/* =========================================================
   サブページ専用スタイル（site.css のカラー変数を利用）
   ========================================================= */
body.subpage{padding-top:64px;background:var(--sand-light);}
body.subpage nav#main-nav{background:rgba(0,37,58,0.97);box-shadow:0 2px 20px rgba(0,0,0,0.25);}
body.subpage .nav-links{gap:1.35rem;}

/* ---- ページ見出し ---- */
.page-hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy-mid) 60%,var(--navy-light) 100%);color:#fff;padding:3.4rem 3rem 3rem;position:relative;overflow:hidden;}
.page-hero::after{content:"";position:absolute;right:-60px;bottom:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(0,204,224,0.18),transparent 70%);pointer-events:none;}
.page-hero-inner{max-width:1000px;margin:0 auto;position:relative;z-index:1;}
.page-tag{color:var(--teal-bright);}
.page-title{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(1.7rem,4vw,2.9rem);line-height:1.25;letter-spacing:0.02em;margin:0 0 1rem;}
.page-lead{font-size:0.92rem;line-height:2;color:rgba(255,255,255,0.82);max-width:46em;font-weight:300;}
.page-lead strong{color:var(--gold-light);font-weight:500;}

/* ---- パンくず ---- */
.crumb{font-size:0.66rem;letter-spacing:0.08em;margin-bottom:1.1rem;color:rgba(255,255,255,0.5);}
.crumb a{color:rgba(255,255,255,0.65);text-decoration:none;}
.crumb a:hover{color:var(--gold-light);}
.crumb-sep{margin:0 0.5rem;opacity:0.5;}

/* ---- 本文 ---- */
.page-body{padding:3.2rem 3rem 3.6rem;}
.page-body .section-inner{max-width:1000px;margin:0 auto;}
.prose h2{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(1.3rem,2.6vw,2rem);color:var(--navy);margin:2.6rem 0 0.4rem;letter-spacing:0.02em;}
.prose h2:first-child{margin-top:0;}
.prose h2::after{content:"";display:block;width:42px;height:2px;margin-top:0.7rem;background:linear-gradient(to right,var(--teal),var(--teal-bright));border-radius:1px;}
.prose h3{font-size:0.95rem;font-weight:700;color:var(--navy-mid);margin:1.8rem 0 0.6rem;letter-spacing:0.03em;}
.prose p{font-size:0.88rem;line-height:2.05;color:var(--text-mid);margin:0.9rem 0;font-weight:300;}
.prose ul,.prose ol{margin:0.9rem 0 0.9rem 1.2rem;}
.prose li{font-size:0.86rem;line-height:1.95;color:var(--text-mid);margin:0.35rem 0;font-weight:300;}
.prose strong{font-weight:700;color:var(--navy);}
.prose a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;}
.prose a:hover{color:var(--teal-light);}

/* ---- 表 ---- */
.tbl{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:0.82rem;background:#fff;box-shadow:0 1px 3px rgba(0,37,58,0.07);}
.tbl th,.tbl td{border:1px solid var(--sand-dark);padding:0.75rem 0.9rem;text-align:left;line-height:1.7;}
.tbl th{background:var(--navy);color:#fff;font-weight:500;letter-spacing:0.06em;font-size:0.76rem;}
.tbl tbody th{background:var(--sand);color:var(--navy);font-weight:700;white-space:nowrap;}
.tbl td{color:var(--text-mid);font-weight:300;}
.tbl tr:nth-child(even) td{background:rgba(245,240,228,0.45);}
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* ---- 注記ボックス ---- */
.note{background:var(--gold-pale);border-left:3px solid var(--gold);padding:1rem 1.2rem;margin:1.4rem 0;font-size:0.82rem;line-height:1.95;color:var(--text-mid);}
.note strong{color:var(--navy);}

/* ---- 釣果カード ---- */
.catch-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.6rem;margin-top:0.6rem;}
.catch-card{background:#fff;text-decoration:none;display:flex;flex-direction:column;box-shadow:0 2px 10px rgba(0,37,58,0.08);transition:transform 0.25s,box-shadow 0.25s;overflow:hidden;}
.catch-card:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(0,37,58,0.16);}
.catch-card-img{aspect-ratio:4/3;background:var(--navy-mid) center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:2.6rem;color:rgba(255,255,255,0.35);}
.catch-card-b{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:0.5rem;}
.catch-card-date{font-size:0.66rem;letter-spacing:0.12em;color:var(--teal);font-weight:700;}
.catch-card-fish{display:inline-block;font-size:0.62rem;letter-spacing:0.1em;background:var(--navy);color:#fff;padding:3px 9px;border-radius:2px;align-self:flex-start;}
.catch-card-t{font-size:0.94rem;font-weight:500;color:var(--navy);line-height:1.6;}
.catch-card-d{font-size:0.78rem;line-height:1.85;color:var(--text-muted);font-weight:300;}
.catch-empty-box{background:#fff;border:1px dashed var(--sand-dark);padding:2.6rem 1.6rem;text-align:center;color:var(--text-muted);font-size:0.85rem;line-height:2;}

/* ---- 釣果詳細 ---- */
.catch-detail-imgs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1.6rem 0;}
.catch-detail-imgs img{width:100%;height:auto;display:block;border-radius:2px;box-shadow:0 2px 12px rgba(0,37,58,0.12);}
.catch-meta{display:flex;flex-wrap:wrap;gap:0.8rem;align-items:center;margin-bottom:0.4rem;}

/* ---- 共通CTA ---- */
.page-cta{background:var(--navy);color:#fff;padding:3rem 3rem;}
.page-cta-inner{max-width:1000px;margin:0 auto;text-align:center;}
.page-cta h2{font-family:'Cormorant Garamond',serif;font-weight:300;font-size:clamp(1.3rem,3vw,2rem);margin-bottom:0.7rem;letter-spacing:0.05em;}
.page-cta p{font-size:0.82rem;color:rgba(255,255,255,0.7);line-height:2;margin-bottom:1.6rem;font-weight:300;}
.page-cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.cta-tel,.cta-form{text-decoration:none;padding:0.85rem 1.8rem;border-radius:2px;font-size:0.78rem;letter-spacing:0.1em;transition:all 0.25s;display:inline-flex;align-items:center;gap:0.6rem;}
.cta-tel{background:var(--gold);color:#fff;font-weight:500;}
.cta-tel strong{font-family:'Oswald',sans-serif;font-size:1rem;letter-spacing:0.05em;}
.cta-tel:hover{background:var(--gold-light);}
.cta-form{border:1px solid rgba(255,255,255,0.35);color:#fff;}
.cta-form:hover{border-color:var(--gold-light);color:var(--gold-light);}

/* ---- 関連ページ ---- */
.related{background:var(--sand);padding:2.8rem 3rem 3.2rem;}
.related-title{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.3rem;color:var(--navy);margin-bottom:1.4rem;letter-spacing:0.04em;}
.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2px;background:rgba(0,122,140,0.16);}
.related-card{background:#fff;padding:1.3rem 1.3rem;text-decoration:none;display:flex;flex-direction:column;gap:0.4rem;transition:background 0.25s;}
.related-card:hover{background:var(--sand-light);}
.related-card-t{font-size:0.86rem;font-weight:500;color:var(--navy);}
.related-card-d{font-size:0.72rem;color:var(--text-muted);line-height:1.8;font-weight:300;}

/* ---- フッターナビ ---- */
.footer-nav{display:flex;flex-wrap:wrap;gap:0.3rem 1.1rem;max-width:34rem;}
.footer-nav a{font-size:0.66rem;color:rgba(255,255,255,0.45);text-decoration:none;letter-spacing:0.06em;}
.footer-nav a:hover{color:var(--gold-light);}

/* ---- FAQ ---- */
.faq-list{margin-top:0.4rem;}
/* Q/A の基本スタイルは site.css 側。ここではサブページ用の余白だけ調整 */
.faq-q{font-size:0.92rem;font-weight:700;line-height:1.8;margin:0 0 0.5rem;}
.faq-a{font-size:0.85rem;line-height:2;margin-top:0;}
.faq-block{border-bottom:1px solid var(--sand-dark);padding:1.5rem 0;}
.faq-block:last-child{border-bottom:none;}

/* ---- 釣り物カレンダー ---- */
.season-tbl td.on{background:var(--teal-light);color:#fff;text-align:center;font-weight:700;}
.season-tbl td.mid{background:rgba(0,168,192,0.28);text-align:center;}
.season-tbl td.off{background:#fff;text-align:center;color:var(--sand-dark);}
.season-tbl th,.season-tbl td{padding:0.5rem 0.3rem;font-size:0.72rem;text-align:center;}
.season-tbl tbody th{text-align:left;padding-left:0.7rem;}

@media(max-width:900px){
  body.subpage .nav-links{display:none;}
  body.subpage .nav-ham{display:flex;}
  .page-hero{padding:2.4rem 1.4rem 2.2rem;}
  .page-body{padding:2.2rem 1.4rem 2.6rem;}
  .page-cta,.related{padding-left:1.4rem;padding-right:1.4rem;}
  footer{padding:2rem 1.4rem;}
}
