@charset "UTF-8";

/* common */

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
  scroll-padding-top: 210px;
}

body {
  color: #333;
  font-family: "游ゴシック ", YuGothic, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.6rem;
  line-height: 1.5;
  font-style: normal;
  text-rendering: auto;
  font-optical-sizing: auto;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-feature-settings: "palt";
  margin-top: 196px;
}

p {
  margin: 0;
}

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

.return_button__wrap {
  display: none;
}

.return_button {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75em;
  height: 2.75em;
  background: rgba(0, 0, 0, 0.3);
  font-size: 1.6rem;
}

.return_button::before {
  content: "";
  position: absolute;
  top: 20%;
  bottom: 0;
  display: block;
  margin: auto;
  width: 0.5em;
  height: 0.5em;
  border: 1px solid #fff;
  border-bottom: 0;
  border-left: 0;
  transform: rotate(-45deg);
}

.hidden {
  display: none;
}

.-pconly {
  display: block;
}

.-minonly,
.-microonly {
  display: none;
}

/*font*/
.-mincho {
  font-family: "Shippori Mincho", serif;
}

.-jost {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
}

.-c_brown {
  color: #b3956f;
}

a {
  color: #333;
}

@media (hover: hover) and (pointer: fine) {

  a,
  a img {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    color: #333;
  }

  a:hover,
  a:hover img {
    opacity: 0.6;
    text-decoration: none;
  }
}

/*formフォーマット*/

.-reset_form input[type="text"],
.-reset_form input[type="submit"],
.-reset_form input[type="button"],
.-reset_form button,
.-reset_form select,
.-reset_form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

.-reset_form textarea {
  resize: vertical;
}

.-reset_form input[type="submit"],
.-reset_form input[type="button"],
.-reset_form label,
.-reset_form button,
.-reset_form select {
  cursor: pointer;
}

.-reset_form select::-ms-expand {
  display: none;
}

.-reset_form ::placeholder {
  color: #888;
}

.-reset_form ::-ms-input-placeholder {
  color: #888;
}

.-reset_form :-ms-input-placeholder {
  color: #888;
}

/*common*/
/*width*/
.-base {
  max-width: 1150px;
  max-width: min(calc(100% - 40px), 1150px);
  margin-inline: auto;
}

.-middle {
  max-width: 900px;
  max-width: min(calc(100% - 40px), 900px);
  margin-inline: auto;
}

.-min {
  max-width: 800px;
  max-width: min(calc(100% - 40px), 800px);
  margin-inline: auto;
}

.-micro {
  max-width: 750px;
  max-width: min(calc(100% - 40px), 750px);
  margin-inline: auto;
}

.basic__area {
  margin: 0 auto 100px;
}

/*pankuzu*/

#pankuzu {
  padding: 30px 0;
}

#pankuzu ul {
  display: flex;
}

#pankuzu li {
  list-style: none;
  font-size: 1.2rem;
  position: relative;
}

#pankuzu li:not(:last-child)::after {
  content: "＞";
  display: inline-flex;
  padding: 0 10px;
}

.-mb_txt p:not(:last-of-type) {
  margin-bottom: 2em;
}

.spbr {
  display: none;
}

/*header*/
header {
  background: #fff;
  border-top: 6px solid #cf1225;
  padding: 20px 0 0;
  filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.1));
  width: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 3;
}

#head__inner {
  max-width: 1150px;
  max-width: min(calc(100% - 40px), 1150px);
  width: 100%;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.head__inner--log {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 0 30px;
}

.head__cp span {
  font-size: 1.4rem;
}

.head__inner--act {
  display: grid;
  grid-template-columns: 1fr 260px;
  gap: 10px 30px;
}

.head__inner--act form {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 20px;
  gap: 0 10px;
}

.head__inner--act form input {
  width: 210px;
  background: #fff !important;
  border: 1px solid #ccc !important;
  padding: 4px 10px;
}

.humbtn,
#hum__info {
  display: none;
}

.pop__ter {
  display: block;
  overflow: hidden;
  margin-left: auto;
  grid-column: span 2;
}

.pop__ter--box {
  display: grid;
  font-size: 1.3rem;
  align-items: center;
  grid-template-columns: 75px 1fr;
}

.pop__ter--scroll {
  overflow: auto;
}

.pop__ter--box ul {
  display: flex;
  width: max-content;
}

.pop__ter--box li {
  list-style: none;
  font-size: 1.2rem;
  line-height: 1;
}

.pop__ter--box li:not(:last-of-type) {
  margin-right: 10px;
}

.pop__ter--box li a {
  display: block;
  text-decoration: none;
  padding: 3px 8px;
  border: 1px solid #ccc;
  color: #333;
}

.head__inner--reserve {
  filter: drop-shadow(3px 3px 4px rgba(0, 0, 0, 0.3));
  text-align: center;
  line-height: 1.2;
  font-weight: bold;
  background: #fff;
  border-radius: 50em;
}

.head__inner--reserve a {
  display: grid;
  grid-template-columns: 70px 1fr;
  align-items: center;
  border: 2px solid #cf1225;
  border-radius: 50em;
  background: #cf1225;
  color: #fff;
  text-decoration: none;
  font-size: 1.8rem;
}

.reserve--hour {
  background: #fff;
  border-top-left-radius: 50em;
  border-bottom-left-radius: 50em;
  color: #cf1225;
  padding: 8px;
  font-size: 1.5rem;
}

.reserve--ext span {
  background: url("../img/i-arrow_w.svg") no-repeat right center / 8px;
  padding-right: 20px;
}

/*nav*/
#gnav {
  display: flex;
  justify-content: space-around;
  gap: 0;
}

#gnav>li {
  list-style: none;
  font-weight: bold;
  position: relative;
}

#gnav>li>a {
  text-decoration: none;
  padding: 30px 0;
  display: inline-block;
  position: relative;
  transition: 0.3s;
}

#gnav>li>a::after {
  position: absolute;
  bottom: 20px;
  left: 50%;
  content: "";
  width: 0;
  height: 2px;
  background-color: #b3956f;
  transition: 0.3s;
  transform: translateX(-50%);
}

#gnav>li>a:hover::after {
  width: 100%;
}

.hide__clc {
  opacity: 0;
  z-index: -1;
  pointer-events: none;
  position: absolute;
  left: -40%;
  top: 100%;
  background: #f6f1e9;
  padding: 20px;
  display: grid;
  grid-template-columns: repeat(3, 210px);
  gap: 0 30px;
  width: max-content;
  filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.1));
  font-size: 1.5rem;
  line-height: 1.5;
  transition: 0.3s;
  box-shadow: inset 0px 0px 10px 0px rgb(0, 0, 0, 0.1);
}

.gnav__ud:hover .hide__clc {
  opacity: 1;
  z-index: 3;
  pointer-events: all;
}

.hide__clc--name a {
  font-weight: bold;
  display: block;
  text-decoration: none;
  margin: 15px 0 10px;
}

.hide__clc--name span {
  background: url(../img/i-arrow_red.svg) no-repeat right center / 18px;
  padding: 3px 30px 3px 0;
}

.hide__clc--walk {
  background: url(../img/i-walk.svg) no-repeat left center / 11px auto;
  padding: 3px 0 3px 20px;
  color: #cf1225;
}

#footer_info {
  background: #f6f1e9;
  padding: 60px 0;
}

.foot__logo {
  display: grid;
  grid-template-columns: 180px 170px;
  align-items: center;
  gap: 0 30px;
}

.footer_info__fcp {
  margin-bottom: 30px;
}

.footer__cp span {
  font-size: 1.4rem;
}

.sns__link {
  display: flex;
  justify-content: flex-end;
  gap: 0 20px;
  align-items: center;
}

.sns__link li {
  list-style: none;
  max-width: 30px;
}

.footer_info--act {
  display: grid;
  grid-template-columns: 360px 1fr 1fr;
  align-items: flex-end;
  gap: 0 40px;
  border-bottom: 1px solid #b3956f;
  padding-bottom: 30px;
  margin-bottom: 30px;
}

.footer_info--act .easy__btn {
  width: max-content;
}

.outlinkbox {
  display: grid;
  grid-template-columns: repeat(4, auto);
  gap: 0 60px;
}

.outlinkbox li {
  list-style: none;
  text-decoration: none;
  font-size: 1.5rem;
}

.outlinkbox li:not(:last-child) {
  margin-bottom: 15px;
}

.outlinkbox li a {
  text-decoration: none;
  color: #333;
}

.outlinkbox li a span {
  background: url(../img/i-arrow_bk.svg) no-repeat right center / 6px;
  display: block;
}

#footer_end {
  background: #b3956f;
  padding: 60px 0;
}

.footer_end--link {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  margin: 0 auto 40px;
}

.footer_end--link li {
  list-style: none;
  text-align: center;
  border-right: 1px solid #fff;
}

.footer_end--link li:first-of-type {
  border-left: 1px solid #fff;
}

.footer_end--link li a {
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  font-size: 1.4rem;
}

small {
  display: block;
  text-align: center;
  color: #fff;
  font-size: 1.4rem;
}

#fix__tel,
#fix__foot_wrap,
#fix__foot_wrap_column {
  display: none;
}

/*btn*/
.gdbtn__cover {
  background-image: linear-gradient(90deg, rgba(179, 149, 111, 1), rgba(244, 220, 203, 1));
  border-radius: 9999px;
  padding: 3px;
  transition: 0.3s;
  margin: 40px auto 0;
}

.gdbtn {
  display: block;
  font-size: 2rem;
  border-radius: 50em;
  text-align: center;
  padding: 14px 20px;
  text-decoration: none;
  color: #fff;
  position: relative;
  background-image: linear-gradient(90deg, rgba(241, 212, 56, 1), rgba(159, 117, 33, 1));
}

.gdbtn::before {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 2px;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  border: 1px solid #f7e99b;
  border-radius: 50em;
  transition: 0.3s;
}

.gdbtn span {
  background: url(../img/i-arrow_w.svg) no-repeat calc(100% - 10px) center / 10px;
  padding-right: 20px;
  display: block;
}

.gdbtn span.first_mark {
  background: url(../img/first_mark.svg) no-repeat 10px center / 19px, url(../img/i-arrow_w.svg) no-repeat calc(100% - 10px) center / 10px;
  padding-right: 20px;
  display: block;
}

.grade__btn__cover {
  background-image: linear-gradient(90deg, rgba(179, 149, 111, 1), rgba(244, 220, 203, 1));
  border-radius: 9999px;
  padding: 3px;
  max-width: 380px;
  width: 100%;
  transition: 0.3s;
  margin: 40px auto 0;
  height: max-content;
}

.grade__btn__cover:hover {
  opacity: 0.6;
}

.grade__btn {
  background: #fff;
  color: #b3956f;
  display: block;
  border-radius: 9999px;
  text-align: center;
  padding: 15px;
  text-decoration: none;
}

.grade__btn:hover {
  background: #fff;
  opacity: 1;
}

.easy__btn {
  background: #cf1225;
  color: #fff;
  text-decoration: none;
  padding: 10px 20px;
  border-radius: 50em;
  display: block;
  text-align: center;
}

.easy__btn span {
  background: url(../img/i-arrow_w.svg) no-repeat right center / 8px;
  padding-right: 18px;
}

.unline_btn__cover {
  text-align: center;
  margin-top: 20px;
}

.unline_btn {
  color: #b3956f;
  text-decoration: underline;
}

.menu__btn--box {
  margin: 30px auto 0;
}

.menu__btn {
  background-image: linear-gradient(90deg, rgba(179, 149, 111, 1), rgba(244, 220, 203, 1));
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: bold;
  color: #b3956f;
  text-decoration: none;
  padding: 10px;
  position: relative;
  height: 60px;
}

.menu__btn::before {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  transition: 0.3s;
  background: #fff;
}

.menu__btn span {
  position: relative;
  z-index: 2;
  background: url(../img/i-arrow-br.svg) no-repeat right center / 10px;
  padding-right: 30px;
}

.menu__btn::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  z-index: 2;
  width: 30%;
  height: calc(100% - 8px);
  background: url(../img/menu__btn-pl.svg) no-repeat right center / cover;
}

/*icon*/
.i-arrow_un-br {
  background: url(../img/i-arrow_un-br.svg) no-repeat right center / 16px;
  padding-right: 26px;
}

.i-arrow_up-br {
  background: url(../img/i-arrow_up-br.svg) no-repeat right center / 16px;
  padding-right: 26px;
}

.i-arrow_bk {
  background: url(../img/i-arrow_bk.svg) no-repeat right center / 8px;
  padding-right: 26px;
}

.i-arrow_br {
  background: url(../img/i-arrow_br.svg) no-repeat right center / 8px;
  display: inline-block;
  padding-right: 26px;
}

.i-arrow_line_w {
  background: url(../img/i-arrow_line_w.svg) no-repeat right center / 16px;
  padding-right: 26px;
}

.i-tel_red {
  background: url(../img/i-tel_red.svg) no-repeat left center / 20px;
  padding-left: 30px;
}

.i-tel_w {
  background: url(../img/i-tel_w.svg) no-repeat left center / 20px;
  padding-left: 30px;
}

.i-walk {
  background: url(../img/i-walk.svg) no-repeat left center / 11px auto;
  padding: 3px 0 3px 20px;
}

.i-voice {
  background: url(../img/i-voice.svg) no-repeat left center / 24px auto;
  padding-left: 34px;
}

.i-circle_arrow_br {
  background: url(../img/i-circle_arrow_br.svg) no-repeat right center / 18px;
  padding: 2px 28px 2px 0;
}

.i-outlink {
  background: url(../img/i-outlink.svg) no-repeat right center / 11px;
  padding: 0 21px 0 0;
}

.i-un_arrow_red {
  background: url(../img/i-un_arrow_red.svg) no-repeat right center / 18px;
  padding: 3px 26px 3px 0;
}

.un_arrow {
  background: url(../img/i-un_arrow_red.svg) no-repeat right center / 18px;
  padding: 3px 26px 3px 0;
}

.i-arrow_reverse_br {
  background: url(../img/i-arrow_reverse_br.svg) no-repeat left center / 8px;
  padding-left: 26px;
}

/*tit*/
.eng-tit {
  text-align: center;
  margin: 0 auto 40px;
}

.eng-tit__scp {
  font-size: 5rem;
  line-height: 1.5;
  color: #b3956f;
}

.eng-tit__scp:first-letter,
.eng-tit__scp span {
  color: #cf1225;
}

.eng-tit__jp {
  color: #b3956f;
  font-family: "游ゴシック ", YuGothic, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-weight: bold;
}

#page__tit {
  text-align: center;
  font-size: 2.8rem;
  font-weight: normal;
  margin: 0 auto 50px;
}

.common__tit {
  text-align: center;
  font-size: 2.8rem;
  font-weight: normal;
  margin: 0 auto 50px;
}

.br__tit {
  color: #b3956f;
  text-align: center;
  font-size: 2.6rem;
  font-weight: bold;
  margin: 0 auto 40px;
}

#post__tit {
  font-size: 3.2rem;
  font-weight: bold;
  margin: 0 auto 20px;
}

/*contents*/
/*index*/
/*mv*/
#mvarea {
  margin: -30px auto 0px;
  height: calc(100vh - 166px);
  max-width: 1920px;
  position: relative;
  overflow: hidden;
}

#screen {
  width: 100vw;
  height: calc(100vh - 166px);
  background: rgba(0, 0, 0, 0.2);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.mvarea--box {
  margin: 0 auto;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
}

.video_wrap {
  position: relative;
  z-index: 0;
  width: 100%;
  height: calc(100vh);
  overflow: hidden;
}

.video_wrap #video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  z-index: -1;
}

.video_wrap #video.sp_mov {
  max-height: 100%;
}

@media screen and (max-width: 959px) {
  .video_wrap {
    height: 64.25vw;
  }

  #fix__foot_wrap_column {
    display: block;
  }
}

@media screen and (max-width: 768px) {
  .video_wrap {
    height: calc(100vh - 56px - 75px);
  }
}

@media screen and (max-width: 413px) {
  .video_wrap #video.sp_mov {
    max-height: 111%;
  }
}

.fcp__catch--scp {
  font-size: 2.4rem;
  font-weight: normal;
  text-align: center;
}

.fcp__catch--fcp {
  font-size: 7rem;
  font-weight: normal;
  text-align: center;
}

.fcp__catch--pic {
  max-width: 400px;
  margin: 0 auto 40px;
}

.fcp__catch {
  position: absolute;
  width: 100%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  max-width: 500px;
  color: #fff;
}

.gdbtn br {
  display: none;
}

.sybox {
  background: url(../img/shadows.svg) repeat-x left top;
  padding: 100px 0;
}

.-un_cut {
  padding-bottom: 0;
}

.recomm__box {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px 30px;
}

.recomm__box li {
  list-style: none;
  display: none;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: opacity 0.5s ease, max-height 0.5s ease;
}

.recomm__box li.initial {
  display: block;
  opacity: 1;
  max-height: none;
  /* 初期要素は高さ制限なし */
}

.recomm__box li.visible {
  display: block;
}

.grade__btn.active .i-arrow_un-br::before {
  content: "閉じる";
  /* クラス active が付与されたときのテキスト変更 */
}

#open_tgl {
  cursor: pointer;
}

#open_tgl.grade__btn__cover.active .i-arrow_un-br {
  background: url(../img/i-arrow_up-br.svg) no-repeat right center / 16px;
}

.tr__box {
  max-width: 1500px;
  max-width: min(calc(100% - 40px), 1500px);
  margin-inline: auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
}

.tr__box--list {
  width: calc(25% - 10px);
  background: #eee;
  text-align: center;
}

.tr__box--list a {
  display: flex;
  flex-wrap: wrap;
  height: 250px;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #fff;
  position: relative;
  padding: 20px;
}

.tr__box--list a::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: rgb(0, 0, 0, 0.3);
  mix-blend-mode: multiply;
}

.tr__box--list a::before {
  content: "";
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  position: absolute;
  left: 5px;
  top: 5px;
  border: 1px solid #fff;
  z-index: 2;
}

.-tr_beautiful-skin {
  background: url(../img/tr_beautiful-skin.jpg) no-repeat center center / cover;
}

.-tr_pores-skin {
  background: url(../img/tr_pores.jpg) no-repeat center center / cover;
}

.-tr_agingcare-skin {
  background: url(../img/tr_agingcare.jpg) no-repeat center center / cover;
}

.-tr_diet-skin {
  background: url(../img/tr_diet.jpg) no-repeat center center / cover;
}

.-tr_laser-skin {
  background: url(../img/tr_laser.jpg) no-repeat center center / cover;
}

.-tr_other-skin {
  background: url(../img/tr_other.jpg) no-repeat center center / cover;
}

.-tr_injection {
  background: url(../img/tr_injection.jpg) no-repeat center center / cover;
}

.tr__box--wrap {
  z-index: 2;
}

.tr__box--name,
.tr__box--txt,
.tr__box--btn {
  display: block;
  width: 100%;
}

.tr__box--name {
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 12px;
}

.tr__box--txt {
  margin-bottom: 20px;
}

.part__area {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 60px;
}

.art__area--tit {
  font-size: 2.4rem;
  grid-column: 2/3;
  grid-row: 1/2;
}

.part__area--tbl {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 20px 10px;
}

.part__area--eng {
  grid-column: 1/2;
  grid-row: 1/3;
  transform: rotate(-90deg);
  height: 1.2em;
  font-size: 5rem;
  line-height: 1;
  color: #f0eae2;
  margin-top: 1.9em;
}

.part__area--map {
  grid-column: 2/3;
  grid-row: 2/3;
  position: relative;
}

.part__area--map span {
  background: url(../img/i-arrow_br.svg) no-repeat calc(100% - 2px) center / 6px;
  padding-right: 16px;
  display: block;
}

.part__area--face,
.part__area--body {
  font-size: 1.5rem;
  line-height: 1;
}

.part__area--face li,
.part__area--body li {
  list-style: none;
  text-align: center;
  position: absolute;
  z-index: 2;
  cursor: pointer;
}

.part__area--face li a,
.part__area--body li a {
  background: #fff;
  padding: 6px 10px;
  display: block;
  text-decoration: none;
  border: 1px solid #b3956f;
  border-radius: 50em;
  color: #b3956f;
  width: 100%;
}

.part__area--face li a .i-outlink,
.part__area--body li a .i-outlink {
  background-image: url(../img/i-outlink.svg);
  background-size: 11px;
  background-position: right center;
}

.content {
  display: none;
}

.content.show {
  display: block;
}

.popup {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: white;
  padding: 20px;
  border-radius: 5px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  opacity: 0;
  transition: opacity 0.3s ease;
  width: calc(100% - 40px);
  max-width: 800px;
}

.popup.show {
  opacity: 1;
}

.popup-content h2 {
  color: #b3956f;
  font-size: 2.2rem;
  text-align: center;
  border-bottom: 1px solid #b3956f;
  padding-bottom: 10px;
  margin-bottom: 20px;
}

.popup-content ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
}

.popup-content ul li {
  list-style: none;
  line-height: 1.2;
}

.popup-content ul li a {
  padding: 10px;
  color: #b3956f;
  background: #f6f1e9;
  padding: 15px 10px;
  display: flex;
  text-decoration: none;
  align-items: center;
  height: 100%;
}

.popup-content ul li a .i-arrow_br {
  display: block;
  width: 100%;
}

.popup-content ul li a .i-arrow_br span {
  font-size: 1.2rem;
}

.popup-close {
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
}

.part__area--body a {
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}

.overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 999;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.overlay.show {
  opacity: 1;
}

.tab-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 10px;
  text-align: center;
  margin: 0 auto;
}

.content-container {
  background: #f6f1e9;
  padding: 80px 0;
}

.need__wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.need__link a {
  background: #fff;
  display: flex;
  padding: 25px;
  text-align: center;
  text-decoration: none;
  height: 80px;
  align-items: center;
  color: #333;
}

.need__link a span {
  background: url(../img/i-arrow_bk.svg) no-repeat right center / 8px;
  padding-right: 26px;
  display: block;
  width: 100%;
}

.need__link div {
  font-size: 1.4rem;
}

.tab {
  background: #cccccc;
  padding: 20px 10px;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
  cursor: pointer;
}

.tab.active {
  background: #f6f1e9;
  color: #cf1225;
}

#quarity__area {
  background: url(../img/quality__bg.jpg) no-repeat center -40px / 1920px auto;
  padding: 240px 0 0;
}

#quarity__area .eng-tit {
  filter: drop-shadow(0px 0px 10px rgba(255, 255, 255, 1));
  position: relative;
  width: max-content;
  margin-inline: auto;
  z-index: 2;
  text-shadow: 16px 16px 16px #fff, -16px 16px 16px #fff, 16px -16px 16px #fff, -16px -16px 16px #fff;
}

.quarity__conta {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 40px;
  max-width: 1060px;
  max-width: min(calc(100% - 40px), 1060px);
  margin-inline: auto;
  margin: 120px auto;
}

.quarity__conta li {
  list-style: none;
  background: #fff;
  padding: 60px 20px 30px;
  text-align: center;
  position: relative;
  font-size: 2rem;
  line-height: 1.8;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  align-items: center;
  filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.1));
}

.i-flower {
  background: url(../img/i-flower.svg) no-repeat center center / cover;
  width: 100px;
  height: 74px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  position: absolute;
  padding-right: 10px;
  left: 50%;
  top: -30px;
  transform: translateX(-50%);
  font-size: 3rem;
  line-height: 1;
}

.quarity_sdbg {
  background: url(../img/quarity_sdbg.svg) no-repeat center top / 1920px auto;
  padding: 220px 0 60px;
  margin-top: -280px;
  text-align: center;
  color: #fff;
}

.quarity_sdbg--info {
  max-width: 700px;
  margin: 0 auto;
  font-size: 1.8rem;
}

.quarity_inf--fcp {
  line-height: 2;
  font-weight: bold;
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid #fff;
}

.quarity_inf--name {
  font-size: 3.6rem;
  font-weight: bold;
  margin: 20px auto -20px;
}

.quarity_sdbg .gdbtn__cover {
  max-width: 450px;
}

.-reserve {
  background: #f6f1e9;
  padding-bottom: 0;
}

.reserve__sch {
  background: #fbf8f4;
  padding: 60px;
  margin: 0 auto 60px;
}

.reserve__sch--fcp {
  text-align: center;
  font-size: 2rem;
  margin-bottom: 30px;
}

.reserve__sch--fcp span {
  font-size: 4rem;
  position: relative;
}

.reserve__sch--fcp span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 100%;
  height: 4px;
  background: #cf1225;
  display: block;
}

.reserve__sch--img {
  max-width: 877px;
  margin: 0 auto 50px;
}

.txt-chant {
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
}

.txt-chant span {
  position: relative;
}

.txt-chant span::before,
.txt-chant span::after {
  content: "";
  width: 20px;
  height: 15px;
  display: inline-block;
  background: #eee;
}

.txt-chant span::before {
  background: url(../img/l-sy.svg) no-repeat center center / 20px;
  margin-right: 20px;
}

.txt-chant span::after {
  background: url(../img/r-sy.svg) no-repeat center center / 20px;
  margin-left: 20px;
}

.res__cover {
  background-image: linear-gradient(90deg, rgba(179, 149, 111, 1), rgba(244, 220, 203, 1));
  border-radius: 9999px;
  padding: 3px;
  max-width: 520px;
  transition: 0.3s;
  margin: 10px auto 0;
  filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.1));
  overflow: hidden;
}

.res__cover:hover {
  opacity: 0.6;
}

.res__cover a {
  background: #fff;
  color: #b3956f;
  display: grid;
  grid-template-columns: 170px 1fr;
  align-items: center;
  border-radius: 9999px;
  text-align: center;
  padding: 0;
  text-decoration: none;
}

.res__cover a:hover {
  background: #fff;
  opacity: 1;
}

.res__cover--time {
  background: #cf1225;
  color: #fff;
  border-top-left-radius: 50em;
  border-bottom-left-radius: 50em;
  margin: -3px 0 -3px -3px;
  font-size: 2.2rem;
  line-height: 1.4;
  padding: 20px 10px 20px 20px;
  position: relative;
}

.res__cover--time:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -50px;
  border: 50px solid transparent;
  border-left: 25px solid #cf1225;
}

.res__cover--act {
  background: url(../img/i-arrow_bk.svg) no-repeat calc(100% - 26px) center / 10px;
  padding: 0 36px 0 25px;
  display: block;
}

.res__cover--act span {
  color: #cf1225;
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1.2;
}

.reserve__point {
  text-align: center;
}

.reserve__point--scp {
  margin-bottom: 40px;
}

.reserve__point--num {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 30px;
  margin: 0 auto 70px;
}

.reserve__point--num li {
  list-style: none;
  background: url(../img/reserve__point--bg.svg) no-repeat center center / cover #b3956f;
  border-radius: 20px;
  padding: 25px 15px;
  position: relative;
  color: #fff;
  font-size: 2.2rem;
  font-weight: bold;
}

.reserve__point--num li::before {
  content: "";
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  border-radius: 20px;
  border: 1px solid #fff;
  display: block;
  position: absolute;
  top: 5px;
  left: 5px;
}

.rev__act {
  background: url(../img/tels_l.svg) no-repeat left bottom / 26%, url(../img/tels_r.svg) no-repeat right bottom / 26%;
  margin-bottom: 40px;
}

.rev__act--tel {
  color: #cf1225;
  font-size: 2.8rem;
  font-weight: bold;
}

.rev__act--time {
  font-size: 2.2rem;
}

.rev__act--time span {
  font-size: 3rem;
  margin-right: 10px;
}

.clinic__rev {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 30px;
}

.clinic__rev li {
  list-style: none;
}

.clinic__rev li a {
  display: grid;
  grid-template-columns: 35% 1fr;
  align-items: center;
  background: #fff;
  text-decoration: none;
  border-radius: 20px;
  pointer-events: none;
  color: #333;
}

.clinic__rev--name {
  background: #b3956f;
  color: #fff;
  border-top-right-radius: 5em;
  border-bottom-left-radius: 20px;
  padding: 20px 15px 20px 0;
  text-align: center;
}

.clinic__rev--number {
  font-size: 3rem;
}

.change__inf {
  background: #fff;
  margin-top: 100px;
  padding: 30px 0 100px;
}

.change__inf a {
  color: #333;
}

.change__inf a span {
  background: url(../img/i-arrow_bk.svg) no-repeat right center / 6px;
  padding-right: 18px;
}

.day__info--scp {
  text-align: center;
  font-size: 2rem;
}

.-day_tre {
  background: url(../img/day_tre--bg.jpg) no-repeat center top / 1920px auto;
  max-height: 490px;
  padding: 60px 0 100px;
}

.clinic__blk {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 40px;
}

.clinic__blk--list {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 6;
}

.clinic__blk--name {
  font-size: 2.2rem;
  font-weight: normal;
}

.clinic__blk--pic {
  margin-bottom: 15px;
}

.clinic__blk--root {
  color: #cf1225;
}

.clinic__add {
  width: 100%;
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 0 0px;
  margin: 0 auto 30px;
}

.clinic__add dt {
  color: #b3956f;
}

.clinic__add dt,
.clinic__add dd {
  border-top: 1px solid #e3e3e3;
  margin-top: 20px;
  padding-top: 20px;
}

.clinic__add dd ul {
  margin-left: 1.2em;
}

.clinic__add--rev {
  background: #b3956f;
  text-align: center;
  color: #fff;
  padding: 6px 10px;
  border-top-right-radius: 20px;
}

.clinic__add--tels a {
  text-decoration: none;
  pointer-events: none;
  color: #333;
}

.clinic__add--number {
  background: #f6f1e9;
  font-size: 3rem;
  line-height: 1;
  text-align: center;
  padding: 10px;
  border-bottom-left-radius: 20px;
}

.clinic__add--subt {
  text-align: center;
  font-size: 1.8rem;
  margin-top: 15px;
}

#tp__case {
  overflow: hidden;
}

#case__area {
  max-width: 1500px;
  max-width: min(calc(100% - 40px), 1500px);
  margin-inline: auto;
  position: relative;
}

#case__area::before {
  content: "";
  display: block;
  position: absolute;
  background: #f6f1e9;
  height: 350px;
  width: 200vw;
  left: -50%;
  top: -20px;
}

.case__slider--list {
  margin: 0 50px;
}

.case__pic {
  margin-bottom: 15px;
}

.-tpspace {
  margin-bottom: 10px;
}

.case__name {
  font-size: 1.8rem;
  margin-bottom: 15px;
}

.case__price {
  display: grid;
  grid-template-columns: 60px 1fr;
  align-items: center;
  gap: 0 10px;
  margin-bottom: 15px;
}

.case__price--tit {
  background: #cf1225;
  text-align: center;
  color: #fff;
}

.acc:not(:last-of-type) {
  margin-bottom: 10px;
}

.acc__key {
  background: #e5d6c3;
  padding: 10px;
  text-align: center;
  margin-bottom: 0 !important;
}

.-resk {
  background: #f0ddd9;
}

.acc__key span {
  background: url(../img/i-arrow_un-bk.svg) no-repeat right center / 10px;
  padding-right: 20px;
  display: block;
}

.acc__key.active span {
  background: url(../img/i-arrow_up-bk.svg) no-repeat right center / 10px;
  padding-right: 20px;
  display: block;
}

.acc__cont {
  display: none;
  padding: 10px;
}

.acc__cont p {
  margin-bottom: 0 !important;
}

.case__slider--list .grade__btn__cover {
  margin-top: 30px;
}

#case__area .slick-prev,
#case__area .slick-next,
#column__wrap .slick-prev,
#column__wrap .slick-next,
#clinic__view .slick-prev,
#clinic__view .slick-next,
#pop__wrap .slick-prev,
#pop__wrap .slick-next,
#progress__slider .slick-prev,
#progress__slider .slick-next {
  width: 50px !important;
  height: 50px !important;
  z-index: 2;
}

/* #progress__slider .slick-prev,
#progress__slider .slick-next {
  width: 30px !important;
  height: 60px !important;
  z-index: 2;
} */

#case__area .slick-prev,
#case__area .slick-next,
#column__wrap .slick-prev,
#column__wrap .slick-next,
#progress__slider .slick-prev,
#progress__slider .slick-next,
#pop__wrap .slick-prev,
#pop__wrap .slick-next {
  top: 30% !important;
}

#clinic__view .slick-prev,
#clinic__view .slick-next {
  top: 50% !important;
}

#case__area .slick-prev,
#column__wrap .slick-prev,
#clinic__view .slick-prev,
#pop__wrap .slick-prev,
#progress__slider .slick-prev {
  background: url(../img/i-prev.svg) no-repeat center center / cover !important;
}

/* 
#progress__slider .slick-prev {
  background: url(../img/i-sq_prev.svg) no-repeat center center / cover !important;
} */

#case__area .slick-prev,
#column__wrap .slick-prev,
#progress__slider .slick-prev {
  left: 32% !important;
}

#clinic__view .slick-prev,
#pop__wrap .slick-prev {
  left: 0% !important;
}

#case__area .slick-next,
#column__wrap .slick-next,
#clinic__view .slick-next,
#pop__wrap .slick-next,
#progress__slider .slick-next {
  background: url(../img/i-next.svg) no-repeat center center / cover !important;
}

/* #progress__slider .slick-next {
  background: url(../img/i-sq_next.svg) no-repeat center center / cover !important;
} */

#case__area .slick-next,
#column__wrap .slick-next,
#progress__slider .slick-next {
  right: 32% !important;
}

#clinic__view .slick-next,
#pop__wrap .slick-next {
  right: 0% !important;
}

#case__area .slick-prev:before,
#case__area .slick-next:before,
#column__wrap .slick-prev:before,
#column__wrap .slick-next:before,
#clinic__view .slick-prev:before,
#clinic__view .slick-next:before,
#progress__slider .slick-prev:before,
#progress__slider .slick-next:before,
#pop__wrap .slick-prev:before,
#pop__wrap .slick-next:before {
  display: none;
}

#case__area .slick-dots li,
#case__area .slick-dots li button,
#column__wrap .slick-dots li,
#column__wrap .slick-dots li button,
#clinic__view .slick-dots li,
#clinic__view .slick-dots li button,
#progress__slider .slick-dots li,
#progress__slider .slick-dots li button,
#pop__wrap .slick-dots li,
#pop__wrap .slick-dots li button {
  width: 10px;
  height: 10px;
}

#case__area .slick-dots li button,
#column__wrap .slick-dots li button,
#clinic__view .slick-dots li button,
#progress__slider .slick-dots li button,
#pop__wrap .slick-dots li button {
  border-radius: 50px !important;
  background: #d9d9d9 !important;
}

#case__area .slick-dots li.slick-active button,
#column__wrap .slick-dots li.slick-active button,
#clinic__view .slick-dots li.slick-active button,
#progress__slider .slick-dots li.slick-active button,
#pop__wrap .slick-dots li.slick-active button {
  border-radius: 50px !important;
  background: #cf1225 !important;
}

#case__area .slick-dots li button:before,
#column__wrap .slick-dots li button:before,
#clinic__view .slick-dots li button:before,
#progress__slider .slick-dots li button:before,
#pop__wrap .slick-dots li button:before {
  display: none;
}

#case__area .grade__btn,
#column__wrap .grade__btn,
#clinic__view .grade__btn,
#progress__slider .grade__btn,
#pop__wrap .grade__btn {
  padding: 10px 15px;
}

#case__area .slick-dots,
#column__wrap .slick-dots,
#clinic__view .slick-dots,
#progress__slider .slick-dots,
#pop__wrap .slick-dots {
  bottom: -45px;
}

#case__area .slick-dotted.slick-slider,
#column__wrap .slick-dotted.slick-slider,
#clinic__view .slick-dotted.slick-slider,
#progress__slider .slick-dotted.slick-slider,
#pop__wrap .slick-dotted.slick-slider {
  margin-bottom: 90px;
}

.column__blk--list {
  margin: 0 15px;
}

.column__blk--list a {
  text-decoration: none;
}

.column__blk--pic {
  margin-bottom: 10px;
}

.column__blk--list time {
  font-size: 1.4rem;
  display: block;
  margin-bottom: 10px;
}

.eng-tit__fcp {
  margin-top: 20px;
}

.insta__area {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 30px;
}

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

#column__wrap .grade__btn__cover,
#instargram__wrap .grade__btn__cover {
  margin-top: 60px;
}

.information__wrap--area {
  display: grid;
  gap: 0 40px;
}

/* 両方のボックスがある場合 */
.information__wrap--area.has-both {
  grid-template-columns: repeat(2, 1fr);
}

/* ニュースのみがある場合 */
.information__wrap--area.has-first {
  grid-template-columns: 1fr;
}

/* お客様の声のみがある場合 */
.information__wrap--area.has-second {
  grid-template-columns: 1fr;
}

/* どちらのボックスもない場合 */
.information__wrap--area.has-none {
  display: none;
}

.infolist--blk__cont:first-of-type {
  border-top: 1px solid #e3e3e3;
}

.infolist--blk__cont {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 0 20px;
  border-bottom: 1px solid #e3e3e3;
  padding: 24px 0;
}

.infolist--blk__cont a {
  color: #333;
}

.information__wrap--abox {
  background: #fff;
  filter: drop-shadow(6px 6px 20px rgba(110, 110, 110, 0.1));
  border-radius: 10px;
  padding: 20px 20px 40px;
}

#instargram__wrap .i-voice br {
  display: none;
}

/*clinics*/
.ank__blk {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 auto 60px;
}

.ank__blk li {
  font-size: 1.8rem;
  text-align: center;
  list-style: none;
}

.ank__blk li:not(:last-of-type) {
  border-right: 1px solid #b3956f;
}

.ank__blk li a {
  text-decoration: none;
  font-weight: bold;
  background: #f6f1e9;
  display: block;
  padding: 15px 10px;
  color: #333;
}

.ank__blk li a:hover {
  background: #b3956f;
  color: #fff;
  opacity: 1;
}

.ank__blk li a:hover .i-un_arrow_red {
  background-image: url(../img/i-un_arrow_white.svg);
}

.clinics__area {
  max-width: 810px;
  margin: 0 auto 100px;
}

.clinics__arae--wrap {
  display: grid;
  grid-template-columns: min(40%, 320px) 1fr;
  gap: 0 40px;
  margin: 0 auto 40px;
}

.sch__map--box {
  grid-column: span 2;
}

.sch__map {
  width: 100%;
  display: grid;
  grid-template-columns: max-content auto auto auto auto auto auto auto;
  gap: 0;
  border-bottom: 2px solid #000;
}

.sch__map div {
  text-align: center;
  border-top: 2px solid #000;
  padding: 8px;
}

.clinics__area .clinic__add dt,
.clinics__area .clinic__add dd {
  border: none;
  padding-top: 0;
}

.clinics__area .clinic__add {
  margin-bottom: 16px;
}

.btn__gmap {
  max-width: 260px;
}

.clinics__arae--act {
  text-align: center;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 30px;
}

.act--web__reserve,
.act--tel__reserve {
  grid-row: span 2;
  grid-template-rows: subgrid;
}

.act--web__reserve a,
.act--tel__reserve a {
  text-align: center;
  display: block;
  border-radius: 20px;
  text-decoration: none;
}

.act--tel__reserve a {
  pointer-events: none;
}

.web__reserve--scp,
.tel__reserve--scp {
  color: #fff;
  padding: 10px 15px;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
}

.web__reserve--scp {
  background: #cf1225;
}

.tel__reserve--scp {
  background: #b3956f;
}

.web__reserve--fcp,
.tel__reserve--fcp {
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  color: #333;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.web__reserve--fcp {
  font-size: 3rem;
  font-weight: bold;

  border: 1px solid #cf1225;
}

.tel__reserve--fcp {
  font-size: 4rem;
  border: 1px solid #b3956f;
}

.web__reserve--fcp span {
  font-size: 1.6rem;
  font-weight: normal;
  margin-left: 10px;
  background: url(../img/i-arrow_bk.svg) no-repeat right center / 10px;
  padding-right: 30px;
}

/*clinic detail*/
.clinic__photo {
  max-width: 750px;
  margin: 0 auto 30px;
}

.footmap {
  font-size: 1.8rem;
  text-align: center;
  margin: -40px auto 50px;
  max-width: 1150px;
  max-width: min(calc(100% - 40px), 1150px);
}

.footmap--blk {
  max-width: 750px;
  margin: 0 auto 50px;
}

.footmap--blk .clinic__add dt,
.footmap--blk .clinic__add dd {
  border: none;
  padding-top: 0;
}

.root__m {
  max-width: 750px;
  margin: 50px auto;
}

.root__m--add {
  margin-bottom: 20px;
}

.root__m--map {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  /* 16:9のアスペクト比 */
  height: 0;
  margin-bottom: 20px;
}

.root__m--map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.act__res {
  max-width: 750px;
  margin: 50px auto;
}

#clinic__view {
  max-width: 750px;
  margin: 0 auto 60px;
}

#clinic__view figcaption {
  text-align: center;
  margin-top: 10px;
}

.view__slider--list {
  margin: 0 30px;
}

#clinic__video {
  max-width: 750px;
  margin: 0 auto 50px;
}

.clinic__video--wrap {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.clinic__video--wrap iframe {
  width: 100%;
  height: 100%;
}

#popular,
#doctor__profile,
#clinic__ques {
  max-width: 800px;
  max-width: min(calc(100% - 40px), 800px);
}

.popular--scp {
  text-align: center;
  font-weight: bold;
  color: #b3956f;
  font-size: 2rem;
  margin: -30px auto 30px;
}

.popular__menu li {
  list-style: none;
  font-size: 1.4rem;
}

.popular__menu li:not(:last-child) {
  margin-bottom: 15px;
}

.popular__menu li a {
  border: 1px solid #b3956f;
  display: grid;
  gap: 0 20px;
  align-items: center;
  grid-template-columns: 150px 1fr;
  text-decoration: none;
  color: #111;
  background: url(../img/i-arrow-br.svg) no-repeat calc(100% - 20px) center / 12px;
  padding: 10px 40px 10px 10px;
}

.popular__menu--name {
  font-size: 2rem;
  font-weight: bold;
  color: #b3956f;
  margin-bottom: 8px;
}

.doctor--introduction {
  max-width: 800px;
  display: grid;
  grid-template-columns: min(40%, 320px) 1fr;
  gap: 0 60px;
}

.doctor--prof {
  margin-top: 15px;
  font-size: 1.4rem;
}

.doctor--name {
  font-size: 2.2rem;
  font-weight: normal !important;
}

.near__access {
  text-align: center;
  margin: 0px auto 50px;
}

.clinic__root--video {
  max-width: 800px;
  margin: 0 auto 0px;
}

.root--capt {
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
  color: #b3956f;
  position: relative;
  display: flex;
  align-items: center;
  margin: 60px auto 30px;
}

.root--capt:before,
.root--capt:after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #b3956f;
}

.root--capt:before {
  margin-right: 3rem;
}

.root--capt:after {
  margin-left: 3rem;
}

.root--access {
  max-width: 800px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  counter-reset: number 0;
}

.root--access__step p:first-child {
  margin-bottom: 10px;
}

.root--access__step::before {
  counter-increment: number 1;
  content: "0" counter(number) "";
  position: absolute;
  z-index: 2;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  background: #cf1225;
  color: #fff;
  padding: 10px;
  line-height: 1;
}

.root--access__step {
  position: relative;
  opacity: 1;
  overflow: hidden;
  transition: height 0.5s ease, opacity 0.5s ease;
}

.root--access__step.hidden {
  height: 0;
  opacity: 0;
  overflow: hidden;
  margin: 0;
}

.read--add {
  margin-top: 40px;
  text-align: center;
  font-weight: bold;
  color: #b3956f;
  text-decoration: underline;
  cursor: pointer;
}

.read--add span {
  background: url(../img/i-circle_un_arrow_br.svg) no-repeat right center / 18px;
  padding: 2px 32px 2px 0;
}

.read--add.-active {
  margin-top: 40px;
}

.read--add.-active span {
  background: url(../img/i-circle_up_arrow_br.svg) no-repeat right center / 18px;
  padding: 2px 32px 2px 0;
}

.question__blk .line--tit:not(:first-of-type) {
  margin-top: 40px;
}

.question__blk .faq-q {
  background: #f6f1e9;
  padding: 20px;
  margin-bottom: 2px;
}

.question__blk .faq-q span {
  background: url(../img/icon-q.svg) no-repeat left center / 12px, url(../img/i-plus_br.svg) no-repeat right center / 12px;
  display: block;
  padding: 0 20px 0 25px;
}

.question__blk .faq-q {
  cursor: pointer;
}

.question__blk .faq-a {
  padding: 20px;
  display: none;
  background: #f9f9f9;
}

.question__blk .faq-a>div {
  position: relative;
  padding-left: 1.5em;
}

.question__blk .faq-a>div::before {
  content: "";
  display: block;
  width: 12px;
  height: 15px;
  position: absolute;
  left: 0px;
  top: 4px;
  background: url(../img/icon-a.svg) no-repeat center center / 12px;
}

.question__blk .faq-q.active span {
  background: url(../img/icon-q.svg) no-repeat left center / 12px, url(../img/i-minus_br.svg) no-repeat right center / 12px;
}

/*faq*/
.sd__scp {
  font-size: 1.6rem;
  text-align: center;
  max-width: 1150px;
  max-width: min(calc(100% - 40px), 1150px);
  margin: -10px auto 50px;
}

#faq__box {
  max-width: 900px;
  margin-inline: auto;
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(2, 1fr);
}

.faq__box--list a {
  border: 1px solid #b3956f;
  padding: 6px 20px 6px 6px;
  display: grid;
  grid-template-columns: 100px 1fr;
  align-items: center;
  gap: 0 20px;
  background: url(../img/i-arrow-br.svg) no-repeat calc(100% - 20px) center / 8px;
  text-decoration: none;
  font-weight: bold;
  height: 100%;
}

/*faq detail*/
.faq__scp {
  font-size: 2rem;
  text-align: center;
  max-width: 1150px;
  max-width: min(calc(100% - 40px), 1150px);
  margin: -10px auto 50px;
  color: #b3956f;
  font-weight: bold;
}

.faq_kanren {
  margin-top: 20px;
}

.faq_kanren p:first-of-type {
  color: #b3956f;
}

/*customers-voice*/
.term-tit__area #page__tit {
  margin-bottom: 20px;
}

.term-tit {
  text-align: center;
  margin: 0px auto 50px;
  font-size: 20px;
}

.improvement__tit {
  text-align: center;
  font-size: 2.4rem;
  color: #b3956f;
  margin: 0 auto 30px;
}

.improvement__list article:first-of-type {
  border-top: 1px solid #ddd;
}

.improvement__list article {
  display: grid;
  grid-template-columns: min(40%, 266px) 1fr;
  gap: 0 40px;
  padding: 30px 20px;
  border-bottom: 1px solid #ddd;
}

.improvement__list article a {
  text-decoration: none;
}

.improvement__list article time {
  display: block;
  color: #999;
  margin-bottom: 20px;
}

.navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 50px auto 0;
}

.navigation li {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #b3956f;
  margin: 0 5px;
}

.navigation li a {
  text-decoration: none;
  color: #b3956f;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
}

.navigation .post_prev,
.navigation .post_next {
  border: none;
}

.navigation .nownumber {
  background: #cf1225;
  border-color: #cf1225;
}

.nownumber a {
  pointer-events: none;
  color: #fff !important;
}

/*customers-voice detail*/
.line--tit {
  text-align: center;
  font-size: 2.4rem;
  position: relative;
  align-items: center;
  display: flex;
  margin-bottom: 30px;
  font-weight: normal;
}

.line--tit::before,
.line--tit::after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #b3956f;
}

.line--tit::before {
  margin-right: 10%;
}

.line--tit::after {
  margin-left: 10%;
}

#user__voice time {
  display: block;
  text-align: right;
  margin-bottom: 20px;
}

.user__voice--box {
  display: grid;
  grid-template-columns: 90px auto;
  align-items: end;
  gap: 0 40px;
  max-width: 80%;
  margin: 0 auto 40px;
}

.user__voice--word {
  position: relative;
  border: 1px solid #b3956f;
  border-radius: 6px;
  padding: 20px;
  font-weight: bold;
  font-size: 2.2rem;
}

.user__voice--word:before {
  content: "";
  position: absolute;
  top: 66%;
  left: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-right: 12px solid #fff;
  z-index: 2;
}

.user__voice--word:after {
  content: "";
  position: absolute;
  top: 66%;
  left: -28px;
  margin-top: -14px;
  border: 14px solid transparent;
  border-right: 14px solid #b3956f;
  z-index: 1;
}

.responce {
  max-width: 66px;
  margin: 0 auto 50px;
}

#responce__box {
  border: 1px solid #b3956f;
  border-radius: 10px;
  padding: 0 60px 60px;
}

.responce__box--mi {
  background: #b3956f;
  color: #fff;
  padding: 20px;
  font-size: 2.4rem;
  text-align: center;
  max-width: 70%;
  margin: 0 auto 50px;
}

#responce__box h3 {
  font-size: 2.2rem;
  margin-bottom: 30px;
  color: #b3956f;
  border-bottom: 1px dashed #b3956f;
  padding-bottom: 20px;
  margin-bottom: 40px;
}

.responce__thum--tbl {
  max-width: 530px;
  margin: 50px auto 0;
}

.responce__thum--tbl p:not(:last-of-type) {
  margin-bottom: 2em;
}

.responce__thum--tbl img {
  width: 100%;
  height: auto;
  display: block;
}

.good__point {
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 3px solid #cf1225;
  border-radius: 50em;
  max-width: 200px;
  margin: 30px auto 60px;
  color: #cf1225;
  font-weight: bold;
  gap: 0 10px;
  padding: 10px 10px;
}

#user__voice .i-arrow_reverse_br {
  display: inline-block;
}

#others__case {
  max-width: 800px;
  max-width: min(calc(100% - 40px), 800px);
}

/*case*/
#search_problem {
  border: 1px solid #b3956f;
  border-left: 15px solid #cf1225;
  padding: 18px 20px;
  max-width: 600px;
  width: 100%;
  margin: 0 auto;
  display: block;
  font-size: 2rem;
  background: url(../img/i-arrow_un-br.svg) no-repeat calc(100% - 20px) center / 16px;
}

#search_problem,
#search_problem option {
  -webkit-appearance: none;
  /* SafariやiOS用 */
  -moz-appearance: none;
  /* Firefox用 */
  appearance: none;
  /* 標準 */
  color: #333 !important;
}

#search_popular_treatments li {
  list-style: none;
}

#search_popular_treatments li:not(:last-of-type) {
  margin-bottom: 20px;
}

#search_popular_treatments li a {
  display: block;
  background: #f6f1e9;
  padding: 20px;
  text-decoration: none;
}

#search_popular_treatments li a span {
  background: url(../img/i-arrow-br.svg) no-repeat right center / 8px;
  display: block;
  padding-right: 20px;
}

.cases {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px 30px;
}

.tags {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 6px;
}

.tags li {
  background: #b3956f;
  color: #fff;
  display: inline-flex;
  line-height: 1;
  padding: 6px 15px;
}

.cat-btn__wrap {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 40px;
}

.cat-btn__wrap .grade__btn__cover {
  margin: 0;
}

.grade__btn--back span {
  padding-left: 26px;
  padding-right: 0;
  background-position: left;
  background-image: url(../img/i-arrow_reverse_br.svg);
}

.cases article {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 10px;
}

.cases .cases--img {
  margin-bottom: 5px;
}

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

.cases .cases--tit {
  margin-bottom: 15px;
}

.case__picarea .cases--img:not(:last-of-type) {
  margin-bottom: 10px;
}

.cases--tit {
  font-size: 2rem;
  font-weight: normal;
}

.cases--price {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 10px;
}

.cases--price dt {
  background: #cf1225;
  color: #fff !important;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: normal !important;
}

.cases--comment dt {
  background: #e5d6c3;
  text-align: center;
  padding: 10px 20px;
  cursor: pointer;
}

.cases--comment dt:nth-of-type(2) {
  background: #f0ddd9;
  margin-top: 10px;
}

.cases--comment dt span {
  background: url(../img/i-arrow_un-bk.svg) no-repeat right center / 15px;
  display: block;
}

.cases--comment dt.active span {
  background: url(../img/i-arrow_up-bk.svg) no-repeat right center / 15px;
}

.cases--comment dd {
  display: none;
  padding: 20px;
  background: #f9f9f9;
}

.cases .grade__btn__cover {
  margin-top: 20px;
}

/*case detail*/
.case__introduct {
  text-align: center;
  margin: -20px auto 60px;
}

.case__picarea {
  max-width: 520px;
  margin: 0 auto 50px;
}

.case__picarea .tags {
  margin-bottom: 10px;
}

.case__summary dl {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 0;
  border-bottom: 1px solid #adadad;
}

.case__summary dl dt,
.case__summary dl dd {
  padding: 10px;
  border-top: 1px solid #adadad;
}

.case__summary dl dt {
  background: #f6f1e9;
  text-align: center;
}

.case__summary--id {
  margin-top: 30px;
}

.case__summary--id p:nth-child(2) {
  font-size: 1.4rem;
}

.case__summary--cont {
  margin-top: 50px;
}

.case__summary--tit {
  text-align: center;
  background: #f6f1e9;
  padding: 15px 10px;
  margin-bottom: 20px;
}

.commentary__doctor {
  margin-top: 40px;
  display: grid;
  grid-template-columns: 62px auto;
  gap: 0 20px;
  align-items: center;
}

.commentary__doctor a {
  text-decoration: underline;
}

.co__pics img {
  width: 62px;
  height: 62px;
  border-radius: 50%;
}

#progress__slider {
  position: relative;
}

.progress__slider--list {
  margin: 0 20px;
}

.progress__slider--list .tags {
  margin-bottom: 10px;
}

/*column*/
#column__area {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px 30px;
  margin-bottom: 60px;
}

#column__area.tog_area {
  margin-bottom: 0;
}

#column__area .column__blk--list {
  margin: 0;
}

.column-category {
  display: flex;
  gap: 6px;
  margin-bottom: 10px;
}

.column-category li {
  list-style: none;
}

.column-category li a {
  display: block;
  background: #b3956f;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
  padding: 6px;
  text-decoration: none;
}

.catelist--tit {
  text-align: center;
  font-weight: 500;
  font-size: 2.6rem;
  color: #b3956f;
  margin: 0 auto 30px;
}

.search__category {
  margin: 0 auto 80px;
}

.search__category ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 20px;
}

.search__category ul li {
  list-style: none;
  border-bottom: 1px solid #adadad;
}

.search__category ul a {
  display: block;
  padding: 20px 0;
  text-decoration: none;
}

.search__category .i-arrow_br {
  display: block;
}

.search__tags ul {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  justify-content: center;
}

.search__tags ul li {
  list-style: none;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;
}

.search__tags ul a {
  background: #f6f1e9;
  color: #b3956f;
  display: block;
  text-decoration: none;
  padding: 10px;
}

.category__explanation {
  text-align: center;
  font-size: 2rem;
  margin: 0 auto 60px;
}

.post--index {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 30px;
}

.post--index .column-category {
  margin: 0;
}

.post-thum {
  margin: 0 auto 50px;
}

.column_mv {
  position: relative;
  padding-bottom: 40%;
  width: 100%;
  height: 0;
}

.post-thum img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.post__introduction {
  margin: 0 auto 50px;
  line-height: 2;
}

.post__introduction p:not(:last-of-type) {
  margin-bottom: 2em;
}

.toc__cover {
  max-width: 800px;
  margin: 0 auto 50px;
  text-align: center;
  height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f6f1e9;
}

#column-post h2 {
  font-weight: bold;
  font-size: 2rem;
  position: relative;
  padding-left: 15px;
  margin: 60px auto 30px;
}

#column-post h2::before {
  content: "";
  display: block;
  width: 5px;
  height: 1.4em;
  background: #b3956f;
  position: absolute;
  left: 0;
  top: 0;
}

#column-post h3 {
  font-weight: bold;
  font-size: 2rem;
  position: relative;
  margin: 60px auto 30px;
  padding-bottom: 20px;
}

#column-post h3::before {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #ddd;
  position: absolute;
  left: 0;
  bottom: 0;
}

#column-post h3::after {
  content: "";
  display: block;
  width: 50px;
  height: 2px;
  background: #b3956f;
  position: absolute;
  left: 0;
  bottom: 0;
}

#column-post h4 {
  display: inline-block;
  margin: 4.8rem 0 2.4rem;
  background: linear-gradient(transparent 70%, #f4dccb 30%);
  font-size: 2rem;
  line-height: 1.3;
}

#column-contents {
  margin: 0 auto 80px;
}

#column-contents strong {
  color: #b3956f;
}

#column-contents>p,
#column-contents>figure,
#column-contents>ol,
#column-contents>ul {
  margin-top: 2em;
  line-height: 2;
}

#column-contents>figure img {
  max-width: 100%;
  height: auto;
  display: block;
  margin-inline: auto;
}

#column-contents img {
  width: 100%;
  margin-inline: auto;
  height: auto !important;
  display: block;
}

#column-contents .is-layout-flex {
  margin-top: 2em;
}

#column-contents .box-fusen {
  border-color: #777;
  border-left: 6px solid #b59159;
  background-color: #f3f2f0;
  padding: 0.5em 1em;
  border-radius: 4px;
  margin: 2.4rem 0;
  padding-left: 2.5em;
}

#column-post .search__tags ul {
  justify-content: left;
}

#column-contents .grade__btn__cover,
#column-post .search__tags {
  margin-top: 60px;
}

#column-contents blockquote {
  margin-top: 2.4rem;
  margin-right: auto;
  margin-left: auto;
  padding: 1.5rem 2rem 1.5rem 3rem;
  width: 90%;
  border-left: 1rem solid #e0e0e0;
  background-color: #f0f0f0;
  font-size: 0.9em;
}

#column-contents>ol,
#column-contents>ul {
  margin-left: 1.5em;
}

#column-contents ol li::marker,
#column-contents ul li::marker {
  color: #a28a55;
}

#column-contents>ol li:not(:last-of-type),
#column-contents>ul li:not(:last-of-type) {
  margin-bottom: 1em;
}

.column_learn {
  position: relative;
  margin-top: 4rem;
  margin-bottom: 4rem;
  padding: 1em;
  padding-top: 1.5em;
  padding-left: 3em;
  border: 3px solid #db5665;
  border-radius: 1rem;
}

.column_learn_title {
  position: absolute;
  top: 0;
  left: 1.5em;
  display: flex;
  align-items: center;
  gap: 0.5em;
  padding: 0.25em 0.5em;
  background-color: #fff;
  color: #db5665;
  font-weight: 700;
  font-size: 1.5rem;
  transform: translateY(-50%);
}

.column_learn_title::before {
  content: "";
  display: block;
  width: 1.5em;
  height: 1.5em;
  background-image: url(../img/ribbon.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.column_learn_text {
  font-size: 1.5rem;
}

.column_outline .copy {
  margin-bottom: 0.5em;
  color: #a28a55;
  font-weight: 600;
  font-size: 2rem;
}

.column_outline .text ul {
  margin-left: 1.5em;
}

.counseling-bnr {
  margin: 60px auto 40px auto;
  display: flex;
  flex-wrap: wrap;
  max-width: 750px;
  border: 1px solid #b59159;
}

.counseling-bnr-main {
  width: 100%;
}

.counseling-bnr-line {
  width: 60%;
}

.counseling-bnr-tel {
  width: 40%;
}

.counseling-bnr img {
  width: 100%;
  max-width: 100%;
  margin: 0;
  vertical-align: top;
  transition-duration: 0.5s;
}

#supervision {
  max-width: 900px;
  border: 1px solid #b3956f;
  padding: 60px;
  margin: 60px auto;
}

.supervision__inner {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 0 60px;
  margin: 0 auto 50px;
}

.supervision__info {
  padding-top: 40px;
}

.supervision--data {
  margin-bottom: 30px;
}

.supervision--data dt {
  color: #b3956f;
  font-weight: bold;
  background: url(../img/i-pen.svg) no-repeat left center / 20px;
  padding-left: 32px;
  margin-bottom: 20px;
}

.supervision--data dd {
  font-size: 1.8rem;
}

.supervision--name {
  font-size: 3rem;
}

.supervision__message {
  margin-bottom: 40px;
}

.doc__personal {
  display: grid;
  grid-template-columns: 100px auto;
  align-items: center;
  border-top: 1px dashed #ccc;
  padding: 30px 10px;
}

.doc__personal p {
  color: #b3956f;
  font-weight: bold;
}

.doc__personal li {
  list-style: none;
  position: relative;
  padding-left: 1em;
}

.doc__personal li::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #b3956f;
}

.doc__personal:last-of-type {
  padding-bottom: 0;
}

.post_move {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  /* 2つのカラム、各50% */
  gap: 20px;
  /* 任意で隙間を設定 */
  width: 100%;
  /* コンテナ全体の幅を100%に */
}

.post_move a {
  text-decoration: none;
}

.post_move--next,
.post_move--prev {
  width: 100%;
  /* アイテムの幅をコンテナに合わせる */
  background: #f5f5f5;
  padding: 30px;
  font-size: 1.5rem;
}

.post_move--prev {
  background: url(../img/i-arrow_reverse_br.svg) no-repeat 20px center / 10px #f5f5f5;
  padding-left: 50px;
}

.post_move--next {
  background: url(../img/i-arrow_br.svg) no-repeat calc(100% - 20px) center / 10px #f5f5f5;
  padding-right: 50px;
}

.post_move:only-child {
  grid-template-columns: 1fr;
  /* アイテムが1つだけの場合、全幅 */
  justify-items: center;
  /* アイテムを中央に配置 */
}

.post_move--next:only-child,
.post_move--prev:only-child {
  width: 50%;
  grid-column: span 2;
  margin: 0 auto;
}

.post_move--hint {
  color: #b3956f;
  text-align: center;
  font-weight: bold;
  margin-bottom: 10px;
}

.search__capt {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 30px;
  margin: 0 auto 60px;
}

.search__capt li {
  list-style: none;
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
}

.search__capt li a span {
  position: relative;
  word-break: auto-phrase;
}

.search__capt li a {
  object-fit: contain;
  background: #eee;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 160px;
  text-decoration: none;
  color: #fff;
  position: relative;
}

.search__capt li a::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  background: rgba(0, 0, 0, 0.33);
}

#column-post h2.rich_title::before {
  display: none;
}

#column-post h2.rich_title {
  text-align: center;
  padding: 0;
}

.column_sns_list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 10px;
  max-width: 600px;
  margin: 0 auto;
}

.column_sns_item {
  list-style: none;
  text-align: center;
  width: 30%;
}

.column_sns_item a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border-radius: 6px;
  background: #eee;
  text-decoration: none;
  color: #fff;
  font-weight: bold;
}

.column_sns_item a.twitter {
  background-color: #333;
}

.column_sns_item a.line {
  background-color: #00c300;
}

.column_sns_item a.facebook {
  background-color: #315096;
}

.-column__unact .grade__btn__cover {
  max-width: 450px;
}

.-column__unact .question__blk .faq-a div p:not(:last-child),
.-column__unact .question__blk .faq-a div figure:not(:last-child) {
  margin-bottom: 1em;
}

.-column__unact .question__blk .faq-a img {
  max-width: 100%;
}

.related-cases {
  margin-bottom: 150px;
}

.vk_borderBox {
  margin: 60px auto;
}

.vk_borderBox_body {
  border: 2px solid #f78da7;
  padding: 2em;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

.vk_borderBox_title_container {
  display: inline-block;
  color: #fff !important;
  padding: 10px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

#column-post h4.vk_borderBox_title {
  background: none;
  margin: 0;
  color: #fff;
  font-size: 1.8rem !important;
}

#column-post h4.vk_borderBox_title span {
  background: url(../img/i-ext.svg) no-repeat left center / 20px;
  padding-left: 30px;
}

h3.column_origin-title,
h3.column_origin-title strong {
  margin: 2em 0 3rem 0.5rem;
  padding: 0 0 0.5rem 0;
  font-size: 3rem;
  text-align: center;
  color: #333;
}

h3.column_origin-title::before {
  display: none !important;
}

h3.column_origin-title::after {
  background-color: #db5665 !important;
  left: 50% !important;
  transform: translateX(-50%);
}

.column_line-btn {
  width: 300px;
  margin: 0 auto;
  letter-spacing: 0.05em;
  line-height: 2.1;
}

.column_line-btn a {
  padding: 1rem 3rem;
  display: flex;
  align-items: center;
  border-radius: 50px;
  background-color: #f4f6f8;
  border: 1px solid #ccc;
  color: #333;
  text-decoration: none;
  text-align: center;
  justify-content: center;
}

.baloons {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 0 40px;
  margin: 30px auto;
  position: relative;
}

.baloons.-reverse {
  display: grid;
  grid-template-columns: 1fr 100px;
  gap: 0 40px;
  margin: 30px auto;
}

.baloons.-reverse .baloons--name {
  order: 2;
}

.baloons.-reverse .baloons--word {
  order: 1;
}

.baloons--name {
  width: 100px;
  display: flex;
  justify-content: center;
  background: #f7f7f7;
  align-items: center;
}

.baloons--word,
.baloons--word_left {
  border: 1px solid #ccc;
  padding: 20px;
  background: #f7f7f7;
  border-radius: 10px;
  position: relative;
}

.baloons .baloons--word_left:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -23px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-right: 12px solid #f7f7f7;
  z-index: 2;
}

.baloons .baloons--word_left:after {
  content: "";
  position: absolute;
  top: 50%;
  left: -27px;
  margin-top: -14px;
  border: 14px solid transparent;
  border-right: 14px solid #ccc;
  z-index: 1;
}

.baloons.-reverse .baloons--word:before {
  content: "";
  position: absolute;
  top: 50%;
  right: -23px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-left: 12px solid #f7f7f7;
  z-index: 2;
}

.baloons.-reverse .baloons--word:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -27px;
  margin-top: -14px;
  border: 14px solid transparent;
  border-left: 14px solid #ccc;
  z-index: 1;
}

/*doctor*/
#doctor__mv {
  background: url(../img/mv__doctor.jpg) no-repeat center center / 1920px;
  height: 540px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-top: -80px;
  padding: 0 20px;
}

.doctor__mv__inner h1 {
  font-size: 3rem;
  line-height: 1;
  font-weight: normal;
}

.doctor__mv__fcp {
  margin-top: 20px;
}

#doctor__list article {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 0 60px;
  align-items: center;
}

#doctor__list article .grade__btn__cover {
  grid-column: span 2;
}

#doctor__list article:not(:last-of-type) {
  margin-bottom: 60px;
  padding-bottom: 60px;
  border-bottom: 1px dashed #b3956f;
}

.doctor__sns {
  display: flex;
  gap: 0 20px;
  align-items: center;
}

.doctor__sns li {
  list-style: none;
  max-width: 30px;
}

.doc__prof--position {
  font-size: 1.8rem;
}

.doc__prof--name {
  font-size: 3rem;
  margin: 20px 0 30px;
  font-weight: normal;
}

.doc__prof--message {
  margin-bottom: 30px;
}

.doctor__prof {
  background: url(../img/message_word.svg) no-repeat right bottom / 250px;
  padding-bottom: 50px;
}

/*doctor detail*/
#doctor__detail {
  margin: 0 auto 90px;
}

#doctor__detail article {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 0 100px;
  align-items: center;
}

#doctor__detail .doctor__list--pic {
  position: relative;
}

#doctor__detail .doctor__list--pic::after {
  content: "";
  display: block;
  position: absolute;
  left: 30px;
  top: 30px;
  background: #f0e8d2;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.doc-tit__scp {
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 1.5;
  color: #b3956f;
}

.doc-tit__scp:first-letter,
.doc-tit__scp span {
  color: #cf1225;
}

.doctor__messa {
  margin: 0 auto 60px;
}

.doctor__messa--tit {
  display: flex;
  align-items: center;
  gap: 0 20px;
  position: relative;
  margin-bottom: 50px;
}

.doctor__messa--tit::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  width: 6px;
  height: 6px;
  background: #b3956f;
  transform: translateY(-50%) rotate(45deg) skew(calc((90deg - 30deg) / 2), calc((90deg - 30deg) / 2));
  /* calc((90deg - 欲しい角度) / 2) */
}

.doctor__messa--tit::after {
  content: "";
  height: 1px;
  flex-grow: 1;
  border-top: 1px dashed #b3956f;
  margin-left: 2rem;
}

.doctor__messa--detail {
  padding: 0 40px;
  line-height: 1.8;
}

.career__map {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 0;
  border-top: 1px solid #b3956f;
  margin-top: 50px;
}

.career__map dt,
.career__map dd {
  padding: 20px 40px;
  border-bottom: 1px solid #b3956f;
}

.career__map dt {
  background: #f0e8d2;
  text-align: center;
  font-weight: bold;
}

.about__point {
  font-weight: bold;
  color: #b3956f;
  font-size: 1.8rem;
  margin-bottom: 30px;
}

.about__doctor {
  border-bottom: 1px dashed #b3956f;
  padding-bottom: 50px;
  margin-bottom: 50px;
}

.about__doctor dl:not(:last-of-type) {
  margin-bottom: 50px;
}

.about__doctor dt {
  font-weight: bold;
  font-size: 2rem;
  margin-bottom: 20px;
  position: relative;
  padding-left: 25px;
}

.about__doctor dd:not(:last-of-type) {
  margin-bottom: 40px;
}

.about__doctor dt::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 3px solid #b3956f;
  position: absolute;
  left: 0;
  top: 0.5em;
}

.about__doctor>div p:not(:last-of-type) {
  margin-bottom: 2em;
}

.about__doctor div figure {
  margin: 0 auto 50px;
  display: block;
}

.about__doctor div figure img {
  max-width: 600px;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.kind__person article {
  display: grid;
  grid-template-columns: 1fr 200px;
  gap: 0 50px;
}

.kind__person article:not(:last-of-type) {
  border-bottom: 1px solid #e3e3e3;
  padding-bottom: 50px;
  margin-bottom: 50px;
}

.kind__person--pic {
  order: 2;
}

.kind__person--prof {
  font-size: 1.4rem;
  margin-bottom: 5px;
}

.kind__person--name {
  font-size: 2.2rem;
  margin-bottom: 20px;
}

/*menu*/
.treat__index {
  margin: -30px auto 0;
  text-align: center;
}

.treat__one {
  position: relative;
  margin: 120px auto 80px;
}

.treat__one::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100vw;
  height: calc(100% + 80px);
  background: rgba(249, 249, 249, 1);
  z-index: -1;
}

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

.treat__one--list>li {
  list-style: none;
  border-bottom: 1px solid #adadad;
  font-size: 1.8rem;
}

.treat__one--list>li a {
  padding: 20px 20px 20px 0;
  text-decoration: none;
  display: block;
  background: url(../img/i-arrow_br.svg) no-repeat right center / 10px;
}

.treat__one--list>li a span {
  margin-right: 10px;
}

.clinic__tag {
  display: inline-flex;
}

.clinic__tag li {
  background: #b3956f;
  color: #fff;
  padding: 6px;
  font-size: 1.3rem;
  line-height: 1;
  margin-right: 10px;
  list-style: none;
}

.iframe-wrapper {
  position: relative;
  padding-bottom: 178.25%;
  height: 0;
  overflow: hidden;
}

.iframe-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.yourube__box {
  max-width: 360px;
  margin: 0 auto 80px;
}

#post_cc .-middle {
  max-width: 900px;
}

/*price*/
.price--tit {
  margin-bottom: 72px;
}

.price--tit::before,
.price--tit::after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #b3956f;
}

.price--tit::before {
  margin-right: 10%;
}

.price--tit::after {
  margin-left: 10%;
}

.price-tbl {
  max-width: 600px;
  width: 100%;
  margin: 50px auto;
}

.price-tbl table {
  width: 100%;
  border-spacing: 0;
  padding: 0;
  margin-bottom: 20px;
}

.price-tbl table tr td {
  width: 50%;
  text-align: center;
  padding: 20px 0;
}

.price-tbl table tr:nth-child(odd) td {
  background: #f8eae0;
}

.price-tbl table tr:nth-child(odd) td:nth-child(even) {
  background: #f4dccb;
}

.price-tbl table tr:nth-child(even) td {
  background: #faf7f2;
}

.price-tbl table tr:nth-child(even) td:nth-child(even) {
  background: #f6f1e9;
}

.price-item p {
  padding: 10px 0;
  text-align: center;
}

.price__menu__blk {
  margin: 0 auto 120px auto;
}

.price__menu__blk dt {
  padding: 20px;
  margin-bottom: 0;
}

.bg-skin dt {
  background-color: #f0e8d2;
}

.bg-pores dt {
  background-color: #f2e2d1;
}

.bg-age dt {
  background-color: #f0ddd9;
}

.bg-drip dt {
  background-color: #cee4e6;
}

.bg-diet dt {
  background-color: #deead2;
}

.bg-depi dt {
  background-color: #dcdade;
}

.bg-others dt {
  background-color: #eeebc3;
}

.price-nav {
  max-width: 1520px;
  max-width: min(calc(100% - 40px), 1520px);
  margin-inline: auto;
}

.price-nav .ank__blk {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 0;
  margin: 100px auto;
  min-width: 1520px;
  max-width: 98%;
  justify-content: center;
}

.price-nav .ank__blk li {
  max-width: 360px;
  width: 100%;
}

.price__menu__blk .-menu-space {
  margin-bottom: 20px;
}

.price__menu__blk dt span {
  display: block;
  padding: 0 20px 0 10px;
  position: relative;
}

.price__menu__blk dt>span {
  background: url(../img/i-arrow_un-bk.svg) no-repeat right center / 10px;
  padding-right: 20px;
  display: block;
}

.price__menu__blk dt.active>span {
  background: url(../img/i-arrow_up-bk.svg) no-repeat right center / 10px;
  padding-right: 20px;
  display: block;
}

.price__menu__blk dt {
  cursor: pointer;
}

.price__menu__blk dd {
  padding: 20px;
  display: none;
  background: #ebebeb;
  margin-bottom: 20px;
}

.price__menu__blk dd>div {
  position: relative;
}

.price__menu__blk dd>div::before {
  content: "";
  display: block;
  width: 12px;
  height: 15px;
  position: absolute;
  left: 0px;
  top: 4px;
}

.price__menu__blk dt span.clinic-list {
  display: inline;
}

.price__menu__blk dt span.clinic-list:after {
  display: none;
}

.price__menu__blk .clinic {
  display: inline-block;
  background: #b3956f;
  text-align: center;
  padding: 2px 8px;
  margin-left: 16px;
  color: #fff;
}

.price__menu__blk .clinic:after {
  display: none;
}

#skin-whitening,
#pores-acne,
#aging-treatment,
#drip-therapy,
#medical-diet,
#medical-laser,
#other-treatments {
  padding-top: 180px;
  margin-top: -180px;
}

.-mbonly {
  display: none;
}

/*menu-list*/
#menu__ddlist {
  margin: -20px auto 0;
}

#menu__ddlist .ank__blk {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 0;
  justify-content: center;
}

#menu__ddlist .ank__blk li {
  max-width: calc(100% / 3);
  width: 100%;
}

#menu__ddlist .ank__blk li:nth-child(3n) {
  border: none;
}

.treat__word {
  text-align: center;
  margin: -30px auto 60px;
}

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

.treat__list a {
  display: grid;
  grid-template-columns: 100px auto;
  height: 100%;
  gap: 0 30px;
  background: #f6f1e9;
  padding: 30px;
  text-decoration: none;
}

.treat__list a dt {
  font-size: 1.8rem;
  font-weight: bold;
  color: #b3956f;
  border-bottom: 1px dashed #b3956f;
  padding-bottom: 10px;
  margin-bottom: 20px;
}

.mores {
  text-align: right;
  font-size: 1.4rem;
  margin-top: 20px;
}

.mores span {
  background: url(../img/i-arrow_bk.svg) no-repeat right center / 7px;
  padding-right: 15px;
  line-height: 1;
}

#page-anker03 {
  margin-top: 100px;
}

#page-anker10 .faq_kanren {
  display: none;
}

/*menu-detail*/
.treat__intro {
  display: grid;
  grid-template-columns: 1fr 46%;
  align-items: center;
  gap: 0 50px;
  padding: 0 30px 30px 0;
  margin: 0 auto 50px;
}

.treatment--ded {
  position: relative;
  z-index: 2;
}

.treatment--ded img {
  border: 1px solid #ccc;
}

.treatment--ded::after {
  content: "";
  position: absolute;
  top: 30px;
  left: 30px;
  width: 100%;
  height: 100%;
  background: #eee;
  z-index: -1;
}

.treat__intro--name {
  font-size: 2.8rem;
  margin-bottom: 20px;
}

.treat__intro .clinic__tag li {
  margin: 0 0 8px 8px;
}

.treat__intro .clinic__tag li:first-of-type {
  margin-left: 0;
}

#treat__intro--list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 20px;
  margin: 0 auto 60px;
}

#treat__intro--list li {
  list-style: none;
}

#treat__intro--list li a {
  text-decoration: none;
  background: #f6f1e9;
  display: block;
  padding: 10px 20px;
}

#treat__intro--list li a:hover {
  background: #b3956f;
  color: #fff;
  opacity: 1;
}

#treat__intro--list li a:hover .i-un_arrow_red {
  background-image: url(../img/i-un_arrow_white.svg);
}

#treat__intro--list li a span {
  display: block;
}

.treat__descript {
  margin-bottom: 60px;
}

.these {
  border: 1px solid #b3956f;
  padding: 30px;
  max-width: 800px;
  margin-inline: auto;
}

.these ul {
  margin-top: -20px;
}

.these li {
  margin-left: 1.5em;
}

.-treatmentbox h2 {
  color: #b3956f;
  text-align: center;
  font-size: 2.6rem;
  font-weight: bold;
  margin: 0 auto 40px;
}

.-treatmentbox h3 {
  font-weight: bold;
  font-size: 2.4rem;
  margin-bottom: 20px;
}

.-treatmentbox h3:not(:first-of-type) {
  margin-top: 60px;
}

.-treatmentbox u,
.-treatmentbox>p>span {
  color: #cf1225;
  font-size: 2rem;
  margin-bottom: 20px;
  display: block;
}

.-treatmentbox p,
.-treatmentbox figure,
.-treatmentbox table {
  margin-bottom: 1.5em;
}

.-treatmentbox #progress__slider p,
.-treatmentbox #progress__slider figure,
.-treatmentbox #progress__slider table {
  margin-bottom: 0;
}

.-treatmentbox #progress__slider .case__name {
  padding: 10px 0;
}

.-treatmentbox>h2,
.-treatmentbox>h3,
.-treatmentbox>h4,
.-treatmentbox>div,
.-treatmentbox>p,
.-treatmentbox>figure,
.-treatmentbox>dd,
.-treatmentbox>table,
.-treatmentbox>dl,
.-treatmentbox>dt,
.-treatmentbox>ul.wp-block-list {
  max-width: 900px;
  margin-inline: auto;
}

.-treatmentbox>ul.wp-block-list li {
  margin-left: 1.5em;
}

.-treatmentbox figure img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.-treatmentbox dt {
  font-weight: bold;
  color: #b3956f;
}

.-treatmentbox table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #adadad;
  border-left: 1px solid #adadad;
}

.-treatmentbox table th,
.-treatmentbox table td {
  border-right: 1px solid #adadad;
  border-bottom: 1px solid #adadad;
  padding: 10px;
}

.-treatmentbox table th {
  background: #f6f1e9;
  font-weight: normal;
}

.-treatmentbox .used__me ul {
  margin-left: 1.5em;
}

.hid__contents {
  border: 1px solid #b3956f;
  padding: 20px;
  margin: 40px auto 100px;
}

.hid__contents .-key {
  margin: 0;
  text-align: center;
  cursor: pointer;
}

.hid__contents .-key.active {
  display: none;
}

.close {
  cursor: pointer;
  text-align: center;
  margin: 40px auto 0 !important;
}

.hid__tbl {
  display: none;
}

.plan__tbl {
  background: #f9f9f9;
  padding: 30px;
  display: none;
}

.plan__tbl .aligncenter {
  margin-inline: auto;
  display: block;
}

.plan__tbl ul {
  margin-left: 1.5em;
  margin-bottom: 2em;
}

.plan__one:not(:last-of-type) {
  margin-bottom: 20px;
}

.plan__one .-key {
  background: url(../img/i-plus_br.svg) no-repeat calc(100% - 20px) center / 12px #f6f1e9;
  padding: 10px 20px;
  font-weight: bold;
  cursor: pointer;
  margin: 0;
}

.plan__one .-key.active {
  background: url(../img/i-minus_br.svg) no-repeat calc(100% - 20px) center / 12px #f6f1e9;
  padding: 10px 20px;
  font-weight: bold;
}

.-stepbox {
  margin-top: 100px;
}

.-stepbox dt {
  font-weight: bold;
  margin-bottom: 10px;
}

.-stepbox dd:not(:last-of-type) {
  margin-bottom: 2em;
}

.-outline table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #adadad;
}

.-outline table th,
.-outline table td {
  border-bottom: 1px solid #adadad;
  padding: 15px 10px;
}

.-outline table th {
  font-weight: normal;
  width: 140px;
  text-align: center;
  background: #f6f1e9;
}

.youtube-cover {
  max-width: 800px;
  margin: 0 auto 60px;
}

.youtube-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.youtube-wrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.price__table {
  background: #ebebeb;
  padding: 20px;
  display: none;
}

.-price__box table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #b3956f;
  border-left: 1px solid #b3956f;
  background: #fff;
  margin-bottom: 10px;
}

.-price__box .price__table {
  display: block;
}

.price__table table th,
.price__table table td {
  border-right: 1px solid #b3956f;
  border-bottom: 1px solid #b3956f;
  padding: 10px;
}

.price__table p,
.price__table h2,
.price__table figure,
.pbp p,
.pbp h2,
.pbp figure {
  margin-bottom: 1em;
}

.pbp table {
  background: #fff;
}

.pbp table th {
  background: #fff !important;
}

.pbp table th,
.pbp table td {
  border-color: #a28a55 !important;
}

.price__table figcaption,
.pbp figcaption {
  font-size: 1.4rem;
  margin-top: 8px;
}

.price__table h2,
.pbp h2 {
  font-size: 1.6rem;
  font-weight: bold;
}

.ter__name {
  background: #f6f1e9;
  padding: 15px 20px;
  cursor: pointer;
}

.ter__name span {
  background: url(../img/i-arrow_un-br.svg) no-repeat right center / 12px;
  display: block;
}

.ter__name.active span {
  background: url(../img/i-arrow_up-br.svg) no-repeat right center / 12px;
}

/*minority*/
.minority__blk {
  background: #f1ece4;
  padding: 60px 40px;
  margin: 0 auto 60px;
}

.minority__scp {
  text-align: center;
  font-size: 2.4rem;
  line-height: 1.7;
  margin: 0 auto 30px;
}

.minority__scp p:not(:last-of-type) {
  margin-bottom: 3em;
}

.minority__sd {
  max-width: 700px;
  margin: 0 auto;
}

.minority__sd ul {
  margin-bottom: 30px;
  margin-left: 1.5em;
}

.minority__dl {
  text-align: center;
}

.minority__dl p:first-of-type {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 20px;
}

/*medical-loan*/

.loan_blk {
  background: #f1ece4;
  padding: 60px 40px;
  margin: 0 auto 60px;
  text-align: center;
  font-size: 2.4rem;
  line-height: 2;
  color: #a28a55;
}

.loan_blk--info {
  border: 10px solid #f1ece4;
  padding: 40px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 40px;
  margin: 0 auto 50px;
}

.loan_blk--info dt {
  border-bottom: 1px dashed #a28a55;
  padding-bottom: 20px;
  margin-bottom: 20px;
  font-size: 2rem;
}

.loan_blk--info dd span {
  display: block;
  margin-top: 10px;
  font-size: 1.4rem;
}

.loan_blk--act {
  text-align: center;
}

.loan_blk--act__tit {
  font-size: 2rem;
  font-weight: bold;
  color: #a28a55;
}

.loan_blk--act .grade__btn__cover {
  margin-top: 10px !important;
}

/*reserve*/
.reserveList_title {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
  height: 3em;
  background-color: #434343;
  color: #fff;
  font-weight: 400;
  font-size: 18px;
}

.reserveList_title::after {
  content: "";
  position: absolute;
  bottom: 1px;
  left: 50%;
  display: block;
  width: 1em;
  height: 0.5em;
  background-color: #434343;
  clip-path: polygon(0% 0, 100% 0%, 50% 100%);
  transform: translateX(-50%) translateY(100%);
}

.reserveList_copy {
  display: flex;
  align-items: baseline;
  justify-content: center;
  margin-top: 20px;
  font-size: 14px;
}

.reserveList_copy a {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0.25em;
  padding: 0.25em 0.75em;
  border-radius: 5px;
  background-color: #ac8553;
  color: #fff;
  font-weight: normal;
  font-style: normal;
  font-size: 1.3em;
}

.reserveList_text {
  margin-top: 20px;
  font-size: 13px;
}

.reserveList_text+.cp_ipselect a {
  padding-top: 16px;
  padding-bottom: 16px;
}

.cp_ipselect+.reserveList_title {
  margin-top: 60px;
}

.reserveList_subtitle {
  display: flex;
  justify-content: center;
  margin-top: 32px;
  margin-bottom: 10px;
  font-weight: normal;
  font-size: 18px;
}

.reserveList_dl {
  overflow: hidden;
  margin-bottom: 20px;
  border: 1px solid #e1d3bf;
  border-radius: 6px;
}

.reserveList_name {
  padding: 0.4em 18px;
  background-color: #e1d3bf;
  font-weight: normal;
  font-size: 17px;
}

.reserveList_tel {
  padding: 0.4em 18px;
  background-color: #fff;
  font-weight: normal;
  font-size: 17px;
}

.reserveList_tel p {
  padding-bottom: 0.25em;
  border-bottom: 1px solid #e1d3bf;
  font-size: 15px;
}

.reserveList_tel a {
  display: flex;
  align-items: baseline;
  padding-top: 6px;
  font-weight: 600;
  font-size: 24px;
}

.reserveList_tel a::before {
  content: "";
  position: relative;
  top: 2px;
  display: block;
  margin-right: 0.5em;
  width: 1em;
  height: 1em;
  background-image: url(../img/denwa.svg);
  background-position: center bottom;
  background-size: contain;
  background-repeat: no-repeat;
}

.reserveList_caution {
  display: flex;
  align-items: baseline;
  color: #e44141;
  gap: 0.25em;
  font-size: 12px;
}

.reserveList_caution::before {
  content: "※";
}

/*search*/
.search_message {
  margin-bottom: 20px;
  text-align: center;
}

.empty__search form {
  max-width: 300px;
  width: 100%;
  margin: 0 auto;
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 20px;
  gap: 0 10px;
}

.empty__search form input[type="text"] {
  width: 100%;
  border: 1px solid #ccc;
  padding: 10px;
  border-radius: 100px;
}

.depi_flow_hdg-sub {
  font-weight: bold;
  font-size: 2rem;
  position: relative;
  margin: 60px auto 30px;
  padding-bottom: 20px;
}

.depi_flow_hdg-sub::before {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #ddd;
  position: absolute;
  left: 0;
  bottom: 0;
}

.depi_flow_hdg-sub::after {
  content: "";
  display: block;
  width: 50px;
  height: 2px;
  background: #b3956f;
  position: absolute;
  left: 0;
  bottom: 0;
}

.search_result ul li {
  list-style: none;
}

.search_result ul li:not(:last-of-type) {
  margin-bottom: 40px;
}

.search_result a {
  text-decoration: none;
}

.search_result h3 {
  margin-bottom: 10px;
}

.search_result a p {
  margin-bottom: 10px;
}

.search_result a span {
  text-align: right;
  color: #a28a55;
  text-decoration: underline;
}

.-undeer_emp {
  margin-top: 80px;
}

/*404*/
.notfound__yxy {
  text-align: center;
  margin: 0 auto 50px;
}

@media (min-width: 1151px) {

  .part__area--face li,
  .part__area--body li {
    width: 115px;
  }

  /*map face*/
  .part__area--face li:nth-child(1) {
    top: 50px;
    left: 25px;
  }

  .part__area--face li:nth-child(2) {
    top: 90px;
    left: 25px;
  }

  .part__area--face li:nth-child(3) {
    top: 130px;
    left: 25px;
  }

  .part__area--face li:nth-child(4) {
    top: 170px;
    left: 25px;
  }

  .part__area--face li:nth-child(5) {
    top: 210px;
    left: 25px;
  }

  .part__area--face li:nth-child(6) {
    top: 120px;
    right: 25px;
  }

  .part__area--face li:nth-child(7) {
    top: 210px;
    right: 25px;
  }

  .part__area--face li:nth-child(8) {
    top: 250px;
    right: 25px;
  }

  .part__area--face li:nth-child(9) {
    top: 290px;
    right: 25px;
  }

  /*map body*/
  .part__area--body li:nth-child(1) {
    top: 30px;
    left: 20px;
  }

  .part__area--body li:nth-child(2) {
    top: 90px;
    left: 20px;
  }

  .part__area--body li:nth-child(3) {
    top: 230px;
    left: 20px;
  }

  .part__area--body li:nth-child(4) {
    top: 130px;
    right: 20px;
  }

  .part__area--body li:nth-child(5) {
    top: 170px;
    right: 20px;
  }

  .part__area--body li:nth-child(6) {
    top: 290px;
    right: 20px;
  }
}

@media (max-width: 1500px) {

  /*contents*/
  /*index*/
  .tr__box--name {
    font-size: 1.4vw;
  }

  .tr__box--txt {
    font-size: 1.1vw;
  }

  /*price*/
  .price-nav .ank__blk {
    min-width: 100%;
    max-width: 100%;
  }

  .price-nav .ank__blk li {
    max-width: 25%;
    width: 100%;
  }
}

@media (max-width: 1200px) {
  .hide__clc {
    left: -160%;
  }
}

@media (min-width: 960px) and (max-width: 1499px) {

  /*price*/
  .price-nav .ank__blk li {
    font-size: 1.3vw;
    white-space: nowrap;
  }
}

@media (max-width: 1150px) {

  .part__area--face li,
  .part__area--body li {
    font-size: 1.1vw;
  }

  .part__area--face li {
    width: 10.6vw;
  }

  .part__area--body li {
    width: 9.4vw;
  }

  /*map face*/
  .part__area--face li:nth-child(1) {
    top: 10%;
    left: 1.6vw;
  }

  .part__area--face li:nth-child(2) {
    top: 19%;
    left: 1.6vw;
  }

  .part__area--face li:nth-child(3) {
    top: 28%;
    left: 1.6vw;
  }

  .part__area--face li:nth-child(4) {
    top: 37%;
    left: 1.6vw;
  }

  .part__area--face li:nth-child(5) {
    top: 46%;
    left: 1.6vw;
  }

  .part__area--face li:nth-child(6) {
    top: 27%;
    right: 1.6vw;
  }

  .part__area--face li:nth-child(7) {
    top: 46%;
    right: 1.6vw;
  }

  .part__area--face li:nth-child(8) {
    top: 55%;
    right: 1.6vw;
  }

  .part__area--face li:nth-child(9) {
    top: 64%;
    right: 1.6vw;
  }

  /*map body*/
  .part__area--body li:nth-child(1) {
    top: 7%;
    left: 1.7vw;
  }

  .part__area--body li:nth-child(2) {
    top: 20%;
    left: 1.7vw;
  }

  .part__area--body li:nth-child(3) {
    top: 51%;
    left: 1.7vw;
  }

  .part__area--body li:nth-child(4) {
    top: 28%;
    right: 1.6vw;
  }

  .part__area--body li:nth-child(5) {
    top: 37%;
    right: 1.6vw;
  }

  .part__area--body li:nth-child(6) {
    top: 64%;
    right: 1.6vw;
  }

  .part__area--face li a .i-outlink,
  .part__area--body li a .i-outlink {
    background-size: 8px;
  }
}

@media (max-width: 1120px) {

  /*contents*/
  /*index*/
  .part__area {
    gap: 20px 30px;
  }

  .case__slider--list {
    margin: 0 20px;
  }

  .reserve__point--num li {
    font-size: 2rem;
  }

  .clinic__rev--number {
    font-size: 2.6rem;
  }
}

@media (max-width: 959px) {

  html {
    scroll-padding-top: 70px;
  }

  body {
    margin-top: 56px;
  }

  /*header*/
  header {
    border: none;
    padding: 0;
    display: contents !important;
    position: relative;
  }

  #gnav>li>a::after {
    display: none !important;
  }

  #head__inner {
    display: block;
  }

  .head__inner--log {
    position: fixed;
    height: 56px;
    padding: 0 20px;
    left: 0;
    top: 0;
    z-index: 5;
    width: 100%;
    background: #fff;
    grid-template-columns: 120px 1fr auto;
    align-items: center;
  }

  .head__cp {
    font-size: 1.3rem;
  }

  .head__cp span {
    font-size: 1.2rem;
  }

  .head__inner--act {
    padding: 10px 0;
    grid-template-columns: 100%;
    justify-content: center;
    max-width: 100%;
    margin-inline: auto;
  }

  .head__inner--reserve {
    display: none;
  }

  .head__inner--act form {
    order: 2;
  }

  .head__inner--act form input {
    padding: 2px 10px;
    width: 100%;
  }

  .pop__ter {
    margin-left: 0;
    grid-column: span 1;
  }

  .pop__ter--box li {
    font-size: 1.3rem;
  }

  .pop__ter--box li a {
    padding: 5px 8px;
  }

  #nav__area {
    position: fixed;
    top: 56px;
    left: 0;
    height: calc(100vh - 56px);
    height: calc(var(--vh, 1vh) * 100 - 56px);
    opacity: 0;
    z-index: -1;
    pointer-events: none;
    background: #fff;
    transition: 0.3s;
    width: 100vw;
    overflow: hidden;
  }

  .nav__area--wrap {
    height: calc(100vh - 56px - 60px);
    height: calc(var(--vh, 1vh) * 100 - 56px - 60px);
    overflow: scroll;
  }

  #nav__area.active {
    opacity: 1;
    z-index: 10;
    pointer-events: all;
  }

  #gnav.-base {
    max-width: 100%;
    margin-bottom: 50px;
  }

  #gnav {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3px;
  }

  #gnav li {
    font-size: 1.5rem;
    font-weight: normal;
  }

  #gnav li:nth-child(-n + 3),
  #gnav li:nth-last-child(-n + 2) {
    grid-column: span 3;
  }

  #gnav li a {
    background: url(../img/i-circle-arrow_red.svg) no-repeat calc(100% - 20px) center / 16px auto #eee;
    width: 100%;
    display: block;
    padding: 12px 20px;
    color: #333;
  }

  .un_arrow {
    background: none;
    padding: 0;
  }

  .hide__clc {
    display: none;
  }

  .humbtn {
    display: block;
    position: relative;
    /*ボタン内側の基点となるためrelativeを指定*/
    cursor: pointer;
    width: 35px;
    height: 35px;
    border-radius: 5px;
  }

  /*footer*/
  #fix__foot,
  #fix__foot--column {
    display: flex;
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 60px;
    background: #fff;
    z-index: 12;
    border-top: #ddd 1px solid;
  }

  #fix__foot--column {
    background: #f6f1e9;
    border-top: #b3956f 1px solid;
  }

  #fix__foot ul {
    display: grid;
    font-weight: bold;
    grid-template-columns: repeat(4, 1fr);
    text-align: center;
    align-items: center;
    width: 100%;
  }

  #fix__foot ul li {
    list-style: none;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.3;
    position: relative;
  }

  #fix__foot ul li:first-child::after {
    content: "";
    width: 1px;
    height: 40px;
    background: #333;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }

  #fix__foot ul li:nth-child(3) a {
    background: #cf1225;
    color: #fff;
    width: 100%;
    height: 100%;
  }

  #fix__foot ul li a {
    text-decoration: none;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #333;
  }

  #hum__info {
    display: block;
    background: #f6f1e9;
    padding: 20px;
    margin-bottom: 5px;
  }

  .hum__info--first {
    text-align: center;
    font-size: 1.5rem;
    margin: 0 auto 10px;
    width: max-content;
    background-image: linear-gradient(180deg, rgba(179, 149, 111, 0) 0%, rgba(179, 149, 111, 0) 98.5%, #b3956f 100%);
    background-repeat: repeat-y;
    background-size: 100% 2em;
    line-height: 2;
  }

  .balloon2 {
    position: absolute;
    left: 50%;
    font-size: 1.2rem;
    background: #fff;
    transform: translateX(-50%);
    width: 80%;
    max-width: 80px;
    top: -20px;
    border: 1px solid #cf1225;
    border-radius: 6px;
    color: #cf1225;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .balloon2:before {
    content: "";
    position: absolute;
    bottom: -16px;
    left: 50%;
    margin-left: -11px;
    border: 8px solid transparent;
    border-top: 8px solid #fff;
    z-index: 2;
  }

  .balloon2:after {
    content: "";
    position: absolute;
    bottom: -19px;
    left: 50%;
    margin-left: -12px;
    border: 9px solid transparent;
    border-top: 10px solid #cf1225;
    z-index: 1;
  }

  #footer_end {
    padding-bottom: 100px;
  }

  /* 修正したスタイル */
  #fix__tel {
    position: absolute;
    bottom: calc(100% + 30px);
    right: 0px;
    width: 100px;
    padding: 0;
    display: flex;
    flex-direction: column;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
    z-index: 3;
  }

  #fix__tel.active {
    opacity: 1;
    visibility: visible;
  }

  #fix__tel p {
    margin: 5px 0 0;
    text-align: center;
  }

  #fix__tel a {
    display: block;
    padding: 16px 10px;
    color: #fff;
    text-decoration: none;
    line-height: 1;
    background: #a28a55;
  }

  #fix__foot--column a {
    display: grid;
    grid-template-columns: 1fr 120px;
    gap: 0 10px;
    align-items: center;
    text-decoration: none;
    padding: 10px 20px;
    justify-content: center;
    margin: 0 auto;
    background: url(../img/i-arrow_br.svg) no-repeat right center / 8px;
  }

  .fix__foot--column__word {
    font-size: 1.2rem;
  }

  .fix__foot--column__names {
    text-align: center;
    font-weight: bold;
    font-size: 2.2rem;
    line-height: 1.1;
    color: #cf1225;
  }

  .fix__foot--column__names p:first-of-type {
    font-size: 1.2rem;
  }

  /*ボタン内側*/
  .humbtn span {
    display: inline-block;
    transition: all 0.4s;
    /*アニメーションの設定*/
    position: absolute;
    left: 0;
    height: 2px;
    border-radius: 5px;
    background: #cf1225;
    width: 100%;
  }

  .humbtn span:nth-of-type(1) {
    top: 0px;
  }

  .humbtn span:nth-of-type(2) {
    top: 7px;
  }

  .humbtn span:nth-of-type(3) {
    top: 14px;
  }

  .humbtn span:nth-of-type(3)::after {
    content: "MENU";
    /*3つ目の要素のafterにMenu表示を指定*/
    position: absolute;
    top: 5px;
    left: 50%;
    color: #cf1225;
    font-size: 1.2rem;
    transform: translateX(-50%);
    text-transform: uppercase;
  }

  /*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/

  .humbtn.active span:nth-of-type(1) {
    top: 0px;
    left: 50%;
    transform: translate(-50%, 6px) rotate(-45deg);
    width: 70%;
  }

  .humbtn.active span:nth-of-type(2) {
    opacity: 0;
  }

  .humbtn.active span:nth-of-type(3) {
    top: 13px;
    left: 50%;
    transform: translate(-50%, -6px) rotate(45deg);
    width: 70%;
  }

  .humbtn.active span:nth-of-type(3)::after {
    content: "CLOSE";
    /*3つ目の要素のafterにClose表示を指定*/
    transform: translate(-50%, 0) rotate(-45deg);
    top: 5px;
    left: 100%;
  }

  /*contents*/
  /*index*/

  #mvarea {
    margin-top: 0;
    height: 420px;
  }

  .mvarea--box {
    width: 1440px;
    left: 54%;
  }

  .mvarea--box img {
    width: 100%;
    height: auto;
    display: block;
  }

  .fcp__catch--scp {
    font-size: 2rem;
  }

  .fcp__catch--fcp {
    font-size: 5rem;
  }

  .fcp__catch--pic {
    max-width: 335px;
    margin-bottom: 20px;
  }

  .gdbtn br {
    display: block;
  }

  #mvarea .gdbtn__cover {
    margin-top: 0;
  }

  .tr__box {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    justify-content: flex-start;
  }

  .tr__box--list {
    width: 100%;
  }

  .tr__box--list a {
    height: 200px;
  }

  .tr__box--name {
    font-size: 2rem;
  }

  .tr__box--txt {
    font-size: 1.4rem;
  }

  .quarity__conta li {
    font-size: 1.8rem;
  }

  #quarity__area {
    background: url(../img/quality__bg.jpg) no-repeat left -40px / 1920px auto;
  }

  .quarity__conta {
    gap: 0 20px;
  }

  .reserve__point--num,
  .clinic__rev {
    grid-template-columns: 100%;
    gap: 10px 0;
    max-width: 400px;
    margin-inline: auto;
  }

  .rev__act--tel {
    font-size: 2.2rem;
  }

  .rev__act--time {
    font-size: 1.8rem;
  }

  .rev__act--time span {
    font-size: 2.4rem;
  }

  .rev__act {
    background-size: 20%, 20%;
  }

  .-day_tre {
    background: url(../img/day_tre--bg.jpg) no-repeat left top / 1920px auto;
  }

  .clinic__rev li a,
  .clinic__add--tels a {
    pointer-events: all;
  }

  .clinic__blk {
    grid-template-columns: 100%;
    gap: 60px 0;
    max-width: 600px;
    max-width: min(calc(100% - 40px), 600px);
    margin-inline: auto;
  }

  .clinic__blk--list {
    display: block;
  }

  .information__wrap--area {
    gap: 60px 0;
  }

  /* 両方のボックスがある場合 */
  .information__wrap--area.has-both {
    grid-template-columns: 100%;
  }

  /*footer*/
  .outlinkbox {
    grid-template-columns: repeat(2, auto);
    gap: 20px 60px;
  }

  .footer_end--link {
    grid-template-columns: repeat(3, auto);
  }

  /*clinics*/
  .act--tel__reserve a {
    pointer-events: all;
  }

  /*price*/
  .price-tbl {
    margin: 0 auto;
  }

  .price-tbl table {
    margin-bottom: 10px;
  }

  .price-tbl table tr td {
    padding: 14px 0;
  }

  .price-nav .ank__blk {
    min-width: 100%;
    margin: 60px auto;
  }

  .price-nav .ank__blk li {
    max-width: 100%;
    width: 100%;
    font-size: 1.6rem;
  }

  .price__menu__blk {
    min-width: 100%;
  }

  .price--tit {
    margin-bottom: 20px;
  }

  .i-un_arrow_red {
    display: block;
    width: 100%;
  }

  .ank__blk li:not(:last-of-type) {
    border-right: none;
  }

  .ank__blk li a {
    padding: 15px 15px 15px 10px;
  }

  .price__menu__blk {
    margin: 0 auto 50px auto;
  }

  .price__menu__blk .-menu-space {
    margin-bottom: 8px;
  }

  .price__menu__blk dt span.clinic-list {
    display: block;
    margin: 0;
  }

  .price__menu__blk .clinic-list {
    display: flex;
    margin: 5px 0 0 10px;
    padding: 0;
  }

  .price__menu__blk .clinic:first-child {
    margin-left: 0;
  }

  .price__menu__blk .clinic {
    margin-left: 8px;
    font-size: 1.2rem;
  }

  .price__menu__blk dt span:after {
    top: 50%;
    right: 10px;
    width: 10px;
    height: 10px;
    transform: translateY(-50%) rotate(45deg);
  }

  .price-nav {
    max-width: min(calc(100% - 40px), 1150px);
    margin-inline: auto;
  }

  .-mbonly {
    display: block;
  }

  /*menu-list*/
  #menu__ddlist {
    margin-top: 0;
  }

  #menu__ddlist .ank__blk {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  #menu__ddlist .ank__blk li {
    max-width: 100%;
  }

  .treat__list {
    grid-template-columns: 100%;
    gap: 20px 0;
  }

  .return_button {
    bottom: 100px;
  }
}

@media (max-width: 767px) {

  /*font*/
  .eng-tit__scp {
    font-size: 3rem;
  }

  .eng-tit__cp {
    font-size: 1.8rem;
  }

  /*tit*/
  #page__tit,
  .common__tit {
    font-size: 2.4rem;
    margin: 0 auto 30px;
  }

  .br__tit {
    font-size: 2.1rem;
    margin: 0 auto 30px;
  }

  #post__tit {
    font-size: 2.4rem;
  }

  /*common*/
  .basic__area {
    margin: 0 auto 60px;
  }

  /*contents*/
  /*index*/

  #mvarea {
    margin-top: 0;
    height: calc(100vh - 56px - 75px);
    overflow: hidden;
  }

  #screen {
    height: calc(100vh - 56px - 75px);
  }

  .fcp__catch--wrap {
    position: static;
  }

  .mvarea--box {
    width: 100%;
    position: relative;
    left: inherit;
    top: inherit;
    transform: none;
  }

  .mvarea--box img {
    width: 100%;
    height: auto;
    display: block;
  }

  .fcp__catch {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
  }

  .day__info--scp {
    font-size: 1.8rem;
  }

  .recomm__box {
    display: grid;
    grid-template-columns: 100%;
    gap: 20px;
    max-width: 70%;
    margin: 0 auto;
  }

  #mvarea .gdbtn__cover {
    max-width: 400px;
  }

  .part__area {
    width: 100%;
    max-width: 600px;
    max-width: min(calc(100% - 40px), 600px);
    grid-template-columns: 100%;
    gap: 20px;
  }

  .part__area--eng {
    transform: none;
    position: absolute;
    top: -13px;
    left: 50%;
    margin: 0;
    font-size: 4rem;
    transform: translateX(-50%);
    z-index: -1;
  }

  .part__area--tbl {
    display: grid;
    grid-template-columns: 100%;
    gap: 10px 0;
    position: relative;
  }

  .part__area--tit {
    text-align: center;
  }

  .part__area--map {
    grid-column: auto;
    grid-row: auto;
  }

  .part__area--face li,
  .part__area--body li {
    font-size: 1.6rem;
  }

  .part__area--face li {
    width: 150px;
  }

  .part__area--body li {
    width: 150px;
  }

  /*map face*/
  .part__area--face li:nth-child(1) {
    top: 40px;
    left: 80px;
  }

  .part__area--face li:nth-child(2) {
    top: 120px;
    left: 80px;
  }

  .part__area--face li:nth-child(3) {
    top: 210px;
    left: 80px;
  }

  .part__area--face li:nth-child(4) {
    top: 300px;
    left: 80px;
  }

  .part__area--face li:nth-child(5) {
    top: 380px;
    left: 80px;
  }

  .part__area--face li:nth-child(6) {
    top: 80px;
    right: 40px;
  }

  .part__area--face li:nth-child(7) {
    top: 280px;
    right: 40px;
  }

  .part__area--face li:nth-child(8) {
    top: 400px;
    right: 40px;
  }

  .part__area--face li:nth-child(9) {
    top: 460px;
    left: 80px;
    right: inherit;
  }

  /*map body*/
  .part__area--body li:nth-child(1) {
    top: 30px;
    left: 40px;
  }

  .part__area--body li:nth-child(2) {
    top: 160px;
    left: 40px;
  }

  .part__area--body li:nth-child(3) {
    top: 410px;
    left: 40px;
  }

  .part__area--body li:nth-child(4) {
    top: 150px;
    right: 20px;
  }

  .part__area--body li:nth-child(5) {
    top: 230px;
    right: 20px;
  }

  .part__area--body li:nth-child(6) {
    top: 440px;
    right: 20px;
  }

  .part__area--face li a .i-outlink,
  .part__area--body li a .i-outlink {
    background-size: 11px;
  }

  .reserve__sch--fcp span {
    font-size: 3rem;
  }

  #case__area .slick-prev {
    left: 0% !important;
  }

  #case__area .slick-next {
    right: 0% !important;
  }

  #column__wrap .slick-prev {
    left: -10px !important;
  }

  #progress__slider .slick-prev {
    left: -15px !important;
  }

  #column__wrap .slick-next {
    right: -10px !important;
  }

  #progress__slider .slick-next {
    right: -15px !important;
  }

  #quarity__area {
    background: url(../img/quality__bg-sp.jpg) no-repeat center top / 100%;
  }

  .quarity_sdbg {
    background: url(../img/quarity_sdbg-sp.svg) no-repeat center top / 100%;
    padding: 460px 20px 60px;
    margin-top: -550px;
  }

  .quarity__conta {
    grid-template-columns: 100%;
    gap: 50px 0;
    max-width: 400px;
    max-width: min(calc(100% - 40px), 400px);
  }

  .quarity__conta li {
    grid-row: span 1;
  }

  .quarity_sdbg--info {
    font-size: 1.6rem;
  }

  .insta__area {
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  }

  .-day_tre {
    background: url(../img/day_tre--bg-sp.jpg) no-repeat center top / 100%;
  }

  /*footer*/
  .footer_info--inner {
    display: grid;
  }

  .footer_info__fcp {
    text-align: center;
    order: 1;
  }

  .footer_info--act {
    display: contents;
  }

  .foot__logo {
    order: 2;
    grid-template-columns: 180px 1fr;
    justify-content: center;
    width: max-content;
    margin: 0 auto 40px;
  }

  .outlinkbox {
    order: 3;
    grid-template-columns: 100%;
    gap: 0;
  }

  .outlinkbox li {
    border-bottom: 1px dashed #b3956f;
    margin-bottom: 0;
  }

  .outlinkbox li:not(:last-child) {
    margin-bottom: 0;
  }

  .outlinkbox li a {
    padding: 20px;
    display: block;
  }

  .easy__btn--wrap {
    order: 4;
  }

  .sns__link {
    order: 5;
    justify-content: center;
  }

  .footer_info--act .easy__btn {
    width: 200px;
    margin: 40px auto 30px;
  }

  .footer_end--link {
    grid-template-columns: 100%;
  }

  .footer_end--link li:first-of-type,
  .footer_end--link li {
    border: none;
    margin-bottom: 10px;
  }

  /*clinics*/
  .web__reserve--fcp {
    font-size: 2.6rem;
  }

  .tel__reserve--fcp {
    font-size: 3.4rem;
  }

  .clinics__arae--wrap {
    grid-template-columns: 100%;
    gap: 20px 0;
    margin-bottom: 30px;
  }

  .clinics__arae--act {
    grid-template-columns: 100%;
    gap: 20px 0;
  }

  .clinics__thum,
  .act--web__reserve,
  .act--tel__reserve {
    max-width: 400px;
    width: 100%;
    margin: 0 auto;
  }

  .clinics__area {
    margin-bottom: 60px;
  }

  .clinics__arae--act {
    gap: 10px 0;
  }

  /*clinic detail*/
  .popular__menu--name {
    margin-bottom: 0;
  }

  .popular__menu li {
    font-size: 1.2rem;
  }

  .footmap {
    margin: -20px auto 30px;
  }

  .popular--scp {
    font-size: 1.6rem;
    margin: -20px auto 30px;
  }

  .root--capt {
    font-size: 1.8rem;
  }

  .clinic__photo {
    margin: 0 auto 0px;
  }

  /*faq*/
  .sd__scp {
    margin: 0px auto 30px;
  }

  .faq__box--list a {
    grid-template-columns: 80px 1fr;
  }

  /*faq detail*/
  .faq__scp {
    font-size: 1.6rem;
    margin: 0px auto 30px;
  }

  /*customers-voice detail*/
  .user__voice--word {
    font-size: 2rem;
  }

  #responce__box {
    padding: 0 40px 40px;
  }

  /*case*/
  .cases--price {
    grid-template-columns: 100%;
    gap: 10px 0;
  }

  .cases--price dt {
    width: max-content;
    padding: 5px 15px;
    line-height: 1;
  }

  /*case*/
  #pop__wrap {
    margin-bottom: 150px !important;
  }

  #page-anker03 {
    margin-top: 60px;
  }

  /*column*/
  .catelist--tit {
    font-size: 2.2rem;
    margin-bottom: 30px;
  }

  .search__category {
    margin-top: -20px;
  }

  .category__explanation {
    font-size: 1.8rem;
    margin: 0 auto 40px;
  }

  #supervision {
    padding: 40px;
  }

  .supervision__inner {
    grid-template-columns: 200px 1fr;
    gap: 0 40px;
  }

  .supervision__info {
    padding-top: 0;
  }

  .supervision__info .sns__link {
    justify-content: flex-end;
  }

  .supervision--data dd {
    font-size: 1.6rem;
  }

  .supervision--name {
    font-size: 2.6rem;
  }

  .hid__contents {
    margin-bottom: 60px;
  }

  .related-cases {
    margin-bottom: 120px;
  }

  /*doctor*/
  .doctor__mv__inner h1 {
    font-size: 2.4rem;
  }

  #doctor__mv {
    background-size: 1140px;
    height: 400px;
  }

  #doctor__list article {
    grid-template-columns: 40% 1fr;
    gap: 0 40px;
    align-items: flex-start;
  }

  .doc__prof--position {
    font-size: 1.6rem;
  }

  .doctor__prof {
    background-size: 180px;
    padding-bottom: 50px;
  }

  .doc__prof--name {
    font-size: 2.6rem;
    margin: 10px 0 20px;
  }

  /*doctor detail*/
  #doctor__detail article {
    grid-template-columns: 280px 1fr;
    gap: 0 80px;
  }

  /*menu*/
  .treat__index {
    margin: -10px auto 0;
  }

  .treat__one--list {
    gap: 0 20px;
  }

  .treat__one--list>li {
    font-size: 1.6rem;
  }

  .treat__word {
    margin: 0 auto 40px;
  }

  .-stepbox {
    margin-top: 60px;
  }

  /*menu-detail*/
  .treat__intro {
    padding-right: 10px;
  }

  .treatment--ded::after {
    top: 10px;
    left: 10px;
  }

  .treat__intro--name {
    font-size: 2.2rem;
  }

  .-treatmentbox h2 {
    font-size: 2.1rem;
    margin: 0 auto 30px;
  }

  .-treatmentbox h3 {
    font-size: 2rem;
  }

  .-treatmentbox u {
    font-size: 1.8rem;
  }

  /*medical-loan*/
  .loan_blk {
    font-size: 2.2rem;
  }

  .loan_blk--info {
    grid-template-columns: 100%;
    gap: 40px 0;
  }
}

@media (max-width: 650px) {
  /*btn*/

  .gdbtn {
    padding: 10px 20px;
    font-size: 1.6rem;
  }

  /*contents*/
  /*index*/
  .fcp__catch--scp {
    font-size: 1.7rem;
  }

  .i-flower {
    width: 70px;
    height: 50px;
  }

  .quarity__conta li {
    padding: 30px 20px 20px;
  }

  .column__blk {
    grid-template-columns: 100%;
    gap: 40px 0;
  }

  .-day_tre {
    padding: 60px 20px 100px;
    max-width: auto;
  }

  #quarity__area {
    padding: 100px 0 0;
  }

  .reserve__sch {
    background: none;
    padding: 0;
  }

  .res__cover--time {
    font-size: 3.6vw;
  }

  .res__cover--act span {
    font-size: 5.8vw;
  }

  .res__cover--time:before {
    margin-top: -46px;
    border: 46px solid transparent;
    border-left: 25px solid #cf1225;
  }

  .res__cover a {
    grid-template-columns: 32% 1fr;
  }

  .reserve__sch--fcp strong {
    display: block;
  }

  .rev__act {
    background: none;
  }

  .part__area--face li,
  .part__area--body li {
    font-size: 3vw;
  }

  .part__area--face li a,
  .part__area--body li a {
    padding: 12px 6px;
  }

  .part__area--face li {
    width: 23vw;
  }

  .part__area--body li {
    width: 27vw;
  }

  /*map face*/
  .part__area--face li:nth-child(1) {
    top: 4vw;
    left: 5vw;
    width: 35vw;
  }

  .part__area--face li:nth-child(2) {
    top: 18vw;
    left: 5vw;
    width: 35vw;
  }

  .part__area--face li:nth-child(3) {
    top: 33vw;
    left: 5vw;
    width: 35vw;
  }

  .part__area--face li:nth-child(4) {
    top: 46vw;
    left: 5vw;
    width: 35vw;
  }

  .part__area--face li:nth-child(5) {
    top: 60vw;
    left: 5vw;
    width: 35vw;
  }

  .part__area--face li:nth-child(6) {
    top: 11vw;
    right: 4vw;
  }

  .part__area--face li:nth-child(7) {
    top: 46vw;
    right: 4vw;
  }

  .part__area--face li:nth-child(8) {
    top: inherit;
    right: 9vw;
    bottom: 18vw;
  }

  .part__area--face li:nth-child(9) {
    top: inherit;
    left: 5vw;
    right: inherit;
    bottom: 5vw;
    width: 35vw;
  }

  /*map body*/
  .part__area--body li:nth-child(1) {
    top: 5vw;
    left: 6vw;
  }

  .part__area--body li:nth-child(2) {
    top: 22vw;
    left: 6vw;
  }

  .part__area--body li:nth-child(3) {
    top: initial;
    bottom: 20vw;
    left: 6vw;
  }

  .part__area--body li:nth-child(4) {
    top: 27vw;
    right: 6vw;
  }

  .part__area--body li:nth-child(5) {
    top: 40vw;
    right: 6vw;
  }

  .part__area--body li:nth-child(6) {
    top: inherit;
    bottom: 10vw;
    right: 6vw;
  }

  .part__area--face li a .i-outlink,
  .part__area--body li a .i-outlink {
    background-size: 11px;
  }

  /*clinic detail*/
  .popular__menu li a {
    grid-template-columns: 140px 1fr;
    background: url(../img/i-arrow-br.svg) no-repeat calc(100% - 16px) center / 8px;
    padding-right: 30px;
  }

  .popular__menu--name {
    font-size: 1.6rem;
  }

  .doctor--introduction {
    grid-template-columns: 100%;
    gap: 40px 0;
  }

  .doctor {
    max-width: 400px;
    margin: 0 auto;
  }

  .root--access {
    gap: 40px 20px;
  }

  /*faq*/
  #faq__box {
    grid-template-columns: 100%;
    gap: 10px 0;
  }

  .faq__box--list a {
    grid-template-columns: 70px 1fr;
    gap: 0 10px;
  }

  /*customers-voice detail*/
  .user__voice--box {
    max-width: 90%;
    margin-bottom: 20px;
  }

  .line--tit {
    font-size: 2rem;
    margin-bottom: 20px;
  }

  .responce {
    max-width: 46px;
  }

  .responce__box--mi {
    font-size: 2rem;
    max-width: 320px;
  }

  .good__point {
    margin-bottom: 40px;
  }

  /*case*/
  .cases--tit {
    font-size: 1.8rem;
  }

  .tags li {
    font-size: 1.4rem;
    padding-inline: 10px;
  }

  /*column*/
  .search__category ul {
    grid-template-columns: 100%;
    gap: 0;
  }

  .column-category li a {
    font-size: 1.2rem;
  }

  .supervision__inner {
    grid-template-columns: 100%;
    gap: 30px 0;
  }

  .supervision__pic {
    max-width: 240px;
    margin: 0 auto;
  }

  .doc__personal {
    grid-template-columns: 100%;
    gap: 20px 0;
  }

  .-column__unact {
    max-width: 100% !important;
  }

  /*doctor detail*/
  .career__map {
    grid-template-columns: 140px 1fr;
  }

  .career__map dt,
  .career__map dd {
    padding: 20px;
  }

  .about__point {
    font-size: 1.6rem;
    margin-bottom: 25px;
  }

  .about__doctor dt {
    font-size: 1.8rem;
  }

  .about__doctor,
  .kind__person article:not(:last-of-type) {
    padding-bottom: 30px;
    margin-bottom: 30px;
  }

  .about__doctor>div figure {
    margin-bottom: 30px;
  }

  .kind__person article {
    grid-template-columns: 100%;
    gap: 20px 0;
  }

  .kind__person--pic {
    order: initial;
    max-width: 360px;
    margin: 0 auto;
  }

  #doctor__detail article {
    grid-template-columns: 100%;
    gap: 60px 0;
    max-width: 360px;
    margin: 0 auto;
  }

  #doctor__detail {
    margin-bottom: 50px;
  }

  .about__doctor dd:not(:last-of-type) {
    margin-bottom: 30px;
  }

  #doctor__detail .doctor__list--pic::after {
    left: 10px;
    top: 10px;
  }

  /*menu-list*/
  #menu__ddlist .ank__blk {
    grid-template-columns: 100%;
    gap: 10px 0;
  }

  /*menu-detail*/
  .plan__tbl {
    padding: 20px;
  }
}

@media (max-width: 519px) {

  /*common*/
  .spbr {
    display: block;
  }

  /*tit*/
  .br__tit {
    font-size: 2rem;
  }

  #post__tit {
    font-size: 2.1rem;
  }

  .common__tit {
    font-size: 2.1rem;
  }

  /*pankuzu*/
  #pankuzu {
    overflow: scroll;
  }

  #pankuzu ul {
    width: max-content;
  }

  /*footer*/
  .foot__logo {
    grid-template-columns: 160px 1fr;
  }

  /*contents*/
  /*index*/
  .fcp__catch {
    width: 100%;
    max-width: 335px;
  }

  .sybox {
    padding: 60px 0;
  }

  .tr__box--name br {
    display: none;
  }

  .tr__box--list a {
    height: 160px;
  }

  .tr__box--btn {
    display: none;
  }

  .tr__box--txt {
    margin-bottom: 0;
  }

  .recomm__box {
    max-width: 100%;
    grid-template-columns: 100%;
    gap: 10px 0;
  }

  .-reserve {
    padding-bottom: 0;
  }

  .-day_tre {
    padding: 60px 20px;
  }

  .part__area {
    width: 100vw;
    grid-template-columns: 100%;
    gap: 20px;
    max-width: 100%;
  }

  .popup-content ul li {
    font-size: 1.2rem;
  }

  .popup-content ul li a .i-arrow_br span {
    font-size: 1rem;
  }

  .content-container {
    background: #f6f1e9;
    padding: 30px 0 30px;
  }

  .popup {
    padding: 10px;
  }

  .tab {
    padding: 15px 10px;
    font-size: 1.6rem;
  }

  .tab-container {
    gap: 0 5px;
  }

  .tab-container.-base,
  .content.-base {
    max-width: min(calc(100% - 20px), 1150px);
  }

  .need__wrap {
    gap: 10px;
  }

  .need__link a {
    font-size: 1.5rem;
    padding: 10px;
  }

  .need__link a span {
    padding-right: 16px;
  }

  .need__link div {
    font-size: 1.2rem;
  }

  .insta__area {
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
    gap: 10px;
  }

  .change__inf {
    margin-top: 60px;
    padding: 30px 0 60px;
  }

  .day__info--scp {
    font-size: 1.6rem;
  }

  #quarity__area {
    padding: 40px 0 0;
  }

  .txt-chant {
    font-size: 1.8rem;
  }

  .clinic__blk--name,
  .rev__act--tel {
    font-size: 2rem;
  }

  .rev__act--time {
    font-size: 1.6rem;
  }

  #instargram__wrap .i-voice br {
    display: block;
  }

  /*clinics*/
  .sch__map {
    font-size: 1.4rem;
  }

  .ank__blk li {
    font-size: 1.5rem;
  }

  .web__reserve--fcp {
    font-size: 2.4rem;
  }

  .tel__reserve--fcp {
    font-size: 3rem;
  }

  /*clinic detail*/
  .popular__menu li a {
    grid-template-columns: 100%;
    gap: 10px 0;
    background: url(../img/i-arrow-br.svg) no-repeat calc(100% - 16px) center / 8px;
    padding: 10px 10px 10px 10px;
  }

  .popular__menu--pic {
    order: 2;
    max-width: 150px;
    margin: 0 auto;
  }

  .popular__menu--name {
    order: 1;
    text-align: center;
  }

  .popular__menu--info {
    display: contents;
  }

  .popular__menu--info p:nth-child(2) {
    order: 3;
  }

  .root--access {
    display: block;
  }

  .root--access__step {
    margin-bottom: 40px;
  }

  /*customers-voice*/
  .improvement__tit {
    font-size: 2rem;
  }

  .improvement__list article {
    grid-template-columns: min(40%, 266px) 1fr;
    gap: 0 20px;
    padding: 30px 0px;
  }

  .improvement__list article time {
    margin-bottom: 6px;
    font-size: 1.4rem;
  }

  /*customers-voice detail*/
  .user__voice--box {
    max-width: 100%;
    grid-template-columns: 50px auto;
    gap: 0 20px;
  }

  .user__voice--word {
    font-size: 1.6rem;
  }

  .responce__box--mi {
    font-size: 1.8rem;
    padding: 15px;
    margin-bottom: 30px;
  }

  .responce {
    max-width: 36px;
    margin-bottom: 20px;
  }

  #responce__box {
    padding: 0 20px 20px;
  }

  .responce__thum--tbl {
    margin-top: 30px;
  }

  #responce__box h3 {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }

  /*case*/
  #search_problem {
    font-size: 1.6rem;
  }

  .cases {
    gap: 40px 20px;
    grid-template-columns: repeat(2, 47%);
  }

  .tags li {
    font-size: 1.3rem;
  }

  .cases--tit {
    font-size: 1.6rem;
  }

  .cases--price dt {
    font-size: 1.4rem;
  }

  .cases--comment dt {
    font-size: 1.4rem;
    padding-inline: 10px;
  }

  .cases--comment dt span {
    background-size: 12px;
  }

  .cases--comment dd {
    padding: 10px;
    font-size: 1.4rem;
  }

  /*case*/
  #pop__wrap {
    margin-bottom: 120px !important;
  }

  /*column*/
  .search__tags ul {
    gap: 10px;
  }

  #column__area {
    gap: 40px 20px;
    margin-bottom: 60px;
  }

  .category__explanation {
    font-size: 1.6rem;
    margin: 0 auto 30px;
  }

  .post_move {
    grid-template-columns: 100%;
    gap: 20px 0;
  }

  .post_move--next,
  .post_move--prev {
    padding: 20px;
  }

  .post_move--prev {
    padding-left: 40px;
  }

  .post_move--next {
    padding-right: 40px;
  }

  #supervision {
    padding: 40px 20px;
    margin-bottom: 30px;
  }

  .supervision__inner,
  .supervision__message {
    margin-bottom: 20px;
  }

  .doc__personal {
    padding: 20px 10px;
  }

  /*doctor*/
  #doctor__mv {
    height: 330px;
    margin-top: -30px;
  }

  .doctor__mv__fcp {
    font-size: 1.5rem;
  }

  .doctor__mv__inner h1 {
    font-size: 2.2rem;
  }

  #doctor__list article {
    grid-template-columns: 100%;
    gap: 20px 0;
  }

  .doctor__list--pic {
    max-width: 360px;
    margin: 0 auto;
  }

  #doctor__list article .grade__btn__cover {
    grid-column: span 1;
    margin-top: 10px;
  }

  #doctor__list article:not(:last-of-type) {
    margin-bottom: 30px;
    padding-bottom: 30px;
  }

  /*doctor detail*/
  .doctor__messa--tit {
    margin-bottom: 30px;
  }

  .doctor__messa--detail {
    padding: 0;
  }

  .career__map {
    grid-template-columns: 120px 1fr;
  }

  .career__map dt,
  .career__map dd {
    padding: 20px 10px;
  }

  /*menu*/
  .treat__one--list {
    grid-template-columns: 100%;
    gap: 0;
  }

  .treat__one {
    position: relative;
    margin: 90px auto 40px;
  }

  .treat__index {
    text-align: left;
  }

  .treat__list a {
    padding: 20px;
    grid-template-columns: 100%;
    gap: 20px 0;
  }

  .treat__list a>p {
    max-width: 180px;
    margin: 0 auto;
  }

  .treat__list a dt {
    font-size: 1.6rem;
  }

  .treat__word {
    text-align: left;
  }

  .-outline table th {
    width: 100px;
  }

  /*menu-detail*/
  .treat__intro {
    grid-template-columns: 100%;
    gap: 20px 0;
    margin-bottom: 10px;
  }

  #treat__intro--list {
    gap: 6px;
    font-size: 1.4rem;
  }

  #treat__intro--list li a {
    padding: 10px;
  }

  .treat__descript {
    margin-bottom: 0;
  }

  .treat__intro--name {
    font-size: 2rem;
  }

  .-treatmentbox h2 {
    font-size: 2rem;
  }

  .-treatmentbox h3 {
    font-size: 1.8rem;
  }

  .-treatmentbox u {
    font-size: 1.6rem;
  }

  /*minority*/
  .minority__blk {
    padding: 40px 20px;
  }

  .minority__scp {
    font-size: 1.8rem;
  }

  .minority__dl p:first-of-type {
    font-size: 2.2rem;
  }

  /*medical-loan*/
  .loan_blk {
    padding: 20px;
    font-size: 2rem;
    line-height: 1.5;
    margin-bottom: 40px;
  }

  .loan_blk--info {
    padding: 20px;
  }
}

@media (max-width: 414px) {

  /*header*/
  .head__cp span {
    font-size: 1rem;
  }

  .head__cp {
    font-size: 1.2rem;
  }

  .head__inner--log {
    gap: 0 20px;
  }

  /*footer*/
  small {
    font-size: 1.2rem !important;
  }

  /*contents*/
  /*index*/
  .insta__area>div:last-child {
    display: none;
  }

  /*case*/
  .tags li {
    font-size: 1.2rem;
  }

  /*case-detail*/
  .case__introduct {
    text-align: left;
    margin-bottom: 30px;
  }

  .case__summary dl {
    grid-template-columns: 90px 1fr;
  }

  /*doctor*/
  #doctor__mv {
    background-size: 940px;
    height: 340px;
    margin-top: -30px;
  }

  /*menu*/
  .yourube__box {
    max-width: 100%;
  }
}

@media (max-width: 375px) {

  /*contents*/
  /*index*/
  .need__link div {
    font-size: 1.1rem;
  }
}



/* 250812 お客様から医師へのご質問 ここから */
.user__voice--word {
  font-weight: normal;
  font-size: 1.8rem;
}

.user__voice--word-title {
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: 10px;
}

/* 250812 お客様から医師へのご質問 ここまで */

/* 250812 施術事例ページの改善 ここから */
.co__pics img {
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: unset;
  margin-bottom: 10px;
}

.case__summary--wrap {
  display: grid;
  grid-template-columns: 1fr 250px;
  gap: 20px;
}

.commentary__doctor--affiliation a {
  font-size: 24px;
}

.responce__box--doctor {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 20px;
  align-items: center;
  border-bottom: 1px dashed #b3956f;
  padding-bottom: 20px;
  margin-bottom: 40px;
}

.responce__box--doctor .i-doctor img {
  aspect-ratio: 1;
  object-fit: cover;
}

#responce__box .responce__box--doctor h3 {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.post-type-archive-customers-voice .improvement__pic,
.tax-customers-voice_cat .improvement__pic {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: contain;
}

.post-type-archive-customers-voice .improvement__pic a,
.tax-customers-voice_cat .improvement__pic a {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}

.post-type-archive-customers-voice .improvement__pic img,
.tax-customers-voice_cat .improvement__pic img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
}

@media (max-width: 650px) {

  .case__summary--wrap {
    grid-template-columns: 1fr;
  }

  .commentary__doctor--new {
    width: 80%;
    margin: 0 auto;
  }

  .responce__box--doctor {
    grid-template-columns: 90px 1fr;
  }
}

/* 250812 施術事例ページの改善 ここまで */

/* 250901 お客様から医師へのご質問 ここから */
.single-customers-voice .improvement__pic {
  aspect-ratio: 16 / 9;
}

.single-customers-voice .improvement__pic .imgmax {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.single-customers-voice #responce__box p {
  margin-bottom: 10px;
}

/* 250901 お客様から医師へのご質問 ここまで */

/* 250901 クリニックページの改善 ここから */
.clinic__txt {
  max-width: 750px;
  margin: 0 auto 30px;
}

.clinic__txt p:nth-of-type(n+2) {
  margin-top: 10px;
}

.marker {
  background: linear-gradient(transparent 60%, #F5E7D0 60%);
}

@media (max-width: 767px) {
  .clinic__txt {
    margin-top: 30px;
  }
}

/* 250901 クリニックページの改善 ここまで */

/* 250902 コラム記事ページ クリニック紹介追加 ここから */

.column-contents__clinic-introduction ul.sel-quality--list {
  display: grid;
  gap: 30px;
  margin: 50px auto;
  max-width: 890px;
  list-style: none;
  grid-template-columns: repeat(4, 200px);
}

.column-contents__clinic-introduction ul.sel-quality--list li span {
  padding-left: 50px;
}

.column-contents__clinic-introduction ul.sel-quality--list li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 120px;
  border: 2px solid;
  border-radius: 10px;
  color: #cf1225;
  text-decoration: none;
  font-weight: bold;
  font-size: 3rem;
}

.column-contents__clinic-introduction ul.sel-quality--list li.trmt span {
  background: url(../img/i-promise01.svg) no-repeat left center / 94px 70px;
}

.column-contents__clinic-introduction ul.sel-quality--list li.prom span {
  background: url(../img/i-promise02.svg) no-repeat left center / 94px 70px;
}

.column-contents__clinic-introduction ul.sel-quality--list li.fclty span {
  background: url(../img/i-promise03.svg) no-repeat left center / 94px 48px;
}

.column-contents__clinic-introduction ul.sel-quality--list li.price span {
  background: url(../img/i-promise04.svg) no-repeat left center / 94px 44px;
}

.column-contents__clinic-introduction p+p {
  margin-top: 20px;
}

.column-contents__clinic-introduction-link {
  margin-top: 30px;
  display: block;
}

@media (min-width: 750px) and (max-width: 950px) {

  .column-contents__clinic-introduction .-middle {
    max-width: none;
  }

  .column-contents__clinic-introduction ul.sel-quality--list {
    gap: 10px;
    grid-template-columns: repeat(4, 170px);
    justify-content: center;
  }

  .column-contents__clinic-introduction ul.sel-quality--list li span {
    width: 170px;
    height: 90px;
  }

}

@media (max-width: 750px) {

  .column-contents__clinic-introduction .-middle h2 {
    font-size: 2.2rem;
  }

  .column-contents__clinic-introduction ul.sel-quality--list {
    gap: 15px;
    margin: 50px auto;
    max-width: fit-content;
    grid-template-columns: 1fr 1fr;
  }

  .column-contents__clinic-introduction ul.sel-quality--list li {
    display: flex;
    justify-content: center;
  }

  .column-contents__clinic-introduction ul.sel-quality--list li span {
    width: 150px;
    height: 80px;
    font-size: 2.2rem;
  }

  .column-contents__clinic-introduction ul.sel-quality--list li.trmt span {
    background: url(../img/i-promise01.svg) no-repeat left center / 70px 50px;
  }

  .column-contents__clinic-introduction ul.sel-quality--list li.prom span {
    background: url(../img/i-promise02.svg) no-repeat left center / 70px 50px;
  }

  .column-contents__clinic-introduction ul.sel-quality--list li.fclty span {
    background: url(../img/i-promise03.svg) no-repeat left center / 70px 36px;
  }

  .column-contents__clinic-introduction ul.sel-quality--list li.price span {
    background: url(../img/i-promise04.svg) no-repeat left center / 70px 36px;
  }
}

/* 250902 コラム記事ページ クリニック紹介追加 ここまで */

/* 250902_コラムカテゴリーページ 要約 追加 ここから */

.category__infomation {
  margin-bottom: 60px;
}

.category__infomation--title {
  margin-bottom: 20px;
  letter-spacing: normal;
  font-weight: 600;
  font-size: 3rem;
  opacity: .5;
}

.category__digest {
  background-color: #F5F5F5;
  padding: 20px 20px 0;
  margin-bottom: 60px;
}

.category__digest--title {
  text-align: center;
  margin-bottom: 15px;
  font-size: 2rem;
}

.category__digest--content {
  display: grid;
  grid-template-columns: 1fr 115px;
}

.category__digest--content p {
  padding-bottom: 20px;
}

.category__digest--img {
  max-width: 100%;
  height: auto;
  align-self: end;
}

@media (max-width: 767px) {

  .category__digest--content {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .category__digest--img {
    width: 115px;
  }
}

/* 250902_コラムカテゴリーページ 要約 追加 ここまで */

/* 251008 症例詳細ページ 予約ボタン追加 ここから */

.case__summary--reservation {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 50px;
  justify-items: center;
}

.case__summary--reservation .grade__btn__cover {
  margin: 0;
}

@media (max-width: 767px) {

  .case__summary--reservation {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* 251008 症例詳細ページ 予約ボタン追加 ここまで */

/* 251009 よくある質問ページ修正 ここから */

.faq-q.is-hidden {
  display: none;
}

.faq__group:nth-of-type(n+2) {
  margin-top: 40px;
}

.faq__clinic {
  margin-top: 50px;
  border: 1px solid #b3956f;
  padding: 20px;
}

.faq__clinic--block {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.faq__clinic--comment {
  text-align: center;
}

.faq__clinic--item .grade__btn__cover {
  margin-top: 10px;
}

.faq__clinic--vacant {
  margin-top: 30px;
  text-align: center;
  border-top: 1px solid #b3956f;
  padding-top: 20px;
}

.faq__doctor {
  max-width: 700px;
  margin: 50px auto 0;
}

.faq__doctor--block {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 30px;
  box-shadow: 0 0 20px 0px #33333333;
  align-items: center;
  text-decoration: none;
}

.faq__doctor--block img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: top -16px right 50%;
}

.faq__doctor--block>div {
  padding: 30px 30px 30px 0;
}

.faq__doctor--name {
  font-size: 20px;
}

.faq__doctor--title {
  font-size: 20px;
  margin-bottom: 10px;
}

.faq__doctor--title::before {
  content: "■";
  color: #b3956f;
  margin-right: 5px;
}

@media (max-width: 767px) {

  .faq__clinic--block {
    grid-template-columns: repeat(1, 1fr);
  }

  .faq__doctor--block {
    grid-template-columns: 100px 1fr;
    gap: 10px;
    font-size: 14px;
  }

  .faq__doctor--block>div {
    padding: 10px 10px 10px 0;
  }

  .faq__doctor--name {
    font-size: 18px;
  }

  .faq__doctor--name {
    font-size: 18px;
    margin-bottom: 5px;
  }
}

/* 251009 よくある質問ページ修正 ここまで */

/* 251015 ブログによくある質問追加 ここから */

.grade__btn--faq-wrapper {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 30px;
  flex-wrap: wrap;
}

.grade__btn--faq-wrapper .grade__btn__cover,
#column-contents .grade__btn--faq-wrapper .grade__btn__cover {
  margin: 0;
}

.-column__unact .menu__container+.br__tit {
  margin-top: 50px;
}

/* 251015 ブログによくある質問追加 ここまで */

/* 251107 症例ページ 症例写真スライド追加 ここから */

.related-cases_page-case {
  margin-top: 50px;
}

/* 251107 症例ページ 症例写真スライド追加 ここまで */

/* 251107 よくある質問ページに料金について追記する ここから */

.faq-payment-methods__wrap {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 2rem;
}

.faq-payment-methods__group {
  background-color: #f2f2f2;
  padding: 20px;
}

.faq-payment-methods__contents {
  margin-top: 10px;
  padding-top: 20px;
  border-top: 2px solid #fff;
}

.faq-payment-methods__contents.--list {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.faq-payment-methods__item {
  width: 10%;
  min-width: 80px;
}

.faq-payment-methods__contents.--list.--credit .faq-payment-methods__item {
  min-width: 140px;
}

.faq-payment-methods__contents.--list.--credit .faq-payment-methods__item img {
  max-width: 80px;
}

@media (max-width: 767px) {

  .faq-payment-methods__wrap {
    grid-template-columns: 1fr;
  }

  .faq-payment-methods__group.--order-3 {
    order: 4;
  }

  .faq-payment-methods__group.--order-4 {
    order: 3;
  }

  .faq-payment-methods__contents.--list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }

  .faq-payment-methods__item {
    width: 100%;
    min-width: auto;
  }

  .faq-payment-methods__group {
    padding: 10px;
  }

  .faq-payment-methods__contents {
    margin-top: 5px;
    padding-top: 10px;
  }

  .faq-payment-methods__contents.--list.--credit .faq-payment-methods__item img {
    max-width: none;
  }
}

@media (max-width: 530px) {

  .faq-payment-methods__contents.--list.--credit {
    grid-template-columns: repeat(2, 1fr);
  }

  .faq-payment-methods__contents.--list.--credit .faq-payment-methods__item img {
    width: 60%;
}
}

/* 251107 よくある質問ページに料金について追記する ここまで */

/* 251107 ウルトラリフト4D 医療ハイフ 施術ページ 修正 ここから */

.menu__reservation {
  background: #f6f1e9;
  padding: 40px 20px;
  margin-bottom: 50px;
}

.menu__reservation--btn-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  justify-items: center;
}

.menu__reservation--btn-wrap .grade__btn__cover {
  margin: 0;
}

.menu__reservation--p {
  text-align: center;
  display: flex;
  position: relative;
  justify-content: center;
  margin-bottom: 20px;
  gap: 20px;
}

.menu__reservation--p p {
  font-size: 20px;
  margin-bottom: 0;
}

.menu__reservation--p::before,
.menu__reservation--p::after {
  width: 1px;
  content: "";
  background-color: #333;
  display: block;
  max-height: 80px;
}

.menu__reservation--p::before {
  margin-right: 0.5em;
  transform: rotate(-30deg);
}

.menu__reservation--p::after {
  margin-left: 0.5em;
  transform: rotate(30deg);
}

@media (max-width: 767px) {
  .menu__reservation--btn-wrap {
    grid-template-columns: repeat(1, 1fr);
  }

  .menu__reservation--p p {
    font-size: 16px;
  }
}

/* 251107 ウルトラリフト4D 医療ハイフ 施術ページ 修正 ここまで */


/* 260203 コラム記事ページ クリニック紹介追加 ここから */

.column-contents__clinic-introduction ul.sel-quality--list {
  display: grid;
  gap: 30px;
  margin: 50px auto;
  max-width: 890px;
  list-style: none;
  grid-template-columns: repeat(4, 200px);
}

.column-contents__clinic-introduction ul.sel-quality--list li span {
  padding-left: 50px;
}

.column-contents__clinic-introduction ul.sel-quality--list li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 120px;
  border: 2px solid;
  border-radius: 10px;
  color: #cf1225;
  text-decoration: none;
  font-weight: bold;
  font-size: 3rem;
}

.column-contents__clinic-introduction ul.sel-quality--list li.trmt span {
  background: url(../img/i-promise01.svg) no-repeat left center / 94px 70px;
}

.column-contents__clinic-introduction ul.sel-quality--list li.prom span {
  background: url(../img/i-promise02.svg) no-repeat left center / 94px 70px;
}

.column-contents__clinic-introduction ul.sel-quality--list li.fclty span {
  background: url(../img/i-promise03.svg) no-repeat left center / 94px 48px;
}

.column-contents__clinic-introduction ul.sel-quality--list li.price span {
  background: url(../img/i-promise04.svg) no-repeat left center / 94px 44px;
}

.column-contents__clinic-introduction p+p {
  margin-top: 20px;
}

.column-contents__clinic-introduction-link {
  margin-top: 30px;
  display: block;
}

@media (min-width: 750px) and (max-width: 950px) {

  .column-contents__clinic-introduction .-middle {
    max-width: none;
  }

  .column-contents__clinic-introduction ul.sel-quality--list {
    gap: 10px;
    grid-template-columns: repeat(4, 170px);
    justify-content: center;
  }

  .column-contents__clinic-introduction ul.sel-quality--list li span {
    width: 170px;
    height: 90px;
  }

}

@media (max-width: 750px) {

  .column-contents__clinic-introduction .-middle h2 {
    font-size: 2.2rem;
  }

  .column-contents__clinic-introduction ul.sel-quality--list {
    gap: 15px;
    margin: 50px auto;
    max-width: fit-content;
    grid-template-columns: 1fr 1fr;
  }

  .column-contents__clinic-introduction ul.sel-quality--list li {
    display: flex;
    justify-content: center;
  }

  .column-contents__clinic-introduction ul.sel-quality--list li span {
    width: 150px;
    height: 80px;
    font-size: 2.2rem;
  }

  .column-contents__clinic-introduction ul.sel-quality--list li.trmt span {
    background: url(../img/i-promise01.svg) no-repeat left center / 70px 50px;
  }

  .column-contents__clinic-introduction ul.sel-quality--list li.prom span {
    background: url(../img/i-promise02.svg) no-repeat left center / 70px 50px;
  }

  .column-contents__clinic-introduction ul.sel-quality--list li.fclty span {
    background: url(../img/i-promise03.svg) no-repeat left center / 70px 36px;
  }

  .column-contents__clinic-introduction ul.sel-quality--list li.price span {
    background: url(../img/i-promise04.svg) no-repeat left center / 70px 36px;
  }
}

/* 260203 コラム記事ページ クリニック紹介追加 ここまで */

/* 260204 メニュー修正 ここから */

.price-table__title {
  font-size: 16px;
  margin: 10px 0;
}

.price-table__content {
  width: 100%;
  border-collapse: collapse;
}

.price-table__content tr {
  border-bottom: 1px solid #e5e5e5;
}

.price-table__content tr:first-of-type {
  border-top: 1px solid #e5e5e5;
}

.price-table__content th,
.price-table__content td {
  padding: 5px;
  text-align: left;
}

.price-table__content .main-text {
  margin: 0 0 5px;
}

.price-table__content .highlight {
  font-weight: bold;
}

.price-table__content .sub-text {
  margin: 0;
  color: #4b4b4b;
}

.price-table__buttons {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 10px;
  margin-top: 20px;
}

.price-table__btn--primary,
.price-table__btn--secondary {
  text-align: center;
  text-decoration: unset;
  padding: 10px;
}

.price-table__btn--primary {
  background: #b3956f;
  color: #fff;
}

.price-table__btn--secondary {
  background: #f6f1e9;
  border: 1px solid #b3956f;
}

@media (max-width: 400px) {

  .price-table__buttons {
    grid-template-columns: 1fr;
  }
}

main.order-custom {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.order-custom #post_cc {
  display: contents;
}

.order-custom #post_cc>* {
  width: calc(100vw - 40px);
}

.order-custom #page-anker01 {
  order: 1;
}

.order-custom #page-anker09 {
  order: 2;
  width: 100%;
}

.order-custom #post_cc>*:not(#page-anker01) {
  order: 3;
}

.order-custom #page-anker10 {
  order: 4;
  width: 100%;
}

.order-custom .sybox {
  order: 5;
  width: 100%;
}

.order-custom #page-anker04 {
  max-width: 1150px;
  margin-bottom: 50px;
}

.feature-section__box {
  border: 1px solid #ddd;
  padding: 25px;
  margin-bottom: 20px;
}

.feature-section__box-title {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 15px;
}

.feature-section__box p {
  margin-bottom: 0;
}

.feature-section__compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 20px;
}

.feature-section__compare-item {
  border: 1px solid #ddd;
  padding: 20px;
  display: flex;
  flex-direction: column;
}

.feature-section__compare-item h4 {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.dot {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

.dot--red {
  background-color: #c94a4a;
}

.feature-section__compare-item p {
  margin-bottom: 15px;
}

.feature-section__compare-img {
  margin-top: auto;
}

.feature-section__compare-img img {
  width: 100%;
  aspect-ratio: 21 / 10;
  object-fit: cover;
}

.feature-section__compare-label {
  display: block;
  background: #f6f1e9;
  padding: 5px 15px;
  margin-bottom: 10px;
  width: fit-content;
}

.feature-section__recommend {
  border: 2px solid #cf1225;
  padding: 25px 30px;
}

.feature-section__recommend h4 {
  text-align: center;
  font-weight: bold;
  margin-bottom: 15px;
}

.feature-section__recommend p {
  text-align: center;
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .feature-section__compare {
    grid-template-columns: 1fr;
  }
}

/* 260204 メニュー修正 ここまで */

/* 260303 ブログCTA追加 ここから */

.article-cta {
  margin: 30px auto;
}

.article-cta__comment {
  font-weight: bold;
  font-size: 2rem;
  position: relative;
  margin: 60px auto 30px;
  text-align: center;
  width: fit-content;
  padding: 0 3em;
  margin-bottom: 0.25em;
  letter-spacing: 0.02em;
}

.article-cta__comment::before {
  content: "";
  display: block;
  width: 5px;
  height: 1.4em;
  background: #b3956f;
  position: absolute;
  left: 0;
  top: 50%;
  width: 30px;
  height: 2px;
  background-color: #000;
  transform: translateY(-50%) rotate(70deg);
}

.article-cta__comment::after {
  content: '';
  position: absolute;
  top: 50%;
  display: block;
  width: 30px;
  height: 2px;
  background-color: #000;
  right: 0;
  transform: translateY(-50%) rotate(-70deg);
}

.article-cta .grade__btn__cover,
#column-contents .article-cta .grade__btn__cover {
  margin-top: 20px;
}

.article-cta .menu__link {
  max-width: 300px;
  margin: 20px auto 0;
}

.article-cta__p {
  font-size: 2.2rem;
  font-weight: normal;
  text-align: center;
}

@media (max-width: 519px) {

  .article-cta__p {
    font-size: 2rem;
  }
}

.price-line-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.price-line-cta__btn {
  background-color: #fff;
  display: block;
  border-radius: 9999px;
  text-align: center;
  padding: 15px;
  text-decoration: none;
  border: 2px solid #06C755;
  max-width: 380px;
  width: 100%;
  background-image: url("../img/icon_line.svg");
  background-position: left 20px center;
  background-size: 30px;
}

.price-line-cta__p,
.price__table p.price-line-cta__p {
  margin-bottom: 0;
}

/* 260303 ブログCTA追加 ここまで */

/* 260331 新着記事 ここから */

#column__area.--3col {
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 768px) {

  #column__area.--3col {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* 260331 新着記事 ここまで */