@charset "utf-8";
html[lang="ja"] {
  margin: 0 !important;
}
body {
  font-size: 3.733vw;
  margin: 56px 0 0;
}
.pc-only {
  display: none !important;
}
#wpadminbar {
  display: none !important;
}
.inner {
  width: 85.335%;
  margin: auto;
}
main {
  overflow: hidden;
}
/* == title ============================================== */
.title_base .en {
  font-weight: 200;
  font-size: 180%;
  letter-spacing: .12em;
  line-height: 1;
  margin: 0 0 5%;
}
.title_base .en::first-letter, .title_base .en span {
  color: #93ab56;
}
.title_base .jp {
  font-weight: 500;
}
.title_base.base--center {
  text-align: center;
}
.dl_works dt {
    display: flex;
    align-items: center;
    width: 100%;
    background: #e6e6e6;
    box-sizing: border-box;
    padding: 2%;
    font-weight: 600;
}

.dl_works dd {
    width: 100%;
    background: #FFFFFF;
    box-sizing: border-box;
    padding: 2%;
    line-height: 1.6;
}
/**/
.title_bg {
  background: #F5F5F5;
  position: relative;
  border-left: solid 2px #121E85;
  font-size: 114.3%;
  font-weight: 400;
  padding: 2.4% 4%;
}
h2.centtl{
  text-align: center;
  font-size: 120%;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin: 0;
}
/* == btn ============================================== */
.btn_reserve {
  position: relative;
  background: #F5F5F5;
  text-align: center;
  border: solid 1px #000;
  box-sizing: border-box;
}
.btn_reserve::before {
  content: '';
  width: 0;
  height: 100%;
  pointer-events: none;
  background: #000;
  position: absolute;
  right: 0;
  top: 0;
  transition: all .4s;
}
.btn_reserve::after {
  content: '';
  width: 6.4vw;
  height: 100%;
  background-image: url(../img/icon_calendar.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  transition: all .4s;
  position: absolute;
  left: 1.5em;
  top: 0;
  bottom: 0;
  margin: auto;
}
.btn_reserve a {
  display: block;
  position: relative;
  z-index: 5;
  color: #000;
  font-weight: 500;
  font-size: 114.3%;
  padding: 5% 0;
}
.btn_base {
  max-width: 326px;
  box-sizing: border-box;
  border: solid 1px #000000;
  text-align: center;
  position: relative;
  overflow: hidden;
  background: #fff;
}
.btn_base::before {
  content: '';
  width: 0;
  height: 100%;
  background: #000000;
  position: absolute;
  right: 0;
  top: 0;
  transition: all .4s;
  pointer-events: none;
}
.btn_base a {
  display: block;
  padding: 3.3% 0;
  position: relative;
  z-index: 5;
  transition: all .4s;
}
.btn_base a::before {
  content: '';
  width: 12px;
  height: 6px;
  position: absolute;
  right: 6.5%;
  top: 0;
  bottom: 0;
  margin: auto;
  background-image: url(../img/icon_arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transition: all .4s;
}
.btn_pdf {
  margin: auto;
  border: solid 1px #000000;
  box-sizing: border-box;
  text-align: center;
  background: #FFFFFF;
  position: relative;
  width: 90%;
}
.btn_pdf::before {
  content: '';
  width: 0;
  height: 100%;
  background: #000;
  position: absolute;
  right: 0;
  top: 0;
  pointer-events: none;
  transition: all .4s;
}
.btn_pdf a {
  display: block;
  padding: .714em 0;
  position: relative;
  z-index: 5;
  background-image: url(../img/icon_download.webp);
  background-repeat: no-repeat;
  background-position: right 1.2em center;
  background-size: 1em;
}
/* == parts ============================================== */
.parts_searchBox {
  width: 85.335%;
  padding: 19.2% 0;
  margin: auto;
}
.parts_searchBox img.ate {
  display: block;
  margin: auto;
  vertical-align: top;
}
.parts_searchBox.small--padding {
  padding: 10% 0 19.2%;
}
.mapWrap {
  position: relative;
  overflow: hidden;
  height: 0;
  padding: 60% 0 0;
  margin: 10% auto 0;
}
.mapWrap iframe {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.parts_reservationBox {
  background: url(../img/contact_bg.webp) no-repeat center;
  background-size: cover;
  padding: 8.533334% 0;
}
.parts_reservationBox .reservation_btn {
  border: solid 1px #fff;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.parts_reservationBox .reservation_btn .textWrap{
    display: flex;
    flex-flow: column;
    line-height: 1;
}
.parts_reservationBox .reservation_btn a {
  display: block;
  padding: 20px 20px;
  position: relative;
  z-index: 5;
  transition: all .4s;
}
.parts_reservationBox .reservation_btn a::before {
  content: '';
  width: 20px;
  height: 10px;
  background-image: url(../img/icon_arrow--on.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  right: 10%;
  top: 0;
  bottom: -30px;
  margin: auto;
  transition: all .4s;
}
.parts_reservationBox .reservation_btn span.en {
  display: block;
  font-size: 110%;
  font-weight: 200;
  letter-spacing: .12em;
  line-height: 1;
}
.parts_reservationBox .reservation_btn span.jp {
  display: block;
  font-size: 114.3%;
  font-weight: 500;
  margin: 0 0;
}
/**/
.parts_slideTicker {
  margin: 0 0 20%;
  overflow: hidden;
}
.parts_slideTicker .slideLead {
  margin: 0 auto 10%;
}
.parts_slideTicker .slideLead p {
  display: inline-block;
  text-align: left;
}
.parts_slideTicker #jq_slideTicker {
  position: relative;
  padding: 53px 0 0;
}
.parts_slideTicker #jq_slideTicker::before, .parts_slideTicker #jq_slideTicker::after {
  content: '';
  width: 2px;
  height: 53px;
  position: absolute;
  left: 0;
  right: 0;
  z-index: 100;
  margin: auto;
}
.parts_slideTicker #jq_slideTicker::before {
  position: absolute;
  top: 0;
  background: #0C479D;
}
.parts_slideTicker #jq_slideTicker::after {
  position: absolute;
  top: 53px;
  background: #fff;
}
.parts_slideTicker .slide_ticker .slick-slide {
  margin: 0 8px 0 0;
  height: 53vh;
}
.parts_slideTicker .slide_ticker .slick-slide > div, .parts_slideTicker .slide_ticker .slick-slide .slide_contents {
  height: 100%;
}
.parts_slideTicker .slide_ticker .slick-slide img {
  vertical-align: top;
  max-height: 100%;
  width: auto;
}
/**/
.blue--lineLeft {
  position: relative;
  overflow: hidden;
}
.blue--lineLeft::before {
  content: '';
  width: 1.143em;
  height: 100%;
  background: #93ab56;
  position: absolute;
  left: 0;
  top: 0;
}
/* == header ============================================== */
header {
  position: relative;
}
header .h_inner {
  position: fixed;
  z-index: 1002;
  top: 0;
  left: 0;
  background: #fff;
  width: 100%;
}
header .h_logo {
  width: 240px;
  height: 56px;
}
header .h_logo a {
  display: block;
  height: 100%;
  background: url(../img/logo_m.png);
  background-position: center;
  background-size: 220px auto;
  background-repeat: no-repeat;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
}
/**/
header nav {
  position: fixed;
  z-index: 1001;
  width: 100%;
  height: calc(var(--vh, 1vh) * 100 - 56px);
  top: 56px;
  left: 0;
  background: #F5F5F5;
  box-sizing: border-box;
  padding: 0 7%;
  transition: transform .4s;
  transform: translateY(-105vh);
}
body.nav--open header nav {
  transform: translateY(0);
}
.list_mainNav {
  display: flex;
  flex-wrap: wrap;
  margin: auto;
}
.list_mainNav > li {
  width: 50%;
  margin: 10% 0 0;
}
.list_mainNav > li.long {
  width: 100%;
}
.list_mainNav > li > a {
  display: block;
  font-size: 114.3%;
  font-weight: 500;
}
header nav .btn_reserve {
  position: absolute;
  bottom: 6%;
  width: 86%;
}
.list_hSubNav {
  display: flex;
  flex-wrap: wrap;
  text-align: left;
  margin: 3% 0 0;
}
.list_hSubNav > li {
  width: 50%;
}
.list_hSubNav > li a {
  display: inline-block;
  position: relative;
  padding: .2em 0 .2em .8em;
  margin: .6em 0;
  line-height: 1.26;
}
.list_hSubNav > li a::after {
  content: '';
  width: 5px;
  height: 1px;
  background: #000;
  position: absolute;
  left: 0;
  top: .8em;
}
/**/
header .h_lang {
  position: absolute;
  right: 75px;
  top: 0;
  line-height: 56px;
}
header .h_lang a {
  display: inline-block;
  background: #E6E6E6;
  color: #646464;
  line-height: 1.143;
  font-size: 14px;
  font-weight: 500;
  position: relative;
  padding: 0 .85em 2px;
  transition: all .4s;
}
header .h_lang a.active {
  background: #121E85;
  color: #fff;
}
header .h_lang a + a {
  margin: 0 0 0 16px;
}
header .h_lang a + a::before {
  content: '/';
  position: absolute;
  left: -11px;
  top: 0;
  color: #C8C8C8;
}
#menuTrigger {
  width: 50px;
  height: 56px;
  position: absolute;
  right: 16px;
  top: 0;
}
#menuTrigger::before, #menuTrigger::after {
  content: '';
  display: inline-block;
  background: #000000;
  width: 64%;
  height: 2px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  transform-origin: center;
  transition: all .4s;
}
#menuTrigger::before {
  top: -10px;
}
#menuTrigger::after {
  bottom: -10px;
}
body.nav--open #menuTrigger::before {
  transform: translateY(5px) rotateZ(30deg);
}
body.nav--open #menuTrigger::after {
  transform: translateY(-5px) rotateZ(-30deg);
}
/* == footer ============================================== */
footer {
  background: #F5F5F5;
  padding: 17% 0 80px;
}
footer .fixed_bottom {
  position: fixed;
  z-index: 1000;
  left: 0;
  bottom: 0;
  width: 100%;
  background: #121E85;
  text-align: center;
}
footer .fixed_bottom a {
  display: block;
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  padding: 12px 0;
  position: relative;
}
footer .fixed_bottom a::before {
  content: '';
  width: 24px;
  height: 20px;
  position: absolute;
  left: 26px;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url(../img/icon_calendar--on.svg);
}
footer .area_links {
  position: relative;
}
footer .area_links .f_logo {
  width: 80%;
  height: 0;
  padding: 11% 0 0;
  position: relative;
  margin: 0 auto 10%;
}
footer .area_links .f_logo a {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 60px;
  display: block;
  background: url(../img/logo.png) no-repeat;
  background-size: contain;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
  transition: opacity .2s;
}
.list_fNav {
  display: flex;
  flex-wrap: wrap;
}
.list_fNav p{
  line-height: 1.6;
  font-size: 12px;
}
.list_fNav > li {
  width: 50%;
  margin: 0 0 8%;
}
.list_fNav > li.long {
  width: 100%;
}
.list_fNav .nav_big {
  font-weight: 500;
}
.list_fNav .nav_big a {
  display: inline-block;
  position: relative;
  font-size: 114.3%;
}
.list_fSubNav {
  display: flex;
  flex-wrap: wrap;
  text-align: left;
  margin: 3% 0 0;
}
.list_fSubNav > li {
  width: 50%;
}
.list_fSubNav > li a {
  display: inline-block;
  position: relative;
  padding: .2em 0 .2em .8em;
  margin: .6em 0;
  line-height: 1.26;
}
.list_fSubNav > li a::after {
  content: '';
  width: 5px;
  height: 1px;
  background: #000;
  position: absolute;
  left: 0;
  top: .8em;
}
/**/
footer .area_links .btn_reserve {
  margin: 5% auto 0;
}
footer .area_under {
  position: relative;
  background-image: linear-gradient(to right, #000 2px, transparent 2px);
  background-size: 8px 2px;
  background-repeat: repeat-x;
  background-position: left top;
  margin: 6.5% 0 0;
  padding: 6.5% 0 0;
}
footer .area_under .copyright {
  text-align: center;
  font-size: 8px;
}
.list_fLinks {
  display: flex;
  line-height: 1;
  margin: 0 0 7.5%;
}
.list_fLinks > li {
  flex-grow: 1;
  text-align: center;
  position: relative;
}
.list_fLinks > li a {
  display: inline-block;
  font-size: 86%;
  position: relative;
}
.list_fLinks > li + li {
  border-left: solid 1px #C8C8C8;
}
/* == frontpage ==============================================*/
.block_frontMessage p:first-of-type{
  margin-top: 1em;
}
.block_frontMessage p{
  margin-top: 1.4em;
}
.block_frontMessage p.daihyo{
  font-size: 80%;
  line-height: 1.6;
  font-weight: 500;
  margin-top: 10px;
  text-align: right;
}
.catch{
  position: absolute;
  left: 6%;
  bottom: 6%;
  z-index: 100;
  color: #fff;
  font-size: 134%;
  letter-spacing: 0.2em;
  font-weight: 700;
  line-height: 1.4;
  text-shadow: 0px 3px 12px rgba(0, 0, 0, 0.8);
}
.block_frontLead {
  position: relative;
  padding: 10% 0 16%;
  background-image: url(../img/bg_catch.webp);
  background-size: cover;
}
.block_frontLead .textBox .lead_text {
  font-size: 100%;
  line-height: 2;
  font-weight: 500;
  text-align: left;
}
.block_frontTop {
  position: relative;
  height: 300px;
  overflow: hidden;
  margin: 0 0 36px;
}
.block_frontTop .top_kv {
  position: relative;
  height: 100%;
  /* width: 88.8%; */
  margin: 0 0 0 auto;
}
.slideTop {
  position: absolute;
  width: 100%;
  height: 100%;
  right: 0;
  top: 0;
}
.slideTop .slide_contents {
  height: 100%;
  position: relative;
  overflow: hidden;
}
.slideTop .slide_contents img {
  object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.slideTop .add-animation .slide_contents img {
  -webkit-animation: slideScale 6s linear 1 forwards;
  animation: slideScale 6s linear 1 forwards;
}
.block_frontTop .top_scroll {
  width: 4.5%;
  height: 0;
  padding: 34% 0 0;
  position: absolute;
  left: 2.5%;
  bottom: 0;
  background-image: url("../img/scroll.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
}
.block_frontTop .top_scroll::before {
  content: '';
  width: 1px;
  height: 100%;
  background: linear-gradient(to bottom, #121e85 0%, #ffffff 60%, #ffffff 100%);
  background-size: 100% 200%;
  position: absolute;
  left: 0;
  top: 0;
  animation: scrollBar 2s ease infinite;
}
.block_frontTop .slideTop .slick-list, .block_frontTop .slideTop .slick-track, .block_frontTop .slideTop .slick-slide > div {
  height: 100%;
}
/*-----------*/
.block_frontLead {
  position: relative;
  padding: 0 0 16%;
}
.block_frontLead::before {
  content: '';
  width: 200%;
  height: 0;
  padding: 20% 0 0;
  background-image: url("../img/scroll_prism.webp");
  background-repeat: repeat-x;
  background-position: left center;
  background-size: auto 100%;
  position: absolute;
  left: 0;
  bottom: -5px;
  -webkit-animation: bgPrism 45s linear infinite forwards;
  animation: bgPrism 45s linear infinite forwards;
}
.block_frontLead .leadFlex .title_base {
  text-align: center;
  padding: 0 0 15%;
  margin: 0 0 5%;
  position: relative;
}
.block_frontLead .leadFlex .title_base::before {
  content: '';
  width: 1px;
  height: 33%;
  background: #B4B4B4;
  position: absolute;
  right: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}
.block_frontLead .textBox .lead_text {
  text-align: left;
}
.block_frontLead .textBox .lead_text strong {
  font-size: 114.3%;
  font-weight: 500;
}
.block_frontLead .textBox .lead_text + .lead_text {
  margin: 4% 0 0;
}
.block_frontLead .textBox .btn_base {
  margin: 8% auto 0;
}
/*-----------*/
.block_frontConcept {
  padding: 17% 0;
  background: #F5F5F5;
}
.block_frontConcept .conceptSet {
  margin: 12.5% auto;
  width: 91.875%;
}
.block_frontConcept .conceptSet .thumbBox {
  margin: 0 0 4%;
}
.dl_concept dt {
  font-weight: 500;
  font-size: 114.3%;
  margin: 0 0 3%;
}
.dl_concept dd {
  text-align: left;
}
/*-----------*/
.block_frontMap {
  padding: 19% 0 0;
}
/*-----------*/
.block_frontHotels {
  padding: 19% 0;
}
.block_frontHotels .title_base {
  text-align: center;
}
.list_hotelSummary {
  margin: 10% 0 0;
}
.list_hotelSummary > li + li {
  margin: 15% 0 0;
}
.list_hotelSummary .hotel_thumbnail {
  overflow: hidden;
  height: 0;
  padding: 65.3125% 0 0;
  position: relative;
  margin: 0 0 6%;
}
.list_hotelSummary .hotel_thumbnail a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.list_hotelSummary .hotel_thumbnail img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.list_hotelSummary figcaption {
  font-family: "Oswald", sans-serif;
  margin: 0 0 2%;
  font-size: 114.3%;
}
.list_hotelSummary .hotel_description {
  line-height: 1.714;
  text-align: left;
}
.list_hotelSummary .btn_base {
  margin: 8% auto 0;
}
/*-----------*/
.block_frontInsta {
  padding: 20% 0;
  background: #EAF0F0;
}
.block_frontInsta .instaWrap {
  margin: 10.8% 0 0;
}
.block_frontInsta .instaWrap img {
  vertical-align: top;
}
.list_insta {
  display: flex;
  flex-wrap: wrap;
}
.list_insta > li {
  width: 50%;
}
.list_insta > li img {
  vertical-align: top;
}
/* == underpage ============================================== */
.block_underTitle .titleBg {
  position: relative;
  padding: 10.667% 0;
  text-align: center;
}
.block_underTitle .titleBg::before, .block_underTitle .titleBg::after {
  content: '';
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  background-attachment: fixed;
  background-position: center;
  background-size: 48px auto;
}
.block_underTitle .titleBg::before {
  background-image: url(../img/bg_grid01.webp);
  left: 0;
}
.block_underTitle .titleBg::after {
  background-image: url(../img/bg_grid02.webp);
  left: 50%;
}
.block_underTitle .titleInline {
  display: inline-block;
  position: relative;
  overflow: hidden;
  z-index: 3;
  padding: 13% 9%;
}
.block_underTitle .titleInline::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}
.block_underTitle .titleInline::after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #fff;
  opacity: .5;
}
.block_underTitle .titleFlex {
  display: flex;
  align-items: center;
  position: relative;
  z-index: 10;
}
.block_underTitle .titleGroup .en {
  font-size: 286%;
  font-weight: 200;
  line-height: 1;
  letter-spacing: .12em;
  margin: 5% 0;
}
.block_underTitle .titleGroup .en::first-letter {
  color: #121E85;
}
.block_underTitle .titleGroup .jp {
  font-size: 128.6%;
  font-weight: 500;
}
.list_bread {
  background: #F5F5F5;
  padding: 4% 6%;
  text-align: left;
}
.list_bread > li {
  display: inline-block;
  position: relative;
}
.list_bread > li + li {
  margin: 0 0 0 .8em;
  padding: 0 0 0 1.4em;
}
.list_bread > li + li::before {
  content: '';
  width: 6px;
  height: 12px;
  background: url(../img/icon_bread.svg) no-repeat;
  background-size: contain;
  white-space: nowrap;
  text-indent: 150%;
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 0;
  margin: auto;
  bottom: 0;
}
.list_bread .home a {
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  background: url("../img/icon_home.svg") no-repeat;
  background-size: contain;
  background-position: center;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
  transition: all .2s;
  transform: translateY(1px);
}
.list_bread li:not(.home) a {
  display: inline-block;
  color: #0000EE;
  border-bottom: solid 1px #0000EE;
  line-height: 1.2;
  position: relative;
}
/*page--open*/
.block_underTitle .titleInline::before, .block_underTitle .titleInline::after {
  transform: translateX(-101%);
  transition: transform .5s ease .2s, opacity .5s ease .7s;
  opacity: 1;
}
body.page--open .block_underTitle .titleInline::before, body.page--open .block_underTitle .titleInline::after {
  transform: translateX(0);
}
body.page--open .block_underTitle .titleInline::after {
  opacity: .5;
}
.block_underTitle .titleFlex {
  opacity: 0;
  transform: scale(1.1);
  transition: transform .5s ease .7s, opacity .5s ease .7s;
}
body.page--open .block_underTitle .titleFlex {
  opacity: 1;
  transform: scale(1);
}
/*--------------------*/
.block_underImage {
  position: relative;
}
.block_underImage .imageBox {
  width: 87%;
  margin: 5% auto 0;
  position: relative;
}
.block_underImage .imageBox .image_bg img {
  vertical-align: top;
}
.block_underImage .imageBox .image_title {
  position: absolute;
  z-index: 10;
  left: 0;
  bottom: 0;
  overflow: hidden;
  padding: 5% 6.8% 3%;
}
.block_underImage .imageBox .image_title span {
  position: relative;
  display: inline-block;
  z-index: 5;
  font-size: 180%;
  font-weight: 400;
  letter-spacing: .12em;
  line-height: 1;
}
.block_underImage .imageBox .image_title span::first-letter {
  color: #93ab56;
}
.block_underImage .imageBox .image_title::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}
.block_underImage .imageBox .image_title::after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #fff;
  opacity: .5;
}
.block_underImage .breadBox {
  background: #F5F5F5;
  padding: 10% 0 0;
  margin: -10% 0 0;
}
/* ======
page-name underpage
======*/
.block_underPage {
  padding: 10% 0 0;
}
.block_underPage .contentsSet + .contentsSet {
  margin: 15% 0 0;
}
.block_underPage .area_facility {
  padding: 0 0 20%;
}
.block_underPage .area_map {
  padding: 20% 0;
  background: #F5F5F5;
}
/**/
#jq_listTab {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 18%;
}
#jq_listTab > li {
  background: #EDEDED;
  position: relative;
  text-align: center;
  cursor: pointer;
  transition: all .4s;
  width: 49%;
  margin: 0 0 10%;
  letter-spacing: 0;
}
#jq_listTab > li.tab--active {
  color: #fff;
}
#jq_listTab > li::before {
  content: '';
  width: 100%;
  height: 0;
  position: absolute;
  left: 0;
  bottom: 0;
  background: #121E85;
  transition: all .2s;
}
#jq_listTab > li.tab--active::before {
  bottom: auto;
  top: 0;
  height: 100%;
}
#jq_listTab > li::after {
  content: '';
  background: #EDEDED;
  height: calc(tan(45deg) * 16px / 2);
  width: 16px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin: auto;
  transition: all .2s ease .16s;
}
#jq_listTab > li.tab--active::after {
  background: #121E85;
}
#jq_listTab > li span {
  display: block;
  padding: .9em 0;
  position: relative;
  z-index: 5;
  overflow: hidden;
}
.block_underPage .area_tabs {
  margin: 0 0 20%;
}
.block_underPage .area_tabs .inner {
  width: 90%;
}
.block_underPage .area_tabs .contentsBox .box_thumb {
  margin: 0 auto 5%;
}
.block_underPage .area_tabs .contentsBox .box_thumb img {
  vertical-align: top;
}
.block_underPage .area_tabs .contentsBox .box_text .text_big {
  font-size: 114.3%;
  font-weight: 500;
  margin: 0 0 3%;
}
.block_underPage .area_tabs .contentsBox + .contentsBox {
  margin: 10% auto 0;
}

/* ======
page-name #works
======*/
.lead_page{
  font-size: 110%;
  font-weight: 400;
  line-height: 1.6;
  margin-bottom: 40px;

}
.list_case li:nth-child(odd) {
    background: #F5F5F5;
}
.area_case_grey {
    padding: min(6.25%, 80px) 0;
    background: #F5F5F5;
}
.area_case {
    padding: min(6.25%, 80px) 0;
}

.worksWrap{
  margin-bottom: 20px;
}
.worksarrow{
  text-align: center;
}
.worksarrow img{
  width: 60px;
  transform: rotate(90deg)
}

/**/
.block_underPage .area_room {
  background: #F5F5F5;
  padding: 15% 0;
}
.block_underPage .area_room .inner {
  width: 90%;
}
.block_underPage .area_room .short .roomMore {
  display: none;
}
.list_roomSummary {
  margin: 10% 0 15%;
	  background: #FFFFFF;
}
.list_roomSummary > li {
	width: 94%;
	margin: auto;
	padding: 8% 0;
}
.list_roomSummary > li + li{
background-image: linear-gradient(to right, #000 2px, transparent 2px);
        background-size: 8px 2px;
        background-repeat: repeat-x;
        background-position: left top;
}
.list_roomSummary .roomInfo {

}
.list_roomSummary .roomInfo .room_thumbnail {
  margin: 0 auto 5%;
  overflow: hidden;
}
.list_roomSummary .roomInfo .room_thumbnail a {
  overflow: hidden;
  display: block;
}
.list_roomSummary .roomInfo .room_thumbnail img {
  vertical-align: top;
}
.list_roomSummary .roomInfo .roomTextbox .room_name {
  font-size: 114.3%;
  line-height: 1;
}
.list_roomSummary .roomInfo .roomTextbox .room_name a {
  display: inline-block;
  color: #0000EE;
  border-bottom: solid 1px #0000EE;
  line-height: 1.5;
  margin: 0 0 0 1.2em;
  font-weight: 700;
  position: relative;
}
.list_roomSummary .roomInfo .roomTextbox .room_name a::before {
  content: '';
  width: .75em;
  height: 1em;
  background: url(../img/icon_arrow--blue.svg) no-repeat;
  background-size: contain;
  background-position: left center;
  position: absolute;
  left: -1.2em;
  top: .4em;
}
.block_underPage .area_room .room_dlBox {
  display: flex;
  flex-wrap: wrap;
}
.block_underPage .area_room .room_dlBox dl {
  flex-grow: 1;
  margin: 4% 0 0;
}
.block_underPage .area_room .room_dlBox dl dt {
  font-size: 86%;
  font-weight: 500;
  display: inline-block;
  border: solid 1px #000000;
  padding: 0 .9em;
  margin: 0 0 2%;
  line-height: 1.75;
}
.block_underPage .area_room .room_dlBox dl dd {
  letter-spacing: 0;
}
.block_underPage .area_room .room_dlBox .icon {
  display: inline-block;
  vertical-align: middle;
  width: 1.7142em;
  line-height: 1.5;
  margin: 0 .2em 0 0;
}
.block_underPage .area_room .room_dlBox .icon img {
  vertical-align: top;
}
.block_underPage .area_room .room_dlBox .name {
  display: inline-block;
  vertical-align: middle;
}
.list_roomSummary .roomCapacity {
  box-sizing: border-box;
}
.list_roomSummary .roomCapacity .capacity_text {
  line-height: 1;
	margin: 5% 0 0;
}
.list_roomSummary .roomCapacity .capacity_text span.sp-only{
	  display: inline-block;
  vertical-align: middle;
}
.list_roomSummary .roomCapacity .capacity_text span.icon {
  display: inline-block;
  vertical-align: middle;
  width: 1.7142em;
}
.list_roomSummary .roomCapacity .capacity_text span.icon img {
  vertical-align: top;
}
.list_roomSummary .roomCapacity .capacity_text span.num {
  display: inline-block;
  vertical-align: middle;
}
.block_underPage .area_room .roomMore {
  margin: min(3%, 32px) 0 0;
  text-align: center;
  position: relative;
  padding: 0 0 2em;
  cursor: pointer;
}
.block_underPage .area_room .roomMore::before {
  content: '';
  width: .4em;
  height: 1.6em;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  background: url(../img/icon_arrow--bottom.svg) no-repeat;
  background-size: contain;
}
.block_underPage .area_room .roomMore span {
  display: inline-block;
  position: relative;
  border-bottom: solid 1px #000;
  line-height: 1.5;
}
.block_underPage .area_room .roomMore span::before {
  content: '';
  width: 0;
  height: 1px;
  background: #000;
  position: absolute;
  right: 0;
  bottom: -1px;
  transition: all .4s;
}
.block_underPage .area_room .roomMore span:hover {
  border: none;
}
.block_underPage .area_room .roomMore span:hover::before {
  right: auto;
  left: 0;
  width: 100%;
}
/**/
.block_underPage .area_facilities {
  padding: 20% 0;
}
.block_underPage .area_facilities .inner {
  width: 90%;
}
.block_underPage .area_facilities .title_base {
  text-align: center;
  margin: 0 0 10%;
}
.list_facilities {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.list_facilities > li {
  width: 49%;
  background-color: #EAF0F0;
  background-repeat: no-repeat;
  background-position: left 5% center;
  background-size: 3.43em;
  margin: 0 0 2%;
  padding: 2% 1.5%;
  box-sizing: border-box;
  font-weight: 500;
}
.list_facilities span.icon {
  display: inline-block;
  width: 2.5em;
  vertical-align: middle;
  margin: 0 .2em 00;
}
.list_facilities span.icon img {
  vertical-align: top;
}
.list_facilities span.name {
  display: inline-block;
  vertical-align: middle;
}
/**/
.block_underPage .area_tourist {
  background: #F5F5F5;
  padding: 18% 0;
}
.block_underPage .area_tourist .flexPdf {
  margin: 10% auto 0;
  width: 80%;
}
.block_underPage .area_tourist .touristFlex {
  position: relative;
  padding: 0 0 22%;
}
.block_underPage .area_tourist .btn_pdf {
  width: 80%;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
/**/
.block_underPage .area_reservation {
  padding: 18% 0;
}
.block_underPage .area_reservation .reservationWrap {
  margin: 10% auto 0;
}
.block_underPage .area_reservation .reservationWrap .ate {
  display: block;
  margin: auto;
  vertical-align: top;
}
/**/
.block_underPage .area_access {
  background: #F5F5F5;
  position: relative;
  padding: 18% 0;
}
.block_underPage .area_access .inner {
  width: 90%;
}
.block_underPage .area_access .title_base {
  text-align: center;
}
.block_underPage .area_access .dlWrap {
  border-top: solid 1px #C8C8C8;
  margin: 8% 0 0;
}
.dl_access {
  border-bottom: solid 1px #C8C8C8;
  padding: 5% 0;
}
.dl_access dt {
  margin: 0 0 1%;
  font-weight: 500;
}
.dl_access dd {
  line-height: 1.7;
}
.block_underPage .access_map iframe {
  width: 100%;
  height: 300px;
  display: block;
}
.block_frontMessage {
  /* padding: min(4%, 50px) 0 min(5%, 64px); */
  padding: 40px 0;
  background-image: url(../img/bg_message.webp);
  background-size: cover;
}
/* ======
page-name #company
======*/
.block_company .area_title {
  background: #F5F5F5;
  padding: min(6.25%, 80px) 0;
}
.block_company .area_title .titleWrap {
  position: relative;
  padding: .1% 0 12%;
}
.block_company .area_title .title_imageBox img {
  vertical-align: top;
}
.block_company .area_title .title_textBox {
  position: relative;
  z-index: 5;
  padding: 10% 0 8%;
  text-align: center;
  margin: -5% auto 0;
  width: 94%;
}
.block_company .area_title .title_textBox::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
}
.block_company .area_title .title_textBox::after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #fff;
  opacity: .5;
}
.block_company .area_title .title_textBox .company_title {
  position: relative;
  z-index: 5;
  width: 85%;
  height: 0;
  padding: 11% 0 0;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
  background: url("../img/company/title.webp");
  background-repeat: no-repeat;
  background-size: contain;
  margin: 0 auto;
}
.block_company .area_title .title_textBox .company_lead {
  position: relative;
  z-index: 5;
  margin: 3% 0 0;
  font-size: 114.3%;
  letter-spacing: 0;
}
.block_company .area_info {
  padding: 19.2% 0 20%;
  position: relative;
}
.list_dl {
  margin: auto;

}
.list_dl > li {
  background: #fff;
}
.list_dl > li:nth-child(odd) {
  background: #F5F5F5;
}
.list_dl > li dl {
  padding: 4% 7.5%;
  line-height: 1.72;
}
.list_dl > li dl dt {
  font-size: 114.3%;
  font-weight: 500;
  margin: 0 0 2%;
}
.list_dl > li dl dd {
  text-align: left;
}
.list_dl > li dl dd a {
  display: inline-block;
  color: #0000EE;
  border-bottom: solid 1px #0000EE;
  line-height: 1.2;
  padding: 0 1.2em 0 0;
  background: url(../img/icon_blank.svg);
  background-size: .9em auto;
  background-repeat: no-repeat;
  background-position: right center;
  transition: all .2s;
}
.list_dl > li dl dd a:hover {
  opacity: .6;
}
/* ======
page-name #faq
======*/
.block_underPage .area_faq {
  padding: 0 0 21.33%;
}
.block_faq .area_faq .inner {
  width: 91.2%;
}
.list_filter01 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 8%;
}
.list_filter01 > li {
  border: solid 1px #000000;
  font-weight: 400;
  border-radius: 50px;
  transition: color .2s, background .2s, border-color .2s;
  cursor: pointer;
  margin: 0 .6em 1em 0;
  overflow: hidden;
  position: relative;
}
.list_filter01 > li::before {
  content: '';
  width: 0;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background-color: #121E85;
}
.list_filter01 > li.active::before {
  width: 100%;
  left: 0;
  right: auto;
}
.list_filter01 > li a {
  display: block;
  padding: .06em 1em .1em;
  position: relative;
  z-index: 5;
}
.list_filter01 > li.active {
  color: #fff;
}
.list_filter02 {
  background: #F5F5F5;
  padding: 5% 0 5% 5%;
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 20%;
  font-family: "Oswald", sans-serif;
}
.list_filter02 > li {
  font-weight: 400;
  text-align: left;
  width: 50%;
  position: relative;
  padding: 0 0 0 1.5em;
  cursor: pointer;
  margin: 1.3% 0;
  box-sizing: border-box;
}
.list_filter02 > li::before {
  content: '';
  width: .86em;
  height: .45em;
  position: absolute;
  left: 0;
  top: .85em;
  background: url(../img/icon_arrowBottom.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.list_filter02 > li.long {
  width: 100%;
}
.list_filter02 > li a {
  position: relative;
  display: inline-block;
  border-bottom: solid 1px #000;
  line-height: 1;
}
.list_filter02 > li a::before {
  content: '';
  width: 0;
  height: 1px;
  background: #000;
  position: absolute;
  right: 0;
  bottom: -1px;
  transition: all .6s ease .1s;
}
/**/
.list_faq {
  border-top: solid 1px #000000;
  margin: 9% 0 0;
}
.list_faq > li {
  border-bottom: solid 1px #000000;
  padding: 0 1%;
}
.list_faq > li dl {
  position: relative;
}
.list_faq > li dl::before, .list_faq > li dl::after {
  content: '';
  width: 1em;
  height: 2px;
  position: absolute;
  background: #121E85;
  right: 0;
  top: 2.2em;
  margin: auto;
  transform-origin: center;
  transition: transform .2s;
}
.list_faq > li dl::after {
  transform: rotateZ(90deg);
}
.list_faq > li dl.active::after {
  transform: rotateZ(0);
}
.list_faq > li dt {
  font-weight: 500;
  padding: 5% 10% 5% 8%;
  position: relative;
  cursor: pointer;
}
.list_faq > li dt::before {
  content: 'Q.';
  font-family: "Oswald", sans-serif;
  color: #121E85;
  position: absolute;
  left: 0;
  top: .65em;
  font-size: 129%;
  font-weight: 400;
}
.list_faq > li dd {
  background-image: linear-gradient(to right, #000 2px, transparent 2px);
  background-size: 8px 2px;
  background-repeat: repeat-x;
  background-position: left top;
  padding: 5% 10% 5% 8%;
  position: relative;
}
.list_faq > li dd::before {
  content: 'A.';
  font-family: "Oswald", sans-serif;
  color: #C65F5F;
  position: absolute;
  left: 0;
  top: .65em;
  font-size: 129%;
  font-weight: 400;
}



/* ====================================
page-name #inquiry
====================================*/
.list_form input, .list_form select {
  -webkit-appearance: none;
  appearance: none;
}
.list_form input[type="text"], .list_form input[type="tel"], .list_form input[type="email"], .list_form textarea {
  border: solid 1px #D4D4D4;
  background: #F8F7F3;
  width: 100%;
  padding: .5em;
  font-size: 16px;
  box-sizing: border-box;
}
.list_form select {
  border: solid 1px #D4D4D4;
  width: 100%;
  padding: .7em;
  font-size: 16px;
  background-color: #F8F7F3;
  background-image: url("../img/icon_polygon.svg");
  background-repeat: no-repeat;
  background-size: .5em auto;
  background-position: right 1em center;
}
.list_form input[type="text"]::placeholder, .list_form input[type="tel"]::placeholder, .list_form input[type="email"]::placeholder, .list_form textarea::placeholder, .list_form select option:first-child {
  color: #BEBEBE;
}
.list_form input[type="text"]:disabled {
  background: #eee;
}
.list_form select:invalid {
  color: #BEBEBE;
}
.list_form > li + li {
  margin: 2.5em 0 0;
}
.list_form > li .formLabel {
  position: relative;
  margin: 0 0 .3em;
}
.list_form > li .formLabel .hissu {
  background: #ed4949;
  color: #fff;
  font-size: 87.5%;
  font-weight: 700;
  display: inline-block;
  border-radius: .15em;
  line-height: 1;
  padding: .2em .6em .3em;
  margin: 0 0 0 1em;
  transform: translateY(-.1em);
}
.list_form > li .formLabel label {
  font-size: 112.5%;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: .08em;
}
.list_form > li .form_radio.radioFlex {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 0;
}
.list_form > li .wpcf7-list-item {
  margin: 0;
}
.list_form > li .form_radio.radioFlex > span {
  width: 33.333%;
}
.list_form > li .form_radio .wpcf7-list-item {
  display: block;
  position: relative;
}
.list_form > li .form_radio .wpcf7-list-item label {
  display: inline-block;
  position: relative;
  padding: 0 0 0 1.6em;
  cursor: pointer;
}
.list_form > li .form_radio .wpcf7-list-item label::before {
  content: '';
  width: 1em;
  height: 1em;
  box-sizing: border-box;
  border: solid 1px #D4D4D4;
  background: #F8F7F3;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.list_form > li .form_radio .wpcf7-list-item label::after {
  content: '';
  width: 1em;
  height: 1em;
  box-sizing: border-box;
  background: #93aa56;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: scale(0);
  transition: all .5s;
}
.list_form > li .form_radio .wpcf7-list-item label.active::after {
  transform: scale(.6);
}
.list_form > li .form_radio .wpcf7-list-item input[type="radio"] {
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
}
.list_form > li .form_radio.radioInput input[type="text"] {
  width: calc(100% - 5em);
  display: inline-block;
}
.list_form > li .form_radio.radio_free {
  position: relative;
}
.list_form > li .form_radio.radio_free > span + span {
  margin: 1em 0 0;
}
.list_form > li .form_radio.radio_free .free_text {
  position: absolute;
  right: 0;
  top: -.3em;
  width: calc(100% - 1.6em);
}
.list_form > li .other_input {
  margin: .5em 0 0;
}
.list_form > li .form_att {
  font-size: 87.5%;
  line-height: 1.4;
  letter-spacing: .08em;
}
.list_form > li .formInput.separate {
  display: flex;
  justify-content: space-between;
}
.list_form > li .formInput.separate .separateBox {
  width: 48%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.list_form > li .formInput.separate .separateBox .inputText {
  line-height: 1.6;
  width: 2.3em;
  text-align: right;
}
.list_form > li .formInput.separate .separateBox .inputField {
  width: calc(100% - 3em);
}
.block_form .form_privacy {
  background: #F5F5F5;
  padding: 2em 1.5em;
  text-align: center;
  margin: 3em auto 0;
}
.block_form .form_privacy .privacy_title {
  font-size: 112.5%;
  font-weight: 700;
  margin: 0 0 .5em;
}
.block_form .form_privacy .privacy_text {
  display: inline-block;
  text-align: left;
  letter-spacing: .08em;
}
.block_form .form_privacy .privacy_text a {
  color: #0000EE;
  border-bottom: solid 1px #0000EE;
  transition: opacity .3s;
}
.block_form .area_submit {
  margin: 3em 0 4em;
  text-align: center;
}
.block_form .area_submit .submit {
  position: relative;
  background: #93aa56;
  box-sizing: border-box;
  border: solid 1px #93aa56;
  border-radius: 3em;
  overflow: hidden;
}
.block_form .area_submit .submit::before {
  content: '';
  width: 0;
  height: 100%;
  background: #fff;
  position: absolute;
  right: 0;
  top: 0;
  transition: all .5s;
}
.block_form .area_submit .submit input {
  position: relative;
  z-index: 5;
  border: none;
  background: none;
  color: #fff;
  font-size: 112.5%;
  font-weight: 600;
  display: block;
  width: 100%;
  padding: .75em 0;
  cursor: pointer;
  transition: color .5s;
}
.block_form .area_submit span.linkHover.type--white {
  pointer-events: none;
  right: 1em;
  transition: background .5s;
}
.block_form .form_lead {
  letter-spacing: .08em;
  margin: 0 auto 4em;
  font-size: 93%;
}
.block_form .form_lead a {
  color: #0000EE;
  border-bottom: solid 1px #0000EE;
}
.block_form .area_thanks {
  margin: 0 auto 6em;
}
.block_form .area_thanks .thanks_text {
  margin: 1.5em 0 4em;
}

.wpcf7-spinner {
    display: none !important;
}

.block_form .codedropz-upload-inner{
  padding: 5px;
}

.block_form .codedropz-upload-inner .codedropz-btn-wrap a.cd-upload-btn{
  border: 1px solid #cfcfcf;
  padding: 5px;
}

.block_form .codedropz-upload-inner h3{
  font-size: 100%;
}

.grecaptcha-badge { visibility: hidden; }