@charset "utf-8";

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

#wrapper{
	overflow: clip;
}
@media screen and (max-width: 768px){

}

/* -----------------------------
	intro-area
-------------------------------- */
.intro-area{
	padding: 0 0 100px;
}
.intro-area .inner{
	position: relative;
}
.intro-area .catch-l{
	padding: 30px 0 0;
	font-weight: bold;
}
.intro-area .basic-txt{
	padding: 30px 0 0;
	width: 750px;
}
.intro-area .inner::before{
	content: '';
	position: absolute;

	width: 352px;
	height: 219px;
	top: 100px;
    right: -110px;
	background: url("../img/individual-bottom-ill01.png") no-repeat top center / contain;
	z-index: 1;
}
@media screen and (max-width: 768px){
	.intro-area {
		position: relative;
		margin: 50px 0 0;
		padding: 0 0 50px;
	}
	.intro-area .inner::before{
		width: 136px;
		height: 86px;
		left: auto;
		right: 0px;
		top: -50px;
	}
	.intro-area .catch-l{
		padding: 10px 0 0;
	}
	.intro-area .basic-txt{
		padding: 20px 0 0;
		width: 100%;
	}
}

/* -----------------------------
	assignment-area
-------------------------------- */
.assignment-area{
	margin: 100px 0 0;
}
.assignment-area .block{
	display: flex;
	margin: 30px 0 0;
	justify-content: space-between;
}
.assignment-area .block .box{
	width: calc((100% / 3) - 10px);
}
.assignment-area .block .box img{
	width: 100%;
}
.assignment-area .block .box .catch-s{
	text-align: center;
	margin: 20px 0;
}
@media screen and (max-width: 768px){
	.assignment-area{
		margin: 50px 0 0;
	}
	.assignment-area .block{
		display: block;
	}
	.assignment-area .block .box{
		width: 100%;
	}
	.assignment-area .block .box:nth-child(n + 2){
		margin: 40px 0 0;
	}
	.assignment-area .block .box img{
		height: 200px;
		object-fit: cover;
	}
	.assignment-area .block .box .catch-s{
		margin: 20px 0 10px;
		text-align: left;
		font-size: 2.2rem;
	}
}
/* -----------------------------
	service-area
-------------------------------- */
.service-area{
	margin: 100px 0 0;
}
.service-area .block .box{
	margin: 80px 0 0;
	display: flex;
	align-items: center;
	gap: 50px;
}
.service-area .block .box.right-img{
	flex-direction: row-reverse;
}
.service-area .block .box .subcatch{
    color: var(--green);
    font-size: 2rem;
    line-height: 1.6;
    font-weight: bold;
    border-bottom: 1px dashed var(--green);
    padding: 0 0 5px;
}
.service-area .block .box .catch-l{
	padding: 10px 0 0;
}
.service-area .block .box .basic-txt{
	padding: 15px 0 0;
}

.service-area .support-box{
	margin: 50px 0 0;
}
.service-area .support-box .catch-ss{
	text-align: center;
}
.service-area .support-box ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 50px 20px;
	margin: 50px 0 0;
}
.service-area .support-box ul li{
	width: calc((100% / 3) - 20px);
	background: #fff;
	padding: 80px 20px 20px;
	text-align: center;
	border: dotted 2px var(--green);
	position: relative;
}
.service-area .support-box .top-txt{
	background: var(--green);
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.5;
	padding: 10px 20px;
	border-radius: 50px;
	position: absolute;
	top: -30px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	width: 90%;
}
.service-area .support-box .top-txt::before{
	content: '';
	position: absolute;
	width: 20px;
	height: 15px;
	background: var(--green);
	bottom: -14px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.service-area .support-box .top-txt::after{
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 25px solid transparent;
	border-left: 25px solid transparent;
	border-top: 22px solid var(--green);
	border-bottom: 0;
	bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
.service-area .support-box .bottom-txt{
	font-size: 2rem;
	font-weight: bold;
}
@media screen and (max-width: 768px){
	.service-area{
		margin: 50px 0 0;
	}
	.service-area .block .box{
		display: block;
		margin: 30px 0 0;
	}
	.service-area .block .box img{
		width: 100%;
		height: 200px;
		object-fit: cover;
	}
	
	.service-area .block .box.right-img{
	}
	.service-area .block .box .subcatch{
		font-size: 1.6rem;
		line-height: 1.5;
		margin: 20px 0 0;
	}
	.service-area .block .box .catch-s{
		margin: 5px 0 0;
	}
	.service-area .block .box .basic-txt{
	}

	.service-area .support-box{
		margin: 30px 0 0;
	}
	.service-area .support-box .catch-ss{
	}
	.service-area .support-box ul{
		display: block;
	}
	.service-area .support-box ul li{
		width: 100%;
		padding: 50px 20px 15px;
	}
	.service-area .support-box ul li:nth-child(n + 2){
		margin: 35px 0 0;
	}
	.service-area .support-box .top-txt{
		font-size: 1.5rem;
		padding: 5px 20px;
	}
	.service-area .support-box .top-txt::before{
		height: 10px;
		bottom: -9px;
	}
	.service-area .support-box .top-txt::after{
		border-right: 20px solid transparent;
		border-left: 20px solid transparent;
		border-top: 15px solid var(--green);
		bottom: -20px;
	}
	.service-area .support-box .bottom-txt{
		font-size: 1.8rem;
		line-height: 1.5;
	}
}


/* -----------------------------
	feature-area
-------------------------------- */
.feature-area{
	margin: 50px 0 0;
	padding: 250px 0 300px;
	background: url("../img/green-bg.jpg") no-repeat top center / cover;
	position: relative;
}
.feature-area .svg-container{
	top: 400px;
}
.feature-area::before{
	content: '';
    position: absolute;
    width: 100%;
    height: 148px;
    top: -2px;
    right: 0;
     background: url("../img/white-curve-top.png") no-repeat bottom center / cover;
}
.feature-area::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 148px;
    bottom: -2px;
    right: 0;
    background: url("../img/white-curve-bottom.png") no-repeat top center / cover;
}

.feature-area .inner{
	display: block;
}
.feature-area .inner .txt-area{
	color: #fff;
	top: 120px;
}
.feature-block{
	flex: 1;
	margin: 50px 0 0 auto;
	position: relative;
}
.feature-block ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	/*flex-direction: row-reverse;*/
}
.feature-block ul li{
	margin: 80px 0 0;
	width: calc((100% / 2) - 50px);
}
.feature-block ul li:nth-child(odd) {
    position: relative;
    /*top: -200px;*/
}
.feature-block ul li:first-of-type{
	/*margin:0;*/
}
.feature-block ul li .title-box{
	position: relative;
	margin: -30px 0 0;
}
.feature-block ul li .title{
	background: #fff;
    display: table;
    font-size: 2.6rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding: 15px 15px;
	
}
.feature-block ul li .title:nth-child(n + 2){
	margin: 10px 0 0;
}
.feature-block ul li .basic-txt{
	color: #fff;
	padding: 0 0 0;
	margin: 30px 0 0;
}
.feature-block ul li img{
	width: 100%;
}
@media screen and (max-width: 768px){
	.feature-area{
		margin: 30px 0 0;
		padding: 80px 0 100px;
	}
	.feature-area .svg-container{
		top: 200px;
	}
	.feature-area::before{
		height: 34px;
		top: -2px;
	}
	.feature-area::after{
		height: 34px;
	}
	.feature-area .inner{
	}
	.feature-area .inner .txt-area{
		position: inherit;
	}
	.feature-block{
		width: 100%;
		margin: 20px 0 0;
	}
	.feature-block ul {
		display: block;
	}
	.feature-block ul li{
		margin: 20px 0 0;
		width: 100%;
	}
	.feature-block ul li:nth-child(odd) {
		position: relative;
		top: 0;
	}
	.feature-block ul li .title{
		font-size: 1.8rem;
		padding: 10px 8px;
	}
	.feature-block ul li .basic-txt{
		margin: 10px 0 0;
	}
}

/* -----------------------------
	flow-area
-------------------------------- */
.flow-area ul{
	justify-content: flex-start;
}
#individual .flow-area ul li:last-of-type::before{
	display: none;
}
@media screen and (max-width: 768px){

}



/* -----------------------------
	faq-area
-------------------------------- */
.faq-area{
	padding: 100px 0 150px;
}
@media screen and (max-width: 768px){
	.faq-area{
		padding: 50px 0;
	}
}