/*
 Theme Name: Tatsuki-Machida-Theme
 Template: swell  
 Theme URI: 
 Description: Child theme of SWELL
 Author: 
 Version: 1.0.0
*/

/* ================================
 *  Global
 * ================================ */
html { margin-top: 0 !important; }
@media screen and (max-width: 782px){ html { margin-top: 0 !important; } }
.home #content { padding-top: 0 !important; margin-top: 0 !important; }
.home .p-mainVisual { margin-top: 0 !important; }



/* ================================
 *  ヘッダー
 * ================================ */
#header .-txt .c-headLogo__link,#fix_header .l-fixHeader__logo .c-headLogo .c-headLogo__link{
    font-family: "adobe-garamond-pro", serif ;
  font-weight: 400 !important;
}

.c-gnav .menu-item .c-smallNavTitle{ display: none;}

/* タイトル共通 */
.c-pageTitle{
    font-family: "adobe-garamond-pro", serif;
    font-weight: 400 !important;
    font-size: 2em;
    letter-spacing: .18em;
    color:#000;
}
.c-pageTitle.margin0{
    margin-bottom:0;
}
.c-page_sub_Title_gray{
    font-family: "adobe-garamond-pro", serif;
    font-weight: 400 !important;
    font-size: 2em;
    letter-spacing: .18em;
    color:#96a09b;;
}
.c-page_sub_Title_white{
    font-family: "adobe-garamond-pro", serif;
    font-weight: 400 !important;
    font-size: 2em;
    letter-spacing: .18em;
    color:#fff;;
}

.c-pageTitle .c-pageTitle__subTitle{
    font-size: .5em;
    display: block;
    font-style: normal;
    margin-left:0;
}
.c-pageTitle__subTitle{
    font-style: normal !important;
    margin-left:0;
}

.color-black{
    color:#000;
}

/* ================================
 *  フッター
 * ================================ */
.l-footer__widgetArea{background-color: #96a09b;}
.l-footer__widgetArea .c-widget__title{display: none;}

.l-footer__widgetArea .footer-title h4{
    font-family: "adobe-garamond-pro", serif;
  font-weight: 400 !important;font-size: 1.2em;}
.l-footer__widgetArea .footer-title p{font-size:.8em;}
.l-footer__widgetArea .footer-photo-credit{font-size: .7em;}
.l-footer__widgetArea .footer-copyright{font-size:.6em;}

/* フッターメニュー */
.l-footer__foot .copyright{display: none;}

.w-footer__box .c-listMenu .menu{
  display: flex;
  flex-wrap: wrap;
  justify-content:left;            
  align-items: center;
  gap: clamp(12px, 1vw, 36px);      /* 項目間のスキマ（お好みで調整） */
  margin: 0;
  padding: 0;
  list-style: none;
}

.w-footer__box .c-listMenu a{border: none;}

/* SWELLの矢印/インデントを無効化してフラットに */
.w-footer__box .c-listMenu a{
  padding-left: 0 !important;
}
.w-footer__box .c-listMenu a::before{
  content: none !important;
}

/* 各項目＆リンクの当たり判定を広く */
.w-footer__box .c-listMenu .menu > li{
  margin: 0;
  position: relative;
}
.w-footer__box .c-listMenu .menu > li > a{
  display: block;
  padding: .7em 1.2em;                /* ← 余白大きめ */
  line-height: 1;
  text-decoration: none;
  color: var(--color_footer_text, #fff);
  letter-spacing: .12em;
  text-transform: uppercase;          /* 英字を大文字に（不要なら削除） */
}

/* ホバー時の軽いフィードバック（任意） */
.w-footer__box .c-listMenu .menu > li > a:hover{
  opacity: .85;
}

/* スマホは中央寄せ＆少しコンパクトに */
@media (max-width: 782px){
  .w-footer__box .c-listMenu .menu{
    justify-content: flex-start;
    gap: 14px;
      font-size:1em;
  }
  .w-footer__box .c-listMenu .menu > li > a{
    padding: .6em .9em;
  }
    .menu-footer-menu-container .menu-footer-menu .menu-item{font-size:1em;}
}

/* ================================
 *  SPメニュー
 * ================================ */

/* パネル幅と上部タイトル */
.p-spMenu__inner { width: 100vw; }
.p-spMenu__nav   { margin-top: 1em; }

.c-widget__title.-spmenu{
  background: none;
  position: fixed;
  top: 0;
  left: 0; right: 0;
  padding: 1em 0;
  color: #646e69;
  font-family: "adobe-garamond-pro", serif;
  font-weight: 400 !important;
  font-size: 1em !important;
  z-index: 1; /* メニュー本文より前に出す */
}

/* タイポ・装飾の初期化 */
.p-spMenu__inner .menu,
.p-spMenu__inner .sub-menu { list-style: none; margin: 0; padding: 0; }

.p-spMenu__inner .menu-item{
  font-family: "adobe-garamond-pro", serif;
  font-weight: 400 !important;
  font-size: 1.5em;
  letter-spacing: .18em;
}

.c-spnav a { border: none; }
.c-listMenu a:before { display: none; }
.c-smallNavTitle.desc { display: none; }

/* 子メニューの文字サイズ（親より少し小さめ） */
.menu-item-has-children .menu-item { font-size: 1em; }

/* 子メニューのインデント・余白調整 */
.c-listMenu .menu-item-has-children .menu-item a{
  padding: .4em 1em .4em 3em;
}

/* ------- 親メニュー(子持ち)の見た目と矢印 ------- */
.p-spMenu__inner li.menu-item-has-children > a{
  display: flex;
  align-items: center;
  justify-content: space-between; /* ラベルと矢印を左右に配置 */
  gap: .75em;
  position: relative;
  padding-right: 2em;             /* 右側に余白（矢印スペース） */
}

/* 矢印（閉：下向き） */
.p-spMenu__inner li.menu-item-has-children > a::after{
  font-family: icomoon !important;
  content: "\e910";               /* 下向き */
  font-size: 1.1em;
  line-height: 1;
  opacity: .9;
  transition: transform .18s ease, opacity .18s ease;
}

/* 開：上向き（親が開いている時だけ） */
.p-spMenu__inner li.menu-item-has-children.is-open > a::after{
  content: "\e912";               /* 上向き */
  opacity: 1;
}

/* ------- サブメニュー開閉 ------- */

/* 初期状態は閉じる */
.p-spMenu__inner li.menu-item-has-children > .sub-menu{
  display: none;
  opacity: 0;
  transform: translateY(6px);
}

/* is-open が付いた親だけ開く */
.p-spMenu__inner li.menu-item-has-children.is-open > .sub-menu{
  display: block;                 /* ブロックで展開 */
  opacity: 1;
  transform: translateY(0);
  transition: opacity .18s ease, transform .18s ease;
  padding-left: 0;                /* 余白は親の指定に任せる */
}

/* ------- （一時）オーバーレイ無効化：確認用 ------- */
/* 本番では外す or 適切にレイアウトしてください */
.p-spMenu__overlay { pointer-events: none !important; }

/* SPメニュー：SWELLのサブメニュー開閉ボタンを隠す */
#sp_menu .p-spMenu__inner li.menu-item-has-children > .c-accordionBtn,
#sp_menu .p-spMenu__inner li.menu-item-has-children > .c-listMenu__toggle,
#sp_menu .p-spMenu__inner li.menu-item-has-children > .c-iconBtn,
#sp_menu .p-spMenu__inner li.menu-item-has-children > button {
  display: none !important;
}

/* 親<a>を行全体タップのトグルにする体裁 */
#sp_menu .p-spMenu__inner li.menu-item-has-children > a{
  display:flex; align-items:center; justify-content:space-between;
}

/* 矢印（閉→開） */
#sp_menu .p-spMenu__inner li.menu-item-has-children > a::after{
  font-family: icomoon !important;
  content:"\e910"; /* 下向き */
  font-size:1.1em; opacity:.9; transition:transform .18s ease, opacity .18s ease;
}
#sp_menu .p-spMenu__inner li.menu-item-has-children.is-open > a::after{
  content:"\e912"; /* 上向き */
  opacity:1;
}

/* サブメニュー開閉（初期は非表示） */
#sp_menu .p-spMenu__inner li.menu-item-has-children > .sub-menu{ display:none; }
#sp_menu .p-spMenu__inner li.menu-item-has-children.is-open > .sub-menu{ display:block; }

/* ==========
  HOME
========== */
.home #main_visual { position: relative !important; }
.home #main_visual .p-mainVisual__inner { position: relative !important; }


.home-section-wrap{position: relative;overflow: visible;}
@media(max-width: 767px){ .home-section-wrap{padding: 1em;}
    
}

/* 各セクションの“後”（下端）に横線：最後のセクションは除外 */
.home-section-wrap:not(:last-child)::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;                       /* ← 下端を基準に */
  transform: translate(-50%, 50%);/* 少しだけ外に出すなら 50% に */
  width:100vw;                    /* 端から端まで */
  height:1px;                     /* 線の太さ */
  background: #96a09b;
  pointer-events:none;
}

/* 線まわりの余白（お好みで調整） */
.home-section-wrap{
  padding-bottom: clamp(24px, 4vw, 48px); /* 線の直前（内側）の余白 */
  margin-bottom:  clamp(32px, 6vw, 72px); /* 線の直後（外側）の余白 */
}



/* 初期は非表示（移動前にレイアウトが崩れないように） */
#home-title { display: none; }



/* トップページだけ適用 */
.home #header{
  /* レイアウトを崩さず重ねて隠す */
  position: absolute;  /* もともと上に重ねたい想定 */
  top: 0; left: 0; right: 0;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
}

/* スクロール後に表示 */
.show-header .home #header{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
}

/* main_visual 内に移ったら表示＋オーバーレイ配置 */
#main_visual > #home-title{
  display: block;
  position: absolute;
  left: 50%;
  bottom: 50px;                 /* ← ここを好みで調整 */
  transform: translateX(-50%);
  z-index: 70;                   /* スライド/ページネーションより前面に */
  text-align: center;
  color: #fff;
  text-shadow: 0 2px 8px rgba(0,0,0,.25);
  pointer-events: none;  
    width:100%;/* スライダー操作を邪魔しない */
}

/* タイトル内のリンクは操作できるように戻す */
#main_visual > #home-title a { pointer-events: auto; }

/* タイポ微調整（お好みで） */
#main_visual > #home-title p{ margin: 0; line-height: 1.15; }
#main_visual > #home-title .home-title-font{
  font-family: "adobe-garamond-pro", serif;
  font-weight: 400 !important;
  font-size: 1em !important;
  letter-spacing: 0.18em;
  margin-bottom: 0.5em;
}
#main_visual > #home-title p.english-title{
  font-family: "adobe-garamond-pro", serif;
  font-weight: 400 !important;
  font-size: 3.5em !important;
  letter-spacing: 0.18em;
  margin-bottom: 1em;
}
/* ==========
   メインメニュー（home-title内）
========== */

/* スライダーに隠れない対策 */
.home #main_visual,
.home #main_visual .p-mainVisual__inner,
.home #main_visual .swiper { overflow: visible !important; }
.home #main_visual { position: relative; z-index: 2; }

/* home-title をスライダー上に重ねる */
#home-title{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 160px;                 /* 位置は好みで調整 */
  z-index: 1000;
  pointer-events: auto;
}

/* ===== メインメニュー（トップレベル） ===== */
#home-title .home-main-menu{
  list-style: none;
  display: flex;
  gap: clamp(12px, 2.4vw, 28px);
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
}

#home-title .home-main-menu > li{
  position: relative;            /* サブメニューの基準 */
  line-height: 1;
}

#home-title .home-main-menu > li > a{
  position: relative;
  display: inline-block;
  color: #fff;
  text-decoration: none;
  font-family: "adobe-garamond-pro", serif;
  text-transform: uppercase;
  letter-spacing: .28em;
  padding: .65em .9em;
  line-height: 1;
  transition: color .18s ease, background-color .18s ease;
}

/* 下線アニメ（::before を絶対配置で下に敷く） */
#home-title .home-main-menu > li > a::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-0.2em;              /* 文字下の少し下に線 */
  height:1px;
  background:#fff;
  opacity:.9;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease;
}
#home-title .home-main-menu > li > a:hover::before,
#home-title .home-main-menu > li:focus-within > a::before{
  transform:scaleX(1);
}

/* 三角は右隣（::after） */
#home-title .home-main-menu > li.has-sub > a::after{
  font-family: icomoon!important;
  content:"\e910";                 /* 閉：下向き */
  display:inline-block;
  margin-left:.5em;            /* 文字との間隔 */
  font-size:1.1em;
  vertical-align:middle;
  opacity:.9;
  transition:opacity .18s ease, transform .18s ease;
}
/* 開：上向き */
#home-title .home-main-menu > li.has-sub:hover > a::after,
#home-title .home-main-menu > li.has-sub:focus-within > a::after{
  font-family: icomoon!important;content:"\e912";
  opacity:1;
}

/* has-sub アクティブ時の親タブ背景 */
#home-title .home-main-menu > li.has-sub:hover > a,
#home-title .home-main-menu > li.has-sub:focus-within > a{
  background: #dce6e1;
  color: #2a2a2a;
}

/* ===== サブメニュー（ドロップダウン） =====
   - 親 li の幅に合わせる（left:0; right:0）
   - クラスが付いていない <ul> でも動くように両方指定
*/
#home-title .home-main-menu > li.has-sub > .home-sub-menu,
#home-title .home-main-menu > li.has-sub > ul{
  position: absolute;
  /*top: calc(100% + 8px);*/
  left: 0;
  right: 0;                      /* 親 li にフィット */
  min-width: 100%;
  box-sizing: border-box;

  margin: 0;
  padding:0;
  list-style: none;
  text-align: center;

  background: #dce6e1;           /* 親と同色で一体化 */
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 2px 8px rgba(0,0,0,.25);

  z-index: 1100;                 /* スライダーより上 */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s linear;
}

/* 表示トリガー（hover / keyboard） */
#home-title .home-main-menu > li.has-sub:hover > .home-sub-menu,
#home-title .home-main-menu > li.has-sub:focus-within > .home-sub-menu,
#home-title .home-main-menu > li.has-sub:hover > ul,
#home-title .home-main-menu > li.has-sub:focus-within > ul{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

/* サブメニュー各行 */
#home-title .home-sub-menu > li,
#home-title .home-main-menu > li.has-sub > ul > li{
  margin: 0;
  padding: 0 1em;
}
#home-title .home-sub-menu > li > a,
#home-title .home-main-menu > li.has-sub > ul > li > a{
  display: block;
  padding: .6em .2em;
  text-decoration: none;
    font-size: .9em;
  color: #1f1f1f;
  line-height: 1.35;
border-bottom: 1px solid #becfc7;
}
#home-title .home-sub-menu > li:last-child{
    border-bottom: none !important;
}
#home-title .home-sub-menu > li > a:hover,
#home-title .home-sub-menu > li > a:focus,
#home-title .home-main-menu > li.has-sub > ul > li > a:hover,
#home-title .home-main-menu > li.has-sub > ul > li > a:focus{
  background: rgba(0,0,0,.06);
  outline: none;
}

/* ページ幅が狭い時の安全策 */
@media (max-width: 959px){
  #home-title .home-main-menu{ gap: 16px; }
  #home-title .home-main-menu > li.has-sub > .home-sub-menu,
  #home-title .home-main-menu > li.has-sub > ul{
    max-width: 88vw;             /* 画面からはみ出さない */
    left: 50%; right: auto;       /* 中央寄せに切替 */
    transform: translate(-50%, 6px);
  }
  #home-title .home-main-menu > li.has-sub:hover > .home-sub-menu,
  #home-title .home-main-menu > li.has-sub:focus-within > .home-sub-menu,
  #home-title .home-main-menu > li.has-sub:hover > ul,
  #home-title .home-main-menu > li.has-sub:focus-within > ul{
    transform: translate(-50%, 0);
  }
}

@media (max-width: 767px) { 
    .p-spMenu,
    .p-spMenu__inner,
    .p-spMenu__overlay {
      position: fixed;    
      z-index: 9999 !important; /* #home-title の 1000 を超える */
    }
    .home #header{
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        pointer-events: auto !important;
        background-color: transparent !important;
      }
    .home #header .c-headLogo, .home #header .c-iconBtn__icon,.home #header .icon-search{
        color:#fff !important;
    }
    #header .l-header__spNav{
        display: none;
    }
    #main_visual > #home-title{
        bottom:1em !important;
        left:55%;
    }
    #main_visual > #home-title p.english-title{
        font-size:2.5em !important;
        text-align: left;
        margin-bottom:0;
    }
    #home-title .home-title-font, #home-title .home-main-menu{
        display: none !important;
    }
    
}
/* ==========
   NEWS一覧（simpleタイプ）整形 ＊必要な場合だけ
========== */
.p-postList.-type-simple{
    border-top:none;
}

.p-postList.-type-simple .c-postTimes__posted{
  display:inline-block; width:100%; text-align:left;
  letter-spacing:.05em; opacity:.9; 
}
.p-postList.-type-simple .p-postList__link{
  border-bottom:1px solid #96a09b; padding:.9em .25em;
}
.p-postList.-type-simple .p-postList__link:hover{ background:rgba(0,0,0,.03); }
.p-postList.-type-simple .c-postTimes__posted.icon-posted::before{ content:none !important; display:none !important; }

.home-news-list .p-postList .p-postList__times,.home-news-list .p-postList .p-postList__text{font-size:.9em;
  font-family: "adobe-garamond-pro", serif;
  font-weight: 400 !important;}

p.home-view-more{
    font-size: .9em;
    margin-top:4em;}
.home-view-more a{
    color:#000;
}
.home-section-titile-wrap p.home-view-more{
  align-self: end;  
}

.home .p-postList__excerpt{
    display: none;
    margin-top:.6em;
    font-size:0.8em;
}

.l-articleBottom__section.-related{
    display: none;
}


/* スマホでのNEWS縦積み */
@media (max-width:600px){
  .p-postList.-type-simple .p-postList__body{ grid-template-columns:1fr; row-gap:.2em; }
  .p-postList.-type-simple .p-postList__title{ grid-column:1; }
  .p-postList.-type-simple .c-postTimes__posted{ text-align:left; font-size:.9rem; }
}

/* 投稿年のプルダウンメニュー　*/

/* 「絞り込み」の見出し */
.custom-archive-dropdown h2 {
  font-size: 1rem;
    color:#646e69;
  font-weight: bold;
  margin-bottom: 0.5em;
    margin-right:2em;
  padding: 0;
  border: none;
  background: none;
    display: inline-block;
}

/* ドロップダウン (selectタグ) 本体 */
.custom-archive-dropdown select {
    display: inline-block;
  width: 200px;             /* 横幅いっぱいに */
  padding: 12px 15px;      /* 内側の余白 */
  font-size: 1rem;         /* 文字サイズ */
  border: 1px solid #ddd;  /* 枠線 */
  background-color: #dce6e1; /* 背景色 */
  border-radius: 4px;      /* 角丸 */
  cursor: pointer;
  box-shadow: 0 0 0 2px rgba(150, 160, 155, 0.25);

  /* デフォルトの矢印を消す（ブラウザによる）*/
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  /* カスタム矢印の準備（下向きの黒い三角）*/
  /* SWELLのメインカラー #96a09b に合わせて矢印の色を調整 */
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8"><path fill="%23333" d="M6 8L0 2l1.4-1.4L6 5.2 10.6.6 12 2z"/></svg>');
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 12px 8px;
}

/* フォーカス時のスタイル（お好みで） */
.custom-archive-dropdown select:focus {
  outline: none;
  border-color: #96a09b; /* SWELLのメインカラーに合わせる */
  box-shadow: 0 0 0 2px rgba(150, 160, 155, 0.25);
}

/*プルダウンここまで*/


.l-topTitleArea.news-title {
    min-height: 150px;
    background-color: #becfc7;
}

h2.news-post-title{
    margin:.5em 0 3em;
}
.news-post-date{
    color:#96a09b;
    margin-bottom: .5em;
}

/* ==========
   レスポンシブ（タイトル・メニューの位置/サイズ）
========== */
@media (max-width: 959px){
  .home #home-title{ bottom:120px; }
  .home #home-title .english-title{ font-size:clamp(26px,9vw,64px); }
}
@media (max-width: 600px){
  .home #home-title{ bottom:96px; }
  .home #home-title .home-main-menu{ gap:12px; }
  .home #home-title .home-main-menu > li > a{ letter-spacing:.22em; }
}



/* SPはちょい上げる例 */
@media (max-width: 720px){
  #main_visual > #home-title{ bottom: 72px; }
}


/* 見出しの書体（元の指定を残す） */
h2.home-section-title{
  font-family: "adobe-garamond-pro", serif;
  font-weight: 400 !important;
  font-size: 2.5em !important;
  color: #96a09b;
  letter-spacing: 0.16em;
  margin-bottom: 0;
}
@media(max-width: 767px){h2.home-section-title{
  font-size: 2em !important;}}



/* Homeの中のカスタム投稿タイプ */


/* ===== card レイアウトの2カラム ===== */
.sc-cpt-grid {
  display: grid;
  gap: clamp(12px, 2vw, 24px);     /* カード間の余白 */
}

/* columns="2" のとき横2列 */
.sc-cpt-grid.sc-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* カードの中身を縦積み & 高さ揃え */
.sc-cpt-card {
  display: flex;
  flex-direction: column;
  height: 100%;        
  overflow: hidden;
}

/* サムネイルは横幅100%でトリミング */
.sc-cpt-thumb img {
  display: block;
  width: 100%;
  height: auto;                    /* 画像元サイズを優先するならこれだけでOK */
  /* 固定比率にしたい場合は↓を使う（お好みで） */
  /* aspect-ratio: 4 / 3;
     height: auto;
     object-fit: cover; */
}

/* 本文エリアを余白付きで */
.sc-cpt-title,
.sc-cpt-excerpt,
.sc-cpt-badges {
  padding: 10px 0;
  margin: 0;
}

/* タームの表示 */
.sc-cpt-badges{display:flex;flex-wrap:wrap;gap:.4em;margin:.4em 0 0}
.wp-block-column .sc-badge{
    display:inline-block;padding:.2em .8em;border-radius:1em;background:#96a09b;color:#fff !important;font-size:.85em;line-height:1.2;text-decoration:none;color:inherit}

/* タイトル */
.post_content h3.sc-cpt-title {
  font-size: .9em;
    font-weight: 400;
  line-height: 1.4;
    margin:0;
    padding:0;
}
.post_content h3.sc-cpt-title a{
    color:#000;}

/* ====== mobile only ====== */
@media (max-width: 768px){

  /* カードは 2 カラム：左サムネ／右テキスト */
  .home .sc-cpt-card{          /* 左の幅は好みで 30〜40% に調整 */
    column-gap: 1.5em;
    align-items: start;
  }
    .home-section-wrap .sc-cpt-grid.sc-cols-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
           gap: clamp(1.5em, 2vw, 24px);
           margin-bottom:.5em !important;
    }
    .wp-block-spacer.home-reseatch-spacer{
        display: none;
    }
  /* 左カラム：サムネ */
  .sc-cpt-card .sc-cpt-thumb{
    grid-column: 1;
    grid-row: 1 / span 3;                     /* 右側（バッジ+タイトル）と高さを揃える */
    margin: 0;
  }
  .sc-cpt-card .sc-cpt-thumb img{
    display: block;
    width: 100%;
    height: auto;
  }

  /* 右カラム：上＝バッジ、下＝タイトル */
  .sc-cpt-card .sc-cpt-badges{
    grid-column: 2;
    margin: 0 0 .35rem;
    display: flex;
    flex-wrap: wrap;
    gap: .4em;
  }
  .sc-cpt-card .sc-cpt-title{
    grid-column: 2;
    margin: 0;
    line-height: 1.35;
  }

  /* グリッド自体は1列でカードを縦並び（必要なら） */
  .sc-cpt-grid{ grid-template-columns: 1fr; }
    /* 右カラムの上下余白をカット & 上詰め */
  .sc-cpt-card .sc-cpt-badges,
  .sc-cpt-card .sc-cpt-title{
    padding: 0 !important;   /* ← 共通ルールを打ち消し */
    margin-top: 0;
    align-self: start;
  }

  /* バッジとタイトルの間も詰めたい場合 */
  .sc-cpt-card{ row-gap: .25rem; }   /* 既定の row-gap を小さくする */
  .sc-cpt-card .sc-cpt-badges{ margin-bottom: .2rem; }  /* さらに微調整 */
    
}



/* ===== リストタイプ（cpt_list）見出し1行化 ===== */

/* 行レイアウト（サムネ＋本文） */
.sc-cpt-list .sc-cpt-row{
  display: flex;
  gap: 16px;
  align-items: flex-start;
  padding: 1em 0;
  border-bottom: 1px solid #96a09b;
}

/* サムネ（任意） */
.sc-cpt-list .sc-row-thumb{
  flex: 0 0 auto;
  display: block;
}

/* 本文コンテナをflexにして1行目を構成（タイトル＋ターム） */
.sc-cpt-list .sc-row-body{
  display: flex;
  flex-wrap: wrap;         /* 幅が足りない時は改行 */
  align-items: baseline;   /* ベースラインを揃える */
  column-gap: 12px;
  row-gap: 6px;
  min-width: 0;            /* 省略時のオーバーフロー防止 */
}

/* タイトル */
.sc-cpt-list .sc-row-title{
  margin: 0;
  font-size: .8em; 
    font-weight: 400;
  line-height: 1.3;
  order: 1;
  max-width: 100%;
}
.sc-cpt-list .sc-row-title a{
    color:#000;
}

/* バッジ群（=ターム） */
.sc-cpt-list .sc-row-badges{
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  order: 2;
  align-items: center;
}

/* 右端に寄せたい場合はここを有効化（タイトル左／バッジ右） */
/* .sc-cpt-list .sc-row-badges{ margin-left: auto; } */

/* バッジの体裁 */
.sc-cpt-list .sc-cpt-badges{
    padding:0;
}
.sc-cpt-list .sc-row-badges .sc-badge{
  display: inline-block;
  padding: .2em .55em;
  font-size: .8rem;
  line-height: 1.2;
  border-radius: 999px;
  background: #dce6e1;
  color: #2a2a2a;
  text-decoration: none;
}


/* レスポンシブ（スマホで詰め気味に） */
@media (max-width: 640px){
  .sc-cpt-list .sc-cpt-row{ gap: 12px; }
  .sc-cpt-list .sc-row-body{ column-gap: 10px; }
  .sc-cpt-list .sc-row-title{ font-size: 1rem; }
  .sc-cpt-list .sc-row-badges .sc-badge{ font-size: .78rem; }
}


/* Home > 振り付け */
.home .wp-block-columns .wp-block-column.home-photo-column{
    padding:0;
    font-size:.9em;
}
.home .home-photo-column .home-choreography-title{
    color:#96a09b;
    padding:0 1em 1em;
    margin-bottom:0;
}
.home .home-photo-column .home-choreography-link{
    margin-bottom:0;
    padding:0 1em .3em;
}
.home .home-photo-column .home-choreography-link:last-child{
    padding-bottom:1.2em;
}
.home .home-photo-column .home-choreography-link a{
    color:#000;
}
.home .home-photo-column .home-archive-link{
    padding:0 1em 1em;
    margin-bottom:0;
}
.home .home-photo-column .home-archive-link a{
    color:#000;
}
@media (max-width: 640px){
    .home .wp-block-columns .wp-block-column.home-photo-column{
        margin-bottom:1.5em !important;
    }
    .home-section-wrap h3{margin-bottom:2em !important;}
}


.c-postThumb__figure .u-obf-cover{
    height: auto !important ;
    object-fit: contain;
}