@charset "UTF-8";

/* -------------------------------------
　font-weight（文字の太さ）
------------------------------------- */
.font-weight-Thin {
  font-weight: 100;
}
.font-weight-ExtraLight {
  font-weight: 200;
}
.font-weight-Light {
  font-weight: 300;
}
.font-weight-Regular {
  font-weight: 400;
}
.font-weight-Medium {
  font-weight: 500;
}
.font-weight-SemiBold {
  font-weight: 600;
}
.font-weight-Bold {
  font-weight: 700;
}
.font-weight-ExtraBold {
  font-weight: 800;
}
.font-weight-Black {
  font-weight: 900;
}

/* -------------------------------------
　font-style（文字のスタイル）
------------------------------------- */
.font-style-italic {
  font-style: italic;
}

/* -------------------------------------
　font-size（フォントサイズ）
------------------------------------- */
.font-size8 {
  font-size: 0.8rem;
  line-height: 2;
}
.font-size9 {
  font-size: 0.9rem;
  line-height: 1.9;
}
.font-size10 {
  font-size: 1rem;
  line-height: 1.9;
}
.font-size11 {
  font-size: 1.1rem;
  line-height: 1.9;
}
.font-size12 {
  font-size: 1.2rem;
  line-height: 1.875;
}
.font-size13 {
  font-size: 1.3rem;
  line-height: 1.875;
}
.font-size14 {
  font-size: 1.4rem;
  line-height: 1.875;
}
.font-size15 {
  font-size: 1.5rem;
  line-height: 1.875;
}
.font-size16 {
  font-size: 1.6rem;
  line-height: 1.875;
}
.font-size17 {
  font-size: 1.7rem;
  line-height: 1.8;
}
.font-size18 {
  font-size: 1.8rem;
  line-height: 1.8;
}
.font-size19 {
  font-size: 1.9rem;
  line-height: 1.8;
}
.font-size20 {
  font-size: 2rem;
  line-height: 1.75;
}
.font-size21 {
  font-size: 2.1rem;
  line-height: 1.75;
}
.font-size22 {
  font-size: 2.2rem;
  line-height: 1.7;
}
.font-size23 {
  font-size: 2.3rem;
  line-height: 1.7;
}
.font-size24 {
  font-size: 2.4rem;
  line-height: 1.7;
}
.font-size25 {
  font-size: 2.5rem;
  line-height: 1.6;
}
.font-size26 {
  font-size: 2.6rem;
  line-height: 1.6;
}
.font-size27 {
  font-size: 2.7rem;
  line-height: 1.6;
}
.font-size28 {
  font-size: 2.8rem;
  line-height: 1.6;
}
.font-size29 {
  font-size: 2.9rem;
  line-height: 1.6;
}
.font-size30 {
  font-size: 3rem;
  line-height: 1.5;
}
.font-size31 {
  font-size: 3.1rem;
  line-height: 1.5;
}
.font-size32 {
  font-size: 3.2rem;
  line-height: 1.5;
}
.font-size33 {
  font-size: 3.3rem;
  line-height: 1.5;
}
.font-size34 {
  font-size: 3.4rem;
  line-height: 1.5;
}
.font-size35 {
  font-size: 3.5rem;
  line-height: 1.5;
}
.font-size36 {
  font-size: 3.6rem;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .font-size8 {
    font-size: 0.8rem;
    line-height: 1.8;
  }
  .font-size9 {
    font-size: 0.9rem;
    line-height: 1.8;
  }
  .font-size10 {
    font-size: 1rem;
    line-height: 1.8;
  }
  .font-size11 {
    font-size: 1.1rem;
    line-height: 1.8;
  }
  .font-size12 {
    font-size: 1.2rem;
    line-height: 1.8;
  }
  .font-size13 {
    font-size: 1.3rem;
    line-height: 1.8;
  }
  .font-size14 {
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .font-size15 {
    font-size: 1.5rem;
    line-height: 1.8;
  }
  .font-size16 {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .font-size17 {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .font-size18 {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .font-size19 {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .font-size20 {
    font-size: 1.8rem;
    line-height: 1.7;
  }
  .font-size21 {
    font-size: 1.8rem;
    line-height: 1.7;
  }
  .font-size22 {
    font-size: 1.8rem;
    line-height: 1.7;
  }
  .font-size23 {
    font-size: 1.8rem;
    line-height: 1.7;
  }
  .font-size24 {
    font-size: 1.8rem;
    line-height: 1.7;
  }
  .font-size25 {
    font-size: 2rem;
    line-height: 1.6;
  }
  .font-size26 {
    font-size: 2rem;
    line-height: 1.6;
  }
  .font-size27 {
    font-size: 2.2rem;
    line-height: 1.6;
  }
  .font-size28 {
    font-size: 2rem;
    line-height: 1.6;
  }
  .font-size29 {
    font-size: 2rem;
    line-height: 1.6;
  }
  .font-size30 {
    font-size: 2.4rem;
    line-height: 1.5;
  }
  .font-size31 {
    font-size: 2.4rem;
    line-height: 1.5;
  }
  .font-size32 {
    font-size: 2.4rem;
    line-height: 1.5;
  }
  .font-size33 {
    font-size: 2.4rem;
    line-height: 1.5;
  }
  .font-size34 {
    font-size: 2.4rem;
    line-height: 1.5;
  }
  .font-size35 {
    font-size: 2.4rem;
    line-height: 1.5;
  }
  .font-size36 {
    font-size: 2.4rem;
    line-height: 1.5;
  }
}

/* -------------------------------------
　color（文字色）
------------------------------------- */
.color-main {
  color: var(--main-color);
}
.color-font-light-color {
  color: var(--font-light-color);
}
.color-dark {
  color: #1a1a1a;
}
.color-gray {
  color: #666666;
}
.color-black {
  color: #000000;
}
.color-silver {
  color: #f5f5f5;
}
.color-white {
  color: #ffffff;
}
.color-red {
  color: #cc0000;
}
.color-maroon {
  color: #800000;
}
.color-purple {
  color: #800080;
}
.color-fuchsia {
  color: #ff00ff;
}
.color-green {
  color: #008000;
}
.color-lime {
  color: #00ff00;
}
.color-olive {
  color: #808000;
}
.color-yellow {
  color: #fde301;
}
.color-orange {
  color: #fca11c;
}
.color-navy {
  color: #000080;
}
.color-blue {
  color: #0000ff;
}
.color-teal {
  color: #008080;
}
.color-aqua {
  color: #00ffff;
}

/* -------------------------------------
　color（背景色）
------------------------------------- */
.background-color-main {
  background-color: var(--main-color);
  padding: 0 5px;
}
.background-color-bg {
  background-color: var(--bg);
  padding: 0 5px;
}
.background-color-dark {
  background-color: #1a1a1a;
  padding: 0 5px;
}
.background-color-gray {
  background-color: #666666;
  padding: 0 5px;
}
.background-color-black {
  background-color: #000000;
  padding: 0 5px;
}
.background-color-silver {
  background-color: #c0c0c0;
  padding: 0 5px;
}
.background-color-gray {
  background-color: #808080;
  padding: 0 5px;
}
.background-color-white {
  background-color: #ffffff;
  padding: 0 5px;
}
.background-color-maroon {
  background-color: #800000;
  padding: 0 5px;
}
.background-color-red {
  background-color: #cc0000;
  padding: 0 5px;
}
.background-color-purple {
  background-color: #800080;
  padding: 0 5px;
}
.background-color-fuchsia {
  background-color: #ff00ff;
  padding: 0 5px;
}
.background-color-green {
  background-color: #008000;
  padding: 0 5px;
}
.background-color-lime {
  background-color: #00ff00;
  padding: 0 5px;
}
.background-color-olive {
  background-color: #808000;
  padding: 0 5px;
}
.background-color-yellow {
  background-color: #ffff00;
  padding: 0 5px;
}
.background-color-navy {
  background-color: #000080;
  padding: 0 5px;
}
.background-color-blue {
  background-color: #0000ff;
  padding: 0 5px;
}
.background-color-teal {
  background-color: #008080;
  padding: 0 5px;
}
.background-color-aqua {
  background-color: #00ffff;
  padding: 0 5px;
}

/* -------------------------------------
　ハイライト黄色マーカー
------------------------------------- */
.highlight-yellow {
  background: linear-gradient(transparent 60%, rgba(253, 227, 1, 0.4) 60%);
}

/* -------------------------------------
　ハイライト黄色マーカー
------------------------------------- */
.news-table-layout {
  margin-bottom: 30px;
}
.news-table-layout:last-child {
  margin-bottom: 0;
}
.news-table-layout table {
  margin-bottom: 20px;
  width: 100%;
  border-top: 1px solid var(--border);
  border-left: 1px solid var(--border);
}
.news-table-layout table:last-child {
  margin-bottom: 0;
}
.news-table-layout table tr th,
.news-table-layout table tr td {
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.news-table-layout table tr th {
  padding: 15px 20px;
  width: 10em;
  font-weight: 400;
  text-align: center;
  background-color: var(--table-bg);
}
.news-table-layout table tr td {
  padding: 15px 20px;
  background-color: #ffffff;
}
.news-table-layout table tr td p {
  margin-bottom: 0.8em;
}
.news-table-layout table tr td p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .news-table-layout {
    margin-bottom: 30px;
  }
  .news-table-layout table {
    margin-bottom: 15px;
  }
  .news-table-layout table tr th {
    display: block;
    padding: 7px 15px;
    width: 100%;
    font-weight: 500;
    text-align: left;
  }
  .news-table-layout table tr td {
    display: block;
    padding: 7px 15px;
  }
}
