@charset "UTF-8";

.l-bnr {
	border-top: 1px solid #cfc4c6;
}


/*---------------------------------------------------------
 Page common
---------------------------------------------------------*/
.reason-wrap {
	counter-reset: rsnCounter;
}

/* Page common - color
-----------------------------------------------*/
.reason--01 {
	--accent-color: #fc8677;
	--bg-color: #feebed;
	--grd-color: #fed7dc;
}
.reason--02 {
	--accent-color: #fc9e49;
	--bg-color: #fef0db;
	--grd-color: #fee1b6;
}
.reason--03 {
	--accent-color: #6fb13f;
	--bg-color: #e7f3de;
	--grd-color: #cee6bd;
}
.reason--04 {
	--accent-color: #4293c5;
	--bg-color: #e2eef6;
	--grd-color: #c4dded;
}
.reason--05 {
	--accent-color: var(--color-ppl);
	--bg-color: #e8e8f4;
	--grd-color: #d1d1e9;
}

/* Page common - parts
-----------------------------------------------*/
.reason::before {
	position: absolute;
	content: "";
	color: #FFF;
	background-color: var(--grd-color);
	mask: url(../images/common/path-corner.svg) no-repeat center;
	-webkit-mask: url(../images/common/path-corner.svg) no-repeat center;
	mask-size: 100% 100%;
	-webkit-mask-size: 100% 100%;
	width: min(20%,217px);
	aspect-ratio: 217/173;
	left: 0;
	top: 0;
}
.reason .c-bg-color {
	height: 500px;
	background: linear-gradient(to bottom, var(--bg-color), transparent);
}
.rsn-index {
	display: flex;
	align-items: flex-end;
	column-gap: 1.5em;
	color: var(--accent-color);
	font-size: min(1.8vw,125%);
	line-height: 1.5;
	letter-spacing: .1em;
	margin-bottom: 2em;
}
.rsn-index .u-fw--bld {
	padding: 0 .3em .8em;
	background-image: radial-gradient(circle, currentColor 2px, transparent 2px);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: 10px 4px;
}
.rsn-no {
	position: relative;
	counter-increment: rsnCounter;
	width: 1.1em;
	font: var(--font-en);
	font-size: 515%;
	letter-spacing: .1em;
	line-height: 0.8;
}
.rsn-no::before {
	content: counter(rsnCounter, decimal-leading-zero);
}
/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

.reason .l-flt__img {
	width: 46%;
}
.reason .c-hdg--min.u-size--40 {
	font-size: min(3vw,250%);
}
.rsn-no {
	margin-top: -0.5em;
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.reason::before {
	width: 30%;
}
.reason .l-flt__img {
	width: 92%;
}
.rsn-index {
	font-size: 100%;
	margin-bottom: 1.5em;
}
.rsn-no {
	font-size: 380%;
}
}

/* Page common - p-bg-list
-----------------------------------------------*/
.p-bg-list {
	position: relative;
	display: grid;
}
.p-bg-list > * {
	background-color: #fff;
	box-shadow: 0 40px 30px -30px rgb(0 0 0 / 0.2);
}
.p-bg-list .p-bg-list__img {
	position: relative;
	width: 100%;
}
.p-bg-list .p-bg-list__img img {
	width: 100%;
}
.p-bg-list .p-bg-list__txt {
	padding: 8% 8% 10%;
}
.p-bg-list .c-hdg--min {
	text-align: center;
	color: var(--accent-color);
} 
.p-bg-list .c-hdg--min span {
	display: block;
	color: var(--color-base);
	font-size: 84%;
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.p-bg-list {
	justify-content: space-between;
	row-gap: 5em;
}
.p-bg-list.is-col2 {
	grid-template-columns: repeat(2,min(49.1%,600px));
}
.p-bg-list.is-col3 {
	grid-template-columns: repeat(3,min(32%,390px));
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.p-bg-list {
	width: 90%;
	row-gap: 1.6em;
	margin-inline: auto;
}
.p-bg-list > * {
	box-shadow: 0 30px 20px -25px rgb(0 0 0 / 0.2);
}
}


/*---------------------------------------------------------
 Layout
---------------------------------------------------------*/

/* Layout - reason01
-----------------------------------------------*/
.reason--01 .p-bg-list {
	text-align: center;
}
.reason--01 .p-bg-list > li {
	padding: 1px 6% 10%;
}
.reason--01 .p-bg-list .c-hdg--bbl {
	max-width: 16.5em;
	color: #FFF;
	font-size: min(1.6vw,125%);
	background-color: var(--color-pnk);
	padding: 1em .6em;
	margin: -2em auto 1.6em;
}
.reason--01 .p-bg-list > li:nth-of-type(even) .c-hdg--bbl {
	background-color: #fc9b7d;
}
.reason--01 .p-bg-list img {
	width: 70%;
	max-width: 215px;
	margin: 0 auto 6%;
}
.reason--01 .p-bg-list .u-font-min {
	font-size: min(1.7vw,125%);
	line-height: 1.5;
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.reason--01 .p-bg-list {
	row-gap: 3.5em;
}
.reason--01 .p-bg-list .c-hdg--bbl {
	font-size: 100%;
}
.reason--01 .p-bg-list .u-font-min {
	font-size: 105%;
}
}


/* Layout - reason02
-----------------------------------------------*/
.c-bnr-m {
	box-shadow: 0 40px 30px -30px rgb(0 0 0 / 0.2);
}


/* Layout - reason04
-----------------------------------------------*/
.protect-col2__txt li {
	background-color: #fff;
	padding: 4% 5%;
	margin-bottom: 9px;
}
.protect-col2__txt .c-hdg--bld {
	color: var(--accent-color);
}
/* PC,Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {

.protect-col2 {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
}
.protect-col2__txt {
	width: 55%;
}
.protect-col2__img {
	width: 40%;
}
.protect-col2 .c-btn-radi a {
	width: 18.5em;
	font-size: min(1.4vw,.9rem);
}
}
/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.protect-col2__img {
	margin-bottom: 6%;
}
.protect-col2__txt li {
	padding: 6% 7%;
	margin-bottom: 6px;
}
}



/* Layout - reason04
-----------------------------------------------*/
.reason--04 .total {
	width: 90%;
	max-width: 980px;
	padding-top: 4%;
	border-top: 1px solid var(--color-bdr);
	margin-inline: auto;
}
.reason--04 .total .c-hdg--min {
	text-align: center;
	margin-bottom: 1em;
}

.reason--04 .c-txt--circle {
	font-size: min(2vw,140%);
    line-height: 1.4;
    width: min(8.5em);
	min-width: 8.5em;
}
.reason--04 .c-txt--circle span {
	display: block;
	color: #ffff96;
	font-size: 120%;	
}
.reason--04 .c-txt--circle:nth-of-type(even) {background-color: #54b4e4;}

.reason--04 .p-bg-list__img {
	text-align: center;
	-webkit-mask-image: linear-gradient(to top, transparent 10%, black 70%);
	mask-image: linear-gradient(to top, transparent 10%, black 70%);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: auto;
    mask-size: auto;
	margin-bottom: -10%;
}
.reason--04 .p-bg-list__txt {
	padding-top: 0;
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

.reason--04 .total {
	padding-top: 8%;
}
.reason--04 .c-txt--circle {
	font-size: 90%;
}
}



/*---------------------------------------------------------
 
---------------------------------------------------------*/

/* PC,Tablet
------------------------------------------*/
@media only screen and (min-width: 768px) {

}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {

}

