@charset "utf-8";
.sp-only {
  display: none !important;
}
.inner {
  max-width: 1192px;
  box-sizing: border-box;
  padding: 0 20px;
  margin: auto;
}
.inner.inner--small {
  max-width: 1080px;
}
main {
  overflow: hidden;
}
body {
  /* margin: 100px 0 0; */
  color: #333;
}
body#body--front {
  margin: 0;
}
@media all and (max-width:1192px) {
  body {
    font-size: 1.343vw;
  }
  .inner {
    padding: 0 2%;
  }
}
/* == title ============================================== */
.title_base .en {
  font-weight: 200;
  font-size: 300%;
  letter-spacing: .12em;
  line-height: 1;
  margin: 0 0 22px;
}
.title_base .en::first-letter, .title_base .en span {
  color: #93ab56;
}
.title_base .jp {
  font-weight: 500;
}
.title_base.base--center {
  text-align: center;
}
/**/
.title_bg {
  background: #F5F5F5;
  position: relative;
  border-left: solid 3px #93ab56;
  font-size: 112.5%;
  font-weight: 400;
  padding: 1.35% 2.5%;
}
h2.centtl{
  text-align: center;
  font-size: 180%;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin: 0;
}
/* == btn ============================================== */
.btn_reserve {
  position: relative;
  background: #93ab56;
  text-align: center;
  box-sizing: border-box;
}
.btn_reserve::before {
  content: '';
  width: 0;
  height: 100%;
  pointer-events: none;
  background: #EAF0F0;
  position: absolute;
  right: 0;
  top: 0;
  transition: all .4s;
}
.btn_reserve::after {
  content: '';
  width: 24px;
  height: 20px;
  background-image: url(../img/icon_mail.svg);
  background-repeat: no-repeat;
  background-size: contain;
  transition: all .4s;
  position: absolute;
  left: -5.5em;
  right: 0;
  top: 0.2em;
  bottom: 0;
  margin: auto;
}
.btn_reserve a {
  display: block;
  position: relative;
  z-index: 5;
  color: #fff;
  font-weight: 500;
  line-height: 100px;
  padding: 0 0 0 2.5em;
  transition: all .4s;
}
.btn_reserve:hover::before {
  width: 100%;
  right: auto;
  left: 0;
}
.btn_reserve:hover::after {
  background-image: url(../img/icon_mail--on.svg);
}
.btn_reserve:hover a {
  color: #000000;
}
.btn_base {
  max-width: 336px;
  box-sizing: border-box;
  border: solid 1px #333;
  text-align: center;
  position: relative;
  overflow: hidden;
  background: #fff;
  border-radius: 10px;
}
.btn_base::before {
  content: '';
  width: 0;
  height: 100%;
  background: #93ab56;
  position: absolute;
  right: 0;
  top: 0;
  transition: all .4s;
  pointer-events: none;
}
.btn_base:hover{
    border: solid 1px #93ab56;
}
.btn_base:hover::before {
  width: 100%;
  left: 0;
  right: auto;

}
.btn_base a {
  display: block;
  font-size: 100%;
  font-weight: 600;
  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_base:hover a {
  color: #fff;
}
.btn_base a:hover::before {
  background-image: url(../img/icon_arrow--on.svg);
}
.btn_pdf {
  max-width: 320px;
  margin: auto;
  border: solid 1px #000000;
  box-sizing: border-box;
  text-align: center;
  background: #FFFFFF;
  position: relative;
}
.btn_pdf::before {
  content: '';
  width: 0;
  height: 100%;
  background: #000;
  position: absolute;
  right: 0;
  top: 0;
  pointer-events: none;
  transition: all .4s;
}
.btn_pdf:hover::before {
  width: 100%;
  right: auto;
  left: 0;
}
.btn_pdf a {
  display: block;
  font-size: 87.5%;
  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;
  transition: all .4s;
}
.btn_pdf:hover a {
  color: #fff;
  background-image: url(../img/icon_download--on.webp);
}
/* == parts ============================================== */
.parts_searchBox {
  padding: min(11.25%, 144px) 0;
  width: 95%;
  margin: auto;
}
.parts_searchBox img.ate {
  display: block;
  margin: auto;
  width: 896px;
  vertical-align: top;
}
.parts_searchBox.small--padding {
  padding: 0 0 min(6.25%, 80px);
}
.mapWrap {
  position: relative;
  overflow: hidden;
  padding: 58.5% 0 0;
  height: 0;
  margin: 4% 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: 63px 0;
}
.parts_reservationBox .reservation_btn {
  border: solid 3px #fff;
  text-align: center;
  color: #fff;
  position: relative;
  overflow: hidden;
  border-radius: 20px;
}
.parts_reservationBox .reservation_btn::before {
  content: '';
  background: #FFFFFF;
  position: absolute;
  left: -5%;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 0;
  border-radius: 50%;
  pointer-events: none;
  aspect-ratio: 1/1;
  transition: all .4s;
}
.parts_reservationBox .reservation_btn:hover::before {
  width: 110%;
}
.parts_reservationBox .reservation_btn a {
  display: block;
  padding: 76px 0;
  position: relative;
  z-index: 5;
  transition: all .4s;
}
.parts_reservationBox .reservation_btn a::before {
  content: '';
  width: 32px;
  height: 16px;
  background-image: url(../img/icon_arrow--on.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  right: 6.5%;
  top: 0;
  bottom: 0;
  margin: auto;
  transition: all .4s;
}
.parts_reservationBox .reservation_btn:hover a {
  color: #000000;
}
.parts_reservationBox .reservation_btn:hover a::before {
  background-image: url(../img/icon_arrow.svg);
}
.parts_reservationBox .reservation_btn span.en {
  display: inline-block;
  font-size: 230%;
  font-weight: 200;
  letter-spacing: .12em;
}
.parts_reservationBox .reservation_btn span.jp {
  font-weight: 500;
  margin: 0 0 0 1.5em;
}
.parts_slideTicker {
  margin: 0 auto min(6.875%, 88px);
  overflow: hidden;
}
.parts_slideTicker .slideLead {
  text-align: center;
  margin: 0 auto min(5.56%, 64px);
}
.parts_slideTicker .slideLead p {
  display: inline-block;
  text-align: left;
  font-size: 87.5%;
}
.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: 363px;
}
.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: 4em;
  height: 100%;
  background: #93ab56;
  position: absolute;
  left: 0;
  top: 0;
}
.blue--lineLeft .inner {
  padding: 0 20px 0 5em
}
/* == header ============================================== */
header{
  position: fixed;
  z-index: 1000;
  top: 30px;
  left: 5%;
  width: 90%;
  background: rgb(255 255 255 / 85%);
  border-radius: 20px;
  display: flex;
  justify-content: space-between;
  transition: 0.5s;
}

header.scroll-nav {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  background: #fff;
  width: 100%;
  display: flex;
  justify-content: space-between;
  border-radius: 0;
}
body#body--front header {
  position: absolute;
  top: calc(100vh - 100px);
}
body#body--front.fixed header {
  position: fixed !important;
  top: 0 !important;
}
header .h_logo {
  width: 500px;
  height: 100px;
}
header .h_logo a {
  display: block;
  height: 100%;
  background: url(../img/logo.png);
  background-position: center;
  background-size: 440px auto;
  background-repeat: no-repeat;
  transition: opacity .2s;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
}
header .h_logo a:hover {
  opacity: .6;
}
/**/
header nav {
  max-width: 670px;
  width: 52%;
  margin: 0 335px 0 0;
}
.list_mainNav {
  display: flex;
  align-items: center;
  height: 100%;
}
.list_mainNav > li {
  width: 100%;
  flex-grow: 1;
  text-align: center;
  position: relative;
}
.list_mainNav > li + li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #C8C8C8;
  width: 1px;
  height: 1.25em;
}
.list_mainNav > li > a {
  display: block;
  font-size: 100%;
  font-weight: 500;
}
.list_mainNav > li > a span {
  display: inline-block;
  position: relative;
}
.list_mainNav > li > a span::before {
  content: '';
  width: 0;
  height: 1px;
  background: #93ab56;
  position: absolute;
  bottom: 0;
  right: 0;
  transition: all .4s;
}
.list_mainNav > li > a:hover span::before, .list_mainNav > li > a.active span::before {
  right: auto;
  left: 0;
  width: 100%;
}
/**/
header .btn_reserve {
  position: absolute;
  right: 0;
  top: 0;
  width: 192px;
  height: 100px;
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;
  overflow: hidden;
}
header.scroll-nav .btn_reserve{
  border-top-right-radius: 0px;
  border-bottom-right-radius: 0px;
}
header .h_lang {
  position: absolute;
  right: 192px;
  top: 0;
  margin: 0 32px 0 0;
  line-height: 100px;
}
header .h_lang a {
  display: inline-block;
  background: #E6E6E6;
  color: #646464;
  line-height: 1.143;
  font-size: 87.5%;
  font-weight: 500;
  position: relative;
  padding: 0 .85em 2px;
  transition: all .4s;
}
header .h_lang a.active, header .h_lang a:hover {
  background: #82a621;
  color: #fff;
}
header .h_lang a + a {
  margin: 0 0 0 32px;
}
header .h_lang a + a::before {
  content: '/';
  position: absolute;
  left: -21px;
  top: 0;
  color: #C8C8C8;
}
@media all and (min-height:1000px) {
  body#body--front header {
    top: calc(60vh - 64px);
  }
}
@media all and (max-width:1192px) {
  header .h_logo {
    width: 320px;
  }
  header .h_logo a {
    background-size: 280px auto;
  }
  /**/
  header nav {
    margin: 0 250px 0 0;
  }
  /**/
  header .btn_reserve {
    width: 144px;
  }
  header .h_lang {
    right: 144px;
    margin: 0 16px 0 0;
  }
  header .h_lang a + a {
    margin: 0 0 0 20px;
  }
  header .h_lang a + a::before {
    left: -13px;
  }
}
/* == footer ============================================== */
footer {
  background: #F5F5F5;
  padding: min(6.25%, 80px) 0;
}
footer .area_links {
  display: flex;
  justify-content: space-between;
  position: relative;
  height: 160px;
  padding-bottom: 26px;
}
footer .area_links .f_logo {
  width: 230px;
  height: 0;
  padding: 3% 0 0;
  position: relative;
}
footer .area_links .f_logo a {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 160px;
  display: block;
  background: url(../img/logo_f.png) no-repeat;
  background-size: contain;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 150%;
  transition: opacity .2s;
}
footer .area_links .f_logo a:hover {
  opacity: .6;
}
footer .area_links .list_fNav {
  width: calc(100% - 230px);
  padding-left: 20px;
}
.list_fNav {
  display: flex;
  flex-wrap: wrap;
  margin: -4px 0 0;
  align-items: end;
}
.list_fNav > li {
  width: 31.8%;
}
.list_fNav > li.long {
  width: 100%;
}
.list_fNav .nav_big {
  font-weight: 500;
}
.list_fNav .nav_big a {
  display: inline-block;
  position: relative;
}
.list_fNav .nav_big a::before {
  content: '';
  width: 0;
  height: 1px;
  background: #93ab56;
  position: absolute;
  bottom: 0;
  right: 0;
  transition: all .4s;
}
.list_fNav .nav_big a:hover::before {
  width: 100%;
  left: 0;
  right: auto;
}
.list_fSubNav {
  display: flex;
  flex-wrap: wrap;
  margin: 1.205% 0 4%;
  text-align: left;
}
.list_fSubNav > li {
  width: 31.8%;
  font-size: 87.5%;
}
.list_fSubNav > li a {
  display: inline-block;
  position: relative;
  padding: .1em 0 .1em .8em;
  margin: .45em 0;
}
.list_fSubNav > li a::after {
  content: '';
  width: 5px;
  height: 1px;
  background: #000;
  position: absolute;
  left: 0;
  top: 1.1em;
}
.list_fSubNav > li a::before {
  content: '';
  width: 0;
  height: 1px;
  background: #93ab56;
  position: absolute;
  bottom: 0;
  right: 0;
  transition: all .4s;
}
.list_fSubNav > li a:hover::before {
  width: 100%;
  left: 0;
  right: auto;
}
/**/
footer .area_links .btn_reserve {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 18.75%;
  background: #F5F5F5;
  border: solid 1px #000;
}
footer .area_links .btn_reserve::before {
  background: #000;
}
footer .area_links .btn_reserve::after {
  background-image: url(../img/icon_mail.svg);
}
footer .area_links .btn_reserve a {
  color: #000;
}
footer .area_links .btn_reserve:hover a {
  color: #fff;
}
footer .area_links .btn_reserve:hover::after {
  background-image: url(../img/icon_calendar--on.svg);
}
footer .area_under {
  border-top: 1px dashed #c8c8c8;
  padding: 3% 0 0;
}
footer .area_under .underFlex {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  line-height: 1;
  align-items: center;
}
footer .area_under .copyright {
  font-size: 87.5%;
  text-align: center;
}
footer .area_under .list_fLinks {
  width: calc(100% - 375px);
}
.list_fLinks {
  display: flex;
  border-left: solid 1px #C8C8C8;
  margin: 0 55px 0 0;
}
.list_fLinks > li {
  flex-grow: 1;
  text-align: center;
  position: relative;
  border-right: solid 1px #C8C8C8;
}
.list_fLinks > li a {
  display: inline-block;
  font-size: 87.5%;
  position: relative;
}
.list_fLinks > li a::before {
  content: '';
  width: 0;
  height: 1px;
  background: #93ab56;
  position: absolute;
  bottom: -.5em;
  right: 0;
  transition: all .4s;
}
.list_fLinks > li a:hover::before {
  width: 100%;
  left: 0;
  right: auto;
}
/* == frontpage ==============================================*/
.block_frontTop {
  position: relative;
  /* height: calc(100vh - 64px); */
  height: 100vh;
  overflow: hidden;
  /* margin: 0 0 64px; */
}
.block_frontTop .top_kv {
  position: relative;
  height: 100%;
  width: 100%;
  margin: 0 0 0 auto;
}
.catch{
  position: absolute;
  left: 6%;
  bottom: 10%;
  z-index: 100;
  color: #fff;
  font-size: 280%;
  letter-spacing: 0.2em;
  font-weight: 600;
  line-height: 1.4;
  text-shadow: 0px 3px 12px rgba(0, 0, 0, 0.8);
}

.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: 23px;
  height: 180px;
  position: absolute;
  left: 18px;
  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, #93ab56 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%;
}
@media all and (min-height:1000px) {
  .block_frontTop {
    height: calc(60vh - 64px);
  }
}
/*-----------*/
.block_frontLead {
  position: relative;
  padding: 10% 0 16%;
  background-image: url(../img/bg_catch.webp);
  background-size: cover;
}
/* .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 {
  display: flex;
  justify-content: space-between;
}
.block_frontLead .leadFlex .title_base {
  width: 45.2%;
  position: relative;
  margin: 1% 0 0 4.8%;
}
.block_frontLead .leadFlex .title_base::before {
  content: '';
  width: 44.6%;
  height: 1px;
  background: #B4B4B4;
  position: absolute;
  right: 0;
  top: 10%;
}
.block_frontLead .leadFlex .textBox {
  margin: .4% 0 0;
}
.block_frontLead .textBox .lead_text {
  font-size: 140%;
  line-height: 2;
  font-weight: 500;
  text-align: left;
}
.block_frontLead .textBox .lead_text strong {
  font-size: 114.3%;
}
.block_frontLead .textBox .lead_text + .lead_text {
  margin: 3% 0 0;
}
.block_frontLead .textBox .btn_base {
  margin: 6.5% 0 0;
}
/*-----------*/
.block_frontConcept {
  padding: min(6.25%, 80px) 0;
  background: #F5F5F5;
}
.conceptSet img{
  border-radius: 20px;
}
.block_frontConcept .conceptSet {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
  margin: 80px 0 0;
}
.block_frontConcept .conceptSet.setl {
  flex-direction: row;
  margin: 80px 0 10px;
}
.block_frontConcept .title_base {
  margin: 12px 0 0 55px;
}
.block_frontConcept .conceptSet .thumbBox{
  width: 52%;
}
.block_frontConcept .conceptSet.setl {
  position: relative;
  /* left: 11%; */
}
.block_frontConcept .conceptSet .textBox  {
  width: 43%;
  box-sizing: border-box;
  /* padding: 0 0 0 11%; */
}
.block_frontConcept .conceptSet.setl .textBox{
  padding: 0 0 0 0;
}
.dl_concept dt {
  font-size: 112%;
  font-weight: 600;
  margin: 0 0 5px;
}
.dl_concept dd {
  font-size: 87.5%;
  text-align: left;
}
.cen_btn{
  margin: 4em 0 0;
}
.cen_btn .btn_base{
  margin: 0 auto;
}
/*-----------*/
.block_frontMap {
  padding: min(8.5%, 105px) 0;
}
/*-----------*/
.block_frontMessage {
  /* padding: min(4%, 50px) 0 min(5%, 64px); */
  padding: 100px 0;
  background-image: url(../img/bg_message.webp);
  background-size: cover;
}
.block_frontMessage p:first-of-type{
  margin-top: 4em;
}
.block_frontMessage p{
  margin-top: 1.4em;
}
.block_frontMessage p.daihyo{
  font-size: 90%;
  line-height: 1.6;
  font-weight: 500;
  text-align: right;
}
.list_hotelSummary {
  margin: 3.66% 0 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.list_hotelSummary::after {
  content: '';
  display: block;
  width: 30.77%;
}
.list_hotelSummary > li {
  width: 30.77%;
  margin: 0 0 6%;
}
.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;
  transition: all .2s;
}
.list_hotelSummary .hotel_thumbnail a:hover img {
  transform: scale(1.1);
}
.list_hotelSummary figcaption {
  font-family: "Oswald", sans-serif;
  margin: 0 0 2.1%;
}
.list_hotelSummary .hotel_description {
  font-size: 87.5%;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-height: 1.714;
  text-align: left;
  min-height: 5.142em;
}
.list_hotelSummary .btn_base {
  margin: 7% auto 0;
}
/*-----------*/
.block_frontInsta {
  padding: min(8%, 90px) 0px min(10%, 120px);
  background: #EAF0F0;
}
.block_frontInsta .instaWrap {
  margin: 40px auto 0;
  max-width: 1280px;
}
.block_frontInsta .instaWrap img {
  vertical-align: top;
}
.list_insta {
  display: flex;
  flex-wrap: wrap;
}
.list_insta > li {
  width: 25%;
}
.list_insta > li img {
  vertical-align: top;
}
/* == underpage ============================================== */
.block_underTitle {
  position: relative;
}
.block_underTitle .titleBg {
  position: relative;
  padding: 34px 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;
}
.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 {
  height: 216px;
  display: flex;
  align-items: center;
  padding: 0 48px;
  position: relative;
  z-index: 10;
}
.block_underTitle .titleGroup .en {
  font-size: 3rem;
  font-weight: 200;
  line-height: 1;
  letter-spacing: .12em;
  margin: 12px 0;
  position: relative;
  z-index: 10;
}
.block_underTitle .titleGroup .en::first-letter {
  color: #93ab56;
}
.block_underTitle .titleGroup .jp {
  font-size: 1.5rem;
  font-weight: 500;
  position: relative;
  z-index: 10;
}
.breadWrap {
  position: absolute;
  z-index: 5;
  right: 0;
  left: 0;
  bottom: 0;
  max-width: 1258px;
  box-sizing: border-box;
  padding: 0 20px;
  margin: auto;
  text-align: right;
}
.list_bread {
  display: inline-block;
}
.block_underTitle .list_bread {
  background: #EAF0F0;
  padding: .5em 2em;
}
.list_bread > li {
  display: inline-block;
  position: relative;
  font-size: 87.5%;
}
.list_bread > li + li {
  margin: 0 0 0 1.4em;
  padding: 0 0 0 2em;
}
.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(3px);
}
.list_bread .home a:hover {
  opacity: .6;
}
.list_bread li:not(.home) a {
  display: inline-block;
  color: #0000EE;
  border-bottom: solid 1px #0000EE;
  line-height: 1.2;
  position: relative;
}
.list_bread li:not(.home) a::before {
  content: '';
  position: absolute;
  right: 0;
  bottom: -1px;
  width: 0;
  height: 1px;
  background: #0000EE;
  transition: all .4s;
}
.list_bread li:not(.home) a:hover {
  border: none;
}
.list_bread li:not(.home) a:hover::before {
  width: 100%;
  right: auto;
  left: 0;
}
/*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 {
  max-width: 2304px;
  /* margin: min(3.36%, 43px) min(5%, 64px) 0; */
  position: relative;
}
@media all and (min-width:2450px) {
  .block_underImage .imageBox {
    margin: min(3.36%, 43px) auto 0;
  }
}
.block_underImage .imageBox .image_bg img {
  vertical-align: top;
  width: 100%;
}
.block_underImage .imageBox .image_title {
  position: absolute;
  z-index: 10;
  left: 0;
  bottom: 0;
  overflow: hidden;
  padding: 2.09% 3.72%;
}
.block_underImage .imageBox .image_title span {
  position: relative;
  display: inline-block;
  z-index: 5;
  font-size: 240%;
  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;
}
.block_underImage .list_bread {
  display: block;
  padding: 4% min(5%, 64px) 2%;
  box-sizing: border-box;
  margin: -2.5% auto 0;
  text-align: right;
}
/*page--open*/
.block_underImage .imageBox .image_title::before, .block_underImage .imageBox .image_title::after {
  transform: translateX(-101%);
  transition: transform .5s ease .2s, opacity .5s ease .7s;
  opacity: 1;
}
body.page--open .block_underImage .imageBox .image_title::before, body.page--open .block_underImage .imageBox .image_title::after {
  transform: translateX(0);
}
body.page--open .block_underImage .imageBox .image_title::after {
  opacity: .5;
}
.block_underImage .image_title span {
  opacity: 0;
  transform: scale(1.1);
  transition: transform .5s ease .7s, opacity .5s ease .7s;
}
body.page--open .block_underImage .image_title span {
  opacity: 1;
  transform: scale(1);
}
/* ======
page-name underpage
======*/
.block_underPage {
  padding: min(6.25%, 80px) 0 0;
}
.block_underPage .contentsSet + .contentsSet {
  margin: min(6%, 66px) 0 0;
}
.block_underPage .area_facility {
  padding: 0 0 min(4.6875%, 60px);
}
.block_underPage .area_map {
  padding: min(6.25%, 80px) 0;
  background: #F5F5F5;
}
#jq_listTab {
  display: flex;
  margin: 0 0 min(7.8125%, 90px);
}
#jq_listTab > li {
  background: #EDEDED;
  position: relative;
  flex-grow: 1;
  text-align: center;
  font-size: 87.5%;
  cursor: pointer;
  transition: all .4s;
}
#jq_listTab > li + li {
  margin: 0 0 0 10px;
}
#jq_listTab > li.tab--active {
  color: #fff;
}
#jq_listTab > li::before {
  content: '';
  width: 100%;
  height: 0;
  position: absolute;
  left: 0;
  bottom: 0;
  background: #93ab56;
  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: #93ab56;
}
#jq_listTab > li span {
  display: block;
  padding: .9em 0;
  position: relative;
  z-index: 5;
  overflow: hidden;
}
/**/
.lead_page{
  font-size: 120%;
  font-weight: 400;
  margin-bottom: 80px;
}
.block_underPage .area_tabs {
  margin: 0 auto min(9.375%, 120px);
}
.block_underPage .area_tabs .contentsBox {
  display: flex;
  margin: min(7.8125%, 90px) auto 0;
}
.block_underPage .area_tabs .contentsBox .box_thumb {
  width: 52.0833%;
}
.block_underPage .area_tabs .contentsBox .box_thumb img {
  vertical-align: top;
}
.block_underPage .area_tabs .contentsBox .box_text {
  width: 32%;
  margin: 0 0 0 5%;
}
.block_underPage .area_tabs .contentsBox .box_text .text_big {
  font-weight: 500;
  margin: 0 0 3%;
}
.block_underPage .area_tabs .contentsBox .box_text .text_normal {
  font-size: 87.5%;
}
.block_underPage .area_tabs .contentsBox:nth-child(2n) {
  flex-direction: row-reverse;
}
.block_underPage .area_tabs .contentsBox:nth-child(2n) .box_text {
  margin: 0 5% 0 0;
}
/**/
.block_underPage .area_room {
  background: #F5F5F5;
  padding: min(6%, 66px) 0;
}
.block_underPage .area_room .short .roomMore {
  display: none;
}
.block_underPage .area_room .roomHead {
  display: flex;
  background: #93ab56;
  font-size: 87.5%;
  font-weight: 500;
  color: #fff;
  text-align: center;
  margin: 40px 0 0;
}
.block_underPage .area_room .roomHead .head01 {
  border-right: solid 1px #FFFFFF;
  box-sizing: border-box;
  width: 77%;
  padding: 1% 0;
}
.block_underPage .area_room .roomHead .head02 {
  width: 23%;
  padding: .87% 0;
}
.list_roomSummary > li {
  display: flex;
  border-bottom: solid 1px #B4B4B4;
  background: #FFFFFF;
}
.list_roomSummary .roomInfo {
  box-sizing: border-box;
  width: 77%;
  border-right: solid 1px #B4B4B4;
  display: flex;
  padding: 2.1% 5%;
}
.list_roomSummary .roomInfo .room_thumbnail {
  width: 20.8%;
  margin: 0 3% 0 0;
  overflow: hidden;
}
.list_roomSummary .roomInfo .room_thumbnail a {
  overflow: hidden;
  display: block;
}
.list_roomSummary .roomInfo .room_thumbnail img {
  vertical-align: top;
  transition: all .3s;
}
.list_roomSummary .roomInfo .room_thumbnail a:hover img {
  transform: scale(1.1);
}
.list_roomSummary .roomInfo .roomTextbox {
  width: 76.2%;
}
.list_roomSummary .roomInfo .roomTextbox .room_name {
  margin: 0 0 2%;
  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:hover {
  border-color: #fff;
}
.list_roomSummary .roomInfo .roomTextbox .room_name a::after {
  content: '';
  width: 0;
  height: 1px;
  background: #0000EE;
  position: absolute;
  right: 0;
  bottom: -1px;
  transition: all .4s;
}
.list_roomSummary .roomInfo .roomTextbox .room_name a:hover::after {
  width: 100%;
  right: auto;
  left: 0;
}
.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;
}
.block_underPage .area_room .room_dlBox dl + dl {
  margin: 0 0 0 4%;
}
.block_underPage .area_room .room_dlBox dl dt {
  font-size: 75%;
  font-weight: 500;
  display: inline-block;
  border: solid 1px #000000;
  padding: 0 1em;
  margin: 0 0 3%;
  line-height: 1.75;
}
.block_underPage .area_room .room_dlBox dl dd {
  font-size: 87.5%;
}
.block_underPage .area_room .room_dlBox .icon {
  display: inline-block;
  vertical-align: middle;
  width: 1.7142em;
  line-height: 1.5;
  margin: 0 .3em 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;
  width: 23%;
  display: flex;
  align-items: center;
  text-align: center;
}
.list_roomSummary .roomCapacity .capacity_text {
  width: 100%;
  line-height: 1;
  font-size: 87.5%;
}
.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: min(9.375%, 120px) 0;
}
.block_underPage .area_facilities .facilitiesFlex {
  display: flex;
  align-items: center;
}
.block_underPage .area_facilities .flexTitle {
  width: 40%;
}
.block_underPage .area_facilities .flexDetails {
  width: 60%;
}
.list_facilities {
  display: flex;
  flex-wrap: wrap;
}
.list_facilities > li {
  width: 33%;
  background-color: #EAF0F0;
  background-repeat: no-repeat;
  background-position: left 5% center;
  background-size: 3.43em;
  margin: 0 0 .5%;
  font-size: 87.5%;
  padding: 3.2%;
  box-sizing: border-box;
  font-weight: 500;
}
.list_facilities > li:not(:nth-child(3n + 1)) {
  margin: 0 0 .5% .5%;
}
.list_facilities span.icon {
  display: inline-block;
  width: 3.43em;
  vertical-align: middle;
  margin: 0 .3em 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: min(6%, 66px) 0;
}
.block_underPage .area_tourist .touristFlex {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: space-between;
}
.block_underPage .area_tourist .flexTitle {
  width: 47%;
}
.block_underPage .area_tourist .flexPdf {
  width: 47.78%;
}
.block_underPage .area_tourist .btn_pdf {
  margin: 56px auto 0;
}
/**/
.block_underPage .area_reservation {
  padding: min(9.375%, 120px) 0;
}
.block_underPage .area_reservation .reservationWrap {
  margin: 40px auto 0;
}
.block_underPage .area_reservation .reservationWrap .ate {
  display: block;
  margin: auto;
  width: 896px;
  vertical-align: top;
}
/**/
.block_underPage .area_access {
  background: #F5F5F5;
  position: relative;
  overflow: hidden;
}
.block_underPage .area_access .inner {
  padding: min(5%, 66px) 0 min(7%, 88px);
}
.block_underPage .area_access .dlWrap {
  margin: 46px 0 0;
  border-top: solid 1px #C8C8C8;
  width: 44%;
}
.dl_access {
  display: flex;
  font-size: 87.5%;
  border-bottom: solid 1px #C8C8C8;
}
.dl_access dt {
  display: flex;
  align-items: center;
  width: 25%;
  background: #FFFFFF;
  box-sizing: border-box;
  padding: 3%;
}
.dl_access dd {
  width: 75%;
  box-sizing: border-box;
  padding: 3%;
}

.block_underPage .access_map iframe {
  width: 100%;
  height: 500px;
  display: block;
}

/* ======
page-name #works
======*/

.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{
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.workbefore, .workafter{
  width: calc((100% - 60px) /2);
}
.worksarrow img{
  width: 60px;
}
.dlWrap{
  margin-top: 30px;
}
.dl_works {
    display: flex;
    font-size: 87.5%;
    border-bottom: solid 1px #C8C8C8;
}
.dl_works dt {
    display: flex;
    align-items: center;
    width: 25%;
    background: #FFFFFF;
    box-sizing: border-box;
    padding: 3%;
}

.dl_works dd {
    width: 75%;
    background: #FFFFFF;
    box-sizing: border-box;
    padding: 3%;
}




/* ======
page-name #company
======*/
.block_company .area_title {
  background: #F5F5F5;
  padding: min(6.25%, 80px) 0;
}
.block_company .area_title .titleWrap {
  position: relative;
  padding: 3.3% 0;
}
.block_company .area_title .title_imageBox {
  position: absolute;
  right: 0;
  top: 0;
  width: 57.8125%;
}
.block_company .area_title .title_imageBox img {
  vertical-align: top;
}
.block_company .area_title .title_textBox {
  width: 47.4%;
  position: relative;
  padding: 7% 0;
  text-align: center;
}
.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: 81%;
  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: 4% 0 0;
  font-size: 125%;
}
.block_company .area_info {
  padding: min(9.375%, 120px) 0;
  position: relative;
}
.list_dl {
  max-width: 1040px;
  padding-bottom: 60px;
  margin: auto;
}
.list_dl > li {
  background: #fff;
}
.list_dl > li:nth-child(odd) {
  background: #F5F5F5;
}
.list_dl > li dl {
  display: flex;
}
.list_dl > li dl dt {
  width: 25%;
  box-sizing: border-box;
  padding: 1.9% 3%;
  font-weight: 500;
}
.list_dl > li dl dd {
  width: 75%;
  box-sizing: border-box;
  font-size: 87.5%;
  padding: 1.9% 3% 1.9% .3%;
}
.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 min(9.375%, 120px);
}
.list_filter01 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 2%;
}
.list_filter01 > li {
  border: solid 1px #000000;
  font-size: 87.5%;
  font-weight: 400;
  border-radius: 50px;
  transition: color .2s, background .2s, border-color .2s;
  cursor: pointer;
  margin: 0 1.7em 1em 0;
  overflow: hidden;
  position: relative;
}
.list_filter01 > li::before {
  content: '';
  width: 0;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  background-color: #93ab56;
  transition: all .4s;
}
.list_filter01 > li:hover::before, .list_filter01 > li.active::before {
  width: 100%;
  left: 0;
  right: auto;
}
.list_filter01 > li a {
  display: block;
  padding: .3em 3em;
  position: relative;
  z-index: 5;
  transition: color .4s;
}
.list_filter01 > li:hover a, .list_filter01 > li.active {
  color: #fff;
}
.list_filter02 {
  background: #F5F5F5;
  padding: 2% 0 2% 4%;
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 8%;
  font-family: "Oswald", sans-serif;
}
.list_filter02 > li {
  font-size: 87.5%;
  font-weight: 400;
  text-align: left;
  width: 15.6%;
  position: relative;
  padding: 0 0 0 1.5em;
  cursor: pointer;
  margin: .5% 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: 22%;
}
.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_filter02 > li:hover a {
  border: none;
}
.list_filter02 > li:hover a::before {
  width: 100%;
  left: 0;
  right: auto;
}
/**/
.list_faq {
  border-top: solid 1px #000000;
  margin: 4% 0 0;
}
.list_faq > li {
  border-bottom: solid 1px #000000;
  font-size: 87.5%;
  padding: 0 2%;
}
.list_faq > li dl {
  position: relative;
}
.list_faq > li dl::before, .list_faq > li dl::after {
  content: '';
  width: 16px;
  height: 2px;
  position: absolute;
  background: #93ab56;
  right: 2%;
  top: 3.1em;
  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: 3% 5% 3% 4%;
  position: relative;
  cursor: pointer;
}
.list_faq > li dt::before {
  content: 'Q.';
  font-family: "Oswald", sans-serif;
  color: #93ab56;
  position: absolute;
  left: 0;
  top: .75em;
  font-size: 172%;
  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: 3% 5% 3% 4%;
  position: relative;
}
.list_faq > li dd::before {
  content: 'A.';
  font-family: "Oswald", sans-serif;
  color: #C65F5F;
  position: absolute;
  left: 0;
  top: .75em;
  font-size: 172%;
  font-weight: 400;
}




/* ====================================
page-name #inquiry
====================================*/
.list_form {
  width: min(95%, 1076px);
  margin: auto;
}
.list_form input, .list_form select {
  -webkit-appearance: none;
  appearance: none;
}
.list_form select option {
  color: #3E3A39;
}
.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: .75em .7em .65em;
  font-size: 16px;
  box-sizing: border-box;
}
.list_form input[type="text"]:disabled {
  background: #eee;
}
.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 select:invalid {
  color: #BEBEBE;
}
.list_form select {
  border: solid 1px #D4D4D4;
  width: min(50%, 240px);
  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 > li {
  display: flex;
}
.list_form > li + li {
  margin: 3em 0 0;
}
.list_form > li .formLabel {
  width: 290px;
  position: relative;
}
.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 .formInput {
  width: calc(100% - 290px);
}
.list_form > li .form_radio.radioFlex {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 2em;
}
.list_form > li .form_radio.radioFlex .wpcf7-form-control-wrap {
  width: 100%;
}
.list_form > li .form_radio.radioFlex .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 1em 2em;
}
.list_form > li .wpcf7-list-item {
  margin: 0;
}
.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.7em;
  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 .wpcf7-list-item + .wpcf7-list-item {
  margin: 1em 0 0;
}
.list_form > li .form_radio.radio_free .free_text {
  position: absolute;
  right: 0;
  top: -.4em;
  width: calc(100% - 1.7em);
}
.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: 47%;
  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: 3.3em 1.5em;
  text-align: center;
  margin: 4em auto 0;
  width: min(95%, 1076px);
  box-sizing: border-box;
}
.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 .form_privacy .privacy_text a:hover {
  opacity: .6;
}
.block_form .area_submit {
  margin: 4em 0 7em;
  text-align: center;
}
.block_form .area_submit .back {
  display: inline-block;
  width: 300px;
  position: relative;
  background: #ddd;
  box-sizing: border-box;
  border: solid 1px #ddd;
  border-radius: 3em;
  overflow: hidden;
  transition: all .3s;
  color: #999;
  margin: 0 1em 0 0;
}
.block_form .area_submit .back:hover {
  background: #eee;
}
.block_form .area_submit .back input {
  -webkit-appearance: none;
  appearance: none;
  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 .submit {
  display: inline-block;
  width: 540px;
  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:hover::before {
  width: 100%;
  left: 0;
  right: auto;
}
.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: 1em 0;
  cursor: pointer;
  transition: color .5s;
}
.block_form .area_submit .submit:hover input {
  color: #93aa56;
}
.block_form .area_submit span.linkHover.type--white {
  pointer-events: none;
  right: 1em;
  transition: background .5s;
}
.block_form .area_submit .submit:hover span.linkHover.type--white {
  background: #93aa56;
}
.block_form .area_submit .submit:hover span.linkHover.type--white::before {
  background-image: url(../img/arrow01--on.svg);
}
.block_form .form_lead {
  letter-spacing: .08em;
  margin: 0 auto 4em;
  width: min(95%, 1076px);
}
.block_form .form_lead a {
  color: #0000EE;
  border-bottom: solid 1px #0000EE;
  transition: opacity .3s;
}
.block_form .form_lead a:hover {
  opacity: .6;
}
.block_form .area_thanks {
  margin: 0 auto 10em;
  width: min(100%, 900px);
}
.block_form .area_thanks .thanks_text {
  margin: 2em 0 5em;
}

.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: 120%;
}

.grecaptcha-badge { visibility: hidden; }