/* 足助新聞 謎めぐり2026 Instagramフォトコンテスト専用CSS
   サイト共通のstyle.cssに追記せず、このファイルだけで管理できます。 */
.pc-page { overflow-wrap:anywhere; }
.pc-page h1, .pc-page h2, .pc-page h3 { font-family:var(--serif); }
.pc-page a { transition:color .15s ease, background-color .15s ease; }
.pc-page [id] { scroll-margin-top:100px; }
.pc-site-header { position:sticky; }
.pc-header-inner { min-height:var(--header-h); display:flex; align-items:center; justify-content:space-between; gap:24px; padding-block:8px; }
.pc-header-nav { display:flex; align-items:center; flex-wrap:wrap; gap:14px 26px; }
.pc-header-nav a { text-decoration:none; font-size:13px; font-weight:600; }
.pc-header-nav a:last-child { color:var(--red); border-bottom:1px solid currentColor; }
.pc-header-nav a:hover { color:var(--red); }
.pc-mobile-break { display:none; }
.pc-hero { position:relative; overflow:hidden; isolation:isolate; color:#fff8ea; background:radial-gradient(ellipse at 65% 20%,#bf764342,transparent 55%),linear-gradient(135deg,#44191d 0%,#6b2025 55%,#973e37 100%); }
.pc-hero::before, .pc-hero::after { content:""; pointer-events:none; position:absolute; z-index:-1; width:390px; height:390px; border:1px solid #f2c58533; border-radius:50%; transform:scale(1.6); }
.pc-hero::before { top:-310px; left:-100px; }
.pc-hero::after { bottom:-350px; right:-140px; }
.pc-hero-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr); gap:55px; align-items:center; min-height:480px; padding-block:64px 62px; }
.pc-eyebrow { font:600 13px/1.7 var(--serif); letter-spacing:.15em; color:#efd2a1; }
.pc-presented { display:inline-block; font:13px Georgia,serif; color:#e8c999; letter-spacing:.03em; margin:8px 0 16px; }
.pc-hero h1 { font-size:clamp(30px,3.5vw,52px); letter-spacing:.04em; line-height:1.5; font-weight:500; text-wrap:balance; }
.pc-hero h1 span { font-weight:600; font-size:clamp(34px,3.75vw,57px); color:#fff5e9; text-shadow:0 3px 14px #1a0c0b35; }
.pc-hero-lead { font:clamp(18px,1.85vw,23px)/1.7 var(--serif); color:#f9e4bd; letter-spacing:.04em; margin-top:20px; }
.pc-hero-date { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px 14px; margin:18px 0 29px; }
.pc-hero-date span { font-size:12px; border:1px solid #fff2d595; padding:2px 8px; }
.pc-hero-date strong { font-size:17px; font-weight:600; letter-spacing:.01em; }
.pc-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:17px; }
.pc-page .pc-action { border:1px solid #f8eedb; background:#fff8eb; color:#6b2025; min-height:50px; padding:11px 20px; }
.pc-page .pc-action:hover { background:#f2e0bd; color:#401a1b; }
.pc-plain-link { color:#fff6e7; font-size:13px; text-decoration:none; border-bottom:1px solid #ead0a8; padding-bottom:3px; }
.pc-hero-photo { width:100%; max-width:340px; margin:0 auto; transform:rotate(2.5deg); }
.pc-hero-photo img { width:100%; height:auto; box-shadow:13px 18px 40px #15090763; border:6px solid #f6e9d3; }
.pc-hero-photo figcaption { color:#f1dfc1; font:11px/1.5 var(--serif); margin-top:14px; text-align:right; }
.pc-intro { text-align:center; }
.pc-intro-inner { max-width:850px; }
.pc-intro .kicker { justify-content:center; }
.pc-intro .section-title { margin-bottom:18px; }
.pc-intro .section-title em { font-style:normal; color:var(--red); }
.pc-intro p:not(.eyebrow) { line-height:2.1; font-size:16px; }
.pc-intro .pc-muted { color:var(--muted); font-size:14px!important; margin-top:9px; }
.pc-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px; list-style:none; padding:0; margin:0; }
.pc-step { position:relative; background:var(--white); border-top:3px solid var(--gold); padding:23px 18px 26px; min-width:0; min-height:296px; }
.pc-step-number { display:block; font:22px Georgia,serif; color:var(--red); border-bottom:1px solid var(--rule); padding-bottom:10px; }
.pc-step-icon { display:block; font:40px/1 Georgia,serif; color:var(--gold); height:43px; margin-top:12px; }
.pc-step-svg { width:42px; height:42px; color:var(--gold); margin-top:12px; }
.pc-step h3 { font-size:18px; line-height:1.55; margin:11px 0; font-weight:600; }
.pc-step p { font-size:14px; line-height:1.8; }
.pc-step a { color:var(--red); font-weight:600; }
.pc-hashtag { color:var(--red); font-weight:700; font-size:13px!important; margin-top:8px; overflow-wrap:anywhere; }
.pc-how-note { margin-top:28px; padding:18px 23px; border-top:2px solid var(--gold); background:#fff7e8; }
.pc-how-note p { font-size:13px; line-height:1.85; }
.pc-how-note p+p { margin-top:5px; }
.pc-overview .section-heading { margin-bottom:25px; }
.pc-info-table { border-top:2px solid var(--gold); }
.pc-info-table>div { display:grid; grid-template-columns:180px minmax(0,1fr); gap:24px; padding:18px 16px; border-bottom:1px solid var(--rule); }
.pc-info-table dt { color:var(--red); font-size:14px; font-weight:700; }
.pc-info-table dd { margin:0; font-size:14px; line-height:1.85; }
.pc-info-table dd small { display:block; color:var(--muted); margin-top:5px; line-height:1.5; font-size:12px; }
.pc-rule-list { border-top:2px solid var(--gold); }
.pc-rule-item { border-bottom:1px solid #bca989; background:var(--white); }
.pc-rule-item summary { padding:17px 55px 17px 19px; list-style:none; position:relative; font-weight:600; font-size:16px; font-family:var(--serif); }
.pc-rule-item summary::-webkit-details-marker { display:none; }
.pc-rule-item summary::after { content:"＋"; position:absolute; right:21px; color:var(--red); font-size:19px; top:13px; }
.pc-rule-item[open] summary::after { content:"−"; }
.pc-rule-content { padding:0 28px 23px 38px; color:#534840; }
.pc-rule-content ul { margin:0; padding-left:1.2em; }
.pc-rule-content li { font-size:14px; line-height:1.85; margin-top:8px; }
.pc-instagram-disclaimer { margin-top:23px; color:var(--muted); font-size:12px; line-height:1.85; }
.pc-final-cta { text-align:center; }
.pc-final-cta-inner { max-width:700px; }
.pc-final-cta .eyebrow { letter-spacing:.16em; }
.pc-final-cta h2 { font-size:clamp(25px,3.3vw,36px); margin:14px 0; }
.pc-final-cta p { font-size:15px; line-height:1.95; }
.pc-final-cta .pc-action { margin-top:24px; border:1px solid var(--red); background:var(--red); color:var(--white); }
.pc-final-cta .pc-action:hover { background:var(--red-dark); color:var(--white); }
.pc-final-tag { color:var(--red); font-weight:700; margin-top:20px; }
.pc-footer { padding-top:44px; }
.pc-footer .footer-subtitle { margin-top:5px; }
.pc-credits { border-block:1px solid #ffffff24; margin:27px 0 20px; padding:17px 0; }
.pc-credits>div { display:grid; grid-template-columns:85px minmax(0,1fr); gap:15px; padding:4px 0; }
.pc-credits dt { color:#dfc38e; font-size:13px; }
.pc-credits dd { margin:0; font-size:13px; line-height:1.75; }
.pc-footer-links { display:flex; gap:12px 26px; flex-wrap:wrap; }
.pc-footer-links a { color:#efe2cc; font-size:13px; }
.pc-copyright { color:#c0aa95; font-size:12px; margin-top:20px; }
@media (max-width:1000px) {
  .pc-hero-layout { gap:28px; grid-template-columns:minmax(0,1.2fr) minmax(210px,.8fr); }
  .pc-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pc-step { min-height:240px; }
}
@media (max-width:700px) {
  .pc-header-inner { align-items:flex-start; flex-direction:column; gap:8px; padding-block:12px 13px; }
  .pc-logo { font-size:19px; }
  .pc-header-nav { width:100%; justify-content:space-between; gap:8px; }
  .pc-header-nav a { font-size:12px; }
  .pc-page [id] { scroll-margin-top:120px; }
  .pc-hero-layout { display:block; padding-block:42px 43px; }
  .pc-hero h1 { font-size:30px; line-height:1.55; }
  .pc-hero h1 span { font-size:clamp(30px,7.2vw,43px); }
  .pc-mobile-break { display:block; }
  .pc-hero-lead { font-size:18px; }
  .pc-hero-date { margin-bottom:20px; }
  .pc-hero-date strong { font-size:15px; }
  .pc-hero-photo { max-width:240px; margin:25px auto 0; }
  .pc-hero-photo img { border-width:4px; }
  .pc-hero-photo figcaption { display:none; }
  .pc-intro p:not(.eyebrow) { font-size:14px; }
  .pc-desktop-only { display:none; }
  .pc-steps { grid-template-columns:1fr; gap:13px; }
  .pc-step { min-height:0; padding:16px 19px 19px; }
  .pc-step-number { font-size:20px; }
  .pc-step-icon, .pc-step-svg { display:none; }
  .pc-step h3 { margin:11px 0 5px; }
  .pc-how-note { padding:16px; }
  .pc-info-table>div { grid-template-columns:1fr; gap:3px; padding:14px 6px; }
  .pc-rule-item summary { font-size:15px; padding:17px 43px 17px 15px; }
  .pc-rule-content { padding:0 16px 17px 27px; }
  .pc-rule-content li { font-size:13px; }
  .pc-credits>div { grid-template-columns:48px minmax(0,1fr); gap:9px; }
}
@media (prefers-reduced-motion:reduce) { .pc-page a { transition:none; } }



