@charset "utf-8";
/* CSS Document */

/*==============================*/
/* サービスbox */
/*==============================*/
div.serviceBox{
	margin: 0 auto 64px auto;
}
    /* ======= TB =======*/
    @media screen and (min-width: 768px) and (max-width: 1024px) {
        div.serviceBox{ max-width: 100%;}
    }
    /* ======= SP =======*/
    @media (max-width: 767px) {
        div.serviceBox{
            margin: 0 auto 28px auto;
        }
    }


/*-- コンテンツ
------------------------- */
div.serviceBox h2{
	margin-bottom: 24px;
	line-height: 1.3em;
	color: #00597A;
	font-size: 30px;
	font-weight: 600;
}

    /* ======= TB =======*/
    @media screen and (min-width: 768px) and (max-width: 1024px) {
    }
    /* ======= SP =======*/
    @media (max-width: 767px) {
        div.serviceBox h2{
            margin-bottom: 18px;
            font-size: 24px;
        }
    }



/*==============================*/
/* サービス */
/*==============================*/
div.service{
	display: flex; display: -webkit-flex;
	flex-wrap: wrap; -webkit-flex-wrap: wrap;
	gap: 40px 32px;
	counter-reset: service;
}
div.service dl{ width: calc( calc( 100% - calc( 32px * 2 ) ) / 3 );}

div.service dl dt{
	position: relative;
	margin-bottom: 16px;
	padding-top: 56px;
	min-height: 120px;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.5em;
	color: #000;
}
div.service dl dt::before{
	position: absolute; top: 0; left: 0;
	counter-increment: service;
  	content: "0"counter(service) ;
	color: #00597A;
	font-size: 44px;
	font-weight: 600;
	font-family: 'Oswald', sans-serif;
	letter-spacing: 0.02em;
}
div.service dl dd{
	font-size: 15px;
	line-height: 1.8em;
	text-align: justify;
	text-align-last: left;
}

	/* ======= TB =======*/
    @media screen and (min-width: 768px) and (max-width: 1024px) {
		div.service{ gap: 24px 20px;}
		div.service dl{ width: calc( calc( 100% - calc( 20px * 1 ) ) / 2 );}
    }
    /* ======= SP =======*/
    @media (max-width: 767px) {
		div.service{
			flex-direction: column; -webkit-flex-direction: column;
			gap: 32px 20px;
		}
		div.service dl{ width: 100%;}

		div.service dl dt{
			margin-bottom: 16px;
			padding-top: 48px;
			min-height: auto;
			font-size: 20px;
			line-height: 1.414em;
		}
		div.service dl dt::before{
			font-size: 40px;
		}
		div.service dl dd{
			font-size: 14px;
			line-height: 1.7em;
		}
    }


/*==============================*/
/* 業務内容 */
/*==============================*/
div.serviceDetail{
	display: flex; display: -webkit-flex;
	justify-content: space-between; -webkit-justify-content: space-between;
	align-items: center; -webkit-align-items: center;
}
div.serviceDetail:nth-child(even){ flex-direction: row-reverse; -webkit-flex-direction: row-reverse;}
div.serviceDetail:not(:last-child){ margin-bottom: 48px;}
div.serviceDetail > *{ width: calc(50% - 24px);}

	/* ======= TB =======*/
    @media screen and (min-width: 768px) and (max-width: 1024px) {
		div.serviceDetail > *{ width: calc(50% - 16px);}
    }
    /* ======= SP =======*/
    @media (max-width: 767px) {
		div.serviceDetail{ flex-direction: column-reverse; -webkit-flex-direction: column-reverse;}
		div.serviceDetail:nth-child(even){ flex-direction: column-reverse; -webkit-flex-direction: column-reverse;}
		div.serviceDetail:not(:last-child){ margin-bottom: 48px;}
		div.serviceDetail > *{ width: 100%;}
		div.serviceDetail figure img{
			object-fit: cover;
			aspect-ratio: 4 / 2;
		}
    }


/*-- タイトル
------------------------- */
div.serviceDetail > div{ padding: 24px 20px 0 20px;}

div.serviceDetail h3{
	position: relative;
	padding-top: 22px;
	margin-bottom: 22px;
	font-size: 24px;
	text-align: center;
	font-weight: 600;
}
div.serviceDetail h3::before{
	position: absolute; top: 0; left: 50%;
	content: "";
	width: 96px;
	height: 6px;
	background: #00597A;
	margin-left: -48px;
}
	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.serviceDetail > div{ padding: 0px;}
		div.serviceDetail h3{
			padding-top: 20px;
			margin-bottom: 24px;
			font-size: 22px;
		}
		div.serviceDetail h3::before{
			width: 80px;
			height: 4px;
			margin-left: -40px;
		}
	}
	/* ======= SP =======*/
	@media (max-width: 767px){
		div.serviceDetail > div{ padding: 24px 0 0 0;}
		div.serviceDetail h3{
			padding-top: 20px;
			margin-bottom: 16px;
			font-size: 22px;
		}
		div.serviceDetail h3::before{
			width: 80px;
			height: 5px;
			margin-left: -40px;
		}
	}


/*-- タイトル
------------------------- */
div.serviceDetail div div{
	padding: 38px 40px 36px 40px;
	background: #F4F4F4 url("/common/img/share/bg-texture.png");
}
div.serviceDetail div div p{
	font-size: 14px;
	line-height: 1.8em;
	text-align: justify;
	text-align-last: left;
}
div.serviceDetail div div p:not(:last-child){ margin-bottom: 12px;}

	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.serviceDetail div div{ padding: 24px;}
		div.serviceDetail div div p{ font-size: 13px;}
	}

	/* ======= SP =======*/
	@media (max-width: 767px){
		div.serviceDetail div div{ padding: 24px;}
	}



