.fa-comparison-section{
  padding:56px 0 64px;
  background:#f4f7fa;
  color:#173463;
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif;
}
.fa-comparison-container{
  width:min(calc(100% - 46px),430px);
  margin:0 auto;
}
.fa-comparison-title{
  max-width:390px;
  margin:0 auto 32px;
  color:#fff;
  font-size:27px;
  line-height:1.85;
  font-weight:700;
  letter-spacing:.025em;
  text-align:center;
}
.fa-comparison-title{
  background:
    linear-gradient(#173463,#173463) center 0/100% 44px no-repeat,
    linear-gradient(#173463,#173463) center 51px/95% 44px no-repeat;
}
.fa-comparison-note{display:none;}
.fa-comparison-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  align-items:stretch;
}
.fa-comparison-card{
  display:grid;
  grid-template-rows:auto 82px 108px 88px 104px;
  overflow:hidden;
  border:2px solid #9a9a9a;
  border-radius:5px;
  background:#fff;
}
.fa-comparison-card.is-fa{
  border-color:#b48d3b;
}
.fa-comparison-card h3{
  margin:0;
  padding:13px 8px 14px;
  background:#9b9b9b;
  color:#fff;
  font-size:23px;
  line-height:1.25;
  font-weight:700;
  text-align:center;
}
.fa-comparison-card.is-fa h3{
  background:#b48d3b;
}
.fa-comparison-row{
  position:relative;
  display:grid;
  grid-template-rows:20px 1fr;
  align-items:start;
  padding:13px 8px 14px;
  text-align:center;
}
.fa-comparison-row + .fa-comparison-row::before{
  content:"";
  position:absolute;
  top:0;
  left:12px;
  right:12px;
  border-top:2px dotted #9b9b9b;
}

.fa-comparison-row strong{
  display:flex;
  align-items:center;
  justify-content:center;
  height:20px;
  margin:0;
  color:#929292;
  font-size:14px;
  line-height:1.4;
  font-weight:700;
}
.fa-comparison-card.is-fa .fa-comparison-row strong{
  color:#b48d3b;
}
.fa-comparison-row strong::before,
.fa-comparison-row strong::after{
  content:"●";
  margin:0 4px;
  font-size:7px;
  vertical-align:middle;
}
.fa-comparison-row p{
  align-self:center;
  margin:7px 0 0;
  color:#383838;
  font-size:13px;
  line-height:1.55;
  font-weight:600;
}
.fa-comparison-points{
  margin:30px 10px 0;
  padding-left:1.25em;
  color:#363b43;
  font-size:11px;
  line-height:1.6;
  font-weight:600;
}
.fa-comparison-link{display:none;}
@media(max-width:374px){
  .fa-comparison-container{width:calc(100% - 30px);}
  .fa-comparison-title{font-size:23px;}
  .fa-comparison-card h3{font-size:20px;}
  .fa-comparison-row p{font-size:12px;}
}
@media(min-width:768px){
  .fa-comparison-section{padding:76px 0 80px;}
  .fa-comparison-container{width:min(100% - 48px,860px);}
  .fa-comparison-title{
    max-width:700px;
    margin-bottom:44px;
    font-size:38px;
    line-height:1.7;
    background:
      linear-gradient(#173463,#173463) center 0/100% 60px no-repeat,
      linear-gradient(#173463,#173463) center 70px/74% 60px no-repeat;
  }
  .fa-comparison-cards{gap:22px;}
  .fa-comparison-card h3{font-size:28px;}
  .fa-comparison-row{padding:18px 14px;}
  .fa-comparison-row strong{font-size:15px;}
  .fa-comparison-row p{font-size:15px;}
  .fa-comparison-points{font-size:13px;}
}

/* PC版：FA比較は見出し＋横並びの項目・説明に切り替える（SPは維持） */
@media (min-width:768px) {
  .fa-comparison-section {
    padding:18px 0 58px;
    background:#f7faff;
  }
  .fa-comparison-container {
    width:min(calc(100% - 96px),1020px);
  }
  .fa-comparison-title {
    display:table;
    max-width:100%;
    margin:0 auto 28px;
    padding:3px 17px 6px;
    background:#173463;
    font-size:clamp(24px,2.2vw,36px);
    line-height:1.38;
    white-space:nowrap;
  }
  .fa-comparison-cards {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:26px;
    align-items:stretch;
  }
  .fa-comparison-card {
    grid-template-rows:60px repeat(4,minmax(0,1fr));
    min-height:395px;
    border-radius:8px;
  }
  .fa-comparison-card h3 {
    display:flex;
    align-items:center;
    justify-content:center;
    padding:5px 12px;
    font-size:clamp(24px,2vw,32px);
  }
  .fa-comparison-row {
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:13px;
    padding:14px 26px;
    text-align:left;
  }
  .fa-comparison-row + .fa-comparison-row::before {
    left:20px;
    right:20px;
    border-top:2px dotted #a2a2a2;
  }
  .fa-comparison-card.is-fa .fa-comparison-row + .fa-comparison-row::before {
    border-top-color:#b48d3b;
  }
  .fa-comparison-row strong {
    display:block;
    flex:0 0 28%;
    height:auto;
    margin:0;
    font-size:clamp(15px,1.25vw,19px);
    line-height:1.4;
    white-space:nowrap;
    text-align:left;
  }
  .fa-comparison-row strong::before,
  .fa-comparison-row strong::after {
    content:none;
  }
  .fa-comparison-row p {
    flex:1 1 0;
    align-self:center;
    margin:0;
    font-size:clamp(14px,1.15vw,17px);
    line-height:1.6;
    text-align:left;
  }
  .fa-comparison-points {
    margin:27px auto 0;
    padding-left:0;
    list-style-position:inside;
    text-align:center;
    font-size:13px;
    line-height:1.6;
  }
}
@media (min-width:768px) and (max-width:1199px) {
  .fa-comparison-container { width:calc(100% - 64px); }
  .fa-comparison-title { font-size:clamp(21px,2.5vw,28px); white-space:normal; text-align:center; }
  .fa-comparison-cards { gap:18px; }
  .fa-comparison-row { gap:8px; padding:11px 14px; }
  .fa-comparison-row strong { flex-basis:27%; font-size:14px; }
  .fa-comparison-row p { font-size:13px; }
}
