@font-face{font-family:Zen;src:url('assets/fonts/ZenKakuGothicNew-Regular.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Zen;src:url('assets/fonts/ZenKakuGothicNew-Medium.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Noto;src:url('assets/fonts/NotoSansJP-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--navy:#06182b;--deep:#041323;--water:#a4e8f8;--white:#f6fcff;--muted:#b9cddc;--line:#aacddd42;--header:100px;font-family:Noto,sans-serif;color:var(--white);background:var(--deep);font-size:16px}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a,summary,input,select,textarea{outline-offset:6px}:focus-visible{outline:2px solid #b4f0ff}button{color:inherit;background:none;border:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Zen,Noto,sans-serif;font-weight:400;line-height:1.38;letter-spacing:.02em}p{line-height:1.9}h2{font-size:clamp(30px,3.8vw,64px)}h3{font-size:28px}section{scroll-margin-top:var(--header)}header{height:var(--header);padding:20px 4.5%;display:flex;justify-content:space-between;align-items:center;position:fixed;inset:0 0 auto;z-index:20;background:linear-gradient(#031222e8,#03122287,transparent)}.brand img{width:190px;height:auto;display:block;border-radius:2px}nav{display:flex;align-items:center;gap:40px;font-size:14px}nav a{padding:12px 0}.nav-cta{border-bottom:1px solid #eefaff}.skip{position:fixed;left:10px;top:10px;transform:translateY(calc(-100% - 20px));z-index:99;background:white;color:#041323;padding:15px}.skip:focus{transform:translateY(0)}.film{height:650vh;position:relative}.stage{position:sticky;top:0;height:100svh;min-height:540px;overflow:hidden;background:#06182b}.stage>picture,.scene,.shade{position:absolute;inset:0;width:100%;height:100%}.scene{object-fit:cover}.shade{background:linear-gradient(180deg,#03142655,transparent 48%,#03142625 77%,#03142696)}.scene-copy{position:absolute;left:7%;top:21%;z-index:2;max-width:84%}.scene-copy h1{font-size:clamp(35px,4.5vw,86px);font-weight:400;letter-spacing:.035em;white-space:nowrap;text-shadow:0 2px 25px #03122288}.scene-copy h1 span{display:inline}.eyebrow{font-size:14px;letter-spacing:.12em;margin-bottom:22px;color:#cee7f4}.intro{margin:20px 0 32px;font-size:16px;letter-spacing:.13em}.button{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:13px 25px;gap:12px;border-radius:2px;font-size:15px;line-height:1.7}.button.light{background:#e9faff;color:#082640;border:1px solid #e9faff}.button.outline{border:1px solid #97bfd2;background:#071b32b0}.button:hover{filter:brightness(.93)}.stage-bottom{position:absolute;bottom:30px;left:5%;right:5%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.1em;color:#c8dfeb}.scene-copy[data-frame="2"]{top:21%;left:42%}.scene-copy[data-frame="2"] h1{font-size:clamp(36px,4vw,72px)}.scene-copy[data-frame="3"],.scene-copy[data-frame="4"]{left:auto;right:7%;top:20%;max-width:42%;text-align:right}.scene-copy[data-frame="3"] h1,.scene-copy[data-frame="4"] h1{font-size:clamp(28px,2.8vw,50px)}.scene-copy[data-frame="5"]{top:64%;left:6%}.scene-copy[data-frame="5"] h1{font-size:clamp(26px,2.6vw,48px)}.scene-copy[data-frame="6"],.scene-copy[data-frame="7"]{left:6%;top:23%;padding:0}.scene-copy[data-frame="8"],.scene-copy[data-frame="9"]{left:6%;top:20%;padding:0}.scene-copy[data-frame="6"] h1,.scene-copy[data-frame="7"] h1,.scene-copy[data-frame="8"] h1,.scene-copy[data-frame="9"] h1{font-size:clamp(64px,7vw,130px)}.scene-copy .sub{font-size:16px;margin-top:20px;max-width:450px}.information{position:relative;background:var(--navy);padding:130px 0 100px}.information-art{position:absolute;inset:0 0 auto;height:800px;pointer-events:none}.information-art img{width:100%;height:100%;object-fit:cover;opacity:.64;mask-image:linear-gradient(#000 50%,transparent)}.info-inner{position:relative;width:88%;max-width:1620px;margin:auto}.section-head{margin-bottom:55px}.section-head h2{margin-bottom:20px}.section-head>p:not(.eyebrow){color:#cee0ed}.service-options{border:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-options legend{padding:0;margin-bottom:20px;font-size:16px}.service{display:flex;flex-direction:column;position:relative;border:1px solid var(--line);background:#071c30ed;padding:34px 32px;cursor:pointer;gap:15px}.service input{position:absolute;right:24px;top:28px;width:20px;height:20px;accent-color:#a9eafa}.service:has(input:checked){border-color:var(--water);box-shadow:inset 0 -3px var(--water);background:#12324be8}.service-name{font-family:Zen;font-size:42px;line-height:1.2}.course{font-size:18px}.service>span:last-child{font-size:15px;color:#cbdce8;line-height:1.8}.undecided{display:inline-flex;gap:12px;align-items:center;min-height:48px;margin-top:16px;font-size:15px}.undecided input{accent-color:var(--water);width:18px;height:18px}.note{font-size:13px;color:var(--muted);line-height:1.9;margin-top:17px}.note a{text-decoration:underline;text-underline-offset:4px}.selector-row{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;border-top:1px solid var(--line);padding-top:35px;margin-top:35px}.size-group{border:0;margin:0;padding:0}.size-group legend{margin-bottom:20px}.sizes{display:flex;flex-wrap:wrap;gap:8px}.sizes label{position:relative}.sizes input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.sizes span{display:flex;align-items:center;justify-content:center;min-height:48px;min-width:52px;padding:10px 14px;border:1px solid #aacddd69;font-size:16px;cursor:pointer}.sizes input:checked+span{background:#d7f5ff;color:#0c2a42;border-color:#d7f5ff}.sizes input:focus-visible+span{outline:2px solid white;outline-offset:3px}.store-picker{display:flex;flex-direction:column;gap:20px}.store-picker select{width:100%;padding:13px 12px;color:white;background:#0b243b;border:1px solid #789eaf;min-height:50px;font-size:15px}.price-result{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:38px 0;display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:35px}.price{font-family:Zen;font-size:clamp(25px,3vw,46px);line-height:1.5;margin-top:12px}.price-result .button{flex-shrink:0}.price-result .note{max-width:750px}.price-details{margin-top:30px}.price-details summary{min-height:50px;font-size:16px;cursor:pointer}.table-scroll{overflow:auto;margin:20px 0}table{border-collapse:collapse;width:100%;min-width:630px;text-align:right}caption{text-align:left;margin-bottom:20px;color:var(--muted);font-size:14px}th,td{padding:17px 12px;border-bottom:1px solid var(--line);font-weight:400;white-space:nowrap}th:first-child{text-align:left}.content-section{padding:100px 6%;background:linear-gradient(135deg,#06182b,#0b2940)}.store-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.store-grid article{border-top:1px solid #c1e5f270;padding-top:25px;display:flex;flex-direction:column;align-items:flex-start;gap:22px}.location{font-size:14px;color:#a9d8ed;letter-spacing:.16em}.store-grid dl{display:grid;grid-template-columns:95px 1fr;gap:12px;font-size:14px;margin:0}.store-grid dd{margin:0}.store-grid p{font-size:15px;color:#c7dcea}.phone{font-family:Zen;font-size:30px}.store-grid .button{margin-top:auto}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;max-width:1250px}.work-grid a{display:flex;flex-direction:column;gap:16px}.work-grid img{width:100%;height:390px;object-fit:cover;object-position:center 54%}.work-grid span{font-family:Zen;font-size:25px}.work-grid small{font-size:13px;color:var(--muted)}.faq{background:var(--navy)}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-size:18px;line-height:1.8;padding:6px 0}.faq details p{font-size:16px;max-width:900px;color:#d2e0e9;padding:20px 0}.ending{height:100svh;min-height:600px;position:relative}.ending picture,.ending img,.consult>picture,.consult>picture img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.ending:after{content:'';position:absolute;inset:0;background:linear-gradient(#05172b50,transparent 60%,#04132360)}.ending-copy{position:absolute;top:20%;left:6%;z-index:1}.consult{position:relative;min-height:1050px;background:#05172b}.consult>picture img{object-position:70% center}.consult:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#05172bef 10%,#05172bcb 42%,#05172b00 88%)}.consult-inner{position:relative;z-index:1;width:48%;max-width:760px;padding:110px 0 90px;margin-left:6%}.memo-card{background:#082137e6;border:1px solid var(--line);padding:30px}.memo-card dl{display:grid;grid-template-columns:90px 1fr;gap:18px;margin:0;font-size:16px}.memo-card dt{color:var(--muted)}.memo-card dd{margin:0;line-height:1.7}.memo-actions{display:flex;flex-wrap:wrap;gap:25px;align-items:center;margin-top:30px}.text-link{text-decoration:underline;text-underline-offset:5px;padding:10px 0;font-size:14px}footer{padding:50px 6%;background:#020e1a;color:#9bb7c9;display:flex;flex-direction:column;align-items:flex-start;gap:14px;font-size:12px}footer div{font-family:Zen;letter-spacing:.18em;color:#d4e9f3;font-size:20px}dialog{color:#edf9ff;background:#082139;border:1px solid #84adc2;max-width:650px;width:calc(100% - 30px);max-height:90svh;padding:30px}dialog::backdrop{background:#000a}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.dialog-header h2{font-size:27px}.dialog-header button{font-size:14px;min-width:50px;min-height:44px}dialog>p{font-size:14px;color:#bfd8e8}textarea{margin-top:20px;width:100%;min-height:260px;background:#03182a;color:#effaff;border:1px solid #54768b;line-height:1.85;font-size:15px;resize:vertical;padding:18px}.dialog-actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:22px}.static-flow .film{height:100svh}.static-flow .stage{position:relative}.static-flow .scene-copy{transform:none!important;opacity:1!important}.image-error .stage{background:radial-gradient(ellipse at bottom,#164563,#06182b)}.image-error .scene{visibility:hidden}
@media(min-width:1600px){.scene-copy[data-frame="3"] h1,.scene-copy[data-frame="4"] h1{font-size:46px}}@media(max-width:1000px){:root{--header:85px}nav{gap:22px}.brand img{width:165px}.service-options{gap:12px}.service{padding:28px 22px}.selector-row{grid-template-columns:1fr;gap:26px}.consult-inner{width:66%}.store-grid{gap:40px}.scene-copy[data-frame="3"],.scene-copy[data-frame="4"]{max-width:48%}.scene-copy[data-frame="3"] h1,.scene-copy[data-frame="4"] h1{font-size:30px}}@media(max-width:700px){:root{--header:78px}header{padding:14px 18px;align-items:center}.brand img{width:122px}nav{gap:13px;font-size:12px}nav a{line-height:1.35;padding:10px 0}nav a:first-child{max-width:65px}nav .nav-cta{padding-bottom:9px}.film{height:560vh}.stage{min-height:540px}.scene-copy{left:7%;top:18%;max-width:86%}.scene-copy h1{font-size:clamp(28px,8.8vw,38px);white-space:normal;line-height:1.55;letter-spacing:.025em}.scene-copy h1 span{display:block}.eyebrow{font-size:12px;letter-spacing:.06em;margin-bottom:16px}.intro{font-size:14px;margin:12px 0 22px}.button{font-size:14px;min-height:48px;padding:12px 18px}.stage-bottom{bottom:22px;font-size:10px;left:6%;right:6%}.scene-copy[data-frame="2"],.scene-copy[data-frame="3"],.scene-copy[data-frame="4"]{left:7%;right:auto;top:15%;text-align:left;max-width:86%}.scene-copy[data-frame="2"] h1,.scene-copy[data-frame="3"] h1,.scene-copy[data-frame="4"] h1{font-size:27px}.scene-copy[data-frame="5"]{left:6%;top:15%;max-width:88%}.scene-copy[data-frame="5"] h1{font-size:24px}.scene-copy[data-frame="6"],.scene-copy[data-frame="7"],.scene-copy[data-frame="8"],.scene-copy[data-frame="9"]{left:6%;top:16%;padding:12px;max-width:88%}.scene-copy[data-frame="6"] h1,.scene-copy[data-frame="7"] h1,.scene-copy[data-frame="8"] h1,.scene-copy[data-frame="9"] h1{font-size:62px}.scene-copy .sub{font-size:14px;max-width:300px;line-height:1.8;margin-top:12px}.information{padding:85px 0 60px}.information-art{height:550px}.information-art img{object-position:center top;opacity:.32}.info-inner{width:88%}.section-head{margin-bottom:34px}.section-head h2{font-size:33px;margin-bottom:18px}.section-head>p:not(.eyebrow){font-size:15px}.service-options{display:flex;flex-direction:column;gap:12px}.service{padding:22px 25px 24px;gap:10px}.service-name{font-size:35px}.service>span:last-child{font-size:14px}.course{font-size:17px}.note{font-size:12px}.selector-row{margin-top:28px;padding-top:26px}.sizes{gap:7px}.sizes span{min-width:44px;padding:9px 11px;min-height:48px}.sizes label:last-child{flex-basis:auto}.store-picker select{font-size:14px}.price-result{flex-direction:column;align-items:stretch;gap:24px;padding:26px 0}.price-result .price{font-size:29px}.price-result>div>p:first-child{font-size:14px}.price-result .button{align-self:flex-start}.price-details summary{font-size:15px}.content-section{padding:68px 6%}.store-grid{grid-template-columns:1fr;gap:42px}.store-grid h3{font-size:26px}.store-grid .phone{font-size:29px}.store-grid .button{margin:0}.work-grid{gap:20px;grid-template-columns:1fr}.work-grid img{height:430px;object-position:center 58%}.work-grid span{font-size:24px}.faq summary{font-size:16px}.faq details p{font-size:14px}.ending{height:100svh;min-height:600px}.ending-copy{top:16%;left:7%;right:7%}.ending-copy h2{font-size:28px}.consult{min-height:1100px;padding-top:290px}.consult>picture{height:720px}.consult>picture img{object-fit:cover;object-position:center top}.consult:after{background:linear-gradient(transparent 12%,#05172b66 24%,#05172b 51%)}.consult-inner{width:88%;max-width:none;padding:40px 0 60px;margin:auto}.consult-inner .section-head h2{font-size:34px}.memo-card{padding:25px 20px}.memo-card dl{font-size:14px;grid-template-columns:62px 1fr;gap:18px 10px}.memo-actions{gap:18px;margin-top:25px}.memo-actions .button{width:100%}dialog{padding:23px 19px}.dialog-header h2{font-size:23px}dialog textarea{font-size:14px;min-height:290px}.dialog-actions{flex-direction:column}.dialog-actions .button{width:100%}footer{padding:40px 6%}.static-flow .film{height:100svh}}
@media(max-height:650px) and (min-width:701px){header{height:76px}.scene-copy{top:20%}.scene-copy h1{font-size:44px}.scene-copy .eyebrow{margin-bottom:10px}.scene-copy .intro{margin:12px 0}.scene-copy[data-frame="3"],.scene-copy[data-frame="4"]{top:22%}.stage-bottom{bottom:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.film{height:100svh}.stage{position:relative}*{transition:none!important;animation:none!important}}
@media(max-width:700px){.scene{object-fit:contain;object-position:center bottom;background:#05182c}.ending picture img{object-fit:contain;object-position:center bottom;background:#05182c}}

@media(max-width:700px){.stage:before{content:"";position:absolute;z-index:1;inset:0;height:100%;pointer-events:none;background:linear-gradient(#05182c 19%,#05182c00 36%)}.stage>picture{z-index:0}.shade{z-index:1}.stage-bottom{z-index:2}.scene-copy[data-frame="6"],.scene-copy[data-frame="7"],.scene-copy[data-frame="8"],.scene-copy[data-frame="9"]{background:none;text-shadow:0 2px 20px #031222}}

@media(max-width:700px){nav a{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}nav a:first-child{max-width:66px}nav{font-size:12px;gap:10px}}

@media(max-width:700px){.ending:after{background:linear-gradient(#05182c 19%,#05182c00 36%,#04132360)}}

/* Copy R2: real course names and official wording, 2026-10-03. */
.scene-copy .detail{font-size:15px;line-height:1.8;margin-top:16px;color:#d2e4ee;max-width:520px}
.scene-copy[data-frame="6"] h1,.scene-copy[data-frame="7"] h1,.scene-copy[data-frame="8"] h1{font-size:clamp(42px,4vw,74px);letter-spacing:.015em}
.scene-copy[data-frame="9"] h1{font-size:clamp(34px,3.2vw,60px);letter-spacing:.01em}
.course-heading span,.ending-copy h2 span,.consult-inner h2 span{display:inline}
.service>span:last-child{max-width:42ch}
.store-grid .store-lead{font-family:Zen,Noto,sans-serif;font-size:22px;line-height:1.7;color:#e4f7ff}
.consult-inner .section-head h2{font-size:clamp(30px,2.3vw,42px);letter-spacing:.015em}
@media(max-width:700px){
 .scene-copy h1{font-size:clamp(27px,8vw,36px)}
 .scene-copy[data-frame="6"] h1,.scene-copy[data-frame="7"] h1,.scene-copy[data-frame="8"] h1{font-size:clamp(30px,8.8vw,37px)}
 .scene-copy[data-frame="9"] h1{font-size:clamp(26px,7.5vw,32px)}
 .scene-copy .sub{font-size:14px;max-width:300px}.scene-copy .detail{font-size:13px;max-width:300px;margin-top:12px}
 .scene-copy .intro{max-width:290px;line-height:1.8;font-size:13px;letter-spacing:.04em}
 .course-heading span,.ending-copy h2 span,.consult-inner h2 span{display:block}
 .section-head .course-heading{font-size:clamp(25px,7.7vw,32px);line-height:1.6;letter-spacing:0}
 .consult-inner .section-head h2{font-size:clamp(24px,6.8vw,28px);line-height:1.65}
 .ending-copy h2{font-size:clamp(25px,7.2vw,31px);line-height:1.6}
 .store-grid .store-lead{font-size:19px}
 header{padding-left:14px;padding-right:14px}.brand img{width:116px}
 nav{gap:9px}nav .nav-cta{min-width:62px}
}

.brand{min-height:44px;display:flex;align-items:center}
@media(max-width:360px){.brand img{width:104px}nav{gap:6px}nav a:first-child{max-width:52px}nav .nav-cta{min-width:62px}}

.intro span+span{margin-left:1.2em}.store-heading span{white-space:nowrap}
@media(max-width:700px){.intro span{display:block;white-space:nowrap}.intro span+span{margin-left:0}.store-heading span{display:block}.store-heading{font-size:clamp(25px,7.7vw,32px)}}

