@charset "UTF-8";

/* common */

:root {
  --base-font: "Helvetica", "Arial", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  --mincho-font: "游明朝", "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  --infant-font: "Cormorant Infant", serif;
  --shippori-mincho-font: "Shippori Mincho", serif;
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  color: #333;
  font-family: var(--base-font);
  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";
}

p {
  margin: 0;
}

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

.hidden {
  display: none;
}

.-pconly {
  display: block;
}

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

#nav__area {
  display: none;
}

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

/*font*/
.-mincho {
  font-family: var(--mincho-font);
}

.-infant {
  font-family: var(--infant-font);
  font-optical-sizing: auto;
}

.shippori-mincho-regular {
  font-family: var(--shippori-mincho-font);
  font-weight: 400;
  font-style: normal;
}

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: 1120px;
  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;
}

/*icon*/
.i-phone {
  background: url(../img/i-phone.svg) no-repeat left center / 11px;
}

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

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

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

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

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

.i-calender {
  background: url(../img/i-calender.svg) no-repeat left center / 28px;
}

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

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

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

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

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

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

.i-star {
  background: url(../img/i-star.svg) no-repeat left center / 14px;
}

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

.i-page {
  background: url(../img/i-page.svg) no-repeat left center / 15px;
}

/*color*/
.col-pink {
  color: #ff0000;
}

.liner-yellow {
  background-color: rgb(242, 234, 198);
  padding: 3px;
}

/*button*/
.first__btn {
  display: block;
  background-color: #c08f1f;
  padding: 20px 10px;
  border-radius: 50em;
  background-image: linear-gradient(90deg, #c08f1f 0%, #d4bb37 100%);
  text-align: center;
  text-decoration: none;
  color: #fff;
  max-width: 420px;
  width: 100%;
  line-height: 1.3;
  margin: 40px auto 0;
}

.first__btn span {
  background: url(../img/i-arrow_w.svg) no-repeat right center / 6px;
  padding: 0 12px;
  display: inline-block;
}

.gline__btn {
  display: block;
  padding: 20px 10px;
  border-radius: 50em;
  position: relative;
  text-align: center;
  text-decoration: none;
  max-width: 420px;
  width: 100%;
  line-height: 1.4;
  margin: 40px auto 0;
  background: #fff;
}

.gline__btn span {
  background: url(../img/i-arrow.svg) no-repeat right center / 6px;
  padding: 0 12px;
  display: inline-block;
}

.gline__btn.-reverse span {
  background: url(../img/i-arrow-rev.svg) no-repeat left center / 6px;
  padding: 0 12px;
  display: inline-block;
}

.gline__btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 50px;
  border: 2px solid transparent;
  background: linear-gradient(135deg, rgb(192, 145, 29) 0%, rgb(212, 187, 55) 100%) border-box border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: destination-out;
  mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  mask-composite: exclude;
}

.line__btn {
  display: block;
  padding: 12px;
  border-radius: 50em;
  position: relative;
  text-align: center;
  text-decoration: none;
  max-width: 250px;
  width: 100%;
  font-size: 1.4rem;
  line-height: 1.4;
  margin: 40px auto 0;
  border: 1px solid #333;
  background: #fff;
}

.line__btn span {
  background: url(../img/i-arrow.svg) no-repeat right center / 6px;
  padding: 0 12px 0 0;
  display: inline-block;
}

/*title*/
.fs__tit {
  text-align: center;
  margin: 0 auto 30px;
  letter-spacing: 0.1em;
}

.fs__tit--en {
  font-family: var(--infant-font);
  background: linear-gradient(90deg, #b0e1f7 0%, #efdbe3 70%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 6rem;
  line-height: 1;
  font-weight: normal;
}

.fs__tit--jn {
  font-family: var(--mincho-font);
  font-size: 2.8rem;
  font-weight: normal;
  letter-spacing: 0.3em;
}

.fs__tit--fcp {
  margin-top: 30px;
}

.fs__tit--line {
  font-family: var(--mincho-font);
  font-size: 2.8rem;
  font-weight: normal;
  border-top: 1px solid #decf91;
  border-bottom: 1px solid #decf91;
  padding: 10px 0;
}

.fs__tit--circle {
  font-size: 2rem;
  font-weight: bold;
  position: relative;
  padding-left: 24px;
  margin-bottom: 20px;
}

.fs__tit--circle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em;
  background: url(../img/i-circle_g.svg) no-repeat center center / 14px auto;
  width: 14px;
  height: 14px;
  display: block;
}

.fs__tit--bld {
  font-size: 2rem;
  font-weight: bold;
  position: relative;
  margin-bottom: 20px;
}

.fs__tit--bg-yel {
  font-size: 2.4rem;
  font-weight: bold;
  padding: 10px 14px;
  background: #faf8f2;
  margin: 4rem auto 2rem;
}

.en__linetit--wrap {
  margin-bottom: 30px;
}

.en__linetit {
  font-family: var(--infant-font);
  font-size: 6rem;
  line-height: 1;
  position: relative;
  color: #f4f1e9;
  display: flex;
  gap: 0 40px;
  align-items: center;
  margin-bottom: 10px;
}

.en__linetit::after {
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background: #ccc;
}

.en__linetit--capt {
  font-size: 2.1rem;
  font-weight: normal;
  font-family: var(--mincho-font);
}

/*header*/
header {
  padding: 20px 0;
}
/* 
#logo {
  max-width: 330px;
} */

#logo {
  max-width: 400px;
}

.header__root {
  font-size: 1.3rem;
  line-height: 1;
  margin-bottom: 8px;
}

.header__wrap {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.sns__follow {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0 6px;
  align-items: center;
}

.sns__follow--icon {
  display: grid;
  grid-template-columns: repeat(4, 26px);
  gap: 0 5px;
}

.sns__follow--title {
  font-size: 1rem;
  line-height: 1;
  color: #999;
  letter-spacing: 1px;
}

.sns__follow--icon li {
  list-style: none;
}

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

#searchform,
.searchform_tp {
  background: #efefef;
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 18px;
  gap: 0 10px;
  padding: 10px;
  line-height: 1;
  font-size: 1.4rem;
  max-width: 222px;
}

.header__wrap--search {
  display: none;
}

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

.head__actbtn li {
  list-style: none;
  text-align: center;
  font-family: 1.4rem;
}

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

.head__actbtn li a span {
  padding: 3px 0 3px 28px;
}

.head__info--time {
  text-align: center;
  line-height: 1;
  font-weight: bold;
}

.head__info--time dt {
  font-size: 1.3rem;
  margin-bottom: 6px;
}

.head__info--time dd {
  font-size: 1.5rem;
}

.head__actbtn {
  font-size: 1.4rem;
}

.head__actbtn--web {
  background: #dac35d;
}

.head__actbtn--line {
  background-color: #09a75a;
  background-image: linear-gradient(90deg, #09a75a 0%, #278e2a 100%);
}

.header__wrap--number {
  font-size: 2.6rem;
  letter-spacing: 0.1em;
  line-height: 1;
}

.header__wrap--number span {
  padding-left: 16px;
}

.header__wrap--tp {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0 30px;
  margin-bottom: 10px;
}

.humbtn,
.head_tp_special {
  display: none;
}

#navs {
  position: relative;
}

.navs__area {
  display: grid;
  align-items: center;
  grid-template-columns: repeat(8, auto);
}

.navs__area > li {
  list-style: none;
  text-align: center;
  font-weight: bold;
  line-height: 1.2;
}

.navs__area > li:not(:last-of-type) {
  background: url(../img/c-line.svg) no-repeat right center / 1px;
}

.navs__area > li > a {
  text-decoration: none;
  padding: 20px 0;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.navs__area > li > a::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0px;
  width: 0;
  height: 1px;
  transition: 0.6s;
  background: #65bfed;
  background-image: linear-gradient(90deg, #65bfed 0%, #6dd0cc 100%);
}

.navs__area > li > a:hover::before {
  left: 0;
  width: 100%;
}

.navs__area > li > a span {
  display: block;
  background: url(../img/i-arrow_down-br.svg) no-repeat calc(100% - 10px) center / 13px;
  padding-right: 30px;
}

#nav_menubox,
#nav_menubox_sd,
.mega__menu {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  left: 0;
  top: 100%;
  transition: 0.3s;
}

#nav_menubox,
#nav_menubox_sd {
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}

#nav_menubox .menu__box,
#nav_menubox_sd .menu__box {
  padding: 20px 60px;
}

#nav_menubox .menu__box__inner > div,
#nav_menubox_sd .menu__box__inner > div {
  display: grid;
  grid-template-columns: 54px auto;
  align-items: center;
  gap: 0 20px;
}

#nav_menubox .menu__box--cont,
#nav_menubox_sd .menu__box--cont {
  text-align: left;
  font-size: 1.6rem;
  margin: 0;
}

#nav_menubox .menu__box__inner,
#nav_menubox_sd .menu__box__inner {
  align-items: flex-start;
}

#nav_menubox .menu__box--area,
#nav_menubox_sd .menu__box--area {
  grid-column: span 2;
  margin-top: 10px;
}

#nav_menubox .menu__box--area a,
#nav_menubox_sd .menu__box--area a {
  height: 64px;
  font-size: 1.1rem;
  color: #666;
  text-align: left;
  font-weight: normal;
}

.menu__box__namebox {
  height: 400px;
  overflow: auto;
  font-weight: normal;
}

.menu__box__namebox .menu__treatment-name ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 0px 20px;
}

.menu__box__namebox .menu__treatment-name ul li {
  text-align: left !important;
  border: none !important;
  background: none !important;
}

.menu__box__namebox .menu__treatment-name ul li:not(:last-of-type) {
  margin-bottom: 10px;
}

.menu__box__namebox .menu__treatment-name ul a {
  background: #fff;
  display: flex;
  width: 100%;
  text-align: left !important;
  align-items: center;
  padding: 17px 10px;
  border-radius: 4px;
  justify-self: flex-start;
  text-decoration: none;
  line-height: 1.2;
  color: #111 !important;
  position: relative;
  border: none !important;
}

.menu__box__namebox .menu__treatment-name ul a span {
  display: block;
  text-align: left;
  width: 100%;
}

.menu__box__namebox .menu__treatment-name ul a:hover {
  border: none !important;
}

.menu__box__namebox .menu__treatment-name ul a::after {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translate(0, -50%);
  width: 6px;
  height: 12px;
  background: url(../img/i-arrow_b.svg) no-repeat right center / 6px;
}

.fook__menu:hover #nav_menubox,
.fook__menu:hover #nav_menubox_sd {
  z-index: 3;
  opacity: 1;
  pointer-events: auto;
  width: 100%;
}

.fook__m-menu {
  position: relative;
}

.fook__m-menu:hover .mega__menu {
  z-index: 3;
  opacity: 1;
  pointer-events: auto;
}

.mega__menu {
  background-color: #f0faf8;
  background-image: linear-gradient(135deg, #f0faf8 50%, #f0ecf7 100%);
  padding: 20px;
  margin-inline: auto;
  position: absolute;
  top: 100%;
  width: 200%;
  left: -50%;
}

.mega__menu ul li {
  list-style: none;
  text-align: left;
}

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

.mega__menu ul li a {
  background: #fff;
  display: flex;
  padding: 15px 10px;
  border-end-end-radius: 4px;
  text-decoration: none;
  font-weight: normal;
  position: relative;
}

.mega__menu ul li a::after {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translate(0, -50%);
  width: 6px;
  height: 12px;
  background: url(../img/i-arrow_b.svg) no-repeat right center / 6px;
}

.submenu--area {
  display: none;
}

.hide {
  display: none;
}

/*footer*/

.to-top {
  display: inline-block;
  width: 5rem;
  height: 5rem;
  background-color: #eeeee9;
  border-radius: 50%;
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  opacity: 0;
  /* 最初は非表示 */
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  cursor: pointer;
  z-index: 2;
}

.to-top.show {
  opacity: 1;
  visibility: visible;
}

.to-top::before {
  content: "";
  width: 0.65em;
  height: 0.65em;
  border: 1px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(-45deg);
  transform-origin: top right;
  position: absolute;
  top: 16px;
  right: 50%;
  box-sizing: border-box;
}

.to-top::after {
  content: "";
  position: absolute;
  top: 16px;
  right: calc(50% - 0.5px);
  display: inline-block;
  width: 1px;
  height: 19px;
  background-color: #333;
}

#footers {
  background: url(../img/footer_bg.jpg) no-repeat center center / cover;
  padding: 100px 0;
}

.footers__inner {
  max-width: 1120px;
  max-width: min(calc(100% - 40px), 1150px);
  margin-inline: auto;
  color: #fff;
  font-size: 1.3rem;
}

.footers__inner a {
  color: #fff;
  text-decoration: none;
}

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

.logo_w {
  max-width: 320px;
  margin-top: 10px;
}

.footers__capt {
  text-align: right;
}

.footer_links {
  display: grid;
  grid-template-columns: repeat(5, auto);
  gap: 0 60px;
  margin: 40px 0;
}

.footer_links li {
  list-style: none;
}

.footer_links li:not(:last-of-type) {
  margin-bottom: 6px;
}

.footer_act ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 20px;
  margin: 0 auto 40px;
}

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

.footer_act ul a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border: 1px solid #fff;
  height: 120px;
  text-align: center;
}

.footer_act--icon {
  max-width: 25px;
  margin: 0 auto 10px;
}

.footer_act--inner {
  width: 100%;
}

.footer_act--min {
  font-size: 1.4rem;
}

.footer_act--cont {
  font-size: 1.8rem;
}

.footer_act--number {
  font-size: 2.2rem;
}

.footer_act--a {
  background: url(../img/i-arrow_w.svg) no-repeat calc(100% - 20px) center / 6px;
}

.footer_sns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 20px;
  font-size: 1rem;
}

.footer_sns ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0 6px;
}

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

.copy_guide {
  text-align: center;
  font-size: 1.2rem;
  margin: 30px auto;
}

small {
  display: block;
  text-align: center;
  margin-bottom: 30px;
}

#fix__foot,
#fix_first {
  display: none;
}

/*パンくず*/
#breadcrumbs {
  max-width: 1120px;
  max-width: min(calc(100% - 40px), 1150px);
  margin-inline: auto;
  padding: 30px 0;
}

#breadcrumbs ul {
  display: flex;
  align-items: center;
}

#breadcrumbs ul li {
  list-style: none;
  display: flex;
  align-items: center;
  font-size: 1.4rem;
}

#breadcrumbs ul li,
#breadcrumbs ul li a {
  color: #666;
  position: relative;
}

#breadcrumbs ul li:not(:last-of-type)::after {
  background: url(../img/i-arrow.svg) no-repeat center center / 6px;
  display: block;
  width: 7px;
  height: 13px;
  content: "";
  margin: 0 10px;
}

/*index*/
#mainvisual {
  height: 500px;
  overflow: hidden;
  position: relative;
}

#mainvisual .first__btn br {
  display: none;
}

.mv__wrap {
  max-width: 1120px;
  max-width: min(calc(100% - 40px), 1150px);
  width: 100%;
  margin-inline: auto;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  z-index: 2;
  display: grid;
  grid-template-columns: 590px 1fr;
  gap: 0 50px;
}

.mv__wrap--bg {
  width: 80vw;
  height: 500px;
  background: url(../img/main__mv.jpg) no-repeat center center / cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.mv__introarea--m_word {
  font-size: 3rem;
  line-height: 1.2;
  margin-bottom: 16px;
}

.mv__introarea--m_word span {
  font-size: 5.6rem;
  background: linear-gradient(90deg, #c0911d 0%, #dac35d 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.mv__introarea--list {
  margin-bottom: 20px;
}

.mv__introarea--list li {
  list-style: none;
  position: relative;
  padding-left: 1em;
  font-size: 2rem;
}

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

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

.mv__introarea--list__glass {
  background: rgba(255, 255, 255, 0.6);
  padding: 10px;
  width: max-content;
}

.mv__introarea--sub_word {
  font-weight: normal;
  font-size: 1.6rem;
}

#message__wrap {
  position: relative;
}

#message__wrap .fs__tit--en {
  font-size: 8rem;
}

#message__wrap .fs__tit--jn {
  font-size: 3rem;
}

.messa__area {
  margin-top: 40px;
}

.message__wrap--bg {
  width: 90vw;
  height: 180%;
  position: absolute;
  top: -80%;
  right: 0;
  z-index: -1;
  background-color: #09a75a;
  background-image: linear-gradient(90deg, #edf7ff 0%, #f6f6f8 47%, #fffef3 100%);
}

.message__wrap--box {
  padding: 60px 0;
}

.message__wrap--txt {
  line-height: 2;
  font-size: 1.6rem;
  font-weight: normal;
}

.recomm__box {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 30px;
  justify-content: center;
}

.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;
  /* 初期要素は高さ制限なし */
  width: calc((100% - 60px) / 3);
}

.recomm__box li.visible {
  display: block;
  width: calc((100% - 60px) / 3);
}

.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;
  padding-right: 20px;
}

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

.menu__box {
  background-color: #f0faf8;
  background-image: linear-gradient(135deg, #f0faf8 50%, #f0ecf7 100%);
  padding: 60px;
  max-width: 1240px;
  margin-inline: auto;
}

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

.menu_ill {
  max-width: 82px;
  margin: 0 auto;
}

.menu__box--cont {
  font-size: 2rem;
  font-weight: normal;
  margin: 10px 0 20px;
  text-align: center;
  font-family: var(--mincho-font);
}

.menu__box--area li {
  list-style: none;
}

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

.menu__box--area a {
  background: #fff;
  display: flex;
  align-items: center;
  padding: 10px 20px 10px 10px;
  border-radius: 4px;
  text-decoration: none;
  font-size: 1.2rem;
  line-height: 1.2;
  color: #666;
  position: relative;
  height: 74px;
}

.menu__box--area a::after {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translate(0, -50%);
  width: 6px;
  height: 12px;
  background: url(../img/i-arrow_b.svg) no-repeat right center / 6px;
}

.menu__box--name {
  font-size: 1.6rem;
  font-weight: normal;
  color: #333;
  margin-bottom: 6px;
}

.case__wrap--box {
  display: grid;
  grid-template-columns: 540px 1fr;
  gap: 0px 60px;
  position: relative;
}

.case__wrap--cont .fs__tit--en {
  position: absolute;
  top: 0;
  right: 0;
}

.case__wrap--cont .fs__tit {
  text-align: left;
  padding-top: 80px;
}

.machines__area {
  padding-bottom: 60px;
}

.machines__area--base {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px 40px;
  margin: 60px auto 60px;
}

.machines__area--name {
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  font-family: var(--mincho-font);
  margin-bottom: 15px;
}

.machines__area--name span {
  font-size: 1.4rem;
  font-family: var(--base-font);
  font-weight: normal;
  margin-left: 20px;
}

.machines__spec {
  display: grid;
  grid-template-columns: 50% 1fr;
  gap: 0 40px;
  font-size: 1.5rem;
}

.machines__spec ul {
  margin: 20px 0;
}

.machines__spec li {
  list-style: none;
  background: url(../img/i-check.svg) no-repeat left 0.5em / 10px;
  padding-left: 1em;
}

.machines__spec--info {
  display: flex;
  flex-wrap: wrap;
}

.machines__spec--info .line__btn {
  max-width: 160px;
  width: 100%;
  margin-top: auto;
}

#machines__wrap {
  position: relative;
}

#machines__wrap .fs__tit--en {
  background: linear-gradient(90deg, #e0e0e0 0%, #e0e0e0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.machines__wrap__bg {
  width: 80vw;
  position: absolute;
  top: -13%;
  left: 0;
  height: 113%;
  background: #65bfed;
  background-image: linear-gradient(90deg, #f5f6f7 0%, #f3fafe 100%);
  z-index: -1;
}

.reserve__area--act {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 10px;
  margin-bottom: 15px;
}

.reserve__area--act li {
  list-style: none;
  font-size: 2rem;
}

.reserve__area--act li a {
  display: block;
  text-align: center;
  color: #fff;
  text-decoration: none;
  padding: 20px;
}

.reserve__area--act li a span {
  padding: 8px 0 8px 50px;
  background-size: 40px auto;
}

.reserve__area--act br {
  display: none;
}

.reason_box {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 20px;
  position: relative;
  z-index: 2;
}

.reason_box--cont__cover {
  display: flex;
  align-items: center;
  height: 100%;
}

.reason_box--list {
  background: #fff;
  display: grid;
  gap: 0;
  grid-template-rows: subgrid;
  grid-row: span 2;
}

.reason_box--cont {
  padding: 20px;
  display: grid;
  align-items: center;
  gap: 0 20px;
  grid-template-columns: 1fr auto;
}

.reason_num {
  font-size: 6.2rem;
  line-height: 1;
  background: linear-gradient(0deg, #81afdb 0%, #5fbfe8 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.reason__bg {
  background: url(../img/reason__bg.jpg) no-repeat center center / cover;
  margin-top: -200px;
  padding: 260px 0 100px;
  position: relative;
}

.reason_box--scp {
  text-align: center;
  line-height: 2;
  position: relative;
  z-index: 2;
}

#doctor__wrap {
  margin: 0 auto 60px;
}

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

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

.doctor__tbl--name {
  font-size: 2.4rem;
  font-weight: normal;
  margin-bottom: 10px;
}

.doctor__tbl--wk {
  font-weight: bold;
  margin-top: 20px;
}

.doctor__tbl--info ul {
  display: flex;
  align-items: center;
  gap: 0 10px;
  margin-top: 20px;
}

.doctor__tbl--info ul li {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0 10px;
  font-size: 1rem;
}

.doctor__tbl--info ul img {
  max-width: 32px;
}

.doctor__tbl--act {
  grid-column: span 2;
}

.doctor__tbl--act .line__btn {
  margin-top: 30px;
}

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

.cmp__wrap {
  background: #faf8f2;
  padding: 60px 0;
}

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

.cmp__wrap--tbl dl {
  margin-top: 10px;
}

.cmp__wrap--tbl dl dt {
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
}

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

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

.column__list time {
  background: url(../img/i-time.svg) no-repeat left center / 16px;
  padding-left: 20px;
  color: #999;
  font-size: 1.4rem;
  display: block;
  margin-bottom: 0px;
}

.column__list--cate {
  font-size: 1.4rem;
  margin-bottom: 10px;
}

.column__list--title {
  font-size: 1.6rem;
  font-weight: normal;
}

.column__list--title a {
  text-decoration: none;
}

.official_sns {
  background: #faf8f2;
  padding: 40px 60px;
}

.official_sns--tbl ul {
  gap: 0 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.official_sns--tbl ul li {
  list-style: none;
}

.official_sns--tbl ul li a {
  display: grid;
  grid-template-columns: 60px auto;
  align-items: center;
  gap: 0 10px;
  font-size: 1.4rem;
}

.official_sns--tbl ul li img {
  max-width: 60px;
}

.official_sns--act .gline__btn {
  margin-top: 20px;
}

.about__wrap--tbl {
  display: grid;
  grid-template-columns: 55% 1fr;
  gap: 0 50px;
}

.about__wrap--photo {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.about__wrap--photo .line__btn {
  margin-top: 0;
}

.about__wrap--acc dt {
  font-weight: bold;
  position: relative;
  display: flex;
  align-items: center;
  gap: 0 20px;
}

.about__wrap--acc dt::after {
  content: "";
  display: block;
  width: 130px;
  height: 1px;
  background: #cccccc;
}

.about__wrap--acc .i-train {
  padding: 10px 0 10px 44px;
}

.about__wrap--acc dd {
  position: relative;
  padding-left: 1em;
  margin-left: 44px;
}

.about__wrap--acc dd:not(:last-child) {
  margin-bottom: 6px;
}

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

.about__wrap--times {
  background: #faf8f2;
  padding: 20px;
  text-align: center;
  font-size: 1.8rem;
  margin: 20px 0;
}

.about__times--mi,
.about__times--hour {
  font-weight: bold;
}

.about__times--mi {
  font-size: 1.6rem;
}

.about__times--hour {
  font-size: 2rem;
  margin-bottom: 6px;
}

.about__times--holi span {
  padding: 3px 0 3px 38px;
}

.about__wrap--adr {
  margin-bottom: 10px;
}

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

.about__actbox li {
  list-style: none;
  text-align: center;
}

.about__actbox li a {
  display: flex;
  flex-wrap: wrap;
  color: #fff;
  text-decoration: none;
  height: 100px;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
}

.actbox--icon {
  display: block;
  max-width: 30px;
  margin: 0 auto 5px;
}

.actbox--icon.-sgs {
  margin-bottom: 10px;
  max-width: 36px;
}

.actbox--pln {
  width: 100%;
}

.head__actbtn--phone {
  background-color: #393939;
  background-image: linear-gradient(90deg, #393939 0%, #555 100%);
}

.nunbers {
  font-size: 1.4rem;
}

#news {
  background-color: #eef7ff;
  background-image: linear-gradient(90deg, #eef7ff 0%, #f9f5fc 47%, #fff4f4 100%);
  padding: 60px 0;
}

.news__tit--en {
  font-family: var(--infant-font);
  font-size: 4rem;
  line-height: 1;
  font-weight: normal;
  margin-bottom: 10px;
}

.news__tit--jn {
  font-size: 1.6rem;
  font-weight: bold;
}

.news__link {
  width: 130px;
  position: relative;
  margin-top: 60px;
}

.news__link a {
  text-decoration: none;
  display: block;
  padding: 10px 0 5px;
  border-bottom: 1px solid #999;
}

.news__allwrap {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 0 200px;
  align-items: flex-end;
}

.news__listwrap li {
  font-size: 1.4rem;
  list-style: none;
  display: grid;
  grid-template-columns: 80px 100px auto;
  align-items: center;
  gap: 0 20px;
}

.news__listwrap li:not(:last-of-type) {
  margin-bottom: 15px;
}

.news__list-cate {
  border: 1px solid #666;
  border-radius: 4px;
  padding: 5px;
  text-align: center;
  line-height: 1;
}

#news-archive {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 0 50px;
}

#news-archive .newslist--blk__cont {
  margin-bottom: 30px;
}

#news-archive .newslist--blk__cont a {
  text-decoration: none;
}

#news-archive .newslist--blk .newslist--blk__cont h1 {
  font-size: 3.2rem;
  font-family: var(--mincho-font);
  font-weight: normal;
  margin-bottom: 10px;
}

#news-archive .post-list__meta {
  display: flex;
  flex-wrap: wrap;
  white-space: nowrap;
  justify-content: left;
  font-size: 1.4rem;
  width: min-content;
  gap: 5px;
  margin-bottom: 20px;
}

#news-archive .newslist--blk__cont h2 {
  border-top: 1px solid #c6bfb3;
  padding-top: 30px;
  padding-bottom: 15px;
  font-size: 1.8rem;
  font-family: var(--mincho-font);
  font-weight: normal;
}

.single-news #news-archive .newslist--blk__cont h2 {
  border-top: 1px solid #decf91;
  padding: 10px 0;
  font-size: 2.8rem;
}

@media (max-width: 767px) {
  .single-news #news-archive .newslist--blk__cont h2 {
    font-size: 2.4rem;
  }
}

#news-archive .newslist--blk__cont h2 a {
  text-decoration: none;
}

#news-archive .news-list__meta {
  display: flex;
  justify-content: right;
  font-size: 1.4rem;
  gap: 20px;
  margin-top: 20px;
}

#news-archive .news-list__meta .news-list__date time,
#news-archive span.post-list__date time {
  background: url(../img/i-time.svg) no-repeat left center / 16px;
  padding-left: 20px;
  color: #999;
  font-size: 1.4rem;
  display: block;
  margin-bottom: 0px;
}

#news-archive span.news-list__date {
  color: #999;
  font-weight: normal;
}

#news-archive span.news-list__cat a,
#news-archive span.post-list__cat a {
  color: #4e5798;
}

#news-archive .news-cat__desc {
  margin: 40px 0;
  text-align: center;
}

#news-archive .post_news {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr 1fr;
  margin: 0;
  max-width: 100%;
}

#news-archive .post_news a {
  display: block;
  text-decoration: none;
  background: #faf8f2;
  padding: 25px;
}

#news-archive .post_news--next {
  text-align: right;
}

#news-post .qurstion__wrap--read {
  text-align: center;
}

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

.view__slider .slick-prev,
.view__slider .slick-next {
  width: 5rem;
  height: auto;
  aspect-ratio: 1;
  z-index: 1;
}

.view__slider .slick-prev:before,
.view__slider .slick-next::before {
  content: none;
}

.view__slider .slick-next:hover,
.view__slider .slick-next:focus {
  background: url(../img/slick-next.svg) no-repeat center;
}

.view__slider .slick-prev:hover,
.view__slider .slick-prev:focus {
  background: url(../img/slick-prev.svg) no-repeat center;
}

.view__slider .slick-prev {
  background: url(../img/slick-prev.svg) no-repeat center;
  left: -3rem;
}

.view__slider .slick-next {
  background: url(../img/slick-next.svg) no-repeat center;
  right: -3rem;
}

.view__slider.slick-dotted.slick-slider {
  margin-bottom: 50px;
}

.view__slider .slick-dots {
  bottom: -35px;
}

.view__slider .slick-dots li button:before {
  color: #eee;
  font-size: 10px;
  opacity: 1;
}

.view__slider .slick-dots li.slick-active button:before {
  color: #a08700;
}

.view__slider .slick-dots li {
  margin: 0;
}

#un__gmap {
  height: 450px;
  margin: 0 auto 60px;
}

#un__gmap iframe {
  width: 100%;
}

/*question*/
.qurstion__wrap--read {
  max-width: 800px;
  margin: 0 auto;
}

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

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

.faq-q {
  cursor: pointer;
}

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

.faq-q__cont {
  font-size: 1.6rem;
  font-weight: normal;
}

.faq-a img {
  max-width: 100%;
  height: auto;
  display: block;
  margin-top: 20px;
}

.faq-a ul {
  margin-top: 20px;
}

.faq-a ul li {
  list-style: disc;
  margin-left: 1em;
}

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

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

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

.faq_kanren .i-page {
  font-weight: bold;
  padding-left: 25px;
  margin-top: 30px;
}

.faq_kanren a {
  color: #4e5798;
}

.question__cate {
  cursor: pointer;
}

.question__cate__cont {
  font-size: 1.6rem;
  font-weight: normal;
  background: url(../img/i-plus.svg) no-repeat calc(100% - 20px) center / 12px #eeeee9;
  padding: 30px 20px;
  margin-bottom: 2px;
}

.question__cate.active .question__cate__cont {
  background: url(../img/i-minus.svg) no-repeat calc(100% - 20px) center / 12px #eeeee9;
  padding: 30px 20px;
}

.question__cate--list {
  display: none;
  padding-bottom: 40px;
}

.question__cate--list ul {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 0px 40px;
}

.question__cate--list ul:not(:last-of-type):not(.menu__card--tag) {
  margin-bottom: 40px;
}

.question__cate--list ul li {
  list-style: none;
  background: url(../img/dod-line.svg) repeat-x left bottom / 8px;
}

.question__cate--list ul li a {
  display: block;
  padding: 20px 0;
  color: #4e5798;
}

.question__cate--list ul li span {
  background: url(../img/i-arrow.svg) no-repeat right center / 6px auto;
  display: block;
}

.question__cate--subtit {
  font-family: var(--mincho-font);
  font-size: 2.6rem;
  font-weight: normal;
  margin: 40px 0 20px;
}

.question__cate--list .fs__tit--circle {
  margin: 20px 0 0;
}

/*question detail*/

.unlink__box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 40px auto 0;
}

.unlink__box--list {
  list-style: none;
  text-align: center;
  font-size: 2rem;
}

.unlink__box--list br {
  display: none;
}

.unlink__box--list a {
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 94px;
  padding: 10px;
  border-radius: 4px;
  text-decoration: none;
}

.unlink__box--list a span {
  display: block;
  width: 100%;
}

.linkback .gline__btn {
  margin: 60px auto 0;
}

#samecategory .question__cate--list {
  padding-bottom: 0;
}

/*case*/
.case__intro {
  display: grid;
  grid-template-columns: 60% 1fr;
  gap: 0 50px;
}

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

.case__intro--photo p:nth-child(2) {
  margin-top: 60px;
}

.case__intro--txt {
  padding-top: 60px;
}

.case__intro--txt .line__btn {
  margin-inline: 0;
}

.case__intro--act {
  grid-column: span 2;
}

.case__anker {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
  gap: 10px 10px;
}

.case__anker--list {
  list-style: none;
}

.case__anker--list a {
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 64px;
  padding: 10px 20px;
  border-radius: 4px;
  text-decoration: none;
}

.case__anker--list a span {
  display: block;
  width: 100%;
}

.case__tags,
.case__cates,
.movie__cate {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.case__tags li,
.case__cates li,
.movie__cate li {
  list-style: none;
  font-size: 1.4rem;
  line-height: 1;
}

.case__tags li,
.case__cates li a,
.movie__cate li a {
  display: block;
  text-decoration: none;
  padding: 6px 10px;
  border: 1px solid #ccc;
}

.case__tags li a {
  text-decoration: none;
}

.case__cates li a {
  background: #ccb376;
  color: #fff;
  border: 1px solid #ccb376;
}

.movie__cate li a {
  background: #edf7ff;
  border: 1px solid #edf7ff;
}

#case__sort .fs__tit--circle:not(:first-of-type),
#case__sort--un .fs__tit--circle:not(:first-of-type) {
  margin-top: 40px;
}

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

.case__blk article {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
}

.case__blk article .line__btn {
  margin-top: 20px;
}

.case__blk--name {
  font-size: 1.6rem;
  font-weight: bold;
  margin: 10px 0;
}

.case__blk--data {
  font-size: 1.4rem;
  line-height: 1.5;
  display: none;
  padding: 10px;
  border: 1px solid #eeeee9;
}

.case__blk--cont {
  background: #eeeee9;
  padding: 20px;
  cursor: pointer;
}

.case__blk--cont span {
  background: url(../img/i-plus.svg) no-repeat right center / 11px;
  display: block;
  padding-right: 22px;
}

.case__blk--cont.active span {
  background: url(../img/i-minus.svg) no-repeat right center / 11px;
  display: block;
}

.base__tbl,
.base__data table,
.single-format-standard .the_content table {
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-collapse: collapse;
}

.base__tbl th,
.base__tbl td,
.base__data table th,
.base__data table td,
.single-format-standard .the_content table th,
.single-format-standard .the_content table td {
  border-left: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 10px;
  vertical-align: text-top;
}

.base__tbl th,
.base__data table th,
.single-format-standard .the_content table th {
  width: 88px;
  text-align: left;
  background: #f7f4ee;
  font-weight: normal;
}

.single-format-standard .the_content table,
.single-format-standard .the_content table * {
  border-color: #ccc;
}

.case__capt {
  margin-top: 10px;
}

/*case--detail*/
.case__status {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 32px;
}

.case__number {
  font-size: 2rem;
  font-weight: bold;
  margin: 20px 0;
}

.case__data--tbl {
  margin-bottom: 50px;
}

.case__data--tbl .base__tbl {
  width: 100%;
}

.case__data--tbl .base__tbl th {
  width: 100px;
}

.dopctor__comment--wrap {
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 200px;
  gap: 0 40px;
}

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

.dopctor__comment--data dl {
  font-size: 1.4rem;
}

.dopctor__comment--data dl span {
  font-weight: bold;
  font-size: 1.8rem;
  margin-left: 1em;
}

.dopctor__comment--data .line__btn {
  margin-top: 10px;
}

.case__links .gline__btn:not(:first-of-type) {
  margin-top: 10px;
}

.supervising--intro {
  display: grid;
  grid-template-columns: 160px 1fr;
  gap: 0 25px;
  margin-bottom: 40px;
}

.supervising--pic img {
  aspect-ratio: 1;
  object-fit: cover;
  object-position: top;
}

#supervising {
  font-size: 1.5rem;
  position: relative;
  padding-top: 50px;
}

#supervising::before {
  content: "";
  display: block;
  width: 70vw;
  height: 445px;
  background-color: #edf7ff;
  background-image: linear-gradient(90deg, #edf7ff 0%, #f6f6f8 47%, #fffef3 100%);
  position: absolute;
  top: 0;
  left: 0;
}

.superv--tit {
  margin-bottom: 30px;
  position: relative;
}

.superv--tit__en {
  font-size: 4.6rem;
  line-height: 1;
  font-family: var(--infant-font);
  font-weight: normal;
}

.superv--tit__jp {
  font-size: 2.2rem;
  font-family: var(--mincho-font);
  font-weight: normal;
}

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

.supervising--wrap {
  padding: 40px 40px 0;
  background: #fff;
  position: relative;
}

.supervising--wrap::after {
  width: 590px;
  height: 5px;
  background: url(../img/syadow.svg) no-repeat center center / 100%;
  content: "";
  display: block;
  margin: 40px auto 0;
}

.supervising--post {
  font-size: 1.4rem;
}

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

.supervising--sns {
  display: flex;
  align-items: center;
  gap: 0 10px;
  margin-top: 20px;
}

.supervising--sns li {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0 10px;
  font-size: 1rem;
}

.supervising--sns img {
  max-width: 32px;
}

.solidtit {
  font-size: 2.2rem;
  font-family: var(--mincho-font);
  font-weight: normal;
  position: relative;
  margin-bottom: 0px;
  display: flex;
  align-items: center;
  gap: 0 20px;
  margin-bottom: 15px;
}

.solidtit::before {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  background: #ccc;
}

.supervising--list {
  column-count: 2;
  column-gap: 40px;
}

.supervising--list li {
  margin-left: 1em;
  list-style: disc;
}

.supervising--career {
  display: grid;
  grid-template-columns: 40% 1fr;
  gap: 0 40px;
  margin-top: 40px;
}

.supervising--conference dt:not(:first-of-type) {
  margin-top: 20px;
}

.supervising--conference dt {
  font-weight: bold;
  position: relative;
  padding-left: 24px;
  margin-bottom: 10px;
}

.supervising--conference dd a {
  color: #4e5798;
}

.supervising--conference dt::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.3em;
  background: url(../img/i-circle_g.svg) no-repeat center center / 14px auto;
  width: 14px;
  height: 14px;
  display: block;
}

/*movie*/

.iframe-wrapper,
.sejutsu__movie-wrap {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

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

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

.movie__blk.-three {
  grid-template-columns: repeat(3, 1fr);
}

.movie__blk article .line__btn {
  margin-top: 20px;
}

.movie__blk--name {
  font-size: 1.6rem;
  font-weight: bold;
  margin: 10px 0;
}

.movie__cate {
  margin-bottom: 10px;
}

/*movie-detail*/
#movie__wrap .fs__tit--jn {
  text-align: left;
}

.movie--mvinner {
  max-width: 980px;
  margin: 0 auto;
}

.video_txt {
  max-width: 980px;
  margin-inline: auto;
}

.video_txt h3,
.video_txt h4 {
  margin: 50px 0 30px;
}

.video_txt h3 {
  font-size: 2.4rem;
}

.video_txt h4 {
  font-size: 2rem;
  font-weight: bold;
  position: relative;
  padding-left: 24px;
  margin-bottom: 20px;
}

.video_txt h4::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em;
  background: url(../img/i-circle_g.svg) no-repeat center center / 14px auto;
  width: 14px;
  height: 14px;
  display: block;
}

.video_txt a {
  color: #4e5798;
}

.video_txt .wp-block-list {
  margin: 0 0 1em 1em;
}

.video_txt .wp-block-list li:not(:first-of-type) {
  margin-top: 1em;
}

/*column*/
#column__area {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 0 50px;
}

.side__tit {
  background: #eeeee9;
  padding: 10px;
  margin-bottom: 10px;
}

.side__cates {
  margin-bottom: 20px;
}

.side__cates li {
  list-style: none;
  border-bottom: 1px solid #ddd;
  font-size: 1.4rem;
}

.side__cates li {
  padding: 10px 0;
}

.side__cates li a {
  color: #4e5798;
}

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

/*column*/
.pickup_column {
  background: #faf8f2;
  padding: 40px 20px;
  margin: 0 auto 60px;
}

.pickup_column .fs__tit--en {
  background: #e0e0e0;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.popular_article .column__wrap--tbl {
  counter-reset: number 0;
}

.popular_article .column__wrap--tbl .column__list {
  position: relative;
}

.popular_article .column__wrap--tbl .column__list:before {
  counter-increment: number 1;
  /* number カウンタの増加数をセット */
  content: counter(number) " ";
  /* 表示形式を指定 */
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  height: 30px;
  width: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background: #dac25e;
}

.popular_article .column__list--cate a,
.latest_article .column__list--cate a {
  color: #4e5798;
}

.latest_article .column__wrap--tbl {
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 30px;
}

/*price*/
.price__blk table {
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-collapse: collapse;
}

.price__blk table th,
.price__blk table td {
  border-left: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 10px;
  vertical-align: text-top;
}

.price__blk table th {
  width: 88px;
  text-align: left;
  background: #f7f4ee;
  font-weight: normal;
}

/*menu*/
.menu__wrap--read {
  max-width: 800px;
  margin: 0 auto;
}

.menu__mvarea {
  margin-bottom: 30px;
}

.single-menu .menu__mvarea--pic img {
  width: auto;
  max-width: 100%;
  margin: 0 auto;
}

.recommendation-text__wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 1rem;
}

.recommendation-text__tag {
  display: inline-block;
  padding: 6px 10px;
  background: #dac35d;
  color: #fff;
  font-size: 14px;
  line-height: 1;
}

.menu__card .recommendation-text__wrap {
  margin: 1rem 0 0;
}

.menu__card .recommendation-text__wrap + .menu__card--title {
  margin-top: 0.6rem;
}

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

.menu__titarea .case__status {
  margin: 0;
  justify-content: flex-end;
}

.menu__titarea--tit {
  font-size: 3rem;
  font-weight: bold;
  flex-shrink: 0;
}

.menu__comment {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  /* 任意：上下揃える場合 */
  flex-wrap: wrap;
  /* レスポンシブ対応したい場合 */
}

.menu__comment--word .aligncenter {
  margin: auto;
  display: block;
}

.menu__comment--word h2 {
  font-family: var(--mincho-font);
  font-size: 2.2rem;
  font-weight: normal;
  margin-bottom: 20px;
}

.menu__comment--word h3 {
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 10px;
}

.menu__comment--word p:not(:last-child) {
  margin-bottom: 20px;
}

.menu__comment__image {
  max-width: 300px;
  width: 100%;
  margin: 0 auto;
}

.menu__comment__image:empty {
  display: none;
}

.menu__comment--word {
  flex: 1;
}

.free-description {
  margin-top: 1rem;
}

.jumplink {
  margin: 30px auto 50px;
}

.jumplink ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

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

.jumplink ul li a {
  background: #f5f5f5;
  padding: 15px 20px;
  display: flex;
  height: 100%;
  align-items: center;
  text-decoration: none;
  border-radius: 4px;
}

.jumplink ul li a span {
  background: url(../img/i-arrow_down-yel.svg) no-repeat right center / 11px auto;
  display: block;
  width: 100%;
  padding-right: 15px;
}

.comm__area {
  margin: 0 auto 100px;
}

.osusume__area {
  background: #f5f9ff;
  padding: 40px;
  margin: 0 auto 100px;
}

.osusume__area h2 {
  text-align: center;
  font-size: 3.2rem;
  margin-bottom: 30px;
  font-weight: normal;
  font-family: var(--mincho-font);
}

.osusume__area > ul {
  align-items: center;
  margin-top: 30px;
  margin: 30px auto 0;
  width: fit-content;
}

.osusume__area > ul > li:not(:last-child) {
  margin-bottom: 30px;
}

.osusume__area > ul > li {
  list-style: none;
  position: relative;
  padding-left: 26px;
  font-weight: bold;
  font-size: 1.8rem;
  color: #4e5798;
}

.osusume__area > ul > li::before {
  content: "";
  display: block;
  width: 16px;
  height: 13px;
  border-radius: 50%;
  background: url(../img/i-check_blue.svg) no-repeat center center / 16px auto;
  position: absolute;
  top: 0.3em;
  left: 0;
}

.osusume__area > ul > li ul {
  margin-left: 1em;
}

.osusume__area > ul > li ul li {
  list-style: disc;
  font-weight: normal;
  font-size: 1.6rem;
}

.osusume__ul {
  margin-top: 30px;
  width: fit-content;
}

.osusume__ul > li {
  list-style: none;
  position: relative;
  padding-left: 26px;
  font-weight: bold;
  font-size: 1.8rem;
}

.osusume__ul > li:not(:last-child) {
  margin-bottom: 30px;
}

.osusume__ul > li::before {
  content: "";
  display: block;
  width: 16px;
  height: 13px;
  border-radius: 50%;
  background: url(../img/i-check_blue.svg) no-repeat center center / 16px auto;
  position: absolute;
  top: 0.3em;
  left: 0;
}

.osusume__2col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem 2rem;
}

.osusume__area > ul.osusume__2col li {
  margin-bottom: 0;
}

.osusume__area .TCP__2col--text-img {
  width: fit-content;
  margin: auto;
}

/* 関連記事スライド */

.case__blk__slider .slick-slide {
  padding: 0 7px;
}

.case__blk__slider img {
  max-width: 100%;
}

.case__blk__slider .slick-list {
  width: 88%;
  margin-inline: auto;
}

.case__blk__slider .slick-prev,
.case__blk__slider .slick-next {
  width: 5rem;
  height: auto;
  aspect-ratio: 1;
  z-index: 1;
  top: 200px;
}

.case__blk__slider .slick-prev:before,
.case__blk__slider .slick-next::before {
  content: none;
}

.case__blk__slider .slick-next:hover,
.case__blk__slider .slick-next:focus {
  background: url(../img/slick-next.svg) no-repeat center / cover;
}

.case__blk__slider .slick-prev:hover,
.case__blk__slider .slick-prev:focus {
  background: url(../img/slick-prev.svg) no-repeat center / cover;
}

.case__blk__slider .slick-prev {
  background: url(../img/slick-prev.svg) no-repeat center / cover;
  left: 0rem;
}

.case__blk__slider .slick-next {
  background: url(../img/slick-next.svg) no-repeat center / cover;
  right: 0rem;
}

.case__blk__slider .slick-dots {
  bottom: -35px;
}

.case__blk__slider .slick-dots li button:before {
  color: #eee;
  font-size: 10px;
  opacity: 1;
}

.case__blk__slider .slick-dots li.slick-active button:before {
  color: #a08700;
}

.case__blk__slider .slick-dots li {
  margin: 0;
}

.flow__blk--word__scp {
  font-size: 2.1rem;
  display: flex;
  align-items: center;
  gap: 0 15px;
  margin-bottom: 20px;
}

.flow__blk--word__step {
  font-family: var(--infant-font);
}

.flow__blk--word__scp h3 {
  font-size: 2.1rem;
  font-weight: bold;
}

.flow__blk--word__step {
  color: #a08700;
}

.flow__blk {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  /* 任意：上下揃える場合 */
  flex-wrap: wrap;
  /* レスポンシブ対応したい場合 */
}

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

.flow__blk--pic {
  max-width: 300px;
  width: 100%;
}

.flow__blk--pic:empty {
  display: none;
}

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

.flow__blk--word {
  flex: 1;
}

.base__data table {
  width: 100%;
}

.base__data .base__tbl th,
.base__data table th {
  width: 20%;
}

.base__data ul {
  margin-left: 1em;
}

.table-type3 .title {
  width: 200px;
}

.table-type3 .title img {
  width: 100%;
  height: auto;
  display: block;
}

.base__tbl.table-type3 th {
  width: auto;
}

.base__tbl.table-type3 td {
  vertical-align: middle;
}

.t-center {
  text-align: center;
}

.kanren__inner > div {
  max-height: 450px;
  border: 1px solid #ccc;
  overflow: auto;
}

.kanren__inner table {
  position: relative;
  border-top: none;
  border-right: none;
  border-left: none;
}

.kanren__inner thead {
  position: sticky;
  top: 0;
  z-index: 2;
}

.kanren__inner thead th {
  border-bottom: none;
}

.kanren__inner table thead th:first-of-type,
.kanren__inner table tr td:first-of-type {
  border-left: none;
}

.kanren__inner table thead th:last-of-type,
.kanren__inner table tr td:last-of-type {
  border-right: none;
}

.kanren__inner table tr:last-of-type td {
  border-bottom: none;
}

.kanren__inner thead:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  display: block;
  background-color: #ccc;
  top: 42px;
  top: 100%;
}

.kanren__inner .case__status {
  margin-bottom: 0;
}

.kanren__inner .menu_dt {
  margin: 5px 0;
}

.area__price {
  width: 140px;
}

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

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

.looks__recommend--tit {
  font-weight: bold;
  margin-bottom: 10px;
  font-size: 1.6rem;
}

#menu__data .about__wrap .-base {
  max-width: 100%;
}

#reservation-form .reserve-imp {
  display: block;
  padding: 20px 40px;
  margin: 60px auto;
  border: 1px solid #decf91;
}

#reservation-form .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
  max-width: initial;
  margin-left: initial !important;
  margin-right: initial !important;
}

#reservation-form .reserve-imp .sttl {
  color: #a08700;
  text-align: center;
  font-size: 2rem;
  margin-bottom: 15px;
  letter-spacing: 0.125rem;
}

#reservation-form .reserve-wrap {
  border: 1px solid #cccccc;
}

#reservation-form .reserve-table {
  display: grid;
  gap: 10px;
  grid-template-columns: 2fr minmax(820px, 1fr);
  margin: 0;
  padding: 0;
}

#reservation-form .reserve-table dt,
.reserve-table dd {
  margin: 0;
  padding: 20px;
}

#reservation-form .req {
  background: #f7f4ee;
  padding: 0 30px;
  border-right: 1px solid #ccc;
}

#reservation-form .format-furi {
  font-size: 14px;
}

#reservation-form .fld-con {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

#reservation-form span.wpcf7-form-control-wrap input,
#reservation-form .wpcf7-select {
  padding: 10px;
  border: #ccc 1px solid;
}

#reservation-form .sub-tit {
  margin-bottom: 10px;
}

#reservation-form .date-time {
  display: flex;
  gap: 20px;
  margin-bottom: 15px;
}

#reservation-form .reserve-wrap dl {
  border-bottom: 1px solid #ccc;
}

#reservation-form .reserve-wrap input {
  font-size: 16px;
}

#reservation-form .sttl {
  color: #a08700;
  font-size: 24px;
  font-family: serif;
  font-weight: normal;
  letter-spacing: 0.125rem;
}

#reservation-form .col-3 {
  display: flex;
  gap: 10px;
  align-items: center;
}

#reservation-form .sub-con label {
  margin-right: 10px;
}

#reservation-form .phone-num {
  display: flex;
}

#reservation-form .phone-num input {
  width: 50%;
}

#reservation-form #fld_furigana_sei input,
#reservation-form #fld_furigana_mei input {
  width: 77%;
}

#reservation-form #fld_date_txt textarea,
#reservation-form #fld_menu_txt textarea {
  width: 100%;
  min-height: 180px;
}

#reservation-form .required {
  display: inline-block;
  background: #b54751;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 12px;
  color: #fff;
  margin-left: 15px;
}

#reservation-form .optional {
  display: inline-block;
  background: #a6976b;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 12px;
  color: #fff;
  margin-left: 15px;
}

#reservation-form .wpcf7-not-valid-tip {
  color: #b54751;
  background: #fff2f3;
  padding: 4px 8px;
  font-size: 12px;
  font-weight: normal;
  display: block;
}

#reservation-form .notes {
  background: #fdfaf7;
  font-size: 1.4rem;
  padding: 10px 20px;
  margin-top: 10px;
}

#reservation-form .wpcf7-textarea {
  border: 1px solid #ccc;
}

#reservation-form .mr10 {
  margin-right: 10px;
}

#reservation-form .mb30 {
  margin-bottom: 30px;
}

#reservation-form .recaptcha {
  margin: 30px auto 50px auto;
  text-align: center;
  background: #fdfaf7;
  padding: 40px;
}

#reservation-form .send-box {
  text-align: center;
  margin-bottom: 120px;
}

#reservation-form .reserve-menu .wpcf7-form-control {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 12px 24px;
  line-height: 1.5;
}

#reservation-form .wpcf7 input[type="text"],
#reservation-form .wpcf7 input[type="email"],
#reservation-form .wpcf7 textarea {
  width: 100%;
  max-width: 320px;
  padding: 10px;
  font-size: 16px;
}

#reservation-form .wpcf7 textarea {
  height: 150px;
}

#reservation-form input.wpcf7-submit {
  display: block;
  padding: 12px;
  border-radius: 50em;
  position: relative;
  text-align: center;
  text-decoration: none;
  max-width: 250px;
  width: 100%;
  font-size: 1.4rem;
  line-height: 1.4;
  margin: 40px auto 0;
  border: 1px solid #333;
  background: #fff;
}

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

.selfcheack {
  background: #faf8f2;
  padding: 40px;
  margin: 20px 0;
}

.selfcheack dt {
  font-weight: bold;
  font-size: 2rem;
  margin-bottom: 10px;
  color: #c08f1f;
}

.txt_box .mincho {
  font-family: source-han-serif-japanese, serif;
}

.special-menu .txt_box.-despace {
  padding-left: 0;
}

.search-page__post {
  margin: 0 auto 30px;
}

.search-page__post li {
  list-style: none;
  margin-bottom: 10px;
}

.search-page__post li a {
  display: block;
  padding: 20px;
  /* background: url(../img/dod-line.svg) repeat-x left bottom / 8px 1px; */
  background: #faf8f2;
}

/*shindan*/
.shindan-wrap {
  background: #faf6ec;
  border-top: #c08f1f 1px solid;
  padding-top: 40px;
  padding-bottom: 10px;
  margin: 0 auto 60px;
  max-width: 1120px;
  overflow: hidden;
}

#shindan__tbl .type_sp4 {
  font-size: 1.8rem;
  margin: 30px auto;
}

#shindan__tbl {
  margin-bottom: 40px;
}

.shindan-hx-box {
  padding-right: 50px;
}

.shindan-hx-box .images {
  width: 250px;
  text-align: center;
}

.shindan-fix-box .thum {
  margin-bottom: 20px;
}

.shindan-box {
  margin-bottom: 40px;
}

.shindan-hx-box.fb {
  align-items: end;
  margin: 0 auto 30px;
}

.shindan-hx-box .shindan-hx {
  width: calc(100% - 250px);
}

.shindan-hx {
  color: #c08f1f;
  border-top: #c08f1f 1px solid;
  border-bottom: #c08f1f 1px solid;
  position: relative;
  padding-top: 40px;
  padding-bottom: 20px;
}

.shindan-hx p {
  margin: 0;
}

.shindan-hx::after {
  content: "";
  width: 209px;
  height: 55px;
  background: url(../img/shindan_hx_icon.png) no-repeat center center / 100%;
  position: absolute;
  top: -29.4px;
  left: 50%;
  transform: translateX(-50%);
}

.sejutsu-hx {
  font-size: 1.8rem;
  font-weight: bold;
  color: #c08f1f;
  margin-bottom: 20px;
}

.shindan-fix-box {
  background-color: #fff;
  text-align: left;
  border-radius: 15px;
  padding: 40px;
  font-weight: normal;
}

.shindan-fix-box p:not(:last-child) {
  margin-bottom: 20px;
}

.shindan-fix-box .thum img {
  width: 100%;
  height: auto;
  display: block;
}

.yesno_q {
  padding: 0 !important;
  margin-bottom: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.yesno_q dt {
  display: inline-block !important;
  position: relative;
}

.yesno_q dt::before {
  content: "";
  width: 80px;
  height: 80px;
  background-color: #f0e0bc;
  border-radius: 100px;
  position: absolute;
  top: -4px;
  left: -4px;
}

.yesno_q dt span {
  padding: 1rem;
  font-size: 3rem !important;
  font-weight: bold;
  background: none !important;
  color: #c08f1f !important;
  border-radius: 0 !important;
  position: relative;
}

#under ul#choices {
  max-width: 750px;
  max-width: min(calc(100% - 40px), 750px);
  margin: 0 auto !important;
  padding-bottom: 30px;
}

ul#choices li {
  width: 100% !important;
  max-width: 700px;
  margin-right: auto !important;
  margin-left: auto !important;
  position: relative;
}

ul#choices li button {
  width: 100% !important;
  max-width: 700px;
  padding: 0.9em !important;
  margin-bottom: 20px !important;
  font-size: 1.6rem !important;
  border: #c08f1f 1px solid !important;
  border-radius: 10px !important;
  background: #faf6ec !important;
  color: #c08f1f !important;
  transition: 0.3s;
}

ul#choices li button:hover {
  border: #c08f1f 1px solid !important;
  background: #c08f1f !important;
  color: #fff !important;
}

ul#choices li::after {
  content: "";
  border-right: 1px solid #c08f1f;
  border-top: 1px solid #c08f1f;
  border-radius: 2px;
  width: 10px;
  height: 10px;
  top: 22px;
  right: 15px;
  position: absolute;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

.sejutsu_link a {
  display: block;
  padding: 20px 30px 20px 10px;
  border-radius: 50em;
  position: relative;
  text-align: center;
  text-decoration: none;
  max-width: 420px;
  width: 100%;
  line-height: 1.4;
  margin: 20px auto 0;
  background: #fff;
}

.sejutsu_link a::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  background: url(../img/i-arrow.svg) no-repeat right center / 6px;
  padding: 0 12px;
}

.sejutsu_link a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 50px;
  border: 2px solid transparent;
  background: linear-gradient(135deg, rgb(192, 145, 29) 0%, rgb(212, 187, 55) 100%) border-box border-box;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  -webkit-mask-composite: destination-out;
  mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
  mask-composite: exclude;
}

.adjust {
  max-width: 800px;
  margin-inline: auto;
  display: block;
}

.unlink__box--list div.i-arrow_gold {
  width: 100%;
}

.undlinks--01,
.undlinks--03 {
  font-size: 1.4rem;
}

/**/
.column__two__blk {
  display: grid;
  grid-template-columns: auto 38%;
  gap: 20px 40px;
}

.column__two__blk.-reverse {
  grid-template-columns: 38% auto;
}

.column__two__blk.-reverse .column__two__blk--l {
  order: 2;
}

.column__two__blk.-reverse .column__two__blk--r {
  order: 1;
}

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

.free__html__blk--txt .wp-block-image img,
.harf__blk .wp-block-image img {
  display: block;
  height: auto;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 20px;
}

.section__blks {
  margin: 0 auto 50px;
}

.section__blks:last-of-type {
  margin-bottom: 0;
}
.menu__introduction__blk {
  margin: 0 auto 90px;
}

.menu__introduction__blk:last-of-type {
  margin-bottom: 0;
}

.menu__introduction__blk--2col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px 40px;
}

.menu__introduction__blk--img p {
  margin: 0;
}

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

p.menu__introduction__blk--treatment-name-note {
  font-size: 15px;
  font-weight: bold;
  font-family: "Rajdhani", "ヒラギノ角ゴ ProN W0", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  margin-top: 0;
  margin-bottom: 0;
}

p.menu__introduction__blk--treatment-name {
  font-size: 3rem;
  font-weight: lighter;
  color: #c0911d;
  line-height: 1.3;
  margin-top: 0;
  margin-bottom: 0;
  font-family: var(--mincho-font);
}

.menu__introduction__blk--location ul {
  width: 100%;
  font-size: 1.8rem;
  list-style: none;
  padding-left: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 5px 1rem;
  margin-top: 2rem;
}

.menu__introduction__blk--location li {
  width: calc(50% - 5px);
  font-size: 1.6rem;
  font-weight: bold;
  color: #888888;
  border: #888888 1px solid;
  text-align: center;
}

.menu__introduction__blk--price {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 2rem;
}

.menu__introduction__blk--sentence {
  margin-top: 2rem;
}

.menu__introduction__blk--price-item {
  border-top: #c0911d 1px solid;
  border-bottom: #c0911d 1px solid;
  font-family: var(--mincho-font);
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  padding: 1rem;
  gap: 5px 1rem;
}

.menu__introduction__blk--price-right {
  display: flex;
  align-items: center;
  gap: 0 2rem;
}

.menu__introduction__blk--price-name {
  font-size: 26px;
}

.menu__introduction__blk--price-unit {
  font-size: 26px;
  color: #c0911d;
  line-height: 1;
}

.menu__introduction__blk--price-number {
  color: #c0911d;
  line-height: 1;
  display: flex;
  align-items: flex-end;
  margin: 0 0 0 auto;
}

.menu__introduction__blk--price-number span {
  font-size: 60px;
}

.menu__introduction__blk--price-number .spec {
  display: flex;
  flex-direction: column;
  margin: 0 0 7px 5px;
}

.tax {
  font-size: 1.5rem;
  display: block;
  margin-bottom: 5px;
}

.yen {
  font-size: 2.2rem;
  display: block;
}

.menu__introduction__blk--price-precautions {
  margin-top: 2rem;
}

.menu__introduction__blk--free {
  margin-top: 2rem;
}

.menu__introduction__blk--btn-area {
  margin-top: 2rem;
}

.menu__introduction__blk--btn-area .gline__btn:nth-of-type(n + 2) {
  margin-top: 2rem;
}

.menu__introduction__blk--contents .menu__introduction__blk--price-unit {
  font-size: 2rem;
}

.section__blks .menu__introduction__blk--location .menu_ca_list li {
  margin: 0;
}

@media (max-width: 1080px) {
  /*header*/
  #logo {
    max-width: 340px;
  }

  /*index*/
  .view__slider .slick-prev {
    left: -2rem;
  }

  .view__slider .slick-next {
    right: -2rem;
  }
}

@media (max-width: 1080px) {
  /*index*/
  .mv__introarea--m_word {
    font-size: 2.4rem;
  }

  .mv__introarea--list li {
    font-size: 1.8rem;
  }

  .first__btn {
    padding: 10px;
  }

  #mainvisual .first__btn {
    margin-top: 20px;
  }

  #mainvisual .first__btn br {
    display: block;
  }

  .mv__introarea {
    margin-bottom: 50px;
  }
}

@media (max-width: 1080px) {
  /*index*/
  #mainvisual {
    height: 400px;
  }

  .mv__wrap {
    grid-template-columns: 490px 1fr;
    gap: 0 50px;
    align-items: flex-end;
  }

  .message__wrap--bg {
    width: 95vw;
  }
}

@media (max-width: 959px) {
  /*common*/
  body {
    margin-top: 60px;
  }

  .-pconly {
    display: none;
  }

  /*header*/
  .header__root {
    font-size: 1rem;
    margin-bottom: 5px;
  }

  #logo {
    max-width: 188px;
  }

  header {
    padding: 0;
  }

  .header__wrap {
    padding: 10px 55px 10px 10px;
    max-width: 100%;
    background: #fff;
    display: grid;
    grid-template-columns: 188px 1fr;
    height: 60px;
    overflow: hidden;
    position: fixed;
    align-items: flex-start;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 4;
  }

  .header__wrap--introact {
    display: contents;
  }

  .head__info {
    width: 100%;
    grid-column: span 2;
  }

  #nav_menubox,
  #nav_menubox_sd,
  .mega__menu {
    display: none;
  }

  #nav__area {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    opacity: 0;
    z-index: -1;
    pointer-events: none;
    background: url(../img/sp_humbg.jpg) no-repeat center center / cover;
    transition: 0.3s;
    width: 100vw;
    overflow: hidden;
    padding-top: 60px;
    color: #fff;
  }

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

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

  #searchform {
    display: none;
  }

  .header__wrap--search {
    display: block;
    padding: 0 10px 10px;
  }

  .searchform_tp {
    max-width: 100%;
    width: 100%;
  }

  .head__info--time,
  .head__actbtn,
  .header__wrap--number,
  .sns__follow,
  #navs {
    display: none;
  }

  .head_tp_special {
    display: block;
    font-size: 1.1rem;
    line-height: 1.2;
    font-weight: bold;
  }

  .head_tp_special a {
    width: 90px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    background-color: #09a75a;
    background-image: linear-gradient(90deg, #67c0ed 0%, #98d4f2 47%, #67c0ed 100%);
    text-decoration: none;
    color: #fff;
  }

  .head_tp_special a span {
    padding-left: 20px;
  }

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

  /*ボタン内側*/
  .humbtn span {
    display: inline-block;
    transition: all 0.4s;
    /*アニメーションの設定*/
    position: absolute;
    left: 0;
    height: 1px;
    border-radius: 5px;
    background: #333;
    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%;
    font-size: 1.2rem;
    transform: translateX(-50%);
    text-transform: uppercase;
  }

  /*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/
  .humbtn.active span {
    background: #fff;
  }

  .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%;
    color: #fff;
  }

  .header__wrap--tp {
    gap: 0 10px;
    margin-bottom: 0;
  }

  .hum__popword {
    display: grid;
    grid-template-columns: auto 1fr;
    overflow: hidden;
    font-size: 1.4rem;
    gap: 0 20px;
    line-height: 1;
    padding: 0px 0 20px 10px;
    align-items: center;
    width: 100vw;
  }

  .hum__popword > p {
    margin-top: -10px;
  }

  .hum__popword--area {
    overflow-x: scroll;
    padding-bottom: 10px;
  }

  .hum__popword ul {
    display: flex;
    width: max-content;
    gap: 0 10px;
    padding-right: 10px;
  }

  .hum__popword ul li {
    list-style: none;
    width: max-content;
  }

  .hum__popword ul li a {
    background: #ddd;
    padding: 10px;
    border-radius: 50em;
    display: block;
    text-decoration: none;
  }

  .hum__speplan--a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: #393939;
    background-image: linear-gradient(90deg, #65bfed 0%, #a5d9ee 65%, #65bfed 100%);
    color: #fff;
    text-decoration: none;
    padding: 0px 10px;
    font-size: 1.2rem;
    height: 80px;
  }

  .hum__speplan--inner {
    background: url(../img/ill-spplan.svg) no-repeat 10px center, url(../img/i-arrow_w.svg) no-repeat calc(100% - 10px) center;
    background-size: 56px auto, 6px auto;
    width: 100%;
    padding: 0 25px 0 64px;
  }

  .hum__speplan--bld {
    font-size: 2rem;
  }

  .hum__btnarea {
    padding: 0 20px;
    margin-bottom: 30px;
  }

  .hum__reasons .first__btn {
    margin-top: 10px;
    max-width: 100%;
  }

  .hum__reasons .first__btn span {
    display: block;
    background-position: calc(100% - 10px) center;
  }

  .hum__speplan--a,
  .hum__reasons .first__btn {
    filter: drop-shadow(6px 6px 10px rgba(0, 0, 0, 0.3));
  }

  .hum_basetbl {
    padding: 0 20px;
  }

  .line__menu li {
    list-style: none;
  }

  .line__menu li a {
    color: #fff;
    text-decoration: none;
    display: block;
    border-bottom: 1px solid #cccccc;
    padding: 20px 0;
  }

  .line__menu li span {
    display: block;
  }

  .block__menu {
    margin: 30px 0 20px;
  }

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

  .block__menu--list__clm {
    list-style: none;
  }

  .block__menu--list__clm > a,
  .fook__submenu {
    display: flex;
    align-items: center;
    height: 100%;
    background: rgba(255, 255, 255, 0.3);
    text-decoration: none;
    color: #fff;
    height: 80px;
    padding: 16px;
  }

  .block__menu--list__clm > a span,
  .fook__submenu > span {
    display: block;
    width: 100%;
  }

  .min__txt {
    font-size: 1.2rem;
  }

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

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

  .reserve__menu ul li a {
    display: block;
    text-decoration: none;
    color: #fff;
    padding: 20px 0;
    border-bottom: 1px solid #ccc;
  }

  .reserve__menu ul li a span {
    display: block;
    padding: 5px 0 5px 34px;
  }

  .spbans_area {
    margin: 30px auto;
  }

  .spbans_area ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
  }

  .spbans_area ul li a {
    display: block;
  }

  .spbans_area ul li {
    max-width: 360px;
    width: 100%;
    list-style: none;
  }

  .hum__insta {
    border-top: 1px solid #ccc;
    padding: 30px 10%;
    margin: 30px auto;
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(2, 1fr);
  }

  .hum__insta div {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 20px;
    font-size: 1rem;
    line-height: 1;
  }

  .submenu--area {
    display: block;
    position: fixed;
    top: 0;
    left: -100vw;
    background-color: #f0faf8;
    background-image: linear-gradient(135deg, #f0faf8 50%, #f0ecf7 100%);
    transition: 0.3s;
  }

  .submenu--area.active {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    z-index: 10;
    overflow-y: scroll;
    z-index: 15;
  }

  .submenu--area a {
    text-decoration: none;
    color: #fff;
  }

  .submenu--tit {
    text-align: center;
    color: #fff;
  }

  .sub__close {
    background: #333;
    width: 120px;
    text-align: center;
    padding: 10px;
    border: 1px solid #555;
    border-radius: 50em;
    margin-left: auto;
    color: #fff;
  }

  .sub__close span {
    background: url(../img/sub_close.svg) no-repeat left center / 18px 18px;
    padding: 3px 0 3px 32px;
  }

  .submenu--area--inner {
    padding: 20px;
  }

  .hide {
    display: block;
  }

  .hide .menu__box__inner {
    position: relative;
    display: block;
  }

  .hide .menu__box--area a {
    color: #111 !important;
  }

  .hide .menu__box__inner .menu_ill,
  .hide .menu__box__inner .menu__box--cont {
    display: inline-block;
    vertical-align: middle;
  }

  .hide .menu__box__inner .menu_ill {
    max-width: 44px;
  }

  .hide .menu__box__inner .menu__box--area {
    margin-top: 10px;
    margin-bottom: 30px;
  }

  .hide .menu__box__namebox {
    height: 100%;
    padding: 20px 0;
  }

  /*footer*/
  footer {
    padding-bottom: 70px;
  }
  #fix__foot {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100vw;
    z-index: 2;
    height: 70px;
    background: #27282a;
  }

  #fix__foot ul {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    height: 100%;
  }

  #fix__foot ul li {
    list-style: none;
  }

  #fix__foot ul li:nth-child(even) a {
    background: #303132;
  }

  #fix__foot a {
    color: #fff;
    text-decoration: none;
    font-size: 1.1rem;
    line-height: 1.2;
    text-align: center;
    display: grid;
    justify-content: center;
    height: 100%;
    padding: 10px 0;
  }

  #fix__foot a div {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
  }

  .fix__foot--icon {
    max-width: 22px;
    margin: 0 auto;
  }

  .fix__foot--icon.-webicon {
    max-width: 26px;
  }

  #fix_first {
    position: fixed;
    bottom: 30%;
    right: 0;
    width: 48px;
    height: 132px;
    z-index: 2;
  }

  .fix_first--wrap {
    position: relative;
  }

  .fix_first-close {
    position: absolute;
    top: -15px;
    left: -15px;
    width: 30px;
    height: 30px;
    z-index: 2;
  }
  .fix_first--cont {
    filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.4));
  }

  /* footer */
  .to-top {
    bottom: 80px;
    right: 1rem;
  }

  /*index*/
  #mainvisual {
    height: 360px;
  }

  .mv__wrap {
    grid-template-columns: 410px 1fr;
    gap: 0 50px;
    align-items: flex-end;
  }

  .mv__introarea--m_word {
    font-size: 2.1rem;
    margin-bottom: 10px;
  }

  .mv__introarea--m_word span {
    font-size: 5rem;
  }

  .mv__introarea--list li:not(:last-of-type) {
    margin-bottom: 6px;
  }

  .mv__wrap--bg {
    width: 90vw;
  }

  .mv__introarea {
    margin-bottom: 30px;
  }

  .recomm__box li.initial,
  .recomm__box li.visible {
    width: 100%;
  }
}

@media (max-width: 850px) {
  /*common*/
  .-minonly {
    display: block;
  }

  /*footer*/
  .footer_links {
    grid-template-columns: repeat(3, auto);
    gap: 30px 60px;
    margin: 40px 0;
  }

  /*index*/
  .mv__wrap--bg {
    width: 100vw;
    background: url(../img/main__mv-sp.jpg) no-repeat center center / cover;
    height: 100%;
  }

  .mv__introarea {
    margin: 30px auto;
  }

  .mv__wrap {
    grid-template-columns: 100%;
    gap: 0;
    position: relative;
    transform: none;
    left: inherit;
    bottom: inherit;
  }

  #mainvisual {
    height: 100%;
    overflow: visible;
  }

  .mian__mv-doctor {
    margin: 0 auto;
    order: 2;
    max-width: 460px;
  }

  #mainvisual .first__btn {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
  }

  .message__wrap--bg {
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
  }

  .recomm__box {
    gap: 20px 20px;
  }

  .menu__box {
    padding: 30px 20px;
  }

  .menu__box__inner {
    gap: 0 10px;
  }

  .machines__spec {
    grid-template-columns: 40% 1fr;
    gap: 0 30px;
  }

  .about__wrap--tbl {
    grid-template-columns: 45% 1fr;
    gap: 0 40px;
  }

  .news__allwrap {
    gap: 0 100px;
    align-items: flex-end;
  }

  #news-archive {
    grid-template-columns: 100%;
    gap: 50px 0;
    margin-top: -30px;
  }

  .case__wrap--box {
    grid-template-columns: 440px 1fr;
  }

  /*column*/
  #column__area {
    grid-template-columns: 100%;
    gap: 50px 0;
    margin-top: -30px;
  }

  .single-format-standard #column__area {
    display: flex;
    flex-direction: column;
    margin-top: 0;
  }

  .single-format-standard #column__area aside {
    display: block;
  }

  .pickup_column {
    width: 100vw;
    margin-left: -20px;
  }

  #column__area aside {
    display: contents;
    order: 2;
  }

  .columntp .side__cates-wrap {
    order: 1;
  }

  .columntp #maincontents {
    order: 2;
  }

  .archive.category:not(.category-blog) .columntp #maincontents {
    order: 1;
  }

  .archive.category:not(.category-blog) .columntp .side__cates-wrap {
    order: 2;
  }

  .columntp .side__tags-wrap {
    order: 3;
  }

  /*column-cate*/
  #column__area.column__category {
    margin-top: 0;
    gap: 0;
  }

  #column__area.column__category aside {
    display: block;
    order: 3;
    margin-top: 50px;
  }

  #column__area.column__category #maincontents {
    display: contents;
  }

  #column__area.column__category #maincontents .popular_article {
    order: 1;
  }

  #column__area.column__category #maincontents .latest_article {
    order: 2;
  }

  #column__area.column__category #maincontents .linkback {
    order: 4;
  }

  #column__area.column__category #maincontents .linkback .gline__btn {
    margin-top: 30px;
  }

  /*menu*/
  .menu__titarea {
    display: block;
  }

  .menu__titarea .case__status {
    justify-content: flex-start;
  }

  .menu__titarea--tit {
    font-size: 2.6rem;
    margin-bottom: 10px;
  }

  .osusume__area h2 {
    font-size: 2.8rem;
  }
}

@media (max-width: 767px) {
  /*common*/
  .basic__area {
    margin: 0 auto 60px;
  }

  .-microonly {
    display: block;
  }

  /*title*/
  .fs__tit--en {
    font-size: 4rem;
  }

  .fs__tit--jn,
  .fs__tit--line {
    font-size: 2.4rem;
  }

  .fs__tit--circle,
  .fs__tit--bld {
    font-size: 1.8rem;
  }

  .en__linetit {
    font-size: 4rem;
    gap: 0 30px;
  }

  .en__linetit--capt {
    font-size: 2rem;
  }

  .menu__comment {
    flex-direction: column;
  }

  /*パンくず*/
  #breadcrumbs {
    overflow-x: scroll;
    padding: 0;
    margin-bottom: 30px;
  }

  #breadcrumbs ul {
    width: max-content;
  }

  #breadcrumbs ul li {
    font-size: 1.3rem;
  }

  #breadcrumbs ul li:nth-child(n+2) a {
    text-decoration: none !important;
  }

  /*index*/
  #message__wrap .fs__tit--en {
    font-size: 6rem;
  }

  #message__wrap .fs__tit--jn {
    font-size: 2.4rem;
  }

  .recomm__box {
    display: grid;
    grid-template-columns: 100%;
    gap: 20px;
    margin: 0 auto;
  }

  .menu__box {
    padding: 0px 0px 30px;
  }

  .menu__box__inner {
    gap: 0 2px;
  }

  .menu__contents {
    display: none;
    padding: 20px;
  }

  .menu__contents.show {
    display: block;
    grid-column: span 4;
  }

  .menu__box--cont {
    margin: 10px auto 0;
    font-size: 1.6rem;
    line-height: 1.2;
  }

  #menu__wrap .menu__cap {
    padding: 10px;
    background: #fff;
  }

  #menu__wrap .menu__cap.active {
    background: none;
  }

  .case__wrap--box {
    grid-template-columns: 370px 1fr;
    gap: 0 40px;
  }

  .reason_box--cont {
    grid-template-columns: 100%;
  }

  .doctor__tbl article {
    display: block;
    gap: 20px 0;
  }

  .doctor__tbl--pic {
    max-width: 200px;
    margin: 0 auto 10px;
  }

  .reason_box--cont__cover {
    align-items: flex-start;
  }

  .news__allwrap {
    grid-template-columns: 100%;
    gap: 40px 0px;
    align-items: flex-end;
  }

  .news__titwrap {
    display: contents;
  }

  .news__tit {
    order: 1;
  }

  .news__listwrap {
    order: 2;
  }

  .news__link {
    order: 3;
    margin: 0;
  }

  /*question*/
  .question__cate--subtit {
    font-size: 2.2rem;
  }

  /*case*/
  .case__intro {
    grid-template-columns: 55% 1fr;
    gap: 0 40px;
  }

  .case__intro--photo p:nth-child(2) {
    margin-top: 30px;
  }

  .case__intro--txt {
    padding-top: 0;
  }

  .case__blk--cont {
    padding: 15px 20px 15px 15px;
  }

  .case__blk {
    gap: 50px 20px;
  }

  .case__blk__slider .slick-prev,
  .case__blk__slider .slick-next {
    width: 4rem;
  }

  /*case-detail*/
  .supervising--wrap {
    padding: 20px 20px 0;
  }

  /*case*/
  .movie__blk.-three {
    gap: 0 30px;
  }

  .movie__blk {
    gap: 50px 20px;
  }

  /*movie-detail*/
  .video_txt h3 {
    font-size: 2.2rem;
  }

  .video_txt h4 {
    font-size: 1.8rem;
  }

  .video_txt h3,
  .video_txt h4 {
    margin: 40px 0 20px;
  }

  /*menu*/
  .looks__recommend {
    gap: 20px;
  }

  .flow__blk--word__scp {
    flex-wrap: wrap;
  }

  .flow__blk--word__step {
    display: block;
    width: 100%;
  }

  .comm__area,
  .osusume__area {
    margin-bottom: 60px;
  }

  .osusume__area h2 {
    font-size: 2.4rem;
  }

  .osusume__2col {
    grid-template-columns: repeat(1, 1fr);
  }

  /* base */
  .base__data .base__tbl th,
  .base__data table th {
    width: 30%;
  }
}

@media (max-width: 650px) {
  /*header*/
  #logo {
    max-width: 240px;
  }

  /*footer*/
  #footers {
    padding: 60px 0;
  }

  .footers__logoact {
    display: block;
    text-align: center;
  }

  .logo_w {
    max-width: 280px;
    margin: 6px auto 30px;
  }

  .footers__capt {
    text-align: center;
  }

  .footer_links {
    grid-template-columns: repeat(2, auto);
    gap: 30px 0;
  }

  .footer_links ul:first-of-type {
    grid-column: span 2;
  }

  .footer_links ul {
    border-top: 1px solid #656565;
    padding: 30px 10px 0;
  }

  .footer_act ul {
    grid-template-columns: 100%;
    grid-template-rows: auto auto;
    gap: 10px 0;
  }

  .footer_act--inner {
    display: grid;
    justify-content: center;
    align-items: center;
    grid-template-columns: 32px auto;
    gap: 0 10px;
  }

  .footer_act--icon {
    grid-column: 1/2;
    grid-row: 1/3;
    margin: 0;
  }

  .footer_act ul a {
    height: 80px;
  }

  .footer_act--inner.-forftel {
    grid-template-columns: 100%;
  }

  .copy_guide {
    text-align: left;
  }

  /*index*/
  .message__wrap--txt {
    line-height: 1.5;
  }

  .case__wrap--box {
    grid-template-columns: 100%;
    gap: 30px 0;
  }

  .case__wrap--photo {
    order: 2;
    width: 100vw;
    margin-left: -20px;
  }

  .case__wrap--cont .fs__tit {
    text-align: center;
    padding: 0;
  }

  .case__wrap--cont .fs__tit--en {
    position: relative;
    top: inherit;
    right: inherit;
  }

  .machines__area--base {
    grid-template-columns: 100%;
    gap: 30px 0px;
    margin: 30px auto 60px;
    align-items: flex-start;
  }

  .machines__area--base article {
    display: grid;
    grid-template-rows: auto auto auto auto auto;
    grid-template-columns: 40% 1fr;
    gap: 0 20px;
  }

  .machines__spec,
  .machines__spec--inner,
  .machines__spec--info {
    display: contents;
  }

  .machines__spec--pic {
    order: 1;
    grid-row: 1/4;
  }

  .machines__spec ul {
    margin-top: 10px;
  }

  .machines__area--name {
    order: 2;
    grid-column: 2/3;
    grid-row: 1/2;
    font-size: 2rem;
  }

  .machines__spec--scp {
    order: 3;
    grid-column: 2/3;
    grid-row: 2/3;
  }

  .machines__spec--inner ul {
    order: 4;
    grid-column: span 2;
    grid-row: 4/5;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }

  .machines__spec--inner ul li {
    background: url(../img/i-check.svg) no-repeat 10px center / 10px #fff;
    padding: 5px 10px 5px 26px;
    border-radius: 40em;
  }

  .machines__spec--info .line__btn {
    order: 5;
    grid-row: 5/6;
    grid-column: span 2;
  }

  .machines__area--name span {
    display: block;
    margin: 0;
    font-size: 1.2rem;
  }

  .reserve__area--act li {
    font-size: 1.8rem;
    line-height: 1.2;
  }

  .reason_box {
    gap: 10px;
  }

  .bans_area {
    grid-template-columns: 100%;
    gap: 10px 0;
  }

  .cmp__wrap--tbl {
    grid-template-columns: 100%;
    gap: 30px 0;
  }

  .column__wrap--tbl {
    width: calc(100vw - 20px);
    max-width: calc(100vw - 20px);
    overflow: scroll;
    padding-right: 20px;
  }

  .column__list {
    width: 300px;
  }

  .column__list time {
    margin-bottom: 6px;
  }

  .official_sns {
    width: 100vw;
    max-width: 100vw;
  }

  .official_sns--tbl ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .about__wrap--tbl {
    grid-template-columns: 100%;
    gap: 20px 0;
  }

  .about__wrap--photo {
    width: 100vw;
    margin-left: -20px;
    display: contents;
  }

  .about__wrap--photo--pic {
    order: 1;
    width: 100vw;
    margin-left: -20px;
  }

  .about__wrap--acc {
    order: 2;
  }

  .about__wrap--photo .line__btn {
    order: 3;
    margin-top: 0px;
  }

  .about__actbox {
    gap: 0 4px;
  }

  .footbans_area {
    max-width: 350px;
    grid-template-columns: 100%;
    gap: 10px 0;
    margin-inline: auto;
  }

  .news__listwrap li {
    grid-template-columns: 80px 1fr;
    align-items: center;
    gap: 10px 10px;
  }

  .news__list-cate {
    min-width: 100px;
    width: max-content;
  }

  .news__listwrap li p:last-of-type {
    grid-column: span 2;
  }

  .news__listwrap li:not(:last-of-type) {
    margin-bottom: 30px;
  }

  .view__slider .slick-prev {
    left: 10px;
  }

  .view__slider .slick-next {
    right: 10px;
  }

  #un__gmap {
    height: 350px;
    max-width: 750px;
    max-width: min(calc(100% - 40px), 750px);
    margin: 0 auto 60px;
    position: relative;
    padding-bottom: 56.25%;
    overflow: hidden;
  }

  #un__gmap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  /*question detail*/
  .unlink__box--list {
    font-size: 1.6rem;
  }

  .unlink__box--list a {
    height: 70px;
  }

  .unlink__box.-min {
    max-width: 100%;
  }

  /*case*/
  .case__intro {
    grid-template-columns: 100%;
    gap: 0;
  }

  .case__intro--act {
    grid-column: span 1;
  }

  .case__intro--photo {
    width: 100vw;
    margin: 0 0 20px -20px;
    gap: 10px;
  }

  .case__intro--txt .line__btn {
    margin: 20px auto 0;
  }

  .case__blk {
    grid-template-columns: 100%;
    gap: 40px 0;
  }

  .case__anker {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  }

  .single-menu #case.basic__area {
    margin: 0 auto 80px;
  }

  /*case-detail*/
  .case__data--tbl {
    font-size: 1.4rem;
    line-height: 1.5;
  }

  .case__data--tbl .base__tbl th {
    width: 88px;
  }

  /*case-detail*/
  .supervising--intro {
    margin-bottom: 30px;
  }

  .supervising--career {
    grid-template-columns: 100%;
    gap: 30px 0;
    margin-top: 30px;
  }

  .supervising--list {
    column-count: 1;
    column-gap: 0;
  }

  .supervising--career .base__tbl {
    width: 100%;
  }

  .superv--tit__en {
    font-size: 4rem;
  }

  .superv--tit__jp {
    font-size: 1.8rem;
  }

  .supervising--wrap::after {
    width: 100%;
    max-width: 90%;
    height: 5px;
    background: url(../img/syadow.svg) no-repeat center center / 100%;
    content: "";
    display: block;
    margin: 40px auto 0;
  }

  .dopctor__comment--wrap {
    grid-template-columns: 100%;
    gap: 20px 0;
  }

  .dopctor__comment--data {
    display: grid;
    grid-template-columns: 160px 1fr;
    gap: 0 30px;
    align-items: center;
  }

  .dopctor__comment--data .line__btn {
    margin-inline: 0;
  }

  /*movie*/
  .movie__blk,
  .movie__blk.-three {
    grid-template-columns: 100%;
    gap: 40px 0;
  }

  /*column*/
  .latest_article .column__wrap--tbl {
    overflow: visible;
    width: 100%;
    padding-right: 0;
  }

  .latest_article .column__wrap--tbl .column__list {
    width: 100%;
  }

  /*menu*/
  .base__tbl.table-type3 {
    min-width: 1000px;
  }

  .looks__recommend {
    grid-template-columns: 100%;
    gap: 40px 0;
  }

  .menu__mvarea {
    margin-bottom: 20px;
  }

  .menu__titarea--tit {
    font-size: 2.3rem;
  }

  .flow__blk {
    gap: 20px 0;
  }

  .flow__blk--word__scp h3 {
    font-size: 1.8rem;
  }

  .flow__blk--pic {
    max-width: 100%;
    width: 100%;
  }

  .jumplink ul {
    grid-template-columns: repeat(3, 1fr);
  }

  .jumplink ul li a {
    padding: 15px 12px;
  }

  .base__data table th {
    width: 120px;
  }

  .menu__introduction__blk {
    margin: 0 auto 60px;
  }

  .menu__introduction__blk--price-number .spec {
    margin: 0 0 3px 5px;
  }

  .menu__introduction__blk--price-item {
    padding: 20px 0;
  }

  .special-menu .tax {
    font-size: 1rem;
  }

  /*shindan*/
  .shindan-hx-box.fb {
    display: block;
    padding: 0;
  }

  .shindan-hx-box .images {
    width: 120px;
    margin: 0 auto;
  }

  .shindan-hx-box .images img {
    width: 100%;
    height: auto;
    display: block;
  }

  .shindan-hx-box .shindan-hx {
    width: 100%;
    padding-top: 20px;
  }
  .shindan-hx::after {
    content: "";
    width: 120px;
    height: 32px;
    background-size: contain;
    top: -16.8px;
  }

  /**/
  .column__two__blk,
  .column__two__blk.-reverse,
  .harf__blk {
    display: grid;
    grid-template-columns: 100%;
    gap: 0 0;
  }

  .column__two__blk .column__two__blk--l {
    order: 2;
  }

  .column__two__blk .column__two__blk--r {
    order: 1;
  }

  .menu__introduction__blk--2col {
    grid-template-columns: repeat(1, 1fr);
  }

  .menu__introduction__blk--location ul {
    margin-top: 1rem;
  }

  p.menu__introduction__blk--treatment-name-note {
    font-size: 13px;
  }

  p.menu__introduction__blk--treatment-name {
    font-size: 22px;
  }

  .menu__introduction__blk--location li {
    font-size: 13px;
  }

  .menu__introduction__blk--sentence {
    margin-top: 1rem;
  }

  .menu__introduction__blk--price {
    margin-top: 1rem;
  }

  .menu__introduction__blk--price-item {
    flex-direction: column;
  }

  .menu__introduction__blk--price-unit {
    width: 100%;
    font-size: 16px;
  }

  .menu__introduction__blk--price-right {
    width: 100%;
    flex-direction: column;
  }

  .menu__introduction__blk--price-name {
    font-size: 16px;
    width: 100%;
  }

  .menu__introduction__blk--price-number {
    width: 100%;
    justify-content: flex-end;
  }

  .menu__introduction__blk--price-number span {
    font-size: 30px;
  }

  .tax,
  .yen {
    font-size: 16px;
  }

  .menu__introduction__blk--price-precautions {
    margin-top: 1rem;
  }

  .menu__introduction__blk--free {
    margin-top: 1rem;
  }

  .menu__introduction__blk--btn-area .gline__btn {
    margin-top: 0;
  }

  .menu__introduction__blk--btn-area .gline__btn:nth-of-type(n + 2) {
    margin-top: 1rem;
  }
}

@media (max-width: 519px) {
  /*button*/
  .gline__btn,
  .line__btn {
    margin-top: 30px;
  }

  /*index*/
  .mv__introarea--list li {
    font-size: 1.7rem;
  }

  .reserve__area--act li a span {
    background-position: center top;
    padding: 44px 0 0px;
    display: block;
  }

  .reserve__area--act br {
    display: block;
  }

  .doctor__tbl {
    grid-template-columns: 100%;
    gap: 40px 0;
  }

  .cmp__wrap--tbl dl dt {
    text-align: left;
    font-size: 1.8rem;
    margin-bottom: 0;
  }

  .reason_box {
    grid-template-columns: 100%;
  }

  .reason__bg {
    background: url(../img/reason__bg-sp.jpg) no-repeat center center / cover;
    margin-top: -260%;
    padding: 270% 0 60px;
    position: relative;
  }

  .reason_box--cont {
    grid-template-columns: 1fr auto;
  }

  .reason_box--scp {
    line-height: 1.5;
  }

  #case__wrap .fs__tit--fcp {
    text-align: left;
  }

  .recomm__box {
    max-width: 100%;
    width: 100%;
  }

  .official_sns {
    padding-inline: 20px;
  }

  .official_sns--tbl ul {
    gap: 10px 20px;
  }

  /*question detail*/
  .unlink__box--list {
    text-align: left;
  }

  .unlink__box--list br {
    display: block;
  }

  /*case*/
  .case__anker {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  }

  .case__anker--list a {
    padding: 10px;
  }

  /*case-detail*/
  .dopctor__comment--data {
    grid-template-columns: 130px 1fr;
    gap: 0 20px;
  }

  .supervising--intro {
    grid-template-columns: 100%;
    gap: 20px 0;
  }

  .supervising--pic {
    max-width: 200px;
    margin: 0 auto;
  }

  .solidtit::before {
    width: 20px;
  }

  .supervising--wrap {
    padding: 20px 10px 0;
  }

  .case__number {
    font-size: 1.8rem;
    margin: 20px 0 10px;
  }

  .case__status {
    margin-bottom: 16px;
  }

  /*case*/
  .latest_article .column__wrap--tbl {
    gap: 30px 20px;
  }

  .case__blk__slider .slick-prev,
  .case__blk__slider .slick-next {
    width: 3rem;
  }

  .case__blk__slider .slick-prev {
    left: -1rem;
  }

  .case__blk__slider .slick-next {
    right: -1rem;
  }

  .case__blk__slider .slick-dots li {
    width: 15px;
  }

  /*menu*/
  .jumplink ul {
    grid-template-columns: repeat(2, 1fr);
  }

  .jumplink ul li a {
    font-size: 1.4rem;
  }

  .menu__comment--word {
    font-size: 1.6rem;
  }

  .osusume__area {
    padding: 20px;
  }

  .osusume__area > ul > li {
    font-size: 1.6rem;
  }

  .osusume__area > ul > li:not(:last-child) {
    margin-bottom: 20px;
  }

  .osusume__area > ul.osusume__2col li {
    margin-bottom: 0;
  }

  .selfcheack--wrap {
    display: grid;
    grid-template-columns: 100%;
    gap: 20px 0;
  }

  .selfcheack {
    padding: 20px;
  }

  /*shindan*/
  .yesno_q dt span {
    font-size: 2rem !important;
  }
  .shindan-fix-box {
    padding: 20px;
  }

  .yesno_q dt::before {
    width: 50px;
    height: 50px;
  }
}

@media (max-width: 414px) {
  /*title*/
  .fs__tit--en {
    font-size: 3.6rem;
  }

  .submenu--area {
    left: -130vw;
  }

  /*index*/
  .menu_ill {
    max-width: 44px;
  }

  .menu__box--cont {
    font-size: 1.4rem;
  }

  .unlink__box--list {
    font-size: 1.4rem;
  }

  .undlinks--01,
  .undlinks--03 {
    font-size: 1.2rem;
  }

  /*column*/
  .latest_article .column__wrap--tbl {
    gap: 30px 10px;
  }

  .jumplink ul li a {
    font-size: 1.3rem;
  }
}

@media (max-width: 375px) {
  /*title*/
  .fs__tit--en {
    font-size: 3.6rem;
  }

  .fs__tit--jn,
  .fs__tit--line {
    font-size: 2.2rem;
  }

  .osusume__area h2 {
    font-size: 2.2rem;
  }

  .reserve__area--act li a{
    padding: 8px;
  }

  .treatment-flow__contents .reserve__area--act li a span.i-line_w{
    padding-left: 38px;
  }

  .hum__speplan--inner{
    background: url(../img/ill-spplan.svg) no-repeat -5px center, url(../img/i-arrow_w.svg) no-repeat calc(100% - 10px) center;
    background-size: 38px auto, 6px auto;
    padding: 0 25px 0 25px;
  }

  .unlink__box--list a{
    height: 100px;
    padding: 5px 10px;
  }

  #case__wrap .menu__wrap--read ul.unlink__box .unlink__box--list br{
    display: none;
  }

  .about__times--hour{
    width: 200px;
    margin: 0 auto;
  }

  .about__wrap--acc dd{
    margin-left: 10px;
  }

  .dopctor__comment--data dl span{
    display: block;
  }

  .fs__tit--fcp{
    font-size: 1.5rem;
    /*max-width: 187px;
    margin: 30px auto 0 auto;*/
  }

  #message__wrap .fs__tit--jn{
    max-width: 170px;
    margin: 0 auto;
  }

  .dopctor__comment--data .line__btn{
    white-space: nowrap;
  }
}

@media (min-width: 960px) {
  #navs {
    background: #fff;
    z-index: 3;
    position: sticky;
    top: 0;
  }
}

@media (max-width: 375px) {
  .head_tp_special a {
    width: 78px;
  }
}
