@charset "utf-8";
/* Hero*/
@media (max-width: 767px){	
	.hero-img img{width: 129px;}
}

/* Equipment */
.map{line-height: 1; position: relative; max-width: 817px; margin: 0 auto;}
.map a{position: absolute; width: min(3.3%,26px); background: #ea5417; color: #fff; font-family: 'Zen Maru Gothic', serif; display: block; border-radius: 100%; text-align: center; font-weight: bold; z-index: 1; transition: .5s;}
.map a:focus,
.map a:hover{background: #000; z-index: 2;}
.map a:after{content: ''; display: block; padding-bottom: 100%;}
.map span{position: absolute; top: 48%; left: 50%; transform: translate(-50%,-50%); font-size: min(2vw,1.7rem); line-height: 0.8; display: inline-block;}

.map a#num01{top: 75%; left: 30.4%;}
.map a#num02{top: 61.3%; left: 32.6%;}
.map a#num03{top: 58.3%; left: 36.8%;}
.map a#num04{top: 67%; left: 36.8%;}
.map a#num05{top: 59%; left: 22%;}
.map a#num06{top: 54%; left: 53.5%;}
.map a#num07{top: 56.6%; left: 45.9%;}
.map a#num08{top: 26.8%; left: 42.5%;}
.map a#num09{top: 33.6%; left: 44.5%;}
.map a#num10{top: 29.2%; left: 45.7%;}
.map a#num11{top: 24.5%; left: 46%;}
.map a#num12{top: 36.8%; left: 50.5%;}
.map a#num13{top: 17.5%; left: 73.2%;}
.map a#num14{top: 34.6%; left: 80.3%;}
.map a#num15{top: 38%; left: 62%;}
.map a#num16{top: 45.5%; left: 5%;}
.map a#num17{top: 37.2%; left: 33.5%;}
.map a#num18{top: 79%; left: 36.2%;}

@media (min-width: 768px){
	.equipment{margin: 0 0 140px;}
}

@media (max-width: 767px){
	.equipment{margin: 0 0 80px;}
	.map a{pointer-events: none;}
	.equipment figure{width: 100%; margin: 5px 0 0; text-align: center;}	
	.equipment figure:nth-of-type(1){margin: 20px 0 0;} 
}

/* Service */
.service{max-width: 720px; margin: 80px auto 0;}
.service-tit{background: #ff3300; color: #fff; font-size: 24px; line-height: 1.3; font-weight: bold; text-align: center; border-radius: 10px; margin: 0 0 20px; padding: 13px 0;}
.service-wrap{border: 2px solid #ff3300; border-radius: 15px; padding: 6% 8%;}
.service-img{margin: 0 auto 30px; width: 86%; text-align: center;}
.service-list li{margin: 0 0 6px;}
.service-list a{border: 1px solid #d7d7d7; border-radius: 5px; padding: 15px 20px 15px 50px; display: block; position: relative; font-size: 20px; line-height: 1.4; font-weight: bold; text-align: left;}
.service-list a:before{content: ''; width: 21px; height: 21px; display: block; position: absolute; top: 18px; left: 20px;}
.service-list a:hover{border: 1px solid #ff3300; color: #fff; background: #ff3300;}

.service-list a.ic-home:before{background: url("../img/common/ic-home.svg") no-repeat center center/100% 100%;}
.service-list a.ic-home:hover:before{background: url("../img/common/ic-home_white.svg") no-repeat center center/100% 100%;}

.service-list a.ic-hammer:before{background: url("../img/common/ic-hammer.svg") no-repeat center center/100% 100%;}
.service-list a.ic-hammer:hover:before{background: url("../img/common/ic-hammer_white.svg") no-repeat center center/100% 100%;}

.service-list a.ic-plug:before{background: url("../img/common/ic-plug.svg") no-repeat center center/100% 100%;}
.service-list a.ic-plug:hover:before{background: url("../img/common/ic-plug_white.svg") no-repeat center center/100% 100%;}

@media (max-width: 767px){
  .service-wrap{padding: 30px 3%;}
  .service-list a{font-size: 16px;}
  .service-list a:before{top: 15px;}
}

/* Index2 */
.flexBox {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center; /* 中央寄せ */
	gap: 20px; /* 均等な余白 */
  
}

.boxTit {
	margin-bottom: 40px;
}

.boxTit .tit {
	font-size: 4.5rem;
	line-height: 1;
	text-align: center;
	padding-bottom: 60px;
}

.boxTit p {
	font-size: 1.9rem;
	line-height: 2;
	text-align: center;
}

.boxTit .photo {
	padding-top: 50px;
	text-align: center;
}

.boxList {
	margin: 80px 0;
}

.boxList li {
	flex: 1 1 45%; /* 2列で均等に広がる */
	max-width: 500px; /* 最大幅を設定（任意） */
  }  

  .boxList li img {
	width: 100%;
	height: auto;
  }
  
.boxList li a {
	display: block;
}

.boxList li a:hover {
	opacity: 0.8;
}

@media (max-width: 767px){
	.boxList {
		margin: 40px 0;
	}

	.boxList li {
		flex: 1 1 100%; /* 幅を100%に */
		max-width: none; /* 最大幅制限を解除 */
	  }
	
	.boxList li:not(:last-child) {
		margin-bottom: 20px;
	}

	.boxTit .tit {
		font-size: 2.8rem;
		padding-bottom: 30px;
	}

	.boxTit p {
		text-align: left;
		font-size: 1.6rem;
	}
	
	.boxTit .photo {
		width: 90%; 
		margin: 0 auto;
	}
}