/*
 Theme Name: Twenty Seventeen Child
 Template: twentyseventeen
 Version: 1.0
*/

/* =========================
   Base
========================= */
html { -webkit-text-size-adjust: 100%; }
body {
  font-family: "游ゴシック","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif !important;
  color:#333; letter-spacing:.02em;
}
p{ margin:0 0 1.1em; }
ul,ol{ margin:0 0 1.1em 1.2em; }
li{ margin:.3em 0; line-height:1.7; }
h1{ font-size:clamp(24px,1.1rem + 1.2vw,34px); line-height:1.25; margin:1.2em 0 .6em; }
h2{ font-size:clamp(20px,1rem + .8vw,28px); line-height:1.3; margin:1.1em 0 .6em; }
h3{ font-size:clamp(18px,.95rem + .5vw,22px); line-height:1.35; margin:1em 0 .5em; }
button,input,select,textarea{ font:inherit; line-height:1.4; }

/* WP 区切り線 */
.wp-block-separator{
  width:100% !important; max-width:100% !important;
  border:none; border-top:2px solid #FFF9C4; margin:2em 0;
}

/* CF7 補助 */
.menu-vertical .wpcf7-list-item{ display:block; margin:.35em 0; }
.menu-vertical .wpcf7-list-item-label{ margin-left:.35em; }

/* =========================
   Global Buttons (Brown theme)
   ー テーマの黒ボタンを完全上書き ー
========================= */
:root{
  --rc-brown:#6D4C41;
  --rc-brown-d:#5D4037;
  --rc-yellow:#FFE082;
  --rc-yellow-2:#FFD54F;
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.search-button,
.rc-cta{
  background-color:var(--rc-brown) !important;
  border:2px solid var(--rc-brown) !important;
  color:#fff !important;
  font-weight:600;
  border-radius:10px;
  padding:10px 16px;
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.search-button:hover,
.rc-cta:hover{
  background-color:var(--rc-brown-d) !important;
  border-color:var(--rc-brown-d) !important;
  transform:translateY(-2px);
}

/* =========================
   RC scope （干渉を避けるための親クラス）
========================= */
.rc-scope .rc-cases{
  max-width:980px; margin:0 auto 2.4rem; padding:0 12px;
}

/* 検索バー */
.rc-scope .rc-searchbar{
  display:flex; gap:10px; margin:0 0 1rem; flex-wrap:wrap;
}
.rc-scope .rc-searchbar input[type="search"]{
  flex:1 1 320px; padding:10px 12px;
  border:1px solid #e5e7eb; border-radius:10px; font-size:.95rem;
}

/* カテゴリチップ（黄色・丸・ボタン風） */
.rc-scope .rc-filters{ display:flex; flex-wrap:wrap; gap:.6rem; margin:0 0 1.2rem; }
.rc-chip{
  display:inline-block; padding:6px 14px; border-radius:999px;
  background:var(--rc-yellow); border:2px solid var(--rc-yellow);
  color:#473f2b; font-size:.9rem; font-weight:600; text-decoration:none;
  cursor:pointer; transition:all .25s ease;
}
.rc-chip:hover, .rc-chip:focus-visible{
  background:var(--rc-yellow-2); border-color:var(--rc-yellow-2); color:#333; transform:translateY(-2px);
}
.rc-chip.is-active{
  background:#FFC107; border-color:#FFC107; color:#fff;
}

/* Grid */
.rc-scope .rc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:900px){ .rc-scope .rc-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .rc-scope .rc-grid{ grid-template-columns:1fr; } }

/* Card */
.rc-scope .rc-card{
  background:#fff; border:1px solid #eee; border-radius:14px; overflow:hidden;
  box-shadow:0 4px 14px rgba(0,0,0,.04); transition:transform .25s ease, box-shadow .25s ease;
  display:flex; flex-direction:column;
}
.rc-scope .rc-card:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.08); }
.rc-scope .rc-card .thumb{ aspect-ratio:4/3; overflow:hidden; }
.rc-scope .rc-card .thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.rc-scope .rc-card .body{ padding:14px; display:flex; flex-direction:column; gap:8px; }
.rc-scope .rc-card .title{ font-weight:700; font-size:1.05rem; color:#111827; margin:0; }
.rc-scope .rc-meta{ font-size:.85rem; color:#666; }
.rc-scope .rc-quote{
  font-size:.92rem; color:#4b5563; background:#fafafa;
  border:1px dashed #ececec; border-radius:10px; padding:10px 12px;
}

/* Empty */
.rc-scope .rc-empty{
  padding:24px; text-align:center; color:#6b7280;
  border:1px dashed #e5e7eb; border-radius:12px; margin-top:1.5rem;
}

/* =========================
   料金表
========================= */
.rc-price-list{
  --rc-yellow:#FFF9C4; --rc-yellow-2:#FFE082; --rc-yellow-hover:#FFD54F; --rc-text:#333;
  color:var(--rc-text); max-width:720px; margin:2em auto; padding:0 12px;
}
.rc-price-list h2{
  font-size:1.3rem; margin:0 0 1em; color:#444;
  border-left:6px solid var(--rc-yellow-2); padding-left:.6em;
}
.rc-price-item{ border-bottom:1px solid #eee; padding:1.2em 0; }
.rc-price-header{ display:flex; align-items:center; gap:.5rem; flex-wrap:nowrap; min-width:0; margin-bottom:.4em; }
.rc-price-title{ font-weight:700; font-size:1.1rem; line-height:1.35; flex:1 1 auto; min-width:0; }
.rc-price-value{ font-weight:800; font-size:1.2rem; color:#333; margin-left:auto; white-space:nowrap; }
.rc-price-value small{ font-weight:600; font-size:.8rem; color:#666; margin-left:.3em; }
.rc-price-desc{ margin:.3em 0 .6em; color:#555; line-height:1.6; }

/* 料金表のCTA（色はグローバルボタンに従うため上書き不要） */
@media (max-width:600px){
  .rc-price-list .rc-price-header{ flex-wrap:wrap; }
  .rc-price-list .rc-price-value{ order:3; width:100%; margin:.25rem 0 0; }
}
/* おすすめバッジ */
.rc-price-list .rc-badge{
  background:#8BC34A; color:#fff; padding:2px 8px; border-radius:6px; font-size:.8rem; margin-left:.4em;
}
/* 備考 */
.rc-price-note{ max-width:720px; margin:.5rem auto 2rem; padding:0 12px; color:#666; font-size:.95rem; }

/* =========================
   Cases（/home/cases/）― 見出しの左黄バー
========================= */
.rc-cases h2,
.rc-cases .rc-title{
  font-size:1.35rem; margin:0 0 1rem; color:#444;
  border-left:6px solid #FFE082; padding-left:.6rem;
}

/* =========================
   応急ブリッジ（.rc-scope で囲めない場合）
========================= */
.rc-cases{ max-width:980px; margin:0 auto 2.4rem; padding:0 12px; }
.rc-searchbar{ display:flex; gap:10px; margin:0 0 1rem; flex-wrap:wrap; }
.rc-searchbar input[type="search"]{
  flex:1 1 320px; padding:10px 12px; border:1px solid #e5e7eb; border-radius:10px; font-size:.95rem;
}
/* ※ボタン色はグローバル設定が当たるのでここでは指定しない */
.rc-filters{ display:flex; flex-wrap:wrap; gap:.6rem; margin:0 0 1.2rem; }

.rc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:900px){ .rc-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .rc-grid{ grid-template-columns:1fr; } }

.rc-card{
  background:#fff; border:1px solid #eee; border-radius:14px; overflow:hidden;
  box-shadow:0 4px 14px rgba(0,0,0,.04); transition:transform .25s ease, box-shadow .25s ease;
  display:flex; flex-direction:column;
}
.rc-card:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.08); }
.rc-card .thumb{ aspect-ratio:4/3; overflow:hidden; }
.rc-card .thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.rc-card .body{ padding:14px; display:flex; flex-direction:column; gap:8px; }
.rc-card .title{ font-weight:700; font-size:1.05rem; color:#111827; margin:0; }
.rc-meta{ font-size:.85rem; color:#666; }
.rc-quote{
  font-size:.92rem; color:#4b5563; background:#fafafa;
  border:1px dashed #ececec; border-radius:10px; padding:10px 12px;
}
.rc-empty{
  padding:24px; text-align:center; color:#6b7280;
  border:1px dashed #e5e7eb; border-radius:12px; margin-top:1.5rem;
}

/* ===== Revert & Scope Fix: ボタン色の巻き込みを解除 ===== */

/* 1) まず、RCの黄色ボタン＆チップを最優先で黄色に固定（復元） */
.rc-cta{
  background:#FFE082 !important;
  border:2px solid #FFE082 !important;
  color:#473f2b !important;
  border-radius:999px;
}
.rc-cta:hover, .rc-cta:focus-visible{
  background:#FFD54F !important;
  border-color:#FFD54F !important;
  color:#333 !important;
}

.rc-chip{
  background:#FFE082 !important;
  border:2px solid #FFE082 !important;
  color:#473f2b !important;
  border-radius:999px;
}
.rc-chip:hover, .rc-chip:focus-visible{
  background:#FFD54F !important;
  border-color:#FFD54F !important;
  color:#333 !important;
}
.rc-chip.is-active{
  background:#FFC107 !important;
  border-color:#FFC107 !important;
  color:#fff !important;
}

/* 2) ブラウンは “検索ボタンなどの送信系” にだけ限定して適用 */
.rc-searchbar input[type="submit"],
.wp-block-search .wp-block-search__button,
.wpcf7 form input[type="submit"]{
  background-color:#6D4C41 !important;   /* ダークブラウン */
  border:2px solid #6D4C41 !important;
  color:#fff !important;
  border-radius:10px;
  padding:10px 16px;
  font-weight:600;
  transition:background .2s, border-color .2s, transform .2s;
}
.rc-searchbar input[type="submit"]:hover,
.wp-block-search .wp-block-search__button:hover,
.wpcf7 form input[type="submit"]:hover{
  background-color:#5D4037 !important;
  border-color:#5D4037 !important;
  transform:translateY(-2px);
}

/* 3) 念のため：.rc-cases の見出しは黄色バーを維持 */
.rc-cases h2, .rc-cases .rc-title{
  border-left:6px solid #FFE082 !important;
}

/* ===== Voices（お客様の声・吹き出し） ===== */
.rc-voices{
  --rc-bubble:#fff;
  --rc-bubble-accent:#FFF9C4; /* 黄色の強調吹き出し */
  --rc-text:#333;
  font-family:"游ゴシック","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  max-width:820px;
  margin:0 auto 2.4rem;
  padding:0 8px;
  color:var(--rc-text);
}

.rc-voices h2{
  font-size:1.2rem;
  margin:0 0 1rem;
  color:#444;
  border-left:6px solid #FFE082; /* 料金一覧と同じ左黄バー */
  padding-left:.6em;
}

/* 声リスト */
.rc-voices .rc-voice{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:10px;
  align-items:flex-start;
  margin:0 0 16px;
}
.rc-voices .rc-voice.is-right{ grid-template-columns:1fr 48px; }
.rc-voices .rc-voice.is-right .rc-bubble{ order:-1; } /* 右寄せ */

/* アバター */
.rc-voices .rc-avatar{
  width:48px; height:48px; border-radius:50%;
  background:#f3f4f6; color:#555;
  display:flex; justify-content:center; align-items:center;
}

/* ※他所に影響しないよう、スコープ限定 */
.rc-voices .material-symbols-outlined{ font-size:26px; }

/* 吹き出し共通 */
.rc-voices .rc-bubble{
  background:var(--rc-bubble);
  border:1px solid #eee;
  border-radius:10px;
  padding:10px 14px;
  position:relative;
}
.rc-voices .rc-bubble::after{
  content:"";
  position:absolute; left:-6px; top:14px;
  width:0; height:0;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  border-right:6px solid #eee;
}
.rc-voices .rc-bubble::before{
  content:"";
  position:absolute; left:-5px; top:14px;
  width:0; height:0;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  border-right:6px solid var(--rc-bubble);
  z-index:1;
}
.rc-voices .rc-voice.is-right .rc-bubble::after{
  left:auto; right:-6px; border-right:none; border-left:6px solid #eee;
}
.rc-voices .rc-voice.is-right .rc-bubble::before{
  left:auto; right:-5px; border-right:none; border-left:6px solid var(--rc-bubble);
}

/* 黄色バージョン（強調） */
.rc-voices .rc-bubble.is-accent{
  background:var(--rc-bubble-accent);
  border-color:#f2eec5;
}
.rc-voices .rc-bubble.is-accent::before{ border-right-color:var(--rc-bubble-accent); }
.rc-voices .rc-voice.is-right .rc-bubble.is-accent::before{ border-left-color:var(--rc-bubble-accent); }

/* テキスト */
.rc-voices .rc-name{ font-weight:700; margin:0 0 .2em; font-size:.9rem; color:#111; }
.rc-voices .rc-text{ margin:.25em 0 0; line-height:1.6; font-size:.95rem; }

/* レスポンシブ微調整 */
@media (max-width:480px){
  .rc-voices{ padding:0 4px; }
  .rc-voices .rc-voice{ gap:8px; }
}

/* Footer sitemap */
.footer-sitemap{
  max-width:980px;
  margin:2rem auto 0;
  padding:1rem 12px 0;
  border-top:2px solid #FFF9C4; /* 既存の淡イエロー罫線に合わせる */
}

.footer-sitemap ul{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:.6rem .8rem;
  justify-content:center;
}

.footer-sitemap li{ margin:0; }

.footer-sitemap a{
  display:inline-block;
  padding:6px 12px;
  border-radius:999px; /* 既存の丸みと整合 */
  text-decoration:none;
  color:inherit; /* フッターの文色に追随（暗色/明色どちらにも対応） */
  border:2px solid transparent;
  font-size:.95rem;
  font-weight:600;
  transition:background .25s ease, border-color .25s ease, color .2s ease, transform .2s ease;
}

.footer-sitemap a:hover,
.footer-sitemap a:focus-visible{
  background:var(--rc-yellow, #FFE082);
  border-color:var(--rc-yellow, #FFE082);
  color:#473f2b; /* イエロー地での視認性を確保（既存rc-chipと同系） */
  transform:translateY(-1px);
  outline:none;
}

/* モバイル微調整 */
@media (max-width:480px){
  .footer-sitemap{ padding-top:.8rem; }
  .footer-sitemap a{ padding:6px 10px; }
}

/* Footer sitemap override (widget styles reset) */
.site-footer .footer-sitemap{
  max-width:980px;
  margin:2rem auto 0;
  padding:1rem 12px 0;
  border-top:2px solid #FFF9C4;
}

.site-footer .footer-sitemap ul,
.footer-sitemap ul{
  display:flex !important;
  flex-wrap:wrap;
  justify-content:center;
  gap:.6rem .8rem;
  list-style:none;
  margin:0 !important;
  padding:0 !important;
}

.site-footer .footer-sitemap li,
.footer-sitemap li{
  margin:0 !important;
  padding:0 !important;
  border:0 !important; /* ウィジェットの仕切り線を無効化 */
}

.site-footer .footer-sitemap a,
.footer-sitemap a{
  display:inline-block;
  padding:6px 12px;
  border-radius:999px;
  border:2px solid transparent;
  font-size:.95rem;
  font-weight:600;
  text-decoration:none;
  text-transform:none; /* 大文字化の解除 */
  color:inherit;
  transition:background .25s ease, border-color .25s ease, color .2s ease, transform .2s ease;
}

.site-footer .footer-sitemap a:hover,
.site-footer .footer-sitemap a:focus-visible{
  background:var(--rc-yellow, #FFE082);
  border-color:var(--rc-yellow, #FFE082);
  color:#473f2b;
  transform:translateY(-1px);
  outline:none;
}

/* Footer Sitemap — vertical layout */
.site-footer .widget_block .footer-sitemap{
  max-width:980px;
  margin:2rem auto 0;
  padding:1rem 12px 0;
  border-top:2px solid #FFF9C4;
}

/* 横並び指定を無効化して縦並びに */
.site-footer .widget_block .footer-sitemap ul{
  display:block !important;
  list-style:none;
  margin:0 !important;
  padding:0 !important;
}

/* 行ごとに余白と薄い区切り線 */
.site-footer .widget_block .footer-sitemap li{
  margin:0 !important;
  padding:.55rem 0;
  border-bottom:1px solid #eee !important;
}

/* リンクは読みやすく、変形なし */
.site-footer .widget_block .footer-sitemap a{
  display:block;
  padding:6px 8px;
  border-radius:8px;
  text-decoration:none;
  text-transform:none;  /* 大文字化を解除 */
  color:inherit;
  font-size:.95rem;
  font-weight:600;
  letter-spacing:.02em;
  transition:background .2s ease, color .2s ease;
}

/* ホバーは淡いイエローのハイライトで可読性重視 */
.site-footer .widget_block .footer-sitemap a:hover,
.site-footer .widget_block .footer-sitemap a:focus-visible{
  background:rgba(255,224,130,.35); /* var(--rc-yellow)系の淡いトーン */
  color:#333;
  outline:none;
}

/* Footer Sitemap — 5行で折り返す段組み */
.site-footer .widget_block .footer-sitemap ul{
  display:grid !important;
  grid-auto-flow: column;           /* 縦に5行 → 次の列へ */
  grid-template-rows: repeat(5, auto);
  column-gap: 40px;                 /* 列間 */
  row-gap: 0;
  list-style:none;
  margin:0 !important;
  padding:0 !important;
}

/* 行スタイルはこれまで通り */
.site-footer .widget_block .footer-sitemap li{
  margin:0 !important;
  padding:.55rem 0;
  border-bottom:1px solid #eee !important;
}

/* 各列の最下行だけ下線を消す（5,10,15…番目） */
.site-footer .widget_block .footer-sitemap li:nth-child(5n){
  border-bottom:0 !important;
}

/* スマホは1列に戻す */
@media (max-width: 640px){
  .site-footer .widget_block .footer-sitemap ul{
    display:block !important;
  }
  .site-footer .widget_block .footer-sitemap li:nth-child(5n){
    border-bottom:1px solid #eee !important;
  }
}
/* Footer widget-1 を全幅に */
.site-footer .widget-area .widget-column.footer-widget-1{
width:100% !important;
max-width:none !important;
float:none;
flex:0 0 100% !important;
}

/* サイトマップ本体も全幅で */
.site-footer .widget_block .footer-sitemap{
max-width:none;
margin:2rem 0 0;
padding:1rem 0 0;
border-top:2px solid #FFF9C4;
}

/* 5行で折り返しつつ横幅を等分して使う /
.site-footer .widget_block .footer-sitemap ul{
display:grid !important;
grid-auto-flow: column; / 縦に5行 → 次の列へ /
grid-template-rows: repeat(5, auto);
grid-auto-columns: 1fr; / 列幅を等分して横幅いっぱいに */


/* 行スタイル（そのまま） */
.site-footer .widget_block .footer-sitemap li{
margin:0 !important;
padding:.55rem 0;
border-bottom:1px solid #eee !important;
}

/* 各列の最下行だけ下線を消す（5,10,15…番目） */
.site-footer .widget_block .footer-sitemap li:nth-child(5n){
border-bottom:0 !important;
}

/* スマホは1列に戻す */
@media (max-width:640px){
.site-footer .widget_block .footer-sitemap ul{ display:block !important; }
.site-footer .widget_block .footer-sitemap li:nth-child(5n){
border-bottom:1px solid #eee !important;
}
}

/* RC Checklist */
.rc-checklist{ max-width:720px; margin:1.2rem auto; padding:0 12px; color:#333; }
.rc-checklist .rc-list{ list-style:none; margin:0; padding:0; display:grid; gap:.6rem; }
.rc-checklist .rc-item{
position:relative;
padding:10px 12px 10px 48px;
border:1px solid #eee;
border-radius:12px;
background:#fff;
line-height:1.6;
transition:background .2s ease, border-color .2s ease;
}
.rc-checklist .rc-item::before{
content:"";
position:absolute; left:12px; top:50%; transform:translateY(-50%);
width:22px; height:22px; border-radius:6px;
background:var(--rc-yellow, #FFE082);
border:2px solid var(--rc-yellow, #FFE082);
}
.rc-checklist .rc-item::after{
content:"";
position:absolute; left:19px; top:50%; transform:translateY(-55%) rotate(45deg);
width:7px; height:12px;
border-right:3px solid var(--rc-brown, #6D4C41);
border-bottom:3px solid var(--rc-brown, #6D4C41);
}
.rc-checklist .rc-item:hover{ background:rgba(255,224,130,.15); border-color:#e9e9e9; }


/* 未チェック表示（任意） */
.rc-checklist .rc-item.is-unchecked::after{ display:none; }
.rc-checklist .rc-item.is-unchecked::before{ background:#fff; border-color:#ddd; }

/* Yellow Check bullets /
.rc-check-yellow{
list-style:none;
margin:0 0 1.1em 0;
padding:0;
}
.rc-check-yellow li{
position:relative;
margin:.55em 0;
padding-left:40px; / チェック分の余白 /
line-height:1.8;
}
.rc-check-yellow li::before{
content:"";
position:absolute; left:0; top:50%; transform:translateY(-50%);
width:22px; height:22px; border-radius:6px;
background:var(--rc-yellow, #FFE082);
border:2px solid var(--rc-yellow, #FFE082);
}
.rc-check-yellow li::after{
content:"";
position:absolute; left:7px; top:50%; transform:translateY(-58%) rotate(45deg);
width:7px; height:12px;
border-right:3px solid var(--rc-brown, #6D4C41);
border-bottom:3px solid var(--rc-brown, #6D4C41);
}
/ 未チェック表示にしたい行（任意） */
.rc-check-yellow li.is-unchecked::after{ display:none; }
.rc-check-yellow li.is-unchecked::before{ background:#fff; border-color:#ddd; }

/* RC Checklist — force single column /
.rc-checklist .rc-list{
display:grid !important;
grid-template-columns:1fr !important; / 常に1列 */

.rc-checklist .rc-item{ margin:0; } /* gapで間隔管理 */

/* Site title: stop forced uppercase */
.site-title,
.site-title a,
.custom-header .site-title,
.has-header-image .site-title,
.has-header-video .site-title,
.twentyseventeen-front-page .custom-header .site-title,
.home.blog .custom-header .site-title{
  text-transform: none !important;
  letter-spacing: .02em; /* 体裁調整（任意） */
}

        .rc-price-list {
            --rc-yellow: #FFF9C4;
            --rc-yellow-2: #FFE082;
            --rc-yellow-hover: #FFD54F;
            --rc-green: #8BC34A;
            --rc-text: #333;
            color: var(--rc-text);
            max-width: 720px;
            margin: 2em auto;
        }

        .rc-price-list h2 {
            font-size: 1.3rem;
            margin: 0 0 1em;
            color: #444;
            border-left: 6px solid var(--rc-yellow-2);
            padding-left: .6em;
        }

/* 親の左余白をゼロにして、各ステップに付け替える */
.rc-steps {
  padding-left: 0;               /* ← ここを 0 に */
}

/* タイムライン位置はそのまま */
.rc-steps::before {
  left: 36px;                    /* バッジ中心に合わせる（72px/2） */
}

/* 各ステップごとに左余白＋最低高さを付与 */
.rc-step {
  position: relative;
  margin: 0 0 32px;
  padding-left: 92px;            /* ← バッジ直径72 + 余白20 */
  min-height: 54px;              /* ← バッジぶん確保 */
}
.rc-step:last-child { margin-bottom: 0; }

/* バッジの位置は行頭にぴったり */
.rc-badge {
  position: absolute;
  left: 8px;
  top: 25px;                        /* 以前の -2px から 0 に */
  width: 48px; height: 48px;
  border-radius: 50%;
  background: var(--rc-badge, #FFD54F);
  color: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 4px 12px rgba(0,0,0,.08);
}

/* 文字まわり（お好みで） */
.rc-step h3 { margin: 0 0 .5em; line-height: 1.4; }
.rc-step ul { margin: 0 0 0 1.2em; padding: 0; }
.rc-step li { margin: .35em 0; line-height: 1.7; }

.rc-badge small {font-size: 70%;}

/* スマホ調整 */
@media (max-width: 640px) {
  .rc-step { padding-left: 80px; min-height: 60px; }
  .rc-steps::before { left: 30px; }
  .rc-badge { width: 60px; height: 60px; }
}

/* 料金アイテムの行揃えをガッチリ固定 */
.rc-price-item{
  display: grid;
  grid-template-columns: 1fr auto;  /* 左=タイトル/説明, 右=金額 */
  row-gap: .6rem;
}

/* ヘッダーは2カラムをまたいで横並び、縦揃えを安定 */
.rc-price-header{
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;           /* 金額の上下ブレ防止 */
  column-gap: .5rem;
}

/* 説明文は幅いっぱいに */
.rc-price-desc{
  grid-column: 1 / -1;
}

/* CTAは常に左端に。ボタン幅や文字数に影響されない */
.rc-price-item .rc-cta{
  grid-column: 1 / -1;
  justify-self: start;             /* 左端固定 */
  display: inline-block;
  margin: .2rem 0 0 0;             /* 余白を統一 */
}

/* モバイルは今の挙動を維持（価格を改行） */
@media (max-width:600px){
  .rc-price-header{
    grid-template-columns: 1fr;    /* 金額を改行して下へ */
    row-gap: .25rem;
  }
}

/* Read More ボタンをフラットに整える */
.rc-cta{
  background:#FFE082 !important;
  border:2px solid #FFE082 !important;
  color:#473f2b !important;
  border-radius:999px;
  padding:10px 20px;
  font-weight:600;
  box-shadow:none !important;        /* ← にじむ原因の影を消す */
  transform:none !important;         /* ← 初期状態のズレ防止 */
}

/* hover は少し濃い黄色へ */
.rc-cta:hover{
  background:#FFD54F !important;
  border-color:#FFD54F !important;
  color:#333 !important;
  box-shadow:none !important;        /* ← hover時もスッキリ */
  transform:translateY(-1px);        /* ← 動きは控えめでキレイ */
}

.rc-footer-nav {
  max-width: 980px;
  margin: 2rem auto;
  padding: 2rem 12px 3rem;
  border-top: 2px solid #f7eec4; /* 淡い黄色（うるさくない） */
}

.rc-footer-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* ← 左右2列 */
  gap: 0.4rem 2rem;
}

.rc-footer-nav li { margin: 0; }

.rc-footer-nav a {
  display: inline-block;
  padding: 4px 0;
  color: #444;
  text-decoration: none;
  font-size: 0.95rem;
  transition: color 0.2s ease;
}

.rc-footer-nav a:hover {
  color: #6D4C41; /* ResetColorのブラウン */
}
  
@media (max-width: 640px) {
  .rc-footer-nav ul {
    grid-template-columns: 1fr; /* スマホは1列に */
  }
}

/* ---- Footer simple navigation ---- */
.footer-sitemap{
  max-width: 980px;
  margin: 2rem auto 0;
  padding: 1.5rem 12px 2rem;
  border-top: 2px solid #FFF9C4;  /* 淡い黄色ラインだけ残す */
}

.footer-sitemap ul{
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: .4rem 1.8rem;      /* 間隔だけ上品に */
  justify-content: flex-start; /* 左寄せ */
}

.footer-sitemap li{ margin: 0; }

.footer-sitemap a{
  color: #444;           /* 落ち着いたグレー */
  text-decoration: none;
  font-size: .95rem;
  font-weight: 500;      /* 太くしすぎない上品さ */
  padding: 2px 0;
  transition: color .2s ease;
}

.footer-sitemap a:hover{
  color: #6D4C41;        /* ブラウンで“ふわっと”反応 */
}
/* --- Footer sitemap: 強制リセット＆超シンプル化（最後に置く） --- */
.site-footer .footer-sitemap ul,
.site-footer .widget_block .footer-sitemap ul{
  display:flex !important;
  flex-wrap:wrap;
  gap:.4rem 1.6rem;
  justify-content:flex-start !important;   /* 左寄せ */
  margin:0 !important;
  padding:0 !important;
}

.site-footer .footer-sitemap li,
.site-footer .widget_block .footer-sitemap li{
  margin:0 !important;
  padding:0 !important;
  border:0 !important;                     /* 罫線の名残を消す */
}

.site-footer .footer-sitemap a,
.site-footer .widget_block .footer-sitemap a{
  background:none !important;
  border:none !important;
  border-radius:0 !important;
  padding:2px 0 !important;
  color:#444 !important;
  font-weight:500 !important;
  text-decoration:none !important;
  text-transform:none !important;
  box-shadow:none !important;
  transform:none !important;
  transition:color .2s ease !important;
}

.site-footer .footer-sitemap a:hover,
.site-footer .widget_block .footer-sitemap a:hover{
  background:transparent !important;
  border-color:transparent !important;
  color:#6D4C41 !important;                /* Brandブラウンで軽く反応 */
}

/* ===============================
   Footer simple 2-row navigation
   (左寄せ・シンプル版 / 最後に置く)
=============================== */

.footer-sitemap{
  max-width: 980px;
  margin: 2.5rem auto 0;
  padding: 1.5rem 12px 2rem;
  border-top: 2px solid #FFF9C4;
}

.footer-sitemap ul{
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  display: flex !important;
  flex-wrap: wrap;
  gap: .6rem 1.4rem;
  justify-content: flex-start !important;  /* 左寄せ */
}

.footer-sitemap li{
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.footer-sitemap a{
  background: none !important;
  border: none !important;
  padding: 2px 0 !important;
  color: #444 !important;
  font-size: .95rem;
  font-weight: 500;
  text-decoration: none !important;
  text-transform: none !important;
  transition: color .2s ease;
}

.footer-sitemap a:hover{
  color: #6D4C41 !important; /* ResetColorブラウン */
}

/* ===== Footer: simple text links (override) ===== */

/* 枠線だけ残して余白は控えめに */
.site-footer .footer-sitemap{
  max-width:980px;
  margin:2rem auto 0;
  padding:1.2rem 12px 1.6rem;
  border-top:2px solid #FFF9C4;
}

/* 左寄せ・折返し・シンプル間隔 */
.site-footer .footer-sitemap ul{
  display:flex !important;
  flex-wrap:wrap;
  justify-content:flex-start !important;
  gap:.35rem 1.6rem !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

/* “丸ボタン化”を完全リセットしてテキストリンクに */
.site-footer .footer-sitemap a{
  background:none !important;
  border:none !important;
  border-radius:0 !important;
  padding:2px 0 !important;
  color:#444 !important;
  font-weight:500;
  text-decoration:none !important;
  position:relative;
  transition:color .2s ease;
}

/* 下線がスッ…と伸びるホバー演出 */
.site-footer .footer-sitemap a::after{
  content:"";
  position:absolute;
  left:0; bottom:-2px;
  height:2px; width:0;
  background:#6D4C41;                 /* ブランドのブラウン */
  transition:width .22s ease;
}

/* hover/focus で色＋下線アニメーション */
.site-footer .footer-sitemap a:hover,
.site-footer .footer-sitemap a:focus-visible{
  color:#6D4C41 !important;
}
.site-footer .footer-sitemap a:hover::after,
.site-footer .footer-sitemap a:focus-visible::after{
  width:100%;
}

/* モバイルは1列で読みやすく */
@media (max-width:640px){
  .site-footer .footer-sitemap ul{
    gap:.25rem 1rem !important;
  }
}

/* ----- ブログ一覧ページの左カラムごと削除（1カラム化） ----- */
.blog .wrap,
.archive .wrap {
  display: block !important;   /* 2カラムを解除 */
}

.blog .page-header,
.archive .page-header {
  display: none !important;    /* 「ブログ」見出しも非表示 */
}

.blog .site-main,
.archive .site-main {
  width: 100% !important;      /* 記事エリアを全幅に */
  max-width: 100% !important;
  float: none !important;
  margin: 0 auto !important;
  padding-left: 0 !important;
}