@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--navy:#07111f;--blue:#0a47ff;--orange:#ff5a1f;--ice:#f3f6f7;--line:#bec6cd;--white:#fff;--display:'Bebas Neue',sans-serif;--jp:'Noto Sans JP',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--ice);color:var(--navy);font:16px/1.8 var(--jp);overflow-x:hidden}button,a,summary{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.topbar{position:absolute;z-index:10;top:0;left:0;right:0;height:94px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;color:white;border-bottom:1px solid #ffffff38}.logo{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;align-items:center;gap:0 10px;line-height:1}.logo>span{grid-row:1/3;width:42px;height:42px;border:2px solid var(--orange);display:grid;place-items:center;font:29px var(--display);color:var(--orange);transform:rotate(-6deg)}.logo b{font:27px var(--display);letter-spacing:2px}.logo small{font-size:9px;letter-spacing:2px;color:#b7c6d9}.topbar nav{display:flex;gap:42px;font:17px var(--display);letter-spacing:2px}.topbar nav a{position:relative}.topbar nav a:after{content:'';height:2px;background:var(--orange);position:absolute;left:0;right:100%;bottom:-8px;transition:.25s}.topbar nav a:hover:after{right:0}.outline-btn{border:1px solid #ffffff88;background:#07111f88;color:white;padding:13px 18px;display:flex;gap:18px;align-items:center}.outline-btn i{color:var(--orange);font-size:20px}.hero{position:relative;height:min(900px,100vh);min-height:700px;background:var(--navy);color:white;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,#06101ff2 0%,#07111fb8 28%,transparent 64%),linear-gradient(0deg,#07111fa6 0%,transparent 40%)}.hero-grid{position:relative;height:100%;z-index:1;display:grid;grid-template-columns:1fr 160px;padding:150px 5vw 80px}.hero-copy{align-self:center;max-width:700px}.kicker,.section-no{font-size:12px;font-weight:700;letter-spacing:2.4px;text-transform:uppercase}.kicker{color:#b6c5d9;margin:0 0 22px}.hero h1{font:clamp(92px,13vw,190px)/.78 var(--display);letter-spacing:-3px;margin:0;text-transform:uppercase}.hero h1 em{font-style:normal;color:transparent;-webkit-text-stroke:2px var(--orange)}.lead{margin:34px 0 28px;padding-left:18px;border-left:4px solid var(--orange);font-weight:500;line-height:2;color:#e7ebef}.orange-btn{border:0;background:var(--orange);color:var(--navy);font-weight:800;padding:18px 22px;display:inline-flex;min-width:270px;justify-content:space-between;align-items:center;transition:.2s}.orange-btn:hover{background:#ff7545;transform:translateY(-2px)}.orange-btn span{font-size:26px}.hero-side{border-left:1px solid #ffffff45;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:80px}.hero-side>span{font:38px var(--display);writing-mode:vertical-rl;color:var(--orange);letter-spacing:4px}.hero-side p{font:18px var(--display);letter-spacing:3px;writing-mode:vertical-rl}.scroll{position:absolute;z-index:2;left:5vw;bottom:28px;font:12px var(--display);letter-spacing:2px}.scroll span{color:var(--orange);font-size:18px;margin-left:15px}.marquee{background:var(--orange);overflow:hidden;color:var(--navy);transform:rotate(-1deg) scale(1.02);position:relative;z-index:3}.marquee div{font:32px var(--display);letter-spacing:2px;white-space:nowrap;padding:18px 0;animation:slide 18s linear infinite}.marquee i{font-size:12px;margin:0 27px;vertical-align:middle}@keyframes slide{to{transform:translateX(-35%)}}.wrap{width:min(1200px,90vw);margin:auto}.classes{padding:125px 0 100px}.section-top{display:grid;grid-template-columns:180px 1fr;gap:35px;margin-bottom:68px}.section-no{color:var(--orange);margin:7px 0}.section-top h2,.method h2,.trial h2,.faq h2{font-size:clamp(38px,5vw,70px);line-height:1.25;letter-spacing:-3px;margin:0 0 22px}.section-top>div>p{max-width:600px;color:#5b6570;margin:0}.class-list{border-top:2px solid var(--navy)}.class-list article{display:grid;grid-template-columns:1.1fr 1.2fr .65fr;gap:40px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line);transition:.25s}.class-list article:hover{padding-left:20px;background:white}.class-name{display:flex;align-items:center;gap:25px}.class-name>span{font:18px var(--display);color:var(--orange)}.class-name h3{font:clamp(35px,4vw,58px) var(--display);letter-spacing:1px;margin:0}.class-list article>p{font-size:14px;line-height:1.9;color:#57626c}.class-meta{display:flex;flex-direction:column;gap:5px;align-items:flex-end;font:14px var(--display);letter-spacing:1px}.class-meta span:first-child{color:var(--blue);font-family:var(--jp);font-size:12px;font-weight:700}.method{background:var(--navy);color:white;padding:110px 0;position:relative}.method:after{content:'R';position:absolute;left:-30px;bottom:-150px;font:480px var(--display);color:#0c2035;line-height:1;pointer-events:none}.method-grid{position:relative;z-index:1;display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.method-title h2 span{color:var(--orange)}.steps{border-top:1px solid #3d4957}.steps article{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:29px 0;border-bottom:1px solid #3d4957}.steps b{font:28px var(--display);color:var(--orange)}.steps h3{font-size:18px;margin:0 0 9px}.steps p{color:#aeb9c5;font-size:14px;line-height:1.9;margin:0}.trial{padding:110px 0;display:grid;grid-template-columns:1.25fr .75fr;min-height:610px}.trial-card{background:var(--blue);color:white;padding:66px}.trial-card .section-no{color:#a9c0ff}.trial-card h2{margin-top:20px}.trial-card>p:not(.section-no){color:#ced8ff}.trial-card .orange-btn{margin-top:20px}.trial-notes{display:flex;gap:24px;flex-wrap:wrap;margin-top:25px;font-size:12px;font-weight:700}.trial-word{background:var(--orange);display:grid;place-items:center;text-align:center;font:130px/.75 var(--display);color:var(--navy);letter-spacing:-5px}.faq{padding:60px 0 120px;display:grid;grid-template-columns:.7fr 1.3fr;gap:90px}.faq-list{border-top:2px solid var(--navy)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:20px;padding:25px 0;font-weight:700;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--orange);font-size:24px;transition:.2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{color:#5d6873;font-size:14px;max-width:650px;padding:0 36px 25px 0;margin:0}footer{background:var(--navy);color:white;padding:55px 5vw;display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:25px}.footer-logo{font:52px var(--display);letter-spacing:3px}.footer-logo span{display:block;color:var(--orange);font-size:16px;letter-spacing:6px}footer p{font:24px var(--display);letter-spacing:3px;margin:0}footer small{font-size:10px;color:#8492a0}.mobile-cta{display:none}dialog{border:0;background:var(--ice);color:var(--navy);width:min(530px,calc(100% - 32px));padding:50px;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#020711d9;backdrop-filter:blur(7px)}.dialog-close{position:absolute;right:17px;top:12px;border:0;background:none;font-size:32px}.dialog-back{width:100%;margin-top:24px}dialog h2{font-size:35px;line-height:1.35;margin:15px 0}dialog>p:not(.section-no){color:#5b6570;font-size:14px}
@media(max-width:850px){html{scroll-padding-top:70px}.topbar{height:72px;padding:0 5vw}.topbar nav,.topbar>.outline-btn{display:none}.logo b{font-size:24px}.hero{height:830px;min-height:0}.hero-photo{object-position:60% center}.hero-wash{background:linear-gradient(0deg,#06101ff5 0%,#07111f99 65%,#07111fa8)}.hero-grid{grid-template-columns:1fr;padding:120px 6vw 75px}.hero-copy{align-self:end}.hero h1{font-size:clamp(83px,26vw,135px)}.lead{font-size:14px}.hero-side{display:none}.scroll{bottom:18px}.marquee div{font-size:25px;padding:14px 0}.classes{padding:80px 0}.section-top{grid-template-columns:1fr;gap:12px;margin-bottom:40px}.section-top h2,.method h2,.trial h2,.faq h2{font-size:40px;letter-spacing:-2px}.class-list article{grid-template-columns:1fr;padding:26px 0;gap:12px}.class-list article:hover{padding-left:0}.class-list article>p{margin:0}.class-meta{align-items:flex-start;flex-direction:row;justify-content:space-between}.method{padding:75px 0}.method-grid{grid-template-columns:1fr;gap:35px}.method:after{font-size:330px}.trial{grid-template-columns:1fr;padding:70px 0}.trial-card{padding:38px 27px}.trial-word{min-height:240px;font-size:100px}.faq{grid-template-columns:1fr;gap:30px;padding:30px 0 110px}footer{grid-template-columns:1fr;padding-bottom:105px}.mobile-cta{position:fixed;z-index:20;display:flex;justify-content:space-between;align-items:center;left:14px;right:14px;bottom:14px;width:calc(100% - 28px);border:0;background:var(--orange);color:var(--navy);padding:17px 20px;font-weight:800;box-shadow:0 8px 30px #0006}.mobile-cta span{font-size:22px}dialog{padding:38px 27px}.orange-btn{min-width:250px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}*{transition:none!important}}
