@charset "UTF-8";
/*
 * Base Group
 */
html {
  font-size: 16px;
}

body {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Segoe UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  color: #333;
  font-size: clamp(0.75rem, 0.6rem + 0.5vw, 1rem);
}

a {
  transition: all 0.3s;
  text-decoration: none;
}
a:link, a:visited {
  color: #000;
}
a:hover, a:active {
  color: #333333;
}

img {
  max-width: 100%;
  height: auto;
  width: auto;
}

/*
 * Layout Group
 */
.ly_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.ly_header_inner {
  max-width: 1600px;
  margin: 0 auto;
}

.ly_cont {
  overflow: hidden;
}

.ly_cont_inner {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .ly_cont_inner {
    padding-right: 4%;
    padding-left: 4%;
  }
}

.ly_cont_innerWt {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
  color: #fff;
}
@media screen and (max-width: 1280px) {
  .ly_cont_innerWt {
    padding-right: 4%;
    padding-left: 4%;
  }
}

.ly_footer {
  background-color: #000;
  border-top: 1px solid #fff;
}

.ly_footer_inner {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .ly_footer_inner {
    padding-right: 4%;
    padding-left: 4%;
  }
}

/*
 * Module Group - Block
 */
.bl_header {
  position: relative;
  width: 100%;
  height: 366px;
  background-image: url(../images/common/header_bg.jpg);
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 896px) {
  .bl_header {
    height: 270px;
  }
}
@media screen and (max-width: 479px) {
  .bl_header {
    height: 200px;
  }
}

.bl_header_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 20px;
  position: relative;
  background: linear-gradient(RGBa(0, 0, 0, 0.3), RGBa(0, 0, 0, 0));
}

.bl_header_logo {
  max-width: 260px;
}
@media screen and (max-width: 896px) {
  .bl_header_logo {
    width: 45%;
  }
}

.bl_header_nav {
  max-width: 1100px;
  flex-grow: 1;
  padding: 0 4%;
}
@media screen and (max-width: 1280px) {
  .bl_header_nav {
    display: none;
  }
}

.bl_header_cont {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.bl_header_item {
  letter-spacing: 0.1em;
}
.bl_header_item > a {
  color: #fff;
  position: relative;
  text-shadow: 0 0 4px RGBa(0, 0, 0, 0.3);
}
.bl_header_item > a:before {
  position: absolute;
  left: 0;
  bottom: -4px;
  height: 1px;
  width: 0;
  content: '';
  background: #fff;
  transition: all 0.3s;
}
.bl_header_item > a:hover:before {
  width: 100%;
}

.bl_header_ttl {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.bl_header__index.bl_header,
.bl_header__facility.bl_header,
.bl_header__experience.bl_header {
  max-height: 800px;
  height: 100vh;
  background-image: url(../images/index/mv_bg@2x.jpg);
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 896px) {
  .bl_header__index.bl_header,
  .bl_header__facility.bl_header,
  .bl_header__experience.bl_header {
    max-height: calc(800px / 1.5);
  }
}
@media screen and (max-width: 479px) {
  .bl_header__index.bl_header,
  .bl_header__facility.bl_header,
  .bl_header__experience.bl_header {
    max-height: calc(800px / 2);
  }
}
.bl_header__index .movie,
.bl_header__facility .movie,
.bl_header__experience .movie {
  width: 100%;
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 0;
  max-height: 800px;
  height: 100vh;
  z-index: -10;
}
@media screen and (max-width: 896px) {
  .bl_header__index .movie,
  .bl_header__facility .movie,
  .bl_header__experience .movie {
    max-height: calc(800px / 1.5);
  }
}
@media screen and (max-width: 479px) {
  .bl_header__index .movie,
  .bl_header__facility .movie,
  .bl_header__experience .movie {
    max-height: calc(800px / 2);
  }
}
.bl_header__index .movie .wrap,
.bl_header__facility .movie .wrap,
.bl_header__experience .movie .wrap {
  width: 100%;
  height: 100vh;
  max-height: 800px;
  position: relative;
}
@media screen and (max-width: 896px) {
  .bl_header__index .movie .wrap,
  .bl_header__facility .movie .wrap,
  .bl_header__experience .movie .wrap {
    max-height: calc(800px / 1.5);
  }
}
@media screen and (max-width: 479px) {
  .bl_header__index .movie .wrap,
  .bl_header__facility .movie .wrap,
  .bl_header__experience .movie .wrap {
    max-height: calc(800px / 2);
  }
}
.bl_header__index .movie .wrap #bg-video,
.bl_header__facility .movie .wrap #bg-video,
.bl_header__experience .movie .wrap #bg-video {
  position: relative;
  width: 100%;
  height: 100vh;
  max-height: 800px;
  z-index: -1;
  object-fit: cover;
}
@media screen and (max-width: 896px) {
  .bl_header__index .movie .wrap #bg-video,
  .bl_header__facility .movie .wrap #bg-video,
  .bl_header__experience .movie .wrap #bg-video {
    max-height: calc(800px / 1.5);
  }
}
@media screen and (max-width: 479px) {
  .bl_header__index .movie .wrap #bg-video,
  .bl_header__facility .movie .wrap #bg-video,
  .bl_header__experience .movie .wrap #bg-video {
    max-height: calc(800px / 2);
  }
}

.bl_header__about.bl_header {
  background-image: url(../images/about/header_bg.jpg);
}

.bl_header__facility.bl_header {
  background-image: none;
}

.bl_header__experience.bl_header {
  background-image: none;
}

.bl_header__access.bl_header {
  background-image: url(../images/access/header_bg.jpg);
}

.bl_header__news.bl_header {
  background-image: url(../images/news/header_bg.jpg);
}

.bl_header__faq.bl_header {
  background-image: url(../images/faq/header_bg.jpg);
}

.bl_header__contact.bl_header {
  background-image: url(../images/contact/header_bg.jpg);
}

.bl_header__reservation.bl_header {
  background-image: url(../images/reservation/header_bg.jpg);
}

.bl_header__agreement.bl_header {
  background-image: url(../images/agreement/header_bg.jpg);
}

.bl_header__option.bl_header {
  background-image: url(../images/option/header_bg.jpg);
}

.bl_header__tourism.bl_header {
  background-image: url(../images/tourism/header_bg.jpg);
}

.bl_header__tokusho.bl_header {
  background-image: url(../images/tokusho/header_bg.jpg);
}

.bl_header__company.bl_header {
  background-image: url(../images/company/header_bg.jpg);
}

.bl_heading {
  position: relative;
  text-align: center;
}

.bl_heading_ttl {
  line-height: 0;
}
.bl_heading_ttl > img {
  height: 70px;
  min-height: 30px;
}
@media (max-width: 1600px) {
  .bl_heading_ttl > img {
    height: calc(70 / 1600 * 100vw);
  }
}

.bl_heading_sub {
  font-weight: normal;
}

.bl_heading__lg .bl_heading_ttl > img {
  height: 140px;
  min-height: 60px;
}
@media (max-width: 1600px) {
  .bl_heading__lg .bl_heading_ttl > img {
    height: calc(140 / 1600 * 100vw);
  }
}

.bl_media {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 479px) {
  .bl_media {
    flex-wrap: wrap;
  }
}

.bl_media_img {
  width: 48%;
}
.bl_media_img > img {
  width: 100%;
}
@media screen and (max-width: 479px) {
  .bl_media_img {
    width: 100%;
  }
}

.bl_media_body {
  width: 48%;
}
@media screen and (max-width: 479px) {
  .bl_media_body {
    width: 100%;
    padding-top: 4%;
  }
}

.bl_media_logo {
  max-width: 100px;
}
.bl_media_logo.bl_media_logo__lg {
  max-width: 200px;
}
@media screen and (max-width: 479px) {
  .bl_media_logo {
    margin: 0 auto;
  }
}

.bl_media_ttl,
.bl_media_subTtl {
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: clamp(1.125rem, 0.75rem + 1.25vw, 1.75rem);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
}
@media (max-width: 896px) {
  .bl_media_ttl,
  .bl_media_subTtl {
    margin-bottom: calc(30px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_media_ttl,
  .bl_media_subTtl {
    margin-bottom: calc(30px / 2);
  }
}

.bl_media_txt {
  font-size: clamp(0.6875rem, 0.5375rem + 0.5vw, 0.9375rem);
  letter-spacing: 0.1em;
  line-height: 2;
  margin-bottom: 30px;
}
@media (max-width: 896px) {
  .bl_media_txt {
    margin-bottom: calc(30px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_media_txt {
    margin-bottom: calc(30px / 2);
  }
}

.bl_media__rev.bl_media {
  flex-direction: row-reverse;
}

.bl_media__full.bl_media {
  flex-wrap: wrap;
}
.bl_media__full .bl_media_img {
  width: 50%;
}
@media screen and (max-width: 896px) {
  .bl_media__full .bl_media_img {
    width: 100%;
  }
}
.bl_media__full .bl_media_body {
  width: 50%;
  padding-right: 4%;
  padding-left: 4%;
}
@media screen and (max-width: 896px) {
  .bl_media__full .bl_media_body {
    width: 100%;
  }
}

@media screen and (max-width: 896px) {
  .bl_media__4_6.bl_media {
    flex-wrap: wrap;
  }
}
.bl_media__4_6 .bl_media_img {
  width: 58%;
}
@media screen and (max-width: 896px) {
  .bl_media__4_6 .bl_media_img {
    width: 48%;
  }
}
@media screen and (max-width: 479px) {
  .bl_media__4_6 .bl_media_img {
    width: 100%;
  }
}
.bl_media__4_6 .bl_media_body {
  width: 42%;
}
@media screen and (max-width: 896px) {
  .bl_media__4_6 .bl_media_body {
    width: 48%;
  }
}
@media screen and (max-width: 479px) {
  .bl_media__4_6 .bl_media_body {
    width: 100%;
  }
}

.bl_media__index.bl_media {
  position: relative;
}
.bl_media__index.bl_media:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  background-color: #F5F5F5;
  width: 1400px;
  height: 105%;
  z-index: -1;
}
@media (max-width: 1600px) {
  .bl_media__index.bl_media:after {
    width: calc(1400 / 1600 * 100vw);
  }
}
.bl_media__index .bl_media_img {
  width: 50%;
  margin-top: -37px;
}
.bl_media__index .bl_media_body {
  width: 48%;
}
@media screen and (max-width: 896px) {
  .bl_media__index.bl_media {
    flex-wrap: wrap;
  }
  .bl_media__index .bl_media_img {
    width: 100%;
    margin-top: 0;
    margin-bottom: 1em;
  }
  .bl_media__index .bl_media_body {
    width: 100%;
  }
}

.bl_media__facility.bl_media {
  flex-wrap: wrap;
}
.bl_media__facility .bl_media_img {
  position: relative;
  line-height: 0;
  margin-bottom: 60px;
  overflow: hidden;
  transition: .5s all;
}
@media (max-width: 896px) {
  .bl_media__facility .bl_media_img {
    margin-bottom: calc(60px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_media__facility .bl_media_img {
    margin-bottom: calc(60px / 2);
  }
}
.bl_media__facility .bl_media_img img {
  width: 100%;
}
.bl_media__facility .bl_media_img:hover .bl_media_img_bg {
  transform: scale(1.2);
}
.bl_media__facility .bl_media_img_bg {
  transition: .5s all;
}
.bl_media__facility .bl_media_img_logo {
  position: absolute;
  max-width: 100px;
  top: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.85);
}
@media screen and (max-width: 896px) {
  .bl_media__facility .bl_media_img_logo {
    width: 20%;
  }
}
.bl_media__facility .bl_media_img_txt {
  position: absolute;
  width: 98%;
  bottom: 5px;
  left: 50%;
  transform: translateX(-50%);
}

.bl_card {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.bl_card_item {
  width: calc(100% / 3 - 27px);
  margin-right: 40px;
  margin-bottom: 80px;
}
@media (max-width: 896px) {
  .bl_card_item {
    margin-bottom: calc(80px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_card_item {
    margin-bottom: calc(80px / 2);
  }
}
.bl_card_item:nth-child(3n) {
  margin-right: 0;
}
@media screen and (max-width: 479px) {
  .bl_card_item {
    width: calc(100% / 2 - 10px);
  }
  .bl_card_item:nth-child(2n) {
    margin-right: 0;
  }
  .bl_card_item:nth-child(odd) {
    margin-right: 20px;
  }
}

.bl_card_wrapper:hover .bl_card_img > img {
  transform: scale(1.2);
}

.bl_card_img {
  position: relative;
  line-height: 0;
  overflow: hidden;
  margin-bottom: 20px;
}
@media (max-width: 896px) {
  .bl_card_img {
    margin-bottom: calc(20px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_card_img {
    margin-bottom: calc(20px / 2);
  }
}
.bl_card_img > img {
  width: 100%;
  transition: .5s all;
}

.bl_card_category {
  position: absolute;
  top: 4px;
  right: 4px;
  font-size: clamp(0.625rem, 0.475rem + 0.5vw, 0.875rem);
  line-height: 1.6;
  font-weight: bold;
  text-align: center;
  padding: 8px 0.5em;
  background-color: #fff;
  min-width: 188px;
}
@media screen and (max-width: 896px) {
  .bl_card_category {
    min-width: 110px;
  }
}

.bl_card_ttl {
  letter-spacing: 0.1em;
  line-height: 2;
}

.bl_bgfull {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.bl_bgfull__facility {
  background-image: url(../images/index/facility_bg@2x.jpg);
  padding: 100px 0;
}

.bl_bgfull__about {
  background-image: url(../images/about/about_bg@2x.jpg);
  padding-top: 43.75%;
}

.bl_bgfull__about-v2 {
  background-image: url(../images/about/about_bg_v2@2x.jpg);
  padding-top: 43.75%;
}

.bl_bgfull__about02 {
  background-image: url(../images/about/about_bg02@2x.jpg);
  padding-top: 43.75%;
}

.bl_bgfull__about02-v2 {
  background-image: url(../images/about/about_bg02_v2@2x.jpg);
  padding-top: 43.75%;
}

.bl_btns {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.bl_btns .el_btn:nth-child(1) {
  margin-right: 60px;
}
@media (max-width: 1600px) {
  .bl_btns .el_btn:nth-child(1) {
    margin-right: calc(60 / 1600 * 100vw);
  }
}
@media screen and (max-width: 896px) {
  .bl_btns {
    flex-direction: column;
    align-items: center;
  }
  .bl_btns .el_btn:nth-child(1) {
    margin-right: 0;
    margin-bottom: 1em;
  }
}

.bl_lead {
  position: relative;
  margin-top: 120px;
  text-align: center;
}
@media (max-width: 896px) {
  .bl_lead {
    margin-top: calc(120px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_lead {
    margin-top: calc(120px / 2);
  }
}

.bl_lead_logo {
  margin-bottom: 60px;
}
@media (max-width: 896px) {
  .bl_lead_logo {
    margin-bottom: calc(60px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_lead_logo {
    margin-bottom: calc(60px / 2);
  }
}
@media screen and (max-width: 896px) {
  .bl_lead_logo {
    transform: scale(0.8);
  }
}

.bl_lead_ttl {
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: clamp(1.5625rem, 1rem + 1.875vw, 2.5rem);
  letter-spacing: 0.1em;
  line-height: 1.45;
  margin-bottom: 45px;
}
@media (max-width: 896px) {
  .bl_lead_ttl {
    margin-bottom: calc(45px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_lead_ttl {
    margin-bottom: calc(45px / 2);
  }
}

.bl_lead_ttl_small {
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: clamp(1.25rem, 0.875rem + 1.25vw, 1.875rem);
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin-bottom: 40px;
}
@media (max-width: 896px) {
  .bl_lead_ttl_small {
    margin-bottom: calc(40px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_lead_ttl_small {
    margin-bottom: calc(40px / 2);
  }
}

.bl_lead_ttl_xsmall {
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: clamp(1.0625rem, 0.725rem + 1.125vw, 1.625rem);
  letter-spacing: 0.1em;
  line-height: 1.53846;
  margin-bottom: 40px;
}
@media (max-width: 896px) {
  .bl_lead_ttl_xsmall {
    margin-bottom: calc(40px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_lead_ttl_xsmall {
    margin-bottom: calc(40px / 2);
  }
}

.bl_lead_txt {
  letter-spacing: 0.1em;
  line-height: 2;
}

.bl_lead_floormap {
  background-color: #F5F5E9;
  margin: 0 calc(50% - 50vw);
  padding: 4px calc(50vw - 50% + 8px) 20px;
  width: 100vw;
}

.bl_lead__sm .bl_lead_ttl {
  font-size: clamp(1.25rem, 0.875rem + 1.25vw, 1.875rem);
  line-height: 1.93333;
}

.bl_reservation {
  background-image: url(../images/common/reservation_bg@2x.jpg);
  background-repeat: no-repeat;
  background-position: 80% center;
  background-size: cover;
}

.bl_reservation_inner {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
  padding: 70px 0 100px 0;
}
@media screen and (max-width: 1280px) {
  .bl_reservation_inner {
    padding-right: 4%;
    padding-left: 4%;
  }
}

.bl_reservation_txt {
  color: #fff;
  text-align: center;
  font-size: clamp(0.6875rem, 0.5375rem + 0.5vw, 0.9375rem);
  letter-spacing: 0.1em;
  line-height: 2.13333;
}
@media screen and (max-width: 479px) {
  .bl_reservation_txt {
    text-align-last: left;
  }
}

.bl_footer {
  color: #fff;
  text-align: center;
  padding-top: 40px;
  padding-bottom: 40px;
}

.bl_footer_logo {
  text-align: center;
  margin-top: 30px;
  margin-bottom: 24px;
}
@media (max-width: 896px) {
  .bl_footer_logo {
    margin-top: calc(30px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_footer_logo {
    margin-top: calc(30px / 2);
  }
}
@media (max-width: 896px) {
  .bl_footer_logo {
    margin-bottom: calc(24px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_footer_logo {
    margin-bottom: calc(24px / 2);
  }
}

.bl_footer_link {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 1000px;
  margin: 0 auto;
  margin-bottom: 20px;
}
@media (max-width: 896px) {
  .bl_footer_link {
    margin-bottom: calc(20px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_footer_link {
    margin-bottom: calc(20px / 2);
  }
}
@media screen and (max-width: 896px) {
  .bl_footer_link {
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 100%;
  }
}
@media screen and (max-width: 479px) {
  .bl_footer_link {
    flex-direction: column;
  }
}

.bl_footer_item {
  padding: 0 0.8em;
  font-size: clamp(0.625rem, 0.475rem + 0.5vw, 0.875rem);
}
.bl_footer_item > a {
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1.5;
  transition: .5s all;
}
.bl_footer_item > a:link, .bl_footer_item > a:visited {
  color: #fff;
}
.bl_footer_item > a:hover {
  color: #4191C3;
}
@media screen and (max-width: 896px) {
  .bl_footer_item {
    width: 50%;
    margin-bottom: 1em;
  }
}
@media screen and (max-width: 479px) {
  .bl_footer_item {
    width: 100%;
  }
}

.bl_footer_address {
  font-size: clamp(0.625rem, 0.55rem + 0.25vw, 0.75rem);
  letter-spacing: 0.1em;
  margin-bottom: 44px;
}
@media (max-width: 896px) {
  .bl_footer_address {
    margin-bottom: calc(44px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_footer_address {
    margin-bottom: calc(44px / 2);
  }
}

.bl_footer_copyright {
  font-size: clamp(0.625rem, 0.55rem + 0.25vw, 0.75rem);
}

.bl_desc {
  position: relative;
}

.bl_desc_lg {
  font-size: clamp(1.5625rem, 1rem + 1.875vw, 2.5rem);
  font-weight: bold;
  line-height: 1.45;
}

.bl_desc_txt {
  letter-spacing: 0.1em;
  line-height: 2;
}

.bl_form_item {
  position: relative;
  margin-bottom: 1em;
}
.bl_form_item > label {
  font-weight: bold;
  margin-bottom: 8px;
}
.bl_form_item input, .bl_form_item textarea {
  width: 100%;
  border: 1px solid #CCCCCC;
  border-radius: 6px;
  padding: 0.5em 1em;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.bl_sidebtn {
  position: fixed;
  top: 34%;
  right: 0;
  z-index: 9990;
  padding-top: 20px;
  transition: .5s all;
}
.bl_sidebtn img {
  width: 60px;
  min-width: 40px;
}
@media (max-width: 1600px) {
  .bl_sidebtn img {
    width: calc(60 / 1600 * 100vw);
  }
}
.bl_sidebtn:hover {
  padding-top: 0;
}

.bl_single {
  position: relative;
  margin-bottom: 120px;
}
@media (max-width: 896px) {
  .bl_single {
    margin-bottom: calc(120px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_single {
    margin-bottom: calc(120px / 2);
  }
}

.bl_single_ttl {
  text-align: center;
  font-size: clamp(1.25rem, 0.875rem + 1.25vw, 1.875rem);
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 50px;
}
@media (max-width: 896px) {
  .bl_single_ttl {
    margin-bottom: calc(50px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_single_ttl {
    margin-bottom: calc(50px / 2);
  }
}

.bl_single_date {
  text-align: right;
  font-size: clamp(0.625rem, 0.475rem + 0.5vw, 0.875rem);
  margin-bottom: 30px;
}
@media (max-width: 896px) {
  .bl_single_date {
    margin-bottom: calc(30px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_single_date {
    margin-bottom: calc(30px / 2);
  }
}

.bl_single_text p {
  margin-bottom: 1em;
}
.bl_single_text img {
  margin-bottom: 2em;
}

#faq {
  margin-top: 120px;
}
@media (max-width: 896px) {
  #faq {
    margin-top: calc(120px * 2 / 3);
  }
}
@media (max-width: 480px) {
  #faq {
    margin-top: calc(120px / 2);
  }
}

.bl_faq h3 {
  margin-bottom: 20px;
}
.bl_faq dl dt {
  border-radius: 4px;
  background: #333;
  color: #fff;
  padding: 20px 1.5em;
  margin-bottom: 20px;
  cursor: pointer;
}
.bl_faq dl dt:before {
  content: 'Q. ';
  color: #4191C3;
  font-weight: bold;
}
.bl_faq dl dd {
  padding: 10px 1.5em 40px;
  display: none;
}
.bl_faq dl dd:before {
  content: 'A. ';
  color: #C3416E;
  font-weight: bold;
}

/*
 * Module Group - Block - index
 */
.bl_indexLead {
  position: relative;
  width: 100%;
  background-image: url(../images/index/map_bg@2x.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 479px) {
  .bl_indexLead {
    background-position: 35%;
  }
}

.bl_indexLead_ttl {
  position: absolute;
  top: -100px;
  left: 12px;
  width: 524px;
  min-width: 262px;
}
@media (max-width: 1600px) {
  .bl_indexLead_ttl {
    top: calc(-100 / 1600 * 100vw);
  }
}
@media (max-width: 1600px) {
  .bl_indexLead_ttl {
    width: calc(524 / 1600 * 100vw);
  }
}
@media screen and (max-width: 896px) {
  .bl_indexLead_ttl {
    top: -50px;
  }
}

.bl_indexLead_body {
  padding: 10% 13% 12% 0;
  text-align: right;
}
@media screen and (max-width: 479px) {
  .bl_indexLead_body {
    padding: 15% 5% 30% 20%;
  }
}

.bl_indexLead_subttl {
  margin-bottom: 34px;
}
@media (max-width: 896px) {
  .bl_indexLead_subttl {
    margin-bottom: calc(34px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_indexLead_subttl {
    margin-bottom: calc(34px / 2);
  }
}

.bl_indexLead_main {
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: clamp(2.0625rem, 0.825rem + 4.125vw, 4.125rem);
  letter-spacing: 0.2em;
  margin-bottom: 34px;
}
@media (max-width: 896px) {
  .bl_indexLead_main {
    margin-bottom: calc(34px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_indexLead_main {
    margin-bottom: calc(34px / 2);
  }
}

.bl_indexLead_sub {
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: clamp(0.9375rem, 0.6rem + 1.125vw, 1.5rem);
  letter-spacing: 0.1em;
  line-height: 1.84615;
}

/*
 * Module Group - Block - about
 */
/*
 * Module Group - Block - facility
 */
.bl_gallery {
  position: relative;
  background-color: #F5F5E9;
  padding-top: 90px;
  padding-bottom: 90px;
}
@media (max-width: 896px) {
  .bl_gallery {
    padding-top: calc(90px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_gallery {
    padding-top: calc(90px / 2);
  }
}
@media (max-width: 896px) {
  .bl_gallery {
    padding-bottom: calc(90px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_gallery {
    padding-bottom: calc(90px / 2);
  }
}

.bl_gallery_wrap {
  display: flex;
}
.bl_gallery_wrap.swiper-wrapper {
  transition-timing-function: linear;
}

.bl_gallery_item {
  width: 38.75%;
}
@media (min-width: 1900px) {
  .bl_gallery_item {
    width: 22.75%;
  }
}
@media screen and (max-width: 479px) {
  .bl_gallery_item {
    width: 70%;
  }
}

.bl_lightbox {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 1280px) {
  .bl_lightbox {
    padding-right: 4%;
    padding-left: 4%;
  }
}
.bl_lightbox > a {
  margin-bottom: 2em;
  width: 31%;
}

/*
 * Module Group - Block - agreement
 */
.bl_agreement {
  position: relative;
  padding-top: 100px;
}

.bl_agreement_order {
  margin-top: 2em;
}

.bl_agreement_order_item {
  margin-bottom: 2em;
}
.bl_agreement_order_item > span {
  font-size: clamp(0.8125rem, 0.625rem + 0.625vw, 1.125rem);
  font-weight: bold;
}

.bl_agreement_unorder {
  margin-top: 1em;
  margin-bottom: 1em;
  margin-left: 2em;
}

.bl_agreement_unorder_item {
  list-style: disc;
  margin-bottom: 0.7em;
}
.bl_agreement_unorder_item > span {
  font-size: clamp(0.8125rem, 0.625rem + 0.625vw, 1.125rem);
  font-weight: bold;
}

.bl_agreement_unorder_item__noDisc.bl_agreement_unorder_item {
  list-style: none;
}

.bl_agreement_unorder_item__space.bl_agreement_unorder_item {
  margin-left: 2em;
}

/*
 * Module Group - Block - tokusho
 */
#tokusho-ho {
  padding-top: 100px;
  padding-bottom: 100px;
}

.bl_tokusho_h3 {
  font-size: clamp(0.8125rem, 0.625rem + 0.625vw, 1.125rem);
  margin-bottom: 20px;
}

.bl_tokusho_table {
  width: 100%;
  margin-bottom: 50px;
}
.bl_tokusho_table tr th {
  border: 1px solid #ccc;
  background: #f5f5f5;
  padding: 10px 1.5em;
}
.bl_tokusho_table tr td {
  border: 1px solid #ccc;
  padding: 10px 2em;
}

/*
 * Module Group - Block - reservation
 */
.bl_price {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.bl_price_item {
  width: 48%;
  background-color: #4191C3;
  text-align: center;
}
@media screen and (max-width: 479px) {
  .bl_price_item {
    width: 100%;
    margin-bottom: 2em;
  }
}

.bl_price_lead {
  color: #fff;
  background-color: #1BA2AF;
  font-size: clamp(0.875rem, 0.65rem + 0.75vw, 1.25rem);
  font-weight: bold;
  padding: 13px 0;
}

.bl_price_body {
  padding: 8% 11% 11% 11%;
}

.bl_price_type {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 13px 0;
  margin-bottom: 30px;
}
@media (max-width: 896px) {
  .bl_price_type {
    margin-bottom: calc(30px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_price_type {
    margin-bottom: calc(30px / 2);
  }
}

.bl_price_cost {
  margin-bottom: 50px;
}
@media (max-width: 896px) {
  .bl_price_cost {
    margin-bottom: calc(50px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_price_cost {
    margin-bottom: calc(50px / 2);
  }
}

.bl_price_desc {
  background-color: #fff;
  padding: 30px 4%;
  border-radius: 12px;
}

.bl_price_txt {
  font-size: clamp(0.875rem, 0.65rem + 0.75vw, 1.25rem);
}

.bl_price_item__pink.bl_price_item {
  background-color: #F7ECF6;
}
.bl_price_item__pink .bl_price_lead {
  background-color: #AF1B6B;
}

.bl_price_txt__md.bl_price_txt {
  font-size: clamp(0.9375rem, 0.6rem + 1.125vw, 1.5rem);
  font-weight: bold;
}

.bl_price_txt__lg.bl_price_txt {
  font-size: clamp(1.125rem, 0.75rem + 1.25vw, 1.75rem);
  font-weight: bold;
}

.bl_price_txt__xl.bl_price_txt {
  font-size: clamp(2.125rem, 1.525rem + 2vw, 3.125rem);
  font-weight: bold;
}

.bl_pricelist .box {
  background: #F5F5E9;
  padding: 40px 5% 50px;
}
.bl_pricelist .box h5 {
  text-align: center;
  margin-bottom: 30px;
}

#booking-package_durationStay #checkInPanel .name,
#booking-package_durationStay #checkOutPanel .name {
  font-size: 85%;
  font-weight: 700;
}
#booking-package_durationStay #guestsListPanel .optionsTitle,
#booking-package_durationStay #guestsListPanel .guestsTitle {
  background: #333;
  color: #eee;
  padding: 2px 0.8em;
}
#booking-package_durationStay #guestsListPanel .description {
  padding: 10px 1.2em;
  background: #f5f5f5;
  font-size: 80%;
  margin-bottom: 0.5em;
}
#booking-package_durationStay #guestsListPanel .name {
  font-weight: 700;
}
#booking-package_durationStay #guestsListPanel #bookingPrice {
  text-align: right;
  font-weight: bold;
  font-size: 120%;
}
#booking-package_durationStay .goToBookingFormButton {
  margin-top: 10px;
  color: #fff;
  background-color: #4191C3;
  border: 1px solid #4191C3;
  border-radius: 29px;
  padding: 15px 0.5rem;
}
#booking-package_durationStay .goToBookingFormButton:hover {
  color: #4191C3;
  background-color: #fff;
}

#booking-package_inputFormPanel #confirmBookingButton,
#booking-package_inputFormPanel .returnButton.bookingButton {
  margin-top: 10px;
  color: #fff;
  background-color: #4191C3;
  border: 1px solid #4191C3;
  border-radius: 29px;
  padding: 15px 0.5rem;
}
#booking-package_inputFormPanel #confirmBookingButton:hover,
#booking-package_inputFormPanel .returnButton.bookingButton:hover {
  color: #4191C3;
  background-color: #fff;
}
#booking-package_inputFormPanel #returnToSchedules {
  margin-top: 10px;
  color: #fff;
  background-color: #000;
  border: 1px solid #000;
  border-radius: 29px;
  padding: 15px 0.5rem;
}
#booking-package_inputFormPanel #returnToSchedules:hover {
  color: #000;
  background-color: #fff;
}

/*
 * Module Group - Block - access
 */
.bl_access {
  position: relative;
}

.bl_access_ttl {
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: clamp(1.125rem, 0.75rem + 1.25vw, 1.75rem);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.1em;
  margin-bottom: 50px;
}
@media (max-width: 896px) {
  .bl_access_ttl {
    margin-bottom: calc(50px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .bl_access_ttl {
    margin-bottom: calc(50px / 2);
  }
}

.bl_access_inner {
  position: relative;
}
@media screen and (max-width: 896px) {
  .bl_access_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

.bl_access_subttl {
  position: relative;
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: clamp(0.875rem, 0.65rem + 0.75vw, 1.25rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  padding-top: 8px;
  padding-bottom: 13px;
  margin-bottom: 14px;
  margin-left: 1.5em;
}
.bl_access_subttl:before {
  position: absolute;
  top: 0;
  left: -1.5em;
  content: "";
  background-color: #D07475;
  width: 11px;
  height: 2.9em;
  max-height: 53px;
}
@media screen and (max-width: 896px) {
  .bl_access_subttl {
    width: 100%;
  }
}

.bl_access_wrapper {
  position: relative;
  background-color: #F5F5F5;
  padding: 30px 4.6875% 40px 4.6875%;
}
@media screen and (max-width: 896px) {
  .bl_access_wrapper {
    width: 48%;
    display: flex;
    flex-direction: column;
  }
}
@media screen and (max-width: 479px) {
  .bl_access_wrapper {
    width: 100%;
  }
}

.bl_access_midashi {
  text-align: center;
  font-size: clamp(0.875rem, 0.65rem + 0.75vw, 1.25rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 24px;
}

.bl_access_list {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 896px) {
  .bl_access_list {
    flex-direction: column;
  }
}

.bl_access_item {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  width: 24.375%;
  padding: 2em;
  font-size: clamp(0.75rem, 0.6rem + 0.5vw, 1rem);
  letter-spacing: 0.1em;
  line-height: 2.1875;
}
.bl_access_item:after {
  position: absolute;
  content: "→";
  font-size: clamp(1.25rem, 0.875rem + 1.25vw, 1.875rem);
  top: 50%;
  transform: translateY(-50%);
  right: -33%;
}
.bl_access_item:last-child:after {
  display: none;
}
@media screen and (max-width: 896px) {
  .bl_access_item {
    width: 100%;
    margin-bottom: 4em;
  }
  .bl_access_item:after {
    content: "↓";
    top: 100%;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
  }
  .bl_access_item:last-child {
    margin-bottom: 0;
  }
}

/*
 * Module Group - Block - company
 */
.bl_outline {
  max-width: 800px;
  margin: 0 auto;
}
.bl_outline table {
  width: 100%;
  margin-top: 40px;
  border-bottom: 1px solid #ccc;
}
.bl_outline table th {
  border-top: 1px solid #ccc;
  padding: 16px 1.5em;
}
.bl_outline table td {
  border-top: 1px solid #ccc;
  padding: 16px 1.5em;
}

/*
 * Module Group - Block - yoyaku
 */
#yoyaku_cal {
  background: #F5F5E9;
}
#yoyaku_cal .bl_lead {
  margin-top: 90px;
}
@media (max-width: 896px) {
  #yoyaku_cal .bl_lead {
    margin-top: calc(90px * 2 / 3);
  }
}
@media (max-width: 480px) {
  #yoyaku_cal .bl_lead {
    margin-top: calc(90px / 2);
  }
}
#yoyaku_cal .bl_lead center {
  margin-bottom: 20px;
}

.bl_yoyaku_cal .calendar_489ban {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.bl_yoyaku_cal .calendar_489ban .calendar {
  width: 31%;
  background: #fff;
}
@media screen and (max-width: 479px) {
  .bl_yoyaku_cal .calendar_489ban .calendar {
    width: 100%;
    margin-bottom: 20px;
  }
}
.bl_yoyaku_cal .calendar_489ban .calendar caption {
  font-size: 20px;
  text-align: center;
  margin-bottom: 4px;
}
.bl_yoyaku_cal .calendar_489ban .calendar th {
  border: 1px solid #ccc;
  padding: 5px 0;
  text-align: center;
  background: #f5f5f5;
}
.bl_yoyaku_cal .calendar_489ban .calendar th:first-of-type {
  color: #900;
}
.bl_yoyaku_cal .calendar_489ban .calendar th:last-of-type {
  color: #424686;
}
.bl_yoyaku_cal .calendar_489ban .calendar td {
  border: 1px solid #ccc;
  padding: 5px 0;
  text-align: center;
  line-height: 1.2;
}
.bl_yoyaku_cal .calendar_489ban .calendar td:first-of-type {
  color: #900;
}
.bl_yoyaku_cal .calendar_489ban .calendar td:last-of-type {
  color: #424686;
}
.bl_yoyaku_cal .calendar_489ban .calendar td.holiday {
  color: #900;
}

#search_489ban {
  margin: 0 10%;
  padding: 20px 4% 24px;
  background: RGBa(255, 255, 255, 0.9);
}
@media screen and (max-width: 479px) {
  #search_489ban {
    margin: 0 2%;
    padding: 20px 3% 30px;
  }
}
#search_489ban h4 {
  text-align: center;
  border-bottom: 1px solid #999;
  padding-bottom: 8px;
  margin-bottom: 18px;
  font-weight: bold;
  font-size: 110%;
}
#search_489ban form {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
#search_489ban form .date_489ban {
  display: flex;
  align-items: center;
  padding-right: 2.5em;
}
#search_489ban form .date_489ban dt {
  width: 4em;
}
#search_489ban form .inbox_489ban .stay_489ban {
  display: flex;
  align-items: center;
}
#search_489ban form .inbox_489ban .stay_489ban dt {
  width: 3em;
}
@media screen and (max-width: 479px) {
  #search_489ban form .inbox_489ban .stay_489ban dt {
    width: 4em;
  }
}
#search_489ban form button {
  margin-top: 20px;
  transition: all 0.3s;
  display: block;
  position: relative;
  color: #000;
  background-color: #fff;
  width: 100%;
  max-width: 100%;
  text-align: center;
  padding: 15px 0.5rem;
  border: none;
  font-size: clamp(0.75rem, 0.6rem + 0.5vw, 1rem);
  font-weight: bold;
  text-decoration: none;
  border: 1px solid #000;
  border-radius: 29px;
}
#search_489ban form button:hover {
  color: #fff;
  background-color: #000;
  cursor: pointer;
}
#search_489ban form button:hover:link, #search_489ban form button:hover:visited {
  color: #fff;
}
#search_489ban form button:link, #search_489ban form button:visited {
  color: #000;
}
#search_489ban form button.el_btn__submit {
  width: 100%;
  max-width: 100%;
  cursor: pointer;
  color: #fff;
  background-color: #000000;
  border: 1px solid #000000;
  border-radius: 6px;
  transition: all 0.3s;
}
#search_489ban form button.el_btn__submit:hover {
  color: #000000;
  background-color: #fff;
}
#search_489ban form button.el_btn__submit:hover:link {
  color: #000000;
}
#search_489ban form button.el_btn__submit:hover::after {
  display: none;
}
#search_489ban .login {
  padding-top: 16px;
  font-size: 80%;
}

#search_489ban input,
#search_489ban select {
  display: inline-block;
  margin: 2px 2px 5px;
  padding: 20px;
  font-size: 130%;
  border: 1px solid #999;
  background: #fff;
}
@media screen and (max-width: 479px) {
  #search_489ban input,
  #search_489ban select {
    font-size: 110%;
    padding: 14px;
  }
}

#search_489ban input[type=checkbox] {
  -webkit-transform-origin: right bottom;
  -webkit-transform: scale(0.8, 0.8);
}

#search_489ban .child_489ban {
  border-bottom: 1px dotted #dedede;
}

#search_489ban .child_489ban:first-of-type {
  padding: 5px 0 0;
  border-top: 1px dotted #dedede;
}

#search_489ban .child_489ban:last-of-type {
  margin: 0 0 10px;
  padding: 0 0 5px;
}

#search_489ban .child_489ban dt {
  width: auto;
}

#search_489ban .child_489ban dd {
  width: 70px;
  vertical-align: middle;
}

#search_489ban .child_489ban dt span {
  display: block;
  font-size: 12px;
}

#search_489ban .price_489ban dt {
  width: 65px;
}

#search_489ban .price_489ban div {
  display: inline-block;
}

#search_489ban .price_489ban span {
  font-size: 12px;
}

#search_489ban .tag_489ban,
#search_489ban .tag_489ban dt,
#search_489ban .tag_489ban dd {
  width: 100%;
  display: block;
}

#search_489ban .tag_489ban .tag_mode_489ban {
  font-size: 13px;
}

button {
  display: inline-block;
  position: relative;
  color: #000;
  background-color: #fff;
  width: 100%;
  max-width: 340px;
  text-align: center;
  padding: 15px 0.5rem;
  font-size: clamp(0.75rem, 0.6rem + 0.5vw, 1rem);
  font-weight: bold;
  text-decoration: none;
  border: 1px solid #000;
  border-radius: 29px;
}
button:hover {
  color: #fff;
  background-color: #4191C3;
  border: 1px solid #4191C3;
}
button:hover:link, button:hover:visited {
  color: #fff;
}
button:link, button:visited {
  color: #000;
}
button.el_btn__submit {
  width: 100%;
  max-width: 100%;
  cursor: pointer;
  color: #fff;
  background-color: #000000;
  border: 1px solid #000000;
  border-radius: 6px;
  transition: all 0.3s;
}
button.el_btn__submit:hover {
  color: #000000;
  background-color: #fff;
}
button.el_btn__submit:hover:link {
  color: #000000;
}
button.el_btn__submit:hover::after {
  display: none;
}

/*
 * Module Group - Element
 */
.el_btn {
  display: inline-block;
  position: relative;
  color: #000;
  background-color: #fff;
  width: 100%;
  max-width: 340px;
  text-align: center;
  padding: 15px 0.5rem;
  font-size: clamp(0.75rem, 0.6rem + 0.5vw, 1rem);
  font-weight: bold;
  text-decoration: none;
  border: 1px solid #000;
  border-radius: 29px;
}
.el_btn:hover {
  color: #fff;
  background-color: #4191C3;
  border: 1px solid #4191C3;
}
.el_btn:hover:link, .el_btn:hover:visited {
  color: #fff;
}
.el_btn:link, .el_btn:visited {
  color: #000;
}
.el_btn.el_btn__rev {
  color: #fff;
  background-color: #4191C3;
  border: 1px solid #4191C3;
}
.el_btn.el_btn__rev:hover {
  color: #4191C3;
  background-color: #fff;
}
.el_btn.el_btn__submit {
  width: 100%;
  max-width: 100%;
  cursor: pointer;
  color: #fff;
  background-color: #000000;
  border: 1px solid #000000;
  border-radius: 6px;
  transition: all 0.3s;
}
.el_btn.el_btn__submit:hover {
  color: #000000;
  background-color: #fff;
}
.el_btn.el_btn__submit:hover:link {
  color: #000000;
}
.el_btn.el_btn__submit:hover::after {
  display: none;
}

.el_col {
  display: flex;
  flex-wrap: wrap;
}

.el_col_1_4 {
  width: 25%;
}

.el_col_2_4 {
  width: 50%;
}

.el_col_3_4 {
  width: 75%;
}

.el_col_1_5 {
  width: 20%;
}

.el_col_2_5 {
  width: 40%;
}

.el_col_3_5 {
  width: 60%;
}

.el_col_4_5 {
  width: 80%;
}

.el_col_grow {
  flex-grow: 1;
}

.el_col__news .el_col_news {
  margin-right: 4%;
  width: 25%;
}
@media screen and (max-width: 896px) {
  .el_col__news .el_col_news {
    margin-right: 0;
    margin-bottom: 40px;
    width: 100%;
  }
}
.el_col__news .el_col_grow {
  width: 70%;
}
@media screen and (max-width: 896px) {
  .el_col__news .el_col_grow {
    width: 100%;
  }
}

.el_container {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .el_container {
    padding-right: 4%;
    padding-left: 4%;
  }
}

.el_container__cRev.el_container {
  color: #fff;
}

.el_photo {
  position: relative;
  text-align: center;
  line-height: 0;
}

.el_photo__about {
  margin-top: -70px;
}
@media screen and (max-width: 896px) {
  .el_photo__about {
    margin-top: -15px;
  }
}

.el_photo__full > img {
  width: 100%;
}

.el_photo__facility {
  display: flex;
  justify-content: space-between;
  padding-top: 90px;
  padding-bottom: 90px;
  background-color: #F5F5E9;
}
@media (max-width: 896px) {
  .el_photo__facility {
    padding-top: calc(90px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .el_photo__facility {
    padding-top: calc(90px / 2);
  }
}
@media (max-width: 896px) {
  .el_photo__facility {
    padding-bottom: calc(90px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .el_photo__facility {
    padding-bottom: calc(90px / 2);
  }
}
.el_photo__facility > img {
  width: 33%;
}
.el_photo__facility > img:nth-child(1) {
  transform: translateX(-15%);
}
.el_photo__facility > img:nth-child(3) {
  transform: translateX(15%);
}

.el_bihin {
  position: relative;
  background: #f5f5f5;
  padding: 20px 1.5em 10px;
  font-size: 70%;
}
.el_bihin ul li {
  display: inline-block;
  margin-bottom: 10px;
}
.el_bihin ul li::after {
  content: '/';
  padding: 0 0.5em;
}
.el_bihin ul li:last-child::after {
  display: none;
}

/*
 * Helper Group
 */
.hp_dSpPc {
  display: none;
}
@media screen and (max-width: 1280px) {
  .hp_dSpPc {
    display: block;
  }
}

.hp_dSp {
  display: none;
}
@media screen and (max-width: 479px) {
  .hp_dSp {
    display: block;
  }
}

@media screen and (max-width: 479px) {
  .sp_none {
    display: none;
  }
}

.hp_base {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .hp_base {
    padding-right: 4%;
    padding-left: 4%;
  }
}

.hp_ffMin {
  font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.hp_fs1_8 {
  font-size: clamp(0.8125rem, 0.625rem + 0.625vw, 1.125rem);
}

.hp_fs2 {
  font-size: clamp(0.875rem, 0.65rem + 0.75vw, 1.25rem);
}

.hp_tar {
  text-align: right;
}

.hp_tac {
  text-align: center;
}

.hp_tal {
  text-align: left;
}

.hp_cWt {
  color: #fff;
}

.hp_cSub {
  color: #B40019;
}
.hp_cSub:visited {
  color: #B40019;
}

.hp_fwB {
  font-weight: bold;
}

.hp_ls0_1 {
  letter-spacing: 0.1em;
}

.hp_bgcBlack {
  background-color: #000;
}

.hp_bgcLorange {
  background-color: #F5F5E9;
}

.hp_bgcGray {
  background-color: #F6F6F6;
}

.hp_mt100 {
  margin-top: 100px;
}
@media (max-width: 896px) {
  .hp_mt100 {
    margin-top: calc(100px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_mt100 {
    margin-top: calc(100px / 2);
  }
}

.hp_mt120 {
  margin-top: 120px;
}
@media (max-width: 896px) {
  .hp_mt120 {
    margin-top: calc(120px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_mt120 {
    margin-top: calc(120px / 2);
  }
}

.hp_mt160 {
  margin-top: 160px;
}
@media (max-width: 896px) {
  .hp_mt160 {
    margin-top: calc(160px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_mt160 {
    margin-top: calc(160px / 2);
  }
}

.hp_mr40 {
  margin-right: 40px;
}
@media (max-width: 896px) {
  .hp_mr40 {
    margin-right: calc(40px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_mr40 {
    margin-right: calc(40px / 2);
  }
}

.hp_mr50 {
  margin-right: 50px;
}
@media (max-width: 896px) {
  .hp_mr50 {
    margin-right: calc(50px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_mr50 {
    margin-right: calc(50px / 2);
  }
}

.hp_mb10 {
  margin-bottom: 10px;
}

.hp_mb20 {
  margin-bottom: 20px;
}
@media (max-width: 896px) {
  .hp_mb20 {
    margin-bottom: calc(20px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_mb20 {
    margin-bottom: calc(20px / 2);
  }
}

.hp_mb30 {
  margin-bottom: 30px;
}
@media (max-width: 896px) {
  .hp_mb30 {
    margin-bottom: calc(30px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_mb30 {
    margin-bottom: calc(30px / 2);
  }
}

.hp_mb40 {
  margin-bottom: 40px;
}
@media (max-width: 896px) {
  .hp_mb40 {
    margin-bottom: calc(40px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_mb40 {
    margin-bottom: calc(40px / 2);
  }
}

.hp_mb50 {
  margin-bottom: 50px;
}
@media (max-width: 896px) {
  .hp_mb50 {
    margin-bottom: calc(50px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_mb50 {
    margin-bottom: calc(50px / 2);
  }
}

.hp_mb60 {
  margin-bottom: 60px;
}
@media (max-width: 896px) {
  .hp_mb60 {
    margin-bottom: calc(60px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_mb60 {
    margin-bottom: calc(60px / 2);
  }
}

.hp_mb70 {
  margin-bottom: 70px;
}
@media (max-width: 896px) {
  .hp_mb70 {
    margin-bottom: calc(70px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_mb70 {
    margin-bottom: calc(70px / 2);
  }
}

.hp_mb80 {
  margin-bottom: 80px;
}
@media (max-width: 896px) {
  .hp_mb80 {
    margin-bottom: calc(80px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_mb80 {
    margin-bottom: calc(80px / 2);
  }
}

.hp_mb100 {
  margin-bottom: 100px;
}
@media (max-width: 896px) {
  .hp_mb100 {
    margin-bottom: calc(100px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_mb100 {
    margin-bottom: calc(100px / 2);
  }
}

.hp_mb120 {
  margin-bottom: 120px;
}
@media (max-width: 896px) {
  .hp_mb120 {
    margin-bottom: calc(120px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_mb120 {
    margin-bottom: calc(120px / 2);
  }
}

.hp_mb130 {
  margin-bottom: 130px;
}
@media (max-width: 896px) {
  .hp_mb130 {
    margin-bottom: calc(130px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_mb130 {
    margin-bottom: calc(130px / 2);
  }
}

.hp_mb140 {
  margin-bottom: 140px;
}
@media (max-width: 896px) {
  .hp_mb140 {
    margin-bottom: calc(140px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_mb140 {
    margin-bottom: calc(140px / 2);
  }
}

.hp_mb150 {
  margin-bottom: 150px;
}
@media (max-width: 896px) {
  .hp_mb150 {
    margin-bottom: calc(150px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_mb150 {
    margin-bottom: calc(150px / 2);
  }
}

.hp_mb160 {
  margin-bottom: 160px;
}
@media (max-width: 896px) {
  .hp_mb160 {
    margin-bottom: calc(160px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_mb160 {
    margin-bottom: calc(160px / 2);
  }
}

.hp_mb180 {
  margin-bottom: 180px;
}
@media (max-width: 896px) {
  .hp_mb180 {
    margin-bottom: calc(180px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_mb180 {
    margin-bottom: calc(180px / 2);
  }
}

.hp_mb300 {
  margin-bottom: 300px;
}
@media (max-width: 896px) {
  .hp_mb300 {
    margin-bottom: calc(300px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_mb300 {
    margin-bottom: calc(300px / 2);
  }
}

.hp_space {
  padding-right: 4%;
  padding-left: 4%;
}

.hp_pt40 {
  padding-top: 40px;
}
@media (max-width: 896px) {
  .hp_pt40 {
    padding-top: calc(40px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_pt40 {
    padding-top: calc(40px / 2);
  }
}

.hp_pt90 {
  padding-top: 90px;
}
@media (max-width: 896px) {
  .hp_pt90 {
    padding-top: calc(90px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_pt90 {
    padding-top: calc(90px / 2);
  }
}

.hp_pt120 {
  padding-top: 120px;
}
@media (max-width: 896px) {
  .hp_pt120 {
    padding-top: calc(120px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_pt120 {
    padding-top: calc(120px / 2);
  }
}

.hp_pb40 {
  padding-bottom: 40px;
}
@media (max-width: 896px) {
  .hp_pb40 {
    padding-bottom: calc(40px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_pb40 {
    padding-bottom: calc(40px / 2);
  }
}

.hp_pb90 {
  padding-bottom: 90px;
}
@media (max-width: 896px) {
  .hp_pb90 {
    padding-bottom: calc(90px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_pb90 {
    padding-bottom: calc(90px / 2);
  }
}

.hp_pb120 {
  padding-bottom: 120px;
}
@media (max-width: 896px) {
  .hp_pb120 {
    padding-bottom: calc(120px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_pb120 {
    padding-bottom: calc(120px / 2);
  }
}

.hp_ptb100 {
  padding-top: 100px;
  padding-bottom: 100px;
}
@media (max-width: 896px) {
  .hp_ptb100 {
    padding-top: calc(100px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_ptb100 {
    padding-top: calc(100px / 2);
  }
}
@media (max-width: 896px) {
  .hp_ptb100 {
    padding-bottom: calc(100px * 2 / 3);
  }
}
@media (max-width: 480px) {
  .hp_ptb100 {
    padding-bottom: calc(100px / 2);
  }
}

.hp_wsnw {
  white-space: nowrap;
}

/*
 * Unique Group
 */
/*
 * program Group
 */
/*
 * Original Group
 */
header .header_menu {
  display: none;
  position: absolute;
  right: 18px;
  top: 12px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  z-index: 1000;
}
header .header_menu div {
  position: relative;
}
header .header_menu span {
  display: block;
  position: absolute;
  height: 1px;
  width: 100%;
  background: #fff;
  left: 0;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}
header .header_menu span:nth-child(1) {
  top: 10px;
}
header .header_menu span:nth-child(2) {
  top: 20px;
}
header .header_menu span:nth-child(3) {
  top: 30px;
}
@media screen and (max-width: 1280px) {
  header .header_menu {
    display: block;
  }
}
header .header_menu.open span:nth-child(1) {
  top: 20px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
  background: #000;
}
header .header_menu.open span:nth-child(2) {
  width: 0;
  left: 50%;
}
header .header_menu.open span:nth-child(3) {
  top: 20px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
  background: #000;
}

#spNav {
  display: none;
  flex-wrap: wrap;
  justify-content: space-between;
  position: fixed;
  left: 0;
  top: 0px;
  width: 100%;
  height: -webkit-calc(100vh);
  height: calc(100vh);
  background: white;
  text-align: center;
  padding: 3vh 4% 4vh;
  z-index: 999;
  overflow: auto;
}
#spNav .logo {
  opacity: 0;
  padding: 10px 28% 20px;
}
#spNav .flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#spNav ul {
  opacity: 0;
  margin: 0 auto;
  margin-bottom: 30px;
  max-width: 1000px;
}
#spNav ul li {
  border-bottom: 1px solid #C9C9C9;
}
#spNav ul li a {
  display: block;
  width: 100%;
  line-height: 6.2vh;
  color: #fff;
  text-decoration: none;
  color: #333;
}
#spNav .spNav_inn {
  margin-bottom: 20px;
}
#spNav .spNav_inn .spNav_title {
  margin-bottom: 10px;
}
#spNav .spNav_inn .spNav_title span {
  display: block;
  background: #7A7474;
  color: #fff;
  text-align: center;
  padding: 18px 1em;
  font-size: 1.6rem;
}
#spNav .spNav_inn .spNav_title .spNav_menu_toggle {
  display: none;
}
#spNav .spNav_inn .spNav_title .spNav_menu_toggle ul li .spNav_title_sub {
  background: #D6D2D2;
  padding: 8px 1em;
  font-size: 1.4rem;
}
#spNav .spNav_inn .spNav_title .spNav_menu_toggle ul li .spNav_link {
  padding: 10px 0;
  font-size: 1.3rem;
}
#spNav .spNav_inn .spNav_title .spNav_menu_toggle ul li .spNav_link a {
  display: inline-block;
  margin: 0 0.8em 8px;
}
#spNav .spNav_pere {
  text-align: center;
}

.dl01s {
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
}

.dl02s {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

.dl03s {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}

.dl04s {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

.dl05s {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.dl06s {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}

.dl07s {
  -webkit-animation-delay: 0.7s;
  animation-delay: 0.7s;
}

.dl08s {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
}

.dl09s {
  -webkit-animation-delay: 0.9s;
  animation-delay: 0.9s;
}

.dl1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.dl15s {
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s;
}

.dl2s {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}

.dl25s {
  -webkit-animation-delay: 2.5s;
  animation-delay: 2.5s;
}

.dl3s {
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}

.dl35s {
  -webkit-animation-delay: 3.5s;
  animation-delay: 3.5s;
}

.dl4s {
  -webkit-animation-delay: 4s;
  animation-delay: 4s;
}

.dl45s {
  -webkit-animation-delay: 4.5s;
  animation-delay: 4.5s;
}

.dl5s {
  -webkit-animation-delay: 5s;
  animation-delay: 5s;
}

.dl55s {
  -webkit-animation-delay: 5.5s;
  animation-delay: 5.5s;
}

.dl6s {
  -webkit-animation-delay: 6s;
  animation-delay: 6s;
}

.dl65s {
  -webkit-animation-delay: 6.5s;
  animation-delay: 6.5s;
}

.dl7s {
  -webkit-animation-delay: 7s;
  animation-delay: 7s;
}

.dl75s {
  -webkit-animation-delay: 7.5s;
  animation-delay: 7.5s;
}

.dl8s {
  -webkit-animation-delay: 8s;
  animation-delay: 8s;
}

.dl85s {
  -webkit-animation-delay: 8.5s;
  animation-delay: 8.5s;
}

.dl9s {
  -webkit-animation-delay: 9s;
  animation-delay: 9s;
}

.dl95s {
  -webkit-animation-delay: 9.5s;
  animation-delay: 9.5s;
}
