:root {
   --kodomo-nisa-main: #09C7C2;
}

.kodomo-nisa_indent-3 {
   display: block;
   text-indent: -3em;
   padding-left: 3em;
}

.nisa-index_mv {
   background: url(/img/service/nisa/kodomo-nisa/pageheader_bg.jpg);
}

.nisa-index_mv_container {
   align-items: center;
}
@media only screen and (max-width: 768px) {
  .nisa-index_mv_container {
    height: calc(530 / 768 * 100vw);
  }
}

@media only screen and (min-width: 769px) {
  .nisa-index_mv_container::before {
    height: 120%;
  }
}
@media only screen and (max-width: 768px) {
  .nisa-index_mv_container::before {
    height: calc(480 / 768 * 100vw);
    border-radius: 50%;
    top: 20%;
    left: 50%;
    transform: translate(-50%, -30%);
    width: calc(708 / 768 * 100vw);

  }
}

@media only screen and (min-width: 769px) {
  .nisa-index_mv_title {
   margin-top: -50px;
  }
}
@media only screen and (max-width: 768px) {
  .nisa-index_mv_title {
    padding-top: calc(30 / 768 * 100vw);
  }
}

.nisa-index_mv_title_image {
   width: auto;
}

@media (900px < width) {
  .nisa-index_mv_character01 {
    left: 40px;
    bottom: 50px;
  }
}
@media (769px <= width <= 900px) {
  .nisa-index_mv_character01 {
    left: 5px;
    bottom: 50px;
  }
}
@media (width <= 768px) {
  .nisa-index_mv_character01 {
    left: calc(-25 / 768 * 100vw);
    bottom: 0;
    width: calc(200 / 768 * 100vw);
  }
}

.nisa-index_mv_character02 {
  z-index: 1;
}
@media (900px < width) {
  .nisa-index_mv_character02 {
    right: 40px;
    bottom: 50px;
  }
}
@media (769px <= width <= 900px) {
  .nisa-index_mv_character02 {
    right: 5px;
    bottom: 50px;
  }
}
@media (width <= 768px) {
  .nisa-index_mv_character02 {
    right: calc(-20 / 768 * 100vw);
    bottom: 0;
    width: calc(200 / 768 * 100vw);
  }
}


.kodomo-nisa_mv_lead {
   --notch: 12px; /* 切り込みの深さ */
   background-color: var(--kodomo-nisa-main);
   padding-block: 5px;
   padding-inline: 45px; /* 元の30px＋はみ出し15px分 */
   margin-top: 25px;
   display: flex;
   justify-content: center;
   align-items: center;
   clip-path: polygon(
      0 0, 100% 0,
      calc(100% - var(--notch)) 50%,
      100% 100%, 0 100%,
      var(--notch) 50%
   );
   @media only screen and (max-width: 768px) {
      --notch: calc(12 / 768 * 100vw);
      padding-block: calc(5 / 768 * 100vw);
      padding-inline: calc(45 / 768 * 100vw);
      max-width: calc(356 / 768 * 100vw);
      width: 100%;
      margin-inline: auto;
      margin-top: calc(32 / 768 * 100vw);
   }
}

.kodomo-nisa_mv_lead p {
   font-size: 28px;
   font-weight: bold;
   color: #fff;
   margin-top: 0px;
   @media only screen and (max-width: 768px) {
      font-size: calc(28 / 768 * 100vw);
   }
}

.kodomo-nisa_mv_lead span {
   font-size: calc(20 / 28 * 1em);
}

.nisa-index_about {
   @media only screen and (max-width: 768px) {
      overflow: hidden;
      z-index: 0;
   }
}

.nisa-index_about::before {
   @media only screen and (max-width: 768px) {
      content: none;
   }
}

.nisa-index_about_heading {
   @media only screen and (max-width: 768px) {
      margin-top: calc(80 / 768 * 100vw);
   }
}

.nisa-index_about_merit_heading {
   width: 430px;
   @media only screen and (max-width: 768px) {
      max-width: 630px;
      width: 100%;
   }
}

.nisa-index_about_merit_item {
   position: relative;
   padding-top: 32px;
   padding-inline: 22px;
   @media only screen and (max-width: 768px) {
      border-radius: calc(16 / 768 * 100vw);
   }
}

.nisa-index_about_merit_item:last-child::after {
   @media only screen and (max-width: 768px) {
      content: '';
      background-color: #F6F6F6;
      position: absolute;
      bottom: 50%;
      left: 50%;
      transform: translateX(-50%);
      width: 100vw;
      height: 9999px;
      z-index: -1;
   }
}

.nisa-index_about_merit_item::before {
   width: 80px;
   height: 6px;
   border-radius: 0 0 6px 6px;
   background-color: var(--kodomo-nisa-main);
   content: '';
   position: absolute;
   top: 0;
   left: 50%;
   transform: translateX(-50%);
}

.nisa-index_about_merit_text {
   font-size: 24px;
}

.nisa-index_about_merit_text_sub {
   font-size: 18px;
   font-weight: normal;
   text-align: left;
   margin-top: 20px;
}

.nisa-index_about_merit_text_sub_em {
   color: var(--kodomo-nisa-main);
}

.nisa-index_about_merit_em {
   color: var(--kodomo-nisa-main);
}

#anchor-overview {
   padding-top: 80px;
   margin-top: -50px;
   @media only screen and (max-width: 768px) {
      padding-top: calc(80 / 768 * 100vw);
      margin-top: calc(-60 / 768 * 100vw);
   }
}

.nisa-index_topHeading {
   @media only screen and (max-width: 768px) {
      font-size: calc(44 / 768 * 100vw);
   }
}

.kodomo-nisa_lead {
   line-height: 1.8;
   text-align: center;
   @media only screen and (max-width: 768px) {
      text-align: left;
   }
}

#anchor-difference {
   padding-top: 80px;
   @media only screen and (max-width: 768px) {
      padding-top: calc(80 / 768 * 100vw);
   }
}

@media only screen and (max-width: 768px) {
  .nisa-index_pagelink_list {
    transform: translateY(calc(-30 / 768 * 100vw));
  }
}

@media only screen and (min-width: 769px) {
  .nisa-index_pagelink_item {
    width: calc(100% / 5);
  }
}
@media only screen and (max-width: 768px) {
  /* 1つ目は横幅いっぱい、2つ目以降は2カラム */
  .nisa-index_pagelink_item:first-child {
    width: 100%;
  }
  /* 縦の区切り線：偶数番目 → 3・5番目（右列）に付け替え */
  .nisa-index_pagelink_item:nth-child(even)::before {
    content: none;
  }
  .nisa-index_pagelink_item:nth-child(odd):not(:first-child)::before {
    position: absolute;
    content: '';
    border-left: 1px solid #CECECE;
    left: 0;
    top: 50%;
    height: 70%;
    transform: translateY(-50%);
    width: 1px;
  }
  /* 横の区切り線：2つ目は2段目になるので線を戻す */
  .nisa-index_pagelink_item:nth-child(2)::after {
    border-top: 1px solid #CECECE;
  }
}

.kodomo-nisa_changes_container {
   display: flex;
   flex-direction: column;
   gap: 20px;
}

.kodomo-nisa_changes_item {
   border-radius: 16px;
   background-color: #F6F6F6;
   @media only screen and (max-width: 768px) {
      border-radius: calc(16 / 768 * 100vw);
   }
}

.kodomo-nisa_changes_item_inner {
   position: relative;
   display: flex;
   padding: 8px;
   min-height: 170px;
   @media only screen and (max-width: 768px) {
      flex-direction: column;
   }
}

.kodomo-nisa_changes_item_number {
   position: absolute;
   top: 0;
   left: 16px;
   line-height: 1.7;
   font-size: 56px;
   font-weight: 900;
   color: #ffffff;
   @media only screen and (max-width: 768px) {
      font-size: calc(80 / 768 * 100vw);
   }
}

.kodomo-nisa_changes_item_text {
   text-align: center;
   font-weight: bold;
   line-height: 1.4;
   font-size: 22px;
   max-width: 300px;
   width: 100%;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   z-index: 1;
   @media only screen and (max-width: 768px) {
      font-size: calc(34 / 768 * 100vw);
      max-width: 100%;
      min-height: calc(185 / 768 * 100vw);
   }
}

.kodomo-nisa_changes_item_text_em {
   color: #FF6472;
}

.kodomo-nisa_changes_body {
   display: flex;
   justify-content: center;
   flex-direction: column;
   flex: 1;
   font-size: 18px;
   line-height: 1.4;
   background-color: #ffffff;
   border-radius: 0 8px 8px 0;
   padding: 24px;
   @media only screen and (max-width: 768px) {
      font-size: calc(28 / 768 * 100vw);
      padding: calc(40 / 768 * 100vw);
      border-radius: 0 0 calc(8 / 768 * 100vw) calc(8 / 768 * 100vw);
   }
}

.kodomo-nisa_changes_body > * + * {
   margin-top: 8px;
   @media only screen and (max-width: 768px) {
      margin-top: calc(24 / 768 * 100vw);
   }
}

.kodomo-nisa_changes_list_item {
   list-style-type: disc;
   margin-left: 1.2em;
}

.kodomo-nisa_changes_list_item::marker {
   color: #FF6472;
}

#anchor-faq {
   padding-top: 80px;
   @media only screen and (max-width: 768px) {
      padding-top: calc(80 / 768 * 100vw);
   }
}

.nisa-wideContainer {
   max-width: 940px;
   box-sizing: content-box;
   @media only screen and (min-width: 769px) {
      padding: 0 20px 80px;
   }
   @media only screen and (max-width: 768px) {
      padding: 0 calc(30 / 768 * 100vw) calc(40 / 768 * 100vw);
   }
}

#anchor-contact {
   background-color: #F6F6F6;
   padding-top: 56px;
   padding-bottom: 80px;
   @media only screen and (max-width: 768px) {
      padding-block: calc(60 / 768 * 100vw);
   }
}

.kodomo-nisa_contact_container {
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   padding-inline: 20px;
}

.kodomo-nisa_contact_heading {
   display: flex;
   justify-content: center;
   align-items: center;
   font-size: 22px;
   font-weight: bold;
   line-height: 1.4;
   color: #ffffff;
   width: 326px;
   padding: 8px;
   background-color: #FE6977;
   border-radius: 26px;
   margin-bottom: -20px;
   z-index: 1;
   @media only screen and (max-width: 768px) {
      font-size: calc(28 / 768 * 100vw);
      max-width: calc(400 / 768 * 100vw);
      width: 100%;
      border-radius: calc(30 / 768 * 100vw);
   }
}

.kodomo-nisa_contact_box {
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   background-color: #ffffff;
   border-radius: 78px;
   max-width: 860px;
   width: 100%;
   padding-top: 50px;
   padding-bottom: 32px;
   @media only screen and (max-width: 768px) {
      border-radius: calc(40 / 768 * 100vw);
      padding-top: calc(54 / 768 * 100vw);
      padding-bottom: calc(40 / 768 * 100vw);
   }
}

.kodomo-nisa_contact_text {
   text-align: center;
   line-height: 1.8;
   font-size: 16px;
   @media only screen and (max-width: 768px) {
      font-size: calc(28 / 768 * 100vw);
   }   
}

.kodomo-nisa_backtop {
   position: fixed;
   z-index: 30;
   right: 56px;
   bottom: calc(56px + 64px + 16px);
   padding: 20px 20px 18px 20px;
   font-size: 17px;
   color: #000;
   line-height: 1.7;
   text-decoration: none;
   background-color: #ffffff;
   border: 2px solid var(--kodomo-nisa-main);
   border-radius: 8px;
   box-shadow: 8px 8px 8px rgba(0, 0, 0, 0.16);
   @media only screen and (max-width: 768px) {
      right: calc((40 + 88 + 73) / 768 * 100vw);
      bottom: calc(40 / 768 * 100vw);
      padding: calc(26 / 768 * 100vw) calc(50 / 768 * 100vw) calc(32 / 768 * 100vw) calc(50 / 768 * 100vw);
      font-size: calc(28 / 768 * 100vw);
      border-radius: calc(16 / 768 * 100vw);
      box-shadow: calc(8 / 768 * 100vw) calc(8 / 768 * 100vw) calc(8 / 768 * 100vw) rgba(0, 0, 0, 0.16);
   }
}
.kodomo-nisa_backtop:hover {
   opacity: 0.7;
}

.kodomo-nisa_backtop_bold {
   position: relative;
   font-size: 20px;
   font-weight: bold;
   line-height: 1.5;
   color: #273553;
   @media only screen and (max-width: 768px) {
      font-size: calc(33 / 768 * 100vw);
   }
}

.kodomo-nisa_backtop_bold::after {
   position: absolute;
   content: '\f138';
   font-family: 'tt-icon';
   font-size: 26px;
   font-weight: normal;
   margin-left: 8px;
   color: var(--kodomo-nisa-main);
   top: 50%;
   transform: translateY(-50%);
   @media only screen and (max-width: 768px) {
      font-size: calc(42 / 768 * 100vw);
      margin-left: calc(8 / 768 * 100vw);
   }
}

.kodomo-nisa_backtop_em {
   background: linear-gradient(transparent 60%, #FAD739 60%, #FAD739 85%, transparent 85%, transparent 100%);
}

.kodomo-nisa_backtop_under-line {
   text-decoration: underline;
   text-decoration-thickness: 2px;
   text-underline-offset: 2px;
   @media only screen and (max-width: 768px) {
      text-decoration-thickness: calc(2 / 768 * 100vw);
      text-underline-offset: calc(2 / 768 * 100vw);
   }
}