@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-ill02.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: 20px 0 0;
	}
	.intro-area .basic-txt{
		padding: 20px 0 0;
		width: 100%;
	}
}
/* -----------------------------
	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;
	}
}

/* -----------------------------
	types-area
-------------------------------- */
.types-area{
	margin: 100px 0 0;
}
.types-area .block{
	margin: 50px 0 0;
}
.types-area .top-box .catch{
	color: var(--green);
	font-weight: bold;
}
.types-area .top-box .title{
	font-size: 3.5rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	padding: 10px 0 0;
}
.types-area .top-box .basic-txt{
	padding: 20px 0 0;
}
.types-area ul{
	display: flex;
	justify-content: space-between;
	margin: 20px 0 0;
}
.types-area ul li{
	padding: 20px;
	background: #fff;
	width: calc((100% / 4) - 10px);
	border: solid 1px var(--green);
}
.types-area ul li .subtitle{
	color: var(--green);
	text-align: center;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.5;
}
@media screen and (max-width: 768px){
	.types-area{
		margin: 50px 0 0;
	}
	.types-area .block{
	}
	.types-area .top-box .catch{
	}
	.types-area .top-box .title{
	}
	.types-area .top-box .basic-txt{
	}
	.types-area ul{
		display: block;
	}
	.types-area ul li{
		width: 100%;
	}
	.types-area ul li:nth-child(n + 2){
		margin: 10px 0 0;
	}
	.types-area ul li .subtitle{
		text-align: left;
		padding: 0 0 0 50px;
	}
}

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



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