@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');
:root{--ink:#202225;--paper:#f9f8f5;--muted:#686c6c;--accent:#b68b62;--line:#deded9;--dark:#171b1d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}p{font-size:16px;line-height:2;letter-spacing:.035em}h1,h2,h3,p,figure{margin:0}h2{font-size:clamp(27px,3vw,43px);font-weight:500;line-height:1.65;letter-spacing:.055em}h3{font-size:21px;font-weight:500;line-height:1.7}.wrap{width:min(1180px,88%);margin:auto}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.17em;line-height:1.8;color:var(--muted);margin-bottom:24px}.logo{display:flex;flex-direction:column;align-items:center;width:136px;flex-shrink:0}.logo img{filter:brightness(0) invert(1)}.logo span{font-size:10px;letter-spacing:.25em;line-height:1;margin-top:6px;color:#fff}header{height:94px;display:flex;gap:35px;align-items:center;padding:0 5%;background:var(--dark);color:white}header nav{display:flex;gap:30px;margin-left:auto;font-size:14px}.header-book{border:1px solid #969a98;padding:12px 21px;font-size:14px}.menu-toggle{display:none}.mobile-menu[hidden]{display:none}.hero{height:min(780px,85vh);min-height:570px;position:relative;background:var(--dark);color:white;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;filter:brightness(.67)}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#101819a8,transparent 80%)}.hero-content{position:relative;z-index:1;padding:110px 9%}.hero .eyebrow{color:#e4ded5}.hero h1{font-size:clamp(39px,4.7vw,65px);font-weight:500;line-height:1.6;letter-spacing:.08em;margin-bottom:32px}.hero-content>p:last-child{color:#f0eeea;line-height:2.2}.hero-foot{position:absolute;z-index:1;bottom:32px;left:9%;right:9%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.17em}.opening{display:grid;grid-template-columns:1fr 2fr;padding-block:115px}.opening h2{margin-bottom:35px}.opening p+p{margin-top:20px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:48px}.section-heading>p{max-width:410px;color:var(--muted)}.training{padding-bottom:115px}.training-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:55px}.training-grid article:nth-child(2){padding-top:110px}.training-grid img{aspect-ratio:1.23;object-fit:cover;margin-bottom:25px}.training-grid .eyebrow{margin-bottom:10px}.training-grid h3{margin-bottom:12px}.text-link{display:inline-block;padding:10px 0;border-bottom:1px solid #737875;font-size:14px;line-height:1.8;margin-top:12px}.text-link:hover{color:#8d6240;border-color:currentColor}.trainer{background:#e9eae5;padding-block:95px}.trainer-grid{display:grid;grid-template-columns:.8fr 1fr;gap:100px;align-items:center}.trainer figure{max-width:400px}.trainer img{aspect-ratio:.84;object-fit:cover;object-position:center top}.trainer-name{font-size:25px;margin:25px 0 14px}.trainer-name small{font-size:12px;margin-left:18px;letter-spacing:.13em}.credentials{font-size:14px;line-height:1.9;margin-bottom:24px}.space{padding-block:115px}.space-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.space-grid img{aspect-ratio:1.4;object-fit:cover;margin-bottom:24px}.space-grid h3{margin-bottom:12px}.price{background:var(--dark);color:#f5f3ee;padding-block:100px}.price-grid{display:grid;grid-template-columns:1fr .85fr;gap:100px;align-items:center}.price .eyebrow{color:#bdad9b}.price h2{margin-bottom:25px}.terms{padding:28px 0 0;list-style:none;margin:0;font-size:14px;line-height:2.5}.terms li:before{content:'・';color:#b89a7e;margin-right:7px}.price-card{border:1px solid #67716d;padding:38px}.price-card h3{font-size:18px}.price-card>p{font-size:14px}.price-card .amount{font-size:43px;line-height:1.8;letter-spacing:.015em;margin:18px 0 22px}.amount span{font-size:13px;margin:0 8px 0 0}.amount span:last-child{margin:0 0 0 8px}.price-card dl{border-top:1px solid #58605d;border-bottom:1px solid #58605d;padding-block:16px}.price-card dl>div{display:flex;justify-content:space-between;gap:15px;font-size:13px;line-height:2.3}.price-card dd{margin:0}.price-note{font-size:12px!important}.button{display:inline-flex;justify-content:center;align-items:center;padding:17px 25px;border:1px solid var(--ink);font-size:14px;line-height:1.7;transition:.2s;min-height:52px}.button.dark{background:var(--ink);color:white}.price-card .button{border-color:#e2d5c7;background:#e2d5c7;color:#25292a;margin-top:25px;width:100%}.button:hover{background:#8e735c;color:white;border-color:#8e735c}.first{padding-block:115px}.visit-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.visit-grid article{padding:38px 40px}.visit-grid article+article{border-left:1px solid var(--line)}.visit-number{font-size:12px;letter-spacing:.1em;color:#8e735c;display:block;margin-bottom:18px}.visit-grid h3{margin-bottom:18px}.visit-grid p{font-size:14px;margin-bottom:25px}.faq{margin-top:60px;max-width:850px;margin-inline:auto}details{border-bottom:1px solid var(--line)}summary{padding:22px 0;cursor:pointer;font-size:15px;line-height:1.7}details p{font-size:14px;padding:0 0 24px;max-width:780px}.access{background:#eceeeb;padding-block:95px}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.access h2{margin-bottom:30px}.access h3{font-size:19px;margin-bottom:16px}address{font-style:normal;font-size:15px;line-height:2}.stations{max-width:300px;font-size:14px;line-height:2.2;margin-top:24px}.stations>div{display:flex;justify-content:space-between}.stations dd{margin:0}.small{font-size:12px;color:var(--muted);line-height:1.9}.access img{height:530px;object-fit:cover}.story{text-align:center;padding-block:110px}.story h2{margin-bottom:25px}.story p{color:var(--muted)}footer{background:var(--dark);color:#e7e9e6;padding:55px 0 22px}.footer-top{display:grid;grid-template-columns:1.3fr 1fr;gap:50px}.footer-top .eyebrow{color:#a4aba7;margin-bottom:12px}.footer-top>div>a{display:block;font-size:14px;line-height:2.4}.footer-bottom{border-top:1px solid #464c49;margin-top:45px;padding-top:22px;display:flex;justify-content:space-between;font-size:11px;color:#aab0ac}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b68b62;outline-offset:5px}
@media(max-width:760px){.wrap{width:88%}header{height:78px;padding-inline:6%;gap:16px}.logo{width:110px}.logo span{font-size:8px}header nav{display:none}.header-book{margin-left:auto;font-size:11px;padding:10px}.menu-toggle{display:block;border:0;background:none;color:white;font-size:10px;letter-spacing:.08em;padding:12px 0}.mobile-menu{padding:20px 6%;background:var(--dark);color:white;border-top:1px solid #3e4542;display:grid;grid-template-columns:1fr 1fr;gap:6px}.mobile-menu a{padding:12px 0;font-size:14px}.hero{height:660px;min-height:0}.hero>img{object-position:42% 50%}.hero-content{padding:125px 6% 80px}.hero h1{font-size:36px;line-height:1.75;letter-spacing:.045em;margin-bottom:25px}.hero-content>p:last-child{font-size:14px}.hero-foot{left:6%;right:6%;font-size:10px}.eyebrow{font-size:10px;margin-bottom:20px}.opening{display:block;padding-block:65px}.opening h2{margin-bottom:25px}.opening p{font-size:14px;line-height:2.1}.opening br{display:none}.opening h2 br{display:block}.section-heading{display:block;margin-bottom:30px}.section-heading>p{font-size:14px;margin-top:24px}.training{padding-bottom:65px}.training-grid{display:block}.training-grid article:nth-child(2){padding-top:45px}.training-grid img{margin-bottom:20px}.training-grid p{font-size:14px}.training-grid h3{font-size:20px}.trainer{padding-block:60px}.trainer-grid{display:flex;flex-direction:column;gap:36px;align-items:stretch}.trainer figure{width:74%;max-width:330px;margin:auto}.trainer-name{font-size:24px}.trainer p{font-size:14px}.trainer .trainer-name{font-size:24px}.space{padding-block:65px}.space-grid{display:block}.space-grid article+article{margin-top:38px}.space-grid h3{font-size:20px}.space-grid p{font-size:14px}.price{padding-block:65px}.price-grid{display:block}.price-grid>div>p{font-size:14px}.price-card{padding:27px 22px;margin-top:35px}.price-card .amount{font-size:40px}.price-card dl>div{font-size:12px}.first{padding-block:65px}.visit-grid{display:block}.visit-grid article{padding:30px 0}.visit-grid article+article{border-left:0;border-top:1px solid var(--line)}.visit-grid .button{width:100%}.faq{margin-top:35px}summary{font-size:14px}.access{padding-block:60px}.access-grid{display:block}.access img{height:340px;margin-top:35px}.story{padding-block:65px}.story p{font-size:14px}.footer-top{grid-template-columns:1fr 1fr;gap:30px}.footer-top>.logo{grid-column:1/-1}.footer-top>div>a{font-size:12px}.footer-bottom{font-size:10px;gap:20px}h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.space-grid img[src$="/saragura-salad.webp"]{object-position:50% 100%}

.hero h1>span{white-space:nowrap}@media(max-width:760px){.hero h1{font-size:clamp(27px,7.65vw,42px);letter-spacing:.035em}}

.bright-hero{background:#f1f0eb;color:var(--ink);height:700px;min-height:0}.bright-hero>img{left:auto;right:0;top:0;width:64%;height:100%;object-fit:cover;object-position:47% 50%;filter:none}.bright-hero:after{background:linear-gradient(90deg,#f1f0eb 0%,#f1f0eb 29%,#f1f0ebcc 38%,#f1f0eb00 51%);pointer-events:none}.bright-hero .hero-content{padding:135px 6%;position:relative;z-index:1}.bright-hero h1{font-size:clamp(35px,3.65vw,53px);letter-spacing:.02em}.bright-hero .eyebrow{color:#676b66}.bright-hero .hero-content>p:last-child{color:#424945;font-size:15px}.bright-hero .hero-foot{left:6%;right:6%;color:#454d47}.bright-hero .hero-foot>span:last-child{background:#f1f0ebdf;padding:5px 9px}@media(max-width:760px){.bright-hero{height:auto;display:flex;flex-direction:column;overflow:hidden}.bright-hero>img{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1.3;object-position:45% 45%;filter:none}.bright-hero:after{display:none}.bright-hero .hero-content{padding:32px 6% 65px}.bright-hero h1{font-size:clamp(27px,7.65vw,42px);line-height:1.6;margin-bottom:20px}.bright-hero .eyebrow{margin-bottom:15px}.bright-hero .hero-content>p:last-child{font-size:14px}.bright-hero .hero-foot{bottom:20px;font-size:9px}.bright-hero .hero-foot>span:last-child{padding:0;background:none}}

.training-grid img[src="assets/pp-training-wide.webp"]{aspect-ratio:auto;height:auto;object-fit:contain}

.bright-hero>img{height:auto;top:50%;transform:translateY(-50%);object-fit:contain;object-position:center}@media(max-width:760px){.bright-hero>img{top:auto;transform:none;aspect-ratio:auto;height:auto;object-fit:contain}}

.bright-hero:after{display:none}.bright-hero>img{width:60%}.bright-hero h1{font-size:clamp(31px,3.25vw,47px)}@media(max-width:760px){.bright-hero>img{width:100%}.bright-hero h1{font-size:clamp(27px,7.65vw,42px)}}

.access-map{display:block;width:100%;height:530px;border:0;background:#e0e4df}@media(max-width:760px){.access-map{height:350px;margin-top:35px}}

/* Keep the FAQ compact and readable on every screen. */
.faq h2{font-size:clamp(22px,2.2vw,28px);margin-bottom:18px}.faq summary{overflow-wrap:anywhere}.faq details p{overflow-wrap:anywhere}

/* Emphasize only the guide text while keeping its existing line box and spacing. */
.text-link.powerplate-guide-link{font-size:20px;font-weight:700;line-height:25.2px}@media(max-width:760px){.text-link.powerplate-guide-link{font-size:18px}}

.text-link.powerplate-guide-link{border-bottom-color:var(--accent)}

/* Clarify what membership includes without adding another card. */
.membership-includes{list-style:none;padding:0;margin:18px 0 0;font-size:15px;line-height:1.85}.membership-includes li{position:relative;padding-left:16px;margin-top:10px}.membership-includes li:before{content:"・";position:absolute;left:0;color:#e2d5c7}.membership-includes small{display:block;font-size:12px;line-height:1.7;color:#d4dad7}.membership-note{margin-top:14px;font-size:12px!important;line-height:1.8}
