/* 既存サーフラボの紙色・太い文字・黄色マーカーを引き継ぐ。 */
:root{--ink:#1f2528;--muted:#5c686e;--paper:#fffdf7;--yellow:#fff1a7;--blue:#dff3ff;--blue-strong:#176d8e;--line:#d8dedc;--font-main:"Hiragino Sans","Yu Gothic","YuGothic","Noto Sans JP",system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}html{font-size:18px}body{font-family:var(--font-main);color:var(--ink);background:var(--paper);overflow:hidden;word-break:normal;line-break:strict}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--blue-strong)}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,video:focus-visible{outline:3px solid #176d8e;outline-offset:4px}
.slides-container{height:100vh;height:100dvh;overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none}.slides-container::-webkit-scrollbar{display:none}.slide{height:100vh;height:100dvh;position:relative;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:center;padding:54px 80px 74px;background:var(--paper);overflow:hidden}.slide::after{content:"";position:absolute;inset:18px;border:2px solid #e3e3dc;pointer-events:none}.slide:nth-child(4n+2){background:#f2f8fa}.slide:nth-child(4n+3){background:#fffaf0}.slide-content{width:100%;max-width:1420px;margin:0 auto;position:relative;z-index:1}h1,h2,h3{font-weight:800;letter-spacing:-.035em}h1{font-size:clamp(40px,5.4vw,82px);line-height:1.22}h2{font-size:clamp(30px,3.25vw,56px);line-height:1.27;margin-bottom:clamp(18px,3vh,32px)}h3{font-size:clamp(25px,2.15vw,38px);line-height:1.4}p{font-size:clamp(20px,1.7vw,29px);line-height:1.7;font-weight:500}mark{background:linear-gradient(transparent 50%,var(--yellow) 50%);color:inherit;padding:0 .05em}figure{min-width:0}img,video{display:block;max-width:100%;width:100%;height:auto}video{aspect-ratio:16/9;background:#18262b;border:2px solid var(--ink);border-radius:2px}figcaption{font-size:clamp(15px,1.12vw,20px);font-weight:500;line-height:1.5;color:var(--muted);margin-top:10px}figure>img{border:2px solid var(--ink)}.kicker{display:table;font-size:clamp(15px,1.2vw,21px);font-weight:800;padding:5px 12px;background:var(--yellow);border:2px solid var(--ink);margin-bottom:18px;letter-spacing:.05em}.eyebrow{font-size:clamp(17px,1.3vw,24px);font-weight:700;letter-spacing:.12em;color:var(--blue-strong);margin-bottom:26px}.lead{font-size:clamp(23px,2.08vw,36px);font-weight:700;line-height:1.65;margin-top:24px}.small{font-size:clamp(17px,1.32vw,23px);line-height:1.65;color:var(--muted);margin-top:16px}.source-note{font-size:clamp(15px,1.05vw,19px);line-height:1.6;color:var(--muted);margin-top:21px;text-align:center}.center{text-align:center}.feature-layout{display:grid;grid-template-columns:minmax(0,2.35fr) minmax(0,1fr);align-items:center;gap:40px}.side-copy p+p{margin-top:22px}.side-copy .lead{margin-top:0}.side-copy p{line-height:1.7}.split-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.two-videos{display:grid;grid-template-columns:1fr 1fr;gap:28px}.two-videos figcaption{text-align:center}.media-label{font-weight:800;margin-bottom:12px;font-size:clamp(23px,1.9vw,32px)}
.cover-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:40px;align-items:center}.cover-copy{position:relative;z-index:2}.cover-photo img{aspect-ratio:4/5;object-fit:cover;object-position:48% 50%;box-shadow:10px 10px 0 #dff3ff}.cover-photo figcaption{text-align:right;margin-top:22px}.cover-sub{font-size:clamp(20px,1.8vw,32px);font-weight:700;margin-top:27px}.byline{margin-top:42px;font-weight:800;font-size:24px}.byline span{display:block;font-size:17px;color:var(--muted);font-weight:500;margin-top:6px}.metric{font-size:clamp(50px,5.3vw,88px);font-weight:800;line-height:1.2!important;color:var(--blue-strong);white-space:nowrap}.metric span{font-size:.33em;margin:0 .12em;color:var(--ink)}blockquote{font-size:clamp(24px,2.15vw,38px);font-weight:700;line-height:1.65;border-left:6px solid var(--blue-strong);padding-left:22px}.quote-note{font-size:15px;color:var(--muted);margin:8px 0 24px 29px}.selection-layout{display:grid;grid-template-columns:1.12fr 1fr;gap:42px;align-items:center}.ride-numbers{font-size:clamp(50px,5.4vw,88px);font-weight:800;white-space:nowrap;letter-spacing:-.05em;line-height:1.35}.ride-numbers span{font-size:.25em;letter-spacing:0;margin-right:.35em}.note-line{border-top:2px solid var(--line);padding-top:22px;margin-top:28px;font-size:clamp(19px,1.5vw,26px);color:var(--muted)}.comparison-labels{display:grid;grid-template-columns:1fr 1fr;text-align:center;margin-bottom:15px}.comparison-labels p{font-weight:800;font-size:clamp(25px,2.25vw,38px)}.comparison video{aspect-ratio:32/9}.comparison figcaption{text-align:center}.wide-quote{font-size:clamp(24px,2.15vw,36px);margin-bottom:28px}.frame-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.frame-strip figcaption{font-size:clamp(17px,1.38vw,24px);color:var(--ink);text-align:center;font-weight:700}.feedback-list{margin-top:34px}.feedback-list>div{display:grid;grid-template-columns:1.1fr 1fr;gap:25px;align-items:center;border-top:2px solid var(--line);padding:26px 5px}.feedback-list>div:last-child{border-bottom:2px solid var(--line)}.feedback-list p{font-size:clamp(23px,2.03vw,35px)}.said{font-weight:700}.changed{color:var(--blue-strong)}.skill-layout .lead{margin:0 0 35px}.recipe{border:2px solid var(--ink);padding:28px;background:white;box-shadow:8px 8px 0 var(--yellow)}.recipe-title{font-weight:800;font-size:clamp(23px,2vw,33px);padding-bottom:15px;border-bottom:2px solid var(--line)}.recipe ol{padding-left:1.45em;margin-top:20px;font-size:clamp(20px,1.5vw,27px);line-height:1.9}.recipe li+li{margin-top:12px}.plain-steps{list-style-position:outside;padding-left:1.5em;font-size:clamp(22px,1.8vw,32px);font-weight:600;line-height:1.7}.plain-steps li+li{margin-top:20px}.result-link{display:inline-block;margin-top:32px;padding-bottom:6px;border-bottom:2px solid var(--blue-strong);font-weight:700;text-decoration:none;font-size:clamp(20px,1.5vw,27px)}.role-columns{display:grid;grid-template-columns:1fr 1fr;gap:65px;margin-top:38px}.role-columns h3{padding-bottom:15px;border-bottom:4px solid var(--ink);margin-bottom:22px}.role-columns>div:first-child h3{border-color:var(--blue-strong)}.role-columns p{font-size:clamp(21px,1.7vw,29px);line-height:2}.boundary{font-weight:700;font-size:clamp(23px,2vw,34px);margin-top:45px;text-align:center}.ending-layout{text-align:center}.ending-layout h2{font-size:clamp(39px,4.5vw,78px);line-height:1.35}.ending-layout .lead{margin-top:35px}.closing-question{font-size:clamp(29px,2.7vw,45px);font-weight:800;color:var(--blue-strong);margin-top:50px}.ending-credit{font-size:16px;margin-top:40px;color:var(--muted)}
.slide-nav{position:fixed;right:14px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:8px;z-index:20}.nav-btn{width:27px;height:27px;border-radius:50%;font-size:12px;font-weight:700;color:var(--muted);border:1px solid #a3b1b5;background:#fffdf7}.nav-btn.active{background:var(--ink);border-color:var(--ink);color:white}.page-indicator{position:fixed;right:35px;bottom:28px;z-index:20;font-size:16px;font-weight:700;color:var(--muted)}.deck-footer{position:fixed;bottom:28px;left:44px;z-index:20;font-size:12px;letter-spacing:.12em;font-weight:800;color:var(--muted)}.deck-footer span{margin-left:20px;font-weight:500}.loading-overlay{position:fixed;inset:0;display:grid;place-items:center;z-index:999;background:var(--paper)}.loading-overlay.hidden{display:none}.loading-content{text-align:center}.loading-bar-track{height:8px;width:260px;background:#d8dedc;margin:15px auto}#loading-bar{height:100%;background:var(--blue-strong);width:0}.lightbox{position:fixed;inset:0;z-index:90;background:#17252bed;display:none;align-items:center;justify-content:center;padding:4vh 4vw;cursor:zoom-out}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:92vh;width:auto;height:auto;object-fit:contain}.error{padding:80px}.error h2{margin-bottom:20px}
@media(max-height:800px) and (min-width:901px){.slide{padding-top:45px;padding-bottom:66px}.slide-content{max-width:1180px}.kicker{margin-bottom:12px}h2{font-size:clamp(30px,3.1vw,48px);margin-bottom:20px}.feature-layout{grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);gap:32px}.feature-layout video{max-height:47vh}.cover-photo img{aspect-ratio:1/1;max-height:67vh}.cover-layout h1{font-size:clamp(40px,5vw,68px)}.lead{margin-top:18px}.feedback-list>div{padding:20px 5px}.recipe{padding:22px}.recipe li+li{margin-top:5px}.ending-layout h2{font-size:64px}.ending-layout .lead,.closing-question{margin-top:25px}}
@media(max-width:900px){.slide{padding:38px 48px 70px}.kicker{font-size:15px;margin-bottom:12px}h2{font-size:30px;line-height:1.35;margin-bottom:18px}.cover-layout{grid-template-columns:1fr 1fr;gap:22px}.cover-layout h1{font-size:38px}.feature-layout,.split-layout,.selection-layout{gap:24px}.lead{font-size:23px}.small{font-size:17px}.two-videos{gap:20px}.side-copy p{font-size:20px}.metric{font-size:50px!important}.feedback-list p{font-size:23px}.plain-steps{font-size:22px}.recipe{padding:20px}.recipe ol{font-size:19px}.role-columns{gap:30px}.role-columns p{font-size:21px}.deck-footer{font-size:10px}.source-note{font-size:14px}}
@media(max-width:600px){.slide{padding:30px 25px 72px;overflow-y:auto;justify-content:flex-start}.slide-content{margin:auto 0}.slide::after{inset:10px}.slide-nav{display:none}h1{font-size:37px!important}h2{font-size:27px}.eyebrow{font-size:15px;margin-bottom:18px}.cover-layout{grid-template-columns:1fr;gap:20px}.cover-photo img{height:210px;aspect-ratio:auto;object-fit:cover}.cover-photo figcaption{margin-top:12px}.cover-sub{font-size:19px;margin-top:15px}.byline{font-size:19px;margin-top:18px}.byline span{font-size:14px}.feature-layout,.split-layout,.selection-layout,.two-videos,.role-columns{grid-template-columns:1fr;gap:22px}.feature-layout .side-copy{display:block}.feature-layout .side-copy p{font-size:18px;line-height:1.5}.feature-layout .side-copy p+p{margin-top:10px}.feature-layout .side-copy .lead{font-size:20px}.lead{font-size:22px;margin-top:16px}.small{font-size:16px}.source-note{font-size:13px;margin-top:13px}.two-videos video{max-height:24vh}.media-label{font-size:19px;margin-bottom:6px}.two-videos figcaption{font-size:13px;margin-top:5px}.two-videos+.lead{font-size:19px}.split-layout figure img{max-height:26vh;object-fit:contain;background:white}blockquote,.wide-quote{font-size:22px;padding-left:16px}.quote-note{font-size:12px;margin-bottom:12px}.ride-numbers{font-size:55px}.note-line{font-size:18px;margin-top:14px;padding-top:14px}.selection-layout video{max-height:24vh}.comparison-labels p{font-size:20px}.comparison-labels{margin-bottom:10px}.frame-strip{gap:7px}.frame-strip figcaption{font-size:14px}.wide-quote{margin-bottom:20px}.feedback-list{margin-top:20px}.feedback-list>div{grid-template-columns:1fr;gap:8px;padding:20px 0}.feedback-list p{font-size:20px}.skill-layout .lead{margin-bottom:20px}.recipe ol{font-size:17px}.recipe-title{font-size:22px}.recipe .small{font-size:14px}.plain-steps{font-size:20px}.plain-steps li+li{margin-top:10px}.result-link{font-size:18px;margin-top:20px}.role-columns h3{font-size:23px;padding-bottom:10px;margin-bottom:10px}.role-columns{gap:24px;margin-top:18px}.role-columns p{font-size:18px;line-height:1.8}.boundary{font-size:19px;margin-top:24px}.ending-layout h2{font-size:34px}.closing-question{font-size:24px;margin-top:30px}.ending-credit{font-size:13px}.deck-footer{bottom:25px;left:24px;font-size:9px}.deck-footer span{display:none}.page-indicator{bottom:23px;right:24px;font-size:13px}}
@media print{body{overflow:visible}.slides-container{height:auto;overflow:visible}.slide{height:180mm;width:320mm;page-break-after:always;break-after:page}.slide-nav,.deck-footer,.page-indicator{display:none}@page{size:320mm 180mm;margin:0}}

/* 手作業で数えて切っていた流れを、2種類の撮影ごとに示す。 */
.manual-workflow{display:grid;grid-template-columns:1fr 1fr;gap:52px;margin-top:30px}
.manual-workflow h3{padding-bottom:13px;border-bottom:3px solid var(--ink);margin-bottom:18px}
.manual-context{font-size:clamp(17px,1.45vw,24px);color:var(--muted);line-height:1.65;margin-bottom:20px}
.manual-workflow ol{padding-left:1.5em;font-size:clamp(20px,1.7vw,29px);line-height:1.75}
.manual-workflow li+li{margin-top:15px}
.manual-takeaway{font-size:clamp(24px,2.1vw,36px);font-weight:800;margin-top:38px;text-align:center;color:var(--blue-strong)}
.house-section .kicker{margin-left:auto;margin-right:auto}
.house-section h2{font-size:clamp(42px,4.6vw,74px)}
.house-plan{width:max-content;max-width:100%;margin-inline:auto}
.house-plan img{width:auto;height:56vh;max-height:540px;object-fit:contain;background:white;border:0}
.house-note{font-size:clamp(16px,1.25vw,21px);line-height:1.55;text-align:center;margin-top:15px}
.house-credit{font-size:13px;margin-top:9px}
.house-pair{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}
.house-pair img{height:43vh;max-height:460px;object-fit:contain;background:white}
.house-pair figcaption{font-size:clamp(16px,1.2vw,21px)}
.house-result{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:40px;align-items:center}
.house-result figure>img{max-height:57vh;object-fit:contain;background:white}
.house-tour-video{width:min(100%,calc(59vh * 16 / 9));max-width:1000px;margin:0 auto}.house-tour-video video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain}.house-tour-video figcaption{text-align:center}.house-tour-video figcaption a{color:inherit;text-underline-offset:3px}
@media(max-height:500px) and (min-width:601px){.slide:has(.house-tour-video){height:auto;min-height:100svh;padding:16px 52px 48px;justify-content:flex-start;overflow:visible}.slide:has(.house-tour-video) .kicker{font-size:12px;line-height:1.4;padding:4px 8px;margin-bottom:6px}.slide:has(.house-tour-video) h2{font-size:24px;line-height:1.25;margin-bottom:10px}.house-tour-video{width:min(100%,calc(43vh * 16 / 9))}.house-tour-video figcaption{font-size:13px;line-height:1.4;margin-top:6px}.slide:has(.house-tour-video) .source-note{font-size:12px;line-height:1.4;margin-top:8px}}
.house-result .side-copy p{font-size:clamp(20px,1.65vw,27px)}
.house-result .result-link{font-size:20px;margin-top:24px}
.house-result .small{font-size:16px!important}
.house-beach{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);gap:32px;align-items:center}
.house-beach>figure>img{max-height:54vh;object-fit:contain}
.house-beach blockquote{font-size:clamp(23px,1.8vw,30px);line-height:1.6}
.house-before{margin-top:24px}.house-before img{max-height:20vh;object-fit:contain;background:white}
.slide-nav{max-height:calc(100dvh - 100px);overflow-y:auto;scrollbar-width:none;padding:2px}
.slide-nav .nav-btn{flex-shrink:0}
@media(max-width:768px),(max-width:1024px) and (pointer:coarse){.slides-container{scroll-snap-type:none}.slide{height:auto;min-height:100vh;min-height:100svh;overflow:visible;flex-shrink:0}.deck-footer{display:none}.page-indicator{bottom:0;right:0;background:var(--paper);padding:8px 16px;border-top:1px solid #e3e3dc}.slide-nav{display:none}}
.lightbox{flex-direction:column;gap:12px;cursor:default;padding:20px}
.lightbox-toolbar{display:flex;gap:10px;justify-content:center;flex-shrink:0}
.lightbox-toolbar button,.lightbox-toolbar a{border:1px solid #fff9;background:var(--paper);color:var(--ink);border-radius:5px;padding:9px 15px;font-size:16px;text-decoration:none}
.lightbox-toolbar [hidden]{display:none}
.lightbox-viewport{width:100%;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.lightbox-viewport img{display:block;margin:0 auto;max-width:none;max-height:none;height:auto;cursor:zoom-out}
@media(pointer:coarse){.lightbox-viewport img{cursor:default}.lightbox{padding:12px}.lightbox-toolbar{gap:7px;flex-wrap:wrap}.lightbox-toolbar button,.lightbox-toolbar a{font-size:14px;padding:10px}}
@media(max-width:900px){.house-result,.house-beach{gap:24px}.house-pair{gap:20px}.house-result .result-link{font-size:17px}.house-beach blockquote{font-size:23px}}
@media(max-width:600px){.house-section h2{font-size:35px}.house-plan img{height:auto;max-height:52vh}.house-note{font-size:15px;text-align:left}.house-credit{font-size:11px;text-align:left}.house-pair{grid-template-columns:1fr;gap:18px}.house-pair img{height:auto;max-height:30vh}.house-pair figcaption{font-size:14px}.house-result,.house-beach{grid-template-columns:1fr;gap:20px}.house-result figure>img,.house-beach>figure>img{max-height:37vh}.house-result .side-copy p{font-size:19px}.house-result .result-link{margin-top:15px}.house-before{max-width:240px;margin-top:18px}.house-before img{max-height:20vh}.house-beach blockquote{font-size:21px}}
@media(max-height:800px) and (min-width:901px){.manual-workflow{margin-top:22px;gap:40px}.manual-workflow ol{font-size:22px;line-height:1.6}.manual-workflow li+li{margin-top:10px}.manual-takeaway{margin-top:27px;font-size:28px}.manual-context{font-size:19px;margin-bottom:16px}}
@media(max-width:600px){.manual-workflow{grid-template-columns:1fr;gap:24px;margin-top:15px}.manual-workflow h3{font-size:23px;margin-bottom:12px}.manual-workflow ol{font-size:18px;line-height:1.65}.manual-workflow li+li{margin-top:8px}.manual-context{font-size:16px;margin-bottom:12px}.manual-takeaway{font-size:21px;margin-top:24px}}

/* 9月10日の1本目から選んだ表紙写真 */
.cover-photo-window{height:clamp(300px,50vh,460px);overflow:hidden}
.cover-latest .cover-photo-window img{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:58% 45%;border:0;box-shadow:none;transform:scale(1.7);transform-origin:55% 45%}
.cover-latest figcaption{text-align:left;margin-top:16px}
@media(min-width:901px){.slide-title .cover-layout{grid-template-columns:1fr 1.15fr;gap:42px}.slide-title h1{font-size:clamp(40px,4.5vw,65px)}}
@media(max-width:600px){.cover-photo-window{height:auto;aspect-ratio:16/10}.cover-latest .cover-photo-window img{aspect-ratio:16/10}.cover-latest figcaption{font-size:13px}}

/* 人の集まりを見せる。PNGには元の全画角を保存する。 */
.lineup-photo-window{aspect-ratio:16/9;overflow:hidden;border:2px solid var(--ink)}
.lineup-photo-window img{width:100%;height:100%;object-fit:cover;transform:scale(2);transform-origin:100% 30%}

/* 既存デッキと同じ左下の全画面ボタン。隣に公式サイトへのリンクを置く。 */
.fullscreen-btn{position:fixed;bottom:17px;left:20px;width:44px;height:44px;padding:11px;border:0;background:none;line-height:0;color:var(--ink);opacity:.55;cursor:pointer;z-index:30}
.fullscreen-btn:hover,.fullscreen-btn:focus-visible{opacity:1}
.fullscreen-btn:focus-visible{outline:2px solid var(--blue-strong);outline-offset:2px}
.deck-footer{left:76px}
.deck-footer a{color:inherit;text-decoration:underline;text-underline-offset:3px}
body.is-fullscreen .fullscreen-btn,body.is-fullscreen .slide-nav{display:none}
body.is-fullscreen .page-indicator{opacity:.35}
body.is-fullscreen.hide-cursor,body.is-fullscreen.hide-cursor *{cursor:none!important}
@media(max-width:768px),(max-width:1024px) and (pointer:coarse){.fullscreen-btn{bottom:1px;left:10px;background:var(--paper)}.deck-footer{display:block;left:58px;bottom:0;padding:12px 4px;background:var(--paper);font-size:10px}.deck-footer span{display:none}}
@media print{.fullscreen-btn,.deck-footer{display:none}}

/* GENIACの紹介と募集案内。制度、現場の例、期限を別のページで見せる。 */
.geniac-section .kicker{margin-inline:auto}
.geniac-section h2{font-size:clamp(42px,4.6vw,74px)}
.geniac-prize-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:48px;align-items:center}
.geniac-prize-layout .lead{margin-top:0}
.geniac-prize{border-left:3px solid var(--ink);padding:28px 0 28px 42px}
.geniac-amount{font-size:clamp(80px,9vw,144px);line-height:1.2;font-weight:800;color:var(--blue-strong)}
.geniac-amount span{font-size:.48em;margin-left:.12em}


.geniac-deadline-label{font-size:21px;font-weight:700;color:var(--muted)}
.geniac-deadline{font-size:clamp(42px,5vw,72px);line-height:1.4;font-weight:800;color:var(--blue-strong)}
.geniac-deadline>span{font-size:.6em}
.geniac-deadline .geniac-time{font-size:.72em;margin-left:.55em;white-space:nowrap}
.geniac-apply .lead{margin-top:16px}
.geniac-apply .result-link{margin-top:20px}
.geniac-checked{font-size:15px;line-height:1.5;margin-top:14px;color:var(--muted)}
.mobile-only{display:none}
.topic-transition{text-align:right;font-size:clamp(16px,1.35vw,22px);color:var(--blue-strong);font-weight:600;margin-top:22px}
.geniac-diagram{width:min(100%,calc(48vh * 1.78));margin-inline:auto}
.geniac-diagram img{max-height:48vh;object-fit:contain;border:0}
.geniac-diagram-note{text-align:center;font-size:clamp(19px,1.6vw,27px);font-weight:600;line-height:1.6;margin-top:18px}
.geniac-partners{margin-bottom:25px}
.model-animation-link{display:block;font-size:17px;margin-top:18px}
@media(max-width:600px){.geniac-diagram{width:100%}.geniac-diagram img{max-height:none}.geniac-diagram-note{font-size:19px}.topic-transition{text-align:left;font-size:16px;margin-top:24px}.model-animation-link{font-size:16px}.geniac-partners{margin-bottom:22px}}
@media(max-height:500px) and (min-width:601px){.slide:has(.geniac-diagram),.slide:has(.geniac-partners){height:auto;min-height:100svh;overflow:visible;padding:28px 52px 62px}.geniac-diagram{width:min(100%,640px)}.geniac-diagram img{max-height:none}}
@media(min-width:901px){.surf-cover{grid-template-columns:1fr 1.15fr;gap:42px}.surf-cover h1{font-size:clamp(40px,4.5vw,65px)}}
@media(max-width:600px){.geniac-section h2{font-size:35px}.geniac-section .lead{font-size:21px}.geniac-prize-layout{grid-template-columns:1fr;gap:24px}.geniac-prize{border-left:0;border-top:2px solid var(--ink);padding:18px 0 0}.geniac-amount{font-size:80px}.geniac-deadline-label{font-size:17px}.geniac-deadline{font-size:43px}.geniac-deadline .geniac-time{margin-left:0}.geniac-apply .lead{font-size:20px}.geniac-checked{font-size:13px}.mobile-only{display:initial}}
@media(max-height:500px) and (min-width:601px){.slide:has(.geniac-details),.slide:has(.geniac-apply),.slide:has(.geniac-section){height:auto;min-height:100svh;overflow:visible;padding:30px 52px 62px}.geniac-prize-layout{gap:26px}.geniac-amount{font-size:80px}.geniac-prize{padding-left:24px}}

/* 表紙は3テーマのサムネイルと同じビジュアルを大きく見せる。 */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.slide:has(.poster-cover){padding:30px 54px 64px}
.poster-cover-image{width:100%;height:auto;max-height:calc(100svh - 151px);object-fit:contain}
.poster-cover-byline{text-align:center;font-size:20px;line-height:1.5;font-weight:700;margin-top:19px}
.poster-cover-byline span{font-size:16px;font-weight:500;color:var(--muted);margin-left:22px}
@media(max-width:600px){.slide:has(.poster-cover){padding:26px 18px 72px}.poster-cover-image{max-height:none;width:100%;height:auto}.poster-cover-byline{font-size:18px;margin-top:24px}.poster-cover-byline span{display:block;font-size:13px;margin:7px 0 0;line-height:1.7}}
@media(max-height:500px) and (min-width:601px){.slide:has(.poster-cover){height:auto;min-height:100svh;overflow:visible;padding:22px 48px 58px}.poster-cover-image{max-height:calc(100svh - 122px)}.poster-cover-byline{font-size:16px;margin-top:12px}.poster-cover-byline span{font-size:13px}}

/* 高さの低い画面でも、本文を切らずに縦へ読む。 */
@media screen and (max-height:500px) and (min-width:601px){
.slides-container{scroll-snap-type:none}
.slide{height:auto;min-height:100vh;min-height:100svh;overflow:visible;justify-content:flex-start;padding:28px 52px 62px}
.slide-content{margin:0 auto}
.slide-nav{display:none}
}

@media screen and (min-width:901px) and (min-height:650px){
.slide[data-slide="4"] .geniac-diagram,.slide[data-slide="5"] .geniac-diagram{width:min(100%,calc(55vh * 1.78))}
.slide[data-slide="4"] .geniac-diagram img,.slide[data-slide="5"] .geniac-diagram img{max-height:55vh}
}

.model-inputs{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:44px}
.model-inputs img{height:45vh;max-height:450px;object-fit:contain;background:#fff}
.model-inputs .media-label,.model-inputs figcaption{text-align:center}
@media(max-width:600px){.model-inputs{grid-template-columns:1fr;gap:24px}.model-inputs img{height:auto;max-height:330px}.model-inputs figcaption{font-size:14px}}

.input-plan-frame{height:45vh;max-height:450px;overflow:hidden;background:white;border:2px solid var(--ink)}
.input-plan-frame img{height:100%;max-height:none;transform:translateY(-6%) scale(1.3);border:0}
@media(max-width:600px){.input-plan-frame{height:330px}.input-plan-frame img{height:100%;max-height:none}}

.youtube-poster{aspect-ratio:16/9;object-fit:contain;border:2px solid var(--ink)}

/* 締めに3つの話題の画像を並べ、発表全体を振り返る。 */
.recap-ending{text-align:center}
.recap-ending h2{margin-bottom:36px}
.recap-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.recap-photos figure{background:#fff;padding:12px 12px 20px;box-shadow:5px 7px 0 #d8dedc;border:1px solid #d8dedc}
.recap-photos figure>img{aspect-ratio:16/10;object-fit:contain;background:#f3f4f2;border:0}
.recap-photos figcaption{font-size:clamp(21px,1.9vw,31px);font-weight:800;line-height:1.45;color:var(--ink);margin-top:18px}
.recap-photos figcaption span{display:block;font-size:clamp(15px,1.2vw,20px);font-weight:500;color:var(--muted);margin-top:7px}
.recap-question{font-size:clamp(27px,2.5vw,40px);font-weight:800;color:var(--blue-strong);margin-top:38px}
.recap-credit{font-size:14px;color:var(--muted);margin-top:22px}
@media(max-width:768px){.recap-ending h2{font-size:29px;margin-bottom:25px}.recap-photos{grid-template-columns:1fr;gap:24px;max-width:440px;margin:auto}.recap-photos figure{padding:10px 10px 16px}.recap-photos figcaption{font-size:23px;margin-top:12px}.recap-photos figcaption span{font-size:16px}.recap-question{font-size:25px;margin-top:30px}.recap-credit{font-size:12px;margin-top:20px}}
