@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ul {
  list-style-type: none;
}

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

ul,
ol,
div {
  margin: 0;
  padding: 0;
}

main {
  overflow: hidden;
}

@font-face {
  font-family: "Noto Serif JP";
  src: url("../public/fonts/NotoSerifJP-Regular.otf");
  font-weight: normal;
  font-style: serif;
}
html {
  overflow: hidden;
  font-family: "Shippori Mincho B1", serif;
  color: #5e5954;
  font-size: 10px;
  scrollbar-gutter: stable;
  /* scroll-behavior: smooth; */
}
html.loaded {
  overflow: auto;
}

body {
  overflow: hidden;
  font-family: Arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
body.loaded {
  overflow: auto;
}
input, textarea {
  font-family: Arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
.post_content {
  font-family: Arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
.frost_bg:before {
  background: rgba(255, 255, 255, 0.4);
}
.blur_image img {
  filter: blur(10px);
}

img {
  display: block;
}

.rich_font {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 500;
}

@-webkit-keyframes image-fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes image-fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes text-scroll {
  0% {
    background-size: 100% 0%;
  }
  100% {
    background-size: 100% 100%;
  }
}
@keyframes text-scroll {
  0% {
    background-size: 100% 0%;
  }
  100% {
    background-size: 100% 100%;
  }
}
@-webkit-keyframes focus {
  0% {
    -webkit-backdrop-filter: blur(100px);
            backdrop-filter: blur(100px);
  }
  100% {
    -webkit-backdrop-filter: blur(0);
            backdrop-filter: blur(0);
  }
}
@keyframes focus {
  0% {
    -webkit-backdrop-filter: blur(100px);
            backdrop-filter: blur(100px);
  }
  100% {
    -webkit-backdrop-filter: blur(0);
            backdrop-filter: blur(0);
  }
}

.image {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.image--auto {
  width: auto;
}
.image--contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.design_plus_icon-home {
  display: inline;
  font-style: normal;
}
.design_plus_icon-home:before {
  font-family:'design_plus';
  content:'\e90c';
}

.author_profile a.avatar img,
.animate_image img,
.animate_background .image {
  width: 100%;
  height: auto;
  -webkit-transition: transform 0.75s ease;
  transition: transform 0.75s ease;
}

.author_profile a.avatar:hover img,
.animate_image:hover img,
.animate_background:hover .image,
#index_staff_slider a:hover img {
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}

#bread_crumb li.last span,
#comment_headline,
.tcd_category_list a:hover,
.tcd_category_list .child_menu_button:hover,
.side_headline,
#faq_category li a:hover,
#faq_category li.active a,
#archive_service .bottom_area .sub_category li a:hover,
#side_service_category_list a:hover,
#side_service_category_list li.active>a,
#side_faq_category_list a:hover,
#side_faq_category_list li.active a,
#side_staff_list a:hover,
#side_staff_list li.active a,
.cf_data_list li a:hover,
#side_campaign_category_list a:hover,
#side_campaign_category_list li.active a,
#side_clinic_list a:hover,
#side_clinic_list li.active a {
  color: #0a0a0a;
}

#page_header .tab,
#return_top a,
#comment_tab li a:hover,
#comment_tab li.active a,
#comment_header #comment_closed p,
#submit_comment:hover,
#cancel_comment_reply a:hover,
#p_readmore .button:hover,
#wp-calendar td a:hover,
#post_pagination p,
#post_pagination a:hover,
.page_navi span.current,
.page_navi a:hover,
.c-pw__btn:hover {
  background-color: #0a0a0a;
}

#guest_info input:focus,
#comment_textarea textarea:focus,
.c-pw__box-input:focus {
  border-color: #0a0a0a;
}

#comment_tab li.active a:after,
#comment_header #comment_closed p:after {
  border-color: #0a0a0a transparent transparent transparent;
}

#header_logo a:hover,
#footer a:hover,
.cardlink_title a:hover,
#menu_button:hover:before,
#header_logo a:hover,
#related_post .item a:hover,
.comment a:hover,
.comment_form_wrapper a:hover,
#bread_crumb a:hover,
#bread_crumb li.home a:hover:after,
.author_profile a:hover,
.author_profile .author_link li a:hover:before,
#post_meta_bottom a:hover,
#recent_news a.link:hover,
#recent_news .link:hover:after,
#recent_news li a:hover .title,
#searchform .submit_button:hover:before,
.styled_post_list1 a:hover .title_area,
.styled_post_list1 a:hover .date,
.p-dropdown__title:hover:after,
.p-dropdown__list li a:hover {
  color: #6d6363;
}

.post_content a {
  color: #54a6f2;
}

.post_content a:hover {
  color: #0a0a0a;
}

@media screen and (min-width: 768px){
  .pc-non {
    display: none !important;
  }
}
@media screen and (max-width: 767px){
  .sp-non {
    display: none !important;
  }
}
.bold {
  font-weight: bold;
}

.title {
  margin-bottom: 65px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .title {
    margin-bottom: 30px;
  }
}
.title__heading {
  color: #86817d;
  font: 300 9.7rem "Cormorant Infant", serif;
  letter-spacing: 0.055em;
  line-height: 1.0618556701em;
  overflow: hidden;
}
@media screen and (max-width: 980px) {
  .title__heading {
    font-size: 7.8rem;
  }
}
@media screen and (max-width: 767px) {
  .title__heading {
    font-size: 50px;
    line-height: 0.94em;
  }
}
.title__heading span {
  display: block;
}
.title__heading-sm {
  color: #86817d;
  font: 300 4rem "Cormorant Infant", serif;
  letter-spacing: 0.055em;
  line-height: 0.85em;
}
.title__subheading {
  color: #5e5954;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1em;
}
@media screen and (max-width: 767px) {
  .title__subheading {
    font-size: 12px;
    line-height: 3.75em;
  }
}
.title__subheading-sm {
  display: block;
  color: #86817d;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  margin-top: 10px;
}

.header {
  position: fixed;
  width: 100%;
  inset: 0 auto auto 0;
  z-index: 1000;
  font-family: "Shippori Mincho B1", serif;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
@media screen and (max-width: 767px) {
  .header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .header::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    display: block;
    height: 60px;
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
  }
}
.header img {
  display: block;
  height: 100%;
}
.header__content {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 4.58%;
  z-index: 1000;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .header__content {
    width: 100%;
    padding-left: 5.28%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.header__logo-wrapper {
  width: 457px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 6.78%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 980px) {
  .header__logo-wrapper {
    width: 366px;
    gap: 5.42%;
  }
}
@media screen and (max-width: 767px) {
  .header__logo-wrapper {
    width: 245px;
    gap: 5.71%;
  }
}
.header__logo {
  max-width: 134px;
  width: 29.32%;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .header__logo {
    max-width: 76px;
    width: 37.47%;
  }
}
.header__catch {
  font-size: 1.2rem;
  font-weight: 500;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 980px) {
  .header__catch {
    font-size: 0.9rem;
  }
}
@media screen and (max-width: 767px) {
  .header__catch {
    font-size: 1rem;
    line-height: 1.2em;
  }
}
.header__link-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  gap: 5.38%;
  margin-inline: auto 28px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 980px) {
  .header__link-wrapper {
    gap: 4.03%;
    margin-right: 12px;
  }
}
.header__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  gap: 9px;
  border: 1px solid #707070;
  padding-block: 4px 6px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.header__link:hover {
  opacity: 0.5;
}
.header__link:first-child {
  padding-inline: 13px;
}
.header__link:last-child {
  padding-inline: 8px 14px;
}
.header__link-icon i {
  color: #5e5954;
  display: block;
  font-size: 1.8rem;
}
.header__link-content span {
  display: block;
  color: #5e5954;
}
.header__link-en-text {
  font-family: "Cormorant Infant", serif;
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 980px) {
  .header__link-en-text {
    font-size: 1.4rem;
  }
}
.header__link-ja-text {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 980px) {
  .header__link-ja-text {
    font-size: 0.8rem;
  }
}
.header__hamburger {
  position: relative;
  width: 115px;
  height: 109px;
  padding-bottom: 26px;
  padding-left: 25px;
  background-color: transparent;
  border: none;
  text-align: center;
  cursor: pointer;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 980px) {
  .header__hamburger {
    width: 92px;
    height: 87.2px;
    padding-bottom: 20.8px;
    padding-left: 20px;
  }
}
@media screen and (max-width: 767px) {
  .header__hamburger {
    width: 54px;
    height: 55px;
    padding: 0 8px 0 0;
  }
}
.header__hamburger::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 214px;
  height: 214px;
  border-radius: 50%;
  border: 1px solid #86817d;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 980px) {
  .header__hamburger::before {
    width: 171.2px;
    height: 171.2px;
    z-index: -1;
  }
}
@media screen and (max-width: 767px) {
  .header__hamburger::before {
    width: 166px;
    height: 166px;
    left: -50%;
    bottom: -50%;
  }
}
.header__hamburger span {
  display: block;
  margin-bottom: 5px;
  color: #5e5954;
  font-family: "Cormorant Infant", serif;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 980px) {
  .header__hamburger span {
    margin-bottom: 4px;
    font-size: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .header__hamburger span {
    font-size: 1.2rem;
    margin-bottom: 8px;
  }
}
.header__hamburger span::before {
  content: "Menu";
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.header__hamburger i {
  position: relative;
  top: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.header__hamburger i::before, .header__hamburger i::after {
  content: "";
  display: block;
  margin: auto;
  width: 34px;
  height: 2px;
  background-color: #5e5954;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media screen and (max-width: 980px) {
  .header__hamburger i::before, .header__hamburger i::after {
    width: 27.2px;
  }
}
@media screen and (max-width: 767px) {
  .header__hamburger i::before, .header__hamburger i::after {
    width: 34px;
  }
}
.header__hamburger i::before {
  margin-bottom: 12px;
}
@media screen and (max-width: 980px) {
  .header__hamburger i::before {
    margin-bottom: 9.6px;
  }
}
@media screen and (max-width: 767px) {
  .header__hamburger i::before {
    margin-bottom: 10px;
  }
}
.header__hamburger.active span::before {
  content: "Close";
}
.header__hamburger.active i {
  top: 5px;
}
@media screen and (max-width: 980px) {
  .header__hamburger.active i {
    top: 4px;
  }
}
.header__hamburger.active i::before {
  -webkit-transform: rotate(45deg) translate(5px, 5px);
          transform: rotate(45deg) translate(5px, 5px);
}
@media screen and (max-width: 980px) {
  .header__hamburger.active i::before {
    -webkit-transform: rotate(45deg) translate(4px, 5px);
            transform: rotate(45deg) translate(4px, 5px);
  }
}
.header__hamburger.active i::after {
  -webkit-transform: rotate(-45deg) translate(5px, -5px);
          transform: rotate(-45deg) translate(5px, -5px);
}
@media screen and (max-width: 980px) {
  .header__hamburger.active i::after {
    -webkit-transform: rotate(-45deg) translate(4px, -4px);
            transform: rotate(-45deg) translate(4px, -4px);
  }
}
.header__menu-content {
  position: absolute;
  inset: 0 0 auto auto;
  -webkit-transform: scale(1, 0);
          transform: scale(1, 0);
  width: 100%;
  height: 100vh;
  overflow: hidden auto;
  -webkit-transform-origin: top;
          transform-origin: top;
  background-image: url("../public/img/nav-bg.jpg");
  opacity: 0;
  z-index: 998;
  -webkit-transition: opacity 0.7s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.7s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.7s ease;
  transition: transform 0.3s ease, opacity 0.7s ease, -webkit-transform 0.3s ease;
  scrollbar-gutter: stable;
}
.header__menu-content.active {
  right: unset;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  opacity: 1;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.header__menu-layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1000px;
  width: 83.33%;
  margin: auto;
  height: auto;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-block: 131px 50px;
  opacity: 0;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media screen and (max-width: 980px) {
  .header__menu-layout {
    width: 90%;
    padding-block: 105px 40px;
  }
}
@media screen and (max-width: 767px) {
  .header__menu-layout {
    width: 86.67%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 46px;
    padding-block: 98px 53px;
  }
}
.header__menu-layout.active {
  opacity: 1;
}
.header__menu-nav {
  max-width: 435px;
  width: 43.5%;
  min-width: 254px;
}
@media screen and (max-width: 980px) {
  .header__menu-nav {
    width: 34.8%;
  }
}
@media screen and (max-width: 767px) {
  .header__menu-nav {
    max-width: unset;
    width: 100%;
  }
}
.header__menu-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  gap: 3.44%;
  padding-top: 25px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 980px) {
  .header__menu-link {
    padding-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .header__menu-link {
    gap: 4.81%;
  }
}
.header__menu-link:hover {
  opacity: 0.5;
}
.header__menu-link--accordion {
  position: relative;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  z-index: 999;
}
.header__menu-link--accordion::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
}
.header__menu-link--accordion .header__menu-ja-text > span {
  padding-right: 13px;
}
@media screen and (max-width: 980px) {
  .header__menu-link--accordion .header__menu-ja-text > span {
    padding-right: 10.4px;
  }
}
@media screen and (max-width: 767px) {
  .header__menu-link--accordion .header__menu-ja-text > span {
    padding-right: initial;
  }
}
.header__menu-link--accordion .header__menu-ja-text > span::after {
  content: "";
  position: relative;
  top: 2.5px;
  right: -13px;
  display: inline-block;
  width: 15px;
  height: 15px;
  background-color: #5e5954;
  z-index: 1;
}
@media screen and (max-width: 980px) {
  .header__menu-link--accordion .header__menu-ja-text > span::after {
    right: -10.4px;
    width: 12px;
    height: 12px;
  }
}
@media screen and (max-width: 767px) {
  .header__menu-link--accordion .header__menu-ja-text > span::after {
    position: absolute;
    top: 0;
    right: -20px;
    bottom: 0;
    margin: auto;
    width: 9px;
    height: 9px;
  }
}
.header__menu-link--accordion .header__menu-ja-text > span::before {
  content: "";
  position: absolute;
  inset: 3px 3.5px 0 auto;
  margin: auto;
  display: block;
  width: 7.5px;
  height: 4.42px;
  background-image: url("../public/img/icons/caret-white.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 2;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 980px) {
  .header__menu-link--accordion .header__menu-ja-text > span::before {
    inset: 2.4px 3px 0 auto;
    width: 6px;
    height: 3.5px;
  }
}
@media screen and (max-width: 767px) {
  .header__menu-link--accordion .header__menu-ja-text > span::before {
    top: 1px;
    right: -18.5px;
    width: 6.5px;
    height: 3px;
  }
}
.header__menu-link--accordion.active .header__menu-ja-text > span::before {
  -webkit-transform: initial;
          transform: initial;
  top: 2px;
}
@media screen and (max-width: 767px) {
  .header__menu-link--accordion.active .header__menu-ja-text > span::before {
    top: 0;
  }
}
.header__menu-en-text {
  font-size: 2.8rem;
  font-family: "Cormorant Infant", serif;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 0.78em;
  color: #5e5954;
}
@media screen and (max-width: 980px) {
  .header__menu-en-text {
    font-size: 2.2rem;
  }
}
.header__menu-ja-text {
  width: 100%;
  border-bottom: 1px solid #86817d;
  font-size: 1.4rem;
  text-align: end;
  color: #5e5954;
}
@media screen and (max-width: 980px) {
  .header__menu-ja-text {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  .header__menu-ja-text {
    padding-right: 20px;
  }
}
.header__menu-ja-text span {
  position: relative;
  bottom: 12px;
}
@media screen and (max-width: 980px) {
  .header__menu-ja-text span {
    bottom: 9.6px;
  }
}
@media screen and (max-width: 767px) {
  .header__menu-ja-text span {
    bottom: 4px;
  }
}
.header__menu-sublink-wrapper {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  padding-bottom: 0;
  -webkit-transition: all 0.7s ease;
  transition: all 0.7s ease;
}
.header__menu-sublink-wrapper.active {
  grid-template-rows: 1fr;
  margin-block: 25px 27px;
}
@media screen and (max-width: 980px) {
  .header__menu-sublink-wrapper.active {
    margin-block: 20px 21.6px;
  }
}
@media screen and (max-width: 767px) {
  .header__menu-sublink-wrapper.active {
    margin-block: 17px 0;
  }
}
.header__menu-sublinks {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 75.75%;
  margin-left: auto;
  overflow: hidden;
  gap: 0 7.04%;
  -webkit-transition: all 0.7s ease;
  transition: all 0.7s ease;
}
@media screen and (max-width: 980px) {
  .header__menu-sublinks {
    width: 90%;
    gap: 0 5.63%;
  }
}
@media screen and (max-width: 767px) {
  .header__menu-sublinks {
    width: 100%;
    margin-left: unset;
    gap: 0 2.5%;
  }
}
.header__menu-sublinks a {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  font-size: 1.4rem;
  color: #5e5954;
  line-height: 1.5714285714em;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 1080px) {
  .header__menu-sublinks a {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 980px) {
  .header__menu-sublinks a {
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 767px) {
  .header__menu-sublinks a {
    font-size: 1.3rem;
    line-height: 1.6923076923em;
  }
}
.header__menu-sublinks a:hover {
  opacity: 0.5;
}
.header__menu-sublinks a:nth-of-type(odd) {
  width: 50%;
}
@media screen and (max-width: 980px) {
  .header__menu-sublinks a:nth-of-type(odd) {
    width: 51%;
  }
}
@media screen and (max-width: 767px) {
  .header__menu-sublinks a:nth-of-type(odd) {
    min-width: 143px;
    width: 46%;
  }
}
.header__menu-sublinks a:nth-of-type(even) {
  width: 42%;
}
@media screen and (max-width: 980px) {
  .header__menu-sublinks a:nth-of-type(even) {
    width: 43%;
  }
}
@media screen and (max-width: 767px) {
  .header__menu-sublinks a:nth-of-type(even) {
    width: 46%;
  }
}
.header__menu-external-links-column {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  max-width: 353px;
  width: 35.3%;
  min-width: 254px;
}
@media screen and (max-width: 767px) {
  .header__menu-external-links-column {
    max-width: unset;
    width: 100%;
  }
}
.header__menu-external-links {
  margin-bottom: 26px;
}
@media screen and (max-width: 980px) {
  .header__menu-external-links {
    margin-bottom: 20.8px;
  }
}
@media screen and (max-width: 767px) {
  .header__menu-external-links {
    margin-bottom: 20px;
  }
}
.header__external-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #86817d;
  padding-right: 10px;
  color: #5e5954;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 980px) {
  .header__external-link {
    padding-right: 8px;
  }
}
.header__external-link:hover {
  opacity: 0.5;
}
.header__external-link:not(:last-child) {
  margin-bottom: 9px;
}
@media screen and (max-width: 980px) {
  .header__external-link:not(:last-child) {
    margin-bottom: 7.2px;
  }
}
@media screen and (max-width: 767px) {
  .header__external-link:not(:last-child) {
    margin-bottom: 10px;
  }
}
.header__external-thumbnail {
  width: 32px;
  height: 32px;
}
@media screen and (max-width: 980px) {
  .header__external-thumbnail {
    width: 25.6px;
    height: 25.6px;
  }
}
@media screen and (max-width: 767px) {
  .header__external-thumbnail {
    border-right: inherit;
    width: 32px;
    height: 32px;
  }
}
.header__external-thumbnail--bordered {
  border-right: inherit;
}
.header__external-label {
  margin-left: 12px;
  font-size: 1.1rem;
  font-weight: 500;
}
@media screen and (max-width: 980px) {
  .header__external-label {
    margin-left: 9.6px;
    font-size: 0.88rem;
  }
}
@media screen and (max-width: 767px) {
  .header__external-label {
    font-size: 1.1rem;
  }
}
.header__external-sns-wrapper {
  margin-left: auto;
}
.header__external-sns-wrapper i {
  margin-right: 7px;
}
.header__menu-related-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.83%;
}
.header__menu-related-item {
  position: relative;
  max-width: 172px;
  width: 48.73%;
  background-color: #afa192;
  padding-block: 15.5px;
  color: #fff;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 980px) {
  .header__menu-related-item {
    padding-block: 12.4px;
  }
}
@media screen and (max-width: 767px) {
  .header__menu-related-item {
    max-width: unset;
    width: 51.28%;
  }
}
.header__menu-related-item:hover {
  opacity: 0.5;
}
.header__menu-related-item--brown-c5 {
  background-color: #c5b8a6;
}
.header__menu-related-item-thumbnail {
  max-width: 150px;
  width: 87.21%;
}
@media screen and (max-width: 767px) {
  .header__menu-related-item-thumbnail {
    max-width: unset;
  }
}
.header__menu-related-item-overlay {
  position: absolute;
  inset: 0;
}
.header__menu-related-ja-text, .header__menu-related-en-text {
  position: absolute;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.header__menu-related-en-text {
  top: 0;
  left: 12px;
  font-family: "Cormorant Infant", serif;
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 980px) {
  .header__menu-related-en-text {
    left: 9.6px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .header__menu-related-en-text {
    left: 10px;
    font-size: 2rem;
  }
}
.header__menu-related-ja-text {
  right: 25px;
  bottom: 13px;
  font-size: 0.9rem;
  font-weight: 500;
}
@media screen and (max-width: 980px) {
  .header__menu-related-ja-text {
    right: 20px;
    bottom: 10.4px;
  }
}
@media screen and (max-width: 767px) {
  .header__menu-related-ja-text {
    right: 17px;
    bottom: 7px;
  }
}

.res-modal {
  font-family: "Shippori Mincho B1", serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  opacity: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: fixed;
  inset: 30px 0 0 0;
  height: 100svh;
  z-index: -1;
  -webkit-transition: 0.7s ease;
  transition: 0.7s ease;
}
.res-modal.visible {
  visibility: visible;
  opacity: 1;
  z-index: 998;
}
.res-modal__content {
  position: relative;
  width: 84.67%;
  padding-bottom: 60px;
  background-image: url("../public/img/nav-bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  border: 1px solid #fff;
  text-align: center;
  z-index: 999;
}
.res-modal__heading-block {
  position: relative;
  top: -50px;
  overflow: hidden;
}
.res-modal__heading-block span {
  text-align: center;
  display: block;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.res-modal__heading-block.visible > span {
  -webkit-transform: initial;
          transform: initial;
}
.res-modal__en-header {
  color: #86817d;
  font-size: 9.7rem;
  font-family: "Cormorant Infant", serif;
  letter-spacing: 0.055em;
  line-height: 0.8em;
  -webkit-transition: 1.5s ease;
  transition: 1.5s ease;
}
.res-modal__ja-header {
  color: #5e5954;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2.75em;
  -webkit-transition: 1.6s ease;
  transition: 1.6s ease;
}
.res-modal__exit-button {
  position: absolute;
  inset: 25px 25px auto auto;
  width: 33.5px;
  height: 33.5px;
  background-color: transparent;
  border: none;
  text-align: center;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.res-modal__contact-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3.94%;
  margin-bottom: 20px;
}
.res-modal__contact-item {
  width: 166px;
  height: 129px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border: 1px solid #5e5954;
  color: #5e5954;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.res-modal__contact-item i {
  margin-bottom: 8px;
  font-size: 37px;
  display: block;
}
.res-modal__contact-item span {
  display: block;
  font-size: 1.5rem;
  font-weight: 600;
}
.res-modal__contact-info {
  margin-bottom: 40px;
  color: #5e5954;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  display: inline-block;
  border: 1px solid #5e5954;
  padding: 10px;
}
.res-modal__contact-info a {
  font-size: 4rem;
  font-weight: 400;
  line-height: 1.45em;
}
.res-modal__contact-info a:before {
  content: "";
  background: url(../public/img/tel.png) no-repeat center/contain;
  width: 25px;
  aspect-ratio: 111 / 129;
  display: inline-block;
  margin-right: 10px;
}
.res-modal__text-content {
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  line-height: 1.875em;
}

.js-res-modal-shadow {
  display: none;
  position: absolute;
  inset: -30px 0 30px 0;
  z-index: 997;
}
.js-res-modal-shadow.visible {
  display: block;
  background-color: rgba(255, 255, 255, 0.7);
}

.footer {
  font-family: "Shippori Mincho B1", serif;
  position: relative;
  background-color: #86817d;
  font-size: 1.3rem;
  letter-spacing: 0.04em;
  color: #fff;
  border-top: 1px solid #D8D1CA;
}
.footer__external {
  background-color: #fff;
  padding-block: 104px 88px;
}
@media screen and (max-width: 767px) {
  .footer__external {
    padding-block: 56px 70px;
  }
}
.footer__external-ctr {
  max-width: 800px !important;
  padding-inline: 0 !important;
  margin: 0 auto;
  padding-inline: 8.5%;
  max-width: 1000px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .footer__external-ctr {
    padding: 0 3%;
    max-width: 100%;
  }
}
@media screen and (max-width: 800px) {
  .footer__external-ctr {
    padding: 0 5% !important;
  }
}
@media screen and (max-width: 767px) {
  .footer__external-ctr {
    max-width: 100% !important;
    padding: 0 3% !important;
  }
}
.footer__dropdown-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .footer__dropdown-list {
    gap: 18px;
  }
}
.footer__dropdown {
  position: relative;
  border: 1px solid #d8d1ca;
  width: 100%;
  padding: 7px 12.5px 10px 20px;
}
@media screen and (max-width: 767px) {
  .footer__dropdown {
    padding: 10px 9px 12px;
  }
}
.footer__dropdown.active {
  padding-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .footer__dropdown.active {
    padding-bottom: 25.5px;
  }
}
.footer__dropdown.active .footer__dropdown-heading-blk::after {
  -webkit-transform: rotate(-180deg);
          transform: rotate(-180deg);
}
.footer__dropdown.active .footer__dropdown-content {
  border-top: 1px solid #d8d1ca;
  margin-top: 10.5px;
  padding-top: 18.5px;
  max-height: -webkit-max-content;
  max-height: -moz-max-content;
  max-height: max-content;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .footer__dropdown.active .footer__dropdown-content {
    margin-top: 12px;
    padding-top: 16.5px;
  }
}
.footer__dropdown-heading-blk {
  position: relative;
  cursor: pointer;
  padding-right: 28px;
}
@media screen and (max-width: 767px) {
  .footer__dropdown-heading-blk {
    padding-right: 31px;
  }
}
.footer__dropdown-heading-blk::after {
  content: "";
  background: url("../public/img/icons/caret-down.svg") no-repeat;
  background-size: contain;
  background-position: center;
  width: 14px;
  height: 12px;
  display: block;
  position: absolute;
  top: 7px;
  right: 7.5px;
}
@media screen and (max-width: 767px) {
  .footer__dropdown-heading-blk::after {
    top: 4px;
    right: 2px;
  }
}
.footer__dropdown-heading {
  color: #86817d;
  font-family: "Shippori Mincho B1", serif;
  font-size: 1.6rem;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .footer__dropdown-heading {
    font-size: 13px;
  }
}
.footer__dropdown-content {
  color: #86817d;
  font-family: "Shippori Mincho B1", serif;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.1538461538em;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.footer__dropdown-content ul {
  margin-top: 5px;
}
.footer__dropdown-content ul li {
  letter-spacing: 0.04em;
  line-height: 1.1538461538em;
}
.footer__dropdown-content ul li::before {
  content: "・";
  display: inline-block;
}
.footer__dropdown-dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .footer__dropdown-dl {
    gap: 10px;
  }
}
.footer__dropdown-dl:last-child {
  margin-bottom: 0;
}
.footer__dropdown-dt {
  width: 20%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .footer__dropdown-dt {
    width: 25%;
  }
}
.footer__socmed-list {
  padding-top: 98px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 246px));
  gap: 14px 3.8%;
}
@media screen and (max-width: 800px) {
  .footer__socmed-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .footer__socmed-list {
    padding-top: 47px;
    grid-template-columns: 1fr;
    gap: 8.5px;
  }
}
.footer__socmed-box {
  width: 100%;
  height: 57px;
  border: 1px solid #d8d1ca;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .footer__socmed-box {
    height: 32px;
  }
}
.footer__socmed-box:hover {
  opacity: 0.8;
}
.footer__socmed-img {
  width: 56.67px;
  height: 56.67px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 980px) {
  .footer__socmed-img {
    -ms-flex-item-align: center;
        align-self: center;
  }
}
@media screen and (max-width: 767px) {
  .footer__socmed-img {
    width: 32px;
    height: 32px;
  }
}
.footer__socmed-img--br {
  border-right: 1px solid #d8d1ca;
}
.footer__somcmed-wrap {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 7.5px 11.5px 7.5px 9px;
}
@media screen and (max-width: 767px) {
  .footer__somcmed-wrap {
    padding: 8px 8px 8px 10.7px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 15px;
  }
}
.footer__socmed-heading {
  color: #86817d;
  font-family: "Shippori Mincho B1", serif;
  font-size: 11px;
  font-weight: 500;
  padding-bottom: 7px;
  border-bottom: 1px solid #d8d1ca;
}
@media screen and (max-width: 767px) {
  .footer__socmed-heading {
    padding-bottom: 0;
    border-bottom: none;
  }
}
.footer__socmed-icon {
  max-width: 67px;
  max-height: 15px;
  -ms-flex-item-align: end;
      align-self: flex-end;
  margin-top: 4px;
}
.footer__linkbox-list {
  margin-top: 56px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.8%;
}
@media screen and (max-width: 767px) {
  .footer__linkbox-list {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 42px;
    gap: 10.7px 9.3px;
  }
}
.footer__linkbox {
  position: relative;
  width: 100%;
  max-width: 246px;
  height: 192px;
  padding: 26px 15px 18px;
  overflow: hidden;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .footer__linkbox {
    max-width: 100%;
    height: 125px;
    padding: 17px 10px 12px;
  }
}
.footer__linkbox:hover {
  opacity: 0.5;
}
.footer__linkbox:hover .top__linkbox-img {
  max-width: 100%;
  height: 100%;
  opacity: 0.8;
}
.footer__linkbox:first-child {
  background: #afa192;
}
.footer__linkbox:nth-child(2) {
  background: #86817d;
}
.footer__linkbox:last-child {
  background: #c5b8a6;
}
.footer__linkbox-heading {
  color: #fff;
  font: 500 3.2rem "Cormorant Infant", serif;
  position: absolute;
  top: 4px;
  left: 16px;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .footer__linkbox-heading {
    font-size: 20px;
    top: 3px;
    left: 10px;
  }
}
.footer__linkbox-heading-jp {
  color: #fff;
  font-family: "Shippori Mincho B1", serif;
  font-size: 1.6rem;
  font-weight: 500;
  position: absolute;
  bottom: 8px;
  right: 20px;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .footer__linkbox-heading-jp {
    font-size: 12px;
    bottom: 6px;
    right: 17px;
  }
}
.footer__linkbox-img {
  width: 100%;
  max-width: 214px;
  height: 148px;
  z-index: 1;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .footer__linkbox-img {
    max-width: 100%;
    height: 96px;
  }
}
.footer__linkbox-img img {
  height: 100%;
}
.footer__content {
  margin: 0 auto;
  padding: 65px 70px 81px;
  max-width: 1000px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 980px) {
  .footer__content {
    padding-inline: 60px;
  }
}
@media screen and (max-width: 767px) {
  .footer__content {
    padding: 40px 3% 53px;
  }
}
.footer__logo-wrapper {
  width: 295px;
  margin-bottom: 20px;
  display: block;
}
@media screen and (max-width: 767px) {
  .footer__logo-wrapper {
    margin-bottom: 8px;
  }
}
.footer__logo {
  position: relative;
  width: 43.99%;
  margin-bottom: 10px;
  -webkit-filter: invert(1);
          filter: invert(1);
  isolation: isolate;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .footer__logo {
    width: 128px;
  }
}
.footer__logo-catch {
  font-size: 1.2rem;
  letter-spacing: initial;
}
@media screen and (max-width: 767px) {
  .footer__logo-catch {
    font-size: 1.1rem;
  }
}
.footer__row {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 50px;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .footer__row {
    max-width: 500px;
    margin: auto;
    gap: 60px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.footer__about {
  -ms-flex-preferred-size: 331px;
      flex-basis: 331px;
}
@media screen and (max-width: 767px) {
  .footer__about {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
    width: 100%;
  }
}
.footer__about-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.3846153846em;
}
@media screen and (max-width: 767px) {
  .footer__about-item {
    font-size: 1.2rem;
  }
}
.footer__about-item:not(:last-of-type) {
  margin-bottom: 9px;
}
@media screen and (max-width: 767px) {
  .footer__about-item:nth-of-type(2) > p {
    font-size: 1.3rem;
  }
}
.footer__about-item span {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -ms-flex-preferred-size: 64px;
      flex-basis: 64px;
}
.footer__nav {
  -ms-flex-preferred-size: 480px;
      flex-basis: 480px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-item-align: center;
      align-self: center;
  padding-top: 69px;
}
@media screen and (max-width: 980px) {
  .footer__nav {
    padding-top: 48px;
  }
}
@media screen and (max-width: 767px) {
  .footer__nav {
    width: 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
    gap: 16px 30px;
    margin-right: auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-top: initial;
  }
}
.footer__nav-column {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .footer__nav-column {
    border-left: 1px solid #fff;
    padding-left: 17px;
    width: 40%;
  }
}
.footer__nav-link {
  display: block;
  line-height: 1.7857142857em;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .footer__nav-link {
    font-size: 1.3rem;
    line-height: 1em;
  }
}
.footer__nav-link:not(:last-of-type) {
  margin-bottom: 10px;
}
.footer__nav-link:hover {
  opacity: 0.6;
}
@media screen and (max-width: 767px) {
  .footer__cpy {
    display: block;
    text-align: end;
    font-size: 1.2rem;
  }
}

.button__view {
  color: #5e5954;
  font: 600 3rem "Cormorant Infant", serif;
  letter-spacing: 0.055em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .button__view {
    font-size: 21px;
    gap: 6.5px;
  }
}
.button__view::before {
  content: "";
  background: url("../public/img/icons/circle-line.svg") no-repeat;
  background-position: center;
  background-size: contain;
  width: 46px;
  height: 35px;
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
}
@media screen and (max-width: 767px) {
  .button__view::before {
    width: 32.36px;
    height: 25px;
  }
}
.button__view:hover {
  opacity: 0.8;
}
.button__view:hover::before {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.button__view--center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.button__view-sm {
  color: #86817d;
  font: 600 2.2rem "Cormorant Infant", serif;
  letter-spacing: 0.055em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 7.7px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .button__view-sm {
    font-size: 21px;
    gap: 6.6px;
  }
}
.button__view-sm::before {
  content: "";
  background: url("../public/img/icons/circle-line.svg") no-repeat;
  background-position: center;
  background-size: contain;
  width: 34.31px;
  height: 26px;
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
}
@media screen and (max-width: 767px) {
  .button__view-sm::before {
    width: 32.36px;
    height: 25px;
  }
}
.button__view-sm:hover {
  opacity: 0.8;
}
.button__view-sm:hover::before {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.btt {
  position: fixed;
  right: 17px;
  bottom: 25px;
  z-index: 999;
  opacity: 0;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media screen and (max-width: 767px) {
  .btt {
    bottom: 65px;
  }
}
.btt span {
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  text-orientation: sideways;
  font-family: "Cormorant Infant", serif;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  color: #86817d;
  -webkit-transform: 0.3s ease;
          transform: 0.3s ease;
}
.btt::after {
  content: "";
  display: block;
  margin-top: 12px;
  width: 19px;
  height: 19px;
  background-image: url("../public/img/icons/btt.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transform: 0.3s ease;
          transform: 0.3s ease;
}
.btt.reverse span {
  color: #fff;
}
.btt.reverse::after {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

.sp-nav {
  display: none;
  background-color: #d8d1ca;
}
@media screen and (max-width: 767px) {
  .sp-nav {
    padding-top: 8px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 55px;
    position: fixed;
    bottom: 0;
    width: 100%;
    font-family: "Shippori Mincho B1", serif;
    color: #5e5954;
    z-index: 9;
  }
}
@media screen and (max-width: 767px) {
  .sp-nav__list {
    width: 100%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 20px;
  }
}
@media screen and (max-width: 767px) {
  .sp-nav__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 35px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    gap: 5px;
    position: relative;
  }
  .sp-nav__item:hover .fa-solid,
  .sp-nav__item:hover .fa-brands {
    margin-bottom: -3px;
  }
}
.sp-nav .fa-solid,
.sp-nav .fa-brands {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  width: 20px;
  color: #86817d;
  font-size: 2rem;
}
.sp-nav__item-txt {
  font-size: 0.9rem;
  font-weight: 600;
}

.top__doctors {
  position: relative;
  background-color: #d8d1ca;
  padding-block: 105px 160px;
}
@media screen and (max-width: 767px) {
  .top__doctors {
    padding-block: 105px;
  }
}
.top__doctors-content {
  position: relative;
}
.top__doctors-ctr {
  position: relative;
  z-index: 1;
  padding-inline: 0 !important;
  max-width: 800px !important;
  margin: 0 auto;
  padding-inline: 8.5%;
  max-width: 1000px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .top__doctors-ctr {
    padding: 0 3%;
    max-width: 100%;
  }
}
@media screen and (max-width: 800px) {
  .top__doctors-ctr {
    padding: 0 7% !important;
  }
}
@media screen and (max-width: 767px) {
  .top__doctors-ctr {
    max-width: 100% !important;
  }
}
.top__doctors-ctr::before {
  content: "";
  border: 1px solid #fff;
  border-radius: 50%;
  width: 567px;
  height: 567px;
  position: absolute;
  top: -17px;
  left: -285px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .top__doctors-ctr::before {
    width: 416px;
    height: 416px;
    top: -63.5px;
    left: -180px;
  }
}
@media screen and (max-width: 767px) {
  .top__doctors-title {
    margin-bottom: 60%;
  }
}
.top__doctors-info {
  margin-bottom: 45px;
}
@media screen and (max-width: 767px) {
  .top__doctors-info {
    margin-bottom: 28px;
  }
}
.top__doctors-name {
  display: block;
  color: #86817d;
  font-size: 3.8rem;
  font-weight: 500;
  line-height: 0.8947368421em;
  margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
  .top__doctors-name {
    font-size: 32px;
  }
}
.top__doctors-pos {
  display: block;
  color: #86817d;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.4em;
  letter-spacing: 0.2em;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .top__doctors-pos {
    margin-bottom: 17px;
    font-size: 13px;
  }
}
.top__doctors-desc-heading {
  color: #86817d;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.4;
  margin-bottom: 45px;
}
@media screen and (max-width: 767px) {
  .top__doctors-desc-heading {
    font-size: 22px;
    letter-spacing: 0.05em;
    margin-bottom: 28px;
  }
}
.top__doctors-desc {
  max-width: 423px;
  color: #5e5954;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.9333333333em;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .top__doctors-desc {
    max-width: 100%;
    font-size: 12px;
    line-height: 1.6666666667em;
  }
}
.top__doctors-ftrd-img {
  width: 100%;
  max-width: 655px;
  height: 498px;
  position: absolute;
  top: 55px;
  left: 30.5%;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .top__doctors-ftrd-img {
    min-width: 289px;
    height: auto;
    top: 27px;
    left: 20%;
  }
}
.top__doctors-ftrd-img .image {
  height: 100%;
  object-position: top;
}
.top__doctors-list-ctr {
  max-width: 800px !important;
  padding-inline: 0 !important;
  margin: 0 auto;
  padding-inline: 8.5%;
  max-width: 1000px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .top__doctors-list-ctr {
    padding: 0 3%;
    max-width: 100%;
  }
}
@media screen and (max-width: 800px) {
  .top__doctors-list-ctr {
    padding: 0 5% !important;
  }
}
@media screen and (max-width: 767px) {
  .top__doctors-list-ctr {
    max-width: 100% !important;
    padding: 0 3% !important;
  }
}
.top__doctors-list {
  margin-block: 49px 52px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px 4%;
}
@media screen and (max-width: 800px) {
  .top__doctors-list {
    margin-block: 42px 47px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 36px 8px;
  }
}
.top__doctors-item {
  width: 100%;
  max-width: 175px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top__doctors-item {
    max-width: 151px;
  }
}
.top__doctors-item:hover .top__doctors-img img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.top__doctors-img {
  height: 220px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top__doctors-img {
    height: 183px;
  }
}
.top__doctors-img img {
  height: 100%;
  -webkit-transition: 0.7s ease;
  transition: 0.7s ease;
}
.top__doctors-item-info {
  margin-top: 9px;
  gap: 12px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .top__doctors-item-info {
    margin-top: 8px;
    gap: 4px;
  }
}
.top__doctors-item-pos {
  position: relative;
  top: 1px;
  color: #5e5954;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}
.top__doctors-item-name {
  color: #5e5954;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .top__doctors-item-name {
    font-size: 16px;
  }
}
.top__doctors-banner-ctr {
  margin-block: 79px 0;
  margin-inline: auto;
  width: 100%;
  max-width: 680px;
}
@media screen and (max-width: 767px) {
  .top__doctors-banner-ctr {
    margin-block: 57px 0;
    max-width: 100%;
    padding: 0 3%;
  }
}
.top__doctors-banner {
  display: block;
  position: relative;
  width: 100%;
  height: 180px;
  padding: 25px;
  background: url("../public/img/top/doctor-banner-1.jpg") no-repeat;
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top__doctors-banner {
    max-width: 330px;
    margin: 0 auto;
    height: auto;
    padding: 9px 12px;
  }
}
.top__doctors-banner::before {
  content: "";
  border: 1px solid #fff;
  border-radius: 50%;
  width: 285px;
  height: 285px;
  position: absolute;
  top: -118px;
  left: -128px;
}
@media screen and (max-width: 767px) {
  .top__doctors-banner::before {
    width: 140px;
    height: 138px;
    top: -60px;
    left: -68px;
  }
}
.top__doctors-banner-heading {
  color: #fff;
  font: 300 8rem "Cormorant Infant", serif;
  margin-top: -30px;
  margin-bottom: -5px;
}
@media screen and (max-width: 767px) {
  .top__doctors-banner-heading {
    font-size: 32px;
    margin-top: -9px;
    margin-bottom: 0;
  }
}
.top__doctors-banner-sub {
  color: #fff;
  font-size: 2.9rem;
  font-weight: 700;
  line-height: 1.1724137931em;
}
@media screen and (max-width: 767px) {
  .top__doctors-banner-sub {
    font-size: 20px;
  }
}
.top__doctors-banner-sub--24 {
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .top__doctors-banner-sub--24 {
    font-size: 14px;
  }
}
.top__doctors-banner-desc {
  margin-top: 15px;
  background: #fff;
  color: #86817d;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.2857142857em;
  letter-spacing: 0.02em;
  padding: 0 9px;
}
@media screen and (max-width: 767px) {
  .top__doctors-banner-desc {
    margin-top: 5px;
    font-size: 7px;
    padding: 0 5px;
  }
}
.top__news {
  position: relative;
  padding-block: 124.5px 130px;
  z-index: 1;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .top__news {
    padding-block: 87.5px 77px;
  }
}
.top__news::after {
  content: "";
  border: 1px solid #d8d1ca;
  border-radius: 50%;
  display: block;
  width: 567px;
  height: 567px;
  position: absolute;
  bottom: -34px;
  right: -152px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .top__news::after {
    width: 504px;
    height: 504px;
    bottom: -124px;
    right: -245px;
  }
}
.top__news-ctr {
  position: relative;
  max-width: 800px !important;
  padding-inline: 0 !important;
  margin: 0 auto;
  padding-inline: 8.5%;
  max-width: 1000px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .top__news-ctr {
    padding: 0 3%;
    max-width: 100%;
  }
}
@media screen and (max-width: 800px) {
  .top__news-ctr {
    padding: 0 5% !important;
  }
}
@media screen and (max-width: 767px) {
  .top__news-ctr {
    max-width: 100% !important;
    padding: 0 3% !important;
  }
}
.top__news-title {
  margin-bottom: 0;
  position: absolute;
  top: -170px;
  left: 0;
}
@media screen and (max-width: 800px) {
  .top__news-title {
    left: 5%;
  }
}
@media screen and (max-width: 767px) {
  .top__news-title {
    top: -114px;
    left: 3%;
  }
}
.top__news-list {
  margin-bottom: 19.5px;
}
@media screen and (max-width: 767px) {
  .top__news-list {
    margin-bottom: 31.5px;
  }
}
.top__news-item {
  border-bottom: 1px solid #d8d1ca;
  padding: 18.5px 11px;
}
@media screen and (max-width: 767px) {
  .top__news-item {
    padding: 12.5px 9px;
  }
}
.top__news-item:first-child {
  border-top: 1px solid #d8d1ca;
}
.top__news-item:hover .top__news-link {
  opacity: 0.8;
}
.top__news-item:hover .top__news-link::after {
  -webkit-transform: translateX(6px);
          transform: translateX(6px);
}
.top__news-link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 36px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .top__news-link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: unset;
        -ms-flex-align: unset;
            align-items: unset;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2px;
  }
}
.top__news-link::after {
  content: "";
  background: url("../public/img/icons/arrow-right.svg") no-repeat;
  background-position: center;
  background-size: contain;
  width: 29px;
  height: 7px;
  position: absolute;
  right: 0;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top__news-date {
  color: #5e5954;
  font: 500 1.5rem "Cormorant Infant", serif;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .top__news-date {
    font-size: 12px;
  }
}
.top__news-heading {
  color: #5e5954;
  font-size: 1.5rem;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .top__news-heading {
    font-size: 13px;
  }
}
.top__news-btn {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.top__media {
  margin-top: 25px;
}
@media screen and (max-width: 767px) {
  .top__media {
    margin-top: 32px;
  }
}
.top__media-title {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .top__media-title {
    margin-bottom: 25px;
  }
}
.top__media-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.6%;
}
@media screen and (max-width: 767px) {
  .top__media-list {
    grid-template-columns: 1fr;
    gap: 25px;
  }
}
.top__media-item {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top__media-item:hover {
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .top__media-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 14px;
  }
}
.top__media-img {
  width: 100%;
  max-width: 252px;
  height: 150px;
  margin-bottom: 7px;
}
@media screen and (max-width: 767px) {
  .top__media-img {
    max-width: 116px;
    height: 69px;
  }
}
.top__media-img img {
  height: 100%;
}
.top__media-date {
  display: block;
  color: #5e5954;
  font: 500 1.5rem "Cormorant Infant", serif;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .top__media-date {
    font-size: 12px;
  }
}
.top__media-heading {
  display: block;
  color: #5e5954;
  font: 600 1.5rem "Shippori Mincho B1", serif;
  line-height: 1.4em;
  margin-top: 3px;
}
@media screen and (max-width: 767px) {
  .top__media-heading {
    margin-top: 0;
    font-size: 13px;
    line-height: 1.4615384615em;
  }
}

.top__blog-blk {
  margin-top: 72px;
}
@media screen and (max-width: 767px) {
  .top__blog-blk {
    margin-top: 53px;
  }
}
.top__blog-title {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .top__blog-title {
    margin-bottom: 25px;
  }
}
.top__blogcat-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 800px;
  width: 100%;
  margin-top: 60px;
  border-bottom: 4px solid #d8d1ca;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .top__blogcat-wrap {
    margin-top: 60px;
    padding: 0 15px;
  }
}
.top__blogcat {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.35em;
  color: #86817d;
  width: 190px;
  padding: 5px 0 6px;
  text-align: center;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .top__blogcat {
    font-size: 1.6rem;
    line-height: 1.3125em;
  }
}
.top__blogcat--active {
  background-color: #d8d1ca;
}
.top__blog-list {
  margin-top: 20px;
  display: none;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.6%;
}
@media screen and (max-width: 767px) {
  .top__blog-list {
    grid-template-columns: 1fr;
    gap: 25px;
  }
}
.top__blog-list--active {
  display: grid;
}
.top__blog-item {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top__blog-item:hover {
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .top__blog-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 14px;
  }
}
.top__blog-img {
  width: 100%;
  max-width: 252px;
  height: 150px;
  margin-bottom: 7px;
}
@media screen and (max-width: 767px) {
  .top__blog-img {
    max-width: 116px;
    height: 69px;
  }
}
.top__blog-img img {
  height: 100%;
}
.top__blog-date {
  display: block;
  color: #5e5954;
  font: 500 1.5rem "Cormorant Infant", serif;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .top__blog-date {
    font-size: 12px;
  }
}
.top__blog-heading {
  display: block;
  color: #5e5954;
  font: 600 1.5rem "Shippori Mincho B1", serif;
  line-height: 1.4em;
  margin-top: 3px;
}
@media screen and (max-width: 767px) {
  .top__blog-heading {
    margin-top: 0;
    font-size: 13px;
    line-height: 1.4615384615em;
  }
}
.top__blog-btn {
  margin-top: 40px;
  grid-column: 1 / -1;
}

.top__ig-blk {
  margin-top: 72px;
}
@media screen and (max-width: 767px) {
  .top__ig-blk {
    margin-top: 53px;
  }
}
.top__ig-title {
  margin-bottom: 32.2px;
}
@media screen and (max-width: 767px) {
  .top__ig-title {
    margin-bottom: 30.2px;
  }
}
.top__ig-feed {
  margin-bottom: 23.2px;
}
@media screen and (max-width: 767px) {
  .top__ig-feed {
    margin-bottom: 26.6px;
  }
}
.top__gallery-access {
  position: relative;
  padding-block: 120px 228px;
  background: #d8d1ca;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top__gallery-access {
    padding-block: 83px 62px;
  }
}
.top__gallery-access::before {
  content: "";
  border: 1px solid #fff;
  border-radius: 50%;
  width: 567px;
  height: 567px;
  position: absolute;
  top: 420px;
  left: -146px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .top__gallery-access::before {
    width: 429px;
    height: 429px;
    top: 165px;
    left: -123px;
  }
}
.top__gallery {
  position: relative;
  z-index: 1;
}
.top__gallery::before {
  content: "";
  width: 82.67%;
  max-width: 992px;
  height: 280px;
  display: block;
  background: url("../public/img/top/ecli-logo-lg-white.svg") no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 69px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  .top__gallery::before {
    max-width: 767px;
  }
}
@media screen and (max-width: 767px) {
  .top__gallery::before {
    max-width: 330px;
    height: 93px;
    top: 38px;
  }
}
.top__gallery-title {
  margin-bottom: 58px;
}
@media screen and (max-width: 767px) {
  .top__gallery-title {
    margin-bottom: 10px;
  }
}
.top__gallery-list {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.top__gallery-img {
  width: 345px;
  max-height: 396px;
}
@media screen and (max-width: 767px) {
  .top__gallery-img {
    width: 277px;
    max-height: 318px;
  }
}
.top__gallery-img img {
  height: 100%;
}
.top__access {
  margin-top: 93px;
}
@media screen and (max-width: 767px) {
  .top__access {
    margin-top: 101px;
  }
}
.top__access-button {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: 35px;
  border: 1px solid #9c958f;
  padding-inline: 20px;
  gap: 5px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 980px) {
  .top__access-button {
    font-size: 1.4rem;
  }
}
.top__access-button:hover {
  opacity: 0.7;
}
.top__access-ctr {
  max-width: 800px !important;
  padding-inline: 0 !important;
  margin: 0 auto;
  padding-inline: 8.5%;
  max-width: 1000px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .top__access-ctr {
    padding: 0 3%;
    max-width: 100%;
  }
}
@media screen and (max-width: 895px) {
  .top__access-ctr {
    padding: 0 5% !important;
  }
}
@media screen and (max-width: 767px) {
  .top__access-ctr {
    max-width: 100% !important;
    padding: 0 3% !important;
  }
}
.top__access-title {
  margin-bottom: 45px;
}
@media screen and (max-width: 767px) {
  .top__access-title {
    margin-bottom: 8px;
  }
}
.top__access-content {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
}
@media screen and (max-width: 767px) {
  .top__access-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 35px;
  }
}
.top__access-info {
  width: 100%;
  max-width: 300px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .top__access-info {
    max-width: 100%;
  }
}
.top__access-heading {
  color: #5e5954;
  font-size: 2.4rem;
  font-weight: 400;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .top__access-heading {
    font-size: 20px;
    margin-bottom: 18px;
  }
}
.top__access-desc {
  color: #5e5954;
  font-size: 1.6rem;
  font-weight: 400;
  margin-bottom: 10px;
}
.top__access-details {
  color: #5e5954;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.4375em;
  letter-spacing: 0.04em;
}
.top__access-map {
  position: absolute;
  right: -12.5%;
  width: 72.38%;
  max-width: 579px;
  aspect-ratio: 579/336;
}
@media screen and (max-width: 767px) {
  .top__access-map {
    position: relative;
    right: initial;
    max-width: 100%;
    width: 100%;
  }
}
.top__access-map iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top {
  margin: 0 auto;
  padding-top: 115px;
  background-color: #d8d1ca;
  font-family: "Shippori Mincho B1", serif;
}
@media screen and (max-width: 767px) {
  .top {
    padding-top: 75px;
  }
}
.top__mv-wrapper {
  position: relative;
  overflow: hidden;
  margin-bottom: 125px;
}
@media screen and (max-width: 980px) {
  .top__mv-wrapper {
    margin-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .top__mv-wrapper {
    margin-bottom: 16px;
  }
}
.top__fixed-txt-wrap {
  position: fixed;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px;
  max-width: 602px;
  width: 50.17%;
  z-index: 99;
}
@media screen and (max-width: 1200px) {
  .top__fixed-txt-wrap {
    max-width: 482px;
    width: 40.15%;
  }
}
@media screen and (max-width: 980px) {
  .top__fixed-txt-wrap {
    max-width: 386px;
  }
}
@media screen and (max-width: 767px) {
  .top__fixed-txt-wrap {
    max-width: unset;
    width: 46.38%;
  }
}
.top__fixed-desc-txt {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  padding-right: 5.09%;
  padding-left: 100px;
  padding-block: 3px;
  background-color: #fff;
  font-size: 3.5rem;
  font-weight: 400;
  letter-spacing: 0.052em;
  line-height: 1.4857142857em;
  color: #86817d;
}
@media screen and (max-width: 1200px) {
  .top__fixed-desc-txt {
    padding-left: 4%;
  }
}
@media screen and (max-width: 980px) {
  .top__fixed-desc-txt {
    padding-right: 2.5%;
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .top__fixed-desc-txt {
    font-size: 2.2rem;
    line-height: 1.7272727273em;
    padding-inline: 23px 18px;
  }
}
@media screen and (max-width: 350px) {
  .top__fixed-desc-txt {
    font-size: 1.9rem;
  }
}
.top__fixed-desc-txt.sp {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}
.top__mv {
  position: relative;
  margin: 0 auto;
  width: 90.92%;
  height: calc(100vh - 110px);
  padding-bottom: 47px;
}
@media screen and (max-width: 767px) {
  .top__mv {
    height: calc(100vh - 125px);
    padding-bottom: 32px;
  }
}
.top__mv-img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .top__mv-img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.top__head-desc-wrap {
  max-width: 1000px;
  min-height: 443px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 60px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 65px;
  position: relative;
}
@media screen and (max-width: 980px) {
  .top__head-desc-wrap {
    min-height: 354px;
    padding-top: 52px;
  }
}
@media screen and (max-width: 767px) {
  .top__head-desc-wrap {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 0;
    padding: 210px 5% 40px;
  }
}
.top__head-desc-decor {
  position: absolute;
  left: 15.8%;
  width: 378px;
  height: 378px;
  background-color: transparent;
  border: 1px solid #fff;
  border-radius: 50%;
}
@media screen and (max-width: 980px) {
  .top__head-desc-decor {
    width: 302px;
    height: 302px;
  }
}
@media screen and (max-width: 767px) {
  .top__head-desc-decor {
    width: 232px;
    height: 232px;
    top: 0;
    left: unset;
    right: 57.61%;
  }
}
.top__head-desc-txt {
  position: relative;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 2.2222222222em;
  color: #5e5954;
}
@media screen and (max-width: 980px) {
  .top__head-desc-txt {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .top__head-desc-txt {
    margin-left: auto;
    font-size: 1.3rem;
  }
}
.top__head-img {
  width: 378px;
  height: 378px;
  margin-left: 158px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 980px) {
  .top__head-img {
    margin-left: 0;
    width: 310px;
    height: 310px;
  }
}
@media screen and (max-width: 767px) {
  .top__head-img {
    position: absolute;
    width: 232px;
    height: 230px;
    top: 5px;
    right: calc(50% + 30px);
  }
}
.top__features-wrap {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 980px) {
  .top__features-wrap {
    max-width: 800px;
  }
}
@media screen and (max-width: 767px) {
  .top__features-title-wrapper {
    margin-bottom: 15px;
  }
}
.top__features-content {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding-block: 45px 56px;
  isolation: isolate;
}
@media screen and (max-width: 980px) {
  .top__features-content {
    padding-bottom: 36px 44.8px;
  }
}
@media screen and (max-width: 767px) {
  .top__features-content {
    padding-block: 45px;
    gap: 5px;
  }
}
.top__features-content::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 1px;
  background-color: #fff;
  z-index: -1;
}
.top__features-item {
  max-width: 900px;
  width: 90%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .top__features-item {
    max-width: unset;
    width: 100%;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.top__features-item:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-left: auto;
}
.top__features-item:nth-child(even) .top__features-desc-block {
  margin-left: 0;
  margin-right: -40px;
}
@media screen and (max-width: 980px) {
  .top__features-item:nth-child(even) .top__features-desc-block {
    margin-right: -32px;
  }
}
@media screen and (max-width: 767px) {
  .top__features-item:nth-child(even) .top__features-desc-block {
    margin-right: unset;
  }
}
.top__features-desc-block {
  position: relative;
  margin-left: -40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 25px;
  background-color: #fff;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 16px 30px 21px;
  z-index: 2;
  color: #5e5954;
}
@media screen and (max-width: 980px) {
  .top__features-desc-block {
    padding: 15px 20px;
    margin-left: -32px;
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .top__features-desc-block {
    max-width: unset;
    margin-left: auto;
  }
}
.top__features-block-wrap {
  max-width: 522px;
  width: 58%;
}
@media screen and (max-width: 980px) {
  .top__features-block-wrap {
    max-width: 418px;
  }
}
@media screen and (max-width: 767px) {
  .top__features-block-wrap {
    max-width: unset;
    width: 100%;
    padding-left: 15.28%;
    position: relative;
    top: -20px;
  }
}
.top__features-item-img {
  max-width: 417px;
  width: 46.33%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 980px) {
  .top__features-item-img {
    max-width: 334px;
    width: 37.06%;
  }
}
@media screen and (max-width: 767px) {
  .top__features-item-img {
    width: 50%;
    height: 108px;
  }
}
.top__features-number-txt {
  font: 600 1.8rem "Cormorant Infant", serif;
  line-height: 1.8888888889em;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 980px) {
  .top__features-number-txt {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  .top__features-number-txt {
    line-height: 1.8571428571em;
  }
}
.top__features-number {
  display: block;
  font-size: 4.2rem;
  font-weight: 300;
  line-height: 0.8095238095em;
}
@media screen and (max-width: 980px) {
  .top__features-number {
    font-size: 3.4rem;
  }
}
@media screen and (max-width: 767px) {
  .top__features-number {
    font-size: 3.4rem;
    line-height: 0.8235294118em;
  }
}
.top__features-desc-txt-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
.top__features-desc-title {
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.4166666667em;
  color: #5e5954;
}
@media screen and (max-width: 980px) {
  .top__features-desc-title {
    font-size: 1.9rem;
  }
}
@media screen and (max-width: 767px) {
  .top__features-desc-title {
    font-size: 1.6rem;
    line-height: 1.5em;
  }
}
.top__features-desc-txt {
  font-size: 1.3rem;
  line-height: 1.3846153846em;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 980px) {
  .top__features-desc-txt {
    font-size: 1.2rem;
  }
}
.top__features-btn-wrap {
  margin: 31px auto 84px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
}
@media screen and (max-width: 980px) {
  .top__features-btn-wrap {
    margin: 25px auto 67.2px;
  }
}
@media screen and (max-width: 767px) {
  .top__features-btn-wrap {
    margin-top: 30px;
  }
}
.top__features-btn-icon {
  display: block;
  width: 35px;
  height: 35px;
  border: 1px solid #707070;
  position: absolute;
  border-radius: 50%;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .top__features-btn-icon {
    width: 25px;
    height: 25px;
  }
}
.top__features-btn-icon::after {
  content: "";
  width: 27px;
  height: 1px;
  position: absolute;
  left: 50%;
  top: 50%;
  background-color: #707070;
}
@media screen and (max-width: 767px) {
  .top__features-btn-icon::after {
    width: 20px;
  }
}
.top__features-btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 54px;
  font: 600 3rem "Cormorant Infant", serif;
  letter-spacing: 0.055em;
  color: #86817d;
}
@media screen and (max-width: 767px) {
  .top__features-btn {
    font-size: 21px;
    padding-left: 40px;
  }
}
.top__banner-list-item {
  max-width: 385px;
  height: 145px;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .top__banner-list-item {
    max-width: 252px;
    height: 97px;
  }
}
.top__menu {
  margin-top: 210px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top__menu {
    margin-top: 110px;
  }
}
.top__menu::before {
  content: "";
  position: absolute;
  width: 567px;
  height: 567px;
  border: 1px solid #fff;
  border-radius: 50%;
  top: -90px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .top__menu::before {
    width: 277px;
    height: 277px;
    top: -60px;
  }
}
.top__menu-head {
  margin-bottom: -70px;
  z-index: 9;
  position: relative;
}
.top__menu-content {
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 140px 10px 39px;
  z-index: 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top__menu-content {
    padding: 90px 0 50px;
  }
}
.top__category-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 800px;
  width: 100%;
  margin-top: 60px;
  border-bottom: 4px solid #d8d1ca;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .top__category-wrap {
    margin-top: 60px;
    padding: 0 15px;
  }
}
.top__category {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.35em;
  color: #5e5954;
  width: 190px;
  padding: 5px 0 6px;
  text-align: center;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .top__category {
    font-size: 1.6rem;
    line-height: 1.3125em;
  }
}
.top__category--active {
  background-color: #d8d1ca;
}
.top__menu-list {
  max-width: 800px;
  width: 100%;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 27px;
  margin-top: 24px;
  display: none;
}
@media screen and (max-width: 980px) {
  .top__menu-list {
    gap: 0 20px;
  }
}
@media screen and (max-width: 767px) {
  .top__menu-list {
    grid-template-columns: repeat(3, 1fr);
    padding: 0 15px;
  }
}
.top__menu-list--active {
  display: grid;
}
.top__menu-list-item {
  font-size: 1.3rem;
  font-weight: 500;
  padding: 8px 0;
  color: #5e5954;
  max-width: 180px;
  width: 100%;
  margin-bottom: 12px;
  position: relative;
  text-align: center;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  cursor: pointer;
  display: block;
}
.top__menu-list-item.is-current {
  background-color: #d8d1ca;
}
@media (hover: hover) {
  .top__menu-list-item:hover {
    background-color: #d8d1ca;
  }
}

@media screen and (max-width: 980px) {
  .top__menu-list-item {
    font-size: 1.2rem;
  }
}
.top__menu-list-item::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: #d8d1ca;
  bottom: 0px;
  left: 0;
}
.top__menu-list-item:hover {
  opacity: 0.8;
}
.top__list {
  display: none;
  overflow: hidden;
  position: relative;
  background-color: #fff;
  padding: 15px 10px 100px;
  isolation: isolate;
}
@media screen and (max-width: 767px) {
  .top__list {
    padding-bottom: 50px;
  }
}
.top__list.active {
  display: block;
}
.top__list-content {
  position: relative;
  max-width: 800px;
  margin: auto;
  background-color: #d8d1ca;
  padding-bottom: 15px;
  isolation: isolate;
}
.top__list-content::before {
  content: "";
  position: absolute;
  top: 0;
  right: -100%;
  left: -100%;
  bottom: 0;
  margin: auto;
  display: block;
  width: 38.88%;
  aspect-ratio: 1/1;
  border: 1px solid #fff;
  border-radius: 50%;
  -webkit-transition: 0.7s ease;
  transition: 0.7s ease;
  z-index: -1;
}
.top__list-content.active {
  padding-bottom: 50px;
}
.top__list-content.active::before {
  width: 100.13%;
}
@media screen and (max-width: 767px) {
  .top__list-content.active::before {
    width: 120%;
  }
}
.top__list-head {
  text-align: center;
  position: relative;
  top: -15px;
  margin-bottom: 0;
}
.top__list-head span {
  display: block;
}
.top__list-head.active {
  margin-bottom: 33px;
}
.top__list-subheading {
  margin-top: 0;
  color: #5e5954;
}
.top__list-accordion {
  display: grid;
  grid-template-rows: 0fr;
  -webkit-transition: 0.7s ease;
  transition: 0.7s ease;
}
.top__list-accordion.active {
  grid-template-rows: 1fr;
  margin-top: 10px;
}
.top__list-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  gap: 15px 0;
  padding-inline: 3.63%;
  overflow: hidden;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .top__list-row {
    gap: 0;
    justify-content: space-between;
  }
}
.top__list-cat-label {
  position: relative;
  display: block;
  margin: 20px 0 25px;
  width: 100%;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 700;
  isolation: isolate;
}
.top__list-cat-label::before {
  content: "";
  position: absolute;
  bottom: -10px;
  margin: auto;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #86817d;
  z-index: -1;
}
.top__list-item {
  width: 33.3333333333%;
  display: block;
  font-size: 1.3rem;
  line-height: 1.4em;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  padding-right: 1em;
}
.top__list-item:last-child {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .top__list-item {
    width: 47%;
    margin-bottom: 12px;
    line-height: 1.4;
    padding: 0;
  }
  .top__list-item:last-child {
    margin-bottom: 30px;
  }
}
.top__list-item:hover {
  opacity: 0.8;
}
.top__list-button {
  position: absolute;
  right: 0;
  bottom: -36px;
  left: 0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1px;
  width: 55px;
  height: 55px;
  margin: 0 auto;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #d8d1ca;
  cursor: pointer;
  -webkit-transition: 0.7s ease;
  transition: 0.7s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.top__list-button::before {
  content: "OPEN";
  font-size: 1.3rem;
  font-family: "Cormorant Infant", serif;
  font-weight: 700;
  color: #86817d;
}
.top__list-button::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 12px solid #d8d1ca;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  -webkit-transition: 0.7s ease;
  transition: 0.7s ease;
}
.top__list-button:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  opacity: 0.8;
}
.top__list-button.active::before {
  content: "Close";
}
.top__list-button.active::after {
  -webkit-transform: scale(-1, -1);
          transform: scale(-1, -1);
}

.features {
  font-family: "Shippori Mincho B1", serif;
}
.features__hero {
  padding-block: 270px 93px;
  background: #d8d1ca;
}
@media screen and (max-width: 767px) {
  .features__hero {
    padding-block: 159px 82px;
  }
}
.features__hero-ctr {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
  max-width: 91.5%;
  margin-left: auto;
}
@media screen and (max-width: 980px) {
  .features__hero-ctr {
    max-width: 95%;
  }
}
@media screen and (max-width: 767px) {
  .features__hero-ctr {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 100%;
    gap: 51.9px;
  }
}
.features__hero-ctr::before {
  content: "";
  border: 1px solid #fff;
  border-radius: 50%;
  width: 336px;
  height: 336px;
  position: absolute;
  top: -165px;
  left: -20.5%;
}
@media screen and (max-width: 980px) {
  .features__hero-ctr::before {
    left: -18%;
  }
}
@media screen and (max-width: 767px) {
  .features__hero-ctr::before {
    width: 185px;
    height: 185px;
    top: -99px;
    left: -88px;
  }
}
.features__hero-title {
  width: 100%;
  max-width: 479px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: absolute;
  top: -55px;
  right: 56.87%;
  margin-bottom: unset;
}
@media screen and (max-width: 1032px) {
  .features__hero-title {
    right: 52%;
  }
}
@media screen and (max-width: 980px) {
  .features__hero-title {
    right: unset;
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  .features__hero-title {
    max-width: 100%;
    position: unset;
    padding: 0 3%;
  }
}
.features__hero-heading {
  color: transparent;
  background: -webkit-gradient(linear, left top, left bottom, from(#86817d), to(#86817d));
  background: linear-gradient(to bottom, #86817d 0%, #86817d 100%);
  -webkit-background-clip: text;
          background-clip: text;
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100% 0;
  -webkit-animation: scroll-in 2s forwards;
          animation: scroll-in 2s forwards;
}
@media screen and (max-width: 980px) {
  .features__hero-heading {
    font-size: 8.7rem;
  }
}
@media screen and (max-width: 767px) {
  .features__hero-heading {
    font-size: 53px;
  }
}
@-webkit-keyframes scroll-in {
  to {
    background-size: 100% 100%;
  }
}
@keyframes scroll-in {
  to {
    background-size: 100% 100%;
  }
}
.features__hero-subheading {
  display: block;
  margin-top: 15px;
  font-size: 1.8rem;
  font-weight: 700;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 1px solid #707070;
  padding-bottom: 8.5px;
}
@media screen and (max-width: 767px) {
  .features__hero-subheading {
    font-size: 12px;
    margin-top: 6px;
    padding-bottom: 6px;
    letter-spacing: 0.01em;
    line-height: 1.3333333333em;
  }
}
.features__hero-img {
  width: 60.13%;
}
.features__hero-img iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}
@media screen and (max-width: 767px) {
  .features__hero-img {
    width: 100%;
    height: 209px;
  }
}
@media screen and (max-width: 767px) {
  .features__hero-img img {
    height: 100%;
  }
}
.features__intro {
  position: relative;
  background: #d8d1ca;
  padding-bottom: 63px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .features__intro {
    padding-bottom: 13px;
  }
}
.features__intro::before {
  content: "";
  border: 1px solid #fff;
  border-radius: 50%;
  width: 675px;
  height: 675px;
  display: block;
  position: absolute;
  bottom: -90px;
  left: -3%;
  z-index: -2;
}
@media screen and (max-width: 767px) {
  .features__intro::before {
    display: none;
  }
}
.features__intro-ctr {
  position: relative;
  width: 100%;
  max-width: 1032px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 1032px) {
  .features__intro-ctr {
    padding-inline: 5%;
  }
}
@media screen and (max-width: 767px) {
  .features__intro-ctr {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-inline: 3% 0;
  }
}
.features__intro-img {
  width: 100%;
  max-width: 50.1%;
  height: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .features__intro-img {
    width: 83.06%;
    max-width: unset;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  .features__intro-img img {
    height: 100%;
  }
}
.features__intro-content {
  max-width: 569px;
  margin-top: 94px;
  margin-left: -60px;
}
@media screen and (max-width: 767px) {
  .features__intro-content {
    max-width: 100%;
    margin-top: -96px;
    margin-left: 0;
  }
}
.features__intro-content .features__intro-heading:last-of-type {
  margin-bottom: 0;
}
.features__intro-heading {
  background: #fff;
  color: #86817d;
  font-size: 2.3rem;
  font-weight: 700;
  line-height: 2.3913043478em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-inline: 16px 12px;
  margin-bottom: 6px;
}
@media screen and (max-width: 1024px) {
  .features__intro-heading {
    font-size: 2.1rem;
  }
}
@media screen and (max-width: 767px) {
  .features__intro-heading {
    font-size: 17px;
    line-height: 2em;
    margin-bottom: 3px;
    padding-inline: 10px;
  }
}
.features__intro-box {
  color: #86817d;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.8571428571em;
  width: 100%;
  margin-top: 38px;
  padding: 30px 28px 27px 26px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .features__intro-box {
    font-size: 13px;
    line-height: 1.6923076923em;
    padding: 24px 16px 21px 22px;
    margin-top: 21px;
  }
}
.features__intro-pos-name {
  margin-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 13px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-left: auto;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
@media screen and (max-width: 767px) {
  .features__intro-pos-name {
    margin-top: 20px;
    gap: 11px;
  }
}
.features__intro-pos {
  margin-left: auto;
  text-align: end;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .features__intro-pos {
    font-size: 12px;
  }
}
.features__intro-name {
  margin-left: auto;
  font-size: 2.4rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .features__intro-name {
    font-size: 18px;
  }
}
.features__list {
  position: relative;
  background: #d8d1ca;
  padding-bottom: 214px;
}
@media screen and (max-width: 767px) {
  .features__list {
    padding-bottom: 107px;
  }
}
.features__list-ecli {
  width: 100%;
  max-width: 1084px;
  margin: 0 auto;
  height: auto;
  position: sticky;
  top: 0;
  z-index: 1;
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
}
@media screen and (max-width: 1084px) {
  .features__list-ecli {
    padding-inline: 5%;
  }
}
@media screen and (max-width: 767px) {
  .features__list-ecli {
    max-width: 95.28%;
    padding-inline: 3%;
  }
}

.blandstate {
  position: relative;
  z-index: 2;
  &:after {
    content: "";
    position: absolute;
    bottom: 70px;
    left: calc(50% - 120px);
    width: 1024px;
    height: 1024px;
    border: 1px solid #fff;
    border-radius: 50%;
    z-index: -1;
    @media screen and (max-width: 750px){
      width: 546px;
      height: 546px;
      left: 27%;
      bottom: 30px;
    }
  }
}
.blandstate__title {
  text-align: center;
  .en {
    display: block;
    font-size: 53px;
    font-weight: 200;
    @media screen and (max-width: 750px){
      font-size: 30px;
    }
  }
  .ja {
    display: block;
    font-size: 16px;
    font-weight: 500;
    @media screen and (max-width: 750px){
      font-size: 12px;
    }
  }
}
.blandstate__text {
  text-align: center;
  font-size: 16px;
  line-height: 3;
  margin-top: 120px;
  @media screen and (max-width: 750px){
    font-size: 13px;
    margin-top: 80px;
    padding: 0 3%;
    text-align: left;
  }
}
.blandstate__img {
  margin-top: 120px;
  width: 60%;
  @media screen and (max-width: 750px){
    margin-top: 70px;
    width: 75%;
  }
  img {
    max-width: 100%;
  }
}

.features__list-ctr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 105px;
  width: 100%;
  max-width: 1000px;
  margin: 350px auto 0;
  counter-reset: features-list;
}
@media screen and (max-width: 1000px) {
  .features__list-ctr {
    padding-inline: 5%;
  }
}
@media screen and (max-width: 767px) {
  .features__list-ctr {
    max-width: 100%;
    padding-inline: 0;
    margin: 120px auto 0;
    gap: 78px;
  }
}
.features__list-blk {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .features__list-blk {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.features__list-blk:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.features__list-blk:nth-child(even) .features__list-img {
  left: 0;
}
.features__list-blk:nth-child(even) .features__list-title {
  margin-left: auto;
  margin-right: 13.3%;
}
@media screen and (max-width: 1000px) {
  .features__list-blk:nth-child(even) .features__list-title {
    margin-right: 5%;
  }
}
@media screen and (max-width: 767px) {
  .features__list-blk:nth-child(even) .features__list-title {
    margin: 110px auto 35px;
  }
}
.features__list-content {
  z-index: 3;
}
@media screen and (max-width: 767px) {
  .features__list-content {
    padding-inline: 3%;
  }
}
.features__list-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 13px;
  text-align: center;
  margin-left: 12.5%;
  margin-bottom: 38px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 1000px) {
  .features__list-title {
    margin-left: 5%;
  }
}
@media screen and (max-width: 767px) {
  .features__list-title {
    gap: 3px;
    margin: 110px auto 35px;
  }
}
.features__list-counter-blk {
  position: relative;
}
.features__list-heading {
  color: #5e5954;
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1.5454545455em;
}
@media screen and (max-width: 767px) {
  .features__list-heading {
    font-size: 20px;
  }
}
.features__list-counter::before {
  counter-increment: features-list;
  content: "0" counter(features-list);
  color: #86817d;
  font: 300 12.3rem "Cormorant Infant", serif;
}
@media screen and (max-width: 767px) {
  .features__list-counter::before {
    font-size: 94px;
  }
}
.features__list-subheading {
  color: #86817d;
  font: 600 1.9rem "Cormorant Infant", serif;
  letter-spacing: -0.021em;
  position: absolute;
  top: 50%;
  left: -26px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .features__list-subheading {
    font-size: 14px;
    left: -19px;
  }
}
.features__list-box {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2.0714285714em;
  letter-spacing: 0.06em;
  background: #fff;
  max-width: 656px;
  padding: 30px 33px;
}
@media screen and (max-width: 767px) {
  .features__list-box {
    font-size: 13px;
    line-height: 1.5384615385em;
    max-width: 100%;
    padding: 20px 17px;
  }
}
.features__list-img {
  width: 100%;
  max-width: 49.9%;
  height: 300px;
  position: absolute;
  right: 0;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .features__list-img {
    max-width: 69.72%;
    height: 151px;
  }
}
.features__list-img img {
  height: 100%;
}

.features__lower-content {
  position: relative;
  color: #86817d;
  overflow: hidden;
}
.features__lower-content::after {
  content: "";
  position: absolute;
  width: 77.42%;
  max-width: 929px;
  aspect-ratio: 1/1;
  border: 1px solid #d8d1ca;
  border-radius: 50%;
  top: -6.06%;
  right: -100%;
  left: -100%;
  margin: auto;
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  .features__lower-content::after {
    min-width: 795px;
  }
}
@media screen and (max-width: 767px) {
  .features__lower-content::after {
    min-width: unset;
    width: 548px;
    top: -2%;
  }
}
.features__lower-section-content {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  padding-top: 120px;
}
@media screen and (max-width: 800px) {
  .features__lower-section-content {
    max-width: 100%;
    padding: 105px 5% 0;
  }
}
.features__lower-section-content--mw590 {
  max-width: 590px;
  width: 100%;
}
.features__lower-section-content--facemaking {
  padding-top: 380px;
}
@media screen and (max-width: 767px) {
  .features__lower-section-content--facemaking {
    padding-top: 154px;
  }
}
.features__lower-section-content--unset {
  max-width: 100%;
  margin: unset;
  padding: 80px 0 238px;
}
@media screen and (max-width: 767px) {
  .features__lower-section-content--unset {
    padding: 28px 0 86px;
  }
}
.features__lower-section-content--pt0 {
  padding-top: 0;
}
.features__lower-section-content--pt65 {
  padding-top: 65px;
}
@media screen and (max-width: 767px) {
  .features__lower-section-content--pt65 {
    padding: 25px 0 68px;
  }
}
.features__lower-text-container {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .features__lower-text-container {
    gap: 5px;
  }
}
.features__lower-section-title {
  font: 400 9rem "Cormorant Infant", serif;
  line-height: 0.3777777778em;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .features__lower-section-title {
    font-size: 53px;
    line-height: 0.4150943396em;
  }
}
.features__lower-section-title--fs64 {
  font-size: 6.4rem;
  line-height: 0.53125em;
  letter-spacing: 0.03em;
  position: relative;
  margin-bottom: 250px;
}
@media screen and (max-width: 767px) {
  .features__lower-section-title--fs64 {
    font-size: 38px;
    line-height: 1.1052631579em;
    text-align: center;
    margin-bottom: 82px;
  }
}
.features__lower-section-title--fs64::after {
  content: "";
  position: absolute;
  width: 160px;
  height: 3px;
  background-color: #86817d;
  bottom: -50px;
  left: 50%;
  -webkit-transform: translate(-50%, 50%);
          transform: translate(-50%, 50%);
}
@media screen and (max-width: 767px) {
  .features__lower-section-title--fs64::after {
    width: 173px;
    bottom: -13.5px;
  }
}
.features__lower-section-text {
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 2.4285714286em;
  margin-top: 25px;
}
@media screen and (max-width: 767px) {
  .features__lower-section-text {
    font-size: 11px;
    line-height: 2em;
    margin-top: 15px;
  }
}
.features__lower-section-text--mw375 {
  position: absolute;
  top: 0;
  right: 52.08%;
  bottom: 0;
  margin: auto;
  max-width: 375px;
  width: 100%;
  height: -webkit-max-content;
  height: -moz-max-content;
  height: max-content;
  letter-spacing: 0.03em;
  z-index: 1;
}
@media screen and (max-width: 980px) {
  .features__lower-section-text--mw375 {
    right: 49%;
  }
}
@media screen and (max-width: 767px) {
  .features__lower-section-text--mw375 {
    max-width: unset;
    width: 69.17%;
    position: relative;
    margin-inline: 0 auto;
    right: unset;
    font-size: 13px;
    line-height: 1.8461538462em;
    padding-left: 5%;
  }
}
.features__lower-section-text--right {
  right: unset;
  left: 52.08%;
}
@media screen and (max-width: 767px) {
  .features__lower-section-text--right {
    left: unset;
    margin-left: auto;
    margin-right: unset;
    padding-left: unset;
    padding-right: 5%;
  }
}
.features__lower-content-text {
  font-size: 1.4rem;
  letter-spacing: 0.06em;
  line-height: 2.0714285714em;
  margin-top: 40px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .features__lower-content-text {
    font-size: 13px;
    margin-top: 34px;
  }
}
.features__lower-section-content-title {
  font-weight: 400;
  font-size: 2.6rem;
  line-height: 1.3076923077em;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .features__lower-section-content-title {
    font-size: 22px;
    line-height: 1.2727272727em;
    text-align: center;
  }
}
.features__lower-section-content-text {
  font-size: 1.6rem;
  line-height: 2.125em;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .features__lower-section-content-text {
    font-size: 12px;
    line-height: 2.3333333333em;
  }
}
.features__lower-image-wrapper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (min-width: 1600px) {
  .features__lower-image-wrapper {
    max-width: 1200px;
    margin: auto;
  }
}
@media screen and (max-width: 767px) {
  .features__lower-image-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.features__lower-image-wrapper--left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .features__lower-image-wrapper--left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .features__lower-image-wrapper--left .features__lower-image-container {
    margin-left: unset;
    margin-right: auto;
  }
}
.features__lower-image-wrapper--left::after {
  right: unset;
  left: 39.17%;
}
.features__lower-image-wrapper::after {
  content: "";
  position: absolute;
  max-width: 1200px;
  width: 68.58%;
  aspect-ratio: 1/1;
  border: 1px solid #d8d1ca;
  border-radius: 50%;
  top: 0;
  bottom: 0;
  right: 39.17%;
  margin: auto;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .features__lower-image-wrapper::after {
    top: -146px;
    bottom: auto;
    max-width: 546px;
    width: 152%;
    right: 27.22%;
  }
}
.features__lower-image-container {
  width: 60.83%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .features__lower-image-container {
    width: 74.17%;
    margin: 0 0 25px auto;
  }
}
.features__lower-section-image {
  width: 100%;
  height: 100%;
}

.l-detail {
  padding: 60px 0 80px;
  background-color: #D8D1CA;
  font-family: "Shippori Mincho B1", serif;
}
.l-detail__inner {
  max-width: 800px;
  margin: 0 auto;
}
.l-detail__title {
  text-align: center;
}
.l-detail__title .en {
  display: inline-block;
  font-size: 53px;
  font-weight: 300;
  font-family: "Cormorant Infant", serif;
  border-bottom: 1px solid #5E5954;
  position: relative;
  z-index: 2;
  letter-spacing: 0.055em;
  padding-bottom: 6px;
}
.l-detail__title .ja {
  display: block;
  border-top: 1px solid #fff;
  position: relative;
  z-index: 1;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.2em;
  padding-top: 10px;
  top: -1px;
}
.l-detail__links {
  display: flex;
  flex-wrap: wrap;
  padding-top: 40px;
  margin: 0 -6px;
}
.l-detail__links-item {
  margin: 6px;
  width: calc(33.3333333333% - 12px);
}
.l-detail__links-item a {
  display: block;
  width: 100%;
  height: 110px;
  background-color: #fff;
  color: #5E5954;
  padding-top: 24px;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.l-detail__links-item a:hover {
  opacity: 0.8;
}
.l-detail__links-text {
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.l-detail__links-more {
  font-size: 19px;
  font-family: "Cormorant Infant", serif;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 8px;
  letter-spacing: 0.055em;
}
.l-detail__links-more:before {
  content: "";
  background: url(../public/img/icons/circle-line.svg) no-repeat center/contain;
  width: 30px;
  height: 22px;
  display: block;
  margin-right: 6px;
}
@media screen and (max-width: 750px){
  .l-detail {
    padding: 30px 3% 50px;
  }
  .l-detail__title .en {
    font-size: 34px;
  }
  .l-detail__title .ja {
    font-size: 12px;
  }
  .l-detail__links {
    display: block;
    padding-top: 30px;
    margin: 0;
  }
  .l-detail__links-item {
    width: 100%;
    margin: 6px 0 0;
  }
  .l-detail__links-item a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 52px;
    padding: 0 16px 0 12px;
  }
  .l-detail__links-text {
    font-size: 17px;
    letter-spacing: 0.08em;
  }
  .l-detail__links-more {
    font-size: 14px;
  }
  .l-detail__links-more:before {
    width: 24px;
    height: 18px;
  }
}

.l-hero {
  background-color: #D8D1CA;
  padding-top: 184px;
  padding-bottom: 96px;
  font-family: "Shippori Mincho B1", serif;
}
.l-hero__inner {
  position: relative;
  max-width: 91.5%;
  margin-left: auto;
  display: flex;
  justify-content: flex-end;
}
.l-hero__inner:before {
  content: "";
  border: 1px solid #fff;
  border-radius: 50%;
  width: 336px;
  height: 336px;
  position: absolute;
  top: -165px;
  left: -20.5%;
}
.l-hero__title {
  position: absolute;
  top: 50px;
  left: 0px;
  width: 100%;
}
.l-hero__title .en {
  display: block;
  font-size: 97px;
  font-family: "Cormorant Infant", serif;
  font-weight: 300;
  letter-spacing: 0.055em;
  line-height: 1;
}
.l-hero__title .ja {
  display: inline-block;
  margin-top: 15px;
  font-size: 18px;
  font-weight: 700;
  border-bottom: 1px solid #707070;
  padding-bottom: 8.5px;
  letter-spacing: 0.2em;
}
.l-hero__img {
  width: 60.13%;
}
.l-hero #bread_crumb,
.menu-single__hero #bread_crumb,
.page__hero #bread_crumb,
.l-archive__hero #bread_crumb {
  background-color: transparent;
  border-style: none;
  position: absolute;
  width: 100%;
  top: 110px;
  left: 0px;
  padding-left: 4.58%;
}
.l-hero #bread_crumb ul,
.menu-single__hero #bread_crumb ul,
.page__hero #bread_crumb ul,
.l-archive__hero #bread_crumb ul {
  width: auto;
}
.l-hero #bread_crumb li,
.menu-single__hero #bread_crumb li,
.page__hero #bread_crumb li,
.l-archive__hero #bread_crumb li {
  line-height: 1.5;
}
#bread_crumb li.home a {
  text-indent: 0;
  width: auto;
  height: auto;
  display: inline;
  position: static;
}
#bread_crumb li.home a:before { display:none; }
@media screen and (max-width: 767px) {
  .l-hero {
    padding-top: 180px;
    padding-bottom: 44px;
  }
  .l-hero__inner {
    width: 100%;
    max-width: initial;
    padding-left: 4%;
  }
  .l-hero__img {
    width: 58%;
  }
  .l-hero__inner:before {
      width: 185px;
      height: 185px;
      top: -99px;
      left: -88px;
  }
  .l-hero__title {
    left: 4%;
    top: -30px;
  }
  .l-hero__title .en {
    font-size: 53px;
  }
  .l-hero__title .ja {
    font-size: 12px;
  }
  .l-hero #bread_crumb,
  .menu-single__hero #bread_crumb,
  .page__hero #bread_crumb {
    top: 64px;
    padding-left: 5.26%;
  }
  .l-hero #bread_crumb ul,
  .menu-single__hero #bread_crumb ul,
  .page__hero #bread_crumb ul {
    padding: 0;
  }
}

.l-container-min {
  max-width: 800px;
  margin: 0 auto;
}
.title-primary {
  text-align: center;
}
.title-primary .en {
  display: inline-block;
  font-size: 53px;
  font-weight: 300;
  font-family: "Cormorant Infant", serif;
  border-bottom: 1px solid #5E5954;
  position: relative;
  z-index: 2;
  letter-spacing: 0.055em;
  padding-bottom: 6px;
}
.title-primary .ja {
  display: block;
  border-top: 1px solid #D8D1CA;
  position: relative;
  z-index: 1;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.2em;
  padding-top: 10px;
  top: -1px;
}
.title-primary.-white .ja {
  border-top-color: #fff;
}
.title-primary.-small .en {
  font-size: 32px;
}
.title-secondary {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.04em;
  margin-bottom: 10px;
}
.title-secondary a {
  text-decoration: underline;
}
.title-secondary:before {
  content: "－ ";
}
@media screen and (max-width: 767px) {
  .title-primary .en {
    font-size: 34px;
  }
  .title-primary .ja {
    font-size: 12px;
  }
  .title-secondary {
    font-size: 15px;
  }
}

.doctor {
  font-family: "Shippori Mincho B1", serif;
  padding-bottom: 180px;
}
.doctor img {
  max-width: 100%;
  height: auto;
}
.doctor__director {
  padding-top: 90px;
}
.doctor__director-inner {
  padding-top: 20px;
  margin-top: 60px;
  position: relative;
}
.doctor__director-thumb {
  position: absolute;
  top: 0px;
  right: 0px;
  z-index: -1;
  max-width: 534px;
}
.doctor__director-job {
  font-size: 16px;
  line-height: 1.5;
}
.doctor__director-name {
  font-size: 31px;
  font-weight: 500;
  margin-top: 18px;
}
.doctor__director-sns {
  display: flex;
  align-items: center;
  margin-top: 20px;
}
.doctor__director-sns li {
  margin-right: 15px;
}
.doctor__director-history {
  margin-top: 40px;
}
.doctor__director-text {
  max-width: 326px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.7;
}
.doctor__director-join {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
}
.doctor__director-join-flex {
  display: flex;
  justify-content: space-between;
  width: 78.8%;
}
.doctor__director-join-list {
  width: 48%;
}
.doctor__director-join-list li {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.7;
}
.doctor__director-message {
  margin-top: 2em;
  font-size: 16px;
  line-height: 1.7;
  font-weight: 600;
}
.doctor__staff {
  margin-top: 90px;
}
.doctor__staff-item {
  padding-top: 120px;
  display: flex;
  justify-content: space-between;
  padding-right: 35px;
  padding-left: 94px;
  position: relative;
}
.doctor__staff-item:before {
  content: "";
  width: 365px;
  height: 365px;
  border: 1px solid #D8D1CA;
  border-radius: 50%;
  position: absolute;
  z-index: -1;
  top: 52px;
  left: -44px;
}
@media screen and (min-width: 768px){
  .doctor__staff-item:nth-child(2n) {
    flex-direction: row-reverse;
    padding-right: 94px;
    padding-left: 35px;
  }
  .doctor__staff-item:nth-child(2n):before {
    left: auto;
    right: -44px;
  }
}
.doctor__staff-left {
  width: 276px;
}
.doctor__staff-right {
  width: 326px;
}
.doctor__staff-job {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
.doctor__staff-name {
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
.doctor__staff-history {
  margin-top: 24px;
}
.doctor__staff-join-text {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 10px;
}
.doctor__staff-join {
  margin-top: 24px;
}
.doctor__staff-join-list {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 10px;
}
.doctor__staff-more {
  text-align: center;
}
.doctor__staff-more a {
  text-decoration: none;
  color: inherit;
  font-size: 18px;
  font-weight: 600;
  transition: opacity 0.3s ease;
}
.doctor__staff-more a:before {
  content: "";
  background: url(../public/img/icons/circle-line.svg) no-repeat left center/contain;
  width: 30px;
  height: 22px;
  display: inline-block;
  margin-right: 8px;
  vertical-align: -4px;
}
.doctor__staff-more a:hover {
  opacity: 0.5;
}

.doctor__staff-item.has-message {
  flex-wrap: wrap;
}
.doctor__staff-message {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 1em;
}


@media screen and (max-width: 767px) {
  .doctor {
    padding-bottom: 120px;
  }
  .doctor__director {
    padding-top: 64px;
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .doctor__director-inner {
    margin-top: 36px;
    padding-top: 0;
  }
  .doctor__director-thumb {
    position: static;
    margin-left: 20%;
    position: relative;
    right: -4vw;
  }
  .doctor__director-job {
    margin-top: 36px;
    font-size: 13px;
  }
  .doctor__director-name {
    font-size: 28px;
    margin-top: 10px;
  }
  .doctor__director-sns {
    margin-top: 18px;
  }
  .doctor__director-history {
    margin-top: 20px;
  }
  .doctor__director-text {
    font-size: 13px;
    max-width: initial;
  }
  .doctor__director-join {
    display: block;
  }
  .doctor__director-join-flex {
    display: block;
  }
  .doctor__director-join-list {
    width: 100%;
    font-size: 13px;
  }
  .doctor__staff {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .doctor__staff-item {
    padding: 95px 0 0;
    flex-direction: column;
  }
  .doctor__staff-item:before {
    width: 333px;
    height: 333px;
    top: 15px;
    left: -172px;
  }
  .doctor__staff-item:nth-child(2n):before {
    right: -172px;
    left: auto;
  }
  .doctor__staff-left {
    display: contents;
  }
  .doctor__staff-thumb {
    width: 74%;
    margin: 0 auto;
    order: 1;
  }
  .doctor__staff-message {
    order: 3;
  }
  .doctor__staff-right {
    width: 100%;
    margin-top: 24px;
    order: 2;
  }
  .doctor__staff-job {
    font-size: 15px;
    text-align: center;
  }
  .doctor__staff-name {
    font-size: 26px;
    text-align: center;
  }
  .doctor__staff-history {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #D8D1CA;
  }
  .doctor__staff-join {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #D8D1CA;
  }
  .doctor__staff-join-text {
    font-size: 13px;
  }
  .doctor__staff-list-text {
    font-size: 13px;
  }
  
}

.about {
  font-family: "Shippori Mincho B1", serif;
  padding-bottom: 180px;
}
.about img {
  max-width: 100%;
  height: auto;
}
.about__flow {
  padding-top: 90px;
  position: relative;
}
.about__flow:before {
  content: "";
  width: 930px;
  height: 930px;
  border-radius: 50%;
  border: 1px solid #D8D1CA;
  position: absolute;
  top: -365px;
  left: calc(50% - 465px);
  z-index: -1;
}
.about__flow-title {
  text-align: center;
}
.about__flow-title .en {
  display: block;
  font-size: 90px;
  letter-spacing: 0.03em;
  font-family: "Cormorant Infant", serif;
  line-height: 1.3;
  font-weight: normal;
}
.about__flow-title .ja {
  font-size: 14px;
}
.about__flow-copy {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.08em;
  text-align: center;
  margin-top: 50px;
}
.about__flow-copy p {
  display: inline-block;
  max-width: 590px;
  text-align: left;
}
.about__flow-list {
  margin: 300px auto 0;
  max-width: 800px;
}
.about__flow-item {
  margin-top: 110px;
  display: flex;
  justify-content: space-between;
  padding-left: 68px;
}
.about__flow-item:first-child {
  margin-top: 0;
}
.about__flow-thumb {
  padding-top: 55px;
  position: relative;
  width: 286px;
}
.about__flow-num {
  position: absolute;
  font-size: 110px;
  font-weight: 300;
  line-height: 1;
  font-family: "Cormorant Infant", serif;
  right: 0px;
  top: -18px;
}
.about__flow-step {
  position: absolute;
  left: -20px;
  top: 55px;
  writing-mode: vertical-rl;
  font-size: 16px;
  font-weight: 500;
  font-family: "Cormorant Infant", serif;
  letter-spacing: 0.1em;
}
.about__flow-right {
  width: 368px;
}
.about__flow-h3 {
  font-size: 28px;
  font-weight: 400;
}
.about__flow-text {
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.024em;
  margin-top: 24px;
}
.about__flow-text a {
  text-decoration: underline;
}
.about__gallery {
  margin-top: 220px;
  padding: 12.5vw 0 10vw;
  background-color: #D8D1CA;
  position: relative;
}
.about__gallery-title {
  position: absolute;
  width: 100%;
  text-align: center;
  top: -78px;
  left: 0px;
}
.about__gallery-title .en {
  display: block;
  font-size: 97px;
  letter-spacing: 0.055em;
  font-family: "Cormorant Infant", serif;
  line-height: 1.3;
  font-weight: 300;
}
.about__gallery-title .ja {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.2em;
}
.about__gallery:before {
  content: "";
  width: 77.5vw;
  height: 77.5vw;
  position: absolute;
  border: 1px solid #fff;
  border-radius: 50%;
  right: -15vw;
  bottom: 10vw;
  z-index: 1;
}
.about__gallery-slide {
  z-index: 2;
}
.about__gallery-slide figure {
  width: 355px;
  padding: 0 5px;
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: flex-end;
}
.about__gallery-slide .slick-track {
  display: flex;
}
.about__gallery-slide .slick-slide {
  float: none;
  height: auto;
}
.about__gallery-slide .slick-slide div {
  height: 100%;
}
.ani-fade-up {
  opacity: 0;
  transform: translateY(50px);
  transition: transform 0.8s, opacity 0.8s;
}
.ani-fade-up.is-active {
  opacity: 1;
  transform: translateY(0);
}
.about__access {
  margin-top: 110px;
}
.about__access-inner {
  max-width: 800px;
  margin: 0 auto;
}
.about__access-map {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
}
.about__access-map-left {
  flex: 1;
  margin-right: 1em;
  font-size: 16px;
  letter-spacing: 0.04em;
  line-height: 1.5;
}
.about__access-map-right {
  width: 540px;
}
.about__access-map-right iframe {
  width: 100%;
  height: 312px;
}
.about__navi {
  margin-top: 54px;
  padding-top: 70px;
  border-top: 1px solid #D8D1CA;
}
.about__navi-text {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  text-align: center;
}
.about__navi-tabs {
  margin-top: 75px;
  display: flex;
  justify-content: center;
  border-bottom: 4px solid #D8D1CA;
}
.about__navi-tabs li {
  background-color: #F1F1F1;
  width: 178px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-size: 18px;
  font-weight: 500;
  margin: 0 2px;
}
.about__navi-tabs li.is-current {
  background-color: #D8D1CA;
}
@media (hover: hover) {
  .about__navi-tabs li:hover {
    background-color: #D8D1CA;
    cursor: pointer;
  }
}
.about__navi-content-block {
  display: none;
}
.about__navi-content-block.is-show {
  display: block;
}
.about__navi-content-list {
  margin: 0 -5px;
  display: flex;
  justify-content: center;
}
.about__navi-content-item {
  margin: 35px 5px 0;
  width: calc(25% - 10px);
}
.about__navi-content-thumb {
  max-width: 192px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}
.about__navi-content-thumb .num {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  position: absolute;
  top: -38px;
  left: -38px;
  background-color: #fff;
  font-size: 24px;
  font-family: "Cormorant Infant", serif;
  padding: 40px 0 0 42px;
}
.about__navi-content-text {
  font-size: 13px;
  letter-spacing: 0.04em;
  margin-top: 15px;
  line-height: 1.5;
}
@media screen and (max-width: 767px){
  .about {
    padding-bottom: 60px;
  }
  .about__flow {
    padding-top: 60px;
  }
  .about__flow:before {
    width: 454px;
    height: 454px;
    top: -32px;
    left: calc(50% - 227px);
  }
  .about__flow-title .en {
    font-size: 64px;
  }
  .about__flow-title .ja {
    font-size: 12px;
  }
  .about__flow-copy {
    margin-top: 36px;
    font-size: 13px;
    padding: 0 3%;
  }
  .about__flow-list {
    margin-top: 190px;
    padding: 0 3%;
  }
  .about__flow-item {
    margin-top: 100px;
    display: block;
    padding-left: 0;
  }
  .about__flow-item:first-child {
    margin-top: 0;
  }
  .about__flow-thumb {
    width: 100%;
    padding-left: 25.4%;
    padding-top: 0;
  }
  .about__flow-num {
    font-size: 30vw;
    left: 0px;
    right: auto;
    top: 50%;
    transform: translateY(-50%);
  }
  .about__flow-step {
    top: 0px;
    left: calc(25.4% - 20px);
    font-size: 11px;
  }
  .about__flow-right {
    margin-top: 20px;
    width: 100%;
  }
  .about__flow-h3 {
    font-size: 26px;
  }
  .about__flow-text {
    font-size: 13px;
  }
  .about__gallery {
    margin-top: 110px;
    padding: 21.3vw 0 18.6vw;
  }
  .about__gallery:before {
    width: 149vw;
    height: 149vw;
    right: -58.9vw;
    top: 43.3vw;
  }
  .about__gallery-title {
    top: -10vw;
  }
  .about__gallery-title .en {
    font-size: 50px;
  }
  .about__gallery-title .ja {
    font-size: 12px;
  }
  .about__gallery-slide figure {
    width: 86vw;
  }
  .about__access {
    margin-top: 60px;
    padding: 0 3%;
  }
  .about__access-map {
    margin-top: 24px;
    flex-direction: column;
  }
  .about__access-map-left {
    margin-right: 0;
    font-size: 14px;
  }
  .about__access-map-right {
    width: 100%;
    margin-top: 16px;
  }
  .about__access-map-right iframe {
    height: 190px;
  }
  .about__navi {
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid #D8D1CA;
  }
  .about__navi-text {
    font-size: 13px;
    text-align: left;
  }
  .about__navi-tabs {
    margin-top: 50px;
    margin-left: -3vw;
    margin-right: -3vw;
    padding: 0 3vw;
  }
  .about__navi-tabs li {
    flex: 1;
    height: 44px;
    font-size: 16px;
  }
  .about__navi-content-block {
    margin-top: 40px;
  }
  .about__navi-content-list {
    display: block;
    margin: 0;
  }
  .about__navi-content-item {
    margin: 30px 0 0;
    width: 100%;
  }
  .about__navi-content-item:first-child {
    margin-top: 0;
  }
  .about__navi-content-thumb {
    width: 192px;
    margin: 0 auto;
  }
  .about__navi-content-text {
    font-size: 13px;
  }
}

.point {
  font-family: "Shippori Mincho B1", serif;
}
.point p {
  line-height: 1.5;
}
.point img {
  max-width: 100%;
  height: auto;
}
.point__navi {
  padding-top: 90px;
}
.point__navi-list {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  border-bottom: 2px solid #D8D1CA;
}
.point__navi-list li {
  width: 212px;
}
.point__navi-list li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 40px;
}
.point__navi-list li a:hover {
  background-color: #D8D1CA;
}
.point__eyecatch {
  margin-top: 50px;
}
.point__eyecatch-inner {
  max-width: 960px;
  margin: 0 auto;
  padding-left: 100px;
  position: relative;
}
.point__eyecatch-bg {
  position: relative;
}
.point__eyecatch-bg:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: -100px;
  bottom: -30px;
  background-color: #D8D1CA;
}
.point__eyecatch-bg img {
  position: relative;
  z-index: 2;
}
.point__eyecatch-title {
  position: absolute;
  top: 130px;
  left: 70px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.point__eyecatch-title span {
  display: inline-block;
  font-size: 32px;
  font-weight: bold;
  letter-spacing: .2em;
  background-color: #fff;
  margin: 3px 0;
  padding: 8px 14px 8px 20px;
}
.point__about {
  padding-top: 100px;
  max-width: 800px;
  margin: 0 auto;
}
.point__about-inner {
  max-width: 600px;
  margin: 0 auto;
}
.point-h2 {
  position: relative;
  text-align: center;
  padding-bottom: 30px;
  border-bottom: 1px solid #D8D1CA;
  margin-bottom: 60px;
}
.point-h2:after {
  content: "";
  width: 204px;
  height: 1px;
  background-color: #5E5954;
  position: absolute;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
}
.point-h2 .ja {
  font-size: 37px;
  font-weight: 500;
  letter-spacing: 0.2em;
}
.point-h2 .en {
  position: absolute;
  right: 0px;
  bottom: 10px;
  font-size: 23px;
  font-weight: 300;
  color: #D8D1CA;
  letter-spacing: 0.055em;
}
.point-h2.-white {
  border-color: #F1F1F1;
}
.point-h2.-white .en {
  color: #F1F1F1;
}
.point-h4 {
  margin-bottom: 50px;
  text-align: center;
  font-size: 21px;
  font-weight: 500;
}
.point__about-list li {
  margin-bottom: 10px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.2em;
  background-color: #D8D1CA;
}
.point__about-list li:before {
  content: "";
  background: url(../public/img/icons/check.svg) no-repeat center/contain;
  width: 21px;
  height: 21px;
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
}
.point__about-list li .large {
  font-size: 21px;
}
.point__about-list li:last-child {
  margin-bottom: 0;
}
.point__about-caution {
  margin-top: 20px;
  font-size: 14px;
  margin-bottom: 70px;
}
.point-h3 {
  margin-bottom: 45px;
  border-bottom: 1px solid #D8D1CA;
  padding-bottom: 15px;
  position: relative;
  font-size: 21px;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.1em;
}
.point-h3:after {
  content: "";
  width: 204px;
  height: 1px;
  background-color: #5E5954;
  position: absolute;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
}
.point__about-text {
  font-size: 15px;
  letter-spacing: 0.025em;
}
.point__per {
  margin-top: 120px;
  padding: 80px 0 170px;
  background-color: #D8D1CA;
}
.point__per-inner {
  max-width: 800px;
  margin: 0 auto;
}
.point__per-img {
  position: relative;
  margin-top: 50px;
}
.point__per-img .smart {
  width: 218px;
  text-align: center;
  position: absolute;
  left: 0px;
  top: -70px;
}
.point__per-img .smart img {
  display: inline;
}
.point__per-caution {
  margin-top: 20px;
  font-size: 14px;
}
.point__rank {
  background-color: #C5B8A6;
  padding-right: 100px;
}
.point__rank-inner {
  background-color: #fff;
  position: relative;
  top: -100px;
  padding: 70px 0 70px 100px;
}
.point__rank-container {
  max-width: 645px;
  margin: 0 auto;
}
.point__rank-list {
  margin-left: 50px;
}
.point__rank-list li {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}
.point__rank-list li:last-child {
  margin-bottom: 0;
}
.point__rank-list li .icon {
  margin-right: 34px;
  width: 40px;
}
.point__rank-list li .icon img {
  margin: 0 auto;
}
.point__rank-list li .text {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.024em;
}
.point__rank-list li .text .medium {
  font-size: 18px;
}
.point__rank-list li .text .large {
  font-size: 21px;
}
.point__mypage {
  background-color: #C5B8A6;
  padding-left: 100px;
}
.point__mypage-inner {
  background-color: #fff;
  padding: 96px 100px 64px 0px;
}
.point__mypage .point-h2 {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.point__mypage-step {
  max-width: 800px;
  margin: 0 auto;
}
.point__mypage-step-item {
  margin-bottom: 30px;
  display: flex;
  padding-left: 70px;
}
.point__mypage-step-item:last-child {
  margin-bottom: 0;
}
.point__mypage-step-left {
  width: 390px;
  padding-top: 80px;
}
.point__mypage-step-num {
  font-size: 21px;
  font-weight: 500;
  letter-spacing: 0.103em;
  padding-bottom: 30px;
  border-bottom: 1px solid #D8D1CA;
}
.point__mypage-step-num .large {
  font-size: 33px;
}
.point__mypage-step-text {
  padding: 70px 0 0 70px;
  font-size: 18px;
  font-weight: 500;
}
.point__view {
  padding-left: 100px;
  background-color: #C5B8A6;
}
.point__view-inner {
  background-color: #fff;
  padding: 64px 100px 64px 0px;
}
.point__view-container {
  max-width: 645px;
  margin: 0 auto;
}
.point__view-text {
  padding: 25px 0 0 70px;
  font-size: 18px;
  font-weight: 500;
}
.point__view-bg {
  height: 600px;
  position: relative;
  background: url(../public/img/point/bg_view.jpg) no-repeat center/cover;
}
.point__view-img {
  position: absolute;
  right: calc(50% - 360px);
  top: -120px;
}
@media screen and (max-width: 767px){
  .point__navi {
    display: none;
  }
  .point__eyecatch {
    margin-top: 30px;
    padding: 0 30px;
  }
  .point__eyecatch-inner {
    padding-left: 0;
  }
  .point__eyecatch-bg:before {
    left: -30px;
    bottom: -10px;
  }
  .point__eyecatch-title {
    top: 50px;
    left: -10px;
  }
  .point__eyecatch-title span {
    font-size: 14px;
    padding: 2px 10px 2px 10px;
  }
  .point__about {
    margin-top: 45px;
    padding: 0 30px;
  }
  .point-h2 {
    padding-bottom: 20px;
    margin-bottom: 25px;
  }
  .point-h2 .ja {
    font-size: 18px;
  }
  .point-h2 .en {
    font-size: 14px;
  }
  .point-h4 {
    font-size: 14px;
    margin-bottom: 30px;
  }
  .point__about-list li {
    height: 48px;
    padding: 0 0 0 88px;
    font-size: 12px;
    align-items: center;
    justify-content: flex-start;
  }
  .point__about-list li p {
    line-height: 1.2;
  }
  .point__about-list li .large {
    font-size: 19px;
  }
  .point__about-list li:before {
    left: 50px;
    width: 16px;
    height: 16px;
  }
  .point__about-caution {
    margin-top: 15px;
    margin-bottom: 40px;
    font-size: 12px;
  }
  .point-h3 {
    margin-bottom: 33px;
    font-size: 16px;
    padding-bottom: 12px;
  }
  .point__about-text {
    font-size: 12px;
  }
  .point__per {
    margin-top: 50px;
    padding: 35px 15px 80px;
  }
  .point__per-img {
    margin-top: 30px;
  }
  .point__per-img .smart {
    width: 19.4%;
    top: -20px;
  }
  .point__per-img .smart img {
    width: 44px;
  }
  .point__per-caution {
    margin-top: 15px;
    font-size: 12px;
  }
  .point__rank {
    padding: 0 30px;
  }
  .point__rank-inner {
    padding: 30px 15px;
    text-align: center;
    top: -50px;
  }
  .point__rank-list {
    display: inline-block;
    margin: 0;
    text-align: left;
  }
  .point__rank-list li {
    margin-bottom: 15px;
  }
  .point__rank-list li .icon {
    margin-right: 20px;
  }
  .point__rank-list li .text {
    font-size: 12px;
  }
  .point__rank-list li .text .medium {
    font-size: 14px;
  }
  .point__rank-list li .text .large {
    font-size: 19px;
  }
  .point__mypage {
    padding-left: 30px;
  }
  .point__mypage-inner {
    padding: 30px 30px 30px 0;
  }
  .point__mypage-step {
    padding: 0 0 0 20px;
  }
  .point__mypage-step-item {
    padding-left: 0;
    margin-bottom: 10px;
  }
  .point__mypage-step-item:last-child {
    margin-bottom: 0;
  }
  .point__mypage-step-left {
    width: 45.2%;
    padding-top: 30px;
  }
  .point__mypage-step-num {
    font-size: 16px;
    padding-bottom: 10px;
  }
  .point__mypage-step-num .large {
    font-size: 21px;
  }
  .point__mypage-step-text {
    padding: 40px 10px 0 10px;
    font-size: 14px;
  }
  .point__mypage-step-right {
    width: 54.8%;
  }
  .point__view {
    padding-left: 30px;
  }
  .point__view-inner {
    padding: 0px 30px 176px 30px;
  }
  .point__view-text {
    padding: 0px;
    font-size: 14px;
  }
  .point__view-img {
    width: 100%;
    right: 0px;
    top: -146px;
  }
  .point__view-img img {
    width: 190px;
    margin: 0 auto;
  }
  .point__view-bg {
    height: 260px;
  }
}

.diagnosis__start {
  margin-top: 90px;
  text-align: center;
}
.diagnosis__start-header {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
}
.diagnosis__start-header-top {
  position: relative;
  padding-top: 230px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 2;
}
.diagnosis__start-header-title {
  font-size: 32px;
  font-weight: bold;
  letter-spacing: 0.2em;
  background-color: #fff;
  padding: 11px 24px;
}
.diagnosis__start-header-subtitle {
  font-size: 21px;
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.2em;
  background-color: #86817D;
  padding: 11px 20px;
  margin-top: 3px;
}
.diagnosis__start-header-bg {
  text-align: right;
}
.diagnosis__start-header-bg img {
  position: relative;
  right: -30px;
  display: inline-block;
}
.diagnosis__start-header-read {
  margin-top: 60px;
  font-size: 37px;
  font-weight: 500;
  letter-spacing: 0.2em;
}
.diagnosis__start-header-text {
  margin-top: 45px;
  display: inline-block;
  text-align: left;
  font-size: 15px;
  line-height: 1.66;
}
.diagnosis__start-links {
  margin-top: 70px;
}
.diagnosis__start-links-title {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.2em;
}
.diagnosis__start-links-list {
  display: flex;
  justify-content: center;
  margin-top: 25px;
}
.diagnosis__start-links-list li {
  width: 400px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background-color: #D8D1CA;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.2em;
  margin: 0 10px;
}
.diagnosis__start-links-list li:before {
  content: "";
  background: url(../public/img/icons/check.svg) no-repeat center/contain;
  width: 21px;
  height: 21px;
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
}
.diagnosis__start-room {
  margin: 80px auto 0;
  max-width: 566px;
  background-color: #F1F1F1;
  padding: 20px 0 20px 250px;
  position: relative;
}
.diagnosis__start-room-img {
  position: absolute;
  top: -30px;
  left: 0px;
}
.diagnosis__start-room-text {
  font-size: 14px;
  line-height: 1.78;
  text-align: left;
}
.diagnosis__start-room-btn {
  margin-top: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.diagnosis__start-room-btn:before {
  content: "";
  background: url(../public/img/icons/angle-right.svg) no-repeat center/contain;
  display: inline-block;
  width: 6px;
  height: 12px;
  margin-right: 10px;
}
.diagnosis__start-room-btn img {
  display: inline;
  width: 140px;
}
.diagnosis__features {
  margin-top: 120px;
}
.diagnosis__features-block {
  max-width: 792px;
  margin: 0 auto;
}
.diagnosis__features-block + .diagnosis__features-block {
  margin-top: 90px;
}
.title-diagnosis {
  font-size: 37px;
  font-weight: 500;
  text-align: center;
  border-bottom: 1px solid #D8D1CA;
  position: relative;
  padding: 16px 0;
  letter-spacing: 0.2em;
}
.title-diagnosis:after {
  content: "";
  width: 204px;
  height: 1px;
  background-color: #5E5954;
  position: absolute;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
}
.title-diagnosis.-white {
  border-color: #F1F1F1;
}
.diagnosis__features-row {
  margin-top: 50px;
  margin-right: -46px;
  padding-left: 76px;
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
}
.diagnosis__features-row.-layout2 {
  flex-direction: row;
  padding-left: 32px;
  padding-right: 32px;
  margin-right: 0;
}
.diagnosis__features-row-left {
  width: 500px;
}
.-layout2 .diagnosis__features-row-left {
  padding-left: 0;
}
.-layout2 .diagnosis__features-row-img {
  padding-top: 30px;
}
.diagnosis__features-row-title {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.38;
  letter-spacing: 0.2em;
  position: relative;
}
.diagnosis__features-row-title:before {
  content: "";
  background: url(../public/img/icons/check_large.svg) no-repeat center/contain;
  width: 40px;
  height: 35px;
  position: absolute;
  left: -50px;
  top: 5px;
}
.diagnosis__features-row-text {
  margin-top: 70px;
  font-size: 15px;
  line-height: 1.66;
}
.diagnosis__step {
  margin-top: 110px;
  padding: 80px 0 200px;
  background-color: #D8D1CA;
}
.diagnosis__step-inner {
  max-width: 1000px;
  margin: 0 auto;
}
.diagnosis__step-list {
  margin-top: 60px;
}
.diagnosis__step-list-item {
  max-width: 640px;
  margin: 120px auto 0;
  position: relative;
}
.diagnosis__step-list-item:after {
  content: "";
  background: url(../public/img/icons/arrow_down_large.svg) no-repeat center/contain;
  width: 44px;
  height: 22px;
  left: 50%;
  bottom: -64px;
  position: absolute;
  transform: translateX(-50%);
}
.diagnosis__step-list-item:last-child:after {
  display: none;
}
.diagnosis__step-list-item:first-child {
  margin-top: 0;
}
.diagnosis__step-list-title {
  font-size: 21px;
  font-weight: 500;
  letter-spacing: 0.2em;
  white-space: nowrap;
}
.diagnosis__step-list-title .large {
  font-size: 33px;
}
.diagnosis__step-list-img {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-top: 24px;
  height: 102px;
}
.diagnosis__step-list-img img {
  display: inline;
  width: auto;
}
.diagnosis__step-list-right {
  padding-top: 103px;
  text-align: center;
}
.diagnosis__step-list-left {
  position: absolute;
  top: 0px;
  right: 100%;
}
.diagnosis__step-list-text {
  font-size: 21px;
  font-weight: 500;
  letter-spacing: 0.2em;
}
.diagnosis__step-list-small {
  letter-spacing: 0.2em;
  font-size: 12px;
  font-weight: 500;
  margin-top: 15px;
}
.diagnosis__step-caution {
  margin-top: 72px;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
}
.diagnosis__special {
  background-color: #C5B8A6;
  padding-bottom: 100px;
  padding-top: 1px;
}
.diagnosis__special-inner {
  background-color: #fff;
  position: relative;
  margin-left: calc((100vw - 1000px) / 2);
  padding: 70px calc((100vw - 1000px) / 2) 70px 0;
  text-align: center;
  margin-top: -100px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.diagnosis__special-title {
  max-width: 645px;
  margin: 0 auto;
  font-size: 21px;
  font-weight: 500;
  letter-spacing: 0.2em;
  padding-bottom: 14px;
  border-bottom: 1px solid #D8D1CA;
  position: relative;
}
.diagnosis__special-title:after {
  content: "";
  width: 204px;
  height: 1px;
  background-color: #5E5954;
  position: absolute;
  bottom: -1px;
  left: 50%;
  transform: translateX(-50%);
}
.diagnosis__special-read {
  text-align: left;
  margin-top: 45px;
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
}
.diagnosis__special-read .large {
  font-size: 24px;
}
.diagnosis__special-text {
  margin-top: 60px;
  font-size: 14px;
  line-height: 1.71;
  text-align: left;
}
.diagnosis__special-logo {
  margin-top: 50px;
  display: flex;
  justify-content: center;
}
.diagnosis__brand {
  margin-top: 120px;
}
.diagnosis__brand-inner {
  max-width: 800px;
  margin: 0 auto;
}
.diagnosis__brand-list {
  display: flex;
  flex-wrap: wrap;
  margin: 50px -20px 0;
}
.diagnosis__brand-list li {
  width: calc(25% - 10px);
  margin: 5px;
  border: 1px solid #D8D1CA;
}
.diagnosis__brand-caption {
  font-size: 14px;
  font-weight: 500;
  text-align: right;
  margin-top: 0.5em;
}
.diagnosis__price {
  margin-top: 120px;
}
.diagnosis__price-inner {
  max-width: 800px;
  margin: 0 auto;
}
.diagnosis__price-table {
  margin: 60px auto 0;
  max-width: 700px;
  background-color: #D8D1CA;
  padding: 90px 30px 30px;
}
.diagnosis__price-table-row {
  display: flex;
  justify-content: center;
}
.diagnosis__price-table-cell {
  width: 204px;
  border-bottom: 1px solid #5E5954;
  display: flex;
  justify-content: space-between;
  padding: 0 10px 10px;
  font-size: 21px;
  font-weight: 500;
  letter-spacing: 0.2em;
  margin: 0 30px;
}
.diagnosis__price-table-caption {
  text-align: right;
  margin-top: 40px;
  font-size: 14px;
  font-weight: 500;
}
.diagnosis__price-read {
  text-align: center;
  margin-top: 50px;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.2em;
}
.diagnosis__price-qr {
  margin-top: 30px;
  display: flex;
  justify-content: center;
}
.diagnosis__how {
  margin-top: 120px;
  padding-top: 70px;
  padding-left: calc((100vw - 1000px) / 2);
  margin-right: calc((100vw - 1000px) / 2);
  background-color: #C5B8A6;
}
.diagnosis__how-inner {
  background-color: #fff;
  padding: 90px 0px 0px;
}
.diagnosis__how-title {
  max-width: 800px;
  margin: 0 auto;
}
.diagnosis__how-list {
  margin: 60px auto 0;
  max-width: 800px;
  padding-left: 70px;
}
.diagnosis__how-list-item {
  display: flex;
  margin-bottom: 30px;
}
.diagnosis__how-list-item:last-child {
  margin-bottom: 0;
}
.diagnosis__how-list-left {
  width: 390px;
  padding-top: 80px;
}
.diagnosis__how-list-title {
  font-size: 21px;
  letter-spacing: 0.2em;
  font-weight: 500;
  padding-bottom: 30px;
  border-bottom: 1px solid #D8D1CA;
}
.diagnosis__how-list-title .large {
  font-size: 33px;
}
.diagnosis__how-list-text {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.56;
  padding: 70px 0 0 70px;
}
.diagnosis__how-thumb {
  display: flex;
  justify-content: flex-end;
  margin: 50px 0 0;
  position: relative;
  bottom: -70px;
}
@media screen and (max-width: 750px){
  .diagnosis__start {
    margin-top: 30px;
  }
  .diagnosis__start-header-top {
    padding-top: 22vw;
  }
  .diagnosis__start-header-title {
    font-size: 14px;
    padding: 4px 16px;
  }
  .diagnosis__start-header-subtitle {
    font-size: 10px;
    padding: 4px 10px;
  }
  .diagnosis__start-header-bg {
    padding-left: 28px;
  }
  .diagnosis__start-header-bg img {
    position: static;
  }
  .diagnosis__start-header-read {
    font-size: 16px;
    letter-spacing: 0.075em;
    margin-top: 30px;
  }
  .diagnosis__start-header-text {
    font-size: 12px;
    line-height: 2;
    max-width: 300px;
    margin: 30px auto 0;
  }
  .diagnosis__start-links {
    margin-top: 30px;
  }
  .diagnosis__start-links-title {
    font-size: 12px;
  }
  .diagnosis__start-links-list {
    margin-top: 10px;
    flex-direction: column;
    align-items: center;
  }
  .diagnosis__start-links-list li {
    margin: 10px 0 0;
    width: 280px;
    height: 40px;
    font-size: 14px;
  }
  .diagnosis__start-links-list li:before {
    width: 16px;
    height: 16px;
    left: 10px;
  }
  .diagnosis__start-room {
    padding: 20px 30px 20px;
  }
  .diagnosis__start-room-text {
    padding-left: 154px;
    font-size: 12px;
  }
  .diagnosis__start-room-img {
    left: 16px;
    top: -30px;
    width: 140px;
  }
  .diagnosis__start-room-btn {
    margin-top: 20px;
  }
  .title-diagnosis {
    font-size: 16px;
    letter-spacing: 0.075em;
  }
  .diagnosis__features {
    margin: 50px 0 0;
    padding: 0 28px 0;
    overflow: hidden;
  }
  .diagnosis__features-row {
    margin: 30px 0 0;
    padding: 0;
    display: block;
    position: relative;
  }
  .diagnosis__features-row-img {
    position: absolute;
    bottom: -23px;
    right: -50px;
    width: 140px;
  }
  .diagnosis__features-row-left {
    width: 100%;
    padding-left: 34px;
  }
  .diagnosis__features-row-title {
    font-size: 12px;
    letter-spacing: 0.075em;
  }
  .diagnosis__features-row-title:before {
    width: 18px;
    height: 16px;
    left: -24px;
    top: 2px;
  }
  .diagnosis__features-row-text {
    font-size: 12px;
    margin-top: 30px;
    padding-right: 116px;
    letter-spacing: normal;
  }
  .diagnosis__features-row.-layout2 {
    padding-left: 110px;
    padding-right: 0;
  }
  .-layout2 .diagnosis__features-row-text {
    padding-right: 0;
  }
  .-layout2 .diagnosis__features-row-img {
    bottom: -30px;
    right: auto;
    left: -50px;
  }
  .diagnosis__features-block + .diagnosis__features-block {
    margin-top: 70px;
  }
  .diagnosis__step {
    margin-top: 70px;
    padding: 30px 30px 100px;
  }
  .diagnosis__step-list {
    margin-top: 40px;
  }
  .diagnosis__step-list-item {
    display: flex;
    flex-direction: column;
  }
  .diagnosis__step-list-left {
    display: contents;
    position: static;
  }
  .diagnosis__step-list-title {
    order: 1;
    font-size: 16px;
  }
  .diagnosis__step-list-title .large {
    font-size: 24px;
  }
  .diagnosis__step-list-img {
    order: 3;
    margin-top: 10px;
    display: flex;
    justify-content: center;
    transform: scale(0.8);
  }
  .diagnosis__step-list-right {
    order: 2;
    padding-top: 0;
    margin-top: 10px;
  }
  .diagnosis__step-list-text {
    font-size: 14px;
  }
  .diagnosis__step-list-small {
    font-size: 10px;
    margin-top: 10px;
  }
  .diagnosis__step-caution {
    text-align: left;
    margin-top: 35px;
    font-size: 12px;
  }
  .diagnosis__special {
    padding: 1px 28px 90px;
  }
  .diagnosis__special-inner {
    padding: 30px 15px 50px;
    margin: -50px 0 0;
  }
  .diagnosis__special-title {
    font-size: 16px;
  }
  .diagnosis__special-read {
    margin-top: 30px;
    font-size: 12px;
  }
  .diagnosis__special-read .large {
    font-size: 19px;
  }
  .diagnosis__special-text {
    margin-top: 30px;
    font-size: 12px;
  }
  .diagnosis__brand {
    margin: 50px 28px 0;
  }
  .diagnosis__brand-list {
    margin: 25px 0px 0;
    justify-content: space-between;
  }
  .diagnosis__brand-list li {
    width: calc(50% - 10px);
    margin: 5px 0;
  }
  .diagnosis__price {
    margin: 50px 28px 0;
  }
  .diagnosis__price-table {
    padding: 40px 20px 55px;
    margin-top: 30px;
  }
  .diagnosis__price-table-row {
    flex-direction: column;
    align-items: center;
  }
  .diagnosis__price-table-cell {
    width: 180px;
    padding: 0 16px 12px;
    margin: 0 0 20px;
    font-size: 14px;
  }
  .diagnosis__price-table-caption {
    font-size: 12px;
    margin-top: 0;
  }
  .diagnosis__price-read {
    margin-top: 30px;
    line-height: 1.5;
    font-size: 14px;
  }
  .diagnosis__price-qr {
    margin: 30px auto;
    width: 120px;
  }
  .diagnosis__how {
    padding: 30px 0 0 28px;
    margin: 50px 0 0;
  }
  .diagnosis__how-inner {
    padding: 30px 28px 0;
  }
  .diagnosis__how-list {
    margin-top: 56px;
    padding-left: 0;
  }
  .diagnosis__how-list-item {
    margin-bottom: 12px;
  }
  .diagnosis__how-list-left {
    width: 48%;
    padding-top: 30px;
  }
  .diagnosis__how-list-title {
    font-size: 16px;
    padding-bottom: 10px;
  }
  .diagnosis__how-list-title .large {
    font-size: 24px;
  }
  .diagnosis__how-list-text {
    font-size: 14px;
    padding: 30px 0 0 10px;
  }
  .diagnosis__how-list-right {
    width: 52%;
  }
  .diagnosis__how-thumb {
    margin-top: 30px;
    margin-right: -28px;
    bottom: -30px;
  }
}
.menu {
  font-family: "Shippori Mincho B1", serif;
}
.menu img {
  max-width: 100%;
  height: auto;
}
.menu-archive {
  margin-bottom: 120px;
}
.menu__catarea {
  margin-top: 90px;
}
.menu__catarea .top__category-wrap {
  margin-top: 60px;
}
@media screen and (max-width: 767px){
  .menu__catarea .top__menu-content {
    padding-bottom: 0;
  }
}
.menu__catarea-h3 {
  background-color: #D8D1CA;
  padding: 10px 0;
  text-align: center;
  font-size: 14px;
  margin-top: 40px;
}
.menu__catarea-h3 i {
  font-size: 16px;
  margin-right: 4px;
}
.menu__catarea-search {
  width: 530px;
  margin: 45px auto 0;
  position: relative;
}
.menu__catarea-input {
  width: 100%;
  height: 40px;
  border: 3px solid #D8D1CA;
  border-radius: 20px;
  padding: 0 46px 0 16px;
}
.menu__catarea-button {
  -webkit-appearance: none;
  border-style: none;
  background: none;
  padding: 0;
  position: absolute;
  top: 9px;
  right: 20px;
  font-size: 20px;
  color: #D8D1CA;
  cursor: pointer;
}
.menu__catarea-tab {
  padding-top: 1px;
}
.menu__catarea-list {
  display: flex;
  flex-wrap: wrap;
  margin: 50px -6px 0;
}
.menu__catarea-list li {
  width: calc(16.66% - 12px);
  margin: 5px 6px 0;
  display: flex;
  height: 45px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  border-bottom: 1px solid #D8D1CA;
  cursor: pointer;
}
.menu__catarea-all {
  width: 100%;
  margin-top: 30px;
  text-align: center;
  font-size: 14px;
  font-weight: 500;
  padding: 12px 0;
  border: 1px solid #D8D1CA;
  cursor: pointer;
}

@media screen and (max-width: 767px){
  .pricemenu__wrapper {
    
  }
  .menu__catarea.pricemenu {
    position: fixed;
    top: 60px;
    left: 0px;
    border: 1px solid #ddd;
    padding: 10px 10px;
    width: 100%;
    background-color: #fff;
    border-top: 1px solid #5e5954;
    border-bottom: 1px solid #5e5954;
    z-index: 1010;
    margin-top: 0;
  }
  .menu__catarea.pricemenu .title-primary {
    display: flex;
    align-items: center;
    position: relative;
    .en {
      border-style: none;
      font-size: 16px;
      line-height: 1;
      padding-bottom: 0;
    }
    .ja {
      border-style: none;
      padding-top: 0;
      padding-left: 1em;
      font-size: 12px;
      line-height: 1;
    }
    &:before {
      content: "";
      position: absolute;
      inset: 3px 3.5px 0 auto;
      margin: auto;
      display: block;
      width: 7.5px;
      height: 4.42px;
      background-image: url(../public/img/icons/caret-white.svg);
      background-size: contain;
      background-position: center;
      background-repeat: no-repeat;
      z-index: 2;
      -webkit-transform: rotate(180deg);
      transform: rotate(180deg);
      -webkit-transition: 0.3s ease;
      transition: 0.3s ease;
    }
    &:after {
      content: "";
      position: absolute;
      top: 2.4px;
      right: 0px;
      display: inline-block;
      width: 15px;
      height: 15px;
      background-color: #5e5954;
      z-index: 1;
    }
  }
  .menu__catarea.pricemenu.is-active .title-primary {
    &:before {
      transform: rotate(0deg);
    }
  }
  .menu__catarea.pricemenu .pricemenu__wrapper {
    display: none;
  }
  .menu__catarea.pricemenu .top__menu-list {
    padding: 0;
    gap: 10px;
  }
  .menu__catarea.pricemenu .container-m {
    padding: 0;
  }
}

.menu__archive {
  padding-top: 70px;
}
.no_post {
  font-size: 2rem;
  text-align: center;
}
@media screen and (max-width: 767px){
  .no_post {
    font-size: 1.6rem;
  }
}
.menu__archive-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.menu__archive-list .result_title {
  width: 100%;
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 750px){
  .menu__archive-list .result_title {
    font-size: 1.6rem;
  }
}
.menu__archive-item {
  border: 1px solid #D8D1CA;
  width: calc(50% - 16px);
  padding: 12px 15px 15px;
  display: flex;
  margin-top: 28px;
}
.menu__archive-left {
  width: 90px;
  margin-right: 15px;
}
.menu__archive-right {
  flex: 1;
}
.menu__archive-title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
  padding-bottom: 8px;
  border-bottom: 1px solid #D8D1CA;
}
.menu__archive-category {
  margin-top: 15px;
}
.menu__archive-category span {
  display: inline-block;
  font-size: 12px;
  padding: 4px 12px;
  border: 1px solid #D8D1CA;
  margin-bottom: 4px;
  margin-right: 4px;
}
.menu__archive-text {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.5;
}
.menu__archive-btn {
  text-align: right;
  margin-top: 12px;
}
.menu__archive-btn a {
  display: inline-block;
  font-size: 12px;
  padding: 6px 12px;
  background-color: #D8D1CA;
  text-decoration: none;
  color: inherit;
}
.menu #loading {
  text-align: center;
  padding: 20px 0;
  width: 100%;
}
.menu #loading img {
  display: inline;
}
.menu__recommend {
  margin-top: 160px;
  padding-top: 50px;
  position: relative;
  background-color: #D8D1CA;
}
.menu__recommend:after {
  content: "";
  width: 100%;
  height: 160px;
  position: absolute;
  bottom: 0px;
  left: 0px;
  background-color: #fff;
  pointer-events: none;
}
.menu__recommend__inner {
  position: relative;
  z-index: 2;
}
.menu__recommend-list {
  margin-top: 40px;
  display: flex;
  justify-content: center;
}
.menu__recommend-list .item img {
  max-height: 290px;
  width: auto;
  margin: 0 18px;
}
.menu-single__hero {
  background-color: #D8D1CA;
  padding-top: 200px;
  padding-bottom: 25px;
}
.menu-single__hero-inner {
  position: relative;
}
.menu-single__hero-catch {
  position: absolute;
  bottom: calc(100% + 1.6em);
  left: 0px;
  width: 100%;
  font-size: 20px;
  text-align: center;
}
.menu-single__hero-title {
  text-align: center;
  border-bottom: 1px solid #fff;
}
.menu-single__hero-title span {
  display: inline-block;
  font-size: 40px;
  letter-spacing: 0.055em;
  border-bottom: 1px solid #5E5954;
  padding: 0 12px 15px;
  margin-bottom: -1px;
}
.menu-single__hero-inner {
  max-width: 800px;
  margin: 0 auto;
}
.menu-single__hero-cat {
  margin-top: 14px;
  font-size: 14px;
  text-align: center;
}
.menu-single__navi {
  margin-top: 64px;
  display: flex;
  justify-content: center;
}
.menu-single__navi li {
  margin: 0 3px;
}
.menu-single__navi li a {
  display: flex;
  background-color: #fff;
  text-decoration: none;
  color: inherit;
  width: 123px;
  height: 41px;
  align-items: center;
  justify-content: center;
  font-size: 15px;
}
.menu-single__about {
  margin-top: 80px;
}
.menu-single__about-eyecatch {
  margin-bottom: 70px;
}
.menu-single__about-eyecatch img {
  margin: 0 auto;
}
.menu-single__about-content {
  margin-top: 60px;
  font-size: 15px;
  line-height: 1.67;
}
.menu-single__about-movie {
  margin-top: 60px;
  text-align: center;
}
.menu-single__about-movie iframe {
  width: 100%;
  max-width: 560px;
}
.menu-single__recommend {
  margin-top: 120px;
  padding: 80px 0 95px;
  background-color: #D8D1CA;
}
.menu-single__recommend-list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 40px;
}
.menu-single__recommend-list li {
  font-size: 20px;
  width: 50%;
  margin-top: 20px;
  padding-left: 42px;
  position: relative;
}
.menu-single__recommend-list li:before {
  content: "";
  background: url(../public/img/icons/check.svg) no-repeat center/contain;
  width: 23px;
  height: 23px;
  position: absolute;
  top: 0px;
  left: 0px;
}
.menu-single__features {
  margin-top: 100px;
}
.menu-single__features-title {
  margin-bottom: 45px;
}
.menu-single__features-list {
  line-height: 1.69;
}
.menu-single__features-list + .menu-single__features-list {
  margin-top: 25px;
}
.menu-single__features-list dt {
  font-size: 15px;
  font-weight: bold;
}
.menu-single__features-list dd {
  font-size: 14px;
}
.menu-single__features-list dd p {
  margin-top: 10px;
}
.menu-single__features-list dd img {
  margin-top: 10px;
  margin-bottom: 10px;
}
.menu-single__features-list dd strong {
  font-weight: bold;
}
.menu-single__features-list dd a {
  text-decoration: underline;
  color: inherit;
}
.menu-single__features-img {
  margin-top: 50px;
  text-align: center;
}
.menu-single__features-img img {
  display: inline;
}
.menu-single__merit {
  max-width: 800px;
  margin: 120px auto 0;
  display: flex;
  justify-content: space-between;
}
.menu-single__merit-clm {
  width: calc(50% - 23px);
}
.menu-single__merit-list {
  margin-top: 25px;
}
.menu-single__merit-list li {
  font-size: 17px;
  line-height: 1.53;
  margin-left: 1em;
  text-indent: -1em;
}
.menu-single__merit-list li:before {
  content: "・";
}
.menu-single__comparison {
  margin-top: 160px;
}
.menu-single__comparison-title {
  margin-bottom: 40px;
}
.menu-single__comparison-content {
  margin-top: 40px;
}
.menu-single__comparison-message {
  text-align: center;
  font-size: 12px;
  font-weight: 500;
  margin-bottom: 20px;
}
.menu-single__comparison-message:after {
  content: "";
  background: url(../public/img/icons/arrow-right-min.svg) no-repeat center/contain;
  width: 16px;
  height: 10px;
  display: inline-block;
  margin-left: 4px;
  vertical-align: 1px;
}
.menu-single__comparison-scroll {
  width: 100%;
  padding-bottom: 1px;
}
.menu-single__comparison-table {
  border: 1px solid #D8D1CA;
  line-height: 1.4;
}
.menu-single__comparison-table th {
  position: relative;
}
.menu-single__comparison-table th:first-child {
  width: 90px;
  position: sticky;
  top: 0px;
  left: 0px;
}
.menu-single__comparison-table th:not(:first-child) {
  width: 270px;
}
.menu-single__comparison-table thead th {
  background-color: #F1F1F1;
  font-size: 16px;
  font-weight: 500;
  height: 40px;
  vertical-align: middle;
  border-top: 1px solid #D8D1CA;
  border-bottom: 1px solid #D8D1CA;
}
.menu-single__comparison-table tbody th {
  font-size: 14px;
  font-weight: 500;
  vertical-align: middle;
  padding: 0 12px;
  position: sticky;
  top: 0px;
  left: 0px;
  border-top: 1px solid #D8D1CA;
  border-bottom: 1px solid #D8D1CA;
  background-color: #fff;
}
.menu-single__comparison-table th:before {
  content: "";
  position: absolute;
  top: 0px;
  left: -1px;
  height: 100%;
  width: 1px;
  background-color: #D8D1CA;
}
.menu-single__comparison-table th:after {
  content: "";
  position: absolute;
  top: 0px;
  right: -1px;
  height: 100%;
  width: 1px;
  background-color: #D8D1CA;
}
.menu-single__comparison-table tbody td {
  padding: 36px 20px;
  font-size: 15px;
  vertical-align: middle;
}
.menu-single__comparison-table td {
  border: 1px solid #D8D1CA;
}
.menu-single__photo {
  margin-top: 150px;
  padding: 80px 0 80px;
  background-color: #D8D1CA;
}
.menu-single__photo-slider {
  margin: 75px -16px 0;
}
.menu-single__photo-list .item {
  padding: 0 16px;
}
.menu-single__flow {
  margin-top: 90px;
}
.menu-single__flow-title {
  margin-bottom: 36px;
}
.menu-single__flow-list {
  max-width: 540px;
  width: 100%;
  margin: 32px auto 0;
}
.menu-single__flow-list dt {
  padding-left: 27px;
  position: relative;
  font-size: 18px;
  font-weight: bold;
}
.menu-single__flow-list dt .num {
  position: absolute;
  top: 0px;
  left: 0px;
  font-size: 15px;
  font-weight: bold;
  color: #fff;
  width: 20px;
  line-height: 19px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #86817D;
  padding-bottom: 1px;
}
.menu-single__flow-list dd {
  padding-left: 27px;
  font-size: 15px;
  line-height: 1.2;
  margin-top: 5px;
}
.menu-single__price {
  margin-top: 100px;
  padding: 80px 0 100px;
  background-color: #D8D1CA;
}
#single_campaign .menu-single__price {
  background-color: #fff;
  padding: 0;
}
.priceArchives {
  margin-top: 100px;
}
.menu-single__price-banner {
  margin-top: 30px;
  text-align: center;
}
.menu-single__price-banner img {
  display: inline;
}
.menu-single__price-block {
  margin-top: 60px;
  font-family: "Shippori Mincho B1", serif;
}
.menu-single__price-catblock + .menu-single__price-catblock {
  margin-top: 100px;
}
.menu-single__price-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  line-height: 1.5;
  margin-top: 10px;
}
.menu-single__price-item {
  width: calc(50% - 16px);
  height: 60px;
  border-bottom: 1px solid #AFA192;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.menu-single__price-title {
  font-size: 13px;
}
.menu-single__price-subtitle {
  font-size: 11px;
}
.menu-single__price-right {
  text-align: right;
}
.menu-single__price-yen {
  font-size: 15px;
}
.menu-single__price-tax {
  font-size: 11px;
}
.menu-single__price-description {
  margin-top: 2em;
  line-height: 1.5;
}
.menu-single__price-link {
  text-align: right;
  margin-top: 1em;
  a {
    text-decoration: underline;
  }
}
.menu-single__faq {
  margin-top: 100px;
}
.menu-single__faq-title {
  margin-bottom: 50px;
}
.menu-single__faq-list {
  padding: 24px 0;
  border-bottom: 1px solid #D8D1CA;
  cursor: pointer;
  position: relative;
}
.menu-single__faq-list:after {
  content: "";
  background: url(../public/img/icons/arrow_down.svg) no-repeat center/contain;
  width: 13px;
  height: 8px;
  position: absolute;
  right: 0px;
  top: 30px;
  transition: transform 0.3s;
}
.menu-single__faq-list.is-open:after {
  transform: rotate(180deg);
}
.menu-single__faq-q {
  padding-left: 36px;
  padding-right: 26px;
  font-size: 17px;
  font-weight: bold;
  position: relative;
}
.menu-single__faq-q:before {
  content: "Q";
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  width: 20px;
  line-height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #86817D;
  position: absolute;
  top: 0px;
  left: 0px;
}
.menu-single__faq-a {
  padding-left: 36px;
  margin-top: 8px;
  line-height: 1.5;
  display: none;
}
.menu-single__outline {
  margin-top: 100px;
  padding: 80px 0 80px;
  background-color: #D8D1CA;
}
.menu-single__outline-title {
  margin-bottom: 50px;
}
.menu-single__outline-list {
  line-height: 1.3;
}
.menu-single__outline-list + .menu-single__outline-list {
  margin-top: 30px;
}
.menu-single__outline-list dt {
  font-size: 17px;
  font-weight: bold;
}
.menu-single__outline-list dd {
  font-size: 15px;
  margin-top: 4px;
}
.menu-single__outline-list dt:before {
  content: "－";
}
.menu-single__other {
  margin-top: 90px;
}
.menu-single__other-list {
  margin: 50px -5px 0;
  display: flex;
  flex-wrap: wrap;
}
.menu-single__other-list li {
  width: calc(25% - 10px);
  margin: 10px 5px 0;
  border: 1px solid #D8D1CA;
}
.menu-single__other-list li a {
  display: flex;
  padding: 10px 5px;
  width: 100%;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 16px;
  line-height: 1.3;
}
.menu-single__other-btn {
  margin-top: 30px;
}
.menu-single__other-btn a {
  display: block;
  width: 100%;
  padding: 12px 0;
  background-color: #D8D1CA;
  font-size: 15px;
  text-align: center;
}
.menu-single__reserve {
  margin-top: 110px;
  padding: 80px 0 90px;
  background-color: #D8D1CA;
}
.menu-single__reserve-list {
  margin-top: 65px;
  display: flex;
  justify-content: center;
}
.menu-single__reserve-item {
  width: 177px;
  height: 137px;
  border: 1px solid #86817D;
  margin: 0 20px;
}
.menu-single__reserve-item a {
  display: block;
  width: 100%;
  height: 100%;
  padding-top: 29px;
  text-align: center;
}
.menu-single__reserve-icon {
  width: 40px;
  height: 40px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.menu-single__reserve-icon img {
  width: 100%;
}
.menu-single__reserve-text {
  margin-top: 15px;
  font-size: 21px;
  font-weight: 600;
}
.menu-single__reserve-tel {
  margin-top: 50px;
}
.menu-single__reserve-tel-tel {
  display: flex;
  justify-content: center;
  align-items: center;
}
.menu-single__reserve-tel-icon {
  width: 28px;
  margin-right: 15px;
}
.menu-single__reserve-tel-icon img {
  width: 100%;
}
.menu-single__reserve-tel-text {
  font-size: 32px;
}
.menu-single__reserve-tel-time {
  text-align: center;
  margin-top: 8px;
}

@media screen and (max-width: 767px){
  .menu-arhive {
    margin-bottom: 100px;
  }
  .menu__catarea-h3 {
    margin-top: 25px;
    font-size: 13px;
  }
  .menu__catarea-h3 i {
    vertical-align: -1px;
  }
  .menu__catarea-search {
    width: 100%;
  }
  .menu__catarea-input {
    height: 33px;
  }
  .menu__catarea-button {
    top: 6px;
    right: 13px;
  }
  .menu__catarea-list li {
    width: calc(33.33% - 12px);
    font-size: 13px;
  }
  .menu__catarea-all {
    margin-top: 25px;
    font-size: 13px;
  }
  .menu__archive {
    padding-top: 50px;
  }
  .menu__archive-list {
    display: block;
  }
  .menu__archive-item {
    width: 100%;
    margin: 18px 0 0;
  }
  .menu__recommend {
    margin-top: 100px;
  }
  .menu__recommend:after {
    height: 110px;
  }
  .menu__recommend-list {
    margin-top: 30px;
  }
  .menu__recommend-list .item img {
    height: 220px;
  }
  .menu-single__hero {
    padding: 150px 3vw 0;
  }
  .menu-single__hero-catch {
    font-size: 14px;
  }
  .menu-single__hero-title span {
    font-size: 22px;
  }
  .menu-single__hero-cat {
    font-size: 12px;
  }
  .menu-single__navi {
    padding: 30px 0 30px;
    margin: 65px -3vw 0;
    background-color: #fff;
    flex-wrap: wrap;
    justify-content: center;
  }
  .menu-single__navi li {
    margin: 5px;
    border: 1px solid #D8D1CA;
  }
  .menu-single__navi li a {
    font-size: 13px;
  }
  .menu-single__about {
    margin-top: 0;
  }
  .menu-single__about-eyecatch {
    margin: 0 -3vw 40px;
  }
  .menu-single__about-content {
    margin-top: 36px;
    font-size: 13px;
  }
  .menu-single__about-movie {
    margin-top: 40px;
  }
  .menu-single__about-movie iframe {
    width: 100%;
    height: 52.6vw;
  }
  .menu-single__recommend {
    margin-top: 65px;
    padding: 50px 0;
  }
  .title-primary.-small .en{
    font-size: 22px;
  }
  .menu-single__recommend-list {
    display: block;
    margin-top: 30px;
  }
  .menu-single__recommend-list li {
    padding-left: 30px;
    margin-top: 15px;
    font-size: 15px;
    width: 100%;
  }
  .menu-single__recommend-list li:before {
    width: 16px;
    height: 16px;
  }
  .menu-single__features {
    margin-top: 65px;
  }
  .menu-single__features-list dd {
    font-size: 13px;
  }
  .menu-single__features-title {
    margin-bottom: 35px;
  }
  .menu-single__features-img {
    margin-top: 35px;
  }
  .menu-single__merit {
    margin-top: 60px;
    padding: 0 3vw;
    display: block;
  }
  .menu-single__merit-clm {
    width: 100%;
    margin-top: 15px;
  }
  .menu-single__merit-clm + .menu-single__merit-clm {
    margin-top: 60px;
  }
  .menu-single__merit-list li {
    font-size: 15px;
  }
  .menu-single__comparison {
    margin-top: 70px;
  }
  .menu-single__photo {
    margin-top: 80px;
    padding: 40px 0 60px;
  }
  .menu-single__photo-slider {
    margin: 36px -8px 0;
  }
  .menu-single__photo-list .item img {
    width: calc(100% - 16px);
    margin: 0 8px;
  }
  .menu-single__flow {
    margin-top: 60px;
  }
  .menu-single__flow-list dt {
    font-size: 15px;
  }
  .menu-single__flow-list dd {
    font-size: 12px;
  }
  .menu-single__flow-list dt .num {
    top: -2px;
  }
  .menu-single__price {
    margin-top: 70px;
    padding: 30px 0 70px;
  }
  .menu-single__price-banner {
    margin-top: 25px;
  }
  .menu-single__price-catblock .anker {
    position: relative;
    top: -80px;
  }
  .menu-single__price-list {
    display: block;
  }
  .menu-single__price-item {
    width: 100%;
  }
  .menu-single__faq {
    margin-top: 60px;
  }
  .menu-single__faq-title {
    margin-bottom: 35px;
  }
  .menu-single__faq-q {
    font-size: 13px;
  }
  .menu-single__faq-a {
    font-size: 13px;
  }
  .menu-single__outline {
    margin-top: 70px;
    padding: 40px 0 50px;
  }
  .menu-single__outline-title {
    margin-bottom: 30px;
  }
  .menu-single__outline-list + .menu-single__outline-list {
    margin-bottom: 20px;
  }
  .menu-single__outline-list dt {
    font-size: 13px;
  }
  .menu-single__outline-list dd {
    font-size: 13px;
  }
  .menu-single__other {
    margin-top: 55px;
  }
  .menu-single__other-list {
    margin: 30px 0 0;
    justify-content: space-between;
  }
  .menu-single__other-list li {
    width: calc(50% - 5px);
    margin: 10px 0 0;
  }
  .menu-single__other-list li a {
    font-size: 13px;
  }
  .menu-single__other-btn {
    margin-top: 16px;
  }
  .menu-single__other-btn a {
    font-size: 13px;
  }
  .menu-single__reserve {
    margin-top: 80px;
    padding: 40px 0 45px;
  }
  .menu-single__reserve-list {
    margin-top: 36px;
  }
  .menu-single__reserve-item {
    width: 136px;
    height: 105px;
    margin: 0 6px;
  }
  .menu-single__reserve-item a {
    padding-top: 22px;
  }
  .menu-single__reserve-icon{
    width: 30px;
    height: 30px;
  }
  .menu-single__reserve-text {
    font-size: 16px;
  }
  .menu-single__reserve-tel {
    margin-top: 30px;
  }
  .menu-single__reserve-tel-icon {
    width: 22px;
    height: 22px;
  }
  .menu-single__reserve-tel-text {
    font-size: 25px;
  }
  .menu-single__reserve-tel-time {
    font-size: 13px;
  }
}

.l-archive {
  font-family: "Shippori Mincho B1", serif;
}
.l-archive__hero {
  background-color: #D8D1CA;
  padding-top: 200px;
  padding-bottom: 100px;
}
.l-archive__hero.-notitle {
  padding-top: 100px;
}
.l-archive__hero-inner {
  position: relative;
}
.l-archive__hero-catch {
  position: absolute;
  bottom: calc(100% + 1.6em);
  left: 0px;
  width: 100%;
  font-size: 20px;
  text-align: center;
}
.l-archive__hero-title {
  text-align: center;
  border-bottom: 1px solid #fff;
}
.l-archive__hero-title span {
  display: inline-block;
  font-size: 40px;
  letter-spacing: 0.055em;
  border-bottom: 1px solid #5E5954;
  padding: 0 12px 15px;
  margin-bottom: -1px;
}
.l-archive__hero-inner {
  max-width: 800px;
  margin: 0 auto;
}
.l-archive__category {
  margin: 0 auto 60px;
  max-width: 930px;
}
.l-archive__category-head {
  display: none;
}
.l-archive__category-list {
  display: flex;
  flex-wrap: wrap;
}
.l-archive__category-item {
  margin: 0 5px 5px 0;
}
.l-archive__category-link {
  display: inline-block;
  background: #222222;
  color: #fff;
  min-width: 110px;
  height: 35px;
  line-height: 35px;
  text-align: center;
  font-size: 12px;
  padding: 0 15px;
}
.l-archive__category-link:hover {
  color: #0a0a0a;
  background: #d8d1ca;
}
.l-archive__tag {
  margin: 60px auto;
  max-width: 930px;
}
.l-archive__tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: .5em .5em;
}
.l-archive__tag-item a {
  color: #2222cd;
}
.l-archive__tag-item a:hover {
  text-decoration: underline;
}
.l-archive__tag-link:before {
  content: "#";
}

.l-single__container {
  max-width: 800px;
  margin: 80px auto 0;
}
.common-banner {
  margin: 0 auto 2em;
  text-align: center;
}
.common-banner img {
  max-width: 100%;
  margin: 0 auto;
}
.common-banner-slider {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 0 20px;
}
.common-banner-slider.slick-slider .common-banner img {
  max-height: 290px;
  width: auto;
  margin: 0 18px;
}
.wp-embedded-content {
  width: 100%;
}
.singleAuthor {
  margin-bottom: 40px;
  border: 1px solid #d8d1ca;
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
  line-height: 1.5;
}
.singleAuthor__title {
  width: 100%;
  margin-bottom: 10px;
  font-weight: 600;
  font-size: 16px;
}
.singleAuthor__left {
  width: 140px;
}
.singleAuthor__left img {
  max-width: 100%;
}
.singleAuthor__right {
  width: calc(100% - 160px);
  margin-left: 20px;
}
.singleAuthor__job {
  font-size: 14px;
  font-weight: 600;
}
.singleAuthor__name {
  font-size: 24px;
  font-weight: 600;
}
.singleAuthor__info {
  margin-top: 10px;
}
.singleAuthor__info dt {
  font-size: 14px;
  font-weight: 600;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.singleAuthor__info dt:after {
  content: "＋";
  border: 1px solid #d8d1ca;
  margin-left: 5px;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  font-size: 12px;
}
.singleAuthor__info dt.is-open:after {
  content: "ー";
}
.singleAuthor__info dd {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.7;
  margin-top: 10px;
  display: none;
}


@media screen and (max-width: 750px){
  .l-archive__hero.-notitle {
    padding-top: 60px;
  }
  .l-archive__category-wrapper {
    position: relative;
    border: 1px solid #ddd;
    padding: 34px 20px;
    margin-bottom: 80px;
  }
  .l-archive__category {
    display: none;
    margin-bottom: 0;
    margin-top: 20px;
  }
  .l-archive__category-head {
    line-height: 1.8;
    position: absolute;
    top: -20px;
    left: 0px;
    width: 100%;
    display: block;
  }
  .l-archive__category-button {
    position: absolute;
    right: 0;
    bottom: -32px;
    left: 0;
    flex-direction: column;
    gap: 1px;
    width: 55px;
    height: 55px;
    margin: 0 auto;
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid #d8d1ca;
    cursor: pointer;
    transition: 0.7s ease;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .l-archive__category-button:before {
    content: "OPEN";
    font-size: 1.3rem;
    font-family: "Cormorant Infant", serif;
    font-weight: 700;
    color: #86817d;
  }
  .l-archive__category-button.active::before {
    content: "CLOSE";
  }
  .l-archive__category-button:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-top: 12px solid #d8d1ca;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    transition: 0.7s ease;
  }
  .l-archive__category-button.active:after {
    transform: scale(-1, -1);
  }
  .l-single__container {
    padding: 0 3vw;
    margin-top: 30px;
  }
  .wp-embedded-content {
    height: 120px;
  }
  .singleAuthor {
    padding: 10px;
  }
  .singleAuthor__left {
    width: 100px;
  }
  .singleAuthor__right {
    width: calc(100% - 110px);
    margin-left: 10px;
  }
}


[data-aos=fade-up-large] {
  -webkit-transform: translate3d(0, 200px, 0) translateZ(0);
          transform: translate3d(0, 200px, 0) translateZ(0);
}

.overflow {
  overflow: hidden;
}

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

@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media (hover: hover) {
  .hover-opacity {
    transition: opacity 0.3s ease;
  }
  .hover-opacity:hover {
    opacity: 0.8;
  }
}

.container {
  margin: 0 auto;
  padding-inline: 8.5%;
  max-width: 1000px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .container {
    padding: 0 3%;
    max-width: 100%;
  }
}
.container-m {
  width: 100%;
  margin: 0 auto;
  max-width: 800px;
}
@media screen and (max-width: 767px) {
  .container-m {
    box-sizing: border-box;
    padding: 0 3vw;
    max-width: 100%;
  }
}

.color-d8 {
  color: #d8d1ca;
}

.pt0 {
  padding-top: 0;
}

.sb_instagram_header.sbi_medium.sbi_no_avatar {
  display: none;
}

/* stylelint-disable */
#sbi_load {
  display: none;
}

@media screen and (max-width: 767px) {
  #sbi_images {
    padding: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  #sbi_images .sbi_photo_wrap {
    width: 100%;
    height: 100%;
  }
}
#sbi_images .sbi_photo {
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover !important;
     object-fit: cover !important;
  aspect-ratio: 1/1;
}

@media screen and (max-width: 767px) {
  #sb_instagram #sbi_images .sbi_item {
    padding: 0 !important;
    aspect-ratio: 80/80;
  }
}
@media screen and (max-width: 767px) {
  #sb_instagram #sbi_images .sbi_item:not(:last-of-type) {
    margin-right: 2px !important;
  }
}

/* WYSIWYG用汎用スタイル */
.wp-post strong {
  font-weight: bold;
}
.wp-post p {
  margin: 2em 0 1.5em;
  line-height: 2;
  text-align: justify;
}
.wp-post table {
  border: 1px solid #D8D1CA;
  line-height: 1.4;
  margin: 1em 0;
}
.wp-post table th {
  position: relative;
}
/*
.wp-post table th:first-child {
  position: sticky;
  top: 0px;
  left: 0px;
}
*/
.wp-post table th {
  width: 270px;
}
.wp-post table thead th {
  background-color: #F1F1F1;
  font-size: 16px;
  font-weight: 500;
  height: 40px;
  vertical-align: middle;
  border-top: 1px solid #D8D1CA;
  border-bottom: 1px solid #D8D1CA;
}
.wp-post table tbody th {
  font-size: 14px;
  font-weight: 500;
  vertical-align: middle;
  padding: 0 12px;
  position: sticky;
  top: 0px;
  left: 0px;
  border-top: 1px solid #D8D1CA;
  border-bottom: 1px solid #D8D1CA;
  background-color: #fff;
}
.wp-post table th:before {
  content: "";
  position: absolute;
  top: 0px;
  left: -1px;
  height: 100%;
  width: 1px;
  background-color: #D8D1CA;
}
.wp-post table th:after {
  content: "";
  position: absolute;
  top: 0px;
  right: -1px;
  height: 100%;
  width: 1px;
  background-color: #D8D1CA;
}
.wp-post table tbody td {
  padding: 36px 20px;
  font-size: 15px;
  vertical-align: middle;
}
.wp-post table td {
  border: 1px solid #D8D1CA;
}
.wp-post h1, .wp-post h2, .wp-post h3, .wp-post h4, .wp-post h5, .wp-post h6 { clear:both; line-height:1.4;  margin:0 0 10px 0; padding:10px 0 0 0; }
.wp-post h1 {
  font-size: 200%;
  line-height: 1.5;
  margin: 2.5em 0 0.5em;
}
.wp-post h2 {
  font-size: 180%;
  border-bottom: 1px solid #D8D1CA;
  padding-bottom: 0.2em;
  line-height: 1.5;
  margin: 2em 0 0.5em;
}
.wp-post h3 {
  font-size: 160%;
  border-left: 1px solid #D8D1CA;
  padding-left: 0.5em;
  padding-top: 0;
  line-height: 1.5;
  margin: 2em 0 1em;
}
.wp-post h4 {
  font-size: 140%;
  font-weight: bold;
  line-height: 1.5;
  padding: 0;
  margin: 2em 0 0.5em;
}
.wp-post h5 {
  font-size: 120%;
  font-weight: bold;
  line-height: 1.5;
  padding: 0;
  margin: 2em 0 0.5em;
}
.wp-post h6 { font-size:100%; }
.wp-post h2 + p, .wp-post h3 + p, .wp-post h4 + p, .wp-post h5 + p, .wp-post h6 + p { margin-top:0; }

.wp-post li, .wp-post dt, .wp-post dd { line-height:2.2; }
.wp-post ul, .wp-post ol, .wp-post dl { margin-bottom:24px; }
.wp-post ol { list-style:decimal outside none; margin-left:1.5em; }
.wp-post ul { list-style:circle outside none; margin-left:1.3em; } 
.wp-post li > ul, .wp-post li > ol { margin-bottom:0; }
.wp-post dt { font-weight:bold; }
.wp-post dd { margin-bottom:1em; }
.wp-post img,
.wp-post iframe {
  max-width: 100%;
}

.wsp-container ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.wsp-container ul li {
  width: 50%;
  padding-right: 2em;
}
@media screen and (max-width: 767px){
  .wsp-container ul li {
    width: 100%;
    padding-right: 0;
  }
}

.page__hero {
  background-color: #D8D1CA;
  padding-top: 124px;
  padding-bottom: 64px;
}
.page__hero-title {
  text-align: center;
  border-bottom: 1px solid #fff;
}
.page__hero-title span {
  display: inline-block;
  font-size: 40px;
  letter-spacing: 0.055em;
  border-bottom: 1px solid #5E5954;
  padding: 0 12px 15px;
  margin-bottom: -1px;
}
.page__hero-inner {
  max-width: 800px;
  margin: 0 auto;
}
.page__content {
  padding: 120px 0;
}
@media screen and (max-width: 767px){
  .page__hero {
    padding: 84px 3vw 36px;
  }
  .page__hero-title span {
    font-size: 22px;
  }
  .page__content {
    padding: 60px 0;
  }
}
.privacy-window {
  background-color: #fff;
  height: 360px;
  overflow: auto;
  padding: 20px;
  border: 1px solid #ccc;
}
.wp-post .privacy-window h2 {
  font-size: 126%;
}
.wp-post .privacy-window h3 {
  font-size: 117%;
}
.wpcf7 .privacy-window p {
  font-size: 14px;
}
@media screen and (max-width: 767px){
  .privacy-window {
    height: 240px;
  }
}

/* stylelint-enable */