@charset "UTF-8";
/* ===================================================================
CSS information

file name	: common.css
author		 : Abilive
style info : 基本・共通設定
=================================================================== */
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : 汎用設定
=================================================================== */
.tmp_tbl_base, table.tmp_table {
  line-height: 1.85714;
  width: 100%;
  position: relative;
  z-index: 1;
}
.tmp_tbl_base .th_1, table.tmp_table .th_1 {
  width: calc(1 / 10 * 100%);
}
.tmp_tbl_base .th_2, table.tmp_table .th_2 {
  width: calc(2 / 10 * 100%);
}
.tmp_tbl_base .th_3, table.tmp_table .th_3 {
  width: calc(3 / 10 * 100%);
}
.tmp_tbl_base .th_4, table.tmp_table .th_4 {
  width: calc(4 / 10 * 100%);
}
.tmp_tbl_base .th_5, table.tmp_table .th_5 {
  width: calc(5 / 10 * 100%);
}
.tmp_tbl_base .th_6, table.tmp_table .th_6 {
  width: calc(6 / 10 * 100%);
}
.tmp_tbl_base > thead > tr > th, table.tmp_table > thead > tr > th,
.tmp_tbl_base > thead > tr > td,
table.tmp_table > thead > tr > td {
  border-color: var(--color-line);
  border-style: solid;
  border-width: 0;
  font-weight: normal;
  text-align: center;
  border-top-width: 1px;
  border-right-width: 1px;
}
@media only screen and (min-width: 768px) {
  .tmp_tbl_base > thead > tr > th, table.tmp_table > thead > tr > th,
  .tmp_tbl_base > thead > tr > td,
  table.tmp_table > thead > tr > td {
    padding: 1.33rem 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .tmp_tbl_base > thead > tr > th, table.tmp_table > thead > tr > th,
  .tmp_tbl_base > thead > tr > td,
  table.tmp_table > thead > tr > td {
    padding: 1em 0.5em;
  }
}
.tmp_tbl_base > thead > tr > th:last-child, table.tmp_table > thead > tr > th:last-child,
.tmp_tbl_base > thead > tr > td:last-child,
table.tmp_table > thead > tr > td:last-child {
  border-right-width: 0;
}
.tmp_tbl_base > thead > tr > th, table.tmp_table > thead > tr > th {
  border-color: var(--color-line);
  font-weight: 500;
  letter-spacing: .05em;
  background-color: #e2ddd4;
}
@media only screen and (min-width: 768px) {
  .tmp_tbl_base > thead > tr > th, table.tmp_table > thead > tr > th {
    padding: 1.2em 1.5em;
  }
}
.tmp_tbl_base > tbody
> tr:first-child > th, table.tmp_table > tbody
> tr:first-child > th, .tmp_tbl_base > tbody
> tr:first-child > td, table.tmp_table > tbody
> tr:first-child > td {
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.tmp_tbl_base > tbody
> tr > th, table.tmp_table > tbody
> tr > th,
.tmp_tbl_base > tbody
> tr > td,
table.tmp_table > tbody
> tr > td {
  border-color: var(--color-line);
  border-style: solid;
  border-width: 0;
  font-weight: normal;
  text-align: center;
  border-bottom-width: 1px;
}
@media only screen and (min-width: 768px) {
  .tmp_tbl_base > tbody
  > tr > th, table.tmp_table > tbody
  > tr > th,
  .tmp_tbl_base > tbody
  > tr > td,
  table.tmp_table > tbody
  > tr > td {
    padding: 1.33rem 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .tmp_tbl_base > tbody
  > tr > th, table.tmp_table > tbody
  > tr > th,
  .tmp_tbl_base > tbody
  > tr > td,
  table.tmp_table > tbody
  > tr > td {
    padding: 1em 0.5em;
  }
}
.tmp_tbl_base > tbody
> tr > th, table.tmp_table > tbody
> tr > th {
  border-color: var(--color-line);
  font-weight: 500;
  letter-spacing: .05em;
  background-color: #e2ddd4;
}
@media only screen and (min-width: 768px) {
  .tmp_tbl_base > tbody
  > tr > th, table.tmp_table > tbody
  > tr > th {
    padding: 1.2em 1.5em;
  }
}
.tmp_tbl_base > tbody
> tr > td, table.tmp_table > tbody
> tr > td {
  text-align: left;
}

@media only screen and (min-width: 768px) {
  table.tmp_table {
    font-size: 0.93rem;
  }
}
@media only screen and (max-width: 767px) {
  table.tmp_table {
    font-size: 0.9rem;
  }
}

.ic_arr {
  display: flex;
  align-items: center;
}
.ic_arr::before {
  content: "";
  display: block;
  width: 1.33rem;
  height: 1px;
  background: black;
}
.ic_arr::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 0.46rem solid black;
  border-right: 0;
  border-top: 0.2rem solid transparent;
  border-bottom: 0.2rem solid transparent;
}

@media only screen and (min-width: 768px) {
  .tmp_box .tmp_txt {
    margin-top: 2.33rem;
  }
}
@media only screen and (max-width: 767px) {
  .tmp_box .tmp_txt {
    margin-top: 1.07rem;
  }
}
@media only screen and (min-width: 768px) {
  .tmp_box .tmp_btn {
    margin-top: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .tmp_box .tmp_btn {
    margin-top: 1.07rem;
  }
}

.tmp_btn {
  line-height: 1.4;
  position: relative;
  display: flex;
  align-items: center;
  max-width: none;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: 'Shippori Mincho', "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 500;
  font-size: inherit;
  padding: 0;
}
.tmp_btn::-ms-expand {
  display: none;
}
@media only screen and (max-width: 767px) {
  .tmp_btn {
    justify-content: center;
  }
}
.tmp_btn .jp {
  display: flex;
  align-items: center;
  line-height: 1.3;
  letter-spacing: .08em;
  justify-content: center;
  order: 0;
}
.tmp_btn > * {
  margin-right: auto;
  margin-left: auto;
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 1;
  height: 100%;
  text-decoration: none !important;
  will-change: transform;
  border-width: 1px;
  border-style: solid;
  border-color: var(--color-line) var(--color-line) var(--color-text) var(--color-line);
}
@media only screen and (min-width: 768px) {
  .tmp_btn > * {
    min-height: 4.66rem;
  }
}
@media only screen and (max-width: 767px) {
  .tmp_btn > * {
    min-height: 3.92rem;
  }
}
@media only screen and (min-width: 768px) {
  .tmp_btn > * {
    padding: 0.5em 2.33rem;
  }
}
@media only screen and (max-width: 767px) {
  .tmp_btn > * {
    padding: 0.5em 1.25em;
  }
}
@media only screen and (min-width: 768px) {
  .tmp_btn > * {
    max-width: 21.33rem;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1441px) {
  .tmp_btn > * {
    max-width: calc(320px * 18 / 15);
  }
}

.tmp_btn > * .en, .tmp_btn > * .jp {
  position: relative;
  z-index: 1;
}
.tmp_btn > *.noarr::after {
  display: none;
}
.tmp_btn > * .ic_arr {
  order: 1;
  margin-right: 0;
  transition: transform .3s ease-out;
}
.mouse .tmp_btn > *:hover, .touch .tmp_btn > *.touchstart {
  border-color: var(--color-text) var(--color-text) var(--color-text) var(--color-text);
}
.mouse .tmp_btn > *:hover .ic_arr, .touch .tmp_btn > *.touchstart .ic_arr {
  transform: translateX(0.75em);
}
.touch .tmp_btn > * {
  -webkit-tap-highlight-color: transparent;
}
.touch .tmp_btn > *.touchend {
  transition-delay: 200ms;
}
.tmp_btn > * .ic_pdf::after {
  content: '';
  display: inline-block;
  background-size: 85% auto;
  background-repeat: no-repeat;
  background-position: center;
  width: 1em;
  height: 1.2em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M369.9 97.9L286 14C277 5 264.8-.1 252.1-.1H48C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V131.9c0-12.7-5.1-25-14.1-34zM332.1 128H256V51.9l76.1 76.1zM48 464V48h160v104c0 13.3 10.7 24 24 24h104v288H48zm250.2-143.7c-12.2-12-47-8.7-64.4-6.5-17.2-10.5-28.7-25-36.8-46.3 3.9-16.1 10.1-40.6 5.4-56-4.2-26.2-37.8-23.6-42.6-5.9-4.4 16.1-.4 38.5 7 67.1-10 23.9-24.9 56-35.4 74.4-20 10.3-47 26.2-51 46.2-3.3 15.8 26 55.2 76.1-31.2 22.4-7.4 46.8-16.5 68.4-20.1 18.9 10.2 41 17 55.8 17 25.5 0 28-28.2 17.5-38.7zm-198.1 77.8c5.1-13.7 24.5-29.5 30.4-35-19 30.3-30.4 35.7-30.4 35zm81.6-190.6c7.4 0 6.7 32.1 1.8 40.8-4.4-13.9-4.3-40.8-1.8-40.8zm-24.4 136.6c9.7-16.9 18-37 24.7-54.7 8.3 15.1 18.9 27.2 30.1 35.5-20.8 4.3-38.9 13.1-54.8 19.2zm131.6-5s-5 6-37.3-7.8c35.1-2.6 40.9 5.4 37.3 7.8z' fill='%23000' /%3E%3C/svg%3E");
}
.tmp_btn > * .ic_link::after {
  content: '';
  display: inline-block;
  background-size: 90% auto;
  background-repeat: no-repeat;
  background-position: center;
  width: 1.2em;
  height: 1.2em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M352 0c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9L370.7 96 201.4 265.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L416 141.3l41.4 41.4c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V32c0-17.7-14.3-32-32-32H352zM80 32C35.8 32 0 67.8 0 112V432c0 44.2 35.8 80 80 80H400c44.2 0 80-35.8 80-80V320c0-17.7-14.3-32-32-32s-32 14.3-32 32V432c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16H192c17.7 0 32-14.3 32-32s-14.3-32-32-32H80z' fill='%23000'/%3E%3C/svg%3E");
}
.tmp_btn button, .tmp_btn a {
  transition: transform 0.3s ease-out, opacity 0.3s ease-out, background-color 0.3s ease-out, border-color 0.3s ease-out !important;
}
.tmp_btn.type_cv1 > * {
  background-color: var(--color-point-brown);
  justify-content: center;
  color: #fff;
  border: none;
}
.mouse .tmp_btn.type_cv1 > * {
  transition: opacity 0.3s ease-in;
}
.mouse .tmp_btn.type_cv1 > *:hover, .touch .tmp_btn.type_cv1 > *.touchstart {
  opacity: 0.7;
}
.touch .tmp_btn.type_cv1 > * {
  -webkit-tap-highlight-color: transparent;
}
.touch .tmp_btn.type_cv1 > *.touchend {
  transition-delay: 200ms;
}
.tmp_btn.type_cv2 > * {
  background-color: var(--color-point-navy);
  justify-content: center;
  color: #fff;
  border: none;
}
.mouse .tmp_btn.type_cv2 > * {
  transition: opacity 0.3s ease-in;
}
.mouse .tmp_btn.type_cv2 > *:hover, .touch .tmp_btn.type_cv2 > *.touchstart {
  opacity: 0.7;
}
.touch .tmp_btn.type_cv2 > * {
  -webkit-tap-highlight-color: transparent;
}
.touch .tmp_btn.type_cv2 > *.touchend {
  transition-delay: 200ms;
}
.tmp_btn.size_s > * {
  font-size: 0.93rem;
}
@media only screen and (min-width: 768px) {
  .tmp_btn.size_s > * {
    min-height: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .tmp_btn.size_s > * {
    min-height: 2.52rem;
  }
}
@media only screen and (min-width: 768px) {
  .tmp_btn.size_s > * {
    padding: 0.5em 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .tmp_btn.size_s > * {
    padding: 0.5em 1em;
  }
}

.js-accordion + [data-accordion-target] {
  display: none;
}

.tmp_c {
  width: 3.53rem;
  height: 3.53rem;
  border-radius: 1000px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tmp_c::after {
  content: "\f3d6";
  font-family: "Ionicons";
}

.bgc_cv {
  background-color: #8c7241;
  color: #fff;
}

.bgc_ghost {
  border-width: 1px;
  border-style: solid;
}

.tmp_link {
  display: flex;
  justify-content: flex-start;
}
.tmp_link a {
  display: flex;
  justify-content: flex-start;
  text-decoration: none;
  padding: 1em;
  margin: -1em;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .tmp_link a {
    font-size: 0.87rem;
  }
}
.tmp_link a .jp {
  display: flex;
  align-items: center;
  border-width: 0 0 1px 0;
  border-style: solid;
}
.tmp_link a .jp .ic_arr {
  margin-left: 1rem;
}
.mouse .tmp_link a:hover .ic_arr, .touch .tmp_link a.touchstart .ic_arr {
  transform: translateX(0.75em);
}
.touch .tmp_link a {
  -webkit-tap-highlight-color: transparent;
}
.touch .tmp_link a.touchend {
  transition-delay: 200ms;
}
.tmp_link.align_r {
  justify-content: flex-end;
}
.tmp_link.no_bd a .jp {
  border: none;
}

@media only screen and (min-width: 1025px) {
  .tmp_catch {
    font-size: 1.73rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .tmp_catch {
    font-size: 1.47rem;
  }
}
@media only screen and (max-width: 767px) {
  .tmp_catch {
    font-size: 1.18rem;
  }
}
@media only screen and (min-width: 768px) {
  .tmp_catch {
    line-height: calc(50/26);
  }
}
@media only screen and (max-width: 767px) {
  .tmp_catch {
    line-height: calc(60/33);
  }
}
.tmp_catch.align_c {
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .tmp_catch.size_s {
    font-size: 1.47rem;
  }
}
@media only screen and (max-width: 767px) {
  .tmp_catch.size_s {
    font-size: 1.18rem;
  }
}

.tmp_txt p:not(:first-child) {
  margin-top: 1em;
}
.tmp_txt.align_c {
  text-align: center;
}

.tmp_st, .tmp_st_l, .tmp_st_l_tate, .tmp_st_l_bgbdl, .tmp_st_m, .tmp_st_m_enjp, .tmp_st_m_tate, .tmp_st_m_bdl, .tmp_st_s, .tmp_st_en_line, .tmp_catch {
  font-weight: normal;
}
.tmp_st [lang="en"], .tmp_st_l [lang="en"], .tmp_st_l_tate [lang="en"], .tmp_st_l_bgbdl [lang="en"], .tmp_st_m [lang="en"], .tmp_st_m_enjp [lang="en"], .tmp_st_m_tate [lang="en"], .tmp_st_m_bdl [lang="en"], .tmp_st_s [lang="en"], .tmp_st_en_line [lang="en"], .tmp_st .en, .tmp_st_l .en, .tmp_st_l_tate .en, .tmp_st_l_bgbdl .en, .tmp_st_m .en, .tmp_st_m_enjp .en, .tmp_st_m_tate .en, .tmp_st_m_bdl .en, .tmp_st_s .en, .tmp_st_en_line .en, .tmp_catch [lang="en"], .tmp_catch .en {
  font-family: "EB Garamond", "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 500;
  text-transform: uppercase;
  display: block;
}
.tmp_st [lang="ja"], .tmp_st_l [lang="ja"], .tmp_st_l_tate [lang="ja"], .tmp_st_l_bgbdl [lang="ja"], .tmp_st_m [lang="ja"], .tmp_st_m_enjp [lang="ja"], .tmp_st_m_tate [lang="ja"], .tmp_st_m_bdl [lang="ja"], .tmp_st_s [lang="ja"], .tmp_st_en_line [lang="ja"], .tmp_st .jp, .tmp_st_l .jp, .tmp_st_l_tate .jp, .tmp_st_l_bgbdl .jp, .tmp_st_m .jp, .tmp_st_m_enjp .jp, .tmp_st_m_tate .jp, .tmp_st_m_bdl .jp, .tmp_st_s .jp, .tmp_st_en_line .jp, .tmp_catch [lang="ja"], .tmp_catch .jp {
  font-family: 'Shippori Mincho', "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 500;
  display: block;
}
.tmp_st.align_c, .align_c.tmp_st_l, .align_c.tmp_st_l_tate, .align_c.tmp_st_l_bgbdl, .align_c.tmp_st_m, .align_c.tmp_st_m_enjp, .align_c.tmp_st_m_tate, .align_c.tmp_st_m_bdl, .align_c.tmp_st_s, .align_c.tmp_st_en_line, .tmp_catch.align_c {
  text-align: center;
}
.tmp_st.c_gold [lang="en"], .c_gold.tmp_st_l [lang="en"], .c_gold.tmp_st_l_tate [lang="en"], .c_gold.tmp_st_l_bgbdl [lang="en"], .c_gold.tmp_st_m [lang="en"], .c_gold.tmp_st_m_enjp [lang="en"], .c_gold.tmp_st_m_tate [lang="en"], .c_gold.tmp_st_m_bdl [lang="en"], .c_gold.tmp_st_s [lang="en"], .c_gold.tmp_st_en_line [lang="en"], .tmp_st.c_gold .en, .c_gold.tmp_st_l .en, .c_gold.tmp_st_l_tate .en, .c_gold.tmp_st_l_bgbdl .en, .c_gold.tmp_st_m .en, .c_gold.tmp_st_m_enjp .en, .c_gold.tmp_st_m_tate .en, .c_gold.tmp_st_m_bdl .en, .c_gold.tmp_st_s .en, .c_gold.tmp_st_en_line .en, .tmp_catch.c_gold [lang="en"], .tmp_catch.c_gold .en {
  color: var(--color-point-brown);
}

.tmp_st_l .jp {
  font-size: 2rem;
}

.tmp_st_l_tate {
  z-index: 1;
}
@media only screen and (min-width: 768px) {
  .tmp_st_l_tate .jp {
    font-size: 2.67rem;
  }
}
@media only screen and (max-width: 767px) {
  .tmp_st_l_tate .jp {
    font-size: 1.43rem;
  }
}
.tmp_st_l_tate:not(.tate_pt):not(.tate_pc) .jp {
  writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -o-writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -webkit-text-orientation: upright;
  -moz-text-orientation: upright;
  -ms-text-orientation: upright;
  text-orientation: upright;
  text-align: left;
  display: inline-block;
  font-feature-settings: normal;
}
@media only screen and (min-width: 768px) {
  .tmp_st_l_tate.tate_pt .jp {
    writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    -moz-text-orientation: upright;
    -ms-text-orientation: upright;
    text-orientation: upright;
    text-align: left;
    display: inline-block;
    font-feature-settings: normal;
  }
}
@media only screen and (min-width: 1025px) {
  .tmp_st_l_tate.tate_pc .jp {
    writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    -moz-text-orientation: upright;
    -ms-text-orientation: upright;
    text-orientation: upright;
    text-align: left;
    display: inline-block;
    font-feature-settings: normal;
  }
}

.tmp_st_l_bgbdl {
  background: url("../images/common/bg_navy.jpg") #132235 repeat center top;
  color: #fff;
  font-size: 1.47rem;
  display: flex;
  align-items: center;
  padding-top: 0.46rem;
  padding-bottom: 0.46rem;
}
.tmp_st_l_bgbdl .tmp_btn > * {
  border-color: #575653 #575653 #ffffff #575653;
}
.mouse .tmp_st_l_bgbdl .tmp_btn > *:hover, .touch .tmp_st_l_bgbdl .tmp_btn > *.touchstart {
  border-color: #ffffff;
}
.touch .tmp_st_l_bgbdl .tmp_btn > * {
  -webkit-tap-highlight-color: transparent;
}
.touch .tmp_st_l_bgbdl .tmp_btn > *.touchend {
  transition-delay: 200ms;
}
.tmp_st_l_bgbdl .ic_arr::before {
  background: #fff;
}
.tmp_st_l_bgbdl .ic_arr::after {
  border-left-color: #fff;
}
.tmp_st_l_bgbdl .bd {
  background: #6d7781;
  width: 0.2rem;
  height: 3.2rem;
  display: block;
}
.tmp_st_l_bgbdl .jp {
  width: calc(100% - 0.2rem);
  line-height: 1.2;
  display: block;
  padding: 0.5em 1em 0.5em 1.59em;
}

@media only screen and (min-width: 768px) {
  .tmp_st_m, .tmp_st_m_enjp, .tmp_st_m_tate, .tmp_st_m_bdl {
    font-size: 1.73rem;
  }
}
@media only screen and (max-width: 767px) {
  .tmp_st_m, .tmp_st_m_enjp, .tmp_st_m_tate, .tmp_st_m_bdl {
    font-size: 1.43rem;
  }
}
@media only screen and (min-width: 768px) {
  .tmp_st_m.size_s, .size_s.tmp_st_m_enjp, .size_s.tmp_st_m_tate, .size_s.tmp_st_m_bdl {
    font-size: 1.33rem;
  }
}
@media only screen and (max-width: 767px) {
  .tmp_st_m.size_s, .size_s.tmp_st_m_enjp, .size_s.tmp_st_m_tate, .size_s.tmp_st_m_bdl {
    font-size: 1.1rem;
  }
}

.tmp_st_m_enjp .en {
  font-family: "EB Garamond", "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--color-point-brown);
}
@media only screen and (min-width: 768px) {
  .tmp_st_m_enjp .en {
    font-size: 0.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .tmp_st_m_enjp .en {
    font-size: 0.82rem;
  }
}

.tmp_st_m_tate:not(.tate_pt):not(.tate_pc) .jp {
  writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -o-writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -webkit-text-orientation: upright;
  -moz-text-orientation: upright;
  -ms-text-orientation: upright;
  text-orientation: upright;
  text-align: left;
  display: inline-block;
  font-feature-settings: normal;
}
@media only screen and (min-width: 768px) {
  .tmp_st_m_tate.tate_pt .jp {
    writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    -moz-text-orientation: upright;
    -ms-text-orientation: upright;
    text-orientation: upright;
    text-align: left;
    display: inline-block;
    font-feature-settings: normal;
  }
}
@media only screen and (min-width: 1025px) {
  .tmp_st_m_tate.tate_pc .jp {
    writing-mode: tb-rl;
    writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -o-writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
    -webkit-text-orientation: upright;
    -moz-text-orientation: upright;
    -ms-text-orientation: upright;
    text-orientation: upright;
    text-align: left;
    display: inline-block;
    font-feature-settings: normal;
  }
}

.tmp_st_m_bdl {
  display: flex;
  align-items: center;
}
.tmp_st_m_bdl .bd {
  background: var(--color-point-brown);
  width: 0.19em;
  height: 1.35em;
  display: block;
}
.tmp_st_m_bdl .jp {
  width: calc(100% - 0.2rem);
  line-height: 1.2;
  display: block;
  padding: 0 1em 0 1.36em;
}

.tmp_st_s {
  font-size: 1.2rem;
}

.tmp_st_en_line {
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .tmp_st_en_line {
    font-size: 0.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .tmp_st_en_line {
    font-size: 0.82rem;
  }
}
.tmp_st_en_line .line {
  display: block;
  background-color: var(--color-point-brown);
  width: 1px;
  height: 4rem;
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (max-width: 767px) {
  .tmp_st_en_line .line {
    height: 3.21rem;
  }
}
.tmp_st_en_line [lang="en"], .tmp_st_en_line .en {
  padding-top: .75em;
}
.tmp_st_en_line.tate {
  justify-content: flex-start;
  text-align: left;
  width: 1px;
}
.tmp_st_en_line.tate .line {
  margin-left: 0;
  margin-right: auto;
}
.tmp_st_en_line.tate [lang="en"], .tmp_st_en_line.tate .en {
  width: 2em;
}
.tmp_st_en_line.tate [lang="en"] span, .tmp_st_en_line.tate .en span {
  line-height: 1;
  display: block;
  transform: rotate(90deg);
  transform-origin: left center;
  width: 10em;
}

.tmp_hr {
  margin-top: 5rem;
  margin-bottom: 5rem;
  height: 0;
  display: block;
  border: none;
  border-top: 1px solid #e1e1e1;
}

.tmp_intro {
  text-align: center;
}
.tmp_intro .tmp_text {
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  .tmp_intro .tmp_text {
    text-align: left;
    margin-top: 1.25rem;
  }
}

html .js-swiper-pagination {
  display: flex;
  justify-content: center;
  position: static;
  margin: 25px 0 0 0;
}
html .js-swiper-pagination .swiper-pagination-bullet {
  opacity: 1;
  background: none;
  width: 25px;
  height: 25px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  html .js-swiper-pagination .swiper-pagination-bullet {
    width: 0.89rem;
    height: 0.89rem;
  }
}
html .js-swiper-pagination .swiper-pagination-bullet::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 1000px;
  background-color: #b4b0a4;
}
@media only screen and (max-width: 767px) {
  html .js-swiper-pagination .swiper-pagination-bullet::before {
    width: 0.35rem;
    height: 0.35rem;
  }
}
html .js-swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
  background-color: var(--color-point-navy);
  width: 10px;
  height: 10px;
}
@media only screen and (max-width: 767px) {
  html .js-swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active::before {
    width: 0.53rem;
    height: 0.53rem;
  }
}
html .pagination_on_slider .js-swiper-pagination {
  position: absolute;
  right: 3rem;
  left: 3rem;
  width: auto;
}
@media only screen and (min-width: 768px) {
  html .pagination_on_slider .js-swiper-pagination {
    bottom: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  html .pagination_on_slider .js-swiper-pagination {
    bottom: 1em;
  }
}
html .pagination_on_slider .js-swiper-pagination .swiper-pagination-bullet {
  margin-top: 0;
}
html .pagination_on_slider .js-swiper-pagination .swiper-pagination-bullet::before {
  background-color: #fff !important;
}
html .pagination_on_slider.pagination_right .js-swiper-pagination {
  justify-content: flex-end;
}
html .pagination_on_slider.pagination_left .js-swiper-pagination {
  justify-content: flex-start;
}

.tmp_wide_slider {
  position: relative;
}
.tmp_wide_slider .slide .inner {
  position: relative;
  margin-right: auto;
  margin-left: auto;
  display: block;
}
.tmp_wide_slider .slick-list {
  width: 100% !important;
  overflow: visible;
}

.dummy {
  color: red;
}

.tmp_frame {
  border: 1px solid #c3c8bc;
  max-width: 1200px;
}

.tmp_bg_pat {
  color: #1b1b1b;
}

.tmp_bg_gray {
  background-color: #ececec;
}

.tmp_bg_dark {
  background-color: #1b1b1b;
  color: #fff;
}
.tmp_bg_dark a {
  color: inherit;
}

.lsanm_text_blur {
  transition: filter 1s ease-out 1s, opacity 1s ease-out 1s;
  filter: blur(2em);
  opacity: 0;
}
.lsanm_text_blur.lazyloaded {
  opacity: 1;
  filter: blur(0);
}

@media only screen and (min-width: 768px) {
  .tmp_tab {
    font-size: 1rem;
  }
}
.tmp_tab ul {
  display: flex;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .tmp_tab ul {
    flex-wrap: wrap;
  }
}
.tmp_tab li {
  width: 100%;
  border-style: solid;
  border-color: var(--border-color-e6);
  border-width: 0 0 3px 0;
}
@media only screen and (max-width: 767px) {
  .tmp_tab li {
    border-width: 0 0 2px 0;
    width: 48%;
  }
  .tmp_tab li:not(:nth-child(2n+1)) {
    margin-left: calc((100% - (48% * 2)) / 1);
  }
  .tmp_tab li:nth-child(n+3) {
    margin-top: calc((100% - (48% * 2)) / 1 * 1);
  }
}
.tmp_tab li a, .tmp_tab li button {
  text-decoration: none;
  display: block;
  width: 100%;
  text-align: center;
  flex-wrap: wrap;
  position: relative;
  display: flex;
  height: 100%;
  align-items: center;
}
.tmp_tab li a .t, .tmp_tab li button .t {
  padding: 1em 1em;
  line-height: 1.3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 4.6em;
}
@media only screen and (max-width: 767px) {
  .tmp_tab li a .t, .tmp_tab li button .t {
    min-height: auto;
  }
}
.tmp_tab li a::before, .tmp_tab li button::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 100px;
  margin-right: auto;
  margin-left: auto;
  background-color: transparent;
  bottom: 100%;
  position: absolute;
  left: 50%;
  transform: translateX(-2px);
}
.mouse .tmp_tab li:hover a::before, .mouse .tmp_tab li:hover button::before, .touch .tmp_tab li.touchstart a::before, .touch .tmp_tab li.touchstart button::before {
  background-color: #000;
}
.touch .tmp_tab li {
  -webkit-tap-highlight-color: transparent;
}
.touch .tmp_tab li.touchend {
  transition-delay: 200ms;
}
.tmp_tab li.is-active a::before, .tmp_tab li.is-active button::before {
  background-color: #000;
}

@media only screen and (min-width: 768px) {
  .tmp_anch {
    font-size: 1.07rem;
  }
}
@media only screen and (max-width: 767px) {
  .tmp_anch {
    font-size: 0.79rem;
  }
}
.tmp_anch ul {
  display: flex;
  width: 100%;
  justify-content: center;
  flex-wrap: wrap;
}
.tmp_anch ul li {
  border-width: 0 1px 0 1px;
  border-color: var(--color-line);
  border-style: solid;
  margin-left: -1px;
  min-width: calc(1 / 5 * 100%);
}
.tmp_anch ul li a {
  text-decoration: none;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.tmp_anch ul li a div {
  width: calc(160 / 198 * 100%);
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-direction: column;
}
.tmp_anch ul li a .inner {
  padding-top: 1.06rem;
  width: 100%;
  text-align: center;
  flex-wrap: wrap;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  order: 1;
}
.tmp_anch ul li a .inner .t {
  line-height: 1.1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.tmp_anch ul li a .img {
  padding-top: 1.06rem;
  order: 0;
  display: block;
}
.tmp_anch ul li a::after {
  font-family: "Ionicons";
  content: "\f3d0";
  color: #b4b0a4;
  text-align: center;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  padding-top: 0.86rem;
  padding-bottom: 0.86rem;
  order: 2;
  position: relative;
  bottom: 0;
  transition: bottom .3s ease;
}
.mouse .tmp_anch ul li a:hover::after, .touch .tmp_anch ul li a.touchstart::after {
  bottom: -.5em;
}
.touch .tmp_anch ul li a {
  -webkit-tap-highlight-color: transparent;
}
.touch .tmp_anch ul li a.touchend {
  transition-delay: 200ms;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .tmp_anch ul li {
    width: calc(1 / 3 * 100%);
  }
  .tmp_anch ul li:nth-child(n+4) {
    margin-top: 1rem;
  }
  .tmp_anch ul li:nth-child(n+4):last-child {
    margin-right: auto;
  }
}
@media only screen and (max-width: 767px) {
  .tmp_anch ul li {
    width: calc(1 / 2 * 100%);
  }
  .tmp_anch ul li:nth-child(n+3) {
    margin-top: 1rem;
  }
  .tmp_anch ul li:nth-child(n+3):last-child {
    margin-right: auto;
  }
}

.tmp_img_anch {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 768px) {
  .tmp_img_anch {
    font-size: 0.87rem;
  }
}
@media only screen and (max-width: 767px) {
  .tmp_img_anch {
    font-size: 0.79rem;
  }
}
@media only screen and (min-width: 1025px) {
  .tmp_img_anch {
    width: calc(1100 / 1440 * 100%);
    max-width: calc(1100px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .tmp_img_anch {
    max-width: calc(1100px * ((18 + 0) / 15));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .tmp_img_anch {
    width: calc(1100 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .tmp_img_anch {
    width: calc(690 / 750 * 100%);
  }
}
.tmp_img_anch ul {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .tmp_img_anch ul {
    justify-content: center;
  }
}
@media only screen and (min-width: 768px) {
  .tmp_img_anch ul li {
    width: calc(223 / 1000 * 100%);
  }
  .tmp_img_anch ul li:not(:nth-child(4n+1)) {
    margin-left: calc((100% - (calc(223 / 1000 * 100%) * 4)) / 3);
  }
  .tmp_img_anch ul li:nth-child(n+5) {
    margin-top: calc((100% - (calc(223 / 1000 * 100%) * 4)) / 3 * 1);
  }
  .tmp_img_anch ul li:nth-child(n+5):last-child {
    margin-right: auto;
  }
}
@media only screen and (max-width: 767px) {
  .tmp_img_anch ul li {
    width: 48%;
  }
  .tmp_img_anch ul li:not(:nth-child(2n+1)) {
    margin-left: calc((100% - (48% * 2)) / 1);
  }
  .tmp_img_anch ul li:nth-child(n+3) {
    margin-top: calc((100% - (48% * 2)) / 1 * 1);
  }
}
.tmp_img_anch ul li a {
  text-decoration: none;
  display: flex;
  flex-direction: column-reverse;
  line-height: 1.3;
}
.tmp_img_anch ul li a .img {
  position: relative;
  background-color: #8c7241;
}
.tmp_img_anch ul li a .img::before {
  font-family: "EB Garamond", "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 500;
  text-transform: uppercase;
  content: "MORE";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: flex;
  color: #fff;
  justify-content: center;
  align-items: center;
  text-decoration: underline;
  opacity: 0;
  z-index: 2;
  letter-spacing: .13em;
}
.tmp_img_anch ul li a .img img {
  opacity: 1;
}
.tmp_img_anch ul li a .t {
  padding: 1em;
  display: block;
  text-align: center;
}
.tmp_img_anch ul li a::before {
  font-family: "Ionicons";
  content: "\f3d4";
  text-align: center;
  height: 1em;
  line-height: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  opacity: 0;
}
.mouse .tmp_img_anch ul li a:hover, .touch .tmp_img_anch ul li a.touchstart {
  color: var(--cv-color);
}
.mouse .tmp_img_anch ul li a:hover::before, .touch .tmp_img_anch ul li a.touchstart::before {
  opacity: 1;
}
.mouse .tmp_img_anch ul li a:hover .img::before, .touch .tmp_img_anch ul li a.touchstart .img::before {
  opacity: 1;
}
.mouse .tmp_img_anch ul li a:hover .img img, .touch .tmp_img_anch ul li a.touchstart .img img {
  opacity: .3;
}
.touch .tmp_img_anch ul li a {
  -webkit-tap-highlight-color: transparent;
}
.touch .tmp_img_anch ul li a.touchend {
  transition-delay: 200ms;
}

@media only screen and (min-width: 768px) {
  .tmp_ann {
    font-size: 0.87rem;
  }
}
.tmp_ann p {
  padding-left: 1em;
  text-indent: -1em;
  line-height: calc(24/13);
}

.tmp_list li {
  line-height: 1.85714;
  display: table;
  width: 100%;
  position: relative;
}
.tmp_list li i {
  display: table-cell;
  width: 0.66rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .tmp_list li i {
    width: .5em;
  }
}
.tmp_list li i::before {
  content: "";
  display: block;
  width: 2px;
  height: 2px;
  background-color: #1b1b1b;
  border-radius: 100px;
  top: 0.92857em;
  position: absolute;
  transform: translateY(-50%);
}

.over_slider > .inner {
  position: relative;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  .over_slider > .inner {
    width: calc(1100 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .over_slider > .inner {
    width: calc(630 / 750 * 100%);
  }
}
.over_slider > .inner .js-swiper-pagination {
  z-index: 2;
}
.over_slider > .inner .swiper_ctrls {
  position: absolute;
  z-index: 3;
}
.over_slider > .inner .swiper_ctrls.prev {
  left: -2em;
}
.over_slider > .inner .swiper_ctrls.next {
  right: -2em;
}
.over_slider > .inner .swiper_ctrls .swiper-prev,
.over_slider > .inner .swiper_ctrls .swiper-next {
  cursor: pointer;
}
.over_slider > .inner .swiper_ctrls .swiper-next {
  width: 4rem;
  height: 4rem;
}
.over_slider > .inner .swiper_ctrls.c_wt .arr::after {
  background: url("../images/common/ic_arr_right_w.png") no-repeat center center/100%;
}
.over_slider > .inner .slide .img {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 768px) {
  .over_slider > .inner .slide .img {
    width: calc(1000 / 1100 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .over_slider > .inner .slide .img {
    width: 90%;
  }
}

#homepage .con_f_bnr {
  background-color: var(--color-bg);
}
.lower .con_f_bnr {
  margin-top: 13.33rem;
}
@media only screen and (max-width: 767px) {
  .lower .con_f_bnr {
    margin-top: 6rem;
  }
}

.box_f_bnr {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .box_f_bnr {
    width: calc(1100 / 1440 * 100%);
    max-width: calc(1100px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .box_f_bnr {
    max-width: calc(1100px * ((18 + 0) / 15));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .box_f_bnr {
    width: calc(1260 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .box_f_bnr {
    padding-top: 1.6rem;
  }
}
@media only screen and (min-width: 768px) {
  .box_f_bnr {
    padding-bottom: 3.33rem;
  }
}
@media only screen and (max-width: 767px) {
  .box_f_bnr {
    padding-bottom: 3em;
  }
}
@media only screen and (min-width: 768px) {
  .box_f_bnr {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 767px) {
  .box_f_bnr {
    width: calc(560 / 750 * 100%);
  }
}
.box_f_bnr li a {
  display: block;
}
@media only screen and (min-width: 768px) {
  .box_f_bnr li {
    width: calc(260 / 1100 * 100%);
  }
  .box_f_bnr li:not(:nth-child(4n+1)) {
    margin-left: calc((100% - (calc(260 / 1100 * 100%) * 4)) / 3);
  }
  .box_f_bnr li:nth-child(n+5) {
    margin-top: calc((100% - (calc(260 / 1100 * 100%) * 4)) / 3 * 1);
  }
  .box_f_bnr li:nth-child(n+5):last-child {
    margin-right: auto;
  }
}
@media only screen and (max-width: 767px) {
  .box_f_bnr li {
    width: 100%;
  }
  .box_f_bnr li:not(:first-child) {
    margin-top: 0.64rem;
  }
}
.box_f_bnr + #footer {
  margin-top: 0;
}

#footer {
  background: url("../images/footer/bg_f.jpg") #192531 no-repeat center center/cover;
  color: #fff;
  position: relative;
  padding: 9.33rem 0;
}
.lower #footer {
  margin-top: 13.33rem;
}
@media only screen and (max-width: 767px) {
  .lower #footer {
    margin-top: 6rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  #footer {
    padding: 7rem 0;
  }
}
@media only screen and (max-width: 767px) {
  #footer {
    padding: 4.82rem 0;
  }
}

.con_f {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .con_f {
    width: calc(1100 / 1440 * 100%);
    max-width: calc(1100px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .con_f {
    max-width: calc(1100px * ((18 + 0) / 15));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_f {
    width: calc(1260 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_f {
    width: calc(630 / 750 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .con_f {
    display: flex;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1025px) and (max-width: 1365px) {
  .con_f {
    width: calc(1100 / 1260 * 100%);
  }
}

@media only screen and (min-width: 768px) {
  .con_f .box_l {
    width: calc(420 / 1100 * 100%);
    padding-right: calc(100 / 1100 * 100%);
    margin-left: 0;
    border-right: 1px solid #323d45;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1025px) and (max-width: 1365px) {
  .con_f .box_l {
    width: calc(420 / 1100 * 100%);
  }
}
@media only screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1024px) {
  .con_f .box_l {
    width: calc(420 / 1100 * 100%);
  }
}

@media only screen and (min-width: 768px) {
  .con_f .box_r {
    width: calc(580 / 1100 * 100%);
    margin-right: 0;
    margin-left: auto;
  }
}

.box_f_add .f_logo {
  width: 7.33rem;
  margin-bottom: 1.66rem;
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (max-width: 767px) {
  .box_f_add .f_logo {
    width: 5.71rem;
  }
}
.box_f_add address {
  margin-bottom: 3.33rem;
  text-align: center;
  margin-right: -1em;
  margin-left: -1em;
}
@media only screen and (min-width: 768px) {
  .box_f_add address {
    font-size: 0.8rem;
  }
}
.box_f_add .tmp_btn > * {
  width: 100%;
}
.box_f_add .tmp_btn + .tmp_btn {
  margin-top: 1.33rem;
}
@media only screen and (max-width: 767px) {
  .box_f_add .tmp_btn + .tmp_btn {
    margin-top: 0.53rem;
  }
}

.txt_comp {
  font-size: 1rem;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .txt_comp {
    margin-top: 2em;
  }
}
@media only screen and (max-width: 767px) {
  .txt_comp {
    margin-top: 2em;
  }
}

.box_f_nav {
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .box_f_nav {
    justify-content: space-between;
    margin-bottom: 4.66rem;
  }
}
.box_f_nav ul li:not(:first-child) {
  margin-top: 1em;
}
@media only screen and (max-width: 767px) {
  .box_f_nav ul li.view_pc + li {
    margin-top: 0;
  }
}
.box_f_nav ul li a {
  line-height: 1.3;
  display: block;
  padding: .5em 1em;
  margin-right: -1em;
  margin-left: -1em;
  text-decoration: none !important;
}
@media only screen and (min-width: 768px) {
  .box_f_nav ul li a {
    min-width: 10em;
  }
}
@media only screen and (max-width: 767px) {
  .box_f_nav ul {
    width: calc(1 / 2 * 100%);
    margin-top: 4em;
    margin-bottom: 4em;
  }
  .box_f_nav ul.sub {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin-top: 0;
  }
  .box_f_nav ul.sub li {
    margin-right: 2em;
    margin-top: 0;
    margin-bottom: 0;
  }
}

.bnr_kurotake {
  width: calc(300 / 580 * 100%);
  margin-left: 0;
  margin-right: auto;
  border: 1px solid #323d45;
  height: 5.33rem;
  display: flex;
}
.bnr_kurotake a {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bnr_kurotake a img {
  width: calc(208 / 300 * 100%);
}
@media only screen and (max-width: 767px) {
  .bnr_kurotake a img {
    width: 60%;
  }
}
@media only screen and (max-width: 767px) {
  .bnr_kurotake {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
}

#copyright {
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 768px) {
  #copyright {
    font-size: 0.67rem;
  }
}
@media only screen and (max-width: 767px) {
  #copyright {
    font-size: 0.61rem;
  }
}
@media only screen and (min-width: 768px) {
  #copyright {
    height: 6rem;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
  }
}
@media only screen and (max-width: 767px) {
  #copyright {
    margin-top: 3.57rem;
  }
}
#copyright span {
  margin-right: auto;
  margin-left: auto;
  display: block;
}
@media only screen and (min-width: 1025px) {
  #copyright span {
    width: calc(1100 / 1440 * 100%);
    max-width: calc(1100px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  #copyright span {
    max-width: calc(1100px * ((18 + 0) / 15));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  #copyright span {
    width: calc(1260 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  #copyright span {
    width: calc(630 / 750 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  #copyright span {
    text-align: right;
  }
}

.sp_sticky_nav {
  position: fixed;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition-property: opacity, height, transform;
  transition-duration: .2s;
  transition-timing-function: ease-out;
  transform: translateY(1.5em);
}
.sp_sticky_nav ul {
  display: flex;
  background-color: #f7f4ed;
}
.sp_sticky_nav ul li {
  width: calc(320 / 750 * 100%);
  min-height: 3.92rem;
}
.sp_sticky_nav ul li.btn_tel {
  width: calc(110 / 750 * 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}
.sp_sticky_nav ul li.btn_tel a {
  display: flex;
  align-content: center;
  align-items: center;
  text-decoration: none;
  flex-direction: column;
}
.sp_sticky_nav ul li.btn_tel a .i {
  font-size: 1.42rem;
  display: block;
  text-align: center;
  line-height: 1;
}
.sp_sticky_nav ul li.btn_tel a .i::before {
  font-size: inherit;
}
.sp_sticky_nav ul li.btn_tel a .t {
  font-family: "EB Garamond", "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1;
  display: block;
  margin-top: 0.25em;
  text-align: center;
}
@media only screen and (min-width: 768px) {
  .sp_sticky_nav ul li.btn_tel a .t {
    font-size: 1.33rem;
  }
}
@media only screen and (max-width: 767px) {
  .sp_sticky_nav ul li.btn_tel a .t {
    font-size: 1rem;
  }
}
.parts_sticky .sp_sticky_nav {
  visibility: visible;
  transition-delay: .2s;
  opacity: 1;
  transform: translateY(0);
}

html.is-scrollable {
  overflow: hidden;
}

.modal {
  display: block;
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  width: 100%;
  z-index: 1000;
}
.modal .bg_modal {
  transition: opacity .2s ease-out;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 999;
  opacity: 0;
}
.modal nav {
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity .3s ease-out;
}
.modal.is-active {
  display: block;
}
.modal.is-show nav {
  opacity: 1;
}
.modal.is-show .con_menu {
  opacity: 1;
}
.modal.is-show .bg_modal {
  opacity: 1;
}

.menu_header {
  z-index: 2000;
  position: relative;
  justify-content: flex-end;
}

.bg_sunset {
  width: calc(560 / 1440 * 100%);
  position: absolute;
  left: 0;
  top: 0;
  height: calc(var(--vh) * 100);
  background: no-repeat center center/cover;
  z-index: -1;
}
.bg_sunset.lazyloaded {
  background-image: url("../images/common/bg_sunset.jpg");
  transition: ease .5s .3s background-image;
}
.bg_sunset.lazyloaded.concept {
  background-image: url("../images/common/img_menu_concept.jpg");
}
.bg_sunset.lazyloaded.hotspring {
  background-image: url("../images/common/img_menu_hotspring.jpg");
}
.bg_sunset.lazyloaded.cuisine {
  background-image: url("../images/common/img_menu_cuisine.jpg");
}
.bg_sunset.lazyloaded.room {
  background-image: url("../images/common/img_menu_room.jpg");
}
.bg_sunset.lazyloaded.facilities {
  background-image: url("../images/common/img_menu_facilities.jpg");
}
.bg_sunset.lazyloaded.stay {
  background-image: url("../images/common/img_menu_stay.jpg");
}
.bg_sunset.lazyloaded.sightseeing {
  background-image: url("../images/common/img_menu_sightseeing.jpg");
}
.bg_sunset.lazyloaded.access {
  background-image: url("../images/common/img_menu_access.jpg");
}
.bg_sunset.lazyloaded.news {
  background-image: url("../images/common/img_menu_news.jpg");
}
.bg_sunset .slide {
  width: 100%;
  position: relative;
}
.bg_sunset .slide img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
}
.bg_sunset .slide::after {
  content: "";
  width: 100%;
  display: block;
  padding-bottom: calc(var(--vh) * 100);
}

.con_menu {
  overflow-x: hidden;
  overflow-y: auto;
  width: calc(880 / 1440 * 100%);
  margin-right: 0;
  margin-left: auto;
  position: relative;
  z-index: 1000;
  min-height: calc(var(--vh) * 100);
  background: #f8f5ef;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_menu {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .con_menu {
    width: 100%;
    height: 100%;
  }
}
.con_menu .m_logo.view_tab-sp {
  width: calc(95 / 750 * 100%);
  margin-left: calc(20 / 750 * 100%);
  margin-top: calc(20 / 750 * 100%);
  margin-bottom: calc(20 / 750 * 100%);
}
.con_menu .btn_menu {
  width: calc(120 / 1000 * 100%);
  position: relative;
  width: calc(120 / 880 * 100%);
  position: absolute;
  right: 0;
  top: 0;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_menu .btn_menu {
    width: 10rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_menu .btn_menu {
    width: 6.78rem;
  }
}
.con_menu .btn_menu::after {
  content: "";
  width: 100%;
  padding-bottom: 100%;
  display: block;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_menu .btn_menu::after {
    padding-bottom: 7rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_menu .btn_menu::after {
    padding-bottom: calc(130 / 190 * 100%);
  }
}
.lower .con_menu .btn_menu::after {
  padding-bottom: calc(900 / 1200 * 100%);
}
.con_menu .btn_menu button {
  position: absolute;
  right: 0;
  top: 0;
  left: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.con_menu .btn_menu button .line {
  width: calc(70 / 140 * 100%);
  height: 1px;
  position: relative;
  display: block;
  padding-top: 1em;
  padding-bottom: 1em;
}
.con_menu .btn_menu button .line .t, .con_menu .btn_menu button .line .b, .con_menu .btn_menu button .line .m {
  background-color: #000000;
  position: absolute;
  top: 50%;
  height: 1px;
  left: 0;
  right: 0;
  display: block;
  transform-origin: center center;
  transition: opacity 0.3s ease-out 0.3s, height 0.3s ease-out, transform 0.3s ease-out, margin-top 0.3s ease-out 0.3s;
}
.con_menu .btn_menu button .line .t::after, .con_menu .btn_menu button .line .b::after, .con_menu .btn_menu button .line .m::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  top: 100%;
  background-color: #fff;
}
.con_menu .btn_menu button .line .t {
  margin-top: -1em;
}
@media only screen and (max-width: 767px) {
  .con_menu .btn_menu button .line .t {
    margin-top: -.6rem;
  }
}
.con_menu .btn_menu button .line .m {
  width: calc(60 / 70 * 100%);
}
.con_menu .btn_menu button .line .b {
  margin-top: 1em;
}
@media only screen and (max-width: 767px) {
  .con_menu .btn_menu button .line .b {
    margin-top: .6rem;
  }
}
.is-modal-active .con_menu .btn_menu button .line .t, .is-modal-active .con_menu .btn_menu button .line .m, .is-modal-active .con_menu .btn_menu button .line .b {
  transition: opacity 0.3s ease-out, height 0.3s ease-out 0.3s, transform 0.3s ease-out 0.3s, margin-top 0.3s ease-out;
}
.is-modal-active .con_menu .btn_menu button .line .t {
  transform: rotate(-21.5deg);
  margin-top: 0;
}
.is-modal-active .con_menu .btn_menu button .line .m {
  opacity: 0;
}
.is-modal-active .con_menu .btn_menu button .line .b {
  transform: rotate(21.5deg);
  margin-top: 0;
}
.parts_sticky .con_menu .btn_menu::after {
  padding-bottom: calc(80 / 110 * 100%);
}
.con_menu .box_menu {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .con_menu .box_menu {
    justify-content: space-between;
    margin-bottom: 4.66rem;
  }
}
@media only screen and (min-width: 768px) {
  .con_menu .box_menu ul {
    font-size: 1.2rem;
  }
}
.con_menu .box_menu ul li:not(:first-child) {
  margin-top: 1em;
}
.con_menu .box_menu ul li a {
  line-height: 1.3;
  display: block;
  padding: .5em 1em;
  margin-right: -1em;
  margin-left: -1em;
  text-decoration: none !important;
}
@media only screen and (min-width: 768px) {
  .con_menu .box_menu ul li a {
    min-width: 10em;
  }
}
.con_menu .box_menu ul li a span {
  position: relative;
}
.con_menu .box_menu ul li a span::after {
  content: "";
  position: absolute;
  bottom: 2px;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--color-point-brown);
  opacity: 0;
  visibility: hidden;
  transition: ease .5s bottom, ease .5s opacity, ease .5s visibility;
}
@media only screen and (min-width: 1025px) {
  .con_menu .box_menu ul li a:hover span::after {
    bottom: -6px;
    opacity: 1;
    visibility: visible;
  }
}
@media only screen and (min-width: 768px) {
  .con_menu .box_menu ul.sub {
    font-size: 0.93rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_menu .box_menu ul {
    width: 49% !important;
    margin-top: 4em;
    margin-bottom: 4em;
  }
  .con_menu .box_menu ul:nth-of-type(2) {
    margin-left: 2%;
  }
  .con_menu .box_menu ul.sub {
    width: 100% !important;
    display: flex;
    flex-wrap: wrap;
    margin-top: 0;
  }
  .con_menu .box_menu ul.sub li {
    margin-right: 2em;
    margin-top: 0;
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  .con_menu .box_menu {
    padding-top: 1.42rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_menu .box_menu ul {
    margin: 0;
    width: 100%;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .con_menu .box_menu ul {
    font-size: 1.07rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_menu .box_menu ul li:nth-child(n) {
    margin-top: .5em;
  }
  .con_menu .box_menu ul:first-child li:first-child {
    margin-top: 0;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .con_menu .box_menu ul.sub {
    font-size: 0.82rem;
  }
}
@media only screen and (max-width: 767px) and (min-width: 768px) {
  .con_menu .box_menu ul.sub {
    margin: 3em 0;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .con_menu .box_menu ul.sub {
    margin: 2em 0;
  }
}
@media only screen and (max-width: 767px) {
  .con_menu .box_menu ul.sub li {
    margin-top: 0 !important;
    margin-right: 0;
  }
  .con_menu .box_menu ul.sub li:not(:last-child) a {
    display: flex;
    align-items: center;
    padding-right: .75em;
    margin-right: .75em;
    position: relative;
  }
  .con_menu .box_menu ul.sub li:not(:last-child) a::after {
    content: "";
    display: block;
    width: 1px;
    height: 1em;
    background-color: #c7c4bb;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
}
.con_menu > .inner {
  margin-right: auto;
  margin-left: auto;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_menu > .inner {
    width: calc(1100 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_menu > .inner {
    width: calc(630 / 750 * 100%);
  }
}
@media only screen and (min-width: 1025px) {
  .con_menu > .inner {
    min-height: calc(var(--vh) * 100);
  }
}
@media only screen and (min-width: 768px) {
  .con_menu > .inner {
    width: calc(610 / 880 * 100%);
    margin-right: auto;
    margin-left: auto;
    display: flex;
    align-content: center;
    align-items: center;
  }
}
@media only screen and (min-width: 768px) {
  .con_menu .box_btn {
    display: flex;
    width: 100%;
  }
  .con_menu .box_btn p {
    width: calc(300 / 610 * 100%);
  }
  .con_menu .box_btn p:nth-child(even) {
    margin-left: calc(10 / 610 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_menu .box_btn p:not(:first-child) {
    margin-top: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .con_menu .box_menu_det {
    margin-top: 3em;
  }
}
@media only screen and (max-width: 767px) {
  .con_menu .box_menu_det {
    margin-top: 2em;
  }
}
@media only screen and (min-width: 768px) {
  .con_menu .box_menu_det {
    display: flex;
  }
}
@media only screen and (max-width: 767px) {
  .con_menu .box_menu_det {
    padding-bottom: 5rem;
  }
}
@media only screen and (min-width: 768px) {
  .con_menu .box_menu_det .box_l {
    width: calc(300 / 610 * 100%);
    padding-right: .5em;
  }
}
.con_menu .box_menu_det .box_l .txt_tel {
  font-family: "EB Garamond", "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1.4;
}
@media only screen and (min-width: 768px) {
  .con_menu .box_menu_det .box_l .txt_tel {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_menu .box_menu_det .box_l .txt_tel {
    font-size: 1rem;
  }
}
@media only screen and (min-width: 768px) {
  .con_menu .box_menu_det .box_l .txt_tel {
    margin-right: 1.33rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_menu .box_menu_det .box_l .txt_tel {
    margin-right: 0;
  }
}
.con_menu .box_menu_det .box_l .txt_tel a, .con_menu .box_menu_det .box_l .txt_tel .tel {
  text-decoration: none;
}
.con_menu .box_menu_det .box_l .txt_tel .te {
  font-size: 156%;
}
@media only screen and (max-width: 767px) {
  .con_menu .box_menu_det .box_l .txt_tel {
    text-align: center;
  }
}
.con_menu .box_menu_det .box_l .txt_add {
  display: block;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .con_menu .box_menu_det .box_l .txt_add {
    font-size: 0.93rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_menu .box_menu_det .box_l .txt_add {
    font-size: 0.79rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_menu .box_menu_det .box_l .txt_add {
    text-align: center;
  }
}
.con_menu .box_menu_det .box_r {
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .con_menu .box_menu_det .box_r {
    width: calc(400 / 610 * 100%);
    margin-right: calc(-100 / 610 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_menu .box_menu_det .box_r {
    width: calc(300 / 610 * 100%);
    margin-right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .con_menu .box_menu_det .box_r {
    width: 100%;
    margin-top: 2rem;
    padding-bottom: 5rem;
  }
}
.con_menu .box_menu_det .box_r .bnr_cake {
  width: 100%;
}
.con_menu .box_menu_det .box_r .bnr_cake a {
  display: block;
}

.box_modal_slider {
  width: 100%;
  margin-top: auto;
  margin-bottom: 0;
}
.box_modal_slider .slide {
  position: relative;
}
.box_modal_slider .slide img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
}
.box_modal_slider .slide::after {
  content: "";
  width: 100%;
  display: block;
  padding-bottom: calc(200 / 1440 * 100%);
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .box_modal_slider .slide {
    position: relative;
  }
  .box_modal_slider .slide img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
  }
  .box_modal_slider .slide::after {
    content: "";
    width: 100%;
    display: block;
    padding-bottom: calc(1 / 3 * 100%);
  }
}

.con_f_rsv {
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 6.66rem;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .con_f_rsv {
    width: calc(1100 / 1440 * 100%);
    max-width: calc(1100px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .con_f_rsv {
    max-width: calc(1100px * ((18 + 0) / 15));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_f_rsv {
    width: calc(1260 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_f_rsv {
    width: calc(630 / 750 * 100%);
  }
}
@media only screen and (min-width: 1025px) {
  .con_f_rsv {
    max-width: 56.33rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_f_rsv {
    margin-bottom: 3.57rem;
  }
}
.con_f_rsv > .inner {
  width: 100%;
}

.box_f_rsv {
  display: flex;
  align-items: flex-end;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  flex-wrap: wrap;
}
@media only screen and (min-width: 768px) {
  .box_f_rsv .st {
    font-size: 0.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .box_f_rsv .st {
    font-size: 0.89rem;
  }
}
.box_f_rsv .box_elem {
  position: relative;
}
.box_f_rsv .box_elem .box_input, .box_f_rsv .box_elem .box_select {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .box_f_rsv .box_elem .box_input::before, .box_f_rsv .box_elem .box_select::before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    top: 0;
    width: 1px;
    background-color: #c7c4bb;
  }
}
.box_f_rsv .box_elem .box_input input, .box_f_rsv .box_elem .box_input select, .box_f_rsv .box_elem .box_select input, .box_f_rsv .box_elem .box_select select {
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  opacity: 0;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  line-height: 1;
  color: inherit;
}
.box_f_rsv .box_elem .box_input input::-ms-expand, .box_f_rsv .box_elem .box_input select::-ms-expand, .box_f_rsv .box_elem .box_select input::-ms-expand, .box_f_rsv .box_elem .box_select select::-ms-expand {
  display: none;
}
.box_f_rsv .box_elem .box_input .disp, .box_f_rsv .box_elem .box_select .disp {
  display: block;
}
.box_f_rsv .box_elem .box_input .disp .num, .box_f_rsv .box_elem .box_select .disp .num {
  font-family: "EB Garamond", "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 500;
  letter-spacing: .05em;
  letter-spacing: .02em;
  line-height: 1;
  padding-left: .1em;
}
@media only screen and (min-width: 768px) {
  .box_f_rsv .box_elem .box_input .disp .num, .box_f_rsv .box_elem .box_select .disp .num {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .box_f_rsv .box_elem .box_input .disp .num, .box_f_rsv .box_elem .box_select .disp .num {
    font-size: 1.68rem;
  }
}
.box_f_rsv .box_elem .box_input .unit, .box_f_rsv .box_elem .box_select .unit {
  font-size: 0.73rem;
  margin-left: .5em;
  letter-spacing: .03em;
}
.box_f_rsv .box_elem .box_select {
  position: relative;
  padding-right: 0.66rem;
  padding-left: 0.66rem;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .box_f_rsv .box_elem .box_select {
    padding-bottom: 0.35rem;
    border-bottom: 1px solid #c7c4bb;
  }
}
.box_f_rsv .box_elem .box_select::after {
  font-family: "Ionicons";
  content: "\f3d0";
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 0.66rem;
}
@media only screen and (min-width: 1025px) {
  .box_f_rsv .box_elem.date {
    width: calc(240 / 845 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .box_f_rsv .box_elem.date {
    width: calc(290 / 845 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .box_f_rsv .box_elem.date {
    border-bottom: 1px solid #c7c4bb;
    width: calc(420 / 630 * 100%);
    margin-bottom: 1.42rem;
    padding-bottom: 0.35rem;
  }
}
.box_f_rsv .box_elem.date .st {
  padding-right: .5em;
}
.box_f_rsv .box_elem.date label {
  display: flex;
  align-items: baseline;
}
.box_f_rsv .box_elem.date .box_input, .box_f_rsv .box_elem.date .box_select {
  position: relative;
}
.box_f_rsv .box_elem.date .box_input::before, .box_f_rsv .box_elem.date .box_select::before {
  display: none;
}
@media only screen and (min-width: 768px) {
  .box_f_rsv .box_elem.nights {
    width: calc(90 / 845 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .box_f_rsv .box_elem.nights {
    width: calc(200 / 630 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .box_f_rsv .box_elem.nop {
    width: calc(120 / 845 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .box_f_rsv .box_elem.nop {
    width: calc(200 / 630 * 100%);
    margin-left: calc(15 / 630 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .box_f_rsv .box_elem.rooms {
    width: calc(100 / 845 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .box_f_rsv .box_elem.rooms {
    margin-left: calc(15 / 630 * 100%);
    width: calc(200 / 630 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .box_f_rsv .box_mitei {
    width: calc(100 / 845 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .box_f_rsv .box_mitei {
    padding-bottom: 0.35rem;
    margin-bottom: 1.42rem;
    width: calc(210 / 630 * 100%);
    border-bottom: 1px solid #c7c4bb;
  }
}
.box_f_rsv .box_mitei label {
  display: flex;
  align-items: center;
  cursor: pointer;
}
.box_f_rsv .box_mitei .box_cb {
  width: 1.6rem;
  height: 0.86rem;
  position: relative;
  display: block;
  cursor: pointer;
  margin-right: 0.33rem;
}
@media only screen and (max-width: 767px) {
  .box_f_rsv .box_mitei .box_cb {
    width: 2.85rem;
    height: 1.25rem;
  }
}
.box_f_rsv .box_mitei .box_cb input {
  opacity: 0;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
}
.box_f_rsv .box_mitei .box_cb input:checked ~ .cb::after {
  background-image: url("../images/common/ic_check_checked.svg");
}
.box_f_rsv .box_mitei .box_cb .cb {
  width: 100%;
  height: 100%;
}
.box_f_rsv .box_mitei .box_cb .cb::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  display: block;
  background: url("../images/common/ic_check.svg") no-repeat center top/contain;
}
@media only screen and (min-width: 1025px) {
  .box_f_rsv .btn_f_submit {
    width: calc(180 / 845 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .box_f_rsv .btn_f_submit {
    width: calc(130 / 845 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .box_f_rsv .btn_f_submit {
    margin-top: 1.78rem;
    width: 100%;
  }
}
.box_f_rsv .btn_f_submit button {
  width: 100%;
  padding-right: 0;
  padding-left: 0;
  min-height: auto;
  height: 3.2rem;
}
@media only screen and (max-width: 767px) {
  .box_f_rsv .btn_f_submit button {
    max-width: none;
    height: 3.57rem;
  }
}
.box_f_rsv .btn_f_submit button .jp {
  padding-right: 0;
  padding-left: 0;
  justify-content: center;
}

.box_f_list {
  margin-top: 1.66rem;
  margin-bottom: 1.66rem;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .box_f_list {
    margin-top: 1.07rem;
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 767px) {
  .box_f_list li {
    font-size: 0.89rem;
  }
}
@media only screen and (min-width: 768px) {
  .box_f_list li {
    margin-right: 1.33rem;
  }
}
@media only screen and (max-width: 767px) {
  .box_f_list li {
    width: calc(300 / 630 * 100%);
  }
  .box_f_list li:nth-child(even) {
    margin-left: calc(30 / 630 * 100%);
  }
  .box_f_list li:nth-child(n+3) {
    margin-top: .5em;
  }
  .box_f_list li a {
    width: 100%;
    margin: 0;
    padding: 0;
    display: block;
  }
  .box_f_list li a .jp {
    padding: .6em 0;
    width: 100%;
  }
  .box_f_list li a .jp .ic_arr {
    margin-right: 0;
    margin-left: auto;
  }
}

.con_change_rsv {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 1025px) {
  .con_change_rsv {
    width: calc(1100 / 1440 * 100%);
    max-width: calc(1100px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .con_change_rsv {
    max-width: calc(1100px * ((18 + 0) / 15));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_change_rsv {
    width: calc(1260 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_change_rsv {
    width: calc(630 / 750 * 100%);
  }
}
@media only screen and (min-width: 1025px) {
  .con_change_rsv {
    max-width: 60rem;
  }
}
@media only screen and (min-width: 768px) {
  .con_change_rsv {
    margin-top: -6.67rem;
    margin-bottom: 6.66rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_change_rsv {
    margin-top: -1.79rem;
    margin-bottom: 3.57rem;
  }
}
.con_change_rsv a {
  font-size: 0.93rem;
  background-color: #ecddd8;
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .con_change_rsv a {
    padding: 0.8rem 0.8rem 0.8rem 1.13rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
}
@media only screen and (max-width: 767px) {
  .con_change_rsv a {
    padding: 0.89rem 1.78rem 0;
    display: block;
  }
}
.con_change_rsv a .st {
  color: #fff;
}
@media only screen and (min-width: 768px) {
  .con_change_rsv a .st {
    padding: 0 0.53rem;
    width: 16rem;
    background-color: #850d0d;
  }
}
@media only screen and (max-width: 767px) {
  .con_change_rsv a .st {
    display: flex;
    justify-content: center;
  }
}
@media only screen and (max-width: 767px) {
  .con_change_rsv a .st span {
    padding: 0 1em;
    background-color: #850d0d;
    display: block;
  }
}
.con_change_rsv a .txt {
  display: block;
  padding-left: 1rem;
}
@media only screen and (min-width: 768px) {
  .con_change_rsv a .txt {
    width: calc(100% - 16rem - 1.66rem);
  }
}
@media only screen and (max-width: 767px) {
  .con_change_rsv a .txt {
    width: 100%;
    line-height: calc(40/25);
    text-align: center;
    padding: .5rem 0;
  }
}
.con_change_rsv a .txt time {
  color: #850d0d;
  font-weight: bold;
}
@media only screen and (min-width: 768px) {
  .con_change_rsv a::after {
    font-family: "Ionicons";
    content: "\f3d1";
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 0.66rem;
    margin-left: 0.66rem;
    width: 1rem;
  }
}

:root {
  --color-text: #000000;
  --color-bg: #f8f5ef;
  --color-line: #c7c4bb;
  --color-point-navy: #0e3758;
  --color-point-brown: #825109;
}

#main {
  opacity: 1;
}

.mouse .over {
  transition: opacity 0.3s ease-in;
}
.mouse .over:hover, .touch .over.touchstart {
  opacity: 0.7;
}
.touch .over {
  -webkit-tap-highlight-color: transparent;
}
.touch .over.touchend {
  transition-delay: 200ms;
}

#abi_page {
  width: 100%;
}
@media only screen and (min-width: 1025px) {
  #abi_page {
    width: 100%;
    margin: auto;
  }
}
@media only screen and (min-width: 768px) {
  #abi_page {
    font-size: 100% !important;
  }
}

.js-tab-pan > *:not(:first-child) {
  display: none;
}

.half_space {
  display: inline-block;
  width: 1em;
  height: .4em;
}

@media only screen and (min-width: 768px) {
  .wrp_lower_links {
    margin-top: 10.66rem;
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_links {
    margin-top: 4em;
  }
}
.wrp_lower_links ul {
  display: flex;
}
@media only screen and (max-width: 767px) {
  .wrp_lower_links ul {
    flex-direction: column;
  }
}
.wrp_lower_links ul li {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .wrp_lower_links ul li {
    width: calc(1 / 3 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_links ul li {
    width: 100%;
  }
}
.wrp_lower_links ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-decoration: none;
  color: #fff;
  position: relative;
}
.mouse .wrp_lower_links ul li a {
  transition: opacity 0.3s ease-in;
}
.mouse .wrp_lower_links ul li a:hover, .touch .wrp_lower_links ul li a.touchstart {
  opacity: 0.7;
}
.touch .wrp_lower_links ul li a {
  -webkit-tap-highlight-color: transparent;
}
.touch .wrp_lower_links ul li a.touchend {
  transition-delay: 200ms;
}
.wrp_lower_links ul li .img {
  width: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (min-width: 768px) {
  .wrp_lower_links ul li .img {
    position: relative;
  }
  .wrp_lower_links ul li .img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
  }
  .wrp_lower_links ul li .img::after {
    content: "";
    width: 100%;
    display: block;
    padding-bottom: calc(427 / 640 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_links ul li .img {
    position: relative;
  }
  .wrp_lower_links ul li .img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
  }
  .wrp_lower_links ul li .img::after {
    content: "";
    width: 100%;
    display: block;
    padding-bottom: calc(200 / 750 * 100%);
  }
}
.wrp_lower_links ul li .txt {
  width: 100%;
  letter-spacing: .08em;
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  flex-direction: column;
}
.wrp_lower_links ul li .txt .jp {
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .wrp_lower_links ul li .txt .jp {
    font-size: 1.73rem;
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_links ul li .txt .jp {
    font-size: 1.36rem;
  }
}
.wrp_lower_links ul li .txt .en {
  line-height: 1;
  display: block;
  margin-top: 1em;
}
@media only screen and (min-width: 768px) {
  .wrp_lower_links ul li .txt .en {
    font-size: 0.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_links ul li .txt .en {
    font-size: 0.71rem;
  }
}
@media only screen and (min-width: 768px) {
  .wrp_lower_links ul li.room .img {
    background-image: url(../images/common/img_link_rooms-pc.jpg);
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_links ul li.room .img {
    background-image: url(../images/common/img_link_rooms-sp.jpg);
  }
}
@media only screen and (min-width: 768px) {
  .wrp_lower_links ul li.hotspring .img {
    background-image: url(../images/common/img_link_hotspring-pc.jpg);
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_links ul li.hotspring .img {
    background-image: url(../images/common/img_link_hotspring-sp.jpg);
  }
}
@media only screen and (min-width: 768px) {
  .wrp_lower_links ul li.cuisine .img {
    background-image: url(../images/common/img_link_cuisine-pc.jpg);
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_links ul li.cuisine .img {
    background-image: url(../images/common/img_link_cuisine-sp.jpg);
  }
}
@media only screen and (min-width: 768px) {
  .wrp_lower_links ul li.facilities .img {
    background-image: url(../images/common/img_link_facilities-pc.jpg);
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_links ul li.facilities .img {
    background-image: url(../images/common/img_link_facilities-sp.jpg);
  }
}
@media only screen and (min-width: 768px) {
  .wrp_lower_links ul.col4 li {
    width: calc(1 / 4 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .wrp_lower_links ul.col4 li .img {
    position: relative;
  }
  .wrp_lower_links ul.col4 li .img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
  }
  .wrp_lower_links ul.col4 li .img::after {
    content: "";
    width: 100%;
    display: block;
    padding-bottom: calc(320 / 360 * 100%);
  }
}

.wrp_lower_stay {
  background: url("../images/common/bg_k.jpg") #eee7d8 repeat center top;
}
@media only screen and (min-width: 768px) {
  .wrp_lower_stay {
    padding: 4rem 0 8rem;
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_stay {
    padding: 3em 0 6em;
  }
}
.wrp_lower_stay .con_lower_stay {
  margin-right: auto;
  margin-left: auto;
  position: relative;
}
@media only screen and (min-width: 1025px) {
  .wrp_lower_stay .con_lower_stay {
    width: calc(1260 / 1440 * 100%);
    max-width: calc(1260px);
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1441px) {
  .wrp_lower_stay .con_lower_stay {
    max-width: calc(1260px * ((18 + 0) / 15));
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .wrp_lower_stay .con_lower_stay {
    width: calc(1260 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_stay .con_lower_stay {
    width: calc(690 / 750 * 100%);
  }
}
@media only screen and (min-width: 1441px) {
  .wrp_lower_stay .con_lower_stay {
    max-width: 1040px;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1440px) {
  .wrp_lower_stay .con_lower_stay {
    max-width: 800px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .wrp_lower_stay .con_lower_stay {
    max-width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_stay .con_lower_stay {
    max-width: 100%;
  }
}
.wrp_lower_stay .con_lower_stay::before, .wrp_lower_stay .con_lower_stay::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  border-top: 1px solid var(--color-line);
  border-left: 1px solid var(--color-line);
  border-right: 1px solid var(--color-line);
}
.wrp_lower_stay .con_lower_stay::before {
  width: 100%;
  height: calc(100% - .7em);
  top: .7em;
}
.wrp_lower_stay .con_lower_stay::after {
  width: calc(100% - 1.5em);
  height: 100%;
  top: 0;
}
.wrp_lower_stay .con_lower_stay > .inner {
  margin-right: auto;
  margin-left: auto;
  position: relative;
  z-index: 2;
}
@media only screen and (min-width: 768px) {
  .wrp_lower_stay .con_lower_stay > .inner {
    width: calc(700 / 800 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_stay .con_lower_stay > .inner {
    width: 85%;
  }
}
@media only screen and (min-width: 768px) {
  .wrp_lower_stay .con_lower_stay > .inner {
    padding-top: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_stay .con_lower_stay > .inner {
    padding-top: 3em;
  }
}
@media only screen and (min-width: 768px) {
  .wrp_lower_stay .con_lower_stay > .inner {
    display: flex;
  }
}
.wrp_lower_stay .con_lower_stay > .inner .tmp_st_m_tate {
  line-height: 1;
}
@media only screen and (min-width: 768px) {
  .wrp_lower_stay .con_lower_stay > .inner .tmp_st_m_tate {
    width: calc(65 / 700 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_stay .con_lower_stay > .inner .tmp_st_m_tate {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_stay .con_lower_stay > .inner .tmp_st_m_tate {
    top: 2em;
    left: .5em;
    position: absolute;
  }
}
@media only screen and (min-width: 768px) {
  .wrp_lower_stay .con_lower_stay > .inner .box_txt {
    width: calc(282 / 700 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_stay .con_lower_stay > .inner .box_txt {
    width: 80%;
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_stay .con_lower_stay > .inner .box_txt {
    margin-right: 0;
    margin-left: auto;
  }
}
@media only screen and (min-width: 768px) {
  .wrp_lower_stay .con_lower_stay > .inner .box_txt .txt + .tmp_btn {
    margin-top: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_stay .con_lower_stay > .inner .box_txt .txt + .tmp_btn {
    margin-top: 1.5em;
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_stay .con_lower_stay > .inner .box_txt .tmp_btn > * {
    width: 100%;
  }
}
@media only screen and (min-width: 768px) {
  .wrp_lower_stay .con_lower_stay > .inner .img {
    margin-left: calc(36 / 700 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .wrp_lower_stay .con_lower_stay > .inner .img {
    width: calc(317 / 700 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_stay .con_lower_stay > .inner .img {
    width: 80%;
  }
}
@media only screen and (max-width: 767px) {
  .wrp_lower_stay .con_lower_stay > .inner .img {
    margin-right: 0;
    margin-left: auto;
    margin-top: 1.5em;
  }
}

.txt_blur, .ls_blur {
  transition: filter .5s ease-out .5s, opacity .5s ease-out .5s;
  filter: blur(1em);
  opacity: 0;
}
.txt_blur.is-show, .txt_blur.lazyloaded, .ls_blur.is-show, .ls_blur.lazyloaded {
  opacity: 1;
  filter: blur(0);
}

.fadeIn {
  transition: opacity 1s ease-out .5s;
  opacity: 0;
}
.fadeIn.is-show {
  opacity: 1;
}

.fadeUp {
  transition: opacity 1s ease-out .5s, transform 1s ease-out .5s;
  transform: translateY(30px);
  opacity: 0;
}
@media only screen and (max-width: 767px) {
  .fadeUp {
    transform: translateY(1em);
  }
}
.fadeUp.is-show {
  transform: translateY(0);
  opacity: 1;
}

.fadeimg_rt img {
  clip-path: polygon(0 10%, 95% 10%, 95% 100%, 0% 100%);
  animation-duration: 1.5s;
  animation-fill-mode: both;
}
.fadeimg_rt.is-show img {
  animation-name: fadeIn_img_rt;
  transition: 1.5s;
}

.fadeimg_lt img {
  clip-path: polygon(10% 10%, 100% 10%, 100% 100%, 10% 100%);
  animation-duration: 1.5s;
  animation-fill-mode: both;
}
.fadeimg_lt.is-show img {
  animation-name: fadeIn_img_lt;
  transition: 1.5s;
}

@keyframes fadeIn_img_rt {
  from {
    clip-path: polygon(0 10%, 95% 10%, 95% 100%, 0% 100%);
  }
  to {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}
@keyframes fadeIn_img_lt {
  from {
    clip-path: polygon(10% 10%, 100% 10%, 100% 100%, 10% 100%);
  }
  to {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
  }
}
