@charset "UTF-8";
/* ----------------------------------------------------------------
共通
---------------------------------------------------------------- */
#contents{
	margin-bottom: 150px;
}
@media screen and (max-width: 767px) {
	#contents {
    margin-bottom: 0;
}
}
/* ----------------------------------------------------------------
fv
---------------------------------------------------------------- */
#fv {
    width: 90%;
    max-width: 1200px;
    margin: 30px auto 80px;
    font-size: 1.1em;
    line-height: 1.8;
	font-weight: 600;
}
@media screen and (max-width: 767px) {
	#fv {
    font-size: 0.9em;
		margin-bottom: 40px;
}
	
}
/* ----------------------------------------------------------------
service_list
---------------------------------------------------------------- */
#service_list > .inner {
    max-width: 1220px;
    width: 100%;
    margin: 0 auto;
    padding: 0 10px;
	font-weight: 600;
}
#service_list .box{
	margin-bottom: 150px;
}
#service_list .box .number{
	position: relative;
	margin-bottom: 40px;
}
#service_list .box .number:before {
    position: absolute;
    content: "";
    background: #999;
    width: calc(100% - 120px);
    height: 1px;
    top: 10%;
}

#service_list .box:nth-child(even) .number:before{
	    right: 0;
}
#service_list .box:nth-child(odd) .number:before{
	    left: 0;
}
	#service_list .box:nth-child(even) .number{
	    margin-right: calc(50% - 50vw);
    text-align: left;
}
#service_list .box:nth-child(odd) .number{
	    margin-left: calc(50% - 50vw);
    text-align: right;
}
#service_list .box .flex_box .txt_box{
	 width: 50%;
	text-align: center;
}
#service_list .box .flex_box .txt_box .icon{
    display: flex;
    justify-content: center;
    gap: 10px;
}
#service_list .box .flex_box .txt_box .icon img{
	width: 91px;
}
#service_list .box .flex_box .txt_box .tl {
    font-size: clamp(1.563rem, 0.451rem + 2.31vw, 2.188rem);
    font-weight: 600;
    letter-spacing: 0.08em;
    margin-bottom: 30px;
}
#service_list .box .flex_box .txt_box .txt{
	    font-size: 1.1em;
    line-height: 1.8;
}
#service_list .box .flex_box .img_box{
	 width: 50vw;
}
#service_list .box .flex_box .img_box img{
	width: 100%;
}
@media screen and (min-width: 768px) {
	#service_list .box .flex_box{
	display: flex;
}
	#service_list .box:nth-child(even) .flex_box{
	 flex-direction: row-reverse;
	margin-left: calc(50% - 50vw);
}
#service_list .box:nth-child(odd) .flex_box{
	 margin-right: calc(50% - 50vw);
}
#service_list .box:nth-child(even)  .flex_box .txt_box {
        margin-left: 80px;
}
	#service_list .box:nth-child(odd)  .flex_box .txt_box {
        margin-right: 80px;
}
}
@media screen and (max-width: 767px) {
	#service_list > .inner {
    width: 90%;
    margin: 0 auto;
		        padding: 0;
		        overflow: hidden;
}
	#service_list .box {
    margin-bottom: 50px;
}
	#service_list .box .number{
		margin-bottom: 0;
	}
	#service_list .box .number:before {
    width: calc(100% - 60px);
}
		#service_list .box .number img{
		        width: 50px;
	}
#service_list .box .flex_box .txt_box {
    width: 100%;
}
#service_list .box .flex_box .txt_box .icon {
    margin: 0 auto 10px;
}
	#service_list .box .flex_box .txt_box .icon img{
		width: 80px;
	}
#service_list .box .flex_box .txt_box .tl {
    font-size: 1.2em;
    margin-bottom: 15px;
}
#service_list .box .flex_box .txt_box .txt {
    font-size: 0.9em;
	        margin-bottom: 20px;
}
	#service_list .box .flex_box .txt_box .txt br {
    display: none;
}
#service_list .box .flex_box .img_box {
    width: 100%;
}
}