@charset "UTF-8";
.section__inner {
  margin: 60px auto;
  padding: 0;
}

.section__inner-box {
  margin: 30px auto 0;
  padding: 0;
}

.section__inner-box-sec {
  background: #FFFAE2;
  border-radius: 15px;
  text-align: center;
  padding: 20px 0;
}

.section__inner-header {
  padding: 30px 30px 10px;
  background: #FCCF00;
  border-radius: 10px 10px 0 0;
}

.c-section__title {
  font-size: clamp(1.1875rem, 0.9746588694vw + 0.7202729045rem, 1.5rem);
  font-weight: 700;
  margin-bottom: 1em;
}

.section__inner-title {
  font-size: clamp(1.25rem, 1.9493177388vw + 0.315545809rem, 1.875rem);
  font-weight: 700;
}

.c-section__head-title-sub {
  font-size: clamp(1.1875rem, 1.3645224172vw + 0.5333820663rem, 1.625rem);
  font-weight: 700;
  display: flex;
  align-items: center;
  margin: 0 0 1em;
  color: #141414;
  line-height: 1;
}
.c-section__head-title-sub::before {
  content: "";
  display: inline-block;
  width: 23px;
  height: 4px;
  background-image: url("data:image/svg+xml,%3Csvg width='23' height='4' viewBox='0 0 23 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.5 2.46777C14.8486 2.71183 21.5 1.50024 21.5 1.50024' stroke='%23FCCF00' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 23px 4px;
  margin: 0 10px 0 0;
}

.c-section__card--link:hover .c-section__card-pic,
.c-section__card--link.more-link:hover .c-section__card-content,
.more-link:hover {
  background: #f0f0f0;
  text-decoration: none;
}

.section__inner-wrapper {
  max-width: 1280px;
  margin: 0 auto;
}

.section__inner-wrapper-sub {
  max-width: 1280px;
  margin: 0 auto;
  background: #FFFAE2;
  padding: 40px;
  border-radius: 20px;
}
.section__inner-wrapper-sub .c-section--flex {
  gap: 40px;
}
.section__inner-wrapper-sub {
  border-bottom: none;
}

.border-none {
  border: none;
}

.c-section__head-text {
  font-size: clamp(1rem, 0.7797270955vw + 0.6262183236rem, 1.25rem);
  font-weight: 700;
  margin-bottom: 1.5em;
}

.c-section__com-wrapper {
  border: 1px solid #C7C7C7;
  border-radius: 20px;
  padding: 40px;
}
.c-section__com-wrapper .c-section--flex {
  gap: 40px;
}

.c-section__subheading {
  font-size: clamp(0.9375rem, 0.9746588694vw + 0.4702729045rem, 1.25rem);
  line-height: 1.4;
  display: inline-block;
  margin: 0 0 10px;
}
.c-section__subheading::before {
  content: "";
  width: 18px;
  height: 18px;
  position: relative;
  top: auto;
  left: auto;
  display: inline-block;
  background: #333333;
  border-radius: 50%;
  margin: 0 5px -2px 0;
  padding: 0 0 0 5px;
}

.link-title {
  font-size: clamp(0.9375rem, 0.5847953216vw + 0.6571637427rem, 1.125rem);
  line-height: 1.4;
  display: inline-block;
  margin: 0 0 10px;
}
.link-title::before {
  content: "";
  width: 10px;
  height: 10px;
  position: relative;
  top: auto;
  left: auto;
  display: inline-block;
  background: #FCCF00;
  border-radius: 50%;
  margin: 0 5px 0 0;
  padding: 0 0 0 5px;
}

.c-section__card--link-bottom:hover {
  background: #f0f0f0;
  text-decoration: none;
}

.c-section__card--link-bottom {
  position: relative;
  display: block;
  padding: 40px 20px;
  border: 1px solid #C7C7C7;
  margin: 1em 0 0;
  border-radius: 20px;
}
.c-section__card--link-bottom::after {
  content: "";
  position: absolute;
  right: 10px;
  bottom: 0;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.37798 8.59906C3.2052 8.69759 3.07863 8.86073 3.02612 9.05257C2.97361 9.24442 2.99946 9.44927 3.09798 9.62206C4.39498 11.8911 6.05198 13.0131 7.80798 13.5431C9.36098 14.0111 10.974 14.0061 12.351 14.0001L12.751 14.0001L18.439 14.0001L14.719 17.7201C14.6474 17.7893 14.5903 17.8721 14.551 17.9636C14.5118 18.0551 14.4911 18.1535 14.4903 18.2531C14.4895 18.3527 14.5085 18.4515 14.5463 18.5436C14.584 18.6358 14.6397 18.7195 14.7102 18.7899C14.7806 18.8602 14.8644 18.9159 14.9566 18.9536C15.0488 18.9912 15.1476 19.0102 15.2471 19.0092C15.3467 19.0083 15.4451 18.9876 15.5366 18.9482C15.6281 18.9089 15.7108 18.8517 15.78 18.7801L20.78 13.7801C20.9204 13.6394 20.9993 13.4488 20.9993 13.2501C20.9993 13.0513 20.9204 12.8607 20.78 12.7201L15.78 7.72006C15.6378 7.58758 15.4498 7.51546 15.2555 7.51889C15.0612 7.52231 14.8758 7.60103 14.7384 7.73844C14.6009 7.87585 14.5222 8.06124 14.5188 8.25554C14.5154 8.44984 14.5875 8.63789 14.72 8.78006L18.44 12.5001L12.37 12.5001C10.959 12.5041 9.56798 12.5071 8.24198 12.1071C6.84798 11.6871 5.50498 10.8091 4.40198 8.87706C4.35303 8.79154 4.2877 8.71651 4.20973 8.65625C4.13176 8.59599 4.04269 8.55169 3.94759 8.52587C3.85249 8.50005 3.75324 8.49323 3.6555 8.50579C3.55777 8.51834 3.46346 8.55004 3.37798 8.59906Z' fill='%23333333'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: transform 0.2s ease;
}

.c-section--flex--wrap {
  position: relative;
}

.c-section--flex--wrap::before {
  content: "";
  position: absolute;
  top: 18px; /* 見出し(h2)の縦中央付近に配置 */
  left: 16%; /* 1カラム目の中央付近からスタート */
  right: 16%; /* 3カラム目の中央付近でストップ */
  height: 2px;
  /* 課題（グレー）から施策（黄色）へのグラデーションを再現 */
  background: linear-gradient(90deg, #d4d4d4 0%, #fbdc00 20%, #fbdc00 100%);
  z-index: 1;
}

.c-section--3-1col {
  flex: 1;
  position: relative;
  z-index: 2; /* 背景の線より前面に配置する */
}

.c-section__title-line {
  display: block;
  margin: 0 auto 30px;
  width: fit-content;
  padding: 10px 1.5em;
  background-color: #fff; /* 背景の線を隠すために白背景を設定 */
  border-radius: 50px;
  text-align: center;
  line-height: 1;
  font-size: clamp(1.0625rem, 0.5847953216vw + 0.7821637427rem, 1.25rem);
}

.c-section--3-1col:nth-child(1) .c-section__title-line {
  border: 1px solid #a3a3a3;
  color: #333;
}

.c-section--3-1col:nth-child(n+2) .c-section__title-line {
  border: 1px solid #fbdc00;
  color: #333;
}

.c-section__text {
  font-size: clamp(1rem, 0.7797270955vw + 0.6262183236rem, 1.25rem);
}

.c-section__text-middle {
  font-size: clamp(1rem, 0.3898635478vw + 0.8131091618rem, 1.125rem);
  line-height: 1.8;
}

/* --- テキスト（リスト） --- */
.c-section__list {
  list-style-type: disc;
  padding: 0 0 0 1.5em;
  margin: 0;
  font-size: clamp(1rem, 0.3898635478vw + 0.8131091618rem, 1.125rem);
}

.c-section__definition-list {
  display: flex;
  flex-wrap: wrap;
  margin: 1em 0 0 0;
}

.c-section__definition-list-term {
  width: 5.5em;
  margin: 0.5em 0;
}
.c-section__definition-list-term::after {
  content: "：";
  margin-right: 0.5em;
}

.c-section__definition-list-description {
  width: calc(100% - 5.5em);
  margin: 0.5em 0;
}

.c-section.c-section__wrapper.c-section__wrapper--max .c-section__note-text-title {
  padding: 0;
}

.c-section__header .c-section__text {
  font-size: clamp(0.9375rem, 0.1949317739vw + 0.8440545809rem, 1rem);
}

@media (max-width: 767px) {
  .section__inner {
    padding: 1.5% 0;
    margin: 15px 0;
  }
  .section__inner-box-sec {
    padding: 1.5%;
  }
  .button__contact {
    display: block;
  }
  .c-section__card--link-bottom:hover {
    background: none;
  }
  .c-section__title-line {
    width: 100%;
    margin: 1em 0 0.5em;
  }
  .c-section__com-wrapper {
    padding: 15px;
  }
  .section__inner-wrapper.section__inner-wrapper-sub .c-section--img,
  .section__inner-wrapper.c-section__com-wrapper .c-section--img {
    width: 60%;
    height: auto;
    display: block;
    margin: 0 auto 15px;
  }
  .c-section--flex--wrap::before {
    transform: rotate(90deg);
    top: 52%;
    left: 11%;
    right: 11%;
    width: 77%;
  }
  .c-section--3-1col:nth-child(1) {
    border: 2px solid #a3a3a3;
    border-radius: 15px;
    padding: 0 10px 10px;
    margin-bottom: 20px;
    background: #ffffff;
  }
  .c-section--3-1col:nth-child(1) .c-section__title-line {
    border: none;
    color: #333;
  }
  .c-section--3-1col:nth-child(n+2) {
    border: 2px solid #fbdc00;
    border-radius: 15px;
    padding: 0 10px 10px;
    margin-bottom: 20px;
    background: #ffffff;
  }
  .c-section--3-1col:nth-child(n+2) .c-section__title-line {
    border: none;
    color: #333;
  }
}