@charset "UTF-8";
/* CSS Document */



/****************************************************************************************************
opening
****************************************************************************************************/
.op-shadow,
.op-copy,
.op-txt,
.op-bg,
.op-cap,
.main-txt,
.main-copy,
.main-copy2 {
	display: none;
}
#opening {
	position: fixed;
	width: 100%;
	height: 100vh;
	left: 0;
	top: 0;
	z-index: 5000;
	background: rgba(8,26,51,1);
	background: #000;
}
#opening-inner {
	position: relative;
	width: 100%;
	height: 100vh;
}

#skip {
	position: absolute;
	left: 30px;
	bottom: 30px;
	z-index: 100;
}
#skip a {
	display: block;
	width: 160px;
	height: 34px;
	line-height: 34px;
	background: rgba(200,200,200,.6);
	font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
}

#opening1,
#opening2,
#opening3 {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100vh;
	z-index: 10;
}
#opening1 {
	background: #FFF;
}
#opening1-inner,
#opening2-inner,
#opening3-inner {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 10;
}
.op-shadow,
.op-txt,
.op-copy {
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	transform-origin: 50% 50%;
}
.op-cap {
	position: absolute;
	right: 1em;
	bottom: 1em;
	font-size: 0.733rem;
	line-height: 1.0;
}
.op-shadow {
	mix-blend-mode: multiply;
	z-index: 1;
}
.op-txt {
	z-index: 5;
}
.op-copy {
	z-index: 10;
}
.op-bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.op-bg img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}



/****************************************************************************************************
contents
****************************************************************************************************/
#wrap {
	overflow: hidden;
	padding-top: 130px;
}
#float {
	position: fixed;
	right: 0;
	bottom: 20px;
}



/****************************************************************************************************
共通
****************************************************************************************************/
.img-box {
	position: relative;
	display: inline-block;
}
.img-box .cap {
	margin-top: 0.5em;
	font-size: 0.733rem;
	line-height: 1.4;
	text-align: right;
}
.img-box .cap.capin {
	position: absolute;
	left: 1em;
	bottom: 1em;
	line-height: 1.0;
}
.img-box .cap.white {
	color: #FFF;
	font-weight: bold;
}



/****************************************************************************************************
main
****************************************************************************************************/
#main {
	position: relative;
	width: 100%;
}
.main-img {
	width: 100%;
}
.main-img img {
	width: 100%;
	height: auto;
}



/****************************************************************************************************
point information
****************************************************************************************************/
#point {
	display: inline-block;
	margin: auto;
	margin-top: 76px;
}
#point2 {
	margin-top: 18px;
	padding: 16px 25px 0 25px;
	border-top: 1px solid rgba(0,0,0,.5);
}
#point img {
	max-width: 100%;
	height: auto;
}
#information {
	margin-top: 80px;
}
#request-box {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 25px;
	margin: 50px 0 0 0;
}
#banner-block {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 12px;
	margin-top: 60px;
}



/****************************************************************************************************
new-contents
****************************************************************************************************/
#new-contents {
	margin-top: 74px;
	padding-bottom: 0;
}
#new-contents h3 {
	margin: 33px 0;
}
.interview-banner-block {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	gap: 60px;
}
.interview-banner-box {
	width: 360px;
	box-shadow: 3px 3px 5px rgba(0,0,0,.2);
}
.interview-banner-box img {
	width: 100%;
	height: auto;
}



/****************************************************************************************************
design
****************************************************************************************************/
#design {
	margin-top: 130px;
}
#design figure {
	position: relative;
	display: inline-block;
}
#design figure figcaption {
	position: absolute;
	right: 0.5em;
	bottom: 12.2em;
	font-size: 0.733rem;
	line-height: 1.4;
	text-align: right;
}



/****************************************************************************************************
concept
****************************************************************************************************/
#concept {
	margin-top: 20px;
	padding-bottom: 84px;
	background-image:
		url(../img/top/concept-bg1.jpg),
		url(../img/top/concept-bg2.jpg);
	background-position:
		left bottom,
		right bottom;
	background-repeat:
		no-repeat,
		no-repeat;
}
#concept h3 {
	margin: 32px 0;
}



/****************************************************************************************************
section
****************************************************************************************************/
#sec1 {
	padding: 160px 0 100px 0;
	background: url(../img/top/bg1.jpg) no-repeat center top;
	background-size: cover;
}
#sec2 {
	padding: 160px 0 100px 0;
	background: url(../img/top/bg2.jpg) no-repeat center top;
	background-size: contain;
}
#sec3 {
	padding: 160px 0 100px 0;
	background: url(../img/top/bg3.jpg) no-repeat center top;
	background-size: cover;
}
.sec-img {
	position: relative;
	display: inline-block;
}
.sec-text {
	position: absolute;
	right: -180px;
	top: -46px;
}
#sec2 .sec-text {
	left: -180px;
	right: auto;
}
.sec-tab {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 100px;
	margin-top: 50px;
}





@media screen and (max-width: 767px),
screen and (max-width: 960px) and (orientation: landscape) {
	
	
	
	/****************************************************************************************************
	contents
	****************************************************************************************************/
	#header {
		position: relative;
	}
	#wrap {
		padding-top: 0;
	}
	
	
	
	/****************************************************************************************************
	opening
	****************************************************************************************************/
	#skip {
		left:auto;
		bottom:auto;
		right:3vw;
		top:3vw;
	}
	#skip a {
		width:18vw;
		height:7vw;
		font-size: 2.66vw;
		line-height:7vw;
	}
	.op-shadow,
	.op-txt,
	.op-copy {
		width: 160vw;
	}
	.op-cap {
		font-size: 0.533rem;
		text-align: right;
	}
	
	
	
	/****************************************************************************************************
	main
	****************************************************************************************************/
	#main {
	}
	
	
	
	/****************************************************************************************************
	contents
	****************************************************************************************************/
	#float {
		width: 30vw;
		bottom: 15.3vw;
	}
	#footer {
		padding-bottom: 50vw;
	}
	
	
	
	/****************************************************************************************************
	共通
	****************************************************************************************************/
	.img-box .cap {
		font-size: 0.533rem;
	}
	
	
	
	/****************************************************************************************************
	point information
	****************************************************************************************************/
	#point {
		width: 92vw;
		margin-top: 10vw;
	}
	#point1 {
		width: 70vw;
		margin: auto;
	}
	#point2 {
		margin-top: 4vw;
		padding: 4vw 0 0 0;
	}
	#point img {
		max-width: 100%;
		height: auto;
	}
	#information {
		margin-top: 8vw;
	}
	#info-text {
		width: 92vw;
		margin: auto;
	}
	#request-box {
		gap: 2vw;
		margin: 6vw 0 0 0;
	}
	#request-box > div {
		width: 45vw;
	}
	#banner-block {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 2vw;
		width: 92vw;
		margin: auto;
		margin-top: 6vw;
	}
	#campaign {
		width: 49.447vw;
		width: calc(49.447vw * 1.1);
		margin: auto;
	}
	
	
	
	/****************************************************************************************************
	new-contents
	****************************************************************************************************/
	#new-contents {
		width: 92vw;
		margin: auto;
		margin-top: 10vw;
		padding-bottom: 0;
	}
	#new-contents h2 {
		width: 34vw;
		margin: auto;
	}
	#new-contents h3 {
		width: 92vw;
		margin: 5vw 0;
	}
	.interview-banner-block {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 4vw;
	}
	.interview-banner-box {
		width: 44vw;
	}
	
	
	
	/****************************************************************************************************
	design
	****************************************************************************************************/
	#design {
		margin-top: 10vw;
	}
	#design figure {
		width: 92vw;
	}
	#design figure figcaption {
		bottom: 7em;
		font-size: 0.533rem;
	}
	
	
	
	/****************************************************************************************************
	concept
	****************************************************************************************************/
	#concept {
		margin-top: 4vw;
		padding-bottom: 12vw;
		background-image:
			url(../img/top/concept-bg1.jpg),
			url(../img/top/concept-bg2.jpg);
		background-position:
			left bottom,
			right bottom;
		background-repeat:
			no-repeat,
			no-repeat;
		background-size:
			40vw auto,
			40vw auto;
	}
	#concept h2 {
		width: 20vw;
		margin: auto;
	}
	#concept h3 {
		width: 81vw;
		margin: 6vw auto;
	}
	#concept div {
		width: 80vw;
		margin: auto;
	}
	
	
	
	/****************************************************************************************************
	section
	****************************************************************************************************/
	#sec1 {
		padding: 12vw 0 10vw 0;
	}
	#sec2 {
		padding: 12vw 0 10vw 0;
	}
	#sec3 {
		padding: 12vw 0 10vw 0;
	}
	.sec-img {
		width: 100%;
		text-align: left;
	}
	.sec-img .sec-text {
		width: 15vw;
	}
	.sec-img figure {
		width: 76vw;
	}
	.sec-img figure img {
		object-fit: cover;
		object-position: 100% 0;
		width: 78vw;
		height: 50vw;
	}
	.sec-text {
		position: absolute;
		right: 4vw;
		top: -6vw;
	}
	#sec2 .sec-img {
		text-align: right;
	}
	#sec2 .sec-text {
		left: 4vw;
		right: auto;
	}
	.sec-tab {
		-webkit-box-lines: multiple;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 4vw;
		margin-top: 4vw;
		padding: 0 4vw;
	}
}

@media screen and (max-width: 960px) and (orientation: landscape) {
	
	
	
	/****************************************************************************************************
	opening
	****************************************************************************************************/
	#skip {
		right:1vw;
		top:1vw;
	}
	#skip a {
		width:10vw;
		height:4vw;
		font-size: 1.2vw;
		line-height:4vw;
	}
	.opening {
		width: 100vw;
	}
	
	
	
	/****************************************************************************************************
	main
	****************************************************************************************************/
	#main {
		height: 100vh;
	}
	.main-bg img {
		object-position: 30% 50%;
		height: 100vh;
	}
	.main-txt {
		width: 100vw;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
	.main-copy,
	.main-copy2 {
		width: 100vw;
		-webkit-transform: translate(-50%, -4550);
		transform: translate(-50%, -4550);
	}
	#main-copy6 {
		width: 100vw;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}
}