/* ==========================================================
   うめじまにしあらい不動産  共通スタイル
   配色：白ベース／墨 #1A1A1A／柿色 #E8683A／深緑 #2E5E4E／淡いグリーン #EEF4F1
   書体：見出し Zen Maru Gothic（ロゴの太丸と調和）／本文 Noto Sans JP
   ========================================================== */

:root{
  --ink:#1a1a1a;
  --ink-soft:#4a4a45;
  --paper:#ffffff;
  --kaki:#e8683a;
  --kaki-deep:#cf5527;
  --midori:#2e5e4e;
  --midori-deep:#234a3d;
  --kinari:#eef4f1;
  --kinari-line:#d9e5df;
  --beige:#f6faf8;
  --radius:14px;
  --maxw:1080px;
  --font-display:"Zen Maru Gothic","Noto Sans JP",sans-serif;
  --font-body:"Noto Sans JP",sans-serif;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--paper);
  line-height:1.9;
  font-size:16px;
  letter-spacing:.02em;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;height:auto;display:block}
a{color:inherit}
ul{list-style:none}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 22px}

/* ---------- 見出し・共通パーツ ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:var(--font-display);font-weight:700;font-size:.82rem;
  color:var(--kaki-deep);
  background:#fff;
  border:1.5px solid var(--kaki);
  border-radius:999px;
  padding:.18em 1em .22em;
  letter-spacing:.14em;
  margin-bottom:18px;
}
.section-title{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.5rem,3.4vw,2.1rem);
  line-height:1.5;
  letter-spacing:.03em;
  margin-bottom:14px;
}
.section-lead{color:var(--ink-soft);max-width:640px;margin-bottom:8px}
.section{padding:88px 0}
.section--kinari{background:var(--kinari)}
.section--beige{background:var(--beige)}

.btn{
  display:inline-block;
  font-family:var(--font-display);font-weight:700;
  text-decoration:none;text-align:center;
  border-radius:999px;
  padding:.9em 2.2em;
  font-size:1rem;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn--fill{background:var(--kaki);color:#fff;box-shadow:0 4px 14px rgba(232,104,58,.35)}
.btn--fill:hover{background:var(--kaki-deep)}
.btn--line{border:2px solid var(--ink);color:var(--ink);background:#fff}
.btn--white{background:#fff;color:var(--midori-deep)}
.btn--midori{background:var(--midori);color:#fff}
.btn:focus-visible{outline:3px solid var(--kaki);outline-offset:3px}
a:focus-visible{outline:3px solid var(--kaki);outline-offset:2px}

/* ---------- ヘッダー ---------- */
.header{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--kinari-line);
}
.header__inner{
  max-width:var(--maxw);margin:0 auto;
  display:flex;align-items:center;gap:20px;
  padding:12px 22px;
}
.header__logo{flex-shrink:1;min-width:0}
.header__logo img{height:26px;width:auto}
.nav{margin-left:auto;display:flex;align-items:center;gap:26px}
.nav a{
  text-decoration:none;font-size:.92rem;font-weight:500;
  padding:6px 0;border-bottom:2px solid transparent;
}
.nav a:hover{border-bottom-color:var(--kaki)}
.header__tel{
  font-family:var(--font-display);font-weight:700;font-size:.95rem;
  text-decoration:none;white-space:nowrap;
}
.header__tel small{display:block;font-size:.62rem;font-weight:400;color:var(--ink-soft);line-height:1.2;text-align:right}
.header .btn{padding:.55em 1.4em;font-size:.9rem}

.menu-toggle{
  display:none;
  margin-left:auto;
  background:none;border:none;cursor:pointer;
  width:44px;height:44px;position:relative;
}
.menu-toggle span{
  position:absolute;left:10px;right:10px;height:2.5px;border-radius:2px;
  background:var(--ink);transition:transform .2s ease,opacity .2s ease;
}
.menu-toggle span:nth-child(1){top:14px}
.menu-toggle span:nth-child(2){top:21px}
.menu-toggle span:nth-child(3){top:28px}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- ヒーロー ---------- */
.hero{
  background:
    radial-gradient(1100px 500px at 85% -10%, #ffffff 0%, transparent 60%),
    var(--kinari);
  border-bottom:1px solid var(--kinari-line);
  overflow:hidden;
}
.hero__inner{
  max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:1.15fr .85fr;gap:48px;
  align-items:center;
  padding:72px 22px 84px;
}
.hero__copy h1{
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(1.7rem,4.2vw,2.7rem);
  line-height:1.55;
  letter-spacing:.02em;
  margin-bottom:22px;
}
.hero__copy h1 .verbs{color:var(--kaki-deep)}
.hero__lead{color:var(--ink-soft);margin-bottom:30px;max-width:34em}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px}
.hero__note{margin-top:18px;font-size:.82rem;color:var(--ink-soft)}
.hero__photo{position:relative}
.hero__photo img{
  border-radius:24px 24px 24px 90px;
  aspect-ratio:4/5;object-fit:cover;width:100%;
  box-shadow:0 18px 40px rgba(46,94,78,.16);
}
.hero__badge{
  position:absolute;left:-14px;bottom:22px;
  background:#fff;border:1.5px solid var(--kinari-line);
  border-radius:12px;padding:10px 16px;
  font-family:var(--font-display);font-weight:700;font-size:.85rem;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}
.hero__badge b{color:var(--kaki-deep)}

/* ---------- 強み ---------- */
.strengths{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:40px}
.strength{
  background:#fff;border:1px solid var(--kinari-line);border-radius:var(--radius);
  padding:30px 26px 30px;
  position:relative;
}
.strength__photo{border-radius:50%;width:96px;height:96px;object-fit:cover;margin-bottom:18px;border:3px solid var(--kinari)}
.strength h3{
  font-family:var(--font-display);font-weight:700;
  font-size:1.08rem;line-height:1.65;margin-bottom:12px;
}
.strength p{font-size:.93rem;color:var(--ink-soft)}

/* ---------- サービス（3+1） ---------- */
.services{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:40px}
.service{
  background:#fff;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--kinari-line);
  display:flex;flex-direction:column;
}
.service img{aspect-ratio:16/10;object-fit:cover;width:100%}
.service__body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1}
.service h3{font-family:var(--font-display);font-weight:700;font-size:1.12rem;margin-bottom:10px}
.service p{font-size:.92rem;color:var(--ink-soft);flex:1}
.service .btn{margin-top:18px;align-self:flex-start;padding:.6em 1.5em;font-size:.9rem}
.service--wide{
  grid-column:1 / -1;
  flex-direction:row;align-items:stretch;
  background:linear-gradient(120deg,#fff 0%,#f2f8f5 100%);
  border:1.5px dashed var(--kaki);
}
.service--wide img{width:34%;aspect-ratio:auto;object-fit:cover}
.service--wide .service__body{justify-content:center}
.service__note{font-size:.82rem;color:var(--ink-soft);margin-top:14px;padding-top:12px;border-top:1px dotted var(--kinari-line)}

/* ---------- 帯バナー（相続・空き家） ---------- */
.banner{
  border-radius:var(--radius);
  background:#fff;
  border:1px solid var(--kinari-line);
  display:grid;grid-template-columns:.9fr 1.4fr;gap:0;overflow:hidden;
}
.banner img{width:100%;height:100%;object-fit:cover}
.banner__body{padding:38px 40px}
.banner__body h3{font-family:var(--font-display);font-weight:900;font-size:1.4rem;line-height:1.6;margin-bottom:14px}
.banner__body p{font-size:.94rem;color:var(--ink-soft);margin-bottom:16px}
.banner__checks{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.86rem;font-weight:700;color:var(--midori);margin-bottom:20px}

/* ---------- ストーリー ---------- */
.story{max-width:720px;margin:36px auto 0}
.story p{margin-bottom:1.4em;color:var(--ink-soft)}
.story p strong{color:var(--ink)}
.story blockquote{
  font-family:var(--font-display);font-weight:700;
  border-left:4px solid var(--kaki);
  padding:6px 0 6px 22px;margin:2em 0;
  font-size:1.06rem;line-height:2;
}

/* ---------- 流れ（点線の道） ---------- */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:46px;position:relative}
.flow::before{
  content:"";position:absolute;top:34px;left:12%;right:12%;
  border-top:3px dotted var(--kaki);
  z-index:0;
}
.flow__step{position:relative;z-index:1;text-align:center;padding:0 6px}
.flow__num{
  width:68px;height:68px;margin:0 auto 16px;
  border-radius:50%;background:#fff;border:3px solid var(--kaki);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:900;font-size:1.3rem;color:var(--kaki-deep);
}
.flow__step h3{font-family:var(--font-display);font-weight:700;font-size:1.02rem;margin-bottom:8px}
.flow__step p{font-size:.87rem;color:var(--ink-soft);text-align:left}

/* ---------- 代表 ---------- */
.daihyo{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center;margin-top:36px}
.daihyo__photo img{
  border-radius:90px 24px 24px 24px;
  aspect-ratio:4/5;object-fit:cover;width:100%;
  box-shadow:0 18px 40px rgba(232,104,58,.14);
}
.daihyo__body h3{font-family:var(--font-display);font-weight:900;font-size:1.35rem;line-height:1.7;margin-bottom:16px}
.daihyo__body p{color:var(--ink-soft);margin-bottom:1.2em}
.daihyo__shikaku{
  font-size:.85rem;font-weight:700;color:var(--midori);
  padding:12px 0;border-top:1px dotted var(--kinari-line);margin-top:6px;
}

/* ---------- FAQ ---------- */
.faq{max-width:760px;margin:36px auto 0}
.faq details{
  background:#fff;border:1px solid var(--kinari-line);border-radius:var(--radius);
  margin-bottom:14px;overflow:hidden;
}
.faq summary{
  cursor:pointer;list-style:none;
  padding:18px 52px 18px 22px;
  font-family:var(--font-display);font-weight:700;font-size:.98rem;
  position:relative;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q.";color:var(--kaki-deep);margin-right:.6em;font-weight:900}
.faq summary::after{
  content:"＋";position:absolute;right:20px;top:50%;transform:translateY(-50%);
  color:var(--kaki);font-weight:900;font-size:1.1rem;transition:transform .2s ease;
}
.faq details[open] summary::after{content:"−"}
.faq .faq__a{padding:0 22px 20px;font-size:.92rem;color:var(--ink-soft)}
.faq .faq__a::before{content:"A.";color:var(--midori);font-weight:900;margin-right:.6em}

/* ---------- お知らせ・マリリン通信 ---------- */
.news-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:36px}
.news-box{background:#fff;border:1px solid var(--kinari-line);border-radius:var(--radius);padding:26px}
.news-box h3{font-family:var(--font-display);font-weight:700;font-size:1.05rem;margin-bottom:14px;display:flex;align-items:center;gap:.5em}
.news-box h3 .tag{font-size:.7rem;background:var(--kinari);border-radius:999px;padding:.2em .9em;color:var(--ink-soft);font-weight:500}
.news-list li{border-bottom:1px dotted var(--kinari-line)}
.news-list a{
  display:block;text-decoration:none;padding:12px 4px;font-size:.9rem;
}
.news-list a:hover{color:var(--kaki-deep)}
.news-list time{display:block;font-size:.76rem;color:var(--ink-soft)}
.news-box .more{display:inline-block;margin-top:14px;font-size:.85rem;font-weight:700;color:var(--kaki-deep);text-decoration:none}
.news-box .more:hover{text-decoration:underline}
.news-empty{font-size:.85rem;color:var(--ink-soft);padding:10px 0}

/* ---------- クロージング ---------- */
.closing{background:var(--midori);color:#fff;text-align:center}
.closing .section-title{color:#fff}
.closing__checks{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 26px;font-weight:700;font-size:.92rem;margin:18px 0 30px}
.closing__cta{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-bottom:18px}
.closing__tel{
  font-family:var(--font-display);font-weight:900;font-size:1.7rem;
  color:#fff;text-decoration:none;letter-spacing:.04em;
}
.closing__tel small{display:block;font-size:.78rem;font-weight:400;letter-spacing:.06em;opacity:.9}
.closing__note{font-size:.8rem;opacity:.85;margin-top:14px}

/* ---------- フッター ---------- */
.footer{background:var(--midori-deep);color:#e9f0ec;font-size:.86rem}
.footer__inner{max-width:var(--maxw);margin:0 auto;padding:52px 22px 100px}
.footer__logo img{height:22px;width:auto;margin-bottom:14px}
.footer__copy{opacity:.9;margin-bottom:26px}
.footer__nav{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:26px}
.footer__nav a{color:#e9f0ec;text-decoration:none}
.footer__nav a:hover{text-decoration:underline}
.footer__meta{opacity:.75;line-height:2}
.footer__meta a{color:#e9f0ec}
.footer small{display:block;margin-top:22px;opacity:.6}

/* ---------- スマホ固定バー ---------- */
.fixed-bar{
  position:fixed;left:0;right:0;bottom:0;z-index:110;
  display:none;
  grid-template-columns:1fr 1fr;
  box-shadow:0 -4px 18px rgba(0,0,0,.14);
}
.fixed-bar a{
  display:flex;align-items:center;justify-content:center;gap:.4em;
  padding:15px 8px;text-decoration:none;
  font-family:var(--font-display);font-weight:700;font-size:.95rem;
}
.fixed-bar__tel{background:#fff;color:var(--midori-deep)}
.fixed-bar__form{background:var(--kaki);color:#fff}

/* ---------- スクロールリビール ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .btn{transition:none}
}

/* ---------- 画像プレースホルダー ---------- */
img.ph-missing{
  background:repeating-linear-gradient(45deg,#e3ece7,#e3ece7 12px,#eef4f1 12px,#eef4f1 24px);
  object-fit:contain !important;
}

/* ==========================================================
   レスポンシブ
   ========================================================== */
@media (max-width:1023px){
  .nav{display:none;position:fixed;inset:64px 0 auto 0;background:#fff;
    flex-direction:column;align-items:stretch;gap:0;
    border-bottom:1px solid var(--kinari-line);
    box-shadow:0 14px 30px rgba(0,0,0,.1);
    padding:8px 0;
  }
  .nav.is-open{display:flex}
  .nav a{padding:15px 26px;border-bottom:1px solid var(--kinari-line)}
  .nav a:last-of-type{border-bottom:none}
  .header__tel,.header .btn{display:none}
  .menu-toggle{display:block}
  .strengths{grid-template-columns:1fr 1fr}
  .service--wide{flex-direction:column}
  .service--wide img{width:100%;aspect-ratio:16/7}
  .flow{grid-template-columns:1fr 1fr;gap:34px 22px}
  .flow::before{display:none}
}

@media (max-width:599px){
  .section{padding:64px 0}
  .hero__inner{grid-template-columns:1fr;padding:44px 22px 56px;gap:34px}
  .hero__photo{max-width:340px;margin:0 auto}
  .strengths,.services,.news-grid{grid-template-columns:1fr}
  .banner{grid-template-columns:1fr}
  .banner img{aspect-ratio:16/8}
  .banner__body{padding:28px 24px}
  .daihyo{grid-template-columns:1fr;gap:28px}
  .daihyo__photo{max-width:300px;margin:0 auto}
  .flow{grid-template-columns:1fr}
  .fixed-bar{display:grid}
  body{padding-bottom:56px}
}

/* ==========================================================
   下層ページ共通＋souzoku.html 用
   ========================================================== */
.page-hero{
  background:
    radial-gradient(900px 400px at 90% -20%, #ffffff 0%, transparent 60%),
    var(--kinari);
  border-bottom:1px solid var(--kinari-line);
  padding:64px 0 56px;
}
.page-hero h1{
  font-family:var(--font-display);font-weight:900;
  font-size:clamp(1.55rem,3.8vw,2.35rem);line-height:1.6;
  margin:10px 0 16px;
}
.page-hero p{color:var(--ink-soft);max-width:38em}
.page-hero .hero__cta{margin-top:26px}
.breadcrumb{font-size:.78rem;color:var(--ink-soft)}
.breadcrumb a{color:var(--ink-soft);text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}

/* お悩みチェックリスト */
.nayami{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:36px}
.nayami li{
  background:#fff;border:1px solid var(--kinari-line);border-radius:var(--radius);
  padding:18px 20px 18px 54px;position:relative;
  font-weight:500;font-size:.96rem;line-height:1.7;
}
.nayami li::before{
  content:"✓";position:absolute;left:20px;top:16px;
  width:24px;height:24px;border-radius:6px;
  background:var(--kaki);color:#fff;font-weight:900;
  display:flex;align-items:center;justify-content:center;font-size:.85rem;
}
.nayami-close{margin-top:26px;font-family:var(--font-display);font-weight:700;font-size:1.05rem}
.nayami-close b{color:var(--kaki-deep)}

/* できること（縦の道のり） */
.dekiru{max-width:760px;margin:40px auto 0;position:relative}
.dekiru::before{
  content:"";position:absolute;left:26px;top:20px;bottom:20px;
  border-left:3px dotted var(--kaki);
}
.dekiru__item{
  position:relative;padding:0 0 34px 76px;
}
.dekiru__item:last-child{padding-bottom:0}
.dekiru__item::before{
  content:attr(data-step);
  position:absolute;left:0;top:-4px;
  width:54px;height:54px;border-radius:50%;
  background:#fff;border:3px solid var(--kaki);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:900;color:var(--kaki-deep);
}
.dekiru__item h3{font-family:var(--font-display);font-weight:700;font-size:1.06rem;margin-bottom:6px}
.dekiru__item p{font-size:.92rem;color:var(--ink-soft)}
.dekiru__item--goal::before{background:var(--midori);border-color:var(--midori);color:#fff;content:"🏠"}

/* 専門性 */
.senmon{display:grid;grid-template-columns:.9fr 1.3fr;gap:44px;align-items:center;margin-top:36px}
.senmon__photo img{
  border-radius:24px 90px 24px 24px;aspect-ratio:4/5;object-fit:cover;width:100%;
  box-shadow:0 18px 40px rgba(46,94,78,.14);
}
.senmon__body h3{font-family:var(--font-display);font-weight:900;font-size:1.3rem;line-height:1.7;margin-bottom:14px}
.senmon__body p{color:var(--ink-soft);margin-bottom:1.1em;font-size:.95rem}
.badge-row{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.badge{
  font-family:var(--font-display);font-weight:700;font-size:.82rem;
  background:#fff;border:1.5px solid var(--midori);color:var(--midori);
  border-radius:999px;padding:.3em 1.1em;
}

/* 無料相談の範囲 */
.ryokin{
  max-width:760px;margin:34px auto 0;
  background:#fff;border:1.5px solid var(--midori);border-radius:var(--radius);
  padding:26px 30px;
}
.ryokin h3{font-family:var(--font-display);font-weight:700;color:var(--midori);margin-bottom:10px;font-size:1.02rem}
.ryokin p{font-size:.9rem;color:var(--ink-soft)}

/* ご相談事例 */
.jirei{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.jirei article{
  background:#fff;border:1px solid var(--kinari-line);border-radius:var(--radius);
  padding:26px 24px;
}
.jirei .jirei__tag{
  display:inline-block;font-size:.74rem;font-weight:700;color:var(--kaki-deep);
  background:#fdf0ea;border-radius:999px;padding:.2em 1em;margin-bottom:12px;
}
.jirei h3{font-family:var(--font-display);font-weight:700;font-size:1.02rem;line-height:1.7;margin-bottom:10px}
.jirei p{font-size:.88rem;color:var(--ink-soft)}
.jirei__note{font-size:.78rem;color:var(--ink-soft);margin-top:18px}

@media (max-width:1023px){
  .jirei{grid-template-columns:1fr 1fr}
}
@media (max-width:599px){
  .nayami{grid-template-columns:1fr}
  .senmon{grid-template-columns:1fr;gap:26px}
  .senmon__photo{max-width:300px;margin:0 auto}
  .jirei{grid-template-columns:1fr}
  .dekiru::before{left:22px}
  .dekiru__item{padding-left:64px}
  .dekiru__item::before{width:46px;height:46px}
}

/* ==========================================================
   contact.html 用
   ========================================================== */
.consult-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:36px;max-width:820px}
.consult-card{
  background:#fff;border:1px solid var(--kinari-line);border-radius:var(--radius);
  padding:28px 24px;text-decoration:none;display:block;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.consult-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(46,94,78,.12);border-color:var(--kaki)}
.consult-card .icon{font-size:1.9rem;display:block;margin-bottom:10px}
.consult-card h3{font-family:var(--font-display);font-weight:700;font-size:1.05rem;line-height:1.6;margin-bottom:8px}
.consult-card p{font-size:.88rem;color:var(--ink-soft)}
.consult-card .go{
  display:inline-block;margin-top:14px;font-family:var(--font-display);font-weight:700;
  font-size:.86rem;color:var(--kaki-deep);
}

/* フォームエリア */
.form-area{max-width:820px;margin:36px auto 0}
.form-embed iframe{width:100%;border:none;border-radius:var(--radius);background:#fff;min-height:1100px}
.form-preparing{
  background:#fff;border:1.5px dashed var(--kaki);border-radius:var(--radius);
  padding:36px 30px;text-align:center;
}
.form-preparing h3{font-family:var(--font-display);font-weight:700;font-size:1.1rem;margin-bottom:12px}
.form-preparing p{font-size:.92rem;color:var(--ink-soft);margin-bottom:20px}
.form-hitokoto{
  text-align:center;font-family:var(--font-display);font-weight:700;
  font-size:1.02rem;margin:26px 0 0;color:var(--midori);
}

/* 相談方法4つ */
.houhou{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}
.houhou div{
  background:#fff;border:1px solid var(--kinari-line);border-radius:var(--radius);
  padding:22px 18px;text-align:center;
}
.houhou .icon{font-size:1.7rem;display:block;margin-bottom:8px}
.houhou h3{font-family:var(--font-display);font-weight:700;font-size:.96rem;margin-bottom:6px}
.houhou p{font-size:.82rem;color:var(--ink-soft);text-align:left}

@media (max-width:1023px){
  .houhou{grid-template-columns:1fr 1fr}
}
@media (max-width:599px){
  .consult-cards{grid-template-columns:1fr}
  .houhou{grid-template-columns:1fr 1fr}
}

/* ==========================================================
   service.html 用
   ========================================================== */
.svc{display:grid;grid-template-columns:1fr 1.2fr;gap:44px;align-items:center;padding:64px 0}
.svc+.svc{border-top:1px dotted var(--kinari-line)}
.svc--rev .svc__photo{order:2}
.svc__photo img{
  border-radius:24px;aspect-ratio:4/3;object-fit:cover;width:100%;
  box-shadow:0 14px 34px rgba(46,94,78,.12);
}
.svc__body .svc__icon{font-size:1.8rem;display:block;margin-bottom:8px}
.svc__body h3{font-family:var(--font-display);font-weight:900;font-size:1.35rem;line-height:1.6;margin-bottom:12px}
.svc__body p{color:var(--ink-soft);font-size:.95rem;margin-bottom:1em}
.svc__chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px}
.svc__chips span{
  font-size:.8rem;font-weight:700;
  background:var(--kinari);border-radius:999px;padding:.3em 1em;color:var(--ink-soft);
}
.svc__chips-title{font-family:var(--font-display);font-weight:700;font-size:.86rem;color:var(--midori);display:block;margin-bottom:6px}

/* エリア帯 */
.areas{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.area-card{
  background:#fff;border:1px solid var(--kinari-line);border-radius:var(--radius);
  overflow:hidden;
}
.area-card img{aspect-ratio:16/10;object-fit:cover;width:100%}
.area-card__body{padding:20px 22px 24px}
.area-card h3{
  font-family:var(--font-display);font-weight:900;font-size:1.15rem;margin-bottom:8px;
  display:flex;align-items:baseline;gap:.5em;
}
.area-card h3 small{font-size:.72rem;font-weight:700;color:var(--kaki-deep);letter-spacing:.1em}
.area-card p{font-size:.88rem;color:var(--ink-soft)}

@media (max-width:1023px){
  .areas{grid-template-columns:1fr}
}
@media (max-width:599px){
  .svc{grid-template-columns:1fr;gap:24px;padding:48px 0}
  .svc--rev .svc__photo{order:0}
}

/* ==========================================================
   about.html 用
   ========================================================== */
/* 理念 */
.rinen{max-width:760px;margin:36px auto 0}
.rinen__item{
  background:#fff;border:1px solid var(--kinari-line);border-radius:var(--radius);
  padding:24px 28px;margin-bottom:16px;
  display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:baseline;
}
.rinen__item .num{
  font-family:var(--font-display);font-weight:900;font-size:1.5rem;color:var(--kaki-deep);
}
.rinen__item h3{font-family:var(--font-display);font-weight:700;font-size:1.08rem;margin-bottom:6px}
.rinen__item p{font-size:.92rem;color:var(--ink-soft)}

/* 代表あいさつ */
.aisatsu{display:grid;grid-template-columns:.75fr 1.25fr;gap:48px;align-items:start;margin-top:36px}
.aisatsu__photo{position:sticky;top:96px}
.aisatsu__photo img{
  border-radius:90px 24px 24px 24px;aspect-ratio:4/5;object-fit:cover;width:100%;
  box-shadow:0 18px 40px rgba(232,104,58,.14);
}
.aisatsu__body h3{font-family:var(--font-display);font-weight:900;font-size:1.35rem;line-height:1.75;margin-bottom:18px}
.aisatsu__body p{color:var(--ink-soft);margin-bottom:1.3em;font-size:.96rem}
.aisatsu__sign{
  border-top:1px dotted var(--kinari-line);padding-top:18px;margin-top:6px;
}
.aisatsu__sign .name{font-family:var(--font-display);font-weight:900;font-size:1.1rem;color:var(--ink)}
.aisatsu__sign .shikaku{font-size:.84rem;color:var(--midori);font-weight:700;margin-top:6px}

/* 個性Q&A */
.qa-intro{max-width:640px;margin-bottom:8px;color:var(--ink-soft)}
.qa-snaps{display:flex;gap:18px;margin:30px 0 36px;justify-content:center}
.qa-snaps img{
  width:200px;aspect-ratio:1/1;object-fit:cover;border-radius:18px;
  border:5px solid #fff;box-shadow:0 10px 26px rgba(0,0,0,.12);
}
.qa-snaps img:nth-child(1){transform:rotate(-3deg)}
.qa-snaps img:nth-child(2){transform:rotate(2deg) translateY(10px)}
.qa-snaps img:nth-child(3){transform:rotate(-1.5deg)}
.qa-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:920px;margin:0 auto}
.qa-item{
  background:#fff;border:1px solid var(--kinari-line);border-radius:var(--radius);
  padding:22px 24px;
}
.qa-item h3{
  font-family:var(--font-display);font-weight:700;font-size:.98rem;margin-bottom:8px;
}
.qa-item h3::before{content:"Q.";color:var(--kaki-deep);font-weight:900;margin-right:.5em}
.qa-item p{font-size:.9rem;color:var(--ink-soft)}
.qa-item p::before{content:"A.";color:var(--midori);font-weight:900;margin-right:.5em}
.qa-more{text-align:center;margin-top:32px}

/* 会社概要テーブル */
.company-table{
  width:100%;max-width:820px;margin:36px auto 0;
  border-collapse:collapse;background:#fff;
  border:1px solid var(--kinari-line);border-radius:var(--radius);overflow:hidden;
  font-size:.93rem;
}
.company-table th,.company-table td{
  padding:16px 22px;border-bottom:1px solid var(--kinari-line);
  text-align:left;vertical-align:top;
}
.company-table tr:last-child th,.company-table tr:last-child td{border-bottom:none}
.company-table th{
  width:32%;background:var(--kinari);
  font-family:var(--font-display);font-weight:700;color:var(--midori-deep);
}

/* 運営会社カード */
.unei{
  max-width:820px;margin:36px auto 0;
  background:#fff;border:1.5px solid var(--midori);border-radius:var(--radius);
  padding:30px 32px;
}
.unei h3{font-family:var(--font-display);font-weight:900;font-size:1.1rem;color:var(--midori-deep);margin-bottom:10px}
.unei p{font-size:.92rem;color:var(--ink-soft);margin-bottom:18px}

/* アクセス */
.access{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:start;margin-top:36px}
.access__map iframe{width:100%;height:340px;border:none;border-radius:var(--radius)}
.access__info h3{font-family:var(--font-display);font-weight:700;font-size:1.02rem;margin-bottom:10px}
.access__info p{font-size:.92rem;color:var(--ink-soft);margin-bottom:1em}

@media (max-width:1023px){
  .qa-snaps img{width:160px}
}
@media (max-width:599px){
  .aisatsu{grid-template-columns:1fr;gap:26px}
  .aisatsu__photo{position:static;max-width:300px;margin:0 auto}
  .qa-grid{grid-template-columns:1fr}
  .qa-snaps{flex-wrap:wrap}
  .qa-snaps img{width:44%}
  .access{grid-template-columns:1fr}
  .rinen__item{grid-template-columns:1fr;gap:8px}
  .company-table th{width:38%;padding:13px 14px}
  .company-table td{padding:13px 14px}
}

/* ==========================================================
   letter.html 用（現在未使用・将来の読みものページ用に温存）
   ========================================================== */
.letter-hero{
  background:
    radial-gradient(900px 400px at 10% -20%, #ffffff 0%, transparent 60%),
    var(--kinari);
  border-bottom:1px solid var(--kinari-line);
  padding:64px 0 56px;
}
.letter-hero__inner{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}
.letter-hero h1{
  font-family:var(--font-display);font-weight:900;
  font-size:clamp(1.7rem,4vw,2.5rem);margin:10px 0 16px;
}
.letter-hero p{color:var(--ink-soft);max-width:36em}
.letter-hero__photo img{
  border-radius:14px;transform:rotate(2.5deg);
  border:6px solid #fff;box-shadow:0 14px 34px rgba(0,0,0,.14);
  aspect-ratio:3/4;object-fit:cover;width:82%;margin:0 auto;
}

/* 最新号 */
.latest-card{
  display:grid;grid-template-columns:.8fr 1.2fr;gap:0;
  background:#fff;border:1px solid var(--kinari-line);border-radius:var(--radius);
  overflow:hidden;margin-top:36px;
}
.latest-card__thumb{
  background:repeating-linear-gradient(-45deg,#eef4f1,#eef4f1 14px,#f6faf8 14px,#f6faf8 28px);
  min-height:240px;display:flex;align-items:center;justify-content:center;
}
.latest-card__thumb img{width:100%;height:100%;object-fit:cover}
.latest-card__thumb .noimg{font-size:3rem}
.latest-card__body{padding:34px 38px}
.latest-card__body .badge-new{
  display:inline-block;font-family:var(--font-display);font-weight:700;font-size:.76rem;
  background:var(--kaki);color:#fff;border-radius:999px;padding:.25em 1.1em;margin-bottom:12px;
}
.latest-card__body time{display:block;font-size:.8rem;color:var(--ink-soft);margin-bottom:6px}
.latest-card__body h3{
  font-family:var(--font-display);font-weight:900;font-size:1.3rem;line-height:1.6;margin-bottom:12px;
}
.latest-card__body p{font-size:.92rem;color:var(--ink-soft);margin-bottom:20px}

/* バックナンバー */
.backnumber{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.bn-card{
  background:#fff;border:1px solid var(--kinari-line);border-radius:var(--radius);
  overflow:hidden;text-decoration:none;display:flex;flex-direction:column;
  transition:transform .15s ease, box-shadow .15s ease;
}
.bn-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(46,94,78,.12)}
.bn-card .thumb{
  aspect-ratio:16/9;
  background:repeating-linear-gradient(-45deg,#eef4f1,#eef4f1 14px,#f6faf8 14px,#f6faf8 28px);
  display:flex;align-items:center;justify-content:center;font-size:2rem;
}
.bn-card .thumb img{width:100%;height:100%;object-fit:cover}
.bn-card .body{padding:18px 20px 22px}
.bn-card time{font-size:.76rem;color:var(--ink-soft)}
.bn-card h3{font-family:var(--font-display);font-weight:700;font-size:.98rem;line-height:1.65;margin-top:4px}
.bn-loading{color:var(--ink-soft);font-size:.9rem;padding:20px 0}

/* 紙版案内 */
.paper-info{
  max-width:760px;margin:36px auto 0;
  background:#fff;border:1.5px dashed var(--kaki);border-radius:var(--radius);
  padding:30px 34px;text-align:center;
}
.paper-info h3{font-family:var(--font-display);font-weight:700;font-size:1.05rem;margin-bottom:10px}
.paper-info p{font-size:.92rem;color:var(--ink-soft)}

/* ゆるいクロージング */
.soft-closing{text-align:center;padding:72px 0}
.soft-closing p{
  font-family:var(--font-display);font-weight:700;font-size:1.15rem;
  color:var(--midori-deep);margin-bottom:24px;line-height:2;
}

@media (max-width:1023px){
  .backnumber{grid-template-columns:1fr 1fr}
}
@media (max-width:599px){
  .letter-hero__inner{grid-template-columns:1fr}
  .letter-hero__photo{max-width:240px;margin:0 auto}
  .latest-card{grid-template-columns:1fr}
  .latest-card__body{padding:26px 24px}
  .backnumber{grid-template-columns:1fr}
}
