@charset "UTF-8";:root{--ink:#203348;--blue:#166a92;--sky:#eaf5fa;--pink:#de6b8a;--line:#dce5eb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:16px/1.85 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}a{color:var(--blue)}img{max-width:100%;height:auto}header{border-bottom:1px solid var(--line);background:#fff} .wrap{max-width:1100px;margin:auto;padding:0 24px}.head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 0}.brand{font-weight:800;letter-spacing:.02em;color:var(--ink);text-decoration:none;font-size:18px}.brand img{max-width:190px;max-height:58px;object-fit:contain}.nav{display:flex;gap:15px;flex-wrap:wrap;align-items:center}.nav a{font-size:13px;text-decoration:none;font-weight:700;color:var(--ink)}.nav .cta,.btn{background:var(--blue);color:#fff;border-radius:7px;padding:10px 17px;display:inline-block;text-decoration:none}.hero{background:linear-gradient(115deg,#f2faff,#e3f1f6);padding:64px 0 58px;border-bottom:4px solid var(--pink)}.eyebrow{text-transform:uppercase;color:var(--blue);font-weight:800;letter-spacing:.12em;font-size:12px}.hero h1{font-size:clamp(25px,4vw,42px);line-height:1.4;max-width:860px;margin:10px 0 18px}.hero p{max-width:790px;font-size:17px}.main{padding:50px 0 85px;min-height:48vh}.main h1{line-height:1.4;font-size:clamp(27px,3.5vw,36px);border-left:5px solid var(--pink);padding-left:16px;margin-top:0}.main h2{font-size:24px;line-height:1.4;border-bottom:2px solid var(--pink);padding-bottom:9px;margin-top:45px}.main h3{font-size:20px;border-left:3px solid var(--blue);padding-left:12px}.main p{margin:18px 0}.main iframe{display:none}.main table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}.main th,.main td{border:1px solid var(--line);padding:8px 12px}.main ul,.main ol{padding-left:25px}.main li{margin:5px 0}.main a{overflow-wrap:anywhere}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:18px}.card{border:1px solid var(--line);border-radius:12px;padding:22px;box-shadow:0 10px 28px #20334809}.card h3{font-size:18px;margin-top:0}.card a{text-decoration:none}.meta{color:#637584;font-size:13px}.notice{background:var(--sky);padding:20px 24px;border-left:4px solid var(--blue);border-radius:5px;margin:25px 0}.footer{background:#1b3448;color:white;padding:35px 0;font-size:13px}.footer a{color:#fff}.footnav{display:flex;gap:20px;flex-wrap:wrap}.breadcrumbs{color:#607485;font-size:13px;padding:18px 0}.breadcrumbs a{color:inherit}.article{max-width:860px}.pill{font-size:12px;color:var(--blue);background:var(--sky);padding:4px 10px;border-radius:15px}.site-note{font-size:12px;color:#677a88;margin-top:20px}@media(max-width:800px){.head{align-items:flex-start;flex-direction:column}.nav{gap:13px}.hero{padding:40px 0}.main{padding:34px 0 65px}.wrap{padding:0 18px}}

/* Company logo */
.article > img.aligncenter { display:block; margin:18px auto 24px; }


/* Mobile layout improvements */
@media (max-width: 600px) {
  /* 長文の読みやすさ */
  .main .article {
    line-height: 1.85;
    letter-spacing: 0.015em;
  }

  .main .article p {
    margin-top: 0;
    margin-bottom: 1.1em;
  }

  /* 画像を画面幅内に収める */
  .main .article img {
    max-width: 100%;
    height: auto;
  }

  /* 表が横にはみ出す場合に備える */
  .main .article table {
    max-width: 100%;
  }
}


/* Mobile navigation: two columns */
@media (max-width: 600px) {
  header .head {
    display: block;
    padding-top: 16px;
    padding-bottom: 14px;
  }

  header .brand {
    display: block;
    margin-bottom: 14px;
  }

  header .nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
  }

  header .nav a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 8px 5px;
    border-radius: 6px;
    background: #f1f5f8;
    text-align: center;
    font-size: 13px;
    line-height: 1.4;
  }

  header .nav a.cta {
    grid-column: 1 / -1;
    background: var(--blue);
    color: #fff;
  }
}


/* Mobile company table */
@media (max-width: 600px) {
  body:has(main article) .article table {
    width: 100%;
  }

  .article table th,
  .article table td {
    overflow-wrap: anywhere;
  }

  .article table tr {
    display: block;
    margin-bottom: 12px;
  }

  .article table th,
  .article table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
    text-align: left;
    writing-mode: horizontal-tb;
    word-break: normal;
  }

  .article table th {
    background: #f1f5f8;
    padding: 10px 12px;
  }

  .article table td {
    padding: 12px;
  }
}


/* Responsive header spacing */
@media (max-width: 800px) {
  /* ヘッダーと本文の区切り */
  body > header {
    margin-bottom: 12px;
  }

  /* ヘッダー内部の上下余白 */
  header .head {
    display: block;
    padding-top: 20px;
    padding-bottom: 8px;
  }

  /* 社名とナビゲーションの間隔 */
  header .brand {
    display: block;
    margin-bottom: 12px;
    line-height: 1.5;
  }

  /* ナビゲーションが複数行になる場合 */
  header .nav {
    row-gap: 10px;
  }
}
