:root{
  --main:#22418D;
  --sub-blue: #eaf2ff;
  --text:#333;
  --muted:#777;
  --border:#ddd;
}

body{
  margin:0;
  color:var(--text);
  font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
  background:#fff;
}

.news-detail{
  padding:35px 20px 55px;
  background:#fff;
  position:relative;
  z-index:1;
}

.news-detail .inner{
  max-width:1000px;
  margin:0 auto;
}

.breadcrumb{
  font-size:13px;
  color:#888;
  margin-bottom:15px;
}

.breadcrumb a{
  color:var(--main);
  text-decoration:none;
}

.breadcrumb a:hover{
  text-decoration:underline;
}

.news-title{
  font-size:25px;
  font-weight:700;
  line-height:1.45;
  color:#222;
  margin:0 0 6px;
}

.news-date{
  text-align:right;
  color:var(--muted);
  font-size:14px;
  margin-top:3px;
  margin-bottom:25px;
}

.news-content{
  color:var(--text);
}

.news-content p{
  font-size:15px;
  line-height:1.75;
  color:var(--text);
  margin:0 0 15px;
}

.highlight{
  background:linear-gradient(transparent 60%,#ffe066 60%);
  font-weight:700;
  font-size:19px;
}

.update-box{
  background:#fff;
  padding:22px;
  margin:25px 0 30px;
  border:1px solid #e5e5e5;
  border-radius:10px;
  box-shadow:0 3px 12px rgba(0,0,0,.05);
}

.update-title{
  margin:0 0 15px;
  color:var(--main);
  font-size:18px;
  font-weight:700;
  line-height:1.5;
}

.update-table{
  width:100%;
  margin-top:0;
  border-collapse:collapse;
  background:#fff;
  table-layout:fixed;
}

.update-table th,
.update-table td{
  border:1px solid #d6d6d6;
  padding:10px 15px;
  font-size:13px;
  line-height:1.5;
  text-align:left;
  color:var(--text);
  box-sizing:border-box;
}

.update-table th:first-child{
  width:40%;
}

.update-table th:last-child{
  width:60%;
}

.update-table th{
  color:#fff;
  background:#2f5fa7;
  text-align:center;
  font-weight:700;
}

.update-table td{
  background:#fff;
}

.update-table td:first-child{
  text-align:center;
  vertical-align:middle;
}

.update-table td:last-child{
  text-align:left;
  vertical-align:middle;
  background:#fff8e5;
  font-weight:700;
}

.update-table td strong{
  font-size:13px;
}

.update-table td span{
  color:#d32f2f !important;
  font-weight:700 !important;
}

.news-content h3{
  margin:30px 0 12px;
  color:var(--main);
  font-size:18px;
  font-weight:700;
  line-height:1.5;
}

.update-banner{
  margin:25px 0 20px;
  text-align:center;
}

.update-banner img{
  display:block;
  width:100%;
  max-width:1000px;
  height:auto;
  margin:0 auto;
  border-radius:12px;
}

.price-table{
  width:100%;
  border-collapse:collapse;
  margin:20px 0;
}

.price-table th,
.price-table td{
  border:1px solid var(--border);
  padding:10px;
}

.price-table th{
  background:#f5f5f5;
}

.price-image{
  margin-top:20px;
}

.old{
  text-decoration:line-through;
  color:#999;
}

.new{
  color:var(--main);
  font-weight:bold;
  font-size:22px;
}

.arrow{
  margin:0 10px;
}

.name{
  display:inline-block;
  background:var(--main);
  color:#fff;
  font-size:12px;
  padding:3px 8px;
  border-radius:4px;
  margin-left:10px;
}

.item{
  background:#fff;
  border:1px solid #e0e6f5;
  border-radius:8px;
  padding:10px;
}

.item .ttl{
  font-weight:bold;
  font-size:15px;
  margin-bottom:5px;
}

.item .desc{
  font-size:13px;
  color:var(--text);
}

.compensation-box{
  max-width:800px;
  margin:30px auto;
  padding:20px;
  background:#f9fbff;
  border-radius:12px;
  border:1px solid #dbe5f5;
  font-family:sans-serif;
}

.comp-title{
  font-size:22px;
  font-weight:bold;
  border-left:6px solid var(--main);
  padding-left:12px;
  margin-bottom:20px;
}

.comp-price{
  font-size:18px;
  margin-bottom:20px;
}

.comp-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:15px;
}

.comp-note{
  font-size:12px;
  color:#666;
  margin-bottom:12px;
}

.comp-warning{
  background:#fff3f3;
  color:#d32f2f;
  font-weight:bold;
  padding:12px;
  border-left:4px solid #d32f2f;
  margin-bottom:12px;
}

.comp-safe{
  background:#e8f1ff;
  padding:12px;
  border-left:4px solid var(--main);
  font-weight:bold;
  margin-bottom:12px;
}

.comp-noc{
  font-size:13px;
  background:#fff;
  border:1px solid var(--border);
  padding:12px;
  border-radius:8px;
}

.noc-price{
  font-weight:bold;
  color:var(--main);
}

.box.app-bnr{
  position:relative;
  z-index:2;
}

/* ステーション・車両関連 */
.vehicle-list{
  margin:18px 0 20px;
  padding:0;
  list-style:none;
  line-height:2;
  font-weight:700;
  color:var(--main);
}

.vehicle-list li{
  padding:5px 0;
  border-bottom:1px solid #e5eaf3;
}

.vehicle-list li:last-child{
  border-bottom:none;
}

.vehicle-list li span{
  color:var(--main);
}

.red-text{
  color:#d32f2f;
  font-weight:700;
}

.station-notice{
  background:#fffdf2;
  border:1px solid #eee3b5;
}

.station-notice .red-text{
  color:#d32f2f;
}

/* キャンペーン */
.campaign-button{
  margin-top:40px;
  text-align:center;
}

.campaign-button a{
  display:inline-block;
  min-width:260px;
  padding:14px 30px;
  border-radius:50px;
  background:#244f91;
  color:#fff;
  text-decoration:none;
  font-size:16px;
  font-weight:700;
  transition:.2s;
}

.campaign-button a:hover{
  opacity:.85;
}
.update-list li{
  position:relative;
  padding-left:28px;
  margin-bottom:10px;
}
.update-list li::before{
  content:"✔";
  position:absolute;
  left:0;
  color:var(--main);
  font-weight:bold;
}
.news-content h4{
    font-size:28px;
    font-weight:700;
    color:#163C8C;
    margin:70px 0 15px;
    padding-left:18px;
    border-left:6px solid #163C8C;
    line-height:1.4;
}
.comp-image{
    margin:35px auto;
    text-align:center;
}

.comp-image img{
    width:100%;
    max-width:950px;
    border-radius:18px;
    box-shadow:0 12px 35px rgba(0,0,0,.10);
}
.price-image{
    margin:35px auto 50px;
    text-align:center;
}

.price-image img{
    display:block;
    width:100%;
    max-width:1100px;
    margin:0 auto;
    border-radius:16px;
    box-shadow:0 12px 35px rgba(0,0,0,.10);
    transition:.3s ease;
}

.price-image img:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 45px rgba(0,0,0,.15);
}
.price-highlight{
    background:linear-gradient(transparent 45%, #FFE45C 45%);
    color:#ff0000;
    font-weight:800;
    padding:0 4px;
    font-size:1.25em;
}
/* 260615_app-update */
.related-card{
  margin-top:10px;
  display:flex;
  align-items:center;
  gap:20px;
  padding:18px 20px;
  margin-bottom:12px;
  background:#f7f8fa;
  border-radius:12px;
  text-decoration:none;
  color:#333;
  transition:.2s;
}

.related-card:hover{
  background:#eef5ff;
  transform:translateY(-2px);
}

.related-label{
  background:#f2c400;
  color:#000;
  font-size:12px;
  font-weight:bold;
  padding:4px 10px;
  border-radius:999px;
  white-space:nowrap;
}

.related-card strong{
  flex:1;
  font-size:14px;
  line-height:1.5;
}

.related-arrow{
  font-size:20px;
  font-weight:bold;
}
.related-links{
  margin-top:40px;
  padding-top:10px;
  border-top:1px solid #ddd;
}
.newprice-image {
  margin-top: 20PX;}
/* 260427_name */
.news-box {
  border-left: 5px solid var(--main);
  background: var(--sub-blue);
  padding: 18px 20px;
  margin: 25px 0;
  border-radius: 6px;
}
.news-box p {
  margin: 0;
  line-height: 1.9;
  font-size: 14px;
}
.news-box strong {
  background: linear-gradient(transparent 60%, #cfe0ff 60%);
  padding: 0 2px;
}
.box-title {
  font-weight: bold;
  font-size: 15px;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.box-title::before {
  content: "";
  width: 8px;
  height: 8px;
  background: var(--main);
  border-radius: 2px;
  display: inline-block;
}
.news-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.news-table th,
.news-table td {
  border: 1px solid var(--border);
  padding: 12px;
  font-size: 14px;
  width: 50%;
}
.news-table th {
  background: var(--main);
  color: #fff;
  text-align: center;
}
.news-table td:last-child {
  background: #fff8e1;
  font-weight: bold;
}
.app-bnr .inner{
  margin-top: 70px;
}
.news-subtitle {
  font-size: 18px;
  margin: 30px 0 10px;
  font-weight: bold;
  color: var(--main);
}
/* 260601_fee-update */
.news-detail table.update1-table {
  width:100%;
  margin-top:24px;
  border-collapse:collapse;
  background:#fff;
}
.news-detail table.update1-table th,
.news-detail table.update1-table td {
  border:1px solid #d6d6d6;
  padding:12px;
  font-size:14px;
  text-align:left;
}
.news-detail table.update1-table th{
  color:#fff;
}
.news-detail table.update1-table th {
  background:#2f5fa7;
  text-align:center;
  font-weight:700;
}
.news-detail table.update1-table td:last-child{
  background:#fff8e5;
  font-weight:700;
}
.news-detail .update1-box {
  background:#f8f9fc;
  padding:20px;
  border-radius:10px;
  margin:30px 0;
}
.news-detail .update1-title {
  font-size:18px;
  font-weight:bold;
  margin-bottom:15px;
}
@media screen and (max-width:768px){
  .news-box {
    padding: 8px 10px 5px;
  }
  .news-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
  }
  .news-table th,
  .news-table td {
    width: 50%;
    font-size: 12px;
    padding: 8px;
    word-break: break-word;
    line-height: 1.6;
  }
  .news-table th {
    font-size: 12px;
  }
  .news-detail{
    padding:0px 15px 45px;
    margin-top:70px;
  }
  .news-detail .inner{
    max-width:100%;
  }

  /* パンくず */
  .breadcrumb{
    font-size:11px;
    margin-bottom:12px;
  }

  /* タイトル */
  .news-title{
    font-size:19px;
    line-height:1.5;
    margin-bottom:5px;
  }

  /* 日付 */
  .news-date{
    font-size:12px;
    margin-top:3px;
    margin-bottom:20px;
  }

  /* 本文 */
  .news-content{
    font-size:13px;
  }

  .news-content p{
    font-size:13px;
    line-height:1.75;
    margin-bottom:15px;
  }

  .highlight{
    font-size:16px;
  }

  .update-box{
    padding:17px 12px;
    margin:22px 0 28px;
    border-radius:10px;
    box-shadow:0 2px 8px rgba(0,0,0,.05);
  }

  .update-title{
    font-size:16px;
    line-height:1.5;
    margin-bottom:12px;
  }

  .update-table th,
  .update-table td{
    padding:8px 6px;
    font-size:11.5px;
    line-height:1.45;
    word-break:break-word;
  }

  .update-table th:first-child{
    width:32%;
  }

  .update-table th:last-child{
    width:68%;
  }

  .update-table td span{
    font-size:12px;
  }

  .news-content h3{
    margin:25px 0 12px;
    font-size:16px;
    line-height:1.5;
  }

  .update-banner{
    margin:25px 0 20px;
  }

  .update-banner img{
    border-radius:10px;
  }

  .comp-price .name{
    width:50%;
    margin-top:6px;
    line-height:1.4;
  }

  .campaign-button a{
    width:100%;
  }
}

@media screen and (max-width:480px){

  .news-detail{
    padding:20px 12px 40px;
  }

  .news-title{
    font-size:18px;
    line-height:1.5;
  }

  .news-date{
    font-size:11px;
    margin-bottom:18px;
  }

  .news-content p{
    font-size:12.5px;
    line-height:1.7;
    margin-bottom:13px;
  }

  .new{
    font-size:18px;
  }

  .update-box{
    padding:15px 10px;
    margin:20px 0 25px;
  }

  .update-title{
    font-size:15px;
    margin-bottom:10px;
  }

  .update-table th,
  .update-table td{
    padding:7px 5px;
    font-size:11px;
    line-height:1.45;
  }

  .news-content h3{
    margin:22px 0 10px;
    font-size:15px;
  }
}