*{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#f3f7fb;--color-bg-muted:#e8f0f9;--color-bg-strong:#0f1f3d;--color-surface:#fff;--color-text:#1a2d4a;--color-subtext:#52677f;--color-primary:#1458d4;--color-primary-dark:#0d3d99;--color-primary-weak:#dce8ff;--color-accent:#0891b2;--color-accent-weak:#ddf2f8;--color-border:#c8d8ea;--color-success:#136f3a;--color-success-weak:#d7f5e4;--color-warning:#8a5600;--color-warning-weak:#fff0d5;--color-danger:#9a1b1b;--color-danger-weak:#ffe2e2;--radius-card:.5rem;--container-width:1080px}html{background-color:var(--color-bg);color:var(--color-text);scroll-behavior:smooth;font-family:Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;font-size:16px;line-height:1.65}body{background:var(--color-bg);min-height:100vh;overflow-x:hidden}img,picture,video,canvas,svg{max-width:100%;display:block}a{color:inherit}p,li,dd,.button{overflow-wrap:anywhere}.site-header__inner>*,.hero__layout>*,.grid>*,.step-list>*,.cta-buttons>*{min-width:0}.site-header{backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);z-index:10;background:#ffffffeb;position:sticky;top:0}.site-header__inner{justify-content:space-between;align-items:center;gap:1rem;min-height:4rem;padding:0 1rem;display:flex}.site-header__brand{color:var(--color-bg-strong);font-weight:700;line-height:1.3;text-decoration:none}.site-nav{gap:1rem;display:none}.site-nav a{color:var(--color-subtext);font-size:.875rem;font-weight:700;text-decoration:none;transition:color .15s}.site-nav a:hover{color:var(--color-accent)}main{overflow-x:clip}.section{padding:4.5rem 1rem;scroll-margin-top:4rem}.section--muted{background:linear-gradient(180deg, var(--color-bg-muted) 0%, var(--color-bg) 100%)}.container{max-width:var(--container-width);width:100%;margin:0 auto}.container--narrow{max-width:800px}.section-header{max-width:760px;margin-bottom:1.75rem}.section-header h2{overflow-wrap:anywhere;margin-bottom:.5rem;font-size:1.55rem;line-height:1.3}.section-header p,.section-note,.info-card p,.step-item p,.faq-item p,.contact-cta__text{color:var(--color-subtext)}.eyebrow{color:var(--color-accent);margin-bottom:.5rem;font-size:.875rem;font-weight:700}.hero{background:radial-gradient(75% 55% at 90% -5%,#b0c7ff61 0%,#0000 65%),radial-gradient(55% 45% at -5% 95%,#b2dcf047 0%,#0000 60%),linear-gradient(155deg,#f0f4ff 0%,#f5f7fb 55%,#eef4fb 100%);padding-top:4.5rem;position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;background-image:radial-gradient(circle,#2047d412 1.5px,#0000 1.5px);background-size:26px 26px;width:280px;height:280px;position:absolute;top:50px;right:-10px}.hero__layout{gap:2.5rem;display:grid}.hero__badge{background:var(--color-primary-weak);color:var(--color-primary-dark);border:1px solid #2047d42e;border-radius:999px;margin-bottom:1rem;padding:.3rem .9rem;font-size:.8125rem;font-weight:700;display:inline-block}.hero h1{overflow-wrap:anywhere;max-width:760px;margin-bottom:1rem;font-size:2.25rem;line-height:1.18}.hero .cta-buttons{margin-top:1.5rem}.hero__desc{color:var(--color-subtext);max-width:58ch;font-size:1.02rem}.hero .button{padding:.875rem 1.625rem;font-size:1rem}.hero__features{color:var(--color-subtext);flex-wrap:wrap;gap:.375rem 1.125rem;margin-top:1.25rem;font-size:.875rem;list-style:none;display:flex}.hero__features li:before{color:var(--color-primary);content:"✓ ";font-weight:700}.hero__visual{position:relative}.flow-label{color:var(--color-subtext);margin-bottom:.75rem;font-size:.75rem;font-weight:700}.flow-cards{flex-direction:column;gap:0;list-style:none;display:flex;position:relative}.flow-cards:before{background:linear-gradient(to bottom, var(--color-primary-weak), #dfe5f040);content:"";z-index:0;width:2px;position:absolute;top:1.375rem;bottom:1.375rem;left:.6875rem}.flow-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);z-index:1;margin-bottom:.5rem;padding:.75rem .875rem;position:relative;box-shadow:0 2px 10px #1f29370d,0 1px 2px #1f29370a}.flow-card:last-child{margin-bottom:0}.flow-card__head{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.flow-step{background:var(--color-primary);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.375rem;height:1.375rem;font-size:.625rem;font-weight:700;display:inline-flex}.flow-step--done,.flow-step--sent{background:var(--color-success)}.flow-step--review{background:var(--color-primary-dark)}.flow-card__title{overflow-wrap:anywhere;flex:1;font-size:.9375rem;font-weight:700}.flow-badge{white-space:nowrap;border-radius:999px;flex-shrink:0;padding:.15rem .55rem;font-size:.6875rem;font-weight:700}.flow-badge--active{background:var(--color-warning-weak);color:var(--color-warning)}.flow-badge--done,.flow-badge--sent{background:var(--color-success-weak);color:var(--color-success)}.flow-badge--review{background:var(--color-primary-weak);color:var(--color-primary-dark)}.flow-card__desc{color:var(--color-subtext);overflow-wrap:anywhere;margin-left:1.875rem;font-size:.8125rem}.label-list{flex-wrap:wrap;gap:.5rem;margin:1rem 0 1.25rem;list-style:none;display:flex}.label-list li{background:var(--color-accent-weak);color:var(--color-accent);overflow-wrap:anywhere;border-radius:999px;max-width:100%;padding:.3rem .85rem;font-size:.875rem;font-weight:600}.grid{gap:1rem;display:grid}.monthly-flow-visual-section{background:var(--color-surface)}.monthly-flow-visual{background:linear-gradient(180deg, #fff 0%, var(--color-bg) 100%);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:.75rem;overflow:hidden;box-shadow:0 12px 28px #0f1f3d12}.monthly-flow-visual picture{display:block}.monthly-flow-visual img{border-radius:calc(var(--radius-card) - .125rem);width:100%;height:auto;display:block}.service-summary{border-left:3px solid var(--color-accent);border-radius:0 var(--radius-card) var(--radius-card) 0;color:var(--color-subtext);background:#fff;max-width:860px;margin:-.5rem 0 1.25rem;padding:1rem 1.25rem;box-shadow:0 2px 8px #0f1f3d0f}.info-card,.scope-card,.policy-item,.company-item,.step-item,.faq-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:1rem;box-shadow:0 8px 20px #0f1f3d0f}.info-card,.scope-card{position:relative}.info-card:before,.scope-card:before{background:linear-gradient(90deg, var(--color-primary) 0%, var(--color-accent) 100%);content:"";border-radius:999px 999px 0 0;height:3px;position:absolute;top:0;left:1rem;right:1rem}.info-card h3,.step-item h3{overflow-wrap:anywhere;margin-bottom:.4rem;font-size:1.1rem;line-height:1.4}.scope-card ul{margin-top:.75rem;list-style:none}.scope-card li{padding-left:1rem;position:relative}.scope-card li:before{color:var(--color-primary);content:"・";position:absolute;left:0}.scope-card li+li{margin-top:.4rem}.scope-badge{border-radius:999px;padding:.2rem .7rem;font-size:.8125rem;font-weight:700;display:inline-block}.scope-badge--in{background:var(--color-success-weak);color:var(--color-success)}.scope-badge--review{background:var(--color-warning-weak);color:var(--color-warning)}.scope-badge--out{background:var(--color-danger-weak);color:var(--color-danger)}.step-list{gap:1rem;list-style:none;display:grid}.step-item{grid-template-columns:auto 1fr;align-items:start;gap:1rem;display:grid;position:relative}.step-item__number{background:var(--color-accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;font-weight:700;display:inline-flex}.policy-list,.company-list{gap:.75rem;display:grid}.policy-item,.company-item{gap:.25rem;display:grid}.policy-item dt,.company-item dt{font-weight:700}.faq-list{gap:.6rem;display:grid}.faq-item summary{cursor:pointer;font-weight:700}.faq-item p{margin-top:.5rem}.cta-buttons{flex-wrap:wrap;gap:.75rem;margin-top:1rem;display:flex}.button{cursor:pointer;overflow-wrap:anywhere;border:2px solid #0000;border-radius:999px;max-width:100%;padding:.875rem 1.75rem;font-size:.9375rem;font-weight:700;text-decoration:none;transition:box-shadow .15s,background .15s;display:inline-block}.button--primary{background:var(--color-bg-strong);color:#fff}.button--primary:not(.button--disabled):hover,.button--primary:not(.button--disabled):focus-visible{background:#1a3566;box-shadow:0 4px 16px #0f1f3d59}.button--secondary{background:var(--color-surface);border-color:var(--color-bg-strong);color:var(--color-bg-strong)}.button--secondary:hover,.button--secondary:focus-visible{background:var(--color-bg-muted)}.button:focus-visible,.site-nav a:focus-visible,.site-header__brand:focus-visible,.text-link:focus-visible,.faq-item summary:focus-visible{outline:3px solid var(--color-accent-weak);outline-offset:3px}.button--disabled{cursor:not-allowed;opacity:.72}.contact-cta{background:linear-gradient(135deg, var(--color-bg-strong) 0%, #153060 100%);color:#fff}.contact-cta .section-header p,.contact-cta .contact-cta__text{color:#d7deea}.contact-cta .button--primary{color:var(--color-bg-strong);opacity:1;background:#fff}.contact-cta .button--primary:hover,.contact-cta .button--primary:focus-visible{filter:brightness(.96);box-shadow:0 4px 16px #ffffff40}.contact-cta .button--secondary{color:#fff;background:0 0;border-color:#ffffffb3}.contact-cta .button--secondary:hover,.contact-cta .button--secondary:focus-visible{background:#ffffff1f}.contact-cta__text{margin-bottom:.5rem}.text-link{color:var(--color-primary-dark);margin-top:1rem;font-weight:700;display:inline-block}@media (width<=767px){.monthly-flow-visual-section{padding:3.25rem 0}.monthly-flow-visual-section .container{max-width:none}.monthly-flow-visual{box-shadow:none;background:0 0;border:0;border-radius:0;width:100%;margin-inline:0;padding:0;overflow:hidden}.monthly-flow-visual img{border-radius:0}.hero h1{font-size:1.625rem}.hero__desc{font-size:.95rem}.hero__br{display:none}.hero__visual{margin-top:.5rem}.section-header h2{font-size:1.4rem}}@media (width>=768px){.section{padding:5rem 1.5rem}.site-header__inner{padding:0 1.5rem}.site-nav{display:flex}.hero__layout{grid-template-columns:1.15fr .85fr;align-items:center}.hero h1{font-size:3rem}.section-header h2{font-size:2.1rem}.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.step-list{grid-template-columns:repeat(5,minmax(0,1fr))}.step-item{grid-template-columns:1fr}.policy-item,.company-item{grid-template-columns:220px 1fr}}
