@charset "utf-8";

/* メインエリア
------------------------------------------------------------*/
#first_view::before{top: 372px;}
#first_view::after{left: clamp(2%,3vw,5%);}
@-moz-document url-prefix() {
	#first_view::after{left: 4%;}
}
#main_area{padding: 65px 0 110px;}
#main_area > div{
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 1600px;
	width: 94%;
	margin: 0 auto;
	transform: translateX(2%);
}
.main_text{
	width: 46%;
	max-width: 688px;
	margin-right: 60px;
}
.main_img{width: clamp(640px,50vw,930px);}
.main_text > div{margin-bottom: 60px;}
.main_text > div p:first-child{
	font-size: 15px;
	color: #f7ec63;
	margin-bottom: 30px;
}
.main_text > div p:nth-child(2){margin-bottom: 45px;}
.main_text ul{margin-bottom: 50px;}
.main_text ul li{
	width: 32.5%;
	padding: 25px 15px;
	background: linear-gradient(135deg,rgba(252,237,101,0),rgba(252,237,101,1));
	border-radius: 5px;
}
.main_text ul li img{
	display: block;
	margin: 0 auto 10px;
}
.main_text ul li p{
	text-align: center;
	color: #033b7c;
}
.main_text .btn{
	background: linear-gradient(to right,#1768ff,#22a9f4);
	font-size: 28px;
	text-align: center;
	padding: 25px 0;
	border-radius: 50px;
	box-shadow: 0 0 6px rgba(24,35,96,0.25);
}
.main_text .btn::after{
	width: 13px;
	height: 26px;
	background-color: #fff;
	right: 40px;
}
.main_text a:hover{box-shadow: 0 0 6px rgba(24,35,96,0.55);}

/* ウィルウェルの特長
------------------------------------------------------------*/
.features{position: relative;}
.features::after{
	content: "";
	width: 100%;
	height: 70px;
	background: url("../images/willwell-solves.webp") left / contain repeat-x;
	position: absolute;
	bottom: -42px;
	animation :infinity-scroll-right 40s infinite linear 0.5s both;
	z-index: 2;
}
@keyframes infinity-scroll-right {
  from {
    background-position: 0 0; 
  }
  to {
    background-position: -1000px 0;
  }

}
.features-li{
	background-color: #fff;
	padding: 80px 50px;
	border-radius: 15px;
}
.features-li li{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 45px;
}
.features-li li:not(:last-child){
	padding-bottom: 80px;
	border-bottom: solid 1px #cfd8e5;
	margin-bottom: 75px;
}
.features-li li > img{width: 268px;}
.features-li li > div{width: calc(100% - 268px - 60px);}
.features-li li div div,.features-li li div div p{
	display: flex;
	align-items: center;
}
.features-li li div div{margin-bottom: 30px;}
.features-li li div div p{
	font-size: 74px;
	font-family: 'Lato-Bold';
	color: #f9e462;
	line-height: 1;
}
.features-li li div div p::after{
	content: "";
	width: 1px;
	height: 55px;
	background-color: #cfd8e5;
	margin: 0 30px;
}
.features-li li div div h3{
	font-family: 'NotoSansJP-Bold';
	font-size: 20px;
	letter-spacing: 0.1em
}
.features-li li > div > p{line-height: 2;}

/* ウィルウェルのサービス
------------------------------------------------------------*/
.service{background: url("../images/line-bg.webp") center top 30% / contain no-repeat, linear-gradient(135deg,#6f9f8f,#1984bf,#1051ca);}
.worries-box{
	max-width: 1200px;
	margin: 0 auto 120px;
}
.worries-box h3{
	font-size: 24px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.worries-box h3::before,.worries-box h3::after{
	content: "";
	width: 350px;
	height: 2px;
	background-color: #f4e051;
}
.worries-box ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.worries-box ul li{
	width: 31%;
	background-color: #fff;
	border-radius: 35px;
	padding: 45px 0;
	position: relative;
}
.worries-box ul li::after{
	content: "";
	width: 48px;
	height: 42px;
	background: url("../images/balloon-tail.webp") center / contain no-repeat;
	position: absolute;
	display: block;
	top: 99.5%;
	left: 55px;
}
.worries-box ul li:nth-child(-n+3){margin-bottom: 70px;}
.worries-box ul li p{
	font-size: 18px;
	text-align: center;
	line-height: 2;
	position: relative;
}
.worries-box ul li p::before,.worries-box ul li p::after{
	content: "";
	width: 20px;
	height: 16px;
	display: block;
	background: url("../images/quote.webp") center / contain no-repeat;
	position: absolute;
}
.worries-box ul li p::before{
	top: -15px;
	left: 30px;
}
.worries-box ul li p::after{
	transform: rotate(180deg);
	bottom: -15px;
	right: 30px;
}
.service .flexbox{align-items: center;}
.service .flexbox p{width: calc(100% - 410px - 80px);}
.service > div > p{
	max-width: 900px;
	width: 90%;
	margin: 0 auto 15px;
}
.service .btn{
	max-width: 370px;
	margin: 0 auto;
	border-radius: 5px;
	background-color: #fff;
	color: #033b7c;
}
.service .btn::after{background-color: #033b7c;}

/* お役立ちブログ
------------------------------------------------------------*/
.blog{
	display: flex;
	justify-content: center;
}
.blog > div{
	max-width: 280px;
	width: 25%;
	margin-right: 70px;
}
.blog .btn{background: linear-gradient(to right,#1768ff,#22a9f4);}
.blog .btn::after{background-color: #fff;}
.blog-li{
	max-width: 950px;
	width: 75%;
}
.blog-li li{
	padding: 40px;
	background: #f2f7f9;
	border-radius: 10px;
}
.blog-li li:not(:last-child){margin-bottom: 15px;}
.blog-li li div{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 20px;
	border-bottom: solid 1px #ccc;
	margin-bottom: 25px;
}
.blog-li li div::after{
	content: "";
	width: 10px;
	height: 20px;
	-webkit-mask: url("../images/arrow.svg") no-repeat center;
  	-webkit-mask-size: contain;
 	mask: url("../images/arrow.svg") no-repeat center;
 	mask-size: contain;
	background-color: #033b7c;
}
.blog-li li div > *{
	font-size: 18px;
	font-family: 'NotoSansJP-Bold';
	letter-spacing: 0.08em;
}
.blog-li li h3,.blog-li li div::after{transition: 0.3s;}
.blog-li li h3,.blog-li li a > p{
	position: relative;
	padding-left: 45px;
}
.blog-li li h3{
	width: 100%;
	margin-right: 25px;
}
.blog-li li a > p{line-height: 2;}
.blog-li li h3::before,.blog-li li a > p::before{
    content: "";
    position: absolute;
    width: 30px;
    left: 0;
	top: 0.3rem;
}
.blog-li li h3::before {
    height: 23px;
    background: url(../images/faq_Q.webp) center / contain no-repeat;
}
.blog-li li a > p::before{
	height: 19px;
	background: url(../images/faq_A.webp) center / contain no-repeat;
}
.blog-li li:hover h3{color: #1768ff;}
.blog-li li:hover div::after{
	background: #1768ff;
	transform: translateX(10px);
}

/* 1025px以下から
------------------------------------------------------------*/
@media only screen and (max-width:1025px){
	
	/* メインエリア
	------------------------------------------------------------*/
	#first_view::before{top: 255px;}
	#main_area{padding: 45px 0 80px;}
	.main_text{
		width: 54%;
		margin-right: 30px;
	}
	.main_img{width: 48%;}
	.main_text > div{margin-bottom: 40px;}
	.main_text > div p:first-child{
		font-size: 12px;
		margin-bottom: 15px;
	}
	.main_text > div p:nth-child(2){
		margin-bottom: 25px;
		max-width: 420px;
	}
	.main_text > div p:last-child{font-size: 16px!important;}
	.main_text ul{margin-bottom: 45px;}
	.main_text ul li{padding: 15px 10px;}
	.main_text ul li img{width: 60px;}
	.main_text .btn{
		font-size: 19px;
		padding: 20px 0;
	}
	.main_text .btn::after{
		width: 8px;
		height: 16px;
		right: 20px;
	}
	.main_text .btn:hover{box-shadow: 0 0 6px rgba(24,35,96,0.55);}

	/* ウィルウェルの特長
	------------------------------------------------------------*/
	.features::after{
		height: 45px;
		bottom: -25px;
	}
	.features-li{
		padding: 60px 30px;
		border-radius: 10px;
	}
	.features-li li{padding: 0 15px;}
	.features-li li:not(:last-child){
		padding-bottom: 60px;
		margin-bottom: 60px;
	}
	.features-li li > img{width: 180px;}
	.features-li li > div{width: calc(100% - 180px - 40px);}
	.features-li li div div{margin-bottom: 20px;}
	.features-li li div div p{font-size: 50px;}
	.features-li li div div p::after{
		height: 45px;
		margin: 0 20px;
	}
	.features-li li div div h3{font-size: 16px;}

	/* ウィルウェルのサービス
	------------------------------------------------------------*/
	.worries-box{margin: 0 auto 90px;}
	.worries-box h3{font-size: 18px;}
	.worries-box h3::before,.worries-box h3::after{width: 250px;}
	.worries-box ul li{
		border-radius: 25px;
		padding: 35px 0;
	}
	.worries-box ul li::after{
		width: 34px;
		height: 30px;
		left: 35px;
	}
	.worries-box ul li:nth-child(-n+3){margin-bottom: 60px;}
	.worries-box ul li p{
		font-size: 16px;
		line-height: 1.6;
	}
	.worries-box ul li p::before,.worries-box ul li p::after{
		width: 15px;
		height: 12px;
	}
	.worries-box ul li p::before{left: 20px;}
	.worries-box ul li p::after{right: 20px;}
	.service .flexbox img{width: 300px;}
	.service .flexbox p{width: calc(100% - 300px - 40px);}
	.service > div > p{margin-bottom: 10px;}
	.service .btn{
		max-width: 300px;
		border-radius: 5px;
	}

	/* お役立ちブログ
	------------------------------------------------------------*/
	.blog > div{margin-right: 50px;}
	.blog-li li{
		padding: 30px;
		border-radius: 5px;
	}
	.blog-li li:not(:last-child){margin-bottom: 15px;}
	.blog-li li div{
		padding-bottom: 15px;
		margin-bottom: 15px;
	}
	.blog-li li div::after{
		width: 8px;
		height: 16px;	
	}
	.blog-li li div > *{font-size: 16px;}
	.blog-li li div > p,.blog-li li h3{margin-right: 20px;}
	.blog-li li h3,.blog-li li a > p{padding-left: 35px;}
	.blog-li li h3::before,.blog-li li a > p::before{width: 25px;}
	.blog-li li h3::before {height: 20px;}
	.blog-li li a > p::before{height: 16px;}
}

/* 750px以下から
------------------------------------------------------------*/
@media only screen and (max-width:750px){
	
	/* メインエリア
	------------------------------------------------------------*/
	#main_area > div{
		flex-wrap: wrap;
		flex-direction:column-reverse;
		transform: translateX(0);
	}
	.main_text,.main_img{
		width: 100%;
		margin-right:0;
	}
	.main_img{
		max-width: 600px;
		margin-bottom: 20px;
	}
	.main_text > div p:nth-child(2){width: 90%;}
	
	/* ウィルウェルの特長
	------------------------------------------------------------*/
	.features::after{
		height: 35px;
		bottom: -19px;
	}
	.features-li li{
		flex-wrap: wrap;
		padding: 0;
	}
	.features-li li > img{margin: 0 auto 25px;}
	.features-li li > div{width: 100%;}
	
	/* ウィルウェルのサービス
	------------------------------------------------------------*/
	.service{
		background-size: auto 500px,cover;
		background-position: center top 10%,center;
	}
	.worries-box h3::before, .worries-box h3::after{width: 120px;}
	.worries-box ul li{width: 48%;}
	.worries-box ul li:nth-child(-n+4){margin-bottom: 60px;}
	.service .flexbox{justify-content: center;}
	.service .flexbox img{margin: 0 auto 30px;}
	.service .flexbox img,.service .flexbox p,.service > div > p{width: 100%;}
	
	/* お役立ちブログ
	------------------------------------------------------------*/
	.blog{flex-wrap: wrap;}
	.blog-li,.blog > div{width: 100%;}
	.blog > div{margin: 0 auto 30px 0;}
	.blog-li li h3{
		margin-right: 0;
		width: calc(100% - 20px);
	}
}

/* 500px以下から
------------------------------------------------------------*/
@media only screen and (max-width:500px){
	
	/* メインエリア
	------------------------------------------------------------*/
	#first_view::before{top: 130px;}
	.main_text > div{margin-bottom: 25px;}
	.main_text ul {
		justify-content: center;
		margin-bottom: 30px;
	}
	.main_text ul li{
		width: 48%;
		margin: 0;
	}
	.main_text ul li:first-child{margin-right: 2%;}
	.main_text ul li:nth-child(-n+2){margin-bottom: 10px;}

	/* ウィルウェルの特長
	------------------------------------------------------------*/
	.features::after{
		height: 65px;
		background-image: url("../images/willwell-solves_SP.webp");
		bottom: -35px;
	}
	.features-li{padding: 50px 20px;}
	
	/* ウィルウェルのサービス
	------------------------------------------------------------*/
	.worries-box h3::before, .worries-box h3::after{width: 15%;}
	.worries-box ul li{
		padding: 20px 0;
		border-radius: 15px;
	}
	.worries-box ul li p{font-size: 14px;}
	.worries-box ul li p::before, .worries-box ul li p::after{
		width: 12px;
		height: 9px;
	}
	.worries-box ul li p::before{
		top: -10px;
		left: 12px;
	}
	.worries-box ul li p::after{
		right: 12px;
		bottom: -10px;
	}

	/* お役立ちブログ
	------------------------------------------------------------*/
	.blog-li li{padding: 30px 15px;}
	.blog-li li div{flex-wrap: wrap;}
	.blog-li li div::after{
		top: auto;
		bottom: 20px;
	}
	.blog-li li div > p{margin: 0 0 5px 0;}
}