/*
Theme Name: 新居のネット選び
Theme URI: https://example.com/
Author: 運営者
Author URI: https://example.com/
Description: 一人暮らし・新生活のインターネット回線ガイド向けテーマ（v2）。明るく新鮮なトーンで、光回線・ホームルーター・格安SIMを比較。案件を差し込むスロット付き。
Version: 2.0.1
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: shinkyo-net
*/

/* =========================================================
   新居のネット選び ─ v2 スタイル
   コンセプト: 新生活の朝の光。明るく・新鮮・親しみやすく。
   丸ゴシック見出し × 明るい水色 × サニーな差し色。写真は使わない。
   ========================================================= */

:root{
  --paper:#FBFDFC;       /* 明るい地色 */
  --sky-1:#E9F7FB;       /* ヒーローの空（上） */
  --sky-2:#FBFDFC;       /* ヒーローの空（下） */
  --card:#FFFFFF;
  --ink:#2B3A3E;         /* やわらかい濃色 */
  --ink-soft:#63757C;
  --accent:#14A5B0;      /* フレッシュな水色（構造・リンク・バー） */
  --accent-deep:#0C7B85; /* リンク文字・ボタン（白文字が乗る濃さ） */
  --accent-wash:#EAF8F9; /* 薄い水色の下地 */
  --sun:#FFC24B;         /* 太陽の差し色（ごく控えめに） */
  --coral:#FF7A59;       /* 元気な差し色（アクセントのみ） */
  --leaf:#5FB98B;        /* 新芽のグリーン（バッジ等） */
  --line:#E4EEEE;
  --slot-bg:#F1FAFB;
  --sans:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,"Noto Sans JP",system-ui,sans-serif;
  --round:"Hiragino Maru Gothic ProN","Hiragino Maru Gothic Pro","Rounded Mplus 1c","Noto Sans JP",var(--sans);
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,"Noto Sans Mono",monospace;
  --wrap:840px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:17px;line-height:1.9;
  letter-spacing:.02em;font-feature-settings:"palt" 1;
}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
section{padding:52px 0}
.rule{height:1px;background:var(--line);border:0;margin:0}

a{color:var(--accent-deep);text-decoration:none}
a:hover{color:var(--accent)}

/* ---------- ヘッダー ---------- */
.site-head{position:sticky;top:0;z-index:20;background:rgba(251,253,252,.92);
  backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;
  padding:14px 22px;gap:16px}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);
  font-family:var(--round);font-weight:700;font-size:20px;letter-spacing:.02em;white-space:nowrap}
.brand:hover{color:var(--ink)}
.brand .logomark{width:30px;height:30px;flex:0 0 auto;color:var(--accent)}
.brand small{display:block;font-family:var(--sans);font-weight:500;font-size:10.5px;
  color:var(--ink-soft);letter-spacing:.12em;margin-top:1px}
.nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.nav a,.nav .nav-list a{color:var(--ink-soft);font-size:14.5px;font-weight:600;
  padding:7px 12px;border-radius:999px;transition:background .15s,color .15s}
.nav a:hover,.nav .nav-list a:hover{background:var(--accent-wash);color:var(--accent-deep)}
.nav .nav-list{display:flex;align-items:center;gap:6px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.nav .nav-list li:last-child a{background:var(--coral);color:#fff}
.nav .nav-list li:last-child a:hover{background:#f2653f;color:#fff}
@media(max-width:640px){.brand small{display:none}.nav a,.nav .nav-list a{padding:6px 9px;font-size:13.5px}}

/* ---------- ヒーロー ---------- */
.hero{position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--sky-1) 0%,var(--sky-2) 78%)}
.hero .wrap{position:relative;z-index:2;padding-top:64px;padding-bottom:56px}
.hero .sun{position:absolute;top:-40px;right:-30px;width:220px;height:220px;z-index:1;
  color:var(--sun);opacity:.55;pointer-events:none}
.hero-eyebrow{display:inline-flex;align-items:center;gap:7px;font-family:var(--round);
  font-weight:700;font-size:13px;color:var(--accent-deep);background:#fff;
  border:1px solid var(--line);border-radius:999px;padding:6px 14px;margin:0 0 20px;
  box-shadow:0 2px 10px rgba(20,165,176,.08)}
.hero-eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--coral)}
.hero h1{font-family:var(--round);font-weight:700;font-size:41px;line-height:1.35;
  letter-spacing:.01em;margin:0 0 18px}
.hero h1 .hl{background:linear-gradient(transparent 62%,#FFE7A0 62%);padding:0 .1em}
.hero .sub{font-size:18px;color:var(--ink-soft);line-height:1.85;margin:0 0 30px;max-width:30em}
.hero .cta-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
@media(max-width:600px){.hero h1{font-size:30px}.hero .sun{width:150px;height:150px;top:-20px}}

/* ---------- ボタン ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--round);font-weight:700;
  font-size:16px;color:#fff;background:var(--accent-deep);border:0;border-radius:999px;
  padding:14px 28px;box-shadow:0 6px 18px rgba(12,123,133,.22);
  transition:transform .12s,box-shadow .12s,background .12s;cursor:pointer}
.btn:hover{color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(12,123,133,.28);background:#0a6a73}
.btn .arw{transition:transform .12s}
.btn:hover .arw{transform:translateX(3px)}
.btn.ghost{background:#fff;color:var(--accent-deep);box-shadow:0 2px 10px rgba(0,0,0,.05);border:1px solid var(--line)}
.btn.ghost:hover{background:var(--accent-wash);color:var(--accent-deep)}

/* ---------- 見出し（セクション） ---------- */
.kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--round);font-weight:700;
  font-size:13px;letter-spacing:.06em;color:var(--accent-deep);margin:0 0 12px}
.kicker .step{display:inline-flex;align-items:center;justify-content:center;
  width:24px;height:24px;border-radius:50%;background:var(--accent);color:#fff;
  font-size:12px;font-family:var(--mono)}
h2{font-family:var(--round);font-weight:700;font-size:27px;line-height:1.45;margin:0 0 .5em}
h3{font-family:var(--round);font-weight:700;font-size:18px;margin:0 0 .4em}
p{margin:0 0 1.2em}
@media(max-width:600px){h2{font-size:23px}}

/* ---------- 選択肢カード（アイコン＋一言＋バー） ---------- */
.pick{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
@media(max-width:720px){.pick{grid-template-columns:1fr}}
.pick .item{background:var(--card);border:1px solid var(--line);border-radius:18px;
  padding:24px 22px;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column}
.pick .item:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(20,110,120,.12)}
.pick .ico{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  margin-bottom:14px;color:#fff}
.pick .ico.a{background:var(--accent)}
.pick .ico.b{background:var(--leaf)}
.pick .ico.c{background:var(--sun)}
.pick .ico svg{width:26px;height:26px}
.pick h3{margin-bottom:6px}
.pick .one{font-size:14.5px;color:var(--ink-soft);line-height:1.7;margin:0 0 16px}
.pick .bars-mini{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.pick .more{margin-top:auto;font-family:var(--round);font-weight:700;font-size:14px}

/* 電波バー（小） */
.rate-row{display:grid;grid-template-columns:4.2em 1fr;align-items:center;gap:10px}
.rate-label{font-size:12px;color:var(--ink-soft)}
.bars{display:inline-flex;align-items:flex-end;gap:4px;height:18px}
.bars i{width:6px;background:var(--line);border-radius:2px;display:block}
.bars i:nth-child(1){height:7px}.bars i:nth-child(2){height:10px}
.bars i:nth-child(3){height:13px}.bars i:nth-child(4){height:16px}.bars i:nth-child(5){height:18px}
.bars.f1 i:nth-child(-n+1),.bars.f2 i:nth-child(-n+2),.bars.f3 i:nth-child(-n+3),
.bars.f4 i:nth-child(-n+4),.bars.f5 i:nth-child(-n+5){background:var(--accent)}

/* ---------- かんたん診断 ---------- */
.match-list{display:grid;gap:10px;margin-top:22px}
.match{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);
  border-radius:14px;padding:14px 18px}
.match .q{font-weight:600;font-size:15.5px;flex:1}
.match .a{display:inline-flex;align-items:center;gap:6px;font-family:var(--round);font-weight:700;
  font-size:14px;color:var(--accent-deep);background:var(--accent-wash);border-radius:999px;
  padding:5px 14px;white-space:nowrap}
@media(max-width:520px){.match{flex-direction:column;align-items:flex-start;gap:8px}}

/* ---------- 案件スロット ---------- */
.slot{background:var(--slot-bg);border:2px dashed var(--accent);border-radius:16px;
  padding:24px 22px;margin:24px 0;text-align:center}
.slot .tag{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;
  color:var(--accent-deep);text-transform:uppercase;margin-bottom:8px}
.slot .desc{font-size:14px;color:var(--ink-soft);margin:0}
.slot .desc b{color:var(--ink)}
.slot.cta{background:#fff;border-style:solid;border-width:1px}
.btn-slot{display:inline-block;margin-top:14px;font-family:var(--round);font-weight:700;font-size:15px;
  color:#fff;background:var(--accent-deep);border:0;border-radius:999px;padding:12px 26px;
  opacity:.5;cursor:not-allowed}
.btn-note{display:block;margin-top:8px;font-size:12px;color:var(--ink-soft);font-family:var(--mono)}

/* ---------- ヒント ---------- */
.tip{display:flex;gap:12px;align-items:flex-start;background:#FFF8EA;border:1px solid #FBE7BE;
  border-radius:14px;padding:15px 18px;margin:22px 0;font-size:15px}
.tip .badge{flex:0 0 auto;font-family:var(--round);font-weight:700;font-size:12px;color:#fff;
  background:var(--sun);border-radius:999px;padding:3px 11px;margin-top:2px}

/* ---------- ガイド一覧 ---------- */
.guides{display:grid;gap:12px;margin-top:22px}
.guide-link{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);
  border-radius:14px;padding:16px 18px;font-weight:600;transition:transform .12s,box-shadow .12s}
.guide-link:hover{transform:translateX(3px);box-shadow:0 8px 20px rgba(20,110,120,.1);color:var(--ink)}
.guide-link .n{flex:0 0 auto;width:30px;height:30px;border-radius:10px;background:var(--accent-wash);
  color:var(--accent-deep);display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:13px;font-weight:700}
.guide-link .arw{margin-left:auto;color:var(--accent);flex:0 0 auto}

/* ---------- 締め ---------- */
.closer{background:linear-gradient(180deg,#fff,var(--accent-wash));border:1px solid var(--line);
  border-radius:20px;padding:34px 28px;text-align:center}
.closer h2{margin-bottom:10px}
.closer p{color:var(--ink-soft);margin:0 0 6px}

/* ---------- 記事本文（下層ページ共通） ---------- */
.article .wrap{max-width:760px}
.article p,.article li{font-size:16.5px}
.article h2{margin-top:1.6em}
.article ul,.article ol{padding-left:1.3em;margin:0 0 1.4em}
.article li{margin:.3em 0}
.crumbs{font-family:var(--mono);font-size:12px;color:var(--ink-soft);padding-top:22px}
.crumbs a{color:var(--ink-soft)}
.meta{font-family:var(--mono);font-size:12.5px;color:var(--ink-soft);margin-bottom:18px}
.tbl-scroll{overflow-x:auto;margin:22px 0}
table.compare{border-collapse:collapse;width:100%;font-size:14.5px;min-width:520px}
table.compare th,table.compare td{border:1px solid var(--line);padding:11px 13px;text-align:left;vertical-align:top}
table.compare thead th{background:var(--accent-wash);font-weight:700}
table.compare tbody th{background:#F6FBFB;font-weight:700;white-space:nowrap}
table.compare td{font-family:var(--mono);font-size:13px}
.checklist{list-style:none;padding:0;margin:18px 0}
.checklist li{padding:9px 0 9px 32px;position:relative;border-bottom:1px solid var(--line)}
.checklist li::before{content:"✓";position:absolute;left:6px;color:var(--leaf);font-weight:700}
.related{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin-top:30px}
.related h3{margin-top:0}
.related ul{list-style:none;padding:0;margin:0}
.related li{padding:8px 0;border-bottom:1px solid var(--line)}
.related li:last-child{border:0}

/* ---------- フォーム ---------- */
.form-field{margin:0 0 20px}
.form-field label{display:block;font-weight:700;font-size:14.5px;margin-bottom:7px}
.form-field input,.form-field textarea{width:100%;font-family:var(--sans);font-size:16px;
  padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink)}
.form-field textarea{min-height:150px;resize:vertical}
.form-note{font-size:13px;color:var(--ink-soft)}

/* ---------- フッター ---------- */
.site-foot{background:var(--accent-wash);border-top:1px solid var(--line);margin-top:20px;
  padding:40px 0 60px;font-size:14px;color:var(--ink-soft)}
.site-foot .fnav,.site-foot .fnav-list{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:0;list-style:none}
.site-foot .fnav a,.site-foot .fnav-list a{color:var(--ink-soft);font-weight:600;padding:5px 10px;border-radius:999px}
.site-foot .fnav a:hover,.site-foot .fnav-list a:hover{background:#fff;color:var(--accent-deep)}
.disclosure{font-size:12.5px;line-height:1.8;background:#fff;border-radius:12px;padding:14px 16px;margin-bottom:16px}
.copy{font-family:var(--mono);font-size:11.5px;letter-spacing:.08em}

:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}


/* =========================================================
   WordPress 標準ブロック 互換（テーマ用に追記）
   ========================================================= */
.article img,.wp-block-image img{max-width:100%;height:auto;border-radius:10px}
.article .wp-block-table table{border-collapse:collapse;width:100%}
.pagination,.nav-links{margin:26px 0;font-family:var(--mono);font-size:13px;display:flex;gap:12px;flex-wrap:wrap}
.pagination a,.nav-links a{padding:6px 12px;border:1px solid var(--line);border-radius:999px}
