@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Dancing+Script&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500&display=swap");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/* Slider */
/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}
[dir=rtl] .slick-prev {
  left: auto;
  right: -25px;
}
.slick-prev:before {
  content: "←";
}
[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}
[dir=rtl] .slick-next {
  left: -25px;
  right: auto;
}
.slick-next:before {
  content: "→";
}
[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

html * {
  box-sizing: border-box;
}

* {
  box-sizing: border-box;
  font-feature-settings: "palt" 1;
}

html {
  width: 100%;
  height: 100%;
  font-size: 62.5%;
}

body {
  color: #555;
}
body.sp-nav--open {
  overflow: hidden;
}

.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: inline-block;
  }
}

.pc {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

img {
  max-width: 100%;
}

p {
  line-height: 1.5;
}

.pwrap {
  display: inline-block;
}

.page-lead {
  width: 100%;
  text-align: center;
  padding: 1.5em 0;
}
@media screen and (max-width: 767px) {
  .page-lead {
    font-size: 2rem;
  }
}
.page-lead--main {
  font-size: 1em;
  margin-bottom: 1em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
@media screen and (max-width: 1099px) {
  .page-lead--main {
    font-size: 2.16vw;
  }
}
@media screen and (max-width: 767px) {
  .page-lead--main {
    font-size: 5.4vw;
  }
}
.page-lead--copy {
  font-size: 0.7em;
  margin-bottom: 3em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
@media screen and (max-width: 1099px) {
  .page-lead--copy {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .page-lead--copy {
    font-size: 3.6vw;
  }
}

.fixed-nav {
  display: none;
}
@media screen and (max-width: 767px) {
  .fixed-nav {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 100;
    height: 50px;
  }
}
.fixed-nav ul.fixed-nav-list-hotel {
  display: flex;
  justify-content: space-between;
  width: 100%;
  position: relative;
  z-index: 2;
  height: 100%;
  background-image: linear-gradient(-20deg, #0b234e 0%, #130a36 100%);
}
.fixed-nav ul.fixed-nav-list-hotel li {
  font-size: 1.6rem;
  height: 100%;
}
.fixed-nav ul.fixed-nav-list-hotel li a {
  text-decoration: none;
  text-decoration: none;
  color: #fff;
  width: 100%;
  height: 100%;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.fixed-nav ul.fixed-nav-list-hotel li a, .fixed-nav ul.fixed-nav-list-hotel li a:link, .fixed-nav ul.fixed-nav-list-hotel li a:visited {
  color: #fff;
}
.fixed-nav ul.fixed-nav-list-hotel li a:hover, .fixed-nav ul.fixed-nav-list-hotel li a:active {
  text-decoration: none;
  color: #fff;
}
.fixed-nav ul.fixed-nav-list-hotel li.ai {
  width: 50px;
  border-right: 1px solid #888;
}
.fixed-nav ul.fixed-nav-list-hotel li.ai a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.fixed-nav ul.fixed-nav-list-hotel li.ai img {
  width: 35px;
}
.fixed-nav ul.fixed-nav-list-hotel li:nth-of-type(1) {
  width: calc((100% - 100px) * 0.6);
  border-right: 1px solid #888;
}
.fixed-nav ul.fixed-nav-list-hotel li:nth-of-type(2) {
  width: calc((100% - 100px) * 0.4);
  border-right: 1px solid #888;
}
.fixed-nav ul.fixed-nav-list-hotel li:nth-of-type(4) {
  width: 50px;
  position: relative;
}
.fixed-nav ul.fixed-nav-list-hotel li.instagram {
  order: -1;
  width: 50px;
  border-right: 1px solid #888;
}
.fixed-nav ul.fixed-nav-list-hotel li.instagram a {
  padding: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.fixed-nav ul.fixed-nav-list-hotel.light li a {
  color: #000;
}
.fixed-nav ul.fixed-nav-list-portal {
  display: flex;
  justify-content: space-between;
  width: 100%;
  position: relative;
  z-index: 2;
  height: 100%;
}
.fixed-nav ul.fixed-nav-list-portal li {
  font-size: 1.6rem;
  height: 100%;
}
.fixed-nav ul.fixed-nav-list-portal li a {
  text-decoration: none;
  text-decoration: none;
  color: #fff;
  width: 100%;
  height: 100%;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
.fixed-nav ul.fixed-nav-list-portal li a, .fixed-nav ul.fixed-nav-list-portal li a:link, .fixed-nav ul.fixed-nav-list-portal li a:visited {
  color: #fff;
}
.fixed-nav ul.fixed-nav-list-portal li a:hover, .fixed-nav ul.fixed-nav-list-portal li a:active {
  text-decoration: none;
  color: #fff;
}
.fixed-nav ul.fixed-nav-list-portal li:nth-of-type(1) {
  width: 50%;
  background-color: #333;
  border-right: 1px solid #888;
}
.fixed-nav ul.fixed-nav-list-portal li:nth-of-type(2) {
  width: 50%;
  background-color: #333;
}

.fixed-nav-dynamic {
  position: fixed;
  bottom: 50px;
  right: 0;
  display: none;
  align-items: center;
  text-decoration: none;
  text-decoration: none;
  background-color: #00336e;
  text-decoration: none;
  color: #333;
  text-align: center;
  padding: 0.8em 2em;
  z-index: 101;
  font-size: 1.6rem;
}
.fixed-nav-dynamic, .fixed-nav-dynamic:link, .fixed-nav-dynamic:visited {
  color: #fff;
}
.fixed-nav-dynamic:hover, .fixed-nav-dynamic:active {
  text-decoration: none;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .fixed-nav-dynamic {
    display: inline-flex;
  }
}
.fixed-nav-dynamic img {
  width: 1.7em;
  margin-top: 0.2em;
  margin-right: 0.5em;
}

.nav-dynamic {
  align-items: center;
  text-decoration: none;
  text-decoration: none;
  background-color: #00336e;
  text-decoration: none;
  color: #333;
  text-align: center;
  padding: 0.5em 2em;
  font-size: 1.6rem;
}
.nav-dynamic, .nav-dynamic:link, .nav-dynamic:visited {
  color: #fff;
}
.nav-dynamic:hover, .nav-dynamic:active {
  text-decoration: none;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .nav-dynamic {
    display: inline-flex;
  }
}
.nav-dynamic img {
  width: 1.7em;
  margin-top: 0.2em;
  margin-right: 0.5em;
}

.nav-sp-content {
  position: fixed;
  top: 100%;
  right: 0;
  bottom: 50px;
  left: 0;
  opacity: 0;
  transition: opacity 0.5;
  background-color: #000f21;
  overflow-y: auto;
}
.nav-sp-content.active {
  opacity: 1;
  top: 0;
  z-index: 1;
}
.nav-sp-content-logo {
  width: 100%;
  text-align: center;
  margin-bottom: 10%;
}
.nav-sp-content-logo img {
  width: 70%;
}
.nav-sp-content-inner {
  padding: 6% 2%;
  width: 100%;
}
.nav-sp-content ul.nav-sp-content-list {
  margin-bottom: 10%;
  list-style: none;
  width: 100%;
  font-size: 1.8rem;
}
.nav-sp-content ul.nav-sp-content-list li {
  width: 100%;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.nav-sp-content ul.nav-sp-content-list li a {
  display: inline-block;
  width: 100%;
  padding: 1em;
  text-decoration: none;
}
.nav-sp-content ul.nav-sp-content-list li a, .nav-sp-content ul.nav-sp-content-list li a:link, .nav-sp-content ul.nav-sp-content-list li a:visited {
  color: #fff;
}
.nav-sp-content ul.nav-sp-content-list li a:hover, .nav-sp-content ul.nav-sp-content-list li a:active {
  text-decoration: none;
  color: #fff;
}
.nav-sp-content ul.nav-sp-content-list li ul.sub {
  padding-bottom: 1em;
}
.nav-sp-content ul.nav-sp-content-list li ul.sub li {
  font-size: 0.8em;
  border-bottom: none;
  border-top: none;
}
.nav-sp-content ul.nav-sp-content-list li ul.sub li a {
  padding: 0.5em 1em 0.5em 1em;
}
.nav-sp-content ul.nav-sp-content-list li ul.sub li a::before {
  content: "- ";
}
.nav-sp-content-contact {
  width: 100%;
}
.nav-sp-content-contact a {
  color: #fff;
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  font-size: 1.6rem;
}
.nav-sp-content-contact a span {
  display: inline-block;
}
.nav-sp-content-contact a span.nav-sp-content-contact-02 {
  font-size: 1.3em;
  margin: 0 0.1em 0 0.3em;
}
.nav-sp-content-contact a span.nav-sp-content-contact-03 {
  font-size: 0.8em;
}
.nav-sp-content-bnr {
  width: 100%;
  padding-top: 10%;
}
.nav-sp-content-bnr h3 {
  color: #fff;
  text-align: center;
  font-size: 1.4rem;
  padding: 0.5em 0 0.5em 0;
}

.nav-reserve-content {
  position: fixed;
  top: 100%;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.5;
  background: white;
  overflow-y: auto;
}
@media screen and (max-width: 767px) {
  .nav-reserve-content {
    bottom: 50px;
  }
}
.nav-reserve-content.active {
  opacity: 1;
  top: 0;
  z-index: 3;
}
.nav-reserve-content-inner {
  padding: 2%;
  width: 100%;
  position: relative;
}
.nav-reserve-content ul.nav-sp-content-list {
  margin-bottom: 10%;
  list-style: none;
  width: 100%;
  font-size: 1.8rem;
}
.nav-reserve-content ul.nav-sp-content-list li {
  width: 100%;
}
.nav-reserve-content ul.nav-sp-content-list li a {
  display: inline-block;
  width: 100%;
  padding: 1em;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  text-decoration: none;
}
.nav-reserve-content ul.nav-sp-content-list li a, .nav-reserve-content ul.nav-sp-content-list li a:link, .nav-reserve-content ul.nav-sp-content-list li a:visited {
  color: #fff;
}
.nav-reserve-content ul.nav-sp-content-list li a:hover, .nav-reserve-content ul.nav-sp-content-list li a:active {
  text-decoration: none;
  color: #fff;
}
.nav-reserve-content ul.nav-sp-content-list li a:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.nav-reserve-content-contact {
  width: 100%;
}
.nav-reserve-content-contact a {
  color: #fff;
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  font-size: 1.6rem;
}
.nav-reserve-content-contact a span {
  display: inline-block;
}
.nav-reserve-content-contact a span.nav-sp-content-contact-02 {
  font-size: 1.3em;
  margin: 0 0.1em 0 0.3em;
}
.nav-reserve-content-contact a span.nav-sp-content-contact-03 {
  font-size: 0.8em;
}
.nav-reserve-content-bnr {
  width: 100%;
  padding-top: 5%;
}
.nav-reserve-content-bnr h3 {
  color: #fff;
}
.nav-reserve-content .close-bo {
  width: 30px;
  height: 30px;
  position: absolute;
  right: 3%;
  top: 3%;
}
@media screen and (max-width: 767px) {
  .nav-reserve-content .close-bo {
    position: fixed;
    padding: 15px;
    right: 0;
    top: 0;
  }
}
.nav-reserve-content .close-bo::before, .nav-reserve-content .close-bo::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  top: 50%;
  left: 0;
  position: absolute;
  background: #333;
}
.nav-reserve-content .close-bo::before {
  transform: rotate(45deg);
}
.nav-reserve-content .close-bo::after {
  transform: rotate(-45deg);
}

.hamburger-c {
  display: none;
  width: 100%;
  height: 100%;
  position: absolute;
}
@media screen and (max-width: 767px) {
  .hamburger-c {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: stretch;
    align-items: center;
    right: 0;
    top: 0;
    z-index: 999;
  }
}
.hamburger-c .menu-trigger,
.hamburger-c .menu-trigger span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}
.hamburger-c .menu-trigger {
  position: relative;
  width: 30px !important;
  height: 19px !important;
  z-index: 110;
  padding: 0;
}
.hamburger-c .menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
}
.hamburger-c .menu-trigger.active span {
  background-color: #fff;
}
.hamburger-c .menu-trigger span:nth-of-type(1) {
  top: 0;
}
.hamburger-c .menu-trigger span:nth-of-type(2) {
  top: 9px;
}
.hamburger-c .menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
.hamburger-c .menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(9px) rotate(-45deg);
  transform: translateY(9px) rotate(-45deg);
}
.hamburger-c .menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.hamburger-c .menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-8px) rotate(45deg);
  transform: translateY(-8px) rotate(45deg);
}

.morelink a {
  display: inline-block;
  padding: 0.8em 2em;
  font-size: 1.8rem;
  text-decoration: none;
  line-height: 1;
  position: relative;
  text-decoration: none;
}
.morelink a, .morelink a:link, .morelink a:visited {
  color: #000;
}
.morelink a:hover, .morelink a:active {
  text-decoration: none;
  color: #000;
}
.morelink a::after {
  display: inline-block;
  content: "";
  width: 100%;
  background-color: #000;
  height: 1px;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  opacity: 0.2;
}
.morelink a::before {
  display: inline-block;
  content: "";
  width: 0.4em;
  height: 0.4em;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: rotate(-45deg) translateY(-52%);
  position: absolute;
  right: 0.5em;
  top: 50%;
}

.area-bnr {
  width: 100%;
  padding: 0 0 4% 0;
}
@media screen and (max-width: 767px) {
  .area-bnr {
    padding: 0px 0 50px;
  }
}
.area-bnr .inner {
  width: 100%;
}
.area-bnr .title {
  font-size: 2rem;
}
.area-bnr .bnr-list {
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.area-bnr .bnr {
  width: 32.6666666667%;
  font-size: 1.8rem;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .area-bnr .bnr {
    width: 100%;
    margin-bottom: 3%;
  }
}
.area-bnr .bnr:last-child {
  /*
  a{
   pointer-events: none;
  }
  position: relative;
  &::after{
   content: "";
   display: inline-block;
   width: 100%;
   height: 100%;
   top:0;
   bottom: 0;
   right: 0;
   left: 0;
   position: absolute;
   background: rgba(#000,.7);
   z-index: 1;

  }
  &::before{
   content: "coming soon";
   z-index: 2;
   position: absolute;
   color: #fff;
   font-size: 14px;
   left: 50%;
   top: 50%;
   transform: translate(-50%,-50%);						
  }
  */
}
@media screen and (max-width: 767px) {
  .area-bnr .bnr:last-child {
    margin-bottom: 0;
  }
}
.area-bnr .bnr a {
  display: inline-block;
  text-decoration: none;
  padding: 2em 0;
  width: 100%;
  color: #fff;
  transition: opacity 0.5s;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
.area-bnr .bnr a:hover {
  opacity: 0.8;
}
.area-bnr .bnr a span {
  display: inline-block;
  width: 100%;
  text-align: center;
  text-shadow: #000 0 0 0.5em;
}
.area-bnr .bnr a span:nth-of-type(2) {
  font-size: 0.7em;
}
.area-bnr .bnr.bnr-crystalgroup {
  position: relative;
  z-index: 0;
  width: 100%;
  margin-top: 1%;
}
@media screen and (max-width: 767px) {
  .area-bnr .bnr.bnr-crystalgroup {
    margin-top: 0;
  }
}
.area-bnr .bnr.bnr-crystalgroup p {
  text-align: center;
  z-index: 1;
  position: relative;
}
.area-bnr .bnr.bnr-crystalgroup a {
  padding: 1.5em 0;
}
.area-bnr .bnr.bnr-crystalgroup a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 0;
  background: #000;
  opacity: 0.4;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition: opacity 0.5s;
}
.area-bnr .bnr.bnr-crystalgroup img {
  width: 60%;
  max-width: 280px;
}
.area-bnr .bnr.bnr-crystalgroup .bnr-crystalgroup-bg {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  align-content: stretch;
}
.area-bnr .bnr.bnr-crystalgroup .bnr-crystalgroup-bg > div {
  width: 25%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}

.hotel-info {
  background-color: #f2f3f5;
  padding: 8em 0;
}
.hotel-info .inner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
}
.hotel-info h1 {
  width: 90%;
  margin: 0 auto 1em;
  max-width: 230px;
}
.hotel-info h1 img {
  width: 100%;
}
.hotel-info-content {
  width: 100%;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0;
}
@media screen and (max-width: 1099px) {
  .hotel-info-content {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .hotel-info-content {
    font-size: 3.6vw;
  }
}
.hotel-info-content-contact {
  width: 100%;
}
.hotel-info-content-contact a {
  line-height: 1;
  text-decoration: none;
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  font-size: 1.6rem;
}
.hotel-info-content-contact a, .hotel-info-content-contact a:link, .hotel-info-content-contact a:visited {
  color: #000;
}
.hotel-info-content-contact a:hover, .hotel-info-content-contact a:active {
  text-decoration: none;
  color: #000;
}
.hotel-info-content-contact a span {
  display: inline-block;
}
.hotel-info-content-contact a span.hotel-info-content-contact-02 {
  font-size: 1.3em;
  margin: 0 0.1em 0 0.3em;
}
.hotel-info-content-contact a span.hotel-info-content-contact-03 {
  font-size: 0.8em;
}
.hotel-info-content-contact-address {
  width: 100%;
  text-align: center;
  margin-bottom: 0.5em;
}
.hotel-info-content-contact-address p {
  width: 100%;
  text-align: center;
}
.hotel-info-content-contact-sns {
  display: flex;
  justify-content: center;
  margin-top: 3rem;
}
.hotel-info-content-contact-sns > a {
  margin: 0 10px;
  display: inline-block;
  width: 30px;
}

.breadcrumbs {
  display: none;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  font-size: 1.2rem;
  padding: 3em 0;
}
.breadcrumbs ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
}
.breadcrumbs ul li:nth-of-type(n+2) {
  margin-left: 0.5em;
}
.breadcrumbs ul li:nth-of-type(n+2)::before {
  content: ">";
  margin-right: 0.5em;
  color: #888;
}
.breadcrumbs ul li a {
  text-decoration: none;
}
.breadcrumbs ul li a, .breadcrumbs ul li a:link, .breadcrumbs ul li a:visited {
  color: #333;
}
.breadcrumbs ul li a:hover, .breadcrumbs ul li a:active {
  text-decoration: none;
  color: #333;
}
.breadcrumbs ul li span {
  color: #888;
}
.breadcrumbs ul li a, .breadcrumbs ul li span {
  display: inline-block;
}

.caption {
  font-size: 12px;
}

.comingsoon {
  width: 90%;
  text-align: center;
  margin: 0 auto;
}
.comingsoon p {
  text-align: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  padding: 5% 0;
}
@media screen and (max-width: 1099px) {
  .comingsoon p {
    font-size: 2.16vw;
  }
}
@media screen and (max-width: 767px) {
  .comingsoon p {
    font-size: 5.4vw;
  }
}
@media screen and (max-width: 767px) {
  .comingsoon p {
    padding: 15% 0;
  }
}
.comingsoon p:after {
  content: "ただいま準備中です、しばらくお待ちください";
  display: inline-block;
  width: 100%;
  text-align: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 0.8em;
  margin-top: 1em;
}

.top-bnr-inner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 800px;
  padding: 5rem 0 0;
}

.text-xxl {
  font-size: 2.8rem;
  color: #555;
  font-weight: normal;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .text-xxl {
    font-size: 2.6rem;
  }
}

.text-xl {
  font-size: 2.4rem;
  color: #555;
  font-weight: normal;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .text-xl {
    font-size: 2.4rem;
  }
}

.text-l {
  font-size: 1.7rem;
  color: #555;
  font-weight: normal;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .text-l {
    font-size: 1.8rem;
  }
}

.text-r {
  font-size: 1.6rem;
  color: #555;
  font-weight: normal;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .text-r {
    font-size: 1.6rem;
  }
}

.text-s {
  font-size: 1.4rem;
  color: #555;
  font-weight: normal;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .text-s {
    font-size: 1.3rem;
  }
}

.text-xs {
  font-size: 1.2rem;
  color: #555;
  font-weight: normal;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .text-xs {
    font-size: 1rem;
  }
}

.font-en {
  font-family: "EB Garamond", serif;
  font-weight: 400;
}

.text-center {
  text-align: center;
}

.sans-serif {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
}

.reserve-btn-left {
  position: fixed;
  opacity: 0;
  transition: opacity 0.5s;
  visibility: hidden;
  left: 0;
  bottom: 1rem;
  z-index: 10;
}
.scrolled .reserve-btn-left {
  opacity: 1;
  visibility: visible;
}
.reserve-btn-left a {
  padding: 2em 1em;
  background: #003f87;
  color: #fff;
  font-size: 1.9rem;
  display: inline-block;
  cursor: pointer;
  transition: background 0.5s, color 0.5s;
}
.reserve-btn-left a:hover {
  background: #004ba1;
  color: #fff;
}
.reserve-btn-left a span {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .reserve-btn-left {
    display: none;
  }
}

.mt-s {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .mt-s {
    margin-top: 2.1rem;
  }
}

.mt-m {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .mt-m {
    margin-top: 3.5rem;
  }
}

.mt-l {
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  .mt-l {
    margin-top: 5.6rem;
  }
}

.mb-l {
  margin-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .mb-l {
    margin-bottom: 5.6rem;
  }
}

.rooms-detail button.modalTrg, .rooms-detail button.close {
  display: block;
  padding: 0.5em 0;
  background: none;
  font-size: 1.4rem;
  color: #555;
  font-weight: normal;
  line-height: 1;
  cursor: pointer;
  transition: all 0.5s;
}
.rooms-detail button.modalTrg:hover, .rooms-detail button.close:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .rooms-detail button.modalTrg, .rooms-detail button.close {
    font-size: 1.3rem;
  }
}
.rooms-detail button.modalTrg {
  border: 1px solid #aaa;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .rooms-detail button.modalTrg {
    margin-top: 1rem;
  }
}
.rooms-detail button.close {
  border: 1px solid #aaa;
  margin: 1rem auto;
  padding: 0.5em 2rem;
  width: auto;
}
.rooms-detail .modal-container {
  position: fixed;
  z-index: 10;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transition: all 0.5s;
  visibility: hidden;
  opacity: 0;
}
.rooms-detail .modal-container.show {
  visibility: visible;
  opacity: 1;
}
.rooms-detail .modal-container .overlay {
  position: absolute;
  z-index: 10;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem;
}
.rooms-detail .modal-container .overlay > div {
  max-height: 90%;
  max-width: 90%;
  background: #fff;
  border-radius: 10px;
}
.rooms-detail .modal-container .overlay > div figure {
  max-height: 100vh;
  max-width: 100vh;
}
.rooms-detail .modal-container .overlay > div figure img {
  max-height: 100%;
  max-width: 100%;
}

body.modalOpen {
  overflow: hidden;
}

.ml-1 {
  margin-left: 1rem;
}
@media screen and (max-width: 767px) {
  .ml-1 {
    margin-left: calc( 1rem * .7);
  }
}

.mr-1 {
  margin-right: 1rem;
}
@media screen and (max-width: 767px) {
  .mr-1 {
    margin-right: calc( 1rem * .7);
  }
}

.mt-1 {
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .mt-1 {
    margin-top: calc( 1rem * .7);
  }
}

.mb-1 {
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .mb-1 {
    margin-bottom: calc( 1rem * .7);
  }
}

.my-1 {
  margin-bottom: 1rem;
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .my-1 {
    margin-bottom: calc( 1rem * .7);
    margin-top: calc( 1rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-1 {
    margin-top: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-1 {
    margin-bottom: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-1 {
    margin-bottom: 1rem;
    margin-top: 1rem;
  }
}

.pl-1 {
  padding-left: 1rem;
}
@media screen and (max-width: 767px) {
  .pl-1 {
    padding-left: calc( 1rem * .7);
  }
}

.pr-1 {
  padding-right: 1rem;
}
@media screen and (max-width: 767px) {
  .pr-1 {
    padding-right: calc( 1rem * .7);
  }
}

.pt-1 {
  padding-top: 1rem;
}
@media screen and (max-width: 767px) {
  .pt-1 {
    padding-top: calc( 1rem * .7);
  }
}

.pb-1 {
  padding-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .pb-1 {
    padding-bottom: calc( 1rem * .7);
  }
}

.py-1 {
  padding-bottom: 1rem;
  padding-top: 1rem;
}
@media screen and (max-width: 767px) {
  .py-1 {
    padding-bottom: calc( 1rem * .7);
    padding-top: calc( 1rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-1 {
    padding-top: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-1 {
    padding-bottom: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-1 {
    padding-bottom: 1rem;
    padding-top: 1rem;
  }
}

.ml-2 {
  margin-left: 2rem;
}
@media screen and (max-width: 767px) {
  .ml-2 {
    margin-left: calc( 2rem * .7);
  }
}

.mr-2 {
  margin-right: 2rem;
}
@media screen and (max-width: 767px) {
  .mr-2 {
    margin-right: calc( 2rem * .7);
  }
}

.mt-2 {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .mt-2 {
    margin-top: calc( 2rem * .7);
  }
}

.mb-2 {
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .mb-2 {
    margin-bottom: calc( 2rem * .7);
  }
}

.my-2 {
  margin-bottom: 2rem;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .my-2 {
    margin-bottom: calc( 2rem * .7);
    margin-top: calc( 2rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-2 {
    margin-top: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-2 {
    margin-bottom: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-2 {
    margin-bottom: 2rem;
    margin-top: 2rem;
  }
}

.pl-2 {
  padding-left: 2rem;
}
@media screen and (max-width: 767px) {
  .pl-2 {
    padding-left: calc( 2rem * .7);
  }
}

.pr-2 {
  padding-right: 2rem;
}
@media screen and (max-width: 767px) {
  .pr-2 {
    padding-right: calc( 2rem * .7);
  }
}

.pt-2 {
  padding-top: 2rem;
}
@media screen and (max-width: 767px) {
  .pt-2 {
    padding-top: calc( 2rem * .7);
  }
}

.pb-2 {
  padding-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .pb-2 {
    padding-bottom: calc( 2rem * .7);
  }
}

.py-2 {
  padding-bottom: 2rem;
  padding-top: 2rem;
}
@media screen and (max-width: 767px) {
  .py-2 {
    padding-bottom: calc( 2rem * .7);
    padding-top: calc( 2rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-2 {
    padding-top: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-2 {
    padding-bottom: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-2 {
    padding-bottom: 2rem;
    padding-top: 2rem;
  }
}

.ml-3 {
  margin-left: 3rem;
}
@media screen and (max-width: 767px) {
  .ml-3 {
    margin-left: calc( 3rem * .7);
  }
}

.mr-3 {
  margin-right: 3rem;
}
@media screen and (max-width: 767px) {
  .mr-3 {
    margin-right: calc( 3rem * .7);
  }
}

.mt-3 {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .mt-3 {
    margin-top: calc( 3rem * .7);
  }
}

.mb-3 {
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .mb-3 {
    margin-bottom: calc( 3rem * .7);
  }
}

.my-3 {
  margin-bottom: 3rem;
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  .my-3 {
    margin-bottom: calc( 3rem * .7);
    margin-top: calc( 3rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-3 {
    margin-top: 3rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-3 {
    margin-bottom: 3rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-3 {
    margin-bottom: 3rem;
    margin-top: 3rem;
  }
}

.pl-3 {
  padding-left: 3rem;
}
@media screen and (max-width: 767px) {
  .pl-3 {
    padding-left: calc( 3rem * .7);
  }
}

.pr-3 {
  padding-right: 3rem;
}
@media screen and (max-width: 767px) {
  .pr-3 {
    padding-right: calc( 3rem * .7);
  }
}

.pt-3 {
  padding-top: 3rem;
}
@media screen and (max-width: 767px) {
  .pt-3 {
    padding-top: calc( 3rem * .7);
  }
}

.pb-3 {
  padding-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .pb-3 {
    padding-bottom: calc( 3rem * .7);
  }
}

.py-3 {
  padding-bottom: 3rem;
  padding-top: 3rem;
}
@media screen and (max-width: 767px) {
  .py-3 {
    padding-bottom: calc( 3rem * .7);
    padding-top: calc( 3rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-3 {
    padding-top: 3rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-3 {
    padding-bottom: 3rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-3 {
    padding-bottom: 3rem;
    padding-top: 3rem;
  }
}

.ml-4 {
  margin-left: 4rem;
}
@media screen and (max-width: 767px) {
  .ml-4 {
    margin-left: calc( 4rem * .7);
  }
}

.mr-4 {
  margin-right: 4rem;
}
@media screen and (max-width: 767px) {
  .mr-4 {
    margin-right: calc( 4rem * .7);
  }
}

.mt-4 {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .mt-4 {
    margin-top: calc( 4rem * .7);
  }
}

.mb-4 {
  margin-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .mb-4 {
    margin-bottom: calc( 4rem * .7);
  }
}

.my-4 {
  margin-bottom: 4rem;
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .my-4 {
    margin-bottom: calc( 4rem * .7);
    margin-top: calc( 4rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-4 {
    margin-top: 4rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-4 {
    margin-bottom: 4rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-4 {
    margin-bottom: 4rem;
    margin-top: 4rem;
  }
}

.pl-4 {
  padding-left: 4rem;
}
@media screen and (max-width: 767px) {
  .pl-4 {
    padding-left: calc( 4rem * .7);
  }
}

.pr-4 {
  padding-right: 4rem;
}
@media screen and (max-width: 767px) {
  .pr-4 {
    padding-right: calc( 4rem * .7);
  }
}

.pt-4 {
  padding-top: 4rem;
}
@media screen and (max-width: 767px) {
  .pt-4 {
    padding-top: calc( 4rem * .7);
  }
}

.pb-4 {
  padding-bottom: 4rem;
}
@media screen and (max-width: 767px) {
  .pb-4 {
    padding-bottom: calc( 4rem * .7);
  }
}

.py-4 {
  padding-bottom: 4rem;
  padding-top: 4rem;
}
@media screen and (max-width: 767px) {
  .py-4 {
    padding-bottom: calc( 4rem * .7);
    padding-top: calc( 4rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-4 {
    padding-top: 4rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-4 {
    padding-bottom: 4rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-4 {
    padding-bottom: 4rem;
    padding-top: 4rem;
  }
}

.ml-5 {
  margin-left: 5rem;
}
@media screen and (max-width: 767px) {
  .ml-5 {
    margin-left: calc( 5rem * .7);
  }
}

.mr-5 {
  margin-right: 5rem;
}
@media screen and (max-width: 767px) {
  .mr-5 {
    margin-right: calc( 5rem * .7);
  }
}

.mt-5 {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .mt-5 {
    margin-top: calc( 5rem * .7);
  }
}

.mb-5 {
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .mb-5 {
    margin-bottom: calc( 5rem * .7);
  }
}

.my-5 {
  margin-bottom: 5rem;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .my-5 {
    margin-bottom: calc( 5rem * .7);
    margin-top: calc( 5rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-5 {
    margin-top: 5rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-5 {
    margin-bottom: 5rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-5 {
    margin-bottom: 5rem;
    margin-top: 5rem;
  }
}

.pl-5 {
  padding-left: 5rem;
}
@media screen and (max-width: 767px) {
  .pl-5 {
    padding-left: calc( 5rem * .7);
  }
}

.pr-5 {
  padding-right: 5rem;
}
@media screen and (max-width: 767px) {
  .pr-5 {
    padding-right: calc( 5rem * .7);
  }
}

.pt-5 {
  padding-top: 5rem;
}
@media screen and (max-width: 767px) {
  .pt-5 {
    padding-top: calc( 5rem * .7);
  }
}

.pb-5 {
  padding-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .pb-5 {
    padding-bottom: calc( 5rem * .7);
  }
}

.py-5 {
  padding-bottom: 5rem;
  padding-top: 5rem;
}
@media screen and (max-width: 767px) {
  .py-5 {
    padding-bottom: calc( 5rem * .7);
    padding-top: calc( 5rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-5 {
    padding-top: 5rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-5 {
    padding-bottom: 5rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-5 {
    padding-bottom: 5rem;
    padding-top: 5rem;
  }
}

.ml-6 {
  margin-left: 6rem;
}
@media screen and (max-width: 767px) {
  .ml-6 {
    margin-left: calc( 6rem * .7);
  }
}

.mr-6 {
  margin-right: 6rem;
}
@media screen and (max-width: 767px) {
  .mr-6 {
    margin-right: calc( 6rem * .7);
  }
}

.mt-6 {
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .mt-6 {
    margin-top: calc( 6rem * .7);
  }
}

.mb-6 {
  margin-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .mb-6 {
    margin-bottom: calc( 6rem * .7);
  }
}

.my-6 {
  margin-bottom: 6rem;
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .my-6 {
    margin-bottom: calc( 6rem * .7);
    margin-top: calc( 6rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-6 {
    margin-top: 6rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-6 {
    margin-bottom: 6rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-6 {
    margin-bottom: 6rem;
    margin-top: 6rem;
  }
}

.pl-6 {
  padding-left: 6rem;
}
@media screen and (max-width: 767px) {
  .pl-6 {
    padding-left: calc( 6rem * .7);
  }
}

.pr-6 {
  padding-right: 6rem;
}
@media screen and (max-width: 767px) {
  .pr-6 {
    padding-right: calc( 6rem * .7);
  }
}

.pt-6 {
  padding-top: 6rem;
}
@media screen and (max-width: 767px) {
  .pt-6 {
    padding-top: calc( 6rem * .7);
  }
}

.pb-6 {
  padding-bottom: 6rem;
}
@media screen and (max-width: 767px) {
  .pb-6 {
    padding-bottom: calc( 6rem * .7);
  }
}

.py-6 {
  padding-bottom: 6rem;
  padding-top: 6rem;
}
@media screen and (max-width: 767px) {
  .py-6 {
    padding-bottom: calc( 6rem * .7);
    padding-top: calc( 6rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-6 {
    padding-top: 6rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-6 {
    padding-bottom: 6rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-6 {
    padding-bottom: 6rem;
    padding-top: 6rem;
  }
}

.ml-7 {
  margin-left: 7rem;
}
@media screen and (max-width: 767px) {
  .ml-7 {
    margin-left: calc( 7rem * .7);
  }
}

.mr-7 {
  margin-right: 7rem;
}
@media screen and (max-width: 767px) {
  .mr-7 {
    margin-right: calc( 7rem * .7);
  }
}

.mt-7 {
  margin-top: 7rem;
}
@media screen and (max-width: 767px) {
  .mt-7 {
    margin-top: calc( 7rem * .7);
  }
}

.mb-7 {
  margin-bottom: 7rem;
}
@media screen and (max-width: 767px) {
  .mb-7 {
    margin-bottom: calc( 7rem * .7);
  }
}

.my-7 {
  margin-bottom: 7rem;
  margin-top: 7rem;
}
@media screen and (max-width: 767px) {
  .my-7 {
    margin-bottom: calc( 7rem * .7);
    margin-top: calc( 7rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-7 {
    margin-top: 7rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-7 {
    margin-bottom: 7rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-7 {
    margin-bottom: 7rem;
    margin-top: 7rem;
  }
}

.pl-7 {
  padding-left: 7rem;
}
@media screen and (max-width: 767px) {
  .pl-7 {
    padding-left: calc( 7rem * .7);
  }
}

.pr-7 {
  padding-right: 7rem;
}
@media screen and (max-width: 767px) {
  .pr-7 {
    padding-right: calc( 7rem * .7);
  }
}

.pt-7 {
  padding-top: 7rem;
}
@media screen and (max-width: 767px) {
  .pt-7 {
    padding-top: calc( 7rem * .7);
  }
}

.pb-7 {
  padding-bottom: 7rem;
}
@media screen and (max-width: 767px) {
  .pb-7 {
    padding-bottom: calc( 7rem * .7);
  }
}

.py-7 {
  padding-bottom: 7rem;
  padding-top: 7rem;
}
@media screen and (max-width: 767px) {
  .py-7 {
    padding-bottom: calc( 7rem * .7);
    padding-top: calc( 7rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-7 {
    padding-top: 7rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-7 {
    padding-bottom: 7rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-7 {
    padding-bottom: 7rem;
    padding-top: 7rem;
  }
}

.ml-8 {
  margin-left: 8rem;
}
@media screen and (max-width: 767px) {
  .ml-8 {
    margin-left: calc( 8rem * .7);
  }
}

.mr-8 {
  margin-right: 8rem;
}
@media screen and (max-width: 767px) {
  .mr-8 {
    margin-right: calc( 8rem * .7);
  }
}

.mt-8 {
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  .mt-8 {
    margin-top: calc( 8rem * .7);
  }
}

.mb-8 {
  margin-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .mb-8 {
    margin-bottom: calc( 8rem * .7);
  }
}

.my-8 {
  margin-bottom: 8rem;
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  .my-8 {
    margin-bottom: calc( 8rem * .7);
    margin-top: calc( 8rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-8 {
    margin-top: 8rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-8 {
    margin-bottom: 8rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-8 {
    margin-bottom: 8rem;
    margin-top: 8rem;
  }
}

.pl-8 {
  padding-left: 8rem;
}
@media screen and (max-width: 767px) {
  .pl-8 {
    padding-left: calc( 8rem * .7);
  }
}

.pr-8 {
  padding-right: 8rem;
}
@media screen and (max-width: 767px) {
  .pr-8 {
    padding-right: calc( 8rem * .7);
  }
}

.pt-8 {
  padding-top: 8rem;
}
@media screen and (max-width: 767px) {
  .pt-8 {
    padding-top: calc( 8rem * .7);
  }
}

.pb-8 {
  padding-bottom: 8rem;
}
@media screen and (max-width: 767px) {
  .pb-8 {
    padding-bottom: calc( 8rem * .7);
  }
}

.py-8 {
  padding-bottom: 8rem;
  padding-top: 8rem;
}
@media screen and (max-width: 767px) {
  .py-8 {
    padding-bottom: calc( 8rem * .7);
    padding-top: calc( 8rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-8 {
    padding-top: 8rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-8 {
    padding-bottom: 8rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-8 {
    padding-bottom: 8rem;
    padding-top: 8rem;
  }
}

.ml-9 {
  margin-left: 9rem;
}
@media screen and (max-width: 767px) {
  .ml-9 {
    margin-left: calc( 9rem * .7);
  }
}

.mr-9 {
  margin-right: 9rem;
}
@media screen and (max-width: 767px) {
  .mr-9 {
    margin-right: calc( 9rem * .7);
  }
}

.mt-9 {
  margin-top: 9rem;
}
@media screen and (max-width: 767px) {
  .mt-9 {
    margin-top: calc( 9rem * .7);
  }
}

.mb-9 {
  margin-bottom: 9rem;
}
@media screen and (max-width: 767px) {
  .mb-9 {
    margin-bottom: calc( 9rem * .7);
  }
}

.my-9 {
  margin-bottom: 9rem;
  margin-top: 9rem;
}
@media screen and (max-width: 767px) {
  .my-9 {
    margin-bottom: calc( 9rem * .7);
    margin-top: calc( 9rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-9 {
    margin-top: 9rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-9 {
    margin-bottom: 9rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-9 {
    margin-bottom: 9rem;
    margin-top: 9rem;
  }
}

.pl-9 {
  padding-left: 9rem;
}
@media screen and (max-width: 767px) {
  .pl-9 {
    padding-left: calc( 9rem * .7);
  }
}

.pr-9 {
  padding-right: 9rem;
}
@media screen and (max-width: 767px) {
  .pr-9 {
    padding-right: calc( 9rem * .7);
  }
}

.pt-9 {
  padding-top: 9rem;
}
@media screen and (max-width: 767px) {
  .pt-9 {
    padding-top: calc( 9rem * .7);
  }
}

.pb-9 {
  padding-bottom: 9rem;
}
@media screen and (max-width: 767px) {
  .pb-9 {
    padding-bottom: calc( 9rem * .7);
  }
}

.py-9 {
  padding-bottom: 9rem;
  padding-top: 9rem;
}
@media screen and (max-width: 767px) {
  .py-9 {
    padding-bottom: calc( 9rem * .7);
    padding-top: calc( 9rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-9 {
    padding-top: 9rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-9 {
    padding-bottom: 9rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-9 {
    padding-bottom: 9rem;
    padding-top: 9rem;
  }
}

.ml-10 {
  margin-left: 10rem;
}
@media screen and (max-width: 767px) {
  .ml-10 {
    margin-left: calc( 10rem * .7);
  }
}

.mr-10 {
  margin-right: 10rem;
}
@media screen and (max-width: 767px) {
  .mr-10 {
    margin-right: calc( 10rem * .7);
  }
}

.mt-10 {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  .mt-10 {
    margin-top: calc( 10rem * .7);
  }
}

.mb-10 {
  margin-bottom: 10rem;
}
@media screen and (max-width: 767px) {
  .mb-10 {
    margin-bottom: calc( 10rem * .7);
  }
}

.my-10 {
  margin-bottom: 10rem;
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  .my-10 {
    margin-bottom: calc( 10rem * .7);
    margin-top: calc( 10rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-10 {
    margin-top: 10rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-10 {
    margin-bottom: 10rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-10 {
    margin-bottom: 10rem;
    margin-top: 10rem;
  }
}

.pl-10 {
  padding-left: 10rem;
}
@media screen and (max-width: 767px) {
  .pl-10 {
    padding-left: calc( 10rem * .7);
  }
}

.pr-10 {
  padding-right: 10rem;
}
@media screen and (max-width: 767px) {
  .pr-10 {
    padding-right: calc( 10rem * .7);
  }
}

.pt-10 {
  padding-top: 10rem;
}
@media screen and (max-width: 767px) {
  .pt-10 {
    padding-top: calc( 10rem * .7);
  }
}

.pb-10 {
  padding-bottom: 10rem;
}
@media screen and (max-width: 767px) {
  .pb-10 {
    padding-bottom: calc( 10rem * .7);
  }
}

.py-10 {
  padding-bottom: 10rem;
  padding-top: 10rem;
}
@media screen and (max-width: 767px) {
  .py-10 {
    padding-bottom: calc( 10rem * .7);
    padding-top: calc( 10rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-10 {
    padding-top: 10rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-10 {
    padding-bottom: 10rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-10 {
    padding-bottom: 10rem;
    padding-top: 10rem;
  }
}

.ml-11 {
  margin-left: 11rem;
}
@media screen and (max-width: 767px) {
  .ml-11 {
    margin-left: calc( 11rem * .7);
  }
}

.mr-11 {
  margin-right: 11rem;
}
@media screen and (max-width: 767px) {
  .mr-11 {
    margin-right: calc( 11rem * .7);
  }
}

.mt-11 {
  margin-top: 11rem;
}
@media screen and (max-width: 767px) {
  .mt-11 {
    margin-top: calc( 11rem * .7);
  }
}

.mb-11 {
  margin-bottom: 11rem;
}
@media screen and (max-width: 767px) {
  .mb-11 {
    margin-bottom: calc( 11rem * .7);
  }
}

.my-11 {
  margin-bottom: 11rem;
  margin-top: 11rem;
}
@media screen and (max-width: 767px) {
  .my-11 {
    margin-bottom: calc( 11rem * .7);
    margin-top: calc( 11rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-11 {
    margin-top: 11rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-11 {
    margin-bottom: 11rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-11 {
    margin-bottom: 11rem;
    margin-top: 11rem;
  }
}

.pl-11 {
  padding-left: 11rem;
}
@media screen and (max-width: 767px) {
  .pl-11 {
    padding-left: calc( 11rem * .7);
  }
}

.pr-11 {
  padding-right: 11rem;
}
@media screen and (max-width: 767px) {
  .pr-11 {
    padding-right: calc( 11rem * .7);
  }
}

.pt-11 {
  padding-top: 11rem;
}
@media screen and (max-width: 767px) {
  .pt-11 {
    padding-top: calc( 11rem * .7);
  }
}

.pb-11 {
  padding-bottom: 11rem;
}
@media screen and (max-width: 767px) {
  .pb-11 {
    padding-bottom: calc( 11rem * .7);
  }
}

.py-11 {
  padding-bottom: 11rem;
  padding-top: 11rem;
}
@media screen and (max-width: 767px) {
  .py-11 {
    padding-bottom: calc( 11rem * .7);
    padding-top: calc( 11rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-11 {
    padding-top: 11rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-11 {
    padding-bottom: 11rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-11 {
    padding-bottom: 11rem;
    padding-top: 11rem;
  }
}

.ml-12 {
  margin-left: 12rem;
}
@media screen and (max-width: 767px) {
  .ml-12 {
    margin-left: calc( 12rem * .7);
  }
}

.mr-12 {
  margin-right: 12rem;
}
@media screen and (max-width: 767px) {
  .mr-12 {
    margin-right: calc( 12rem * .7);
  }
}

.mt-12 {
  margin-top: 12rem;
}
@media screen and (max-width: 767px) {
  .mt-12 {
    margin-top: calc( 12rem * .7);
  }
}

.mb-12 {
  margin-bottom: 12rem;
}
@media screen and (max-width: 767px) {
  .mb-12 {
    margin-bottom: calc( 12rem * .7);
  }
}

.my-12 {
  margin-bottom: 12rem;
  margin-top: 12rem;
}
@media screen and (max-width: 767px) {
  .my-12 {
    margin-bottom: calc( 12rem * .7);
    margin-top: calc( 12rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-12 {
    margin-top: 12rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-12 {
    margin-bottom: 12rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-12 {
    margin-bottom: 12rem;
    margin-top: 12rem;
  }
}

.pl-12 {
  padding-left: 12rem;
}
@media screen and (max-width: 767px) {
  .pl-12 {
    padding-left: calc( 12rem * .7);
  }
}

.pr-12 {
  padding-right: 12rem;
}
@media screen and (max-width: 767px) {
  .pr-12 {
    padding-right: calc( 12rem * .7);
  }
}

.pt-12 {
  padding-top: 12rem;
}
@media screen and (max-width: 767px) {
  .pt-12 {
    padding-top: calc( 12rem * .7);
  }
}

.pb-12 {
  padding-bottom: 12rem;
}
@media screen and (max-width: 767px) {
  .pb-12 {
    padding-bottom: calc( 12rem * .7);
  }
}

.py-12 {
  padding-bottom: 12rem;
  padding-top: 12rem;
}
@media screen and (max-width: 767px) {
  .py-12 {
    padding-bottom: calc( 12rem * .7);
    padding-top: calc( 12rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-12 {
    padding-top: 12rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-12 {
    padding-bottom: 12rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-12 {
    padding-bottom: 12rem;
    padding-top: 12rem;
  }
}

.ml-13 {
  margin-left: 13rem;
}
@media screen and (max-width: 767px) {
  .ml-13 {
    margin-left: calc( 13rem * .7);
  }
}

.mr-13 {
  margin-right: 13rem;
}
@media screen and (max-width: 767px) {
  .mr-13 {
    margin-right: calc( 13rem * .7);
  }
}

.mt-13 {
  margin-top: 13rem;
}
@media screen and (max-width: 767px) {
  .mt-13 {
    margin-top: calc( 13rem * .7);
  }
}

.mb-13 {
  margin-bottom: 13rem;
}
@media screen and (max-width: 767px) {
  .mb-13 {
    margin-bottom: calc( 13rem * .7);
  }
}

.my-13 {
  margin-bottom: 13rem;
  margin-top: 13rem;
}
@media screen and (max-width: 767px) {
  .my-13 {
    margin-bottom: calc( 13rem * .7);
    margin-top: calc( 13rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-13 {
    margin-top: 13rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-13 {
    margin-bottom: 13rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-13 {
    margin-bottom: 13rem;
    margin-top: 13rem;
  }
}

.pl-13 {
  padding-left: 13rem;
}
@media screen and (max-width: 767px) {
  .pl-13 {
    padding-left: calc( 13rem * .7);
  }
}

.pr-13 {
  padding-right: 13rem;
}
@media screen and (max-width: 767px) {
  .pr-13 {
    padding-right: calc( 13rem * .7);
  }
}

.pt-13 {
  padding-top: 13rem;
}
@media screen and (max-width: 767px) {
  .pt-13 {
    padding-top: calc( 13rem * .7);
  }
}

.pb-13 {
  padding-bottom: 13rem;
}
@media screen and (max-width: 767px) {
  .pb-13 {
    padding-bottom: calc( 13rem * .7);
  }
}

.py-13 {
  padding-bottom: 13rem;
  padding-top: 13rem;
}
@media screen and (max-width: 767px) {
  .py-13 {
    padding-bottom: calc( 13rem * .7);
    padding-top: calc( 13rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-13 {
    padding-top: 13rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-13 {
    padding-bottom: 13rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-13 {
    padding-bottom: 13rem;
    padding-top: 13rem;
  }
}

.ml-14 {
  margin-left: 14rem;
}
@media screen and (max-width: 767px) {
  .ml-14 {
    margin-left: calc( 14rem * .7);
  }
}

.mr-14 {
  margin-right: 14rem;
}
@media screen and (max-width: 767px) {
  .mr-14 {
    margin-right: calc( 14rem * .7);
  }
}

.mt-14 {
  margin-top: 14rem;
}
@media screen and (max-width: 767px) {
  .mt-14 {
    margin-top: calc( 14rem * .7);
  }
}

.mb-14 {
  margin-bottom: 14rem;
}
@media screen and (max-width: 767px) {
  .mb-14 {
    margin-bottom: calc( 14rem * .7);
  }
}

.my-14 {
  margin-bottom: 14rem;
  margin-top: 14rem;
}
@media screen and (max-width: 767px) {
  .my-14 {
    margin-bottom: calc( 14rem * .7);
    margin-top: calc( 14rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-14 {
    margin-top: 14rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-14 {
    margin-bottom: 14rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-14 {
    margin-bottom: 14rem;
    margin-top: 14rem;
  }
}

.pl-14 {
  padding-left: 14rem;
}
@media screen and (max-width: 767px) {
  .pl-14 {
    padding-left: calc( 14rem * .7);
  }
}

.pr-14 {
  padding-right: 14rem;
}
@media screen and (max-width: 767px) {
  .pr-14 {
    padding-right: calc( 14rem * .7);
  }
}

.pt-14 {
  padding-top: 14rem;
}
@media screen and (max-width: 767px) {
  .pt-14 {
    padding-top: calc( 14rem * .7);
  }
}

.pb-14 {
  padding-bottom: 14rem;
}
@media screen and (max-width: 767px) {
  .pb-14 {
    padding-bottom: calc( 14rem * .7);
  }
}

.py-14 {
  padding-bottom: 14rem;
  padding-top: 14rem;
}
@media screen and (max-width: 767px) {
  .py-14 {
    padding-bottom: calc( 14rem * .7);
    padding-top: calc( 14rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-14 {
    padding-top: 14rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-14 {
    padding-bottom: 14rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-14 {
    padding-bottom: 14rem;
    padding-top: 14rem;
  }
}

.ml-15 {
  margin-left: 15rem;
}
@media screen and (max-width: 767px) {
  .ml-15 {
    margin-left: calc( 15rem * .7);
  }
}

.mr-15 {
  margin-right: 15rem;
}
@media screen and (max-width: 767px) {
  .mr-15 {
    margin-right: calc( 15rem * .7);
  }
}

.mt-15 {
  margin-top: 15rem;
}
@media screen and (max-width: 767px) {
  .mt-15 {
    margin-top: calc( 15rem * .7);
  }
}

.mb-15 {
  margin-bottom: 15rem;
}
@media screen and (max-width: 767px) {
  .mb-15 {
    margin-bottom: calc( 15rem * .7);
  }
}

.my-15 {
  margin-bottom: 15rem;
  margin-top: 15rem;
}
@media screen and (max-width: 767px) {
  .my-15 {
    margin-bottom: calc( 15rem * .7);
    margin-top: calc( 15rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-15 {
    margin-top: 15rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-15 {
    margin-bottom: 15rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-15 {
    margin-bottom: 15rem;
    margin-top: 15rem;
  }
}

.pl-15 {
  padding-left: 15rem;
}
@media screen and (max-width: 767px) {
  .pl-15 {
    padding-left: calc( 15rem * .7);
  }
}

.pr-15 {
  padding-right: 15rem;
}
@media screen and (max-width: 767px) {
  .pr-15 {
    padding-right: calc( 15rem * .7);
  }
}

.pt-15 {
  padding-top: 15rem;
}
@media screen and (max-width: 767px) {
  .pt-15 {
    padding-top: calc( 15rem * .7);
  }
}

.pb-15 {
  padding-bottom: 15rem;
}
@media screen and (max-width: 767px) {
  .pb-15 {
    padding-bottom: calc( 15rem * .7);
  }
}

.py-15 {
  padding-bottom: 15rem;
  padding-top: 15rem;
}
@media screen and (max-width: 767px) {
  .py-15 {
    padding-bottom: calc( 15rem * .7);
    padding-top: calc( 15rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-15 {
    padding-top: 15rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-15 {
    padding-bottom: 15rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-15 {
    padding-bottom: 15rem;
    padding-top: 15rem;
  }
}

.ml-16 {
  margin-left: 16rem;
}
@media screen and (max-width: 767px) {
  .ml-16 {
    margin-left: calc( 16rem * .7);
  }
}

.mr-16 {
  margin-right: 16rem;
}
@media screen and (max-width: 767px) {
  .mr-16 {
    margin-right: calc( 16rem * .7);
  }
}

.mt-16 {
  margin-top: 16rem;
}
@media screen and (max-width: 767px) {
  .mt-16 {
    margin-top: calc( 16rem * .7);
  }
}

.mb-16 {
  margin-bottom: 16rem;
}
@media screen and (max-width: 767px) {
  .mb-16 {
    margin-bottom: calc( 16rem * .7);
  }
}

.my-16 {
  margin-bottom: 16rem;
  margin-top: 16rem;
}
@media screen and (max-width: 767px) {
  .my-16 {
    margin-bottom: calc( 16rem * .7);
    margin-top: calc( 16rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-16 {
    margin-top: 16rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-16 {
    margin-bottom: 16rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-16 {
    margin-bottom: 16rem;
    margin-top: 16rem;
  }
}

.pl-16 {
  padding-left: 16rem;
}
@media screen and (max-width: 767px) {
  .pl-16 {
    padding-left: calc( 16rem * .7);
  }
}

.pr-16 {
  padding-right: 16rem;
}
@media screen and (max-width: 767px) {
  .pr-16 {
    padding-right: calc( 16rem * .7);
  }
}

.pt-16 {
  padding-top: 16rem;
}
@media screen and (max-width: 767px) {
  .pt-16 {
    padding-top: calc( 16rem * .7);
  }
}

.pb-16 {
  padding-bottom: 16rem;
}
@media screen and (max-width: 767px) {
  .pb-16 {
    padding-bottom: calc( 16rem * .7);
  }
}

.py-16 {
  padding-bottom: 16rem;
  padding-top: 16rem;
}
@media screen and (max-width: 767px) {
  .py-16 {
    padding-bottom: calc( 16rem * .7);
    padding-top: calc( 16rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-16 {
    padding-top: 16rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-16 {
    padding-bottom: 16rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-16 {
    padding-bottom: 16rem;
    padding-top: 16rem;
  }
}

.ml-17 {
  margin-left: 17rem;
}
@media screen and (max-width: 767px) {
  .ml-17 {
    margin-left: calc( 17rem * .7);
  }
}

.mr-17 {
  margin-right: 17rem;
}
@media screen and (max-width: 767px) {
  .mr-17 {
    margin-right: calc( 17rem * .7);
  }
}

.mt-17 {
  margin-top: 17rem;
}
@media screen and (max-width: 767px) {
  .mt-17 {
    margin-top: calc( 17rem * .7);
  }
}

.mb-17 {
  margin-bottom: 17rem;
}
@media screen and (max-width: 767px) {
  .mb-17 {
    margin-bottom: calc( 17rem * .7);
  }
}

.my-17 {
  margin-bottom: 17rem;
  margin-top: 17rem;
}
@media screen and (max-width: 767px) {
  .my-17 {
    margin-bottom: calc( 17rem * .7);
    margin-top: calc( 17rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-17 {
    margin-top: 17rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-17 {
    margin-bottom: 17rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-17 {
    margin-bottom: 17rem;
    margin-top: 17rem;
  }
}

.pl-17 {
  padding-left: 17rem;
}
@media screen and (max-width: 767px) {
  .pl-17 {
    padding-left: calc( 17rem * .7);
  }
}

.pr-17 {
  padding-right: 17rem;
}
@media screen and (max-width: 767px) {
  .pr-17 {
    padding-right: calc( 17rem * .7);
  }
}

.pt-17 {
  padding-top: 17rem;
}
@media screen and (max-width: 767px) {
  .pt-17 {
    padding-top: calc( 17rem * .7);
  }
}

.pb-17 {
  padding-bottom: 17rem;
}
@media screen and (max-width: 767px) {
  .pb-17 {
    padding-bottom: calc( 17rem * .7);
  }
}

.py-17 {
  padding-bottom: 17rem;
  padding-top: 17rem;
}
@media screen and (max-width: 767px) {
  .py-17 {
    padding-bottom: calc( 17rem * .7);
    padding-top: calc( 17rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-17 {
    padding-top: 17rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-17 {
    padding-bottom: 17rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-17 {
    padding-bottom: 17rem;
    padding-top: 17rem;
  }
}

.ml-18 {
  margin-left: 18rem;
}
@media screen and (max-width: 767px) {
  .ml-18 {
    margin-left: calc( 18rem * .7);
  }
}

.mr-18 {
  margin-right: 18rem;
}
@media screen and (max-width: 767px) {
  .mr-18 {
    margin-right: calc( 18rem * .7);
  }
}

.mt-18 {
  margin-top: 18rem;
}
@media screen and (max-width: 767px) {
  .mt-18 {
    margin-top: calc( 18rem * .7);
  }
}

.mb-18 {
  margin-bottom: 18rem;
}
@media screen and (max-width: 767px) {
  .mb-18 {
    margin-bottom: calc( 18rem * .7);
  }
}

.my-18 {
  margin-bottom: 18rem;
  margin-top: 18rem;
}
@media screen and (max-width: 767px) {
  .my-18 {
    margin-bottom: calc( 18rem * .7);
    margin-top: calc( 18rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-18 {
    margin-top: 18rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-18 {
    margin-bottom: 18rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-18 {
    margin-bottom: 18rem;
    margin-top: 18rem;
  }
}

.pl-18 {
  padding-left: 18rem;
}
@media screen and (max-width: 767px) {
  .pl-18 {
    padding-left: calc( 18rem * .7);
  }
}

.pr-18 {
  padding-right: 18rem;
}
@media screen and (max-width: 767px) {
  .pr-18 {
    padding-right: calc( 18rem * .7);
  }
}

.pt-18 {
  padding-top: 18rem;
}
@media screen and (max-width: 767px) {
  .pt-18 {
    padding-top: calc( 18rem * .7);
  }
}

.pb-18 {
  padding-bottom: 18rem;
}
@media screen and (max-width: 767px) {
  .pb-18 {
    padding-bottom: calc( 18rem * .7);
  }
}

.py-18 {
  padding-bottom: 18rem;
  padding-top: 18rem;
}
@media screen and (max-width: 767px) {
  .py-18 {
    padding-bottom: calc( 18rem * .7);
    padding-top: calc( 18rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-18 {
    padding-top: 18rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-18 {
    padding-bottom: 18rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-18 {
    padding-bottom: 18rem;
    padding-top: 18rem;
  }
}

.ml-19 {
  margin-left: 19rem;
}
@media screen and (max-width: 767px) {
  .ml-19 {
    margin-left: calc( 19rem * .7);
  }
}

.mr-19 {
  margin-right: 19rem;
}
@media screen and (max-width: 767px) {
  .mr-19 {
    margin-right: calc( 19rem * .7);
  }
}

.mt-19 {
  margin-top: 19rem;
}
@media screen and (max-width: 767px) {
  .mt-19 {
    margin-top: calc( 19rem * .7);
  }
}

.mb-19 {
  margin-bottom: 19rem;
}
@media screen and (max-width: 767px) {
  .mb-19 {
    margin-bottom: calc( 19rem * .7);
  }
}

.my-19 {
  margin-bottom: 19rem;
  margin-top: 19rem;
}
@media screen and (max-width: 767px) {
  .my-19 {
    margin-bottom: calc( 19rem * .7);
    margin-top: calc( 19rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-19 {
    margin-top: 19rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-19 {
    margin-bottom: 19rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-19 {
    margin-bottom: 19rem;
    margin-top: 19rem;
  }
}

.pl-19 {
  padding-left: 19rem;
}
@media screen and (max-width: 767px) {
  .pl-19 {
    padding-left: calc( 19rem * .7);
  }
}

.pr-19 {
  padding-right: 19rem;
}
@media screen and (max-width: 767px) {
  .pr-19 {
    padding-right: calc( 19rem * .7);
  }
}

.pt-19 {
  padding-top: 19rem;
}
@media screen and (max-width: 767px) {
  .pt-19 {
    padding-top: calc( 19rem * .7);
  }
}

.pb-19 {
  padding-bottom: 19rem;
}
@media screen and (max-width: 767px) {
  .pb-19 {
    padding-bottom: calc( 19rem * .7);
  }
}

.py-19 {
  padding-bottom: 19rem;
  padding-top: 19rem;
}
@media screen and (max-width: 767px) {
  .py-19 {
    padding-bottom: calc( 19rem * .7);
    padding-top: calc( 19rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-19 {
    padding-top: 19rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-19 {
    padding-bottom: 19rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-19 {
    padding-bottom: 19rem;
    padding-top: 19rem;
  }
}

.ml-20 {
  margin-left: 20rem;
}
@media screen and (max-width: 767px) {
  .ml-20 {
    margin-left: calc( 20rem * .7);
  }
}

.mr-20 {
  margin-right: 20rem;
}
@media screen and (max-width: 767px) {
  .mr-20 {
    margin-right: calc( 20rem * .7);
  }
}

.mt-20 {
  margin-top: 20rem;
}
@media screen and (max-width: 767px) {
  .mt-20 {
    margin-top: calc( 20rem * .7);
  }
}

.mb-20 {
  margin-bottom: 20rem;
}
@media screen and (max-width: 767px) {
  .mb-20 {
    margin-bottom: calc( 20rem * .7);
  }
}

.my-20 {
  margin-bottom: 20rem;
  margin-top: 20rem;
}
@media screen and (max-width: 767px) {
  .my-20 {
    margin-bottom: calc( 20rem * .7);
    margin-top: calc( 20rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-20 {
    margin-top: 20rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-20 {
    margin-bottom: 20rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-20 {
    margin-bottom: 20rem;
    margin-top: 20rem;
  }
}

.pl-20 {
  padding-left: 20rem;
}
@media screen and (max-width: 767px) {
  .pl-20 {
    padding-left: calc( 20rem * .7);
  }
}

.pr-20 {
  padding-right: 20rem;
}
@media screen and (max-width: 767px) {
  .pr-20 {
    padding-right: calc( 20rem * .7);
  }
}

.pt-20 {
  padding-top: 20rem;
}
@media screen and (max-width: 767px) {
  .pt-20 {
    padding-top: calc( 20rem * .7);
  }
}

.pb-20 {
  padding-bottom: 20rem;
}
@media screen and (max-width: 767px) {
  .pb-20 {
    padding-bottom: calc( 20rem * .7);
  }
}

.py-20 {
  padding-bottom: 20rem;
  padding-top: 20rem;
}
@media screen and (max-width: 767px) {
  .py-20 {
    padding-bottom: calc( 20rem * .7);
    padding-top: calc( 20rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-20 {
    padding-top: 20rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-20 {
    padding-bottom: 20rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-20 {
    padding-bottom: 20rem;
    padding-top: 20rem;
  }
}

.ml-21 {
  margin-left: 21rem;
}
@media screen and (max-width: 767px) {
  .ml-21 {
    margin-left: calc( 21rem * .7);
  }
}

.mr-21 {
  margin-right: 21rem;
}
@media screen and (max-width: 767px) {
  .mr-21 {
    margin-right: calc( 21rem * .7);
  }
}

.mt-21 {
  margin-top: 21rem;
}
@media screen and (max-width: 767px) {
  .mt-21 {
    margin-top: calc( 21rem * .7);
  }
}

.mb-21 {
  margin-bottom: 21rem;
}
@media screen and (max-width: 767px) {
  .mb-21 {
    margin-bottom: calc( 21rem * .7);
  }
}

.my-21 {
  margin-bottom: 21rem;
  margin-top: 21rem;
}
@media screen and (max-width: 767px) {
  .my-21 {
    margin-bottom: calc( 21rem * .7);
    margin-top: calc( 21rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-21 {
    margin-top: 21rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-21 {
    margin-bottom: 21rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-21 {
    margin-bottom: 21rem;
    margin-top: 21rem;
  }
}

.pl-21 {
  padding-left: 21rem;
}
@media screen and (max-width: 767px) {
  .pl-21 {
    padding-left: calc( 21rem * .7);
  }
}

.pr-21 {
  padding-right: 21rem;
}
@media screen and (max-width: 767px) {
  .pr-21 {
    padding-right: calc( 21rem * .7);
  }
}

.pt-21 {
  padding-top: 21rem;
}
@media screen and (max-width: 767px) {
  .pt-21 {
    padding-top: calc( 21rem * .7);
  }
}

.pb-21 {
  padding-bottom: 21rem;
}
@media screen and (max-width: 767px) {
  .pb-21 {
    padding-bottom: calc( 21rem * .7);
  }
}

.py-21 {
  padding-bottom: 21rem;
  padding-top: 21rem;
}
@media screen and (max-width: 767px) {
  .py-21 {
    padding-bottom: calc( 21rem * .7);
    padding-top: calc( 21rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-21 {
    padding-top: 21rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-21 {
    padding-bottom: 21rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-21 {
    padding-bottom: 21rem;
    padding-top: 21rem;
  }
}

.ml-22 {
  margin-left: 22rem;
}
@media screen and (max-width: 767px) {
  .ml-22 {
    margin-left: calc( 22rem * .7);
  }
}

.mr-22 {
  margin-right: 22rem;
}
@media screen and (max-width: 767px) {
  .mr-22 {
    margin-right: calc( 22rem * .7);
  }
}

.mt-22 {
  margin-top: 22rem;
}
@media screen and (max-width: 767px) {
  .mt-22 {
    margin-top: calc( 22rem * .7);
  }
}

.mb-22 {
  margin-bottom: 22rem;
}
@media screen and (max-width: 767px) {
  .mb-22 {
    margin-bottom: calc( 22rem * .7);
  }
}

.my-22 {
  margin-bottom: 22rem;
  margin-top: 22rem;
}
@media screen and (max-width: 767px) {
  .my-22 {
    margin-bottom: calc( 22rem * .7);
    margin-top: calc( 22rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-22 {
    margin-top: 22rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-22 {
    margin-bottom: 22rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-22 {
    margin-bottom: 22rem;
    margin-top: 22rem;
  }
}

.pl-22 {
  padding-left: 22rem;
}
@media screen and (max-width: 767px) {
  .pl-22 {
    padding-left: calc( 22rem * .7);
  }
}

.pr-22 {
  padding-right: 22rem;
}
@media screen and (max-width: 767px) {
  .pr-22 {
    padding-right: calc( 22rem * .7);
  }
}

.pt-22 {
  padding-top: 22rem;
}
@media screen and (max-width: 767px) {
  .pt-22 {
    padding-top: calc( 22rem * .7);
  }
}

.pb-22 {
  padding-bottom: 22rem;
}
@media screen and (max-width: 767px) {
  .pb-22 {
    padding-bottom: calc( 22rem * .7);
  }
}

.py-22 {
  padding-bottom: 22rem;
  padding-top: 22rem;
}
@media screen and (max-width: 767px) {
  .py-22 {
    padding-bottom: calc( 22rem * .7);
    padding-top: calc( 22rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-22 {
    padding-top: 22rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-22 {
    padding-bottom: 22rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-22 {
    padding-bottom: 22rem;
    padding-top: 22rem;
  }
}

.ml-23 {
  margin-left: 23rem;
}
@media screen and (max-width: 767px) {
  .ml-23 {
    margin-left: calc( 23rem * .7);
  }
}

.mr-23 {
  margin-right: 23rem;
}
@media screen and (max-width: 767px) {
  .mr-23 {
    margin-right: calc( 23rem * .7);
  }
}

.mt-23 {
  margin-top: 23rem;
}
@media screen and (max-width: 767px) {
  .mt-23 {
    margin-top: calc( 23rem * .7);
  }
}

.mb-23 {
  margin-bottom: 23rem;
}
@media screen and (max-width: 767px) {
  .mb-23 {
    margin-bottom: calc( 23rem * .7);
  }
}

.my-23 {
  margin-bottom: 23rem;
  margin-top: 23rem;
}
@media screen and (max-width: 767px) {
  .my-23 {
    margin-bottom: calc( 23rem * .7);
    margin-top: calc( 23rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-23 {
    margin-top: 23rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-23 {
    margin-bottom: 23rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-23 {
    margin-bottom: 23rem;
    margin-top: 23rem;
  }
}

.pl-23 {
  padding-left: 23rem;
}
@media screen and (max-width: 767px) {
  .pl-23 {
    padding-left: calc( 23rem * .7);
  }
}

.pr-23 {
  padding-right: 23rem;
}
@media screen and (max-width: 767px) {
  .pr-23 {
    padding-right: calc( 23rem * .7);
  }
}

.pt-23 {
  padding-top: 23rem;
}
@media screen and (max-width: 767px) {
  .pt-23 {
    padding-top: calc( 23rem * .7);
  }
}

.pb-23 {
  padding-bottom: 23rem;
}
@media screen and (max-width: 767px) {
  .pb-23 {
    padding-bottom: calc( 23rem * .7);
  }
}

.py-23 {
  padding-bottom: 23rem;
  padding-top: 23rem;
}
@media screen and (max-width: 767px) {
  .py-23 {
    padding-bottom: calc( 23rem * .7);
    padding-top: calc( 23rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-23 {
    padding-top: 23rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-23 {
    padding-bottom: 23rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-23 {
    padding-bottom: 23rem;
    padding-top: 23rem;
  }
}

.ml-24 {
  margin-left: 24rem;
}
@media screen and (max-width: 767px) {
  .ml-24 {
    margin-left: calc( 24rem * .7);
  }
}

.mr-24 {
  margin-right: 24rem;
}
@media screen and (max-width: 767px) {
  .mr-24 {
    margin-right: calc( 24rem * .7);
  }
}

.mt-24 {
  margin-top: 24rem;
}
@media screen and (max-width: 767px) {
  .mt-24 {
    margin-top: calc( 24rem * .7);
  }
}

.mb-24 {
  margin-bottom: 24rem;
}
@media screen and (max-width: 767px) {
  .mb-24 {
    margin-bottom: calc( 24rem * .7);
  }
}

.my-24 {
  margin-bottom: 24rem;
  margin-top: 24rem;
}
@media screen and (max-width: 767px) {
  .my-24 {
    margin-bottom: calc( 24rem * .7);
    margin-top: calc( 24rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-24 {
    margin-top: 24rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-24 {
    margin-bottom: 24rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-24 {
    margin-bottom: 24rem;
    margin-top: 24rem;
  }
}

.pl-24 {
  padding-left: 24rem;
}
@media screen and (max-width: 767px) {
  .pl-24 {
    padding-left: calc( 24rem * .7);
  }
}

.pr-24 {
  padding-right: 24rem;
}
@media screen and (max-width: 767px) {
  .pr-24 {
    padding-right: calc( 24rem * .7);
  }
}

.pt-24 {
  padding-top: 24rem;
}
@media screen and (max-width: 767px) {
  .pt-24 {
    padding-top: calc( 24rem * .7);
  }
}

.pb-24 {
  padding-bottom: 24rem;
}
@media screen and (max-width: 767px) {
  .pb-24 {
    padding-bottom: calc( 24rem * .7);
  }
}

.py-24 {
  padding-bottom: 24rem;
  padding-top: 24rem;
}
@media screen and (max-width: 767px) {
  .py-24 {
    padding-bottom: calc( 24rem * .7);
    padding-top: calc( 24rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-24 {
    padding-top: 24rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-24 {
    padding-bottom: 24rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-24 {
    padding-bottom: 24rem;
    padding-top: 24rem;
  }
}

.ml-25 {
  margin-left: 25rem;
}
@media screen and (max-width: 767px) {
  .ml-25 {
    margin-left: calc( 25rem * .7);
  }
}

.mr-25 {
  margin-right: 25rem;
}
@media screen and (max-width: 767px) {
  .mr-25 {
    margin-right: calc( 25rem * .7);
  }
}

.mt-25 {
  margin-top: 25rem;
}
@media screen and (max-width: 767px) {
  .mt-25 {
    margin-top: calc( 25rem * .7);
  }
}

.mb-25 {
  margin-bottom: 25rem;
}
@media screen and (max-width: 767px) {
  .mb-25 {
    margin-bottom: calc( 25rem * .7);
  }
}

.my-25 {
  margin-bottom: 25rem;
  margin-top: 25rem;
}
@media screen and (max-width: 767px) {
  .my-25 {
    margin-bottom: calc( 25rem * .7);
    margin-top: calc( 25rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-25 {
    margin-top: 25rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-25 {
    margin-bottom: 25rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-25 {
    margin-bottom: 25rem;
    margin-top: 25rem;
  }
}

.pl-25 {
  padding-left: 25rem;
}
@media screen and (max-width: 767px) {
  .pl-25 {
    padding-left: calc( 25rem * .7);
  }
}

.pr-25 {
  padding-right: 25rem;
}
@media screen and (max-width: 767px) {
  .pr-25 {
    padding-right: calc( 25rem * .7);
  }
}

.pt-25 {
  padding-top: 25rem;
}
@media screen and (max-width: 767px) {
  .pt-25 {
    padding-top: calc( 25rem * .7);
  }
}

.pb-25 {
  padding-bottom: 25rem;
}
@media screen and (max-width: 767px) {
  .pb-25 {
    padding-bottom: calc( 25rem * .7);
  }
}

.py-25 {
  padding-bottom: 25rem;
  padding-top: 25rem;
}
@media screen and (max-width: 767px) {
  .py-25 {
    padding-bottom: calc( 25rem * .7);
    padding-top: calc( 25rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-25 {
    padding-top: 25rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-25 {
    padding-bottom: 25rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-25 {
    padding-bottom: 25rem;
    padding-top: 25rem;
  }
}

.ml-26 {
  margin-left: 26rem;
}
@media screen and (max-width: 767px) {
  .ml-26 {
    margin-left: calc( 26rem * .7);
  }
}

.mr-26 {
  margin-right: 26rem;
}
@media screen and (max-width: 767px) {
  .mr-26 {
    margin-right: calc( 26rem * .7);
  }
}

.mt-26 {
  margin-top: 26rem;
}
@media screen and (max-width: 767px) {
  .mt-26 {
    margin-top: calc( 26rem * .7);
  }
}

.mb-26 {
  margin-bottom: 26rem;
}
@media screen and (max-width: 767px) {
  .mb-26 {
    margin-bottom: calc( 26rem * .7);
  }
}

.my-26 {
  margin-bottom: 26rem;
  margin-top: 26rem;
}
@media screen and (max-width: 767px) {
  .my-26 {
    margin-bottom: calc( 26rem * .7);
    margin-top: calc( 26rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-26 {
    margin-top: 26rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-26 {
    margin-bottom: 26rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-26 {
    margin-bottom: 26rem;
    margin-top: 26rem;
  }
}

.pl-26 {
  padding-left: 26rem;
}
@media screen and (max-width: 767px) {
  .pl-26 {
    padding-left: calc( 26rem * .7);
  }
}

.pr-26 {
  padding-right: 26rem;
}
@media screen and (max-width: 767px) {
  .pr-26 {
    padding-right: calc( 26rem * .7);
  }
}

.pt-26 {
  padding-top: 26rem;
}
@media screen and (max-width: 767px) {
  .pt-26 {
    padding-top: calc( 26rem * .7);
  }
}

.pb-26 {
  padding-bottom: 26rem;
}
@media screen and (max-width: 767px) {
  .pb-26 {
    padding-bottom: calc( 26rem * .7);
  }
}

.py-26 {
  padding-bottom: 26rem;
  padding-top: 26rem;
}
@media screen and (max-width: 767px) {
  .py-26 {
    padding-bottom: calc( 26rem * .7);
    padding-top: calc( 26rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-26 {
    padding-top: 26rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-26 {
    padding-bottom: 26rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-26 {
    padding-bottom: 26rem;
    padding-top: 26rem;
  }
}

.ml-27 {
  margin-left: 27rem;
}
@media screen and (max-width: 767px) {
  .ml-27 {
    margin-left: calc( 27rem * .7);
  }
}

.mr-27 {
  margin-right: 27rem;
}
@media screen and (max-width: 767px) {
  .mr-27 {
    margin-right: calc( 27rem * .7);
  }
}

.mt-27 {
  margin-top: 27rem;
}
@media screen and (max-width: 767px) {
  .mt-27 {
    margin-top: calc( 27rem * .7);
  }
}

.mb-27 {
  margin-bottom: 27rem;
}
@media screen and (max-width: 767px) {
  .mb-27 {
    margin-bottom: calc( 27rem * .7);
  }
}

.my-27 {
  margin-bottom: 27rem;
  margin-top: 27rem;
}
@media screen and (max-width: 767px) {
  .my-27 {
    margin-bottom: calc( 27rem * .7);
    margin-top: calc( 27rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-27 {
    margin-top: 27rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-27 {
    margin-bottom: 27rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-27 {
    margin-bottom: 27rem;
    margin-top: 27rem;
  }
}

.pl-27 {
  padding-left: 27rem;
}
@media screen and (max-width: 767px) {
  .pl-27 {
    padding-left: calc( 27rem * .7);
  }
}

.pr-27 {
  padding-right: 27rem;
}
@media screen and (max-width: 767px) {
  .pr-27 {
    padding-right: calc( 27rem * .7);
  }
}

.pt-27 {
  padding-top: 27rem;
}
@media screen and (max-width: 767px) {
  .pt-27 {
    padding-top: calc( 27rem * .7);
  }
}

.pb-27 {
  padding-bottom: 27rem;
}
@media screen and (max-width: 767px) {
  .pb-27 {
    padding-bottom: calc( 27rem * .7);
  }
}

.py-27 {
  padding-bottom: 27rem;
  padding-top: 27rem;
}
@media screen and (max-width: 767px) {
  .py-27 {
    padding-bottom: calc( 27rem * .7);
    padding-top: calc( 27rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-27 {
    padding-top: 27rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-27 {
    padding-bottom: 27rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-27 {
    padding-bottom: 27rem;
    padding-top: 27rem;
  }
}

.ml-28 {
  margin-left: 28rem;
}
@media screen and (max-width: 767px) {
  .ml-28 {
    margin-left: calc( 28rem * .7);
  }
}

.mr-28 {
  margin-right: 28rem;
}
@media screen and (max-width: 767px) {
  .mr-28 {
    margin-right: calc( 28rem * .7);
  }
}

.mt-28 {
  margin-top: 28rem;
}
@media screen and (max-width: 767px) {
  .mt-28 {
    margin-top: calc( 28rem * .7);
  }
}

.mb-28 {
  margin-bottom: 28rem;
}
@media screen and (max-width: 767px) {
  .mb-28 {
    margin-bottom: calc( 28rem * .7);
  }
}

.my-28 {
  margin-bottom: 28rem;
  margin-top: 28rem;
}
@media screen and (max-width: 767px) {
  .my-28 {
    margin-bottom: calc( 28rem * .7);
    margin-top: calc( 28rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-28 {
    margin-top: 28rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-28 {
    margin-bottom: 28rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-28 {
    margin-bottom: 28rem;
    margin-top: 28rem;
  }
}

.pl-28 {
  padding-left: 28rem;
}
@media screen and (max-width: 767px) {
  .pl-28 {
    padding-left: calc( 28rem * .7);
  }
}

.pr-28 {
  padding-right: 28rem;
}
@media screen and (max-width: 767px) {
  .pr-28 {
    padding-right: calc( 28rem * .7);
  }
}

.pt-28 {
  padding-top: 28rem;
}
@media screen and (max-width: 767px) {
  .pt-28 {
    padding-top: calc( 28rem * .7);
  }
}

.pb-28 {
  padding-bottom: 28rem;
}
@media screen and (max-width: 767px) {
  .pb-28 {
    padding-bottom: calc( 28rem * .7);
  }
}

.py-28 {
  padding-bottom: 28rem;
  padding-top: 28rem;
}
@media screen and (max-width: 767px) {
  .py-28 {
    padding-bottom: calc( 28rem * .7);
    padding-top: calc( 28rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-28 {
    padding-top: 28rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-28 {
    padding-bottom: 28rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-28 {
    padding-bottom: 28rem;
    padding-top: 28rem;
  }
}

.ml-29 {
  margin-left: 29rem;
}
@media screen and (max-width: 767px) {
  .ml-29 {
    margin-left: calc( 29rem * .7);
  }
}

.mr-29 {
  margin-right: 29rem;
}
@media screen and (max-width: 767px) {
  .mr-29 {
    margin-right: calc( 29rem * .7);
  }
}

.mt-29 {
  margin-top: 29rem;
}
@media screen and (max-width: 767px) {
  .mt-29 {
    margin-top: calc( 29rem * .7);
  }
}

.mb-29 {
  margin-bottom: 29rem;
}
@media screen and (max-width: 767px) {
  .mb-29 {
    margin-bottom: calc( 29rem * .7);
  }
}

.my-29 {
  margin-bottom: 29rem;
  margin-top: 29rem;
}
@media screen and (max-width: 767px) {
  .my-29 {
    margin-bottom: calc( 29rem * .7);
    margin-top: calc( 29rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-29 {
    margin-top: 29rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-29 {
    margin-bottom: 29rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-29 {
    margin-bottom: 29rem;
    margin-top: 29rem;
  }
}

.pl-29 {
  padding-left: 29rem;
}
@media screen and (max-width: 767px) {
  .pl-29 {
    padding-left: calc( 29rem * .7);
  }
}

.pr-29 {
  padding-right: 29rem;
}
@media screen and (max-width: 767px) {
  .pr-29 {
    padding-right: calc( 29rem * .7);
  }
}

.pt-29 {
  padding-top: 29rem;
}
@media screen and (max-width: 767px) {
  .pt-29 {
    padding-top: calc( 29rem * .7);
  }
}

.pb-29 {
  padding-bottom: 29rem;
}
@media screen and (max-width: 767px) {
  .pb-29 {
    padding-bottom: calc( 29rem * .7);
  }
}

.py-29 {
  padding-bottom: 29rem;
  padding-top: 29rem;
}
@media screen and (max-width: 767px) {
  .py-29 {
    padding-bottom: calc( 29rem * .7);
    padding-top: calc( 29rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-29 {
    padding-top: 29rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-29 {
    padding-bottom: 29rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-29 {
    padding-bottom: 29rem;
    padding-top: 29rem;
  }
}

.ml-30 {
  margin-left: 30rem;
}
@media screen and (max-width: 767px) {
  .ml-30 {
    margin-left: calc( 30rem * .7);
  }
}

.mr-30 {
  margin-right: 30rem;
}
@media screen and (max-width: 767px) {
  .mr-30 {
    margin-right: calc( 30rem * .7);
  }
}

.mt-30 {
  margin-top: 30rem;
}
@media screen and (max-width: 767px) {
  .mt-30 {
    margin-top: calc( 30rem * .7);
  }
}

.mb-30 {
  margin-bottom: 30rem;
}
@media screen and (max-width: 767px) {
  .mb-30 {
    margin-bottom: calc( 30rem * .7);
  }
}

.my-30 {
  margin-bottom: 30rem;
  margin-top: 30rem;
}
@media screen and (max-width: 767px) {
  .my-30 {
    margin-bottom: calc( 30rem * .7);
    margin-top: calc( 30rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-30 {
    margin-top: 30rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-30 {
    margin-bottom: 30rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-30 {
    margin-bottom: 30rem;
    margin-top: 30rem;
  }
}

.pl-30 {
  padding-left: 30rem;
}
@media screen and (max-width: 767px) {
  .pl-30 {
    padding-left: calc( 30rem * .7);
  }
}

.pr-30 {
  padding-right: 30rem;
}
@media screen and (max-width: 767px) {
  .pr-30 {
    padding-right: calc( 30rem * .7);
  }
}

.pt-30 {
  padding-top: 30rem;
}
@media screen and (max-width: 767px) {
  .pt-30 {
    padding-top: calc( 30rem * .7);
  }
}

.pb-30 {
  padding-bottom: 30rem;
}
@media screen and (max-width: 767px) {
  .pb-30 {
    padding-bottom: calc( 30rem * .7);
  }
}

.py-30 {
  padding-bottom: 30rem;
  padding-top: 30rem;
}
@media screen and (max-width: 767px) {
  .py-30 {
    padding-bottom: calc( 30rem * .7);
    padding-top: calc( 30rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-30 {
    padding-top: 30rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-30 {
    padding-bottom: 30rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-30 {
    padding-bottom: 30rem;
    padding-top: 30rem;
  }
}

.ml-31 {
  margin-left: 31rem;
}
@media screen and (max-width: 767px) {
  .ml-31 {
    margin-left: calc( 31rem * .7);
  }
}

.mr-31 {
  margin-right: 31rem;
}
@media screen and (max-width: 767px) {
  .mr-31 {
    margin-right: calc( 31rem * .7);
  }
}

.mt-31 {
  margin-top: 31rem;
}
@media screen and (max-width: 767px) {
  .mt-31 {
    margin-top: calc( 31rem * .7);
  }
}

.mb-31 {
  margin-bottom: 31rem;
}
@media screen and (max-width: 767px) {
  .mb-31 {
    margin-bottom: calc( 31rem * .7);
  }
}

.my-31 {
  margin-bottom: 31rem;
  margin-top: 31rem;
}
@media screen and (max-width: 767px) {
  .my-31 {
    margin-bottom: calc( 31rem * .7);
    margin-top: calc( 31rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-31 {
    margin-top: 31rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-31 {
    margin-bottom: 31rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-31 {
    margin-bottom: 31rem;
    margin-top: 31rem;
  }
}

.pl-31 {
  padding-left: 31rem;
}
@media screen and (max-width: 767px) {
  .pl-31 {
    padding-left: calc( 31rem * .7);
  }
}

.pr-31 {
  padding-right: 31rem;
}
@media screen and (max-width: 767px) {
  .pr-31 {
    padding-right: calc( 31rem * .7);
  }
}

.pt-31 {
  padding-top: 31rem;
}
@media screen and (max-width: 767px) {
  .pt-31 {
    padding-top: calc( 31rem * .7);
  }
}

.pb-31 {
  padding-bottom: 31rem;
}
@media screen and (max-width: 767px) {
  .pb-31 {
    padding-bottom: calc( 31rem * .7);
  }
}

.py-31 {
  padding-bottom: 31rem;
  padding-top: 31rem;
}
@media screen and (max-width: 767px) {
  .py-31 {
    padding-bottom: calc( 31rem * .7);
    padding-top: calc( 31rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-31 {
    padding-top: 31rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-31 {
    padding-bottom: 31rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-31 {
    padding-bottom: 31rem;
    padding-top: 31rem;
  }
}

.ml-32 {
  margin-left: 32rem;
}
@media screen and (max-width: 767px) {
  .ml-32 {
    margin-left: calc( 32rem * .7);
  }
}

.mr-32 {
  margin-right: 32rem;
}
@media screen and (max-width: 767px) {
  .mr-32 {
    margin-right: calc( 32rem * .7);
  }
}

.mt-32 {
  margin-top: 32rem;
}
@media screen and (max-width: 767px) {
  .mt-32 {
    margin-top: calc( 32rem * .7);
  }
}

.mb-32 {
  margin-bottom: 32rem;
}
@media screen and (max-width: 767px) {
  .mb-32 {
    margin-bottom: calc( 32rem * .7);
  }
}

.my-32 {
  margin-bottom: 32rem;
  margin-top: 32rem;
}
@media screen and (max-width: 767px) {
  .my-32 {
    margin-bottom: calc( 32rem * .7);
    margin-top: calc( 32rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-32 {
    margin-top: 32rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-32 {
    margin-bottom: 32rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-32 {
    margin-bottom: 32rem;
    margin-top: 32rem;
  }
}

.pl-32 {
  padding-left: 32rem;
}
@media screen and (max-width: 767px) {
  .pl-32 {
    padding-left: calc( 32rem * .7);
  }
}

.pr-32 {
  padding-right: 32rem;
}
@media screen and (max-width: 767px) {
  .pr-32 {
    padding-right: calc( 32rem * .7);
  }
}

.pt-32 {
  padding-top: 32rem;
}
@media screen and (max-width: 767px) {
  .pt-32 {
    padding-top: calc( 32rem * .7);
  }
}

.pb-32 {
  padding-bottom: 32rem;
}
@media screen and (max-width: 767px) {
  .pb-32 {
    padding-bottom: calc( 32rem * .7);
  }
}

.py-32 {
  padding-bottom: 32rem;
  padding-top: 32rem;
}
@media screen and (max-width: 767px) {
  .py-32 {
    padding-bottom: calc( 32rem * .7);
    padding-top: calc( 32rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-32 {
    padding-top: 32rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-32 {
    padding-bottom: 32rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-32 {
    padding-bottom: 32rem;
    padding-top: 32rem;
  }
}

.ml-33 {
  margin-left: 33rem;
}
@media screen and (max-width: 767px) {
  .ml-33 {
    margin-left: calc( 33rem * .7);
  }
}

.mr-33 {
  margin-right: 33rem;
}
@media screen and (max-width: 767px) {
  .mr-33 {
    margin-right: calc( 33rem * .7);
  }
}

.mt-33 {
  margin-top: 33rem;
}
@media screen and (max-width: 767px) {
  .mt-33 {
    margin-top: calc( 33rem * .7);
  }
}

.mb-33 {
  margin-bottom: 33rem;
}
@media screen and (max-width: 767px) {
  .mb-33 {
    margin-bottom: calc( 33rem * .7);
  }
}

.my-33 {
  margin-bottom: 33rem;
  margin-top: 33rem;
}
@media screen and (max-width: 767px) {
  .my-33 {
    margin-bottom: calc( 33rem * .7);
    margin-top: calc( 33rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-33 {
    margin-top: 33rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-33 {
    margin-bottom: 33rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-33 {
    margin-bottom: 33rem;
    margin-top: 33rem;
  }
}

.pl-33 {
  padding-left: 33rem;
}
@media screen and (max-width: 767px) {
  .pl-33 {
    padding-left: calc( 33rem * .7);
  }
}

.pr-33 {
  padding-right: 33rem;
}
@media screen and (max-width: 767px) {
  .pr-33 {
    padding-right: calc( 33rem * .7);
  }
}

.pt-33 {
  padding-top: 33rem;
}
@media screen and (max-width: 767px) {
  .pt-33 {
    padding-top: calc( 33rem * .7);
  }
}

.pb-33 {
  padding-bottom: 33rem;
}
@media screen and (max-width: 767px) {
  .pb-33 {
    padding-bottom: calc( 33rem * .7);
  }
}

.py-33 {
  padding-bottom: 33rem;
  padding-top: 33rem;
}
@media screen and (max-width: 767px) {
  .py-33 {
    padding-bottom: calc( 33rem * .7);
    padding-top: calc( 33rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-33 {
    padding-top: 33rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-33 {
    padding-bottom: 33rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-33 {
    padding-bottom: 33rem;
    padding-top: 33rem;
  }
}

.ml-34 {
  margin-left: 34rem;
}
@media screen and (max-width: 767px) {
  .ml-34 {
    margin-left: calc( 34rem * .7);
  }
}

.mr-34 {
  margin-right: 34rem;
}
@media screen and (max-width: 767px) {
  .mr-34 {
    margin-right: calc( 34rem * .7);
  }
}

.mt-34 {
  margin-top: 34rem;
}
@media screen and (max-width: 767px) {
  .mt-34 {
    margin-top: calc( 34rem * .7);
  }
}

.mb-34 {
  margin-bottom: 34rem;
}
@media screen and (max-width: 767px) {
  .mb-34 {
    margin-bottom: calc( 34rem * .7);
  }
}

.my-34 {
  margin-bottom: 34rem;
  margin-top: 34rem;
}
@media screen and (max-width: 767px) {
  .my-34 {
    margin-bottom: calc( 34rem * .7);
    margin-top: calc( 34rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-34 {
    margin-top: 34rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-34 {
    margin-bottom: 34rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-34 {
    margin-bottom: 34rem;
    margin-top: 34rem;
  }
}

.pl-34 {
  padding-left: 34rem;
}
@media screen and (max-width: 767px) {
  .pl-34 {
    padding-left: calc( 34rem * .7);
  }
}

.pr-34 {
  padding-right: 34rem;
}
@media screen and (max-width: 767px) {
  .pr-34 {
    padding-right: calc( 34rem * .7);
  }
}

.pt-34 {
  padding-top: 34rem;
}
@media screen and (max-width: 767px) {
  .pt-34 {
    padding-top: calc( 34rem * .7);
  }
}

.pb-34 {
  padding-bottom: 34rem;
}
@media screen and (max-width: 767px) {
  .pb-34 {
    padding-bottom: calc( 34rem * .7);
  }
}

.py-34 {
  padding-bottom: 34rem;
  padding-top: 34rem;
}
@media screen and (max-width: 767px) {
  .py-34 {
    padding-bottom: calc( 34rem * .7);
    padding-top: calc( 34rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-34 {
    padding-top: 34rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-34 {
    padding-bottom: 34rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-34 {
    padding-bottom: 34rem;
    padding-top: 34rem;
  }
}

.ml-35 {
  margin-left: 35rem;
}
@media screen and (max-width: 767px) {
  .ml-35 {
    margin-left: calc( 35rem * .7);
  }
}

.mr-35 {
  margin-right: 35rem;
}
@media screen and (max-width: 767px) {
  .mr-35 {
    margin-right: calc( 35rem * .7);
  }
}

.mt-35 {
  margin-top: 35rem;
}
@media screen and (max-width: 767px) {
  .mt-35 {
    margin-top: calc( 35rem * .7);
  }
}

.mb-35 {
  margin-bottom: 35rem;
}
@media screen and (max-width: 767px) {
  .mb-35 {
    margin-bottom: calc( 35rem * .7);
  }
}

.my-35 {
  margin-bottom: 35rem;
  margin-top: 35rem;
}
@media screen and (max-width: 767px) {
  .my-35 {
    margin-bottom: calc( 35rem * .7);
    margin-top: calc( 35rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-35 {
    margin-top: 35rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-35 {
    margin-bottom: 35rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-35 {
    margin-bottom: 35rem;
    margin-top: 35rem;
  }
}

.pl-35 {
  padding-left: 35rem;
}
@media screen and (max-width: 767px) {
  .pl-35 {
    padding-left: calc( 35rem * .7);
  }
}

.pr-35 {
  padding-right: 35rem;
}
@media screen and (max-width: 767px) {
  .pr-35 {
    padding-right: calc( 35rem * .7);
  }
}

.pt-35 {
  padding-top: 35rem;
}
@media screen and (max-width: 767px) {
  .pt-35 {
    padding-top: calc( 35rem * .7);
  }
}

.pb-35 {
  padding-bottom: 35rem;
}
@media screen and (max-width: 767px) {
  .pb-35 {
    padding-bottom: calc( 35rem * .7);
  }
}

.py-35 {
  padding-bottom: 35rem;
  padding-top: 35rem;
}
@media screen and (max-width: 767px) {
  .py-35 {
    padding-bottom: calc( 35rem * .7);
    padding-top: calc( 35rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-35 {
    padding-top: 35rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-35 {
    padding-bottom: 35rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-35 {
    padding-bottom: 35rem;
    padding-top: 35rem;
  }
}

.ml-36 {
  margin-left: 36rem;
}
@media screen and (max-width: 767px) {
  .ml-36 {
    margin-left: calc( 36rem * .7);
  }
}

.mr-36 {
  margin-right: 36rem;
}
@media screen and (max-width: 767px) {
  .mr-36 {
    margin-right: calc( 36rem * .7);
  }
}

.mt-36 {
  margin-top: 36rem;
}
@media screen and (max-width: 767px) {
  .mt-36 {
    margin-top: calc( 36rem * .7);
  }
}

.mb-36 {
  margin-bottom: 36rem;
}
@media screen and (max-width: 767px) {
  .mb-36 {
    margin-bottom: calc( 36rem * .7);
  }
}

.my-36 {
  margin-bottom: 36rem;
  margin-top: 36rem;
}
@media screen and (max-width: 767px) {
  .my-36 {
    margin-bottom: calc( 36rem * .7);
    margin-top: calc( 36rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-36 {
    margin-top: 36rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-36 {
    margin-bottom: 36rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-36 {
    margin-bottom: 36rem;
    margin-top: 36rem;
  }
}

.pl-36 {
  padding-left: 36rem;
}
@media screen and (max-width: 767px) {
  .pl-36 {
    padding-left: calc( 36rem * .7);
  }
}

.pr-36 {
  padding-right: 36rem;
}
@media screen and (max-width: 767px) {
  .pr-36 {
    padding-right: calc( 36rem * .7);
  }
}

.pt-36 {
  padding-top: 36rem;
}
@media screen and (max-width: 767px) {
  .pt-36 {
    padding-top: calc( 36rem * .7);
  }
}

.pb-36 {
  padding-bottom: 36rem;
}
@media screen and (max-width: 767px) {
  .pb-36 {
    padding-bottom: calc( 36rem * .7);
  }
}

.py-36 {
  padding-bottom: 36rem;
  padding-top: 36rem;
}
@media screen and (max-width: 767px) {
  .py-36 {
    padding-bottom: calc( 36rem * .7);
    padding-top: calc( 36rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-36 {
    padding-top: 36rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-36 {
    padding-bottom: 36rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-36 {
    padding-bottom: 36rem;
    padding-top: 36rem;
  }
}

.ml-37 {
  margin-left: 37rem;
}
@media screen and (max-width: 767px) {
  .ml-37 {
    margin-left: calc( 37rem * .7);
  }
}

.mr-37 {
  margin-right: 37rem;
}
@media screen and (max-width: 767px) {
  .mr-37 {
    margin-right: calc( 37rem * .7);
  }
}

.mt-37 {
  margin-top: 37rem;
}
@media screen and (max-width: 767px) {
  .mt-37 {
    margin-top: calc( 37rem * .7);
  }
}

.mb-37 {
  margin-bottom: 37rem;
}
@media screen and (max-width: 767px) {
  .mb-37 {
    margin-bottom: calc( 37rem * .7);
  }
}

.my-37 {
  margin-bottom: 37rem;
  margin-top: 37rem;
}
@media screen and (max-width: 767px) {
  .my-37 {
    margin-bottom: calc( 37rem * .7);
    margin-top: calc( 37rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-37 {
    margin-top: 37rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-37 {
    margin-bottom: 37rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-37 {
    margin-bottom: 37rem;
    margin-top: 37rem;
  }
}

.pl-37 {
  padding-left: 37rem;
}
@media screen and (max-width: 767px) {
  .pl-37 {
    padding-left: calc( 37rem * .7);
  }
}

.pr-37 {
  padding-right: 37rem;
}
@media screen and (max-width: 767px) {
  .pr-37 {
    padding-right: calc( 37rem * .7);
  }
}

.pt-37 {
  padding-top: 37rem;
}
@media screen and (max-width: 767px) {
  .pt-37 {
    padding-top: calc( 37rem * .7);
  }
}

.pb-37 {
  padding-bottom: 37rem;
}
@media screen and (max-width: 767px) {
  .pb-37 {
    padding-bottom: calc( 37rem * .7);
  }
}

.py-37 {
  padding-bottom: 37rem;
  padding-top: 37rem;
}
@media screen and (max-width: 767px) {
  .py-37 {
    padding-bottom: calc( 37rem * .7);
    padding-top: calc( 37rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-37 {
    padding-top: 37rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-37 {
    padding-bottom: 37rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-37 {
    padding-bottom: 37rem;
    padding-top: 37rem;
  }
}

.ml-38 {
  margin-left: 38rem;
}
@media screen and (max-width: 767px) {
  .ml-38 {
    margin-left: calc( 38rem * .7);
  }
}

.mr-38 {
  margin-right: 38rem;
}
@media screen and (max-width: 767px) {
  .mr-38 {
    margin-right: calc( 38rem * .7);
  }
}

.mt-38 {
  margin-top: 38rem;
}
@media screen and (max-width: 767px) {
  .mt-38 {
    margin-top: calc( 38rem * .7);
  }
}

.mb-38 {
  margin-bottom: 38rem;
}
@media screen and (max-width: 767px) {
  .mb-38 {
    margin-bottom: calc( 38rem * .7);
  }
}

.my-38 {
  margin-bottom: 38rem;
  margin-top: 38rem;
}
@media screen and (max-width: 767px) {
  .my-38 {
    margin-bottom: calc( 38rem * .7);
    margin-top: calc( 38rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-38 {
    margin-top: 38rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-38 {
    margin-bottom: 38rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-38 {
    margin-bottom: 38rem;
    margin-top: 38rem;
  }
}

.pl-38 {
  padding-left: 38rem;
}
@media screen and (max-width: 767px) {
  .pl-38 {
    padding-left: calc( 38rem * .7);
  }
}

.pr-38 {
  padding-right: 38rem;
}
@media screen and (max-width: 767px) {
  .pr-38 {
    padding-right: calc( 38rem * .7);
  }
}

.pt-38 {
  padding-top: 38rem;
}
@media screen and (max-width: 767px) {
  .pt-38 {
    padding-top: calc( 38rem * .7);
  }
}

.pb-38 {
  padding-bottom: 38rem;
}
@media screen and (max-width: 767px) {
  .pb-38 {
    padding-bottom: calc( 38rem * .7);
  }
}

.py-38 {
  padding-bottom: 38rem;
  padding-top: 38rem;
}
@media screen and (max-width: 767px) {
  .py-38 {
    padding-bottom: calc( 38rem * .7);
    padding-top: calc( 38rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-38 {
    padding-top: 38rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-38 {
    padding-bottom: 38rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-38 {
    padding-bottom: 38rem;
    padding-top: 38rem;
  }
}

.ml-39 {
  margin-left: 39rem;
}
@media screen and (max-width: 767px) {
  .ml-39 {
    margin-left: calc( 39rem * .7);
  }
}

.mr-39 {
  margin-right: 39rem;
}
@media screen and (max-width: 767px) {
  .mr-39 {
    margin-right: calc( 39rem * .7);
  }
}

.mt-39 {
  margin-top: 39rem;
}
@media screen and (max-width: 767px) {
  .mt-39 {
    margin-top: calc( 39rem * .7);
  }
}

.mb-39 {
  margin-bottom: 39rem;
}
@media screen and (max-width: 767px) {
  .mb-39 {
    margin-bottom: calc( 39rem * .7);
  }
}

.my-39 {
  margin-bottom: 39rem;
  margin-top: 39rem;
}
@media screen and (max-width: 767px) {
  .my-39 {
    margin-bottom: calc( 39rem * .7);
    margin-top: calc( 39rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-39 {
    margin-top: 39rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-39 {
    margin-bottom: 39rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-39 {
    margin-bottom: 39rem;
    margin-top: 39rem;
  }
}

.pl-39 {
  padding-left: 39rem;
}
@media screen and (max-width: 767px) {
  .pl-39 {
    padding-left: calc( 39rem * .7);
  }
}

.pr-39 {
  padding-right: 39rem;
}
@media screen and (max-width: 767px) {
  .pr-39 {
    padding-right: calc( 39rem * .7);
  }
}

.pt-39 {
  padding-top: 39rem;
}
@media screen and (max-width: 767px) {
  .pt-39 {
    padding-top: calc( 39rem * .7);
  }
}

.pb-39 {
  padding-bottom: 39rem;
}
@media screen and (max-width: 767px) {
  .pb-39 {
    padding-bottom: calc( 39rem * .7);
  }
}

.py-39 {
  padding-bottom: 39rem;
  padding-top: 39rem;
}
@media screen and (max-width: 767px) {
  .py-39 {
    padding-bottom: calc( 39rem * .7);
    padding-top: calc( 39rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-39 {
    padding-top: 39rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-39 {
    padding-bottom: 39rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-39 {
    padding-bottom: 39rem;
    padding-top: 39rem;
  }
}

.ml-40 {
  margin-left: 40rem;
}
@media screen and (max-width: 767px) {
  .ml-40 {
    margin-left: calc( 40rem * .7);
  }
}

.mr-40 {
  margin-right: 40rem;
}
@media screen and (max-width: 767px) {
  .mr-40 {
    margin-right: calc( 40rem * .7);
  }
}

.mt-40 {
  margin-top: 40rem;
}
@media screen and (max-width: 767px) {
  .mt-40 {
    margin-top: calc( 40rem * .7);
  }
}

.mb-40 {
  margin-bottom: 40rem;
}
@media screen and (max-width: 767px) {
  .mb-40 {
    margin-bottom: calc( 40rem * .7);
  }
}

.my-40 {
  margin-bottom: 40rem;
  margin-top: 40rem;
}
@media screen and (max-width: 767px) {
  .my-40 {
    margin-bottom: calc( 40rem * .7);
    margin-top: calc( 40rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-mt-40 {
    margin-top: 40rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-mb-40 {
    margin-bottom: 40rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-my-40 {
    margin-bottom: 40rem;
    margin-top: 40rem;
  }
}

.pl-40 {
  padding-left: 40rem;
}
@media screen and (max-width: 767px) {
  .pl-40 {
    padding-left: calc( 40rem * .7);
  }
}

.pr-40 {
  padding-right: 40rem;
}
@media screen and (max-width: 767px) {
  .pr-40 {
    padding-right: calc( 40rem * .7);
  }
}

.pt-40 {
  padding-top: 40rem;
}
@media screen and (max-width: 767px) {
  .pt-40 {
    padding-top: calc( 40rem * .7);
  }
}

.pb-40 {
  padding-bottom: 40rem;
}
@media screen and (max-width: 767px) {
  .pb-40 {
    padding-bottom: calc( 40rem * .7);
  }
}

.py-40 {
  padding-bottom: 40rem;
  padding-top: 40rem;
}
@media screen and (max-width: 767px) {
  .py-40 {
    padding-bottom: calc( 40rem * .7);
    padding-top: calc( 40rem * .7);
  }
}

@media screen and (max-width: 767px) {
  .sp-pt-40 {
    padding-top: 40rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-pb-40 {
    padding-bottom: 40rem;
  }
}

@media screen and (max-width: 767px) {
  .sp-py-40 {
    padding-bottom: 40rem;
    padding-top: 40rem;
  }
}

#tripla-chat-circle-icon, #tripla-icon-message, #tripla-minimized-chat {
  display: none !important;
}
@media screen and (max-width: 767px) {
  #tripla-chat-circle-icon, #tripla-icon-message, #tripla-minimized-chat {
    display: none !important;
  }
}

.fixed-reservation {
  position: fixed;
  right: 0;
  top: 40%;
  writing-mode: vertical-lr;
  display: inline-flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  align-content: center;
  background: #002045;
  padding: 2em 1em;
  color: #fff !important;
  text-decoration: none;
  font-size: 1.3rem;
}
.fixed-reservation span {
  display: block;
  text-align: center;
  width: 100%;
  line-height: 1;
  font-size: 1em;
  padding-top: 0.7em;
  margin-top: 1em;
  border-top: 1px solid rgba(255, 255, 255, 0.8);
}
.fixed-reservation img {
  width: 1em;
}

.view-more {
  display: flex;
  justify-content: flex-end;
  margin-top: 2rem;
}
.view-more a {
  text-decoration: none;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 10px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  letter-spacing: 0.1em;
  display: inline-block;
  position: relative;
  text-decoration: none;
}
.view-more a, .view-more a:link, .view-more a:visited {
  color: #000;
}
.view-more a:hover, .view-more a:active {
  text-decoration: none;
  color: #000;
}
@media screen and (max-width: 1099px) {
  .view-more a {
    font-size: 0.9vw;
  }
}
@media screen and (max-width: 767px) {
  .view-more a {
    font-size: 2.25vw;
  }
}
.view-more a::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  background: #000;
  opacity: 0.5;
  bottom: 0;
  left: 0;
  right: 0;
}

.text-xxxxl {
  font-size: 4rem;
  font-weight: normal;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .text-xxxxl {
    font-size: 3.2rem;
  }
}

.text-xxxl {
  font-size: 3.2rem;
  font-weight: normal;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .text-xxxl {
    font-size: 2.8rem;
  }
}

.text-xxl {
  font-size: 2.8rem;
  font-weight: normal;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .text-xxl {
    font-size: 2.6rem;
  }
}

.text-xl {
  font-size: 2.4rem;
  font-weight: normal;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .text-xl {
    font-size: 2rem;
  }
}

.text-l {
  font-size: 1.7rem;
  font-weight: normal;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .text-l {
    font-size: 1.5rem;
  }
}

.text-r {
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .text-r {
    font-size: 1.4rem;
  }
}

.text-s {
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .text-s {
    font-size: 1.2rem;
  }
}

.text-xs {
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .text-xs {
    font-size: 1rem;
  }
}

.basic-title h3,
.basic-title p {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transform: translate(0, 1em);
}
.basic-title h3 {
  transition-delay: 0.2s;
}
.basic-title p.en {
  transition-delay: 0.3s;
}
.basic-title p.title-area {
  transition-delay: 0.1s;
}
.basic-title.is-anm h3,
.basic-title.is-anm p, .is-anm .basic-title h3,
.is-anm .basic-title p {
  opacity: 1;
  transform: translate(0, 0);
}

.hotels-list-block h4,
.hotels-list-block .text-block--lead,
.hotels-list-block .text-block--text,
.hotels-list-block .text-block--link,
.hotels-list-block .text-block--detail,
.hotels-list-block .img-block,
.restaurant-list-block h4,
.restaurant-list-block .text-block--lead,
.restaurant-list-block .text-block--text,
.restaurant-list-block .text-block--link,
.restaurant-list-block .text-block--detail,
.restaurant-list-block .img-block {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transform: translate(0, 1em);
}
.hotels-list-block h4,
.restaurant-list-block h4 {
  transition-delay: 0.2s;
}
.hotels-list-block .text-block--lead,
.restaurant-list-block .text-block--lead {
  transition-delay: 0.3s;
}
.hotels-list-block .text-block--text,
.restaurant-list-block .text-block--text {
  transition-delay: 0.4s;
}
.hotels-list-block .text-block--link,
.restaurant-list-block .text-block--link {
  transition-delay: 0.6s;
}
.hotels-list-block .text-block--detail,
.restaurant-list-block .text-block--detail {
  transition-delay: 0.5s;
}
.hotels-list-block .img-block,
.restaurant-list-block .img-block {
  transition-delay: 0.4s;
  transform: translate(0, -1em);
}
@media screen and (max-width: 767px) {
  .hotels-list-block .img-block,
.restaurant-list-block .img-block {
    transform: translate(0, 1em);
  }
}
.hotels-list-block.is-anm h4,
.hotels-list-block.is-anm .text-block--lead,
.hotels-list-block.is-anm .text-block--text,
.hotels-list-block.is-anm .text-block--link,
.hotels-list-block.is-anm .text-block--detail,
.hotels-list-block.is-anm .img-block,
.restaurant-list-block.is-anm h4,
.restaurant-list-block.is-anm .text-block--lead,
.restaurant-list-block.is-anm .text-block--text,
.restaurant-list-block.is-anm .text-block--link,
.restaurant-list-block.is-anm .text-block--detail,
.restaurant-list-block.is-anm .img-block {
  opacity: 1;
  transform: translate(0, 0);
}

.map .pin {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transform: translate(0, 1em);
}
.map .pin:nth-of-type(1) {
  transition-delay: calc(500ms + (100ms * 1));
}
.map .pin:nth-of-type(2) {
  transition-delay: calc(500ms + (100ms * 2));
}
.map .pin:nth-of-type(3) {
  transition-delay: calc(500ms + (100ms * 3));
}
.map .pin:nth-of-type(4) {
  transition-delay: calc(500ms + (100ms * 4));
}
.map .pin:nth-of-type(5) {
  transition-delay: calc(500ms + (100ms * 5));
}
.map .pin:nth-of-type(6) {
  transition-delay: calc(500ms + (100ms * 6));
}
.map .pin:nth-of-type(7) {
  transition-delay: calc(500ms + (100ms * 7));
}
.map .pin:nth-of-type(8) {
  transition-delay: calc(500ms + (100ms * 8));
}
.map .pin:nth-of-type(9) {
  transition-delay: calc(500ms + (100ms * 9));
}
.map .pin:nth-of-type(10) {
  transition-delay: calc(500ms + (100ms * 10));
}
.map .pin:nth-of-type(11) {
  transition-delay: calc(500ms + (100ms * 11));
}
.map .pin:nth-of-type(12) {
  transition-delay: calc(500ms + (100ms * 12));
}
.map .pin:nth-of-type(13) {
  transition-delay: calc(500ms + (100ms * 13));
}
.map .pin:nth-of-type(14) {
  transition-delay: calc(500ms + (100ms * 14));
}
.map .pin:nth-of-type(15) {
  transition-delay: calc(500ms + (100ms * 15));
}
.map.is-anm .pin {
  opacity: 1;
  transform: translate(0, 0);
}

.mv-copy {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0s;
  transform: translate(0, 0.5em);
}
.is-anm .mv-copy, .mv-copy.is-anm {
  opacity: 1;
  transform: translate(0, 0);
}

.letterAnm span {
  opacity: 0;
  display: inline-block;
  transition-property: all;
  transition-duration: 0.5s;
  transform: translate(-0.2em, 0.2em);
}
.letterAnm span:nth-of-type(1) {
  transition-delay: 0.07s;
}
.letterAnm span:nth-of-type(2) {
  transition-delay: 0.14s;
}
.letterAnm span:nth-of-type(3) {
  transition-delay: 0.21s;
}
.letterAnm span:nth-of-type(4) {
  transition-delay: 0.28s;
}
.letterAnm span:nth-of-type(5) {
  transition-delay: 0.35s;
}
.letterAnm span:nth-of-type(6) {
  transition-delay: 0.42s;
}
.letterAnm span:nth-of-type(7) {
  transition-delay: 0.49s;
}
.letterAnm span:nth-of-type(8) {
  transition-delay: 0.56s;
}
.letterAnm span:nth-of-type(9) {
  transition-delay: 0.63s;
}
.letterAnm span:nth-of-type(10) {
  transition-delay: 0.7s;
}
.letterAnm span:nth-of-type(11) {
  transition-delay: 0.77s;
}
.letterAnm span:nth-of-type(12) {
  transition-delay: 0.84s;
}
.letterAnm span:nth-of-type(13) {
  transition-delay: 0.91s;
}
.letterAnm span:nth-of-type(14) {
  transition-delay: 0.98s;
}
.letterAnm span:nth-of-type(15) {
  transition-delay: 1.05s;
}
.letterAnm span:nth-of-type(16) {
  transition-delay: 1.12s;
}
.letterAnm span:nth-of-type(17) {
  transition-delay: 1.19s;
}
.letterAnm span:nth-of-type(18) {
  transition-delay: 1.26s;
}
.letterAnm span:nth-of-type(19) {
  transition-delay: 1.33s;
}
.letterAnm span:nth-of-type(20) {
  transition-delay: 1.4s;
}
.letterAnm span:nth-of-type(21) {
  transition-delay: 1.47s;
}
.letterAnm span:nth-of-type(22) {
  transition-delay: 1.54s;
}
.letterAnm span:nth-of-type(23) {
  transition-delay: 1.61s;
}
.letterAnm span:nth-of-type(24) {
  transition-delay: 1.68s;
}
.letterAnm span:nth-of-type(25) {
  transition-delay: 1.75s;
}
.letterAnm span:nth-of-type(26) {
  transition-delay: 1.82s;
}
.letterAnm span:nth-of-type(27) {
  transition-delay: 1.89s;
}
.letterAnm span:nth-of-type(28) {
  transition-delay: 1.96s;
}
.letterAnm span:nth-of-type(29) {
  transition-delay: 2.03s;
}
.letterAnm span:nth-of-type(30) {
  transition-delay: 2.1s;
}
.is-anm .letterAnm span {
  opacity: 1;
  transform: translate(0, 0);
}

.orderFadein > * {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transform: translate(0, 1em);
}
.orderFadein > *:nth-of-type(1) {
  transition-delay: 0.1s;
}
.orderFadein > *:nth-of-type(2) {
  transition-delay: 0.2s;
}
.orderFadein > *:nth-of-type(3) {
  transition-delay: 0.3s;
}
.orderFadein > *:nth-of-type(4) {
  transition-delay: 0.4s;
}
.orderFadein > *:nth-of-type(5) {
  transition-delay: 0.5s;
}
.orderFadein > *:nth-of-type(6) {
  transition-delay: 0.6s;
}
.orderFadein > *:nth-of-type(7) {
  transition-delay: 0.7s;
}
.orderFadein > *:nth-of-type(8) {
  transition-delay: 0.8s;
}
.orderFadein > *:nth-of-type(9) {
  transition-delay: 0.9s;
}
.orderFadein > *:nth-of-type(10) {
  transition-delay: 1s;
}
.orderFadein > *:nth-of-type(11) {
  transition-delay: 1.1s;
}
.orderFadein > *:nth-of-type(12) {
  transition-delay: 1.2s;
}
.orderFadein > *:nth-of-type(13) {
  transition-delay: 1.3s;
}
.orderFadein > *:nth-of-type(14) {
  transition-delay: 1.4s;
}
.orderFadein > *:nth-of-type(15) {
  transition-delay: 1.5s;
}
.orderFadein > *:nth-of-type(16) {
  transition-delay: 1.6s;
}
.orderFadein > *:nth-of-type(17) {
  transition-delay: 1.7s;
}
.orderFadein > *:nth-of-type(18) {
  transition-delay: 1.8s;
}
.orderFadein > *:nth-of-type(19) {
  transition-delay: 1.9s;
}
.orderFadein > *:nth-of-type(20) {
  transition-delay: 2s;
}
.orderFadein > *:nth-of-type(21) {
  transition-delay: 2.1s;
}
.orderFadein > *:nth-of-type(22) {
  transition-delay: 2.2s;
}
.orderFadein > *:nth-of-type(23) {
  transition-delay: 2.3s;
}
.orderFadein > *:nth-of-type(24) {
  transition-delay: 2.4s;
}
.orderFadein > *:nth-of-type(25) {
  transition-delay: 2.5s;
}
.orderFadein > *:nth-of-type(26) {
  transition-delay: 2.6s;
}
.orderFadein > *:nth-of-type(27) {
  transition-delay: 2.7s;
}
.orderFadein > *:nth-of-type(28) {
  transition-delay: 2.8s;
}
.orderFadein > *:nth-of-type(29) {
  transition-delay: 2.9s;
}
.orderFadein > *:nth-of-type(30) {
  transition-delay: 3s;
}
.is-anm .orderFadein > * {
  opacity: 1;
  transform: translate(0, 0);
}

.fadeIn {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0s;
  transform: translate(0, 0.5em);
}
.is-anm .fadeIn, .fadeIn.is-anm {
  opacity: 1;
  transform: translate(0, 0);
}

.fadeInScaleDown {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0s;
  transform: translate(0, 0.5em) scale(1.1);
}
.is-anm .fadeInScaleDown, .fadeInScaleDown.is-anm {
  opacity: 1;
  transform: translate(0, 0) scale(1);
}

.bnr-list .bnr:nth-of-type(1) {
  transition-delay: 0.1s;
}
.bnr-list .bnr:nth-of-type(2) {
  transition-delay: 0.2s;
}
.bnr-list .bnr:nth-of-type(3) {
  transition-delay: 0.3s;
}

.blurIn {
  opacity: 0;
  filter: blur(10px);
  transform: scale(0.95);
  transition: all 1.8s ease;
  /* アクティブ状態：表示されてぼかしがなくなる */
}
.is-anm .blurIn, .blurIn.is-anm {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
}

h4 {
  margin: 0;
  padding: 0;
  font-size: 14px;
}

.bookingengine {
  color: #D6D6D6;
}

.booking {
  font-size: 14px;
  font-weight: bold;
  color: #333;
  padding: 0 0 0.2em 0;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}

.booking_date {
  margin: 0;
  padding: 0 5px;
  display: block;
}
@media screen and (max-width: 767px) {
  .booking_date {
    width: 100%;
  }
}

.booking_date_2col {
  float: left;
  display: block;
  width: 80px;
  margin-right: 5px;
  padding: 0 5px;
}

input, select {
  margin: 2px 0;
  padding: 2px 3px;
}

input.button {
  width: 230px;
  margin: 3px auto;
  text-align: center;
}

hr {
  clear: both;
  width: 98%;
  height: 0;
  margin: 0;
  padding: 0;
  border: none;
  border-bottom: 1px dotted #CCCCCC;
}

#nitteiarea,
#ninzuarea,
#ryokinarea,
#searchtypearea {
  width: 100%;
  margin: 0;
  padding: 5px;
  border: none;
}

input#chkymd,
input#chkpsn {
  margin: 0;
  padding: 0;
}

#calidif,
#apple_overlayif {
  width: 0;
  height: 0;
  position: absolute;
  display: block;
}

.form-container {
  padding: 2%;
  width: 100%;
  margin: 0 auto;
}
.form-container #booking_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 1.5em;
  font-size: 12px;
}
.form-container #booking_inner .field-wrap {
  width: 40%;
}
.form-container #booking_inner .field-wrap-wide {
  width: 60%;
}
@media screen and (max-width: 767px) {
  .form-container #booking_inner .field-wrap {
    width: 100%;
    margin-bottom: 0.3em;
  }
}
.form-container #booking_inner .field-wrap.submit-wrap {
  display: flex;
  justify-content: center;
  padding: 1em 0 0 0;
}
@media screen and (max-width: 767px) {
  .form-container #booking_inner .field-wrap.submit-wrap {
    width: 100%;
  }
}
.form-container #booking_inner .field-wrap.submit-wrap input {
  border: none;
  width: 100%;
  max-width: 700px;
  border: 1px solid #333;
  font-size: 20px;
  color: #333;
  cursor: pointer;
  padding: 0.3em 5em;
}
.form-container #booking_inner .field-wrap.submit-wrap input:hover {
  opacity: 0.7;
}

.mini {
  font-size: 0.7em;
}

.flex-group {
  display: flex;
}
@media screen and (max-width: 767px) {
  .flex-group {
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .flex-group > div {
    width: 100%;
  }
}

.date-group {
  margin-right: 2em;
  margin-bottom: 0.5em;
}

.field-group {
  background: #fff;
}
@media screen and (max-width: 767px) {
  .field-group {
    width: 100%;
    padding: 0;
  }
}

.ninzu-wrap {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .ninzu-wrap {
    flex-wrap: wrap;
  }
}
.ninzu-wrap .ninzu {
  margin-right: 1em;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .ninzu-wrap .ninzu:last-of-type {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .ninzu-wrap .ninzu {
    margin-right: 0;
  }
}

.flex {
  display: flex;
  align-items: center;
}
.flex > * {
  margin-right: 0.5em;
}
.flex > *:last-child {
  margin-right: 0;
}

select, input {
  border-radius: 0 !important;
  -webkit-appearance: none;
  padding: 0.5em 0.8em;
  border: none;
  font-size: 1.6rem;
  color: #555;
  background: none;
}
@media screen and (max-width: 767px) {
  select, input {
    padding: 0.3em;
    font-size: 1.4rem;
  }
}

input {
  border: 1px solid #eee;
}
input[type=checkbox] {
  width: 1em;
  height: 1em;
}

/* チェックボックス01 */
input[type=checkbox] {
  display: none;
}

.checkboxText {
  box-sizing: border-box;
  cursor: pointer;
  display: inline-block;
  padding: 5px 30px;
  position: relative;
  width: auto;
}

.checkboxText::before {
  background: #fff;
  border: 1px solid #eee;
  content: "";
  display: block;
  height: 16px;
  left: 5px;
  margin-top: -8px;
  position: absolute;
  top: 50%;
  width: 16px;
}

.checkboxText::after {
  border-right: 3px solid #333;
  border-bottom: 3px solid #333;
  content: "";
  display: block;
  height: 9px;
  left: 10px;
  margin-top: -7px;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
  width: 5px;
}

input[type=checkbox]:checked + .checkboxText::after {
  opacity: 1;
}

.select-wrap {
  position: relative;
  border: 1px solid #eee;
}
.select-wrap::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 0.4em solid #333;
  border-right: 0.3em solid transparent;
  border-left: 0.3em solid transparent;
  position: absolute;
  right: 0.5em;
  top: 50%;
  transform: translateY(-50%);
}
.select-wrap select {
  width: 100%;
  padding-right: 1.5em;
}

@media screen and (max-width: 767px) {
  #hotelarea select {
    width: 100%;
  }
}

.date-group span {
  display: inline-block;
  margin: 0 0.3em;
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .form-s-text {
    font-size: 16px;
  }
}

select[name=minPrice], select[name=maxPrice] {
  width: 8em;
}

@media screen and (max-width: 767px) {
  .ninzu {
    flex-wrap: wrap;
    width: 25%;
  }
}
.ninzu > div {
  display: flex;
  align-items: center;
}
.ninzu select {
  min-width: 3em;
}
@media screen and (max-width: 767px) {
  .ninzu span.form-s-text {
    display: inline-block;
    width: 100%;
    font-size: 1rem;
  }
}

#calid_screen table {
  background-color: #fff !important;
}

.groups {
  width: 100%;
  padding: 5% 0 3% 0;
  background-color: #030c2a;
}
@media screen and (max-width: 767px) {
  .groups {
    padding: 50px 0;
  }
}
.groups .inner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
}
.groups .title {
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .groups .title {
    margin-bottom: 1em;
  }
}
.groups .title h3 {
  font-size: 2.6rem;
  color: #fff;
}
.groups .title h3 span:nth-of-type(2) {
  font-size: 0.6em;
  margin-left: 0.5em;
}
@media screen and (max-width: 767px) {
  .groups .title h3 {
    font-size: 2.4rem;
  }
}
.groups figure, .groups img {
  width: 100%;
}
.groups .groups-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .groups .groups-container {
    justify-content: space-between;
  }
}
.groups .groups-container .groups-section {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .groups .groups-container .groups-section {
    margin-bottom: 2em;
    margin-right: 0;
  }
}
.groups .groups-container .groups-section .groups-list {
  list-style: none;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.groups .groups-container .groups-section .groups-list li {
  width: calc(19% - 5px);
  margin-right: 5px;
  margin-bottom: 3em;
}
@media screen and (max-width: 767px) {
  .groups .groups-container .groups-section .groups-list li {
    width: 48%;
  }
}
.groups .groups-container .groups-section .groups-list-img {
  position: relative;
}
.groups .groups-container .groups-section .groups-list-img .groups-list-area {
  display: inline-block;
  padding: 0.2em 0.5em;
  background-color: rgba(51, 51, 51, 0.8);
  color: #fff;
  position: absolute;
  right: 0;
  top: 0;
  font-size: 11px;
  line-height: 1;
}
.groups .groups-container .groups-section .groups-list-img .groups-list-area span.cat {
  margin-left: 0.3em;
  padding-left: 0.3em;
  font-size: 10px;
}
.groups .groups-container .groups-section .groups-list-img .groups-list-area span:nth-of-type(2) {
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}
.groups .groups-container .groups-section .groups-text-list {
  list-style: none;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
}
.groups .groups-container .groups-section .groups-text-list li {
  width: 15%;
  margin-bottom: 2em;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .groups .groups-container .groups-section .groups-text-list li {
    width: calc(50% - 5px);
  }
}
.groups .groups-container .groups-section .groups-text-list li p {
  text-align: left;
  padding-left: 1.5em;
  position: relative;
}
.groups .groups-container .groups-section .groups-text-list li p:before {
  content: "";
  background-color: #fff;
  opacity: 0.7;
  display: inline-block;
  width: 0.8em;
  height: 1px;
  position: absolute;
  left: 0;
  top: 50%;
}
.groups .groups-container .groups-section .groups-text-list li p a {
  text-align: left;
}
.groups .groups-container .groups-section h4 {
  font-size: 1.6rem;
  color: #fff;
  margin-bottom: 1em;
  /*span.group-title-en{
   font-size: 1em;
   @include c.garamondR();
  }*/
}
.groups .groups-container .groups-section h4 span.group-title-en,
.groups .groups-container .groups-section h4 span.group-title-ja {
  font-size: 0.8em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
.groups .groups-container .groups-section h4 span:nth-of-type(2) {
  margin-left: 0.5em;
}
.groups .groups-container .groups-section p {
  margin-top: 0.2em;
  font-size: 1.2rem;
}
.groups .groups-container .groups-section p a {
  opacity: 0.8;
  text-decoration: none;
  color: #fff;
  display: inline-block;
  width: 100%;
  text-align: center;
  color: #fff;
}

.hotels {
  width: 100%;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
.hotels .inner {
  width: 100%;
}
.hotels .block-group {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
}
.hotels .block-group > div.img-block {
  width: 40%;
}
@media screen and (max-width: 767px) {
  .hotels .block-group > div.img-block {
    width: 100%;
  }
}
.hotels .block-group > div.text-block {
  width: 60%;
}
@media screen and (max-width: 767px) {
  .hotels .block-group > div.text-block {
    width: 100%;
  }
}
.hotels .block-group .img-block {
  display: flex;
  padding: 5%;
}
.hotels .block-group .img-block figure {
  width: 100%;
  transition-delay: 0.2s;
}
.hotels .block-group .text-block {
  padding: 3%;
}
.hotels .title {
  width: 100%;
  padding: 16% 0;
  transition: all 1.5s;
  opacity: 0;
  text-align: center;
  color: #fff;
  font-size: 3.2rem;
  position: relative;
}
.hotels .title::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .hotels .title {
    padding: 20% 0;
  }
}
.hotels .title p.title-area {
  font-family: "EB Garamond", serif;
  font-weight: 400;
  font-size: 4.5vw;
  font-weight: 400;
  white-space: nowrap;
  position: absolute;
  display: inline-block;
  opacity: 0.3;
  top: 9%;
  left: 50%;
  transform: translateX(-50%);
  line-height: 1;
}
.hotels .title h3, .hotels .title p {
  position: relative;
  z-index: 1;
}
.hotels .title h3 {
  margin-bottom: 0.3em;
}
.hotels .title.is-anm {
  opacity: 1;
}
.hotels .title .section-lead {
  margin-top: 2em;
}

.hotels-list {
  width: 100%;
}
.hotels-list-block {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  border-bottom: 1px solid #eee;
  background-color: white;
}
.hotels-list-block:nth-child(even) {
  background-color: #fafaf9;
}
.hotels-list-block:first-of-type {
  border-top: 1px solid #eee;
}
.hotels-list-block .img-block, .hotels-list-block .text-block {
  width: 50%;
  transition-delay: 0.2s;
}
@media screen and (max-width: 767px) {
  .hotels-list-block .img-block, .hotels-list-block .text-block {
    width: 100%;
  }
}
.hotels-list-block .img-block {
  min-height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .hotels-list-block .img-block {
    min-height: auto;
    height: 0;
    padding-bottom: 60%;
  }
}
.hotels-list-block .text-block {
  padding: 8% 2%;
  text-align: center;
}
.hotels-list-block .text-block--title {
  width: 100%;
  text-align: center;
  margin-bottom: 3rem;
}
.hotels-list-block .text-block--title span {
  display: inline-block;
  width: 100%;
  text-align: center;
}
.hotels-list-block .text-block--title .hotels-name {
  margin-top: 0.8em;
  font-size: 1.4rem;
}
.hotels-list-block .text-block--lead {
  font-size: 2rem;
  margin-bottom: 0.8em;
}
.hotels-list-block .text-block--text {
  font-size: 1.4rem;
  margin-bottom: 2em;
  line-height: 1.9;
}
.hotels-list-block .text-block--link {
  width: 100%;
  text-align: center;
  /*a{
   display: inline-block;
   padding: .8em 2em;
   font-size: 1.8rem;
   text-decoration: none;
   line-height: 1;
   position: relative;
   @include c.aset(#000,#000);
   &::after{
  	 display: inline-block;
  	   content: '';
  	   width: 100%;
  	   background-color: #000;
  	   height: 1px;
  	   position: absolute;
  	   left: 50%;
  	   transform: translateX(-50%);
  	   bottom: 0;
  	   opacity: .2;
  	  }
   &::before{
  	 display: inline-block;
  	 content: '';
  	 width: .4em;
  	 height: .4em;
  	 border-right: 1px solid #000;
  	 border-bottom: 1px solid #000;
  	 transform: rotate(-45deg) translateY(-52%);
  	 position: absolute;
  	 right: .5em;
  	 top: 50%;
   }
  }*/
}
.hotels-list-block .text-block--detail {
  padding: 0.5em 0;
  margin-bottom: 2em;
}
.hotels-list-block .text-block--detail p {
  text-align: center;
  font-size: 1.3rem;
  margin-bottom: 0.2em;
}

.restaurant-list {
  width: 80%;
  margin: 5% auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.restaurant-list-block {
  width: 48%;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .restaurant-list-block {
    width: 100%;
  }
}
.restaurant-list-block .img-block, .restaurant-list-block .text-block {
  width: 100%;
  transition-delay: 0.2s;
}
.restaurant-list-block .img-block {
  height: 0;
  padding-bottom: 60%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: 2em;
}
.restaurant-list-block .text-block {
  padding: 0;
  text-align: center;
}
.restaurant-list-block .text-block--title {
  width: 100%;
  text-align: center;
  margin-bottom: 3rem;
}
.restaurant-list-block .text-block--title span {
  display: inline-block;
  width: 100%;
  text-align: center;
}
.restaurant-list-block .text-block--title .restaurant-name {
  margin-top: 0.5em;
  font-size: 1.4rem;
}
.restaurant-list-block .text-block--lead {
  font-size: 2rem;
  margin-bottom: 0.8em;
}
.restaurant-list-block .text-block--text {
  font-size: 1.6rem;
  margin-bottom: 2em;
  line-height: 1.5;
}
.restaurant-list-block .text-block--link {
  width: 100%;
  text-align: center;
  /*a{
     display: inline-block;
     padding: .8em 2em;
     font-size: 1.8rem;
     text-decoration: none;
     line-height: 1;
     position: relative;
     @include c.aset(#000,#000);
     &::after{
  	   display: inline-block;
  		 content: '';
  		 width: 100%;
  		 background-color: #000;
  		 height: 1px;
  		 position: absolute;
  		 left: 50%;
  		 transform: translateX(-50%);
  		 bottom: 0;
  		 opacity: .2;
  		}
     &::before{
  	   display: inline-block;
  	   content: '';
  	   width: .4em;
  	   height: .4em;
  	   border-right: 1px solid #000;
  	   border-bottom: 1px solid #000;
  	   transform: rotate(-45deg) translateY(-52%);
  	   position: absolute;
  	   right: .5em;
  	   top: 50%;
     }
    }*/
}

.hotels-logo.logo-size20 img, .restaurant-logo.logo-size20 img {
  width: 20%;
}
.hotels-logo.logo-size30 img, .restaurant-logo.logo-size30 img {
  width: 30%;
}
.hotels-logo.logo-size40 img, .restaurant-logo.logo-size40 img {
  width: 40%;
}
.hotels-logo.logo-size50 img, .restaurant-logo.logo-size50 img {
  width: 50%;
}
.hotels-logo.logo-size60 img, .restaurant-logo.logo-size60 img {
  width: 60%;
}

.plans {
  width: 100%;
  padding: 5% 0;
}
.plans .title {
  text-align: center;
}

.tab-wrap {
  width: 80%;
  margin: 40px auto;
}
@media screen and (max-width: 767px) {
  .tab-wrap {
    width: 100%;
    margin: 20px auto 20px auto;
  }
}

.scroll-arrw {
  display: none;
  transition: opacity 0.5s;
  padding-bottom: 5%;
}
@media screen and (max-width: 767px) {
  .scroll-arrw {
    width: 100%;
    position: relative;
    display: block;
  }
}
.scroll-arrw.horscrolled {
  opacity: 0;
}

/*スクロールダウン全体の場所*/
.horScroll {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-22px);
}

/* 丸の描写 */
.horScroll:before {
  content: "";
  /*描画位置*/
  position: absolute;
  left: 0;
  bottom: -4px;
  /*丸の形状*/
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #888;
  /*丸の動き1.6秒かけて透過し、永遠にループ*/
  animation: circlemove 2s ease-in-out infinite, cirlemovehide 2s ease-out infinite;
}

/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove {
  0% {
    left: 45px;
  }
  100% {
    left: -5px;
  }
}
/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
/* 線の描写 */
.horScroll:after {
  content: "";
  /*描画位置*/
  position: absolute;
  bottom: 0;
  left: 0;
  /*線の形状*/
  height: 1px;
  width: 50px;
  background: #000;
  opacity: 0.1;
}

.tab-block {
  margin-bottom: 60px;
  box-shadow: 0 0 70px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .tab-block .tab-nav-wrap {
    overflow-x: auto;
    padding: 5% 5% 0% 5%;
    width: 100%;
    margin: auto;
    position: relative;
  }
}
.tab-block .tab-nav {
  list-style: none;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .tab-block .tab-nav {
    padding: 5% 0;
    margin: auto;
  }
}
.tab-block .tab-nav li {
  font-size: 1.6rem;
  width: 20%;
  text-align: center;
  padding: 20px 10px;
  cursor: pointer;
  transition: background-color 0.3s;
}
@media screen and (max-width: 767px) {
  .tab-block .tab-nav li {
    background: rgba(15, 35, 67, 0.1);
    width: auto;
    margin: 0 5px;
    text-align: left;
    padding: 0.5em 1em;
    border-radius: 10em;
    border-left: none;
    font-size: 1.5rem;
    white-space: nowrap;
  }
}
.tab-block .tab-nav li:hover {
  background-color: #414d5e;
  color: #fff;
}
.tab-block .tab-nav li:first-child {
  border-left: none;
}
.tab-block .tab-nav li.active {
  color: #fff;
  background: #0F2343;
}
.tab-block .tab-nav li > span {
  /*@include c.mq(){
  	text-align: left;
  	padding: 0 0 0 .7em;
  	  position: relative;
  	&::before{
  			  content: "";
  			  display: block;
  			  width: .5em;
  			  height: 1px;
  			  position: absolute;
  			  top: 50%;
  			  left: 0;
  			  background: rgba(#000,.3);
  		  }
  }*/
}
.tab-block .tab-body {
  list-style: none;
  padding: 50px 20px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .tab-block .tab-body {
    padding: 20px 20px 20px 20px;
  }
}
.tab-block .tab-body h3 {
  font-size: 131%;
  margin-bottom: 5px;
  font-weight: bold;
}
.tab-block .tab-body li {
  display: none;
}
.tab-block .tab-body li.active {
  display: block;
  animation-duration: 1.5s;
  animation-name: fade-in;
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
.plan-list-inner {
  display: flex;
  flex-wrap: wrap;
  width: 90%;
  margin: 0 auto;
  justify-content: space-between;
}
.plan-list-inner .plan-block {
  width: 48%;
}
@media screen and (max-width: 767px) {
  .plan-list-inner .plan-block {
    width: 100%;
    margin-bottom: 10%;
  }
}
@media screen and (max-width: 767px) {
  .plan-list-inner .plan-block:last-child {
    margin-bottom: 0;
  }
}
.plan-list-inner .plan-info .plan-title {
  text-align: left;
  font-size: 2.4rem;
  margin: 0.5em 0;
  line-height: 1.5;
}
.plan-list-inner .plan-info .plan-text {
  text-align: left;
  font-size: 1.6rem;
  margin-bottom: 1em;
  line-height: 1.5;
}
.plan-list-inner .plan-info .plan-link {
  width: 100%;
  text-align: center;
  /* a{
    display: inline-block;
    //border-radius: 10em;
    padding: .8em 5em;
    background-color: c.$color01;
    color: #fff;
    font-size: 1.8rem;
    text-decoration: none;
    line-height: 1;
    position: relative;
    &::before{
  	  display: inline-block;
  	  content: '';
  	  width: .5em;
  	  height: .5em;
  	  border-right: 1px solid #fff;
  	  border-bottom: 1px solid #fff;
  	  transform: rotate(-45deg) translateY(-50%);
  	  position: absolute;
  	  right: .5em;
  	  top: 50%;
    }
    @include c.mq(){
  	  padding: .8em 0;
  	  width: 100%;
  	  text-align: center;
    }
   }*/
}

.plan-list-slide {
  width: 90%;
  margin: 0 auto;
  padding-top: 5%;
}
.plan-list-slide .plan-block {
  margin: 0 10px;
}
@media screen and (max-width: 767px) {
  .plan-list-slide .plan-block {
    width: 100%;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .plan-list-slide .plan-block:last-child {
    margin-bottom: 0;
  }
}
.plan-list-slide .plan-info .plan-title {
  text-align: left;
  font-size: 1.8rem;
  margin: 0.5em 0;
  line-height: 1.5;
}
.plan-list-slide .plan-info .plan-text {
  text-align: left;
  font-size: 1.4rem;
  margin-bottom: 2em;
  line-height: 1.5;
}
.plan-list-slide .plan-info .plan-link {
  width: 100%;
  text-align: center;
  /* a{
    display: inline-block;
    //border-radius: 10em;
    padding: .8em 5em;
    background-color: c.$color01;
    color: #fff;
    font-size: 1.8rem;
    text-decoration: none;
    line-height: 1;
    position: relative;
    &::before{
  	  display: inline-block;
  	  content: '';
  	  width: .5em;
  	  height: .5em;
  	  border-right: 1px solid #fff;
  	  border-bottom: 1px solid #fff;
  	  transform: rotate(-45deg) translateY(-50%);
  	  position: absolute;
  	  right: .5em;
  	  top: 50%;
    }
    @include c.mq(){
  	  padding: .8em 0;
  	  width: 100%;
  	  text-align: center;
    }
   }*/
}

.plans-light .plan-title {
  color: #000;
}
.plans-light .plan-text {
  color: #000;
}
.access {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
}
.access .gmap {
  width: 60%;
}
@media screen and (max-width: 767px) {
  .access .gmap {
    width: 100%;
  }
}
.access #googlemaps {
  width: 60%;
}
@media screen and (max-width: 767px) {
  .access #googlemaps {
    width: 100%;
  }
}
.access .access-info {
  width: 40%;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .access .access-info {
    width: 100%;
  }
}
.access .access-info .title {
  margin-bottom: 1em;
}

.access-info {
  width: 100%;
  text-align: center;
  padding: 5% 0;
}
@media screen and (max-width: 767px) {
  .access-info {
    padding: 11% 0 8% 0;
  }
}
.access-info p {
  width: 100%;
  text-align: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  .access-info p {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .access-info p {
    font-size: 3.6vw;
  }
}

.access-detail .lead {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #333;
  text-align: center;
  width: 100%;
  padding: 3em 0;
}
@media screen and (max-width: 1099px) {
  .access-detail .lead {
    font-size: 1.62vw;
  }
}
@media screen and (max-width: 767px) {
  .access-detail .lead {
    font-size: 4.05vw;
  }
}
.access-detail .title {
  padding: 13% 0;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .access-detail .title {
    padding: 30% 0;
  }
}
.access-detail .title h3, .access-detail .title p {
  color: #fff;
  text-align: center;
  width: 100%;
}
.access-detail .title {
  position: relative;
}
.access-detail .title::before, .access-detail .title::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
}
.access-detail .title::before {
  z-index: -2;
  background: url(../img/access/access-title-bg.jpg) no-repeat center bottom 30%/cover;
}
.access-detail .title::after {
  z-index: -1;
}
.access-detail-block {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 5%;
  justify-content: center;
  width: 100%;
}
.access-detail-block--text {
  width: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .access-detail-block--text {
    width: 100%;
  }
}
.access-detail-block--text h4 {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  .access-detail-block--text h4 {
    font-size: 2.16vw;
  }
}
@media screen and (max-width: 767px) {
  .access-detail-block--text h4 {
    font-size: 5.4vw;
  }
}
.access-detail-block--text .access-route {
  padding: 5% 0;
  width: 100%;
  background-color: #e8edf7;
}
.access-detail-block--text .access-route-title {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 26px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 1em;
}
@media screen and (max-width: 1099px) {
  .access-detail-block--text .access-route-title {
    font-size: 2.34vw;
  }
}
@media screen and (max-width: 767px) {
  .access-detail-block--text .access-route-title {
    font-size: 5.85vw;
  }
}
.access-detail-block--text .access-route ul {
  list-style: none;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 1099px) {
  .access-detail-block--text .access-route ul {
    font-size: 1.62vw;
  }
}
@media screen and (max-width: 767px) {
  .access-detail-block--text .access-route ul {
    font-size: 4.05vw;
  }
}
@media screen and (max-width: 767px) {
  .access-detail-block--text .access-route ul {
    flex-wrap: wrap;
  }
}
.access-detail-block--text .access-route ul li {
  border-right: 1px solid rgba(0, 0, 0, 0.2);
  padding: 0.7em 2em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .access-detail-block--text .access-route ul li {
    width: 100%;
    border-right: none;
  }
}
.access-detail-block--text .access-route ul li:first-of-type {
  border-left: 1px solid rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 767px) {
  .access-detail-block--text .access-route ul li:first-of-type {
    border-left: none;
  }
}
.access-detail-block--text .access-route ul li p {
  text-align: center;
  line-height: 1;
}
.access-detail-block--text .access-route ul li p span {
  padding: 0.5em 1em;
}
.access-detail-block--text .access-route ul li p span b:first-of-type {
  padding-right: 5em;
  position: relative;
  font-size: 1.2em;
}
.access-detail-block--text .access-route ul li p span b:first-of-type::after {
  content: "";
  display: inline-block;
  width: 3em;
  height: 1px;
  background: rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 50%;
  right: 0;
  margin: 0 1em 0 0;
}
.access-detail-block--text .access-route ul li p span b:nth-of-type(2) {
  color: #888;
}
.access-detail-block--text .access-route ul li span {
  display: inline-block;
  text-align: center;
}
.access-detail-block--map {
  width: 60%;
}
@media screen and (max-width: 767px) {
  .access-detail-block--map {
    width: 100%;
  }
}

.access-detail-gmap #googlemaps {
  width: 100%;
  height: 300px;
}
.access-detail-gmap .access-info {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .access-detail-gmap .access-info {
    width: 100%;
  }
}
.access-detail-gmap .access-info .title {
  margin-bottom: 1em;
}

.facilities-detail .lead {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #333;
  text-align: center;
  width: 100%;
  padding: 3em 0;
}
@media screen and (max-width: 1099px) {
  .facilities-detail .lead {
    font-size: 1.62vw;
  }
}
@media screen and (max-width: 767px) {
  .facilities-detail .lead {
    font-size: 4.05vw;
  }
}
.facilities-detail .title {
  padding: 13% 0;
}
@media screen and (max-width: 767px) {
  .facilities-detail .title {
    padding: 30% 0;
  }
}
.facilities-detail .title h3, .facilities-detail .title p {
  text-align: center;
  width: 100%;
}
.facilities-detail.ce2 .title {
  position: relative;
}
.facilities-detail.ce2 .title::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
}
.facilities-detail.ce2 .title::before {
  z-index: -2;
  background: url(../img/facilities/facilities-title-bg.jpg) no-repeat center center/cover;
}
.facilities-detail-contents {
  padding-top: 5%;
}
.facilities-detail-block {
  display: flex;
  flex-wrap: wrap;
  padding: 0 5%;
  margin-bottom: 5%;
}
.facilities-detail-block--img {
  width: 100%;
}
.facilities-detail-block--img > div {
  width: 100%;
  height: 0;
  padding-bottom: 30%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.facilities-detail-block--text {
  width: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  align-content: center;
  padding: 1em 0 0 0;
}
@media screen and (max-width: 767px) {
  .facilities-detail-block--text {
    width: 100%;
  }
}
.facilities-detail-block--text h5 {
  width: 100%;
  display: flex;
  align-items: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  .facilities-detail-block--text h5 {
    font-size: 1.8vw;
  }
}
@media screen and (max-width: 767px) {
  .facilities-detail-block--text h5 {
    font-size: 4.5vw;
  }
}
.facilities-detail-block--text-info {
  width: 100%;
}
.facilities-detail-block--text-info dl {
  display: flex;
  justify-content: space-between;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
@media screen and (max-width: 1099px) {
  .facilities-detail-block--text-info dl {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  .facilities-detail-block--text-info dl {
    font-size: 3.15vw;
  }
}
.facilities-detail-block--text-info dl dt {
  width: 10%;
  color: #888;
}
.facilities-detail-block--text-info dl dd {
  width: 88%;
}

.cal-tab-wrap {
  width: 100%;
}
.cal-tab-body-block {
  width: 100%;
  position: relative;
  height: 0;
  padding-bottom: 73%;
}
@media screen and (max-width: 767px) {
  .cal-tab-body-block {
    padding-bottom: 160%;
  }
}
.cal-tab-body-block iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}

@media screen and (max-width: 767px) {
  .cal-tab-block .cal-tab-nav-wrap {
    overflow-x: auto;
    padding: 1% 5% 0% 5%;
    width: 100%;
    margin: auto;
    position: relative;
  }
}
.cal-tab-block .cal-tab-nav {
  list-style: none;
  display: flex;
  border-bottom: 1px solid #0F2343;
}
@media screen and (max-width: 767px) {
  .cal-tab-block .cal-tab-nav {
    border-bottom: none;
    padding: 5% 0;
    margin: auto;
  }
}
.cal-tab-block .cal-tab-nav li {
  font-size: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1em 1em;
  cursor: pointer;
  transition: background-color 0.3s;
}
@media screen and (max-width: 767px) {
  .cal-tab-block .cal-tab-nav li {
    background: rgba(15, 35, 67, 0.1);
    width: auto;
    margin: 0 5px;
    text-align: left;
    padding: 0.5em 1em;
    border-radius: 10em;
    border-left: none;
    font-size: 1.5rem;
    white-space: nowrap;
  }
}
.cal-tab-block .cal-tab-nav li:hover {
  background-color: #414d5e;
  color: #fff;
}
.cal-tab-block .cal-tab-nav li:first-child {
  border-left: none;
}
.cal-tab-block .cal-tab-nav li.active {
  color: #fff;
  background: #0F2343;
}
.cal-tab-block .cal-tab-nav li > span {
  /*@include c.mq(){
  	text-align: left;
  	padding: 0 0 0 .7em;
  	  position: relative;
  	&::before{
  			  content: "";
  			  display: block;
  			  width: .5em;
  			  height: 1px;
  			  position: absolute;
  			  top: 50%;
  			  left: 0;
  			  background: rgba(#000,.3);
  		  }
  }*/
}
.cal-tab-block .cal-tab-body {
  list-style: none;
  padding: 10px 20px 10px 20px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cal-tab-block .cal-tab-body {
    padding: 0;
  }
}
.cal-tab-block .cal-tab-body h3 {
  font-size: 131%;
  margin-bottom: 5px;
  font-weight: bold;
}
.cal-tab-block .cal-tab-body li {
  display: none;
}
.cal-tab-block .cal-tab-body li.active {
  display: block;
  animation-duration: 1.5s;
  animation-name: fade-in;
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
.cal-container {
  width: 100%;
  position: relative;
  height: 0;
  padding-bottom: 73%;
}
@media screen and (max-width: 767px) {
  .cal-container {
    padding-bottom: 160%;
  }
}
.cal-container iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}

.food-detail .lead {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #333;
  text-align: center;
  width: 100%;
  padding: 1em 0 1em 0;
}
@media screen and (max-width: 1099px) {
  .food-detail .lead {
    font-size: 1.62vw;
  }
}
@media screen and (max-width: 767px) {
  .food-detail .lead {
    font-size: 4.05vw;
  }
}
.food-detail .caption {
  width: 100%;
  text-align: center;
  font-size: 1.4rem;
}
.food-detail .title {
  padding: 13% 0;
}
@media screen and (max-width: 767px) {
  .food-detail .title {
    padding: 30% 0;
  }
}
.food-detail .title h3, .food-detail .title p {
  text-align: center;
  width: 100%;
}
.food-detail.ce2 .title {
  position: relative;
}
.food-detail.ce2 .title::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
}
.food-detail.ce2 .title::before {
  z-index: -2;
  background: url(../img/food/food-title-bg.jpg) no-repeat center center/cover;
}
.food-detail-contents {
  padding-top: 5%;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
}
.food-detail h4 {
  text-align: center;
  line-height: 1.1;
  margin: 0 0 1em 0;
  font-size: 1em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 30px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  line-height: 1 !important;
}
@media screen and (max-width: 1099px) {
  .food-detail h4 {
    font-size: 2.7vw;
  }
}
@media screen and (max-width: 767px) {
  .food-detail h4 {
    font-size: 6.75vw;
  }
}
@media screen and (max-width: 767px) {
  .food-detail h4 {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-size: 26px;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 1099px) {
  .food-detail h4 {
    font-size: 2.34vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .food-detail h4 {
    font-size: 5.85vw;
  }
}
.food-detail h4 span {
  margin: 0.3em;
  display: inline-block;
  width: 100%;
}
.food-detail h4 span.en {
  font-family: "EB Garamond", serif;
  font-weight: 400;
}
.food-detail h4 span.ja {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
.food-detail h4 span:nth-of-type(1) {
  font-size: 1.3em;
}
.food-detail h4 span:nth-of-type(2) {
  font-size: 0.5em;
}
.food-detail-block {
  display: flex;
  flex-wrap: wrap;
  padding: 0 5%;
  margin-bottom: 5%;
}
.food-detail-block--img {
  width: 100%;
}
.food-detail-block--img > div {
  width: 100%;
  height: 0;
  padding-bottom: 30%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.food-detail-block--text {
  width: 100%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  align-content: center;
  padding: 1em 0 0 0;
}
@media screen and (max-width: 767px) {
  .food-detail-block--text {
    width: 100%;
  }
}
.food-detail-block--text h5 {
  width: 100%;
  display: flex;
  align-items: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  .food-detail-block--text h5 {
    font-size: 1.8vw;
  }
}
@media screen and (max-width: 767px) {
  .food-detail-block--text h5 {
    font-size: 4.5vw;
  }
}
.food-detail-block--text-info {
  width: 100%;
}
.food-detail-block--text-info dl {
  display: flex;
  justify-content: space-between;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
@media screen and (max-width: 1099px) {
  .food-detail-block--text-info dl {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  .food-detail-block--text-info dl {
    font-size: 3.15vw;
  }
}
.food-detail-block--text-info dl dt {
  width: 10%;
  color: #888;
}
.food-detail-block--text-info dl dd {
  width: 88%;
}

.food-menu-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.food-menu-list h4 {
  text-align: center;
  font-size: 2.6rem;
  width: 100%;
}
.food-menu-list .food-menu {
  width: 48%;
  margin-bottom: 5%;
}
@media screen and (max-width: 767px) {
  .food-menu-list .food-menu {
    width: 100%;
  }
}
.food-menu-list .food-menu-img {
  width: 100%;
  height: 0;
  padding-bottom: 50%;
  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}
.food-menu-list .food-menu h4 {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  text-align: left;
  padding-top: 1em;
}
@media screen and (max-width: 1099px) {
  .food-menu-list .food-menu h4 {
    font-size: 2.16vw;
  }
}
@media screen and (max-width: 767px) {
  .food-menu-list .food-menu h4 {
    font-size: 5.4vw;
  }
}
.food-menu-list .food-menu-contents {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (max-width: 1099px) {
  .food-menu-list .food-menu-contents {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  .food-menu-list .food-menu-contents {
    font-size: 3.15vw;
  }
}
.food-menu-list .food-menu-contents > p {
  margin-bottom: 0.5em;
}
.food-menu-list .food-menu-contents > p::before {
  content: "【";
}
.food-menu-list .food-menu-contents > p::after {
  content: "】";
}
.food-menu-list .food-menu-contents > ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}
.food-menu-list .food-menu-contents > ul li::before {
  content: "・";
}
.food-menu-list .food-menu-price {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  padding: 0.5em 0 0 0;
}
@media screen and (max-width: 1099px) {
  .food-menu-list .food-menu-price {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .food-menu-list .food-menu-price {
    font-size: 3.6vw;
  }
}
.food-menu-list .food-menu-price .price span.price-02 {
  font-size: 1.3em;
}
.groupHotels {
  width: 100%;
  background: #e0e0e0;
}
.groupHotels .inner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
}
.groupHotels .groupHotels-container .inner {
  padding: 1em 0;
}
.groupHotels .groupHotels-container .inner .groupHotels-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
}
.groupHotels .groupHotels-container .inner .groupHotels-list li {
  padding: 2rem 0;
}
@media screen and (max-width: 767px) {
  .groupHotels .groupHotels-container .inner .groupHotels-list li {
    width: 100%;
    padding: 0.5em 0;
  }
}
.groupHotels .groupHotels-container .inner .groupHotels-list li a, .groupHotels .groupHotels-container .inner .groupHotels-list li span {
  text-decoration: none;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  display: block;
  width: 100%;
  padding: 0.3rem 1em;
  opacity: 0.7;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1.2;
}
.groupHotels .groupHotels-container .inner .groupHotels-list li a, .groupHotels .groupHotels-container .inner .groupHotels-list li a:link, .groupHotels .groupHotels-container .inner .groupHotels-list li a:visited, .groupHotels .groupHotels-container .inner .groupHotels-list li span, .groupHotels .groupHotels-container .inner .groupHotels-list li span:link, .groupHotels .groupHotels-container .inner .groupHotels-list li span:visited {
  color: #404c4f;
}
.groupHotels .groupHotels-container .inner .groupHotels-list li a:hover, .groupHotels .groupHotels-container .inner .groupHotels-list li a:active, .groupHotels .groupHotels-container .inner .groupHotels-list li span:hover, .groupHotels .groupHotels-container .inner .groupHotels-list li span:active {
  text-decoration: none;
  color: #404c4f;
}
@media screen and (max-width: 1099px) {
  .groupHotels .groupHotels-container .inner .groupHotels-list li a, .groupHotels .groupHotels-container .inner .groupHotels-list li span {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  .groupHotels .groupHotels-container .inner .groupHotels-list li a, .groupHotels .groupHotels-container .inner .groupHotels-list li span {
    font-size: 3.15vw;
  }
}
.groupHotels .groupHotels-container .inner .groupHotels-list li:not(:last-of-type) a {
  border-right: 1px solid rgba(64, 76, 79, 0.4);
}
@media screen and (max-width: 767px) {
  .groupHotels .groupHotels-container .inner .groupHotels-list li:not(:last-of-type) a {
    border-right: none;
  }
}
@media screen and (max-width: 767px) {
  .groupHotels .groupHotels-container .inner .groupHotels-list li:nth-of-type(even) a {
    border-right: none;
  }
}
.groupHotels .areaBnr {
  background: #404c4f !important;
  padding-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .groupHotels .areaBnr {
    padding-bottom: 8rem;
  }
}
.groupHotels .areaBnr .inner {
  padding: 1em 0;
}
.groupHotels .areaBnr .inner .bnr-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.groupHotels .areaBnr .inner .bnr-list .bnr {
  width: 25%;
  padding: 2rem 0;
}
@media screen and (max-width: 767px) {
  .groupHotels .areaBnr .inner .bnr-list .bnr {
    width: 50%;
    padding: 0.5em 0;
  }
}
.groupHotels .areaBnr .inner .bnr-list .bnr a {
  text-decoration: none;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  display: block;
  width: 100%;
  padding: 0.3rem 0;
  opacity: 0.7;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
}
.groupHotels .areaBnr .inner .bnr-list .bnr a, .groupHotels .areaBnr .inner .bnr-list .bnr a:link, .groupHotels .areaBnr .inner .bnr-list .bnr a:visited {
  color: #fff;
}
.groupHotels .areaBnr .inner .bnr-list .bnr a:hover, .groupHotels .areaBnr .inner .bnr-list .bnr a:active {
  text-decoration: none;
  color: #fff;
}
@media screen and (max-width: 1099px) {
  .groupHotels .areaBnr .inner .bnr-list .bnr a {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  .groupHotels .areaBnr .inner .bnr-list .bnr a {
    font-size: 3.15vw;
  }
}
.groupHotels .areaBnr .inner .bnr-list .bnr:not(:last-of-type) a {
  border-right: 1px solid rgba(255, 255, 255, 0.4);
}
@media screen and (max-width: 767px) {
  .groupHotels .areaBnr .inner .bnr-list .bnr:nth-of-type(even) a {
    border-right: none;
  }
}

.page-title {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 30px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  height: 90vh;
  min-height: 500px;
  max-height: 1000px;
}
@media screen and (max-width: 1099px) {
  .page-title {
    font-size: 2.7vw;
  }
}
@media screen and (max-width: 767px) {
  .page-title {
    font-size: 6.75vw;
  }
}
@media screen and (max-width: 767px) {
  .page-title {
    height: 80vh;
  }
}
.page-title-inner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1400px;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-end;
  align-items: flex-end;
  padding-bottom: 5rem;
}
.page-title h3 {
  line-height: 1.2;
  margin-bottom: 0.5em;
}
.page-title p {
  font-size: 0.7em;
  width: 100%;
  line-height: 1.2;
}
.page-title .ja {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 22px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  line-height: 1.3;
}
@media screen and (max-width: 1099px) {
  .page-title .ja {
    font-size: 1.98vw;
  }
}
@media screen and (max-width: 767px) {
  .page-title .ja {
    font-size: 4.95vw;
  }
}
.page-title .en {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 50px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  line-height: 1.3;
  order: -1;
}
@media screen and (max-width: 1099px) {
  .page-title .en {
    font-size: 4.5vw;
  }
}
@media screen and (max-width: 767px) {
  .page-title .en {
    font-size: 11.25vw;
  }
}
.page-title small {
  font-size: 0.7em;
}

.lead-group {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
}
.lead-group .lead-main {
  margin-bottom: 2rem;
  text-align: center;
}
.lead-group .lead-text {
  line-height: 2;
  text-align: center;
}

.about-detail .page-lead {
  width: 80%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.about-block {
  width: 100%;
  margin: 0 auto 10rem;
  /*display: flex;
  flex-wrap: wrap;
  align-items: center;
  */
}
@media screen and (max-width: 767px) {
  .about-block {
    margin: 0 auto 7rem;
  }
}
.about-block:nth-of-type(even) .about-block-text {
  order: -1;
}
@media screen and (max-width: 767px) {
  .about-block:nth-of-type(even) .about-block-text {
    order: 2;
  }
}
.about-block-img {
  width: 90%;
  max-width: 800px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .about-block-img {
    width: 100%;
  }
}
.about-block-img img {
  width: 100%;
  aspect-ratio: 2.4;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .about-block-img img {
    aspect-ratio: 1.5;
  }
}
.about-block-text {
  width: 100%;
  padding: 5rem 0;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .about-block-text {
    width: 100%;
    padding: 3rem;
  }
}
.about-block-text h4 {
  font-size: 1.6em;
  font-weight: normal;
  margin-bottom: 0.6em;
  margin: 0 auto 0.6em;
}
@media screen and (max-width: 767px) {
  .about-block-text h4 {
    font-size: 1.4em;
  }
}
.about-block-text p {
  width: 100%;
  line-height: 2;
}

.about-detail .lead {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #333;
  text-align: center;
  width: 100%;
  padding: 3em 0;
}
@media screen and (max-width: 1099px) {
  .about-detail .lead {
    font-size: 1.62vw;
  }
}
@media screen and (max-width: 767px) {
  .about-detail .lead {
    font-size: 4.05vw;
  }
}
.about-detail .title {
  padding: 13% 0 30% 0;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .about-detail .title {
    padding: 30% 0;
  }
}
.about-detail .title h3, .about-detail .title p {
  color: #fff;
  text-align: center;
  width: 100%;
}
.about-detail .title {
  position: relative;
}
.about-detail .title::before, .about-detail .title::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
}
.about-detail .title::before {
  z-index: -2;
  background: url(../img/about/about-title-bg.jpg) no-repeat center bottom 30%/cover;
}
.about-detail .title::after {
  z-index: -1;
}

#about03 .about-block-img {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#about03 .about-block-img figure:nth-of-type(1) {
  width: 100%;
  margin-bottom: 5px;
}
#about03 .about-block-img figure:nth-of-type(1) img {
  width: 100%;
  aspect-ratio: 2;
  object-fit: cover;
}
#about03 .about-block-img figure:nth-of-type(2), #about03 .about-block-img figure:nth-of-type(3) {
  width: calc((100% - 5px) / 2);
}
#about03 .about-block-img figure:nth-of-type(2) img, #about03 .about-block-img figure:nth-of-type(3) img {
  width: 100%;
  aspect-ratio: 1.5;
  object-fit: cover;
}

.about-lead p:nth-of-type(1) {
  text-align: center;
  margin-bottom: 2rem;
}
.about-lead p:nth-of-type(2) {
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .about-lead p:nth-of-type(2) {
    text-align: justify;
  }
}

.top-news {
  margin: 15rem 0 8rem;
}
.top-news .news-inner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
}
.top-news h4 {
  text-align: center;
  color: #003f87;
  margin-bottom: 2rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  letter-spacing: 0.1em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
}
@media screen and (max-width: 1099px) {
  .top-news h4 {
    font-size: 3.6vw;
  }
}
@media screen and (max-width: 767px) {
  .top-news h4 {
    font-size: 9vw;
  }
}

#newsList {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  list-style: none;
}
@media screen and (max-width: 1099px) {
  #newsList {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  #newsList {
    font-size: 3.6vw;
  }
}
#newsList li {
  display: flex;
  border-bottom: 1px solid rgba(51, 51, 51, 0.1);
  padding: 0.5em 0;
}
#newsList li:first-of-type {
  border-top: 1px solid rgba(51, 51, 51, 0.1);
}
#newsList li > span {
  display: inline-block;
  width: 10rem;
  color: #aaa;
  font-family: "EB Garamond", serif;
  font-weight: 400;
}
#newsList li > p {
  width: calc(100% - 10rem);
}
#newsList li > p a {
  text-decoration: none;
}
#newsList li > p a, #newsList li > p a:link, #newsList li > p a:visited {
  color: #003f87;
}
#newsList li > p a:hover, #newsList li > p a:active {
  text-decoration: none;
  color: #003f87;
}
#newsList li > p a:hover {
  text-decoration: underline;
}

body.news-detail .page-title {
  height: 50vh;
  min-height: 300px;
  max-height: 1000px;
}
body.news-detail .breadcrumbs {
  display: block;
  border-bottom: 1px solid rgba(51, 51, 51, 0.1);
}

.news-detail-container {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  padding: 5rem 0;
}
.news-detail-container h3 {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 30px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 0.5rem;
  line-height: 1.5;
}
@media screen and (max-width: 1099px) {
  .news-detail-container h3 {
    font-size: 2.7vw;
  }
}
@media screen and (max-width: 767px) {
  .news-detail-container h3 {
    font-size: 6.75vw;
  }
}
.news-detail-container #up_ymd {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 3rem;
}
@media screen and (max-width: 1099px) {
  .news-detail-container #up_ymd {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  .news-detail-container #up_ymd {
    font-size: 3.15vw;
  }
}
.news-detail-container p, .news-detail-container span {
  line-height: 1.5;
}

.backORcloseBtn {
  margin-top: 5rem;
}
.backORcloseBtn a {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  text-decoration: none;
  border-bottom: 1px solid rgba(0, 63, 135, 0.1);
  display: inline-flex;
  align-content: center;
  align-items: center;
  transition: all 0.5s;
}
@media screen and (max-width: 1099px) {
  .backORcloseBtn a {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  .backORcloseBtn a {
    font-size: 3.15vw;
  }
}
.backORcloseBtn a, .backORcloseBtn a:link, .backORcloseBtn a:visited {
  color: #003f87;
}
.backORcloseBtn a:hover, .backORcloseBtn a:active {
  text-decoration: none;
  color: #003f87;
}
.backORcloseBtn a:hover {
  border-bottom: 1px solid rgba(0, 63, 135, 0.9);
}
.backORcloseBtn a::before {
  content: "<";
  font-size: 0.7em;
  margin-right: 0.5em;
}

.l-inner {
  position: relative;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 10rem;
}

[class*=swiper]:focus {
  outline: none;
}

.slide-media,
.thumb-media {
  position: relative;
  overflow: hidden;
}

.slide-media img,
.thumb-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}

.slideF {
  overflow: hidden;
}

.slideF .swiper {
  overflow: visible;
}

.slideF .slide {
  overflow: hidden;
  -webkit-transition: var(--transition), opacity 1s;
  transition: var(--transition), opacity 1s;
}

.slideF .slide-media {
  padding-top: 90%;
}
@media screen and (max-width: 767px) {
  .slideF .slide-media {
    padding-top: 90%;
  }
}

.slideF .slide-media img {
  height: calc(100% + 16px);
  -webkit-transform: translateY(-16px);
  transform: translateY(-16px);
}

.slideF .slide-content {
  padding: 3.2rem;
}

.slideF .swiper-slide:not(.swiper-slide-visible) .slide {
  pointer-events: none;
}

.slideS .slide-media {
  padding-top: 60%;
}
@media screen and (max-width: 767px) {
  .slideS .slide-media {
    padding-top: 90%;
  }
}
.slideS img {
  aspect-ratio: 2.4;
  object-fit: cover;
  width: 100%;
}

/*@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;800&display=swap');
.swiper-container {
  overflow: hidden;
  position: relative;
}
.d-demo {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  position: relative;
  padding-bottom: 60px;
}
.d-demo__heading {
  width: 20%;
  position: relative;
}
.d-demo__ttl {
  width: 20%;
  max-width: 55px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.d-demo__slider {
  width: 100%;
}
.d-demo__slide {
  width: 100%;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform;
}
.d-demo__slide-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform;
}
.swiper-container-main {
  height: calc(100vh - 10rem);
  min-height: 500px;
  transition: opacity 0.6s ease, transform 0.3s ease;
}
.d-demo__slide-heading {
  position: absolute;
  top: 32%;
  left: 0;
  width: 50%;
  padding-left: 5%;
  color: #fff;
}
.d-demo__slide-ttl {
  font-size: 30px;
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  margin-bottom: 30px;
}
.d-demo__slide-txt {
  font-size: 13px;
  font-family: 'Poppins', sans-serif;
  font-weight: 400;
  line-height: 1.4;
  transform: translateX(50px);
}
.swiper-container-nav {
  width: 50%;
  height: 13%;
  position: absolute;
  right: 0;
  bottom: 3.5%;
  z-index: 10;
}
.d-demo__nav {
  cursor: pointer;
}
.d-demo__nav-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  will-change: transform;
}
.d-demo__nav:before {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.55);
  transition: background-color 0.3s ease;
  content: '';
  z-index: 1;
  transform:translateZ(1px); //safari対策
}
.swiper-slide-active.d-demo__nav:before {
  background-color: rgba(0, 0, 0, 0);
}
.d-demo__nav:hover:before {
  background-color: rgba(0, 0, 0, 0);
}
.d-demo__nav-heading {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: 'Poppins', sans-serif;
  font-weight: 800;
  color: #fff;
  font-size: 15px;
}
 .swiper-button-prev,
  .swiper-button-next {
	--swiper-navigation-size: 12px;
	background-color: transparent;
	border-radius: 50%;
	width: 25px !important;
	height: 25px !important;
	&::after{
		color: #fff;
	}
}*/
html {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  background: #fff;
}

body {
  color: #333;
  -webkit-print-color-adjust: exact;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  z-index: 0;
}
body::after {
  display: block;
  position: fixed;
  width: 40%;
  height: 100%;
  top: 0;
  left: 30%;
  right: 30%;
  bottom: 0;
  z-index: -1;
  border-left: 1px solid #000;
  border-right: 1px solid #000;
  opacity: 0.05;
}
body::before {
  display: block;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
}

.header-logo span {
  color: #003f87;
  white-space: nowrap;
  margin-top: 1em;
  display: inline-block;
  display: block;
  text-align: center;
  font-weight: normal;
  letter-spacing: 0.05em;
}

.nav-sp-content-logo img {
  max-width: 170px;
}

h1, h2, h3, h4, h5, h6 {
  letter-spacing: 0.05em;
}

p {
  line-height: 2;
  letter-spacing: 0.05em;
}

body.launch {
  padding-bottom: 6rem;
}
body.launch header {
  position: static;
}
body.launch header .header-nav-g {
  display: none;
}
body.launch header .header-inner {
  justify-content: center;
}
body.launch .fixed-nav, body.launch footer {
  display: none;
}
@media screen and (max-width: 767px) {
  body.launch .page-title {
    height: 30vh !important;
    min-height: auto;
  }
}

.launch-page-mv figure {
  width: 100%;
}
.launch-page-mv img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 3;
}
@media screen and (max-width: 767px) {
  .launch-page-mv img {
    aspect-ratio: 2;
  }
}

.launch-page-title {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  height: 50vh;
  min-height: 300px;
  max-height: 800px;
}
@media screen and (max-width: 1099px) {
  .launch-page-title {
    font-size: 1.8vw;
  }
}
@media screen and (max-width: 767px) {
  .launch-page-title {
    font-size: 4.5vw;
  }
}
@media screen and (max-width: 767px) {
  .launch-page-title {
    height: 50vh;
  }
}
.launch-page-title-inner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1400px;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  align-content: flex-end;
  align-items: flex-end;
}
.launch-page-title h3 {
  line-height: 1.2;
  margin-bottom: 0.5em;
}
.launch-page-title p {
  font-size: 0.7em;
  width: 100%;
  line-height: 1.2;
}
.launch-page-title .ja {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  line-height: 1.3;
}
@media screen and (max-width: 1099px) {
  .launch-page-title .ja {
    font-size: 3.6vw;
  }
}
@media screen and (max-width: 767px) {
  .launch-page-title .ja {
    font-size: 9vw;
  }
}
.launch-page-title .en {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  line-height: 1.3;
}
@media screen and (max-width: 1099px) {
  .launch-page-title .en {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .launch-page-title .en {
    font-size: 3.6vw;
  }
}
.launch-page-title small {
  font-size: 0.7em;
}

@media screen and (max-width: 767px) {
  body.modelcource header {
    position: sticky;
  }
}

header {
  top: 0;
  right: 0;
  left: 0;
  z-index: 2;
  position: fixed;
  width: 100%;
  /*
  .scrolled &{
  	.header-logo{
  		display: inline-flex;
  		align-items: center;
  		justify-content: center;
  		opacity: 1;
  	}
  }*/
}
header::before {
  display: block;
  width: 100%;
  height: 120%;
  top: 0;
  left: 0;
  right: 0;
  background: linear-gradient(180deg, white 20%, rgba(255, 255, 255, 0) 100%);
  position: absolute;
  z-index: -1;
  opacity: 0;
  transition: all 0.5s;
}
.scrolled header::before {
  opacity: 1;
}
.modelcource header {
  position: sticky;
}
@media screen and (max-width: 767px) {
  .modelcource header {
    position: sticky;
  }
}
.sightseeing header {
  position: sticky;
}
@media screen and (max-width: 767px) {
  .sightseeing header {
    position: sticky;
  }
}
header .header-inner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1400px;
  text-align: center;
  padding: 0.5% 0;
  display: flex;
  align-content: center;
  align-items: stretch;
  position: relative;
}
@media screen and (max-width: 767px) {
  header .header-inner {
    justify-content: center;
  }
}
header .header-logo {
  padding: 1rem 2rem;
}
@media screen and (max-width: 767px) {
  header .header-logo {
    opacity: 1;
  }
}
header .header-logo h1 a {
  text-decoration: none;
  text-decoration: none;
}
header .header-logo h1 a, header .header-logo h1 a:link, header .header-logo h1 a:visited {
  color: #000;
}
header .header-logo h1 a:hover, header .header-logo h1 a:active {
  text-decoration: none;
  color: #000;
}
header .header-logo h1 .en {
  font-family: "EB Garamond", serif;
  font-weight: 400;
  color: #196fa9;
  font-size: 1em;
}
header .header-logo h1 .jp {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  color: #333;
  font-size: 0.6em;
  margin-left: 0.3em;
}
header .header-logo h1 span {
  color: #003f87;
  margin-top: 0.5em;
  white-space: nowrap;
  letter-spacing: 0;
  display: block;
}
header .header-nav-g {
  margin-left: auto;
  padding: 1.2%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  header .header-nav-g {
    transform: translateY(0);
    display: none;
  }
}
@media screen and (max-width: 767px) {
  header .header-nav-g {
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    top: auto;
    z-index: 999;
  }
}
header .header-nav-g ul {
  display: flex;
  align-items: center;
}
header .header-nav-g ul li {
  margin-right: 2.5em;
}
@media screen and (max-width: 767px) {
  header .header-nav-g ul li {
    width: 100%;
    margin-right: 0;
  }
}
header .header-nav-g ul li:last-of-type {
  margin-right: 0;
}
header .header-nav-g ul li.nav-item-reserve a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  background: #003f87;
  padding: 1em 4em;
  border-radius: 20rem;
  color: #fff !important;
}
header .header-nav-g ul li.nav-item-reserve span {
  display: block;
  text-align: center;
  width: 100%;
  padding-left: 0.5em;
  line-height: 1;
  font-size: 0.8em;
}
header .header-nav-g ul li.nav-item-reserve img {
  width: 0.9em;
}
header .header-nav-g ul li a {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  display: inline-block;
  line-height: 1.3;
  text-decoration: none;
  letter-spacing: 0;
}
@media screen and (max-width: 1099px) {
  header .header-nav-g ul li a {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  header .header-nav-g ul li a {
    font-size: 3.15vw;
  }
}
header .header-nav-g ul li a, header .header-nav-g ul li a:link, header .header-nav-g ul li a:visited {
  color: #555;
}
header .header-nav-g ul li a:hover, header .header-nav-g ul li a:active {
  text-decoration: none;
  color: #555;
}
header .header-nav-g ul li a:hover {
  opacity: 0.5;
}
header .header-nav-g ul li a span {
  position: relative;
}
@media screen and (max-width: 767px) {
  header .header-nav-g ul li a {
    width: 100%;
    text-align: center;
  }
}
header .header-nav-g ul li a br {
  display: none;
}
header .header-nav-g ul li a .en {
  display: none;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 10px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #003f87;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  text-decoration: none;
}
@media screen and (max-width: 1099px) {
  header .header-nav-g ul li a .en {
    font-size: 0.9vw;
  }
}
@media screen and (max-width: 767px) {
  header .header-nav-g ul li a .en {
    font-size: 2.25vw;
  }
}
header .header-nav-g ul li a .en, header .header-nav-g ul li a .en:link, header .header-nav-g ul li a .en:visited {
  color: #003f87;
}
header .header-nav-g ul li a .en:hover, header .header-nav-g ul li a .en:active {
  text-decoration: none;
  color: #003f87;
}
header .header-nav-g ul li.instagram a {
  display: inline-flex;
  align-items: center;
}
header .header-nav-g ul li.instagram img {
  width: 1.3em;
}
header .header-nav-g ul li.has-child {
  position: relative;
}
header .header-nav-g ul li.has-child .child {
  filter: drop-shadow(0 0 2rem rgba(0, 0, 0, 0.1));
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 100%;
  padding: 1em 0.5em;
  z-index: 4;
  background: #fff;
  width: 150%;
  /*はじめは非表示*/
  visibility: hidden;
  opacity: 0;
  /*アニメーション設定*/
  transition: all 0.3s;
}
header .header-nav-g ul li.has-child .child li {
  margin-right: 0;
}
header .header-nav-g ul li.has-child .child li a {
  display: inline-block;
  padding: 0.5em 1em;
  white-space: nowrap;
  text-align: left;
}
header .header-nav-g ul li.has-child:hover > ul, header .header-nav-g ul li.has-child ul li:hover > ul, header .header-nav-g ul li.has-child:active > ul, header .header-nav-g ul li.has-child ul li:active > ul {
  visibility: visible;
  opacity: 1;
}
header .header-nav-g a {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  text-decoration: none;
}
header .header-nav-g a, header .header-nav-g a:link, header .header-nav-g a:visited {
  color: #fff;
}
header .header-nav-g a:hover, header .header-nav-g a:active {
  text-decoration: none;
  color: #fff;
}
header .header-nav-g.light a {
  text-decoration: none;
}
header .header-nav-g.light a, header .header-nav-g.light a:link, header .header-nav-g.light a:visited {
  color: #333;
}
header .header-nav-g.light a:hover, header .header-nav-g.light a:active {
  text-decoration: none;
  color: #333;
}
@media screen and (max-width: 767px) {
  header .header-nav {
    display: none;
  }
}
header .header-nav nav {
  height: 100%;
}
header .header-nav ul {
  display: flex;
  align-items: center;
  height: 100%;
}
header .header-nav ul li {
  height: 100%;
}
@media screen and (max-width: 767px) {
  header .header-nav ul li {
    width: 100%;
    margin-right: 0;
  }
}
header .header-nav ul li:last-of-type {
  margin-right: 0;
}
header .header-nav ul li a {
  display: flex;
  align-items: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0;
  height: 100%;
  padding: 0.8em 1.5em;
  transition: opacity 0.5s;
}
@media screen and (max-width: 1099px) {
  header .header-nav ul li a {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  header .header-nav ul li a {
    font-size: 3.15vw;
  }
}
header .header-nav ul li a:hover {
  opacity: 0.7;
}
header .header-nav ul li a span {
  padding-left: 0.5em;
  position: relative;
}
@media screen and (max-width: 767px) {
  header .header-nav ul li a {
    width: 100%;
    text-align: center;
  }
}
header .header-nav ul li:not(.nav-item-reserve) a {
  border-left: 1px solid rgba(85, 85, 85, 0.2);
}
header .header-nav ul li.nav-item-reserve {
  display: flex;
  justify-content: center;
  align-items: center;
}
header .header-nav ul li.nav-item-reserve a {
  background: #003f87 !important;
  height: 100%;
  color: #fff !important;
  padding: 0.5em 2em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
header .header-nav ul li.nav-item-reserve a::before {
  content: "";
  display: inline-block;
  width: 1.3em;
  height: 1.3em;
  background: url(../img/cmn/icon-cal-white.svg) no-repeat center center/contain;
  margin-right: 0.2em;
}
header .header-nav a {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  text-decoration: none;
}
header .header-nav a, header .header-nav a:link, header .header-nav a:visited {
  color: #555;
}
header .header-nav a:hover, header .header-nav a:active {
  text-decoration: none;
  color: #555;
}
.reserve-btn-left a {
  background: #003f87;
  transition: all 0.5s;
}
.reserve-btn-left a:hover {
  background: #003f87;
  opacity: 0.7;
}

.nav-sp-content {
  background: #fff !important;
}
.nav-sp-content-contact {
  width: 100%;
}
.nav-sp-content-contact a {
  color: #333;
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  font-size: 1.6rem;
}
.nav-sp-content-contact a span {
  display: inline-block;
}
.nav-sp-content-contact a span.nav-sp-content-contact-02 {
  font-size: 1.3em;
  margin: 0 0.1em 0 0.3em;
}
.nav-sp-content-contact a span.nav-sp-content-contact-03 {
  font-size: 0.8em;
}
.nav-sp-content-bnr {
  width: 100%;
  padding-top: 10%;
}
.nav-sp-content-bnr h3 {
  color: #003f87;
  text-align: center;
  font-size: 1.4rem;
  padding: 0.5em 0 0.5em 0;
}

.fixed-nav ul:not(.nav-sp-content-list) li {
  border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.fixed-nav ul.nav-sp-content-list li {
  background: none !important;
}
.fixed-nav ul.nav-sp-content-list li a {
  text-decoration: none;
}
.fixed-nav ul.nav-sp-content-list li a, .fixed-nav ul.nav-sp-content-list li a:link, .fixed-nav ul.nav-sp-content-list li a:visited {
  color: #333;
}
.fixed-nav ul.nav-sp-content-list li a:hover, .fixed-nav ul.nav-sp-content-list li a:active {
  text-decoration: none;
  color: #333;
}
.fixed-nav ul.nav-sp-content-list li a .en {
  font-family: "EB Garamond", serif;
  font-weight: 400;
  font-size: 0.7em;
  color: #003f87;
}
.fixed-nav ul.nav-sp-content-list li.new > a > span:nth-of-type(1)::after {
  content: "NEW";
  display: inline-block;
  padding: 0.3em 0.5em;
  background: #003f87;
  font-size: 10px;
  color: #fff;
  border-radius: 5px;
  margin-left: 1em;
}

.header-logo a {
  object-fit: cover;
  aspect-ratio: 140/32;
  display: inline-block;
  transition: all 0.5s;
  transform-origin: center top;
}
.header-logo a img {
  width: 110px;
  transition: all 0.5s;
}
@media screen and (max-width: 767px) {
  .header-logo a img {
    width: 70px;
  }
}

.header-inner {
  transition: all 0.5s;
  transform-origin: center top;
}

.scrolled .header-inner {
  padding: 0;
}
.scrolled .header-logo a img {
  width: 90px;
}
@media screen and (max-width: 767px) {
  .scrolled .header-logo a img {
    width: 70px;
  }
}

.header-nav-g .instagram a {
  opacity: 0.8;
  object-fit: cover;
  aspect-ratio: 1;
  display: inline-block;
  transition: all 0.5s;
}

footer .footer-logo-wrap {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 30px;
}
footer .footer-logo-wrap .footer-logo-resortlife {
  text-align: center;
  font-size: 1.3rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
footer .footer-logo-wrap .footer-logo-resortlife img {
  max-width: 350px;
}
footer .footer-logo-wrap .footer-logo-resortlife .address {
  margin-top: 0.5em;
}
footer .copyright-container {
  width: 100%;
  text-align: center;
  font-size: 12px;
  padding: 0.5em 0;
  margin-top: 30px;
}

.basic-title {
  font-size: 3rem;
}
.basic-title h3 {
  font-size: 1em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 0.5em;
}
.basic-title p.ja {
  font-size: 0.6em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
.basic-title p.en {
  font-size: 0.6em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
}
@keyframes pan-left {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-10%);
  }
}
.top-mv-slide {
  overflow: hidden;
}
.top-mv-slide .swiper-wrapper {
  transition-timing-function: linear;
}
.top-mv-slide .slide-block {
  overflow: hidden;
}
.top-mv-slide .slide-block .img-wrap {
  width: 100%;
  overflow: hidden;
  min-height: 600px;
  height: 100vh;
  transition: clip-path 1s ease-in-out;
}
.top-mv-slide .slide-block figure {
  width: 120%;
  height: 100%;
}
.top-mv-slide .slide-block figure img {
  width: 180%;
  object-fit: cover;
  height: 100%;
}
.top-mv-slide .slide-block figure.active {
  animation: pan-left 10s linear forwards;
}
.top-mv-slide .slide-block.swiper-slide-next .img-wrap {
  clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
}
.top-mv-slide .slide-block.swiper-slide-active .img-wrap {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

.top-mv {
  width: 100%;
}
.top-mv-inner {
  position: relative;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .top-mv-inner {
    padding-bottom: 0;
  }
}
.top-mv .top-mv-copy-wrap {
  position: absolute;
  color: #fff;
  text-align: left;
  right: 5%;
  bottom: 3%;
  z-index: 3;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
}
@media screen and (max-width: 767px) {
  .top-mv .top-mv-copy-wrap {
    right: auto;
    left: 3%;
    bottom: 5%;
  }
}
.top-mv p {
  color: #fff;
  font-size: 2.3rem;
}
.section-title-en {
  font-family: "EB Garamond", serif;
  font-weight: 400;
  color: #BAB8A0;
  font-size: 70px;
  opacity: 0.5;
  overflow: hidden;
}
@media screen and (max-width: 1099px) {
  .section-title-en {
    font-size: 5vw;
  }
}
@media screen and (max-width: 767px) {
  .section-title-en {
    font-size: 9vw;
  }
}
.section-title-en span {
  letter-spacing: 0;
}

.section-title {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 30px;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1099px) {
  .section-title {
    font-size: 2vw;
  }
}
@media screen and (max-width: 767px) {
  .section-title {
    font-size: 5vw;
  }
}
.text-block .section-title {
  margin-bottom: 0.5em;
}

.section-lead-wrap {
  padding: 5em 0;
  width: 100%;
  text-align: center;
}
.section-lead {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  .section-lead {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .section-lead {
    font-size: 3.6vw;
  }
}

section.movie, section.shirahama, section.fireworks, section.aws, section.cafe, section.nav-banner, section.floor-plan {
  margin-bottom: 5%;
}

.topic {
  width: 100%;
  margin: 4% 0;
}
@media screen and (max-width: 767px) {
  .topic {
    margin: 6% 0;
  }
}
.topic .inner {
  width: 92%;
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
}
.topic p {
  padding: 1em;
  font-size: 1.1vw;
}
@media screen and (max-width: 767px) {
  .topic p {
    font-size: 12px;
  }
}
.topic p:first-of-type {
  background-color: rgba(186, 184, 160, 0.15);
  color: #BAB8A0;
}
.about-imgya {
  width: 94%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 8%;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .about-imgya {
    width: 80%;
  }
}
.about-imgya-img {
  width: 50%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 0;
  padding-bottom: 50%;
}
@media screen and (max-width: 767px) {
  .about-imgya-img {
    width: 100%;
  }
}
.about-imgya-text {
  margin-top: 5em;
  order: -1;
  width: 43%;
  padding-top: 2em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .about-imgya-text {
    order: unset;
    width: 100%;
    margin-top: 0;
  }
}
.about-imgya-text .subtitle {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-bottom: 0.5em;
  line-height: 1.5;
}
@media screen and (max-width: 1099px) {
  .about-imgya-text .subtitle {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  .about-imgya-text .subtitle {
    font-size: 3.15vw;
  }
}
.about-imgya-text h2 {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 26px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-bottom: 0.8em;
  line-height: 1.5;
}
@media screen and (max-width: 1099px) {
  .about-imgya-text h2 {
    font-size: 2.34vw;
  }
}
@media screen and (max-width: 767px) {
  .about-imgya-text h2 {
    font-size: 5.85vw;
  }
}
.about-imgya-text h2 small {
  font-size: 0.7em;
}
.about-imgya-text .text {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
@media screen and (max-width: 1099px) {
  .about-imgya-text .text {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .about-imgya-text .text {
    font-size: 3.6vw;
  }
}

.movie .inner {
  width: 100%;
  text-align: center;
}
.movie .inner video {
  width: 100%;
}

.reservation {
  margin-bottom: 7%;
}
.reservation .inner {
  width: 96%;
  max-width: 1000px;
  padding: 3% 0;
  margin: 0 auto;
}
.reservation-title {
  text-align: center;
  width: 100%;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 28px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  margin-bottom: 1em;
  color: #002754;
}
@media screen and (max-width: 1099px) {
  .reservation-title {
    font-size: 2.52vw;
  }
}
@media screen and (max-width: 767px) {
  .reservation-title {
    font-size: 6.3vw;
  }
}
.reservation .title {
  text-align: center;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .reservation .title {
    margin-top: 2em;
  }
}
.reservation .title h3 {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 22px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  background: #002754;
  color: #fff;
  line-height: 1;
  margin-bottom: 0.1em;
  padding: 0.5em 0;
}
@media screen and (max-width: 1099px) {
  .reservation .title h3 {
    font-size: 1.98vw;
  }
}
@media screen and (max-width: 767px) {
  .reservation .title h3 {
    font-size: 4.95vw;
  }
}
.reservation .title h4 {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 22px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  background: #002754;
  color: #fff;
  line-height: 1;
  padding: 0.5em 0;
  margin-bottom: 1em;
}
@media screen and (max-width: 1099px) {
  .reservation .title h4 {
    font-size: 1.98vw;
  }
}
@media screen and (max-width: 767px) {
  .reservation .title h4 {
    font-size: 4.95vw;
  }
}
.reservation .title p {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  .reservation .title p {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .reservation .title p {
    font-size: 3.6vw;
  }
}
.reservation .calender {
  margin-top: 30px;
}

.shirahama .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.shirahama .inner > div {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .shirahama .inner > div {
    width: 100%;
  }
}
.shirahama .inner .img-block {
  display: flex;
  padding: 5%;
}
.shirahama .inner .img-block figure:nth-of-type(1) {
  width: 60%;
  transition-delay: 0.2s;
}
.shirahama .inner .img-block figure:nth-of-type(2) {
  width: 40%;
  transition-delay: 0.5s;
  margin-left: -5%;
  margin-top: 30%;
}
.shirahama .inner .text-block {
  padding: 1%;
}

.fireworks {
  width: 100%;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
.fireworks .inner {
  width: 100%;
}
.fireworks .text-block {
  color: #fff;
  position: absolute;
  right: 3%;
  top: 15%;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  .fireworks .text-block {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  .fireworks .text-block {
    font-size: 3.15vw;
  }
}
@media screen and (max-width: 767px) {
  .fireworks .text-block {
    position: static;
    width: 100%;
    text-align: center;
    padding: 1em 0;
    color: #000;
  }
}
.fireworks .fireworks-info {
  position: absolute;
  left: 2%;
  bottom: 2%;
  color: #fff;
  margin-top: 3%;
  padding: 1em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  background-color: rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 1099px) {
  .fireworks .fireworks-info {
    font-size: 1.08vw;
  }
}
@media screen and (max-width: 767px) {
  .fireworks .fireworks-info {
    font-size: 2.7vw;
  }
}
.fireworks .fireworks-info p:first-child {
  font-size: 1.2em;
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
@media screen and (max-width: 767px) {
  .fireworks .fireworks-info p:first-child {
    border-bottom: 1px solid rgba(0, 0, 0, 0.3);
  }
}
@media screen and (max-width: 767px) {
  .fireworks .fireworks-info {
    background-color: transparent;
    position: static;
    width: 80%;
    margin: 0 auto;
    text-align: center;
    padding: 1em 0;
    color: #000;
  }
}
.fireworks .fireworks-img {
  background: url(../img/fireworks.jpg) no-repeat center center/cover;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 0;
  padding-bottom: 50%;
  transition: all 1.5s;
  opacity: 0;
}
.fireworks .fireworks-img.is-anm {
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .fireworks .fireworks-img {
    position: static;
    height: 0;
    padding-bottom: 50%;
  }
}

.aws .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.aws .inner > div {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .aws .inner > div {
    width: 100%;
  }
}
.aws .inner .img-block {
  display: flex;
  padding: 3%;
}
.aws .inner .img-block figure img {
  width: 100%;
}
.aws .inner .text-block {
  padding: 3%;
}

.nav-banner .inner {
  width: 100%;
  text-align: center;
}
.nav-banner a {
  display: inline-block;
  background: url(../img/cmn/nav-banner-bg.jpg) no-repeat center center/cover;
  padding: 5% 0;
  margin: 0 auto;
  width: 90%;
  max-width: 1000px;
  text-align: center;
  text-decoration: none;
  transition: all 0.5s;
}
.nav-banner a, .nav-banner a:link, .nav-banner a:visited {
  color: #000;
}
.nav-banner a:hover, .nav-banner a:active {
  text-decoration: none;
  color: #000;
}
.nav-banner a:hover {
  opacity: 0.7;
}
.nav-banner a .nav-banner-title-en {
  font-family: "EB Garamond", serif;
  font-weight: 400;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 38px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #BAB8A0;
  line-height: 1;
  text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
}
@media screen and (max-width: 1099px) {
  .nav-banner a .nav-banner-title-en {
    font-size: 3.42vw;
  }
}
@media screen and (max-width: 767px) {
  .nav-banner a .nav-banner-title-en {
    font-size: 8.55vw;
  }
}
.nav-banner a .nav-banner-title-ja {
  display: inline-block;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  background-color: #BAB8A0;
  color: #fff;
  padding: 0.25em 2em;
  margin-top: 1em;
}
@media screen and (max-width: 1099px) {
  .nav-banner a .nav-banner-title-ja {
    font-size: 2.16vw;
  }
}
@media screen and (max-width: 767px) {
  .nav-banner a .nav-banner-title-ja {
    font-size: 5.4vw;
  }
}

.page-floor-plan .page-title {
  background: url(../img/plans/plan-head-bg.jpg) no-repeat center center/cover;
}
.page-floor-plan .page-title .inner {
  padding: 8% 0;
  width: 100%;
  text-align: center;
}
.page-floor-plan .page-title h2 {
  font-size: 30px;
  color: #BAB8A0;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1099px) {
  .page-floor-plan .page-title h2 {
    font-size: 3vw;
  }
}
@media screen and (max-width: 767px) {
  .page-floor-plan .page-title h2 {
    font-size: 5vw;
  }
}
.page-floor-plan .page-lead {
  text-align: center;
}
.page-floor-plan .page-lead h3 {
  font-size: 26px;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 0.5em;
  line-height: 1.5;
}
@media screen and (max-width: 1099px) {
  .page-floor-plan .page-lead h3 {
    font-size: 2.6vw;
  }
}
@media screen and (max-width: 767px) {
  .page-floor-plan .page-lead h3 {
    font-size: 5.1vw;
  }
}
.page-floor-plan .page-lead p {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  .page-floor-plan .page-lead p {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .page-floor-plan .page-lead p {
    font-size: 3.6vw;
  }
}

.floor-plan-block-list {
  width: 96%;
  margin: 0 auto;
  max-width: 1100px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.floor-plan-block {
  width: 49%;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .floor-plan-block {
    width: 100%;
  }
}

.floor-plan-info {
  padding: 5% 3%;
}
.floor-plan-info .floor-plan-title-en {
  font-family: "EB Garamond", serif;
  font-weight: 400;
  margin-bottom: 0.3em;
  text-align: center;
  font-size: 26px;
  letter-spacing: 0.1em;
  color: #BAB8A0;
}
@media screen and (max-width: 1099px) {
  .floor-plan-info .floor-plan-title-en {
    font-size: 2.6vw;
  }
}
@media screen and (max-width: 767px) {
  .floor-plan-info .floor-plan-title-en {
    font-size: 5vw;
  }
}
.floor-plan-info .floor-plan-title-ja {
  margin-bottom: 0.8em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  text-align: center;
  font-size: 16px;
}
@media screen and (max-width: 1099px) {
  .floor-plan-info .floor-plan-title-ja {
    font-size: 2vw;
  }
}
@media screen and (max-width: 767px) {
  .floor-plan-info .floor-plan-title-ja {
    font-size: 3vw;
  }
}
.floor-plan-info .floor-plan-text {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 1099px) {
  .floor-plan-info .floor-plan-text {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  .floor-plan-info .floor-plan-text {
    font-size: 3.15vw;
  }
}

.banner {
  width: 100%;
  padding: 3% 0;
}
.banner .inner {
  width: 96%;
  max-width: 1000px;
  margin: 0 auto;
}

.privacy {
  margin-top: 1em;
}
.privacy a {
  text-decoration: none;
}
.privacy a, .privacy a:link, .privacy a:visited {
  color: #000;
}
.privacy a:hover, .privacy a:active {
  text-decoration: none;
  color: #000;
}

.page-lead {
  margin-top: 5%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .page-lead {
    padding: 3% 0 5%;
    margin-top: 0;
  }
}
.page-lead--copy {
  text-align: center;
}
.page-lead a {
  text-decoration: none;
  color: #000;
  font-size: 1.2rem;
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
}
.page-lead a span {
  display: inline-block;
  width: 100%;
  text-align: center;
}
.page-lead a::before {
  content: "";
  display: block;
  width: 1px;
  height: 5em;
  margin-bottom: 0.5em;
  opacity: 0.2;
  background: #000;
}
.page-lead--main {
  writing-mode: vertical-rl;
  text-align: left;
  margin: 0 auto 3em;
}
.page-lead--main span {
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .page-lead--main {
    writing-mode: inherit;
    text-align: center;
    margin: 0 auto 1em;
  }
}
.page-lead.page-lead-home {
  margin-top: 8%;
}
@media screen and (max-width: 767px) {
  .page-lead.page-lead-home {
    margin-top: 1rem;
  }
}
.page-lead.page-lead-home::before {
  position: absolute;
  content: "";
  display: block;
  z-index: -2;
  width: 60%;
  height: 100%;
  background: url(../img/top/lead-bg.jpg) no-repeat center center/cover;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .page-lead.page-lead-home::before {
    position: static;
    height: 300px;
    width: 100%;
    margin-bottom: 0;
  }
}
.page-lead::after {
  position: absolute;
  display: none;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, white 0%, rgba(255, 255, 255, 0) 40%);
  opacity: 0.8;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.page-lead-textblock {
  width: 35%;
  margin-left: auto;
  margin-right: 2%;
  padding: 5% 0 5% 0;
}
@media screen and (max-width: 767px) {
  .page-lead-textblock {
    padding: 2em 0 2em 0;
    width: 100%;
  }
}

.page-lead--img {
  display: flex;
  justify-content: center;
  padding: 2em 0;
  margin: 0 auto;
  width: 80%;
  max-width: 800px;
}
.page-lead--img figure {
  margin: 0 3px;
}

#googlemaps {
  width: 100%;
  min-height: 500px;
}

.rooms-floor-list--block--title {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 34px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  line-height: 1.3;
  margin-bottom: 0.3em;
}
@media screen and (max-width: 1099px) {
  .rooms-floor-list--block--title {
    font-size: 3.06vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-floor-list--block--title {
    font-size: 7.65vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-floor-list--block--title {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-size: 26px;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 1099px) {
  .rooms-floor-list--block--title {
    font-size: 2.34vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .rooms-floor-list--block--title {
    font-size: 5.85vw;
  }
}
.rooms-floor-list--block--title small {
  font-size: 0.7em;
}
.rooms-floor-list--block--title-des {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 35px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  line-height: 1;
  left: 0;
  top: 0;
  opacity: 0.8;
  margin-bottom: 0.5em;
  text-shadow: 0 0 0.5em black;
  /*&::after{
  	content: 'type';
  	margin-left: .3em;
  	font-size: .7em;

  }*/
}
@media screen and (max-width: 1099px) {
  .rooms-floor-list--block--title-des {
    font-size: 3.15vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-floor-list--block--title-des {
    font-size: 7.875vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-floor-list--block--title-des {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-size: 30px;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 1099px) {
  .rooms-floor-list--block--title-des {
    font-size: 2.7vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .rooms-floor-list--block--title-des {
    font-size: 6.75vw;
  }
}
.rooms-floor-list--block--lead {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-shadow: 0 0 0.5em black;
  line-height: 1.3;
}
@media screen and (max-width: 1099px) {
  .rooms-floor-list--block--lead {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-floor-list--block--lead {
    font-size: 3.6vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-floor-list--block--lead {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.05em;
    text-shadow: none;
  }
}
@media screen and (max-width: 767px) and (max-width: 1099px) {
  .rooms-floor-list--block--lead {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .rooms-floor-list--block--lead {
    font-size: 3.15vw;
  }
}

.plans {
  background-color: rgba(184, 191, 209, 0.1);
  margin-top: 5%;
}

.slick-dots {
  bottom: -40px;
}

.contents-title {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 30px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  line-height: 1 !important;
  text-align: center;
  margin: 0 0 1em 0;
}
@media screen and (max-width: 1099px) {
  .contents-title {
    font-size: 2.7vw;
  }
}
@media screen and (max-width: 767px) {
  .contents-title {
    font-size: 6.75vw;
  }
}
@media screen and (max-width: 767px) {
  .contents-title {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-size: 30px;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 1099px) {
  .contents-title {
    font-size: 2.7vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .contents-title {
    font-size: 6.75vw;
  }
}
.contents-title span {
  display: inline-block;
  width: 100%;
}
.contents-title span.en {
  font-family: "EB Garamond", serif;
  font-weight: 400;
}
.contents-title span.ja {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
.contents-title span:nth-of-type(1) {
  font-size: 1.3em;
  color: #003f87;
}
.contents-title span:nth-of-type(1) small {
  color: #333;
}
.contents-title span:nth-of-type(2) {
  font-size: 0.5em;
}

.page-lead .page-lead-01 {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 26px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #333;
  text-align: left;
  width: 100%;
  margin-bottom: 1em;
}
@media screen and (max-width: 1099px) {
  .page-lead .page-lead-01 {
    font-size: 2.34vw;
  }
}
@media screen and (max-width: 767px) {
  .page-lead .page-lead-01 {
    font-size: 5.85vw;
  }
}
.page-lead .page-lead-02 {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #333;
  text-align: left;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 1099px) {
  .page-lead .page-lead-02 {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .page-lead .page-lead-02 {
    font-size: 3.6vw;
  }
}
.floor-list .rooms-floor-list--block {
  width: 25%;
}
@media screen and (max-width: 1099px) {
  .floor-list .rooms-floor-list--block {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .floor-list .rooms-floor-list--block {
    width: 100%;
  }
}

/*****room*****/
.rooms {
  margin: 30px 0;
}

@media screen and (max-width: 767px) {
  .rooms {
    margin: 0 0 80px;
  }
}
.rooms .title {
  padding: 3% 0;
}
@media screen and (max-width: 767px) {
  .rooms .title {
    padding: 3% 0;
  }
}
.rooms .title h3, .rooms .title p {
  color: #333;
  text-align: center;
  width: 100%;
}
.rooms-container {
  padding-top: 5%;
  width: 100%;
}
.rooms-floor--container {
  width: 100%;
  margin: 0 auto;
}
.rooms-floor {
  width: 100%;
  margin-top: 5em;
  margin-bottom: 2em;
}
.rooms-floor--title {
  width: 100%;
  display: flex;
  align-items: center;
  margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .rooms-floor--title {
    flex-wrap: wrap;
  }
}
.rooms-floor--title h4, .rooms-floor--title p {
  display: inline-block;
}
.rooms-floor--title h4 {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 38px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  letter-spacing: 0.1em !important;
  white-space: nowrap;
  margin-right: 2em;
}
@media screen and (max-width: 1099px) {
  .rooms-floor--title h4 {
    font-size: 3.42vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-floor--title h4 {
    font-size: 8.55vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-floor--title h4 {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-size: 28px;
    line-height: 1.8;
    letter-spacing: 0.05em;
    line-height: 1;
    margin-bottom: 0.5em;
  }
}
@media screen and (max-width: 767px) and (max-width: 1099px) {
  .rooms-floor--title h4 {
    font-size: 2.52vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .rooms-floor--title h4 {
    font-size: 6.3vw;
  }
}
.rooms-floor--title h4 .en {
  font-family: "EB Garamond", serif;
  font-weight: 400;
}
.rooms-floor--title h4 .ja {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 0.4em;
  margin-left: 1em;
}
@media screen and (max-width: 767px) {
  .rooms-floor--title h4 .ja {
    margin-left: 0;
    font-size: 0.6em;
  }
}
.rooms-floor--title p {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
@media screen and (max-width: 1099px) {
  .rooms-floor--title p {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-floor--title p {
    font-size: 3.15vw;
  }
}
.rooms-floor-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.rooms-floor-list a {
  width: 100%;
  height: 100%;
  padding: 20% 4%;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .rooms-floor-list a {
    padding: 11% 5% 8% 5%;
  }
}
.rooms-floor-list a, .rooms-floor-list a:link, .rooms-floor-list a:visited {
  color: #fff;
}
.rooms-floor-list a:hover, .rooms-floor-list a:active {
  text-decoration: none;
  color: #fff;
}
.rooms-floor-list a::before {
  display: inline-block;
  content: "";
  width: 100%;
  height: auto;
  position: absolute;
  right: 0;
  top: 0;
  left: 0;
  bottom: 0;
}
.rooms-floor-list a::before {
  z-index: -1;
  background: #000;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .rooms-floor-list a::before {
    display: none;
  }
}
.rooms-floor-list a .rooms-floor-list--block-bg {
  background-position: center center;
  background-size: cover;
  z-index: -2;
  transition: all 0.8s;
  transform-origin: center, center;
  display: inline-block;
  width: 100%;
  height: auto;
  position: absolute;
  right: 0;
  top: 0;
  left: 0;
  bottom: 0;
}
.rooms-floor-list a p {
  width: 100%;
}
.rooms-floor-list a:hover .rooms-floor-list--block-bg {
  transform: scale(1.05);
}
.rooms-floor-list--block {
  font-size: 1.8rem;
  width: 50%;
}
@media screen and (max-width: 767px) {
  .rooms-floor-list--block {
    width: 100%;
    height: auto;
  }
}
.rooms-floor-list--block.col3 {
  width: 33.3333333333%;
}
@media screen and (max-width: 767px) {
  .rooms-floor-list--block.col3 {
    width: 100%;
  }
}
.rooms-floor-list--block.col3 a {
  padding: 50% 4%;
}
@media screen and (max-width: 767px) {
  .rooms-floor-list--block.col3 a {
    padding: 11% 5% 8% 5%;
  }
}
.rooms-floor-list--block.col2 {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .rooms-floor-list--block.col2 {
    width: 50%;
  }
}
.rooms-floor-list--block.col2 a {
  padding: 60% 4% 0;
}
@media screen and (max-width: 767px) {
  .rooms-floor-list--block.col2 a {
    padding: 2% 0 1.5em;
    display: flex;
    flex-wrap: wrap;
    color: #000;
  }
  .rooms-floor-list--block.col2 a .rooms-floor-list--block-bg {
    order: -1;
    position: static;
    height: 130px;
  }
}
.rooms-floor-list--block-title {
  font-size: 1.4em;
  text-align: center;
}
.rooms-floor-list--block-title--sub {
  font-size: 1em;
  text-align: center;
}
.rooms-floor-list--block-info {
  font-size: 0.8em;
  margin-top: 0.5em;
  text-align: center;
}
.rooms-floor-list--block-info em {
  font-style: normal;
  font-weight: normal;
  display: inline-block;
  padding: 0 1em;
  position: relative;
}
.rooms-floor-list--block-info em::before {
  content: "";
  display: inline-block;
  height: 1px;
  width: 0.9em;
  background: rgba(255, 255, 255, 0.3);
  position: absolute;
  left: 0;
  top: 50%;
}
.rooms-floor-list--block-info em::after {
  content: "";
  display: inline-block;
  height: 1px;
  width: 0.9em;
  background: rgba(255, 255, 255, 0.3);
  position: absolute;
  right: 0;
  top: 50%;
}
@media screen and (max-width: 767px) {
  .rooms-floor-list--block-info span {
    display: inline-block;
    width: 100%;
  }
}
.rooms-floor-list--block-more {
  font-size: 0.9em;
  display: inline-block;
  margin-top: 2em;
  width: auto !important;
  position: absolute;
  right: 1em;
  bottom: 1em;
}
@media screen and (max-width: 767px) {
  .rooms-floor-list--block-more {
    position: static;
    margin-top: 0.5em;
    margin-left: auto;
    margin-right: 0.5em;
    font-size: 0.7em;
  }
}
.rooms-floor-list--block-more span {
  display: inline-block;
  position: relative;
  padding-left: 1.5em;
}
.rooms-floor-list--block-more span::before {
  content: "";
  display: inline-block;
  width: 1.2em;
  height: 1px;
  background: #fff;
  position: absolute;
  left: 0;
  top: 50%;
}

.room-page-nav {
  width: 100%;
}
.room-page-nav ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .room-page-nav ul {
    justify-content: flex-start;
  }
}
.room-page-nav ul li {
  border-left: 1px solid #eee;
  margin: 0.5em 0;
}
.room-page-nav ul li:first-of-type {
  border-left: none;
}
@media screen and (max-width: 767px) {
  .room-page-nav ul li {
    width: 50%;
    border-left: none;
  }
  .room-page-nav ul li:nth-of-type(odd) {
    border-right: 1px solid #eee;
  }
}
.room-page-nav ul li a {
  padding: 0 1.5em;
  display: inline-block;
  text-decoration: none;
  text-decoration: none;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
}
.room-page-nav ul li a, .room-page-nav ul li a:link, .room-page-nav ul li a:visited {
  color: #333;
}
.room-page-nav ul li a:hover, .room-page-nav ul li a:active {
  text-decoration: none;
  color: #333;
}
@media screen and (max-width: 1099px) {
  .room-page-nav ul li a {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .room-page-nav ul li a {
    font-size: 3.6vw;
  }
}
@media screen and (max-width: 767px) {
  .room-page-nav ul li a {
    width: 100%;
    text-align: center;
  }
}

.rooms-detail-content-block {
  width: 94%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding-bottom: 8rem;
}
.rooms-detail-content-block:not(:last-of-type) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .rooms-detail-content-block {
    width: 96%;
    margin-left: auto;
    margin-right: auto;
    max-width: 1400px;
  }
}

.rooms-detail .page-lead {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1400px;
}
.rooms-detail-content .inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.rooms-detail-content .inner .rooms-detail-mv {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .rooms-detail-content .inner .rooms-detail-mv {
    width: 100%;
  }
}
.rooms-detail-content .inner .rooms-detail-info {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .rooms-detail-content .inner .rooms-detail-info {
    width: 90%;
    margin: 0 auto;
    padding: 2rem 0 0 0;
  }
}
.rooms-detail-content .rooms-imgs-block:not(:last-of-type) {
  margin-bottom: 10rem;
}
.rooms-detail-content .rooms-imgs-block-title {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 34px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  .rooms-detail-content .rooms-imgs-block-title {
    font-size: 3.06vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-detail-content .rooms-imgs-block-title {
    font-size: 7.65vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-detail-content .rooms-imgs-block-title {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 1099px) {
  .rooms-detail-content .rooms-imgs-block-title {
    font-size: 1.62vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .rooms-detail-content .rooms-imgs-block-title {
    font-size: 4.05vw;
  }
}
.rooms-detail-content .rooms-imgs-block-title .en {
  display: block;
  text-align: center;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  color: #003f87;
  text-transform: uppercase;
}
.rooms-detail-content .rooms-imgs-block-title .ja {
  display: block;
  text-align: center;
  font-size: 0.5em;
  margin-left: 0.5em;
}
.rooms-detail-content .rooms-imgs-block-text {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 2rem;
  margin-bottom: 3rem;
}
@media screen and (max-width: 1099px) {
  .rooms-detail-content .rooms-imgs-block-text {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-detail-content .rooms-imgs-block-text {
    font-size: 3.6vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-detail-content .rooms-imgs-block-text {
    text-align: center;
  }
}
.rooms-detail-content .rooms-imgs-block-list {
  display: grid;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .rooms-detail-content .rooms-imgs-block-list {
    gap: 1rem;
  }
}
.rooms-detail-content .rooms-imgs-block-list img {
  width: 100%;
  height: 100%;
}
.rooms-detail-content .rooms-imgs-block-list.bed {
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(2, 1fr);
}
.rooms-detail-content .rooms-imgs-block-list.bed figure:nth-of-type(1) {
  grid-area: 1/1/3/3;
}
.rooms-detail-content .rooms-imgs-block-list.bed figure:nth-of-type(2) {
  grid-area: 1/3/2/4;
}
.rooms-detail-content .rooms-imgs-block-list.bed figure:nth-of-type(3) {
  grid-area: 1/4/2/5;
}
.rooms-detail-content .rooms-imgs-block-list.bed figure:nth-of-type(4) {
  grid-area: 1/5/2/6;
}
.rooms-detail-content .rooms-imgs-block-list.bed figure:nth-of-type(5) {
  grid-area: 2/3/3/4;
}
.rooms-detail-content .rooms-imgs-block-list.bed figure:nth-of-type(6) {
  grid-area: 2/4/3/5;
}
.rooms-detail-content .rooms-imgs-block-list.bed figure:nth-of-type(7) {
  grid-area: 2/5/3/6;
}
@media screen and (max-width: 767px) {
  .rooms-detail-content .rooms-imgs-block-list.bed {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(5, 1fr);
  }
  .rooms-detail-content .rooms-imgs-block-list.bed figure:nth-of-type(1) {
    grid-area: 1/1/3/3;
  }
  .rooms-detail-content .rooms-imgs-block-list.bed figure:nth-of-type(2) {
    grid-area: 3/1/4/2;
  }
  .rooms-detail-content .rooms-imgs-block-list.bed figure:nth-of-type(3) {
    grid-area: 3/2/4/3;
  }
  .rooms-detail-content .rooms-imgs-block-list.bed figure:nth-of-type(4) {
    grid-area: 4/1/5/2;
  }
  .rooms-detail-content .rooms-imgs-block-list.bed figure:nth-of-type(5) {
    grid-area: 4/2/5/3;
  }
  .rooms-detail-content .rooms-imgs-block-list.bed figure:nth-of-type(6) {
    grid-area: 5/1/6/2;
  }
  .rooms-detail-content .rooms-imgs-block-list.bed figure:nth-of-type(7) {
    grid-area: 5/2/6/3;
  }
}
.rooms-detail-content .rooms-imgs-block-list.col4 {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .rooms-detail-content .rooms-imgs-block-list.col4 {
    grid-template-columns: 1fr 1fr;
  }
}
.rooms-detail-content .rooms-imgs-block-list.col3 {
  grid-template-columns: 1fr 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .rooms-detail-content .rooms-imgs-block-list.col3 {
    grid-template-columns: 1fr 1fr;
  }
}
.rooms-detail-content .rooms-imgs-block-list.col2 {
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .rooms-detail-content .rooms-imgs-block-list.col2 {
    grid-template-columns: 1fr 1fr;
  }
}
.rooms-detail .title {
  padding: 13% 0;
  color: #fff;
  text-align: left;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .rooms-detail .title {
    padding: 30% 0;
  }
}
.rooms-detail .title::before, .rooms-detail .title::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
}
.rooms-detail .title::before {
  z-index: -2;
  background: url(../img/rooms/rooms-title-bg.jpg) no-repeat center bottom 30%/cover;
}
.rooms-detail .title::after {
  z-index: -1;
}
.rooms-detail-title {
  padding-bottom: 3%;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 30px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  .rooms-detail-title {
    font-size: 2.7vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-detail-title {
    font-size: 6.75vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-detail-title {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-size: 26px;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 1099px) {
  .rooms-detail-title {
    font-size: 2.34vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .rooms-detail-title {
    font-size: 5.85vw;
  }
}
.rooms-detail-title h4 {
  text-align: center;
  line-height: 1.1;
  margin: 0;
  font-size: 1em;
}
.rooms-detail-title h4 span {
  margin: 0.3em 0;
  display: inline-block;
  width: 100%;
}
.rooms-detail-title h4 span.en {
  font-family: "EB Garamond", serif;
  font-weight: 400;
}
.rooms-detail-title h4 span.ja {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
.rooms-detail-title h4 span:nth-of-type(1) {
  font-size: 1.3em;
}
.rooms-detail-title h4 span:nth-of-type(1) small {
  font-size: 0.7em;
}
.rooms-detail-title h4 span:nth-of-type(2) {
  font-size: 0.5em;
}
.rooms-detail-title p {
  font-size: 0.7em;
  text-align: center;
  line-height: 1.3;
  margin: 1em 0 0 0;
}
.rooms-detail-mv {
  width: 100%;
  margin-top: 2%;
  padding-bottom: 3%;
}
@media screen and (max-width: 767px) {
  .rooms-detail-mv {
    /*margin-left: -10%;
    margin-right: -10%;
    width: 120%;*/
  }
}
.rooms-detail-mv-slide .slide-block .slide {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  width: 100%;
  height: 0;
  padding-bottom: 60%;
}
@media screen and (max-width: 767px) {
  .rooms-detail-mv-slide .slide-block .slide {
    padding-bottom: 80%;
  }
}
.rooms-detail-info {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .rooms-detail-info {
    margin-top: 10%;
  }
}
.rooms-detail-info p, .rooms-detail-info dt, .rooms-detail-info dd {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
.rooms-detail-info--text {
  text-align: left;
  margin-bottom: 2rem;
}
.rooms-detail-info--text h4 {
  text-align: left;
}
.rooms-detail-info--text h4 small {
  font-size: 0.8em;
}
.rooms-detail-info--spc dl {
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .rooms-detail-info--text, .rooms-detail-info--planning {
    width: 100%;
    margin-bottom: 3em;
  }
}
.rooms-detail-info--text p, .rooms-detail-info--planning p {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  .rooms-detail-info--text p, .rooms-detail-info--planning p {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-detail-info--text p, .rooms-detail-info--planning p {
    font-size: 3.6vw;
  }
}
.rooms-detail-info figure {
  margin-bottom: 10px;
}
.rooms-detail-info--planning-col2 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.rooms-detail-info--planning-col2 figure {
  width: 48%;
}
@media screen and (max-width: 767px) {
  .rooms-detail-info--planning-col2 figure {
    width: 100%;
  }
}
.rooms-detail-info--planning-col3 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.rooms-detail-info--planning-col3 figure {
  width: 32%;
}
@media screen and (max-width: 767px) {
  .rooms-detail-info--planning-col3 figure {
    width: 100%;
  }
}
.notext .rooms-detail-info--spc {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: flex-start;
  align-items: flex-start;
}
.notext .rooms-detail-info--spc dl {
  width: 48%;
}
@media screen and (max-width: 767px) {
  .notext .rooms-detail-info--spc dl {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .rooms-detail-info--spc {
    width: 100%;
  }
  .rooms-detail-info--spc::before {
    width: 100%;
    display: inline-block;
    content: "Room Information";
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-family: "EB Garamond", serif;
    font-weight: 400;
    text-align: center;
    margin-bottom: 0.5em;
  }
}
@media screen and (max-width: 767px) and (max-width: 1099px) {
  .rooms-detail-info--spc::before {
    font-size: 1.8vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .rooms-detail-info--spc::before {
    font-size: 4.5vw;
  }
}
.rooms-detail-info--spc p, .rooms-detail-info--spc dt, .rooms-detail-info--spc dd {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  line-height: 1.5;
}
@media screen and (max-width: 1099px) {
  .rooms-detail-info--spc p, .rooms-detail-info--spc dt, .rooms-detail-info--spc dd {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-detail-info--spc p, .rooms-detail-info--spc dt, .rooms-detail-info--spc dd {
    font-size: 3.15vw;
  }
}
.rooms-detail-info--spc dl {
  display: flex;
  flex-wrap: wrap;
}
.rooms-detail-info--spc dl dt, .rooms-detail-info--spc dl dd {
  margin-bottom: 0.8em;
}
.rooms-detail-info--spc dl dt {
  width: 20%;
  opacity: 0.6;
}
.rooms-detail-info--spc dl dd {
  width: 80%;
}
.rooms-detail-info--spc .sub-group {
  padding-bottom: 1em;
}
.rooms-detail-info--spc .sub-group > p {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-bottom: 0.5em;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 1099px) {
  .rooms-detail-info--spc .sub-group > p {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-detail-info--spc .sub-group > p {
    font-size: 3.6vw;
  }
}
.rooms-detail-dsc {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  width: 94%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  margin-top: 5%;
  margin-bottom: 8%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  /*&-eq-pic{
  	width: 100%;
  	display: flex;
  	margin-bottom: 1rem;
  	figure{
  		width: 50%;
  		img{
  			aspect-ratio:2.4;
  			width: 100%;
  			object-fit: cover;

  		}
  	}
  }*/
}
@media screen and (max-width: 1099px) {
  .rooms-detail-dsc {
    font-size: 1.17vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-detail-dsc {
    font-size: 2.925vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-detail-dsc {
    padding: 3rem 4%;
  }
}
.rooms-detail-dsc dt {
  font-size: 1.1em;
}
.rooms-detail-dsc p:not(.rooms-detail-dsc-subtitle), .rooms-detail-dsc dd {
  font-size: 1em;
}
.rooms-detail-dsc p:not(.rooms-detail-dsc-subtitle), .rooms-detail-dsc dt, .rooms-detail-dsc dd {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  line-height: 1.5;
  letter-spacing: 0;
}
.rooms-detail-dsc-eq, .rooms-detail-dsc-atn {
  width: 100%;
  margin-bottom: 3%;
}
@media screen and (max-width: 767px) {
  .rooms-detail-dsc-eq, .rooms-detail-dsc-atn {
    width: 100%;
  }
}
.rooms-detail-dsc-subtitle {
  width: 100%;
  text-align: center;
  color: #003f87;
  margin-bottom: 5rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
}
@media screen and (max-width: 1099px) {
  .rooms-detail-dsc-subtitle {
    font-size: 3.6vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-detail-dsc-subtitle {
    font-size: 9vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-detail-dsc-subtitle {
    margin-bottom: 3rem;
  }
}
.rooms-detail-dsc-eq {
  width: 100%;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .rooms-detail-dsc-eq {
    width: 100%;
  }
}
.rooms-detail-dsc-eq.other {
  width: 100%;
}
.rooms-detail-dsc-eq.other p {
  width: 100%;
  text-align: center;
}
.rooms-detail-dsc-eq.other dl {
  width: 49%;
}
@media screen and (max-width: 767px) {
  .rooms-detail-dsc-eq.other dl {
    width: 100%;
  }
}
.rooms-detail-dsc-eq.other .rooms-detail-dsc-eq--content {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .rooms-detail-dsc-eq.other .rooms-detail-dsc-eq--content {
    width: 100%;
  }
}
.rooms-detail-dsc-eq.amenity {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.rooms-detail-dsc-eq.amenity .rooms-detail-dsc-eq-pic {
  width: 48%;
}
@media screen and (max-width: 767px) {
  .rooms-detail-dsc-eq.amenity .rooms-detail-dsc-eq-pic {
    width: 100%;
  }
}
.rooms-detail-dsc-eq.amenity .rooms-detail-dsc-eq-pic figure {
  width: 100%;
}
.rooms-detail-dsc-eq.amenity .rooms-detail-dsc-eq-pic figure img {
  aspect-ratio: 1.6;
  width: 100%;
  object-fit: cover;
}
.rooms-detail-dsc-eq.amenity .rooms-detail-dsc-eq-contents {
  width: 48%;
}
@media screen and (max-width: 767px) {
  .rooms-detail-dsc-eq.amenity .rooms-detail-dsc-eq-contents {
    width: 100%;
  }
}
.rooms-detail-dsc-eq dl dt {
  margin-bottom: 0.5em;
  padding: 0.2em;
  color: #333;
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
.rooms-detail-dsc-eq dl dd {
  margin-bottom: 1em;
}
.rooms-detail-dsc-eq dl dd small {
  font-size: 0.6em;
}
.rooms-detail-dsc-atn dl {
  display: flex;
  flex-wrap: wrap;
}
.rooms-detail-dsc-atn dl dt, .rooms-detail-dsc-atn dl dd {
  margin-bottom: 0.8em;
}
.rooms-detail-dsc-atn dl dt {
  width: 20%;
  opacity: 0.6;
}
.rooms-detail-dsc-atn dl dd {
  width: 80%;
}
.rooms-detail-dsc .rooms-detail-dsc-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  font-size: 1.4em !important;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
}
.rooms-detail-dsc .rooms-detail-dsc-title small {
  font-size: 0.8em;
  margin-left: 1em;
}
.rooms-detail-dsc-ann {
  width: 100%;
  border-top: 1px solid #aaa;
  padding-top: 1em;
}
.rooms-detail-reserve-bo {
  padding: 7rem 0 0;
  text-align: center;
  margin: 3rem auto 0;
  max-width: 500px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .rooms-detail-reserve-bo {
    width: 90%;
    padding: 1em 0 0;
    margin-top: 0;
  }
}
.rooms-detail-reserve-bo::before {
  content: "";
  display: block;
  width: 1px;
  height: 5rem;
  position: absolute;
  left: 50%;
  top: 0;
  background: rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .rooms-detail-reserve-bo::before {
    content: none;
  }
}
.rooms-detail-reserve-bo a {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
  text-decoration: none;
  padding: 0.5em;
  display: inline-block;
  width: 100%;
  background: #333;
  transition: opacity 0.5s;
  margin-bottom: 10px;
}
@media screen and (max-width: 1099px) {
  .rooms-detail-reserve-bo a {
    font-size: 1.62vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-detail-reserve-bo a {
    font-size: 4.05vw;
  }
}
.rooms-detail-reserve-bo a, .rooms-detail-reserve-bo a:link, .rooms-detail-reserve-bo a:visited {
  color: #fff;
}
.rooms-detail-reserve-bo a:hover, .rooms-detail-reserve-bo a:active {
  text-decoration: none;
  color: #fff;
}
.rooms-detail-reserve-bo a:hover {
  opacity: 0.6;
}
.rooms-detail .rooms-floor-list--block {
  width: 100%;
}
.rooms-detail .rooms-floor-list--block.col3 {
  width: 100%;
}
.rooms-detail .rooms-floor-list--block a {
  padding: 18% 4%;
}

.rooms-detail-mv-slide {
  overflow: hidden;
  position: relative;
}
.rooms-detail-mv-slide:nth-of-type(1) img {
  aspect-ratio: 1.9;
  object-fit: cover;
  width: 100%;
}
.rooms-detail-mv-slide:nth-of-type(2) {
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .rooms-detail-mv-slide:nth-of-type(2) {
    padding-left: 4%;
    padding-right: 4%;
    padding-top: 1rem;
  }
}
.rooms-detail-mv-slide:nth-of-type(2) .slide-block {
  cursor: pointer;
  transition: opacity 0.5s;
  visibility: hidden;
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .rooms-detail-mv-slide:nth-of-type(2) .slide-block {
    opacity: 0.5;
    visibility: visible;
  }
}
.rooms-detail-mv-slide:nth-of-type(2) .slide-block.swiper-slide-thumb-active {
  opacity: 1;
}
.rooms-detail-mv-slide:nth-of-type(2) .swiper-slide-visible {
  visibility: visible;
  opacity: 0.2;
}
.rooms-detail-mv-slide:nth-of-type(2) .swiper-slide-visible.swiper-slide-thumb-active {
  opacity: 1;
}
.rooms-detail-mv-slide:nth-of-type(2) img {
  aspect-ratio: 1.8;
  object-fit: cover;
  width: 100%;
}
.rooms-detail-mv-slide .swiper-button-next, .rooms-detail-mv-slide .swiper-button-prev {
  color: #fff;
}
.rooms-detail-mv-slide .swiper-button-next::after, .rooms-detail-mv-slide .swiper-button-prev::after {
  font-size: 2rem;
}

.guide-file {
  padding: 3% 0 0;
  text-align: center;
  width: 96%;
  margin: 0 auto;
  max-width: 500px;
}
@media screen and (max-width: 767px) {
  .guide-file {
    padding: 3em 0;
  }
}
.guide-file a {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
  text-decoration: none;
  padding: 0.5em;
  display: inline-block;
  width: 100%;
  border: 1px solid #333;
  transition: opacity 0.5s;
}
@media screen and (max-width: 1099px) {
  .guide-file a {
    font-size: 1.62vw;
  }
}
@media screen and (max-width: 767px) {
  .guide-file a {
    font-size: 4.05vw;
  }
}
.guide-file a, .guide-file a:link, .guide-file a:visited {
  color: #333;
}
.guide-file a:hover, .guide-file a:active {
  text-decoration: none;
  color: #333;
}
.guide-file a:hover {
  opacity: 0.6;
}

.rooms-equipment-wrap {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  margin-top: 8%;
}
@media screen and (max-width: 767px) {
  .rooms-equipment-wrap {
    margin-top: 10%;
  }
}

.rooms-equipment {
  width: 100%;
  margin-bottom: 5rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .rooms-equipment {
    gap: 1rem;
    grid-template-columns: 1fr;
  }
}
.rooms-equipment figure {
  display: inline-block;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .rooms-equipment figure {
    width: 100%;
    text-align: center;
  }
}
.rooms-equipment figure img {
  aspect-ratio: 1.5;
  object-fit: cover;
  width: 100%;
}
.rooms-equipment p {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  width: 100%;
  padding: 0.5rem 0 0;
  letter-spacing: 0.15em;
  text-align: justify;
}
@media screen and (max-width: 1099px) {
  .rooms-equipment p {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-equipment p {
    font-size: 3.6vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-equipment p {
    width: 100%;
  }
}

.refa {
  margin: 0 0 4rem 0;
  padding: 2rem 3rem;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .refa {
    padding: 1rem 1.5rem;
  }
}
.refa > p {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-bottom: 0.8em;
}
@media screen and (max-width: 1099px) {
  .refa > p {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .refa > p {
    font-size: 3.6vw;
  }
}
.refa .items-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .refa .items-list {
    grid-template-columns: 1fr 1fr;
  }
}
.refa .items-list figure img {
  aspect-ratio: 1;
  object-fit: cover;
  width: 100%;
}
.refa .items-list figure figcaption {
  text-align: left;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-top: 0.1em;
}
@media screen and (max-width: 1099px) {
  .refa .items-list figure figcaption {
    font-size: 1.08vw;
  }
}
@media screen and (max-width: 767px) {
  .refa .items-list figure figcaption {
    font-size: 2.7vw;
  }
}
.floor-list {
  width: 90%;
  margin: 0 auto;
}
.floor-list > p {
  width: 100%;
  text-align: center;
  margin-top: 3em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 26px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  line-height: 1.3;
}
@media screen and (max-width: 1099px) {
  .floor-list > p {
    font-size: 2.34vw;
  }
}
@media screen and (max-width: 767px) {
  .floor-list > p {
    font-size: 5.85vw;
  }
}
@media screen and (max-width: 767px) {
  .floor-list > p {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-size: 22px;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 1099px) {
  .floor-list > p {
    font-size: 1.98vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .floor-list > p {
    font-size: 4.95vw;
  }
}

.add-info {
  position: absolute;
  right: 0.5em;
  top: 0.5em;
}
.add-info > p {
  padding: 0.5em 1em;
  font-size: 14px;
  line-height: 1;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  background: rgba(255, 255, 255, 0.5);
}
.add-info-smoke {
  color: #333;
}
.add-info-oceanview {
  color: #003f87;
}

.checktime {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3rem;
  width: 100%;
  margin-bottom: 1em;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .checktime {
    font-size: 1.6rem;
    gap: 0.5rem;
  }
}
@media screen and (max-width: 767px) {
  .checktime p {
    width: 100%;
    text-align: center;
    margin-bottom: 0.5em;
  }
}
.checktime p span:nth-of-type(1) {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
.checktime p span:nth-of-type(2) {
  font-family: "EB Garamond", serif;
  font-weight: 400;
  color: #003f87;
  font-size: 1.3em;
}
.checktime .mini {
  display: inline-block;
  font-size: 0.7em;
}
.checktime-info {
  width: 100%;
  text-align: center;
  padding: 1em 0 0;
  font-size: 1.4rem !important;
  line-height: 1.5 !important;
}
@media screen and (max-width: 767px) {
  .checktime-info {
    font-size: 1.2rem !important;
  }
}
.checktime-info a {
  text-decoration: none;
  text-decoration: underline;
}
.checktime-info a, .checktime-info a:link, .checktime-info a:visited {
  color: #333;
}
.checktime-info a:hover, .checktime-info a:active {
  text-decoration: none;
  color: #333;
}

.check-loc {
  width: 100%;
  padding: 1em;
  text-align: center;
  border: 1px solid #888;
  margin-bottom: 2em;
}
.check-loc dl {
  text-align: center;
}
.check-loc dl dt {
  margin-bottom: 0.7em;
  width: 100%;
}

.movie {
  width: 100%;
}
.movie video {
  width: 100%;
}

.plan-link {
  width: 100%;
  text-align: center;
}
.plan-link .inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 5% 0;
}
@media screen and (max-width: 767px) {
  .plan-link .inner {
    padding: 10% 0;
  }
}
.plan-link a {
  display: inline-block;
  padding: 0.3em 5em;
  font-size: 2.5rem;
  text-decoration: none;
  border-bottom: 1px solid rgba(51, 51, 51, 0.5);
  text-align: center;
  text-decoration: none;
  transition: opacity 0.5s;
}
.plan-link a, .plan-link a:link, .plan-link a:visited {
  color: #333;
}
.plan-link a:hover, .plan-link a:active {
  text-decoration: none;
  color: #333;
}
@media screen and (max-width: 767px) {
  .plan-link a {
    padding: 0.3em 2em;
  }
}
.plan-link a:hover {
  opacity: 0.6;
}

.bnr-mv-wrap a {
  text-decoration: none;
}
.bnr-mv-wrap a, .bnr-mv-wrap a:link, .bnr-mv-wrap a:visited {
  color: #000;
}
.bnr-mv-wrap a:hover, .bnr-mv-wrap a:active {
  text-decoration: none;
  color: #000;
}

.bnr-mv {
  position: absolute;
  right: 3%;
  bottom: 3%;
  display: inline-flex;
  align-items: center;
  z-index: 10;
  padding: 10px;
  background-color: #fff;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .bnr-mv {
    position: static;
    box-shadow: none;
    padding: 5%;
  }
}
.bnr-mv figure {
  width: 10vw;
  max-width: 300px;
  margin-right: 3%;
}
@media screen and (max-width: 767px) {
  .bnr-mv figure {
    width: 35%;
    margin-right: 0;
  }
}
.bnr-mv .text {
  display: inline-block;
  width: auto;
  /*a{
  	display: inline-block;
  	@include c.baseText(12);
  	@include c.shipporiR();
  	@include c.aset(#000,#000);
  	position: relative;
  	padding-left: 1em;
  	&::before{
  		content: '';
  		display: inline-block;
  		width: .3em;
  		height: .3em;
  		border-top: 1px solid #333;
  		border-right: 1px solid #333;
  		position: absolute;
  		left: 0;
  		top: 50%;
  		transform: rotate(45deg) translateY(-50%);

  	}
  	}	*/
}
@media screen and (max-width: 767px) {
  .bnr-mv .text {
    padding: 1.5em;
  }
}
.bnr-mv .text p {
  display: inline-block;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  padding-top: 1em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 0.5em;
  white-space: nowrap;
}
@media screen and (max-width: 1099px) {
  .bnr-mv .text p {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  .bnr-mv .text p {
    font-size: 3.15vw;
  }
}
@media screen and (max-width: 767px) {
  .bnr-mv .text p {
    width: 100%;
  }
}
.bnr-mv .text p small {
  font-size: 0.8em;
  margin-top: 0.5em;
  position: relative;
  padding-left: 2.5em;
}
.bnr-mv .text p small::before {
  content: "";
  display: inline-block;
  width: 1.5em;
  height: 1px;
  background: rgba(0, 0, 0, 0.3);
  position: absolute;
  left: 0;
  top: 50%;
}

.reserve-widget {
  width: 100%;
  padding: 3rem 0;
}
.reserve-widget .search-widget-search-container-bf1818 {
  background: none !important;
}

.pre-info {
  padding: 8rem 1rem;
  text-align: center;
}
.pre-info a {
  font-size: 2rem;
  color: #333;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.pre-info a img {
  width: 2em;
  margin-right: 0.5em;
}

.intro {
  width: 96%;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 3rem;
  text-align: justify;
}
.intro br {
  display: none;
}

.access-gmap {
  margin: 0.5em 0;
}
.access-gmap a {
  display: inline-block;
  padding: 0.5em 2.5em;
  text-decoration: none;
  color: #333;
  font-size: 0.8em;
  border: 1px solid #333;
  transition: all 0.5s;
  position: relative;
  line-height: 1;
}
.access-gmap a:hover {
  opacity: 0.7;
}

.access-detail-copy {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  margin: 8rem auto;
}
.access-detail-copy p {
  text-align: center;
  font-size: 1.6rem;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .access-detail-copy p {
    text-align: justify;
  }
}

.access-detail-map {
  padding: 7rem 0;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .access-detail-map {
    padding: 5rem 0 7rem;
  }
}
.access-detail-map-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 90%;
  margin: 0 auto;
  max-width: 1000px;
}
.access-detail-map .map {
  width: 60%;
  max-width: 500px;
}
@media screen and (max-width: 767px) {
  .access-detail-map .map {
    width: 90%;
    max-width: none;
  }
}
.access-detail-map .map figure, .access-detail-map .map img {
  width: 100%;
}
.access-detail-map .access-info {
  width: 45%;
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
}
@media screen and (max-width: 767px) {
  .access-detail-map .access-info {
    width: 100%;
  }
}
.access-detail-map .access-info p {
  text-align: left;
  font-size: 1.4rem;
  display: inline-flex;
  margin-bottom: 0.8em;
  flex-wrap: wrap;
}
.access-detail-map .access-info p span {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .access-detail-map .access-info p span.sp-full {
    width: 100%;
  }
}
.access-detail-map .access-info-title-container {
  margin-bottom: 1rem;
}
.access-detail-map .access-info-title-container .access-info-title {
  font-size: 3.2rem;
  margin-bottom: 0.3em;
}
.access-detail-map .access-info-title-container .access-info-text {
  font-size: 1.6rem;
}

.access-detail-contents {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 90%;
  margin: 0 auto;
  max-width: 1000px;
  padding: 10rem 0;
}
.access-detail-contents h4 {
  width: 100%;
}

/*
.top-lead{

	padding: 8rem 0 10rem;
	@include c.mq{
		padding: 5rem 0 5rem;
	}
	&-inner{
		@include c.ca(90%,1000px);	
	}
	p{
		&:nth-of-type(1){
			text-align: center;
			margin-bottom: 2rem;
		}
		&:nth-of-type(2){
			text-align: center;
			line-height: 2;
			@include c.mq{
				text-align: justify;
			}
		}
	}
}*/
.top-sightseeing {
  width: 100%;
  padding: 8rem 0;
  display: flex;
  flex-wrap: wrap;
  color: #fff;
  position: relative;
  z-index: 0;
}
.top-sightseeing-inner {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.top-sightseeing::before {
  content: "";
  display: block;
  width: 60%;
  position: absolute;
  z-index: -2;
  height: 100%;
  top: 0;
  left: 0;
  background: #003f87;
}
@media screen and (max-width: 767px) {
  .top-sightseeing::before {
    width: 90%;
  }
}
.top-sightseeing::after {
  content: "";
  display: block;
  width: 17%;
  mix-blend-mode: multiply;
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: -2%;
  aspect-ratio: 619/1020;
}
@media screen and (max-width: 767px) {
  .top-sightseeing::after {
    width: 50%;
  }
}
.top-sightseeing .top-sightseeing-lead {
  color: #fff;
  text-align: left;
  width: 40%;
  padding-left: 8%;
  flex-wrap: wrap;
  display: inline-flex;
  align-items: center;
  align-content: center;
}
@media screen and (max-width: 767px) {
  .top-sightseeing .top-sightseeing-lead {
    width: 80%;
    margin-bottom: 3rem;
  }
}
.top-sightseeing .top-sightseeing-lead h4, .top-sightseeing .top-sightseeing-lead p {
  color: #fff;
}
.top-sightseeing .top-sightseeing-lead h4 {
  text-align: left;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 30px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-bottom: 1rem;
  font-family: "EB Garamond", serif;
  font-weight: 400;
}
@media screen and (max-width: 1099px) {
  .top-sightseeing .top-sightseeing-lead h4 {
    font-size: 2.7vw;
  }
}
@media screen and (max-width: 767px) {
  .top-sightseeing .top-sightseeing-lead h4 {
    font-size: 6.75vw;
  }
}
.top-sightseeing .top-sightseeing-lead p {
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .top-sightseeing .top-sightseeing-lead p {
    text-align: justify;
    margin-top: 0;
  }
}
.top-sightseeing .top-sightseeing-container {
  width: 55%;
}
@media screen and (max-width: 767px) {
  .top-sightseeing .top-sightseeing-container {
    width: 100%;
  }
}
.top-sightseeing .top-sightseeing-block-wrap {
  margin-left: auto;
}
.top-sightseeing .top-sightseeing-block-wrap .top-sightseeing-block-text {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .top-sightseeing .top-sightseeing-block-wrap .top-sightseeing-block-text {
    width: 100%;
  }
}
.top-sightseeing .top-sightseeing-block-wrap .top-sightseeing-block-text p {
  color: #333;
  font-size: 1.4rem;
}
.top-sightseeing .top-sightseeing-block-wrap .top-sightseeing-block-img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .top-sightseeing .top-sightseeing-block-wrap .top-sightseeing-block-img {
    width: 100%;
  }
}
.top-sightseeing .top-sightseeing-block-wrap .top-sightseeing-block-img img {
  border-radius: 5px;
  aspect-ratio: 0.7;
  object-fit: cover;
  width: 100%;
}
.top-sightseeing .top-sightseeing-map {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 600px;
}
@media screen and (max-width: 767px) {
  .top-sightseeing .top-sightseeing-map {
    width: 100%;
  }
}
.top-sightseeing .more {
  display: flex;
  justify-content: center;
  text-align: right;
  width: 100%;
  margin-top: 5rem;
}
.top-sightseeing .more a {
  display: inline-flex;
  align-items: center;
  color: #fff;
  position: relative;
  padding: 0 0.5em 0.5em;
  font-size: 1.8rem;
  text-decoration: none;
}
.top-sightseeing .more a::before {
  content: "";
  display: block;
  height: 3px;
  width: 3px;
  border-left: 1px solid rgba(255, 255, 255, 0.5);
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  transform: rotate(-135deg);
  margin-right: 0.5em;
}
.top-sightseeing .more a::after {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.5);
}
.top-sightseeing .more a, .top-sightseeing .more a:link, .top-sightseeing .more a:visited {
  color: #fff;
}
.top-sightseeing .more a:hover, .top-sightseeing .more a:active {
  text-decoration: none;
  color: #fff;
}

.hotel-information {
  padding: 8em 0;
}
.hotel-information .inner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
}
.hotel-information h1 {
  width: 90%;
  margin: 0 auto 1em;
  max-width: 160px;
}
.hotel-information h1 img {
  width: 100%;
}
.hotel-information-content {
  width: 100%;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  letter-spacing: 0;
}
@media screen and (max-width: 1099px) {
  .hotel-information-content {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .hotel-information-content {
    font-size: 3.6vw;
  }
}
.hotel-information-content-contact {
  width: 100%;
}
.hotel-information-content-contact a {
  line-height: 1;
  text-decoration: none;
  text-decoration: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  font-size: 1.6rem;
}
.hotel-information-content-contact a, .hotel-information-content-contact a:link, .hotel-information-content-contact a:visited {
  color: #000;
}
.hotel-information-content-contact a:hover, .hotel-information-content-contact a:active {
  text-decoration: none;
  color: #000;
}
.hotel-information-content-contact a span {
  display: inline-block;
}
.hotel-information-content-contact a span.hotel-info-content-contact-02 {
  font-size: 1.3em;
  margin: 0 0.1em 0 0.3em;
}
.hotel-information-content-contact a span.hotel-info-content-contact-03 {
  font-size: 0.8em;
}
.hotel-information-content-contact-address {
  width: 100%;
  text-align: center;
  margin-bottom: 0.5em;
}
.hotel-information-content-contact-address p {
  width: 100%;
  text-align: center;
}
.hotel-information-content-contact-sns {
  display: flex;
  justify-content: center;
  margin-top: 3rem;
}
.hotel-information-content-contact-sns > a {
  margin: 0 10px;
  display: inline-block;
  width: 30px;
}
.hotel-information-nav {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .hotel-information-nav {
    display: none;
  }
}
.hotel-information-nav ul {
  display: flex;
  justify-content: center;
  list-style: none;
}
.hotel-information-nav ul li {
  margin-right: 1.5em;
}
@media screen and (max-width: 767px) {
  .hotel-information-nav ul li {
    width: 100%;
    margin-right: 0;
  }
}
.hotel-information-nav ul li:last-of-type {
  margin-right: 0;
}
.hotel-information-nav ul li.nav-to-portal {
  padding-left: 1em;
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}
@media screen and (max-width: 767px) {
  .hotel-information-nav ul li.nav-to-portal {
    padding-left: 0;
    margin-left: 0;
    border-left: none;
  }
}
.hotel-information-nav ul li a {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}
@media screen and (max-width: 1099px) {
  .hotel-information-nav ul li a {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  .hotel-information-nav ul li a {
    font-size: 3.15vw;
  }
}
.hotel-information-nav ul li a, .hotel-information-nav ul li a:link, .hotel-information-nav ul li a:visited {
  color: #555;
}
.hotel-information-nav ul li a:hover, .hotel-information-nav ul li a:active {
  text-decoration: none;
  color: #555;
}
.hotel-information-nav ul li a:hover {
  opacity: 0.5;
}
.hotel-information-nav ul li a span {
  padding-left: 1.5em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .hotel-information-nav ul li a {
    width: 100%;
    text-align: center;
  }
}
.hotel-information-nav ul li.instagram a {
  display: inline-flex;
  align-items: center;
}
.hotel-information-nav ul li.instagram img {
  width: 1.6em;
}
.hotel-information-nav ul li:not(.instagram) a::before {
  content: "";
  display: block;
  height: 3px;
  width: 3px;
  border-left: 1px solid rgba(85, 85, 85, 0.5);
  border-bottom: 1px solid rgba(85, 85, 85, 0.5);
  transform: rotate(-135deg);
  margin-right: 0.5em;
}
.hotel-information-nav a {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  text-decoration: none;
}
.hotel-information-nav a, .hotel-information-nav a:link, .hotel-information-nav a:visited {
  color: #555;
}
.hotel-information-nav a:hover, .hotel-information-nav a:active {
  text-decoration: none;
  color: #555;
}

.search-widget-search-container-bf1818 {
  font-family: Muli, Helvetica Neue, Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin: 0 auto;
  width: 100%;
  background: #eee !important;
  padding: 15px 25px 10px;
  box-shadow: none !important;
  border-radius: 4px;
  box-sizing: border-box;
  color: #141617;
  display: inline-flex;
  justify-content: center;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .search-widget-search-container-bf1818 {
    display: block;
  }
}

@keyframes imgWrap {
  0% {
    clip-path: circle(0 at 50% 50%);
    transform: rotate(0.0001deg);
    -webkit-clip-path: circle(0 at 50% 50%);
    transform: translateY(3rem);
  }
  100% {
    transform: rotate(0deg);
    clip-path: circle(100% at 50% 50%);
    -webkit-clip-path: circle(100% at 50% 50%);
    transform: translateY(0);
  }
}
.top-lead {
  padding: 15rem 0 10rem;
  position: relative;
  z-index: 0;
  overflow: hidden;
  width: 100%;
}
.top-lead-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-content: center;
}
@media screen and (max-width: 767px) {
  .top-lead-inner {
    flex-wrap: wrap;
  }
}
.top-lead .top-lead-bgScript {
  color: #bbcdde;
  font-size: 2.8rem;
  margin-bottom: 1em;
  text-align: center;
  z-index: -1;
  font-family: "EB Garamond", serif;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .top-lead {
    padding: 5rem 0 5rem;
  }
}
.top-lead-img {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .top-lead-img {
    width: 100%;
    margin-bottom: 3rem;
  }
}
.top-lead-img-block {
  aspect-ratio: 1;
  border-radius: 50rem;
  overflow: hidden;
  transform-origin: center center;
}
.top-lead-img-block:nth-of-type(1) {
  width: 65%;
  margin: 0% 0 0 10%;
  transition-delay: 0.2s;
}
.top-lead-img-block:nth-of-type(2) {
  width: 37%;
  display: inline-block;
  transition-delay: 0.3s;
}
.top-lead-img-block:nth-of-type(3) {
  width: 37%;
  display: inline-block;
  margin: 0% 0 9% 15%;
  transition-delay: 0.5s;
}
.top-lead .top-lead-img-block {
  clip-path: circle(0 at 50% 50%);
  -webkit-clip-path: circle(0 at 50% 50%);
  transform: translateY(3rem);
}
.top-lead.is-anm .top-lead-img-block:nth-of-type(1) {
  animation-duration: 3.2s;
  /* アニメーション時間 */
  animation-delay: 0.5s;
  /* 変化開始の時間 */
  animation-name: imgWrap;
  /* アニメーション名 */
  animation-iteration-count: 1;
  /* アニメーションの繰り返し（無限）*/
  animation-fill-mode: forwards;
  /*これで値を保持*/
}
.top-lead.is-anm .top-lead-img-block:nth-of-type(2) {
  animation-duration: 2.7s;
  /* アニメーション時間 */
  animation-delay: 0.7s;
  /* 変化開始の時間 */
  animation-name: imgWrap;
  /* アニメーション名 */
  animation-iteration-count: 1;
  /* アニメーションの繰り返し（無限）*/
  animation-fill-mode: forwards;
  /*これで値を保持*/
}
.top-lead.is-anm .top-lead-img-block:nth-of-type(3) {
  animation-duration: 2.2s;
  /* アニメーション時間 */
  animation-delay: 0.9s;
  /* 変化開始の時間 */
  animation-name: imgWrap;
  /* アニメーション名 */
  animation-iteration-count: 1;
  /* アニメーションの繰り返し（無限）*/
  animation-fill-mode: forwards;
  /*これで値を保持*/
}
.top-lead-img01 {
  margin-top: -5%;
  width: 25%;
}
.top-lead-img01 img {
  aspect-ratio: 0.6;
  width: 100%;
  object-fit: cover;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .top-lead-img01 {
    order: 2;
    width: 40%;
    margin-left: 8%;
  }
}
.top-lead-img02 {
  margin-top: 5%;
  width: 25%;
}
.top-lead-img02 img {
  aspect-ratio: 0.6;
  width: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .top-lead-img02 {
    order: 3;
    width: 40%;
    margin-right: 8%;
  }
}
.top-lead-text {
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .top-lead-text {
    width: 90%;
    order: 0;
    margin-bottom: 5%;
  }
}
.top-lead-text .top-retreat-title {
  color: #003f87;
  text-align: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 36px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  letter-spacing: 0.5em;
  margin-bottom: 2rem;
  font-family: "EB Garamond", serif;
  font-weight: 400;
}
@media screen and (max-width: 1099px) {
  .top-lead-text .top-retreat-title {
    font-size: 3.24vw;
  }
}
@media screen and (max-width: 767px) {
  .top-lead-text .top-retreat-title {
    font-size: 8.1vw;
  }
}

.lead-b {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 50px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  line-height: 1.3;
}
@media screen and (max-width: 1099px) {
  .lead-b {
    font-size: 4.5vw;
  }
}
@media screen and (max-width: 767px) {
  .lead-b {
    font-size: 11.25vw;
  }
}
@media screen and (max-width: 767px) {
  .lead-b {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-size: 30px;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 1099px) {
  .lead-b {
    font-size: 2.7vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .lead-b {
    font-size: 6.75vw;
  }
}
.lead-b span {
  font-size: 0.5em;
  text-align: center;
  color: #003f87;
}
.lead-b b {
  font-weight: normal;
  font-size: 2.4em;
  color: #333;
}
.lead-b span.kakeru {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  margin: 0 0.5em;
  position: relative;
}
.lead-b span.kakeru::before, .lead-b span.kakeru::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: rgba(0, 0, 0, 0.1);
  position: absolute;
  top: 50%;
  left: 0;
}
.lead-b span.kakeru::after {
  transform: rotate(45deg);
}
.lead-b span.kakeru::before {
  transform: rotate(-45deg);
}

.lead-main {
  text-align: left;
  margin-bottom: 2rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 26px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #333;
  font-weight: normal;
  line-height: 1.8;
}
@media screen and (max-width: 1099px) {
  .lead-main {
    font-size: 2.34vw;
  }
}
@media screen and (max-width: 767px) {
  .lead-main {
    font-size: 5.85vw;
  }
}
@media screen and (max-width: 767px) {
  .lead-main {
    font-size: 2rem;
  }
}

.lead-text {
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .lead-text {
    text-align: justify;
  }
}

.ss-bnr {
  width: 100%;
  position: relative;
  padding: 5rem 0;
}
.ss-bnr h2 {
  text-align: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 26px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #333;
  font-weight: normal;
  line-height: 1.8;
  margin-bottom: 2em;
}
@media screen and (max-width: 1099px) {
  .ss-bnr h2 {
    font-size: 2.34vw;
  }
}
@media screen and (max-width: 767px) {
  .ss-bnr h2 {
    font-size: 5.85vw;
  }
}
@media screen and (max-width: 767px) {
  .ss-bnr h2 {
    font-size: 2rem;
  }
}
.ss-bnr::before {
  opacity: 0.3;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  background: url(../img/cmn/nanjo_map.svg) no-repeat center left -1%/contain;
}
.ss-bnr-inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1400px;
  padding-bottom: 3rem;
}
.ss-bnr-block {
  width: 23%;
}
@media screen and (max-width: 767px) {
  .ss-bnr-block {
    width: 48%;
    margin-bottom: 5rem;
  }
}
.ss-bnr-block:nth-of-type(even) {
  margin-top: 5rem;
}
.ss-bnr-block a {
  text-decoration: none;
  color: #333;
  text-align: center;
  display: inline-block;
  transition: all 0.5s;
}
.ss-bnr-block a:hover {
  opacity: 0.5;
}
.ss-bnr-block a figure {
  width: 100%;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  margin-bottom: 1rem;
}
.ss-bnr-block a figure img {
  aspect-ratio: 0.9;
  object-fit: cover;
  width: 100%;
}
.ss-bnr-block a p {
  display: inline-block;
  text-align: center;
  line-height: 1.1;
  margin-top: 1em;
  font-size: 1.6rem;
}
.ss-bnr-block a p span {
  display: block;
  text-align: center;
  letter-spacing: 0;
}
.ss-bnr-block a p span:nth-of-type(1) {
  color: #54CBC4;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  font-size: 0.8em;
  margin-bottom: 1rem;
}
.ss-bnr-block a p span:nth-of-type(2) {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 1.5em;
}
@media screen and (max-width: 767px) {
  .ss-bnr-block a p span:nth-of-type(2) {
    font-size: 1.5em;
  }
}
.ss-bnr-block .more-wrap {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .ss-bnr-block .more-wrap {
    margin-top: 3rem;
  }
}
.ss-bnr-block .more-wrap p {
  line-height: 1;
  display: inline-flex;
  align-content: center;
  align-items: center;
}
.ss-bnr-block .more-wrap p span:nth-of-type(2) {
  font-size: 0.8em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
}
.ss-bnr-block .more-wrap p .arrwC {
  margin-bottom: 0;
}

.top-feat {
  margin-top: 10rem;
  position: relative;
  z-index: 0;
}
.top-feat::before {
  display: block;
  width: 20%;
  left: 0;
  top: 0;
  height: 80%;
  background: #EEF1F4;
  z-index: -1;
  transition-delay: 0.4s;
  position: absolute;
  transition: all 3.6s;
  transform: scaleY(0) rotate(0.0005deg);
  transform-origin: center top;
}
@media screen and (max-width: 767px) {
  .top-feat {
    margin-top: 3rem;
  }
}
.top-feat-block {
  width: 100%;
  margin-bottom: 10rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
}
@media screen and (max-width: 767px) {
  .top-feat-block {
    margin-bottom: 3rem;
  }
}
.top-feat-block .top-feat-block-text {
  width: 35%;
  justify-content: center;
  align-items: center;
  align-content: center;
  padding: 10% 5%;
  height: 100%;
  background: #fff;
  z-index: -1;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .top-feat-block .top-feat-block-text {
    width: 100%;
  }
}
.top-feat-block .top-feat-block-img {
  width: 65%;
  aspect-ratio: 1.4;
}
@media screen and (max-width: 767px) {
  .top-feat-block .top-feat-block-img {
    width: 100%;
  }
}
.top-feat-block .top-feat-block-img figure {
  width: 100%;
}
.top-feat-block .top-feat-block-img figure img {
  object-fit: cover;
  width: 100%;
}
.top-feat-block .top-feat-block-img.img4 {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.top-feat-block .top-feat-block-img.img4 img {
  aspect-ratio: 1.4;
}
.top-feat-block:nth-of-type(even) .top-feat-block-text {
  order: -1;
}
@media screen and (max-width: 767px) {
  .top-feat-block:nth-of-type(even) .top-feat-block-text {
    order: 2;
  }
}
.top-feat-block:nth-of-type(even) .top-feat-block-text {
  transform: translate(3%, 11%);
}
@media screen and (max-width: 767px) {
  .top-feat-block:nth-of-type(even) .top-feat-block-text {
    transform: translate(0, 0);
  }
}
.top-feat-block:nth-of-type(odd) .top-feat-block-text {
  transform: translate(-3%, 11%);
}
@media screen and (max-width: 767px) {
  .top-feat-block:nth-of-type(odd) .top-feat-block-text {
    transform: translate(0, 0);
  }
}

.top-food {
  margin-top: 10rem;
  position: relative;
  z-index: 0;
  padding: 3rem 0 5rem;
}
.top-food::before {
  content: "";
  display: block;
  width: 100%;
  right: 0;
  left: 0;
  bottom: 0;
  top: 13%;
  height: 90%;
  background: #040f20;
  z-index: -1;
  transition-delay: 0.2s;
  position: absolute;
  transition: all 1.6s;
  transform: scaleX(0) rotate(0.0005deg);
  transform-origin: left top;
}
@media screen and (max-width: 767px) {
  .top-food::before {
    top: 0;
  }
}
.top-food.is-anm::before {
  transform: scaleX(100%) rotate(0deg);
}
@media screen and (max-width: 767px) {
  .top-food {
    margin-top: 3rem;
  }
}
.top-food-block {
  width: 100%;
}
.top-food-block:nth-of-type(1) {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  align-content: center;
}
.top-food-block:nth-of-type(1) .top-food-block-text {
  color: #fff;
  width: 35%;
  margin-left: 5%;
}
@media screen and (max-width: 767px) {
  .top-food-block:nth-of-type(1) .top-food-block-text {
    margin-bottom: 3rem;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}
.top-food-block:nth-of-type(1) .top-food-block-text a, .top-food-block:nth-of-type(1) .top-food-block-text p {
  color: #fff;
}
.top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(1) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.4s;
  transform: translate(0px, 10px);
}
.is-anm .top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(1), .top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(1).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(2) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.6s;
  transform: translate(0px, 10px);
}
.is-anm .top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(2), .top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(2).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(3) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.8s;
  transform: translate(0px, 10px);
}
.is-anm .top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(3), .top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(3).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(4) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1s;
  transform: translate(0px, 10px);
}
.is-anm .top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(4), .top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(4).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(5) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1.2s;
  transform: translate(0px, 10px);
}
.is-anm .top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(5), .top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(5).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(6) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1.4s;
  transform: translate(0px, 10px);
}
.is-anm .top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(6), .top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(6).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(7) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1.6s;
  transform: translate(0px, 10px);
}
.is-anm .top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(7), .top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(7).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(8) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1.8s;
  transform: translate(0px, 10px);
}
.is-anm .top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(8), .top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(8).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(9) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 2s;
  transform: translate(0px, 10px);
}
.is-anm .top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(9), .top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(9).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(10) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 2.2s;
  transform: translate(0px, 10px);
}
.is-anm .top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(10), .top-food-block:nth-of-type(1) .top-food-block-text > *:nth-child(10).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.top-food-block:nth-of-type(1) .top-food-block-img {
  width: 50%;
  order: -1;
}
@media screen and (max-width: 767px) {
  .top-food-block:nth-of-type(1) .top-food-block-img {
    width: 100%;
    order: 2;
  }
}
.top-food-block:nth-of-type(1) .top-food-block-img > figure {
  width: 100%;
  transition-delay: 0.2s;
}
.top-food-block:nth-of-type(1) .top-food-block-img > figure img {
  aspect-ratio: 2;
  object-fit: cover;
  width: 100%;
}
.top-food-block:nth-of-type(1) .top-food-block-img > figure:nth-of-type(2) {
  margin-top: -2rem;
  width: 33%;
  transition-delay: 0.4s;
  margin-left: auto;
  margin-right: 1rem;
}
.top-food-block:nth-of-type(1) .top-food-block-img > figure:nth-of-type(2) img {
  aspect-ratio: 0.9;
  object-fit: cover;
  width: 100%;
}
.top-food-block:nth-of-type(1) .top-food-block-img > div {
  display: flex;
  justify-content: space-around;
  margin-top: -3rem;
}
.top-food-block:nth-of-type(1) .top-food-block-img > div figure:nth-of-type(1) {
  margin-top: 5rem;
  width: 33%;
  transition-delay: 0.4s;
}
.top-food-block:nth-of-type(1) .top-food-block-img > div figure:nth-of-type(1) img {
  aspect-ratio: 0.9;
  object-fit: cover;
  width: 100%;
}

.top-map-inner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
}
.top-map-inner figure {
  margin: 0 auto;
  max-width: 600px;
}

.top-contents-link {
  margin-top: 8rem;
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .top-contents-link {
    margin-top: 3rem;
  }
}
.top-contents-link a {
  display: inline-flex;
  flex-wrap: wrap;
  align-content: center;
  align-items: center;
  font-size: 1.6rem;
  text-decoration: none;
  text-decoration: none;
}
.top-contents-link a, .top-contents-link a:link, .top-contents-link a:visited {
  color: #333;
}
.top-contents-link a:hover, .top-contents-link a:active {
  text-decoration: none;
  color: #333;
}
.top-contents-link a p {
  line-height: 1;
  display: inline-block;
}
.top-contents-link a p:nth-of-type(1) {
  display: flex;
  align-content: center;
  align-items: center;
  margin-right: 1em;
}
.top-contents-link a p:nth-of-type(1) span:nth-of-type(1) {
  font-family: "EB Garamond", serif;
  font-weight: 400;
  margin-right: 0.5em;
  padding-right: 0.5em;
  border-right: 1px solid rgba(51, 51, 51, 0.2);
}
.top-contents-link a p:nth-of-type(1) span:nth-of-type(2) {
  font-size: 0.8em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
.top-contents-link a p:nth-of-type(2) span:nth-of-type(2) {
  font-size: 0.8em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
}

.arrwC {
  position: relative;
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  margin-right: 0.5em;
  vertical-align: middle;
  text-decoration: none;
  font-size: 1.5em;
  border: 1px solid rgba(51, 51, 51, 0.5);
  border-radius: 10rem;
}
.arrwC::before, .arrwC::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.arrwC::before {
  left: 0.4em;
  width: 0.5em;
  height: 1px;
  background: rgba(51, 51, 51, 0.5);
}
.arrwC::after {
  left: 0.6em;
  width: 0.25em;
  height: 0.25em;
  border-top: 1px solid rgba(51, 51, 51, 0.5);
  border-right: 1px solid rgba(51, 51, 51, 0.5);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.swiper {
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.5s;
}
.swiper.swiper-initialized {
  visibility: visible;
  opacity: 1;
}

.groups .title h3 {
  color: #003f87;
  margin-bottom: 1.7em;
}

.contents-bnr-inner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
}
.contents-bnr a {
  text-decoration: none;
  display: inline-block;
  transition: opacity 0.5s;
}
.contents-bnr a:hover {
  opacity: 0.7;
}
.contents-bnr-img figure img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 2.6;
}
@media screen and (max-width: 767px) {
  .contents-bnr-img figure img {
    aspect-ratio: 2;
  }
}
.contents-bnr-lead h4 {
  margin-top: -0.8em;
  text-align: center;
  color: #003f87;
  margin-bottom: 1rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 50px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  letter-spacing: 0.1em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
}
@media screen and (max-width: 1099px) {
  .contents-bnr-lead h4 {
    font-size: 4.5vw;
  }
}
@media screen and (max-width: 767px) {
  .contents-bnr-lead h4 {
    font-size: 11.25vw;
  }
}
.contents-bnr-lead p {
  text-align: center;
  color: #555;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  .contents-bnr-lead p {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .contents-bnr-lead p {
    font-size: 3.6vw;
  }
}
.contents-bnr .more {
  text-align: center;
  color: #555;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  margin-top: 3rem;
  letter-spacing: 0.3em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  .contents-bnr .more {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  .contents-bnr .more {
    font-size: 3.15vw;
  }
}
.contents-bnr .more span {
  position: relative;
  display: inline-block;
  padding: 0 0.5em 0.5em;
}
.contents-bnr .more span::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  background: rgba(85, 85, 85, 0.3);
  width: 0;
  height: 1px;
  transition: all 0.5s;
}
.contents-bnr:hover .more span::before {
  width: 100%;
}

.plan {
  padding: 8rem 0;
  margin: 8rem 0;
  background: url(../img/cmn/bg-ptn.jpg) repeat center center;
}
.plan-inner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
}
.plan h4 {
  text-align: center;
  color: #003f87;
  margin-bottom: 1rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  letter-spacing: 0.1em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
}
@media screen and (max-width: 1099px) {
  .plan h4 {
    font-size: 3.6vw;
  }
}
@media screen and (max-width: 767px) {
  .plan h4 {
    font-size: 9vw;
  }
}
.plan .plan-list {
  row-gap: 1em;
  column-gap: 1em;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .plan .plan-list {
    grid-template-columns: 1fr 1fr;
  }
}
.plan .plan-block {
  /*
  width: calc( ( 100% - 20px ) / 3 );
  @include c.mq(){
  	width: calc( ( 100% - 10px ) / 2 );
  }
  &:not(:nth-of-type(3n)){
  	margin-right: 10px;
  	@include c.mq(){
  		margin-right: 0;
  	}
  }
  &:nth-of-type(odd){
  	@include c.mq(){
  	margin-right: 10px;
  }
  }*/
}
.plan .plan-block a {
  display: inline-block;
  width: 100%;
  transition: opacity 0.5s;
}
.plan .plan-block a:hover {
  opacity: 0.8;
}
.plan .plan-block img {
  width: 100%;
}

.sightseeing-container {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1400px;
  padding-top: 5rem;
}
@media screen and (max-width: 767px) {
  .sightseeing-container {
    padding-top: 2rem;
  }
}

.sightseeing-group:not(:last-of-type) {
  margin-bottom: 3rem;
}
.sightseeing-group > figure {
  margin-bottom: 3rem;
}
.sightseeing-group > figure img {
  aspect-ratio: 3;
  object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .sightseeing-group > figure img {
    aspect-ratio: 1.2;
  }
}
.sightseeing-group .sightseeing-lead {
  margin-bottom: 8rem;
  text-align: center;
}
.sightseeing-group .sightseeing-lead h4 {
  margin-bottom: 1rem;
}
.sightseeing-group .sightseeing-block-wrap {
  display: flex;
  flex-wrap: wrap;
  padding: 5rem 4rem;
  background: rgba(0, 63, 135, 0.1);
}
.sightseeing-group .sightseeing-block-wrap .sightseeing-block {
  width: calc((100% - 5rem) / 2);
  margin-bottom: 5rem;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: space-between;
}
.sightseeing-group .sightseeing-block-wrap .sightseeing-block:nth-of-type(odd) {
  margin-right: 5rem;
}
@media screen and (max-width: 767px) {
  .sightseeing-group .sightseeing-block-wrap .sightseeing-block:nth-of-type(odd) {
    margin-right: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .sightseeing-group .sightseeing-block-wrap .sightseeing-block {
    width: 100%;
  }
}
.sightseeing-group .sightseeing-block-wrap .sightseeing-block-text {
  width: 53%;
}
@media screen and (max-width: 767px) {
  .sightseeing-group .sightseeing-block-wrap .sightseeing-block-text {
    width: 100%;
  }
}
.sightseeing-group .sightseeing-block-wrap .sightseeing-block-text p:nth-of-type(1) {
  margin-bottom: 0.8rem;
  font-weight: bold;
  border-bottom: 1px solid rgba(0, 63, 135, 0.5);
}
.sightseeing-group .sightseeing-block-wrap .sightseeing-block-img {
  width: 45%;
}
@media screen and (max-width: 767px) {
  .sightseeing-group .sightseeing-block-wrap .sightseeing-block-img {
    width: 100%;
    order: -1;
    margin-bottom: 1rem;
  }
}
.sightseeing-group .sightseeing-block-wrap .sightseeing-block-img img {
  object-fit: cover;
  width: 100%;
  aspect-ratio: 1.4;
}
.sightseeing-map {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 700px;
  margin-bottom: 5rem;
  margin-top: 3rem;
}

.sightseeing-map {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.8s;
  transform: translate(0, 0.5em);
}
.is-anm .sightseeing-map, .sightseeing-map.is-anm {
  opacity: 1;
  transform: translate(0, 0);
}

.sightseeing-group > figure {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.8s;
  transform: translate(0, 0.5em);
}
.is-anm .sightseeing-group > figure, .sightseeing-group > figure.is-anm {
  opacity: 1;
  transform: translate(0, 0);
}

.sightseeing-lead h4 {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.8s;
  transform: translate(0, 0.5em);
}
.is-anm .sightseeing-lead h4, .sightseeing-lead h4.is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.sightseeing-lead p {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.8s;
  transform: translate(0, 0.5em);
}
.is-anm .sightseeing-lead p, .sightseeing-lead p.is-anm {
  opacity: 1;
  transform: translate(0, 0);
}

.sightseeing-block-text {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.8s;
  transform: translate(0, 0.5em);
}
.is-anm .sightseeing-block-text, .sightseeing-block-text.is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.sightseeing-block-img {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1s;
  transform: translate(0, 0.5em);
}
.is-anm .sightseeing-block-img, .sightseeing-block-img.is-anm {
  opacity: 1;
  transform: translate(0, 0);
}

.ss-mv {
  position: relative;
  z-index: 0;
  margin-bottom: 15rem;
}
@media screen and (max-width: 767px) {
  .ss-mv {
    margin-bottom: 1rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.ss-mv::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  width: 65%;
  background: #EEF1F4;
  left: 0;
  top: 15%;
  aspect-ratio: 938/550;
}
.ss-mv-01 {
  width: 18%;
  position: absolute;
  top: 20%;
  left: 0;
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.5s;
  transform: translate(0px, 10px);
}
.is-anm .ss-mv-01, .ss-mv-01.is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
@media screen and (max-width: 767px) {
  .ss-mv-01 {
    width: 30%;
    position: static;
    margin-top: -1em;
  }
}
.ss-mv-01 img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 262/298;
}
.ss-mv-02 {
  width: 20%;
  position: absolute;
  top: 90%;
  left: 6.5%;
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.8s;
  transform: translate(0px, 10px);
}
.is-anm .ss-mv-02, .ss-mv-02.is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
@media screen and (max-width: 767px) {
  .ss-mv-02 {
    width: 60%;
    position: static;
    margin-left: 3%;
    margin-top: 2em;
  }
}
.ss-mv-02 img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 284/158;
}
@media screen and (max-width: 767px) {
  .ss-mv-02 img {
    aspect-ratio: 284/174;
  }
}
.ss-mv video {
  width: 70%;
  margin-left: 30%;
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0s;
  transform: translate(0px, 10px);
}
.is-anm .ss-mv video, .ss-mv video.is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
@media screen and (max-width: 767px) {
  .ss-mv video {
    width: 100%;
    margin-left: 0;
  }
}
.ss-lead {
  text-align: center;
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.5s;
  transform: translate(0px, 10px);
}
.is-anm .ss-lead, .ss-lead.is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
@media screen and (max-width: 767px) {
  .ss-lead p {
    text-align: justify;
  }
}

.ss-block-text > *:nth-child(1), .ss-block-img > *:nth-child(1) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.4s;
  transform: translate(0px, 10px);
}
.is-anm .ss-block-text > *:nth-child(1), .ss-block-text > *:nth-child(1).is-anm, .is-anm .ss-block-img > *:nth-child(1), .ss-block-img > *:nth-child(1).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.ss-block-text > *:nth-child(2), .ss-block-img > *:nth-child(2) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.6s;
  transform: translate(0px, 10px);
}
.is-anm .ss-block-text > *:nth-child(2), .ss-block-text > *:nth-child(2).is-anm, .is-anm .ss-block-img > *:nth-child(2), .ss-block-img > *:nth-child(2).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.ss-block-text > *:nth-child(3), .ss-block-img > *:nth-child(3) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.8s;
  transform: translate(0px, 10px);
}
.is-anm .ss-block-text > *:nth-child(3), .ss-block-text > *:nth-child(3).is-anm, .is-anm .ss-block-img > *:nth-child(3), .ss-block-img > *:nth-child(3).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.ss-block-text > *:nth-child(4), .ss-block-img > *:nth-child(4) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1s;
  transform: translate(0px, 10px);
}
.is-anm .ss-block-text > *:nth-child(4), .ss-block-text > *:nth-child(4).is-anm, .is-anm .ss-block-img > *:nth-child(4), .ss-block-img > *:nth-child(4).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.ss-block-text > *:nth-child(5), .ss-block-img > *:nth-child(5) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1.2s;
  transform: translate(0px, 10px);
}
.is-anm .ss-block-text > *:nth-child(5), .ss-block-text > *:nth-child(5).is-anm, .is-anm .ss-block-img > *:nth-child(5), .ss-block-img > *:nth-child(5).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.ss-block-text > *:nth-child(6), .ss-block-img > *:nth-child(6) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1.4s;
  transform: translate(0px, 10px);
}
.is-anm .ss-block-text > *:nth-child(6), .ss-block-text > *:nth-child(6).is-anm, .is-anm .ss-block-img > *:nth-child(6), .ss-block-img > *:nth-child(6).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.ss-block-text > *:nth-child(7), .ss-block-img > *:nth-child(7) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1.6s;
  transform: translate(0px, 10px);
}
.is-anm .ss-block-text > *:nth-child(7), .ss-block-text > *:nth-child(7).is-anm, .is-anm .ss-block-img > *:nth-child(7), .ss-block-img > *:nth-child(7).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.ss-block-text > *:nth-child(8), .ss-block-img > *:nth-child(8) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1.8s;
  transform: translate(0px, 10px);
}
.is-anm .ss-block-text > *:nth-child(8), .ss-block-text > *:nth-child(8).is-anm, .is-anm .ss-block-img > *:nth-child(8), .ss-block-img > *:nth-child(8).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.ss-block-text > *:nth-child(9), .ss-block-img > *:nth-child(9) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 2s;
  transform: translate(0px, 10px);
}
.is-anm .ss-block-text > *:nth-child(9), .ss-block-text > *:nth-child(9).is-anm, .is-anm .ss-block-img > *:nth-child(9), .ss-block-img > *:nth-child(9).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.ss-block-text > *:nth-child(10), .ss-block-img > *:nth-child(10) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 2.2s;
  transform: translate(0px, 10px);
}
.is-anm .ss-block-text > *:nth-child(10), .ss-block-text > *:nth-child(10).is-anm, .is-anm .ss-block-img > *:nth-child(10), .ss-block-img > *:nth-child(10).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}

.ss-block {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  font-size: 1rem;
}
.ss-block:not(:last-of-type) {
  margin-bottom: 10%;
}
@media screen and (max-width: 767px) {
  .ss-block:not(:last-of-type) {
    margin-bottom: 30%;
  }
}
.ss-block-text {
  width: 45%;
}
@media screen and (max-width: 767px) {
  .ss-block-text {
    width: 100%;
  }
}
.ss-block-text p {
  line-height: 1.5;
}
.ss-block-text-no {
  font-family: "EB Garamond", serif;
  font-weight: 400;
  font-size: 1.6em;
  color: #54CBC4;
}
.ss-block-text-no b {
  font-size: 1.875em;
  margin-left: 0.1em;
  font-weight: normal;
}
.ss-block-text-title {
  font-size: 3em;
  margin-top: 0.8em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .ss-block-text-title {
    font-size: 2.6em;
  }
}
.ss-block-text-titleEn {
  font-size: 1.4em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  margin-top: 0.3em;
}
.ss-block-text-maplink {
  display: inline-flex;
  margin-top: 4em;
  align-items: center;
  align-content: center;
  text-decoration: none;
}
.ss-block-text-maplink, .ss-block-text-maplink:link, .ss-block-text-maplink:visited {
  color: #333;
}
.ss-block-text-maplink:hover, .ss-block-text-maplink:active {
  text-decoration: none;
  color: #333;
}
.ss-block-text-maplink span {
  margin-left: 0.5em;
  font-size: 1.4em;
  display: inline-block;
  text-decoration: underline;
}
.ss-block-text-maplink::before {
  content: "";
  display: block;
  width: 2em;
  height: 2em;
  background: url(../img/ss/map_pin.svg) no-repeat center center/contain;
}
.ss-block-text-description {
  margin-top: 2em;
  font-size: 1.6em;
  line-height: 1.8 !important;
}
.ss-block-text-service {
  margin-top: 5em;
  background: rgba(84, 203, 196, 0.1);
  padding: 2.5em;
}
.ss-block-text-service-title {
  font-size: 1.8em;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
  border-bottom: 1px dotted rgba(51, 51, 51, 0.5);
}
.ss-block-text-service-contents {
  font-size: 1.8em;
}
.ss-block-text-service-detail {
  margin-top: 1em;
  font-size: 1.4em;
  letter-spacing: 0;
}
.ss-block-text-service-link {
  font-size: 1.4em;
  margin-top: 0.5em;
}
.ss-block-text-service-link a {
  text-decoration: none;
  text-decoration: underline;
}
.ss-block-text-service-link a, .ss-block-text-service-link a:link, .ss-block-text-service-link a:visited {
  color: #333;
}
.ss-block-text-service-link a:hover, .ss-block-text-service-link a:active {
  text-decoration: none;
  color: #333;
}
.ss-block-text-service-houhou {
  display: flex;
  margin-top: 1.5em;
  align-items: center;
  align-content: center;
}
.ss-block-text-service-houhou span {
  display: inline-block;
}
.ss-block-text-service-houhou span:nth-of-type(1) {
  font-size: 1.2em;
  width: 4.5em;
  line-height: 1.1;
  height: 4.5em;
  display: inline-flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  text-align: center;
  background: #fff;
  border-radius: 20rem;
}
.ss-block-text-service-houhou span:nth-of-type(2) {
  padding-left: 1em;
  font-size: 1.6em;
  width: calc(100% - 4.5em);
}
.ss-block-img {
  width: 49%;
}
@media screen and (max-width: 767px) {
  .ss-block-img {
    width: 100%;
    order: -1;
    margin-bottom: 2em;
  }
}
.ss-block-img-hor img {
  object-fit: cover;
  width: 100%;
  aspect-ratio: 417/285;
}
.ss-block-img-ver img {
  object-fit: cover;
  width: 100%;
  aspect-ratio: 226/280;
}
.ss-block-img-col1 {
  width: 100%;
  margin-bottom: 5%;
}
.ss-block-img-col2 {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.ss-block-img-col2 .ss-block-img-hor {
  width: 61%;
}
.ss-block-img-col2 .ss-block-img-ver {
  width: 32%;
}
.ss-block-img-col2 figure:nth-of-type(2) {
  margin-top: 8em;
}
@media screen and (max-width: 767px) {
  .ss-block-img-col2 figure:nth-of-type(2) {
    margin-top: 3em;
  }
}

.ss-cat-nav {
  display: flex;
  justify-content: space-between;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 700px;
  padding-bottom: 3rem;
}
.ss-cat-nav-block a {
  text-decoration: none;
  color: #333;
  text-align: center;
  display: inline-block;
  transition: all 0.5s;
}
.ss-cat-nav-block a:hover {
  opacity: 0.5;
}
.ss-cat-nav-block a figure {
  width: 8rem;
  height: 8rem;
  border-radius: 20rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .ss-cat-nav-block a figure {
    width: 4.5rem;
    height: 4.5rem;
  }
}
.ss-cat-nav-block a p {
  text-align: center;
  line-height: 1.1;
}
.ss-cat-nav-block a p span {
  display: block;
  text-align: center;
  letter-spacing: 0;
}
.ss-cat-nav-block a p span:nth-of-type(1) {
  font-family: "EB Garamond", serif;
  font-weight: 400;
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .ss-cat-nav-block a p span:nth-of-type(1) {
    font-size: 1rem;
  }
}
.ss-cat-nav-block a p span:nth-of-type(2) {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 2.2rem;
}
@media screen and (max-width: 767px) {
  .ss-cat-nav-block a p span:nth-of-type(2) {
    font-size: 1.5rem;
  }
}
.ss-cat-nav-block:nth-of-type(odd) figure {
  background: #54CBC4;
}
.ss-cat-nav-block:nth-of-type(even) figure {
  background: #BABC66;
}

.ss-child-mv {
  width: 100%;
}
.ss-child-mv figure {
  width: 100%;
}
.ss-child-mv figure img {
  width: 100%;
  aspect-ratio: 3.2;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .ss-child-mv figure img {
    aspect-ratio: 2;
  }
}

.ss-cat-nav-wrap-top {
  margin: 8rem 0;
}
@media screen and (max-width: 767px) {
  .ss-cat-nav-wrap-top {
    margin: 2rem 0;
  }
}

.ss-page-title {
  text-align: center;
}
.ss-page-title figure {
  width: 50%;
  max-width: 12rem;
  display: inline-block;
}
.ss-page-title figure img {
  width: 100%;
}
.ss-page-title-text p {
  line-height: 1;
}
.ss-page-title-text-ja {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 2.2rem;
  margin-bottom: 1.5rem;
}
.ss-page-title-text-en {
  font-family: "EB Garamond", serif;
  font-weight: 400;
  font-size: 5rem;
  text-transform: uppercase;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .ss-page-title-text-en {
    font-size: 3.8rem;
  }
}
.ss-page-title-text-lead {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.5 !important;
}

.modelcource-mv {
  width: 100%;
}
.modelcource-mv > div {
  display: flex;
  justify-content: space-between;
}
.modelcource-mv > div > div {
  padding-bottom: min(30%, 350px);
}
.modelcource-mv > div:nth-of-type(1) > div:nth-of-type(1) {
  width: 33%;
  transition-delay: 0.5s;
}
.modelcource-mv > div:nth-of-type(1) > div:nth-of-type(2) {
  width: 33%;
  transition-delay: 0.2s;
}
.modelcource-mv > div:nth-of-type(1) > div:nth-of-type(3) {
  width: 33%;
  transition-delay: 0;
}
.modelcource-mv > div:nth-of-type(2) {
  margin-top: 0.5%;
}
.modelcource-mv > div:nth-of-type(2) > div:nth-of-type(1) {
  width: 22%;
  transition-delay: 0.3s;
}
.modelcource-mv > div:nth-of-type(2) > div:nth-of-type(2) {
  width: 38%;
  transition-delay: 0.1s;
}
.modelcource-mv > div:nth-of-type(2) > div:nth-of-type(3) {
  width: 39%;
  transition-delay: 0.4s;
}

.modelcource-contents-container {
  position: relative;
}
.modelcource-contents-container .modelcource-contents-left {
  position: absolute;
  left: 5%;
  top: 0;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .modelcource-contents-container .modelcource-contents-left {
    position: static;
    height: auto;
  }
}
.modelcource-contents-container .modelcource-nav-wrap {
  display: inline-block;
  position: sticky;
  top: 40%;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .modelcource-contents-container .modelcource-nav-wrap {
    position: static;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    max-width: 700px;
    display: block;
    margin-top: 3rem;
  }
}
.modelcource-contents-container .modelcource-nav-wrap.sp {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .modelcource-contents-container .modelcource-nav-wrap.sp {
    display: block !important;
  }
}
.modelcource-contents-container .modelcource-nav-wrap .modelcource-nav {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .modelcource-contents-container .modelcource-nav-wrap .modelcource-nav {
    display: flex;
    width: 100%;
    justify-content: center;
  }
}
.modelcource-contents-container .modelcource-nav-wrap .modelcource-nav .modelcource-nav-block {
  width: 6rem;
}
@media screen and (max-width: 767px) {
  .modelcource-contents-container .modelcource-nav-wrap .modelcource-nav .modelcource-nav-block {
    display: flex;
    width: auto;
    align-content: center;
    align-items: center;
  }
}
.modelcource-contents-container .modelcource-nav-wrap .modelcource-nav .modelcource-nav-block a {
  width: 6rem;
  height: 6rem;
  text-decoration: none;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  display: inline-flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  text-align: center;
  border-radius: 20rem;
  background: #54CBC4;
  color: #fff;
  font-size: 1.8rem;
  transition: all 0.5s;
}
.modelcource-contents-container .modelcource-nav-wrap .modelcource-nav .modelcource-nav-block a p {
  display: inline-block;
  line-height: 1;
}
.modelcource-contents-container .modelcource-nav-wrap .modelcource-nav .modelcource-nav-block a span {
  display: block;
  text-align: center;
}
.modelcource-contents-container .modelcource-nav-wrap .modelcource-nav .modelcource-nav-block a span:nth-of-type(1) {
  font-size: 1.1rem;
}
.modelcource-contents-container .modelcource-nav-wrap .modelcource-nav .modelcource-nav-block a span:nth-of-type(2) {
  font-size: 2.2rem;
}
.modelcource-contents-container .modelcource-nav-wrap .modelcource-nav .modelcource-nav-block:not(:last-of-type) {
  padding-bottom: 5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .modelcource-contents-container .modelcource-nav-wrap .modelcource-nav .modelcource-nav-block:not(:last-of-type) {
    margin-bottom: 0;
    padding-bottom: 0;
  }
}
.modelcource-contents-container .modelcource-nav-wrap .modelcource-nav .modelcource-nav-block:not(:last-of-type)::after {
  content: "";
  display: block;
  height: 3rem;
  width: 1px;
  background: rgba(51, 51, 51, 0.1);
  position: absolute;
  bottom: 1rem;
  left: 50%;
}
@media screen and (max-width: 767px) {
  .modelcource-contents-container .modelcource-nav-wrap .modelcource-nav .modelcource-nav-block:not(:last-of-type)::after {
    width: 3rem;
    height: 1px;
    position: static;
    margin: 0 0.5em;
  }
}
.modelcource-contents-container .modelcource-nav-wrap .modelcource-nav .modelcource-nav-block:not(.active) a {
  background: #c9efec;
}
.modelcource-contents-container .modelcource-nav-wrap .modelcource-nav .modelcource-nav-block:not(.active) a:hover {
  background: #54cbc4;
}
.modelcource-title {
  margin-top: 5rem;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 700px;
}

.modelcource-lead {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1400px;
  margin-top: 3rem;
}
.modelcource-lead p {
  text-align: center;
  font-size: 1.6rem;
}

.modelcource-block-group .modelcource-block, .modelcource-block-group .modelcource-full {
  padding-left: 10%;
}
@media screen and (max-width: 767px) {
  .modelcource-block-group .modelcource-block, .modelcource-block-group .modelcource-full {
    padding-left: 0;
  }
}

.modelcource-full {
  width: 100%;
  position: relative;
  z-index: 0;
}
.modelcource-full-inner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  padding: 15% 0;
}
.modelcource-full-inner.text-right {
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 767px) {
  .modelcource-full-inner {
    padding: 0;
  }
}
.modelcource-full p {
  width: 40%;
  font-size: 1.6em;
  line-height: 1.8 !important;
}
@media screen and (max-width: 767px) {
  .modelcource-full p {
    width: 100%;
    margin-top: 3rem;
  }
}
.modelcource-full p.text-light {
  color: #fff;
}
@media screen and (max-width: 767px) {
  .modelcource-full p.text-light {
    color: #333;
  }
}
.modelcource-full-bg {
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .modelcource-full-bg {
    height: auto;
    aspect-ratio: 1.5;
    position: static;
  }
}

.modelcource-block {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  font-size: 1rem;
}
.modelcource-block.text-right {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .modelcource-block.text-right {
    flex-direction: row;
  }
}
.modelcource-block:not(:last-of-type) {
  margin-bottom: 10%;
}
@media screen and (max-width: 767px) {
  .modelcource-block:not(:last-of-type) {
    margin-bottom: 20%;
  }
}
.modelcource-block .modelcource-block-wave {
  width: 160px;
}
@media screen and (max-width: 767px) {
  .modelcource-block .modelcource-block-wave {
    width: 130px;
  }
}
.modelcource-block-text {
  width: 40%;
}
@media screen and (max-width: 767px) {
  .modelcource-block-text {
    width: 100%;
  }
}
.modelcource-block-text p {
  line-height: 1.5;
}
.modelcource-block-text-no {
  font-family: "EB Garamond", serif;
  font-weight: 400;
  font-size: 2.6em;
  color: #54CBC4;
}
.modelcource-block-text-title {
  font-size: 2.4em;
  margin-top: 0.8em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .modelcource-block-text-title {
    font-size: 2em;
  }
}
.modelcource-block-text-titleEn {
  font-size: 1.4em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  margin-top: 0.3em;
}
.modelcource-block-text-maplink {
  display: inline-flex;
  margin-top: 4em;
  align-items: center;
  align-content: center;
  text-decoration: none;
}
.modelcource-block-text-maplink, .modelcource-block-text-maplink:link, .modelcource-block-text-maplink:visited {
  color: #333;
}
.modelcource-block-text-maplink:hover, .modelcource-block-text-maplink:active {
  text-decoration: none;
  color: #333;
}
.modelcource-block-text-maplink span {
  margin-left: 0.5em;
  font-size: 1.4em;
  display: inline-block;
  text-decoration: underline;
}
.modelcource-block-text-maplink::before {
  content: "";
  display: block;
  width: 2em;
  height: 2em;
  background: url(../img/ss/map_pin.svg) no-repeat center center/contain;
}
.modelcource-block-text-description {
  margin-top: 2em;
  font-size: 1.6em;
  line-height: 1.8 !important;
}
@media screen and (max-width: 767px) {
  .modelcource-block-text-description {
    margin-top: 1em;
    text-align: justify;
    font-size: 1.4em;
  }
}
.modelcource-block-text-info {
  margin-top: 5em;
  background: #fff;
  border: 1px solid #54cbc4;
  padding: 2em;
}
.modelcource-block-text-info-title {
  font-size: 1.4em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
}
.modelcource-block-text-info-contents {
  font-size: 1.6em;
}
.modelcource-block-text-info-contents.teikei {
  display: inline-flex;
  align-items: center;
  align-content: center;
  text-decoration: none;
}
.modelcource-block-text-info-contents.teikei, .modelcource-block-text-info-contents.teikei:link, .modelcource-block-text-info-contents.teikei:visited {
  color: #333;
}
.modelcource-block-text-info-contents.teikei:hover, .modelcource-block-text-info-contents.teikei:active {
  text-decoration: none;
  color: #333;
}
.modelcource-block-text-info-contents.teikei span {
  margin-left: 0.5em;
  display: inline-block;
}
.modelcource-block-text-info-contents.teikei::before {
  content: "";
  display: block;
  width: 2em;
  height: 2em;
  background: url(../img/modelcource/icon-service.svg) no-repeat center center/contain;
}
.modelcource-block-text-info-link {
  font-size: 1.4em;
  margin-top: 0.5em;
}
.modelcource-block-text-info-link a {
  text-decoration: underline;
  text-decoration: none;
}
.modelcource-block-text-info-link a, .modelcource-block-text-info-link a:link, .modelcource-block-text-info-link a:visited {
  color: #333;
}
.modelcource-block-text-info-link a:hover, .modelcource-block-text-info-link a:active {
  text-decoration: none;
  color: #333;
}
.modelcource-block-text-info-houhou {
  display: flex;
  margin-top: 1.5em;
  align-items: center;
  align-content: center;
}
.modelcource-block-text-info-houhou span {
  display: inline-block;
}
.modelcource-block-text-info-houhou span:nth-of-type(1) {
  font-size: 1.2em;
  width: 4.5em;
  line-height: 1.1;
  height: 4.5em;
  display: inline-flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  text-align: center;
  background: #fff;
  border-radius: 20rem;
}
.modelcource-block-text-info-houhou span:nth-of-type(2) {
  padding-left: 1em;
  font-size: 1.6em;
  width: calc(100% - 4.5em);
}
.modelcource-block-img {
  width: 55%;
}
@media screen and (max-width: 767px) {
  .modelcource-block-img {
    width: 100%;
    order: -1;
    margin-bottom: 0;
  }
}
.modelcource-block-img-hor img {
  object-fit: cover;
  width: 100%;
  aspect-ratio: 417/285;
}
.modelcource-block-img-ver img {
  object-fit: cover;
  width: 100%;
  aspect-ratio: 226/280;
}
.modelcource-block-img-01 {
  width: 100%;
  margin-bottom: 5%;
}
.modelcource-block-img-02 {
  width: 100%;
  display: flex;
  justify-content: flex-end;
}
.modelcource-block-img-02 .modelcource-block-img-hor {
  width: 61%;
}
.modelcource-block-img-02 .modelcource-block-img-ver {
  width: 39%;
}
.modelcource-block-img-02 figure:nth-of-type(2) {
  margin-top: 4em;
}
@media screen and (max-width: 767px) {
  .modelcource-block-img-02 figure:nth-of-type(2) {
    margin-top: 2em;
  }
}
.modelcource-block-img-02 figure {
  margin-right: 5%;
  margin-top: -10%;
}
.modelcource-block-img-03 {
  width: 100%;
  display: flex;
  justify-content: center;
}
.modelcource-block-img-03 .modelcource-block-img-ver {
  width: 35%;
}
.modelcource-block-img-03 figure:nth-of-type(2) {
  margin-top: 4em;
  margin-left: -3%;
}
@media screen and (max-width: 767px) {
  .modelcource-block-img-03 figure:nth-of-type(2) {
    margin-top: 3em;
  }
}
.modelcource-block-img-03 figure {
  margin-right: 5%;
  margin-top: -10%;
}
@media screen and (max-width: 767px) {
  .modelcource-block-img-03 figure {
    margin-right: 0;
    margin-top: 0;
  }
}
.modelcource-block-img-04 {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  margin-left: -30%;
}
@media screen and (max-width: 767px) {
  .modelcource-block-img-04 {
    margin-left: 0;
    justify-content: space-between;
    margin-top: 1%;
  }
}
.modelcource-block-img-04 .modelcource-block-img-ver {
  width: 35%;
}
@media screen and (max-width: 767px) {
  .modelcource-block-img-04 .modelcource-block-img-ver {
    width: 49%;
  }
}
.modelcource-block-img-04 figure:nth-of-type(2) {
  margin-top: 4em;
  margin-left: -3%;
}
@media screen and (max-width: 767px) {
  .modelcource-block-img-04 figure:nth-of-type(2) {
    margin-top: 0;
  }
}
.modelcource-block-img-04 figure {
  margin-right: 5%;
  margin-top: -10%;
}
@media screen and (max-width: 767px) {
  .modelcource-block-img-04 figure {
    margin-right: 0;
    margin-top: 0;
    width: 50%;
  }
}
.modelcource-block-img-05 {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  margin-right: -30%;
}
@media screen and (max-width: 767px) {
  .modelcource-block-img-05 {
    margin-right: 0;
    justify-content: space-between;
    margin-top: 1%;
  }
}
.modelcource-block-img-05 .modelcource-block-img-ver {
  width: 35%;
}
@media screen and (max-width: 767px) {
  .modelcource-block-img-05 .modelcource-block-img-ver {
    width: 49%;
  }
}
.modelcource-block-img-05 figure {
  margin-right: -5%;
  margin-top: -5%;
}
@media screen and (max-width: 767px) {
  .modelcource-block-img-05 figure {
    margin-right: 0;
    margin-top: 0;
    width: 50%;
  }
}
.modelcource-block-img-05 figure:nth-of-type(2) {
  margin-top: 4em;
}
@media screen and (max-width: 767px) {
  .modelcource-block-img-05 figure:nth-of-type(2) {
    margin-top: 0;
  }
}
.modelcource-block-img-06 {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-top: 1%;
}
@media screen and (max-width: 767px) {
  .modelcource-block-img-06 {
    margin-left: 0;
    justify-content: space-between;
    margin-top: 1%;
  }
}
.modelcource-block-img-06 figure {
  width: 48%;
}
@media screen and (max-width: 767px) {
  .modelcource-block-img-06 figure {
    margin-right: 0;
    margin-top: 0;
    width: 48%;
  }
}
@media screen and (max-width: 767px) {
  .modelcource-block-img-06 figure:nth-of-type(2) {
    margin-top: 0;
  }
}
.modelcource-block-img .right {
  margin-left: auto;
}
.modelcource-block-img .nmt-2 {
  margin-top: -2em;
}

.bg-light {
  background: #E9EEF1;
}

.bg-dark {
  background: #040f20;
}
.bg-dark .modelcource-block-text-description, .bg-dark .modelcource-block-text-title, .bg-dark .modelcource-full p {
  color: #fff !important;
}

.rooms-detail .lead-group {
  width: 100%;
  max-width: none;
  padding: 8rem 0 3rem;
  position: relative;
  z-index: 0;
  overflow: hidden;
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .rooms-detail .lead-group {
    padding: 5rem 0 0;
  }
}
.rooms-detail .lead-group::before {
  position: absolute;
  opacity: 0.5;
  display: block;
  z-index: -1;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: linear-gradient(135deg, #fff 0%, #fff 40%, #90ccdd 100%);
  mix-blend-mode: multiply;
}
.rooms-detail .lead-group .lead-en {
  color: #54CBC4;
  font-size: 2.2rem;
  display: inline-block;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  margin-bottom: 4rem;
  color: #57bad8;
  width: 100%;
  text-align: center;
  width: 100%;
}

.car-pdf {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 5rem;
}
.car-pdf a {
  display: inline-block;
  border: 1px solid #003f87;
  color: #003f87;
  text-align: center;
  padding: 0.5em 2em;
  margin: 0 0.5em 0.5em;
  text-decoration: none;
  transition: opacity 0.5s;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  .car-pdf a {
    font-size: 1.62vw;
  }
}
@media screen and (max-width: 767px) {
  .car-pdf a {
    font-size: 4.05vw;
  }
}
.car-pdf a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .car-pdf a {
    width: 100%;
  }
}

.imgFull {
  width: 100%;
}
.imgFull img {
  width: 100%;
  object-fit: cover;
}

.asp-3 {
  aspect-ratio: 3.2;
}
@media screen and (max-width: 767px) {
  .asp-3 {
    aspect-ratio: 1.92;
  }
}

.food-detail-contents {
  margin-top: 2rem;
  margin-bottom: 5rem;
}

.food-group {
  width: 100%;
  padding: 0;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .food-group {
    padding: 0;
  }
}

.food-group {
  width: 100%;
  background: #fff;
}
.food-group:not(:first-of-type) {
  margin-top: 5rem;
}
.food-group-inner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
}
.food-group-img {
  width: 100%;
}
.food-group-img img {
  aspect-ratio: 2.5;
  width: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .food-group-img img {
    aspect-ratio: 2;
  }
}
.food-group-lead {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  text-align: center;
  padding: 2rem 0 5rem;
}
.food-group-lead h4 {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 1099px) {
  .food-group-lead h4 {
    font-size: 3.6vw;
  }
}
@media screen and (max-width: 767px) {
  .food-group-lead h4 {
    font-size: 9vw;
  }
}
.food-group-lead p {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  .food-group-lead p {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .food-group-lead p {
    font-size: 3.6vw;
  }
}
.food-group-lead .caption {
  font-size: 1.6rem;
}
.food-group-lead .caption span {
  font-weight: bold;
  display: inline-block;
}
.food-group-lead .caption span:not(:first-of-type)::before {
  content: "　|　";
}
@media screen and (max-width: 767px) {
  .food-group-lead .caption span:not(:first-of-type)::before {
    content: none;
  }
}
.food-group-menu-col1 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.food-group-menu-col1 .food-group-menu-title {
  width: 100%;
  font-size: 2.6rem;
  padding: 0.5em 0;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .food-group-menu-col1 .food-group-menu-title {
    font-size: 2rem;
  }
}
.food-group-menu-col1 .food-group-menu-title::before {
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 50%;
  background: rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .food-group-menu-col1 .food-group-menu-title::before {
    content: none;
  }
}
.food-group-menu-col1 .food-group-menu-title span {
  display: inline-block;
  background: #fff;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .food-group-menu-col1 > div {
    width: 100%;
  }
}
.food-group-menu-col1 img {
  aspect-ratio: 1.2;
  width: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .food-group-menu-col1 img {
    aspect-ratio: 1.8;
  }
}
.food-group-menu-col1 .food-group-menu-block-info {
  font-size: 1.8rem;
  padding: 1.4rem 0;
}
.food-group-menu-col1 .food-group-menu-block-info-title {
  font-size: 1.8em;
  margin-bottom: 0.5em;
  line-height: 1;
  position: relative;
}
@media screen and (max-width: 767px) {
  .food-group-menu-col1 .food-group-menu-block-info-title {
    font-size: 1.2em;
  }
}
.food-group-menu-col1 .food-group-menu-block-info-title::before {
  display: inline-block;
  width: 0.6rem;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0.5;
  border-top: 1px solid #000;
  border-left: 1px solid #000;
  border-bottom: 1px solid #000;
}
.food-group-menu-col1 .food-group-menu-block-info-title::after {
  display: inline-block;
  width: 0.6rem;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  opacity: 0.5;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
}
.food-group-menu-col1 .food-group-menu-block-info-title span {
  font-size: 0.8em;
  display: inline-block;
  margin-left: 0.3em;
}
.food-group-menu-col1 .food-group-menu-block-info-price {
  line-height: 1.5;
}
.food-group-menu-col1 .food-group-menu-block-info-price small {
  font-size: 0.8em;
}
.food-group-menu-col1 .food-group-menu-block-info-price span {
  font-size: 1.4em;
}
.food-group-menu-col1 .food-group-menu-block-info ul {
  margin: 1em 0 0 0;
  list-style: none;
  font-size: 0.9em;
  column-count: 2;
}
@media screen and (max-width: 767px) {
  .food-group-menu-col1 .food-group-menu-block-info ul {
    column-count: 1;
  }
}
.food-group-menu-col1 .food-group-menu-block-info ul li::before {
  content: "・";
}
.food-group-menu-col1 .food-group-menu-block-info ul li:not(:first-of-type) {
  margin-top: 0.6em;
}
.food-group-menu-col2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.food-group-menu-col2 .food-group-menu-title {
  width: 100%;
  font-size: 2.6rem;
  padding: 0.5em 0;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .food-group-menu-col2 .food-group-menu-title {
    font-size: 2rem;
  }
}
.food-group-menu-col2 .food-group-menu-title::before {
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 50%;
  background: rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  .food-group-menu-col2 .food-group-menu-title::before {
    content: none;
  }
}
.food-group-menu-col2 .food-group-menu-title span {
  display: inline-block;
  background: #fff;
  line-height: 1.3;
}
.food-group-menu-col2 > div {
  width: 45%;
}
@media screen and (max-width: 767px) {
  .food-group-menu-col2 > div {
    width: 100%;
  }
}
.food-group-menu-col2 img {
  aspect-ratio: 1.2;
  width: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .food-group-menu-col2 img {
    aspect-ratio: 1.8;
  }
}
.food-group-menu-col2 .food-group-menu-block-info {
  font-size: 1.8rem;
  padding: 1.4rem 0;
}
.food-group-menu-col2 .food-group-menu-block-info-title {
  font-size: 1.8em;
  margin-bottom: 0.5em;
  line-height: 1;
  position: relative;
}
@media screen and (max-width: 767px) {
  .food-group-menu-col2 .food-group-menu-block-info-title {
    font-size: 1.2em;
  }
}
.food-group-menu-col2 .food-group-menu-block-info-title::before {
  display: inline-block;
  width: 0.6rem;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0.5;
  border-top: 1px solid #000;
  border-left: 1px solid #000;
  border-bottom: 1px solid #000;
}
.food-group-menu-col2 .food-group-menu-block-info-title::after {
  display: inline-block;
  width: 0.6rem;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  opacity: 0.5;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
}
.food-group-menu-col2 .food-group-menu-block-info-title span {
  font-size: 0.8em;
  display: inline-block;
  margin-left: 0.3em;
}
.food-group-menu-col2 .food-group-menu-block-info-price {
  line-height: 1.5;
}
.food-group-menu-col2 .food-group-menu-block-info-price small {
  font-size: 0.8em;
}
.food-group-menu-col2 .food-group-menu-block-info-price span {
  font-size: 1.4em;
}
.food-group-menu-col2 .food-group-menu-block-info ul {
  margin: 1em 0 0 0;
  list-style: none;
  font-size: 0.9em;
  column-count: 2;
}
@media screen and (max-width: 767px) {
  .food-group-menu-col2 .food-group-menu-block-info ul {
    column-count: 1;
  }
}
.food-group-menu-col2 .food-group-menu-block-info ul li::before {
  content: "・";
}
.food-group-menu-col2 .food-group-menu-block-info ul li:not(:first-of-type) {
  margin-top: 0.6em;
}
.food-group-menu-col3 {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.food-group-menu-col3 .food-group-menu-title {
  width: 100%;
  margin: 1rem auto 2rem;
  font-size: 2.4rem;
  text-align: center;
  padding: 0.5em 0;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .food-group-menu-col3 .food-group-menu-title {
    font-size: 2.2rem;
  }
}
.food-group-menu-col3 .food-group-menu-title::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  z-index: -1;
  left: 0;
  top: 50%;
  background: rgba(0, 0, 0, 0.1);
}
.food-group-menu-col3 .food-group-menu-title span {
  display: inline-block;
  padding: 0 1em;
  background: #fff;
}
.food-group-menu-col3 > div {
  width: 32%;
}
@media screen and (max-width: 767px) {
  .food-group-menu-col3 > div {
    width: 100%;
  }
}
.food-group-menu-col3 img {
  aspect-ratio: 1.2;
  width: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .food-group-menu-col3 img {
    aspect-ratio: 1.8;
  }
}
.food-group-menu-col3 .food-group-menu-block-info {
  font-size: 1.6rem;
  padding: 1.4rem 0;
}
@media screen and (max-width: 767px) {
  .food-group-menu-col3 .food-group-menu-block-info {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  }
}
@media screen and (max-width: 767px) {
  .food-group-menu-col3 .food-group-menu-block-info:first-of-type {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
  }
}
.food-group-menu-col3 .food-group-menu-block-info-title {
  font-size: 1.6em;
  margin-bottom: 0.5em;
  line-height: 1;
}
.food-group-menu-col3 .food-group-menu-block-info-title span {
  font-size: 0.8em;
  display: inline-block;
  margin-left: 0.3em;
}
.food-group-menu-col3 .food-group-menu-block-info-price small {
  font-size: 0.8em;
}
.food-group-menu-col3 .food-group-menu-block-info-price span {
  font-size: 1.4em;
}
.food-group-menu-col3 .food-group-menu-block-info ul {
  margin: 1em 0 0 0;
  list-style: none;
  font-size: 0.9em;
}
.food-group-menu-col3 .food-group-menu-block-info ul li::before {
  content: "・";
}
.food-group-menu-col3 .food-group-menu-block-info ul li:not(:first-of-type) {
  margin-top: 0.6em;
}
.food-group-title {
  width: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  padding: 15rem 0;
  position: relative;
  z-index: 0;
}
.food-group-title::before {
  content: "";
  position: absolute;
  z-index: 0;
  background: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .food-group-title {
    padding: 8rem 0;
  }
}
.food-group-title-inner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1400px;
  position: relative;
  z-index: 1;
}
.food-group-title-inner h4, .food-group-title-inner p {
  text-align: left !important;
}
.food-group-title-inner .ja {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 28px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 1099px) {
  .food-group-title-inner .ja {
    font-size: 2.52vw;
  }
}
@media screen and (max-width: 767px) {
  .food-group-title-inner .ja {
    font-size: 6.3vw;
  }
}
.food-group-title-inner .en {
  text-align: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 1099px) {
  .food-group-title-inner .en {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  .food-group-title-inner .en {
    font-size: 3.15vw;
  }
}

.food-detail-breakfast {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.food-detail-breakfast > figure {
  width: 45%;
}
@media screen and (max-width: 767px) {
  .food-detail-breakfast > figure {
    width: 100%;
  }
}
.food-detail-breakfast > figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.food-detail-breakfast-contents {
  width: 50%;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .food-detail-breakfast-contents {
    width: 100%;
  }
}
@media screen and (max-width: 1099px) {
  .food-detail-breakfast-contents {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .food-detail-breakfast-contents {
    font-size: 3.6vw;
  }
}
.food-detail-breakfast-contents-title {
  font-size: 1.6em;
}
.food-detail-breakfast-contents-price {
  font-size: 1.4em;
}
.food-detail-breakfast-contents-text {
  margin-bottom: 0.5em;
  letter-spacing: 0;
  line-height: 1.8;
  text-align: justify;
  margin-top: 1em;
}
.food-detail-breakfast-contents-menu {
  margin-top: 2em;
  font-size: 0.9em;
}
.food-detail-breakfast-contents-menu ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}
.food-detail-breakfast-contents-menu ul li:not(:last-of-type)::after {
  content: "、";
}

.food-block-wrap:not(:last-of-type) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
  padding-bottom: 3rem;
  margin-bottom: 3rem;
}

.gap-0 {
  gap: 0 !important;
}

#laurel .food-block, #biotope .food-block {
  font-size: 1rem;
}
#laurel .food-block .col2, #laurel .food-block .col3, #laurel .food-block .col4, #laurel .food-block .col5, #biotope .food-block .col2, #biotope .food-block .col3, #biotope .food-block .col4, #biotope .food-block .col5 {
  row-gap: 1em;
  column-gap: 3em;
}
@media screen and (max-width: 767px) {
  #laurel .food-block .col2, #laurel .food-block .col3, #laurel .food-block .col4, #laurel .food-block .col5, #biotope .food-block .col2, #biotope .food-block .col3, #biotope .food-block .col4, #biotope .food-block .col5 {
    row-gap: 0.6em;
    column-gap: 1em;
  }
}
#laurel .food-block .col5, #biotope .food-block .col5 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}
@media screen and (max-width: 767px) {
  #laurel .food-block .col5, #biotope .food-block .col5 {
    grid-template-columns: 1fr 1fr;
  }
}
#laurel .food-block .col4, #biotope .food-block .col4 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
@media screen and (max-width: 767px) {
  #laurel .food-block .col4, #biotope .food-block .col4 {
    grid-template-columns: 1fr;
  }
}
#laurel .food-block .col3, #biotope .food-block .col3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
@media screen and (max-width: 767px) {
  #laurel .food-block .col3, #biotope .food-block .col3 {
    grid-template-columns: 1fr;
  }
}
#laurel .food-block .col2, #biotope .food-block .col2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 767px) {
  #laurel .food-block .col2, #biotope .food-block .col2 {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 767px) {
  #laurel .food-block .sp-col5, #biotope .food-block .sp-col5 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  #laurel .food-block .sp-col4, #biotope .food-block .sp-col4 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  #laurel .food-block .sp-col3, #biotope .food-block .sp-col3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (max-width: 767px) {
  #laurel .food-block .sp-col2, #biotope .food-block .sp-col2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
#laurel .food-block-head, #biotope .food-block-head {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#laurel .food-block .img-list, #biotope .food-block .img-list {
  margin: 3rem 0 0 0;
  display: flex;
  justify-content: space-between;
}
#laurel .food-block .img-list > figure, #biotope .food-block .img-list > figure {
  width: 22%;
}
#laurel .food-block .img-list > figure img, #biotope .food-block .img-list > figure img {
  object-fit: cover;
  aspect-ratio: 0.9;
  width: 100%;
}
#laurel .food-block-img, #biotope .food-block-img {
  width: 49%;
}
@media screen and (max-width: 767px) {
  #laurel .food-block-img, #biotope .food-block-img {
    margin: 0 calc(50% - 50vw) 3rem;
    width: 100vw;
  }
}
#laurel .food-block-img figure, #biotope .food-block-img figure {
  width: 100%;
  height: 100%;
  display: block;
}
#laurel .food-block-img img, #biotope .food-block-img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  display: block;
}
@media screen and (max-width: 767px) {
  #laurel .food-block-img img, #biotope .food-block-img img {
    aspect-ratio: 1.8;
  }
}
#laurel .food-block-info, #biotope .food-block-info {
  width: 49%;
}
@media screen and (max-width: 767px) {
  #laurel .food-block-info, #biotope .food-block-info {
    width: 100%;
  }
}
#laurel .food-block-info-type, #biotope .food-block-info-type {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  padding: 0.5em;
  line-height: 1;
  background: darkgoldenrod;
  color: #fff;
  border-radius: 5px;
  display: inline-block;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 1099px) {
  #laurel .food-block-info-type, #biotope .food-block-info-type {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  #laurel .food-block-info-type, #biotope .food-block-info-type {
    font-size: 3.6vw;
  }
}
#laurel .food-block-info-title, #biotope .food-block-info-title {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 22px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 1099px) {
  #laurel .food-block-info-title, #biotope .food-block-info-title {
    font-size: 1.98vw;
  }
}
@media screen and (max-width: 767px) {
  #laurel .food-block-info-title, #biotope .food-block-info-title {
    font-size: 4.95vw;
  }
}
#laurel .food-block-info-text, #biotope .food-block-info-text {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-bottom: 3rem;
}
@media screen and (max-width: 1099px) {
  #laurel .food-block-info-text, #biotope .food-block-info-text {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  #laurel .food-block-info-text, #biotope .food-block-info-text {
    font-size: 3.6vw;
  }
}
#laurel .food-block-info-profile, #biotope .food-block-info-profile {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
@media screen and (max-width: 1099px) {
  #laurel .food-block-info-profile, #biotope .food-block-info-profile {
    font-size: 1.17vw;
  }
}
@media screen and (max-width: 767px) {
  #laurel .food-block-info-profile, #biotope .food-block-info-profile {
    font-size: 2.925vw;
  }
}
#laurel .food-block-info-profile figure, #biotope .food-block-info-profile figure {
  width: 25%;
}
#laurel .food-block-info-profile figure img, #biotope .food-block-info-profile figure img {
  width: 100%;
}
#laurel .food-block-info-profile .career, #biotope .food-block-info-profile .career {
  width: 73%;
}
#laurel .food-block-info dl, #biotope .food-block-info dl {
  display: flex;
  flex-wrap: wrap;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
@media screen and (max-width: 1099px) {
  #laurel .food-block-info dl, #biotope .food-block-info dl {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  #laurel .food-block-info dl, #biotope .food-block-info dl {
    font-size: 3.6vw;
  }
}
#laurel .food-block-info dl dt, #biotope .food-block-info dl dt {
  width: 8em;
}
#laurel .food-block-info dl dt::before, #biotope .food-block-info dl dt::before {
  content: "〈";
}
#laurel .food-block-info dl dt::after, #biotope .food-block-info dl dt::after {
  content: "〉";
}
#laurel .food-block-info dl dd, #biotope .food-block-info dl dd {
  width: calc(100% - 9em);
}
#laurel .food-block-info dl dd a, #biotope .food-block-info dl dd a {
  text-decoration: none;
  text-decoration: none;
}
#laurel .food-block-info dl dd a, #laurel .food-block-info dl dd a:link, #laurel .food-block-info dl dd a:visited, #biotope .food-block-info dl dd a, #biotope .food-block-info dl dd a:link, #biotope .food-block-info dl dd a:visited {
  color: #333;
}
#laurel .food-block-info dl dd a:hover, #laurel .food-block-info dl dd a:active, #biotope .food-block-info dl dd a:hover, #biotope .food-block-info dl dd a:active {
  text-decoration: none;
  color: #333;
}
#laurel .food-block .menu, #biotope .food-block .menu {
  --color-key:rgb(141 122 20);
  margin-top: 6em;
}
#laurel .food-block .menu-title, #biotope .food-block .menu-title {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  text-align: center;
  margin-bottom: 1em;
}
@media screen and (max-width: 1099px) {
  #laurel .food-block .menu-title, #biotope .food-block .menu-title {
    font-size: 2.16vw;
  }
}
@media screen and (max-width: 767px) {
  #laurel .food-block .menu-title, #biotope .food-block .menu-title {
    font-size: 5.4vw;
  }
}
#laurel .food-block .menu-group:not(:last-of-type), #biotope .food-block .menu-group:not(:last-of-type) {
  margin-bottom: 4em;
  /*
  margin-bottom: 5em;
  padding-bottom: 5em;
  border-bottom: 1px solid rgba(#000,.2);*/
}
#laurel .food-block .menu-group-title, #biotope .food-block .menu-group-title {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 1em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  background: var(--color-key);
  color: #fff;
}
@media screen and (max-width: 1099px) {
  #laurel .food-block .menu-group-title, #biotope .food-block .menu-group-title {
    font-size: 2.16vw;
  }
}
@media screen and (max-width: 767px) {
  #laurel .food-block .menu-group-title, #biotope .food-block .menu-group-title {
    font-size: 5.4vw;
  }
}
#laurel .food-block .menu-group-contents, #biotope .food-block .menu-group-contents {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
@media screen and (max-width: 1099px) {
  #laurel .food-block .menu-group-contents, #biotope .food-block .menu-group-contents {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  #laurel .food-block .menu-group-contents, #biotope .food-block .menu-group-contents {
    font-size: 3.15vw;
  }
}
#laurel .food-block .menu-group-contents .menu-lineup-subtitle, #biotope .food-block .menu-group-contents .menu-lineup-subtitle {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-bottom: 1em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  border-top: 1px solid #aaa;
  border-bottom: 1px solid #aaa;
}
@media screen and (max-width: 1099px) {
  #laurel .food-block .menu-group-contents .menu-lineup-subtitle, #biotope .food-block .menu-group-contents .menu-lineup-subtitle {
    font-size: 2.16vw;
  }
}
@media screen and (max-width: 767px) {
  #laurel .food-block .menu-group-contents .menu-lineup-subtitle, #biotope .food-block .menu-group-contents .menu-lineup-subtitle {
    font-size: 5.4vw;
  }
}
#laurel .food-block .menu-group-contents .menu-lineup, #biotope .food-block .menu-group-contents .menu-lineup {
  display: grid;
  row-gap: 1em;
  column-gap: 3em;
}
@media screen and (max-width: 767px) {
  #laurel .food-block .menu-group-contents .menu-lineup, #biotope .food-block .menu-group-contents .menu-lineup {
    row-gap: 0.6em;
    column-gap: 1em;
  }
}
#laurel .food-block .menu-group-contents .menu-lineup-block, #biotope .food-block .menu-group-contents .menu-lineup-block {
  display: flex;
  justify-content: space-between;
  align-content: center;
  align-items: center;
}
#laurel .food-block .menu-group-contents .menu-lineup-block-genre, #biotope .food-block .menu-group-contents .menu-lineup-block-genre {
  white-space: nowrap;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  color: #114f8e;
  /*
  --color1: azure;
    --color2: aqua;
    --color3: dodgerblue;
    --color4: blue;
   text-shadow: 
  	 0 0 10px var(--color1),
  	 0 0 20px var(--color2),
  	 0 0 40px var(--color3),
  	 0 0 80px var(--color4);
     filter: saturate(60%);
     */
  margin-bottom: 0.5em;
  padding: 0.5em 2em;
  line-height: 1;
  border-radius: 10rem;
  background: var(--color-key);
  color: #fff;
  display: inline-block;
  text-align: center;
  font-size: 0.7em;
}
#laurel .food-block .menu-group-contents .menu-lineup-block-name, #biotope .food-block .menu-group-contents .menu-lineup-block-name {
  align-content: center;
  align-items: center;
}
#laurel .food-block .menu-group-contents .menu-lineup-block-title, #biotope .food-block .menu-group-contents .menu-lineup-block-title {
  font-size: 1.25em;
  line-height: 1.5;
  margin-bottom: 0.1em;
  color: var(--color-key);
}
#laurel .food-block .menu-group-contents .menu-lineup-block-contents, #biotope .food-block .menu-group-contents .menu-lineup-block-contents {
  line-height: 1.3;
  font-size: 0.9em;
}
#laurel .food-block .menu-group-contents .menu-lineup-block-price, #biotope .food-block .menu-group-contents .menu-lineup-block-price {
  display: flex;
  justify-content: center;
}
#laurel .food-block .menu-group-contents .menu-lineup-block-price > *:not(:last-of-type), #biotope .food-block .menu-group-contents .menu-lineup-block-price > *:not(:last-of-type) {
  margin-right: 0.5em;
}
#laurel .food-block .menu-group-contents .menu-lineup-block-price span, #biotope .food-block .menu-group-contents .menu-lineup-block-price span {
  display: inline-flex;
}
#laurel .food-block .menu-group-contents .menu-lineup-block-price-s::before, #biotope .food-block .menu-group-contents .menu-lineup-block-price-s::before {
  content: "￥";
  display: inline-block;
  white-space: nowrap;
}
#laurel .food-block .menu-group-contents .menu-lineup-block-price-set::before, #biotope .food-block .menu-group-contents .menu-lineup-block-price-set::before {
  content: "SET ￥";
  display: inline-block;
  white-space: nowrap;
}
#laurel .food-block .menu-group-contents .menu-lineup-block-price-single::before, #biotope .food-block .menu-group-contents .menu-lineup-block-price-single::before {
  content: "単品 ￥";
  display: inline-block;
  white-space: nowrap;
}
#laurel .food-block .menu-group-contents .menu-lineup .single-line, #biotope .food-block .menu-group-contents .menu-lineup .single-line {
  display: flex;
  align-items: center;
  align-content: center;
  flex-direction: row;
  padding: 0;
  border: none;
}
#laurel .food-block .menu-group-contents .menu-lineup .single-line .menu-lineup-block-price, #biotope .food-block .menu-group-contents .menu-lineup .single-line .menu-lineup-block-price {
  margin-top: 0;
  padding-top: 0;
  margin-left: auto;
}
#laurel .food-block .menu-group-contents .menu-lineup-subtitle-sub, #biotope .food-block .menu-group-contents .menu-lineup-subtitle-sub {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-bottom: 1em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
@media screen and (max-width: 1099px) {
  #laurel .food-block .menu-group-contents .menu-lineup-subtitle-sub, #biotope .food-block .menu-group-contents .menu-lineup-subtitle-sub {
    font-size: 1.62vw;
  }
}
@media screen and (max-width: 767px) {
  #laurel .food-block .menu-group-contents .menu-lineup-subtitle-sub, #biotope .food-block .menu-group-contents .menu-lineup-subtitle-sub {
    font-size: 4.05vw;
  }
}
#laurel .food-block .menu-group-contents .menu-sub, #biotope .food-block .menu-group-contents .menu-sub {
  margin-top: 1.5em;
}
#laurel .food-block .menu-group-contents .topping::before, #biotope .food-block .menu-group-contents .topping::before {
  content: "TOPPING";
}
#laurel .food-block .menu-group-contents .setdrink::before, #biotope .food-block .menu-group-contents .setdrink::before {
  content: "SET DRINK";
}
#laurel .food-block .menu-group-contents .setdrink::before, #laurel .food-block .menu-group-contents .topping::before, #biotope .food-block .menu-group-contents .setdrink::before, #biotope .food-block .menu-group-contents .topping::before {
  color: var(--color-key);
  font-size: 1.3em;
  display: inline-block;
  line-height: 1.2;
  margin-bottom: 0.5em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  #laurel .food-block .menu-group-contents .setdrink::before, #laurel .food-block .menu-group-contents .topping::before, #biotope .food-block .menu-group-contents .setdrink::before, #biotope .food-block .menu-group-contents .topping::before {
    text-align: left;
  }
}
#laurel .food-block .menu-group-contents .setdrink ul, #laurel .food-block .menu-group-contents .topping ul, #biotope .food-block .menu-group-contents .setdrink ul, #biotope .food-block .menu-group-contents .topping ul {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  list-style: none;
}
@media screen and (max-width: 767px) {
  #laurel .food-block .menu-group-contents .setdrink ul, #laurel .food-block .menu-group-contents .topping ul, #biotope .food-block .menu-group-contents .setdrink ul, #biotope .food-block .menu-group-contents .topping ul {
    grid-template-columns: 1fr 1fr;
    width: 100%;
    display: grid;
  }
}
#laurel .food-block .menu-group-contents .setdrink ul li, #laurel .food-block .menu-group-contents .topping ul li, #biotope .food-block .menu-group-contents .setdrink ul li, #biotope .food-block .menu-group-contents .topping ul li {
  margin-right: 1em;
}
#laurel .food-block .menu-group-contents .setdrink ul li::before, #laurel .food-block .menu-group-contents .topping ul li::before, #biotope .food-block .menu-group-contents .setdrink ul li::before, #biotope .food-block .menu-group-contents .topping ul li::before {
  content: "- ";
}
#laurel .food-block .menu-group-contents .setdrink ul li small, #laurel .food-block .menu-group-contents .topping ul li small, #biotope .food-block .menu-group-contents .setdrink ul li small, #biotope .food-block .menu-group-contents .topping ul li small {
  font-size: 0.7em;
}
#laurel .food-block .menu-group-contents .setdrink ul li .price::before, #laurel .food-block .menu-group-contents .topping ul li .price::before, #biotope .food-block .menu-group-contents .setdrink ul li .price::before, #biotope .food-block .menu-group-contents .topping ul li .price::before {
  content: "￥";
}
#laurel .food-block .menu-group-contents .caption, #biotope .food-block .menu-group-contents .caption {
  text-align: left;
  font-size: 0.9em;
  margin-top: 2em;
}
#laurel .food-block .menu-group-contents .addInfo, #biotope .food-block .menu-group-contents .addInfo {
  margin-top: 1em;
  text-align: right;
}
#laurel .laurel-menu-btn, #biotope .laurel-menu-btn {
  margin-top: 5rem;
  text-align: center;
}
#laurel .laurel-menu-btn a, #biotope .laurel-menu-btn a {
  display: inline-block;
  width: 100%;
  padding: 1em 0;
  background: #b8860b;
  max-width: 500px;
  color: #fff;
  text-align: center;
  font-size: 1.6rem;
  text-decoration: none;
  transition: opacity 0.5s;
}
#laurel .laurel-menu-btn a:hover, #biotope .laurel-menu-btn a:hover {
  opacity: 0.5;
}

.laurel-reserve {
  text-align: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 800px;
  padding: 2em 0;
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 1099px) {
  .laurel-reserve {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .laurel-reserve {
    font-size: 3.6vw;
  }
}
.laurel-reserve-tel {
  font-size: 1.2em;
}
.laurel-reserve-tel a {
  text-decoration: none;
  text-decoration: none;
}
.laurel-reserve-tel a, .laurel-reserve-tel a:link, .laurel-reserve-tel a:visited {
  color: #333;
}
.laurel-reserve-tel a:hover, .laurel-reserve-tel a:active {
  text-decoration: none;
  color: #333;
}
.laurel-reserve-tel b {
  font-size: 1.2em;
  font-weight: normal;
}
.menu-lineup-block-price-s {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
}
@media screen and (max-width: 1099px) {
  .menu-lineup-block-price-s {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .menu-lineup-block-price-s {
    font-size: 3.6vw;
  }
}

.biotope-price {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-top: 2rem;
  line-height: 1.5;
}
@media screen and (max-width: 1099px) {
  .biotope-price {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .biotope-price {
    font-size: 3.6vw;
  }
}
.biotope-price span {
  display: inline-block;
}
.biotope-price b {
  font-size: 1.3em;
}
.biotope-price small {
  font-size: 0.8em;
}

.order-info {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  margin-top: 1rem;
  line-height: 1.5;
}
@media screen and (max-width: 1099px) {
  .order-info {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .order-info {
    font-size: 3.6vw;
  }
}

.okinawa_set {
  padding: 3% 5% 0 5%;
  background: #a59954;
  color: #fff;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.okinawa_set .food-group-menu-title {
  width: 100%;
  margin: 1rem auto 2rem;
  font-size: 2.4rem;
  text-align: center;
  padding: 0.5em 0;
}
@media screen and (max-width: 767px) {
  .okinawa_set .food-group-menu-title {
    font-size: 2rem;
    margin: 2rem auto 1rem;
  }
}
.okinawa_set .food-group-menu-title img {
  width: 90%;
  max-width: 400px;
}
.okinawa_set > div {
  width: 31%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .okinawa_set > div {
    width: 100%;
    margin-bottom: 2rem;
  }
}
.okinawa_set figure {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .okinawa_set figure {
    width: 100%;
  }
}
.okinawa_set .food-group-menu-block-info {
  font-size: 1.8rem;
  padding: 1.4rem 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .okinawa_set .food-group-menu-block-info {
    width: 100%;
  }
}
.okinawa_set .food-group-menu-block-info-title {
  font-size: 1.2em;
  letter-spacing: 0;
  margin-bottom: 1.2em;
  line-height: 1;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .okinawa_set .food-group-menu-block-info-title {
    font-size: 1.2em;
  }
}
.okinawa_set .food-group-menu-block-info-title span {
  font-size: 0.8em;
  display: inline-block;
  margin-left: 0.3em;
}
.okinawa_set .food-group-menu-block-info-price {
  text-align: center;
  line-height: 1.5;
  margin-top: 1rem;
}
.okinawa_set .food-group-menu-block-info-price small {
  font-size: 0.8em;
}
.okinawa_set .food-group-menu-block-info-price span {
  font-size: 1.4em;
}
.okinawa_set .food-group-menu-block-info-text {
  font-size: 0.8em;
  margin-bottom: 0.5em;
  letter-spacing: 0;
  line-height: 1.8;
  text-align: justify;
  position: relative;
}
.okinawa_set .food-group-menu-block-info ul {
  margin: 1em 0 0 0;
  padding: 0.5em 0;
  list-style: none;
  font-size: 0.8em;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.okinawa_set .food-group-menu-block-info ul li::before {
  content: "・";
}
.okinawa_set .food-group-menu-block-info ul li:not(:first-of-type) {
  margin-top: 0.6em;
}

#biotope .food-block-g {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-bottom: 1em;
}
@media screen and (max-width: 1099px) {
  #biotope .food-block-g {
    font-size: 1.8vw;
  }
}
@media screen and (max-width: 767px) {
  #biotope .food-block-g {
    font-size: 4.5vw;
  }
}
#biotope .biotope-img {
  width: 100%;
}
#biotope .biotope-info {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#biotope .biotope-info-text {
  width: 49%;
}
@media screen and (max-width: 767px) {
  #biotope .biotope-info-text {
    width: 100%;
  }
}
#biotope .biotope-info-img {
  width: 49%;
}
@media screen and (max-width: 767px) {
  #biotope .biotope-info-img {
    width: 100%;
  }
}

.anniversary_cake {
  border-bottom: 1px solid #eee;
  border-top: 1px solid #eee;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.anniversary_cake .food-group-menu-title {
  width: 100%;
  margin: 1rem auto 2rem;
  font-size: 2.4rem;
  text-align: center;
  padding: 0.5em 0;
}
@media screen and (max-width: 767px) {
  .anniversary_cake .food-group-menu-title {
    font-size: 2rem;
    margin: 2rem auto 1rem;
  }
}
.anniversary_cake .food-group-menu-title img {
  width: 90%;
  max-width: 400px;
}
.anniversary_cake > div {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .anniversary_cake > div {
    width: 100%;
  }
}
.anniversary_cake figure {
  width: 40%;
  height: 100%;
  order: -1;
}
@media screen and (max-width: 767px) {
  .anniversary_cake figure {
    width: 100%;
    height: auto;
  }
}
.anniversary_cake figure img {
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .anniversary_cake figure img {
    height: auto;
  }
}
.anniversary_cake .food-group-menu-block-info {
  font-size: 1.8rem;
  padding: 6%;
  width: 55%;
}
@media screen and (max-width: 767px) {
  .anniversary_cake .food-group-menu-block-info {
    width: 100%;
  }
}
.anniversary_cake .food-group-menu-block-info-title {
  font-size: 1.5em;
  margin-bottom: 0.8em;
  line-height: 1;
  text-align: center;
  position: relative;
  color: #B19350;
}
@media screen and (max-width: 767px) {
  .anniversary_cake .food-group-menu-block-info-title {
    font-size: 1.2em;
  }
}
.anniversary_cake .food-group-menu-block-info-title span {
  font-size: 0.8em;
  display: inline-block;
  margin-left: 0.3em;
}
.anniversary_cake .food-group-menu-block-info-price {
  text-align: center;
  line-height: 1.5;
  margin-top: 1rem;
}
.anniversary_cake .food-group-menu-block-info-price small {
  font-size: 0.8em;
}
.anniversary_cake .food-group-menu-block-info-price span {
  font-size: 1.4em;
}
.anniversary_cake .food-group-menu-block-info-text {
  font-size: 0.8em;
  margin-bottom: 0.5em;
  letter-spacing: 0;
  line-height: 1.8;
  text-align: justify;
  position: relative;
}
.anniversary_cake .food-group-menu-block-info ul {
  margin: 1em 0 0 0;
  padding: 0.5em 0;
  list-style: none;
  font-size: 0.8em;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}
.anniversary_cake .food-group-menu-block-info ul li:not(:first-of-type) {
  margin-top: 0.6em;
}

.page_caption {
  font-size: 1.4rem;
  text-align: left;
  line-height: 1.3;
}

.bnr_staynav {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  padding: 7rem 0 0;
  text-align: center;
}
.bnr_staynav a {
  transition: opacity 0.5s;
}
.bnr_staynav a:hover {
  opacity: 0.8;
}
.bnr_staynav img {
  max-width: 100%;
  height: auto;
}

.bnr_tabiiro {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  padding: 7rem 0 0;
  text-align: center;
}
.bnr_tabiiro a {
  transition: opacity 0.5s;
}
.bnr_tabiiro a:hover {
  opacity: 0.8;
}
.bnr_tabiiro img {
  max-width: 100%;
  height: auto;
}

.movie-block {
  width: 100%;
  aspect-ratio: 1920/790;
  overflow: hidden;
  position: relative;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .movie-block {
    margin-bottom: 5rem;
    aspect-ratio: 1920/1080;
  }
}
.movie-block-img {
  width: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.movie-block video {
  width: 100%;
}

video {
  outline: none;
  border: none;
  filter: drop-shadow(0px 0px #000);
}

.border-bottom {
  border-bottom: 1px solid rgba(51, 51, 51, 0.3);
}

.stay-container {
  width: 100%;
  padding-top: 5rem;
}
@media screen and (max-width: 767px) {
  .stay-container {
    padding-top: 2rem;
  }
}

.stay-group:not(:last-of-type) {
  margin-bottom: 3rem;
}
.stay-group > figure {
  margin-bottom: 3rem;
}
.stay-group > figure img {
  aspect-ratio: 3;
  object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .stay-group > figure img {
    aspect-ratio: 1.2;
  }
}
.stay-group .stay-lead {
  margin-bottom: 8rem;
  text-align: center;
}
.stay-group .stay-lead h4 {
  margin-bottom: 1rem;
}
.stay-group .stay-block-wrap {
  display: flex;
  flex-wrap: wrap;
  padding: 5rem 4rem;
  background: rgba(0, 63, 135, 0.1);
}
.stay-group .stay-block-wrap .stay-block {
  width: calc((100% - 5rem) / 2);
  margin-bottom: 5rem;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: space-between;
}
.stay-group .stay-block-wrap .stay-block:nth-of-type(odd) {
  margin-right: 5rem;
}
@media screen and (max-width: 767px) {
  .stay-group .stay-block-wrap .stay-block:nth-of-type(odd) {
    margin-right: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .stay-group .stay-block-wrap .stay-block {
    width: 100%;
  }
}
.stay-group .stay-block-wrap .stay-block-text {
  width: 53%;
}
@media screen and (max-width: 767px) {
  .stay-group .stay-block-wrap .stay-block-text {
    width: 100%;
  }
}
.stay-group .stay-block-wrap .stay-block-text p:nth-of-type(1) {
  margin-bottom: 0.8rem;
  font-weight: bold;
  border-bottom: 1px solid rgba(0, 63, 135, 0.5);
}
.stay-group .stay-block-wrap .stay-block-img {
  width: 45%;
}
@media screen and (max-width: 767px) {
  .stay-group .stay-block-wrap .stay-block-img {
    width: 100%;
    order: -1;
    margin-bottom: 1rem;
  }
}
.stay-group .stay-block-wrap .stay-block-img img {
  object-fit: cover;
  width: 100%;
  aspect-ratio: 1.4;
}
.service-container {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1400px;
  padding-top: 5rem;
}
@media screen and (max-width: 767px) {
  .service-container {
    padding-top: 2rem;
  }
}

.service-lead {
  text-align: center;
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.5s;
  transform: translate(0px, 10px);
}
.is-anm .service-lead, .service-lead.is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
@media screen and (max-width: 767px) {
  .service-lead p {
    text-align: justify;
  }
}

.service-block-text > *:nth-child(1), .service-block-img > *:nth-child(1) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.4s;
  transform: translate(0px, 10px);
}
.is-anm .service-block-text > *:nth-child(1), .service-block-text > *:nth-child(1).is-anm, .is-anm .service-block-img > *:nth-child(1), .service-block-img > *:nth-child(1).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.service-block-text > *:nth-child(2), .service-block-img > *:nth-child(2) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.6s;
  transform: translate(0px, 10px);
}
.is-anm .service-block-text > *:nth-child(2), .service-block-text > *:nth-child(2).is-anm, .is-anm .service-block-img > *:nth-child(2), .service-block-img > *:nth-child(2).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.service-block-text > *:nth-child(3), .service-block-img > *:nth-child(3) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.8s;
  transform: translate(0px, 10px);
}
.is-anm .service-block-text > *:nth-child(3), .service-block-text > *:nth-child(3).is-anm, .is-anm .service-block-img > *:nth-child(3), .service-block-img > *:nth-child(3).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.service-block-text > *:nth-child(4), .service-block-img > *:nth-child(4) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1s;
  transform: translate(0px, 10px);
}
.is-anm .service-block-text > *:nth-child(4), .service-block-text > *:nth-child(4).is-anm, .is-anm .service-block-img > *:nth-child(4), .service-block-img > *:nth-child(4).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.service-block-text > *:nth-child(5), .service-block-img > *:nth-child(5) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1.2s;
  transform: translate(0px, 10px);
}
.is-anm .service-block-text > *:nth-child(5), .service-block-text > *:nth-child(5).is-anm, .is-anm .service-block-img > *:nth-child(5), .service-block-img > *:nth-child(5).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.service-block-text > *:nth-child(6), .service-block-img > *:nth-child(6) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1.4s;
  transform: translate(0px, 10px);
}
.is-anm .service-block-text > *:nth-child(6), .service-block-text > *:nth-child(6).is-anm, .is-anm .service-block-img > *:nth-child(6), .service-block-img > *:nth-child(6).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.service-block-text > *:nth-child(7), .service-block-img > *:nth-child(7) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1.6s;
  transform: translate(0px, 10px);
}
.is-anm .service-block-text > *:nth-child(7), .service-block-text > *:nth-child(7).is-anm, .is-anm .service-block-img > *:nth-child(7), .service-block-img > *:nth-child(7).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.service-block-text > *:nth-child(8), .service-block-img > *:nth-child(8) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1.8s;
  transform: translate(0px, 10px);
}
.is-anm .service-block-text > *:nth-child(8), .service-block-text > *:nth-child(8).is-anm, .is-anm .service-block-img > *:nth-child(8), .service-block-img > *:nth-child(8).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.service-block-text > *:nth-child(9), .service-block-img > *:nth-child(9) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 2s;
  transform: translate(0px, 10px);
}
.is-anm .service-block-text > *:nth-child(9), .service-block-text > *:nth-child(9).is-anm, .is-anm .service-block-img > *:nth-child(9), .service-block-img > *:nth-child(9).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.service-block-text > *:nth-child(10), .service-block-img > *:nth-child(10) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 2.2s;
  transform: translate(0px, 10px);
}
.is-anm .service-block-text > *:nth-child(10), .service-block-text > *:nth-child(10).is-anm, .is-anm .service-block-img > *:nth-child(10), .service-block-img > *:nth-child(10).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}

.service-block-wrap {
  display: grid;
  row-gap: 1.5em;
  column-gap: 2.5em;
  grid-template-columns: 1fr 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .service-block-wrap {
    row-gap: 0;
    display: block;
    column-gap: 0;
  }
}

.service-block {
  font-size: 1rem;
  padding: 1.5rem;
  height: 100%;
  background: rgba(84, 203, 196, 0.1);
}
@media screen and (max-width: 767px) {
  .service-block {
    height: auto;
    padding: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .service-block:not(:last-of-type) {
    margin-bottom: 2em;
  }
}
.service-block-text {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .service-block-text {
    width: 100%;
  }
}
.service-block-text p {
  line-height: 1.5;
}
.service-block-text-no {
  font-family: "EB Garamond", serif;
  font-weight: 400;
  font-size: 1.6em;
  color: #54CBC4;
}
.service-block-text-no b {
  font-size: 1.875em;
  margin-left: 0.1em;
  font-weight: normal;
}
.service-block-text-title {
  font-size: 2em;
  margin-top: 0.8em;
  line-height: 1.5;
}
.service-block-text-titleEn {
  font-size: 1.2em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  margin-top: 0.3em;
}
.service-block-text-maplink {
  display: inline-flex;
  margin-top: 2em;
  align-items: center;
  align-content: center;
  text-decoration: none;
}
.service-block-text-maplink, .service-block-text-maplink:link, .service-block-text-maplink:visited {
  color: #333;
}
.service-block-text-maplink:hover, .service-block-text-maplink:active {
  text-decoration: none;
  color: #333;
}
.service-block-text-maplink span {
  margin-left: 0.5em;
  font-size: 1.4em;
  display: inline-block;
  text-decoration: underline;
}
.service-block-text-maplink::before {
  content: "";
  display: block;
  width: 2em;
  height: 2em;
  background: url(../img/ss/map_pin.svg) no-repeat center center/contain;
}
.service-block-text-description {
  margin-top: 2em;
  font-size: 1.6em;
  line-height: 1.8 !important;
}
.service-block-text-service {
  margin-top: 2em;
  background: #fff;
  padding: 2em;
}
.service-block-text-service-title {
  font-size: 1.8em;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
  border-bottom: 1px dotted rgba(51, 51, 51, 0.5);
}
.service-block-text-service-contents {
  font-size: 1.6em;
  color: #2b8e88;
}
.service-block-text-service-detail {
  margin-top: 1em;
  font-size: 1.2em;
  letter-spacing: 0;
}
.service-block-text-service-link {
  font-size: 1.2em;
  margin-top: 0.5em;
}
.service-block-text-service-link a {
  text-decoration: none;
  text-decoration: underline;
}
.service-block-text-service-link a, .service-block-text-service-link a:link, .service-block-text-service-link a:visited {
  color: #333;
}
.service-block-text-service-link a:hover, .service-block-text-service-link a:active {
  text-decoration: none;
  color: #333;
}
.service-block-text-service-houhou {
  display: flex;
  margin-top: 1.2em;
  align-items: center;
  align-content: center;
}
.service-block-text-service-houhou span {
  display: inline-block;
}
.service-block-text-service-houhou span:nth-of-type(1) {
  font-size: 1em;
  width: 4.5em;
  line-height: 1.1;
  height: 4.5em;
  display: inline-flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  text-align: center;
  background: #54CBC4;
  color: #fff;
  border-radius: 20rem;
}
.service-block-text-service-houhou span:nth-of-type(2) {
  padding-left: 1em;
  font-size: 1.2em;
  width: calc(100% - 4.5em);
}
.service-block-img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .service-block-img {
    width: 100%;
    order: -1;
    margin-bottom: 2em;
  }
}
.service-block-img-hor img {
  object-fit: cover;
  width: 100%;
  aspect-ratio: 417/285;
}
.service-block-img-ver img {
  object-fit: cover;
  width: 100%;
  aspect-ratio: 226/280;
}
.service-block-img-col1 {
  width: 100%;
  margin-bottom: 5%;
}
.service-block-img-col2 {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.service-block-img-col2 .service-block-img-hor {
  width: 61%;
}
.service-block-img-col2 .service-block-img-ver {
  width: 32%;
}
.service-block-img-col2 figure:nth-of-type(2) {
  margin-top: 8em;
}
@media screen and (max-width: 767px) {
  .service-block-img-col2 figure:nth-of-type(2) {
    margin-top: 3em;
  }
}

.stay-block-text > *:nth-child(1), .stay-block-img > *:nth-child(1) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.4s;
  transform: translate(0px, 10px);
}
.is-anm .stay-block-text > *:nth-child(1), .stay-block-text > *:nth-child(1).is-anm, .is-anm .stay-block-img > *:nth-child(1), .stay-block-img > *:nth-child(1).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.stay-block-text > *:nth-child(2), .stay-block-img > *:nth-child(2) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.6s;
  transform: translate(0px, 10px);
}
.is-anm .stay-block-text > *:nth-child(2), .stay-block-text > *:nth-child(2).is-anm, .is-anm .stay-block-img > *:nth-child(2), .stay-block-img > *:nth-child(2).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.stay-block-text > *:nth-child(3), .stay-block-img > *:nth-child(3) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 0.8s;
  transform: translate(0px, 10px);
}
.is-anm .stay-block-text > *:nth-child(3), .stay-block-text > *:nth-child(3).is-anm, .is-anm .stay-block-img > *:nth-child(3), .stay-block-img > *:nth-child(3).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.stay-block-text > *:nth-child(4), .stay-block-img > *:nth-child(4) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1s;
  transform: translate(0px, 10px);
}
.is-anm .stay-block-text > *:nth-child(4), .stay-block-text > *:nth-child(4).is-anm, .is-anm .stay-block-img > *:nth-child(4), .stay-block-img > *:nth-child(4).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.stay-block-text > *:nth-child(5), .stay-block-img > *:nth-child(5) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1.2s;
  transform: translate(0px, 10px);
}
.is-anm .stay-block-text > *:nth-child(5), .stay-block-text > *:nth-child(5).is-anm, .is-anm .stay-block-img > *:nth-child(5), .stay-block-img > *:nth-child(5).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.stay-block-text > *:nth-child(6), .stay-block-img > *:nth-child(6) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1.4s;
  transform: translate(0px, 10px);
}
.is-anm .stay-block-text > *:nth-child(6), .stay-block-text > *:nth-child(6).is-anm, .is-anm .stay-block-img > *:nth-child(6), .stay-block-img > *:nth-child(6).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.stay-block-text > *:nth-child(7), .stay-block-img > *:nth-child(7) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1.6s;
  transform: translate(0px, 10px);
}
.is-anm .stay-block-text > *:nth-child(7), .stay-block-text > *:nth-child(7).is-anm, .is-anm .stay-block-img > *:nth-child(7), .stay-block-img > *:nth-child(7).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.stay-block-text > *:nth-child(8), .stay-block-img > *:nth-child(8) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 1.8s;
  transform: translate(0px, 10px);
}
.is-anm .stay-block-text > *:nth-child(8), .stay-block-text > *:nth-child(8).is-anm, .is-anm .stay-block-img > *:nth-child(8), .stay-block-img > *:nth-child(8).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.stay-block-text > *:nth-child(9), .stay-block-img > *:nth-child(9) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 2s;
  transform: translate(0px, 10px);
}
.is-anm .stay-block-text > *:nth-child(9), .stay-block-text > *:nth-child(9).is-anm, .is-anm .stay-block-img > *:nth-child(9), .stay-block-img > *:nth-child(9).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.stay-block-text > *:nth-child(10), .stay-block-img > *:nth-child(10) {
  opacity: 0;
  transition-property: all;
  transition-duration: 1s;
  transition-delay: 2.2s;
  transform: translate(0px, 10px);
}
.is-anm .stay-block-text > *:nth-child(10), .stay-block-text > *:nth-child(10).is-anm, .is-anm .stay-block-img > *:nth-child(10), .stay-block-img > *:nth-child(10).is-anm {
  opacity: 1;
  transform: translate(0, 0);
}
.stay-block-text figure, .stay-block-img figure {
  position: relative;
}
.stay-block-text figure figcaption, .stay-block-img figure figcaption {
  position: absolute;
  right: 5px;
  bottom: 5px;
  color: #fff;
  font-size: 12px;
}

.stay-block {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  font-size: 1rem;
}
.stay-block:not(:last-of-type) {
  margin-bottom: 10%;
}
@media screen and (max-width: 767px) {
  .stay-block:not(:last-of-type) {
    margin-bottom: 30%;
  }
}
.stay-block-text {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .stay-block-text {
    width: 100%;
  }
}
.stay-block-text p {
  line-height: 1.5;
}
.stay-block-text-no {
  font-family: "EB Garamond", serif;
  font-weight: 400;
  font-size: 1.6em;
  color: #54CBC4;
}
.stay-block-text-no b {
  font-size: 1.875em;
  margin-left: 0.1em;
  font-weight: normal;
}
.stay-block-text-title {
  font-size: 3em;
  line-height: 1.5;
}
.stay-block-text-titleEn {
  font-size: 1.4em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  margin-top: 0.3em;
}
.stay-block-text-maplink {
  display: inline-flex;
  margin-top: 4em;
  align-items: center;
  align-content: center;
  text-decoration: none;
}
.stay-block-text-maplink, .stay-block-text-maplink:link, .stay-block-text-maplink:visited {
  color: #333;
}
.stay-block-text-maplink:hover, .stay-block-text-maplink:active {
  text-decoration: none;
  color: #333;
}
.stay-block-text-maplink span {
  margin-left: 0.5em;
  font-size: 1.4em;
  display: inline-block;
  text-decoration: underline;
}
.stay-block-text-maplink::before {
  content: "";
  display: block;
  width: 2em;
  height: 2em;
  background: url(../img/ss/map_pin.svg) no-repeat center center/contain;
}
.stay-block-text-description {
  margin-top: 2em;
  font-size: 1.6em;
  line-height: 1.8 !important;
}
.stay-block-text-service {
  margin-top: 5em;
  background: rgba(84, 203, 196, 0.1);
  padding: 2.5em;
  display: inline-block;
  min-width: 50%;
}
@media screen and (max-width: 767px) {
  .stay-block-text-service {
    width: 100%;
  }
}
.stay-block-text-service-title {
  font-size: 1.8em;
  padding-bottom: 0.5em;
  margin-bottom: 1em;
  border-bottom: 1px dotted rgba(51, 51, 51, 0.5);
}
.stay-block-text-service-contents {
  font-size: 1.8em;
}
.stay-block-text-service-detail {
  margin-top: 1em;
  font-size: 1.4em;
  letter-spacing: 0;
}
.stay-block-text-service-link {
  font-size: 1.4em;
  margin-top: 0.5em;
}
.stay-block-text-service-link a {
  text-decoration: underline;
  text-decoration: none;
}
.stay-block-text-service-link a, .stay-block-text-service-link a:link, .stay-block-text-service-link a:visited {
  color: #333;
}
.stay-block-text-service-link a:hover, .stay-block-text-service-link a:active {
  text-decoration: none;
  color: #333;
}
.stay-block-text-service-houhou {
  display: flex;
  margin-top: 1.5em;
  align-items: center;
  align-content: center;
}
.stay-block-text-service-houhou span {
  display: inline-block;
}
.stay-block-text-service-houhou span:nth-of-type(1) {
  font-size: 1.2em;
  width: 4.5em;
  line-height: 1.1;
  height: 4.5em;
  display: inline-flex;
  align-items: center;
  align-content: center;
  justify-content: center;
  text-align: center;
  background: #fff;
  border-radius: 20rem;
}
.stay-block-text-service-houhou span:nth-of-type(2) {
  padding-left: 1em;
  font-size: 1.6em;
  width: calc(100% - 4.5em);
}
.stay-block-img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .stay-block-img {
    width: 100%;
    order: -1;
    margin-bottom: 2em;
  }
}
.stay-block-img-hor img {
  object-fit: cover;
  width: 100%;
  aspect-ratio: 417/285;
}
.stay-block-img-ver img {
  object-fit: cover;
  width: 100%;
  aspect-ratio: 226/280;
}
.stay-block-img-col1 {
  width: 100%;
}
.stay-block-img-col1 .stay-block-img-hor img {
  aspect-ratio: 417/185;
}
@media screen and (max-width: 767px) {
  .stay-block-img-col1 .stay-block-img-hor img {
    aspect-ratio: 417/235;
  }
}
.stay-block-img-col2 {
  width: 80%;
  display: flex;
  justify-content: space-between;
  margin-top: 3%;
}
.stay-block-img-col2 .stay-block-img-hor {
  width: 61%;
}
.stay-block-img-col2 .stay-block-img-ver {
  width: 32%;
}
.stay-block-img-col2 figure:nth-of-type(2) {
  margin-top: 8em;
}
@media screen and (max-width: 767px) {
  .stay-block-img-col2 figure:nth-of-type(2) {
    margin-top: 3em;
  }
}

.headTopic {
  width: 100%;
  font-size: 1.3rem;
  text-align: center;
  color: #fff;
  letter-spacing: 0.1em;
  background: #a69331;
  padding: 0.5em 0;
  line-height: 1;
  transform: translateY(-100%);
  transition: all 0.5s;
  transition-delay: 0.3s;
}
.headTopic p {
  line-height: 1;
}
.is-anm .headTopic {
  transform: translateY(0);
}
.headTopic .close {
  position: absolute;
  left: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 1.2rem;
  height: 1.2rem;
}
.headTopic .close::before, .headTopic .close::after {
  position: absolute;
  left: 0;
  top: 50%;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #fff;
}
.headTopic .close::before {
  transform: rotate(45deg);
}
.headTopic .close::after {
  transform: rotate(-45deg);
}

.launch-page {
  width: 100%;
  padding: 0;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .launch-page {
    padding: 0;
  }
}

.launch-page {
  width: 100%;
  background: #fff;
}
.launch-page:not(:first-of-type) {
  margin-top: 5rem;
}
.launch-page-inner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
}
.launch-page-img {
  width: 100%;
}
.launch-page-img img {
  aspect-ratio: 2.5;
  width: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .launch-page-img img {
    aspect-ratio: 2;
  }
}
.launch-page-lead {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  text-align: center;
  padding: 2rem 0 5rem;
}
.launch-page-lead h4 {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 40px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 1099px) {
  .launch-page-lead h4 {
    font-size: 3.6vw;
  }
}
@media screen and (max-width: 767px) {
  .launch-page-lead h4 {
    font-size: 9vw;
  }
}
.launch-page-lead p {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  .launch-page-lead p {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .launch-page-lead p {
    font-size: 3.6vw;
  }
}
.launch-page-lead .caption {
  font-size: 1.6rem;
}
.launch-page-lead .caption span {
  font-weight: bold;
  display: inline-block;
}
.launch-page-lead .caption span:not(:first-of-type)::before {
  content: "　|　";
}
@media screen and (max-width: 767px) {
  .launch-page-lead .caption span:not(:first-of-type)::before {
    content: none;
  }
}

#yamuchin {
  --color-key: rgb(197 166 59);
}
#yamuchin .yamuchin-img-sub {
  display: flex;
  margin-bottom: 3rem;
}
#yamuchin .yamuchin-img-sub > div {
  width: 50%;
}
#yamuchin .yamuchin-img-sub > div p {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  line-height: 1.3;
  text-align: center;
  letter-spacing: 0;
}
@media screen and (max-width: 1099px) {
  #yamuchin .yamuchin-img-sub > div p {
    font-size: 1.8vw;
  }
}
@media screen and (max-width: 767px) {
  #yamuchin .yamuchin-img-sub > div p {
    font-size: 4.5vw;
  }
}
@media screen and (max-width: 767px) {
  #yamuchin .yamuchin-img-sub > div p {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) and (max-width: 1099px) {
  #yamuchin .yamuchin-img-sub > div p {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  #yamuchin .yamuchin-img-sub > div p {
    font-size: 3.6vw;
  }
}
#yamuchin .yamuchin-img-sub > div p span {
  color: #333;
}
#yamuchin .yamuchin-img-sub > div p b {
  font-size: 2em;
  font-weight: normal;
}
#yamuchin .yamuchin-img-sub > div:nth-of-type(1) p b {
  color: #1898e7;
}
#yamuchin .yamuchin-img-sub > div:nth-of-type(2) p b {
  color: #987911;
}
#yamuchin .yamuchin-img-sub figure {
  width: 100%;
}
#yamuchin .yamuchin-img-sub figure img {
  width: 100%;
  object-fit: cover;
  aspect-ratio: 1;
}
#yamuchin .yamuchin-menu-title {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  letter-spacing: 0.5em;
  text-align: center;
  margin: 2em 0;
  font-family: "EB Garamond", serif;
  font-weight: 400;
}
@media screen and (max-width: 1099px) {
  #yamuchin .yamuchin-menu-title {
    font-size: 2.16vw;
  }
}
@media screen and (max-width: 767px) {
  #yamuchin .yamuchin-menu-title {
    font-size: 5.4vw;
  }
}
#yamuchin .yamuchin-menu-page-title {
  text-align: center;
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  #yamuchin .yamuchin-menu-page-title {
    font-size: 2.16vw;
  }
}
@media screen and (max-width: 767px) {
  #yamuchin .yamuchin-menu-page-title {
    font-size: 5.4vw;
  }
}
#yamuchin .yamuchin-present {
  text-align: center;
  background: var(--color-key);
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #fff;
  padding: 0.3em 0;
}
@media screen and (max-width: 1099px) {
  #yamuchin .yamuchin-present {
    font-size: 1.8vw;
  }
}
@media screen and (max-width: 767px) {
  #yamuchin .yamuchin-present {
    font-size: 4.5vw;
  }
}
#yamuchin .menu-block-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 2em;
  column-gap: 3em;
}
@media screen and (max-width: 767px) {
  #yamuchin .menu-block-wrap {
    grid-template-columns: 1fr;
  }
}
#yamuchin .menu-block.option {
  padding: 1.5em;
  border: 1px solid rgba(0, 0, 0, 0.1);
}
#yamuchin .menu-block .option-title {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  padding: 0.3em;
  line-height: 1;
  margin-bottom: 0.3em;
  color: var(--color-key);
  background: rgba(197, 166, 59, 0.2);
}
@media screen and (max-width: 1099px) {
  #yamuchin .menu-block .option-title {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  #yamuchin .menu-block .option-title {
    font-size: 3.6vw;
  }
}
#yamuchin .menu-block .menu-block-text .menu-block-title {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: var(--color-key);
}
@media screen and (max-width: 1099px) {
  #yamuchin .menu-block .menu-block-text .menu-block-title {
    font-size: 1.8vw;
  }
}
@media screen and (max-width: 767px) {
  #yamuchin .menu-block .menu-block-text .menu-block-title {
    font-size: 4.5vw;
  }
}
#yamuchin .menu-block .menu-block-text .menu-block-contents {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  #yamuchin .menu-block .menu-block-text .menu-block-contents {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  #yamuchin .menu-block .menu-block-text .menu-block-contents {
    font-size: 3.6vw;
  }
}
#yamuchin .menu-block .menu-block-price {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  display: inline-flex;
}
@media screen and (max-width: 1099px) {
  #yamuchin .menu-block .menu-block-price {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  #yamuchin .menu-block .menu-block-price {
    font-size: 3.6vw;
  }
}
#yamuchin .menu-block .menu-block-price-time {
  margin-right: 0.5em;
}
#yamuchin .menu-block .menu-block-price-time::after {
  content: "";
}
#yamuchin .menu-block .menu-block-price-num::after {
  content: "円（税込）";
}
#yamuchin .yamuchin-info {
  margin-top: 3rem;
  background: #f9f9f9;
  display: flex;
  padding: 3rem;
  justify-content: center;
  align-content: flex-start;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  #yamuchin .yamuchin-info {
    display: block;
    padding: 2rem;
  }
}
#yamuchin .yamuchin-info > div:last-of-type {
  padding-left: 2em;
  margin-left: 2em;
  border-left: 1px solid rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 767px) {
  #yamuchin .yamuchin-info > div:last-of-type {
    padding-left: 0;
    margin-left: 0;
    border-left: none;
    padding-top: 2em;
    margin-top: 2em;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
  }
}
#yamuchin .yamuchin-info-reserve-title {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 1099px) {
  #yamuchin .yamuchin-info-reserve-title {
    font-size: 1.62vw;
  }
}
@media screen and (max-width: 767px) {
  #yamuchin .yamuchin-info-reserve-title {
    font-size: 4.05vw;
  }
}
#yamuchin .yamuchin-info-reserve-text {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 1099px) {
  #yamuchin .yamuchin-info-reserve-text {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  #yamuchin .yamuchin-info-reserve-text {
    font-size: 3.15vw;
  }
}
#yamuchin .yamuchin-info-contact p {
  text-align: center;
}
#yamuchin .yamuchin-info-contact-title {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 1099px) {
  #yamuchin .yamuchin-info-contact-title {
    font-size: 1.62vw;
  }
}
@media screen and (max-width: 767px) {
  #yamuchin .yamuchin-info-contact-title {
    font-size: 4.05vw;
  }
}
#yamuchin .yamuchin-info-contact-name {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  #yamuchin .yamuchin-info-contact-name {
    font-size: 1.62vw;
  }
}
@media screen and (max-width: 767px) {
  #yamuchin .yamuchin-info-contact-name {
    font-size: 4.05vw;
  }
}
#yamuchin .yamuchin-info-contact-tel {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  #yamuchin .yamuchin-info-contact-tel {
    font-size: 1.62vw;
  }
}
@media screen and (max-width: 767px) {
  #yamuchin .yamuchin-info-contact-tel {
    font-size: 4.05vw;
  }
}
#yamuchin .yamuchin-info-contact-time {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  #yamuchin .yamuchin-info-contact-time {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  #yamuchin .yamuchin-info-contact-time {
    font-size: 3.15vw;
  }
}

.price-table {
  font-size: 1.2rem;
}
.price-table table, .price-table td, .price-table th {
  color: #555;
  border: 1px solid #fff;
}
.price-table th {
  background: #eee;
}
.price-table td {
  background: #fff;
}
.price-table table {
  width: 100%;
}
.price-table th, .price-table td {
  text-align: center;
  padding: 3px 0;
  font-weight: normal;
}
.price-table th span, .price-table td span {
  display: inline-block;
  white-space: nowrap;
}

.rooms-plan {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .rooms-plan {
    grid-template-columns: 1fr;
  }
}
.rooms-plan figure figcaption {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1099px) {
  .rooms-plan figure figcaption {
    font-size: 1.44vw;
  }
}
@media screen and (max-width: 767px) {
  .rooms-plan figure figcaption {
    font-size: 3.6vw;
  }
}

.feature-inner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1400px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5%;
}
@media screen and (max-width: 767px) {
  .feature-inner {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.feature-block:nth-of-type(2) {
  margin-top: 10%;
}
@media screen and (max-width: 767px) {
  .feature-block:nth-of-type(2) {
    margin-top: 0;
  }
}
.feature-block:nth-of-type(3) {
  margin-top: 20%;
}
@media screen and (max-width: 767px) {
  .feature-block:nth-of-type(3) {
    margin-top: 0;
  }
}
.feature-block-img img {
  aspect-ratio: 1.6;
  object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .feature-block-img img {
    aspect-ratio: 1.2;
  }
}
.feature-block-text {
  padding-top: 1rem;
}
.spots > .inner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
}
.spots-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .spots-list {
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
  }
}

.feat {
  width: 100%;
  padding: 8rem 0 14rem;
  background: #9c557e;
}
@media screen and (max-width: 767px) {
  .feat {
    padding: 5rem 0 5rem;
  }
}
.feat > h4 {
  font-weight: normal;
  color: #fff;
  margin: 0 auto 5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .feat > h4 {
    font-size: 2.4rem;
  }
}
.feat .section-inner {
  width: 96%;
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.feat-block {
  background: #fff;
}
.feat-block a {
  text-decoration: none;
}
.feat-block .inner {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .feat-block .inner {
    margin-bottom: 0;
    height: 100%;
    position: relative;
  }
}
.feat-block figure {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .feat-block figure {
    width: 100%;
  }
}
.feat-block figure img {
  aspect-ratio: 1.5;
  height: auto;
  object-fit: cover;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .feat-block figure img {
    aspect-ratio: 1.5;
  }
}
.feat-block .text {
  width: 100%;
  padding: 2rem;
  z-index: 1;
  margin: 0 auto 0;
  color: #333;
  min-height: 13rem;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .feat-block .text {
    width: 100%;
    min-height: unset;
    position: static;
    padding: 1.3rem 1rem;
    right: auto;
    bottom: auto;
    margin-top: -2px;
  }
}
.feat-block .text .title-en {
  font-size: 1.4rem;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  text-transform: uppercase;
  margin-bottom: 1rem;
  letter-spacing: 0.07em;
  color: #9d557e;
}
.feat-block .text h5 {
  font-size: 2.2rem;
  font-weight: normal;
  margin-bottom: 2.6rem;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .feat-block .text h5 {
    font-size: 1.6rem;
  }
}
.feat-block .text h5 small {
  font-size: 0.7em;
}
.feat-block .text dl {
  display: inline-flex;
  flex-wrap: wrap;
  font-size: 1.8rem;
  padding: 0 1em;
}
@media screen and (max-width: 767px) {
  .feat-block .text dl {
    padding: 0 0.3em;
  }
}
.feat-block .text dl dt {
  width: 2em;
}
.feat-block .text dl dt img.icon-train {
  width: 60%;
}
.feat-block .text dl dt img.icon-car {
  width: 100%;
}
.feat-block .text dl dd {
  width: calc(100% - 2em);
  text-align: left;
  padding-left: 0.5em;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
}
.feat-block .text dl dd small {
  font-size: 0.7em;
  margin-top: 0.5em;
  line-height: 1.3;
}
.feat-block .text dl dt:not(:last-of-type), .feat-block .text dl dd:not(:last-of-type) {
  margin-bottom: 1em;
}
.feat-block .text p small {
  font-size: 0.7em;
}
.feat-block .text .more {
  width: 100%;
  text-align: center;
}
.feat-block .text .more span {
  display: inline-block;
  margin-top: 2rem;
  text-decoration: none;
  font-size: 1.2rem;
  margin-left: auto;
  color: #333;
}
@media screen and (max-width: 767px) {
  .feat-block .text .more span {
    font-size: 1rem;
  }
}

.groupHotels {
  width: 100%;
  background: #ffffff;
}

.cmnCv {
  width: 100%;
  position: relative;
  z-index: 0;
  margin-top: 5rem;
}
.cmnCv::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
  background: rgba(0, 0, 0, 0.7);
}
.cmnCv::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -2;
  background: url(../img/facade/09.jpg) no-repeat center center/cover;
}
.cmnCv .inner {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1100px;
  padding: 16rem 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .cmnCv .inner {
    display: block;
    padding: 10rem 0;
  }
}
.cmnCv .inner::before {
  content: "";
  display: block;
  width: 1px;
  height: 50%;
  background: #fff;
  opacity: 0.3;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .cmnCv .inner::before {
    content: none;
  }
}
.cmnCv-reserve, .cmnCv-contact {
  text-align: center;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .cmnCv-reserve, .cmnCv-contact {
    font-size: 1.8rem;
  }
}
.cmnCv-reserve span, .cmnCv-reserve a, .cmnCv-reserve b, .cmnCv-reserve small, .cmnCv-contact span, .cmnCv-contact a, .cmnCv-contact b, .cmnCv-contact small {
  color: #fff;
  display: block;
  text-align: center;
}
.cmnCv-reserve b, .cmnCv-reserve a, .cmnCv-contact b, .cmnCv-contact a {
  font-weight: normal;
}
.cmnCv-reserve a {
  text-decoration: none;
  font-size: 1.1em;
  background: #002754;
  margin-top: 1.8rem;
  border-radius: 5;
  padding: 0.7em 0;
  max-width: 13em;
  margin-left: auto;
  margin-right: auto;
}
.cmnCv-reserve a, .cmnCv-reserve a:link, .cmnCv-reserve a:visited {
  color: #fff;
}
.cmnCv-reserve a:hover, .cmnCv-reserve a:active {
  text-decoration: none;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .cmnCv-reserve {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding-bottom: 3rem;
    margin-bottom: 3rem;
  }
}
.cmnCv-contact b {
  font-size: 2.3em;
  margin-top: 1.8rem;
  font-family: "EB Garamond", serif;
  font-weight: 400;
}
.cmnCv-contact small {
  font-size: 0.7em;
  margin-top: 1.2rem;
}

.top-intro {
  position: relative;
}
.top-intro-inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .top-intro-inner {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    max-width: 1100px;
  }
}
.top-intro-map {
  position: absolute;
  width: 65%;
  top: -65%;
  left: 9%;
}
@media screen and (max-width: 767px) {
  .top-intro-map {
    display: none;
  }
}
.top-intro-img01 {
  width: 29%;
}
@media screen and (max-width: 767px) {
  .top-intro-img01 {
    width: 45%;
    order: -2;
  }
}
.top-intro-img01 img {
  width: 100%;
  aspect-ratio: 1.2;
  object-fit: cover;
}
.top-intro-img02 {
  width: 27%;
  margin-top: 5%;
}
@media screen and (max-width: 767px) {
  .top-intro-img02 {
    width: 45%;
    order: -1;
  }
}
.top-intro-img02 img {
  width: 100%;
  aspect-ratio: 0.7;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .top-intro-img02 img {
    aspect-ratio: 1.1;
  }
}
.top-intro-text {
  width: 30%;
  margin-top: 10%;
}
@media screen and (max-width: 767px) {
  .top-intro-text {
    width: 100%;
  }
}
.top-intro-text-en {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  font-family: "EB Garamond", serif;
  font-weight: 400;
  margin-bottom: 1em;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1099px) {
  .top-intro-text-en {
    font-size: 1.26vw;
  }
}
@media screen and (max-width: 767px) {
  .top-intro-text-en {
    font-size: 3.15vw;
  }
}
.top-intro-text-text {
  text-align: justify;
}

.top-villa {
  position: relative;
  z-index: 0;
}
.top-villa::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 50%;
  height: 80%;
  top: 0%;
  position: absolute;
  background: #adc0c3;
  z-index: -2;
  opacity: 0.3;
}
.top-villa::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  left: 5%;
  width: 40%;
  height: 40%;
  top: 5%;
  position: absolute;
  opacity: 0.5;
  background: url(../img/cmn/hibiscus.svg) no-repeat center center;
}
.top-villa-inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .top-villa-inner {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    max-width: 1100px;
  }
}
.top-villa-map {
  position: absolute;
  width: 65%;
  top: -42%;
  left: 9%;
}
.top-villa-img01 {
  width: 29%;
  margin-top: 10%;
}
@media screen and (max-width: 767px) {
  .top-villa-img01 {
    width: 45%;
    margin-top: 5%;
    order: -2;
  }
}
.top-villa-img01 img {
  width: 100%;
  aspect-ratio: 1.2;
  object-fit: cover;
}
.top-villa-img02 {
  width: 27%;
}
@media screen and (max-width: 767px) {
  .top-villa-img02 {
    width: 45%;
    order: -1;
  }
}
.top-villa-img02 img {
  width: 100%;
  aspect-ratio: 1.1;
  object-fit: cover;
}
.top-villa-text {
  width: 30%;
  margin-top: 10%;
}
@media screen and (max-width: 767px) {
  .top-villa-text {
    width: 100%;
  }
}
.top-villa-text-text {
  text-align: justify;
}

.stay-container {
  width: 96%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
}
.stay-container b {
  font-weight: normal;
}
.stay-container .stay-villa-main {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.stay-container .stay-villa-main figure {
  width: 60%;
}
@media screen and (max-width: 767px) {
  .stay-container .stay-villa-main figure {
    width: 100%;
  }
}
.stay-container .stay-villa-main .stay-section-title {
  width: 40%;
  padding: 5%;
}
@media screen and (max-width: 767px) {
  .stay-container .stay-villa-main .stay-section-title {
    width: 100%;
  }
}
.stay-container .stay-villa-block-img {
  margin-top: 8rem;
  display: flex;
  gap: 5%;
}
@media screen and (max-width: 767px) {
  .stay-container .stay-villa-block-img {
    margin-top: 3rem;
  }
}
.stay-container .stay-villa-block-img figure img {
  aspect-ratio: 1;
  object-fit: cover;
}
.stay-container .stay-villa-block-img figure:nth-of-type(1) {
  margin-top: -2%;
}
.stay-container .stay-villa-block-img figure:nth-of-type(2) {
  margin-top: 1%;
}
.stay-container .stay-villa-block-img figure:nth-of-type(3) {
  margin-top: -1%;
}
.stay-container .stay-villa-block-img figure:nth-of-type(4) {
  margin-top: 3%;
}
.stay-container .stay-villa-sub .inner {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 4rem;
}
@media screen and (max-width: 767px) {
  .stay-container .stay-villa-sub .inner {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
}
/*# sourceMappingURL=style.css.map */
