@charset "utf-8";
/*------------------------------------------------------------
	features
------------------------------------------------------------*/
.linear-bg {
	background: linear-gradient(#2c2c2c, #000);
}
#conts .key-visual {
	margin-bottom: 9.4rem;
}
#conts .sec01 {
	padding-bottom: 10rem;
}
#conts .sec01 .txt01 {
	margin-bottom: 4.2rem;
	text-align: center;
	line-height: calc(28/18);

}
#conts .sec01 .photo01 {
	margin: 0 auto 5.5rem;
	padding: 0 0 0 6.7rem;
	max-width: 89.6rem;
}
#conts .sec01 .photo01 img {
	width: 100%;
}
#conts .sec01 .photo01 p {
	margin: -1.4rem 6.6rem -0.4rem 0;
	font-size: 1.2rem;
	text-align: right;

}
#conts .sec01 .txt02 {
	margin-bottom: 4.3rem;
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 150%;
	color: #ECECEC;
}
#conts .sec01 .photo02 {
	margin: 0 auto;
	width: 70.2rem;
	position: relative;
}
#conts .sec01 .photo02 img {
	width: 100%;
}
#conts .sec01 .photo02 .pho-txt {
	position: absolute;
    left: 10.6rem;
    top: 21.6rem;
	line-height: calc(30/16);
	white-space: nowrap;
}
#conts .sec01 .photo02 .pho-txt02 {
	left: auto;
	right: 6.5rem;
}
#conts .sec01 .photo02 .pho-txt03 {
	top: auto;
	left: 50%;
	bottom: -3.3rem;
	transform: translateX(-50%);
}
#conts .sec02 {
	padding: 9.6rem 0 9.8rem;
	background-color: #2c2c2c;
}
#conts .sec02 .headline03 {
	margin-bottom: 1.5rem;
	padding-bottom: 1.5rem;
}
#conts .sec02 .txt01 {
	margin-bottom: 6.6rem;
	font-size: 1.8rem;
	font-weight: 400;
	line-height: 150%;
	color: #ECECEC;
}
#conts .sec02 .headline02 {
	padding-left: 1.5rem;
	margin-bottom: 1.2rem;
	font-size: 2.4rem;
}
#conts .sec02 .headline02::before {
	top: 0.6rem;
    bottom: 0.5rem;
	background-color: #b90000;
}
#conts .sec02 .headline02 small {
	margin-top: 0.4rem;
	display: block;
	font-size: 1.8rem;
	font-weight: 500;
}
#conts .sec02 .text-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 7.2rem 0;
}
#conts .sec02 .text-list li {
	width: calc(50% - 2.5rem);
	display: flex;
    flex-direction: column;
    justify-content: space-between;
}
#conts .sec02 .text-list li.column-1 {
	width: 100%;
}
#conts .sec02 .text-list .text-box {
	margin-bottom: 2.4rem;
}
#conts .sec02 .text-list p {
	line-height: 150%;
}
#conts .sec02 .text-list .iframe {
	margin: 0 auto;
}
#conts .sec02 .text-list .iframe p {
	margin: 1.1rem 0 0;
	line-height: calc(18/16);
	text-align: center;
	font-feature-settings: "palt";
}
#conts .sec02 .text-list .iframe {
	max-width: 47rem;
}
#conts .sec02 .text-list .iframe .iframe-inner {
	width: 47rem;
	height: 26.3rem;
}
#conts .sec02 .text-list .iframe .iframe-inner video {
	width: 100%;
	height: 100%;
}
#conts .sec02 .text-list .iframe iframe {
	width: 100%;
	height: 100%;
}
#conts .sec02 .text-list p.note {
	margin-top: 4.6rem;
	text-align: left;
	font-size: 1.2rem;

	font-feature-settings: normal;
	line-height: calc(18/12);
}
#conts .sec02 .text-list li .photo01 {
	position: relative;
}
#conts .sec02 .text-list li .photo01 p {
	position: absolute;
    right: 7.4rem;
    top: 0.8rem;
	color: #000;
	font-size: 1.6rem;
	font-weight: 700;
}
@media all and (max-width: 767px) {
	#conts .key-visual {
		margin-bottom: 4.5rem;
	}
	#conts .sec01 {
		padding-bottom: 10rem;
	}
	#conts .sec01 .txt01 {
		margin-bottom: 4rem;
		line-height: calc(52/32);
	}
	#conts .sec01 .photo01 {
		margin: 0 -0.5rem 3.5rem 0rem;
		padding: 0;
	}
	#conts .sec01 .photo01 p {
		margin: -0.4rem -0.7rem 0 0;
		font-size: 0.9rem;
	}
	#conts .sec01 .txt02 {
		font-size: 1.4rem;
		margin-bottom: 2.2rem;
	}
	#conts .sec01 .photo02 {
		margin: 0 0 0 -0.1rem;
		width: auto;
	}
	#conts .sec01 .photo02 .pho-txt {
		left: 11%;
		top: 42.4%;
		text-align: center;
		line-height: calc(30/28);
		font-size: 3.2vw;
	}
	#conts .sec01 .photo02 .pho-txt02 {
		left: auto;
		right: 8.8%;
	}
	#conts .sec01 .photo02 .pho-txt03 {
		top: auto;
		left: 50%;
		bottom: -7.7%;
		transform: translateX(-50%);
	}
	#conts .sec02 {
		padding: 4.4rem 0 4.6rem;
		background-color: #2c2c2c;
	}
	#conts .sec02 .headline03 {
		margin-bottom: 1.3rem;
		padding-bottom: 0.9rem;
	}
	#conts .sec02 .txt01 {
		margin-bottom: 2.9rem;
		font-size: 1.4rem;
		text-align: left;
	}
	#conts .sec02 .text-list {
		display: block;
	}
	#conts .sec02 .text-list li {
		margin-bottom: 4.6rem;
		width: auto;
	}
	#conts .sec02 .text-list li:last-child {
		margin-bottom: 0;
	}
	#conts .sec02 .headline02 {
		margin-bottom: 1rem;
		padding-left: 1.1rem;
		font-size: 1.8rem;
	}
	#conts .sec02 .headline02 small {
		margin-top: 0.2rem;
		font-size: 1.6rem;
		line-height: calc(42/32);
	}
	#conts .sec02 .headline02::before {
		width: 0.4rem;
	}
	#conts .sec02 .text-list .text-box {
		margin-bottom: 2.1rem;
	}
	#conts .sec02 .text-list p {
		font-size: 1.2rem;
	}
	#conts .sec02 .text-list .iframe {
		max-width: inherit;
		height: auto;
	}
	#conts .sec02 .text-list .iframe p {
		margin-top: 0.4rem;
		font-size: 1.4rem;
		line-height: calc(18/14);
	}
	#conts .sec02 .text-list .iframe .iframe-inner {
		width: 33.5rem;
		width: auto;
		height: 49.8667vw;
	}
	#conts .sec02 .text-list .iframe img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	#conts .sec02 .text-list p.note {
		font-size: 1rem;
		line-height: 1.5;
	
	}
	#conts .sec02 .text-list li .photo01 p {
		white-space: nowrap;
		font-size: 3.73vw;
		left: 68%;
		right: auto;
		top: 0.1rem;
	
	}
	#conts .sec02 .text-list li .photo img {
		width: 100%;
	}
	#conts .sec02 .text-list p sup {
		font-size: 1rem;
	}
}