  :root{
    --nv-bg:#ffffff;
    --nv-ink:#0f172a;
    --nv-sub:#000000;
    --nv-line:#e2e8f0;
    --nv-ac:#2563eb;
    --nv-ac2:#0ea5e9;
    --nv-soft:#f1f5f9;
    --nv-warn:#ef4444;
    --nv-radius:18px;
  }

  /* 余白の統一 */
  .nv-wrap{max-width: 980px; margin: 0 auto; }
  .nv-sec h2, .nv-sec h3{margin: 0 0 10px 0; color:var(--nv-ink);}

  /* HERO */
  .nv-hero{

  }
  .nv-hero__inner{
    display:flex; gap:16px; align-items: stretch;
  }
  .nv-hero__copy{flex: 1 1 58%;}
  .nv-hero__media{flex: 1 1 42%; display:flex; align-items:center; justify-content:center;}
  .nv-hero h3{
    font-size: 22px;
    letter-spacing: .02em;
    line-height: 1.35;
    margin: 0 0 10px 0;
    font-weight: 600;
  }
  .nv-hero p{margin:0; color:var(--nv-sub); line-height:1.9;}
  .nv-ctaRow{display:flex; flex-wrap:wrap; gap:10px; margin-bottom: 14px;justify-content: center;}
  .nv-btn{
    display:inline-flex; align-items:center; justify-content:center;
    padding: 10px 14px;
    border-radius: 12px;
    text-decoration:none;
    font-weight: 700;
    font-size: 14px;
    border: 1px solid var(--nv-line);
  }
  .nv-btn--primary{
    background: linear-gradient(90deg, var(--nv-ac), var(--nv-ac2));
    color:#fff;
    border: none;
  }
  .nv-btn--ghost{
    background: linear-gradient(90deg, var(--nv-ac), var(--nv-ac2));
    color: var(--nv-ink);
  }
.nv-btn{
  border-radius: 14px;             
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
  box-shadow: 0 6px 14px rgba(2,6,23,.08); 
}
.nv-btn--primary{
  box-shadow: 0 10px 22px rgba(37,99,235,.25);
}
@media (hover:hover){
  .nv-btn:hover{
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(2,6,23,.12);
    filter: brightness(1.03);
  }
  .nv-btn--primary:hover{
    box-shadow: 0 14px 28px rgba(37,99,235,.30);
  }
}
.nv-btn:active{
  transform: translateY(0);
  box-shadow: 0 6px 14px rgba(2,6,23,.10);
  filter: brightness(.98);
}
.nv-btn:focus-visible{
  outline: 3px solid rgba(255, 234, 68, .9);
  outline-offset: 3px;
}

/* 青いボタン：ホバーアクション強化 */
.nv-btn{
  position: relative;
  overflow: hidden; /* 光のスライドをはみ出さない */
  transform: translateZ(0);
}

/* 光が横切る演出 */
.nv-btn::before{
  content:"";
  position:absolute;
  top:-20%;
  left:-60%;
  width:40%;
  height:140%;
  transform: skewX(-20deg);
  background: rgba(255,255,255,.25);
  opacity: 0;
  pointer-events:none;
}

/* hoverで浮く＋少し拡大＋光が走る */
@media (hover:hover){
  .nv-btn:hover{
    transform: translateY(-2px) scale(1.02);
  }
  .nv-btn:hover::before{
    opacity: 1;
    left: 120%;
    transition: left .55s ease, opacity .2s ease;
  }
}

/* タップ時（スマホ） */
.nv-btn:active{
  transform: translateY(0) scale(.99);
}


  /* 右側の簡易ビジュアル（画像が無い場合も崩れない） */
  .nv-heroCard{
    width: 100%;
    max-width: 360px;
    border:1px solid var(--nv-line);
    border-radius: 16px;
    background:#fff;
    padding: 12px;
    box-shadow: 0 10px 22px rgba(2,6,23,.06);
  }
  .nv-heroCard__top{display:flex; gap:10px; align-items:center;}
  .nv-thumb{
    width: 58px; height: 58px; border-radius: 14px;
    background: linear-gradient(135deg, rgba(37,99,235,.18), rgba(14,165,233,.18));
    border:1px solid var(--nv-line);
    display:flex; align-items:center; justify-content:center;
    font-weight:800; color: var(--nv-ink);
  }
  .nv-heroCard__ttl{font-weight: 800; color:var(--nv-ink); line-height:1.4;}
  .nv-heroCard__sub{color:var(--nv-sub); font-size: 12px; margin-top: 2px;}
  .nv-miniList{margin: 10px 0 0 0; padding: 0; list-style:none;}
  .nv-miniList li{
    display:flex; justify-content:space-between; gap:10px;
    padding: 8px 10px;
    border:1px solid var(--nv-line);
    border-radius: 12px;
    background: #fbfdff;
    margin-top: 8px;
    font-size: 13px;
    color: var(--nv-ink);
  }
  .nv-miniList small{color:var(--nv-sub); font-size:12px;}

  /* 説明（のぼりとは？） */
  .nv-about{
    background: #fff;
  }
  .nv-about__grid{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    margin-top: 12px;
  }
  .nv-point{
    border:3px solid var(--nv-line);
    border-radius: 14px;
    padding: 12px;
    background: linear-gradient(180deg, #ffffff, #fbfdff);
  }
  .nv-point h4{    margin: 8px;
    font-size: 16px;
    color: var(--nv-ink);
    font-weight: bold;
    border-bottom: solid;
    display: inline-block;}
  .nv-point p{margin:0; color:var(--nv-sub); line-height:1.85; font-size: 13px;font-family: sans-serif;}

/* のぼりとは？：画像 + リード文を横並び（grid部分はそのまま） */
#nobori-about .nv-about{
  display: flex;
  flex-wrap: wrap;              /* スマホで自然に折り返し */
  gap: 16px;
  align-items: flex-start;
  margin:10px 0;
}

#option .top-img{
max-width:50%;
}





/* 画像側 */
#nobori-about .top-img{
  flex: 0 0 290px;              /* 画像ブロックの基準幅 */
  max-width: 420px;
  margin: 0;                    /* 既存の auto 中央寄せを解除 */
  justify-content: flex-start;  /* 既存の center を解除 */
}

/* 画像はブロック内に収める */
#nobori-about .top-img a img{
  width: 100%;
  max-width: 100%;
}

/* リード文側（画像の右） */
#nobori-about p.nv-common__lead{
  flex: 1 1 ;              /* 残り幅を使う */
  margin: 0;                    /* 上の余白を揃える */
}

/* gridは横並びブロックの次の行に落とす（重要） */
#nobori-about .nv-about__grid{
  flex: 0 0 100%;
  width: 100%;
  margin-top: 12px;             /* お好みで */
}

/* SP：縦並びに戻す（見やすさ優先） */
@media (max-width: 768px){
  #nobori-about .nv-about{
    flex-direction: column;
  }
  #nobori-about .top-img{
    flex-basis: auto;
    max-width: 100%;
    width: 640px;
  }
#nobori-about .top-img a img{
    width: 50%;
  }
#option .top-img{
max-width:80%;
  }
}

/* SP：縦並びに戻す（見やすさ優先） */
@media (max-width: 460px){
#nobori-about .top-img a img{
    width: 100%;
  }
}

/* 変形カット画像のレイアウト */
.top-img {
  display: flex;
  gap: 16px;
}

/* スマートフォン時は縦並び */
@media screen and (max-width: 768px) {
  .top-img {
    flex-direction: column;
  }

  .top-img a {
    width: 100%;
  }

  .top-img img {
    width: 100%;
    height: auto;
    display: block;
  }
}
  /* ラインナップカード */
  .nv-card{
    border:1px solid var(--nv-line);
    border-radius: var(--nv-radius);
    background:#fff;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    min-height: 100%;
    margin-bottom: 40px;
  }
 /*  .nv-card__bar{
    height: 6px;
    background: linear-gradient(90deg, var(--nv-ac), var(--nv-ac2));
  }*/
  .nv-card__body{padding: 14px;}
  .nv-kicker{
    display:inline-flex;
    align-items:center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--nv-soft);
    border:1px solid var(--nv-line);
    color: var(--nv-ink);
    font-size: 12px;
    font-weight: 700;
  }
  .nv-card h4{margin:10px 0 6px 0; color:var(--nv-ink); font-size: 16px; line-height:1.35;font-weight: 600; padding: 8px;display:inline;}
  .nv-card p{margin:0; color:var(--nv-sub); line-height:1.85; font-size: 12px;}
  .nv-spec{
    margin: 10px 0 0 0;
    padding: 0;
    list-style:none;
  }
  .nv-spec li{
    color: var(--nv-ink);
    font-size: 12.5px;
    line-height: 1.5;
  }
  .nv-spec b{font-weight: 800;}
  .nv-card__foot{
    margin-top:auto;
    padding: 12px 14px;
    border-top:1px solid var(--nv-line);
    background:#fbfdff;
    display:flex; gap:10px; align-items:center; justify-content:space-between;
    background-color:#ffffff
  }

p.OptListNote {
    text-align: center;
    font-weight: 500;
}

  .nv-link{
    text-decoration:none;
    color: var(--nv-ac);
    font-weight: 800;
    font-size: 13px;
  }
  .nv-note{
    color: var(--nv-sub);
    font-size: 11.5px;
  }
.nv-grid {
    font-family: sans-serif;
}

  /* レスポンシブ */
  @media (max-width: 900px){
    .nv-grid{grid-template-columns: repeat(2, 1fr);}
  }
  @media (max-width: 768px){
    .nv-hero__inner{flex-direction:column;}
    .nv-about__grid{grid-template-columns: 1fr;}
    p.OptListNote {padding:10px;}
  }
  @media (max-width: 560px){
    .nv-grid{grid-template-columns: 1fr;}
    .nv-hero h3{font-size: 20px;}
    p.OptListNote {font-size:10px;}
  }



/* アコーディオン */
.accordion_wrapper {width:90%;margin: 1.5rem auto;}
.accordion-box {border: 1px solid #ccc;border-radius:.4rem;margin-bottom: 10px;overflow: hidden;}
.accordion-box summary {cursor:pointer;padding:1rem;font-size: clamp(0.9rem, 2.5vw, 1rem);font-weight:bold;display:flex;align-items: center;justify-content: space-between;list-style:none;-webkit-appearance:none;}
.accordion-box summary::-webkit-details-marker {display: none !important;}
.accordion-box summary .icon {transition:transform 0.3s ease;color:#fff;font-size:1.5rem;margin-right: 10px}
summary h3{text-align: center;font-size:1.1rem!important;color:#ffffff!important;width: fit-content;margin: 0 auto;border:none!important;}
summary h3 span{color:#ffff00;}
.accordion-box summary h4{text-align:center;font-size:16px!important;color:#ffffff!important;width:fit-content;margin: 0 auto;}
.accordion-box summary h4 span{color:#ffff00;}
details[open] summary .icon {transform: rotate(180deg);}
.accordion-box p {padding: 1rem;margin: 0;background: #fff;font-size:.8rem;}
.accordion-box p a{font-weight:bold;border-bottom:2px solid;}
.accordion-box h5{padding:0 12px;font-size: 16px;color:#000c9b;font-weight: bold;}
.accordion-box ul li{font-size:.9rem;margin:0.5rem;}
.bc-img{width:100%;margin:1vh auto;display:flex;flex-wrap: wrap;}
.bc-img img{width: 800px;max-width: 100%;margin: 0 auto;}
#nyukou-sec h4{padding:.4rem;font-size:1.1rem;font-weight: bold;color: #fff;width:fit-content;margin:0 auto;}
#nyukou-sec>.accordion_wrapper{width:80%;margin:0 auto;}
#nyukou-sec>.accordion_wrapper>.accordion-box summary{background: #00078d;padding:5px;}
.pad-1rem{padding:.2rem 1rem;}
.pad-1rem p{font-size:1rem;margin:.3rem 0;}
#nyukou-sec{padding:.2rem 1rem;font-size:1rem;}
#nyukou-sec>#nyukou-summary>.accordion-box summary{background:#000;}
@media screen and (max-width:768px){
	#nyukou-sec>.accordion_wrapper{width:100%;}
	.pad-1rem{padding:.2rem .5rem;}
	#nyukou-sec{padding:0;}
}
/* アコーディオン end*/

#designOP-button{display:block;width:fit-content;margin:0 auto;}
#designOP-button img{display: block;width: 315px;max-width:85%;margin:auto;border-radius:.4rem;box-shadow: 4px 6px 5px #989898;}
#designOP-button:hover{transform:scale(1.05);}

.pad-1rem{padding:.2rem 1rem;}
.pad-1rem p{font-size:1rem;margin:.3rem 0;}
.nyukou-sec{padding:.2rem 1rem;font-size:1rem;}
.nyukou-sec h4{padding:.4rem;font-size:1.1rem;font-weight: bold;background: #0202e5;color: #fff;width:fit-content;margin:.5rem 0;}
.img-sec{display:flex;justify-content:center;margin:2rem auto;}
.img-sec a {display:block;width:350px;max-width:48%;margin:0.5rem;}
.img-sec a img{display:block;width:100%;border:2px solid;border-radius:.4rem;}
@media (max-width:495px) {
	.img-sec{flex-direction:column;align-items:center;}
	.img-sec a{max-width:90%;}
}
.font01{margin:0 auto;padding:0 1.2rem;}
.font01 h4{font-size:1.1rem;font-weight:bold;}
.font01 p{font-size:.9rem;margin:.2rem .5rem;}


/* アコーディオン */
.animated {-webkit-animation-duration: 1s;animation-duration: 1s;-webkit-animation-fill-mode: both;animation-fill-mode: both;}
.content-wrap {position: relative;overflow: hidden;transition: height 0.3s ease;}
.close-btn, .more-btn {display: block;width: 100%;padding: 45px 0 0;position: absolute;bottom: 0;left: 0;text-align: center;background: -moz-linear-gradient(top,rgba(255, 255, 255, 0) 0%,rgba(255, 255, 255, 1) 60%);
background: -webkit-linear-gradient(top,rgba(255, 255, 255, 0) 0%,rgba(255, 255, 255, 1) 60%);
background: linear-gradient(to bottom,rgba(255, 255, 255, 0) 0%,rgba(255, 255, 255, 1) 60%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff',endColorstr='#ffffff',GradientType=0);z-index:2;}
.close-btn {background: none;}
.slide-up {
padding-bottom: 0;}
.slide-down {padding-bottom: 50px;}
.more-btn p,.close-btn p {display: inline-block;color: #fff;cursor: pointer;padding: 5px 20px;width: 25%;border-radius: 20px;font-size: 1.1rem;font-weight: bold; width: 70%;}
.more-btn p {background-color: #f62929;}
@keyframes blinkAnime{
   0% { color: #fff }
 100% { color: #55ff5dff }
}
.nagare-img{text-align:center;}
.nagare-img img {
    max-width: 90%;
    margin:10px;
}
#nyukou-sec .ac-title {
    margin: 15px 0 0px 15px;
    font-size: 18px;
    font-weight: bold;
    border-bottom: solid 2px;
    color: #f19c2a;
    padding: 1px 10px;
    font-family: sans-serif;
}
h4.lineup-title {
    margin: 15px;
    font-size: 20px;
    font-weight: bold;
    border-bottom: solid 2px;
    color: #f19c2a;
    padding: 1px 10px;
    font-family: sans-serif;
    display: inline;
}
h1


.close-btn {padding:0;}
.close-btn p {background: #aaa; }
.content-wrap {
--content-txt: 16px;
.content-txt {
font-size: var(--content-txt);}}
@media (max-width: 768px) {.more-btn p,.close-btn p {font-size: 1rem;}}
/* アコーディオン end */

  /* 共通仕様セクション */

.top-img{max-width:90%; margin:1vh auto 3vh;display:flex;justify-content: center;}
.top-img a{display: flex;justify-content: center;}
.top-img a img{width:500px;max-width:90%;border-radius:8px;}

  .nv-common{
    padding: 16px;
  }
  .nv-common__head{
    display:flex; gap:12px; align-items:flex-start; justify-content:space-between;
    margin-bottom: 10px;
  }
  .nv-common__head .nv-common__ttl{
    margin:0;
    font-size: 18px;
    line-height: 1.4;
    color: var(--nv-ink);
  }
  .nv-common__head .nv-common__lead{
    margin:6px 0 0 0;
    color: var(--nv-sub);
    line-height: 1.85;
    font-size: 13px;
  }


  .nv-box{
    border:1px solid var(--nv-line);
    border-radius: 14px;
    background: linear-gradient(180deg, #ffffff, #fbfdff);
    padding: 12px;
    margin: 30px 0;
  }
  .nv-box h4{
    margin:8px;
    font-size: 16px;
    color: var(--nv-ink);
    font-weight: bold;
    border-bottom: solid;
    display: inline-block;
  }
  .nv-box p{
    margin:0;
    color: var(--nv-sub);
    line-height: 1.85;
    font-size: 13px;
  }

.nv-tools-box {
    padding: 10px;
    border: solid 2px blue;
    border-radius: 10px;
}

.nv-tools-box h4 {
    font-size: 18px;
    font-weight: 600;
    font-family: sans-serif;
    margin: 5px;
}

  .nv-steps{
    margin: 10px 0 0 0;
    padding: 0;
    list-style:none;
    font-weight: 500;
    font-family: sans-serif;
  }
  .nv-steps li{
    border-top:1px dashed var(--nv-line);
    padding: 8px 0;
    font-size: 13px;
    line-height: 1.7;
    color: var(--nv-sub);
  }
  .nv-steps li:first-child{border-top:none; padding-top:0;}
  .nv-steps .tag{
    display:inline-block;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 999px;
    border:1px solid var(--nv-line);
    background:#fff;
    color: var(--nv-ink);
    margin-right: 6px;
    font-weight: 700;
  }

  /* アコーディオン（details/summary） */
  .nv-acc{
 /*    margin-top: 12px;
    border-top:1px solid var(--nv-line); */
    padding-top: 12px;
    font-family: sans-serif;
  }
  .nv-acc details{
    border:1px solid var(--nv-line);
    border-radius: 14px;
    background:#fff;
    overflow:hidden;
    margin-top: 10px;
  }
  .nv-acc summary{
    cursor:pointer;
    list-style:none;
    padding: 12px 12px;
    display:flex; align-items:center; justify-content:space-between;
    gap: 3px;
    color: #ffffff;
    font-weight: 600;
    font-size: 13.5px;
    background-color:#2727e3
  }
  .nv-acc summary::-webkit-details-marker{display:none;}
  .nv-acc summary .mini{
    font-weight: 600;
    color:#ffea44;
    font-size: 12px;
  }
  .nv-acc .nv-accBody{
    padding: 14px 12px 12px 12px;
    border-top:1px solid var(--nv-line);
    color: var(--nv-sub);
    font-size: 13px;
    line-height: 1.85;
  }
  .nv-acc .nv-kv{
    margin: 10px 0 0 0;
    padding: 0;
    list-style:none;
  }
  .nv-acc .nv-kv li{
    padding: 8px 0;
    border-top:1px dashed var(--nv-line);
  }
  .nv-acc .nv-kv li:first-child{border-top:none; padding-top:0;}
  .nv-acc .k{display:block; font-weight: 600; color: var(--nv-ink); margin-bottom: 2px;font-size: 15px;}
  .nv-acc .v{display:block;    margin-bottom: 10px;}

  /* 注意書き */
  .nv-attn{
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 14px;
    border:1px solid var(--nv-line);
    background: rgba(239,68,68,.06);
    color: var(--nv-sub);
    font-size: 12.5px;
    line-height: 1.8;
  }
/* 押せる見出しを分かりやすく（details/summary 共通） */
.nv-acc summary,
.nv-optAcc__summary,
.accordion-box summary{
  position: relative;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  padding-right: 46px; /* 右の矢印スペース */
}

/* 右端に「▼」を常に表示（押せる感） */
.nv-acc summary::after,
.nv-optAcc__summary::after,
.accordion-box summary::after{
  content: "▼";
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  opacity: .95;
}

/* open時は矢印を回転 */
.nv-acc details[open] > summary::after,
.nv-optAcc[open] > summary::after,
.accordion-box details[open] > summary::after{
  transform: translateY(-50%) rotate(180deg);
}

/* ホバーで「押せる」反応（PC） */
@media (hover:hover){
  .nv-acc summary:hover,
  .nv-optAcc__summary:hover,
  .accordion-box summary:hover{
    filter: brightness(1.1);
  }
}

/* フォーカス（キーボード操作）も分かりやすく */
.nv-acc summary:focus-visible,
.nv-optAcc__summary:focus-visible,
.accordion-box summary:focus-visible{
  outline: 3px solid rgba(255, 234, 68, .9);
  outline-offset: 3px;
  border-radius: 12px;
}

/* 560px以下：アコーディオン競合回避 */
@media (max-width: 560px) {
  .nv-tools-box .nv-acc details > summary,
  .nv-common   .nv-acc details > summary {
    display: flex;
    flex-direction: column-reverse;
    flex-wrap: nowrap;
    align-items: stretch;
  }
    .nv-acc summary, .nv-optAcc__summary, .accordion-box summary {
        display: flex;
        flex-direction: column-reverse;
        flex-wrap: nowrap;
        align-items: stretch;
    }
}

/* スマホはタップしやすく */
@media (max-width: 560px){
  .nv-acc summary,
  .nv-optAcc__summary,
  .accordion-box summary{
    padding-top: 6px;
    padding-bottom: 6px;
  }


}
p.nv-common__lead {
    font-size: 16px;
    line-height: 1.8;
}


/* カード内：加工・オプション */
.nv-opt{
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px dashed var(--nv-line);
}

.nv-optRow{
  margin-top: 10px;
  padding: 10px 10px;
  border: 1px solid var(--nv-line);
  border-radius: 12px;
  background: #e7ecff;
}
.nv-optRow:first-child{ margin-top: 0; }

.nv-optHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.nv-optTitle{
  font-weight: 800;
  font-size: 14px;
  color: var(--nv-ink);
}

.nv-optList{
  margin: 0;
  padding: 0;
  list-style: none;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 10px;
}

.nv-optList--cut{
  grid-template-columns: 1fr 1fr 1fr;
}

.nv-optItem{
  display:flex;
  flex-wrap: wrap;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--nv-line);
  border-radius: 10px;
  background: #fbfdff;
  font-size: 12px;
  color: var(--nv-sub);
}

.nv-optKey{
  font-weight: 700;
  color: var(--nv-ink);
  font-size: 14px;
}




.nv-optVal{
  font-weight: 800;
  font-size: 11.5px;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid var(--nv-line);
  background: #fff;
  white-space: nowrap;
}

/* 状態（色は強すぎないように、枠＋薄背景） */
.nv-optVal.is-yes{
  background: rgb(28 230 114 / 36%);;
}
.nv-optVal.is-no{
  background: rgba(15,23,42,.06);
}
.nv-optVal.is-warn{
  background: rgba(239,68,68,.08);
}

@media (max-width: 560px){
  .nv-optList{ grid-template-columns: 1fr; }
  .nv-optList--cut{ grid-template-columns: 1fr 1fr; }
}

/* nv-opt を1つの details にまとめる用 */
.nv-optAcc{
  margin-top: 12px;
  border: 1px solid var(--nv-line);
  border-radius: 14px;
  background: #fff;
  overflow: hidden;
}

/* summaryを nv-acc と同系統の見た目に */
.nv-optAcc__summary{
  cursor: pointer;
  list-style: none;
  padding: 12px 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;

  color: #ffffff;
  font-weight: 800;
  font-size: 13.5px;
  background-color: #2727e3;
}
.nv-optAcc__summary::-webkit-details-marker{ display: none; }

.nv-optAcc__mini{
  font-weight: 600;
  color: #ffea44;
  font-size: 12px;
  white-space: nowrap;
    padding-right: 20px;
}

/* 開いた時の中身 */
.nv-optAcc__body{
  padding: 12px;
  border-top: 1px solid var(--nv-line);
}

/* 既存の nv-opt の上余白が強い場合はここで抑える（任意） */
.nv-optAcc__body .nv-opt{
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

ul.option-note {
    font-size: 13px;
    color: #343434;
    padding: 10px 5px 0;
}

.option-note li {
    margin-bottom: 5px;
}
span.no {
    color: #f41919;
    font-weight: 500;
}

span.nv-optNote {
    font-size: 10px;
}
/* カード内：h4直下の横長イメージ */
.nv-cardMedia{
  margin: 8px 0 10px 0;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--nv-line);
  background: #fff;
  max-height:200px;
}

.nv-cardMedia img{
  display: block;
  width: 100%;
  height: auto;          /* 画像比率優先 */
}


@media screen and (max-width: 768px){
.nv-wrap{padding: 0;}
.nv-common{padding: 0;}
.nv-cardMedia{max-height: 150px;}
.nv-optAcc__body{padding:0;}
}

.nv-spec2__head{
  display:flex;
  align-items:center;
  gap:8px;
}

.nv-infoIcon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:999px;
  background:#f2f4f8;
  border:1px solid rgba(0,0,0,.12);
  text-decoration:none;
  flex:0 0 auto;
}

.nv-infoIcon img{
  width:14px;
  height:14px;
  display:block;
}

.tplCard{
  display:flex;
  align-items:center;
  gap:12px;
  padding:3px;
  border: 2px solid #6c6c6c;
  border-radius:10px;
  background:#fff;
  text-decoration:none;
  color:#000;
  min-height:52px;          /* 全カードの高さを揃える */
  box-sizing:border-box;
  transition: transform .08s ease, box-shadow .08s ease;
}

a.tplCard {background-color:#eed664;
}

.tplCard:hover{
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(0,0,0,1);
}

.tplCard__icon{
  width:30px;               /* アイコン領域の幅を固定して揃える */
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 30px;
  background:#f6f7fb;
  border-radius:8px;
}

.tplCard__icon img{
  width:30px;
  height:30px;
  display:block;
}

.tplCard__text{
  font-weight:600;
  font-size:12px;
  line-height:1.3;
  flex:1 1 auto;
  text-align: center;
  font-family: sans-serif;
}

.tplGrid{
  display:grid;
  gap:10px;
  justify-content:center;
  grid-template-columns: repeat(3, minmax(180px, 260px));
  margin: 1rem auto 1rem auto;
}

/* 画面幅が狭い時は自動で段組み変更 */
@media (max-width: 1200px){
  .tplGrid{ grid-template-columns: repeat(3, minmax(100px, 1fr)); }
}
@media (max-width: 560px){
   grid-template-columns:grid-template-columns: repeat(4, minmax(180px, 260px));
  .tplCard__icon img{width: 20px;height: 20px;}
  .tplCard__icon{    width: 20px;height: 20px;flex: 0 0 20px;}
  .tplGrid{  gap:3px; }
  .tplCard{  gap:0;}
  .tplCard__text{  font-size:8px;}

}






