:root{--blue:#124a93;--aqua:#55c4c7;--violet:#523394;--orange:#f05a21;--green:#16784b;--ink:#192331;--soft:#f5f8fb;--max:1040px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.8;background:#fff}img{max-width:100%;display:block}a{color:inherit}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.narrow{max-width:820px}.section{padding:88px 0}.section h2{margin:0 0 30px;color:var(--blue);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(2rem,4vw,3.15rem);line-height:1.45;text-align:center}.section-kicker{text-align:center;color:var(--aqua);font-weight:800;letter-spacing:.18em;margin:0 0 5px}.hero{position:relative;overflow:hidden;min-height:680px;display:grid;place-items:center;background:linear-gradient(155deg,#fff 20%,#f4fbfb 65%,#f5f1fb)}.hero:after{content:"";position:absolute;inset:auto 0 0;height:5px;background:linear-gradient(90deg,var(--aqua),var(--violet),var(--aqua))}.hero__mark{position:absolute;width:min(570px,75vw);opacity:.12;filter:saturate(1.3);transform:rotate(-10deg)}.hero__inner{position:relative;text-align:center;z-index:1}.hero__eyebrow{font-family:"Yu Mincho",serif;font-size:clamp(1rem,2.1vw,1.55rem);font-weight:700;letter-spacing:.08em;margin:0 0 28px}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(3.3rem,8.5vw,6.8rem);line-height:1.18;margin:0;background:linear-gradient(90deg,var(--aqua),var(--violet) 55%,#87cbd8);-webkit-background-clip:text;color:transparent;letter-spacing:.03em}.hero__lead{font-weight:700;font-size:clamp(1rem,2vw,1.3rem);margin:25px 0 36px}.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;font-weight:800;transition:.2s transform,.2s box-shadow}.button:hover{transform:translateY(-2px);box-shadow:0 10px 25px #183b6230}.button--primary{padding:15px 42px;color:#fff;background:linear-gradient(90deg,var(--aqua),var(--violet));box-shadow:0 8px 20px #52339430}.current{background:#fff}.stats-grid{display:grid;grid-template-columns:330px 1fr;gap:46px;align-items:center}.stat-card{padding:28px;border:2px solid #e6b77d;border-radius:12px;text-align:center;background:#fffdf9;box-shadow:0 15px 35px #86520c10}.stat-card p{margin:0;font-weight:700}.stat-card strong{display:block;font-size:1.6rem;line-height:1.4}.stat-card em{font-style:normal;color:#e94732;font-size:3.8rem}.stat-card span{font-weight:800;font-size:1.7rem}.stats-copy{font-size:1.1rem}.support-message{font-family:"Yu Mincho",serif;font-size:1.42rem}.support-message strong:nth-of-type(1){color:var(--orange)}.support-message strong:nth-of-type(2){color:#ef6a2b}.support-message strong:nth-of-type(3){color:var(--green)}.support-message strong:nth-of-type(4){color:var(--blue)}.loss-banner{margin:50px auto 25px;max-width:860px;text-align:center;border:2px solid #f1cbc6;padding:18px;border-radius:10px;font-size:1.45rem;font-weight:700}.loss-banner strong{color:#df3c38;font-size:1.8rem}.triangle-flow{display:flex;align-items:center;justify-content:center;gap:20px;padding:28px;border:1px solid #eedcb9;border-radius:14px;background:#fffdf6}.triangle-flow>div{width:28%;text-align:center}.triangle-flow b{display:block;color:var(--green);font-size:1.25rem;line-height:1.25}.triangle-flow span{display:block;font-size:.85rem;margin-top:8px}.triangle-flow i{font-style:normal;font-size:2rem}.family{background:linear-gradient(135deg,#f7faff,#fff)}.family h2{text-align:left}.family h2 span{color:var(--orange)}.family p{font-size:1.12rem}.family strong{color:#d53934;border-bottom:2px solid}.service{background:var(--soft)}.cards{display:grid;grid-template-columns:1fr 1fr;gap:28px}.info-card{background:#fff;border-radius:16px;overflow:hidden;border:2px solid;box-shadow:0 10px 30px #17324b10}.info-card h2{color:#fff;font:800 1.45rem/1.3 "Yu Gothic",sans-serif;margin:0;padding:16px;text-align:left}.info-card--orange{border-color:var(--orange)}.info-card--orange h2{background:var(--orange)}.info-card--blue{border-color:#1260a7}.info-card--blue h2{background:#1260a7}.info-card ul{list-style:none;margin:0;padding:22px 28px}.info-card li{padding:5px 0 5px 28px;position:relative;font-weight:700}.info-card li:before{position:absolute;left:0}.info-card--orange li:before{content:"☑";color:var(--orange)}.info-card--blue li:before{content:"●";color:#1260a7}.info-card small{display:block;padding:0 28px 22px}.meaning-box{margin-top:36px;border:2px solid #238154;border-radius:16px;background:#fff;padding:32px 38px;position:relative}.meaning-box p{margin:0 0 14px}.meaning-box p:first-child{font-size:1.35rem;color:var(--green);font-weight:700}.meaning-box p:first-child strong{color:var(--orange)}.meaning-box>b{display:block;color:var(--orange);font-family:"Yu Mincho",serif;font-size:clamp(1.8rem,3.8vw,2.65rem);line-height:1.35}.pricing__note{text-align:center;font-family:"Yu Mincho",serif;font-size:1.2rem;font-weight:700}.price-list{background:linear-gradient(135deg,#87a8e4,#a7bce8);color:#fff;padding:30px 38px;border-radius:18px;box-shadow:0 14px 30px #5178bd25}.price-list div{display:flex;justify-content:space-between;gap:20px;font-family:"Yu Mincho",serif;font-size:clamp(1.2rem,3vw,1.8rem);font-weight:700;border-bottom:1px solid #ffffff55;padding:9px}.price-list div:last-child{border:0}.pricing__help{text-align:center;color:#62708a;margin-top:24px}.links{background:#fff}.link-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.link-grid a{display:flex;flex-direction:column;align-items:center;text-decoration:none;padding:28px;border-radius:18px;background:#fff;box-shadow:0 10px 30px #1d365517;border:1px solid #e7ebf0;transition:.2s}.link-grid a:hover{transform:translateY(-5px);box-shadow:0 16px 36px #1d365528}.link-grid img,.youtube-icon{height:100px;width:100px;object-fit:contain;margin-bottom:16px}.youtube-icon{display:grid;place-items:center;background:#f00;color:#fff;border-radius:28px;font-size:2.5rem;padding-left:7px}.link-grid b{font-size:1.16rem}.link-grid span:last-child{color:var(--blue);font-size:.9rem}.activity-photo{margin:55px auto 0;max-width:580px;text-align:center}.activity-photo img{border-radius:10px;box-shadow:0 12px 35px #182d4a22}.activity-photo figcaption{font-weight:700;margin-top:15px}.contact{background:linear-gradient(120deg,#f1fafb,#f5f4fb);border-top:5px solid var(--aqua);padding:70px 0}.contact__inner{display:grid;grid-template-columns:1fr 430px;gap:50px;align-items:center}.contact p{font-weight:800;color:var(--aqua);letter-spacing:.12em}.contact h2{font-family:"Yu Mincho",serif;font-size:clamp(2rem,4vw,3rem);line-height:1.35;margin:0 0 20px;color:var(--blue)}.contact__actions{display:grid;gap:14px}.button--tel,.button--mail{padding:15px 26px;color:#fff}.button--tel{background:var(--blue);font-size:1.42rem;flex-direction:column;line-height:1.25}.button--tel small{font-size:.7rem}.button--mail{background:var(--aqua)}footer{text-align:center;padding:18px;color:#637080;font-size:.78rem}.floating-cta{display:none}.sp-only{display:none}
@media(max-width:720px){.container{width:min(calc(100% - 28px),var(--max))}.section{padding:58px 0}.section h2{font-size:1.85rem}.hero{min-height:600px}.hero h1{font-size:clamp(3rem,15vw,5rem)}.hero__eyebrow{font-size:.92rem}.sp-only{display:block}.stats-grid,.cards,.contact__inner{grid-template-columns:1fr}.stats-grid{gap:24px}.stat-card{max-width:350px;margin:auto;width:100%}.triangle-flow{gap:7px;padding:18px 8px}.triangle-flow>div{width:30%}.triangle-flow b{font-size:.94rem}.triangle-flow span{font-size:.68rem}.triangle-flow i{font-size:1.25rem}.family h2{text-align:left;font-size:1.75rem}.cards{gap:18px}.meaning-box{padding:25px 22px}.meaning-box__body{font-size:.92rem}.price-list{padding:20px 12px}.price-list div{display:grid;gap:0;text-align:center}.link-grid{grid-template-columns:1fr}.link-grid a{flex-direction:row;gap:20px;text-align:left}.link-grid img,.youtube-icon{height:72px;width:72px;margin:0}.link-grid b{flex:1}.link-grid span:last-child{display:none}.contact__inner{gap:30px}.contact__actions{width:100%}.floating-cta{display:block;position:fixed;z-index:10;right:12px;bottom:12px;padding:12px 18px;border-radius:999px;background:var(--orange);color:#fff;text-decoration:none;font-weight:800;box-shadow:0 8px 20px #0003}footer{padding-bottom:75px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.link-grid a{transition:none}}

/* Approved final design */
.hero{min-height:720px;background:linear-gradient(180deg,#fff 0%,#fffdf7 100%)}
.hero__mark{width:min(500px,70vw);opacity:.16;transform:none}
.hero__inner{width:min(94vw,1600px);max-width:none}
.hero__eyebrow{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:clamp(1.1rem,2vw,1.55rem);margin-bottom:18px}
.hero h1{position:relative;display:inline-block;overflow:visible;white-space:nowrap;background:none;-webkit-background-clip:initial;color:var(--blue);font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:clamp(4.4rem,7.2vw,7.6rem);font-weight:900;line-height:1.02;letter-spacing:-.055em;text-shadow:0 5px 0 #dce8f3,-2px 0 #fff,2px 0 #fff,0 -2px #fff,0 2px #fff}
.hero h1 span{display:inline-block;color:var(--aqua);font-size:.68em;letter-spacing:-.02em;text-shadow:-2px 0 #fff,2px 0 #fff,0 -2px #fff,0 2px #fff}
.hero h1:after{content:"";position:absolute;left:15%;right:15%;bottom:-13px;height:7px;border-radius:9px;background:#efb060;z-index:-1}
.hero__lead{font-size:clamp(1.05rem,2vw,1.35rem);margin-top:40px}
.button--primary{background:var(--aqua);min-width:260px}
.current{background:#fffaf2}
.stats-grid{grid-template-columns:360px 1fr;gap:32px}
.stat-card{box-shadow:none;background:#fff;border-color:#efc482;border-radius:24px;padding:34px 24px}
.stat-card small{display:block;margin-top:18px;color:var(--orange);font-weight:800}
.issue-illustration{overflow:hidden;border-radius:12px;background:#fff}
.issue-illustration img{width:100%;aspect-ratio:3/2;object-fit:cover}
.support-message{margin:28px auto 32px;padding:25px 30px;max-width:980px;text-align:center;border:2px solid #efc482;border-radius:20px;background:#fffaf4;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:clamp(1.25rem,2.6vw,2rem);font-weight:800;line-height:1.45}
.support-message p{margin:3px 0}.support-message .orange{color:var(--orange)}.support-message .green{color:var(--green)}.support-message .blue{color:var(--blue)}
.concerns-visual,.partnership-visual{width:100%;margin:30px auto 0;border-radius:20px;background:#fff;box-shadow:0 0 0 2px #f0dac5;object-fit:contain}
.partnership-visual{box-shadow:none;border-radius:0}
.family{background:#f4f9fd}.family h2{text-align:center}.family .narrow{max-width:900px}.family p{background:#fff;border:1px solid #dce9f0;margin:0;padding:28px 42px}.family p:first-of-type{border-radius:18px 18px 0 0;border-bottom:0}.family p:last-of-type{border-radius:0 0 18px 18px}
.family h2 .family__line{display:block;color:var(--blue)}.family h2 .family__line--accent{color:var(--orange)}
.service{background:#fffaf2}.service>.container>h2{margin-bottom:42px}
.service__title i{font-style:normal}.service__title span{display:inline}
.info-card{box-shadow:none;border-width:3px;border-radius:20px}.info-card h2{text-align:center;font-size:clamp(1.25rem,2.5vw,1.8rem)}
.meaning-box{background:#fff;border-width:3px;margin-top:55px}
.meaning-box>b span{display:inline}
.pricing{background:#fff}.links{background:#fffaf2}
.contact{background:#eff9fb;border-top:0;padding:85px 0}.contact__inner{grid-template-columns:1fr 440px;gap:26px 45px}.contact__copy{grid-column:1/-1;text-align:center}.contact h2{white-space:nowrap;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;font-size:clamp(2.5rem,5vw,4rem);font-weight:900;margin:0 0 6px;color:var(--blue)}.contact p{white-space:nowrap;font-size:clamp(1.2rem,2.5vw,1.8rem);margin:0;color:var(--aqua);font-weight:900;letter-spacing:0}.contact__org{display:flex;flex-direction:column;justify-content:center;min-height:145px;padding:28px 38px;border:2px solid #b8c9de;border-radius:24px;background:#fff}.contact__org strong{font-size:1.25rem}.contact__org span{margin-top:8px}

@media(max-width:720px){
  .hero{min-height:620px}.hero__mark{width:78vw}.hero h1{font-size:clamp(2.1rem,8.7vw,4rem);letter-spacing:-.07em}.hero h1 span{font-size:.82em}.hero h1:after{left:8%;right:8%;bottom:-9px;height:5px}.hero__lead{margin-top:34px}
  .stats-grid{grid-template-columns:1fr}.issue-illustration{order:-1}.stat-card{max-width:none}.support-message{padding:20px 14px;font-size:1.1rem}.support-message p{margin:6px 0}
  .concerns-visual,.partnership-visual{border-radius:10px;margin-top:22px}.family h2{font-size:1.45rem;line-height:1.55}.family__line--accent{font-size:1.25rem;white-space:nowrap}.family p{padding:22px 20px}.contact__inner{grid-template-columns:1fr}.contact__copy{grid-column:auto}.contact h2{white-space:nowrap;font-size:clamp(1.6rem,6.6vw,2.2rem);line-height:1.35;letter-spacing:-.04em}.contact p{white-space:normal;font-size:1.15rem;line-height:1.55}.contact__org{min-height:0;text-align:center}
  .service__title{font-size:1.95rem!important;line-height:1.45!important}.service__title span{display:block;white-space:nowrap}.service__title i{display:none}
  .meaning-box>b{font-size:1.62rem;line-height:1.55;text-align:center}.meaning-box>b span{display:block;white-space:nowrap}.meaning-box>b .meaning-break{display:none}
}
