main {
  overflow: hidden;
  margin-top: -5.5vw; }

.c-mv {
  aspect-ratio: 16/9;
  position: relative;
  width: 100%;
  height: auto;
  position: relative;
  z-index: 1; }
  .c-mv:before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1; }
  .c-mv .c-mv__container {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    position: relative;
    width: 100%;
    z-index: 1; }
    .c-mv .c-mv__container .c-mv__title {
      color: #fff;
      font-size: 32px;
      font-weight: 700;
      margin: 0; }
  .c-mv .c-mv__video {
    bottom: 0;
    height: 100%;
    left: 0;
    overflow: hidden;
    opacity: 1;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 1; }
  .c-mv .c-mv__mask {
    background-color: rgba(0, 0, 0, 0.2);
    position: absolute;
    left: 0;
    height: 100%;
    top: 0;
    width: 100%;
    z-index: 2; }

.section01 {
  padding-bottom: 18.2vw; }
  .section01:before {
    content: "";
    display: block;
    position: absolute;
    width: 115%;
    height: 18.2vw;
    background: url(../images/separate_bg07.png) no-repeat center bottom/100%;
    bottom: -2px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    margin: auto; }
  .section01 .bg-l01 {
    top: 720px;
    left: calc(-422px + 14vw); }
  .section01 .bg-r01 {
    top: 520px; }
  .section01 .bg-l03 {
    position: absolute;
    top: 25px;
    left: calc(-537px + 8.5vw);
    z-index: 1;
    pointer-events: none; }
  .section01 .bg-r03 {
    position: absolute;
    top: -40px;
    right: calc(-558px + 14vw);
    z-index: 1;
    pointer-events: none; }
  .section01 .cloud-l01 {
    position: absolute;
    max-width: 250px;
    bottom: 200px;
    left: calc(-768px + 51vw);
    z-index: 1;
    pointer-events: none;
    animation: cloud 4s ease-in-out infinite alternate-reverse; }
  .section01 .cloud-r01 {
    position: absolute;
    max-width: 192px;
    bottom: 270px;
    right: calc(-768px + 51vw);
    z-index: 1;
    pointer-events: none;
    animation: cloud 4s ease-in-out -2s infinite alternate-reverse; }
  .section01 .bird-l01 {
    position: absolute;
    top: 160px;
    left: calc(-174px + 30vw);
    z-index: 1;
    pointer-events: none;
    animation: animal 4s linear -2s infinite;
    /*@media (max-width: 767.9999px) {
      top: calc(2vw + 30px);
      left: 7vw;
      width: 14vw;
    }*/ }
  .section01 .bird-r01 {
    top: inherit;
    bottom: 210px;
    right: calc(-768px + 71vw); }
  .section01 .animal-l01 {
    position: absolute;
    bottom: 5px;
    left: 16%;
    z-index: 5;
    width: 6%;
    pointer-events: none;
    animation: animal 4s linear -1s infinite;
    /*@media (max-width: 767.9999px) {
      bottom: 9vw;
      left: 21vw;
      width: 13vw;
    }*/ }
  .section01 .animal-r01 {
    position: absolute;
    bottom: 8px;
    right: 7.2%;
    z-index: 5;
    width: 6.5%;
    pointer-events: none;
    animation: animal 4s linear infinite;
    /*@media (max-width: 767.9999px) {
      bottom: 9vw;
      right: 13vw;
      width: 17vw;
    }*/ }
  @media (min-width: 1921px) {
    .section01:before {
      height: max(19vw, 351px); } }

.section05 {
  background: #E2F3CC;
  position: relative;
  /*top: -5em;*/
  z-index: 1;
  padding-bottom: 19.3vw; }
  .section05:before {
    content: "";
    position: absolute;
    right: 0;
    left: 0;
    bottom: -2px;
    z-index: 1;
    display: block;
    width: 100%;
    height: 19.3vw;
    margin: auto;
    background: url(../images/separate_bg02.png) no-repeat center bottom/100%; }
  .section05 .bg-l03 {
    position: absolute;
    max-width: 263px;
    top: 7.5em;
    left: calc(-263px + 11vw);
    z-index: 1;
    pointer-events: none; }
  .section05 .bg-r03 {
    position: absolute;
    max-width: 614px;
    top: 1em;
    right: calc(-614px + 17.5vw);
    z-index: 1;
    pointer-events: none; }
  .section05 .bird-l01 {
    position: absolute;
    top: 4em;
    left: calc(-174px + 25vw);
    z-index: 1;
    pointer-events: none;
    animation: animal 4s linear -2s infinite; }
  .section05 .animal-l01 {
    position: absolute;
    bottom: 5px;
    left: 16%;
    z-index: 5;
    width: 6%;
    pointer-events: none;
    animation: animal 4s linear -1s infinite; }
  .section05 .animal-r01 {
    position: absolute;
    bottom: 8px;
    right: 7.2%;
    z-index: 5;
    width: 6.5%;
    pointer-events: none;
    animation: animal 4s linear infinite; }
  .section05 .vide-wrap {
    text-align: center;
    margin-top: -5vw; }
    .section05 .vide-wrap--box {
      aspect-ratio: 7/4;
      position: relative;
      width: 40%;
      height: auto;
      margin: 0 auto; }
      .section05 .vide-wrap--box iframe {
        width: 100%;
        height: 100%; }
    .section05 .vide-wrap h3 {
      font-size: clamp(40px, 2vw, 40px);
      font-family: "fot-tsukuardgothic-std", sans-serif;
      font-style: normal;
      font-weight: bold;
      letter-spacing: .1em;
      margin-top: 1em; }
    .section05 .vide-wrap p {
      line-height: 1.8;
      margin-top: .5em; }
  .section05 .section-inner {
    overflow: inherit;
    padding-bottom: 7.5em;
    margin-top: 7.5em;
    position: relative; }
    .section05 .section-inner:before {
      content: '';
      display: block;
      position: absolute;
      width: 60%;
      height: 100%;
      background: url("../images/separate_bg05-1.png") no-repeat center center/100% 100%;
      top: 55%;
      left: 50%;
      transform: translate(-50%, -50%);
      z-index: -1; }
    .section05 .section-inner--title {
      display: table;
      position: relative;
      margin: 0 auto; }
      .section05 .section-inner--title .section-title {
        max-width: 381px; }
      .section05 .section-inner--title .animal-l05 {
        position: absolute;
        max-width: 144px;
        top: -3em;
        left: -9em;
        pointer-events: none;
        animation: animal 4s linear -1s infinite; }
      .section05 .section-inner--title .ill05-1 {
        position: absolute;
        max-width: 66px;
        top: 1em;
        right: -5em;
        pointer-events: none;
        animation: animal 4s linear infinite; }
    .section05 .section-inner--wrap {
      width: 45%;
      max-width: 860px;
      margin: 0 auto;
      position: relative; }
      .section05 .section-inner--wrap .ill05-2 {
        position: absolute;
        bottom: -4vw;
        right: -1.5vw;
        width: 19.4%; }
      .section05 .section-inner--wrap--category {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-top: 5em;
        position: relative;
        z-index: 2; }
        .section05 .section-inner--wrap--category .image {
          width: 35%; }
        .section05 .section-inner--wrap--category--texts {
          width: 57.5%;
          color: #A37123; }
          .section05 .section-inner--wrap--category--texts h4 {
            display: flex;
            align-items: baseline;
            flex-wrap: wrap;
            font-size: clamp(38px, 2vw, 38px);
            font-weight: lighter;
            letter-spacing: .1em; }
            .section05 .section-inner--wrap--category--texts h4 span {
              font-size: clamp(20px, 1vw, 20px);
              font-family: "Poppins", sans-serif;
              font-weight: lighter;
              letter-spacing: .2em;
              margin-left: 1em; }
          .section05 .section-inner--wrap--category--texts p {
            color: #A37123;
            line-height: 1.8;
            letter-spacing: .1em;
            margin-top: 2em; }
          .section05 .section-inner--wrap--category--texts--sns {
            font-size: clamp(14px, 0.7vw, 14px);
            margin-top: 2em; }
            .section05 .section-inner--wrap--category--texts--sns ul {
              display: flex;
              align-items: center; }
              .section05 .section-inner--wrap--category--texts--sns ul li {
                width: 17%;
                max-width: 40px;
                margin-top: 1.5em; }
                .section05 .section-inner--wrap--category--texts--sns ul li:nth-of-type(n+2) {
                  margin-left: 8.5%; }

@media (max-width: 767.9999px) {
  .js-header-menu-button span {
    background-color: #16902E; }
  .js-header-menu-button .text {
    color: #16902E; }

  .c-mv {
    margin-top: 5em; }
    .c-mv:before {
      top: -5em; }

  .section01 {
    padding-bottom: 56vw; }
    .section01:before {
      width: 200vw;
      height: 56vw;
      left: 40%;
      background: url(../images/separate_bg07_sp.svg) no-repeat center bottom/100% !important; }
    .section01 .bg-r01 {
      max-width: 200px;
      top: 110vw;
      right: calc(-200px + 26vw); }
    .section01 .bg-l03 {
      max-width: 140px;
      top: 10vw;
      left: calc(-140px + 19vw); }
    .section01 .bg-r03 {
      max-width: 140px;
      top: 7.5vw;
      right: calc(-140px + 26vw); }
    .section01 .cloud-l01 {
      max-width: 77px;
      bottom: 35vw;
      left: calc(-77px + 15vw); }
    .section01 .cloud-r01 {
      max-width: 77px;
      bottom: 47.5vw;
      right: calc(-77px + 13vw); }
    .section01 .bird-l01 {
      max-width: 52px;
      top: 67.5vw;
      left: calc(-52px + 20vw); }
    .section01 .animal-l01,
    .section01 .animal-r01 {
      display: none; }

  .section05 {
    padding-bottom: 60vw; }
    .section05:before {
      height: 60vw;
      margin: auto;
      background-image: url("../images/separate_bg02_sp.png"); } }
    @media (max-width: 767.9999px) and (min-width: 1921px) {
      .section05:before:before {
        height: max(19vw, 351px); } }
@media (max-width: 767.9999px) {
    .section05 .bg-l03 {
      max-width: 206px;
      top: 105vw;
      left: calc(-206px + 37vw); }
    .section05 .bg-r03 {
      max-width: 275px;
      top: 110vw;
      right: calc(-275px + 32.5vw); }
    .section05 .animal-l01 {
      bottom: 9vw;
      left: 21vw;
      width: 13vw; }
    .section05 .animal-r01 {
      bottom: 9vw;
      right: 13vw;
      width: 17vw; }
    .section05 .vide-wrap {
      margin-top: 0; }
      .section05 .vide-wrap--box {
        width: 90%; }
      .section05 .vide-wrap h3 {
        font-size: clamp(26px, 3.7vw, 40px);
        line-height: 1.4; }
      .section05 .vide-wrap p {
        width: 82.5%;
        margin: 1em auto 0;
        font-size: clamp(14px, 2vw, 16px);
        text-align: justify; }
    .section05 .section-inner {
      position: relative;
      z-index: 2;
      padding-bottom: 5em;
      margin-top: 7.5em; }
      .section05 .section-inner:before {
        width: 85%;
        background: url("../images/separate_bg05-1_sp.png") no-repeat center center/100% 100%;
        top: 52%; }
      .section05 .section-inner--title .section-title {
        max-width: 53vw; }
      .section05 .section-inner--title .animal-l05 {
        max-width: 21vw;
        top: -6em;
        left: 27.5%;
        transform: translateX(-50%); }
      .section05 .section-inner--title .ill05-1 {
        max-width: 9.7vw;
        top: -3.5em;
        right: 22.5%;
        transform: translateX(-50%); }
      .section05 .section-inner--wrap {
        width: 70%; }
        .section05 .section-inner--wrap--category {
          margin-top: 2.5em; }
          .section05 .section-inner--wrap--category .image {
            width: 100%; }
          .section05 .section-inner--wrap--category--texts {
            width: 100%; }
            .section05 .section-inner--wrap--category--texts h4 {
              font-size: clamp(33px, 8.8vw, 38px);
              text-align: center;
              margin-top: 1em;
              align-items: center;
              flex-direction: column; }
              .section05 .section-inner--wrap--category--texts h4 span {
                display: block;
                font-size: clamp(11px, 2.9vw, 20px);
                margin: 1.5em auto 0; }
            .section05 .section-inner--wrap--category--texts p {
              font-size: clamp(12px, 3.4vw, 16px); }
            .section05 .section-inner--wrap--category--texts--sns {
              font-size: clamp(13px, 3.4vw, 14px);
              border-top: 1px dashed #A37123;
              padding-top: 3em;
              margin-top: 3em;
              text-align: center; }
              .section05 .section-inner--wrap--category--texts--sns p {
                margin-top: 0; }
              .section05 .section-inner--wrap--category--texts--sns ul {
                justify-content: center; }
                .section05 .section-inner--wrap--category--texts--sns ul li {
                  max-width: 10vw; } }

/*# sourceMappingURL=style-top2025.css.map */
