[hidden]{display:none!important}
:root{--dim:#B8AA91}
body{overflow-wrap:anywhere;padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}
button,textarea{font-family:inherit;line-height:1.5}
button,summary{min-height:44px;min-width:44px;touch-action:manipulation}
:is(a,button,textarea,summary,[role=button]):focus-visible{outline:3px solid #E6C15A;outline-offset:3px}
p a{text-decoration:underline;text-underline-offset:3px}
.skip{position:fixed;top:8px;left:12px;z-index:100;padding:10px 14px;background:#17120D;transform:translateY(-160%);min-height:44px}
.skip:focus{transform:none}
.wrap{padding-left:max(22px,env(safe-area-inset-left));padding-right:max(22px,env(safe-area-inset-right))}
header{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
section[id]{scroll-margin-top:80px}
.h2 .g{background:none;color:#E6C15A;text-shadow:0 2px 8px #000}
.h2,.maki h3,.kyuho,#ch2 .kazu{line-height:1.5}
.yubi,.sanpo b,.annot-list,footer,.mitsu b,.pvbtn i{font-size:14px;line-height:1.5}
footer .credits{opacity:1}
.sanTaku button{gap:10px;flex-wrap:wrap;line-height:1.5;letter-spacing:.06em}
.sanTaku button small{color:#D7C8A5}
.sanTaku button.on{color:#FFF0B5;background:#3A2410}
.fuda,.inban{min-height:44px;min-width:44px;white-space:normal!important;line-height:1.5;max-width:100%}
footer a{min-width:44px}
.mondo summary::before{color:#F19A85}
.mondo summary{line-height:1.5}
.meyasu-box label{display:block;margin-bottom:8px}
.meyasu-box textarea{font-size:16px;min-height:120px}
.meyasu-box textarea::placeholder{color:#B8AA91;opacity:1}
#meyasuStatus{min-height:24px;margin-top:8px;color:#D7C8A5}
.ev-grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}
.ar{opacity:1;transform:none}
.annot .co{white-space:normal;max-width:45%;line-height:1.5;background:#0B0907}
.ugoku .rec,.play{background:#0B0907}
#player,#pvModal{padding:12px max(12px,env(safe-area-inset-right)) 12px max(12px,env(safe-area-inset-left));overflow-y:auto}
#player .box,#pvModal .pvbox{max-height:calc(100dvh - 24px);display:flex;flex-direction:column;align-items:center}
#player .x{position:static;align-self:flex-end;background:#17120D;min-height:44px;margin-bottom:8px;flex-shrink:0;font-size:14px;line-height:1.5}
#player img,#pvModal video{width:auto;max-width:100%;max-height:calc(100dvh - 150px);min-height:0;object-fit:contain;flex-shrink:1}
#player .cap{font-size:18px;line-height:1.5;margin-top:8px;letter-spacing:.04em}
#player .sub{font-size:14px;line-height:1.5;margin-top:4px}
#pvModal .pvx{align-self:flex-end;flex-shrink:0}
#stick{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
#stick:not(.on){visibility:hidden;pointer-events:none}
#stick .fuda,#stick .inban{font-size:14px;padding:8px;letter-spacing:.02em;min-width:0}
#stick .row{max-width:720px;margin:auto}
@media(max-width:900px),(max-height:500px){
  header nav a{display:none}#susumi{display:none}
  .h2{font-size:30px}section{padding:32px 0}
  #stick{display:block}footer{padding-bottom:40px}
  .gunki-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;margin:0;padding:0;gap:14px}
  .gunki-two .maki{min-width:0}.maki h3{font-size:26px}.sanpo{grid-template-columns:1fr}
  .annot .co{display:none}.annot-list{display:block!important}
}
@media(max-width:480px){.gunki-two{grid-template-columns:1fr}.kakejiku-row{grid-template-columns:1fr}.ctas{gap:12px}}
@media(max-height:500px){header{position:relative;padding-top:6px;padding-bottom:6px}section[id]{scroll-margin-top:12px}#musubi .wrap{padding-top:32px;padding-bottom:32px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}.ar{opacity:1;transform:none}.layer{transform:none!important}}

#mobileMenu{display:none;color:#EEE6D5;background:#17120D}
#mobileMenu summary{padding:8px 12px;font-size:14px;line-height:1.5}
#mobileMenu nav{position:absolute;right:12px;top:100%;background:#17120D;border:1px solid #E6C15A;padding:8px;display:flex;flex-direction:column;gap:4px;max-height:calc(100dvh - 96px);overflow-y:auto;min-width:180px}
#mobileMenu nav a{display:flex;min-height:44px;min-width:44px;opacity:1;font-size:14px}
@media(max-width:1200px),(max-height:500px){header{gap:8px}header>nav a{display:none}#mobileMenu{display:block}header .logo{font-size:18px;letter-spacing:.12em}}

/* 最初の画面は実録の合戦と、見出し一行・二つの釦だけ。 */
header{position:relative;padding-top:12px;padding-bottom:12px}
#hero{height:100svh;min-height:100svh!important;padding:24px 0 max(40px,env(safe-area-inset-bottom))!important;display:flex;align-items:flex-end!important;background:#0B0907;isolation:isolate}
#heroVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:45% center;z-index:0;pointer-events:none}
#hero .wrap{width:100%;max-width:760px;z-index:1;text-align:center}
#hero h1{font-family:"Hiragino Sans",sans-serif;font-weight:700;font-size:clamp(20px,5.5vw,36px)!important;line-height:1.5;letter-spacing:0;white-space:nowrap;text-wrap:nowrap;color:#fff;background:rgba(11,9,7,.9);padding:10px 8px;border-radius:4px;text-shadow:none}
#hero .ctas{margin-top:16px;display:grid;grid-template-columns:1fr;gap:12px}
#hero .ctas a{width:100%;min-width:44px;min-height:60px;max-width:none;padding:14px 16px;font-family:"Hiragino Sans",sans-serif;font-size:20px;font-weight:700;line-height:1.5;letter-spacing:0;border:2px solid #E6C15A;border-radius:6px;box-shadow:0 4px 16px #0006}
#hero .fuda{background:#E6C15A;color:#0B0907}
#hero .fuda::before,#hero .fuda::after{display:none}
#hero .inban{background:#0B0907;color:#fff;border-color:#fff}
#hero .ctas a:focus-visible{outline:3px solid #fff;outline-offset:4px}
#intro{padding:32px 0}#intro .kotoba{margin-top:0}
@media(min-width:600px){#hero .ctas{grid-template-columns:2fr 1fr}}
@media(max-height:500px){#hero{padding-top:16px!important;padding-bottom:max(24px,env(safe-area-inset-bottom))!important}#hero h1{font-size:28px!important}#hero .ctas{margin-top:12px;grid-template-columns:2fr 1fr}#hero .ctas a{min-height:56px;padding:10px 16px}}

img[width][height]{height:auto}#heroVideo{display:block}
/* 第259巡：App Store の印が大きく伸びていた。印の大きさを決め、題名を最初の画面に */
.inban svg{width:22px;height:22px;flex:none;margin-right:10px;fill:currentColor}
#hero .ctas a.inban{min-height:52px;font-size:18px}
#hero .brand{margin:0 0 4px;font-family:var(--fude),serif;font-size:22px;letter-spacing:.3em;color:#F2D58A;text-shadow:0 2px 6px #000}

/* 読む頁：六つの段。本文の字間と行高を揃える。 */
:root{--dim:#D7C8A5;--kin:#E6C15A}
body{font-size:16px;line-height:1.7;letter-spacing:0}
p,figcaption,.soe,.credits,.shinrai,.haifu,.koe-star span,.koe-q cite{font-size:16px!important;line-height:1.7;letter-spacing:0!important;color:#EEE6D5}
a,button,summary{min-height:44px}
header nav a{min-height:44px;opacity:1}
.h2{font-size:30px;line-height:1.4}.sho{letter-spacing:.08em}
#intro{padding:0}#intro p{margin:12px 0 24px}
.selling{display:grid;gap:28px}.selling h3{font-size:18px;line-height:1.7;letter-spacing:0;margin-bottom:12px}
.ugoku,.battle-still{aspect-ratio:960/388;background:#D7C8A5;box-shadow:none;overflow:hidden;position:relative}
.ugoku img,.battle-still img{width:100%;height:100%;object-fit:cover;background:#D7C8A5}
.ugoku .play{min-height:44px;display:flex;align-items:center;font-size:16px!important;letter-spacing:0}
.story-grid{display:grid;gap:24px;margin-top:24px}.story-grid figure{margin:0}
.story-grid figcaption{padding-top:10px}.story-grid b{display:block;color:#E6C15A}
#nagashino{background:#17120D}#nagashino p,#loop p{margin-top:16px}
.flow{white-space:nowrap;font-size:16px!important;letter-spacing:0!important}
.reading-link{display:inline-flex;align-items:center;min-height:44px;margin-top:16px}
#musubi .last{min-height:0}#musubi .wrap{padding:48px 22px}#musubi .h2{font-size:32px}
#musubi .ctas{display:grid;margin-top:24px}#musubi .ctas a{font-size:18px;letter-spacing:0;min-height:52px;padding:12px}
#hero{background:#D7C8A5 url('img/hero.jpg') center/cover no-repeat}
footer{padding:24px 0}footer .links{gap:8px}footer a{min-height:44px;display:inline-flex;align-items:center;letter-spacing:0}
footer .credits{margin-top:16px}#stick .row a{min-height:48px;font-size:16px}
@media(min-width:721px){.selling{grid-template-columns:repeat(3,1fr)}.story-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:380px){.flow{white-space:normal;letter-spacing:0!important}}

.ugoku img[width][height],.battle-still img[width][height]{height:100%}
#hero .brand{font-size:22px!important;color:#F2D58A;letter-spacing:.12em!important}
