@charset "UTF-8";
/* ---------------------------------------
  トップメッセージ
-----------------------------------------*/
.cnt_wrap .tb {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
	border-top: 1px solid #BFBFBF;
}
.cnt_wrap .tb th, .cnt_wrap .tb td {
	color: #000;
	line-height: 2;
	letter-spacing: 0;
	padding: 3rem 0;
	border-bottom: 1px solid #BFBFBF;
	vertical-align: top;
}
@media screen and (max-width: 767px) {
	.cnt_wrap .tb th, .cnt_wrap .tb td {
		font-size: 1.3rem;
		padding: 2rem 0;
	}
}
.cnt_wrap .tb th {
	font-weight: 500;
	letter-spacing: 0;
}
.cnt_wrap .tb td {
	padding-left: 1.6rem;
	padding-right: 4rem;
}
@media screen and (max-width: 767px) {
	.cnt_wrap .tb td {
		padding-left: 1.2rem;
		padding-right: 0;
	}
}
.cnt_wrap .tb td .position {
	display: inline-block;
	width: 6em;
}

/* sec_message
--------------------------------*/
#sec_message {
	padding: 9rem 0;
}
@media screen and (max-width: 767px) {
	#sec_message {
		padding: 6rem 0;
	}
}
#sec_message .wrap {
	max-width: 112rem;
	display: flex;
	align-items: flex-start;
	gap: 0 8rem;
}
@media screen and (max-width: 767px) {
	#sec_message .wrap {
		display: block;
	}
}
@media screen and (max-width: 767px) {
	#sec_message .sec_ttl {
		text-align: center;
	}
}
#sec_message .img {
	width: 53.5rem;
}
@media screen and (max-width: 767px) {
	#sec_message .img {
		width: 100%;
		margin-top: 5.4rem;
	}
}
#sec_message .txt_wrap {
	flex: 1;
	margin-top: 1.3rem;
}
@media screen and (max-width: 767px) {
	#sec_message .txt_wrap {
		width: 100%;
		margin-top: 3rem;
	}
}
#sec_message .txt_wrap .ttl {
	color: #585852;
	font-weight: 500;
	font-size: 2.8rem;
	line-height: 1.7857142857;
	letter-spacing: 0.08em;
	margin-top: 4.2rem;
}
@media screen and (max-width: 767px) {
	#sec_message .txt_wrap .ttl {
		font-size: 2rem;
		line-height: 1.6;
		margin-top: 3rem;
	}
}
#sec_message .txt_wrap .txt {
	line-height: 1.8125;
	letter-spacing: 0.1em;
	margin-top: 1.8rem;
}
@media screen and (max-width: 767px) {
	#sec_message .txt_wrap .txt {
		line-height: 1.7857142857;
	}
}
#sec_message .txt_wrap .txt + .txt {
	margin-top: 1rem;
}
#sec_message .txt_wrap .name {
	font-weight: 500;
	line-height: 1.8125;
	letter-spacing: 0.1em;
	margin-top: 3.9rem;
}
@media screen and (max-width: 767px) {
	#sec_message .txt_wrap .name {
		line-height: 1.7857142857;
		margin-top: 2rem;
	}
}
#sec_message .bg_ob {
	width: 275.6rem;
	height: 89.1rem;
	left: calc(50% - 149rem);
	top: -16rem;
}
@media screen and (min-width: 1441px) {
	#sec_message .bg_ob {
		width: 191.3888888889vw;
		left: -56.3194444444vw;
	}
}
@media screen and (max-width: 767px) {
	#sec_message .bg_ob {
		width: 116.8rem;
		height: auto;
		left: -20.5rem;
		top: -14rem;
	}
}

/* sec_slogan
--------------------------------*/
#sec_slogan {
	padding: 9rem 0 14.4rem;
}
@media screen and (max-width: 767px) {
	#sec_slogan {
		padding: 6rem 0 12rem;
	}
}
#sec_slogan .txt_wrap {
	padding: 6.9rem 6.4rem;
	border: 0.2rem solid #ECECEC;
	border-radius: 0.8rem;
	box-shadow: 1.2rem 1.2rem 3.2rem rgba(0, 0, 0, 0.12);
	margin-top: 6rem;
}
@media screen and (max-width: 767px) {
	#sec_slogan .txt_wrap {
		width: 100%;
		padding: 3rem 2rem;
		border: 1px solid #ECECEC;
		margin-top: 2.5rem;
	}
}
#sec_slogan .txt_wrap .txt {
	font-weight: 700;
	font-size: 2.8rem;
	line-height: 1.2857142857;
}
@media screen and (max-width: 767px) {
	#sec_slogan .txt_wrap .txt {
		text-align: center;
		font-size: 1.8rem;
	}
}

/* sec_policy
--------------------------------*/
#sec_policy {
	padding: 15rem 0 12rem;
}
@media screen and (max-width: 767px) {
	#sec_policy {
		padding: 8rem 0 6rem;
	}
}
#sec_policy .box {
	padding: 4rem 6rem;
	background-color: #fff;
	border: 0.2rem solid #ECECEC;
	border-radius: 0.8rem;
	box-shadow: 1.2rem 1.2rem 3.2rem rgba(0, 0, 0, 0.12);
	margin-top: 6rem;
}
@media screen and (max-width: 767px) {
	#sec_policy .box {
		padding: 3rem 2rem;
		border: 1px solid #ECECEC;
		margin-top: 2.5rem;
	}
}
#sec_policy .box ol {
	counter-reset: item;
}
#sec_policy .box ol li {
	position: relative;
	line-height: 1.25;
	letter-spacing: 0;
	padding-left: 1.5em;
}
@media screen and (max-width: 767px) {
	#sec_policy .box ol li {
		line-height: 1.7857142857;
	}
}
#sec_policy .box ol li::before {
	content: counter(item) ".";
	display: inline-block;
	width: 1.5em;
	font-family: "Poppins", sans-serif;
	counter-increment: item;
	color: #57DE9A;
	position: absolute;
	left: 0;
	top: 0.2em;
}
@media screen and (max-width: 767px) {
	#sec_policy .box ol li::before {
		top: 0.1em;
	}
}
#sec_policy .box ol li + li {
	margin-top: 1.2rem;
}