@charset "UTF-8";
.kakko-open {
  margin-left: -0.5em;
}

.kakko-close {
  letter-spacing: -0.5em;
}

.hero {
  overflow: hidden;
  position: relative;
  height: 90vh;
  min-height: 750px;
}

.hero-svg {
  width: 1810px;
  max-width: 1810px;
  height: auto;
  position: absolute;
  bottom: 2%;
  right: 0;
  z-index: 0;
}

.hero-inner {
  position: absolute;
  top: 10%;
  left: 6.25%;
  z-index: 1;
}

.top-read {
  font-size: clamp(0.75rem, 3.1189083821vw + -0.7451267057rem, 1.75rem);
  font-weight: 700;
  z-index: 1;
  margin-bottom: 1em;
  letter-spacing: -0.05em;
}

.hero-read {
  font-size: clamp(2.125rem, 7.0175438596vw + -1.2390350877rem, 4.375rem);
  font-weight: 700;
  z-index: 1;
  margin-bottom: 1em;
}

.hero-msg {
  font-size: clamp(0.875rem, 1.3645224172vw + 0.2208820663rem, 1.3125rem);
  font-weight: 500;
  position: absolute;
  z-index: 1;
}

.draw-animation-light {
  position: absolute;
  top: 46.5%;
  left: 3.25%;
  width: 282px;
}

.draw-animation-light-ani {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}

.draw-animation-light--start {
  animation: draw01 0.5s ease-in-out forwards;
}

@keyframes draw01 {
  to {
    stroke-dashoffset: 0;
  }
}
.draw-animation {
  stroke-dasharray: 1;
  stroke-dashoffset: 1;
}

.draw-animation--start {
  animation: draw 2s ease-in-out forwards;
}

@keyframes draw {
  to {
    stroke-dashoffset: 0;
  }
}
.section__title {
  font-size: clamp(1.5rem, 0.7797270955vw + 1.1262183236rem, 1.75rem);
  font-weight: 700;
  margin: 0 0 30px;
}

.section__sub-title {
  font-size: clamp(0.875rem, 0.3898635478vw + 0.6881091618rem, 1rem);
  font-weight: 900;
  display: flex;
  align-items: center;
  margin: 0 0 10px;
  color: #666;
}
.section__sub-title::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 2px;
  background: #FCCF00;
  margin: 0 10px 0 0;
}

.section__small {
  width: 30%;
  padding: 0 6.25% 0 0;
}

.c-section__inner-flex.swiper {
  display: flex;
}

.splide__toggle {
  display: none;
}

@media (max-width: 1280px) {
  .draw-animation-light {
    width: 30%;
  }
  .top-read {
    z-index: 1;
  }
}
.section__inner-wrap {
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  background: #ffffff;
  border-radius: 15px;
  gap: 0;
}
.section__inner-item {
  list-style: none;
  width: calc(50% - 2px);
  padding: 20px 30px 30px 100px;
  background: url("../img/top/icon-01.svg") no-repeat;
  background-position: 30px 30px;
  background-size: 50px auto;
  border-right: 2px solid rgba(152, 152, 152, 0.15);
  border-bottom: 2px solid rgba(152, 152, 152, 0.15);
}
.section__inner-item--icon02 {
  background: url("../img/top/icon-02.svg") no-repeat;
  background-position: 30px 30px;
  background-size: 50px auto;
  border-right: none;
}
.section__inner-item--icon03 {
  background: url("../img/top/icon-03.svg") no-repeat;
  background-position: 30px 30px;
  background-size: 50px auto;
  border-bottom: none;
}
.section__inner-item--icon04 {
  background: url("../img/top/icon-04.svg") no-repeat;
  background-position: 30px 30px;
  background-size: 50px auto;
  border-right: none;
  border-bottom: none;
}
.section__inner-item--icon05 {
  padding: 13vw 0 0;
  text-align: center;
  background: url("../img/top/icon-05.svg") no-repeat;
  background-position: center top;
  background-size: 11.416vw auto;
}
.section__inner-item--icon06 {
  padding: 13vw 0 0;
  text-align: center;
  background: url("../img/top/icon-06.svg") no-repeat;
  background-position: center top;
  background-size: 11.416vw auto;
}
.section__inner-item--icon07 {
  padding: 13vw 0 0;
  text-align: center;
  background: url("../img/top/icon-07.svg") no-repeat;
  background-position: center top;
  background-size: 11.416vw auto;
}
.section__inner-title {
  font-size: clamp(1.375rem, 0vw + 1.375rem, 1.375rem);
  font-weight: 700;
  margin: 0 0 20px;
}
.section__inner-sub-title {
  font-size: clamp(0.9375rem, 0vw + 0.9375rem, 0.9375rem);
  font-weight: 700;
  margin: 0 0;
}
.section__inner-sub-title + .section__inner-text {
  margin: 30px 0 0;
}
.section__inner-text {
  font-size: clamp(0.8125rem, 0.3898635478vw + 0.6256091618rem, 0.9375rem);
  font-weight: 500;
  margin: 0;
}
.section__inner-column-rule {
  column-rule: 1px solid rgba(152, 152, 152, 0.15);
}
.section__inner-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.section__inner-item--issues {
  margin: 0 0 20px;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 20px;
}
.section__inner-item--issues-title {
  font-size: clamp(0.9375rem, 0.9746588694vw + 0.4702729045rem, 1.25rem);
  font-weight: 700;
  margin: 0;
  width: 50%;
}
.section__inner-item--issues-icon08 {
  margin: 0 0 20px;
  padding: 0;
  border-bottom: 1px solid #E6E6E6;
}
.section__inner-item--issues-icon08 .c-section__card--link-bottom {
  padding: 0 0 0 6vw;
  background: url("../img/top/icon-08.svg") no-repeat;
  background-position: left center;
  background-size: 5vw auto;
}
.section__inner-item--issues-icon09 {
  margin: 0 0 20px;
  padding: 0;
  border-bottom: 1px solid #E6E6E6;
}
.section__inner-item--issues-icon09 .c-section__card--link-bottom {
  padding: 0 0 0 6vw;
  background: url("../img/top/icon-09.svg") no-repeat;
  background-position: left center;
  background-size: 5vw auto;
}
.section__inner-item--issues-icon10 {
  margin: 0 0 20px;
  padding: 0;
  border-bottom: 1px solid #E6E6E6;
}
.section__inner-item--issues-icon10 .c-section__card--link-bottom {
  padding: 0 0 0 6vw;
  background: url("../img/top/icon-10.svg") no-repeat;
  background-position: left center;
  background-size: 5vw auto;
}
.section__inner-item--issues-icon11 {
  margin: 0 0 20px;
  padding: 0;
  border-bottom: 1px solid #E6E6E6;
}
.section__inner-item--issues-icon11 .c-section__card--link-bottom {
  padding: 0 0 0 6vw;
  background: url("../img/top/icon-11.svg") no-repeat;
  background-position: left center;
  background-size: 5vw auto;
}
.section__inner-issues {
  width: 50%;
}
.section__inner-issues-title {
  font-size: clamp(0.9375rem, 0.1949317739vw + 0.8440545809rem, 1rem);
  font-weight: 700;
  margin: 0 0 15px;
}
.section__inner-issues-tag {
  padding: 5px 10px 5px 1.8em;
  text-indent: -1.5em;
  font-weight: 700;
  font-size: clamp(0.8125rem, 0.3898635478vw + 0.6256091618rem, 0.9375rem);
  border-radius: 8px;
  line-height: 1.4;
  display: block;
  margin: 0 0;
}
.section__inner-issues-tag::before {
  content: "";
  width: 10px;
  height: 10px;
  display: inline-block;
  background: #FCCF00;
  border-radius: 50%;
  margin: 0 5px 0 0;
  padding: 0 0 0 5px;
}
.section__inner-news {
  padding: 20px 0 0;
  border-top: 1px solid #E6E6E6;
}
.section__inner-news-item {
  margin: 0 0 20px;
  padding: 0 0 20px;
  border-bottom: 1px solid #E6E6E6;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 20px;
}
.section__inner-efforts {
  padding: 30px 30px 30px 20vw;
  border: 1px solid #E6E6E6;
  border-radius: 15px;
  background: url("../img/top/icon-12.svg") no-repeat;
  background-position: 20px center;
  background-size: 15.476vw auto;
}
.section__inner-efforts h3 {
  font-size: clamp(1rem, 0.7797270955vw + 0.6262183236rem, 1.25rem);
  font-weight: 700;
  margin: 0 0 15px;
}
.section__inner-efforts p {
  font-size: clamp(0.875rem, 0.3898635478vw + 0.6881091618rem, 1rem);
  font-weight: 500;
  margin: 0 0 30px;
}
.section__inner-efforts ul {
  margin: 0;
  padding: 0;
}
.section__inner-efforts ul li {
  list-style: none;
  margin: 0 0 0;
  padding: 0 0 10px;
}
.section__inner-efforts ul li:last-child {
  padding: 0;
}
.section__inner-efforts ul li a {
  font-size: clamp(0.875rem, -0.7797270955vw + 1.2487816764rem, 0.625rem);
  font-weight: 500;
  display: inline-block;
  text-decoration: none;
  padding: 10px 20px;
  border: 1px solid #141414;
  border-radius: 15px;
  line-height: 1;
  background: linear-gradient(to right, #141414 0%, #141414 33.3%, #ffffff 66.6%, #ffffff 100%);
  /* 背景サイズをボタンの3倍（300%）に設定 */
  background-size: 300% 100%;
  /* 初期状態は一番左（0%の位置＝開始の単色）を表示 */
  background-position: 100% 50%;
  transition: background-position 0.2s ease-in-out;
}
.section__inner-efforts ul li a:hover {
  text-decoration: none !important;
  background-position: 0% 50%;
  color: #ffffff;
}
.section__inner-efforts ul li a:hover::after {
  content: url("data:image/svg+xml,%3Csvg width='18' height='12' viewBox='0 0 18 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.378469 1.08026C0.205685 1.17879 0.0791179 1.34193 0.0266083 1.53377C-0.0259014 1.72562 -5.24304e-05 1.93047 0.0984691 2.10326C1.39547 4.37226 3.05247 5.49426 4.80847 6.02426C6.36147 6.49226 7.97447 6.48726 9.35147 6.48226L9.75147 6.48126L15.4395 6.48126L11.7195 10.2013C11.6479 10.2705 11.5908 10.3533 11.5515 10.4448C11.5122 10.5363 11.4916 10.6347 11.4908 10.7343C11.49 10.8339 11.509 10.9327 11.5467 11.0248C11.5845 11.117 11.6402 11.2007 11.7107 11.2711C11.7811 11.3414 11.8649 11.3971 11.9571 11.4348C12.0493 11.4724 12.148 11.4914 12.2476 11.4904C12.3472 11.4895 12.4456 11.4688 12.5371 11.4294C12.6286 11.3901 12.7113 11.3329 12.7805 11.2613L17.7805 6.26126C17.9209 6.12063 17.9998 5.93001 17.9998 5.73126C17.9998 5.53251 17.9209 5.34189 17.7805 5.20126L12.7805 0.20126C12.6383 0.0687803 12.4502 -0.00334222 12.2559 8.62486e-05C12.0616 0.00351472 11.8763 0.0822262 11.7388 0.219639C11.6014 0.357052 11.5227 0.542438 11.5193 0.736739C11.5159 0.931039 11.588 1.11909 11.7205 1.26126L15.4405 4.98126L9.37047 4.98126C7.95947 4.98526 6.56847 4.98826 5.24247 4.58826C3.84847 4.16826 2.50547 3.29026 1.40247 1.35826C1.35351 1.27274 1.28819 1.19771 1.21022 1.13745C1.13225 1.07719 1.04317 1.03289 0.948076 1.00707C0.852978 0.981252 0.753725 0.974426 0.655989 0.986985C0.558253 0.999544 0.46395 1.03124 0.378469 1.08026Z' fill='%23ffffff'/%3E%3C/svg%3E");
}
.section__inner-efforts ul li a::after {
  content: url("data:image/svg+xml,%3Csvg width='18' height='12' viewBox='0 0 18 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.378469 1.08026C0.205685 1.17879 0.0791179 1.34193 0.0266083 1.53377C-0.0259014 1.72562 -5.24304e-05 1.93047 0.0984691 2.10326C1.39547 4.37226 3.05247 5.49426 4.80847 6.02426C6.36147 6.49226 7.97447 6.48726 9.35147 6.48226L9.75147 6.48126L15.4395 6.48126L11.7195 10.2013C11.6479 10.2705 11.5908 10.3533 11.5515 10.4448C11.5122 10.5363 11.4916 10.6347 11.4908 10.7343C11.49 10.8339 11.509 10.9327 11.5467 11.0248C11.5845 11.117 11.6402 11.2007 11.7107 11.2711C11.7811 11.3414 11.8649 11.3971 11.9571 11.4348C12.0493 11.4724 12.148 11.4914 12.2476 11.4904C12.3472 11.4895 12.4456 11.4688 12.5371 11.4294C12.6286 11.3901 12.7113 11.3329 12.7805 11.2613L17.7805 6.26126C17.9209 6.12063 17.9998 5.93001 17.9998 5.73126C17.9998 5.53251 17.9209 5.34189 17.7805 5.20126L12.7805 0.20126C12.6383 0.0687803 12.4502 -0.00334222 12.2559 8.62486e-05C12.0616 0.00351472 11.8763 0.0822262 11.7388 0.219639C11.6014 0.357052 11.5227 0.542438 11.5193 0.736739C11.5159 0.931039 11.588 1.11909 11.7205 1.26126L15.4405 4.98126L9.37047 4.98126C7.95947 4.98526 6.56847 4.98826 5.24247 4.58826C3.84847 4.16826 2.50547 3.29026 1.40247 1.35826C1.35351 1.27274 1.28819 1.19771 1.21022 1.13745C1.13225 1.07719 1.04317 1.03289 0.948076 1.00707C0.852978 0.981252 0.753725 0.974426 0.655989 0.986985C0.558253 0.999544 0.46395 1.03124 0.378469 1.08026Z' fill='%23141414'/%3E%3C/svg%3E");
  width: 18px;
  height: 12px;
  display: inline-block;
  vertical-align: bottom;
  margin: 0 0 0 5px;
}

.c-section__card--link-bottom {
  position: relative;
  display: flex;
}
.c-section__card--link-bottom::after {
  content: "";
  position: absolute;
  right: 10px;
  bottom: 0.5em;
  transform: translateY(-50%);
}

.c-section__card-wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
}

.section__card--text-tag-list {
  padding: 0;
  margin: 0;
  list-style: none;
}

.section__card--text-tag-item {
  font-size: clamp(0.8125rem, 0.3898635478vw + 0.6256091618rem, 0.9375rem);
  font-weight: 900;
  display: flex;
  align-items: center;
  margin: 0 0 0.5em;
  line-height: 1;
  font-weight: 500;
  padding: 0 0 0 0.5em;
}
.section__card--text-tag-item::before {
  content: "";
  position: relative;
  top: auto;
  left: auto;
  display: inline-block;
  width: 8px;
  height: 2px;
  background: #C7C7C7;
  margin: 0 10px 0 0;
}

.news-toggle-btn {
  background: #ffffff;
  border-radius: 25px;
  padding: 0.5% 1%;
  color: #141414;
  font-size: clamp(0.875rem, 0.1949317739vw + 0.7815545809rem, 0.9375rem);
  border: 1px solid #141414;
  display: block;
  margin: -35px auto 0;
}

button.swiper-toggle-btn {
  display: none;
}

.svg-bg-wrap {
  position: relative;
}

.svg-bg-container {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -50%); /* 中央に配置 */
  width: 100%;
  min-width: 1200px; /* 線が細かくなりすぎないように最低幅を設定 */
  z-index: -1; /* テキストの後ろに配置 */
  pointer-events: none; /* SVGがクリック等の邪魔をしないようにする */
}

.svg-bg-wrap-issue {
  top: 8%;
}

.svg-bg-container-issue {
  top: 22vw;
}

.svg-bg-container svg {
  width: 100%;
  height: auto;
  display: block;
}

#animated-path {
  stroke-dasharray: 0;
  stroke-dashoffset: 0;
}

@media (max-width: 1350px) {
  .c-section__card--link-bottom::after {
    right: -25px;
  }
}
@media (max-width: 1024px) {
  .hero {
    height: 600px;
    min-height: 600px;
  }
  .hero-svg {
    width: 150%;
    bottom: -2%;
    right: -2%;
  }
  .draw-animation-light {
    top: 35%;
    width: 40%;
    left: 4%;
  }
  .section__inner-item {
    width: 100%;
    list-style: none;
    padding: 4%;
    background-position: right 20px top 10px;
    background-size: 40px auto;
    border-bottom: 1px solid rgba(152, 152, 152, 0.15);
    border-right: none;
  }
  .section__inner-item:last-child {
    border-bottom: none;
  }
  .section__inner-item--issues {
    display: block;
  }
  .section__inner-item--issues-title {
    width: 100%;
  }
  .section__inner-issues {
    width: 100%;
  }
  .section__inner-item--issues-icon08 .c-section__card--link-bottom,
  .section__inner-item--issues-icon09 .c-section__card--link-bottom,
  .section__inner-item--issues-icon10 .c-section__card--link-bottom,
  .section__inner-item--issues-icon11 .c-section__card--link-bottom {
    padding: 0 0 15px 60px;
    background-position: left top;
    background-size: 50px auto;
    margin: 0 0 15px;
  }
}
@media (max-width: 900px) {
  .draw-animation-light {
    width: 40%;
    left: 6%;
  }
}
@media (max-width: 767px) {
  .hero-inner {
    left: 15px;
    width: calc(100% - 30px);
  }
  .top-read {
    z-index: 1;
  }
  .hero-msg {
    width: 74.86%;
    margin: 0;
  }
  .hero-read {
    line-height: 1.7;
  }
  .hero {
    min-height: 425px;
    height: 70vh;
  }
  .svg-bg-container {
    top: 50%;
    left: 20%;
  }
  .draw-animation-light {
    top: 32%;
    width: 135px;
    left: 2.5%;
    z-index: -1;
  }
  .hero-svg {
    width: 238%;
    bottom: -2%;
    right: -30%;
  }
  .section__sub-title {
    margin: 0 0 5px;
  }
  .section__title {
    margin: 0 0 20px;
  }
  .section__title + p {
    margin: 0 0 30px;
  }
  .section__inner-wrap {
    display: block;
  }
  .section__inner-title {
    margin: 0 0 10px;
  }
  .section__inner-sub-title + .section__inner-text {
    margin: 10px 0 0;
  }
  .svg-bg-container svg {
    width: 80%;
  }
  .svg-bg-container-issue {
    left: 120%;
    top: 55vw;
  }
  .section__inner-news-item,
  .section__inner-news-item a {
    display: block;
  }
  .section__inner-efforts {
    padding: 50vw 5% 5%;
    background-position: top 10px center;
    background-size: 45.476vw auto;
  }
  .section__inner-efforts h3 {
    margin: 0 0 10px;
  }
  .c-section__inner-flex.swiper {
    display: block;
  }
  .c-section__inner-flex.splide__list {
    gap: 0;
    padding: 0 0 10%;
  }
  .section__inner-column-rule {
    column-rule: none;
  }
  .splide__pagination__page.is-active {
    background: #4d4d4d !important;
  }
  .splide__pagination {
    bottom: -1.5em !important;
  }
  button.splide__toggle {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: -39px;
    left: 30vw;
    z-index: 20;
  }
  .splide__toggle {
    background: rgba(0, 0, 0, 0.6);
    border: none;
    border-radius: 15px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #4d4d4d;
    cursor: pointer;
    padding: 0;
  }
  /* アイコン（SVG）のサイズと中央配置 */
  .splide__toggle svg {
    width: 20px;
    height: 20px;
    display: block;
    margin: 0 auto;
  }
  /* ホバー時の装飾（任意） */
  .splide__track {
    overflow: visible !important;
  }
  .splide__toggle.is-active .splide__toggle__pause {
    display: inline-block !important;
    width: 20px !important;
  }
  .splide__arrows.splide__arrows--ltr .splide__arrow {
    background: #141414;
    border-radius: 15px;
    width: 2em;
    height: 1.5em;
  }
  .splide__arrows.splide__arrows--ltr .splide__arrow--prev {
    left: 20%;
    top: 106%;
  }
  .splide__arrows.splide__arrows--ltr .splide__arrow--next {
    right: 20%;
    top: 106%;
  }
  .splide__arrows.splide__arrows--ltr .splide__arrow svg {
    fill: #fff;
    height: 0.7em;
    width: 0.7em;
  }
  .c-section__card--link-bottom::after {
    display: none;
  }
  .section__inner-issues-tag::after {
    content: ">";
    margin-left: 0.8em;
    font-weight: 500;
  }
  .section__inner-item--icon05 {
    padding: 50vw 0 0;
    background-size: 48.416vw auto;
  }
  .section__inner-item--icon06 {
    padding: 50vw 0 0;
    background-size: 48.416vw auto;
  }
  .section__inner-item--icon07 {
    padding: 50vw 0 0;
    background-size: 48.416vw auto;
  }
  .section__inner-news time {
    display: block;
  }
}
@media (max-width: 440px) {
  .draw-animation-light {
    width: 31.5%;
    left: 5%;
  }
}
@media (max-width: 430px) {
  .draw-animation-light {
    width: 33%;
    left: 5%;
  }
}
@media (max-width: 420px) {
  .draw-animation-light {
    width: 35%;
    left: 5%;
  }
}
@media (max-width: 400px) {
  .draw-animation-light {
    width: 36%;
    left: 5%;
  }
}
@media (max-width: 390px) {
  .draw-animation-light {
    width: 40%;
    left: 5%;
  }
}