@charset "utf-8";

.header__inner {
	padding-bottom: 20px;
}

/* reset
---------------------*/
#contents {
	width: 100%;
	padding-bottom: 0;
}

.l-main {
	width: 100%;
	background-color: #FFFFFF;
	padding-bottom: 0;
}

/* タイトル */
.ttl_block h2 {
	text-align: center;
	font-size: 24px;
	line-height: 1.75;
	position: relative;
}

.ttl_block h2:after {
	position: absolute;
	content: "";
	display: block;
	background: #DC000C;
	height: 3px;
	width: 165px;
	bottom: -17px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

/* テキスト */
.w-bold {
	font-weight: bold;
}

.c-red {
	color: #DC000C;
}

/* タイトル部分
---------------------*/
.explanation__section {
	padding-bottom: 72px;
}

.explanation__title {
	width: fit-content;
	margin: 0 auto;
	font-size: 36px;
	margin-bottom: 68px;
	position: relative;
	text-align: center;
}

.explanation__title::before,
.explanation__title::after {
	content: '';
	display: block;
	background-color: #D2CECB;
	width: 279px;
	height: 3px;
	position: absolute;
	top: 27px;
	bottom: 0;
}

.explanation__title::before {
	left: -396px;
}

.explanation__title::after {
	right: -396px;
}

.explanation__subtitle {
	display: block;
	font-size: 16px;
	margin-top: 14px;
}

/* タイトル下のコンテンツ
---------------------*/
.upper__contents {
	display: flex;
	justify-content: center;
	gap: 58px;
	margin-bottom: 104px;
}

.upper__image {
	width: 508px;
	height: 286px;
	padding-top: 6px;
}

.upper__detail {
	width: 512px;
}

.upper__title.red-line {
	font-size: 24px;
	font-weight: 700;
	padding-bottom: 8px;
	border-bottom: 4px solid #DC000C;
	width: fit-content;
	margin-bottom: 13px;
}

.upper__text {
	font-size: 16px;
	line-height: 1.75;
	margin-bottom: 28px;
}

.upper__title {
	font-size: 21px;
	margin-bottom: 5px;
}

/* オススメポイント
---------------------*/
.point__contents {
	margin-bottom: 68px;
}

.point__title {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 19px;
	font-size: 21px;
	font-weight: 700;
	margin-bottom: 34px;
	padding: 0 0 0 20px;
}

.point__title::before {
	content: '';
	background-color: #DC000C;
	display: block;
	width: 34px;
	height: 2px;
}

.point__list {
	display: flex;
	justify-content: center;
	gap: 64px;
	padding-right: 9px;
}

.point__item {
	width: 315px;
}

.point__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 84px;
	height: 84px;
	background-color: #DC000C;
	font-size: 36px;
	font-weight: 700;
	color: #FFFFFF;
	border-radius: 50%;
	margin-bottom: 16px;
}

.point__item__title {
	font-size: 21px;
	font-weight: 700;
	line-height: 1.75;
	margin-bottom: 1px;
	height: 74px;
}

.point__item__subtitle {
	color: #DC000C;
}

.point__item__text {
	font-size: 16px;
	line-height: 1.75;
}

/* こんな方にオススメ！
---------------------*/
.targets__title {
	width: fit-content;
	margin: 0 auto 35px;
	font-size: 21px;
	font-weight: 700;
	position: relative;
}

.targets__title::before,
.targets__title::after {
	content: '';
	display: block;
	background-color: #D2CECB;
	width: 279px;
	height: 3px;
	position: absolute;
	top: 5px;
	bottom: 0;
	margin: auto;
}

.targets__title::before {
	left: -434px;
}

.targets__title::after {
	right: -434px;
}

.targets__list {
	display: flex;
	justify-content: center;
	gap: 22px;
}

.targets__item {
	min-width: 251px;
}

.targets__text {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	line-height: 1.8;
}

.targets__text::before {
	content: '';
	background: url(../images/img_targets_illust.png) no-repeat center / contain;
	display: block;
	width: 88px;
	height: 88px;
	margin-bottom: 30px;
}

/* トップリンク
---------------------*/
.link_wrapper {
	margin: 0 0 37px;
    padding: 57px 0 0px;
}

.link_list {
	display: flex;
	justify-content: center;
	gap: 25px;
}

.link_item a {
	display: block;
	width: 288px;
	height: 47px;
	border: 1px solid #DC000C;
	font-size: 17px;
	border-radius: 26px;
	color: #DC000C;
	padding: 11px 0 0 0;
	line-height: 1.5;
	position: relative;
	text-align: center;
	font-weight: 600;
}

.link_item a:before {
	content: "";
	display: block;
	position: absolute;
	left: 25px;
	top: 17px;
	background: url(/pg-newlife/images/icn_contact_arrow.png) no-repeat center / cover;
	width: 7px;
	height: 13px;
}

.link_space {
	margin-top: -150px;
	padding-top: 150px;
}

/* サービス一覧
---------------------*/

.service__section {
	padding-block: 77px;
	background: #F1F1F1;
	padding-bottom: 81px;
}

.service_ttl {
	margin: 0 0 55px;
}

.cont_block.service_block {
	width: 935px;
	margin: 0 auto;
}

.sevice_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 32px 13px;
}

.service_img {
	margin: 0 0 19px;
}

.service_item h3 {
	position: relative;
	display: flex;
	align-items: center;
	font-size: 17px;
	font-weight: 700;
	gap: 12px;
}

.service_item h3:before {
	content: '';
	background: url(/pg-newlife/images/icn_support_arrow.png) no-repeat center / contain;
	display: block;
	width: 24px;
	height: 24px;
	top: -3px;
	position: relative;
}

/* お問合せ
---------------------*/

.content__space.contact__section {
	padding: 0 0 0;
}

.contact_ttl {
	background: url(/pg-newlife/images/bg_contact_ttl.png) no-repeat center / cover;
	height: 161px;
	padding: 48px 0 0;
}

.contact_ttl.ttl_block h2 {
	color: #fff;
	font-size: 36px;
}

.contact_ttl.ttl_block h2:after {
	content: none;
}

.cont_block.contact_block {
	display: flex;
	justify-content: center;
	gap: 59px;
	background: #ccc;
	padding: 77px 0 78px;
}

.contact_area {
	width: 440px;
	text-align: center;
	background: #fff;
	border: 2px solid #D3D3D3;
	padding: 32px 0 40px;
}

.contact_area h3 {
	font-size: 21px;
	line-height: 1.75;
	margin: 0 0 24px;
}

.contact_txt {
	font-size: 16px;
	line-height: 1.75;
	font-weight: 600;
	margin: 0 0 33px;
}

.contact_btn a {
	font-size: 17px;
	line-height: 1.75;
	color: #fff;
	display: block;
	background: #DC000C;
	position: relative;
	width: 322px;
	height: 47px;
	border-radius: 28px;
	padding: 9px 0 0 9px;
	text-align: center;
	margin: 0 auto;
}

.contact_btn a:before {
	content: "";
	display: block;
	position: absolute;
	left: 25px;
	top: 17px;
	background: url(/pg-newlife/images/icn_white_arrow.png) no-repeat center / cover;
	width: 7px;
	height: 13px;
}

/* popup
-----------------------*/
.newlife_popup_wrapper {
	display: none;
	position: fixed;
	bottom: 195px;
	right: 63px;
	z-index: 8;
	width: 369px;
}

.newlife_popup {
	background: #fff;
	border: 6px solid #dc000c;
	border-radius: 30px;
	padding: 16px 0 21px;
}

.newlife_popup.at-footer {
	bottom: 265px;
}

.popup_btn {
	background: #DC000C;
	width: 277px;
	height: 40px;
	border-radius: 32px;
	margin: 0 auto 0px;
	position: relative;
}

.popup_btn:first-of-type {
	margin-bottom: 18px;
}

.newlife_popup:before {
	content: "";
	position: absolute;
	display: block;
	background: url(/pg-newlife/images/newlife_character.png) no-repeat center / cover;
	width: 159px;
	height: 135px;
	left: 47%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	top: -100px;
	z-index: -7;
}

.popup_btn a {
	color: #fff;
	text-align: center;
	font-size: 16px;
	padding: 6px 0 0 4px;
	display: block;
	width: 100%;
	height: 100%;
	line-height: 1.75;
	font-weight: bold;
	position: relative;
}

.popup_btn a:before {
	content: "";
	display: block;
	position: absolute;
	left: 20px;
	top: 13px;
	background: url(/pg-newlife/images/icn_white_arrow.png) no-repeat center / cover;
	width: 7px;
	height: 13px;
}

.newlife_popup_inner p {
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	padding: 0 0 3px;
	letter-spacing: -0.04em;
}

/* 閉じるボタン */
.close_popup_btn {
	cursor: pointer;
	position: absolute;
	top: -48px;
	right: 15px;
}

/* tag
-----------------------*/
.tag__section {
	padding-block: 57px 60px;
	background-color: #EEEEEE;
}

.tag__ttl {
	font-size: 17px;
	font-weight: 700;
	margin-bottom: 20px;
}

.tag__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.tag__item {
	color: #5C5D5D;
	font-size: 14px;
}

.tag__list li:not(:last-child) .tag__item::after {
	content: '|';
	padding: 0 12px;
}