:root{--black:#101010;--surface:#181818;--white:#f3f3f1;--muted:#b5b5b2;--gold:#d1b779;--line:#373634;--serif:'Noto Serif JP','Yu Mincho',serif;--sans:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif;--display:'Barlow Condensed',Arial,sans-serif}
*{box-sizing:border-box;letter-spacing:0}html{scroll-behavior:smooth;scroll-padding-top:100px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--black) url('./assets/bg/leather-primary.webp') center top/1600px auto;color:var(--white);font-family:var(--sans);font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure,dl,dd{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;height:auto}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold);outline-offset:5px}::selection{background:var(--gold);color:#101010}[hidden]{display:none!important}.container{width:min(1200px,calc(100% - 96px));margin-inline:auto}.section{padding:104px 0}.eyebrow{font-family:var(--display);font-size:15px;font-weight:600;color:var(--gold);line-height:1.4}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:56px}h2{font-family:var(--serif);font-size:40px;font-weight:500;line-height:1.65}.eyebrow+h2{margin-top:18px}.section-intro{max-width:410px;color:var(--muted);font-size:14px;line-height:2.1}.gold-text{color:var(--gold)}.fine-print,.plan-notes{color:#aaa9a5;font-size:11px;line-height:1.9}.button{min-height:56px;padding:15px 26px;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;font-size:14px;font-weight:600;line-height:1.6;border:1px solid transparent;border-radius:5px;transition:filter .2s,background .2s,transform .12s ease,box-shadow .12s ease;white-space:normal;text-align:left}.button span,.text-link span{font-size:22px;line-height:1;flex-shrink:0}.button-gold{color:#17150e;background:linear-gradient(110deg,#bfa369,#eddaac 48%,#c7ab6e);border-color:#e0c793;box-shadow:inset 0 1px #fff6}.button-silver{color:#171717;background:linear-gradient(110deg,#aeb0b2,#edeeee 55%,#b6b7b9);border-color:#c4c5c6}.button-outline{border-color:#76674b;color:#e2cfaa;background:#ffffff03}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;font-size:13px;font-weight:500;border-bottom:1px solid #736447;padding-bottom:8px;color:#e2d1ad}.text-link:hover{color:white}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:#fff;color:#000;padding:10px}.skip-link:focus{top:10px}
.header{height:84px;position:sticky;top:0;z-index:30;background:#111111f5;border-bottom:1px solid #c9b48033}.header-inner{height:100%;width:min(1380px,calc(100% - 80px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:block;flex-shrink:0;width:168px}.brand img{height:24px;object-fit:contain}.brand>span{display:block;text-align:center;font-family:var(--display);font-size:13px;color:#bcbcbc;margin-top:3px}.desktop-nav{display:flex;gap:30px;font-size:12px;color:#d0cfcc}.desktop-nav a:hover{color:var(--gold)}.header-cta{min-height:44px;padding:10px 18px;font-size:12px;gap:24px}
.hero{position:relative;isolation:isolate;min-height:650px;height:min(790px,calc(100svh - 174px));display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid #7e704e}.hero-media,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-media{background:#101010 url('./assets/fv/hero-poster.webp') center/cover}.hero-media video{width:100%;height:100%;object-fit:cover;object-position:center 42%;opacity:.64}.hero-shade{z-index:-1;background:linear-gradient(180deg,#10101052 0%,#10101044 25%,#101010b0 62%,#101010fa 100%)}.hero-content{text-align:center;padding:36px 0 72px}.hero-eyebrow{font-size:12px;color:#e1cfaa;display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:28px}.hero-eyebrow>span{width:24px;height:1px;background:var(--gold)}h1{max-width:820px;margin:0 auto;line-height:1}h1>img{width:100%;height:auto;filter:drop-shadow(0 3px 4px #0009)}h1>span{display:block;font-family:var(--display);font-size:56px;font-weight:500;color:#e7e7e7;line-height:1.15;margin-top:8px}h1 em{font-style:normal;color:var(--gold)}.hero-copy{font-family:var(--serif);font-size:29px;line-height:1.7;margin-top:26px;text-shadow:0 2px 8px #000}.hero-description{font-size:13px;line-height:1.9;color:#c9c8c4;margin-top:16px}.hero-event{display:flex;align-items:center;justify-content:center;gap:24px;margin:26px 0}.hero-date{font-family:var(--display);font-size:42px;font-weight:600;line-height:1.1}.hero-date>span{color:var(--gold)}.hero-date small{font-size:17px;font-weight:500}.hero-venue{text-align:left;line-height:1.65;font-size:14px;padding-left:24px;border-left:1px solid #8b806955}.hero-venue>span{display:block;color:#bcbcb9;font-size:11px}.hero-actions{display:flex;justify-content:center;align-items:center;gap:30px}.hero-actions>.button{min-width:290px}.hero-bottom{position:absolute;bottom:20px;left:40px;right:40px;display:flex;justify-content:space-between;align-items:center;color:#aaa9a6;font:12px var(--display)}.hero-bottom>div{display:flex;gap:15px;align-items:center}.footage-caption{font:10px var(--sans)}#video-toggle{border:1px solid #777;background:#1118;color:#ddd;font:10px var(--sans);padding:7px 10px;border-radius:2px;min-width:84px}.mobile-break{display:none}
.scale-band{padding:36px 0 22px;background:#151515eb;border-bottom:1px solid var(--line)}.scale-grid{display:grid;grid-template-columns:.8fr 1fr 1.35fr 1fr;align-items:center}.scale-intro>p{font-family:var(--serif);font-size:17px;line-height:1.7;margin-top:8px}.stat{border-left:1px solid var(--line);padding-left:35px}.stat-label{font-size:11px;color:#d0cdc5;line-height:1.5}.stat-number{font-family:var(--display);font-size:58px;font-weight:500;line-height:1.2;color:#e4d2a9}.stat-number span{font-family:var(--sans);font-size:13px;margin-left:6px;color:#d0c6ae}.stat-number-range{font-size:49px}.stat>small{font-size:10px;color:#999}.scale-note{margin-top:22px;text-align:right;font-size:10px}
.value-section{background:#1111118f}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #6e6049;border-bottom:1px solid var(--line)}.value-grid article{padding:32px 28px 34px;position:relative}.value-grid article:first-child{padding-left:0}.value-grid article:last-child{padding-right:0}.value-grid article+article{border-left:1px solid var(--line)}.index-number{font-family:var(--display);font-size:48px;color:#9e906e;line-height:1;display:block;margin-bottom:24px}.value-grid .eyebrow{font-size:13px}.value-grid h3{font-family:var(--serif);font-size:21px;font-weight:500;margin:10px 0 16px}.value-grid article>p:last-child{font-size:13px;color:var(--muted);line-height:2}
.experience-section{background:#191919}.feature-story{display:grid;grid-template-columns:1.25fr 1fr;gap:58px;align-items:center}.feature-story figure{position:relative}.feature-story img{aspect-ratio:824/486;object-fit:cover}.feature-story figcaption{position:absolute;bottom:0;right:0;padding:4px 10px;background:#0a0a0ac9;color:#c8c7c4;font-size:10px}.feature-no{font-family:var(--display);font-size:15px;color:var(--gold)}.feature-copy h3{font-family:var(--serif);font-size:28px;font-weight:500;line-height:1.7;margin:14px 0 22px}.feature-copy>p{font-size:13px;color:var(--muted);margin-top:12px;line-height:2}.feature-copy .text-link{margin-top:24px}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:56px 0 28px}.experience-grid figure{position:relative;margin-bottom:24px;overflow:hidden}.experience-grid img{aspect-ratio:3/2;object-fit:cover;transition:transform .6s}.experience-grid article:hover img{transform:scale(1.025)}.experience-grid figcaption{position:absolute;bottom:0;right:0;background:#111c;font-size:10px;padding:3px 8px;color:#ddd}.experience-grid .eyebrow{font-size:13px}.experience-grid h3{font-family:var(--serif);font-size:18px;font-weight:500;margin:10px 0 12px}.experience-grid article>p:last-child{font-size:13px;color:var(--muted);line-height:2}
.invitation-band{padding:40px 0;border-block:1px solid #7b6b4c;background:#111 url('./assets/bg/leather-primary.webp') center/cover}.invitation-band>.container{display:flex;justify-content:space-between;align-items:center;gap:30px}.invitation-band p{font-family:var(--serif);font-size:25px}.invitation-band p>span{color:var(--gold)}.invitation-band .button{font-size:12px}
.plans-section{background:#11111199}.plan-group-title{font-size:16px;font-weight:500;margin-bottom:24px;display:flex;justify-content:space-between;align-items:center;gap:16px}.plan-group-title>span{font-family:var(--display);color:#b9a986;font-size:14px}.collab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.plan-card{background:#1a1a1af5;border:1px solid #64615c;border-top:3px solid #a6a5a1;padding:28px;display:flex;flex-direction:column;position:relative;border-radius:2px}.plan-card.platinum{background:linear-gradient(135deg,#353638ee,#1b1b1bf7 65%);border-color:#b7b9bb}.plan-card.gold{border-color:#9a855b}.plan-card.silver{border-color:#646464}.plan-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-family:var(--display);font-size:23px;color:#dddddc;line-height:1.2}.gold .plan-top{color:var(--gold)}.plan-top>small{font-family:var(--sans);font-size:10px;font-weight:400;color:#c8c4bb;border:1px solid #ffffff30;padding:5px 8px;white-space:nowrap}.plan-card h4{font-size:12px;color:#b6b6b4;font-weight:400;margin-top:7px}.plan-tagline{font-size:12px;margin-top:22px;color:#cececa;min-height:46px}.price{font-family:var(--display);font-weight:500;font-size:68px;line-height:1.2;margin-top:6px}.price>span{font-family:var(--sans);font-size:17px;margin-left:8px}.plan-allocation{font-size:12px;color:#d3c19b;border-block:1px solid #4c4537;padding:14px 0;margin-top:18px}.plan-card ul{padding:0;margin:24px 0 30px;list-style:none;flex:1}.plan-card li{font-size:11px;color:#c3c3bf;padding-left:17px;position:relative;line-height:1.8;margin-bottom:11px}.plan-card li::before{content:'✓';position:absolute;left:0;color:#cbb784;font-size:12px}.plan-card .button{padding:13px 15px;font-size:12px;min-height:48px;gap:10px}.secondary-title{margin-top:48px}.entry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.entry-grid article{border:1px solid var(--line);padding:25px;background:#1b1b1bb3}.entry-grid .entry-combo{border-color:#746345}.entry-plan-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.entry-plan-top h4{font-size:17px;font-weight:500}.entry-plan-top>span{font-size:10px;color:#baa77d}.entry-description{font-size:11px;color:var(--muted);margin-top:15px;min-height:40px}.entry-price{font-family:var(--display);font-size:50px;line-height:1.2;margin-top:12px}.entry-price>span{font-family:var(--sans);font-size:12px;margin-left:8px}.entry-detail{font-size:10px;color:#aaa9a5;margin:16px 0 24px;min-height:38px}.entry-grid .text-link{display:flex;font-size:12px}.plan-notes{margin:24px 0}.plan-notes p+p{margin-top:5px}.comparison{margin-top:32px;border-block:1px solid #5d513d}summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:13px;padding:22px 0}summary::-webkit-details-marker{display:none}summary>span{color:var(--gold);font-size:21px;flex-shrink:0;transition:transform .2s}details[open]>summary>span{transform:rotate(45deg)}.table-scroll{overflow:auto;margin-bottom:26px}table{border-collapse:collapse;width:100%;min-width:650px;text-align:left;font-size:12px;line-height:1.8}caption{text-align:left;font-size:11px;color:var(--muted);padding:8px 0}th,td{padding:18px;border:1px solid var(--line);width:25%;vertical-align:top}thead{background:#2b2925;color:#decca6}tbody th{font-weight:500}td{color:#bbb}
.overview-section{background:#1c1c1c;border-top:1px solid var(--line)}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.overview-grid h2{font-size:30px}.venue-photo{margin-top:32px}.venue-photo img{aspect-ratio:16/9;object-fit:cover}.venue-photo figcaption{color:#a9a9a5;font:11px var(--display);padding-top:10px}.overview-list>div{display:grid;grid-template-columns:100px 1fr;gap:20px;padding:21px 0;border-bottom:1px solid #3e3d39;font-size:12px}.overview-list>div:first-child{border-top:1px solid #6d624e}.overview-list dt{color:#b4a586}.overview-list dd{color:#d8d7d3}.overview-list small{display:block;font-size:11px;color:#aaa}.process-section{background:#111111c0}.process-section h2{font-size:32px}.process-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:42px 0 0}.process-grid li{border-top:1px solid #6d5d40;padding-top:20px}.process-grid li>span{font-family:var(--display);font-size:28px;color:var(--gold)}.process-grid h3{font-size:16px;font-weight:500;margin:12px 0}.process-grid p{font-size:12px;color:var(--muted)}.faq-section{background:#131313}.faq-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:60px}.faq-grid h2{font-size:28px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details p{padding:0 28px 24px 0;color:var(--muted);font-size:12px;line-height:2}.faq-list summary{font-size:13px}
.contact-section{padding:94px 0;background:#101010 url('./assets/bg/leather-primary.webp') center/cover;border-block:1px solid #6b5b3e;text-align:center;position:relative}.contact-inner{position:relative}.contact-inner::before,.contact-inner::after{content:'';position:absolute;top:8px;width:45px;height:45px;border-top:1px solid #88734d}.contact-inner::before{left:0;border-left:1px solid #88734d}.contact-inner::after{right:0;border-right:1px solid #88734d}.contact-section h2{font-size:44px;color:#e0d1b0;line-height:1.6;margin:22px 0}.contact-lead{font-size:14px;color:#c3c0b9;line-height:2}.contact-button{margin-top:30px;min-width:360px}.contact-pending{margin:30px auto 0;padding:17px 20px;border:1px solid #7f6e4d;width:fit-content;max-width:100%;font-size:13px;color:#d7c6a5;background:#13131380}.contact-pending p+p{font-size:11px;color:#b7b3a9;margin-top:4px}.selected-plan{font-size:13px;color:var(--gold);margin-top:24px}.contact-date{font-family:var(--sans);font-size:11px;color:#a8a49d;margin-top:28px}.contact-date>span{padding:0 10px;color:#817559}footer{background:#101010;padding:40px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-inner>div{font-size:10px;color:#adaba4}.footer-inner small{font-size:10px;color:#84847f}.back-top{font-size:11px;color:#aaa}.mobile-cta{display:none}
@media(min-width:1600px){.hero{height:790px}.hero-content{padding-bottom:72px}h1{max-width:960px}h1>span{font-size:64px}.hero-copy{font-size:32px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.header-inner{width:calc(100% - 48px)}.desktop-nav{gap:18px;font-size:11px}.brand{width:145px}.header-cta{font-size:11px}.section-heading{gap:32px}h2{font-size:34px}.section-intro{max-width:350px;font-size:13px}.stat{padding-left:22px}.stat-number{font-size:48px}.stat-number-range{font-size:39px}.stat-label{font-size:10px}.plan-card{padding:22px}.plan-top{font-size:21px}.entry-grid article{padding:20px}.entry-plan-top{align-items:start;flex-direction:column;gap:3px}.feature-story{gap:35px}.overview-grid{gap:40px}.value-grid h3{font-size:18px}.experience-grid h3{font-size:16px}}
@media(max-width:800px){.header{height:72px}.desktop-nav{display:none}.hero{height:auto;min-height:660px}.hero-content{padding:45px 0 78px}h1{max-width:620px}h1>span{font-size:44px}.hero-copy{font-size:25px}.hero-description{font-size:12px}.hero-bottom{left:24px;right:24px}.scale-grid{grid-template-columns:repeat(3,1fr);gap:0}.scale-intro{display:none}.stat:first-of-type{border:0}.stat{padding-inline:18px}.stat-number{font-size:44px}.stat-number-range{font-size:34px}.stat-label{min-height:30px}.scale-note{text-align:left}.section{padding:76px 0}.section-heading{display:block;margin-bottom:38px}.section-intro{margin-top:24px;max-width:550px}h2{font-size:32px}.value-grid{grid-template-columns:1fr}.value-grid article,.value-grid article:first-child,.value-grid article:last-child{padding:26px 0 26px 72px;border-left:0}.value-grid article+article{border-top:1px solid var(--line)}.index-number{position:absolute;left:0;top:28px;font-size:40px}.value-grid h3{font-size:20px}.value-grid article>p:last-child{max-width:550px}.feature-story{grid-template-columns:1fr;gap:28px}.feature-copy h3{font-size:27px}.feature-copy{max-width:580px}.experience-grid{gap:20px}.experience-grid h3{font-size:16px}.experience-grid article>p:last-child{font-size:12px}.invitation-band>.container{flex-direction:column;text-align:center;gap:20px}.collab-grid{grid-template-columns:1fr;gap:20px}.plan-card{display:grid;grid-template-columns:1fr 1.1fr;column-gap:32px;padding:28px}.plan-top,.plan-card h4,.plan-tagline,.price,.plan-allocation{grid-column:1}.plan-card ul{grid-column:2;grid-row:1/6;margin:0;align-self:center}.plan-card .button{grid-column:2;grid-row:6;margin-top:15px}.plan-allocation{margin-top:14px}.price{font-size:58px}.plan-tagline{min-height:0;margin-top:18px}.entry-grid{grid-template-columns:1fr;gap:0;border-top:1px solid var(--line)}.entry-grid article{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;padding:24px 0;border:0;border-bottom:1px solid var(--line);background:transparent}.entry-plan-top,.entry-description{grid-column:1}.entry-plan-top{flex-direction:row;align-items:center}.entry-price{grid-column:2;grid-row:1/3;margin:0;text-align:right}.entry-detail{grid-column:1;min-height:0;margin-bottom:0}.entry-grid .text-link{grid-column:2;grid-row:3;align-self:end;font-size:11px}.entry-description{min-height:0}.overview-grid{grid-template-columns:1fr;gap:34px}.venue-photo{max-width:580px}.overview-list>div{grid-template-columns:120px 1fr}.process-grid{grid-template-columns:repeat(2,1fr);gap:24px}.faq-section{padding-top:0}.faq-grid{grid-template-columns:1fr;gap:28px}.contact-section h2{font-size:36px}.contact-section{padding:76px 0}.footer-inner{flex-wrap:wrap}.back-top{margin-left:auto}}
@media(max-width:540px){html{scroll-padding-top:82px}.container{width:calc(100% - 40px)}body{font-size:14px}.header{height:66px}.header-inner{width:calc(100% - 32px);gap:12px}.brand{width:128px}.brand img{height:19px}.brand>span{font-size:11px}.header-cta{min-height:38px;font-size:10px;padding:8px 10px;gap:12px}.header-cta>span{font-size:17px}.hero{min-height:610px}.hero-content{padding:34px 0 75px}.hero-eyebrow{font-size:10px;margin-bottom:26px}h1>span{font-size:33px;margin-top:10px}.hero-copy{font-size:17px;margin-top:24px;line-height:1.75}.mobile-break{display:block}.hero-description{font-size:11px;line-height:2;margin-top:16px}.hero-event{gap:16px;margin:24px 0}.hero-date{font-size:33px}.hero-date small{font-size:12px}.hero-venue{font-size:10px;padding-left:16px;line-height:1.8}.hero-venue>span{font-size:9px}.hero-actions{flex-direction:column;gap:16px}.hero-actions>.button{min-width:0;width:min(100%,340px);min-height:52px;padding:14px 20px;font-size:13px}.hero-actions>.text-link{font-size:11px;padding-bottom:4px}.hero-actions>.text-link span{font-size:16px}.hero-bottom{bottom:16px;left:20px;right:20px;font-size:9px}.hero-bottom>span{max-width:150px}.hero-bottom>div{gap:8px}.footage-caption{font-size:8px}#video-toggle{font-size:9px;padding:6px 8px;min-width:74px}.hero-media video{object-position:center;opacity:.6}.scale-band{padding:26px 0 20px}.scale-grid{grid-template-columns:1fr 1.25fr 1fr}.stat{padding-inline:10px}.stat:first-of-type{padding-left:0}.stat:last-child{padding-right:0}.stat-label{font-size:8px;line-height:1.6;min-height:28px}.stat-number{font-size:35px}.stat-number-range{font-size:27px;padding-top:6px}.stat-number>span{font-size:9px;margin-left:3px}.stat>small{font-size:8px;line-height:1.5;display:block;margin-top:5px}.scale-note{font-size:9px;margin-top:18px}.section{padding:62px 0}.eyebrow{font-size:13px}h2{font-size:28px}.eyebrow+h2{margin-top:14px}.section-intro{font-size:12px;margin-top:20px}.section-heading{margin-bottom:30px}.value-grid article,.value-grid article:first-child,.value-grid article:last-child{padding-left:53px}.value-grid h3{font-size:18px}.value-grid .eyebrow{font-size:11px}.index-number{font-size:35px}.value-grid article>p:last-child{font-size:12px}.feature-copy h3{font-size:25px}.feature-copy>p{font-size:12px}.experience-grid{grid-template-columns:1fr;gap:34px;margin-top:40px}.experience-grid figure{margin-bottom:18px}.experience-grid h3{font-size:20px}.experience-grid article>p:last-child{font-size:12px}.experience-grid img{aspect-ratio:3/2}.invitation-band{padding:32px 0}.invitation-band p{font-size:23px}.invitation-band .button{width:100%;font-size:11px;padding:13px 16px;gap:15px;min-height:50px}.plan-group-title{font-size:13px;align-items:flex-start}.plan-group-title>span{font-size:11px;text-align:right}.plan-card{display:flex;padding:26px}.plan-top{font-size:26px}.plan-top>small{font-size:11px}.plan-tagline{font-size:12px;margin-top:22px}.price{font-size:66px;margin-top:10px}.plan-allocation{font-size:12px;margin-top:18px}.plan-card ul{align-self:auto;margin:22px 0 12px}.plan-card li{font-size:12px}.plan-card .button{margin-top:10px;font-size:12px;min-height:48px}.secondary-title{margin-top:36px}.entry-grid article{display:block;padding:24px 0}.entry-plan-top{flex-direction:row}.entry-plan-top>span{font-size:11px}.entry-description{margin-top:10px;font-size:12px}.entry-price{text-align:left;margin-top:14px;font-size:48px}.entry-detail{margin:16px 0 20px;font-size:11px}.entry-grid .text-link{font-size:12px}.plan-notes,.fine-print{font-size:10px}.comparison summary{font-size:12px;gap:12px}.overview-grid h2{font-size:27px}.overview-list>div{grid-template-columns:80px 1fr;gap:16px;font-size:11px;padding:18px 0}.overview-list small{font-size:10px}.process-section h2{font-size:26px}.process-grid{gap:20px}.process-grid h3{font-size:14px}.process-grid p{font-size:11px}.faq-section{padding-top:0}.faq-grid h2{font-size:26px}.faq-list summary{font-size:12px;gap:14px;padding:20px 0}.faq-list details p{font-size:11px}.contact-section{padding:62px 0}.contact-section h2{font-size:32px;margin:24px 0}.contact-inner::before,.contact-inner::after{width:22px;height:22px}.contact-lead{font-size:12px}.contact-button{width:100%;min-width:0;font-size:12px;padding:15px 20px}.contact-pending{font-size:11px;padding:16px 12px}.contact-pending p+p{font-size:10px}.contact-date{font-size:9px;line-height:2}.contact-date span{padding:0 4px}footer{padding:30px 0 calc(92px + env(safe-area-inset-bottom))}.footer-inner{gap:24px}.footer-inner>div{width:100%;font-size:9px}.back-top{position:absolute;right:20px;font-size:10px}.mobile-cta{display:grid;grid-template-columns:.75fr 1.25fr;position:fixed;bottom:0;left:0;right:0;z-index:40;border-top:1px solid #6f6044;background:#151515;padding:9px 12px calc(9px + env(safe-area-inset-bottom));gap:8px;box-shadow:0 -3px 16px #0003}.mobile-cta a{min-height:43px;display:flex;align-items:center;justify-content:center;font-size:11px;gap:18px;border:1px solid #76674b;color:#ddc9a1}.mobile-cta a:last-child{background:linear-gradient(110deg,#bea16b,#e6cea0);color:#19160f;font-weight:600}.mobile-cta a>span{font-size:18px}}
@media(max-width:360px){h1>span{font-size:28px}.hero-copy{font-size:23px}.hero-date{font-size:29px}.hero-venue{padding-left:12px}.hero-event{gap:12px}.stat{padding-inline:7px}.stat-number{font-size:30px}.stat-number-range{font-size:23px}.header-cta{font-size:9px;gap:6px}.header .brand{width:116px}.contact-date{font-size:8px}}
.hero-media{background:#101010}.hero-media video{opacity:1}.hero-shade{background:linear-gradient(180deg,#10101070 0%,#10101060 25%,#101010bf 62%,#101010fa 100%)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* 見出しと本文の差を明確にし、PC・スマホとも読める文字サイズに統一。 */
:root{--muted:#d0ceca}
body{font-size:18px}
h2{font-size:50px;font-weight:700;line-height:1.55}
.section-heading{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px;align-items:center}
.section-intro{font-size:18px;line-height:1.95;max-width:440px}
.eyebrow{font-size:17px}
.eyebrow+h2{margin-top:20px}
.section-heading h2::after,.process-section h2::after,.faq-grid h2::after{content:'';display:block;width:64px;height:3px;background:var(--gold);margin-top:24px}
.desktop-nav{font-size:14px;gap:25px}
.button{font-size:17px;min-height:60px;font-weight:700}
.header-cta{font-size:14px;min-height:48px}
.text-link{font-size:16px}
.hero{height:auto;min-height:730px}
.hero-content{padding:48px 0 72px}
.hero-copy{font-size:24px;font-weight:500;line-height:1.7;margin-top:28px}
.hero-description{font-size:17px;color:#ecebe6;line-height:1.9}
.hero-date{font-size:48px}
.hero-date small{font-size:20px}
.hero-venue{font-size:17px}
.hero-venue>span{font-size:14px}
.hero-actions>.button{min-width:340px}
.hero-actions>.text-link{font-size:16px}
.value-grid h3{font-size:26px;font-weight:700;line-height:1.55;margin:12px 0 20px}
.value-grid article>p:last-child{font-size:17px;line-height:1.95}
.value-grid .eyebrow,.experience-grid .eyebrow{font-size:15px}
.feature-no{font-size:18px}
.feature-copy h3{font-size:36px;font-weight:700;line-height:1.6}
.feature-copy>p{font-size:17px;line-height:1.95}
.feature-story{grid-template-columns:1.15fr 1fr;gap:44px}
.experience-grid h3{font-size:24px;font-weight:700;line-height:1.6;margin:14px 0 18px}
.experience-grid article>p:last-child{font-size:17px;line-height:1.95}
.experience-grid figcaption,.feature-story figcaption{font-size:12px}
.fine-print,.plan-notes{font-size:13px;color:#b8b6b1}
.invitation-band p{font-size:34px;font-weight:600}
.invitation-band .button{font-size:16px}
.plan-group-title{font-size:25px;font-weight:700;border-bottom:1px solid #6d6046;padding-bottom:18px;margin-bottom:28px}
.plan-group-title>span{font-size:16px}
.plan-card h4{font-size:23px;color:#eee;font-weight:700;margin-top:12px}
.plan-top{font-size:26px}
.plan-top>small{font-size:13px}
.plan-tagline{font-size:16px;line-height:1.85;min-height:60px}
.price{font-size:76px}
.price>span{font-size:22px}
.plan-allocation{font-size:16px;line-height:1.8;min-height:87px;display:flex;align-items:center}
.plan-card li{font-size:15px;line-height:1.85;margin-bottom:14px;padding-left:20px}
.plan-card li::before{font-size:15px}
.plan-card .button{font-size:15px;min-height:54px}
.entry-plan-top{align-items:flex-start;flex-wrap:wrap}
.entry-plan-top h4{font-size:24px;font-weight:700}
.entry-plan-top>span{font-size:13px}
.entry-description{font-size:16px;line-height:1.85;min-height:60px}
.entry-price{font-size:62px}
.entry-price>span{font-size:16px}
.entry-detail{font-size:14px;min-height:52px}
.entry-grid .text-link{font-size:15px;line-height:1.8}
.comparison summary{font-size:18px}
table{font-size:15px}caption{font-size:13px}
.overview-grid h2{font-size:39px}
.overview-list>div{grid-template-columns:140px 1fr;font-size:16px}
.overview-list small{font-size:14px}
.venue-photo figcaption{font-size:13px}
.process-section h2{font-size:44px}
.process-grid h3{font-size:24px;font-weight:700}
.process-grid p{font-size:17px;line-height:1.9}
.faq-grid{grid-template-columns:1fr 1.6fr;gap:45px}
.faq-grid h2{font-size:36px}
.faq-list summary{font-size:18px;font-weight:600;line-height:1.8;padding:25px 0}
.faq-list details p{font-size:16px;line-height:1.95}
.contact-section h2{font-size:52px;font-weight:700}
.contact-lead{font-size:19px}
.contact-pending{font-size:16px}
.contact-pending p+p{font-size:14px}
.contact-date{font-size:14px}
.selected-plan{font-size:16px}
.footer-inner>div,.footer-inner small{font-size:12px}
@media(max-width:1100px){
  .desktop-nav{gap:16px;font-size:12px}.header-cta{font-size:12px}
  .section-heading{display:block}.section-intro{max-width:680px;margin-top:28px}
  h2{font-size:44px}.value-grid h3{font-size:23px}
  .feature-story{gap:32px}.feature-copy h3{font-size:30px}
  .collab-grid{grid-template-columns:1fr}
  .plan-card{display:grid;grid-template-columns:1fr 1.2fr;gap:0 36px;padding:30px}
  .plan-top,.plan-card h4,.plan-tagline,.price,.plan-allocation{grid-column:1}
  .plan-card ul{grid-column:2;grid-row:1/6;align-self:center;margin:0}
  .plan-card .button{grid-column:2;grid-row:6;margin-top:16px}
  .plan-allocation{min-height:0}.plan-tagline{min-height:0}
  .entry-grid{grid-template-columns:1fr}.entry-grid article{padding:28px}
  .entry-description,.entry-detail{min-height:0}
  .overview-grid{gap:36px}.overview-grid h2{font-size:32px}
  .overview-list>div{grid-template-columns:90px 1fr;gap:16px;font-size:15px}
  .faq-grid{grid-template-columns:1fr;gap:30px}
}
@media(max-width:800px){
  .hero{min-height:690px}.hero-copy{font-size:20px}.hero-description{font-size:16px}
  .hero-date{font-size:39px}.hero-venue{font-size:15px}.hero-venue>span{font-size:12px}
  .hero-actions{flex-wrap:wrap;gap:22px}
  .feature-story{grid-template-columns:1fr}.feature-copy{max-width:650px}
  .experience-grid{grid-template-columns:1fr;gap:42px}
  .experience-grid article{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;align-items:start}
  .experience-grid figure{grid-column:1;grid-row:1/4;margin:0}
  .experience-grid h3{font-size:23px;margin:10px 0 14px}
  .experience-grid article>p:last-child{font-size:16px}
  .experience-grid article>.eyebrow{font-size:14px}
  .overview-grid{grid-template-columns:1fr}
  .entry-grid article{display:block}.entry-price{text-align:left;margin-top:18px}
  .entry-plan-top{flex-direction:row}.entry-detail{margin:14px 0 22px}
  .invitation-band p{font-size:30px}
}
@media(max-width:540px){
  body{font-size:16px}.header-cta{font-size:11px;min-height:40px;padding:8px 10px;gap:8px}
  .hero{min-height:620px}.hero-content{padding:36px 0 65px}
  h1>span{font-size:32px}.hero-copy{font-size:27px;line-height:1.65;margin-top:26px}
  .hero-description{font-size:15px;line-height:1.85;max-width:340px;margin-inline:auto}
  .hero-event{margin:24px 0;gap:14px}.hero-date{font-size:32px}.hero-date small{font-size:13px}
  .hero-venue{font-size:11px;padding-left:14px}.hero-venue>span{font-size:10px}
  .hero-actions{gap:18px}.hero-actions>.button{min-width:0;width:100%;font-size:16px;min-height:56px}
  .hero-actions>.text-link{font-size:14px}
  .hero-bottom{font-size:10px}.hero-bottom>span{max-width:none}
  .section{padding:66px 0}h2{font-size:34px;line-height:1.6}
  .eyebrow{font-size:15px}.eyebrow+h2{margin-top:18px}
  .section-heading h2::after,.process-section h2::after,.faq-grid h2::after{margin-top:20px;width:48px}
  .section-intro{font-size:16px;margin-top:24px;line-height:1.95}
  .section-intro br{display:none}
  .value-grid article,.value-grid article:first-child,.value-grid article:last-child{padding:28px 0 28px 46px}
  .value-grid h3{font-size:22px;line-height:1.6;margin:12px 0 16px}
  .value-grid .eyebrow{font-size:12px}.index-number{font-size:32px}
  .value-grid article>p:last-child{font-size:16px;line-height:1.95}
  .feature-no{font-size:16px}.feature-copy h3{font-size:30px}.feature-copy>p{font-size:16px}
  .feature-copy .text-link{font-size:15px}
  .experience-grid article{display:block}.experience-grid figure{margin-bottom:22px}
  .experience-grid h3{font-size:24px}.experience-grid article>p:last-child{font-size:16px}
  .fine-print,.plan-notes{font-size:12px;line-height:1.9}
  .invitation-band p{font-size:28px}.invitation-band .button{font-size:14px;line-height:1.7;min-height:56px}
  .plan-group-title{font-size:22px;display:block;line-height:1.6}.plan-group-title>span{display:block;text-align:left;font-size:14px;margin-top:7px}
  .plan-card{display:flex;padding:24px}.plan-card h4{font-size:24px}.plan-top{font-size:28px}
  .plan-top>small{font-size:12px}.plan-tagline{font-size:16px;margin-top:20px}
  .price{font-size:72px}.price>span{font-size:21px}.plan-allocation{font-size:16px;padding:16px 0}
  .plan-card ul{margin:24px 0 16px;align-self:auto}.plan-card li{font-size:15px;margin-bottom:14px}
  .plan-card .button{font-size:15px;min-height:54px;margin-top:12px}
  .entry-grid article{padding:26px 0}.entry-plan-top h4{font-size:24px}.entry-plan-top>span{font-size:12px}
  .entry-description{font-size:16px}.entry-price{font-size:58px}.entry-price>span{font-size:15px}
  .entry-detail{font-size:14px}.entry-grid .text-link{font-size:15px}
  .comparison summary{font-size:16px;line-height:1.8}
  .overview-grid h2{font-size:32px}.overview-list>div{grid-template-columns:78px 1fr;font-size:15px;gap:14px}
  .overview-list small{font-size:13px}.venue-photo figcaption{font-size:12px}
  .process-section h2{font-size:32px}.process-grid{gap:28px 20px}.process-grid h3{font-size:20px;line-height:1.6}
  .process-grid p{font-size:15px;line-height:1.9}.faq-section{padding-top:0}.faq-grid h2{font-size:32px}
  .faq-list summary{font-size:16px;padding:23px 0}.faq-list details p{font-size:15px;padding-right:0}
  .contact-section h2{font-size:38px}.contact-lead{font-size:16px}
  .contact-pending{font-size:14px}.contact-pending p+p{font-size:12px}.contact-date{font-size:11px}
  .mobile-cta a{font-size:13px;min-height:46px;gap:10px}.footer-inner>div,.footer-inner small{font-size:11px}
}
@media(max-width:360px){
  .header .brand{width:112px}.header-cta{font-size:10px}h1>span{font-size:28px}
  .hero-copy{font-size:24px}.hero-description{font-size:14px}.hero-date{font-size:28px}.hero-venue{font-size:10px}
  h2{font-size:30px}.value-grid h3{font-size:21px}.feature-copy h3{font-size:27px}
  .plan-card{padding:22px}.plan-card .button{font-size:14px}.plan-allocation{font-size:15px}
  .overview-grid h2,.process-section h2,.faq-grid h2{font-size:28px}
  .contact-section h2{font-size:34px}.contact-lead{font-size:14px}.mobile-cta a{font-size:12px}
}

.next-steps-band{background:#101010 url('./assets/bg/leather-primary.webp') center/cover no-repeat}
.next-steps-band .process-section,.next-steps-band .faq-section{background:transparent}

/* 主要な導線を明るい金色のボタンに統一。ホバーで沈み込む立体表現。 */
.button-gold,.plan-card .button,.entry-grid .text-link,.feature-copy .text-link{
  background:linear-gradient(110deg,#d5b36a,#ffdfa0 48%,#d4af63);
  color:#1b160d;border:1px solid #f9daa0;border-bottom:4px solid #8a6a34;
  border-radius:5px;
  box-shadow:inset 0 1px 0 #fff9,0 6px 18px #0006;
  font-weight:700;text-shadow:none;
  transform:translateY(0);
  transition:transform .12s ease,border-bottom-width .12s ease,box-shadow .12s ease,filter .12s ease;
}
.hero-actions>.button{min-width:380px;min-height:66px;font-size:19px;padding:18px 28px}
.plan-card .button,.entry-grid .text-link,.feature-copy .text-link{
  display:flex;justify-content:space-between;align-items:center;gap:18px;
  min-height:60px;padding:16px 18px;font-size:16px;line-height:1.6;
}
.feature-copy .text-link{width:fit-content;min-width:300px}
.button span,.entry-grid .text-link span,.feature-copy .text-link span{font-size:26px;transition:transform .18s ease}
.button-gold:hover,.plan-card .button:hover,.entry-grid .text-link:hover,.feature-copy .text-link:hover{
  transform:translateY(4px);
  border-bottom-width:0;
  box-shadow:inset 0 1px 0 #fff9,0 2px 6px #0004;
  filter:brightness(1.04);
}
.button-gold:hover span,.plan-card .button:hover span,.entry-grid .text-link:hover span,.feature-copy .text-link:hover span{transform:translateX(4px)}
.button-gold:active,.plan-card .button:active,.entry-grid .text-link:active,.feature-copy .text-link:active{
  transform:translateY(4px);
  border-bottom-width:0;
  box-shadow:inset 0 2px 6px #0005;
  filter:brightness(.96);
}
.button-gold:focus-visible,.plan-card .button:focus-visible,.entry-grid .text-link:focus-visible,.feature-copy .text-link:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.desktop-nav a{padding:10px 0;border-bottom:2px solid transparent}
.desktop-nav a:hover{border-bottom-color:var(--gold)}
.comparison summary{padding:22px 24px;background:#c7ac741c;color:#f1dba9}
.comparison summary:hover{background:#c7ac742e}
.comparison summary>span,.faq-list summary>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #9f8555;background:#30291e;color:#f4d291;border-radius:3px;line-height:1}
.faq-list summary:hover{color:#f0d296}
.mobile-cta{padding-top:10px}
.mobile-cta a{min-height:50px;font-size:14px;font-weight:700;border-radius:5px}
.mobile-cta a:last-child{background:linear-gradient(110deg,#d5b36a,#ffdfa0 48%,#d4af63);border:1px solid #f9daa0;border-bottom:4px solid #8a6a34;transition:transform .12s ease,border-bottom-width .12s ease,box-shadow .12s ease,filter .12s ease}
.mobile-cta a:last-child:active{transform:translateY(4px);border-bottom-width:0;filter:brightness(.96)}
@media(max-width:540px){
  .hero-actions>.button{min-width:0;min-height:62px;font-size:17px;padding:16px 20px}
  .plan-card .button,.entry-grid .text-link,.feature-copy .text-link{min-height:58px;font-size:16px;padding:15px 17px}
  .feature-copy .text-link{width:100%;min-width:0}
  .comparison summary{padding:20px 14px;font-size:15px}
  .comparison summary>span,.faq-list summary>span{width:30px;height:30px}
  .header-cta{min-height:42px;font-size:11px}
  .header-cta>span{font-size:20px}
  .mobile-cta a{font-size:13px}
}
@media(max-width:360px){
  .plan-card .button{font-size:14px;padding-inline:14px}
  .header-cta{font-size:10px}.mobile-cta a{font-size:12px}
}

/* ============================================================
   仕上げ改修 — FV視認性 / テキスト白化 / サイズUP / スクロール動き
   ============================================================ */

/* テキスト全体を真っ白ベースに（本文・キャプション・注記まで） */
:root{--muted:#ffffff}
body,p,li,dd,dt,td,th,caption,figcaption,small{color:#ffffff}
.section-intro,.value-grid article>p:last-child,.experience-grid article>p:last-child,
.feature-copy>p,.faq-list details p,.process-grid p,.overview-list dd,.overview-list small,
.contact-lead,.contact-pending p,.plan-tagline,.plan-card li,.entry-description,.entry-detail,
.hero-description,.hero-copy{color:#ffffff}
.fine-print,.plan-notes,.plan-notes p+p,.overview-list small,.plan-top>small,.footer-inner small,.footer-inner>div,.hero-venue>span{color:#f0efeb}
.feature-story figcaption,.experience-grid figcaption,.venue-photo figcaption{color:#ffffff;background:#000000cc}

/* FVの視認性強化 — サイズUP + 黒透過オーバーレイ強化 */
.hero{min-height:min(820px,calc(100svh - 120px))}
.hero-shade{background:linear-gradient(180deg,#000000a8 0%,#00000078 30%,#000000c9 68%,#000000fa 100%)!important}
.hero::before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at center 62%,#00000080 0%,#00000020 45%,transparent 70%);pointer-events:none}
.hero-content{position:relative;z-index:1}
.hero-copy{font-family:var(--serif);font-size:46px;font-weight:700;line-height:1.55;color:#ffffff;text-shadow:0 3px 18px #000c,0 1px 3px #000}
.hero-description{font-size:20px;line-height:1.9;color:#ffffff;text-shadow:0 2px 10px #000c,0 1px 2px #000;margin-top:22px}
.hero-date{font-size:54px;text-shadow:0 3px 14px #000c}
.hero-date small{font-size:22px}
.hero-venue{font-size:19px;color:#ffffff;text-shadow:0 2px 10px #000c}
.hero-venue>span{font-size:15px;color:#efeadb}
h1>span{color:#ffffff;text-shadow:0 3px 16px #000c}

/* スクロール動きを付与 — 見出し・カード類がふわっと入る */
@media(prefers-reduced-motion:no-preference){
  .hero h1,.hero-copy,.hero-description,.hero-event,.hero-actions{opacity:0;transform:translateY(24px);animation:rvcRise .9s cubic-bezier(.16,.7,.28,1) forwards}
  .hero-copy{animation-delay:.15s}
  .hero-description{animation-delay:.28s}
  .hero-event{animation-delay:.42s}
  .hero-actions{animation-delay:.55s}
  .section-heading,.value-grid article,.experience-grid article,.feature-story,
  .plan-card,.entry-grid article,.overview-grid>*,.process-grid li,.faq-list details,
  .contact-inner>*{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.16,.7,.28,1)}
  .rvc-in{opacity:1!important;transform:none!important}
  .value-grid article:nth-child(2){transition-delay:.1s}
  .value-grid article:nth-child(3){transition-delay:.2s}
  .experience-grid article:nth-child(2){transition-delay:.1s}
  .experience-grid article:nth-child(3){transition-delay:.2s}
  .collab-grid .plan-card:nth-child(2),.entry-grid article:nth-child(2){transition-delay:.1s}
  .collab-grid .plan-card:nth-child(3),.entry-grid article:nth-child(3){transition-delay:.2s}
  .process-grid li:nth-child(2){transition-delay:.08s}
  .process-grid li:nth-child(3){transition-delay:.16s}
  .process-grid li:nth-child(4){transition-delay:.24s}
}
@keyframes rvcRise{to{opacity:1;transform:none}}

/* サイト全体の文字サイズを一段UP + 読みやすく */
body{font-size:19px;line-height:1.95}
h2{font-size:54px;line-height:1.5;font-weight:800}
.section-intro{font-size:19px;line-height:2}
.value-grid h3{font-size:28px}
.value-grid article>p:last-child{font-size:18px;line-height:2}
.feature-copy h3{font-size:38px}
.feature-copy>p{font-size:18px;line-height:2}
.experience-grid h3{font-size:25px}
.experience-grid article>p:last-child{font-size:18px}
.plan-card li{font-size:16px;line-height:1.85}
.plan-tagline{font-size:17px}
.plan-allocation{font-size:17px}
.entry-description{font-size:17px}
.entry-detail{font-size:15px}
.process-grid h3{font-size:26px}
.process-grid p{font-size:18px}
.faq-list summary{font-size:19px}
.faq-list details p{font-size:17px}
.overview-list>div{font-size:17px}
.overview-list small{font-size:15px}
.contact-lead{font-size:21px;line-height:2}
.contact-section h2{font-size:56px}

/* Contact窓口が有効時にも「準備中」枠を非表示、メール導線を目立たせる */
.contact-button{display:inline-flex}

@media(max-width:800px){
  h2{font-size:40px}.hero-copy{font-size:34px}.hero-description{font-size:17px}
  .hero-date{font-size:42px}.hero-venue{font-size:15px}
  .contact-section h2{font-size:40px}
  .feature-copy h3{font-size:30px}
  body{font-size:17px}
}
@media(max-width:540px){
  h2{font-size:32px}
  .hero-copy{font-size:28px;line-height:1.6}
  .hero-description{font-size:15px;line-height:1.9}
  .hero-date{font-size:34px}.hero-date small{font-size:14px}
  .hero-venue{font-size:12px}.hero-venue>span{font-size:10px}
  .contact-section h2{font-size:34px}
  .contact-lead{font-size:16px}
  body{font-size:16px;line-height:1.9}
  .value-grid h3,.experience-grid h3{font-size:22px}
  .feature-copy h3{font-size:26px}
  .plan-card li{font-size:14px}
}

/* 赤リボン — 限定/緊急性で残枠訴求 */
.plan-card[data-ribbon],.entry-grid article[data-ribbon]{position:relative}
.plan-card[data-ribbon]::before,.entry-grid article[data-ribbon]::before{
  content:attr(data-ribbon);
  position:absolute;
  top:-10px;right:16px;
  padding:10px 14px 16px;
  min-width:88px;
  background:linear-gradient(180deg,#e94132 0%,#c62520 55%,#8f150f 100%);
  color:#ffffff;
  font-family:var(--display);
  font-size:14px;
  font-weight:700;
  letter-spacing:.06em;
  text-align:center;
  line-height:1.1;
  clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%);
  box-shadow:0 8px 18px #0009,inset 0 1px 0 #ffffff35;
  text-shadow:0 1px 2px #00000090;
  z-index:5;
  pointer-events:none;
  animation:rvcRibbonPulse 2.4s ease-in-out infinite;
}
.plan-card[data-ribbon]::after,.entry-grid article[data-ribbon]::after{
  content:'';position:absolute;top:-14px;right:11px;
  border:5px solid transparent;border-right-color:#6b0f0a;border-top-color:#6b0f0a;
  z-index:4;filter:blur(.4px);
}
.entry-combo[data-ribbon]::before{background:linear-gradient(180deg,#f0a020 0%,#c47810 55%,#7a4a05 100%);color:#1a1408;text-shadow:0 1px 0 #ffffff40}
.entry-combo[data-ribbon]::after{border-right-color:#5a3902;border-top-color:#5a3902}
@keyframes rvcRibbonPulse{
  0%,100%{transform:translateY(0);box-shadow:0 8px 18px #0009,inset 0 1px 0 #ffffff35,0 0 0 0 #e9413200}
  50%{transform:translateY(1px);box-shadow:0 6px 14px #0008,inset 0 1px 0 #ffffff35,0 0 0 6px #e9413218}
}
@media(prefers-reduced-motion:reduce){
  .plan-card[data-ribbon]::before,.entry-grid article[data-ribbon]::before{animation:none}
}
@media(max-width:540px){
  .plan-card[data-ribbon]::before,.entry-grid article[data-ribbon]::before{font-size:12px;min-width:74px;padding:8px 10px 14px;top:-8px;right:12px}
}

/* ============================================================
   NEXT VALUE EXPO — customer signup additions
   ============================================================ */

/* Stage band (hero直下 3ステージ帯): PC は 2段構成（1段目=intro / 2段目=3ステージ） */
.stage-band{padding:52px 0;background:#131313;border-bottom:1px solid #37342d}
.stage-band-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:28px;row-gap:36px;align-items:center}
.stage-band-intro{grid-column:1 / -1;text-align:center;padding-bottom:12px}
.stage-band-intro p:last-child{font-family:var(--serif);font-size:28px;line-height:1.65;font-weight:500;margin-top:16px;color:#f3ecdd}
.stage-band-intro br{display:none}
.stage-band-intro span{color:var(--gold);font-weight:700}
.stage-band-item{border-left:1px solid #3d3a34;padding-left:26px;text-align:left}
.stage-band-item:first-of-type{border-left:0;padding-left:0}
.stage-band-item span{font-family:var(--display);font-size:32px;color:var(--gold);line-height:1;display:block;margin-bottom:10px}
.stage-band-item h4{font-family:var(--serif);font-size:19px;font-weight:700;line-height:1.5;color:#eee}
.stage-band-item small{display:block;font-size:13px;color:#b5b5b2;margin-top:8px}

/* Stage 3 (experience-grid) スモール見出し内 (ホールE メインエリア) */
.experience-grid h3 small{display:block;font-family:var(--sans);font-size:14px;font-weight:400;color:#b5b5b2;margin-top:6px}

/* Stats section — pie chart */
.stats-section{background:#181818}
.stats-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.pie-figure{max-width:400px;margin-inline:auto}
.pie-figure figcaption{color:#a9a9a5;font:12px var(--display);text-align:center;padding-top:16px;letter-spacing:.05em}
.pie-chart{width:100%;height:auto;filter:drop-shadow(0 6px 24px #0007)}
.pie-legend ul{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.pie-legend li{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:16px;font-size:16px;line-height:1.6;color:#dbdad5;padding-bottom:14px;border-bottom:1px solid #2f2e2b}
.pie-legend li:last-of-type{border-bottom:0}
.pie-legend li b{font-family:var(--display);color:#e4d2a9;font-size:24px;font-weight:600}
.pie-legend .dot{width:14px;height:14px;border-radius:50%;display:block}
.pie-legend .dot-1{background:#d1b779}
.pie-legend .dot-2{background:#b09566}
.pie-legend .dot-3{background:#8b7852}
.pie-legend .dot-4{background:#c5a778}
.pie-legend .dot-5{background:#6b5d43}
.pie-legend .dot-6{background:#4a4133}
.pie-legend .fine-print{margin-top:22px}

/* Compare section — offline vs online */
.compare-section{background:#131313}
.compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.compare-card{background:#1a1a1af5;border:1px solid #64615c;border-top:3px solid #a6a5a1;padding:38px 34px;border-radius:2px;display:flex;flex-direction:column}
.compare-card.compare-offline{border-top-color:var(--gold);background:linear-gradient(135deg,#252420ee,#1a1a1af7 65%)}
.compare-card.compare-online{border-top-color:#7a7a7a}
.compare-card h3{font-family:var(--serif);font-size:28px;font-weight:700;line-height:1.5;margin:14px 0 26px;color:#eee}
.compare-card h3 small{display:block;font-family:var(--sans);font-size:14px;font-weight:400;color:#b5b5b2;margin-top:10px}
.compare-card ul{list-style:none;padding:0;margin:0 0 30px;flex:1}
.compare-card li{font-size:15px;line-height:1.85;color:#d8d7d3;padding-left:24px;position:relative;margin-bottom:14px}
.compare-card li::before{content:'✓';position:absolute;left:0;color:var(--gold);font-size:15px;font-weight:700}
.compare-card li b{color:#f0e5c8}
.compare-card li.compare-note{color:#eeece6;font-size:15px;line-height:1.85}
.compare-card li.compare-note::before{content:'×';color:#e94b3e;font-weight:800;font-size:17px;top:-1px;position:absolute;left:0;line-height:1.5}
.compare-card .button{width:100%;justify-content:center;gap:16px;margin-top:auto}

/* Overview section — 2つ目のvenue-photo (フロアマップ) */
.overview-section .venue-photo + .venue-photo{margin-top:22px}

/* Apply buttons — final CTA */
.apply-buttons{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:32px}
.apply-buttons .contact-button{margin-top:0;min-width:300px}
.apply-note{margin-top:22px;font-size:12px;color:#a09d95;line-height:1.85}

/* Fade-in animation reused */
.stage-band-item,.compare-card,.pie-figure,.pie-legend,
.contact-inner > *{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease}
.stage-band-item.rvc-in,.compare-card.rvc-in,.pie-figure.rvc-in,.pie-legend.rvc-in,
.contact-inner > *.rvc-in{opacity:1;transform:none}
/* contact-inner の子要素は上からずらして順にフェードイン */
.contact-inner > *:nth-child(1){transition-delay:0s}
.contact-inner > *:nth-child(2){transition-delay:.08s}
.contact-inner > *:nth-child(3){transition-delay:.16s}
.contact-inner > *:nth-child(4){transition-delay:.24s}
.contact-inner > *:nth-child(5){transition-delay:.32s}
.contact-inner > *:nth-child(6){transition-delay:.4s}

/* Mobile */
@media(max-width:1100px){
  .stage-band-grid{grid-template-columns:1fr;gap:20px}
  .stage-band-intro p:last-child{font-size:20px}
  .stage-band-item{border-left:0;border-top:1px solid #3d3a34;padding:20px 0 0}
  .stats-grid{grid-template-columns:1fr;gap:44px}
  .pie-figure{max-width:340px}
}
/* compare-grid は PC 2列 / SP 1列 */
@media(max-width:800px){
  .compare-grid{grid-template-columns:1fr !important}
}

/* ============================================================
   contact-section 動画背景 (高級感演出)
   ============================================================ */
.contact-section--video{
  position:relative;
  overflow:hidden;
  background:#0a0a0a !important;
  isolation:isolate
}
.contact-section--video .contact-bg{
  position:absolute;inset:0;z-index:0;
  overflow:hidden
}
.contact-section--video .contact-bg-video{
  position:absolute;top:50%;left:50%;
  width:100%;height:100%;
  min-width:100%;min-height:100%;
  transform:translate(-50%,-50%);
  object-fit:cover;
  opacity:.55
}
.contact-section--video .contact-bg-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse at center,rgba(10,10,10,.35) 0%,rgba(10,10,10,.75) 65%,rgba(10,10,10,.92) 100%),
    linear-gradient(180deg,rgba(10,10,10,.6) 0%,rgba(10,10,10,.4) 50%,rgba(10,10,10,.85) 100%)
}
.contact-section--video .contact-inner{
  position:relative;z-index:2
}
@media(prefers-reduced-motion:reduce){
  .contact-section--video .contact-bg-video{display:none}
}

/* SP時、venue/overview セクション写真・見出しとテキストの余白を半分に */
@media(max-width:800px){
  #venue.overview-section .overview-grid,
  #overview.overview-section .overview-grid{gap:16px !important}
  #venue .venue-photo{margin-bottom:0}
  #overview .section-intro{margin-bottom:0 !important}
}

/* ============================================================
   新レザー調背景をアクセントセクションに導入 (2カ所)
   ============================================================ */
.compare-section,
#overview.overview-section{
  background:#0a0906 url('./assets/bg/leather-alt.webp') center/cover no-repeat !important;
  background-attachment:fixed;
  position:relative
}
/* モバイルは attachment:fixed をやめる (スクロールカクツキ防止) */
@media(max-width:900px){
  .compare-section,
  #overview.overview-section{background-attachment:scroll !important}
}
.compare-section::before,
#overview.overview-section::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:linear-gradient(180deg,rgba(10,9,7,.75) 0%,rgba(10,9,7,.35) 30%,rgba(10,9,7,.35) 70%,rgba(10,9,7,.75) 100%)
}
.compare-section>*,
#overview.overview-section>*{position:relative;z-index:1}
@media(max-width:800px){
  .compare-section,
  #overview.overview-section{background-attachment:scroll !important}
}

/* 改行禁止ユーティリティ (SP時の見出し内フレーズ折り返し防止) */
.nowrap{white-space:nowrap}

/* PC時の stage-band-intro 見出し (他 h2 と同格サイズ、、で改行) */
@media(min-width:641px){
  .stage-band-intro p:last-child{
    font-size:38px !important;
    line-height:1.55 !important;
    font-weight:700 !important;
    letter-spacing:.05em !important
  }
  .stage-band-intro br{display:inline !important}
}
@media(max-width:800px){
  .stage-band{padding:26px 0}
  .compare-card{padding:32px 26px}
  .compare-card h3{font-size:25px}
  .apply-buttons{flex-direction:column;align-items:center}
  .apply-buttons .contact-button{width:100%;max-width:360px;min-width:0}
  .pie-legend li{font-size:14px;gap:12px}
  .pie-legend li b{font-size:20px}
}
@media(max-width:540px){
  .stage-band-item h4{font-size:16px}
  .compare-card{padding:28px 22px}
  .compare-card h3{font-size:22px}
  .compare-card li{font-size:13px}
  .compare-card li.compare-note{font-size:11px}
  .apply-buttons .contact-button{font-size:12px;padding:14px 16px}
}

/* ============================================================
   Apply page — form + confirmation
   ============================================================ */
.apply-main{background:#131313}
.apply-hero{padding:96px 0 64px;background:#101010 url('./assets/bg/leather-primary.webp') center/cover;border-bottom:1px solid #4b422f;position:relative}
.apply-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#10101099 0%,#101010ee 100%);z-index:0}
.apply-hero > .container{position:relative;z-index:1}
.apply-hero-visual{display:block;width:100%;max-width:820px;height:auto;position:relative;z-index:1;margin:0 auto 28px}
body.sub-page .header{background:#0a0a0a;border-bottom-color:#1c1a17}
@media(max-width:800px){
  .apply-hero-visual{max-width:none;margin-bottom:22px}
}
.apply-hero h1{font-family:var(--serif);font-size:44px;font-weight:700;line-height:1.4;margin-top:14px;max-width:100%}
.apply-lead{font-size:17px;color:#d8d7d3;margin-top:20px;line-height:1.9;max-width:720px}
.apply-event-meta{display:flex;flex-wrap:wrap;gap:36px;margin-top:38px;padding-top:26px;border-top:1px solid #4b422f}
.apply-event-meta > div{display:flex;flex-direction:column;gap:6px}
.apply-event-meta small{font-family:var(--display);font-size:12px;color:#a29a86;letter-spacing:.1em}
.apply-event-meta span{font-family:var(--serif);font-size:19px;color:#eee;font-weight:600}
.apply-event-meta em{font-style:normal;color:var(--gold);font-family:var(--display);margin-left:4px}

.apply-section{padding:80px 0 120px}
.apply-container{max-width:820px}
.apply-step{font-family:var(--display);font-size:13px;color:var(--gold);letter-spacing:.15em}
.apply-hint{font-size:16px;color:#c9c8c4;margin-top:10px;line-height:1.85}
.apply-hint small{font-size:13px;color:#8b8a85}

.apply-form{margin-top:40px;background:#1a1a1a;border:1px solid #38352e;border-radius:4px;padding:48px 44px;display:flex;flex-direction:column;gap:26px}
.apply-form .field{display:flex;flex-direction:column;gap:10px}
.apply-form label{font-size:14px;color:#e2d1ad;font-weight:600;letter-spacing:.03em}
.apply-form .req{color:#e9573e;font-size:12px;margin-left:4px;font-weight:700}
.apply-form input[type="text"],.apply-form input[type="email"],.apply-form input[type="tel"],.apply-form select,.apply-form textarea{background:#0f0f0f;border:1px solid #45423b;color:#f3f3f1;font:16px var(--sans);padding:14px 16px;border-radius:3px;transition:border-color .2s,background .2s;line-height:1.6}
.apply-form input:focus,.apply-form select:focus,.apply-form textarea:focus{outline:none;border-color:var(--gold);background:#141414}
.apply-form input::placeholder,.apply-form textarea::placeholder{color:#5a5852}
.apply-form textarea{resize:vertical;min-height:96px;font-family:var(--sans)}

.apply-form fieldset.field{border:0;padding:0;margin:0}
.apply-form legend{font-size:14px;color:#e2d1ad;font-weight:600;margin-bottom:10px;padding:0}
.radio-group{display:flex;flex-wrap:wrap;gap:12px}
.radio-group label{display:flex;align-items:center;gap:10px;background:#0f0f0f;border:1px solid #45423b;padding:12px 20px;cursor:pointer;transition:all .2s;flex:1;min-width:140px;font-weight:400;color:#d0cec8}
.radio-group label:hover{border-color:#6b5d43}
.radio-group input[type="radio"]{accent-color:var(--gold);width:16px;height:16px;margin:0}
.radio-group label:has(input:checked){border-color:var(--gold);background:#1e1a12;color:var(--gold);font-weight:600}

.field-check label{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:400;color:#d0cec8;font-size:14px}
.field-check input[type="checkbox"]{accent-color:var(--gold);width:18px;height:18px}
.field-check .req{margin-left:2px}

.form-error{background:#3a1f18;border:1px solid #e9573e;color:#f3d3ca;padding:14px 18px;font-size:14px;border-radius:3px}

.apply-submit{margin-top:8px;justify-content:center;min-height:64px;font-size:17px}
.apply-fine{margin-top:14px;font-size:12px;color:#8b8a85;line-height:1.8;text-align:center}

.apply-done{background:#1a1a1a;border:1px solid #6b5d43;border-radius:4px;padding:64px 44px;text-align:center;margin-top:40px}
.apply-done-icon{margin:0 auto 24px;width:80px;height:80px;display:flex;align-items:center;justify-content:center}
.apply-done h2{font-family:var(--serif);font-size:38px;font-weight:700;color:#e0d1b0;line-height:1.5;margin:16px 0 24px}
.apply-done-lead{font-size:16px;color:#d0cec8;line-height:2}
.apply-done-summary{margin:44px auto 32px;max-width:520px;text-align:left;border-top:1px solid #4b452f}
.apply-done-summary > div{display:grid;grid-template-columns:130px 1fr;gap:16px;padding:16px 4px;border-bottom:1px solid #2f2d28;font-size:14px}
.apply-done-summary dt{color:#a29a86;font-weight:500}
.apply-done-summary dd{color:#e3e2dc}
.apply-done-actions{margin-top:32px;display:flex;justify-content:center}
.apply-done-actions .button{min-width:280px;justify-content:center;gap:20px}

@media(max-width:800px){
  .apply-hero{padding:64px 0 48px}
  .apply-hero h1{font-size:32px}
  .apply-lead{font-size:15px}
  .apply-event-meta{gap:20px}
  .apply-event-meta span{font-size:16px}
  .apply-section{padding:56px 0 96px}
  .apply-form{padding:32px 24px;gap:22px}
  .apply-form input,.apply-form select,.apply-form textarea{font-size:16px;padding:12px 14px}
  .radio-group label{flex:0 1 100%;min-width:0}
  .apply-done{padding:48px 24px}
  .apply-done h2{font-size:26px}
  .apply-done-summary > div{grid-template-columns:100px 1fr;font-size:13px}
}
@media(max-width:540px){
  .apply-hero h1{font-size:28px}
  .apply-form{padding:26px 20px}
  .apply-submit{font-size:15px;min-height:56px}
  .apply-done h2{font-size:22px}
}

/* ============================================================
   最終レイヤー: 可読性向上 (2026-09-15)
   1. ヘッダーの「グレー四角形」除去（FV上に浮かせて透明化）
   2. FV以外は明朝体→ゴシック体（ヒラギノ角ゴ/游ゴシック/Noto Sans JP）
   3. 各タイトルに背景長方形バッジを敷いてゴールドの縦アクセント付与
   ============================================================ */

/* 0. 下部追従バー削除 */
.mobile-cta{display:none !important}
footer{padding-bottom:40px !important}

/* ボタン: transform一切なし・光るだけ・中央寄せ・大きめ */
.button{
  box-shadow:0 6px 14px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.14);
  transition:box-shadow .3s ease;
  contain:layout paint;
  isolation:isolate;
  justify-content:center !important;
  text-align:center !important;
  gap:14px !important;
  font-size:18px !important;
  font-weight:700 !important;
  min-height:62px !important;
  padding:16px 26px !important
}
.button > span{font-size:20px !important}
@media(max-width:800px){
  .button{font-size:16px !important;min-height:58px !important}
  .button > span{font-size:18px !important}
}
@media(max-width:540px){
  .button{font-size:15px !important;min-height:54px !important;padding:14px 20px !important}
  .button > span{font-size:17px !important}
}

/* ヘッダー固定CTAだけは小さめキープ（モバイルは横幅ゆとり持たせる） */
.header-cta{min-height:44px !important;padding:10px 18px !important;font-size:13px !important;gap:10px !important;font-weight:700 !important}
.header-cta > span{font-size:15px !important}
@media(max-width:800px){
  .header-cta{min-height:42px !important;font-size:12px !important;padding:9px 16px !important;gap:8px !important}
  .header-cta > span{font-size:14px !important}
}
@media(max-width:540px){
  .header-cta{min-height:40px !important;font-size:11px !important;padding:9px 16px !important;gap:8px !important}
  .header-cta > span{font-size:14px !important}
}

/* Contact inner の L字コーナー装飾を削除 */
.contact-inner::before,.contact-inner::after{display:none !important}
.button-gold:hover{
  box-shadow:0 6px 14px rgba(0,0,0,.4),0 0 32px rgba(207,169,92,.55),inset 0 1px 0 rgba(255,255,255,.22)
}
.button-silver:hover{
  box-shadow:0 6px 14px rgba(0,0,0,.4),0 0 32px rgba(210,212,216,.4),inset 0 1px 0 rgba(255,255,255,.35)
}
.button-outline:hover{
  box-shadow:0 6px 14px rgba(0,0,0,.4),0 0 24px rgba(207,169,92,.35),inset 0 1px 0 rgba(255,255,255,.1)
}
/* :active はより強めの光 */
.button-gold:active{box-shadow:0 6px 14px rgba(0,0,0,.4),0 0 44px rgba(207,169,92,.75),inset 0 1px 0 rgba(255,255,255,.28)}
.button-silver:active{box-shadow:0 6px 14px rgba(0,0,0,.4),0 0 44px rgba(220,222,226,.55),inset 0 1px 0 rgba(255,255,255,.4)}
.button-outline:active{box-shadow:0 6px 14px rgba(0,0,0,.4),0 0 34px rgba(207,169,92,.5),inset 0 1px 0 rgba(255,255,255,.12)}

.text-link{transition:color .2s ease,border-color .2s ease}
.text-link:hover{color:#ffffff;border-color:var(--gold)}

/* focus-visible 統一 */
.button:focus-visible,.text-link:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:3px}

/* 各セクション/カード側にも contain 指定して、ボタン内部の変化が周囲を触らないよう固定 */
.section,.compare-card,.value-grid article,.experience-grid article,
.contact-inner,.apply-form,.apply-done,.stage-band,.stage-band-item,
.hero-actions,.hero-content,.apply-buttons,.apply-done-actions{
  contain:layout style
}
.hero-actions,.apply-buttons,.apply-done-actions{isolation:isolate}

/* 各セクション/カード側にも contain 指定して、ボタン内部の変形が周囲を触らないよう固定 */
.section,.compare-card,.value-grid article,.experience-grid article,
.contact-inner,.apply-form,.apply-done,.stage-band,.stage-band-item,
.hero-actions,.hero-content,.apply-buttons,.apply-done-actions{
  contain:layout style
}
.hero-actions,.apply-buttons,.apply-done-actions{isolation:isolate}

/* apply-step バッジのみ赤に上書き（お申込フォームラベル用） */
.apply-step{
  background:linear-gradient(135deg,#d71919 0%,#a30d0d 100%) !important;
  box-shadow:0 3px 10px rgba(215,25,25,.35),inset 0 1px 0 rgba(255,255,255,.2) !important
}

/* apply-hero: ヘッダー下に潜り込ませて視覚的な空白を圧縮 */
.apply-hero{
  margin-top:-84px !important;
  padding-top:104px !important;
  padding-bottom:26px !important
}
@media(max-width:800px){
  .apply-hero{margin-top:-72px !important;padding-top:88px !important;padding-bottom:22px !important}
}
.apply-hero h1{margin-top:10px !important}
.apply-lead{margin-top:14px !important}
.apply-event-meta{margin-top:20px !important;padding-top:18px !important}
.apply-section{padding-top:32px !important}
@media(max-width:800px){.apply-section{padding-top:24px !important}}

/* オンライン用シルバーボタンを重厚化 */
.button-silver{
  color:#17150e !important;
  background:linear-gradient(110deg,#8a8b8d 0%,#d5d6d8 45%,#c3c4c6 78%,#8f9092 100%) !important;
  border-color:#a8aaac !important;
  font-weight:700
}
.button-silver:hover{background:linear-gradient(110deg,#93949a 0%,#e2e3e6 45%,#cccdcf 78%,#9a9b9d 100%) !important}

/* 1. ヘッダー透明化＋スクロールで実体化 */
.header{background:transparent !important;border-bottom:0 !important;transition:background .25s ease,border-color .25s ease,backdrop-filter .25s ease}
.header.is-scrolled{background:#0d0d0dee !important;border-bottom:1px solid #c9b48033 !important;backdrop-filter:blur(10px)}
.hero{border-bottom:0 !important;margin-top:-84px}
.hero-content{padding-top:120px !important}
@media(max-width:800px){.hero{margin-top:-72px;min-height:780px !important}.hero-content{padding-top:130px !important;padding-bottom:110px !important;gap:8px}.hero-copy{margin-top:32px !important}.hero-description{margin-top:22px !important}.hero-event{margin:36px 0 18px !important}.hero-actions{margin-top:6px}}
@media(max-width:540px){.hero{margin-top:-66px;min-height:740px !important}.hero-content{padding-top:120px !important;padding-bottom:100px !important}.hero-copy{margin-top:30px !important;line-height:1.8 !important}.hero-description{margin-top:20px !important}.hero-event{margin:36px 0 18px !important;gap:20px !important}.hero-actions{margin-top:8px !important;gap:20px !important}}

/* apply.html 側: apply-hero上のグレー帯除去（余白は下の612行以降で管理） */
.apply-hero{border-bottom:0 !important}

/* 2. 明朝体で統一（見出し・本文を格調ある雰囲気に戻す） */
body,p,li,dd,input,textarea,select,button,label,legend,
.section-intro,.plan-tagline,.overview-list dd,.faq-list p,
.apply-lead,.apply-hint,.apply-fine,.apply-form label,
.compare-card li,.value-grid article>p:last-child,
.experience-grid article>p:last-child,.contact-lead,.hero-description,
.stage-band-intro p:last-child{
  font-family:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif;
  letter-spacing:.02em
}
h1,h2,h3,h4,h5,
.section-heading h2,.overview-grid h2,.faq-grid h2,.contact-section h2,
.value-grid h3,.experience-grid h3,.compare-card h3,.stage-band-item h4,
.apply-hero h1,.apply-done h2,.plan-group-title,.plan-card h4{
  font-family:'Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif;
  letter-spacing:.03em
}
/* Barlow Condensed（英数字ディスプレイ用）は保持 */
h1>span,.hero-date,.eyebrow,.hero-eyebrow,.apply-step,.apply-event-meta small,.apply-event-meta em{
  font-family:'Barlow Condensed',Arial,sans-serif
}
.hero-copy{font-family:'Noto Serif JP','Yu Mincho',serif}

/* 3. 見出しはシンプルな明朝体（四角バッジは廃止・金の下線のみ残す） */
.section-heading h2,.overview-grid h2,.faq-grid h2,
.contact-section h2,.apply-done h2,.apply-hero h1{
  display:block;
  background:none !important;
  border:0 !important;
  padding:0 !important;
  box-shadow:none !important;
  color:#f3ecdd !important;
  font-weight:600 !important;
  -webkit-text-fill-color:initial !important;
  background-clip:initial !important;
  margin-top:0
}
.section-heading h2,.overview-grid h2,.faq-grid h2,
#venue.overview-section h2,#overview.overview-section h2{font-size:38px;line-height:1.6}
.contact-section h2,.apply-done h2{font-size:40px;line-height:1.55}
.apply-hero h1{font-size:36px;line-height:1.5}

/* 見出し下の金ライン: 半分の幅に短縮 */
.section-heading h2::after,.overview-grid h2::after,.faq-grid h2::after,
.contact-section h2::after,.apply-done h2::after,.apply-hero h1::after{
  content:'';display:block;width:28px;height:2px;background:var(--gold);margin-top:20px
}
.contact-section h2::after,.apply-done h2::after{margin-inline:auto}

/* h2内のgold-text spanはそのままゴールド */
.gold-text{color:var(--gold) !important;-webkit-text-fill-color:var(--gold) !important}

/* 大見出し用eyebrowはブルー×白文字バッジ（セクション見出し・Apply hero・contact） */
.section-heading .eyebrow,.overview-grid .eyebrow,.faq-grid .eyebrow,
.contact-section .eyebrow,.apply-hero .eyebrow,.apply-step,.hero-eyebrow{
  display:inline-block;
  background:linear-gradient(135deg,#087DE3 0%,#0658a1 100%);
  color:#ffffff !important;
  padding:7px 16px;
  font-weight:800;
  letter-spacing:.08em;
  border-radius:2px;
  font-size:13px;
  box-shadow:0 3px 10px rgba(8,125,227,.35),inset 0 1px 0 rgba(255,255,255,.2);
  -webkit-text-fill-color:#ffffff !important
}
/* カード内の小eyebrowはシンプルなゴールド文字のまま */
.value-grid .eyebrow,.experience-grid .eyebrow{
  display:inline-block;
  background:none !important;
  color:var(--gold) !important;
  -webkit-text-fill-color:var(--gold) !important;
  padding:0 !important;
  box-shadow:none !important;
  font-family:'Barlow Condensed',Arial,sans-serif;
  font-weight:700;
  letter-spacing:.1em;
  font-size:14px
}
.eyebrow+h2{margin-top:20px}

/* サブ見出し (カード内h3) — 罫線＋余白でリズム統一 */
.value-grid h3,.experience-grid h3,.compare-card h3{
  padding:14px 18px;
  background:rgba(207,169,92,.06);
  border-left:3px solid var(--gold);
  font-weight:700;
  color:#eee5cf;
  font-size:20px !important;
  line-height:1.55 !important;
  margin:14px 0 20px !important
}
.value-grid h3 br,.experience-grid h3 br,.compare-card h3 br{display:none}
.compare-card h3 small{background:transparent !important;border:0 !important;padding:0 !important;color:#b5b5b2 !important;display:block;margin-top:8px;font-weight:400 !important}

/* Stage-band item h4 も同じくバッジ風 */
.stage-band-item h4{
  padding:10px 14px;
  background:rgba(207,169,92,.08);
  border-left:3px solid var(--gold);
  color:#f3ecdd;
  font-weight:700;
  font-size:16px;
  line-height:1.5
}

/* Overview listのdt(ラベル) をタグ表示に */
.overview-list dt{
  background:#252017;
  color:var(--gold);
  padding:4px 10px;
  border-radius:2px;
  font-weight:700;
  font-size:12px;
  letter-spacing:.05em;
  display:inline-block;
  height:fit-content
}

/* FAQ list summary の視認性up */
.faq-list summary{
  font-weight:700;
  color:#f3ecdd;
  padding-block:22px;
  line-height:1.7
}

/* Section-heading + #venue + #overview + #faq: 2カラム→1カラム中央寄せに統一
   eyebrow → h2(横長・改行なし) → section-intro の縦積み */
.section-heading,
#venue.overview-section .overview-grid,
#overview.overview-section .overview-grid,
#faq.faq-section .faq-grid{
  display:block !important;
  grid-template-columns:none !important;
  text-align:center !important;
  max-width:none !important;
  gap:0 !important;
  width:100%
}
.section-heading > div,
#venue.overview-section .overview-grid > div:first-child,
#overview.overview-section .overview-grid > div:first-child,
#faq.faq-section .faq-grid > div:first-child{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:20px !important;
  width:100%;
  margin-bottom:56px
}
.section-heading > div{margin-bottom:0}
/* h2内の改行は横長化のため非表示 */
.section-heading h2 br,
#venue.overview-section h2 br,
#overview.overview-section h2 br,
#faq.faq-section h2 br{display:none}
/* mobile-break だけはモバイル時に表示（FAQタイトル2段組など） */
@media(max-width:540px){
  .section-heading h2 br.mobile-break,
  #venue.overview-section h2 br.mobile-break,
  #overview.overview-section h2 br.mobile-break,
  #faq.faq-section h2 br.mobile-break{display:inline !important}
}
.section-intro{
  max-width:860px;
  margin:26px auto 0 !important;
  text-align:center;
  color:#c9c8c4;
  font-weight:500;
  line-height:1.95
}
.eyebrow{margin:0 !important}
.eyebrow+h2{margin-top:0 !important}

/* h2下の金ラインを中央寄せ */
.section-heading h2::after,
#overview.overview-section h2::after,
#faq.faq-section h2::after{margin-inline:auto}

/* #venue #overview #faq 共にセンター配置 */
#venue.overview-section .overview-grid,
#venue.overview-section .overview-grid > div:first-child,
#overview.overview-section .overview-grid,
#overview.overview-section .overview-grid > div:first-child{
  text-align:center !important;
  align-items:center !important
}
#venue.overview-section h2::after,
#overview.overview-section h2::after{margin-inline:auto !important}
/* #venue の写真とdlは中央配置 */
#venue .venue-photo{max-width:820px;margin:0 auto 22px !important}
#venue .venue-photo:first-of-type{margin-top:32px !important}
#venue .overview-list{max-width:640px;margin:36px auto 0 !important;text-align:left}
#venue .overview-list>div{grid-template-columns:140px 1fr !important;gap:24px !important;padding:22px 0 !important;justify-items:start !important;text-align:left}
#venue .overview-list dt{margin:0;text-align:left}
#venue .overview-list dd{text-align:left}
#venue .overview-list small{text-align:left}
#overview .section-intro{text-align:center !important;margin:26px auto 0 !important;max-width:860px}

/* スマホ時 #venue #overview の縦積み余白を圧縮 */
@media(max-width:800px){
  #venue.overview-section .overview-grid > div:first-child,
  #overview.overview-section .overview-grid > div:first-child{margin-bottom:26px !important}
  #venue .venue-photo{margin-bottom:12px !important}
  #venue .overview-list{margin-top:18px !important}
  #overview.overview-section .section-intro{margin-top:14px !important}
  #overview.overview-section .overview-list{margin-top:14px !important}
}
/* dl本体は「1ブロック左寄せ」を中央に配置 (dt/ddは内部で左揃え) */
#overview .overview-list{max-width:640px;margin:0 auto;text-align:left}
#overview .overview-list>div{grid-template-columns:140px 1fr !important;gap:24px !important;padding:22px 0 !important;justify-items:start !important;text-align:left}
#overview .overview-list dt{margin:0;text-align:left}
#overview .overview-list dd{text-align:left}
#overview .overview-list small{text-align:left}

#faq .faq-list{max-width:900px;margin:0 auto;text-align:left}

/* FAQ アコーディオン: 開閉モーション強化 */
.faq-list details{
  border-bottom:1px solid #38352e;
  transition:background .3s ease,border-color .3s ease;
  padding-inline:8px
}
.faq-list details[open]{
  background:linear-gradient(180deg,rgba(207,169,92,.08) 0%,rgba(207,169,92,.02) 100%);
  border-color:rgba(207,169,92,.4)
}
.faq-list summary{
  padding:26px 18px 26px 22px !important;
  gap:24px;
  font-weight:700;
  color:#f3ecdd;
  transition:color .2s ease
}
.faq-list summary:hover{color:var(--gold)}

/* + / × アイコンを円形バッジ化 */
.faq-list summary > span{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border:1.5px solid var(--gold);
  border-radius:50%;
  background:transparent;
  color:var(--gold);
  font-size:22px !important;
  font-weight:300;
  line-height:1;
  flex-shrink:0;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1),
             background .3s ease,
             color .3s ease,
             box-shadow .3s ease
}
.faq-list summary:hover > span{
  background:rgba(207,169,92,.12);
  box-shadow:0 0 14px rgba(207,169,92,.25)
}
.faq-list details[open] > summary{color:var(--gold)}
.faq-list details[open] > summary > span{
  transform:rotate(135deg) scale(1.05);
  background:var(--gold);
  color:#17150e;
  box-shadow:0 6px 18px rgba(207,169,92,.45),0 0 0 4px rgba(207,169,92,.12)
}

/* 回答本文: 開いた瞬間にフェード＋スライドイン */
.faq-list details p{
  padding:0 22px 28px !important;
  color:#dcdad2 !important;
  font-size:16px !important;
  line-height:2 !important;
  animation:faqReveal .4s ease-out
}
@keyframes faqReveal{
  from{opacity:0;transform:translateY(-10px)}
  to{opacity:1;transform:translateY(0)}
}

/* 開いてる時の左端ゴールドライン */
.faq-list details[open]{
  position:relative
}
.faq-list details[open]::before{
  content:'';
  position:absolute;
  left:0;top:0;bottom:0;
  width:3px;
  background:var(--gold);
  animation:faqLine .35s ease-out
}
@keyframes faqLine{
  from{transform:scaleY(0);transform-origin:top}
  to{transform:scaleY(1);transform-origin:top}
}

/* ============================================================
   Three.js 背景キャンバス（全ページ共通）
   ============================================================ */
#bg-canvas{
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  z-index:-1;
  pointer-events:none;
  opacity:.9
}
/* 一部セクションを半透明化してキャンバスがうっすら見えるように */
.value-section{background:#0f0f0fcc !important}
.stage-band{background:#0f0f0fe5 !important}
body{background:#050505 !important}

/* モバイル: バッジのpaddingコンパクト化 */
@media(max-width:800px){
  .section-heading h2,.overview-grid h2,.faq-grid h2,.contact-section h2,.apply-done h2{padding:16px 22px;font-size:24px}
  .apply-hero h1{padding:14px 20px;font-size:24px}
  .value-grid h3,.experience-grid h3,.compare-card h3{font-size:17px !important;padding:12px 14px}
}
@media(max-width:540px){
  .section-heading h2,.overview-grid h2,.faq-grid h2,.contact-section h2,.apply-done h2{padding:14px 18px;font-size:20px}
  .apply-hero h1{padding:12px 16px;font-size:20px}
}

/* hero-copy: 1.5倍サイズ */
.hero-copy{font-size:33px !important;font-weight:500 !important;line-height:1.65 !important}
@media(max-width:800px){.hero-copy{font-size:27px !important}}
@media(max-width:540px){.hero-copy{font-size:24px !important;line-height:1.75 !important}}
@media(max-width:360px){.hero-copy{font-size:22px !important}}

/* value-grid のカード上部画像 (カラム幅差に依存せず固定 px 高さで統一) */
.value-figure{margin:0 0 22px;overflow:hidden;border-radius:2px;border:1px solid #38352e}
.value-figure img{
  width:100% !important;
  height:220px !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block;
  transition:transform .6s ease
}
.value-grid article:hover .value-figure img{transform:scale(1.03)}
@media(max-width:1100px){.value-figure img{height:200px !important}}
@media(max-width:800px){.value-figure img{height:220px !important}}
@media(max-width:540px){.value-figure img{height:240px !important}}

/* ============================================================
   モバイル(≤540px) タイポグラフィ統一 + 開催概要の横幅是正
   ============================================================ */
@media(max-width:540px){
  /* コンテナ余白統一 */
  .container{width:calc(100% - 40px) !important}
  .section{padding:56px 0 !important}

  /* === タイトル階層（強弱） === FAQサイズを全セクションで統一 */
  .section-heading h2,
  #venue.overview-section h2,
  #overview.overview-section h2,
  #faq.faq-section h2,
  .contact-section h2,
  .apply-done h2,
  .apply-hero h1{font-size:32px !important;line-height:1.45 !important;font-weight:700 !important}

  /* FAQ セクション上部の余白を確保（他セクションと同じリズム） */
  #faq.faq-section{padding-top:56px !important;padding-bottom:56px !important}

  /* サブタイトル / eyebrow バッジ */
  .eyebrow,.hero-eyebrow,.apply-step{font-size:11px !important;padding:5px 12px !important;letter-spacing:.06em !important}
  .section-intro,.apply-lead{font-size:14px !important;line-height:1.9 !important;margin-top:20px !important}

  /* h3 (カード内見出し) */
  .value-grid h3,.experience-grid h3,.compare-card h3{font-size:18px !important;line-height:1.55 !important;font-weight:700 !important;padding:10px 14px !important;margin:12px 0 16px !important}
  .stage-band-item h4{font-size:16px !important;font-weight:700 !important;padding:8px 12px !important}

  /* 本文 (カード内テキスト) */
  .value-grid article>p:last-child,
  .experience-grid article>p:last-child{font-size:14px !important;line-height:1.9 !important;color:#dcdad2 !important}
  .compare-card li{font-size:14px !important;line-height:1.85 !important}
  .compare-card li.compare-note{font-size:13px !important}
  .compare-card h3{font-size:20px !important;padding:12px 14px !important}
  .compare-card h3 small{font-size:12px !important}

  /* === 開催概要 + 会場 (dl) の横幅是正: セクション余白と同じにして dt→dd を縦積み === */
  #overview .overview-list,
  #venue .overview-list{max-width:none !important;margin:0 auto !important;padding:0 !important;width:100% !important}
  #overview .overview-list>div,
  #venue .overview-list>div{
    grid-template-columns:1fr !important;
    gap:4px !important;
    padding:12px 0 !important;
    justify-items:start !important;
    text-align:left !important
  }
  #overview .overview-list dt,
  #venue .overview-list dt{font-size:11px !important;padding:4px 10px !important;letter-spacing:.05em !important;margin:0 !important}
  #overview .overview-list dd,
  #venue .overview-list dd{font-size:15px !important;line-height:1.7 !important;color:#e3e2dc !important;text-align:left !important;margin-top:2px !important}
  #overview .overview-list small,
  #venue .overview-list small{font-size:12px !important;line-height:1.75 !important;color:#a09a8a !important;margin-top:2px !important;display:block}

  /* === FAQ === */
  .faq-list summary{font-size:15px !important;padding:22px 12px 22px 16px !important;font-weight:700 !important;gap:16px !important}
  .faq-list details p{font-size:14px !important;line-height:1.9 !important;padding:0 16px 24px !important}
  .faq-list summary > span{width:36px !important;height:36px !important;font-size:20px !important}

  /* === Contact / Apply === */
  .contact-lead{font-size:14px !important;line-height:1.95 !important;margin:0 auto}
  .apply-buttons{gap:14px !important}
  .apply-buttons .contact-button{font-size:14px !important;padding:16px 20px !important;min-height:56px !important}
  .contact-date{font-size:11px !important;line-height:2 !important}

  /* === Stage band === */
  .stage-band{padding:32px 0 !important}
  .stage-band-intro p:last-child{font-size:20px !important;line-height:1.75 !important;font-weight:600 !important}
  .stage-band-item small{font-size:12px !important;margin-top:6px !important}
  .stage-band-item span{font-size:22px !important;margin-bottom:6px !important}

  /* === Value grid / Experience grid: モバイルで縦積み化・余白統一 === */
  .value-grid,.experience-grid{grid-template-columns:1fr !important;gap:24px !important}
  .value-grid article,.value-grid article:first-child,.value-grid article:last-child{padding:24px 0 !important;border-left:0 !important;border-top:1px solid var(--line) !important}
  .value-grid article:first-child{border-top:0 !important}
  .experience-grid article{display:block !important}
  .experience-grid figure{margin-bottom:16px !important}
  .experience-grid h3{margin-top:10px !important}

  /* index-numberが飛び出す件を修正 */
  .value-grid article{padding-left:0 !important;position:relative}
  .index-number{position:static !important;font-size:22px !important;color:var(--gold) !important;margin-bottom:12px !important;display:inline-block}

  /* === フォーム === */
  .apply-form label,.apply-form legend{font-size:14px !important}
  .apply-form input,.apply-form select,.apply-form textarea{font-size:16px !important;padding:12px 14px !important}
  .apply-hint{font-size:14px !important}
  .apply-fine{font-size:12px !important}
  .apply-done-summary > div{grid-template-columns:110px 1fr !important;font-size:13px !important}
  .apply-event-meta{gap:16px !important}
  .apply-event-meta span{font-size:14px !important}
  .apply-event-meta small{font-size:10px !important}

  /* Section-heading の周囲余白 */
  .section-heading > div{gap:16px !important;margin-bottom:32px !important}
}

/* ============================================================
   重厚感パッチ (2026-09-17)
   - 明朝を Shippori Mincho B1 に切替 (画数の詰まった重厚な打ち込み)
   - 見出しウェイト強化 + 微細な刻印風テキストシャドウで深み
   - 金色を燻し金 (#b8934a) の階調でリッチに
   - 本文ウェイト 500 で線を太らせ、チープさを解消
   - 英字ディスプレイに Cormorant Garamond を差し込み、格を上げる
   ============================================================ */
:root{
  --serif:'Shippori Mincho B1','Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif;
  --gold:#c9a55b;
  --gold-deep:#8a6a2a;
  --gold-light:#e7cc8c;
  --ink:#f5eedd
}

/* 明朝を Shippori Mincho B1 に全面差し替え (見出し・本文・引用) */
body,p,li,dd,dt,input,textarea,select,button,label,legend,
.section-intro,.plan-tagline,.overview-list dd,.faq-list p,
.apply-lead,.apply-hint,.apply-fine,.apply-form label,
.compare-card li,.value-grid article>p:last-child,
.experience-grid article>p:last-child,.contact-lead,.hero-description,
.stage-band-intro p:last-child,
h1,h2,h3,h4,h5,
.section-heading h2,.overview-grid h2,.faq-grid h2,.contact-section h2,
.value-grid h3,.experience-grid h3,.compare-card h3,.stage-band-item h4,
.apply-hero h1,.apply-done h2,.plan-group-title,.plan-card h4,
.hero-copy{
  font-family:'Shippori Mincho B1','Noto Serif JP','Yu Mincho','Hiragino Mincho ProN',serif !important;
  font-feature-settings:"palt" 1
}

/* Barlow は残しつつ、英字ディスプレイに Cormorant を並置してエレガント方向へ */
h1>span,.hero-date{
  font-family:'Cormorant Garamond','Barlow Condensed',Georgia,serif !important;
  font-weight:600 !important;
  letter-spacing:.04em !important
}
.eyebrow,.hero-eyebrow,.apply-step,.apply-event-meta small,.apply-event-meta em,
.stage-band-item span,.index-number,.feature-no,
.pie-legend li b,.price,.entry-price,.stat-number{
  font-family:'Cormorant Garamond','Barlow Condensed',Georgia,serif !important;
  font-weight:600 !important;
  letter-spacing:.06em !important
}

/* 本文は 500 まで太らせて mincho の線を強調 (チープ感の主因は 400 の細さ) */
body,p,li,dd,.section-intro,.compare-card li,.overview-list dd,
.hero-description,.contact-lead,.apply-lead,.apply-hint,
.value-grid article>p:last-child,.experience-grid article>p:last-child,
.faq-list details p{
  font-weight:500 !important;
  color:var(--ink)
}

/* 大見出し: 800 weight + 微細な刻印風シャドウ (格調と重量感) */
h1,.section-heading h2,.overview-grid h2,.faq-grid h2,
.contact-section h2,.apply-done h2,.apply-hero h1{
  font-weight:800 !important;
  letter-spacing:.04em !important;
  color:#f6ecd4 !important;
  text-shadow:
    0 1px 0 rgba(0,0,0,.55),
    0 2px 3px rgba(0,0,0,.45),
    0 0 24px rgba(201,165,91,.08)
}

/* サブ見出し (カード内 h3): 700 weight + 金色バッジをより濃く */
.value-grid h3,.experience-grid h3,.compare-card h3{
  font-weight:700 !important;
  color:#f4e6c2 !important;
  background:linear-gradient(90deg,rgba(201,165,91,.14) 0%,rgba(201,165,91,.02) 100%) !important;
  border-left:4px solid var(--gold) !important;
  letter-spacing:.04em !important;
  box-shadow:inset 0 0 0 1px rgba(201,165,91,.08),0 1px 0 rgba(0,0,0,.35)
}

/* 見出し下の金ラインを二重線に (重厚さの記号) */
.section-heading h2::after,.overview-grid h2::after,.faq-grid h2::after,
.contact-section h2::after,.apply-done h2::after,.apply-hero h1::after{
  width:60px !important;
  height:1px !important;
  background:linear-gradient(90deg,transparent,var(--gold-light),var(--gold),var(--gold-deep),transparent) !important;
  box-shadow:0 4px 0 -3px var(--gold);
  margin-top:22px !important
}

/* eyebrow バッジを燻し金グラデ + 深い影に */
.section-heading .eyebrow,.overview-grid .eyebrow,.faq-grid .eyebrow,
.contact-section .eyebrow,.apply-hero .eyebrow,.hero-eyebrow{
  background:linear-gradient(135deg,#1a1a1a 0%,#0d0d0d 100%) !important;
  color:var(--gold-light) !important;
  -webkit-text-fill-color:var(--gold-light) !important;
  border:1px solid rgba(201,165,91,.55) !important;
  padding:8px 18px !important;
  letter-spacing:.14em !important;
  font-weight:700 !important;
  box-shadow:
    0 1px 0 rgba(255,220,150,.08) inset,
    0 2px 8px rgba(0,0,0,.5),
    0 0 0 1px rgba(0,0,0,.4)
}

/* apply-step (フォームラベル) は赤系のまま重厚方向へ */
.apply-step{
  background:linear-gradient(135deg,#8f1414 0%,#5a0808 100%) !important;
  border:1px solid rgba(255,180,180,.25) !important;
  box-shadow:
    0 1px 0 rgba(255,180,180,.15) inset,
    0 2px 8px rgba(0,0,0,.5) !important;
  letter-spacing:.14em !important
}

/* Hero copy: 明朝 800 + 深い黒陰影で重量感 */
.hero-copy{
  font-weight:700 !important;
  color:#f8edd4 !important;
  letter-spacing:.03em !important;
  text-shadow:
    0 2px 0 rgba(0,0,0,.65),
    0 4px 20px rgba(0,0,0,.9),
    0 1px 3px rgba(0,0,0,.8)
}

/* Hero date: 数字を Cormorant で優雅に + 陰影 */
.hero-date{
  font-weight:600 !important;
  color:#f6ecd4 !important;
  text-shadow:
    0 2px 0 rgba(0,0,0,.55),
    0 4px 16px rgba(0,0,0,.85)
}
.hero-date>span{color:var(--gold) !important}
.hero-description{
  font-weight:500 !important;
  color:#ede3ce !important;
  text-shadow:0 1px 2px rgba(0,0,0,.8),0 2px 10px rgba(0,0,0,.6)
}

/* ボタン: 燻し金グラデ (深いブロンズ寄り) + 二段影で立体感 */
.button-gold,.plan-card .button,.entry-grid .text-link,.feature-copy .text-link,
.mobile-cta a:last-child{
  background:linear-gradient(180deg,#e7cc8c 0%,#c9a55b 48%,#a1802f 100%) !important;
  border:1px solid #7a5e1e !important;
  border-top-color:#f0dda3 !important;
  color:#1a1207 !important;
  font-weight:800 !important;
  letter-spacing:.06em !important;
  text-shadow:0 1px 0 rgba(255,240,200,.5) !important;
  box-shadow:
    0 1px 0 rgba(255,240,200,.55) inset,
    0 -2px 0 rgba(0,0,0,.18) inset,
    0 6px 14px rgba(0,0,0,.45),
    0 10px 24px rgba(0,0,0,.35) !important
}
.button-gold:hover{
  box-shadow:
    0 1px 0 rgba(255,240,200,.6) inset,
    0 -2px 0 rgba(0,0,0,.2) inset,
    0 6px 14px rgba(0,0,0,.45),
    0 0 34px rgba(231,204,140,.55),
    0 10px 24px rgba(0,0,0,.35) !important
}

/* Silver ボタン: プラチナ寄りの重厚グラデ */
.button-silver{
  background:linear-gradient(180deg,#e0e2e5 0%,#a9abae 55%,#797b7e 100%) !important;
  border:1px solid #5b5d60 !important;
  border-top-color:#eef0f2 !important;
  color:#141414 !important;
  font-weight:800 !important;
  letter-spacing:.06em !important;
  text-shadow:0 1px 0 rgba(255,255,255,.5) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.55) inset,
    0 -2px 0 rgba(0,0,0,.2) inset,
    0 6px 14px rgba(0,0,0,.45),
    0 10px 24px rgba(0,0,0,.35) !important
}

/* セクション背景を微グラデで奥行き演出 */
.value-section{background:linear-gradient(180deg,#0d0d0dee 0%,#111111ee 100%) !important}
.experience-section{background:linear-gradient(180deg,#141414 0%,#191919 100%) !important}
.compare-section{background:linear-gradient(180deg,#111 0%,#151513 100%) !important}
.overview-section{background:linear-gradient(180deg,#151515 0%,#1a1a1a 100%) !important}
.faq-section{background:linear-gradient(180deg,#111 0%,#131313 100%) !important}

/* Compare card: 光沢感のあるボーダー + 上下グラデ */
.compare-card{
  background:linear-gradient(180deg,#1e1c17 0%,#141311 100%) !important;
  border:1px solid #3a352a !important;
  border-top:3px solid var(--gold) !important;
  box-shadow:
    0 1px 0 rgba(255,220,150,.06) inset,
    0 12px 32px rgba(0,0,0,.5)
}
.compare-card.compare-online{
  background:linear-gradient(180deg,#1a1a1c 0%,#111112 100%) !important;
  border-top-color:#9a9c9f !important
}

/* Stage band: 帯背景を漆器風のディープトーンに */
.stage-band{
  background:linear-gradient(180deg,#0c0c0c 0%,#141412 100%) !important;
  border-top:1px solid #2a2620;
  border-bottom:1px solid #2a2620
}
.stage-band-intro p:last-child{
  font-weight:600 !important;
  color:#f4ead2 !important;
  letter-spacing:.04em !important
}

/* Contact 区: 高級ブランドの案内状風に金枠を仕込む
   (レザーを可視化するため、multiplyブレンドを外して半透明の暗いグラデを重ねる) */
.contact-section{
  background:
    linear-gradient(180deg,rgba(10,10,10,.55) 0%,rgba(16,14,10,.35) 55%,rgba(10,10,10,.6) 100%),
    url('./assets/bg/leather-primary.webp') center/cover !important;
  background-blend-mode:normal !important;
  border-top:1px solid var(--gold-deep) !important;
  border-bottom:1px solid var(--gold-deep) !important;
  box-shadow:
    inset 0 1px 0 rgba(201,165,91,.18),
    inset 0 -1px 0 rgba(201,165,91,.18)
}
.contact-section h2{
  color:#f8edd4 !important;
  text-shadow:
    0 1px 0 rgba(0,0,0,.6),
    0 2px 4px rgba(0,0,0,.5),
    0 0 30px rgba(201,165,91,.12) !important
}

/* Overview list: dt を焼き印風タグに */
.overview-list dt{
  background:linear-gradient(135deg,#1a1712 0%,#0e0c09 100%) !important;
  color:var(--gold-light) !important;
  border:1px solid rgba(201,165,91,.4);
  padding:5px 12px !important;
  letter-spacing:.1em !important;
  box-shadow:0 1px 0 rgba(255,220,150,.06) inset,0 2px 4px rgba(0,0,0,.4)
}
.overview-list>div{border-bottom-color:rgba(201,165,91,.15) !important}
.overview-list>div:first-child{border-top-color:var(--gold-deep) !important}

/* FAQ: 開閉バッジのゴールドを深化 */
.faq-list summary > span{
  border-color:var(--gold) !important;
  color:var(--gold-light) !important
}
.faq-list details[open] > summary > span{
  background:linear-gradient(180deg,var(--gold-light),var(--gold)) !important;
  color:#1a1207 !important;
  box-shadow:
    0 6px 18px rgba(201,165,91,.5),
    0 0 0 4px rgba(201,165,91,.12),
    0 1px 0 rgba(255,240,200,.5) inset !important
}

/* Header (スクロール時): 金の細線を追加 */
.header.is-scrolled{
  background:#0a0a0af2 !important;
  border-bottom:1px solid rgba(201,165,91,.35) !important;
  box-shadow:0 1px 0 rgba(0,0,0,.5),0 8px 24px rgba(0,0,0,.4)
}

/* ブランドテキストのウェイト強化 */
.brand>span{
  font-family:'Cormorant Garamond','Barlow Condensed',Georgia,serif !important;
  font-weight:600 !important;
  letter-spacing:.14em !important;
  color:var(--gold-light) !important
}

/* Text link (「詳細を見る」等) の下線を金色に統一 */
.text-link{
  color:var(--gold-light) !important;
  border-bottom-color:var(--gold) !important;
  font-weight:600 !important;
  letter-spacing:.04em !important
}

/* Selection color を深い金に */
::selection{background:var(--gold-deep);color:#f8edd4}

/* モバイル: 過度に大きくならないよう調整 */
@media(max-width:540px){
  h1,.section-heading h2,.overview-grid h2,.faq-grid h2,
  .contact-section h2,.apply-done h2,.apply-hero h1{
    letter-spacing:.02em !important;
    text-shadow:
      0 1px 0 rgba(0,0,0,.55),
      0 2px 2px rgba(0,0,0,.45) !important
  }
  .hero-copy{
    letter-spacing:.02em !important;
    text-shadow:
      0 1px 0 rgba(0,0,0,.6),
      0 2px 10px rgba(0,0,0,.85),
      0 1px 2px rgba(0,0,0,.8) !important
  }
}

/* ============================================================
   重厚感パッチ v2 (2026-09-17) — 太さ全開
   - 本文 500→600、大見出し 800→900 (Noto Serif JP は 900 対応)
   - サブ見出し 700→800、eyebrow 700→800
   - Cormorant Garamond の英字ディスプレイも 600→700
   - -webkit-text-stroke で+0.4px 太らせて、明朝の線の細さを完全に打ち消す
   ============================================================ */

/* 大見出し: 900 weight + Noto Serif JP 優先 (Shippori より重い印象) */
h1,h2,h3,h4,h5,
.section-heading h2,.overview-grid h2,.faq-grid h2,
.contact-section h2,.apply-done h2,.apply-hero h1{
  font-family:'Noto Serif JP','Shippori Mincho B1','Yu Mincho','Hiragino Mincho ProN',serif !important;
  font-weight:900 !important;
  -webkit-text-stroke:.3px currentColor;
  text-stroke:.3px currentColor
}

/* サブ見出し (カード内 h3・h4): 800 + text-stroke */
.value-grid h3,.experience-grid h3,.compare-card h3,
.stage-band-item h4,.plan-card h4,.plan-group-title,
.process-grid h3{
  font-weight:800 !important;
  -webkit-text-stroke:.25px currentColor
}

/* 本文: 600 weight で明朝の線を確実に太らせる */
body,p,li,dd,
.section-intro,.compare-card li,.overview-list dd,
.hero-description,.contact-lead,.apply-lead,.apply-hint,
.value-grid article>p:last-child,.experience-grid article>p:last-child,
.faq-list details p,.stage-band-intro p:last-child,
.plan-tagline,.apply-form label,.apply-form legend{
  font-weight:600 !important
}

/* eyebrow・ラベル系: 800 で焼き印風に */
.section-heading .eyebrow,.overview-grid .eyebrow,.faq-grid .eyebrow,
.contact-section .eyebrow,.apply-hero .eyebrow,.hero-eyebrow,
.apply-step,.overview-list dt,.apply-event-meta small{
  font-weight:800 !important;
  letter-spacing:.16em !important
}

/* Cormorant Garamond の英字ディスプレイも重量UP */
h1>span,.hero-date,
.stage-band-item span,.index-number,.feature-no,
.pie-legend li b,.price,.entry-price,.stat-number,
.brand>span{
  font-weight:700 !important;
  -webkit-text-stroke:.3px currentColor
}

/* Hero copy: さらに太く (700→800) + シャドウ強化 */
.hero-copy{
  font-weight:800 !important;
  -webkit-text-stroke:.4px currentColor;
  text-shadow:
    0 2px 0 rgba(0,0,0,.75),
    0 4px 24px rgba(0,0,0,.95),
    0 1px 3px rgba(0,0,0,.85) !important
}

/* Hero date: 800 で数字も重厚に */
.hero-date{font-weight:800 !important;-webkit-text-stroke:.5px currentColor}

/* FAQ summary も 800 */
.faq-list summary{font-weight:800 !important}

/* ボタンのラベル: 900 weight + text-stroke で押し出し */
.button-gold,.plan-card .button,.entry-grid .text-link,.feature-copy .text-link,
.button-silver,.button-outline,.mobile-cta a:last-child{
  font-weight:900 !important;
  -webkit-text-stroke:.2px currentColor
}

/* モバイル: text-stroke は少し弱めて字が潰れないように */
@media(max-width:540px){
  h1,h2,h3,h4,h5,
  .section-heading h2,.overview-grid h2,.faq-grid h2,
  .contact-section h2,.apply-done h2,.apply-hero h1{
    -webkit-text-stroke:.2px currentColor
  }
  .value-grid h3,.experience-grid h3,.compare-card h3,
  .stage-band-item h4,.plan-card h4{
    -webkit-text-stroke:.15px currentColor
  }
  .hero-copy{-webkit-text-stroke:.25px currentColor}
  .hero-date{-webkit-text-stroke:.3px currentColor}
}

/* ============================================================
   商材系アクセント (2026-09-17) — 視覚的に目を引く
   - .gold-text spans に金色の蛍光マーカー背景
   - 数字・キーワードをリッチな金色ハイライトに
   - CTA ボタンに脈動グロー
   - eyebrow バッジを立体的な焼き印風に
   ============================================================ */

/* 見出し内の強調 span (.gold-text) に蛍光マーカーの下線ハイライト */
.gold-text{
  position:relative;
  display:inline-block;
  color:#fff2c8 !important;
  -webkit-text-fill-color:#fff2c8 !important;
  padding:0 6px;
  z-index:0
}
.gold-text::before{
  content:'';
  position:absolute;
  left:0;right:0;bottom:6%;
  height:38%;
  background:linear-gradient(180deg,transparent 0%,rgba(231,204,140,.45) 45%,rgba(201,165,91,.65) 100%);
  z-index:-1;
  border-radius:2px
}
.gold-text::after{
  content:'';
  position:absolute;
  left:0;right:0;bottom:0;
  height:4px;
  background:linear-gradient(90deg,transparent,var(--gold),var(--gold-light),var(--gold),transparent);
  z-index:-1
}

/* Hero copy 内の重要ワード風装飾 (・後半のフレーズを強調) */
.hero-copy{position:relative}

/* Hero-date: 数字を蛍光っぽくグロー */
.hero-date{
  color:#ffedb8 !important;
  filter:drop-shadow(0 0 12px rgba(231,204,140,.35))
}
.hero-date>span{
  color:#ffd873 !important;
  filter:drop-shadow(0 0 6px rgba(255,216,115,.5))
}

/* CTA ボタン (button-gold) に脈動グロー — 常時じんわり明滅 */
@keyframes rvcCtaPulse{
  0%,100%{
    box-shadow:
      0 1px 0 rgba(255,240,200,.55) inset,
      0 -2px 0 rgba(0,0,0,.18) inset,
      0 6px 14px rgba(0,0,0,.45),
      0 10px 24px rgba(0,0,0,.35),
      0 0 0 0 rgba(255,216,115,.35)
  }
  50%{
    box-shadow:
      0 1px 0 rgba(255,240,200,.55) inset,
      0 -2px 0 rgba(0,0,0,.18) inset,
      0 6px 14px rgba(0,0,0,.45),
      0 10px 24px rgba(0,0,0,.35),
      0 0 30px 4px rgba(255,216,115,.35),
      0 0 60px 8px rgba(255,216,115,.15)
  }
}
.hero-actions .button-gold,
.contact-section .button-gold,
.apply-buttons .button-gold{
  animation:rvcCtaPulse 2.6s ease-in-out infinite
}
@media(prefers-reduced-motion:reduce){
  .hero-actions .button-gold,
  .contact-section .button-gold,
  .apply-buttons .button-gold{animation:none}
}

/* CTAの右矢印スライドアニメーションは撤去 (ユーザー指示) */
.hero-actions .button-gold>span,
.contact-section .button-gold>span,
.apply-buttons .button-gold>span{
  animation:none !important
}

/* eyebrow バッジを立体的な金焼印に (商材LPっぽい訴求ラベル) */
.section-heading .eyebrow,.overview-grid .eyebrow,.faq-grid .eyebrow,
.contact-section .eyebrow,.apply-hero .eyebrow,.hero-eyebrow{
  background:linear-gradient(180deg,#1f1a10 0%,#0a0806 100%) !important;
  color:#ffe08c !important;
  -webkit-text-fill-color:#ffe08c !important;
  border:1px solid transparent !important;
  border-image:linear-gradient(135deg,var(--gold-light),var(--gold-deep)) 1;
  padding:9px 20px !important;
  box-shadow:
    0 1px 0 rgba(255,224,140,.15) inset,
    0 -1px 0 rgba(0,0,0,.5) inset,
    0 3px 0 rgba(0,0,0,.4),
    0 6px 20px rgba(0,0,0,.6) !important
}

/* 「約10,000名」「3ステージ」等の数字強調 — .stat-number, .price, .entry-price */
.stat-number,.price,.entry-price,.pie-legend li b{
  color:#ffe08c !important;
  filter:drop-shadow(0 0 8px rgba(255,224,140,.25))
}

/* Stage band の連番 (01/02/03) を金グロー */
.stage-band-item span{
  color:var(--gold-light) !important;
  filter:drop-shadow(0 0 6px rgba(231,204,140,.4));
  font-size:36px !important
}

/* Value grid の index-number も同様に強調 */
.index-number{
  color:var(--gold-light) !important;
  filter:drop-shadow(0 0 6px rgba(231,204,140,.35))
}

/* Compare card オフライン側のリボンは削除 (ユーザー指示で撤去) */

/* ============================================================
   開催概要セクション (#overview) — 背景 #1E1E1E
   ============================================================ */
#overview.overview-section{
  background:#1E1E1E !important
}

/* ============================================================
   Stage band — 3ステージを画像カードで表示
   PC: 横並び3カラム / モバイル: 三角配置 (上に01、下に02/03)
   ============================================================ */
.stage-band-intro{margin-bottom:36px}
/* 他セクションよりも横幅を広く取る（container 上書き） */
.stage-band > .container{
  width:min(1400px, calc(100% - 48px));
}
.stage-media-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  align-items:stretch
}
.stage-media-item img{ aspect-ratio: 800/520; object-fit: contain; object-position: center top; }
.stage-media-item{
  margin:0;
  overflow:hidden;
  border-radius:6px;
  border:1px solid rgba(201,165,91,.22);
  background:#0d0d0d;
  box-shadow:0 6px 20px rgba(0,0,0,.4);
  transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease
}
.stage-media-item img{
  width:100%;
  height:auto;
  display:block;
  transition:transform .6s ease
}
.stage-media-item:hover{
  border-color:rgba(231,204,140,.55);
  box-shadow:0 12px 28px rgba(0,0,0,.55),0 0 24px rgba(201,165,91,.15);
  transform:translateY(-2px)
}
.stage-media-item:hover img{transform:scale(1.04)}

/* モバイル: 三角配置 (01が上中央 / 02,03が下段左右) — 3枚とも同サイズ */
@media(max-width:640px){
  .stage-band-intro{margin-bottom:16px !important;padding-bottom:0 !important}
  .stage-media-grid{
    grid-template-columns:1fr 1fr;
    grid-template-areas:
      "top top"
      "left right";
    gap:14px;
    max-width:462px;
    margin-inline:auto
  }
  .stage-media-item{width:100%}
  .stage-media-item:nth-child(1){
    grid-area:top;
    width:calc(50% - 7px);
    justify-self:center
  }
  .stage-media-item:nth-child(2){grid-area:left}
  .stage-media-item:nth-child(3){grid-area:right}
}
@media(max-width:400px){
  .stage-media-grid{gap:10px}
  .stage-media-item:nth-child(1){width:calc(50% - 5px)}
}

/* ============================================================
   スマホの曇り対策 — bg-canvas 不透明度を下げる
   ============================================================ */
@media(max-width:800px){
  #bg-canvas{opacity:.32 !important}
}
@media(max-width:540px){
  #bg-canvas{opacity:.22 !important}
}

/* ============================================================
   Venue セクション — 元の一枚張り写真をベースに、上に fade overlay
   (元のサイズ・フレームを完全に維持して、その上にスライド重ねる方式)
   ============================================================ */
.venue-slideshow{position:relative}
.venue-slideshow .venue-frame{
  position:relative;
  overflow:hidden;
  border-radius:2px;
  border:1px solid rgba(201,165,91,.18)
}
.venue-slideshow .venue-sizer{
  display:block !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:16/9 !important;
  object-fit:cover !important;
  visibility:visible !important
}
.venue-slide{
  position:absolute;
  inset:0;
  background:no-repeat center/cover;
  opacity:0;
  transition:opacity 1.6s ease-in-out;
  pointer-events:none
}
.venue-slide.is-active{opacity:1}
.venue-slideshow figcaption{
  position:relative;
  padding:20px 20px 28px !important;
  background:#000000cc !important;
  color:#ffffff !important;
  line-height:1.7
}
.venue-slideshow figcaption small{
  display:inline-block;
  margin-top:6px;
  color:#c9c8c4 !important;
  font-size:11px
}
@media(max-width:540px){
  .venue-slideshow figcaption{padding:16px 16px 24px !important}
}

/* ============================================================
   スマホの scroll-back で「モヤモヤ」する症状の対策
   - iOS Safari で backdrop-filter:blur + fixed WebGL の合成不具合
   - fixed canvas を明示的に GPU レイヤ化し、mobile では backdrop-filter を無効化
   ============================================================ */
#bg-canvas{
  transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden
}
@media(max-width:800px){
  /* header の backdrop-filter は iOS で描画バグ (合成失敗の主因) */
  .header,.header.is-scrolled{
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important
  }
  /* scroll-in アニメで transform を使うと iOS Safari で「消える」不具合が出る
     → mobile では transform を完全に無効化して opacity のみのフェードに */
  .section-heading,.value-grid article,.experience-grid article,.feature-story,
  .plan-card,.entry-grid article,.overview-grid>*,.process-grid li,
  .faq-list details,.contact-inner>*,.compare-card,.pie-figure,.pie-legend,
  .stage-band-item,.stage-media-item,.stage-band-intro{
    transform:none !important;
    -webkit-transform:none !important;
    transition:opacity .5s ease !important;
    will-change:auto !important
  }
  .rvc-in{transform:none !important;-webkit-transform:none !important;opacity:1 !important}
  /* hero 内のアニメーション要素も同様 */
  .hero h1,.hero-copy,.hero-description,.hero-event,.hero-actions{
    animation:none !important;
    opacity:1 !important;
    transform:none !important
  }
  /* contain:layout style を弱めて iOS の再描画ミスを防止 */
  .section,.compare-card,.value-grid article,.experience-grid article,
  .contact-inner,.apply-form,.apply-done,.stage-band,.stage-band-item,
  .hero-actions,.hero-content,.apply-buttons,.apply-done-actions{
    contain:none !important
  }
  /* mix-blend-mode は iOS で fixed 要素と組み合わせると描画抜けの原因 */
  .hero::after{mix-blend-mode:normal !important;opacity:.35 !important}
  /* CTA の脈動アニメも scroll 中の合成負荷になるので停止 */
  .hero-actions .button-gold,
  .contact-section .button-gold,
  .apply-buttons .button-gold{
    animation:none !important
  }
  /* bg-canvas は GPU レイヤに固定 (scroll 中の flicker 防止) */
  #bg-canvas{
    transform:translate3d(0,0,0) !important;
    -webkit-transform:translate3d(0,0,0) !important;
    will-change:transform
  }
}

/* ============================================================
   Compare card 上部画像 (オフライン / オンライン)
   ============================================================ */
.compare-figure{
  margin:-38px -34px 24px !important;
  overflow:hidden;
  border-radius:2px 2px 0 0;
  border-bottom:1px solid rgba(201,165,91,.2)
}
.compare-figure img{
  width:100% !important;
  height:220px !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block;
  transition:transform .6s ease
}
.compare-card:hover .compare-figure img{transform:scale(1.04)}
@media(max-width:800px){
  .compare-figure{margin:-32px -26px 22px !important}
  .compare-figure img{height:200px !important}
}
@media(max-width:540px){
  .compare-figure{margin:-28px -22px 20px !important}
  .compare-figure img{height:180px !important}
}

/* ============================================================
   プライバシーポリシー ページ + フッターリンク
   ============================================================ */
.privacy-body{max-width:820px;color:#e3e2dc}
.privacy-body article{padding:34px 0;border-bottom:1px solid rgba(201,165,91,.18)}
.privacy-body article:last-of-type{border-bottom:0}
.privacy-body h2{
  font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif !important;
  font-size:22px !important;
  font-weight:800 !important;
  color:#f0e2bd !important;
  letter-spacing:.04em !important;
  margin-bottom:16px !important;
  padding-left:14px !important;
  border-left:3px solid var(--gold) !important;
  line-height:1.5 !important
}
.privacy-body p{
  font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif !important;
  font-size:15px !important;
  line-height:1.95 !important;
  color:#e3e2dc !important;
  font-weight:500 !important;
  margin-bottom:14px
}
.privacy-body ul{
  list-style:none;
  padding:0;
  margin:16px 0 0
}
.privacy-body ul li{
  position:relative;
  padding-left:22px;
  font-size:14px;
  line-height:1.9;
  color:#d8d7d3;
  font-weight:500;
  margin-bottom:10px
}
.privacy-body ul li::before{
  content:'';
  position:absolute;
  left:0;top:.75em;
  width:8px;height:8px;
  background:var(--gold);
  border-radius:50%
}
.privacy-contact{margin-top:18px;border:1px solid rgba(201,165,91,.28);border-radius:3px;overflow:hidden;background:rgba(10,10,10,.5)}
.privacy-contact>div{
  display:grid;
  grid-template-columns:150px 1fr;
  gap:20px;
  padding:16px 22px;
  border-bottom:1px solid rgba(201,165,91,.14);
  font-size:14px
}
.privacy-contact>div:last-child{border-bottom:0}
.privacy-contact dt{color:var(--gold-light);font-weight:700;letter-spacing:.06em}
.privacy-contact dd{color:#f0efeb;font-weight:500;margin:0}
.privacy-updated{
  text-align:right;
  margin-top:26px !important;
  color:#8b8a85 !important;
  font-size:13px !important
}
.privacy-body + .apply-done-actions,
.privacy-body .apply-done-actions{margin-top:40px}
@media(max-width:540px){
  .privacy-body article{padding:26px 0}
  .privacy-body h2{font-size:18px !important}
  .privacy-body p{font-size:14px !important}
  .privacy-body ul li{font-size:13px}
  .privacy-contact>div{grid-template-columns:1fr;gap:6px;padding:14px 16px}
}

/* Footer 内のプライバシーポリシーリンク */
.footer-links{
  margin-top:6px;
  font-size:12px
}
.footer-links a{
  color:var(--gold-light);
  border-bottom:1px solid rgba(201,165,91,.4);
  padding-bottom:2px;
  transition:color .18s ease,border-color .18s ease
}
.footer-links a:hover{
  color:#fff5dd;
  border-bottom-color:var(--gold)
}

/* オンライン/オフライン参加カードの画像差し替え */
.compare-image{display:block;width:100%;aspect-ratio:1130/1390;object-fit:cover;object-position:center;margin-bottom:28px}

/* サイト初回ロード時のプリローダー */
#preloader{position:fixed;inset:0;background:#000;z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity .55s ease,visibility .55s ease}
#preloader.preloader-out{opacity:0;visibility:hidden;pointer-events:none}
.preloader-inner{display:flex;flex-direction:column;align-items:center;gap:26px}
.preloader-logo{width:min(240px,52vw);height:auto;filter:brightness(0) invert(1);opacity:.95}
.preloader-pct{font-family:var(--serif);font-size:22px;letter-spacing:.14em;color:#fff;font-weight:500;font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){
  #preloader{transition:none}
}

/* stage-band-intro の <span> (「3つのステージ」等) にも蛍光マーカー */
.stage-band-intro span{
  position:relative;
  display:inline-block;
  color:#fff2c8 !important;
  padding:0 4px;
  z-index:0
}
.stage-band-intro span::before{
  content:'';
  position:absolute;
  left:0;right:0;bottom:4%;
  height:42%;
  background:linear-gradient(180deg,transparent 0%,rgba(231,204,140,.4) 50%,rgba(201,165,91,.6) 100%);
  z-index:-1;
  border-radius:2px
}

/* apply-hero h1 にも同じくらい強い印象を */
.apply-hero h1{
  color:#fff5dd !important;
  text-shadow:
    0 2px 0 rgba(0,0,0,.7),
    0 4px 14px rgba(0,0,0,.6),
    0 0 30px rgba(201,165,91,.18) !important
}

/* Contact CTA 部の見出しに金色下線を強調 */
.contact-section h2{
  color:#fff5dd !important
}
.contact-section h2::after{
  width:120px !important;
  height:2px !important;
  background:linear-gradient(90deg,transparent,var(--gold-light),var(--gold),var(--gold-light),transparent) !important;
  box-shadow:0 6px 20px rgba(255,216,115,.25) !important
}

/* ============================================================
   フォント使い分け v4 — 大見出し + Heroタグライン だけ Noto Serif JP
   (格調が必要なセクションだけ明朝、本文/UI は Noto Sans JP のまま)
   ============================================================ */

/* Hero タグライン (「本物の、次のかたちへ。」) は明朝 700 */
.hero-copy{
  font-family:'Noto Serif JP','Shippori Mincho B1','Yu Mincho',serif !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  -webkit-text-stroke:0 !important
}

/* 大見出し (各セクションの h2 / apply-hero h1 / contact h2) は明朝 900 */
.section-heading h2,.overview-grid h2,.faq-grid h2,
.contact-section h2,.apply-done h2,.apply-hero h1{
  font-family:'Noto Serif JP','Shippori Mincho B1','Yu Mincho',serif !important;
  font-weight:900 !important;
  letter-spacing:.06em !important;
  -webkit-text-stroke:.2px currentColor
}

/* Invitation band や stage-band-intro の大コピーも明朝 */
.invitation-band p,
.stage-band-intro p:last-child{
  font-family:'Noto Serif JP','Shippori Mincho B1','Yu Mincho',serif !important;
  font-weight:700 !important;
  letter-spacing:.06em !important
}

/* サブ見出し (カード内 h3/h4) も明朝に統一 — タイトルは明朝、本文はゴシック */
.value-grid h3,.experience-grid h3,.compare-card h3,
.stage-band-item h4,.plan-card h4,.plan-group-title,
.process-grid h3{
  font-family:'Noto Serif JP','Shippori Mincho B1','Yu Mincho','Hiragino Mincho ProN',serif !important;
  font-weight:700 !important;
  letter-spacing:.05em !important
}

/* ============================================================
   曜日「（火）」の日本語表示 — Anton/Bebas Neue から Noto Sans JP へ
   ============================================================ */
.hero-date small,
.apply-event-meta em{
  font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif !important;
  font-weight:700 !important;
  letter-spacing:.02em !important
}
.hero-date small{
  font-size:26px !important;
  color:var(--gold-light) !important;
  margin-left:6px;
  vertical-align:.14em
}
.apply-event-meta em{
  color:var(--gold) !important;
  font-weight:800 !important;
  font-style:normal !important
}

/* apply-meta-fee: 「無料」を金色で目立たせる */
.apply-event-meta .apply-meta-fee{
  border:1.5px solid rgba(255,224,140,.5) !important;
  padding:8px 14px;
  border-radius:4px;
  background:linear-gradient(180deg,rgba(201,165,91,.14),rgba(201,165,91,.05));
  box-shadow:0 0 0 1px rgba(0,0,0,.3) inset,0 4px 14px rgba(201,165,91,.15)
}
.apply-event-meta .apply-meta-fee small{
  color:#ffe08c !important
}
.apply-event-meta .apply-meta-fee span{
  font-size:22px !important;
  font-weight:900 !important;
  color:#ffe08c !important;
  letter-spacing:.06em !important;
  display:flex !important;
  flex-direction:column;
  gap:2px
}
.apply-event-meta .apply-meta-fee em{
  display:block;
  font-family:'Noto Sans JP',sans-serif !important;
  font-size:11px !important;
  font-weight:500 !important;
  color:#e3e2dc !important;
  letter-spacing:.02em !important;
  margin-top:2px
}
@media(max-width:540px){
  .apply-event-meta .apply-meta-fee span{font-size:18px !important}
  .apply-event-meta .apply-meta-fee em{font-size:10px !important}
}
@media(max-width:540px){
  .hero-date small{font-size:20px !important;margin-left:4px}
}

/* ============================================================
   Apply ページのフォーム改善 (フォント統一 + 質感)
   ============================================================ */
/* Apply 全体を Noto Sans JP に統一 */
.apply-main,
.apply-form,.apply-form input,.apply-form select,.apply-form textarea,
.apply-form label,.apply-form legend,.apply-form .radio-group label,
.apply-lead,.apply-hint,.apply-fine,.apply-done-lead,
.apply-done-summary dt,.apply-done-summary dd,
.apply-event-meta span,.apply-event-meta small,
.form-error{
  font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif !important
}

/* Apply hero 内の event-meta を格上げ */
.apply-event-meta{
  padding:22px 26px !important;
  background:linear-gradient(180deg,rgba(20,17,10,.55),rgba(10,8,4,.75)) !important;
  border:1px solid rgba(201,165,91,.28) !important;
  border-radius:4px;
  box-shadow:0 1px 0 rgba(255,220,150,.08) inset,0 6px 18px rgba(0,0,0,.45)
}
.apply-event-meta small{
  font-family:'Bebas Neue','Anton',sans-serif !important;
  font-weight:400 !important;
  font-size:12px !important;
  letter-spacing:.24em !important;
  color:var(--gold-light) !important
}
.apply-event-meta span{
  font-weight:800 !important;
  color:#f5eedd !important;
  letter-spacing:.03em !important;
  font-size:18px !important
}
@media(max-width:540px){
  .apply-event-meta{padding:16px 18px !important}
  .apply-event-meta span{font-size:15px !important}
}

/* フォームラベル: ゴールドの太字で見出し感 */
.apply-form label,
.apply-form legend{
  font-weight:800 !important;
  color:#f0e2bd !important;
  letter-spacing:.06em !important;
  font-size:15px !important
}
.apply-form .req{
  color:#ff5544 !important;
  font-weight:900 !important;
  margin-left:6px !important;
  font-size:13px !important
}

/* apply-step (「お申込フォーム」ラベル) を金焼印風に */
.apply-step{
  display:inline-block !important;
  background:linear-gradient(180deg,#1f1a10 0%,#0a0806 100%) !important;
  color:#ffe08c !important;
  border:1px solid rgba(201,165,91,.55) !important;
  padding:9px 20px !important;
  font-family:'Bebas Neue','Anton',sans-serif !important;
  font-weight:400 !important;
  letter-spacing:.24em !important;
  font-size:13px !important;
  box-shadow:
    0 1px 0 rgba(255,224,140,.15) inset,
    0 -1px 0 rgba(0,0,0,.5) inset,
    0 3px 0 rgba(0,0,0,.4),
    0 6px 20px rgba(0,0,0,.6) !important
}

/* apply-hint (説明文) を Noto Sans JP + 白 */
.apply-hint{
  font-weight:500 !important;
  color:#e3e2dc !important;
  font-size:15px !important
}
.apply-hint small{
  color:#a09a8a !important;
  font-size:12px !important;
  display:inline-block;
  margin-top:6px
}

/* 入力欄: 金枠フォーカス + 深みのある背景 */
.apply-form input[type="text"],
.apply-form input[type="email"],
.apply-form input[type="tel"],
.apply-form select,
.apply-form textarea{
  background:#0a0a0a !important;
  border:1px solid #3a3730 !important;
  color:#f5eedd !important;
  font-weight:500 !important;
  font-size:16px !important;
  padding:15px 18px !important;
  border-radius:3px !important;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease
}
.apply-form input:focus,
.apply-form select:focus,
.apply-form textarea:focus{
  border-color:var(--gold) !important;
  background:#111 !important;
  box-shadow:0 0 0 3px rgba(201,165,91,.15),inset 0 1px 0 rgba(255,220,150,.05) !important
}
.apply-form input::placeholder,
.apply-form textarea::placeholder{
  color:#4d4b46 !important;
  font-weight:400 !important
}

/* Radio group: 選択カードをより高級感のあるトグルに */
.radio-group label{
  background:#0d0d0d !important;
  border:1px solid #3a3730 !important;
  padding:14px 22px !important;
  font-weight:600 !important;
  color:#d0cec8 !important;
  letter-spacing:.04em !important;
  transition:all .18s ease
}
.radio-group label:hover{
  border-color:#6b5d43 !important;
  background:#141210 !important
}
.radio-group label:has(input:checked){
  border-color:var(--gold) !important;
  background:linear-gradient(180deg,#1f1a10,#141008) !important;
  color:var(--gold-light) !important;
  font-weight:800 !important;
  box-shadow:0 0 0 2px rgba(201,165,91,.15),inset 0 1px 0 rgba(255,220,150,.1)
}

/* チェックボックス (個人情報同意) */
.field-check label{
  font-weight:600 !important;
  color:#e3e2dc !important;
  font-size:14px !important
}
.field-check input[type="checkbox"]{
  accent-color:var(--gold) !important
}

/* エラー表示 */
.form-error{
  background:linear-gradient(180deg,#3a1f18,#2a1510) !important;
  border:1px solid #e9573e !important;
  color:#ffd8cf !important;
  font-weight:600 !important;
  padding:15px 20px !important;
  font-size:14px !important
}

/* 送信ボタン (apply-submit) は 900 weight + 大きめ */
.apply-submit{
  font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif !important;
  font-weight:900 !important;
  font-size:18px !important;
  letter-spacing:.08em !important;
  min-height:66px !important;
  margin-top:12px !important
}

.apply-fine{
  font-weight:500 !important;
  color:#8b8a85 !important;
  font-size:12px !important
}

/* Apply 完了画面 (apply-done) の質感アップ */
.apply-done{
  background:linear-gradient(180deg,#1a1a1a,#141310) !important;
  border:1px solid rgba(201,165,91,.35) !important;
  padding:64px 44px !important;
  box-shadow:0 12px 40px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,220,150,.06) !important
}
.apply-done h2{
  color:#fff5dd !important;
  font-weight:900 !important;
  font-size:36px !important
}
.apply-done-lead{
  color:#e3e2dc !important;
  font-weight:500 !important
}
.apply-done-summary dt{
  color:var(--gold-light) !important;
  font-weight:700 !important;
  letter-spacing:.06em !important
}
.apply-done-summary dd{
  color:#f5eedd !important;
  font-weight:600 !important
}

@media(max-width:540px){
  .apply-form{padding:28px 22px !important;gap:20px !important}
  .apply-form label,.apply-form legend{font-size:14px !important}
  .apply-form input,.apply-form select,.apply-form textarea{font-size:16px !important;padding:13px 15px !important}
  .apply-submit{font-size:16px !important;min-height:58px !important}
  .apply-done{padding:44px 24px !important}
  .apply-done h2{font-size:26px !important}
}

/* ============================================================
   重厚感 v3 (2026-09-17) — Noto Sans JP ベース + 極太英字ディスプレイ
   参考: REAL VALUE CLUB のような、
     - 英字ヘッダー = 極太コンデンス (Anton / Bebas Neue)
     - 日本語 = Noto Sans JP 800/900 の太ゴシック
     - 金色墨飛沫 + 月桂樹バッジで実業家向けエリート感
   ============================================================ */

/* 日本語は Noto Sans JP に統一 (明朝は使わない) */
:root{
  --sans:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic UI',sans-serif;
  --industrial:'Anton','Bebas Neue','Barlow Condensed',Impact,sans-serif
}
body,p,li,dd,input,textarea,select,button,label,legend,
.section-intro,.plan-tagline,.overview-list dd,.faq-list p,
.apply-lead,.apply-hint,.apply-fine,.apply-form label,
.compare-card li,.value-grid article>p:last-child,
.experience-grid article>p:last-child,.contact-lead,.hero-description{
  font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic UI',sans-serif !important;
  font-feature-settings:"palt" 1;
  letter-spacing:.04em !important
}
/* stage-band-intro の大コピー「同時進行する3つのステージ」は明朝で強調 */
.stage-band-intro p:last-child{
  font-family:'Noto Serif JP','Shippori Mincho B1','Yu Mincho',serif !important;
  letter-spacing:.06em !important
}
/* タイトル系は明朝で統一 (本文はゴシック) */
h1,h2,h3,h4,h5,
.section-heading h2,.overview-grid h2,.faq-grid h2,.contact-section h2,
.value-grid h3,.experience-grid h3,.compare-card h3,.stage-band-item h4,
.apply-hero h1,.apply-done h2,.plan-group-title,.plan-card h4,
.hero-copy,.compare-heading,.compare-cap-jp{
  font-family:'Noto Serif JP','Shippori Mincho B1','Yu Mincho','Hiragino Mincho ProN',serif !important;
  font-feature-settings:"palt" 1;
  letter-spacing:.05em !important
}

/* 英字ディスプレイは Anton (極太コンデンス) — hero-date / 番号 / 大文字英字 */
h1>span,.hero-date,
.stage-band-item span,.index-number,.feature-no,
.pie-legend li b,.price,.entry-price,.stat-number,
.brand>span,.apply-event-meta em{
  font-family:'Anton','Bebas Neue','Barlow Condensed',Impact,sans-serif !important;
  font-weight:400 !important;
  letter-spacing:.08em !important;
  -webkit-text-stroke:0 !important
}

/* eyebrow / ラベルは Bebas Neue (少しだけ英字感を残す) */
.eyebrow,.hero-eyebrow,.apply-step,.apply-event-meta small{
  font-family:'Bebas Neue','Anton','Barlow Condensed',Impact,sans-serif !important;
  font-weight:400 !important;
  letter-spacing:.24em !important;
  -webkit-text-stroke:0 !important
}

/* 大見出しは Noto Sans JP 900 + text-stroke で最大限太く */
h1,h2,h3,h4,h5,
.section-heading h2,.overview-grid h2,.faq-grid h2,
.contact-section h2,.apply-done h2,.apply-hero h1{
  font-weight:900 !important;
  letter-spacing:.02em !important;
  -webkit-text-stroke:.4px currentColor
}

/* Hero コピー: 明朝 700 (タイトル系は明朝統一) */
.hero-copy{
  font-family:'Noto Serif JP','Shippori Mincho B1','Yu Mincho',serif !important;
  font-weight:700 !important;
  letter-spacing:.08em !important;
  -webkit-text-stroke:0 !important
}

/* Hero date: Anton の巨大数字で目線を掴む (数字は letter-spacing 詰め) */
.hero-date{
  font-family:'Anton','Bebas Neue','Barlow Condensed',Impact,sans-serif !important;
  font-weight:400 !important;
  letter-spacing:.02em !important;
  font-size:64px !important;
  -webkit-text-stroke:0 !important;
  color:#fff5dd !important
}
.hero-date small{
  font-family:'Bebas Neue','Anton',sans-serif !important;
  font-weight:400 !important;
  letter-spacing:.14em !important;
  font-size:24px !important;
  color:var(--gold-light) !important
}
.hero-date>span{
  color:var(--gold) !important;
  filter:none !important
}
@media(max-width:540px){
  .hero-date{font-size:44px !important}
  .hero-date small{font-size:18px !important}
}

/* h1 (CONFERENCE 2026 部) の英字を Anton で巨大化 */
h1>span{
  font-size:64px !important;
  letter-spacing:.06em !important;
  color:#fff !important;
  text-shadow:
    0 2px 0 rgba(0,0,0,.6),
    0 4px 24px rgba(0,0,0,.85),
    0 0 40px rgba(201,165,91,.15)
}
h1 em{color:var(--gold) !important;font-style:normal}
@media(max-width:540px){h1>span{font-size:38px !important}}

/* 本文は Noto Sans JP 500 (太ゴシックが明朝より重厚に見える) */
body,p,li,dd,
.section-intro,.compare-card li,.overview-list dd,
.hero-description,.contact-lead,.apply-lead,.apply-hint,
.value-grid article>p:last-child,.experience-grid article>p:last-child,
.faq-list details p,.stage-band-intro p:last-child,
.plan-tagline{
  font-weight:500 !important;
  -webkit-text-stroke:0 !important
}

/* サブ見出し h3/h4 : 800 太ゴシック */
.value-grid h3,.experience-grid h3,.compare-card h3,
.stage-band-item h4,.plan-card h4,.plan-group-title,
.process-grid h3{
  font-weight:800 !important;
  letter-spacing:.03em !important;
  -webkit-text-stroke:.25px currentColor
}

/* CTA ボタン: 太ゴシック 900 */
.button,.button-gold,.button-silver,.button-outline,
.plan-card .button,.entry-grid .text-link,.feature-copy .text-link,
.mobile-cta a:last-child,.apply-buttons .contact-button{
  font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif !important;
  font-weight:900 !important;
  letter-spacing:.06em !important;
  -webkit-text-stroke:.2px currentColor
}

/* Stage band の番号 (01/02/03) を Anton の巨大数字に */
.stage-band-item span{
  font-family:'Anton','Bebas Neue','Barlow Condensed',Impact,sans-serif !important;
  font-size:48px !important;
  font-weight:400 !important;
  letter-spacing:.02em !important;
  color:var(--gold-light) !important;
  filter:drop-shadow(0 0 8px rgba(231,204,140,.4)) !important;
  line-height:1 !important
}
@media(max-width:540px){.stage-band-item span{font-size:38px !important}}

/* index-number (01/02/03 in value-grid) も Anton 巨大数字 */
.index-number{
  font-family:'Anton','Bebas Neue','Barlow Condensed',Impact,sans-serif !important;
  font-size:56px !important;
  font-weight:400 !important;
  color:var(--gold-light) !important;
  filter:drop-shadow(0 0 8px rgba(231,204,140,.35)) !important;
  line-height:1 !important
}
@media(max-width:540px){.index-number{font-size:36px !important}}

/* 蛍光マーカーは撤去 (ダサく見えるので gold 単色 + 太字のみで強調) */
.gold-text::before,.gold-text::after,
.stage-band-intro span::before{display:none !important}
.gold-text{
  color:var(--gold-light) !important;
  -webkit-text-fill-color:var(--gold-light) !important;
  padding:0 !important;
  font-weight:900 !important
}
.stage-band-intro span{
  color:var(--gold-light) !important;
  padding:0 !important;
  font-weight:800 !important
}

/* 月桂樹バッジ — Stage band の各アイテムを実績バッジ風に囲む */
.stage-band-item{
  position:relative;
  padding:20px 26px 20px 88px !important;
  border-left:0 !important;
  border-top:0 !important
}
.stage-band-item::before{
  content:'';
  position:absolute;
  left:0;top:50%;
  transform:translateY(-50%);
  width:72px;height:96px;
  background:no-repeat center/contain;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 96' fill='none' stroke='%23c9a55b' stroke-width='1.6' stroke-linecap='round'><path d='M36 6 C24 12 18 22 16 40 C14 58 20 76 36 90'/><path d='M36 6 C48 12 54 22 56 40 C58 58 52 76 36 90'/><path d='M20 22 Q14 26 12 34' stroke-width='1.4'/><path d='M20 32 Q13 36 10 44' stroke-width='1.4'/><path d='M22 42 Q14 46 12 54' stroke-width='1.4'/><path d='M24 52 Q16 56 14 64' stroke-width='1.4'/><path d='M26 62 Q18 66 16 74' stroke-width='1.4'/><path d='M52 22 Q58 26 60 34' stroke-width='1.4'/><path d='M52 32 Q59 36 62 44' stroke-width='1.4'/><path d='M50 42 Q58 46 60 54' stroke-width='1.4'/><path d='M48 52 Q56 56 58 64' stroke-width='1.4'/><path d='M46 62 Q54 66 56 74' stroke-width='1.4'/></svg>");
  filter:drop-shadow(0 0 8px rgba(201,165,91,.3));
  pointer-events:none
}
.stage-band-item span{
  position:absolute;
  left:14px;top:50%;
  transform:translate(0,-50%);
  margin:0 !important;
  z-index:1;
  font-size:26px !important;
  width:44px;text-align:center
}
.stage-band-item h4{margin-top:0 !important}
@media(max-width:540px){
  .stage-band-item{padding:18px 20px 18px 74px !important}
  .stage-band-item::before{width:60px;height:80px}
  .stage-band-item span{font-size:20px !important;left:8px;width:44px}
}

/* Hero 背景に金の墨飛沫グラデを追加 (参考写真の雰囲気) */
.hero::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(ellipse 40% 30% at 12% 22%,rgba(201,165,91,.12),transparent 65%),
    radial-gradient(ellipse 35% 45% at 88% 78%,rgba(231,204,140,.1),transparent 65%),
    radial-gradient(ellipse 25% 20% at 78% 25%,rgba(201,165,91,.08),transparent 60%),
    radial-gradient(ellipse 30% 35% at 15% 82%,rgba(231,204,140,.09),transparent 60%);
  mix-blend-mode:screen
}

/* ============================================================
   Mobile 微調整 (2026-09-17 追加)
   ============================================================ */

/* Stage band 見出し (「同時進行する3つのステージを…」) を他 h2 と同格インパクトに */
@media(max-width:640px){
  .stage-band-intro p:last-child{
    font-size:38px !important;
    line-height:1.45 !important;
    font-weight:900 !important;
    letter-spacing:.02em !important;
    padding-inline:8px
  }
  .stage-band-intro br{display:none}
}
@media(max-width:420px){
  .stage-band-intro p:last-child{font-size:32px !important;line-height:1.5 !important}
}
@media(max-width:360px){
  .stage-band-intro p:last-child{font-size:28px !important}
}

/* ============================================================
   モヤモヤ根絶 (Safari モバイルでも発生) — 原因を全部潰す
   - Three.js 背景を モバイルで完全非表示 (WebGL 描画の遅延・霧が主因)
   - hero::after のゴールドオーバーレイをモバイルで完全撤去
   - mix-blend-mode / backdrop-filter を全部 normal に
   ============================================================ */
@media(max-width:900px){
  #bg-canvas{display:none !important}
  .hero::after,.hero::before{display:none !important;background:none !important;mix-blend-mode:normal !important}
  .value-section,.stage-band{background:#0f0f0f !important}
  body{background:#050505 !important}
  /* あらゆる blend-mode / filter を無効化 */
  *{
    mix-blend-mode:normal !important;
    -webkit-backdrop-filter:none !important;
    backdrop-filter:none !important
  }
  /* .contact-section の background-blend-mode も無効化 */
  .contact-section{
    background:linear-gradient(180deg,rgba(10,10,10,.75),rgba(15,13,10,.55) 55%,rgba(10,10,10,.8)),
               url('./assets/bg/leather-primary.webp') center/cover !important;
    background-blend-mode:normal !important
  }
}

/* Stage 画像 (1/2/3) をモバイルで 90% 幅に縮小 (grid column 側で幅制御) */
@media(max-width:640px){
  .stage-media-grid{
    display:grid !important;
    grid-template-columns:90% !important;
    grid-template-areas:none !important;
    justify-content:center !important;
    max-width:none !important;
    gap:16px !important
  }
  .stage-media-item,
  .stage-media-item:nth-child(1),
  .stage-media-item:nth-child(2),
  .stage-media-item:nth-child(3){
    width:100% !important;
    max-width:100% !important;
    grid-area:auto !important;
    justify-self:stretch !important;
    margin-inline:0 !important
  }
}

/* Hero: 「2026.12.15（火）」と「東京国際フォーラム」を絶対に改行させない */
.hero-date,.hero-venue{white-space:nowrap}
.hero-date small{white-space:nowrap;display:inline-block}
.hero-venue>span{white-space:nowrap}
@media(max-width:800px){
  .hero-event{gap:14px !important;flex-wrap:nowrap !important}
  .hero-date{font-size:38px !important;letter-spacing:.02em !important}
  .hero-date small{font-size:18px !important;margin-left:4px !important}
  .hero-venue{font-size:14px !important;padding-left:14px !important;line-height:1.5 !important}
  .hero-venue>span{font-size:11px !important;display:block !important;margin-top:2px}
}
@media(max-width:540px){
  .hero-event{gap:10px !important}
  .hero-date{font-size:30px !important}
  .hero-date small{font-size:14px !important}
  .hero-venue{font-size:12px !important;padding-left:10px !important;letter-spacing:-.01em !important}
  .hero-venue>span{font-size:10px !important;letter-spacing:0 !important}
}
@media(max-width:400px){
  .hero-date{font-size:26px !important;letter-spacing:0 !important}
  .hero-date small{font-size:12px !important;margin-left:2px !important}
  .hero-venue{font-size:11px !important;padding-left:8px !important}
  .hero-venue>span{font-size:9px !important}
}
@media(max-width:360px){
  .hero-event{gap:8px !important}
  .hero-date{font-size:22px !important}
  .hero-venue{font-size:10px !important}
  .hero-venue>span{font-size:8.5px !important}
}

/* (旧 1fr 縦積みルールは撤去。80% 幅の新ルールで置換) */

/* ============================================================
   参加無料バッジ — 品位を保った硬めのデザイン (ゴールド枠 + セリフ体)
   ============================================================ */
.hero-free-badge{
  display:inline-flex;
  align-items:baseline;
  justify-content:center;
  flex-wrap:wrap;
  gap:12px;
  margin:28px auto 24px;
  padding:14px 30px;
  background:linear-gradient(180deg,rgba(201,165,91,.14),rgba(201,165,91,.04));
  color:#f0dfa9;
  font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif !important;
  font-size:22px;
  font-weight:700;
  letter-spacing:.1em;
  line-height:1;
  border:1px solid rgba(224,199,147,.55);
  border-radius:2px;
  box-shadow:0 0 0 1px rgba(0,0,0,.35) inset,0 6px 22px rgba(0,0,0,.4)
}
.hero-free-badge{margin-bottom:12px}
.hero-free-badge strong{
  font-family:inherit;
  font-size:inherit;
  font-weight:700;
  color:#f0dfa9;
  letter-spacing:.1em;
  line-height:1
}
.hero-free-badge small{
  display:block;
  width:100%;
  text-align:center;
  font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif;
  font-size:11px;
  color:#b5ad97;
  font-weight:500;
  letter-spacing:.06em;
  margin-top:8px
}
@media(max-width:640px){
  .hero-free-badge{
    font-size:19px;
    padding:12px 24px;
    gap:10px;
    margin:12px auto 10px
  }
  .hero-free-badge small{font-size:10px}
}
@media(max-width:400px){
  .hero-free-badge{font-size:17px;padding:11px 20px;gap:8px;margin-top:10px;margin-bottom:8px}
  .hero-free-badge small{font-size:9.5px}
}

/* ボタン内の「無料」ピル */
.btn-free{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#e94132,#a30d0d) !important;
  color:#fff !important;
  font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.08em;
  padding:4px 10px;
  border-radius:3px;
  margin-right:8px;
  line-height:1.2;
  flex-shrink:0;
  box-shadow:0 2px 6px rgba(0,0,0,.35),0 1px 0 rgba(255,180,180,.35) inset;
  text-shadow:0 1px 1px rgba(0,0,0,.3);
  -webkit-text-stroke:0 !important;
  vertical-align:middle
}
.button-silver .btn-free{
  background:linear-gradient(180deg,#e94132,#a30d0d) !important
}
.header-cta .btn-free{font-size:10px !important;padding:3px 7px;margin-right:6px}
@media(max-width:800px){
  .header-cta .btn-free{font-size:9px !important;padding:2px 6px}
  .btn-free{font-size:11px !important;padding:3px 8px}
}
@media(max-width:540px){
  .btn-free{font-size:10px !important;padding:3px 7px;margin-right:6px}
  .header-cta .btn-free{font-size:9px !important;padding:2px 5px;margin-right:4px}
}

/* apply.html: メタラベル(開催日/会場/参加形式/参加費) を和文フォントに */
.apply-event-meta small{
  font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif !important;
  letter-spacing:.14em !important;
  font-weight:600 !important
}

/* overview list: 英字ラベル + 和ラベル の縦積み */
.overview-list dt{display:flex;flex-direction:column;gap:6px;align-items:flex-start;line-height:1.2}
.overview-list .overview-en{font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.22em;color:#8a7a58}
.overview-list .overview-jp{font-family:var(--serif);font-size:17px;font-weight:600;color:#e6d6b0;letter-spacing:.06em}
@media(max-width:800px){
  .overview-list .overview-en{font-size:10px;letter-spacing:.2em}
  .overview-list .overview-jp{font-size:16px}
}
@media(max-width:540px){
  .overview-list .overview-en{font-size:9px}
  .overview-list .overview-jp{font-size:14px}
}

/* compare セクション: 画像オーバーレイ + 大見出し + タイトル/サブテキスト式リスト */
.compare-card{padding:0 !important;overflow:hidden}
.compare-media{position:relative;margin:0}
.compare-media img{aspect-ratio:16/10;object-fit:cover;display:block;width:100%;height:auto}
.compare-media::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#000000cc 0%,#00000055 45%,#00000018 100%);pointer-events:none}
.compare-media-caption{position:absolute;top:22px;left:24px;z-index:2;display:flex;flex-direction:column;gap:4px;color:#f4ecd6}
.compare-cap-en{font-family:var(--display);font-size:44px;font-weight:600;letter-spacing:.08em;line-height:1;color:#f5e7c5}
.compare-cap-jp{font-family:var(--serif);font-size:15px;font-weight:600;color:#e2d3ae;letter-spacing:.1em;margin-top:6px}
.compare-cap-sub{font-family:var(--display);font-size:11px;font-weight:500;color:#c9bd9a;letter-spacing:.28em;margin-top:2px}
.compare-offline .compare-cap-en{color:#eed9a4}
.compare-online .compare-cap-en{color:#dfe2e6}
.compare-online .compare-cap-jp{color:#d5d7da}
.compare-online .compare-cap-sub{color:#b8bcc2}

.compare-card h3.compare-heading{
  padding:26px 30px 6px !important;
  background:transparent !important;
  border-left:0 !important;
  font-family:var(--serif) !important;
  font-size:24px !important;
  font-weight:700 !important;
  line-height:1.6 !important;
  color:#f2e6c8 !important;
  margin:0 !important
}
.compare-card h3.compare-heading br{display:inline !important}

.compare-list{list-style:none;padding:0 30px !important;margin:14px 0 26px !important;flex:1}
.compare-list li{padding-left:34px !important;position:relative;margin-bottom:16px !important;letter-spacing:0 !important}
.compare-list li b{display:block;color:#f0e5c8;font-family:'Noto Serif JP','Shippori Mincho B1','Yu Mincho',serif !important;font-size:15px;font-weight:700;line-height:1.65;letter-spacing:.04em}
.compare-list li span{display:block;color:#a5a49f;font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif !important;font-size:12px;line-height:1.75;margin-top:4px;letter-spacing:.02em}
.compare-list li::before{content:'✓';position:absolute;left:0;top:1px;color:var(--gold);font-size:18px;font-weight:800;line-height:1.6}
.compare-list li.compare-note::before{content:'×';color:#e94b3e;font-size:20px;font-weight:800;top:0}
.compare-list li.compare-note b{color:#d5d3cd;font-weight:600}
.compare-list li.compare-note span{color:#8f8d87}

.compare-card .button{margin:0 30px 30px !important;width:calc(100% - 60px) !important;justify-content:center;gap:16px}

/* ---- オフライン: ゴールドで華やかに(キラキラ) ---- */
.compare-offline{
  background:linear-gradient(180deg,#2a2620eb 0%,#1c1a17f5 60%) !important;
  border:1px solid #7a6640 !important;
  border-top:3px solid #d1b779 !important;
  box-shadow:0 0 0 1px #00000040 inset,0 12px 40px -12px rgba(209,183,121,.28),0 4px 18px rgba(0,0,0,.55) !important;
  position:relative;overflow:hidden
}
.compare-offline .compare-media::after{background:linear-gradient(180deg,#000000b0 0%,#1a140544 45%,#00000018 100%)}
.compare-offline::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at top,rgba(209,183,121,.14) 0%,transparent 55%);
  z-index:1
}
.compare-offline>*{position:relative;z-index:2}

/* ---- オンライン: グレースケール・薄暗い ---- */
.compare-online{
  background:linear-gradient(180deg,#1a1a1beb 0%,#141415f5 60%) !important;
  border:1px solid #3a3a3c !important;
  border-top:3px solid #6a6a6c !important;
  box-shadow:0 4px 14px rgba(0,0,0,.4) !important
}
.compare-online .compare-media img{filter:grayscale(.9) brightness(.68) contrast(.95)}
.compare-online .compare-media::after{background:linear-gradient(180deg,#000000d0 0%,#00000080 45%,#00000040 100%)}
.compare-online .compare-cap-en{color:#c4c6c9 !important;text-shadow:none}
.compare-online .compare-cap-jp{color:#a8abae !important}
.compare-online .compare-cap-sub{color:#83868a !important}
.compare-online .compare-list li b{color:#b8b9bb !important;font-weight:600 !important}
.compare-online .compare-list li span{color:#7a7c7e !important}
.compare-online .compare-list li::before{color:#8a8c8f !important}
.compare-online .compare-list li.compare-note::before{color:#8f5049 !important}
.compare-online .compare-list li.compare-note b{color:#909294 !important}
.compare-online .compare-list li.compare-note span{color:#65676a !important}
.compare-online .button-silver{filter:grayscale(.5) brightness(.85);color:#2a2a2a !important}

/* オンライン側は見出しを削除したので上部余白を確保 */
.compare-list--online{padding-top:26px !important}

/* ============================================================
   Hero (画像+動画背景) — FVメインビジュアルを85%幅で表示 + CTA下部
   ============================================================ */
.hero-visual-only{
  height:auto !important;min-height:0 !important;
  padding:0 !important;
  display:block !important;
  background:#101010;
  border-bottom:1px solid #7e704e;
  position:relative;
  overflow:hidden
}
.hero-visual-only .hero-content{
  padding:clamp(64px,10vw,140px) 0 clamp(64px,8vw,120px) !important;
  text-align:center;
  position:relative;
  z-index:2
}
.hero-visual-only .hero-visual{
  display:block;
  width:min(75%,1200px);
  height:auto;
  margin:0 auto clamp(14px,2vw,24px);
  filter:drop-shadow(0 12px 40px rgba(0,0,0,.55))
}
.hero-visual-only .hero-visual img{
  display:block;width:100%;height:auto;
  aspect-ratio:4167/2196
}
@media(max-width:800px){
  .hero-visual-only .hero-visual img{aspect-ratio:941/1672}
}

/* value-grid の画像サイズを統一 (縦長9:16で全画像を同サイズ表示) */
.value-figure{margin:0 0 20px !important;width:100% !important;display:block}
.value-figure img{display:block !important;width:100% !important;height:auto !important;aspect-ratio:9/16 !important;object-fit:cover !important}

/* 画像のみ (テキスト削除) レイアウト用 */
.value-grid--image-only{gap:24px}
.value-grid--image-only article{padding:0 !important;border:0 !important}
.value-grid--image-only article+article{border-left:0 !important;border-top:0 !important}
.value-grid--image-only .value-figure{margin:0 !important}
@media(max-width:800px){
  .value-grid--image-only{grid-template-columns:1fr;gap:20px}
  .value-grid--image-only article{padding:0 !important;width:95%;margin-inline:auto}
}

/* ============================================================
   overview-list ラグジュアリーリデザイン
   ============================================================ */
#venue .overview-list,#overview .overview-list{
  display:flex !important;
  flex-direction:column;
  gap:0;
  position:relative
}
#venue .overview-list>div,#overview .overview-list>div{
  display:grid !important;
  grid-template-columns:170px 1fr !important;
  gap:36px !important;
  padding:28px 4px !important;
  border:0 !important;
  border-top:0 !important;
  position:relative;
  align-items:center
}
/* ゴールドグラデーション区切り */
#venue .overview-list>div::before,#overview .overview-list>div::before{
  content:'';position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(209,183,121,.35) 20%,rgba(209,183,121,.5) 50%,rgba(209,183,121,.35) 80%,transparent 100%);
  pointer-events:none
}
#venue .overview-list>div:last-child::after,#overview .overview-list>div:last-child::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(209,183,121,.35) 20%,rgba(209,183,121,.5) 50%,rgba(209,183,121,.35) 80%,transparent 100%)
}

/* 左ラベルカード（英字＋和字を上下） */
#venue .overview-list dt,#overview .overview-list dt{
  display:flex !important;
  flex-direction:column;
  gap:4px;
  align-items:flex-start;
  padding:10px 14px !important;
  border:1px solid rgba(209,183,121,.32) !important;
  border-radius:2px;
  background:linear-gradient(180deg,rgba(209,183,121,.06),rgba(209,183,121,.02));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 2px 6px rgba(0,0,0,.25);
  min-width:0;
  position:relative
}
#venue .overview-list dt::before,#overview .overview-list dt::before{
  content:'';position:absolute;top:-1px;left:-1px;width:8px;height:8px;
  border-top:1px solid #d1b779;border-left:1px solid #d1b779;pointer-events:none
}
#venue .overview-list dt::after,#overview .overview-list dt::after{
  content:'';position:absolute;bottom:-1px;right:-1px;width:8px;height:8px;
  border-bottom:1px solid #d1b779;border-right:1px solid #d1b779;pointer-events:none
}
#venue .overview-list .overview-en,#overview .overview-list .overview-en{
  font-family:'Barlow Condensed','Bebas Neue',sans-serif !important;
  font-size:10.5px !important;
  font-weight:600 !important;
  letter-spacing:.28em !important;
  color:#a89469 !important;
  line-height:1
}
#venue .overview-list .overview-jp,#overview .overview-list .overview-jp{
  font-family:'Noto Serif JP','Shippori Mincho B1','Yu Mincho',serif !important;
  font-size:17px !important;
  font-weight:600 !important;
  color:#e8d9b5 !important;
  letter-spacing:.14em !important;
  line-height:1.2
}
/* 右コンテンツ */
#venue .overview-list dd,#overview .overview-list dd{
  font-family:'Noto Serif JP','Shippori Mincho B1','Yu Mincho',serif !important;
  font-size:17px !important;
  font-weight:500 !important;
  color:#f0e8d1 !important;
  letter-spacing:.06em !important;
  line-height:1.75 !important;
  padding-left:8px;
  border-left:1px solid rgba(209,183,121,.15);
  margin:0 !important
}
#venue .overview-list dd small,#overview .overview-list dd small{
  display:block !important;
  font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif !important;
  font-size:12.5px !important;
  color:#9a9284 !important;
  font-weight:400 !important;
  letter-spacing:.05em !important;
  margin-top:8px !important;
  line-height:1.75 !important
}

@media(max-width:800px){
  #venue .overview-list>div,#overview .overview-list>div{
    grid-template-columns:130px 1fr !important;
    gap:20px !important;
    padding:22px 4px !important
  }
  #venue .overview-list dt,#overview .overview-list dt{padding:8px 11px !important}
  #venue .overview-list .overview-en,#overview .overview-list .overview-en{font-size:9.5px !important;letter-spacing:.24em !important}
  #venue .overview-list .overview-jp,#overview .overview-list .overview-jp{font-size:14px !important;letter-spacing:.1em !important}
  #venue .overview-list dd,#overview .overview-list dd{font-size:14.5px !important}
  #venue .overview-list dd small,#overview .overview-list dd small{font-size:11.5px !important;margin-top:6px !important}
}
@media(max-width:540px){
  #venue .overview-list>div,#overview .overview-list>div{
    grid-template-columns:105px 1fr !important;
    gap:14px !important;
    padding:18px 2px !important
  }
  #venue .overview-list dt,#overview .overview-list dt{padding:7px 9px !important}
  #venue .overview-list .overview-en,#overview .overview-list .overview-en{font-size:8.5px !important;letter-spacing:.2em !important}
  #venue .overview-list .overview-jp,#overview .overview-list .overview-jp{font-size:12.5px !important}
  #venue .overview-list dd,#overview .overview-list dd{font-size:13px !important;padding-left:6px}
  #venue .overview-list dd small,#overview .overview-list dd small{font-size:10.5px !important}
}

/* ボタン類も全て明朝で統一 (btn-free の「無料」バッジは維持) */
.button,.button-gold,.button-silver,.button-outline,
.text-link,.contact-button,.apply-submit,.header-cta,
.mobile-cta a,.mobile-cta a:last-child,
.apply-buttons .contact-button,button.button{
  font-family:'Noto Serif JP','Shippori Mincho B1','Yu Mincho','Hiragino Mincho ProN',serif !important;
  letter-spacing:.08em !important
}
/* 無料バッジのみゴシック維持 */
.btn-free{font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif !important;letter-spacing:.08em !important}
.hero-visual-only .hero-actions{
  display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap
}
.hero-visual-only .hero-actions>.button{min-width:290px}
@media(max-width:800px){
  .hero-visual-only .hero-visual{width:min(85%,680px)}
  .hero-visual-only .hero-content{padding-top:36px !important}
  .hero-visual-only .hero-actions{flex-direction:column;gap:14px}
  .hero-visual-only .hero-actions>.button{width:min(100%,340px);min-width:0;min-height:52px;font-size:13px}
}
@media(max-width:540px){
  .hero-visual-only .hero-visual{width:85%}
  .hero-visual-only .hero-content{padding-top:30px !important}
}

@media(max-width:800px){
  .compare-media-caption{top:16px;left:18px}
  .compare-cap-en{font-size:36px}
  .compare-cap-jp{font-size:14px}
  .compare-card h3.compare-heading{padding:22px 22px 4px !important;font-size:21px !important}
  .compare-list{padding:0 22px !important}
  .compare-card .button{margin:0 22px 24px !important;width:calc(100% - 44px) !important}
}
@media(max-width:540px){
  .compare-cap-en{font-size:30px}
  .compare-cap-jp{font-size:13px}
  .compare-cap-sub{font-size:10px;letter-spacing:.24em}
  .compare-card h3.compare-heading{font-size:18px !important;padding:20px 20px 4px !important}
  .compare-list{padding:0 20px !important}
  .compare-list li b{font-size:13px}
  .compare-list li span{font-size:11px}
  .compare-card .button{margin:0 20px 22px !important;width:calc(100% - 40px) !important}
}
/* オフライン申込ボタン内のVIPサブラベル（中央揃え） */
.button.has-sublabel>.button-text{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;line-height:1.4;text-align:center}
.button-sublabel{display:block;font-family:var(--sans);font-size:11px;font-weight:500;color:#231d10;letter-spacing:.04em;line-height:1.5;opacity:.85}
/* オフライン/オンライン両ボタンを同じ縦横（min-height + min-width）に統一 */
.hero-actions>.button,
.apply-buttons>.button,
.compare-card>.button,
.hero-visual-only .hero-actions>.button{min-height:92px}
.hero-actions>.button,
.hero-visual-only .hero-actions>.button{min-width:320px}
.apply-buttons>.button{min-width:320px}
@media(max-width:540px){.button-sublabel{font-size:10px}.hero-actions>.button,.apply-buttons>.button,.compare-card>.button,.hero-visual-only .hero-actions>.button{min-height:76px;min-width:0}}
/* 立体的なボタン（添付画像リファレンス準拠：太い暗フレーム＋内側ハイライト＋強い外影） */
.premium-lp .hero-actions>.button,
.premium-lp .apply-buttons>.button,
.premium-lp .compare-card>.button{
  position:relative;
  border-radius:8px !important;
  justify-content:center !important;
  text-align:center !important;
  padding:14px 44px 14px 24px !important;
  gap:0 !important;
  transition:transform .12s ease,box-shadow .18s ease,filter .2s ease !important;
  font-size:15px !important;
  font-weight:700 !important;
  letter-spacing:.03em !important;
}
.premium-lp .hero-actions>.button,
.premium-lp .apply-buttons>.button,
.premium-lp .compare-card>.button{
  min-height:72px !important;
  height:72px !important;
  border-radius:100px !important;
}
/* ヘッダーCTAの洗練度に合わせた、薄フレーム + 斜めグラデ + 微光の1枚仕上げ */
.premium-lp .hero-actions>.button.button-gold,
.premium-lp .apply-buttons>.button.button-gold,
.premium-lp .compare-card>.button.button-gold{
  background:linear-gradient(115deg,#bca477,#dfceaa 52%,#bca477) !important;
  border:1px solid #d4c299 !important;
  color:#19160f !important;
  box-shadow:inset 0 1px 0 #ffffff88,0 2px 6px #00000045 !important;
  text-shadow:none !important;
}
.premium-lp .hero-actions>.button.button-silver,
.premium-lp .apply-buttons>.button.button-silver,
.premium-lp .compare-card>.button.button-silver{
  background:linear-gradient(115deg,#b5b6b8,#e1e2e2 52%,#b7b9bb) !important;
  border:1px solid #d2d2d2 !important;
  color:#151617 !important;
  box-shadow:inset 0 1px 0 #ffffffb0,0 2px 6px #00000045 !important;
  text-shadow:none !important;
}
/* ホバー：テキスト固定・微かに沈む */
.premium-lp .hero-actions>.button:hover,
.premium-lp .apply-buttons>.button:hover,
.premium-lp .compare-card>.button:hover{
  transform:none !important;
  box-shadow:inset 0 2px 5px #00000040,0 1px 3px #00000035 !important;
  filter:brightness(0.98) !important;
}
/* クリック：さらに沈む */
.premium-lp .hero-actions>.button:active,
.premium-lp .apply-buttons>.button:active,
.premium-lp .compare-card>.button:active{
  transform:none !important;
  box-shadow:inset 0 3px 8px #00000055,0 1px 2px #00000030 !important;
  filter:brightness(0.94) !important;
}
/* 右端の矢印：三角形に置換（円形背景・box-shadow・radius なし） */
.premium-lp .hero-actions>.button>span[aria-hidden="true"],
.premium-lp .apply-buttons>.button>span[aria-hidden="true"],
.premium-lp .compare-card>.button>span[aria-hidden="true"]{
  position:absolute;
  right:22px;
  top:50%;
  transform:translateY(-50%);
  width:12px;
  height:16px;
  padding:0 !important;
  font-size:0 !important;
  line-height:0 !important;
  overflow:hidden;
  background:currentColor !important;
  border-radius:0 !important;
  box-shadow:none !important;
  clip-path:polygon(0 0, 100% 50%, 0 100%);
  flex-shrink:0;
}
@media(max-width:540px){
  .premium-lp .hero-actions>.button,
  .premium-lp .apply-buttons>.button,
  .premium-lp .compare-card>.button{
    font-size:15px !important;
    padding:12px 46px 12px 22px !important;
  }
  .premium-lp .hero-actions>.button>span[aria-hidden="true"],
  .premium-lp .apply-buttons>.button>span[aria-hidden="true"],
  .premium-lp .compare-card>.button>span[aria-hidden="true"]{width:10px;height:13px;right:18px}
}
/* FVロゴ + 下部コピーブロック */
.hero-visual-only .hero-visual-fvlogo{width:min(62%,720px);margin:0 auto;filter:drop-shadow(0 8px 26px #000b)}
.hero-visual-only .hero-visual-fvlogo img{display:block;width:100%;height:auto;aspect-ratio:2172/724 !important}
@media(max-width:800px){.hero-visual-only .hero-visual-fvlogo{width:min(82%,540px)}.hero-visual-only .hero-visual-fvlogo img{aspect-ratio:2172/724 !important}}
.hero-copy-block{margin:clamp(24px,3vw,42px) auto 0;max-width:820px;padding:0 20px;position:relative;z-index:2;text-align:center}
.hero-copy-block>p{margin:0}
.hero-headline{font-family:var(--serif);font-size:clamp(20px,2.8vw,32px);font-weight:500;letter-spacing:.05em;line-height:1.7;color:#f4eedb;text-shadow:0 3px 14px #000c,0 1px 3px #000}
.hero-event-date{font-family:var(--display);font-size:clamp(28px,4vw,46px);font-weight:600;letter-spacing:.06em;margin-top:26px !important;color:#e8d5a4;text-shadow:0 3px 14px #000c,0 1px 3px #000}
.hero-event-venue{font-size:clamp(12px,1.4vw,16px);margin-top:10px !important;letter-spacing:.14em;color:#e4ddc8;text-shadow:0 2px 10px #000c}
.hero-event-fee{font-family:var(--display);font-size:clamp(16px,1.9vw,20px);margin-top:22px !important;letter-spacing:.18em;color:#f0e5c5;text-shadow:0 2px 10px #000c}
.hero-event-fee>em{font-style:normal;color:var(--gold);font-weight:700;letter-spacing:.2em;padding-left:8px}
.hero-visual-only .hero-actions{margin-top:clamp(28px,3.5vw,44px) !important}
@media(max-width:540px){
  .hero-headline{font-size:18px;line-height:1.8}
  .hero-event-date{font-size:26px;margin-top:20px !important}
  .hero-event-venue{font-size:11px;margin-top:8px !important;letter-spacing:.1em}
  .hero-event-fee{font-size:15px;margin-top:20px !important}
}
/* FV動画をはっきり・色濃く見せる：暗いshadeとvignetteを大幅に弱め、彩度を上げる */
.hero-visual-only .hero-media video{filter:saturate(1.22) contrast(1.1) brightness(1.03);opacity:1 !important}
.hero-visual-only .hero-shade{background:linear-gradient(180deg,#00000028 0%,#0000000c 32%,#00000068 78%,#000000e0 100%) !important}
.hero-visual-only::before{background:radial-gradient(ellipse at center 62%,#00000022 0%,#0000000c 50%,transparent 75%) !important}
.premium-lp .hero-visual-only::after{opacity:.12 !important}
/* テキスト側の可読性を維持するため影を強化 */
.hero-headline,.hero-event-date,.hero-event-venue,.hero-event-fee{text-shadow:0 4px 20px #000e,0 2px 6px #000d,0 1px 2px #000 !important}
.hero-visual-only .hero-visual-fvlogo{filter:drop-shadow(0 10px 30px #000e)}
/* ヘッダーメニュー：左右余白を広げクリック可能な触感に */
.premium-lp .desktop-nav{gap:4px !important;font-size:13px !important;font-weight:500 !important}
.premium-lp .desktop-nav a{
  position:relative;
  padding:10px 18px;
  border-radius:4px;
  transition:background .22s ease,color .22s ease;
}
.premium-lp .desktop-nav a::after{
  content:'';
  position:absolute;
  left:18px;right:18px;
  bottom:4px;
  height:1px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .28s cubic-bezier(.4,0,.2,1);
}
.premium-lp .desktop-nav a:hover{color:var(--gold) !important;background:#bca47714}
.premium-lp .desktop-nav a:hover::after{transform:scaleX(1)}
@media(max-width:1100px){.premium-lp .desktop-nav a{padding:8px 12px}.premium-lp .desktop-nav a::after{left:12px;right:12px}}
/* オフラインボタンの主テキスト折り返し防止 */
.button.has-sublabel>.button-text{white-space:nowrap}
/* 全部入りFV画像（テキスト無しレイアウト） */
.hero-visual-only .hero-visual-all{width:min(94%,720px) !important;margin:0 auto;filter:drop-shadow(0 10px 32px #000c)}
.hero-visual-only .hero-visual-all img{display:block;width:100%;height:auto;aspect-ratio:2913/2896 !important}
/* 参加費 無料 バッジ（新FV画像内に既に含まれるので非表示） */
.hero-fee-badge{display:none !important}
/* FV: 動画 100% フルカバー + コンテンツを下部に重ねる（グラデ透過ブレンド） */
.hero-visual-only{
  display:block !important;
  position:relative !important;
  padding:0 !important;
  min-height:min(92vh,880px) !important;
  height:auto !important;
  overflow:hidden !important;
  background:
    linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.5)),
    url('./assets/bg/leather-primary.webp') center/cover,
    #000 !important;
}
/* 既存の暗い overlay 系は撤去 */
.hero-visual-only .hero-shade,
.hero-visual-only .hero-light{display:none !important}
.hero-visual-only::after{display:none !important}
/* 動画：セクション全面カバー */
.hero-visual-only .hero-media{
  position:absolute !important;
  inset:0 !important;
  transform:none !important;
  top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:#000 !important;
  z-index:0 !important;
  aspect-ratio:auto !important;
}
.hero-visual-only .hero-media video{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  border-radius:0 !important;
  filter:saturate(1.18) contrast(1.08) brightness(1.02) !important;
  opacity:1 !important;
}
/* グラデ透過：上部は透明、画像重ね位置から濃く漆黒へ（濃いめ） */
.hero-visual-only::before{
  display:block !important;
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg,
    transparent 0%,
    transparent 28%,
    rgba(10,11,13,.35) 38%,
    rgba(10,11,13,.72) 48%,
    rgba(10,11,13,.94) 60%,
    rgba(10,11,13,1) 72%,
    rgba(10,11,13,1) 100%) !important;
  z-index:1 !important;
  pointer-events:none !important;
}
/* コンテンツ = flex 縦・上寄せ + padding-top で画像を「半分よりちょい上」に配置 */
.hero-visual-only .hero-content{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  align-items:center !important;
  min-height:min(92vh,880px) !important;
  max-width:1200px !important;
  width:100% !important;
  margin:0 auto !important;
  padding:67vh 24px 56px !important;
  text-align:center !important;
}
.hero-visual-only .hero-content>*{max-width:none !important}
.hero-visual-only .hero-visual-all{
  width:min(90%,580px) !important;
  margin:0 auto !important;
  filter:drop-shadow(0 10px 32px #000e) !important;
}
.hero-visual-only .hero-visual-all img{aspect-ratio:2913/2896 !important}
/* ボタン：横並び 2 個 */
.hero-visual-only .hero-actions{
  display:flex !important;
  flex-direction:row !important;
  justify-content:center !important;
  align-items:center !important;
  gap:24px !important;
  margin-top:36px !important;
  flex-wrap:wrap;
  max-width:none !important;
}
.hero-visual-only .hero-actions>.button{
  min-width:280px !important;
  max-width:340px !important;
  flex:0 1 auto !important;
}
/* モバイル: FV画像は動画の上にセンター配置で大きく表示。ボタンも下寄せセンター。 */
@media(max-width:640px){
  .hero-visual-only{min-height:min(100vh,880px) !important}
  .hero-visual-only .hero-content{
    min-height:min(100vh,880px) !important;
    padding:47vh 14px 40px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important
  }
  .hero-visual-only .hero-visual-all{
    width:min(96%,560px) !important;
    margin:0 auto !important;
    align-self:center !important;
    filter:drop-shadow(0 10px 28px #000e) !important
  }
  /* 動画: 上半分だけに縮小配置 + 下部を透明マスクで自然にフェード */
  .hero-visual-only .hero-media{
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    inset:auto !important;
    width:100% !important;
    height:58vh !important;
    max-height:520px !important;
    overflow:hidden !important;
  }
  .hero-visual-only .hero-media,
  .hero-visual-only .hero-media video{
    -webkit-mask-image:linear-gradient(180deg,
      #000 0%,
      #000 55%,
      rgba(0,0,0,.7) 75%,
      rgba(0,0,0,.25) 90%,
      transparent 100%) !important;
    mask-image:linear-gradient(180deg,
      #000 0%,
      #000 55%,
      rgba(0,0,0,.7) 75%,
      rgba(0,0,0,.25) 90%,
      transparent 100%) !important
  }
  /* スマホもレザー背景を可視化。上部は動画、下部はレザーがしっかり見えるよう
     ::before は淡めのフェード + 底端でも透明を維持 */
  .hero-visual-only{
    background:
      linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.4)),
      url('./assets/bg/leather-primary.webp') center/cover no-repeat,
      #0a0906 !important;
  }
  .hero-visual-only::before{
    background:linear-gradient(180deg,transparent 0%,transparent 55%,rgba(10,9,7,.28) 78%,rgba(10,9,7,.55) 100%) !important
  }
  /* ボタンはセンター、少し大きめ。画像との縦余白は詰める */
  .hero-visual-only .hero-actions{
    flex-direction:column !important;
    gap:10px !important;
    margin-top:12px !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    max-width:none !important
  }
  .hero-visual-only .hero-actions>.button{
    width:min(94%,420px) !important;
    max-width:420px !important;
    min-width:0 !important
  }
  /* 画像ボタン (gold-bt / silver-bt) の max-width:360px を上書きしてサイズアップ */
  .premium-lp .hero-visual-only .hero-actions>.button.button-gold,
  .premium-lp .hero-visual-only .hero-actions>.button.button-silver{
    max-width:420px !important;
    width:min(94%,420px) !important
  }
}

/* compare-card ボタンを画像下でセンター配置に (左寄り修正) */
.premium-lp .compare-card>.button.button-gold,
.premium-lp .compare-card>.button.button-silver{
  align-self:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:block !important;
}

/* ============================================================
   ABOUT REAL VALUE (FV直下・コンパクト・センター配置)
   ============================================================ */
.about-rv-section{
  background:#0c0d0f url('./assets/bg/leather-primary.webp') center/cover no-repeat !important;
  border-top:1px solid rgba(201,165,91,.22);
  border-bottom:1px solid rgba(201,165,91,.22);
  padding:52px 0 96px !important;
  position:relative;
  overflow:hidden;
}
.about-rv-section::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,11,13,.75) 0%,rgba(10,11,13,.55) 50%,rgba(10,11,13,.85) 100%);
}
.about-rv-inner{
  position:relative;z-index:1;
  max-width:1080px;
  margin-inline:auto;
  text-align:center;
}
.about-rv-eyebrow{
  font-size:11px !important;
  letter-spacing:.28em;
  margin-bottom:10px !important;
}
.about-rv-logo{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin:0 0 30px;
}
.about-rv-logo img{
  width:auto !important;
  height:96px !important;
  display:inline-block !important;
}
.about-rv-logo .about-rv-label{
  font-family:var(--serif);
  font-size:42px;
  font-weight:500;
  color:#ffffff;
  letter-spacing:.02em;
  margin-left:-2px;
  align-self:center;
  line-height:1;
}
.about-rv-body{
  max-width:1080px;
  margin-inline:auto;
  text-align:center;
}
.about-rv-body p{
  color:#d6d3cc;
  font-size:16px;
  line-height:2;
  margin:0 0 16px;
  word-break:keep-all;
  line-break:strict;
  overflow-wrap:normal;
}
.about-rv-body p:last-child{margin-bottom:0}
@media(max-width:640px){
  .about-rv-section{padding:36px 0 32px !important}
  /* スマホでは「REAL VALUE + とは」が完全に収まるサイズに調整 */
  .about-rv-logo{gap:6px;margin:0 0 16px}
  .about-rv-eyebrow{margin-bottom:6px !important}
  .about-rv-logo img{height:52px !important}
  .about-rv-logo .about-rv-label{font-size:24px;margin-left:0}
  /* スマホの About：セクション両端いっぱいの横幅で、センター配置、句読点で自然改行 */
  .about-rv-section .container.about-rv-inner{
    width:calc(100% - 16px) !important;
    max-width:none !important;
    padding-inline:0 !important;
    text-align:center;
  }
  .about-rv-body{
    max-width:100% !important;
    width:100%;
    padding-inline:0 !important;
    margin-inline:auto;
    text-align:center;
  }
  .about-rv-body p{
    font-size:13px;
    line-height:1.85;
    word-break:normal !important;
    line-break:strict !important;
    overflow-wrap:break-word !important;
    text-wrap:pretty;
    text-align:center;
  }
  .about-rv-body p .nowrap{ white-space:nowrap !important; }
}

/* ============================================================
   VIPプランとは (compare-section の下)
   ============================================================ */
.vip-section{
  background:#08070a !important;
  position:relative;
  border-top:1px solid rgba(201,165,91,.28);
  border-bottom:1px solid rgba(201,165,91,.28);
  overflow:hidden;
  isolation:isolate;
}
/* 背景動画はセクション全体を覆う (opacity 高めで主役に) */
.vip-bg-video{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
  pointer-events:none;
  filter:saturate(1.05) contrast(1.02) brightness(.85);
  opacity:1;
}
/* 全面に黒 70% 被せ + 上下端だけ僅かにフェードで馴染ませる (テキスト視認性優先) */
.vip-section::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:1;
  background:
    linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)),
    linear-gradient(180deg,rgba(6,5,4,.35) 0%,rgba(6,5,4,0) 18%,rgba(6,5,4,0) 82%,rgba(6,5,4,.45) 100%);
}
.vip-section>.container.vip-inner{position:relative;z-index:2}
.vip-inner{position:relative;z-index:1}
.vip-heading h2{
  font-family:var(--serif);
  color:#f4ead2 !important;
  text-shadow:0 2px 6px rgba(0,0,0,.55),0 0 30px rgba(201,165,91,.12);
}
.vip-visual-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:22px;
  margin:0 0 44px;
}
.vip-visual{
  margin:0;
  border:1px solid rgba(201,165,91,.35);
  background:#0c0b08;
  overflow:hidden;
  position:relative;
}
.vip-visual img{
  display:block;width:100%;height:auto;
  aspect-ratio:16/10;
  object-fit:cover;
  object-position:center;
}
.vip-visual-trio img{object-position:center}
.vip-visual figcaption{
  padding:12px 16px;
  font-size:12px;
  color:#d7c9a5;
  background:linear-gradient(180deg,rgba(10,9,7,.6),rgba(10,9,7,.9));
  border-top:1px solid rgba(201,165,91,.2);
  letter-spacing:.04em;
}
.vip-benefits{
  list-style:none;padding:0;margin:0 0 40px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 26px;
  max-width:960px;
  margin-left:auto;margin-right:auto;
}
.vip-benefits li{
  display:flex;gap:14px;align-items:flex-start;
  padding:26px 20px 20px;
  background:
    linear-gradient(135deg,rgba(0,0,0,.88),rgba(0,0,0,.78)),
    linear-gradient(135deg,rgba(24,20,12,.9),rgba(10,8,5,.85));
  border:1px solid rgba(201,165,91,.28);
  border-radius:3px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  box-shadow:0 6px 18px rgba(0,0,0,.5);
}
/* VALUE 01/02/03/04 の装飾ラベル */
.vip-benefits li::before{
  content:'VALUE ' attr(data-value);
  position:absolute;
  top:-14px;
  right:-8px;
  font-family:var(--display,'Cormorant Garamond',serif);
  font-size:74px;
  font-weight:700;
  letter-spacing:.05em;
  line-height:1;
  color:transparent;
  -webkit-text-stroke:1.2px rgba(201,165,91,.42);
  text-stroke:1.2px rgba(201,165,91,.42);
  opacity:.7;
  pointer-events:none;
  z-index:0;
  white-space:nowrap;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.vip-benefits li>*{position:relative;z-index:1}
.vip-benefits .vip-check{
  flex:0 0 auto;
  width:22px;height:22px;border-radius:50%;
  background:linear-gradient(135deg,#c9a55b,#e2cfa2);
  color:#1a140b;
  font-size:13px;font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;
  margin-top:2px;
  box-shadow:0 1px 0 rgba(255,220,150,.35) inset,0 2px 4px rgba(0,0,0,.4);
}
.vip-benefits b{
  display:block;
  font-family:var(--serif);
  font-size:18px;
  font-weight:700;
  letter-spacing:.03em;
  line-height:1.5;
  background:linear-gradient(110deg,
    #b8955a 0%,
    #d9b877 18%,
    #f5e6b3 34%,
    #fff9df 46%,
    #f5e6b3 58%,
    #d9b877 74%,
    #b8955a 100%);
  background-size:220% 100%;
  background-position:0% 50%;
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.6)) drop-shadow(0 0 14px rgba(233,201,140,.35));
  animation:vip-benefit-shine 5.5s ease-in-out infinite;
}
@keyframes vip-benefit-shine{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
@media(prefers-reduced-motion:reduce){
  .vip-benefits b{animation:none;background-position:50% 50%}
}
.vip-benefits small{
  display:block;
  margin-top:6px;
  font-size:12px;
  color:#f5f4f1;
  line-height:1.85;
  text-shadow:0 1px 3px rgba(0,0,0,.4);
}
.vip-cta-block{
  max-width:640px;margin:0 auto;
  text-align:center;
  padding:24px 22px;
  border:1px solid rgba(201,165,91,.35);
  background:
    linear-gradient(180deg,rgba(0,0,0,.85),rgba(0,0,0,.78)),
    linear-gradient(180deg,rgba(20,17,10,.9),rgba(12,10,7,.85));
  border-radius:3px;
  box-shadow:0 8px 22px rgba(0,0,0,.55);
}
.vip-price-note{
  margin:0 0 18px;
  color:#d7c9a5;
  font-size:13px;
  line-height:1.8;
}
.vip-price-note em{
  display:block;
  font-style:normal;
  font-family:var(--serif);
  font-size:15px;
  color:#f4ead2;
  margin-bottom:6px;
}
.vip-price-note small{
  display:block;
  font-size:11px;
  color:#a8a49b;
  line-height:1.8;
}
.premium-lp .vip-cta-block>.button.vip-cta{
  max-width:420px !important;
  width:min(96%,420px) !important;
  margin:0 auto !important;
  display:block !important;
}
/* VIP CTA は専用の画像ボタンに差し替え (VIP希望でオフライン申し込みへ) */
.premium-lp .vip-cta-block>.button.vip-cta.button-gold{
  background:url('./assets/buttons/button-vip-gold.webp') center/100% 100% no-repeat !important;
  aspect-ratio:2955/711 !important;
  min-height:0 !important;
  height:auto !important;
  padding:0 !important;
  font-size:0 !important;
  color:transparent !important;
  text-indent:-9999px !important;
  line-height:0 !important;
  overflow:hidden !important;
}
.premium-lp .vip-cta-block>.button.vip-cta.button-gold>*{display:none !important}
@media(max-width:800px){
  .vip-visual-grid{grid-template-columns:1fr;gap:16px;margin-bottom:30px}
  .vip-benefits{grid-template-columns:1fr;gap:14px}
  .vip-benefits li::before{font-size:56px;top:-10px;right:-4px}
  .vip-cta-block{padding:20px 18px}
}

/* ============================================================
   VIPプラン希望チェックボックス (オフラインフォーム限定)
   ============================================================ */
.field-vip{
  padding:16px 18px !important;
  border:1px solid rgba(201,165,91,.35) !important;
  background:linear-gradient(135deg,rgba(24,20,12,.6),rgba(16,14,10,.4)) !important;
  border-radius:4px;
}
.field-vip label{align-items:flex-start !important;gap:12px !important}
.field-vip strong{
  display:block;
  font-family:var(--serif,serif);
  font-size:15px;
  font-weight:600;
  color:var(--gold-light,#e2d1ad);
  letter-spacing:.02em;
  line-height:1.5;
}
.field-vip .vip-note{
  display:block;
  margin-top:4px;
  font-size:11px;
  color:#a8a49b;
  line-height:1.7;
}
.field-vip input[type=checkbox]{
  margin-top:3px;
  accent-color:var(--gold,#c9a55b);
}
/* VIP 購入導線 (チェック時にreveal) */
.vip-purchase{
  margin-top:18px;
  padding:18px 18px 16px;
  border:1px solid rgba(201,165,91,.4);
  background:linear-gradient(180deg,rgba(32,26,15,.65),rgba(18,15,10,.5));
  border-radius:4px;
  text-align:center;
}
.vip-purchase-lead{
  margin:0 0 14px;
  font-family:var(--serif,serif);
  font-size:14px;
  color:#f2e6c5;
  line-height:1.7;
}
.vip-purchase-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  min-height:60px;
  padding:14px 26px;
  color:#17150e;
  background:linear-gradient(110deg,#bfa369,#eddaac 48%,#c7ab6e);
  border:1px solid #e0c793;
  border-radius:6px;
  box-shadow:inset 0 1px #fff6,0 4px 12px #0007;
  text-decoration:none;
  font-size:14px;
  font-weight:700;
  letter-spacing:.02em;
  transition:transform .12s ease,box-shadow .18s ease,filter .2s ease;
  cursor:pointer;
}
.vip-purchase-cta[aria-disabled="true"]{
  filter:saturate(.75) brightness(.92);
  cursor:not-allowed;
}
.vip-purchase-cta:hover{transform:translateY(1px);box-shadow:inset 0 1px #fff6,0 3px 8px #000a}
.vip-purchase-cta .button-text{display:flex;flex-direction:column;align-items:center;line-height:1.35}
.vip-purchase-sub{
  display:block;
  margin-top:4px;
  font-size:10.5px;
  font-weight:500;
  color:#3a2f18;
  letter-spacing:.02em;
}
.vip-purchase-note{
  margin:14px 0 0;
  font-size:11px;
  color:#a8a49b;
  line-height:1.8;
}

/* ============================================================
   apply.html: オフライン専用 VIP プランご案内バナー
   ============================================================ */
.apply-vip-invite{
  padding:52px 0;
  background:#0a0906 url('./assets/bg/leather-alt.webp') center/cover no-repeat;
  border-top:1px solid rgba(201,165,91,.35);
  border-bottom:1px solid rgba(201,165,91,.35);
  position:relative;
}
.apply-vip-invite::before{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,9,7,.75) 0%,rgba(10,9,7,.55) 50%,rgba(10,9,7,.8) 100%);
}
.apply-vip-invite-inner{position:relative;z-index:1;text-align:center;max-width:720px !important}
.apply-vip-badge{
  display:inline-block;
  padding:4px 14px;
  font-family:var(--display,serif);
  font-size:11px;
  letter-spacing:.28em;
  color:#1a140b;
  background:linear-gradient(110deg,#bfa369,#eddaac 48%,#c7ab6e);
  border:1px solid #e0c793;
  border-radius:2px;
  font-weight:700;
  margin-bottom:18px;
}
.apply-vip-invite h2{
  font-family:var(--serif);
  font-size:clamp(26px,3vw,36px);
  color:#f4ead2;
  letter-spacing:.03em;
  line-height:1.4;
  text-shadow:0 2px 6px rgba(0,0,0,.5),0 0 24px rgba(201,165,91,.12);
  margin-bottom:16px;
}
.apply-vip-lead{
  color:#d7c9a5;
  font-size:14px;
  line-height:1.9;
  margin:0 auto 22px;
  max-width:560px;
}
.apply-vip-lead b{color:#f2e6c5;font-weight:600}
.apply-vip-points{
  list-style:none;padding:0;margin:0 auto 24px;
  max-width:520px;
  text-align:left;
  display:grid;gap:10px;
}
.apply-vip-points li{
  display:flex;gap:12px;align-items:flex-start;
  color:#e2d7bd;
  font-size:13px;
  line-height:1.75;
}
.apply-vip-points span{
  flex:0 0 auto;width:20px;height:20px;border-radius:50%;
  background:linear-gradient(135deg,#c9a55b,#e2cfa2);
  color:#1a140b;font-size:12px;font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;
  margin-top:2px;
  box-shadow:0 1px 0 rgba(255,220,150,.35) inset;
}
.apply-vip-price{
  margin:0 auto 24px;
  padding:14px 18px;
  max-width:520px;
  border:1px solid rgba(201,165,91,.3);
  background:linear-gradient(180deg,rgba(20,17,10,.5),rgba(12,10,7,.35));
  font-size:13px;color:#d7c9a5;line-height:1.7;
}
.apply-vip-price em{
  display:block;font-style:normal;
  font-family:var(--serif);color:#f4ead2;font-size:14px;
  margin-bottom:4px;
}
.apply-vip-price small{
  display:block;font-size:11px;color:#a8a49b;line-height:1.7;
}
.apply-vip-cta{
  display:inline-flex !important;
  min-width:280px;
  max-width:420px;
  width:min(100%,420px);
  color:#17150e !important;
  background:linear-gradient(110deg,#bfa369,#eddaac 48%,#c7ab6e) !important;
  border:1px solid #e0c793 !important;
  border-radius:5px !important;
  box-shadow:inset 0 1px #fff6,0 6px 18px #0009 !important;
  font-size:14px !important;
  font-weight:700 !important;
  padding:16px 26px !important;
  margin:0 auto !important;
  text-decoration:none;
  min-height:64px !important;
}
.apply-vip-cta:hover{
  filter:brightness(1.05);
  transform:translateY(1px);
}
.apply-vip-cta .button-text{
  display:flex;flex-direction:column;align-items:center;
  line-height:1.35;flex:1;
}
.apply-vip-cta .button-sublabel{
  display:block;margin-top:3px;font-size:10.5px;font-weight:500;color:#3a2f18;
}
@media(max-width:640px){
  .apply-vip-invite{padding:40px 0}
  .apply-vip-invite h2{font-size:22px}
  .apply-vip-lead{font-size:13px}
}

/* ============================================================
   ご参加プラン選択 (radio 2択)
   ============================================================ */
.field-plan-select{margin-bottom:8px}
.field-plan-select legend{
  font-family:var(--serif,serif);
  font-size:14px;
  color:#e2d1ad;
  letter-spacing:.05em;
  margin-bottom:12px;
}
.plan-select-group{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.plan-select-option{
  display:flex;gap:12px;align-items:flex-start;
  padding:14px 16px;
  border:1px solid rgba(201,165,91,.28);
  background:linear-gradient(135deg,rgba(20,17,10,.42),rgba(12,10,7,.28));
  border-radius:3px;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.plan-select-option input[type=radio]{
  margin-top:3px;
  accent-color:var(--gold,#c9a55b);
  flex-shrink:0;
}
.plan-select-option:hover{
  border-color:rgba(201,165,91,.55);
  background:linear-gradient(135deg,rgba(28,23,14,.55),rgba(16,13,9,.38));
}
.plan-select-option:has(input:checked){
  border-color:rgba(201,165,91,.9);
  background:linear-gradient(135deg,rgba(38,30,17,.65),rgba(20,16,10,.5));
  box-shadow:inset 0 1px 0 rgba(255,220,150,.12),0 4px 12px rgba(0,0,0,.35);
}
.plan-select-vip:has(input:checked){
  border-color:#e0c793;
  box-shadow:inset 0 1px 0 rgba(255,220,150,.22),0 6px 18px rgba(201,165,91,.18),0 6px 18px rgba(0,0,0,.35);
}
.plan-select-body{display:block;flex:1}
.plan-select-body b{
  display:block;
  font-family:var(--serif,serif);
  font-size:14px;
  color:#f2e6c5;
  font-weight:600;
  letter-spacing:.02em;
  line-height:1.5;
}
.plan-select-vip .plan-select-body b::before{
  content:'VIP';
  display:inline-block;
  padding:1px 8px;
  margin-right:8px;
  font-family:var(--display,serif);
  font-size:10px;
  letter-spacing:.2em;
  color:#1a140b;
  background:linear-gradient(110deg,#bfa369,#eddaac 48%,#c7ab6e);
  border-radius:2px;
  vertical-align:middle;
  font-weight:700;
}
.plan-select-body small{
  display:block;
  margin-top:4px;
  font-size:11px;
  color:#a8a49b;
  line-height:1.7;
}
@media(max-width:640px){
  .plan-select-group{grid-template-columns:1fr}
}
/* VIP選択肢は選択前からゴールド面＋光が流れるアニメーションで目立たせる */
.plan-select-vip,
.plan-select-vip:hover,
.plan-select-vip:has(input:checked){
  position:relative;
  overflow:hidden;
  border-color:#f3e2b6;
  background:linear-gradient(115deg,#b8995c,#ecd8a6 46%,#c9ac6f);
  box-shadow:0 0 0 1px rgba(243,226,182,.4),0 8px 26px rgba(201,165,91,.3),0 6px 18px rgba(0,0,0,.35);
}
.plan-select-vip::after{
  content:'';
  position:absolute;
  top:0;left:0;
  width:45%;height:100%;
  background:linear-gradient(105deg,transparent 0%,rgba(255,250,232,0) 20%,rgba(255,250,232,.75) 50%,rgba(255,250,232,0) 80%,transparent 100%);
  transform:translateX(-120%) skewX(-18deg);
  animation:vip-shine 3.6s ease-in-out infinite;
  pointer-events:none;
}
@keyframes vip-shine{
  0%{transform:translateX(-120%) skewX(-18deg)}
  45%,100%{transform:translateX(330%) skewX(-18deg)}
}
.plan-select-vip:hover{filter:brightness(1.04)}
.plan-select-vip:has(input:checked){
  box-shadow:0 0 0 2px #f6e7bf,0 0 28px rgba(237,218,172,.55),0 6px 18px rgba(0,0,0,.35);
}
.plan-select-vip input[type=radio]{accent-color:#1a140b}
.plan-select-vip .plan-select-body b{color:#1a140b}
.plan-select-vip .plan-select-body b::before{color:#eddaac;background:#1a140b}
.plan-select-vip .plan-select-body small{color:#3b2f17}
@media (prefers-reduced-motion:reduce){
  .plan-select-vip::after{animation:none;display:none}
}
/* PC (>=900px): 左に FV 画像+ボタン、右に動画。中央グループ配置で寄せる */
@media(min-width:900px){
  .hero-visual-only{
    display:grid !important;
    grid-template-columns:auto auto !important;
    align-items:center !important;
    column-gap:24px !important;
    padding:140px 32px 80px !important;
    min-height:720px !important;
    height:auto !important;
    overflow:hidden !important;
    justify-content:center !important;
  }
  /* 動画：右カラム、左端はマスクでフェード → 背景に馴染ませる */
  .hero-visual-only .hero-media{
    grid-column:2 !important;
    grid-row:1 !important;
    position:relative !important;
    inset:auto !important;
    top:auto !important;left:auto !important;right:auto !important;bottom:auto !important;
    transform:none !important;
    width:100% !important;
    aspect-ratio:1/1 !important;
    height:auto !important;
    border-radius:0 !important;
    overflow:hidden !important;
    box-shadow:none !important;
    background:transparent !important;
    z-index:1 !important;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.4) 10%,#000 22%,#000 92%,rgba(0,0,0,.55) 98%,transparent 100%) !important;
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.4) 10%,#000 22%,#000 92%,rgba(0,0,0,.55) 98%,transparent 100%) !important;
    -webkit-mask-composite:source-over !important;
  }
  .hero-visual-only .hero-media video{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    border-radius:0 !important;
  }
  /* 全画面グラデを撤去（左カラム用に薄い黒暈しだけ） */
  .hero-visual-only::before{
    background:linear-gradient(90deg,rgba(10,11,13,.75) 0%,rgba(10,11,13,.35) 35%,rgba(10,11,13,.05) 55%,transparent 70%) !important;
    z-index:0 !important;
  }
  /* コンテンツ = 左カラム、動画に寄せる */
  .hero-visual-only .hero-content{
    grid-column:1 !important;
    grid-row:1 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    min-height:0 !important;
    width:min(48vw,440px) !important;
    max-width:440px !important;
    margin:0 !important;
    padding:0 !important;
    text-align:center !important;
  }
  .hero-visual-only .hero-visual-all{
    width:100% !important;
    margin:0 !important;
    filter:drop-shadow(0 8px 24px #000e) !important;
  }
  .hero-visual-only .hero-media{
    width:min(48vw,520px) !important;
  }
  .hero-visual-only .hero-actions{
    justify-content:center !important;
    gap:12px !important;
    margin-top:28px !important;
    flex-wrap:nowrap !important;
    max-width:none !important;
    width:100% !important;
  }
  .hero-visual-only .hero-actions>.button{
    flex:1 1 0 !important;
    min-width:0 !important;
    max-width:none !important;
    padding:14px 40px 14px 22px !important;
    font-size:14px !important;
  }
  .hero-visual-only .hero-actions>.button>span[aria-hidden="true"]{right:16px !important}
  .hero-visual-only .button.has-sublabel>.button-text{white-space:normal !important;line-height:1.3 !important}
  .hero-visual-only .button-sublabel{font-size:10px !important;letter-spacing:.02em !important}
}
/* ボタン hover 時、内側の translateX(4px) 移動を打ち消す */
.premium-lp .hero-actions>.button:hover>span[aria-hidden="true"],
.premium-lp .apply-buttons>.button:hover>span[aria-hidden="true"],
.premium-lp .compare-card>.button:hover>span[aria-hidden="true"]{
  transform:translateY(-50%) !important;
}
.premium-lp .hero-actions>.button:hover .button-text,
.premium-lp .apply-buttons>.button:hover .button-text,
.premium-lp .compare-card>.button:hover .button-text{
  transform:none !important;
}
.premium-lp .hero-actions>.button:hover,
.premium-lp .apply-buttons>.button:hover,
.premium-lp .compare-card>.button:hover{
  transform:none !important;
}
/* ============================================================
   ボタンを画像に差し替え（gold-bt / silver-bt / header-bt）
   ============================================================ */
/* オフライン / オンライン ボタンを画像で置換 */
.premium-lp .hero-actions>.button.button-gold,
.premium-lp .apply-buttons>.button.button-gold,
.premium-lp .compare-card>.button.button-gold{
  background:url('./assets/buttons/button-gold-offline.v20261014.webp') center/100% 100% no-repeat !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:0 6px 18px #0007,0 2px 4px #0005 !important;
  aspect-ratio:2955/711 !important;
  width:100% !important;
  max-width:360px !important;
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  text-shadow:none !important;
  filter:none !important;
  overflow:hidden;
  transition:transform .12s ease,box-shadow .18s ease,filter .2s ease !important;
}
.premium-lp .hero-actions>.button.button-silver,
.premium-lp .apply-buttons>.button.button-silver,
.premium-lp .compare-card>.button.button-silver{
  background:url('./assets/buttons/button-silver-online.webp') center/100% 100% no-repeat !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:0 6px 18px #0007,0 2px 4px #0005 !important;
  aspect-ratio:2955/711 !important;
  width:100% !important;
  max-width:360px !important;
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  text-shadow:none !important;
  filter:none !important;
  overflow:hidden;
  transition:transform .12s ease,box-shadow .18s ease,filter .2s ease !important;
}
/* ボタン内側の テキスト / 矢印 / サブラベル をすべて非表示（画像内に含まれる） */
.premium-lp .hero-actions>.button.button-gold>*,
.premium-lp .hero-actions>.button.button-silver>*,
.premium-lp .apply-buttons>.button.button-gold>*,
.premium-lp .apply-buttons>.button.button-silver>*,
.premium-lp .compare-card>.button.button-gold>*,
.premium-lp .compare-card>.button.button-silver>*{display:none !important}
/* hover: 少しブライトネスと影を強めるだけ、テキスト固定は担保 */
.premium-lp .hero-actions>.button.button-gold:hover,
.premium-lp .hero-actions>.button.button-silver:hover,
.premium-lp .apply-buttons>.button.button-gold:hover,
.premium-lp .apply-buttons>.button.button-silver:hover,
.premium-lp .compare-card>.button.button-gold:hover,
.premium-lp .compare-card>.button.button-silver:hover{
  filter:brightness(1.06) !important;
  box-shadow:0 10px 24px #0009,0 3px 6px #0007 !important;
  transform:none !important;
}
.premium-lp .hero-actions>.button.button-gold:active,
.premium-lp .hero-actions>.button.button-silver:active,
.premium-lp .apply-buttons>.button.button-gold:active,
.premium-lp .apply-buttons>.button.button-silver:active,
.premium-lp .compare-card>.button.button-gold:active,
.premium-lp .compare-card>.button.button-silver:active{
  filter:brightness(0.94) !important;
  box-shadow:0 3px 8px #0007 !important;
  transform:none !important;
}
/* PC 2 カラム: ボタンは縦積みに (アスペクト 4.6:1 なので横並びだと詰まる) */
@media(min-width:900px){
  .hero-visual-only .hero-actions{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:14px !important;
    width:100% !important;
    max-width:360px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .hero-visual-only .hero-actions>.button{
    flex:0 0 auto !important;
    width:100% !important;
    max-width:360px !important;
  }
}
/* ヘッダー CTA: コードベースのボタンに戻す (画像差し替えなし) */
.premium-lp .header-cta{
  background:transparent !important;
  aspect-ratio:auto !important;
  width:auto !important;
  height:auto !important;
  padding:9px 18px !important;
  min-height:0 !important;
}
.premium-lp .header-cta>*{display:inline-flex !important}

/* オンライン/オフライン参加ボタン: 画像内にテキスト焼き込み済みなので、
   HTML内のテキストノード（直接テキスト "オンライン参加を申し込む" 等）を確実に隠す */
.premium-lp .hero-actions>.button.button-gold,
.premium-lp .hero-actions>.button.button-silver,
.premium-lp .apply-buttons>.button.button-gold,
.premium-lp .apply-buttons>.button.button-silver,
.premium-lp .compare-card>.button.button-gold,
.premium-lp .compare-card>.button.button-silver{
  font-size:0 !important;
  color:transparent !important;
  text-indent:-9999px !important;
  line-height:0 !important;
}
/* 押し込み系ホバー: ゴールド / シルバー / ヘッダーCTA 共通 */
.premium-lp .hero-actions>.button.button-gold,
.premium-lp .hero-actions>.button.button-silver,
.premium-lp .apply-buttons>.button.button-gold,
.premium-lp .apply-buttons>.button.button-silver,
.premium-lp .compare-card>.button.button-gold,
.premium-lp .compare-card>.button.button-silver,
.premium-lp .vip-cta-block>.button.vip-cta.button-gold,
.premium-lp .header-cta{
  transition:transform .12s cubic-bezier(.2,.9,.3,1),box-shadow .18s ease,filter .2s ease !important;
}
.premium-lp .hero-actions>.button.button-gold:hover,
.premium-lp .hero-actions>.button.button-silver:hover,
.premium-lp .apply-buttons>.button.button-gold:hover,
.premium-lp .apply-buttons>.button.button-silver:hover,
.premium-lp .compare-card>.button.button-gold:hover,
.premium-lp .compare-card>.button.button-silver:hover,
.premium-lp .vip-cta-block>.button.vip-cta.button-gold:hover,
.premium-lp .header-cta:hover{
  transform:translateY(2px) scale(.985) !important;
  box-shadow:0 3px 8px #0009,inset 0 2px 4px #0007 !important;
  filter:brightness(.95) !important;
}
.premium-lp .hero-actions>.button.button-gold:active,
.premium-lp .hero-actions>.button.button-silver:active,
.premium-lp .apply-buttons>.button.button-gold:active,
.premium-lp .apply-buttons>.button.button-silver:active,
.premium-lp .compare-card>.button.button-gold:active,
.premium-lp .compare-card>.button.button-silver:active,
.premium-lp .vip-cta-block>.button.vip-cta.button-gold:active,
.premium-lp .header-cta:active{
  transform:translateY(3px) scale(.975) !important;
  box-shadow:0 1px 4px #000c,inset 0 3px 6px #0009 !important;
  filter:brightness(.88) !important;
}

/* MAFIA 見出し (REAL VALUE / MAFIA) がスマホで2行になる際、行間を詰める */
@media(max-width:640px){
  .premium-lp .mafia-heading h2{
    row-gap:0 !important;
    line-height:1 !important;
    margin-top:18px !important;
  }
  .mafia-title-en,
  .mafia-title-ja{
    line-height:1 !important;
  }
  .mafia-title-en{margin-bottom:-2px !important}
  .mafia-title-ja{margin-top:-2px !important}
}

/* ============================================================
   モバイル スクロールパフォーマンス最適化
   ============================================================ */
@media(max-width:900px){
  html{scroll-behavior:auto}
  /* 各セクションの合成レイヤを個別化しつつ、必要なところだけ GPU 促進 */
  .hero-visual-only,
  .about-rv-section,
  .stage-band,
  .value-section,
  .experience-section,
  .compare-section,
  .vip-section,
  .mafia-section,
  .guest-section,
  #overview.overview-section,
  .faq-section,
  .contact-section{
    contain:content;
    transform:translateZ(0);
    -webkit-backface-visibility:hidden;
    backface-visibility:hidden;
  }
  /* 画面外はレンダリングを遅延させる (Chromium/Safari 17+) */
  .stage-band,
  .value-section,
  .experience-section,
  .compare-section,
  .mafia-section,
  .guest-section,
  #overview.overview-section,
  .faq-section{
    content-visibility:auto;
    contain-intrinsic-size:auto 900px;
  }
  /* attachment:fixed の残りを念のためリセット */
  *{background-attachment:scroll !important}
  /* 高負荷の drop-shadow / filter を軽量化 */
  .hero-visual-only .hero-visual-all,
  .hero-visual-only .hero-media video{
    will-change:auto;
  }
}

/* ---------- ロゴを REAL VALUE CONFERENCE 2026 ロックアップ画像に統一 (2026-09-24) ---------- */
.brand img{height:auto !important;width:100% !important;max-height:none !important;object-fit:contain;display:block}
.brand>span{display:none !important}
.preloader-logo{filter:none !important;width:min(260px,56vw) !important;height:auto !important}

/* 申込ページ上部の「時間」は4項目並ぶため1行全幅で表示 */
.apply-event-meta>.apply-meta-time{flex-basis:100%}
.apply-event-meta>.apply-meta-time span{line-height:1.7}
.apply-event-meta>.apply-meta-time em{margin-right:2px}

/* 企業・団体向けの追加項目（従業員規模・業界・経営課題） */
.corp-fields{display:flex;flex-direction:column;gap:inherit}
.apply-form .corp-fields{gap:28px}
.apply-form select{appearance:none;-webkit-appearance:none;width:100%;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#c9a55b 50%),linear-gradient(135deg,#c9a55b 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:44px}
.apply-form select:invalid{color:#8b8a85}
.apply-form select option{color:#f3f3f1;background:#0f0f0f}
.field-challenges .field-note{display:inline-block;margin-left:6px;font-size:12px;color:#a8a49b;font-weight:400}
.check-group{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.check-group label{display:flex;align-items:center;gap:10px;background:#0f0f0f;border:1px solid #45423b;padding:12px 16px;cursor:pointer;transition:all .2s;font-weight:400;color:#d0cec8;font-size:14px;line-height:1.5}
.check-group label:hover{border-color:#6b5d43}
.check-group input[type="checkbox"]{accent-color:var(--gold);width:16px;height:16px;margin:0;flex-shrink:0}
.check-group label:has(input:checked){border-color:var(--gold);background:#1e1a12;color:var(--gold);font-weight:600}
.check-group label:has(input:disabled){opacity:.45;cursor:not-allowed}
@media(max-width:640px){.check-group{grid-template-columns:1fr}}
