@charset "utf-8";

.pc {
	display: inline;
}

.sp {
	display: none;
}

#rContent {
	width: min(100%, 1920px);
	padding: 110px 0 0;
	color: #e3e3e3;
	text-align: left;
}

.inner {
	width: min(80%, 1200px);
	box-sizing: border-box;
	margin: 0 auto;
}

.mainTitle {
	padding: 0;
	margin-bottom: 110px;
}

.mainTitle .main {
	font-size: min(calc(45 / 1200 *100vw), 45px);
	font-weight: 500;
	line-height: 1.5;
}

.mainImage {
	width: min(80%, 1200px);
	margin: 0 auto 48px;
}

.mainImage img {
	width: 100%;
	max-width: none;
}

.mainCopy {
	margin-bottom: 110px;
}

.mainCopy .top_text {
	margin-bottom: 10px;
	font-size: min(calc(20 / 1920 * 100vw), 20px);
	font-weight: 400;
	line-height: 1.44;
}

.mainCopy .cap_text {
	font-size: 92%;
	font-weight: 400;
	line-height: 1.44;
}

.about_content:not(:last-of-type) {
	margin-bottom: 220px;
}

.content_ttl {
	margin-bottom: 48px;
	font-size: 277%;
	font-weight: 500;
	line-height: 1.44;
}

.flex_content {
	display: flex;
	justify-content: center;
	gap: 30px;
}

.flex_content:not(:last-of-type) {
	margin-bottom: 110px;
}

.flex_content .img,
.flex_content .text {
	width: 430px;
}

.flex_content .img img {
	width: 100%;
	max-width: none;
}

.flex_content .text {
	font-size: 123%;
	font-weight: 300;
	line-height: 2;
}

#type03 + .wrap_contents {
	margin-bottom: 80px;
}

/* レスポンシブ */

body.responsive-sp .pc {
	display: none;
}

body.responsive-sp .sp {
	display: block;
}

body.responsive-sp #rContent {
	padding: 56px 0 0;
}

body.responsive-sp .inner {
	width: auto;
	padding: 0 15px;
}

body.responsive-sp .mainTitle .main.first {
	font-size: 153.8%;
}

body.responsive-sp .mainTitle {
	padding: 0;
	margin: 0 0 56px;
}

body.responsive-sp .mainImage {
	width: 100%;
	padding: 0;
	margin-bottom: 10px;
}

body.responsive-sp .mainCopy {
	margin-bottom: 56px;
}

body.responsive-sp .mainCopy .top_text {
	margin-bottom: 10px;
	font-size: 100%;
}

body.responsive-sp .mainCopy .cap_text {
	margin-bottom: 10px;
}

body.responsive-sp .about_content:not(:last-of-type) {
	margin-bottom: 112px;
}

body.responsive-sp .flex_content {
	flex-direction: column;
	align-items: stretch;
	gap: 10px;
}

body.responsive-sp .flex_content .img {
	width: 100%;
}

body.responsive-sp .flex_content .text {
	width: 100%;
	font-size: 14px;
}

body.responsive-sp #type03 + .wrap_contents {
	margin-bottom: 56px;
}