@charset "UTF-8";
/* ============================================================
   内申点 自動計算ツール スタイル
   設置先: https://mathnet-online.com/tools/naishin-tool.css
   ブログのテンプレート（post.html）の <head> 内で読み込んでください。
   ============================================================ */
#naishin-tool{
      --nt-main:#2b6cb0; --nt-bg:#f7fafc; --nt-line:#dfe6ee;
      --nt-text:#2d3748; --nt-sub:#718096; --nt-accent:#c05621;
      font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;
      color:var(--nt-text); line-height:1.7; max-width:720px; margin:24px auto;
      border:1px solid var(--nt-line); border-radius:10px; overflow:hidden; background:#fff;
    }
    #naishin-tool *{box-sizing:border-box;}
    .nt-head{background:var(--nt-main); color:#fff; padding:14px 18px;}
    .nt-head h3{margin:0; font-size:17px; font-weight:700;}
    .nt-head p{margin:4px 0 0; font-size:12.5px; opacity:.9;}
    .nt-body{padding:18px;}
    .nt-sec{margin-bottom:22px;}
    .nt-sec h4{
      margin:0 0 10px; font-size:14.5px; font-weight:700; color:var(--nt-main);
      border-left:4px solid var(--nt-main); padding-left:8px;
    }
    .nt-note{font-size:12.5px; color:var(--nt-sub); margin:0 0 10px;}
    .nt-presets select{width:100%; max-width:340px; font-size:15px; padding:9px 10px;}
    .nt-presetinfo{
      display:none; margin:10px 0 0; font-size:13px; line-height:1.65;
      background:#ebf3fb; border-left:3px solid var(--nt-main); padding:10px 12px; border-radius:0 5px 5px 0;
    }
    .nt-presetinfo.on{display:block;}
    .nt-warn{
      display:none; margin:10px 0 0; font-size:13px; line-height:1.65;
      background:#fffaf0; border-left:3px solid #dd6b20; padding:10px 12px; border-radius:0 5px 5px 0;
    }
    .nt-warn.on{display:block;}
    .nt-yearbox{border:1px solid var(--nt-line); border-radius:8px; padding:12px; margin-bottom:12px; background:var(--nt-bg);}
    .nt-yearhead{margin-bottom:10px;}
    .nt-yearhead > label{font-weight:700; font-size:14px; display:block; margin-bottom:8px;}
    .nt-mults{display:flex; flex-wrap:wrap; gap:14px;}
    .nt-mult{display:flex; align-items:center; gap:6px; font-size:13px;}
    .nt-mult input{width:62px;}
    .nt-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:8px;}
    .nt-item{display:flex; align-items:center; justify-content:space-between; gap:6px; background:#fff; border:1px solid var(--nt-line); border-radius:6px; padding:6px 8px;}
    .nt-item span{font-size:13px;}
    select,input[type="number"]{
      font-family:inherit; font-size:14px; padding:5px 6px;
      border:1px solid #cbd5e0; border-radius:5px; background:#fff; color:var(--nt-text);
    }
    .nt-item select{width:58px;}
    .nt-toggle{display:flex; align-items:center; gap:8px; font-size:13.5px; margin-bottom:10px; cursor:pointer;}
    .nt-btnrow{display:flex; gap:10px; flex-wrap:wrap; margin-top:6px;}
    .nt-btn{font-family:inherit; font-size:14.5px; font-weight:700; cursor:pointer; padding:11px 22px; border-radius:6px; border:none;}
    .nt-btn-main{background:var(--nt-main); color:#fff;}
    .nt-btn-sub{background:#fff; color:var(--nt-sub); border:1px solid var(--nt-line);}
    .nt-result{display:none; border-top:1px solid var(--nt-line); padding:18px; background:var(--nt-bg);}
    .nt-result.on{display:block;}
    .nt-score{text-align:center; margin-bottom:14px;}
    .nt-score-main{font-size:15px; color:var(--nt-sub); margin-bottom:2px;}
    .nt-score-num{font-size:40px; font-weight:700; color:var(--nt-main); line-height:1.2;}
    .nt-score-num small{font-size:18px; color:var(--nt-sub); font-weight:400;}
    .nt-bar{height:12px; background:#e2e8f0; border-radius:6px; overflow:hidden; margin:10px 0 6px;}
    .nt-bar > i{display:block; height:100%; background:var(--nt-main); width:0; transition:width .5s;}
    .nt-rate{text-align:center; font-size:13.5px; color:var(--nt-sub); margin-bottom:16px;}
    .nt-detail{background:#fff; border:1px solid var(--nt-line); border-radius:8px; padding:12px 14px;}
    .nt-detail h5{margin:0 0 8px; font-size:13.5px; font-weight:700;}
    .nt-detail p{margin:0 0 5px; font-size:13.5px;}
    .nt-detail p:last-child{margin-bottom:0;}
    .nt-detail em{font-style:normal; color:var(--nt-accent); font-weight:700;}
    .nt-advice{margin-top:12px; background:#fffaf0; border:1px solid #f6d5a8; border-radius:8px; padding:12px 14px; font-size:13.5px;}
    .nt-advice strong{display:block; margin-bottom:5px; color:var(--nt-accent);}
    .nt-foot{padding:12px 18px; font-size:12px; color:var(--nt-sub); border-top:1px solid var(--nt-line); background:#fff;}
    @media(max-width:480px){ .nt-score-num{font-size:34px;} .nt-item select{width:54px;} }

/* ============================================================
   都道府県アコーディオン（記事本文用）
   ※ <details> はブラウザ標準機能のため JavaScript 不要です
   ============================================================ */
details.pref-acc{
  border:1px solid #dfe6ee;
  border-radius:6px;
  margin:0 0 8px;
  background:#fff;
  overflow:hidden;
}
details.pref-acc > summary{
  cursor:pointer;
  padding:12px 14px 12px 34px;
  font-weight:700;
  font-size:15px;
  color:#2b6cb0;
  background:#f7fafc;
  list-style:none;
  position:relative;
  transition:background .15s;
}
details.pref-acc > summary::-webkit-details-marker{display:none;}
details.pref-acc > summary::before{
  content:'';
  position:absolute;
  left:14px; top:50%;
  width:7px; height:7px;
  border-right:2px solid #2b6cb0;
  border-bottom:2px solid #2b6cb0;
  transform:translateY(-70%) rotate(45deg);
  transition:transform .2s;
}
details.pref-acc[open] > summary::before{
  transform:translateY(-30%) rotate(225deg);
}
details.pref-acc > summary:hover{background:#ebf3fb;}
details.pref-acc[open] > summary{
  background:#ebf3fb;
  border-bottom:1px solid #dfe6ee;
}
details.pref-acc > p{
  margin:0;
  padding:12px 14px;
  font-size:14.5px;
  line-height:1.8;
}
details.pref-acc > p + p{padding-top:0;}
