@charset "utf-8";

@font-face {
  font-family: NotoSerifJP-Regular;
  src: url("../font/NotoSerifJP-Regular.ttf");
}
@font-face {
  font-family: NotoSerifJP-SemiBold;
  src: url("../font/NotoSerifJP-SemiBold.ttf");
}
@font-face {
  font-family: LibreBaskerville;
  src: url("../font/LibreBaskerville-Regular.ttf");
}
@font-face {
  font-family: OoohBaby-Regular;
  src: url("../font/OoohBaby-Regular.ttf");
}

:root{
  --header-height:97px;
  
  
}
html{
  font-size: 62.5%;/* -> 10px(10pt)*/
  /*16px -> 1.6rem
    31px -> 3.2rem*/
}

body{
  box-sizing:border-box;
  font-family:NotoSerifJP-Regular,LibreBaskerville,serif;
  color: #4d4d4d;
  background-image: linear-gradient(90deg, #fff, #eae3d6 80%);
}

.vertical-text{
  writing-mode: vertical-rl;
  text-orientation: upright;
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
}

/* view-moreボタン */
.view-more{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 1.6rem;
  letter-spacing: 1px;
  position: relative;
  padding-right: 3rem;
  padding-bottom: 4px;
  border-bottom: 1px solid #4d4d4d;
}
.view-more::after{
  content: '';
  width: 9px;
  height: 9px;
  background-image: url("../img/icon/icon01.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 3px;
  right: 0;
}
@media screen and (max-width: 500px){
  .view-more::after{
    width: 12px;
    height: 12px;
  }
}

.tb-none {
  display: block;
}
.spse {
  display: none;
}
@media screen and (max-width: 900px){
  .tb-none {
    display: none;
  }
}
@media screen and (max-width: 350px){
  .spse {
    display: block;
  }
}

.title-deco01{
  position: relative;
}
.title-deco01::before{
  content: '';
  width: 50px;
  height: 50px;
  background-color: #DFE4EA;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 9px;
  transform: translateY(-50%);
  z-index: -1;
}

/*sectionタイトルパターン１*/
.h3-deco01{
  position: relative;
}
.h3-deco01::after{
  content: '';
  width: 15px;
  height: 3px;
  background-image: url("../img/icon/decoration01.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: -20px;
  transform: translateY(-50%);
}

/*sectionタイトルパターン２*/
.title-deco02{
  position: relative;
}
.title-deco02::before{
  content: '';
  width: 50px;
  height: 50px;
  background-color: #DFE4EA;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.h3-deco02{
  position: relative;
}
.h3-deco02::after{
  content: '';
  width: 15px;
  height: 3px;
  background-image: url("../img/icon/decoration01.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
}
.container{
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
}
.backtitle{
  font-family: OoohBaby-Regular, serif;
  font-size: 41.6rem;
  color: #EAE3D6;
}

a{
  transition: all 0.2s ease;
}
a:hover{
  opacity: .6;
}
p,blockquote{
  font-size: 1.6rem;
}

/*----------------------------
      top-template
----------------------------*/
.top-template{
  position: relative;
  width: 100%;
  height: 80vh;
  max-height: 732px;
  margin-top: 7.2rem;
}
.top-template::before{
  content: '';
  width: 100%;
  height: 80vh;
  max-height: 732px;
  background-image: url("../img/about/top01.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -3;
}
.top-template .top-template-text{
  position: absolute;
  top: 50%;
  left: 21rem;
  transform: translateY(-50%);
}
.top-template .top-template-text h1{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 7rem;
  position: relative;
}
.top-template .top-template-text h1::after{
  content: '';
  width: 35px;
  height: 7px;
  background-image: url("../img/icon/decoration01.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: -46px;
  transform: translateY(-50%);
}
.top-template .top-template-text span{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  font-size: 2.4rem;
}

/* =====================================
  header
===================================== */
/*header*/
.header-container{
  width: 100%;
  max-width:90%;
  margin:0 auto;
}

header{
  position: fixed;
  top:0;
  width: 100%;
  /*box-shadow: 0 0 10px #00000036;*/
  z-index: 9;
  background-image: linear-gradient(90deg, #fff, #eae3d6 40%);
}
header nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.logo{
  font-size:2rem;
  text-transform:uppercase;
  font-weight: bold;
}
.logo a{
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 2.8rem;
}
.header_logo{
  width: 30%;
}
.nav-wrap ul{
  padding:0;
}
.nav-wrap ul.top_nav{
  display: block;
}
.nav-wrap ul li{
  list-style:none;
  display:inline-block;
  position: relative;
}
.nav-wrap ul li a{
  text-decoration:none;
  padding: 20px 5px;
  position:relative;
  display:inline-block;
}
.nav-wrap ul li:nth-child(8) a{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 2.2rem;
  letter-spacing: 1px;
  padding: 0;
  position: relative;
}
.nav-wrap ul li:nth-child(8) a::before{
  content: '';
  position: absolute;
  top: 2px;
  left: -16px;
  width: 15px;
  height: 15px;
  background-image: url("../img/icon/tel.png");
  background-size: contain;
  background-repeat: no-repeat;
}
.nav-wrap ul li:last-child a, .nav-wrap ul li:nth-child(9) a{
  padding: 0;
}
.nav-wrap ul li a p{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.nav-wrap ul li a p span:first-child{
  font-size: 1.3rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
}
.top-news-grid .top-news-list ul li a::after{
  font-family:LibreBaskerville,NotoSerifJP-Regular,serif;
  font-size: 1.6rem;
  letter-spacing: 1px;
  margin-top: .4rem;
}
.nav-wrap ul li p{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.nav-wrap ul li p span{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  letter-spacing: 1px;
  margin: 1px 0;
}
.nav-wrap ul li p span:last-child{
  font-size: 1.6rem;
  letter-spacing: 1px;
}
.header_line{
  width: 10%
}
.nav-wrap ul li p .fs-14{
  font-size: 1.4rem!important;
}
.fs-14{
  font-size: 1.4rem;
}

@media screen and (min-width: 919px){
  .nav-wrap li:hover > ul.sub-nav{
    display: block;
  }
  .nav-wrap > ul > li{
    margin-right: 15px;
  }
  .nav-wrap > ul > li:nth-child(8){
    border-left: 1px solid #000;
    padding-left: 3rem;
    margin-right: 20px;
  }
  
  /*LINE icon*/
  .nav-wrap > ul > li:nth-child(9) a::before{
    content:'';
    position: absolute;
    top: -8px;
    width:28px;
    height:28px;
    background-image:url("../img/icon/LINE_icon.png");
    background-size: contain;
    background-repeat: no-repeat;
  }
  .nav-wrap > ul > li:last-child a::before{
    content:'';
    position: absolute;
    top: -8px;
    right: -50px;
    width:28px;
    height:28px;
    background-image:url("../img/icon/instagram_gradient.webp");
    background-size: contain;
    background-repeat: no-repeat;
  }
  /*.nav-wrap > ul .header_line::before{
    content:'';
    position: absolute;
    top: 30px;
    left: 0;
    width:28px;
    height:28px;
    background-image:url("../img/icon/LINE_icon.png");
    background-size: contain;
    background-repeat: no-repeat;
  }
  .nav-wrap > ul .header_instagram.header_line::before{
    background-image:url("../img/icon/instagram_gradient.webp");
    top: 30px;
    right: 0;
  }*/
}
 

/*Res Button*/
.nav-button {
  height: 27px;
  width: 36px;
  margin-left: 30px;
  display: none;
}
.nav-button a{
  height: 27px;
  width: 36px;
  display: inline-block;
  cursor: pointer;
}
.nav-button span,
.nav-button span:before,
.nav-button span:after{
  cursor:pointer;
  border-radius: 50px;
  height:5px;
  width:35px;
  background: #fff;
  
  position:absolute;
  display:block;
  content:'';
  transition:all 300ms ease-in-out;
}
.nav-button span{
  margin: 10px 0 0 0;
}
.nav-button span:before{
  top: -10px;
}
.nav-button span:after{
  top: 10px;
}

/*headerここまで*/

.booking-btn{
  color: #fff;
  position: fixed;
  top: 8.2rem;
  right: 0;
  background-color: #2c3e50;
  border-radius: 5px 0px 0px 5px;
  z-index: 10;
}
.booking-btn a{
  padding: 2rem;
  font-size: 2rem;
}

@-webkit-keyframes fadeInRight{
  from{
    opacity:0;
    -webkit-transform:translate3d(20%,0,0);
    transform:translate3d(20%,0,0);
  }to{
    opacity:1;
    -webkit-transform:translate3d(0,0,0);
    transform:translate3d(0,0,0);
  }
}
@keyframes fadeInRight{
  from{
    opacity:0;
    -webkit-transform:translate3d(20%,0,0);
    transform:translate3d(20%,0,0);
  }to{
    opacity:1;
    -webkit-transform:translate3d(0,0,0);
    transform:translate3d(0,0,0);
  }
}

.fadeInRight{
  -webkit-animation-name:fadeInRight;
  animation-name:fadeInRight;
}
@-webkit-keyframes fadeInUp{
  from{
    opacity:0;
    -webkit-transform:translate3d(0,20%,0);
    transform:translate3d(0,20%,0);
  }to{
    opacity:1;
    -webkit-transform:translate3d(0,0,0);
    transform:translate3d(0,0,0);
  }
}
@keyframes fadeInUp{
  from{
    opacity:0;
    -webkit-transform:translate3d(0,20%,0);
    transform:translate3d(0,20%,0);
  }to{
    opacity:1;
    -webkit-transform:translate3d(0,0,0);
    transform:translate3d(0,0,0);
  }
}
.fadeInUp{
  -webkit-animation-name:fadeInUp;
  animation-name:fadeInUp;
}



/*Res Button*/
@media screen and (max-width: 919px){
  .nav-button{display: block;}
  .show_menu #nav-toggle span:after {transform: translate3d(0, -10px, 0) rotate(-91deg);}
  .show_menu #nav-toggle span {transform: translate3d(0, 0px, 0) rotate(45deg);}
  .show_menu #nav-toggle span:before { transform: rotate(-45deg) translate3d(-5.71429px, -6px, 0); opacity: 0; }
}

@media screen and (max-width: 919px){
   header nav{padding: 20px 0;}
   .nav-wrap ul.top_nav{display: none;position: absolute;left: 0;right: 0;top: 100%;background: #051124;height: calc(100vh - 85px);overflow-y: scroll;}
   .nav-wrap > ul li{width: 100%;border-top: 1px solid #374760;position: relative;}
   .nav-wrap > ul > li:last-child{border-bottom: 1px solid #374760;}
   .nav-wrap > ul > li a{width: 100%;margin: 0;font-size: 20px;width: 100%;display: block;padding: 20px 6% 21px 6%;color: #fff;}
   ul li span.down-arrow {position: absolute;height: 64px;width: 50px;top: 0;right: 0;z-index: 2;cursor: pointer;user-select: none;}
   .nav-wrap ul li a:not(:only-child){width: auto;display: inline-block;}
   .nav-wrap > ul li.has-submenu:before{font-family:"Font Awesome 5 Free";font-weight:900;content:"\f078";left:inherit;right: 34px;font-size:16px;margin-top:-7px;position:absolute;top: 33px;color: #fff;}
   .nav-wrap ul ul a{padding-left: 9%;}
}


/*----------------------------
      ハンバーガーメニュー
----------------------------*/
/* ハンバーガーアイコン */
.hamburger-overlay {
  position: fixed;
  top: 12px;
  right: 15px;
  z-index: 1000;
  width: 48px;
  height: 48px;
  border: none;
  background: transparent;
  cursor: pointer;
}

.hamburger-overlay__line {
  position: absolute;
  left: 11px;
  width: 26px;
  height: 2px;
  background-color: #333;
  transition: all .6s;
}

.hamburger-overlay__line:nth-of-type(1) { top: 14px; }
.hamburger-overlay__line:nth-of-type(2) { top: 23px; }
.hamburger-overlay__line:nth-of-type(3) { top: 32px; }

.hamburger-overlay.active .hamburger-overlay__line {
  background-color: #2C3E50;
}

.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(2) {
  opacity: 0;
}
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

.nav-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-image: linear-gradient(90deg, #fff, #eae3d6 80%);
  visibility: hidden;
  opacity: 0;
  transition: all .6s;
  z-index: 900;
}

.nav-overlay.active {
  visibility: visible;
  opacity: 1;
}

.nav-overlay__content {
  position: absolute;
  top: 0;
  left: 0;
  transform: none;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; /* スマホで滑らかに */
  padding: 90px 0 150px; /* 上にロゴ等がある場合に余白調整 */
  box-sizing: border-box;
  /*position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;*/
}

.nav-overlay__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-overlay__item {
  opacity: 0;
  /*transform: translateY(20px);*/
  transition: all .6s;
}

.nav-overlay.active .nav-overlay__item {
  opacity: 1;
  /*transform: translateY(0);*/
}

/*.nav-overlay.active .nav-overlay__item:nth-child(1) { transition-delay: 0.1s; }
.nav-overlay.active .nav-overlay__item:nth-child(2) { transition-delay: 0.2s; }
.nav-overlay.active .nav-overlay__item:nth-child(3) { transition-delay: 0.3s; }
.nav-overlay.active .nav-overlay__item:nth-child(4) { transition-delay: 0.4s; }
*/
.nav-overlay__link {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  padding: 10px 16px;
  color: #2C3E50;
  font-size: 1.6rem;
  letter-spacing: 2px;
  text-decoration: none;
  transition: color .3s;
}
.nav-overlay__link span{
  font-size: 1.3rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 2px;
}

.nav-overlay__link:hover {
  color: #4a90e2;
}

.web-sp{
  background-color: #2C3E50;
  color: #EAE3D6;
  padding: 16px 40px 16px 16px;
  font-size: 1.6rem;
  margin: 10px 16px;
  display: inline-block;
  position: relative;
}
.web-sp::after{
  content: '';
  width: 16px;
  height: 16px;
  background-image: url("../img/icon/icon03.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: 16px;
  transform: translateY(-50%);
}
.nav-overlay__list li p{
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 16px;
  font-size: 1.6rem;
}
.tel-sp{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 2.2rem;
  letter-spacing: 1px;
  padding-left: 20px;
  position: relative;
}
.tel-sp::before{
  content: '';
  position: absolute;
  top: 2px;
  left: 0px;
  width: 16px;
  height: 16px;
  background-image: url("../img/icon/tel.png");
  background-size: contain;
  background-repeat: no-repeat;
}
.tel-sp span{
  letter-spacing: 1px;
}
.tel-sp span:not(:last-child){
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
}
.header_line-sp, .header_instagram-sp{
  position: relative;
}
.header_line-sp::before{
  content:'';
  position: absolute;
  top: 5px;
  left: 16px;
  width:40px;
  height:40px;
  background-image:url("../img/icon/LINE_icon.png");
  background-size: contain;
  background-repeat: no-repeat;
}
.header_instagram-sp.header_line-sp::before{
  background-image:url("../img/icon/instagram_gradient.webp");
  left: 75px;
}

.logo-sp{
  font-size: 2.2rem;
  text-transform: uppercase;
  font-weight: bold;
  /*position: absolute;
  top: 0;
  left: 0;*/
  position: relative;
  z-index: 1000;
  padding: 2rem;
}
.logo-sp a{
  /*display: flex;
  align-items: center;
  gap: 5px;*/
  position: relative;
}
.logo-sp a::before{
  content: "";
  width: 30px;
  height: 30px;
  background-image: url("../img/icon/Jeunesse_logo.png");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
}
.logo-sp a span{
  padding-left: 4rem;
}
.logo-sp a img{
  width: 10%;
}
.web-btn-sp{
  position: absolute;
  top: 50%;
  right: 40px;
  z-index: 1000;
  transform: translateY(-50%);
}
.web-btn-sp a{
  padding: 1.5rem 0;
  width: 100px;
  color: #EAE3D6;
  background-color: #2C3E50;
  font-size: 1.6rem;
  text-align: center;
}


/* =====================================
  top
===================================== */
/*----------------------------
          top
----------------------------*/
.top{
  margin-top: 8.5rem;
  position: relative;
}

/*swiper*/
.swiper-wrap {
  margin: 0 calc(50% - 50vw);
  max-width: 95vw;
  max-height: 732px;
  overflow: hidden;
  border-radius: 0 5px 5px 0;
  box-shadow: 3px 3px 15px 0px rgba(0, 0, 0, 0.25);
  position: relative;
}

@keyframes zoom-in {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.05);
  }
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img{
  animation: zoom-in 10s linear 0s 1 normal both;  
}

.slide-text{
  position: absolute;
  bottom: 6%;
  left: 0;
  font-size: 4rem;
  z-index: 2;
  background-image: linear-gradient(90deg, #fff, #eae3d6 40%);
  border-radius: 0 10px 10px 0;
  padding: 2rem 3rem 2rem 5rem;
}
.slide-text h1{
  line-height: 2;
  letter-spacing: 1px;
}

.slide-img img{
  object-fit: cover;
  /*height: 100vh;*/
  width: 100%;
}

.top .swiper-img{
  
}
.slide-text02{
  position: absolute;
  bottom: 6%;
  right: 3%;
  z-index: 2;
}
.slide-text02 p{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 1.4rem;
  line-height: 2;
}

/*----------------------------
          top-about
----------------------------*/
.top-about{
  margin: 6rem 0 6rem;
}
.top-about .top-about-grid{
  display: grid;
  grid-template-columns: calc(100% / 12 * 4.5) calc(100% / 12 * 7.5);
  gap: 0;
}
.top-about .top-about-grid .top-about-text{
  
}
.top-about-grid .top-about-text .top-about-title{
  margin-bottom: 4.5rem;
}

.top-about-grid .top-about-text .top-about-title h3{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 3.2rem;
}

.top-about-grid .top-about-text .top-about-title > span{
  font-size: 1.6rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
}
.top-about .top-about-grid .top-about-text > h3{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  font-size: 2.4rem;
  letter-spacing: 2px;
  margin-bottom: 2.5rem;
  line-height: 2;
}
.top-about .top-about-grid .top-about-text > p{
  font-size: 1.6rem;
  letter-spacing: 2px;
  line-height: 2;
  margin-bottom: 2.5rem;
}

.top-about-grid .top-about-img{
  display: flex;
  gap: 15px;
  align-items: center;
  position: relative;
  padding-left: 5rem;
}
.top-about-grid .top-about-img::before{
  content: '';
  width: 231px;
  height: 390px;
  background-image: url("../img/top/about01.webp");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: -5rem;
  z-index: -1;
}
.top-about-grid .top-about-img img{
  width: 100%;
  box-shadow: 1px 1px 15px 0px rgba(0, 0, 0, 0.25);
  border-radius: 5px;
}

/*----------------------------
          top-seawater
----------------------------*/
.top-seawater{
  position: relative;
  width: 100%;
  height: 100vh;
  max-height: 999px;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}
.top-seawater::before{
  content: '';
  width: 100%;
  height: 100vh;
  max-height: 999px;
  background-image: url("../img/top/seawater01.webp");
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -3;
}
.top-seawater .top-seawater-text{
  position: relative;
}
.top-seawater .top-seawater-text::before{
  content: '';
  width: 250px;
  height: 250px;
  background-image: url("../img/top/seawater02.webp");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -10rem;
  left: -27rem;
  z-index: -1;
}
.top-seawater .top-seawater-text::after{
  content: '';
  width: 600px;
  height: 600px;
  background-image: linear-gradient(90deg, #fff, #eae3d6 40%);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -2;
}
.top-seawater-text .top-seawater-title{
  text-align: center;
  margin-bottom: 3.5rem;
}
.top-seawater-text .top-seawater-title h3{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 3.2rem;
  margin-bottom: 1rem;
}

.top-seawater-text .top-seawater-title > span{
  font-size: 1.6rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
}
.top-seawater-text > h3{
  text-align: center;
  font-size: 2.2rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
  line-height: 1.5;
  margin-bottom: 3rem;
  position: relative;
}
.top-seawater-text > h3::before{
  content: '';
  width: 58px;
  height: 59px;
  background-image: url("../img/icon/decoration02.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 5px;
  left: -40px;
}
.top-seawater-text > h3::after{
  content: '';
  width: 72px;
  height: 35px;
  background-image: url("../img/icon/decoration03.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 25px;
  right: -45px;
}
.top-seawater-text > h3 span{
  font-size: 4rem;
  letter-spacing: 3px;
}
.top-seawater-text .top-seawater-p{
  letter-spacing: 2px;
  line-height: 2;
  margin-bottom: 3rem;
  
}
.top-seawater-text .top-seawater-viewmore{
  text-align: center;
}
.bubble::before{
  content: "";
  width: 50px;
  height: 50px;
  background: url("../img/icon/bubble.png") no-repeat center/contain;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: none;/*追加時は消す*/
}

.bubble::after{
  content: "";
  width: 50px;
  height: 50px;
  background: url("../img/icon/bubble.png") no-repeat center/contain;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  display: none;/*追加時は消す*/
}


/*----------------------------
          top-menu
----------------------------*/
.top-menu{
  position: relative;
  width: 100%;
  height: 75vh;
  max-height:686px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top-menu::before{
  content: '';
  width: 100%;
  height: 75vh;
  max-height:686px;
  background-image: url("../img/top/menu01.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -3;
}
.top-menu .container{
  max-width: 100%;
}
.top-menu-text .top-menu-title{
  text-align: center;
  margin-bottom: 3.5rem;
}
.top-menu-text .top-menu-title h3{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 3.2rem;
  margin-bottom: 1rem;
}
.top-menu-text .top-menu-title > span{
  font-size: 1.6rem;
}
.top-menu-text .title-deco02::before{
  background-color: #EAE3D6;
}
.top-menu-text .top-menu-genre ul{
  display: flex;
  justify-content: center;
  gap: 8px;
}
.top-menu-text .top-menu-genre ul li{
  display: flex;
  justify-content: center;
  align-items: center;
}
.top-menu-text .top-menu-genre ul li a{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  font-size: 2.4rem;
  position: relative;
  width: 204px;
  height: 204px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: linear-gradient(90deg, #fff, #eae3d6 40%);
  border-radius: 50%;
  border: 1px solid #2C3E50;
}
.top-menu-text p{
  text-align: center;
  margin-top: 5rem;
}
.top-menu-text p a{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
  padding: 1.5rem 3.5rem;
  background: #eae3d6;
  font-size: 1.6rem;
}

/*----------------------------
      top-new-guest-guide
----------------------------*/
.top-new-guest-guide{
  position: relative;
  width: 100%;
  height: 75vh;
  max-height:686px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top-new-guest-guide::before{
  content: '';
  width: 100%;
  height: 75vh;
  max-height:686px;
  background-image: url("../img/top/new-guest-guide01.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -3;
}
.top-new-guest-guide .container{
  max-width: 1000px;
  background-color: rgba(255, 255, 255, .8);
  padding: 3rem 13.5rem 4rem;
}
.top-new-guest-guide figure{
  display: flex;
  justify-content: center;
  margin-bottom: 2rem;
}
.top-new-guest-guide figure img{
  width: 17%;
}

.top-new-guest-guide .top-newguest-text{
  position: relative;
}
.top-newguest-text .top-newguest-title{
  text-align: center;
  margin-bottom: 3.5rem;
}
.top-newguest-text .top-newguest-title h3{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 3.2rem;
  margin-bottom: 1rem;
}

.top-newguest-text .top-newguest-title > span{
  font-size: 1.6rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
}
.top-newguest-text .top-newguest-p{
  letter-spacing: 2px;
  line-height: 2;
  margin-bottom: 3rem;
}
.top-newguest-text .top-newguest-viewmore{
  text-align: center;
}

/*----------------------------
      top-news
----------------------------*/
.top-news{
  margin: 8rem 0;
}
.top-news .container{
  max-width: 1500px;
}
.top-news .top-news-grid{
  display: grid;
  grid-template-columns: calc(100% / 12 * 2) calc(100% / 12 * 10);
}
.top-news-grid .top-news-text .top-news-title{
  margin-bottom: 4rem;
}
.top-news-grid .top-news-text .top-news-title h3{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 3.2rem;
}

.top-news-grid .top-news-text .top-news-title > span{
  font-size: 1.6rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
}
.top-news-grid .top-news-list ul li{
  border-top: 1px solid #4D4D4D;
}
.top-news-grid .top-news-list ul li:last-child{
  border-bottom: 1px solid #4D4D4D;
}
.top-news-grid .top-news-list ul li a{
  display: flex;
  padding: 3rem 0 3rem 3rem;
  position: relative;
}
.top-news-grid .top-news-list ul li a::after{
  content: '';
  width: 15px;
  height: 15px;
  background-image: url("../img/icon/icon01.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: 3px;
  transform: translateY(-50%);
}
.top-news-grid .top-news-list ul li a span{
  padding-right: 2rem;
  font-size: 1.6rem;
}
.top-news-grid .top-news-list ul li a p{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;

}
/*----------------------------
      top-sns
----------------------------*/
.top-sns{
  background-image: url("../img/top/sns01.webp");
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  padding: 8rem 0;
}
.top-sns::before{
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 1);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.top-sns .container{
  max-width: 1000px;
}
.top-sns .container .container{
  max-width: 100%;
}
.top-sns .top-sns-text{
  border: 2rem solid #2C3E50;
  position: relative;
  text-align: center;
  padding: 1.6rem 0 4rem;
  background-image: linear-gradient(90deg, #fff, #eae3d6 80%);
  margin-bottom: 2rem;
}
.top-sns-text h3{
  font-family: OoohBaby-Regular, serif;
  font-size: 3.7rem;
  color: #8F9FAE;
  margin-bottom: .5rem;
}
.top-sns-text h4{
  position: relative;
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 3.2rem;
}
.top-sns-text h4::after{
  content: '';
  width: 16px;
  height: 3px;
  background-image: url("../img/icon/decoration01.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%) rotate(90deg);
}
.top-sns-text a{
}
.top-sns-text a::before{
  content: '';
  width: 30px;
  height: 30px;
  background-image: url("../img/icon/instagram.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 25%;
  transform: translateY(-50%);
}
.top-sns-check{
  text-align: center;
  padding-top: 10rem;
}
.top-sns-check a{
  position: relative;
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 1.6rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid #4d4d4d;
  padding-right: 3rem;
}
.top-sns-check a::before{
  content: '';
  width: 187px;
  height: 82px;
  background-image: url("../img/icon/check.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: -8rem;
  right: -27px;
}
.top-sns-check a::after{
  content: '';
  width: 9px;
  height: 9px;
  background-image: url("../img/icon/icon01.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: 7px;
  transform: translateY(-50%);
}
@media screen and (max-width: 500px){
  .top-sns-check a::after{
    width: 12px;
    height: 12px;
  }
}
/*.top-sns-img{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 10px;
}
.top-sns-img img{
  width: 100%;
  object-fit: cover;
}*/
.sb_instagram_header, #sb_instagram #sbi_load{
  display: none;
}

/*----------------------------
      top-store
----------------------------*/
.top-store{
  margin-top: 6rem;
}
.top-store .container{
  max-width: 1500px;
}
.top-store .top-store-grid{
  display: grid;
  grid-template-columns: calc(100% / 12 * 3.8) calc(100% / 12 * 8.2);
  /*gap: 50px;*/
}
.top-store .top-store-text{
  position: relative;
}
.top-store .top-store-text::after{
  content: '';
  width: 50px;
  height: 120px;
  background-image: url("../img/top/store03.webp");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: 4rem;
  transform: translateY(-50%);
}
.top-store .top-store-text > p{
  margin-bottom: 3rem;
  letter-spacing: 1px;
  font-size: 1.6rem;
}
.top-store .top-store-text ul{
  margin-bottom: 3rem;
}
.top-store .top-store-text ul li:first-child{
  margin-bottom: 3rem;
}
.top-store .top-store-text ul li a{
  border: 1px solid #2C3E50;
  padding: 1rem 14rem 1rem .7rem;
  position: relative;
}
.top-store .top-store-text ul li a::after{
  content: '';
  width: 9px;
  height: 9px;
  background-image: url("../img/icon/icon01.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: 7px;
  transform: translateY(-50%);
}
.top-store .top-store-text ul li a span{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
  font-size: 1.6rem;
}
.top-store-grid .top-store-text .top-store-title {
  margin-bottom: 4rem;
}

.top-store-grid .top-store-text .top-store-title h3{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 3.2rem;
}
.top-store-grid .top-store-text .top-store-title > span{
  font-size: 1.6rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
}
.top-store-grid .top-store-img{
  display: flex;
}
.top-store-grid .top-store-img figure:first-child{
  display: flex;
  align-items: flex-end;
}
.top-store-grid .top-store-img figure:last-child{
  padding-left: 2rem;
  padding-bottom: 3rem;
}
.top-store-grid .top-store-img figure img{
  width: 100%;
  box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.25);
  border-radius: 7px;
}

/*----------------------------
      top-base
----------------------------*/
.top-base{
  margin: 6rem 0;
}
.top-base .container{
  max-width: 1500px;
}
.top-base img{
  width: 100%;
}
.top-base-grid{
  background-color: #2c3e50;
  display: grid;
  grid-template-columns: calc(100% / 12 * 6) calc(100% / 12 * 6);
  padding: 2rem 3rem;
  box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.25);
}
.top-base-grid .top-base-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.top-base-grid .top-base-text h2{
  color: #eae3d6;
  font-size: 5.6rem;
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
}
.top-base-grid .top-base-text h3{
  color: #eae3d6;
  font-size: 3.2rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
  margin-bottom: 1rem;
}
.top-base-grid .top-base-text a{
  color: #2c3e50;
  background-color: #eae3d6;
  padding: 1rem 3rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
  font-size: 1.6rem;
}
.top-base-grid .top-base-text a span{

}

/*----------------------------
      top-contact
----------------------------*/
.top-contact{
  background-image: url("../img/top/contact01.webp");
  background-size: cover;
  padding: 5rem 0;
}
.top-contact-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
.top-contact-grid .top-contact-reserve, 
.top-contact-grid .top-contact-contact{
  background-color: rgba(255, 255, 255, .8);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3rem 0;
}
.top-contact-grid .top-contact-reserve .title-deco02::before, 
.top-contact-grid .top-contact-contact .title-deco02::before{
  z-index: 0;
}
.top-contact-grid .top-contact-reserve .top-contact-title, 
.top-contact-grid .top-contact-contact .top-contact-title{
  text-align: center;
  margin-bottom: 3.5rem;
}
.top-contact-grid .top-contact-reserve .top-contact-title h3, 
.top-contact-grid .top-contact-contact .top-contact-title h3{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 3.2rem;
  margin-bottom: 1rem;
}
.top-contact-grid .top-contact-reserve .top-contact-title > span,
.top-contact-grid .top-contact-contact .top-contact-title > span{
  font-size: 1.6rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
  position: relative;
}
.top-contact-grid .hotpepper-btn{
  margin-bottom: 1.5rem;
}
.top-contact-grid .hotpepper-btn a{
  background-color: #9F1547;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.6rem 0;
  box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.25);
  width: 33rem;
}
.top-contact-grid .hotpepper-btn a span:first-child{
  font-size: 2.2rem;
  padding-bottom: .5rem;
}
.top-contact-grid .hotpepper-btn a span:last-child{
  font-size: 2.2rem;
  padding-bottom: .3rem;
  border-bottom: 1px solid #fff;
  position: relative;
  padding-right: 1.2rem;
}
.top-contact-grid .hotpepper-btn a span:last-child::after{
  content: '';
  width: 9px;
  height: 9px;
  background-image: url("../img/icon/icon03.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: 0px;
  transform: translateY(-50%);
}
@media screen and (max-width: 500px){
  .top-contact-grid .hotpepper-btn a span:last-child::after{
    width: 12px;
    height: 12px;
  }
}
.top-contact-grid .tel-btn a{
  background-color: #2C3E50;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.6rem 0;
  box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.25);
  width: 33rem;
  gap: 1px;
  letter-spacing: 1px;
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 1.4rem;
}
.top-contact-grid .tel-btn a span:first-child{
  font-size: 2.2rem;
  letter-spacing: 2px;
  position: relative;
}
.top-contact-grid .tel-btn a span:first-child::before{
  content: '';
  position: absolute;
  top: 2px;
  left: -20px;
  width: 15px;
  height: 15px;
  background-image: url("../img/icon/tel02.png");
  background-size: contain;
  background-repeat: no-repeat;
}
.top-contact-grid .tel-btn a span:last-child{
  font-family:NotoSerifJP-Regular,LibreBaskerville,serif;
}
.top-contact-grid .line-btn{
  margin-bottom: 1.5rem;
}
.top-contact-grid .line-btn a{
  background-color: #fff;
  color: #2C3E50;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.6rem 0 1.6rem 2rem;
  box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.25);
  width: 33rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  position: relative;
}
.top-contact-grid .line-btn a span:first-child{
  font-size: 2.2rem;
  padding-bottom: .5rem;
}
.top-contact-grid .line-btn a span:last-child{
  font-size: 2.2rem;
  padding-bottom: .3rem;
  border-bottom: 1px solid #fff;
  position: relative;
}
.top-contact-grid .line-btn a::before{
  content: '';
  width: 28px;
  height: 28px;
  background-image: url("../img/icon/LINE_icon.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
}
.top-contact-grid .line-btn a::after{
  content: '';
  width: 12px;
  height: 12px;
  background-image: url("../img/icon/icon01.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: 13px;
  transform: translateY(-50%);
}
/*@media screen and (max-width: 500px){
  .top-contact-grid .line-btn a::after{
    width: 12px;
    height: 12px;
  }
}*/

/* =====================================
  about
===================================== */
/*----------------------------
      about-top
----------------------------*/
.about-top{
  position: relative;
  width: 100%;
  height: 80vh;
  margin-top: 7.2rem;
}
.about-top::before{
  content: '';
  width: 100%;
  height: 80vh;
  background-image: url("../img/about/top01.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -3;
}
.about-top .about-top-text{
  position: absolute;
  top: 50%;
  left: 14rem;
  transform: translateY(-50%);
}
.about-top .about-top-text h1{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 4.5rem;
  position: relative;
}
.about-top .about-top-text h1::after{
  content: '';
  width: 35px;
  height: 7px;
  background-image: url("../img/icon/decoration01.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: -46px;
  transform: translateY(-50%);
}
.about-top .about-top-text span{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  font-size: 1.6rem;
}

/*----------------------------
      about-top02
----------------------------*/
.about-top02{
  margin: 5.5rem 0;
}
.about-top02 .about-top02-container{
  /*width: 100%;
  max-width: 80%;
  margin: 0 auto;*/
}
.about-top02 .about-top02-grid{
  display: grid;
  grid-template-columns: calc(100% / 12 * 6) calc(100% / 12 * 6);
  background-image: linear-gradient(90deg, #eae3d6, #fff 80%);
  border-radius: 9999px 0 0 9999px;
  margin-left: 6.5rem;
}
.about-top02-grid .about-top02-text{
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 8rem 0 8rem 14rem;
  gap: 15px;
  position: relative;
}
.about-top02-grid .about-top02-text::after{
  content: '';
  width: 231px;
  height: 390px;
  background-image: url("../img/top/about01.webp");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -9rem;
  right: 0;
  z-index: -1;
}
.about-top02-grid .about-top02-text h4{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  font-size: 2.4rem;
  line-height: 2;
  letter-spacing: 1px;
}
.about-top02-grid .about-top02-text blockquote{
  line-height: 2;
  letter-spacing: 1px;
}
.about-top02-grid .about-top02-img figure{
  position: relative;
}
.about-top02-grid .about-top02-img figure img{
  max-height: 458px;
  width: 92%;
  position: absolute;
  top: 6rem;
  right: 0;
}

/*----------------------------
      about-service
----------------------------*/
.about-service{
  position: relative;
  padding-top: 30rem;
}
.about-service .about-service-backtitle{
  position: absolute;
  top: 2rem;
  left: 1rem;
  z-index: -2;
}

.about-service .about-service-text{
  margin-bottom: 8rem;
}
.about-service .about-service-text .about-service-title{
  margin-bottom: 4rem;
}
.about-service .about-service-text .about-service-title h3 {
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 3.2rem;
}
.about-service .about-service-text .about-service-title > span {
  font-size: 1.6rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
}
.about-service .about-service-text p {
  letter-spacing: 1px;
  line-height: 2;
}
.about-service .about-service-imgcontainer{
  display: grid;
  grid-template-columns: calc(100% / 12 * 6) calc(100% / 12 * 6);
  width: 100%;
  max-width: 1760px;
  margin: 0 auto;
}
.about-service .about-service-imgcontainer figure{
  position: relative;
}
.about-service .about-service-imgcontainer figure img{
  width: 100%;
  border-radius: 6px;
  box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.25);
}
.about-service .about-service-imgcontainer figure:last-child img{
  position: absolute;
  top: -8rem;
  right: 0;
  width: 93%;
}
.about-service .about-service-grid{
  display: grid;
  grid-template-columns: calc(100% / 12 * 6) calc(100% / 12 * 6);
}
.about-service .about-service-grid:not(:last-child){
  margin: 7rem 0;
}
.about-service .about-service-grid .about-service-text02{
  background-image: linear-gradient(90deg, #fff, #eae3d6 80%);
  border-radius: 9999px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 8rem;
}
.about-service .about-service-grid .about-service-text02 h4{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  font-size: 2.4rem;
  line-height: 1.5;
  margin-bottom: 1.2rem;
}
.about-service .about-service-grid .about-service-text02 h4 span{
  color: #D4AF37;
}
.about-service .about-service-grid .about-service-text02 blockquote{
  letter-spacing: 1px;
  line-height: 2;
  margin-bottom: 2.5rem;
}
.about-service .about-service-grid .about-service-img figure{
  display: flex;
  justify-content: flex-end;
}
.about-service .about-service-grid .about-service-img figure img{
  width: 87%;
  position: relative;
}
.about-service .about-service-grid .about-service-img figure img::before {
  content: "";
  position: absolute;
  bottom: -20px;
  right: -20px;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(#999 30%, rgba(0, 0, 0, 0) 31%), radial-gradient(#999 30%, rgba(0, 0, 0, 0) 31%);
  background-size: 6px 6px;
  background-position: 0 0, 3px 3px;
  z-index: -1;
}

/*----------------------------
      about-product
----------------------------*/
.about-product{
  position: relative;
  margin: 30rem 0 10rem;
}
.about-product .about-product-backtitle{
  position: absolute;
  top: -25rem;
  left: 1rem;
  z-index: -3;
}

.about-product .about-product-text .about-product-title h3 {
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 3.2rem;
}
.about-product .about-product-text .about-product-title > span {
  font-size: 1.6rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
}
.about-product .about-product-container{
  width: 100%;
  max-width: 96%;
}
.about-product-background{
  position: relative;
  width: 100%;
  height: 83vh;
  max-height: 732px;
  margin-top: 2rem;
}
.about-product-background::before{
  content: '';
  width: 100%;
  height: 83vh;
  max-height: 732px;
  background-image: url("../img/about/product01.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -3;
  box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.25);
  border-radius: 5px;
}
.about-product-background .about-product-text{
  position: absolute;
  top: 50%;
  right: 22rem;
  transform: translateY(-50%);
}
.about-product-background .about-product-text h2{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
  line-height: 2;
  font-size: 2.4rem;
}
.about-product-background .about-product-text h2 span{
  font-size: 4rem;
  line-height: 1.5;
  letter-spacing: 2px;
}
.about-product .about-product-grid{
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 45px;
  margin-top: 4.5rem;
}
.about-product-grid .about-product-card{
  display: grid;
  grid-row: span 2;
  grid-template-rows: subgrid;
  row-gap: 12px;
}
.about-product-grid .about-product-card img{
  width: 100%;
  border-radius: 3px;
}
.about-product-grid .about-product-card .about-product-text02 h4{
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
  margin: 1.6rem 0;
  letter-spacing: 1px;
  line-height: 2;
}

.about-product-grid .about-product-card .about-product-text02 p{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  line-height: 2;
  font-size: 1.6rem;
}
.about-product-grid .about-product-card .about-product-base{
  background-color: #2C3E50;
  color: #EAE3D6;
  padding: 2rem;
  letter-spacing: 2px;
  border-radius: 3px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.about-product-grid .about-product-card .about-product-base h3{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  text-align: center;
  font-size: 5.6rem;
  margin-bottom: .4rem;
}
.about-product-grid .about-product-card .about-product-base p{
  font-family: NotoSer.about-service .about-service-textifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  text-align: center;
  font-size: 2.4rem;
  margin-bottom: 1rem;
}
.about-product-grid .about-product-card:last-child .about-product-text02 p{
  margin-bottom: 1.5rem;
}
.about-product-grid .about-product-card:last-child .about-product-text02 .cart-btn{
  display: flex;
  justify-content: center;
}
.about-product-grid .about-product-card:last-child .about-product-text02 .cart-btn a span{
  font-weight: bold;
}

/* =====================================
  seawater
===================================== */
/*----------------------------
     top-template seawater
----------------------------*/
.seawater.top-template::before{
  background-image: url("../img/seawater/top01.png");
}
.seawater.top-template .top-template-text h1::after{
  background-image: url("../img/icon/decoration05.png");
}
.seawater.top-template .top-template-text{
  color: #fff;
}
.seawater.top-template img{
  width: 35%;
  position: absolute;
  top: 50%;
  right: 4rem;
  transform: translateY(-50%);
}

/*----------------------------
    seawater-detail
----------------------------*/
.seawater-detail{
  margin: 3rem 0;
  margin-bottom: 6rem;
}
.seawater-detail .seawater-detail-text{
  margin-bottom: 2.5rem;
}
.seawater-detail .seawater-detail-text .seawater-detail-title{
  display: flex;
}
.seawater-detail .seawater-detail-text .seawater-detail-title h2{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  background-image: linear-gradient(90deg, #eae3d6, #fff 88%);
  font-size: 2rem;
  letter-spacing: 2px;
  padding: 3rem 7rem 3rem 12rem;
  border-radius: 0 9999px 9999px 0;
  position: relative;
}
.seawater-detail .seawater-detail-text .seawater-detail-title h2::before{
  content: '';
  width: 40px;
  height: 40px;
  background-image: url("../img/icon/decoration02.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 0;
  right: -6rem;
}
.seawater-detail .seawater-detail-text .seawater-detail-title h2::after{
  content: '';
  width: 53px;
  height: 35px;
  background-image: url("../img/icon/decoration03.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 20px;
  right: -12rem;
}
.seawater-detail .seawater-detail-text .seawater-detail-title h2 span{
  font-size: 4rem;
}
.seawater-detail .seawater-detail-background{
  position: relative;
}
.seawater-detail .seawater-detail-background::before{
  content: '';
  width: 100%;
  height: 100%;
  background-image: url("../img/seawater/detail03.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -3;
}
.seawater-detail .container > p{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  line-height: 2;
}
.seawater-detail .seawater-detail-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 85px;
}
.seawater-detail-grid .seawater-detail-card h4{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  color: #D4AF37;
  text-align: center;
  font-size: 3rem;
  margin-bottom: 1rem;
}
.seawater-detail-grid .seawater-detail-card img{
  width: 100%;
}
.seawater-detail-grid .seawater-detail-card p{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  line-height: 2;
  margin-top: 2rem;
}

.bubble01 img{
  width: 2%;
  position: absolute;
  top: 16rem;
  right: 8rem;
  opacity: 1;
  /*opacity: 0;
  animation: floatBubble 8s ease-out infinite;*/
}
.bubble02 img{
  transform: scale(-1, -1);
  width: 2%;
  position: absolute;
  bottom: 15rem;
  left: 2rem;
  /*opacity: 0;
  animation: floatBubble 8s ease-out infinite;*/
}
@keyframes floatBubble {
  0% {
    transform: translateY(0);
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  70% {
    opacity: 1;
  }
  100% {
    transform: translateY(-50px);
    opacity: 0;
  }
}

/*----------------------------
    seawater-effect
----------------------------*/
.seawater-effect{
  position: relative;
  width: 100%;
  height: 120vh;
  max-height: 1157px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.seawater-effect::before{
  content: '';
  width: 100%;
  height: 120vh;
  max-height: 1157px;
  background-image: url("../img/seawater/effect01.jpg");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -3;
}

.seawater-effect-text .seawater-effect-circle{
  position: relative;
}
.seawater-effect-text .seawater-effect-circle::before{
  content: '';
  width: 600px;
  height: 600px;
  background-image: linear-gradient(90deg, #fff, #eae3d6 40%);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -2;
}
.seawater-effect-text .seawater-effect-title{
  text-align: center;
  margin-bottom: 3.5rem;
}
.seawater-effect-text .seawater-effect-title h3{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 3.2rem;
  margin-bottom: 1rem;
}
.seawater-effect-text .seawater-effect-title > span{
  font-size: 1.6rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
}
.seawater-effect-text h4{
  text-align: center;
  font-size: 2rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
  line-height: 2;
  margin-bottom: 3rem;
}
.seawater-effect-text h4 span{
  font-size: 4rem;
  letter-spacing: 3px;
  line-height: 1.5;
}
.seawater-effect-text .seawater-effect-deco{
  display: flex;
  justify-content: center;
  margin-bottom: 2rem;
}
.seawater-effect-text .seawater-effect-deco img{
  transform: rotate(90deg);
  width: 3.5%;
}
.seawater-effect .seawater-effect-text02{
  background-color: rgba(255, 255, 255, .8);
  display: flex;
  justify-content: center;
  padding: 2rem 3rem;
  position: absolute;
  bottom: 15%;
  left: 50%;
  transform: translateX(-50%);
}
.seawater-effect .seawater-effect-text02 blockquote{
  letter-spacing: 2px;
  line-height: 2;
}

/*----------------------------
    seawater-flow
----------------------------*/
.seawater-flow{
  position: relative;
  margin-top: 30rem;
  margin-bottom: 8rem;
}
.seawater-flow .seawater-flow-backtitle{
  position: absolute;
  top: -27rem;
  left: 1rem;
  z-index: -2;
}
.seawater-flow .seawater-flow-text, 
.seawater-flow .seawater-flow-text .seawater-flow-title{
  margin-bottom: 4rem;
}
.seawater-flow .seawater-flow-text .seawater-flow-title h3{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 3.2rem;
}
.seawater-flow .seawater-flow-text .seawater-flow-title > span{
  font-size: 1.6rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
}
.seawater-flow .seawater-flow-text p{
  letter-spacing: 1px;
  line-height: 2;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
}
.seawater-flow .seawater-flow-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.seawater-flow-grid .seawater-flow-card{
  border: 1px solid #000;
  border-radius: 35px;
  padding: 4rem 3rem;
  position: relative;
}
.seawater-flow-grid .seawater-flow-card::before{
  content: '';
  width: 100%;
  height: 100%;
  border: 1px solid #000;
  position: absolute;
  top: 7px;
  left: 7px;
  border-radius: 35px;
  
}
.seawater-flow-card ol li h4{
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: .5rem;
  border-bottom: 1px solid #D4AF37;
}
.seawater-flow-card ol li h4 span{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  color: #D4AF37;
  font-size: 4.8rem;
  padding-left: .4rem;
}
.seawater-flow-card ol li h4 p{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  font-size: 2.4rem;
  letter-spacing: 1px;
}
.seawater-flow-card ol li{
  position: relative;
  margin-bottom: 3rem;
}
.seawater-flow-card ol li:not(:last-child)::after{
  content: '';
  width: 6px;
  height: 6px;
  border: 0;
  border-bottom: solid 1.3px #000;
  border-right: solid 1.3px #000;
  transform: rotate(45deg);
  position: absolute;
  left: 50%;
  bottom: -16px;
}
.seawater-flow-card ol li > p{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
  margin-top: 1.6rem;
  line-height: 2
}
.seawater-flow-img{
  position: relative;
}
.seawater-flow-img figure:first-child img{
  position: absolute;
  width: 53%;
  bottom: 9rem;
  left: 3rem;
}
.seawater-flow-img figure:last-child img{
  width: 62%;
  position: absolute;
  top: -25rem;
  right: 0;
}

/* =====================================
  menu
===================================== */
/*----------------------------
    menu-top
----------------------------*/
.menu.top-template::before{
  background-image: url("../img/menu/top01.png")
}
.menu.top-template .top-template-text{
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
.menu.top-template .top-template-text h1{
  margin-bottom: 2rem;
}
.menu.top-template .top-template-text h1::after{
  top: unset;
  bottom: -1rem;
  right: 50%;
  transform: translateX(50%);
}


/*----------------------------
    menu-list
----------------------------*/
.menu-list {
  padding-top: 8rem;
}
.menu-list .menu-list-text{
  margin-bottom: 4rem;
}
.menu-list .menu-list-text .menu-list-title h3 {
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 3.2rem;
}
.menu-list .menu-list-text .menu-list-title > span {
  font-size: 1.6rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
}
.menu-list .container{
  max-width: 90%;
  margin: 0 0 0 auto;
}
.menu-list .menu-list-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
  margin-bottom: 8rem;
}
.menu-list .menu-list-grid:last-child{
  margin-bottom: 12rem;
}
.menu-list #menu-removal {
  padding-top: 9rem;
  margin-bottom: 0rem;
}
.menu-list #menu-hydrogen {
  padding-top: 9rem;
}
.menu-list-card .menu-list-text h5{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  color: #fff;
  background-color: #2C3E50;
  font-size: 2.4rem;
  letter-spacing: 2px;
  padding: .5rem;
  margin-bottom: 3rem;
  border-radius: 3px;
}

.mt-6 {
  margin-top: 6rem;
}
.menu-list-card h6 {
  margin-bottom: 2.4rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  color: #5d4e37;
  font-size: 2.4rem;
  text-align: center;
}
.menu-list-card .table_design13 {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
  min-width: 700px;
  font-weight: bold;
  text-align: center;
  border: 1px solid #5d4e37;
  border-radius: 10px;
}
.menu-list-card .table_design13 thead th {
  background: #e6decd;
  padding: 1em .8em;
  border-right: 1px solid#5d4e37;
  font-size: 1.5rem;
  text-align: center;
  color: #5d4e37;
}
.menu-list-card .table_design13 td {
  color: #4d4d4d;
  padding: 1em .8em;
  font-size: 1.5rem;
  text-align: center;
}
.menu-list-card .table_design13 tbody th {
  padding: 1em .8em;
  background-color: #d8c9b4;
  border-right: 1px solid#5d4e37;
  font-size: 1.5rem;
  color: #5d4e37;
  text-align: center;
}
.menu-list-card .table_design13 tbody td {
  background-color: #fff;
}
.menu-list-card .table_design13 tbody .tr_another td {
  background-color: #faf8f4;
}
@media screen and (max-width: 787px) {
  .menu-list-card .table-scroll {
    overflow-x: auto;
  }
}

.menu-list-card .menu-list-text ol {
  margin-bottom: 5rem;
}
.menu-list-card .menu-list-text ol h6 {
  margin-bottom: 3rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  color: #2C3E50;
  font-size: 2.4rem;
  font-weight: bold;
}
.menu-list-card .menu-list-text ol li{
  border-top: 1px solid #4d4d4d;
  padding: 1.6rem 0;
}
.menu-list-card .menu-list-text ol li:last-child{
  border-bottom: 1px solid #4d4d4d;
}
.menu-list-card .menu-list-text ol li .menu-name{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  font-size: 2.4rem;
  display: flex;
  justify-content: space-between;
  margin-bottom: .8rem;
  gap: 80px;
}
.menu-date-nember{
  font-size: 2.4rem;
    margin-bottom: .8rem;
    font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
}
.menu-price-sp{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  color: #CC4466;
    margin-bottom: 1.2rem;
    font-size: 2rem;
  display: none;
}

.menu-list-card .menu-list-text ol li .menu-name .menu-price{
  color: #CC4466;
}
.menu-list-img figure img, .menu-thumbnail-sp img{
  width: 100%;
  object-fit: contain;
  max-height:764px;
}
.menu-thumbnail-sp{
  margin-bottom: 3rem;
}
.menu-thumbnail-sp img{
  height: 300px;
}

/* =====================================
  new guest guide
===================================== */
/*----------------------------
     ngd-top
----------------------------*/
.ngg.top-template::before{
  background-image: url("../img/ngg/top01.png");
}
.ngg.top-template .top-template-text h1::after{
  background-image: url("../img/icon/decoration05.png");
}
.ngg.top-template .top-template-text{
  color: #fff;
}

/*----------------------------
     ngg-htu
----------------------------*/
.ngg-htu{
  position: relative;
  width: 100%;
  height: 170vh;
  max-height: 1152px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ngg-htu::before{
  content: '';
  width: 100%;
  height: 170vh;
  max-height: 1152px;
  background-image: url("../img/ngg/htu01.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  background-attachment: fixed;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -3;
}
.sp-ngg-bg {
  display: none;
  position: relative;
  height: 170vh;
  max-height: 1152px;
}
.sp-ngg-bg .inner{
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   clip-path: inset(0);
}
.sp-ngg-bg .inner .bg{
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100vh;
   background-image: url("../img/ngg/htu01.png");
   background-size: cover;
   background-position: center;
   z-index: -3;
}
@media screen and (max-width: 787px) {
  .ngg-htu::before{
    display: none;
  }
  .sp-ngg-bg {
    display: contents;
  }
}
.ngg-htu::after{
  content: '';
  width: 100%;
  height: 100%;
  max-height: 1152px;
  background-color: rgba(216, 201, 174, .4);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -3;
}
.ngg-htu .ngg-htu-backtitle{
  position: absolute;
  top: 9.5rem;
  left: 50%;
  transform: translateX(-50%);
}
.ngg-htu .ngg-htu-backtitle .backtitle{
  font-size: 12.8rem;
}
.ngg-htu .container {
  max-width: 1000px;
  background-color: rgba(255, 255, 255, .8);
  padding: 3rem 13.5rem 4rem;
}
.ngg-htu figure {
  display: flex;
  justify-content: center;
  margin-bottom: 2rem;
}
.ngg-htu figure img {
  width: 17%;
}
.ngg-htu-text .ngg-htu-title {
  text-align: center;
  margin-bottom: 3.5rem;
}
.ngg-htu-text .ngg-htu-title h3{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 3.2rem;
  margin-bottom: 1rem;
}
.ngg-htu-text .ngg-htu-title > span {
  font-size: 1.6rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
}
.ngg-htu-text .ngg-htu-p {
    letter-spacing: 2px;
    line-height: 2;
    margin-bottom: 3rem;
}
.ngg-htu-text .ngg-htu-pdf .ngg-htu-pdf-title{
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #2C3E50;
  letter-spacing: 1px;
  padding: .7rem 0;
}
.ngg-htu-text .ngg-htu-pdf .ngg-htu-pdf-title span:first-child{
  font-weight: bold;
  background-color: #EAE3D6;
  font-size: 2rem;
  padding: .3rem 5rem;
  margin-bottom: .5rem;
}
.ngg-htu-text .ngg-htu-pdf .ngg-htu-pdf-title span:last-child{
  color: #EAE3D6;
  font-size: 1.6rem;
}
.ngg-htu-text .ngg-htu-pdf-download{
  display: flex;
  gap: 10px;
  margin: 1rem 0 3rem;
}

.ngg-htu-text .ngg-htu-pdf-download a{
  width: 50%;
  background-color: #fff;
  padding: 1rem 2rem 1rem 1.2rem;
  letter-spacing: 1px;
  font-size: 1.6rem;
  border-radius: 3px;
  position: relative;
}
.ngg-htu-text .ngg-htu-pdf-download a::after{
  content: '';
  width: 16px;
  height: 16px;
  background-image:url("../img/icon/icon04.png");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
}

.ngg-htu-text blockquote{
  line-height: 2;
  letter-spacing: 1px;
  border: 1px solid #2C3E50;
  border-radius: 3px;
  padding: 2.5rem 5.8rem;
  position: relative;
}
.ngg-htu-text blockquote::before{
  content: '';
  width: 100%;
  height: 100%;
  border: 1px solid #000;
  position: absolute;
  top: 3px;
  left: 3px;
  border-radius: 3px;
}

/*----------------------------
     ngg-reservation
----------------------------*/
.ngg-reservation{
  position: relative;
  margin-top: 20rem;
  margin-bottom: 8rem;
}
.ngg-reservation .ngg-reservation-backtitle {
  position: absolute;
  top: -19rem;
  left: 1rem;
  z-index: -2;
}
.ngg-reservation .ngg-reservation-text{
  margin-bottom: 2rem;
}
.ngg-reservation .ngg-reservation-text .ngg-reservation-title{
  margin-bottom: 3rem;
}
.ngg-reservation-text .ngg-reservation-title h3 {
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 3.2rem;
}
.ngg-reservation-text .ngg-reservation-title > span {
  font-size: 1.6rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
}
.ngg-reservation .ngg-reservation-text p{
  letter-spacing: 1px;
  line-height: 2;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
}
.ngg-reservation .ngg-reservation-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.ngg-reservation-grid .ngg-reservation-card {
  /*border: 1px solid #000;*/
  background-color: #DFE4EA;
  /*border-radius: 35px;
  padding: 4rem 3rem;*/
  position: relative;
}
.ngg-reservation-grid .ngg-reservation-card h5{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  background-color: #2C3E50;
  color: #fff;
  font-size: 1.6rem;
  letter-spacing: 1px;
  padding: 1.5rem 3rem;
}
.ngg-reservation-card ol{
  padding: 3.5rem 3rem 0rem;
}
.ngg-reservation-card ol li {
    margin-bottom: 3rem;
}
.ngg-reservation-card ol li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: .5rem;
  border-bottom: 1px solid #D4AF37;
}
.ngg-reservation-card ol li a span {
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  color: #D4AF37;
  font-size: 4.8rem;
  padding-left: .4rem;
}
.ngg-reservation-card ol li a p {
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  font-size: 2.4rem;
  letter-spacing: 1px;
}
.ngg-reservation-arrow{
  position: relative;
}
.ngg-reservation-arrow::after{
  content: "";
  width: 18px;
  height: 18px;
  background-image: url("../img/icon/icon06.png");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.ngg-reservation-card > p{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
  line-height: 2;
  padding: 0 10rem 3rem 3rem;
}
.ngg-reservation-img{
  position: relative;
}
.ngg-reservation-img img {
  width: 112%;
  position: absolute;
  top: -10rem;
  right: 0;
  z-index: -1;
  border-radius: 3px;
  box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.25);
}

/*----------------------------
     ngg-nftd
----------------------------*/
.ngg-nftd {
  position: relative;
  margin-bottom: 10rem;
}
.ngg-nftd .ngg-nftd-c.container {
  max-width: 33%;
}
.ngg-nftd-text .ngg-nftd-title {
  text-align: center;
  margin-bottom: 3.5rem;
}
.ngg-nftd-text .ngg-nftd-title h3 {
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 2rem;
  margin-bottom: 1rem;
}
.ngg-nftd-text p {
  margin-top: 3rem;
  line-height: 2;
  letter-spacing: 1px;
}
.ngg-nftd-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  margin-top: 1rem;
}
.ngg-nftd-grid .ngg-nftd-card p{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  color: #D4AF37;
  font-size: 4.8rem;
  padding-left: .4rem;
  text-align: center;
  margin-bottom: .7rem;
}
.ngg-nftd-grid .ngg-nftd-card img{
  width: 100%;
}
.ngg-nftd-grid .ngg-nftd-card blockquote{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
  line-height: 1.5;
  padding-top: 1.5rem;
}

/* =====================================
  store
===================================== */
/*----------------------------
    store-top
----------------------------*/
.store.top-template::before{
  background-image: url("../img/store/top01.png");
}

/*----------------------------
    store-message
----------------------------*/
.store-message{
  position: relative;
  margin: 5rem 0;
}
.store-message .store-message-backtitle{
  position: absolute;
  top: -11.5rem;
  right: 8rem;
  z-index: -1;
}
.store-message .store-message-backtitle .backtitle{
  color: #f4f1ea;
}
.store-message .container{
  max-width: 90%;
  margin: 0 auto 0 0;
}
.store-message .store-message-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 31px;
}
.store-message-grid .store-message-img img{
  width: 100%;
  border-radius: 5px;
  max-height: 458px;
}
.store-message-grid .store-message-card{
  margin-top: 15rem;
}
.store-message-card .store-message-title{
  margin-left: 4rem;
  margin-bottom: 2rem;
}
.store-message-card .store-message-title h3{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 3.2rem;
}
.store-message-card .store-message-title > span{
  font-size: 1.6rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
}
.store-message-card .store-message-text{
  background-color: #dfe4ea;
  padding: 4rem 7rem 4rem 4rem;
  position: relative;
}
.store-message-card .store-message-text::after{
  content: '';
  width: 160px;
  height: 265px;
  background-image: url("../img/top/about01.webp");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -4rem;
  right: -9rem;
  z-index: -1;
}
.store-message-card .store-message-text blockquote{
  line-height: 2;
  letter-spacing: 1px;
  margin-bottom: 1rem;
}
.store-message-card .store-message-text h5{
  font-weight: bold;
  font-size: 2.4rem;
  text-align: end;
}
.m-text-sp img{
  width: 100%;
}
.m-text-sp figure{
  margin: 8rem 0 1rem;
  position: relative;
}
.m-text-sp figure::after{
  content: '';
  width: 120px;
  height: 200px;
  background-image: url("../img/top/about01.webp");
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: -6rem;
  right: 6rem;
  z-index: 1;
}
.store-message-card .m-text-sp.store-message-text{
  padding: 4rem 0;
}
.store-message-card .m-text-sp.store-message-text blockquote, 
.store-message-card .m-text-sp.store-message-text h5{
  padding: 0 4rem;
}


/*----------------------------
    store-store
----------------------------*/
.store-store{
  margin-bottom: 8rem;
}
.store-store .store-store-title{
  margin-bottom: 2rem;
}
.store-store .store-store-title h3{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 3.2rem;
}
.store-store .store-store-title > span{
  font-size: 1.6rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
}
.store-store-list ol li{
  display: grid;
  grid-template-columns: calc(100% / 12 * 2) calc(100% / 12 * 10);
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  /* padding: 1rem; */
  border-bottom: 1px solid #051E32;
}
.store-store-list ol li:first-child{
  border-top: 1px solid #051E32;
}
.store-store-list ol li span{
  display: flex;
  align-items: center;
  font-size: 1.6rem;
}
.store-store-list ol li span:first-child{
  color: #EAE3D6;
  background-color: #2C3E50;
  border-bottom: 1px solid #EAE3D6;
  padding: 2.2rem 4rem;
}
.store-store-list ol li span:last-child{
  padding-left: 4rem;
}

/*----------------------------
    store-staff
----------------------------*/
.store-staff{
  margin-bottom: 8rem;
}
.store-staff .store-store-title{
  margin-bottom: 4rem;
}
.store-staff .store-store-title h3{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 3.2rem;
}
.store-staff .store-store-title > span{
  font-size: 1.6rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
}
.store-staff-grid, .store-staff-card{
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.store-staff-card{
  
}
.store-staff-card figure img{
  width: 100%;
}
.ss-name{
  display: flex;
  align-items: flex-end;
}
.ss-name span{
  color: #EAE3D6;
  background-color: #2C3E50;
  font-size: 2.4rem;
  padding: 3.5rem 0;
  border-radius: 3px;
  margin-bottom: 3rem;
  margin-left: -2rem;
  width: 25rem;
  text-align: center;
}
/*----------------------------
    store-access
----------------------------*/
.store-access{
  background-color: #2C3E50;
  padding: 8rem 0;
}
.store-access .container{
  margin: 0 0 0 auto;
  max-width: 90%;
}
.store-access .store-store-title::before{
  background-color: #4D4D4D;
  z-index: 0;
}
.store-access .store-store-title{
  margin-bottom: 4rem;
  color: #EAE3D6;
}
.store-access .store-store-title h3{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 3.2rem;
}
.store-access .store-store-title > span{
  font-size: 1.6rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
  position: relative;
}
.store-access .store-store-title h3 .h3-deco01::after{
  background-image: url("../img/icon/decoration05.png");
}
.store-access-flex{
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 90px;
}
.store-access-map{
  border: 1px solid #EAE3D6;
  display: flex;
  flex-direction: column;
}
.store-access-map p{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  font-size: 2.4rem;
  color: #EAE3D6;
  text-align: center;
  padding: 3.5rem 0;
}
.store-access-img figure img{
  width: 100%;
  max-height: 428px;
}
.map-wrapper {
  flex-grow: 1;
  position: relative;
  height: 100%;
  min-height: 300px; /* 必要に応じて調整 */
}
.store-access-img{
  display: flex;
  align-items: center;
}

/* =====================================
  newslist
===================================== */
/*----------------------------
    newslist
----------------------------*/
.newslist{
  margin-top: 15rem;
  margin-bottom: 10rem;
}
.newslist-title{
  margin-bottom: 10rem;
}
.newslist-title.title-deco01::before{
  display: none;
}
.newslist-title.title-deco01 h3{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 4.5rem;
  color: #2C3E50;
}
.newslist-title.title-deco01 h3 .h3-deco01::after{
  width: 31px;
  height: 6px;
  right: -45px;
}
.newslist-title.title-deco01 > span{
  font-size: 1.6rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
}
.newslist .container .container{
  max-width: 65%;
}
.newslist-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  margin-bottom: 6rem;
}
.newslist-card a figure img{
  width: 100%;
}
.newslist-card a{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  display: flex;
  flex-direction: column;
}
.newslist-card a time{
  font-size: 1.6rem;
  padding: 1rem 0;
}
.newslist-card a h4{
  font-size: 1.6rem;
  padding-bottom: .5rem;
}
.newslist-card a p{
  overflow: hidden;
  overflow-wrap: break-word;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: 1.4rem;
  line-height: 1.6;
}

.wp-pagenavi {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 2rem;
  font-size: 1.6rem;
}

.wp-pagenavi a,
.wp-pagenavi span {
  display: inline-block;
  padding: 2px 7px;
  border: 1px solid #2C3E50;
  text-decoration: none;
  color: #2C3E50;
  transition: background 0.3s ease;
}

.wp-pagenavi a:hover {
  background: #f0f0f0;
}

.wp-pagenavi .current {
  background: #2C3E50;
  color: #EAE3D6;
  border-color: #2C3E50;
}

.wp-pagenavi .first,
.wp-pagenavi .last {
  font-weight: bold;
  background-color: #e0e0e0;
}

.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink{
  border: none;
}
/* =====================================
  newsdetail
===================================== */
/*----------------------------
    newsdetail
----------------------------*/
.news-detail{
  display: flex;
  flex-direction: column;
  margin-bottom: 10rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
}
.news-detail time{
  font-size: 1.6rem;
  padding: 1rem 0;
}
.news-detail h4{
  font-size: 1.6rem;
  padding-bottom: 2rem;
}
.news-detail figure{
  display: flex;
  justify-content: center;
  align-items: center;
}
.news-detail figure img{
  width: 100%;
}
.news-detail p{
  overflow-wrap: break-word;
  font-size: 1.6rem;
  line-height: 1.6;
  padding-right: 40%;
  margin: 2rem 0 4rem;
}
.newslist-btn a{
  background-color: #EAE3D6;
  border: 1px solid #2C3E50;
  padding: 1rem 4rem;
  font-size: 1.6rem;
  letter-spacing: 1px;
}
.newslist-grid.relation{
  border-top: 1px solid #2C3E50;
  padding-top: 4rem;
}

/* =====================================
  contact
===================================== */
/*----------------------------
    contact
----------------------------*/
.newslist.contactor .newslist-title{
  margin-bottom: 5rem;
}
.newslist.contactor .newslist-title p{
  margin-top: 5rem;
  line-height: 2;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
}
.reservation{
  margin-top: 10rem;
}
.reservation-title{
  text-align: center;
  margin-bottom: 3.5rem;
}
.reservation-title h3{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 3.2rem;
  margin-bottom: 1rem;
}
.reservation-title > span {
  font-size: 1.6rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  letter-spacing: 1px;
}

.reservation figure{
  margin-bottom: 8rem;
}
.reservation figure img{
  width: 100%;
}

.newslist.contactor .container .container{
  max-width: 73%;
}

/*----------------------------
   input&check&complete
----------------------------*/
.p-entry__flow-items {
  gap: .4375rem;
  margin-top: 5.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 40px;
}

.p-entry__flow-item {
  position: relative;
  z-index: 1;
  border: 2px solid #3D3D3D;
  background: #fff;
  padding: 2rem 0;
  padding: 1.6rem 0;
}
.p-entry__flow-text {
  font-size: 2.4rem;
  text-align: center;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  
}

.p-entry__flow-item.is-active {
  background: #2C3E50;
}
.p-entry__flow-item.is-active .p-entry__flow-text {
  color: #fff;
}

.p-entry__flow-item:nth-of-type(1) {
  -webkit-clip-path: polygon(89.5% 2%, 100% 50%, 89.5% 98%, 0 98%, 0% 2%);
  clip-path: polygon(89.5% 2%, 100% 50%, 89.5% 98%, 0 98%, 0% 2%);
}

.p-entry__flow-item:nth-of-type(2) {
  -webkit-clip-path: polygon(0 1.5%, 89.5% 1%, 100% 50%, 89.5% 99%, 0% 99%, 10% 50%);
  clip-path: polygon(0 1.5%, 89.5% 1%, 100% 50%, 89.5% 99%, 0% 99%, 10% 50%);
}

.p-entry__flow-item:nth-of-type(2)::before,
.p-entry__flow-item:nth-of-type(3)::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-clip-path: polygon(0 0, calc(0% - 2px) 0%, calc(10% - 2px) 50%, calc(0% - 2px) 100%, 0 100%, 10% 50%);
  clip-path: polygon(0 0, calc(0% - 2px) 0%, calc(10% - 2px) 50%, calc(0% - 2px) 100%, 0 100%, 10% 50%);
  background: #3D3D3D;
  pointer-events: none;
  content: '';
}

.p-entry__flow-item:nth-of-type(1)::after,
.p-entry__flow-item:nth-of-type(2)::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-clip-path: polygon(calc(90% + 2px) 0, 90% 0%, 100% 50%, 90% 100%, calc(90% + 2px) 100%, calc(100% + 2px) 50%);
  clip-path: polygon(calc(90% + 2px) 0, 90% 0%, 100% 50%, 90% 100%, calc(90% + 2px) 100%, calc(100% + 2px) 50%);
  background: #3D3D3D;
  pointer-events: none;
  content: '';
}

.p-entry__flow-item:nth-of-type(3) {
  -webkit-clip-path: polygon(0 1%, 99.5% 1%, 99.5% 99%, 0 99%, 10% 50%);
  clip-path: polygon(0 1%, 99.5% 1%, 99.5% 99%, 0 99%, 10% 50%);
}
.is-active.p-entry__flow-item:nth-of-type(2){
  -webkit-clip-path: polygon(0 0, 90% 0%, 100% 50%, 90% 100%, 0 100%, 10% 50%);
  clip-path: polygon(0 0, 90% 0%, 100% 50%, 90% 100%, 0 100%, 10% 50%);
}
.is-active.p-entry__flow-item:nth-of-type(3){
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 10% 50%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 10% 50%);

}
.entry__inner{
  margin-bottom: 4rem;
}

/*----------------------------
   MW WP Form
----------------------------*/
.contact-form .koumoku{
  border-top: 1px solid #9BAEC9;
  display: grid;
  grid-template-columns: 1fr 2fr;
  padding: 2.8rem 0 6rem 2rem;
}
.contact-form .koumoku.post{
  row-gap: 50px;
}
.contact-form .koumoku .koumoku-text{
  display: flex;
  align-items: center;
  font-size: 2.1rem;
}
.contact-form .koumoku .koumoku-text span:first-child{
  font-weight: bold;
}
.contact-form .koumoku .koumoku-text .hissu{
  margin-left: 2rem;
}
.hissu{
  background-color: #9F0F0C;
  color: #fff;
  padding: .5rem .8rem;
  border-radius: 3px;
  font-size: 1.9rem;
}
.koumoku-input .null{
  background-color: #F2F2F2;
  border: 1px solid #C4C3C3;
  border-radius: 8px;
  padding: 1.6rem 1rem;
  width: 100%;
}
.koumoku-input.post-flex .null{
  width: 40%;
}
.koumoku-input.m-textarea .null{
  width: 80%;
}
.koumoku-input{
  position: relative;
}
.koumoku-input input{
  font-size: 1.6rem;
}
.koumoku-input.post-flex{
  display: flex;
  align-items: center;
  gap: 10px;
}
.koumoku-input.post-flex span{
  font-size: 2.4rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
}
.koumoku-input.post-flex a{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  color: #fff;
  background-color: #333333;
  padding: 1rem;
  border-radius: 5px;
  font-size: 1.9rem;
}
.koumoku-input p{
  position: absolute;
  bottom: -2.5rem;
  left: 5px;
}
.koumoku-input .name::before{
  content: "\4F8B\FF09\5C71\7530\3000\592A\90CE";
  color: #fff;
  font-size: 2.2rem;
  position: absolute;
  font-weight: 500;
  top: -3rem;
}
.contact-check{
  display: flex;
  justify-content: center;
}
.contact-check span{
  position: relative;
}
.contact-check span::after{
  content: "";
  width: 9px;
  height: 9px;
  background-image: url("../img/icon/icon05.png");
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 6rem;
  transform: translateY(-50%);

}
.contact-check .check-btn{
  background-color: #fff;
  border: 1.5px solid #2C3E50;
  padding: 2rem 8rem 2rem 6rem;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  font-size: 2.4rem;
}


.privacy-container{
  max-width: 70%;
  margin: 0 auto;
}
.privacy-policy {
  height: 20rem;
  padding: 2em;
  overflow-y: scroll;
  background-color: #fff;
  border: 1px solid #333;
}
.privacy-title{
  text-align: center;
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
}
.privacy-title h3{
  font-size: 2.1rem;
}
.privacy-detail{
  font-size: 1.6rem;
  margin-top: 2rem;
  line-height: 1.5;
}
.privacy-policy__box {
  margin-top: 3rem;
}
.privacy-policy__box:first-child {
  margin-top: 0px;
}

.privacy-policy__head {
  font-size: 1.6rem;
}

.privacy-policy__detail {
  margin-top: .5em;
  font-size: 1.6rem;
  line-height: 1.5;
}
.privacy-policy__detail a{
  border-bottom: 1px solid;
}
.privacy-policy__box ol, 
.privacy-policy__box ol li:last-child{
  margin-top: 1rem;
}
.privacy-policy__box .privacy2{
  list-style: disc;
  padding-left: 1.5rem;
}
.privacy-last{
  margin-top: 2rem;
}

.privacy-check{
  display: flex;
  justify-content: center;
  gap: 30px;
  align-items: center;
  margin: 3rem 0 5rem;
}
.privacy-check input[type="checkbox"] {
  display: inline-block;
  appearance: auto;
  -webkit-appearance: checkbox; /* Safari対策 */
  width: auto;
  height: auto;
  margin: 0 4px 0 0;
  vertical-align: middle;
}
.privacy-check span{
  font-size: 2.1rem;
}
.privacy-check .mwform-checkbox-field{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
}
.contact-check{
  border-top: 1px solid #9BAEC9;
  padding-top: 1.5rem;
}
.koumoku-input .error{
  color: #9F0F0C;
    font-size: 1.3rem;
}
.check .koumoku-input p{
  display: none;
}
.check .contact-form .koumoku{
  padding: 3rem 0 3rem 2rem;
}
.check .koumoku-input{
  display: flex;
  align-items: center;
}
.check .koumoku-input.post-flex a, 
.check .koumoku-input.post-flex span{
  display: none;
}
.check .privacy-container{
  display: none;
}
.check .contact-form .koumoku.post > p{
  display: none;
}
.complete-text{
  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.complete-text h3{
  text-align: center;
  font-size: 2rem;
}
.complete-text .thanks{
  font-size: 1.4rem;
  line-height: 1.5;
}
.complete-text .thanks-tel{
  display: flex;
  flex-direction: column;
  gap: 5px;
  font-size: 1.3rem;
}
.complete-text .thanks-tel a{
  font-size: 2rem;
}

/* =====================================
  footer
===================================== */
footer{
  background-color: #2c3e50;
  color: #EAE3D6;
  padding: 2.8rem 0 1.5rem 0;
  position: relative;
  width: 100%;
  /*max-width: 1760px;*/
}
footer .contaier{
  max-width: 1760px;
}
.footer-logo .footer-logo-img{
  width: 30%;
}

footer .footer-grid{
 display: grid;
  grid-template-columns: calc(100% / 12 * 4) calc(100% / 12 * 8);
  margin-bottom: 4rem;
}
.footer-title .footer-logo{
  display: flex;
  align-items: center;
  margin-bottom: 2.8rem;
}
.footer-title .footer-logo a{
  display: flex;
  align-items: center;
}
.footer-title .footer-logo a p{
  padding-left: .5rem;
}
.footer-title .footer-logo a p span{
  font-size: 2rem;
}
.footer-title > p{
  line-height: 2;
}

.footer-grid .footer-nav ul{
 display: flex;
 justify-content: flex-end;
}
.footer-grid .footer-nav ul li:not(:last-child){
  margin-right: 3.1rem;
}
.footer-grid .footer-nav ul li a p{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.footer-grid .footer-nav ul li a p span:first-child{
  font-size: 1.3rem;
  letter-spacing: 1px;
/*  font-family: NotoSerifJP-SemiBold, NotoSerifJP-Regular, LibreBaskerville, serif;*/
}
.footer-grid .footer-nav ul li a p span:last-child{
  font-family: LibreBaskerville, NotoSerifJP-Regular, serif;
  font-size: 1.8rem;
  letter-spacing: 1px;
  margin-top: .4rem;
}

footer .pagetop{
  position: relative;
}
footer .pagetop a{
  /*overflow: hidden;*/
  position: absolute;
  bottom: 15px;
  right: 10px;
  border-left: 1px solid #EAE3D6;
  padding-left: .4rem;
  padding-top: 3rem;
}
footer .pagetop .vertical-text{
  text-orientation: unset;
  font-size: 1.4rem;
}
footer .copyright p{
  text-align: center;
}
