/*
Theme Name: Olympia Corporate
Theme URI:
Author: Olympia Kohgyo Co., Ltd.
Description: オリンピア興業株式会社 コーポレートサイト専用テーマ。創業1950年の不動産会社向けに制作した独立テーマです。
Version: 1.0.8
Requires at least: 5.9
Requires PHP: 7.4
Text Domain: olympia-corp
*/

/* ════════════════════════════════════════════════
   共通設計トークン（色・フォントはここで一元管理）
   ※色を変えたいときは、まずこの :root を編集
   ════════════════════════════════════════════════ */
:root{
  --ink:#151210;--ink-soft:#2e2820;--cream:#f7f3ec;--warm:#ede8de;
  --border:#d5cfc3;--muted:#847b70;--red:#8c1c13;--red-lt:#b52519;
  --gold:#a07820;--gold-lt:#c8a245;--white:#ffffff;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
/* 改行ポリシー（2026-06-10 決定）:
   基本は句読点（、。）でのみ改行＝keep-all。「・」では改行しない（footer.phpのJSで
   ・の直後にWORD JOINERを付与して禁則化）。1行に収まらない長い句のみ緊急折り返し
   （overflow-wrap）。最終行が極端に短くなるのは text-wrap:pretty で自動調整 */
body{font-family:'Noto Sans JP',sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden;word-break:keep-all;line-break:strict;overflow-wrap:break-word;}
p,li,dd,figcaption{text-wrap:pretty;}

/* ══ HEADER ══ */
header{position:fixed;top:0;left:0;right:0;z-index:200;background:rgba(247,243,236,.97);backdrop-filter:blur(10px);}
.header-top{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 52px;border-bottom:1px solid var(--border);}
.logo-wrap a{text-decoration:none;color:inherit;}
.logo-ja{font-family:'Noto Serif JP',serif;font-size:14px;letter-spacing:.12em;}
.logo-en{font-family:'Cormorant Garamond',serif;font-size:12px;letter-spacing:.35em;color:var(--muted);display:block;margin-top:2px;}
.gnav{display:flex;align-items:center;gap:0;}
.gnav a{font-size:13px;letter-spacing:.12em;color:var(--muted);text-decoration:none;padding:0 18px;height:60px;display:flex;align-items:center;border-right:1px solid var(--border);transition:color .2s,background .2s;white-space:nowrap;}
.gnav a:first-child{border-left:1px solid var(--border);}
.gnav a:hover{color:var(--ink);background:rgba(21,18,16,.04);}
.gnav a.current{color:var(--ink);font-weight:500;position:relative;}
.gnav a.current::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);}
.hright{display:flex;align-items:center;gap:20px;}
.htel{font-family:'Cormorant Garamond',serif;font-size:17px;letter-spacing:.06em;color:var(--ink);}
.htel small{font-family:'Noto Sans JP',sans-serif;font-size:12px;color:var(--muted);display:block;text-align:right;}
.hbtn{background:var(--red);color:#fff;padding:9px 22px;font-size:13px;letter-spacing:.1em;text-decoration:none;display:inline-block;transition:background .25s;}
.hbtn:hover{background:var(--red-lt);}
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;padding:10px;background:none;border:none;margin-left:auto;}
.hamburger span{display:block;width:22px;height:1.5px;background:var(--ink);transition:transform .3s,opacity .3s;}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
.mobile-nav{display:none;position:fixed;top:60px;left:0;right:0;z-index:250;background:var(--ink);border-top:1px solid rgba(255,255,255,.08);box-shadow:0 8px 24px rgba(0,0,0,.4);}
.mobile-nav.open{display:block;}
.mobile-nav a{display:block;color:rgba(255,255,255,.65);text-decoration:none;font-size:14px;letter-spacing:.14em;padding:18px 28px;border-bottom:1px solid rgba(255,255,255,.07);transition:color .2s,background .2s;}
.mobile-nav a:hover{color:#fff;background:rgba(255,255,255,.06);}

/* ══ 共通：見出し ══ */
.section-en{font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:.45em;color:var(--gold);display:flex;align-items:center;gap:14px;margin-bottom:16px;}
.section-en::before{content:'';display:block;width:36px;height:1px;background:var(--gold);}
.section-ja{font-family:'Noto Serif JP',serif;font-size:clamp(20px,2.4vw,30px);font-weight:900;color:var(--ink);line-height:1.5;}
.section-lead{margin-top:16px;font-size:16px;color:var(--muted);line-height:1.85;max-width:640px;}

/* ══ HERO ══ */
.hero{position:relative;background:linear-gradient(100deg,rgba(21,18,16,.94) 0%,rgba(21,18,16,.80) 52%,rgba(21,18,16,.55) 100%),url('images/hero-building.jpg');background-size:cover;background-position:center 38%;color:#fff;margin-top:60px;padding:120px 72px 110px;overflow:hidden;}
.hero::after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent,transparent 119px,rgba(255,255,255,.012) 119px,rgba(255,255,255,.012) 120px),repeating-linear-gradient(0deg,transparent,transparent 79px,rgba(255,255,255,.008) 79px,rgba(255,255,255,.008) 80px);}
.hero-inner{position:relative;z-index:1;max-width:780px;}
.hero-eyebrow{font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:.42em;color:var(--gold-lt);display:flex;align-items:center;gap:14px;margin-bottom:26px;}
.hero-eyebrow::before{content:'';display:block;width:44px;height:1px;background:var(--gold-lt);}
.hero-h1{font-family:'Noto Serif JP',serif;font-weight:900;font-size:clamp(36px,5vw,64px);line-height:1.32;letter-spacing:.04em;margin-bottom:28px;}
.hero-sub{font-family:'Noto Serif JP',serif;font-size:clamp(16px,1.9vw,21px);font-weight:600;line-height:1.85;color:#fff;margin-bottom:24px;}
.hero-sub .gold{color:var(--gold-lt);}
.hero-desc{font-size:16px;line-height:1.85;color:rgba(255,255,255,.55);max-width:660px;border-left:2px solid var(--gold);padding-left:22px;margin-bottom:40px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}

/* ══ ボタン ══ */
.btn-red{background:var(--red);color:#fff;padding:16px 36px;font-size:14px;font-family:'Noto Sans JP',sans-serif;font-weight:500;letter-spacing:.1em;text-decoration:none;display:inline-flex;align-items:center;gap:10px;text-align:center;transition:background .25s;border:1px solid var(--red);}
.btn-red:hover{background:var(--red-lt);border-color:var(--red-lt);}
.btn-outline{background:transparent;color:var(--ink);padding:16px 36px;font-size:14px;font-family:'Noto Sans JP',sans-serif;letter-spacing:.1em;text-decoration:none;display:inline-flex;align-items:center;gap:10px;text-align:center;border:1px solid var(--border);transition:border-color .25s,color .25s;}
.btn-outline:hover{border-color:var(--ink);}
.btn-light{background:transparent;color:#fff;padding:16px 36px;font-size:14px;font-family:'Noto Sans JP',sans-serif;letter-spacing:.1em;text-decoration:none;display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.3);transition:border-color .25s,background .25s;}
.btn-light:hover{border-color:#fff;background:rgba(255,255,255,.06);}
.link-arrow{display:inline-flex;align-items:center;gap:12px;font-family:'Cormorant Garamond',serif;font-size:14px;letter-spacing:.18em;color:var(--gold);text-decoration:none;transition:gap .25s,color .25s;}
.link-arrow::after{content:'';width:46px;height:1px;background:var(--gold);transition:width .3s;}
.link-arrow:hover{gap:16px;}
.link-arrow:hover::after{width:64px;}

/* ══ ABOUT（企業ブランド紹介） ══ */
.about{background:var(--cream);padding:72px 72px;}
.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;}
.about-h2{font-family:'Noto Serif JP',serif;font-size:clamp(21px,2.3vw,29px);font-weight:900;color:var(--ink);line-height:1.5;margin:14px 0 22px;}
/* max-width 640: 手動<br>指定行（最長622px）が途中で折れずに収まる幅 */
.about-body{font-size:16px;color:var(--muted);line-height:1.85;margin-bottom:32px;max-width:640px;}
.about-photo{position:relative;height:380px;overflow:hidden;}
.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block;}
.about-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border);border:1px solid var(--border);margin-top:40px;}
.about-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:2px;}
.about-gallery img{width:100%;height:172px;object-fit:cover;display:block;}
.afact{background:var(--white);padding:26px 24px;}
.afact-label{font-size:12px;letter-spacing:.22em;color:var(--gold);margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.afact-label::before{content:'';display:block;width:14px;height:1px;background:var(--gold);}
.afact-value{font-family:'Noto Serif JP',serif;font-size:24px;font-weight:600;color:var(--ink);line-height:1.3;}
.afact-value small{font-family:'Noto Sans JP',sans-serif;font-size:13px;color:var(--muted);font-weight:400;margin-left:3px;}
.afact-value.txt{font-size:16px;}

/* ══ BUSINESS（事業内容） ══ */
.biz{background:var(--white);padding:90px 72px;}
.biz-hd{margin-bottom:48px;}
.biz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border);border:1px solid var(--border);}
.bcard{background:var(--cream);padding:44px 38px;transition:background .25s;}
.bcard:hover{background:var(--warm);}
.bcard-no{font-family:'Cormorant Garamond',serif;font-size:14px;letter-spacing:.3em;color:var(--gold);margin-bottom:18px;}
.bcard-ttl{font-family:'Noto Serif JP',serif;font-size:18px;font-weight:600;color:var(--ink);line-height:1.55;margin-bottom:14px;}
.bcard-body{font-size:15px;color:var(--muted);line-height:1.85;}
.biz-foot{margin-top:44px;}

/* ══ WORRIES（判断に迷う相談） ══ */
.worries{background:var(--cream);padding:90px 72px;}
.worries-hd{margin-bottom:48px;}
.wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border);border:1px solid var(--border);}
.wcard{background:var(--white);padding:34px 30px;display:flex;gap:16px;align-items:flex-start;transition:background .25s;}
.wcard:hover{background:var(--warm);}
.wnum{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--gold);line-height:1.3;flex-shrink:0;}
.wtext{font-size:14px;line-height:1.85;color:var(--ink);}
.worries-foot{margin-top:42px;display:flex;gap:16px;flex-wrap:wrap;align-items:center;}

/* ══ DIFF（私たちの違い） ══ */
.diff{background:var(--warm);padding:90px 72px;}
.diff-hd{margin-bottom:14px;}
.diff-title{font-family:'Noto Serif JP',serif;font-size:clamp(22px,2.6vw,32px);font-weight:900;color:var(--ink);line-height:1.5;margin:18px 0 18px;}
.diff-title em{font-style:normal;color:var(--gold);}
.diff-body{font-size:16px;color:var(--muted);line-height:1.85;max-width:680px;margin-bottom:46px;}
.diff-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.dcol{background:var(--white);border:1px solid var(--border);padding:40px 38px;}
.dcol.ours{background:var(--ink);border-color:var(--ink);color:#fff;}
.dcol-label{font-size:13px;letter-spacing:.2em;margin-bottom:26px;padding-bottom:14px;border-bottom:1px solid var(--border);color:var(--muted);}
.dcol.ours .dcol-label{color:var(--gold-lt);border-color:rgba(255,255,255,.15);}
.dpoint{display:flex;gap:14px;align-items:flex-start;padding:13px 0;font-size:16px;line-height:1.9;}
.dpoint .dicon{flex-shrink:0;color:var(--border);font-size:14px;line-height:1.7;}
.dcol.ours .dpoint{color:rgba(255,255,255,.82);}
.dcol.ours .dicon{color:var(--gold-lt);}
.diff-foot{margin-top:42px;}

/* ══ CASES（解決事例） ══ */
.cases{background:var(--cream);padding:90px 72px;}
.cases-hd{margin-bottom:48px;}
.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.ccard{background:var(--white);border:1px solid var(--border);padding:34px 30px 32px;position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .3s;}
.ccard::before{content:'';position:absolute;top:0;left:0;width:0;height:3px;background:var(--gold);transition:width .4s cubic-bezier(.22,.61,.36,1);}
.ccard:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(21,18,16,.1);}
.ccard:hover::before{width:100%;}
.ccard-num{font-family:'Cormorant Garamond',serif;font-size:44px;font-weight:300;color:rgba(21,18,16,.08);line-height:1;margin-bottom:14px;}
.ccard-tag{display:inline-block;font-size:12px;letter-spacing:.25em;color:var(--gold);border:1px solid rgba(160,120,32,.35);padding:4px 11px;margin-bottom:16px;}
.ccard-title{font-family:'Noto Serif JP',serif;font-size:17px;font-weight:600;color:var(--ink);line-height:1.6;margin-bottom:14px;}
.ccard-body{font-size:16px;color:var(--muted);line-height:1.85;}
.cases-foot{margin-top:44px;}

/* ══ METS（保有・運営実績） ══ */
.mets{background:var(--ink);color:#fff;display:grid;grid-template-columns:1.05fr 1fr;align-items:stretch;}
.mets-photo{position:relative;min-height:420px;overflow:hidden;}
.mets-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.mets-body{padding:90px 72px;display:flex;flex-direction:column;justify-content:center;}
.mets-eyebrow{font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:.4em;color:var(--gold-lt);display:flex;align-items:center;gap:14px;margin-bottom:10px;}
.mets-eyebrow::before{content:'';display:block;width:36px;height:1px;background:var(--gold-lt);}
.mets-label{font-size:13px;letter-spacing:.22em;color:rgba(255,255,255,.5);margin-bottom:14px;}
.mets-h2{font-family:'Noto Serif JP',serif;font-size:clamp(22px,2.5vw,30px);font-weight:900;line-height:1.55;margin:0 0 22px;}
.mets-text{font-size:16px;line-height:1.85;color:rgba(255,255,255,.6);max-width:520px;margin-bottom:36px;}

/* ══ VALUES（大切にしていること） ══ */
.values{background:var(--warm);padding:90px 72px;text-align:center;}
.values-inner{max-width:760px;margin:0 auto;}
.values .section-en{justify-content:center;}
.values .section-en::before{display:none;}
.values-h2{font-family:'Noto Serif JP',serif;font-size:clamp(21px,2.4vw,29px);font-weight:900;color:var(--ink);line-height:1.6;margin:16px 0 22px;}
.values-body{font-size:16px;color:var(--muted);line-height:1.85;margin-bottom:38px;}
.values-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ══ NEWS & COLUMN（お知らせ・コラム） ══ */
.news{background:var(--cream);padding:84px 72px;}
.news-hd{margin-bottom:40px;}
.news-list{border-top:1px solid var(--ink);}
.news-row{display:grid;grid-template-columns:118px 88px 1fr 22px;gap:24px;align-items:center;padding:24px 8px;border-bottom:1px solid var(--border);text-decoration:none;color:var(--ink);transition:background .25s,padding .25s;}
.news-row:hover{background:var(--white);padding-left:18px;}
.news-date{font-family:'Cormorant Garamond',serif;font-size:15px;letter-spacing:.08em;color:var(--muted);}
.news-cat{justify-self:start;width:100%;max-width:84px;text-align:center;font-size:12px;letter-spacing:.18em;padding:4px 0;border:1px solid var(--border);color:var(--muted);}
.news-cat.cat-column{color:var(--gold);border-color:rgba(160,120,32,.5);}
.news-ttl{font-size:14px;line-height:1.7;color:var(--ink);}
.news-go{font-family:'Cormorant Garamond',serif;font-size:18px;color:var(--border);transition:color .25s,transform .25s;}
.news-row:hover .news-go{color:var(--gold);transform:translateX(4px);}
.news-foot{margin-top:36px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;}
.news-note{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:14px;flex-wrap:wrap;}

/* ══ FINAL CTA ══ */
.final-cta{background:var(--warm);border-top:1px solid var(--border);padding:74px 72px;display:flex;align-items:center;justify-content:space-between;gap:48px;flex-wrap:wrap;}
.fcta-tag{font-family:'Cormorant Garamond',serif;font-size:13px;letter-spacing:.35em;color:var(--red);display:flex;align-items:center;gap:12px;margin-bottom:16px;}
.fcta-tag::before{content:'';display:block;width:28px;height:1px;background:var(--red);}
.fcta-title{font-family:'Noto Serif JP',serif;font-size:clamp(20px,2.4vw,30px);font-weight:900;color:var(--ink);line-height:1.55;}
.fcta-body{margin-top:16px;font-size:16px;color:var(--muted);line-height:1.85;max-width:560px;}
.fcta-right{display:flex;flex-direction:column;gap:14px;flex-shrink:0;}
.fcta-tel{font-family:'Cormorant Garamond',serif;font-size:24px;letter-spacing:.06em;color:var(--ink);}
.fcta-tel small{display:block;font-family:'Noto Sans JP',sans-serif;font-size:13px;color:var(--muted);letter-spacing:.05em;margin-top:4px;}

/* ══ FOOTER ══ */
.footer-bar{background:var(--ink);padding:24px 72px;display:flex;align-items:center;justify-content:space-between;}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:14px;letter-spacing:.3em;color:rgba(255,255,255,.4);}
.footer-copy{font-size:13px;color:rgba(255,255,255,.2);letter-spacing:.1em;}

/* ══ 下層ページ共通（お問い合わせ／プライバシー／サイトマップ等） ══ */
.page-hero{background:linear-gradient(100deg,rgba(21,18,16,.95) 0%,rgba(21,18,16,.78) 100%),url('images/hero-building.jpg');background-size:cover;background-position:center 38%;color:#fff;margin-top:60px;padding:72px 72px 64px;}
.page-hero-inner{max-width:1100px;margin:0 auto;}
.page-hero .section-en{color:var(--gold-lt);}
.page-hero .section-en::before{background:var(--gold-lt);}
.page-hero-h1{font-family:'Noto Serif JP',serif;font-weight:900;font-size:clamp(26px,3.4vw,40px);line-height:1.4;margin-top:10px;letter-spacing:.03em;}
.page-hero-sub{margin-top:18px;font-size:16px;color:rgba(255,255,255,.6);line-height:1.85;max-width:660px;}
.page-body{background:var(--cream);padding:72px 72px 88px;}
.page-inner{max-width:1100px;margin:0 auto;}

/* 本文（プライバシーポリシー等） */
.prose{max-width:820px;font-size:16px;line-height:1.9;color:var(--ink-soft);}
.prose h2{font-family:'Noto Serif JP',serif;font-size:19px;font-weight:700;color:var(--ink);margin:44px 0 16px;padding-bottom:12px;border-bottom:1px solid var(--border);}
.prose h2:first-child{margin-top:0;}
.prose h3{font-family:'Noto Serif JP',serif;font-size:18px;font-weight:600;color:var(--ink);margin:28px 0 10px;}
.prose p{margin-bottom:18px;color:var(--muted);}
.prose ul,.prose ol{margin:0 0 18px 1.4em;color:var(--muted);}
.prose li{margin-bottom:8px;line-height:1.8;}
.prose a{color:var(--gold);text-decoration:underline;}
.prose .updated{font-size:13px;color:var(--muted);margin-bottom:32px;letter-spacing:.04em;}

/* お問い合わせ */
.contact-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:48px;align-items:start;}
.contact-lead{font-size:16px;color:var(--muted);line-height:1.85;margin-bottom:34px;max-width:560px;}
.cform{display:grid;gap:22px;}
.cfield{display:flex;flex-direction:column;gap:8px;}
.cfield label{font-size:13px;letter-spacing:.06em;color:var(--ink);font-weight:500;}
.cfield .req{color:var(--red);font-size:12px;margin-left:7px;letter-spacing:.1em;}
.cfield input,.cfield select,.cfield textarea{font-family:inherit;font-size:16px;color:var(--ink);background:var(--white);border:1px solid var(--border);padding:13px 15px;width:100%;transition:border-color .2s;}
.cfield input:focus,.cfield select:focus,.cfield textarea:focus{outline:none;border-color:var(--gold);}
.cfield textarea{min-height:150px;resize:vertical;}
.cagree{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);line-height:1.8;}
.cagree input{width:16px;height:16px;margin-top:3px;flex-shrink:0;}
.cagree a{color:var(--gold);}
.cform-submit{margin-top:6px;}
.cform-submit button{cursor:pointer;border:none;font-family:'Noto Sans JP',sans-serif;}
.cnote{margin-top:22px;background:var(--warm);border:1px dashed var(--gold);padding:14px 18px;font-size:13px;color:var(--ink-soft);line-height:1.95;}
.contact-side{background:var(--white);border:1px solid var(--border);padding:34px 30px;}
.cside-block{padding:18px 0;border-bottom:1px solid var(--border);}
.cside-block:first-child{padding-top:0;}
.cside-block:last-child{border-bottom:none;padding-bottom:0;}
.cside-label{font-size:12px;letter-spacing:.2em;color:var(--gold);margin-bottom:10px;}
.cside-tel{font-family:'Cormorant Garamond',serif;font-size:28px;letter-spacing:.04em;color:var(--ink);}
.cside-text{font-size:15px;color:var(--ink-soft);line-height:1.95;}

/* お問い合わせ：Contact Form 7 をサイトデザインに馴染ませる */
.contact-main .wpcf7-form p{margin:0 0 22px;}
.contact-main .wpcf7-form label{display:block;font-size:13px;letter-spacing:.06em;color:var(--ink);font-weight:500;line-height:1.6;}
.contact-main .wpcf7-form label br{display:none;}
.contact-main .wpcf7-form-control-wrap{display:block;margin-top:8px;}
.contact-main .wpcf7-form input.wpcf7-text,
.contact-main .wpcf7-form input.wpcf7-email,
.contact-main .wpcf7-form input.wpcf7-tel,
.contact-main .wpcf7-form input.wpcf7-number,
.contact-main .wpcf7-form select.wpcf7-select,
.contact-main .wpcf7-form textarea.wpcf7-textarea{font-family:inherit;font-size:16px;color:var(--ink);background:var(--white);border:1px solid var(--border);padding:13px 15px;width:100%;box-sizing:border-box;transition:border-color .2s;}
.contact-main .wpcf7-form input:focus,
.contact-main .wpcf7-form select:focus,
.contact-main .wpcf7-form textarea:focus{outline:none;border-color:var(--gold);}
.contact-main .wpcf7-form textarea.wpcf7-textarea{min-height:150px;resize:vertical;}
.contact-main .wpcf7-form .wpcf7-list-item{display:inline-block;margin:0 18px 6px 0;}
.contact-main .wpcf7-form input.wpcf7-submit{width:auto;cursor:pointer;background:var(--red);color:#fff;border:1px solid var(--red);padding:16px 40px;font-size:14px;font-weight:500;letter-spacing:.1em;font-family:'Noto Sans JP',sans-serif;margin-top:6px;transition:background .25s;}
.contact-main .wpcf7-form input.wpcf7-submit:hover{background:var(--red-lt);border-color:var(--red-lt);}
.contact-main .wpcf7-not-valid-tip{color:var(--red);font-size:13px;margin-top:5px;}
.contact-main .wpcf7-response-output{margin:20px 0 0;padding:12px 16px;font-size:14px;border:1px solid var(--border);}
/* 必須／任意バッジ・補足文・同意 */
.contact-main .wpcf7-form .req{display:inline-block;font-size:12px;letter-spacing:.08em;color:#fff;background:var(--red);padding:2px 8px;margin-left:8px;vertical-align:middle;}
.contact-main .wpcf7-form .opt{display:inline-block;font-size:12px;letter-spacing:.08em;color:var(--muted);border:1px solid var(--border);padding:2px 8px;margin-left:8px;vertical-align:middle;}
.contact-main .wpcf7-form .cf-note{font-size:13px;color:var(--muted);margin:6px 0 0;line-height:1.7;}
.contact-main .wpcf7-form .wpcf7-acceptance{display:block;margin:4px 0 8px;}
.contact-main .wpcf7-form .wpcf7-acceptance .wpcf7-list-item{margin:0;}
.contact-main .wpcf7-form .wpcf7-acceptance .wpcf7-list-item-label{font-size:13px;color:var(--ink-soft);line-height:1.7;}
.contact-main .wpcf7-form .wpcf7-acceptance a{color:var(--gold);}

/* サンクスページ（/thanks/） */
.thanks-box{max-width:680px;}
.thanks-box > p{font-size:16px;line-height:1.85;color:var(--ink-soft);}
.thanks-tel{margin-top:36px;padding:28px 32px;background:var(--warm);border:1px solid var(--border);text-align:center;}
.thanks-tel p{margin:0 0 10px;font-size:15px;color:var(--muted);}
.thanks-tel-num{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,4vw,36px);letter-spacing:.04em;color:var(--ink);text-decoration:none;display:block;}
.thanks-tel-hours{display:block;font-size:13px;color:var(--muted);margin-top:6px;}
.thanks-back{margin-top:36px;}
.sp-only{display:none;}
@media(max-width:600px){.sp-only{display:inline;}}

/* サイトマップ */
.sitemap{display:grid;grid-template-columns:repeat(2,1fr);gap:40px 56px;max-width:920px;}
.smgroup-ttl{font-family:'Noto Serif JP',serif;font-size:16px;font-weight:700;color:var(--ink);padding-bottom:12px;margin-bottom:6px;border-bottom:1px solid var(--ink);}
.smgroup-ttl a{color:inherit;text-decoration:none;}
.smgroup-ttl a:hover{color:var(--gold);}
.smlist{list-style:none;}
.smlist li{border-bottom:1px solid var(--border);}
.smlist a{display:flex;align-items:center;gap:10px;padding:13px 4px;font-size:16px;color:var(--ink-soft);text-decoration:none;transition:color .2s,padding .2s;}
.smlist a::before{content:'→';color:var(--gold);font-family:'Cormorant Garamond',serif;}
.smlist a:hover{color:var(--gold);padding-left:10px;}

/* フッターナビ */
.footer-nav{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;}
.footer-nav a{font-size:13px;letter-spacing:.08em;color:rgba(255,255,255,.45);text-decoration:none;transition:color .2s;}
.footer-nav a:hover{color:#fff;}

/* ══ RESPONSIVE ══ */
@media(max-width:980px){
  .header-top{padding:0 20px;}
  .gnav{display:none;}
  .hamburger{display:flex;}
  .htel,.hbtn{display:none;}
  .hright{gap:0;}
  .hero{padding:70px 24px 64px;}
  .hero::before{font-size:150px;}
  .about,.biz,.worries,.diff,.cases,.values,.news{padding-left:24px;padding-right:24px;}
  .mets-body{padding:56px 24px;}
  .final-cta{padding:48px 24px;}
  .about-grid{grid-template-columns:1fr;gap:40px;}
  .about-photo{height:230px;}
  .about-facts{grid-template-columns:1fr 1fr;}
  .about-gallery img{height:150px;}
  .wgrid,.case-grid,.biz-grid,.diff-cols{grid-template-columns:1fr;}
  .mets{grid-template-columns:1fr;}
  .mets-photo{min-height:260px;}
  .footer-bar{padding:20px 24px;flex-direction:column;gap:8px;text-align:center;}
  .btn-outline{width:100%;justify-content:center;}
}
@media(max-width:560px){
  .hero-ctas{flex-direction:column;}
  .hero-ctas .btn-red,.hero-ctas .btn-light{width:100%;justify-content:center;}
  .news-row{grid-template-columns:auto auto;justify-content:start;gap:8px 14px;padding:18px 6px;}
  .news-row:hover{padding-left:6px;}
  .news-ttl{grid-column:1/-1;}
  .news-go{display:none;}
  .news-foot{flex-direction:column;align-items:flex-start;}
}
@media(max-width:980px){
  .page-hero{padding:56px 24px 48px;}
  .page-body{padding:48px 24px 64px;}
  .contact-grid{grid-template-columns:1fr;gap:36px;}
  .sitemap{grid-template-columns:1fr;gap:30px;}
}

/* ════════════════════════════════════════════════
   COLUMN / 投稿本文（お知らせ・コラムの個別記事）
   ・index.php の単一記事は .prose（既存）を使用し、見出し・段落・
     リスト・リンクの体裁を一括で継承する。
   ・下記は「長文コラム向けの可読性調整」と「コラム専用パーツ」のみ。
   ※色は :root のトークンのみ使用（独自色は足さない）
   ════════════════════════════════════════════════ */
/* 長文コラムは本文をやや濃く（短文のプライバシーより可読性重視） */
.prose-article p,
.prose-article li{color:var(--ink-soft);}
.prose-article strong{color:var(--ink);font-weight:700;}
.prose-article h3{margin-top:34px;}
.prose-article hr{border:none;border-top:1px solid var(--border);margin:42px 0;}

/* 冒頭「この記事のまとめ」ボックス */
.col-summary{background:var(--white);border:1px solid var(--border);border-left:3px solid var(--gold);padding:26px 30px;margin:0 0 38px;}
.col-summary-ttl{font-family:'Noto Serif JP',serif;font-size:14px;font-weight:700;color:var(--ink);letter-spacing:.04em;margin:0 0 14px;display:flex;align-items:center;gap:10px;}
.col-summary-ttl::before{content:'';display:block;width:18px;height:1px;background:var(--gold);}
.col-summary ul{margin:0;padding-left:1.3em;}
.col-summary li{font-size:13px;color:var(--ink-soft);line-height:1.95;margin-bottom:9px;}
.col-summary li:last-child{margin-bottom:0;}

/* 記事内・末尾の相談CTAボックス（ボタンは既存の .btn-red を使用） */
.col-cta{background:var(--warm);border:1px solid var(--border);padding:34px 34px 36px;margin:44px 0 26px;}
.col-cta-ttl{font-family:'Noto Serif JP',serif;font-size:clamp(18px,2vw,22px);font-weight:900;color:var(--ink);line-height:1.5;margin:0 0 14px;}
.col-cta p{font-size:13.5px;color:var(--ink-soft);line-height:2.05;margin:0 0 20px;}
.col-cta p:last-of-type{margin-bottom:24px;}
/* .prose a（金・下線）に勝たせて、ボタン文字を白・下線なしに固定 */
.prose .btn-red,.prose .btn-outline,.prose .btn-light{text-decoration:none;}
.prose .btn-red{color:#fff;}
.prose .btn-red:hover{color:#fff;}
.prose .btn-outline{color:var(--ink);}
.prose .btn-light{color:#fff;}

/* 末尾の免責注記 */
.col-note{font-size:12px;color:var(--muted);line-height:1.9;border-top:1px solid var(--border);padding-top:18px;margin-top:30px;}

@media(max-width:560px){
  .col-summary{padding:22px 20px;}
  .col-cta{padding:26px 22px 28px;}
}
