@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.5
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

/************************************
** 2026-11-14 追加：1カラム化・ヘッダー整理・フッターサイトマップ
** 方針：案1-A／アクセントカラー＝信頼の青（紺 #0f2a44＋青 #0056b3）
************************************/
:root{
  --ss-navy:#0f2a44;
  --ss-blue:#0056b3;
  --ss-line:#e5e7eb;
  --ss-text:#1c2a32;
}

/* --- 文字組みを整える（読み物としての質感） --- */
body{
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans",
              "Yu Gothic","Yu Gothic Medium",Meiryo,"Noto Sans JP",sans-serif;
  color:var(--ss-text);
}
.article p{ line-height:1.95; }
.article h2{
  background:#f4f7fb;
  border-left:6px solid var(--ss-navy);
  border-radius:4px;
  color:var(--ss-navy);
  font-size:1.38rem;
  line-height:1.5;
  padding:14px 18px;
}
.article h3{
  border-left:none;
  border-bottom:1px solid var(--ss-line);
  color:var(--ss-navy);
  padding-bottom:6px;
}
.article a{ color:#0b57a4; }
.article a:hover{ color:var(--ss-navy); }

/* --- PC：サイドバーを外して1カラム（本文は読みやすい幅で中央に） --- */
@media (min-width:1024px){
  #content-in{ display:block !important; }
  #main{
    float:none !important;
    width:100% !important;
    max-width:840px !important;
    margin:0 auto !important;
  }
  #sidebar{ display:none !important; }
}

/* --- 旧フッターメニューはサイトマップに統合するため非表示 --- */
.navi-footer{ display:none !important; }

/* --- フッターサイトマップ --- */
.ss-footmap{
  background:var(--ss-navy);
  color:#c9d4e0;
  padding:42px 18px 30px;
  margin-top:0;
}
.ss-footmap-in{
  max-width:840px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.15fr 1fr 1.15fr;
  gap:30px;
  text-align:left;
}
.ss-fm-col h4{
  color:#fff;
  font-size:.95rem;
  font-weight:700;
  letter-spacing:.05em;
  margin:0 0 12px;
  padding:0 0 8px;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.ss-fm-col ul{ list-style:none; margin:0; padding:0; }
.ss-fm-col li{ margin:0 0 9px; font-size:.88rem; line-height:1.5; }
.ss-footmap a{ color:#c9d4e0; text-decoration:none; }
.ss-footmap a:hover{ color:#fff; text-decoration:underline; }
.ss-fm-tel{ margin:0 0 14px; }
.ss-fm-tel a{ font-size:1.45rem; font-weight:700; color:#fff; letter-spacing:.02em; }
.ss-fm-tel span{ display:block; font-size:.78rem; color:#9fb0c2; margin-top:2px; }
.ss-fm-btn{
  display:inline-block;
  background:var(--ss-blue);
  color:#fff !important;
  padding:9px 18px;
  border-radius:6px;
  font-size:.9rem;
  font-weight:700;
  text-decoration:none !important;
}
.ss-fm-btn:hover{ background:#00458f; }
.ss-fm-search{ display:flex; margin:14px 0 0; }
.ss-fm-search input{
  flex:1;
  min-width:0;
  padding:8px 10px;
  border:1px solid #35506b;
  background:#152b3f;
  color:#fff;
  border-radius:4px 0 0 4px;
  font-size:.85rem;
}
.ss-fm-search input::placeholder{ color:#8fa2b6; }
.ss-fm-search button{
  padding:8px 14px;
  border:0;
  background:var(--ss-blue);
  color:#fff;
  border-radius:0 4px 4px 0;
  font-size:.85rem;
  cursor:pointer;
}

@media screen and (max-width:834px){
  .ss-footmap{ padding:32px 16px 24px; }
  .ss-footmap-in{ grid-template-columns:1fr; gap:22px; }
  .ss-fm-tel a{ font-size:1.3rem; }
}

/* --- ② アイキャッチ：一覧では非表示／記事内は控えめに（2026-11-14 院長GO） --- */
.entry-card-thumb,
.related-entry-card-thumb{ display:none !important; }
.entry-card-content,
.related-entry-card-content{ margin-left:0 !important; padding-left:0 !important; }
.rect-entry-card-wrap .entry-card-wrap,
.entry-card-wrap{ min-height:0 !important; height:auto !important; }
.entry-card{ display:block !important; margin:0 !important; padding:0 !important; }
.entry-card-wrap{
  padding:9px 0 !important;
  margin:0 !important;
  border-bottom:1px solid var(--ss-line);
}
.entry-card-title{ font-size:1.02rem !important; line-height:1.5 !important; font-weight:700 !important; }
.entry-card-categorys{ font-size:.72rem !important; }
.entry-card-title{ margin:0 !important; padding:0 !important; }
.entry-card-meta{ margin-top:8px !important; }
.eye-catch-wrap,
.eye-catch-wrap .eye-catch{
  width:100% !important;
  max-width:100% !important;
  display:block !important;
  float:none !important;
  margin:0 0 20px !important;
}
.eye-catch-wrap .eye-catch img,
.eye-catch img{
  width:100% !important;
  height:240px !important;
  max-height:none !important;
  object-fit:cover !important;
  border-radius:6px !important;
}

/* --- v2.16.0: ヘッダー検索／柱ハブ／サイトマップ／索引（2026-11-14 院長GO 1-4） --- */
@media (min-width:1024px){
  #navi .menu-top{
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:center;
    align-items:center;
  }
  #navi .menu-top > li{ width:auto !important; flex:0 0 auto !important; }
  #navi .menu-top > li > a{ padding:0 13px !important; font-size:.86rem !important; }
  .ss-hsearch-item{ width:auto !important; display:flex; align-items:center; margin:0 0 0 6px; }
}
.ss-hsearch-item{ display:flex; align-items:center; }
.ss-hsearch{ display:flex; align-items:center; margin:0; }
.ss-hsearch input{
  width:128px; padding:5px 8px; border:1px solid var(--ss-line);
  border-radius:4px 0 0 4px; font-size:.8rem; background:#fff; color:var(--ss-text);
}
.ss-hsearch button{
  padding:5px 10px; border:0; background:var(--ss-navy); color:#fff;
  border-radius:0 4px 4px 0; cursor:pointer; font-size:.8rem;
}

.ss-hub{ margin:52px 0 0; padding:28px 0 0; border-top:2px solid var(--ss-line); }
.ss-hub-title{ font-size:1.15rem; color:var(--ss-navy); margin:0 0 6px; padding:0; border:0; background:none; }
.ss-hub-list{ list-style:none; margin:0; padding:0; }
.ss-hub-list li{ padding:13px 0; border-bottom:1px solid var(--ss-line); }
.ss-hub-list a{ font-weight:700; font-size:.98rem; }
.ss-hub-ex{ display:block; color:#5b6b78; font-size:.82rem; line-height:1.65; margin-top:4px; }

.ss-sitemap h2{ font-size:1.1rem; color:var(--ss-navy); margin:34px 0 10px; padding:0 0 6px; border-bottom:1px solid var(--ss-line); background:none; border-left:0; }
.ss-sm-list{ list-style:none; margin:0; padding:0; }
.ss-sm-list li{ padding:6px 0; font-size:.9rem; border-bottom:1px dotted #eef1f4; }

.ss-idx-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:18px 0 6px; }
.ss-idx-card{ display:block; border:1px solid var(--ss-line); border-radius:8px; padding:16px 16px 14px; text-decoration:none !important; }
.ss-idx-card:hover{ border-color:var(--ss-blue); background:#f7fafd; }
.ss-idx-card strong{ display:block; color:var(--ss-navy); font-size:1rem; margin-bottom:6px; }
.ss-idx-card span{ color:#5b6b78; font-size:.8rem; line-height:1.6; }
@media (max-width:834px){ .ss-idx-grid{ grid-template-columns:1fr; } }

/* 固定ページはアイキャッチを出さない（トップもヒーロー画像があるため非表示＝画像は1枚に） */
body.page .eye-catch-wrap{ display:none !important; }

/* トップのヒーロー（cover）をモバイルで圧縮 */
@media screen and (max-width:1023px){
  body.home .wp-block-cover.alignfull{ min-height: 380px !important; }
  body.home .wp-block-cover .wp-block-cover__inner-container{ padding: 26px 18px !important; }
  body.home .wp-block-cover .wp-block-cover__inner-container h2{
    font-size: 26px !important; line-height: 1.45 !important;
  }
  body.home .wp-block-cover .wp-block-cover__inner-container p{ font-size: 15px !important; line-height: 1.7 !important; }
  body.home .wp-block-cover .wp-block-cover__inner-container p:first-of-type{ font-size: 16px !important; }
}

/* /blog/・/sitemap/ は目次を出さない */
body.page-id-9214 .toc,
body.page-id-12325 .toc{ display:none !important; }
.ss-idx-card a{ display:block; text-decoration:none !important; color:inherit !important; }
.ss-sitemap{ margin-top:6px; }
.ss-sm-search{ display:flex; margin:0 0 18px; }
.ss-sm-search input{
  flex:1; padding:10px 12px; border:1px solid var(--ss-line);
  border-radius:4px 0 0 4px; font-size:.9rem;
}
.ss-sm-search button{
  padding:10px 18px; border:0; background:var(--ss-blue); color:#fff;
  border-radius:0 4px 4px 0; cursor:pointer; font-size:.9rem;
}

/* 人気記事リスト */
.ss-pop-list{ margin:0; padding-left:1.4em; }
.ss-pop-list li{ padding:7px 0; font-size:.92rem; border-bottom:1px dotted #eef1f4; }
.ss-pop-list li::marker{ color:var(--ss-blue); font-weight:700; }

/* モバイル：Cocoonはヘッダーメニューを非表示にするが、代替メニューが無いため
   横スクロールのナビ行として表示する（2026-11-14） */
@media screen and (max-width:1023px){
  #navi{ border-top:1px solid var(--ss-line); border-bottom:1px solid var(--ss-line); }
  #navi-in{ padding:0 4px; }
  #navi .menu-pc{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
    justify-content:flex-start !important;
    scrollbar-width:none;
  }
  #navi .menu-pc::-webkit-scrollbar{ display:none; }
  #navi .menu-pc > li{ width:auto !important; flex:0 0 auto !important; }
  #navi .menu-pc > li > a{ padding:9px 11px !important; font-size:.78rem !important; white-space:nowrap; }
  .ss-hsearch-item{ display:none !important; }
}

/* 月別アーカイブは情報価値が低いため非表示（PC・モバイル共通） */
.widget_archive{ display:none !important; }

/* 関連記事ボックス（公務員医師クラスタ） */
.ss-relbox{ margin:44px 0 8px; padding:18px 20px; background:#f7fafd; border:1px solid var(--ss-line); border-radius:8px; text-align:left; }
.ss-relbox-t{ font-size:.95rem; font-weight:700; color:var(--ss-navy); margin:0 0 8px; }
.ss-relbox ul{ list-style:none; margin:0; padding:0; }
.ss-relbox li{ padding:7px 0; border-bottom:1px dotted #e2e9f0; font-size:.9rem; line-height:1.55; }
.ss-relbox li:last-child{ border-bottom:0; }

/* --- v2.19.0: フォーム主・電話サブのCTA --- */
.ss-form-cta{ margin:0 0 12px !important; }
.ss-form-cta a{
  display:inline-block;
  background:var(--ss-blue);
  color:#fff !important;
  padding:14px 30px;
  border-radius:6px;
  font-weight:700;
  font-size:1rem;
  text-decoration:none !important;
  box-shadow:0 2px 0 rgba(0,0,0,.08);
}
.ss-form-cta a:hover{ background:#00458f; }
.ss-form-cta a span{
  display:block;
  font-size:.72rem;
  font-weight:400;
  opacity:.9;
  margin-top:3px;
  letter-spacing:.02em;
}
/* 電話は枠線のサブボタンに（判断系ページでは元のまま） */
body:not(.ss-phone-primary) .entry-content a[href^="tel:080-6452-6988"]{
  background:#fff !important;
  color:var(--ss-blue) !important;
  border:1px solid var(--ss-blue) !important;
  font-size:.9rem !important;
  padding:10px 20px !important;
}

/* モバイル固定CTA（Cocoonの下部バー50pxの上に載せる） */
.ss-mbar{ display:none; }
@media screen and (max-width:1023px){
  .ss-mbar{
    position:fixed; left:0; right:0; bottom:50px;
    display:flex; gap:8px; padding:8px 10px;
    background:rgba(255,255,255,.97);
    border-top:1px solid var(--ss-line);
    z-index:9998;
    transform:translateY(140%);
    transition:transform .22s ease;
  }
  .ss-mbar.is-on{ transform:none; }
  .ss-mbar a{
    flex:1; text-align:center; padding:11px 8px; border-radius:6px;
    font-size:.88rem; font-weight:700; text-decoration:none !important;
  }
  .ss-mbar-form{ background:var(--ss-blue); color:#fff !important; }
  .ss-mbar-tel{ background:#fff; color:var(--ss-blue) !important; border:1px solid var(--ss-blue); }
}

/* flex型CTAに追加するフォームボタン（電話ボタンと同サイズ・同高さ） */
.ss-form-cta-btn{
  display:inline-block;
  background:var(--ss-blue);
  color:#fff !important;
  padding:10px 24px;
  border-radius:6px;
  text-decoration:none !important;
  font-weight:bold;
  font-size:.95rem;
  line-height:1.4;
}
.ss-form-cta-btn:hover{ background:#00458f; }

/* 青背景のCTAブロック（トップ等）：見出しと電話ボタンのコントラスト調整 */
.wp-block-group[style*="background-color: #0056b3"] h2,
.wp-block-group[style*="background-color:#0056b3"] h2{
  background: transparent !important;
  color: #ffffff !important;
  border: 0 !important;
  padding: 0 0 6px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.wp-block-group[style*="background-color: #0056b3"] .wp-block-button a[href^="tel:"],
.wp-block-group[style*="background-color:#0056b3"] .wp-block-button a[href^="tel:"]{
  background: transparent !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.8) !important;
  box-shadow: none !important;
}
.wp-block-group[style*="background-color: #0056b3"] .wp-block-button a[href*="/contact/"],
.wp-block-group[style*="background-color:#0056b3"] .wp-block-button a[href*="/contact/"]{
  background: #ffffff !important;
  color: #0056b3 !important;
  font-weight: 700 !important;
}

/* Gutenbergのアウトラインボタン（「詳しく見る」等）：濃背景＋青文字の崩れを修正 */
.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button__link.is-style-outline{
  background-color: transparent !important;
  color: var(--ss-blue) !important;
  border: 1px solid var(--ss-blue) !important;
  padding: 10px 22px !important;
  border-radius: 6px !important;
  font-weight: 700 !important;
  font-size: .92rem !important;
  text-decoration: none !important;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover{
  background-color: var(--ss-blue) !important;
  color: #fff !important;
}

/* トップのヒーロー：見出しの箱スタイルを打ち消し、CTAを白ベタに */
body.home .wp-block-cover .wp-block-cover__inner-container h1,
body.home .wp-block-cover .wp-block-cover__inner-container h2{
  background: none !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  text-shadow: 0 1px 6px rgba(0,0,0,.35);
}
body.home .wp-block-cover .wp-block-button__link{
  background-color: #ffffff !important;
  color: #0056b3 !important;
  font-weight: 700 !important;
  border: 0 !important;
  padding: 12px 28px !important;
}
body.home .wp-block-cover .wp-block-button__link:hover{
  background-color: #eaf3ff !important;
}

/* トップのヒーロー：余白を詰める（PC・モバイル共通） */
body.home .wp-block-cover .wp-block-cover__inner-container > *{
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}
body.home .wp-block-cover .wp-block-cover__inner-container > *:last-child{
  margin-bottom: 0 !important;
}

/* トップはヒーロー内に目次が挿入されるため非表示（回遊はナビと5領域カードで担保） */
body.home .toc{ display:none !important; }

/* =========================================================
   記事末CTA：中央揃え → 左揃え（2026-11-14）
   本文と同じ軸に揃える。ボタン行も左から並べる。
   ========================================================= */
.entry-content > div[style*="border: 2px solid #0056b3"]{
  text-align: left !important;
}
.entry-content > div[style*="border: 2px solid #0056b3"] > div[style*="display: flex"]{
  justify-content: flex-start !important;
}
