@charset "utf-8";

/* ==================================================================

	index.css
	
=================================================================== */

/* --------------------------------
   □ root
-------------------------------- */
:root {
	--main-color: #134d9e;
	--btn-color-blue-hover: #08397c;
	--bg-color-blue: #edf1f6;
}

img{
	max-width: 100%;
}

/* --------------------------------
   □ .accent-box
-------------------------------- */
.accent-box{
	margin-top:89px;
}
.accent-box p{
	margin:0;
}
.accent-box p img{
	width:100%;
}

@media only screen and
(max-width : 640px) {
		
	/* --------------------------------
	□ .accent-box
	-------------------------------- */
	.accent-box{
		margin-top:59px;
		margin-bottom:0;
	}

}

/* --------------------------------
   □ .contents
-------------------------------- */
.contents > section{
	padding:80px 0;
}
.contents > section#schedule{
	padding-top: 40px;
}
.contents > section.bg_blue{
	background: var(--bg-color-blue);
}
.contents > section#access{
	background: url(../../images/access_bg.jpg) 50% 50% no-repeat;
	background-size: cover;
}
.contents ul.remarks{
	margin-top: 20px;
}
	.contents ul.remarks li{
		padding-left:1em;
		text-indent:-1em;
	}

@media only screen and
(max-width : 640px) {

	.contents > section{
		padding:56px 0;
	}
	.contents ul.remarks li{
		font-size: 80%;
	}
}

/* --------------------------------
   □ #schedule
   □ #transfer
-------------------------------- */
#schedule dl.schedule:not(:last-of-type),
	#transfer dl.schedule:not(:last-of-type){
	margin-bottom:28px;
}
#schedule dl.schedule dt,
	#transfer dl.schedule dt{
	color:var(--main-color);
	font-size:125%;
	margin-bottom:12px;
	font-weight: bold;
}

/* --------------------------------
   □ #campaign
-------------------------------- */
#campaign .area > section{
    border: solid 5px var(--main-color);
    border-radius: 12px;
	padding: 32px;
	box-sizing: border-box;
	background-color: #fff;

	& + section{
		margin-top: 40px;
	}
}
#campaign .area .image img{
	width: 100%;
}
#campaign .submitButton{
    text-align: center;
	margin: 24px 0 0;
}
#campaign .submitButton a{
    display: inline-block;
    position: relative;
    background: var(--main-color);
    color:#fff;
    font-size:150%;
    padding: 18px;
    width: 70%;
    border-radius: 8px;
	font-weight: bold;
}
#campaign .submitButton a:after{
    position: absolute;
    top: 50%;
    right: 3%;
    margin-top: -6px;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 10.4px;
    border-color: transparent transparent transparent #fff;
}
#campaign .submitButton a:hover{
    background: var(--btn-color-blue-hover);
    text-decoration: none;
}

@media only screen and
(max-width : 640px) {

	#campaign .area > section{
		border: solid 4px var(--main-color);
		border-radius: 8px;
		padding: 20px 16px;
	}
	#campaign .submitButton a{
		font-size:100%;
		padding: 16px;
		width: 100%;
		box-sizing: border-box;
	}
}

#campaign .lounge_campaign{
	position: relative;

	.firstcome{
		position: absolute;
		top: -16px;
		right: -76px;

		img{
			width: 100%;
			height: auto;
		}

		@media only screen and (max-width : 767px) {
			top: -24px;
			right: -4vw;
			width: 16vw;
		}

	}

	.title{
		@media screen and (max-width : 767px) {
			margin-top: 14px;
			margin-bottom: 16px;
		}
	}

	.text{
		font-size: 175%;
		margin-bottom: 24px;

		@media only screen and (max-width : 767px) {
			font-size: 100%;
			margin-bottom: 16px;
		}
	}

	.period{
		font-size: 187.5%;
		margin-bottom: 24px;
		color: var(--main-color);
		font-weight: bold;

		@media only screen and (max-width : 767px) {
			font-size: 100%;
			margin-bottom: 16px;
		}
	}

	.remarks{
		@media only screen and (max-width : 767px) {
			font-size: 84%;
		}
	}

	.images{
		@media only screen and (max-width : 767px) {
			gap: 20px;
		}
	}
}

/* --------------------------------
   □ #movie
-------------------------------- */
#movie .movie{
	width: 90%;
	margin: 0 auto;
}
#movie .movie:not(:last-of-type){
	margin-bottom: 60px;
}
#movie #youtube,
#movie #youtube2{
    width:100%;
	height: 100%;
	aspect-ratio: 16 / 9;
}
#movie .button {
    text-align: center;
}
#movie .button a{
    width:70%;
    margin:0 auto;
}

@media only screen and
(max-width : 640px) {

	#movie .movie{
		width: 100%;
	}
	#movie .movie:not(:last-of-type){
		margin-bottom: 28px;
	}
}

/* --------------------------------
   □ #reserve
-------------------------------- */
#reserve section h3{
    box-sizing:border-box;
    background:url(../../images/reserve_icon.png) 0 50% no-repeat;
    padding:13px 0 13px 69px;
    margin-bottom:30px;
    font-size:192%;
    min-height:54px;
}
#reserve section .explain{
    float:left;
    width:540px;
}
#reserve section .image{
    float:right;
    margin:0;
	width: 397px;
}

/* 
   □ #reserve1
-------------------------------- */
#reserve #reserve1 h3{
    background-image:url(../../images/reserve_icon.png);
}
#reserve #reserve1 p.text{
    font-size:114%;
}
#reserve #reserve1 p.remarks{
    margin-bottom:30px;
}
#reserve #reserve1 p.link{
    text-align:center;
	margin-top: 20px;
}
#reserve #reserve1 p.link a{
    display:block;
    background:var(--main-color);
    border-radius:8px;
    padding:20px;
    color:#fff;
    font-size:128%;
    text-decoration: none;
	font-weight: bold;
}
#reserve #reserve1 p.link a span{
    background:url(../../images/reserve1-btnicon.png) 0 50% no-repeat;
    padding-left:52px;
}
#reserve #reserve1 p.link a:hover{
    background:var(--btn-color-blue-hover);
}

@media only screen and
(max-width : 640px) {

	#reserve section h3{
		font-size:124%;
		background-size:auto 80%;
		margin-bottom:4%;
	}
	#reserve section .explain{
		float:none;
		width:auto;
	}
	#reserve section .image{
		float:none;
		width:auto;
		margin:0 0 8% 0;
	}
	
	/* 
	   □ #reserve1
	-------------------------------- */
	#reserve #reserve1 p.image{
		position:static;
		text-align:center;
		margin-bottom:6%;
	}
	#reserve #reserve1 p.image img{
		width:80%;
	}
	#reserve #reserve1 p.text{
		font-size:100%;
		margin-bottom: 0;
	}
	#reserve #reserve1 p.link {
		margin-bottom: 0;
	}
	#reserve #reserve1 p.link a{
		padding:16px;
		font-size:100%;
	}
	
}

/* --------------------------------
   □ #access
   □ #tour
-------------------------------- */
#access .drawing,
#tour .drawing{
	padding: 40px;
	background-color: #fff;
	box-sizing: border-box;
}
#tour .text{
    text-align: center;
	font-size: 120%;
	margin-bottom: 28px;
}
#access .drawing p,
	#tour .drawing p{
    text-align: center;
    margin-bottom: 0;
}
#access .drawing p.text{
    margin: 20px 0;
	font-size: 120%;
	font-weight: bold;
}
#access .button{
    text-align: center;
}
#access .button a{
    display: inline-block;
    position: relative;
    background: var(--main-color);
    color:#fff;
    font-size:128%;
    padding: 18px;
    width: 70%;
    border-radius: 8px;
	font-weight: bold;
}
#access .button a:after{
    position: absolute;
    top: 50%;
    right: 3%;
    margin-top: -6px;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 10.4px;
    border-color: transparent transparent transparent #fff;
}
#access .button a:hover{
    background: var(--btn-color-blue-hover);
    text-decoration: none;
}

@media only screen and
(max-width : 640px) {

	#access .drawing,
	#tour .drawing{
		padding: 20px;
	}
	#tour .text{
		text-align: center;
		font-size: 100%;
		margin-bottom: 20px;
	}
	#access .drawing p.text{
		margin: 20px 0;
		font-size: 100%;
		text-align: left;
	}
	#access .drawing p.text br{
		display: none;
	}
	#access .button a{
		font-size:100%;
		padding: 16px;
		width: 100%;
		box-sizing: border-box;
	}
}
