/* VISIONA 2028: concrete dates, real people, direct reservation. */
:root{--ink:#132b27;--muted:#526660;--paper:#f4f5ef;--sand:#e9ede1;--line:#d3dcd2;--dark:#102c27;--orange:#d6fa69;--lime:#d6fa69;--sans:"Noto Sans JP","Yu Gothic","Meiryo",sans-serif;--serif:var(--sans)}
html{scroll-padding-top:100px}body{font-size:16px}.header{height:84px;background:#f4f5eff5;border-bottom:1px solid #d3dcd2;z-index:20}.header .brand>span{font-family:Arial,sans-serif;font-weight:750;font-size:22px;letter-spacing:-.8px}.header .brand small{font-size:8px;letter-spacing:1.4px}.header-cta{border-radius:7px;background:var(--dark);color:var(--lime);font-size:13px}.main-nav{font-size:12px}.main-nav a:hover{color:#467900}.recruit-notice{display:flex;justify-content:center;align-items:center;gap:28px;padding:10px 5%;background:var(--lime);font-size:12px;font-weight:700}.recruit-notice>span{font:800 10px Arial,sans-serif;letter-spacing:1.6px}.recruit-notice>a{border-bottom:1px solid #142c27;padding-bottom:1px;white-space:nowrap}
.hero{max-width:none;min-height:600px;background:var(--dark);color:#fff;grid-template-columns:1.08fr 1fr;padding:28px max(4.5%,calc((100vw - 1400px)/2));gap:36px}.hero-copy{padding:26px 0 24px;min-width:0}.hero-audience{border:0;background:transparent;color:#e1eade;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;padding:0;margin:0 0 29px}.hero-audience>span{background:var(--lime);color:var(--dark);padding:4px 9px;border-radius:4px;font-size:12px}.hero .eyebrow{color:#b1c1b8;font-size:10px;letter-spacing:2.3px}.short-line{background:var(--lime);width:34px}.hero h1,.mechanic .hero h1{font-family:var(--sans);font-weight:800;font-size:clamp(32px,3.85vw,62px);line-height:1.47;letter-spacing:-2px;margin:22px 0 23px;white-space:nowrap}.hero .serif-em{font-family:inherit;color:var(--lime);font-weight:inherit}.hero-lead{color:#cedbd4;font-size:15px;line-height:2}.hero-button{max-width:380px;margin-top:28px;min-height:62px;font-size:15px;border-radius:7px}.button.primary{background:var(--lime);color:var(--dark)}.button.primary:hover{background:#e4ff94;transform:translateY(-1px)}.button.primary:disabled{background:#dde4d6;color:#61705e;transform:none}.hero-details{color:#d8e3dc;font-size:12px;margin-top:15px}.online-dot{background:var(--lime)}.hero-how{color:#aebfb6;font-size:11px}.hero-index{color:#91a99e;font-size:10px;letter-spacing:2px;margin-top:34px;display:flex;align-items:center;gap:22px}.hero-index span{color:var(--lime);font-size:22px;margin:0}.hero-visual{min-height:505px;margin:0;align-self:stretch;border-radius:96px 8px 8px 8px}.hero-visual>img{object-position:66% center}.mechanic .hero-visual>img{object-position:62% center}.hero-visual figcaption{font-size:10px;letter-spacing:1px;bottom:24px;left:26px}.hero-visual:after{inset:50% 0 0;background:linear-gradient(transparent,#102c27b0)}
.november-preview{max-width:1400px;margin:auto;padding:36px 4.5% 40px;display:grid;grid-template-columns:1fr 2.1fr;gap:42px;align-items:center}.november-heading .eyebrow{color:#547347;font-size:10px}.november-heading h2{font-size:26px;line-height:1.5;letter-spacing:-.8px;margin:10px 0}.november-heading>p:last-child{font-size:11px;color:var(--muted)}.quick-dates{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.quick-date{display:flex;flex-direction:column;gap:16px;background:white;border:1px solid var(--line);border-bottom:4px solid var(--dark);padding:20px 19px;border-radius:8px;transition:transform .2s,background .2s}.quick-date:hover{background:var(--lime);transform:translateY(-4px)}.quick-day{display:flex;align-items:baseline;gap:4px;font:700 20px/1 Arial,sans-serif}.quick-day>span{font-size:16px;color:#718177;margin:0 3px}.quick-day b{font-size:42px;letter-spacing:-2px}.quick-day small{font:700 11px var(--sans);margin-left:5px}.quick-time{font:600 12px Arial,sans-serif;display:flex;justify-content:space-between;align-items:center;gap:5px}.quick-time i{font:400 21px Arial,sans-serif}.session-summary{background:#e8ede2;color:var(--ink);padding-top:23px;padding-bottom:23px}.session-summary .eyebrow,.session-summary dt,.session-summary dd small{color:#536b61}.session-summary dl>div{border-color:#c4d0c4}.session-summary .summary-link{color:var(--ink);border-color:#8ba289}.session-summary .summary-next dd{font-size:13px}.summary-title h2{font-size:18px}.session-section{background:#fff}.section-wrap{padding-top:75px;padding-bottom:75px}.section-top h2,.reservation-intro h2,.story h2,.restored-section h2{font-family:var(--sans);font-weight:750;letter-spacing:-1.2px}.serif-em{font-family:inherit;font-weight:inherit;color:#608522}.topic-grid article{border-top:3px solid var(--dark);padding-top:23px}.topic-top span:first-child{font:800 32px Arial,sans-serif;color:#5e8127}.topic-grid h3{font-size:19px;line-height:1.5}.topic-grid p{font-size:14px}.reservation-section{max-width:1160px}.reservation-intro h2{font-size:36px}.reservation-subtitle{font-size:14px;color:var(--muted);margin-top:10px}.booking-panel{border:1px solid #c7d4c7;border-radius:14px;overflow:hidden;box-shadow:0 18px 60px #14372b0b}.steps{background:#e6ece0}.steps li[aria-current=step]{background:var(--dark);color:white}.steps li[aria-current=step]>span{background:var(--lime);color:var(--dark)}.month-switch{gap:10px;flex-wrap:wrap}.month-switch button{border-radius:6px;font-size:13px;padding:10px 15px}.date-face{border-radius:8px;padding:21px;min-height:160px}.date-number strong{font-size:48px;font-weight:750}.date-time{font-size:15px}.date-top,.date-number>span{font-size:12px}.date-card input:checked+.date-face{background:#effbd1;border-color:#51751f;box-shadow:inset 0 0 0 1px #51751f}.date-card input:checked+.date-face .selection-dot{background:var(--dark)}.selection-summary strong{font-size:16px}.next-button{border-radius:6px;font-size:15px;min-height:58px}.booking-note{font-size:12px}.panel-hint{font-size:13px}.field-grid input,.field-grid select{font-size:16px;height:52px}.field-grid label{font-size:13px}.privacy-check{font-size:13px}.privacy-check input{width:20px;height:20px}.businessGrid article,.workSection .workGrid article{background:#e9eee3;border-top:2px solid var(--dark)}.businessCardTop>span,.cardMeta>span,.growthNo{font-family:Arial,sans-serif;font-style:normal;font-weight:800}.work .workGrid img{border-radius:10px}.people.restored-section{background:#e9ede3;max-width:none;padding-left:max(5%,calc((100vw - 1152px)/2));padding-right:max(5%,calc((100vw - 1152px)/2))}.peoplePhoto{border-radius:80px 8px 8px 8px}.peoplePhoto img{object-position:65% center}.trainingPhoto img{border-radius:10px 10px 0 0}.personMeta strong{font-family:Arial,sans-serif;font-weight:800}.faq-list summary,.faq-list p{font-size:14px}.closing-cta{background:var(--dark);color:white}.closing-cta h2{font-size:38px;font-weight:800;letter-spacing:-1px}.closing-cta .eyebrow{color:var(--lime)}.closing-cta>p:not(.eyebrow){color:#c4d3c8;font-size:14px}.closing-cta .button{border-radius:6px}.digest-section{display:grid;grid-template-columns:1fr 1.3fr;gap:50px;align-items:center}.digest-copy h2{font-size:34px;line-height:1.5;margin:12px 0 20px;font-weight:800;letter-spacing:-1px}.digest-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:2;margin-bottom:20px}.digest-media{background:var(--dark);border-radius:12px;overflow:hidden}.digest-media video{width:100%;aspect-ratio:16/9;display:block;background:#102c27}.mobile-reserve{display:none}.button,.header-cta{transition:transform .2s,background .2s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #62970c;outline-offset:5px}
@media(min-width:1100px){.hero-copy{animation:arrive .65s both}.hero-visual{animation:arrive .75s .08s both}.session-section>.section-wrap{padding-top:65px;padding-bottom:65px}}
@keyframes arrive{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.header{gap:18px}.main-nav{gap:15px;font-size:11px}.hero{gap:25px;min-height:540px}.hero-visual{min-height:460px}.hero h1,.mechanic .hero h1{font-size:clamp(30px,3.9vw,48px)}.hero-lead{font-size:13px}.november-preview{gap:25px;grid-template-columns:1fr 2fr}.quick-date{padding:17px 12px}.quick-day b{font-size:37px}.quick-time{font-size:11px}.session-summary{display:none}.november-heading h2{font-size:23px}}
@media(max-width:760px){html{scroll-padding-top:85px}.header{height:68px;padding:0 5%;gap:12px}.header .brand>span{font-size:17px}.header .brand img{width:28px;height:32px}.header .brand small{font-size:6px;letter-spacing:1.1px}.header-cta{padding:11px 13px;font-size:11px;gap:9px}.main-nav{display:none}.recruit-notice{padding:9px 5%;gap:10px;justify-content:space-between;font-size:10px}.recruit-notice>span{display:none}.recruit-notice>a{font-size:10px}.hero{display:flex;flex-direction:column;padding:26px 6% 24px;gap:26px;min-height:0}.hero-copy{padding:0}.hero-audience{font-size:10px;gap:8px;margin-bottom:24px}.hero-audience>span{font-size:10px;padding:3px 8px}.hero .eyebrow{font-size:8px;letter-spacing:1.4px}.hero h1,.mechanic .hero h1{font-size:clamp(29px,8.25vw,46px);line-height:1.5;letter-spacing:-1.8px;margin:17px 0 18px}.hero-lead{font-size:13px;line-height:1.9}.hero-button{max-width:none;font-size:14px;min-height:56px;margin-top:23px}.hero-details{font-size:11px;margin-top:13px}.hero-how{font-size:10px;margin-top:7px}.hero-index{display:none}.hero-visual{min-height:0;height:260px;margin:0;border-radius:60px 6px 6px 6px}.hero-visual>img{object-position:64% center}.hero-visual figcaption{font-size:8px;bottom:17px;left:20px;right:20px}.november-preview{display:block;padding:32px 6% 36px}.november-heading{display:block}.november-heading h2{font-size:26px;margin:9px 0 8px}.november-heading h2 br{display:none}.november-heading>p:last-child{font-size:11px}.quick-dates{gap:8px;margin-top:22px}.quick-date{padding:15px 10px;gap:13px;border-radius:6px;border-bottom-width:3px}.quick-day{font-size:12px;gap:1px}.quick-day>span{font-size:12px;margin:0 2px}.quick-day b{font-size:29px;letter-spacing:-1px}.quick-day small{font-size:9px;margin-left:3px}.quick-time{font-size:10px;gap:0;white-space:nowrap}.quick-time i{display:none}.section-wrap{padding:46px 6%}.session-section>.section-wrap{padding:42px 6%}.section-top h2{font-size:29px}.topic-grid{margin-top:24px}.topic-grid article,.topic-grid article+article{border-top:0;padding:22px 0;grid-template-columns:35px 1fr;gap:0 16px}.topic-grid article:first-child{border-top:2px solid var(--dark)}.topic-top span:first-child{font-size:27px}.topic-grid h3{font-size:17px}.topic-grid p{font-size:13px}.reservation-section{padding:42px 5%}.reservation-intro h2{font-size:26px;letter-spacing:-1px}.reservation-subtitle{font-size:12px}.reserve-intro-meta{font-size:11px;margin-top:15px}.booking-panel{border-radius:10px}.panel-content{padding:24px 16px}.booking-panel .steps li{font-size:12px;padding:15px 8px}.booking-heading h3{font-size:18px}.panel-hint{font-size:12px}.month-switch{gap:6px;margin-top:22px}.month-switch button{font-size:11px;padding:9px 10px;gap:5px}.month-switch button span{font-size:9px}.month-switch>span{font-size:10px}.date-grid{grid-template-columns:1fr;gap:10px}.date-face{min-height:78px;display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:6px 12px;padding:14px 16px}.date-top{grid-column:1/-1;font-size:10px;position:relative}.selection-dot{position:absolute;right:0;top:17px}.date-number{margin:0;gap:10px}.date-number strong{font-size:35px;letter-spacing:-1.5px}.date-number>span{font-size:11px}.date-time{font-size:13px;padding-right:20px}.selection-summary strong{font-size:13px}.selection-summary>span{font-size:11px}.next-button{font-size:13px;min-height:56px;padding:16px}.booking-note{font-size:11px;line-height:1.9}.field-grid{grid-template-columns:1fr;gap:17px}.field-grid input,.field-grid select{font-size:16px}.field-grid .wide{grid-column:auto}.privacy-check{font-size:12px;line-height:1.8}.faq-list summary,.faq-list p{font-size:13px}.digest-section{grid-template-columns:1fr;gap:25px}.digest-copy h2{font-size:27px}.digest-copy>p:not(.eyebrow){font-size:13px}.digest-media{border-radius:8px}.closing-cta h2{font-size:31px}.closing-cta .button{font-size:14px}.mobile-reserve{position:fixed;z-index:30;bottom:max(12px,env(safe-area-inset-bottom));left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border:1px solid #bfd857;border-radius:9px;background:var(--lime);color:var(--dark);box-shadow:0 5px 30px #102c2730;line-height:1.5}.mobile-reserve span{display:flex;flex-direction:column;gap:2px}.mobile-reserve small{font-size:10px;font-weight:600}.mobile-reserve strong{font-size:14px}.mobile-reserve b{font-size:24px;font-weight:500}footer{padding-bottom:114px}.restored-section p{font-size:13px}.peoplePhoto{border-radius:55px 6px 6px 6px}}
@media(max-width:360px){.header .brand>span{font-size:15px}.recruit-notice{font-size:9px}.recruit-notice>a{font-size:9px}.hero h1,.mechanic .hero h1{font-size:27px}.hero-audience{font-size:9px}.hero-lead{font-size:12px}.quick-date{padding:13px 8px}.quick-day b{font-size:26px}.quick-time{font-size:9px}.november-heading h2{font-size:23px}.reservation-intro h2{font-size:23px}.month-switch button{font-size:10px;padding:8px}.date-time{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.button.primary:hover,.quick-date:hover{transform:none}}

.digest-note{font-size:12px!important}.digest-transcript{font-size:12px;color:var(--muted);line-height:1.9;margin-top:14px}.digest-transcript summary{cursor:pointer;text-decoration:underline;text-underline-offset:4px}.digest-transcript p{margin-top:12px}.digest-media video:focus-visible{outline:3px solid #62970c;outline-offset:4px}
