﻿/* 読みやすさ改訂：本文16px、補足14px。装飾ロゴは対象外。 */
/* 本文 16/1.95 */
body{font-size:16px;line-height:1.95}
.catch,#about>.lead>p:not(.seclabel),.card p,.jury-block p,.divbox ul,.step p,.warn p,.tlitem p.muted,.critbox p,table,th,td,#rule .lead,.kit p,.perk p,.faq summary,.faq .ans,.tag-guide>p,.entry-alert,.guide-explain,footer .fcol p:not(.fhost){font-size:16px!important;line-height:1.95}
.gallery figcaption,.samples figcaption,.notes,.prize .qty,.award-detail,.hero-host,.hero-photo figcaption,.band-label,.band-note,.date-band small,.kit ul,.tag-guide .guide-note,.tag-guide .diagram-link,.fcol,.copy,.draft-strip,.nav-links,.warn .wl,.kit .badge,thead th,.guide-number,.mock-head,.mock-caption,.mock-result,.mock-search,.mock-person b,.mock-person small,.mock-tabs,.your-post b,footer>.wrap:last-child{font-size:14px!important;line-height:1.8}
/* 操作（ボタン・リンク） */
.nav-cta,.text-link,.tag,.dl-cta{font-size:14px;line-height:1.8}
.cta,.kit .dl-cta,.hero h1{font-size:16px}
/* 見出し 18/1.7 */
.step h3,.critbox h3,.perk h3,.guide-card h4{font-size:18px;line-height:1.7}
/* ラベル 14＋字間 */
.seclabel,.card .k,.prize .pn,.perk .k,.fcol h4,.kit:before{font-size:14px;letter-spacing:.1em}
.hero-photo figcaption span{font-size:12px}.hero-kicker{font-size:12px}.theme-seal span{font-size:10px}
.gallery figcaption,.samples figcaption{padding:15px;line-height:1.8}
.hero-actions{flex-wrap:wrap;gap:16px 24px}.hero-host{letter-spacing:0}.date-band>div{min-width:0}.band-note{display:block;margin-top:7px}
/* v04 0930 日程帯: 審査にも曜日（TUE・SUN）が入ったため、募集と審査の列を同じ幅にして受賞発表の列を詰める（1440pxで審査の日付が区切り線に掛からないように） */
.date-band{grid-template-columns:1.2fr 1.2fr .75fr}
.guide-cards{gap:16px}.guide-card{padding:18px}.guide-card h4{min-height:62px}.ui-mock{min-height:300px}.mock-caption,.mock-person,.mock-result{overflow-wrap:anywhere}.mock-person>div{min-width:0}.mock-person{padding:10px 12px 24px;gap:7px}.mock-tabs{flex-wrap:wrap}.mock-result{padding:12px 8px}.mock-grid{padding-bottom:20px}.your-post b{position:static;display:block}.mock-grid>div{min-width:0}
.kit .lead span,.lead span[style*="nowrap"]{white-space:normal!important}
#perks p[style*="font-size"],section.dark p[style*="font-size:14px"]{font-size:16px!important}
@media(max-width:1100px){.date-band{grid-template-columns:1.2fr 1.2fr .6fr;gap:20px}.date-band b{font-size:32px}.date-band p{gap:6px}.date-band>div{padding-right:12px}.guide-cards{grid-template-columns:1fr}.ui-mock{max-width:340px;margin:auto}.guide-card h4{min-height:0}.guide-card .ui-mock img{display:block}.ui-shot{max-width:340px;margin:auto}}
@media(max-width:800px){.hero-kicker{font-size:11px;letter-spacing:.04em}.hero h1{font-size:16px}.hero-copy{padding-bottom:36px}.hero-photo{height:auto;aspect-ratio:4/5}.catch{line-height:1.85}.hero-actions .cta{min-height:52px}.hero-photo figcaption{right:18px;bottom:20px}.wrap{padding:0 24px}.date-band{grid-template-columns:1fr 1fr}.date-band b{font-size:30px}.date-band>div:first-child b{font-size:40px}.date-band>div:first-child{grid-column:1/-1}.band-label{letter-spacing:.04em}.jury-block{display:block}.jury-mark{margin-bottom:20px}.step{gap:12px}.step h3{font-size:18px}.step p{overflow-wrap:anywhere}.prize{padding:20px 16px}.prize .qty{margin-top:10px}.guide-card{padding:18px}.tag-guide{padding:18px}.tag-guide h3{font-size:22px}.fcol{width:100%}.kit{padding:30px 20px}.kit .dl-cta{font-size:16px;padding:15px 18px}.faq summary{align-items:flex-start}.faq .ans{padding-left:0}.notes li{margin-bottom:16px}.hero-photo figcaption span{font-size:12px}.samples figcaption{font-size:14px;padding:14px}.nav-cta{padding:8px 10px;gap:6px}.hero-actions .cta{padding:15px 19px;gap:16px}}
@media(max-width:600px){.crit{grid-template-columns:1fr}.critbox{padding:24px}.date-band{grid-template-columns:1fr}.date-band>div{border-right:0;border-bottom:1px solid #aa7757;padding:0 0 18px!important}.date-band>div:last-child{border-bottom:0;padding-bottom:0!important}.date-band>div:first-child{grid-column:auto}.date-band b{font-size:32px}.date-band>div:first-child b{font-size:40px}.date-band p{gap:10px}table,tbody,tr,td{display:block;width:100%}thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}table tr{margin-bottom:20px;border:1px solid #d1bfa4}table td{border:0;padding:16px 18px}table td+td{border-top:1px solid #d1bfa4}table td:nth-child(2):before{content:'推奨・OK';display:block;font-weight:700;margin-bottom:8px;color:var(--ink)}table td:nth-child(3):before{content:'禁止・NG';display:block;font-weight:700;margin-bottom:8px;color:var(--crimson)}.gallery{grid-template-columns:1fr}.gallery img{height:auto}.draft-strip{gap:8px;padding:8px 16px;letter-spacing:0;font-size:12px!important}.wordmark{font-size:18px}.site-nav{padding:14px 16px;gap:8px}.nav-cta{font-size:14px}.nav-cta span{display:none}.prizes{grid-template-columns:1fr}.prize.feat{grid-column:auto}.prize .qty{display:inline-block;margin-left:8px}.prize .amt{font-size:25px}.theme-seal span{font-size:10px}.hero-actions .cta{width:100%;justify-content:space-between}.tag-guide{padding:20px 0;border:0;background:transparent}.guide-card{padding:16px}.guide-card h4{min-height:0}.guide-card h4 br{display:none}.kit .dl-cta{padding:15px 14px;gap:10px;font-size:15px;white-space:nowrap}}

/* v04 samples */
.samples{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.sample-media{aspect-ratio:2/3;background:#f6efe3;display:grid;grid-template-rows:minmax(0,1fr);place-items:center;overflow:hidden}  /* 行の高さを確定させ、縦動画が枠内に収まる（はみ出して切れない）ようにする */
.sample-media img,.sample-media video{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain}
.sample-video .sample-media{background:#201d19}
.samples figcaption,.sample-disclosure{font-size:14px;line-height:1.8}
.samples .sample-video figcaption a{font-size:14px;text-decoration:underline}
@media(max-width:600px){
.samples{grid-template-columns:1fr}
.sample-media{aspect-ratio:auto}
.sample-media img,.sample-media video{height:auto;max-height:70vh}
}

/* v04 wrap.lead: 外枠は共通グリッド、文章幅だけ制限 */
.wrap.lead,#about>.lead{max-width:var(--maxw)}
.wrap.lead>p:not(.seclabel),.wrap.lead>.faq,.wrap.lead>.notes{max-width:880px}
#about>.lead>p:not(.seclabel){max-width:890px}
/* v04 キット節: ブロックごと左揃え。文は意味の切れ目（.ph）単位で折り返し、語の途中で改行しない */
.kit{text-align:left}
.kit p{margin:18px 0!important;max-width:760px}
.kit ul{justify-content:flex-start}
.ph{display:inline-block}

