@charset "UTF-8";
#wpadminbar {
  display: none;
}

/* 汎用：凍結見た目（任意） */
/* ① 特定のクラスがついているリンク（or 親にクラス） */
a.is-frozen,
.freeze a,
a[data-freeze="1"],
.line,
.btn_line a,
.rsv,
.btn_rsv a,
.faq,
.medical_devices a {
  pointer-events: none;
}

/* ② 特定ディレクトリを含むリンクを凍結（例） */
a[href*="/case_photos/"],
a[href*="/price/"] {
  pointer-events: none;
}

/* ③ ②の中でも“公開したい”例外を許可
   ──書き方1：:not() で除外 */
a[href*="/skin_trouble/"]:not([href*="/skin_trouble/melasma/"]) {
  pointer-events: none;
}

/* ③ 例外を後勝ちで“再有効化”（:not()がややこしい時はこちら）
   ──このブロックは ② より後に置く */
/* ④ リンク先が特定パス（./rsv/ など）
   相対/絶対/末尾/index.html まで面倒見たい場合の例 */
/* ④ でも “この1件だけは公開したい”（再有効化） */
:root {
  --main-bg-color: brown;
}

/* ----------------------------------------------------------------------------------
リセット　_reset.scss
---------------------------------------------------------------------------------- */
html {
  box-sizing: border-box;
}

*, *::before, *::after {
  box-sizing: inherit;
}

ol, ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  font-weight: normal;
  font-size: inherit;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* ----------------------------------------------------------------------------------
モジュール　_module.scss
---------------------------------------------------------------------------------- */
/* clearfix -------------------------------------- */
.cf::before,
.cf::after {
  content: "";
  display: block;
}

.cf::after {
  clear: both;
}

/* float -------------------------------------- */
.fl_l {
  float: left;
}

.fl_r {
  float: right;
}

/* txt -------------------------------------- */
.txt_c {
  text-align: center;
}

.txt_l {
  text-align: left;
}

.txt_r {
  text-align: right;
}

.size_l {
  font-size: 120%;
}

.size_s {
  font-size: 60%;
}

.bold {
  font-weight: bold;
}

/* 囲い文字 -------------------------------------- */
*[class*=frame_] {
  padding: 1rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 48em), print {
  *[class*=frame_] {
    padding: 2.4rem 2rem 2.4rem;
    margin-bottom: 3rem;
  }
}
*[class*=frame_].frame_01 {
  background: #222;
  border: 1px solid #222;
}
*[class*=frame_].frame_02 {
  background: #222;
  border: 1px solid #222;
}

/* img -------------------------------------- */
.img_c {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 1rem auto;
}

.img_l,
.img_r {
  display: block;
  max-width: 80%;
  height: auto;
  margin: 1rem auto;
}

@media screen and (min-width: 48em), print {
  .img_l {
    float: left;
    margin: 0 2rem 2rem 0;
  }
  .img_r {
    float: right;
    margin: 0 0 2rem 2rem;
  }
}
/* PC・SP　表示・非表示 -------------------------------------- */
.sp_n {
  display: none;
}

@media screen and (min-width: 48em), print {
  .sp_n {
    display: block;
  }
  .pc_n {
    display: none;
  }
}
/* マージン・パディング回り -------------------------------------- */
.mt40 {
  margin-top: 4rem;
}

.mt30 {
  margin-top: 3rem;
}

.mt20 {
  margin-top: 2rem;
}

.mt10 {
  margin-top: 1rem;
}

.wp-block-group > * > .wp-block-group:first-of-type {
  margin-top: 4rem;
}

.main > .wp-block-group ~ .wp-block-group,
.flex2 > .wp-block-group ~ .wp-block-group {
  margin-top: 6rem;
}

.main > .wp-block-group .wp-block-group ~ .wp-block-group,
.flex2 > .wp-block-group .wp-block-group ~ .wp-block-group {
  margin-top: 4rem;
}

.main > .wp-block-group > .wp-block-group .wp-block-group ~ .wp-block-group,
.flex2 > .wp-block-group > .wp-block-group .wp-block-group ~ .wp-block-group {
  margin-top: 3rem;
}

.main > .wp-block-group > .wp-block-group > .wp-block-group .wp-block-group ~ .wp-block-group,
.flex2 > .wp-block-group > .wp-block-group > .wp-block-group .wp-block-group ~ .wp-block-group {
  margin-top: 2rem;
}

@media screen and (min-width: 48em), print {
  .mt40 {
    margin-top: 8rem;
  }
  .mt30 {
    margin-top: 6rem;
  }
  .mt20 {
    margin-top: 4rem;
  }
  .mt10 {
    margin-top: 2rem;
  }
  .wp-block-group > * > .wp-block-group:first-of-type {
    margin-top: 6rem;
  }
  .main > .wp-block-group ~ .wp-block-group,
  .flex2 > .wp-block-group ~ .wp-block-group {
    margin-top: 10rem;
  }
  .main > .wp-block-group .wp-block-group ~ .wp-block-group,
  .flex2 > .wp-block-group .wp-block-group ~ .wp-block-group {
    margin-top: 8rem;
  }
  .main > .wp-block-group > .wp-block-group .wp-block-group ~ .wp-block-group,
  .flex2 > .wp-block-group > .wp-block-group .wp-block-group ~ .wp-block-group {
    margin-top: 6rem;
  }
  .main > .wp-block-group > .wp-block-group > .wp-block-group .wp-block-group ~ .wp-block-group,
  .flex2 > .wp-block-group > .wp-block-group > .wp-block-group .wp-block-group ~ .wp-block-group {
    margin-top: 4rem;
  }
}
/* タイムテーブル -------------------------------------- */
.wp-block-table.tbl_time {
  all: unset;
  display: table;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 1.4rem;
  table-layout: fixed;
}
.wp-block-table.tbl_time th,
.wp-block-table.tbl_time td {
  all: unset;
  display: table-cell;
  text-align: center;
  padding: 0;
  margin: 0;
  border: none;
  box-sizing: border-box;
}
.wp-block-table.tbl_time > table {
  width: 100%;
}
.wp-block-table.tbl_time > table + figcaption {
  text-align: left;
  margin-top: 1.4rem;
}
.wp-block-table.tbl_time > table + figcaption span {
  width: 7rem;
  display: inline-block;
  font-size: 1.2rem;
  text-align: center;
  border: 1px solid #a17c63;
  margin: 0 0 1rem;
  padding: 0.2rem 0.8rem;
  color: #a17c63;
}
.wp-block-table.tbl_time > table tbody tr th[scope=col] {
  padding: 0.4rem 0;
  color: #4d3b2f;
  font-size: 1.2rem;
  border-bottom: #4d3b2f 1px solid;
}
.wp-block-table.tbl_time > table tbody tr th[scope=col]:first-child {
  width: 35%;
}
.wp-block-table.tbl_time > table tbody tr th.time {
  color: #4d3b2f;
  background: none;
}
.wp-block-table.tbl_time > table tbody tr td {
  text-align: center;
  padding: 0.6rem 0.4rem;
  color: #a17c63;
  line-height: 1;
}
.wp-block-table.tbl_time > table tbody tr:last-child th,
.wp-block-table.tbl_time > table tbody tr:last-child td {
  border-bottom: #4d3b2f 1px solid;
}

@media screen and (min-width: 48em), print {
  .wp-block-table.tbl_time > table {
    font-size: 2rem;
  }
  .wp-block-table.tbl_time > table + figcaption {
    font-size: 1.8rem;
    margin: 2rem 0 0;
  }
  .wp-block-table.tbl_time > table + figcaption span {
    width: 11rem;
    font-size: 1.8rem;
    margin-right: 1.5rem;
    padding: 0 0.2rem;
  }
  .wp-block-table.tbl_time > table tbody tr th[scope=col] {
    padding: 0.2rem 0 1.2rem;
    font-size: 2rem;
  }
  .wp-block-table.tbl_time > table tbody tr th[scope=col]:first-child {
    width: 16.6rem;
  }
  .wp-block-table.tbl_time > table tbody tr:nth-child(2) th {
    padding: 1.3rem 0 1.3rem;
  }
  .wp-block-table.tbl_time > table tbody tr:nth-child(2) th:first-of-type {
    padding: 2.6rem 0 1.3rem;
  }
  .wp-block-table.tbl_time > table tbody tr:nth-child(2) th:first-of-type + td {
    padding: 2.6rem 0 1.3rem;
  }
  .wp-block-table.tbl_time > table tbody tr:nth-child(2) th:first-of-type + td ~ td {
    padding: 2.6rem 0 1.3rem;
  }
  .wp-block-table.tbl_time > table tbody tr:nth-child(3) th {
    padding: 1.3rem 0 2.6rem;
  }
  .wp-block-table.tbl_time > table tbody tr:nth-child(3) th + td {
    padding: 1.3rem 0 2.6rem;
  }
  .wp-block-table.tbl_time > table tbody tr:nth-child(3) th + td ~ td {
    padding: 1.3rem 0 2.6rem;
  }
  .wp-block-table.tbl_time > table tbody tr td {
    padding: 1rem 0;
  }
}
/* グーグルマップ -------------------------------------- */
.gmap {
  width: 100%;
}
.gmap iframe {
  width: 100%;
  height: 100%;
  border: none;
}

/* タイトル回り -------------------------------------- */
.tit_01 {
  background: url(../img/tit_01.jpg) no-repeat center top/cover;
  font-size: 2.2rem;
  font-weight: 500;
  color: #a17c63;
  padding: 3rem 1rem;
  margin: 0 0 3rem;
  text-shadow: 0 0 10px #ffffff, 0 0 10px #ffffff, 0 0 10px #ffffff, 0 0 10px #ffffff, 0 0 10px #ffffff;
  min-height: 14rem;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}

.subpage main h2,
.tit_02 {
  color: #4d3b2f;
  font-size: 2rem;
  text-align: center;
  font-weight: 500;
  margin: 0 auto 2.4rem;
  padding: 0;
  line-height: 1.2;
}
.subpage main h2 .eng_txt,
.tit_02 .eng_txt {
  font-size: 1.2rem;
  color: #cb8763;
  font-family: "Marcellus", serif;
  font-weight: 400;
  display: block;
  margin: 0.4rem auto 0;
}
.subpage main h2--type01,
.tit_02--type01 {
  position: relative;
}
.subpage main h2--type01::before, .subpage main h2--type01::after,
.tit_02--type01::before,
.tit_02--type01::after {
  content: "";
  font-family: "fontello";
  display: block;
  color: #e7c9ba;
  line-height: 0.4;
  font-size: 8rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.subpage main h2--type01::before,
.tit_02--type01::before {
  content: "\ecb8";
  left: 0;
}
.subpage main h2--type01::after,
.tit_02--type01::after {
  content: "\ecb9";
  right: 0;
}
.subpage main h2--type02,
.tit_02--type02 {
  position: relative;
}
.subpage main h2--type02::before, .subpage main h2--type02::after,
.tit_02--type02::before,
.tit_02--type02::after {
  content: "";
  font-family: "fontello";
  display: block;
  color: #e7c9ba;
  line-height: 0.4;
  font-size: 7rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.subpage main h2--type02::before,
.tit_02--type02::before {
  content: "\ecb2";
  left: 0;
}
.subpage main h2--type02::after,
.tit_02--type02::after {
  content: "\ecb3";
  right: 0;
}
.subpage main h2--type03,
.tit_02--type03 {
  position: relative;
  z-index: 1;
}
.subpage main h2--type03 .eng_txt,
.tit_02--type03 .eng_txt {
  font-family: "Allura", cursive;
  font-weight: 400;
  color: #eed6ca;
  font-size: 8rem;
  position: absolute;
  z-index: -1;
  left: -2rem;
  top: -3rem;
  pointer-events: none;
}
.subpage main h2--type04,
.tit_02--type04 {
  color: #4d3b2f;
  position: relative;
}
.subpage main h2--type04::after,
.tit_02--type04::after {
  content: "\ecc1";
  font-family: "fontello";
  display: block;
  color: #ccdbd9;
  line-height: 0.4;
  font-size: 10rem;
  position: absolute;
  top: 0.2rem;
  left: -2rem;
  pointer-events: none;
}
.subpage main h2--type04 .sub_tit,
.tit_02--type04 .sub_tit {
  display: block;
  color: #8daaa8;
  width: fit-content;
  font-size: 1.2rem;
  margin: 0.6rem auto 0;
  padding: 0 0.6rem;
  border-left: 1px solid #8daaa8;
  border-right: 1px solid #8daaa8;
}
.subpage main h2--type05,
.tit_02--type05 {
  color: #4d3b2f;
  position: relative;
}
.subpage main h2--type05::after,
.tit_02--type05::after {
  content: "\ecb7";
  font-family: "fontello";
  display: block;
  color: #e7c9ba;
  line-height: 0.4;
  font-size: 10rem;
  position: absolute;
  top: 0.2rem;
  right: -2rem;
  pointer-events: none;
}
.subpage main h2--type05 .sub_tit,
.tit_02--type05 .sub_tit {
  display: block;
  color: #cb8763;
  width: fit-content;
  font-size: 1.2rem;
  margin: 0.6rem auto 0;
  padding: 0 0.6rem;
  border-left: 1px solid #cb8763;
  border-right: 1px solid #cb8763;
}

.subpage main h2::before {
  content: "";
  display: block;
  margin: 0 auto 0.6rem;
  width: 3rem;
  height: 2px;
  background: #cb8763;
}

.subpage main h3,
.tit_03 {
  color: #a17c63;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.2;
  border-left: double 4px #cb8763;
  padding: 0.2rem 0 0.2rem 1rem;
  margin: 0 0 1.8rem;
}

.subpage main h4,
.tit_04 {
  color: #4d3b2f;
  border-bottom: 1px solid #4d3b2f;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.2;
  padding: 0 0 0.4rem;
  margin: 0 0 1rem;
}

.subpage main h5,
.tit_05 {
  color: #a17c63;
  font-size: 1.6rem;
  line-height: 1.2;
  padding-left: 1.8rem;
  margin: 0 0 1rem;
  position: relative;
}
.subpage main h5::before,
.tit_05::before {
  content: "\ecbd";
  font-family: "fontello";
  font-size: 1.2rem;
  position: absolute;
  left: 0;
  top: 0.4rem;
  color: #cb8763;
}

.subpage main h6,
.tit_05 {
  color: #4d3b2f;
  font-size: 1.6rem;
  line-height: 1.2;
  padding-left: 1.8rem;
  margin: 0 0 1rem;
  position: relative;
}
.subpage main h6::before,
.tit_05::before {
  content: "\ecbf";
  font-family: "fontello";
  font-size: 1rem;
  position: absolute;
  left: 0;
  top: 0.6rem;
  color: #4d3b2f;
}

@media screen and (min-width: 48em), print {
  .tit_01 {
    background: url(../img/tit_01.jpg) no-repeat center/auto auto;
    font-size: 4rem;
    min-height: 26rem;
    margin: 0;
  }
  .subpage main h2,
  .tit_02 {
    font-size: 3.8rem;
    margin: 0 0 2rem;
  }
  .subpage main h2 .eng_txt,
  .tit_02 .eng_txt {
    font-size: 2.2rem;
  }
  .subpage main h2--type01,
  .tit_02--type01 {
    font-size: 4rem;
    margin: 0 auto 8rem;
  }
  .subpage main h2--type01::before, .subpage main h2--type01::after,
  .tit_02--type01::before,
  .tit_02--type01::after {
    font-size: 39rem;
  }
  .subpage main h2--type01::before,
  .tit_02--type01::before {
    left: 0;
  }
  .subpage main h2--type01::after,
  .tit_02--type01::after {
    right: 0;
  }
  .subpage main h2--type02,
  .tit_02--type02 {
    font-size: 3.6rem;
    letter-spacing: 0.4rem;
    display: block;
    width: fit-content;
    margin: 0 auto 7.8rem;
  }
  .subpage main h2--type02::before, .subpage main h2--type02::after,
  .tit_02--type02::before,
  .tit_02--type02::after {
    font-size: 28rem;
  }
  .subpage main h2--type02::before,
  .tit_02--type02::before {
    right: calc(100% + 3.3rem);
    left: auto;
  }
  .subpage main h2--type02::after,
  .tit_02--type02::after {
    right: auto;
    left: calc(100% + 3.3rem);
  }
  .subpage main h2--type03,
  .tit_02--type03 {
    font-size: 4rem;
    position: relative;
    z-index: 1;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    letter-spacing: 1rem;
  }
  .subpage main h2--type03 .eng_txt,
  .tit_02--type03 .eng_txt {
    -ms-writing-mode: tb-r;
    writing-mode: horizontal-tb;
    font-size: 16.4rem;
    left: -32rem;
    top: -6rem;
    letter-spacing: 0.2rem;
  }
  .subpage main h2--type04,
  .tit_02--type04 {
    font-size: 4rem;
    letter-spacing: 0.2rem;
    margin: 0 auto 8rem;
  }
  .subpage main h2--type04::after,
  .tit_02--type04::after {
    font-size: 40rem;
    top: 0.2rem;
    left: 0;
  }
  .subpage main h2--type04 .sub_tit,
  .tit_02--type04 .sub_tit {
    font-size: 2.6rem;
    line-height: 1.1;
    margin: 2.4rem auto 0;
    padding: 0 2rem;
  }
  .subpage main h2--type05,
  .tit_02--type05 {
    font-size: 4rem;
    letter-spacing: 0.2rem;
    margin: 0 auto 8rem;
  }
  .subpage main h2--type05::after,
  .tit_02--type05::after {
    font-size: 40rem;
    top: 0.2rem;
    right: 0;
  }
  .subpage main h2--type05 .sub_tit,
  .tit_02--type05 .sub_tit {
    font-size: 2.6rem;
    line-height: 1.1;
    margin: 2.4rem auto 0;
    padding: 0 2rem;
  }
  .subpage main h2 {
    font-size: 3.6rem;
    margin: 0 0 4rem;
  }
  .subpage main h2::before {
    width: 8rem;
    margin: 0 auto 1.6rem;
  }
  .subpage main h3,
  .tit_03 {
    font-size: 3.2rem;
    margin: 0 0 4rem;
    padding-left: 1.8rem;
  }
  .subpage main h4,
  .tit_04 {
    font-size: 2.6rem;
    padding: 0 0 1.2rem;
    margin: 0 0 4rem;
  }
  .subpage main h5,
  .tit_05 {
    font-size: 2.2rem;
    margin: 0 0 4rem;
    padding-left: 2.4rem;
  }
  .subpage main h5::before,
  .tit_05::before {
    font-size: 1.4rem;
    top: 0.6rem;
  }
  .subpage main h6,
  .tit_06 {
    font-size: 2rem;
    margin: 0 0 3.2rem;
    padding-left: 2rem;
  }
  .subpage main h6::before,
  .tit_06::before {
    font-size: 1rem;
    top: 0.8rem;
  }
}
/* リスト回り -------------------------------------- */
.lst_ul01 > li {
  padding-left: 1.6rem;
  padding-bottom: 1rem;
  line-height: 1.4;
  position: relative;
}
.lst_ul01 > li:last-child {
  padding-bottom: 0;
}
.lst_ul01 > li::before {
  content: "\ecbd";
  color: #a17c63;
  font-family: "fontello";
  font-size: 1rem;
  position: absolute;
  left: 0;
  top: 0.3rem;
}
@media screen and (min-width: 48em), print {
  .lst_ul01 > li::before {
    top: 0.8rem;
  }
}
.lst_ul01 > li.none::before {
  content: none;
}
@media screen and (min-width: 48em), print {
  .lst_ul01.flex {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .lst_ul01.flex li {
    width: 49%;
  }
}
@media screen and (min-width: 48em), print {
  .lst_ul01.inline {
    gap: 0 2rem;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.lst_ul01 > .lst_ol01 {
  padding: 1rem 0 0 0;
}
.lst_ul01 > .lst_ol01 li::before {
  color: #4d3b2f;
}

.lst_ol01 {
  counter-reset: number;
  margin: 2rem 0 0;
}
.lst_ol01 li {
  counter-increment: number 1;
  padding-left: 2rem;
  padding-bottom: 1rem;
  line-height: 1.4;
  position: relative;
}
.lst_ol01 li:last-child {
  padding-bottom: 0;
}
@media screen and (min-width: 48em), print {
  .lst_ol01 li {
    padding-left: 2rem;
  }
}
.lst_ol01 li::before {
  display: inline-block;
  content: counter(number) ".";
  position: absolute;
  left: 0;
  top: 0;
}

.lst_dl01 dt {
  font-weight: bold;
  margin: 0 0 0.4rem;
  padding: 0;
}
.lst_dl01 dd {
  margin: 0 0 2rem;
  padding: 0;
}

@media screen and (min-width: 48em), print {
  .lst_dl01 {
    display: grid;
    grid-template-columns: 16rem 1fr; /* 左右2列のグリッド */
    gap: 1rem 1em; /* 行間・列間 */
  }
  .lst_dl01 dt {
    margin: 0;
    grid-column: 1;
  }
  .lst_dl01 dd {
    margin: 0;
    grid-column: 2;
  }
}
/* フレックス回り -------------------------------------- */
.flex3 {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex3 > li {
  width: 46%;
}

@media screen and (min-width: 48em), print {
  .flex2 {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .flex2 > section,
  .flex2 > li {
    width: 48%;
    margin: 0 !important;
  }
  .flex3 li {
    width: 31%;
  }
}
/* リンク -------------------------------------- */
*[class*=btn_] a {
  background: #fff;
  color: #4d3b2f;
  border: 2px solid #4d3b2f;
  text-align: center;
  padding: 1rem 4rem;
  border-radius: 200px;
  display: inline-block;
  text-decoration: none !important;
  position: relative;
}
*[class*=btn_] a::after {
  content: "\ecb5";
  font-family: "fontello";
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
@media screen and (min-width: 48em), print {
  *[class*=btn_] a {
    padding: 1.6rem 4rem;
    line-height: 1.4;
    border-radius: 150px;
    min-width: 28.5rem;
  }
  *[class*=btn_] a::after {
    font-size: 2rem;
    right: 1.2rem;
  }
}
*[class*=btn_][class*="--green"] a {
  overflow: hidden;
  color: #fff;
  background-color: #84b37f;
  background-image: url(../img/btn_parts01.png);
  background-repeat: repeat;
  background-position: center;
  background-size: auto 8rem;
  border: none;
}
*[class*=btn_][class*="--green"] a::after {
  content: none;
}
*[class*=btn_][class*="--blue"] a {
  overflow: hidden;
  color: #fff;
  background-color: #7f9eb3;
  background-image: url(../img/btn_parts01.png);
  background-repeat: repeat;
  background-position: center;
  background-size: auto 8rem;
  border: none;
}
*[class*=btn_][class*="--blue"] a::after {
  content: none;
}
*[class*=btn_][class*="--white"] a {
  color: #fff;
  background-color: unset;
  border: 2px solid #fff;
}
*[class*=btn_][class*="--white"] a::after {
  color: #fff;
}

.btn_center {
  text-align: center;
}

.btn_sp-center_pc-left {
  text-align: center;
}
@media screen and (min-width: 48em), print {
  .btn_sp-center_pc-left {
    text-align: left;
  }
}

.flex_btn > * {
  margin: 1.6rem 0 0;
  text-align: center;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
}
@media screen and (min-width: 48em), print {
  .flex_btn > * {
    margin: 2rem 0 0;
    -webkit-flex-direction: row;
    flex-direction: row;
    gap: 0 2rem;
  }
}

.txt_link {
  color: #222;
  text-decoration: none !important;
  border-bottom: 1px solid #222;
}
.txt_link:hover {
  opacity: 0.8;
  border-bottom: none;
}

/* ページ内アンカーリンク -------------------------------------- */
.lst_anc {
  margin: 0 0 6rem;
}
.lst_anc li {
  margin: 0 0 1rem;
}
.lst_anc li a {
  display: block;
  border-bottom: 1px solid #4d3b2f;
  position: relative;
  padding: 0.2rem 0;
  padding-left: 1.4rem;
  text-decoration: none !important;
}
.lst_anc li a::before {
  content: "\ecb6";
  font-family: "fontello";
  position: absolute;
  top: 0.4rem;
  left: 0;
}
@media screen and (min-width: 48em), print {
  .lst_anc {
    margin: 0 0 12rem;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: flex-end;
    gap: 3rem 2rem;
  }
  .lst_anc li {
    margin: 0;
  }
  .lst_anc li a {
    padding-left: 2.4rem;
  }
}

/* フローチャート -------------------------------------- */
.flow li {
  padding: 1.6rem;
  margin: 0 0 6rem;
  border: 1px solid #4d3b2f;
  position: relative;
}
.flow li:last-child {
  margin: 0;
}
@media screen and (min-width: 48em), print {
  .flow li {
    border: 2px solid #4d3b2f;
    margin: 0 0 7rem;
    padding: 2.2rem 3rem 3rem;
  }
}
.flow li:not(:last-child)::after {
  display: block;
  width: 0;
  height: 0;
  content: "";
  position: absolute;
  bottom: -5rem;
  left: 0;
  right: 0;
  border-top: 2rem solid #a17c63;
  border-right: 4rem solid transparent;
  border-bottom: 1rem solid transparent;
  border-left: 4rem solid transparent;
  margin: auto;
}
@media screen and (min-width: 48em), print {
  .flow li:not(:last-child)::after {
    border-right: 7rem solid transparent;
    border-left: 7rem solid transparent;
    border-top: 3rem solid #a17c63;
    bottom: -6rem;
  }
}

/* テーブル -------------------------------------- */
.tbl_low,
.subpage .main figure:not(.tbl_time) table {
  table-layout: fixed;
  border-collapse: collapse;
  width: 100%;
  margin: 0 0 4rem;
}
.tbl_low thead,
.subpage .main figure:not(.tbl_time) table thead {
  border-bottom: none;
}
.tbl_low thead tr th,
.subpage .main figure:not(.tbl_time) table thead tr th {
  text-align: center;
  padding: 0.8rem 1rem;
  background: #a17c63;
  color: #fff;
  border-right: 1px solid #ffffff;
}
.tbl_low thead tr th:first-child,
.subpage .main figure:not(.tbl_time) table thead tr th:first-child {
  width: 30%;
}
@media screen and (min-width: 48em), print {
  .tbl_low thead tr th,
  .subpage .main figure:not(.tbl_time) table thead tr th {
    padding: 2rem 2rem;
  }
}
.tbl_low tbody tr th,
.subpage .main figure:not(.tbl_time) table tbody tr th {
  width: 30%;
  padding: 0.8rem;
  background: #fff5ee;
  color: #a17c63;
  text-align: center;
  font-weight: normal;
  border: 1px solid #c0beb1;
}
@media screen and (min-width: 48em), print {
  .tbl_low tbody tr th,
  .subpage .main figure:not(.tbl_time) table tbody tr th {
    padding: 2rem 2rem;
  }
}
.tbl_low tbody tr td,
.subpage .main figure:not(.tbl_time) table tbody tr td {
  padding: 0.8rem 1rem;
  border: 1px solid #c0beb1;
}
@media screen and (min-width: 48em), print {
  .tbl_low tbody tr td,
  .subpage .main figure:not(.tbl_time) table tbody tr td {
    padding: 2rem 2rem;
  }
}
.tbl_low tbody tr td:first-child,
.subpage .main figure:not(.tbl_time) table tbody tr td:first-child {
  width: 30%;
  padding: 0.8rem;
  background: #fff5ee;
  color: #a17c63;
  text-align: center;
  font-weight: normal;
  border: 1px solid #c0beb1;
}
@media screen and (min-width: 48em), print {
  .tbl_low tbody tr td:first-child,
  .subpage .main figure:not(.tbl_time) table tbody tr td:first-child {
    padding: 2rem 2rem;
  }
}

.tbl_access {
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0.2rem;
  width: 100%;
}
.tbl_access tr th {
  width: 37%;
  background: #d9edac;
  text-align: center;
  font-weight: normal;
  padding: 0.8rem;
}
.tbl_access tr td {
  padding: 0.8rem;
}

@media screen and (min-width: 48em), print {
  .tbl_access tr th {
    width: 30%;
  }
}
/* ----------------------------------------------------------------------------------
共通　_common.scss
---------------------------------------------------------------------------------- */
html {
  font-size: 3.125vw;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 500;
  scroll-behavior: smooth;
  scroll-padding-top: 60px;
  margin-top: 0 !important;
}
@media screen and (min-width: 48em), print {
  html {
    scroll-padding-top: 100px;
  }
}

body {
  background: #fff;
  color: #4d3b2f;
}

a {
  color: inherit;
  text-decoration: none;
}

.wrap {
  padding: 0 2rem 0;
}

.overflow {
  overflow-x: hidden;
}

.main {
  font-size: 1.4rem;
  line-height: 1.6;
  padding: 0 0 6rem;
}
.main a:not([href*=tel]) {
  text-decoration: underline;
}
.main a[class*=btn_] {
  text-decoration: none;
}

@media screen and (min-width: 48em), print {
  html {
    font-size: 62.5%;
  }
  body {
    min-width: 1220px;
  }
  body > .wrap {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    margin: 10rem auto 0;
  }
  a {
    transition: 0.2s;
  }
  a:hover {
    opacity: 0.8;
  }
  .wrap {
    width: 1200px;
    margin: 0 auto;
    padding: 0;
  }
  .main {
    font-size: 1.8rem;
    padding: 0 0 10rem;
    width: 100%;
  }
}
/* アイコンフォント -------------------------------------- */
@font-face {
  font-family: "fontello";
  src: url("fontello/font/fontello.eot");
  src: url("fontello/font/fontello.eot#iefix") format("embedded-opentype"), url("fontello/font/fontello.woff2") format("woff2"), url("fontello/font/fontello.woff") format("woff"), url("fontello/font/fontello.ttf") format("truetype"), url("fontello/font/fontello.svg#fontello") format("svg");
}
/* ヘッダー -------------------------------------- */
.header .wrap {
  margin: 2.6rem 1rem 1rem;
}
.header .wrap .logo {
  height: 3rem;
}
.header .wrap .logo a {
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/logo.svg) no-repeat left center/contain;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.header .wrap .headR {
  color: #4d3b2f;
  margin: 2rem 0 0;
}
.header .wrap .headR ul li {
  position: relative;
  padding-left: 1.8rem;
  margin-bottom: 0.4rem;
}
.header .wrap .headR ul li::before {
  content: "";
  font-family: "fontello";
  position: absolute;
  left: 0;
  top: 0;
  color: #a17c63;
  font-weight: normal;
}
.header .wrap .headR ul li.head_address::before {
  content: "\ecaf";
}
.header .wrap .headR ul li.head_access::before {
  content: "\ecb0";
}

@media screen and (min-width: 48em), print {
  .header .wrap {
    margin: 0 auto 0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
  }
  .header .wrap .logo {
    width: 51rem;
    height: 8rem;
  }
  .header .wrap .headR {
    flex: auto;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
  }
  .header .wrap .headR ul li {
    font-size: 1.6rem;
    padding-right: 3rem;
    margin-bottom: 1rem;
  }
  .header .wrap .headR ul li:last-child {
    margin-bottom: 0;
  }
}
/* SP ドロップダウンメニュー -------------------------------------- */
#menu {
  z-index: 9999;
  width: 100%;
  height: 0;
  text-align: center;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
#menu .fixed_menu_btn {
  width: 6rem;
  height: 5.6rem;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding: 0.4rem 0.4rem;
  position: fixed;
  top: 1.4rem;
  right: 1rem;
  z-index: 204;
}
#menu .fixed_menu_btn .hamburger {
  height: 100%;
}
#menu .fixed_menu_btn .hamburger a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-direction: column;
  flex-direction: column;
  gap: 0.4rem 0;
  padding: 0.8rem 0rem;
  height: 100%;
  text-decoration: none;
  background: #b39480;
  color: #fff;
  font-size: 1.2rem;
  border-radius: 5px;
}
#menu .fixed_menu_btn .hamburger a::before {
  content: "\e971";
  font-family: "fontello";
  font-size: 2rem;
  line-height: 0.8;
}
#menu .fixed_menu_btn.active .hamburger a::before {
  content: "\e970";
}
#menu #nav {
  display: block;
  visibility: hidden;
  top: 0;
  right: -27rem;
  opacity: 0;
}
#menu #nav.sp_nav {
  width: 27rem;
  height: 100%;
  padding: 4rem 2rem 6rem;
  background-color: white;
  overflow-y: scroll;
  transition: all 0.5s;
  position: fixed;
  left: auto !important;
  z-index: 203;
}
#menu #nav.sp_nav.open {
  visibility: visible;
  opacity: 1;
  right: 0;
}
#menu #nav.sp_nav ul {
  display: block;
  font-size: 1.2rem;
}
#menu #nav.sp_nav ul li {
  text-align: left;
  margin: 0;
  border-bottom: 1px solid #c0beb1;
}
#menu #nav.sp_nav ul li a {
  display: block;
  padding: 1.2rem 1.2rem 1.2rem;
  color: #4d3b2f;
  text-decoration: none !important;
}
#menu #nav.sp_nav ul li a.sub {
  position: relative;
}
#menu #nav.sp_nav ul li a.sub::after {
  content: "\ecb1";
  font-family: "fontello";
  font-size: 1.2rem;
  display: inline-block;
  transition: transform 0.2s;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  right: 1rem;
}
#menu #nav.sp_nav ul li a.sub.close::after {
  transform: translateY(-50%) rotate(180deg);
}
#menu #nav.sp_nav ul li a.sub + .subnav {
  display: none;
}
#menu #nav.sp_nav ul li a.sub + .subnav ul {
  background: #fff5ee;
  margin: 0.8rem 0 0.8rem;
  padding: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#menu #nav.sp_nav ul li a.sub + .subnav ul li {
  width: 100%;
  border-bottom: 1px solid #c0beb1;
  text-align: center;
}
#menu #nav.sp_nav ul li a.sub + .subnav ul li:last-child {
  border-bottom: none;
}
#menu .overlay {
  content: "";
  display: block;
  width: 0;
  height: 0;
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 201;
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
#menu .overlay.open {
  width: 100%;
  height: 100vh;
  opacity: 1;
}

@media screen and (min-width: 48em), print {
  .fixed_menu_btn {
    display: none;
  }
  #menu {
    display: block;
    height: auto;
    /* Gナビ　ハイライト */
  }
  #menu.overlay {
    display: none;
  }
  #menu #nav {
    all: unset;
    display: block;
    background: #fff;
    position: relative;
    z-index: 200;
  }
  #menu #nav.fixed {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
  }
  #menu #nav .gnav {
    width: 1200px;
    margin: auto;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding: 2rem 0;
  }
  #menu #nav .gnav > li {
    width: auto;
    flex: auto;
    position: relative;
  }
  #menu #nav .gnav > li::before, #menu #nav .gnav > li:first-child::after {
    content: "";
    display: block;
    width: 1px;
    height: 2rem;
    background: #c0beb1;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    right: 0;
  }
  #menu #nav .gnav > li:first-child::after {
    right: auto;
    left: 0;
  }
  #menu #nav .gnav > li > a {
    height: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    text-align: center;
    font-size: 1.6rem;
  }
  #menu #nav .gnav > li > a.sub::after {
    content: "\ecb1";
    font-family: "fontello";
    margin-left: 0.6rem;
    font-size: 1.2rem;
    display: inline-block;
    transition: transform 0.2s;
    position: relative;
    top: 0.2rem;
  }
  #menu #nav .gnav > li > a.sub.close::after {
    transform: rotate(180deg);
    top: 0;
  }
  #menu #nav .gnav > li > a.home {
    position: relative;
  }
  #menu #nav .gnav > li > a.home::before {
    content: "\ecae";
    font-family: "fontello";
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
  }
  #menu #nav .gnav > li > a.home span {
    display: none;
  }
  #menu #nav .gnav > li > .subnav {
    width: 22rem;
    padding: 0;
    display: none;
    position: absolute;
    top: calc(100% + 2rem);
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.16);
  }
  #menu #nav .gnav > li > .subnav ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #menu #nav .gnav > li > .subnav ul li {
    width: 100%;
    border-bottom: 1px solid #c0beb1;
  }
  #menu #nav .gnav > li > .subnav ul li:last-child {
    border-bottom: none;
  }
  #menu #nav .gnav > li > .subnav ul li a {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
    font-size: 1.8rem;
    padding: 2rem 0;
    text-align: center;
    transition: all 0.4s;
    color: #4d3b2f;
  }
  #menu #nav .gnav > li > .subnav ul li a:hover {
    color: #a17c63;
    background: #fff5ee;
  }
  #menu #nav .gnav > li.sp_n {
    display: none;
  }
}
/* クリニック概要 -------------------------------------- */
.overview {
  padding: 0 1rem 2rem;
  font-size: 1.4rem;
  line-height: 1.6;
  background: #fff5ee;
  position: relative;
}
.overview::before {
  content: "";
  display: block;
  width: 100%;
  height: 3rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2000 110'%3E%3Cpath id='wave-top' d='M1333.33,44.082C1000,44.082,1000.01,0,666.67,0S0,22.03,0,22.03V110H2000V22.03s-333.34,22.052-666.67,22.052' transform='translate(0 0.001)' fill='%23fff5ee'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover; /* または contain、または 100% 200px など調整 */
  position: absolute;
  top: -3rem;
  left: 0;
}
.overview .clinic_name {
  text-align: center;
  margin: 0 0 2rem;
}
.overview .clinic_name img {
  max-width: 80%;
  height: auto;
}
.overview > .wrap .overviewL .tbl_gaiyo {
  width: 100%;
  border-collapse: collapse;
}
.overview > .wrap .overviewL .tbl_gaiyo th {
  display: block;
  color: #a17c63;
  width: 100%;
  text-align: left;
  padding: 0.2rem 0.6rem;
  border-left: 1px solid #cb8763;
}
.overview > .wrap .overviewL .tbl_gaiyo td {
  display: block;
  padding: 0.6rem 0.6rem;
  margin: 0 0 0.8rem;
}
.overview > .wrap .overviewL .overview_link {
  position: relative;
}
.overview > .wrap .overviewL .overview_link .tel_rsv {
  margin: 0 0 2rem;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  flex-direction: column;
  gap: 1.4rem 0;
}
.overview > .wrap .overviewL .overview_link .tel_rsv li {
  text-align: center;
  width: 100%;
}
.overview > .wrap .overviewL .overview_link .tel_rsv li a {
  width: 100%;
}
.overview > .wrap .overviewL .tbl_time {
  margin: 1.6rem 0;
}
.overview > .wrap .overviewR {
  margin: 2rem 0 0;
}
.overview > .wrap .overviewR .gmap {
  overflow: hidden;
  height: 100%;
}
.overview > .wrap .overviewR .gmap iframe {
  height: 30rem;
  border: 1px solid #c0beb1;
}
.overview > .wrap .overviewR .btn_map {
  text-align: center;
}
@media screen and (min-width: 48em), print {
  .overview {
    padding: 0 0 8.2rem;
    font-size: 1.8rem;
  }
  .overview::before {
    height: 11rem;
    top: -11rem;
  }
  .overview .clinic_name {
    margin: 0 0 6rem;
  }
  .overview .clinic_name img {
    max-width: 57.3rem;
    height: 9rem;
  }
  .overview > .wrap {
    width: 1200px;
    margin: 0 auto;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  .overview > .wrap .overviewL {
    width: 57rem;
  }
  .overview > .wrap .overviewL .tbl_gaiyo {
    border-collapse: separate;
    border-spacing: 0 1.5rem;
  }
  .overview > .wrap .overviewL .tbl_gaiyo th {
    display: table-cell;
    width: 16rem;
    padding: 1.1rem 0.6rem 1.1rem 2rem;
  }
  .overview > .wrap .overviewL .tbl_gaiyo td {
    display: table-cell;
    padding: 0.2rem 1rem 0.2rem 1.8rem;
    margin: 0;
    word-break: auto-phrase;
  }
  .overview > .wrap .overviewL .overview_link .tel_rsv {
    margin: 2.3rem 0 5rem;
    -webkit-flex-direction: row;
    flex-direction: row;
    gap: 0 2rem;
  }
  .overview > .wrap .overviewL .overview_link .tel_rsv li a {
    font-size: 2rem;
    width: 27.5rem;
  }
  .overview > .wrap .overviewL .tbl_time {
    margin: 1rem 0 0;
  }
  .overview > .wrap .overviewR {
    width: 57rem;
    margin: 0;
  }
  .overview > .wrap .overviewR .gmap iframe {
    height: 70.5rem;
  }
  .overview > .wrap .overviewR .btn_map {
    margin: 1.6rem 0 0;
    width: 28.5rem;
  }
}
/* フッター -------------------------------------- */
.footer_menu {
  width: 100%;
  min-height: 4.6rem;
  background: #fff;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
  font-size: 1.4rem;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.footer_menu a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  font-size: 1.4rem;
  overflow: hidden;
  color: #fff;
  line-height: 1;
  flex: 1;
  position: relative;
}
.footer_menu a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  opacity: 1;
  pointer-events: none;
  background: url(../img/btn_parts01.png) repeat center/auto auto;
}
.footer_menu a.line {
  background: #84b37f;
}
.footer_menu a.rsv {
  background: #7f9eb3;
}
.footer_menu a.tel {
  background: #b39480;
  font-size: 1.2rem;
}

@media screen and (min-width: 48em), print {
  .footer_menu {
    height: fit-content;
    width: fit-content;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    position: fixed;
    z-index: 210;
    bottom: 2.6rem;
    right: 0;
    left: auto;
    background: none;
    padding: 0;
    gap: 0 1rem;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
  }
  .footer_menu a {
    min-height: fit-content;
    padding: 2rem 0;
    width: 4.6rem;
    font-size: 1.8rem;
    border: 3px solid #fff;
    border-right: 0;
    border-radius: 20px 0 0 20px;
    cursor: pointer;
  }
  .footer_menu a.line {
    letter-spacing: 0.1rem;
  }
  .footer_menu a.rsv {
    letter-spacing: 0.1rem;
  }
  .footer_menu a.tel {
    cursor: text;
    font-size: 1.8rem;
    pointer-events: none;
  }
}
.footer {
  text-align: center;
  padding: 0 0 4.6rem;
}
.footer .breadcrumb_list {
  display: none;
}
.footer .footer_lst {
  display: none;
}
.footer .copy {
  display: block;
  background: #fff;
  color: #a17c63;
  padding: 0.6rem 1rem;
  font-size: 1.2rem;
}

@media screen and (min-width: 48em), print {
  .footer {
    padding: 0;
    background: #b39480;
  }
  .footer .footer_lst {
    margin: 0 auto;
    padding: 8rem 0 10rem;
    color: #fff;
    width: 1200px;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    gap: 0 3rem;
  }
  .footer .footer_lst > div {
    text-align: left;
    font-size: 1.8rem;
    min-width: 20rem;
  }
  .footer .footer_lst > div p {
    padding: 0 0 1rem;
    margin: 0 0 2rem;
    border-bottom: double 4px #fff;
  }
  .footer .footer_lst > div > ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-flex-direction: column;
    flex-direction: column;
    gap: 1.4rem 0;
  }
  .footer .footer_lst > div > ul li {
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  .footer .footer_lst > div > ul li::before {
    content: "";
    width: 1rem;
    height: 1px;
    background: #fff;
    display: inline;
    margin-right: 0.7rem;
    position: relative;
    top: 1rem;
  }
  .footer .footer_lst > div > ul li > a:hover {
    opacity: 1;
    text-decoration: underline;
  }
  .footer .copy {
    font-size: 1.6rem;
    padding: 1.8rem 0;
  }
}
/* ----------------------------------------------------------------------------------
トップ　_top.scss
---------------------------------------------------------------------------------- */
.index .main {
  position: relative;
}
.index .main::before {
  content: "";
  display: block;
  width: 100%;
  height: 2rem;
  position: absolute;
  z-index: 2;
  pointer-events: none;
  top: -1.8rem;
  left: 0;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 2000 110'><path d='M1333.33,44.082C1000,44.082,1000.01,0,666.67,0S0,22.03,0,22.03V110H2000V22.03s-333.34,22.052-666.67,22.052' fill='%23fff5ee'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

@media screen and (min-width: 48em), print {
  .index .main::before {
    height: 11rem;
    top: -11rem;
  }
}
/* キービジュアル -------------------------------------- */
.keyvsl_area {
  padding: 0;
  position: relative;
  z-index: 2;
  contain: paint;
}
.keyvsl_area #keyvsl {
  opacity: 0;
  transition: 1s opacity;
  margin: 0;
  max-width: 100%;
  height: 30rem;
  overflow: hidden;
}
.keyvsl_area #keyvsl .slick-list,
.keyvsl_area #keyvsl .slick-track {
  height: 100%;
}
.keyvsl_area #keyvsl .slick-list .slide,
.keyvsl_area #keyvsl .slick-track .slide {
  height: 100%;
}
.keyvsl_area #keyvsl .slick-list .slide img,
.keyvsl_area #keyvsl .slick-track .slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.keyvsl_area .kv_contents {
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
}
.keyvsl_area .kv_contents .kv_txt .copy_txt {
  position: absolute;
  top: 3rem;
  right: 2rem;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  min-height: 100%;
  font-size: 1.8rem;
  letter-spacing: 0.2rem;
  line-height: 1.4;
  color: #fff;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.16), 0 0 10px rgba(0, 0, 0, 0.16), 0 0 10px rgba(0, 0, 0, 0.16), 0 0 10px rgba(0, 0, 0, 0.16), 0 0 10px rgba(0, 0, 0, 0.16), 0 0 10px rgba(0, 0, 0, 0.16);
}
.keyvsl_area .kv_contents .kv_txt .kaiin_txt {
  color: #4d3b2f;
  position: absolute;
  left: 0;
  bottom: 2.6rem;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-flex-direction: column;
  flex-direction: column;
  gap: 1rem 0;
}
.keyvsl_area .kv_contents .kv_txt .kaiin_txt li {
  padding: 1rem;
  border-radius: 0 10px 10px 0;
  background: rgba(255, 255, 255, 0.9);
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.4;
}
.keyvsl_area .kv_contents .kv_txt .kaiin_txt li .size_l {
  font-size: 1.4rem;
}
.keyvsl_area .kv_contents .kv_txt .kaiin_txt li .ex {
  font-size: 1.6rem;
  color: #c7b1a3;
}

@media screen and (min-width: 48em), print {
  .keyvsl_area #keyvsl {
    height: 75rem;
  }
  .keyvsl_area .kv_contents .kv_txt .copy_txt {
    width: 84rem;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  .keyvsl_area .kv_contents .kv_txt .copy_txt p {
    font-size: 4.8rem;
    padding-bottom: 12rem;
    letter-spacing: 1rem;
    line-height: 1.4;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
  }
  .keyvsl_area .kv_contents .kv_txt .kaiin_txt {
    bottom: 15rem;
    gap: 2rem 0;
  }
  .keyvsl_area .kv_contents .kv_txt .kaiin_txt li {
    padding: 1.6rem 3rem 1.6rem 2rem;
    border-radius: 0 20px 20px 0;
    font-size: 1.8rem;
  }
  .keyvsl_area .kv_contents .kv_txt .kaiin_txt li .size_l {
    font-size: 2.4rem;
  }
  .keyvsl_area .kv_contents .kv_txt .kaiin_txt li .ex {
    font-size: 2.8rem;
    margin: 0.6rem 0 0;
  }
}
/* 診療時間表 -------------------------------------- */
.top_timetbl {
  padding: 2rem 0;
  background: #fff5ee;
}

@media screen and (min-width: 48em), print {
  .top_timetbl {
    padding: 6rem 0 10rem;
  }
  .top_timetbl .tbl_time {
    width: 100rem;
    margin: 0 auto;
  }
  .top_timetbl .tbl_time > table {
    font-size: 2rem;
  }
  .top_timetbl .tbl_time > table + figcaption {
    font-size: 2rem;
  }
  .top_timetbl .tbl_time > table tbody tr th {
    font-size: 2.6rem;
  }
  .top_timetbl .tbl_time > table tbody tr th[scope=col] {
    padding: 0.2rem 0 1.2rem;
    font-size: 2.6rem;
  }
  .top_timetbl .tbl_time > table tbody tr th[scope=col]:first-child {
    width: 22.5rem;
  }
  .top_timetbl .tbl_time > table tbody tr td {
    padding: 1rem 0;
    font-size: 2.8rem;
  }
}
/* 混雑状況表 -------------------------------------- */
.crowd_status {
  padding: 2rem 0 4rem;
  background: linear-gradient(to bottom, #fff5ee, #fff5ee 90%, #fff);
}
.crowd_status .status {
  margin: 0 0 4rem;
  margin-left: 2rem;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
  border-top: 1px solid #4d3b2f;
  border-bottom: 1px solid #4d3b2f;
  position: relative;
}
.crowd_status .status ul {
  width: 48%;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.crowd_status .status ul li {
  position: relative;
}
.crowd_status .status ul li .dow {
  margin: 0;
  width: 3em;
  color: #4d3b2f;
  font-size: 1rem;
  font-weight: 700;
  text-align: right;
  position: absolute;
  top: -1.8rem;
  left: -3.4rem;
}
.crowd_status .status ul li .dow--bottom {
  top: auto;
  bottom: -1.8rem;
}
.crowd_status .status ul li .time {
  margin: 0;
  color: #4d3b2f;
  font-size: 1rem;
  font-weight: 700;
  position: absolute;
  top: -1.8rem;
}
.crowd_status .status ul li .time--01 {
  left: 0;
}
.crowd_status .status ul li .time--02 {
  right: -1em;
}
.crowd_status .status ul li .time--03 {
  right: 0;
}
.crowd_status .status ul li .time--bottom {
  top: auto;
  bottom: -1.8rem;
}
.crowd_status .status ul li img {
  display: block;
}
.crowd_status .status .caption {
  position: absolute;
  bottom: -4.4em;
  left: -2rem;
  font-size: 1.2rem;
}
.crowd_status .btn_link {
  margin: 2rem 0 0;
}

@media screen and (min-width: 48em), print {
  .crowd_status {
    padding: 10rem 0 10rem;
    background: linear-gradient(to bottom, #fff5ee, #fff5ee 84%, #fff);
  }
  .crowd_status .wrap .tit_02 {
    margin: 0 auto 11rem;
  }
  .crowd_status .status {
    width: 100rem;
    margin: 0 0 0 auto;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
  .crowd_status .status ul {
    width: auto;
    margin: 0;
    border-top: none;
    border-bottom: none;
  }
  .crowd_status .status ul li .dow {
    font-size: 2.6rem;
    top: -4.8rem;
    left: -10.4rem;
  }
  .crowd_status .status ul li .dow--bottom {
    top: auto;
    bottom: -4.8rem;
  }
  .crowd_status .status ul li .time {
    font-size: 2.6rem;
    top: -5rem;
  }
  .crowd_status .status ul li .time--bottom {
    top: auto;
    bottom: -4.6rem;
  }
  .crowd_status .status ul li img {
    display: block;
  }
  .crowd_status .status .caption {
    bottom: -5.2em;
    left: -10.4rem;
    font-size: 1.8rem;
  }
  .crowd_status .btn_center {
    text-align: center;
    margin: 8.6rem 0 0;
  }
  .crowd_status .btn_center ~ .btn_center {
    margin: 2rem 0 0;
  }
}
/* 当院の理念 -------------------------------------- */
.philosophy {
  padding: 2rem 0 4rem;
  background: #fff;
}
.philosophy .wrap {
  position: relative;
  z-index: 2;
}
.philosophy .wrap::before {
  content: "";
  display: block;
  width: 20rem;
  height: 20rem;
  background: url(../img/index_bg_01.svg) no-repeat center/contain;
  position: absolute;
  right: -4rem;
  bottom: -2rem;
  z-index: -1;
  pointer-events: none;
}
.philosophy .wrap .contents {
  position: relative;
  z-index: 3;
}

@media screen and (min-width: 48em), print {
  .philosophy {
    padding: 18rem 0 18rem;
  }
  .philosophy .wrap {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    gap: 0 10rem;
  }
  .philosophy .wrap::before {
    width: 60rem;
    height: 44.6rem;
    left: auto;
    right: -42rem;
    bottom: -10rem;
  }
  .philosophy .wrap .tit_02 {
    margin: 0.8rem 0 0;
  }
  .philosophy .wrap .tit_02 .eng_txt {
    top: -12rem;
    left: -2rem;
  }
  .philosophy .wrap .contents {
    flex: auto;
    position: relative;
    z-index: 2;
  }
  .philosophy .wrap .contents p {
    margin: 0;
    font-size: 2.2rem;
    line-height: 2.2;
    letter-spacing: 0.2rem;
  }
  .philosophy .wrap .contents p.mt {
    margin: 6rem 0 0;
  }
  .philosophy .wrap .contents .flex_btn {
    margin: 6rem 0 0;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-direction: row;
    flex-direction: row;
    gap: 0 2rem;
  }
}
/* 当院の5つの特徴 -------------------------------------- */
.feature_item {
  padding: 2rem 0 6rem;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0, #fff5ee 4rem, #fff5ee 98%, #fff);
  contain: paint;
}
.feature_item .wrap {
  padding: 0;
}
.feature_item .wrap .tit_02 .size_l {
  font-size: 140%;
  color: #a17c63;
}
.feature_item .wrap ul {
  counter-reset: num_feature;
  contain: paint;
}
.feature_item .wrap ul li {
  margin: 0 0 2rem;
  counter-increment: num_feature 1;
  position: relative;
  z-index: 2;
}
.feature_item .wrap ul li::before {
  content: "";
  display: block;
  width: 20rem;
  height: 20rem;
  position: absolute;
  z-index: -1;
  background: #faf0e6;
}
.feature_item .wrap ul li.item_01::before, .feature_item .wrap ul li.item_03::before, .feature_item .wrap ul li.item_05::before {
  right: 0;
  top: 14rem;
}
.feature_item .wrap ul li.item_02::before, .feature_item .wrap ul li.item_04::before {
  left: 0;
  top: 20rem;
}
.feature_item .wrap ul li figure {
  margin: 0;
  padding: 0;
}
.feature_item .wrap ul li figure img {
  display: block;
  position: relative;
  left: -2rem;
}
.feature_item .wrap ul li figure figcaption {
  margin: 0;
  padding: 0.6rem 2rem 1rem;
  position: relative;
}
.feature_item .wrap ul li figure figcaption .tit {
  font-size: 1.6rem;
  color: #a17c63;
  margin: 2.4rem 0 1rem;
  padding-left: 2rem;
  border-left: double 4px #cb8763;
  word-break: auto-phrase;
  position: relative;
}
.feature_item .wrap ul li figure figcaption .tit::after {
  content: counter(num_feature, decimal-leading-zero);
  font-size: 6rem;
  color: #eed6ca;
  letter-spacing: 0.1rem;
  position: absolute;
  z-index: -1;
  right: 1rem;
  top: -3.4rem;
  font-family: "Allura", cursive;
  font-weight: 400;
}
.feature_item .wrap ul li figure figcaption .txt {
  margin: 0;
  font-size: 1.4rem;
}
.feature_item .wrap ul li figure figcaption .size_s {
  font-size: 80%;
}
.feature_item .wrap ul li:nth-child(even) figure img {
  left: auto;
  right: -2rem;
}

@media screen and (min-width: 48em), print {
  .feature_item {
    padding: 10rem 0 10rem;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0, #fff5ee 10rem, #fff5ee 90%, #fff);
  }
  .feature_item .tit_02 {
    width: fit-content;
  }
  .feature_item .tit_02 .size_l {
    font-size: 5.2rem;
    margin: 0 0.4rem;
  }
  .feature_item .tit_02::before {
    left: -140%;
  }
  .feature_item .tit_02::after {
    right: -140%;
  }
  .feature_item .wrap {
    width: 100%;
  }
  .feature_item .wrap ul {
    contain: none;
    width: 100%;
    position: relative;
  }
  .feature_item .wrap ul li {
    width: 100%;
    min-height: 34rem;
    margin: 0 auto 10rem;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    position: relative;
    z-index: auto;
  }
  .feature_item .wrap ul li::before {
    width: 60rem;
    height: 60rem;
  }
  .feature_item .wrap ul li.item_01::before, .feature_item .wrap ul li.item_03::before, .feature_item .wrap ul li.item_05::before {
    left: 120rem;
    top: 4.3rem;
    z-index: -2;
  }
  .feature_item .wrap ul li.item_02::before, .feature_item .wrap ul li.item_04::before {
    right: 120rem;
    top: -10rem;
    z-index: -2;
  }
  .feature_item .wrap ul li.item_05::before {
    background: linear-gradient(to bottom, #faf0e6, #fff);
  }
  .feature_item .wrap ul li figure {
    width: 100%;
    position: relative;
    z-index: 2;
  }
  .feature_item .wrap ul li figure img {
    position: absolute;
    left: 0;
    z-index: 3;
  }
  .feature_item .wrap ul li figure figcaption {
    width: calc(100% - 75rem);
    margin: 0 0 0 auto;
    z-index: 1;
  }
  .feature_item .wrap ul li figure figcaption .contents {
    width: 100%;
    max-width: 80rem;
  }
  .feature_item .wrap ul li figure figcaption .contents .tit {
    font-size: 3.2rem;
    margin: 0 0 3.3rem;
    padding: 0 0 0 3rem;
    text-align: left;
    width: 100%;
  }
  .feature_item .wrap ul li figure figcaption .contents .tit::after {
    font-size: 16.4rem;
    top: -4rem;
    right: 4rem;
    line-height: 1;
    z-index: -1;
  }
  .feature_item .wrap ul li figure figcaption .contents .txt {
    font-size: 1.8rem;
    line-height: 2;
  }
  .feature_item .wrap ul li:nth-child(even) figure img {
    left: auto;
    right: 0;
  }
  .feature_item .wrap ul li:nth-child(even) figure figcaption {
    margin: 0 auto 0 0;
    padding-left: 2rem;
  }
  .feature_item .wrap ul li:nth-child(even) figure figcaption::after {
    left: 100%;
    right: auto;
  }
  .feature_item .wrap ul li:nth-child(even) figure figcaption .contents {
    margin: 0 0 0 auto;
  }
}
/* おすすめ特集 -------------------------------------- */
.recommend {
  padding: 2rem 0 2rem;
}
.recommend .wrap {
  position: relative;
}
.recommend .wrap::before, .recommend .wrap::after {
  content: "";
  display: block;
  width: 6rem;
  height: 20rem;
  position: absolute;
  z-index: -2;
  pointer-events: none;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}
.recommend .wrap::before {
  background: linear-gradient(to bottom, #fbf2e8, #ffffff);
  left: -3rem;
}
.recommend .wrap::after {
  background: linear-gradient(to bottom, #fff, #faf0e6);
  right: -3rem;
}
.recommend .wrap ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1rem 0;
}
.recommend .wrap ul li {
  width: 48%;
}

@media screen and (min-width: 48em), print {
  .recommend {
    padding: 10rem 0 10rem;
  }
  .recommend .wrap::before, .recommend .wrap::after {
    width: 40rem;
    height: 40rem;
  }
  .recommend .wrap::before {
    left: -30rem;
    top: 58%;
  }
  .recommend .wrap::after {
    right: -30rem;
    top: 43%;
  }
  .recommend .wrap ul {
    flex: auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4.5rem 4.5rem;
  }
  .recommend .wrap ul li {
    width: auto;
  }
}
/* 診療内容 -------------------------------------- */
.treatment_menu {
  padding: 4rem 0 6rem;
  background: url(../img/index_treatment_menu_bg01.jpg) no-repeat center/cover;
}
.treatment_menu ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1rem 0;
}
.treatment_menu ul li {
  width: 48%;
  background: url(../img/btn_parts02.png) no-repeat center/cover, #b39480;
  border-radius: 10px;
}
.treatment_menu ul li a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-direction: column;
  flex-direction: column;
  text-decoration: none !important;
  padding: 1rem;
  text-align: center;
  gap: 1rem 0;
  line-height: 1.2;
  color: #fff;
}
.treatment_menu ul li a::before {
  content: "";
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 6rem;
  height: 6rem;
  background-repeat: no-repeat;
  background-size: auto 60%;
  background-position: center;
}
.treatment_menu ul li a.dermatology::before {
  background-image: url(../img/index_treatment_menu_dermatology.svg);
}
.treatment_menu ul li a.cosmetic_dermatology::before {
  background-image: url(../img/index_treatment_menu_cosmetic_dermatology.svg);
}
.treatment_menu ul li a.allergy::before {
  background-image: url(../img/index_treatment_menu_allergy.svg);
}

@media screen and (min-width: 48em), print {
  .treatment_menu {
    padding: 15rem 0 15rem;
  }
  .treatment_menu .wrap {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    gap: 0 16rem;
    position: relative;
    z-index: 2;
  }
  .treatment_menu .wrap .tit_02 .eng_txt {
    top: -14rem;
    left: -1rem;
  }
  .treatment_menu .wrap ul {
    flex: auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4rem 4rem;
    position: relative;
    z-index: 3;
  }
  .treatment_menu .wrap ul li {
    width: auto;
    border-radius: 40px;
  }
  .treatment_menu .wrap ul li a {
    font-size: 2.4rem;
    padding: 3rem 2rem 4rem;
    gap: 2.5rem 0;
  }
  .treatment_menu .wrap ul li a::before {
    width: 15rem;
    height: 15rem;
    background-size: auto 100%;
  }
}
/* 対象とするお肌の疾患 -------------------------------------- */
.skin_conditions {
  padding: 2rem 0 6rem;
  background: #e8f1f1;
  position: relative;
}
.skin_conditions::before {
  content: "";
  display: block;
  width: 100%;
  height: 4rem;
  position: absolute;
  left: 0;
  top: -4rem;
  background: linear-gradient(to top, #e8f1f1, rgba(255, 255, 255, 0));
}
.skin_conditions .wrap {
  position: relative;
  z-index: 2;
}
.skin_conditions .wrap::before {
  content: "";
  display: block;
  width: 20rem;
  height: 40rem;
  background: #deeceb;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 20rem;
}
.skin_conditions .wrap ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1rem 0;
}
.skin_conditions .wrap ul li {
  width: 48%;
  background: #fff;
  border-radius: 10px;
}
.skin_conditions .wrap ul li a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-direction: column;
  flex-direction: column;
  text-decoration: none !important;
  padding: 1rem;
  text-align: center;
  gap: 1rem 0;
  line-height: 1.2;
}
.skin_conditions .wrap ul li a::before {
  content: "";
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 6rem;
  height: 6rem;
  background-repeat: no-repeat;
  background-size: auto 60%;
  background-position: center;
}
.skin_conditions .wrap ul li a.shingles::before {
  background-image: url(../img/index_skin_conditions_shingles.svg);
}
.skin_conditions .wrap ul li a.hives::before {
  background-image: url(../img/index_skin_conditions_hives.svg);
}
.skin_conditions .wrap ul li a.herpes::before {
  background-image: url(../img/index_skin_conditions_herpes.svg);
}
.skin_conditions .wrap ul li a.seborrheic_dermatitis::before {
  background-image: url(../img/index_skin_conditions_seborrheic_dermatitis.svg);
}
.skin_conditions .wrap ul li a.milia::before {
  background-image: url(../img/index_skin_conditions_milia.svg);
}
.skin_conditions .wrap ul li a.acne::before {
  background-image: url(../img/index_skin_conditions_acne.svg);
}
.skin_conditions .wrap ul li a.rosacea::before {
  background-image: url(../img/index_skin_conditions_rosacea.svg);
}
.skin_conditions .wrap ul li a.eczema::before {
  background-image: url(../img/index_skin_conditions_eczema.svg);
}
.skin_conditions .wrap ul li a.hyperhidrosi::before {
  background-image: url(../img/index_skin_conditions_hyperhidrosi.svg);
}
.skin_conditions .wrap ul li a.atopic_dermatitis::before {
  background-image: url(../img/index_skin_conditions_atopic_dermatitis.svg);
}
.skin_conditions .wrap ul li a.alopecia_areata::before {
  background-image: url(../img/index_skin_conditions_alopecia_areata.svg);
}
.skin_conditions .wrap ul li a.viral_warts::before {
  background-image: url(../img/index_skin_conditions_viral_warts.svg);
}

@media screen and (min-width: 48em), print {
  .skin_conditions {
    padding: 10rem 0 10rem;
  }
  .skin_conditions::before {
    height: 20rem;
    top: -20rem;
  }
  .skin_conditions .wrap::before {
    width: 60rem;
    height: 60rem;
    left: -40rem;
    top: 38rem;
  }
  .skin_conditions .wrap ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4rem 4rem;
  }
  .skin_conditions .wrap ul li {
    width: auto;
    border-radius: 40px;
  }
  .skin_conditions .wrap ul li a {
    font-size: 2.4rem;
    padding: 3rem 2rem 4rem;
    gap: 2.5rem 0;
    height: 100%;
  }
  .skin_conditions .wrap ul li a::before {
    width: 15rem;
    height: 15rem;
    background-size: auto 100%;
  }
  .skin_conditions .wrap ul li a span {
    height: 2em;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
  }
}
/* お肌のお悩みで探す -------------------------------------- */
.skin_trouble {
  padding: 2rem 0 4rem;
  background: linear-gradient(to bottom, #fff5ee 0%, #fff5ee 98%, #fff 100%);
  position: relative;
}
.skin_trouble::before {
  content: "";
  display: block;
  width: 100%;
  height: 4rem;
  pointer-events: none;
  position: absolute;
  left: 0;
  top: -4rem;
  background: linear-gradient(to top, #fff5ee, rgba(255, 255, 255, 0));
}
.skin_trouble ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1rem 0;
}
.skin_trouble ul li {
  width: 48%;
  background: #fff;
  border-radius: 10px;
}
.skin_trouble ul li a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-direction: column;
  flex-direction: column;
  text-decoration: none !important;
  padding: 1rem;
  text-align: center;
  gap: 1rem 0;
  line-height: 1.2;
}
.skin_trouble ul li a::before {
  content: "";
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 6rem;
  height: 6rem;
  background-repeat: no-repeat;
  background-size: auto 60%;
  background-position: center;
}
.skin_trouble ul li a.thinning_hair::before {
  background-image: url(../img/index_skin_trouble_thinning_hair.svg);
}
.skin_trouble ul li a.acne_scars::before {
  background-image: url(../img/index_skin_trouble_acne_scars.svg);
}
.skin_trouble ul li a.melasma::before {
  background-image: url(../img/index_skin_trouble_melasma.svg);
}
.skin_trouble ul li a.red_face::before {
  background-image: url(../img/index_skin_trouble_red_face.svg);
}
.skin_trouble ul li a.spot::before {
  background-image: url(../img/index_skin_trouble_spot.svg);
}
.skin_trouble ul li a.saggy::before {
  background-image: url(../img/index_skin_trouble_saggy.svg);
}
.skin_trouble ul li a.pores::before {
  background-image: url(../img/index_skin_trouble_pores.svg);
}
.skin_trouble ul li a.wrinkles::before {
  background-image: url(../img/index_skin_trouble_wrinkles.svg);
}
.skin_trouble ul li a.hyperhidrosis_treatment::before {
  background-image: url(../img/index_skin_trouble_hyperhidrosis_treatment.svg);
}
.skin_trouble ul li a.dullness::before {
  background-image: url(../img/index_skin_trouble_dullness.svg);
}
.skin_trouble ul li a.warts::before {
  background-image: url(../img/index_skin_trouble_warts.svg);
}
.skin_trouble ul li a.mole::before {
  background-image: url(../img/index_skin_trouble_mole.svg);
}

@media screen and (min-width: 48em), print {
  .skin_trouble {
    padding: 10rem 0 10rem;
    background: linear-gradient(to bottom, #fff5ee 0%, #fff5ee calc(100% - 20rem), #fff 100%);
  }
  .skin_trouble::before {
    height: 20rem;
    top: -20rem;
    background: linear-gradient(to top, #fff5ee, rgba(255, 255, 255, 0));
  }
  .skin_trouble ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 4rem 4rem;
  }
  .skin_trouble ul li {
    width: auto;
    border-radius: 40px;
  }
  .skin_trouble ul li a {
    font-size: 2.4rem;
    padding: 3rem 2rem 4rem;
    gap: 2.5rem 0;
  }
  .skin_trouble ul li a::before {
    width: 15rem;
    height: 15rem;
    background-size: auto 100%;
  }
  .skin_trouble ul li a span {
    height: 2em;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
  }
}
/* VISIA肌診断 -------------------------------------- */
.treatment_visia {
  padding: 2rem 0 2rem;
}
.treatment_visia .contents {
  margin: 16rem 1rem 0;
  position: relative;
}
.treatment_visia .contents::before {
  content: "";
  display: block;
  width: 100%;
  height: 20rem;
  position: absolute;
  z-index: -1;
  top: -16rem;
  left: 0;
  background: url(../img/index_treatment_visia_bg01.jpg) no-repeat center/cover;
}
.treatment_visia .contents .wrap {
  padding: 2rem 2rem 2rem;
  background: #b39480;
  color: #fff;
  position: relative;
  border-radius: 20px;
}
.treatment_visia .contents .wrap .tit_02 {
  color: #fff;
  text-align: left;
  margin: 0;
}
.treatment_visia .contents .wrap .tit_02 .eng_txt {
  color: #ccb3a3;
  font-size: 6rem;
  position: absolute;
  right: 1.8rem;
  top: 0;
  font-family: "Allura", cursive;
  font-weight: 400;
}
.treatment_visia .contents .wrap .tit_sub {
  font-size: 1.6rem;
  margin: 0.4rem 0 0;
}
@media screen and (min-width: 48em), print {
  .treatment_visia {
    padding: 10rem 0 10rem;
  }
  .treatment_visia .contents::before {
    width: 108.6rem;
    height: 70rem;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    right: -36rem;
    left: auto;
    background: url(../img/index_treatment_visia_bg01.jpg) no-repeat center/contain;
  }
  .treatment_visia .contents .wrap {
    margin: 0;
    padding: 7rem 6rem 7rem 8rem;
    border-radius: 0 40px 40px 0;
    width: calc(100% - 56rem);
  }
  .treatment_visia .contents .wrap::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    right: 100%;
    background: #b39480;
  }
  .treatment_visia .contents .wrap .tit_02 {
    margin: 0 0 1rem;
    font-size: 4rem;
  }
  .treatment_visia .contents .wrap .tit_02 .eng_txt {
    font-size: 12rem;
    right: 6rem;
    top: 4rem;
  }
  .treatment_visia .contents .wrap .tit_sub {
    font-size: 3rem;
    margin: 0.4rem 0 0;
  }
  .treatment_visia .contents .wrap .txt {
    font-size: 1.8rem;
  }
  .treatment_visia .contents .wrap .txt p {
    line-height: 2.2;
  }
  .treatment_visia .contents .wrap .btn_link {
    margin: 6.2rem auto 0;
    text-align: left;
  }
  .treatment_visia .contents .wrap .btn_link a {
    padding: 1.4rem 0;
  }
}
/* 施術で探す -------------------------------------- */
.treatment_search {
  padding: 2rem 0 2rem;
  background: url(../img/index_treatment_search_bg01.jpg) no-repeat top right/cover;
}
.treatment_search ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 2rem 2rem;
}
.treatment_search ul li {
  width: 100%;
}
.treatment_search ul li a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-flex-direction: column;
  flex-direction: column;
  padding: 1rem 2rem 1rem 2rem;
  text-decoration: none !important;
  color: #4d3b2f;
  background: #fff;
  border-radius: 10px;
  border: 2px solid #4d3b2f;
}
.treatment_search ul li a .item {
  padding-right: 2rem;
  width: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  position: relative;
}
.treatment_search ul li a .item::after {
  content: "\ecb5";
  font-family: "fontello";
  font-size: 1.8rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  right: 0;
}
.treatment_search ul li a .size_s {
  font-size: 80%;
}

@media screen and (min-width: 48em), print {
  .treatment_search {
    padding: 10rem 0 10rem;
    background: url(../img/index_treatment_search_bg01.jpg) no-repeat center/cover;
  }
  .treatment_search ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem 3rem;
  }
  .treatment_search ul li {
    width: 100%;
  }
  .treatment_search ul li a {
    font-size: 2.2rem;
    min-height: 14rem;
    padding: 1rem 3rem 1rem 3rem;
    border-radius: 40px;
  }
  .treatment_search ul li a .item {
    padding-right: 2rem;
  }
  .treatment_search ul li a .item::after {
    font-size: 2.6rem;
    right: 0;
  }
  .treatment_search ul li a .size_s {
    font-size: 1.6rem;
    margin: 1rem 0 0;
  }
}
/* 導入医療機器 -------------------------------------- */
.medical_devices {
  padding: 2rem 0 2rem;
}
.medical_devices .wrap {
  position: relative;
}
.medical_devices .wrap::before {
  content: "";
  display: block;
  width: 20rem;
  height: 20rem;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 12rem;
  background: linear-gradient(to bottom, #fbf2e8, #ffffff);
}
.medical_devices .wrap ul {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 2rem 2rem;
}
.medical_devices .wrap ul li {
  width: 100%;
}
.medical_devices .wrap ul li a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-flex-direction: column;
  flex-direction: column;
  padding: 1rem 2rem 1rem 2rem;
  text-decoration: none !important;
  color: #4d3b2f;
  background: #fff;
  border-radius: 10px;
  border: 2px solid #4d3b2f;
}
.medical_devices .wrap ul li a .item {
  padding-right: 2rem;
  width: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  position: relative;
}
.medical_devices .wrap ul li a .item::after {
  content: "\ecb5";
  font-family: "fontello";
  font-weight: normal;
  font-size: 1.8rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  right: 0;
}
.medical_devices .wrap ul li a .size_s {
  font-size: 80%;
}

@media screen and (min-width: 48em), print {
  .medical_devices {
    padding: 16.6rem 0 10rem;
  }
  .medical_devices .wrap::before {
    width: 40rem;
    height: 40rem;
    top: 20rem;
    left: -26rem;
  }
  .medical_devices .wrap ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem 3rem;
  }
  .medical_devices .wrap ul li {
    width: 100%;
  }
  .medical_devices .wrap ul li a {
    font-size: 2.2rem;
    min-height: 14rem;
    padding: 1rem 3rem 1rem 3rem;
    border-radius: 40px;
  }
  .medical_devices .wrap ul li a .item {
    padding-right: 2rem;
  }
  .medical_devices .wrap ul li a .item::after {
    font-size: 2.6rem;
    right: 0;
  }
  .medical_devices .wrap ul li a .size_s {
    font-size: 1.6rem;
    margin: 1rem 0 0;
  }
}
/* お知らせ -------------------------------------- */
.info {
  padding: 4rem 1.4rem 4rem;
  margin: 0 0 2rem;
  background: linear-gradient(to bottom, #fff, #fff5ee 10%, #fff5ee 90%, #fff);
}
.info dl {
  margin: 0;
  line-height: 1.4;
  padding: 1rem 0.6rem 1rem 0;
  border-top: 1px solid #4d3b2f;
  border-bottom: 1px solid #4d3b2f;
  overflow-y: scroll;
  max-height: 30rem;
  min-height: 20rem;
}
.info dl .info_line {
  border-bottom: 1px solid #c0beb1;
  margin: 1rem 0 1rem;
}
.info dl .info_line:nth-of-type(n + 4) dd {
  display: none;
}
.info dl .info_line dt {
  color: #4d3b2f;
  font-size: 110%;
  cursor: pointer;
  display: table;
  margin: 0 0 0.6rem;
  padding-left: 1.8rem;
  position: relative;
}
.info dl .info_line dt::before {
  content: "\ecbb";
  font-family: "fontello";
  color: #a17c63;
  display: inline-block;
  font-size: 1.4rem;
  font-weight: normal;
  position: absolute;
  left: 0;
  top: 0.2rem;
  transition: transform 0.4s;
}
.info dl .info_line dt:hover {
  opacity: 0.8;
}
.info dl .info_line dt.close::before {
  top: 0;
  transform: rotate(540deg);
}
.info dl .info_line dd {
  padding: 0;
  margin: 0;
}
.info dl .info_line dd p {
  margin: 0 0 1rem;
}

@media screen and (min-width: 48em), print {
  .info {
    padding: 10rem 0 10rem;
    margin: 0;
  }
  .info .wrap {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    gap: 0 16rem;
  }
  .info .wrap .tit_02 .eng_txt {
    left: 0;
    top: -14rem;
  }
  .info .wrap dl {
    flex: auto;
    max-height: 42.8rem;
    height: 100%;
    padding: 3rem 0 3rem;
    padding-right: 2rem;
    position: relative;
    z-index: 2;
  }
  .info .wrap dl .info_line {
    margin: 2.4rem 0 2.4rem;
    padding: 0 0 1.4rem;
  }
  .info .wrap dl .info_line:first-of-type {
    margin: 0 0 2.4rem;
  }
  .info .wrap dl .info_line dt {
    font-size: 2.2rem;
    margin: 0 0 1rem;
    padding-left: 4rem;
  }
  .info .wrap dl .info_line dt::before {
    width: 2.4rem;
    height: 2.4rem;
    font-size: 2rem;
    top: 0.4rem;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
  }
  .info .wrap dl .info_line dd {
    padding: 0;
    margin: 0;
    line-height: 1.8;
    font-size: 1.8rem;
  }
}
/* ごあいさつ -------------------------------------- */
.greeting {
  padding: 2rem 0 2rem;
}
.greeting .wrap {
  position: relative;
}
.greeting .wrap::before {
  content: "";
  display: block;
  width: 40rem;
  height: 40rem;
  background: url(../img/index_bg_01.svg) no-repeat center/contain;
  position: absolute;
  left: -4rem;
  bottom: -2rem;
  z-index: -1;
  pointer-events: none;
}
.greeting .wrap .contents figure {
  text-align: center;
}
.greeting .wrap .contents figure img {
  display: block;
  width: 80%;
  margin: 0 auto;
}
.greeting .wrap .contents figure figcaption {
  margin: 0.8rem 0 0;
  padding: 0.2rem 1rem;
  display: inline-flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  text-align: center;
  color: #a17c63;
  border-left: 1px solid #cb8763;
  border-right: 1px solid #cb8763;
}
.greeting .wrap .contents figure figcaption p {
  margin: 0;
  padding: 0.2rem 0;
  font-size: 1.2rem;
}
.greeting .wrap .contents figure figcaption p span {
  font-size: 1.8rem;
  margin-left: 0.4rem;
}
.greeting .wrap .contents .txt {
  margin: 0;
  line-height: 2;
}

@media screen and (min-width: 48em), print {
  .greeting {
    padding: 10.2rem 0 10rem;
  }
  .greeting .wrap::before {
    width: 60rem;
    height: 44.6rem;
    right: auto;
    left: -32rem;
    top: auto;
    bottom: -8.7rem;
    z-index: -1;
  }
  .greeting .wrap .contents {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    gap: 0 4.7rem;
  }
  .greeting .wrap .contents .img {
    margin: 1rem 0 0;
    order: 2;
    width: 40rem;
  }
  .greeting .wrap .contents .img figure {
    margin: 0;
    padding: 0;
  }
  .greeting .wrap .contents .img figure img {
    width: 100%;
    margin: 0;
  }
  .greeting .wrap .contents .img figure figcaption {
    margin: 3rem 0 0;
    padding: 0 2rem;
    line-height: 1.2;
  }
  .greeting .wrap .contents .img figure figcaption p {
    font-size: 2.4rem;
  }
  .greeting .wrap .contents .img figure figcaption p span {
    font-size: 3.2rem;
    margin-left: 2rem;
  }
  .greeting .wrap .contents .txt {
    width: 74rem;
    order: 1;
    margin: 0;
    line-height: 2.4;
  }
  .greeting .wrap .contents .txt p:first-of-type {
    margin: 0 0 1rem;
  }
  .greeting .wrap .contents .btn_link {
    margin: 5rem 0 0;
    text-align: center;
  }
}
/* 連携・紹介先医療機関 -------------------------------------- */
.link_column {
  padding: 2rem 0;
}
.link_column .lst_linkclinic {
  padding: 1rem;
  background: #fffbf8;
  border: 2px solid #f7e6dd;
  border-radius: 20px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.2rem 0;
}
.link_column .lst_linkclinic li {
  position: relative;
  padding-left: 1.8rem;
}
.link_column .lst_linkclinic li::before {
  content: "\e800";
  font-family: "fontello";
  position: absolute;
  top: 0;
  left: 0;
  color: #a17c63;
}
.link_column .lst_linkclinic li a {
  text-decoration: none !important;
  color: #4d3b2f;
  transition: all 0.4s;
}
.link_column .lst_linkclinic li a:hover {
  text-decoration: underline !important;
}

@media screen and (min-width: 48em), print {
  .link_column {
    padding: 10rem 0;
  }
  .link_column .lst_linkclinic {
    padding: 6rem 7rem;
    border: 3px solid #f7e6dd;
    border-radius: 40px;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.8rem 1rem;
  }
  .link_column .lst_linkclinic li {
    padding-left: 3rem;
  }
  .link_column .lst_linkclinic li::before {
    font-size: 2rem;
    top: 0;
    left: 0;
  }
  .link_column .lst_linkclinic li a {
    font-size: 2rem;
  }
}
/* ループスライダー -------------------------------------- */
#loop_slider {
  padding: 0;
}
#loop_slider .slide-item {
  padding: 1rem 0;
  margin: 0;
}
#loop_slider .slick-slide {
  height: auto;
}

@media screen and (min-width: 48em), print {
  #loop_slider {
    padding: 8rem 0 10rem;
    width: 100vw;
    min-width: 2000px;
  }
  #loop_slider .slide-item {
    padding: 1.5rem 0;
    margin: 0;
  }
}
/* ----------------------------------------------------------------------------------
下層　_lower.scss
---------------------------------------------------------------------------------- */
body:not(.index) .header .breadcrumb_list {
  display: none;
}
@media screen and (min-width: 48em), print {
  body:not(.index) .header .breadcrumb_list {
    display: -webkit-flex;
    display: flex;
  }
}
body:not(.index) .footer .breadcrumb_list {
  display: -webkit-flex;
  display: flex;
  overflow-x: auto;
  white-space: nowrap;
}
@media screen and (min-width: 48em), print {
  body:not(.index) .footer .breadcrumb_list {
    display: none;
  }
}
body:not(.index) .breadcrumb_list {
  margin: 0 auto;
  padding: 1rem 1.2rem;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
}
body:not(.index) .breadcrumb_list li {
  font-size: 1rem;
  display: inline-block;
}
body:not(.index) .breadcrumb_list li:not(:last-child)::after {
  content: ">";
  font-family: "fontello";
  margin-right: 0.4rem;
  display: inline-block;
  margin: 0 1rem;
  position: relative;
  top: 0.1rem;
}
body:not(.index) .breadcrumb_list li a {
  color: #a17c63;
  text-decoration: underline;
}
body:not(.index) .breadcrumb_list li a:hover {
  opacity: 1;
  text-decoration: none;
}
@media screen and (min-width: 48em), print {
  body:not(.index) .breadcrumb_list {
    margin: 0 auto;
    padding: 2rem 0 2rem;
    width: 1200px;
  }
  body:not(.index) .breadcrumb_list li {
    font-size: 1.6rem;
  }
}
body:not(.index) .main {
  margin: 0 1rem 6rem;
}
@media screen and (min-width: 48em), print {
  body:not(.index) .main {
    margin: 6rem 0 10rem;
    line-height: 1.8;
  }
}

@media screen and (min-width: 48em), print {
  .cf .img_l,
  .cf .img_r {
    max-width: 30%;
    height: auto;
  }
}
.w-75 {
  width: 100%;
  display: block;
  margin: 0 auto;
}
@media screen and (min-width: 48em), print {
  .w-75 {
    width: 75%;
  }
}
.w-75 + p {
  text-align: left;
}
@media screen and (min-width: 48em), print {
  .w-75 + p {
    text-align: center;
  }
}

#ez-toc-container {
  margin: 0 0 6rem;
}
@media screen and (min-width: 48em), print {
  #ez-toc-container {
    margin: 0 0 10rem;
  }
}

.bottom_txt {
  align-items: flex-start;
}
.bottom_txt > figure {
  width: 80%;
}
.bottom_txt > .wp-block-group-is-layout-flex {
  display: block;
}
.bottom_txt > .wp-block-group-is-layout-flex p {
  font-size: 1.2rem;
}
@media screen and (min-width: 48em), print {
  .bottom_txt {
    align-items: flex-end;
    gap: 0 4.8rem;
  }
  .bottom_txt > figure {
    width: 17rem;
  }
  .bottom_txt > .wp-block-group-is-layout-flex {
    display: flex;
  }
  .bottom_txt > .wp-block-group-is-layout-flex p {
    font-size: 1.8rem;
  }
}

.display_n {
  display: none;
}

/* ドクター紹介 */
.dr_name {
  margin: 2rem 0 0;
  text-align: right;
}
.dr_name span {
  font-size: 130%;
}

/* クリニック紹介 */
*[id*=slider] {
  margin: 0 auto 0.2rem;
  width: 100%;
}
@media screen and (min-width: 48em), print {
  *[id*=slider] {
    width: 75rem;
  }
}
*[id*=slider] figure {
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 1;
}
*[id*=slider] figure figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: auto;
  padding: 0.4rem 0.6rem;
  margin: 0 auto;
  text-align: center;
  line-height: 1.2;
  font-size: 1.4rem;
  color: #333;
  background: rgba(243, 249, 244, 0.6);
}
@media screen and (min-width: 48em), print {
  *[id*=slider] figure figcaption {
    padding: 2rem 3rem;
    font-size: 1.8rem;
  }
}
*[id*=slider] figure figcaption p {
  text-align: center;
  font-size: 120%;
  margin: 0;
}

*[id*=thumbnail_slider] {
  margin: 0 auto 2rem;
  width: 100%;
}
@media screen and (min-width: 48em), print {
  *[id*=thumbnail_slider] {
    width: 75rem;
  }
}
*[id*=thumbnail_slider] .slick-list .thumbnail-item img {
  cursor: grab;
}
*[id*=thumbnail_slider] .slick-list .thumbnail-item img:active {
  cursor: grabbing;
}
*[id*=thumbnail_slider] .slick-list .slick-current {
  position: relative;
}
*[id*=thumbnail_slider] .slick-list .slick-current::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border: 4px solid #222;
}
*[id*=thumbnail_slider] .slick-list .slick-current img {
  width: 100%;
  display: block;
}
*[id*=thumbnail_slider] .slick-prev::before,
*[id*=thumbnail_slider] .slick-next::before {
  color: #222;
}

.slide-item img {
  width: 100%;
  height: auto;
}

.thumbnail-item img {
  width: 98%;
  display: block;
  margin: 0 auto;
}

.img_gallery li {
  margin: 0 0 2rem;
  text-align: center;
}
.img_gallery li figure {
  margin: 0;
  padding: 0;
}
.img_gallery li figure img {
  display: block;
  margin: 0 auto 0.6rem;
  max-width: 80%;
  height: auto;
}
.img_gallery li figure figcaption {
  padding: 0;
  text-align: left;
}
.img_gallery li figure figcaption p {
  margin: 0.4rem 0;
  text-align: center;
}

@media screen and (min-width: 48em), print {
  .img_gallery {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .img_gallery li {
    width: 48%;
    margin: 0 0 3.2rem;
  }
  .img_gallery li img {
    margin: 0 auto 1rem;
    max-width: 100%;
  }
}
/* 当院の特徴 */
.subpage .main .gmap iframe {
  height: 30rem;
}
@media screen and (min-width: 48em), print {
  .subpage .main .gmap iframe {
    height: 55rem;
  }
}

/* 診療時間・アクセス */
.access .gmap {
  height: 30rem;
  margin: 2rem 0;
}

@media screen and (min-width: 48em), print {
  .access .gmap {
    height: 50rem;
  }
}
.lst_treatment {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1rem 0;
}
.lst_treatment li {
  width: 48%;
  background: #f2f6f6;
  border-radius: 10px;
}
.lst_treatment li a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-direction: column;
  flex-direction: column;
  text-decoration: none !important;
  padding: 1rem;
  text-align: center;
  gap: 1rem 0;
  line-height: 1.2;
}
.lst_treatment li a::before {
  content: "";
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 6rem;
  height: 6rem;
  background-repeat: no-repeat;
  background-size: auto 60%;
  background-position: center;
}
.lst_treatment li.shingles a::before {
  background-image: url(../img/index_skin_conditions_shingles.svg);
}
.lst_treatment li.hives a::before {
  background-image: url(../img/index_skin_conditions_hives.svg);
}
.lst_treatment li.herpes a::before {
  background-image: url(../img/index_skin_conditions_herpes.svg);
}
.lst_treatment li.seborrheic_dermatitis a::before {
  background-image: url(../img/index_skin_conditions_seborrheic_dermatitis.svg);
}
.lst_treatment li.milia a::before {
  background-image: url(../img/index_skin_conditions_milia.svg);
}
.lst_treatment li.acne a::before {
  background-image: url(../img/index_skin_conditions_acne.svg);
}
.lst_treatment li.rosacea a::before {
  background-image: url(../img/index_skin_conditions_rosacea.svg);
}
.lst_treatment li.eczema a::before {
  background-image: url(../img/index_skin_conditions_eczema.svg);
}
.lst_treatment li.hyperhidrosi a::before {
  background-image: url(../img/index_skin_conditions_hyperhidrosi.svg);
}
.lst_treatment li.atopic_dermatitis a::before {
  background-image: url(../img/index_skin_conditions_atopic_dermatitis.svg);
}
.lst_treatment li.alopecia_areata a::before {
  background-image: url(../img/index_skin_conditions_alopecia_areata.svg);
}
.lst_treatment li.viral_warts a::before {
  background-image: url(../img/index_skin_conditions_viral_warts.svg);
}

@media screen and (min-width: 48em), print {
  .lst_treatment {
    display: flex;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 4rem 4rem;
  }
  .lst_treatment li {
    width: 27rem;
    border-radius: 40px;
  }
  .lst_treatment li a {
    font-size: 2.4rem;
    padding: 3rem 2rem 4rem;
    gap: 2.5rem 0;
    height: 100%;
  }
  .lst_treatment li a::before {
    width: 15rem;
    height: 15rem;
    background-size: auto 100%;
  }
  .lst_treatment li a span {
    height: 2em;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
  }
}
.lst_biyou {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  gap: 1rem 0;
}
.lst_biyou::before {
  content: "";
  display: block;
  width: 100vw;
  height: 120%;
  top: -15%;
  position: absolute;
  z-index: -1;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background: #fff5ee;
}
.lst_biyou li {
  width: 48%;
  background: #fff;
  border-radius: 10px;
}
.lst_biyou li a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-direction: column;
  flex-direction: column;
  text-decoration: none !important;
  padding: 1rem;
  text-align: center;
  gap: 1rem 0;
  line-height: 1.2;
}
.lst_biyou li a::before {
  content: "";
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 6rem;
  height: 6rem;
  background-repeat: no-repeat;
  background-size: auto 60%;
  background-position: center;
}
.lst_biyou li a.thinning_hair::before {
  background-image: url(../img/index_skin_trouble_thinning_hair.svg);
}
.lst_biyou li a.acne_scars::before {
  background-image: url(../img/index_skin_trouble_acne_scars.svg);
}
.lst_biyou li a.melasma::before {
  background-image: url(../img/index_skin_trouble_melasma.svg);
}
.lst_biyou li a.red_face::before {
  background-image: url(../img/index_skin_trouble_red_face.svg);
}
.lst_biyou li a.spot::before {
  background-image: url(../img/index_skin_trouble_spot.svg);
}
.lst_biyou li a.saggy::before {
  background-image: url(../img/index_skin_trouble_saggy.svg);
}
.lst_biyou li a.pores::before {
  background-image: url(../img/index_skin_trouble_pores.svg);
}
.lst_biyou li a.wrinkles::before {
  background-image: url(../img/index_skin_trouble_wrinkles.svg);
}
.lst_biyou li a.hyperhidrosis_treatment::before {
  background-image: url(../img/index_skin_trouble_hyperhidrosis_treatment.svg);
}
.lst_biyou li a.dullness::before {
  background-image: url(../img/index_skin_trouble_dullness.svg);
}
.lst_biyou li a.warts::before {
  background-image: url(../img/index_skin_trouble_warts.svg);
}
.lst_biyou li a.mole::before {
  background-image: url(../img/index_skin_trouble_mole.svg);
}

@media screen and (min-width: 48em), print {
  .lst_biyou {
    display: flex;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 2.7rem 2.4rem;
  }
  .lst_biyou::before {
    min-width: 2000px;
    height: 157%;
    top: -48%;
  }
  .lst_biyou li {
    width: 18rem;
    border-radius: 40px;
  }
  .lst_biyou li a {
    font-size: 1.6rem;
    padding: 3rem 2rem 4rem;
    gap: 2.5rem 0;
    height: 100%;
  }
  .lst_biyou li a::before {
    width: 9rem;
    height: 9rem;
    background-size: auto 100%;
  }
  .lst_biyou li a span {
    height: 2em;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
  }
}
.lst_txtitem {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 2rem 2rem;
}
.lst_txtitem li {
  width: 100%;
}
.lst_txtitem li a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-flex-direction: column;
  flex-direction: column;
  padding: 1rem 2rem 1rem 2rem;
  text-decoration: none !important;
  color: #4d3b2f;
  background: #fff;
  border-radius: 10px;
  border: 2px solid #4d3b2f;
}
.lst_txtitem li a .item {
  padding-right: 2rem;
  width: 100%;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  position: relative;
}
.lst_txtitem li a .item::after {
  content: "\ecb5";
  font-family: "fontello";
  font-size: 1.8rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  right: 0;
}
.lst_txtitem li a .size_s {
  font-size: 80%;
}

@media screen and (min-width: 48em), print {
  .lst_txtitem {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3rem 3rem;
  }
  .lst_txtitem li {
    width: 100%;
  }
  .lst_txtitem li a {
    font-size: 2.2rem;
    min-height: 14rem;
    padding: 1rem 3rem 1rem 3rem;
    border-radius: 40px;
  }
  .lst_txtitem li a .item {
    padding-right: 2rem;
  }
  .lst_txtitem li a .item::after {
    font-size: 2.6rem;
    right: 0;
  }
  .lst_txtitem li a .size_s {
    font-size: 1.6rem;
    margin: 1rem 0 0;
  }
}