/*-------------------------------
	f view
-------------------------------*/

.f_view {
	height: 80rem;
		min-height: 100vh;
	background:url(../images/bg_fview.jpg) no-repeat center / cover;
	/* padding-top:234px; */
	/* padding-bottom:60px; */
	/* padding-top:150px; */
	/* padding-bottom:50px; */
	padding-top: 70px;
	padding-bottom: 0;
}

.f_view_inner {
    width: min(90%,780px);
	max-width:1000px;
	/* padding:0 50px; */
	padding : 60px 0px 45px;
	margin:0 auto;
	position: absolute;
		top: 55%;
		left: 50%;
		transform: translate(-50%, -50%);
}

.f_view_title {
	position:relative;
	padding:0 18px 18px 0;
	background:url(../images/bg_ftitle.png) repeat-x bottom center / 12px 310px;
}

.f_view_title::before {
	content:"";
	display: block;
	width:100%;
	height:100%;
	background:rgba(91,198,255,0.3);
	position:absolute;
	left:0;
	top:0;
}

.f_view_title::after {
	content:"";
	display: block;
	width:76px;
	height:89px;
	background:url(../images/icon_clean.png) no-repeat center / contain;
	position:absolute;
	left:0;
	right:0;
	top:-40px;
	margin:0 auto;
}

.f_view_title_inner {
	position:relative;
	background:rgba(255,255,255,0.75);
	/* padding:60px 30px; */
	padding: 55px 0 25px;
}

.f_view_title h2 {
	/* margin-bottom:1.5em; */
	margin-bottom: 15px;
}

.f_view_title h2 span {
	font-size:2.6rem;
	letter-spacing: 0.1em;
	font-weight:700;
	position:relative;
	padding:0.5em 2.7em;
}

.f_view_title h2 span::before,
.f_view_title h2 span::after {
	content:"";
	display: block;
	width:60px;
	height:2px;
	background:#5bc6ff;
	position:absolute;
	top:0;
	bottom:0;
	margin:auto 0;
}

.f_view_title h2 span::before {
	left:0;
	transform:rotate(45deg);
}

.f_view_title h2 span::after {
	right:0;
	transform:rotate(-45deg);
}

.f_view_title h1 span {
	font-size:2.8rem;
	font-weight:500;
}

.f_view_title h1 strong {
	/* font-size:4.8rem; */
	font-size: 4rem;
	font-weight:900;
	color:#fff;
	display: block;
	text-align:center;
	/* padding:0 0.125em; */
	margin:0 2px;
	line-height: 1.0;
	padding: 0.2em 0.125em 0.25em;
}

.f_title_text02 {
	/* margin:20px 0 30px; */
	margin: 10px 0 15px;
}

.f_title_text02 strong:last-of-type {
	margin-right:8px;
}

.f_view_title figure {
	/* max-width:442px; */
	max-width:400px;
	margin:0 auto;
}
.f_view_title .bg_gra_blue {
	background: rgb(8,92,206);
	background: linear-gradient(180deg, rgba(8,92,206,1) 0%, rgba(77,185,243,1) 100%);
}

.f_view_title .bg_gra_green {
	background: rgb(43,135,22);
	background: linear-gradient(180deg, rgba(43,135,22,1) 0%, rgba(110,181,98,1) 100%);	
}

.f_img {
	max-width:790px;
	/* margin:30px auto 0; */
	margin: 20px auto 0;
}

.f_img_block {
	width:30%;
	max-width:204px;
}

.f_img_block:nth-of-type(odd) {
	/* margin-top:35px; */	
	margin-top: 25px;
}

.f_img_block figure {
	overflow:hidden;
	border-radius: 50%;
	width:100%;
	border:5px solid;
}

.f_img_block h4 {
	font-weight:500;
	/* font-size:2.2rem; */
	padding:0.3em 0.5em;
	border-radius:34px;
	/* margin-top:-1.25em; */
	position:relative;
	font-size:2rem;
	margin-top: -2rem;
}

.f_img_block01 figure {
	border-color:#5bc6ff;
}

.f_img_block01 h4 {
	background:#5bc6ff;
}

.f_img_block02 figure {
	border-color:#5ea4ff;
}

.f_img_block02 h4 {
	background:#5ea4ff;
}

.f_img_block03 figure {
	border-color:#88cf9c;
}

.f_img_block03 h4 {
	background:#88cf9c;
}

/*-------------------------------
	sec top
-------------------------------*/

.sec_top {
	padding-top:100px;
	background:url(../images/bg_sec_top.jpg) no-repeat center bottom / cover;
}

.sec_top .inner {
	position:relative;
}

.sec_top::before {
	content:"";
	display: block;
	width:100%;
	height:54%;
	background: rgb(255,255,255);
	background: linear-gradient(180deg, rgba(255,255,255,1) 40%, rgba(255,255,255,0) 100%);
	position:absolute;
	left:0;
	top:0;
}

.sec_top .affe_wrap {
	margin-bottom:80px;
}

.sec_top .affe_img {
	margin-top:2em;
}

.sec_top .affe_txt .btn {
	display: none;
}

.sec_top .stripe img {
	width:343px;
	vertical-align: baseline;
	margin:0 0.25em 0 0;
}

/*-------------------------------
	service	
-------------------------------*/

.service_block {
	width:32%;
	max-width:380px;
	border-radius: 20px;
	padding:20px;
	margin-bottom:35px;
	border: 4px solid #5ea4ff;
}


.ser_img {
	border-radius: 0px;
	margin-bottom:15px;
}

.ser_img img {
	border-radius: 20px;
	overflow: hidden;
	aspect-ratio: 4/3;
	object-fit: cover;
	width: 100%;
}

.ser_txt h3,
.ser_txt h3 span {
	color:#6aabff;
	font-weight:500;
}

.ser_txt h3 {
	font-size:2.1rem;
	padding:0 0 0.35em 2.1em;
	position:relative;
	margin-bottom:0.75em;
	font-feature-settings: "palt";	
}

.ser_txt h3 span {
	font-size:1.8rem;
	display: inline-block;
	font-feature-settings: "palt";
}

.ser_txt h3::before,
.ser_txt h3::after {
	content:"";
	display: block;
}

.ser_txt h3::before {
	width:38px;
	height:38px;
	background:url(../images/icon_cloth01.png) no-repeat center / contain;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto 0;
}

.ser_txt h3::after {
	width:calc(100% - 2.1em);
	height:2px;
	background:#6aabff;
	position:absolute;
	right:0;
	bottom:0;
}

.service_block:nth-of-type(even) {
	border-color:#5bc6ff;
}

.service_block:nth-of-type(even) .ser_txt h3,
.service_block:nth-of-type(even) .ser_txt h3 span {
	color:#5bc6ff;
}

.service_block:nth-of-type(even) .ser_txt h3::before {
	background:url(../images/icon_cloth02.png) no-repeat center / contain;
}

.service_block:nth-of-type(even) .ser_txt h3::after {
	background:#5bc6ff;
}

.ser_txt .ten_list li {
	font-weight:700;
	font-size:1.8rem;
}

.ser_txt .ten_list li span {
	font-weight:400;
	padding-right:0.5em;
	font-size:1.8rem;
}

.service_block:nth-of-type(even) .ser_txt .ten_list li::before {
	color:#5bc6ff;
}

@media screen and (min-width: 600px) {
	.service-btn{
		margin-top: 3rem;
	}
}
/*-------------------------------
	greeting
-------------------------------*/

.greeting {
	position:relative;
}
.greeting .h_title {
    margin-bottom: 2.65em;
}

.greeting::after {
	content:"";
	display: block;
	width:100%;
	min-width:1500px;
	height:220px;
	background:url(../images/bg_city.png) repeat-x center bottom / contain;
	position:absolute;
	left:0;
	bottom:0;
}

.greeting .inner {
	padding-top:150px;
	padding-bottom:320px;
	background:url(../images/bg_cloud01.png) no-repeat center top / cover;
}

.greeting .affe_txt p {
	line-height:2.25;
}

.greeting .affe_img {
	max-height:100%;
}

.greeting .affe_img img {
	max-height:420px;
}

.greeting .affe_img figcaption span {
	padding-left:1em;
}

.greeting .affe_wrap {
	margin-bottom:90px;
}

.promise_wrap {
	margin-top:70px;
}

.promise_wrap .elli_inner {
	padding:0 40px 40px;
	margin-top:-5rem;
	background:linear-gradient(180deg, transparent 5rem, #fff 5rem, #fff 100% )
}

.promise_wrap .shake_list li {
	font-size:1.8rem;
}


/*-------------------------------
	area
-------------------------------*/

.area {
	margin-top:-100px;
	background:url(../images/bg_cloud02.png) no-repeat center bottom / contain;
	padding-top:100px;
	padding-bottom:150px;
}

.area .head_p {
	font-size:1.6rem;
	line-height:2.25;
}

.area .inner {
	position:relative;
}

.area::before {
	content:"";
	display: block;
	width:calc(100% - 100px);
	max-width:1200px;
	height:50%;
	background:#fff;
	border-radius:30px 30px 0 0;
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	top:0px;
}

.area_wrap {
	border-radius:2rem;
	overflow:hidden;
	max-width:1060px;
	margin:0 auto;
}

/*-------------------------------
	blog
-------------------------------*/

.blog {
	padding-bottom:100px;
}

.blog .h_title {
	margin-bottom:2.65em;
}

.blog_list {
	padding-bottom:50px;
}

/*-------------------------------
	flow
-------------------------------*/

.flow {
	padding-top:80px;
	background:url(../images/bg_top_flow.jpg) no-repeat center / cover;
}

.bg_white_wrap {
	background:rgba(255,255,255,0.8);
	border-radius: 2rem;
	padding:100px 80px 90px;
	margin-bottom:100px;
}

.step_wrap {
	max-width:1020px;
	margin:0 auto;
	padding-top:50px;
}

.step_wrap li:not(:last-of-type) {
	padding-bottom:50px;
	position:relative;
}

.step_wrap li:not(:last-of-type)::after {
	content:"";
	display: block;
	width:2px;
	height:calc(100% - 90px - 20px);
	background:#5ea4ff;
	position:absolute;
	left:44px;
	bottom:10px;
}

.step_no {
	width:90px;
	height:90px;
	border-radius:50%;
	background:#5ea4ff;
	color:#fff;
	font-size:2.1rem;
	text-align:center;
	line-height:1;
	padding:0.9em 0;
}

.step_txt {
	width:calc(100% - 90px);
	padding-left:30px;
}

.step_txt p {
	font-size:1.8rem;
}

.step_no span {
	color:#fff;
	font-size:3.2rem;
}

.step_txt h3 {
	font-size:3rem;
	font-weight:500;
	margin:0.5em 0;
}

.flow .elli_inner {
	padding:0 80px 100px;
}

.flow .elli_inner h3 {
	max-width:500px;
}
.flow .elli_inner .maru_list{
	padding-left: 35px;
}
.flow .elli_inner .maru_list li {
	font-size:1.8rem;
}

/*-------------------------------
	faq
-------------------------------*/

.faq {
	padding-bottom:100px;
}

.faq .faq_wrap {
	margin-bottom:120px;
}

/*-------------------------------
	responsive
-------------------------------*/

@media screen and (max-width:960px){

/*-------------------------------
	f view
-------------------------------*/

.f_view_title h2 span {
	font-size:2.4rem;
}


.f_view_title h1 strong {
	font-size:4.4rem;
}

.f_img_block h4 {
	font-size:2rem;
}

/*-------------------------------
	service	
-------------------------------*/

.service_block {
	width:48%;
}

/*-------------------------------
	greeting
-------------------------------*/

.greeting .affe_txt {
	margin-top:2.5rem;
}


@media screen and (max-width:720px){

/*-------------------------------
	f view
-------------------------------*/

.f_view_title h2 span {
	font-size:3.2vw;
}


.f_view_title h1 strong {
	font-size:5.6vw;
}

.f_img_block h4 {
	font-size:1.8rem;
}

/*-------------------------------
	sec top
-------------------------------*/

.sec_top .affe_txt h2,
.sec_top .affe_txt h2 span {
	font-size:3.2rem;
}

.sec_top .stripe img {
	width:288px;
}

/*-------------------------------
	flow
-------------------------------*/

.bg_white_wrap {
	padding:100px 20px 90px;
}

.flow .elli_inner {
	padding:0 40px 80px;
}

} /* end 720px */


} /* end 960px */


/*-------------------------------
	ver sp	
-------------------------------*/

@media screen and (max-width:599px){

/*-------------------------------
	f view
-------------------------------*/

.f_view {
	height:  unset;
	min-height: unset;
	padding-top:16.5rem;
	padding-bottom:3.5rem;
}

.f_view_inner {
	width: 100%;
	max-width:100%;
	padding:0 1.5rem;
	position: relative;
		left: unset;
		top: unset;
		transform: unset;
}

.f_view_title {
	padding:0 0.6rem 0.6rem 0;
	background-size:0.6rem 15.5rem;
}

.f_view_title::after {
	width:3.8rem;
	height:4.4rem;
	top:-2rem;
}

.f_view_title_inner {
	position:relative;
	background:rgba(255,255,255,0.75);
	padding:4rem 0.5rem;
}

.f_view_title h2 span {
	font-size:1.6rem;
}

.f_view_title h2 span::before,
.f_view_title h2 span::after {
	width:3rem;
	height:0.2rem;
}

.f_view_title h1 span {
	font-size:clamp(14px,1.4rem,21px);
}

.f_view_title h1 strong {
	font-size:2.3rem;
	margin:0 0.1rem;
}

.f_title_text02 {
	margin:1rem 0 1.5rem;
}

.f_title_text02 strong:last-of-type {
	margin-right:0.5rem;
}

.f_view_title figure {
	max-width:24rem;
}

.f_img {
	max-width:100%;
	margin:3rem auto 0;
}

.f_img_block {
	width:32%;
	max-width:100%;
}

.f_img_block:nth-of-type(odd) {
	margin-top:2rem;
}

.f_img_block figure {
	border-width:0.3rem;
}

.f_img_block h4 {
	font-size:1.3rem;
	border-radius:1.8rem;
	padding:0.25em 0.5em;
}

/*-------------------------------
	sec top
-------------------------------*/

.sec_top {
	padding-top:7rem;
	background:url(../images/bg_sec_top_sp.jpg) no-repeat center bottom / cover;
}

.sec_top::before {
	width:100%;
	height:54%;
}

.sec_top .affe_wrap {
	margin-bottom:0;
}

.sec_top .affe_img {
	margin-top:5rem;
	position:relative;
}

.sec_top .affe_img::after {
	content:"";
	display: block;
	width:4.1rem;
	height:7.8rem;
	background:url(../images/icon_kira.png) no-repeat center / contain;
	position:absolute;
	right:-1rem;
	top:-1.2rem;
}

.sec_top .btn {
	display: none;
}

.sec_top .affe_txt .btn {
	display: block;
	margin-top:2.5rem;
}

.sec_top .affe_txt h2,
.sec_top .affe_txt h2 span {
	font-size:clamp(16px,2.1rem,31px);
}

.sec_top .affe_txt p {
	text-shadow: 0px 0px 1.5rem rgba(255, 255, 255, 1);
}

.sec_top .stripe img {
	width:18.9rem;
}


/*-------------------------------
	service	
-------------------------------*/

.service {
	padding-bottom:3rem;
}

.service_block {
	width:100%;
	max-width:100%;
	border-radius: 2rem;
	padding:1.5rem;
	margin-bottom:2.5rem;
	border-width:0.2rem;
}


.ser_img {
	margin-bottom:1.5rem;
}

.ser_img img {
	border-radius: 1.4rem;
}

.ser_txt h3 {
	font-size:clamp(16px,1.8rem,27px);
}

.ser_txt h3 span {
	font-size:clamp(16px,1.6rem,24px);
}

.ser_txt h3::before {
	width:3.2rem;
	height:3.2rem;
}

.ser_txt h3::after {
	width:calc(100% - 2.1em);
	height:0.1rem;
}

.ser_txt .ten_list li {
	font-size:clamp(16px,1.6rem,24px);
}

.ser_txt .ten_list li span {
	font-size:clamp(16px,1.6rem,24px);
}

/*-------------------------------
	greeting
-------------------------------*/

.greeting {
	position:relative;
	padding-top:6.5rem;
}
.greeting .h_title {
    margin-bottom: 1.25em;
}

.greeting::before {
	content:"";
	width:100%;
	height:5.2rem;
	min-height:auto;
	background:url(../images/bg_wave.png) no-repeat center bottom / contain;
	top:0;
	left:0;
	position:absolute;
	transform:scale(-1,-1);
}

.greeting::after {
	width:100%;
	min-width:auto;
	height:12rem;
	background-size: cover;
}

.greeting .inner {
	padding-top:0px;
	padding-bottom:16rem;
}

.greeting .affe_img {
	max-height:100%;
}

.greeting .affe_img img {
	max-height:25rem;
}

.greeting .affe_wrap {
	margin-bottom:2.5rem;
}

.promise_wrap {
	margin-top:4rem;
}

.promise_wrap .elli_inner {
	padding:0 1.5rem 1.5rem;
	margin-top:-6rem;
	background:linear-gradient(180deg, transparent 6rem, #fff 6rem, #fff 100% )
}

.promise_wrap .shake_list li {
	font-size:clamp(16px,1.6rem,24px);
}

/*-------------------------------
	area
-------------------------------*/

.area {
	margin-top:-3rem;
	padding-top:3rem;
	padding-bottom:5rem;
}

.area::before {
	width:100%;
	max-width:calc(100% - 5rem);
	height:50%;
	border-radius:1rem 1rem 0 0;
}

.area_wrap {
	border-radius:1rem;
	max-width:100%;
}

.area .head_p {
	text-align:left;
	font-size:clamp(16px,1.6rem,24px);
}

/*-------------------------------
	blog
-------------------------------*/

.blog {
	padding-bottom:4rem;
}

.blog .h_title {
	margin-bottom:2.5rem;
}

.blog_list {
	padding-bottom:0px;
}

/*-------------------------------
	flow
-------------------------------*/

.flow {
	padding-top:3.5rem;
	background:url(../images/bg_top_flow_sp.jpg) no-repeat center / cover;
}

.flow .h_title {
	margin-bottom:1em;
}

.bg_white_wrap {
	border-radius: 1rem;
	padding:4rem 1.5rem 3rem;
	margin-bottom:4rem;
}

.step_wrap {
	max-width:100%;
	padding-top:0;
}

.step_wrap li:not(:last-of-type) {
	padding-bottom:2.5rem;
}

.step_wrap li:not(:last-of-type)::after {
	width:0.2rem;
	height:calc(100% - 4.5rem - 1rem);
	left:2.15rem;
	bottom:0.5rem;
}

.step_no {
	width:5rem;
	height:5rem;
	font-size:1.2rem;
    padding: 0.75em 0;
}

.step_txt {
	width:calc(100% - 5rem);
	padding-left:1.5rem;
}

.step_no span {
	font-size:1.8rem;
}

.step_txt h3 {
	font-size:clamp(18px,1.8rem,27px);
}

.step_txt p {
	font-size:clamp(16px,1.6rem,24px);
}

.flow .elli_inner h3 {
	max-width:100%;
}

/*---.flow .elli_wrapスマホ表示変更---*/
.flow .ellipse_wrap{
	padding: 0 0 0;
}
.flow .ellipse_wrap .elli_inner h3{
	margin-top: 0;
}
.flow .elli_inner {
	padding:0 1.5rem 3rem;
    background: rgba(255, 255, 255, 0.8);
	border-radius: 1rem;
}
.flow .elli_inner h3.dot_title.dot_title{
	margin-bottom: 0;
}
	.ellipse_wrap::before,
	.flow .elli_inner h3.dot_title::before, 
	.flow .elli_inner h3.dot_title::after,
	.flow .elli_inner h3.dot_title span::before{
		display: none;
	}
	.flow .elli_inner h3.dot_title span{
		color:#5ea4ff;
		text-align: left;
	}
.flow .elli_inner .maru_list{
	padding-left: 0;
}
.flow .elli_inner .maru_list > li::before,
.flow .elli_inner .maru_list > li:nth-of-type(even)::before{
    content: "・";
	background: unset;
	top: 0;
}

/*---.flow .elli_wrapスマホ表示変更 end---*/

.flow .elli_inner h3 {
	max-width:100%;
}

.flow .elli_inner .maru_list li {
	font-size:clamp(16px,1.6rem,24px);
}

/*-------------------------------
	faq
-------------------------------*/

.faq {
	padding-bottom:3rem;
}

.faq .faq_wrap {
	margin-bottom:2.5rem;
}


} /* end 599px */


/*20241122*/
.pagelink {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	width: 100%;
	gap: 2.5%;
	margin-top: min(5vw, 2.5em);
	margin-bottom: min(10vw, 5em);
	.link_child {
		width: 18%;
		a {
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			padding: 10px 0 12px;
			border-radius: 8px;
			border: 2px solid #6aabff;
			color: #fff;
			background: #6aabff;
			font-size:clamp(16px,1rem,24px);
			position: relative;
		}
		a::after {
			content: "";
		    width: 8px;
		    height: 8px;
		    margin-left: 15px;
            margin-right: -8px;
		    border-left: 2px solid #fff;
		    border-bottom: 2px solid #fff;
		    transition: transform .3s;
		    transform: rotate(-135deg);
		    transition: .5s;
		}
		a:hover {
			color: #6aabff;
			background: #fff;
			border: 2px solid #6aabff;
		}
		a:hover::after {
			border-left: 2px solid #6aabff;
		    border-bottom: 2px solid #6aabff;
		}
	}
}
@media screen and (max-width:768px){
	.pagelink {
		.link_child {
			width: calc(calc(100% - 5%) / 3);
		}
		.link_child:nth-of-type(n + 4) {
			margin-top: 2.5%;
		}
	}
}
@media screen and (max-width:599px){
	.pagelink {
		.link_child {
			width: 100%;
			a::after {
				position: absolute;
				right: 30px;
				top: 33%;
			}
		}
		.link_child:nth-of-type(n + 2) {
			margin-top: 2.5%;
		}
	}
}
