@charset "utf-8";



/* ===========================================================

	header

=========================================================== */
header{
	background:rgba(255,255,255,0.85);
}
header.scroll{
	background:rgba(255,255,255,0.95);
	box-shadow: 0 0 10px rgba(0,0,0,0.5);
}



/* ===========================================================

	titlearea

=========================================================== */
div#kv{
	background:url("../images/kv.jpg") no-repeat 50% 40% / cover;
}
div#kv div{
	width:940px;
	margin:0 auto;
	padding:250px 30px 150px 30px;
}
div#kv div p{
	width:370px;
	margin:0 0 30px 0;
	color:#fff;
	font-size:42px;
	font-weight:bold;
	text-indent: -24px;
	line-height:1.5;
}
div#kv div p span{
	display: inline-block;
	font-size:72px;
	margin-right:-30px;
}
div#kv div p + p{
	display: block;
	margin:0;
	font-size:24px;
	font-weight:normal;
	text-indent:inherit;
}



/* ===========================================================

	section

=========================================================== */
section{
	position: relative;
	z-index: 1
}


/* top bana - 2022/04/20.
------------------------------------------------------------ */
section#s01 > a#topbana01{
	display:block;
	margin:50px auto;
	width:700px;
}
section#s01 > a#topbana01 > img{
	width:700px;
}
@media screen and (max-width: 824px){
	section#s01 > a#topbana01{
		margin:2em auto;
		width:80vw;
	}
	section#s01 > a#topbana01 > img{
		width:80vw;
	}
}


/* news pickup
------------------------------------------------------------ */
section:nth-of-type(1) > div{
	display: flex;
	width:1000px;
	margin:50px auto;
}
section:nth-of-type(1) > div > div{
	width:50%;
	box-sizing: border-box;
}
section:nth-of-type(1) > div > div h2{
	margin:0 0 1em 0;
	font-size:24px;
	font-weight:bold;
}
section:nth-of-type(1) > div > div:nth-of-type(1){
	padding:20px 20px 20px 0;
}
section:nth-of-type(1) > div > div:nth-of-type(1) dl{
	display: flex;
	margin:0;
	padding:0 0 0.5em 0;
	line-height:1.5;
	border-bottom:1px #666 dotted;
	flex-wrap: wrap;
}
section:nth-of-type(1) > div > div:nth-of-type(1) dt{
	width:100px;
	margin:0.5em 0 0 0;
	padding:0.5em 0 0 0;
	border-top:1px #666 dotted;
}
section:nth-of-type(1) > div > div:nth-of-type(1) dd{
	width:380px;
	margin:0.5em 0 0 0;
	padding:0.5em 0 0 0;
	border-top:1px #666 dotted;
}

section:nth-of-type(1) > div > div:nth-of-type(2){
	padding:20px 0 36px 20px;
}
section:nth-of-type(1) > div > div:nth-of-type(2) h2{
	margin:0 0 32px 0;
}
section:nth-of-type(1) > div > div:nth-of-type(2) a.bnr_dxlab:after{
	width:50%;
	background:url("../images/img_pickup_dxlab.png") no-repeat -120% 100% / cover;
}


/* columnLink
------------------------------------------------------------ */
section:nth-of-type(1) > section{
	width: 1000px;
	margin: 50px auto 80px auto;
	box-sizing: border-box;
}
section:nth-of-type(1) > section > h2{
	margin: 0 0 32px 0;
	font-size: 24px;
	font-weight: bold;
}
section:nth-of-type(1) > section > div{
	display: flex;
	margin-top:0;
	justify-content: space-between;
	flex-wrap: wrap;
}
section:nth-of-type(1) > section > div a{
	display: flex;
	width:49%;
	margin-bottom:2%;
	padding:10px 15px 10px 10px;
	text-decoration: none;
	background: #fff;
	align-items: center;
	box-sizing: border-box;
	box-shadow: 1px 1px 7px #ccc;
}
section:nth-of-type(1) > section > div a:after{
	content: "\f2d2";
	display: block;
	padding-left:15px;
}
section:nth-of-type(1) > section > div a img{
	display: block;
	width:75px;
	margin-right:15px;
	flex-shrink: 0;
}
section:nth-of-type(1) > section > div a p{
	display: flex;
	line-height:1.5;
	align-items: center;
}
section:nth-of-type(1) > section > div a:hover p{
	text-decoration: underline;
}


/* blueback
------------------------------------------------------------ */
section#s02 {
	padding:10vh 0 12vh 0;
	background:#0185cf;
	color:#fff;
	text-align: center;
	background:url("../images/bg02.jpg") no-repeat 50% 100% / cover;

	h2{
		margin:1em 0 2em 0;
		font-size:36px;
		font-weight:bold;
	}
	p{
		font-size:18px;
		line-height:2;
	}

}


/* 欲しい３つ
------------------------------------------------------------ */
section#s03 > div{
	width:1000px;
	margin:70px auto;

	& h2{
		margin: 0;
		font-size:36px;
		font-weight:bold;
		text-align: center;
	}
	& > p{
		font-size:30px;
		text-align: center;
		line-height:1.5;
	}
	& > div{
		display: flex;
		margin: 50px 0;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	& > div > div{
		display: block;
		width:320px;
		text-align: center;
	}
	& > div > div h3{
		font-size:36px;
		font-weight:bold;
	}
	& > div > div h3 span{
		display: block;
		width:50px;
		margin:15px auto 5px auto;
		padding:0 2px 4px 2px;
		color:#fff;
		font-size:48px;
		font-weight:bold;
		border-radius: 100px;
		background:#0185cf;
	}
	& > div > div img{
		display: block;
		width:100%;
		margin:30px 0;
	}
	& > div > div p{
		font-size:16px;
		line-height:1.5;
	}

}


/* photobg
------------------------------------------------------------ */
section:nth-of-type(n+3){
	display: flex;
	padding:120px 0;
	line-height:1.5;
}
section:nth-of-type(n+3) div{
	width:50%;
	background:rgba(255,255,255,0.85);
	overflow: hidden;
}
section:nth-of-type(n+3) div > div{
	width:440px;
	padding:50px;
	background:none;
}
section:nth-of-type(n+3) div > div > h2{
	margin:0 0 0.5em 0;
	font-size:24px;
	font-weight:bold;
}
section:nth-of-type(n+3) div > div > h2 sup{
	font-size:16px;
	vertical-align:0.75em;
}
section:nth-of-type(n+3) div > div > h3{
	display: inline;
	font-size:16px;
	font-weight:bold;
	background: linear-gradient(transparent 65%, #ffff66 50%);
}
section:nth-of-type(n+3) div > div > p{
	margin:1em 0 2em 0;
}
section:nth-of-type(n+3) div > div > a{
	display: block;
	padding:10px;
	color:#0185cf;
	text-align: center;
	border:2px #0185cf solid;
	background:#fff;
	transition: 0.3s all;
}
section:nth-of-type(n+3) div > div > a:hover{
	color:#fff;
	text-decoration: none;
	background: #0185cf;
}
section:nth-of-type(n+3) div > div > a:before{
	content: "\f138";
	padding-right:0.25em;
	font-weight:bold;
}
section#s04 > div > div,
section#s06 > div > div{
	float:right;
}
section#s05 > div,
section#s07 > div{
	margin-left:50%;
}

/* bg */
section#s04{
	background:url("../images/bg04.jpg") no-repeat 50% 50% / cover;
}
section#s05{
	background:url("../images/bg05.jpg") no-repeat 50% 50% / cover;
}
section#s06{
	background:url("../images/bg06.jpg") no-repeat 50% 50% / cover;
}
section#s07{
	background:url("../images/bg07.jpg") no-repeat 0% 50% / cover;
}





@media all and (-ms-high-contrast:none){
section{
	background-attachment: scroll !important;
}
}





@media screen and (max-width: 824px){
/* kv
------------------------------------------------------------ */
div#kv{
	padding:0 0 5vh 0;
	background:#040d01 url("../images/kv.jpg") no-repeat 90% 25% / 150%;
}
div#kv div{
	width:100vw;
	padding:60vh 0 0 0;
}
div#kv div p{
	width:auto;
	font-size:8vw;
	text-align: center;
	background:rgba(4,13,1,0.7);
}
div#kv div p span{
	font-size:14vw;
}
div#kv div p + p{
	display: block;
	margin:0 5vw;
	font-size:5vw;
}


/* 01
------------------------------------------------------------ */
section:nth-of-type(1) > div{
	display: block;
	width:100vw;
	margin:10vh auto;
}
section:nth-of-type(1) > div > div{
	width:100vw;
}
section:nth-of-type(1) > div > div h2{
	margin:0 0 0.5em 0;
	font-size:8vw;
	font-weight:bold;
}
section:nth-of-type(1) > div > div:nth-of-type(1){
	padding:0 5vw;
}
section:nth-of-type(1) > div > div:nth-of-type(1) dl{
	display: flex;
	margin:0 0 4vh 0;
	padding:0 0 0.5em 0;
	line-height:1.5;
	border-top:1px #666 dotted;
	border-bottom:none;
	flex-wrap: wrap;
}
section:nth-of-type(1) > div > div:nth-of-type(1) dt{
	width:100%;
	margin:0;
	padding:1vh 2vw;
	border:none;
}
section:nth-of-type(1) > div > div:nth-of-type(1) dd{
	width:100%;
	margin:0;
	padding:0 2vw 1vh 2vw;
	border-top:none;
	border-bottom:1px #666 dotted;
}

section:nth-of-type(1) > div > div:nth-of-type(2){
	width:100vw;
	padding:5vw;
	box-sizing:border-box;
}
section:nth-of-type(1) > div > div:nth-of-type(2) h2{
	margin:0 0 5vh 0;
}
section:nth-of-type(1) > div > div:nth-of-type(2) a{
	display: block;
	padding:3vw 32vw 3vw 10vw;
}
section:nth-of-type(1) > div > div:nth-of-type(2) a:before{
	font-size:5vw;
	left:2.5vw;
}
section:nth-of-type(1) > div > div:nth-of-type(2) a:after{
	width:33vw;
	background:url("../images/img_pickup.png") no-repeat 50% 80% / contain;
}
section:nth-of-type(1) > div > div:nth-of-type(2) a.bnr_dxlab:after{
	background:url("../images/img_pickup_dxlab.png") no-repeat 50% 100% / cover;
}
section:nth-of-type(1) > div > div:nth-of-type(2) a h3{
	margin-bottom:0.5em;
	font-size:6vw;
}
section:nth-of-type(1) > div > div:nth-of-type(2) a p{
	font-size:3vw;
	line-height:1.5;
}

	/* columnLink */
	section:nth-of-type(1) > section{
	width: 100%;
	margin: -5vh auto 0 auto;
	padding:0 5vw;
}
section:nth-of-type(1) > section > h2{
	margin: 0 0 5vh 0;
	font-size: 8vw;
}
section:nth-of-type(1) > section > div{
	display: block;
	width:100%;
	margin:0 auto 10vh auto;
}
section:nth-of-type(1) > section > div a{
	width:100%;
	margin:0 0 3vh 0;
}


/* 02
------------------------------------------------------------ */
section:nth-of-type(2){
	padding:8vw 8vw 15vw 8vw;
	text-align: left;
}
section:nth-of-type(2) h2{
	margin:1em 0;
	font-size:7.7vw;
	line-height: 1.5;
}
section:nth-of-type(2) p{
	font-size:4vw;
	line-height:2;
}
section:nth-of-type(2) p br{
	display: none;
}


/* 03
------------------------------------------------------------ */
section:nth-of-type(3) > div{
	width:auto;
	margin:8vh auto;
}
section:nth-of-type(3) > div h2{
	padding:0 0 8vh 0;
	font-size:8vw;
	line-height:1.5;
	border-bottom:3px #0185cf dotted;
}
section:nth-of-type(3) > div > p{
	margin:4vh;
	font-size:5vw;
	text-align: left;
	line-height:1.5;
}
section:nth-of-type(3) > div > p br{
	display: none;
}
section:nth-of-type(3) > div > div{
	margin:0;
}
section:nth-of-type(3) > div > div > div{
	display: block;
	width:100vw;
	padding:8vh 0;
	text-align: center;
	border-bottom:3px #0185cf dotted;
}
section:nth-of-type(3) > div > div > div h3{
	font-size:10vw;
}
section:nth-of-type(3) > div > div > div h3 span{
	display: block;
	width:12vw;
	margin:3vh auto;
	font-size:12vw;
	border-radius: 100vh;
}
section:nth-of-type(3) > div > div > div img{
	display: block;
	width:90vw;
	margin:7vh auto;
}
section:nth-of-type(3) > div > div > div p{
	font-size:4.5vw;
	line-height:1.5;
}


/* 04
------------------------------------------------------------ */
section:nth-of-type(n+3){
	display: block;
	padding:30vh 0 0 0;
}
section:nth-of-type(n+3) div{
	width:100vw;
	background:#fff;
}
section:nth-of-type(n+3) div > div{
	width:90vw;
	padding:5vw;
}
section:nth-of-type(n+3) div > div > h2{
	margin:0 0 0.5em 0;
	font-size:5vw;
	font-weight:bold;
}
section:nth-of-type(n+3) div > div > h2 sup{
	font-size:3.5vw;
	vertical-align:0.75em;
}
section:nth-of-type(n+3) div > div > h3{
	font-size:4vw;
}
section:nth-of-type(n+3) div > div > p{
	font-size:4vw;
}
section#s04 > div > div,
section:nth-of-type(6) > div > div{
	float:none;
}
section:nth-of-type(5) > div,
section:nth-of-type(7) > div{
	margin-left:0;
}

/* bg */
section#s04{
	background:url("../images/bg04.jpg") no-repeat 0 0 / contain;
}
section#s05{
	background:url("../images/bg05.jpg") no-repeat 0 0 / contain;
}
section#s06{
	background:url("../images/bg06.jpg") no-repeat 0 0 / contain;
}
section#s07{
	background:url("../images/bg07.jpg") no-repeat 50% 0 / contain;
}


/* 05
------------------------------------------------------------ */







}





/* @media (orientation:landscape) and (max-width: 769px){ */
@media (orientation:landscape) and (max-width: 824px){
	div#kv div strong {
		font-size:10vh;
		top: 35vh;
	}
	div#kv div strong + p {
		font-size:4vh;
		top: 55vh;
	}
	section > div{
		top:0;
	}
	section > div > div{
		width:auto;
	}
	section#s02 > div > div a{
		font-size:inherit;
	}
}

