/* テーマ別一覧専用デザイン。トップページと色・余白を共有します。 */
:root{--theme-space:26px}
.themes-hero{position:relative;isolation:isolate;display:grid;align-items:center;min-height:285px;overflow:hidden;background:#193329 url('../images/shrines/mainimg1.jpg.webp') center 42%/cover;color:#fff;text-align:center}
.themes-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(95deg,rgba(9,29,23,.88),rgba(9,30,25,.68) 57%,rgba(10,30,24,.24))}
.themes-hero::after{content:"";position:absolute;width:275px;height:275px;left:-65px;top:-65px;background:url('../images/decor/sakura-branch.svg') center/contain no-repeat;opacity:.94;pointer-events:none}
.themes-hero-inner{position:relative;max-width:1000px;padding:27px 26px;margin:auto}
.themes-hero .section-en{font-size:13px;color:#f6d99d;letter-spacing:.23em}
.themes-hero h1{font-size:clamp(31px,4vw,48px);font-weight:800;line-height:1.35;margin:5px 0 11px;text-shadow:0 2px 8px #0c2619}
.themes-hero p{font-size:clamp(12px,1.3vw,16px);font-weight:600;line-height:1.8;margin:0;text-shadow:0 2px 8px #0c2619}
.themes-breadcrumb{display:flex;gap:11px;align-items:center;padding-top:12px;font-size:12px;color:#6f604a}
.themes-breadcrumb a{color:var(--red)}
.themes-intro{padding-top:14px;text-align:center;font-size:13px;line-height:1.85}
.themes-intro p{margin:0}
.theme-jump{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:11px;margin-top:17px;margin-bottom:25px}
.jump-card{position:relative;display:flex;min-height:111px;align-items:center;overflow:hidden;border:1px solid #dac5a4;border-radius:6px;box-shadow:0 2px 8px #4d351a1c;isolation:isolate}
.jump-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .2s}
.jump-card::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 0%,rgba(255,252,243,.17) 28%,rgba(255,252,243,.92) 65%,#fffaf0)}
.jump-card span{width:70%;margin-left:auto;text-align:center;display:flex;flex-direction:column;gap:3px;padding:9px 5px}
.jump-card strong{font-size:clamp(13px,1.25vw,17px);line-height:1.35;white-space:nowrap;color:#7b4b2c}
.jump-card small{font-size:10px;line-height:1.45;font-weight:700}
.jump-pink strong{color:#a92b52}.jump-red strong{color:#b3291f}.jump-green strong{color:#327b42}.jump-cream strong{color:#a44847}
.jump-card:hover img{transform:scale(1.06)}
.theme-list{display:grid;gap:26px;padding-bottom:26px}
.theme-feature{scroll-margin-top:95px;border:1px solid #e5d9c9;background:rgba(255,253,247,.84);border-radius:7px;overflow:hidden;box-shadow:0 1px 7px #59421c14}
.theme-feature:target{outline:2px solid #c4a35f;outline-offset:3px}
.theme-feature-banner{position:relative;isolation:isolate;display:flex;min-height:180px;align-items:center;overflow:hidden;background:#fff7e9}
.theme-feature-banner::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fffaf2 0%,rgba(255,248,236,.98) 36%,rgba(255,248,235,.82) 53%,rgba(255,248,235,.08) 76%)}
.theme-feature-banner img{position:absolute;right:0;top:0;width:57%;height:100%;object-fit:cover;z-index:-2}
.theme-banner-copy{padding:17px 25px 17px 31px;max-width:65%;border-left:4px solid #bc9b5e;margin-left:20px}
.theme-feature-pink .theme-banner-copy{border-color:#db7892}.theme-feature-red .theme-banner-copy{border-color:#c34b36}.theme-feature-green .theme-banner-copy{border-color:#7ba653}.theme-feature-cream .theme-banner-copy{border-color:#d89994}
.theme-banner-copy h2{font-size:clamp(25px,2.5vw,34px);margin:2px 0 8px;color:#8e2218;line-height:1.45}
.theme-feature-gold h2{color:#855718}.theme-feature-pink h2{color:#ad2955}.theme-feature-green h2{color:#31603f}.theme-feature-cream h2{color:#a93b38}
.theme-banner-copy p{font-size:13px;line-height:1.8;margin:0;max-width:620px;font-weight:600}
.theme-feature-subtitle{display:flex;justify-content:space-between;align-items:center;padding:13px 18px 11px;border-bottom:1px solid #eee0c6}
.theme-feature-subtitle h3{font-size:17px;line-height:1.3;margin:0}.theme-feature-subtitle h3 span{font-size:12px;font-weight:500;color:#786047;margin-left:9px}
.top-anchor{font-size:11px;color:var(--red);white-space:nowrap}
.theme-shrine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;padding:14px}
.theme-shrine{display:flex;align-items:stretch;gap:14px;min-width:0;padding:11px;border-radius:5px;border:1px solid #eadfcf;background:rgba(255,255,255,.82)}
.theme-shrine-photo{width:32%;min-width:130px;max-width:175px;flex-shrink:0;aspect-ratio:1/1;overflow:hidden;background:#f4ece0;border-radius:3px}
.theme-shrine-photo img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .25s}
.theme-shrine-photo:hover img{transform:scale(1.04)}
.theme-shrine-content{flex:1;display:flex;flex-direction:column;min-width:0}
.theme-shrine-content h4{font-size:15px;font-weight:800;line-height:1.45;margin:0 0 6px}
.theme-shrine-content p{font-size:12px;line-height:1.73;color:#65584b;margin:0 0 7px;flex:1}
.theme-shrine-link{align-self:flex-start;color:var(--red);font-size:11px;font-weight:800;border-bottom:1px solid #cbb49a;padding-bottom:2px}
.theme-shrine-link span{margin-left:3px;font-size:16px}
.themes-bottom{background:linear-gradient(100deg,rgba(255,247,232,.96),rgba(254,242,210,.87)),url('../images/decor/seigaiha.svg') center/160px auto repeat;border-top:1px solid #dfc79e;border-bottom:1px solid #dfc79e;padding:22px 0}
.themes-bottom-inner{display:flex;align-items:center;justify-content:center;gap:clamp(20px,6vw,90px)}
.themes-bottom h2{margin:3px 0 4px;font-size:25px;line-height:1.5}.themes-bottom p{font-size:12px;margin:0}
@media(max-width:1100px){.theme-jump{gap:7px}.jump-card{min-height:98px}.jump-card span{width:73%}.jump-card strong{font-size:13px}.jump-card small{font-size:9px}.theme-shrine-photo{min-width:116px}.theme-shrine-content h4{font-size:14px}}
@media(max-width:760px){.theme-shrine-grid{grid-template-columns:1fr}.theme-jump{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-feature-banner{min-height:150px}.theme-banner-copy{max-width:73%}.theme-feature-banner img{width:65%}}
@media(max-width:640px){:root{--theme-space:18px}.themes-hero{min-height:210px}.themes-hero-inner{padding:22px 15px}.themes-hero h1{font-size:29px}.themes-hero p{font-size:12px}.themes-hero::after{width:170px;height:170px;left:-85px;top:-32px}.themes-breadcrumb{padding-top:9px;font-size:11px}.themes-intro{text-align:left;padding-top:9px;font-size:12px}.theme-jump{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px;margin-bottom:18px}.jump-card{min-height:95px}.jump-card:last-child{grid-column:1/-1}.jump-card span{width:69%}.jump-card strong{font-size:13px}.jump-card small{font-size:9px}.theme-list{gap:18px;padding-bottom:18px}.theme-feature{scroll-margin-top:74px}.theme-feature-banner{min-height:165px}.theme-banner-copy{padding:12px 6px 12px 12px;margin-left:9px;max-width:78%}.theme-banner-copy h2{font-size:23px;margin:1px 0 6px}.theme-banner-copy p{font-size:11px;line-height:1.65}.theme-feature-banner img{width:73%;object-position:center}.theme-feature-banner::before{background:linear-gradient(90deg,#fffaf2,rgba(255,248,236,.97) 34%,rgba(255,248,235,.86) 63%,rgba(255,248,235,.06))}.theme-feature-subtitle{padding:10px}.theme-feature-subtitle h3{font-size:14px}.top-anchor{font-size:10px}.theme-shrine-grid{padding:10px;gap:10px}.theme-shrine{gap:10px;padding:8px}.theme-shrine-photo{width:36%;min-width:0;max-width:none;aspect-ratio:3/4}.theme-shrine-content h4{font-size:13px;margin-bottom:4px}.theme-shrine-content p{font-size:11px;line-height:1.65}.theme-shrine-link{font-size:10px}.themes-bottom{padding:18px 0}.themes-bottom-inner{display:block;text-align:center}.themes-bottom h2{font-size:20px}.themes-bottom .button{margin-top:12px;font-size:12px;min-height:42px}}
@media(max-width:375px){.theme-shrine-photo{width:33%}.theme-shrine-content h4{font-size:12px}.theme-shrine-content p{font-size:10px}.jump-card strong{font-size:12px}}
