@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* 通常時ヘッダー */
/* .l-header {
    background-color: rgba(230, 232, 243, 0.5) !important;
} */

/* .p-profileBox__text .c-iconList__item a{
color:red;
} */

/* 固定ページID=664だけ、プロフィールボックス内のLINEアイコン画像を非表示 */
/* body.page-id-664 .p-profileBox .c-iconList__item a[href*="line.me"] img{
  display: none !important;
} */


/* ▼ SWELLの投稿リスト（カード型）サムネを低くする */
/* .p-postList--card .p-postList__thumb,
.wp-block-swell-post-list .p-postList__thumb,
.c-postThumb {                
  height: 110px !important;  
  padding-top: 0 !important;  
  overflow: hidden !important;
} */

/* サムネ内のリンク・画像を枠いっぱいに */
/* .p-postList--card .p-postList__thumb > a,
.wp-block-swell-post-list .p-postList__thumb > a,
.c-postThumb__figure {
  display: block !important;
  height: 100% !important;
}
 */
/* .p-postList--card .p-postList__thumb img,
.wp-block-swell-post-list .p-postList__thumb img,
.c-postThumb__img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important; 
} */

/* ▼ 記事スライダーも使っている場合 */
/* .p-postSlider .p-postThumb { height: 110px !important; padding-top:0 !important; overflow:hidden !important; }
.p-postSlider .p-postThumb img { width:100% !important; height:100% !important; object-fit:cover !important; } */

/* トップページの記事スライダーの横幅を狭めて中央寄せ */
/* .p-postSlider {
  max-width: 66% !important; 
  margin: 0 auto !important;
} */

/* ── トップの「記事スライダー」をPC/スマホで同じバランスに ── */
/* .home .p-postSlider{
  width: min(900px, 88vw);
  margin: 0 auto;
}
 */
/* サムネの高さ：画面幅に応じて自動で伸縮（最小120px～最大220px） */
/* .home .p-postSlider .p-postThumb{
  height: clamp(120px, 28vw, 220px);
  overflow: hidden;
} */

/* 画像は枠いっぱいにトリミングして収める */
/* .home .p-postSlider .p-postThumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
} */

/* もし投稿リスト（カード型）も同じ見た目にしたい場合 */
/* .home .wp-block-swell-post-list .p-postList__thumb{
  height: clamp(120px, 28vw, 220px);
  overflow: hidden;
}
.home .wp-block-swell-post-list .p-postList__thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
} */

/* 記事スライダー直下の余白を詰める */
/* .p-postSlider {
  margin-bottom: 0 !important;  
  padding-bottom: 0 !important;
} */

/* スライダーと次の要素の間を詰める */
/* .p-postSlider + * {
  margin-top: 0 !important;  
  padding-top: 0 !important;
} */

/* @media (max-width: 781px) {
  .fit-1line {
    font-size: 6vw !important;   
    line-height: 1.2;
    white-space: nowrap;       
    word-break: keep-all; 
  } */

/* PCでは改行を無視して1行にする */
@media (min-width: 782px) {
  .fit-1line br {
    display: none;
  }
}

/* スマホでは改行を有効にする */
@media (max-width: 781px) {
  .fit-1line br {
    display: inline;
  }
}

/* PCでは改行を無視して1行表示 */
@media (min-width: 782px) {
  .fit-1line br {
    display: none;
  }
}

/* スマホでは改行を有効に */
@media (max-width: 781px) {
  .fit-1line br {
    display: inline;
  }
}
 /* スマホだけ見出しを小さめに */
@media (max-width: 781px) {
  .fit-1line {
    font-size: 17px !important;  /* ← 好きな大きさに調整 */
    line-height: 1.4;            /* 行間を少し広げると読みやすい */
  }
}

:root{
  --eco:  #E6FBF8;        /* 環境教育：水色 */
  --care: #FDF4FA;        /* 療育支援：ピンク */
  --sdgs: #FFFEE5;        /* SDGs：黄色（rgb(255,254,229)と同じ） */
}

.acc-eco  :is(summary,[class*="accordion__title"],[class*="accordion__label"]),
.acc-eco  :is([class*="accordion__content"], .wp-block-details > div, .wp-block-details .wp-block-group){
  background-color: var(--eco) !important;
}

.acc-care :is(summary,[class*="accordion__title"],[class*="accordion__label"]),
.acc-care :is([class*="accordion__content"], .wp-block-details > div, .wp-block-details .wp-block-group){
  background-color: var(--care) !important;
}

.acc-sdgs :is(summary,[class*="accordion__title"],[class*="accordion__label"]),
.acc-sdgs :is([class*="accordion__content"], .wp-block-details > div, .wp-block-details .wp-block-group){
  background-color: var(--sdgs) !important;
}

.acc-eco .accordion__title::before,
.acc-care .accordion__title::before,
.acc-sdgs .accordion__title::before,
.acc-eco .accordion__label::before,
.acc-care .accordion__label::before,
.acc-sdgs .accordion__label::before {
  content: none !important;
  background: none !important;
}

/* PCでは改行(br)を消す */
@media (min-width: 782px) {
  .swell-block-accordion__title br {
    display: none !important;
  }
}

/* スマホでは改行(br)を表示 */
@media (max-width: 781px) {
  .swell-block-accordion__title br {
    display: inline !important;
  }
}


}
/* PCはそのまま（等倍） */
.photo-columns .wp-block-image img{
  width: 100%;
  height: auto;
}
.photo-columns .wp-block-image{
  margin: 0 0 1rem; /* 万一のデフォルト余白を統一 */
}

/* スマホだけ：画像を小さく＆間隔を詰める */
@media (max-width: 781px){
  /* 画像を入れている figure を縮める → 画像はその中で100%に */
  .photo-columns .wp-block-image{
    width: 80% !important;          /* ← 好みで 60〜90% に調整 */
    margin: 0 auto 6px !important;   /* 中央寄せ＋下の余白を小さく */
  }
  .photo-columns .wp-block-image img{
    display: block;
    width: 100% !important;          /* figure 幅にフィット */
    height: auto;
  }
  /* カラムの間隔も念のため詰める（縦積み時も効く） */
  .photo-columns .wp-block-columns{
    gap: 4px !important;             /* さらに詰めたい → 2px などに */
  }
}
/* スマホ時：画像同士の間隔をさらに詰める */
@media (max-width: 781px){
  .photo-columns .wp-block-image{
    margin-bottom: 2px !important; /* ← 今 6px くらい → 2px に縮める */
  }
}
/* スマホ時：画像同士の余白を最小化 */
@media (max-width: 781px){
  .photo-columns .wp-block-image {
    margin-bottom: 0 !important; /* ← 完全に余白ゼロ */
    padding-bottom: 0 !important;
  }

  .photo-columns .wp-block-image img {
    display: block;
  }
}
/* スマホ時：photo-columns 内の余白を徹底的に詰める */
@media (max-width: 781px){
  /* 画像の器と画像自体 */
  .photo-columns figure.wp-block-image,
  .photo-columns .wp-block-image{
    width: 80% !important;         /* 好みで 60〜90% に調整 */
    margin: 0 auto 2px !important; /* 下余白を 2px に */
    padding-bottom: 0 !important;
  }
  .photo-columns .wp-block-image img{
    display: block;
    width: 100% !important;
    height: auto;
  }

  /* コンテナ側に付いている下マージンもカット */
  .photo-columns .wp-block,
  .photo-columns .wp-block-group,
  .photo-columns .wp-block-column > *{
    margin-bottom: 2px !important;
  }
  /* 最後の要素だけは余白ゼロ */
  .photo-columns .wp-block:last-child{
    margin-bottom: 0 !important;
  }

  /* カラムの隙間も最小化（保険） */
  .photo-columns .wp-block-columns{
    gap: 2px !important;
  }
}
/* スマホ時：photo-stack 内のブロック間余白を徹底的に詰める */
@media (max-width: 781px){
  /* 親直下のすべての子ブロックの上下余白を最小化 */
  .photo-stack > *{
    margin-top: 0 !important;
    margin-bottom: 4px !important; /* 完全にゼロなら 0 に */
  }
  .photo-stack > *:last-child{
    margin-bottom: 0 !important;
  }

  /* 画像ブロック自身の余白も消す（保険） */
  .photo-stack .wp-block-image,
  .photo-stack figure.wp-block-image{
    margin: 0 !important;
    padding: 0 !important;
  }
  .photo-stack .wp-block-image img{
    display: block;
    width: 100% !important;
    height: auto;
  }

  /* Columns を使っている場合のすき間（gap）も最小化 */
  .photo-stack.wp-block-columns{
    gap: 2px !important; /* もっと詰めるなら 0 */
  }
}
/* スマホ時：photo-stack 内の画像サイズを少し小さくして中央寄せ */
@media (max-width: 781px){
  .photo-stack .wp-block-image img{
    width: 80% !important;   /* 85〜95%でお好み調整 */
    margin: 0 auto !important;
    display: block;
    height: auto;
  }
}
@media (max-width: 781px){
  .photo-stack{ padding: 0 4vw; } /* 左右にゆとりを作る例 */
}
/* スマホだけ：3枚を 1左 → 2右 → 3左 に寄せる */
@media (max-width: 781px){

  /* 画像の共通サイズと縦の間隔（下8px） */
  .photo-columns .wp-block-image{
    width: 90% !important;
    margin: 0 auto 8px !important;
    display: block;
  }

  /* カラム構成のとき（各カラム内の画像を寄せる） */
  .photo-columns .wp-block-column:nth-child(1) .wp-block-image{
    margin-left: 0 !important;   /* 左寄せ */
    margin-right: auto !important;
  }
  .photo-columns .wp-block-column:nth-child(2) .wp-block-image{
    margin-left: auto !important;/* 右寄せ */
    margin-right: 0 !important;
  }
  .photo-columns .wp-block-column:nth-child(3) .wp-block-image{
    margin-left: 0 !important;   /* 左寄せ */
    margin-right: auto !important;
  }

  /* もし「カラムなしで画像を3つ直置き」の場合はこちらも効くように */
  .photo-columns > .wp-block-image:nth-child(1){
    margin-left: 0 !important; margin-right: auto !important;
  }
  .photo-columns > .wp-block-image:nth-child(2){
    margin-left: auto !important; margin-right: 0 !important;
  }
  .photo-columns > .wp-block-image:nth-child(3){
    margin-left: 0 !important; margin-right: auto !important;
  }
}
/* スマホ時だけ縦並びの画像を交互に寄せる */
@media (max-width: 781px) {
  .photo-stack .wp-block-column {
    display: flex;
    justify-content: flex-start; /* デフォルトは左寄せ */
  }

  .photo-stack .wp-block-column:nth-child(2) {
    justify-content: flex-end; /* 2枚目だけ右寄せ */
  }
}
/* スマホだけ：左右へのオフセットを強める */
@media (max-width: 781px) {

  /* 動きの強さと画像幅をここで調整 */
  .photo-stack.wp-block-columns{
    --photo-w: 88%;   /* 画像の横幅。小さくすると左右の振れ幅が目立つ */
    --shift: 8%;      /* 左右へどれだけずらすか（6%〜12%くらいが目安） */
    row-gap: 8px;
  }

  .photo-stack.wp-block-columns > .wp-block-column{
    display: flex;
    overflow: visible;     /* はみ出しても見えるように */
  }
  .photo-stack.wp-block-columns > .wp-block-column:nth-child(odd){
    justify-content: flex-start;  /* 1・3・5… 左寄せ */
  }
  .photo-stack.wp-block-columns > .wp-block-column:nth-child(even){
    justify-content: flex-end;    /* 2・4・6… 右寄せ */
  }

  /* 画像サイズと“中央寄せ”の打ち消し */
  .photo-stack .wp-block-image{
    width: var(--photo-w);
    margin: 0 !important;
  }
  .photo-stack .wp-block-image img{
    display: block;
    width: 100% !important;
    height: auto;
  }

  /* さらに左右にスライドさせて“寄り”を強調 */
  .photo-stack.wp-block-columns > .wp-block-column:nth-child(odd) .wp-block-image{
    transform: translateX(calc(-1 * var(--shift)));
  }
  .photo-stack.wp-block-columns > .wp-block-column:nth-child(even) .wp-block-image{
    transform: translateX(var(--shift));
  }
}

/* PC：カラム内の画像が縮むのを防ぎ、少しだけ大きく見せる */
@media (min-width:782px){
  .wp-block-columns .wp-block-image img{
    width: 110% !important;   /* 100%→110% で“気持ち大きめ”に */
    max-width: 110% !important;
    height: auto !important;
  }
}

}

/* ── 私たちの想い：上下ライン＋葉っぱアイコン ── */
.my-vision-quote{
  position: relative;
  padding: 18px 14px;
  margin: 28px 0;
}
.my-vision-quote::before,
.my-vision-quote::after{
  content: "";
  display: block;
  height: 3px;
  background: #9aa;   /* ライン色 */
  opacity: .65;
}
.my-vision-quote::before{ margin-bottom: 18px; }
.my-vision-quote::after { margin-top: 18px;  }

/* タイトル */
.my-vision-quote .mvq-title{
  margin: 0 0 12px 0;
  font-weight: 700;
  line-height: 1.5;
  font-size: clamp(19px, 4.6vw, 24px);
}

/* 各行（アイコン＋テキスト） */
.my-vision-quote .mvq-line{
  display: flex;
  align-items: flex-start;
  gap: .6em;
  margin: 0 0 12px 0;
  line-height: 1.9;
}
.my-vision-quote .mvq-ic svg{
  width: 1.1em; height: 1.1em;
  margin-top: .15em;
}
.my-vision-quote .mvq-txt{
  flex: 1;
  min-width: 0;
}

/* スマホ：読みやすい大きさ＆2行改行 */
@media (max-width: 767px){
  .my-vision-quote .mvq-title{ font-size: clamp(18px, 5.2vw, 22px); }
  .my-vision-quote .mvq-line{ font-size: clamp(15px, 4.2vw, 19px); }
  .sp-br{ display: inline; }   /* スマホでは改行を有効にする */
}

/* PC：改行はさせない */
@media (min-width: 768px){
  .sp-br{ display: none; }
}
/* ── 私たちの想い：上下ライン＋体裁 ── */
.my-vision-quote{
  position: relative;
  padding: 18px 14px;
  margin: 28px 0;
}
.my-vision-quote::before,
.my-vision-quote::after{
  content: "";
  display: block;
  height: 3px;
  background: #9aa;      /* ライン色 */
  opacity: .65;
}
.my-vision-quote::before{ margin-bottom: 18px; }
.my-vision-quote::after { margin-top: 18px;  }

/* タイトル（少しだけ大きめ） */
.my-vision-quote .mvq-title{
  margin: 0 0 12px 0;
  font-weight: 700;
  line-height: 1.5;
  font-size: clamp(19px, 4.2vw, 24px);
}

/* 行アイテ
/* 共通：横並び（PC用） */
.my-vision-quote .mvq-line{
  display: flex;
  gap: .6em;
  align-items: flex-start;
  margin: 0 0 12px 0;
  line-height: 1.9;
}

/* スマホのときは縦並び（flex解除） */
@media (max-width: 767px){
  .my-vision-quote .mvq-line{
    display: block;
  }
  .my-vision-quote .mvq-ic{
    display: inline-block;
    margin-right: .4em;
  }
}

/* ページID664 のこのブロックだけ左右に余白を追加 */
.page-id-664 .sp-pad {
  padding-left: 2vw;
  padding-right: 2vw;
}


/* ページID664 のこのブロックだけ左右に余白を追加 */
.page-id-664 .my-block-padding {
  padding-left: 3vw;
  padding-right: 2vw;
}

/* ▼ LINE友だち追加ボタンをサイト全体から非表示にする ▼ */
div[class*="line-it-button"],
a[href*="line.me/ti/p/"],
iframe[src*="line.me/"],
img[alt*="友だち追加"] {
  display: none !important;
}
/* ▲ ここまで ▲ */

/* ============================================================
   スタッフ一覧 カード
============================================================ */
.staff-list-wrap {
    width: 100% !important;
    overflow: hidden !important; 
    box-sizing: border-box !important;
}

.staff-row {
    display: flex !important;
    flex-wrap: wrap !important;
    flex-direction: row !important;
    width: 100% !important;
    margin-bottom: 24px !important; 
    padding: 0 !important;
    box-sizing: border-box !important
	justify-content: center !important;
}

.staff-col {
    display: flex !important;
    flex-direction: column !important;
    flex: 0 0 33.333% !important;
    max-width: 33.333% !important;
    width: 33.333% !important;
	padding: 0 16px 80px 16px !important;
    box-sizing: border-box !important;
    float: none !important;
}

/* 画像ラッパー：overflow:hidden でズームをはみ出させない */
.staff-img-wrap {
    overflow: hidden;
    cursor: pointer;
}

.staff-thumbnail {
    margin: auto;
    width: 80%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.staff-card-trigger:hover .staff-thumbnail {
    transform: scale(1.03);
    opacity: 0.92;
}

.staff-no-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #eee;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    color: #999;
}

/* ============================================================
   ヘッダー(モーダル設定のため)
============================================================ */
/* モーダル表示中はヘッダーをモーダルの下に */
body.staff-modal-open .l-header,
body.staff-modal-open .l-fixHeader {
    z-index: 1 !important;
}
/* ============================================================
   モーダル オーバーレイ
============================================================ */
.staff-modal-overlay {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0);
    z-index: 999999 !important;
    padding: 20px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transition: background 0.3s ease, opacity 0.3s ease;
}

.staff-modal-overlay.is-active {
    background: rgba(0, 0, 0, 0.5);
    opacity: 1;
    pointer-events: auto;
}

/* ============================================================
   モーダル 内側
============================================================ */
.staff-modal-inner {
    background: #fff;
    border-radius: 4px;
    padding: 40px 32px 32px;
    width: 100%;
    max-width: 460px;
    max-height: 88vh;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    position: relative;
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.18);
    transform: translateY(16px);
    transition: transform 0.3s ease, opacity 0.3s ease;
    opacity: 0;
}

.staff-modal-overlay.is-active .staff-modal-inner {
    transform: translateY(0);
    opacity: 1;
}

/* 閉じるボタン */
.staff-modal-close {
    position: absolute;
    top: 14px;
    right: 16px;
    background: none;
    border: none;
    font-size: 1.2rem;
    cursor: pointer;
    color: #aaa;
    line-height: 1;
    padding: 6px;
    transition: color 0.3s ease;
}
.staff-modal-close:hover {
    color: #333;
}

/* 画像エリア：幅80%・中央寄せ */
.staff-modal-img-wrap {
    width: 80%;
    margin: 0 auto;
}

.staff-modal-image {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
/*     border-radius: 50%; */
    display: block;
}

/* スペーサー */
.staff-modal-spacer {
    height: 20px;
}

/* ============================================================
   アコーディオン
============================================================ */
.staff-accordions {
    width: 90%;
    margin: 0 auto 1.5rem !important;
}

.staff-accordion {
    border-bottom: 1px solid #e0e0e0;
    overflow: hidden;
	margin-bottom: 1rem;
}
.staff-accordion:first-child {
    border-top: 1px solid #e0e0e0;
}

.staff-accordion-title {
    list-style: none;
    padding: 13px 36px 13px 12px;
/* 	margin-bottom: 1rem; */
/*     font-weight: 500; */
    font-size: 0.88rem;
    cursor: pointer;
    position: relative;
    color: #383c44;
    background: rgba(199, 199, 199, 0.15); 
    text-align: left;
    transition: background 0.3s ease;
    user-select: none;
}
.staff-accordion-title::-webkit-details-marker { display: none; }

.staff-accordion-title:hover {
    background: rgba(199, 199, 199, 0.15);
}

/* ＋／－ アイコン */
.staff-accordion-title::after {
    content: '+';
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.1rem;
    color: #999;
    transition: transform 0.3s ease, color 0.3s ease;
}
details[open] > .staff-accordion-title::after {
    content: '−';
    color: #383c44;
}

/* 本文エリア */
.staff-accordion-body {
    padding: 12px 14px 14px;
    font-size: 0.8rem;
    line-height: 1.85;
    color: #777371;
    background: #fefefe;
    text-align: left;
    /* ふわっと開閉アニメーション */
    animation: accordionFadeIn 0.3s ease;
}

@keyframes accordionFadeIn {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ============================================================
   レスポンシブ
============================================================ */
@media (max-width: 768px) {
   .staff-col {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
        padding: 0 6px 12px !important;
    }
    .staff-modal-inner {
        padding: 36px 20px 24px;
        max-width: 100%;
    }
    .staff-modal-img-wrap,
    .staff-accordions {
        width: 80%;
    }
	.staff-thumbnail {
		width: 100%;
	}
}

@media (max-width: 480px) {
    .staff-col {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
        padding: 0 10px 60px !important;
    }
    .staff-modal-img-wrap,
    .staff-accordions {
        width: 80%;
    }
}
/* ============================================================
   Sp時画像を拡大した時に画像が切れてしまう対策
============================================================ */
/* SP時 Luminous lightbox 修正 */
@media screen and (max-width: 768px) {
  .lum-lightbox {
    padding: 10px !important;
    box-sizing: border-box !important;
  }
  .lum-lightbox-inner {
    width: 100vw !important;
    max-width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .lum-lightbox-position-helper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    position: fixed !important;
    top: 50% !important;
    translate: 0 -50% !important;
  }

  .lum-lightbox-image-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
  }

  .lum-lightbox img {
    max-width: calc(100vw - 20px) !important;
    max-height: 90vh !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: block !important;
  }
}
/* ナビゲーション内のInstagramアイコンサイズ変更 */
/* =============================
   PC：ヘッダー内のインスタアイコン
   ============================= */
.l-header .fab.fa-instagram {
  font-size: 20px;
}
.l-fixHeader .fab.fa-instagram{
	font-size: 20px;
}
.c-gnav .ttl{
	color: #4a5c8a;
}
/* =============================
   SP：ドロワーメニュー内のインスタアイコン
   ============================= */
@media screen and (max-width: 768px) {
	.menu-item-6007{
		display: none;
	}
}
.c-iconList__link {
  text-decoration: none !important;
}
.c-iconList__icon:before {
	 color: #4a5c8a;
	 font-size: 20px;
}
/* =============================
   PC：ヘッダーメニュー調整
   ============================= */
@media (min-width: 960px) {
	.-series .l-header__logo {
	padding: 3px 0 10px 0 !important;
	}
	.menu-item{
		font-size: 15px;
	}
	.swell-block-button .swell-block-button__link[data-has-icon]{
		font-weight: 500;
		line-height: 1;
	}
}
/* =============================
   軽量スクロール導入
   ============================= */
html.lenis, html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

/* ==============================================
   TSUGUMI GROUP セクションタイトル
   紺：左寄せ/ センター共通CSS
   ============================================== */

.section-title {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

/* --- デコライン（ドット + 線）--- */
.section-title__deco {
  display: flex;
  align-items: center;
  gap: 8px;
}

.section-title__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4a5c8a;
  flex-shrink: 0;
}

.section-title__line {
  width: 40px;
  height: 1px;
  background: #4a5c8a;
  opacity: 0.35;
}

/* --- 英語ラベル --- */
.section-title__en {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  color: #4a5c8a;
}

/* --- 日本語タイトル --- */
.section-title__jp {
  font-size: 24px;
  font-weight: 500;
  color: #4a5c8a;
  letter-spacing: 0.04em;
  line-height: 1.4;
  margin-top: 2px !important;
}
/* ==============================================
   TSUGUMI GROUP セクションタイトル
   白：左寄せ/ センター共通CSS
   ============================================== */

.section-title {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

/* --- デコライン（ドット + 線）--- */
.section-title__deco-w {
  display: flex;
  align-items: center;
  gap: 8px;
}

.section-title__dot-w {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #fff;
  flex-shrink: 0;
}

.section-title__line-w {
  width: 40px;
  height: 1px;
  background: #fff;
  opacity: 0.35;
}

/* --- 英語ラベル --- */
.section-title__en-w {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  color: #fff;
}

/* --- 日本語タイトル --- */
.section-title__jp-w {
  font-size: 24px;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.04em;
  line-height: 1.4;
  margin-top: 2px !important;
}
/* ==============================================
   TSUGUMI GROUP セクションタイトル
   茶：左寄せ/ センター共通CSS
   ============================================== */

.section-title {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

/* --- デコライン（ドット + 線）--- */
.section-title__deco-b {
  display: flex;
  align-items: center;
  gap: 8px;
}

.section-title__dot-b {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #574843;
  flex-shrink: 0;
}

.section-title__line-b {
  width: 40px;
  height: 1px;
  background: #574843;
  opacity: 0.35;
}

/* --- 英語ラベル --- */
.section-title__en-b {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
  color: #574843;
}

/* --- 日本語タイトル --- */
.section-title__jp-b {
  font-size: 24px;
  font-weight: 500;
  color: #574843;
  letter-spacing: 0.04em;
  line-height: 1.4;
  margin-top: 2px !important;
}

/* ==============================================
   センター用の追加クラス
   .section-title に .section-title--center を
   併用するだけでセンター切り替え
   ============================================== */

.section-title--center {
  align-items: center;
  text-align: center;
}

.section-title--center .section-title__deco {
  justify-content: center;
}

.section-title--center .section-title__dot {
  display: none; /* センターはドットなし・線のみ */
}

.section-title--center .section-title__line {
  width: 28px;
  opacity: 0.4;
}

.section-title--center .section-title__desc {
  max-width: 520px;
}

/* --- B-small（h2・施設区切り用）--- */
.section-title--small .section-title__dot {
  width: 6px;
  height: 6px;
}

.section-title--small .section-title__line {
  width: 28px;
}

.section-title--small .section-title__jp {
  font-size: 18px;
}

/* ============================================================
   ios等対応していないデバイスで背景画像が非表示になる対策
============================================================ */
@media screen and (max-width: 1024px) {
  .swell-block-fullWide.has-bg-img {
    background-attachment: scroll !important;
  }
}
/* ============================================================
    投稿タイプ article のシングルページのみに適用 
============================================================ */
/* article投稿タイプのURLパスで絞り込む方法は不可のため、
   #comments の位置をシンプルに全ページ対象で変更する */

article.l-mainContent__inner {
  display: flex !important;
  flex-direction: column !important;
}

article.l-mainContent__inner .post_content {
  order: 3 !important;
}

article.l-mainContent__inner #comments {
  order: 4 !important;
}

article.l-mainContent__inner .p-articleFoot {
  order: 5 !important;
}

article.l-mainContent__inner .c-shareBtns.-bottom {
  order: 6 !important;
}

article.l-mainContent__inner #after_article {
  order: 7 !important;
}

/* タクソノミーページのsubtitleを非表示 */
.c-pageTitle__subTitle {
    display: none;
}
/* アーカイブページのサムネイル表示を調整 */
.c-postThumb__figure {
	height: 100% !important;
}
.u-obf-cover {
	object-fit: contain !important;
}
/* SP時 フッター非表示 */
@media (max-width: 767px) {
  #fix_bottom_menu {
    display: none !important;
  }
}