@charset "utf-8";
/* CSS Document */
@media all{
	
/* ファーストビュー */
	#firstimage{
		width: 100%;
		height:24vw;
	}
	#firstimage .text{
		position: absolute;
		width: 100%;
		top: 12vw;
		left: 0;
		transform: translateY(10%);
		-webkit-transform: translateY(10%);
		-ms-transform: translateY(10%);
		color: #fff;
		text-align: center;
		letter-spacing: .1em;
	}
	#firstimage .fvimage{
		width: 100%;
		height: 100%;
	}
	
/* 説明 */
	#dscrptn{
		padding: 100px 0;
	}
	#dscrptn p{
		font-size: 1.2rem;
		text-align: center;
	}
	
/* プラン */
	#plan{
		padding: 0 0 60px;
	}
	.planbox{
		width: calc(100% - 40px);
		max-width: 980px;
		margin: 0 auto;
		padding: 15px;
		display: flex;
		border: solid 1px #aaa;
	}
	.planbox .image{
		width: 50%;
	}
	.planbox .text{
		width: 50%;
		padding: 40px 40px 20px;
	}
	.planbox .text .title{
		font-size: 2rem;
		margin-bottom: 1em;
		padding-left: 3em;
	}
	.planbox .text .title span{
		display: inline-block;
		font-size: 1.6rem;
		padding: 0.2em 0.5em;
		background: #000;
		color: #fff;
		margin: 0 0.6em 0 -3.6em;
	}
	.planbox .text .price{
		width: 100%;
		font-size: 2.4rem;
		text-align: center;
		border: solid #000;
		border-width: 1px 0 1px 0;
	}
	.planbox .text .price strong{
		font-size: 1.6em;
	}
	.planbox .text .price span{
		font-size: 0.7em;
	}
	.planbox .text .detail{
		font-size: 1.2rem;
		padding: 1em 0 0;
	}
	
	.more{
		width: calc(100% - 40px);
		max-width: 980px;
		margin: 0 auto 60px;
	}
	.more .morebutton{
		width: 100%;
		font-size: 1rem;
		padding: 1em;
		text-align: center;
		background: #e5e5e5;
		border: solid #aaa;
		border-width: 0 1px 1px 1px;
	}
	.more .morebutton:hover{
		cursor: pointer;
	}
	.morebox{
		display: none;
		border: solid #aaa;
		border-width: 0 1px 1px 1px;
		padding: 15px 15px 40px;
	}
	.morebox .image{
		width: 100%;
		aspect-ratio: 6 / 4;
		margin-bottom: 60px;
		position: relative;
	}
	.morebox .image .preload{
		position: absolute;
		width: 100%;
		top: 0;
		left: 0;
	}
	.slickslide{
		width: 100%;
		height: 100%;
	}
	.include{
		padding: 0 30px;
	}
	.include .title{
		font-size: 2rem;
		text-align: center;
		margin-bottom: 1em;
	}
	.include .list{
		font-size: 1.6rem;
		column-count: 4;
	}
	.include .list li{
		color: #ccc;
	}
	.include .list li.on{
		color: #000;
	}
	#plan .note{
		font-size: 1.2rem;
		text-align: center;
		margin: 80px 0 100px;
	}
	
}

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

/* ファーストビュー */
	#firstimage{
	height: 47vw;
}
	#firstimage .fvimage img{
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#firstimage .text{
		top: 23.5vw;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
	}
	#firstimage .text h2{
		font-size: 1.8rem;
	}
		
/* 説明 */
	#dscrptn{
		padding: 40px 0;
	}
	#dscrptn p{
		font-size: 1rem;
		text-align: center;
	}
	
	/* プラン */
	#plan{
		padding: 0 0 20px;
	}
	.planbox{
		padding: 15px;
		flex-direction: column;
	}
	.planbox .image{
		width: 100%;
	}
	.planbox .text{
		width: 100%;
		padding: 10px 0 0;
	}
	.planbox .text .title{
		font-size: 1.4rem;
		width: fit-content;
		margin: 0 auto 10px;
	}
	.planbox .text .title span{
		font-size: 1rem;
	}
	.planbox .text .price{
		font-size: 1.2rem;
	}
	.planbox .text .detail{
		font-size: 1rem;
		padding: 1em 0 0;
	}
	.more{
		margin: 0 auto 40px;
	}
	.morebox{
		padding: 15px 15px 20px;
	}
	.morebox .image{
		aspect-ratio: 4 / 6;
	}
	.include{
		padding: 0 5px;
	}
	.include .title{
		font-size: 1.1rem;
	}
	.include .list{
		font-size: 1rem;
		column-count: 2;
		margin-bottom: 0.3em;
	}
	
}

@media screen and (min-width: 568px) and (max-width: 1024px){

	#firstimage .text h2{
		font-size: 2.5rem;
	}
	
}

@media screen and (min-width: 1025px), print{

	#firstimage .text h2{
		font-size: 3rem;
	}
	
	
}
