@charset "utf-8";


.contents {
	padding-bottom: 0;
}

#footer {
	border-top: 0;
}

.service {
	background-color: rgba(0, 0, 0, .05)
}

.service-wrap {
	padding: 60px 0 80px;
	-js-display: flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
		 -ms-flex-align: center;
		 	align-items: center;
	background: #f2f2f2;
}

.btanding .service-wrap {
	-webkit-align-items: stretch;
		 -ms-flex-align: stretch;
		 	align-items: stretch;
}

.service-list {
	width: 88%;
	max-width: 1200px;
	margin: 0 auto;
	-js-display: flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
}

.service-list li{
	text-align: center;
	width: calc((100% - 100px) / 3);
	margin: 0 50px 50px 0;
	background: #fff;
	box-shadow: 0 4px 20px #e8e8e8;
	transition: all .2s;
}

.service-list li a{
	display: block;
}

.service-list li a:hover{
	text-decoration: none;
}

.service-list li:nth-child(3n){
	margin-right: 0;
}

/*.service-list li:last-child{
	margin-bottom: 0;
}*/

.service-image {
	text-align: center;
}

.service-main {
	margin: 80px 0;
	margin-left: auto;
}

.service-tit {
	width: 90%;
	height: 140px;
	margin: 0 auto;
	-js-display: flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
	align-items: center;
	align-content: center;
}

.service-tit h2{
	font-size: 2.2rem;
	text-align: center;
	font-weight: bold;
	line-height: 1.4;
	width: 100%;
}

.service-tit .en {
	font-size: 1.1rem;
	margin-top: 10px;
	line-height: 1;
	letter-spacing: 0.025em;
	width: 100%;
	display: block;
}

.service-tex {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 25px;
	line-height: 2.5rem;
	text-align: justify;
}

@media screen and ( min-width: 801px ) {
	.service-list li:hover{
	box-shadow: 0 4px 20px #c3c3c3;
	}
}

@media screen and ( max-width: 1060px ) {
	.service-tit {
		font-size: 1.9rem;
		text-align: center;
	}
}

@media screen and ( max-width: 800px ) {

	.service-list li,
	.service-list li:nth-child(3n),
	.service-list li:last-child{
		text-align: center;
		width: calc((100% - 18px) / 2);
		margin: 0 18px 18px 0;
		padding-bottom: 0;
		background: #fff;
		box-shadow: 0 4px 20px #e8e8e8;
	}

	.service-list li:nth-child(2n){
		margin-right: 0;
	}

	.service-tit {
		height: 70px;
	}

	.service-tit h2 {
		font-size: 1.4rem;
	}

	.service-tit .en {
		margin-top: 10px;
	}
}


@media screen and ( max-width: 800px ) {

	.service-wrap {
		width: 100%;
		padding: 30px 0;
		display: block;
	}

	.service-main {
		width: 100%;
		margin: 0;
	}

	.service-tit .en {
		font-size: 1.0rem;
		line-height: 1;
		margin-top: 4px;
		letter-spacing: 0;
		transform: scale(0.7, 0.7);
	}

	.btanding .service-image {
		background-image: none;
	}

	.btanding .service-image img {
		max-width: 300px;
		margin: 0 auto;
		display: block;
	}

}


/*------------------------------------*/

.service-order{
	text-align: center;
	padding: 70px 0 80px;
}

.order-tit{
	margin-bottom: 40px;
}

.service-order .en{
	font-size: 2.5rem;
	font-weight: bold;
}

.service-order .order-tex{
	width: 90%;
	font-size: 1.6rem;
	line-height: 2.25;
	margin: 0 auto;
	margin-bottom: 40px;
}

.order-list{
	width: 88%;
	max-width: 1180px;
	margin: 0 auto;
	position: relative;
	-js-display: flex;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
}

.order-list li{
	text-align: center;
	font-size: 1.8rem;
	/*width: calc((100% - 120px) / 4);*/
	width: 266px;
	position: relative;
	margin-right: 40px;
}

.order-list li:last-child{
	margin-right: 0;
}

.order-list li p{
	width: 100%;
	height: 61%;
	position: absolute;
	top: 0;
	left: 0;
	padding-top: 39%;
	z-index: 2;
	background: #f8eacf;
	border-radius: 50%;
}

.order-list .en{
	font-size: 1.3rem;
	font-style: italic;
	letter-spacing: 0.025em;
	text-transform: none;
	font-weight: normal;
	display: block;
	margin-bottom: 10px;
}

.order-list li::before{
	width: 100%;
	content: '';
	padding-top: 100%;
	display: block;
	z-index: -2;
}

.order-list li p::after{
	width: 39%;
	content: '';
	padding-top: 39%;
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: -1;
	background: #fff;
	border-radius: 50%;
	transform: translate(-50%, -50%);
}

.order-list li:nth-child(2n) p{
	background: #f2f2f2;
}



@media screen and ( max-width: 900px ) {
	.order-list{
		width: 100%;
	}
	.order-list li{
		width: 210px;
	}
}

@media screen and ( max-width: 600px ) {
	.service-order{
		padding: 40px 0 50px;
	}
	.order-tit{
		margin-bottom: 20px;
	}
	.service-order .order-tex{
		margin-bottom: 20px;
	}
}









