@charset "utf-8";

/* 共通 */
h1{
	font-size: 2.5rem;
	font-family: "Roboto Slab", serif;
	font-optical-sizing: auto;
	font-style: normal;
	text-align: center;
}
h2{font-size: 2.5rem; line-height: 1.4;}
h3{font-size: 1.7rem;}
p,li{font-size: 1.1rem;}

article{margin:0 auto;}


/* 矢印 */

a.btn{
 	display: flex;
    justify-content: center;
    align-items: center;
}
a.arrow::after {
    transform: rotate(45deg);
    width: 6px;
    height: 6px;
    margin-left: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: '';
}
a.arrow:hover::after {border-color: #fff;}


@media only screen and (max-width:640px){
	h1{font-size: 2.7rem; letter-spacing: -0.05em;}
	h2{font-size: 2rem; line-height: 1.2; letter-spacing: -0.05em;}
	h3{font-size: 1.7rem; letter-spacing: -0.05em;}
	p,li{line-height: 1.4; font-size: 1.3rem; letter-spacing: -0.05em;}
	}

/* main */
main{width: 100%;}
main img{max-width: 100%; margin: 0 auto;}


/* top */
/* #top{
	max-width: 1500px;
	width: 90%;
	margin: 80px auto 0;
	padding: 350px 0;
	background-image: url("../img/top-bg.png");
	background-repeat: no-repeat;
	background-size: contain;
} */
#top{
	max-width: 1200px;
	width: 90%;
	margin: 200px auto;
	text-align: center;	
}
#top .waku{
	padding: 70px 0 40px;
	background: #f4f4f4;
	border-radius: 20px;
}
#top h2{color: #b4965f;}
#top h3{letter-spacing: -1.5px;}
#top h3 span{color: #b4965f;}
#top ul{margin: 25px 0 30px; width: 90%;}
#top ul li{text-indent: -1em; padding-left: 1em;}

@media only screen and (max-width:640px){
	/*#top{
		max-width: 600px;
		width: 90%;
		margin: 50px auto;
		padding: 420px 0 50px;
		background-image: url("../img/top-bg-sp.png");
		background-repeat: no-repeat;
		background-size: contain;
	}*/
	#top{
		max-width: 500px;
		width: 90%;
		margin: 70px auto;
		padding: 40px 5px;
	}
	#top ul{margin: 25px auto 30px; text-align: left; display: block;}
	#top ul li{margin: 7px 0;}
}

/* 波アニメーション */
.custom-shape-divider {
	width: 100%;
	overflow: hidden;
	line-height: 0;
	transform: scaleX(1) rotate(180deg);
}
.custom-shape-divider svg {
	display: block;
	width: 100%;
	height: 77px;
}
.wave-animation > use {
	fill: #D7F5F4;
	animation: wave-move 10s cubic-bezier(.55,.5,.45,.5) infinite;
}
.wave-animation > use:nth-child(1) {
	animation-delay: -2s;
	animation-duration: 10s;
}
.wave-animation > use:nth-child(2) {
	animation-delay: -3s;
	animation-duration: calc(10s * 0.7);
}
.wave-animation > use:nth-child(3) {
	animation-delay: -4s;
	animation-duration: calc(10s * 0.5);
}

@keyframes wave-move {
	0% { transform: translate3d(-90px, 0, 0); }
	100% { transform: translate3d(85px, 0, 0); }
}

/* スマホ対応 */
@media (max-width: 768px) {
	.custom-shape-divider svg {
		height: 40px;
	}
}



/* plan */
#plan,#point{background: #D7F5F4; padding: 80px 0 0;}
#plan h1,#point h1{margin-bottom: 20px;}
#plan .tab-switch {
  --cstm-tab-color:#92bac2;
  display: flex;
  flex-wrap: wrap;
  justify-content:space-between;
  max-width: 1500px;
  width: 90%;
  margin: 0 auto;
  gap: 0 5px;
}

/* ラジオ非表示 */
#plan .tab-switch input {
  display: none;
}

/* タブボタン */
#plan .tab-switch label {
  border: solid 1px #61C1BE;
  color: #61C1BE;
  padding: 0.7em 0;
  background:#fff;
  cursor: pointer;
  order: -1;
  text-align: center;
  width: 32.5%;
  transition: .3s;
  border-radius: 3px;
}
#plan .tab-switch label:hover{background:#61C1BE; color: #fff;}

/* コンテンツ非表示 */
#plan .tab-content {
  display: none;
  width: 100%;
  height: 500px;
  background: #fff;
  border-radius: 3px;
  margin: 15px auto 0;
}

/* 選択されたタブ＋コンテンツ表示 */
#plan .tab-switch input:checked + label {
  background:#61C1BE;
  color: #fff;
}
#plan .tab-switch input:checked + label + .tab-content {
  display: block;
}

#plan .tab-content .naiyo{
	display: flex;
	justify-content: space-between;
	align-items: center;
	align-content: stretch;
	flex-wrap: wrap;
	background: #fff;
	border-radius: 3px;
	padding:0 60px;
	height: 500px;
}
#plan .tab-content .naiyo .img-waku{width: 30%;}
#plan .tab-content .naiyo .img-waku img{max-width: 100%; border-radius: 3px;}
#plan .tab-content .naiyo .text-waku{width: 27%;}
#plan .tab-content .naiyo .text-waku h3{font-weight: 700; line-height: 1.2;}
#plan .tab-content .naiyo .text-waku h2{font-weight: 700;}
#plan .tab-content .naiyo .text-waku p{line-height: 1.3;}
#plan .tab-content .naiyo .text-waku a{  
	background:#61C1BE;
  	color: #fff;
	width: 100%;
	text-align: center;
	display: flex;
    justify-content: center;
    align-items: center;
	border-radius: 3px;
	margin-top: 20px;
	padding: 5px 0;
}
#plan .tab-content .naiyo .text-waku a:hover{opacity: .6;}
#plan .tab-content .naiyo .tokuten-waku{width: 37%;}
#plan .tab-content .naiyo .tokuten-waku ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: center;
	align-items: stretch;
}
#plan .tab-content .naiyo .tokuten-waku ul li{
	line-height: 1.2;
	text-align: center;
	background: #61C1BE;
	border-radius: 3px;
	margin: 3px 0;
	padding:10px 0;
	color: #fff;
	font-size: 1rem;
	width: 32%;
}
#plan .tab-content .naiyo .tokuten-waku ul li.none{background: none;}
#plan .tab-content .naiyo .tokuten-waku ul li img{
	max-width: 100%;
	width: 30%;
	display: block;
	margin: 0 auto 5px;
	text-align: center;
}

@media only screen and (max-width:640px){
	#plan{padding: 30px 0 0;}
	#plan .tab-switch {
	  --cstm-tab-color:#92bac2;
	  display: flex;
	  flex-wrap: wrap;
	  justify-content:space-between;
	  max-width: 640px;
	  width: 90%;
	  margin: 0 auto;
	  gap: 0 5px;
	}

	/* タブボタン */
	#plan .tab-switch label {
	  padding: 1.2em 0;
	  width: 31.5%;
	  border-radius: 3px;
	  line-height: 1.2;
	  letter-spacing: -1.5px;
	}

	/* コンテンツ非表示 */
	#plan .tab-content {
	  display: none;
	  width: 100%;
	  height: 950px;
	  background: #fff;
	  border-radius: 3px;
	  margin: 15px auto 0;
	}


	#plan .tab-content .naiyo{
		display: flex;
		justify-content: space-between;
		align-items: center;
		align-content: stretch;
		flex-wrap: wrap;
		background: #fff;
		border-radius: 3px;
		padding:45px 30px 30px;
	}
	#plan .tab-content .naiyo .img-waku{width: 100%;}
	#plan .tab-content .naiyo .text-waku{width: 100%;}
	#plan .tab-content .naiyo .text-waku h3{margin: 20px auto 5px;}
	#plan .tab-content .naiyo .text-waku h2{margin: 0 auto 10px;}
	#plan .tab-content .naiyo .tokuten-waku{
		width: 100%; 
		margin-top: 30px;
	}

}



/* point */
#point{padding-bottom: 150px;}
#point ul{
	max-width: 800px;
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin: 50px auto 0;
}
#point ul li{
	width: 42%;
	background: #fff;
	border-radius: 3px;
	text-align: center;
	padding:50px 20px;
	position: relative;
}
#point ul li.one::after{
	content: "";
	position: absolute;
	background: url("../img/point-01.png");
	background-repeat: no-repeat;
	background-size: 35%;
	top:-50px;
	left: -50px;
 	width: 100%;
    height: 100%;
}
#point ul li.two::after{
	content: "";
	position: absolute;
	background: url("../img/point-02.png");
	background-repeat: no-repeat;
	background-size: 35%;
	top:-50px;
	left: -50px;
 	width: 100%;
    height:100%;
}
#point ul li h3{font-weight: 500; margin-top: 10px;}
#point ul li p{line-height: 1.2; width: 290px; margin: 0 auto;}
#point ul li img{max-width: 90%; border-radius: 3px;}

@media only screen and (max-width:640px){
	#point{padding: 80px 0 80px;}
	#point h1{margin-bottom: 0;}
	#point ul{
		max-width: 800px;
		width: 90%;
		flex-wrap: wrap;
		margin: 0 auto;
	}
	#point ul li{
		width: 100%;
		position: relative;
		margin: 10px 0;
	}
	#point ul li.one{margin-bottom: 30px;}
	#point ul li.one::after{
		content: "";
		position: absolute;
		background: url("../img/point-01.png");
		background-repeat: no-repeat;
		background-size: 32%;
		top:-35px;
		left: -20px;
		width: 100%;
		height: 100%;
	}
	#point ul li.two::after{
		content: "";
		position: absolute;
		background: url("../img/point-02.png");
		background-repeat: no-repeat;
		background-size: 32%;
		top:-35px;
		left: -20px;
		width: 100%;
		height:100%;
	}
}


/* text */
#text{
	max-width: 800px; 
	margin: 0 auto; 
	display: block;
	padding: 150px 0;
}
#text p{text-align: center; line-height: 3;}


/* contact */
#contact{
	padding: 150px 0;
	background-image: url("../img/contact.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-color: rgba(0,0,0,0.4);
    background-blend-mode: overlay;
}

#contact h1{font-size: 3rem; color: #fff; line-height: 1.2;}
#contact p{text-align: center; color: #fff;}
a.btn {
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  transition: all 0.7s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  margin: 15px auto 0;
}
#contact a{
	max-width: 500px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 1px solid #212529;
    background-color: #fff;
    color: #212529;
}
#contact a:hover {background-color: transparent; color: #fff;}
#contact a::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 0;
    height: 100%;
    background-color: #212529;
    content: '';
    transition: width .5s ease;
}
#contact a:hover::before {width: 100%;}
#contact a.arrow::after {
    border-top: 2px solid #212529;
    border-right: 2px solid #212529;
}
#contact a.arrow:hover::after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

@media only screen and (max-width:640px){
	#contact{
		padding: 130px 0;
		background-image: url("../img/contact.jpg");
		background-repeat: no-repeat;
		background-size: cover;
		background-color: rgba(0,0,0,0.4);
		background-blend-mode: overlay;
	}
	a.btn {
	  padding: .5rem 0;
	  margin: 25px auto 0;
	}
	#contact a{
		max-width: 500px;
		width: 80%;
	}
}






