/*
 * base css 
 * pc width 1000px fixed
 */

@media (max-width: 599px) {
} /* end -599 */

@media (min-width: 600px) and (max-width:959px) {
} /* end 600-959 */

@media (min-width: 960px) {
} /* 960- */


/* ---------------------------------------- common */

#visual {
	background: url(../images/service/service_1450x440.jpg) no-repeat center center; 
	background-size: cover;
}

main { color: #666; }

article h3 {
	color: #dd9933;
    text-align: left;
	font-size: 2.4rem;
	line-height: 1.4;
	font-weight: bold;
	margin: 0 0 .5em;
}

article { margin: 0 0 3em; }
section { margin: 0 0 5em; }

article .inner > h3 {
	color: #dd9933;
	font-size: clamp(2.4rem, 2vw + 1rem, 4rem);
	line-height: 1.5;
	text-align: center;
	margin: 0 0 .5em;
}
article .inner > h3 + p {
	font-size: clamp(1.6rem, 2vw + 0.25rem, 1.9rem);
	line-height: 2;
	text-align: center;
	margin: 0 0 4em;
}

@media (max-width: 767px) {

	.flexed.img-left > figure { 
		text-align: center;
		margin: 0 0 2em;
	}

}

@media (min-width: 768px) {

	.flexed {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	.flexed.img-left > figure { width: 28%; }
	.flexed.img-left > div { width: 69.5%; }

}

/* ---------------------------------------- parent */

.parent { margin: 0 0 2em; }
.parent .detail {
	padding: 1em;
}

.parent h3 {
	color: #2c7896;
	font-size: clamp(1.6rem, 1vw + 1.25rem, 1.8rem);
	font-weight: bold;
	line-height: 1.4;
	margin: 0 0 .5em;
}

@media (max-width: 767px) {

	.parent {
		border: 1px solid #ddd;
	}
	.parent .detail:not(:last-child){
		border-bottom: 1px solid #ddd;
	}
	.parent .detail a > figure {
		text-align: center;
		margin: 0 0 1em;
	}.

} 

@media (min-width: 768px) {

	.parent {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(2, 1fr);
		grid-column-gap: 0px;
		grid-row-gap: 0px;
		border: 1px solid #ddd;
	}
	.parent .detail a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	.parent .detail a > figure {
		width: 45%;
	}
	.parent .detail a > div {
		width: 50%;
	}
	.parent .item1 {
		border-right: 1px solid #ddd;
		border-bottom: 1px solid #ddd;
		order: 1;
	}
	.parent .item2 {
		border-right: 1px solid #ddd;
		order: 3;
	}
	.parent .item3 {
		border-bottom: 1px solid #ddd;
		order: 2;
	}
	.parent .item4 {
		order: 4;
	}

} 

/* under parent */

.parent + .inside {
	border: 1px solid #ddd;
	padding: 1em;
}
.parent + .inside h3 {
	color: #666;
	line-height: 1.5;
	font-size: clamp(1.8rem, 2vw + 0.75rem, 2rem);
	margin: 0 0 1em;
}
.parent + .inside h3 small {
	font-size: 1.6rem;
	font-weight: bold;
}

/* ---------------------------------------- detailbox */

.detailbox .inner {
	border: 1px solid #ddd;
	padding: 0 0 1em 0;
}
.detailbox .inside {
	padding: 0 1em;
}
.detailbox .inside + .inside { margin: 3em 0 0; }
.detailbox .inner > h3 {
	color: #fff;
	background: #2c7896;
	font-weight: bold;
	font-size: clamp(2rem, 2vw + 0.75rem, 2.4rem);
	text-align: left;
	padding: 10px;
	margin: 1.25em 0;
}
.detailbox .inside h4 {
	font-size: 1.8rem;
	line-height: 1.5;
	font-weight: bold;
	margin: 0 0 .5em;
}

@media (max-width: 767px) {

	.flexed > figure { text-align: center; }
	.flexed.img-left > figure,
	.flexed.img-right > div { 
		margin: 0 0 2em;
	}

}

@media (min-width: 768px) {

	.detailbox .flexed {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	.detailbox .flexed > figure,
	.detailbox .flexed > div { width: 48%; }

}
