@charset "UTF-8";
/* CSS Document */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  min-width: 1200px;
  letter-spacing: 2px;
  overflow-x: hidden;
}


/*================================================================
# common 共通項目
================================================================ */

@media screen and (min-width: 1200px) {
  .is-pc {
    display: none;
  }
}

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .is-tab {
    display: none;
  }
}

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

html {
  font-size: 16px;
  font-weight: 400;
}

body {
  /*font-family: "yu-mincho-pr6n", sans-serif;*/
	  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #0A142F;
  background-color: #0B3D5B;
}


@media screen and (min-width: 767px) and (max-width: 1200px) {
  .inner {
    padding-left: 24px;
    padding-right: 24px;
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .inner {
    padding-left: 16px;
    padding-right: 16px;
    max-width: 100%;
  }
}

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol {
  list-style: none;
  padding: 0;
  margin: 0;
}

h1,
h2,
h3,
h4 {
  padding: 0;
  margin: 0;
}
.pc{
  display: block;
}
.sp{
  display: none;
}
/*==================================================
ふわっ
===================================*/


/* fadeUp */

.fadeUp{
  animation-name:fadeUpAnime;
  animation-duration:1s;
  animation-fill-mode:forwards;
  opacity:0;

  }
  
  @keyframes fadeUpAnime{
    from {
      opacity: 0;
    transform: translateY(100px);
    }
  
    to {
      opacity: 1;
    transform: translateY(0);
    }
  }
  
  
  /* スクロールをしたら出現する要素にはじめに透過0を指定　*/
   
  .fadeUpTrigger{
      opacity: 0;
  }
  
.header {
  width: 100%;
}

.header-wrapper {
  position: fixed;
  left: 0;
  right: 0;
  top: 0%;
  z-index: 10;
  margin: 0 auto;
  background-color: #000000;
  padding: 10px 50px;
  width: 100%;
  min-width: 1100px;
}

.header-inner {
  display: flex;
}

.header-logo {
  width: 150px;
  margin-top: 10px;

}
.header-logo img{
  width: 100%;
}

.header-right {
  margin-left: auto;
  margin-top: 35px;
}
.food-tabs-wrapper h1,
.food-tabs-wrapper h2,
.food-tabs-wrapper h3,
.food-tabs-wrapper h4{  text-align: center;
    font-size: 50px;
    margin-bottom: 30px;
    color: #B78800;
    font-family: "the-seasons", sans-serif;
    font-weight: 700;
    font-style: normal;}

.header-nav{
  padding-bottom: 5px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: normal;
}
.header-nav-list {
  display: flex;
}

.header-nav-list li,
.header-nav-item {
  margin-right: 20px;
  
}
.header-nav-list li:last-child,
.header-nav-item:last-child {
  margin-right: 0;
}

.header-nav-list li a,
.header-nav-link {
  display: block;
  height: 18px;
  line-height: 18px;
  position: relative;
  font-size: 14px;
  white-space: nowrap;
  font-weight: bold;
  color: #fff;
}
.header-nav-list li a::after,
.header-nav-link::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 0;
  width: 100%;
  height: 1px;
  background: transparent;
  transition: all 0.3s ease 0s;
}
.header-nav-list li a:hover::after,
.header-nav-link:hover::after,
.header-nav-list li a.is-active::after,
.header-nav-link.is-active::after {
  background: #fff;
}

.header-contact{
  border: 1px solid #fff;
  padding: 10px 40px;
  color: #fff;
  margin-top: -12px;

}


.drawer-icon {
  width: 45px;
  height: 45px;
  background: #9D7502;
  display: none;
  position: fixed;
  top: 30px;
  right: 16px;
  z-index: 110;
  transition: transform 0.5s ease 0s; 
  
}
.drawer-icon.is-active .bar-top {
  transform: rotate(-45deg);
  top: 12px;
}
.drawer-icon.is-active .bar-mid{
  display: none;
}
.drawer-icon.is-active .bar-bottom {
  transform: rotate(45deg);
  top: 12px;
}

  .burger-btn {
    display: block;
    height: 39px;
    position: relative;
    width: 39px;
    z-index: 80;
    background-color: transparent;
    border: none;
  }
  
  .bar {
    background-color: #fff;
    display: none;
    height: 1px;
    right: -3px;
    position: absolute;
    transform: translateX(-50%);
    width: 20px;
  }
  .bar_top {
    top: 14px;
  }
  .bar_mid {
    top: 22px;
    transform: translate(-50%,-50%);
  }
  .bar_bottom {
    top: 30px;
  }
  .burger-btn.close .bar_top {
    transform: translate(-50%,8px) rotate(45deg);
    transition: transform .3s;
  }
  .burger-btn.close .bar_mid {
    opacity: 0;
    transition: opacity .3s;
  }
  .burger-btn.close .bar_bottom {
    transform: translate(-50%,-8px) rotate(-45deg);
    transition: transform .3s;
  }


.drawer-content {
    visibility: hidden;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    opacity: 0;
    transition: opacity .5s;
    z-index: 80;
    background-color: #FDFDF4;
  }

  .drawer-content-items {
	color: #1A1311;
    display: block;
    left: 50%;
    position: absolute;
    text-align: center;
    top: 45%;
    transform: translate(-50%,-50%);
  }
  .drawer-content-items li,
  .drawer-content-item {
    margin-bottom: 40px;
    margin-right: 0;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  }
  
  /* メニューオープン時 */
  .drawer-content.fade {
    opacity: 1;
    visibility: visible;
  }
.drawer-sns-items{
	display: block;
    left: 50%;
    position: absolute;
    text-align: center;
    bottom: 100px;
    transform: translate(-50%,-50%);
}
.drawer-sns-item img{
	width: 100%;
  margin: 0 auto;
  margin-bottom: 10px;
}
.movie,
#movie{
  width: 100%;
  overflow-y: hidden;
  margin: 0 auto;
  margin-bottom: 100px;
  margin-top:88px;
}
#movie video{
  width: 100%;

}
.soon-wrapper{
  width: 500px;
  margin: 0 auto;
  padding-bottom: 100px;
}
.soon-wrapper img{
  width: 100%;
  pointer-events: none;
}
.caption-wrapper{
  padding: 100px 0 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}
.caption-wrapper h1,
.caption-wrapper h2,
.caption-wrapper h3,
.caption-wrapper h4{
  color: #9D7502;
  font-size: 27px;
  margin-top: -20px;
	display: block;
margin-bottom: 20px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;

}
.caption-wrapper p{
  color: #FFF6E1;
  line-height: 47px;
  font-weight: 100;
  font-size: 16px;
  margin-left: -17px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.top-img1{
  width: 100%;
  overflow-y: hidden;
}
.top-img1 img{
  width: 100%;
}
.line-wrapper{
  padding: 60px 0;
}
.line-wrapper h1,
.line-wrapper h2,
.line-wrapper h3,
.line-wrapper h4{
  width: 800px;
  margin: 0 auto;
  text-align: center;
  color: #9D7502;
  font-size: 18px;
  padding: 20px 0;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  margin-bottom: 50px;
}
.line-wrapper p{
  text-align: center;
  color: #FFF6E1;
  line-height: 30px;
  margin-bottom: 30px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.line-wrapper p span{
  font-size: 23px;
  color: #9D7502;
}
.line-wrapper a{
  display: block;
  margin: 0 auto;
  font-size: 25px;
  letter-spacing: 10px;
  width: 600px;
  padding: 20px 0;
  text-align: center;
  color: #FFF6E1;
  background-color: #9D7502;
  transition: 0.5s ease;
}
.line-wrapper a:hover{
  background-color: #efb60c;
}
.wave-img{
  width: 100%;
}
.wave-img img{
  width: 100%;
}
.top-news-wrapper{
  padding: 50px 0 100px;
  background-color: #D0C6BD;
}
.top-news-box{
  margin: 0 auto;
  width: 45%;
}
.top-news-heading{
  width: 220px;
  border-bottom: 1px solid #fff;
  padding-bottom: 10px;
  margin-bottom: 50px;
}
.top-news-heading p{
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #B78800;
}
.top-news-heading h1,
.top-news-heading h2,
.top-news-heading h3,
.top-news-heading h4{
  color: #B78800;
  font-size: 40px;
  white-space: nowrap!important;
	font-family: "the-seasons", sans-serif;
font-weight: 700;
font-style: normal;
}
.top-news-list article{
  margin-bottom: 30px;
}
.top-news-list {
	line-height: 30px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.top-news-list a {
	display: block;
	transition: 0.5s ease;
}
.top-news-list a:hover{
  color: #B78800;
}
.view-more{
  width: 200px;
  border-bottom: 1px solid #fff;
  padding-bottom: 10px;
}
.view-more a{
  display: block;
  color: #B78800;
  font-size: 19px;
  transition: 0.5s ease;
}
.view-more a:hover{
  color: #916f0a;
}
.content-flex{
  display: flex;
  align-items: center;
}
.content-left{
  width: 50%;
  margin-right: 5%;
}
.content-left img{
  width: 100%;
}
.content-title{
  margin-bottom: 50px;
}
.content-title p{
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #B78800;
  margin-bottom: 10px;
}
.content-title h3{
  color: #B78800;
  font-size: 40px;
  letter-spacing: 10px;
  position: relative;
  white-space: nowrap;
	font-family: "the-seasons", sans-serif;
font-weight: 700;
font-style: normal;
text-transform: uppercase;
}
/*.content-title h3:after{
  position: absolute;
  top: 110%;
  left: -60%;
  display: block;
  width: 125%;
  content: " ";
  height: 0.5px;
  background-color: #B78800;
}*/
.content-sub{
  color: #FFF6E1;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  line-height: 30px;
  margin-bottom: 50px;
}
.content-flex:nth-child(2n){
  justify-content: space-between;
}
.content-flex:nth-child(2n) .content-left{
  order: 2;
  margin-right: 0;
	width: 50%;
}
.content-flex:nth-child(2n) .content-right{
  position: relative;
	right: -17%;
}
.content-flex:nth-child(2n) .content-title h3:after{
  left: 10%;
  width: 155%;
}
.howto-wrapper{
  width: 100%;
  margin-top: -5%;
}
.howto-wrapper img{
  width: 100%;
}
.access-wrapper{
  padding: 0 0 100px 0;
  background-color: #fff;
}
.line{
  width: 0.5px;
  height: 150px;
  margin: 0 auto;
  content: " ";
  background-color: #B2744A;
  margin-bottom: 40px;
}
.plan-btn{
  width: 600px;
  font-size: 25px;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 50px;
  padding: 20px 0;
  color: #fff;
  background-color: #9D7502;
}
.access-heading{
  text-align: center;
  color: #B2744A;
  margin-bottom: 100px;
}
.access-heading h1,
.access-heading h2,
.access-heading h3,
.access-heading h4{
  font-size: 30px;
	font-family: "the-seasons", sans-serif;
font-weight: 700;
font-style: normal;
}
.map-box{
  width: 1000px;
  height: 500px;
  margin: 0 auto;
  margin-bottom: 50px;
  box-shadow: 0px 0px 15px #0000004f;
}
.map-box iframe{
  width: 100%;
  height: 100%;
}
.access-box{
  width: 1000px;
  margin: 0 auto;
  color: #A96334;
}
.access-box p{
  margin-bottom: 30px;
  line-height: 30px;
}
.reserved-wrapper{
  background-color: #D0C6BD;
  padding: 0px 0 100px 0;
}
.line2{
  width: 0.5px;
  height: 150px;
  margin: 0 auto;
  content: " ";
  background-color: #fff;
  margin-bottom: 40px;
}
.reserved-heading{
  text-align: center;
  color: #AA6334;
  margin-bottom: 100px;
}
.reserved-heading h1,
.reserved-heading h2,
.reserved-heading h3,
.reserved-heading h4{
  font-size: 30px;
	font-family: "the-seasons", sans-serif;
font-weight: 700;
font-style: normal;
}
.reserved-box{
  width: 800px;
  margin: 0 auto;
  text-align: center;
  color: #AA6334;
  margin-bottom: 70px;
}
.reserved-box h3{
  font-size: 23px;
  margin-bottom: 30px;
}
.reserved-wrapper a{
  display: block;
  margin: 0 auto;
	margin-bottom: 50px;
  font-size: 25px;
  letter-spacing: 10px;
  width: 600px;
  padding: 20px 0;
  text-align: center;
  color: #FFF6E1;
  background-color: #9D7502;
  transition: 0.5s ease;
}
.reserved-wrapper a:hover{
  background-color: #efb60c;
}
.reserved-wrapper .line-wrapper{
  background-color: initial;
}
.reserved-wrapper .line-wrapper h1,
.reserved-wrapper .line-wrapper h2,
.reserved-wrapper .line-wrapper h3,
.reserved-wrapper .line-wrapper h4{
  color: #0A3D5A;
}
.reserved-wrapper .line-wrapper p{
  color: #0A3D5A;
}
.reserved-wrapper .line-wrapper p span{
  color: #0A3D5A;
}
footer{
  background-color: #0B3D5B;
  padding: 100px 0;
  color: #fff;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.footer-logo{
  width: 100px;
  margin: 0 auto;
  margin-bottom: 100px;
}
.footer-logo img{
  width: 100%;
}
.footer-flex{
  display: flex;
justify-content: center;
}
.footer-left{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.footer-nav{
	margin-bottom: 50px;
	line-height: 40px;
	width: 100%;
}
.footer-nav ul{
	display: flex;
    gap: 40px;
    margin: 0 50px;
    max-width: 600px;
    flex-wrap: wrap;
}
.footer-right .footer-nav ul{
  margin-left: 0px;
}
.footer-nav ul li a{
  transition: 0.5s ease;
  white-space: nowrap;
}
.footer-nav ul li a:hover{
  color: #efb60c;
}
.footer-btn a{
  display: block;
  margin-bottom: 30px;
  width: 250px;
  text-align: center;
  padding: 10px 0;
  transition: 0.5s ease;
}
.footer-btn a:hover{
  color: #fff;
}
.footer-web{
  background-color: #9D7502;
  color: #1F3E3D;
}
.footer-contact{
  border: 1px solid #9D7502;
  color: #9D7502;
}
.sns-icons{
	display: flex;
	align-items: center;
	gap: 15px;
	margin-left: 50px;
}
.ins {
	margin: 0 auto;
	max-width: 1200px;
	width: 95%;
}
.insta-logo{
	width: 40px;
}
.insta-logo img{
	width: 100%;
}
.line-logo{
	width: 40px;
}
.line-logo img{
	width: 100%;
}
/*page-dog*/
.dog-kv{
  height: 60vh;
  position: relative;
}
.dog-kv img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 85%;
  display: block;
}

#movie img{
  width: 100%;
}
.dog-caption-wrapper{
  width: 1000px;
  margin: 0 auto;
  padding-bottom: 100px;
}
.dog-caption-wrapper h1,
.dog-caption-wrapper h2,
.dog-caption-wrapper h3,
.dog-caption-wrapper h4{
  color: #B78800;
  font-size: 4.9vw;
  margin-bottom: 50px;
		font-family: "the-seasons", sans-serif;
font-weight: 700;
font-style: normal;
}
.dog-caption-wrapper h1 em,
.dog-caption-wrapper h1 span,
.dog-caption-wrapper h2 em,
.dog-caption-wrapper h2 span,
.dog-caption-wrapper h3 em,
.dog-caption-wrapper h3 span,
.dog-caption-wrapper h4 em,
.dog-caption-wrapper h4 span{
	font-size: 20px;
	color: #fff;
	font-style: normal;
	font-weight: normal;
}
.dog-caption-wrapper p{
  color: #fff;
  line-height: 30px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.chusyaku{
	color: #E37777;
}
.rule-wrapper img{
  width: 100%;
  pointer-events: none;
}
.dog-caption-flex{
	display: flex;
}
.dog-caption-flex figure{
	display: block;
	width: 46%;
	margin: 20px 2% 0;
}
.dog-caption-flex figure img {
	height: auto;
	max-width: 100%;
}
/*page-stay*/
#movie.stay-kv{
  margin-bottom: 100px;
}
.stay-caption-wrapper{
  width: 800px;
  margin-top: -200px;
  padding: 100px 50px;
  position: absolute;
  right: 0;
  background-color: #D0C6BD;
  color: #B78800;
}
.stay-title{
  margin-bottom: 20px;
  position: relative;
}
.stay-title::after{
  position: absolute;
  left: -210px;
  top: 50px;
  content: " ";
  width: 200px;
  height: 0.5px;
  background-color: #B78800;
}
.stay-title p{
  font-size: 14px;
  margin-bottom: 10px;
}
.stay-title h3{
  font-size: 40px;
}
.stay-sub{
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  line-height: 25px;
  letter-spacing: 0px;
}
.stay-soon{
  padding: 200px 0px;
}
.stay-soon p{
  text-align: center;
  color: #B78800;
  font-size: 30px;
}
.contact-wrapper{
  padding: 100px 0;
}
.contact-box{
  width: 1000px;
  margin: 0 auto;
}
.contact-heading{
  text-align: center;
  margin-bottom: 50px;
}
.contact-heading p{
  color: #fff;
  font-size: 14px;
  margin-bottom: 10px;
}
.contact-heading h1,
.contact-heading h2,
.contact-heading h3,
.contact-heading h4{
  color: #B78800;
  font-size: 40px;
}
.contact-caption{
  text-align: center;
  letter-spacing: 1px;
  color: #fff;
  line-height: 30px;
  margin-bottom: 100px;
}
.form-item{
  margin-bottom: 70px;
}
.form-item p{
  color: #fff;
  margin-bottom: 10px;
}
.form-item p input{
  color: #000;
  width: 100%;
  display: block;
  padding: 20px 10px;
  background-color: #fff;
  border-radius: 10px;
}
.form-item p textarea{
  color: #000;
  width: 100%;
  display: block;
  padding: 20px 10px;
  height: 300px;
}
.form-item select{
  color: #000;
  width: 100%;
  display: block;
  padding: 20px 10px;
  background-color: #fff;
  border-radius: 10px;
}
.submit{
  display: block;
  width: 100%;
  padding: 20px 0;
  text-align: center;
  color: #FFF6E1;
  background-color: #9D7502;
  border-radius: 10px;
}
/*page-food*/
#movie.food-kv {
  height: 60vh;
  position: relative;
}
#movie.food-kv img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 25%;
  display: block;
}
.food-concept-wrapper{
  padding-bottom: 50px;
}
.food-concept-wrapper h1,
.food-concept-wrapper h2,
.food-concept-wrapper h3,
.food-concept-wrapper h4{
  text-align: center;
  font-size: 50px;
  margin-bottom: 30px;
  color: #B78800;
font-family: "the-seasons", sans-serif;
font-weight: 700;
font-style: normal;
}
.food-caption{
  text-align: center;
  font-size: 30px;
  color: #fff;
  margin-bottom: 40px;
	  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.food-content{
  text-align: center;
  color: #fff;
  line-height: 30px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.dinner-wrapper p em,
.food-content em,
.food-caption em {`
	display: inline-block;
	font-style: normal;
}
.dinner-wrapper{
  padding: 100px 0;
  background-color: #D0C6BD;
}
.dinner-wrapper h1,
.dinner-wrapper h2,
.dinner-wrapper h3,
.dinner-wrapper h4{
  text-align: center;
  font-size: 50px;
  margin-bottom: 30px;
  color: #B78800;
	font-family: "the-seasons", sans-serif;
font-weight: 700;
font-style: normal;
}
.kids-heading{
	  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	  color: #0A3D5A !important;
	font-size: 40px !important;
}
.dinner-wrapper p{
  text-align: center;
  color: #0A3D5A;
  margin-bottom: 30px;
  letter-spacing: 1px;
  line-height: 20px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.food-img{
  width: 800px;
  margin: 0 auto;
  margin-bottom: 50px;
}
.food-img img{
  width: 100%;
}
.breakfast{
  background-color: #0A3D5A;
}
.breakfast p{
  color: #fff;
}
/*page-dam*/
.about-dam-wrapper{
  padding: 50px 0;
  margin-bottom: 150px;
}
.dam-heading{
  text-align: center;
  margin-bottom: 50px;
}
.dam-heading p{
  color: #fff;
  font-size: 14px;
  margin-bottom: 10px;
}
.dam-heading h4,
.dam-heading h3,
.dam-heading h2,
.dam-heading h1{
  color: #B78800;
  font-size: 40px;
	font-family: "the-seasons", sans-serif;
font-weight: 700;
font-style: normal;
}
.about-dam-box{
  width: 1000px;
  margin: 0 auto;
  position: relative;
}
.about-dam-box img{
  width: 800px;
}
.dam-explain{
  padding: 80px 20px;
  background-color: #D0C6BD;
  position: absolute;
  bottom: -100px;
  right: -100px;
}
.dam-explain p{
  color: #1C4D4B;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  letter-spacing: 1px;
  line-height: 22px;
}
.dam-trip-wrapper{
  width: 1200px;
  margin: 0 auto;
  padding-bottom: 100px;
}
.dam-trip-box{
  display: flex;
  flex-wrap: wrap;
}
.dam-item{
  width: 45%;
  margin: 0 2.5% 60px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.dam-item img{
  width: 100%;
  margin-bottom: 30px;
}
.dam-item h3{
  color: #9D7502;
  font-size: 22px;
  margin-bottom: 10px;
}
.dam-item p{
  color: #fff;
  letter-spacing: 1px;
  line-height: 25px;
}
.spa-wrapper{
width: 100%;
}
.spa-wrapper img{
	width: 100%;
	margin-bottom: 50px;
}
/*stay-new*/
.about-stay .about-dam-box{
  width: 100%;
}
.about-stay .about-dam-box img{
  width: 60%;
}
.about-stay .about-dam-box .dam-explain{
  width: 53%;
  padding-left: 6%;
}
.about-stay .dam-explain p{
  color: #AA6334 !important;
}
.about-stay .dam-explain .content-title h3{
  letter-spacing: 2px;
  color: #AA6334 !important;
}
.stay-contents-wrapper .content-sub{
  font-family: "yu-mincho-pr6n", sans-serif;
}
.stay-contents-wrapper .content-flex:nth-child(2n) .content-right{
  margin-left: 10%;
}
.stay-img{
  width: 100%;
  margin-top: 88px;
}
.stay-img img{
  width: 100%;
}
.stay-about-wrapper{
	width: 1100px;
	margin: 0 auto;
	padding-bottom: 100px;
}
.stay-about-wrapper p{
	color: #fff;
	line-height: 30px;
}
/*dog1*/
.dog2{
  display: block;
  width: 90% !important;
  margin: 0 auto ;
}
@media screen and (max-width: 767px) {
  .header-right {
    display: none;
  }
}
@media(max-width: 1300px){
  .header-logo{
    display: none;
  }
}
@media(max-width: 1000px){
  html,body{
    min-width: 100%;
    overflow-x: hidden;
  }
  .header-wrapper {
    margin-top: 50px;
    margin-left: 10px;
    padding: 0 15px;
    min-width: 100%;
    background-color: initial;
  }
  .header-logo{
    display: block;
    width: 75px;
    margin-top: -25px;
  }
  .drawer-icon{
    display: block;
  }
  .pc{
    display: none;
  }
  .sp{
    display: block;
  }
  .bar{
    display: block;
  }
  #movie{
    margin-top: 100px;
  }

  
  #movie{
    width: 100%;
    margin: 0 auto;
    margin-top: 70px;
    margin-bottom: 0px;
    height: initial;
  }
  .soon-wrapper{
    width: 95%;
    margin: 0 auto;
    padding-bottom: 50px;
  }
  .caption-wrapper{
    width: 95%;
    padding: 50px 0;
    -ms-writing-mode: initial;
  writing-mode: initial;
  }
  .caption-wrapper h1,
  .caption-wrapper h2,
  .caption-wrapper h3,
  .caption-wrapper h4{
    font-size: 20px;
    margin-top:  0px;
    margin-left: -68px;
    line-height: 40px;
    margin-bottom: 20px;
  }
  .caption-wrapper p{
    color: #FFF6E1;
    line-height: 40px;
    font-weight: 100;
    font-size: 15px;
  }
  .top-img1{
    height: initial;
  }
  .line-wrapper h1,
  .line-wrapper h2,
  .line-wrapper h3,
  .line-wrapper h4{
    width: 80%;
  }
  .line-wrapper a{
    width: 80%;
    font-size: 17px;
    letter-spacing: 2px;
  }
  .wave-img{
    margin-bottom: -1px;
  }
  .top-news-box{
    width: 95%;
    margin: 0 auto;
  }
  .top-news-heading h1,
  .top-news-heading h2,
  .top-news-heading h3,
  .top-news-heading h4{
    color: #B78800;
    font-size: 30px;
  }
  .top-news-list a{
    letter-spacing: 1px;
  }
  .content-flex{
    flex-direction: column;
    margin-bottom: 50px;
  }
  .content-left{
    width: 100%;
    margin-right: 0%;
    margin-bottom: 50px;
  }
  .content-right:nth-child(2n){
    order: 2;
  }
  .content-flex:nth-child(2n) .content-left{
	width: 100%;
 }
 .content-flex .content-right{
	margin: 0 auto;
	position: static!important;
	width: 95%;
 }
  .access-wrapper{
    padding-bottom: 50px;
  }
  .line{
    height: 100px;
  }
  .plan-btn{
    width: 95%;
  }
  .access-heading{
    margin-bottom: 50px;
  }
  .map-box{
    width: 100%;
  }
  .access-box{
    width: 95%;
  }
  .access-box p{
    letter-spacing: 1px;
    line-height: 30px;
  }
  .line2{
    height: 100px;
  }
  .reserved-box{
    width: 95%;
  }
  .reserved-wrapper a{
    width: 80%;
    letter-spacing: 1px;
  }
  .footer-flex{
    flex-direction: column;
  }
  .footer-left{
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .footer-right{
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .footer-btn{
    width: 90%;
    margin: 0 auto;
  }
  .footer-btn a{
    width: 100%;
    padding: 20px 0;
  }
  /*sp-pagedog*/
  .dog-caption-wrapper h1,
  .dog-caption-wrapper h2,
  .dog-caption-wrapper h3,
  .dog-caption-wrapper h4{
    color: #B78800;
    font-size: 7vw;
    margin-bottom: 50px;
	  font-family: "the-seasons", sans-serif;
font-weight: 700;
font-style: normal;
  }
  .dog-caption-wrapper{
    padding-top: 50px;
    width: 95%;
    
  }
  /*sp-stay*/
  #movie.stay-kv{
    margin-bottom: 0px;
  }
  .stay-caption-wrapper{
    position: initial;
    width: 100%;
    margin-top: 0px;
    padding: 50px 20px;
  }
  .stay-title::after{
    height: 0px;
  }
  .stay-title p{
    font-size: 14px;
    margin-bottom: 10px;
  }
  .stay-title h3{
    font-size: 30px;
  }
  .stay-sub{
    font-size: 15px;
  }
  .contact-wrapper{
    padding: 50px 0;
  }
  .contact-box{
    width: 95%;
  }
  .contact-heading h1,
  .contact-heading h2,
  .contact-heading h3,
  .contact-heading h4{
    color: #B78800;
    font-size: 30px;
  }
  .contact-caption{
    letter-spacing: 0px;
    font-size: 15px;
    margin-bottom: 60px;
  }
  /*sp-food*/
  .food-concept-wrapper{
    width: 95%;
    margin: 0 auto;
    padding: 50px 0;
  }
  .food-concept-wrapper h1,
  .food-concept-wrapper h2,
  .food-concept-wrapper h3,
  .food-concept-wrapper h4{
    text-align: center;
    font-size: 30px;

  }
  .food-caption{
    text-align: left;
    font-size: 23px;
    color: #fff;
    margin-bottom: 40px;
    line-height: 40px;
  }
	.food-content{
	text-align: left;
}
  .dinner-wrapper h1,
  .dinner-wrapper h2,
  .dinner-wrapper h3,
  .dinner-wrapper h4{
    text-align: center;
    font-size: 30px;

  }
  .food-img{
    width: 95%;
    margin: 0 auto;
    margin-bottom: 50px;
  }
  /*sp-dam*/
  .about-dam-wrapper{
    padding: 50px 0;
    margin-bottom: 50px;
  }
  .about-dam-box{
    width: 100%;
    margin: 0 auto;
    position: initial;
  }
  .about-dam-box img{
    width: 100%;
  }
  .dam-explain{
    padding: 50px 20px;
    background-color: #D0C6BD;
    position: initial;
    bottom: initial;
    right: initial;
  }
  .dam-trip-wrapper{
    width: 95%;
	  padding-bottom: 0px;
  }
  .dam-trip-box{
    flex-direction: column;
  }
  .dam-item{
    width: 100%;
    margin: 0 0% 60px;
  }
	  /*stay-new*/
  .about-stay .about-dam-box img{
    width: 100%;
  }
  .about-stay .about-dam-box .dam-explain{
    width: 100%;
    padding-left: 0%;
    padding-left: 5%;
  }
  .about-stay .dam-explain .content-title h3{
    font-size: 23px;
  }
	.stay-about-wrapper{
	width: 95%;
	margin: 0 auto;
}
  /*sp-dog1*/
  .dog2{
    display: block;
    width: 100% !important;
    margin: 0 auto ;
  }
	.spa-wrapper img{
		margin-bottom: 0px;
	}
	.bottomfix{
		display: block;
		position: fixed;
		bottom: 0;
		width: 100%;
		padding: 20px 0;
		color: #fff;
		background-color: #9D7502;
		text-align: center;
		z-index: 10;
	}
}

/* 以下、中島追記 */

/* -------- Root Vars & Global Resets ------------ */
:root{
  --color-accent: #b58c00;   /* ゴールド */
  --color-dark:   #000;      /* 黒ヒーロー背景 */
  --color-light:  #d5cec8;   /* ベージュ帯 */
  --color-frontext: #FFF6E1; /* 薄いベージュテキスト*/
  --font-serif: 'Noto Serif JP', serif;
  --font-sans:  'Noto Sans JP', sans-serif;
}
*,*::before,*::after{box-sizing:border-box;}
/* -------- Utility  ----------------------------- */
.u-accent{color:var(--color-accent);}
.u-serif {font-family:var(--font-serif);}
.u-sans  {font-family:var(--font-sans);}
.l-container{max-width:1200px;margin:0 auto;}
.l-section{width:100%;}
/* 共通見出しサイズ */
.heading-hero{font-size:7.5rem;font-weight:700;line-height:1;margin:0;}
.heading-sub {font-size:2.2rem;font-weight:700;line-height:1.3;margin:1rem 0 0;}

/* ▼フロントページ改行制御（PC）▼ */
.sp-br {
  display: none; /* SP用の改行はPCでは非表示 */
}
/* end ▲フロントページ改行制御（PC）▲ */

/* ▼フロントページ修正コード▼ */
.front_cta_note{
  margin: 50px auto 0;
  font-size: clamp(0.875rem, 0.5564rem + 1.3592vw, 2.1875rem);
  line-height: 1.2;
  width: 50vw;
  font-weight: 700;
  color: #FFF;
  text-align: center;
}
.front_cta_note a strong,
.front_cta_note strong,
.front_cta_note span{
	display: block;
  font-size: clamp(0.875rem, 0.7536rem + 0.5178vw, 1.375rem);
  font-weight: 700;
}
.front_cta_note a{
  display: block;
  padding: 1rem 3rem;
  border: 0.5px solid var(--color-light);
}
.caption_box{
  padding: 3rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 0 auto;
  width: 50vw;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.caption_box h1,
.caption_box h2,
.caption_box h3,
.caption_box h4{
  color: var(--color-accent);
  font-size: 1.5rem;
  display: block;
  margin-bottom: 20px;
}
.caption_box h1 em,
.caption_box h2 em,
.caption_box h3 em,
.caption_box h4 em{
	display: inline-block;
	font-style: normal;
}
.caption_box p{
  color: var(--color-frontext);
  line-height: 47px;
  font-weight: 100;
  font-size: 16px;
}
/* end ▲フロントページ修正コード▲ */

/* ▼イベント＆アクティビティ▼ */
.activity_box{
  display: flex;
  flex-direction: column;
  align-items: center;
}
.activity_box figure{
  width: 40vw;
  height: 40vw;
  margin: 3rem 0;
}
.activity_box img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}
.activity_content{
    margin: 3rem 0;
    width: 40vw;
    line-height: 1.5;
    font-size: clamp(0.75rem, 0.6893rem + 0.2589vw, 1rem);
}
.act_more{
    margin: 3rem auto;
    width: fit-content;
}
.act_more a{
  display: block;
  width: fit-content;
  border: 1px solid;
  padding: 5px 10px;
}
@media (max-width: 1000px) {
  .activity_box figure{
    width: 90vw;
    height: 90vw;
    margin: 3rem auto;
  }
  .activity_content{
    margin: 3rem auto;
    width: 90vw;
  }
}
/* end ▲イベント＆アクティビティ▲ */

/* ▼single 投稿ページ▼ */
.post_section{
  margin-top: 110px;
  width: 100%;
  position: relative;
  overflow: hidden;
  color: var(--color-frontext);
  font-family: var(--font-sans);
  font-size: clamp(0.75rem, 0.6286rem + 0.5178vw, 1.25rem);
}
.post_section article{
  width: 70vw;
  margin: 0 auto;
}

.entry-header {
  margin-bottom: 2rem;
  margin-bottom: 50px;
}

.entry-title {
  font-size: 2.25rem;
  margin: 0;
  font-weight: 700;
  line-height: 1.2;
}

.cat-links {
  display: inline-block;
  margin-top: 0.5rem;
  font-size: 0.9rem;
  padding: 0.5rem 1rem;
  border: 3px solid var(--color-accent);
  border-radius: 4px;
  font-size: 0.95rem;
  color: var(--color-frontext);
  text-decoration: none;
  transition: background-color 0.2s, border-color 0.2s;
}

/*────────────────────────────────────────
  アイキャッチ画像
────────────────────────────────────────*/
.post-thumbnail {
  margin: 2rem 0;
  text-align: center;
}

.post-thumbnail img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

/*────────────────────────────────────────
  本文コンテンツ
────────────────────────────────────────*/
.thanks_font{
  color: #007d50;
  text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF, -1px 1px 0 #FFF, 1px -1px 0 #FFF, 0px 1px 0 #FFF, 0 -1px 0 #FFF, -1px 0 0 #FFF, 1px 0 0 #FFF;
}

.entry-content {
  font-size: 1.1rem;
  line-height: 1.2;
}

.entry-content figure {
  margin-bottom: 1.25rem;
}

.entry-content figure img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4{
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-weight: 600;
}

.entry-content p {
  margin-bottom: 1.25rem;
}

.entry-content a {
  color: #fffd72;
  text-decoration: none;
  border-bottom: 1px solid rgba(249, 255, 80, 0.3);
  transition: border-color 0.2s;
}

.entry-content a:hover {
  border-color: rgba(0,122,204,0.6);
}

.j_center{
  justify-content: center;
}

/*────────────────────────────────────────
  タグ表示
────────────────────────────────────────*/
.entry-footer {
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-top: 1px solid #e0e0e0;
}

.tags-links {
  font-size: 0.9rem;
  color: #555;
}

.tags-links a {
  margin-right: 0.5rem;
  text-decoration: none;
  color: #007acc;
}

.tags-links a:hover {
  text-decoration: underline;
}

/*────────────────────────────────────────
  前後記事ナビゲーション
────────────────────────────────────────*/
.post-navigation {
  display: flex;
  justify-content: space-between;
  margin: 3rem 5vw;
}

.post-navigation .nav-previous a,
.post-navigation .nav-next a {
  display: inline-block;
  padding: 0.5rem 1rem;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 0.95rem;
  color: #333;
  text-decoration: none;
  transition: background-color 0.2s, border-color 0.2s;
}

.post-navigation .nav-previous a:hover,
.post-navigation .nav-next a:hover {
  background-color: #f5f5f5;
  border-color: #ccc;
}

/*────────────────────────────────────────
  レスポンシブ対応
────────────────────────────────────────*/
@media (max-width: 600px) {
  .post_section article{
    width: 90vw;
  }
  .entry-header .entry-title {
    font-size: 1.75rem;
  }
  .post-navigation {
    flex-direction: column;
    gap: 1rem;
  }
  .post-navigation .nav-previous,
  .post-navigation .nav-next {
    text-align: center;
  }
}
/* end ▲single 投稿ページ▲ */

/* ▼フードタブ式レイアウト▼ */
.food-tabs-wrapper {
  background-color: #D0C6BD;
  padding: 100px 0;
}

.food-tabs-wrapper p{
  text-align: center;
  line-height: 1.3;
  font-size: clamp(0.75rem, 0.6893rem + 0.2589vw, 1rem);
  margin: 0 1.5rem 2rem;
}

.food-tabs-header {
  display: flex;
  justify-content: center;
  gap: 50px;
  margin-bottom: 50px;
}

.food-tab-button {
  cursor: pointer;
  transition: all 0.3s ease;
  opacity: 0.7;
  transform: scale(0.9);
}

.food-tab-button.active {
  opacity: 1;
  transform: scale(1);
}

.food-tab-button img {
  width: 300px;
  height: auto;
  border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
}
.food-tab-button figcaption,
.food-tab-title {
  font-size: 1rem;
  margin-top: 1em!important;
  text-align: center;
}
.food-tab-button figcaption em,
.food-tab-title em {
	display: inline-block;
	font-style: normal;
}

.food-tab-button:hover img {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
  transform: translateY(-3px);
}

.food-tabs-content {
  max-width: 1000px;
  margin: 0 auto;
}

.food-tab-content {
  display: none;
  text-align: center;
  color: #0A3D5A;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: clamp(0.75rem, 0.6893rem + 0.2589vw, 1rem);
}

.food-tab-content.active {
  display: block;
  animation: fadeIn 0.5s ease-in-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.food-tab-content h1,
.food-tab-content h2,
.food-tab-content h3,
.food-tab-content h4{
  font-size: 50px;
  margin-bottom: 30px;
  color: #B78800;
  font-family: "the-seasons", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.3;
}

.food-tab-content p {
  letter-spacing: 1px;
  line-height: 2;
  margin: 0 1rem 2rem;
}

.food-tab-content .food-img {
  width: 800px;
  margin: 0 auto 50px;
}

.food-tab-content .food-img img {
  width: 100%;
  border-radius: 8px;
}

/* レスポンシブ対応 */
@media screen and (max-width: 1000px) {
  .food-tabs-header {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 30px;
  }
  
  .food-tab-button img {
    width: 80%;
    max-width: 300px;
  }
  
  .food-tabs-content {
    width: 95%;
    margin: 0 auto;
  }
  
  .food-tab-content h1,
  .food-tab-content h2,
  .food-tab-content h3,
  .food-tab-content h4{
    font-size: 30px;
  }
  
  .food-tab-content .food-img {
    width: 95%;
  }
}

@media screen and (max-width: 767px) {
  .food-tab-content p {
    text-align: justify;
  }
  .food-tabs-wrapper {
    padding: 50px 0;
  }
  
  .food-tabs-header {
    gap: 20px;
  }
  
  .food-tab-button img {
    width: 90%;
  }
}
/* end ▲フードタブ式レイアウト▲ */

/* ▼恵那峡温泉・ダムに泊まるエリア修正コード▼ */
/* --- 楕円背景をつくるラッパー --- */
.spa-banner{
  position:relative;overflow:hidden;
  /* 高さはパディングで確保。幅いっぱいの楕円を ::before に描画 */
}
.spa-banner::before{
  content:"";
  position:absolute;left:50%;top:0;
  width:140%;          /* 少しはみ出させて左右ラウンドを滑らかに */
  height:100%;
  background:var(--color-light);
  transform:translateX(-50%);
  border-radius:50%/35%;/* 50%/35% で上下を緩いカーブに */
  z-index:-1;          /* テキストより下へ */
}
/* --- テキストブロックの余白 --- */
.spa-banner__inner{
  padding:8rem 3vw 9rem;   /* 上下>左右 */
  text-align:left;
}
/* --- ノート（注釈） --- */
.spa-banner__note{
  margin-top:1.5rem;
  font-size:0.9rem;line-height:1.7;
  color:#26474d;
}
/* ---- Layout wrapper ---- */
.spa_text_wrap{
  padding:4rem 22vw;             /* roomy breathing space */
  display: flex;
  flex-direction: column;
}
.spa-hero{
  display:flex;
  align-items:baseline;       /* top‑align text block with big number */
  gap:1.5rem;                   /* space between number and text */
  color:#fff;
}
/* ---- Big index number ---- */
.spa-hero__number{
  position:relative;
  font-family:'Noto Serif JP', serif;
  font-size:5rem;               /* tweak to suit */
  font-weight:700;
  line-height:1;
  color:#b58c00;                /* gold-ish */
  /* add the diagonal slash */
}
.spa-hero__number::after{
  content:"";
  position:absolute;
  right:-1.3rem;                /* distance from number */
  top:0;
  height:100%;
  width:2px;
  background:#b58c00;
  transform:skewX(-17deg);      /* gives the “/” angle */
  transform-origin:top right;
}
/* ---- Heading ---- */
.spa-hero__title{
  margin:0;
  font-family:'Noto Sans JP', sans-serif;
  font-size:2rem;
  font-weight:700;
  letter-spacing:0.05em;
  color:#b58c00;
}
/* ---- Body text ---- */
.spa-hero__text{
  margin-top:1.2rem;
  font-family:'Noto Sans JP', sans-serif;
  font-size:1rem;
  line-height:1.8;
  color:#e0e0e0;                /* softer white */
}
/* end ▲恵那峡温泉・ダムに泊まるエリア修正コード▲ */

.act_wrapper{
  width: 80vw;
  margin: 0 auto;
}
.act-kv{
  margin-top: 0!important;
  height: 100vh;
  position: relative;;
}
.act-kv img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 70%;
  display: block;
}
.act_flexbox{
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 3rem 0;
  flex-wrap: wrap;
  justify-content: space-between;
}
.act_flexbox figure{
  width: 30rem;
  height: 30rem;
}
.act_flexbox figure img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 100%;
  display: block;
}
.act_flexbox figure video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 100%;
  display: block;
}
.act_textbox{
  width: 40%;
  color: #FFF;
  text-align: left;
}
.act_textbox li{
  margin: 2rem;
  list-style: disc;
}
.act_gallary{
  display: flex;
  justify-content: space-between;
  margin: 3rem 0 5rem;
  flex-wrap: wrap;
  gap: 3rem;
  color: #FFF;
}
.act_gallary figure{
  width: 15rem;
  height: 15rem;
}
.act_gallary figure img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.flex_rev{
  flex-direction: row-reverse;
}
.line15{
  line-height: 1.5;
}


@media (max-width: 1000px) {
  .act_wrapper{
    width: 95%;
  }
  .act_flexbox{
    flex-direction: column;
    align-items: center;
  }
  .act_flexbox figure{
    width: 20rem;
    height: 20rem;
  }
  .act_more{
    margin: 3rem auto;
  }
  .act_more a{
    padding: 1rem 2rem;
  }
  .act_textbox{
    margin: 0 auto;
    width: 85%;
  }
  .act_gallary{
    flex-direction: column;
    align-items: center;
  }
  .act_gallary figure{
    width: 20rem;
    height: 20rem;
  }
}

/* ---- Responsive adjustments ---- */
@media (max-width: 1000px) {
  /* ▼フロントページ改行制御（SP）▼ */
  .sp-br {
    display: block; /* SP用の改行をSPでは表示 */
  }
  .sp-no {
    display: none; /* SP用の改行をSPでは非表示 */
  }
  /* end ▲フロントページ改行制御（SP）▲ */
  .front_cta_note {
    width: 90%; /* 幅を画面幅に合わせる */
    margin-top: 30px; /* 上マージン調整 */
  }
  .front_cta_note a {
    padding: 1rem 1.5rem; /* 内側余白を調整 */
  }
  .caption_box {
    width: 90%; /* 幅を画面幅に合わせる */
    padding: 2rem 1.5rem; /* 内側余白を調整 */
    align-items: center; /* 要素を中央揃えに */
  }
  .caption_box h1,
  .caption_box h2,
  .caption_box h3,
  .caption_box h4{
    font-size: 1.1rem; /* モバイル向けにフォントサイズ調整 */
  }
  .caption_box p {
    font-size: 1rem; /* モバイル向けにフォントサイズ調整 */
    line-height: 1.8; /* 行間調整 */
  }

  .heading-hero {
    font-size: 4rem; /* Reduce font size for hero heading */
  }
  .heading-sub {
    font-size: 1.8rem; /* Reduce font size for sub heading */
  }
  .spa-banner__inner {
    padding: 4rem 5vw 5rem; /* Adjust padding for smaller screens */
  }
  .spa-banner__note {
    font-size: 0.8rem; /* Adjust font size for note */
  }
  .spa_text_wrap {
    padding: 2rem 5vw; /* Adjust padding for smaller screens */
  }
  .spa-hero {
    flex-direction: column; /* Stack elements vertically */
    align-items: flex-start; /* Align items to the start */
    gap: 0.5rem; /* Reduce gap */
  }
  .spa-hero__number {
    font-size: 3rem; /* Reduce font size */
    margin-bottom: 0.5rem; /* Add some space below the number */
  }
  .spa-hero__number::after {
    display: none; /* Hide the slash on smaller screens */
  }
  .spa-hero__title {
    font-size: 1.5rem; /* Reduce font size */
  }
  .spa-hero__text {
    font-size: 0.9rem; /* Adjust font size */
    line-height: 1.6; /* Adjust line height */
    margin-top: 1rem; /* Adjust top margin */
  }
  
}


/*================================================================
# NAGIでの過ごし方ページ
================================================================ */

/* キービジュアル */
#movie.spend-kv{
	position: relative;
	overflow: hidden;
	height: 650px;
	margin-top: 88px;
	width: 100%;
	margin-bottom: 0;
}

#movie.spend-kv img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* キャプションエリア */
.spend-caption-wrapper{
	background-color: #0B3D5B;
	text-align: center;
	padding: 100px 0;
}

.spend-caption-wrapper h1,
.spend-caption-wrapper h2,
.spend-caption-wrapper h3,
.spend-caption-wrapper h4{
	font-size: 50px;
	color: #fff;
	font-family: "yu-mincho-pr6n", sans-serif;
	margin-bottom: 30px;
}

.spend-caption-wrapper .spend-caption{
	font-size: 24px;
	color: #fff;
	margin-bottom: 40px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
.spend-caption-wrapper .spend-caption em {
	display: inline-block;
	font-style: normal;
}

.spend-content{
	text-align: center;
	color: #fff;
	line-height: 30px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

/* スケジュールエリア */
.spend-schedule-wrapper{
	background-color: #f8f8f8;
	padding: 100px 0;
}

.spend-schedule-wrapper h1,
.spend-schedule-wrapper h2,
.spend-schedule-wrapper h3,
.spend-schedule-wrapper h4{
	text-align: center;
	font-size: 40px;
	color: #0B3D5B;
	margin-bottom: 60px;
	font-family: "yu-mincho-pr6n", sans-serif;
}

.spend-schedule{
	max-width: 800px;
	margin: 0 auto;
	padding: 0 20px;
}

.schedule-item{
	display: flex;
	align-items: center;
	margin-bottom: 40px;
	background-color: #fff;
	padding: 30px;
	border-radius: 10px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.schedule-time{
	font-size: 28px;
	font-weight: bold;
	color: #0B3D5B;
	min-width: 80px;
	margin-right: 30px;
	font-family: "yu-mincho-pr6n", sans-serif;
}

.schedule-content h3{
	font-size: 20px;
	color: #333;
	margin-bottom: 10px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

.schedule-content p{
	color: #666;
	line-height: 1.6;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

/* アクティビティエリア */
.spend-activities-wrapper{
	background-color: #fff;
	padding: 100px 0;
}

.spend-activities-wrapper h1,
.spend-activities-wrapper h2,
.spend-activities-wrapper h3,
.spend-activities-wrapper h4{
	text-align: center;
	font-size: 40px;
	color: #0B3D5B;
	margin-bottom: 60px;
	font-family: "yu-mincho-pr6n", sans-serif;
}

.spend-activities{
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
}

.activity-item{
	display: flex;
	align-items: center;
	margin-bottom: 50px;
	background-color: #f8f8f8;
	border-radius: 10px;
	overflow: hidden;
}

.activity-item:nth-child(even){
  padding-left: 60px;
}

.activity-item:nth-child(odd){
  padding-right: 60px;
}

/* 非スライドショー画像用（後方互換性のため残す） */
.activity-item > img:not(.activity-slide){
	width:40%;
	height: 350px;
	object-fit: cover;
	padding: 40px;
}

.activity-content{
	padding: 40px 10px;
	flex: 1;
}

.activity-content h3{
	font-size: 24px;
	color: #0B3D5B;
	margin-bottom: 15px;
	font-family: "yu-mincho-pr6n", sans-serif;
}

.activity-content p{
	color: #666;
	line-height: 1.8;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}

/*================================================================
# レスポンシブ対応（スマートフォン）
================================================================ */
@media screen and (max-width: 767px) {
	#movie.spend-kv{
		height: 300px;
		margin-top: 70px;
	}

	.spend-caption-wrapper{
		padding: 60px 20px;
	}

	.spend-caption-wrapper h1,
	.spend-caption-wrapper h2,
	.spend-caption-wrapper h3,
	.spend-caption-wrapper h4{
		font-size: 28px;
		margin-bottom: 20px;
	}

	.spend-caption-wrapper .spend-caption{
		font-size: 16px;
		margin-bottom: 30px;
    line-height: 1.3;
	}

	.spend-content{
		font-size: 14px;
		line-height: 24px;
	}

	.spend-schedule-wrapper{
		padding: 60px 20px;
	}

	.spend-schedule-wrapper h1,
	.spend-schedule-wrapper h2,
	.spend-schedule-wrapper h3,
	.spend-schedule-wrapper h4{
		font-size: 24px;
		margin-bottom: 40px;
	}

	.schedule-item{
		flex-direction: column;
		text-align: center;
		padding: 20px;
		margin-bottom: 30px;
	}

	.schedule-time{
		font-size: 24px;
		margin-right: 0;
		margin-bottom: 15px;
		min-width: auto;
	}

	.schedule-content h3{
		font-size: 18px;
		margin-bottom: 8px;
	}

	.schedule-content p{
		font-size: 14px;
	}

	.spend-activities-wrapper{
		padding: 30px 0;
	}

	.spend-activities-wrapper h1,
	.spend-activities-wrapper h2,
	.spend-activities-wrapper h3,
	.spend-activities-wrapper h4{
		font-size: 24px;
		margin-bottom: 40px;
	}

	.activity-item{
		flex-direction: column;
		margin-bottom: 40px;
	}

	.activity-item:nth-child(even){
		flex-direction: column;
    padding: 0;
	}

.activity-item:nth-child(odd){
    flex-direction: column;
    padding: 0;
}

	.activity-item img{
		width: 100%;
		padding: 0;
    height: 200px;
	}

	.activity-content{
		padding: 20px 15px;
	}

	.activity-content h3{
		font-size: 20px;
		margin-bottom: 12px;
    line-height: 1.3;
    text-align: center;
	}

	.activity-content p{
		font-size: 14px;
		line-height: 1.6;
	}
}

/*================================================================
# activity-item スライドショー機能
================================================================ */

/* スライドショーコンテナ */
.activity-slideshow {
	position: relative;
	width: 40%;
	height: 350px;
	overflow: hidden;
	padding: 40px;
	min-width: 440px;
}

/* スライドコンテナ */
.activity-slides {
	position: relative;
	width: 100%;
	height: 100%;
}

/* 各スライド */
.activity-slideshow .activity-slide {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.5s ease-in-out;
	pointer-events: none;
	padding: 0 !important;
	display: block;
}

.activity-slideshow .activity-slide.active {
	opacity: 1;
	pointer-events: auto;
	z-index: 1;
}

/* ナビゲーションボタン */
.activity-slide-prev,
.activity-slide-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background-color: rgba(0, 0, 0, 0.5);
	color: white;
	border: none;
	font-size: 30px;
	padding: 10px 15px;
	cursor: pointer;
	z-index: 1;
	transition: background-color 0.3s ease;
	border-radius: 3px;
}

.activity-slide-prev:hover,
.activity-slide-next:hover {
	background-color: rgba(0, 0, 0, 0.8);
}

.activity-slide-prev {
	left: 50px;
}

.activity-slide-next {
	right: 50px;
}

/* インディケーター（ドット） */
.activity-slide-dots {
	position: absolute;
	bottom: 50px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 10px;
	z-index: 10;
}

.activity-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.5);
	cursor: pointer;
	transition: background-color 0.3s ease;
}

.activity-dot.active {
	background-color: rgba(255, 255, 255, 1);
}

.activity-dot:hover {
	background-color: rgba(255, 255, 255, 0.8);
}

/* 偶数番目のactivity-item */
.activity-item:nth-child(even) .activity-slideshow {
	order: 2;
}

/*================================================================
# レスポンシブ対応（スマートフォン） - スライドショー
================================================================ */
@media screen and (max-width: 767px) {
	.activity-slideshow {
		width: 100%;
		height: 200px;
		padding: 0;
		order: 1 !important;
	}

	.activity-slideshow .activity-slide {
		width: 100% !important;
		height: 100% !important;
		padding: 0 !important;
	}

	.activity-slide-prev {
		left: 10px;
		font-size: 24px;
		padding: 5px 10px;
	}

	.activity-slide-next {
		right: 10px;
		font-size: 24px;
		padding: 5px 10px;
	}

	.activity-slide-dots {
		bottom: 10px;
		gap: 8px;
	}

	.activity-dot {
		width: 10px;
		height: 10px;
	}
}

/*================================================================
# 画像ギャラリー - page-activity.php
================================================================ */

/* ギャラリーイントロ */
.gallery-intro {
	text-align: center;
	margin: 20px 0 40px;
	font-size: 1.1rem;
  color: #FFF;
}

/* グリッドコンテナ */
.image-gallery-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 30px;
	margin-top: 40px;
	padding: 0 20px;
}

/* ギャラリーアイテム */
.gallery-item {
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery-item:hover {
	transform: translateY(-5px);
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
}

/* 画像 */
.gallery-item figure {
	margin: 0;
	overflow: hidden;
}

.gallery-item img {
	width: 100%;
	height: 250px;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.gallery-item:hover img {
	transform: scale(1.05);
}

/* キャプション */
.gallery-caption {
	padding: 20px;
}

.gallery-caption h3 {
	margin: 0 0 10px 0;
	font-size: 1.2rem;
	color: #333;
}

.gallery-caption p {
	margin: 0;
	color: #666;
	font-size: 0.9rem;
	line-height: 1.5;
}

/*================================================================
# レスポンシブ対応（タブレット） - 画像ギャラリー
================================================================ */
@media screen and (max-width: 768px) {
	.image-gallery-grid {
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
		gap: 20px;
	}

	.gallery-item img {
		height: 200px;
	}
}

/*================================================================
# レスポンシブ対応（スマートフォン） - 画像ギャラリー
================================================================ */
@media screen and (max-width: 480px) {
	.image-gallery-grid {
		grid-template-columns: 1fr;
		gap: 15px;
		padding: 0 10px;
	}

	.gallery-item img {
		height: 180px;
	}

	.gallery-caption {
		padding: 15px;
	}

	.gallery-caption h3 {
		font-size: 1.1rem;
	}
}

/*================================================================
# Activity Slider (Slick Slider) スタイル
================================================================ */
.activity-slider-wrapper {
	max-width: 1400px;
	margin: 60px auto;
	padding: 0 20px;
}

/* Slickスライダーの高さを揃える */
.activity-slider .slick-track {
	display: flex !important;
	align-items: stretch;
}

.activity-slider .slick-slide {
	height: auto;
	display: flex !important;
	align-items: stretch;
}

/* スライダーアイテム */
.slider-item {
	padding: 0 10px;
	outline: none;
	height: 100%;
	display: flex;
	flex-direction: column;
}

/* カード本体 */
.slider-card {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
	transition: all 0.3s ease;
	height: 100%;
	display: flex;
	flex-direction: column;
	width: 30rem; /* カードの横幅を固定 */
	max-width: 30rem;
}

.slider-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

/* 画像エリア */
.slider-card figure {
	margin: 0;
	overflow: hidden;
	height: 35rem; /* PCで横長に表示 */
	flex-shrink: 0; /* 画像の高さを固定 */
}

.slider-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center; /* 画像の中央を表示 */
	transition: transform 0.3s ease;
	display: block; /* 画像下の余白を削除 */
}

.slider-card:hover img {
	transform: scale(1.05);
}

/* キャプション */
.slider-caption {
	padding: 25px;
	flex: 1; /* 残りのスペースを埋める */
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.slider-caption h3 {
	margin: 0 0 10px 0;
	font-size: 1.3rem;
	color: #333;
	font-weight: 600;
}

.slider-caption p {
	margin: 0;
	color: #666;
	font-size: 0.95rem;
	line-height: 1.6;
}

/* Slick ナビゲーション矢印のカスタマイズ */
.activity-slider .slick-prev,
.activity-slider .slick-next {
	width: 50px;
	height: 50px;
	z-index: 10;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 50%;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}

.activity-slider .slick-prev:hover,
.activity-slider .slick-next:hover {
	background: #fff;
}

.activity-slider .slick-prev {
	left: -25px;
}

.activity-slider .slick-next {
	right: -25px;
}

.activity-slider .slick-prev:before,
.activity-slider .slick-next:before {
	font-size: 24px;
	color: #0B3D5B;
	opacity: 1;
}

/* Slick ドットインジケーターのカスタマイズ */
.activity-slider .slick-dots {
	bottom: -50px;
}

.activity-slider .slick-dots li button:before {
	font-size: 12px;
	color: #0B3D5B;
	opacity: 0.3;
}

.activity-slider .slick-dots li.slick-active button:before {
	color: #0B3D5B;
	opacity: 1;
}

/* センターモードのスタイル */
.activity-slider .slick-center .slider-card {
	transform: scale(1);
}

.activity-slider .slick-slide:not(.slick-center) .slider-card {
	opacity: 0.7;
	transform: scale(0.95);
}

/*================================================================
# レスポンシブ対応（タブレット） - Activity Slider
================================================================ */
@media screen and (max-width: 1024px) {
	.activity-slider-wrapper {
		margin: 40px auto;
	}

	.slider-card {
		width: 25rem; /* タブレットではやや小さく */
		max-width: 25rem;
	}

	.slider-card figure {
		height: 200px; /* タブレットでも横長に */
	}

	.slider-caption {
		padding: 20px;
	}

	.slider-caption h3 {
		font-size: 1.2rem;
	}

	.activity-slider .slick-prev {
		left: -15px;
	}

	.activity-slider .slick-next {
		right: -15px;
	}
}

/*================================================================
# レスポンシブ対応（スマートフォン） - Activity Slider
================================================================ */
@media screen and (max-width: 768px) {
	.activity-slider-wrapper {
		margin: 30px auto;
		padding: 0 10px;
	}

	.slider-card {
		width: auto; /* スマホでは幅を自動調整 */
		max-width: 100%;
	}

	.slider-card figure {
		height: 180px; /* スマホで適切なサイズ */
	}

	.slider-caption {
		padding: 18px;
	}

	.slider-caption h3 {
		font-size: 1.1rem;
	}

	.slider-caption p {
		font-size: 0.9rem;
	}

	/* スマホでは矢印を小さく表示し、スワイプ可能であることを明示 */
	.activity-slider .slick-prev,
	.activity-slider .slick-next {
		display: block !important;
		width: 40px;
		height: 40px;
	}

	.activity-slider .slick-prev {
		left: 10px;
	}

	.activity-slider .slick-next {
		right: 10px;
	}

	.activity-slider .slick-prev:before,
	.activity-slider .slick-next:before {
		font-size: 20px;
	}

	.activity-slider .slick-dots {
		bottom: -40px;
	}

	/* センターモードの調整 */
	.activity-slider .slick-slide:not(.slick-center) .slider-card {
		opacity: 0.6;
		transform: scale(0.9);
	}
}

/*================================================================
# レスポンシブ対応（小型スマートフォン） - Activity Slider
================================================================ */
@media screen and (max-width: 480px) {
	.activity-slider-wrapper {
		margin: 20px auto;
	}

	.slider-card {
		width: auto; /* 小型スマホでも幅を自動調整 */
		max-width: 100%;
	}

	.slider-card figure {
		height: 160px; /* 小型スマホで適切なサイズ */
	}

	.slider-caption {
		padding: 15px;
	}

	.slider-caption h3 {
		font-size: 1rem;
	}

	.slider-caption p {
		font-size: 0.85rem;
	}

	/* 小型スマホでも矢印を表示し、スワイプ可能であることを明示 */
	.activity-slider .slick-prev,
	.activity-slider .slick-next {
		display: block !important;
		width: 36px;
		height: 36px;
		background: rgba(255, 255, 255, 0.95);
	}

	.activity-slider .slick-prev {
		left: 5px;
	}

	.activity-slider .slick-next {
		right: 5px;
	}

	.activity-slider .slick-prev:before,
	.activity-slider .slick-next:before {
		font-size: 18px;
	}

	.activity-slider .slick-dots {
		bottom: -35px;
	}

	.activity-slider .slick-dots li {
		margin: 0 3px;
	}

	.activity-slider .slick-dots li button:before {
		font-size: 10px;
	}
}


/* Rule & Manner */
.p-dog-rules {
	color: #0A3D5A;
	font-size: 16px;
	overflow: hidden;
}
.p-dog-rules__inner {
	display: flex;
	gap: 50px;
	margin: 0 auto;
	max-width: 1200px;
	padding: 120px 0 320px;
	position: relative;
	width: 100%;
}
.p-dog-rules__column1 {
	max-width: 40%;
}
.p-dog-rules__column2 {
	max-width: 56%;
}
.p-dog-rules__inner::before {
	background-color: #cfc6b6;
	border-radius: 100%;
	content: "";
	display: block;
	height: 1200px;
	position: absolute;
	inset: 0 auto auto -400px;
	width: 1200px;
	z-index: -1!important;
}
.p-dog-rules__inner::after {
	background-color: #cfc6b6;
	border-radius: 100%;
	content: "";
	display: block;
	height: 1200px;
	position: absolute;
	inset: auto -330px 120px auto;
	width: 1200px;
	z-index: -1!important;
}
.p-dog-rules__title {
	margin: 8px 0;
}
.p-dog-rules__subtitle {
	color: #B78800;
    font-size: 64px;
    font-family: "the-seasons", sans-serif;
    font-weight: 400;
    font-style: normal;
}
.p-dog-rules__texts {
	display: flex;
	gap: 8px;
}
.p-dog-rules__text {
	line-height: 180%;
}
.p-dog-rules__text strong {
	color: #B78800;
    font-family: "the-seasons", sans-serif;
	font-size: 18px;
	margin: 0 16px 0 0;
}
.p-dog-rules__items {
}
.p-dog-rules__items figure img {
	max-width: 100%;
}
.p-dog-rules__image img {
	margin-top: 200px;
	max-width: 800px;
}
.p-dog-content {
	display: flex;
	gap: 24px;
}

@media screen and (max-width: 1000px) {
	.p-dog-rules__inner {
		flex-wrap: wrap;
		gap: 0;
		padding: 80px 0 40px;
		width: 95%;
	}
	.p-dog-rules__column1 {
		max-width: none;
		width: 100%;
	}
	.p-dog-rules__column2 {
		max-width: none;
		width: 100%;
	}
	.p-dog-rules__inner::before {
		height: 1600px;
		position: absolute;
		inset: 0 auto auto -500px;
		width: 1600px;
	}
	.p-dog-rules__inner::after {
		height: 1600px;
		inset: auto -330px -300px auto;
		width: 1600px;
	}
	.p-dog-rules__title {
		font-size: 14px;
		margin: 8px 0;
	}
	.p-dog-rules__subtitle {
		font-size: 48px;
	}
	.p-dog-rules__texts {
		flex-direction: column;
		gap: 24px;
	}
	.p-dog-rules__text strong {
		display: block;
		margin: 16px 0 0;
	}
	.p-dog-rules__image img {
		margin: 80px calc(50% - 50vw) 0;
		max-width: 100vw;
	}
	.p-dog-content {
		flex-wrap: wrap;
	}
	.p-dog-content__image img {
	}
}



/* 宿泊のご案内 */
.p-stay-contents {
	overflow: hidden;
}
.p-stay-contents__inner {
	gap: 50px;
	margin: 0 auto;
	max-width: 1200px;
	padding: 120px 0 320px;
	position: relative;
	width: 95%;
}
.p-stay-contents__items {
	width: 100%;
}
.p-stay-contents__items p {
	color: #0A3D5A;
	line-height: 180%;
}
.p-stay-contents__column1 {
	margin: 0 auto;
	max-width: 800px;
}
.p-stay-contents__column2 {
	margin: 0 auto;
	max-width: 1000px;
}
.p-stay-contents__column3 {
	display: flex;
	gap: 50px;
	margin: 0 auto;
	max-width: 1000px;
}
.p-stay-contents__inner::before {
	background-color: #cfc6b6;
	border-radius: 100%;
	content: "";
	display: block;
	height: 1400px;
	position: absolute;
	inset: 0 -80px auto auto;
	width: 1400px;
	z-index: -1;
}
.p-stay-contents__inner::after {
	background-color: #cfc6b6;
	border-radius: 100%;
	content: "";
	display: block;
	height: 1400px;
	position: absolute;
	inset: auto auto 40px -260px;
	width: 1400px;
	z-index: -1;
}

@media screen and (max-width: 1000px) {
	.p-stay-contents {
		background-color: #cfc6b6;
	}
	.p-stay-contents__inner {
		flex-wrap: wrap;
		gap: 0;
		padding: 40px 0;
		width: 95%;
	}
	.p-stay-contents__column1 {
		max-width: none;
		width: 100%;
	}
	.p-stay-contents__column2 {
		max-width: none;
		width: 100%;
	}
	.p-stay-contents__inner::before,
	.p-stay-contents__inner::after {
		display: none;
	}
	.p-stay-contents__column3 {
		flex-direction: column;
		gap: 64px;
	}
}


/* 施設のご案内 */
.p-stay-facilities {
	color: #0A3D5A;
	display: flex;
	gap: 24px;
	line-height: 180%;
}
.p-stay-facilities__content {
	display: flex;
	gap: 24px;
}
@media screen and (max-width: 1000px) {
	.p-stay-facilities {
		flex-direction: column;
	}
	.p-stay-facilities__content {
		flex-direction: column;
		gap: 0;
	}
}


/* ご購入いただけるもの */
.p-stay-shopping {
	color: #fff;
	line-height: 180%;
	margin: 0 auto;
	text-align: center;
	width: 95%;
}
.p-stay-shopping__content {
	margin: 0 auto;
	max-width: 640px;
	text-align: left;
}
@media screen and (max-width: 1000px) {
	.p-stay-shopping {
		text-align: left;
	}
	.p-stay-shopping__content {
		max-width: none;
	}
}


/* サブページヘッダー */
.c-section-summary {
	background-color: #D0C6BD;
	padding: 80px 0;
}
.c-section-summary__header {
	margin: 0 auto;
	max-width: 1000px;
	width: 95%;
}
.c-section-summary__text {
	color: #0A3D5A;
	font-size: 16px;
	line-height: 180%;
	margin: 0 auto;
	max-width: 1000px;
	width: 95%;
}

/* セクション見出し */
.c-headline-section {
}
.c-headline-section.is-no-transform p {
	text-transform: none;
}
.c-headline-section.is-large p {
	font-size: 80px;
}
.c-headline-section h5,
.c-headline-section h4,
.c-headline-section h3,
.c-headline-section h2,
.c-headline-section h1 {
	color: #0A3D5A;
	margin: 8px 0;
}
.c-headline-section p {
	color: #B78800;
    font-size: 64px;
    font-family: "the-seasons", sans-serif;
    font-weight: 400;
    font-style: normal;
	line-height: 100%;
	text-transform: uppercase;
}
@media screen and (max-width: 1000px) {
	.c-headline-section.is-large p {
		font-size: 56px;
	}
}

/* 見出し英字のみ */
.c-headline-secondary {
	color: #B78800;
    font-size: 42px;
    font-family: "the-seasons", sans-serif;
    font-weight: 400;
    font-style: normal;
	line-height: 100%;
}

/* view more ボタン */
.c-button-view {
}
.c-button-view a {
	border-bottom: 0.5px solid #fff;
	color: #B78800;
	display: inline-block;
    font-family: "the-seasons", sans-serif;
	font-size: 32px;
	padding: 8px 16px 4px 4px;
	transition: border-bottom-color .1s ease, opacity .1s ease;
}
.c-button-view a em {
	display: inline-block;
	font-size: 16px;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-size: 10px;
	font-style: normal;
	margin: 0 0 0 8px;
}
.c-button-view a:hover {
	border-bottom-color: transparent;
	opacity: 0.7;
}

/* HR 横長画像 */
.c-hr-photo {
	display: block;
}
.c-hr-photo img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

/* How to fun */
.p-home-howtofun {
	background-color: #cfc6b6;
	color: #0A3D5A;
	line-height: 180%;
	margin: 40px 0 0;
	/* overflow: hidden; */
	position: relative;
	z-index: 1;
}
.p-home-howtofun::before {
	background-color: #cfc6b6;
	border-radius: 100% 100% 0 0;
	content: "";
	display: block;
	height: 400px;
	position: absolute;
	inset: -100px auto auto -800px;
	width: calc(100vw + 1200px);
	z-index: -1;
}
.p-home-howtofun__inner {
	margin: 0 auto;
	max-width: 1200px;
	position: relative;
	width: 95%;
}
.p-home-howtofun__content {
	background: #0A3D5A;
	max-width: 640px;
	padding: 40px;
}
.p-home-howtofun__content p {
	color: #fff;
}
.p-home-howtofun__content p em {
	display: inline-block;
	font-style: normal;
}
.p-home-howtofun__photo {
	position: absolute!important;
	inset: auto 0 64px auto;
	width: fit-content;
}
@media screen and (max-width: 1000px) {
	.p-home-howtofun {
		margin: 120px 0 0;
	}
	.p-home-howtofun::before {
		height: 400px;
		inset: -100px auto auto -120px;
		width: 1200px;
	}
	.p-home-howtofun__inner {
		text-align: center;
	}
	.p-home-howtofun__content {
		margin: 0 auto;
		text-align: left;
	}
	.p-home-howtofun__photo {
		display: none;
	}
}

.wpforms-required-label {
	color: #fff!important;
}
.wpforms-confirmation-container-full {
	text-align: center!important;
}

/* FAQのKV */
.faq-kv {
	height: 560px;
	margin: 80px auto 112px!important;
	width: 100%;
}
.faq-kv img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center 25%;
	width: 100%;
}
@media screen and (max-width: 1000px) {
	.faq-kv {
		height: 480px!important;
	}
}
@media screen and (max-width: 640px) {
	.faq-kv {
		height: 240px!important;
	}
}

/* FAQ */
.c-list-faq-wrapper {
	/* background-color: #D0C6BD; */
	border-radius: 32px;
	counter-reset: question;
	display: grid;
	gap: 24px;
	margin: 0 auto;
	max-width: 1000px;
	width: 95%;
}
.c-list-faq {
	/* background-color: #fff; */
	border-radius: 12px;
	display: grid;
	gap: 16px;
	justify-content: start;
    margin: 0 auto;
	max-width: 800px;
	padding: 24px;
    width: 100%;
}
.c-list-faq__question {
	display: grid;
	gap: 24px;
	grid-template-columns: 36px 1fr;
	padding: 4px 0 0;
	position: relative;
}

.c-list-faq__question::before {
	align-items: center;
	background: #B78800;
	border-radius: 100px;
	color: #fff;
	content: "Q";
	display: flex;
	font-family: "the-seasons", sans-serif;
	font-size: 18px;
	font-weight: 700;
	height: 36px;
	justify-content: center;
	padding: 0 0 4px;
	position: relative;
	top: -4px;
	width: 36px;
}

.c-list-faq__question p {
	color: #B78800;
	/* color: #0A3D5A; */
	font-size: 20px;
	font-style: normal;
	font-weight: 400;
	letter-spacing: 1.6px;
	line-height: 140%; /* 25.2px */
}

.c-list-faq__answer p {
	/* color: #0A3D5A; */
	color: #fff;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 180%; /* 28.8px */
	letter-spacing: 0.8px;
}

.c-list-faq__answer a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}
.c-list-faq__answer a:hover {
	text-decoration: none;
}