body{
    background-color: #fafafa;
    width: 100vw;
}


.noto-sans-jp{
  font-family: "Noto Sans JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
h2{
    
    font-size: 2.0rem;
    margin: 5px;
}
.flex{
  display: flex;
}

/*========= LoadingのためのCSS ===============*/

/* Loading背景画面設定　*/
#splash {
  /*fixedで全面に固定*/
position: fixed;
width: 100%;
height: 100%;
z-index: 999;
text-align:center;
color:#fff;
}

/* Loading画像中央配置　*/
#splash_text {
position: absolute;
top: 50%;
left: 50%;
  z-index: 999;
transform: translate(-50%, -50%);
color: #fff;
width: 100%;
}

/*IE11対策用バーの線の高さ※対応しなければ削除してください*/
#splash_text svg{
  height: 2px;
}

/*割れる画面のアニメーション*/
.loader_cover {
  width: 100%;
  height: 50%;
  background-color: #333;
  transition: all .2s cubic-bezier(.04, .435, .315, .9);
  transform: scaleY(1);
}
/*上の画面*/
.loader_cover-up {
  transform-origin: center top;
}

/*下の画面*/
.loader_cover-down {
  position: absolute;
  bottom: 0;
  transform-origin: center bottom;
}
/*クラス名がついたらY軸方向に0*/
.coveranime {
  transform: scaleY(0);
}


/* ------------ヘッダーメニュー---------------------------------------------------------------------------------- */
  
.page-header ul{
    position:fixed;
    z-index: 998;
    left:0;
    width:100%;
    display: flex;
    justify-content: flex-end;
    padding-right: 15px;
    margin-right: 30px;
}
.page-header li{
    list-style: none;
    padding-left: 20px;
    text-decoration-style: none;
}



.page-header a{
    color: #abce23;
    text-decoration: none;
    font-size: 1.75rem;
    font-weight: bolder;
   }

.headerlist-pc :last-of-type{
  color:#27cccc ;
}

   .page-header li :hover{
    color: #14a83b;
   }
/* ----------------------------------------------------------------------------------------------------------------------- */

/*========= ナビゲーションのためのCSS ===============*/

#g-nav{
  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
  position:fixed;
  z-index: 999;
  /*ナビのスタート位置と形状*/
  top:-120%;
  left:0;
  width:100%;
  height: 100vh;/*ナビの高さ*/
  /*動き*/
transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
  top: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  z-index: 999; 
  width: 100%;
  height: 100vh;/*表示する高さ*/
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
  /*ナビゲーション天地中央揃え*/
  position: absolute;
  z-index: 999;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
}

/*リストのレイアウト設定*/

#g-nav li{
list-style: none;
  text-align: center; 
}

#g-nav li a{
color: #14a83b;
text-decoration: none;
padding:10px;
display: block;
text-transform: uppercase;
letter-spacing: 0.1em;
font-weight: bold;
}

/*グローバル　ナビゲーション------------------------------------------------------------------*/
.openbtn{
position:fixed;
  z-index: 9999;/*ボタンを最前面に*/
top:10px;
right: 10px;
cursor: pointer;
  width: 50px;
  height:50px;
}

/*×に変化*/	
.openbtn span{
  display: inline-block;
  transition: all .4s;
  position: absolute;
  left: 14px;
  height: 3px;
  border-radius: 2px;
background-color: #14a83b;
  width: 45%;
}

.openbtn span:nth-of-type(1) {
top:15px;	
}

.openbtn span:nth-of-type(2) {
top:23px;
}

.openbtn span:nth-of-type(3) {
top:31px;
}

.openbtn.active span:nth-of-type(1) {
  top: 18px;
  left: 18px;
  transform: translateY(6px) rotate(-45deg);
  width: 30%;
}

.openbtn.active span:nth-of-type(2) {
opacity: 0;
}

.openbtn.active span:nth-of-type(3){
  top: 30px;
  left: 18px;
  transform: translateY(-6px) rotate(45deg);
  width: 30%;
}
/* --------------------------------------------------------------------------------------------------- */



/*==================================================
スライダーのためのcss
===================================*/
.slider {
  position:relative;
	z-index: 1;
	/*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
	height: 100vh;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}
/*　背景画像設定　*/

.slider-item01 {
    background:url(../image/eventfv_01.jpg);
}

.slider-item02 {
    background:url(../image/eventfv_02.jpg);
}

.slider-item03 {
    background:url(../image/eventfv_03.jpg);
}

.slider-item04 {
    background:url(../image/eventfv_04.jpg);
}

.slider-item05 {
    background:url(../image/eventfv_05.jpg);
}


.slider-item {
    width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height:100vh;/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}

/*矢印の設定*/

.slick-prev, 
.slick-next {
    position: absolute;
	z-index: 3;
    top: 42%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #fff;/*矢印の色*/
    border-right: 2px solid #fff;/*矢印の色*/
    height: 25px;
    width: 25px;
}

.slick-prev {/*戻る矢印の位置と形状*/
    left:2.5%;
    transform: rotate(-135deg);
}

.slick-next {/*次へ矢印の位置と形状*/
    right:2.5%;
    transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/

.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;
    outline: none;
    width:8px;/*ドットボタンのサイズ*/
    height:8px;/*ドットボタンのサイズ*/
    display:block;
    border-radius:50%;
    background:#fff;/*ドットボタンの色*/
}

.slick-dots .slick-active button{
    background:#333;/*ドットボタンの現在地表示の色*/
}

.top_content{
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding-bottom: 50px;
  margin:0 0 auto auto;
  
}

.top_about{
  /* position: relative;
  left:35%;
  top: 42%; */
  width: 100%;
  text-align: left;
  margin: 0 auto;
}

.top_about h2{
  font-size: 2.75rem;
  color: #14a83b;
  padding-left: 20px;
  border-left: 10px solid #14a83b;
}
.top_about p{
  /* font-size: 1.25rem; */
  line-height: 2rem;
  padding: 20px;
}


/*スクロールダウン全体の場所*/
.scrolldown4{
  /*描画位置※位置は適宜調整してください*/
position:absolute;
bottom:1%;
right:50%;
  /*矢印の動き1秒かけて永遠にループ*/
animation: arrowmove 1s ease-in-out infinite;
}

/*下からの距離が変化して全体が下→上→下に動く*/
@keyframes arrowmove{
    0%{bottom:1%;}
    50%{bottom:3%;}
   100%{bottom:1%;}
}

/*Scrollテキストの描写*/
.scrolldown4 span{
  /*描画位置*/
position: absolute;
left:-30px;
bottom:10px;
  /*テキストの形状*/
color: #eee;
font-size: 1.0rem;
letter-spacing: 0.1em;
/*縦書き設定*/
-ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

/* 矢印の描写 */
.scrolldown4:before {
  content: "";
  /*描画位置*/
  position: absolute;
  bottom: 0;
  right: -6px;
  /*矢印の形状*/
  width: 3px;
  height: 20px;
  background: #eee;
  transform: skewX(-31deg);
}

.scrolldown4:after{
content:"";
  /*描画位置*/
position: absolute;
bottom:0;
right:0;
  /*矢印の形状*/
width:3px;
height: 70px;
background:#eee;
}
.info_wrapper{
  display: flex;
  width: 60%;
  margin: 50px auto 100px;
  justify-content: space-between;
  
}
dl{
  display: flex;
  width: 100%;
  gap: 20px;
}

:before, :after {
  -moz-box-sizing: border-box; 
  -webkit-box-sizing: border-box; 
  box-sizing: border-box;
}


#about{
    margin-top: 50px;
}


.content{
    width: 80%;
    margin: 0 auto;
    text-align: center;
        line-height: 2.5rem;
    /* background-color: #14a83b; */
    margin-bottom: 150px;

}
h2{
    margin-bottom: 30px;
}
.content h3{
    font-size: 1.5rem;
    color: #14a83b;
}

.content ul{
    list-style: none;
    gap: 50px;

    width: 100%;
    margin: 0 auto;
}
.content img{
    width: 89%;
    display: flex;
    margin: 0 auto;
}

.con_img{
    display: flex;
    width: 80%;
    margin: 50px auto;
    justify-content: space-around;
    gap: 50px;
}
.con_img img{
    width: 350px;
}

@keyframes displayAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.tab a{
  text-decoration: none;
  color: #000;
}

.map_about{
  background-color: #fafafa;
  border-radius: 30px;
  margin: 0 auto;
  text-align: center;
}
.map_about h3{
  color: #000;
  margin: 20px 0;
  font-size: 1.5rem;
}

section{
    width: 70%;
    aspect-ratio: auto 16 / 9;
    background-color: azure;
    margin: 0 auto;
    /* border-radius: 30px; */
    border:20px solid #27cccc;
    margin-bottom: 15px;

}
.sec{
    width: 100%;
    height: 100%;
    aspect-ratio: auto 16 / 9;
    /* border-radius: 30px;
    border:10px solid azure; */
}
.contents{
  width: 100%;
}


section img{
  width: 100%;
}
.eve img{
  width: 80%;
  border-radius: 15px;
}
.eve_con1{
  width: 25%;
  text-align: center;
  justify-content: space-between;
  border-radius: 30px;
  background-color: rgb(158, 197, 70,0.5);
  margin: 10px;
  margin-bottom: 0;
  box-shadow:#28842d 5px 5px;
}
.eve_con2{
  width: 75%;
  text-align: center;
}
.eve_con2 h2{
  color: #f0f0f0;
  font-size: 1.7rem;
  border-radius: 10px;
  padding: 10px;
  background-color: #28842d;
}
.eve_con2-1{
  justify-content: space-between;
}
.eve_con{
  width: 30%;
  text-align: center;
  border-radius: 30px;
  background-color: rgb(158, 197, 70,0.5);
  box-shadow:#28842d 5px 5px;
}
.treatment01{
    display: flex;
    justify-content: center;
    margin: 0 auto;
    margin-bottom: 100px;
    text-align: center;
    width: 30%;
}

footer{
    text-align: center;
    height: 150px;
    /* background-color: aliceblue; */
    padding-top: 30px;
    border-top: 1px solid #0f0f0f;
}

footer p{
  margin: 20px auto;
  padding-bottom: 20px;
}
footer img{
  height: 125px;
}



/*リンクの形状*/
#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	background:#4ddb33;
	border-radius: 5px;
	width: 60px;
	height: 60px;
	color: #fff;
	text-align: center;
	text-transform: uppercase; 
	text-decoration: none;
	font-size:0.6rem;
	transition:all 0.3s;
}

#page-top a:hover{
	background: #777;
}

/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 10px;
	bottom:-10px;
	z-index: 2;
    /*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}


@media(min-width:1001px){
  .sp{
      display: none;
  }

}
@media (max-width:1200px){
  .info_wrapper{
    width: 80%;
    flex-direction: column;
  }
}

@media (max-width:1000px){
  /* #top{
    height: 100%;
    aspect-ratio: auto 9 / 16; */
    /* background-image: url(../image/fv_01_sp.png);
  } */
  .top_content{
  width: 100%;
}
  .top_about{
    width: 100%;
    /* width: 70%;
    height: 100%; */
    background-color: rgba(255,255,255,0.9);
  }
  .top_about h2{
    font-size: 1.75rem;
    
  }
  .top_about p{
    font-size: 0.75rem;
    line-height: 1.25rem;
  }

  .pc{
    display: none;
  }




  section{
  width: 90%;
  /* aspect-ratio: auto 9 / 16; */
  background-color: azure;
  margin: 0 auto;
  /* border-radius: 30px; */
  border:10px solid #27cccc;
  margin-bottom: 15px;

  }
  .sec{
  width: 100%;
  height: 100%;
  aspect-ratio: auto 16 / 9;
  /* border-radius: 30px;
  border:10px solid azure; */
  }

  footer{
  display: flex;
  flex-direction: column;
  }
  footer img{
  height: 75px;
  }
}

#howto #shopping ul{
  list-style: none;
}


