@charset "UTF-8";
.section h3:first-child {
  margin-bottom: 24px;
}

.section hr {
  margin-bottom: 60px;
  margin-top: 60px;
  max-width: 1200px;
}

@media (min-width: 768px) {
  .section hr {
    margin-bottom: 100px;
    margin-top: 100px;
  }
}
.section_bg {
  background: #f7f5ef;
}

.section_bg .box_bg {
  background: #fff;
}

.section_bg .box_bg .box_bg {
  background: #f7f5ef;
}

.section_bg .box_bg .box_bg .box_bg {
  background: #fff;
}

.box_bg {
  background: #f7f5ef;
}

.box_bg .box_bg {
  background: #fff;
}

.box_bg .box_bg .box_bg {
  background: #f7f5ef;
}

.box_border {
  background: #fff;
  border: 0px solid #f7f5ef;
}

.box_border .box_bg {
  background: #f7f5ef;
}

.section_bg .box_border .box_bg {
  background: #f7f5ef;
}

.box_bg,
.box_border {
  border-radius: 0px;
  margin-top: 0;
  margin-bottom: 40px;
  padding: 24px 16px;
}

.box_bg:last-child,
.box_border:last-child {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .box_bg,
  .box_border {
    margin-bottom: 50px;
    padding: 50px;
  }
}
.section .box_bg:first-child,
.section_bg .box_bg:first-child,
.section .box_border:first-child,
.section_bg .box_border:first-child {
  margin-top: 24px;
}

.box_bg ul:first-child,
.box_bg ol:first-child,
.box_bg dl:first-child,
.box_bg table:first-child,
.box_bg p:first-child,
.box_bg h3:first-child,
.box_bg h4:first-child,
.box_bg h5:first-child,
.box_bg h6:first-child,
.box_border ul:first-child,
.box_border ol:first-child,
.box_border dl:first-child,
.box_border table:first-child,
.box_border p:first-child,
.box_border h3:first-child,
.box_border h4:first-child,
.box_border h5:first-child,
.box_border h6:first-child {
  margin-top: 0;
}

.box_border {
  background: #fff;
  border: none;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1294117647);
}

.row.sp_col_2 .col_2 .box_bg,
.row.sp_col_2 .col_2 .box_border,
.row.sp_col_2 .col_3 .box_bg,
.row.sp_col_2 .col_3 .box_border,
.row.sp_col_2 .col_4 .box_bg,
.row.sp_col_2 .col_4 .box_border,
.row.sp_col_2 .col_5 .box_bg,
.row.sp_col_2 .col_5 .box_border,
.row.sp_col_2 .col_6 .box_bg,
.row.sp_col_2 .col_6 .box_border {
  height: 100%;
}

.row.sp_col_2 .col_2 .box_bg .box_bg,
.row.sp_col_2 .col_2 .box_bg .box_border,
.row.sp_col_2 .col_2 .box_border .box_bg,
.row.sp_col_2 .col_2 .box_border .box_border,
.row.sp_col_2 .col_3 .box_bg .box_bg,
.row.sp_col_2 .col_3 .box_bg .box_border,
.row.sp_col_2 .col_3 .box_border .box_bg,
.row.sp_col_2 .col_3 .box_border .box_border,
.row.sp_col_2 .col_4 .box_bg .box_bg,
.row.sp_col_2 .col_4 .box_bg .box_border,
.row.sp_col_2 .col_4 .box_border .box_bg,
.row.sp_col_2 .col_4 .box_border .box_border,
.row.sp_col_2 .col_5 .box_bg .box_bg,
.row.sp_col_2 .col_5 .box_bg .box_border,
.row.sp_col_2 .col_5 .box_border .box_bg,
.row.sp_col_2 .col_5 .box_border .box_border,
.row.sp_col_2 .col_6 .box_bg .box_bg,
.row.sp_col_2 .col_6 .box_bg .box_border,
.row.sp_col_2 .col_6 .box_border .box_bg,
.row.sp_col_2 .col_6 .box_border .box_border {
  height: auto;
}

@media (min-width: 768px) {
  .row .col_2 .box_bg,
  .row .col_2 .box_border,
  .row .col_3 .box_bg,
  .row .col_3 .box_border,
  .row .col_4 .box_bg,
  .row .col_4 .box_border,
  .row .col_5 .box_bg,
  .row .col_5 .box_border,
  .row .col_6 .box_bg,
  .row .col_6 .box_border {
    height: 100%;
  }
  .row .col_2 .box_bg .box_bg,
  .row .col_2 .box_bg .box_border,
  .row .col_2 .box_border .box_bg,
  .row .col_2 .box_border .box_border,
  .row .col_3 .box_bg .box_bg,
  .row .col_3 .box_bg .box_border,
  .row .col_3 .box_border .box_bg,
  .row .col_3 .box_border .box_border,
  .row .col_4 .box_bg .box_bg,
  .row .col_4 .box_bg .box_border,
  .row .col_4 .box_border .box_bg,
  .row .col_4 .box_border .box_border,
  .row .col_5 .box_bg .box_bg,
  .row .col_5 .box_bg .box_border,
  .row .col_5 .box_border .box_bg,
  .row .col_5 .box_border .box_border,
  .row .col_6 .box_bg .box_bg,
  .row .col_6 .box_bg .box_border,
  .row .col_6 .box_border .box_bg,
  .row .col_6 .box_border .box_border {
    height: auto;
  }
}
.googlemap,
.youtube {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: hidden;
}

.googlemap iframe,
.youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.section .box_bg:first-child,
.section_bg .box_bg:first-child,
.section .box_border:first-child,
.section_bg .box_border:first-child {
  margin-top: 0;
}

div.clearfix {
  margin-bottom: 40px;
}

@media (min-width: 768px) {
  div.clearfix {
    margin-bottom: 50px;
  }
}
.mce-content-body .link_anchor {
  margin-top: 10px;
}

@media (min-width: 768px) {
  .mce-content-body .link_anchor {
    margin-top: 20px;
  }
}
.link_anchor {
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: min(20px, 2.4vw);
}

.link_anchor li {
  display: flex;
  flex: 0 0 100%;
  width: 100%;
  line-height: 1;
  margin: 0;
  align-items: baseline;
}

.link_anchor a {
  line-height: 1.3;
  position: relative;
  text-decoration: none;
  transition: 0.3s;
  display: flex;
  align-items: center;
  border-radius: 0px;
  border: 1px solid #362f38;
  color: #362f38 !important;
  padding: 1.1em 1.25em;
  padding-right: 1.75em;
  width: 100%;
}

.link_anchor a::after,
.link_anchor a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
}

.link_anchor a:before {
  display: none;
}

.link_anchor a::after {
  top: auto;
  bottom: auto;
}

.link_anchor a:hover {
  background: #362f38;
  color: #fff !important;
}

.link_anchor a::after {
  width: 6px;
  height: 6px;
  border-top: 1px solid #362f38;
  border-right: 1px solid #362f38;
  left: auto;
  right: 15px;
  transform: rotate(45deg);
}

.link_anchor a:hover::after {
  border-color: #fff;
}

@media (min-width: 768px) {
  .link_anchor li {
    flex: 0 0 100%;
    max-width: calc((100% - min(20px, 2.4vw)) / 2);
  }
  .link_anchor li a {
    height: 100%;
    display: flex;
  }
  .link_anchor.link_col_3 li {
    max-width: calc((100% - min(20px, 2.4vw) - min(20px, 2.4vw)) / 3);
  }
}
.ul_circle,
.ul_dot,
.ul_triangle,
.ul_check,
.ol_circle {
  margin-bottom: 24px;
}

.ul_circle:last-child,
.ul_dot:last-child,
.ul_triangle:last-child,
.ul_check:last-child,
.ol_circle:last-child {
  margin-bottom: 0;
}

.ul_circle li,
.ul_dot li,
.ul_triangle li,
.ul_check li,
.ol_circle li {
  margin-top: 0;
  line-height: 1.75;
  margin-bottom: 12px;
  padding-left: 17.6px;
  position: relative;
}

.ul_circle li:last-child,
.ul_dot li:last-child,
.ul_triangle li:last-child,
.ul_check li:last-child,
.ol_circle li:last-child {
  margin-bottom: 0;
}

.ul_circle li::before,
.ul_circle li::after,
.ul_dot li::before,
.ul_dot li::after,
.ul_triangle li::before,
.ul_triangle li::after,
.ul_check li::before,
.ul_check li::after,
.ol_circle li::before,
.ol_circle li::after {
  content: "";
  position: absolute;
  letter-spacing: 0;
}

.ul_circle li ul:first-child,
.ul_dot li ul:first-child,
.ul_triangle li ul:first-child,
.ul_check li ul:first-child,
.ol_circle li ul:first-child {
  margin-top: 12px;
}

.ul_circle + p,
.ul_dot + p,
.ul_triangle + p,
.ul_check + p,
.ol_circle + p {
  margin-bottom: 24px;
}

.ul_circle li::before {
  border-radius: 50%;
  background: #537188;
  height: 8px;
  left: 0.2em;
  top: 10px;
  width: 8px;
}

.ul_dot li::before {
  border-radius: 50%;
  background: #537188;
  height: 5.3333333333px;
  left: 0.5em;
  top: 11.3333333333px;
  width: 5.3333333333px;
}

.ul_check li {
  padding-left: 2em;
}

.ul_check li::before {
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  height: 12px;
  left: 6px;
  margin-top: -4px;
  transform: rotate(50deg);
  top: 10px;
  width: 7px;
  z-index: 1;
}

.ul_check li:after {
  content: "";
  position: absolute;
  display: block;
  background: #537188;
  width: 20px;
  height: 20px;
  margin: auto;
  left: 0;
  right: auto;
  top: 4px;
  bottom: auto;
  z-index: 0;
  border-radius: 2px;
}

.ul_triangle li::before {
  left: 2px;
  border: 4px solid transparent;
  border-left: 6px solid #537188;
  top: 10px;
}

.ol_circle {
  counter-reset: ol_circle;
}

.ol_circle li {
  padding-left: 28px;
  position: relative;
}

.ol_circle li::before,
.ol_circle li:after {
  content: "";
  position: absolute;
}

.ol_circle li::before {
  background-color: #537188;
  border-radius: 50%;
  color: #fff;
  content: counter(ol_circle);
  counter-increment: ol_circle;
  display: block;
  font-size: 13.12px;
  height: 20px;
  left: 0;
  line-height: 21px;
  letter-spacing: 0.02em;
  text-align: center;
  top: 6px;
  width: 20px;
  position: absolute;
}

@media (min-width: 768px) {
  ul.list_columns_2 {
    display: flex;
    gap: 12px 2%;
    flex-wrap: wrap;
  }
  ul.list_columns_2 li {
    width: 49%;
    margin: 0;
  }
  ul.list_columns_3 {
    display: flex;
    gap: 12px 2%;
    flex-wrap: wrap;
  }
  ul.list_columns_3 li {
    width: 32%;
    margin: 0;
  }
}
table {
  width: 100%;
  border-collapse: collapse;
}

table th,
table td {
  line-height: 1.6;
}

table.table_address,
table.table_timetable,
table.table {
  margin-bottom: 1em;
}

table.table_address:last-child,
table.table_timetable:last-child,
table.table:last-child {
  margin-bottom: 0;
}

table.table_address {
  background: none;
}

table.table_address th,
table.table_address td {
  text-align: left;
  padding: 1em 0 1em 0.5em;
  border-bottom: 1px solid #a9a9a9;
  border-top: 1px solid #a9a9a9;
}

table.table_address th {
  color: #7a6548;
  border-top: 1px solid #7a6548;
  border-bottom: 1px solid #7a6548;
  font-weight: 600;
  text-align: left;
  width: 32%;
}

@media (min-width: 768px) {
  table.table_address th {
    width: 25%;
  }
  table.table_address th,
  table.table_address td {
    padding: 1.5em 0 1.5em 1em;
  }
}
table.table_timetable {
  table-layout: fixed;
}

table.table_timetable th,
table.table_timetable td {
  background: #fff;
  border-bottom: 1px solid #a9a9a9;
  padding: 0.8rem 0.2rem;
  text-align: center;
}

table.table_timetable thead th {
  background: #fff;
  color: #362f38;
}

table.table_timetable thead th:first-child {
  width: 30%;
}

table.table_timetable tbody th {
  text-align: center;
}

@media (max-width: 767px) {
  table.table_timetable {
    font-size: 90%;
  }
}
table.table th,
table.table td {
  border: 1px solid #a9a9a9;
  font-weight: normal;
  padding: 0.75em 0.35em;
  text-align: center;
}

table.table thead th,
table.table thead td {
  background: #d1a590;
  color: #fff;
  font-weight: bold;
}

table.table tbody th {
  background: #faf3f0;
}

table.table tbody td {
  background: #fff;
}

@media (min-width: 768px) {
  table.table th,
  table.table td {
    padding: 1.3em 1em;
  }
}
table.th_td_left tbody th,
table.th_td_left tbody td {
  text-align: left;
}

table.th_left tbody th {
  text-align: left;
}

table.td_left tbody td {
  text-align: left;
}

table.td_right tbody td {
  text-align: right;
}

table.td_last_right tbody td:last-child {
  text-align: right;
}

table.table_default tbody th,
table.table_default tbody td {
  text-align: left;
}

table.table_default:not(.table_fixed) tbody tr th:first-child {
  width: 32%;
}

@media (min-width: 768px) {
  table.table_default:not(.table_fixed) tbody tr th:first-child {
    width: 25%;
  }
}
table.table_fee tbody th {
  text-align: left;
}

table.table_fee tbody td:last-child {
  text-align: right;
}

table.table_fixed {
  table-layout: fixed;
}

@media (max-width: 767px) {
  table.table_sp_stack,
  table.table_sp_stack_noborder {
    border-bottom: 1px solid #a9a9a9;
  }
  table.table_sp_stack thead,
  table.table_sp_stack tbody,
  table.table_sp_stack tr,
  table.table_sp_stack th,
  table.table_sp_stack td,
  table.table_sp_stack_noborder thead,
  table.table_sp_stack_noborder tbody,
  table.table_sp_stack_noborder tr,
  table.table_sp_stack_noborder th,
  table.table_sp_stack_noborder td {
    display: block;
    width: auto;
  }
  table.table_sp_stack th,
  table.table_sp_stack_noborder th {
    border-bottom: none;
  }
  table.table_sp_stack td,
  table.table_sp_stack_noborder td {
    border-bottom: none;
  }
  table.table_sp_stack_noborder th {
    border-top-color: #a9a9a9;
    padding-bottom: 0.25em;
  }
  table.table_sp_stack_noborder td {
    border-top: none;
    padding-top: 0.25em;
  }
}
.consul {
  color: #d1a590 !important;
}

.consul2 {
  color: #d1a590 !important;
}

.js-scrollable,
.js-scrollable_pc {
  margin-bottom: 1em;
}

.js-scrollable table,
.js-scrollable_pc table {
  margin-bottom: 10px;
}

@media (max-width: 767px) {
  .js-scrollable table {
    width: auto;
    min-width: 768px;
  }
  .js-scrollable table.table_fixed {
    width: 100%;
  }
}
.js-scrollable_pc table {
  width: auto;
  min-width: 768px;
}

.js-scrollable_pc table.table_fixed {
  width: 100%;
}

@media (min-width: 768px) {
  .js-scrollable_pc table {
    min-width: 1300px;
  }
}
.js-scrollable.scroll-hint {
  overflow-y: hidden !important;
}

.box_faq {
  border-bottom: 1px solid #a9a9a9;
  padding-bottom: 28px;
  margin-bottom: 28px;
}

.box_faq:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.box_faq .question,
.box_faq .answer {
  padding: 6px 0px 6px 60px;
  position: relative;
}

.box_faq .question::before,
.box_faq .answer::before {
  border-radius: 20px;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", serif;
  font-size: 26px;
  font-weight: 600;
  height: 40px;
  left: 0;
  letter-spacing: 0;
  line-height: 40px;
  position: absolute;
  text-align: center;
  top: 0;
  width: 40px;
}

.box_faq .question {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.6;
}

.box_faq .question::before {
  content: "Q";
  color: #fff;
  background: #537188;
}

.box_faq .question .faq_title {
  cursor: pointer;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", serif;
  margin-top: 0;
  padding-right: 20px;
  position: relative;
}

.box_faq .question .faq_title::before,
.box_faq .question .faq_title::after {
  position: absolute;
  content: "";
  top: 12px;
  right: 0;
  background: #537188;
  border-radius: 1px;
  width: 16px;
  height: 3px;
}

.box_faq .question .faq_title::after {
  transform: rotate(90deg);
  transition: 0.3s;
}

.box_faq.open .question .faq_title::after {
  transform: rotate(0);
}

.box_faq .answer {
  display: none;
  padding-top: 37px;
}

.box_faq .answer p {
  margin-top: 0;
}

.box_faq .answer::before {
  content: "A";
  color: #fff;
  background: #d1a590;
  top: 30px;
}

.flow-box {
  margin-bottom: 50px;
}

.flow-box:last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .flow-box {
    margin-bottom: 40px;
  }
  .flow-box:last-child {
    margin-bottom: 0;
  }
}
.flow-block {
  border: 5px solid #f7f5ef;
  background: #fff;
  border-radius: 0px;
  margin-top: 82px;
  padding: 50px;
  position: relative;
}

.flow-block:first-child {
  margin-top: 0;
}

.flow-block:last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .flow-block {
    padding: 24px 16px;
  }
}
.flow-block::after {
  content: "";
  bottom: -95px;
  border: 32px solid transparent;
  border-top-color: #e1d4bb;
  left: 50%;
  margin-left: -32px;
  position: absolute;
}

@media (max-width: 767px) {
  .flow-block::after {
    bottom: -95px;
  }
}
.flow-block:last-child::after,
.flow-block.last::after {
  display: none;
}

.section_bg .flow-block {
  background: #fff;
}

.section_bg .flow-block::after {
  border-top-color: #e1d4bb;
}

.flow-block .title {
  --flow-title-font-size: 18px; /* .flow-block .title の font-size */
  --flow-title-line-height: 1.5; /* .flow-block .title の line-height */
  /**/
  flex: 0 0 auto;
  display: flex;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", serif;
  font-weight: bold;
  font-size: var(--flow-title-font-size);
  line-height: var(--flow-title-line-height);
  margin-top: 0 !important;
  padding: 0;
  text-align: left;
  border: none;
}

@media (min-width: 768px) {
  .flow-block .title {
    --flow-title-font-size: 24px; /* .flow-block .title の font-size */
  }
}
.flow-block .title::after,
.flow-block .title::before {
  display: none;
}

.flow-block .title .num {
  --flow-num-font-percent: 0.83; /* .flow-block .title .num フォントサイズ */
  --flow-num-width: calc(var(--flow-title-line-height) * var(--flow-title-font-size) * var(--flow-num-font-percent) + (var(--flow-title-font-size) / 6)); /* .flow-block .title .num の width*/
  /**/
  display: block;
  border: #d1a590;
  background: #d1a590;
  margin-right: 0.5em;
  margin-bottom: auto;
  color: #fff;
  border-radius: 2px;
  flex: none;
  font-size: calc(var(--flow-title-font-size) * var(--flow-num-font-percent));
  font-weight: bold;
  text-align: center;
  letter-spacing: 0;
  line-height: var(--flow-num-width);
  width: var(--flow-num-width);
  aspect-ratio: 1;
  transform: translateY(calc(var(--flow-title-font-size) / 6 / 2 - var(--yugo-minus)));
}

@media (min-width: 768px) {
  .flow-block .title {
    font-size: var(--flow-title-font-size);
  }
}
.flow-block {
  background: #fff;
  border: none;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1294117647);
}

.home .footer {
  border-top: none;
}

.footer {
  padding-top: 50px;
  background: #fff;
  overflow: hidden;
  border-top: 2px solid #e1d4bb;
}

.footer .sec_logo {
  margin: 0 0 30px;
}

.footer .footer_text {
  line-height: 23px;
  margin-top: 5px;
}

.footer table.address {
  margin-bottom: 10px;
}

.footer table.address th,
.footer table.address td {
  padding: 8px 0;
  line-height: 1.4;
}

.footer table.address th {
  width: 60px;
  text-align: left;
  padding-right: 8px;
}

.footer .sec_img {
  margin: 0;
}

.footer .sitemap {
  text-align: center;
  margin-bottom: 30px;
}

.footer .sitemap a {
  text-decoration: none;
  color: #362f38;
  position: relative;
  padding-left: 15px;
}

.footer .sitemap a:hover {
  text-decoration: underline;
}

.footer .sitemap a:after {
  content: "";
  position: absolute;
  display: block;
  margin: auto;
  left: 0;
  right: auto;
  top: 0;
  bottom: 0;
  width: 6px;
  height: 6px;
  border-top: 1px solid #362f38;
  border-right: 1px solid #362f38;
  transform: rotate(45deg);
}

@media (min-width: 768px) {
  .footer {
    padding-top: 100px;
  }
  .footer .googlemap {
    height: 100%;
    padding-top: initial;
  }
}
.copyright {
  background: #e1d4bb;
  color: #fff;
  margin-top: 30px;
  padding: 10px 0;
  text-align: center;
}

@media (max-width: 767px) {
  .copyright {
    padding: 10px 0 17%;
  }
}
.list_list dd a {
  color: #362f38;
  text-decoration: none;
}

.list_list dd a:hover {
  text-decoration: underline;
}

@media (max-width: 767px) {
  .list_list dt {
    padding: 0.5em 0 0;
  }
  .list_list dd {
    padding: 0 0 0.5em;
  }
}
@media (min-width: 768px) {
  .list_list dt {
    float: left;
  }
  .list_list dd {
    padding-left: 120px;
  }
}
.loopslider_wrap {
  overflow: hidden;
}

.loopslider {
  animation: loopslider 120s linear infinite;
  display: flex;
  width: 2400px;
  height: 100%;
}

@keyframes loopslider {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-1200px);
  }
}
@media (min-width: 768px) {
  .loopslider {
    animation: loopslider 140s linear infinite;
    width: 3840px;
  }
  @keyframes loopslider {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(-1920px);
    }
  }
}
.img_slider {
  max-width: 850px;
  margin: auto;
}

.img_slider img {
  border-radius: 0;
}

.img_slider .img_slide_thumb {
  margin-top: 10px;
}

.img_slider .img_slide_thumb img {
  padding: 0 2px;
}

.img_slider .img_slide_main .item {
  position: relative;
}

.img_slider .img_slide_main .img_slider_title {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.7);
  padding: 15px 10px;
  line-height: 1.5;
  color: #fff;
  text-align: center;
}

@media (min-width: 768px) {
  .img_slider .img_slide_thumb img {
    padding: 0 5px;
  }
}
.sec_top {
  margin: 0;
}

.sec_top h2,
.sec_top h3 {
  padding: 0;
  margin: 0;
  border: none;
  color: #362f38;
}

.sec_top h2:before,
.sec_top h2:after,
.sec_top h3:before,
.sec_top h3:after {
  display: none;
}

.sec00 {
  padding: 50px 0;
}

@media (min-width: 768px) {
  .sec00 {
    padding: 70px 0;
  }
}
@media only screen and (min-width: 1240px) {
  .sec00 {
    padding: 100px 0;
  }
}
.preparation_text {
  position: relative;
}

.preparation_text:before {
  content: "";
  position: absolute;
  display: block;
  margin: auto;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  opacity: 0.3;
  background: #000;
}

.preparation_text:after {
  content: "決定次第、お知らせします";
  position: absolute;
  display: block;
  margin: auto;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  font-size: 18px;
  line-height: 1;
  color: #fff;
  font-weight: bold;
  text-align: center;
  height: -moz-fit-content;
  height: fit-content;
}

.mce-content-body {
  /* 月間予約カレンダー、複合カレンダー、時間割カレンダー、リストカレンダー、ミックスカレンダー、月リストカレンダー */
  /* 指定日予約状況表示 */
  /* ミックスカレンダーデイリー */
  /* 予約フォーム */
  /* Ver.1.34.2 オプション選択肢料金非表示設定 */
  /* 予約フォーム料金表 */
  /* 予約フォーム　同意書　送信ボタン */
  /* 予約フォーム オプション表示項目 */
  /* 予約確認 キャンセル */
}

.mce-content-body .list-monthly-calendar,
.mce-content-body .mix-calendar,
.mce-content-body .list-calendar,
.mce-content-body .timetbale-calendar,
.mce-content-body .multiple-calendar,
.mce-content-body .monthly-calendar {
  margin-bottom: 1.5em;
}

.mce-content-body .list-calendar h3,
.mce-content-body .timetable-calendar h3,
.mce-content-body .multiple-calendar h3,
.mce-content-body .monthly-calendar h3 {
  font-size: 1.1em;
  margin: 0.5em 0;
}

.mce-content-body .calendar-caption {
  font-size: 1.2em;
}

.mce-content-body .mix-calendar th,
.mce-content-body .timetable-calendar th,
.mce-content-body .multiple-calendar th,
.mce-content-body .monthly-calendar th {
  font-size: 1.1em;
}

.mce-content-body .monthly-prev-next {
  font-size: 1em;
}

.mce-content-body .calendar-time-mark,
.mce-content-body .calendar-mark,
.mce-content-body .calendar-time-disable {
  font-size: 1.4em;
}

.mce-content-body .calendar-time-mark {
  line-height: 1.5em;
}

.mce-content-body .calendar-time-mark .time-string,
.mce-content-body .calendar-mark .article-name {
  font-size: 0.8em;
}

.mce-content-body .day-calendar {
  margin-bottom: 1.5em;
}

.mce-content-body .day-calendar h3 {
  font-size: 1.1em;
}

.mce-content-body .day-calendar th,
.mce-content-body .day-calendar td {
  font-size: 1em;
}

.mce-content-body th.day-left {
  line-height: 2.5em;
}

.mce-content-body td.day-right {
  font-size: 1.5em;
}

.mce-content-body .day-mix-calendar {
  margin-bottom: 1.5em;
}

.mce-content-body .day-mix-calendar th,
.mce-content-body .day-mix-calendar td {
  font-size: 1em;
}

.mce-content-body .mix-dayrow.space-line {
  height: 1em;
}

.mce-content-body .content-form {
  margin-bottom: 1em;
}

.mce-content-body .content-form .form-message {
  margin-bottom: 1em;
  padding: 0.5em;
}

.mce-content-body .content-form fieldset {
  margin: 0 0 1.5em 0;
}

.mce-content-body .content-form legend {
  font-size: 1.1em;
}

.mce-content-body .content-form th {
  font-size: 1em;
  line-height: 2.2em;
}

.mce-content-body .content-form td {
  font-size: 0.9em;
}

.mce-content-body .content-form input,
.mce-content-body .content-form textarea {
  font-size: 1em;
}

.mce-content-body .content-text.small {
  width: 3em;
}

.mce-content-body .input-number {
  margin-right: 1em;
}

.mce-content-body .content-form .booking-seimei {
  width: 3em;
}

.mce-content-body .bill-details td {
  padding-right: 0.5em;
}

.mce-content-body .bill-total,
.mce-content-body .bill-tax {
  padding-right: 1.5em;
}

.mce-content-body #terms-conditions,
.mce-content-body #accedence-box,
.mce-content-body #button-message {
  margin: 1em 0;
}

.mce-content-body .content-form input.booking-option-number {
  width: 3em;
}

.mce-content-body .content-form label.field-item {
  margin-right: 0.4em;
}

.mce-content-body .content-form label.field-item input {
  margin-right: 0.15em;
}

.mce-content-body .content-form select {
  font-size: 1em;
  padding: 0.1em 0.15em;
}

.mce-content-body .subscription-title {
  font-size: 1.2em;
}

.btnstyle a {
  min-width: 160px;
  width: -moz-fit-content;
  width: fit-content;
  padding-block: 0.5em;
  padding-inline: 2em;
  border-radius: 50vh;
  border: unset;
  background-color: #e1d4bb;
  font-family: "Marcellus", "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", serif;
}

.btnstyle a::after {
  right: 1.2em;
}

.mce-content-body h3 {
  position: relative;
  padding-left: 1em;
  border-color: #537188;
}

.mce-content-body h3::after {
  content: "";
  position: absolute;
  display: block;
  margin: auto;
  left: 0;
  top: 3px;
  right: auto;
  bottom: auto;
  width: 5px;
  height: 30px;
  background: url("../img/common/h3.jpg") no-repeat center/contain;
}

@media (min-width: 768px) {
  .mce-content-body h3::after {
    top: 2px;
  }
}
.mce-content-body h4::after {
  top: 5px;
  background: url("../img/common/h4.jpg") no-repeat center/contain;
}

@media (min-width: 768px) {
  .mce-content-body h4::after {
    top: 8px;
  }
}
.mce-content-body h5::after {
  top: 5px;
  background: url("../img/common/h5.png") no-repeat center/contain;
}

@media (min-width: 768px) {
  .mce-content-body h5::after {
    top: 7px;
  }
}
.flow-block .title .num {
  font-family: Arial, Helvetica, sans-serif;
}

table.table_timetable th,
table.table_timetable td {
  padding-block: 0.86em;
  padding-inline: 2em;
}

table.table_timetable thead th {
  font-weight: normal;
}

table.table_timetable thead th:first-child {
  width: 23%;
  text-align: left;
}

table.table_timetable tbody th {
  text-align: left;
  font-weight: normal;
}

@media (min-width: 768px) {
  table.table_timetable {
    font-size: 18px;
  }
}
table.table_address th,
table.table_address td {
  padding: 1.05em 2.5em;
}

table.table_address th {
  font-weight: normal;
}

table.table th,
table.table td {
  padding: 1.05em 2.5em;
  border-color: #e1d4bb;
}

.box_faq .question .faq_title {
  font-weight: normal;
}

.footer {
  border-top: 1px solid #a0b1bf !important;
}

@media (min-width: 768px) {
  .footer {
    padding-top: 80px;
  }
}
@media (max-width: 767px) {
  .footer .col_r {
    margin-top: 10%;
  }
}
.footer .sec_logo {
  text-align: center;
}

.footer .address {
  margin-bottom: 20px;
}

.footer .address p {
  margin-bottom: 10px;
  line-height: 1.75;
  letter-spacing: 0.1em;
}

@media (max-width: 767px) {
  .footer .address p {
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
    font-size: 13px;
  }
}
.footer .address .btnstyle a {
  font-size: 18px;
  letter-spacing: 0.02em;
}

@media (min-width: 768px) {
  .footer .address .btnstyle a {
    margin-inline: 0 auto;
  }
}
.footer .tel {
  text-align: center;
}

@media (min-width: 768px) {
  .footer .tel {
    text-align: left;
  }
}
.footer .tel a {
  font-size: 36px;
  letter-spacing: 0.05em;
}

@media (min-width: 768px) {
  .footer .tel a {
    font-size: 36px;
  }
}
.footer .tel a::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 28px;
  margin-right: 0.2em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='23px' height='30px'%3E%3Cpath fill-rule='evenodd' fill='rgb(54, 47, 56)' d='M2.375,2.163 C0.437,3.413 0.056,7.319 0.788,10.503 C1.358,12.982 2.569,16.309 4.613,19.440 C6.535,22.387 9.217,25.029 11.262,26.557 C13.888,28.519 17.631,29.767 19.569,28.517 C20.549,27.885 22.006,26.159 22.072,25.849 C22.072,25.849 21.218,24.539 21.031,24.253 L18.167,19.864 C17.954,19.537 16.620,19.836 15.942,20.217 C15.027,20.732 14.185,22.115 14.185,22.115 C13.558,22.475 13.033,22.116 11.935,21.613 C10.587,20.997 9.070,19.080 7.864,17.345 C6.761,15.541 5.619,13.384 5.603,11.908 C5.589,10.707 5.474,10.083 6.060,9.661 C6.060,9.661 7.673,9.461 8.519,8.841 C9.146,8.382 9.964,7.291 9.752,6.965 L6.888,2.575 C6.701,2.288 5.847,0.979 5.847,0.979 C5.535,0.914 3.355,1.531 2.375,2.163 Z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

@media (max-width: 767px) {
  .footer table.table_timetable {
    font-size: 12px;
  }
}
.footer table.table_timetable th,
.footer table.table_timetable td {
  padding-block: 0.75em;
  padding-inline: 1em;
}

.footer table.table_timetable thead th {
  padding-top: 0;
}

.footer table.table_timetable thead th:first-child {
  width: 32%;
  text-align: center;
}

.footer table.table_timetable tbody th {
  text-align: center;
}

.footer .access {
  display: flex;
  align-items: center;
  justify-content: left;
  -moz-column-gap: 1em;
  column-gap: 1em;
  margin-top: 25px;
  margin-left: 0.5em;
}

@media (max-width: 767px) {
  .footer .access {
    justify-content: center;
    font-size: 12px;
  }
}
.footer .access::before {
  content: "";
  display: block;
  width: 50px;
  height: auto;
  aspect-ratio: 1/1;
  background: url("../img/common/ic_train.png") no-repeat center/contain;
}

@media (max-width: 767px) {
  .footer .access::before {
    width: 40px;
  }
}
.footer .access p {
  line-height: 24px;
}

.footer .access p .large {
  margin-left: -0.5em;
  font-size: 24px;
}

@media (max-width: 767px) {
  .footer .access p {
    line-height: 18px;
    letter-spacing: 0.1em;
  }
  .footer .access p .large {
    font-size: 18px;
  }
}
.footer .credit {
  width: -moz-fit-content;
  width: fit-content;
  padding: 20px;
  margin-top: 60px;
  margin-inline: auto;
  margin-bottom: 50px;
  border: solid 1px #a9a9a9;
  text-align: center;
}

@media (max-width: 767px) {
  .footer .credit {
    padding: 10px;
  }
}
.footer .credit .title {
  margin-bottom: 20px;
  background-color: #537188;
  color: #fff;
  font-size: 22px;
  line-height: 1.8181818182;
  letter-spacing: 0;
}

@media (max-width: 767px) {
  .footer .credit .title {
    font-size: 18px;
  }
}
.footer .credit img {
  width: calc(100% - 72px);
  margin-inline: 36px;
}

@media (max-width: 767px) {
  .footer .credit img {
    width: calc(100% - 36px);
    margin-inline: 18px;
  }
}
.footer .sitemap {
  margin-bottom: 50px;
}

.footer .sitemap a {
  padding-left: unset;
}

.footer .sitemap a::after {
  content: unset;
}

.footer .me_bnr {
  width: 180px;
}

.footer .me_bnr a {
  color: #362f38;
}

.footer .copyright {
  margin-top: 0;
  padding-block: 50px 70px;
  background: unset;
  color: #362f38;
  letter-spacing: 0;
}

@media (max-width: 767px) {
  .footer .copyright {
    font-size: 12px;
  }
}
body.home .sec_top {
  position: relative;
  z-index: 0;
  padding-block: 70px;
}

@media (min-width: 768px) {
  body.home .sec_top {
    padding-block: 140px;
  }
}
body.home .sec_top h2 {
  margin-bottom: 25px;
  color: #537188;
  font-family: "Marcellus", serif;
  font-weight: normal;
  font-size: 36px;
  line-height: 1;
  letter-spacing: 0.05em;
}

@media (min-width: 768px) {
  body.home .sec_top h2 {
    font-size: 60px;
    margin-bottom: 50px;
  }
}
body.home .sec_top h2 .jp {
  color: #362f38;
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", serif;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.05em;
}

@media (min-width: 768px) {
  body.home .sec_top h2 .jp {
    font-size: 20px;
  }
}
body.home .sec_top h2.h2_column .jp {
  display: block;
  margin-top: 0.3em;
}

@media (min-width: 768px) {
  body.home .sec_top h2.h2_column .jp {
    margin-top: 0.9em;
  }
}
body.home .sec_top h2.h2_row .jp {
  display: inline-block;
  margin-left: 1em;
}

body.home .sec_top h2.h2_left {
  text-align: left;
}

body.home .sec_top h2.h2_right {
  text-align: right;
}

body.home .sec_top h2.h2_center {
  text-align: center;
}

body.home .sec_top h2.h2_num {
  /* .h2_numを配置するsectionに counter-reset: h2_num; */
  counter-increment: h2_num; /* 各.h2_numでカウンターを1増やす */
}

body.home .sec_top h2.h2_num .jp {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

body.home .sec_top h2.h2_num .jp::after {
  content: "";
  grid-area: num;
  display: block;
  content: counter(h2_num, decimal-leading-zero);
  font-size: 50px;
  font-weight: 300;
  line-height: 1;
}

@media (min-width: 768px) {
  body.home .sec_top h2.h2_num .jp::after {
    font-size: 100px;
  }
}
@media (min-width: 768px) {
  body.home .sec_top .btnstyle a {
    padding-block: 0.37em;
    font-size: 18px;
  }
}
body.home .sec_top .btnstyle.nolink span {
  line-height: 1.5;
  display: table;
  position: relative;
  text-align: center;
  margin: auto;
  text-decoration: none !important;
  color: #362f38 !important;
  max-width: 280px;
  background: #e1d4bb;
  padding: 0.37em 1.5em;
  transition: 0.3s;
  min-width: 160px;
  width: -moz-fit-content;
  width: fit-content;
  border-radius: 50vh;
  border: unset;
  background-color: #e1d4bb;
  font-family: "Marcellus", "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HGS明朝E", serif;
  font-size: 18px;
}

body.home .sec_top .btnstyle.nolink span::after {
  content: "";
  border-top: 1px solid #362f38;
  border-right: 1px solid #362f38;
  height: 6px;
  margin: auto;
  position: absolute;
  right: 1.2em;
  top: 0;
  bottom: 0;
  width: 6px;
  transform: rotate(45deg);
}

body.home .sec_post {
  padding-block: 60px;
}

@media (min-width: 768px) {
  body.home .sec_post {
    padding-block: 120px;
  }
}
body.home .sec_post h2 {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  body.home .sec_post h2 {
    font-size: 48px;
  }
  body.home .sec_post h2 .jp {
    margin-bottom: 30px;
    font-size: 18px;
  }
}
body.home .sec_post .row_post {
  -moz-column-gap: 60px;
  column-gap: 60px;
}

@media (max-width: 767px) {
  body.home .sec_post .row_post .col_title {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
  }
  body.home .sec_post .row_post .col_title .btnstyle {
    flex: 1;
  }
  body.home .sec_post .row_post .col_title .btnstyle a {
    margin-inline: auto 0;
  }
}
@media (min-width: 768px) {
  body.home .sec_post .row_post .col_list {
    flex: 1;
  }
}
@media (min-width: 768px) {
  body.home .sec_post .list_list dt,
  body.home .sec_post .list_list dd {
    padding-bottom: 1.35em;
    margin-bottom: 1.35em;
  }
}
@media (max-width: 767px) {
  body.home .sec_post .list_list dt:first-child {
    border-top: solid 1px #362f38;
  }
}
body.home .sec_post .list_list dd {
  border-bottom: solid 1px #362f38;
}

body.home .sec_open {
  padding-block: 50px 0;
}

@media (min-width: 768px) {
  body.home .sec_open {
    padding-block: 100px 0;
  }
}
body.home .sec_open h2 {
  margin-bottom: 0;
  color: #cbb27b;
  font-size: 36px;
  letter-spacing: 0.04em;
}

body.home .sec_open h2 .small {
  font-size: 18px;
  letter-spacing: 0.05em;
}

body.home .sec_open h2 .large {
  background: linear-gradient(0deg, rgb(196, 162, 75) 0%, rgb(196, 162, 75) 50%, rgb(203, 178, 123) 50%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 45px;
  letter-spacing: 0.03em;
}

@media (min-width: 768px) {
  body.home .sec_open h2 {
    font-size: 72px;
    letter-spacing: 0.04em;
  }
  body.home .sec_open h2 .small {
    font-size: 36px;
    letter-spacing: 0.05em;
  }
  body.home .sec_open h2 .large {
    font-size: 90px;
    letter-spacing: 0.03em;
  }
}
body.home .sec_recruit {
  padding-top: 0;
}

body.home .sec_recruit h2 {
  margin-bottom: 0;
  font-size: 31.1688311688px;
}

body.home .sec_recruit h2 .jp {
  margin-left: 0.5em;
  font-size: 11.6883116883px;
}

@media (min-width: 768px) {
  body.home .sec_recruit h2 {
    font-size: 48px;
  }
  body.home .sec_recruit h2 .jp {
    font-size: 18px;
  }
}
body.home .sec_recruit .bnr_recruit {
  display: flex;
  flex-direction: column;
  justify-content: center;
  row-gap: 5%;
  padding-inline: 3%;
  aspect-ratio: 750/333;
  background: url("../img/top/sp_top_bg01.png") no-repeat right/cover;
}

@media (min-width: 768px) {
  body.home .sec_recruit .bnr_recruit {
    row-gap: 20px;
    aspect-ratio: 1200/235;
    padding-inline: 4%;
    background: url("../img/top/top_bg01.png") no-repeat right/cover;
  }
}
body.home .sec_recruit .bnr_recruit .row_recruit {
  align-items: center;
  -moz-column-gap: 3.5%;
  column-gap: 3.5%;
  padding-right: 37%;
}

body.home .sec_recruit .bnr_recruit .row_recruit .col_text p {
  font-size: 11.6883116883px;
  line-height: 1.6666666667;
  letter-spacing: -0.06em;
}

@media (min-width: 768px) {
  body.home .sec_recruit .bnr_recruit .row_recruit .col_text p {
    font-size: 18px;
  }
}
@media (max-width: 767px) {
  body.home .sec_recruit .bnr_recruit .row_recruit .btnstyle a {
    min-width: 77px;
    margin-inline: 0 auto;
    margin-top: 1.5%;
    font-size: 7.7922077922px;
  }
}
body.home .sec_info {
  background: url("../img/top/top_bg02.jpg") no-repeat center/cover;
}

body.home .sec_info .inner {
  width: 95%;
  padding: 7.5% 4%;
  margin-left: auto;
  border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;
  background-color: rgba(255, 255, 255, 0.8);
}

@media (min-width: 768px) {
  body.home .sec_info .inner {
    width: 84%;
    padding: 3.5% 4%;
    padding-right: max(50vw - 600px, 4%);
  }
}
body.home .sec_info h2 {
  margin-bottom: 20px;
}

@media (min-width: 768px) {
  body.home .sec_info h2 {
    margin-bottom: 53px;
  }
}
@media (max-width: 767px) {
  body.home .sec_info h2.h2_row .jp {
    display: block;
    margin-top: 0.3em;
    margin-left: 0;
  }
}
@media (max-width: 767px) {
  body.home .sec_info h2.h2_left {
    text-align: center;
  }
}
body.home .sec_info .row_info h3 {
  padding-left: 0;
  padding-bottom: 0.5em;
  margin-bottom: 10px;
  color: #537188;
  text-align: center;
}

body.home .sec_info .row_info h3::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 1.67em;
  height: 1px;
  margin-inline: auto;
  background-color: #537188;
}

body.home .sec_info .row_info h3::after {
  content: unset;
}

body.home .sec_info .row_info .col_2 {
  padding: 4%;
  background-color: rgba(255, 255, 255, 0.9);
}

@media (min-width: 768px) {
  body.home .sec_info .row_info .col_2 {
    padding: 3% 3.34%;
  }
}
body.home .sec_info .row_info .col_access .tel {
  text-align: center;
}

@media (min-width: 768px) {
  body.home .sec_info .row_info .col_access .tel {
    text-align: left;
  }
}
body.home .sec_info .row_info .col_access .tel a {
  color: #362f38;
  font-size: 36px;
  line-height: 1;
  letter-spacing: 0.05em;
  text-decoration: none;
}

@media (min-width: 768px) {
  body.home .sec_info .row_info .col_access .tel a {
    font-size: 36px;
  }
}
body.home .sec_info .row_info .col_access .tel a::before {
  content: "";
  display: inline-block;
  width: 22px;
  height: 28px;
  margin-right: 0.2em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='23px' height='30px'%3E%3Cpath fill-rule='evenodd' fill='rgb(54, 47, 56)' d='M2.375,2.163 C0.437,3.413 0.056,7.319 0.788,10.503 C1.358,12.982 2.569,16.309 4.613,19.440 C6.535,22.387 9.217,25.029 11.262,26.557 C13.888,28.519 17.631,29.767 19.569,28.517 C20.549,27.885 22.006,26.159 22.072,25.849 C22.072,25.849 21.218,24.539 21.031,24.253 L18.167,19.864 C17.954,19.537 16.620,19.836 15.942,20.217 C15.027,20.732 14.185,22.115 14.185,22.115 C13.558,22.475 13.033,22.116 11.935,21.613 C10.587,20.997 9.070,19.080 7.864,17.345 C6.761,15.541 5.619,13.384 5.603,11.908 C5.589,10.707 5.474,10.083 6.060,9.661 C6.060,9.661 7.673,9.461 8.519,8.841 C9.146,8.382 9.964,7.291 9.752,6.965 L6.888,2.575 C6.701,2.288 5.847,0.979 5.847,0.979 C5.535,0.914 3.355,1.531 2.375,2.163 Z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

body.home .sec_info .row_info .col_timetable p {
  padding-left: 1.5em;
}

body.home .sec_info .row_info .address {
  margin-bottom: 40px;
}

body.home .sec_info .row_info .address > p {
  line-height: 1.75;
  margin-bottom: 15px;
}

body.home .sec_info .row_info .address .row_address {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 10px;
  column-gap: 10px;
}

@media (min-width: 768px) {
  body.home .sec_info .row_info .address .row_address {
    -moz-column-gap: 20px;
    column-gap: 20px;
  }
}
body.home .sec_info .row_info .address .row_address .col_ic {
  display: flex;
  gap: 10px;
}

body.home .sec_info .row_info .address .row_address .col_ic .ic {
  padding: 0em 1em;
  margin-bottom: 0;
  border-radius: 4px;
  background-color: #d3dfe8;
  font-size: 16px;
  text-align: center;
}

@media (min-width: 768px) {
  body.home .sec_info .row_info .address .row_address .col_ic .ic {
    min-width: 200px;
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  body.home .sec_info .row_info .address .row_address .btnstyle a {
    min-width: 120px;
    font-size: 14px;
  }
}
body.home .sec_info table.table_timetable {
  margin-bottom: 15px;
}

@media (max-width: 767px) {
  body.home .sec_info table.table_timetable {
    font-size: 12px;
  }
}
body.home .sec_info table.table_timetable th,
body.home .sec_info table.table_timetable td {
  padding-block: 0.75em;
  padding-inline: 0.8em;
}

@media (max-width: 767px) {
  body.home .sec_info table.table_timetable th,
  body.home .sec_info table.table_timetable td {
    padding-inline: 0;
  }
}
body.home .sec_info table.table_timetable thead th {
  padding-top: 0;
}

body.home .sec_info table.table_timetable thead th:first-child {
  width: 33%;
  text-align: center;
}

body.home .sec_info table.table_timetable tbody th {
  text-align: center;
}

body.home .sec_greeting {
  position: relative;
}

body.home .sec_greeting::before,
body.home .sec_greeting::after {
  content: "";
  position: absolute;
  z-index: 0;
  display: block;
  background-color: #fcfbf7;
}

body.home .sec_greeting::before {
  top: 0;
  left: 0;
  width: 40%;
  height: 840px;
}

body.home .sec_greeting::after {
  right: 0;
  bottom: 80px;
  width: 45%;
  height: 700px;
}

body.home .sec_greeting .container {
  position: relative;
  z-index: 1;
}

@media (min-width: 768px) {
  body.home .sec_greeting h2 {
    margin-top: -5px;
  }
}
@media (max-width: 767px) {
  body.home .sec_greeting h2.h2_row .jp {
    display: block;
    margin-top: 0.3em;
    margin-left: 0;
  }
}
@media (max-width: 767px) {
  body.home .sec_greeting h2.h2_left {
    text-align: center;
  }
}
body.home .sec_greeting .row_greeting {
  position: relative;
}
@media (min-width: 768px) {
  body.home .sec_greeting .row_greeting {
    -moz-column-gap: 80px;
         column-gap: 80px;
  }
}
@media (min-width: 768px) {
  body.home .sec_greeting .row_greeting::after {
    content: "";
    position: absolute;
    z-index: 0;
    display: block;
    width: calc(80px + max(50vw - 50%, 20px));
    max-width: 600px;
    height: 500px;
  }
}
body.home .sec_greeting .row_greeting .col_text {
  flex: 1;
}
body.home .sec_greeting .row_greeting .col_img {
  z-index: 1;
}
@media (max-width: 767px) {
  body.home .sec_greeting .row_greeting .col_img {
    position: relative;
    margin-bottom: 20px;
  }
  body.home .sec_greeting .row_greeting .col_img::after {
    content: "";
    position: absolute;
    z-index: 0;
    display: block;
    width: 77.9220779221vw;
    height: 64.9350649351vw;
  }
}
@media (min-width: 768px) {
  body.home .sec_greeting .row_greeting .col_img {
    width: 36.6666666667%;
  }
}
body.home .sec_greeting .row_greeting .col_img figure {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
}
@media (max-width: 767px) {
  body.home .sec_greeting .row_greeting .col_img figure img {
    width: 57.1428571429vw;
  }
}
body.home .sec_greeting .row_greeting .greeting_name {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  padding-inline: 0.66em;
  margin-top: -4.5454545455vw;
  border-bottom: solid 1px #365a75;
  background-color: #fff;
  color: #365a75;
  font-size: 3.8961038961vw;
  line-height: 2.3333333333;
}
@media (min-width: 768px) {
  body.home .sec_greeting .row_greeting .greeting_name {
    margin-top: -35px;
    font-size: 30px;
  }
}
body.home .sec_greeting .row_greeting .greeting_name .en {
  margin-left: 1em;
  font-family: "Marcellus", serif;
  font-size: 12px;
}
@media (max-width: 767px) {
  body.home .sec_greeting .row_greeting:not(.reverse)::after {
    top: 87.6623376623px;
    left: 0;
  }
}
@media (min-width: 768px) {
  body.home .sec_greeting .row_greeting:not(.reverse)::after {
    top: 180px;
    right: calc(100% - 80px);
  }
}
@media (max-width: 767px) {
  body.home .sec_greeting .row_greeting:not(.reverse) .col_img {
    padding-bottom: 18.1818181818vw;
  }
}
@media (max-width: 767px) {
  body.home .sec_greeting .row_greeting:not(.reverse) .col_img {
    margin-inline: auto 0;
  }
}
@media (max-width: 767px) {
  body.home .sec_greeting .row_greeting:not(.reverse) .col_img::after {
    bottom: 0;
    left: 0;
  }
}
@media (max-width: 767px) {
  body.home .sec_greeting .row_greeting:not(.reverse) .col_img figure img {
    margin-inline: auto 0;
  }
}
body.home .sec_greeting .row_greeting:not(.reverse) .greeting_name {
  margin-inline: auto 0;
}
@media (min-width: 768px) {
  body.home .sec_greeting .row_greeting.reverse::after {
    top: 0;
    left: calc(100% - 80px);
  }
}
@media (max-width: 767px) {
  body.home .sec_greeting .row_greeting.reverse .col_img {
    padding-top: 87.6623376623px;
    margin-inline: 0 auto;
  }
}
@media (min-width: 768px) {
  body.home .sec_greeting .row_greeting.reverse .col_img {
    margin-top: 180px;
  }
}
@media (max-width: 767px) {
  body.home .sec_greeting .row_greeting.reverse .col_img::after {
    top: 0;
    right: 0;
  }
}
@media (max-width: 767px) {
  body.home .sec_greeting .row_greeting.reverse .col_img figure img {
    margin-inline: 0 auto;
  }
}
body.home .sec_greeting .row_greeting.reverse .greeting_name {
  margin-inline: 0 auto;
}
body.home .sec_greeting .row_greeting:nth-of-type(1)::after {
  background: url("../img/top/top_greeting_bg01.png") no-repeat left/cover;
}
@media (max-width: 767px) {
  body.home .sec_greeting .row_greeting:nth-of-type(1) .col_img::after {
    background: url("../img/top/top_greeting_bg01.png") no-repeat left/cover;
  }
}
body.home .sec_greeting .row_greeting:nth-of-type(2)::after {
  background: url("../img/top/top_greeting_bg02.png") no-repeat right/cover;
}
@media (max-width: 767px) {
  body.home .sec_greeting .row_greeting:nth-of-type(2) .col_img::after {
    background: url("../img/top/top_greeting_bg02.png") no-repeat right/cover;
  }
}

body.home .sec_treatment {
  padding-top: 0;
  background: url("../img/top/top_bg03.jpg") no-repeat top/contain;
  background-color: #faf8f5;
}

body.home .sec_treatment h2 {
  transform: translateY(-10px);
  margin-bottom: 40px;
}

body.home .sec_treatment .grid_treatment {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  -moz-column-gap: 10px;
  column-gap: 10px;
}

@media (min-width: 768px) {
  body.home .sec_treatment .grid_treatment {
    -moz-column-gap: 20px;
    column-gap: 20px;
  }
}
body.home .sec_treatment .grid_treatment li {
  width: calc((100% - 10px) / 2);
  padding-block: 5px;
  border-bottom: solid 1px #877f8a;
  transition: 0.2s;
}

@media (min-width: 768px) {
  body.home .sec_treatment .grid_treatment li {
    width: calc((100% - 60px) / 4);
    padding-block: 10px;
  }
}
body.home .sec_treatment .grid_treatment li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: 40px 35px;
  margin-inline: -5px;
  border-right: solid 1px #877f8a;
  color: #537188;
  font-size: 16px;
  letter-spacing: 0.05em;
  text-decoration: none;
}

@media (min-width: 768px) {
  body.home .sec_treatment .grid_treatment li a {
    margin-inline: -10px;
    font-size: 24px;
  }
}
body.home .sec_treatment .grid_treatment li a img {
  margin-bottom: 20px;
}

body.home .sec_treatment .grid_treatment li a .btnstyle {
  margin-top: 10px;
}

@media (max-width: 767px) {
  body.home .sec_treatment .grid_treatment li a .btnstyle {
    width: 100%;
  }
}
body.home .sec_treatment .grid_treatment li a .btnstyle span {
  font-size: 14px;
  letter-spacing: 0.02em;
}

@media (min-width: 768px) {
  body.home .sec_treatment .grid_treatment li a .btnstyle span {
    font-size: 18px;
  }
  body.home .sec_treatment .grid_treatment li a .btnstyle span::after {
    right: 1em;
  }
}
body.home .sec_treatment .grid_treatment li:nth-child(4n) a {
  border-right: unset;
}

body.home .sec_treatment .grid_treatment li:nth-last-child(1),
body.home .sec_treatment .grid_treatment li:nth-last-child(2) {
  border-bottom: unset;
}

@media (min-width: 768px) {
  body.home .sec_treatment .grid_treatment li:nth-last-child(1) a,
  body.home .sec_treatment .grid_treatment li:nth-last-child(2) a {
    border-right: unset;
    border-left: solid 1px #877f8a;
  }
}
body.home .sec_treatment .grid_treatment li:last-child a {
  border-right: solid 1px #877f8a;
}

body.home .sec_treatment .grid_treatment li:hover {
  opacity: 0.8;
}

@media (max-width: 767px) {
  body.home .sec_treatment .grid_treatment li:nth-child(2n) a {
    border-right: unset;
  }
}
@media (min-width: 768px) {
  body.home .sec_symptoms {
    padding-top: 120px;
  }
}
body.home .sec_symptoms .tab_btn_wrap {
  display: flex;
  -moz-column-gap: 20px;
  column-gap: 20px;
  margin-bottom: 50px;
}

@media (min-width: 768px) {
  body.home .sec_symptoms .tab_btn_wrap {
    -moz-column-gap: 60px;
    column-gap: 60px;
  }
}
body.home .sec_symptoms .tab_btn_wrap .tab_btn {
  position: relative;
  display: block;
  width: 100%;
  border-bottom: solid 1px #537188;
  color: #537188;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  opacity: 0.6;
}

body.home .sec_symptoms .tab_btn_wrap .tab_btn.active {
  opacity: 1;
}

body.home .sec_symptoms .tab_btn_wrap .tab_btn.active::after {
  content: "";
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  display: block;
  width: 0;
  height: 0;
  margin-inline: auto;
  border-style: solid;
  border-right: 3px solid transparent;
  border-left: 3px solid transparent;
  border-top: 6px solid #537188;
  border-bottom: 0;
}

body.home .sec_symptoms .tab_btn_wrap .tab_btn:hover {
  opacity: 1;
}

body.home .sec_symptoms .tab_item {
  display: none;
}

body.home .sec_symptoms .tab_item.active {
  display: block;
}

body.home .sec_symptoms .tab_item h3 {
  padding-left: 0;
  padding-bottom: 1em;
  margin-bottom: 20px;
  border-bottom: solid 1px #a0b1bf;
  font-size: 18px;
}

body.home .sec_symptoms .tab_item h3::after {
  content: unset;
}

body.home .sec_symptoms .tab_item .btn {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 1fr;
  gap: 1em;
}

body.home .sec_symptoms .tab_item .btn:not(:last-child) {
  margin-bottom: 60px;
}

@media (min-width: 768px) {
  body.home .sec_symptoms .tab_item .btn {
    grid-template-columns: repeat(4, 1fr);
  }
}
body.home .sec_symptoms .tab_item .btn .btnstyle {
  display: table;
  width: 100%;
  height: 100%;
}

body.home .sec_symptoms .tab_item .btn .btnstyle a {
  display: table-cell;
  vertical-align: middle;
  width: 100%;
  min-width: unset;
  max-width: unset;
  height: 100%;
  padding-block: 0.5em;
  padding-inline: 1em;
  background-color: #f4f2ed;
  font-size: 13px;
  letter-spacing: 0;
  text-align: left;
}

@media (min-width: 768px) {
  body.home .sec_symptoms .tab_item .btn .btnstyle a {
    padding-block: 0.94em;
    padding-inline: 1em;
    font-size: 16px;
  }
}
body.home .sec_symptoms .tab_item .btn .btnstyle a::after {
  right: 1em;
}

@media (min-width: 768px) {
  body.home .sec_symptoms .tab_item .btn .btnstyle a::after {
    right: 1.6em;
  }
}
body.home .sec_features {
  counter-reset: h2_num;
  padding-block: 0;
}

body.home .sec_features .wrap_features {
  padding-block: 70px;
}

@media (min-width: 768px) {
  body.home .sec_features .wrap_features {
    padding-block: 140px;
  }
}
body.home .sec_features .wrap_features h2.h2_num .jp {
  color: #537188;
}

body.home .sec_features .wrap_features h2.h2_num .jp::after {
  color: #3a4f77;
}

@media (min-width: 768px) {
  body.home .sec_features .wrap_features h2.h2_num .jp::after {
    margin-top: -10px;
  }
}
body.home .sec_features .wrap_features:nth-child(1) {
  background: url("../img/top/top_bg04.jpg") no-repeat right/cover;
}

@media (min-width: 768px) {
  body.home .sec_features .wrap_features:nth-child(1) {
    background-position: left;
  }
}
body.home .sec_features .wrap_features:nth-child(2) {
  background: url("../img/top/top_bg05.jpg") no-repeat left/cover;
}

@media (min-width: 768px) {
  body.home .sec_features .wrap_features:nth-child(2) {
    background-position: right;
  }
}
body.home .sec_features .wrap_features:nth-child(2) h2 {
  color: #d1a590;
}

body.home .sec_features .wrap_features:nth-child(2) h2.h2_num .jp {
  color: #537188;
}

body.home .sec_features .wrap_features:nth-child(2) h2.h2_num .jp::after {
  color: #3a4f77;
}

body.home .sec_features .row_features {
  width: 100%;
  padding-inline: 10px;
}

@media (min-width: 768px) {
  body.home .sec_features .row_features {
    -moz-column-gap: 7.1428571429%;
    column-gap: 7.1428571429%;
    max-width: 1440px;
    padding-inline: 20px;
    margin-inline: auto;
  }
}
@media (max-width: 767px) {
  body.home .sec_features .row_features > .col:not(:last-child) {
    margin-bottom: 20px;
  }
}
body.home .sec_features .row_features .col_title {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-evenly;
}

@media (min-width: 768px) {
  body.home .sec_features .row_features .col_title {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
  }
}
body.home .sec_features .row_features .col_title .lead {
  color: #537188;
  font-size: 20px;
  line-height: 1.765;
  text-shadow: 0px 0px 16px rgb(255, 255, 255);
  writing-mode: vertical-rl;
}

@media (min-width: 768px) {
  body.home .sec_features .row_features .col_title .lead {
    font-size: 34px;
  }
}
@media (min-width: 768px) {
  body.home .sec_features .row_features .col_feature-card {
    flex: 1;
    max-width: 1000px;
  }
}
body.home .sec_features .row_feature-card {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 20px;
}

@media (min-width: 768px) {
  body.home .sec_features .row_feature-card {
    grid-template-columns: repeat(2, 1fr);
    gap: 80px;
  }
}
body.home .sec_features .row_feature-card .col_card {
  height: 100%;
  background-color: #fff;
  box-shadow: 0px 0px 10px 0px rgba(73, 79, 89, 0.15);
}

body.home .sec_features .row_feature-card .col_card .wrap_text {
  padding: 20px;
}

@media (min-width: 768px) {
  body.home .sec_features .row_feature-card .col_card .wrap_text {
    padding: 34px 30px;
  }
}
body.home .sec_features .row_feature-card .col_card .wrap_text h3 {
  padding-left: 0;
  margin-bottom: 12px;
  color: #537188;
  font-size: 20px;
  line-height: 1.4545454545;
  letter-spacing: 0;
}

@media (min-width: 768px) {
  body.home .sec_features .row_feature-card .col_card .wrap_text h3 {
    font-size: 22px;
  }
}
body.home .sec_features .row_feature-card .col_card .wrap_text h3::after {
  content: unset;
}

body.home .sec_features .row_feature-card .col_card .wrap_text h3 .num {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.2em;
  column-gap: 0.2em;
  margin-bottom: 6px;
  margin-left: -20px;
  color: #a0b1bf;
  font-size: 30px;
  line-height: 1;
}

@media (min-width: 768px) {
  body.home .sec_features .row_feature-card .col_card .wrap_text h3 .num {
    margin-left: -30px;
    font-size: 36px;
  }
}
body.home .sec_features .row_feature-card .col_card .wrap_text h3 .num::before {
  content: "";
  display: block;
  width: calc(20px - 0.2em);
  height: 1px;
  background: #a0b1bf;
}

@media (min-width: 768px) {
  body.home .sec_features .row_feature-card .col_card .wrap_text h3 .num::before {
    width: calc(30px - 0.2em);
  }
}
body.home .sec_features .row_feature-card .col_card .wrap_text .btnstyle a {
  margin-inline: 0 auto;
}

/* top sec_open card追加 */
body.home .sec_open .card {
  width: 100%;
  max-width: 560px;
  padding: 20px;
  margin-top: 20px;
  margin-inline: auto;
  filter: drop-shadow(5px 5px #ede7dd);
  background-color: #faf8f5;
  text-align: center;
}

@media (min-width: 768px) {
  body.home .sec_open .card {
    padding: 40px;
  }
}
body.home .sec_open .card h3 {
  padding-left: 0;
  margin-bottom: 15px;
  border-top: solid 1px #bda062;
  border-bottom: solid 1px #bda062;
  color: #bda062;
  font-weight: normal;
  line-height: 1.7916666667;
  text-align: center;
}

body.home .sec_open .card h3::after {
  content: unset;
}

body.home .sec_open .card .date {
  margin-bottom: 10px;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0.05em;
}

body.home .sec_open .card .date .large {
  font-size: 32px;
  letter-spacing: 0.05em;
}

body.home .sec_open .card .time {
  margin-bottom: 8px;
  font-size: 26px;
  line-height: 1;
  letter-spacing: 0.05em;
}

body.home .sec_open .card .description {
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
}

@media (min-width: 768px) {
  body.home .sec_open .card .description {
    font-size: 18px;
  }
}
/* top sec_movie 追加 */
body.home .sec_movie {
  padding-top: 0;
}

body.home .sec_movie .movie_wrap {
  width: 100%;
  height: auto;
}

body.home .sec_movie .movie_wrap.dummy {
  background-color: #ccc;
} /*# sourceMappingURL=bond.css.map */