/* 承認済みの下位プラン。本文は共通、演出と版面だけを段階化する。 */
:is(.plan-lite,.plan-none) .hero .machine-shot{opacity:1;transform:none}
:is(.plan-lite,.plan-none) .hero .panel{height:24%}
:is(.plan-lite,.plan-none) .hero .photo-window::after{inset:24% 0}
:is(.plan-lite,.plan-none) .hero .type{font-size:clamp(48px,14vh,190px);line-height:1;bottom:0;top:auto;display:flex;justify-content:space-between;gap:24px;white-space:nowrap}
:is(.plan-lite,.plan-none) .hero .type-bottom{top:0;bottom:auto}
.plan-none .hero .panel{display:none}
.plan-none .hero .photo-window,.plan-none .hero .photo-window::after{inset:0}
.plan-none .hero .masthead{background:transparent;color:#fff}
.plan-none .hero .photo-caption{top:auto;bottom:10%}
:is(.plan-lite,.plan-none) .intro-wide{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:32px 64px;padding:80px var(--gutter);container-type:normal}
:is(.plan-lite,.plan-none) .intro-wide>.section-number{position:static;grid-column:1;margin:0}
:is(.plan-lite,.plan-none) .intro-wide h2{position:static;font-size:clamp(64px,9vw,144px);line-height:.95;background:none;color:var(--ink);margin:0;width:auto;white-space:normal}
:is(.plan-lite,.plan-none) .intro-wide-photo{position:relative;inset:auto;grid-column:2;grid-row:1/4;height:100%;min-height:460px;margin:0!important}
:is(.plan-lite,.plan-none) .intro-wide-photo img{transform:none;object-position:50% 35%}
:is(.plan-lite,.plan-none) .intro-wide-photo figcaption{background:var(--ink);color:var(--paper);padding:8px 12px;left:0;bottom:0}
:is(.plan-lite,.plan-none) .intro-wide-copy{position:static;width:auto;padding:0;font-size:16px}
.compact-team{grid-column:1/-1;width:100%;padding-top:24px}.compact-team .team-roles{gap:48px}.compact-team .role-marker{display:none}
:is(.plan-lite,.plan-none) .cinema{padding:80px 0}
:is(.plan-lite,.plan-none) .cinema-heading{position:static;height:auto;padding:0 var(--gutter) 40px}
:is(.plan-lite,.plan-none) .cinema-heading h2{font-size:clamp(56px,7vw,112px);white-space:normal}
:is(.plan-lite,.plan-none) .cinema-heading .section-lead{position:static;margin-top:24px;font-size:18px}
:is(.plan-lite,.plan-none) .cinema-viewport{height:auto}
:is(.plan-lite,.plan-none) .cinema-track{display:grid;width:auto;height:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0 var(--gutter);transform:none}
:is(.plan-lite,.plan-none) .cinema-scene{width:auto;height:auto;overflow:visible}
:is(.plan-lite,.plan-none) .cinema-frame{position:static;transform:none;display:flex;flex-direction:column;align-items:stretch;gap:24px;width:auto;height:auto;container-type:normal}
:is(.plan-lite,.plan-none) .cinema-photo{position:static;width:100%;height:auto;aspect-ratio:4/5;margin:0!important}
:is(.plan-lite,.plan-none) .cinema-frame h3{position:static;font-size:clamp(40px,4.2vw,72px);align-self:auto;margin:0;line-height:1}
:is(.plan-lite,.plan-none) .cinema-copy{position:static;align-self:auto;font-size:16px}
:is(.plan-lite,.plan-none) .cinema-count,.plan-lite .assembly-image,:is(.plan-lite,.plan-none) .editorial-action{display:none}
.plan-lite .space-sticky{padding:80px 0;height:auto}
.plan-lite .space-section .section-heading{display:block;margin-bottom:40px}
.plan-lite .space-section .section-number{margin-bottom:24px}
.plan-lite .space-section h2{position:static;transform:none;font-size:clamp(56px,7vw,112px);color:var(--ink);white-space:normal}
.plan-lite .space-section .section-lead{margin-top:24px;max-width:none}
.plan-lite .space-stage{width:calc(100% - 2*var(--gutter));margin:0 auto;height:auto;min-height:0;aspect-ratio:16/9}
.plan-lite .space-stage .space-final{position:static;transform:none;width:100%;height:100%}
:is(.plan-lite,.plan-none) .contact-cross{height:auto;padding:80px var(--gutter)}
:is(.plan-lite,.plan-none) .contact-cross>.section-number{position:static}
:is(.plan-lite,.plan-none) .contact-cross h2{position:static;height:auto;inset:auto;margin-bottom:40px;font-size:clamp(56px,7vw,112px)}
:is(.plan-lite,.plan-none) .cross-row{position:static;font-size:inherit;text-align:left}
:is(.plan-lite,.plan-none) .cross-word{transform:none}
:is(.plan-lite,.plan-none) .contact-cross-copy{position:static;transform:none;width:min(480px,100%);text-align:left}
:is(.plan-lite,.plan-none) .contact-cross-copy .trial-price{justify-content:flex-start}
:is(.plan-lite,.plan-none) .contact-cross-copy .primary-link{margin:0}
:is(.plan-lite,.plan-none) .step-visual{position:relative;top:auto}
:is(.plan-lite,.plan-none) .step-images img:not(:first-child){display:none}
:is(.plan-lite,.plan-none) .training-steps li{min-height:0}
:is(.plan-lite,.plan-none) .motion-toggle{display:none}
.news-inline>h3{font-size:24px;margin-bottom:40px}
.news-inline .interior-section{padding:0 0 48px;background:transparent;color:inherit}
.news-inline .wrap{width:100%}.news-inline .section-number{display:none}.news-inline h2{font-size:40px}.news-inline .reading img{margin-bottom:32px}
.consolidated-photo{margin:0 0 40px}.consolidated-photo img{width:100%;height:auto;display:block}
.plan-none *,.plan-none *::before,.plan-none *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
/* 30万円で残す唯一の演出はポインターのhover。 */
@media(hover:hover) and (pointer:fine){
 .plan-none .press-cta:hover::before,.plan-none .press-link:hover::after,.plan-none .press-cta:hover .press-label,.plan-none .press-link:hover .press-label{transition:transform 300ms cubic-bezier(.22,1,.36,1)!important}
}
.plan-lite .lite-ribbon{display:flex;width:max-content;gap:64px;white-space:nowrap;will-change:transform}
.plan-lite .lite-ribbon>span{flex:none}
.plan-lite .type-strip{overflow:hidden}
@media(max-width:767px){
 .plan-lite .hero .type{font-size:min(17vw,12vh);gap:24px}
 :is(.plan-lite,.plan-none) .intro-wide{display:flex;gap:24px;padding:64px var(--gutter)}
 :is(.plan-lite,.plan-none) .intro-wide>.section-number{order:-2}
 :is(.plan-lite,.plan-none) .intro-wide h2{font-size:21vw;order:-1}
 :is(.plan-lite,.plan-none) .intro-wide-photo{height:auto;min-height:0;aspect-ratio:4/5;width:100%}
 :is(.plan-lite,.plan-none) .intro-wide-photo figcaption{font-size:12px}
 :is(.plan-lite,.plan-none) .intro-wide-copy{padding:0}
 .compact-team{order:3}.compact-team .team-roles{grid-template-columns:1fr;gap:24px}
 :is(.plan-lite,.plan-none) .cinema-track{grid-template-columns:1fr 1fr;gap:40px 20px}
 :is(.plan-lite,.plan-none) .cinema-scene:first-child{grid-column:1/-1}
 :is(.plan-lite,.plan-none) .cinema-scene:first-child .cinema-photo{aspect-ratio:3/2}
 :is(.plan-lite,.plan-none) .cinema-frame h3{font-size:clamp(24px,7vw,40px)}
 :is(.plan-lite,.plan-none) .cinema-heading h2{font-size:16vw}
 :is(.plan-lite,.plan-none) .cinema-photo{aspect-ratio:1/1}
 :is(.plan-lite,.plan-none) .cinema-copy{font-size:16px}
 .plan-lite .space-meta{align-items:flex-start;flex-direction:column;gap:16px}
 .plan-lite .space-section h2{font-size:15vw}
 .plan-lite .space-stage{aspect-ratio:4/3}
 :is(.plan-lite,.plan-none) .contact-cross h2{font-size:15vw}
 .news-inline h2{font-size:32px}
}
/* 集約後も人物を過度に切らず、短いリンクが孤立しない幅にする。 */
:is(.plan-lite,.plan-none) .cinema-photo{aspect-ratio:1/1}
:is(.plan-lite,.plan-none) .cinema-copy .text-link{white-space:normal}
:is(.plan-lite,.plan-none) .contact-cross-copy .trial-price{align-items:center}
@media(max-width:767px){
 :is(.plan-lite,.plan-none) .cinema-scene:first-child .cinema-photo{aspect-ratio:4/5}
 :is(.plan-lite,.plan-none) .cinema-copy .text-link{font-size:14px}
}
/* 詳細リンクを外した一覧でも、承認版の筋力写真の正方形トリミングを保つ。 */
:is(.plan-lite,.plan-none) .editorial-item#strength figure{aspect-ratio:1/1}
