body {
	background-color: #EFF0F2;
}
.hero.service {
  position: relative;
  background-image: url("./images/about_18.jpg");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  color: #fff;
  text-align: center;
  /*padding: 120px 20px;*/
  height: 334px;
}

h1 {
	font-size: 3.4rem;
	color: #fff;
	font-weight: 300;
	margin-top: 100px;
}
.service-content {
  position: relative;
  text-align: center;
  line-height: 364px;
  z-index: 1;
}
.company {
	display: grid;
	grid-template-rows: 60px 60px;
	grid-template-columns: 30% 30% 30%;
	column-gap: 50px;
}
@media (max-width: 768px) {
	.company {
		display: block;
	}
}
.company .about-title {
	border-top: 1px solid #aaa;
	/*border-bottom: 1px solid #aaa;*/
	line-height: 60px;
}
.company .about-title.l2 {
	border-bottom: 1px solid #aaa;
}
.company .about-title a {
	color: #175996;
	text-decoration: none;
}
.advantage {
	background-color: #fff;
	padding: 100px;
}
.advantage h2, .outline h2, .goal h2, .greeting h2 {
	font-size: 3.0rem;
	color: #175996;
	font-weight: 300;
}
.advantage h3 {
	color: #175996;
	font-weight: 500;
	margin-top: 50px;
}
.outline .ol {
	display: grid;
	grid-template-columns: 10% 90%;
}
.outline .ol .ol-lt {
	border-top: 1px solid #175996;
	padding: 10px 5px;
}
.outline .ol .ol-rt {
	border-top: 1px solid #ddd;
	padding: 10px 5px;
}
.outline .ol .ol-rt P {
	padding: 10px 0 10px 0;
}
.goal {
	background-image: url("./images/about_50.jpg");
	background-position: center;
	height: 700px;
	padding: 150px;
}
.goal h2 {
	font-size: 3.0rem;
	color: #fff;
	font-weight: 300;
}
.goal p {
	color: #fff;
	padding: 20px 0;
	font-size: 1.4rem;
}
@media (max-width: 768px) {
  .advantage {
	background-color: #fff;
	padding: 10px;
  }
  .advantage h2, .outline h2, .goal h2, .greeting h2 {
	font-size: 2.0rem;
	color: #175996;
	font-weight: 300;
  }
  .advantage h3 {
	color: #175996;
	font-weight: 500;
	margin-top: 50px;
  }
  .outline .ol {
	display: grid;
	grid-template-columns: 25% 75%;
  }
  .outline .ol .ol-lt {
	border-top: 1px solid #175996;
	padding: 10px 5px;
  }
  .outline .ol .ol-rt {
	border-top: 1px solid #ddd;
	padding: 10px 5px;
  }
  .outline .ol .ol-rt P {
	padding: 10px 0 10px 0;
  }
	.goal {
		width: 100%;
		height: auto;
		padding: 20px;
	}
	.goal h2 {
		font-size: 2.6rem;
		color: #fff;
	}
	.goal p {
		padding: 8px 0;
		font-size: 1.1rem;
	}
	.company .about-title.l2 {
		margin-top: -1px;
	}
}

.ceo {
	/*
	background-image: url("./images/about_60.jpg");
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	height: 730px;
	*/
	padding: 0;
	text-align: center;
}
.greeting {
	padding: 200px;
}
.greeting h3 {
	font-size: 1.5rem;
	color: #175996;
	font-weight: 500;
}
.greeting p {
	padding: 10px 0;
}
.greeting p.sign {
	text-align: right;
}
@media (max-width: 768px) {
	.greeting {
		padding: 20px;
	}
}

/* Gyoumu */
.gyoumu {
  background: #EFF0F2;
  padding: 60px 20px;
  text-align: center;
}
.gyoumu h2 {
	font-size: 3.4rem;
	font-weight: 300;
	color: #fff;
	height: 357px;
	line-height: 357px;
}
.gyoumu h2.block1 {
	background-image: url("./images/gyoumu_19.jpg")
}
.gyoumu h2.block2 {
	background-image: url("./images/gyoumu_47.jpg")
}
.gyoumu h2.block3 {
	background-image: url("./images/gyoumu_60.jpg")
}
.gyoumu h2.block4 {
	background-image: url("./images/gyoumu_64.jpg")
}
.gyoumu h3 {
	font-size: 2.2rem;
	font-weight: normal;
}
.gyoumu .grid {
	/*
  display: grid;
  grid-template-columns: repeat(2, 30%);
  gap: 0px;
	*/
  margin-top: 30px;
	display: flex;
	height: 250px;
}
.gyoumu .grid.rt {
	justify-content: flex-end;
}
.gyoumu .grid.lt {
	justify-content: flex-start;
}
.gyoumu .card {
  background: #219CEA;
  padding: 70px 50px;
  border: 1px solid #eee;
  color: #fff;
  width: 25%;
}
.gyoumu .detail {
  background: #fff;
  padding: 50px 100px;
  border: 1px solid #eee;
  color: #333;
  width: 55%;
}
.gyoumu .photo {
	/*
  background: #fff;
  padding: 50px 100px;
  border: 1px solid #eee;
  color: #333;
  width: 20%;
	*/
}
.gyoumu .descript {
  background: #EFF0F2;
  padding: 50px 20px;
  border: 1px solid #eee;
  color: #333;

}
.gyoumu h4 {
	border-left: 15px solid #175996;
	color: #175996;
    text-align: left;
	font-size: 1.4rem;
	padding-left: 20px;
	margin-bottom: 15px;
}
.sepa {
	border-top: 1px solid #eee;
	margin: 20px 0;
}
    section{padding:60px 0}
    h2{font-size:28px;margin-bottom:20px;text-align:center}
    .intro{text-align:center;max-width:800px;margin:0 auto 40px}

    .grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}
    .service-card{position:relative;overflow:hidden;border-radius:10px}
    .service-card img{width:100%;height:220px;object-fit:cover}
    .service-card span{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,0.5);color:#fff;padding:10px;font-weight:700;text-align:center}

    .feature{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-bottom:40px}
    .feature:nth-child(even){flex-direction:row-reverse}
    .feature img{flex:1 1 400px;border-radius:10px}
    .feature-text{flex:1 1 400px}
    .feature-text h3{color:#0b5394;margin-top:0}

    @media(max-width:768px){
      .nav ul{flex-wrap:wrap;gap:0px;font-size:14px}
      .hero{padding:60px 20px}
      .feature{flex-direction:column!important}
    }