/*
Theme Name: Golf Portal v2
Description: Yahoo!風のゴルフ情報ポータル用テーマ（カテゴリタブ＋新着リスト）。Golf Portal Ingest プラグインと併用。
Version: 1.35.0
*/
:root{--accent:#1b7f3b;--ink:#1c1c1c;--mute:#6b6b6b;--line:#e3e3e3;--bg:#f4f5f6}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 -apple-system,"Hiragino Sans","Noto Sans JP",Meiryo,sans-serif}
a{color:inherit;text-decoration:none}
.wrap{max-width:960px;margin:0 auto;padding:0 16px}
.site-head{background:#fff;border-bottom:3px solid var(--accent)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding-top:4px;padding-bottom:4px}
.site-title{font-size:20px;font-weight:700;color:var(--accent);display:flex;align-items:center}.site-logo{height:44px;width:auto;display:block}
.site-head small{color:var(--mute)}
.tabs{background:var(--accent);position:sticky;top:0;z-index:5}
.tabs .wrap{display:flex;overflow-x:auto}
.tabs a{padding:11px 18px;white-space:nowrap;font-weight:700;border-bottom:3px solid transparent;color:#e6f3ea}
.tabs a:hover{background:rgba(255,255,255,.12)}
.tabs a.on{color:#fff;background:rgba(0,0,0,.18);border-color:#fff}
.list{background:#fff;margin:16px 0;border:1px solid var(--line);border-radius:6px;list-style:none;padding:0}
.list li{border-bottom:1px solid var(--line)}
.list li:last-child{border:0}
.list a{display:flex;gap:12px;padding:12px 14px;align-items:flex-start}
.list a:hover{background:#fafafa}
.thumb{flex:0 0 96px;height:64px;border-radius:4px;background:#e9ecea center/cover no-repeat}
.body{flex:1;min-width:0}
.ttl{font-weight:600;line-height:1.45}
.list a:hover .ttl{text-decoration:underline;color:var(--accent)}
.meta{margin-top:4px;font-size:12px;color:var(--mute);display:flex;gap:8px;flex-wrap:wrap}
.badge{background:#e8f3ec;color:var(--accent);border-radius:3px;padding:0 6px}
.pager{display:flex;gap:8px;justify-content:center;margin:16px 0}
.pager a,.pager span{padding:6px 12px;background:#fff;border:1px solid var(--line);border-radius:4px}
.pager .current{background:var(--accent);color:#fff;border-color:var(--accent)}
.foot{color:var(--mute);font-size:12px;text-align:center;padding:24px 16px}
.empty{padding:32px;text-align:center;color:var(--mute)}
@media(max-width:600px){.thumb{flex-basis:72px;height:52px}}
/* カテゴリ別・サイト別セクション */
.wrap{max-width:1200px}
.cat-h{margin:28px 0 10px;font-size:18px;display:flex;align-items:center;gap:10px}
.cat-h:before{content:"";width:6px;height:22px;background:var(--accent);border-radius:2px}
.cat-h a{margin-left:auto;font-size:12px;font-weight:400;color:var(--accent)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 8px}
.card{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.card h3{margin:0;padding:10px 14px;font-size:15px;background:#fafafa;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:8px}
.card h3 a.site{color:var(--ink)}
.card h3 a.site:hover{color:var(--accent)}
.card h3 .badge{font-size:11px;font-weight:600}
.card h3 .go{margin-left:auto;font-size:12px;font-weight:400;color:var(--accent)}
.card .list{margin:0;border:0;border-radius:0;flex:1}
.card .thumb{flex-basis:64px;height:44px}
.card .list a{padding:10px 14px}
.card .ttl{font-size:14px}
@media(max-width:1000px){.grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.grid{grid-template-columns:1fr}}

/* 3カラム構成（左バナー＋メイン） */
.layout{max-width:1360px;margin:16px auto;padding:0 16px;display:flex;gap:16px;align-items:flex-start}
.layout .main{flex:1;min-width:0}
.side{flex:0 0 200px;width:200px}
.side a.bn{display:block;margin-bottom:8px;line-height:0}
.side a.bn img{width:100%;height:auto;display:block;border-radius:2px}
.side .sep{height:1px;background:#bbb;margin:12px 0}
.reg{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-top:12px}
.reg h4{margin:0;padding:8px 10px;font-size:12px;color:#fff;background:#3b7d3f;text-align:center}
.reg ul{list-style:none;margin:0;padding:4px 10px}
.reg li{border-bottom:1px dotted #bbb;font-size:12px;line-height:1.4}
.reg li:last-child{border:0}
.reg li a{display:block;padding:7px 0 7px 14px;position:relative}
.reg li a:before{content:"";position:absolute;left:0;top:13px;width:7px;height:7px;border-radius:50%;background:#8bc34a}
.reg li a:hover{color:var(--accent)}
.latest{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:8px}
.latest h2{margin:0;padding:10px 14px;font-size:16px;background:#fafafa;border-bottom:1px solid var(--line);border-left:4px solid var(--accent)}
.latest .list{margin:0;border:0;border-radius:0}
.latest .list a{padding:9px 14px;align-items:center}
.latest .ttl{font-size:14.5px}
.latest .thumb{flex-basis:72px;height:48px}
.tag{flex:0 0 auto;min-width:84px;text-align:center;font-size:11px;font-weight:700;color:#fff;background:#555;border-radius:2px;padding:2px 6px;align-self:center}
.tag.junior{background:#e08a00}.tag.pro{background:#c0392b}.tag.amateur{background:#1b7f3b}.tag.rules{background:#2c6db4}.tag.region{background:#7b5ea7}
.layout .grid{grid-template-columns:1fr 1fr}
.site-head .wrap,.tabs .wrap,.subnav .wrap{max-width:1360px}
@media(max-width:900px){.layout{flex-direction:column}.side{flex:none;width:100%;order:2}.side .bns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.side .bns a.bn{margin:0}.layout .grid{grid-template-columns:1fr}}

/* サブナビ（カテゴリ別サイトリンク行） */
.subnav{background:#e9efe9;border-bottom:1px solid #c9d6ca}
.subrow{display:flex;align-items:stretch;border-top:1px solid #c9d6ca;overflow-x:auto}
.subrow:first-child{border-top:0}
.sublabel{flex:0 0 108px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;background:#555;padding:5px 8px}
.sublabel.junior{background:#e08a00}.sublabel.pro{background:#c0392b}.sublabel.amateur{background:#1b7f3b}.sublabel.rules{background:#2c6db4}.sublabel.region{background:#7b5ea7}
.subrow a{padding:6px 14px;font-size:13px;font-weight:600;white-space:nowrap;border-right:1px solid #c9d6ca}
.subrow a:hover{background:#fff;color:var(--accent)}
.latest h2{background:linear-gradient(#f3f3f3,#e4e4e4);border-left:0;border-bottom:1px solid #ccc;display:flex;align-items:center;gap:8px}
.latest h2:before{content:"";border:6px solid transparent;border-left:9px solid var(--accent);margin-left:-2px}
/* 右カラム */
.side-r{flex:0 0 220px;width:220px}
.side-r .box{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:12px}
.side-r h4{margin:0;padding:8px 12px;font-size:13px;background:linear-gradient(#f3f3f3,#e4e4e4);border-bottom:1px solid #ccc}
.side-r ul{list-style:none;margin:0;padding:0}
.side-r li a{display:block;padding:8px 12px;border-bottom:1px solid var(--line);font-size:13px}
.side-r li:last-child a{border:0}
.side-r li a:hover{background:#fafafa;color:var(--accent)}
.side-r p{margin:0;padding:10px 12px;font-size:12px;color:var(--mute)}
@media(max-width:1100px){.side-r{display:none}}
@media(max-width:900px){.sublabel{flex-basis:84px}}

.side-r{flex:0 0 300px;width:300px}
.side-r .ad{margin-bottom:12px;text-align:center;line-height:0}
.side-r .ad.ph{display:flex;align-items:center;justify-content:center;flex-direction:column;line-height:1.5;border:2px dashed #bbb;background:#fafafa;color:#888;font-size:13px}
.card h3 .badge{font-size:12px;color:#fff;padding:2px 10px;border-radius:2px;background:#555}
.card h3 .badge.junior{background:#e08a00}.card h3 .badge.pro{background:#c0392b}.card h3 .badge.amateur{background:#1b7f3b}.card h3 .badge.rules{background:#2c6db4}.card h3 .badge.region{background:#7b5ea7}
@media(max-width:1100px){.side-r{display:block;flex:none;width:100%;order:3}.side-r .ad.ph{width:100%!important}}

/* 検索・一覧・取得元ページ */
.hd-tools{display:flex;align-items:center;gap:12px;margin-left:auto;font-size:13px}
.hd-tools>a{color:var(--accent);font-weight:600;white-space:nowrap}
.sform{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.sform input[type=search]{width:220px;max-width:100%;padding:6px 10px;border:1px solid #bbb;border-radius:4px;font-size:13px}
.sform select{padding:6px;border:1px solid #bbb;border-radius:4px;font-size:13px;max-width:100%}
.sform button{padding:6px 14px;background:var(--accent);color:#fff;border:0;border-radius:4px;font-weight:700;cursor:pointer}
.chips{padding:10px 14px;border-bottom:1px solid var(--line);display:flex;gap:6px;flex-wrap:wrap}
.chip{padding:3px 10px;border:1px solid #bbb;border-radius:14px;font-size:12px;background:#fff}
.chip.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.note{margin:0;padding:12px 14px;font-size:13px;color:var(--mute)}
.latest .cat-h{margin:16px 14px 8px;font-size:16px}
.tblwrap{overflow-x:auto;padding:0 14px 14px}
.stbl{width:100%;border-collapse:collapse;font-size:13px;min-width:640px}
.stbl th,.stbl td{border:1px solid var(--line);padding:7px 10px;text-align:left}
.stbl th{background:#fafafa}
.stbl a{color:var(--accent)}
@media(max-width:700px){.site-head .wrap{height:auto;flex-wrap:wrap;gap:8px;padding:8px 16px}.hd-tools{margin-left:0;width:100%;flex-wrap:wrap}.sform input[type=search]{width:100%}}

.tag.school,.sublabel.school,.card h3 .badge.school{background:#0f8b8d}

/* 新着情報の追加（管理者に依頼） */
.subm{margin-bottom:12px}
.subm-in{padding:10px 12px}
.subm-lead{margin:0 0 8px;padding:0!important;font-size:12px;color:var(--mute)}
.subm label{display:block;font-size:12px;font-weight:600;margin-bottom:8px}
.subm input[type=text],.subm input[type=url],.subm select{display:block;width:100%;margin-top:3px;padding:6px 8px;border:1px solid #bbb;border-radius:4px;font-size:13px;font-weight:400}
.subm button{width:100%;padding:8px;background:var(--accent);color:#fff;border:0;border-radius:4px;font-weight:700;cursor:pointer}
.subm-msg{padding:6px 8px;border-radius:4px;font-size:12px;margin-bottom:8px}
.subm-msg.ok{background:#e8f3ec;color:#1b7f3b}.subm-msg.err{background:#fdecea;color:#b32d2e}
.soc .go a{margin-left:6px}
.soc ul.yt{list-style:none;margin:0;padding:0}
.soc ul.yt li{border-bottom:1px dotted #bbb}
.soc ul.yt a{display:flex;gap:8px;padding:6px 8px;align-items:flex-start}
.soc ul.yt img{width:96px;height:54px;object-fit:cover;flex:none}
.soc ul.yt span{font-size:13px;line-height:1.4}
.soc ul.yt small{display:block;color:#777;font-size:11px}
.soc .embed{padding:8px;overflow:hidden}
.card h3 .badge{background:#555}
.soc-youtube h3 .badge{background:#d00}.soc-instagram h3 .badge{background:#c13584}.soc-x h3 .badge{background:#111}

.tag.protest,.sublabel.protest,.card h3 .badge.protest{background:#8e44ad}.tag.qt,.sublabel.qt,.card h3 .badge.qt{background:#16a085}

.tag.shop,.sublabel.shop,.card h3 .badge.shop{background:#d35400}

.tag.overseas,.sublabel.overseas,.card h3 .badge.overseas{background:#2e86c1}

.tag.pga,.sublabel.pga,.card h3 .badge.pga{background:#1f3a93}.tag.men,.sublabel.men,.card h3 .badge.men{background:#2c3e50}.tag.women,.sublabel.women,.card h3 .badge.women{background:#d63384}

.tag.proassoc,.sublabel.proassoc,.card h3 .badge.proassoc{background:#1f3a93}

.gpc{padding:16px}.gpc-form input[type=text],.gpc-form input[type=email],.gpc-form select,.gpc-form textarea{width:100%;max-width:560px;padding:8px;border:1px solid var(--line);border-radius:4px;font-size:15px;box-sizing:border-box}
.gpc-req{color:#d33;font-weight:700}.gpc-err{background:#fdecec;border:1px solid #f3b4b4;color:#a00;padding:10px 16px;border-radius:4px;list-style:disc inside}
.gpc-tbl{border-collapse:collapse;width:100%;max-width:640px}.gpc-tbl th,.gpc-tbl td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}.gpc-tbl th{background:#f5f7f5;width:30%;white-space:nowrap}
.gpc-btn{display:inline-block;padding:9px 28px;background:var(--accent);color:#fff;border:0;border-radius:4px;font-weight:700;font-size:15px;cursor:pointer;text-decoration:none}.gpc-sub{background:#888}.gpc-actions{margin-top:16px}.gpc-done{padding:24px 0}
.foot a{color:inherit;text-decoration:underline}

.tabs .gp-menu-r{margin-left:auto}
.gpa{padding:16px}.gpa-wrap{display:flex;gap:28px;flex-wrap:wrap;align-items:flex-start}.gpa-img{width:100%;max-width:300px;height:auto;border-radius:12px}
.gpa-steps{flex:1;min-width:240px}.gpa-steps h3{margin:18px 0 4px;color:var(--accent)}.gpa-note{color:var(--mute);font-size:12px}

.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* メディア新着ボックス（右カラム） */
.side-r .media-box h4{background:linear-gradient(#2e8b57,#1f6f43);color:#fff;border-bottom:1px solid #1a5c38}
.side-r .media-box li a{padding:7px 12px}
.side-r .media-box .mt{display:block;font-size:13px;line-height:1.45}
.side-r .media-box .mm{display:block;margin-top:2px;font-size:11px;color:var(--mute)}
.side-r .media-box .more{text-align:right;padding:6px 12px;border-top:1px solid var(--line)}
.side-r .media-box .more a{display:inline;padding:0;border:0;font-size:12px}
.side-r .media-box li a.has-th{display:flex;gap:8px;align-items:flex-start}
.side-r .media-box .mth{flex:0 0 72px;height:54px;border-radius:4px;background:#eee center/cover no-repeat}
.side-r .media-box .mtx{flex:1;min-width:0}
.latest h2 .more-btn{margin-left:8px}
.latest h2 .more-btn[hidden]{display:none}
.latest h2 .more-btn{font-size:12px;font-weight:400;background:none;border:1px solid var(--line);border-radius:14px;padding:3px 12px;color:var(--accent);cursor:pointer}
.latest h2 .more-btn:hover{background:#fafafa}
.latest .gp-extra[hidden]{display:none}
/* Google自動広告（文字リンク）をヘッダー・メニューに出さない */
.site-head .google-anno-sc,.tabs .google-anno-sc,.subnav .google-anno-sc{display:none!important}
.site-head a.google-anno,.tabs a.google-anno{pointer-events:none;color:inherit!important;text-decoration:none!important}
.site-head a.google-anno svg,.tabs a.google-anno svg{display:none!important}

/* 最新順／古い順ボタン */
.sortbtn{margin-left:auto;display:inline-flex;font-size:12px;font-weight:400}
.sortbtn button,.sortbtn a{border:1px solid var(--line);background:#fff;color:var(--mute);padding:3px 10px;cursor:pointer;font-size:12px;line-height:1.4;text-decoration:none}
.sortbtn button:first-child,.sortbtn a:first-child{border-radius:14px 0 0 14px}
.sortbtn button:last-child,.sortbtn a:last-child{border-radius:0 14px 14px 0;border-left:0}
.sortbtn .on{background:var(--accent);border-color:var(--accent);color:#fff}
.card h3 .sortbtn+.go{margin-left:8px}

/* TV */
.tvtag{flex:none;align-self:flex-start;font-size:10px;font-weight:700;color:#fff;border-radius:3px;padding:1px 6px;margin-right:8px;white-space:nowrap;background:#555}
.tvtag.tv-ter{background:#2c6db4}.tvtag.tv-bs{background:#c0392b}.tvtag.tv-cs{background:#1b7f3b}
.tag.tv,.sublabel.tv,.card h3 .badge.tv{background:#d63384}
li[hidden]{display:none!important}

/* ガイドページ */
.guide-body{padding:4px 16px 20px;font-size:14px;line-height:1.85}
.guide-body p{margin:10px 0}
.guide-list{margin:6px 0 14px;padding-left:20px}.guide-list li{margin:5px 0}
.guide-list a{color:var(--accent)}.guide-list .mini{font-size:12px;margin-left:8px;color:var(--mute)}
.guide .list{margin:0 -16px}
.faq dt{font-weight:700;margin-top:14px}.faq dd{margin:4px 0 0}
.guide-links{margin-top:20px}.guide-links a{color:var(--accent)}
.foot-nav{margin-bottom:8px}.foot-nav a{color:var(--accent)}

/* 自動更新メッセージ */
.hd-sr{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:0}
.hd-live{font-size:11px;color:var(--mute);display:inline-flex;align-items:center;gap:5px;line-height:1.2}
.hd-live i{width:7px;height:7px;border-radius:50%;background:#22a447;display:inline-block;animation:gplive 1.8s ease-in-out infinite}
@keyframes gplive{0%,100%{opacity:1}50%{opacity:.25}}
@media(prefers-reduced-motion:reduce){.hd-live i{animation:none}}
@media(max-width:700px){.hd-sr{width:100%;align-items:flex-start}.hd-sr .sform{width:100%}}

.gp-share{position:relative;display:inline-block}
.gp-share-btn{font:inherit;font-size:13px;font-weight:600;color:#fff;background:var(--accent);border:0;border-radius:4px;padding:4px 14px;cursor:pointer;white-space:nowrap}
.gp-share-btn:hover{opacity:.85}
.gp-share-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:50;min-width:150px;background:#fff;border:1px solid #cfd8d2;border-radius:6px;box-shadow:0 4px 14px rgba(0,0,0,.15);padding:4px 0}
.gp-share-menu[hidden]{display:none}
.gp-share-menu a,.gp-share-menu button{display:block;width:100%;text-align:left;font:inherit;font-size:14px;color:#222;background:none;border:0;padding:9px 14px;cursor:pointer;box-sizing:border-box}
.gp-share-menu a:hover,.gp-share-menu button:hover{background:#eef6f0}
.gp-share-note{display:block;padding:9px 14px;font-size:13px;color:#222;word-break:break-all}
@media(max-width:700px){.gp-share-menu{right:auto;left:0}}

.ad-wide{margin:0 0 16px;text-align:center;min-height:0}.ad-wide small{display:block;color:var(--mute);font-size:11px;text-align:left;margin-bottom:2px}.ad-wide.ph{border:1px dashed #bbb;padding:18px;color:var(--mute);font-size:13px;border-radius:8px}
