.service-section{
  position:relative;
  overflow:hidden;
  padding:58px 0 52px;
  background-color:#e7edf8;
  background-image:url('../img/service/background.webp');
  background-repeat:repeat;
  background-position:center top;
  background-size:auto;
  color:#173463;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
}
.service-container{
  width:min(calc(100% - 44px),420px);
  margin:0 auto;
}
.service-title{
  max-width:360px;
  margin:0 auto 34px;
  color:#173463;
  font-size:28px;
  line-height:1.55;
  font-weight:700;
  letter-spacing:.025em;
  text-align:center;
}
.service-list{
  display:grid;
  gap:30px;
}
.service-card,
.service-card.is-featured{
  padding:28px 24px 24px;
  border:0;
  border-radius:12px;
  background:#fff;
  color:#173463;
  box-shadow:0 7px 9px rgba(21,44,80,.24);
}
.service-card-heading{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}
.service-icon{
  position:relative;
  flex:0 0 31px;
  width:31px;
  height:31px;
  border:0;
  border-radius:9px;
  background:#dbad49;
}
.service-icon::before{
  content:"";
  position:absolute;
  left:8px;
  top:7px;
  width:13px;
  height:7px;
  border-left:3px solid #fff;
  border-bottom:3px solid #fff;
  transform:rotate(-45deg);
  border-radius:1px;
}
.service-card h3{
  margin:0;
  color:#173463;
  font-size:25px;
  line-height:1.3;
  font-weight:700;
  letter-spacing:.01em;
}
.service-card p{
  margin:0;
  color:#272d37;
  font-size:16px;
  line-height:1.8;
  font-weight:600;
  letter-spacing:.005em;
}
@media(max-width:374px){
  .service-container{width:calc(100% - 32px);}
  .service-title{font-size:25px;}
  .service-card{padding:24px 20px 22px;}
  .service-card h3{font-size:22px;}
  .service-card p{font-size:15px;}
}
@media(min-width:768px){
  .service-section{
    padding:82px 0 70px;
  }
  .service-container{width:min(100% - 48px,1040px);}
  .service-title{
    max-width:720px;
    margin-bottom:44px;
    font-size:40px;
  }
  .service-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px;
  }
  .service-card,
  .service-card.is-featured{
    min-height:230px;
    padding:32px 28px 28px;
  }
  .service-card h3{font-size:27px;}
  .service-card p{font-size:16px;}
}
@media(min-width:1100px){
  .service-list{grid-template-columns:repeat(3,minmax(0,1fr));}
}

/* PC版：SPのスタイルを変えずに、見出しと6枚のカードを3列×2段に配置 */
@media (min-width:768px) {
  .service-section {
    padding:76px 0 88px;
    background-color:#eaf1ff;
    background-image:none;
  }
  .service-container {
    width:min(calc(100% - 96px),1450px);
  }
  .service-title {
    max-width:none;
    margin:0 auto 58px;
    font-size:clamp(32px,3.15vw,52px);
    line-height:1.4;
  }
  .service-list {
    gap:36px;
  }
  .service-card,
  .service-card.is-featured {
    min-height:275px;
    padding:32px 33px 30px;
    border-radius:22px;
    box-shadow:none;
  }
  .service-card-heading {
    gap:22px;
    margin-bottom:30px;
  }
  .service-icon {
    flex:0 0 50px;
    width:50px;
    height:50px;
    border-radius:13px;
    background:#d2a444;
  }
  .service-icon::before {
    left:13px;
    top:12px;
    width:22px;
    height:12px;
    border-left-width:4px;
    border-bottom-width:4px;
  }
  .service-card h3 {
    font-size:clamp(24px,2vw,34px);
    line-height:1.3;
  }
  .service-card p {
    color:#173463;
    font-size:clamp(16px,1.33vw,22px);
    line-height:1.55;
    font-weight:600;
  }
}
@media (min-width:1200px) {
  .service-list {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (min-width:768px) and (max-width:1199px) {
  .service-section { padding:65px 0 75px; }
  .service-container { width:calc(100% - 64px); }
  .service-title { margin-bottom:38px; }
  .service-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
  .service-card,
  .service-card.is-featured { min-height:215px; padding:26px; }
  .service-card-heading { gap:14px; margin-bottom:22px; }
  .service-icon { flex-basis:40px; width:40px; height:40px; }
  .service-icon::before { left:10px; top:9px; width:17px; height:10px; }
  .service-card h3 { font-size:clamp(21px,2.3vw,27px); }
  .service-card p { font-size:16px; }
}
