@charset "UTF-8";

/* ===============================
	style
=============================== */

main{
	margin-bottom:0 !important;
}

/*------ main-visual ------*/
#main-visual{
	width:100%;
	margin:0 auto;
	background-size: cover !important;
}

/*------ コンテンツ ------*/
.intro-area .hover.color-change a,
#access .hover.color-change a {
	margin-top:2em;
}

/*------ バナーエリア ------*/
#banner-area {
	padding:5em 0;
}

/* スライダーstyle */
.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after,
.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after {
    content: none;
	background-size: contain;
}
.swiper-button-prev,
.swiper-button-next {
	width: 40px; 
	height: 40px;
	display: flex;
	align-items: center;
}
.swiper-button-prev {
	background-image: url(/common/images/bnr-arrow.svg);
	transform: scale(-1, 1); /* 左右反転 */
	left: -15px;
    right: auto;
}
.swiper-button-next {
	background-image: url(/common/images/bnr-arrow.svg);
	left: auto;
	right: -15px;
}
_:-ms-lang(x)::-ms-backdrop, .swiper-button-prev,
_:-ms-lang(x)::-ms-backdrop, .swiper-button-next {
	top:39%; /* IEでの位置ずれ調整 */
}

.swiper-slide {
	width: 100%;
	height: 100%;
}
.swiper-slide img {
	width: 100%;
}

/*------ ニュースエリア ------*/
#news {
	margin:8em 0;
}

/*----- 紹介エリア -----*/
.intro-area {
	overflow: hidden;
}

.intro-area h2 {
	margin-bottom:1em;
}
.intro-area .textarea p {
	line-height: 2;
}

/* coming soon 対応 */
.intro-area .comingsoon {
	width:350px;
	display: inline-block;
	font-family:'Noto Serif JP', serif;
	font-size:1.8rem;
	font-weight:500;
	color:#695912;
	text-align: center;
	padding: 0.8em 0;
	border:solid 1px #695912;
	margin-top: 2em;
}

/*----- イベントバナー -----*/
.event {
	padding:12em 0;
}
.event picture {
	display: block;
	border:solid 5px #c4b572;
}
.event a img {
	transition: 0.3s;
}
.event a img:hover {
	opacity: 0.8;
}

/*----- アクセス -----*/
#access .textarea p.point {
	font-size:2rem;
	margin-bottom:2em;
}
#access h2 {
	margin-bottom:1em;
}

#map {
	height: 0;
	overflow: hidden;
	position: relative;
	margin:0 auto;
}	
#map iframe {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
}

/* ===============================
	PC Style
=============================== */
@media print , screen and (min-width: 768px) {

	/*------ main-visual ------*/
	#main-visual{
		height:800px;
		background-image: url("images/main-visual.jpg");
	}

	/*------ バナーエリア ------*/
	#banner-area {
		padding:7em 0;
	}

	/* スライダーstyle */
	.swiper-custom-parent{
		width: 1200px;
		position: relative;
	}
	.swiper-container{
		width: 1120px;
		height: 150px;
	}
	.swiper-wrapper {
		width: 100%;
		height: 150px;
	}

	/*------ ニュースエリア ------*/
	#news .innerbox {
		width:1200px !important;
		justify-content: space-between;
	}
	#news h2 {
		width: 120px;
	}
	#news .article {
		width: 780px;
	}
	#news .article .hover.color-change {
		text-align: right;
	}
	#news .article .hover.color-change a {
		width:150px;
		font-size: 1.5rem;
		padding:0.5em 0;
		line-height: 1;
		margin-top:1em;
	}

	#news ul {
		width: 180px;
	}
	#news ul li {
		margin-bottom:1em;
	}
	#news ul .hover.color-change a {
		width:180px;
	}

	/*----- 紹介エリア -----*/
	.intro-area {
		width: 100%;
		height: 530px;
		background: url("images/intro-facility-bg.png") no-repeat;
		background-size: contain;
	}
	.intro-area.course {
		background: url("images/intro-course-bg.png") no-repeat;
		background-size: contain;
		background-position: bottom right;
	}	
	
	.intro-area .textarea {
		width:35%;
	}
	.intro-area .textarea .inner {
		width:410px;
		margin: 0 auto;
		padding-top:6em;
		padding-left:60px;
	}

	.intro-area .photo,
	.intro-area .photo >img{
		height: 530px;
		display: inline-block;
		transform-origin: 0 100%;
		overflow: hidden;
	}
	.intro-area .photo{
		transform: skew(-19deg);
		width:65%;
	}
	.intro-area .photo >img{
		transform: skew(19deg);
		width:100%;
		object-fit: cover;
	}

	.intro-area.course .textarea .inner {
		padding-left:0;
		padding-right:60px;
	}
	.intro-area.course .photo,
	.intro-area.course .photo >img{
		transform-origin: 0 0;
	}

	/*----- イベントバナー -----*/
	.event picture {
		width:1200px;
		height:300px;
	}

	/*----- アクセス -----*/
	#access .textarea {
		width:100%;
		height: 770px;
	}
	#access .textarea {
		width:40%;
	}
	#access .textarea .inner {
		width:350px;
		margin: 0 auto;
		padding-top:8em;
	}

	#access #map {
		width:60%;
		padding-bottom: 770px;
	}

}

/* ===============================
	TAB / SP Style
=============================== */
@media screen and (max-width: 767px) {
	
	/*------ main-visual ------*/
	#main-visual {
		height:110vw;
		background: url("images/main-visual_sp.jpg") no-repeat;
	}

	/*------ バナーエリア ------*/
	#banner-area {
		padding:8vw 0;
	}

	/* スライダーstyle */
	.swiper-custom-parent{
		width: 100%;
		position: relative;
	  }
	.swiper-container{
		width: 90%;
	  }

	.swiper-button-prev,
	.swiper-button-next {
		top:62%;
		width: 4vw; 
		height: 4vw; 
	}
	_:-ms-lang(x)::-ms-backdrop, .swiper-button-prev,
	_:-ms-lang(x)::-ms-backdrop, .swiper-button-next {
		top:42%; /* IEでの位置ずれ調整 */
	}
	

	/*------ ニュースエリア ------*/
	#news {
		margin:3em 0 5em;
	}
	#news .article {
		width: 100%;
	}
	#news table {
		border-top:solid 1px #C4C3C3;
		margin:2em 0;
	}
	#news ul {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top:2em;
	}
	#news ul li {
		width:48%;
	}

	/*----- 紹介エリア -----*/
	.intro-area .textarea {
		background: url("images/intro-facility-bg_sp.png") no-repeat;
		background-size: cover;
	}
	.intro-area.course .textarea {
		background: url("images/intro-course-bg_sp.png") no-repeat;
		background-size: cover;
	}	
	
	.intro-area .textarea .inner {
		padding:3em 5% 4em;
	}
	.intro-area .photo {
		width:100%;
		height: 80vw;
	}
	.intro-area .photo img {
		object-fit: cover;
		height: 80vw;
	}

	.intro-area.course .textarea {
		order: 1;
	}	
	.intro-area.course .photo{
		order: 2;
	}
	
	/* coming soon 対応 */
	.intro-area .comingsoon {
		width:100%;
		font-size:1.4rem;
	}
	
	/*----- イベントバナー -----*/
	.event {
		padding:18vw 0;
	}
	.event picture {
		width:100%;
		height: auto;
		border:solid 5px #c4b572;
	}
		
	/*----- アクセス -----*/
	#access .textarea {
		width: 100%;
		padding:3em 5% 4em;
		text-align: center;
	}
	#access .textarea p.point {
		font-size:1.8rem;
		margin-bottom:2em;
	}	

	#access #map {
		width: 100%;
		padding-bottom: 100vw;
	}	
	
}