@charset "utf-8";
.overlay {
		background: #d0deba;
}
main {
		position: relative;
}
main .mamru_hdr {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		pointer-events: none;
		background-repeat: no-repeat;
		background-position: center top;
		background-size: 2560px;
}
.mamoru_hdr-1 {
		background-image: image-set(url("../images/mamoru_bg_pc-0.webp") type("image/webp"), url("../images/mamoru_bg_pc-0.png") type("image/png"))
}
.mamoru_hdr-2 {
		background-image: image-set(url("../images/mamoru_bg_pc-1.webp") type("image/webp"), url("../images/mamoru_bg_pc-1.png") type("image/png"))
}
.mamoru_hdr-3 {
		background-image: url(../images/mamoru_bg_pc-2.png);
}
p.total_hd {
		font-size: 20px;
		font-weight: 700;
		margin: 0 0 20px
}
.top_total {
		text-align: center;
		font-family: "Montserrat", sans-serif;
		font-optical-sizing: auto;
		font-size: 90px;
		font-weight: 600;
		font-style: normal;
		color: #48A63F;
		line-height: 1;
}
.top_total span.comma {
		font-size: 80%;
}
.top_total sup {
		font-size: 30px;
}
@media(max-width: 960px) {
		main .mamru_hdr {
				background-size: 1200px;
		}
		.mamoru_hdr-1 {
				background-image: url("../images/mamoru_bg_mid-0.png");
		}
		.mamoru_hdr-2 {
				background-image: url("../images/mamoru_bg_mid-1.png");
		}
		.mamoru_hdr-3 {
				background-image: url("../images/mamoru_bg_mid-2.png");
		}
		.top_total {
				font-size: 68px;
		}
		.top_total span.comma {
				font-size: 80%;
		}
		.top_total sup {
				font-size: 30px;
		}
}
@media(max-width: 767px) {
		main {
				background: none;
		}
		.second_hdr.mamoru {
				background-repeat: no-repeat;
				background-position: center bottom;
				background-size: 100%;
				background-image: image-set(url("../images/mamoru_bg_sp.webp") type("image/webp"), url("../images/mamoru_bg_sp.png") type("image/png"))
		}
		h1.second_title::before {
				background-image: url("../images/mamoru_header_bg0-1_sp.png");
				top: -30px;
				height: 43px
		}
		h1.second_title::after {
				background-image: url("../images/mamoru_header_bg0-2_sp.png");
				height: 32px;
				bottom: -32px;
		}
		p.total_hd {
				font-size: 15px;
				margin: 0 0 15px;
				text-align: center;
				position: relative;
		}
		p.total_hd::before {
				content: '';
				display: block;
				position: absolute;
				top: -38px;
				left: 0;
				width: 100%;
				height: 45px;
				background-repeat: no-repeat;
				background-position: center center;
				background-size: 375px;
				background-image: url("../images/mamoru_header_bg1_sp.png")
		}
		.top_total {
				font-size: 44px;
				position: relative;
		}
		.top_total sup {
				font-size: 16px;
		}
		.top_total::before {
				content: '';
				display: block;
				position: absolute;
				bottom: -70px;
				left: 0;
				width: 100%;
				height: 60px;
				background-repeat: no-repeat;
				background-position: center center;
				background-size: 375px;
				background-image: url("../images/mamoru_header_bg2_sp.png")
		}
}
/* ========= */
.section {
		margin-bottom: 90px;
}
.section.section-3 {
		margin-bottom: 180px;
}
.section_wrap {
		max-width: 1220px;
		margin: 0 auto;
		padding: 0 40px;
}
@media(max-width: 1500px) {
		.section_wrap {
				max-width: 960px;
		}
}
@media(max-width: 767px) {
		.section {
				margin-bottom: 80px;
		}
		.section.section-3 {
				margin-bottom: 120px;
		}
		.section_wrap {
				padding: 0 20px;
		}
}
.second_col_inner {
		padding: 60px 100px
}
.second_col_inner h2 {
		text-align: center;
		font-size: 44px;
		font-weight: 700;
		color: #48A63F;
		line-height: 1.4;
		margin: 0 0 25px;
}
.mamoru_lead {
		text-align: center;
		line-height: 1.8;
		margin: 0 0 60px;
		font-size: 18px;
		font-weight: 700;
}
@media(max-width: 1700px) {
		.second_col_inner {
				padding: 40px 30px
		}
		.second_col_inner h2 {
				font-size: 38px;
		}
		.mamoru_lead {
				margin: 0 0 30px;
		}
}
.section-1_flex_wrap {
		background-position: center center;
		background-size: 476px;
		background-image: url("../images/top_col_figure_bg2.jpg");
		border-radius: 60px;
		overflow: hidden;
		position: relative;
		padding: 40px 20px;
		box-sizing: border-box;
		max-width: 920px;
		margin: 0 auto 30px
}
.section-1_flex {
		display: flex;
		justify-content: space-between;
		max-width: 690px;
		margin: 0 auto;
}
.section-1_flex img {
		width: 100%;
		height: auto;
}
.section-1_flex_item {
		width: 230px;
}
.section-1_flex_figure.extra {
		width: 310px;
		position: relative;
		left: -40px;
}
.section-1_flex_figure {
		margin: 0 0 15px
}
.section-1_flex_item p {
		text-align: center;
		line-height: 1.4;
		font-weight: 700;
		font-size: 20px;
}
.top_arw_center {
		display: flex;
		justify-content: center;
		margin: 0 0 20px;
}
.top_arw {
		width: 48px;
}
.top_arw img {
		width: 100%;
		height: auto
}
.section-1_upper {
		font-size: 24px;
		font-weight: 700;
		text-align: center;
		margin: 0 0 25px
}
.section-1_bottom {
		font-size: 40px;
		font-weight: 700;
		text-align: center;
		line-height: 1.4;
		color: #48A63F;
}
/* ============ */
.section-2_flex {
		display: flex;
		justify-content: space-between;
		max-width: 970px;
		margin: 0 auto;
}
.section-2_flex img {
		width: 100%;
		height: auto
}
.section-2_flex_item {
		width: 215px;
}
.section-2_flex_figure {
		margin-bottom: 10px;
}
.section-2_flex_item p {
		text-align: center;
		line-height: 1.4;
		font-weight: 700;
		font-size: 20px;
}
/* ============ */
.section-3_flex {
		display: flex;
		justify-content: space-between;
		max-width: 1040px;
		margin: 0 auto;
}
.section-3_flex img {
		width: 100%;
		height: auto
}
.section-3_flex_item {
		width: 320px;
}
.section-3_flex_item_figure {
		margin-bottom: 10px;
}
.section-3_flex_item_figure img {
		border-radius: 40px;
}
.section-3_flex_item_caption {
		height: 4em;
		display: flex;
		align-items: center;
		justify-content: center;
}
.section-3_flex_item_caption p {
		text-align: center;
		line-height: 1.5;
		font-weight: 700;
		font-size: 16px;
}
@media(max-width: 1500px) {
		.mamoru_lead {
				margin: 0 0 60px;
				font-size: 16px;
		}
		.section-1_flex_item {
				width: calc(100% / 3);
		}
		.section-1_flex_figure.extra {
				width: calc(100% + 80px);
				left: -40px;
		}
		.section-2_flex_item {
				width: calc(calc(100% - 40px) * 0.25);
		}
		.section-3_flex_item {
				width: calc(calc(100% - 40px) / 3);
		}
		.section-3_flex_item_figure img {
				border-radius: 30px;
		}
}
@media(max-width: 960px) {
		.section-1_flex_item p {
				font-size: 16px;
		}
		.section-1_bottom {
				font-size: 32px;
		}
		.second_col_inner h2 {
				font-size: 32px;
		}
		.section-1_flex_figure.extra {
				width: calc(100% + 40px);
				left: -30px;
		}
		.section-3_flex_item_caption p {
				font-size: 14px;
		}
}
@media(max-width: 767px) {
		.section-1_flex_wrap {
				border-radius: 20px;
		}
		.second_col_inner {
				padding: 40px 20px;
		}
		.second_col_inner h2 {
				font-size: 20px;
		}
		.mamoru_lead {
				line-height: 1.8;
				font-size: 15px;
				margin: 0 0 25px;
				text-align: justify;
		}
		.section-1_upper {
				font-size: 20px;
				margin: 0 0 15px;
		}
		.section-1_flex, .section-3_flex {
				display: block
		}
		.section-1_flex_item, .section-3_flex_item {
				width: 80% !important;
				margin: 0 auto 30px;
				max-width: 300px;
		}
		.section-2_flex {
				display: flex;
				justify-content: space-between;
				flex-wrap: wrap
		}
		.section-2_flex_item {
				width: calc(50% - 10px);
				margin: 0 0 25px
		}
		.section-1_flex .section-1_flex_item:last-child {
				margin-bottom: 0;
		}
		.section-1_flex_figure.extra {
				width: 100%;
				left: inherit
		}
		.section-1_bottom {
				font-size: 24px;
		}
		.top_arw {
				width: 30px;
		}
		.section-2_flex_item p {
				font-size: 15px;
		}
		.section-3_flex_item_caption {
				height: auto;
				display: block;
		}
		.section-3_flex_item_caption p {
				font-size: 15px;
		}
}
/* ============= */
.section-1, .section-2, .section-3 {
		position: relative;
}
.section-1 .second_col {
		z-index: 1
}
.section-2 .second_col {
		z-index: 5
}
.section-3 .second_col {
		z-index: 10
}
.section-1::after, .section-2::before, .section-2::after, .section-3::before, .section-3::after {
		content: '';
		display: block;
		position: absolute;
		left: 0;
		width: 100%;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 1700px;
		pointer-events: none;
}
.section-1::after {
		background-image: image-set(url("../images/mamoru_bg-1_pc.webp") type("image/webp"), url("../images/mamoru_bg-1_pc.png") type("image/png"));
		height: 638px;
		z-index: 3;
		bottom: -490px;
}
.section-2 .second_col_inner {
		position: relative;
		z-index: 7
}
.section-2::before {
		background-image: image-set(url("../images/mamoru_bg-2_pc.webp") type("image/webp"), url("../images/mamoru_bg-1_pc.png") type("image/png"));
		height: 570px;
		z-index: 8;
		top: -440px;
}
.section-3::before {
		background-image: image-set(url("../images/mamoru_bg-3_pc.webp") type("image/webp"), url("../images/mamoru_bg-3_pc.png") type("image/png"));
		height: 543px;
		top: -40px
}
.section-3::after {
		background-image: url("../images/mamoru_bg-4_pc.png");
		height: 145px;
		top: -70px;
		z-index: 10
}
@media(max-width: 767px) {
		.section-1::after, .section-2::before, .section-2::after, .section-3::before, .section-3::after {
				background-size: 100%;
		}
		.section-1::after {
				background-image: url("../images/mamoru_bg-1_sp.png");
				height: 44.2vw;
				bottom: calc(-22vw - 40px);
				z-index: 0
		}
		.section-2::before {
				background-image: url("../images/mamoru_bg-2_sp.png");
				height: 55vw;
				top: calc(-23vw - 40px);
		}
		.section-3::before {
				background-image: url("../images/mamoru_bg-3_sp.png");
				height: 66vw;
				top: calc(-33vw - 40px);
				z-index: 0
		}
		.section-3::after {
				background-image: url("../images/mamoru_bg-4_sp.png");
				height: 23vw;
				top: -14vw;
		}
}