@charset "UTF-8";
body {
    background: #191e3a;
	font-family: "Amiri", "Shippori Mincho", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", system-ui, "Hiragino Sans", "Hiragino Kaku Gothic ProN", sans-serif;
	font-weight: 500;
}
.mv-sub {
	background: url("/_common/img/repair/mv.webp") 50% 100% / cover no-repeat;
}
@media screen and (max-width: 767px) {
	.mv-sub {
		background: url("/_common/img/repair/mv.webp") 50% 0% / cover no-repeat;
	}
}
/* -------------------------------- */
.repair {
	padding: 0 5%;
	background: #191e3a url("/_common/img/repair/repair-bg.webp") 50% 100% / 100% auto no-repeat;
}
.repair__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 0 160px;
}
.repair__title-en {
	color: #aa915b;
	font-size: 70px;
	font-weight: 400;
    line-height: 80px;
	letter-spacing: .1em;
	text-align: center;
}
.repair h2 {
	font-size: 26px;
	letter-spacing: .05em;
	line-height: 40px;
	text-align: center;
}
.repair__description {
	margin-top: 70px;
	font-size: 28px;
	line-height: 48px;
	letter-spacing: .05em;
	text-align: center;
}
.repair__description span {
	position: relative;
}
.repair__description span::after {
	position: absolute;
	content: "";
	left: 0;
	bottom: -6px;
	width: 100%;
	height: 1px;
	background: linear-gradient(-90deg, #a34e9f,#3555a6);
	/* opacity: .8; */
}
.repair ul {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 40px;
	margin-top: 55px;
}
.repair ul li {
	position: relative;
	padding: 60px;
	background-color: rgba( 34,40,76 , .6 );
	box-shadow: 10px 10px 30px rgba(0,0,0,.3);
}
.repair ul li .repair__vertical {
	position: absolute;
	top: 60px;
	left: 16px;
	transform: rotate(90deg) translate(0,-100%);
	transform-origin: left top;
	letter-spacing: .1em;
}
.repair ul li p {
	margin-top: 25px;
	font-size: 20px;
	line-height: 34px;
	letter-spacing: .05em;
	text-align: center;
}
.repair ul li dl {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 0 10px;
	margin-top: 20px;
}
.repair ul li dl dd {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 18px;
	line-height: 38px;
	letter-spacing: .05em;
}
.repair ul li dl dd img {
	width: 20px;
	min-width: 20px;
}
@media screen and (max-width: 767px) {
	.repair {
		padding: 0;
	}
	.repair__inner {
		padding: 50px 5%;
	}
	.repair__title-en {
		font-size: 40px;
		line-height: 1.5;
	}
	.repair h2 {
		font-size: 20px;
		letter-spacing: .05em;
		line-height: 1.5;
	}
	.repair__description {
		margin-top: 30px;
		font-size: 18px;
		line-height: 2;
		letter-spacing: .05em;
	}
	.repair__description span {
		position: relative;
	}
	.repair__description span::after {
		bottom: -1px;
		width: 100%;
		height: 1px;
		background: linear-gradient(-90deg, #a34e9f,#3555a6);
		/* opacity: .8; */
	}
	.repair ul {
		grid-template-columns: repeat(1,1fr);
		gap: 30px;
		margin-top: 40px;
	}
	.repair ul li {
		position: relative;
		padding: 20px 16px;
		background-color: rgba( 34,40,76 , .6 );
		box-shadow: 10px 10px 30px rgba(0,0,0,.3);
	}
	.repair ul li .repair__visual {
		max-width: calc(100% - 60px);
		margin: 0 auto;		
	}
	.repair ul li .repair__vertical {
		position: absolute;
		top: 20px;
		left: 8px;
		transform: rotate(90deg) translate(0,-100%);
		transform-origin: left top;
		letter-spacing: .1em;
	}
	.repair ul li p {
		margin-top: 20px;
		font-size: 15px;
		line-height: 1.5;
		letter-spacing: .05em;
	}
	.repair ul li dl {
		grid-template-columns: repeat(1,1fr);
		gap: 10px;
		margin-top: 20px;
	}
	.repair ul li dl dd {
		justify-content: center;
		gap: 8px;
		font-size: 15px;
		line-height: 1.5;
		letter-spacing: .05em;
	}
	.repair ul li dl dd img {
		width: 20px;
		min-width: 20px;
	}
}
/* -------------------------------- */
.image-section {
	position: relative;
    height: 500px;
	background: url("/_common/img/repair/image-section.webp") 50% 50% / cover no-repeat;
}
.image-section::after {
	position: absolute;
	content: "";
	left: 50%;
	bottom: 0;
	transform: translate(-50%,0);
	width: 100%;
	max-width: 1200px;
	height: 200px;
	background-color: #1a2040;
}
@media screen and (max-width: 767px) {
	.image-section {
		height: 400px;
	}
	.image-section::after {
		display: none;
	}
}
/* -------------------------------- */
.memorial-wrap {
	background-color: #1a2040;
}
.memorial {
	position: relative;
	margin-top: -100px;
	padding: 0 5%;
	z-index: 2;
}
.memorial__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 0 106px;
}
.memorial__title-en {
	color: #aa915b;
	font-size: 70px;
	font-weight: 400;
    line-height: 80px;
	letter-spacing: .1em;
	text-align: center;
}
.memorial h2 {
	font-size: 26px;
	letter-spacing: .05em;
	line-height: 40px;
	text-align: center;
}
.memorial__content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 90px;
    width: 100%;
	max-width: 1035px;
	margin: 75px auto 0;
}
.memorial__visual {
    width: 472px;
    min-width: 472px;
}
.memorial__texts h3 {
    font-size: 28px;
    line-height: 48px;
    letter-spacing: .05em;
}
.memorial__texts p {
    margin-top: 25px;
    line-height: 34px;
    letter-spacing: .05em;
}
@media screen and (max-width: 767px) {
	.memorial {
		margin-top: 0;
		padding: 0 5%;
	}
	.memorial__inner {
		padding: 50px 0;
	}
	.memorial__title-en {
		font-size: 40px;
		line-height: 1.5;
		letter-spacing: .1em;
	}
	.memorial h2 {
		font-size: 20px;
		line-height: 1.5;
	}
	.memorial__content {
		flex-direction: column;
		gap: 40px;
		margin: 40px auto 0;
	}
	.memorial__visual {
		width: 100%;
		min-width: initial;
	}
	.memorial__texts h3 {
		font-size: 22px;
		line-height: 1.5;
		letter-spacing: .05em;
	}
	.memorial__texts p {
		margin-top: 20px;
		line-height: 1.65;
		letter-spacing: .05em;
	}
}