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

/*==============================*/
/* サービス一覧 */
/*==============================*/
div.service{
	display: flex; display: -webkit-flex;
	justify-content: space-between; -webkit-justify-content: space-between;
	padding-top: 96px;
    margin-top: -96px;
}
div.service:not(:last-child){ margin-bottom: 72px;}
div.service figure{ width: 412px;}
div.service > div{ width: calc(100% - 412px - 40px);}
div.service > div > p{ line-height: 1.55em;}

	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		div.service figure{ width: 320px;}
		div.service > div{ width: calc(100% - 320px - 32px);}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.service{ flex-direction: column-reverse; -webkit-flex-direction: column-reverse;}
		div.service:not(:last-child){ margin-bottom: 56px;}
		div.service figure{
			width: 100%;
			margin-bottom: 16px;
		}
		div.service figure img{
			width: 100%;
			height: 184px;
			object-fit: cover;
		}
		div.service > div{ width: 100%;}
	}

/*-- タイトル
------------------------- */
div.service div.serviceTitle{
	position: relative;
	display: flex; display: -webkit-flex;
	align-items: center; -webkit-align-items: center;
	justify-content: space-between; -webkit-justify-content: space-between;
	margin-bottom: 22px;
	border-bottom: 1px solid #E4E4E4;
}
div.service div.serviceTitle::before{
	position: absolute; top: 50%; right: 0;
	content: "";
	width: 32px;
	height: 32px;
	background: #fff;
	border-radius: 50%;
	border: 1px solid #257E9E;
	margin-top: -20px;
}
div.service div.serviceTitle::after{
	position: absolute; top: 50%; right: 11px;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 8px;
	border-color: transparent transparent transparent #257E9E;
	margin-top: -9px;
}
div.service div.serviceTitle:hover::before{ background: #257E9E;}
div.service div.serviceTitle:hover::after{ border-color: transparent transparent transparent #ffff;}


div.service div.serviceTitle h2{
	position: relative;
	padding-left: 68px;
	padding-bottom: 12px;
	line-height: 1.3em;
	font-size: 31px;
	font-weight: 600;
	font-family: 'Oswald', sans-serif;
	letter-spacing: 0.02em;
}
div.service#web div.serviceTitle h2::before{
	position: absolute; top: -6px; left: 0;
	content: "";
	width: 48px;
	aspect-ratio: 60/83;
	background: url("/common/img/share/icon-web.svg") no-repeat;
}
div.service#logo div.serviceTitle h2::before{
	position: absolute; top: 6px; left: 0;
	content: "";
	width: 56px;
	aspect-ratio: 80/73;
	background: url("/common/img/share/icon-logo.svg")no-repeat;
}
div.service#card div.serviceTitle h2::before{
	position: absolute; top: 8px; left: 0;
	content: "";
	width: 56px;
	aspect-ratio: 76/77;
	background: url("/common/img/share/icon-card.svg")no-repeat;
}
div.service#envelope div.serviceTitle h2::before{
	position: absolute; top: 6px; left: 0;
	content: "";
	width: 60px;
	aspect-ratio: 84/71;
	background: url("/common/img/share/icon-envelope.svg")no-repeat;
}
div.service#pamphlet div.serviceTitle h2::before{
	position: absolute; top: 16px; left: 0;
	content: "";
	width: 60px;
	aspect-ratio: 88/55;
	background: url("/common/img/share/icon-flier.svg")no-repeat;
}

div.service div.serviceTitle h2::after{
	position: absolute; top: 12px; right: 40px;
	content: "もっと見る";
	font-weight: normal;
	font-size: 14px;
	color: #257E9E;
}

div.service div.serviceTitle h2 small{
	display: block;
	font-size: 15px;
	line-height: 1.3em;
}
div.service div.serviceTitle a{
	display: block;
	width: 100%;
}


	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.service div.serviceTitle h2{
			padding-left: 56px;
			line-height: 1.3em;
			font-size: 26px;
			font-weight: 600;
			letter-spacing: -0.04em;
		}
		div.service#web div.serviceTitle h2::before{
			position: absolute; top: 6px; left: 0;
			width: 44px;
			height: 44px;
		}
		div.service#logo div.serviceTitle h2::before{
			position: absolute; top: -18px; left: 0;
			width: 42px;
			height: 70px;
		}
		div.service#card div.serviceTitle h2::before{
			position: absolute; top: 16px; left: 0;
			width: 45px;
			height: 27px;
		}
		div.service#envelope div.serviceTitle h2::before{
			position: absolute; top: 2px; left: 0;
			width: 33px;
			height: 45px;
		}
		div.service#pamphlet div.serviceTitle h2::before{
			position: absolute; top: 10px; left: 0;
			width: 45px;
			height: 31px;
		}
		div.service div.serviceTitle h2::after{ display: none;}
	}


/*==============================*/
/* サービスリスト */
/*==============================*/
div.serviceList{
	display: flex; display: -webkit-flex;
	flex-wrap: wrap; -webkit-flex-wrap: wrap;
	gap: 16px 24px;
	padding: 24px;
	background: #F5F5F5;
	border-radius: 5px;
}
div.serviceList dl{ width: calc(50% - 12px);}
div.serviceList dl:nth-child(1),
div.serviceList dl:nth-child(2){
	padding-bottom: 16px;
	border-bottom: 1px solid #ccc;
}
div.serviceList dl dt{
	margin-bottom: 8px;
	font-size: 16px;
}
div.serviceList dl dt img{
	position: relative; top: -2px;
	margin-right: 8px;
}
div.serviceList dl dd{
	font-size: 13px;
	line-height: 1.5em;
}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		div.serviceList{
			flex-direction: column; -webkit-flex-direction: column;
			gap: 20px 0;
			padding: 24px;
		}
		div.serviceList dl{ width: 100%;}
		div.serviceList dl:not(:last-child){
			padding-bottom: 20px;
			border-bottom: 1px solid #ccc;
		}
		div.serviceList dl dt{
			margin-bottom: 6px;
			font-size: 17px;
		}
	}

/*==============================*/
/* Navi */
/*==============================*/
ul.serviceNavi{
	display: flex; display: -webkit-flex;
	justify-content: center; -webkit-justify-content: center;
	padding: 12px 0;
	border-top: 1px solid #E4E4E4;
	border-bottom: 1px solid #E4E4E4;
}
ul.serviceNavi li:not(:last-child){ margin-right: 12px;}
ul.serviceNavi li a{
	display: block;
	padding:  5px 24px 6px 24px;
	text-align: center;
	font-weight: 600;
	min-width: 96px;
}
ul.serviceNavi li.active a,
ul.serviceNavi li a:hover{
	background: #257E9E;
	color: #fff;
	border-radius: 5px;
}

	/* ======= TB =======*/
	@media screen and (min-width: 768px) and (max-width: 1024px) {
		ul.serviceNavi li a{
			padding:  7px 16px 8px 16px;
			min-width: 88px;
			font-size: 14px;
		}
	}
	/* ======= SP =======*/
	@media (max-width: 767px) {
		ul.serviceNavi{
			display: flex; display: -webkit-flex;
			flex-wrap: wrap; -webkit-flex-wrap: wrap;
			justify-content: flex-start; -webkit-justify-content: flex-start;
			padding: 20px 0 22px 0;
			gap: 8px;
		}
		ul.serviceNavi li{ width: calc(calc(100% - 8px) / 2);}
		ul.serviceNavi li:not(:last-child){ margin-right: 0;}
		ul.serviceNavi li a{
			padding:  7px 0px 9px 0px;
			min-width: auto;
			font-size: 14px;
			border: 1px solid #ccc;
			border-radius: 3px;
		}
		
	}


