@charset "UTF-8";
@keyframes scroll-left {

from {
	transform: translateX(0);
}

to {
	transform: translateX(-100%);
}

}

/* ========================================
  @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px),print {
#maintenance .p-link__items {
	display: flex;
	flex-wrap: wrap;
	gap: 46px 40px;
	justify-content: center;
	margin-inline: auto;
	width: min(95%, 1100px);
	margin-block: 100px 0;
}

#maintenance .p-link__item {
	width: 340px;
}

#maintenance main {
	background: #F5F5F5;
}

.p-fv {
	margin-bottom: 113px;
	position: relative;
	top: -60px;
}

.p-fv .l-inner.l-fv {
	margin-inline: auto;
	width: min(95%, 1500px);
}

.p-fv .p-fv__contents {
	background: url(../images/maintenance/fv_bg.jpg) no-repeat top center/cover;
	margin-inline: auto;
	padding-block: 207px 112px;
	width: 100%;
}

.p-fv .p-fv__contents-txt {
	color: #ffffff;
	margin-inline: auto;
	width: min(95%, 1283px);
}

.p-fv .p-fv__contents-txt h2 {
	font-size: 42px;
  font-size: clamp(2.25rem, 2rem + 0.52vw, 2.625rem);
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.4285714286;
	margin-bottom: 39px;
}

.p-fv .p-fv__contents-txt p {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.75;
}

.p-maintenance {
	margin-bottom: 120px;
}

.p-maintenance .p-maintenance__box {
	background: #ffffff;
	margin-bottom: 80px;
	margin-inline: auto;
	padding-block: 0 100px;
	width: min(95%, 1500px);
}

.p-maintenance .p-maintenance__box.main03 {
	padding-block: 0;
}

.p-maintenance .p-maintenance__num {
	margin-bottom: 31px;
}

.p-maintenance .p-maintenance__ttl {
	display: grid;
	font-size: 38px;
  font-size: clamp(2.125rem, 1.958rem + 0.35vw, 2.375rem);
	font-weight: 600;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	letter-spacing: 0.05em;
	line-height: 1.3684210526;
	margin-bottom: 23px;
	text-align: center;
}

.p-maintenance .p-maintenance__ttl span {
	color: #B18146;
}

.p-maintenance .p-maintenance__txt {
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 2;
	margin-bottom: 72px;
	text-align: center;
}

.p-maintenance .p-maintenance__contents {
	display: grid;
	gap: 0 34px;
	grid-template-columns: 50% 46.9%;
	margin-inline: auto;
	width: min(95%, 1100px);
}

.p-maintenance .p-maintenance__contents.main03 {
	margin-bottom: 46px;
}

.p-maintenance .p-maintenance__contents-left {
  position: relative;
}

.p-maintenance .p-maintenance__contents-left.main01 {
  position: relative;
  height: fit-content;
}

.p-maintenance .p-maintenance__contents-left.main01::after {
  content: "";
  position: absolute;
  background: url(../images/maintenance/main01_icon.png) no-repeat center center / contain;
  width: 159px;
  height: 200px;
  left: -59px;
  bottom: -19px;
}

.p-maintenance .p-maintenance__contents-right h3 {
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.6;
	margin-bottom: 19px;
}

.p-maintenance .p-maintenance__contents-right .txt p {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.75;
	margin-bottom: 28px;
}

.p-maintenance .p-maintenance__contents-right .txt p.bottom {
	margin-bottom: 0;
}

.p-maintenance .p-maintenance__img-wrap {
	margin-bottom: 43px;
	position: relative;
	top: -26px;
}

.p-maintenance .p-maintenance__img-wrap h3 {
	background: #B18146;
	color: #ffffff;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.6;
	margin-bottom: -26px;
	margin-inline: auto;
	padding-block: 12px;
	padding-inline: 24px;
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.p-maintenance .p-maintenance__img-wrap .img {
	margin-inline: auto;
	text-align: center;
	width: min(95%, 1500px);
}

.p-maintenance03__txt {
	border: 2px solid #B18146;
	margin-bottom: -103px;
	margin-inline: auto;
	padding: 28px 94px 20px;
	text-align: center;
	width: min(95%, 752px);
}

.p-maintenance03__icon {
	margin-inline: auto;
	text-align: right;
	width: min(95%, 940px);
}

.p-garage {
	background: #ffffff;
}

.p-garage .l-inner.l-garage {
	padding-block: 73px 140px;
}

.p-garage .p-garage__en {
	margin-bottom: 37px;
	text-align: center;
}

.p-garage .p-garage__ttl {
	font-size: 38px;
  font-size: clamp(2.125rem, 1.958rem + 0.35vw, 2.375rem);
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.2105263158;
	margin-bottom: 21px;
	text-align: center;
}

.p-garage .p-garage__txt {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.5555555556;
	margin-bottom: 62px;
	text-align: center;
}

.p-garage .p-garage__loop {

}

.p-garage .l-inner.l-loop {
  overflow: hidden;
}

.p-garage .p-garage__loop-wrap {
	align-items: center;
	display: flex;
	gap: 0 10px;
	width: 5608px;
}

.p-garage .p-garage__slider {
	animation: scroll-left 60s linear infinite;
}

.p-garage .p-garage__slider img {
	height: auto;
	width: 2804px;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1350px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1350px) {
.p-maintenance .p-maintenance__contents-left.main01::after {
  content: "";
  position: absolute;
  background: url(../images/maintenance/main01_icon.png) no-repeat center center / contain;
  width: 11.778vw;
  height: 14.815vw;
  left: -4.37vw;
  bottom: -1.407vw;
}

}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1250px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1250px) {
.p-maintenance .p-maintenance__img-wrap .img img {
  width: 100%;
  height: auto;        
}

.p-maintenance .p-maintenance__contents-left img {
  width: 100%;
  height: auto;        
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1200px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1200px) {
.p-maintenance .p-maintenance__num img {
  width: 25.333vw;
  height: auto;
}

.p-garage .p-garage__loop-wrap {
	align-items: center;
	display: flex;
	gap: 0 0.833vw;
	width: 467.333vw;
}

.p-garage .p-garage__slider img {
	height: auto;
	width: 233.667vw;
}

#maintenance .p-link__items {
	display: flex;
	flex-wrap: wrap;
	gap: 3.833vw 3.333vw;
	justify-content: center;
	margin-inline: auto;
	width: min(95%, 1100px);
	margin-block: 8.333vw 0;
}

#maintenance .p-link__item {
	width: 28.333vw;
}
}

/* ========================================
@media screen and (min-width:768px) and ( max-width:1000px) {
======================================== */
@media screen and (min-width:768px) and ( max-width:1000px) {
.p-maintenance .p-maintenance03__txt {
	border: 2px solid #B18146;
	margin-bottom: -10.3vw;
	margin-inline: auto;
	padding: 2.8vw 9.4vw 2vw;
	text-align: center;
	width: min(95%, 752px);
}

.p-maintenance .p-maintenance03__txt img {
  width: 53.8vw;
  height: auto;
}

.p-maintenance .p-maintenance03__icon img {
  width: 16.1vw;
  height: auto;
}
}

/* ========================================
  @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
#maintenance .p-link__items {
	display: grid;
	gap: 11.111vw 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
	width: min(95%, 82.1vw);
}

#maintenance .p-link__item {
	width: 100%;
}

#maintenance main {
	background: #F5F5F5;
}

.p-fv {
	margin-bottom: 14.155vw;
	position: relative;
	top: 0;
}

.p-fv .l-inner.l-fv {
	margin-inline: auto;
	width: 100%;
}

.p-fv .p-fv__contents {
	background: url(../images/maintenance/fv_bg_sp.jpg) no-repeat top center/cover;
	margin-inline: auto;
	padding-block: 42.478vw 16.324vw;
	width: 100%;
}

.p-fv .p-fv__contents-txt {
	color: #ffffff;
	margin-inline: auto;
	width: min(95%, 86.9vw);
}

.p-fv .p-fv__contents-txt h2 {
	font-size: 6.763vw;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 2.1428571429;
	margin-bottom: 3.454vw;
}

.p-fv .p-fv__contents-txt p {
	font-size: 3.382vw;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.8571428571;
}

.p-maintenance {
	margin-bottom: 14.493vw;
}

.p-maintenance .p-maintenance__box {
	background: #ffffff;
	margin-bottom: 9.662vw;
	margin-inline: auto;
	padding-block: 0 13.527vw;
	width: min(95%, 94.2vw);
}

.p-maintenance .p-maintenance__box.main03 {
	padding-block: 0;
}

.p-maintenance .p-maintenance__num {
	margin-bottom: 10.353vw;
}

.p-maintenance .p-maintenance__num img {
	height: auto;
	width: 41.787vw;
}

.p-maintenance .p-maintenance__ttl {
	display: grid;
	font-size: 5.797vw;
	font-weight: 600;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	letter-spacing: 0.05em;
	line-height: 1.6;
	text-align: center;
	margin-bottom: 4vw;
}

.p-maintenance .p-maintenance__ttl span {
	color: #B18146;
}

.p-maintenance .p-maintenance__txt {
	font-size: 3.382vw;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.8571428571;
	margin-bottom: 10.111vw;
	margin-inline: auto;
	text-align: left;
	width: min(95%, 82.1vw);
}

.p-maintenance .p-maintenance__contents {
	display: grid;
	gap: 0;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	margin-inline: auto;
  width: min(95%,82.2vw);  
}

.p-maintenance .p-maintenance__contents.main02 .p-maintenance__contents-left {
	margin-bottom: 3.662vw;
	order: 2;
}

.p-maintenance .p-maintenance__contents.main02 .p-maintenance__contents-right {
	display: contents;
}

.p-maintenance .p-maintenance__contents.main02 .p-maintenance__contents-right h3 {
	margin-bottom: 5.865vw;
	order: 1;
}

.p-maintenance .p-maintenance__contents.main02 .p-maintenance__contents-right .txt {
	order: 3;
}

.p-maintenance .p-maintenance__contents.main03 {
	margin-bottom: 8.039vw;
}

.p-maintenance .p-maintenance__contents-left.main01 {
	margin-bottom: 4.246vw;
  position: relative;
}

.p-maintenance .p-maintenance__contents-left.main01::after {
  content: "";
  position: absolute;
  background: url(../images/maintenance/main01_icon_sp.png) no-repeat center center / contain;
  width: 14.976vw;
  height: 20.773vw;
  left: -5vw;
  bottom: -5vw;
}

.p-maintenance .p-maintenance__contents-right h3 {
	font-size: 4.348vw;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.7777777778;
	margin-bottom: 4.213vw;
	text-align: center;
}

.p-maintenance .p-maintenance__contents-right .txt p {
	font-size: 3.382vw;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.8571428571;
	margin-bottom: 5.797vw;
}

.p-maintenance .p-maintenance__contents-right .txt p.bottom {
	margin-bottom: 0;
}

.p-maintenance .p-maintenance__img-wrap {
	margin-bottom: 7.662vw;
}

.p-maintenance .p-maintenance__img-wrap h3 {
	background: #B18146;
	color: #ffffff;
	font-size: 3.382vw;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.5714285714;
	margin-bottom: -10.246vw;
	margin-inline: auto;
	padding-block: 2.348vw;
	padding-inline: 5.797vw;
	position: relative;
	text-align: center;
	width: -moz-fit-content;
	width: fit-content;
}

.p-maintenance .p-maintenance__img-wrap .img {
	margin-inline: auto;
	text-align: center;
	width: min(95%, 86.9vw);
}

.p-maintenance03__txt {
	border: 2px solid #B18146;
	margin-bottom: -13.5vw;
	margin-inline: auto;
	padding: 8.696vw 5.314vw 5.6vw;
	width: min(95%, 82.1vw);
}

.p-maintenance03__txt img {
	height: auto;
	width: 66.7vw;
}

.p-maintenance03__icon {
	margin-inline: auto;
	text-align: right;
	width: min(101%, 96.1352657005vw);
}

.p-maintenance03__icon img {
	height: auto;
	width: 20.29vw;
}

.p-garage {
	background: #ffffff;
}

.p-garage .l-inner.l-garage {
	padding-block: 14.493vw;
}

.p-garage .p-garage__en {
	margin-bottom: 5.662vw;
	text-align: center;
}

.p-garage .p-garage__en img {
	height: auto;
	width: 73.217vw;
}

.p-garage .p-garage__ttl {
	font-size: 5.797vw;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.4166666667;
	margin-bottom: 3.662vw;
	text-align: center;
}

.p-garage .p-garage__txt {
	font-size: 3.865vw;
	font-weight: 500;
	letter-spacing: 0.05em;
	line-height: 1.75;
	margin-bottom: 9.662vw;
	margin-inline: auto;
	text-align: center;
	width: min(95%, 82.1vw);
}

.p-garage .p-garage__loop-wrap {
	align-items: center;
	display: flex;
	gap: 0 2.415vw;
	width: 486.957vw;
}

.p-garage .p-garage__slider {
	animation: scroll-left 60s linear infinite;
}

.p-garage .p-garage__slider img {
	height: auto;
	width: 243.478vw;
}

}
