@charset "UTF-8";
/*
Theme Name: ALLPAR
Description: 北海道北広島市のFビレッジ内にあるグランピング施設ALLPAR
Version: 1.0
Author: ALLPAR
Author URI: http://example.com
*/
html {
  overflow-x: hidden;
}

body {
  font-family: 'Roboto','Noto Sans JP','Meiryo','Hiragino Kaku Gothic ProN',sans-serif;
  color: #000;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-overflow-scrolling: touch;
  font-size: 1.4rem;
  letter-spacing: 0;
  font-weight: 300;
  line-height: 1.6;
}

.home {
  background: #C63527;
}

.backhide {
  overflow: hidden;
}

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

.pcblock {
  display: block;
}

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

.spbr {
  display: none;
}

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

.fade {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: opacity 1.8s, -webkit-transform 1s;
  transition: opacity 1.8s, -webkit-transform 1s;
  transition: opacity 1.8s, transform 1s;
  transition: opacity 1.8s, transform 1s, -webkit-transform 1s;
}

.fade.active {
  opacity: 1;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}

.fadeleft {
  opacity: 0;
  -webkit-transform: translate3d(-30%, 0, 0);
          transform: translate3d(-30%, 0, 0);
  -webkit-transition: opacity 1.8s, -webkit-transform 1.3s;
  transition: opacity 1.8s, -webkit-transform 1.3s;
  transition: opacity 1.8s, transform 1.3s;
  transition: opacity 1.8s, transform 1.3s, -webkit-transform 1.3s;
}

.fadeleft.active {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.faderight {
  opacity: 0;
  -webkit-transform: translate3d(30%, 0, 0);
          transform: translate3d(30%, 0, 0);
  -webkit-transition: opacity 1.8s, -webkit-transform 1.3s;
  transition: opacity 1.8s, -webkit-transform 1.3s;
  transition: opacity 1.8s, transform 1.3s;
  transition: opacity 1.8s, transform 1.3s, -webkit-transform 1.3s;
}

.faderight.active {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.slidein {
  -webkit-animation: SlideIn 2.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
          animation: SlideIn 2.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@-webkit-keyframes SlideIn {
  0% {
    -webkit-transform: translateX(-180px);
            transform: translateX(-180px);
    opacity: 0;
  }
  30% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  30%, 100% {
    opacity: 1;
  }
}

@keyframes SlideIn {
  0% {
    -webkit-transform: translateX(-180px);
            transform: translateX(-180px);
    opacity: 0;
  }
  30% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  30%, 100% {
    opacity: 1;
  }
}

.bg-wrap {
  overflow: hidden;
  opacity: 0;
}

.bg-wrap .inn {
  opacity: 0;
  -webkit-transform: matrix(1, 0, 0, 1, 0, 100);
          transform: matrix(1, 0, 0, 1, 0, 100);
  -webkit-transition: 0.8s cubic-bezier(0.03, 1, 0.77, 1);
  transition: 0.8s cubic-bezier(0.03, 1, 0.77, 1);
}

.bg-wrap.is_animated {
  opacity: 1;
}

.bg-wrap.is_animated .inn {
  opacity: 1;
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
          transform: matrix(1, 0, 0, 1, 0, 0);
}

@media (min-width: 767px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

a {
  color: #000;
}

a:visited {
  color: #636363;
}

h1 {
  line-height: 1;
}

.top_header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}

.top_header-in {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0px 34px 0;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .top_header-in {
    width: 100%;
    background: #fff;
    height: 64px;
    top: 0;
    z-index: 15;
    position: fixed;
  }
}

.top_header .logo_content {
  position: absolute;
  top: 30px;
  left: 34px;
  z-index: 999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 297px;
  background-color: #fff;
  padding: 8px;
  border-radius: 50px;
}

@media screen and (max-width: 1080px) {
  .top_header .logo_content {
    left: 10px;
  }
}

@media screen and (max-width: 767px) {
  .top_header .logo_content {
    background: none;
    width: auto;
    top: 0;
  }
}

.top_header .logo_content h1 img {
  width: 130px;
}

.top_header .header_content {
  position: fixed;
  top: 30px;
  right: 34px;
  z-index: 999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background-color: #fff;
  -webkit-transition: background-color .4s ease;
  transition: background-color .4s ease;
  padding: 15px 18px 15px 43px;
  border-radius: 40px;
}

@media screen and (max-width: 1080px) {
  .top_header .header_content {
    right: 10px;
  }
}

@media screen and (max-width: 767px) {
  .top_header .header_content {
    right: 0;
    top: 0;
    background: none;
  }
}

.top_header .header_content .reserve_btn {
  background: #C63527;
  font-weight: 400;
  border-radius: 20px;
  padding: 5px 20px;
  color: #fff;
  -webkit-transition: border-color .4s ease, background-color .4s ease, color .4s ease, opacity .4s ease, visibility .4s ease;
  transition: border-color .4s ease, background-color .4s ease, color .4s ease, opacity .4s ease, visibility .4s ease;
  letter-spacing: 0.4px;
  font-size: 14px;
}

.top_header .header_content-instalink {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 30px;
}

@media screen and (max-width: 767px) {
  .top_header .header_content-instalink {
    margin-left: 12px;
  }
}

.top_header .header_content-instalink-ico {
  width: 30px;
}

.hm_btn {
  z-index: 21;
  position: relative;
  width: 27px;
  height: 30px;
  -webkit-transition: -webkit-transform .4s ease;
  transition: -webkit-transform .4s ease;
  transition: transform .4s ease;
  transition: transform .4s ease, -webkit-transform .4s ease;
  margin-left: 30px;
  padding: 15px 20px;
  margin-right: 34px;
}

@media screen and (max-width: 767px) {
  .hm_btn {
    margin-right: 0;
    margin-left: 12px;
  }
}

.hm_btn div[class^="Button-Line"] {
  position: absolute;
  right: 0;
  left: 0;
  display: block;
  width: 20px;
  height: 1px;
  margin: auto;
  opacity: 1;
  background-color: #000;
  -webkit-transition: background-color .4s ease, top .25s .25s ease, opacity .25s ease, width .25s ease, -webkit-transform .25s ease;
  transition: background-color .4s ease, top .25s .25s ease, opacity .25s ease, width .25s ease, -webkit-transform .25s ease;
  transition: background-color .4s ease, top .25s .25s ease, opacity .25s ease, transform .25s ease, width .25s ease;
  transition: background-color .4s ease, top .25s .25s ease, opacity .25s ease, transform .25s ease, width .25s ease, -webkit-transform .25s ease;
}

.hm_btn .Button-Line__Top {
  top: 0;
}

.hm_btn .Button-Line__Medium {
  top: 6.5px;
}

.hm_btn .Button-Line__Bottom {
  top: 13px;
}

.hm_btn-menu {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  display: inline-block;
  margin: auto;
  font-family: 'Jost', sans-serif;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  font-size: 10px;
  color: #000;
  text-align: center;
  -webkit-transition: color .4s ease, opacity .4s ease, -webkit-transform .4s ease;
  transition: color .4s ease, opacity .4s ease, -webkit-transform .4s ease;
  transition: color .4s ease, opacity .4s ease, transform .4s ease;
  transition: color .4s ease, opacity .4s ease, transform .4s ease, -webkit-transform .4s ease;
}

.hm_btn.active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.hm_btn.active .Button-Line__Top {
  top: 0px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: color .4s ease, opacity .4s ease, -webkit-transform .4s ease;
  transition: color .4s ease, opacity .4s ease, -webkit-transform .4s ease;
  transition: color .4s ease, opacity .4s ease, transform .4s ease;
  transition: color .4s ease, opacity .4s ease, transform .4s ease, -webkit-transform .4s ease;
}

.hm_btn.active .Button-Line__Medium {
  opacity: 0;
  -webkit-transition: color .4s ease, opacity .4s ease, -webkit-transform .4s ease;
  transition: color .4s ease, opacity .4s ease, -webkit-transform .4s ease;
  transition: color .4s ease, opacity .4s ease, transform .4s ease;
  transition: color .4s ease, opacity .4s ease, transform .4s ease, -webkit-transform .4s ease;
}

.hm_btn.active .Button-Line__Bottom {
  top: 0px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition: color .4s ease, opacity .4s ease, -webkit-transform .4s ease;
  transition: color .4s ease, opacity .4s ease, -webkit-transform .4s ease;
  transition: color .4s ease, opacity .4s ease, transform .4s ease;
  transition: color .4s ease, opacity .4s ease, transform .4s ease, -webkit-transform .4s ease;
}

.nav_menu-content {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 20;
  width: 80%;
  height: 100vh;
  background-color: #fff;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  /* 追加 */
}

@media screen and (max-width: 767px) {
  .nav_menu-content {
    width: 100%;
  }
}

.nav_menu-content .nav_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  height: 100%;
}

.nav_menu-content .nav_wrap .nav_in {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: calc(100% - 30%);
  height: 100%;
  background-color: #fff;
  -webkit-transform: translate(100px, 0);
          transform: translate(100px, 0);
  -webkit-transition: opacity 0s .4s ease, -webkit-transform 0s .4s ease;
  transition: opacity 0s .4s ease, -webkit-transform 0s .4s ease;
  transition: opacity 0s .4s ease, transform 0s .4s ease;
  transition: opacity 0s .4s ease, transform 0s .4s ease, -webkit-transform 0s .4s ease;
  overflow: hidden;
}

@media screen and (max-width: 1080px) {
  .nav_menu-content .nav_wrap .nav_in {
    width: calc(100% - 20%);
  }
}

@media screen and (max-width: 1080px) {
  .nav_menu-content .nav_wrap .nav_in {
    width: 100%;
    -webkit-transform: translate(20px, 0);
            transform: translate(20px, 0);
  }
}

.nav_menu-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .nav_menu-list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.nav_menu-list li a {
  font-weight: 400;
  color: #000;
}

@media screen and (max-width: 767px) {
  .nav_menu-list li a {
    display: block;
    margin-bottom: 12px;
    line-height: 1.2;
  }
}

.nav_menu-list li a span {
  display: block;
  font-size: 0.8rem;
  font-weight: 100;
}

.nav_menu-list li a:hover {
  color: #C63527;
  -webkit-transition: all .4s;
  transition: all .4s;
}

.nav_menu .nav_contact {
  margin-top: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .nav_menu .nav_contact {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.nav_menu .nav_contact-in a {
  padding: 16px 80px;
  background: #000;
  font-size: 1rem;
  color: #fff;
  font-weight: 400;
  display: inline-block;
}

.nav_menu .nav_contact-in a:first-child {
  margin-right: 20px;
}

@media screen and (max-width: 767px) {
  .nav_menu .nav_contact-in a:first-child {
    margin-bottom: 12px;
  }
}

.nav_menu .nav_inout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.8rem;
  margin-top: 36px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .nav_menu .nav_inout {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.nav_menu .nav_inout div:nth-child(n+2) {
  margin-left: 20px;
}

@media screen and (max-width: 767px) {
  .nav_menu .nav_inout div:nth-child(n+2) {
    margin-left: 0;
  }
}

.nav_menu .nav_sns {
  width: 100%;
  margin-top: 12px;
}

.nav_menu .nav_sns a {
  padding: 6px;
}

.nav_menu .nav_sns a img {
  width: 30px;
}

.MenuIsOpen {
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  /* 追加 */
}

.main_visual {
  background-color: #fff;
  position: relative;
}

@media screen and (max-width: 767px) {
  .main_visual {
    padding-top: 64px;
  }
}

.main_visual .allpar_ttl {
  position: absolute;
  bottom: 20px;
  left: 34px;
}

.main_visual .allpar_ttl .load-fade {
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 2s;
  transition: all 2s;
}

.main_visual .allpar_ttl .load-fade.is-show {
  opacity: 1;
  visibility: visible;
}

.main_visual .allpar_ttl-inner {
  position: relative;
  z-index: 1;
  -webkit-filter: drop-shadow(0 0 3px #636363);
          filter: drop-shadow(0 0 3px #636363);
  width: 60vw;
  min-width: 600px;
}

@media screen and (max-width: 767px) {
  .main_visual .allpar_ttl-inner {
    min-width: 300px;
  }
}

@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
}

@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
}

.main_visual .swiper-slide-active .swiper-img,
.main_visual .swiper-slide-duplicate-active .swiper-img,
.main_visual .swiper-slide-prev .swiper-img {
  -webkit-animation: zoomUp 7s linear 0s normal both;
          animation: zoomUp 7s linear 0s normal both;
}

.main_visual .swiper {
  max-height: 100vh;
}

.main_visual .swiper-slide img {
  height: auto;
  width: 100%;
}

.main_visual .swiper .swiper-button-prev, .main_visual .swiper .swiper-rtl .swiper-button-next {
  color: #fff;
  left: var(--swiper-navigation-sides-offset, 3%);
}

/*moreBtn 共通設定 */
.moreBtn {
  /*アニメーションの起点とするためrelativeを指定*/
  position: relative;
  overflow: hidden;
  /*ボタンの形状*/
  text-decoration: none;
  display: inline-block;
  font-size: 1.3rem;
  background: #000;
  color: #fff;
  border: 1px solid #000;
  /* ボーダーの色と太さ */
  padding: 12px 72px 12px 60px;
  text-align: center;
  outline: none;
  /*アニメーションの指定*/
  -webkit-transition: ease .2s;
  transition: ease .2s;
  /*ボタン内spanの形状*/
}

@media screen and (max-width: 767px) {
  .moreBtn {
    font-size: 1rem;
    padding: 10px 60px 10px 60px;
  }
}

.moreBtn span {
  position: relative;
  font-weight: bold;
  z-index: 3;
  /*z-indexの数値をあげて文字を背景よりも手前に表示*/
  color: #fff;
  letter-spacing: 0.4px;
}

@media screen and (max-width: 767px) {
  .moreBtn span {
    background-size: 40%;
  }
}

.moreBtn:after {
  content: "";
  -webkit-mask-image: url(../img/arrow-right.svg);
          mask-image: url(../img/arrow-right.svg);
  display: inline-block;
  width: 20px;
  height: 20px;
  position: absolute;
  right: 12px;
  top: 35%;
  background: #fff;
}

.moreBtn:hover::after {
  background: #000;
}

.moreBtn:hover span {
  color: #000;
}

/*== 背景が流れる（斜め） */
.bgskew::before {
  content: '';
  /*絶対配置で位置を指定*/
  position: absolute;
  top: 0;
  left: -130%;
  /*色や形状*/
  background: #fff;
  width: 120%;
  height: 101%;
  -webkit-transform: skewX(-25deg);
          transform: skewX(-25deg);
}

/*hoverした時のアニメーション*/
.bgskew:hover::before {
  -webkit-animation: skewanime .5s forwards;
          animation: skewanime .5s forwards;
  /*アニメーションの名前と速度を定義*/
}

@-webkit-keyframes skewanime {
  100% {
    left: -10%;
    /*画面の見えていない左から右へ移動する終了地点*/
  }
}

@keyframes skewanime {
  100% {
    left: -10%;
    /*画面の見えていない左から右へ移動する終了地点*/
  }
}

#news {
  background: url(../img/newsBG.svg) no-repeat 50% 0;
}

@media screen and (max-width: 767px) {
  #news {
    padding-top: 6px;
  }
}

#news .news_area {
  padding-top: 80px;
  padding-bottom: 20px;
}

@media screen and (max-width: 767px) {
  #news .news_area {
    padding: 0 3px;
  }
}

#news .news_area-inner {
  max-width: 1080px;
  background: #f6f6f6;
  padding: 46px 95px;
  margin: 0 auto;
  border-radius: 30px;
}

@media screen and (max-width: 1080px) {
  #news .news_area-inner {
    max-width: 767px;
    padding: 46px 40px;
  }
}

@media screen and (max-width: 767px) {
  #news .news_area-inner {
    max-width: 767px;
    padding: 46px 20px;
  }
}

#news .news_area-inner h2 {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.4px;
}

@media screen and (max-width: 767px) {
  #news .news_area-inner h2 {
    font-size: 20px;
  }
}

#news .news_area-inner h2::after {
  content: "";
  background: url(../img/ttl_underline.svg) no-repeat 50% 8px;
  width: 100%;
  display: block;
  height: 20px;
}

@media screen and (max-width: 767px) {
  #news .news_area-inner h2::after {
    background-size: 40%;
  }
}

#news .news_area-content {
  margin: 50px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 767px) {
  #news .news_area-content {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 20px 0;
  }
}

#news .news_area-content .news_area-block {
  width: calc(100% / 4 - 2%);
}

@media screen and (max-width: 767px) {
  #news .news_area-content .news_area-block {
    width: calc(100% / 2 - 2%);
    line-height: 1.2;
  }
}

#news .news_area-content .news_area-block figure {
  width: 100%;
}

#news .news_area-content .news_area-block figure img {
  height: 120px;
  -o-object-fit: cover;
     object-fit: cover;
}

#news .news_area-content .news_area-block .module-Article_Item_Date time {
  display: block;
  font-size: 0.8rem;
  margin-bottom: 5px;
  color: #000;
}

@media screen and (max-width: 767px) {
  #news .news_area-content .news_area-block .module-Article_Item_Date time {
    font-size: 0.7rem;
    margin-bottom: 3px;
  }
}

#news .news_area-content .news_area-block .module-Article_Item_Title {
  font-size: 1rem;
}

#news .news_area-content .news_area-block a {
  color: #000;
  display: block;
}

@media screen and (max-width: 767px) {
  #news .news_area-content .news_area-block a {
    margin-bottom: 6px;
  }
}

#news .news_area-content .news_area-block a:visited {
  color: #8b8b8b;
}

#news .news_area-content .news_area-block a:hover .c-bnr.zoom {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

#news .news_area-content .news_area-block-ttl {
  font-size: 1rem;
}

@media screen and (max-width: 767px) {
  #news .news_area-content .news_area-block-ttl {
    font-size: 0.8rem;
  }
}

#news .news_area-content .zoom-box {
  display: inline-block;
  overflow: hidden;
}

#news .news_area-content .c-bnr.zoom {
  display: block;
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
}

#news .news_area .news_btn {
  text-align: right;
}

@media screen and (max-width: 767px) {
  #news .news_area .news_btn {
    text-align: center;
  }
}

#parallax01 .parallax_content01 {
  font-size: clamp(50px, 14vw, 135px);
  font-weight: 900;
  color: #CB4336;
  white-space: nowrap;
}

#parallax02 {
  margin-top: 20px;
  margin-bottom: 20px;
}

#parallax02 .parallax_content02 {
  font-size: clamp(50px, 14vw, 135px);
  font-weight: 900;
  color: #CB4336;
  text-align: right;
  white-space: nowrap;
  float: right;
}

#stay .fade-in {
  opacity: 0;
  -webkit-transition-duration: 1000ms;
          transition-duration: 1000ms;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: opacity, transform;
  transition-property: opacity, transform, -webkit-transform;
}

#stay .fade-in-up {
  -webkit-transform: translate(0, 50px);
          transform: translate(0, 50px);
}

#stay .scroll-in {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

#stay .stay_ttl {
  font-size: clamp(26px, 7vw, 78px);
  font-weight: bold;
  color: #fff;
  letter-spacing: 0.4px;
  margin: 34px;
}

#stay .stay_content {
  position: relative;
}

#stay .stay_content-imageBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 550px;
}

#stay .stay_content-imageBox figure {
  width: calc(100% / 4);
  height: 100%;
}

#stay .stay_content-imageBox figure img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  -webkit-filter: brightness(50%);
          filter: brightness(50%);
}

#stay .stay_content-comment {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 85%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

#stay .stay_content-comment p {
  font-weight: 600;
  font-size: clamp(0.8rem, 2vw, 1.4rem);
  color: #fff;
  line-height: 2;
  text-align: center;
}

#stay .stay_content-comment p:last-of-type {
  margin-bottom: 70px;
}

#stay .stay_content-comment .stay_btn {
  text-align: center;
}

#floor {
  margin-bottom: 100px;
}

#floor .floor_area-inner h2 {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.4px;
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  #floor .floor_area-inner h2 {
    margin-bottom: 40px;
    font-size: 20px;
  }
}

#floor .floor_area-inner h2::after {
  content: "";
  background: url(../img/ttl_underline.svg) no-repeat 50% 8px;
  width: 100%;
  display: block;
  height: 20px;
}

@media screen and (max-width: 767px) {
  #floor .floor_area-inner h2::after {
    background-size: 40%;
  }
}

#floor .floor_area-inner .floor_swiper {
  position: relative;
}

#floor .floor_area-inner .floor_swiper .swiper-slide {
  /*スライド要素の幅と高さを調整*/
  width: 100%;
  height: 100%;
  /*テキストの位置調整*/
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
}

#floor .floor_area-inner .floor_swiper .swiper-slide img {
  height: auto;
  -webkit-transition: -webkit-transform .6s ease;
  transition: -webkit-transform .6s ease;
  transition: transform .6s ease;
  transition: transform .6s ease, -webkit-transform .6s ease;
}

#floor .floor_area-inner .floor_swiper .swiper-slide:hover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  /* 拡大 */
}

#floor .floor_area-inner .floor_swiper .swiper-button-next {
  right: 3% !important;
}

#floor .floor_area-inner .floor_swiper .swiper-button-prev {
  left: 3% !important;
}

#floor .floor_area-inner-content ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

#floor .floor_btn {
  text-align: center;
  margin: 60px 0 0;
}

#howto {
  background: url(../img/circle_r.svg) no-repeat 50% 0;
}

#howto .howto_area {
  position: relative;
}

#howto .howto_area:before {
  content: "";
  display: block;
  position: absolute;
  z-index: 3;
  background: url(../img/circle_r.svg) no-repeat 50% 0;
  width: 100%;
  height: 100%;
}

#howto .howto_area-inner {
  position: absolute;
  top: 60px;
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  #howto .howto_area-inner {
    width: 100%;
  }
}

#howto .howto_area-inner h2 {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.4px;
  margin-bottom: 80px;
  color: #fff;
}

@media screen and (max-width: 767px) {
  #howto .howto_area-inner h2 {
    margin-bottom: 40px;
    font-size: 20px;
  }
}

#howto .howto_area-inner h2::after {
  content: "";
  background: url(../img/ttl_underline.svg) no-repeat 50% 8px;
  width: 100%;
  display: block;
  height: 20px;
}

@media screen and (max-width: 767px) {
  #howto .howto_area-inner h2::after {
    background-size: 40%;
  }
}

#howto .howto_area-content {
  height: 765px;
}

#howto .howto_area-content .swiper-slide .howto_backimg {
  -webkit-filter: brightness(30%);
          filter: brightness(30%);
  height: 100%;
}

#howto .howto_area-content .swiper-slide .howto_flex {
  position: absolute;
  top: 56%;
  left: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  width: 100%;
  color: #fff;
}

@media screen and (max-width: 767px) {
  #howto .howto_area-content .swiper-slide .howto_flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    top: 50%;
  }
}

#howto .howto_area-content .swiper-slide .howto_flex-numver {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 767px) {
  #howto .howto_area-content .swiper-slide .howto_flex-numver {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

#howto .howto_area-content .swiper-slide .howto_flex-numver .numver_box {
  text-align: left;
}

@media screen and (max-width: 767px) {
  #howto .howto_area-content .swiper-slide .howto_flex-numver .numver_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

@media screen and (max-width: 767px) {
  #howto .howto_area-content .swiper-slide .howto_flex-numver .numver_box > div {
    margin-left: 12px;
  }
}

#howto .howto_area-content .swiper-slide .howto_flex-numver .numver_ttl {
  font-weight: bold;
  font-size: 24px;
  margin-bottom: 12px;
}

@media screen and (max-width: 767px) {
  #howto .howto_area-content .swiper-slide .howto_flex-numver .numver_ttl {
    margin-bottom: -10px;
  }
}

#howto .howto_area-content .swiper-slide .howto_flex-numver p {
  font-size: 36px;
}

@media screen and (max-width: 767px) {
  #howto .howto_area-content .swiper-slide .howto_flex-numver p {
    font-size: 24px;
  }
}

#howto .howto_area-content .swiper-slide .howto_flex-numver .numver_in {
  font-size: 180px;
  font-weight: 900;
}

@media screen and (max-width: 767px) {
  #howto .howto_area-content .swiper-slide .howto_flex-numver .numver_in {
    font-size: 60px;
  }
}

#howto .howto_area-content .swiper-slide .howto_flex-img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  max-width: 420px;
}

@media screen and (max-width: 767px) {
  #howto .howto_area-content .swiper-slide .howto_flex-img {
    width: 70%;
    min-width: 260px;
  }
}

#howto .howto_area-content .swiper-slide .howto_flex-text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#howto .howto_area-content .swiper-slide .howto_flex-text p {
  line-height: 2;
  letter-spacing: 0.6px;
  font-size: clamp(12px, 1.5vw, 18px);
}

@media screen and (max-width: 767px) {
  #howto .howto_area-content .swiper-slide .howto_flex-text p {
    line-height: 1.7;
  }
}

#howto .howto_area-content .swiper-pagination-bullet {
  border-radius: inherit;
  margin: 0 5px !important;
  width: 54px;
  height: 5px;
  background: #fff;
  opacity: 0.19;
}

#howto .howto_area-content .swiper-pagination-bullet-active {
  background: #C63527;
  opacity: 1;
}

#howto .howto_area-content .swiper-pagination-bullets {
  left: 50% !important;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  max-width: 1080px;
  bottom: 100px;
}

#howto .howto_area-content .swiper-button-next {
  right: var(--swiper-navigation-sides-offset, 4%) !important;
  left: auto;
  color: #fff !important;
}

#howto .howto_area-content .swiper-button-prev {
  left: var(--swiper-navigation-sides-offset, 4%) !important;
  right: auto;
  color: #fff !important;
}

#howto .howto_area .howto_btn {
  position: absolute;
  bottom: 20px;
  left: 50%;
  z-index: 3;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

#food .food_area {
  background: #fff;
  padding: 80px 0 0px;
}

@media screen and (max-width: 767px) {
  #food .food_area {
    padding: 40px 0 12px;
  }
}

#food .food_area-inner h2 {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.4px;
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  #food .food_area-inner h2 {
    font-size: 20px;
  }
}

#food .food_area-inner h2::after {
  content: "";
  background: url(../img/ttl_underline.svg) no-repeat 50% 8px;
  width: 100%;
  display: block;
  height: 20px;
}

@media screen and (max-width: 767px) {
  #food .food_area-inner h2::after {
    background-size: 40%;
  }
}

@media screen and (max-width: 767px) {
  #food .food_area-content {
    margin-top: -40px;
  }
}

#food .food_area-content .swiper-slide {
  width: calc(100% / 3);
}

#food .food_area-content .swiper-slide figure {
  width: 300px;
  height: 300px;
  margin: 0 auto 12px;
  border-radius: 50%;
  overflow: hidden;
}

#food .food_area-content .swiper-slide figure img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

#food .food_area-content .swiper-slide .food_image {
  margin: 0 auto;
  width: 300px;
}

#food .food_area-content .swiper-slide .food_image span {
  display: inline-block;
  background: #000;
  color: #fff;
  padding: 2px 8px;
  font-size: 1rem;
  border-radius: 2px;
}

#food .food_area-content .swiper-slide .food_txt {
  margin: 0 auto;
  background: #fff;
  padding: 8px 12px;
  width: 300px;
}

#food .food_area-content .swiper-slide .food_txt p {
  display: inline-block;
  font-size: 0.9rem;
  letter-spacing: 0.2px;
}

#food .food_area .food_btn {
  margin-top: 80px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  #food .food_area .food_btn {
    margin-top: 12px;
  }
}

#paraImg {
  height: 400px;
}

@media screen and (max-width: 767px) {
  #paraImg {
    height: 250px;
  }
}

#paraImg .paraImg_area {
  height: 100%;
  position: relative;
}

#paraImg .paraImg_area-content {
  background-image: url("../img/paraImg01.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 767px) {
  #paraImg .paraImg_area-content {
    background-attachment: fixed;
  }
}

#paraImg .paraImg_area-content:before {
  content: "";
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  background: url(../img/paraBG.svg) no-repeat 50% 0;
  top: 0;
  z-index: 3;
}

#access {
  background: url(../img/accessBG.jpg) no-repeat 50% 50%;
  padding: 80px 0;
}

@media screen and (max-width: 767px) {
  #access {
    padding: 40px 0 60px;
  }
}

#access .access_area {
  max-width: 1080px;
  margin: 0 auto;
}

@media screen and (max-width: 1080px) {
  #access .access_area {
    max-width: 767px;
  }
}

@media screen and (max-width: 767px) {
  #access .access_area {
    padding: 0 6%;
  }
}

#access .access_area-inner h2 {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.4px;
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  #access .access_area-inner h2 {
    font-size: 20px;
  }
}

#access .access_area-inner h2::after {
  content: "";
  background: url(../img/ttl_underline.svg) no-repeat 50% 8px;
  width: 100%;
  display: block;
  height: 20px;
}

@media screen and (max-width: 767px) {
  #access .access_area-inner h2::after {
    background-size: 40%;
  }
}

#access .access_area-content {
  position: relative;
}

@media screen and (max-width: 767px) {
  #access .access_area-content {
    top: -50px;
  }
}

@media screen and (max-width: 767px) {
  #access .access_area-content .add_area {
    margin-bottom: 12px;
  }
}

#access .access_area-content .add_area span {
  font-size: 0.8em;
}

#access .access_area-content .add_area p {
  font-size: 1rem;
}

#access .access_area-content .links {
  text-align: right;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: absolute;
  right: 0;
  bottom: 0;
  /*== 背景が流れる（斜め） */
  /*hoverした時のアニメーション*/
}

@media screen and (max-width: 767px) {
  #access .access_area-content .links {
    position: relative;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    top: 36px;
  }
}

#access .access_area-content .links a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  overflow: hidden;
  /*ボタンの形状*/
  font-size: 1rem;
  text-decoration: none;
  background: #000;
  color: #fff;
  border: 1px solid #000;
  /* ボーダーの色と太さ */
  padding: 12px 30px 12px 40px;
  margin-bottom: 6px;
  text-align: center;
  outline: none;
  /*アニメーションの指定*/
  -webkit-transition: ease .2s;
  transition: ease .2s;
  width: 280px;
  /*ボタン内spanの形状*/
}

@media screen and (max-width: 767px) {
  #access .access_area-content .links a {
    width: 100%;
  }
}

#access .access_area-content .links a p {
  position: relative;
  font-weight: bold;
  letter-spacing: 0.1em;
  z-index: 3;
  /*z-indexの数値をあげて文字を背景よりも手前に表示*/
  color: #fff;
}

#access .access_area-content .links a:hover p {
  color: #000;
}

#access .access_area-content .links a span {
  width: 30px;
}

#access .access_area-content .links a img {
  vertical-align: middle;
}

#access .access_area-content .links .bgskew::before {
  content: '';
  /*絶対配置で位置を指定*/
  position: absolute;
  top: 0;
  left: -130%;
  /*色や形状*/
  background: #fff;
  width: 120%;
  height: 101%;
  -webkit-transform: skewX(-25deg);
          transform: skewX(-25deg);
}

#access .access_area-content .links .bgskew:hover::before {
  -webkit-animation: skewanime .5s forwards;
          animation: skewanime .5s forwards;
  /*アニメーションの名前と速度を定義*/
}

@keyframes skewanime {
  100% {
    left: -10%;
    /*画面の見えていない左から右へ移動する終了地点*/
  }
}

#contact {
  background-color: #f6f6f6;
}

#contact .contact_area {
  background: url(../img/contactBG.jpg) no-repeat 50% 50%;
  background-size: cover;
}

#contact .contact_area-inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 80px 3px;
}

@media screen and (max-width: 767px) {
  #contact .contact_area-inner {
    padding: 80px 6%;
  }
}

#contact .contact_area-inner h2 {
  width: 220px;
  margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
  #contact .contact_area-inner h2 {
    width: 140px;
    margin-bottom: 6px;
  }
}

#contact .contact_area-content-add {
  font-size: 1rem;
}

#contact .contact_area-content-add .contact_add {
  margin-bottom: 72px;
}

@media screen and (max-width: 767px) {
  #contact .contact_area-content-add .contact_add {
    margin-bottom: 12px;
  }
}

#contact .contact_area-content-add .contact_btnarea {
  /*hoverした時のアニメーション*/
}

#contact .contact_area-content-add .contact_btnarea-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 767px) {
  #contact .contact_area-content-add .contact_btnarea-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

#contact .contact_area-content-add .contact_btnarea a {
  display: block;
  width: calc(100% / 2 - 80px);
  padding: 40px 0;
  background: #fff;
  font-weight: 400;
  letter-spacing: 0.4px;
  text-align: center;
  position: relative;
  overflow: hidden;
  /*アニメーションの指定*/
  -webkit-transition: ease .2s;
  transition: ease .2s;
  /*ボタン内spanの形状*/
}

@media screen and (max-width: 767px) {
  #contact .contact_area-content-add .contact_btnarea a {
    width: 100%;
    padding: 20px;
  }
  #contact .contact_area-content-add .contact_btnarea a:first-child {
    margin-bottom: 6px;
  }
}

#contact .contact_area-content-add .contact_btnarea a p {
  position: relative;
  letter-spacing: 0.1em;
  z-index: 3;
  /*z-indexの数値をあげて文字を背景よりも手前に表示*/
  color: #000;
}

#contact .contact_area-content-add .contact_btnarea a:hover p {
  color: #fff;
}

#contact .contact_area-content-add .contact_btnarea a span {
  width: 30px;
}

#contact .contact_area-content-add .contact_btnarea a img {
  vertical-align: middle;
}

#contact .contact_area-content-add .contact_btnarea .bgskew::before {
  content: '';
  /*絶対配置で位置を指定*/
  position: absolute;
  top: 0;
  left: -130%;
  /*色や形状*/
  background: #000;
  width: 120%;
  height: 101%;
  -webkit-transform: skewX(-25deg);
          transform: skewX(-25deg);
}

#contact .contact_area-content-add .contact_btnarea .bgskew:hover::before {
  -webkit-animation: skewanime .5s forwards;
          animation: skewanime .5s forwards;
  /*アニメーションの名前と速度を定義*/
}

@keyframes skewanime {
  100% {
    left: -10%;
    /*画面の見えていない左から右へ移動する終了地点*/
  }
}

#footer {
  background: #000;
}

#footer .footer_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1080px;
  margin: 0 auto;
  padding: 80px 0;
}

@media screen and (max-width: 767px) {
  #footer .footer_area {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 40px 6%;
  }
}

#footer .footer_area-inner .footerLogo {
  max-width: 220px;
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  #footer .footer_area-inner .footerLogo {
    margin-bottom: 20px;
    max-width: 180px;
  }
}

#footer .footer_area-inner .footerSns {
  width: 30px;
  height: auto;
  text-align: right;
}

#footer .footer_area-inner .footerSns img {
  fill: #fff;
}

#footer .footer_area-content ul li a {
  display: block;
  padding: 6px 8px;
  font-size: 1rem;
  color: #fff;
  position: relative;
}

#footer .footer_area-content ul li a::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #fff;
  bottom: -1px;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

#footer .footer_area-content ul li a:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

#stay_wrap {
  background-color: #f6f6f6;
}

#stay_wrap .stay_main {
  height: 500px;
  position: relative;
}

@media screen and (max-width: 767px) {
  #stay_wrap .stay_main {
    height: 300px;
  }
}

#stay_wrap .stay_main-visual {
  background: url(../img/stay_main01.jpg) no-repeat 50% 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
}

#stay_wrap .stay_main-comment {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  font-weight: 900;
  font-size: 4vw;
  color: #fff;
  text-shadow: 0 0 10px #000;
}

@media screen and (max-width: 767px) {
  #stay_wrap .stay_main-comment {
    width: 100%;
    text-align: center;
    font-size: 6vw;
  }
}

#stay_wrap .stay_content h2 {
  text-align: center;
  letter-spacing: 4px;
  margin: 60px 0;
  font-weight: 900;
  font-size: 62px;
}

@media screen and (max-width: 767px) {
  #stay_wrap .stay_content h2 {
    font-size: 30px;
    margin: 40px 0;
  }
}

#stay_wrap .stay_content-slide01, #stay_wrap .stay_content-slide02, #stay_wrap .stay_content-slide03, #stay_wrap .stay_content-slide04 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1080px;
  margin: 0 auto 60px;
}

@media screen and (max-width: 767px) {
  #stay_wrap .stay_content-slide01, #stay_wrap .stay_content-slide02, #stay_wrap .stay_content-slide03, #stay_wrap .stay_content-slide04 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0 auto;
    padding: 0 3%;
    line-height: 2;
  }
}

#stay_wrap .stay_content-slide01 .comment, #stay_wrap .stay_content-slide02 .comment, #stay_wrap .stay_content-slide03 .comment, #stay_wrap .stay_content-slide04 .comment {
  margin-top: -150px;
}

@media screen and (max-width: 767px) {
  #stay_wrap .stay_content-slide01 .comment, #stay_wrap .stay_content-slide02 .comment, #stay_wrap .stay_content-slide03 .comment, #stay_wrap .stay_content-slide04 .comment {
    margin-top: 0;
    margin-bottom: 24px;
    width: 84vw;
    font-size: 14px;
  }
}

@media screen and (max-width: 767px) {
  #stay_wrap .stay_content-slide01 .comment, #stay_wrap .stay_content-slide02 .comment {
    font-size: 18px;
    font-weight: 600;
  }
}

#stay_wrap .stay_content-slide01 .comment .active, #stay_wrap .stay_content-slide02 .comment .active {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding: 2px 10px;
  display: block;
}

#stay_wrap .stay_content-slide03 {
  font-size: 16px;
  margin-bottom: 0;
}

#stay_wrap .stay_content-slide04 {
  margin-bottom: 0;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  #stay_wrap .stay_content-slide04 .comment {
    margin-top: 24px;
  }
}

#stay_wrap .stay_content-slide05 {
  max-width: 1080px;
  margin: 0 auto;
  position: relative;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  #stay_wrap .stay_content-slide05 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 3%;
    line-height: 2;
  }
}

#stay_wrap .stay_content-slide05 img {
  position: absolute;
  right: 0;
  top: -200px;
  width: 50%;
}

@media screen and (max-width: 767px) {
  #stay_wrap .stay_content-slide05 img {
    position: initial;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  #stay_wrap .stay_content-slide05 .comment {
    width: 84vw;
    font-size: 14px;
  }
}

#stay_wrap .stay_content-slide06 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1080px;
  margin: 180px auto 0;
  font-size: 16px;
  padding-bottom: 120px;
}

@media screen and (max-width: 767px) {
  #stay_wrap .stay_content-slide06 {
    margin: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 3% 80px;
  }
}

#stay_wrap .stay_content-slide06 .comment {
  margin-top: -150px;
}

@media screen and (max-width: 767px) {
  #stay_wrap .stay_content-slide06 .comment {
    margin-top: 24px;
    width: 84vw;
    font-size: 14px;
    line-height: 2;
  }
}

#floorplan_wrap {
  background-color: #f6f6f6;
}

#floorplan_wrap h3 {
  font-size: 18px;
  margin-bottom: 8px;
  padding-left: 30px;
  position: relative;
}

#floorplan_wrap h3:before {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  left: 4px;
  top: 45%;
  height: 2px;
  border: 2px solid #c63527;
}

#floorplan_wrap .floorplan_main {
  height: 500px;
  position: relative;
}

@media screen and (max-width: 767px) {
  #floorplan_wrap .floorplan_main {
    height: 300px;
  }
}

#floorplan_wrap .floorplan_main-visual {
  background: url(../img/floorplan_main01.jpg) no-repeat 50% 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
}

#floorplan_wrap .floorplan_main-comment {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  font-weight: 900;
  font-size: 4vw;
  color: #fff;
  text-shadow: 0 0 10px #000;
}

@media screen and (max-width: 767px) {
  #floorplan_wrap .floorplan_main-comment {
    width: 100%;
    text-align: center;
    font-size: 6vw;
  }
}

#floorplan_wrap .floorplan_content {
  max-width: 1080px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  #floorplan_wrap .floorplan_content {
    padding: 0 5vw;
  }
}

#floorplan_wrap .floorplan_content h2 {
  text-align: center;
  letter-spacing: 4px;
  margin: 60px 0;
  font-weight: 900;
  font-size: 62px;
}

@media screen and (max-width: 767px) {
  #floorplan_wrap .floorplan_content h2 {
    font-size: 28px;
    margin: 30px 0;
  }
}

#floorplan_wrap .floorplan_content .flexwrapper {
  margin: 50px auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 767px) {
  #floorplan_wrap .floorplan_content .flexwrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 20px auto 12px;
  }
}

#floorplan_wrap .floorplan_content .flexwrapper_dist {
  margin-left: 12px;
  font-size: 16px;
  max-width: 43%;
  padding: 2vw;
  border-radius: 10px;
  background: #fff;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

@media screen and (max-width: 767px) {
  #floorplan_wrap .floorplan_content .flexwrapper_dist {
    max-width: 100%;
    font-size: 13px;
    padding: 6vw 5vw;
    margin-left: 0;
  }
}

#floorplan_wrap .floorplan_content .flexwrapper_dist-inner .price {
  padding: 10px 0;
  border-bottom: 1px solid #000;
  border-top: 1px solid #000;
  margin-bottom: 12px;
  text-align: center;
}

#floorplan_wrap .floorplan_content .flexwrapper_dist-inner .price span {
  font-size: 20px;
  display: block;
}

#floorplan_wrap .floorplan_content .flexwrapper_dist-inner p {
  font-weight: 600;
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  #floorplan_wrap .floorplan_content .flexwrapper_dist-inner p {
    font-size: 13px;
  }
}

#floorplan_wrap .floorplan_content .flexwrapper_dist-inner dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 1.8;
}

#floorplan_wrap .floorplan_content .flexwrapper_dist-inner dl dt {
  width: 10vw;
  font-weight: 600;
}

@media screen and (max-width: 767px) {
  #floorplan_wrap .floorplan_content .flexwrapper_dist-inner dl dt {
    width: 30vw;
  }
}

#floorplan_wrap .floorplan_content .flexwrapper_dist-inner dl dd {
  width: calc(100% - 10vw);
}

@media screen and (max-width: 767px) {
  #floorplan_wrap .floorplan_content .flexwrapper_dist-inner dl dd {
    width: calc(100% - 30vw);
  }
}

#floorplan_wrap .floorplan_content .slide-content {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #ddd;
}

#floorplan_wrap .floorplan_content .gallery {
  width: 100%;
  max-width: 600px;
  height: 100%;
  overflow: hidden;
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  #floorplan_wrap .floorplan_content .gallery {
    margin-bottom: 0px;
  }
}

#floorplan_wrap .floorplan_content .gallery-slider {
  width: 100%;
  height: auto;
  margin: 0 0 10px 0;
}

#floorplan_wrap .floorplan_content .gallery-slider .swiper-slide {
  width: 100% !important;
}

#floorplan_wrap .floorplan_content .gallery-slider .swiper-slide img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

#floorplan_wrap .floorplan_content .gallery-thumbs {
  width: 100%;
  padding: 0;
  overflow: hidden;
}

#floorplan_wrap .floorplan_content .gallery-thumbs .swiper-slide {
  width: 100px;
  height: 80px;
  text-align: center;
  overflow: hidden;
}

#floorplan_wrap .floorplan_content .gallery-thumbs .swiper-slide-active {
  opacity: 1;
}

#floorplan_wrap .floorplan_content .gallery-thumbs .swiper-slide img {
  width: 100%;
  height: auto;
}

#floorplan_wrap .floorplan_content .amenity {
  font-size: 14px;
  width: 100%;
  display: block;
  margin-bottom: 60px;
}

#floorplan_wrap .floorplan_content .amenity table {
  width: 100%;
  table-layout: fixed;
  margin-bottom: 6px;
}

#floorplan_wrap .floorplan_content .amenity table th, #floorplan_wrap .floorplan_content .amenity table td {
  padding: 6px 12px;
  text-align: left;
}

@media screen and (max-width: 767px) {
  #floorplan_wrap .floorplan_content .amenity table th, #floorplan_wrap .floorplan_content .amenity table td {
    display: block;
    width: 100%;
  }
}

#floorplan_wrap .floorplan_content .amenity table th {
  white-space: nowrap;
  font-weight: normal;
  background: #ddd;
}

#floorplan_wrap .floorplan_content .amenity table td {
  background: #fff;
}

#floorplan_wrap .floorplan_content .amenity .attention {
  margin: 0 auto;
}

#floorplan_wrap .floorplan_content .facilitieImg {
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  margin-left: calc(((100vw - 100%) / 2) * -1);
  margin-right: calc(((100vw - 100%) / 2) * -1);
}

#floorplan_wrap .floorplan_content .facilitieImg ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: unset;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  position: relative;
  -webkit-animation: 100s linear 0s infinite normal none running buGCCr;
          animation: 100s linear 0s infinite normal none running buGCCr;
}

#floorplan_wrap .floorplan_content .facilitieImg ul:first-child {
  -webkit-animation: loop 50s -25s linear infinite;
          animation: loop 50s -25s linear infinite;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  will-change: transform;
}

#floorplan_wrap .floorplan_content .facilitieImg ul + ul {
  -webkit-animation: loop2 50s linear infinite;
          animation: loop2 50s linear infinite;
}

#floorplan_wrap .floorplan_content .facilitieImg ul li {
  display: inline-block;
  width: calc(100vw / 6);
  min-width: 150px;
  margin: 0 5vw 0 0;
  list-style: none;
  text-align: center;
}

@media screen and (max-width: 767px) {
  #floorplan_wrap .floorplan_content .facilitieImg ul li {
    width: calc(100vw / 2);
  }
}

#floorplan_wrap .floorplan_content .facilitieImg ul li img {
  border-radius: 10px;
}

@-webkit-keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@keyframes loop {
  0% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@-webkit-keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}

@keyframes loop2 {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
            transform: translateX(-200%);
  }
}

#floorplan_wrap .floorplan_content .facilities {
  font-size: 14px;
  margin-bottom: 60px;
}

#floorplan_wrap .floorplan_content .facilities table th, #floorplan_wrap .floorplan_content .facilities table td {
  padding: 6px 12px;
  text-align: left;
}

@media screen and (max-width: 767px) {
  #floorplan_wrap .floorplan_content .facilities table th, #floorplan_wrap .floorplan_content .facilities table td {
    display: block;
    width: 100%;
  }
}

#floorplan_wrap .floorplan_content .facilities table th {
  white-space: nowrap;
  font-weight: normal;
  background: #ddd;
  min-width: 160px;
}

#floorplan_wrap .floorplan_content .facilities table td {
  background: #fff;
}

#floorplan_wrap .floorplan_content .rental {
  font-size: 14px;
  padding-bottom: 60px;
}

#floorplan_wrap .floorplan_content .rental table {
  width: 100%;
}

#floorplan_wrap .floorplan_content .rental table th, #floorplan_wrap .floorplan_content .rental table td {
  padding: 6px 12px;
  text-align: left;
}

@media screen and (max-width: 767px) {
  #floorplan_wrap .floorplan_content .rental table th, #floorplan_wrap .floorplan_content .rental table td {
    display: block;
    width: 100%;
  }
}

#floorplan_wrap .floorplan_content .rental table th {
  white-space: nowrap;
  font-weight: normal;
  background: #ddd;
  min-width: 160px;
}

#floorplan_wrap .floorplan_content .rental table td {
  background: #fff;
}

#howto_wrap {
  background-color: #f6f6f6;
}

#howto_wrap h3 {
  font-size: 42px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  #howto_wrap h3 {
    font-size: 32px;
    margin-bottom: 6px;
  }
}

#howto_wrap h3 span {
  position: relative;
  padding-left: 16px;
  margin-right: 12px;
  z-index: 1;
  font-size: 70px;
}

@media screen and (max-width: 767px) {
  #howto_wrap h3 span {
    font-size: 48px;
  }
}

#howto_wrap h3 span:before {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  left: 4px;
  top: 45%;
  height: 2px;
  border: 2px solid #c63527;
}

#howto_wrap .howto_main {
  height: 500px;
  position: relative;
}

@media screen and (max-width: 767px) {
  #howto_wrap .howto_main {
    height: 300px;
  }
}

#howto_wrap .howto_main-visual {
  background: url(../img/stay_main01.jpg) no-repeat 50% 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
}

#howto_wrap .howto_main-comment {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  font-weight: 900;
  font-size: 4vw;
  color: #fff;
  text-shadow: 0 0 10px #000;
}

@media screen and (max-width: 767px) {
  #howto_wrap .howto_main-comment {
    width: 100%;
    text-align: center;
    font-size: 6vw;
  }
}

#howto_wrap .howto_content {
  max-width: 1080px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  #howto_wrap .howto_content {
    padding: 0 5vw;
  }
}

#howto_wrap .howto_content h2 {
  text-align: center;
  letter-spacing: 4px;
  margin: 60px 0;
  font-weight: 900;
  font-size: 62px;
}

@media screen and (max-width: 767px) {
  #howto_wrap .howto_content h2 {
    font-size: 28px;
    margin: 30px 0;
    letter-spacing: 2px;
  }
}

#howto_wrap .howto_content section {
  margin-bottom: 60px;
}

#howto_wrap .howto_content section:last-child {
  margin-bottom: 0;
  padding-bottom: 60px;
}

#howto_wrap .howto_content .flexwrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 767px) {
  #howto_wrap .howto_content .flexwrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 8px;
  }
}

#howto_wrap .howto_content .flexwrapper .imageBox {
  margin: 1vw;
  width: 60%;
  position: relative;
  background: #c63527;
}

@media screen and (max-width: 767px) {
  #howto_wrap .howto_content .flexwrapper .imageBox {
    width: 100%;
    margin: 0;
    left: 8px;
  }
}

#howto_wrap .howto_content .flexwrapper .imageBox img {
  margin-top: -12px;
  margin-left: -12px;
}

#howto_wrap .howto_content .flexwrapper div[class$="comment"] {
  margin: 1vw;
  font-size: 14px;
  width: calc(100% - 60%);
}

@media screen and (max-width: 767px) {
  #howto_wrap .howto_content .flexwrapper div[class$="comment"] {
    width: 100%;
    margin: 0;
  }
}

#howto_wrap .howto_content .flexwrapper div[class$="comment"] .ttl {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  #howto_wrap .howto_content .flexwrapper div[class$="comment"] .ttl {
    margin: 12px 0;
  }
}

#food_wrap {
  background-color: #f6f6f6;
  padding-bottom: 5rem;
}

#food_wrap h3 {
  font-size: 1.5rem;
  line-height: 1.6;
  margin-bottom: 1rem;
}

@media screen and (max-width: 767px) {
  #food_wrap h3 {
    font-size: 24px;
    margin-bottom: 6px;
  }
}

#food_wrap h3 span {
  position: relative;
  padding-left: 16px;
  margin-right: 12px;
  z-index: 1;
  font-size: 70px;
}

@media screen and (max-width: 767px) {
  #food_wrap h3 span {
    font-size: 48px;
  }
}

#food_wrap h3 span:before {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  left: 4px;
  top: 45%;
  height: 2px;
  border: 2px solid #c63527;
}

#food_wrap .food_main {
  height: 500px;
  position: relative;
}

@media screen and (max-width: 767px) {
  #food_wrap .food_main {
    height: 300px;
  }
}

#food_wrap .food_main-visual {
  background: url(../img/stay_main01.jpg) no-repeat 50% 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
}

#food_wrap .food_main-comment {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  font-weight: 900;
  font-size: 4vw;
  color: #fff;
  text-shadow: 0 0 10px #000;
}

@media screen and (max-width: 767px) {
  #food_wrap .food_main-comment {
    width: 100%;
    text-align: center;
    font-size: 6vw;
  }
}

#food_wrap .food_content {
  max-width: 1080px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  #food_wrap .food_content {
    padding: 0 5vw;
  }
}

#food_wrap .food_content h2 {
  text-align: center;
  letter-spacing: 4px;
  margin: 60px 0;
  font-weight: 900;
  font-size: 62px;
}

@media screen and (max-width: 767px) {
  #food_wrap .food_content h2 {
    font-size: 28px;
    margin: 30px 0;
    letter-spacing: 2px;
  }
}

#food_wrap .food_content-comment {
  margin-bottom: 1rem;
}

#food_wrap .food_content-comment p {
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  #food_wrap .food_content-comment p {
    font-size: 1.5rem;
  }
}

#food_wrap .food_content .gallery {
  overflow-x: hidden;
  margin-bottom: 5rem;
}

#food_wrap .food_content .gallery .swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

#food_wrap .food_content .gallery .swiper-slide figure {
  width: 40%;
}

@media screen and (max-width: 767px) {
  #food_wrap .food_content .gallery .swiper-slide figure {
    width: 100%;
  }
}

#food_wrap .food_content .gallery .swiper-slide figcaption {
  width: calc(100% - 40% - 4rem);
  padding: 2rem;
  background: #fff;
}

@media screen and (max-width: 767px) {
  #food_wrap .food_content .gallery .swiper-slide figcaption {
    width: calc(100% - 4rem);
  }
}

#food_wrap .food_content .gallery .swiper-slide figcaption p {
  font-size: 0.9rem;
}

#food_wrap .food_content .gallery .swiper-slide figcaption .attention {
  font-size: 0.7rem;
  color: #C63527;
}

#food_wrap .food_content .gallery .gallery-thumbs .swiper-slide {
  overflow: hidden;
}

#food_wrap .food_content .gallery .gallery-thumbs img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 140px;
}

#food_wrap .food_content .gallery .gallery-thumbs img:hover {
  cursor: pointer;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -webkit-transition: -webkit-transform .6s ease;
  transition: -webkit-transform .6s ease;
  transition: transform .6s ease;
  transition: transform .6s ease, -webkit-transform .6s ease;
  /* ゆっくり変化させる */
}

#food_wrap .food_content .copy_content {
  font-size: 3.2rem;
  font-weight: bold;
  letter-spacing: 1.4px;
  margin-bottom: 5rem;
}

@media screen and (max-width: 767px) {
  #food_wrap .food_content .copy_content {
    font-size: 2rem;
  }
}

#food_wrap .food_content .food_image section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 2rem;
}

#food_wrap .food_content .food_image section img {
  width: 50%;
}

#food_wrap .food_content .food_image section .food_image-comment {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

#food_wrap .food_content .food_image .flexrow {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.container-fluid {
  max-width: 1080px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .container-fluid {
    padding: 0 5vw;
  }
}

.container-fluid .newsSingle_flex {
  margin-top: 120px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .container-fluid .newsSingle_flex {
    margin-top: 60px;
  }
}

.container-fluid .newsSingle_flex-main {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 75.66667%;
      flex: 0 0 75.66667%;
  max-width: 75.66667%;
}

@media screen and (max-width: 767px) {
  .container-fluid .newsSingle_flex-main {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
}

.container-fluid .newsSingle_flex-main .content-Header {
  margin-bottom: 20px;
}

.container-fluid .newsSingle_flex-main .content-Header .content-Meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  font-size: 0.8rem;
}

.container-fluid .newsSingle_flex-main .content-Body {
  font-size: 1.1rem;
  line-height: 1.8;
}

.container-fluid .newsSingle_flex-main .content-Body .wp-block-image {
  margin: 1.5rem 0;
}

.container-fluid .newsSingle_flex-main .content-Body p {
  margin-bottom: 1.5rem;
}

.container-fluid .newsSingle_flex-main .news_area-block {
  margin: 8px 0;
  border-bottom: 1px solid #f6f6f6;
}

.container-fluid .newsSingle_flex .sidebar_content {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 24.33333%;
      flex: 0 0 24.33333%;
  max-width: 24.33333%;
  min-height: 1px;
}

@media screen and (max-width: 767px) {
  .container-fluid .newsSingle_flex .sidebar_content {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    max-width: 100%;
  }
}

.container-fluid .newsSingle_flex .sidebar_content .sidebar {
  font-size: 1rem;
  line-height: 1.8;
  padding-left: 20px;
}

@media screen and (max-width: 767px) {
  .container-fluid .newsSingle_flex .sidebar_content .sidebar {
    padding-left: 0;
  }
}

.container-fluid .newsSingle_flex .sidebar_content .sidebar_ttl {
  font-size: 1.1rem;
  font-weight: bold;
  padding: 4px 12px;
  margin: 6px 0;
  background: #ddd;
}

.container-fluid .newsSingle_flex .sidebar_content .sidebar_ttl::before {
  content: "-";
  padding-right: 6px;
  color: #C63527;
}

.container-fluid .module-Article_Item_Link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.container-fluid .module-Article_Item_Link .module-Article_Item_Img {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.container-fluid .module-Article_Item_Link .module-Article_Item_Img img {
  -webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 2px 0px;
          box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 2px 0px;
}

.container-fluid .module-Article_Item_Link .module-Article_Item_Body {
  -webkit-box-flex: 3;
      -ms-flex: 3;
          flex: 3;
  padding-left: 20px;
}

.container-fluid .module-Article_Item_Link .module-Article_Item_Body .module-Article_Item_Date {
  font-size: 0.8rem;
}

.container-fluid .module-Article_Item_Link .module-Article_Item_Body .module-Article_Item_Title {
  font-size: 1.05rem;
  font-weight: bold;
}

.container-fluid .module-Article_Item_Link .module-Article_Item_Body p {
  font-size: 1rem;
  line-height: 1.4;
}

.container-fluid .content-Footer {
  font-size: 1rem;
  margin: 60px 0;
}

.container-fluid .content-Footer .content-Tags {
  margin-bottom: 20px;
}

.container-fluid .content-Footer .content-Tags a {
  font-size: 0.8rem;
  padding: 4px 8px;
  border-radius: 20px;
  background: #f6f6f6;
  border: 2px solid #C63527;
}

.container-fluid .content-Footer .content-Nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

#contactus_wrap {
  background-color: #f6f6f6;
  padding-top: 120px;
}

#contactus_wrap h3 {
  font-size: 42px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  #contactus_wrap h3 {
    font-size: 32px;
    margin-bottom: 6px;
  }
}

#contactus_wrap h3 span {
  position: relative;
  padding-left: 16px;
  margin-right: 12px;
  z-index: 1;
  font-size: 70px;
}

@media screen and (max-width: 767px) {
  #contactus_wrap h3 span {
    font-size: 48px;
  }
}

#contactus_wrap h3 span:before {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  left: 4px;
  top: 45%;
  height: 2px;
  border: 2px solid #c63527;
}

#contactus_wrap .contactus_content {
  max-width: 1080px;
  margin: 0 auto;
  font-size: 1rem;
}

@media screen and (max-width: 767px) {
  #contactus_wrap .contactus_content {
    padding: 0 5vw;
  }
}

#contactus_wrap .contactus_content h1 {
  text-align: center;
  letter-spacing: 4px;
  margin: 60px 0;
  font-weight: 900;
  font-size: 62px;
}

@media screen and (max-width: 767px) {
  #contactus_wrap .contactus_content h1 {
    font-size: 28px;
    margin: 30px 0;
    letter-spacing: 2px;
  }
}

#contactus_wrap .contactus_content section {
  margin-bottom: 60px;
}

#contactus_wrap .contactus_content section:last-child {
  margin-bottom: 0;
  padding-bottom: 60px;
}

#contactus_wrap .contactus_content-inner {
  padding: 5rem 8rem;
  background: #fff;
  border-radius: 20px;
}

#contactus_wrap .contactus_content-inner ul {
  padding: 1rem 0;
  border-bottom: 1px solid #f6f6f6;
}

#contactus_wrap .contactus_content-inner ol li {
  padding: 1rem 0;
  border-bottom: 1px solid #f6f6f6;
}

#contactus_wrap .contactus_content-inner ol li label {
  font-weight: bold;
  width: 10vw;
  display: inline-block;
  margin-bottom: 6px;
}

#contactus_wrap .contactus_content-inner ol li input[type="text"], #contactus_wrap .contactus_content-inner ol li textarea {
  background: #f9f9fa;
  border: 1px solid #f6f6f6;
  width: 100%;
  border-radius: 3px;
  font-size: 16px;
  padding: 4px 12px;
}

#contactus_wrap .contactus_content-inner ol li textarea {
  height: 200px;
}

#contactus_wrap .contactus_content-inner .hissu {
  font-size: 0.7rem;
  font-weight: normal;
  padding: 2px 6px;
  background: #fde5e3;
  color: #000;
  border-radius: 3px;
  margin-left: 8px;
}

#faq_wrap {
  background-color: #f6f6f6;
  padding-bottom: 5rem;
}

#faq_wrap h3 {
  font-size: 42px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  #faq_wrap h3 {
    font-size: 32px;
    margin-bottom: 6px;
  }
}

#faq_wrap h3 span {
  position: relative;
  padding-left: 16px;
  margin-right: 12px;
  z-index: 1;
  font-size: 70px;
}

@media screen and (max-width: 767px) {
  #faq_wrap h3 span {
    font-size: 48px;
  }
}

#faq_wrap h3 span:before {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  left: 4px;
  top: 45%;
  height: 2px;
  border: 2px solid #c63527;
}

#faq_wrap .faq_main {
  height: 500px;
  position: relative;
}

@media screen and (max-width: 767px) {
  #faq_wrap .faq_main {
    height: 300px;
  }
}

#faq_wrap .faq_main-visual {
  background: url(../img/stay_main01.jpg) no-repeat 50% 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
}

#faq_wrap .faq_main-comment {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  font-weight: 900;
  font-size: 4vw;
  color: #fff;
  text-shadow: 0 0 10px #000;
}

@media screen and (max-width: 767px) {
  #faq_wrap .faq_main-comment {
    width: 100%;
    text-align: center;
    font-size: 6vw;
  }
}

#faq_wrap .faq_content {
  max-width: 1080px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  #faq_wrap .faq_content {
    padding: 0 5vw;
  }
}

#faq_wrap .faq_content h2 {
  text-align: center;
  letter-spacing: 4px;
  margin: 60px 0;
  font-weight: 900;
  font-size: 62px;
}

@media screen and (max-width: 767px) {
  #faq_wrap .faq_content h2 {
    font-size: 28px;
    margin: 30px 0;
    letter-spacing: 2px;
  }
}

#faq_wrap .faq_content-inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 3rem;
  background: #fff;
  border-radius: 20px;
  font-size: 1rem;
}

#faq_wrap .faq_content-inner dl {
  background: #f9f9fa;
}

#faq_wrap .faq_content-inner dl dt {
  cursor: pointer;
  padding: 2rem 3rem;
  display: block;
  -webkit-transition: max-height 0.3s ease-out;
  transition: max-height 0.3s ease-out;
}

#faq_wrap .faq_content-inner dl dt span {
  color: #C63527;
  font-weight: bold;
  margin-right: 12px;
}

#faq_wrap .faq_content-inner dl dd {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s ease-out;
  transition: max-height 0.3s ease-out;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#faq_wrap .faq_content-inner dl dd span {
  margin-right: 12px;
}

#faq_wrap .faq_content-inner .open dd {
  display: block;
  max-height: 500px;
  /* 任意の高さに設定してください */
  padding: 0 3rem 2rem;
}

#company_wrap {
  background-color: #f6f6f6;
  padding-bottom: 5rem;
}

#company_wrap h3 {
  font-size: 42px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  #company_wrap h3 {
    font-size: 32px;
    margin-bottom: 6px;
  }
}

#company_wrap h3 span {
  position: relative;
  padding-left: 16px;
  margin-right: 12px;
  z-index: 1;
  font-size: 70px;
}

@media screen and (max-width: 767px) {
  #company_wrap h3 span {
    font-size: 48px;
  }
}

#company_wrap h3 span:before {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  left: 4px;
  top: 45%;
  height: 2px;
  border: 2px solid #c63527;
}

#company_wrap .company_main {
  height: 500px;
  position: relative;
}

@media screen and (max-width: 767px) {
  #company_wrap .company_main {
    height: 300px;
  }
}

#company_wrap .company_main-visual {
  background: url(../img/stay_main01.jpg) no-repeat 50% 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
}

#company_wrap .company_main-comment {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  font-weight: 900;
  font-size: 4vw;
  color: #fff;
  text-shadow: 0 0 10px #000;
}

@media screen and (max-width: 767px) {
  #company_wrap .company_main-comment {
    width: 100%;
    text-align: center;
    font-size: 6vw;
  }
}

#company_wrap .company_content {
  max-width: 1080px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  #company_wrap .company_content {
    padding: 0 5vw;
  }
}

#company_wrap .company_content h2 {
  text-align: center;
  letter-spacing: 4px;
  margin: 60px 0;
  font-weight: 900;
  font-size: 62px;
}

@media screen and (max-width: 767px) {
  #company_wrap .company_content h2 {
    font-size: 28px;
    margin: 30px 0;
    letter-spacing: 2px;
  }
}

#company_wrap .company_content-inner {
  max-width: 800px;
  margin: 0 auto;
  padding: 3rem;
  background: #fff;
  border-radius: 20px;
  font-size: 1rem;
}

#company_wrap .company_content-inner table {
  width: 100%;
  border: none;
  border-spacing: 0;
}

#company_wrap .company_content-inner table th, #company_wrap .company_content-inner table td {
  padding: 1rem;
  border-collapse: collapse;
  border-bottom: 1px solid #f6f6f6;
}

#company_wrap .company_content-inner table th {
  text-align: left;
}

#access_wrap {
  background-color: #f6f6f6;
  padding-bottom: 5rem;
}

#access_wrap h3 {
  font-size: 42px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  #access_wrap h3 {
    font-size: 32px;
    margin-bottom: 6px;
  }
}

#access_wrap h3 span {
  position: relative;
  padding-left: 16px;
  margin-right: 12px;
  z-index: 1;
  font-size: 70px;
}

@media screen and (max-width: 767px) {
  #access_wrap h3 span {
    font-size: 48px;
  }
}

#access_wrap h3 span:before {
  content: "";
  display: block;
  position: absolute;
  width: 20px;
  left: 4px;
  top: 45%;
  height: 2px;
  border: 2px solid #c63527;
}

#access_wrap .access_main {
  height: 500px;
  position: relative;
}

@media screen and (max-width: 767px) {
  #access_wrap .access_main {
    height: 300px;
  }
}

#access_wrap .access_main-visual {
  background: url(../img/stay_main01.jpg) no-repeat 50% 50%;
  background-size: cover;
  width: 100%;
  height: 100%;
}

#access_wrap .access_main-comment {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  font-weight: 900;
  font-size: 4vw;
  color: #fff;
  text-shadow: 0 0 10px #000;
}

@media screen and (max-width: 767px) {
  #access_wrap .access_main-comment {
    width: 100%;
    text-align: center;
    font-size: 6vw;
  }
}

#access_wrap .access_content {
  max-width: 1080px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  #access_wrap .access_content {
    padding: 0 5vw;
  }
}

#access_wrap .access_content h2 {
  text-align: center;
  letter-spacing: 4px;
  margin: 60px 0;
  font-weight: 900;
  font-size: 62px;
}

@media screen and (max-width: 767px) {
  #access_wrap .access_content h2 {
    font-size: 28px;
    margin: 30px 0;
    letter-spacing: 2px;
  }
}

#access_wrap .access_content-comment p {
  font-size: 1.1rem;
  margin-bottom: 2rem;
}

#access_wrap .access_content-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 767px) {
  #access_wrap .access_content-flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

#access_wrap .access_content-flex:first-child {
  padding-right: 1rem;
}

@media screen and (max-width: 767px) {
  #access_wrap .access_content-flex:first-child {
    padding-right: 0;
    padding-bottom: 1rem;
  }
}

#access_wrap .access_content-flex .map_content {
  background: #fff;
  padding: 2rem;
}

#access_wrap .access_content-flex .map_content:first-child {
  margin-right: 1rem;
}

@media screen and (max-width: 767px) {
  #access_wrap .access_content-flex .map_content:first-child {
    margin-right: 0;
    margin-bottom: 1rem;
  }
}

#access_wrap .access_content-flex .map_content img {
  margin-bottom: 1rem;
}

#access_wrap .access_content-flex .map_content p {
  font-size: 1rem;
}

#access_wrap .access_content-inner {
  margin-bottom: 2rem;
}

#access_wrap .access_content-inner .add_content p {
  font-size: 1rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

#access_wrap .access_content-inner .add_content p span {
  font-size: 0.9rem;
}

#access_wrap .access_content-inner .esconLink {
  padding: 1rem 2rem;
  background: #000;
  color: #fff;
  text-align: center;
  display: block;
  border-radius: 30px;
}
/*# sourceMappingURL=style.css.map */