@charset "UTF-8";
/* リセットCSS */
* {
  margin: 0;
  padding: 0;
}

*,
::before,
::after {
  border-style: solid;
  box-sizing: border-box;
  border-width: 0;
  transition: all 0.3s ease;
}

html {
  height: 100%;
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  font-family: "Yu Gothic", "游ゴシック", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 400;
  color: #4c473d;
  line-height: 1.75;
  letter-spacing: 0;
}

.all_container {
  overflow-x: hidden;
}

ul,
ol {
  list-style: none;
}

a {
  color: inherit;
  background-color: transparent;
  text-decoration: none;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

img,
video,
iframe,
picture {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

/* その他設定 */
html {
  font-size: 1.2987012987vw;
}
@media screen and (max-width: 768px) {
  html {
    font-size: 16px;
  }
}
@media (min-width: 1232px) {
  html {
    font-size: 16px;
  }
}
@media (max-width: 390px) {
  html {
    font-size: 4.1025641026vw;
  }
}

/* レスポンシブ */
@media screen and (max-width: 768px) {
  .u_pc {
    display: none !important;
  }
}

.u_sp,
.u_sp_b {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .u_sp,
.u_sp_b {
    display: block !important;
  }
}

.u_sp_i {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .u_sp_i {
    display: inline !important;
  }
}

.u_sp_ib {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .u_sp_ib {
    display: inline-block !important;
  }
}

.u_sp_f {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .u_sp_f {
    display: flex !important;
  }
}

.u_sp_t {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .u_sp_t {
    display: table-row !important;
  }
}

/* インナーボックス */
.innerbox_1320 {
  max-width: calc(1320px + 2rem);
  margin: 0 auto;
  padding: 0 1rem;
}

.innerbox_1200 {
  max-width: calc(1200px + 2rem);
  margin: 0 auto;
  padding: 0 1rem;
}

.innerbox_1180 {
  max-width: calc(1180px + 2rem);
  margin: 0 auto;
  padding: 0 1rem;
}

.innerbox_960 {
  max-width: calc(960px + 2rem);
  margin: 0 auto;
  padding: 0 1rem;
}

.innerbox_840 {
  max-width: calc(840px + 2rem);
  margin: 0 auto;
  padding: 0 1rem;
}

/* その他頻出パーツ */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.disp_ib {
  display: inline-block;
}

.flexbox {
  display: flex;
}

.flex_center {
  display: flex;
  justify-content: center;
  align-items: center;
}

a,
button,
.btn {
  cursor: pointer;
  transition: all 0.3s ease;
}
a:hover,
button:hover,
.btn:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  a:hover,
button:hover,
.btn:hover {
    opacity: 1;
  }
}

/* body(全体) */
body.category main, body.single-post main, body#page__other main, body.page:not(#page__top):not(#page__commitment):not(#page__menu):not(#page__location):not(#page__recruit) main {
  margin-inline: auto;
  padding: 5rem 1rem;
}

main#main {
  padding-top: 6.875rem;
}
@media screen and (max-width: 768px) {
  main#main {
    padding-top: 4.375rem;
  }
}

/* ヘッダー */
header#header {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 6.875rem;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  header#header {
    height: 4.375rem;
  }
}
header#header .header_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 1rem;
}
header#header .header_logo {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
@media screen and (max-width: 768px) {
  header#header .header_logo {
    gap: 0.5rem;
  }
}
header#header .header_logo .logo {
  width: 6.25rem;
}
@media screen and (max-width: 768px) {
  header#header .header_logo .logo {
    width: 3.75rem;
  }
}
header#header .header_logo .text {
  letter-spacing: 0.04em;
  font-family: "Zen Old Mincho", serif;
  color: #333;
}
@media screen and (max-width: 768px) {
  header#header .header_logo .text {
    font-size: 0.875rem;
  }
}
.body_no_scroll {
  overflow: hidden;
  touch-action: none;
  height: 100vh;
}

.hamburger_menu_btn {
  display: none;
}
@media screen and (max-width: 768px) {
  .hamburger_menu_btn {
    position: absolute;
    z-index: 999;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    width: 3.125rem;
    aspect-ratio: 1/1;
    transition: all 0.3s ease;
    cursor: pointer;
    background-color: #4c473d;
  }
}
@media screen and (max-width: 768px) {
  .hamburger_menu_btn .bar {
    display: block;
    width: 50%;
    height: 0.125rem;
    background-color: #fff;
    transition: all 0.3s ease;
  }
}

.hamburger_menu_list_wrapper {
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .hamburger_menu_list_wrapper {
    position: fixed;
    top: 0;
    display: block;
    width: 100vw;
    height: 100%;
    background-color: rgba(76, 71, 61, 0.8);
    -webkit-backdrop-filter: blur(0.875rem);
            backdrop-filter: blur(0.875rem);
    padding: 6.25rem 1.875rem 2.5rem;
    overflow-x: auto;
    opacity: 0;
    visibility: hidden;
    right: 0;
  }
}

.hamburger_menu_list {
  display: flex;
  align-items: center;
  gap: 2.125rem;
}
@media screen and (max-width: 1320px) {
  .hamburger_menu_list {
    gap: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .hamburger_menu_list {
    flex-direction: column;
    align-items: stretch;
    gap: 1.625rem;
  }
}
.hamburger_menu_list .menu-item a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
  line-height: 1;
  font-weight: 500;
  color: #313131;
}
@media screen and (max-width: 1320px) {
  .hamburger_menu_list .menu-item a {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 768px) {
  .hamburger_menu_list .menu-item a {
    display: flex;
    justify-content: space-between;
    font-size: 1rem;
    line-height: 1.5;
    color: #fff;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  }
}
@media screen and (max-width: 768px) {
  .hamburger_menu_list .menu-item a::after {
    content: "";
    display: block;
    width: 1.75rem;
    height: 0.5rem;
    background-image: url(../../assets/img/icon_btn_arrow__white.webp);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
  }
}
.hamburger_menu_list .menu-item__reserve a {
  position: relative;
  z-index: 400;
  justify-content: center;
  width: 12.5rem;
  height: 3.75rem;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: #fff;
  background-color: #4c473d;
  border: 1px solid #4c473d;
  padding: 0 3rem;
}
@media screen and (max-width: 768px) {
  .hamburger_menu_list .menu-item__reserve a {
    width: 100%;
    height: 3.375rem;
    color: #4c473d;
    background-color: #fff;
  }
}
.hamburger_menu_list .menu-item__reserve a::after {
  content: "";
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 1.6875rem;
  height: 0.3125rem;
  background-image: url(../../assets/img/icon_btn_arrow__white.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 768px) {
  .hamburger_menu_list .menu-item__reserve a::after {
    background-image: url(../../assets/img/icon_btn_arrow__brown.webp);
  }
}
.hamburger_menu_list .menu-item__reserve a:hover {
  color: #4c473d;
  background-color: #fff;
}
.hamburger_menu_list .menu-item__reserve a:hover::after {
  background-image: url(../../assets/img/icon_btn_arrow__brown.webp);
}

.hamburger_menu.open .hamburger_menu_btn {
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .hamburger_menu.open .hamburger_menu_btn {
    gap: 0;
  }
}
@media screen and (max-width: 768px) {
  .hamburger_menu.open .hamburger_menu_btn .bar:nth-child(1) {
    transform: translateY(0.0625rem) rotate(45deg);
  }
}
@media screen and (max-width: 768px) {
  .hamburger_menu.open .hamburger_menu_btn .bar:nth-child(2) {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .hamburger_menu.open .hamburger_menu_btn .bar:nth-child(3) {
    transform: translateY(-0.0625rem) rotate(-45deg);
  }
}
.hamburger_menu.open .hamburger_menu_list_wrapper {
  transition: all 0.3s ease;
}
@media screen and (max-width: 768px) {
  .hamburger_menu.open .hamburger_menu_list_wrapper {
    opacity: 1;
    visibility: visible;
  }
}

/* フッター */
footer#footer {
  color: #fff;
  background-color: #746e65;
  padding-top: 6.25rem;
  padding-bottom: 12.25rem;
}
@media screen and (max-width: 768px) {
  footer#footer {
    padding-top: 2.5rem;
    padding-bottom: 6.875rem;
  }
}
footer#footer .footer_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 3.75rem 4rem;
}
@media screen and (max-width: 768px) {
  footer#footer .footer_inner {
    gap: 2.1875rem 4rem;
  }
}
footer#footer .footer_logo {
  display: block;
  width: 6.25rem;
}
footer#footer .footer_menu_list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 2rem;
  max-width: 45rem;
}
@media screen and (max-width: 768px) {
  footer#footer .footer_menu_list {
    gap: 1.25rem 2.625rem;
  }
}
footer#footer .footer_menu_list .menu-item a {
  display: block;
  font-size: 1.125rem;
  line-height: 1.5;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  footer#footer .footer_menu_list .menu-item a {
    font-size: 0.9375rem;
  }
}
footer#footer .footer_bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1.25rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  footer#footer .footer_bottom {
    flex-direction: column;
  }
}
footer#footer .footer_bottom_links {
  display: flex;
  gap: 0.75rem;
}
@media screen and (max-width: 768px) {
  footer#footer .footer_bottom_links {
    gap: 0.625rem;
  }
}
footer#footer .footer_bottom_links a {
  font-size: 0.75rem;
  line-height: 1.5;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  footer#footer .footer_bottom_links a {
    font-size: 0.625rem;
  }
}
footer#footer .copyright {
  font-size: 0.75rem;
  line-height: 1.5;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  footer#footer .copyright {
    font-size: 0.625rem;
  }
}

/* 下方固定リンク */
#fixed_bottom_links {
  position: fixed;
  z-index: 998;
  bottom: 0;
  right: 0;
  left: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  justify-content: center;
  background-color: #f9f5ef;
  padding: 1.25rem;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s ease;
}
@media screen and (max-width: 768px) {
  #fixed_bottom_links {
    padding: 0.9375rem 0.625rem;
  }
}
#fixed_bottom_links .btn {
  width: 15rem;
  height: 3.5rem;
  font-size: 0.9375rem;
  padding: 0 3.375rem;
}
@media screen and (max-width: 768px) {
  #fixed_bottom_links .btn {
    width: 11.25rem;
    height: 2.5rem;
    font-size: 0.8125rem;
    padding: 0 2rem;
  }
}
@media screen and (max-width: 768px) {
  #fixed_bottom_links .btn::after {
    right: 0.5rem;
    width: 1.25rem;
  }
}
#fixed_bottom_links.scroll {
  opacity: 1;
  visibility: visible;
}

/* その他共通パーツ */
.btn {
  position: relative;
  z-index: 400;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 100%;
  width: 25rem;
  height: 5rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
  text-align: center;
  padding: 0 4rem;
}
@media screen and (max-width: 768px) {
  .btn {
    height: 4rem;
    font-size: 0.875rem;
  }
}
.btn::after {
  content: "";
  position: absolute;
  right: 1.4375rem;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 1.8125rem;
  height: 0.34375rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.btn:hover {
  opacity: 1;
}
.btn__maincolor {
  color: #fff;
  background-color: #4c473d;
  border: 1px solid #4c473d;
}
.btn__maincolor::after {
  background-image: url(../../assets/img/icon_btn_arrow__white.webp);
}
.btn__maincolor:hover {
  color: #4c473d;
  background-color: #fff;
}
.btn__maincolor:hover::after {
  background-image: url(../../assets/img/icon_btn_arrow__brown.webp);
}
.btn__white {
  color: #4c473d;
  background-color: #fff;
  border: 1px solid #4c473d;
}
.btn__white::after {
  background-image: url(../../assets/img/icon_btn_arrow__brown.webp);
}
.btn__white:hover {
  color: #fff;
  background-color: #4c473d;
}
.btn__white:hover::after {
  background-image: url(../../assets/img/icon_btn_arrow__white.webp);
}
.btn__bordercolor {
  background-color: rgba(76, 71, 61, 0);
  border: 1px solid #4c473d;
}
.btn__bordercolor::after {
  background-image: url(../../assets/img/icon_btn_arrow__brown.webp);
}
.btn__bordercolor:hover {
  color: #fff;
  background-color: #4c473d;
}
.btn__bordercolor:hover::after {
  background-image: url(../../assets/img/icon_btn_arrow__white.webp);
}
.btn__line {
  color: #fff;
  background-color: #74bc6e;
  border: 1px solid #74bc6e;
}
.btn__line::after {
  background-image: url(../../assets/img/icon_btn_arrow__white.webp);
}
.btn__line:hover {
  color: #74bc6e;
  background-color: #fff;
}
.btn__line:hover::after {
  background-image: url(../../assets/img/icon_btn_arrow__brown.webp);
}

ol {
  list-style: decimal;
  padding-left: 1em;
}
ol > li > ul {
  list-style: lower-alpha;
  padding-left: 1em;
}
ol > li > ul > li > ul {
  list-style: lower-roman;
  padding-left: 1em;
}

ul.dot_list > li {
  display: block;
  position: relative;
  padding-left: 1em;
}
ul.dot_list > li::before {
  content: "・";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}

.komemark {
  display: block;
  position: relative;
  padding-left: 1em;
}
.komemark::before {
  content: "※";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}

.section_title > span {
  display: block;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .section_title > span {
    line-height: 1.3;
  }
}
.section_title__en {
  font-size: 1.25rem;
  letter-spacing: 0.2em;
  font-weight: 400;
  text-transform: uppercase;
  font-family: "Playfair Display", serif;
  color: #d69f4d;
  margin-bottom: 0.625rem;
}
@media screen and (max-width: 768px) {
  .section_title__en {
    font-size: 0.9375rem;
    margin-bottom: 1.25rem;
  }
}
.section_title__ja {
  font-size: 2.25rem;
  font-weight: 600;
  font-family: "Zen Old Mincho", serif;
  color: #4c473d;
}
@media screen and (max-width: 768px) {
  .section_title__ja {
    font-size: 1.875rem;
  }
}

.section_explain {
  font-size: 1.125rem;
  line-height: 2;
  font-weight: 400;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .section_explain {
    font-size: 0.875rem;
    margin-top: 1.875rem;
  }
}

.page_title {
  position: relative;
  z-index: 400;
  background-image: url(../../assets/img/page_title/common_pc.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 768px) {
  .page_title {
    background-image: url(../../assets/img/page_title/common_sp.webp);
  }
}
.page_title img.page_title_image, .page_title::after {
  position: absolute;
  z-index: -1;
  right: 0;
  top: 0;
  bottom: 0;
  width: 33.5rem;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .page_title img.page_title_image, .page_title::after {
    top: initial;
    left: 0;
    width: 100%;
    height: 11.25rem;
  }
}
.page_title_inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 1.25rem;
  height: 18.75rem;
}
@media screen and (max-width: 768px) {
  .page_title_inner {
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    height: 20rem;
    padding-top: 2.5rem;
  }
}
.page_title span {
  display: block;
  line-height: 1.5;
  font-weight: 600;
  color: #37302a;
}
@media screen and (max-width: 768px) {
  .page_title span {
    line-height: 1.25;
    text-align: center;
  }
}
.page_title__ja {
  font-size: 2.5rem;
  font-family: "Zen Old Mincho", serif;
}
@media screen and (max-width: 768px) {
  .page_title__ja {
    font-size: 1.5rem;
  }
}
.page_title__en {
  font-size: 1.25rem;
  font-family: "Noto Serif JP", serif;
  text-transform: uppercase;
}
@media screen and (max-width: 768px) {
  .page_title__en {
    font-size: 0.875rem;
  }
}

#breadcrumb {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  #breadcrumb {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}
#breadcrumb ol {
  list-style: none;
  padding-left: inherit;
}
#breadcrumb .breadcrumb_inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  padding: 0 1rem;
}
#breadcrumb .breadcrumb_inner .breadcrumb_item {
  font-size: 0.8125rem;
  line-height: 1.5;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  #breadcrumb .breadcrumb_inner .breadcrumb_item {
    font-size: 0.75rem;
  }
}
#breadcrumb .breadcrumb_inner .breadcrumb_item a,
#breadcrumb .breadcrumb_inner .breadcrumb_item span {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  font-weight: inherit;
  font-family: inherit;
  color: inherit;
}
#breadcrumb .breadcrumb_inner .breadcrumb_item:nth-child(n+2) {
  margin-left: 0.5rem;
}
#breadcrumb .breadcrumb_inner .breadcrumb_item:nth-child(n+2)::before {
  content: ">";
  font-size: inherit;
  line-height: inherit;
  color: #333;
  margin-right: 0.5rem;
}
#breadcrumb .breadcrumb_inner .breadcrumb_item:nth-last-child(1) {
  white-space: nowrap;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  max-height: 1.5em;
}
#breadcrumb .breadcrumb_inner .breadcrumb_item:nth-last-child(1) a,
#breadcrumb .breadcrumb_inner .breadcrumb_item:nth-last-child(1) span {
  pointer-events: none;
}

.before_after_images {
  display: flex;
}
.before_after_images .before_image,
.before_after_images .after_image {
  position: relative;
  z-index: 400;
  flex: 1;
}
.before_after_images .before_image img,
.before_after_images .after_image img {
  aspect-ratio: 216/357;
  -o-object-fit: cover;
     object-fit: cover;
}
.before_after_images .before_image span,
.before_after_images .after_image span {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  bottom: 0;
  display: block;
  font-size: 0.9375rem;
  line-height: 1.5;
  letter-spacing: 0.08em;
  font-weight: 400;
  font-family: "Playfair Display", serif;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
  padding: 0.3125rem;
}
@media screen and (max-width: 768px) {
  .before_after_images .before_image span,
.before_after_images .after_image span {
    font-size: 0.8125rem;
    padding: 0.125rem;
  }
}
.before_after_images .before_image span {
  background-color: #4c473d;
}
.before_after_images .after_image span {
  background-color: #d69f4d;
}

/* メニュー 共通パーツ */
.select_menu_list {
  display: flex;
  gap: 0.9375rem;
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .select_menu_list {
    flex-direction: column;
    margin-top: 1.875rem;
  }
}
.select_menu_list .menu_item {
  display: flex;
  flex-direction: column;
  flex: 1;
  background-color: #f9f5ef;
}
.select_menu_list .menu_item__textwrapper {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 2rem 1.5625rem 1.75rem;
}
@media screen and (max-width: 768px) {
  .select_menu_list .menu_item__textwrapper {
    padding: 1.875rem 0.9375rem 1.375rem;
  }
}
.select_menu_list .menu_item__title {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.375rem;
  line-height: 1.5;
  font-weight: 600;
  font-family: "Zen Old Mincho", serif;
  text-align: center;
  padding: 0.9375rem;
  min-height: 6.125rem;
}
@media screen and (max-width: 768px) {
  .select_menu_list .menu_item__title {
    font-size: 1.125rem;
    padding: 1.5625rem;
    min-height: initial;
  }
}
.select_menu_list .menu_item__recommend {
  flex: 1;
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .select_menu_list .menu_item__recommend {
    margin-top: 2.1875rem;
  }
}
.select_menu_list .menu_item__recommend__title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.3125rem;
  font-size: 1.125rem;
  line-height: 1.5;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
}
@media screen and (max-width: 768px) {
  .select_menu_list .menu_item__recommend__title {
    gap: 0.25rem;
    font-size: 1rem;
  }
}
.select_menu_list .menu_item__recommend__title::before, .select_menu_list .menu_item__recommend__title::after {
  content: "";
  display: block;
  width: 1.25rem;
  height: 1px;
  background-color: #4c473d;
}
.select_menu_list .menu_item__recommend__list {
  font-size: 0.9375rem;
  line-height: 1.5;
  font-weight: 500;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .select_menu_list .menu_item__recommend__list {
    font-size: 0.8125rem;
  }
}
.select_menu_list .menu_item__recommend__list ul > li {
  display: block;
  position: relative;
  padding-left: 1em;
}
.select_menu_list .menu_item__recommend__list ul > li:nth-child(n+2) {
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .select_menu_list .menu_item__recommend__list ul > li:nth-child(n+2) {
    margin-top: 0.375rem;
  }
}
.select_menu_list .menu_item__recommend__list ul > li::before {
  content: "・";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}
.select_menu_list .menu_item__price {
  background-color: #fff;
  padding: 1.25rem 0.625rem;
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .select_menu_list .menu_item__price {
    margin-top: 1.25rem;
  }
}

.menu_price {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .menu_price {
    gap: 1rem;
  }
}
.menu_price__regular {
  position: relative;
  z-index: 400;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.3;
  font-family: "Noto Serif JP", serif;
  opacity: 0.5;
  padding-top: 0.25rem;
  padding-right: 1.125rem;
  padding-bottom: 0.1875rem;
  border-bottom: 1px solid #a39e96;
}
@media screen and (max-width: 768px) {
  .menu_price__regular {
    font-size: 0.875rem;
    padding-right: 1.75rem;
  }
}
.menu_price__regular::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 1px;
  display: block;
  width: 0.375rem;
  height: 1px;
  background-color: #a39e96;
  transform: rotate(40deg);
}
.menu_price__new {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  line-height: 1.5;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
}
.menu_price__new span {
  display: block;
}
.menu_price__new .label {
  font-size: 1.125rem;
  padding-top: 0.1875rem;
}
@media screen and (max-width: 768px) {
  .menu_price__new .label {
    font-size: 0.875rem;
  }
}
.menu_price__new .price {
  font-size: 1.75rem;
}
@media screen and (max-width: 768px) {
  .menu_price__new .price {
    font-size: 1.375rem;
  }
}

/* 施術事例 共通パーツ */
.example_item_list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .example_item_list {
    flex-direction: column;
  }
}

.example_item {
  width: calc((100% - 1.875rem) / 3);
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .example_item {
    width: 100%;
  }
}
.example_item__textwrapper {
  padding: 1rem 1.875rem 2.5rem;
}
@media screen and (max-width: 768px) {
  .example_item__textwrapper {
    padding: 1.25rem 1.25rem 1.875rem;
  }
}

.grid_table {
  display: grid;
  grid-template-columns: auto 1fr;
}
.grid_table .label,
.grid_table .content {
  display: inline-flex;
  align-items: center;
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: 500;
  padding-top: 0.9375rem;
  padding-bottom: 0.625rem;
  border-bottom: 1px solid;
}
@media screen and (max-width: 768px) {
  .grid_table .label,
.grid_table .content {
    font-size: 0.8125rem;
    padding-top: 0.75rem;
    padding-bottom: 0.5rem;
  }
}
.grid_table .label {
  font-family: "Noto Serif JP", serif;
  padding-right: 0.5rem;
  border-color: #4c473d;
}
.grid_table .content {
  padding-left: 0.9375rem;
  border-color: #d9d9d9;
}

/* アコーディオンデザイン */
.accordion_item {
  transition: all 0.5s ease;
}
.accordion_item .accordion_title {
  position: relative;
  cursor: pointer;
  transition: all 0.5s ease;
}
.accordion_item .accordion_box {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease;
}

/* 店舗 共通パーツ */
section#location {
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 768px) {
  section#location {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 768px) {
  section#location .location_inner {
    padding: 0;
  }
}
section#location .location_contents_wrapper {
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  section#location .location_contents_wrapper {
    margin-top: 1.875rem;
  }
}

.location_area_block {
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .location_area_block {
    margin-top: 0.625rem;
  }
}

.location_area_title {
  display: flex;
  align-items: center;
  height: 5rem;
  font-size: 1.375rem;
  line-height: 1.5;
  font-family: "Noto Serif JP", serif;
  color: #fff;
  background-color: #746e65;
  padding-left: 1.5625rem;
  padding-right: 4rem;
}
@media screen and (max-width: 768px) {
  .location_area_title {
    height: 3.5625rem;
    font-size: 1.125rem;
    padding-left: 0.9375rem;
  }
}
.location_area_title::before, .location_area_title::after {
  content: "";
  position: absolute;
  top: 48%;
  width: 1.125rem;
  height: 2px;
  background-color: #fff;
  transition: all 0.5s ease;
}
@media screen and (max-width: 768px) {
  .location_area_title::before, .location_area_title::after {
    width: 0.625rem;
  }
}
.location_area_title::before {
  right: 1rem;
  transform: rotate(135deg);
}
.location_area_title::after {
  right: 1.75rem;
  transform: rotate(45deg);
}
@media screen and (max-width: 768px) {
  .location_area_title::after {
    right: 1.375rem;
  }
}
.location_area_title.open::before {
  transform: rotate(45deg);
}
.location_area_title.open::after {
  transform: rotate(135deg);
}

.location_list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem;
  padding-top: 1.875rem;
  padding-bottom: 3.125rem;
}
@media screen and (max-width: 768px) {
  .location_list {
    gap: 0.625rem;
    padding: 0.625rem 0.625rem 1.25rem;
  }
}
.location_list_item {
  width: calc((100% - 2.5rem) / 2);
  background-color: #f9f5ef;
  padding: 1.875rem 1.25rem 2.5rem;
}
@media screen and (max-width: 768px) {
  .location_list_item {
    width: calc((100% - 0.625rem) / 2);
    padding: 1.25rem 0.625rem 0.625rem;
  }
}
.location_list_item__name {
  font-size: 1.25rem;
  line-height: 1.5;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .location_list_item__name {
    font-size: 1rem;
  }
}
.location_list_item__image {
  aspect-ratio: 360/240;
  -o-object-fit: cover;
     object-fit: cover;
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .location_list_item__image {
    margin-top: 0.75rem;
  }
}
.location_list_item__address {
  line-height: 1.3;
  font-weight: 500;
  text-align: center;
  margin-top: 1.5625rem;
}
@media screen and (max-width: 768px) {
  .location_list_item__address {
    font-size: 0.75rem;
    margin-top: 0.9375rem;
  }
}
.location_list_item__btn_wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.625rem;
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .location_list_item__btn_wrapper {
    gap: 0.25rem;
  }
}
.location_list_item__btn_wrapper .btn {
  width: 20rem;
  height: 3.5rem;
  font-size: 0.9375rem;
}
@media screen and (max-width: 768px) {
  .location_list_item__btn_wrapper .btn {
    height: 2.5rem;
    font-size: 0.75rem;
    padding: 0 2.5rem;
  }
}
.location_list_item__btn_wrapper .btn::after {
  right: 0.5rem;
}

/* 選ばれる理由 REASON */
section#reason {
  padding-top: 7.25rem;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 768px) {
  section#reason {
    padding-top: 5rem;
    padding-bottom: 3.125rem;
  }
}
section#reason .reason_item_wrapper {
  margin-top: 4.125rem;
}
@media screen and (max-width: 768px) {
  section#reason .reason_item_wrapper {
    margin-top: 1.875rem;
  }
}
section#reason .reason_item {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  background-color: #f9f5ef;
  padding: 2.5rem;
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  section#reason .reason_item {
    flex-direction: column-reverse;
    padding: 2.1875rem 0.625rem 0.625rem;
    margin-top: 1.25rem;
  }
}
section#reason .reason_item__image {
  width: 32.5rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  section#reason .reason_item__image {
    width: 100%;
  }
}
section#reason .reason_item__text {
  width: 100%;
}
@media screen and (max-width: 768px) {
  section#reason .reason_item__text {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
section#reason .reason_item__number {
  display: inline-block;
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  border-bottom: 1px solid #4c473d;
}
@media screen and (max-width: 768px) {
  section#reason .reason_item__number {
    font-size: 0.875rem;
  }
}
section#reason .reason_item__title {
  font-size: 1.625rem;
  line-height: 1.5;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  section#reason .reason_item__title {
    font-size: 1.25rem;
    text-align: center;
    margin-top: 1.25rem;
  }
}
section#reason .reason_item__explain {
  font-size: 1rem;
  font-weight: 500;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  section#reason .reason_item__explain {
    font-size: 0.875rem;
    margin-top: 0.75rem;
  }
}
section#reason .reason_item__attention {
  font-size: 0.75rem;
  font-weight: 500;
  margin-top: 0.5rem;
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  section#reason .reason_item__attention {
    font-size: 0.625rem;
  }
}

/* お客様の声 VOICE */
section#voice {
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 768px) {
  section#voice {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
@media screen and (max-width: 768px) {
  section#voice .voice_inner {
    padding: 0;
  }
}
section#voice .voice_items_wrapper {
  display: flex;
  gap: 0.9375rem;
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  section#voice .voice_items_wrapper {
    flex-direction: column;
    gap: 0.625rem;
  }
}
section#voice .voice_item {
  flex: 1;
  background-color: #f9f5ef;
  padding: 1.875rem;
}
section#voice .voice_item__head {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
section#voice .voice_item__image {
  width: 7.5rem;
  height: 7.5rem;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}
section#voice .voice_item__info span {
  display: block;
  line-height: 1.5;
  font-weight: 500;
  font-family: "Noto Serif JP", serif;
}
section#voice .voice_item__info .name {
  font-size: 1.25rem;
}
section#voice .voice_item__info .status {
  font-size: 0.875rem;
  margin-top: 0.25rem;
  opacity: 0.7;
}
section#voice .voice_item__text {
  font-size: 1rem;
  font-weight: 500;
  margin-top: 1.25rem;
}
section#voice .voice_plugin_wrapper {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  section#voice .voice_plugin_wrapper {
    margin-top: 1.25rem;
  }
}

/* 流れ FLOW */
section#flow {
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 768px) {
  section#flow {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
section#flow .flow_items_wrapper {
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  section#flow .flow_items_wrapper {
    margin-top: 2.5rem;
  }
}
section#flow .flow_item {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  section#flow .flow_item {
    position: relative;
    z-index: 400;
    flex-direction: column;
    gap: 0.75rem;
  }
}
section#flow .flow_item__image {
  width: 15rem;
  height: 15rem;
  -o-object-fit: cover;
     object-fit: cover;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  section#flow .flow_item__image {
    width: 10rem;
    height: 10rem;
  }
}
section#flow .flow_item__text {
  width: 100%;
}
section#flow .flow_item__number {
  display: inline-block;
  font-size: 0.75rem;
  line-height: 1.5;
  font-family: "Playfair Display", serif;
  color: #fff;
  background-color: #d69f4d;
  padding: 0.25rem 0.75rem;
}
@media screen and (max-width: 768px) {
  section#flow .flow_item__number {
    position: absolute;
    top: -0.625rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 0.625rem;
    padding: 0.125rem 0.5rem;
  }
}
section#flow .flow_item__title {
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 600;
  font-family: "Zen Old Mincho", serif;
  margin-top: 0.9375rem;
}
@media screen and (max-width: 768px) {
  section#flow .flow_item__title {
    text-align: center;
  }
}
section#flow .flow_item__explain {
  line-height: 1.5;
  font-weight: 500;
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  section#flow .flow_item__explain {
    text-align: center;
  }
}
section#flow .flow_item__explain .big {
  font-size: 1.125rem;
  font-weight: 600;
  font-family: "Zen Old Mincho", serif;
}
@media screen and (max-width: 768px) {
  section#flow .flow_item__explain .big {
    font-size: 1rem;
  }
}
@media screen and (max-width: 768px) {
  section#flow .flow_item__explain .dot_list {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    text-align: left;
    margin: 0 auto;
  }
}

/* よくあるご質問 FAQ */
section#faq {
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 768px) {
  section#faq {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
section#faq .faq_contents_wrapper {
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  section#faq .faq_contents_wrapper {
    margin-top: 1.875rem;
  }
}
section#faq .faq_question {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 1.375rem;
  line-height: 1.5;
  font-family: "Noto Serif JP", serif;
  color: #fff;
  background-color: #746e65;
  padding: 1.5rem;
}
@media screen and (max-width: 768px) {
  section#faq .faq_question {
    font-size: 0.9375rem;
    padding: 0.9375rem;
  }
}
section#faq .faq_question::before {
  content: "Q.";
  display: block;
  font-size: 1.375rem;
  font-weight: 400;
  font-family: "Playfair Display", serif;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  section#faq .faq_question::before {
    font-size: 1.125rem;
    transform: translateY(-0.1875rem);
  }
}
section#faq .faq_answer {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 1rem;
  font-weight: 500;
  background-color: #f3f3f3;
  padding: 1.875rem 1.5rem 1.5rem;
}
@media screen and (max-width: 768px) {
  section#faq .faq_answer {
    font-size: 0.8125rem;
    padding: 1.25rem 0.9375rem 0.9375rem;
  }
}
section#faq .faq_answer::before {
  content: "A.";
  display: block;
  font-size: 1.375rem;
  font-weight: 400;
  font-family: "Playfair Display", serif;
  flex-shrink: 0;
  transform: translateY(-0.375rem);
}
@media screen and (max-width: 768px) {
  section#faq .faq_answer::before {
    font-size: 1.125rem;
  }
}
section#faq .faq_btn_wrapper {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  section#faq .faq_btn_wrapper {
    margin-top: 1.875rem;
  }
}
section#faq .faq_btn_wrapper .btn {
  margin-inline: auto;
}

/* 採用CTA */
section#cta_recruit {
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
}
@media screen and (max-width: 768px) {
  section#cta_recruit {
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
  }
}
