/*
Theme Name: TT5 Child
Template: twentytwentyfive
Version: 1.7-clean (deduplicated & mobile-2col months)
*/

/* =============== トークン =============== */
:root{
  --km-green:#004a1c;
  --km-green-hover:#016d38;
  --km-green-2:#228b22;
  --km-accent:#e85c0d;
  --km-bg-outer:#cfdde1;
  --km-bg:#f4faf6;
  --km-bg-section:#e6f4ec;
  --km-text:#222;
  --km-radius-lg:16px;
  --km-gap:24px;
}

/* ==================================================
   サイドバー共通UI
================================================== */
.km-sidebar{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  outline:0;
}
.km-sidebar,
.km-sidebar *,
.km-sidebar *::before,
.km-sidebar *::after{
  box-sizing:border-box;
}
.km-sidebar .km-side-intro,
.km-sidebar .km-side-record,
.km-sidebar .km-side-month-reviews,
.km-sidebar .km-side-special-calendar,
.km-sidebar .km-side-ranking{
  width:100%;
  margin:0;
  padding:15px;
  border-radius:15px;
  box-shadow:0 2px 8px rgba(10,61,34,.05);
}
.km-sidebar .km-side-intro__title,
.km-sidebar .km-side-record__title,
.km-sidebar .km-side-month-reviews__title,
.km-sidebar .km-side-special-calendar__title,
.km-sidebar .km-side-ranking__title{
  margin:0 0 7px;
  font-size:15px;
  font-weight:800;
  line-height:1.4;
}
.km-sidebar .km-side-intro__text,
.km-sidebar .km-side-record__text,
.km-sidebar .km-side-month-reviews__text,
.km-sidebar .km-side-special-calendar__text{
  margin:0 0 12px;
  font-size:13px;
  line-height:1.65;
}
.km-sidebar .km-side-intro__btn,
.km-sidebar .km-side-record__btn,
.km-sidebar .km-side-month-reviews__btn,
.km-sidebar .km-side-special-calendar__btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:42px;
  padding:10px 12px;
  border-radius:12px;
  font-size:14px;
  font-weight:800;
  line-height:1.25;
  text-align:center;
  text-decoration:none !important;
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.km-sidebar .km-side-intro{
  border:1px solid #f0d9b8;
  border-left:4px solid #ef7416;
  background:#fff8e9;
  color:#16482d;
  box-shadow:0 2px 8px rgba(122,76,17,.06);
}
.km-sidebar .km-side-intro__title,
.km-sidebar .km-side-intro__text{
  color:#16482d;
}
.km-sidebar .km-side-intro__btn{
  border:1px solid #e7680b;
  background:#fff;
  color:#c95608 !important;
}
.km-sidebar .km-side-intro__btn:hover,
.km-sidebar .km-side-intro__btn:focus{
  border-color:#cf5700;
  background:#fff3e8;
  color:#a94705 !important;
}
.km-sidebar .km-side-record{
  border:1px solid #0b5a2a;
  background:#0b5a2a;
  color:#fff;
}
.km-sidebar .km-side-record__title,
.km-sidebar .km-side-record__text{
  color:#fff;
}
.km-sidebar .km-side-record__text{
  color:rgba(255,255,255,.9);
}
.km-sidebar .km-side-record__btn{
  border:1px solid #fff;
  background:#fff;
  color:#0b5a2a !important;
}
.km-sidebar .km-side-record__btn:hover,
.km-sidebar .km-side-record__btn:focus{
  border-color:#e1eee5;
  background:#eef6f0;
  color:#0b5a2a !important;
}
.km-sidebar .km-side-month-reviews,
.km-sidebar .km-side-special-calendar{
  border:1px solid #cfe3d5;
  background:#fff;
  color:#16482d;
}
.km-sidebar .km-side-month-reviews__title,
.km-sidebar .km-side-month-reviews__text,
.km-sidebar .km-side-special-calendar__title,
.km-sidebar .km-side-special-calendar__text{
  color:#16482d;
}
.km-sidebar .km-side-month-reviews__btn{
  border:1px solid #176b3b;
  background:#fff;
  color:#176b3b !important;
}
.km-sidebar .km-side-month-reviews__btn:hover,
.km-sidebar .km-side-month-reviews__btn:focus{
  border-color:#0d562e;
  background:#edf7f0;
  color:#0d562e !important;
}
.km-sidebar .km-side-special-calendar__btn{
  border:1px solid #328458;
  background:#edf7f0;
  color:#145d35 !important;
}
.km-sidebar .km-side-special-calendar__btn:hover,
.km-sidebar .km-side-special-calendar__btn:focus{
  border-color:#176b3b;
  background:#dff0e4;
  color:#0d512c !important;
}
.km-sidebar .km-side-ranking{
  border:1px solid #d7e2da;
  background:#fff;
  color:#24372b;
}
.km-sidebar .km-side-ranking__title{
  margin-bottom:10px;
  color:#244533;
}
.km-sidebar .km-side-ranking .km-posts-mini{
  display:grid;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}
.km-sidebar .km-side-ranking .km-posts-mini__item{
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-width:0;
  margin:0;
}
.km-sidebar .km-side-ranking .km-posts-mini__thumb{
  position:relative;
  display:grid;
  place-items:center;
  flex:0 0 58px;
  width:58px;
  height:58px;
  overflow:hidden;
  border:1px solid #dbe6de;
  border-radius:10px;
  background:#eef6f0;
}
.km-sidebar .km-side-ranking .km-posts-mini__thumb:not(:has(img))::before{
  content:"記事";
  color:#176b3b;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
}
.km-sidebar .km-side-ranking .km-posts-mini__thumb img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.km-sidebar .km-side-ranking .km-posts-mini__body{
  flex:1 1 auto;
  min-width:0;
}
.km-sidebar .km-side-ranking .km-posts-mini__title{
  display:-webkit-box;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  color:#2e4637 !important;
  font-size:12.5px;
  font-weight:800;
  line-height:1.4;
  line-break:strict;
  overflow-wrap:anywhere;
  text-decoration:none !important;
  text-wrap:pretty;
  word-break:normal;
}
.km-sidebar .km-side-ranking .km-posts-mini__title:hover,
.km-sidebar .km-side-ranking .km-posts-mini__title:focus{
  color:#0b6b39 !important;
  text-decoration:underline !important;
}
.km-sidebar .km-side-ranking .km-posts-mini__meta{
  margin-top:4px;
  color:#748078;
  font-size:12px;
}
.km-sidebar .km-side-ranking > p{
  margin:0;
  color:#66756c !important;
  font-size:13px;
  line-height:1.6;
}
.km-sidebar a:focus-visible{
  outline:3px solid #f2a35f;
  outline-offset:3px;
}

/* =============== リセット / ベース =============== */
*,*::before,*::after{box-sizing:border-box}
img,svg,video{max-width:100%;height:auto;display:block}
figure{margin:0}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
body{background:var(--km-bg-outer)!important;color:var(--km-text)}
a{color:var(--km-green);text-decoration-thickness:.08em}
a:hover,a:focus{color:var(--km-green-hover)}

/* =============== 汎用 =============== */
.km-container{max-width:1160px;margin:0 auto;padding:0 16px}
.km-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:700;padding:.7em 1.2em;border-radius:9999px;background:var(--km-green);color:#fff;transition:filter .15s ease}
.km-btn:hover{background:var(--km-green-hover);color:#fff}

/* =============== ヘッダー / フッター =============== */
.km-header{padding:10px 16px}
.km-header-inner{max-width:1160px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}
.km-header:not(.km-header--hero-nav),.km-footer{background:var(--km-green);color:#fff}
.km-header.km-header--hero-nav{background:transparent!important;color:#fff;box-shadow:none;position:relative;z-index:10}
.km-brand{display:flex;align-items:center;gap:12px}
.km-logo img,.km-brand__logo img{display:block;max-height:48px;height:48px;width:auto}
.km-tagline{margin:0;font-size:.95rem;color:#fff;opacity:.9}

/* ナビ */
.km-actions,.km-footer-nav{display:flex;align-items:center;gap:24px}
.km-actions a,.km-dd-btn{position:relative;color:#fff;text-decoration:none;padding:6px 0}
.km-actions a::before,.km-dd-btn::before{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:rgba(255,255,255,.35)}
.km-actions a::after,.km-dd-btn::after{content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;background:#fff;transition:width .25s ease}
.km-actions a:hover::after,.km-dd-btn:hover::after,.km-dd[open] .km-dd-btn::after{width:100%}
.km-actions a:focus-visible,.km-dd-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* 探す：ドロップダウン */
.km-dd{position:relative}
.km-dd-btn{background:none;border:none;cursor:pointer;color:#fff}
.km-dd-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;padding:8px;margin:0;list-style:none;background:var(--km-accent);color:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.15);z-index:1000;font-size:.9rem}
.km-dd-menu li a{display:block;padding:8px 12px;border-radius:8px;color:#fff;text-decoration:none;font-size:.9rem}
.km-dd-menu li a:hover{background:rgba(255,255,255,.15)}

/* =============== 2カラム骨組み =============== */
.km-layout{display:grid;grid-template-columns:1fr 320px;gap:var(--km-gap);align-items:start}
.km-main,.km-sidebar{min-width:0}
.km-layout.wp-block-group{padding-inline:16px}
@media (max-width:768px){
  .km-layout{grid-template-columns:1fr}
  .km-sidebar{margin-top:24px;position:static}
  .km-actions{gap:16px}
  .km-footer-nav{flex-wrap:wrap;gap:16px}
}

/* =============== ユーティリティ =============== */
.km-section{background:var(--km-bg-section);padding:24px;border-radius:var(--km-radius-lg)}

/* =============== メイン / サイド =============== */
.km-main{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:16px;box-shadow:0 10px 24px rgba(0,0,0,.08);padding:20px;margin-block:8px}
.km-main > * + *{margin-top:16px}
.km-sidebar{position:sticky;top:88px;align-self:start;height:max-content}
body.admin-bar .km-sidebar{top:120px}

/* PRカード */
.km-sidebar .km-ad-box{background:#fff;border:0;border-radius:12px;padding:10px;box-shadow:0 6px 16px rgba(0,0,0,.06);margin:0 0 12px}
.km-sidebar .km-ad-box a{position:relative;display:block}
.km-sidebar .km-ad-box a::after{content:"PR";position:absolute;top:12px;left:12px;background:var(--km-accent);color:#fff;font-size:11px;font-weight:700;padding:2px 6px;border-radius:999px}

/* 「人気ページ」 */
.km-sidebar h4{color:#fff;margin:6px 0 8px;font-size:.98rem}
.km-sidebar h4 + ul{list-style:none;margin:6px 0 12px;padding:10px 12px;background:var(--km-accent);color:#fff;border-radius:14px;display:grid;gap:6px}
.km-sidebar h4 + ul li{margin:0}
.km-sidebar h4 + ul li a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:2px;font-size:.86rem;line-height:1.42}
.km-sidebar h4 + ul li:last-child a{border-bottom-color:transparent;padding-bottom:0}
.km-sidebar h4 + ul li a::before{content:"";width:5px;height:5px;border-radius:50%;background:#fff;display:inline-block;margin-right:8px;transform:translateY(1px)}

/* =============== フッター =============== */
.km-footer__links{list-style:none;padding-left:0;margin:0}
.km-footer__links li+li{margin-top:6px}
.km-footer__links a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25)}
.km-footer__links a:hover{border-bottom-color:#fff}

/* フッター内ナビ（シンプル） */
.km-footer-nav{display:flex;flex-wrap:wrap;gap:16px}
.km-footer-nav a{position:static;color:#fff;text-decoration:none;border:0;font-size:.9rem;opacity:.95;padding:4px 0}
.km-footer-nav a:hover{opacity:1}

/* フッター下部 */
.km-footer__legal{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:24px}
.km-footer__logo-img{max-width:120px;height:auto;display:block}
.km-footer__copywrap{display:flex;align-items:center;gap:12px}
.km-footer__sep{margin:24px 0!important}
@media (max-width:768px){
  .km-footer__legal{grid-template-columns:1fr;justify-items:center;text-align:center;gap:16px}
  .km-footer-nav{justify-content:center}
  .km-footer__copywrap{justify-content:center}
}

/* =============== ヒーロー（コンパクト） =============== */
.wp-site-blocks .km-hero.-compact{min-height:60vh;padding-top:4vh;padding-bottom:6vh;display:flex;align-items:flex-start;justify-content:center;background:var(--hero-bg) center top/cover no-repeat;position:relative}
.wp-site-blocks .km-hero__inner{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;max-width:960px;margin:0 auto;padding:0 16px}
.wp-site-blocks .km-hero__logo img{display:block;margin:0 auto;width:clamp(200px,28vw,360px);height:auto}
.wp-site-blocks .km-hero__tagline.-singleline{color:#fff!important;font-size:1.1rem;line-height:1.6;margin:1rem 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wp-site-blocks .km-hero__search{display:flex;justify-content:center;align-items:center;margin:1.5rem auto;max-width:640px;background:#fff;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.15);padding:6px 10px}
.wp-site-blocks .km-hero__search .search-field{border:none;flex:1;padding:10px 12px;font-size:1rem;outline:none}
.wp-site-blocks .km-hero__search .search-submit{background:#004a1c;color:#fff;border:none;border-radius:999px;padding:10px 18px;font-weight:700;cursor:pointer}
.wp-site-blocks .km-hero__search .search-submit:hover{background:#016d38}
.wp-site-blocks .km-hero__cta{margin-top:1.5rem;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.wp-site-blocks .km-hero__btn{display:inline-block;padding:12px 20px;border-radius:999px;font-weight:700;text-decoration:none;background:#fff;color:#004a1c}
.wp-site-blocks .km-hero__btn:hover{background:#e6f4ec}
.wp-site-blocks .km-hero__btn--primary{background:#e85c0d;color:#fff}
.wp-site-blocks .km-hero__btn--primary:hover{filter:brightness(1.1)}

/* =============== 株情報カードなど =============== */
.wp-site-blocks .km-stock-card{background:#fff;border-radius:20px;padding:22px;margin:24px 0;box-shadow:0 10px 24px rgba(0,0,0,.10)}
.wp-site-blocks .km-stock-card.-spec{border-radius:16px;box-shadow:0 2px 10px rgba(0,0,0,.04);padding:16px}
.wp-site-blocks .km-stock-card__company{font-size:clamp(20px,2.2vw,28px);margin:0 0 12px;line-height:1.3;color:#004a1c;font-weight:700}
.wp-site-blocks .km-spec-grid{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:12px}
@media (max-width:1024px){.wp-site-blocks .km-spec-grid{grid-template-columns:repeat(2,minmax(200px,1fr))}}
@media (max-width:600px){.wp-site-blocks .km-spec-grid{grid-template-columns:1fr}}
.wp-site-blocks .km-spec-box{background:#f7faf8;border:1px solid #e6f0ea;border-radius:12px;padding:12px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.wp-site-blocks .km-spec-label{font-size:.85rem;color:#166534;margin-bottom:4px;font-weight:700}
.wp-site-blocks .km-spec-value{font-weight:600;font-size:1.05rem;line-height:1.7}
.wp-site-blocks .km-yutai{margin-top:16px}
.wp-site-blocks details.km-acc{width:100%;border:1px solid #eee;border-radius:12px;background:#fff;padding:8px 12px}
.wp-site-blocks .km-acc__summary{cursor:pointer;list-style:none;user-select:none;font-weight:600;color:#166534;display:inline-flex;gap:8px;align-items:center;border:1.5px solid #ccc;border-radius:999px;padding:6px 12px;background:#fff}
.wp-site-blocks .km-acc__summary::-webkit-details-marker{display:none}
.wp-site-blocks details.km-acc[open] .km-acc__summary .label-open{display:none}
.wp-site-blocks details.km-acc:not([open]) .km-acc__summary .label-close{display:none}
.wp-site-blocks .km-acc__panel{margin-top:12px}
.wp-site-blocks .km-yutai-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:10px;border:1px solid #e5e7eb;background:#fff}
.wp-site-blocks .km-yutai-table thead th{background:#f7faf8;color:#0f5132;text-align:left;padding:10px 12px;border-bottom:1px solid #e5e7eb;font-weight:700}
.wp-site-blocks .km-yutai-table td{padding:10px 12px;border-bottom:1px solid #f0f2f4;vertical-align:top}
.wp-site-blocks .km-yutai-table tr:last-child td{border-bottom:none}
.wp-site-blocks .km-chipset{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}

/* ボタン（バリエーション） */
.km-btn.-outline{color:#166534;border:2px solid #166534;background:#fff}
.km-btn.-outline:hover{filter:brightness(.95)}
.km-btn.-accent{color:#fff;background:#e85c0d}
.km-btn.-accent:hover{filter:brightness(.98)}

/* バー */
.wp-site-blocks .km-stock-card__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}
.wp-site-blocks .km-stock-card__actions{display:flex;flex-wrap:wrap;gap:12px}
.wp-site-blocks .km-stock-card__note{margin-left:auto;white-space:nowrap;color:#555;font-size:.95rem}
@media (max-width:640px){
  .wp-site-blocks .km-stock-card__bar{flex-wrap:wrap}
  .wp-site-blocks .km-stock-card__note{width:100%;text-align:right}
}

/* 旧UIのdl2列 */
.wp-site-blocks .km-spec-list{display:grid;grid-template-columns:9.5em 1fr;column-gap:16px;row-gap:10px;margin:0}
.wp-site-blocks .km-spec-list dt{font-weight:700;color:#004a1c;align-self:center}
.wp-site-blocks .km-spec-list dd{margin:0;border-bottom:1px dashed #e6f4ec;padding:4px 0 8px}
@media (max-width:680px){
  .wp-site-blocks .km-spec-list{grid-template-columns:1fr}
  .wp-site-blocks .km-spec-list dt{margin-top:4px}
  .wp-site-blocks .km-spec-list dd{padding-bottom:10px}
}

/* =============== スーパー見出し =============== */
.km-super{display:inline-block;padding:.55em 1em;border-radius:8px;font-size:1.2rem;font-weight:700;line-height:1.3;letter-spacing:.01em;color:#222;background:linear-gradient(90deg,#f6fdf6,#f0faf2);border-left:7px solid var(--km-green-2);box-shadow:0 1px 3px rgba(0,0,0,.05)}
.km-super.is-orange{border-left-color:transparent;border-image:linear-gradient(180deg,#ff7a1a,#e85c0d) 1;background:linear-gradient(90deg,#fff9f6,#fff3ec)}
.km-super.is-gray{border-left-color:#cfdad3;background:linear-gradient(90deg,#fafdfb,#f4f7f5);color:#4d5a54;border:1px solid #e1ebe5}
.km-super::before,.km-super::after{content:none!important}

/* ========================================================
   口コミ（Single Review）
======================================================== */
.km-single .km-head-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.km-single .km-title{margin:0;font-weight:800;letter-spacing:.02em;line-height:1.15;font-size:clamp(22px,3.6vw,36px);position:relative;padding-left:.7em}
.km-single .km-title::before{content:"";position:absolute;left:0;top:.15em;bottom:.15em;width:6px;border-radius:6px;background:linear-gradient(180deg,#0b6b39,#32a66a)}
.km-single .km-title::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:3px;border-radius:2px;background:linear-gradient(90deg,#e6f4ec,#bfe9d5 40%,#e6f4ec)}
.km-head-row .km-btn.-google{height:40px;padding:10px 16px;border-radius:999px;line-height:1;background:var(--km-accent);color:#fff;white-space:nowrap;box-shadow:0 8px 20px rgba(232,92,13,.25);transform:translateY(1px)}
.km-head-row .km-btn.-google:hover{filter:brightness(1.06);color:#fff}

/* バッジ・タグ（ベース統一） */
.km-badges{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.km-badge.-tag{display:inline-block;text-decoration:none;color:#0a3f23;background:#f2fbf6;border:1px solid #d6efe3;padding:.45em .9em;border-radius:999px;font-weight:700;line-height:1}
.km-badge.-tag:hover{background:#e8f6ef}
.km-badge.-tag.-pref{font-size:.88rem;padding:.35em .7em}
.km-chip.-brand{display:inline-block;padding:.55em 1em;border-radius:999px;background:#f4fbf6;border:1px solid #cfe3d9;color:#004a1c;font-weight:700}
.km-chip.-brand.-accent{background:#e85c0d!important;border-color:#e85c0d!important;color:#fff!important;box-shadow:0 8px 20px rgba(232,92,13,.18)}

/* メタ行 */
.km-meta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:.6rem;color:#33463f;font-size:.95rem}
.km-meta-row>span+span{position:relative;padding-left:.9em}
.km-meta-row>span+span::before{content:"・";position:absolute;left:.2em;top:0;color:#9aa6a9}

/* ギャラリー枠 */
.km-section.-gallery{background:#fff6f0;border:1px solid #ffe3d1;border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,.05);padding:12px}
.single-review .km-section.-gallery h2{display:inline-block!important;margin:0 0 14px;padding:6px 12px;font-size:1.05rem;font-weight:700;color:#0b6b39;border-left:6px solid #0b6b39;background:linear-gradient(90deg,#f6fdf6,#f0faf2);border-radius:6px}

/* ギャラリー（PC3→2→1） */
.single-review .km-section.-gallery .km-gallery{display:flex!important;flex-wrap:wrap!important;margin:-8px!important;gap:0!important}
.single-review .km-section.-gallery .km-gallery > .km-gallery__item,
.single-review .km-section.-gallery .km-gallery > a,
.single-review .km-section.-gallery .km-gallery > figure{width:calc(33.333% - 16px)!important;margin:8px!important;box-sizing:border-box!important;display:block!important;overflow:hidden!important;aspect-ratio:4/3!important;min-width:0!important;position:relative!important;line-height:0;border-radius:10px;background:#e6f4ec;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.single-review .km-section.-gallery .km-gallery > .km-gallery__item img,
.single-review .km-section.-gallery .km-gallery > a img,
.single-review .km-section.-gallery .km-gallery > figure img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:top center!important;display:block!important;transform:none!important;transition:transform .25s ease}
.single-review .km-section.-gallery .km-gallery > *:hover img{transform:scale(1.03)!important}
@media (max-width:1000px){
  .single-review .km-section.-gallery .km-gallery > .km-gallery__item,
  .single-review .km-section.-gallery .km-gallery > a,
  .single-review .km-section.-gallery .km-gallery > figure{width:calc(50% - 16px)!important}
}
@media (max-width:560px){
  .single-review .km-section.-gallery .km-gallery > .km-gallery__item,
  .single-review .km-section.-gallery .km-gallery > a,
  .single-review .km-section.-gallery .km-gallery > figure{width:calc(100% - 16px)!important}
}

/* ライトボックス */
.km-lb{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:9999}
.km-lb img{max-width:90vw;max-height:90vh;border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.km-lb__close{position:fixed;top:16px;right:16px;width:40px;height:40px;border-radius:999px;background:rgba(0,0,0,.6);color:#fff;border:1px solid rgba(255,255,255,.35);font-size:20px;line-height:38px;text-align:center;font-weight:700;cursor:pointer;appearance:none;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.km-lb__close:hover{background:rgba(0,0,0,.8)}
.km-lb__close:focus{outline:2px solid #fff;outline-offset:2px}

/* 本文（single-review） */
.single-review .km-content{font-size:1.02rem;line-height:1.9;color:#222}
.single-review .km-content p{margin:.8rem 0 1.1rem}
.single-review .km-content ul,.single-review .km-content ol{margin:.6rem 0 1.2rem 1.4rem}
.single-review .km-content strong{color:#0f5132}
.single-review .km-stock-card__bar{padding-top:6px}
.single-review .km-stock-card__actions{gap:10px}
.single-review .km-stock-card__note{color:#64748b;font-size:.93rem}
@media (max-width:640px){.single-review .km-lr-grid{grid-template-columns:1fr!important}}

/* =======================================================
   トップ「みんなの口コミ」カード
======================================================= */
.wp-site-blocks .km-lr-grid{display:grid;gap:12px;margin-block:1rem 1.5rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
@media (max-width:782px){.wp-site-blocks .km-lr-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.wp-site-blocks .km-lr-grid{grid-template-columns:1fr}}
.wp-site-blocks .km-review-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:12px;display:flex;flex-direction:column;gap:.5rem}
.wp-site-blocks .km-lr-media{display:block;border-radius:10px;overflow:hidden;background:#e6f4ec;aspect-ratio:4/3}
.wp-site-blocks .km-lr-media img{width:100%;height:100%;object-fit:cover;display:block}
.wp-site-blocks .km-lr-title{font-size:1rem;line-height:1.25;margin:0}
.wp-site-blocks .km-lr-title a{color:#222;text-decoration:none;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wp-site-blocks .km-lr-title a:hover{text-decoration:underline}
.wp-site-blocks .km-lr-company{font-size:.88rem;color:#4b5563}
.wp-site-blocks .km-rr-excerpt{font-size:.95rem;line-height:1.7;color:#222;margin:.25rem 0 .25rem}
.wp-site-blocks .km-review-invest{display:grid;grid-template-columns:1fr;gap:.45rem;align-items:start;margin-top:.25rem}
.wp-site-blocks .km-review-invest .km-pill{width:100%;display:grid;grid-template-columns:18px 1fr;grid-template-rows:auto auto;grid-template-areas:"ic label" ". val";column-gap:.4rem;row-gap:.15rem;padding:.45rem .7rem;border-radius:12px;background:#f4faf6;border:1px solid #e6f4ec;color:#004a1c;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);font-size:.88rem}
.wp-site-blocks .km-review-invest .km-ic{grid-area:ic;line-height:1}
.wp-site-blocks .km-review-invest .km-label{grid-area:label;font-size:.8rem;opacity:.85}
.wp-site-blocks .km-review-invest .km-val{grid-area:val;font-size:1.02rem;font-weight:700}
.wp-site-blocks .km-subnote{grid-column:1 / -1;display:inline-flex;align-items:center;gap:.35rem;width:100%;background:#eef7f1;border:1px solid #e0f0e6;color:#1f5f3b;border-radius:999px;padding:.28rem .7rem;font-size:.8rem;line-height:1;margin-top:0}
.wp-site-blocks .km-cta{margin-top:auto;text-align:right}
.wp-site-blocks .km-btn-read{background:#004a1c;color:#fff!important;padding:.45em .8em;border-radius:.5em;font-size:.9rem;text-decoration:none}
.wp-site-blocks .km-btn-read:hover{filter:brightness(1.05)}

.km-badgesbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:.6rem 0 0}
.km-badgesbar .km-badges{margin:.6rem 0 0}
.km-badges .km-chip,.km-badges .km-badge{-webkit-font-smoothing:antialiased;display:inline-flex;align-items:center;justify-content:center;line-height:1;font-weight:700;border-radius:999px;padding:.45em .9em}
.km-badge.-pref,.km-badge.-genre,.km-badges .km-chip.-pref,.km-badges .km-chip.-genre,.km-badges .km-chip:not(.-brand):not(.-tag){font-size:.85rem!important;padding:.35em .75em!important;border-radius:999px!important}
.km-badgesbar__pills{display:flex;gap:8px;flex-wrap:wrap;margin-left:auto}
.km-badgesbar__pills .km-pill{display:grid;grid-template-columns:16px 1fr;grid-template-rows:auto auto;grid-template-areas:"ic label" ". val";column-gap:.35rem;row-gap:.1rem;padding:.35rem .6rem;border-radius:12px;background:#f4faf6;border:1px solid #e6f4ec;color:#004a1c;font-size:.86rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.km-badgesbar__pills .km-ic{grid-area:ic;line-height:1}
.km-badgesbar__pills .km-label{grid-area:label;font-size:.76rem;opacity:.85}
.km-badgesbar__pills .km-val{grid-area:val;font-weight:700}

/* --- Review Archive: フィルタバー最小 --- */
.km-chipbar{display:flex;flex-wrap:wrap;gap:10px 12px;background:#fff;border:1px solid #dfece5;border-radius:14px;padding:12px;box-shadow:0 6px 18px rgba(0,0,0,.04)}
.km-chip{display:flex;align-items:center;gap:8px;background:#f6fbf8;border:1px solid #cfe3d9;border-radius:12px;padding:8px 10px;white-space:nowrap}
.km-chip.-keyword input[type="search"]{border:1px solid #cfe3d9;border-radius:10px;padding:.5em .7em;min-height:38px;background:#fff}
.km-chip.-mode .seg{display:inline-grid;grid-template-columns:1fr 1fr;border:1px solid #cfe3d9;border-radius:999px;overflow:hidden}
.km-chip.-mode input{display:none}
.km-chip.-mode input:not(:checked)+.seg label:first-child span{background:#0b6b39;color:#fff}
.km-chip.-mode input:checked+.seg label:last-child span{background:#0b6b39;color:#fff}
.kmc-search{appearance:none;border:1px solid #e85c0d;background:#e85c0d;color:#fff;border-radius:999px;padding:.6em 1.2em;font-weight:800}
.kmc-reset{display:inline-block;border:1px solid #cfe3d9;background:#fff;color:#0b6b39;border-radius:999px;padding:.55em 1em;text-decoration:none}
.km-chip.-count{margin-left:auto;background:#fff}

/* === 口コミ一覧（/reviews/）スマホ最適化 ========================= */
@media (max-width:430px){
  .km-review-card{padding:10px}
  .km-review-card .km-lr-title{font-size:.96rem;line-height:1.35;margin:.35rem 0 .25rem;text-wrap:balance}
  .km-review-card .km-chip.-brand{font-size:.88rem;padding:.40em .70em;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-height:calc(1.2em * 2 + 4px);word-break:break-word}
  .km-review-card .km-badge.-tag{font-size:.82rem;padding:.32em .62em}
  .km-review-card .km-pill{font-size:.88rem;padding:.3em .56em}
  .km-review-card .km-btn-read{font-size:.9rem;padding:.48em .8em;white-space:nowrap}
}
@media (max-width:390px){
  .km-lr-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
}

/* ===== フッターハブ（配色） ===== */
#rights-months{color:#fff}
.km-box:has(#rights-months){background:#004a1c;border-color:#003716;color:#fff}

/* ===== 権利月グリッド：統一版 ===== */
.km-month-btn{
  position:relative;display:grid;place-items:center;
  aspect-ratio:1/1;border-radius:12px;text-decoration:none;
  background:rgba(255,255,255,.06);border:2px solid #e85c0d;color:#fff;
  font-weight:800;transition:transform .06s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
  box-shadow:0 1px 0 rgba(0,0,0,.08) inset, 0 1px 2px rgba(0,0,0,.06);
}
.km-month-btn .m{font-size:24px;line-height:1}
.km-month-btn .jp{font-size:13px;margin-left:2px;opacity:.9}
.km-month-btn:hover,.km-month-btn:focus{background:#e85c0d;color:#fff;transform:translateY(-1px);box-shadow:0 2px 10px rgba(232,92,13,.25),0 0 0 3px rgba(232,92,13,.25);outline:none}
.km-month-btn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(255,255,255,.85),0 0 0 6px rgba(232,92,13,.6)}

.km-month-grid,
.km-month-grid.-compact{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:8px;
}
@media (max-width:900px){
  .km-month-grid,
  .km-month-grid.-compact{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:640px){
  .km-month-grid,
  .km-month-grid.-compact{grid-template-columns:repeat(2,1fr)}
  .km-month-btn{aspect-ratio:auto;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center}
  .km-month-btn .m{font-size:20px}
  .km-month-btn .jp{font-size:12px}
}
@media (max-width:480px){
  .km-month-grid{gap:8px}
}

/* ===== ヒーローの横はみ出し抑止（トップ限定） ===== */
body.home .km-header,
body.home .km-hero.-compact{overflow-x:clip}
.wp-site-blocks .km-hero__inner{max-width:min(960px,100%);width:100%;box-sizing:border-box}
.wp-site-blocks .km-hero__search{width:100%;max-width:640px;box-sizing:border-box}
.wp-site-blocks .km-hero__search .search-field{min-width:0}
.wp-site-blocks .km-hero__cta{flex-wrap:wrap;gap:10px 12px;width:100%;justify-content:center}
.wp-site-blocks .km-hero__btn{min-width:0}
@media (max-width:960px){
  .wp-site-blocks .km-hero__logo img{width:clamp(180px,40vw,300px)}
  .wp-site-blocks .km-hero__search .search-field{font-size:.95rem;padding:10px}
  .wp-site-blocks .km-hero__search .search-submit{padding:10px 14px}
  .wp-site-blocks .km-hero__btn{padding:10px 16px}
}
@media (max-width:782px){
  .km-header-inner{flex-wrap:wrap}
  .km-actions{flex-wrap:wrap;gap:12px}
}

/* ===== Tables/Overflow 保険（優待シングル） ===== */
@media (max-width:960px){
  body.single-kabuyutai .km-layout{grid-template-columns:1fr!important}
  body.single-kabuyutai .km-sidebar{position:static!important;margin-top:24px!important}
  body.single-kabuyutai .wp-block-columns{flex-wrap:wrap!important}
  body.single-kabuyutai .wp-block-column{flex-basis:100%!important;max-width:100%!important}
  body.single-kabuyutai .km-stock-card__bar{flex-wrap:wrap!important}
  body.single-kabuyutai .km-stock-card__note{width:100%;text-align:right}
  body.single-kabuyutai .km-spec-grid{grid-template-columns:1fr!important}
}
body.single-kabuyutai .km-yutai-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
@media (max-width:960px){body.single-kabuyutai .km-main{overflow-x:clip}}

/* ===== Top ヒーロー調整（可読性） ===== */
body.home .km-header--hero-nav .km-header-inner{max-width:calc(100vw - 32px)!important;width:100%!important;padding-inline:16px!important;box-sizing:border-box!important}
body.home .km-hero.-compact{overflow-x:clip!important}
body.home .km-hero__inner{max-width:min(960px,calc(100vw - 32px))!important;width:100%!important;margin-inline:auto!important;padding-inline:16px!important;box-sizing:border-box!important}
body.home .km-hero__search{width:100%!important;max-width:min(640px,100%)!important;box-sizing:border-box!important}
body.home .km-hero__search .search-field{min-width:0!important}
body.home .km-hero__cta{flex-wrap:wrap!important;gap:10px 12px!important;width:100%!important;justify-content:center!important}
body.home .km-hero__btn{min-width:0!important}
@supports(padding:max(0px)){
  body.home .km-hero__inner{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
}

/* ===== モバイル排版の微調整 ===== */
.km-layout,.km-container{max-width:1920px;margin-inline:auto;padding-inline:14px}
.km-layout .km-main,.single-review .km-content{font-size:.98rem;line-height:1.8}
.km-header,.site-header,header .wp-block-group{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 14px}
.km-header img,.site-header img{max-height:42px;height:auto}
.km-nav,.primary-navigation{overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}

/* ===== フッターハブ権利月：スマホ2列固定 ===== */
@media (max-width:640px){
  .km-footer-hub .km-box.-rights .km-month-grid.-compact{
    display:grid !important;
    grid-template-columns:repeat(2,1fr) !important;
    gap:8px !important;
    justify-items:stretch !important;
  }
  .km-footer-hub .km-box.-rights .km-month-grid.-compact > *{
    grid-column:auto / span 1 !important;
    width:auto !important;
  }
}

/* ===== アーカイブ見出しのセグメントタブ ===== */
.km-archive-title.km-archive-tabs{
  --seg-h: 58px;
  --seg-gap: 10px;
  --seg-r: 999px;
  --seg-bw: 2px;
  --seg-fz: clamp(16px, 1.2vw, 20px);
  --seg-on-bg: var(--km-green);
  --seg-on-fg: #fff;
  --seg-off-bg: #fff;
  --seg-off-fg: var(--km-green);
  --seg-bd: var(--km-green);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--seg-gap);
  align-items: center;
  margin: 10px 0 16px;
  font: inherit;
  line-height: 1;
  border: 0;
  padding: 0;
}
.km-archive-title.km-archive-tabs::before,
.km-archive-title.km-archive-tabs::after{content:none;}
.km-archive-tabs .km-tab{
  display:flex;align-items:center;justify-content:center;
  height:var(--seg-h);border-radius:var(--seg-r);
  border:var(--seg-bw) solid var(--seg-bd);
  background:var(--seg-off-bg);color:var(--seg-off-fg);
  text-decoration:none;font-weight:800;font-size:var(--seg-fz);
  box-shadow:0 1px 2px rgba(0,0,0,.06);
  padding:0 .8em;
  transition:background .15s ease,color .15s ease,transform .06s ease,box-shadow .15s ease;
}
.km-archive-tabs .km-tab[href]:hover{
  filter:brightness(1.02);
  transform:translateY(-1px);
}
.km-archive-tabs .km-tab:focus-visible{
  outline:0;
  box-shadow:0 0 0 3px rgba(255,255,255,.9),0 0 0 6px rgba(0,74,28,.45);
}
.km-archive-tabs .km-tab.is-active,
.km-archive-tabs .km-tab[aria-current="page"]{
  background:var(--seg-on-bg);
  color:var(--seg-on-fg);
  box-shadow:0 6px 18px rgba(0,74,28,.18),inset 0 0 0 1px rgba(255,255,255,.25);
  cursor:default;
}
@media (max-width:640px){
  .km-archive-title.km-archive-tabs{
    --seg-h:46px;
    --seg-gap:8px;
    --seg-fz:15px;
    margin:6px 0 12px;
  }
}
.km-archive.km-archive-kabu .km-archive-title.km-archive-tabs,
.km-archive.km-archive-review .km-archive-title.km-archive-tabs{
  margin-top:6px;
}
.single-review .km-review-invest,
.single-review .km-badgesbar__pills{
  gap:8px;
}
.single-review .km-badge.-tag{
  border-radius:10px;
  padding:6px 10px;
  font-size:.88rem;
}
@media (max-width:480px){
  .single-review .km-pill{
    padding:6px 8px;
    min-height:44px;
    border-radius:8px;
  }
  .single-review .km-pill .km-label{font-size:.75rem;}
  .single-review .km-pill .km-val{font-size:.98rem;}
  .single-review .km-badge.-tag{
    padding:5px 8px;
    border-radius:8px;
    font-size:.86rem;
  }
}
.single-review .km-pill .km-label br{display:none;}
.single-review .km-pill .km-val{
  display:inline-block;
  margin-left:.35em;
  font-weight:800;
  font-size:1.02rem;
  line-height:1.3;
  color:#0a5c2b;
  white-space:nowrap;
}
@media (max-width:480px){
  .single-review .km-pill{
    padding:6px 8px;
    min-height:44px;
    border-radius:8px;
    gap:6px;
  }
  .single-review .km-pill .km-label{font-size:.8rem;}
  .single-review .km-pill .km-val{font-size:.98rem;}
}

/* ===== Single Review：メトリクスをGrid化 ===== */
.single-review .km-review-invest{
  display:grid!important;
  grid-template-columns:1fr;
  gap:10px;
  margin-top:.4rem;
}
@media (min-width:361px){
  .single-review .km-review-invest{grid-template-columns:1fr 1fr;}
}
@media (min-width:641px){
  .single-review .km-review-invest{grid-template-columns:repeat(3,1fr);}
}
.single-review .km-pill{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  padding:10px 12px;
  min-height:46px;
  background:#f7fbf9;
  border:1px solid #d8eee0;
  border-radius:10px;
  box-shadow:0 1px 0 rgba(0,0,0,.02) inset;
}
.single-review .km-pill .km-ic{
  flex:0 0 auto;
  font-size:18px;
  line-height:1;
  margin-right:6px;
}
.single-review .km-pill .km-label{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.86rem;
  opacity:.85;
  margin:0;
}
.single-review .km-pill .km-label br{display:none;}
.single-review .km-pill .km-val{
  flex:0 0 auto;
  white-space:nowrap;
  font-weight:800;
  font-size:.98rem;
  color:#0a5c2b;
  margin-left:6px;
}
.single-review .km-review-invest,
.single-review .km-badgesbar__pills{
  display:grid!important;
  grid-template-columns:1fr;
  gap:10px;
  width:100%;
}
@media (min-width:361px){
  .single-review .km-review-invest,
  .single-review .km-badgesbar__pills{grid-template-columns:1fr 1fr;}
}
@media (min-width:641px){
  .single-review .km-review-invest,
  .single-review .km-badgesbar__pills{grid-template-columns:repeat(3,1fr);}
}
.single-review .km-review-invest > *,
.single-review .km-badgesbar__pills > *{
  min-width:0!important;
  width:auto!important;
}
.single-review .km-pill{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  padding:10px 12px;
  min-height:46px;
  background:#f7fbf9;
  border:1px solid #d8eee0;
  border-radius:10px;
  box-shadow:0 1px 0 rgba(0,0,0,.02) inset;
  overflow:hidden;
}
.single-review .km-pill .km-ic{flex:0 0 auto;font-size:18px;line-height:1;}
.single-review .km-pill .km-label{
  flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-size:.86rem;opacity:.85;margin:0;
}
.single-review .km-pill .km-label br{display:none;}
.single-review .km-pill .km-val{
  flex:0 0 auto;white-space:nowrap;font-weight:800;font-size:.98rem;color:#0a5c2b;margin-left:6px;
}

/* ===== Single Review：スマホのヘッダー行 ===== */
@media (max-width:640px){
  .single-review .km-head-row{
    display:grid!important;
    grid-template-columns:1fr auto;
    grid-auto-rows:auto;
    align-items:start;
    gap:10px 12px;
  }
  .single-review .km-head-row .km-title{grid-column:1 / -1;}
  .single-review .km-head-row .km-btn.-google{
    grid-column:2;
    grid-row:2;
    justify-self:end;
    white-space:nowrap;
  }
  .single-review .km-head-row .km-chip.-brand{
    grid-column:1;
    grid-row:2;
    align-self:center;
  }
  .single-review .km-review-invest{
    grid-column:1;
    grid-row:3;
    display:grid!important;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto;
    gap:8px 10px;
    width:100%;
  }
  .single-review .km-review-invest > *:nth-child(1){grid-column:1;grid-row:1;}
  .single-review .km-review-invest > *:nth-child(2){grid-column:1;grid-row:2;}
  .single-review .km-review-invest > *:nth-child(3){grid-column:2;grid-row:2;}
  .single-review .km-review-invest > *{min-width:0!important;}
  .single-review .km-pill{
    display:flex!important;align-items:center;
    gap:6px;padding:8px 10px;min-height:44px;
    background:#f7fbf9;border:1px solid #d8eee0;border-radius:10px;overflow:hidden;
  }
  .single-review .km-pill .km-ic{flex:0 0 auto;font-size:18px;line-height:1;}
  .single-review .km-pill .km-label{
    flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem;opacity:.85;margin:0;
  }
  .single-review .km-pill .km-label br{display:none;}
  .single-review .km-pill .km-val{
    flex:0 0 auto;white-space:nowrap;font-weight:800;font-size:.98rem;color:#0a5c2b;margin-left:.35em;
  }
}

/* Single Review：ヘッダー（別パターン） */
@media (max-width:640px){
  .single-review header.km-single-head .km-head-row{
    display:grid;
    grid-template-columns:1fr auto;
    align-items:center;
    gap:8px;
  }
  .single-review header.km-single-head .km-head-row h1.km-title{margin:0;}
  .single-review header.km-single-head .km-head-row .km-btn.-google{
    white-space:nowrap;
    height:40px;line-height:40px;
    padding:0 14px;border-radius:999px;
  }
  .single-review header.km-single-head .km-badgesbar .km-inline-pills{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px 10px;
    width:100%;
  }
  .single-review header.km-single-head .km-badgesbar .km-inline-pills .km-pill:nth-child(1){
    grid-column:1 / -1;
  }
  .single-review header.km-single-head .km-badgesbar .km-inline-pills .km-pill{
    display:flex;align-items:center;gap:6px;
    padding:8px 10px;min-height:44px;
    background:#f7faf8;border:1px solid #e3ece6;border-radius:8px;box-shadow:none;
    width:100%;box-sizing:border-box;
  }
  .single-review header.km-single-head .km-badgesbar .km-inline-pills .km-ic{
    flex:0 0 auto;line-height:1;font-size:18px;
  }
  .single-review header.km-single-head .km-badgesbar .km-inline-pills .km-label{
    flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    font-size:.82rem;opacity:.85;margin:0;
  }
  .single-review header.km-single-head .km-badgesbar .km-inline-pills .km-label br{display:none;}
  .single-review header.km-single-head .km-badgesbar .km-inline-pills .km-val{
    flex:0 0 auto;white-space:nowrap;font-weight:800;font-size:.98rem;color:#0a5c2b;
  }
}

/* Single Review：モバイルは銘柄→ピル3つを縦積み */
@media (max-width:640px){
  .km-single header.km-single-head .km-badges{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .km-single header.km-single-head .km-badges > li{min-width:0;}
  .km-single header.km-single-head .km-badgesbar .km-inline-pills{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    width:100%;
  }
  .km-single header.km-single-head .km-badgesbar .km-inline-pills .km-pill{
    width:100%;
    display:flex;align-items:center;gap:6px;
    padding:8px 10px;min-height:44px;
    background:#f7faf8;border:1px solid #e3ece6;border-radius:8px;
    box-shadow:none;box-sizing:border-box;
  }
  .km-single header.km-single-head .km-badgesbar .km-inline-pills .km-ic{font-size:18px;line-height:1;}
  .km-single header.km-single-head .km-badgesbar .km-inline-pills .km-label{
    flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    font-size:.82rem;opacity:.85;margin:0;
  }
  .km-single header.km-single-head .km-badgesbar .km-inline-pills .km-label br{display:none;}
  .km-single header.km-single-head .km-badgesbar .km-inline-pills .km-val{
    flex:0 0 auto;white-space:nowrap;font-weight:800;font-size:.98rem;color:#0a5c2b;
  }
}

/* 口コミメモ・日付・ギャラリー等 */
.review-note{
  position:relative;
  margin-top:14px;
  padding:14px 16px 16px;
  background:linear-gradient(180deg,#f7fbf9 0%,#ffffff 100%);
  border:1.5px solid #dcefe5;
  border-radius:12px;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  color:#1f5f3b;
  line-height:1.7;
  font-size:.98rem;
}
.review-note::before{
  content:none;
  display:none;
}
.review-dates{color:#6b7280;font-size:.9rem;margin:0 0 8px;}
.km-gallery.-auto{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.km-photo{display:flex;flex-direction:column}
.km-photo .km-gallery__item{
  position:relative;display:block;overflow:hidden;aspect-ratio:4/3;border-radius:12px;background:#e6f4ec;
  box-shadow:0 1px 6px rgba(0,0,0,.06);min-width:0;
}
.km-photo .km-gallery__item img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transform:translateZ(0);transition:transform .25s ease;
}
.km-photo .km-gallery__item:hover img{transform:scale(1.03);}
.single-review .km-section.-gallery .km-gallery > figure.km-photo{
  display:flex!important;
  flex-direction:column!important;
  overflow:visible!important;
  aspect-ratio:auto!important;
  line-height:normal!important;
  background:transparent!important;
  box-shadow:none!important;
}
.single-review .km-section.-gallery .km-gallery > figure.km-photo > a.km-gallery__item{
  aspect-ratio:4 / 3;
  overflow:hidden;
  border-radius:12px;
  display:block;
}
.km-photo__cap{
  font-size:.60rem;
  line-height:1.4;
  margin-top:4px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  color:#6b7280;
}
@media (max-width:560px){
  .km-photo__cap{font-size:.78rem;}
}

/* 投稿ID 1767 のタイトルだけ小さくする */
.postid-1767 h1.wp-block-post-title{
  font-size:1.8rem!important;
  line-height:1.3;
}

/* スマホで横スクロールが出るのを防ぐ */
@media (max-width:768px){
  html,body{
    max-width:100%;
    overflow-x:hidden;
  }
  .wp-site-blocks,
  .wp-site-blocks > *{
    max-width:100vw;
    overflow-x:hidden;
    box-sizing:border-box;
  }
  .wp-block-group,
  .wp-block-columns,
  .wp-block-column,
  .wp-block-cover,
  .wp-block-image{max-width:100%;}
  .wp-block-columns{flex-wrap:wrap;}
  .wp-block-image img{max-width:100%;height:auto;}
}

/* カブメシ地図ブロック */
.kabumeshi-map{max-width:100%;margin:0 auto;}
.kabumeshi-map iframe{
  display:block;
  width:100%!important;
  max-width:100%;
  height:auto!important;
  aspect-ratio:4 / 3;
}
.kabumeshi-map__caption{
  margin-top:.4em;
  text-align:center;
}

/* 優待メモ用テーブル */
.yutai-memo-table{
  width:100%;
  border-collapse:collapse;
}
.yutai-memo-table th,
.yutai-memo-table td{
  border:1px solid rgba(0,0,0,.15);
  padding:.4em .6em;
  font-size:.95rem;
}
.yutai-memo-table th:nth-child(1),
.yutai-memo-table td:nth-child(1),
.yutai-memo-table th:nth-child(3),
.yutai-memo-table td:nth-child(3){
  width:22%;
  white-space:nowrap;
  font-weight:600;
  background-color:#c6e4d5;
}
.yutai-memo-table th:nth-child(2),
.yutai-memo-table td:nth-child(2),
.yutai-memo-table th:nth-child(4),
.yutai-memo-table td:nth-child(4){
  width:28%;
}
@media (max-width:480px){
  .yutai-memo-table th,
  .yutai-memo-table td{
    font-size:.8rem;
    padding:.3em .35em;
  }
  .yutai-memo-table th:nth-child(1),
  .yutai-memo-table td:nth-child(1),
  .yutai-memo-table th:nth-child(3),
  .yutai-memo-table td:nth-child(3){
    white-space:normal;
  }
}

/* デスクトップ超ワイド時のコンテンツ幅 */
@media (min-width:1900px){
  body:not(.home){
    --wp--style--global--content-size:1900px;
    --wp--style--global--wide-size:1900px;
  }
}

/* ==========================================================
   優待ニュース：ヘッダー / タイトル / 出典
   （ここから整理済みの km-yutai-news-* 一式）
   ========================================================== */

/* タイトルのベース（全体） */
.wp-block-post-title{
  line-height:1.3;
  margin-bottom:.4em;
}

/* シングル優待ニュース：タイトル下余白を少し詰める */
.single-yutai_news .entry-header .wp-block-post-title{
  margin-bottom:10px!important;
}
@media (max-width:768px){
  .single-yutai_news .entry-header .wp-block-post-title{
    margin-bottom:8px!important;
  }
}

/* モバイル時のタイトルサイズ */
@media (max-width:768px){
  .wp-block-post-title,
  .entry-title{
    font-size:1.7rem;
    line-height:1.3;
  }
}

/* タイトル直下のヘッダー */
.km-yutai-news-header{
  text-align:left;
  margin:4px 0 12px;
  padding:20px 0 16px;
  border-bottom:1px solid #eee;
}

/* タイトルとヘッダーの間の余白を軽く */
.wp-block-post-title + .km-yutai-news-header{
  margin-top:6px;
}

/* ラベル + シェアのコンテナ */
.km-yutai-news-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  flex-wrap:wrap;
}

/* ラベル（青チップ群） */
.km-yutai-news-labels{
  display:flex;
  flex-wrap:wrap;
  gap:4px 8px;
  justify-content:flex-start;
}

/* 右側ブロック（シェアボタン） */
.km-yutai-news-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
}

/* シェアボタン行 */
.km-yutai-news-share{
  display:flex;
  gap:6px;
}

/* チップ汎用 */
.km-chip{
  display:inline-flex;
  align-items:center;
  font-size:11px;
  padding:3px 8px;
  border-radius:999px;
}
.km-chip-main{
  background:#2563eb;
  color:#fff;
}
.km-chip-detail{
  background:#e0f2fe;
  color:#0369a1;
}

/* シェアボタン共通 */
.km-share-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:28px;
  padding:0 8px;
  font-size:12px;
  border-radius:999px;
  border:none;
  text-decoration:none;
  cursor:pointer;
  color:#fff;
}
.km-share-x{background:#000;}
.km-share-line{background:#06c755;}
.km-share-fb{background:#1877f2;}
.km-share-copy{
  background:#f3f4f6;
  color:#111827;
}

/* モバイル調整 */
@media (max-width:768px){
  .km-yutai-news-header{
    margin-top:4px;
    margin-bottom:8px;
    padding:8px 0 8px;
  }
  .km-yutai-news-top{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
  }
  .km-yutai-news-right{
    align-items:flex-start;
  }
  .km-yutai-news-share{
    justify-content:flex-start;
    gap:4px;
  }
  .km-share-btn{
    padding:4px 6px;
    font-size:11px;
    min-width:32px;
    height:26px;
  }
  /* 導入文を少し読みやすく */
  .single-yutai_news .entry-content > p:first-of-type{
    font-size:14px;
    line-height:1.7;
  }
}

/* IR出典リンク（右寄せ） */
.km-ir-source{
  text-align:right;
  font-size:12px;
  color:#666;
  margin-top:8px;
}
.km-ir-source a{
  color:inherit;
  text-decoration:underline;
}
@media (max-width: 480px) {
  h1.entry-title {
    font-size: 1.75rem;
    line-height: 1.3;
  }
}
/* モバイルだけリンクを小さくして1行にする */
@media (max-width: 480px) {
  .km-small-link a {
    font-size: 0.85rem;     /* 少し小さく */
    white-space: nowrap;    /* 改行させない（＝1行にする） */
    line-height: 1.2;       
  }
}
.single-utai_news li {
  margin-bottom: 0.6em;
  line-height: 1.6;
}
/* ===== カブメシ お問い合わせデザイン ===== */

/* カード全体 */
.wpcf7 form {
  background: #ffffff;
  padding: 30px;
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
  max-width: 520px;
  margin: 0 auto;
}

/* ラベル */
.wpcf7 form p {
  font-weight: 600;
  color: #333;
  margin-bottom: 6px;
}

/* テキスト・メール・件名・テキストエリア */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ccc;
  border-radius: 8px;
  font-size: 16px;
  margin-bottom: 20px;
  box-sizing: border-box;
}

/* 送信ボタン */
.wpcf7 input[type="submit"] {
  background: #004a1c;        /* カブメシ緑 */
  color: #fff;
  padding: 10px 22px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 16px;
  transition: 0.3s;
}

.wpcf7 input[type="submit"]:hover {
  background: #016d38;       /* 少し明るい緑 */
}

/* 送信メッセージ */
.wpcf7-response-output {
  margin-top: 20px;
  border-radius: 8px;
  padding: 12px 16px;
}
.km-news-archive{
  max-width: 1000px;
  margin: 0 auto;
  padding: 40px 16px 60px;
}

.km-news-archive__title{
  font-size: 28px;
  margin-bottom: 4px;
}

.km-news-archive__desc{
  color:#555;
  margin-bottom:24px;
}

.km-news-list{
  list-style:none;
  margin:0;
  padding:0;
}

.km-news-item{
  border-bottom:1px solid rgba(255,255,255,.1);
  padding:16px 0;
}

.km-news-item__link{
  display:block;
  text-decoration:none;
  color:#fff;
}

.km-news-item__date{
  font-size:12px;
  opacity:.8;
  display:block;
  margin-bottom:4px;
}

.km-news-item__title{
  display:block;
  font-weight:700;
  margin-bottom:4px;
}

.km-news-item__excerpt{
  font-size:14px;
  color:#e0e0e0;
}
.km-news-archive{
  max-width: 1000px;
  margin: 0 auto;
  padding: 40px 16px 60px;
}

.km-news-archive__title{
  font-size: 28px;
  margin-bottom: 4px;
}

.km-news-archive__desc{
  color:#555;
  margin-bottom:24px;
}

/* タブ */
.km-news-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 24px;
}

.km-news-tab{
  padding:8px 14px;
  border-radius:999px;
  border:1px solid #004a1c;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  color:#004a1c;
  background:#fff;
}

.km-news-tab.is-active{
  background:#004a1c;
  color:#fff;
}

/* 一覧 */
.km-news-list{
  list-style:none;
  margin:0;
  padding:0;
}

.km-news-item{
  border-bottom:1px solid rgba(0,0,0,0.08);
  padding:16px 0;
}

.km-news-item__link{
  display:block;
  text-decoration:none;
  color:#222;
}

.km-news-item__date{
  font-size:12px;
  opacity:.8;
  display:block;
  margin-bottom:4px;
}

.km-news-item__title{
  display:block;
  font-weight:700;
  margin-bottom:4px;
}

.km-news-item__excerpt{
  font-size:14px;
  color:#555;
}
/* ========== ニュース一覧：タブ ========== */
.km-news-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:0.75rem;
  margin-bottom:1.5rem;
}

.km-news-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0.4rem 1.1rem;
  border-radius:999px;
  border:1px solid var(--km-green, #004a1c);
  font-size:0.9rem;
  text-decoration:none;
  color:var(--km-green, #004a1c);
  background:#fff;
  transition:background .15s ease, color .15s ease, box-shadow .15s ease;
}

.km-news-tab:hover{
  box-shadow:0 0 0 2px rgba(0,74,28,.12);
}

.km-news-tab.is-active{
  background:var(--km-green, #004a1c);
  color:#fff;
  box-shadow:0 0 0 2px rgba(0,74,28,.18);
}

/* ========== ニュース一覧：リスト & バッジ ========== */
.km-news-list{
  list-style:none;
  margin:0;
  padding:0;
}

.km-news-item{
  border-bottom:1px solid rgba(0,0,0,.06);
  padding:1rem 0 1.1rem;
}

.km-news-item__link{
  display:block;
  text-decoration:none;
  color:inherit;
}

.km-news-item__meta{
  display:flex;
  align-items:center;
  gap:0.6rem;
  margin-bottom:0.25rem;
  font-size:0.85rem;
}

.km-news-item__date{
  color:#666;
}

.km-news-item__badge{
  display:inline-block;
  padding:0.05rem 0.65rem;
  border-radius:999px;
  font-size:0.75rem;
  line-height:1.6;
  white-space:nowrap;
}

.km-news-item__badge--yutai{
  background:#e6f4ec;
  color:#004a1c;
}

.km-news-item__badge--dividend{
  background:#e3f2fd;
  color:#0b4f8a;
}

.km-news-item__badge--column{
  background:#fff3e0;
  color:#e85c0d;
}

.km-news-item__title{
  display:block;
  font-weight:700;
  margin-bottom:0.1rem;
}

.km-news-item__excerpt{
  display:block;
  font-size:0.9rem;
  color:#555;
  margin-top:0.2rem;
}
/* ======================================
 * カブメシニュース タイトル装飾 Ver.3
 * ==================================== */
.page-id-4822 header.wp-block-template-part,
.page-id-4822 .entry-header {
  text-align: left;
}

/* タイトル周りの“光”エフェクト */
.page-id-4822 .km-news-archive__head {
  position: relative;
  padding-top: 1.6rem;
}
.page-id-4822 .km-news-archive__head::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 260px;
  height: 120px;
  border-radius: 999px;
  background: radial-gradient(circle at 0% 0%, rgba(255, 196, 120, .25), transparent 60%);
  opacity: .75;
  pointer-events: none;
  z-index: 0;
}

/* メインタイトル */
.page-id-4822 .wp-block-post-title {
  position: relative;
  z-index: 1;
  display: inline-block;
  margin: 0.4rem 0 1.4rem;          /* ← 下の余白をグッと詰める */
  padding: 0 0 0.15em;              /* ← オレンジ線との距離をほぼゼロに */
  font-size: clamp(2.0rem, 3.4vw, 2.6rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.09em;
  color: #004821;
}

/* 上の小ラベル「KABUMESHI NEWS」 */
.page-id-4822 .wp-block-post-title::before {
  content: "KABUMESHI NEWS";
  position: absolute;
  top: -1.4rem;
  left: 0;
  padding: 0.26em 1em;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  border-radius: 999px;
  background: #004821;
  color: #fff;
  box-shadow: 0 6px 14px rgba(0, 0, 0, .18);
}

/* タイトル直下のグラデーションライン */
.page-id-4822 .wp-block-post-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.25em;                  /* ← タイトルのすぐ下にくるように */
  width: 120px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ffb347, #ff7b47);
  box-shadow: 0 4px 10px rgba(255, 123, 71, .5);
}

/* 本文テキストとの距離も少しだけ詰める */
.page-id-4822 .km-news-archive__desc {
  margin-top: 0.2rem;
}

/* カード配置はそのまま中央寄せ */
.page-id-4822 .wp-site-blocks > main {
  display: flex;
  justify-content: center;
}
.page-id-4822 .wp-site-blocks > main > * {
  width: 100%;
  max-width: 900px;
}

/* モバイル調整 */
@media (max-width: 600px) {
  .page-id-4822 .wp-block-post-title {
    margin: 0.2rem 0 1.1rem;
  }
  .page-id-4822 .wp-block-post-title::before {
    top: -1.3rem;
    font-size: 0.68rem;
  }
}
/* =========================
   カブメシヘッダー最終レイアウト調整
   （ロゴ左／メニュー右、探すドロップダウンは既存デザインのまま）
   ========================= */

/* km-header 自体は「枠」だけにする */
header.wp-block-group.km-header{
  display:block;
  padding:10px 16px;
}

/* 中身を左右に分ける */
header.wp-block-group.km-header .km-header-inner{
  max-width:1160px;
  margin:0 auto;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  box-sizing:border-box;
}

/* 左：ロゴ＋コピー */
header.wp-block-group.km-header .km-brand{
  display:flex;
  align-items:center;
  gap:12px;
}

/* 右：HOME / 投稿 / ニュース / 探す */
header.wp-block-group.km-header .km-actions{
  display:flex;
  align-items:center;
  gap:24px;
  margin-left:auto; /* 右側へ寄せる */
}

/* リンク共通（色や下線は既存ルールを尊重） */
header.wp-block-group.km-header .km-actions a,
header.wp-block-group.km-header .km-actions .km-dd-btn{
  font-size:0.95rem;
}

/* ニュースだけ軽く強調したければ */
header.wp-block-group.km-header .km-news-link{
  font-weight:600;
}
header.wp-block-group.km-header .km-news-link{
  font-weight:400 !important;
}
/* =========================
   モバイル時：探すメニュー位置を強制調整
   ========================= */

/* PC用（デフォルト）はそのまま：ヘッダー直下に出す */
.km-dd-menu{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
}

/* モバイル時だけ、画面上に固定して少し下げる */
@media (max-width: 768px){
  header.wp-block-group.km-header .km-dd-menu{
    position: fixed !important;  /* ← 絶対固定 */
    top: 130px !important;       /* ← ここを好みで 120〜150 に調整してOK */
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-width: 430px;
    margin: 0 auto !important;
    z-index: 100000 !important;
  }

  /* 管理バー表示中（ログイン時）は少し下げる */
  body.admin-bar header.wp-block-group.km-header .km-dd-menu{
    top: 162px !important;
  }
}
/* 探すメニュー本体（PC/スマホ共通） */
.km-dd-menu{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  min-width:220px;

  /* ★ ここ重要：上に32px余白を作って、Xボタン用のスペースを確保 */
  padding:32px 10px 10px;

  margin:0;
  list-style:none;
  background:var(--km-accent);
  color:#fff;
  border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,.15);
  z-index:2100;
  font-size:.9rem;
}

/* Xボタン用のli（表示上は高さ0でOK） */
.km-dd-close-wrap{
  position:absolute;
  top:6px;
  right:8px;
  margin:0;
  padding:0;
  list-style:none;
}

/* Xボタン本体 */
.km-dd-close{
  width:26px;
  height:26px;
  border-radius:999px;
  border:none;
  background:rgba(0,0,0,.25);
  color:#fff;
  font-size:18px;
  line-height:1;
  cursor:pointer;
}

.km-dd-close:hover{
  background:rgba(0,0,0,.35);
}

.km-dd-close:focus-visible{
  outline:2px solid #fff;
  outline-offset:2px;
}
header.wp-block-group.km-header .km-dd{position:relative}header.wp-block-group.km-header .km-dd-menu{display:none;min-width:320px;max-width:min(90vw,380px);padding:10px}header.wp-block-group.km-header .km-dd:hover .km-dd-menu,header.wp-block-group.km-header .km-dd:focus-within .km-dd-menu,header.wp-block-group.km-header .km-dd[open] .km-dd-menu{display:block}header.wp-block-group.km-header .km-dd-menu li+li{border-top:1px solid rgba(255,255,255,.32)}header.wp-block-group.km-header .km-dd-menu li a{padding:10px 12px;line-height:1.45;white-space:normal;overflow-wrap:anywhere}@media (max-width:768px){header.wp-block-group.km-header .km-dd-menu{max-width:calc(100vw - 24px)}}
.km-ir-source a{
  display:inline-flex;
  align-items:center;
  gap:.4em;
  padding:12px 16px;
  border-radius:999px;
  font-weight:700;
  text-decoration:none;
  border:1px solid rgba(0,0,0,.12);
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}
.km-ir-source a:hover{ opacity:.9; }
/* =========================
   ざっくり要約（最新）
   - ラベルを枠の上に“乗せる”
   - 枠：左アクセント＋淡い背景
   - 表：見やすく、モバイルも崩れにくい
   ========================= */

/* ラベル（枠の外に置く想定：枠の上に重ねる） */
.km-quick-summary__title{
  display: inline-block;
  padding: 7px 12px;
  border-radius: 999px;
  background: #004a1c;
  color: #fff;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: .02em;

  /* ここが“乗せる”ための位置 */
  margin: 0 0 -14px 16px;
  position: relative;
  z-index: 2;
}

/* 枠本体 */
.km-quick-summary{
  position: relative;
  border: 1px solid rgba(0,74,28,.18);
  border-left: 6px solid #004a1c;
  background: #f4faf6;
  border-radius: 14px;
  padding: 18px 16px 14px;
  margin: 12px 0 16px;
}

/* 表（Gutenbergの figure 内も含めて整える） */
.km-quick-summary .wp-block-table{
  margin: 10px 0 0;
}

.km-quick-summary table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}

/* 行の境界 */
.km-quick-summary th,
.km-quick-summary td{
  border: 1px solid rgba(0,0,0,.06);
  padding: 10px 12px;
  font-size: 13px;
  vertical-align: top;
  color: rgba(0,0,0,.86);
  line-height: 1.6;
}

.km-quick-summary th{
  width: 92px;
  background: rgba(0,0,0,.03);
  font-weight: 800;
  white-space: nowrap;
  color: rgba(0,0,0,.82);
}

/* しましま（読みやすく） */
.km-quick-summary tbody tr:nth-child(even){
  background: rgba(0,0,0,.015);
}

/* スマホ */
@media (max-width: 640px){
  .km-quick-summary{
    padding: 16px 12px 12px;
  }
  .km-quick-summary__title{
    margin-left: 12px;
    margin-bottom: -12px;
    font-size: 12.5px;
    padding: 6px 10px;
  }
  .km-quick-summary th{
    width: 78px;
    font-size: 12px;
    padding: 9px 10px;
  }
  .km-quick-summary td{
    font-size: 12.5px;
    padding: 9px 10px;
  }
}


/* =========================
   背景ありセクション（白カード化）
   - ざっくり要約との階層分離
   ========================= */

.has-background-section-background-color.has-background{
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 18px 18px 16px;
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
  margin: 16px 0 18px;
}

.has-background-section-background-color.has-background h2{
  margin-top: 0;
  margin-bottom: 10px;
  line-height: 1.25;
}

.has-background-section-background-color.has-background h3{
  margin-top: 14px;
  margin-bottom: 10px;
}

@media (max-width: 640px){
  .has-background-section-background-color.has-background{
    padding: 14px 14px 12px;
  }
}
/* ===============================
  KM News - 必要最小だけ（完成版 / 省略なし）
  目的：
  1) 口コミボタン + 出典ボタン 横並び（km-action-row）
  2) モバイルでも“もっさり/はみ出し/謎スペース”なし
  3) 出典の「（出典：）」テキストを見た目から消す（リンクだけ見せる）
  4) 関連ニュース：PC 2列 / スマホ 3件 + もっと見る
=============================== */

:root{
  --km-green: #004a1c;
  --km-border: rgba(0,0,0,.10);
  --km-bg-soft: #f6fbf7;
  --km-shadow: 0 10px 20px rgba(0,0,0,.06);
}

/* ==========================================
  0) 変なはみ出し・謎スペースの保険
  - flex内の要素が横にはみ出す事故を防ぐ
========================================== */
.km-action-row,
.km-related-news{
  max-width: 100%;
}

.km-action-row *{
  max-width: 100%;
  box-sizing: border-box;
}

/* ===============================
  1) アクション行（口コミ / 出典）
=============================== */

.km-action-row{
  display: flex;
  align-items: center;
  justify-content: space-between; /* PCは左右に配置 */
  gap: 12px;
  margin: 18px 0 22px;
  flex-wrap: wrap;
}

/* Gutenbergの余計なブロック余白を殺す */
.km-action-row > *{
  margin: 0;
}

/* 口コミボタン（主役） */
.km-action-row .km-btn-wrap{
  margin: 0;
  flex: 1 1 420px; /* PCで主役にする */
  min-width: 240px;
}

.km-action-row .km-btn{
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 16px;
  border-radius: 999px;
  font-weight: 900;
  text-decoration: none;
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: var(--km-shadow);
  line-height: 1.2;
  white-space: normal; /* 変な切れを防ぐ */
}

/* 口コミボタンの矢印（元の設計があるなら不要なので入れない）
.km-action-row .km-btn::after{
  content: "→";
  font-weight: 900;
}
*/

/* ===============================
  出典ショートコード（km_ir_source）
  - 出力が（出典：リンク）形式でも
    見た目は「ボタンだけ」にする
=============================== */

/* ショートコードが返す <p class="km-ir-source"> を想定 */
.km-action-row .km-ir-source{
  margin: 0;
  flex: 0 0 auto;
  font-size: 0;  /* ←（出典：）の文字を見た目から消す */
  line-height: 0;
}

/* 出典リンクをボタン化 */
.km-action-row .km-ir-source a{
  font-size: 13px; /* ここで文字を復活 */
  line-height: 1.2;

  display: inline-flex;
  align-items: center;
  gap: 8px;

  padding: 10px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--km-border);
  box-shadow: var(--km-shadow);
  text-decoration: none;
  font-weight: 900;
  color: rgba(0,0,0,.82);

  white-space: nowrap;
  max-width: 100%;
}

/* 長い時に事故らないように */
.km-action-row .km-ir-source a{
  overflow: hidden;
  text-overflow: ellipsis;
}

/* hover */
.km-action-row .km-ir-source a:hover{
  box-shadow: 0 14px 26px rgba(0,0,0,.08);
}

/* ===============================
  2) モバイル：縦積みで軽く
  - 謎スペースの原因（space-between）が出ないように潰す
=============================== */
@media (max-width: 600px){
  .km-action-row{
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start; /* ←これが謎スペース対策の本丸 */
    gap: 10px;
  }

  .km-action-row .km-btn-wrap{
    flex: 1 1 auto;
    min-width: 0;
  }

  .km-action-row .km-btn{
    font-size: 15px;
    padding: 14px 14px;
  }

  .km-action-row .km-ir-source{
    width: 100%;
  }

  .km-action-row .km-ir-source a{
    width: 100%;
    justify-content: center;
    padding: 11px 12px;
    font-size: 13px;
    box-shadow: none; /* ←スマホの“もっさり感”を消す */
  }
}

/* ===============================
  3) 関連ニュース（2列 / スマホ3件 + もっと見る）
=============================== */

.km-related-news{
  margin: 26px 0;
  padding: 16px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  background: var(--km-bg-soft);
}

/* 見出し */
.km-related-news__head{
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 12px;
}

.km-related-news__dot{
  width: 10px;
  height: 18px;
  border-radius: 999px;
  background: var(--km-green);
  flex: 0 0 auto;
}

.km-related-news__title{
  margin: 0;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.2;
}

/* PCは2列 */
.km-related-news__grid{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
}

/* カード */
.km-related-news__card{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
  text-decoration: none;
  color: inherit;
  transition: transform .12s ease, box-shadow .12s ease;
  min-width: 0; /* はみ出し対策 */
}

.km-related-news__card:hover{
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(0,0,0,.07);
}

/* サムネ：横長、文字切れない */
.km-related-news__thumb{
  width: 120px;
  aspect-ratio: 1200 / 630;
  border-radius: 12px;
  overflow: hidden;
  background: #e9f4ee;
  border: 1px solid rgba(0,0,0,.06);
  flex: 0 0 auto;
}

.km-related-news__thumb img{
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.km-related-news__thumb--empty{
  width: 100%;
  height: 100%;
  background: #e9f4ee;
}

.km-related-news__body{
  min-width: 0; /* はみ出し対策 */
}

.km-related-news__date{
  font-size: 12px;
  opacity: .7;
  margin-bottom: 6px;
}

.km-related-news__headline{
  font-size: 13px;
  line-height: 1.45;
  font-weight: 900;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* もっと見る */
.km-related-news__actions{
  display: none;
  margin-top: 12px;
  text-align: center;
}

.km-related-news__more{
  appearance: none;
  border: 1px solid rgba(0,0,0,.14);
  background: #fff;
  border-radius: 999px;
  padding: 10px 16px;
  font-weight: 900;
  cursor: pointer;
}

/* スマホ：1列 + 最初3件だけ */
@media (max-width: 768px){
  .km-related-news__grid{
    grid-template-columns: 1fr;
  }

  .km-related-news__thumb{
    width: 110px;
  }

  /* 4件目以降は隠す（閉じてる時） */
  .km-related-news:not(.is-expanded) .km-related-news__card:nth-child(n+4){
    display: none;
  }

  .km-related-news__actions{
    display: block;
  }
}

/* 展開時は全部表示 */
.km-related-news.is-expanded .km-related-news__card{
  display: flex;
}
/* モバイルだけ：この画像だけ見切れ防止 */
@media (max-width: 768px) {
  figure.km-mobile-no-crop img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  /* もし親要素が高さ固定＆はみ出し隠ししてたら潰す */
  figure.km-mobile-no-crop {
    height: auto !important;
    overflow: visible !important;
  }
}
:root{
  --km-title-accent: #1e7d5a;
  --km-title-bg: rgba(30,125,90,.08);
  --km-title-ink: #0f172a;
}

.single .wp-block-post-title,
.page .wp-block-post-title,
.single .entry-title,
.page .entry-title{
  font-weight: 900;
  color: var(--km-title-ink);
  line-height: 1.2;
  letter-spacing: .02em;
  font-size: clamp(24px, 2.6vw, 36px);
  margin: 0 0 18px;

  padding: 14px 16px 14px 14px;
  background: var(--km-title-bg);
  border-left: 6px solid var(--km-title-accent);
  border-radius: 14px;
  box-shadow: 0 10px 24px rgba(15,23,42,.06);

  overflow-wrap: anywhere;
  text-wrap: balance;
}
/* 「｜」を改行として扱う：改行しつつ、記号は見せない */
.km-title-sep{
  display:block;     /* ←これで改行されます */
  height:10px;       /* 改行の“間” */
  font-size:0;       /* 記号を消す */
  line-height:0;
  margin:0;
  padding:0;
  overflow:hidden;
}

/* =========================================
  kabuyutai（優待ページ）だけ：関連ニュース 安定版
  ※ .km-related-news の既存CSSがあっても上書きで安定させる
========================================= */
body.single-kabuyutai .km-related-news{
  margin: 22px 0;
  padding: 16px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  background: #f6fbf7;
}

body.single-kabuyutai .km-related-news h2{
  margin: 0 0 12px;
  font-size: 18px;
  line-height: 1.3;
  font-weight: 900;
}

/* ここが重要：2列化しない。空の枠が出る事故を潰す */
body.single-kabuyutai .km-related-news__cards{
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

/* カード */
body.single-kabuyutai .km-related-news__card{
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;

  width: 100% !important;
  padding: 12px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  background: #fff !important;
  text-decoration: none !important;
  color: inherit !important;

  min-width: 0 !important;
}

body.single-kabuyutai .km-related-news__thumb{
  width: 120px !important;
  aspect-ratio: 1200 / 630 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #e9f4ee !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  flex: 0 0 auto !important;
}

body.single-kabuyutai .km-related-news__thumb img{
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important; /* ロゴが切れない */
  display: block !important;
}

/* 本文側 */
body.single-kabuyutai .km-related-news__body{
  min-width: 0 !important;
}

body.single-kabuyutai .km-related-news__meta{
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  margin-bottom: 6px !important;
  font-size: 12px !important;
  color: rgba(0,0,0,.55) !important;
}

/* バッジが縦書きになったり割れる事故防止 */
body.single-kabuyutai .km-related-news__badge{
  display: inline-flex !important;
  align-items: center !important;
  padding: .12em .6em !important;
  border-radius: 999px !important;
  border: 1px solid #cfe3d9 !important;
  background: #f6fbf8 !important;
  color: #0b6b39 !important;
  font-weight: 900 !important;
  font-size: 11px !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  word-break: keep-all !important;
}

body.single-kabuyutai .km-related-news__title{
  font-size: 13.5px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
  color: rgba(0,0,0,.86) !important;

  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body.single-kabuyutai .km-related-news__excerpt{
  margin-top: 6px !important;
  font-size: 12.5px !important;
  line-height: 1.6 !important;
  color: rgba(0,0,0,.62) !important;

  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

@media (max-width: 640px){
  body.single-kabuyutai .km-related-news__thumb{
    width: 104px !important;
  }
}
/* =========================================================
  FIX: 関連ニュース（表示が消える／右に空白が出る）対策
  対象：
   - 優待シングル  body.single-kabuyutai
   - 優待ニュース  body.single-yutai_news
  方針：
   - 既存CSSは極力触らず、最後で上書き
   - HTML実体に合わせて .km-related-news__grid を正しく制御
========================================================= */

/* -------------------------------
  1) 共通（kabuyutai / yutai_news）
-------------------------------- */
body.single-kabuyutai .km-related-news,
body.single-yutai_news .km-related-news{
  margin: 22px 0 !important;
  padding: 16px !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  border-radius: 14px !important;
  background: #f6fbf7 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.single-kabuyutai .km-related-news__head,
body.single-yutai_news .km-related-news__head{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 12px !important;
}

body.single-kabuyutai .km-related-news__dot,
body.single-yutai_news .km-related-news__dot{
  width: 10px !important;
  height: 18px !important;
  border-radius: 999px !important;
  background: #004a1c !important;
  flex: 0 0 auto !important;
}

body.single-kabuyutai .km-related-news__title,
body.single-yutai_news .km-related-news__title{
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}

/* ★重要：存在しない .__cards は使わず、実体の .__grid を固定 */
body.single-kabuyutai .km-related-news__grid,
body.single-yutai_news .km-related-news__grid{
  display: grid !important;
  grid-template-columns: 1fr !important; /* まず1列で“消える/空白”事故を止める */
  gap: 12px !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* カード：念のため“消える”系を全部潰す */
body.single-kabuyutai .km-related-news__card,
body.single-yutai_news .km-related-news__card{
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;

  width: 100% !important;
  min-width: 0 !important;

  padding: 12px !important;
  border-radius: 14px !important;
  border: 1px solid rgba(0,0,0,.08) !important;
  background: #fff !important;

  text-decoration: none !important;
  color: inherit !important;

  /* もしどこかで visibility/opacity が触られてても復帰 */
  visibility: visible !important;
  opacity: 1 !important;
}

/* サムネ */
body.single-kabuyutai .km-related-news__thumb,
body.single-yutai_news .km-related-news__thumb{
  width: 120px !important;
  aspect-ratio: 1200 / 630 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #e9f4ee !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  flex: 0 0 auto !important;
  box-sizing: border-box !important;
}

body.single-kabuyutai .km-related-news__thumb img,
body.single-yutai_news .km-related-news__thumb img{
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important; /* ロゴ切れ防止 */
  display: block !important;
}

/* 本文 */
body.single-kabuyutai .km-related-news__body,
body.single-yutai_news .km-related-news__body{
  min-width: 0 !important;
}

body.single-kabuyutai .km-related-news__meta,
body.single-yutai_news .km-related-news__meta{
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 6px !important;
  font-size: 12px !important;
  color: rgba(0,0,0,.55) !important;
}

/* バッジ（縦書き事故防止） */
body.single-kabuyutai .km-related-news__badge,
body.single-yutai_news .km-related-news__badge{
  display: inline-flex !important;
  align-items: center !important;
  padding: .12em .6em !important;
  border-radius: 999px !important;
  border: 1px solid #cfe3d9 !important;
  background: #f6fbf8 !important;
  color: #0b6b39 !important;
  font-weight: 900 !important;
  font-size: 11px !important;
  white-space: nowrap !important;
  writing-mode: horizontal-tb !important;
  word-break: keep-all !important;
}

/* タイトル・抜粋の切り詰め */
body.single-kabuyutai .km-related-news__headline,
body.single-yutai_news .km-related-news__headline{
  font-size: 13.5px !important;
  line-height: 1.45 !important;
  font-weight: 900 !important;
  color: rgba(0,0,0,.86) !important;

  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

body.single-kabuyutai .km-related-news__excerpt,
body.single-yutai_news .km-related-news__excerpt{
  margin-top: 6px !important;
  font-size: 12.5px !important;
  line-height: 1.6 !important;
  color: rgba(0,0,0,.62) !important;

  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* -------------------------------
  2) PCだけ2列に戻す（2件以上でも自然）
  ※「右の謎空白」は 1件の時に起きやすいので、
     まず1列で止血 → PCで2列にする
-------------------------------- */
@media (min-width: 900px){
  body.single-kabuyutai .km-related-news__grid,
  body.single-yutai_news .km-related-news__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* -------------------------------
  3) モバイル微調整
-------------------------------- */
@media (max-width: 640px){
  body.single-kabuyutai .km-related-news__thumb,
  body.single-yutai_news .km-related-news__thumb{
    width: 104px !important;
  }
}

/* -------------------------------
  4) もし「もっと見る」系を使ってるなら殺さない（表示を復帰）
  既存CSSで display:none にされて消えた場合の保険
-------------------------------- */
body.single-kabuyutai .km-related-news__actions,
body.single-yutai_news .km-related-news__actions{
  display: block !important;
  margin-top: 12px !important;
  text-align: center !important;
}

body.single-kabuyutai .km-related-news__more,
body.single-yutai_news .km-related-news__more{
  appearance: none !important;
  border: 1px solid rgba(0,0,0,.14) !important;
  background: #fff !important;
  border-radius: 999px !important;
  padding: 10px 16px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}
/* =========================================================
  FIX2: single-kabuyutai の「関連ニュース」右の空枠を消す
  原因：.km-related-news__grid 内に “空の子要素” が残っている
  対応：
   1) grid内の「空要素」を非表示
   2) カード以外の謎要素を非表示（has対応ブラウザ）
   3) レイアウトは崩さない（カードはそのまま）
========================================================= */

/* 対象を single-kabuyutai に限定 */
body.single-kabuyutai .km-related-news__grid{
  max-width: 100% !important;
}

/* 1) 完全に空の要素（HTML的に中身なし）を消す */
body.single-kabuyutai .km-related-news__grid > *:empty{
  display: none !important;
}

/* 2) “空ではない扱い” でも、中にカードが無い要素を消す（Chrome等はOK） */
@supports(selector(:has(*))){
  body.single-kabuyutai .km-related-news__grid > *:not(a.km-related-news__card):not(:has(a.km-related-news__card)){
    display: none !important;
  }
}

/* 3) 念のため：カードは常に表示（他CSSで消されても復帰） */
body.single-kabuyutai .km-related-news__grid a.km-related-news__card{
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
}

/* 4) もし grid が2列固定で事故る場合の保険（1列に戻す）
   ※右の空枠が消えれば、これは効かなくてもOK */
body.single-kabuyutai .km-related-news__grid{
  grid-template-columns: 1fr !important;
}
/* =========================================
  FIX: 関連ニュースの「空の枠（カードじゃない要素）」を消す
  - km-related-news__grid の直下は本来 <a.km-related-news__card> だけの想定
  - それ以外（spacer / group / 空divなど）は全部非表示
========================================= */

body.single-kabuyutai .km-related-news__grid{
  grid-template-columns: 1fr !important; /* 1列でOK */
}

/* ★本丸：カード以外の直下要素を全部消す */
body.single-kabuyutai .km-related-news__grid > :not(a.km-related-news__card){
  display: none !important;
}

/* 念のため：カードは必ず表示 */
body.single-kabuyutai .km-related-news__grid > a.km-related-news__card{
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
}
/* =========================================
  FIX: 優待ページ（single-kabuyutai）の関連ニュース
  - グリッドは2列を維持
  - ただし「記事が1件だけ」のときはカードを2列分に広げる
  - 余計な空要素は非表示
========================================= */

body.single-kabuyutai .km-related-news__grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important; /* ← 2列維持 */
  gap: 12px !important;
}

/* カード以外の直下要素（空の枠/余計なdiv等）を消す */
body.single-kabuyutai .km-related-news__grid > :not(a.km-related-news__card){
  display: none !important;
}

/* カードは必ずflex表示 */
body.single-kabuyutai .km-related-news__grid > a.km-related-news__card{
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
}

/* ★本題：カードが1件だけなら、2列ぶん使って横幅いっぱいにする */
body.single-kabuyutai .km-related-news__grid > a.km-related-news__card:only-child{
  grid-column: 1 / -1 !important; /* ← 2列分 */
}

/* ついでにスマホは1列 */
@media (max-width: 768px){
  body.single-kabuyutai .km-related-news__grid{
    grid-template-columns: 1fr !important;
  }
  body.single-kabuyutai .km-related-news__grid > a.km-related-news__card:only-child{
    grid-column: auto !important;
  }
}
:root{ --wp--style--root--padding-bottom: 0px !important; }
.wp-site-blocks{ padding-bottom:0 !important; }
.wp-site-blocks > :last-child{ margin-bottom:0 !important; }
/* タイトルの「サイ｜ンド」みたいな分割改行を止める */
.single .wp-block-post-title,
.page  .wp-block-post-title,
.single .entry-title,
.page  .entry-title{
  overflow-wrap: break-word; /* anywhere を上書き */
  word-break: normal;        /* 念のため */
  line-break: strict;        /* 任意：日本語禁則を強める */
  text-wrap: wrap;           /* balance を上書き */
}
.km-account-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(320px, 1fr));
  gap:28px;
  max-width:1100px;
  margin:32px auto;
}

.km-account-card{
  background:#fff;
  border-radius:24px;
  padding:28px 26px 24px;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
  border:1px solid #e8ecef;
}

.km-account-card-title{
  margin:0 0 24px;
  font-size:42px;
  line-height:1.15;
  font-weight:800;
  color:#18244a;
}

.km-account-card p{
  margin:0 0 18px;
}

.km-account-card label{
  display:block;
  margin-bottom:8px;
  font-size:16px;
  color:#222;
}

.km-account-card input[type="text"],
.km-account-card input[type="email"],
.km-account-card input[type="password"]{
  width:100%;
  box-sizing:border-box;
  padding:12px 14px;
  border:1px solid #c8d0d6;
  border-radius:10px;
  background:#fff;
  font-size:16px;
}

.km-account-card input[type="submit"],
.km-account-card button,
.km-account-card .tml-button{
  display:inline-block;
  border:none;
  border-radius:999px;
  background:#0d7a3a;
  color:#fff;
  font-size:18px;
  font-weight:700;
  padding:13px 26px;
  cursor:pointer;
}

.km-account-card .nsl-container,
.km-account-card .nextend-social-login{
  margin-top:18px;
}

.km-account-sub-link{
  margin:18px 0 0;
}

.km-account-sub-link a{
  color:#0d7a3a;
  font-weight:700;
  text-decoration:none;
}

.km-account-note{
  margin:18px 0 0;
  color:#333;
  line-height:1.8;
  font-size:15px;
}

@media (max-width: 900px){
  .km-account-grid{
    grid-template-columns:1fr;
  }

  .km-account-card-title{
    font-size:34px;
  }
}
body.post-type-archive-review .km-archive-reviews .km-lr-grid{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  gap:20px !important;
  align-items:stretch !important;
}

body.post-type-archive-review .km-archive-reviews .km-lr-grid > *{
  min-width:0 !important;
}

body.post-type-archive-review .km-archive-reviews .km-review-card{
  width:100% !important;
  margin:0 !important;
}

body.post-type-archive-review .km-archive-reviews .km-lr-media{
  display:block !important;
  overflow:hidden !important;
  border-radius:16px !important;
}

body.post-type-archive-review .km-archive-reviews .km-lr-media img{
  display:block !important;
  width:100% !important;
  aspect-ratio:4 / 3 !important;
  object-fit:cover !important;
}

body.post-type-archive-review .km-archive-reviews .km-lr-title{
  margin:14px 0 10px !important;
  line-height:1.5 !important;
}

body.post-type-archive-review .km-archive-reviews .km-chip.-brand{
  white-space:normal !important;
  word-break:break-word !important;
}

@media (min-width: 1400px){
  body.post-type-archive-review .km-archive-reviews .km-lr-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px){
  body.post-type-archive-review .km-archive-reviews .km-lr-grid{
    grid-template-columns:1fr !important;
  }
}

/* === 口コミカード：トップ/一覧 共通の見た目調整 =============== */
.wp-site-blocks .km-lr-grid{gap:18px;align-items:stretch}.wp-site-blocks .km-lr-grid>*{min-width:0}.wp-site-blocks .km-review-card{height:100%;min-width:0;padding:14px;border:1px solid #dbece1;border-radius:14px;background:linear-gradient(180deg,#fff 0%,#fbfefc 100%);box-shadow:0 8px 24px rgba(25,82,47,.08);display:flex;flex-direction:column;gap:10px}.wp-site-blocks .km-review-card:hover{border-color:#bddbc8;box-shadow:0 12px 28px rgba(25,82,47,.12)}.wp-site-blocks .km-lr-media{border-radius:12px!important;background:#edf7f1;aspect-ratio:4/3}.wp-site-blocks .km-lr-title{min-height:calc(1.42em * 2);margin:2px 0 0!important;font-size:1.02rem;line-height:1.42;font-weight:800}.wp-site-blocks .km-lr-title a{color:#173d27;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;text-decoration:none}.wp-site-blocks .km-lr-company,.wp-site-blocks .km-review-card .km-chip.-brand{color:#5c6f62;font-size:.84rem;font-weight:600;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(1.45em * 2);word-break:break-word}.wp-site-blocks .km-review-card .km-chip.-brand{width:100%;padding:0;border:0;border-radius:0;background:transparent;white-space:normal}.wp-site-blocks .km-rr-excerpt{min-height:calc(1.62em * 3);margin:0;color:#39463d;font-size:.9rem;line-height:1.62;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.wp-site-blocks .km-review-card .km-badges{gap:6px;margin:0}.wp-site-blocks .km-review-card .km-badge.-tag{padding:.32em .66em;border-color:#dcefe3;background:#f5fbf7;color:#477259;font-size:.78rem;font-weight:700}.wp-site-blocks .km-review-invest{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto;padding-top:2px}.wp-site-blocks .km-review-invest .km-pill{min-width:0;width:auto;min-height:74px;padding:10px 12px;border:1px solid #d9eadf;border-radius:10px;background:#f7fcf9;box-shadow:none;color:#124a2a;display:grid;grid-template-columns:14px 1fr;grid-template-rows:auto 1fr;grid-template-areas:"ic label" "val val";column-gap:6px;row-gap:5px}.wp-site-blocks .km-review-invest .km-ic{grid-area:ic;font-size:.82rem;line-height:1.1;opacity:.72}.wp-site-blocks .km-review-invest .km-label{grid-area:label;color:#5b7463;font-size:.68rem;font-weight:800;line-height:1.25;white-space:nowrap}.wp-site-blocks .km-review-invest .km-val{grid-area:val;align-self:end;color:#0c4f2b;font-size:.92rem;font-weight:800;line-height:1.25;white-space:nowrap;overflow-wrap:normal}.wp-site-blocks .km-subnote{grid-column:1 / -1;justify-self:start;width:auto;max-width:100%;margin:0;padding:5px 10px;border:1px solid #cfe5d6;border-radius:999px;background:#edf8f1;color:#1d643b;font-size:.78rem;font-weight:800;line-height:1.2}.wp-site-blocks .km-cta{margin-top:2px;text-align:left}.wp-site-blocks .km-btn-read{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:999px;background:#0b6b39;color:#fff!important;font-size:.9rem;font-weight:800;text-decoration:none;box-shadow:0 6px 14px rgba(11,107,57,.16)}.wp-site-blocks .km-btn-read:hover{background:#07572d;filter:none}body.post-type-archive-review .km-archive-reviews .km-lr-title{margin:2px 0 0!important;line-height:1.42!important}body.post-type-archive-review .km-archive-reviews .km-chip.-brand{white-space:normal!important}@media (max-width:520px){.wp-site-blocks .km-review-card{padding:12px;gap:9px}.wp-site-blocks .km-review-invest{grid-template-columns:1fr 1fr;gap:7px}.wp-site-blocks .km-review-invest .km-pill{min-height:68px;padding:9px 10px}.wp-site-blocks .km-review-invest .km-val{font-size:.9rem}.wp-site-blocks .km-btn-read{width:100%}}

/* ========================================================
   記事本文用の再利用可能な装飾
======================================================== */
body.single-post .wp-block-post-content :is(
  .km-article-summary,
  .km-point-box,
  .km-warning-box,
  .km-cta-row
){
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  overflow-wrap:anywhere;
}

body.single-post .wp-block-post-content :is(
  .km-article-summary,
  .km-point-box,
  .km-warning-box
) > :first-child::before{
  content:"";
  display:inline-block;
  margin-right:10px;
  vertical-align:-.3em;
  background-position:center;
  background-repeat:no-repeat;
}

body.single-post .wp-block-post-content .km-article-summary > :first-child::before{
  width:36px;
  height:36px;
  background-image:url("assets/images/article/icon-summary.webp");
  background-size:120%;
}

body.single-post .wp-block-post-content .km-point-box > :first-child::before{
  width:34px;
  height:34px;
  background-image:url("assets/images/article/icon-point.webp");
  background-size:140%;
}

body.single-post .wp-block-post-content .km-warning-box > :first-child::before{
  width:36px;
  height:36px;
  background-image:url("assets/images/article/icon-warning.webp");
  background-size:145%;
}

body.single-post .wp-block-post-content > h2.wp-block-heading{
  margin-block:3rem 1.25rem;
  padding:.75em 1em;
  border-left:6px solid #004a1c;
  border-radius:8px;
  background:#eef8f1;
  color:#173d27;
  font-size:clamp(1.35rem,2.2vw,1.65rem);
  line-height:1.45;
}

body.single-post .wp-block-post-content .km-article-summary{
  margin:1.5rem 0;
  padding:clamp(1rem,3vw,1.5rem);
  border:1px solid #cfe5d6;
  border-left:6px solid var(--km-green);
  border-radius:14px;
  background:#f4faf6;
  color:#173d27;
  line-height:1.8;
}

body.single-post .wp-block-post-content .km-point-box{
  margin:1.5rem 0;
  padding:clamp(1rem,3vw,1.4rem);
  border:1px solid #b9d8c4;
  border-top:5px solid var(--km-green);
  border-radius:12px;
  background:#fff;
  color:var(--km-text);
  line-height:1.8;
}

body.single-post .wp-block-post-content .km-warning-box{
  margin:1.5rem 0;
  padding:clamp(1rem,3vw,1.4rem);
  border:1px solid #dfc682;
  border-left:6px solid #a56600;
  border-radius:12px;
  background:#fff9e8;
  color:#4d3900;
  line-height:1.8;
}

body.single-post .wp-block-post-content .km-check-list{
  margin:1rem 0 1.5rem;
  padding:0;
  list-style:none;
}

body.single-post .wp-block-post-content .km-check-list > li{
  position:relative;
  margin:.65rem 0;
  padding-left:1.8rem;
  line-height:1.7;
}

body.single-post .wp-block-post-content .km-check-list > li::before{
  content:"✓";
  position:absolute;
  top:0;
  left:0;
  color:var(--km-green);
  font-weight:800;
}

body.single-post .wp-block-post-content .km-cta-row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:1.5rem 0;
}

body.single-post .wp-block-post-content :is(
  .km-cta-rakuten,
  .km-cta-sbi,
  .km-cta-kabumeshi,
  .km-cta-secondary
){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:100%;
  min-height:48px;
  padding:.8rem 1rem;
  border:2px solid transparent;
  border-radius:10px;
  font-weight:700;
  line-height:1.4;
  text-align:center;
  text-decoration:none;
  box-sizing:border-box;
  transition:filter .15s ease,transform .15s ease;
}

body.single-post .wp-block-post-content a.km-cta-rakuten,
body.single-post .wp-block-post-content a.km-cta-rakuten:visited,
body.single-post .wp-block-post-content a.km-cta-rakuten:hover,
body.single-post .wp-block-post-content a.km-cta-sbi,
body.single-post .wp-block-post-content a.km-cta-sbi:visited,
body.single-post .wp-block-post-content a.km-cta-sbi:hover,
body.single-post .wp-block-post-content a.km-cta-kabumeshi,
body.single-post .wp-block-post-content a.km-cta-kabumeshi:visited,
body.single-post .wp-block-post-content a.km-cta-kabumeshi:hover{
  color:#fff!important;
}

body.single-post .wp-block-post-content .wp-block-button:is(
  .km-cta-rakuten,
  .km-cta-sbi,
  .km-cta-kabumeshi
) > a.wp-block-button__link,
body.single-post .wp-block-post-content .wp-block-button:is(
  .km-cta-rakuten,
  .km-cta-sbi,
  .km-cta-kabumeshi
) > a.wp-block-button__link:is(:link,:visited,:hover,:focus,:active){
  color:#fff!important;
}

body.single-post .wp-block-post-content .km-cta-rakuten{
  background:#8b1a1a;
}

body.single-post .wp-block-post-content .km-cta-sbi{
  background:#075985;
}

body.single-post .wp-block-post-content .km-cta-kabumeshi{
  background:var(--km-green);
}

body.single-post .wp-block-post-content a.km-cta-secondary,
body.single-post .wp-block-post-content a.km-cta-secondary:visited,
body.single-post .wp-block-post-content a.km-cta-secondary:hover{
  border-color:#42534a;
  background:#fff;
  color:#24352c!important;
}

body.single-post .wp-block-post-content .wp-block-button.km-cta-secondary > a.wp-block-button__link,
body.single-post .wp-block-post-content .wp-block-button.km-cta-secondary > a.wp-block-button__link:is(:link,:visited,:hover,:focus,:active){
  color:#24352c!important;
}

body.single-post .wp-block-post-content :is(
  .km-cta-rakuten,
  .km-cta-sbi,
  .km-cta-kabumeshi,
  .km-cta-secondary
):hover{
  filter:brightness(.92);
}

body.single-post .wp-block-post-content :is(
  .km-cta-rakuten,
  .km-cta-sbi,
  .km-cta-kabumeshi,
  .km-cta-secondary
):focus-visible{
  outline:3px solid #e85c0d;
  outline-offset:3px;
}

@media (max-width:600px){
  body.single-post .wp-block-post-content .km-cta-row{
    grid-template-columns:1fr;
  }

  body.single-post .wp-block-post-content :is(
    .km-article-summary,
    .km-point-box,
    .km-warning-box
  ){
    padding:1rem;
  }

  body.single-post .wp-block-post-content .km-article-summary > :first-child::before{
    width:28px;
    height:28px;
  }

  body.single-post .wp-block-post-content .km-point-box > :first-child::before{
    width:28px;
    height:28px;
  }

  body.single-post .wp-block-post-content .km-warning-box > :first-child::before{
    width:30px;
    height:30px;
  }

  body.single-post .wp-block-post-content > h2.wp-block-heading{
    margin-block:2.25rem 1rem;
    padding:.65em .8em;
    border-left-width:5px;
    border-radius:7px;
    font-size:1.25rem;
  }

  body.single-post .wp-block-post-content figure.wp-block-table{
    display:block;
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  body.single-post .wp-block-post-content figure.wp-block-table > table{
    width:100%;
    min-width:680px;
    table-layout:auto;
  }
}

/* ==================================================
   カブメシとは /about-kabumeshi/
================================================== */
.km-about-page{
  overflow-x:hidden;
  background:#fff;
  color:#34433a;
  font-size:clamp(16px, 1.2vw, 18px);
  line-height:1.7;
}
.km-about-page > .wp-block-post-content{
  margin:0;
  padding:0;
}
.km-about-page .km-about-inner{
  width:min(1180px, calc(100% - 48px));
  margin-inline:auto;
}
.km-about-page .km-about-hero{
  background:linear-gradient(135deg, #fffaf0 0%, #edf7ef 100%);
}
.km-about-page .km-about-hero__inner{
  width:min(1280px, calc(100% - 48px));
  margin-inline:auto;
  padding:clamp(56px, 7vw, 88px) 0 36px;
}
.km-about-page .km-about-hero__eyebrow{
  margin:0 0 12px;
  color:#d8570b;
  font-size:.88rem;
  font-weight:800;
  letter-spacing:.12em;
  text-align:center;
}
.km-about-page .km-about-hero__title,
.km-about-page .km-about-section__title,
.km-about-page .km-about-card__title,
.km-about-page .km-about-feature__title,
.km-about-page .km-about-step__title,
.km-about-page .km-about-note__title,
.km-about-page .km-about-cta__title{
  color:#073f24;
  text-wrap:balance;
}
.km-about-page .km-about-hero__title{
  max-width:none;
  margin:0 auto clamp(36px, 5vw, 56px);
  font-size:clamp(2.4rem, 4.2vw, 4rem);
  line-height:1.22;
  text-align:center;
}
.km-about-page .km-about-hero__body{
  display:grid;
  grid-template-columns:minmax(0, 44fr) minmax(0, 56fr);
  align-items:center;
  gap:clamp(36px, 5vw, 68px);
  width:min(1200px, 100%);
  margin-inline:auto;
}
.km-about-page .km-about-hero__content,
.km-about-page .km-about-hero__media{
  min-width:0;
}
.km-about-page .km-about-hero__lead,
.km-about-page .km-about-section__lead,
.km-about-page .km-about-feature__text,
.km-about-page .km-about-card__text,
.km-about-page .km-about-step__text{
  text-wrap:pretty;
  line-break:strict;
  word-break:normal;
}
.km-about-page .km-about-hero__lead{
  max-width:34em;
  margin:0;
  color:#34433a;
  font-size:clamp(1rem, 1.35vw, 1.1rem);
  line-height:1.8;
  text-align:left;
}
.km-about-page .km-about-hero__actions,
.km-about-page .km-about-feature__actions,
.km-about-page .km-about-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.km-about-page .km-about-hero__actions{
  margin-top:28px;
  justify-content:flex-start;
}
.km-about-page .wp-block-button.km-btn{
  min-width:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  box-sizing:border-box;
  background:transparent;
  box-shadow:none;
  color:inherit;
}
.km-about-page .km-about-hero__actions .km-btn,
.km-about-page .km-about-cta__actions .km-btn{
  flex:0 0 225px;
  width:225px;
}
.km-about-page .km-btn .wp-block-button__link{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  padding:10px 18px;
  border-radius:999px;
  box-sizing:border-box;
  font-size:.95rem;
  font-weight:800;
  line-height:1.35;
  text-align:center;
}
.km-about-page .km-btn.-accent .wp-block-button__link{
  border:1px solid #e85c0d;
  background:#e85c0d;
  color:#fff;
}
.km-about-page .km-btn.-outline .wp-block-button__link{
  border:1px solid #0b5a30;
  background:#fff;
  color:#0b5a30;
}
.km-about-page .km-about-hero__media{
  justify-self:end;
  width:100%;
}
.km-about-page .km-about-scroll-cue{
  margin:30px 0 0;
  font-size:1rem;
  font-weight:800;
  text-align:center;
}
.km-about-page .km-about-scroll-cue a{
  display:inline-block;
  padding:8px 12px;
  border-radius:8px;
  color:#0b5a30;
  text-decoration:none;
}
.km-about-page .km-about-scroll-cue a:hover{
  background:#e2f1e6;
  text-decoration:underline;
}
.km-about-page .km-about-nav{
  position:sticky;
  z-index:20;
  top:0;
  border-block:1px solid #d9e8dd;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(10px);
}
.km-about-page .km-about-nav__list{
  display:flex;
  gap:8px;
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
  padding:12px 0;
  overflow-x:auto;
  list-style:none;
  scrollbar-width:none;
}
.km-about-page .km-about-nav__link{
  display:block;
  padding:8px 13px;
  border-radius:999px;
  color:#174b2d;
  font-size:.86rem;
  font-weight:700;
  text-decoration:none;
  white-space:nowrap;
}
.km-about-page .km-about-nav__link:hover{
  background:#e8f4eb;
}
.km-about-page .km-about-nav__link:focus-visible,
.km-about-page .km-about-faq__item > summary:focus-visible{
  outline:3px solid rgba(232,92,13,.35);
  outline-offset:3px;
}
.km-about-page .km-about-section{
  margin:0;
  padding-block:clamp(72px, 8vw, 104px);
  background:#fff;
}
.km-about-page #features{
  background:#e4f2e8;
}
.km-about-page #membership{
  background:#fff8ea;
}
.km-about-page #how-to{
  background:#f7fbf8;
}
.km-about-page #recommended{
  background:#fff;
}
.km-about-page #faq{
  background:#e7f4ea;
}
.km-about-page .km-about-section__head{
  max-width:760px;
  margin:0 auto clamp(36px, 5vw, 56px);
  text-align:center;
}
.km-about-page .km-about-section__label{
  margin:0 0 10px;
  color:#d8570b;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.12em;
}
.km-about-page .km-about-section__title{
  margin:0;
  font-size:clamp(1.9rem, 3.3vw, 3rem);
  line-height:1.35;
}
.km-about-page #about .km-about-section__head{
  max-width:1050px;
}
.km-about-page #about .km-about-section__title{
  font-size:clamp(1.85rem, 3vw, 2.8rem);
}
.km-about-page #membership .km-about-section__head{
  max-width:1050px;
}
.km-about-page #membership .km-about-section__title{
  font-size:clamp(1.8rem, 2.8vw, 2.7rem);
}
.km-about-page .km-about-no-break{
  white-space:normal;
}
@media (min-width:769px){
  .km-about-page .km-about-no-break{
    white-space:nowrap;
  }
}
.km-about-page .km-about-section__lead{
  max-width:42em;
  margin:18px auto 0;
  color:#405047;
  font-size:1rem;
  line-height:1.75;
}
.km-about-page .km-about-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:1fr;
  align-items:stretch;
  gap:22px;
}
.km-about-page .km-about-cards > .km-about-card{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:100%;
  margin-block:0;
  padding:28px;
  border:1px solid #d5e7da;
  border-radius:18px;
  box-sizing:border-box;
  background:#fff;
  box-shadow:0 8px 24px rgba(4,66,30,.06);
}
.km-about-page .km-about-card__icon{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin:0 0 20px;
  border-radius:50%;
  background:#e7f4ea;
  color:#0a6333;
  font-weight:800;
}
.km-about-page .km-about-card__title{
  margin:0 0 12px;
  font-size:1.22rem;
  line-height:1.45;
}
.km-about-page .km-about-card__text{
  margin:0;
  color:#3d4a42;
  font-size:16px;
  line-height:1.7;
}
.km-about-page .km-about-card__text:last-child,
.km-about-page .km-about-step__text:last-child{
  margin-bottom:0;
}
.km-about-page .km-about-feature{
  display:grid;
  grid-template-columns:minmax(0, 48fr) minmax(0, 52fr);
  align-items:center;
  gap:clamp(32px, 5vw, 64px);
  margin:0;
  padding:clamp(28px, 4vw, 48px);
  border:1px solid #cce2d2;
  border-radius:22px;
  background:#fff;
  box-shadow:0 10px 28px rgba(4,66,30,.07);
}
.km-about-page .km-about-feature + .km-about-feature{
  margin-top:28px;
}
.km-about-page .km-about-feature__content,
.km-about-page .km-about-feature__media{
  min-width:0;
}
.km-about-page .km-about-feature--reverse .km-about-feature__content{
  order:2;
}
.km-about-page .km-about-feature--reverse .km-about-feature__media{
  order:1;
}
.km-about-page .km-about-feature__number{
  display:inline-flex;
  margin:0 0 14px;
  padding:6px 11px;
  border-radius:999px;
  background:#e9f5ec;
  color:#086331;
  font-size:.78rem;
  font-weight:800;
}
.km-about-page .km-about-feature__title{
  margin:0 0 16px;
  font-size:clamp(1.45rem, 2.4vw, 2.15rem);
  line-height:1.4;
}
.km-about-page .km-about-feature__text{
  max-width:36em;
  margin:0;
  color:#38473e;
  font-size:16px;
  line-height:1.7;
}
.km-about-page .km-about-feature__list{
  margin:18px 0 0;
  padding-left:1.25em;
  color:#34433a;
  font-size:16px;
  line-height:1.7;
}
.km-about-page .km-about-feature__list > li::marker{
  color:#e85c0d;
}
.km-about-page .km-about-feature__actions{
  margin-top:24px;
  justify-content:flex-start;
}
.km-about-page .km-about-feature__actions .km-btn{
  flex:0 0 220px;
  width:220px;
  max-width:220px;
}
.km-about-page .km-about-feature__actions .wp-block-button__link{
  min-height:46px;
}
.km-about-page .km-about-device{
  overflow:hidden;
  border:1px solid #d7e2da;
  background:#fff;
  box-shadow:0 12px 30px rgba(3,55,25,.09);
}
.km-about-page .km-about-device--browser{
  border:2px solid #0b5a30;
  border-radius:14px;
  box-shadow:0 10px 26px rgba(3,55,25,.1);
}
.km-about-page .km-about-device--phone{
  width:min(270px, 78%);
  margin-inline:auto;
  border:7px solid #173b28;
  border-radius:30px;
}
.km-about-page .km-about-device--browser .km-about-device__bar{
  display:none;
}
.km-about-page .km-about-device__screen,
.km-about-page .km-about-device__screen .wp-block-image{
  margin:0;
}
.km-about-page .km-about-device__screen img,
.km-about-page .km-about-device__screen .wp-block-image img{
  display:block;
  width:100%;
  height:auto;
}
.km-about-page .km-about-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:1fr;
  align-items:stretch;
  gap:22px;
}
.km-about-page .km-about-steps > .km-about-step{
  align-self:stretch;
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:100%;
  margin-block:0;
  padding:28px;
  border:1px solid #d5e7da;
  border-radius:18px;
  box-sizing:border-box;
  background:#fff;
  box-shadow:0 8px 24px rgba(4,66,30,.06);
}
.km-about-page .km-about-step__number{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  margin:0 0 18px;
  border-radius:50%;
  background:#0a5b30;
  color:#fff;
  font-weight:800;
}
.km-about-page .km-about-step__title{
  margin:0 0 12px;
  font-size:1.2rem;
  line-height:1.45;
}
.km-about-page .km-about-step__text{
  margin:0;
  color:#3d4a42;
  font-size:16px;
  line-height:1.7;
}
.km-about-page .km-about-membership-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch;
  gap:22px;
}
.km-about-page .km-about-note{
  margin:0;
  padding:24px;
  border:1px solid #e5ddc8;
  border-left:4px solid #e85c0d;
  border-radius:14px;
  background:#fff;
}
.km-about-page .km-about-note__title{
  margin:0 0 12px;
  font-size:1.15rem;
}
.km-about-page .km-about-note--wide{
  margin-top:22px;
}
.km-about-page .km-about-note--compact{
  padding:20px 24px;
}
.km-about-page .km-about-note--compact p{
  margin:0;
}
.km-about-page .km-about-faq{
  max-width:900px;
  margin-inline:auto;
  padding:clamp(18px, 3vw, 30px);
  border:1px solid #d2e6d7;
  border-radius:20px;
  background:#fff;
  box-shadow:0 8px 24px rgba(4,66,30,.05);
}
.km-about-page .km-about-faq__item{
  border-bottom:1px solid #dce9df;
}
.km-about-page .km-about-faq__item:last-child{
  border-bottom:0;
}
.km-about-page .km-about-faq__item > summary{
  position:relative;
  padding:22px 48px 22px 42px;
  color:#123f27;
  font-weight:800;
  line-height:1.55;
  cursor:pointer;
  list-style:none;
}
.km-about-page .km-about-faq__item > summary::-webkit-details-marker{
  display:none;
}
.km-about-page .km-about-faq__item > summary::before{
  position:absolute;
  top:22px;
  left:0;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#e9f5ec;
  color:#086331;
  font-size:.8rem;
  content:"Q";
}
.km-about-page .km-about-faq__item > summary::after{
  position:absolute;
  top:22px;
  right:8px;
  width:28px;
  height:28px;
  border:1px solid #8bb99a;
  border-radius:50%;
  background:
    linear-gradient(#0b5a30,#0b5a30) center / 12px 2px no-repeat,
    linear-gradient(#0b5a30,#0b5a30) center / 2px 12px no-repeat;
  content:"";
}
.km-about-page .km-about-faq__item[open] > summary::after{
  background:
    linear-gradient(#0b5a30,#0b5a30) center / 12px 2px no-repeat;
}
.km-about-page .km-about-faq__item > :not(summary){
  margin:0;
  padding:0 48px 22px 42px;
  color:#3b4940;
  font-size:16px;
  line-height:1.7;
  text-wrap:pretty;
  line-break:strict;
  word-break:normal;
}
.km-about-page .km-about-cta{
  padding:clamp(36px, 6vw, 64px);
  border-radius:24px;
  background:#064b28;
  color:#fff;
  text-align:center;
}
.km-about-page .km-about-cta__title{
  margin:0;
  color:#fff;
  font-size:clamp(1.8rem, 3.2vw, 2.8rem);
}
.km-about-page .km-about-cta__text{
  max-width:700px;
  margin:18px auto 0;
  color:#eef8f1;
}
.km-about-page .km-about-cta__actions{
  margin-top:28px;
  justify-content:center;
}
.km-about-page .km-about-cta__actions .km-btn.-outline .wp-block-button__link{
  border:2px solid #fff;
  background:transparent;
  color:#fff;
}
.km-about-page .km-about-disclaimer{
  margin-top:24px;
}
.km-about-page .km-about-disclaimer ul{
  margin-block:0;
}
.km-about-page .km-about-disclaimer li + li{
  margin-top:4px;
}

@media (min-width:1100px){
  /* PC preview refinements */
  .km-about-page .km-about-hero__title{
    white-space:nowrap;
  }
}

@media (max-width:900px){
  .km-about-page .km-about-hero__body,
  .km-about-page .km-about-feature{
    grid-template-columns:1fr;
  }
  .km-about-page .km-about-hero__content{
    display:contents;
  }
  .km-about-page .km-about-hero__lead{
    grid-row:1;
    max-width:42em;
  }
  .km-about-page .km-about-hero__media{
    grid-row:2;
    justify-self:stretch;
  }
  .km-about-page .km-about-hero__actions{
    grid-row:3;
    margin-top:0;
  }
  .km-about-page .km-about-feature__content,
  .km-about-page .km-about-feature--reverse .km-about-feature__content{
    order:1;
  }
  .km-about-page .km-about-feature__media,
  .km-about-page .km-about-feature--reverse .km-about-feature__media{
    order:2;
  }
}

@media (max-width:760px){
  .km-about-page .km-about-inner,
  .km-about-page .km-about-hero__inner{
    width:min(100% - 32px, 1180px);
  }
  .km-about-page .km-about-cards,
  .km-about-page .km-about-steps{
    grid-template-columns:1fr;
    grid-auto-rows:auto;
  }
  .km-about-page .km-about-cards > .km-about-card,
  .km-about-page .km-about-steps > .km-about-step{
    height:auto;
    min-height:0;
  }
}

@media (max-width:640px){
  .km-about-page .km-about-nav{
    overflow:hidden;
  }
  .km-about-page .km-about-nav::after{
    position:absolute;
    z-index:2;
    top:0;
    right:0;
    bottom:0;
    display:grid;
    place-items:center;
    width:56px;
    box-sizing:border-box;
    padding-left:16px;
    background:linear-gradient(to right,rgba(255,255,255,0),#fff 68%);
    color:#0b5a30;
    content:"›";
    font-size:1.35rem;
    font-weight:800;
    pointer-events:none;
  }
  .km-about-page .km-about-nav__list{
    width:100%;
    box-sizing:border-box;
    margin:0;
    padding:12px 56px 12px 16px;
    flex-wrap:nowrap;
    -ms-overflow-style:none;
  }
  .km-about-page .km-about-nav__list::-webkit-scrollbar{
    display:none;
  }
  .km-about-page .km-about-nav__list > li{
    flex:0 0 auto;
  }
  .km-about-page .km-about-nav__link{
    font-size:.9rem;
  }
  .km-about-page .km-about-hero__inner{
    padding-top:48px;
  }
  .km-about-page .km-about-hero__title{
    margin-bottom:32px;
    font-size:clamp(2rem, 10vw, 2.75rem);
  }
  .km-about-page .km-about-hero__body{
    gap:24px;
  }
  .km-about-page .km-about-hero__actions,
  .km-about-page .km-about-feature__actions,
  .km-about-page .km-about-cta__actions{
    flex-direction:column;
    align-items:stretch;
  }
  .km-about-page .km-about-hero__actions .km-btn,
  .km-about-page .km-about-feature__actions .km-btn,
  .km-about-page .km-about-cta__actions .km-btn{
    flex-basis:auto;
    width:100%;
    max-width:none;
  }
  .km-about-page .km-about-section{
    padding-block:56px;
  }
  .km-about-page .km-about-feature{
    gap:28px;
    padding:24px 20px;
    border-radius:18px;
  }
  .km-about-page .km-about-membership-grid{
    grid-template-columns:1fr;
  }
  .km-about-page .km-about-faq{
    padding:10px 16px;
    border-radius:16px;
  }
  .km-about-page .km-about-faq__item > summary{
    padding:20px 36px 20px 36px;
  }
  .km-about-page .km-about-faq__item > summary::before{
    top:19px;
  }
  .km-about-page .km-about-faq__item > summary::after{
    right:0;
  }
  .km-about-page .km-about-faq__item > :not(summary){
    padding:0 0 20px 36px;
  }
  .km-about-page .km-about-cta{
    padding:36px 20px;
    border-radius:18px;
  }
}