@charset "UTF-8";
/*========== web font ==========*/

@import url('https://fonts.googleapis.com/css2?family=Ropa+Sans&display=swap');
.engTxt {
	font-family: 'Ropa Sans', sans-serif;
	/* letter-spacing: 0.1em; */
}

.mincho {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.gothic {
/*font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;*/
}
.zen-kaku-gothic-new-light {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 300;
	font-style: normal;
  }
  
  .zen-kaku-gothic-new-regular {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-style: normal;
  }
  
  .zen-kaku-gothic-new-medium {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 500;
	font-style: normal;
  }
  
  .zen-kaku-gothic-new-bold {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
  }
  
  .zen-kaku-gothic-new-black {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 900;
	font-style: normal;
  }
  
/*-------------------------------------------*/
/*-----------------　基本設定　--------------*/
/*---------------------------------------*/

body {
	font-family: "Zen Kaku Gothic New", sans-serif;
	letter-spacing: 0.1em;
	font-weight: 500;
	margin: 0px;
	padding: 0px;
}

.forSp {
	display: none;
}
.forPc {
	display: block;
}
div {
	width: 100%;
}
html {
    font-size: 62.5%;
    /* color: #414656; */
}

ul li {
	list-style: none;
}

@media screen and (max-width : 959px ){
	body {
    /*padding-bottom: 54px;*/
	}
	.forPc {
		display: none;
	}
	.forSp {
		display: block;
	}
	.nonSp {
		display: none;
	}

}/*Close @media screen and (max-width: 959px)*/


@media screen and (max-width : 959px ){

}


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

a {
	text-decoration: none;
	transition: 0.3s;
}
a:hover {
	opacity: 0.6;
}
img {
	max-width: 100%;
	/*image-rendering: -webkit-optimize-contrast;*/
	-webkit-backface-visibility: hidden;
	height: auto;
}

html, body {
	width: 100%;
	overflow-x: hidden;
}
body {
	font-size: 1.3rem;
	/* line-height: 1.6; */
	line-height: 1.5;
	background-color: #FCF8EB;
	text-align: center;
	/* color: #333; */
}
h1, h2, h3, h4, h5 {
	font-weight: normal;
	line-height: 1.4;
	margin: 0;
}
p {
	/* text-align: justify; */
	text-align: center;
}

.wrapWidth {
	width: 100%;
	margin: 0 auto;
}
.boxWidth {
	width: 96%;
	max-width: 1200px;
	margin: 0 auto;
}

.caption {
	font-size: 1.3rem;
	line-height: 1.4;
	padding: 1em 0;
	letter-spacing: 0;
}
#captionBox,
.captionBox {
	text-align: center;
	padding: 2em 0;
}
#captionBox .caption,
.captionBox .caption{
	display: inline-block;
	text-align: justify;
}

.font18{
	font-size: clamp(1.6rem, 3.5vw, 1.8rem);
}
.font22{
	font-size: clamp(1.8rem, 4.8vw, 2.2rem);
}
.font24{
	font-size: clamp(2rem, 4.8vw, 2.4rem);
}
.font42{
	font-size: clamp(2.6rem, 6.4vw ,4.2rem);
}

.brSp {
	display: none;
}
.brTab {
	display: none;
}

@media screen and (max-width: 959px) {
  .boxWidth {
	  width: 90%;
  }
	.brTab {
		display: inline;
	}
}
@media screen and (max-width: 599px) {
	#captionBox .caption span.non-Sp {
		display: none;
	}
	.brSp {
		display: inline;
	}
}




/*========== FLEX BOX ==========*/
.flex-container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.flex-item {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.flex-center {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.flex-left {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}


/*-------------------------------------------*/
/*-----------------　button　--------------*/
/*---------------------------------------*/

a {
	text-decoration: none;
  transition: 0.3s;
}
a.closed, a.closed img {
  opacity: 0.5;
  pointer-events: none;
}
.btnWrap {
  width: 40%;
  margin: 0 auto;
  padding-top: clamp(2rem,5.3vw ,4rem);

  max-width: 40rem;
}
.btnWrap li {
  /*width: 33%;*/
	width: 49%;
}
.btnWrap a {
	display: block;
  height: 60px;
  background-color: #00937D;
	color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 3rem;
  font-size: 1.8rem;
}
a.btnOnline {
  background-color: #e95504;
	display: none;
}
a.btnSiryo {
  background: rgb(154,0,85);
background: linear-gradient(90deg, rgba(154,0,85,1) 0%, rgba(64,0,19,1) 100%);
}
a.btnOnline {
  background-color: #e95504;
	display: none;
}

@media screen and (max-width : 599px ){
  .btnWrap {
    width: 80%;
    max-width: 300px;
    /*display: none;*/

  }
  .btnWrap li {
    width: 100%;
  }
  .btnWrap a {
    height: 50px;
  }
  .btnWrap a:nth-child(1) {
    margin-bottom: 10px;
  }
}

/*-------------------------------------------*/
/*-----------------　body　--------------*/
/*---------------------------------------*/


/* ******************** MAIN↓ ********************* */

/* ============== COMMON ============== */
h2{
	font-size: clamp(2.6rem, 6.4vw ,4.2rem);
	font-weight:700;
	display: inline-block;
	border-bottom: #00937D 6px solid;
	padding-bottom: 1rem;
	margin-bottom: clamp(2rem,5.3vw ,4rem);
	line-height: normal;
}
h2 span.subTxt{
	font-size: 70%;
}
span.grnTxt{
	color: #00937D;
}
section#aboutArea,#meritArea,#howtoArea,#campArea,#contArea{
	margin-top: clamp(7rem, 18vw ,14rem);
}

.fUp{
	opacity: 0;
	transition: 1s;
	transform: translateY(60px);
}
.fUp.active{
	opacity: 1;
	transform: translateY(0px);
}
@media screen and (max-width: 599px)  {
	h2 span.subTxt{
		font-size: 75%;
		letter-spacing: normal;
	}
}
/* ============== MAIN AREA ============== */
#mainArea{
	position: relative;
}
#mainArea header{
	position: absolute;
	z-index: 999;
}
#mainArea header div.topLogo{
	padding: 2rem 0 2rem 2rem;
	width: 15rem;
}
#mainArea .topTitle{
	position: absolute;
	top: 40%;
	left: 50%;
	max-width: 700px;
	width: 100%;
	transform: translate(-50%, -50%);
}
#mainArea > div:first-of-type picture,
#mainArea > div:first-of-type img {
  width: 100%;
  height: 100vh;
  object-fit: cover;
}

.photo_main {
	line-height: 0em;
}

@media screen and (max-width: 959px) {

}
@media screen and (max-width: 599px) {
	#mainArea .topTitle{
		top: 30%;
		width: 100%;
	}
}

/* ============== QR AREA ============== */
.qrArea{
	background: #13f270;
	background: linear-gradient(150deg, rgba(19, 242, 112, 1) 0%, rgba(0, 163, 163, 1) 100%);
}
.qrWrap{
	display: flex;
	margin: 0 auto;
	justify-content: space-between;
	max-width: 50rem;
	align-items: center;
	padding: 10rem 0;
	color: #fff;
}
.qrWrap .qrLeft{
	width: 42%;
}
.qrWrap .qrRight{
	width: 53%;
	font-size: 1.8rem;
}
.qrWrap .qrRight p{
	letter-spacing: normal;
}

.lineBtn{
	padding-bottom: 2rem ;
}
.lineBtn a{
	background-color: #02B902;
	padding: 1rem 6rem;
	border-radius: 5px;
}
.linefriendBtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: #06C755; /* LINE公式グリーン */
	color: #fff;
	font-weight: bold;
	font-size: 1.6rem;
	border-radius: 8px;
	padding: 0 1.4em;
	margin: 2rem 0;
	text-decoration: none;
	/* transition: opacity 0.3s ease;
	box-shadow: 0 2px 6px rgba(0,0,0,0.2); */
}
.linefriendBtn span{
	padding: 0.8em 0;
}
.lineIcon {
	width: 45px;
	height: auto;
	margin-right: 0.6em;
	display: block;
}

@media screen and (max-width: 959px) {
	.qrWrap{
		display: block;
		max-width: 42rem;
	}
	.qrWrap .qrLeft{
		width: 40%;
		margin: 0 auto;
	}
	.qrWrap .qrRight{
		width: 80%;
		margin: 0 auto;
	}
	/* .qrTxt{
		font-size: 1.8rem;
		letter-spacing: normal;
		margin-bottom: 2rem;
	} */
	.lineBtn{
		padding-top: 2rem ;
	}

	.linefriendBtn {
		padding: 0 3em;
	}
}
@media screen and (max-width: 599px) {
	/* .qrWrap{
		display: block;
		max-width: 42rem;
	}
	.qrWrap .qrLeft{
		width: 40%;
		margin: 0 auto;
	}
	.qrWrap .qrRight{
		width: 80%;
		margin: 0 auto;
	}
	.qrTxt{
		font-size: 1.8rem;
		letter-spacing: normal;
		margin-bottom: 2rem;
	}
	.lineBtn{
		padding-top: 2rem ;
	}

	.linefriendBtn {
		padding: 0 3.4em;
	} */

}


/* ============== ABOUT AREA ============== */
#aboutArea h2 .lineBox{
	width: clamp(8rem, 20vw ,11rem);	
}
#aboutArea div.aboutTxt{
	font-size: clamp(2rem, 4.8vw ,2.4rem);
	max-width: 90rem;
	line-height: 1.9;
}
#aboutArea .aboutTxt span.spanBr{
	display: inline-block;
}

@media screen and (max-width: 959px) {
	#aboutArea div.aboutTxt{
		line-height: 1.7;
	}
	
}
@media screen and (max-width: 599px) {

}

/* ============== MERIT AREA ============== */
#meritArea .meritWrap{
	display: flex;
	/* justify-content: space-between; */
	gap: 2%;
	flex-wrap: wrap;
	justify-content: center;
}
#meritArea .meritWrap li.meritBox{
	width: 32%;
	min-width: 35rem;
	background-color: #fff;
	border-radius: 3rem;
	margin-top: clamp(2rem,5.3vw ,4rem);
}
#meritArea .meritWrap .meritBox .meritTop{
	position: relative;
	background-color: #00937D;
	color: #fff;
	border-radius: 3rem 3rem 0 0 ;
}
#meritArea .meritWrap .meritBox .meritTop ul{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 3% 6% 3% 26%;
	font-size: clamp(1.8rem, 4.8vw ,2.2rem)
}
#meritArea div.meritTop div{
	width: 6.5rem;
}
#meritArea div.meritTop ul li:nth-child(2){
	width: 3rem;
}

#meritArea .meritWrap .meritBox .meritTop .meritFlag{
	position: absolute;
	top: -.5rem;
    left: 1rem;
}

#meritArea .meritWrap .meritBox .meritBtm{
	font-size: clamp(1.6rem, 3.5vw, 1.8rem);
	padding: 5rem 2rem;
}

@media screen and (max-width: 959px) {

}
@media screen and (max-width: 599px) {
	#meritArea .meritWrap li.meritBox{
		width: 80%;
		min-width: 30rem;
	}
	#meritArea .meritWrap .meritBox .meritBtm{
		padding: 3rem 2rem;
	}
	#meritArea div.meritTop div{
	width: clamp(4rem, 14vw ,6.5rem);
	}
}

/* ============== HOW TO AREA ============== */
#howtoArea .pointWrap{
	display: flex;
	gap: 2%;
	flex-wrap: wrap;
	justify-content: center;
}
#howtoArea .pointWrap .pointBox{
	width: 32%;
	min-width: 35rem;
	background-color: #fff;
	border-radius: 3rem;
	margin-top: 4rem;
	position: relative;
}
#howtoArea .pointWrap .pointBox .deco{
	position: absolute;
	width: 65%;
	top: -5%;
	left: 50%;
	transform: translateX(-50%);
}

#howtoArea .pointWrap .pointBox p{
	font-size: clamp(1.6rem, 3.5vw, 1.8rem);
}
#howtoArea .pointWrap .pointBox span.caption{
	padding: 0;
}
#howtoArea .pointBox h3{
	font-size: clamp(1.8rem, 4.8vw ,2.2rem);
	color: #00937D;
	font-weight: 700;
	padding: 3.5rem 0 2rem 0;
}
#howtoArea .pointBox div{
	padding: 0rem 3rem;
}
#howtoArea .pointBox div img{
	border-radius: 10px;
}
#howtoArea .pointBox p{
	padding: 2rem;
}
@media screen and (max-width: 959px) {

}
@media screen and (max-width: 599px) {
	#howtoArea .pointWrap .pointBox{
	width: 80%;
	min-width: 30rem;
	}
}


/* ============== CAMP AREA ============== */
#campArea .campWrap{
	max-width: 900px;
}
#campArea .campWrap .campBox{
	background-color: #fff;
	border-radius: 3rem;
	position: relative;
	padding: 10% 0;
}
#campArea .campWrap .campBox .flagL, 
#campArea .campWrap .campBox .flagR{
	position: absolute;
	width: 25%;
	top: 0;
}
#campArea .campWrap .campBox .flagL{
	left: 0;
}
#campArea .campWrap .campBox .flagR{
	right: 0;
}
#campArea .campWrap .stripe{
	background-image: 
	repeating-linear-gradient(
		-45deg,
		rgba(255, 232, 0, 0.3), /* ← 透明度30% */
		rgba(255, 232, 0, 0.3) 15px,
		transparent 15px,
		transparent 30px
	);
}
#campArea .campWrap .campBox h2{
	border: none;
	position: absolute;
	width: 85%;
	min-width: 280px;
	max-width: 560px;
	top: -6%;
	left: 50%;
	transform: translateX(-50%);
}
#campArea .campWrap .campTitle{
	max-width: 500px;
	margin: 0 auto;
	width: 80%;
	min-width: 280px;
	position: relative;
	z-index: 10;
	padding-bottom: 3%;
}
#campArea .campWrap .campTitle img:nth-child(2){
	padding: 2% 0;
}
#campArea .campWrap .campTitle div{
	background-color: #00937D;
	color: #fff;
	font-size: clamp(2rem, 5.3vw ,4rem);
	letter-spacing: -0.3rem;
}
#campArea .campWrap .campInfo{
	background-color: #fff;
	width: 80%;
	min-width: 280px;
	max-width: 600px;
	margin: 0 auto;
	border-top: #00937D 4px solid;
	border-bottom: #00937D 4px solid;
	font-size: clamp(1.6rem, 3.5vw, 1.8rem);
	padding: 5%;
	letter-spacing: normal;
}
#campArea .campWrap p.caption{
	text-align: start;
	margin: 2rem 0;
}
@media screen and (max-width: 959px) {

}
@media screen and (max-width: 599px) {
	#campArea .campWrap .stripe{
		background-image: repeating-linear-gradient(
			-45deg,
			rgba(255, 232, 0, 0.3), /* ← 透明度30% */
			rgba(255, 232, 0, 0.3) 12px,
			transparent 12px,
			transparent 24px
		);
	}
}


/* ============== CONT AREA ============== */
#contArea .contName{
	font-size: clamp(1.8rem, 4.8vw, 2.2rem);
}
#contArea .telNo{
	font-size: clamp(1.8rem, 4.8vw, 2.2rem);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 400;
}
#contArea .telNo p{
	padding: 0 0 3px;
}
#contArea .telNo img{
	width: 3.5rem; 
	padding: 5px;
}
#contArea  .contTime{
	font-size: clamp(1.6rem, 3.5vw, 1.8rem);
	font-weight: 400;
}
#contArea .bukkenBtn a{
	background: #30496A;
	background: linear-gradient(150deg, rgba(48, 73, 106, 1) 0%, rgba(0, 157, 191, 1) 100%);
}
#contArea ul.contBtn{
	display: flex;
	width: 100%;
	max-width: 70rem;
	margin: 3rem auto;
	justify-content: space-around;
}
#contArea .contBtn li{
	width: 32%;
}
#contArea .contBtn li a{
	background-color: #30496a;
	color: #fff;
	font-size: clamp(1.6rem, 3.5vw, 1.8rem);
	font-weight: 400;
	display: flex;
	/* align-items: center;
	justify-content: center; */
	padding: 1rem .7rem;
}
#contArea .contBtn li div{
	display: flex;
	justify-content: center;
}
#contArea .contBtn li div img{
	width: 2.5rem;
}
#contArea .contBtn li div p{
	padding-left: 10px;
}
#contArea .anabukiKosan{
	padding: 3rem 0;
}
@media screen and (max-width: 959px) {

}
@media screen and (max-width: 599px) {
	#contArea ul.contBtn{
		display: block;
	}
	#contArea .contBtn li{
		width: 90%;
		max-width: 30rem;
		margin: 1rem auto;
	}
}

/* ******************** MAIN↑ ********************* */



/* ******************** FOOTER↓ ********************* */
footer .boxWidth{
	display: flex;
	margin: 0 auto;
	justify-content: center;
	flex-wrap: wrap;
	padding: 1rem 0;
}
footer a{
	
	/* display: block; */
}
footer li{
	border-right: solid #999 1px;
	padding-right: 1rem;
	margin-right: 1rem;
	margin-top: 0.5rem;
	color: #64615A;
}
footer li:nth-last-child(1){
	border-right: none;
}
/* footer a:nth-child(1):before{
	content: '';
	border-left: solid #999 1px;
	padding: 0 4px;
} */
@media screen and (max-width: 959px) {

}
@media screen and (max-width: 599px) {

}
/* ******************** FOOTER↑ ********************* */


.topTitle {
	h1 {
		text-align: center;
		line-height: 1em;
		color: #00C860;
		text-shadow: 
			0px 0px 3px rgba(255,255,255,1),
			0px 0px 6px rgba(255,255,255,1),
			0px 0px 9px rgba(255,255,255,1),
			0px 0px 12px rgba(255,255,255,1),
			0px 0px 15px rgba(255,255,255,1),
			0px 0px 18px rgba(255,255,255,1),
			0px 0px 21px rgba(255,255,255,1);
		span {
			display: block;
		}
	}
}

.txt_line {
	font-size: clamp(80px, 3.88vw + 55.44px, 130px);
	font-weight: 900;
	line-height: 1em;
}
.txt_acount {
	font-size: clamp(32px, 1.17vw + 27.63px, 50px);
	font-weight: 600;
	line-height: 1em;
	font-family: "Noto Sans JP", sans-serif;
	font-feature-settings: "palt";
	letter-spacing: 0.1em;
	padding-top: 1.3vw;
	@media (width < 480px) {
		padding-top: 16px;
	}
}
.txt_name {
	font-size: clamp(24px, 1.04vw + 20.12px, 40px);
	font-weight: 600;
	line-height: 1em;
	font-family: "Noto Sans JP", sans-serif;
	font-feature-settings: "palt";
	letter-spacing: 0.1em;
	padding-top: 1.2vw;
	@media (width < 480px) {
		padding-top: 16px;
	}
}


