.elementor-kit-7{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;color:#5C5C5C;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;}}/* Start custom CSS */.hero {
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  grid-template-rows: 1fr auto; /* 本文 / フッターCTAs */
  gap: 16px;
}
.hero__body {
  display: grid;
  place-items: center; /* 中央寄せ */
  text-align: center;
}
.hero__cta {
  padding-bottom: env(safe-area-inset-bottom);
}
/* ===== 見出し ===== */
h2 {
  font-size: clamp(18px, 2.8vw, 28px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.03em;
  color: #fff;
  background-color: #0066CC;
  padding: 0.3em 0.8em;
  font-feature-settings: "palt" 1, "liga" 1;
  margin: 3em -clamp(1.2rem, 4vw, 6rem) 2em;

  /* レイアウトバランス */
  text-align: justify;           /* 両端揃え（対応ブラウザ用） */
  text-align-last: left;       /* 両端揃えが効かない場合は中央寄せで見栄え良く */
  text-justify: inter-character; /* 日本語の文字間を均等化 */
  word-break: keep-all;          /* 文節をできるだけ保持 */
  overflow-wrap: anywhere;       /* 狭い画面では自動改行 */
  text-wrap: balance;            /* 改行バランスを最適化（対応ブラウザ用） */
}





/* ===== 段落 ===== */
/* 段落内リンク：太めの下線＋ずらし */
:where(p a){text-decoration:underline;text-decoration-thickness:.1em;text-underline-offset:.15em}

/* 狭い枠内での可読性 */
:where(.narrow p){max-width:60ch}

/* ダークモード */
@media(prefers-color-scheme:dark){
  :root{--p-color:#f2f2f2;--p-muted:#c7c7c7}
  body{background:#0c0c0c}
}

/* 高コントラストユーザー向け */
@media(prefers-contrast:more){
  :where(p a){text-decoration-thickness:.14em;text-underline-offset:.2em}
}

/* 大画面での微調整 */
@media(min-width:1200px){
  :where(p){line-height:1.85}
}

/* ===== マーカー ===== */
.marker {
  background: linear-gradient(transparent 60%, #ffe566 60%);
}
/* ===== スクロールスナップ ===== */
html { scroll-snap-type: y mandatory; scroll-behavior: smooth; }
.elementor-section { min-height: 100svh; min-height: 100vh; scroll-snap-align: start; scroll-snap-stop: always; margin: 0; }

    .table-container {
      overflow-x: auto;
    }
/* ===== テーブルレイアウト ===== */
    table {
      width: 100%;
      border-collapse: collapse;
      min-width: 600px;
    }

    th, td {
      padding: 15px;
      text-align: center;
      border: 1px solid #cce0f0;
    }

    th {
      background-color: #1f4e79;
      color: #fff;
    }

    tr:nth-child(even) {
      background-color: #f4f9ff;
    }

    .red {
      color: red;
      font-weight: bold;
    }

    .blue {
      color: #2b6cb0;
      font-weight: bold;
    }

    @media screen and (max-width: 600px) {
      table {
        font-size: 14px;
      }
      th, td {
        padding: 10px;
      }
    }/* End custom CSS */