:root{--green:#159a6e;--button:#087a57;--dark:#075b4a;--deep:#407777;--ink:#25483e;--muted:#4c5f56;--mint:#e0ebe8;--mint-soft:#ecf3f1;--line:#c0d8d0;--coral:#bc3856;--pink:#fff0f2;--radius:20px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);font-size:16px;line-height:1.85;-webkit-text-size-adjust:100%;background:#fff}h1,h2,h3,h4,p,figure,blockquote{margin:0}h1,h2,h3,h4{font-weight:700;line-height:1.55}p+p{margin-top:16px}h2{font-size:clamp(27px,3vw,38px);letter-spacing:.025em;color:var(--dark)}h3{font-size:21px;color:var(--dark)}h4{font-size:16px}a{color:var(--dark);text-underline-offset:5px}img{max-width:100%;height:auto;display:block}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:3px solid #d59527;outline-offset:5px}ul,ol{padding:0;margin:0;list-style:none}.container{width:min(1100px,calc(100% - 48px));margin:auto}.section{padding:72px 0;position:relative;isolation:isolate}.section-label{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:14px;margin-bottom:30px}.section-label:after{content:"";width:90px;height:1px;background:var(--line)}.mint .section-label{color:var(--ink)}.section-label>span{font:600 34px/1.1 Arial,sans-serif;color:#8cbaaa;letter-spacing:-2px}.section-heading{text-align:center;margin-bottom:30px}.section-heading:after{content:"";display:block;background:var(--green);width:40px;height:3px;margin:23px auto 0}.eyebrow{font-size:13px;letter-spacing:.1em;font-weight:700;color:#147754;margin-bottom:12px}.checkout .eyebrow{text-wrap:balance}.intro{text-align:center;margin:0 auto 35px;max-width:750px}.grid{display:grid;gap:28px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.align-center{align-items:center}.mint{background:var(--mint);overflow:hidden}.warm{background:#efe7dc;overflow:hidden}.warm .eyebrow{color:#8a5220}.warm .section-heading h2{color:#8a5220}.warm .section-heading:after{background:#b9793a}.warm .icon{color:#b9793a}.warm .voice{border-left-color:#b9793a}.warm .voice-label{color:#8a5220}.warm .highlight{color:#8a5220}.mint:before,.warm:before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;top:-150px;left:-110px;z-index:-1}.mint:after,.warm:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;bottom:-120px;right:-90px;z-index:-1}.mint:before,.mint:after{background:#b8d5cd}.warm:before,.warm:after{background:#e0d0b8}.card{padding:32px;border-radius:var(--radius);background:white}.soft{background:var(--mint-soft);margin-top:24px}.center{text-align:center}.small{font-size:14px}.muted{color:var(--muted)}.icon{width:44px;height:44px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;color:var(--green)}.svg-definitions{width:0;height:0;position:absolute;overflow:hidden}.button{min-height:54px;padding:14px 22px;display:flex;justify-content:center;align-items:center;gap:18px;border-radius:100px;background:var(--button);border:1px solid var(--button);font-size:16px;font-weight:700;color:white;text-decoration:none;text-align:center;line-height:1.6;transition:background .15s,transform .15s}.button span{font-size:21px;line-height:1}.button:hover{background:#055f45;transform:translateY(-1px)}.button.outline{color:var(--button);background:white}.button.outline:hover{background:#edf8f1}.button.coral{background:var(--coral);border-color:var(--coral)}.button.coral:hover{background:#a82e49}.button:disabled{cursor:not-allowed;background:#f5e6e9;color:#77565e;border-color:#d9bdc3;transform:none}.button.outline:disabled{background:#f5f5f5;color:#656b68;border-color:#bdc9c3}.text-link{display:inline-block;padding:10px 0;font-weight:700;font-size:15px}.pill{display:inline-flex;align-items:center;background:var(--green);color:white;border-radius:100px;padding:3px 18px;font-weight:700;letter-spacing:.07em}.highlight{background:#fffae1;padding:22px;border-radius:12px;font-weight:700;color:var(--dark)}mark{color:inherit;background:linear-gradient(transparent 68%,#f6e8a6 68%)}.closing{text-align:center;font-size:21px;font-weight:700;line-height:1.9;color:var(--dark);margin:38px auto 0;max-width:820px}.closing.highlight{padding:27px}.checklist{display:grid;gap:13px;margin-top:21px}.checklist li{position:relative;padding-left:27px;font-size:16px}.checklist li:before{content:"✓";font-weight:700;position:absolute;left:0;top:1px;color:var(--green)}.tags{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px}.tags span{background:#e4f4eb;padding:5px 14px;border-radius:100px;font-size:14px;color:var(--dark);font-weight:600}.voice{border-left:3px solid #79b9a0;padding:24px 28px;background:#fff;border-radius:0 16px 16px 0;margin-top:30px;box-shadow:0 6px 18px -14px #12281f30}.voice-label{font-size:13px;letter-spacing:.07em;font-weight:700;color:#157b58;display:block;margin-bottom:10px}.voice p{font-size:15px;line-height:1.9}.voice cite{font-style:normal;font-size:12px;color:var(--muted);display:block;margin-top:12px}.scene{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}.mobile-only{display:none}.skip-link{position:fixed;top:-80px;left:20px;background:white;padding:12px;z-index:100}.skip-link:focus{top:10px}
/* Header and first view */
.site-header{border-top:4px solid var(--green);background:white;position:relative;z-index:10}.header-inner{width:min(1200px,calc(100% - 48px));margin:auto;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{width:220px;flex-shrink:0}.brand img{width:100%}#site-nav{display:flex;align-items:center;gap:25px}#site-nav a{font-size:14px;font-weight:700;text-decoration:none;padding:12px 0}.nav-cta{background:var(--button);border-radius:100px;color:#fff!important;padding:11px 24px!important}.menu-toggle{display:none}.hero{background:#f3faf5;padding:40px 0 44px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:0 40px;align-items:start}.hero h1{font-size:13px;line-height:1.8;font-weight:500;margin-bottom:22px;color:#456559}.hero-title{font-size:clamp(38px,4.3vw,57px);line-height:1.4;font-weight:800;letter-spacing:.015em;color:var(--dark);margin:17px 0}.hero-title span{position:relative;z-index:0}.hero-title span:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:9px;background:#f6e8a6;z-index:-1}.hero-product{font-size:24px;font-weight:700;color:var(--dark);margin:0 0 14px}.hero-description{max-width:475px;font-size:16px;line-height:1.9;margin:0}.hero-photo{grid-column:2;grid-row:1/3;height:100%;position:relative;display:flex;align-items:center}.hero-photo>picture{display:block;width:100%}.hero-photo .scene{min-height:580px;object-fit:cover;border-radius:140px 24px 24px 24px}.photo-note{position:absolute;bottom:60px;right:16px;transform:rotate(-7deg);padding:20px;background:rgba(255,255,255,.8);font-size:19px;font-weight:600;line-height:1.7;letter-spacing:.09em;color:#398568;border-radius:16px}.hero-bottom{grid-column:1;margin-top:24px;text-align:center}.hero-supplement{font-size:14px;text-align:left}.hero-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.hero-features>div{background:white;padding:15px 8px;border:1px solid #e4eee8;border-radius:15px;display:flex;align-items:center;flex-direction:column;gap:8px}.hero-features .icon{width:30px;height:30px}.hero-features strong{font-size:13px;line-height:1.6}.hero-bottom .button{font-size:18px}.hero-bottom .text-link{margin-top:6px}.trust{background:var(--deep);color:white;padding:43px 0;overflow:hidden}.trust:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;top:-140px;left:-100px;z-index:-1;background:#4b8b89;opacity:.55}.trust:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;bottom:-110px;right:-80px;z-index:-1;background:#4b8b89;opacity:.4}.trust h2{color:white;font-size:27px}.trust .section-label{color:#eef7f4;margin-bottom:20px}.trust .section-label>span{color:#eef7f4}.trust .section-heading:after{display:none}.trust-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.trust-item{background:#fff;border-radius:16px;color:var(--dark);text-align:center;padding:20px 14px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:14px;font-weight:700}.trust-item .icon{width:35px;height:35px;margin-bottom:10px}.trust-item strong{display:block;font-size:32px;line-height:1.6;letter-spacing:-.02em;color:#e8c010}.trust-item strong span{font-size:17px;color:var(--dark)}.trust-item small{display:block;font-size:12px;font-weight:500}.trust-item strong.text-stat{font-size:20px;line-height:1.7;color:var(--dark)}.trust-org{font-size:14px;font-weight:700;text-align:center;margin:26px 0 0;color:#fff;letter-spacing:.03em}.trust-note{font-size:14px;text-align:center;margin:6px 0 0;color:#eef7f4}
/* Narrative sections */
.concerns .card{border:1px solid var(--line);box-shadow:0 6px 18px -14px #12281f30}.card h3 .icon{margin-right:13px;vertical-align:middle}.card.soft h3{display:flex;align-items:center;gap:14px}.card.soft h3 .icon{margin-right:0;flex-shrink:0}.concerns h3 small{font-size:13px;display:block;margin:3px 0 0 61px;font-weight:500}.section-message{text-align:center;max-width:720px;margin:42px auto 0}.section-message>.icon{width:55px;height:55px;margin-bottom:10px}.section-message h3{font-size:25px;line-height:1.8}.section-message p{margin-top:21px}.daily-steps{display:grid;gap:16px;margin:26px 0}.daily-steps li{display:flex;align-items:center;gap:18px}.daily-steps .icon{width:34px;height:34px}.parent-note{margin-top:32px;padding:28px 32px;border-radius:20px;background:#f7e8cf}.parent-note h3{color:#8a5220;display:flex;align-items:center;gap:20px;margin-bottom:14px}.parent-note .icon{color:#b9793a}.bridge .section-heading{max-width:820px;margin-left:auto;margin-right:auto}.connection{display:grid;grid-template-columns:1fr 40px 1fr;gap:20px;max-width:650px;margin:30px auto}.connection-source{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:26px 20px;background:#dff3e5;border-radius:100px}.connection-source .icon{width:62px;height:62px}.connection-plus{align-self:center;justify-self:center;color:var(--green);font-size:28px}.connection-result{grid-column:1/-1;text-align:center;position:relative;margin-top:20px;padding:30px;background:white;border-radius:100px;border:1px solid var(--line);box-shadow:0 8px 22px -14px #12281f35}.connection-result:before{content:"↓　　　　　　　　　↓";position:absolute;top:-40px;left:0;width:100%;color:var(--green);font-size:23px}.connection-result .icon{width:58px;height:58px}.tone-0{background:#e7f5e9}.tone-1{background:#eaf6fc}.tone-2{background:#fff6df}.tone-3{background:#fff0f2}.tone-4{background:#f1edf9}.tone-1 .icon{color:#378eae}.tone-2 .icon{color:#b88b30}.tone-3 .icon{color:#c25d74}.tone-4 .icon{color:#7a69a3}.materials{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:16px;border-radius:24px;background:radial-gradient(130% 130% at 12% 8%,#d8f0e1 0%,#f0f8f3 55%,#ffffff 100%);padding:28px;overflow:hidden}.materials:before{content:"";position:absolute;top:-50px;right:-50px;width:150px;height:150px;border-radius:50%;background:#8dceab;opacity:.5;z-index:0}.material-book{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:16px;padding:14px;box-shadow:0 14px 28px -16px #12281f45;border:1px solid var(--line)}.material-book img{width:100%;height:auto;display:block;border-radius:8px}.material-side{position:relative;z-index:1;display:flex;flex-direction:column;gap:14px}.material-certificate{background:#fff;border-radius:16px;padding:12px;box-shadow:0 14px 28px -16px #12281f45;border:1px solid var(--line)}.material-certificate img{width:100%;height:auto;display:block;border-radius:8px}.material-dvd-pair{display:flex;gap:12px;flex:1}.material-dvd{flex:1;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:14px;padding:10px;box-shadow:0 10px 22px -14px #12281f40;border:1px solid var(--line)}.material-dvd img{width:100%;height:auto;display:block;border-radius:50%}.material-features{display:grid;gap:16px}.material-features article{padding:22px;border-radius:18px;background:#fff;border:1px solid var(--line);display:flex;gap:22px;align-items:center}.material-features h3{font-size:20px}.material-features p{font-size:15px;margin-top:7px}.skills-list{display:grid;gap:14px;max-width:820px;margin:auto}.skills-list li{display:flex;align-items:center;gap:24px;padding:22px 28px;background:var(--mint-soft);border-radius:18px}.large-number{font:600 37px/1 Arial,sans-serif;color:var(--green)}.skills-list h3{font-size:20px}.skills-list p{font-size:15px;margin-top:5px}.learning-path{font-size:16px;font-weight:700;text-align:center;margin-top:28px;color:var(--dark)}.work-intro{display:flex;align-items:center;justify-content:center;gap:60px;margin:20px 0 38px}.giant-number{font:800 145px/.95 Arial,sans-serif;color:var(--green);letter-spacing:-8px;display:flex;align-items:center;gap:20px}.giant-number span{font:700 24px/1.65 "Yu Gothic",Meiryo,sans-serif;letter-spacing:0;color:var(--dark)}.number-figure{position:relative;display:inline-block}.giant-number-leaf{position:absolute;width:.22em;height:.22em;color:#a9d9bd;opacity:.9}.giant-number-leaf.leaf-left{top:-.05em;left:-.34em;transform:rotate(-18deg)}.giant-number-leaf.leaf-right{bottom:.03em;right:-.32em;transform:rotate(158deg)}.work-categories{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:4px 4px 16px;scrollbar-width:none}.work-categories::-webkit-scrollbar{display:none}.work-category{flex:0 0 336px;scroll-snap-align:start;display:flex;flex-direction:column;border-radius:18px;overflow:hidden}.work-category h3{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px 15px;text-align:center;font-size:18px}.work-category h3 small{font-size:13px;font-weight:500}.work-category ul{display:grid;grid-template-columns:1fr;align-content:start;gap:12px;padding:22px 24px;background:#ffffffa6;flex:1}.work-category li{display:flex;align-items:baseline;gap:9px;font-size:14px;line-height:1.7}.work-category li>span{color:#647b6f;flex-shrink:0;font:600 13px/1 Arial,sans-serif}.work-section .small{margin-top:14px}.work-section .carousel-hint{text-align:center;margin:0 0 16px;font-size:13px}.work-carousel{position:relative}.carousel-arrow{position:absolute;top:42%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border-radius:50%;background:#fffffff2;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:none;box-shadow:0 6px 18px -6px #12281f4a;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--dark);padding:0}.carousel-arrow .icon{width:20px;height:20px;stroke-width:3.4}.carousel-arrow.prev{left:-8px}.carousel-arrow.next{right:-8px}.carousel-arrow.prev .icon{transform:rotate(180deg)}.carousel-arrow:disabled{opacity:.3;cursor:default}.carousel-dots{display:flex;justify-content:center;align-items:center;gap:10px;margin:4px 0 20px}.dot{width:9px;height:9px;border-radius:50%;background:#cfe3d6;border:0;padding:0;cursor:pointer}.dot.is-active{background:var(--green);width:24px;border-radius:5px}.reuse-note{display:flex;gap:25px;align-items:center;padding:30px;background:#fff;border:1px solid var(--line);border-radius:18px;margin-top:32px}.reuse-note p{margin-top:8px}.reuse-note .tags{justify-content:start}.video-main{border:10px solid #31433d;border-radius:20px;background:#31433d;overflow:hidden}.video-main figcaption{color:white;font-size:13px;text-align:center;padding:8px 0 0}.video-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.video-thumbs img{border-radius:8px}.timeline{display:grid;gap:16px;position:relative}.timeline:before{content:"";position:absolute;left:22px;top:16px;bottom:22px;width:2px;background:#add2bd;z-index:-1}.timeline li{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:21px 24px;margin-left:0}.step-number{width:44px;height:44px;border-radius:50%;display:flex;justify-content:center;align-items:center;background:var(--green);color:white;flex-shrink:0;font:700 19px/1 Arial,sans-serif}.timeline h3{font-size:20px}.timeline p{font-size:15px;margin-top:3px}.foundation-checklist{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.foundation-compare{display:grid;grid-template-columns:1fr 44px 1fr;align-items:stretch;gap:0;max-width:920px;margin:auto}.foundation-photo-card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 10px 26px -16px #12281f35;display:flex;flex-direction:column}.foundation-photo{position:relative;aspect-ratio:4/3;background:#eef6f1}.foundation-photo img{width:100%;height:100%;object-fit:cover;display:block}.foundation-step{position:absolute;left:16px;bottom:14px;z-index:2;background:var(--green);color:#fff;font-size:13px;font-weight:700;letter-spacing:.03em;padding:6px 16px;border-radius:100px}.sst-card .foundation-step{background:#159a6e}
.hattatu-card{border-color:#c5d7ea}
.hattatu-card .foundation-step{background:#1f6fc4}
.hattatu-card .foundation-photo-body h3{color:#003a78}
.hattatu-card .checklist li{color:#003a78}
.hattatu-card .checklist li:before{color:#1f6fc4}
.hattatu-card .foundation-note{background:#e4eef8;color:#003a78}
.hattatu-card .foundation-link{color:#1f6fc4}.foundation-photo-body{padding:28px 26px 30px;flex:1;display:flex;flex-direction:column}.foundation-photo-body h3{font-size:22px;margin-bottom:4px}.foundation-note{text-align:center;background:var(--mint);padding:16px 14px;border-radius:12px;font-weight:700;font-size:14px;color:var(--dark);margin-top:18px;margin-top:auto}.foundation-link{align-self:center;font-size:13px;font-weight:600;padding:4px 0 0;margin-top:10px}.foundation-plus{align-self:center;justify-self:center;color:var(--green);font-size:26px;font-weight:700;width:44px;text-align:center}.foundation-combined{margin-top:26px}.plus{font-size:18px;margin-right:7px}.recommend{position:absolute;top:-16px;left:50%;transform:translateX(-50%);padding:6px 22px;white-space:nowrap;background:linear-gradient(135deg,#d34c68,var(--coral));border-radius:100px;color:white;font-size:13px;font-weight:700;box-shadow:0 8px 18px -8px #bc385699}.audience-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;margin-bottom:32px}.audience-grid>div{display:flex;align-items:center;flex-direction:column;text-align:center;gap:14px;border-radius:100px;background:white;border:1px solid var(--line);padding:27px 8px}.audience-grid h3{font-size:14px}.audience-grid .icon{width:40px;height:40px}.case-studies{border-bottom:1px solid var(--line);padding-bottom:32px;margin-bottom:32px}.case-study{display:grid;grid-template-columns:.85fr 1.15fr;gap:35px;align-items:center;padding:30px 0}.case-study+.case-study{border-top:1px solid var(--line)}.case-studies .soft-note{margin-top:28px}.case-study>div>img:not(.facility-logo){width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:18px}.case-study h3{font-size:23px;margin-bottom:10px}.case-study h4{margin:20px 0 10px}.case-study blockquote{font-size:15px}.case-study .facility-logo{width:260px;margin:10px 0 18px}.soft-note{padding:24px;background:var(--mint-soft);border-radius:16px;margin-top:24px}.survey-result{text-align:center;padding:50px 20px 30px;color:var(--dark)}.survey-result .survey-headline{font-size:24px;font-weight:700}.survey-result strong{font:800 94px/1.4 Arial,sans-serif;letter-spacing:-4px;color:var(--green)}.survey-result strong span{font-size:34px;letter-spacing:0;margin-left:6px}.survey-result small{font-size:13px;display:block;margin-top:10px}.survey-voices{align-items:stretch}.survey-voices .voice{background:#f5faf7;border:1px solid var(--line);margin:0;padding:24px}.flow-timeline{max-width:760px;margin:0 auto}.flow-timeline li{background:white;padding:26px}.flow-timeline:before{left:48px}.overview{max-width:850px;margin:0 auto 24px;border:1px solid var(--line);border-radius:15px;overflow:hidden}.overview>div{display:grid;grid-template-columns:230px 1fr}.overview>div+div{border-top:1px solid var(--line)}.overview dt{background:var(--button);color:white;font-weight:700;padding:17px 25px}.overview dd{margin:0;padding:17px 25px;background:#fff}.normal-price{font-size:14px;text-align:center;color:var(--muted);margin-top:23px}.price{text-align:center;color:var(--dark);font-size:18px;font-weight:700;margin-top:4px}.price strong{font:700 48px/1.4 Arial,sans-serif;letter-spacing:-1.5px}.price>span{font-size:13px;font-weight:500}.set-checkout .price{color:var(--coral)}.saving{display:inline-block;margin-left:3px;padding:2px 9px;background:var(--pink);color:#ac344f;font-weight:700;border-radius:100px;font-size:12px;vertical-align:middle;white-space:nowrap}.fee-note{font-size:14px;margin:21px 0;text-align:center;color:#52645b}.info-cards{text-align:center}.info-cards .card{border:1px solid var(--line)}.info-cards h3{margin:15px 0}.info-cards p{font-size:15px;margin-bottom:23px}.info-cards .button{font-size:15px}.faq-list{max-width:850px;margin:auto;display:grid;gap:13px}.faq-item{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.faq-item h3{font-size:16px}.faq-item button{width:100%;border:0;cursor:pointer;background:none;display:flex;align-items:center;text-align:left;padding:22px 25px;gap:20px;color:var(--ink);font-weight:700;font-size:16px;line-height:1.7}.q-mark{font:700 26px/1 Arial,sans-serif;color:#368d6c}.faq-symbol{font-size:24px;font-weight:500;color:var(--green);margin-left:auto;flex-shrink:0}.faq-answer{border-top:1px solid #edf4ef;padding:21px 25px 25px 64px}.faq-answer p{font-size:15px}.faq-contact{text-align:center;margin-top:30px}.apply{background:var(--deep);color:white;overflow:hidden}.apply:before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;top:-140px;right:-100px;z-index:-1;background:#4b8b89;opacity:.45}.apply:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;bottom:-110px;left:-80px;z-index:-1;background:#4b8b89;opacity:.35}.apply h2{color:white}.apply .section-label{color:#eef7f4}.apply .section-label>span{color:#eef7f4}.apply .section-heading:after{background:#b1d3c9}.checkout-grid{margin-top:42px;align-items:stretch}.checkout{background:white;border-radius:24px;padding:38px 32px 30px;color:var(--ink);position:relative;display:flex;flex-direction:column;border:1px solid #eef1ee;box-shadow:0 24px 50px -28px #12281f60}.checkout .eyebrow{text-align:center}.checkout h3{text-align:center;font-size:24px;min-height:90px;display:flex;flex-direction:column;justify-content:center;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--line)}.checkout h3 .plus{line-height:1}.checkout .button{margin-top:12px;font-size:15px;width:100%;border-radius:14px}.checkout>.button:first-of-type{margin-top:auto}.checkout .checklist{background:#f4faf6;border-radius:16px;padding:20px 22px 20px 24px;margin-top:24px}.checkout .overseas{display:block;font-size:13px;text-align:center;line-height:1.8;padding:17px 0 0}.overseas[aria-disabled]{color:#676e6a}.pending-note{font-size:13px;background:#f6ecee;border-radius:8px;padding:9px;text-align:center;color:#77535c;margin-top:14px}.set-checkout{border:2px solid var(--coral);box-shadow:0 28px 55px -24px #bc385660}.set-checkout .checklist{background:#fdf1f3}.other-set{max-width:900px;margin:18px auto 0;text-align:center;font-size:14px;color:#eef7f4}.other-set a{color:#fff;font-weight:700}/* プラン選択の下に置く児童発達支援士の説明リンク */
.plan-note{max-width:900px;margin:18px auto 0;text-align:center;font-size:14px;color:#eef7f4}
.plan-note a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.plan-note a>span{margin-left:7px}
.plan-note a:hover{text-decoration-thickness:2px}
.apply-end{text-align:center;margin:38px 0 0;color:#eef7f4;font-weight:600;letter-spacing:.05em}.site-footer{background:#f5f9f7;padding:38px 0;text-align:center}.footer-brand{display:block;width:230px;margin:0 auto 24px}.site-footer nav{display:flex;gap:8px 28px;flex-wrap:wrap;justify-content:center;margin-bottom:20px}.site-footer nav a{font-size:13px;padding:8px 0}.site-footer small{font-size:12px;color:var(--muted)}.sticky-cta{display:none}
/* 右下の固定ボタン（受講プランへ／ページ先頭へ） */
.float-actions{position:fixed;right:24px;bottom:24px;z-index:25;display:flex;flex-direction:column;align-items:flex-end;gap:12px;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease,visibility .25s}
.float-actions.is-visible{opacity:1;visibility:visible;transform:none}
.float-plan{min-height:0;padding:13px 24px;gap:10px;font-size:15px;border-radius:100px;box-shadow:0 16px 32px -14px #10233a80}
.float-plan .icon{width:22px;height:22px;color:#fff}
.float-actions.is-at-plans .float-plan{display:none}
.to-top{width:48px;height:48px;padding:0;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--button);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 26px -14px #10233a90;transition:background .15s,transform .15s}
.to-top:hover{background:var(--mint-soft);transform:translateY(-2px)}
.to-top .icon{width:22px;height:22px;color:inherit;transform:rotate(-90deg)}
@media(max-width:999px){.header-inner{min-height:76px}.brand{width:200px}.menu-toggle{width:48px;height:48px;border:0;background:transparent;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;cursor:pointer}.menu-toggle span{width:23px;height:2px;background:var(--dark);transition:transform .15s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}#site-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 24px 24px;background:white;box-shadow:0 12px 15px #163f321a;flex-direction:column;align-items:stretch;gap:5px}#site-nav.is-open{display:flex}#site-nav>a{padding:12px}.nav-cta{text-align:center}.hero-grid{gap:0 24px}.hero-title{font-size:43px}.hero-photo .scene{min-height:600px}.photo-note{font-size:16px;right:4px}.audience-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:640px;margin:0 auto 32px}.audience-grid>div{border-radius:25px}.survey-voices{grid-template-columns:1fr}.work-category{grid-template-columns:170px 1fr}.work-category ul{grid-template-columns:1fr}.work-intro{gap:25px}.giant-number{font-size:120px}.giant-number span{font-size:21px}.three{gap:16px}}
@media(max-width:767px){body{padding-bottom:calc(84px + env(safe-area-inset-bottom));font-size:16px}.container{width:calc(100% - 40px)}.section{padding:44px 0}.section-label{margin-bottom:25px;gap:12px;font-size:13px}.section-label>span{font-size:33px}.section-label:after{width:70px}.section-heading{margin-bottom:26px}.section-heading:after{margin-top:20px;width:33px;height:2px}h2{font-size:26px;line-height:1.65;letter-spacing:.005em}h3{font-size:20px}.eyebrow{font-size:12px;letter-spacing:.035em;line-height:1.8}.intro{font-size:16px;margin-bottom:28px;text-align:left}.two,.three{grid-template-columns:1fr}.grid{gap:22px}.card{padding:25px 23px}.desktop-only{display:none}.mobile-only{display:block}.header-inner{width:calc(100% - 32px);min-height:70px;gap:10px}.brand{width:190px}.hero{padding:22px 0 28px}.hero-grid{display:flex;flex-direction:column;gap:0}.hero h1{font-size:12px;line-height:1.7;margin-bottom:17px}.hero .pill{font-size:15px}.hero-title{font-size:clamp(35px,10.1vw,51px);line-height:1.4;letter-spacing:0;margin:16px 0}.hero-product{font-size:23px;margin-bottom:12px}.hero-description{font-size:16px;line-height:1.9}.hero-photo{width:calc(100% + 40px);margin:23px -20px 0;display:block}.hero-photo .scene{min-height:0;height:auto;aspect-ratio:4/3;border-radius:0;object-fit:cover}.photo-note{font-size:15px;bottom:16px;right:13px;padding:10px 15px}.hero-bottom{width:100%;margin-top:16px}.hero-supplement{font-size:14px;line-height:1.8}.hero-features{margin:17px 0;gap:7px}.hero-features>div{padding:12px 5px;border-radius:12px}.hero-features strong{font-size:13px;min-height:41px;display:flex;align-items:center;justify-content:center}.hero-features .icon{width:30px;height:30px}.hero-bottom .button{font-size:16px;min-height:54px}.button{padding:13px 16px;gap:10px;font-size:15px}.trust{padding:34px 0}.trust h2{font-size:23px}.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.trust-item{padding:18px 9px;font-size:13px;border-radius:14px}.trust-item strong{font-size:29px}.trust-item strong.text-stat{font-size:18px}.trust-item small{font-size:12px;line-height:1.7}.trust-item .icon{width:33px;height:33px}.trust-org{font-size:13px;margin-top:22px}.trust-note{font-size:13px}.checklist{gap:13px;margin-top:20px}.checklist li{font-size:15px;line-height:1.85;padding-left:25px}.concerns h3{font-size:19px}.concerns h3 small{margin-left:0;margin-top:6px}.concerns .card h3>.icon{width:36px;height:36px;vertical-align:middle}.section-message{margin-top:33px}.section-message h3{font-size:21px}.section-message p{font-size:15px}.section-message>.icon{width:48px;height:48px}.scene{border-radius:16px}.tags{gap:7px;margin-top:13px}.tags span{font-size:13px;padding:4px 11px}.soft h3{display:flex;align-items:center;font-size:19px}.soft h3 .icon{width:40px;height:40px}.soft{margin-top:23px}.voice{padding:22px 21px;margin-top:25px}.voice p{font-size:15px}.parent-note{margin-top:25px;padding:25px 22px}.parent-note h3{font-size:18px;gap:14px;line-height:1.7}.parent-note p{font-size:15px}.parent-note .icon{width:35px;height:35px}.highlight{padding:19px;font-size:16px}.daily-steps{gap:20px}.closing{font-size:19px;margin-top:30px}.connection{grid-template-columns:1fr 18px 1fr;gap:11px;margin:22px auto}.connection-source{gap:12px;padding:22px 6px;border-radius:100px;font-size:14px}.connection-source .icon{width:48px;height:48px}.connection-plus{font-size:22px}.connection-result{padding:25px 13px;border-radius:22px;margin-top:27px;font-size:16px}.connection-result:before{content:"↓　　　　↓";top:-41px}.connection-result .icon{width:48px;height:48px}.bridge .intro{text-align:center}.materials{padding:16px;gap:10px}.material-book{padding:8px;border-radius:12px}.material-side{gap:8px}.material-certificate{padding:7px;border-radius:12px}.material-dvd-pair{gap:8px}.material-dvd{padding:6px;border-radius:10px}.material-features{gap:12px}.material-features article{padding:20px;gap:16px}.material-features .icon{width:35px;height:35px}.material-features h3{font-size:18px}.material-features p{font-size:15px}.skills-list li{display:grid;grid-template-columns:39px 1fr;gap:9px 16px;padding:23px 20px}.skills-list .large-number{font-size:30px;grid-column:1;grid-row:1;align-self:end}.skills-list .icon{grid-column:1;grid-row:2;align-self:start;width:36px;height:36px}.skills-list li>div{grid-column:2;grid-row:1/3}.skills-list h3{font-size:18px}.skills-list p{font-size:15px}.learning-path{font-size:13px;margin-top:21px;line-height:1.9}.work-intro{display:flex;flex-direction:column;gap:23px;margin:25px 0}.giant-number{font-size:135px;gap:18px}.giant-number span{font-size:22px}.work-intro>p{font-size:15px;text-align:center}.carousel-arrow{display:none}.work-categories{margin:0 -20px;padding:4px 20px 16px;scroll-padding-left:20px}.work-category{flex:0 0 96%}.work-category h3{flex-direction:row;gap:13px;justify-content:flex-start;text-align:left;padding:17px 21px;font-size:18px}.work-category h3 .icon{width:29px;height:29px}.work-category h3 small{margin-left:auto;font-size:13px}.work-category ul{padding:20px 13px;gap:12px}.work-category li{font-size:15px;gap:8px;line-height:1.8}.work-category li>span{font-size:13px}.reuse-note{padding:24px 21px;gap:14px;align-items:flex-start}.reuse-note>.icon{width:33px;height:33px}.reuse-note h3{font-size:18px}.reuse-note p{font-size:15px}.reuse-note .tags{margin-left:-46px}.video-main{border-width:7px;border-radius:16px}.video-thumbs{gap:9px}.timeline li{padding:20px;gap:15px}.timeline h3{font-size:19px}.timeline p{font-size:15px}.step-number{width:39px;height:39px;font-size:17px}.foundation-checklist{grid-template-columns:1fr;gap:11px}.foundation-checklist li{font-size:14px;padding-left:22px}.foundation-compare{grid-template-columns:1fr;gap:0}.foundation-plus{padding:10px 0;font-size:22px}.foundation-photo-body{padding:24px 20px 26px}.foundation-photo-body h3{font-size:20px}.foundation-note{padding:14px 12px;font-size:14px;margin-top:16px}.foundation-step{font-size:12px;padding:5px 13px;left:12px;bottom:12px}.foundation-combined{font-size:14px}.recommend{font-size:12px;padding:4px 15px}.audience-grid{gap:10px}.audience-grid>div{padding:20px 8px;border-radius:20px;gap:10px}.audience-grid h3{font-size:13px;line-height:1.7}.audience-grid .icon{width:35px;height:35px}.case-study{grid-template-columns:1fr;gap:22px;padding:23px 0 30px}.case-study h3{font-size:21px}.case-study blockquote{font-size:16px;line-height:1.95}.case-study .facility-logo{width:220px}.soft-note{font-size:15px;padding:22px}.survey-result{padding:37px 0 26px}.survey-result .survey-headline{font-size:22px}.survey-result strong{font-size:79px;letter-spacing:-4px}.survey-result strong span{font-size:29px;margin-left:5px}.survey-result p{font-size:15px}.survey-result small{font-size:12px}.carousel-hint{text-align:center;margin:18px 0 12px;font-size:13px}.survey-voices{display:flex;grid-template-columns:none;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:0 -20px;padding:2px 20px 12px;scrollbar-width:none}.survey-voices::-webkit-scrollbar{display:none}.survey-voices .voice{flex:0 0 84%;scroll-snap-align:center;padding:22px}.flow-timeline li{padding:21px 16px;gap:12px;display:grid;grid-template-columns:38px 1fr}.flow-timeline li>.icon{grid-column:1;grid-row:2;width:32px;height:32px;margin:auto;align-self:start}.flow-timeline li>.step-number{grid-column:1;grid-row:1}.flow-timeline li>div{grid-column:2;grid-row:1/3}.flow-timeline:before{left:35px}.overview>div{grid-template-columns:1fr}.overview dt{padding:10px 20px;font-size:15px}.overview dd{padding:14px 20px;font-size:16px}.normal-price{margin-top:18px;font-size:14px}.price strong{font-size:43px}.price{font-size:16px}.price>span{font-size:12px}.fee-note{font-size:13px;margin:19px 0}.info-cards .card{padding:27px 23px}.info-cards .button{font-size:14px}.info-cards p{font-size:15px}.faq-item button{padding:19px 17px;gap:12px;font-size:15px}.q-mark{font-size:24px}.faq-symbol{font-size:23px}.faq-answer{padding:18px 20px}.faq-answer p{font-size:15px}.faq-contact{font-size:15px}.checkout-grid{gap:35px;margin-top:35px}.checkout{padding:31px 23px 23px}.checkout h3{min-height:0;font-size:22px}.checkout .button{font-size:14px;min-height:53px}.checkout .overseas{font-size:12px;padding-top:18px}.checkout .fee-note{margin:18px 0 22px}.checkout .checklist{margin-top:20px}.apply-end{font-size:16px;line-height:2}.site-footer{padding:32px 0}.footer-brand{width:200px}.site-footer nav{flex-direction:column;gap:2px}.site-footer nav a{font-size:13px;padding:9px 0}.float-actions{right:14px;bottom:calc(var(--sticky-h, 90px) + 12px);gap:0}.float-plan{display:none}.to-top{width:42px;height:42px}.to-top .icon{width:19px;height:19px}.sticky-cta{display:block;position:fixed;bottom:0;left:0;right:0;background:#fffffff5;border-top:1px solid #dcece2;padding:11px 20px calc(11px + env(safe-area-inset-bottom));z-index:30;backdrop-filter:blur(8px)}.sticky-cta .button{min-height:53px;font-size:17px;max-width:540px;margin:auto;border-radius:14px}.sticky-cta .button span{margin-left:10px}.sticky-cta .button .icon{width:20px;height:20px;color:#fff}.mint:before,.warm:before,.trust:before,.apply:before{width:200px;height:200px;top:-90px}.mint:after,.warm:after,.trust:after,.apply:after{width:150px;height:150px;bottom:-70px}}
@media(max-width:359px){.container{width:calc(100% - 32px)}h2{font-size:24px}.hero-photo{width:calc(100% + 32px);margin-left:-16px;margin-right:-16px}.hero-title{font-size:35px}.hero-product{font-size:21px}.hero-features strong{font-size:12px}.card{padding:22px 19px}.trust-item strong{font-size:26px}.trust-item strong.text-stat{font-size:17px}.foundation-body{grid-template-columns:1fr}.foundation-body img{height:130px}.foundation-body .checklist{padding:0 12px}.audience-grid h3{font-size:12px}.work-category li{font-size:14px}.giant-number{font-size:112px}.giant-number span{font-size:20px}.survey-result strong{font-size:71px}.sticky-cta{padding-left:16px;padding-right:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media print{.site-header,.sticky-cta,.menu-toggle{display:none}body{padding:0}.section{break-inside:auto}.card,.plan,.checkout,.work-category,.faq-item{break-inside:avoid}.faq-answer[hidden]{display:block}a{color:inherit}.button{border:1px solid #666;color:#222;background:white}}

/* Keep short Japanese headings and the training count together. */
h2,h3,.closing,.section-message h3{text-wrap:balance}
@media(max-width:767px){.giant-number{font-size:128px}.giant-number span{font-size:20px;flex-shrink:0;white-space:nowrap}a,button{scroll-margin-bottom:100px}}
@media(max-width:359px){.giant-number{font-size:108px}.giant-number span{font-size:18px}}


.phrase{display:inline-block}
@media(max-width:767px){.qualification-line{font-size:20px}.audience-grid h3{text-wrap:initial}.apply .intro{text-align:center}}
@media(max-width:359px){.qualification-line{font-size:18px}}
@media(prefers-reduced-motion:no-preference){.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.16,.8,.3,1),transform .7s cubic-bezier(.16,.8,.3,1)}.reveal.is-visible{opacity:1;transform:none}}
.card,.checkout,.foundation-photo-card,.work-category,.faq-item,.case-study img{transition:transform .25s ease,box-shadow .25s ease}
@media(hover:hover){.card:hover,.checkout:hover,.foundation-photo-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -22px #12281f40}.faq-item:hover{box-shadow:0 12px 24px -16px #12281f35}}
@media(max-width:390px){.work-category ul{padding:20px 9px}.work-category li{gap:6px}}
.sticky-cta .button{position:relative;overflow:hidden}
.sticky-cta .button:after{content:"";position:absolute;top:0;left:-60%;width:36%;height:100%;background:linear-gradient(115deg,transparent 0%,#ffffff9c 50%,transparent 100%);transform:skewX(-22deg);pointer-events:none}
@media(prefers-reduced-motion:no-preference){.sticky-cta .button:after{animation:cta-shine 5.5s ease-in-out infinite}}
@keyframes cta-shine{0%{left:-60%}14%{left:130%}100%{left:130%}}
.set-checkout .eyebrow{color:var(--coral)}
.set-checkout h3{color:var(--coral)}
.set-checkout .checklist li:before{color:var(--coral)}

/* ===== セットプラン オレンジ配色（シリーズ共通ルール 2026-09-17） ===== */
:root{--coral:#c2410c;--pink:#fff1e6}
.set-checkout{border:2px solid var(--coral);box-shadow:0 28px 55px -24px #c2410c60}
.recommend{background:linear-gradient(135deg,#cc4a0c,var(--coral));box-shadow:0 8px 18px -8px #c2410c99}
.set-checkout .eyebrow,
.set-checkout h3,
.set-checkout .price,
.set-checkout .checklist li:before{color:var(--coral)}
.set-checkout .checklist{background:#fff3e8}
.set-checkout .checklist li{color:#4a220c}
.saving{background:var(--pink);color:#9a3412}
.button.coral{background:var(--coral);border-color:var(--coral)}
.button.coral:hover{background:#9a3412;border-color:#9a3412}
.set-checkout .button.outline{color:var(--coral);border-color:var(--coral);background:#fff}
.set-checkout .button.outline:hover{background:var(--pink)}
.set-checkout .overseas{color:#9a3412}

/* 決済URLが未確定で disabled の間の見た目（オレンジ系の無効状態） */
.set-checkout .button.coral:disabled{background:#f6dcc8;color:#7a3413;border-color:#e9b893;transform:none;cursor:not-allowed}
.set-checkout .button.outline:disabled{background:#fff;color:#8a4a26;border-color:#e9b893;transform:none;cursor:not-allowed}
.set-checkout .overseas[aria-disabled]{color:#8a4a26}
.set-checkout .pending-note{background:#fdeee2;color:#7a3413}

/* ===== お支払い総額の目安（児発新LPと共通ブロック） ===== */
.price-notes{max-width:900px;margin:30px auto 0;background:#fff;color:var(--ink);border-radius:20px;padding:24px 28px}
.price-notes h3{font-size:18px;display:flex;align-items:center;gap:10px;margin-bottom:12px;color:var(--dark)}
.price-notes h3 .icon{width:28px;height:28px}
.price-table{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.price-table div{background:var(--mint-soft);border-radius:14px;padding:14px 16px;font-size:14px}
.price-table strong{display:block;color:var(--dark);font-size:15px}
.price-table b{font:700 24px/1.5 Arial,sans-serif;color:var(--dark)}
/* セット側はオレンジ系（シリーズ共通ルール） */
.price-table .set{background:#fff3e8;color:#4a220c}
.price-table .set strong{color:#9a3412}
.price-table .set b{color:#c2410c}
.price-points{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-size:14px}
.price-points li{position:relative;padding-left:22px}
.price-points li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:700}
.price-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 24px;margin-top:10px;font-size:13px}
.price-links a{font-weight:600;color:var(--dark)}
@media(max-width:767px){
  .price-notes{padding:20px 16px}
  .price-table{grid-template-columns:1fr}
}
/* 文節単位で折り返すためのユーティリティ（クチコミ見出し・Q&Aの質問文） */
.wb{display:inline-block}
