/* index.html に取り込んだ goods/sponsors 用CSS(261105) */

/* ===== goods.html 専用：パンフレット8ページ（グッズ）をそのまま表示。.p8 で始まるクラスだけがこのページで使われます ===== */
.p8-wrap{padding:28px 0 56px}
.p8-frame{position:relative;width:100%;max-width:740px;margin:0 auto;aspect-ratio:148/209.8;overflow:hidden;border:1px solid var(--line);background:#EFEDE9}
.p8{position:absolute;left:0;top:0;transform-origin:0 0}
.p8 *{box-sizing:border-box;margin:0;padding:0}
.p8{font-family:"Zen Kaku Gothic New",sans-serif;color:#1e2140;line-height:normal;letter-spacing:0;word-break:normal;line-break:auto}
.p8 .p8-page{margin:-3mm 0 0 -3mm}
.p8 img{max-width:none}
.p8 h1{font-family:"Zen Kaku Gothic New",sans-serif;letter-spacing:.02em}
#p8mm{position:absolute;width:100mm;height:0;visibility:hidden}

.p8 .p8-page{width:154mm;height:215.8mm;background:#EFEDE9;position:relative;overflow:hidden}
.p8 .p8-in{position:absolute;left:15mm;right:15mm}
.p8 .p8-ttl{top:15mm;display:flex;align-items:center;gap:3.5mm}
.p8 .p8-badge{flex:none;width:22mm;height:22mm;border-radius:50%!important;background:#e5476d;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;transform:rotate(-8deg);box-shadow:0 0 0 .6mm #EFEDE9,0 0 0 1mm #e5476d!important}
.p8 .p8-badge b{font-size:10pt;font-weight:900;letter-spacing:.02em}
.p8 .p8-badge small{font-size:7.4pt;font-weight:900;margin-top:.8mm}
.p8 .p8-ttl h1{font-size:19pt;font-weight:900;letter-spacing:.02em;line-height:1.25;white-space:nowrap}
.p8 .p8-ttl h1 em{font-style:normal;background:linear-gradient(transparent 58%,#ec9db4 58%)}
.p8 .p8-ttl p{font-size:9pt;font-weight:700;margin-top:1.6mm}
.p8 .p8-ttl p span{font-weight:500;color:#555a70;margin-left:2.4mm;font-size:8pt}
.p8 .p8-band{position:absolute;left:0;right:0;top:41mm;height:10mm;background:#e5476d;color:#fff;display:flex;align-items:center;padding:0 15mm;gap:3mm;font-weight:700}
.p8 .p8-band b{font-size:10pt;letter-spacing:.03em}
.p8 .p8-band small{font-size:6.6pt;font-weight:500}
.p8 .p8-main{top:55mm;bottom:13mm;display:flex;flex-direction:column;gap:3.2mm}
.p8 .p8-two{display:grid;grid-template-columns:1fr 1fr;gap:3.2mm}
.p8 .p8-card{background:#fff;padding:2.6mm 3.5mm;display:flex;flex-direction:column;align-items:center;text-align:center}
.p8 .p8-card .p8-img{height:40mm;display:flex;align-items:center;justify-content:center}
.p8 .p8-card .p8-img img{max-height:40mm}
.p8 img.p8-stk{border:.3mm solid #2b2d42}
.p8 img.p8-bdg{border:.3mm solid #2b2d42;border-radius:50%!important}
.p8 .p8-nm{font-size:9.6pt;font-weight:900;margin-top:1.4mm}
.p8 .p8-en{font-size:6pt;font-weight:500;color:#555a70}
.p8 .p8-sp{font-size:6.6pt;font-weight:500;color:#3a3d55;margin-top:.6mm}
.p8 .p8-pr{font-size:16pt;font-weight:900;color:#e5476d;line-height:1.25}
.p8 .p8-pr small{font-size:8pt;margin-left:.4mm}
.p8 .p8-card.p8-pc{flex-direction:row;gap:4mm;text-align:left}
.p8 .p8-card.p8-pc .p8-img{gap:2mm;height:33.5mm;flex:none}
.p8 .p8-card.p8-pc .p8-img img{height:33.5mm;box-shadow:0 .4mm 1.2mm rgba(0,0,0,.25)!important}
.p8 .p8-set{display:flex;align-items:center;justify-content:center;gap:3mm;background:#fff;border:.5mm solid #e5476d;border-radius:20mm!important;height:9.5mm}
.p8 .p8-set b{font-size:11pt;font-weight:900}.p8-set i{font-style:normal;font-size:15pt;font-weight:900;color:#e5476d}.p8-set span{font-size:6.6pt;font-weight:700;color:#555a70}
.p8 .p8-more{position:relative;height:32mm;flex:none;display:grid;grid-template-columns:1fr 1fr 1.5fr;gap:2.6mm}
.p8 .p8-more .p8-lab{position:absolute;top:-4.4mm;left:0;font-size:6.6pt;font-weight:900;color:#1e2140;letter-spacing:.04em}
.p8 .p8-m{background:#fff;padding:2.8mm 3mm;font-size:6.6pt;line-height:1.55;color:#2c2f48}
.p8 .p8-m b{display:block;white-space:nowrap;font-size:8.6pt;font-weight:900;color:#1e2140;margin-bottom:.6mm}
.p8 .p8-m b i{font-style:normal;font-size:5.6pt;color:#e5476d;margin-left:1mm;letter-spacing:.04em}
.p8 .p8-m.p8-tm{display:flex;gap:2.4mm;padding:0}
.p8 .p8-m.p8-tm .p8-ph{width:22.5mm;flex:none;background:url(img/goods/tsuchimaru.jpg) center/contain no-repeat #fff}
.p8 .p8-m.p8-tm .p8-tx{padding:2.8mm 2.6mm 2.8mm 0}
.p8 .p8-navy{position:absolute;left:0;right:0;bottom:0;height:24mm;background:#1e2140;color:#fff;padding:3.8mm 15mm 0}
.p8 .p8-navy p{font-size:6.2pt;line-height:1.6;font-weight:500}
.p8 .p8-navy .p8-jp{font-size:6.6pt;margin-bottom:1mm}
.p8 .p8-navy b{font-weight:700}
.p8 .p8-two{flex:none}
.p8 .p8-two .p8-card{justify-content:center}
.p8 .p8-card.p8-pc{flex:none}
.p8 .p8-lab2{font-size:8.6pt;font-weight:900;letter-spacing:.04em;margin:1mm 0 -1mm}
.p8 .p8-lab2 span{font-weight:700;color:#555a70;margin-left:2.5mm;font-size:7.4pt}
.p8 .p8-nm{white-space:nowrap}
.p8 .p8-card.p8-pc{gap:3.5mm!important}
.p8 .p8-nm .p8-ne{font-size:inherit;font-weight:900;margin-left:0}
.p8 .p8-nm{line-height:1.35}



/* ===== sponsors.html 専用（site.css には手を入れていません。.sp- で始まるクラスだけがこのページで使われます） ===== */
.sp-wrap{padding:8px 0 40px}
.sp-lead{margin:10px 0 0;font-size:15px;line-height:1.9;color:var(--ink)}
.sp-lead small{display:block;margin-top:6px;font-size:12px;color:var(--mute);letter-spacing:.06em}
/* 枠（ロゴ・社名）。サイトの「罫と表」に合わせ、角丸・影なし。ロゴの白地が紙の色と喧嘩しないよう、枠の中は白。
   社名はパンフレットと同じく明朝体で、枠いっぱいの大きさにする */
.sp-grid{display:grid;gap:12px;margin:0}
.sp-box{display:flex;align-items:center;justify-content:center;gap:14px;box-sizing:border-box;background:#fff;border:1px solid var(--ink);color:var(--ink);text-align:center;font-family:var(--mincho);font-weight:800;line-height:1.3;padding:10px 14px;text-decoration:none;min-width:0;overflow:hidden}
a.sp-box:hover{border-color:var(--red)}
.sp-box img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.sp-box .nm{display:block;overflow-wrap:anywhere;word-break:keep-all}
/* 段ごとの大きさ：上から順に小さく。金額は帯で示し、枠は大きさで差をつける（パンフレットと同じ考え方） */
.sp-t1 .sp-box{height:clamp(120px,19vw,200px);padding:14px 24px}
.sp-t1 .sp-box img{height:80%;width:auto;max-width:92%}
.sp-t1 .sp-box.sp-opt{padding:0;justify-content:flex-start}
.sp-t1 .sp-box.sp-opt img{height:100%;max-height:none;width:auto;flex:none}
.sp-t1 .sp-box.sp-opt .nm{flex:1;font-size:clamp(26px,5.6vw,60px);font-weight:800;letter-spacing:.04em;padding:0 16px;color:#1d1560}
.sp-t2{grid-template-columns:repeat(2,1fr)}
.sp-t2 .sp-box{height:clamp(120px,15vw,170px);font-size:clamp(20px,2.8vw,34px);line-height:1.25}
.sp-t2 .sp-box img.sp-mk{height:82%;width:auto;flex:none}
.sp-t3{grid-template-columns:repeat(3,1fr)}
.sp-t3 .sp-box{height:clamp(84px,10.5vw,124px);font-size:clamp(17px,2.3vw,28px);line-height:1.22;padding:8px 12px}
.sp-t3 .sp-box img{max-height:84%;max-width:90%}
.sp-t3 .sp-box img.sp-mk{height:70%;width:auto;flex:none;max-width:40%}
.sp-t3 .sp-box.sp-col{flex-direction:column;gap:4px}
.sp-t3 .sp-box.sp-col img.sp-mk{height:28%;max-width:60%}
.sp-t3 .sp-box.sp-col .nm{font-size:.82em}
.sp-t3 .sp-box small{display:block;font-size:10.5px;font-weight:500;color:var(--mute);line-height:1.45;margin-top:4px;font-family:var(--gothic)}
.sp-t4{grid-template-columns:repeat(3,1fr)}
.sp-t4 .sp-box{height:clamp(52px,5.6vw,66px);font-size:clamp(16px,2vw,25px);font-weight:500;border-color:var(--line)}
.sp-t5{grid-template-columns:repeat(4,1fr)}
.sp-t5 .sp-box{height:clamp(46px,4.8vw,58px);font-size:clamp(14px,1.75vw,22px);font-weight:500;border-color:var(--line);padding:6px 8px}
.sp-t5 .sp-box .nm{white-space:nowrap}
.sp-tier{margin-top:10px}
.sp-m{display:none}
.sp-tag{display:inline-flex;align-items:center;margin:0 0 8px;padding:3px 9px;border:1px solid var(--ink);font-size:12px;font-weight:700;letter-spacing:.04em;line-height:1.4;color:var(--ink);background:transparent}
.sp-tag.sp-sp{background:var(--ink);color:var(--bg)}
.sp-tier+.sp-tier{margin-top:22px}
/* 企画・主催（faq.html の .orgl と同じ見た目） */
.sp-credits{margin-top:44px;padding-top:4px}
.sp-credits .h2{font-size:22px;margin-bottom:6px}
/* スマホ */
@media (max-width:640px){
 .sp-grid{gap:8px}
 .sp-t1 .sp-box{height:96px;padding:10px 14px}
 .sp-t1 .sp-box.sp-opt .nm{font-size:26px}
 .sp-t2{grid-template-columns:1fr}
 .sp-t2 .sp-box{height:100px;font-size:21px;gap:12px}
 .sp-t3{grid-template-columns:repeat(2,1fr)}
 .sp-t3 .sp-box{height:78px;font-size:16.5px;padding:6px 8px;gap:8px}
 .sp-t3 .sp-box.sp-col .nm{font-size:.8em}
 .sp-t3 .sp-box small{font-size:9px;line-height:1.35}
 .sp-t4{grid-template-columns:repeat(2,1fr)}
 .sp-t4 .sp-box{height:50px;font-size:15px}
 .sp-t5{grid-template-columns:repeat(2,1fr)}
 .sp-t5 .sp-box{height:46px;font-size:14px}
 .sp-t5 .sp-box .nm{white-space:normal}
 .sp-m{display:inline}
}
/* 白地の枠の中は紺で読めるように(site.css の --ink が白のため) */
.sp-box{color:#1d1560}
.sp-t3 .sp-box small{color:#555a70}
