@charset "utf-8";


/*  kv-custom
--------------------------------------------------*/
.kv-custom {
	position: relative;
}
.kv-custom-box{
	position: relative;
	width: 100%;
}
.kv-custom-cnt{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	opacity: 0;
	filter: blur(5px);
	transition: opacity .1s .5s,filter .1s .5s;
}
.loaded .kv-custom-cnt{
	opacity: 1;
	filter: blur(0);
}
@media screen and (max-width: 768px){
}





/*  contents-wrapper
--------------------------------------------------*/
.contents-wrapper{
	position: relative;
	padding-bottom: 200px;
}
.contents-wrapper:before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: calc(15 / 1500 * 100%);
	height: 100%;
	background-color: rgba(35, 24, 21, .75);
	z-index: 1;
}
.icon-time{
	position: absolute;
	left: calc(15 / 1500 * 100%);
	top: 0;
	width: calc(125 / 1500 * 100%);
	z-index: 2;
}
.icon-time-last{
	top: auto;
	bottom: 0;
}
.icon-star{
	width: 140px;
	margin: 0 auto 60px;
}
@media screen and (max-width: 768px){
	.contents-wrapper{
		padding-bottom: 100px;
	}
	.contents-wrapper:before{
		width: calc(5 / 380 * 100%);
	}
	.icon-time{
		left: calc(5 / 380 * 100%);
		width: calc(60 / 380 * 100%);
	}
	.icon-star{
		width: 92px;
		margin: 0 auto 30px;
	}
}





/*  l-intro
--------------------------------------------------*/
.l-intro{
	position: relative;
	background-color: #e4e0d1;
	margin-bottom: 120px;
}
.intro-inner{
	max-width: 1500px;
	width: 100%;
	margin: 0 auto;
}
@media screen and (max-width: 768px){
	.l-intro{
		margin-bottom: 60px;
	}
	.intro-inner{
		max-width: 560px;
	}
}




/*  point1
--------------------------------------------------*/
.l-point {
	position: relative;
}
.l-point + .l-point{
	margin-top: 150px;
}
.point1-time1 {	
	width: calc(125 / 1008 * 100%);
	left: calc(-231 / 1008 * 100%);
	top: 0;
}
.point1-time2 {
	width: calc(125 / 1008 * 100%);
	left: calc(-231 / 1008 * 100%);
	top: 22%;
}
.point-inner {
	margin: 0 calc(100 / 1500 * 100%);
	padding-bottom: calc(40 / 1500 * 100%);
	box-sizing: border-box;
	background-color: #6f7c90;
}
.point-cnt {
}
.point-head {
	position: relative;
	width: calc(1280 / 1300 * 100%);
	margin: 0 auto;
	padding-top: calc(10 / 1300 * 100%);
}
.point-list {
	width: calc(1220 / 1300 * 100%);
	margin: calc(40 / 1300 * 100%) auto 0;
	padding-bottom: calc(100 / 1300 * 100%);
	border-radius: 20px;
	background-color: #f5fbfe;
}
.point-list__ttl {
	font-size: 3.333333333333333vw;
	line-height: 1.6;
	letter-spacing: .1em;
	color: #00476d;
	font-weight: 500;
	text-align: center;
	padding-top: calc(20 / 1220 * 100%);
	margin-bottom: calc(27 / 1220 * 100%);
}
.point-list__ttl i{
	font-size: 1.76em;
}
.point-list__item {
	position: relative;
	width: calc(1020 / 1220 * 100%);
	padding-top: calc(35 / 1220 * 100%);
	margin: 0 auto;
	border: solid 0.4vw #00476d;
	box-sizing: border-box;
	background-color: #ffffff;
}
.point-list__item +.point-list__item {
	margin-top: calc(40 / 1220 * 100%);
}
.point-list__item__heading {
	position: relative;
	width: calc(920 / 1008 * 100%);
	font-size: 2.933333333333333vw;
	line-height: 1.363636363636364;
	letter-spacing: .1em;
	font-weight: 500;
	text-align: center;
	padding-bottom: calc(35 / 1008 * 100%);
	margin: 0 auto;
}
.point-list__item__heading:after{
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	width: 100%;
	height: 1px;
	background : linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.14) 6.88%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0.14) 93.12%, rgba(0, 0, 0, 0) 100%);
}
.point-list__item__img{
	position: relative;
}
@media screen and (max-width: 768px){
	.l-point + .l-point{
		margin-top: 80px;
	}
	.point1-time1 {	
		width: calc(60 / 274 * 100%);
		left: calc(-48 / 274 * 100%);
		top: -30%;
	}
	.point1-time2 {
		width: calc(60 / 274 * 100%);
		left: calc(-48 / 274 * 100%);
		top: 15%;
	}
	.point-inner {
		margin: 0 calc(20 / 380 * 100%);
		padding-bottom: calc(10 / 380 * 100%);
	}
	.point-cnt {
	}
	.point-head {
		width: calc(320 / 340 * 100%);
		padding-top: calc(10 / 340 * 100%);
	}
	.point-list {
		width: calc(320 / 340 * 100%);
		margin: calc(10 / 340 * 100%) auto 0;
		padding-bottom: calc(40 / 340 * 100%);
		border-radius: 10px;
	}
	.point-list__ttl {
		font-size: 5.263157894736842vw;
		padding-top: calc(20 / 320 * 100%);
		margin-bottom: calc(15 / 320 * 100%);
	}
	.point-list__ttl i{
	}
	.point-list__item {
		width: calc(280 / 320 * 100%);
		padding-top: calc(20 / 320 * 100%);
		border: solid 0.789473684210526vw #00476d;
	}
	.point-list__item +.point-list__item {
		margin-top: calc(20 / 320 * 100%);
	}
	.point-list__item__heading {
		width: calc(240 / 274 * 100%);
		font-size: 5vw;
		padding-bottom: calc(15 / 274 * 100%);
	}
	.point-list__item3 .point-list__item__img{
		width: calc(240 / 274 * 100%);
		margin: 0 auto calc(25 / 274 * 100%);
		overflow-x: scroll;
	}
	.point-list__item3 .point-list__item__img img{
		max-width: 552px;
		width: 552px;
	}

}









/*  point2
--------------------------------------------------*/
.point2-time1 {	
	width: calc(125 / 1280 * 100%);
	left: calc(-95 / 1280 * 100%);
	top: auto;
	bottom: 5%;
}
.point2-time2 {
	width: calc(125 / 1220 * 100%);
	left: calc(-125 / 1220 * 100%);
	top: 53%;
}
.point2 .point-inner {
	background-color: #8b4757;
}
.point2-contents {
	position: relative;
	width: calc(1220 / 1300 * 100%);
	margin: calc(40 / 1300 * 100%) auto 0;
	padding-bottom: calc(100 / 1300 * 100%);
	border-radius: 20px;
	background: url(../img/pc/bg_point2.jpg) repeat left top /400px;
}
.point2-contents__ttl {
	font-size: 3.333333333333333vw;
	line-height: 1.5;
	letter-spacing: .1em;
	color: #4f202d;
	font-weight: 500;
	text-align: center;
	padding-top: calc(40 / 1220 * 100%);
	margin-bottom: calc(27 / 1220 * 100%);
}
.point2-contents__ttl i{
	font-size: 1.44em;
}
.point2-map {
	position: relative;
	width: calc(1100 / 1220 * 100%);
	margin: 0 auto calc(120 / 1220 * 100%);
}
.point2-map__img{
	margin-top: 30px;
}
.point2-facility{
	position: relative;
	width: calc(860 / 1220 * 100%);
	margin: 0 auto;
}
.point2-facility-list{
	width: 100%;
}
.point2-facility-item{
	width: calc(400 / 860 * 100%);
}
.point2-facility-item:nth-of-type(n + 3){
	margin-top: calc(60 / 860 * 100%);	
}
.point2-facility-img{
	position: relative;
}
.point2-facility-ttl{
	font-size: 1.333333333333333vw;
	line-height: 1;
	letter-spacing: .15em;
	margin-top: calc(-15 / 400 * 100%);
}
@media screen and (max-width: 768px){
	.l-point {
	}
	.point2-time1 {	
		width: calc(60 / 320* 100%);
    	left: calc(-25 / 320* 100%);
	}
	.point2-time2 {
		width: calc(60 / 320* 100%);
    	left: calc(-25 / 320* 100%);
		top: 26%;
	}
	.point2-contents {
		width: calc(320 / 340 * 100%);
		margin: calc(10 / 340 * 100%) auto 0;
		padding-bottom: calc(40 / 340 * 100%);
		border-radius: 10px;
	}
	.point2-contents__ttl {
		font-size: 5.263157894736842vw;
		padding-top: calc(20 / 320 * 100%);
		margin-bottom: calc(15 / 320 * 100%);
	}
	.point2-map {
		width: calc(280 / 320 * 100%);
		margin: 0 auto calc(60 / 320 * 100%);
	}
	.point2-map__img{
		margin-top: 15px;
	}
	.point2-facility{
		width: calc(260 / 320 * 100%);
	}
	.point2-facility-list{
	}
	.point2-facility-item{
		width: 100%;
	}
	.point2-facility-item + .point2-facility-item,
	.point2-facility-item:nth-of-type(n + 3){
		margin-top: calc(35 / 260 * 100%);	
	}
	.point2-facility-img{
	}
	.point2-facility-ttl{
		font-size: 3.684210526315789vw;
		letter-spacing: .1em;
		margin-top: calc(-5 / 260 * 100%);
	}
}







/*  point3
--------------------------------------------------*/
.point3-time1 {	
	width: calc(125 / 1280 * 100%);
	left: calc(-95 / 1280 * 100%);
	top: 10%;
}
.point3-time2 {
	width: calc(125 / 1220 * 100%);
	left: calc(-125 / 1220 * 100%);
	top: 50%;
}
.point3-time3 {
	width: calc(125 / 1220 * 100%);
	left: calc(-125 / 1220 * 100%);
	top: 87%;
}
.point3 .point-inner {
	background-color: #c2aa86;
}
.point3-contents {
	position: relative;
	width: calc(1220 / 1300 * 100%);
	margin: calc(40 / 1300 * 100%) auto 0;
	padding-bottom: calc(100 / 1300 * 100%);
	border-radius: 20px;
	background: #fff
}
.point3-contents__ttl {
	font-size: 3.333333333333333vw;
	line-height: 1.5;
	letter-spacing: .1em;
	color: #5b3517;
	font-weight: 500;
	text-align: center;
	padding-top: calc(40 / 1220 * 100%);
	margin-bottom: calc(27 / 1220 * 100%);
}
.point3-contents__ttl i{
	font-size: 1.44em;
}
.point3-library {
	position: relative;
}
.point3-info {
	margin-top: calc(40 / 1220 * 100%);
}
.point3-info__en {
	font-size: 2.4vw;
	line-height: 1;
	letter-spacing: .1em;
	text-align: center;
	margin-bottom: calc(15 / 1220 * 100%);
}
.point3-info__ttl {
	font-size: 1.733333333333333vw;
	line-height: 1;
	letter-spacing: .15em;
	text-align: center;
}
.point3-party {
	position: relative;
	margin-top: calc(90 / 1220 * 100%);
}
.point3-list {
	position: relative;
	margin-top: calc(110 / 1220 * 100%);
}
.point3-list ul{
	width: calc(860 / 1220 * 100%);
	margin: 0 auto;
}
.point3-list__item {
	width: calc(400 / 860 * 100%);
}
.point3-list__item:nth-of-type(n + 3){
	margin-top: calc(60 / 860 * 100%);
}
.point3-list__box {
	margin-top: calc(25 / 400 * 100%);
	text-align: center;
}
.point3-list__box__p1 {
	position: relative;
	font-size: 1.6vw;
	letter-spacing: .15em;
	line-height: 1;
	padding-bottom: 20px;
	margin-bottom: 20px;
}
.point3-list__box__p1:after{
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background : linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.14) 6.88%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 0.14) 93.12%, rgba(0, 0, 0, 0) 100%);
}
.point3-list__box__p2 {
	font-size: 1.6vw;
	letter-spacing: .15em;
	line-height: 1;
	color: #740003;
}

@media screen and (max-width: 768px){
	.point3-time1 {	
		width: calc(60 / 320* 100%);
    	left: calc(-25 / 320* 100%);
    	top: 15%;
	}
	.point3-time2 {
		width: calc(60 / 320* 100%);
    	left: calc(-25 / 320* 100%);
		top: 40%;
	}
	.point3-time3 {
		width: calc(60 / 320* 100%);
    	left: calc(-25 / 320* 100%);
		top: 100%;
	}
	.point3-contents {
		width: calc(320 / 340 * 100%);
		margin: calc(10 / 340 * 100%) auto 0;
		padding-bottom: calc(40 / 340 * 100%);
		border-radius: 10px;
	}
	.point3-contents__ttl {
		font-size: 5.263157894736842vw;
		padding-top: calc(20 / 320 * 100%);
		margin-bottom: calc(15 / 320 * 100%);
	}
	.point3-info {
		margin-top: calc(15 / 340 * 100%);
	}
	.point3-info__en {
		font-size: 4.210526315789474vw;
		line-height: 1.375;
		margin-bottom: calc(9 / 340 * 100%);
	}
	.point3-info__ttl {
		font-size: 3.157894736842105vw;
	}
	.point3-party {
		margin-top: calc(40 / 320 * 100%);
	}
	.point3-list {
		margin-top: calc(70 / 320 * 100%);
	}
	.point3-list ul{
		width: calc(260 / 320 * 100%);
	}
	.point3-list__item {
		width: 100%;
	}
	.point3-list__item + .point3-list__item,
	.point3-list__item:nth-of-type(n + 3){
		margin-top: calc(40 / 260 * 100%);
	}
	.point3-list__box {
		margin-top: calc(15 / 260 * 100%);
	}
	.point3-list__box__p1 {
		font-size: 3.684210526315789vw;
		padding-bottom: 8px;
		margin-bottom: 8px;
	}
	.point3-list__box__p2 {
		font-size: 3.684210526315789vw;
	}
}









/*  l-information
--------------------------------------------------*/
.l-information {
	position: relative;
	width: 100%;
	height: 470px;
	display: flex;
	justify-content: center;
	align-content: center;
	flex-direction: column;
	background: url(../img/pc/bg_information.jpg) no-repeat center center/cover;
}
.information-ttl {
    width: 162px;
    line-height: 1;
    margin: 0 auto 3.8rem;
}
.information-raised {
    font-size: 4.0rem;
 	line-height: 1.6;
    letter-spacing: .1em;
    color: #fff;
    text-align: center;
    margin-bottom: 3.0rem;
}
.information-btnBox{
	width: min(100%,770px);
	margin: 0 auto;
}
.information-btnBox.one{
	width: min(100%,360px);
}
.information-btnBox .btn{
	display: block;
	width: calc(360 / 770 * 100%);
	font-size: 24px;
	line-height: 1;
	color: #fff;
	letter-spacing: .18em;
	text-align: center;
	padding: 26px 0 30px;
	transition: color .3s,background-color .3s;
}
.information-btnBox.one .btn{
	width: min(100%,360px);
}
.information-btnBox .reserveBtn{
	background-color: #BD525F;
}
.information-btnBox .reserveBtn:hover{
	color: #BD525F;
	background-color: #fff;
}
.information-btnBox .requestBtn{
	background-color: #a5956c;
}
.information-btnBox .requestBtn:hover{
	color: #a5956c;
	background-color: #fff;
}
@media screen and (max-width: 768px){
	.l-information {
		height: 41.7rem;
	}
	.information-raised {
		font-size: 2.7rem;
		margin-bottom: 2.5rem;
	}
	.information-ttl {
	    width: 126px;
	    margin-bottom: 2.0rem;
	}
	.information-btnBox{
		width: min(100%,270px);
	}
	.information-btnBox.one{
		width: min(100%,270px);
	}
	.information-btnBox .btn{
		width: 100%;
		font-size: 18px;
		padding: 19px 0 23px;
	}
	.information-btnBox .btn + .btn{
		margin-top: 20px;
	}
	.information-btnBox.one .btn{
		width: min(100%,270px);
	}
}










