.strengths-section{
  position:relative;
  overflow:hidden;
  padding:0 0 25px;
  background:#f4f7fa;
  color:#173463;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
}
.strengths-section::before{
  content:"";
  display:block;
  height:250px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.84) 38%,rgba(255,255,255,.18) 72%,rgba(255,255,255,0) 100%),
    url('../img/strengths/background.webp') no-repeat center top / cover;
}
.strengths-container{
  position:relative;
  width:min(calc(100% - 44px),420px);
  margin:-214px auto 0;
}
.strengths-title{
  position:relative;
  width:58%;
  min-height:210px;
  margin:0 0 26px;
  padding-top:48px;
  color:#173463;
  font-size:26px;
  line-height:1.48;
  font-weight:700;
  letter-spacing:.03em;
}
.strengths-pc-break{display:none;}
.strengths-title::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:42px;
  height:42px;
  background:url('../img/strengths/heart.png') no-repeat center / contain;
}
.strengths-list{
  display:grid;
  gap:0;
  padding:0 8px;
  background:#f4f7fa;
}
.strength-item{
  display:block;
  padding:40px 8px 22px;
  border-bottom:2px dotted #878787;
  text-align:center;
}
.strength-item:first-child{
  border-top:0;
  padding-top:18px;
}
.strength-icon{display:none;}
.strength-body h3{
  display:inline-block;
  margin:0 0 14px;
  padding:5px 14px 6px;
  border-radius:4px;
  background:#173463;
  color:#fff;
  font-size:24px;
  line-height:1.25;
  font-weight:700;
  letter-spacing:.02em;
}
.strength-item:nth-child(even) .strength-body h3{
  background:#b48d3b;
}
.strength-body p{
  margin:0;
  color:#252b35;
  font-size:16px;
  line-height:1.75;
  font-weight:600;
  text-align:left;
  letter-spacing:.01em;
}
.strengths-note{display:none;}
@media(max-width:374px){
  .strengths-container{width:calc(100% - 32px);}
  .strengths-title{font-size:25px;}
  .strength-body h3{font-size:21px;}
  .strength-body p{font-size:15px;}
}
@media(min-width:768px){
  .strengths-section::before{height:330px;}
  .strengths-container{
    width:min(100% - 64px,960px);
    margin:-285px auto 0;
  }
  .strengths-title{
    width:48%;
    min-height:278px;
    padding-top:62px;
    font-size:38px;
  }
  .strengths-title::before{
    width:50px;
    height:50px;
  }
  .strengths-list{
    grid-template-columns:1fr 1fr;
    column-gap:44px;
  }
  .strength-item,
  .strength-item:first-child{
    padding:30px 18px 26px;
    border-top:2px dotted #878787;
  }
  .strength-item:nth-child(-n+2){border-top:0;}
  .strength-body h3{font-size:25px;}
  .strength-body p{font-size:16px;}
}

/* PC版：既存のSP指定は維持する */
@media (min-width:768px) {
  .strengths-section {
    padding:0 0 18px;
    background:#f7faff;
  }
  .strengths-section::before {
    height:280px;
    background:
      linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.82) 32%,rgba(255,255,255,.35) 65%,rgba(255,255,255,.38) 100%),
      url('../img/strengths/background.webp') no-repeat center center / cover;
  }
  .strengths-container {
    width:min(calc(100% - 96px),1450px);
    margin:-244px auto 0;
  }
  .strengths-title {
    width:100%;
    min-height:244px;
    margin:0;
    padding:67px 0 0;
    font-size:clamp(32px,3.25vw,53px);
    line-height:1.28;
    letter-spacing:.025em;
  }
  .strengths-title .strengths-pc-break { display:block; }
  .strengths-title::before {
    top:0;
    left:0;
    width:60px;
    height:60px;
  }
  .strengths-list {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:22px 28px;
    padding:26px 0 0;
    background:transparent;
  }
  .strength-item,
  .strength-item:first-child,
  .strength-item:nth-child(-n+2) {
    min-height:166px;
    padding:18px 20px 22px;
    border:0;
    background:#fff;
    text-align:left;
  }
  .strength-body h3 {
    margin:0 0 12px;
    padding:4px 18px 6px;
    font-size:clamp(20px,1.6vw,27px);
    line-height:1.25;
  }
  .strength-body p {
    font-size:clamp(14px,1.05vw,18px);
    line-height:1.5;
    font-weight:600;
  }
}
@media (min-width:768px) and (max-width:1199px) {
  .strengths-container { width:calc(100% - 64px); }
  .strengths-title { font-size:clamp(29px,3.2vw,39px); }
  .strengths-list { gap:18px; }
  .strength-item,
  .strength-item:first-child,
  .strength-item:nth-child(-n+2) { padding:16px 13px 18px; }
  .strength-body h3 { font-size:clamp(17px,1.9vw,23px); }
  .strength-body p { font-size:14px; }
}
