/* _setting CSS */
@-webkit-keyframes fluffy {
  0% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
  100% {
    -webkit-transform: translateY(-18px);
    transform: translateY(-18px);
  }
}
@keyframes fluffy {
  0% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
  }
  100% {
    -webkit-transform: translateY(-18px);
    transform: translateY(-18px);
  }
}
/* ___________________PC layout */
@media screen and (min-width: 781px) {
  .bg_inner {
    overflow: hidden;
  }

  .f_title {
    font-size: 5.4rem;
    letter-spacing: 0.025em;
    color: #2e683a;
    font-weight: bold;
  }

  #kv {
    width: 100%;
    height: auto;
  }
  #kv .kv_swiper {
    width: 100%;
  }
  #kv .kv_wrap {
    position: relative;
    overflow: hidden;
  }
  #kv .kv_wrap .bg {
    position: relative;
  }
  #kv .kv_wrap .title {
    position: absolute;
    width: max(930px, 75vw);
    height: auto;
    top: max(137.77778px, 11.11111vw);
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #kv .kv_wrap .copy {
    position: absolute;
    width: max(448.63889px, 36.18056vw);
    height: auto;
    top: max(270.38889px, 21.80556vw);
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #kv .kv_wrap .kv_circ01 {
    width: max(40.47222px, 3.26389vw);
    opacity: 0.83;
    position: absolute;
    left: max(46.5px, 3.75vw);
    top: max(27.55556px, 2.22222vw);
    -webkit-animation: 2.8s fluffy ease-in-out -0.6s infinite alternate;
            animation: 2.8s fluffy ease-in-out -0.6s infinite alternate;
    will-change: transform;
  }
  #kv .kv_wrap .kv_circ02 {
    width: max(65.44444px, 5.27778vw);
    opacity: 0.83;
    position: absolute;
    left: max(853.36111px, 68.81944vw);
    top: max(11.19444px, 0.90278vw);
    -webkit-animation: 3.4s fluffy ease-in-out -2.7s infinite alternate;
            animation: 3.4s fluffy ease-in-out -2.7s infinite alternate;
    will-change: transform;
  }
  #kv .kv_wrap .kv_circ03 {
    width: max(155px, 12.5vw);
    opacity: 0.52;
    position: absolute;
    left: max(87.83333px, 7.08333vw);
    top: max(339.27778px, 27.36111vw);
    animation: 3.5s fluffy ease-in-out -1.8s infinite alternate-reverse;
    will-change: transform;
  }
  #kv .kv_wrap .kv_circ04 {
    width: max(105.05556px, 8.47222vw);
    opacity: 0.63;
    position: absolute;
    left: max(1011.80556px, 81.59722vw);
    top: max(545.94444px, 44.02778vw);
    -webkit-animation: 3.5s fluffy ease-in-out -3.1s infinite alternate;
            animation: 3.5s fluffy ease-in-out -3.1s infinite alternate;
    will-change: transform;
  }
  #kv .kv_wrap .kv_circ05 {
    width: max(187.72222px, 15.13889vw);
    opacity: 0.74;
    padding: auto;
    position: absolute;
    left: max(899px, 72.5vw);
    top: max(-76.63889px, -6.18056vw);
    -webkit-animation: 2.8s fluffy ease-in-out -2.2s infinite alternate;
            animation: 2.8s fluffy ease-in-out -2.2s infinite alternate;
    will-change: transform;
  }
  #kv .kv_wrap .kv_circ06 {
    width: max(54.25px, 4.375vw);
    mix-blend-mode: multiply;
    opacity: 0.9;
    position: absolute;
    left: max(834.41667px, 67.29167vw);
    top: max(353.91667px, 28.54167vw);
    -webkit-animation: 3.2s fluffy ease-in-out -1.3s infinite alternate;
            animation: 3.2s fluffy ease-in-out -1.3s infinite alternate;
    will-change: transform;
  }

  #about {
    padding-top: 120px;
    position: relative;
  }
  #about h1 {
    text-align: center;
    margin-bottom: 70px;
  }
  #about p {
    font-size: 2.2rem;
    letter-spacing: 0.08em;
    text-align: center;
    line-height: 2.2;
  }
  #about .about_circ01 {
    width: 68px;
    opacity: 0.74;
    position: absolute;
    left: calc(50% - 577px);
    top: 69px;
    -webkit-animation: 2.8s fluffy ease-in-out -0.8s infinite alternate;
            animation: 2.8s fluffy ease-in-out -0.8s infinite alternate;
    will-change: transform;
  }
  #about .about_circ02 {
    width: 199px;
    position: absolute;
    right: calc(50% - 815px);
    top: 344px;
    animation: 3.2s fluffy ease-in-out -2.4s infinite alternate-reverse;
    will-change: transform;
  }
  #about .about_circ03 {
    width: 108px;
    position: absolute;
    left: calc(50% - 670px);
    top: 535px;
    -webkit-animation: 3.1s fluffy ease-in-out -1.5s infinite alternate;
            animation: 3.1s fluffy ease-in-out -1.5s infinite alternate;
    will-change: transform;
  }
  #about .about_circ04 {
    width: 68px;
    opacity: 0.74;
    position: absolute;
    right: calc(50% - 327px);
    top: 552px;
    -webkit-animation: 3.1s fluffy ease-in-out -3.3s infinite alternate;
            animation: 3.1s fluffy ease-in-out -3.3s infinite alternate;
    will-change: transform;
  }

  #project {
    width: 100%;
    max-width: 1030px;
    padding-top: 100px;
    margin: 142px auto 0;
  }
  #project h2 {
    text-align: center;
    margin-bottom: 65px;
  }
  #project h2 span {
    font-size: 2.9rem;
    letter-spacing: 0.025em;
    text-align: center;
    font-weight: 500;
  }
  #project .project_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 148px;
  }
  #project .project_item {
    position: relative;
  }
  #project .project_item .project_title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 28px;
    margin-bottom: 40px;
  }
  #project .project_item .project_title i {
    display: block;
    width: 135px;
  }
  #project .project_item .project_title i img {
    width: 100%;
    height: auto;
  }
  #project .project_item .project_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    gap: 47px;
    padding-left: 24px;
  }
  #project .project_item .project_content .project_img {
    width: 600px;
    position: relative;
    z-index: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  #project .project_item .project_content .project_img::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: #60a368;
    opacity: 0.2;
    position: absolute;
    top: 75px;
    left: 171px;
    -webkit-transform: translate(-100%, 0);
            transform: translate(-100%, 0);
    border-radius: 18px;
    z-index: -1;
  }
  #project .project_item .project_content .project_text {
    font-size: 2.8rem;
    letter-spacing: 0.08em;
    line-height: 1.8;
    word-break: keep-all;
  }
  #project .project_item:nth-of-type(even) .project_content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  #project .project_item:nth-of-type(even) .project_content .project_img {
    width: 600px;
    position: relative;
    z-index: 0;
  }
  #project .project_item:nth-of-type(even) .project_content .project_img::before {
    content: "";
    left: inherit;
    right: 171px;
    -webkit-transform: translate(100%, 0);
            transform: translate(100%, 0);
  }
  #project .project_item#project01 .circ01 {
    width: 82px;
    position: absolute;
    top: 94px;
    right: calc(50% - 494px);
    -webkit-animation: 2.8s fluffy ease-in-out -0.9s infinite alternate;
            animation: 2.8s fluffy ease-in-out -0.9s infinite alternate;
    will-change: transform;
    opacity: 1 !important;
  }
  #project .project_item#project01 .circ02 {
    width: 74px;
    position: absolute;
    top: 537px;
    right: calc(50% - 543px);
    animation: 3.5s fluffy ease-in-out -2s infinite alternate-reverse;
    will-change: transform;
  }
  #project .project_item#project01 .circ03 {
    width: 180px;
    opacity: 0.74;
    position: absolute;
    top: 435px;
    right: calc(50% - 692px);
    -webkit-animation: 3.0s fluffy ease-in-out -1.4s infinite alternate;
            animation: 3.0s fluffy ease-in-out -1.4s infinite alternate;
    will-change: transform;
  }
  #project .project_item#project02 .circ01 {
    width: 246px;
    position: absolute;
    opacity: 0.74;
    top: 138px;
    left: calc(50% - 885px);
    animation: 2.8s fluffy ease-in-out -0.9s infinite alternate-reverse;
    will-change: transform;
  }
  #project .project_item#project02 .circ02 {
    width: 144px;
    position: absolute;
    mix-blend-mode: multiply;
    top: 591px;
    right: calc(50% - 543px);
    -webkit-animation: 3.4s fluffy ease-in-out -2s infinite alternate;
            animation: 3.4s fluffy ease-in-out -2s infinite alternate;
    will-change: transform;
  }
  #project .project_item#project03 .circ01 {
    width: 78px;
    position: absolute;
    opacity: 0.74;
    top: 606px;
    left: calc(50% - 163px);
    -webkit-animation: 2.8s fluffy ease-in-out -0.9s infinite alternate;
            animation: 2.8s fluffy ease-in-out -0.9s infinite alternate;
    will-change: transform;
  }
  #project .project_item#project03 .circ02 {
    width: 151px;
    position: absolute;
    mix-blend-mode: multiply;
    top: 710px;
    right: calc(50% - 584px);
    -webkit-animation: 3.5s fluffy ease-in-out -2s infinite alternate;
            animation: 3.5s fluffy ease-in-out -2s infinite alternate;
    will-change: transform;
  }
  #project .project_item#project03 .circ03 {
    width: 282px;
    position: absolute;
    opacity: 0.74;
    top: 734px;
    right: calc(50% - 790px);
    animation: 3.1s fluffy ease-in-out -1.4s infinite alternate-reverse;
    will-change: transform;
  }
  #project .project_item#project03 .circ04 {
    width: 110px;
    position: absolute;
    mix-blend-mode: multiply;
    top: 879px;
    left: calc(50% - 602px);
    -webkit-animation: 4.8s fluffy ease-in-out -2.6s infinite alternate;
            animation: 4.8s fluffy ease-in-out -2.6s infinite alternate;
    will-change: transform;
  }

  #case {
    padding-top: 100px;
    margin-top: 405px;
  }
  #case h2 {
    text-align: center;
    position: relative;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin: 0 auto 141px;
    letter-spacing: 0.025em;
  }
  #case h2::before {
    content: "";
    display: block;
    width: 75px;
    height: 5px;
    background-color: #2e683a;
    position: absolute;
    left: 50%;
    top: -38px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #case .case_list h3 {
    color: #97b83c;
    font-weight: bold;
    text-align: center;
    font-size: 3.9rem;
    padding: 8px 0;
    border: 4px solid #97b83c;
    width: 956px;
    margin: 0 auto;
    position: relative;
    z-index: 0;
  }
  #case .case_list h3#nature {
    color: #84c0c5;
    border-color: #84c0c5;
    margin-top: 182px;
  }
  #case .case_item {
    position: relative;
  }
  #case .case_item .item_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #case .case_item .case_text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #case .case_item .case_text h4 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 6rem;
    color: #97b83c;
    font-weight: bold;
    letter-spacing: 0.025em;
    margin-bottom: 50px;
  }
  #case .case_item .case_text h4 span {
    font-size: 4.5rem;
    letter-spacing: 0.025em;
    font-weight: bold;
  }
  #case .case_item .case_text p {
    font-size: 2.8rem;
    letter-spacing: 0.08em;
    line-height: 1.8;
    text-align: center;
    margin-bottom: 70px;
  }
  #case .case_item .sub_title {
    font-size: 3.9rem;
    color: #97b83c;
    letter-spacing: 0.025em;
    text-align: center;
    margin-bottom: 30px;
    font-weight: bold;
  }
  #case .case_item .case_img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 16px;
  }
  #case .case_item .case_img .img img {
    width: 308px;
  }
  #case .case_item .case_img .img .img_text {
    font-size: 2.5rem;
    letter-spacing: 0.025em;
    color: #97b83c;
    text-align: center;
    margin: 10px 0 0;
    font-weight: bold;
  }
  #case .case_item .btn {
    margin-top: 75px;
  }
  #case #case01 {
    margin-top: 90px;
  }
  #case #case01 .case_text span {
    font-size: 3.7rem;
  }
  #case #case01 .circ01 {
    width: 97px;
    position: absolute;
    opacity: 0.74;
    top: -16px;
    left: calc(50% - 644px);
    animation: 2.8s fluffy ease-in-out -0.9s infinite alternate-reverse;
    will-change: transform;
  }
  #case #case01 .circ02 {
    width: 139px;
    position: absolute;
    mix-blend-mode: multiply;
    top: 210px;
    left: calc(50% - 793px);
    -webkit-animation: 3.4s fluffy ease-in-out -2s infinite alternate;
            animation: 3.4s fluffy ease-in-out -2s infinite alternate;
    will-change: transform;
  }
  #case #case01 .circ03 {
    width: 129px;
    position: absolute;
    mix-blend-mode: multiply;
    top: 1007px;
    right: calc(50% - 648px);
    animation: 3.1s fluffy ease-in-out -1.4s infinite alternate-reverse;
    will-change: transform;
  }
  #case #case02 {
    margin-top: 375px;
  }
  #case #case02::before {
    content: "";
    display: block;
    width: 956px;
    height: 4px;
    background-color: #97b83c;
    position: absolute;
    left: 50%;
    top: -180px;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #case #case02 .case_text h4 span {
    font-size: 3.7rem;
  }
  #case #case02 .circ01 {
    width: 180px;
    position: absolute;
    opacity: 0.74;
    top: -110px;
    left: calc(50% - 754px);
    animation: 2.8s fluffy ease-in-out -0.9s infinite alternate-reverse;
    will-change: transform;
  }
  #case #case02 .circ02 {
    width: 92px;
    position: absolute;
    mix-blend-mode: multiply;
    top: 1001px;
    left: calc(50% - 643px);
    -webkit-animation: 3.5s fluffy ease-in-out -2s infinite alternate;
            animation: 3.5s fluffy ease-in-out -2s infinite alternate;
    will-change: transform;
  }
  #case #case02 .circ03 {
    width: 128px;
    position: absolute;
    opacity: 0.74;
    top: 1037px;
    right: calc(50% - 644px);
    -webkit-animation: 3.0s fluffy ease-in-out -1.4s infinite alternate;
            animation: 3.0s fluffy ease-in-out -1.4s infinite alternate;
    will-change: transform;
  }
  #case #case03 {
    margin-top: 75px;
  }
  #case #case03 .case_text h4 {
    color: #84c0c5;
  }
  #case #case03 .sub_title {
    color: #84c0c5;
  }
  #case #case03 .case_img .img .img_text {
    color: #84c0c5;
  }
  #case #case03 .circ01 {
    width: 87px;
    position: absolute;
    mix-blend-mode: multiply;
    top: 944px;
    right: calc(50% - 538px);
    -webkit-animation: 2.8s fluffy ease-in-out -0.9s infinite alternate;
            animation: 2.8s fluffy ease-in-out -0.9s infinite alternate;
    will-change: transform;
  }

  #sponsor {
    padding-top: 100px;
    margin-top: 180px;
  }
  #sponsor p {
    font-size: 4.2rem;
    color: #2e683a;
    letter-spacing: 0.025em;
    text-align: center;
    font-weight: bold;
  }
  #sponsor img {
    width: 1173px;
    height: auto;
    display: block;
    margin: 75px auto 0;
  }

  #contact {
    margin-top: 210px;
  }
  #contact h2 {
    text-align: center;
    font-size: 4.2rem;
    letter-spacing: 0.025em;
    color: #2e683a;
    font-weight: bold;
    margin-bottom: 60px;
  }
  #contact .btn {
    margin: 0 auto;
  }
  #contact .address {
    font-size: 2.4rem;
    letter-spacing: 0.025em;
    text-align: center;
    line-height: 1.75;
    margin-top: 70px;
  }
}
/* Smartphones (portrait and landscape) */
@media screen and (max-width: 780px) {
  @-webkit-keyframes fluffy {
    0% {
      -webkit-transform: translateY(1.86667vw);
      transform: translateY(1.86667vw);
    }
    100% {
      -webkit-transform: translateY(-3.2vw);
      transform: translateY(-3.2vw);
    }
  }
  @keyframes fluffy {
    0% {
      -webkit-transform: translateY(1.86667vw);
      transform: translateY(1.86667vw);
    }
    100% {
      -webkit-transform: translateY(-3.2vw);
      transform: translateY(-3.2vw);
    }
  }
  .bg_inner {
    overflow: hidden;
  }

  .f_title {
    font-size: 5.86667vw;
    letter-spacing: 0.025em;
    color: #2e683a;
    font-weight: bold;
  }

  #kv {
    width: 100%;
    height: auto;
  }
  #kv .kv_swiper {
    width: 100%;
  }
  #kv .kv_wrap {
    position: relative;
    overflow: hidden;
  }
  #kv .kv_wrap .bg {
    position: relative;
  }
  #kv .kv_wrap .title {
    position: absolute;
    width: 83.46667vw;
    height: auto;
    top: 19.73333vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #kv .kv_wrap .copy {
    position: absolute;
    width: 73.06667vw;
    height: auto;
    top: 49.6vw;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #kv .kv_wrap .kv_circ01 {
    width: 6.93333vw;
    opacity: 0.83;
    position: absolute;
    left: 25.33333vw;
    top: 4vw;
    -webkit-animation: 2.8s fluffy ease-in-out -0.6s infinite alternate;
            animation: 2.8s fluffy ease-in-out -0.6s infinite alternate;
    will-change: transform;
  }
  #kv .kv_wrap .kv_circ02 {
    width: 4vw;
    opacity: 0.83;
    position: absolute;
    left: 71.46667vw;
    top: 12vw;
    -webkit-animation: 3.4s fluffy ease-in-out -2.7s infinite alternate;
            animation: 3.4s fluffy ease-in-out -2.7s infinite alternate;
    will-change: transform;
  }
  #kv .kv_wrap .kv_circ03 {
    width: 15.73333vw;
    opacity: 0.52;
    position: absolute;
    left: -5.06667vw;
    top: 62.66667vw;
    -webkit-animation: 3.1s fluffy ease-in-out -1.8s infinite alternate;
            animation: 3.1s fluffy ease-in-out -1.8s infinite alternate;
    will-change: transform;
  }
  #kv .kv_wrap .kv_circ04 {
    width: 10.66667vw;
    opacity: 0.63;
    position: absolute;
    left: 78.66667vw;
    top: 80.53333vw;
    -webkit-animation: 3.5s fluffy ease-in-out -3.1s infinite alternate;
            animation: 3.5s fluffy ease-in-out -3.1s infinite alternate;
    will-change: transform;
  }
  #kv .kv_wrap .kv_circ05 {
    width: 17.86667vw;
    opacity: 0.74;
    padding: auto;
    position: absolute;
    left: 10.93333vw;
    top: -6.13333vw;
    -webkit-animation: 5.1s fluffy ease-in-out -2.2s infinite alternate;
            animation: 5.1s fluffy ease-in-out -2.2s infinite alternate;
    will-change: transform;
  }
  #kv .kv_wrap .kv_circ06 {
    width: 5.33333vw;
    mix-blend-mode: multiply;
    opacity: 0.9;
    position: absolute;
    left: 89.06667vw;
    top: 42.66667vw;
    -webkit-animation: 3.2s fluffy ease-in-out -1.3s infinite alternate;
            animation: 3.2s fluffy ease-in-out -1.3s infinite alternate;
    will-change: transform;
  }

  #about {
    padding-top: 8vw;
    position: relative;
  }
  #about h1 {
    text-align: center;
    margin-bottom: 4vw;
  }
  #about p {
    font-size: 3.2vw;
    letter-spacing: 0.025em;
    text-align: center;
    line-height: 2.0;
  }
  #about .about_circ01 {
    width: 5.33333vw;
    position: absolute;
    left: 5.06667vw;
    top: 80vw;
    -webkit-animation: 2.8s fluffy ease-in-out -0.8s infinite alternate;
            animation: 2.8s fluffy ease-in-out -0.8s infinite alternate;
    will-change: transform;
  }
  #about .about_circ02 {
    width: 21.6vw;
    position: absolute;
    left: 91.46667vw;
    top: 24.8vw;
    -webkit-animation: 4.7s fluffy ease-in-out -2.4s infinite alternate;
            animation: 4.7s fluffy ease-in-out -2.4s infinite alternate;
    will-change: transform;
  }

  #project {
    padding-top: 13.33333vw;
  }
  #project h2 {
    text-align: center;
    margin-bottom: 4vw;
    line-height: 1.45;
  }
  #project h2 span {
    font-size: 2.93333vw;
    letter-spacing: 0.025em;
    text-align: center;
    font-weight: 500;
    display: block;
    margin-top: 1.33333vw;
  }
  #project .project_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 14.66667vw;
  }
  #project .project_item {
    position: relative;
  }
  #project .project_item .project_title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 5.33333vw;
    margin-bottom: 3.46667vw;
    padding-left: 5.86667vw;
    font-size: 5.33333vw;
  }
  #project .project_item .project_title i {
    display: block;
    width: 16.53333vw;
  }
  #project .project_item .project_title i img {
    width: 100%;
    height: auto;
  }
  #project .project_item .project_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2.66667vw;
  }
  #project .project_item .project_content .project_img {
    width: 74.66667vw;
    position: relative;
    z-index: 0;
  }
  #project .project_item .project_content .project_text {
    font-size: 3.2vw;
    letter-spacing: 0.08em;
    line-height: 2;
    text-align: center;
  }
  #project .project_item#project01 .circ01 {
    width: 6.66667vw;
    position: absolute;
    top: -15.73333vw;
    left: 88.8vw;
    -webkit-animation: 2.8s fluffy ease-in-out -0.9s infinite alternate;
            animation: 2.8s fluffy ease-in-out -0.9s infinite alternate;
    will-change: transform;
  }
  #project .project_item#project01 .circ02 {
    width: 6.66667vw;
    position: absolute;
    top: 73.33333vw;
    left: -2.66667vw;
    -webkit-animation: 3.5s fluffy ease-in-out -2s infinite alternate;
            animation: 3.5s fluffy ease-in-out -2s infinite alternate;
    will-change: transform;
  }
  #project .project_item#project01 .circ03 {
    width: 12.53333vw;
    position: absolute;
    top: 45.33333vw;
    left: 93.6vw;
    -webkit-animation: 3.0s fluffy ease-in-out -1.4s infinite alternate;
            animation: 3.0s fluffy ease-in-out -1.4s infinite alternate;
    will-change: transform;
  }
  #project .project_item#project01 .circ04 {
    width: 5.33333vw;
    position: absolute;
    top: 88.53333vw;
    left: 77.86667vw;
    -webkit-animation: 4.8s fluffy ease-in-out -2.6s infinite alternate;
            animation: 4.8s fluffy ease-in-out -2.6s infinite alternate;
    will-change: transform;
  }
  #project .project_item#project02 .circ01 {
    width: 12.53333vw;
    position: absolute;
    top: 66.4vw;
    left: -2.4vw;
    -webkit-animation: 2.8s fluffy ease-in-out -0.9s infinite alternate;
            animation: 2.8s fluffy ease-in-out -0.9s infinite alternate;
    will-change: transform;
  }
  #project .project_item#project02 .circ02 {
    width: 6.66667vw;
    position: absolute;
    top: 82.13333vw;
    left: 94.66667vw;
    animation: 3.5s fluffy ease-in-out -2s infinite alternate-reverse;
    will-change: transform;
  }
  #project .project_item#project03 .circ02 {
    width: 30.66667vw;
    position: absolute;
    top: 42.66667vw;
    left: 92.8vw;
    -webkit-animation: 3.5s fluffy ease-in-out -2s infinite alternate;
            animation: 3.5s fluffy ease-in-out -2s infinite alternate;
    will-change: transform;
  }
  #project .project_item#project03 .circ04 {
    width: 13.33333vw;
    position: absolute;
    top: 87.46667vw;
    left: 8vw;
    -webkit-animation: 4.8s fluffy ease-in-out -2.6s infinite alternate;
            animation: 4.8s fluffy ease-in-out -2.6s infinite alternate;
    will-change: transform;
  }

  #case {
    margin-top: 8vw;
    padding: 13.33333vw 4.26667vw 0;
  }
  #case h2 {
    text-align: center;
    position: relative;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    font-size: 6.66667vw;
    margin: 0 auto 13.33333vw;
    letter-spacing: 0.025em;
  }
  #case h2::before {
    content: "";
    display: block;
    width: 9.6vw;
    height: 0.8vw;
    background-color: #2e683a;
    position: absolute;
    left: 50%;
    top: -5.33333vw;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #case .case_list h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    color: #97b83c;
    font-weight: bold;
    text-align: center;
    font-size: 5.33333vw;
    width: 100%;
    height: 9.06667vw;
    border: 2px solid #97b83c;
    line-height: 1.33;
    margin: 0 auto;
  }
  #case .case_list h3#nature {
    color: #84c0c5;
    border-color: #84c0c5;
    margin-top: 14.66667vw;
    margin-bottom: 5.33333vw;
  }
  #case .case_item {
    position: relative;
  }
  #case .case_item .item_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #case .case_item .case_text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 10.66667vw;
  }
  #case .case_item .case_text h4 {
    font-size: 5.33333vw;
    color: #97b83c;
    font-weight: bold;
    letter-spacing: 0.025em;
    margin-bottom: 4vw;
    text-align: center;
  }
  #case .case_item .case_text h4 span {
    font-weight: bold;
  }
  #case .case_item .case_text p {
    font-size: 3.2vw;
    letter-spacing: 0.08em;
    line-height: 2;
    text-align: center;
  }
  #case .case_item .sub_title {
    font-size: 5.33333vw;
    color: #97b83c;
    letter-spacing: 0.025em;
    text-align: center;
    margin-bottom: 3.46667vw;
    font-weight: bold;
  }
  #case .case_item .case_img {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 5.33333vw 2.66667vw;
  }
  #case .case_item .case_img .img img {
    width: 44vw;
  }
  #case .case_item .case_img .img .img_text {
    font-size: 3.46667vw;
    letter-spacing: 0.025em;
    color: #97b83c;
    text-align: center;
    margin: 1.86667vw 0 0;
    font-weight: bold;
  }
  #case .case_item .case_img .img:first-child {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #case .case_item .fade_btm:has(.btn) {
    width: 100%;
  }
  #case .case_item .btn {
    margin-top: 12.8vw;
    width: 100%;
    height: 16vw;
    line-height: 1.4;
  }
  #case #case01 {
    margin-top: 5.86667vw;
  }
  #case #case01 .case_text h4 span {
    font-size: 3.73333vw;
  }
  #case #case01 .circ01 {
    width: 16.53333vw;
    position: absolute;
    top: 43.46667vw;
    left: -7.46667vw;
    -webkit-animation: 3.4s fluffy ease-in-out -2s infinite alternate;
            animation: 3.4s fluffy ease-in-out -2s infinite alternate;
    will-change: transform;
  }
  #case #case01 .circ02 {
    width: 19.73333vw;
    position: absolute;
    top: 64.53333vw;
    left: 79.73333vw;
    -webkit-animation: 4.8s fluffy ease-in-out -1.2s infinite alternate;
            animation: 4.8s fluffy ease-in-out -1.2s infinite alternate;
    will-change: transform;
  }
  #case #case02 {
    margin-top: 32vw;
    position: relative;
  }
  #case #case02::before {
    content: "";
    display: block;
    width: 90.66667vw;
    height: 2px;
    background-color: #97b83c;
    position: absolute;
    left: 50%;
    top: -14.66667vw;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  #case #case02 .case_text h4 span {
    font-size: 3.73333vw;
    display: block;
    margin-top: 1.33333vw;
  }
  #case #case02 .circ01 {
    width: 16.53333vw;
    position: absolute;
    top: 47.73333vw;
    left: 83.46667vw;
    animation: 2.8s fluffy ease-in-out -0.9s infinite alternate-reverse;
    will-change: transform;
  }
  #case #case02 .circ02 {
    width: 6.66667vw;
    position: absolute;
    top: -8.8vw;
    left: 0;
    -webkit-animation: 3.4s fluffy ease-in-out -2s infinite alternate;
            animation: 3.4s fluffy ease-in-out -2s infinite alternate;
    will-change: transform;
  }
  #case #case02 .circ04 {
    width: 36.8vw;
    position: absolute;
    top: 58.66667vw;
    left: -28vw;
    -webkit-animation: 4.8s fluffy ease-in-out -2.6s infinite alternate;
            animation: 4.8s fluffy ease-in-out -2.6s infinite alternate;
    will-change: transform;
  }
  #case #case03 .case_text h4 {
    color: #84c0c5;
  }
  #case #case03 .sub_title {
    color: #84c0c5;
  }
  #case #case03 .case_img {
    gap: 0 2.66667vw;
  }
  #case #case03 .case_img .img {
    width: 44vw;
  }
  #case #case03 .case_img .img .img_text {
    color: #84c0c5;
  }
  #case #case03 .case_img .img .sub_title {
    color: #84c0c5;
  }
  #case #case03 .circ02 {
    width: 9.6vw;
    position: absolute;
    top: 30.13333vw;
    left: 81.86667vw;
    -webkit-animation: 3.5s fluffy ease-in-out -2s infinite alternate;
            animation: 3.5s fluffy ease-in-out -2s infinite alternate;
    will-change: transform;
  }

  #sponsor {
    padding-top: 13.33333vw;
    margin-top: 20vw;
  }
  #sponsor p {
    font-size: 5.6vw;
    color: #2e683a;
    letter-spacing: 0.025em;
    text-align: center;
    font-weight: bold;
    line-height: 1.6;
  }
  #sponsor img {
    width: 82.66667vw;
    height: auto;
    display: block;
    margin: 6.66667vw auto 0;
  }

  #contact {
    margin-top: 24vw;
  }
  #contact h2 {
    text-align: center;
    font-size: 5.6vw;
    letter-spacing: 0.025em;
    color: #2e683a;
    font-weight: bold;
    margin-bottom: 5.33333vw;
  }
  #contact .btn {
    margin: 0 auto;
  }
  #contact .address {
    font-size: 3.2vw;
    letter-spacing: 0.025em;
    text-align: center;
    line-height: 1.75;
    margin-top: 6.4vw;
  }
}
