@charset "utf-8";

/* トップページ
------------------------------------------------------------------*/
main .content.x2 {top:0;}
main .content.x2 .inner .bx01 {
	position:relative;
	margin:100px 0 0;
	padding:190px 0;
	z-index:100;
}
main .content.x2 .inner .bx01 h2 {
	overflow:hidden;
	/*margin-left:22%;*/
	margin-left:32vw;
	border:none;
}
main .content.x2 .inner .bx01 h2 a {
	text-decoration:none;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:flex-start;
	flex-direction:column;
}
main .content.x2 .inner .bx01 h2 a .line {
	display:block;
	width:100%;
	height:1px;
	margin:8px 0;
	background-color:#8c8c8c;
}
main .content.x2 .inner .bx01 h2 a img.img02 {
	width:27vw;
	width:calc(700px - (((18vw - 472px)) / 1.5));
	position:unset!important;
}
main .content.x2 .inner .bx01 h2 a label {position:unset!important;}
main .content.x2 .inner .bx01 .img03 {
	position:absolute;
	width:580px;
	height:auto;
	margin:auto;
	top:0;
	right:-10%;
}
main .content.x2 .inner .bx02 {
	position:relative;
	/*margin:-5vw 0 0;*/
	margin:50px 0 0;
	padding:190px 0;
	z-index:10;
}
main .content.x2 .inner .bx02 h2 {
	border:none;
	position:unset;
	padding:0;
	width:initial;
}
main .content.x2 .inner .bx02 h2 a {
	text-decoration:none;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:flex-start;
	flex-direction:column;
	padding:0 0 0 540px;
}
main .content.x2 .inner .bx02 h2 a .line {
	display:block;
	width:65vw;
	height:1px;
	margin:8px 0 8px -60px;
	background-color:#8c8c8c;
}
main .content.x2 .inner .bx02 h2 a label {position:unset;}
main .content.x2 .inner .bx02 h2 a img.img01 {width:770px;}
main .content.x2 .inner .bx02 h2 a img.img02 {width:40w;}
main .content.x2 .inner .bx02 .img03 {
	position:absolute;
	width:580px;
	height:auto;
	margin:auto;
	bottom:10%;
	left:-3%;
}
main .content.x2 .inner .bx01 h2 a label,
main .content.x2 .inner .bx02 h2 a label,
main .content.x2 .inner .bx03 h2 a label {
	overflow:hidden;
	display:inline-block;
	cursor:pointer;
	text-align:left;
}
main .content.x2 .inner .bx01 h2 a label span,
main .content.x2 .inner .bx02 h2 a label span,
main .content.x2 .inner .bx03 h2 a label span {
	font-family:source-han-sans-japanese, sans-serif;
	font-style:normal;
	color:#000;
}
main .content.x2 .inner .bx01 h2 a label span.sup {
	font-size:22px;
	font-weight:200;
}
main .content.x2 .inner .bx01 h2 a label span.sub {
	font-size:32px;
	font-weight:200;
	line-height:1;
	padding:0 0 15px;
	display:flex;
	width:100%;
	justify-content:flex-end;
	align-items:center;
}
main .content.x2 .inner .bx02 h2 a label span.sup {
	font-size:22px;
	font-weight:200;
}
main .content.x2 .inner .bx02 h2 a label span.sub {
	font-size:32px;
	font-weight:200;
	line-height:1;
	padding:0 0 15px;
	display:flex;
	width:100%;
	justify-content:flex-end;
	align-items:center;
}
main .content.x2 .inner .bx01 h2 a label span.sub sub,
main .content.x2 .inner .bx02 h2 a label span.sub sub,
main .content.x2 .inner .bx03 h2 a label span.sub sub {
	border-top:solid 1px #000;
	border-right:solid 1px #000;
	line-height:0;
	font-size:0;
	padding:5px;
	margin:0 5px;
	vertical-align:super;
	transform:rotate(45deg);
	display:inline-block;
}

main .content.x2 .inner .bx03 {
	position:relative;
	margin:0;
	padding:150px 0;
	z-index:1000;
}
main .content.x2 .inner .bx03 h2 {
	width:100%;
	max-width:unset;
	margin:0!important;
	padding:0!important;
	border:none;
}
main .content.x2 .inner .bx03 h2 a {
	text-decoration:none;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:flex-start;
	flex-direction:column;
	padding:0 0 0 560px;
}
main .content.x2 .inner .bx03 h2 a img.img02 {
	width:330px;
	max-width:unset;
	margin:0 1em 0 0;
}
main .content.x2 .inner .bx03 h2 a .line {
	display:block;
	width:70%;
	height:1px;
	margin:8px 0 8px -60px;
	background-color:#8c8c8c;
}
main .content.x2 .inner .bx03 .img03 {
	position:absolute;
	width:580px;
	height:auto;
	margin:auto;
	left:-3%;
	top:0;
}
main .content.x2 .inner .bx03 h2 a label span.sup {
	font-size:22px;
	font-weight:200;
	float:left;
}
main .content.x2 .inner .bx03 h2 a label span.sub {
	font-size:32px;
	font-weight:200;
	line-height:1;
	padding:0 0 15px;
	display:block;
	float:left;
	clear:both;
}


/* メディアクエリ
-------------------------------------------------------------------------------------------*/
@media print, screen and (max-width:1800px){
	main .content.x2 .inner .bx01 {
		width:1270px;
		margin:100px 0 0 auto;
	}
	main .content.x2 .inner .bx01 h2 {
		margin-left:25px;
		overflow:unset;
	}
	main .content.x2 .inner .bx01 h2 a img.img02 {width:775px;}

	main .content.x2 .inner .bx02 h2 a {padding:0 0 0 460px;}
	main .content.x2 .inner .bx02 .img03 {width:480px;}

	main .content.x2 .inner .bx03 h2 a {padding:0 0 0 460px;}
	main .content.x2 .inner .bx03 .img03 {width:480px;}
}
@media print, screen and (max-width:1300px){
	main .content.x2 .inner .bx01 h2 a img.img02 {width:60vw;}
	main .content.x2 .inner .bx01 .img03 {
		width:44vw;
		top:-50%;
		bottom:-50%;
		right:unset;
		left:64vw;
	}
	main .content.x2 .inner .bx01 h2 a label span.sup {font-size:2vw;}
	main .content.x2 .inner .bx01 h2 a label span.sub {font-size:2.9vw;}

	main .content.x2 .inner .bx02 h2 a {padding:0 0 0 40vw;}
	main .content.x2 .inner .bx02 h2 a img.img01 {width:52vw;}
	main .content.x2 .inner .bx02 h2 a .line {
	width:60vw;
	margin:8px 0 8px -7vw;
	}
	main .content.x2 .inner .bx02 .img03 {
	width:40vw;
	top:-50%;
	bottom:-50%;
	left:-3vw;
	}
	main .content.x2 .inner .bx02 h2 a label span.sup {font-size:2vw;}
	main .content.x2 .inner .bx02 h2 a label span.sub {
		font-size:2.8vw;
		letter-spacing:0;
	}

	main .content.x2 .inner .bx03 h2 a {padding:0 0 0 42vw;}
	main .content.x2 .inner .bx03 h2 a img.img02 {width:25vw;}
	main .content.x2 .inner .bx03 h2 a .line {
	width:60vw;
	margin:8px 0 8px -7vw;
	}
	main .content.x2 .inner .bx03 .img03 {
	width:43vw;
	top:-50%;
	bottom:-60%;
	left:-3vw;
	}
	main .content.x2 .inner .bx03 h2 a label span.sup {font-size:2vw;}
	main .content.x2 .inner .bx03 h2 a label span.sub {font-size:2.9vw;}
}
@media print, screen and (max-width:1100px){
	main .content.x2 .inner .bx01 {padding:12vw 0;}
	main .content.x2 .inner .bx02 {padding:12vw 0;}
	main .content.x2 .inner .bx03 {padding:12vw 0;}
}
@media print, screen and (max-width:1000px){
}
@media print, screen and (max-width:900px){
}
@media print, screen and (max-width:768px){
	main .content.x2 .inner {padding:50px 0 20vw;}
	main .content.x2 .inner .bx01 {
		width:100%;
		margin:52vw 0 0;
	}
	main .content.x2 .inner .bx01 h2 {margin-left:2.5vw;}
	main .content.x2 .inner .bx01 h2 a img.img02 {
		width:60%;
		left:0;
		margin-bottom:-3vw;
	}
	main .content.x2 .inner .bx01 h2 a img.img01 {
		width:85%;
		max-width:448px;
		top:12px;
	}
	main .content.x2 .inner .bx01 .img03 {
		width:56vw;
		top:-55%;
		bottom:-40%;
	}
	main .content.x2 .inner .bx02 {
	}
	main .content.x2 .inner .bx02 h2 {
		left:0;
	}
	main .content.x2 .inner .bx02 h2 a {
		position:unset;
		width:48vw;
		padding:0 0 0 50vw;
		display:block;
	}
	main .content.x2 .inner .bx02 .img03 {
		width:52%;
		top:-50%;
		bottom:-60%;
	}
	main .content.x2 .inner .bx02 h2 a img.img01 {
		width:100%;
		height:auto;
	}
	main .content.x2 .inner .bx02 h2 a img.img02 {width:97%;}
	main .content.x2 .inner .bx01 h2 a label span.sub {
		font-size:7.4vw;
		padding:5px 0 0 5px;
		display:flex;
		justify-content:flex-start;
		align-items:center;
		line-height:1.2;
	}

	/* トップテキスト */
	main .content.x2 .inner .bx01 h2 a label {margin:4vw 0 0;}
		main .content.x2 .inner .bx02 h2 a label {
		position:absolute;
		display:block;
		width:100vw;
		left:2.5vw;
		bottom:-15vw;
		top:unset;
	}
	main .content.x2 .inner .bx01 h2 a label span.sup {
		font-size:6.2vw;
		line-height:1;
		padding:0;
		letter-spacing:0;
	}
	main .content.x2 .inner .bx01 h2 a label span.sub {
		font-size:8vw;
		padding:0;
		letter-spacing:0;
	}
		main .content.x2 .inner .bx02 h2 a label span.sup {
		font-size:5vw;
		padding:0;
	}
	main .content.x2 .inner .bx02 h2 a label span.sub {
		font-size:6.4vw;
		padding:0;
		line-height:1.2;
		display:flex;
		justify-content:flex-start;
		align-items:center;
	}
	main .content.x2 .inner .bx01 h2 a label span.sub sub,
	main .content.x2 .inner .bx02 h2 a label span.sub sub {
		padding:3px;
		transform:translateY(1px) rotate(45deg);
	}

	main .content.x2 .inner .bx03 {padding:16vw 0 8vw;}
	main .content.x2 .inner .bx03 h2 {
		padding:12vw 0 0 0;
		margin:0;
		width:auto;
	}

	main .content.x2 .inner .bx03 h2 a {padding:0 0 0 54vw;}
	main .content.x2 .inner .bx03 .img03 {width:54vw;}
	main .content.x2 .inner .bx03 h2 a img.img02 {width:43vw;}
	main .content.x2 .inner .bx03 h2 a label {
		position:absolute;
		display:block;
		width:100vw;
		left:2.5vw;
		bottom:-40vw;
	}
	main .content.x2 .inner .bx03 h2 a label span.sup {font-size:6.4vw;}
	main .content.x2 .inner .bx03 h2 a label span.sub {
		font-size:9.2vw;
		line-height:1.2;
	}
	main .content.x2 .inner .bx03 h2 a label span.sub br {display:initial;}
}
