*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:#293d34;background:#f7f6ef;font-family:"Yu Gothic",Meiryo,sans-serif;font-size:14px;line-height:1.95}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #9c7942;outline-offset:5px}button{color:inherit}p{margin:0 0 22px}h1,h2,h3,.brand,.lead,.vertical{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:400}h2{font-size:36px;line-height:1.65;letter-spacing:.12em;margin:0 0 25px}.prototype{background:#2e4338;color:#fff;text-align:center;font-size:11px;letter-spacing:.1em;padding:5px 16px}.prototype span{margin-left:20px;opacity:.8}header{display:flex;align-items:center;justify-content:space-between;padding:23px 5%;background:#f7f6eff5;position:sticky;top:0;z-index:20;border-bottom:1px solid #dedfd5}.brand{font-size:28px;display:flex;align-items:center;gap:14px;letter-spacing:.18em;line-height:1.2}.brand small{display:block;font-family:serif;font-size:9px;letter-spacing:.3em;margin-top:8px}.seal{width:40px;height:40px;border:1px solid #7d8674;border-radius:50%;display:grid;place-items:center;font-size:22px}nav{display:flex;gap:26px;align-items:center;font-size:12px}nav a:hover,.text-link:hover{color:#8e6e39}.nav-contact{border:1px solid #bfc5b8;padding:10px 18px}#menu{display:none}.hero{display:grid;grid-template-columns:46% 54%;min-height:630px;position:relative}.hero-copy{padding:90px 10% 80px 16%}.eyebrow{font-size:10px;letter-spacing:.23em;margin-bottom:25px;color:#7a816d}h1{font-size:49px;line-height:1.65;letter-spacing:.16em;margin:0 0 26px}.hero-copy>p:not(.eyebrow){color:#6e766b;letter-spacing:.1em}.button{border:1px solid #334b3c;display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:13px 24px;background:#334b3c;color:#fff;font-size:12px;letter-spacing:.08em;transition:background .2s}.button:hover{background:#52644f}.draft{font-size:11px;color:#777767;line-height:1.9}.hero-copy .draft{display:block;margin-top:16px}.garden{position:relative;overflow:hidden;margin:24px 24px 45px 0}.garden svg{width:100%;height:100%;position:absolute;object-fit:cover}.image-note{position:absolute;bottom:14px;left:20px;color:#fff;font-size:10px;background:#293d3480;padding:3px 12px}.vertical{writing-mode:vertical-rl;position:absolute;right:40px;top:45px;font-size:24px;letter-spacing:.4em;color:#fff}.scroll{position:absolute;bottom:15px;left:7.3%;font-size:9px;letter-spacing:.18em;color:#7a816d}.quick{display:grid;grid-template-columns:1fr 1.2fr 1fr 1.3fr;gap:28px;max-width:1140px;margin:30px auto 0;border-top:1px solid #ced1c5;border-bottom:1px solid #ced1c5;padding:26px 20px;align-items:center}.quick-title{font-family:serif;font-size:16px}.quick-title small{display:block;font:8px sans-serif;letter-spacing:.2em;color:#7a816d;margin-top:4px}.quick a{border-left:1px solid #d5d8ce;padding-left:26px;font-size:12px;display:flex;justify-content:space-between;gap:10px}.section{padding:95px 0;max-width:1060px;margin:auto;scroll-margin-top:25px}.intro,.access,.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:100px}.lead{font-size:23px;line-height:1.85;letter-spacing:.08em}.intro>div:last-child{padding-top:20px}.text-link{border:0;border-bottom:1px solid #9da794;padding:8px 0;background:none;font-size:12px;display:flex;gap:40px}.news{border-top:1px solid #d6d9ce}.section-head{display:flex;align-items:center;justify-content:space-between}.filters{display:flex;gap:12px;margin:14px 0 22px}.filters button{border:1px solid #c9cfc0;background:none;padding:7px 20px;font-size:12px}.filters .active{background:#334b3c;color:white;border-color:#334b3c}.news-item{display:grid;grid-template-columns:105px 85px 1fr 20px;gap:22px;align-items:center;width:100%;border:0;border-bottom:1px solid #d7dacd;background:none;text-align:left;padding:22px 8px}.news-item:hover{background:#eceee5}.news-item time{font-size:11px;color:#737b6b}.tag{font-size:10px;border:1px solid #bdc5b5;text-align:center;padding:1px 8px}.news-item strong{font-weight:400}.future{display:flex;gap:60px;padding:26px 30px;background:#eeeee3;margin-top:35px}.future>span{font-family:serif;font-size:17px;white-space:nowrap}.future p{font-size:12px;margin:0}.future small{display:block;color:#7a816d}.memorial{display:grid;grid-template-columns:1fr 1fr;gap:90px;border-top:1px solid #d6d9ce}.memorial p{color:#747d6d}.faq{padding-top:36px}details{border-bottom:1px solid #cdd3c4;padding:20px 0}summary{cursor:pointer}details p{font-size:12px;margin:15px 0 0}.history{max-width:none;background:#e9ece3;padding-left:max(calc((100% - 1060px)/2),6%);padding-right:max(calc((100% - 1060px)/2),6%)}.heritage-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-top:45px}.heritage-grid button{background:none;text-align:left;border:0;border-top:1px solid #aeb9a6;padding:25px 0}.number{font:italic 15px serif;color:#86927b}.heritage-grid h3{font-size:26px;margin:15px 0}.heritage-grid p{font-size:12px;color:#697861}.heritage-grid button>span:last-child{font-size:11px}.access dl{display:grid;grid-template-columns:110px 1fr;font-size:12px;margin:30px 0}.access dt,.access dd{padding:10px 0;border-bottom:1px solid #d4d8cd;margin:0}.map-placeholder{min-height:330px;align-self:center;background:repeating-linear-gradient(35deg,#eceee5,#eceee5 35px,#e4e8dd 35px,#e4e8dd 36px);display:flex;justify-content:center;align-items:center;flex-direction:column;color:#7b8772}.map-placeholder>span{font-size:40px;font-weight:200}.map-placeholder p{font-size:13px;margin-bottom:0}.map-placeholder small{font-size:9px}.contact{border-top:1px solid #cdd3c4;gap:70px}form label{display:block;font-size:12px;margin-bottom:18px}label small{color:#8b7150;margin-left:8px;font-size:10px}input,select,textarea{display:block;width:100%;padding:11px;margin-top:6px;border:1px solid #c5cebc;background:#fbfbf6;border-radius:0;color:#293d34}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}form>small{display:block;font-size:10px;color:#777767;margin-top:15px}footer{background:#2e4338;color:#e2e7da;padding:45px 7%;display:flex;justify-content:space-between;align-items:center;gap:25px}footer .brand{font-size:25px;display:block}footer p,footer>span,footer>a:last-child{font-size:10px;margin:0}dialog{border:1px solid #b5c0a9;background:#f7f6ef;color:#293d34;width:min(620px,90vw);padding:35px;max-height:85vh}dialog::backdrop{background:#1b2b24aa}#close-dialog{display:block;margin-left:auto;border:0;background:none;margin-bottom:20px}#dialog-content{overflow-wrap:anywhere}#dialog-content h2{font-size:25px}#dialog-content p{white-space:pre-wrap}body:has(dialog[open]){overflow:hidden}
@media(min-width:1600px){.hero{max-width:1600px;margin:auto}.hero-copy{padding-left:22%}}@media(max-width:1100px){nav{gap:14px;font-size:10px}.section{margin:0 6%;gap:50px}.history{margin:0}.hero-copy{padding-left:12%;padding-right:5%}h1{font-size:38px}.quick{margin:25px 6% 0;gap:15px}.quick a{padding-left:15px}.future{gap:20px}}@media(max-width:760px){html{scroll-padding-top:85px}.prototype{font-size:10px;padding:5px 8px}.prototype span{display:block;margin:0;font-size:9px}header{padding:17px 6%}.brand{font-size:24px}.seal{width:32px;height:32px;font-size:18px}.brand small{font-size:8px}#menu{display:block;border:0;background:none;font-size:12px}nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px 6%;background:#f7f6ef;border-bottom:1px solid #bcc5b2;font-size:14px}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}nav a{padding:10px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:45px 8% 30px}.eyebrow{margin-bottom:18px;font-size:9px}h1{font-size:36px;margin-bottom:20px}.hero-copy>p:not(.eyebrow){font-size:12px}.hero .button{padding:10px 22px}.garden{height:320px;margin:0 6% 35px}.garden svg{height:100%;width:100%;object-fit:cover}.vertical{font-size:19px;right:25px;top:25px}.scroll{bottom:10px;font-size:8px}.quick{grid-template-columns:1fr;padding:15px 0;gap:0}.quick-title{padding:5px 12px 15px}.quick-title small{display:inline;margin-left:14px}.quick a{border:0;border-top:1px solid #dedfd4;padding:14px 12px}.section{padding:60px 0;display:block;margin:0 7%}h2{font-size:29px}.lead{font-size:21px}.intro>div:last-child{padding-top:10px}.section-head{display:block}.filters{gap:7px;margin-top:22px}.filters button{padding:6px 13px;font-size:11px}.news-item{grid-template-columns:78px 65px 1fr;gap:10px;padding:17px 0}.news-item strong{grid-column:1/4;font-size:13px}.news-item .arrow{grid-column:3;grid-row:1;text-align:right}.future{display:block;padding:22px}.future p{margin-top:10px;font-size:11px}.faq{padding-top:25px}.history{margin:0;padding:60px 7%}.heritage-grid{gap:25px}.heritage-grid h3{font-size:22px}.heritage-grid p{font-size:11px}.map-placeholder{margin-top:30px;min-height:260px}.contact form{margin-top:30px}.form-row{display:block}footer{display:grid;grid-template-columns:1fr auto;padding:35px 7%;gap:20px}footer>span{grid-column:1/3}footer>a:last-child{grid-column:2;grid-row:1}footer p{grid-column:1/3}dialog{padding:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* 第1期：歴史紹介を1列で配置 */
.heritage-grid{grid-template-columns:1fr}

.heritage-grid{grid-template-columns:1fr 1fr}.map-placeholder .button{margin:20px 12px 10px}.map-placeholder small{text-align:center;padding:0 12px}@media(max-width:760px){.heritage-grid{grid-template-columns:1fr}}

.temple-crest{display:block;width:46px;height:46px;flex-shrink:0}footer .brand{display:flex;align-items:center}footer .temple-crest{filter:brightness(0) invert(.9)}@media(max-width:760px){.temple-crest{width:36px;height:36px}}

.origin-stories{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin:45px 0 60px;align-items:start}.origin-story{border-top:1px solid #aeb9a6;padding-top:30px;scroll-margin-top:120px}.origin-story h3{font-size:28px;line-height:1.7;letter-spacing:.08em;margin:0 0 22px}.story-lead{font-size:13px;line-height:2.1}.story-details{padding:0;border:0}.story-details summary{display:flex;justify-content:space-between;align-items:center;list-style:none;border-bottom:1px solid #aeb9a6;padding:12px 0;font-size:12px}.story-details summary::-webkit-details-marker{display:none}.story-details[open] summary span{transform:rotate(45deg)}.story-body{padding-top:25px}.story-body p{font-size:14px;line-height:2.2;margin:0 0 22px}.story-body .draft{font-size:11px;border-top:1px solid #cdd3c4;padding-top:16px}.story-body a{text-decoration:underline}.heritage-heading{font-size:22px;letter-spacing:.1em}@media(max-width:760px){.origin-stories{grid-template-columns:1fr;gap:40px;margin:30px 0 45px}.origin-story h3{font-size:25px}.story-body p{font-size:13px}}

/* 昼・夜の比較 */
.theme-switch{display:flex;gap:2px;border:1px solid #bfc5b8;padding:3px;margin-left:auto;margin-right:24px;flex-shrink:0}.theme-switch button{border:0;background:transparent;padding:5px 9px;font-size:11px;white-space:nowrap}.theme-switch button[aria-pressed="true"]{background:#334b3c;color:#fff}
html[data-theme="day"]{color-scheme:light}html[data-theme="night"]{color-scheme:dark}
html[data-theme="night"] body{background:#152c23;color:#edece0}
html[data-theme="night"] header{background:#152c23f5;border-color:#3e5849}
html[data-theme="night"] .prototype,html[data-theme="night"] footer{background:#0e211a;color:#e5e9dc}
html[data-theme="night"] .eyebrow,html[data-theme="night"] .draft,html[data-theme="night"] .scroll,html[data-theme="night"] .quick-title small{color:#b5c3ab}
html[data-theme="night"] .hero-copy>p:not(.eyebrow){color:#ced6c3}
html[data-theme="night"] .button{background:#dce5cd;color:#183526;border-color:#dce5cd}
html[data-theme="night"] .button:hover{background:#bdcead}
html[data-theme="night"] .history{background:#20392c}
html[data-theme="night"] .heritage-grid p{color:#c6d2bb}
html[data-theme="night"] .number{color:#adbf9f}
html[data-theme="night"] .map-placeholder{background:repeating-linear-gradient(35deg,#263e30,#263e30 35px,#324c39 35px,#324c39 36px);color:#c5d2b9}
html[data-theme="night"] input,html[data-theme="night"] select,html[data-theme="night"] textarea{background:#1c3528;color:#efeee3;border-color:#60765b}
html[data-theme="night"] label small{color:#d1bc8c}
html[data-theme="night"] dialog{background:#1c3528;color:#efeee3;border-color:#6f8563}
html[data-theme="night"] .quick,html[data-theme="night"] .quick a,html[data-theme="night"] .contact,html[data-theme="night"] .access dt,html[data-theme="night"] .access dd,html[data-theme="night"] .origin-story,html[data-theme="night"] .story-details summary,html[data-theme="night"] .story-body .draft,html[data-theme="night"] .heritage-grid button,html[data-theme="night"] .tag{border-color:#617458}
html[data-theme="night"] .text-link,html[data-theme="night"] .nav-contact,html[data-theme="night"] .theme-switch{border-color:#708362}
html[data-theme="night"] .theme-switch button[aria-pressed="true"]{background:#dce5cd;color:#183526}
html[data-theme="night"] .temple-crest{filter:brightness(0) invert(.9)}
html[data-theme="night"] nav a:hover,html[data-theme="night"] .text-link:hover{color:#e0ca96}
@media(max-width:1100px){.theme-switch{margin-right:12px;margin-left:12px}header{gap:8px}nav{gap:10px}}
@media(max-width:760px){.theme-switch{margin-left:auto;margin-right:6px}.theme-switch button{font-size:10px;padding:4px 7px}header{gap:6px}html[data-theme="night"] nav{background:#152c23;border-color:#617458}}

.hero-photo{width:100%;height:100%;position:absolute;object-fit:cover;object-position:55% center}.garden .vertical{text-shadow:0 1px 10px #102c22}.intro-photo{margin:0 0 30px}.intro-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}figcaption{font-size:10px;color:#7a816d;margin-top:8px}.story-photo{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:28px}.keisu-photo{width:100%;height:250px;object-fit:contain;display:block;margin-bottom:24px;background:#dfe3d6}.zen-photo{margin:0 0 35px}.zen-photo img{width:100%;max-height:430px;object-fit:cover;display:block}.season-photo{position:relative;height:380px;margin:0}.season-photo img{width:100%;height:100%;object-fit:cover}.season-photo p{position:absolute;right:10%;top:22%;color:white;font:30px/1.8 "Yu Mincho",serif;letter-spacing:.2em;text-shadow:0 2px 12px #193123}html[data-theme="night"] figcaption{color:#b5c3ab}html[data-theme="night"] .keisu-photo{background:#20392c}@media(max-width:760px){.hero-photo{object-position:54% center}.garden{height:350px}.season-photo{height:270px}.season-photo p{font-size:24px}.keisu-photo{height:260px}}

.akiba-main{margin:0 0 28px}.akiba-main .story-photo{margin-bottom:0}.akiba-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0}.akiba-gallery figure{margin:0}.akiba-gallery img{display:block;width:100%;height:230px;object-fit:cover}.akiba-gallery figure:first-child img{object-position:center 42%}@media(max-width:760px){.akiba-gallery{grid-template-columns:1fr}.akiba-gallery img{height:auto;max-height:420px;object-fit:contain}}

.hero-photo{object-position:62% center}@media(max-width:760px){.hero-photo{object-position:59% center}}

/* 読みやすさ：小さな文字を避け、操作対象と行間を広げる */
body{font-size:18px;line-height:2}
header{flex-wrap:wrap;gap:14px;padding-top:18px;padding-bottom:18px}
nav{gap:18px;flex-wrap:wrap;font-size:16px}
nav a{display:inline-flex;align-items:center;min-height:44px}
.eyebrow,.scroll{font-size:12px}
.prototype{font-size:14px}.prototype span{font-size:14px}
.draft,form>small,figcaption,.map-placeholder small{font-size:14px;line-height:1.9}
.hero-copy>p:not(.eyebrow){font-size:18px}
h1{font-size:48px}h2{font-size:38px}
.button,.text-link{font-size:17px;min-height:48px;padding:13px 22px}
.quick a{font-size:17px;min-height:48px;align-items:center}
.quick-title{font-size:20px}.quick-title small{font-size:12px}
.story-lead,.story-body p{font-size:19px;line-height:2.15}
.story-body .draft{font-size:14px}
.story-details summary{font-size:18px;min-height:52px;padding:16px 0}
.heritage-grid p{font-size:17px}
.heritage-grid button>span:last-child,.number{font-size:15px}
.access dl{font-size:17px;grid-template-columns:125px 1fr}
.map-placeholder p{font-size:17px}
form label{font-size:17px}label small{font-size:14px}
input,select,textarea{font-size:18px;min-height:48px}
.theme-switch button{font-size:16px;min-width:52px;min-height:44px;padding:6px 12px}
.image-note{font-size:14px}
footer{flex-wrap:wrap}footer p,footer>span,footer>a:last-child{font-size:15px}
#close-dialog{font-size:17px;min-height:44px;padding:8px 14px}
#dialog-content p{font-size:18px;line-height:2}
html{scroll-padding-top:180px}
@media(min-width:761px) and (max-width:1250px){header nav{width:100%;justify-content:center}.theme-switch{margin-left:auto}}
@media(max-width:760px){
 body{font-size:17px}header{gap:8px;flex-wrap:nowrap;padding:12px 5%}
 .brand{font-size:23px;gap:8px}.brand small{font-size:10px}.temple-crest{width:32px;height:32px}
 #menu{font-size:16px;min-height:44px;padding:6px 3px}
 .theme-switch{margin-right:0;margin-left:auto;padding:2px}
 .theme-switch button{font-size:15px;min-width:44px;min-height:44px;padding:5px 6px}
 nav{font-size:17px}nav a{padding:12px;min-height:48px}
 .prototype,.prototype span{font-size:12px}
 h1{font-size:36px}h2{font-size:30px}
 .hero-copy>p:not(.eyebrow){font-size:17px}
 .hero-copy{padding-left:7%;padding-right:7%}
 .hero .button{font-size:17px;min-height:48px}
 .eyebrow{font-size:12px}.quick a{font-size:17px;padding:14px 12px}
 .story-lead,.story-body p{font-size:18px;line-height:2.1}
 .story-body .draft,.draft,form>small,figcaption{font-size:14px}
 .story-details summary{font-size:17px}
 .heritage-grid p{font-size:17px}.heritage-grid h3{font-size:25px}
 .access dl{font-size:17px;grid-template-columns:100px 1fr}
 .map-placeholder p{font-size:16px}.map-placeholder small{font-size:14px}
 footer p,footer>span,footer>a:last-child{font-size:14px}
 html{scroll-padding-top:110px}
}
@media(max-width:370px){header{flex-wrap:wrap}.brand{margin-right:auto}#menu{margin-left:auto}.theme-switch{margin-left:0}nav{top:100%}}

/* 提供の寺紋画像をそのまま使用。白地を保って図柄を明瞭に表示。 */
.temple-crest,footer .temple-crest,html[data-theme="night"] .temple-crest{filter:none;background:#fff;padding:2px;object-fit:contain;border-radius:2px}
/* 右端の人物が表示枠に入らないよう左側を使い、花と山門を残す */
.origin-higanbana{aspect-ratio:auto;height:300px;object-fit:cover;object-position:left center}
@media(max-width:760px){.origin-higanbana{height:auto;aspect-ratio:1/1;object-fit:cover;object-position:left center}}

.founder-poem{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;border-top:1px solid #aeb9a6;border-bottom:1px solid #aeb9a6;padding:50px 0;margin-bottom:55px}.poem-intro h3{font-size:30px;line-height:1.8;letter-spacing:.1em;margin:0 0 24px}.poem-intro>p:not(.eyebrow):not(.draft){font-size:18px}.poem-scroll{overflow-x:auto;padding:15px 8px 25px}.poem-original{writing-mode:vertical-rl;margin:0 auto;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:25px;line-height:2.1;letter-spacing:.18em}.poem-original p{margin:0;white-space:nowrap}.poem-meaning{border-top:1px solid #bdc8b3;padding-top:22px;margin-top:20px}.poem-meaning h4{font-weight:400;font-size:18px;margin:0 0 14px}.poem-meaning p{font-size:18px;line-height:2}.poem-meaning .draft{font-size:14px}html[data-theme="night"] .founder-poem,html[data-theme="night"] .poem-meaning{border-color:#617458}@media(max-width:760px){.founder-poem{grid-template-columns:1fr;gap:20px;padding:35px 0}.poem-original{font-size:22px;line-height:1.8}.poem-intro h3{font-size:27px}.poem-meaning p{font-size:18px}}

/* 写真の上で漢詩から寺名へ展開するスクロール演出 */
.cinema-hero{height:260svh;position:relative;background:#12271e}.cinema-stage{position:sticky;top:0;height:100svh;min-height:580px;overflow:hidden;color:#fff}.cinema-photo,.cinema-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center}.cinema-photo{transform:scale(var(--photo-scale,1.03));will-change:transform}.cinema-shade{background:linear-gradient(90deg,#08180f91,#0d1f1455 60%,#07160f70)}.cinema-poem,.cinema-title{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:100px 7% 90px;text-align:center}.cinema-label{font-size:16px;letter-spacing:.16em;margin:0 0 25px}.cinema-verses{display:flex;flex-direction:row-reverse;gap:clamp(14px,3vw,50px)}.cinema-verses p{writing-mode:vertical-rl;font-family:"Yu Mincho",serif;font-size:clamp(23px,2.6vw,38px);line-height:1.7;letter-spacing:.2em;white-space:nowrap;margin:0;text-shadow:0 2px 16px #0009}.cinema-note{font-size:14px;margin:24px 0 0;color:#e3e7dc}.cinema-title{pointer-events:none;opacity:0;transform:translateY(25px)}.cinema-title>p:first-child{font-family:serif;font-size:20px;letter-spacing:.5em;margin:0}.cinema-title h1{font-size:clamp(65px,9vw,135px);letter-spacing:.22em;margin:12px 0 22px;padding-left:.22em;color:#fff}.cinema-tagline{font-family:"Yu Mincho",serif;font-size:23px;letter-spacing:.12em}.cinema-link{font-size:17px;border-bottom:1px solid #ffffff90;padding:10px;min-height:48px}.cinema-skip{position:absolute;right:5%;bottom:28px;font-size:16px;padding:10px 16px;border:1px solid #ffffff70;z-index:3;min-height:44px;background:#12271e66}.cinema-scroll{position:absolute;bottom:40px;left:5%;font-size:12px;letter-spacing:.18em}.cinema-poem{opacity:var(--poem-opacity,1)}.cinema-stage:has(.cinema-title[style*="pointer-events: auto"]) .cinema-scroll{opacity:0}.motion-ready .cinema-verses p{opacity:var(--verse-opacity,1);transform:translateY(var(--verse-shift,0px));will-change:opacity,transform}.reveal-ready{opacity:0;transform:translateY(30px);transition:opacity .9s ease,transform .9s ease}.reveal-ready.is-visible{opacity:1;transform:none}.poem-explanation p{font-size:18px;line-height:2}.poem-explanation .draft{font-size:14px}html{scroll-behavior:smooth}.cinema-hero+ .quick{scroll-margin-top:160px}
@media(max-width:760px){.cinema-stage{min-height:540px}.cinema-verses{gap:10px}.cinema-verses p{font-size:23px;line-height:1.3;letter-spacing:.16em}.cinema-poem,.cinema-title{padding:100px 5% 110px}.cinema-label{font-size:15px;letter-spacing:.06em}.cinema-note{font-size:12px}.cinema-tagline{font-size:18px}.cinema-photo{object-position:59% center}.cinema-scroll{bottom:90px;font-size:10px}.cinema-skip{bottom:25px;right:6%;font-size:16px}}
@media(prefers-reduced-motion:reduce){.cinema-hero{height:auto}.cinema-stage{position:relative;height:auto;min-height:0}.cinema-poem,.cinema-title{position:relative;inset:auto;padding:70px 5% 30px;opacity:1!important;transform:none!important}.cinema-title{padding-top:25px;padding-bottom:100px;pointer-events:auto!important}.cinema-link{pointer-events:auto}.cinema-verses p{opacity:1!important;transform:none!important}.cinema-photo{transform:none!important}.cinema-scroll{display:none}.reveal-ready{opacity:1;transform:none}}

/* 携帯・タブレット・文字拡大への対応 */
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-height,110px) + 20px)}
body{overflow-wrap:break-word}main,section,article,form,header>*{min-width:0}img{max-width:100%}
.cinema-stage{top:var(--header-height,100px);height:calc(100svh - var(--header-height,100px));min-height:0}
.cinema-poem,.cinema-title{padding:35px 6% 90px}
.cinema-verses{gap:clamp(10px,2.3vw,38px)}
.cinema-verses p{font-size:clamp(22px,2.5vw,36px)}
.cinema-note{max-width:34em;line-height:1.7}
.cinema-title h1{font-size:clamp(52px,8vw,110px)}
.cinema-title .cinema-link{pointer-events:inherit}
.section,.origin-story,#visit{scroll-margin-top:20px}
.story-body{max-width:36em}.story-body p,.poem-explanation p{line-height:2.05}
.button{max-width:100%;white-space:normal}.access dd{overflow-wrap:anywhere}
.form-row{min-width:0}input,select,textarea{max-width:100%}
@media(max-width:1100px){
 header{flex-wrap:nowrap;gap:12px;padding:12px 5%}
 header nav{display:none;position:absolute;top:100%;left:0;right:0;width:auto;padding:12px 5%;background:#f7f6ef;border-bottom:1px solid #bcc5b2;max-height:calc(100dvh - var(--header-height,100px));overflow-y:auto;overscroll-behavior:contain}
 header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}
 header nav a{font-size:18px;padding:12px;min-height:48px}
 #menu{display:block;border:1px solid #bfc5b8;background:transparent;font-size:16px;min-height:48px;padding:8px 12px;white-space:nowrap}
 .theme-switch{margin-left:auto;margin-right:0}.theme-switch button{min-height:44px}
 html[data-theme="night"] header nav{background:#152c23;border-color:#617458}
 html[data-theme="night"] #menu{border-color:#708362}
 .cinema-hero{height:230svh}.cinema-label{font-size:16px}
 .intro,.access,.contact{gap:35px}.section{margin-left:6%;margin-right:6%}.history{margin:0;padding-left:6%;padding-right:6%}
}
@media(max-width:600px){
 header{gap:8px;padding:10px 4%;flex-wrap:wrap}.brand{font-size:23px;margin-right:auto}
 .theme-switch{margin-left:0}.theme-switch button{padding:5px 8px}
 #menu{font-size:15px;padding:6px 8px}
 .cinema-label{font-size:15px;margin-bottom:18px}.cinema-note{font-size:14px;margin-top:18px}
 .cinema-poem,.cinema-title{padding:25px 5% 100px}
 .cinema-verses{gap:clamp(8px,2.8vw,16px)}.cinema-verses p{font-size:clamp(22px,5.7vw,28px);line-height:1.2;letter-spacing:.12em}
 .cinema-title h1{font-size:64px}.cinema-tagline{font-size:18px}
 .cinema-scroll{bottom:80px;left:6%}.cinema-skip{bottom:20px}
 .origin-stories,.heritage-grid,.intro,.access,.contact{display:block}
 .origin-story+.origin-story{margin-top:40px}.heritage-grid button{width:100%;margin-bottom:15px}
 .intro>div+div{margin-top:25px}.contact form{margin-top:30px}
 .form-row{display:block}.section{margin-left:6%;margin-right:6%;padding-top:55px;padding-bottom:55px}.history{margin:0;padding-left:6%;padding-right:6%}
 .quick{grid-template-columns:1fr}.quick a{border-left:0;border-top:1px solid #dedfd4}
 .access dl{grid-template-columns:1fr}.access dt{border-bottom:0;padding-bottom:0;font-weight:bold}.access dd{padding-top:2px}
 .season-photo p{right:6%;font-size:24px}
}
@media(max-height:550px) and (orientation:landscape){
 .cinema-hero{height:auto}.cinema-stage{position:relative;top:0;height:auto;min-height:650px}
 .cinema-poem{position:relative;padding:35px 5% 20px;opacity:1!important}
 .cinema-verses p{opacity:1!important;transform:none!important;font-size:24px}
 .cinema-title{position:relative;padding:15px 5% 90px;opacity:1!important;transform:none!important;pointer-events:auto!important}
 .cinema-title h1{font-size:48px}.cinema-title>p:first-child{display:none}.cinema-scroll{display:none}
}
@media(prefers-reduced-motion:reduce){
 .cinema-stage{position:relative;top:0;height:auto;min-height:0}
 .cinema-poem,.cinema-title{position:relative;padding:40px 5%;opacity:1!important;transform:none!important}
 .cinema-title{padding-bottom:100px}.reveal-ready{opacity:1!important;transform:none!important}
}
@media print{header,.prototype,.cinema-skip,.cinema-scroll,.theme-switch{display:none}.cinema-hero{height:auto}.cinema-stage{position:relative;top:0;height:auto}.cinema-poem,.cinema-title{position:relative;opacity:1!important;transform:none!important}.cinema-verses p,.reveal-ready{opacity:1!important;transform:none!important}}

.temple-crest,footer .temple-crest,html[data-theme="night"] .temple-crest{background:transparent;padding:0;border-radius:0;filter:none}footer .temple-crest,html[data-theme="night"] .temple-crest{filter:invert(.93)}

.temple-crest,footer .temple-crest,html[data-theme="night"] .temple-crest{background:transparent;object-fit:contain;filter:none}footer .temple-crest,html[data-theme="night"] .temple-crest{filter:brightness(0) invert(1)}

/* 旧Safariの高さ指定フォールバックと、タップによる演出再生 */
@supports not (height:100svh){.cinema-hero{height:260vh}.cinema-stage{height:calc(100vh - var(--header-height,100px))}}
.cinema-play{position:absolute;z-index:4;left:5%;bottom:75px;min-height:48px;padding:10px 16px;border:1px solid #ffffff90;background:#10291ed9;color:#fff;font-size:16px}.playing-cinema .cinema-poem{opacity:var(--poem-opacity,1)!important}.playing-cinema .cinema-verses p{opacity:var(--verse-opacity,1)!important;transform:translateY(var(--verse-shift,0px))!important}
@media(max-width:760px){.cinema-play{left:6%;bottom:82px;font-size:16px}.cinema-scroll{display:none}}
@media(prefers-reduced-motion:reduce){.cinema-play{display:none}}
@media(max-height:550px) and (orientation:landscape){.cinema-play{display:none}}

/* トップ演出後の余分なスクロール区間を短縮 */
.cinema-hero{height:150vh;height:150svh}
.cinema-stage{height:calc(100vh - var(--header-height,100px));height:calc(100svh - var(--header-height,100px))}
.cinema-hero+.quick{margin-top:20px}
@media(max-width:760px){.cinema-hero{height:145vh;height:145svh}}
@media(max-height:550px) and (orientation:landscape){.cinema-hero{height:auto}.cinema-stage{height:auto}}
@media(prefers-reduced-motion:reduce){.cinema-hero{height:auto}.cinema-stage{height:auto}}

/* どの端末設定でも再生を選べる。自動演出の抑制と手動再生を分離。 */
.cinema-play{display:block!important;bottom:20px;left:5%;max-width:90%;line-height:1.5}
.cinema-skip{bottom:80px}.cinema-scroll{display:none}
.playing-cinema .cinema-hero{height:100vh;height:100svh}
.playing-cinema .cinema-stage{position:relative!important;top:0!important;height:calc(100vh - var(--header-height,100px))!important;height:calc(100svh - var(--header-height,100px))!important;min-height:420px}
.playing-cinema .cinema-poem,.playing-cinema .cinema-title{position:absolute!important;inset:0;padding:20px 5% 125px}
.playing-cinema .cinema-title{opacity:var(--title-opacity,0)!important;transform:translateY(var(--title-shift,25px))!important}
.playing-cinema .cinema-verses p{font-size:clamp(20px,4.5vw,36px)}
@media(max-height:550px) and (orientation:landscape){.playing-cinema .cinema-verses p{font-size:20px;letter-spacing:.05em}.playing-cinema .cinema-label,.playing-cinema .cinema-note{display:none}.playing-cinema .cinema-title h1{font-size:44px}}
@media print{.cinema-play{display:none!important}}
