.shitennouji-page{
  max-width: 980px;
  margin: 0 auto;
  padding: 32px 20px 64px;
  line-height: 1.9;
}

.shitennouji-hero{
  background: #f7fafd;
  border: 1px solid #dce8f5;
  border-radius: 16px;
  padding: 28px 24px;
  margin-bottom: 32px;
}

.shitennouji-label{
  display: inline-block;
  margin: 0 0 14px;
  padding: 6px 12px;
  background: #1f4f82;
  color: #fff;
  font-size: 0.9rem;
  border-radius: 9999px;
}

.shitennouji-hero h1{
  margin: 0 0 16px;
  font-size: 2rem;
  line-height: 1.5;
}

.shitennouji-lead{
  margin: 0;
}

.shitennouji-section{
  margin-top: 44px;
}

.heading{
  margin: 0 0 18px;
  padding-left: 14px;
  border-left: 5px solid #1f4f82;
  font-size: 1.5rem;
  line-height: 1.6;
}

.shitennouji-choice,
.shitennouji-point,
.shitennouji-reason{
  background: #fff;
  border: 1px solid #e4e8ee;
  border-radius: 14px;
  padding: 20px 18px;
  margin-top: 18px;
}

.shitennouji-choice h3,
.shitennouji-point h3,
.shitennouji-reason h3{
  margin: 0 0 12px;
  font-size: 1.15rem;
  line-height: 1.6;
}

.shitennouji-choice p,
.shitennouji-point p,
.shitennouji-reason p{
  margin: 0;
}

.shitennouji-choice ul{
  margin: 12px 0 0 1.2em;
  padding: 0;
}

.shitennouji-choice li{
  margin-bottom: 6px;
}

.shitennouji-table{
  width: 100%;
  border-collapse: collapse;
  margin-top: 18px;
  background: #fff;
}

.shitennouji-table th,
.shitennouji-table td{
  border: 1px solid #d9e0e8;
  padding: 14px 12px;
  text-align: left;
  vertical-align: top;
}

.shitennouji-table th{
  background: #edf4fb;
  width: 24%;
}

.faq-wrap{
  margin-top: 18px;
}

.faq-box{
  background: #fff;
  border: 1px solid #e4e8ee;
  border-radius: 14px;
  padding: 22px 18px;
}

.faq-box dl{
  margin: 0;
}

.faq-box dt{
  margin: 0;
  font-weight: 700;
  color: #163b63;
}

.faq-box dd{
  margin: 8px 0 20px;
}

.faq-box dd:last-child{
  margin-bottom: 0;
}

.shitennouji-cta{
  background: #f7fafd;
  border: 1px solid #dce8f5;
  border-radius: 16px;
  padding: 28px 24px;
}

.shitennouji-cta-button-wrap{
  margin-top: 22px;
}

.shitennouji-cta-button{
  display: inline-block;
  padding: 14px 24px;
  background: #1f4f82;
  color: #fff;
  text-decoration: none;
  border-radius: 9999px;
  font-weight: 700;
}

.shitennouji-cta-button:hover{
  opacity: 0.9;
}

@media screen and (max-width: 767px){
  .shitennouji-page{
    padding: 24px 14px 56px;
  }

  .shitennouji-hero{
    padding: 22px 16px;
  }

  .shitennouji-hero h1{
    font-size: 1.5rem;
  }

  .heading{
    font-size: 1.25rem;
  }

  .shitennouji-choice,
  .shitennouji-point,
  .shitennouji-reason,
  .faq-box,
  .shitennouji-cta{
    padding: 18px 14px;
  }

  .shitennouji-table th,
  .shitennouji-table td{
    padding: 10px 8px;
    font-size: 0.95rem;
  }
}


.lead-catch{
  margin: 0 0 26px;
  padding: 20px 18px;
  background: linear-gradient(135deg, #eef5ff, #f9fbff);
  border-radius: 12px;
  font-size: 1.18em;
  font-weight: 700;
  line-height: 1.9;
  text-align: center;
  color: #1a2a44;
  position: relative;
}

.lead-catch::after{
  content: "";
  display: block;
  width: 40px;
  height: 3px;
  background: #2c7be5;
  margin: 12px auto 0;
  border-radius: 2px;
}


.result-flow{
  margin:40px 0;
}

.result-flow-lead{
  margin-bottom:10px;
  line-height:1.9;
}

.result-note{
  font-size:13px;
  color:#666;
  margin-bottom:18px;
}

.score-case-box{
  background:#fff;
  border:1px solid #d8dee8;
  border-radius:16px;
  padding:24px;
  box-shadow:0 8px 24px rgba(0,0,0,0.06);
}

.score-case-head{
  margin-bottom:22px;
}

.score-case-head h3{
  margin:8px 0 0;
  font-size:28px;
  line-height:1.4;
}

.score-case-badge{
  display:inline-block;
  padding:4px 10px;
  border-radius:999px;
  background:#163A6A;
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:0.04em;
}

.score-compare{
  display:flex;
  align-items:stretch;
  gap:20px;
}

.score-card{
  flex:1;
  border-radius:14px;
  padding:22px 20px;
  box-sizing:border-box;
}

.score-card-before{
  background:#fff7fb;
  border:2px solid #efc4e5;
}

.score-card-after{
  background:#f5fbff;
  border:2px solid #b8d9f4;
}

.score-term{
  font-size:18px;
  font-weight:700;
  margin:0 0 18px;
}

.score-table{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-bottom:18px;
}

.score-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:center;
  background:#fff;
  border-radius:10px;
  padding:12px 14px;
  box-shadow:0 2px 8px rgba(0,0,0,0.05);
}

.score-row-best{
  border:2px solid #ff8c42;
}

.score-subject{
  font-weight:700;
  color:#222;
}

.score-value{
  font-size:22px;
  font-weight:800;
  color:#d64242;
  text-align:right;
  white-space:nowrap;
}

.score-value small{
  font-size:0.8em;
  font-weight:600;
}

.score-gap{
  font-size:14px;
  color:#444;
  text-align:right;
}

.score-comment{
  line-height:1.9;
  font-size:15px;
}

.score-comment p{
  margin:0 0 10px;
}

.score-comment p:last-child{
  margin-bottom:0;
}

.score-comment-strong{
  font-weight:700;
  color:#163A6A;
}

.score-arrow{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:42px;
  font-weight:800;
  color:#e53935;
  min-width:50px;
}

.score-summary{
  margin-top:24px;
  border-top:1px solid #e5e9f0;
  padding-top:18px;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.score-summary-item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  line-height:1.8;
}

.score-summary-label{
  min-width:64px;
  display:inline-block;
  text-align:center;
  padding:4px 8px;
  border-radius:999px;
  background:#f1f4f8;
  font-size:13px;
  font-weight:700;
  color:#163A6A;
}

.score-summary-text{
  flex:1;
}

@media only screen and (max-width:767px){
  .score-case-box{
    padding:18px 14px;
  }

  .score-case-head h3{
    font-size:18px;
  }

  .score-compare{
    flex-direction:column;
    gap:14px;
  }

  .score-arrow{
    transform:rotate(90deg);
    min-width:auto;
    min-height:36px;
    font-size:34px;
  }

  .score-row{
    grid-template-columns:1fr;
    gap:6px;
  }

  .score-value,
  .score-gap{
    text-align:left;
  }
}

.score-image-block{
  margin:40px 0;
}

.score-image-note{
  font-size:14px;
  color:#666;
  margin-bottom:14px;
}

.score-image-wrap{
  text-align:center;
}

.score-image{
  max-width:100%;
  height:auto;
  border:1px solid #ddd;
  border-radius:8px;
  box-shadow:0 4px 14px rgba(0,0,0,0.08);
}


.lead-warning{
  font-size: 1.25em;
  font-weight: 800;
  color: #8a1f1f;
  margin: 28px 0;
  padding: 18px 20px;
  border: 2px solid #f0b3b3;
  background: #fff5f5;
}

.lead-strong{
  font-size: 1.2em;
  font-weight: 700;
  line-height: 1.8;
  margin: 24px 0;
  padding: 16px 20px;
  /* border-left: 4px solid #1f3a5f; */
  background: #f4f7fb;
}

.score-block{
  margin:32px 0;
  /* text-align:center; */
}

.score-label{
  display:inline-block;
  margin-bottom:0px;
  padding:6px 12px;
  font-weight:700;
  font-size:0.95em;
  background:#f4f7fb;
  border-left:4px solid #1f3a5f;
}