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

file name  : first_load.css
author     : Abilive
style info : 最初に読むCSS
=================================================================== */
/* ===================================================================
CSS information

file name  : _settings.scss
author     : Abilive
style info : 汎用設定
=================================================================== */
#header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}
.lower #header {
  background: url("../images/common/bg_k.jpg") #eee7d8 repeat center top;
}
@media only screen and (max-width: 767px) {
  #header .txt_seo {
    font-size: 0.64rem;
  }
}
@media only screen and (min-width: 768px) {
  #header .txt_seo {
    font-size: 0.73rem;
    top: 100%;
    right: 0;
    position: absolute;
    justify-content: center;
    display: flex;
    width: calc(120 / 1440 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  #header .txt_seo {
    order: 1;
    line-height: 1.5;
    width: calc(235 / 750 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  #header .txt_seo .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;
    height: 50em;
    padding-top: 2rem;
  }
}

@media only screen and (max-width: 767px) {
  .box_h_l {
    order: 0;
  }
}
.box_h_l .h_logo {
  margin-left: 1.33rem;
  width: 7.33rem;
  display: block;
  padding: 1.66rem 0;
}
.lower .box_h_l .h_logo {
  padding: 0.66rem 0;
  width: 4.66rem;
}
@media only screen and (max-width: 767px) {
  .box_h_l .h_logo {
    padding: 0.71rem 0;
    width: 3.42rem;
    margin-left: 0.71rem;
    margin-right: 0.71rem;
  }
}

.box_h_r {
  width: calc(1000 / 1440 * 100%);
  margin-right: 0;
  margin-left: auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media only screen and (min-width: 1441px) {
  .box_h_r {
    margin-bottom: 2.2vw;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1699px) {
  .box_h_r {
    margin-bottom: 2.7vw;
  }
}
@media only screen and (min-width: 1480px) and (max-width: 1519px) {
  .box_h_r {
    margin-bottom: 3vw;
  }
}
@media only screen and (min-width: 1441px) and (max-width: 1469px) {
  .box_h_r {
    margin-bottom: 3.3vw;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1440px) {
  .box_h_r {
    margin-bottom: 2.8vw;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1399px) {
  .box_h_r {
    margin-bottom: 3.2vw;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1349px) {
  .box_h_r {
    margin-bottom: 3.4vw;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1329px) {
  .box_h_r {
    margin-bottom: 3.6vw;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1299px) {
  .box_h_r {
    margin-bottom: 4vw;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1269px) {
  .box_h_r {
    margin-bottom: 4.2vw;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1229px) {
  .box_h_r {
    margin-bottom: 4.7vw;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1199px) {
  .box_h_r {
    margin-bottom: 5vw;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1169px) {
  .box_h_r {
    margin-bottom: 5.2vw;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1145px) {
  .box_h_r {
    margin-bottom: 5.6vw;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1109px) {
  .box_h_r {
    margin-bottom: 6vw;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1089px) {
  .box_h_r {
    margin-bottom: 6.4vw;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1049px) {
  .box_h_r {
    margin-bottom: 6.8vw;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .box_h_r {
    width: auto;
  }
}
@media only screen and (max-width: 767px) {
  .box_h_r {
    width: auto;
    order: 2;
  }
}
.box_h_r .txt_h_tel {
  font-size: 1.2rem;
  font-family: "EB Garamond", "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 500;
  text-transform: uppercase;
  margin-right: 1.33rem;
}
.box_h_r .txt_h_tel a, .box_h_r .txt_h_tel .tel {
  text-decoration: none;
}
.box_h_r .txt_h_tel .te {
  font-size: 156%;
}
.box_h_r .tmp_btn {
  font-size: 0.93rem;
  width: 10.66rem;
  margin-left: 0.26rem;
}
.box_h_r .tmp_btn a {
  padding-right: .5rem;
  padding-left: .5rem;
}
@media only screen and (min-width: 768px) {
  .box_h_r .tmp_btn a {
    min-height: 3.33rem;
  }
}
.box_h_r .btn_menu {
  width: calc(120 / 1000 * 100%);
  position: relative;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .box_h_r .btn_menu {
    width: 10rem;
  }
}
@media only screen and (max-width: 767px) {
  .box_h_r .btn_menu {
    width: 6.78rem;
  }
}
.box_h_r .btn_menu::after {
  content: "";
  width: 100%;
  padding-bottom: 100%;
  display: block;
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .box_h_r .btn_menu::after {
    padding-bottom: 7rem;
  }
}
@media only screen and (max-width: 767px) {
  .box_h_r .btn_menu::after {
    padding-bottom: calc(130 / 190 * 100%);
  }
}
.lower .box_h_r .btn_menu::after {
  padding-bottom: calc(900 / 1200 * 100%);
}
.box_h_r .btn_menu button {
  position: absolute;
  right: 0;
  top: 0;
  left: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.box_h_r .btn_menu button .line {
  width: calc(70 / 140 * 100%);
  height: 1px;
  position: relative;
  display: block;
  padding-top: 1em;
  padding-bottom: 1em;
}
.box_h_r .btn_menu button .line .t, .box_h_r .btn_menu button .line .b, .box_h_r .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;
}
.box_h_r .btn_menu button .line .t::after, .box_h_r .btn_menu button .line .b::after, .box_h_r .btn_menu button .line .m::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  top: 100%;
  background-color: #fff;
}
.box_h_r .btn_menu button .line .t {
  margin-top: -1em;
}
@media only screen and (max-width: 767px) {
  .box_h_r .btn_menu button .line .t {
    margin-top: -.6rem;
  }
}
.box_h_r .btn_menu button .line .m {
  width: calc(60 / 70 * 100%);
}
.box_h_r .btn_menu button .line .b {
  margin-top: 1em;
}
@media only screen and (max-width: 767px) {
  .box_h_r .btn_menu button .line .b {
    margin-top: .6rem;
  }
}
.is-modal-active .box_h_r .btn_menu button .line .t, .is-modal-active .box_h_r .btn_menu button .line .m, .is-modal-active .box_h_r .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 .box_h_r .btn_menu button .line .t {
  transform: rotate(-21.5deg);
  margin-top: 0;
}
.is-modal-active .box_h_r .btn_menu button .line .m {
  opacity: 0;
}
.is-modal-active .box_h_r .btn_menu button .line .b {
  transform: rotate(21.5deg);
  margin-top: 0;
}

.sticky_header {
  position: fixed;
  right: 0;
  top: 0;
  width: 100%;
  overflow: visible;
  z-index: 999;
  opacity: 0;
  visibility: hidden;
}
@media only screen and (min-width: 1025px) {
  .sticky_header .box_h_r {
    width: calc(440 / 1440 * 100%);
    position: absolute;
    right: 0;
    top: 0;
  }
  .sticky_header .box_h_r .btn_menu {
    width: calc(120 / 440 * 100%);
  }
  .sticky_header .box_h_r .btn_menu::after {
    padding-bottom: calc(80 / 110 * 100%);
  }
}
.sticky_header .box_h_r {
  opacity: 0;
  transition-property: opacity, height, transform;
  transition-duration: .2s;
  transition-timing-function: ease-out;
  transform: translateY(-1.5em);
}
.parts_sticky .sticky_header {
  visibility: visible;
  opacity: 1;
}
.parts_sticky .sticky_header .box_h_r {
  transform: translateY(0);
  transition-delay: .2s;
  opacity: 1;
}

@media only screen and (min-width: 768px) {
  .lower .wrp_kv {
    margin-bottom: 4.66rem;
  }
}
@media only screen and (max-width: 767px) {
  .lower .wrp_kv {
    margin-bottom: 4em;
  }
}

.con_kv {
  width: calc(1320 / 1440 * 100%);
  position: relative;
}
@media only screen and (min-width: 768px) {
  .lower .con_kv {
    margin-bottom: 2.66rem;
  }
}
@media only screen and (max-width: 767px) {
  .lower .con_kv {
    margin-bottom: 0.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_kv {
    width: 100%;
  }
  #homepage .con_kv {
    padding-top: 6.42rem;
  }
}
.con_kv .catch_kv {
  height: 0;
  overflow: visible;
  z-index: 2;
  position: relative;
  display: flex;
}
@media only screen and (max-width: 767px) {
  .con_kv .catch_kv {
    justify-content: center;
  }
}
.con_kv .catch_kv .jp {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
}
@media only screen and (min-width: 1025px) {
  .con_kv .catch_kv .jp {
    margin-left: 16rem;
  }
}
@media only screen and (min-width: 1025px) and (min-width: 1025px) and (max-width: 1440px) {
  .con_kv .catch_kv .jp {
    margin-left: 12rem;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_kv .catch_kv .jp {
    margin-left: 12rem;
  }
}
.con_kv .catch_kv .jp span {
  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;
  line-height: calc(64 / 40);
  margin-top: -1.5em;
  background-color: rgba(255, 255, 255, 0.7);
  padding-top: .5em;
}
@media only screen and (min-width: 1441px) {
  .con_kv .catch_kv .jp span {
    font-size: 2.67rem;
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1440px) {
  .con_kv .catch_kv .jp span {
    font-size: 2.4rem;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .con_kv .catch_kv .jp span {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .con_kv .catch_kv .jp span {
    font-size: 1.71rem;
  }
}
.con_kv .catch_kv .jp span:nth-child(1) {
  height: 7.8em;
  margin-left: .25em;
}
.con_kv .catch_kv .jp span:nth-child(2) {
  height: 8.4em;
}
@media only screen and (max-width: 767px) {
  .con_kv .catch_kv .jp span {
    margin-top: -2.5em;
  }
}
.con_kv .catch_kv span {
  filter: blur(1em);
  opacity: 0;
  transform: translateY(-0.5rem);
}
.con_kv .catch_kv.is-active span {
  transition: 0.5s opacity ease-out, 0.5s transform ease-out, 0.5s filter;
  filter: blur(0);
  opacity: 1;
  transform: translateY(0);
}
.con_kv .catch_kv.is-active span:nth-child(2) {
  transition-delay: 1s;
}
.con_kv .con_kv_news {
  width: 100%;
  position: absolute;
  bottom: 4.66rem;
  left: 0;
  height: 0;
  overflow: visible;
  z-index: 3;
  display: flex;
  align-items: flex-end;
}
@media only screen and (max-width: 767px) {
  .con_kv .con_kv_news {
    bottom: 1.96rem;
  }
}
.con_kv .box_kv_news {
  display: flex;
  width: 20.66rem;
  right: 3.33rem;
  bottom: 0;
  position: absolute;
  color: #fff;
  border: 1px solid #ccc;
}
@media only screen and (max-width: 767px) {
  .con_kv .box_kv_news {
    position: relative;
    width: calc(630 / 750 * 100%);
    margin-right: auto;
    right: auto;
    bottom: auto;
    margin-left: auto;
  }
}
.con_kv .box_kv_news.no-slide {
  border: none;
}
.con_kv .box_kv_news > .inner {
  overflow: hidden;
  width: calc(100% - 3.33rem);
}
.con_kv .box_kv_news > .inner .swiper-wrapper .slide {
  font-weight: normal;
  text-decoration: none;
  align-items: center;
  display: flex;
  padding-left: 1.33rem;
  padding-right: 1rem;
}
.con_kv .box_kv_news > .inner .swiper-wrapper .slide .text {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.5;
  font-size: 0.93rem;
}
.firefox .con_kv .box_kv_news > .inner .swiper-wrapper .slide .text {
  max-height: 3em;
}
.con_kv .box_kv_news .ctrl {
  width: 3.33rem;
  text-align: center;
}
.con_kv .box_kv_news .ctrl .btns {
  display: flex;
}
.con_kv .box_kv_news .ctrl .btns .swiper-next, .con_kv .box_kv_news .ctrl .btns .swiper-prev {
  cursor: pointer;
  height: 3.33rem;
  display: flex;
  width: 50%;
  align-items: center;
  justify-content: center;
}
.con_kv .box_kv_news .ctrl .btns .swiper-next::after, .con_kv .box_kv_news .ctrl .btns .swiper-prev::after {
  content: "\f3d1";
  font-family: "Ionicons";
}
.con_kv .box_kv_news .ctrl .btns .swiper-prev::after {
  transform: scaleX(-1);
}
.con_kv .box_kv_news .ctrl .swiper-pagination-fraction {
  font-size: 0.93rem;
  font-family: "EB Garamond", "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 500;
  text-transform: uppercase;
  margin-top: 0;
  line-height: calc(22 / 14);
  background-color: #fff;
  color: var(--color-text);
}
.lower .con_kv {
  padding-right: calc(120 / 1440 * 100%);
  position: relative;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .lower .con_kv {
    padding-right: 0;
  }
}
@media only screen and (min-width: 768px) {
  .lower .con_kv::before {
    background: url("../images/common/bg_k.jpg") #eee7d8 repeat center top;
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    padding-bottom: calc(510 / 1440 * 100%);
    left: 0;
    top: 0;
    right: 0;
    z-index: -1;
  }
}
@media only screen and (min-width: 768px) and (max-width: 767px) {
  .lower .con_kv::before {
    padding-bottom: calc(640 / 768 * 100%);
  }
}

.con_kv .slide {
  position: relative;
  z-index: 1;
}

.lower .con_kv_st {
  background: url("../images/common/bg_k.jpg") #eee7d8 repeat center top;
}
.con_kv_st + .box_topicpath {
  max-width: calc(1200 / 1440 * 100%);
  margin-right: auto;
  margin-left: auto;
  justify-content: center;
}
.con_kv_st + .box_topicpath ul {
  justify-content: flex-end;
  margin-right: 0;
  margin-left: auto;
}

.box_kv_st {
  margin-right: auto;
  margin-left: auto;
  height: 13rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
}
@media only screen and (max-width: 767px) {
  .box_kv_st {
    width: calc(690 / 750 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .lower .box_kv_st {
    align-items: flex-end;
    align-content: flex-end;
    padding-bottom: 3.33rem;
  }
}
@media only screen and (max-width: 767px) {
  .lower .box_kv_st {
    height: 9.46rem;
  }
}
#homepage .box_kv_st {
  padding-top: 3rem;
}
@media only screen and (min-width: 768px) {
  .box_kv_st {
    max-width: calc(1200 / 1440 * 100%);
  }
}
.box_kv_st > .inner {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .box_kv_st > .inner {
    display: flex;
    align-items: baseline;
  }
}
@media only screen and (min-width: 768px) {
  .box_kv_st .st_kv_st {
    display: flex;
    align-items: baseline;
  }
}
@media only screen and (max-width: 767px) {
  .box_kv_st .st_kv_st {
    text-align: center;
  }
}
.box_kv_st .st_kv_st span {
  display: block;
}
.box_kv_st .st_kv_st span.jp {
  letter-spacing: .08em;
  line-height: 1em;
}
@media only screen and (min-width: 768px) {
  .box_kv_st .st_kv_st span.jp {
    font-size: 2.67rem;
  }
}
@media only screen and (max-width: 767px) {
  .box_kv_st .st_kv_st span.jp {
    font-size: 1.71rem;
  }
}
.box_kv_st .st_kv_st span.en {
  color: var(--color-point-brown);
  line-height: 1em;
}
@media only screen and (min-width: 768px) {
  .box_kv_st .st_kv_st span.en {
    font-size: 0.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .box_kv_st .st_kv_st span.en {
    font-size: 0.82rem;
  }
}
@media only screen and (min-width: 768px) {
  .box_kv_st .st_kv_st span.en {
    padding-left: 1.33rem;
  }
}
@media only screen and (max-width: 767px) {
  .box_kv_st .st_kv_st span.en {
    margin-top: 0.89rem;
  }
}
.box_kv_st.type_text > .inner {
  justify-content: center;
  text-align: center;
}
.box_kv_st.type_text > .inner span {
  display: block;
}
.box_kv_st.type_text > .inner span.jp {
  font-size: 1.73rem;
}

.box_topicpath {
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (max-width: 767px) {
  .box_topicpath {
    width: calc(690 / 750 * 100%);
  }
}
@media only screen and (min-width: 768px) {
  .box_topicpath {
    margin-right: 0;
    margin-left: auto;
  }
}

.st_kv_st + .box_topicpath .topicpath {
  height: auto;
}

.topicpath {
  position: relative;
  align-items: center;
  display: flex;
  height: 3.33rem;
}
@media only screen and (min-width: 768px) {
  .topicpath {
    font-size: 0.67rem;
  }
}
@media only screen and (max-width: 767px) {
  .topicpath {
    justify-content: flex-end;
  }
}
.topicpath ul {
  display: flex;
}
.topicpath ul li {
  display: flex;
  align-items: center;
}
.topicpath ul li a {
  text-decoration: none;
  color: inherit;
  display: block;
}
.topicpath ul li:not(:last-child)::after {
  font-family: "Ionicons";
  content: "\f3d3";
  text-align: center;
  display: block;
  line-height: 1;
  padding-right: 0.66rem;
  padding-left: 0.66rem;
}

html {
  letter-spacing: .05em;
}
@media only screen and (min-width: 768px) {
  html {
    line-height: calc(30 / 15);
  }
}
@media only screen and (max-width: 767px) {
  html {
    line-height: calc(30 / 15);
  }
}
@media only screen and (min-width: 1441px) {
  html {
    font-size: calc((15 + 2) / 16 * 100%);
  }
}
@media only screen and (min-width: 1441px) and (max-width: 1600px) {
  html {
    font-size: calc((15 + 1) / 16 * 100%);
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1440px) {
  html {
    font-size: calc(15 / 16 * 100%);
  }
}
@media only screen and (min-width: 1025px) and (max-width: 1365px) {
  html {
    font-size: calc((15 - 0) / 16 * 100%);
  }
}
@media only screen and (min-width: 897px) and (max-width: 1024px) {
  html {
    font-size: calc((15) / 16 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 896px) {
  html {
    font-size: calc((15 - 2) / 16 * 100%);
  }
}

body {
  color: var(--color-text);
  -webkit-text-size-adjust: none;
  background-color: var(--color-bg);
  width: 100%;
  overflow-x: hidden;
}
.homepage body {
  background: url("../images/common/bg_k.jpg") #eee7d8 repeat center top;
}
body a {
  color: inherit;
  text-decoration: underline;
}
body a:hover {
  text-decoration: none;
}
body img {
  max-width: 100%;
  -webkit-touch-callout: none;
  line-height: 1;
}

body,
pre,
input,
textarea,
select {
  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;
  color: var(--color-text);
}

input,
select,
textarea {
  font-size: 100%;
}

* {
  box-sizing: border-box;
}

#abi_page {
  max-width: 2560px;
  margin-right: auto;
  margin-left: auto;
}

@media only screen and (min-width: 1025px) {
  body .view_tab-sp,
  body .view_tab {
    display: none !important;
  }
}
@media only screen and (min-width: 768px) {
  body .view_sp {
    display: none !important;
  }
}
@media only screen and (max-width: 1024px) {
  body .view_pc {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  body .view_pc-tab,
  body .view_tab {
    display: none !important;
  }
}

svg {
  width: 1em;
}

img {
  width: 100%;
}
img.lazyload, img.lazyloading {
  opacity: 0;
  visibility: hidden;
}
img.lazyloaded {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-out;
  height: auto;
}
img[loading=lazy] {
  width: 100%;
  height: auto;
}

#main {
  max-width: 2560px;
  margin-right: auto;
  margin-left: auto;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

button {
  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;
  padding: 0;
  font-size: 1rem;
  cursor: pointer;
  color: inherit;
}
button::-ms-expand {
  display: none;
}

.tmp_f_slider {
  overflow: hidden;
}
.tmp_f_slider .js-f-swiper {
  position: relative;
}
@media only screen and (min-width: 1025px) {
  .tmp_f_slider .js-f-swiper .slide {
    width: calc(1 / 4 * 100%);
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .tmp_f_slider .js-f-swiper .slide {
    width: calc(1 / 3 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .tmp_f_slider .js-f-swiper .slide {
    width: calc(1 / 2 * 100%);
  }
}
.tmp_f_slider .js-f-swiper .slide > .inner {
  display: block;
  margin-right: auto;
  margin-left: auto;
  width: calc(290 / 325 * 100%);
}
.tmp_f_slider .js-f-swiper:not(.swiper-initialized) .swiper-wrapper {
  display: flex;
}
@media only screen and (min-width: 1025px) {
  .tmp_f_slider .js-f-swiper:not(.swiper-initialized) .swiper-wrapper .slide:nth-child(n+5) {
    display: none;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1024px) {
  .tmp_f_slider .js-f-swiper:not(.swiper-initialized) .swiper-wrapper .slide:nth-child(n+4) {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .tmp_f_slider .js-f-swiper:not(.swiper-initialized) .swiper-wrapper .slide:nth-child(n+3) {
    display: none;
  }
}
.tmp_f_slider .js-f-swiper:not(.swiper-initialized) .js-swiper-pagination .swiper-pagination-bullet {
  opacity: 0 !important;
  display: block !important;
}

.tmp_1_slider {
  overflow: hidden;
  position: relative;
}
.tmp_1_slider .js-1-swiper .slide > .inner {
  display: block;
}
.tmp_1_slider .js-1-swiper .js-swiper-pagination {
  z-index: 1;
}
.tmp_1_slider .js-1-swiper:not(.swiper-initialized) .swiper-wrapper {
  display: flex;
}
.tmp_1_slider .js-1-swiper:not(.swiper-initialized) .swiper-wrapper .slide:nth-child(n+2) {
  display: none;
}
.tmp_1_slider .js-1-swiper:not(.swiper-initialized) .js-swiper-pagination .swiper-pagination-bullet {
  opacity: 0 !important;
  display: block !important;
}

.tmp_fraction_slider {
  overflow: hidden;
  position: relative;
}
.tmp_fraction_slider .js-1-swiper .slide > .inner {
  display: block;
}
.tmp_fraction_slider .js-1-swiper .js-swiper-pagination {
  z-index: 1;
}
.tmp_fraction_slider .js-1-swiper:not(.swiper-initialized) .swiper-wrapper {
  display: flex;
}
.tmp_fraction_slider .js-1-swiper:not(.swiper-initialized) .swiper-wrapper .slide:nth-child(n+2) {
  display: none;
}
.tmp_fraction_slider .js-1-swiper:not(.swiper-initialized) .js-swiper-pagination .swiper-pagination-bullet {
  opacity: 0 !important;
  display: block !important;
}

.swiper_ctrls {
  align-items: center;
  display: flex;
}
.swiper_ctrls .swiper-prev, .swiper_ctrls .swiper-next {
  width: 7rem;
  height: 7rem;
  display: block;
  border: 1px solid var(--color-line);
  border-radius: 1000px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.swiper_ctrls .swiper-prev .arr, .swiper_ctrls .swiper-next .arr {
  width: calc(25 / 105 * 100%);
  display: block;
  max-width: 25px;
}
.swiper_ctrls .swiper-prev .arr::after, .swiper_ctrls .swiper-next .arr::after {
  content: "";
  display: block;
  padding-bottom: calc(24 / 25 * 100%);
  width: 100%;
  background: url("../images/common/ic_arr_right.png") no-repeat center center/100%;
}
.swiper_ctrls .swiper-pagination-fraction {
  font-size: 1.6rem;
  font-family: "EB Garamond", "Times New Roman", Times, Garamond, Georgia, serif;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1;
  margin-top: 0.25em;
}
.swiper_ctrls .swiper-prev {
  width: 4rem;
  height: 4rem;
}
.swiper_ctrls .swiper-prev .arr {
  transform: scaleX(-1);
}
.swiper_ctrls .swiper-next {
  margin-left: 1rem;
}

.con_kv {
  position: relative;
  z-index: 1;
}
.con_kv .box_kv {
  position: relative;
}
.con_kv .box_kv::after {
  content: "";
  display: block;
  width: 100%;
  padding-bottom: calc(315 / 560 * 100%);
}
@media only screen and (max-width: 767px) {
  .con_kv .box_kv::after {
    padding-bottom: calc(900 / 750 * 100%);
  }
}
.con_kv .box_kv .box_yt {
  background: url("../images/common/bg_navy.jpg") #132235 repeat center top;
  color: #fff;
  z-index: 0;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  overflow: hidden;
}
.con_kv .box_kv .box_yt .tmp_btn > * {
  border-color: #575653 #575653 #ffffff #575653;
}
.mouse .con_kv .box_kv .box_yt .tmp_btn > *:hover, .touch .con_kv .box_kv .box_yt .tmp_btn > *.touchstart {
  border-color: #ffffff;
}
.touch .con_kv .box_kv .box_yt .tmp_btn > * {
  -webkit-tap-highlight-color: transparent;
}
.touch .con_kv .box_kv .box_yt .tmp_btn > *.touchend {
  transition-delay: 200ms;
}
.con_kv .box_kv .box_yt .ic_arr::before {
  background: #fff;
}
.con_kv .box_kv .box_yt .ic_arr::after {
  border-left-color: #fff;
}
.con_kv .box_kv .box_yt iframe, .con_kv .box_kv .box_yt #player {
  height: 100%;
  position: absolute;
  bottom: 0;
  top: 0;
  --z: 0%;
  width: calc(100% + var(--z));
  left: calc(var(--z) / 2 * -1);
  right: calc(var(--z) / 2 * -1);
  opacity: 0;
}
@media only screen and (max-width: 767px) {
  .con_kv .box_kv .box_yt iframe, .con_kv .box_kv .box_yt #player {
    --z: 114%;
    top: 50%;
    transform: translateY(-50%);
    width: calc(100% + var(--z));
    height: calc(100% + var(--z));
    left: calc(var(--z) / 2 * -1);
    right: calc(var(--z) / 2 * -1);
  }
}
.con_kv .box_kv .box_yt.is-active iframe, .con_kv .box_kv .box_yt.is-active #player {
  opacity: 1;
}
.con_kv .box_kv .tmp_1_slider {
  position: relative;
  z-index: 1;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
.con_kv .box_kv .tmp_1_slider .slide {
  opacity: 0 !important;
}
@media only screen and (min-width: 768px) {
  .con_kv .box_kv .tmp_1_slider .slide {
    position: relative;
  }
  .con_kv .box_kv .tmp_1_slider .slide img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
  }
  .con_kv .box_kv .tmp_1_slider .slide::after {
    content: "";
    width: 100%;
    display: block;
    padding-bottom: calc(315 / 560 * 100%);
  }
}
@media only screen and (max-width: 767px) {
  .con_kv .box_kv .tmp_1_slider .slide::after {
    padding-bottom: calc(900 / 750 * 100%);
  }
}
.con_kv .box_kv .tmp_1_slider .slide.swiper-slide-active {
  opacity: 1 !important;
}

.flatpickr-calendar {
  display: none;
}

#loading {
  background: url("../images/common/bg_navy.jpg") #132235 repeat center top;
  color: #fff;
  z-index: 1000;
  z-index: 10001;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  opacity: 1;
  height: calc(var(--vh) * 100);
}
#loading .tmp_btn > * {
  border-color: #575653 #575653 #ffffff #575653;
}
.mouse #loading .tmp_btn > *:hover, .touch #loading .tmp_btn > *.touchstart {
  border-color: #ffffff;
}
.touch #loading .tmp_btn > * {
  -webkit-tap-highlight-color: transparent;
}
.touch #loading .tmp_btn > *.touchend {
  transition-delay: 200ms;
}
#loading .ic_arr::before {
  background: #fff;
}
#loading .ic_arr::after {
  border-left-color: #fff;
}
#loading .text {
  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;
  font-size: 1.33rem;
  transition: .2s opacity ease-out;
  letter-spacing: .08em;
  opacity: 1;
}
#loading .text span {
  transition: filter .5s ease-out .3s, opacity .5s ease-out .3s;
  filter: blur(1em);
  opacity: 0;
}
#loading .text.is-show span {
  opacity: 1;
  filter: blur(0);
}
#loading .text.is-hide {
  opacity: 0;
}
#loading.is-hide {
  transition: .2s opacity ease-out;
  opacity: 0;
}

#trip_ai_container {
  transition-property: bottom;
  transition-duration: .2s;
  transition-timing-function: ease-out;
}
@media only screen and (max-width: 767px) {
  #trip_ai_container {
    bottom: 1rem !important;
    right: calc(30 / 750 * 100%) !important;
  }
  .parts_sticky #trip_ai_container {
    transition-delay: .2s;
    bottom: calc(3.92rem + 1rem) !important;
  }
}
