@charset "UTF-8";
body, *, :before, :after {
  font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ＭＳ Ｐゴシック", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.el_hover_border {
  display: inline-block;
  position: relative;
  padding-bottom: 0.1875rem;
}
.el_hover_border::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease-out;
}
.el_hover_border:hover {
  cursor: pointer;
}
.el_hover_border:hover::after {
  transform: scaleX(1);
}

@media (min-width: 831px) {
  .hp_pcNone {
    display: none !important;
  }
  .bl_zeh_ttl_wrapper {
    /* ===== 背景ベース + ノイズ ===== */
    background-color: #e6e6e6;
    padding-top: 6.25rem;
    background-image: linear-gradient(rgba(230, 230, 230, 0.8117647059), rgba(230, 230, 230, 0.8117647059)), url(../images/new_top/noise.png);
    background-repeat: repeat;
    background-size: 100px auto;
    position: relative;
    /* 格子背景 */
  }
  .bl_zeh_ttl_wrapper::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    background-image: linear-gradient(to right, rgba(170, 170, 170, 0.25) 1px, transparent 1px), linear-gradient(to bottom, rgba(170, 170, 170, 0.25) 1px, transparent 1px);
    background-size: 16px 16px;
    opacity: 0.8;
  }
  .bl_zeh_ttl_wrapper > * {
    position: relative;
    z-index: 2;
  }
  .dmd_zeh_ttl {
    font-size: clamp(5.625rem, 12vw, 8.875rem);
    font-weight: 900;
    margin: 7.5rem 0 0.625rem 5rem;
    display: inline-block;
    color: #030303;
  }
  .dmd_zeh_ruby {
    font-size: clamp(16px, 1.5vw, 20px);
    margin-left: clamp(4px, 0.8vw, 10px);
    display: inline-block;
    color: #030303;
    font-weight: 700;
  }
  .bl_about {
    /* 背景ベース + ノイズ */
    background-color: #f4f4f4;
    background-image: linear-gradient(rgba(244, 244, 244, 0.8117647059), rgba(244, 244, 244, 0.8117647059)), url(../images/new_top/noise.png);
    background-repeat: repeat;
    background-size: 100px auto;
    margin-top: clamp(360px, 42vw, 445px);
    padding-bottom: clamp(60px, 10vw, 140px);
  }
  .bl_about_fv_wrapper {
    position: relative;
    top: clamp(-200px, -20vw, -360px);
    width: clamp(320px, 90vw, 1200px);
    margin: 0 auto;
    background: url(../images/new_top/1zeh.webp);
    background-size: 100% auto;
    padding: clamp(20px, 4.2vw, 70px) clamp(30px, 5.3vw, 60px) clamp(80px, 9.5vw, 115px);
    background-repeat: no-repeat;
  }
  .bl_about_fv_wrapper .bl_about_fv_ttl {
    font-size: clamp(24px, 3vw, 35px);
    font-weight: bold;
    color: #0AB69A;
  }
  .bl_about_fv_wrapper .bl_about_fv_ttl span {
    font-weight: bold;
    font-size: clamp(30px, 4vw, 48px);
    color: #0AB69A;
  }
  .bl_about_fv_wrapper .bl_about_fv_txt {
    font-size: clamp(14px, 1.2vw, 17px);
    line-height: 1.8;
    margin-top: clamp(5px, 3.2vw, 45px);
    width: clamp(280px, 75vw, 930px);
  }
  .bl_about_fv_wrapper .bl_about_fv_point {
    width: clamp(260px, 38vw, 540px);
    margin: clamp(20px, 4vw, 50px) 0 0 auto;
  }
  .bl_four_about_wrapper {
    width: clamp(320px, 90vw, 1200px);
    margin: 0 auto;
    /* 背景ベース + ノイズ */
    background-color: #f4f4f4;
    background-image: linear-gradient(rgba(244, 244, 244, 0.8117647059), rgba(244, 244, 244, 0.8117647059)), url(../images/new_top/noise.png);
    background-repeat: repeat;
    background-size: 100px auto;
  }
  .bl_four_about_wrapper .bl_four_about_list li {
    width: clamp(280px, 44vw, 580px);
    height: clamp(180px, 23vw, 275px);
    padding: clamp(20px, 5vw, 30px) clamp(15px, 4vw, 25px) clamp(40px, 8vw, 75px);
    background: #fff;
    margin-bottom: clamp(30px, 3.4vw, 40px);
  }
  .bl_four_about_wrapper .bl_four_about_list li:nth-of-type(1) .bl_four_about_img {
    width: clamp(50px, 6.7vw, 80px);
    height: clamp(50px, 6.7vw, 82px);
  }
  .bl_four_about_wrapper .bl_four_about_list li:nth-of-type(2) .bl_four_about_img {
    width: clamp(50px, 9.7vw, 110px);
    height: clamp(50px, 6.3vw, 73px);
  }
  .bl_four_about_wrapper .bl_four_about_list li:nth-of-type(3) .bl_four_about_img {
    width: clamp(50px, 6.5vw, 74px);
    height: clamp(50px, 7.3vw, 95px);
  }
  .bl_four_about_wrapper .bl_four_about_list li:nth-of-type(4) .bl_four_about_img {
    width: clamp(50px, 7.5vw, 90px);
    height: clamp(50px, 6.3vw, 77px);
  }
  .bl_four_about_wrapper .bl_four_about_list .bl_four_about_img {
    margin: 0 0 0 clamp(10px, 8vw, 45px);
  }
  .bl_four_about_wrapper .bl_four_about_list .bl_four_about_subTtl {
    font-size: clamp(18px, 4vw, 28px);
    color: #0AB69A;
    margin-left: clamp(10px, 6vw, 40px);
    font-weight: 700;
  }
  .bl_four_about_wrapper .bl_four_about_list .bl_four_about_txt {
    font-size: clamp(12px, 1vw, 16px);
    line-height: 1.8;
    margin-top: clamp(15px, 5vw, 35px);
  }
  .table-wrapper {
    width: 100%;
    overflow-x: auto;
    padding: clamp(12px, 1.6vw, 20px) 0;
  }
  .goal-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    table-layout: fixed;
    text-align: center;
    border: 1px solid #ddd;
  }
  .goal-table th,
  .goal-table td {
    padding: clamp(20px, 5vw, 30px) clamp(5px, 2vw, 10px);
    border: 1px solid #ddd;
    font-size: clamp(14px, 2vw, 18px);
  }
  .goal-table thead th {
    text-align: center;
    background: #f2f2f2;
    font-weight: bold;
  }
  .goal-table tbody th {
    background: #fafafa;
    white-space: nowrap;
    font-weight: bold;
    text-align: center;
  }
  .bl_table_about_wrapper {
    margin-top: clamp(40px, 10vw, 100px);
  }
  .bl_table_about_wrapper .bl_table_about_ttl {
    font-size: clamp(22px, 4vw, 32px);
    text-align: center;
    color: #030303;
    margin-bottom: clamp(25px, 6vw, 55px);
    font-weight: 700;
  }
  .bl_table_about_wrapper .bl_table_about_txt {
    font-size: clamp(14px, 2.5vw, 16px);
    line-height: 1.8;
  }
}
@media (max-width: 830px) {
  .hp_spNone {
    display: none !important;
  }
  .hp_sp_flexNone {
    display: block !important;
  }
  .dmd_zeh_ttl {
    font-size: 12.0481927711vw;
    font-weight: bold;
    margin: 8.4337349398vw 0 1.2048192771vw 4.8192771084vw;
    display: inline-block;
    color: #030303;
  }
  .dmd_zeh_ruby {
    font-size: 3.8554216867vw;
    display: inline-block;
    margin-left: 1.2048192771vw;
    color: #030303;
    font-weight: 700;
  }
  .bl_zeh_ttl_wrapper {
    padding-top: 12.0481927711vw;
    /* ===== 背景ベース + ノイズ ===== */
    background-color: #e6e6e6;
    background-image: linear-gradient(rgba(230, 230, 230, 0.8117647059), rgba(230, 230, 230, 0.8117647059)), url(../images/new_top/noise.png);
    background-repeat: repeat;
    background-size: 100px auto;
    position: relative;
    /* 格子背景 */
  }
  .bl_zeh_ttl_wrapper::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    background-image: linear-gradient(to right, rgba(170, 170, 170, 0.25) 1px, transparent 1px), linear-gradient(to bottom, rgba(170, 170, 170, 0.25) 1px, transparent 1px);
    background-size: 16px 16px;
    opacity: 0.8;
  }
  .bl_zeh_ttl_wrapper > * {
    position: relative;
    z-index: 2;
  }
  .bl_about_fv_point_box {
    height: 62.6506024096vw;
    background: url(../images/new_top/1zeh_sp.webp);
    background-size: contain;
    margin-top: 12.0481927711vw;
  }
  .bl_about_fv_point_box .bl_about_fv_point {
    width: 80.7228915663vw;
    padding-top: 7.2289156627vw;
    margin: 0 auto;
  }
  .bl_about_fv_txt {
    width: 90.3614457831vw;
    margin: 8.4337349398vw auto 13.2530120482vw;
    font-size: 3.8554216867vw;
    line-height: 1.8;
  }
  .bl_four_about_wrapper {
    /* 背景ベース + ノイズ */
    background-color: #f4f4f4;
    background-image: linear-gradient(rgba(244, 244, 244, 0.8117647059), rgba(244, 244, 244, 0.8117647059)), url(../images/new_top/noise.png);
    background-repeat: repeat;
    background-size: 100px auto;
    padding: 9.6385542169vw 0 19.2771084337vw;
  }
  .bl_four_about_list {
    width: 90.3614457831vw;
    margin: 0 auto;
  }
  .bl_four_about_list li {
    background: #fff;
    height: 57.8313253012vw;
    margin-bottom: 4.8192771084vw;
    padding: 4.8192771084vw 4.8192771084vw 12.0481927711vw;
  }
  .bl_four_about_list li:nth-of-type(1) .bl_four_about_img {
    width: 14.6987951807vw;
    height: 14.6987951807vw;
  }
  .bl_four_about_list li:nth-of-type(2) .bl_four_about_img {
    width: 17.3493975904vw;
    height: 11.3253012048vw;
  }
  .bl_four_about_list li:nth-of-type(3) .bl_four_about_img {
    width: 12.2891566265vw;
    height: 15.9036144578vw;
  }
  .bl_four_about_list li:nth-of-type(4) .bl_four_about_img {
    width: 14.6987951807vw;
    height: 13.2530120482vw;
  }
  .bl_four_about_list .bl_four_about_subTtl {
    color: #0AB69A;
    margin-left: 7.2289156627vw;
    font-size: 5.5421686747vw;
    font-weight: 700;
  }
  .bl_four_about_list .bl_four_about_txt {
    line-height: 1.8;
    font-size: 3.8554216867vw;
  }
  .bl_table_about_wrapper {
    width: 90.3614457831vw;
    margin: 9.6385542169vw auto 0;
    overflow-x: auto;
  }
  .bl_table_about_ttl {
    font-size: 6.7469879518vw;
    text-align: center;
    color: #030303;
    font-weight: 700;
  }
  /* 表本体 */
  .table-about {
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    border-collapse: collapse;
    background: #fff;
    table-layout: fixed;
    text-align: center;
    border: 1px solid #ddd;
    font-family: sans-serif;
  }
  /* セル共通 */
  .table-about th,
  .table-about td {
    padding: 4.8192771084vw 2.4096385542vw;
    border: 1px solid #ddd;
    font-size: 4.3373493976vw;
    color: #030303;
    text-align: center;
  }
  /* 上段ヘッダー */
  .table-about thead th {
    background: #f3f3f3;
  }
  /* 左側の年度欄 */
  .table-about tbody th {
    background: #f7f7f7;
    font-weight: bold;
    white-space: nowrap;
  }
  .bl_table_about_txt {
    font-size: 3.8554216867vw;
    line-height: 1.8;
    margin-top: 7.2289156627vw;
  }
}
