@charset "UTF-8";

/* main */
#service .main {
	position: relative;
	width: 100%;
	height: 500px;
	overflow: hidden;
	background: url(../images/service/bg-main_pc.jpg) no-repeat center center;
	background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
}
#service .content {
	padding-top: 106px;
    padding-bottom: 118px;
	overflow: hidden;
}
#service .content > section + section {
	margin-top: 100px;
}
#service .content .content-inner {
	max-width: 1390px;
	width: 100%;
	margin: 0 auto;
}

/* service */
#service .ttl-service {
    width: 227px;
}
#service .service-read {
	display: flex;
	align-items: center;
    margin: 0 -145px 0 145px;
    padding: 0;
    height: 496px;
}
#service .service-read .service-img {
	width: 840px;
}
#service .service-text {
    width: 495px;
    margin-right: 55px;
}
#service .service-text p.text1 {
	font-weight: bold;
	font-size: 40px;
	line-height: 64px;
    letter-spacing: 3px;
}
#service .service-text p.text2 {
	font-size: 24px;
	line-height: 46px;
    letter-spacing: 2.3px;
    margin-top: 24px;
}
#service .service-text p.text3 {
	font-size: 16px;
	line-height: 26px;
    letter-spacing: 1px;
    margin-top: 36px;
}

/* h3 */
#service h3,
#service h3 * {
	color: #003284;
	font-weight: bold;
}
#service h3 {
	text-align: center;
	font-size: 36px;
	letter-spacing: 3.5px;
    margin-bottom: 44px;
}
#service h3 span.num {
	font-size: 44px;
	padding: 0 0 0 3px;
}

#service .service-introduction .content-inner {
	max-width: 954px;
	margin: 0 auto;
	width: 100%;
}
#service .service-introduction {
	margin-top: 48px;
	position: relative;
}
#service .service-introduction:after {
	content: "";
	display: block;
	width: 50%;
	height: 100%;
	right: 0;
	position: absolute;
	top: 0;
	z-index: -2;
}
#service .service-introduction.service-introduction-01:after {
	background: #d8e2ee;
}
#service .service-introduction.service-introduction-02:after {
	left: 0;
	background: #cfdcef;
}
#service .service-introduction.service-introduction-03:after {
	background: #eaedf2;
}
#service .service-introduction-01 {
	margin-top: 0;
}
#service .service-introduction .service-introduction-inner {
	position: relative;
    margin: 0 auto;
	padding: 72px 0;
}
#service .service-introduction .service-introduction-inner:before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -840px;
	width: 1680px;
	height: 100%;
    z-index: -1;
}
#service .service-introduction.service-introduction-01 .service-introduction-inner:before {
	background: url(../images/service/bg-introduction-01.jpg) no-repeat top right;
	background-size: 100%;
}
#service .service-introduction.service-introduction-02 .service-introduction-inner:before  {
	background: url(../images/service/bg-introduction-02.jpg) no-repeat top left;
	background-size: 100%;
}
#service .service-introduction.service-introduction-03 .service-introduction-inner:before  {
	background: url(../images/service/bg-introduction-03.jpg) no-repeat top right;
	background-size: 100%;
}
#service .flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#service .service-frame {
	position: relative;
	cursor: pointer;
	width: 490px;
	height: 316px;
}
#service .service-frame:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
    background: rgba(47,86,149,.6);
    transition: .4s;
}
#service .service-frame:hover:before {
	background: rgba(47,86,149,.4)
}
#service .service-frame .ico-reproduction {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 75px;
	height: 75px;
	margin: -37.5px 0 0 -37.5px;
}
#service .service-introduction-02 .service-introduction-text {
    padding-right: 63px;
    padding-left: 0;
}
#service .service-introduction-text {
	padding-left: 63px;
	width: 464px;
}
#service .service-introduction-text dt {
	font-size: 30px;
	position: relative;
    font-weight: 500;
    padding-bottom: 19px;
    margin-bottom: 35px;
}
#service .service-introduction-text dt:after {
	content: "";
	display: block;
	width: 50px;
	height: 1px;
	background: #003284;
	position: absolute;
	bottom: 0;
	left: 0;
}
#service .service-introduction-text dt span {
	display: block;
	font-weight: 500;
    letter-spacing: 3px;
}
#service .service-introduction-text dt .num {
	line-height: 1;
	color: #003284;
	font-size: 24px;
    margin-bottom: 5px;
    font-weight: 600;
}
#service .service-introduction-text dd p {
	color: #607AA5;
	font-size: 13px;
	line-height: 23px;
    letter-spacing: .6px;
}
#service .service-introduction-list {
	margin-top: 48px;
}
#service .service-introduction-list ul {
	display: flex;
	justify-content: space-between;
	margin-left: -26px;
}
#service .service-introduction-list ul li {
	background: #fff;
	width: 300px;
	border-radius: 30px 0 0 0;
    padding: 35px 30px 37px;
    margin-left: 26px;
}
#service .service-introduction-list dt {
	text-align: center;
	font-weight: 500;
    margin-bottom: 19px;
}
#service .service-introduction-list dt span {
	color: #003284;
	font-size: 24px;
	position: relative;
	font-weight: 500;
	padding-left: 30px;
    letter-spacing: 2px;
}
#service .service-introduction-list dt span:before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 10px;
	left: 0;
	width: 18px;
	height: 18px;
	background: url(../images/service/ico-check.png) no-repeat top left;
}
#service .service-introduction-list dd {
	font-size: 13px;
	line-height: 23px;
    letter-spacing: 1.1px;
}
#service .content > section.company-block {
	margin-top: 56px;
}
#service .company-block h3 {
    font-size: 30px;
    letter-spacing: 5px;
    line-height: 50px;
    margin-bottom: 56px;
}
#service .Infiniteslide-img li {
	margin: 0 11px;
}
#service .Infiniteslide-img li img {
	height: 317px;
}
#service .service-company-bottom {
    margin-top: 16px;
}
#service .Infiniteslide li {
	padding: 20px 0;
	margin: 0 50px;
}
#service .Infiniteslide li img {
	height: 39px;
	width: auto;
}
#service .Infiniteslide li.kyudenko {
	padding: 1px 0 18px;
}
#service .Infiniteslide li.kyudenko img {
	height: 60px;
}
#service .Infiniteslide li.mitsubishielectric {
	padding: 14px 0 20px;
}
#service .Infiniteslide li.mitsubishielectric img {
	height: 45px;
}
#service .Infiniteslide li.hitachi {
	padding: 23px 0 17px
}
#service .Infiniteslide li.nsk {
    padding: 23px 0 24px;
}
#service .Infiniteslide li.nsk img {
	height: 32px;
}
.next-block {
	background: url(../images/service/bg-next-pc.jpg) no-repeat center center;
	background-size: cover;
}
.next-block .ttl-works {
	width: 203px;
}
#service .company-loop {
	height: 176px;
}
@media screen and (min-width:768px) and (max-width:1390px) {
	#service .service-read {
	    height: 35.68vw;
	    margin: 0 -10.43vw 0 10.43vw;
	}
	#service .service-text {
	    width: 35.61vw;
	    margin-right: 3.96vw;
	}
}
@media screen and (max-width:768px) {
	/* main */
	#service .main {
		height: 82.67vw;
		background: url(../images/service/bg-main_sp.jpg) no-repeat center center;
		background-size: cover;
	}
	#service .content {
		padding-top: 10vw;
		padding-bottom: 32.4vw;
	}
	#service .content > section + section {
		margin-top: 19.2vw;
	}
	#service .content .content-inner {
		max-width: 100%;
	}

	/* service */
	#service .ttl-service {
	    width: 39vw;
	}
	#service .service-read {
		flex-wrap: wrap;
	    margin: 0;
        height: auto;
	}
	#service .service-text {
	    width: 100%;
	    margin-top: 0;
	    margin-right: 0;
        padding: 0 7vw;
	}
	#service .service-read .service-img {
	    width: 95%;
	    margin: 8vw 0 0 auto;
	}
	#service .service-text p.text1 {
		font-size: 6.4vw;
		line-height: 9.07vw;
	    letter-spacing: .5vw;
	}
	#service .service-text p.text2 {
		font-size: 4.8vw;
		line-height: 7.47vw;
	    letter-spacing: 1vw;
	    margin-top: 3vw;
	}
	#service .service-text p.text3 {
		font-size: 3.47vw;
		line-height: 5.87vw;
	    letter-spacing: .7vw;
	    margin-top: 3.2vw;
	}

	/* h3 */
	#service h3 {
		font-size: 6.4vw;
		letter-spacing: .55vw;
	    margin-bottom: 8.5vw;
	}
	#service h3 span.num {
		font-size: 6.93vw;
	}
	#service .service-introduction:after {
		display: none;
	}
	#service .service-introduction .service-introduction-inner {
		padding: 0 5.33vw;		
	}
	#service .service-introduction .service-introduction-inner:before {
		display: none;
	}
	#service .service-introduction {
		margin-top: 6.5vw;
	}
	#service .service-introduction-01 {
		margin-top: 0;
		background: none;
	}
	#service .service-introduction-02 {
		background: none;
	}
	#service .service-introduction-03 {
		background: none;
	}
	#service .service-introduction .content-inner {
		max-width: 100%;
		background-color: #EAEEF3;
	    padding: 10vw 5.5vw 10.6vw;
	}
	#service .flex {
		display: block;
	}
	#service .service-frame {
		width: 100%;
		height: 50.93vw;
		line-height: 1;
		margin-bottom: 5vw;
	}
	#service .service-frame img {
		height: 100%;
	}
	#service .service-frame .ico-reproduction {
		width: 11.73vw;
		height: 11.73vw;
		margin: -5.865vw 0 0 -5.865vw;
	}
	#service .service-introduction-text {
		padding-left: 0;
		width: 100%;
	}
	#service .service-introduction-02 .service-introduction-text {
		padding-right: 0;
	}
	#service .service-introduction-text dt {
		font-size: 6.13vw;
	    padding-bottom: 4vw;
	    margin-bottom: 8.5vw;
	    text-align: center;
	}
	#service .service-introduction-text dt:after {
		width: 10.67vw;
		left: 50%;
		margin-left: -5.335vw;
	}
	#service .service-introduction-text dt .num {
		text-align: center;
		font-size: 4.53vw;
		letter-spacing: .5vw;
	    margin-bottom: 3.1vw;
	}
	#service .service-introduction-text dt span {
	    font-weight: 500;
	    letter-spacing: 1vw;
	}
	#service .service-introduction-text dd p {
		font-size: 3.47vw;
		line-height: 6.13vw;
        letter-spacing: .3vw;
	}
	#service .service-introduction-list {
		margin-top: 6.4vw;
	}
	#service .service-introduction-list ul {
		display: block;
		margin-left: 0;
	}
	#service .service-introduction-list ul li {
		width: 100%;
		height: auto;
		border-radius: 8vw 0 0 0;
	    padding: 7.5vw 7.5vw 7vw;
	    margin-left: 0;
	}
	#service .service-introduction-list ul li + li {
	    margin-top: 5vw;
	}
	#service .service-introduction-list dt {
	    margin-bottom: 4.4vw;
	}
	#service .service-introduction-list dt span {
		font-size: 5.33vw;
		padding-left: 6.67vw;
	    letter-spacing: .6vw;
	}
	#service .service-introduction-list dt span:before {
		top: 1.5vw;
		width: 4.8vw;
		height: 4.8vw;
		background-size: 100%;
	}
	#service .service-introduction-list dd {
		font-size: 3.47vw;
		line-height: 6.13vw;
	    letter-spacing: .2vw;
	}
	#service .content > section.company-block {
		margin-top: 22vw;
	}
	#service .company-block h3 {
	    font-size: 6.4vw;
	    letter-spacing: .6vw;
	    line-height: 9.07vw;
	    margin-bottom: 14.5vw;
	}
	#service .Infiniteslide-img li {
		margin: 0 1.07vw;
	}
	#service .Infiniteslide-img li img {
		height: 36.53vw;
	}
	#service .service-company-middle,
	#service .service-company-bottom {
		margin-top: 5.5vw;
	}
	#service .Infiniteslide-sp li {
		margin: 0 5.5vw;
		padding: 1.5vw 0;
	}
	#service .Infiniteslide-sp li img {
		height: 5.2vw;
		width: auto;
	}
	#service .Infiniteslide-sp li.kyudenko {
		padding: 0 0 1.6vw;
	}
	#service .Infiniteslide-sp li.kyudenko img {
		height: 6.6vw;
	}
	#service .Infiniteslide-sp li.mitsubishielectric {
		padding: .5vw 0 1.2vw;
	}
	#service .Infiniteslide-sp li.mitsubishielectric img {
		height: 6.5vw;
	}
	#service .Infiniteslide-sp li.nsk {
		padding: .6vw 0 1.5vw;
	}
	#service .Infiniteslide-sp li.nsk img {
		height: 4.8vw;
	}
	#service .Infiniteslide-sp li.hitachi {
		padding: 1.9vw 0 1.1vw;
	}
	.next-block {
		background: url(../images/service/bg-next-sp.jpg) no-repeat center center;
		background-size: cover;
	}
	.next-block .ttl-works {
		width: 30vw;
	}
	#service .company-loop {
		height: 36.4vw;
	}
}
