@charset "UTF-8";

/*---------------------------------------------

Service Category Page CSS

for ipps.co.jp
coded by d-spica at 2018-03-09

---------------------------------------------*/


@import url(default.css);
@import url(base.css);
@import url(parts.css);


article > h1 {
	position: relative;
	letter-spacing: 0.1em;
	font-family: "Roboto", sans-serif;
	color: #999;
}

article > h1 i {
	color: #F31100;
}

article > h1 em {
	line-height: 1.2;
	letter-spacing: 0;
	font-family: "Noto Sans JP", sans-serif;;
	font-weight: 400;
	color: #000;
}

article > h1 [id] {
	position: absolute;
	top: -164px;
	left: 0;
}

section.services,
section.service {
	position: relative;
	background: #E6E6E6 url(../img/bg-section-top.png) no-repeat 0 0;
	background-size: 100% 120px;
	padding-top: 180px;
}

section.services .icon,
section.service .icon {
	position: absolute;
	top: calc(-130px + 1vw);
	right: 50%;
	margin-right: -520px;
}

section.services .tag,
section.service .tag {
	position: absolute;
	top: 50%;
	left: 1.95%;
	margin-top: 6em;
	width: 12em;
	text-align: center;
	font-size: 78.5%;
	color: #999;
	transform: rotate(-90deg);
	transform-origin: 0 0;
}


section.services {
	padding-bottom: 5em;
}

section.services ul {
	margin: 0 auto;
	max-width: 1030px;
}

section.services li {
	margin-bottom: 2.5em;
	background: #FFF;
}

section.services li a {
	display: block;
	padding: 3em;
}

section.services li dl {
	position: relative;
	overflow: hidden;
}

section.services li dt {
	margin-bottom: 0.8em;
	line-height: 1.4;
	font-size: 178.5%;
	font-weight: 500;
}

section.services li dt img {
	float: right;
	margin-left: 4%;
	width: 30%;
}

section.services li dd {
	line-height: 2;
}

section.services li dd i {
	display: inline-block;
	position: absolute;
	bottom: 0;
	right: 34%;
	border-bottom: solid 2px;
	line-height: 1.8;
	letter-spacing: 0.1em;
	font-family: "Roboto", sans-serif;
	font-size: 92.8%;
	font-weight: 300;
	color: #F31100;
}


section.service {
	padding-bottom: 0.1em;
}

section.service h2 {
	visibility: hidden;
	height: 0;
}

section.service section {
	margin-bottom: 5em;
}

section.service section h3 {
	margin-bottom: 0.5em;
	line-height: 1.4;
	text-align: center;
	font-size: 200%;
}

section.service section .box {
	margin: 0 auto;
	box-sizing: border-box;
	background: #FFF;
	padding: 3em 3em 1em;
	max-width: 1030px;
	line-height: 2;
}

section.service section p {
	margin-bottom: 2em;
}

section.service section p.before-after {
	overflow: hidden;
	background: url(../img/service/ar-r3.png) no-repeat 50% 50%;
}

section.service section p.before-after img {
	width: 29.5em;
}

section.service section p.before-after img:first-child {
	float: left;
}

section.service section p.before-after img:last-child {
	float: right;
}

section.service section p.before-after-b {
	overflow: hidden;
	border: solid #4CC1BF 4px;
	border-radius: 7px;
	background: url(../img/service/ar-r3.png) no-repeat 50% 50%;
	padding: 2.5em;
}

section.service section p.before-after-b img {
	width: 26.4em;
}

section.service section p.before-after-b img:first-child {
	float: left;
}

section.service section p.before-after-b img:last-child {
	float: right;
}

section.service section .figure {
	text-align: center;
}

section.service section .figure i {
	display: block;
	margin-top: 0.5em;
	font-size: 85.7%;
}

section.service section p.photos2 {
	overflow: hidden;
}

section.service section p.photos2 img {
	float: left;
	width: 48.5%;
}

section.service section p.photos2 img:nth-child(n+2) {
	margin-left: 3%;
}

section.service section p.photos3 {
	overflow: hidden;
}

section.service section p.photos3 img {
	float: left;
	width: 31%;
}

section.service section p.photos3 img:nth-child(n+2) {
	margin-left: 3.5%;
}

section.service section .step-note {
	margin: 1em 0 1.5em;
	background: #B2B2B2;
	padding: 1px;
	text-align: center;
}
	
section.service section .step-note img {
	width: 20em;
}

section.service section .step {
	overflow: hidden;
	margin: 0 auto -2em;
	max-width: 1030px;
}

section.service section .step li {
	float: left;
	margin: 0 0 2em 3%;
}

section.service section .strengths {
	overflow: hidden;
}

section.service section .strengths li {
	float: left;
	margin-bottom: 2em;
	box-sizing: border-box;
	border-bottom: solid 6px #000;
	background: #F3C2C2;
	padding: 1.5em 2.5em 2em;
	width: 31%;
}

section.service section .strengths li:nth-child(n+2) {
	margin-left: 3.5%;
}

section.service section .strengths li b {
	display: block;
	margin-bottom: 0.6em;
	line-height: 1.4;
	text-align: center;
	font-size: 300%;
	font-weight: 600;
}

section.service section .strengths li b:after {
	content: '';
	display: block;
	margin: 0 auto;
	border-top: solid 0.1em #000;
	width: 1em;
	height: 0;
}
	
section.service section .strengths li em {
	margin-bottom: 0.8em;
	display: block;
	line-height: 1.4;
	text-align: center;
	font-size: 142.8%;
}

section.service section .strengths li span {
	display: block;
	line-height: 1.8;
}

section.service section .strengths li span i {
	display: block;
	margin-top: 0.5em;
	font-size: 92.8%;
}

section.service section .mymark li {
	position: relative;
	margin-bottom: 2em;
	padding-left: 1.5em;
}

section.service section .mymark li i {
	position: absolute;
	top: 0;
	left: 0;
}

section.service section ul.simple {
	margin-bottom: 2em;
}

section.service section .simple li {
	position: relative;
	padding-left: 1.5em;
}

section.service section .simple li:before {
	content: '\30FB';
	position: absolute;
	top: 0;
	left: 0;
}

section.service section.equipments dl.box {
	position: relative;
	margin-bottom: 2em;
	padding-right: 34em;
	min-height: 29em;
}

section.service section.equipments dl.box dt {
	margin-bottom: 0.8em;
	line-height: 1.4;
	font-size: 171.4%;
}
	

section.service section.equipments dl.box .photo {
	position: absolute;
	top: 3em;
	right: 3em;
	width: 28em;
}

section.service section.equipments dl.box .photo i {
	display: block;
	margin-top: 0.5em;
	font-size: 85.7%;
}

section.service section.equipments dl.box .photo .sub {
	position: absolute;
	bottom: -1.5em;
	right: -1.5em;
	width: 11em;
}

section.service section.equipments dl.box .update {
	position: absolute;
	top: 295px;
	right: 476px;
	text-align: right;
	line-height: 1.5;
	font-size: 85.7%;
}

section.service section.equipments dl.box .update em {
	display: block;
	margin: 0 0 0.45em auto;
	background: #ED3A3A;
	padding: 0.25em 0;
	width: 11em;
	text-align: center;
	font-size: 166.6%;
	color: #FFF;
}

section.service section.note {
	margin: 0 auto;
	box-sizing: border-box;
	padding: 1em 3.3em;
	max-width: 1030px;
	line-height: 2;
	font-size: 92.8%;
}

section.service section.note p {
	margin-bottom: 0;
}
	

section.service section section {
	margin-bottom: 2em;
}
	
section.service section section h4 {
	margin-bottom: 0.8em;
	border-left: solid 4px #F31100;
	padding-left: 0.6em;
	line-height: 1.4;
	font-size: 142.8%;
}



.ikkatsu01 section.service section:nth-of-type(3) .step li {
	width: 17.6%;
}

.ikkatsu01 section.service section:nth-of-type(3) .step li:nth-child(5n+1) {
	margin-left: 0;
}

.ikkatsu01 section.service section:nth-of-type(5) .step li {
	width: 22.75%;
}

.ikkatsu01 section.service section:nth-of-type(5) .step li:nth-child(4n+1) {
	margin-left: 0;
}

.koji02 section.service section .figure {
	float: right;
	margin-left: 3em;
	width: 40%;
}

.koji02 section.service section p.photos3 {
	clear: right;
}

.koji01 section.service section .strengths li span,
.koji02 section.service section .strengths li span {
	height: 23.4em;
}

.koji03 section.service section p.photos2 img:first-child {
	width: 58.1%;
}

.koji03 section.service section p.photos2 img:last-child {
	width: 38.9%;
}

.koji08 section.service section section {
	margin-bottom: 3em;
}

.hijo03 section.service section .box {
	margin-bottom: 2em;
}

.hijo05 section.service section .step li {
	width: 17.6%;
}

.hijo05 section.service section .step li:nth-child(5n+1) {
	margin-left: 0;
}


@media screen and (max-width:767px) {

	article > h1 [id] {
		top: -60px;
	}
	
	section.services,
	section.service {
		background-size: 100% auto;
		padding-top: 15%;
	}

	section.services .icon,
	section.service .icon {
		display: none;
	}

	section.services .tag,
	section.service .tag {
		display: none;
	}

	section.services {
		padding-bottom: 4em;
	}

	section.services ul {
		width: min(calc(100% - 2em), 32em);
	}

	section.services li {
		margin-bottom: 1em;
	}

	section.services li a {
		padding: 1.5em;
	}

	section.services li dl {
		font-size: 100%;
	}

	section.services li dt {
		margin-bottom: 0.5em;
		font-size: 142.8%;
	}

	section.services li dt img {
		float: none;
		display: block;
		margin: 0.7em auto;
		width: auto;
	}

	section.services li dd {
		padding-bottom: 3em;
		line-height: 1.8;
		font-size: 100%;
	}

	section.services li dd i {
		right: 50%;
		margin-right: -3em;
	}

	
	section.service section {
		margin-bottom: 3em;
	}

	section.service section h3 {
		font-size: 128.5%;
	}

	section.service section .box {
		margin: 0 1em;
		padding: 1.5em 1.5em 0.1em;
	}

/*
	section.service section p,
	section.service section ul,
	section.service section dl,
	section.service section table {
		font-size: 78.5%;
	}
*/
	
	section.service section p.before-after {
		margin: 0 auto 2em;
		background: url(../img/service/ar-d3.png) no-repeat 50% 50%;
		background-size: 1.8em auto;
		max-width: 560px;
	}

	section.service section p.before-after img {
		width: auto;
	}

	section.service section p.before-after img:first-child {
		float: none;
		margin-bottom: 7em;
	}
	
	section.service section p.before-after img:last-child {
		float: none;
	}
	
	section.service section p.before-after-b {
		margin: 0 auto 2em;
		box-sizing: border-box;
		border: solid #4CC1BF 2px;
		border-radius: 4px;
		background: url(../img/service/ar-d3.png) no-repeat 50% 50%;
		background-size: 1.8em auto;
		padding: 1.5em;
		text-align: center;
	}

	section.service section p.before-after-b img {
		width: auto;
	}

	section.service section p.before-after-b img:first-child {
		float: none;
		margin-bottom: 7em;
	}

	section.service section p.before-after-b img:last-child {
		float: none;
	}

	section.service section p.photos2 {
		text-align: center;
	}

	section.service section p.photos2 img {
		float: none;
		margin-bottom: 1em;
		width: auto;
	}

	section.service section p.photos2 img:nth-child(n+2) {
		margin-left: 0;
	}

	section.service section p.photos3 {
		text-align: center;
	}

	section.service section p.photos3 img {
		float: none;
		margin-bottom: 1em;
		width: auto;
	}

	section.service section p.photos3 img:nth-child(n+2) {
		margin-left: 0;
	}

	section.service section .step-note img {
		width: auto;
	}
	
	section.service section .step {
		margin: 0 1em -1em;
	}

	section.service section .step li {
		float: none;
		margin: 0 auto 1em !important;
		max-width: 560px;
		width: auto !important;
	}

	section.service section .strengths li {
		float: none;
		margin-bottom: 1.5em;
		padding: 1em 1.5em 1.5em;
		width: auto;
	}

	section.service section .strengths li:nth-child(n+2) {
		margin-left: 0;
	}

	section.service section.equipments dl.box {
		margin-bottom: 1em;
		padding-right: 1.5em;
		min-height: 0;
	}

	section.service section.equipments dl.box dt {
		text-align: center;
		font-size: 142.8%;
	}

	section.service section.equipments dl.box dd {
		margin-bottom: 1.5em;
	}
	
	section.service section.equipments dl.box .photo {
		position: static;
		width: auto;
		text-align: center;
	}

	section.service section.equipments dl.box .photo .sub {
		position: static;
		width: auto;
	}

	section.service section.equipments dl.box .update {
		position: static;
		text-align: center;
	}

	section.service section.equipments dl.box .update em {
		margin: 0 auto 0.45em;
	}

	section.service section.note {
		margin: 0 1em;
		padding: 1em 1.6em 0.1em;
	}
	
	section.service section section h4 {
		font-size: 114.2%;
	}

	.koji02 section.service section .figure {
		float: none;
		margin-left: 0;
		width: auto;
	}

	.koji01 section.service section .strengths li span,
	.koji02 section.service section .strengths li span {
		height: auto;
	}

	.koji03 section.service section p.photos2 img:first-child,
	.koji03 section.service section p.photos2 img:last-child {
		width: auto;
	}

	.koji07 section.service section p.before-after-b {
		background-position: 50% 48%;
	}

	.hijo05 section.service section .step {
		margin: 0 0 -1em;
	}



}