@charset "UTF-8";
@import url(html5reset-1.6.1.css);
@import url(gNavi.css);
/***-----------------------------------
メディアクエリ一括定義の実例
-----------------------------------***/
/***-----------------------------------
base
-----------------------------------***/
html, .ttl span, .info__ttl span, .topics__ttl span, .recommendbridal__ttl span, .standard__ttl span, .japanese__ttl span, .photoplan__ttl span, .kizuna__ttl span, .story__ttl span, .anniversary-plan__head-ttl span, .yoyaku__tab-body-item-ttl span, .yoyaku-restaurant__ttl span, .service__ttl span, .contact__ttl span, .nav__hotel-ttl span, .nav__hotel-member h3 span, .nav__hotel h3 span, .nav__restaurant-ttl span, .kv--bridal__copy span, .kv--restaurant__copy span, .recommend__slide-txt-date span span, .features__head-ttl span, .story__item .box h3 span, .entry__content .entry__body h1 small, .entry__content .entry__body h2 small, .entry__content .entry__body h3 small, .entry__content .entry__body h4 small, .entry__content .entry__body .news p.lead, .entry__content .entry__body .contact-form h1 small, .entry__content .entry__body .contact-form p.lead {
  font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
}

/***-----------------------------------
MGH
-----------------------------------***/
.ttl, .info__ttl, .topics__ttl, .recommendbridal__ttl, .standard__ttl, .japanese__ttl, .photoplan__ttl, .kizuna__ttl, .story__ttl, .anniversary-plan__head-ttl, .yoyaku__tab-body-item-ttl, .yoyaku-restaurant__ttl, .service__ttl, .contact__ttl, .nav__hotel-ttl, .nav__hotel-member h3, .nav__hotel h3, .nav__restaurant-ttl, .header__spnav-ttl, .features__head-ttl, .reservation__wrap-item-ttl, .variety__item a h3, .yoyaku__tab-body-item-ttl span, .yoyaku-restaurant__ttl span, .service__ttl span, .entry__content .entry__body h1, .entry__content .entry__body h2, .entry__content .entry__body .contact-form h1 {
  font-family: mrs-eaves-xl-serif, serif;
  font-weight: 400;
  font-style: normal;
}

.plan__head-more a, .style__head-more a, .voice__wrap-txt-ttl-more, .entry__content .entry__body .wrap .wrap-item .button--more a, .entry__content .entry__body .news-list__btn--prev a, .entry__content .entry__body .news-list__btn--next a, .entry__content .entry__body .news-list__pagination li a {
  font-family: mrs-eaves-xl-serif, serif;
  font-weight: 400;
  font-style: italic;
}

.kv--bridal__copy, .kv--restaurant__copy, .recommend__head-ttl span, .recommend__slide-txt-date, .info__tab-head-item, .info__tab-body-wrap-item-wrap-txt-type, .restaurant-L__txt h4, .restaurant-M__txt h4, .restaurant-LW__txt h4, .restaurant-MW__txt h4, .plan__body-photo-ttl span, .style__body-photo-ttl span, .story__item .box h3, .service__item h4, .entry__content .entry__body .news__tag, .entry__content .entry__body .news__item--tag {
  font-family: mrs-eaves-xl-serif, serif;
  font-weight: 700;
  font-style: normal;
}

.features__body-ttl {
  font-family: dulcinea, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.footer__copyright {
  font-family: roboto, sans-serif;
  font-weight: 400;
  font-style: normal;
}

/***-----------------------------------
MGH-JP
-----------------------------------***/
.features__head-description, .features__body-wrap-txt-description, .restaurant-L__description, .restaurant-M__description, .restaurant-LW__description, .restaurant-MW__description, .anniversary-plan__head h3, .anniversary-plan__head p, .service__description, .entry__content .entry__body h4 {
  font-family: vdl-v7mincho, sans-serif;
  font-weight: 500;
  font-style: normal;
}

.kv--hotel__copy, .movie p, .recommend__head-ttl, .features__body-wrap-txt-ttl, .restaurant-L__txt h3, .restaurant-M__txt h3, .restaurant-LW__txt h3, .restaurant-MW__txt h3, .plan__head-lead, .plan__head-ttl, .style__head-lead, .style__head-ttl, .voice__wrap-txt-description, .voice__wrap-txt-ttl, .anniversary-plan__item-ttl, .yoyaku__tab-body-item-description, .yoyaku__tab-body-item h3, .yoyaku-restaurant h3, .service__item h3, .service__item p, .nav__hotel-member h3, .nav__hotel h3, .nav__restaurant h3, .entry__content .entry__body h3, .entry__content .entry__body .lead, .entry__content .entry__body .news h1, .entry__content .entry__body .news h2, .entry__content .entry__body .news h3, .entry__content .entry__body .news h3 small {
  font-family: vdl-v7mincho, sans-serif;
  font-weight: 700;
  font-style: normal;
}

.info__tab-link a {
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 700;
  font-style: normal;
}

html {
  font-size: 62.5%;
  color: #151515;
}

p {
  font-size: 1.4rem;
}

img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

a {
  text-decoration: none;
  color: #151515;
  transition: 0.0s ease-out;
}

a:hover {
  opacity: 0.65;
}

@media screen and (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

/***-----------------------------------
pcとspでの表示非表示
-----------------------------------***/
.pc {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

/***-----------------------------------
default
-----------------------------------***/
.str {
  font-weight: bold;
}

.ul {
  text-decoration: underline;
}

.container, .recommend__container, .pickup__container, .info__container, .info__container--hotel, .topics__container, .inquiry__container, .features__container, .restaurant-L__container, .restaurant-M__container, .restaurant-LW__container, .restaurant-MW__container, .plan__container, .style__container, .voice__container, .reservation__container, .yoyaku__tab-body-item, .yoyaku-restaurant__container, .service__container, .contact__container {
  width: 100%;
  margin: 0 auto;
  padding: 0 16px;
  box-sizing: border-box;
}

.ttl, .info__ttl, .topics__ttl, .recommendbridal__ttl, .standard__ttl, .japanese__ttl, .photoplan__ttl, .kizuna__ttl, .story__ttl, .anniversary-plan__head-ttl, .yoyaku__tab-body-item-ttl, .yoyaku-restaurant__ttl, .service__ttl, .contact__ttl, .nav__hotel-ttl, .nav__hotel-member h3, .nav__hotel h3, .nav__restaurant-ttl {
  font-size: 3.2rem;
  text-align: center;
  margin-bottom: 32px;
}
@media screen and (min-width: 769px) {
  .ttl, .info__ttl, .topics__ttl, .recommendbridal__ttl, .standard__ttl, .japanese__ttl, .photoplan__ttl, .kizuna__ttl, .story__ttl, .anniversary-plan__head-ttl, .yoyaku__tab-body-item-ttl, .yoyaku-restaurant__ttl, .service__ttl, .contact__ttl, .nav__hotel-ttl, .nav__hotel-member h3, .nav__hotel h3, .nav__restaurant-ttl {
    font-size: 3.8rem;
    margin-bottom: 24px;
  }
}
.ttl span, .info__ttl span, .topics__ttl span, .recommendbridal__ttl span, .standard__ttl span, .japanese__ttl span, .photoplan__ttl span, .kizuna__ttl span, .story__ttl span, .anniversary-plan__head-ttl span, .yoyaku__tab-body-item-ttl span, .yoyaku-restaurant__ttl span, .service__ttl span, .contact__ttl span, .nav__hotel-ttl span, .nav__hotel-member h3 span, .nav__hotel h3 span, .nav__restaurant-ttl span {
  display: block;
  font-size: 1.4rem;
  font-weight: bold;
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .ttl span, .info__ttl span, .topics__ttl span, .recommendbridal__ttl span, .standard__ttl span, .japanese__ttl span, .photoplan__ttl span, .kizuna__ttl span, .story__ttl span, .anniversary-plan__head-ttl span, .yoyaku__tab-body-item-ttl span, .yoyaku-restaurant__ttl span, .service__ttl span, .contact__ttl span, .nav__hotel-ttl span, .nav__hotel-member h3 span, .nav__hotel h3 span, .nav__restaurant-ttl span {
    margin-top: 8px;
  }
}

.btn, .header__spnav-btn--reserve, .header__spnav-btn--recommend, .header__spnav-btn--document, .header__spnav-btn--consul, .header__spnav-btn--hotel--reserve, .header__spnav-btn--hotel--rice-at-home, .header__btn--reserve, .header__btn--rice-at-home, .header__add--hotel, .recommend__body .recommend__btn, .recommend__slide-btn a, .info__tab-link a, .inquiry__head, .inquiry__body-link, .reservation__wrap-item--reserve, .reservation__wrap-item--recommend, .reservation__wrap-item-wrap--consul, .reservation__wrap-item-wrap--document, .reservation__wrap-item--mail, .yoyaku__tab-body-item-wrap--date, .yoyaku__tab-body-item-wrap--plan, .yoyaku__tab-body-item--regist, .yoyaku__tab-body-item--rice-at-home, .nav__hotel--date, .nav__hotel--plan, .nav__hotel--regist, .nav__restaurant--rice-at-home {
  display: block;
  background: #3CBEEA;
  height: 44px;
  font-size: 1.4rem;
  line-height: 44px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  position: relative;
}
.btn::before, .header__spnav-btn--reserve::before, .header__spnav-btn--recommend::before, .header__spnav-btn--document::before, .header__spnav-btn--consul::before, .header__spnav-btn--hotel--reserve::before, .header__spnav-btn--hotel--rice-at-home::before, .header__btn--reserve::before, .header__btn--rice-at-home::before, .header__add--hotel::before, .recommend__body .recommend__btn::before, .recommend__slide-btn a::before, .info__tab-link a::before, .inquiry__head::before, .inquiry__body-link::before, .reservation__wrap-item--reserve::before, .reservation__wrap-item--recommend::before, .reservation__wrap-item-wrap--consul::before, .reservation__wrap-item-wrap--document::before, .reservation__wrap-item--mail::before, .yoyaku__tab-body-item-wrap--date::before, .yoyaku__tab-body-item-wrap--plan::before, .yoyaku__tab-body-item--regist::before, .yoyaku__tab-body-item--rice-at-home::before, .nav__hotel--date::before, .nav__hotel--plan::before, .nav__hotel--regist::before, .nav__restaurant--rice-at-home::before {
  content: '';
  width: 1.0em;
  height: 1.0em;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 50%;
  right: 16px;
  margin-top: -0.6em;
  transform: rotate(45deg) scale(0.5);
}

.contactbtn, .header__spnav-btn--hotel--restaurant, .header__spnav-contact__mail, .header__spnav-contact__tel, .reservation__wrap-item-btn, .yoyaku__tab-body-item-tel--restaurant, .yoyaku__tab-body-item-tel--rice-at-home, .yoyaku-restaurant__tel, .contact__tel, .contact__mail, .nav__hotel-item, .nav__restaurant-tel--restaurant, .nav__restaurant-tel--rice-at-home {
  display: block;
  border: 1px solid #bbb;
  height: 44px;
  font-size: 1.4rem;
  line-height: 44px;
  font-weight: bold;
  padding: 0 16px;
  box-sizing: border-box;
  position: relative;
}
.contactbtn span, .header__spnav-btn--hotel--restaurant span, .header__spnav-contact__mail span, .header__spnav-contact__tel span, .reservation__wrap-item-btn span, .yoyaku__tab-body-item-tel--restaurant span, .yoyaku__tab-body-item-tel--rice-at-home span, .yoyaku-restaurant__tel span, .contact__tel span, .contact__mail span, .nav__hotel-item span, .nav__restaurant-tel--restaurant span, .nav__restaurant-tel--rice-at-home span {
  display: inline-block;
  border-left: 1px solid #bbb;
  background: #333;
  width: 56px;
  height: 42px;
  position: absolute;
  top: 0;
  right: 0;
  text-align: center;
}
.contactbtn span svg, .header__spnav-btn--hotel--restaurant span svg, .header__spnav-contact__mail span svg, .header__spnav-contact__tel span svg, .reservation__wrap-item-btn span svg, .yoyaku__tab-body-item-tel--restaurant span svg, .yoyaku__tab-body-item-tel--rice-at-home span svg, .yoyaku-restaurant__tel span svg, .contact__tel span svg, .contact__mail span svg, .nav__hotel-item span svg, .nav__restaurant-tel--restaurant span svg, .nav__restaurant-tel--rice-at-home span svg {
  width: 16px;
  fill: #fff;
  position: relative;
  top: 1px;
}

.accordion::before, .header__spnav-col .fair-btn::before, .header__spnav-col .ceremony-btn::before, .header__spnav-col .party-btn::before, .header__spnav-col .cuisine-btn::before, .header__spnav-col .plan-btn::before, .header__spnav-col .style-btn::before, .header__spnav-col .stay-btn::before, .header__spnav-col .restaurant-btn::before, .header__spnav-col .meeting-btn::before, .plan__head-txt::before, .style__head-txt::before, .recommendbridal__head::before, .recommendbridal__body .circle1::before, .recommendbridal__body .circle2::before, .recommendbridal__body .circle3::before, .recommendbridal__body .circle4::before, .recommendbridal__body .circle5::before {
  content: '';
  background: #151515;
  width: 12px;
  height: 2px;
  border-radius: 1px;
  position: absolute;
  top: 50%;
  right: 16px;
}
.accordion::after, .header__spnav-col .fair-btn::after, .header__spnav-col .ceremony-btn::after, .header__spnav-col .party-btn::after, .header__spnav-col .cuisine-btn::after, .header__spnav-col .plan-btn::after, .header__spnav-col .style-btn::after, .header__spnav-col .stay-btn::after, .header__spnav-col .restaurant-btn::after, .header__spnav-col .meeting-btn::after, .plan__head-txt::after, .style__head-txt::after, .recommendbridal__head::after, .recommendbridal__body .circle1::after, .recommendbridal__body .circle2::after, .recommendbridal__body .circle3::after, .recommendbridal__body .circle4::after, .recommendbridal__body .circle5::after {
  content: '';
  background: #151515;
  width: 2px;
  height: 12px;
  border-radius: 1px;
  position: absolute;
  top: 50%;
  right: 21px;
  transform: translateY(-5px);
}
.accordion.active::before, .header__spnav-col .active.fair-btn::before, .header__spnav-col .active.ceremony-btn::before, .header__spnav-col .active.party-btn::before, .header__spnav-col .active.cuisine-btn::before, .header__spnav-col .active.plan-btn::before, .header__spnav-col .active.style-btn::before, .header__spnav-col .active.stay-btn::before, .header__spnav-col .active.restaurant-btn::before, .header__spnav-col .active.meeting-btn::before, .active.plan__head-txt::before, .active.style__head-txt::before, .active.recommendbridal__head::before, .recommendbridal__body .active.circle1::before, .recommendbridal__body .active.circle2::before, .recommendbridal__body .active.circle3::before, .recommendbridal__body .active.circle4::before, .recommendbridal__body .active.circle5::before {
  content: '';
  background: #151515;
  width: 12px;
  height: 2px;
  border-radius: 1px;
  position: absolute;
  top: 50%;
  right: 16px;
}
.accordion.active::after, .header__spnav-col .active.fair-btn::after, .header__spnav-col .active.ceremony-btn::after, .header__spnav-col .active.party-btn::after, .header__spnav-col .active.cuisine-btn::after, .header__spnav-col .active.plan-btn::after, .header__spnav-col .active.style-btn::after, .header__spnav-col .active.stay-btn::after, .header__spnav-col .active.restaurant-btn::after, .header__spnav-col .active.meeting-btn::after, .active.plan__head-txt::after, .active.style__head-txt::after, .active.recommendbridal__head::after, .recommendbridal__body .active.circle1::after, .recommendbridal__body .active.circle2::after, .recommendbridal__body .active.circle3::after, .recommendbridal__body .active.circle4::after, .recommendbridal__body .active.circle5::after {
  display: none;
}

.prev, .standard__item a, .japanese__item a, .photoplan__item a, .kizuna__item a {
  display: block;
}
.prev::before, .standard__item a::before, .japanese__item a::before, .photoplan__item a::before, .kizuna__item a::before {
  content: '';
  border: 1px solid #151515;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translate(0, -50%);
  z-index: 10000;
}
@media screen and (min-width: 769px) {
  .prev::before, .standard__item a::before, .japanese__item a::before, .photoplan__item a::before, .kizuna__item a::before {
    width: 44px;
    height: 44px;
    right: auto;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 40px;
  }
}
.prev::after, .standard__item a::after, .japanese__item a::after, .photoplan__item a::after, .kizuna__item a::after {
  content: '';
  border-top: 1px solid #151515;
  border-right: 1px solid #151515;
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translate(0, -50%) rotate(45deg);
}
@media screen and (min-width: 769px) {
  .prev::after, .standard__item a::after, .japanese__item a::after, .photoplan__item a::after, .kizuna__item a::after {
    width: 14px;
    height: 14px;
    right: auto;
    left: 50%;
    transform: translate(-70%, -50%) rotate(45deg);
    margin-top: 40px;
  }
}

/***-----------------------------------
style
-----------------------------------***/
.header {
  position: relative;
}
@media screen and (min-width: 769px) {
  .header {
    width: 100%;
    /*position: fixed;*/
    z-index: 60000;
  }
}
.header--bridal {
  background: #fff;
  border-bottom: 1px solid #bbb;
  box-sizing: border-box;
  width: 100%;
  height: 65px;
  position: absolute;
  top: 0;
  z-index: 60000;
}
@media screen and (min-width: 769px) {
  .header--bridal {
    border-bottom: 1px solid #eee;
    width: 100%;
    height: 122px;
  }
}
.header--hotel {
  /*background: rgba(51, 51, 51, 0.00);*/
  background: #333333;
  width: 100%;
  height: 64px;
  position: fixed;
  top: 0;
  z-index: 60000;
}
@media screen and (min-width: 769px) {
  .header--hotel {
    background: rgba(21, 21, 21, 0.8);
    height: 120px;
  }
}
.header--restaurant {
  background: #333;
  width: 100%;
  height: 64px;
  position: fixed;
  top: 0;
  z-index: 60000;
}
@media screen and (min-width: 769px) {
  .header--restaurant {
    background: #333;
    width: 100%;
    height: 123px;
    position: fixed;
  }
}
.header__tel {
  display: block;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 11px;
  left: 5%;
  text-align: center;
  z-index: 10000;
}
@media screen and (min-width: 769px) {
  .header__tel {
    display: none;
  }
}
.header__tel svg {
  width: 20px;
  fill: #151515;
  margin-top: 10px;
}
.header__tel--wedding svg {
  fill: #fff;
}
.header__tel--hotel svg {
  fill: #fff;
}
.header__logo {
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.header__logo a {
  display: inline-block;
}
@media screen and (min-width: 769px) {
  .header__logo a {
    /*pointer-events: none;*/
  }
}
.header__logo a svg {
  width: 186px;
  fill: #fff;
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .header__logo a svg {
    width: 220px;
    margin: 20px auto;
    pointer-events: none;
  }
}
.header__logo a img {
  display: none;
}
.header__logo--bridal a svg {
  width: 200px;
  fill: #151515;
}
@media screen and (min-width: 769px) {
  .header__logo--bridal a svg {
    width: 300px;
    margin: 20px auto;
  }
}
.header__logo--hotel a svg {
  width: 108px;
  fill: #fff;
  margin-top: 9px;
}
@media screen and (min-width: 769px) {
  .header__logo--hotel a svg {
    width: 183px;
    margin: 20px auto;
  }
}
.header__logo--restaurant a svg {
  width: 92px;
  fill: #fff;
  margin-top: 12px;
}
@media screen and (min-width: 769px) {
  .header__logo--restaurant a svg {
    width: 144px;
    margin: 11px auto;
  }
}
.header__spnav-toggle {
  display: block;
  width: 48px;
  height: 28px;
  cursor: pointer;
  position: absolute;
  top: 16px;
  right: 5.3%;
  z-index: 50000;
}
@media screen and (min-width: 769px) {
  .header__spnav-toggle {
    display: none;
  }
}
.header__spnav-toggle span {
  display: block;
  position: absolute;
  width: 48px;
  border-bottom: 2px solid #fff;
  transition: 0.2s ease-out;
}
.header__spnav-toggle span:nth-child(1) {
  top: 7px;
}
.header__spnav-toggle span:nth-child(2) {
  top: 14px;
}
.header__spnav-toggle span:nth-child(3) {
  top: 21px;
}
.header__spnav-toggle.active span:nth-child(1) {
  top: 14px;
  transform: rotate(-45deg);
}
.header__spnav-toggle.active span:nth-child(2) {
  top: 14px;
  transform: rotate(45deg);
}
.header__spnav-toggle.active span:nth-child(3) {
  top: 14px;
  transform: rotate(45deg);
}
.header__spnav-toggle--hotel {
  position: absolute;
}
.header__spnav-toggle--hotel span {
  border-bottom: 1px solid #fff;
}
.header__spnav-toggle--hotel.active span:nth-child(1) {
  top: 14px;
  transform: rotate(-45deg);
  border-bottom: 1px solid #bbb;
}
.header__spnav-toggle--hotel.active span:nth-child(2) {
  top: 14px;
  transform: rotate(45deg);
  border-bottom: 1px solid #bbb;
}
.header__spnav-toggle--hotel.active span:nth-child(3) {
  top: 14px;
  transform: rotate(45deg);
  border-bottom: 1px solid #bbb;
}
.header__spnav-toggle--bridal span {
  border-bottom: 2px solid #333;
}
.header__spnav {
  display: none;
  background: #F8F8F8;
  width: 100%;
  height: 100%;
  padding: 0 16px 40px;
  box-sizing: border-box;
  position: fixed;
  top: 0;
  overflow-y: scroll;
  z-index: 40000;
}
.header__spnav--hotel {
  background: #1F1F1F;
  padding: 0 16px 112px;
}
.header__spnav-logo {
  display: block;
  text-align: center;
}
.header__spnav-logo svg {
  width: 186px;
  fill: #151515;
  margin-top: 16px;
}
.header__spnav-logo--hotel svg {
  width: 127px;
  fill: #bbb;
  margin-top: 24px;
}
.header__spnav-ttl {
  font-size: 2.4rem;
  text-align: center;
  margin-top: 24px;
}
.header__spnav-ttl span {
  font-size: 1.8rem;
}
.header__spnav-ttl--hotel {
  font-size: 3.2rem;
  line-height: 27px;
  color: #bbb;
  margin-top: 24px;
}
.header__spnav-ttl--hotel span {
  display: block;
  font-size: 2.4rem;
}
.header__spnav-btn--reserve {
  height: 72px;
  font-size: 1.6rem;
  line-height: 72px;
  margin-top: 16px;
}
.header__spnav-btn--recommend {
  height: 56px;
  line-height: 56px;
  margin-top: 16px;
}
.header__spnav-btn--document {
  background: #F56891;
  margin-top: 16px;
}
.header__spnav-btn--consul {
  background: #F56891;
  margin-top: 16px;
}
.header__spnav-btn--hotel--reserve {
  background: #520BB2;
  height: 72px;
  font-size: 1.6rem;
  line-height: 72px;
  margin-top: 24px;
}
.header__spnav-btn--hotel--reserve::before {
  transform: rotate(135deg) scale(0.5);
}
.header__spnav-btn--hotel--reserve.active::before {
  transform: translateY(5px) rotate(-45deg) scale(0.5);
}
.header__spnav-btn--hotel--restaurant {
  border: none;
  background: #794A00;
  height: 56px;
  line-height: 56px;
  text-align: center;
  color: #fff;
  margin-top: 16px;
}
.header__spnav-btn--hotel--restaurant span {
  border-left: none;
  background: none;
  width: 48px;
}
.header__spnav-btn--hotel--restaurant span svg {
  width: 20px;
  top: 5px;
}
.header__spnav-btn--hotel--rice-at-home {
  background: #794A00;
  height: 44px;
  font-size: 1.4rem;
  line-height: 44px;
  margin-top: 16px;
}
.header__spnav .reserve-level {
  display: none;
  padding-bottom: 40px;
}
.header__spnav-col {
  border-top: 1px solid #bbb;
  margin-top: 48px;
}
.header__spnav-col--hotel {
  border-top: 1px solid #444;
}
.header__spnav-col-item {
  position: relative;
}
.header__spnav-col-item a {
  display: block;
  border-bottom: 1px solid #bbb;
  height: 58px;
  font-size: 1.4rem;
  line-height: 58px;
  font-weight: bold;
  padding: 0 16px;
}
.header__spnav-col-item--hotel a {
  border-bottom: 1px solid #444;
  color: #bbb;
}
.header__spnav-col .fair-level {
  display: none;
  margin-left: 1rem;
}
.header__spnav-col .ceremony-level {
  display: none;
  margin-left: 1rem;
}
.header__spnav-col .party-level {
  display: none;
  margin-left: 1rem;
}
.header__spnav-col .cuisine-level {
  display: none;
  margin-left: 1rem;
}
.header__spnav-col .plan-level {
  display: none;
  margin-left: 1rem;
}
.header__spnav-col .style-level {
  display: none;
  margin-left: 1rem;
}
.header__spnav-col .stay-btn::before {
  background: #666;
}
.header__spnav-col .stay-btn::after {
  background: #666;
}
.header__spnav-col .stay-btn.active::before {
  background: #666;
}
.header__spnav-col .stay-level {
  display: none;
  margin-left: 1rem;
}
.header__spnav-col .restaurant-btn::before {
  background: #666;
}
.header__spnav-col .restaurant-btn::after {
  background: #666;
}
.header__spnav-col .restaurant-btn.active::before {
  background: #666;
}
.header__spnav-col .restaurant-level {
  display: none;
  margin-left: 1rem;
}
.header__spnav-col .meeting-btn::before {
  background: #666;
}
.header__spnav-col .meeting-btn::after {
  background: #666;
}
.header__spnav-col .meeting-btn.active::before {
  background: #666;
}
.header__spnav-col .meeting-level {
  display: none;
  margin-left: 1rem;
}
.header__spnav-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px 0;
  margin: 0 auto;
}
.header__spnav-wrap-item {
  width: 48.2%;
  padding: 16px 0 0;
}
.header__spnav-wrap-item a {
  display: block;
  border-bottom: 1px solid #bbb;
  height: 56px;
  font-size: 1.2rem;
  line-height: 150%;
  font-weight: bold;
  text-align: center;
  padding-top: 10px;
  box-sizing: border-box;
}
.header__spnav-wrap-item--hotel a {
  border-bottom: 1px solid #666;
  color: #bbb;
}
.header__spnav-contact {
  padding: 40px 16px 0;
}
.header__spnav-contact__mail--hotel {
  color: #bbb;
}
.header__spnav-contact h3 {
  font-size: 1.4rem;
  text-align: center;
  margin-top: 32px;
}
.header__spnav-contact h4 {
  font-size: 1.2rem;
  margin: 24px auto 8px;
}
.header__spnav-contact__tel {
  font-size: 1.2rem;
}
.header__spnav-contact__tel span svg {
  width: 20px;
  top: 5px;
}
.header__spnav-contact__tel--hotel {
  color: #bbb;
}
.header__spnav-contact--hotel h3 {
  color: #bbb;
}
.header__spnav-contact--hotel h4 {
  color: #bbb;
}
.header__spnav-foot h3 {
  font-size: 1.4rem;
  text-align: center;
  margin-top: 40px;
}
.header__spnav-foot--hotel h3 {
  color: #bbb;
}
.header__spnav-foot-address {
  font-size: 1.4rem;
  text-align: center;
  margin-top: 8px;
}
.header__spnav-foot-address--hotel {
  color: #bbb;
}
.header__spnav-foot ul {
  display: flex;
  align-items: center;
  justify-content: center;
}
.header__spnav-foot-item a {
  display: block;
  font-size: 1.2rem;
  text-align: center;
  padding: 32px 16px 0;
}
.header__spnav-foot-item--hotel a {
  color: #bbb;
}
.header__btn {
  display: none;
}
@media screen and (min-width: 769px) {
  .header__btn {
    display: block;
    position: absolute;
    top: 24px;
    right: 24px;
  }
}
.header__btn--bridal {
  top: 0;
  right: 0;
}
@media screen and (min-width: 769px) {
  .header__btn--hotel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    /*width: 424px;*/
    width: 194px;
  }
}
@media screen and (min-width: 769px) {
  .header__btn--restaurant {
    display: flex;
    align-items: center;
    justify-content: space-between;
    /*width: 414px;*/
    width: 194px;
    top: 0;
    right: 0;
  }
}
.header__btn--reserve {
  background: #151515;
  width: 280px;
  height: 48px;
  font-size: 1.3rem;
  line-height: 48px;
  padding-right: 24px;
  box-sizing: border-box;
}
.header__btn--reserve::before {
  border-top: 2px solid #3CBEEA;
  border-right: 2px solid #3CBEEA;
}
.header__btn--reserve--hotel {
  background: #611AC1;
  width: 220px;
  font-size: 1.6rem;
  padding-left: 16px;
  cursor: pointer;
}
.header__btn--reserve--hotel::before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  margin-top: -0.5em;
}
.header__btn--rice-at-home {
  background: #794A00;
  width: 194px;
  height: 48px;
  font-size: 1.4rem;
  /*line-height: 16px;*/
  line-height: 48px;
  padding-right: 24px;
  box-sizing: border-box;
  /*padding-top: 8px;*/
  padding-left: 16px;
  cursor: pointer;
}
.header__btn--rice-at-home::before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.header__add {
  display: none;
}
@media screen and (min-width: 769px) {
  .header__add {
    display: block;
    position: absolute;
    top: 80px;
    right: 24px;
  }
}
.header__add--hotel {
  background: #611AC1;
  width: 220px;
  height: 48px;
  font-size: 1.4rem;
  line-height: 48px;
  padding-left: 16px;
  padding-right: 24px;
  box-sizing: border-box;
}
.header__add--hotel::before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.header__link {
  display: none;
}
@media screen and (min-width: 769px) {
  .header__link {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    /*top: 88px;*/
    top: 136px;
    right: 16px;
  }
}
.header__link--bridal {
  top: 64px;
  right: 8px;
}
.header__link--restaurant {
  top: 60px;
  right: 16px;
}
.header__link-item {
  padding: 0 8px;
}
.header__link-item:nth-child(1) {
  border-right: 1px solid #151515;
}
.header__link-item a {
  display: block;
  text-decoration: underline;
  font-size: 1.2rem;
}
.header__link-item--hotel:nth-child(1) {
  border-right: 1px solid #fff;
}
.header__link-item--hotel a {
  color: #fff;
}
.header__link-item--restaurant:nth-child(1) {
  border-right: 1px solid #fff;
}
.header__link-item--restaurant a {
  text-decoration: none;
  color: #fff;
}

/***-----------------------------------
fixed
-----------------------------------***/
#top-head.fixed {
  background: #fff;
  border-bottom: 1px solid #efefef;
  box-sizing: border-box;
  width: 100%;
  height: 65px;
  position: fixed;
  z-index: 60000;
}
@media screen and (min-width: 769px) {
  #top-head.fixed {
    border-bottom: none;
    height: 48px;
  }
}
#top-head.fixed--bridal {
  background: #fff;
  border-bottom: 1px solid #bbb;
  box-sizing: border-box;
  width: 100%;
  height: 65px;
  position: fixed;
  z-index: 60000;
}
@media screen and (min-width: 769px) {
  #top-head.fixed--bridal {
    border-bottom: none;
    height: 48px;
  }
}
#top-head.fixed .header__tel--wedding svg {
  fill: #151515;
}
#top-head.fixed .header__logo {
  text-align: center;
  position: absolute;
  top: 20px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  #top-head.fixed .header__logo {
    text-align: center;
    position: absolute;
    top: 12px;
    left: 12px;
    right: auto;
    margin: 0 auto;
  }
}
#top-head.fixed .header__logo a svg {
  display: none;
}
#top-head.fixed .header__logo a img {
  display: block;
  height: 24px;
}
#top-head.fixed .header__spnav-toggle span {
  border-bottom: 2px solid #333;
}
#top-head.fixed .header__btn {
  top: 0;
  right: 0;
  z-index: 1;
}
#top-head.fixed .header__add {
  display: none;
}
#top-head.fixed .header__link {
  display: none;
}

.nav__fair {
  display: none;
  background: #F8F8F8;
  width: 100%;
  height: 100%;
  padding: 0;
  box-sizing: border-box;
  position: fixed;
  top: 0;
  overflow-y: scroll;
  z-index: 70000;
  background-color: white;
}
.nav__fair-toggle {
  display: block;
  background: #fff;
  width: 48px;
  height: 48px;
  cursor: pointer;
  position: fixed;
  top: 48px;
  right: 64px;
  z-index: 80000;
}
.nav__fair-toggle span {
  display: block;
  position: absolute;
  width: 48px;
  border-bottom: 1px solid #333;
  transition: 0.2s ease-out;
}
.nav__fair-toggle span:nth-child(1) {
  top: 24px;
  transform: rotate(-45deg);
}
.nav__fair-toggle span:nth-child(2) {
  top: 24px;
  transform: rotate(45deg);
}

.kv {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  height: 100vh;
  width: 100%;
}
@media screen and (min-width: 769px) {
  .kv {
    background-size: cover;
    height: 768px;
    margin: 0 auto;
    /*margin-top: 122px;*/
  }
}
.kv--bridal {
  background: url("../images/bridal_kv_sp_01.jpg?230909");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  height: 0;
  padding-top: 100%;
  position: relative;
}
@media screen and (min-width: 769px) {
  .kv--bridal {
    background: url("../images/bridal_kv_pc_01.jpg?230909");
    background-size: cover;
    width: 100%;
    max-width: 1600px;
    height: 480px;
    padding-top: 0;
    margin: 0 auto;
  }
}
.kv--bridal__copy {
  font-size: 4.2rem;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.kv--bridal__copy span {
  display: block;
  font-size: 1.4rem;
  font-weight: bold;
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .kv--bridal__copy span {
    margin-top: 24px;
  }
}
.kv--hotel {
  background: #1F1F1F;
  position: relative;
  z-index: -2;
}
@media screen and (min-width: 769px) {
  .kv--hotel {
    margin-top: 0;
  }
}
.kv--hotel__copy {
  font-size: 2.4rem;
  line-height: 50px;
  text-align: center;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 769px) {
  .kv--hotel__copy {
    font-size: 3.2rem;
  }
}
.kv--hotel__copy > span {
  display: block;
  font-size: 1.6rem;
  line-height: 24px;
  margin-top: 16px;
}
.kv--hotel__copy > span > span {
  display: block;
}
@media screen and (min-width: 769px) {
  .kv--hotel__copy > span > span {
    display: inline-block;
    width: 16px;
  }
}
.kv--restaurant__container {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  height: 0;
  padding-top: 100%;
  z-index: 10000;
  position: relative;
}
@media screen and (min-width: 769px) {
  .kv--restaurant__container {
    background-size: cover;
    width: 100%;
    max-width: 1600px;
    height: 480px;
    padding-top: 0;
    margin: 0 auto;
  }
}
.kv--restaurant__copy {
  font-size: 3.2rem;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10000;
}
@media screen and (min-width: 769px) {
  .kv--restaurant__copy {
    font-size: 4.2rem;
  }
}
.kv--restaurant__copy span {
  display: block;
  font-size: 1.4rem;
  font-weight: bold;
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .kv--restaurant__copy span {
    margin-top: 24px;
  }
}

.movie {
  overflow: hidden;
  width: 100%;
  max-width: 1920px;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: -1;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 1025px) {
  .movie {
    height: 768px;
  }
}
.movie p {
  position: absolute;
  font-size: 2.4rem;
  line-height: 50px;
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .movie p {
    font-size: 3.2rem;
  }
}
.movie p > span {
  display: block;
  font-size: 1.6rem;
  line-height: 24px;
  margin-top: 16px;
}
.movie p > span > span {
  display: block;
}
@media screen and (min-width: 769px) {
  .movie p > span > span {
    display: inline-block;
    width: 16px;
  }
}

.movie__wedding {
  overflow: hidden;
  /*width: 100%;
  max-width: 1920px;*/
  height: 133vw;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: -1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.movie__wedding::after {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.05);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .movie__wedding {
    height: 100vh;
  }
}
@media screen and (min-width: 1025px) {
  .movie__wedding {
    height: 768px;
  }
}
.movie__wedding video {
  width: 100vw;
}
@media screen and (min-width: 769px) {
  .movie__wedding video {
    width: auto;
  }
}

.recommend {
  padding: 0 16px;
  box-sizing: border-box;
  margin-top: -322px;
}
@media screen and (min-width: 769px) {
  .recommend {
    margin-top: -248px;
  }
}
@media screen and (min-width: 1025px) {
  .recommend {
    padding: 0 0 0 16px;
  }
}
@media screen and (min-width: 1281px) {
  .recommend {
    padding: 0;
  }
}
.recommend__container {
  padding: 16px 16px 32px;
  background: #F8F8F8;
}
@media screen and (min-width: 1281px) {
  .recommend__container {
    padding: 0;
    width: 100%;
    max-width: 1280px;
    height: 188px;
    margin-right: 0;
  }
}
@media screen and (min-width: 1281px) {
  .recommend__inner {
    display: flex;
  }
}
.recommend__head {
  position: relative;
}
@media screen and (min-width: 1281px) {
  .recommend__head {
    width: 290px;
    height: 188px;
    padding-top: 70px;
    padding-left: 40px;
    box-sizing: border-box;
  }
}
.recommend__head-item {
  width: 93px;
  position: absolute;
  top: -64px;
  right: 0;
}
@media screen and (min-width: 1281px) {
  .recommend__head-item {
    width: 112px;
    position: absolute;
    top: -24px;
    right: 16px;
  }
}
.recommend__head-ttl {
  font-size: 2rem;
  text-align: center;
  margin-bottom: 24px;
  position: relative;
}
@media screen and (min-width: 1025px) {
  .recommend__head-ttl {
    font-size: 2.8rem;
  }
}
@media screen and (min-width: 1281px) {
  .recommend__head-ttl {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 1281px) {
  .recommend__head-ttl {
    text-align: left;
  }
}
.recommend__head-ttl::before {
  content: '';
  border-bottom: 1px solid #ddd;
  width: 19.2926045016%;
  position: absolute;
  bottom: 10px;
  left: 0;
}
@media screen and (min-width: 1281px) {
  .recommend__head-ttl::before {
    display: none;
  }
}
.recommend__head-ttl::after {
  content: '';
  border-bottom: 1px solid #ddd;
  width: 19.2926045016%;
  position: absolute;
  bottom: 10px;
  right: 0;
}
@media screen and (min-width: 1281px) {
  .recommend__head-ttl::after {
    display: none;
  }
}
.recommend__head-ttl span {
  display: block;
  font-size: 1.6rem;
  margin-bottom: 4px;
}
@media screen and (min-width: 1025px) {
  .recommend__body {
    position: relative;
  }
}
.recommend__body .recommend__btn {
  background: none;
  border: 1px solid #bbb;
  height: 40px;
  font-size: 1.2rem;
  line-height: 40px;
  /*@extend %font-NotoSansCJKJP-Bold;*/
  color: #151515;
  margin-top: 8px;
}
@media screen and (min-width: 1025px) {
  .recommend__body .recommend__btn {
    border: none;
    width: 230px;
    margin-top: 0;
    position: absolute;
    bottom: 8px;
    right: 64px;
    z-index: 10000;
  }
}
.recommend__body .recommend__btn::before {
  border-top: 2px solid #151515;
  border-right: 2px solid #151515;
}
.recommend .swiper {
  overflow: hidden;
}
@media screen and (min-width: 1025px) {
  .recommend .swiper {
    width: 990px;
    height: 188px;
  }
}
.recommend .swiper-container .swiper-pagination-bullet {
  width: 6px !important;
  height: 6px !important;
  margin: 0 8px !important;
}
@media screen and (min-width: 1025px) {
  .recommend .swiper-container .swiper-pagination-bullet {
    position: relative;
    left: -145px;
    top: -10px;
  }
}
.recommend .swiper-container .swiper-pagination-bullet-active {
  background: #3CBEEA;
}
.recommend .swiper-container .swiper-button-prev {
  display: none;
}
@media screen and (min-width: 1025px) {
  .recommend .swiper-container .swiper-button-prev {
    display: block;
    transform: scale(0.3);
    color: #999;
    position: relative;
    top: -24px;
    left: 215px;
  }
}
.recommend .swiper-container .swiper-button-next {
  display: none;
}
@media screen and (min-width: 1025px) {
  .recommend .swiper-container .swiper-button-next {
    display: block;
    transform: scale(0.3);
    color: #999;
    position: relative;
    top: -46px;
    left: 449px;
  }
}
@media screen and (min-width: 1025px) {
  .recommend__slide {
    display: flex;
  }
}
@media screen and (min-width: 1025px) {
  .recommend__slide-inner {
    display: flex;
  }
}
.recommend__slide-main {
  display: flex;
  justify-content: space-between;
}
.recommend__slide-photo {
  width: 47.5%;
}
@media screen and (min-width: 1025px) {
  .recommend__slide-photo {
    width: 195px;
    height: 188px;
    padding-top: 32px;
    padding-left: 15px;
    box-sizing: border-box;
  }
}
@media screen and (min-width: 1025px) {
  .recommend__slide-photo img {
    width: 180px;
    height: 108px;
    object-fit: cover;
  }
}
.recommend__slide-txt {
  width: 47.5%;
}
@media screen and (min-width: 1025px) {
  .recommend__slide-txt {
    width: 155px;
    height: 188px;
    padding-top: 32px;
    padding-left: 12px;
    box-sizing: border-box;
  }
}
.recommend__slide-txt-date {
  font-size: 2.8rem;
  color: #F56891;
}
@media screen and (min-width: 769px) {
  .recommend__slide-txt-date {
    font-size: 4.2rem;
  }
}
@media screen and (min-width: 1025px) {
  .recommend__slide-txt-date {
    font-size: 4.2rem;
    border-right: 1px solid #bbb;
  }
}
.recommend__slide-txt-date span {
  font-size: 1.6rem;
}
.recommend__slide-txt-date span span {
  font-size: 1.2rem;
}
@media screen and (min-width: 769px) {
  .recommend__slide-txt-date span span {
    display: block;
    font-size: 1.4rem;
  }
}
.recommend__slide-txt-description {
  font-size: 1.3rem;
  line-height: 150%;
  word-wrap: break-word;
  margin-top: 5px;
}
@media screen and (min-width: 769px) {
  .recommend__slide-txt-description {
    margin-top: 16px;
  }
}
@media screen and (min-width: 1025px) {
  .recommend__slide-txt-description {
    width: 395px;
  }
}
.recommend__slide-tag {
  margin: 16px 0;
}
@media screen and (min-width: 769px) {
  .recommend__slide-tag {
    margin: 0;
    width: 265px;
    padding-top: 12px;
    padding-left: 12px;
    box-sizing: border-box;
  }
}
@media screen and (min-width: 1025px) {
  .recommend__slide-tag {
    height: 188px;
    padding-top: 32px;
  }
}
.recommend__slide-tag-item {
  display: inline-block;
  border: 1px solid #F56891;
  height: 22px;
  font-size: 1.2rem;
  line-height: 22px;
  /*@extend %font-NotoSansCJKJP-Medium;*/
  text-align: center;
  color: #F56891;
  border-radius: 11px;
  padding: 0 8px;
  margin-right: 4px;
  margin-bottom: 4px;
}
.recommend__slide-btn {
  margin-bottom: 40px;
}
@media screen and (min-width: 769px) {
  .recommend__slide-btn {
    padding-top: 16px;
    box-sizing: border-box;
  }
}
@media screen and (min-width: 1025px) {
  .recommend__slide-btn {
    margin-bottom: 0;
    width: 375px;
    height: 188px;
    padding-top: 32px;
    padding-left: 16px;
  }
}
.recommend__slide-btn a {
  height: 56px;
  line-height: 56px;
}
@media screen and (min-width: 1025px) {
  .recommend__slide-btn a {
    width: 280px;
  }
}

@media screen and (min-width: 769px) {
  .pickup {
    margin-top: 38px;
  }
}
@media screen and (min-width: 1025px) {
  .pickup {
    margin-top: 58px;
  }
}
@media screen and (min-width: 769px) {
  .pickup__container {
    padding: 48px 16px 0;
  }
}
@media screen and (min-width: 1025px) {
  .pickup__container {
    padding: 48px 0 0;
  }
}
.pickup ul {
  list-style: none;
}
@media screen and (min-width: 769px) {
  .pickup ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
  }
}
.pickup__item {
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .pickup__item {
    margin: 0;
    width: calc((100% - 48px) / 3);
  }
}
.pickup__item a {
  display: block;
}

.info__container {
  padding: 16px;
}
@media screen and (min-width: 769px) {
  .info__container {
    padding: 48px 16px;
  }
}
@media screen and (min-width: 1025px) {
  .info__container {
    padding: 48px 0;
  }
}
.info__container--hotel {
  padding: 48px 16px 80px;
}
@media screen and (min-width: 1025px) {
  .info__container--hotel {
    padding: 120px 0 80px;
  }
}
@media screen and (min-width: 1025px) {
  .info__ttl {
    margin-bottom: 48px;
  }
}
.info__tab-head ul {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (min-width: 769px) {
  .info__tab-head ul {
    max-width: 1000px;
    margin: 0 auto;
  }
}
.info__tab-head-item {
  background: #f8f8f8;
  border: 1px solid #ddd;
  border-bottom: none;
  border-right: none;
  box-sizing: border-box;
  width: 25%;
  height: 52px;
  font-size: 1.3rem;
  line-height: 120%;
  color: #666;
  text-align: center;
  cursor: pointer;
  display: grid;
  place-items: center;
}
@media screen and (min-width: 769px) {
  .info__tab-head-item {
    border: 1px solid #ddd;
    border-right: none;
    font-size: 1.6rem;
    line-height: 52px;
  }
}
.info__tab-head-item:last-child {
  border-right: 1px solid #ddd;
}
.info__tab-head-item--current {
  background: #151515;
  color: #fff;
}
.info__tab-head-item:hover {
  background: #151515;
  color: #fff;
}
.info__tab-head-item--hotel--current {
  background: #611AC1;
  color: #fff;
}
.info__tab-head-item--hotel:hover {
  background: #611AC1;
  color: #fff;
}
.info__tab-add ul li {
  width: 33.3333333333%;
}
.info__tab-add ul li:nth-child(3) {
  display: none;
}
.info__tab-body {
  margin-top: 32px;
}
@media screen and (min-width: 769px) {
  .info__tab-body {
    margin: 32px auto;
  }
}
@media screen and (min-width: 769px) {
  .info__tab-body-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    max-width: 1000px;
    margin: 0 auto;
  }
}
.info__tab-body-wrap-item {
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .info__tab-body-wrap-item {
    width: calc((100% - 72px) / 4);
    margin-right: 24px;
  }
}
@media screen and (min-width: 769px) {
  .info__tab-body-wrap-item:nth-child(4n) {
    margin-right: 0;
  }
}
.info__tab-body-wrap-item a {
  display: block;
}
.info__tab-body-wrap-item-wrap {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media screen and (min-width: 769px) {
  .info__tab-body-wrap-item-wrap {
    flex-wrap: wrap;
  }
}
.info__tab-body-wrap-item-wrap-photo {
  width: 38.4839650146%;
  position: relative;
}
@media screen and (min-width: 769px) {
  .info__tab-body-wrap-item-wrap-photo {
    width: 100%;
  }
}
.info__tab-body-wrap-item-wrap-photo::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.info__tab-body-wrap-item-wrap-photo img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
}
.info__tab-body-wrap-item-wrap-txt {
  width: 57.7259475219%;
}
@media screen and (min-width: 769px) {
  .info__tab-body-wrap-item-wrap-txt {
    width: 100%;
  }
}
.info__tab-body-wrap-item-wrap-txt-type {
  display: inline-block;
  background: #333;
  border: 1px solid #bbb;
  min-width: 50px;
  height: 24px;
  font-size: 1.2rem;
  line-height: 24px;
  color: #fff;
  text-align: center;
  padding-left: 8px;
  padding-right: 8px;
}
@media screen and (min-width: 769px) {
  .info__tab-body-wrap-item-wrap-txt-type {
    background: #151515;
    border: none;
    min-width: 48px;
    margin-top: 16px;
  }
}
.info__tab-body-wrap-item-wrap-txt-description {
  font-size: 1.4rem;
  line-height: 150%;
  text-align: justify;
  margin-top: 8px;
}
@media screen and (min-width: 769px) {
  .info__tab-body-wrap-item-wrap-txt-description {
    width: 100%;
  }
}
.info__tab-link a {
  background: none;
  border: 1px solid #bbb;
  height: 40px;
  font-size: 1.2rem;
  line-height: 40px;
  color: #151515;
  margin-top: 32px;
}
@media screen and (min-width: 376px) {
  .info__tab-link a {
    width: 300px;
    margin: 32px auto;
  }
}
.info__tab-link a::before {
  border-top: 2px solid #151515;
  border-right: 2px solid #151515;
}

.topics__container {
  padding: 40px 16px 48px;
}
@media screen and (min-width: 769px) {
  .topics__container {
    padding: 48px 0 56px;
    width: 92%;
    max-width: 996px;
  }
}
@media screen and (min-width: 769px) {
  .topics__ttl {
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 769px) {
  .topics__wrap {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
  }
}
@media screen and (min-width: 769px) {
  .topics__item {
    width: calc((100% - 72px) / 4);
    margin-right: 24px;
  }
}
@media screen and (min-width: 769px) {
  .topics__item:nth-child(4n) {
    margin-right: 0;
  }
}
.topics__item a {
  display: flex;
  justify-content: space-between;
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .topics__item a {
    flex-flow: column;
  }
}
.topics__photo {
  width: 38.4839650146%;
  position: relative;
}
@media screen and (min-width: 769px) {
  .topics__photo {
    width: 100%;
  }
}
.topics__photo::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.topics__photo img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
}
.topics__description {
  width: 57.7259475219%;
  font-size: 1.4rem;
  line-height: 21px;
  text-align: justify;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .topics__description {
    width: 100%;
    margin-top: 24px;
  }
}

.inquiry {
  display: block;
  position: relative;
  z-index: 30000;
}
.inquiry__container {
  width: 315px;
  padding: 8px;
  background: #fff;
  border: 1px solid #bbb;
  position: fixed;
  bottom: 24px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .inquiry__container {
    display: none;
  }
}
.inquiry__container .close {
  position: absolute;
  top: -24px;
  right: -24px;
}
.inquiry__container .close a {
  width: 32px;
  height: 32px;
  background: #fff;
  border: 1px solid #bbb;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #333;
}
.inquiry__head {
  height: 48px;
  font-size: 1.3rem;
  line-height: 48px;
}
.inquiry__head::before {
  transform: rotate(135deg) scale(0.5);
}
.inquiry__head.active::before {
  transform: rotate(-45deg) scale(0.5);
}
.inquiry__body {
  padding: 20px;
  display: none;
}
.inquiry__body-link {
  background: none;
  border: 2px solid #3CBEEA;
  height: 48px;
  font-size: 1.2rem;
  line-height: 48px;
  color: #3CBEEA;
  margin-top: 10px;
}
.inquiry__body-link::before {
  border-top: 2px solid #3CBEEA;
  border-right: 2px solid #3CBEEA;
}

.features__container {
  padding: 64px 16px;
}
@media screen and (min-width: 769px) {
  .features__container {
    padding: 64px 0;
  }
}
.features__head-ttl {
  font-size: 4.2rem;
  text-align: center;
  padding-bottom: 24px;
  position: relative;
}
@media screen and (min-width: 769px) {
  .features__head-ttl {
    font-size: 4.8rem;
  }
}
.features__head-ttl span {
  display: block;
  font-size: 1.4rem;
  font-weight: bold;
  margin-top: 16px;
}
.features__head-ttl::after {
  content: '';
  border-bottom: 1px solid #bbb;
  width: 160px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.features__head-description {
  font-size: 1.4rem;
  line-height: 190%;
  text-align: center;
  margin-top: 32px;
}
@media screen and (min-width: 769px) {
  .features__body {
    margin-top: -32px;
  }
}
.features__body a {
  display: block;
}
.features__body-ttl {
  font-size: 4rem;
  text-align: center;
  margin: 40px 0 0;
  position: relative;
  z-index: 20000;
}
@media screen and (min-width: 769px) {
  .features__body-ttl {
    font-size: 10rem;
    margin-top: 104px;
  }
}
.features__body-wrap {
  position: relative;
}
@media screen and (min-width: 769px) {
  .features__body-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
.features__body-wrap-photo {
  position: relative;
}
@media screen and (min-width: 769px) {
  .features__body-wrap-photo {
    width: 68%;
  }
  .features__body-wrap-photo img {
    width: 100%;
    height: 663px;
    object-fit: cover;
  }
}
.features__body-wrap-photo::after {
  content: '';
  background: #151515;
  opacity: 0.25;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 769px) {
  .features__body-wrap-photo::after {
    display: none;
  }
}
.features__body-wrap-txt {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-top: -28px;
}
@media screen and (min-width: 769px) {
  .features__body-wrap-txt {
    width: 343px;
    position: static;
    top: auto;
    left: auto;
    transform: none;
    margin-top: -88px;
  }
}
.features__body-wrap-txt-ttl {
  font-size: 2.8rem;
  text-align: center;
  color: #fff;
  position: relative;
}
@media screen and (min-width: 769px) {
  .features__body-wrap-txt-ttl {
    font-size: 4rem;
    color: #151515;
  }
  .features__body-wrap-txt-ttl--vertical {
    writing-mode: vertical-rl;
    letter-spacing: 5px;
    margin: 0 auto;
  }
  .features__body-wrap-txt-ttl span {
    display: block;
  }
}
.features__body-wrap-txt-ttl::before {
  content: '';
  border: 2px solid #fff;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: 28px auto;
}
@media screen and (min-width: 769px) {
  .features__body-wrap-txt-ttl::before {
    display: none;
  }
}
.features__body-wrap-txt-ttl::after {
  content: '';
  width: 0.3em;
  height: 0.3em;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  position: absolute;
  top: 50%;
  left: -3px;
  right: 0;
  margin: 40px auto;
  transform: rotate(45deg) scale(1);
}
@media screen and (min-width: 769px) {
  .features__body-wrap-txt-ttl::after {
    display: none;
  }
}
.features__body-wrap-txt-description {
  display: none;
  font-size: 1.4rem;
  line-height: 200%;
  text-align: center;
  margin-top: 32px;
  position: relative;
}
@media screen and (min-width: 769px) {
  .features__body-wrap-txt-description {
    display: block;
  }
  .features__body-wrap-txt-description::before {
    content: '';
    border: 2px solid #3CBEEA;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    position: absolute;
    bottom: -100px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .features__body-wrap-txt-description::after {
    content: '';
    width: 1.5em;
    height: 1.5em;
    border-top: solid 2px #3CBEEA;
    border-right: solid 2px #3CBEEA;
    position: absolute;
    bottom: -75px;
    left: -8px;
    right: 0;
    margin: 0 auto;
    transform: rotate(45deg) scale(1);
  }
}
@media screen and (min-width: 769px) {
  .features__body-wrap-space {
    width: 10%;
  }
}
@media screen and (min-width: 769px) {
  .features__body .ceremony, .features__body .cuisine {
    flex-direction: row-reverse;
    margin-top: -35px;
  }
}
@media screen and (min-width: 769px) {
  .features__body .party, .features__body .cuisine {
    margin-top: -20px;
  }
  .features__body .party img, .features__body .cuisine img {
    width: 100%;
    height: 528px;
    object-fit: cover;
  }
}

.restaurant-L__container {
  padding: 32px 16px 0;
}
@media screen and (min-width: 769px) {
  .restaurant-L__container {
    padding: 0;
  }
}
.restaurant-L__wrap {
  display: block;
  position: relative;
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .restaurant-L__wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 64px;
  }
}
.restaurant-L__wrap--reverse {
  flex-flow: row-reverse;
}
.restaurant-L__photo {
  position: relative;
}
.restaurant-L__photo::after {
  content: '';
  background: #000;
  opacity: 0.30;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 769px) {
  .restaurant-L__photo {
    width: 68.6676427526%;
  }
  .restaurant-L__photo::after {
    opacity: 0.00;
  }
  .restaurant-L__photo img {
    width: 100%;
    height: 663px;
    object-fit: cover;
  }
}
.restaurant-L__txt {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: -60px auto;
  transform: translateY(-50%);
  z-index: 10000;
}
@media screen and (min-width: 769px) {
  .restaurant-L__txt {
    color: #151515;
    background: #fff;
    border-bottom: 1px solid #999;
    width: 384px;
    height: 420px;
    padding-top: 24px;
    box-sizing: border-box;
    position: relative;
    top: 30px;
    left: -4.68521229868%;
    margin: 0 auto;
    transform: none;
  }
}
@media screen and (min-width: 769px) {
  .restaurant-L__txt--reverse {
    background: #fff;
    border-bottom: 1px solid #999;
    width: 384px;
    height: 420px;
    padding-top: 24px;
    box-sizing: border-box;
    position: relative;
    top: 30px;
    left: auto;
    right: -4.68521229868%;
  }
}
.restaurant-L__txt h4 {
  font-size: 1.2rem;
  text-align: center;
  position: relative;
}
.restaurant-L__txt h4::before {
  content: '';
  border-bottom: 1px solid #fff;
  width: 112px;
  position: absolute;
  bottom: -8px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .restaurant-L__txt h4::before {
    border-bottom: 1px solid #999;
  }
}
.restaurant-L__txt h3 {
  font-size: 3.4rem;
  line-height: 42px;
  text-align: center;
  margin-top: 36px;
  position: relative;
}
.restaurant-L__txt h3::before {
  content: '';
  width: 68px;
  height: 68px;
  border: 1px solid #fff;
  border-radius: 50%;
  position: absolute;
  top: 258px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.restaurant-L__txt h3::after {
  content: '';
  width: 22px;
  height: 22px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 280px;
  left: 0;
  right: 12px;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .restaurant-L__txt h3 {
    font-size: 4rem;
    line-height: 50px;
  }
  .restaurant-L__txt h3::before {
    border: 1px solid #151515;
  }
  .restaurant-L__txt h3::after {
    border-top: 2px solid #151515;
    border-right: 2px solid #151515;
  }
}
.restaurant-L__txt h3 .logo {
  width: 100%;
  max-width: 300px;
}
.restaurant-L__description {
  font-size: 1.4rem;
  line-height: 28px;
  text-align: center;
  margin-top: 24px;
}
.restaurant-L__space {
  display: none;
}
@media screen and (min-width: 769px) {
  .restaurant-L__space {
    display: block;
    width: 3.14787701318%;
  }
}

.restaurant-M__container {
  padding: 16px 16px 0;
}
@media screen and (min-width: 769px) {
  .restaurant-M__container {
    padding: 64px 0 0;
  }
}
.restaurant-M__wrap {
  display: block;
  position: relative;
}
@media screen and (min-width: 769px) {
  .restaurant-M__wrap {
    display: flex;
    justify-content: center;
    width: 87.8477306003%;
    max-width: 1200px;
    margin: 0 auto;
  }
}
.restaurant-M__wrap--reverse {
  flex-flow: row-reverse;
}
.restaurant-M__photo {
  position: relative;
}
.restaurant-M__photo::after {
  content: '';
  background: #000;
  opacity: 0.30;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 769px) {
  .restaurant-M__photo {
    width: 68%;
  }
  .restaurant-M__photo::after {
    opacity: 0.00;
  }
  .restaurant-M__photo img {
    width: 100%;
    height: 420px;
    object-fit: cover;
  }
}
.restaurant-M__txt {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: -60px auto;
  transform: translateY(-50%);
  z-index: 10000;
}
@media screen and (min-width: 769px) {
  .restaurant-M__txt {
    color: #151515;
    background: #fff;
    width: 32%;
    height: 420px;
    padding-top: 24px;
    box-sizing: border-box;
    position: relative;
    top: 0;
    margin: 0 auto;
    transform: none;
  }
}
@media screen and (min-width: 769px) {
  .restaurant-M__txt--reverse {
    background: #fff;
    width: 32%;
    height: 420px;
    padding-top: 24px;
    box-sizing: border-box;
    position: relative;
    top: 0;
  }
}
.restaurant-M__txt h4 {
  font-size: 1.2rem;
  text-align: center;
  position: relative;
}
.restaurant-M__txt h4::before {
  content: '';
  border-bottom: 1px solid #fff;
  width: 112px;
  position: absolute;
  bottom: -8px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .restaurant-M__txt h4::before {
    border-bottom: 1px solid #999;
  }
}
.restaurant-M__txt h3 {
  font-size: 3.4rem;
  line-height: 42px;
  text-align: center;
  margin-top: 36px;
  position: relative;
}
.restaurant-M__txt h3::before {
  content: '';
  width: 68px;
  height: 68px;
  border: 1px solid #fff;
  border-radius: 50%;
  position: absolute;
  top: 258px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.restaurant-M__txt h3::after {
  content: '';
  width: 22px;
  height: 22px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 280px;
  left: 0;
  right: 12px;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .restaurant-M__txt h3 {
    font-size: 4rem;
    line-height: 50px;
  }
  .restaurant-M__txt h3::before {
    border: 1px solid #151515;
  }
  .restaurant-M__txt h3::after {
    border-top: 2px solid #151515;
    border-right: 2px solid #151515;
  }
}
.restaurant-M__txt h3 .logo {
  width: 100%;
  max-width: 300px;
}
.restaurant-M__description {
  font-size: 1.4rem;
  line-height: 28px;
  text-align: center;
  margin-top: 24px;
}

.restaurant-LW__container {
  padding: 32px 16px 0;
}
@media screen and (min-width: 769px) {
  .restaurant-LW__container {
    padding: 0;
  }
}
.restaurant-LW__wrap {
  display: block;
  position: relative;
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .restaurant-LW__wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 64px;
  }
}
.restaurant-LW__wrap--reverse {
  flex-flow: row-reverse;
}
.restaurant-LW__photo {
  position: relative;
}
.restaurant-LW__photo::after {
  content: '';
  background: #000;
  opacity: 0.30;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 769px) {
  .restaurant-LW__photo {
    width: 68.6676427526%;
  }
  .restaurant-LW__photo::after {
    opacity: 0.00;
  }
  .restaurant-LW__photo img {
    width: 100%;
    height: 663px;
    object-fit: cover;
  }
}
.restaurant-LW__txt {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: -60px auto;
  transform: translateY(-50%);
  z-index: 10000;
}
@media screen and (min-width: 769px) {
  .restaurant-LW__txt {
    color: #151515;
    background: #fff;
    border-bottom: 1px solid #999;
    width: 384px;
    height: 420px;
    padding-top: 48px;
    box-sizing: border-box;
    position: relative;
    top: 30px;
    left: -4.68521229868%;
    margin: 0 auto;
    transform: none;
  }
}
@media screen and (min-width: 769px) {
  .restaurant-LW__txt--reverse {
    background: #fff;
    border-bottom: 1px solid #999;
    width: 384px;
    height: 420px;
    padding-top: 48px;
    box-sizing: border-box;
    position: relative;
    top: 30px;
    left: auto;
    right: -4.68521229868%;
  }
}
.restaurant-LW__txt h4 {
  font-size: 1.2rem;
  text-align: center;
  position: relative;
}
.restaurant-LW__txt h4::before {
  content: '';
  border-bottom: 1px solid #fff;
  width: 112px;
  position: absolute;
  bottom: -8px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .restaurant-LW__txt h4::before {
    border-bottom: 1px solid #999;
  }
}
.restaurant-LW__txt h3 {
  font-size: 3.4rem;
  line-height: 42px;
  text-align: center;
  margin-top: 36px;
  position: relative;
}
.restaurant-LW__txt h3::before {
  content: '';
  width: 68px;
  height: 68px;
  border: 1px solid #fff;
  border-radius: 50%;
  position: absolute;
  top: 210px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.restaurant-LW__txt h3::after {
  content: '';
  width: 22px;
  height: 22px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 232px;
  left: 0;
  right: 12px;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .restaurant-LW__txt h3 {
    font-size: 4rem;
    line-height: 50px;
  }
  .restaurant-LW__txt h3::before {
    border: 1px solid #151515;
  }
  .restaurant-LW__txt h3::after {
    border-top: 2px solid #151515;
    border-right: 2px solid #151515;
  }
}
.restaurant-LW__description {
  font-size: 1.4rem;
  line-height: 28px;
  text-align: center;
  margin-top: 32px;
}
.restaurant-LW__space {
  display: none;
}
@media screen and (min-width: 769px) {
  .restaurant-LW__space {
    display: block;
    width: 3.14787701318%;
  }
}

.restaurant-MW__container {
  padding: 16px 16px 0;
}
@media screen and (min-width: 769px) {
  .restaurant-MW__container {
    padding: 64px 0 0;
  }
}
.restaurant-MW__wrap {
  display: block;
  position: relative;
}
@media screen and (min-width: 769px) {
  .restaurant-MW__wrap {
    display: flex;
    justify-content: center;
    width: 87.8477306003%;
    max-width: 1200px;
    margin: 0 auto;
  }
}
.restaurant-MW__wrap--reverse {
  flex-flow: row-reverse;
}
.restaurant-MW__photo {
  position: relative;
}
.restaurant-MW__photo::after {
  content: '';
  background: #000;
  opacity: 0.30;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 769px) {
  .restaurant-MW__photo {
    width: 68%;
  }
  .restaurant-MW__photo::after {
    opacity: 0.00;
  }
  .restaurant-MW__photo img {
    width: 100%;
    height: 420px;
    object-fit: cover;
  }
}
.restaurant-MW__txt {
  color: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: -60px auto;
  transform: translateY(-50%);
  z-index: 10000;
}
@media screen and (min-width: 769px) {
  .restaurant-MW__txt {
    color: #151515;
    background: #fff;
    width: 32%;
    height: 420px;
    padding-top: 48px;
    box-sizing: border-box;
    position: relative;
    top: 0;
    margin: 0 auto;
    transform: none;
  }
}
@media screen and (min-width: 769px) {
  .restaurant-MW__txt--reverse {
    background: #fff;
    width: 32%;
    height: 420px;
    padding-top: 48px;
    box-sizing: border-box;
    position: relative;
    top: 0;
  }
}
.restaurant-MW__txt h4 {
  font-size: 1.2rem;
  text-align: center;
  position: relative;
}
.restaurant-MW__txt h4::before {
  content: '';
  border-bottom: 1px solid #fff;
  width: 112px;
  position: absolute;
  bottom: -8px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .restaurant-MW__txt h4::before {
    border-bottom: 1px solid #999;
  }
}
.restaurant-MW__txt h3 {
  font-size: 3.4rem;
  line-height: 42px;
  text-align: center;
  margin-top: 36px;
  position: relative;
}
.restaurant-MW__txt h3::before {
  content: '';
  width: 68px;
  height: 68px;
  border: 1px solid #fff;
  border-radius: 50%;
  position: absolute;
  top: 210px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.restaurant-MW__txt h3::after {
  content: '';
  width: 22px;
  height: 22px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 232px;
  left: 0;
  right: 12px;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .restaurant-MW__txt h3 {
    font-size: 4rem;
    line-height: 50px;
  }
  .restaurant-MW__txt h3::before {
    border: 1px solid #151515;
  }
  .restaurant-MW__txt h3::after {
    border-top: 2px solid #151515;
    border-right: 2px solid #151515;
  }
}
.restaurant-MW__description {
  font-size: 1.4rem;
  line-height: 28px;
  text-align: center;
  margin-top: 32px;
}

.plan {
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .plan {
    margin-top: 40px;
  }
}
@media screen and (min-width: 769px) {
  .plan__container {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .plan__space {
    width: 10%;
  }
}
.plan__head {
  position: relative;
}
@media screen and (min-width: 769px) {
  .plan__head {
    width: 343px;
    height: 243px;
  }
}
@media screen and (min-width: 769px) {
  .plan__head-item img {
    display: none;
  }
}
.plan__head-txt {
  background: #f8f8f8;
  padding: 24px 16px;
  position: relative;
}
@media screen and (min-width: 769px) {
  .plan__head-txt {
    background: none;
    padding: 24px 16px;
  }
  .plan__head-txt::before {
    display: none;
  }
  .plan__head-txt::after {
    display: none;
  }
}
.plan__head-txt.active {
  background: #333;
  color: #fff;
  position: relative;
}
.plan__head-txt.active::before {
  background: #fff;
}
.plan__head-lead {
  font-size: 1.6rem;
  line-height: 125%;
  margin-left: 2px;
}
.plan__head-ttl {
  font-size: 2.4rem;
  margin-top: 8px;
}
@media screen and (min-width: 769px) {
  .plan__head-ttl {
    font-size: 3.2rem;
    margin-top: 24px;
  }
}
.plan__head-more {
  display: none;
}
@media screen and (min-width: 769px) {
  .plan__head-more {
    display: block;
  }
}
.plan__head-more a {
  display: inline-block;
  font-size: 1.6rem;
  color: #3CBEEA;
  padding-right: 16px;
  margin-top: 24px;
  position: absolute;
  left: 208px;
}
.plan__head-more a::after {
  content: '';
  width: 1em;
  height: 1em;
  border-top: solid 2px #3CBEEA;
  border-right: solid 2px #3CBEEA;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -4px;
  transform: rotate(45deg) scale(0.7) translateY(-50%);
}
.plan__head-btn {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .plan__head-btn {
    display: none;
  }
}
.plan__body {
  display: none;
  overflow: hidden;
  margin: 16px auto 32px;
}
@media screen and (min-width: 376px) {
  .plan__body {
    display: none;
    width: 100%;
    margin: 16px auto 32px;
  }
}
@media screen and (min-width: 769px) {
  .plan__body {
    display: block;
    width: 68%;
    margin: 0;
  }
}
@media screen and (min-width: 376px) {
  .plan__body .swiper {
    overflow: hidden;
  }
}
@media screen and (min-width: 769px) {
  .plan__body .plan-swiper-container {
    width: 1795px;
    overflow: hidden;
  }
}
.plan__body-photo {
  position: relative;
}
.plan__body-photo::after {
  content: '';
  background: #000;
  opacity: 0.30;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.plan__body-photo a {
  display: block;
}
.plan__body-photo-ttl {
  width: 100%;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  color: #fff;
  z-index: 10000;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.plan__body-photo-ttl span {
  display: block;
  font-size: 1.6rem;
  margin-bottom: 16px;
}

.style {
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .style {
    margin-top: 40px;
  }
}
@media screen and (min-width: 769px) {
  .style__container {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .style__space {
    width: 10%;
  }
}
.style__head {
  position: relative;
}
@media screen and (min-width: 769px) {
  .style__head {
    width: 343px;
    height: 243px;
  }
}
@media screen and (min-width: 769px) {
  .style__head-item img {
    display: none;
  }
}
.style__head-txt {
  background: #f8f8f8;
  padding: 24px 16px;
  position: relative;
}
@media screen and (min-width: 769px) {
  .style__head-txt {
    background: none;
    padding: 24px 16px;
  }
  .style__head-txt::before {
    display: none;
  }
  .style__head-txt::after {
    display: none;
  }
}
.style__head-txt.active {
  background: #333;
  color: #fff;
  position: relative;
}
.style__head-txt.active::before {
  background: #fff;
}
.style__head-lead {
  font-size: 1.6rem;
  line-height: 125%;
  margin-left: 2px;
}
.style__head-ttl {
  font-size: 2.4rem;
  margin-top: 8px;
}
@media screen and (min-width: 769px) {
  .style__head-ttl {
    font-size: 3.2rem;
    margin-top: 24px;
  }
}
.style__head-more {
  display: none;
}
@media screen and (min-width: 769px) {
  .style__head-more {
    display: block;
  }
}
.style__head-more a {
  display: inline-block;
  font-size: 1.6rem;
  color: #3CBEEA;
  padding-right: 16px;
  margin-top: 24px;
  position: absolute;
  left: 208px;
}
.style__head-more a::after {
  content: '';
  width: 1em;
  height: 1em;
  border-top: solid 2px #3CBEEA;
  border-right: solid 2px #3CBEEA;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -4px;
  transform: rotate(45deg) scale(0.7) translateY(-50%);
}
.style__head-btn {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .style__head-btn {
    display: none;
  }
}
.style__body {
  display: none;
  overflow: hidden;
  margin: 16px auto 32px;
}
@media screen and (min-width: 376px) {
  .style__body {
    display: none;
    width: 100%;
    margin: 16px auto 32px;
  }
}
@media screen and (min-width: 769px) {
  .style__body {
    display: block;
    width: 68%;
    margin: 0;
  }
}
@media screen and (min-width: 376px) {
  .style__body .swiper {
    overflow: hidden;
  }
}
@media screen and (min-width: 769px) {
  .style__body .style-swiper-container {
    width: 1795px;
    overflow: hidden;
  }
}
.style__body-photo {
  position: relative;
}
.style__body-photo::after {
  content: '';
  background: #000;
  opacity: 0.30;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.style__body-photo a {
  display: block;
}
.style__body-photo-ttl {
  width: 100%;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  color: #fff;
  z-index: 10000;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.style__body-photo-ttl span {
  display: block;
  font-size: 1.6rem;
  margin-bottom: 16px;
}

.voice__container {
  padding: 64px 16px;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .voice__container {
    padding: 88px 16px 96px;
  }
}
.voice a {
  display: inline-block;
  text-align: start;
  width: 100%;
  max-width: 792px;
}
.voice__wrap {
  position: relative;
}
@media screen and (min-width: 769px) {
  .voice__wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
    height: 164px;
    border: 1px solid #ccc;
  }
}
@media screen and (min-width: 769px) {
  .voice__wrap-photo {
    width: 396px;
  }
}
.voice__wrap-txt-description {
  background: #A0D8EB;
  width: 234px;
  height: 60px;
  font-size: 1.8rem;
  line-height: 22px;
  text-align: center;
  padding-top: 8px;
  box-sizing: border-box;
  position: absolute;
  top: 85px;
}
@media screen and (min-width: 769px) {
  .voice__wrap-txt-description {
    width: 360px;
    height: 40px;
    top: 24px;
    left: 34px;
  }
}
.voice__wrap-txt-ttl {
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 60px;
  font-size: 3.2rem;
  line-height: 60px;
  color: #fff;
  padding-left: 16px;
  box-sizing: border-box;
  position: absolute;
  bottom: 0;
}
@media screen and (min-width: 769px) {
  .voice__wrap-txt-ttl {
    background: none;
    width: 396px;
    color: #151515;
    padding-left: 0;
    bottom: 24px;
    left: 32px;
  }
}
.voice__wrap-txt-ttl-more {
  display: inline-block;
  font-size: 1.6rem;
  color: #fff;
  padding-right: 16px;
  position: absolute;
  right: 24px;
}
@media screen and (min-width: 769px) {
  .voice__wrap-txt-ttl-more {
    color: #151515;
    right: 56px;
  }
}
.voice__wrap-txt-ttl-more::after {
  content: '';
  width: 1em;
  height: 1em;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -4px;
  transform: rotate(45deg) scale(0.7) translateY(-50%);
}
@media screen and (min-width: 769px) {
  .voice__wrap-txt-ttl-more::after {
    border-top: solid 2px #151515;
    border-right: solid 2px #151515;
  }
}

.reservation {
  background: url("../images/wedding_reservation_sp.jpg?230909") no-repeat center center;
  background-size: cover;
}
@media screen and (min-width: 769px) {
  .reservation {
    background: url("../images/wedding_reservation_pc.jpg?230909") no-repeat center center;
    background-size: cover;
  }
}
.reservation__container {
  padding: 56px 36px 96px;
  background: rgba(0, 0, 0, 0.25);
}
@media screen and (min-width: 769px) {
  .reservation__container {
    padding: 0;
    background: none;
  }
}
@media screen and (min-width: 769px) {
  .reservation__wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .reservation__wrap-item {
    background: rgba(0, 0, 0, 0.4);
    width: 50%;
    padding: 72px 2%;
    box-sizing: border-box;
  }
}
@media screen and (min-width: 1025px) {
  .reservation__wrap-item {
    padding: 72px 6%;
  }
}
@media screen and (min-width: 769px) {
  .reservation__wrap-item:nth-child(2) {
    background: none;
  }
}
.reservation__wrap-item-ttl {
  font-size: 3.2rem;
  color: #fff;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .reservation__wrap-item-ttl {
    font-size: 3.8rem;
  }
}
.reservation__wrap-item-description {
  font-size: 1.3rem;
  line-height: 20px;
  font-weight: bold;
  color: #fff;
  text-align: center;
  margin-top: 24px;
}
@media screen and (min-width: 769px) {
  .reservation__wrap-item-description {
    font-size: 1.2rem;
  }
}
.reservation__wrap-item--reserve {
  height: 72px;
  font-size: 1.6rem;
  line-height: 72px;
  margin-top: 40px;
}
@media screen and (min-width: 769px) {
  .reservation__wrap-item--reserve {
    height: 80px;
    font-size: 1.8rem;
    line-height: 80px;
  }
}
.reservation__wrap-item--recommend {
  height: 56px;
  font-size: 1.4rem;
  line-height: 56px;
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .reservation__wrap-item--recommend {
    margin-top: 20px;
  }
}
@media screen and (min-width: 769px) {
  .reservation__wrap-item-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
.reservation__wrap-item-wrap--consul {
  background: #F56891;
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .reservation__wrap-item-wrap--consul {
    width: 48.5596707819%;
    height: 56px;
    line-height: 56px;
    margin-top: 20px;
  }
}
.reservation__wrap-item-wrap--document {
  background: #F56891;
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .reservation__wrap-item-wrap--document {
    width: 48.5596707819%;
    height: 56px;
    line-height: 56px;
    margin-top: 20px;
  }
}
.reservation__wrap-item--mail {
  background: #F56891;
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .reservation__wrap-item--mail {
    height: 56px;
    line-height: 56px;
    margin-top: 20px;
  }
}
.reservation__wrap-item--mail svg {
  width: 16px;
  fill: #fff;
  position: relative;
  top: 1px;
  margin-right: 4px;
}
@media screen and (min-width: 769px) {
  .reservation__wrap-item--mail svg {
    width: 20px;
    top: 2px;
  }
}
.reservation__wrap-item h3 {
  font-size: 1.4rem;
  text-align: center;
  color: #fff;
  border-top: 1px solid #ddd;
  padding-top: 24px;
  margin: 32px 0 0;
}
@media screen and (min-width: 769px) {
  .reservation__wrap-item h3 {
    border-top: none;
    padding-top: 0;
    margin: 40px 0 0;
  }
}
.reservation__wrap-item h4 {
  font-size: 1.2rem;
  text-align: center;
  color: #fff;
  margin: 12px 0 0;
}
@media screen and (min-width: 769px) {
  .reservation__wrap-item h4 {
    margin: 16px 0 0;
  }
}
.reservation__wrap-item-btn {
  background: #fff;
  margin-top: 24px;
  position: relative;
}
@media screen and (min-width: 769px) {
  .reservation__wrap-item-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row-reverse;
    background: none;
    border: none;
    font-size: 4.2rem;
    font-family: mrs-eaves-xl-serif, serif;
    font-weight: 400;
    font-style: normal;
    color: #fff;
  }
}
.reservation__wrap-item-btn span {
  background: none;
}
@media screen and (min-width: 769px) {
  .reservation__wrap-item-btn span {
    width: auto;
    position: static;
    top: auto;
    right: auto;
    padding-right: 16px;
    border: none;
  }
}
.reservation__wrap-item-btn span svg {
  width: 20px;
  fill: #151515;
  position: relative;
  top: 3px;
}
@media screen and (min-width: 769px) {
  .reservation__wrap-item-btn span svg {
    width: 27px;
    fill: #fff;
    position: relative;
    top: 0px;
  }
}

.footer {
  background: #f8f8f8;
  text-align: center;
}
.footer__nav {
  width: 100%;
  position: fixed;
  bottom: 0;
  z-index: 60000;
}
@media screen and (min-width: 769px) {
  .footer__nav {
    display: none;
  }
}
.footer__nav ul {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.footer__nav ul li {
  width: 25%;
  width: 50%;
  width: 100%;
  border-top: 1px solid #666;
  border-right: 1px solid #666;
}
.footer__nav ul li:nth-last-child(1) {
  border-right: none;
}
.footer__nav ul li a {
  display: block;
  background: #333;
  height: 72px;
  font-size: 1.1rem;
  text-align: center;
  color: #fff;
  padding-top: 16px;
  box-sizing: border-box;
}
.footer__nav ul li a:hover {
  opacity: 100;
  background: #666;
}
.footer__nav ul li a span {
  display: block;
  margin-bottom: 8px;
}
.footer__nav ul li a span svg {
  width: 40px;
  fill: #fff;
}
.footer__container {
  padding: 48px 0 24px;
}
@media screen and (min-width: 769px) {
  .footer__container {
    padding: 64px 0 16px;
  }
}
.footer__container--hotel {
  padding: 48px 0 96px;
}
@media screen and (min-width: 769px) {
  .footer__container--hotel {
    padding: 64px 0 16px;
  }
}
.footer__logo svg {
  width: 188px;
  fill: #151515;
}
@media screen and (min-width: 769px) {
  .footer__logo svg {
    width: 280px;
  }
}
.footer__logo--hotel svg {
  width: 183px;
  fill: #000;
}
.footer h3 {
  font-size: 1.4rem;
  margin: 32px 0 0;
}
@media screen and (min-width: 769px) {
  .footer h3 {
    margin: 40px 0 0;
  }
}
.footer__address {
  font-size: 1.4rem;
  margin-top: 8px;
}
@media screen and (min-width: 769px) {
  .footer__address {
    font-size: 1.2rem;
  }
}
.footer__wrap {
  display: none;
}
@media screen and (min-width: 769px) {
  .footer__wrap {
    list-style: none;
    display: flex;
    justify-content: space-between;
    max-width: 952px;
    margin: 48px auto 0;
    padding: 0;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) {
  .footer__wrap-item {
    width: calc((100% - 72px) / 4);
    border-bottom: 1px solid #bbb;
    font-size: 1.2rem;
    font-weight: bold;
    padding-bottom: 12px;
  }
}

.footer__link {
  list-style: none;
  display: flex;
  justify-content: center;
  margin: 8px 0 0;
}
@media screen and (min-width: 769px) {
  .footer__link {
    margin: 32px 0 0;
  }
}
.footer__link-item {
  font-size: 1.2rem;
  padding: 16px;
}
.footer__link-item:nth-child(1) {
  display: none;
}
@media screen and (min-width: 769px) {
  .footer__link-item:nth-child(1) {
    display: block;
  }
}
.footer__sns {
  list-style: none;
  display: flex;
  justify-content: space-between;
  width: 184px;
  margin: 8px auto 0;
}
.footer__sns-item {
  background: #fff;
  border: 1px solid #787878;
  border-radius: 50%;
  width: 48px;
  height: 48px;
}
.footer__sns-item a {
  display: block;
}
.footer__sns-item a i {
  font-size: 2.4rem;
  line-height: 48px;
  color: #151515;
}
.footer__copyright {
  font-size: 1rem;
  margin-top: 24px;
}

.breadcrumb {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  overflow-x: scroll;
}
@media screen and (min-width: 769px) {
  .breadcrumb {
    overflow: hidden;
    position: relative;
    z-index: 60001;
  }
}
.is-mega-active .breadcrumb {
  z-index: 59999;
}
@media screen and (min-width: 769px) {
  .breadcrumb--bridal {
    margin-top: 122px;
  }
}
.breadcrumb--restaurant {
  margin-top: 64px;
}
@media screen and (min-width: 769px) {
  .breadcrumb--restaurant {
    margin-top: 0;
  }
}
.breadcrumb ul {
  list-style: none;
  display: flex;
  align-items: center;
  height: 48px;
}
@media screen and (min-width: 769px) {
  .breadcrumb ul {
    height: 46px;
  }
}
.breadcrumb ul li {
  white-space: nowrap;
}
.breadcrumb ul li a {
  text-decoration: none;
  font-size: 12px;
  padding: 8px;
}
.breadcrumb ul li a svg {
  width: 13px;
  margin-left: 8px;
}
@media screen and (min-width: 1025px) {
  .breadcrumb ul li a svg {
    margin-left: 80px;
  }
}
.breadcrumb ul li:after {
  content: '\003e';
  font-size: 12px;
}
.breadcrumb ul li:last-child:after {
  content: '';
  /* 最後のliの後ろには区切り文字を表示しない */
}

.recommendbridal {
  margin: 0;
  padding: 0;
}
.recommendbridal__container {
  padding: 40px 16px 0;
}
@media screen and (min-width: 769px) {
  .recommendbridal__container {
    padding: 64px 0 0;
  }
}
.recommendbridal__item {
  background: #F8F8F8;
  border-top: 1px solid #ddd;
  position: relative;
}
@media screen and (min-width: 769px) {
  .recommendbridal__item {
    padding-bottom: 0;
    margin-bottom: 0;
  }
  .recommendbridal__item::after {
    content: '';
    background: linear-gradient(180deg, rgba(248, 248, 248, 0), #f8f8f8, #f8f8f8);
    width: 100%;
    height: 41px;
    position: absolute;
    bottom: 0;
    left: 0;
  }
}
.recommendbridal__item:nth-last-of-type(1) {
  border-bottom: 1px solid #ddd;
}
.recommendbridal__item:nth-child(2n+1) {
  background: #fff;
}
.recommendbridal__item:nth-child(2n+1)::after {
  content: '';
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), white, white);
  width: 100%;
  height: 41px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.recommendbridal__item-first.active {
  padding-bottom: 56px;
  margin-bottom: 16px;
}
.recommendbridal__item-second.active {
  padding-bottom: 56px;
  margin-bottom: 16px;
}
.recommendbridal__item-third.active {
  padding-bottom: 56px;
  margin-bottom: 16px;
}
.recommendbridal__item-fourth.active {
  padding-bottom: 56px;
  margin-bottom: 16px;
}
.recommendbridal__item-fifth.active {
  padding-bottom: 56px;
  margin-bottom: 16px;
}
.recommendbridal__head {
  background: #fff;
  display: flex;
  padding: 24px 0;
  position: relative;
}
@media screen and (min-width: 769px) {
  .recommendbridal__head {
    display: none;
  }
}
.recommendbridal__head::before {
  right: 0;
}
.recommendbridal__head::after {
  right: 5px;
}
.recommendbridal__head.active::before {
  right: 0;
}
.recommendbridal__head-first {
  cursor: pointer;
}
.recommendbridal__head-second {
  cursor: pointer;
}
.recommendbridal__head-third {
  cursor: pointer;
}
.recommendbridal__head-fourth {
  cursor: pointer;
}
.recommendbridal__head-fifth {
  cursor: pointer;
}
.recommendbridal__head__photo {
  width: 132px;
}
.recommendbridal__head__txt {
  width: 160px;
  padding-left: 12px;
}
.recommendbridal__head__txt h3 {
  font-size: 1.4rem;
  line-height: 20px;
  font-weight: bold;
  margin-bottom: 8px;
}
.recommendbridal__head__description p {
  font-size: 1.3rem;
  line-height: 20px;
}
.recommendbridal__body {
  display: none;
  padding-top: 16px;
  transition: 0.2s ease-out;
}
@media screen and (min-width: 769px) {
  .recommendbridal__body {
    display: block;
    padding-top: 48px;
    max-height: 275px;
    overflow: hidden;
    position: relative;
  }
}
.recommendbridal__body-first.active {
  max-height: 700px;
}
.recommendbridal__body-second.active {
  max-height: 700px;
}
.recommendbridal__body-third.active {
  max-height: 700px;
}
.recommendbridal__body-fourth.active {
  max-height: 700px;
}
.recommendbridal__body-fifth.active {
  max-height: 700px;
}
@media screen and (min-width: 769px) {
  .recommendbridal__body__wrap {
    display: flex;
    width: 1000px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 769px) {
  .recommendbridal__body__photo {
    width: 234px;
  }
}
.recommendbridal__body__txt {
  padding: 32px 16px;
}
@media screen and (min-width: 769px) {
  .recommendbridal__body__txt {
    padding: 0 0 40px 32px;
    width: 640px;
  }
}
.recommendbridal__body__description h3 {
  display: none;
  font-size: 2.4rem;
  line-height: 28px;
  font-weight: bold;
}
@media screen and (min-width: 769px) {
  .recommendbridal__body__description h3 {
    display: block;
  }
}
.recommendbridal__body__description h4 {
  font-size: 1.4rem;
  line-height: 30px;
  font-weight: bold;
}
.recommendbridal__body__description p {
  font-size: 1.3rem;
  line-height: 30px;
}
.recommendbridal__body__description p:nth-of-type(1) {
  display: none;
  font-size: 1.4rem;
  margin-bottom: 16px;
}
@media screen and (min-width: 769px) {
  .recommendbridal__body__description p:nth-of-type(1) {
    display: block;
  }
}
.recommendbridal__body .circle1, .recommendbridal__body .circle2, .recommendbridal__body .circle3, .recommendbridal__body .circle4, .recommendbridal__body .circle5 {
  display: none;
}
@media screen and (min-width: 769px) {
  .recommendbridal__body .circle1, .recommendbridal__body .circle2, .recommendbridal__body .circle3, .recommendbridal__body .circle4, .recommendbridal__body .circle5 {
    display: block;
    background: #fff;
    border: 1px solid #bbb;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-left: 460px;
    cursor: pointer;
  }
  .recommendbridal__body .circle1::before, .recommendbridal__body .circle2::before, .recommendbridal__body .circle3::before, .recommendbridal__body .circle4::before, .recommendbridal__body .circle5::before {
    right: 22px;
  }
  .recommendbridal__body .circle1::after, .recommendbridal__body .circle2::after, .recommendbridal__body .circle3::after, .recommendbridal__body .circle4::after, .recommendbridal__body .circle5::after {
    right: 27px;
  }
  .recommendbridal__body .circle1.active::before, .recommendbridal__body .active.circle2::before, .recommendbridal__body .active.circle3::before, .recommendbridal__body .active.circle4::before, .recommendbridal__body .active.circle5::before {
    right: 22px;
  }
}
.recommendbridal .btn, .recommendbridal .header__spnav-btn--reserve, .recommendbridal .header__spnav-btn--recommend, .recommendbridal .header__spnav-btn--document, .recommendbridal .header__spnav-btn--consul, .recommendbridal .header__spnav-btn--hotel--reserve, .recommendbridal .header__spnav-btn--hotel--rice-at-home, .recommendbridal .header__btn--reserve, .recommendbridal .header__btn--rice-at-home, .recommendbridal .header__add--hotel, .recommendbridal .recommend__body .recommend__btn, .recommend__body .recommendbridal .recommend__btn, .recommendbridal .recommend__slide-btn a, .recommend__slide-btn .recommendbridal a, .recommendbridal .info__tab-link a, .info__tab-link .recommendbridal a, .recommendbridal .inquiry__head, .recommendbridal .inquiry__body-link, .recommendbridal .reservation__wrap-item--reserve, .recommendbridal .reservation__wrap-item--recommend, .recommendbridal .reservation__wrap-item-wrap--consul, .recommendbridal .reservation__wrap-item-wrap--document, .recommendbridal .reservation__wrap-item--mail, .recommendbridal .yoyaku__tab-body-item-wrap--date, .recommendbridal .yoyaku__tab-body-item-wrap--plan, .recommendbridal .yoyaku__tab-body-item--regist, .recommendbridal .yoyaku__tab-body-item--rice-at-home, .recommendbridal .nav__hotel--date, .recommendbridal .nav__hotel--plan, .recommendbridal .nav__hotel--regist, .recommendbridal .nav__restaurant--rice-at-home {
  margin: 0 48px;
}
@media screen and (min-width: 769px) {
  .recommendbridal .btn, .recommendbridal .header__spnav-btn--reserve, .recommendbridal .header__spnav-btn--recommend, .recommendbridal .header__spnav-btn--document, .recommendbridal .header__spnav-btn--consul, .recommendbridal .header__spnav-btn--hotel--reserve, .recommendbridal .header__spnav-btn--hotel--rice-at-home, .recommendbridal .header__btn--reserve, .recommendbridal .header__btn--rice-at-home, .recommendbridal .header__add--hotel, .recommendbridal .recommend__body .recommend__btn, .recommend__body .recommendbridal .recommend__btn, .recommendbridal .recommend__slide-btn a, .recommend__slide-btn .recommendbridal a, .recommendbridal .info__tab-link a, .info__tab-link .recommendbridal a, .recommendbridal .inquiry__head, .recommendbridal .inquiry__body-link, .recommendbridal .reservation__wrap-item--reserve, .recommendbridal .reservation__wrap-item--recommend, .recommendbridal .reservation__wrap-item-wrap--consul, .recommendbridal .reservation__wrap-item-wrap--document, .recommendbridal .reservation__wrap-item--mail, .recommendbridal .yoyaku__tab-body-item-wrap--date, .recommendbridal .yoyaku__tab-body-item-wrap--plan, .recommendbridal .yoyaku__tab-body-item--regist, .recommendbridal .yoyaku__tab-body-item--rice-at-home, .recommendbridal .nav__hotel--date, .recommendbridal .nav__hotel--plan, .recommendbridal .nav__hotel--regist, .recommendbridal .nav__restaurant--rice-at-home {
    width: 380px;
    margin: 0 auto 56px;
  }
}

.standard__container {
  padding: 80px 16px 40px;
}
@media screen and (min-width: 769px) {
  .standard__container {
    padding: 80px 0 40px;
  }
}
.standard ul {
  list-style: none;
}
@media screen and (min-width: 769px) {
  .standard ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 996px;
    margin: 0 auto;
  }
}
.standard__item {
  margin-top: 12px;
}
@media screen and (min-width: 769px) {
  .standard__item {
    margin: 0;
    width: calc((100% - 16px) / 3);
  }
}
.standard__item-photo {
  position: relative;
}
.standard__item-photo::after {
  content: '';
  background: #000;
  opacity: 0.30;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.standard__item a {
  position: relative;
}
.standard__item a::before {
  border: 1px solid #fff;
}
.standard__item a::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.standard__item a h3 {
  width: 100%;
  font-size: 1.6rem;
  line-height: 24px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 769px) {
  .standard__item a h3 {
    font-size: 1.8rem;
    line-height: 27px;
    margin-top: -56px;
  }
}

.japanese__container {
  padding: 40px 16px;
}
@media screen and (min-width: 769px) {
  .japanese__container {
    padding: 40px 0;
  }
}
.japanese ul {
  list-style: none;
}
@media screen and (min-width: 769px) {
  .japanese ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 996px;
    margin: 0 auto;
  }
}
.japanese__item {
  margin-top: 12px;
}
@media screen and (min-width: 769px) {
  .japanese__item {
    margin: 0;
    width: calc((100% - 16px) / 3);
  }
}
.japanese__item-photo {
  position: relative;
}
.japanese__item-photo::after {
  content: '';
  background: #000;
  opacity: 0.30;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.japanese__item a {
  position: relative;
}
.japanese__item a::before {
  border: 1px solid #fff;
}
.japanese__item a::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.japanese__item a h3 {
  width: 100%;
  font-size: 1.6rem;
  line-height: 24px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 769px) {
  .japanese__item a h3 {
    font-size: 1.8rem;
    line-height: 27px;
    margin-top: -40px;
  }
}

.variety__container {
  padding: 0 16px;
}
@media screen and (min-width: 769px) {
  .variety__container {
    padding: 0 0 80px;
  }
}
.variety ul {
  list-style: none;
}
@media screen and (min-width: 769px) {
  .variety ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 996px;
    margin: 0 auto;
  }
}
.variety__item {
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .variety__item {
    margin-top: 96px;
    width: calc((100% - 16px) / 3);
  }
}
.variety__item-photo {
  position: relative;
}
.variety__item-photo::after {
  content: '';
  background: #000;
  opacity: 0.30;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.variety__item a {
  display: block;
  position: relative;
}
.variety__item a h3 {
  font-size: 3.2rem;
  line-height: 38px;
  text-align: center;
  color: #fff;
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.variety__item a h3::before {
  content: '';
  border: 1px solid #fff;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-top: 56px;
}
.variety__item a h3::after {
  content: '';
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-70%, -50%) rotate(45deg);
  margin-top: 56px;
}

.photoplan__container {
  padding: 40px 16px;
}
@media screen and (min-width: 769px) {
  .photoplan__container {
    padding: 40px 0;
  }
}
.photoplan ul {
  list-style: none;
}
@media screen and (min-width: 769px) {
  .photoplan ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 663px;
    margin: 0 auto;
  }
}
.photoplan__item {
  margin-top: 12px;
}
@media screen and (min-width: 769px) {
  .photoplan__item {
    margin: 0;
    width: calc((100% - 8px) / 2);
  }
}
.photoplan__item-photo {
  position: relative;
}
.photoplan__item-photo::after {
  content: '';
  background: #000;
  opacity: 0.30;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.photoplan__item a {
  position: relative;
}
.photoplan__item a::before {
  border: 1px solid #fff;
}
.photoplan__item a::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.photoplan__item a h3 {
  width: 100%;
  font-size: 1.6rem;
  line-height: 24px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 769px) {
  .photoplan__item a h3 {
    font-size: 1.8rem;
    line-height: 27px;
    margin-top: -16px;
  }
}

.kizuna__container {
  padding: 40px 16px 80px;
}
@media screen and (min-width: 769px) {
  .kizuna__container {
    padding: 40px 0 88px;
  }
}
.kizuna ul {
  list-style: none;
}
@media screen and (min-width: 769px) {
  .kizuna ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    max-width: 996px;
    margin: 0 auto;
  }
}
.kizuna__item {
  margin-top: 12px;
}
@media screen and (min-width: 769px) {
  .kizuna__item {
    margin: 0;
    width: calc((100% - 16px) / 3);
    margin-bottom: 8px;
  }
}
.kizuna__item-photo {
  position: relative;
}
.kizuna__item-photo::after {
  content: '';
  background: #000;
  opacity: 0.30;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.kizuna__item a {
  position: relative;
}
.kizuna__item a::before {
  border: 1px solid #fff;
}
.kizuna__item a::after {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.kizuna__item a h3 {
  width: 100%;
  font-size: 1.6rem;
  line-height: 24px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
@media screen and (min-width: 769px) {
  .kizuna__item a h3 {
    font-size: 1.8rem;
    line-height: 27px;
    margin-top: -40px;
  }
}

.story__container {
  padding: 0 0 40px;
}
@media screen and (min-width: 769px) {
  .story__container {
    padding: 0 0 80px;
  }
}
.story__head {
  background: #ECF7FB;
  padding-top: 64px;
}
.story__head p {
  font-size: 1.3rem;
  line-height: 26px;
  text-align: center;
  margin-bottom: 56px;
}
@media screen and (min-width: 769px) {
  .story__head p {
    font-size: 1.6rem;
    line-height: 32px;
  }
}
.story__ttl {
  color: #3CBEEA;
}
@media screen and (min-width: 769px) {
  .story__kv img {
    height: 413px;
    object-fit: cover;
  }
}
.story__body {
  padding: 32px 16px 0;
}
@media screen and (min-width: 769px) {
  .story__body {
    padding: 48px 0 0;
  }
}
.story__body ul {
  list-style: none;
}
@media screen and (min-width: 769px) {
  .story__body ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    width: 92%;
    max-width: 1000px;
    margin: 0 auto;
  }
}
.story__item {
  border-bottom: 1px solid #bbb;
}
.story__item:nth-child(1) {
  border-top: 1px solid #bbb;
}
@media screen and (min-width: 769px) {
  .story__item {
    width: calc((100% - 24px) / 2);
  }
  .story__item:nth-child(2) {
    border-top: 1px solid #bbb;
  }
}
.story__item a {
  display: block;
}
.story__item .box {
  display: flex;
  align-items: center;
  padding: 16px 0;
  position: relative;
}
.story__item .box::after {
  content: '';
  border-top: 1px solid #151515;
  border-right: 1px solid #151515;
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translate(0, -50%) rotate(45deg);
}
.story__item .box img {
  width: 72px;
}
.story__item .box h3 {
  font-size: 1.2rem;
  padding-left: 16px;
}
.story__item .box h3 span {
  display: block;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 21px;
  margin-top: 8px;
}

.anniversary-plan__container {
  padding: 80px 16px;
}
.anniversary-plan__head-ttl {
  line-height: 38px;
  margin-bottom: 8px;
}
@media screen and (min-width: 769px) {
  .anniversary-plan__head-ttl {
    font-size: 3.8rem;
    line-height: 46px;
  }
}
.anniversary-plan__head h3 {
  font-size: 2rem;
  line-height: 41px;
  text-align: center;
  margin-bottom: 24px;
}
.anniversary-plan__head p {
  font-size: 1.4rem;
  line-height: 28px;
  text-align: justify;
  margin-bottom: 0;
}
@media screen and (min-width: 769px) {
  .anniversary-plan__head p {
    font-size: 1.6rem;
    line-height: 32px;
    text-align: center;
  }
}
.anniversary-plan__wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .anniversary-plan__wrap {
    max-width: 996px;
    margin: 40px auto 0;
  }
}
.anniversary-plan__item {
  display: block;
  border: 1px solid #bbb;
  width: calc((100% - 8px) / 2);
  margin: 16px 0 0;
  margin-right: 8px;
  box-sizing: border-box;
}
.anniversary-plan__item:nth-child(2n) {
  margin-right: 0;
}
@media screen and (min-width: 769px) {
  .anniversary-plan__item {
    width: calc((100% - 16px) / 3);
    margin: 16px 0;
    margin-right: 8px;
  }
  .anniversary-plan__item:nth-child(2n) {
    margin-right: 8px;
  }
  .anniversary-plan__item:nth-child(3n) {
    margin-right: 0;
  }
}
@media screen and (min-width: 1025px) {
  .anniversary-plan__item {
    width: calc((100% - 24px) / 4);
  }
  .anniversary-plan__item:nth-child(3n) {
    margin-right: 8px;
  }
  .anniversary-plan__item:nth-child(4n) {
    margin-right: 0;
  }
}
.anniversary-plan__item-ttl {
  font-size: 1.6rem;
  line-height: 20px;
  text-align: center;
  padding: 16px 0;
  box-sizing: border-box;
}
.anniversary-plan__item-photo {
  position: relative;
}
.anniversary-plan__item-photo::before {
  content: '';
  border: 1px solid #151515;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 0.2s ease-out;
}
.anniversary-plan__item-photo::after {
  content: '';
  border-top: 1px solid #151515;
  border-right: 1px solid #151515;
  width: 14px;
  height: 14px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-70%, -50%) rotate(45deg);
  opacity: 0;
  transition: 0.2s ease-out;
}
.anniversary-plan__item-photo:hover::before {
  opacity: 1;
}
.anniversary-plan__item-photo:hover::after {
  opacity: 1;
}

.benefit-banner__container {
  padding: 0 16px 80px;
}
@media screen and (min-width: 769px) {
  .benefit-banner__container {
    padding: 0 0 80px;
  }
}
@media screen and (min-width: 769px) {
  .benefit-banner__photo {
    width: 340px;
    margin: 0 auto;
  }
}

.anniversary-banner__container {
  padding: 0 16px;
}
@media screen and (min-width: 769px) {
  .anniversary-banner__container {
    padding: 0;
  }
}
@media screen and (min-width: 769px) {
  .anniversary-banner__photo {
    width: 600px;
    margin: 0 auto;
  }
}

.plan-banner__container {
  padding: 40px 16px 0;
}
@media screen and (min-width: 769px) {
  .plan-banner__container {
    padding: 80px 0 0;
  }
}
@media screen and (min-width: 769px) {
  .plan-banner__photo {
    width: 96%;
    max-width: 1000px;
    margin: 0 auto;
  }
}

.yoyaku {
  display: none;
  background: #1F1F1F;
}
.yoyaku__tab-head ul {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.yoyaku__tab-head-item {
  width: 50%;
  height: 48px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  box-sizing: border-box;
  cursor: pointer;
  position: relative;
}
@media screen and (min-width: 769px) {
  .yoyaku__tab-head-item {
    width: 500px;
    height: 64px;
  }
}
.yoyaku__tab-head-item::before {
  display: none;
  content: '';
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  position: absolute;
  bottom: -7px;
  left: 50%;
  transform: translate(-50%, 0);
}
.yoyaku__tab-head-item span {
  display: none;
}
@media screen and (min-width: 769px) {
  .yoyaku__tab-head-item span {
    display: inline-block;
  }
}
.yoyaku__tab-head-item--reserve {
  background: #611AC1;
  font-size: 1.4rem;
  line-height: 21px;
  padding-top: 12px;
}
@media screen and (min-width: 769px) {
  .yoyaku__tab-head-item--reserve {
    font-size: 1.6rem;
    padding-top: 24px;
  }
}
.yoyaku__tab-head-item--reserve::before {
  border-top: 7px solid #611AC1;
}
.yoyaku__tab-head-item--rice-at-home {
  background: #794A00;
  font-size: 1.2rem;
  line-height: 18px;
  padding-top: 6px;
}
@media screen and (min-width: 769px) {
  .yoyaku__tab-head-item--rice-at-home {
    font-size: 1.6rem;
    padding-top: 24px;
  }
}
.yoyaku__tab-head-item--rice-at-home::before {
  border-top: 7px solid #794A00;
}
.yoyaku__tab-head-item--current::before {
  display: block;
}
.yoyaku__tab-body-item {
  padding: 32px 16px;
}
@media screen and (min-width: 769px) {
  .yoyaku__tab-body-item {
    padding: 32px 0 48px;
  }
}
.yoyaku__tab-body-item--restaurant {
  max-width: 792px;
}
.yoyaku__tab-body-item--restaurant-wrap {
  max-width: 590px;
  margin: 0 auto;
}
.yoyaku__tab-body-item-ttl {
  color: #fff;
  margin-bottom: 0;
}
.yoyaku__tab-body-item-ttl span {
  font-size: 2.4rem;
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  .yoyaku__tab-body-item-ttl span {
    display: inline-block;
    font-size: 3.8rem;
    margin-left: 8px;
  }
}
.yoyaku__tab-body-item-description {
  font-size: 1.4rem;
  line-height: 20px;
  color: #fff;
  text-align: center;
  margin-top: 24px;
}
@media screen and (min-width: 769px) {
  .yoyaku__tab-body-item-description {
    font-size: 1.6rem;
    line-height: 32px;
    margin-top: 16px;
  }
}
@media screen and (min-width: 769px) {
  .yoyaku__tab-body-item-wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1000px;
    margin: 48px auto 0;
  }
}
.yoyaku__tab-body-item-wrap--date {
  background: #520BB2;
  height: 72px;
  font-size: 1.6rem;
  line-height: 72px;
  margin-top: 24px;
}
@media screen and (min-width: 769px) {
  .yoyaku__tab-body-item-wrap--date {
    height: 80px;
    font-size: 2rem;
    line-height: 80px;
    margin-top: 0;
    width: 488px;
  }
}
.yoyaku__tab-body-item-wrap--plan {
  background: #520BB2;
  height: 72px;
  font-size: 1.6rem;
  line-height: 72px;
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .yoyaku__tab-body-item-wrap--plan {
    height: 80px;
    font-size: 2rem;
    line-height: 80px;
    margin-top: 0;
    width: 488px;
  }
}
.yoyaku__tab-body-item--regist {
  background: #520BB2;
  height: 44px;
  font-size: 1.4rem;
  line-height: 44px;
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .yoyaku__tab-body-item--regist {
    height: 56px;
    line-height: 56px;
    margin: 32px auto 0;
    width: 590px;
  }
}
.yoyaku__tab-body-item--config {
  display: block;
  text-decoration: underline;
  font-size: 1.3rem;
  line-height: 19px;
  margin-top: 24px;
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .yoyaku__tab-body-item--config {
    margin-top: 32px;
  }
}
.yoyaku__tab-body-item h3 {
  font-size: 2rem;
  line-height: 41px;
  text-align: center;
  color: #fff;
  margin-top: 16px;
}
.yoyaku__tab-body-item h4 {
  font-size: 1.2rem;
  line-height: 18px;
  color: #fff;
  margin-top: 8px;
  margin-bottom: 8px;
}
.yoyaku__tab-body-item-tel--restaurant {
  border: none;
  background: #794A00;
  height: 64px;
  font-size: 1.6rem;
  line-height: 64px;
  text-align: center;
  color: #fff;
  margin-bottom: 24px;
}
@media screen and (min-width: 769px) {
  .yoyaku__tab-body-item-tel--restaurant {
    height: 80px;
    font-size: 2rem;
    line-height: 80px;
  }
}
.yoyaku__tab-body-item-tel--restaurant span {
  border-left: none;
  background: none;
  width: 64px;
}
@media screen and (min-width: 769px) {
  .yoyaku__tab-body-item-tel--restaurant span {
    width: 80px;
  }
}
.yoyaku__tab-body-item-tel--restaurant span svg {
  width: 20px;
  top: 5px;
}
@media screen and (min-width: 769px) {
  .yoyaku__tab-body-item-tel--restaurant span svg {
    width: 27px;
    top: 6px;
  }
}
.yoyaku__tab-body-item-tel--rice-at-home {
  border: 1px solid #666;
  font-size: 1.2rem;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .yoyaku__tab-body-item-tel--rice-at-home {
    height: 56px;
    font-size: 1.4rem;
    line-height: 56px;
    text-align: center;
  }
}
.yoyaku__tab-body-item-tel--rice-at-home span {
  border-left: 1px solid #666;
}
@media screen and (min-width: 769px) {
  .yoyaku__tab-body-item-tel--rice-at-home span {
    height: 54px;
  }
}
.yoyaku__tab-body-item-tel--rice-at-home span svg {
  width: 20px;
  top: 5px;
}
.yoyaku__tab-body-item--rice-at-home {
  background: #794A00;
  height: 44px;
  font-size: 1.4rem;
  line-height: 44px;
  margin: 16px auto 24px;
}
@media screen and (min-width: 769px) {
  .yoyaku__tab-body-item--rice-at-home {
    height: 56px;
    font-size: 1.6rem;
    line-height: 56px;
    margin: 16px auto 24px;
    width: 590px;
  }
}

.yoyaku-restaurant {
  background: #1F1F1F;
}
@media screen and (min-width: 769px) {
  .yoyaku-restaurant {
    display: none;
  }
}
.yoyaku-restaurant--bottom {
  display: block;
}
.yoyaku-restaurant__container {
  padding: 40px 32px 48px;
}
@media screen and (min-width: 769px) {
  .yoyaku-restaurant__container {
    max-width: 792px;
    margin: 0 auto;
    padding: 64px 0;
  }
}
.yoyaku-restaurant__ttl {
  color: #fff;
  margin-bottom: 0;
}
@media screen and (min-width: 769px) {
  .yoyaku-restaurant__ttl {
    font-size: 3.8rem;
    line-height: 46px;
  }
}
.yoyaku-restaurant__ttl span {
  font-size: 2.4rem;
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  .yoyaku-restaurant__ttl span {
    display: inline-block;
    font-size: 3.8rem;
    line-height: 46px;
    font-weight: normal;
    margin-left: 8px;
  }
}
.yoyaku-restaurant h3 {
  font-size: 2rem;
  line-height: 41px;
  text-align: center;
  color: #fff;
  margin-top: 16px;
  margin-bottom: 8px;
}
@media screen and (min-width: 769px) {
  .yoyaku-restaurant h3 {
    font-size: 2.4rem;
    line-height: 48px;
    margin-top: 8px;
  }
}
.yoyaku-restaurant h4 {
  font-size: 1.2rem;
  line-height: 18px;
  color: #fff;
  margin-top: 8px;
  margin-bottom: 8px;
}
.yoyaku-restaurant__tel {
  border: none;
  background: #794A00;
  height: 64px;
  font-size: 1.6rem;
  line-height: 64px;
  text-align: center;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .yoyaku-restaurant__tel {
    height: 80px;
    font-size: 2rem;
    line-height: 80px;
  }
}
.yoyaku-restaurant__tel span {
  border-left: none;
  background: none;
  width: 64px;
}
@media screen and (min-width: 769px) {
  .yoyaku-restaurant__tel span {
    width: 80px;
  }
}
.yoyaku-restaurant__tel span svg {
  width: 20px;
  top: 5px;
}
@media screen and (min-width: 769px) {
  .yoyaku-restaurant__tel span svg {
    width: 27px;
    top: 6px;
  }
}

.service {
  border-top: 1px solid #ddd;
}
.service__container {
  padding: 32px 16px 80px;
}
@media screen and (min-width: 769px) {
  .service__container {
    padding: 48px 0 80px;
  }
}
@media screen and (min-width: 769px) {
  .service__ttl {
    margin-bottom: 48px;
  }
}
.service__ttl span {
  font-size: 2rem;
  font-weight: normal;
  margin-top: 16px;
}
@media screen and (min-width: 769px) {
  .service__ttl span {
    font-size: 2.4rem;
    margin-top: 8px;
  }
}
.service__description {
  display: none;
  font-size: 1.6rem;
  line-height: 32px;
  text-align: center;
  margin-bottom: 56px;
}
@media screen and (min-width: 769px) {
  .service__description {
    display: block;
  }
}
.service ul {
  list-style: none;
}
@media screen and (min-width: 769px) {
  .service ul {
    display: flex;
    flex-wrap: wrap;
    max-width: 1000px;
    margin: 0 auto;
  }
}
.service__item {
  width: 100%;
  margin-top: 8px;
  position: relative;
}
@media screen and (min-width: 769px) {
  .service__item {
    width: 50%;
    margin-top: 0;
  }
}
@media screen and (min-width: 1025px) {
  .service__item {
    /*width: 25%;*/
    width: 50%;
  }
}
.service__item a {
  display: block;
}
.service__item a::before {
  content: '';
  width: 68px;
  height: 68px;
  border: 2px solid #fff;
  border-radius: 50%;
  z-index: 10000;
  position: absolute;
  bottom: 40px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.service__item a::after {
  content: '';
  width: 24px;
  height: 24px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  z-index: 10000;
  position: absolute;
  bottom: 62px;
  left: -10px;
  right: 0;
  margin: 0 auto;
}
.service__item--photo::after {
  content: '';
  background: #000;
  opacity: 0.20;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.service__item h4 {
  font-size: 2rem;
  text-align: center;
  color: #fff;
  z-index: 10000;
  position: absolute;
  top: 32px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.service__item h4::after {
  content: '';
  background: #fff;
  width: 112px;
  height: 1px;
  position: absolute;
  bottom: -8px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.service__item h3 {
  width: 100%;
  font-size: 4rem;
  text-align: center;
  color: #fff;
  z-index: 10000;
  position: absolute;
  top: 52%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.service__item p {
  width: 100%;
  font-size: 1.4rem;
  line-height: 28px;
  text-align: center;
  color: #fff;
  z-index: 10000;
  position: absolute;
  top: 68%;
  left: 50%;
  transform: translate(-50%, -50%);
}

@media screen and (min-width: 769px) {
  .nature img {
    height: 427px;
    object-fit: cover;
  }
}

.contact {
  background: #151515;
}
.contact__container {
  padding: 40px 32px 64px;
}
@media screen and (min-width: 769px) {
  .contact__container {
    width: 92%;
    max-width: 1000px;
    padding: 40px 0 64px;
  }
}
.contact__ttl {
  color: #fff;
  margin-bottom: 8px;
}
@media screen and (min-width: 769px) {
  .contact__ttl {
    margin-bottom: 32px;
  }
}
.contact__wrap {
  margin-bottom: 24px;
}
@media screen and (min-width: 769px) {
  .contact__wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
.contact__item {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .contact__item {
    width: calc((100% - 64px) / 3);
  }
}
.contact h4 {
  font-size: 1.2rem;
  line-height: 18px;
  color: #fff;
  margin: 24px auto 8px;
}
@media screen and (min-width: 769px) {
  .contact h4 {
    margin: 0 auto 8px;
  }
}
.contact__tel {
  border: 1px solid #666;
  font-size: 1.2rem;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .contact__tel {
    width: 100%;
  }
}
.contact__tel span {
  border-left: 1px solid #666;
}
.contact__tel span svg {
  width: 20px;
  top: 5px;
}
.contact__mail {
  border: 1px solid #666;
  color: #fff;
}
@media screen and (min-width: 769px) {
  .contact__mail {
    width: calc((100% - 64px) / 3);
    margin: 0 auto;
  }
}
.contact__mail span {
  border-left: 1px solid #666;
}

.nav__hotel {
  display: none;
  background: #F8F8F8;
  width: 100%;
  height: 100%;
  padding: 48px 64px 64px;
  box-sizing: border-box;
  position: fixed;
  top: 0;
  overflow-y: scroll;
  z-index: 60000;
}
.nav__hotel-toggle {
  display: block;
  width: 48px;
  height: 40px;
  cursor: pointer;
  position: fixed;
  top: 48px;
  right: 64px;
  z-index: 70000;
}
.nav__hotel-toggle span {
  display: block;
  position: absolute;
  width: 48px;
  border-bottom: 1px solid #333;
  transition: 0.2s ease-out;
}
.nav__hotel-toggle span:nth-child(1) {
  top: 14px;
  transform: rotate(-45deg);
}
.nav__hotel-toggle span:nth-child(2) {
  top: 14px;
  transform: rotate(45deg);
}
.nav__hotel-ttl {
  margin-top: 16px;
  margin-bottom: 40px;
}
.nav__hotel-description {
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 40px;
}
.nav__hotel--date {
  background: #520BB2;
  height: 64px;
  font-size: 1.6rem;
  line-height: 64px;
  width: 792px;
  margin: 32px auto;
}
.nav__hotel--plan {
  background: #520BB2;
  height: 64px;
  font-size: 1.6rem;
  line-height: 64px;
  width: 792px;
  margin: 32px auto;
}
.nav__hotel--config {
  display: block;
  font-size: 1.3rem;
  line-height: 19px;
  text-align: center;
  text-decoration: underline;
}
.nav__hotel-member {
  width: 1000px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  padding: 32px 0 64px;
  margin: 64px auto 32px;
}
.nav__hotel-member h3 {
  font-size: 2.4rem;
  line-height: 48px;
  margin-bottom: 16px;
}
.nav__hotel-member-description {
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
}
.nav__hotel-member-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
}
.nav__hotel-member-item {
  display: block;
  font-size: 1.3rem;
  line-height: 19px;
  text-align: center;
  text-decoration: underline;
  padding: 0 16px;
}
.nav__hotel--regist {
  background: #520BB2;
  height: 64px;
  font-size: 1.6rem;
  line-height: 64px;
  width: 285px;
  margin: 32px auto 24px;
}
.nav__hotel h3 {
  font-size: 2.4rem;
  line-height: 48px;
  margin-bottom: 24px;
}
.nav__hotel-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 792px;
  margin: 0 auto;
}
.nav__hotel-item {
  height: 56px;
  font-size: 1.4rem;
  line-height: 56px;
  text-align: center;
  background: #fff;
  width: 384px;
  padding-right: 56px;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .nav__hotel-item span {
    height: 54px;
  }
}
.nav__hotel-item span svg {
  width: 20px;
  top: 5px;
}
.nav__hotel-item--fax span svg {
  width: 23px;
  top: 4px;
}

.nav__restaurant {
  display: none;
  background: #F8F8F8;
  width: 100%;
  height: 100%;
  padding: 48px 64px 64px;
  box-sizing: border-box;
  position: fixed;
  top: 0;
  overflow-y: scroll;
  z-index: 60000;
}
.nav__restaurant-toggle {
  display: block;
  width: 48px;
  height: 40px;
  cursor: pointer;
  position: fixed;
  top: 48px;
  right: 64px;
  z-index: 70000;
}
.nav__restaurant-toggle span {
  display: block;
  position: absolute;
  width: 48px;
  border-bottom: 1px solid #333;
  transition: 0.2s ease-out;
}
.nav__restaurant-toggle span:nth-child(1) {
  top: 14px;
  transform: rotate(-45deg);
}
.nav__restaurant-toggle span:nth-child(2) {
  top: 14px;
  transform: rotate(45deg);
}
.nav__restaurant-ttl {
  margin-top: 16px;
  margin-bottom: 16px;
}
.nav__restaurant h3 {
  font-size: 2.4rem;
  line-height: 48px;
  text-align: center;
  margin-top: 16px;
}
.nav__restaurant h4 {
  font-size: 1.2rem;
  line-height: 18px;
  width: 792px;
  margin: 8px auto;
}
.nav__restaurant-tel--restaurant {
  border: none;
  background: #794A00;
  height: 80px;
  font-size: 2rem;
  line-height: 80px;
  text-align: center;
  color: #fff;
  width: 792px;
  margin: 0 auto 64px;
}
.nav__restaurant-tel--restaurant span {
  border-left: none;
  background: none;
  width: 80px;
}
.nav__restaurant-tel--restaurant span svg {
  width: 27px;
  top: 6px;
}
.nav__restaurant-tel--rice-at-home {
  border: 1px solid #bbb;
  height: 56px;
  font-size: 1.4rem;
  line-height: 56px;
  text-align: center;
  width: 590px;
  margin: 0 auto;
}
.nav__restaurant-tel--rice-at-home span {
  border-left: 1px solid #bbb;
  height: 54px;
}
.nav__restaurant-tel--rice-at-home span svg {
  width: 20px;
  top: 5px;
}
.nav__restaurant-wrap {
  width: 1000px;
  margin: 0 auto;
  border-top: 1px solid #ccc;
}
.nav__restaurant-wrap h4 {
  width: 590px;
}
.nav__restaurant--rice-at-home {
  background: #794A00;
  height: 56px;
  font-size: 1.6rem;
  line-height: 56px;
  width: 590px;
  margin: 16px auto 24px;
}

/***-----------------------------------
ヘッダーアニメーション処理
-----------------------------------***/
.header--hotel--hide {
  background: #333333;
}
@media screen and (min-width: 769px) {
  .header--hotel--hide {
    display: none;
  }
}

/***-----------------------------------
フッターパネルアニメーション処理
-----------------------------------***/
.footer__nav--hide {
  transition: 0.2s ease-out;
  /*transform: translateY(72px);*/
}

/***-----------------------------------
format
-----------------------------------***/
.entry__content {
  margin-bottom: 40px;
}
@media screen and (min-width: 769px) {
  .entry__content {
    margin-top: 123px;
    margin-bottom: 80px;
  }
}
.entry__content .entry__head .breadcrumb {
  border-bottom: 1px solid #bbb;
  width: 100%;
  overflow-x: scroll;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__head .breadcrumb {
    border-bottom: none;
    overflow: hidden;
  }
}
.entry__content .entry__head .breadcrumb ul {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 48px;
  margin-top: 64px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__head .breadcrumb ul {
    height: 46px;
    margin-top: 0;
    border: none;
  }
}
.entry__content .entry__head .breadcrumb ul li {
  text-decoration: none;
  font-size: 12px;
  padding: 0 12px 0 8px;
  position: relative;
  white-space: nowrap;
}
.entry__content .entry__head .breadcrumb ul li svg {
  width: 13px;
  margin-left: 8px;
}
@media screen and (min-width: 1025px) {
  .entry__content .entry__head .breadcrumb ul li svg {
    margin-left: 80px;
  }
}
.entry__content .entry__head .breadcrumb ul li:after {
  content: '\003e';
  font-size: 12px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 8px;
}
.entry__content .entry__head .breadcrumb ul li:last-child:after {
  content: '';
  /* 最後のliの後ろには区切り文字を表示しない */
}
.entry__content .entry__head .entry__kv {
  width: 100%;
  height: 375px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__head .entry__kv {
    height: 480px;
  }
}
.entry__content .entry__head .entry__kv img {
  display: block;
  height: 375px;
  width: 100%;
  object-fit: cover;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__head .entry__kv img {
    height: 480px;
  }
}
.entry__content .entry__body .bg-blue {
  background: #3CBEEA !important;
}
.entry__content .entry__body .bg-pink {
  background: #F56891 !important;
}
.entry__content .entry__body .bg-black {
  background: #151515 !important;
}
.entry__content .entry__body .bg-dark-gray {
  background: #333333 !important;
}
.entry__content .entry__body .bg-medium-gray {
  background: #999999 !important;
}
.entry__content .entry__body .bg-light-gray {
  background: #bbbbbb !important;
}
.entry__content .entry__body .bg-silver-gray {
  background: #dddddd !important;
}
.entry__content .entry__body .bg-crystal-gray {
  background: #EFEFEF !important;
}
.entry__content .entry__body .bg-snow-white {
  background: #F8F8F8 !important;
}
.entry__content .entry__body .bg-white {
  background: #FFFFFF !important;
}
.entry__content .entry__body .bg-gold {
  background: #BC9F04 !important;
}
.entry__content .entry__body .bg-purple {
  background: #520BB2 !important;
}
.entry__content .entry__body .bg-brown {
  background: #551C00 !important;
}
.entry__content .entry__body .color-blue {
  color: #3CBEEA !important;
}
.entry__content .entry__body .color-pink {
  color: #F56891 !important;
}
.entry__content .entry__body .color-black {
  color: #151515 !important;
}
.entry__content .entry__body .color-dark-gray {
  color: #333333 !important;
}
.entry__content .entry__body .color-medium-gray {
  color: #999999 !important;
}
.entry__content .entry__body .color-light-gray {
  color: #bbbbbb !important;
}
.entry__content .entry__body .color-silver-gray {
  color: #dddddd !important;
}
.entry__content .entry__body .color-crystal-gray {
  color: #EFEFEF !important;
}
.entry__content .entry__body .color-snow-white {
  color: #F8F8F8 !important;
}
.entry__content .entry__body .color-white {
  color: #FFFFFF !important;
}
.entry__content .entry__body .color-gold {
  color: #BC9F04 !important;
}
.entry__content .entry__body .color-purple {
  color: #520BB2 !important;
}
.entry__content .entry__body .color-brown {
  color: #551C00 !important;
}
.entry__content .entry__body .button, .entry__content .entry__body .contact-form .submit input {
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .button, .entry__content .entry__body .contact-form .submit input {
    width: 584px;
  }
}
.entry__content .entry__body .button a, .entry__content .entry__body .contact-form .submit input a {
  text-decoration: none;
  display: block;
  background: #3CBEEA;
  font-size: 1.6rem;
  line-height: 24px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  padding: 20px;
  box-sizing: border-box;
  margin: 0 auto;
  position: relative;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .button a, .entry__content .entry__body .contact-form .submit input a {
    font-size: 1.8rem;
    line-height: 27px;
    padding: 19px;
  }
}
.entry__content .entry__body .button a::after, .entry__content .entry__body .contact-form .submit input a::after {
  content: '';
  width: 12px;
  height: 12px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .button a::after, .entry__content .entry__body .contact-form .submit input a::after {
    width: 8px;
    height: 8px;
  }
}
.entry__content .entry__body .button--m {
  width: 256px;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .button--m {
    width: 384px;
  }
}
.entry__content .entry__body .button--m a {
  text-decoration: none;
  display: block;
  background: #3CBEEA;
  font-size: 1.4rem;
  line-height: 21px;
  font-weight: bold;
  text-align: center;
  color: #fff;
  padding: 12px;
  box-sizing: border-box;
  margin: 0 auto;
  position: relative;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .button--m a {
    font-size: 1.6rem;
    line-height: 24px;
    padding: 10px;
  }
}
.entry__content .entry__body .button--m a::after {
  content: '';
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: 50%;
  right: 24px;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .button--m a::after {
    width: 8px;
    height: 8px;
  }
}
.entry__content .entry__body .button--s {
  width: auto;
  text-align: center;
  margin: 0 auto;
}
.entry__content .entry__body .button--s a {
  text-decoration: underline;
  display: inline;
  background: none;
  font-size: 1.6rem;
  line-height: 24px;
  font-weight: bold;
  text-align: center;
  color: #3CBEEA;
  padding: 0;
  margin: 0 auto;
  position: relative;
}
.entry__content .entry__body .button--s a::after {
  display: none;
}
.entry__content .entry__body .button--xs {
  width: auto;
  text-align: center;
  margin: 0 auto;
}
.entry__content .entry__body .button--xs a {
  text-decoration: underline;
  display: inline;
  background: none;
  font-size: 1.4rem;
  line-height: 21px;
  font-weight: bold;
  text-align: center;
  color: #3CBEEA;
  padding: 0;
  margin: 0 auto;
  position: relative;
}
.entry__content .entry__body .button--xs a::after {
  display: none;
}
.entry__content .entry__body .container, .entry__content .entry__body .recommend__container, .entry__content .entry__body .pickup__container, .entry__content .entry__body .info__container, .entry__content .entry__body .info__container--hotel, .entry__content .entry__body .topics__container, .entry__content .entry__body .inquiry__container, .entry__content .entry__body .features__container, .entry__content .entry__body .restaurant-L__container, .entry__content .entry__body .restaurant-M__container, .entry__content .entry__body .restaurant-LW__container, .entry__content .entry__body .restaurant-MW__container, .entry__content .entry__body .plan__container, .entry__content .entry__body .style__container, .entry__content .entry__body .voice__container, .entry__content .entry__body .reservation__container, .entry__content .entry__body .yoyaku__tab-body-item, .entry__content .entry__body .yoyaku-restaurant__container, .entry__content .entry__body .service__container, .entry__content .entry__body .contact__container {
  width: 100%;
  padding: 32px 16px;
  box-sizing: border-box;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .container, .entry__content .entry__body .recommend__container, .entry__content .entry__body .pickup__container, .entry__content .entry__body .info__container, .entry__content .entry__body .info__container--hotel, .entry__content .entry__body .topics__container, .entry__content .entry__body .inquiry__container, .entry__content .entry__body .features__container, .entry__content .entry__body .restaurant-L__container, .entry__content .entry__body .restaurant-M__container, .entry__content .entry__body .restaurant-LW__container, .entry__content .entry__body .restaurant-MW__container, .entry__content .entry__body .plan__container, .entry__content .entry__body .style__container, .entry__content .entry__body .voice__container, .entry__content .entry__body .reservation__container, .entry__content .entry__body .yoyaku__tab-body-item, .entry__content .entry__body .yoyaku-restaurant__container, .entry__content .entry__body .service__container, .entry__content .entry__body .contact__container {
    width: 92%;
    max-width: 996px;
    padding: 40px 0;
    box-sizing: border-box;
    margin: 0 auto;
  }
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .container--wide {
    max-width: 1200px;
  }
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .container--narrow {
    max-width: 640px;
  }
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .container--full {
    width: 100%;
  }
}
.entry__content .entry__body h1 {
  font-size: 4.2rem;
  line-height: 50px;
  text-align: center;
  margin-bottom: 48px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body h1 {
    margin-top: 16px;
    margin-bottom: 40px;
  }
}
.entry__content .entry__body h1 small {
  display: block;
  font-size: 1.4rem;
  line-height: 21px;
}
.entry__content .entry__body h2 {
  font-size: 3.2rem;
  line-height: 38px;
  text-align: center;
  margin-top: 72px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body h2 {
    font-size: 3.8rem;
    line-height: 46px;
    margin-top: 112px;
  }
}
.entry__content .entry__body h2 small {
  display: block;
  font-size: 1.4rem;
  line-height: 21px;
}
.entry__content .entry__body h3 {
  font-size: 2.6rem;
  line-height: 32px;
  text-align: center;
  margin-top: 72px;
  margin-bottom: 24px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body h3 {
    font-size: 3rem;
    line-height: 60px;
    margin-top: 80px;
    margin-bottom: 32px;
  }
}
.entry__content .entry__body h3 small {
  display: block;
  font-size: 1.4rem;
  line-height: 21px;
}
.entry__content .entry__body h4 {
  font-size: 2.2rem;
  line-height: 28px;
  text-align: center;
  margin-top: 72px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body h4 {
    font-size: 2.4rem;
    line-height: 48px;
    margin-top: 80px;
  }
}
.entry__content .entry__body h4 small {
  display: block;
  font-size: 1.4rem;
  line-height: 21px;
  font-weight: normal;
}
.entry__content .entry__body .lead {
  font-size: 1.8rem;
  line-height: 32px;
  text-align: justify;
  margin-bottom: 60px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .lead {
    text-align: center;
    margin-bottom: 72px;
  }
}
.entry__content .entry__body p {
  font-size: 1.5rem;
  line-height: 26px;
  text-align: justify;
  margin-top: 32px;
  margin-bottom: 16px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body p {
    margin-top: 40px;
    margin-bottom: 24px;
  }
}
.entry__content .entry__body p small {
  font-size: 1.2rem;
}
.entry__content .entry__body a {
  text-decoration: underline;
  font-size: 1.5rem;
  line-height: 26px;
  text-align: justify;
  margin-top: 32px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body a {
    margin-top: 40px;
  }
}
.entry__content .entry__body a small {
  font-size: 1.2rem;
}
.entry__content .entry__body ul {
  font-size: 1.5rem;
  line-height: 26px;
  text-align: justify;
  margin-top: 32px;
  margin-left: 20px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body ul {
    margin-top: 40px;
  }
}
.entry__content .entry__body ul small {
  font-size: 1.2rem;
}
.entry__content .entry__body ol {
  font-size: 1.5rem;
  line-height: 26px;
  text-align: justify;
  margin-top: 32px;
  margin-left: 20px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body ol {
    margin-top: 40px;
  }
}
.entry__content .entry__body ol small {
  font-size: 1.2rem;
}
.entry__content .entry__body table {
  width: 100%;
  margin-top: 32px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body table {
    margin-top: 40px;
  }
}
.entry__content .entry__body table tr {
  border-bottom: 1px solid #ddd;
}
.entry__content .entry__body table tr:nth-child(1) {
  border-top: 1px solid #ddd;
}
.entry__content .entry__body table tr th {
  background: #f8f8f8;
  width: 30%;
  font-size: 1.5rem;
  line-height: 26px;
  text-align: justify;
  text-align: left;
  padding: 8px;
  box-sizing: border-box;
}
.entry__content .entry__body table tr th small {
  font-size: 1.2rem;
}
.entry__content .entry__body table tr td {
  width: 35%;
  font-size: 1.5rem;
  line-height: 26px;
  text-align: justify;
  text-align: center;
  padding: 8px;
  box-sizing: border-box;
  border-left: 1px solid #ddd;
}
.entry__content .entry__body table tr td small {
  font-size: 1.2rem;
}
.entry__content .entry__body table caption {
  font-size: 1.5rem;
  line-height: 26px;
  font-weight: bold;
  text-align: center;
  padding: 8px;
  margin-bottom: 8px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body table caption {
    text-align: left;
  }
}
.entry__content .entry__body .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-top: 24px;
}
.entry__content .entry__body .wrap:nth-child(1) {
  margin-top: 0;
}
.entry__content .entry__body .wrap .wrap-item {
  width: 100%;
  margin-top: 24px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .wrap .wrap-item {
    width: calc((100% - 24px) / 2);
    margin-right: 24px;
  }
  .entry__content .entry__body .wrap .wrap-item:nth-child(1) {
    margin-top: 0;
  }
  .entry__content .entry__body .wrap .wrap-item:nth-child(2) {
    margin-top: 0;
  }
}
.entry__content .entry__body .wrap .wrap-item img {
  display: block;
  height: 192px;
  object-fit: cover;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .wrap .wrap-item img {
    height: 328px;
  }
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .wrap .wrap-item:nth-child(2n) {
    margin-right: 0;
  }
}
.entry__content .entry__body .wrap .wrap-item .h4 {
  margin-top: 0;
}
.entry__content .entry__body .wrap .wrap-item .h4--right {
  text-align: right;
}
.entry__content .entry__body .wrap .wrap-item .h4--left {
  text-align: left;
}
.entry__content .entry__body .wrap .wrap-item .button--more {
  text-align: right;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .wrap .wrap-item .button--more {
    text-align: left;
  }
}
.entry__content .entry__body .wrap .wrap-item .button--more a {
  text-decoration: none;
  display: inline;
  background: none;
  width: auto;
  font-size: 1.6rem;
  line-height: 24px;
  font-weight: normal;
  text-align: center;
  color: #3CBEEA;
  padding: 0 16px 0 0;
  margin: 0 auto;
  position: relative;
}
.entry__content .entry__body .wrap .wrap-item .button--more a::after {
  content: '';
  width: 10px;
  height: 10px;
  border-top: 1px solid #3CBEEA;
  border-right: 1px solid #3CBEEA;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(45deg);
}
.entry__content .entry__body .wrap .wrap-item .button--right {
  text-align: right;
}
.entry__content .entry__body .wrap .wrap-item > *:first-child {
  margin-top: 0;
}
.entry__content .entry__body .wrap .wrap-item > *:last-child {
  margin-top: 0;
}
.entry__content .entry__body .wrap .box {
  position: relative;
}
.entry__content .entry__body .wrap .box::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.entry__content .entry__body .wrap .box img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  object-fit: cover;
}
.entry__content .entry__body .wrap--reverse {
  flex-direction: column-reverse;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .wrap--reverse {
    flex-direction: row;
  }
}
.entry__content .entry__body .wrap--3 .wrap-item {
  margin-top: 24px;
}
.entry__content .entry__body .wrap--3 .wrap-item:nth-child(1) {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .wrap--3 .wrap-item {
    width: calc((100% - 48px) / 3);
    margin-right: 24px;
  }
  .entry__content .entry__body .wrap--3 .wrap-item:nth-child(2) {
    margin-top: 0;
  }
  .entry__content .entry__body .wrap--3 .wrap-item:nth-child(3) {
    margin-top: 0;
  }
}
.entry__content .entry__body .wrap--3 .wrap-item img {
  display: block;
  height: 192px;
  object-fit: cover;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .wrap--3 .wrap-item img {
    height: 216px;
  }
}
@media screen and (min-width: 1025px) {
  .entry__content .entry__body .wrap--3 .wrap-item img {
    height: 256px;
  }
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .wrap--3 .wrap-item:nth-child(2n) {
    margin-right: 24px;
  }
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .wrap--3 .wrap-item:nth-child(3n) {
    margin-right: 0;
  }
}
.entry__content .entry__body .wrap--4 .wrap-item {
  margin-top: 24px;
}
.entry__content .entry__body .wrap--4 .wrap-item:nth-child(1) {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .wrap--4 .wrap-item {
    width: calc((100% - 72px) / 4);
    margin-right: 24px;
  }
  .entry__content .entry__body .wrap--4 .wrap-item:nth-child(2) {
    margin-top: 0;
  }
  .entry__content .entry__body .wrap--4 .wrap-item:nth-child(3) {
    margin-top: 0;
  }
  .entry__content .entry__body .wrap--4 .wrap-item:nth-child(4) {
    margin-top: 0;
  }
}
.entry__content .entry__body .wrap--4 .wrap-item img {
  display: block;
  height: 192px;
  object-fit: cover;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .wrap--4 .wrap-item img {
    height: 160px;
  }
}
@media screen and (min-width: 1025px) {
  .entry__content .entry__body .wrap--4 .wrap-item img {
    height: 184px;
  }
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .wrap--4 .wrap-item:nth-child(2n) {
    margin-right: 24px;
  }
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .wrap--4 .wrap-item:nth-child(3n) {
    margin-right: 24px;
  }
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .wrap--4 .wrap-item:nth-child(4n) {
    margin-right: 0;
  }
}
.entry__content .entry__body .wrap__LP {
  margin-top: 0;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .wrap__LP {
    margin-top: 40px;
  }
}
.entry__content .entry__body .news {
  margin-top: 80px;
  padding-bottom: 128px;
    /*p {
    margin: 0;
}*/
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .news {
    margin-top: 64px;
    padding-bottom: 160px;
  }
}
.entry__content .entry__body .news h1 {
  margin: 0;
  font-size: 3rem;
  line-height: 40px;
  color: #151515;
  text-align: left;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .news h1 {
    font-size: 4.8rem;
    line-height: 63px;
  }
}
.entry__content .entry__body .news__tag, .entry__content .entry__body .news__item--tag {
  display: inline-block;
  background: #151515;
  min-width: 56px;
  height: 24px;
  font-size: 1.2rem;
  line-height: 24px;
  color: #fff;
  text-align: center;
  margin-top: 16px;
  padding-left: 8px;
  padding-right: 8px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .news__tag, .entry__content .entry__body .news__item--tag {
    border: none;
    min-width: 88px;
    margin-top: 24px;
  }
}
.entry__content .entry__body .news__date, .entry__content .entry__body .news__item--date {
  font-size: 1.4rem;
  line-height: 150%;
  color: #151515;
  margin-top: 12px;
  margin-bottom: 48px;
}
.entry__content .entry__body .news p.lead {
  margin: 0;
  font-size: 1.5rem;
  line-height: 26px;
  font-weight: normal;
  text-align: justify;
  margin-top: 48px;
}
.entry__content .entry__body .news p.head {
  margin-top: 40px;
}
.entry__content .entry__body .news ul {
  margin: 0;
  margin-left: 30px;
}
.entry__content .entry__body .news h2 {
  margin: 0;
  font-size: 2.8rem;
  line-height: 35px;
  text-align: center;
  border-top: 1px solid #bbb;
  margin-top: 72px;
  padding-top: 48px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .news h2 {
    font-size: 4rem;
    line-height: 63px;
    margin-top: 88px;
    padding-top: 40px;
  }
}
.entry__content .entry__body .news h3 {
  margin: 0;
  font-size: 2.4rem;
  line-height: 63px;
  text-align: center;
  margin-top: 24px;
  margin-bottom: 48px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .news h3 {
    font-size: 3.2rem;
    margin-bottom: 32px;
  }
}
.entry__content .entry__body .news h3 small {
  display: block;
  font-size: 1.6rem;
}
.entry__content .entry__body .news__wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
}
.entry__content .entry__body .news__item {
  width: 100%;
  margin-top: 48px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .news__item {
    width: calc((100% - 40px)/3);
    margin-right: 20px;
    margin-top: 48px;
  }
  .entry__content .entry__body .news__item:nth-child(3n) {
    margin-right: 0;
  }
}
@media screen and (min-width: 1025px) {
  .entry__content .entry__body .news__item {
    width: calc((100% - 60px)/4);
    margin-right: 20px;
    margin-top: 48px;
  }
  .entry__content .entry__body .news__item:nth-child(3n) {
    margin-right: 20px;
  }
  .entry__content .entry__body .news__item:nth-child(4n) {
    margin-right: 0;
  }
}
.entry__content .entry__body .news__item a {
  display: block;
  text-decoration: none;
  margin-top: 0;
}
.entry__content .entry__body .news__item a img {
  height: 234px;
  object-fit: cover;
}
.entry__content .entry__body .news__item--tag {
  margin-top: 12px;
  margin-bottom: 10px;
}
.entry__content .entry__body .news__item--date {
  font-size: 1.2rem;
  text-align: right;
  margin-top: 8px;
  margin-bottom: 0;
}
.entry__content .entry__body .news__item p {
  font-size: 1.4rem;
  line-height: 21px;
  text-align: left;
  margin: 0;
}
.entry__content .entry__body .news-list__btn {
  display: flex;
  justify-content: center;
  margin-top: 120px;
  margin-bottom: 24px;
}
.entry__content .entry__body .news-list__btn--prev {
  border-right: 1px solid #ddd;
}
.entry__content .entry__body .news-list__btn--prev a {
  text-decoration: none;
  font-size: 2.4rem;
  line-height: 24px;
  text-align: center;
  color: #520BB2;
  padding-left: 20px;
  margin-right: 40px;
  position: relative;
}
.entry__content .entry__body .news-list__btn--prev a::after {
  content: '';
  width: 10px;
  height: 10px;
  border-top: 1px solid #520BB2;
  border-left: 1px solid #520BB2;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(-45deg);
}
.entry__content .entry__body .news-list__btn--next a {
  text-decoration: none;
  font-size: 2.4rem;
  line-height: 24px;
  text-align: center;
  color: #520BB2;
  padding-right: 20px;
  margin-left: 40px;
  position: relative;
}
.entry__content .entry__body .news-list__btn--next a::after {
  content: '';
  width: 10px;
  height: 10px;
  border-top: 1px solid #520BB2;
  border-right: 1px solid #520BB2;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(45deg);
}
.entry__content .entry__body .news-list__pagination {
  list-style: none;
  display: flex;
  justify-content: center;
  margin: 0;
}
.entry__content .entry__body .news-list__pagination li {
  margin: 0 8px;
}
.entry__content .entry__body .news-list__pagination li a {
  font-size: 2rem;
  line-height: 24px;
  color: #520BB2;
  text-align: center;
}
.entry__content .entry__body .contact-form {
  margin-top: 80px;
  padding-bottom: 128px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .contact-form {
    max-width: 792px;
    margin-top: 64px;
    padding-bottom: 160px;
  }
}
.entry__content .entry__body .contact-form h1 {
  margin: 0;
  font-size: 4.2rem;
  line-height: 50px;
  text-align: center;
  margin-bottom: 0;
}
.entry__content .entry__body .contact-form h1 small {
  display: block;
  font-size: 1.4rem;
  line-height: 21px;
  font-weight: 600;
}
.entry__content .entry__body .contact-form p {
  margin: 0;
}
.entry__content .entry__body .contact-form p.lead {
  margin: 0;
  font-size: 1.5rem;
  line-height: 26px;
  font-weight: normal;
  text-align: justify;
  margin-top: 40px;
}
.entry__content .entry__body .contact-form p.head {
  font-weight: 600;
  margin-top: 40px;
  margin-bottom: 8px;
}
.entry__content .entry__body .contact-form .select p:nth-child(2) {
  position: relative;
}
.entry__content .entry__body .contact-form .select p:nth-child(2)::before {
  content: "";
  border-right: 1px solid #151515;
  border-bottom: 1px solid #151515;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  right: 40px;
  transform: translateY(-50%) rotate(45deg);
}
.entry__content .entry__body .contact-form .select select {
  -webkit-appearance: none;
  appearance: none;
  /* デフォルトのスタイルを無効 */
  width: 100%;
  height: 72px;
  border: 1px solid #707070;
  font-size: 1.8rem;
  line-height: 72px;
  font-weight: 600;
  padding: 0 16px;
  box-sizing: border-box;
  background: #fff;
  color: #151515;
}
.entry__content .entry__body .contact-form .select select::-ms-expand {
  display: none;
  /* デフォルトのスタイルを無効(IE用) */
}
.entry__content .entry__body .contact-form .mw_wp_form_confirm .select::before {
  content: none;
}
.entry__content .entry__body .contact-form input[type="text"],
.entry__content .entry__body .contact-form input[type="tel"],
.entry__content .entry__body .contact-form input[type="email"] {
  width: 100%;
  height: 56px;
  border: 1px solid #707070;
  border-radius: 0;
  font-size: 1.3rem;
  line-height: 56px;
  font-weight: 600;
  padding: 0 16px;
  box-sizing: border-box;
}
.entry__content .entry__body .contact-form input[type=radio] {
  /*display: none;*/
}
.entry__content .entry__body .contact-form input[type=radio]:checked + .radio1::after {
  opacity: 1;
}
.entry__content .entry__body .contact-form input[type=radio]:checked + .radio2::after {
  opacity: 1;
}
.entry__content .entry__body .contact-form .radio1 {
  display: inline-block;
  font-size: 15px;
  padding: 5px 30px;
  box-sizing: border-box;
  position: relative;
  width: auto;
}
.entry__content .entry__body .contact-form .radio1::before {
  content: '';
  display: block;
  background: #fff;
  border: 1px solid #bbb;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 50%;
  left: 5px;
  margin-top: -9px;
}
.entry__content .entry__body .contact-form .radio1::after {
  content: '';
  display: block;
  background: #fff;
  border: 4px solid #520BB2;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  left: 6px;
  margin-top: -8px;
  opacity: 0;
}
.entry__content .entry__body .contact-form .radio2 {
  display: inline-block;
  font-size: 15px;
  padding: 5px 30px;
  box-sizing: border-box;
  position: relative;
  width: auto;
}
.entry__content .entry__body .contact-form .radio2::before {
  content: '';
  display: block;
  background: #fff;
  border: 1px solid #bbb;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  position: absolute;
  top: 50%;
  left: 5px;
  margin-top: -9px;
}
.entry__content .entry__body .contact-form .radio2::after {
  content: '';
  display: block;
  background: #fff;
  border: 4px solid #520BB2;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  position: absolute;
  top: 50%;
  left: 6px;
  margin-top: -8px;
  opacity: 0;
}
.entry__content .entry__body .contact-form .mwform-radio-field-text {
  position: relative;
  top: 3px;
}
.entry__content .entry__body .contact-form textarea {
  width: 100%;
  height: 160px;
  border: 1px solid #707070;
  border-radius: 0;
  font-size: 1.3rem;
  line-height: 150%;
  font-weight: 600;
  padding: 16px;
  box-sizing: border-box;
}
.entry__content .entry__body .contact-form .submit {
  width: 100%;
  margin: 64px auto 0;
  position: relative;
                /*&::after {
                content: '';
                width: 12px;
                height: 12px;
                border-top: 2px solid #fff;
                border-right: 2px solid #fff;
                position: absolute;
                top: 50%;
                right: 24px;
                transform: translateY(-50%) rotate(45deg);

                @include mq-up('sm') {
                width: 8px;
                height: 8px;
            }
            }*/
}
.entry__content .entry__body .contact-form .submit input[type="submit"] + input[type="submit"] {
  margin-left: 25px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .contact-form .submit {
    width: 100%;
    text-align: center;
  }
}
.entry__content .entry__body .contact-form .submit input {
  background: #520BB2;
  color: #fff;
  width: 100%;
  height: 64px;
  font-size: 1.8rem;
  line-height: 64px;
}
@media screen and (min-width: 769px) {
  .entry__content .entry__body .contact-form .submit input {
    width: 282px;
  }
}
.entry__content .entry__body .contact-form .ans-type {
  font-size: 1.8rem;
  font-weight: 600;
}
.entry__content .entry__body .contact-form .ans {
  border-bottom: 1px solid #bbb;
  padding-bottom: 16px;
}

/***-----------------------------------
etc
-----------------------------------***/
.no-padding {
  padding-top: 0;
  padding-bottom: 0;
}
