.p-header {
	background-color: #fff;
	border-bottom: 1px solid #e2dfd9;
	padding-bottom: 1.4rem;
}

.p-footer {
	background-color: #fff;
}

.p-footer__info {
	padding: 2.4rem 0 !important;
}

.app {
	background-color: #fff;
	max-width: 37.5rem;
	margin: 2.3rem auto 0;
}

.app-visual {
	background: #f4f7f7 url("../images/common/bg04.svg") no-repeat right -9.3rem bottom;
	background-size: auto 5.6rem;
	border-bottom: 1px solid #dbdbdb;
	display: flex;
	align-items: center;
	padding-bottom: 8.2rem;
}

.app-visual__title {
	font-family: "Maru Folk Bold JIS2004 AP","A-OTF Maru Folk Pro";
	font-weight: bold;
	font-size: 2.5rem;
	letter-spacing: .1em;
}

.app-visual__sub {
	font-size: 1.4rem;
	line-height: 1.5;
	margin-top: 2.5rem;
}

.app-visual--top {
	padding-bottom: 12.6rem;
}

.app-visual--top .app-visual__sub {
	margin-top: 4rem;
}

.app-navi {
	margin-top: 3.2rem;
}

.app-navi__item {
	border-radius: .5rem;
	box-shadow: 0 .4rem 0 #e0e0e0;
	padding: 1rem 1.7rem;
}

.app-navi__item:not(:last-child) {
	margin-bottom: 2rem;
}

.app-navi__item.--01 {
	background-color: #ff0012;
}

.app-navi__item.--02 {
	background-color: #37b420;
}

.app-navi__item .ttl {
	border-bottom: 1px solid #fff;
	color: #fff;
	display: block;
	font-family: "Maru Folk Bold JIS2004 AP","A-OTF Maru Folk Pro";
	font-weight: bold;
	font-size: 2.2rem;
	letter-spacing: .05em;
	margin-bottom: 1rem;
	padding-bottom: 1rem;
}

.app-navi__item .txt {
	color: #fff;
	font-size: 1.3rem;
	line-height: 1.6923076923;
	letter-spacing: .06em;
}

.app-anchor {
	display: flex;
	flex-direction: column;
	row-gap: 1.2rem;
	margin: 3.2rem 0 5.7rem;
}

.app-anchor a {
	background-color: #fff;
	border-radius: .4rem;
	border: 1px solid #dbdbdb;
	box-shadow: 0 .3rem 0 #e0e0e0;
	height: 5.6rem;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 5.6rem;
	letter-spacing: .05em;
	text-align: center;
	position: relative;
}

.app-anchor a::after {
	content: "";
	background: url("../images/common/icon_arrow_circle03.svg") no-repeat center/contain;
	height: 1.7rem;
	width: 1.7rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 2.5rem;
}

.app-section__ttl {
	display: flex;
	align-items: center;
	font-family: "Maru Folk Bold JIS2004 AP","A-OTF Maru Folk Pro";
	font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: .1em;
	margin-bottom: 2.6rem;
}

.app-section__ttl::before {
	content: "";
	background: url("../images/common/icon_car.svg") no-repeat center/contain;
	height: 2.2rem;
	width: 2.6rem;
	margin-right: 1rem;
	margin-top: .5rem;
	flex-shrink: 0;
}

.app-section__sub {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.6875;
	margin-bottom: 1.8rem;
}

.app-section__txt {
	font-size: 1.4rem;
	line-height: 1.6071428571;
	letter-spacing: .05em;
}

.app-section__txt.d-flex {
	-moz-column-gap: .5rem;
	column-gap: .5rem;
}

.app-section:not(:last-child) {
	margin-bottom: 8rem;
}

.app-article {
	margin-top: 4rem;
}

.app-article__item:not(:last-child) {
	margin-bottom: 5rem;
}

.app-article__ttl {
	border-bottom: 1px solid #e60112;
	font-family: "Maru Folk Bold JIS2004 AP","A-OTF Maru Folk Pro";
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: .1em;
	margin-bottom: 1.6rem;
	padding-bottom: 1.5rem;
}

.app-article__txt {
	font-size: 1.4rem;
	line-height: 1.6071428571;
	letter-spacing: .05em;
}

.app-article__stp {
	margin-top: 32px;
}

.app-article__stp .item {
	background-color: #f6f8f8;
	border: 1px solid #dbdbdb;
	border-radius: 4px;
	padding: 1.7rem 1.6rem 2.4rem;
}

.app-article__stp .item:not(:last-child) {
	margin-bottom: 2.4rem;
}

.app-article__stp .num {
	color: #e60112;
	font-size: 1rem;
	font-family: "Rubik",sans-serif;
	line-height: 1.2;
}

.app-article__stp .ttl {
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.875;
	margin-top: 4px;
}

.app-article__stp .media {
	border-radius: .5rem;
	overflow: hidden;
	margin-top: 1.6rem;
}

.app-article__stp .txt {
	font-size: 1.4rem;
	line-height: 1.6071428571;
	letter-spacing: .05em;
	margin-top: 1.6rem;
}

.app-article__stp .box {
	background-color: #fff;
	border: 1px solid #dbdbdb;
	border-radius: .5rem;
	padding: 1.2rem 1.6rem 2rem;
	margin-top: 2rem;
}

.app-article__stp .box-ttl {
	font-size: 2rem;
	font-family: "Maru Folk Bold JIS2004 AP","A-OTF Maru Folk Pro";
	line-height: 2.05;
	letter-spacing: .377em;
	text-align: center;
}

.app-article__stp .box-sub {
	font-size: 1.4rem;
	font-weight: bold;
	margin-top: 1rem;
}

.app-article__stp .box-txt {
	font-size: 1.3rem;
	line-height: 2;
	margin-top: .8rem;
}

.app-article__stp .box-txt.d-flex {
	-moz-column-gap: .7rem;
	column-gap: .7rem;
}

.app-phone-lst {
	margin-top: 3.2rem;
}

.app-phone-lst__ttl {
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: .1em;
	margin-bottom: 1.6rem;
	padding-bottom: 1.5rem;
}

.app-phone-lst__txt {
	font-size: 1.4rem;
	line-height: 1.9285714286;
}

.app-phone-lst__txt strong {
	font-size: 1.6rem;
}

.app-phone-lst .lst {
	margin-top: 2.4rem;
}

.app-phone-lst .lst-item:not(:last-child) {
	margin-bottom: 3.2rem;
}

.app-phone-lst .lst-item__ac .ttl {
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: .1rem;
}

.app-phone-lst .lst-item__ac .tel {
	background: url("../images/common/icon_phone02.svg") no-repeat left center/1.8rem;
	color: #e60112;
	font-size: 2.6rem;
	font-weight: 600;
	line-height: 1.175;
	letter-spacing: 0;
	padding-left: 2.4rem;
}

.app-phone-lst .lst-item .app-address {
	margin-top: 1.2rem;
}

.app-phone-lst .lst--bg .lst-item:not(:last-child) {
	margin-bottom: 1.6rem;
}

.app-phone-lst .lst--bg .lst-item__ac {
	background-color: #fff;
	border: 1px solid #dbdbdb;
	border-radius: .3rem;
	display: flex;
	flex-direction: column;
	padding: 1.4rem 1.6rem;
	box-shadow: 0 .3rem 0 #e0e0e0;
	transition: .2s ease;
}

.app-phone-lst .lst--bg .lst-item__ac .ttl {
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: .1rem;
}

.app-phone-lst .lst--bg .lst-item__ac .tel {
	background: url("../images/common/icon_phone02.svg") no-repeat left center/1.8rem;
	color: #e60112;
	font-size: 2.6rem;
	font-weight: 600;
	line-height: 1.175;
	letter-spacing: 0;
	padding-left: 2.4rem;
}

.app-address__row {
	display: flex;
	flex-flow: wrap;
	padding: 1rem 0 .6rem;
	border-bottom: 1px dotted #dbdbdb;
}

.app-address__ttl {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	background-color: #eaeaea;
	color: #7c7c7c;
	min-width: 7.5rem;
	padding: .55rem .8rem;
	font-size: 1.4rem;
	font-weight: 500;
	border-radius: .2rem;
	text-align: center;
	margin-right: 1rem;
}

.app-address__txt {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	flex: 1 1;
	font-size: 1.4rem;
	gap: .8rem;
}

.app-address__txt.--link {
	font-size: 2rem;
	font-weight: 600;
}

.app-address__txt.--notice {
	color: #c00;
}

.app-address.--cus .app-address__ttl {
	min-width: 6.2rem;
	border: 1px solid #e0e0e0;
	padding-top: .45rem;
	padding-bottom: .45rem;
}

.app-btn-mail {
	background-color: #e60112;
	border-radius: .4rem;
	border: 1px solid #dbdbdb;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	width: 100%;
	height: 6.2rem;
	padding: 0 2.7rem;
	display: flex;
	align-items: center;
	position: relative;
	margin: 4.8rem 0 1.8rem;
}

.app-btn-mail::after {
	content: "";
	background: url("../images/common/icon_mail.svg") no-repeat center/contain;
	width: 2.1rem;
	height: 1.5rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 3.95rem;
}

