@charset 'UTF-8';

/* ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

	トップページ

■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ */



/* ================================================================================

	レイアウト

================================================================================ */

/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	#wrapper {
	}

	main.outer_wrap {
		position: relative;
		max-width: none;
		/* max-width: 1920px; 固定幅レイアウト時 */
		width: 100%;
		min-height: 50vh;
		display: block;
		margin: 0 auto;
	}

	.inner_wrap {
		position: relative;
	}
}



/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	#wrapper {
	}

	main.outer_wrap {
		position: relative;
		width: 100%;
	}

	.inner_wrap {
		position: relative;
	}
}





/* ================================================================================

	メイン画像

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.main_top {
		position: relative;
	}
	.main_top_in {
		position: relative;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.main_top {
		position: relative;
	}
	.main_top_in {
		position: relative;
	}
}





/* ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

	ここからコンテンツ内容

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ */



/* ================================================================================

	メニュー

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.menu-li{
		width: 1090px;
		margin: 0 auto;
		padding-top: 100px;
		
	}
	.link-r{
		padding: 0 13px;
	}
	.style-n{
		filter: grayscale(100);
		opacity: 0.6;
		pointer-events: none;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.menu-li{
		margin: 0 auto;
    	text-align: center;
		padding: 6vw 3vw 0 3vw;
		
	}
	.link-r{
		padding-top: 8vw;
		width: 80vw;
    	margin: 0 auto;
	}
	.style-n{
		filter: grayscale(100);
		opacity: 0.6;
		pointer-events: none;
	}
}






/* ================================================================================

	リザーブ

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
.reserve{
		background-color: #F5F5F5;
		width: 1180px;
		margin: 0 auto;
		padding: 120px 100px;
	}

		.link_reserve {
		max-width:300px;
		}
		.toggles {
		display: none;
		}
		.link_reserve input {
			display: none;
		}
		.option {
		position: relative;
		margin-bottom: 1em;
		}
		.title,
		.content {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		transition: all 0.3s;
		}
		.title {
		 		position: relative;
				display: block;
				background-color: #3C3C3C;
				color: #ffffff;
				letter-spacing: 2px;
				text-indent: 8px;
				line-height: 1.3;
				padding: 15px 90px 15px 95px;
				font-size: 20px;
				font-family: 'Roboto';
		}
		.title::after,
		.title::before {
		content: "";
		position: absolute;
		right: 1.25em;
		top: 1em;
		width: 2px;
		height: 0.75em;
		background-color: #ffffff;
		transition: all 0.3s;
		}
	.check::before{
		    position: absolute;
			content: "";
			display: block;
			background: url(../img/check.png) center top / contain no-repeat;
			width: 20px;
			height: 20px;
			top: 50%;
			margin-top: -6px;
			left: 75px;
			}
		.title::after {
		transform: rotate(90deg);
		}
			.toggle-t:checked + .title::before {
			transform: rotate(90deg) !important;
			}

	

		.content {
		max-height: 0;
		overflow: hidden;
		}
		.content p {
				margin: 0;
				padding: 20px 20px 20px 20px;
				font-size: 23px;
				line-height: 1.5;
				background-color: #ffffff;
				border: solid 1px #3C3C3C;
				text-align: center;
				font-family: 'Roboto';
			}

		.toggle-t:checked + .title + .content {
		max-height: 500px;
		transition: all 1.5s;
		}

	.reserve-text{
		display: flex;
	}
	.reserve-text>div{
    width: 52%;
	display: flex;
	justify-content: space-between;
	margin-right: 4%;	
	}	
	.box{
		width: 40%!important;
	}
	.reserve-text div span{
		display: block;
		text-indent: 1em;
	}
	.text-font{
		font-family: 'Noto Serif JP', serif;
		font-size: 16px;
		letter-spacing: 0.5px;
		color: #3C3C3C;
	}
	.text-font-f{
		font-family: 'Noto Serif JP', serif;
		font-size: 16px;
		letter-spacing: 0.08em;
		text-indent: 1em;
		color: #3C3C3C;
	}
	.mt-20{
		margin-top: 50px;
	}
	.mt-10{
		margin-top: 10px;
	}
	.title-r{
		font-weight: 600;
		font-size: 16px;
		font-family: 'Roboto';
		letter-spacing: 1px;
		color: #3C3C3C;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
		.reserve{
		background-color: #F5F5F5;
		width: 92vw;
		margin: 0 auto;
		padding: 10vw 4vw 10vw 4vw;
		text-align: center;
	}
	
	
	.reserve-text{
		/*display: flex;*/
	}
	.reserve-text>div{
    width: 72vw;
	display: flex;
	justify-content: space-between;
	margin-right: 4%;	
	}	
	.box{
		width: 72vw!important;
	}
	.reserve-text div span{
		display: block;
		text-indent: 1em;
	}
	.text-font {
    font-family: 'Noto Serif JP', serif;
    font-size: 4vw;
    letter-spacing: 0.1vw;
    text-align: left;
	color: #3C3C3C;
	}
	.text-font-f{
		font-family: 'Noto Serif JP', serif;
		font-size: 4vw;
		letter-spacing: 0.08em;
		text-align: left;
		padding: 0 7.6vw;
		color: #3C3C3C;
	}
	.mt-20{
		margin-top: 8vw;
	}
	.mt-10{
		margin-top: 2.5vw;
	}
	.title-r{
		font-weight: 600;
		font-size: 4vw!important;
		font-family: 'Roboto';
		letter-spacing: 0.2vw;
		text-align: left;
    	padding: 5vw 0 0.5vw 8vw;
		color: #3C3C3C;
	}
	.pd-s8{
		padding: 0 7.6vw;
	}
	.pd-s4{
		padding: 0 4vw;
	}
		.link_reserve {
		max-width:77vw;
		text-align: center;
   		margin: 0 auto;	
		}
		.link_reserve input {
			display: none;
		}
		.toggles {
		display: none;
		}
		.option {
		position: relative;
		margin-bottom: 1em;
		}
		.title,
		.content {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		transition: all 0.3s;
		}
		.title {
		 		position: relative;
				display: block;
				background-color: #3C3C3C;
				color: #ffffff;
				letter-spacing: 0.5vw;
				text-indent: 2vw;
				line-height: 1.3;
				padding: 4vw 12vw 4vw 13vw;
				font-size: 5vw;
				font-family: 'Roboto';
		}
		.title::after,
		.title::before {
		content: "";
		position: absolute;
		right: 1.25em;
		top: 1em;
		width: 0.5vw;
		height: 0.75em;
		background-color: #ffffff;
		transition: all 0.3s;
		}
		.check::before {
			        position: absolute;
					content: "";
					display: block;
					background: url(../img/check.png) center top / contain no-repeat;
					width: 5vw;
					height: 5vw;
					top: 50%;
					margin-top: -1.5vw;
					left: 17vw;
				}
			
		.content {
		max-height: 0;
		overflow: hidden;
		}
		.content p {
				margin: 0;
				padding: 5vw;
				font-size: 6vw;
				line-height: 1.5;
				background-color: #ffffff;
				border: solid 0.1vw #3C3C3C;
				text-align: center;
				font-family: 'Roboto';
			}
			.toggle-t:checked + .title + .content {
		max-height: 128vw;
		transition: all 1.5s;
		}
		.title::after {
		transform: rotate(90deg);
		}
		.toggle-t:checked + .title::before {
			transform: rotate(90deg) !important;
			}

}





/* ================================================================================

	ブログ

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.post_wrap {
		background-color: #ffffff;
		height: 100%;
		margin-top: 35px;
		overflow: hidden;
	}
	
	.post_wrap ul li:first-of-type {
		margin-top: 0;
	}
	.post_wrap ul {
		text-align: left;
	}
	
	.post_wrap ul li {
		display: block;
		font-size: 0;
		letter-spacing: -.4em;
		padding: 0 10px 10px;
	}
	.post_date {
		font-family: 'Noto Serif JP', serif;
		display: inline-block;
		vertical-align: middle;
		width: 20%;
		font-size: 16px;
		letter-spacing: 0;
	}
	.post_title {
		font-family: 'Noto Serif JP', serif;	
		display: inline-block;
		vertical-align: middle;
		width: 80%;
		font-size: 16px;
		letter-spacing: 0;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		-webkit-text-overflow: ellipsis;
		-o-text-overflow: ellipsis;
	}
	
	.news-title{
		font-size: 20px;
		margin: 0 auto;
		text-align: center;
		margin-top: 80px;
	}
	.news-container{
		width: 642px;
		margin: 0 auto;
		margin-bottom: 80px;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.post_wrap {
		background-color: #ffffff;
		max-height: 26vw;
		height: 100%;
		margin-top: 2.5vw;
		overflow: hidden;
	}
	
	.post_wrap ul li:first-of-type {
		margin-top: 0;
	}
	.post_wrap ul {
		text-align: left;
	}
	
	.post_wrap ul li {
		display: block;
		font-size: 0;
		letter-spacing: -.4em;
		margin-top: 4vw!important;
	}
	.post_date {
		font-family: 'Noto Serif JP', serif;
		vertical-align: middle;
		font-size: 3.5vw;
		letter-spacing: 0;
		text-align: center;
		color: #3C3C3C;
	}
	.post_title {
		font-family: 'Noto Serif JP', serif;	
		vertical-align: middle;
		font-size: 3.5vw;
		letter-spacing: 0;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		-webkit-text-overflow: ellipsis;
		-o-text-overflow: ellipsis;
		text-align: center;
		color: #3C3C3C;
	}
	
	.news-title{
		font-size: 5vw;
		margin: 0 auto;
		text-align: center;
		margin-top: 15vw;
		letter-spacing: 0.2vw;
		color: #3C3C3C;
	}
	.news-container{
		width: 87vw;
		margin: 0 auto;
		margin-bottom: 20vw;
	}
}





/* ================================================================================

	アプリ

================================================================================ */


/* PC設定
----------------------------------------------- */
@media (min-width: 768px) {
	.web-reserve{
		margin: 80px auto;
		}
	.web-container{
		margin: 0 auto;
		text-align: center;
	}
}


/* SP設定
----------------------------------------------- */
@media (max-width: 767px) {
	.web-container{
		margin: 0 auto;
		text-align: center;
	}
	.web-reserve{
		margin: 4vw auto;
		width: 92%;
		}
}
