/*
Theme Name: 五星算命学 松本容子
Theme URI: https://gosei-sanmeigaku.com/
Author: Raty Design
Description: 五星算命学 松本容子 公式サイト専用テーマ。個人鑑定・企業鑑定・士業向け鑑定・プロ鑑定士養成講座の固定ページテンプレートと、コラム（投稿）の一覧・詳細を含みます。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
License: 制作物として松本容子様に帰属
Text Domain: gosei
*/

/* =========================================================
   五星算命学 サイトリニューアル
   承認済みデザインカンプ（2026-09-02）より起こした実装用CSS
   メイン #7aaceb ／ CTA #2f6fbf ／ 見出し #1e4b80
   ========================================================= */
:root{
  --main:#7aaceb;          /* ご指定色。帯・罫・図版・装飾の主役 */
  --deep:#2f6fbf;          /* CTA・リンク（同系の濃色） */
  --ink-b:#1e4b80;         /* 見出しの濃紺 */
  --tint:#f2f7fd;          /* ごく淡い水色の面 */
  --paper:#ffffff;
  --ink:#23282e; --muted:#6b7785; --line:#dce8f6;
  color:var(--ink); background:var(--paper); line-height:1.95; font-size:15px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;
  font-family:"Noto Sans JP","Yu Gothic UI","Yu Gothic","Hiragino Sans","Meiryo",sans-serif;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4,h5,p,ul,ol,dl,dd,figure{margin:0}
:focus-visible{outline:3px solid var(--main);outline-offset:2px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}


.en{font-family:"Montserrat","Segoe UI",Arial,sans-serif;letter-spacing:.16em;font-weight:600}
.wrap{max-width:1100px;margin:0 auto;padding:0 40px}
a{text-decoration:none}

/* ---------- ヘッダー ---------- */
.hdr{display:flex;align-items:center;gap:26px;padding:16px 40px;background:#fff;
  border-bottom:1px solid var(--line);position:relative;z-index:5}
.hdr .logo{display:flex;align-items:baseline;gap:10px}
.hdr .logo b{font-size:20px;font-weight:700;letter-spacing:.09em;color:var(--ink-b)}
.hdr .logo span{font-size:9.5px;color:var(--main);letter-spacing:.2em}
.hdr nav{margin-left:auto;display:flex;gap:22px;font-size:13px;white-space:nowrap}
.hdr .logo b,.hdr .cta{white-space:nowrap}
.hdr nav a{color:var(--ink);padding-bottom:4px;border-bottom:2px solid transparent}
.hdr nav a:hover{border-color:var(--main)}
.hdr .cta{background:var(--deep);color:#fff;font-size:13px;font-weight:700;
  padding:12px 20px;border-radius:2px;letter-spacing:.04em}
.hdr .cta{transition:background-color .18s}
.hdr .cta:hover{background:#1f5698}
.hdr .burger{display:none;flex-direction:column;gap:5px;margin-left:auto}
.hdr .burger i{width:22px;height:2px;background:var(--ink-b);display:block}

/* ---------- ボタン ---------- */
.btn{position:relative;display:inline-block;text-align:center;font-size:14px;font-weight:700;
  padding:17px 48px 17px 30px;border-radius:2px;letter-spacing:.04em;
  transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s,transform .18s}
.btn::after{content:"\203A";position:absolute;right:22px;top:50%;
  transform:translateY(-52%);font-size:17px;font-weight:400;line-height:1;
  transition:transform .18s}
.btn:hover::after{transform:translateY(-52%) translateX(4px)}
.btn.pri{background:var(--deep);color:#fff;box-shadow:0 2px 0 #24568f}
.btn.pri:hover{background:#1f5698;box-shadow:0 2px 0 #17416f}
.btn.sec{background:#fff;color:var(--deep);border:1px solid var(--main)}
.btn.sec:hover{background:var(--deep);border-color:var(--deep);color:#fff}
.btn.ghost{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.6)}
.btn.ghost:hover{background:#fff;color:var(--ink-b);border-color:#fff}
.center{text-align:center;margin-top:44px}

/* ---------- メインビジュアル ---------- */
.mv{position:relative;background:var(--tint);overflow:hidden}
.mv .photo{height:500px;background:url("assets/img/ph_kantei2.jpg") center 44%/cover no-repeat}
.mv .box{position:absolute;left:0;bottom:0;width:600px;background:rgba(255,255,255,.96);
  padding:42px 48px 40px;border-top:4px solid var(--main)}
.mv .box .en{display:block;font-size:11px;color:var(--main);margin-bottom:14px}
.mv .box h2{font-size:34px;line-height:1.55;font-weight:700;margin:0 0 14px;
  letter-spacing:.02em;color:var(--ink-b)}
.mv .box p{font-size:14px;color:#4c5865;margin:0 0 26px}
.mv .box .btns{display:flex;gap:12px}

/* ---------- セクション共通 ---------- */
section{padding:86px 0}
.tinted{background:var(--tint)}
.shd{text-align:center;margin-bottom:48px}
.shd .en{display:block;font-size:11px;color:var(--main);margin-bottom:10px}
.shd h3{font-size:28px;font-weight:700;letter-spacing:.06em;margin:0;color:var(--ink-b)}
.shd h3::after{content:"";display:block;width:44px;height:3px;background:var(--main);
  margin:18px auto 0}
.shd .lead{font-size:14px;color:var(--muted);margin-top:16px}
.shd.left{text-align:left}
.shd.left h3::after{margin:18px 0 0}

/* ---------- 3サービス分岐 ---------- */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.svc a{display:block;background:#fff;border:1px solid var(--line);
  border-top:4px solid var(--main);color:var(--ink)}
.svc a{transition:box-shadow .18s,transform .18s}
.svc a:hover{box-shadow:0 6px 22px rgba(30,75,128,.16);transform:translateY(-3px)}
.svc .th{height:190px;background-size:cover;background-position:center}
.svc .s1 .th{background-image:url("assets/img/img02-kojin-v2.jpg")}
.svc .s2 .th{background-image:url("assets/img/img03-kigyo-v2.jpg")}
.svc .s3 .th{background-image:url("assets/img/img04.jpg")}
.svc .bd{padding:24px 26px 28px}
.svc h4{font-size:19px;font-weight:700;margin:0 0 4px;color:var(--ink-b)}
.svc .sub{font-size:11px;color:var(--main);letter-spacing:.14em;margin:0 0 12px;
  font-family:"Montserrat","Segoe UI",Arial,sans-serif;font-weight:600}
.svc p{font-size:13.5px;color:#4d5b68;margin:0 0 16px;min-height:78px}
.svc .go{font-size:13px;color:var(--deep);font-weight:700}
.svc .go::after{content:"　›"}

/* ---------- 交互ブロック ---------- */
.row{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.row.rev .pic{order:2}
.pic{height:360px;background-size:cover;background-position:center;border-radius:2px}
.pic.about{background-image:url("assets/img/img05.jpg")}
.pic.corp{background-image:url("assets/img/img06.jpg")}
.pic.shig{background-image:url("assets/img/img07.jpg")}
.row h4{font-size:24px;font-weight:700;margin:0 0 18px;color:var(--ink-b);letter-spacing:.03em}
.row p{font-size:14.5px;color:#3f4b57;margin:0 0 16px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.chips span{background:var(--tint);border:1px solid var(--line);color:var(--ink-b);
  font-size:12.5px;padding:6px 14px;border-radius:2px}
.more{font-size:13.5px;color:var(--deep);font-weight:700;border-bottom:2px solid var(--main);
  padding-bottom:3px}
.more{transition:color .18s,border-color .18s}
.more:hover{color:var(--ink-b);border-color:var(--deep)}

/* ---------- 個人鑑定 4カード ---------- */
.menu4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.menu4 .m{background:#fff;border:1px solid var(--line)}
.menu4 .th{height:130px;background-size:cover;background-position:center}
.menu4 .m1 .th{background-image:url("assets/img/img08.jpg")}
.menu4 .m2 .th{background-image:url("assets/img/img09.jpg")}
.menu4 .m3 .th{background-image:url("assets/img/img10.jpg")}
.menu4 .m4 .th{background-image:url("assets/img/img11.jpg")}
.menu4 .bd{padding:18px 18px 22px}
.menu4 h5{font-size:16px;font-weight:700;margin:0 0 8px;color:var(--ink-b)}
.menu4 p{font-size:13px;color:#525f6b;margin:0 0 12px;min-height:60px}
.menu4 .price{font-size:12.5px;color:var(--muted);border-top:1px dashed var(--line);padding-top:10px}
.menu4 .price b{font-family:"Montserrat","Segoe UI",Arial,sans-serif;font-size:19px;
  color:var(--ink-b);margin-right:3px}

/* ---------- 士業の2択 ---------- */
.two{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:30px}
.two .t{border:1px solid var(--line);background:#fff;padding:26px 28px 30px}
.two .t .num{display:inline-block;width:30px;height:30px;line-height:30px;text-align:center;
  background:var(--main);color:#fff;border-radius:50%;font-size:14px;font-weight:700;margin-bottom:12px;
  font-family:"Montserrat","Segoe UI",Arial,sans-serif}
.two h5{font-size:19px;font-weight:700;margin:0 0 10px;color:var(--ink-b)}
.two p{font-size:13.5px;color:#4d5b68;margin:0 0 20px;min-height:60px}
.two h5 .sub{display:inline-block;margin-left:6px;font-size:13px;font-weight:400;color:var(--muted)}
.two .note-s{font-size:12.5px;color:var(--muted);margin:-12px 0 18px;min-height:0}

/* ---------- 流れ ---------- */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.flow.n3{grid-template-columns:repeat(3,1fr)}
.flow li{list-style:none;position:relative;background:#fff;border:1px solid var(--line);
  padding:26px 22px 28px}
.flow li .n{font-family:"Montserrat","Segoe UI",Arial,sans-serif;font-size:34px;
  color:var(--main);font-weight:700;line-height:1;display:block;margin-bottom:10px}
.flow li h5{font-size:16px;margin:0 0 8px;font-weight:700;color:var(--ink-b)}
.flow li p{font-size:13px;color:#5a6773;margin:0}
.flow li::after{content:"";position:absolute;top:44px;right:-16px;width:9px;height:9px;
  border-top:2px solid var(--main);border-right:2px solid var(--main);transform:rotate(45deg);z-index:2}
.flow li:last-child::after{display:none}

/* ---------- 声 ---------- */
.voice{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.voice .v{background:#fff;border:1px solid var(--line);padding:28px 26px;position:relative}
.voice .v::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--main)}
.voice .who{font-size:12px;color:var(--main);letter-spacing:.08em;font-weight:700;margin:0 0 12px}
.voice p{font-size:13.5px;color:#4d5b68;margin:0}
.voice .vt{font-size:15px;font-weight:700;color:var(--ink-b);margin:0 0 10px;line-height:1.6}

/* ---------- 鑑定士 ---------- */
.person .row{grid-template-columns:400px 1fr;gap:56px}
.person .pic{height:460px;background-image:url("assets/img/ph_yoko.jpg");background-position:center top}
.person .en{display:block;font-size:11px;color:var(--main);margin-bottom:10px}
.person h3{font-size:27px;margin:0 0 6px;font-weight:700;color:var(--ink-b)}
.person .role{font-size:12px;color:var(--muted);letter-spacing:.1em;margin-bottom:22px}
.person p{font-size:14.5px;color:#3f4b57;margin:0 0 16px}

/* ---------- 講座帯 ---------- */
.course{padding:0}
.course .band{color:#fff;padding:92px 0;
  background:linear-gradient(100deg,rgba(30,75,128,.94) 0%,rgba(47,111,191,.86) 46%,rgba(122,172,235,.62) 100%),
    url("assets/img/ph_class_wide.jpg") center/cover no-repeat}
.course .en{display:block;font-size:11px;opacity:.9;margin-bottom:14px}
.course h3{font-size:32px;font-weight:700;margin:0 0 16px;letter-spacing:.04em}
.course .band>.wrap>p{font-size:14.5px;opacity:.95;margin:0 0 26px;max-width:640px}
.course .tags{display:flex;gap:10px;margin-bottom:30px;flex-wrap:wrap}
.course .tags span{border:1px solid rgba(255,255,255,.55);font-size:12px;padding:6px 15px;border-radius:2px}
.course .sub2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:38px}
.course .sub2 div{height:210px;background-size:cover;background-position:center;
  border:1px solid rgba(255,255,255,.35)}
.course .sub2 .a{background-image:url("assets/img/ph_lesson.jpg");background-position:center 22%}
.course .sub2 .b{background-image:url("assets/img/ph_zoom2.jpg")}

/* ---------- コラム ---------- */
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.cols3 .c{background:#fff;border:1px solid var(--line)}
.cols3 .th{height:150px;background-size:cover;background-position:center}
.cols3 .k1 .th{background-image:url("assets/img/img16.jpg")}
.cols3 .k2 .th{background-image:url("assets/img/img17.jpg")}
.cols3 .k3 .th{background-image:url("assets/img/img18.jpg")}
.cols3 .bd{padding:18px 20px 22px}
.cols3 .cat{display:inline-block;background:var(--main);color:#fff;font-size:11px;
  padding:3px 10px;border-radius:2px;margin-bottom:10px}
.cols3 h5{font-size:15px;font-weight:700;margin:0 0 8px;line-height:1.7;color:var(--ink-b)}
.cols3 .date{font-size:11.5px;color:var(--muted);
  font-family:"Montserrat","Segoe UI",Arial,sans-serif}

/* ---------- 最終CTA ---------- */
.last{background:var(--tint);text-align:center}
.last h3{font-size:27px;font-weight:700;margin:0 0 12px;color:var(--ink-b)}
.last>.wrap>p{font-size:14px;color:var(--muted);margin:0 0 32px}
.last .btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.last .btn.pri{font-size:16px;padding:20px 46px}

/* ---------- フッター ---------- */
footer{background:var(--ink-b);color:#fff;padding:56px 0 26px}
footer .frow{display:flex;gap:60px;flex-wrap:wrap}
footer .logo b{font-size:19px;letter-spacing:.09em}
footer .logo span{display:block;font-size:9.5px;opacity:.7;letter-spacing:.2em;margin-top:5px}
footer nav{display:flex;gap:44px;margin-left:auto;font-size:13px}
footer nav ul{list-style:none;padding:0;margin:0}
footer nav li{margin-bottom:11px;opacity:.9}
footer .cr{border-top:1px solid rgba(255,255,255,.2);margin-top:40px;padding-top:20px;
  font-size:11px;opacity:.72;letter-spacing:.05em}

/* ---------- SP固定バー ---------- */
.spbar{display:none}

/* =========================================================
   スマートフォン（カンプの SP 表示をメディアクエリ化）
   ========================================================= */
@media (max-width:900px){
  .wrap{padding:0 18px}
  .hdr{padding:14px 18px}
  .hdr nav,.hdr .cta{display:none}
  .hdr .burger{display:flex}
  .mv .photo{height:250px}
  .mv .box{position:static;width:auto;padding:26px 18px 30px}
  .mv .box h2{font-size:23px}
  .mv .box .btns{flex-direction:column}
  section{padding:54px 0}
  .shd h3{font-size:21px}
  .svc,.cols3,.voice{grid-template-columns:1fr}
  .case-meta{grid-template-columns:1fr}
  .svc p{min-height:0}
  .menu4{grid-template-columns:1fr 1fr;gap:14px}
  .menu4 p{min-height:0;font-size:12px}
  .menu4 .th{height:96px}
  .row,.person .row{grid-template-columns:1fr;gap:26px}
  .row.rev .pic{order:0}
  .pic{height:220px}
  .person .pic{height:340px}
  .two{grid-template-columns:1fr}
  .two p{min-height:0}
  .flow{grid-template-columns:1fr 1fr;gap:14px}
  .flow.n3{grid-template-columns:1fr 1fr}
  .flow li::after{display:none}
  .course .band{padding:54px 0}
  .course h3{font-size:23px}
  .course .sub2{grid-template-columns:1fr}
  .course .sub2 div{height:190px}
  .last .btns{flex-direction:column}
  .last .btn.pri{font-size:15px;padding:18px 20px}
  footer .frow{gap:26px}
  footer nav{margin-left:0;gap:34px}
  .spbar{display:flex;position:sticky;bottom:0;z-index:60}
  .spbar a{flex:1;text-align:center;padding:14px 4px;font-size:12.5px;font-weight:700;
    background:var(--deep);color:#fff;border-left:1px solid rgba(255,255,255,.35)}
  .spbar a:first-child{border-left:none}
  .spbar a.s{background:#fff;color:var(--deep);border-top:1px solid var(--main)}
}

/* =========================================================
   下層ページ用コンポーネント
   ========================================================= */

/* パンくず */
.crumb{background:#fff;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.crumb .wrap{padding-top:12px;padding-bottom:12px}
.crumb a{color:var(--deep)}
.crumb span{margin:0 8px;color:var(--main)}

/* 下層ページ見出し帯 */
.phero{background:var(--tint);border-bottom:1px solid var(--line);padding:56px 0 58px;text-align:center}
.phero .en{display:block;font-size:11px;color:var(--main);margin-bottom:12px}
.phero h1{font-size:32px;font-weight:700;color:var(--ink-b);letter-spacing:.06em;margin:0}
.phero h1::after{content:"";display:block;width:44px;height:3px;background:var(--main);margin:18px auto 0}
.phero p{font-size:14px;color:var(--muted);margin-top:18px}

/* 本文ブロック */
.prose{max-width:820px;margin:0 auto}
.prose h4{font-size:22px;font-weight:700;color:var(--ink-b);margin:38px 0 14px;letter-spacing:.03em}
.prose h4:first-child{margin-top:0}
.prose p{font-size:15px;color:#3f4b57;margin:0 0 16px}
.prose p:last-child{margin-bottom:0}

/* 悩みチェックリスト */
.checks{display:grid;grid-template-columns:1fr 1fr;gap:0 34px;list-style:none;padding:0;margin:0}
.checks li{position:relative;padding:16px 0 16px 34px;border-bottom:1px solid var(--line);
  font-size:15px;color:#3f4b57}
.checks li::before{content:"";position:absolute;left:2px;top:26px;width:16px;height:8px;
  border-left:2px solid var(--main);border-bottom:2px solid var(--main);transform:rotate(-45deg)}

/* 表（料金・概要） */
.tbl{width:100%;border-collapse:collapse;font-size:14.5px;background:#fff}
.tbl th,.tbl td{border:1px solid var(--line);padding:18px 20px;text-align:left;vertical-align:top}
.tbl th{width:270px;background:var(--tint);color:var(--ink-b);font-weight:700}
.tbl td b{font-family:"Montserrat","Segoe UI",Arial,sans-serif;font-size:19px;color:var(--ink-b);margin-right:3px}
.tbl .tbd{color:var(--muted);font-size:12.5px}
.tbl th .sub{display:inline-block;margin-top:3px;font-weight:400;font-size:12.5px;color:var(--muted)}

/* 注意書き */
.notice{border-left:4px solid var(--main);background:var(--tint);padding:20px 24px;
  font-size:13.5px;color:#4d5b68;margin-top:26px}
.notice b{color:var(--ink-b)}

/* FAQ */
.faq{border-top:1px solid var(--line);max-width:880px;margin:0 auto}
.faq details{border-bottom:1px solid var(--line);background:#fff}
.faq summary{cursor:pointer;list-style:none;padding:22px 46px 22px 52px;position:relative;
  font-size:15.5px;font-weight:700;color:var(--ink-b)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";position:absolute;left:20px;top:21px;width:24px;height:24px;
  line-height:24px;text-align:center;background:var(--main);color:#fff;border-radius:50%;
  font-family:"Montserrat","Segoe UI",Arial,sans-serif;font-size:13px}
.faq summary::after{content:"";position:absolute;right:22px;top:28px;width:9px;height:9px;
  border-right:2px solid var(--main);border-bottom:2px solid var(--main);transform:rotate(45deg)}
.faq details[open] summary::after{transform:rotate(-135deg);top:32px}
.faq .a{padding:0 46px 24px 52px;font-size:14.5px;color:#4d5b68}

/* 講座の特徴 5点 */
.points{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.points .p{background:#fff;border:1px solid var(--line);border-top:4px solid var(--main);padding:26px 24px 28px}
.points .p .n{font-family:"Montserrat","Segoe UI",Arial,sans-serif;font-size:12px;color:var(--main);
  letter-spacing:.16em;font-weight:600;display:block;margin-bottom:10px}
.points h5{font-size:17px;font-weight:700;color:var(--ink-b);margin:0 0 10px}
.points p{font-size:13.5px;color:#4d5b68;margin:0}

/* フォーム */
.form{max-width:760px;margin:0 auto}
.form .fr{margin-bottom:26px}
.form label{display:block;font-size:14px;font-weight:700;color:var(--ink-b);margin-bottom:8px}
.form label .req,.form label .opt{font-size:10.5px;color:#fff;background:#c0392b;padding:2px 8px;
  border-radius:2px;margin-left:10px;font-weight:700;vertical-align:2px}
.form label .opt{background:var(--muted)}
.form input[type=text],.form input[type=email],.form input[type=tel],.form select,.form textarea{
  width:100%;border:1px solid var(--line);background:#fff;padding:14px 16px;font-size:15px;
  font-family:inherit;color:var(--ink);border-radius:2px}
.form textarea{min-height:150px;resize:vertical}
.form .hint{font-size:12.5px;color:var(--muted);margin-top:8px}
.form .agree{display:flex;gap:10px;align-items:flex-start;background:var(--tint);
  border:1px solid var(--line);padding:18px 20px;font-size:14px}
.form .submit{text-align:center;margin-top:34px}
.form button{border:0;cursor:pointer;font-family:inherit}

/* コラム一覧グリッド */
.colgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.colgrid .c{background:#fff;border:1px solid var(--line)}
.colgrid .th{height:150px;background:var(--tint) center/cover no-repeat}
.colgrid .bd{padding:18px 20px 22px}
.colgrid .cat{display:inline-block;background:var(--main);color:#fff;font-size:11px;
  padding:3px 10px;border-radius:2px;margin-bottom:10px}
.colgrid h5{font-size:15px;font-weight:700;margin:0 0 8px;line-height:1.7;color:var(--ink-b)}
.colgrid .date{font-size:11.5px;color:var(--muted);font-family:"Montserrat","Segoe UI",Arial,sans-serif}
.catnav{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:40px}
.catnav a{border:1px solid var(--main);color:var(--deep);font-size:13px;padding:8px 20px;border-radius:2px}
.catnav a.on{background:var(--main);color:#fff}

/* サンクス */
.thanks{text-align:center;max-width:720px;margin:0 auto}
.thanks .mark{width:74px;height:74px;border-radius:50%;background:var(--main);margin:0 auto 26px;position:relative}
.thanks .mark::after{content:"";position:absolute;left:24px;top:22px;width:26px;height:14px;
  border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(-45deg)}
.thanks h1{font-size:27px;color:var(--ink-b);margin:0 0 18px;font-weight:700}
.thanks p{font-size:15px;color:#3f4b57;margin:0 0 14px}

/* 規約・ポリシー本文 */
.legal{max-width:820px;margin:0 auto;font-size:14.5px;color:#3f4b57}
.legal h4{font-size:18px;color:var(--ink-b);margin:34px 0 12px;font-weight:700}
.legal h4:first-child{margin-top:0}
.legal p,.legal li{margin:0 0 12px}
.legal ul{padding-left:1.3em}

/* 汎用 */
.mt40{margin-top:40px}
.mt56{margin-top:56px}
.tac{text-align:center}

@media (max-width:900px){
  .phero{padding:38px 0 40px}
  .phero h1{font-size:23px}
  .checks{grid-template-columns:1fr;gap:0}
  .points,.colgrid{grid-template-columns:1fr}
  .tbl,.tbl tbody,.tbl tr,.tbl th,.tbl td{display:block;width:auto}
  .tbl th{border-bottom:0}
  .tbl td{border-top:0;margin-bottom:12px}
  .faq summary{padding:18px 40px 18px 46px;font-size:14.5px}
  .faq .a{padding:0 20px 20px 46px}
  .prose h4{font-size:19px}
}

/* コラムカードをリンク化したことへの追補 */
.cols3 a.c,.colgrid a.c{display:block;color:inherit;text-decoration:none;transition:box-shadow .15s}
.cols3 a.c:hover,.colgrid a.c:hover{box-shadow:0 4px 16px rgba(30,75,128,.14)}
.colgrid{row-gap:26px}

/* 鑑定事例 */
.case-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0 0 32px}
.case-meta div{background:var(--tint);border-left:3px solid var(--main);padding:18px 20px;
  font-size:13.5px;color:#3f4b57;line-height:1.9}
.case-meta span{display:block;font-size:11px;font-weight:700;letter-spacing:.1em;
  color:var(--main);margin-bottom:8px}
.voice-grid{row-gap:26px}
.photos3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.photos3 div{height:230px;background-size:cover;background-position:center;border-radius:2px}
@media (max-width:900px){.photos3{grid-template-columns:1fr;gap:14px}.photos3 div{height:200px}}


/* ==================================================================
   WordPress 用の追加スタイル
   ================================================================== */

/* --- スマホのドロワー --- */
.drawer{display:none}
body.drawer-open{overflow:hidden}
@media (max-width:900px){
  .drawer{display:block;position:fixed;inset:64px 0 0;z-index:70;background:#fff;
    padding:26px 24px 40px;overflow-y:auto;border-top:1px solid var(--line)}
  .drawer[hidden]{display:none!important}
  .drawer nav{display:flex;flex-direction:column}
  .drawer nav a{display:block;padding:16px 4px;font-size:15px;font-weight:700;
    color:var(--ink-b);border-bottom:1px solid var(--line)}
  .drawer .btn{display:block;margin-top:26px;text-align:left}
}

/* --- 投稿本文 --- */
.entry{max-width:760px;margin:0 auto;font-size:15.5px;line-height:2.05;color:#33404c}
.entry > *:first-child{margin-top:0}
.entry p{margin:0 0 1.6em}
.entry h2{font-size:23px;font-weight:700;color:var(--ink-b);letter-spacing:.03em;
  margin:2.4em 0 .9em;padding:0 0 12px;border-bottom:2px solid var(--main)}
.entry h3{font-size:19px;font-weight:700;color:var(--ink-b);margin:2.2em 0 .8em;
  padding-left:14px;border-left:4px solid var(--main)}
.entry h4{font-size:17px;font-weight:700;color:var(--ink-b);margin:2em 0 .7em}
.entry ul,.entry ol{margin:0 0 1.6em;padding-left:1.5em}
.entry li{margin-bottom:.5em}
.entry a{color:var(--deep);font-weight:700;border-bottom:1px solid var(--main)}
.entry a:hover{border-bottom-color:var(--deep)}
.entry img{border-radius:2px;margin:1em 0}
.entry figure{margin:1.8em 0}
.entry figcaption{font-size:12.5px;color:var(--muted);margin-top:8px;text-align:center}
.entry blockquote{margin:1.8em 0;padding:22px 26px;background:var(--tint);
  border-left:3px solid var(--main);font-size:14.5px}
.entry blockquote p:last-child{margin-bottom:0}
.entry table{width:100%;border-collapse:collapse;font-size:14.5px;margin:1.8em 0}
.entry th,.entry td{border:1px solid var(--line);padding:14px 16px;text-align:left}
.entry th{background:var(--tint);color:var(--ink-b)}
.entry code{background:var(--tint);padding:2px 6px;border-radius:2px;font-size:.92em}
.entry pre{background:var(--tint);padding:20px;overflow-x:auto;font-size:13px;margin:1.8em 0}
.entry hr{border:0;border-top:1px solid var(--line);margin:2.6em 0}

.entry-eyecatch{max-width:900px;margin:0 auto 44px}
.entry-eyecatch img{width:100%;height:auto;border-radius:2px}

.entry-tags{max-width:760px;margin:34px auto 0;display:flex;flex-wrap:wrap;gap:8px}
.entry-tags a{background:var(--tint);border:1px solid var(--line);color:var(--ink-b);
  font-size:12.5px;padding:6px 14px;border-radius:2px}
.entry-tags a:hover{border-color:var(--main)}

/* --- 前後の記事 --- */
.entry-nav{max-width:760px;margin:46px auto 0;display:grid;grid-template-columns:1fr 1fr;
  gap:20px;font-size:13.5px}
.entry-nav .next{text-align:right}
.entry-nav a{color:var(--deep);font-weight:700;line-height:1.8}
.entry-nav a:hover{color:var(--ink-b)}

/* --- ページャ --- */
.pagination,.pager{margin-top:52px;text-align:center}
.pagination .nav-links{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center}
.pagination .page-numbers{display:inline-block;min-width:42px;padding:11px 12px;
  border:1px solid var(--line);background:#fff;color:var(--ink-b);font-size:13.5px;
  font-weight:700;border-radius:2px;transition:background-color .18s,color .18s,border-color .18s}
.pagination .page-numbers:hover{border-color:var(--main);background:var(--tint)}
.pagination .page-numbers.current{background:var(--deep);border-color:var(--deep);color:#fff}
.pagination .page-numbers.dots{border-color:transparent;background:none}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);
  clip-path:inset(50%);white-space:nowrap}

.noposts{text-align:center;color:var(--muted);padding:60px 0}

/* --- 検索フォーム --- */
.search-form{display:inline-flex;gap:8px}
.search-form .search-field{border:1px solid var(--line);padding:13px 16px;font-size:14px;
  min-width:280px;border-radius:2px;font-family:inherit}
.search-form .search-submit{background:var(--deep);color:#fff;border:0;padding:13px 24px;
  font-size:14px;font-weight:700;border-radius:2px;cursor:pointer}
.search-form .search-submit:hover{background:#1f5698}

@media (max-width:900px){
  .entry-nav{grid-template-columns:1fr}
  .entry-nav .next{text-align:left}
  .search-form{flex-direction:column;width:100%}
  .search-form .search-field{min-width:0;width:100%}
}

/* --- Contact Form 7 等をフォームのデザインに合わせる --- */
.form .wpcf7-form p{margin:0 0 26px}
.form .wpcf7-form label{display:block;font-size:14px;font-weight:700;color:var(--ink-b);margin-bottom:8px}
.form .wpcf7-form-control-wrap{display:block;margin-top:8px}
.form input[type=url],.form input[type=date],.form input[type=number],
.form .wpcf7-form input[type=text],.form .wpcf7-form input[type=email],
.form .wpcf7-form input[type=tel],.form .wpcf7-form select,.form .wpcf7-form textarea{
  width:100%;border:1px solid var(--line);background:#fff;padding:14px 16px;font-size:15px;
  font-family:inherit;color:var(--ink);border-radius:2px;box-sizing:border-box}
.form .wpcf7-form textarea{min-height:150px;resize:vertical}
.form .wpcf7-list-item{margin:0 18px 8px 0}
.form .wpcf7-submit{display:inline-block;background:var(--deep);color:#fff;border:0;
  min-width:280px;padding:17px 30px;font-size:14px;font-weight:700;letter-spacing:.04em;
  border-radius:2px;cursor:pointer;box-shadow:0 2px 0 #24568f;transition:background-color .18s}
.form .wpcf7-submit:hover{background:#1f5698}
.form .wpcf7-not-valid-tip{color:#c0392b;font-size:12.5px;margin-top:6px}
.form .wpcf7-response-output{border:1px solid var(--line)!important;background:var(--tint);
  padding:16px 20px!important;margin:24px 0 0!important;font-size:14px;border-radius:2px}
.form .wpcf7-spinner{display:block;margin:12px auto 0}
