@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.4
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/* =========================================================
   type1dm.com デザイン層（2026-11-14 追加）
   - PC: 1カラム 880px 中央・本文17px/行間1.95
   - SP: 16px/行間1.85・表は横スクロール
   - 電話CTA・コンタクトフォームは置かない（方針）
   - 配色は下の :root を差し替えるだけで変更可能
   ========================================================= */
:root{
  /* 配色B「深緑×生成り」2026-11-14 院長決定 */
  --t1-ink:      #22302c;   /* 本文 */
  --t1-navy:     #14483f;   /* 見出し */
  --t1-accent:   #2f7d6a;   /* リンク・アクセント */
  --t1-accent-w: #e6f1ec;   /* アクセント淡色（th背景） */
  --t1-soft:     #f1f7f3;   /* 見出しの地 */
  --t1-line:     #e2eae5;   /* 罫線 */
  --t1-muted:    #5c6b66;   /* 補助文字 */
  --t1-paper:    #fbfaf7;   /* ページ地色 */
}
body{background:var(--t1-paper);}

/* ---------- パンくず（自前・Cocoon標準は非表示） ---------- */
#breadcrumb{display:none !important;}
.t1dm-breadcrumb{font-size:13px;line-height:1.7;color:var(--t1-muted);margin:0 0 20px;}
.t1dm-breadcrumb a{color:var(--t1-accent);text-decoration:none;}
.t1dm-breadcrumb a:hover{text-decoration:underline;}
.t1dm-breadcrumb .sep{margin:0 7px;color:#b9c6c0;}
.t1dm-breadcrumb .current{color:var(--t1-muted);}

/* ---------- フッター3列サイトマップ ---------- */
.t1dm-footer-sitemap{background:#fff;border-top:1px solid var(--t1-line);padding:40px 0 30px;}
.t1dm-fs-inner{max-width:1100px;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 34px;}
.t1dm-fs-title{font-size:15px;font-weight:700;color:var(--t1-navy);margin:0 0 12px;padding:0 0 8px;border-bottom:2px solid var(--t1-accent-w);}
.t1dm-fs-col ul{list-style:none;margin:0;padding:0;}
.t1dm-fs-col li{margin:0;}
.t1dm-fs-col li a{display:block;font-size:13.5px;line-height:2.0;color:#3d4c47;text-decoration:none;border-bottom:1px dotted transparent;}
.t1dm-fs-col li a:hover{color:var(--t1-accent);}
.t1dm-fs-meta{grid-column:1 / -1;margin-top:6px;padding-top:16px;border-top:1px solid var(--t1-line);font-size:13px;color:var(--t1-muted);}
.t1dm-fs-meta a{color:var(--t1-muted);text-decoration:none;margin-right:18px;}
.t1dm-fs-meta a:hover{color:var(--t1-accent);text-decoration:underline;}
.navi-footer{display:none !important;}
#footer .footer-widgets{display:none !important;}   /* 旧カスタムHTML（プライバシー1本）は新サイトマップに統合 */
.t1dm-fs-col ul + .t1dm-fs-title{margin-top:22px;}
#footer{padding-top:0;}

html{scroll-padding-top:96px;}

/* ---------- PC（1024px以上）: 1カラム ---------- */
@media screen and (min-width:1024px){
  body{font-size:17px;color:var(--t1-ink);}
  #content-in{display:block;}
  #main{
    max-width:880px;
    margin:0 auto;
    padding:40px 44px 56px;
    border:1px solid var(--t1-line);
    border-radius:8px;
    box-shadow:none;
    background:#fff;
  }
  #sidebar{display:none !important;}

  .entry-content{font-size:17px;line-height:1.95;color:var(--t1-ink);}
  .entry-content p{margin-bottom:1.6em;}
  .entry-content li{margin-bottom:.5em;}
  .entry-title{
    font-size:28px;line-height:1.45;color:var(--t1-navy);
    border:0;background:none;padding:0 0 10px;margin:0 0 28px;
  }
  .entry-content h2{
    font-size:26px;line-height:1.5;color:var(--t1-navy);
    background:var(--t1-soft);border:0;border-left:6px solid var(--t1-accent);
    border-radius:0 6px 6px 0;padding:16px 20px;margin:3em 0 1.2em;
  }
  .entry-content h3{
    font-size:20px;line-height:1.6;color:var(--t1-navy);
    background:none;border:0;border-bottom:2px solid var(--t1-line);
    border-left:4px solid var(--t1-accent);
    padding:0 0 .4em 12px;margin:2.4em 0 1em;
  }
  .entry-content h4{font-size:18px;color:var(--t1-navy);}
  .entry-content a{color:var(--t1-accent);text-decoration:underline;text-underline-offset:2px;}
  .entry-content a:hover{color:#083f78;}
  .entry-content table{font-size:16px;}
  .entry-content th{background:var(--t1-accent-w);color:var(--t1-navy);}
  .entry-content th,.entry-content td{border:1px solid var(--t1-line);padding:10px 12px;}
  .entry-content blockquote{border-left:4px solid var(--t1-line);background:#fafbfc;color:var(--t1-muted);}
  .entry-content .box_menu,.entry-content .cbox{box-shadow:none;border:1px solid var(--t1-line);}
  .toc{border:1px solid var(--t1-line);background:#fafcfd;border-radius:6px;}
  .toc .toc-title{color:var(--t1-navy);}

  /* ヘッダー: ナビを詰めて高さを抑える（17項目・2段のまま中央寄せ） */
  #header-container{box-shadow:none;border-bottom:1px solid var(--t1-line);}
  #navi,#navi-in{min-height:0;}
  #navi-in > ul{justify-content:flex-start !important;padding-left:8px;}
  #navi-in > ul > li{height:auto !important;}
  #navi-in > ul > li > a{font-size:15px !important;padding:10px 10px !important;white-space:nowrap;}
  #navi-in > ul > li.current-menu-item > a,
  #navi-in > ul > li > a:hover{background:var(--t1-soft);color:var(--t1-accent);}
  #footer{font-size:15px;}
}

/* ---------- モバイル（833px以下） ---------- */
@media screen and (max-width:833px){
  body{font-size:16px;color:var(--t1-ink);}
  .entry-content{font-size:16px;line-height:1.85;color:var(--t1-ink);}
  .entry-content p{margin-bottom:1.5em;}
  .entry-title{font-size:19px;line-height:1.5;color:var(--t1-navy);}
  .entry-content h2{
    font-size:20px;line-height:1.5;color:var(--t1-navy);
    background:var(--t1-soft);border:0;border-left:5px solid var(--t1-accent);
    border-radius:0 6px 6px 0;padding:12px 14px;margin:2.2em 0 1em;
  }
  .entry-content h3{
    font-size:17px;line-height:1.6;color:var(--t1-navy);
    background:none;border:0;border-left:4px solid var(--t1-accent);
    border-bottom:1px solid var(--t1-line);
    padding:0 0 .35em 10px;margin:1.9em 0 .9em;
  }
  .entry-content h4{font-size:16px;color:var(--t1-navy);}
  .entry-content a{color:var(--t1-accent);}
  /* 表は横スクロール（画面外に押し出さない） */
  .entry-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;font-size:14px;}
  .entry-content table th,.entry-content table td{min-width:92px;padding:8px 10px;}
  .entry-content th{background:var(--t1-accent-w);color:var(--t1-navy);}
  .entry-content img{max-width:100%;height:auto;}
  .entry-content .toc{font-size:15px;}
}


/* ---------- モバイル: ヘッダー直下に横スクロールのナビ（2026-11-14） ---------- */
@media screen and (max-width:833px){
  #navi{display:block !important;height:auto !important;border-top:1px solid var(--t1-line);background:#fff;}
  #navi-in{display:block !important;}
  #navi-in > ul{display:flex !important;flex-wrap:nowrap !important;justify-content:flex-start !important;
    overflow-x:auto;overflow-y:hidden;padding:0 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  #navi-in > ul::-webkit-scrollbar{display:none;}
  #navi-in > ul > li{flex:0 0 auto;height:auto !important;border:0;width:auto !important;min-width:0;}
  #navi-in > ul > li > a{font-size:14px !important;padding:12px 12px !important;white-space:nowrap;
    color:var(--t1-ink);}
  #navi-in > ul > li.current-menu-item > a{color:var(--t1-accent);background:var(--t1-soft);}
  /* 下部固定バー: ヘッダーナビと重複する項目を畳む（ホーム・サイドバー） */
  ul.mobile-footer-menu-buttons .home-menu-button,
  ul.mobile-footer-menu-buttons .sidebar-menu-button{display:none !important;}
  ul.mobile-footer-menu-buttons > li{flex:1 1 33.333% !important;width:33.333% !important;}
  /* サブメニューは誤タップ防止のため出さない */
  #navi-in .sub-menu,#navi-in .children{display:none !important;}
}

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

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

/* フッターサイトマップ: モバイルは2列 */
@media screen and (max-width:833px){
  .t1dm-footer-sitemap{padding:28px 0 20px;}
  .t1dm-fs-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;padding:0 16px;}
  .t1dm-fs-title{font-size:14px;}
  .t1dm-fs-col li a{font-size:13px;line-height:1.95;}
  .t1dm-breadcrumb{font-size:12px;margin:0 0 14px;}
}
@media screen and (max-width:480px){
  /* 390pxでも2列を維持（1列だと縦に長くなりすぎるため） */
  .t1dm-fs-inner{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px;}
  .t1dm-fs-col li a{font-size:12.5px;line-height:1.9;}
  .t1dm-fs-meta a{display:inline-block;margin:0 14px 6px 0;}
}

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