@charset "UTF-8";
/*--------------------------------------------------------------
.description
--------------------------------------------------------------*/

/* mobile */
@media (min-width: 300px) {
	.description {
		width: 100%;
		height: auto;
		background: #fff;
		margin: 0 auto;
		padding: 20px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	.description p {
		width: 100%;
		max-width: 750px;
		margin: 0 auto;
		line-height: 1.8;
		font-size: 14px;
		font-weight: 400;
		text-align: justify;
		vertical-align: middle;
	}


}

/* Small than tablet */
@media (min-width: 768px) {
	.description {
		width: 88%;
		height: 200px;
		margin: 0 auto;
	}

	
}


/* Larger than tablet */
@media (min-width: 992px) {
	


}

/*--------------------------------------------------------------
.service
--------------------------------------------------------------*/

/* mobile */
@media (min-width: 300px) {
	.service {
		width: 100%;
		background: #D7DEE0;
		margin: 0;
		padding: 35px 20px 5px;
		letter-spacing: .1em;
		font-size: 14px;
	}
	
	.service ul {
		width: 100%;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-flow: row wrap;
		flex-flow: row wrap;
		margin: 0;
		padding: 0;
	}
	
	.service ul li {
		background: #fff;
		width: calc(100% / 1);
		margin: 0 0 35px;
		padding: 0;
	}
	
	.sv_img {
		width: 100%;
		position: relative;
		overflow: hidden;
		margin: 0 0 20px;
	}
	
	.sv_img img {
		width: 100%;
		height: auto;
	}
	
	.service dl {
		padding: 0 50px 50px;
	}
	
	.service dl dt {
		font-size: 16px;
		font-weight: 500;
		margin: 0 0 10px;
		padding: 0;
	}
	
	.service dl dt span {
		font-family: 'Lato', sans-serif;
		color: #cc1b2a;
		font-weight: 600;
		font-size: 11px;
		display: block;
		margin: 0 0 5px;
		padding: 0;
	}
	
	.service dl dt span.sub {
		font-family: inherit;
		color: inherit;
		font-weight: 400;
		font-size: 13px;
		display: block;
		margin: 5px 0 0;
		padding: 0;
	}
	
	
	.service dl dd {
		font-size: 14px;
		line-height: 1.8;
		font-weight: 400;
	}
	
	.service dl a {
		color: #cc1b2a;
		text-decoration: none;
		font-size: 13px;
		line-height: 1;
		display: block;
		margin: 10px 0 0;
		padding: 0;
		float: right;
		overflow: hidden;
	}
	
	.service dl a i {
		margin: 0 0 0 15px;
	}

}

/* Small than tablet */
@media (min-width: 768px) {
	.service {
		width: 100%;
		margin: 0;
		padding: 65px 30px 30px;
		letter-spacing: .1em;
	}
	
	.service ul {
		width: 100%;
		margin: 0;
		padding: 0;
	}
	
	.service ul li {
		width: calc(100% / 2);
		margin: 0 0 35px;
		padding: 0;
	}
	
	.service dl {
		padding: 0 20px 50px;
	}

	
}


/* Larger than tablet */
@media (min-width: 992px) {
	.service {
		width: 100%;
		margin: 0;
		padding: 65px 10% 30px;
		letter-spacing: .1em;
	}
	
	.service ul {
		width: 100%;
		margin: 0;
		padding: 0;
	}
	
	.service ul li {
		margin: 0 0 35px;
		padding: 0;
	}
	
	.service dl {
		padding: 0 60px 60px;
	}


}

/*--------------------------------------------------------------
.price
--------------------------------------------------------------*/

/* mobile */
@media (min-width: 300px) {
	.price {
		width: 100%;
		height: auto;
		margin: 0 0 70px;
		padding: 105px 20px 0;
		letter-spacing: .1em;
		position: relative;
	}
	
	.price_bg {
		background: url("img/price_bg.png") no-repeat center top;
		background-size: cover;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 250px;
		z-index: 0;
	}
	
	.price_wrap {
		background: #fff;
		width: 100%;
		max-width: 1200px;
		margin: 0 auto;
		padding: 50px 20px 90px;
		text-align: center;
		position: relative;
		z-index: 10;
	}
	
	.price h3 {
		font-size: 13px;
		line-height: 1;
		margin: 0 0 50px;
		padding: 0;
	}
	
	.price h3 span {
		display: block;
		color: #cc1b2a;
		font-family: 'Lato', sans-serif;
		font-size: 30px;
		margin: 0 0 20px;
	}
	
	.table_scroll {
		overflow-x: scroll;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
		margin: 0 0 45px;
	}
	
	.table_scroll.tb01 {
		margin-bottom: 10px;
	}
	
	table {
		height: auto;
		border-collapse: collapse;
		margin: 0;
		padding: 0;
		font-size: 13px;
		font-weight: 400;
	}
	
	table caption {
		width: 100%;
		height: auto;
		font-size: 17px;
		margin: 0 0 28.5px;
		padding: 0 0 10.5px;
		position: relative;
		text-align: left;
	}
	
	table caption::after {
		position: absolute;
		content: "";
		display: block;
		width: 20px;
		height: 1px;
		background: #cc1b2a;
		left: 0;
		bottom: 0;
	}
	
	table caption span {
		font-size: 14px;
	}
	
	.price th {
		background: #F7f7f7;
		border: 1px solid #D1D1D1;
		margin: 0;
		padding: 1em;
		font-weight: 400;
		line-height: 1.8;
	}
	
	.price th:first-child {
		width: 465px;
	}
	
	.price thead {
		background: #f2f2f2;
	}
	
	.price th span {
		display: block;
	}
	
	.price td {
		border: 1px solid #D1D1D1;
		margin: 0;
		padding: 1em;
		line-height: 1.8;
	}
	
	.link_area {
		margin: 0 0 40px;
	}
	
	.link_area a {
		color: #cc1b2a;
		text-decoration: none;
		font-size: 13px;
		line-height: 1;
		display: block;
		margin: 0;
		padding: 0;
		float: right;
		overflow: hidden;
	}
	
	.link_area a i {
		margin: 0 0 0 15px;
	}

}

/* Small than tablet */
@media (min-width: 768px) {
	.price {
		margin: 0 0 30px;
		padding: 105px 30px 0;
		position: relative;
	}
	
	.price_wrap {
		margin: 0 auto;
		padding: 50px 100px;
		position: relative;
		z-index: 10;
	}
	
	.price h3 {
		font-size: 13px;
		line-height: 1;
		margin: 0 0 50px;
		padding: 0;
	}
	
	.price h3 span {
		display: block;
		font-size: 30px;
		margin: 0 0 20px;
	}
	
	table {
		width: 100%;
		height: auto;
		margin: 0;
		padding: 0;
	}
	
	table caption {
		width: 100%;
		height: auto;
		font-size: 17px;
		margin: 0 0 28.5px;
		padding: 0 0 10.5px;
		position: relative;
	}
	
	table caption span {
		font-size: 14px;
	}
	
	.price th {
		margin: 0;
		font-weight: 400;
		line-height: 1.8;
	}
	
	.price th span {
		display: block;
	}
	
	.price td {
		margin: 0;
	}

}


/* Larger than tablet */
@media (min-width: 992px) {
	.price_wrap {
		margin: 0 auto;
		padding: 50px 185px 50px;
		position: relative;
		z-index: 10;
	}

}
