@charset "utf-8";

@font-face {
  font-family: IMPACT;
  src: url(/fonts/impact2.ttf) format("truetype");
}


body {
  font-family: 'IMPACT', 'Noto Sans JP';
}

a{
  text-decoration: none;
}

span {
  font-family:'Noto Sans JP';
}

h2,h3,h4 {
  font-weight: 500;
}

h2 {
  font-size: 35px;
  text-align: center;
  margin-bottom: 45px;
}

h2 .menu_span {
  display: block;
  font-size: 14px;
  margin-top: 3px;
  font-weight: 700;
}

p {
  line-height: 1.8rem;
    font-weight: 500;
    font-size: 14px;
    letter-spacing: 0.1em;
    font-family:'Noto Sans JP';
}


#splash {
  /*fixedで全面に固定*/
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 999;
    background:#7a6a56;
    text-align:center;
    color:#fff;
  }
  
  /* Loading画像中央配置　*/
  #splash_logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  
  /* Loading アイコンの大きさ設定　*/
  #splash_logo img {
    width:150px;
  }
  
  /* fadeUpをするアイコンの動き */
  .fadeUp{
  animation-name: fadeUpAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  opacity: 0;
  }
  
  @keyframes fadeUpAnime{
    from {
      opacity: 0;
    transform: translateY(100px);
    }
  
    to {
      opacity: 1;
    transform: translateY(0);
    }
  }



.respo_header {
  display: none;
}

header {
  width: 100%;
  height: 10rem;
  position: absolute;
  top: 0;
  z-index: 99;
  display: flex;
  justify-content: center;
  align-items: center;
}

.header_logo {
  width: 25rem;
  text-align: center;
}

.header_logo img {
  width: 7rem;
}



header nav {
  display: flex;
  align-items: center;
  height: 100%;
  width: 100%;
}

header nav ul {
  width: 100%;
  height: 100%;
  display: flex;
  text-align: center;
  align-items: center;
  justify-content: center;
}

.nav_right {
  justify-content: space-evenly;
}

header nav ul li:not(.drop_down) {
  padding: 1rem 1rem;
}

header nav ul li a {
  display: block;
  width: 100%;
  color: #fff;
  font-size: 1.5rem;
}

header nav ul li:not(.drop_down) a:hover {
  color: #000;;
}

header .menu_span {
  display: block;
  font-size: 0.8rem;
}

.h_hover {
  width: 8rem;
  text-align: center;
  padding: 4rem 0.5rem;
}
 .hovergreen:hover {
  background-color: #2d9e90;
}

 .hoverblue:hover {
  background-color: #0085b4;
}

/* .hover-effect→jsで追加されるクラス */
.hover-effect .hovergreen {
  background-color: #2d9e90;
  color: #fff;
}

.hover-effect .hoverblue{
  background-color: #0085b4;
  color: #fff;
}


.button {
  display: inline-block;
  border: #fff solid 1px;
  padding: 0.7rem 4rem;
  font-size: 1.5rem;
  text-align: center;
  width: 4rem;
  transition: 250ms;
  color: #fff;
}
.button .menu_span {
  font-size: 0.7rem;
  font-weight: 600;
  margin: 0;
  display: block;
}

.top_header .button:hover {
  background-color: #000;
  color: #fff;
  border: none;
}

.inversion {
  color: #000;
  border: #000 solid 1px;
}

.top_header .drop_down ul li a {
  height: 100%;
  font-size: 1.3rem;
}

.top_header .drop_down ul li .lettergreen:hover {
  color: #2d9e90;
}

.top_header .drop_down ul li .letterblue:hover {
  color: #0085b4;
}

/*下の階層を持っているulの指定*/
nav li.drop_down ul{
  /*絶対配置で位置を指定*/
position: absolute;
left:0;
top:9.5rem;
z-index: 4;
  /*形状を指定*/
width:100%;
height: 7rem;
  /*はじめは非表示*/
visibility: hidden;
opacity: 0;
  /*アニメーション設定*/
transition: all .3s;
justify-content: space-evenly;
}

nav li.drop_down .green {
  background-color: #2d9e90;
}

nav li.drop_down .blue {
  background-color: #0085b4;
}


/*hoverしたら表示*/
nav li.has-child:hover > ul,
nav li.has-child ul li:hover > ul,
nav li.has-child:active > ul,
nav li.has-child ul li:active > ul{
visibility: visible;
opacity: 1;
}



/*ナビゲーションaタグの形状*/
nav li.drop_down ul li a{
color: #fff;
}

nav li.drop_down ul li:last-child > a{
border-bottom:none;
}


nav li.drop_down ul li a:hover,
nav li.drop_down ul li a:active {
  background: #f3efe8;
}




/* ↓t_w_header↓ */

.t_w_header {
  height: 100vh;
  position: relative;
  display: block;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.rv_header {
  background-image:linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.3)), url(../img/rvparktop.jpg);
}

.sauna_header {
  background-image:linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.3)), url(../img/sauna08.jpg);
    background-position: left;
}

.containerhouse_header {
  background-image:linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.3)), url(../img/ch05.jpg);
}

.garage_header {
  background-image:linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.3)), url(../img/garage06.jpg);
}

.stay_header {
  background-image:linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.3)), url(../img/stay03.jpg);
}

.kitchen_header {
  background-image:linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.3)), url(../img/kitchen04.jpg);
}

.slider03 {
  position:relative;
	z-index: -1;
	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
	height: 100%;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}
/*　背景画像設定　*/

.t_heroimg01 {
    background:linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.3)),url(../img/ch02.jpg);
}

.t_heroimg02 {
    background:linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.3)),url(../img/sauna04.jpg);
}

.t_heroimg03 {
    background:linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.3)),url(../img/ch13.jpg);
}

.t_heroimg04 {
  background:linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.3)),url(../img/river01.jpg);
}

.t_heroimg05 {
  background:linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.3)),url(../img/ch07.jpg)
}

.w_heroimg01 {
  background:linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.3)),url(../img/garage02.jpg)
}

.w_heroimg02 {
  background:linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.3)),url(../img/kitchen01.jpg)
}

.w_heroimg03 {
  background:linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.3)),url(../img/stay01.jpg)
}

.w_heroimg04 {
  background:linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.3)),url(../img/workura02.jpg)
}

.w_heroimg05 {
  background:linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.3)),url(../img/garage10.jpg)
}

.t_w_header .slider-item {
    width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height:100vh;/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}

/*ドットナビゲーションの設定*/

.slick-dots {
	position: relative;
	z-index: 3;
    text-align:center;
	margin:-50px 0 0 0;/*ドットの位置*/
}

.slick-dots li {
    display:inline-block;
	margin:0 5px;
}

.slick-dots button {
    color: transparent;
    background-color: transparent;
    outline: none;
    width:8px;/*ドットボタンのサイズ*/
    height:15px;/*ドットボタンのサイズ*/
    display:block;
    border-radius:50%;
    border: #fff solid 1px;
}

 .slick-dots .slick-active button{
    background:#fff;/*ドットボタンの現在地表示の色*/
}




.t_w_header .t_w_top {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 90%;
  height: 10rem;
}

.return_button{
  position: relative;
	width: 50px;
	height: 50px;
  border: #fff 1px solid;
  transition: 250ms;
}
.return_button::after{
  position: absolute;
  content: '';
	box-sizing: border-box;
  top: 10px;
  right: 15px;
	width: 20px;
	height: 15px;
	border: 15px solid transparent;
	border-right: 25px solid #fff;
}

.return_button:hover {
  background-color: #000;
  border: #000 solid 1px;
}

.t_w_header .button {
  color: #fff;
  transition: 250ms;
}

.t_w_header .button:hover {
  background-color: #000;
  border: #000 1px solid;
}


.t_w_header nav {
  position: absolute;
  left: 100px;
  bottom: 70px;
  display: block;
  height: auto;
  width: 50%;
}

.t_w_header nav ul {
  display: block;
  text-align: left;
}

.t_w_header nav ul li a {
  font-size: 1rem;
}

.t_w_header nav .menu_span {
  display: inline;
  margin-left: 0.8rem;
}

.t_w_header .header_logo img {
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: 1.3rem;
}


/* ↓追従header↓ */

#fixed-header {
  position: fixed;
  top: -20rem; /* 初期状態 */
  transition: .5s;
  z-index: 99;
  background-color: #fff;
  height: 6.5rem;
}

#fixed-header .header_logo img {
  width: 4.5rem;
}

#fixed-header nav ul {
  top: 6.5rem;
  height: 4.5rem;
}

#fixed-header nav ul {
  padding: 0;
}

#fixed-header nav ul li a {
  display: block;
  color: #000;
  font-size: 1.3rem;
}

#fixed-header nav ul li:not(.drop_down) a:hover, .lower_top_header nav ul li:not(.drop_down) a:hover {
  color: #7a6a56;
}

#fixed-header nav ul .drop_down .h_hover:hover {
  color: #fff;
}

#fixed-header nav ul .drop_down a {
  font-size: 1.1rem;
}

.rsv_button {
  background-color: #000;
  color: #fff;
  padding: 0.7rem 4rem;
  font-size: 1.3rem;
  text-align: center;
  width: 4rem;
  border: 1px #000 solid;
}

.rsv_button:hover,.lower_top_header .rsv_button:hover {
  background-color: #7a6a56;
}

nav ul .drop_down ul li {
  width: 100%;
}

#fixed-header .drop_down ul li a {
  color: #fff;
  height: 100%;
}

#fixed-header .drop_down ul li .lettergreen:hover {
  color: #2d9e90;
}

#fixed-header .drop_down ul li .letterblue:hover {
  color: #0085b4;
}

.hoverbeige {
  padding: 1.5rem 0;
  margin: 0 auto;
}

.top_header .hoverbeige {
  padding: 2.5rem 0;
}


.hoverwhite {
  color: #fff;
}

.t_menubutton {
  background-color: #2d9e90;
  color: #fff;
}

nav li.t_drop_down .green {
  visibility: visible;
  opacity: 1;
}

nav li.w_drop_down .blue {
  visibility: visible;
  opacity: 1;
}

.t_hovergreen {
  background-color: #2d9e90;
  color: #fff;
}

nav li.drop_down .t_blue {
  z-index: 99;
}

.w_hoverblue {
  background-color: #0085b4;
  color: #fff;
}

nav li.drop_down .w_green {
  z-index: 99;
}


/* ↓ main ↓ */

main p {
  font-family: 'Noto Sans JP';
}

.top_hero {
  display: flex;
  width: 100%;
  height: 100vh;
  position: relative;
}

.slider01 {
  position:relative;
	z-index: -1;
	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
	height: 100vh;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}
/*　背景画像設定　*/

.heroimg01 {
    background:linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.3)),url(../img/ch02.jpg);
}

.heroimg02 {
    background:linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.3)),url(../img/sauna04.jpg);
}

.heroimg03 {
    background:linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.3)),url(../img/ch13.jpg);
}

.heroimg04 {
  background:linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.3)),url(../img/stay03.jpg);
}

.heroimg05 {
  background:linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.3)),url(../img/garage02.jpg);
}

.heroimg06 {
  background:linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.3)),url(../img/garage10.jpg);
}

.slider-item {
    width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height:100vh;/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}

.hero_slider {
  width: 50%;
}



.news {
  position: absolute;
  background-color: rgba(0, 0, 0, 0.6);
  right: 4rem;
  bottom: 6rem;
  width: 18rem;
/*  color: #fff;*/
  padding: 2rem 2rem 0rem 2rem;
/*  padding: 2rem 2rem 3rem 2rem;*/
}

body.news-nav h2 {
    position: relative;
    text-align: right;
    letter-spacing: 0.1rem;
    margin-bottom: 1rem;
    font-size: 16px;
    color: #fff;
}
/*
.news h2 {
  position: relative;
  text-align: right;
  letter-spacing: 0.1rem;
  margin-bottom: 1rem;
  font-size: 16px;
}
*/
body.news-nav h2::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 15rem;
    height: 1px;
    background-color: #fff;
}
/*
.news h2::before {
  content: '';
  position: absolute;
  top:50%;
  left: 0;
  display: inline-block;
  width: 15rem;
  height: 1px;
  background-color: #fff;
}
*/
body.news-nav span {
    font-size: 0.8rem;
    line-height: 1.5rem;
}
/*
.news span {
  font-size: 0.8rem;
  line-height: 1.5rem;
}
*/

body.news-nav p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.properties {
  padding: 5rem 0 3rem ;
  background-color: #f3efe8;
}

.properties h3 {
  font-size: 2.5rem;
  line-height: 3rem;
  letter-spacing: 0.1rem;
  padding: 2rem 0;
}

.properties h3 span {
  display: block;
  font-size: 1.2rem;
  font-weight: 800;
}

.slider02_container {
  position: relative;
    padding-top: 50px;
}



.slider02 li {
  width: 35rem;
  margin-right: 40px;
  float: left;
  display: block;
}

.slider02 li p {
  line-height: 1.8rem;
  font-weight: 500;
  padding-bottom: 1rem;
  width: 90%;
}

.slider02 li img {
  width: 100%;
  height: auto;
}

.slider02_imgbox {
  width: 100%;
  padding-bottom: 66.6%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.slider02_img01 {
  background-image: url(../img/reception01.jpg);
}

.slider02_img02 {
  background-image: url(../img/garage04.jpg);
}

.slider02_img03 {
  background-image: url(../img/ch05.jpg);
}

/* 
.slider02_img04 {
}
 */

.slider02_img05 {
  background-image: url(../img/sauna03.jpg);
}

.slider02 {/*横幅94%で左右に余白を持たせて中央寄せ*/
  width:100%;
   margin:0 auto;
}


/*slickのJSで書かれるタグ内、スライド左右の余白調整*/
.slider02 .slick-slide {
  margin:0 20px;
}


/*矢印の設定*/

/*戻る、次へ矢印の位置*/


.slick-prev01, 
.slick-next01 {
  position: absolute;
  top: 35%;
  background-color: #222222;
  border-radius: 100%;
  display: block;
  background-position: center;
  background-repeat: no-repeat;
  height: 60px;
  width: 60px;
  margin-top: -30px;
  background-size: cover;
  cursor: pointer;
}

.slick-prev01 {/*戻る矢印の位置と形状*/
  z-index: 98;
  left: 3.5%;
  background-image: url(../img/chevron-left.png);
}

.slick-next01 {/*次へ矢印の位置と形状*/

  right: 3.5%;
  background-image: url(../img/chevron-right.png)
}

.slider02 .slick-list {
  padding-left: 15%;
}

/* .slider02 .slider02_button  {
  position: absolute;
  bottom: 170px;
}
 */



.two_facilities {
  display: flex;
  justify-content: center;
}

.zoom_box01,.zoom_box02 {
  width: 500px;
  height: 500px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  overflow: hidden;
}

.two_facilities01 {
  margin: 10rem 1.5rem  10rem auto;
}

.two_facilities02 {
  margin: 10rem auto 10rem 1.5rem;
}

.zoom_box01::after {
  position: absolute;
  content: ""; 
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  transition: all .8s ease;
  background-size: cover;
    background-position:center;
  background-image: linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.4)), url(../img/ch01.jpg);
}

.zoom_box02::after {
  position: absolute;
  content: ""; 
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  transition: all .8s ease;
  background-size: cover;
  background-image: linear-gradient(rgba(0,0,0,0.4),rgba(0,0,0,0.4)), url(../img/workura01.jpg);
}


.zoom_box01:hover::after,.zoom_box02:hover::after {
  transform: scale(1.1);
}


.two_facilities01 div,.two_facilities02 div {
  position: absolute;
  bottom: 40%;
  left: 20%;
  right: 20%;
  text-align: center;
  border: #fff 1px solid;
  padding: 2rem 0 1rem ;
  z-index: 10;
}



.two_facilities img {
  width: 70%;
}

.two_facilities a {
  display: block;
  color: #fff;
  border: #fff 1px solid;
  border-radius: 15px;
  max-width: 100px;
  margin: 0 auto;
  padding: 0.5rem 1rem;
  margin-top: 1rem;
  position: relative;
  transition: 250ms;
}

.two_facilities a:hover {
  background-color: #fff;
  color: #000;
}

.two_facilities a::after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-left: 5px solid #fff; /* 左側を白で塗りつぶす */
  border-right: 0;
  border-bottom: 5px solid transparent; /* 下側を透明にする */
  right: 23%;
  top:33%;
  }

  .two_facilities a:hover::after {
    border-left: 5px solid #000;
  }

.infiniti {
  background-image:linear-gradient(rgba(0,0,0,0.3),rgba(0,0,0,0.3)), url(../img/infiniti.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 45rem;
}

.infiniti h4 {
  color: #fff;
  font-size: 54px;
  text-align: center;
  margin-bottom: 5rem;
}

.infiniti h4 span {
  display: block;
  font-size: 18px;
  font-weight: 700;
  margin-top: 1rem;
}

.infiniti p {
  color: #fff;
  width: 65vw;
  margin: 0 auto;
  text-align: center;
}

.access {
  text-align: center;
  padding: 7rem 0 5rem;
}


.top_access {
  background-color: #f3efe8;
}

.access .address_p {
  margin: 2rem auto;
}

.access .tel_p {
  margin-bottom: 3rem;
}

.access .button {
  margin: 1.5rem auto;
}

.shi_button:hover {
  background-color: #7a6a56;
  border: #7a6a56 1px solid;
  color: #fff;
}


/*  */
/* ↓下層ページ↓ */
/*  */
.lower_top_header {
  background-color: #f3efe8;
}

.lower_top_header nav ul li a {
  color: #000;
}

.lower_sectop {
  padding-top: 20rem;
  background-color: #f3efe8;
  margin: 0 auto;
}

.lower_secbottom {
  padding-bottom: 7rem;
}

.list {
  width: 1000px;
  margin: 0 auto;
  margin-top: 6rem;
  list-style: none;
}

.list h3 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 1.5rem;
}

.list li {
  border-bottom: #000 1px solid;
  margin-bottom: 70px;
  padding-bottom: 24px;

}

.list li p {
  margin-top: 1.5rem;
}

.button_box {
  margin: 0 auto;
}

.button_box .button {
  display: block;
  margin: 0 auto;
  padding: 0.7rem 0;
  width: 11rem;
  margin-bottom: 1rem;
}

.explanation_p {
  width: 750px;
  margin: 0 auto;
}


/* reception-shop.html */

.reception-shop {
  text-align: center;
  padding-bottom: 10rem;
}

.reception-shop img {
  width: 1000px;
  height: 500px;
  object-fit: cover;
}

.reception-shop p {
  margin-top: 3rem;
}

.information {
  background-color: #f3efe8;
  padding-bottom: 7rem;
}

.shop {
  margin: 10rem auto 7rem;
  text-align: center;
}

.boxshop_media {
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  width: 950px;
  height: 580px;
  margin: 4rem auto;
}

.boxshop_media img {
  width: 500px;
  height: 580px;
  object-fit: cover;
}

img.fc_shop01{
    object-position: left;
}

.left_box {
  display: flex;
}

.left img {
  height: 280px;
  width: auto;
  object-fit: cover;
}

.left_shop {
  grid-row: 1/2;
  grid-column: 1/2;
  align-self: start;
  justify-self: end;
  margin-right:3rem;
}

.left_shop02 {
  grid-row: 2/3;
  grid-column: 1/2;
  align-self: end;
  justify-self: end;
  margin-right:3rem;
}

.right_shop {
  grid-row: 1/3;
  grid-column: 2/3;
}

/* area.html */

.area_list li {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  height: 100px;
}

.area_list h3 {
  position: absolute;
  top: 0;
}

.area_list p {
  position: absolute;
  bottom: 15px;
}

.area_list .button {
  padding: 0.7rem 0;
  width: 11rem;
}

.area_list a:not(:last-child) {
  margin-right: 16px;
}

/* access.html */

/* contact.html */

.contact_sec p {
  text-align: center;
}

.contact_sec p a {
  color: #7a6a56;
  text-decoration: underline #7a6a56;
  
}

.note {
  color: red;
}

.contact_form {
  margin: 6rem auto 10rem;
  width: 50vw;
}

.form-item {
  margin-top: 3rem;
}

.form-label {
  display: block;
  margin-bottom: 1rem;
  font-weight: 600;
}

.form-control {
  width: 100%; /* 入力欄を親要素の幅いっぱいに広げる */
  height: 2.5rem;
  padding: 8px; /* 入力欄の内側に少し余白を設ける */
  box-sizing: border-box; 
}

.text-box {
  height: 10rem;
}

.form-item select {
  height: 2.5rem;
  width: 8.5rem;
  font-size: 0.9rem;
  font-weight: 600;
  text-align: center;
}

.form-item select option {
  font-weight: 600;
}

.form-btn {
  margin: 0 auto;
  text-align: center;
  margin-top: 3.5rem;
}

.form-btn .button {
  padding: 0.7rem 2rem;
  width: 13rem;
  font-family: 'IMPACT';
  background-color: transparent;
}

.form-btn .button:hover {
  background-color: #7a6a56;
}


/*  */
/* ↓ツクリバー・ワークラページ↓ */
/*  */

.icon {
  height: 14px;
  margin-right: 5px;
}

.t_button:hover {
  background-color: #2d9e90;
  border: #2d9e90 1px solid;
  color: #fff;
}

.t_w_map {
  background-color: #f3efe8;
  text-align: center;
  padding: 7rem 0;
}

.t_w_map img {
  max-width: 1000px;
}

.t_w_map .button {
  display: block;
  margin: 0 auto;
  margin-top: 3rem;
}

.rv_top {
  max-width: 1000px;
  display: flex;
  align-items: center;
  padding: 10rem 0;
  margin: 0 auto;
}

.t_explanation {
  width: 60%;
  margin-right: 5rem;
  
}

.t_explanation h2 {
  text-align: left;
}

.t_explanation .button {
  margin-top: 2rem;
}

.rv_img,.sauna_img {
  width: 40%;
}

.rv_img img {
  width: 450px;
  height: 450px;
  object-fit: cover;
  object-position:100% 0;
}

.sauna_top {
/*  background-color: #f3efe8;*/
    padding: 7rem 0;
}

.sauna_box  {
  max-width: 1000px;
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  margin: 0 auto;

}

.sauna_top .t_explanation {
  margin-left: 8rem;
  margin-right: 0;
}


.sauna_img img {
  width: 450px;
  height: 500px;
  object-fit: cover;
    object-position: 40% 50%;
}

.sauna_bottom {
  margin: 3rem auto 0;
  text-align: center;
}

.sauna_bottom img {
  width: 1000px;
  height: 300px;
  object-fit: cover;
  object-position: 0 34%;
}

.containerhouse_top .button {
  margin-top: 1.5rem;
}

.t_w_info {
  padding-top: 7rem;
}

.cahrge {
  background-color: #2d9e90;
  color: #fff;
  padding: 7rem 0;
}

.cahrge_box {
  font-family: 'Noto Sans JP';
  display: flex;
  justify-content: space-between;
  width: 1000px;
  margin: 0 auto;
  margin-bottom: 3rem;
  padding-bottom: 1.5rem;
  border-bottom: #fff 1px solid;
}

.cahrge_box:not(:last-child){
  margin-top: 4.5rem;
}

.cahrge_box h3 {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
}

.cahrge_box dl {
  width: 50%;
  font-size: 14px;
}

.cahrge_box dl .cahrge_menu {
  position: relative;
	display: flex;
	justify-content: space-between;
	margin: 7px 0;
	padding: 5px 0;
}

.cahrge_box dl .cahrge_menu::after {
  content: "";
	display: block;
	position: absolute;
	top: 50%;
	z-index: 1;
	width: 100%;
	border-bottom: dotted 1px #fff;
}

.cahrge_box dl dt {
  margin:0;
	padding: 0 5px 0 0;
	background-color: #2d9e90;
	z-index: 2;
	text-align: left;
}

.cahrge_box dl dd {
  margin:0;
	padding: 0 0 0 5px;
	background-color: #2d9e90;
	z-index: 2;
	text-align: right;
}

#t_charge .t_button:hover {
  background-color: #fff;
  color: #2d9e90;
}

/* ↓rv_park.html↓ */

.t_w_explanation img {
  width: 1000px;
  height: 500px;
  object-fit: cover;
}

.t_facilities {
  background-color: #fff;
}

.t_facilities .t_img_bottom {
  width: 1000px;
  display: flex;
  justify-content: space-between;
}

.t_facilities .t_img_bottom img {
  width: 480px;
  height: 300px;
  object-fit: cover;
}


.t_w_slider {
  background-color: #f3efe8;
  padding: 7rem 0;
}

.t_w_slider_box {
  width: 1000px;
  height: 500px;
  margin:0 auto 3rem ;
}

.slider04 {
  position:relative;
	z-index: 1;
	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
  width: 100%;
  height: 100%;
}
/*　背景画像設定　*/

.slider04 .slick-list {
  height: 100%;
}


.slider04 .slider-item {
    width: 1000px;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height: 500px;
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}

/*
.rv_slider-img01 {
  background-image: url(../img/rvpark02.jpg);
}

.rv_slider-img02 {
  background-image: url(../img/rvpark03.jpg);
}

.rv_slider-img03 {
  background-image: url(../img/rvpark04.jpg);
}

.rv_slider-img04 {
  background-image: url(../img/rvpark05.jpg);
}

.rv_slider-img05 {
  background-image: url(../img/rvpark06.jpg);
}
*/

.sauna_slider-img01 {
  background-image: url(../img/sauna01.jpg);
}

.sauna_slider-img02 {
  background-image: url(../img/sauna02.jpg);
}

.sauna_slider-img03 {
  background-image: url(../img/sauna09.jpg);
}

.sauna_slider-img04 {
  background-image: url(../img/sauna10.jpg);
}

.sauna_slider-img05 {
  background-image: url(../img/sauna11.jpg);
}

.containerhouse-img01 {
  background-image: url(../img/ch02.jpg);
}

.containerhouse-img02 {
  background-image: url(../img/ch06.jpg);
}

.containerhouse-img03 {
  background-image: url(../img/ch03.jpg);
}

.containerhouse-img04 {
  background-image: url(../img/ch11.jpg);
}

.containerhouse-img05 {
  background-image: url(../img/ch12.jpg);
}

.garage_slider-img01 {
  background-image: url(../img/garage01.jpg);
}

.garage_slider-img02 {
  background-image: url(../img/garage03.jpg);
}

.garage_slider-img03 {
  background-image: url(../img/garage12.jpg);
}

.garage_slider-img04 {
  background-image: url(../img/garage10.jpg);
}

.garage_slider-img05 {
  background-image: url(../img/garage11.jpg);
}

.stay_slider-img01 {
  background-image: url(../img/stay06.jpg);
}

.stay_slider-img02 {
  background-image: url(../img/stay07.jpg);
}

.stay_slider-img03 {
  background-image: url(../img/stay08.jpg);
}

.stay_slider-img04 {
  background-image: url(../img/stay09.jpg);
}

.stay_slider-img05 {
  background-image: url(../img/stay03.jpg);
}

.kitchen_slider-img01 {
  background-image: url(../img/kitchen01.jpg);
}

.kitchen_slider-img02 {
  background-image: url(../img/kitchen08.jpg);
}

.kitchen_slider-img03 {
  background-image: url(../img/kitchen10.jpg);
}

.kitchen_slider-img04 {
  background-image: url(../img/kitchen02.jpg);
}

.kitchen_slider-img05 {
  background-image: url(../img/kitchen09.jpg);
}


.garage_top {
  padding-top: 7rem;
}

.garage_top_p {
  margin-bottom: 2rem;
}

.stay_top {
  background-color: #f3efe8;
  padding: 7rem 0;
}


.stay_top_container {
  display: flex;
  width: 1000px;
  margin: 0 auto;
}

.stay_top_img {
  margin-top: 22px;
}

.stay_top_img img {
  width: 470px;
  height: 400px;
  object-fit: cover;
}

.stay_top_right img {
  width: 500px;
  height: 900px;
  object-fit: cover;
}

.stay_top .t_explanation {
  width: 90%;
}

.kitchen_top .t_explanation,.kitchen_top .sauna_img {
  width: 50%;
  text-align: left;
}


.kitchen_top .t_explanation {
  margin: 0;
}

.w_charge {
  background-color: #0085b4;
}

.w_charge .cahrge_box dl dt {
  background-color: #0085b4;
}

.w_charge .cahrge_box dl dd {
  background-color: #0085b4;
}

.w_charge .w_button:hover {
  background-color: #fff;
  color: #0085b4;
}

.w_button:hover {
  background-color: #0085b4;
  border: #0085b4 1px solid;
  color: #fff;
}

.w_img_sec {
  width: 100%;
  height: 100vh;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.w_img_sec_garage {
  background-image: url(../img/garage07.jpg);
}

.w_lower_explanation {
  margin: 7rem auto;
}

.w_lower_explanation_container {
  width: 1000px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
}

.w_lower_explanation_p {
  width: 80%;
}

.w_lower_explanation_p h2,.w_lower_explanation_p p {
  text-align: left;
}

.w_lower_explanation_img {
  text-align: right;
}

.w_lower_explanation_img img:not(:last-child) {
  margin-bottom: 1rem;
}

.w_lower_explanation_img img {
width: 400px;
height: 250px;
object-fit: cover;
}

.w_img_sec_stay {
  background-image: url(../img/stay01.jpg);
}

.sty_explanation_container {
  flex-direction: row-reverse;
}

.sty_explanation .w_lower_explanation_img {
  text-align: left;
}

.w_img_sec_kichen {
  background-image: url(../img/kitchen02.jpg);
}

.kichen_explanation h2, .kichen_explanation p {
  text-align: center;
}

.kichen_explanation_container {
  flex-wrap: wrap;
  flex-direction: column;
}

.kichen_explanation .w_lower_explanation_img {
  width: 86%;
  display: flex;
  justify-content: space-around;
  margin-top: 3rem;
}

.kichen_explanation .w_lower_explanation_img img {
  margin: 0;
}


/*  */
/* ↑下層ページ↑ */
/*  */

.respo_footer {
  display: none;
}

footer {
  background-image: url(../img/footer.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

footer a {
  transition: 250ms;
}

footer .f_menu {
  display: flex;
  justify-content: space-evenly;
  padding: 5rem 0 3rem;
}

footer .f_mainmenu {
  text-align: center;
  position: relative;
}


footer .f_mainmenu img {
  width: 7rem;
  position: absolute;
  left: 0;
}


footer .f_mainmenu .f_logo_box:hover img,footer .f_submenu01 .f_logo_box:hover img,footer .f_submenu02 .f_logo_box:hover img {
  opacity: 1;
}


footer .f_logo_box img:last-of-type {
  opacity: 0;
  transition: opacity 250ms;
}

footer .f_mainmenu nav {
  position: absolute;
  left: -10;
  top: 125px;
}

footer .f_mainmenu ul li a:hover {
  color: #7a6a56;
}

footer .f_submenu {
  width: 50rem;
}

footer .f_submenu01,footer .f_submenu02{
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 13rem;
  position: relative;
}

footer .f_submenu01 {
  border-bottom: #fff solid 1px;
}


footer .f_submenu01 ul li a:hover {
  color: #2d9e90;
}

footer .f_submenu02 ul li a:hover{
  color: #0085b4;
}

footer .f_submenu01 ul,footer .f_submenu02 ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

footer .f_submenu01 ul {
  width: 30rem;
/*  width: 36rem;*/
}

footer .f_submenu02 ul {
  width: 27rem;
}

footer .f_submenu01 ul li,footer .f_submenu02 ul li {
  text-align: center;
  margin-top: 2rem;
}

footer .f_submenu01 ul li:not(:last-child):not(.end),footer .f_submenu02 ul li:not(:last-child):not(.end){
  margin-right: 2rem;
}

footer .f_mainmenu li {
  margin: 1.5rem 0;
  text-align: center;
}

footer .f_menu ul li a {
  color: #fff;
  font-size: 1.2rem;
}

footer .menu_span {
  display: block;
  font-size: 0.7rem;
  padding: 0.5rem;
/*  margin: 0.5rem;*/
}
footer li.sti span{
    line-height: 1.3em;
}

footer .f_submenu01 img,footer .f_submenu02 img {
  width: 11rem;
  padding: 0 4rem 0 2rem;
  position: absolute;
}

.f_address {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 2rem 6rem 3rem 0;
}

.f_address p {
  font-family: 'Noto Sans JP';
  color: #fff;
  font-size: 0.8rem;
  line-height: 1.3rem;
  text-align: right;
  margin-right: 2rem;
}

.f_address p span {
  font-size: 0.7rem;
}

.f_address a {
  color: #fff;
  text-align: center;
}


footer .button:hover {
  background-color: #fff;
  border: #fff 1px solid;
  color: #000;
}

#fixed-header .activ {
  position: fixed;
}

@media screen and (max-width:768px){
	nav{
		padding: 0;
	}
	
	nav ul{
		display: block;
	}
	
	nav li.has-child ul,
	nav li.has-child ul ul{
  	position: relative;
	left:0;
	top:0;
	width:100%;
	visibility:visible;/*JSで制御するため一旦表示*/
	opacity:1;/*JSで制御するため一旦表示*/
	display: none;/*JSのslidetoggleで表示させるため非表示に*/
	transition:none;/*JSで制御するためCSSのアニメーションを切る*/
}
	
nav ul li a{
	border-bottom:1px solid #ccc;
}
}

 /* body * { outline: red 1px solid;}  */

/*AE追加*/
/*アクセス*/
section.access iframe {
    width: 900px;
    height: 400px;
}
.map-box{
    width:900px;
    margin:auto;
}
.map-sp{
    display: none;
}
.map-box img{
    width:900px;
}
section.route{
    width:1000px;
    margin:auto;
    padding:3em 0;
}
section.route ol li{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding:3em 0;
}
section.route h4{
    display: flex;
    justify-content: center;
    font-size:clamp(18px,3vw,22px);
    line-height: 1.3em;
    margin-bottom:1em;
}
section.route h4 span{
    font-family: IMPACT;
    font-size:clamp(28px, 3vw, 35px);
    margin-right:10px;
}
/*ご利用規約と注意事項・プライバシーポリシー*/

div.terms{
    width:1000px;
    max-width:80vw;
    margin:2em auto 3em;
}
div.terms_top {
    margin:5rem auto;
}
div.terms h3{
    font-size:18px;
    padding-bottom:6px;
    border-bottom:solid 1px;
}
div.terms ul li,div.terms ol li{
    margin:1em 0 1em 1em;
}
div.terms .t_l_ol {
  list-style: none;
}

/*特定商取引法に基づく表記（ご宿泊予約）*/
section.sti h2{
    font-size:24px;
}
table.sti{
    font-family:'Noto Sans JP';
    width:1000px;
    max-width:80vw;
    min-width:300px;
    margin:auto;
    border-collapse: collapse;
}
table.sti th{
    text-align: left;
    width:12em;
}
table.sti th, table.sti td{
    padding:15px;
    border-bottom:solid 1px;
}
table.sti tr:nth-last-of-type(1) th, table.sti tr:nth-last-of-type(1) td{
    border-bottom:none;
}

/*お知らせ*/
/* iframe.news-nav{
    
} */

body.news-nav{
    background-color:transparent;
}
div.news a, body.news-nav a{
    color:#fff;
}
div.news a:hover, body.news-nav a:hover{
    text-decoration: underline;
}
.news-list{
    display: flex;
    width:60vw;
    max-width:800px;
    margin:auto auto 1em;
    padding-bottom:1em;
    border-bottom:solid 1px;
    color:black;
}
.news-list img{
    width:30%;
    height:auto;
    object-fit: cover;
}
.news-article{
    width:60vw;
    max-width:800px;
    margin:auto auto 8em;
    padding-bottom:2em;
    border-bottom:solid 1px;
}
.news-article h3, .news-list h3{
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    font-size:clamp(18px, 3vw, 20px);
    margin-bottom:6px;
    padding:0 0 5px 8px;
    border-left:solid 6px;
    line-height: 1.3em;
}
.news-list h3{
    flex-flow: column;
    margin-top:10px;
    border:none;
}
.news-article h3 span:nth-of-type(1), .news-list h3 span:nth-of-type(1){
    font-size:14px;
    margin-right:10px;
}
.news-article img{
    width:100%;
    height:auto;
}
.link-newslist{
    display: flex;
    justify-content: center;
    text-align: center;
}