/* CSS Document */

/* TOP
------------------------------------------------------------*/

img{
	width:100%;
	height:auto;	
}

#navi{
	width:11%;
	height:100vh;
	position:fixed;
	left:0;
	top:0;	
	z-index:11;
}

#navi h1{
	width:8.3vw;
	margin:0 auto;	
}

#navi p{
	font-size:1.08vw;
	margin-top:4.1vw;	
}

#navi p a{
	color:#000;
	display:inline-block;
	text-decoration:none;
	position:relative;
}

#navi p a:hover:before,
#navi p a.active:before{
	content:"";
	display:block;
	background:#000;
	width:100%;
	height:1px;
	position:absolute;
	left:0;
	bottom:-0.3vw;
}

#navi .inner{
	text-align:center;
	position:absolute;
	width:100%;
	top:50%;
	transform:translateY(-50%);	
}

#contents{
	width:89%;
	float:right;
}

#main{
	width:100%;
	height:100vh;	
	position:relative;
}

#main ul.slide li{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100vh;
	background:url(../images/slide01.jpg?v20240416) no-repeat center center;
	background-size:cover !important;	
	transition: all 1s;
	opacity:0;
	z-index:1;
}

#main ul.slide li:nth-child(1){
	position:relative;
}

#main ul.slide li.active{
	opacity:1;
	z-index:5;	
}

#main ul.slide li:nth-child(2){
	background:url(../images/slide02.jpg?v20240416) no-repeat center center;	
}
#main ul.slide li:nth-child(3){
	background:url(../images/slide03.jpg?v20240416) no-repeat center center;	
}
#main ul.slide li:nth-child(4){
	background:url(../images/slide04.jpg?v20240416) no-repeat center center;	
}
#main ul.slide li:nth-child(5){
	background:url(../images/slide05.jpg?v20240416) no-repeat center center;	
}
#main ul.slide li:nth-child(6){
	background:url(../images/slide06.jpg?v20240416) no-repeat center center;	
}

#main ul.pager{
	position:absolute;	
	right:4vw;
	bottom:1vw;
	z-index:10;
}

#main ul.pager li{
	display:inline-block;	
	width:8.3vw;
}

#main ul.pager li a{
	display:block;
	height:5px;
	background:#FFF;	
}

#main ul.pager li a.active{
	background:#1e489d;	
}

@media screen and (max-width: 768px) {
	
	#navi{
		width:100%;
		height:auto;
		position:fixed;
		left:0;
		top:0;
		text-align:center;
		background:#FFF;
	}
	
	#navi h1{
		width:21vw;
		margin:0 auto;	
		padding:2vw 0;
	}
	
	#navi p{
		font-size:3.6vw;
		margin-top:0;
		position:absolute;
		top:50%;
		transform:translateY(-50%);
		right:5vw;
	}
	
	#navi p a{
		display:inline-block;
		text-decoration:none;
	}
	
	#navi p a:hover:before,
	#navi p a.active:before{
		content:"";
		display:block;
		background:#000;
		width:100%;
		height:1px;
		position:absolute;
		left:0;
		bottom:-1vw;
	}
	
	#navi .inner{
		text-align:center;
		position:relative;
		width:100%;
		top:auto;
		transform:none;	
	}
	
	#contents{
		width:100%;
		float:none;
	}
	
	#main{
		width:100%;
		height:100vh;	
	}
	
	#main ul.slide li{
		height:100vh;
		background:url(../images/slide01_sp.jpg?v20240416) no-repeat center center;
		background-size:cover;	
	}
	
	#main ul.slide li:nth-child(2){
		background:url(../images/slide02_sp.jpg?v20240416) no-repeat center center;	
	}
	#main ul.slide li:nth-child(3){
		background:url(../images/slide03_sp.jpg?v20240416) no-repeat center center;	
	}
	#main ul.slide li:nth-child(4){
		background:url(../images/slide04_sp.jpg?v20240416) no-repeat center center;	
	}
	#main ul.slide li:nth-child(5){
		background:url(../images/slide05_sp.jpg?v20240416) no-repeat center center;	
	}
	#main ul.slide li:nth-child(6){
		background:url(../images/slide06_sp.jpg?v20240416) no-repeat center center;	
	}
}

.ib {
	display: inline-block;
}

.block01{
	height:100vh;
	background:url(../images/bg_block01.jpg?v20240423) no-repeat center center;
	background-size:cover;
	position:relative;
}

.block01 .inner{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	text-align:center;
	width:100%;
}

.block01 .inner h2{
	font-size:1.66vw;
	color: rgb(30, 72, 157);
	line-height: 1.55;
	text-align: center;
}

.block01 .inner p{
	font-size: 1vw;
	color: rgb(0, 0, 0);
	line-height: 2.583;
	text-align: center;		
	margin-top:2.2vw;
}

.block02{
	width:100%;
	background:url(../images/bg_block02.png) no-repeat left top;
	background-size:cover;
	padding-bottom:6.25vw;
}

.block02 h3{
	text-align:center;
	font-size:1.66vw;
	padding-top:6.25vw;
	color:#1e489d;	
}

.block02 ul{
	width:76vw;
	margin:4.1vw auto 0;	
}

.block02 ul li{
	width:30%;
	float:left;	
	margin-right:5%;
}

.block02 ul li:last-child{
	margin-right:0;	
}

.block02 ul li{
	text-align:center;
	font-size: 1vw;
	color: rgb(1, 1, 1);
	line-height: 1.667;
	text-align: center;	
}

.block02 ul li h4{
	font-size:1.5vw;
	margin:1.7vw 0 0.8vw;	
}

.block03{
	background:url(../images/bg_block03.jpg) no-repeat center top;
	background-size:contain;	
	margin-top:4vw;
	margin-bottom:4.75vw;
}

.block03 h2{
	width:33vw;
	margin:0 auto;	
	padding-top:9.58vw;
}

.en .block03 h2{
	width:41vw;	
}

.block03 ul{
	width:77vw;
	margin:6.6vw auto 0;	
}

.block03 ul li{
	width:30%;
	float:left;
	margin-right:5%;
	position:relative;
}

.block03 ul li .inner{
	position:absolute;
	width:100%;
	height:100%;
	z-index:10;
	background:#1e489d;
	left:0;
	top:0;
	opacity:0;
	transition: all 0.4s;
}

.block03 ul li:hover .inner{
	opacity:1;	
}

.block03 ul li .inner p{
	width:100%;
	position:absolute;
	text-align:center;
	top:50%;
	transform:translateY(-50%);
	font-size: 1vw;
	color: rgb(255, 255, 255);
	line-height: 2.583;	
	left:0 !important;
	bottom:auto !important;
}

.block03 ul li:last-child{
	margin-right:0;	
}

.block03 ul li p{
	font-size: 1.25vw;
	color: rgb(255, 255, 255);
	line-height: 1.533;		
	position:absolute;
	left:5.8vw;
	bottom:1vw;
}

.en .block03 ul li > p{
	bottom:0.5vw;
}	

.block03 ul li:nth-child(1) p{
	left:5vw;
}

.en .block03 ul li:nth-child(3) p{
	bottom:1vw;
}

.block04{
	background:url(../images/bg_block04.jpg?v20240423) no-repeat center top;
	background-size:contain;
	padding-bottom:7vw;
}

.block04 h2{
	width:27vw;
	margin:0 auto;
	padding-top:9.58vw;	
}

.block04 .inner{
	background-color: rgba(255, 255, 255, 0.902);
	width: 66.6vw;
	margin:7.9vw auto 0;
	padding:4.16vw;
	box-sizing:border-box;
	position:relative;
}

.block04 .inner h3{
	font-size:1.16vw;
	font-weight:normal;
	border-bottom:solid 1px #d5d5d5;
	padding-bottom:0.7vw;
	margin-top:2.7vw;
}

.block04 .inner h3.top{
	margin-top:0;	
}

.block04 .inner p{
	font-size:1vw;
	margin-top:0.8vw;	
}

.block04 .inner p.caution{
	font-size:0.75vw;
	position:absolute;
	left:1.5vw;
	bottom:1vw;
}

.block04 .inner p span{
	font-size:0.75vw;	
}

.block04 .inner .inner_l,
.block04 .inner .inner_r{
	width:26.6vw;
	float:left;
}

.block04 .inner .inner_r{
	float:right;
}

.block05{
	background:#f0f0f0;
	padding:3.3vw;	
}

.block05 > ul{
	width:82.5vw;
	margin:0 auto;	
}

.block05 > ul > li{
	width:32%;
	float:left;
	margin-right:2%;
}

.block05 > ul > li:last-child{
	margin-right:0;	
}

.block05 .priceBox {
	/* background: url(../images/block05_image01_bg.jpg); */
	position: relative;
}
.block05 .priceBox_inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	font-size: 1.5vw;
	font-weight: bold;
	line-height: 1.2;
	justify-content: center;
	height: 100%;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 72%;
}
.block05 .priceBox_inner .icon {
	width: 18%;
}
.block05 .priceBox_inner .title {
	font-size: 1.8vw;
	text-align: center;
}
.block05 .priceBox_inner ul {
	width: 100%;
}
.block05 .priceBox_inner li {
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.block05 .priceBox_inner .small {
	font-size: 1.15vw;
}
.block05 .priceBox_inner .note {
	margin-top: 0.2em;
}
.block05 .priceBox_inner .note li {
	display: block;
	font-size: 1.3vw;
	text-align: center;
}

#footer{
	background:url(../images/bg_footer.jpg) no-repeat left top;
	background-size:cover;
	padding:14.1vw 0 4.1vw;	
	text-align:center;
}

#footer .logo{
	width:21.9vw;
	margin:0 auto;	
}

#footer .txt{
	font-size: 1vw;
	color: rgb(0, 0, 0);
	line-height: 2.083;
	text-align: center;
	margin-top:2vw;
}

#footer small{
	font-size: 1vw;
	display:block;
	margin-top:7.5vw;	
}

.page_top{
	width:3vw;
	position:fixed;
	right:1vw;
	bottom:5vw;
	z-index:100;
}

@media screen and (max-width: 768px) {
	
	.page_top{
		width:10vw;
		position:fixed;
		right:1vw;
		bottom:15vw;
		z-index:100;
	}
	
	.block01{
		height:auto;
		background:url(../images/bg_block01_sp.jpg?v20240423) no-repeat center center;
		background-size:cover;
		position:relative;
		padding:21vw 0 19vw;
	}
	
	.block01 .inner{
		position:relative;
		top:auto;
		transform:none;
		text-align:center;
		width:100%;
	}
	
	.block01 .inner h2{
		font-size:4.6vw;
	}
	
	.block01 .inner p{
		font-size: 3.4vw;
		margin-top:3vw;
		line-height:1.8;
	}
	
	.block02{
		width:100%;
		background:url(../images/bg_block02.png) no-repeat left top;
		background-size:cover;
		padding:10vw 0;
	}
	
	.block02 h3{
		text-align:center;
		font-size:4.8vw;
		padding-top:0;	
	}
	
	.block02 ul{
		width:80vw;
		margin:8vw auto 0;	
	}
	
	.block02 ul li{
		width:100%;
		float:none;	
		margin-right:0%;
		margin-bottom:5vw;
	}
	
	.block02 ul li img{
		width:60vw;	
	}
	
	.block02 ul li:last-child{
		margin-right:0;	
	}
	
	.block02 ul li{
		text-align:center;
		font-size: 3.4vw;
	}
	
	.block02 ul li h4{
		font-size:4.2vw;
		margin:4vw 0 2vw;	
	}
	
	.block03{
		background:url(../images/bg_block03_sp.jpg) no-repeat center top;
		background-size:contain;	
	}
	
	.block03 h2{
		width:60vw;
		margin:0 auto;	
		padding-top:25vw;
	}
	
	.en .block03 h2{
		width:80vw;
		margin:0 auto;	
		padding-top:21vw;	
	}
	
	.block03 ul{
		width:80vw;
		margin:8vw auto 0;	
	}
	
	.block03 ul li{
		width:100%;
		float:none;
		margin-right:0%;
		margin-bottom:5vw;
		position:relative;
	}
	
	
	
	.block03 ul li:last-child{
		margin-right:0;	
	}
	
	.block03 ul li .inner{
		position:relative;
		width:100%;
		height:100%;
		z-index:10;
		background:#1e489d;
		left:auto;
		top:auto;
		opacity:1;
		transition:none;
		padding:6vw 0;
	}
	
	
	.block03 ul li .inner p{
		width:100%;
		position:relative;
		text-align:center;
		top:auto;
		transform:none;
		font-size: 3.4vw;
		color: rgb(255, 255, 255);
		line-height: 2.583;	
		left:none !important;
		bottom:none !important;
	}
	
	
	
	.block03 ul li > p{
		font-size: 4.5vw;
		color: rgb(255, 255, 255);
		line-height: 1.533;		
		position:absolute;
		left:20vw;
		top:82vw;
		bottom:auto !important;
	}
	
	
	
	.block03 ul li:nth-child(1) > p{
		left:15vw;
		top:80vw;
	}
	
	.en .block03 ul li > p{
		top:77vw;
	}
	
	.en .block03 ul li:nth-child(3) > p{
		top:80vw;
	}
	
	.block04{
		background:url(../images/bg_block04_sp.jpg?v20240423) no-repeat center top;
		background-size:cover;
		margin-top:8.75vw;
		padding-bottom:7vw;
	}
	
	.block04 h2{
		width:60vw;
		margin:0 auto;
		padding-top:21vw;	
	}
	
	.block04 .inner{
		background-color: rgba(255, 255, 255, 0.902);
		width: 80vw;
		margin:10vw auto 0;
		padding:5vw 5vw 10vw;
		box-sizing:border-box;
		position:relative;
	}
	
	.block04 .inner h3{
		font-size:3.8vw;
		padding-bottom:0.7vw;
		margin-top:2.7vw;
	}
	
	.block04 .inner h3.top{
		margin-top:0;	
	}
	
	.block04 .inner p{
		font-size:3.4vw;
		margin-top:0.8vw;	
	}
	
	.block04 .inner p.caution{
		font-size:3vw;
		position:absolute;
		left:3vw;
		bottom:2vw;
	}
	
	.block04 .inner p span{
		font-size:3vw;	
	}
	
	.block04 .inner .inner_l,
	.block04 .inner .inner_r{
		width:100%;
		float:none;
	}
	
	.block04 .inner .inner_r{
		float:none;
	}
	
	.block05{
		background:#f0f0f0;
		padding:5vw;	
	}
	
	.block05 > ul{
		width:100%;
		margin:0 auto;	
	}
	
	.block05 > ul > li{
		width:100%;
		float:none;
		margin-right:0%;
		padding-bottom:5vw;
	}
	
	.block05 > ul > li:last-child{
		margin-right:0;	
	}

	.block05 .priceBox_inner .title {
		font-size: 5vw;
	}

	.block05 .priceBox {
		padding-top: 3vw;
	}
	.block05 .priceBox_inner {
		font-size: 4.5vw;
		line-height: 1.4;
		width: 64%;
	}

	.block05 .priceBox_inner .small {
		font-size: 3.5vw;
	}

	.block05 .priceBox_inner .note li {
		font-size: 4vw;
	}

	#footer{
		background:url(../images/bg_footer_sp.jpg) no-repeat left top;
		background-size:cover;
		padding:8vw 0 5vw;	
		text-align:center;
	}
	
	#footer .logo{
		width:70vw;
		margin:0 auto;	
	}
	
	#footer .txt{
		font-size: 3.2vw;
		color: rgb(0, 0, 0);
		line-height: 2.083;
		text-align: center;
		margin-top:4vw;
	}
	
	#footer small{
		font-size: 3vw;
		display:block;
		margin-top:4.5vw;	
	}
}

/*TOP------------------------------------------------------------*/

/* TOP
------------------------------------------------------------*/

.op0{
	opacity:0;	
}

.op0.active{
	opacity:1;
	transition: all 0.4s;
}

.delay2{
	transition-delay: 200ms  !important;
}
.delay4{
	transition-delay: 400ms  !important;
}
.delay6{
	transition-delay: 600ms  !important;
}

@media screen and (max-width: 768px) {
	.delay2{
		transition-delay: 0ms  !important;
	}
	.delay4{
		transition-delay: 0ms  !important;
	}
	.delay6{
		transition-delay: 0ms  !important;
	}
}

/*TOP------------------------------------------------------------*/