:root{--ink:#0b3558;--blue:#006bff;--muted:#476788;--cloud:#f8f9fb;--paper:#fff;--pale:#eef5ff;--line:#d4e0ed;--shadow:0 4px 5px rgba(71,103,136,.04),0 8px 15px rgba(71,103,136,.03),0 30px 50px rgba(71,103,136,.08);--ease:cubic-bezier(.2,.8,.2,1);--bg:#fff;--bg-2:#f8f9fb;--text:var(--ink);--text-2:var(--muted);--text-muted:var(--muted);--accent:var(--blue);--border:var(--line)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;font-family:'Inter','Noto Sans JP',-apple-system,BlinkMacSystemFont,sans-serif;background:var(--paper);color:var(--ink);font-size:16px;line-height:1.95;letter-spacing:.015em}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{line-height:1.55;font-weight:700;letter-spacing:.025em}p+p{margin-top:20px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}button{border:0}img{display:block;width:auto;max-width:100%;height:auto}svg{width:22px;height:22px;flex-shrink:0;vertical-align:middle}ul,ol{padding-left:24px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--blue);outline-offset:5px}::selection{background:#dcecff;color:var(--ink)}[hidden]{display:none!important}.container{width:min(1200px,calc(100% - 96px));margin-inline:auto}.section-padding{padding:96px 0}.header{position:sticky;top:0;z-index:60;height:80px;background:#fffffff5;border-bottom:1px solid #d4e0edb3;backdrop-filter:blur(16px)}.header-inner{height:100%;max-width:1440px;margin:auto;padding:0 48px;display:flex;align-items:center;gap:36px}.logo{position:relative;display:block;width:114px;height:46px;overflow:hidden;flex-shrink:0}.logo img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:200px;max-width:none;height:auto;mix-blend-mode:multiply}.nav{margin-left:auto;display:flex;align-items:center;gap:36px}.nav a{font-size:14px;font-weight:600;position:relative;padding:24px 0}.nav a:after{content:'';position:absolute;bottom:16px;height:2px;width:100%;background:var(--blue);left:0;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.nav a:hover:after,.nav a[aria-current]:after{transform:scaleX(1)}.header-cta{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--ink);color:white;padding:11px 24px;font-size:14px;font-weight:600;transition:background .25s,transform .25s}.header-cta:hover{background:#124975;transform:translateY(-2px)}.mobile-toggle{display:none}.mobile-overlay{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;border-radius:8px;padding:13px 25px;border:1px solid transparent;font-size:15px;font-weight:600;transition:transform .3s var(--ease),box-shadow .3s,background .3s}.btn-primary,.btn-accent{background:var(--blue);color:#fff}.btn:hover{transform:translateY(-3px);box-shadow:0 8px 20px #47678818}.btn-primary:hover,.btn-accent:hover{background:#005ce0}.btn-outline-dark{background:transparent;color:var(--ink);border-color:var(--line)}.btn-arrow{width:21px;height:21px;transition:transform .3s}.btn:hover .btn-arrow{transform:translateX(3px)}.page{display:none}.page.active{display:block}.section-label,.page-hero-label{font-size:12px;font-weight:600;letter-spacing:.12em;color:var(--blue);margin-bottom:18px}.section-title{font-size:42px;line-height:1.6}.section-subtitle{color:var(--muted);line-height:2;font-size:16px}.service-card-icon,.sd-badge,.sd-blob,.consultant-avatar,.company-info-icon,.mission-illust-blob,.hero-home-rule,.problem-illus-blob,.how-illus-blob,.check-icon,.contact-info-icon{display:none}.hero-home{padding:80px 0 85px;overflow:hidden}.hero-home-inner{display:grid;grid-template-columns:1.04fr .96fr;gap:40px;align-items:center}.hero-home-content{position:relative;z-index:2}.hero-home h1{font-size:clamp(38px,3.25vw,50px);line-height:1.65;letter-spacing:.01em;margin-bottom:28px}.accent-text{color:var(--blue);white-space:nowrap}.hero-home-desc{font-size:16px;line-height:2.1;color:var(--muted);max-width:540px}.hero-home-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:32px}.hero-home-visual{position:relative;width:calc(100% + 40px);margin-right:-40px;perspective:1300px;isolation:isolate}.hero-home-visual:before{content:'';position:absolute;inset:22px -16px -24px 26px;background:#eef5ff;border-radius:24px;z-index:-1;transform:rotate(-4deg)}.hero-illustration{width:100%;height:auto;background:white;border-radius:24px;box-shadow:var(--shadow);transform:translateY(var(--depth-y,0px)) rotateY(var(--tilt-x,0deg)) rotateX(var(--tilt-y,0deg));transition:box-shadow .4s;will-change:transform}.marquee-section{background:white;padding:24px 0 55px;border-bottom:1px solid var(--line);overflow:hidden}.marquee-label{text-align:center;font-size:12px;font-weight:500;color:var(--muted);margin-bottom:28px}.marquee-track{display:flex;gap:28px 34px;justify-content:center;align-items:center;flex-wrap:wrap;max-width:1240px;padding:0 35px;margin:auto}.marquee-item{font-size:20px;font-weight:600;color:#476788;white-space:nowrap;letter-spacing:-.02em}.marquee-item:nth-child(n+11){display:none}.services-overview{background:var(--cloud);padding:96px 0}.services-overview-header{max-width:820px;text-align:center;margin:0 auto 64px}.services-overview-header .section-title{max-width:790px;margin:auto}.services-overview-header p{max-width:745px;margin:24px auto 0}.services-grid{display:flex;flex-direction:column;border-top:1px solid var(--line)}.service-card{display:grid;grid-template-columns:105px 300px 1fr 100px;align-items:start;column-gap:26px;position:relative;padding:40px 16px;border-bottom:1px solid var(--line);transition:background .35s,padding .35s var(--ease)}.service-card:hover{background:white;padding-left:24px;padding-right:8px}.service-card-label{font-size:11px;letter-spacing:.08em;color:var(--blue);font-weight:600;padding-top:10px}.service-card h3{font-size:24px;line-height:1.6}.service-card p{font-size:15px;line-height:2;color:var(--muted)}.service-card-link{font-size:12px;font-weight:600;align-self:center;display:flex;align-items:center;justify-content:flex-end;gap:10px;color:var(--blue);white-space:nowrap}.service-card-link svg{width:17px}.value-props{padding:96px 0;background:white}.value-props-header{text-align:center;margin-bottom:72px}.value-story-list{display:flex;flex-direction:column;gap:112px}.value-story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:88px}.value-story.reverse .value-story-text{order:2}.value-story.reverse .value-story-visual{order:1}.value-story-num{font-family:Georgia,serif;font-style:italic;font-size:25px;color:var(--blue);margin-bottom:20px}.value-story h3{font-size:34px;line-height:1.65;margin-bottom:24px}.value-story p{font-size:16px;line-height:2.15;color:var(--muted)}.value-story-visual{position:relative;perspective:1200px;isolation:isolate}.value-story-visual:before{content:'';position:absolute;inset:24px -18px -20px 24px;background:#eef5ff;border-radius:24px;transform:rotate(3deg);z-index:-1}.value-story.reverse .value-story-visual:before{transform:rotate(-4deg);inset:20px 20px -20px -20px}.illus-card{border-radius:24px;overflow:hidden;background:white;box-shadow:var(--shadow);transform:translateY(var(--reveal-y,0px));transition:transform .7s var(--ease)}.illus-card img{width:100%;height:auto}.home-cta{padding:75px 0;background:var(--ink);color:white}.home-cta .container{max-width:960px;text-align:center}.home-cta h2{font-size:39px;line-height:1.7;max-width:850px;margin:auto}.home-cta p{font-size:16px;color:#d9e6f3;max-width:760px;margin:24px auto 30px;line-height:2}.home-cta .btn{min-width:210px}.footer{padding:64px 0 30px;background:var(--cloud)}.footer-grid{display:grid;grid-template-columns:1fr 2fr;gap:80px}.footer-brand-desc{font-size:14px;margin-top:17px}.footer-brand-sub{font-size:12px;color:var(--muted);margin-top:7px}.footer-nav-group{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}.footer-nav-col h4{font-size:12px;letter-spacing:.08em;color:var(--muted);margin-bottom:20px}.footer-nav-col a{display:block;font-size:12px;line-height:1.9;margin:10px 0}.footer a:hover{color:var(--blue)}.footer-bottom{margin-top:48px;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;font-size:11px;color:var(--muted)}.page-hero{padding:70px 0 64px;background:var(--cloud);text-align:center}.page-hero h1{font-size:46px;line-height:1.65;max-width:970px;margin:auto}.page-hero p{max-width:760px;margin:24px auto 0;color:var(--muted);font-size:16px;line-height:2}.service-detail{padding:88px 0;background:white}.service-detail:nth-of-type(2n+1){background:var(--cloud)}.service-detail-inner{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:88px}.service-detail-inner.reverse .sd-content{order:2}.service-detail-inner.reverse .sd-visual{order:1}.sd-content{position:sticky;top:115px}.sd-number{font-family:Georgia,serif;font-size:28px;font-style:italic;color:var(--blue);margin-bottom:16px}.sd-label{font-size:12px;color:var(--muted);margin-bottom:15px}.sd-content h2{font-size:36px;line-height:1.65;margin-bottom:25px}.nowrap{white-space:normal}.sd-content>p{font-size:16px;line-height:2;color:var(--muted);margin-bottom:20px}.sd-features{margin:28px 0 32px}.sd-feature{display:flex;gap:13px;margin:17px 0;font-size:14px;line-height:2}.sd-feature-icon{font-size:16px;color:var(--blue);flex-shrink:0}.sd-visual{position:relative;isolation:isolate;padding-top:8px}.sd-visual-card{border:1px solid var(--line);background:white;border-radius:24px;padding:32px;box-shadow:var(--shadow)}.sd-visual-card>div+div{margin-top:24px}.sd-visual-card>div:not([class]){font-size:14px}.sd-visual-card>div:not([class])+div:not([class]){border-top:1px solid var(--line);padding-top:25px}.svc-metric{display:flex;flex-wrap:wrap;gap:7px;align-items:baseline;margin:12px 0}.svc-metric-value{font-size:39px;font-weight:600;color:var(--ink);letter-spacing:-.035em}.svc-metric-label{font-size:12px;color:var(--muted)}.consultant-section-label{font-size:13px;font-weight:600;color:var(--muted)}.consultant-grid{display:flex;flex-direction:column}.consultant-card{padding:24px 0;border-bottom:1px solid var(--line)}.consultant-card:last-child{border-bottom:0;padding-bottom:0}.consultant-header{display:flex;margin-bottom:14px}.consultant-name{font-size:22px;font-weight:600}.consultant-role{font-size:12px;color:var(--muted);margin-top:4px}.consultant-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px}.consultant-tag{border-radius:4px;font-size:11px;padding:3px 8px;background:var(--pale);color:#004eba}.consultant-bio{font-size:14px;color:var(--muted);line-height:2}.consultant-more{font-size:13px;text-align:center;margin-top:20px}.dash-stack{display:grid;gap:32px}.dash-stack picture{display:block;background:white;border-radius:16px;box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--line)}.dash-stack picture:nth-child(2){width:76%;margin-left:auto}.dash-shot{width:100%;height:auto}.mission-hero{background:white;padding:80px 0}.mission-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.mission-statement{font-size:45px;line-height:1.65;font-weight:700}.mission-statement .gradient{color:var(--blue)}.mission-illust{width:100%;margin-top:35px;border-radius:24px;box-shadow:var(--shadow)}.mission-right p{font-size:16px;color:var(--muted);line-height:2.2}.name-origin{background:var(--cloud)}.name-origin-inner{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.name-equation{display:flex;gap:13px;align-items:center;flex-wrap:wrap}.eq-card{font-size:29px;font-weight:600;color:var(--ink)}.eq-symbol{font-size:20px;color:var(--muted)}.eq-result{color:var(--blue)}.name-origin p{font-size:16px;color:var(--muted);line-height:2}.company-info{background:white}.company-info .container{max-width:960px}.company-info-card{margin-top:32px}.company-info-row{display:grid;grid-template-columns:190px 1fr;border-bottom:1px solid var(--line);padding:24px 0;gap:24px}.company-info-row:first-child{border-top:1px solid var(--line)}.company-info-label{font-size:14px;font-weight:600}.company-info-value{font-size:15px;line-height:2}.representative{background:var(--cloud)}.rep-grid{max-width:1000px;margin:auto}.rep-grid>.anim{display:grid;grid-template-columns:1fr 1.8fr;column-gap:64px;align-items:start}.rep-grid .section-label{grid-column:1/-1}.rep-name{font-size:40px;font-weight:700}.rep-title{font-size:14px;grid-column:1;color:var(--muted)}.rep-bio{grid-column:2;grid-row:2/5;color:var(--muted);font-size:16px;line-height:2.1}.faq-section{background:white}.faq-list{max-width:900px;margin:auto}.faq-item{border-bottom:1px solid var(--line)}.faq-item:first-child{border-top:1px solid var(--line)}.faq-q-row{display:flex;gap:20px;align-items:flex-start;padding:25px 0;font-size:17px;font-weight:600;width:100%;text-align:left;background:transparent}.faq-q-row[aria-expanded]:after{content:'';border-right:1.5px solid var(--blue);border-bottom:1.5px solid var(--blue);width:9px;height:9px;transform:rotate(45deg);margin:8px 4px 0 auto;flex-shrink:0;transition:transform .25s}.faq-q-row[aria-expanded=true]:after{transform:rotate(225deg);margin-top:14px}.faq-q-badge,.faq-a-badge{font-family:Georgia,serif;color:var(--blue);font-size:19px;flex-shrink:0;width:21px}.faq-q-text{flex:1}.faq-a-row{display:flex;gap:20px;padding:0 25px 27px 0}.faq-a-text{font-size:15px;color:var(--muted);line-height:2.1}.contact-section{background:white}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px}.contact-info-card h3{font-size:28px;margin-bottom:22px}.contact-info-card p{font-size:15px;color:var(--muted);line-height:2.1}.contact-info-item{margin-top:28px;font-size:14px}.contact-form-card{padding:35px;border-radius:24px;background:var(--cloud);border:1px solid var(--line)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-group{margin-bottom:23px}.form-label{display:block;font-size:14px;font-weight:500;margin-bottom:9px}.form-required{color:#ba3838;margin-left:5px}.form-input,.form-select,.form-textarea{display:block;width:100%;padding:12px 14px;border:1px solid #b5c8dc;border-radius:8px;background:white;font-size:16px}.form-textarea{resize:vertical;min-height:160px}.form-input::placeholder,.form-textarea::placeholder{color:#627c96}.form-submit{width:100%;border:0}.form-success{display:none}.legal-body{padding:64px 0 90px}.legal-body .container{max-width:900px}.legal-content{font-size:15px;line-height:2.1;overflow-wrap:anywhere}.legal-content h2{font-size:24px;margin:40px 0 20px}.legal-content h3{font-size:20px;margin:30px 0 18px}.legal-content p{margin:18px 0}.legal-content li{margin:10px 0}.legal-content a{color:var(--blue);text-decoration:underline}.legal-date{font-size:13px;color:var(--muted)}.legal-content table{width:100%;border-collapse:collapse}.legal-content td,.legal-content th{border-bottom:1px solid var(--line);padding:15px;text-align:left}.motion-controls{position:fixed;bottom:12px;right:14px;z-index:90;display:flex;gap:8px}.motion-controls button{border:1px solid var(--line);border-radius:8px;background:#fffffff2;color:var(--muted);font-size:11px;line-height:1.4;padding:8px 12px}.preview-form-note,.preview-result{font-size:13px;padding:16px;background:#eaf3ff;border-left:2px solid var(--blue);line-height:1.9;margin-bottom:24px}.preview-result{margin:24px 0 0}.motion-off *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off .hero-illustration{transform:none!important}.reading-progress{position:fixed;left:0;top:78px;height:2px;background:var(--blue);width:100%;transform:scaleX(var(--progress,0));transform-origin:left;z-index:65;pointer-events:none}.feature-enter{translate:0 var(--enter-y,0px);transition:translate .7s var(--ease)}
/* サブスクページ */
.subscription .hero{background:white;padding:75px 0 80px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.hero h1{font-size:46px;line-height:1.65;margin-bottom:25px}.hero h1 .accent{color:var(--blue)}.hero-sub{font-size:16px;color:var(--muted);line-height:2;margin-bottom:23px}.hero-price{font-size:15px;color:var(--muted);line-height:2}.hero-price b{font-size:24px;color:var(--ink);margin-right:5px}.hero-cta{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:30px}.hero-visual{position:relative;isolation:isolate}.hero-visual:before{content:'';position:absolute;inset:20px -18px -20px 25px;border-radius:24px;background:var(--pale);transform:rotate(-4deg);z-index:-1}.hero-visual img{width:100%;border-radius:24px;box-shadow:var(--shadow)}.subscription #problem{background:var(--cloud)}.problem-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:start}.problem-grid h2{font-size:38px;line-height:1.65}.check-grid{margin-top:32px;display:flex;flex-direction:column}.check-item{padding:19px 0;border-bottom:1px solid var(--line)}.check-item b{display:block;font-size:16px;line-height:1.8;font-weight:600}.check-item p>span{display:block;font-size:14px;color:var(--muted);margin-top:10px;line-height:2}.problem-illus{position:sticky;top:160px;margin-top:85px}.problem-illus img{width:100%;border-radius:24px;box-shadow:var(--shadow)}.how-head{display:grid;grid-template-columns:1fr .65fr;gap:60px;align-items:center}.how-illus img{width:100%;border-radius:24px;box-shadow:var(--shadow)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:56px}.step{border-top:2px solid var(--line);padding-top:24px}.step .n{font-size:11px;letter-spacing:.1em;color:var(--blue);font-weight:600}.step h3{font-size:24px;margin:18px 0}.step p{font-size:15px;color:var(--muted);line-height:2}.subscription #topics{background:var(--cloud)}.topics{display:grid;grid-template-columns:1fr 1fr;gap:30px 64px;margin-top:42px}.topic{border-top:1px solid var(--line);padding-top:25px}.topic-h{display:flex;align-items:center;gap:15px}.topic-h .tag{font-size:12px;padding:4px 10px;background:#e6f0ff;color:#004eba;border-radius:5px}.topic-h h3{font-size:24px}.topic ul{padding-left:20px;margin:22px 0 0}.topic li{font-size:15px;line-height:2;color:var(--muted);margin:8px 0}.topics-emphasis{font-size:17px;line-height:1.9;margin-top:40px}.scenarios{display:flex;flex-direction:column;margin-top:45px;border-top:1px solid var(--line)}.scenario-card{display:grid;grid-template-columns:100px 1fr 1.2fr;gap:22px 35px;padding:34px 0;border-bottom:1px solid var(--line)}.scenario-tag{font-size:12px;color:var(--blue);grid-row:1/3;padding-top:8px}.scenario-card h3{font-size:25px;grid-column:2;grid-row:1/3}.scenario-situation{font-size:15px;color:var(--muted);line-height:2;grid-column:3}.scenario-how{font-size:15px;line-height:2;grid-column:3}.scenario-how-label{display:block;color:var(--blue);font-size:12px;margin-bottom:10px}.doctor{background:var(--ink);color:white}.doctor h2{font-size:38px;margin-bottom:30px}.doc-grid{max-width:960px;margin:auto}.doc-name{display:flex;align-items:baseline;gap:20px;margin-bottom:22px}.doc-name b{font-size:26px}.doc-name span{font-size:14px;color:#d4e0ed}.doctor p{font-size:16px;color:#d4e0ed;line-height:2.1;margin-top:20px}.doc-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.doc-tags .tag{font-size:12px;padding:5px 12px;border:1px solid #476788;border-radius:4px}.pricing-table-wrap{overflow:auto;margin-top:40px;border-radius:16px;border:1px solid var(--line);box-shadow:var(--shadow)}.pricing-table{width:100%;min-width:740px;border-collapse:collapse;background:white;text-align:left}.pricing-table th,.pricing-table td{padding:23px 20px;border-bottom:1px solid var(--line);font-size:14px}.pricing-table thead th{font-size:18px;background:var(--cloud);vertical-align:bottom}.pricing-table .recommended,.pricing-table .highlight{background:var(--pale)}.pricing-table-badge{display:block;font-size:11px;color:var(--blue);margin-bottom:9px}.pricing-table .price-row td{font-size:27px;font-weight:600}.premium-cell{text-align:center}.price-note{font-size:12px;color:var(--muted);line-height:2;margin-top:22px}.subscription .final{background:var(--pale);text-align:center}.final h2{font-size:40px;max-width:890px;margin:0 auto 28px;line-height:1.7}.final .sub{font-size:14px;color:var(--muted);margin-top:22px}
@media(min-width:1440px){.hero-home .container{width:calc(100% - 160px);max-width:1320px}.hero-home-inner{grid-template-columns:1.08fr .92fr;gap:44px}.hero-home h1{font-size:50px}.hero-home{padding:88px 0 96px}}
@media(max-width:1100px){.container{width:calc(100% - 72px)}.header-inner{padding:0 36px;gap:26px}.nav{gap:25px}.hero-home-inner{gap:30px}.hero-home h1{font-size:38px}.hero-home-visual{width:100%;margin:0}.service-card{grid-template-columns:85px 245px 1fr;gap:18px}.service-card-link{grid-column:3;justify-content:flex-start}.service-card-label{grid-row:1/3}.service-card h3{font-size:23px;grid-row:1/3}.value-story{gap:55px}.value-story h3{font-size:30px}.service-detail-inner{gap:45px}.sd-content h2{font-size:30px}.footer-grid{gap:45px}.footer-nav-group{gap:22px;grid-template-columns:1.6fr 1fr 1fr}.hero-grid{gap:40px}.hero h1{font-size:39px}.problem-grid{gap:40px}.mission-layout,.name-origin-inner{gap:50px}.contact-grid{gap:45px}.contact-form-card{padding:26px}}
@media(max-width:760px){body{font-size:15px}.container{width:calc(100% - 40px)}.section-padding{padding:64px 0}.header{height:72px}.header-inner{padding:0 20px;gap:16px}.header .logo{width:88px;height:40px}.header .logo img{width:160px}.header .nav{display:none}.header-cta{margin-left:auto;font-size:11px;padding:10px 14px;min-height:40px}.mobile-toggle{display:flex;width:24px;flex-direction:column;gap:5px;background:transparent;padding:0}.mobile-toggle span{height:1.5px;background:var(--ink);width:24px;display:block}.mobile-overlay.open{display:flex}.mobile-overlay{position:fixed;z-index:80;inset:72px 0 0;background:white;flex-direction:column;padding:65px 28px 25px;gap:0;overflow:auto}.mobile-overlay>a{font-size:23px;font-weight:600;padding:16px 0;border-bottom:1px solid var(--line)}.mobile-close{position:absolute;right:20px;top:7px;background:none;font-size:34px;line-height:1;padding:10px}.hero-home{padding:45px 0 60px}.hero-home-inner{display:flex;flex-direction:column;gap:40px;align-items:stretch}.hero-home h1{font-size:clamp(28px,7.2vw,42px);line-height:1.7;margin-bottom:24px;letter-spacing:0}.hero-home-desc{font-size:15px;line-height:2}.hero-home-actions{gap:12px;margin-top:26px}.hero-home-actions .btn{font-size:13px;padding:12px 18px;min-height:48px}.hero-home-visual{width:calc(100% - 16px);margin:0 12px 0 0}.hero-home-visual:before{inset:15px -12px -15px 18px;transform:rotate(-3deg);border-radius:18px}.hero-illustration{border-radius:18px;transform:none!important;will-change:auto}.marquee-section{padding:15px 0 35px}.marquee-label{font-size:11px;margin-bottom:22px}.marquee-track{gap:17px 23px;padding:0 20px}.marquee-item{font-size:15px}.services-overview{padding:60px 0}.services-overview-header{text-align:left;margin-bottom:32px}.section-title,.services-overview-header .section-title{font-size:29px;line-height:1.65}.section-label,.page-hero-label{font-size:11px;margin-bottom:17px}.services-overview-header p{font-size:15px;margin-top:22px}.services-grid{gap:0}.service-card{grid-template-columns:1fr;padding:28px 0;gap:0}.service-card-label,.service-card h3,.service-card-link{grid-column:auto;grid-row:auto}.service-card-label{padding:0;margin-bottom:15px;font-size:11px}.service-card h3{font-size:24px;line-height:1.65;margin-bottom:18px}.service-card p{font-size:15px;line-height:2}.service-card-link{justify-content:flex-start;margin-top:18px;font-size:13px}.service-card:hover{padding:28px 0;background:transparent}.value-props{padding:64px 0 80px}.value-props-header{text-align:left;margin-bottom:36px}.value-story-list{gap:64px}.value-story{display:flex;flex-direction:column;gap:30px;align-items:stretch}.value-story.reverse .value-story-text,.value-story.reverse .value-story-visual{order:initial}.value-story-num{font-size:22px;margin-bottom:16px}.value-story h3{font-size:28px;line-height:1.65;margin-bottom:20px}.value-story p{font-size:15px;line-height:2.05}.value-story-visual{width:calc(100% - 15px);margin-right:15px}.value-story-visual:before,.value-story.reverse .value-story-visual:before{inset:15px -12px -15px 20px;border-radius:18px;transform:rotate(3deg)}.illus-card{border-radius:18px}.home-cta{padding:60px 0}.home-cta h2{font-size:29px;line-height:1.7}.home-cta p{font-size:15px;margin:24px auto}.home-cta .btn{width:100%}.footer{padding:45px 0 75px}.footer-grid{grid-template-columns:1fr;gap:34px}.footer-nav-group{grid-template-columns:1fr 1fr;gap:30px 24px}.footer-nav-col:first-child{grid-column:1/-1}.footer-nav-col h4{margin-bottom:12px}.footer-nav-col a{font-size:13px}.footer-bottom{flex-direction:column;gap:7px;margin-top:30px;padding-top:20px;font-size:10px}.page-hero{padding:45px 0;text-align:left}.page-hero h1{font-size:33px}.page-hero p{font-size:15px;margin-top:20px}.service-detail{padding:55px 0}.service-detail-inner{grid-template-columns:1fr;gap:35px}.service-detail-inner.reverse .sd-content,.service-detail-inner.reverse .sd-visual{order:initial}.sd-content{position:static}.sd-content h2{font-size:30px}.sd-content>p{font-size:15px}.sd-label{font-size:11px}.sd-feature{font-size:14px}.sd-visual-card{padding:25px 22px;border-radius:18px}.svc-metric-value{font-size:33px}.consultant-name{font-size:21px}.consultant-role{font-size:12px}.consultant-bio{font-size:14px}.dash-stack picture:nth-child(2){width:100%}.mission-hero{padding:55px 0}.mission-layout{grid-template-columns:1fr;gap:40px}.mission-statement{font-size:35px}.mission-illust{margin-top:25px;border-radius:18px}.mission-right p{font-size:15px;line-height:2.05}.name-origin-inner{grid-template-columns:1fr;gap:30px}.name-equation{gap:10px}.eq-card{font-size:25px}.eq-symbol{font-size:16px}.name-origin p{font-size:15px}.company-info-row{grid-template-columns:95px 1fr;gap:15px;padding:22px 0}.company-info-label{font-size:13px}.company-info-value{font-size:14px}.rep-grid>.anim{display:block}.rep-name{font-size:35px}.rep-title{margin-top:12px}.rep-bio{margin-top:30px;font-size:15px}.faq-q-row{font-size:15px;gap:12px;padding:23px 0}.faq-a-row{gap:12px;padding-right:0}.faq-a-text{font-size:14px}.faq-q-badge,.faq-a-badge{font-size:17px;width:18px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact-form-card{padding:25px 18px}.contact-info-card h3{font-size:25px}.form-row{grid-template-columns:1fr;gap:0}.form-label{font-size:13px}.form-input,.form-select,.form-textarea{font-size:16px}.legal-body{padding:45px 0 65px}.legal-content{font-size:14px}.legal-content h2{font-size:22px}.legal-content table{display:block;overflow:auto}.motion-controls{bottom:8px;right:8px}.motion-controls button{font-size:10px;padding:7px 10px}.reading-progress{top:70px}.subscription .hero{padding:45px 0 60px}.hero-grid{grid-template-columns:1fr;gap:40px}.hero h1{font-size:35px}.hero-sub,.hero-price{font-size:15px}.hero-price b{font-size:23px}.hero-visual{width:calc(100% - 14px)}.hero-visual:before{inset:15px -12px -15px 16px;border-radius:18px}.hero-visual img{border-radius:18px}.hero-cta .btn{font-size:13px;padding:13px 16px}.problem-grid{grid-template-columns:1fr;gap:30px}.problem-grid h2{font-size:30px}.check-item b{font-size:15px}.check-item p>span{font-size:14px}.problem-illus{position:static;margin-top:0}.problem-illus img{border-radius:18px}.how-head{grid-template-columns:1fr;gap:30px}.how-illus{width:85%;margin-left:auto}.how-illus img{border-radius:18px}.steps{grid-template-columns:1fr;gap:27px;margin-top:40px}.step h3{font-size:25px}.step p{font-size:15px}.topics{grid-template-columns:1fr;gap:30px}.topic-h h3{font-size:23px}.topic li{font-size:14px}.topics-emphasis{font-size:16px}.scenario-card{grid-template-columns:1fr;gap:17px;padding:29px 0}.scenario-tag,.scenario-card h3,.scenario-situation,.scenario-how{grid-column:auto;grid-row:auto}.scenario-card h3{font-size:25px}.scenario-situation,.scenario-how{font-size:15px}.doctor h2{font-size:31px}.doctor p{font-size:15px}.doc-name{flex-wrap:wrap;gap:8px 16px}.pricing-table-wrap{margin-top:30px}.pricing-table th,.pricing-table td{padding:18px 15px;font-size:13px}.pricing-table .price-row td{font-size:23px}.final h2{font-size:30px}.subscription .header .nav{display:flex;position:absolute;left:0;right:0;top:72px;height:44px;background:white;border-bottom:1px solid var(--line);gap:25px;padding:0 20px;overflow:auto}.subscription .nav a{font-size:11px;padding:10px 0}.subscription .nav a:after{bottom:4px}.subscription .hero{padding-top:85px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}.hero-illustration{transform:none!important}.feature-enter{translate:none!important}}
/* 見出しの末尾だけが次の行へ落ちないよう、行長を揃える。 */
h1,h2,h3,.mission-statement{text-wrap:balance}
.service-card:hover h3{color:var(--blue)}.service-card h3{transition:color .3s}
.motion-off .feature-enter{translate:none!important}
.word-unit{white-space:nowrap}

/* 料金と見出しの調整。句の途中で折り返さない。 */
.phrase-heading{text-wrap:wrap;letter-spacing:0}
.heading-line{display:block}.phrase-unit{display:inline-block;white-space:nowrap}
.scenario-tag{white-space:nowrap}
.scenario-card{grid-template-columns:140px 1fr 1.2fr}
.service-card{grid-template-columns:90px 330px 1fr 100px}
.service-card h3.phrase-heading{font-size:23px}
.value-story h3.phrase-heading{font-size:32px}
.problem-grid h2.phrase-heading{font-size:35px}
.pricing-table{table-layout:fixed;min-width:850px}
.pricing-table th:first-child{width:22%}
.pricing-table th:not(:first-child){width:26%}
.pricing-table th,.pricing-table td{padding:22px 18px}
.pricing-table td,.pricing-table thead th:not(:first-child){text-align:center}
.pricing-table thead th{height:108px;vertical-align:bottom;padding-bottom:22px}
.pricing-table .recommended{box-shadow:inset 0 3px var(--blue)}
.pricing-table .price-row td{font-size:30px;letter-spacing:-.03em;padding:26px 18px}
.pricing-table .price-row .highlight{color:var(--blue)}
.pricing-table .premium-cell{background:var(--cloud);vertical-align:middle;line-height:2.2;border-left:1px solid var(--line);padding-inline:24px}
.pricing-table tbody tr:last-child>*{border-bottom:0}
.advisory-pricing{padding:0;overflow:hidden;border-radius:24px}
.advisory-pricing>.pricing-caption{padding:22px 30px;font-size:13px;font-weight:600;border-bottom:1px solid var(--line);letter-spacing:.08em}
.advisory-pricing>div+div{margin:0}
.advisory-pricing>.starter-plan{padding:28px 30px 30px;background:var(--pale)}
.advisory-pricing>.starter-plan>div:first-child{font-size:16px;font-weight:600}
.advisory-pricing .starter-plan .svc-metric{margin:14px 0 18px;gap:12px}
.advisory-pricing .starter-plan .svc-metric-value{font-size:48px;color:var(--blue)}
.advisory-pricing .starter-plan>div:last-child{font-size:13px;display:inline-block;background:white;border:1px solid var(--line);border-radius:6px;padding:6px 12px}
.advisory-pricing>.custom-plan{padding:27px 30px 30px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:15px 20px;align-items:center}
.advisory-pricing .custom-plan>div:first-child{font-size:14px;font-weight:600}
.advisory-pricing .custom-plan .svc-metric{margin:0}
.advisory-pricing .custom-plan .svc-metric-value{font-size:28px;white-space:nowrap}
.advisory-pricing .custom-plan>div:last-child{grid-column:1/-1;font-size:13px;color:var(--muted)}
@media(max-width:1100px) and (min-width:761px){.service-card{grid-template-columns:80px 300px 1fr}.service-card-link{grid-column:3}.value-story h3.phrase-heading{font-size:27px}.problem-grid h2.phrase-heading{font-size:30px}.advisory-pricing>.custom-plan{grid-template-columns:1fr}}
@media(max-width:760px){.scenario-card,.service-card{grid-template-columns:1fr}.service-card h3.phrase-heading{font-size:23px}.value-story h3.phrase-heading{font-size:27px}.problem-grid h2.phrase-heading{font-size:29px}.hero h1.phrase-heading{font-size:32px}.page-hero h1.phrase-heading{font-size:30px}.advisory-pricing>.pricing-caption{padding:20px 22px}.advisory-pricing>.starter-plan,.advisory-pricing>.custom-plan{padding:24px 22px}.advisory-pricing .starter-plan .svc-metric-value{font-size:39px}.advisory-pricing>.custom-plan{grid-template-columns:1fr;gap:10px}.pricing-table th,.pricing-table td{padding:18px 16px}}
@media(max-width:360px){.service-card h3.phrase-heading{font-size:22px}.hero h1.phrase-heading{font-size:29px}.value-story h3.phrase-heading{font-size:26px}.advisory-pricing .starter-plan .svc-metric-value{font-size:34px}}

/* 同じ企業列を二周分並べ、一定の速度で継ぎ目なく流す。 */
.marquee-track{width:max-content;max-width:none;flex-wrap:nowrap;justify-content:flex-start;gap:48px;padding:0 48px 0 0;margin:0;animation:companies-flow 36s linear infinite}
.marquee-item{flex-shrink:0}.marquee-item:nth-child(n+11){display:block}
@keyframes companies-flow{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee-section:hover .marquee-track{animation-play-state:paused}
.motion-off .marquee-track{width:auto;max-width:1240px;margin:auto;flex-wrap:wrap;justify-content:center;padding:0 24px;gap:22px 34px;transform:none}
.motion-off .marquee-item:nth-child(n+11){display:none}
@media(max-width:760px){.marquee-track{gap:32px;padding-right:32px;animation-duration:30s}}
@media(prefers-reduced-motion:reduce){.marquee-track{width:auto;max-width:1240px;margin:auto;flex-wrap:wrap;justify-content:center;padding:0 24px;gap:22px 34px;transform:none}.marquee-item:nth-child(n+11){display:none}}

.form-success.show{display:block;padding:32px 0}.form-success h3{margin:16px 0}.form-error{color:#a32121;font-size:14px;margin-top:18px}
