/* assets/css/top.css */
.is-top-custom {
  --bg: #FFF8EE;
  --paper: #fffaf2;
  --ink: #3b2f2a;
  --muted: #7c6a5e;
  --brown: #5a463b;
  --green: #6c7f63;

  --radius-lg: 24px;
  --radius-md: 14px;
  --shadow: 0 10px 30px rgba(0,0,0,.06);

  background: var(--bg);
  color: var(--ink);
}

html{
  scroll-behavior:smooth;
}

body {
  font-family: "fot-tsukuardgothic-std", sans-serif;
}

.br_sp {
    display: none;
}

.br_pc {
    display: block;
}

.img_sp {
    display: none !important;
}

.img_pc {
    display: block !important;
}

.scrolled .page_top_btn {
    display: none;
}

.is-top-custom .siteContent,
.is-top-custom .site-main {
  background: transparent;
}

/* 固定バー：初期は隠す */
.topFixedBar {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 9999;
    opacity: 0;
    transform: translateY(-12px);
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease;
    height: 160px;
}

/* 表示状態 */
.topFixedBar.is-show{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* 背景（スクショの薄い紙っぽい感じ） */
.topFixedBar {
    background: rgb(255 255 255 / 90%);
    backdrop-filter: blur(4px);
    /* border-bottom: 1px solid rgba(90,70,59,.12); */
}

.topFixedBar__inner {
    width: 100%;
    margin: 0 auto;
    padding: 0 100px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}

.topFixedBar__brand img {
    height: 60px;
    width: auto;
    display: block;
}

/* 右側のボタン群 */
.topFixedBar__actions {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-top: -40px;
}

.topFixedBar__actions img:hover {
    opacity: 0.8;
}

/* ここは前に作った pill-btn を流用しつつ、固定バー用に少し小さめ */
.topFixedBar .pill-btn_fix {
    padding: 0;
    width: auto;
    min-width: 0;
    font-size: 13px;
    border: 0;
    background: none;
    cursor: pointer;
}

.fixnav_btn:hover {
    opacity: 0.7;
}

.fixnav_btn {
    width: auto;
    height: 50px;
}

.topFixedBar__tel {
    position: absolute;
    right: 100px;
    bottom: 35px;
}

.topFixedBar__tel_text {
    margin: 0;
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 16px;
    text-align: left;
    color: #3d2d27;
}

.topFixedBar__tel_text span a {
    font-weight: 600;
    font-size: 20px;
    letter-spacing: 0.2em;
    line-height: 25px;
    text-align: left;
    color: #3d2d27;
    border-bottom: 1px solid #3D2D27;
    margin-left: 30px;
    text-decoration: none;
}

/* スマホはボタン縮める/並び変えるなど */
@media (max-width: 600px){
  .topFixedBar__brand img{ height: 30px; }
  .topFixedBar__actions{ gap: 8px; }
  .topFixedBar .pill-btn{ height: 38px; padding: 0 14px; font-size: 12px; }
}

/* 全体3カラム */
.topShell {
    display: grid;
    grid-template-columns: 260px 1fr 220px;
    gap: 24px;
    width: 100%;
    height: 100vh;
    margin: 0 auto;
    padding: 50px 100px 0 100px;
    position: relative;
}

.fixedNavTrigger{ height:1px; }

.topNav {
    display: block;
}

/* 左縦ナビ */
.topNav__inner {
    position: sticky;
    top: 18px;
    display: grid;
    gap: 18px;
    padding: 0;
    align-content: space-between;
    height: 90vh;
}

.topNav__logo img {
    width: 18vh;
    height: auto;
    display: block;
}

.topNav__menu {
    display: grid;
    gap: 2.0vh;
    font-size: 13px;
}

.topNav__menu span {
    font-family: "fot-tsukuardgothic-std", sans-serif;
    font-weight: normal;
    font-size: 11px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: left;
    color: #6b523a;
}

.topNav__menu a {
    text-decoration: none;
    font-family: "fot-tsukuardgothic-std", sans-serif;
    font-weight: 600;
    font-size: 2.2vh;
    letter-spacing: 0.05em;
    line-height: 0.8;
    text-align: left;
    color: #37291c;
}

.topNav__menu a:hover{
  opacity: 0.8;
}

.pill-btn {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 228px;
    height: 40px;
    background: #37291c;
    color: #83AF40;
    text-decoration: none;
    border-radius: 10px;
    font-size: 2.2vh;
    letter-spacing: .1em;
    position: relative;
    overflow: hidden;
    transition: background .5s ease, opacity .5s ease;
    margin-bottom: 10px;
    padding-left: 25px;
}

.pill-btn:hover {
    color: #fff;
}

.pill-btn02 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 228px;
    height: 40px;
    background: #6B523A;
    color: #fff;
    text-decoration: none;
    border-radius: 10px;
    font-size: 1.7vh;
    letter-spacing: .1em;
    position: relative;
    overflow: hidden;
    transition: background .5s ease, opacity .5s ease;
}

.pill-btn02:hover {
    color: #fff;
}

/* 文字中央固定 */
.pill-btn__text{
  pointer-events:none;
}

/* 矢印 */
.pill-btn__arrow{
  position:absolute;
  right:20px;
  transition:transform .5s ease;
}

/* hover */
.pill-btn:hover{
  opacity: 0.7;
}

.pill-btn:hover .pill-btn__arrow{
  transform:translateX(-6px);
}

.pill-btn02:hover{
  opacity: 0.7;
}

.pill-btn02:hover .pill-btn__arrow{
  transform:translateX(-6px);
}

.topNav__meta {
  position: relative;
}

.topNav__meta_title {
    font-weight: 600;
    font-size: 1.9vh;
    letter-spacing: 0.05em;
    line-height: 16px;
    text-align: left;
    color: #37291c;
    margin: 0;
}

.topNav__meta_tel {
    font-weight: 600;
    font-size: 27px;
    letter-spacing: 0.01em;
    line-height: 50px;
    text-align: left;
    color: #37291c !important;
    margin: 0;
}

.topNav__meta_hours {
    font-weight: 600;
    font-size: 1.9vh;
    letter-spacing: 0.05em;
    line-height: 22px;
    text-align: left;
    color: #37291c;
    margin: 0;
}

.topNav__meta_access {
    margin: 10px 0 0 0;
}

.topNav__meta_access img {
    margin-right: 10px;
    width: 22px;
}

.topNav__meta_access a {
    font-weight: 600;
    text-decoration: underline;
    font-size: 1.9vh;
    letter-spacing: 0.05em;
    line-height: 16px;
    text-align: left;
    color: #37291c;
    display: flex;
    align-items: center;
}

/* 中央メイン */
.topMain{
  min-width: 0;
}

/* KV（中央の大きい角丸） */
.hero {
  position: relative;
  padding: 0;
}

.hero__kv {
    position: relative;
    height: 90vh;
}

.hero__kv{
  position: relative;
  height: 90vh;
  overflow: hidden;
  border-radius: 50px;
}

/* ===============================
   スライド共通
=============================== */
.heroSlide{
  position:absolute;
  inset:0;
  opacity:0;
  animation: heroDiagonalReveal 24s infinite;
  will-change: clip-path, opacity, filter;
}

.heroSlide img{
  width:100%;
  height:100%;
  object-fit:cover;
  animation: heroKenburns 24s infinite;
}

/* 4枚：1枚6秒 */
.heroSlide:nth-child(1){ animation-delay:0s; }
.heroSlide:nth-child(2){ animation-delay:6s; }
.heroSlide:nth-child(3){ animation-delay:12s; }
.heroSlide:nth-child(4){ animation-delay:18s; }

.heroSlide:nth-child(1) img{ animation-delay:0s; }
.heroSlide:nth-child(2) img{ animation-delay:6s; }
.heroSlide:nth-child(3) img{ animation-delay:12s; }
.heroSlide:nth-child(4) img{ animation-delay:18s; }

@keyframes heroDiagonalReveal{

  /* ★最初は完全に非表示 */
  0%{
    opacity:0;
    clip-path:circle(0% at 100% 100%);
  }

  /* 出現 */
  10%{
    opacity:1;
    clip-path:circle(150% at 100% 100%);
  }

  /* 表示維持（25%以内に収める） */
  25%{
    opacity:1;
    clip-path:circle(150% at 100% 100%);
  }

  /* フェードアウト */
  30%{
    opacity:0;
  }

  100%{
    opacity:0;
  }
}

@keyframes heroKenburns{
  from{
    transform:scale(1.08);
  }
  to{
    transform:scale(1.22);
  }
}

/* テキスト画像 */

.hero__kv_open_text {
    position: absolute;
    left: 50%;
    top: 30%;
    transform: translate(-50%,-50%);
    z-index: 2;
    width: 100%;
    max-width: 42vw;
    height: auto !important;
    pointer-events: none;
}

.hero__kv_open_text img {
    border-radius: 0 !important;
}

.hero__kv_text {
    position: absolute;
    left: 50%;
    bottom: 2%;
    transform: translate(-50%,-50%);
    z-index: 2;
    width: 100%;
    max-width: 33vw;
    height: auto !important;
    pointer-events: none;
    mix-blend-mode: multiply;
    filter: contrast(0.8);
    border-radius: 0 !important;
}

.top_sl_link_box_sp {
    display: none;
}

.hero__kv img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 50px;
}

/* スクロールの縦ラインっぽい装飾（任意） */
.scroll_down {
    position: absolute;
    bottom: -30px;
    right: -40px;
}

.scroll_down a {
    position: absolute;
    left: -20px;
    top: -190px;
    color: #3d2d27;
    font-size: 9px;
    letter-spacing: 0.1em;
    text-decoration: none;
    text-transform: uppercase;
}

.scroll_down:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: -9px;
    width: 19px;
    height: 19px;
    border-radius: 50%;
    border: 1px solid #3D2D27;
    animation: circlemove 2.6s ease-in-out infinite,
    cirlemovehide 2.6s ease-out infinite;
}

@keyframes circlemove{
  0%{bottom:160px;}
  100%{bottom:0px;}
}

@keyframes cirlemovehide{
  0%{opacity:0}
  50%{opacity:1;}
  80%{opacity:0.9;}
  100%{opacity:0;}
}

.scroll_down:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 1px;
    height: 160px;
    background: #3D2D27;
}

/* 右の丸CTA */
.topSideCta {
    position: sticky;
    top: 90px;
    display: grid;
    gap: 30px;
    align-content: start;
    justify-content: center;
    padding-left: 50px;
    z-index: 999;
}

/* 画像をなめらかに拡大できるように */
.circleCta .topSideCta_img{
  transition: transform .35s ease;
}

/* hover時 */
.circleCta:hover .topSideCta_img{
  transform: scale(1.08); /* 拡大率はお好み */
}

.circleCta02 .topSideCta_img{
  transition: transform .35s ease;
}

/* hover時 */
.circleCta02:hover .topSideCta_img{
  transform: scale(1.08); /* 拡大率はお好み */
}

.topSide_concept {
    position: relative;
    margin: 50px 0;
    writing-mode: vertical-rl;
    font-family: "fot-tsukuardgothic-std", sans-serif;
    font-weight: 600;
    font-size: 30px;
    letter-spacing: 0.1em;
    line-height: 1.9;
    color: #37291C;
    display: block;
}

/* 1文字ずつの初期状態 */
.topSide_concept span{
  display: inline-block;
  opacity: 0;
  transform: translateY(10px);
}

/* 再生トリガー */
.topSide_concept.is-reveal span{
  animation: conceptCharIn 1.8s ease forwards;
}

/* 文字の出現 */
@keyframes conceptCharIn{
  to{
    opacity: 1;
    transform: translateY(0);
  }
}

.topSide_concept_sp {
  display: none;
}

.circleCta {
    display: grid;
    place-content: center;
    text-align: center;
    text-decoration: none;
    justify-items: center;
    position: fixed;
    bottom: 41%;
    right: 60px;
}

.circleCta img {
    width: 80%;
    height: auto;
}

.circleCta02 {
    display: grid;
    place-content: center;
    text-align: center;
    text-decoration: none;
    justify-items: center;
    position: fixed;
    bottom: 15%;
    right: 60px;
}

.circleCta02 img {
    width: 80%;
    height: auto;
}


/* セクション共通 */
.sec{
  position: relative;
  padding: 64px 0;
}

.sec__inner {
    width: min(1080px, 100%);
    margin: 0 auto;
    padding: 0;
}

/* 水彩にじみ（背景PNGを置くのが一番再現性高い） */
.sec--wash::before,
.sec--wash::after{
  content:"";
  position:absolute;
  inset: auto;
  width: 280px;
  height: 220px;
  background-size: contain;
  background-repeat: no-repeat;
  opacity: .55;
  pointer-events:none;
  filter: blur(.2px);
}
.sec--wash::before{
  left: -30px;
  top: 30px;
  background-image: url("../../img/top/watercolor-01.png");
}
.sec--wash::after{
  right: -30px;
  bottom: 20px;
  background-image: url("../../img/top/watercolor-02.png");
}

/* カード（症状の6枚など） */
.cardGrid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.card{
  background: var(--paper);
  border: 1px solid rgba(90,70,59,.12);
  border-radius: var(--radius-md);
  box-shadow: 0 6px 18px rgba(0,0,0,.04);
  padding: 18px;
}
.card__title{ font-size: 14px; margin: 8px 0 6px; }
.card__text{ font-size: 13px; color: var(--muted); }

/* top concept */
.sec__logo {
    text-align: center;
    padding-top: 120px;
}

.sec__title {
    font-weight: normal;
    font-size: 12px;
    letter-spacing: 0.1em;
    line-height: 54px;
    text-align: center;
    color: #6b523a;
    border: 0;
    margin: 0;
    padding: 0;
}

.sec__lead {
    font-weight: 600;
    font-size: 35px;
    letter-spacing: 0.1em;
    line-height: 70px;
    text-align: center;
    color: #6b523a;
    margin: 40px 0 0 0;
}

.sec__text {
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: center;
    color: #37291c;
    margin: 60px 0 0 0;
}

.pill-btn03 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 390px;
    height: 60px;
    background: #6B523A;
    color: #fff;
    text-decoration: none;
    border-radius: 10px;
    font-size: 16px;
    letter-spacing: .1em;
    position: relative;
    overflow: hidden;
    transition: background .5s ease, opacity .5s ease;
    margin: 100px auto 0 auto;
}

.pill-btn03:hover {
    color: #fff;
}

/* hover */
.pill-btn03:hover{
  opacity: 0.7;
}

.pill-btn03:hover .pill-btn__arrow{
  transform:translateX(-6px);
}

.topConcept {
    position: relative;
    overflow: hidden;
    padding-bottom: 200px;
    padding-top: 200px;
}

.topConcept__bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.topConcept .sec__inner{
  position: relative;
  z-index: 1;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.topConcept__bgItem{
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.topConcept__bgItem:nth-child(1) {
    width: 22vw;
    left: -50px;
    top: 60%;
    animation-delay: 0s;
}

.topConcept__bgItem:nth-child(2) {
    width: 24vw;
    left: 14%;
    top: 52%;
    animation-delay: 3s;
}

.topConcept__bgItem:nth-child(3) {
    width: 25vw;
    left: 30%;
    top: 66%;
    animation-delay: 6s;
}

.topConcept__bgItem:nth-child(4) {
    width: 22vw;
    left: 52%;
    top: 57%;
    animation-delay: 9s;
}

.topConcept__bgItem:nth-child(5) {
    width: 20vw;
    left: 72%;
    top: 68%;
    animation-delay: 12s;
}

.topConcept__bgItem:nth-child(6) {
    width: 25vw;
    right: -40px;
    top: 48%;
    animation-delay: 15s;
}

@keyframes bgFade{
  0%   { opacity: 0; transform: translate(0,0) scale(1.02); }
  20%  { opacity: .70; }
  55%  { opacity: .95; transform: translate(-6px, 4px) scale(1.03); }
  80%  { opacity: 0; }
  100% { opacity: 0; }
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .topConcept__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 42%; }
  .topConcept__bgItem:nth-child(2){ width: 170px; left: 10%; top: 18%; }
  .topConcept__bgItem:nth-child(3){ width: 180px; left: 34%; top: 28%; }
  .topConcept__bgItem:nth-child(4){ width: 210px; left: 50%; top: 48%; }
  .topConcept__bgItem:nth-child(5){ width: 190px; left: 64%; top: 20%; }
  .topConcept__bgItem:nth-child(6){ width: 220px; left: 66%; top: 56%; }
}


/* top access */

.topAccess {
    padding: 0 0 200px 0;
    position: relative;
    overflow: hidden;
}

.topAccess__bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.topAccess .sec__inner{
  position: relative;
  z-index: 1;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.topAccess__bgItem{
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.topAccess__bgItem:nth-child(1) {
    width: 22vw;
    left: -50px;
    top: 30%;
    animation-delay: 0s;
}

.topAccess__bgItem:nth-child(2) {
    width: 22vw;
    right: 10%;
    top: 65%;
    animation-delay: 3s;
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .topAccess__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 42%; }
  .topAccess__bgItem:nth-child(2){ width: 170px; left: 10%; top: 18%; }
}

.topAccess_wrap {
    background-color: #FFFAF5;
    padding: 100px 0;
    width: calc(100% - 200px);
    margin: 0 auto;
    border-radius: 20px;
    overflow: hidden;
}

.sec__title_jp {
    font-weight: 600;
    font-size: 40px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: center;
    color: #6b523a;
    border: 0;
    padding: 0;
    margin: 0;
}

.sec__title_en {
    font-weight: normal;
    font-size: 12px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: center;
    color: #6b523a;
    margin: 30px 0 0 0;
    padding: 0;
}

.topAccess_infoCnt {
    display: flex;
    justify-content: space-between;
    padding-top: 100px;
    gap: 30px;
}

.topAccess__info_left {
    display: flex;
    flex-wrap: wrap;
    width: 600px;
    justify-content: space-between;
}

.topAccess__info_box {
    width: 260px;
}

.topAccess__info_title {
    width: 260px;
    height: 35px;
    border-radius: 10px;
    background: #6b523a;
    font-weight: normal;
    font-size: 16px;
    line-height: 35px;
    text-align: center;
    color: #fff8ee;
    margin: 0;
}

.topAccess__info_text {
    font-weight: normal;
    font-size: 18px;
    line-height: 30px;
    text-align: center;
    color: #37291c;
    margin: 20px 0 0 0;
}

.topAccess__info_text a {
    position: relative;
    color: #37291c;
}

.topAccess__info_box_time {
    position: relative;
    display: block;
}

.topAccess__info_box_time_sp {
    display: none;
}

.pill-btn04 {
    position: relative;
    width: 100%;
    background: #C4B8AA;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 500;
    font-size: 18px;
    letter-spacing: 0.1em;
    text-align: left;
    color: #37291c;
    transition: 0.6s;
    border-radius: 10px;
}

.pill-btn04:hover {
    opacity: 0.8;
    color: inherit;
    transition: 0.6s;
}

.pill-btn04 img {
    margin-right: 20px;
}

.topAccess__info_right {
    position: relative;
}

.topGmap_route {
    filter: grayscale(0.9);
    min-width: 500px;
    width: 100%;
}

.topGmap {
    filter: grayscale(0.9);
}

.topAccess__info_mapText {
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 40px;
    text-align: left;
    color: #37291c;
    margin: 0;
}

/* top infomation */

.topInfomation {
    padding: 0 0 200px 0;
    position: relative;
    overflow: hidden;
}

.topInfomation__bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.topInfomation .sec__inner{
  position: relative;
  z-index: 1;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.topInfomation__bgItem{
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.topInfomation__bgItem:nth-child(1) {
    width: 22vw;
    left: 0;
    top: 70%;
    animation-delay: 0s;
}

.topInfomation__bgItem:nth-child(2) {
    width: 18vw;
    right: 0;
    top: 25%;
    animation-delay: 3s;
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .topInfomation__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 42%; }
  .topInfomation__bgItem:nth-child(2){ width: 170px; left: 10%; top: 18%; }
}

.topInfomation__content {
    display: flex;
    flex-wrap: wrap;
    padding-top: 100px;
    justify-content: space-between;
}

.mood-btn {
    width: 340px;
    height: 340px;
    padding: 28px 20px;
    border-radius: 18px;
    background: #FFFAF5;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    box-shadow: 6px 6px 0 #d9d6c8;
    transition: all .25s ease;
    margin-bottom: 30px;
    justify-content: flex-start;
}

.mood-btn_link {
    display: block;
}

/* テキスト */
.mood-btn__text {
    margin: 20px 0 0 0;
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.1em;
    line-height: 54px;
    text-align: center;
    color: #3d2d27;
}

/* 画像 */
.mood-btn__img{
  transition: transform .25s ease; /* ← アニメーション用 */
}

/* hover */
.mood-btn:hover{
  transform: translateY(2px);
  box-shadow: 3px 4px 0 #cfc6b8;
}

.mood-btn:hover .mood-btn__img{
  transform: scale(0.9);
}

.sec__sub_title_jp {
    margin: 65px 0 0 0;
    font-weight: 600;
    font-size: 24px;
    letter-spacing: 0.1em;
    line-height: 24px;
    text-align: center;
    color: #37291c;
    padding: 0;
    border: 0;
}

.sec__sub_title_jp::after {
    border: 0;
}

.topInfomation__disease {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 65px;
}

.pill-disease {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 260px;
    height: 55px;
    background: #C4B8AA;
    color: #37291c;
    text-decoration: none;
    border-radius: 10px;
    font-size: 16px;
    letter-spacing: .1em;
    position: relative;
    overflow: hidden;
    transition: background .5s ease, opacity .5s ease;
    margin-bottom: 15px;
}

.pill-disease:hover {
    color: #fff;
}

.pill-disease:hover{
  opacity: 0.7;
}

.pill-disease:hover .pill-btn__arrow{
  transform:translateX(-6px);
}

.pill-disease02 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 260px;
    height: 55px;
    background: #6B523A;
    color: #fff;
    text-decoration: none;
    border-radius: 10px;
    font-size: 1.7vh;
    letter-spacing: .1em;
    position: relative;
    overflow: hidden;
    transition: background .5s ease, opacity .5s ease;
}

.pill-disease02:hover {
    color: #fff;
}

.pill-disease02:hover{
  opacity: 0.7;
}

.pill-disease02:hover .pill-btn__arrow{
  transform:translateX(-6px);
}

/* top news */

.topNews {
    padding: 0 0 200px 0;
    position: relative;
    overflow: hidden;
    display: block;
}

.topNews_sp {
    display: none;
}

.topNews__bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.topNews .sec__inner{
  position: relative;
  z-index: 1;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.topNews__bgItem{
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.topNews__bgItem:nth-child(1) {
    width: 22vw;
    right: 10%;
    top: 10%;
    animation-delay: 0s;
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .topNews__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 12%; }
  .topNews__bgItem:nth-child(2){ width: 170px; left: 10%; top: 18%; }
}

.top_news_cnt {
    display: flex;
}

.top_news_titleBox {
    padding-top: 20px;
}

.sec__title_jp02 {
    font-weight: 600;
    font-size: 35px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: left;
    color: #6b523a;
    border: 0;
    padding: 0;
    margin: 0;
}

.sec__title_en02 {
    font-weight: normal;
    font-size: 12px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: left;
    color: #6b523a;
    margin: 30px 0 0 0;
    padding: 0;
}

.pill-news {
    display: flex;
    margin-top: 75px;
    align-items: center;
    justify-content: center;
    width: 186px;
    height: 38px;
    background: #6B523A;
    color: #fff;
    text-decoration: none;
    border-radius: 10px;
    font-size: 12px;
    letter-spacing: .1em;
    position: relative;
    overflow: hidden;
    transition: background .5s ease, opacity .5s ease;
}

.pill-news:hover {
    color: #fff;
}

.pill-news:hover{
  opacity: 0.7;
}

.pill-news:hover .pill-btn__arrow{
  transform:translateX(-6px);
}

.top_newsBox {
    padding-left: 190px;
    width: 100%;
}

.top_newsItem {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 40px;
    padding: 26px 0;
    border-top: 1px solid #6B523A;
    text-decoration: none;
    color: #3b2f2a;
    transition: opacity .3s ease;
}

.top_newsItem:last-child{
  border-bottom: 1px solid #6B523A;
}

.top_newsItem:hover{
  opacity: .6;
}

.top_newsItem_date {
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.1em;
    line-height: 54px;
    text-align: left;
    color: #6b523a;
}

.top_newsItem_title {
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.1em;
    line-height: 54px;
    text-align: left;
    color: #37291c;
}

/* top contents */

.topContents {
    padding: 0 0 200px 0;
    position: relative;
    overflow: hidden;
}

.topContents__bg{
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.topContents .sec__inner{
  position: relative;
  z-index: 1;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.topContents__bgItem{
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.topContents__bgItem:nth-child(1) {
    width: 16vw;
    left: 5%;
    top: 40%;
    animation-delay: 0s;
}

.topContents__bgItem:nth-child(2) {
    width: 26vw;
    right: 0;
    top: 50%;
    animation-delay: 3s;
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .topContents__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 42%; }
  .topContents__bgItem:nth-child(2){ width: 170px; left: 10%; top: 18%; }
}

.topContents_cardLink_wrap {
    padding-top: 100px;
}

.cardLink {
    display: grid;
    grid-template-columns: 160px 1fr;
    align-items: stretch;
    width: 750px;
    height: 160px;
    text-decoration: none;
    color: #fff;
    border-radius: 10px;
    overflow: hidden;
    transition: opacity .25s ease;
    margin: 0 auto 15px auto;
}

/* hover：全体を少し薄く */
.cardLink:hover{
  opacity: .75;
}

/* 左アイコン枠 */
.cardLink__icon {
    background: #FBF2E5;
    display: grid;
    place-items: center;
}

.cardLink__icon img {
    height: auto;
    display: block;
}

/* 右メイン枠 */
.cardLink__main {
    background: #6B523A;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 45px 0 75px;
    gap: 16px;
}

/* 日本語タイトル */
.cardLink__title {
    white-space: nowrap;
    font-weight: normal;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 60px;
    text-align: center;
    color: #fff8ee;
}

/* 右側（英字＋矢印） */
.cardLink__right {
    display: inline-flex;
    align-items: center;
    gap: 60px;
}

.cardLink__en {
    font-size: 12px;
    letter-spacing: 0.1em;
    color: #fff8ee;
}

.cardLink__arrow{
  font-size: 18px;
  transition: transform .25s ease;
}

/* hoverで「＞」が左に少し移動 */
.cardLink:hover .cardLink__arrow{
  transform: translateX(-6px);
}

/* SP */
@media (max-width: 600px){
  .cardLink{
    grid-template-columns: 96px 1fr;
    height: 96px;
  }
  .cardLink__main{ padding: 0 18px; }
  .cardLink__title{ font-size: 16px; }
  .cardLink__icon img{ height: 35px; }
}

/* top insta */

.topInstagram {
    padding: 200px 0 0 0;
    background-color: #FFFAF5;
}

.top_insta_titleBox {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.sec__title_insta01 {
    font-weight: 600;
    font-size: 35px;
    letter-spacing: 0.1em;
    text-align: right;
    color: #6b523a;
    margin: 0;
    padding: 0;
    border: 0;
    display: flex;
    align-items: center;
}

.sec__title_insta01 img {
    margin-right: 30px;
}

.sec__title_insta02 {
    margin: 0;
}

.sec__title_insta02 a {
    display: flex;
    align-items: center;
    font-weight: normal;
    font-size: 14px;
    letter-spacing: 0.1em;
    line-height: 24px;
    text-align: center;
    color: #6b523a;
    text-decoration: none;
}

.sec__title_insta02 a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

/* アイコン初期状態 */
.sec__title_insta02 img{
  transition: transform .3s ease;
}

/* hoverで移動 */
.sec__title_insta02 a:hover img{
  transform: translateX(6px);
}

.sec__title_insta02 img {
    margin-left: 20px;
}

.topInstagram__listBox {
    padding: 100px 0 0 0;
}

/* footer */

/* フッター外側（背景） */
.siteFooter {
    padding: 150px 0 0 0;
    color: #FFFAF5;
    width: calc(100% - 200px);
    margin: 0 auto;
    position: relative;
}

.siteFooter__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.siteFooter__bgItem {
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.siteFooter__bgItem:nth-child(1) {
    width: 24vw;
    right: -10%;
    top: 0;
    animation-delay: 0s;
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .siteFooter__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 42%; }
}


.siteFooter__wrap {
    /* width: min(1590px, 100%); */
    margin: 0 auto;
    max-width: 1590px;
    /* width: 1590px; */
    position: relative;
    z-index: 1;
}

.siteFooter__box {
    background: #FBF2E5;
    border-radius: 20px 20px 0 0;
    padding: 150px 0 65px 0;
}

/* 中央の角丸ボックス */
.siteFooter__top {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    align-items: start;
    width: 1080px;
    margin: 100px auto 0 auto;
}

/* ロゴ */
.siteFooter__logoBox {
    width: 1080px;
    margin: 0 auto;
}

.siteFooter__logo {
    display: flex;
    width: fit-content;
    align-items: center;
    gap: 45px;
    font-size: 24px;
}

.siteFooter__logo_text {
    font-weight: 600;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 30px;
    text-align: left;
    color: #37291c;
}

.siteFooter__logo img {
    height: 148px;
    width: auto;
    display: block;
}

/* 住所・注意書き */
.siteFooter__addr {
    font-weight: 600;
    font-size: 20px;
    letter-spacing: 0.05em;
    text-align: left;
    color: #37291c;
}

.siteFooter__addr p {
    margin: 0;
    line-height: 40px;
}

/* 電話 */
.siteFooter__tel {
    font-weight: 600;
    font-size: 22px;
    letter-spacing: 0.1em;
    line-height: 40px;
    text-align: left;
    color: #37291c;
    margin: 100px 0 0 0;
}

.siteFooter__tel a {
    font-size: 26px;
    color: #37291c;
    text-decoration: none;
}

/* 右側 */
.siteFooter__navArea {
    display: grid;
    gap: 50px;
    padding-left: 50px;
}

/* メニュー2列 */
.siteFooter__nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-items: start;
    position: relative;
}

.siteFooter__nav ul{
  list-style: none;
  margin: 0;
  padding: 0;
}

.siteFooter__nav a {
    display: inline-block;
    padding: 6px 0;
    text-decoration: none;
    transition: opacity .25s ease;
    font-weight: 600;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 1.6;
    text-align: left;
    color: #37291c;
}

.siteFooter__nav a:hover{ opacity: .65; }

/* 事前問診票ボタン */

.siteFooter__btnArea {
    position: absolute;
    top: 250px;
    display: block;
}

.siteFooter__btnArea_sp {
    display: none;
}

.siteFooter__btn_note {
    margin: 20px 0 0 0;
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 32px;
    text-align: left;
    color: #6b523a;
}

.siteFooter__btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #6B523A;
    color: #fff !important;
    text-decoration: none;
    height: 70px;
    width: 240px;
    padding: 0 22px;
    border-radius: 10px;
    font-size: 18px;
    letter-spacing: 0.1em;
    transition: opacity .25s ease, transform .25s ease;
    margin: 0;
    width: 500px;
}

.siteFooter__btn:hover{
  opacity: .78;
}

/* 下段コピー */
.siteFooter__bottom {
    /* margin-top: 44px; */
    /* padding-top: 12px; */
    width: 1080px;
    margin: 140px auto 0 auto;
}

.siteFooter__bottom small {
    font-weight: normal;
    font-size: 13px;
    letter-spacing: 0.1em;
    text-align: left;
    color: #37291c;
}

/* 全画面メニュー本体 */
.fullscreenMenu{
  position: fixed;
  inset: 0;
  z-index: 10000;
  pointer-events: none;
}

/* 背景の円 */
.fullscreenMenu__circle {
    position: absolute;
    top: 40px;
    right: 100px;
    width: 80px;
    height: 80px;
    background: #C4B8AA;
    border-radius: 50%;
    transform: scale(0);
    transform-origin: center;
    transition: transform .6s cubic-bezier(.77,0,.18,1);
}

.hum_logo_box{
  position: relative;
}

/* メニュー */
.fullscreenMenu__nav{
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
  opacity: 0;
  transition: opacity .4s ease .3s;
}

.fullscreenMenu__nav a {
    color: #3A2A1D;
    font-size: 18px;
    text-decoration: none;
    letter-spacing: .1em;
    font-weight: 600;
}

/* 開いた状態 */
.fullscreenMenu.is-open{
  pointer-events: auto;
}

.fullscreenMenu.is-open .fullscreenMenu__circle{
  transform: scale(30);
}

.fullscreenMenu.is-open .fullscreenMenu__nav{
  opacity: 1;
}

.fullscreenMenu__close{
  position: absolute;
  top: 28px;
  right: 28px;
  width: 54px;
  height: 54px;
  border: 0;
  background: transparent;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease .25s;
  z-index: 2; /* circleより上 */
}

/* × の2本線 */
.fullscreenMenu__close span{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 34px;
  height: 2px;
  background: #fff;
  transform-origin: center;
}

.fullscreenMenu__close span:nth-child(1){
  transform: translate(-50%,-50%) rotate(45deg);
}
.fullscreenMenu__close span:nth-child(2){
  transform: translate(-50%,-50%) rotate(-45deg);
}

/* 開いた時だけ操作可能に */
.fullscreenMenu.is-open .fullscreenMenu__close{
  opacity: 1;
  pointer-events: auto;
}

/* ===== Opening Overlay ===== */
.opening{
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: #FFF8EE;          /* サイト背景に合わせる */
  display: grid;
  place-items: center;
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  transition: opacity .6s ease, visibility .6s ease;
}

.opening.is-hide{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.opening__inner{
  width: min(1100px, 92vw);
  height: min(520px, 70vh);
  position: relative;
}

/* ロゴ：まず出現 */
.opening__logo{
  position: absolute;
  left: 50%;
  top: 70%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transform-origin: center;
}

.opening__logo img{
  width: min(380px, 60vw);
  height: auto;
  display: block;
}

/* くま：歩く */
.opening__bear{
  position: absolute;
  left: 50%;
  top: 30%;
  transform: translateX(-50%); /* その場固定 */
  width: 120px;
  opacity: 0;
}

.opening__bearInner{
  will-change: transform;
  transform-origin: 50% 95%;
}

.opening__bear img{
  width: 100%;
  height: auto;
  display: block;
}

/* opening中はスクロール禁止（bodyにクラス付与） */
.is-opening{
  overflow: hidden;
}

/* レスポンシブ */
@media (max-width: 900px){
  .siteFooter__box{ padding: 34px 22px 18px; }
  .siteFooter__top{
    grid-template-columns: 1fr;
  }
  .siteFooter__navArea{
    justify-items: start;
  }
}

/* ===== Lower Header ===== */
.is-lower .lowerHeader{
  background:#FFF8EE;
}

.lowerHeader{
  position: sticky;
  top: 0;
  z-index: 9998;
  display: block;
}

.lowerHeader__inner {
    max-width: 100%;
    margin: 0 auto;
    padding: 26px 100px;
    display: flex;
    align-items: center;
    gap: 34px;
    justify-content: space-between;
}

/* 左：ブランド */
.lowerHeader__brand{ flex: 0 0 auto; }
.lowerHeader__brandLink{
  display: flex;
  align-items: center;
  gap: 18px;
  text-decoration: none;
  color: #37291c;
}

.lowerHeader__brand .topFixedBar__brand img {
    height: auto;
    width: 160px;
    display: block;
}

.lowerHeader__brand .topFixedBar__brand img:hover {
    opacity: 0.7;
}

/* 中央：ナビ */
.lowerHeader__nav {
    display: flex;
    gap: 30px;
}

.lowerHeader__nav a {
    font-weight: 600;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 1;
    text-align: center;
    color: #37291c;
}

.lowerHeader__nav a span {
    font-weight: normal;
    font-size: 12px;
    letter-spacing: 0.1em;
    line-height: 8px;
    text-align: center;
    color: #37291c;
}

.lowerHeader__nav a:hover {
    opacity: 0.7;
}

.lowerHeader__right_box {
    display: flex;
    gap: 26px;
    flex-direction: column;
    align-items: flex-end;
}

.lowerNav a{
  text-decoration: none;
  color: #37291c;
  display: grid;
  justify-items: center;
  gap: 6px;
  font-family: "FOT-TsukuARdGothic Std", sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .06em;
  white-space: nowrap;
}

/* 右：CTA＋TEL */
.lowerHeader__right {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 40px;
}

.lowerHeader__cta {
    display: flex;
    gap: 30px;
}

.lowerCta{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  text-decoration: none;
  color: #fff;
  font-family: "FOT-TsukuARdGothic Std", sans-serif;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: .06em;
}

.lowerHeader__tel {
    text-align: left;
    margin-bottom: 15px;
}

.lowerHeader__telCap {
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 28px;
    text-align: left;
    color: #3d2d27;
    margin: 0;
}

.lowerHeader__telNum {
    text-decoration: none;
    border-bottom: 1px solid #3D2D27;
    font-weight: 600;
    font-size: 20px;
    letter-spacing: 0.2em;
    line-height: 1;
    text-align: left;
    color: #3d2d27;
    padding: 0 0 2px 0;
}

.lowerHeader__telNum:hover {
    color: #3d2d27;
    opacity: 0.7;
}

/* ===== Page Header ===== */
.pageHeader {
    background: #FFF8EE;
    padding: 50px 0 200px;
    position: relative;
}

.pageHeader__inner {
    width: min(1460px, calc(100% - 200px));
    margin: 0 auto;
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: 170px;
    align-items: center;
    position: relative;
    z-index: 1;
}

/* 左：縦書き */
.pageHeader__title {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    display: grid;
    gap: 16px;
    align-content: center;
}

.pageHeader__en {
    font-weight: normal;
    font-size: 12px;
    letter-spacing: 0.1em;
    text-align: left;
    color: #6b523a;
    line-height: 1;
    margin-top: 5px;
}

.pageHeader__jp {
    margin: 0;
    font-size: 28px;
    letter-spacing: .18em;
    color: #37291c;
    font-weight: 600;
    line-height: 1;
}

/* 右：KVを画面端まで */
.pageHeader__kv {
    border-radius: 16px 0 0 16px;
    overflow: hidden;
    height: min(760px, 36vw);
    background: #fff;
    width: calc(100% + (100vw - 100%) / 2);
    margin-right: calc(-1 * (100vw - 100%) / 2);
}

.pageHeader__kv img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.pageAbout {
    background: #FFF8EE;
}

.about_concept_box {
    width: 1080px;
    margin: 0 auto;
    padding: 0 0 200px 0;
    position: relative;
}

.about_concept_box__inner {
    width: 1080px;
    margin: 0 auto;
    z-index: 2;
    position: relative;
}

.about_concept_box__lead {
    font-weight: 600;
    font-size: 35px;
    letter-spacing: 0.1em;
    line-height: 70px;
    text-align: center;
    color: #6b523a;
}

.about_concept_box__text {
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: center;
    color: #37291c;
    margin: 40px 0 0 0;
}

.about_docter_box {
    width: 100%;
    position: relative;
}

.about_docter_box__inner {
    width: 1080px;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.about_docter_title_jp {
    font-weight: 600;
    font-size: 35px;
    letter-spacing: 0.1em;
    line-height: 70px;
    text-align: center;
    color: #6b523a;
    border: 0;
    margin: 0;
    padding: 0;
}

.about_docter_title_en {
    font-weight: normal;
    font-size: 12px;
    letter-spacing: 0.1em;
    line-height: 2.2;
    text-align: center;
    color: #6b523a;
    margin: 0;
}

.about_docter_box__cnt {
    margin: 100px 0 0 0;
}

.about_docter_box__cnt02 {
    margin: 150px 0 0 0;
}

.about_docter_box__item {
    display: flex;
    gap: 120px;
}

.about_docter_img {
    width: 420px;
    height: 500px;
}
.about_docter_box__info {
  display: block;
}

.about_docter_box__messageText01 {
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 40px;
    text-align: left;
    color: #37291c;
    margin: 0;
}

.about_docter_box__item02 {
    display: flex;
    margin: 100px 0 0 0;
    flex-wrap: wrap;
    gap: 0 140px;
}


.about_docter_box__info {
  display: block;
}

.about_docter_box__name01 {
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 26px;
    text-align: left;
    color: #37291c;
    margin: 45px 0 0 0;
}

.about_docter_box__name02 {
    font-weight: normal;
    font-size: 32px;
    letter-spacing: 0.05em;
    line-height: 50px;
    text-align: left;
    color: #37291c;
    margin: 0;
}

.about_docter_box__name03 {
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.1em;
    line-height: 2;
    text-align: left;
    color: #37291c;
    margin: 0;
}

.about_docter_box__subTitle {
    font-weight: normal;
    font-size: 26px;
    letter-spacing: 0.05em;
    line-height: 26px;
    text-align: left;
    color: #37291c;
    margin: 50px 0 0 0;
}

.about_docter_box__line {
    width: 20px;
    border-bottom: 0.5px solid #6b523a;
    padding-top: 20px;
}

.about_docter_box__text {
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 40px;
    text-align: left;
    color: #37291c;
    margin: 20px 0 0 0;
}

.about_docter_box__name_wrap {
    flex: 100%;
}

.about_docter_box__left {
  display: block;
}

.about_docter_box__right {
  display: block;
}

.is-lower {
    background-color: #FFF8EE;
}

.about_concept__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.about_concept__bgItem {
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.about_concept__bgItem:nth-child(1) {
    width: 24vw;
    left: 10%;
    top: 43%;
    animation-delay: 0s;
}

.about_concept__bgItem:nth-child(2) {
    width: 20vw;
    right: 0;
    top: 55%;
    animation-delay: 3s;
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .about_concept__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 42%; }
  .about_concept__bgItem:nth-child(2){ width: 170px; left: 10%; top: 18%; }
}

.about_docter__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.about_docter__bgItem {
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.about_docter__bgItem:nth-child(1) {
    width: 24vw;
    left: 0;
    top: 33%;
    animation-delay: 0s;
}

.about_docter__bgItem:nth-child(2) {
    width: 20vw;
    right: 0;
    top: 10%;
    animation-delay: 3s;
}

.about_docter__bgItem:nth-child(3) {
    width: 20vw;
    right: 8%;
    top: 67%;
    animation-delay: 6s;
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .about_docter__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 42%; }
  .about_docter__bgItem:nth-child(2){ width: 170px; left: 10%; top: 18%; }
  .about_docter__bgItem:nth-child(3){ width: 170px; right: 2%; top: 35%; }
}

/* SP */
@media (max-width: 860px){
.pageHeader {
    padding: 96px 0 0;
}

  .pageHeader__inner{
    width: min(92vw, 720px);
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .pageHeader__title{
    writing-mode: horizontal-tb;
    justify-content: start;
    gap: 6px;
  }

  .pageHeader__jp{
    font-size: 22px;
  }

.pageHeader__kv {
    height: 46vw;
    border-radius: 14px 0 0 14px;
}

}

.pageHeader_about__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.pageHeader_about__bgItem {
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.pageHeader_about__bgItem:nth-child(1) {
    width: 24vw;
    left: 14%;
    top: 30%;
    animation-delay: 0s;
}

.pageHeader_about__bgItem:nth-child(2) {
    width: 20vw;
    left: -5%;
    top: 79%;
    animation-delay: 3s;
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .pageHeader_about__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 42%; }
  .pageHeader_about__bgItem:nth-child(2){ width: 170px; left: 10%; top: 18%; }
}

.pageHeader_clinic__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.pageHeader_clinic__bgItem {
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.pageHeader_clinic__bgItem:nth-child(1) {
    width: 25vw;
    left: 18%;
    top: 53%;
    animation-delay: 0s;
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .pageHeader_clinic__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 42%; }
}

.clinic_concept_box {
    width: 1080px;
    margin: 0 auto;
    padding: 0 0 200px 0;
    position: relative;
}

.clinic_concept_box__lead {
    font-weight: normal;
    font-size: 35px;
    letter-spacing: 0.1em;
    line-height: 70px;
    text-align: center;
    color: #37291c;
    margin: 70px 0 0 0;
}

.clinic_concept__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.clinic_concept__bgItem {
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.clinic_concept__bgItem:nth-child(1) {
    width: 24vw;
    left: -15%;
    top: 36%;
    animation-delay: 0s;
}

.clinic_concept__bgItem:nth-child(2) {
    width: 20vw;
    right: -5%;
    top: 55%;
    animation-delay: 3s;
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .clinic_concept__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 42%; }
  .clinic_concept__bgItem:nth-child(2){ width: 170px; left: 10%; top: 18%; }
}

/* セクション全体 */


/* 画像（背景役） */
.feature__media {
    height: 507px;
    border-radius: 10px;
    overflow: hidden;
}

.feature__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 0 0 10px 10px;
}

/* テキストカード */
.feature__card {
    position: absolute;
    top: 0;
    left: 0;
    /* transform: translate(-50%, -35%); */
    width: 910px;
    min-height: 507px;
    height: auto;
    padding: 70px 0;
    background: #FFFCF5;
    /* border: 1px solid rgba(90,70,59,.16); */
    border-radius: 10px;
    box-shadow: 6px 6px 0 #F5E9D9;
    text-align: center;
    z-index: 2;
    margin-left: 100px;
    margin-top: -100px;
}

.feature__card02 {
    position: absolute;
    top: 0;
    left: -130px;
    /* transform: translate(-50%, -35%); */
    width: 910px;
    min-height: 507px;
    padding: 70px 0;
    background: #FFFCF5;
    /* border: 1px solid rgba(90,70,59,.16); */
    border-radius: 10px;
    box-shadow: 6px 6px 0 #F5E9D9;
    text-align: center;
    z-index: 2;
    /* margin-left: 100px; */
    /* margin-right: 200px; */
    margin-top: -100px;
}

/* ===========================
   ブレイクアウト（片側だけ画面端へ）
   重要：親の余白に影響されず、画像だけ端まで伸ばす
=========================== */

/* 右端まで（FEATURE 01） */
.feature--right .feature__media {
    width: calc(100% + (100vw - 100%) / 2);
    margin-left: auto;
    margin-right: calc(-1 * (100vw - 100%) / 2);
    border-radius: 10px 0 0 10px;
    padding-left: 200px;
    height: 507px;
    margin-top: 65px;
}

/* 左端まで（FEATURE 02） */
.feature--left .feature__media {
    width: calc(100% + (100vw - 100%) / 2);
    margin-right: auto;
    margin-left: calc(-1 * (100vw - 100%) / 2);
    border-radius: 0 18px 18px 0;
    padding-right: 200px;
}

/* セクション内の「通常コンテンツ幅」を作る（全体の基準） */
.feature {
    width: min(1200px, calc(100% - 200px));
    margin: 250px auto 0 auto;
    position: relative;
}

/* ===========================
   SP：縦積み（カード→画像の順でもOK）
=========================== */
@media (max-width: 860px){
.feature {
    width: 100%;
    padding: 0;
    margin: 0;
}

  .feature__media{
    height: 260px;
    border-radius: 16px;
    width: 100%;
    margin: 0;
  }
  .feature--right .feature__media,
  .feature--left  .feature__media{
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    border-radius: 16px;
  }

  .feature__card{
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    margin: 0 auto 18px;
    padding: 26px 18px;
    text-align: center;
  }
}

.clinic_feature_cnt__item_text01 {
    font-weight: 600;
    font-size: 30px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: center;
    color: #84926f;
    margin: 0;
}

.clinic_feature_cnt__item_text02 {
    font-weight: 600;
    font-size: 35px;
    letter-spacing: 0.1em;
    line-height: 55px;
    text-align: center;
    color: #6b523a;
    margin: 50px 0 0 0;
}

.clinic_feature_cnt__item_text03 {
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: center;
    color: #37291c;
    margin: 30px 0 0 0;
}

.clinic_gallery_image_box {
    margin: 100px 0 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.clinic_gallery_box {
  position: relative;
  padding: 200px 0 0 0;
}

.clinic_gallery_img {
    width: 32%;
    margin-bottom: 20px;
}

.clinic_gallery__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.clinic_gallery__bgItem {
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.clinic_gallery__bgItem:nth-child(1) {
    width: 21vw;
    right: 8%;
    top: -6%;
    animation-delay: 0s;
}
.clinic_gallery__bgItem:nth-child(2) {
    width: 21vw;
    left: -3%;
    top: 50%;
    animation-delay: 6s;
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .clinic_gallery__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 42%; }
}

.pageHeader_guide__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.pageHeader_guide__bgItem {
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.pageHeader_guide__bgItem:nth-child(1) {
    width: 25vw;
    left: 12%;
    top: 43%;
    animation-delay: 0s;
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .pageHeader_guide__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 42%; }
}

.guide_info_box {
  position: relative;
}

.guide_info_box__inner {
    width: 1080px;
    border-radius: 10px;
    background: #fffcf5;
    margin: 0 auto;
    text-align: center;
    padding: 100px;
    z-index: 1;
    position: relative;
}

.guide_info_box_text01 {
    font-weight: 600;
    font-size: 35px;
    letter-spacing: 0.1em;
    line-height: 70px;
    text-align: center;
    color: rgb(106, 76, 49);
    border-bottom: 1px solid #37291C;
    padding-bottom: 20px;
}

.guide_info_box_text02 {
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: left;
    color: #37291c;
    margin: 0;
}

.guide_info_box__inner__box {
    max-width: 643px;
    border-radius: 20px;
    background: #f5e9d9;
    margin: 50px auto 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 50px;
}

.guide_info_box_text03 {
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: left;
    color: #37291c;
    margin: 0;
}

.guide_info_box02 {
    padding-top: 200px;
    position: relative;
    background: linear-gradient(180deg, #FFF8EE 0%, #FFF8EE 50%, #FBF2E5 50%, #FBF2E5 100%);
}

.guide_info_box__inner__box02 {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 50px;
}

.guide_info_box__inner__box02_img {
    margin-top: 9px;
    position: relative;
    display: block;
}

.guide_info_box_text04 {
    font-weight: 600;
    font-size: 22px;
    letter-spacing: 0.1em;
    line-height: 47px;
    text-align: left;
    color: #37291c;
    margin: 0;
    border-radius: 10px;
    border: 1px solid #37291c;
    padding: 0 45px;
}

.guide_info_box_text05 {
    font-weight: 600;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: left;
    color: #37291c;
    padding-left: 30px;
    margin: 0;
}

.guide_info__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.guide_info__bgItem {
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.guide_info__bgItem:nth-child(1) {
    width: 27vw;
    right: 0;
    top: 2%;
    animation-delay: 0s;
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .guide_info__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 42%; }
}

.guide_flow_box {
    padding-top: 200px;
    padding-bottom: 200px;
    position: relative;
    background-color: #FBF2E5;
}

/* =========================
   Base
========================= */
.howto {
    width: 883px;
    margin: 100px auto 0 auto;
}

.howto__inner {
    max-width: 100%;
    margin: 0 auto;
}

/* 区切り線 */
.howto__divider {
    border: 0;
    border-top: 1px solid #84926F;
    margin: 60px 0;
}

/* =========================
   Step block
========================= */
.step {
    padding: 0;
}

.step__head {
    display: grid;
    grid-template-columns: 67px 1fr;
    gap: 35px;
    align-items: center;
    margin-bottom: 10px;
}

.step__no {
    width: 67px;
    height: 67px;
    border-radius: 10px;
    background: #6b523a;
    display: grid;
    place-items: center;
    font-weight: normal;
    font-size: 26px;
    letter-spacing: 0.1em;
    line-height: 67px;
    text-align: center;
    color: #fcf9f4;
}

.step__ttl {
    margin: 0;
    padding: 0;
    font-weight: 600;
    font-size: 28px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: left;
    color: #37291c;
    border: 0;
}

.step__ttl::after {
    border: none;
}

.step__desc {
    margin: 70px 0 0;
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 44px;
    text-align: left;
    color: #37291c;
}

.step__desc02 {
    font-weight: normal;
    font-size: 20px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: center;
    color: #37291c;
    margin: 100px 0 0 0;
}

/* CTA */
.step__cta {
    padding-left: 68px;
    margin-top: 70px;
}

/* =========================
   Button
========================= */
.btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 12px 18px 12px 90px;
    width: 395px;
    height: 60px;
    border-radius: 10px;
    background: #96bc5c;
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.1em;
    line-height: 24px;
    text-align: center;
    color: #fff9f3;
}

.btn:hover{
  filter: brightness(1.03);
}

.btn__icon {
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
}

.btn__icon svg{
  width: 18px;
  height: 18px;
}

/* =========================
   QR row
========================= */
.qrrow {
    padding-left: 68px;
    margin-top: 60px;
    display: flex;
    align-items: center;
    gap: 60px;
}

.qrrow__label {
    display: flex;
    align-items: center;
    gap: 10px;
    white-space: nowrap;
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.1em;
    line-height: 70px;
    text-align: left;
    color: #37291c;
}

.arrow-double{
  width:20px;
  height:12px;
  color:#3B2F24;
  margin-right:8px;
  flex-shrink:0;
}

.qrrow__box {
    width: 174px;
    height: 174px;
    display: grid;
    place-items: center;
}

.qrrow__box--light{
  background: transparent;
}

.qrrow__box img {
    width: 174px;
    height: 174px;
    object-fit: cover;
}

.guide_pay_box {
  position: relative;
  padding: 200px 0 0 0;
}

.guide_pay__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.guide_pay__bgItem {
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.guide_pay__bgItem:nth-child(1) {
    width: 35vw;
    right: 0%;
    top: 9%;
    animation-delay: 0s;
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .guide_pay__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 42%; }
}

.guide_pay_box_text01 {
    margin: 120px 0 150px 0;
    font-weight: normal;
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: center;
    color: #37291c;
}

.pageHeader_access__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.pageHeader_access__bgItem {
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.pageHeader_access__bgItem:nth-child(1) {
    width: 20vw;
    left: 4%;
    top: 46%;
    animation-delay: 0s;
}

.pageHeader_access__bgItem:nth-child(2) {
    width: 30vw;
    right: 5%;
    top: 49%;
    animation-delay: 0s;
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .pageHeader_access__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 42%; }
  .pageHeader_access__bgItem:nth-child(2){ width: 170px; left: 10%;  top: 18%; }
}

.access_info_box {
    position: relative;
}

.access_info_box__inner {
    max-width: 1080px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* gap: 30px; */
}

.access_info_box__textBox {
    position: relative;
    width: 100%;
}

.access_info_box__logo {
    position: relative;
    margin: 0;
}

.access_info_box__text01 {
    font-weight: normal;
    font-size: 22px;
    line-height: 32px;
    text-align: left;
    color: #6b523a;
    margin: 70px 0 0 0;
}

.access_info_box__text02 {
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 40px;
    text-align: left;
    color: #6b523a;
    margin: 0;
}

.access_gmap_btn {
    display: inline-block;
    width: 320px;
    background: #6B523A;
    padding: 0 15px;
    border-radius: 10px;
    text-decoration: none;
    letter-spacing: 0.05em;
    font-weight: normal;
    font-size: 20px;
    line-height: 55px;
    text-align: center;
    color: #fff8ee;
    transition: all .25s;
    margin: 70px 0 0 0;
}

.access_gmap_btn:hover{
  color: #fff8ee;
  opacity: 0.7;
}

.access_info_box__tel {
    margin: 30px 0 0 0;
}

.access_info_box__tel a {
    font-weight: normal;
    font-size: 24px;
    letter-spacing: 0.1em;
    line-height: 40px;
    text-align: left;
    color: #6b523a;
    text-decoration: none;
}

.access_info_box__mapBox {
    margin: 0 auto;
    width: 100%;
}

.access_info_box__mapBox img {
    margin: 0 auto;
    max-width: 100%;
}

.access_info_box__gmapBox {
    margin: 100px auto 0 auto;
    width: 1080px;
}

.pageHeader_faq__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.pageHeader_faq__bgItem {
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.pageHeader_faq__bgItem:nth-child(1) {
    width: 32vw;
    left: 17%;
    top: 39%;
    animation-delay: 0s;
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .pageHeader_faq__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 42%; }
}

/* ========= FAQ Base ========= */
.faq {
    padding: 0;
}

.faq__inner {
    max-width: 1080px;
    margin: 0 auto;
}

.faq__title {
    font-weight: 600;
    font-size: 35px;
    letter-spacing: 0.1em;
    line-height: 70px;
    text-align: center;
    color: #6b523a;
    border: 0;
    margin: 0;
    padding: 0;
}

/* ========= Item ========= */
.faq__list {
    display: flex;
    flex-direction: column;
    gap: 35px;
    margin: 70px 0 200px 0;
    position: relative;
}

.faq_faq01__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.faq_faq01__bgItem {
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.faq_faq01__bgItem:nth-child(1) {
    width: 30vw;
    right: -30vw;
    top: 77%;
    animation-delay: 0s;
}

.faq_faq02__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.faq_faq02__bgItem {
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.faq_faq02__bgItem:nth-child(1) {
    width: 30vw;
    left: -15vw;
    top: 29%;
    animation-delay: 0s;
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .faq_faq02__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 42%; }
}

.faq_faq03__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.faq_faq03__bgItem {
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.faq_faq03__bgItem:nth-child(1) {
    width: 30vw;
    right: -15vw;
    top: 76%;
    animation-delay: 0s;
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .faq_faq03__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 42%; }
}

.faq_faq04__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.faq_faq04__bgItem {
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.faq_faq04__bgItem:nth-child(1) {
    width: 30vw;
    left: -18vw;
    top: 70%;
    animation-delay: 0s;
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .faq_faq04__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 42%; }
}

.faq-item {
    background: #FFFAF5;
    border-radius: 10px;
    overflow: hidden;
    z-index: 1;
    position: relative;
}

.faq-item[open] .faq-q{
  background:#FCF4EA;
}

/* summary のデフォルトマーカー消し */
.faq-item > summary{
  list-style:none;
}
.faq-item > summary::-webkit-details-marker{
  display:none;
}

/* ========= Question row ========= */
.faq-q {
    display: grid;
    grid-template-columns: 44px 1fr 44px;
    align-items: center;
    gap: 14px;
    padding: 18px 18px 18px 70px;
    cursor: pointer;
    user-select: none;
}

.faq-q__lead {
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.1em;
    line-height: 40px;
    text-align: left;
    color: #6b523a;
}

.faq-q__text {
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.1em;
    line-height: 40px;
    text-align: left;
    color: #6b523a;
}

/* 右端 + / - アイコン（擬似要素で描画） */
.faq-q__icon {
    width: 28px;
    height: 28px;
    position: relative;
    justify-self: end;
}

.faq-q__icon::before,
.faq-q__icon::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width: 18px;
  height: 1.5px;
  background: currentColor;
  transform: translate(-50%,-50%);
  border-radius: 2px;
}
.faq-q__icon::after{
  transform: translate(-50%,-50%) rotate(90deg); /* + の縦線 */
}

/* open時は「-」になる（縦線消す） */
.faq-item[open] .faq-q__icon::after{
  opacity: 0;
}

/* hover */
.faq-q:hover{
  background: rgba(0,0,0,.02);
}

/* ========= Answer ========= */
.faq-a {
    padding: 0;
}

.faq-a__row {
    background: #FCF4EA;
    border-radius: 0 0 10px 10px;
    padding: 16px 70px 16px 70px;
    display: grid;
    grid-template-columns: 44px 1fr;
    gap: 14px;
    align-items: start;
}

.faq-a__lead {
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.1em;
    line-height: 26px;
    text-align: left;
    color: #84926f;
}

.faq-a__text {
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.1em;
    line-height: 26px;
    text-align: left;
    color: #6b523a;
}

.faq-a__text a {
    color: #6b523a;
}

.medical__lead {
    font-weight: normal;
    font-size: 24px;
    letter-spacing: 0.1em;
    line-height: 51px;
    text-align: left;
    color: #6b523a;
    margin-bottom: 100px;
}

/* ===== base ===== */
.k-tab {
    padding: clamp(24px, 4vw, 48px) 16px;
    color: #3e3a35;
}

.k-tab__inner {
    max-width: 1080px;
    margin: 0 auto;
}

/* ===== tabs ===== */
.k-tab__tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    border-radius: 10px 10px 0 0;
    overflow: hidden;
}

.k-tab__tab {
    appearance: none;
    border: 0;
    background: #fffcf5;
    padding: 30px 14px;
    cursor: pointer;
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.1em;
    line-height: 22px;
    text-align: center;
    color: #37291c;
}

.k-tab__tab.is-active {
    background: #F5E9D9;
}

.k-tab__tab:focus-visible{
  outline:2px solid rgba(62,58,53,.35);
  outline-offset:-2px;
}

/* ===== panel ===== */
.k-tab__panels {
    background: #F5E9D9;
    border-radius: 0 0 10px 10px;
    padding: 100px 0;
}

/* ===== grid ===== */
.k-tab__grid {
    display: flex;
    align-items: start;
    width: 840px;
    margin: 0 auto;
    justify-content: space-between;
}

.k-tab__col {
    display: grid;
    gap: 40px;
    width: 360px;
}

/* ===== items ===== */
.k-tab__item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #fbf7f0;
    border-radius: 6px;
    padding: 14px 18px;
    text-decoration: none;
    position: relative;
    min-height: 60px;
    font-weight: normal;
    font-size: 20px;
    letter-spacing: 0.1em;
    line-height: 24px;
    text-align: center;
    color: #37291c;
}

.k-tab__arrow {
    position: absolute;
    right: 26px;
    font-size: 20px;
    line-height: 1;
}

.k-tab__item:hover{
  filter: brightness(0.98);
  color: #37291c;
}

.k-tab__item:focus-visible{
  outline:2px solid rgba(62,58,53,.35);
  outline-offset:2px;
}

.consult {
    padding: 0;
    position: relative;
}

.consult-inner {
    max-width: 1080px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    padding: 30px 60px;
    border-right: 2px solid #37291C;
    border-left: 2px solid #37291C;
}

/* タイトル */
.consult-title {
    font-weight: 600;
    font-size: 35px;
    letter-spacing: 0.1em;
    line-height: 70px;
    text-align: center;
    color: #6b523a;
    border: 0;
    padding: 0;
    margin: 0;
}

/* 本文 */
.consult-inner p {
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: center;
    color: #37291c;
    margin: 60px 0 0 0;
}

/* 四隅の線 */
.consult-inner::before,
.consult-inner::after{
  content:"";
  position:absolute;
  width:60px;
  height:60px;
}

.consult-inner::before {
    top: 0;
    left: -2px;
    border-top: 2px solid #37291C;
    border-left: 2px solid #37291C;
}

.consult-inner::after {
    bottom: 0;
    right: -2px;
    border-bottom: 2px solid #37291C;
    border-right: 2px solid #37291C;
}

/* 左下 */
.consult-inner .corner-left {
    position: absolute;
    bottom: 0;
    left: -2px;
    width: 60px;
    height: 60px;
    border-bottom: 2px solid #37291C;
    border-left: 2px solid #37291C;
}

/* 右上 */
.consult-inner .corner-right {
    position: absolute;
    top: 0;
    right: -2px;
    width: 60px;
    height: 60px;
    border-top: 2px solid #37291C;
    border-right: 2px solid #37291C;
}

.family_box__inner02 {
    padding: 160px 0 0 0;
    position: relative;
}

.message-area {
    padding: 120px 0;
    /* width: 1080px; */
    margin: 0 auto;
    background-image: url(https://luxun-obs.com/shirokuma-test/wp-content/uploads/2026/03/family_message_bg01.png);
    /* background-size: cover; */
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
    z-index: 2;
}

.message-box {
    max-width: 970px;
    margin: 0 auto;
    padding: 100px 0;
    text-align: center;
    border: 2px solid #FFFBF1;
    border-radius: 10px;
}

.message-title {
    font-weight: 600;
    font-size: 35px;
    letter-spacing: 0.1em;
    line-height: 70px;
    text-align: center;
    color: #6b523a;
    border: 0;
    padding: 0;
    margin: 0;
}

.message-subtitle {
    font-weight: 600;
    font-size: 35px;
    letter-spacing: 0.1em;
    line-height: 70px;
    text-align: center;
    color: #6b523a;
    border: 0;
    padding: 0;
    margin: 0;
}

.message-box p {
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: center;
    color: #37291c;
    margin: 60px 0 0 0;
}

.message-divider {
    width: 65px;
    height: 2px;
    background: #FFFBF1;
    margin: 80px auto;
}

.family_message__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

/* 共通：水彩を「横並び配置」するため、1枚ずつサイズと位置を持たせる */
.family_message__bgItem {
  position: absolute;
  height: auto;
  object-fit: contain;
  opacity: 0;
  will-change: opacity, transform;
  filter: blur(.2px);

  /* 個別フェード（全体はゆっくり） */
  animation: bgFade 18s ease-in-out infinite;
}

/* 6枚：横方向に散らす（スクショ風の初期値） */
.family_message__bgItem:nth-child(1) {
    width: 24vw;
    left: 1%;
    top: 11%;
    animation-delay: 0s;
}

.family_message__bgItem:nth-child(2) {
    width: 20vw;
    right: 4%;
    top: 87%;
    animation-delay: 3s;
}

/* SP：横幅に収める（はみ出す場合の安全策） */
@media (max-width: 768px){
  .family_message__bgItem:nth-child(1){ width: 180px; left: 2%;  top: 42%; }
  .family_message__bgItem:nth-child(2){ width: 170px; left: 10%; top: 18%; }
}

.family_box__inner03 {
    position: relative;
    padding-top: 200px;
}

.fam_faq-area {
    position: relative;
    width: 1080px;
    margin: 0 auto;
}

.fam_faq-box {
    position: relative;
    z-index: 2;
}

.fam_faq-title {
    font-weight: 600;
    font-size: 35px;
    letter-spacing: 0.1em;
    line-height: 70px;
    text-align: center;
    color: #6b523a;
    border: 0;
    padding: 0;
    margin: 0;
}

.fam_faq-box p {
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: center;
    color: #37291c;
    margin: 65px 0 0 0;
}

.fam_faq_cnt {
    position: relative;
    width: 1080px;
    margin: 120px auto 0 auto;
}

.family_imgBox {
    position: relative;
    margin: 0 auto;
}

.fam_pay_box {
    position: relative;
    width: 100%;
    border-radius: 10px;
    background: #fffcf5;
    padding: 120px 0 30px 0;
}

.fam_pay_box__inner {
    position: relative;
    width: 1080px;
    margin: 0 auto;
}

.fam_pay_box__text01 {
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: center;
    color: #37291c;
    margin: 0;
}

.fam_pay_box__text02 {
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: center;
    color: #37291c;
    margin: 0;
}

.fam_pay_box__text03 {
    width: 644px;
    height: 64px;
    border-radius: 32px;
    background: #f5e9d9;
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 64px;
    text-align: center;
    color: #37291c;
    margin: 50px auto 0 auto;
}

.fam_pay_box__text04 {
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: center;
    color: #37291c;
    margin: 50px 0 0 0;
}

.fam_pay-divider {
    width: 100%;
    height: 1px;
    background: #3D2D27;
    margin: 90px auto;
}

.pageHeader_headache {
    background: linear-gradient(180deg, #FFF8EE 0%, #FFF8EE 65%, #FBF2E5 65%, #FBF2E5 100%);
    padding: 50px 0 200px;
    position: relative;
}

.headache_box {
    position: relative;
    background-color: #FBF2E5;
    padding-bottom: 120px;
}

.headache_box__inner {
    position: relative;
    width: 1080px;
    margin: 0 auto;
}

.headache-consult {
    padding: 0;
}

.headache-consult__inner {
    max-width: 100%;
    margin: 0 auto;
}

.headache-consult__lead {
    text-align: center;
    margin: 0 auto;
}

.headache-consult__lead_head {
    margin: 0 auto;
    padding-bottom: 10px;
    font-weight: 600;
    font-size: 38px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: center;
    color: #6b523a;
    background: radial-gradient(circle at calc(100% - 4px) calc(100% - 4px), #83AF40 4px, transparent 4px) ,
              radial-gradient(circle at 4px calc(100% - 4px), #83AF40 4px, transparent 4px) ,
              linear-gradient(to bottom, #FBF2E5 calc(100% - 8px), transparent calc(100% - 8px)) ,
              linear-gradient(to right, transparent 4px, #83AF40 4px, #83AF40 calc(100% - 4px), transparent calc(100% - 4px));
    display: inline;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.headache-consult__lead_text {
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: center;
    color: #37291c;
    margin: 70px 0 0 0;
}

.headache-consult__lead p:first-child{
  margin-bottom:80px;
}

.headache-consult__lead p:nth-child(4){
  margin-bottom:70px;
}

.headache-consult__marker {
    /* display: inline-block; */
    padding: 0;
    background: linear-gradient(180deg, transparent 0%, transparent 50%, #D0D6C5 50%, #D0D6C5 100%);
}

.headache-consult__heading-wrap {
    position: relative;
    text-align: center;
    margin: 150px auto 0 auto;
    padding: 20px 0;
}

.headache-consult__heading-wrap::before, .headache-consult__heading-wrap::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    border-top: 2px dotted #37291C;
}

.headache-consult__heading-wrap::before{
  top:0;
}

.headache-consult__heading-wrap::after{
  bottom:0;
}

.headache-consult__heading {
    margin: 0;
    font-weight: 600;
    font-size: 34px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: center;
    color: #6b523a;
    border: 0;
    padding: 0;
}

.headache-layout {
    padding: 100px 0;
}

.headache-layout__inner {
    max-width: 940px;
    margin: 0 auto;
}

.headache-flow__top {
    display: grid;
    grid-template-columns: 1fr 240px;
    gap: 30px 40px;
    align-items: start;
}

.headache-flow__item {
    position: relative;
    min-height: 66px;
    display: flex;
    align-items: center;
    padding: 18px 46px;
    background: #F5E9D9;
    border-radius: 8px;
    box-sizing: border-box;
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: left;
    color: #37291c;
}

.headache-flow__item::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -20px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 20px solid #F5E9D9;
}

.headache-flow__illust {
    grid-column: 2;
    grid-row: 1 / span 3;
    display: flex;
    justify-content: center;
    padding-top: 48px;
    align-items: center;
}

.headache-flow__illust_sp {
    display: none;
}

.headache-flow__circle {
    width: 238px;
    height: 238px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.headache-flow__circle img {
    width: 80%;
    height: auto;
    display: block;
}

.headache-flow__item--full{
    grid-column:1 / -1;
    max-width:940px;
}

.headache-flow__item--full::after {
    top: -20px;
    bottom: auto;
    right: 70px;
    transform: none;
    border-top: none;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 20px solid #F5E9D9;
}

.headache-flow__center-line {
    width: 3px;
    height: 48px;
    background: #7a5a3d;
    margin: 40px auto;
}

.headache-flow__message {
    max-width: 1080px;
    margin: 0 auto;
    padding: 34px 30px;
    border: 3px solid #7a5a3d;
    border-radius: 10px;
    text-align: center;
    background: transparent;
    box-sizing: border-box;
}

.headache-flow__message p {
    margin: 0 0 12px;
    font-weight: 600;
    font-size: 28px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: center;
    color: #6b523a;
}

.headache-flow__message p:last-child{
    margin-bottom:0;
}

@media (max-width: 900px){
    .headache-flow__top{
    grid-template-columns:1fr;
    gap:16px;
    }

    .headache-flow__illust{
    grid-column:auto;
    grid-row:auto;
    padding-top:8px;
    }

    .headache-flow__item,
    .headache-flow__item--full{
    max-width:none;
    }

.headache-flow__item::after {
    right: 50%;
    top: -10px;
    transform: rotate(-90deg);
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 10px solid #F5E9D9;
}

.headache-flow__item--full::after {
    top: -10px;
    bottom: auto;
    right: 50%;
    transform: rotate(-90deg);
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 10px solid #F5E9D9;
    border-right: none;
}

}

@media (max-width: 767px){
    .headache-layout{
    padding:34px 16px 46px;
    }

    .headache-flow__item{
    min-height:auto;
    padding:14px 18px;
    font-size:14px;
    line-height:1.8;
    }

    .headache-flow__circle{
    width:150px;
    height:150px;
    font-size:15px;
    }

    .headache-flow__center-line{
    height:34px;
    margin:24px auto 24px;
    }

    .headache-flow__message{
    padding:22px 16px;
    border-width:2px;
    border-radius:8px;
    }

    .headache-flow__message p{
    font-size:16px;
    line-height:1.8;
    margin-bottom:8px;
    }
}

.request-reserve {
    padding: 0;
}

.request-reserve__inner {
    max-width: 1080px;
    margin: 0 auto;
}

/* 上の囲み */
.request-box2 {
    margin: 0 auto 150px;
    max-width: 1080px;
}

.request-box2__title {
    margin: 0;
    position: relative;
    z-index: 2;
    margin-bottom: -50px;
    text-align: center;
    border: 0;
}

.request-box2__title span {
    display: inline-block;
    padding: 0 55px;
    background: #FFF8EE;
    font-weight: 600;
    font-size: 38px;
    letter-spacing: 0.1em;
    line-height: 70px;
    text-align: center;
    color: #6b523a;
}

.request-box2__frame {
    position: relative;
    border: 3px solid #6B523A;
    border-radius: 10px;
    padding: 70px;
}

.request-box2__list{
  list-style:none;
  margin:0;
  padding:0;
}

.request-box2__list li {
    position: relative;
    padding-left: 40px;
    margin: 0 0 18px;
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 50px;
    text-align: left;
    color: #37291c;
    display: flex;
}

.request-box2__list li img {
    padding-right: 15px;
}

.request-box2__list li:last-child{
  margin-bottom:0;
}

.request-box2__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 26px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #37291C;
    transform: translateY(-50%);
}

/* マーカー */
.marker{
  position:relative;
  display:inline-block;
  padding:0 3px;
  z-index:1;
}

.marker::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 5px;
    width: 100%;
    height: 7px;
    background: #83AF40;
    border-radius: 6px;
    z-index: -1;
}

.marker_bold {
  position:relative;
  display:inline-block;
  padding:0 3px;
  z-index:1;
}

.marker_bold::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -11px;
    width: 100%;
    height: 13px;
    background: #83AF40;
    border-radius: 6px;
    z-index: -1;
}

/* 小さい緑バッジ */
.mini-badge{
  display:inline-block;
  vertical-align:middle;
  margin-right:6px;
  padding:2px 12px 3px;
  background:#9bc057;
  color:#fff;
  border-radius:999px;
  font-size:11px;
  line-height:1.4;
  letter-spacing:0.08em;
  font-weight:700;
}

/* 下の大きい予約ボタン */
.request-reserve__btn-wrap {
    max-width: 1080px;
    margin: 0 auto;
}

.request-reserve__btn {
    display: flex;
    align-items: center;
    gap: 18px;
    width: 100%;
    min-height: 90px;
    padding: 18px 65px 18px 180px;
    background: #96BC5C;
    color: #fff;
    text-decoration: none;
    border-radius: 10px;
    box-sizing: border-box;
    transition: opacity 0.25s ease;
    justify-content: center;
}

.request-reserve__btn:hover{
  opacity:0.9;
  color:#fff;
}

.request-reserve__btn-text {
    font-weight: 600;
    font-size: 38px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: center;
    color: #fff8ee;
}

.request-reserve__btn-arrow {
    margin-left: auto;
    font-size: 34px;
    line-height: 1;
    padding-bottom: 8px;
    font-weight: 400;
}

.headache-consult__list {
    max-width: 545px;
    margin: 100px auto;
    padding: 0;
    list-style: none;
}

.headache-consult__list li {
    position: relative;
    margin: 0;
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: left;
    color: #37291c;
}

.headache-consult__foot{
  text-align:center;
}

.headache-consult__foot p {
    margin: 0;
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: center;
    color: #37291c;
}

.headache_flow_box {
    margin: 0;
    background-color: #FFF8EE;
    padding: 200px 0 0 0;
}

.headache_flow_box__inner {
    margin: 200px auto 0 auto;
    width: 1080px;
}

.flow-headache {
    padding: 0;
    color: #4c3728;
}

.flow-headache__inner {
    max-width: 100%;
    margin: 0 auto;
    padding-bottom: 10px;
    border-bottom: 1px solid #37291C;
}

.flow-headache__title {
    margin: 0 0 80px 0;
    background: #6A4C31;
    padding: 20px 0;
    border-radius: 10px;
    font-weight: 600;
    font-size: 35px;
    letter-spacing: 0.1em;
    line-height: 68px;
    text-align: center;
    color: #fff8ee;
    border: 0;
}

.flow-step__head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 10px;
}

.flow-step__line {
    flex: 1;
    height: 1px;
    background: #37291C;
}

.flow-step__head .flow-step__line:first-child {
    max-width: 53px;
    flex: 1;
}

.flow-step__num {
    min-width: 42px;
    font-weight: normal;
    font-size: 35px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: left;
    color: #37291c;
}

.flow-step__body {
    display: grid;
    grid-template-columns: 170px 1fr;
    column-gap: 36px;
}

.flow-step__rail {
    width: 1px;
    background: #707070;
    margin: 0 auto;
    min-height: 240px;
}

.flow-step:last-child .flow-step__rail{
  min-height:140px;
}

.flow-step__content {
    padding: 20px 0 60px 0;
}

.flow-step__lead, .flow-step__note {
    margin: 0;
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: left;
    color: #37291c;
}

.flow-step__lead + .flow-step__lead{
  margin-top:4px;
}

.headache-consult__marker02 {
    /* display: inline-block; */
    padding: 0;
    background: linear-gradient(180deg, transparent 0%, transparent 50%, #ECF2E2 50%, #ECF2E2 100%);
}

.flow-step__note{
  margin-top:4px;
}

.flow-step__box {
    max-width: 545px;
    margin: 26px 0 0;
    background: #F5E9D9;
    border-radius: 10px;
    padding: 40px 0;
    display: flex;
    justify-content: center;
}

.flow-step__box ul{
  list-style:none;
  margin:0;
  padding:0;
}

.flow-step__box li {
    position: relative;
    margin: 0;
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: left;
    color: #37291c;
}

.flow-step__box li:last-child{
  margin-bottom:0;
}

.flow-section {
    padding: 0;
}

/* タイトル */
.flow-title {
    text-align: center;
    margin-bottom: 150px;
}

.flow-title h2 {
    margin: 15px 0 0 0;
    font-weight: 600;
    font-size: 38px;
    letter-spacing: 0.1em;
    line-height: 70px;
    text-align: center;
    color: #6b523a;
    border: 0;
    padding: 0;
}

.flow-title p {
    margin: 0 0 20px 0;
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.1em;
    line-height: 32px;
    text-align: center;
    color: #6b523a;
}

.flow-line {
    border-top: 3px dotted #6B523A;
    max-width: 1080px;
    margin: 0 auto;
}

/* グリッド */
.flow-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    max-width: 1080px;
    margin: 0 auto;
}

/* カード */
.flow-card {
    position: relative;
    border: 2px solid #6B523A;
    border-radius: 10px;
    padding: 80px 33px;
}

/* STEP丸 */
.flow-step {
    position: absolute;
    top: -52px;
    left: 50%;
    transform: translateX(-50%);
    width: 105px;
    height: 105px;
    border-radius: 50%;
    background: #6B523A;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.flow-step span {
    font-weight: normal;
    font-size: 17px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: center;
    color: #fff8ee;
    margin-bottom: 3px;
}

.flow-step strong {
    font-weight: 600;
    font-size: 45px;
    letter-spacing: 0.05em;
    line-height: 45px;
    text-align: left;
    color: #fff8ee;
}

/* アイコン */
.flow-icon {
    text-align: center;
    margin: 20px 0 40px 0;
}

/* テキスト */
.flow-text {
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
    text-align: left;
    color: #37291c;
    line-height: 30px;
    margin-bottom: 30px;
}

.flow-text02 {
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
    text-align: left;
    color: #37291c;
    line-height: 50px;
    margin-bottom: 30px;
}

/* リスト */
.flow-list{
  list-style:none;
  padding:0;
  margin:10px 0 0;
}

.flow-list li {
    position: relative;
    padding-left: 35px;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 60px;
    text-align: left;
    color: #37291c;
    margin: 0;
}

.flow-list li::before {
    content: "";
    width: 22px;
    height: 22px;
    background: #37291C;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: 20px;
}

.pillars-circle {
    padding: 200px 0;
}

.pillars-circle__inner{
  max-width:1080px;
  margin:0 auto;
}

.pillars-circle-title {
    text-align: center;
    margin-bottom: 120px;
}

.pillars-circle-title h2 {
    margin: 15px 0 0 0;
    font-weight: 600;
    font-size: 38px;
    letter-spacing: 0.1em;
    line-height: 70px;
    text-align: center;
    color: #6b523a;
    border: 0;
    padding: 0;
}

.pillars-circle-title p {
    margin: 0 0 20px 0;
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.1em;
    line-height: 32px;
    text-align: center;
    color: #6b523a;
}

.pillars-circle__wrap {
    display: flex;
    align-items: flex-start;
    margin: 0 auto 100px;
    position: relative;
    justify-content: space-between;
}

.pillars-circle__item {
    width: 594px;
    height: 594px;
    border-radius: 50%;
    box-sizing: border-box;
    padding: 108px 72px 40px;
    position: relative;
}

.pillars-circle__item--left {
    background: #F5E9D9;
    z-index: 2;
}

.pillars-circle__item--right {
    background: #F3EFE4;
    margin-left: -58px;
    z-index: 1;
}

.pillars-circle__title {
    font-weight: 600;
    font-size: 35px;
    letter-spacing: 0.1em;
    line-height: 70px;
    text-align: center;
    color: #6a4c31;
    border: 0;
    margin: 20px 0 0 0;
    padding: 0;
}

.pillars-circle__lead {
    margin: 0 0 28px;
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: center;
    color: #37291c;
}

.pillars-circle__list {
    list-style: none;
    width: fit-content;
    margin: 0 auto;
    padding: 0;
}

.pillars-circle__list li {
    position: relative;
    margin: 0;
    padding-left: 30px;
    font-weight: normal;
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: left;
    color: #37291c;
}

.pillars-circle__list_last {
    line-height: 32px !important;
    padding-top: 12px;
}

.pillars-circle__list li:last-child{
  margin-bottom:0;
}

.pillars-circle__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 28px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #37291C;
    transform: translateY(-50%);
}

.pillars-circle__foot {
    margin: 0;
    font-weight: normal;
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: center;
    color: #37291c;
}

.goal-section {
    padding: 0;
}

/* ボックス */

.goal-box {
    max-width: 780px;
    margin: 0 auto 120px;
    border: 3px solid #6B523A;
    border-radius: 12px;
    padding: 90px 80px;
    position: relative;
}

/* タイトル */

.goal-title{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:60px;
  margin-bottom:40px;
}

.goal-title h2 {
    margin: 0;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: center;
    color: #37291c;
    border: 0;
}

.goal-line {
    flex: 1;
    height: 1px;
    background: #37291C;
    max-width: 120px;
}

/* リスト */

.goal-list {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    width: fit-content;
}

.goal-list li {
    position: relative;
    padding-left: 32px;
    margin-bottom: 18px;
    font-weight: normal;
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 60px;
    text-align: left;
    color: #37291c;
}

.goal-list li::before {
    content: "";
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #37291C;
    position: absolute;
    left: 0;
    top: 21px;
}

.goal-list_img {
    position: absolute;
    right: -250px;
    bottom: 120px;
    width: 200px;
    height: auto;
}

/* 下の文章 */

.goal-text {
    text-align: center;
    max-width: 100%;
    margin: 0 auto;
}

.goal-text p {
    margin: 0;
    font-weight: normal;
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: center;
    color: #37291c;
}

.site-footer-title:after, .sub-section-title:after, h3:where(:not(.wp-block-post-title)):after {
  border: 0;
}

.mood-card {
    padding: 0;
}

.mood-card__inner {
    max-width: 1080px;
    margin: 0 auto;
    background: #FFFCF5;
    border-radius: 10px;
    padding: 100px;
}

.mood-card__title {
    margin: 0;
    font-weight: 600;
    font-size: 35px;
    letter-spacing: 0.1em;
    line-height: 70px;
    text-align: center;
    color: #6a4c31;
    border: 0;
    padding: 0;
}

.mood-card__line {
    width: 100%;
    height: 1px;
    background: #37291C;
    margin: 18px auto 26px;
}

.mood-card__text {
    margin: 0;
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: left;
    color: #37291c;
}

.depression-section {
    padding: 150px 0 50px 0;
}

.medical_box__title_jp {
    padding: 0;
    font-weight: 600;
    font-size: 35px;
    letter-spacing: 0.1em;
    line-height: 70px;
    text-align: center;
    color: #6a4c31;
    border: 0;
    margin: 0;
}

.medical_box__title_en {
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: center;
    color: #6a4c31;
    margin: 0;
}

.depression-section__inner {
    max-width: 1330px;
    margin: 0 auto;
}

.depression-section__top {
    display: grid;
    grid-template-columns: 1fr 500px;
    gap: 56px;
    align-items: start;
    margin-bottom: 60px;
    padding-top: 120px;
}

.depression-section__title {
    margin: 0 0 20px 0;
    font-weight: 600;
    font-size: 35px;
    letter-spacing: 0.1em;
    line-height: 70px;
    text-align: left;
    color: #6a4c31;
    padding: 0;
    border: 0;
}

.depression-section__text p {
    margin: 0;
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: left;
    color: #37291c;
}

.depression-section__text p:last-child{
  margin-bottom:0;
}

.depression-section__image img {
    display: block;
    width: 100%;
    height: auto;
    padding-top: 100px;
}

.depression-symptoms {
    background: #F5E9D9;
    border-radius: 10px;
    padding: 60px;
    margin: 0 0 50px;
}

.depression-symptoms__title {
    margin: 0;
    font-weight: 600;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 1.6;
    text-align: left;
    color: #6b523a;
    padding: 0;
    border: 0;
    background-color: transparent;
}

.depression-symptoms__line {
    width: 40px;
    height: 1px;
    background: #37291C;
    margin: 30px 0;
}

.depression-symptoms__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0 26px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.depression-symptoms__list li {
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: left;
    color: #37291c;
    margin: 0;
}

.depression-section__note {
    margin: 0 0 100px;
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.1em;
    line-height: 30px;
    text-align: left;
    color: #37291c;
}

.depression-section__bottom-line {
    width: 100%;
    height: 1px;
    background: #EFD5B3;
}

.medical02_padding {
    padding: 150px 0 0 0;
}

.medical_detail-inner {
    max-width: 1080px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    padding: 30px 60px;
    border-right: 2px solid #37291C;
    border-left: 2px solid #37291C;
}

.medical_detail-inner::before,
.medical_detail-inner::after{
  content:"";
  position:absolute;
  width:60px;
  height:60px;
}

.medical_detail-inner::before {
    top: 0;
    left: -2px;
    border-top: 2px solid #37291C;
    border-left: 2px solid #37291C;
}

.medical_detail-inner::after {
    bottom: 0;
    right: -2px;
    border-bottom: 2px solid #37291C;
    border-right: 2px solid #37291C;
}

/* 左下 */
.medical_detail-inner .corner-left {
    position: absolute;
    bottom: 0;
    left: -2px;
    width: 60px;
    height: 60px;
    border-bottom: 2px solid #37291C;
    border-left: 2px solid #37291C;
}

/* 右上 */
.medical_detail-inner .corner-right {
    position: absolute;
    top: 0;
    right: -2px;
    width: 60px;
    height: 60px;
    border-top: 2px solid #37291C;
    border-right: 2px solid #37291C;
}


.medical_detail_text01 {
    font-weight: normal;
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: left;
    color: #37291c;
    margin: 60px auto 0 auto;
    width: 740px;
}

/* ===== news ===== */
.newsArchive,
.newsSingle {
  padding: 80px 20px;
}

.newsArchive__inner,
.newsSingle__inner {
  max-width: 1100px;
  margin: 0 auto;
}

.newsList {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px 30px;
}

.newsCard {
  border-bottom: 1px solid #ddd;
  padding-bottom: 24px;
}

.newsCard__link {
    display: block;
    text-decoration: none;
    color: #37291C;
}

.newsCard__link:hover {
    color: #37291C;
    opacity: 0.8;
}

.newsCard__meta,
.newsArticle__meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}

.newsCard__date,
.newsArticle__date {
  font-size: 14px;
  letter-spacing: 0.08em;
}

.newsCard__cat,
.newsArticle__cat {
  display: inline-block;
  padding: 4px 10px;
  border: 1px solid #ccc;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1.4;
}

.newsCard__title {
  font-size: 24px;
  line-height: 1.6;
  margin-bottom: 16px;
  border: 0;
}

.newsArticle__title {
  font-size: 36px;
  line-height: 1.5;
  margin-bottom: 30px;
}

.newsCard__thumb,
.newsArticle__thumb {
  margin-bottom: 20px;
}

.newsCard__thumb img,
.newsArticle__thumb img {
  width: 100%;
  height: auto;
  display: block;
}

.newsCard__excerpt {
  font-size: 15px;
  line-height: 2;
}

.newsCard__more {
  margin-top: 16px;
  font-size: 14px;
  letter-spacing: 0.08em;
}

.newsArticle__content {
  font-size: 16px;
  line-height: 2.1;
}

.newsArticle__content p {
  margin-bottom: 1.5em;
}

.newsArticle__content img {
  max-width: 100%;
  height: auto;
}

.newsPager {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 60px;
  padding-top: 30px;
  border-top: 1px solid #ddd;
  flex-wrap: wrap;
}

.newsPagination {
  margin-top: 50px;
  text-align: center;
}

.newsPagination .page-numbers {
  display: inline-block;
  margin: 0 4px;
  padding: 10px 14px;
  border: 1px solid #ccc;
  text-decoration: none;
  color: inherit;
}

.newsPagination .current {
  background: #222;
  color: #fff;
  border-color: #222;
}

.anchor-offset::before{
  content:"";
  display:block;
  height:180px;
  margin-top:-180px;
  visibility:hidden;
  pointer-events:none;
}

.page-anchor {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 20px;
    max-width: 1080px;
    margin: 0 auto 100px auto;
    text-align: center;
}

.anchor-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    text-decoration: none;
    color: #6B523A;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.1em;
}

.anchor-item .line {
    flex: 1;
    height: 2px;
    background: #6B523A;
    max-width: 30px;
}

.anchor-item .text{
  white-space:nowrap;
}

/* hover */

.anchor-item:hover{
  opacity:0.7;
  color: #6B523A;
}

/* CBT */

.ctb__inner {
    width: 1080px;
    margin: 0 auto;
}

.ctb__title {
    font-weight: 600;
    font-size: 35px;
    letter-spacing: 0.1em;
    line-height: 70px;
    text-align: center;
    color: #6a4c31;
    border: 0;
    margin: 0;
    padding: 0;
}

.ctb__inner_cnt {
    display: flex;
    justify-content: space-between;
    margin-top: 100px;
}

.ctb__inner_text_box01 {
    width: 60%;
    padding-right: 50px;
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: left;
    color: #37291c;
}

.ctb__inner_img_box {
  display: block;
}

.ctb__inner_text_box02 {
    font-weight: normal;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 51px;
    text-align: left;
    color: #37291c;
    margin: 50px 0 0 0;
}

@media (max-width: 767px) {
  .newsArchive,
  .newsSingle {
    padding: 50px 16px;
  }

  .newsList {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .newsCard__title {
    font-size: 20px;
  }

  .newsArticle__title {
    font-size: 26px;
  }

  .newsArticle__content {
    font-size: 15px;
    line-height: 2;
  }

  .newsPager {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* ===== responsive ===== */
@media (max-width: 720px){
.k-tab__grid{ grid-template-columns: 1fr; }
.k-tab__tabs {
    grid-template-columns: 1fr 1fr;
}
.k-tab__tab {
    border-radius: 0;
    font-size: 18px;
}
}

/* SP微調整 */
@media (max-width: 640px){
  .faq-q{
    grid-template-columns: 36px 1fr 36px;
    padding: 16px 14px;
    gap: 10px;
  }

.faq-a{
    padding: 0;
}

.faq-a__row {
    grid-template-columns: 36px 1fr;
    gap: 10px;
    padding: 30px 16px;
}
}

/* =========================
   Responsive
========================= */
@media (max-width: 640px){
  .step__desc,
  .step__cta,
  .qrrow{
    padding-left: 0;               /* SPはインデント解除 */
  }

  .step__head{
    grid-template-columns: 44px 1fr;
    gap: 12px;
  }

  .qrrow{
    margin-top: 16px;
    flex-direction: column;
    align-items: flex-start;
  }

  .qrrow__box{
    width: 180px;
    height: 180px;
  }

  .qrrow__box img{
    width: 156px;
    height: 156px;
  }
}

/* レスポンシブ */
@media (max-width: 1100px){
  .lowerHeader__inner{ padding: 18px 20px; }
  .lowerHeader__nav{ display:none; }      /* 中央ナビは隠す */
  .lowerHeader__right{ display:none; }    /* 右側も隠す（SPは全画面メニューへ） */
  .lowerHeader__hamburger{ display:block; }
}

/* レスポンシブ */
@media (max-width: 1100px){
  .topShell{ grid-template-columns: 240px 1fr; }
  .topSideCta{ display:none; } /* SPは下部固定バーにしてもOK */
}
@media (max-width: 860px){
  .topShell{ grid-template-columns: 1fr; }
  .topNav{ order: 2; }
  .topNav__inner{ position: relative; top:auto; }
  .cardGrid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px){
  .cardGrid{ grid-template-columns: 1fr; }
}

/* ===== SP Header ===== */
.spHeader{
  display: none; /* PCは非表示 */
}

/* SPだけ表示 */
@media (max-width: 768px) {
.spHeader {
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 9998;
    background: rgb(255 255 255 / 90%);
    backdrop-filter: blur(6px);
    border-bottom: 1px solid rgba(107,82,58,.18);
    display: block;
}

.spHeader__inner{
  height: 64px;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.spHeader__brand img{
  height: 34px;
  width: auto;
  display: block;
}

/* ハンバーガー */
.spHeader__burger{
  width: 46px;
  height: 46px;
  border: 0;
  background: transparent;
  display: grid;
  place-content: center;
  gap: 6px;
  cursor: pointer;
}

.spHeader__burger span{
  width: 26px;
  height: 2px;
  background: #6B523A;
  display: block;
  border-radius: 2px;
}


  /* PC用の要素はSPでは不要なら非表示にする（必要に応じて） */
  .topFixedBar{ display: none; }

.topShell {
    grid-template-columns: 1fr;
    padding: 0;
}

.topNav {
    display: none;
}

.topSide_concept {
    display: none;
}

/* .topSide_concept_sp {
    position: absolute;
    margin: 50px 0;
    writing-mode: vertical-rl;
    font-family: "fot-tsukuardgothic-std", sans-serif;
    font-weight: 600;
    font-size: 30px;
    letter-spacing: 0.1em;
    line-height: 1.9;
    color: #37291C;
    display: block;
    pointer-events: auto;
    top: 24%;
    left: 50%;
    transform: translate(-50%, -50%);
} */

.topSide_concept_sp {
    position: absolute;
    margin: 0;
    writing-mode: vertical-rl;
    font-weight: 600;
    font-size: 24px;
    letter-spacing: 0.1em;
    line-height: 1.9;
    color: #37291C;
    display: block;
    pointer-events: auto;
    top: 24%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.topSide_concept_sp span{
  display: inline-block;
  opacity: 0;
  transform: translateY(10px);
}

.topSide_concept_sp.is-reveal span{
  animation: conceptCharIn 1.8s ease forwards;
}

.hero__kv {
    height: 100vh;
    border-radius: 30px;
}

.topConcept {
    padding-bottom: 100px;
    padding-top: 100px;
}

.sec__title_jp {
    font-size: 24px;
}

.sec__title_en {
    margin: 15px 0 0 0;
    font-size: 12px;
}

.sec__lead {
    font-size: 22px;
    line-height: 36px;
    margin: 30px 0 0 0;
}

.sec__text {
    font-size: 16px;
    line-height: 1.8;
    text-align: left;
    margin: 30px auto 0 auto;
    width: 90%;
}

.pill-btn03 {
    width: 80%;
    height: 40px;
    font-size: 16px;
    margin: 50px auto 0 auto;
}

.topAccess {
    padding: 0 0 50px 0;
}

.topAccess_wrap {
    padding: 50px 0;
    width: 90%;
}

.topAccess_infoCnt {
    display: flex;
    justify-content: space-between;
    padding-top: 50px;
    flex-direction: column;
}

.topAccess__info_left {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
}

.topAccess__info_box {
    width: 90%;
    margin: 0 auto 30px auto;
}

.topAccess__info_title {
    font-size: 17px;
    line-height: 35px;
    margin: 0 auto;
}

.topAccess__info_text {
    font-size: 17px;
    line-height: 24px;
    margin: 20px 0 0 0;
}

.topAccess__info_box_time {
    display: none;
}

.topAccess__info_box_time_sp {
    display: block;
    width: 100%;
}

.clinic-hours-sp{
  display:block;
  margin:20px 0;
}

/* テーブル */

.clinic-table-sp {
    border: 1px solid #37291C;
    border-radius: 10px;
    overflow: hidden;
    background-color: #FFFAF5;
}

.row {
    display: flex;
    margin: 0;
}

.header{
  text-align: center;
}

.cell {
    flex: 1;
    text-align: center;
    padding: 10px 0;
    border-right: 1px solid #37291C;
    border-bottom: 1px solid #37291C;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cell:last-child{
  border-right:none;
}

.row:last-child .cell{
  border-bottom:none;
}

.cell.time {
    flex: 1;
    text-align: center;
    padding-left: 0;
    font-size: 16px;
    width: 12%;
    line-height: 1.4;
}

/* 記号 */

.row:not(.header) .cell {
    font-size: 16px;
    width: 12%;
}

/* 注釈 */

.clinic-note-sp {
    display: flex;
    justify-content: space-between;
    font-size: 16px;
    margin-top: 6px;
}


.pill-btn04 {
    width: 90%;
    height: 50px;
    font-size: 17px;
    margin-top: 30px;
}

.topGmap_route {
    max-width: 90vw;
    height: 400px;
    margin: 50px 0 0 0;
}

.topGmap {
    width: 100%;
    height: 400px;
    margin: 50px 0 0 0;
}

.topAccess__info_mapText {
    font-size: 15px;
    line-height: 20px;
}

.topInfomation {
    padding: 0 0 100px 0;
}

.topInfomation__content {
    display: flex;
    padding-top: 50px;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 90%;
    margin: 0 auto;
    gap: 20px 0;
}

.mood-btn {
    width: 100%;
    height: 100%;
    padding: 20px;
    border-radius: 18px;
    background: #FFFAF5;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    box-shadow: 6px 6px 0 #d9d6c8;
    transition: all .25s ease;
    margin-bottom: 20px;
    justify-content: flex-start;
}

.mood-btn_link {
    display: block;
    width: 48%;
}

.mood-btn__text {
    margin: 10px 0 0 0;
    font-size: 17px;
    letter-spacing: 0.05em;
    line-height: 30px;
}

.mood-btn__img {
    height: 110px;
}

.mood-btn__img_small {
    height: 130px;
    margin-top: 13px;
}

.sec__sub_title_jp {
    margin: 50px 0 0 0;
    font-size: 22px;
    line-height: 24px;
}

.topInfomation__disease {
    display: flex;
    flex-wrap: wrap;
    padding-top: 50px;
    justify-content: space-between;
    width: 90%;
    margin: 0 auto;
    flex-direction: column;
}

.pill-disease {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 52px;
    font-size: 16px;
    letter-spacing: 0.05em;
    margin: 0 0 15px 0;
}

.pill-disease02 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48%;
    height: 50px;
    font-size: 14px;
    letter-spacing: 0.05em;
    margin: 0 0 15px 0;
}

.br_sp {
    display: block;
}

.br_pc {
    display: none;
}

.img_sp {
    display: block !important;
}

.img_pc {
    display: none !important;
}

.pill-btn__text {
    text-align: center;
    line-height: 1.4;
}

.pill-btn__arrow {
    right: 10px;
}

.topNews {
    display: none;
}

.topNews_sp {
    padding: 100px 0 0 0;
    display: block;
    position: relative;
}

.top_news_cnt {
    display: flex;
    flex-direction: column;
    width: 90%;
    margin: 0 auto;
}

.top_news_titleBox {
    padding-top: 0;
}

.sec__title_jp02 {
    font-size: 24px;
    text-align: center;
}

.sec__title_en02 {
    margin: 15px 0 0 0;
    text-align: center;
    font-size: 12px;
}

.pill-news {
    display: none;
}

.top_newsBox {
    padding-left: 0;
    width: 100%;
    margin: 50px 0 0 0;
}

.top_newsItem {
    gap: 20px;
    padding: 15px;
    display: flex;
    flex-direction: column;
}

.top_newsItem_date {
    font-size: 15px;
    line-height: 2;
}

.top_newsItem_title {
    font-size: 17px;
    line-height: 2;
}

.topContents {
    padding: 0 0 50px 0;
    position: relative;
    overflow: hidden;
}

.topContents_cardLink_wrap {
    padding-top: 50px;
    width: 90%;
    margin: 0 auto;
}

.cardLink {
    grid-template-columns: 96px 1fr;
    height: 96px;
    width: 100%;
}

.cardLink__main {
    background: #6B523A;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 0 18px;
    gap: 0;
    flex-direction: column;
}

.cardLink__title {
    font-size: 15px;
    line-height: 2;
}

.cardLink__right {
    gap: 30px;
}

.topInstagram {
    padding: 50px 0;
    background-color: #FFFAF5;
}

.top_insta_titleBox {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
}

.sec__title_insta01 {
    font-size: 24px;
    display: flex;
}

.sec__title_insta01 img {
    margin-right: 15px;
    width: 36px;
}

.sec__title_insta02 {
    margin: 30px 0 0 0;
}

.sec__title_insta02 img {
    margin-left: 10px;
    width: 30px;
}

.topInstagram__listBox {
    padding: 50px 0 0 0;
    width: 90%;
    margin: 0 auto;
}

.siteFooter {
    padding: 50px 0 0 0;
    width: 90%;
    margin: 0 auto;
}

.siteFooter__box {
    padding: 50px 15px;
}

.siteFooter__logoBox {
    width: 100%;
    margin: 0 auto;
}

.siteFooter__logo {
    display: flex;
    width: 100%;
    align-items: center;
    gap: 25px;
    flex-direction: column;
}

.siteFooter__logo img {
    height: 120px;
    width: auto;
}

.siteFooter__logo_text {
    font-size: 16px;
    text-align: center;
    margin: 0;
}

.siteFooter__top {
    grid-template-columns: 1fr;
    width: 100%;
    margin: 50px 0 0 0;
}

.siteFooter__addr {
    font-size: 16px;
    text-align: center;
}

.siteFooter__addr p {
    line-height: 2;
}

.siteFooter__tel {
    font-size: 18px;
    letter-spacing: 0.1em;
    line-height: 36px;
    text-align: center;
    margin: 50px 0 0 0;
}

.siteFooter__navArea {
    display: block;
    padding-left: 0;
}

.siteFooter__btn {
    display: block;
    width: 100%;
    margin: 50px auto 0 auto;
}

.siteFooter__nav {
    display: flex;
    gap: 40px;
    margin-top: 50px;
    justify-content: space-evenly;
    width: 100%;
}

.siteFooter__nav a {
    font-size: 16px;
}

.siteFooter__btnArea {
    display: none;
}

.siteFooter__btnArea_sp {
    display: block;
}

.siteFooter__btn_note {
    font-size: 16px;
}

.siteFooter__bottom {
    width: 100%;
    margin: 60px auto 0 auto;
}

.fullscreenMenu__nav {
    gap: 12px;
}

.hum_logo_box {
    width: 120px;
    margin: 0 auto 10px auto;
}

.fullscreenMenu__nav a {
    font-size: 16px;
}

.hero__kv_text {
    bottom: 5%;
    max-width: 64%;
}

.hero__kv_open_text {
    position: absolute;
    left: 50%;
    top: 48%;
    transform: translate(-50%,-50%);
    z-index: 2;
    width: 100%;
    max-width: 85%;
    height: auto !important;
    pointer-events: none;
}

.hero__kv_open_text img {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 0;
}

.top_sl_link_box_sp {
    display: flex;
    position: absolute;
    z-index: 99;
    left: 50%;
    bottom: 22%;
    transform: translate(-50%, -50%);
    width: 100%;
    margin: 0 auto;
    justify-content: space-between;
}

.top_sl_link_box_sp .circleCta {
    display: flex;
    text-align: center;
    justify-content: center;
    left: 0;
    right: auto;
}

.top_sl_link_box_sp .circleCta02 {
    display: flex;
    text-align: center;
    justify-items: center;
    bottom: 15%;
    right: 0;
    justify-content: center;
}

.circleCta img {
    width: 59%;
    height: auto;
}

.circleCta02 img {
    width: 59%;
    height: auto;
}

.lowerHeader {
    display: none;
}

.about_docter_box__inner {
    width: 90%;
}

.about_docter_box__cnt {
    margin: 30px 0 0 0;
}

.about_docter_box__cnt:nth-child(2) {
    margin: 60px 0 0 0;
    border-top: 1px solid #37291c63;
    padding-top: 60px;
}

.about_docter_box__item {
    display: flex;
    gap: 20px;
    flex-direction: column;
}

.about_docter_img {
    width: 75%;
    height: auto;
    margin: 0 auto;
}

.about_docter_box__messageText01 {
    font-size: 16px;
    line-height: 32px;
}

.about_docter_box__name01 {
    font-size: 16px;
}

.about_docter_box__name02 {
    font-size: 24px;
    line-height: 48px;
}

.about_docter_box__name03 {
    font-size: 16px;
    line-height: 1.5;
}

.about_docter_box__subTitle {
    font-size: 20px;
    margin: 50px 0 0 0;
}

.about_docter_box__text {
    font-size: 15px;
    line-height: 34px;
    margin: 10px 0 0 0;
}

.about_docter_box__line {
    padding-top: 10px;
}

.clinic_concept_box {
    width: 90%;
    padding: 0 0 50px 0;
}

.about_concept_box__inner {
    width: 100%;
}

.about_docter_title_jp {
    font-size: 26px;
    line-height: 50px;
    margin: 50px 0 0 0;
}

.clinic_concept_box__lead {
    font-size: 18px;
    line-height: 36px;
    margin: 50px 0 0 0;
    text-align: left;
}

.feature--right {
    width: 100%;
    padding: 0;
    margin: 50px 0 0 0;
    display: flex;
    flex-direction: column-reverse;
}

.feature__card {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    margin: 0 auto 18px;
    padding: 26px 18px;
    text-align: center;
    width: 100%;
    height: auto;
    min-height: auto;
}

.clinic_feature_cnt__item_text01 {
    font-size: 18px;
}

.clinic_feature_cnt__item_text02 {
    font-size: 18px;
    line-height: 34px;
    margin: 30px 0 0 0;
}

.clinic_feature_cnt__item_text03 {
    font-size: 16px;
    line-height: 32px;
    margin: 30px 0 0 0;
    text-align: left;
}

.feature--right .feature__media, .feature--left  .feature__media {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    border-radius: 10px;
    padding: 0;
    max-height: 400px;
    height: auto;
    margin: 0;
}

.feature__media img {
    width: 100%;
    height: auto;
    object-fit: scale-down;
    display: block;
    border-radius: 0 0 10px 10px;
}

.feature__card02 {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    margin: 0 auto 18px;
    padding: 26px 18px;
    text-align: center;
    width: 100%;
    height: auto;
    min-height: auto;
}

.feature {
    width: 100%;
    padding: 0;
    margin: 60px 0 0 0;
    display: flex;
    flex-direction: column-reverse;
}

.clinic_gallery_box {
    padding: 50px 0 0 0;
}

.clinic_gallery_image_box {
    margin: 50px 0 0 0;
}

.clinic_gallery_img {
    width: 48%;
}

.guide_info_box {
    position: relative;
    margin: 50px 0 0 0;
}

.guide_info_box__inner {
    width: 90%;
    padding: 50px 15px;
}

.guide_info_box_text01 {
    font-size: 24px;
    line-height: 48px;
    padding-bottom: 15px;
}

.guide_info_box_text02 {
    font-size: 16px;
    line-height: 32px;
}

.guide_info_box__inner__box {
    width: 100%;
    height: auto;
    padding: 20px;
}

.guide_info_box_text03 {
    font-size: 16px;
    line-height: 32px;
}

.guide_info_box02 {
    padding-top: 50px;
}

.guide_info_box__inner__box02 {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 50px;
    flex-direction: column;
}

.guide_info_box_text04 {
    font-size: 18px;
}

.guide_info_box__inner__box02_img {
    display: none;
}

.guide_info_box_text05 {
    font-size: 16px;
    line-height: 32px;
    margin: 30px 0 0 0;
    padding: 0;
}

.guide_flow_box {
    padding-top: 50px;
    padding-bottom: 50px;
}

.howto {
    width: 100%;
    margin: 50px auto 0 auto;
}

.step__no {
    width: 45px;
    height: 45px;
    font-size: 22px;
    line-height: 45px;
}

.step__ttl {
    font-size: 22px;
    line-height: 1.2;
}

.step__desc, .step__cta, .qrrow {
    padding-left: 0;
    font-size: 16px;
    line-height: 32px;
    margin: 30px 0 0 0;
}

.btn {
    width: 100%;
    height: 50px;
    font-size: 18px;
}

.qrrow {
    margin-top: 30px;
    flex-direction: column;
    align-items: center;
    display: flex;
    gap: 15px;
}

.qrrow__label {
    gap: 10px;
    font-size: 18px;
    line-height: 40px;
}

.howto__divider {
    margin: 50px 0;
}

.step__desc02 {
    font-size: 16px;
    line-height: 32px;
    margin: 50px 0 0 0;
}

.guide_pay_box {
    padding: 50px 0 0 0;
}

.guide_pay_box_text01 {
    margin: 50px 0 50px 0;
    font-size: 18px;
    line-height: 36px;
}

.k-tab__panels {
    background: #F5E9D9;
    border-radius: 0 0 10px 10px;
    padding: 50px 0 20px 0;
}

.k-tab__grid {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0 auto;
    justify-content: space-between;
    flex-direction: column;
}

.k-tab__col {
    display: grid;
    gap: 30px;
    width: 90%;
    margin-bottom: 30px;
}

.k-tab__item {
    font-size: 18px;
}

.mood-card__inner {
    padding: 50px 15px;
    width: 90%;
}

.mood-card__title {
    font-size: 24px;
    line-height: 40px;
}

.mood-card__text {
    font-size: 16px;
    line-height: 32px;
}

.depression-section {
    padding: 50px 0 50px 0;
}

.medical_box__title_jp {
    font-size: 24px;
}

.depression-section__inner {
    width: 90%;
}

.depression-section__top {
    display: flex;
    gap: 20px;
    align-items: start;
    margin-bottom: 30px;
    padding-top: 50px;
    flex-direction: column;
}

.depression-section__title {
    margin: 0 0 30px 0;
    font-size: 22px;
    line-height: 1.6;
}

.depression-section__text p {
    font-size: 16px;
    line-height: 32px;;
}

.depression-section__image {
    height: 280px;
    overflow: hidden;
    border-radius: 20px;
}

.depression-section__image img {
    padding-top: 20px;
}

.depression-symptoms {
    padding: 50px 15px;
    margin: 0 0 50px;
}

.depression-symptoms__list li {
    font-size: 16px;
    line-height: 32px;
}

.depression-symptoms__line {
    margin: 15px 0;
}

.depression-section__note {
    margin: 0 0 50px;
    font-size: 16px;;
}

.medical02_padding {
    padding: 50px 0 0 0;
}

.medical_detail-inner {
    width: 90%;
    padding: 30px;
}

.consult-title {
    font-size: 24px;
    line-height: 50px;
}

.medical_detail_text01 {
    font-size: 16px;
    line-height: 32px;
    margin: 30px auto 0 auto;
    width: 100%;
}

.pageHeader_headache {
    padding: 96px 0 50px;
}

.headache_box {
    padding-bottom: 50px;
}

.headache_box__inner {
    width: 90%;
}

.headache-consult__lead p:first-child {
    margin-bottom: 50px;
}

.headache-consult__lead_text {
    font-size: 16px;
    line-height: 32px;
    text-align: left;
}

.headache-consult__heading-wrap {
    margin: 50px auto 0 auto;
}

.headache-consult__heading {
    font-size: 18px;
    line-height: 46px;
}

.headache-flow__item {
    font-size: 16px;
}

.headache_flow_box {
    margin: 0 auto;
    padding: 50px 0 0 0;
    width: 90%;
}

.request-box2__title span {
    padding: 0 35px;
    font-size: 20px;
}

.request-box2__frame {
    padding: 60px 30px;
}

.request-box2__list li {
    position: relative;
    padding-left: 26px;
    margin: 0 0 18px;
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 32px;
    text-align: left;
    color: #37291c;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.request-box2__list li::before {
    top: 18px;
    width: 20px;
    height: 20px;
}

.marker::after {
    bottom: 2px;
    height: 5px;
}

.request-box2__list li img {
    padding-right: 0;
    width: 90%;
    margin-top: -5px;
}

.request-box2__list li:last-child {
    display: block;
}

.request-box2 {
    margin: 0 auto 50px;
}

.request-reserve__btn {
    display: flex;
    align-items: center;
    gap: 18px;
    width: 100%;
    min-height: 90px;
    padding: 18px 18px 18px 80px;
    background: #96BC5C;
    color: #fff;
    text-decoration: none;
    border-radius: 10px;
    box-sizing: border-box;
    transition: opacity 0.25s ease;
    justify-content: center;
}

.request-reserve__btn-text {
    font-weight: 600;
    font-size: 22px;
    letter-spacing: 0.1em;
    line-height: 1;
    text-align: center;
    color: #fff8ee;
}

.headache_flow_box__inner {
    margin: 100px auto 0 auto;
    width: 100%;
}

.flow-title {
    margin-bottom: 100px;
}

.flow-title h2 {
    font-size: 24px;
    line-height: 50px;
}

.flow-title p {
    font-size: 14px;
}

.flow-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 100px;
}

.flow-card {
    padding: 60px 30px 30px 30px;
}

.flow-step {
    top: -42px;
    width: 85px;
    height: 85px;
}

.flow-step span {
    font-size: 13px;
    line-height: 1;
}

.flow-step strong {
    font-size: 35px;
    line-height: 40px;
}

.flow-icon {
    margin: 20px 0 30px 0;
}

.flow-icon img {
    width: 70px;
}

.flow-text {
    font-size: 18px;
}

.flow-list li {
    font-size: 16px;
    line-height: 32px;
}

.flow-list li::before {
    width: 18px;
    height: 18px;
    top: 10px;
}

.flow-text02 {
    font-size: 18px;
    line-height: 36px;
}

.pillars-circle {
    padding: 100px 0;
}

.pillars-circle-title h2 {
    font-size: 24px;
    line-height: 50px;
}

.pillars-circle-title p {
    font-size: 14px;
}

.pillars-circle__wrap {
    display: flex;
    align-items: center;
    margin: 0 auto 50px;
    position: relative;
    justify-content: space-between;
    flex-direction: column;
}

.pillars-circle__item {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    box-sizing: border-box;
    padding: 20px;
    position: relative;
}

.pillars-circle__title {
    font-size: 22px;
    line-height: 60px;
    margin: 34px 0 0 0;
}

.pillars-circle__lead {
    margin: 0 0 20px;
    font-size: 16px;
    line-height: 32px;
}

.pillars-circle__item--right {
    margin-top: -50px;
    margin-left: 0;
}

.pillars-circle__list_last {
    padding-top: 0;
}

.pillars-circle__foot {
    font-size: 16px;
    line-height: 32px;
}

.pillars-circle__list li {
    position: relative;
    margin: 0;
    padding-left: 30px;
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 32px;
    text-align: left;
    color: #37291c;
}

.pillars-circle__list li::before {
    top: 17px;
    width: 16px;
    height: 16px;
}

.goal-box {
    margin: 0 auto 50px;
    border: 3px solid #6B523A;
    border-radius: 12px;
    padding: 50px 30px;
    position: relative;
}

.goal-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 20px;
}

.goal-title h2 {
    margin: 0;
    font-size: 22px;
    letter-spacing: 0.05em;
    line-height: 40px;
    text-align: center;
    color: #37291c;
    border: 0;
}

.goal-list li {
    position: relative;
    padding-left: 32px;
    margin-bottom: 18px;
    font-weight: normal;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 32px;
    text-align: left;
    color: #37291c;
}

.goal-list li::before {
    width: 18px;
    height: 18px;
    left: 0;
    top: 8px;
}

.goal-list_img {
    position: relative;
    right: auto;
    left: 50%;
    bottom: 0;
    width: 150px;
    height: auto;
}

.goal-text p {
    font-size: 16px;
    line-height: 36px;
    text-align: left;
}

.access_info_box {
    position: relative;
    padding-top: 50px;
}

.access_info_box__inner {
    max-width: 1080px;
    width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}

.access_info_box__text01 {
    font-size: 18px;
    line-height: 32px;
    margin: 20px 0 0 0;
}

.access_info_box__text02 {
    font-size: 18px;
    line-height: 32px;
}

.access_info_box__tel {
    margin: 20px 0 0 0;
}

.access_info_box__tel a {
    font-weight: 600;
    font-size: 20px;
}

.access_info_box__textBox {
    position: relative;
    text-align: center;
    margin-bottom: 30px;
}

.access_info_box__gmapBox {
    margin: 0 auto;
    width: 90%;
}

.faq__title {
    font-size: 22px;
    line-height: 1.6;
}

.faq__inner {
    width: 90%;
}

.page-anchor {
    gap: 18px 24px;
    margin: 50px auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.anchor-item {
    font-size: 16px;
}

.anchor-item .line{
  width:24px;
}

.faq-q__lead {
    font-size: 16px;
    line-height: 28px;
}

.faq-q__text {
    font-weight: normal;
    font-size: 16px;
    line-height: 28px;
}

.faq-a__lead {
    font-size: 16px;
}

.faq-a__text {
    font-size: 16px;
    line-height: 28px;
}

.faq__list {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin: 70px 0 100px 0;
    position: relative;
}

.anchor-offset::before {
    content: "";
    display: block;
    height: 90px;
    margin-top: -90px;
    visibility: hidden;
    pointer-events: none;
}

.medical__lead {
    font-size: 16px;
    line-height: 32px;
    margin: 50px auto;
    width: 90%;
}

.ctb__inner {
    width: 90%;
    margin: 0 auto;
}

.ctb__title {
    font-size: 24px;
    line-height: 48px;
    margin: 50px 0 0 0;
}

.ctb__inner_cnt {
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
    flex-direction: column;
}

.ctb__inner_text_box01 {
    width: 100%;
    padding-right: 0;
    font-size: 16px;
    line-height: 32px;
}

.ctb__inner_img_box {
    display: block;
    height: 300px;
    overflow: hidden;
    margin-top: 30px;
}

.ctb__inner_text_box02 {
    font-size: 16px;
    line-height: 32px;
    margin: 30px 0 0 0;
}

}

/* 初期は非表示 */
.tel-fixed{
  display:none;
}

/* スマホのみ表示 */
@media (max-width: 767px){

.tel-fixed{
  display:block;
  position:fixed;
  bottom:0;
  left:0;
  width:100%;
  z-index:9999;
  background:#9bc057;
}

/* ボタン */
.tel-fixed__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 10px;
    text-decoration: none;
    color: #37291c;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.tel-fixed__btn:hover {
    color: #37291c;
}

/* アイコン */
.tel-fixed__icon{
  font-size:18px;
}

/* タップ感 */
.tel-fixed__btn:active{
  opacity:0.8;
}

.headache-flow__illust {
    display: none;
}

.headache-flow__illust_sp {
    display: block;
    margin: 0 auto;
}

}

.sp-fixed-cta {
    display: none;
}

@media (max-width: 767px){
  .sp-fixed-cta{
    display:flex;
    position:fixed;
    left:0;
    bottom:0;
    width:100%;
    z-index:9999;
    box-shadow:0 -4px 16px rgba(0,0,0,0.12);
    opacity:0;
    visibility:hidden;
    transform:translateY(20px);
    pointer-events:none;
    transition:
    opacity 0.4s ease,
    transform 0.4s ease,
    visibility 0.4s ease;
  }

  .sp-fixed-cta.is-show{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
  }

  .sp-fixed-cta__btn{
    /* flex:1; */
    min-width:0;
    min-height:64px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:10px 12px;
    text-decoration:none;
    box-sizing:border-box;
  }

  .sp-fixed-cta__btn--tel{
    background:#7b5b3d;
    color:#fff;
    width: 60%;
  }

  .sp-fixed-cta__btn--web{
    background:#9bc057;
    color:#fff;
    width: 40%;
  }

  .sp-fixed-cta__icon{
    flex:0 0 auto;
    font-size:18px;
    line-height:1;
  }

  .sp-fixed-cta__icon{
  color:#fff; /* ←これで白になる */
  display:flex;
  align-items:center;
}

.sp-fixed_webYoyaku{
    width: 22px;
}


  .sp-fixed-cta__label{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    line-height:1.2;
  }

  .sp-fixed-cta__label small{
    display:block;
    font-size:12px;
    font-weight:400;
    letter-spacing:0.04em;
    opacity:0.95;
  }

.sp-fixed-cta__label strong {
    display: block;
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.08em;
}

  body{
    padding-bottom:64px;
  }

.marker_bold::after {
    display: none;
}

.headache-consult__lead_head {
    font-size: 22px;
    padding: 0 0 10px 0;
    line-height: 2;
    background: radial-gradient(circle at calc(100% - 4px) calc(100% - 4px), #83AF40 4px, transparent 4px) ,
              radial-gradient(circle at 4px calc(100% - 4px), #83AF40 4px, transparent 4px) ,
              linear-gradient(to bottom, #FBF2E5 calc(100% - 8px), transparent calc(100% - 8px)) ,
              linear-gradient(to right, transparent 4px, #83AF40 4px, #83AF40 calc(100% - 4px), transparent calc(100% - 4px));
    display: inline;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

}