/* 2カラムの間隔 */
.post_row {
  gap: 32px;
}

.post_col_2:first-child {
  margin-right: 32px;
}

/* KVフォント */
#header_slider,
#header_slider * {
  font-family:
    "Hiragino Mincho ProN",
    "游明朝",
    "Yu Mincho",
    "Hiragino Mincho Pro",
    "MS Mincho",
    serif;
}

/* slick dots */
#header_slider_wrap > .slick-dots {
  display: none !important;
}

/* ボタン */
.home .q_custom_button1 {
  height: auto !important;
  line-height: 1.4 !important;
}

.home .q_custom_button {
  padding: 18px 48px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* KV動画 */
.KV video {
  opacity: 1 !important;
  transform: none !important;
}

/* ===== トップページ余白制御（最終・検証用） ===== */

/* header / KV 下 */
body.home header#header,
body.home #header_slider_wrap {
  margin-bottom: 0;
  padding-bottom: 0;
}

/* Serumの自動押し下げを殺す */
body.home article#page_contents {
  margin-top: 0 !important;
  flex: none !important;
}

/* About内の余白（全デバイス共通で 1px） */
body.home article#page_contents .post_content {
  padding-top: 64px;
  padding-bottom: 96px;
}

/* 直後の本文との間隔 */


/* タブレット */
@media screen and (max-width: 1221px) {
  body.home article#page_contents .post_content {
    padding-top: 40px;
    padding-bottom: 64px;
  }
}

/* SP */
@media screen and (max-width: 768px) {
  body.home article#page_contents .post_content {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}



/* ===== H2 フォント統一（コンテンツビルダー基準） ===== */
body .post_content h2 {
  font-family:
    'Times New Roman',
    游明朝,
    'Yu Mincho',
    游明朝体,
    YuMincho,
    'ヒラギノ明朝 Pro W3',
    'Hiragino Mincho Pro',
    HiraMinProN-W3,
    HGS明朝E,
    'ＭＳ Ｐ明朝',
    'MS PMincho',
    serif !important;

  font-weight: 400 !important; /* ← これが太さの決定打 */
  letter-spacing: -0.01em;
}


/* ===== 本文の左右マージンを全デバイスで統一 ===== */
body.home article#page_contents .post_content {
  max-width: 880px;          /* PC */
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}

/* ===== タブレット ===== */
@media screen and (max-width: 1221px) {
  body.home article#page_contents .post_content {
    max-width: 720px;        /* タブレットは少し狭く */
    padding-left: 24px;
    padding-right: 24px;
  }
}

/* ===== SP ===== */
@media screen and (max-width: 768px) {
  body.home article#page_contents .post_content {
    max-width: 100%;
    padding-left: 20px;      /* SPは余白で調整 */
    padding-right: 20px;
  }
}

/* ===== LOVJA キャッチコピー ===== */
.lovja-catch {
  text-align: center;
  margin: 80px auto 120px;
}

.lovja-catch__lead {
  font-family: 游明朝, "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 38px;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1.5;
  padding-top: 0;
  padding-bottom: 12px;
}

.lovja-catch__sub {
  font-family: 游明朝, "Yu Mincho", "Hiragino Mincho ProN", serif;
  margin-top: 0 !important;   /* ← 実質ここが lead〜sub の距離 */
  font-size: 20px;
  line-height: 1.8;
  margin-bottom: 40px;
}

body.home article#page_contents .lovja-catch__lead {
  line-height: 1.5 !important;
  margin: 0 !important;
}


@media screen and (max-width: 768px) {
  .lovja-catch__lead {
    font-size: 30px;          /* ← 今より小さく */
    line-height: 1.7 !important;
    letter-spacing: -0.02em; /* 明朝はSPで詰める */
    margin-bottom: 16px;
    margin-right: -20px !important;
  }
}

.lovja-catch__lead {
  text-spacing-trim: punctuation;
  letter-spacing: 0; /* ← ここが重要 */
}

@media screen and (max-width: 768px) {
  .lovja-catch__sub {
    font-size: 16px;          /* ← 今より小さく */
    max-width: 22em;     /* ← SPだけ行幅を狭める */
    margin-top: 24px;    /* ← リードとの距離を詰める */
    line-height: 1.9;    /* ← 行間を少し締める */
  }
}

.home .q_custom_button {
  padding: 80px 64px;   /* ← 縦と横をしっかり */
  font-size: 18px;
  min-width: 480px;     /* ← 横幅を担保 */
}

@media screen and (max-width: 768px) {
  .home .q_custom_button {
    min-width: 0 !important;
    width: 100% !important;

    padding: 32px 20px !important;
    line-height: 1.4;
    white-space: normal;
    text-align: center;
    box-sizing: border-box;
  }
}

.post_content p {
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  .lovja-catch {
    margin: 48px auto 120px;
  }
}

@media only screen and (max-width: 800px){
  .cb_free_space .post_content h2:not(.catch):not(.styled_h2):first-child{
    margin-bottom: 48px;
  }
}

@media only screen and (max-width: 800px) {
  .cb_free_space.no_bg_color:first-child {
    padding-top: 48px;
  }
}

/* LOVJAについて 本文フォントサイズを固定 */
.lovja-about__body p {
  color: #555;
  font-size: 14px;
  line-height: 1.9;
}

.p1 span {
  color: #555;
}


.lovja-two-col {
  display: flex;
  gap: 1px; /* 中央線を入れたいなら後で */
}

.lovja-two-col__item {
  width: 50%;
  box-sizing: border-box;
}

.lovja-two-col__item img {
  width: 100%;
  height: auto;
  display: block;
}

.lovja-two-col__item h3 {
  margin-top: 24px;
}

/*
.lovja-two-col__item p {
  margin-top: 12px;
}
*/

.lovja-two-col {
  margin-left: -115px;
  margin-right: -115px;
}

.lovja-two-col .item img {
  margin-bottom: 80px;
}

.cb_free_space.no_bg_color + .cb_free_space.no_bg_color {
  border-top: none;
}

/* 2カラムの間隔 */
.post_row {
  gap: 32px;
}

.post_col_2:first-child {
  margin-right: 32px;
}

/* KVフォント */
#header_slider,
#header_slider * {
  font-family:
    "Hiragino Mincho ProN",
    "游明朝",
    "Yu Mincho",
    "Hiragino Mincho Pro",
    "MS Mincho",
    serif;
}

/* slick dots */
#header_slider_wrap > .slick-dots {
  display: none !important;
}

/* ボタン */
.home .q_custom_button1 {
  height: auto !important;
  line-height: 1.4 !important;
}

.home .q_custom_button {
  padding: 18px 48px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* KV動画 */
.KV video {
  opacity: 1 !important;
  transform: none !important;
}

/* ===== トップページ余白制御（最終・検証用） ===== */

/* header / KV 下 */
body.home header#header,
body.home #header_slider_wrap {
  margin-bottom: 0;
  padding-bottom: 0;
}

/* Serumの自動押し下げを殺す */
body.home article#page_contents {
  margin-top: 0 !important;
  flex: none !important;
}

/* About内の余白（全デバイス共通で 1px） */
body.home article#page_contents .post_content {
  padding-top: 64px;
  padding-bottom: 96px;
}

/* 直後の本文との間隔 */


/* タブレット */
@media screen and (max-width: 1221px) {
  body.home article#page_contents .post_content {
    padding-top: 40px;
    padding-bottom: 64px;
  }
}

/* SP */
@media screen and (max-width: 768px) {
  body.home article#page_contents .post_content {
    padding-top: 48px;
    padding-bottom: 48px;
  }
}



/* ===== H2 フォント統一（コンテンツビルダー基準） ===== */
body .post_content h2 {
  font-family:
    'Times New Roman',
    游明朝,
    'Yu Mincho',
    游明朝体,
    YuMincho,
    'ヒラギノ明朝 Pro W3',
    'Hiragino Mincho Pro',
    HiraMinProN-W3,
    HGS明朝E,
    'ＭＳ Ｐ明朝',
    'MS PMincho',
    serif !important;

  font-weight: 400 !important; /* ← これが太さの決定打 */
  letter-spacing: -0.01em;
}


/* ===== 本文の左右マージンを全デバイスで統一 ===== */
body.home article#page_contents .post_content {
  max-width: 880px;          /* PC */
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}

/* ===== タブレット ===== */
@media screen and (max-width: 1221px) {
  body.home article#page_contents .post_content {
    max-width: 720px;        /* タブレットは少し狭く */
    padding-left: 24px;
    padding-right: 24px;
  }
}

/* ===== SP ===== */
@media screen and (max-width: 768px) {
  body.home article#page_contents .post_content {
    max-width: 100%;
    padding-left: 20px;      /* SPは余白で調整 */
    padding-right: 20px;
  }
}

/* ===== LOVJA キャッチコピー ===== */
.lovja-catch {
  text-align: center;
  margin: 80px auto 120px;
}

.lovja-catch__lead {
  font-family: 游明朝, "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 38px;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1.5;
  padding-top: 0;
  padding-bottom: 12px;
}

.lovja-catch__sub {
  font-family: 游明朝, "Yu Mincho", "Hiragino Mincho ProN", serif;
  margin-top: 0 !important;   /* ← 実質ここが lead〜sub の距離 */
  font-size: 20px;
  line-height: 1.8;
  margin-bottom: 40px;
}

body.home article#page_contents .lovja-catch__lead {
  line-height: 1.5 !important;
  margin: 0 !important;
}


@media screen and (max-width: 768px) {
  .lovja-catch__lead {
    font-size: 30px;          /* ← 今より小さく */
    line-height: 1.4 !important;
    letter-spacing: -0.02em; /* 明朝はSPで詰める */
    margin-bottom: 16px;
  }
}

.lovja-catch__lead {
  text-spacing-trim: punctuation;
  letter-spacing: 0; /* ← ここが重要 */
}

@media screen and (max-width: 768px) {
  .lovja-catch__sub {
    font-size: 16px;          /* ← 今より小さく */
    max-width: 22em;     /* ← SPだけ行幅を狭める */
    margin-top: 24px;    /* ← リードとの距離を詰める */
    line-height: 1.9;    /* ← 行間を少し締める */
  }
}

.home .q_custom_button {
  padding: 80px 64px;   /* ← 縦と横をしっかり */
  font-size: 18px;
  min-width: 480px;     /* ← 横幅を担保 */
}

@media screen and (max-width: 768px) {
  .home .q_custom_button {
    min-width: 0 !important;
    width: 100% !important;

    padding: 32px 20px !important;
    line-height: 1.4;
    white-space: normal;
    text-align: center;
    box-sizing: border-box;
  }
}

.post_content p {
  line-height: 1.8;
}

@media screen and (max-width: 768px) {
  .lovja-catch {
    margin: 48px auto 120px;
  }
}

@media only screen and (max-width: 800px) {
  .cb_free_space .post_content h2:not(.catch):not(.styled_h2):first-child {
    margin-bottom: 48px;
  }
}

@media only screen and (max-width: 800px) {
  .cb_free_space.no_bg_color:first-child {
    padding-top: 48px;
  }
}

/* LOVJAについて 本文フォントサイズを固定 */
.lovja-about__body p {
  color: #555;
  font-size: 14px;
  line-height: 1.9;
}

.p1 span {
  color: #555;
}


.lovja-two-col {
  display: flex;
  gap: 1px; /* 中央線を入れたいなら後で */
}

.lovja-two-col__item {
  width: 50%;
  box-sizing: border-box;
}

.lovja-two-col__item img {
  width: 100%;
  height: auto;
  display: block;
}

.lovja-two-col__item h3 {
  margin-top: 24px;
}

.lovja-two-col__item p {
  margin-top: 12px;
}

.lovja-two-col {
  margin-left: -115px;
  margin-right: -115px;
}

.lovja-two-col .item img {
  margin-bottom: 80px;
}

.cb_free_space.no_bg_color + .cb_free_space.no_bg_color {
  border-top: none;
}

/* =========================
   LOVJA two column FINAL FIX
========================= */

.lovja-two-col {
  margin-left: -115px;
  margin-right: -115px;
}

.lovja-two-col__inner {
  display: flex;
  position: relative;
}

/* 各カラム */
.lovja-two-col__item {
  width: 50%;
  box-sizing: border-box;
}

/* 中央線（唯一これだけ） */
.lovja-two-col__item:first-child {
  border-right: 1px solid #ddd;
}

/* ===== 画像 ===== */
.lovja-two-col__image img {
  display: block;
  width: 100%;
  height: auto;
}

/* ===== テキスト ===== */
.lovja-two-col__body {
  max-width: 420px;
  margin: 40px auto 0;
  padding: 0 20px;
}

.lovja-two-col__title {
  text-align: center;
  font-family:
    'Times New Roman',
    游明朝,
    'Yu Mincho',
    serif;
  font-size: 20px;
  font-weight: 400;
  margin-bottom: 16px;
}

.lovja-two-col__desc {
  font-size: 15px;
  line-height: 1.9;
  color: #555;
  margin: 0;
  text-align: left;
}

/* ===== SP ===== */
@media screen and (max-width: 768px) {
  .lovja-two-col {
    margin-left: 0;
    margin-right: 0;
  }

  .lovja-two-col__inner {
    flex-direction: column;
  }

  .lovja-two-col__item {
    width: 100%;
    border-right: none;
  }
}

.cb_free_space .post_content h2:not(.catch):not(.styled_h2):first-child + p {
  margin-top: 0 !important;
}

/* PC（デフォルト） */
a.q_custom_button,
a.q_custom_button1{
  margin-bottom: 100px !important;
}

/* SP（〜768px） */
@media screen and (max-width: 768px){
  a.q_custom_button,
  a.q_custom_button1{
    margin-bottom: 64px !important; /* ←SP用の値に変更 */
  }
}

.cb_free_space .post_content h2:not(.catch):not(.styled_h2):first-child {
  margin-top: 75px !important;
}

@media (max-width: 768px){
  .cb_free_space .post_content h2:not(.catch):not(.styled_h2):first-child{
    margin-top: 48px !important;
  }
}

.lovja-two-col__body{
  padding-bottom: 64px; /* 원하는値 */
}
.lovja-two-col__desc{
  margin-bottom: 0;
}


.lovja-two-col__title{
  font-weight: 300 !important;
}


.lovja-two-col h3.lovja-two-col__title{
  position: relative;
  padding-bottom: 36px !important;
  margin-bottom: 32px !important;
}

.lovja-two-col__body{
  position: relative;
}

.lovja-two-col__title{
  padding-bottom: 18px;
  margin-bottom: 26px;
  border-bottom: 1px solid #d6d6d6;
}

/* SPで中央の縦線（border-right）を確実に消す */
@media screen and (max-width: 768px){
  .lovja-two-col__item,
  .lovja-two-col__item:first-child{
    border-right: none !important;
    border-left: none !important;
  }
}



/*2026-01-16*/



/* 1) 本文エリアの固定幅から脱出（全幅に逃がす） */
.lovja-two-col{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* 2) Content Builderっぽい左右余白（PCは80px想定 / 画面で変えるならclamp） */
.lovja-two-col{
  padding-left: clamp(20px, 5vw, 80px);
  padding-right: clamp(20px, 5vw, 80px);
  box-sizing: border-box;
}

/* 3) 中は2カラムで均等 */
.lovja-two-col__inner{
  display: flex;
  width: 100%;
}

.lovja-two-col__item{
  flex: 0 0 50%;
  max-width: 50%;
  min-width: 0;
}

/* 4) ズレの元になりがちな固定幅を完全に潰す */
.lovja-two-col__body{
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

/* 5) 本文の読み幅は“中身”で制御（ここが効くようになる） */
.lovja-two-col__body > *{
  max-width: 800px; /* ←ここを変える */
  margin-left: auto;
  margin-right: auto;
}


/* ===== SP：レイアウト強制リセット（崩壊止め） ===== */
@media (max-width: 768px){

  /* 1) 全幅逃がし(100vw calc)をSPでは無効化 */
  .lovja-two-col{
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* 2) 中の固定幅・中央寄せ系を全部解除 */
  .lovja-two-col__inner{
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    display: block !important;
  }

  /* 3) 2カラム化してる指定を“強制1カラム”へ */
  .lovja-two-col__item{
    width: 100% !important;
    max-width: none !important;
    flex: 0 0 100% !important;
    display: block !important;
  }

  /* 4) 本文ブロックの幅制限を解除＋余白だけ整える */
  .lovja-two-col__body{
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    padding: 38px 20px 44px !important;
    margin: 0 !important;
  }

  /* 5) ここが“極細化”の犯人になりやすい：子要素のmax-widthを解除 */
  .lovja-two-col__body > *{
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* 6) 画像の変な縮み防止 */
  .lovja-two-col__image,
  .lovja-two-col__image img{
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
  }
}


/* 画像だけ：横にワイド化（高さは一定） */
.lovja-two-col__image{
  width: 100%;
  height: 360px;          /* ←好みで調整（KVに合わせる） */
  overflow: hidden;
}

.lovja-two-col__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;      /* ←横に広げてもトリミングされる */
  object-position: center;
  display: block;
}



/* 見出し・線・本文を“読み幅”に制限 */
.lovja-two-col__body{
  padding: 0 80px 96px;
  box-sizing: border-box;
}

.lovja-two-col__body > *{
  max-width: 520px;   /* ←読みやすい幅。広げたいなら 560〜620 */
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 768px){

  /* 1) まずSPは1カラム化（ここが効いてないと永遠に広がらない） */
  .lovja-two-col__inner{
    display: block !important;
  }
  .lovja-two-col__item{
    width: 100% !important;
  }

  /* 2) 画像ブロックだけ“画面幅(100vw)”にして左右余白を打ち消す */
  .lovja-two-col__image{
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  /* 3) 中のimgはその幅にフィット（はみ出し防止） */
  .lovja-two-col__image img{
    width: 100% !important;
    height: auto !important;
    display: block;
  }

  /* 4) 文字は読めるように“文字だけ”内側余白（不要なら0に） */
  .lovja-two-col__body{
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}


@media (max-width: 768px){

  /* 画像だけフルブリード（画面いっぱい） */
  .lovja-two-col__image{
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  .lovja-two-col__image img{
    width: 100% !important;
    height: auto !important;
    display: block;
  }

  /* 画像以外（テキスト群）は中央のレイアウトに戻す */
  .lovja-two-col__body,
  .lovja-two-col__body > *{
    width: auto !important;
    max-width: 560px !important;   /* 読みやすい幅。好みで調整 */
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* 画像の下の余白も統一（任意） */
  .lovja-two-col__image{
    margin-bottom: 24px !important;
  }
}

@media (max-width: 768px){

  /* まず：本文の「max-width制限」を画像には当てない */
  .lovja-two-col__body > *{
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* テキスト群だけ読み幅を持たせて中央寄せ */
  .lovja-two-col__body > :not(.lovja-two-col__image){
    max-width: 560px !important;   /* 好みで 520〜620 くらい */
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;  /* 端までベタだと読みにくいので最低限 */
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* 画像は画面いっぱい（フルブリード） */
  .lovja-two-col__image{
    display: block !important;
    width: 100vw !important;
    max-width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    margin: 0 !important;
  }

  .lovja-two-col__image img{
    display: block !important;
    width: 100% !important;
    height: auto !important;
  }
}


/* 2カラム本文：PCは読み幅を保持、SPはLOVJAについてと同じ“本文幅感”に寄せる */
.lovja-two-col__body > *{
  max-width: 720px;     /* PC側の読み幅（好みで 680〜800） */
  margin-left: auto;
  margin-right: auto;
}

/* SP：幅を広げて、変な改行（極端な縦組み）を防ぐ */
@media (max-width: 768px){
  .lovja-two-col__body{
    padding-left: 0;
    padding-right: 0;
  }

  .lovja-two-col__body > *{
    max-width: none;    /* ←ここが本命：制限を外して“LOVJAについて”っぽくする */
  }
}



@media (max-width: 768px){

  /* 本文ブロック自体をフル幅にする */
  .lovja-two-col__body{
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* 中身も制限解除（どこかの max-width を潰す） */
  .lovja-two-col__body *{
    max-width: none !important;
  }

  /* リードの改行が気になるなら、改行させすぎない */
  .lovja-two-col__lead,
  .lovja-two-col__title{
    max-width: none !important;
  }
}

@media (max-width: 768px){
  .lovja-two-col__title{
    font-size: 24px !important;
    line-height: 1.5 !important;
    letter-spacing: .02em;
  }
}

@media (max-width: 768px){
  .lovja-two-col,
  .lovja-two-col__inner,
  .lovja-two-col__item{
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}


.logo-video{
  display:block;
  width:100%;          /* 横幅指定したいなら 900px とかに変更OK */
  max-width:240px;    /* 任意 */
  height:240px;        /* ←ここで高さ指定 */
  margin:0 auto;       /* 中央寄せしたい場合 */
  object-fit:cover;    /* KVっぽくトリミング */
  background:#000;     /* 読み込み時の黒 */
  margin-bottom: 64px !important;
}

@media screen and (max-width: 768px){
  .logo-video{
    max-width: 180px; /* ←SPの横サイズ上限（例） */
    height: 180px;    /* ←SPの高さ（例） */
    margin-bottom: 60px !important;
  }
}


.cb_free_space.num4{
  padding-bottom: 120px !important;
}

@media screen and (max-width: 768px){
  .cb_free_space.num4{
    padding-bottom: 70px !important;
  }
}


/* 1人分の行：左右並び */
.devRow{
  display:flex;
  align-items:center;
  gap:80px;
  padding:60px 0;
}

/* 左：丸背景 */
.devPhoto{
  width:320px;
  max-width:40%;
  display:flex;
  justify-content:center;
}

.devPhoto__bg{
  width:320px;
  aspect-ratio:1/1;
  border-radius:50%;
  background:#f2f2f2;
  display:flex;
  justify-content:center;
  align-items:center;
}

.devPhoto__bg img{
  width:95%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:50%;
  filter:grayscale(20%);
}

/* 右：テキスト */
.devText{ max-width:560px; }
.devLabel{ font-size:14px; letter-spacing:.12em; margin-bottom:8px; }
.devRole{ font-size:16px; margin-bottom:10px; }
.devName{ font-size:34px; line-height:1.25; margin-bottom:22px; margin-top:12px; }
.devBody{ font-size:15px; color: #555; line-height:2.0; }

/* SP */
@media (max-width:768px){
  .devRow{ flex-direction:column; gap:24px; text-align:left; }
  .devPhoto{ width:100%; max-width:none; }
  .devPhoto__bg{ width:min(280px, 86vw); }
  .devName{ font-size:26px; }
}

@media (max-width: 768px){
  .devLabel,
  .devRole,
  .devName{
    text-align: center !important;
  }
}

@media (min-width: 769px){
  .cb_free_space.num5 .devRow{
    margin-bottom: -60px;
  }
}



@media (max-width: 768px){
  html, body{
    margin: 0 !important;
    padding: 0 !important;
  }
}

@media (max-width: 768px){

  /* KV系：テーマ差を吸収してフルブリードにする */
  #header_slider,
  #header_slider_wrap,
  .header_slider,
  .header_slider_wrap,
  .p-hero,
  .p-kv,
  .p-slider,
  .p-mv,
  .c-mv,
  .slick-slider{
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  /* KV内の画像/動画が端まで届くように */
  #header_slider img,
  .p-hero img,
  .p-kv img,
  .p-slider img,
  #header_slider video,
  .p-hero video,
  .p-kv video,
  .p-slider video{
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
  }
}

@media (max-width: 768px){
  body{ overflow-x: hidden; }
}


/*2026-01-17*/

/* ====== base：保険（全幅で縮められるように） ====== */
#cb_content_7 .lovja-basic-info__left,
#cb_content_7 .lovja-basic-info__right{
  min-width: 0 !important;
}

/* ====== PC（1025px〜）：2カラム + 右500 ====== */
@media (min-width: 1025px){
  #cb_content_7 .lovja-basic-info{
    display:flex !important;
    align-items:flex-start !important;
    justify-content: space-between !important;
    gap:40px !important;
    flex-wrap: nowrap !important;
  }
  #cb_content_7 .lovja-basic-info__left{
    flex: 1 1 auto !important;
    min-width: 360px !important;
  }
  #cb_content_7 .lovja-basic-info__right{
    flex: 0 0 500px !important;
    min-width: 500px !important;
  }
  #cb_content_7 .lovja-basic-info__right table{
    width: 500px !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
  }
}

/* ====== SP扱い（〜1024px）：縦積み + テーブルを“収める” ====== */
@media (max-width: 1024px){
  #cb_content_7 .lovja-basic-info{
    display:flex !important;
    flex-direction: column !important;
    gap:24px !important;
  }
  #cb_content_7 .lovja-basic-info__left,
  #cb_content_7 .lovja-basic-info__right{
    width:100% !important;
    min-width:0 !important;
  }

  /* テーブルは横スクロールさせずに収める：列幅を強制配分 */
  #cb_content_7 .lovja-basic-info__right table{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
  }

  #cb_content_7 .lovja-basic-info__right th,
  #cb_content_7 .lovja-basic-info__right td{
    padding: 6px 2px !important;
    font-size: 10px !important;
    text-align: center !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }

  /* 1列目（時間）を太く、残り7列を均等に */
  #cb_content_7 .lovja-basic-info__right th:first-child,
  #cb_content_7 .lovja-basic-info__right td:first-child{
    width: 42% !important;         /* ← ここが効く */
    text-align: left !important;
    white-space: normal !important; /* 時間だけ2行OKにして幅を稼ぐ */
    line-height: 1.2 !important;
  }
  #cb_content_7 .lovja-basic-info__right th:nth-child(n+2),
  #cb_content_7 .lovja-basic-info__right td:nth-child(n+2){
    width: 8.285% !important;      /* 58% / 7列 */
  }
}


@media (max-width: 1024px){

  /* ショートコード側の「横並びレイアウト」を殺す */
  #cb_content_7 .lovja-basic-info__right .schedule_content{
    display: block !important;       /* flex を潰す */
    width: 100% !important;
    max-width: 100% !important;
  }

  /* もし子要素に幅固定やflexが残ってても全部100%へ */
  #cb_content_7 .lovja-basic-info__right .schedule_content > *{
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }

  /* テーブルは幅いっぱい */
  #cb_content_7 .lovja-basic-info__right .schedule_content table{
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
  }
}



/* ===== 共通：線と余白をスッキリ ===== */
#cb_content_7 .schedule_content table{
  border-collapse: collapse !important;
  width: 100%;
}

/* 外枠：1px */
#cb_content_7 .schedule_content table{
  border: 1px solid #000 !important;
}

/* 内側の罫線：細く */
#cb_content_7 .schedule_content th,
#cb_content_7 .schedule_content td{
  border: 1px solid #000 !important;
  vertical-align: middle;
}

/* ===== PC：セルの天地（高さ）を詰める ===== */
@media (min-width: 1025px){
  #cb_content_7 .schedule_content th,
  #cb_content_7 .schedule_content td{
    padding: 10px 10px !important;   /* ← 好みで 8px まで詰めてOK */
    font-size: 13px;                /* 文字も少し締めるなら */
  }
}

/* ===== SP：時間列を狭く、中央寄せ、全体もコンパクト ===== */
@media (max-width: 1024px){
  #cb_content_7 .schedule_content th,
  #cb_content_7 .schedule_content td{
    padding: 8px 4px !important;
    font-size: 11px;
    text-align: center;             /* 基本中央 */
    white-space: nowrap;            /* 曜日は崩さない */
  }

  /* 1列目（時間/時間帯）を狭くして中央寄せ */
  #cb_content_7 .schedule_content th:first-child,
  #cb_content_7 .schedule_content td:first-child{
    width: 96px !important;         /* ← ここで“時間の幅”を決める（80〜110で調整） */
    text-align: center !important;  /* 時間も真ん中 */
    white-space: normal !important; /* 必要なら2行に逃がせる */
    line-height: 1.15;
  }

  /* 「時間」見出しも中央 */
  #cb_content_7 .schedule_content th:first-child{
    text-align: center !important;
  }
}


@media (min-width: 1025px){
  /* td/th自体の余白も一応詰める */
  #cb_content_7 .schedule_content th,
  #cb_content_7 .schedule_content td{
    padding: 20px 10px !important;
    line-height: 1.2 !important;
  }

  /* 犯人：中のdiv.content の余白/高さを潰す */
  #cb_content_7 .schedule_content .content{
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    height: auto !important;
    min-height: 0 !important;
  }
}

@media (max-width: 1024px){
  #cb_content_7 .schedule_content .content{
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1.15 !important;
    height: auto !important;
    min-height: 0 !important;
  }

  /* ついでにセル自体も軽く詰める */
  #cb_content_7 .schedule_content th,
  #cb_content_7 .schedule_content td{
    padding: 16px 3px !important;
  }
}

/* クリニック名 */
#cb_content_7 .lovja-basic-info__clinic{
  margin: 0 0 12px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #111 !important;
}

/* ラベル＋本文のリスト */
#cb_content_7 .lovja-basic-info__list{
  margin: 0 !important;
}

#cb_content_7 .lovja-basic-info__list .item{
  display: flex !important;
  gap: 18px !important;
  padding: 8px 0 !important;
}

#cb_content_7 .lovja-basic-info__list dt{
  width: 90px !important;
  font-size: 12px !important;
  color: #888 !important;
  letter-spacing: .04em !important;
}

#cb_content_7 .lovja-basic-info__list dd{
  margin: 0 !important;
  font-size: 14px !important;
  color: #555 !important;
  line-height: 1.8 !important;
}

/* 電話リンク（dl版にも効くように） */
#cb_content_7 .lovja-basic-info__list a.tel{
  color: #11a7a0 !important;
  text-decoration: none !important;
}

/* SP：縦積み */
@media (max-width: 1024px){
  #cb_content_7 .lovja-basic-info__list .item{
    flex-direction: column !important;
    gap: 6px !important;
    padding: 10px 0 !important;
  }
  #cb_content_7 .lovja-basic-info__list dt{
    width: auto !important;
  }
}


/* 行ごとに区切り線（ピンク位置） */
#cb_content_7 .lovja-basic-info__list .item{
  display: flex !important;
  gap: 18px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid #e6e6e6 !important; /* ← グレー線 */
}


#cb_content_7 .lovja-basic-info__list dt{
  width: 60px !important;       /* ← 青枠の幅。80〜110で調整 */
  flex: 0 0 60px !important;     /* ← これが重要：列幅を固定 */
  font-size: 12px !important;
  color: #888 !important;
  letter-spacing: .04em !important;
}
#cb_content_7 .lovja-basic-info__list dd{
  flex: 1 1 auto !important;
  margin: 0 !important;
}


@media (max-width: 1024px){

  /* 行のレイアウト */
  #cb_content_7 .lovja-basic-info__list .item{
    display: block !important;          /* ← column flexをやめて詰める */
    padding: 10px 0 !important;
    border-bottom: 1px solid #e6e6e6 !important;
  }

  /* 余白の犯人を全殺し */
  #cb_content_7 .lovja-basic-info__list dt,
  #cb_content_7 .lovja-basic-info__list dd{
    margin: 0 !important;
    padding: 0 !important;
  }

  /* dtは上、ddはすぐ下 */
  #cb_content_7 .lovja-basic-info__list dt{
    font-size: 11px !important;
    line-height: 1.2 !important;
    color: #888 !important;
  }

  #cb_content_7 .lovja-basic-info__list dd{
    margin-top: 6px !important;         /* ← ここだけ最小の間 */
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: #555 !important;
  }

  /* 電話リンクが変に広がるの抑止 */
  #cb_content_7 .lovja-basic-info__list a.tel{
    display: inline !important;
    line-height: inherit !important;
  }
}


/* クリニック名を大きく（28px） */
#cb_content_7 .lovja-basic-info__clinic{
  font-size: 22px !important;
  line-height: 1.25 !important;
  margin: 0 0 0 !important;
  font-weight: 600 !important;
}

/* リスト全体の上にライン */
#cb_content_7 .lovja-basic-info__list{
  border-top: 3px solid #11a7a0 !important;
  padding-top: 14px !important; /* 近ければ調整 */
}


/* 上下の太ラインを黒に */
#cb_content_7 .lovja-basic-info__list{
  border-top-color: #e6e6e6 !important;
  border-bottom-color: #e6e6e6 !important;
}

/* 電話番号リンクを黒に */
#cb_content_7 .lovja-basic-info__list a[href^="tel:"]{
  color: #333 !important;
}

/* cb_content_7 のH2だけに効かせる */
#cb_content_7 .post_content h2.styled_h2{
  margin: 0 0 64px !important;
}



/*2026-01-18*/


/* =========================
   LOVJA FAQ CSS 最終版
   ・JSが .lovja-faq__item に is-open を付け外しする前提
   ・max-height アニメで「地の中に文字が収まる」状態
========================= */

/* セクション余白 */
.lovja-faq{
  padding: 90px 0 110px;
}

/* タイトル */
.lovja-faq__title{
  text-align: center;
  font-size: 26px;
  letter-spacing: .18em;
  font-weight: 500;
  margin: 0 0 60px;
}

/* リスト（中央寄せ） */
.lovja-faq__list{
  max-width: 980px;
  margin: 0 auto;
  border-top: 1px solid #e6e6e6;
}

/* 1アイテム */
.lovja-faq__item{
  background: #f3f3f3;
  border-bottom: 1px solid #e6e6e6;
}

/* 質問ボタン（行全体クリック） */
.lovja-faq__q{
  width: 100%;
  border: 0;
  background: transparent;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;

  padding: 22px 34px;
  text-align: left;

  -webkit-tap-highlight-color: transparent;
}

.lovja-faq__q:focus-visible{
  outline: 2px solid rgba(0,0,0,.12);
  outline-offset: 2px;
}

/* 質問文 */
.lovja-faq__qtext{
  flex: 1 1 auto;
  font-size: 14px;
  line-height: 1.7;
  color: #333;
}

/* 右の + / - */
.lovja-faq__icon{
  position: relative;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  opacity: .75;
}

/* 横棒 */
.lovja-faq__icon::before{
  content:"";
  position:absolute;
  left: 0; right: 0;
  top: 50%;
  height: 1px;
  background: #777;
  transform: translateY(-50%);
}

/* 縦棒（＝＋） */
.lovja-faq__icon::after{
  content:"";
  position:absolute;
  top: 0; bottom: 0;
  left: 50%;
  width: 1px;
  background: #777;
  transform: translateX(-50%);
  transition: opacity 180ms ease;
}

/* 開いてる時は縦棒を消して「−」 */
.lovja-faq__item.is-open .lovja-faq__icon::after{
  opacity: 0;
}

/* 回答：max-heightで開閉（文字が浮かない） */
.lovja-faq__a{
  overflow: hidden;
  max-height: 0;                 /* JSが開く時にscrollHeight(px)を入れる */
  transition: max-height 280ms ease;
  background: #f3f3f3;
}

/* 回答本文 */
.lovja-faq__aInner{
  padding: 0 34px 22px;
  font-size: 13px;
  line-height: 1.9;
  color: #666;
}

/* 開いた時、質問行との間を少しだけ作る */
.lovja-faq__item.is-open .lovja-faq__aInner{
  padding-top: 6px;
}

/* hover（任意） */
.lovja-faq__q:hover{
  background: rgba(255,255,255,.35);
}

/* SP */
@media (max-width: 768px){
  .lovja-faq{
    padding: 70px 0 90px;
  }
  .lovja-faq__title{
    font-size: 32px;
    margin-bottom: 40px;
    letter-spacing: .14em;
  }
  .lovja-faq__list{
    margin: 0 16px;
  }
  .lovja-faq__q{
    padding: 18px 18px;
    gap: 14px;
  }
  .lovja-faq__qtext{
    font-size: 13px;
  }
  .lovja-faq__aInner{
    padding: 0 18px 18px;
    font-size: 12.5px;
    line-height: 1.85;
  }
  .lovja-faq__item.is-open .lovja-faq__aInner{
    padding-top: 6px;
  }
}

/*2026-01-18-2*/

/* =========================
   LOVJA FAQ CSS 最終版
   ・JSが .lovja-faq__item に is-open を付け外しする前提
   ・max-height アニメで「地の中に文字が収まる」状態
========================= */

/* セクション余白 */
.lovja-faq{
  padding: 0 0 70px;
}

/* タイトル */
.lovja-faq__title{
  text-align: center;
  font-size: 26px;
  letter-spacing: .18em;
  font-weight: 500;
  margin: 0 0 60px;
}

/* リスト（中央寄せ） */
.lovja-faq__list{
  max-width: 980px;
  margin: 0 auto;
  border-top: 1px solid #e6e6e6;
}

/* 1アイテム */
.lovja-faq__item{
  background: #f3f3f3;
  border-bottom: 1px solid #e6e6e6;
}

/* 質問ボタン（行全体クリック） */
.lovja-faq__q{
  width: 100%;
  border: 0;
  background: transparent;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;

  padding: 22px 34px;
  text-align: left;

  -webkit-tap-highlight-color: transparent;
}

.lovja-faq__q:focus-visible{
  outline: 2px solid rgba(0,0,0,.12);
  outline-offset: 2px;
}

/* 質問文 */
.lovja-faq__qtext{
  flex: 1 1 auto;
  font-size: 15px;
  line-height: 1.7;
  color: #333;
}

/* 右の + / - */
.lovja-faq__icon{
  position: relative;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  opacity: .75;
}

/* 横棒 */
.lovja-faq__icon::before{
  content:"";
  position:absolute;
  left: 0; right: 0;
  top: 50%;
  height: 1px;
  background: #777;
  transform: translateY(-50%);
}

/* 縦棒（＝＋） */
.lovja-faq__icon::after{
  content:"";
  position:absolute;
  top: 0; bottom: 0;
  left: 50%;
  width: 1px;
  background: #777;
  transform: translateX(-50%);
  transition: opacity 180ms ease;
}

/* 開いてる時は縦棒を消して「−」 */
.lovja-faq__item.is-open .lovja-faq__icon::after{
  opacity: 0;
}

/* 回答：max-heightで開閉（文字が浮かない） */
.lovja-faq__a{
  overflow: hidden;
  max-height: 0;                 /* JSが開く時にscrollHeight(px)を入れる */
  transition: max-height 280ms ease;
  background: #f3f3f3;
}

/* 回答本文 */
.lovja-faq__aInner{
  padding: 0 34px 22px;
  font-size: 13px;
  line-height: 1.9;
  color: #666;
}

/* 開いた時、質問行との間を少しだけ作る */
.lovja-faq__item.is-open .lovja-faq__aInner{
  padding-top: 6px;
}

/* hover（任意） */
.lovja-faq__q:hover{
  background: rgba(255,255,255,.35);
}

/* SP */
@media (max-width: 768px){
  .lovja-faq{
    padding: 70px 0 70px;
  }
  .lovja-faq__title{
    font-size: 22px;
    margin-bottom: 40px;
    letter-spacing: .14em;
  }
  .lovja-faq__list{
    margin: 0 16px;
  }
  .lovja-faq__q{
    padding: 18px 18px;
    gap: 14px;
  }
  .lovja-faq__qtext{
    font-size: 15px;
  }
  .lovja-faq__aInner{
    padding: 0 18px 18px;
    font-size: 12.5px;
    line-height: 1.85;
  }
  .lovja-faq__item.is-open .lovja-faq__aInner{
    padding-top: 6px;
  }
}

.lovja-faq__a{
  display: block;                /* display:none混入保険 */
  overflow: hidden;
  max-height: 0;
  transition: max-height 280ms ease;
  background: #f3f3f3;
}

.lovja-faq__aInner{
  padding: 6px 34px 22px;        /* ← 常に6px。条件分岐やめる（カクッ防止） */
  font-size: 13px;
  line-height: 1.9;
  color: #666;

  opacity: 0;
  transform: translateY(-6px);
  transition: opacity 220ms ease, transform 220ms ease;
  will-change: opacity, transform;
}

/* 開いてる時だけ表示（ふわっ） */
.lovja-faq__item.is-open .lovja-faq__aInner{
  opacity: 1;
  transform: translateY(0);
}

/* 空のp（改行起因）をFAQ内だけ非表示 */
.lovja-faq p:empty{
  display: none !important;
}


/* 開いてる時だけ、Q行＋A（本文）を #fafafa に */
.lovja-faq__item.is-open{
  background: #fcfcfc;
}

.lovja-faq__item.is-open .lovja-faq__q{
  background: #fcfcfc;
}

.lovja-faq__item.is-open .lovja-faq__a{
  background: #fcfcfc;
}

/* hoverで色が変わらないように保険 */
.lovja-faq__item.is-open .lovja-faq__q:hover{
  background: #fcfcfc;
}


/* Q行：もっと左へ */
.lovja-faq__q{
  padding-left: 22px;   /* ← 好みで 18〜26 */
  padding-right: 34px;  /* 右は今のまま */
}

/* A本文：Qより右へ（インデント） */
.lovja-faq__aInner{
  padding-left: 48px;   /* ← Qより +20〜30px くらいが綺麗 */
  padding-right: 34px;
}


/* lovja-h2-02 の直後〜同ブロック内の p に紛れた br を消す */
.lovja-h2-02 + p br,
.lovja-h2-02 ~ p br{
  display: none !important;
}


@media (max-width: 768px){
  .lovja-faq__list{
    max-width: 360px;
    width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* アイコン位置：PC 32px / SP 16px（確実版） */
.lovja-faq__q{
  position: relative;
}

/* PC */
.lovja-faq__icon{
  position: absolute;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
}

/* 文章が被らない逃げ */
.lovja-faq__qtext{
  padding-right: 52px; /* 右余白（必要なら微調整） */
}

/* SP */
@media (max-width: 768px){
  .lovja-faq__icon{
    right: 16px;
  }
  .lovja-faq__qtext{
    padding-right: 40px; /* SPは少し狭く */
  }
}

/* PC：左だけ32にする（上下は22のまま、右は32/34好みで） */
.lovja-faq__q{
  padding: 22px 34px 22px 12px !important;
}

/* SP：左だけ16にする（上下は維持） */
@media (max-width: 768px){
  .lovja-faq__q{
    padding: 18px 18px 18px 8px !important;
  }
}


/* SPだけ改行（強制） */
.sp-only{ display: none !important; }

@media (max-width: 768px){
  .sp-only{ display: inline !important; }
}

@media (max-width: 768px){
  p.lovja-catch__sub{
    font-size: 12px !important;   /* 12 or 13 好み */
    line-height: 1.9 !important;
    margin: 0 !important;         /* 2em由来の端数を消す */
  }
}

@media (max-width: 768px){

  /* CTA全体を中央寄せ・左右の基準を作る */
  .post_content .lovja-catch{
    text-align: center;
    padding-left: 16px;
    padding-right: 16px;
  }

  /* サブコピー：ズレの原因( max-width / 余計なmargin )を殺して固定 */
  .post_content p.lovja-catch__sub{
    font-size: 20px !important;      /* 12が小さければ13に */
    line-height: 1.7 !important;

    margin: 0 !important;            /* テーマの2emを無効化 */
    max-width: none !important;      /* ← ここ重要：22em等を殺す */
    width: 100% !important;

    padding: 0 !important;
    text-indent: 0 !important;

    display: block;
  }

  /* 見出しとサブの間隔（必要なら） */
  .post_content .lovja-catch__title{
    margin: 0 0 12px !important;
  }

  /* ボタンとの間隔（必要なら） */
  .post_content .lovja-catch .button_wrap{
    margin-top: 18px !important;
  }
}

@media (max-width: 768px){
  /* 相手より詳細度を上げて確実に勝つ */
  .cb_free_space .post_content section.lovja-faq > h2.lovja-faq__title:not(.catch):not(.styled_h2):first-child{
    margin-top: 0 !important;
  }
}

/* SP */
@media (max-width: 768px){
  .post_content section.lovja-faq > h2.lovja-faq__title,
  .post_content section.lovja-faq > h2.lovja-faq__title *{
    font-size: 30px !important;   /* SP */
    letter-spacing: .12em !important;
  }
}

@media (max-width: 768px){
  .cb_free_space .post_content section.lovja-faq > h2.lovja-faq__title{
    margin-bottom: 32px !important;
  }
}

@media (max-width: 768px){
/* 住所ブロック下の余白を消す（ここが本命になりがち） */
  section.lovja-basic-info{
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  /* 右カラム/スケジュール周りの余白を消す */
  .lovja-basic-info__right,
  .schedule_content,
  .schedule{
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* table自体の余白（ブラウザ/テーマで付いてる時がある） */
  .schedule table{
    margin: 0 !important;
  }
}

/* PC：home本文の基準文字サイズを固定（崩れ防止アンカー） */
@media (min-width: 769px){
  body.home article#page_contents .post_content{
    font-size: 15px !important;
    line-height: 1.9 !important;
  }

  body.home article#page_contents .post_content p,
  body.home article#page_contents .post_content li,
  body.home article#page_contents .post_content dt,
  body.home article#page_contents .post_content dd{
    font-size: 1em !important;
  }
}

/* FAQタイトル（PC）：下余白だけ48px */
@media (min-width: 769px){
  section.lovja-faq > h2.lovja-faq__title{
    margin-bottom: 40px !important;
  }
}


/* num9 だけ padding を 0 にする */
body.home .cb_free_space.num9{
  padding: 0 !important;
}

/* num8 だけ下の余白(115px)を消す */
body.home .cb_free_space.num8{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* num7 だけ下の余白(115px)を消す */
body.home .cb_free_space.num7{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* num7 だけ下の余白(115px)を消す */
body.home .cb_free_space.num6{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* num7 だけ下の余白(115px)を消す */
body.home .cb_free_space.num5{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* num7 だけ下の余白(115px)を消す */
body.home .cb_free_space.num4{
  padding-top: 0 !important;
  padding-bottom: 100 !important;
}

/* num7 だけ下の余白(115px)を消す */
body.home .cb_free_space.num3{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* num7 だけ下の余白(115px)を消す */
body.home .cb_free_space.num2{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* num7 だけ下の余白(115px)を消す */
body.home .cb_free_space.num1{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* SP（デフォルト） */
.cb_free_space.num5 .devRow{
  padding-top: 60px !important;
  padding-bottom: 0 !important;
}

/* PC */
@media (min-width: 769px){
  .cb_free_space.num5 .devRow{
    padding-top: 90px !important;
    padding-bottom: 60px !important;
  }
}


/* FAQの「＋」を右端に強制表示（まず復活優先） */
.lovja-faq__q{
  position: relative;
}

.lovja-faq__q::after{
  content: "+";
  position: absolute;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  line-height: 1;
  color: #777;
  opacity: .85;
}

/* 開いてる時は「−」にする */
.lovja-faq__item.is-open .lovja-faq__q::after{
  content: "−";
}

/* SPは右を少し内側に */
@media (max-width: 768px){
  .lovja-faq__q::after{
    right: 16px;
  }
}


/* ================================
   cb_content_7：基本情報ブロック（左：住所 / 右：表）
   目的：画像の「正解」レイアウトに戻す
   ・PCは2カラムで左を潰さない
   ・SPは縦積み
   ・左は「ラベル列 + 本文列」をCSSだけで作る（HTML改修不要）
================================ */

/* 1) レイアウト：PCは2カラム / SPは縦積み */
@media (min-width: 1025px){
  #cb_content_7 .lovja-basic-info{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 48px;
    flex-wrap: nowrap;
  }
  #cb_content_7 .lovja-basic-info__left{
    flex: 1 1 auto;
    min-width: 520px;          /* ←左が潰れるのを防ぐ（必要なら480〜600で調整） */
  }
  #cb_content_7 .lovja-basic-info__right{
    flex: 0 0 520px;           /* ←表側の幅（表の実寸に合わせて 480〜560 で調整） */
    min-width: 520px;
  }
}

@media (max-width: 1024px){
  #cb_content_7 .lovja-basic-info{
    display: block;
  }
  #cb_content_7 .lovja-basic-info__left,
  #cb_content_7 .lovja-basic-info__right{
    width: 100%;
    min-width: 0;
  }
}

/* 2) 見出し（クリニック名） */
#cb_content_7 .lovja-basic-info__clinic{
  margin: 0 0 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid #e6e6e6;
  font-size: 24px;
  line-height: 1.25;
  font-weight: 600;
  color: #111;
}

/* 3) 左のリスト：上線 */
#cb_content_7 .lovja-basic-info__left{
  border-top: 1px solid #e6e6e6;
  padding-top: 14px;
}

/* 4) 各行（住所/電話/アクセス/診療内容）
   HTMLが <div class="item">住所〒...</div> 形式でも
   先頭の「住所/電話番号/アクセス/診療内容」をラベルっぽく見せる */
#cb_content_7 .lovja-basic-info__left .item{
  margin: 0;
  padding: 14px 0;
  border-bottom: 1px solid #e6e6e6;

  display: grid;
  grid-template-columns: 56px 1fr; /* ←ラベル列幅（60〜100で好み） */
  column-gap: 24px;

  font-size: 14px;
  line-height: 1.8;
  color: #555;

  word-break: normal;
  overflow-wrap: break-word;
}

/* 「住所」「電話番号」「アクセス」「診療内容」をラベル化（HTML改修なし） */
#cb_content_7 .lovja-basic-info__left .item::before{
  content: "";
  font-size: 12px;
  color: #888;
  letter-spacing: .04em;
  line-height: 1.6;
  padding-top: 1px;
}

#cb_content_7 .lovja-basic-info__left .item:nth-of-type(1)::before{ content:"住　　所"; }
#cb_content_7 .lovja-basic-info__left .item:nth-of-type(2)::before{ content:"電話番号"; }
#cb_content_7 .lovja-basic-info__left .item:nth-of-type(3)::before{ content:"アクセス"; }
#cb_content_7 .lovja-basic-info__left .item:nth-of-type(4)::before{ content:"診療内容"; }

/* 電話リンク */
#cb_content_7 .lovja-basic-info__left a[href^="tel:"]{
  color: #333;
  text-decoration: none;
}

/* 5) SPはラベル上・本文下に */
@media (max-width: 768px){
  #cb_content_7 .lovja-basic-info__left .item{
    grid-template-columns: 1fr;
    row-gap: 6px;
  }
}





/* =========================
   cb_content_7：上の余計なラインを消す + クリニック名下の線を太く
========================= */

/* ① cb_content_7 の“直前/直上”に出る線っぽいものを消す（保険） */
#cb_content_7{
  border-top: none !important;
}
#cb_content_7::before{
  content: none !important;
  display: none !important;
}
#cb_content_7 hr{
  display: none !important;
}

/* ② 「一番上のライン」の本命：h2(styled_h2) 直後の線を消す */
#cb_content_7 h2.styled_h2{
  border-bottom: none !important;
  padding-bottom: 0 !important;
}
#cb_content_7 h2.styled_h2::before,
#cb_content_7 h2.styled_h2::after{
  content: none !important;
  display: none !important;
}

/* ③ クリニック名下のラインだけ太くする */
#cb_content_7 .lovja-basic-info__clinic{
  border-bottom-width: 3px !important; /* 2〜3で好み */
}

/* cb_content_7：左カラムの「一番上の線」を消す */
#cb_content_7 .lovja-basic-info__left{
  border-top: none !important;
  padding-top: 0 !important; /* border-top とセットで入れてた余白も消す */
}

/* ===== cb_content_7：ラベル（左）と本文（右）の縦ズレ補正（最優先で最後に置く） ===== */
#cb_content_7 .lovja-basic-info__left .item{
  align-items: baseline !important;   /* 先頭行のベースラインで揃える */
}

#cb_content_7 .lovja-basic-info__left .item::before{
  align-self: start !important;       /* ラベルだけ上に寄せる */
  position: relative !important;
  top: 2px !important;                /* ← ここで微調整（1〜3pxで） */
  line-height: 1.8 !important;        /* 本文と合わせる */
}


@media (max-width: 768px){
  .lovja-basic-info__clinic{
    text-align: center;
  }
}

/* 見た目の重心ズレ対策：10px 右へ */
h2.lovja-h2-02 > span{
  display: inline-block;        /* これ必須（transform効かせる） */
  transform: translateX(11px);  /* ← ここを 8〜14px で微調整 */
}

.post_content h2.lovja-h2-02{
  margin-bottom: 56px !important;
}

/* cb_content_6 のこのdevRowだけ top を増やす */
#cb_content_6 .devRow.devRow--noTopPad{
  padding-top: 48px !important;  /* 好きな値に */
}

h2.lovja-h2-02 > span{
  display: inline-block;
  margin-left: -10px !important;
}

.lovja-catch__cta {
  font-family: 游明朝, "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 38px;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1.5;
  padding-top: 0;
  padding-bottom: 12px;
}

body.home article#page_contents .lovja-catch__cta {
  line-height: 1.5 !important;
  margin: 0 !important;
}

@media screen and (max-width: 768px) {
  .lovja-catch__cta {
    font-size: 30px;          /* ← 今より小さく */
    line-height: 1.4 !important;
    letter-spacing: -0.02em; /* 明朝はSPで詰める */
    margin-bottom: 16px;
  }
}

.lovja-catch__cta {
  text-spacing-trim: punctuation;
  letter-spacing: 0; /* ← ここが重要 */
}

@media screen and (max-width: 768px) {
  .lovja-catch__cta {
    font-size: 30px;          /* ← 今より小さく */
    line-height: 1.7 !important;
    letter-spacing: -0.02em; /* 明朝はSPで詰める */
    margin-bottom: 16px;
    margin-right: 0 !important;
  }
}

.lovja-catch__cta {
  text-spacing-trim: punctuation;
  letter-spacing: 0; /* ← ここが重要 */
}

/* ヘッダーメニュー文字サイズUP */
header .menu a,
header nav a{
  font-size: 13px; /* 例：いま14なら15に */
}

/* ヘッダーメニュー：hoverでグレー */
header nav a:hover,
header .menu a:hover,
header .main-navigation a:hover{
  color: #999 !important;
}


/*以下検証必要*/

@media (max-width: 768px){
  .tight-after-comma{
    display: inline-block;
    margin-left: -0.5em; /* -0.06〜-0.18emで調整 */
    white-space: nowrap;
    font-size: inherit;     /* 念のため */
    line-height: inherit;   /* 念のため */
  }
}

@media (min-width: 769px){
  .tight-after-comma{
    margin-left: -0.3em;
  }
}



.kv-copy {
  opacity: 0;
  transform: translateY(10px);
}

.kv-copy.is-anim {
  animation: kvIn .7s ease forwards;
}

@keyframes kvIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}













@media (max-width: 768px){
  /* HOME配下（第2階層）だけ背景を f5f5f5 に */
  #mobile_menu li ul{
    background: #f5f5f5 !important;
  }

  /* ついでに、子メニュー内の a も同色に揃える（ムラ防止） */
  #mobile_menu li ul li,
  #mobile_menu li ul li a{
    background: #f5f5f5 !important;
  }
}







/* PC：ドロップダウンの hover 背景をもっと明るく */
@media (min-width: 769px){
  #header .menu li ul li a:hover{
    background: #ffffff !important; /* ←好みで #fafafa とかでもOK */
  }

  /* 選択中（current）も明るくしたい場合 */
  #header .menu li ul li.current-menu-item > a,
  #header .menu li ul li.current-menu-ancestor > a{
    background: #ffffff !important;
  }
}