:root {
  --header-h: 0px;
}
body {
  font-family: "Hiragino Kaku Gothic ProN","Meiryo",sans-serif;
  line-height: 1.8;
  margin: 0;
  padding: calc(var(--header-h) + 20px) 20px 20px;
  color: #222;
  background: #fff;
  text-align: left;
}
/* ヘッダー（ページ上部） */.site-header {
  margin-top: 10px;
}
.site-header .inner {
  display: block;
}
.wrap {
  max-width: 980px;
  margin: 0 auto;
}
h1 {
  font-size: 1.9em;
  color: #003366;
  margin: 0 0 .3em;
}
.lead {
  margin: .5em 0 1.2em;
}
h2 {
  font-size: 1.3em;
  margin: 1.8em 0 .6em;
  border-left: 5px solid #5aa9e6;
  padding-left: 10px;
  color: #003366;
}
h3 {
  font-size: 1.1em;
  margin: 1.3em 0 .4em;
  color: #003366;
}
p {
  margin: .7em 0;
}
ul {
  margin: .4em 0 .8em 1.5em;
}
li {
  margin: .35em 0;
}
/* 汎用ボックス */.box {
  background: #f5f8fb;
  border: 1px solid #d0dce8;
  border-radius: 12px;
  padding: 15px;
  margin: 15px 0;
}
/* 注意表示 */.notice {
  font-size: .95em;
  background: #fff7e6;
  border: 1px solid #ffd28a;
  border-radius: 12px;
  padding: 12px;
  margin: 18px 0;
}
/* ★ 追加：利用規約・担当者登録案内（角丸・薄グレー） */.round-gray-box {
  background: #f3f3f3;
  border: 1px solid #dddddd;
  border-radius: 14px;
  padding: 14px 18px;
  margin: 12px 0 18px;
}
/* 料金表 */.price-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 10px 0 5px;
  font-size: 1em;
  border: 1px solid #d0dce8;
  border-radius: 12px;
  overflow: hidden;
}
.price-table th, .price-table td {
  border: 0;
  border-right: 1px solid #d0dce8;
  border-bottom: 1px solid #d0dce8;
  padding: 10px;
  vertical-align: top;
  text-align: left;
}
.price-table th:last-child, .price-table td:last-child {
  border-right: 0;
}
.price-table tr:last-child th, .price-table tr:last-child td {
  border-bottom: 0;
}
.price-table th {
  background: #f5f8fb;
  width: 52%;
}
.small {
  font-size: .92em;
  color: #333;
}
.pdf-link {
  font-weight: bold;
  text-decoration: none;
}
.pdf-link:hover {
  text-decoration: underline;
}
/* 認証マーク / SDGs アイコン */.badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin: 12px 0 4px;
}
.badge {
  background: #fff;
  border: 1px solid #d0dce8;
  border-radius: 10px;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.badge img {
  height: 83px;
  width: auto;
  max-width: 100%;
  display: block;
}
.badge-wide img {
  height: 94px;
}
.sdgs-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 12px 0 4px;
}
.sdgs-row img {
  height: 70px;
  width: auto;
  border-radius: 6px;
  display: block;
}
/* スマホ調整 */@media (max-width:600px) {
  .badge img {
    height: 73px;
}
  .badge-wide img {
    height: 83px;
}
  .sdgs-row img {
    height: 62px;
}
}
/* PCのみ：トップタイトルを固定（薄いブルー背景） */@media (min-width:1024px) {
  body {
    padding-top: 88px;
}
  .top-fixed-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: #e6f2ff;
    border-bottom: 1px solid rgba(0,0,0,0.08);
    z-index: 1000;
}
  .top-fixed-header h1, .top-fixed-header h2 {
    margin: 0;
    padding: 18px 20px;
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
}
}
/* 上部ナビ */.subnav {
  margin: 10px 0 18px;
}
.subnav-link {
  display: inline-block;
  padding: 10px 14px;
  border-radius: 10px;
  background: #f1f7ff;
  border: 1px solid rgba(0,51,102,0.18);
  color: #003366;
  text-decoration: none;
}
.subnav-link.subnav-top {
  background: #fff7f9;
  font-weight: 700;
}
.subnav-link:hover {
  text-decoration: underline;
}
/* 注釈ボックス */.note {
  background: #fafcff;
  border: 1px solid rgba(0,51,102,0.12);
  border-radius: 12px;
  padding: 12px 14px;
  margin: 14px 0;
}
/* トップへ戻るボタン */.top-guide-btn {
  display: inline-block;
  margin: 12px 0 4px;
  padding: 10px 18px;
  background: #fff7f9;
  color: #003366;
  border: 1px solid rgba(0,51,102,0.18);
  font-weight: 700;
  border-radius: 999px;
  text-decoration: none;
}
.top-guide-btn:hover {
  opacity: 0.9;
}
/* 下部ボタン並び（中央寄せ） */.bottom-actions {
  text-align: center;
  margin: 18px 0;
}
/* お問い合わせボタン（薄い黄色） */.contact-btn {
  background: #fff7b8;
  color: #003366;
  border: 1px solid #f2d676;
}
.contact-btn:hover {
  opacity: 0.95;
}
/* スマホでは固定リンク非表示 */@media (max-width:767px) {
  .top-guide-link {
    display: none !important;
}
}
/* shiryo.html のボックス背景色と同色にする補助クラス */.bg-shiryo-box {
  background: #f5f8fb;
}

/* 資料ページ：ボックスを角丸の長方形として安定表示 */
.page-shiryo .box {
  display: block;
  width: 100%;
  box-sizing: border-box;
  border-radius: 14px;
}
