html {
    position: static;
    margin: 0 !important;
    scroll-behavior: smooth;
    background: #F2F2F2 0% 0% no-repeat padding-box;
}
.body {
    position: relative;
    width: 100%;
    margin: 0;
    font-family: 'Noto Sans JP', sans-serif;
}
.main_bg_wrapper {
    display: flex;
    justify-content: center;
}
.main_bg {
    max-width: 1920px;
    width: 100%;
}
ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.pc {
    display: block;
}
.sp {
    display: none;
}
.wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
}
.heading {
    width: 100%;
    padding: min(6.667vw, 128px) 10%;
    box-sizing: border-box;
}
.heading2 {
    width: 100%;
    padding: min(9.583vw, 184px) 15% min(6.667vw, 128px) 15%;
    box-sizing: border-box;
}
.heading3 {
    width: 100%;
    padding: min(6.667vw, 128px) 15%;
    box-sizing: border-box;
}
a {
    display: inline-block;
}
a:hover {
    color: #0FAE5E;
}
img {
    width: 100%;
    height: auto;
    display: block;
}
@media screen and (max-width: 767px) {
    .sp {
        display: block;
    }
    .pc {
        display: none;
    }
    .heading {
        padding: 18.667vw 2.667%;
    }
    .heading2 {
        padding: 14vw 5.33% 5vw 5.33%;
    }
    .heading3 {
        padding: 18.667vw 5.33%;
    }
}
/* header */
.header01 {
    display: flex;
    justify-content: center;
}
.nav01 {
    position: absolute;
    top: 0;
    max-width: 1920px;
    width: 100%;
    background: rgba(255, 255, 255, 0);
    justify-content: space-between;
    align-items: center;
    display: flex;
    height: min(5.833vw, 112px);
}
.header_logo {
    width: min(15.667vw, 300px);
    height: auto;
    margin: 0 0 0 min(3.33vw, 64px);
}
@media screen and (max-width: 767px) {
    .nav01 {
        position: fixed;
        background: rgba(255, 255, 255, 0);
        top: 0;
        width: 100%;
        height: min(13.33vw, 50px);
        z-index: 1000;
    }
    .header_logo {
        width: min(28vw, 168px);
        margin: 0 0 0 min(2.667vw, 10px);
        position: relative;
        z-index: 1001;
        transition: opacity 0.2s ease-in-out;
        display: none;
        opacity: 0
    }   

    .header_logo.visible {
        display: block;
        opacity: 1;
    }
/* ハンバーガーモーダル */
    .header_text1 {
        text-align: left;
        font-family: 'Noto Sans JP';
        font-weight: 700;
        line-height: 1;
        font-size: min(4.267vw, 16px);
        letter-spacing: 0px;
        color: #2A262C;
        display: flex;
        text-decoration: none;
    }

      .header_modal {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        background: rgba(255, 255, 255, 1);
        transition: right 0.3s ease-in-out;
        z-index: 1000;
        overflow-y: auto;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        padding: min(26.667vw, 100px) 0 min(13.33vw, 50px) 0;
    }

    .header_modal.is-active {
        right: 0;
        display: flex;
    }

    .header_modal .header_ul {
        display: flex;
        flex-direction: column;
        width: 100%;
        padding: 0 min(5.33vw, 20px);
        box-sizing: border-box;
    }

    .header_modal .header_li {
        width: 100%;
        border-bottom: 1px solid #C6C6C6;
        padding: min(5.33vw, 20px) 0;
    }
/* ハンバーガーボタン */
    .ham_btn {
      width: min(13.33vw, 50px);
      height: min(13.33vw, 50px);
      border: none;
      background: rgba(255, 255, 255, 0);
      position: relative;
      cursor: pointer;
      z-index: 1001;
    }
    .ham_btn span {
      position: absolute;
      height: min(0.533vw, 2px);
      background: #000;
      border-radius: min(0.533vw, 2px);
      transition: all 0.3s ease;
    }
    .ham_btn span:nth-of-type(1) {
      width: min(8vw, 30px);
      top: min(5.33vw, 20px);
      left: 50%;
      transform: translateX(-50%);
    }
    .ham_btn span:nth-of-type(2) {
      width: min(5.33vw, 20px);
      top: min(8, 30px);
      left: min(2.667vw, 10px);
    }
    .ham_btn.is-active span:nth-of-type(1),
    .ham_btn.is-active span:nth-of-type(2) {
      width: min(8vw, 30px);
      left: min(2.667vw, 10px);
      top: min(6.667vw,25px);
      transform: rotate(45deg);
      transform-origin: center;
    }
    .ham_btn.is-active span:nth-of-type(2) {
      transform: rotate(-45deg);
    }
    body.no-scroll {
        overflow: hidden;
    }
}
/* 共通 スクロール位置 見出し */
#worries,
#casestudy,
#example,
#reason,
#features,
#faq,
#partner {
    position: relative;
    z-index: 1;
}
.common_h2_en {
    text-align: center;
    font-family: 'Noto Sans JP';
    line-height: 1.5;
    font-weight: 700;
    font-size: min(1.667vw, 32px);
    color: #0FAE5E;
    margin: 0 0 min(0.521vw, 10px) 0;
}
.common_h2 {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(2.656vw, 51px);
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 1.6px;
    color: #000000;
    margin: 0 0 min(2.5vw, 48px) 0;
}
.common_h2._green {
    color: #0FAE5E;
    margin: 0 0 min(0.833vw, 16px) 0;
}
@media screen and (max-width: 767px) {
    .common_h2 {
        font-size: 6.154vw;
        margin: 0 0 7.692vw 0;
    }
    .common_h2_en {
        font-size: 4.103vw;        
    }
}
/* 共通 ボタン */
.btn_wrapper1 {
    position: absolute;
    bottom: min(-2.667vw, -26px);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.btn_more1 {
    width: min(41.667vw, 800px);
    height: min(5.833vw, 114px);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    background: transparent linear-gradient(90deg, #11B764 0%, #008662 100%) 0% 0% no-repeat padding-box;
    box-shadow: 0px 3px 10px #00000029;
    border-radius: min(3.802vw, 73px);
    border: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.btn_more2 {
    width: min(32.917vw, 632px);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    background: #000000 0% 0% no-repeat padding-box;
    border-radius: min(3.802vw, 73px);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    padding: min(1.406vw, 27px) 0;
    box-sizing: border-box;
}
.btn_more1:hover,
.btn_more2:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    background: #fff;
}
.btn_more1:hover .btn_text1 {
    color: #226644;

}
.btn_more2:hover .btn_text1 {
    color: #000;
}
.btn_text1 {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(2vw, 38px);
    font-weight: 700;
    line-height: 1.5;
    color: #FFFFFF;
    margin: 0;
}
.btn_img1 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: min(1.667vw, 32px);
    width: min(1.333vw, 26px);
    transition: right 0.3s ease;
}
.btn_more1:hover .btn_img1,
.btn_more2:hover .btn_img1 {
    right: min(1.458vw, 28px);
}
.btn_more1:hover .btn_img1 {
    filter: brightness(0) saturate(100%) invert(31%) sepia(15%) saturate(1786%) hue-rotate(97deg) brightness(94%) contrast(85%);
}

.btn_more2:hover .btn_img1 {
    filter: brightness(0) saturate(100%) invert(0%) sepia(100%) saturate(8%) hue-rotate(101deg) brightness(96%) contrast(96%);
}
@media screen and (max-width: 767px) {
    .btn_wrapper1 {
        bottom: -5.641vw;
    }
    .btn_more1 {
        width: 67.949vw;
        padding: 2.564vw 0;
    }
    .btn_text1 {
        font-size: 4.615vw;
    }
    .btn_more2 {
        width: 89%;
        padding: 2.564vw 0;
    }
    .btn_img1 {
        right: 3.077vw;
        width: 3.077vw;
    }
}
/* 共通 index single archive 404 */
._minheight {
    min-height: 50vh;
}
/* fv */
.fv_warapper {
    display: flex;
    justify-content: center;
}
.fv_bg {
    display: flex;
    justify-content: center;
    content: '';
    background-image: linear-gradient(to bottom, rgba(242,242,242,1) 0%,  rgba(242,242,242,0) 100%), url('../img/fv_bg.png');
    background-size: 100% 100%;
    background-repeat: repeat;
}
.fv {
    position: relative;
    max-width: 1920px;
    width: 100%;
    height: min(73.438vw, 1410px);
    content: '';
    background-image: url('../img/fv_pc.png');
    background-size: contain;
    background-repeat: no-repeat;
}
.fv_left_area {
    position: absolute;
    top: min(7.292vw, 140px);
    left: min(9.167vw, 176px);
    z-index: 2;
}
.fv_down_block {
    position: absolute;
    top: min(41.406vw, 795px);
    left: 50%;
    width: min(83.33vw, 1600px);
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border-radius: min(1.667vw, 32px);
    transform: translateX(-50%);
    padding: min(0.8333vw, 16px);
    z-index: 1;
    box-sizing: border-box;
}
.fv_h1 {
    text-align: left;
    font-family: 'Noto Sans JP';
    font-size: min(3.75vw, 72px);
    line-height: 1.3;
    font-weight: 800;
    margin: 0 0 min(1.833vw, 35px) 0;
}
.fv_flex,
.fv_flex2 {
    display: flex;
    align-items: center;
}
.fv_flex2 {
    justify-content: center;
}
.fv_text1 {
    background: #0FAE5E 0% 0% no-repeat padding-box;
    border-radius: min(1.302vw, 25px);
    text-align: left;
    font-family: 'Noto Sans JP';
    font-size: min(1.25vw, 24px);
    line-height: 1.5;
    font-weight: 800;
    color: #FFFFFF;
    padding: min(0.833vw, 16px) min(2.5vw, 48px);
    margin: 0;
}
.fv_text2 {
    text-align: left;
    font-family: 'Noto Sans JP';
    font-size: min(1.833vw, 35px);
    line-height: 1.5;
    font-weight: 800;
    color: #000000;
    margin: 0 0 0 min(0.5vw, 10px);
}
.fv_left_block {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border-radius: min(6.333vw, 114px);
    padding: min(1.167vw, 22px) min(1.667vw, 32px);
    margin: min(2.5vw, 48px) min(0.667vw, 13px) 0 0;
}
.fv_left_block:nth-child(3) {
    margin: min(2.5vw, 48px) 0 0 0;
}
.fv_h3 {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(1.5vw, 29px);
    line-height: 1;
    letter-spacing: 0px;
    color: #226644;
    margin: 0 0 min(0.25vw, 5px) 0;
}
.fv_text3 {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(1.083vw, 21px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0px;
    color: #000000;
    margin: 0;
}
.fv_down_left_img {
    width: min(34.667vw, 665px);
    margin: 0 min(1.167vw, 22px) 0 0;
}
.fv_down_right {
    width: min(31.75vw, 609px);
}
.fv_down_h3 {
    text-align: left;
    font-family: 'Noto Sans JP';
    font-size: min(2.583vw, 49px);
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: 0px;
    color: #000000;
    margin: 0 0 min(0.833vw, 16px) 0;
}
.fv_text4 {
    text-align: left;
    font-family: 'Noto Sans JP';
    font-size: min(1.5vw, 29px);
    font-weight: 700;
    line-height: 1.5;
    color: #000000;
    margin: 0 0 min(0.833vw, 16px) 0;
}
.fv_down_ul {
    display: flex;
    flex-wrap: wrap;
}
.fv_down_li {
    text-align: left;
    font-family: 'Noto Sans JP';
    font-size: min(1.333vw, 25px);
    font-weight: 700;
    letter-spacing: 0px;
    color: #0FAE5E;
    margin: 0 min(0.833vw, 16px) min(0.5vw, 10px) 0;
}
@media screen and (max-width: 767px) {
    .fv {
        height: 158vw;
        background-image: url('../img/fv_sp.png');
    }
    .fv_left_area {
        top: 57vw;
        left: 5.33vw;
    }
    .fv_down_block {
        top: 112.051vw;
    }
    .fv_h1 {
        font-size: 6.154vw;
    }
    .fv_text1 {
        font-size: 3.077vw;
        padding: 1.282vw 2.564vw;
        line-height: 1.2;
    }
    .fv_text2 {
        font-size: 3.846vw;
        margin: 0 0 0 1.282vw;
    }
    .fv_left_block {
        padding: 0.769vw 2.564vw;
    }
    .fv_h3 {
        font-size: 3.33vw;
        margin: 0 0 1.026vw 0;
    }
    .fv_text3 {
        font-size: 2.821vw;
        line-height: 1.2;
    }
    .fv_down_block {
        width: 89%;
        padding: 2.564vw;
    }
    .fv_down_left_img {
        width: 40%;
    }
    .fv_down_right {
        width: 60%;
    }
    .fv_down_h3 {
        font-size: 3.33vw;
    }
    .fv_text4 {
        font-size: 2.821vw;        
    }
    .fv_down_li {
        font-size: 2.308vw;                
    }
}
/* worries */
.worries_wrapper {
    background: #F2F2F2 0% 0% no-repeat padding-box;
}
.worries_wrapper2 {
    background: #FFF 0% 0% no-repeat padding-box;
}
.section1 {
    width: min(70vw, 1344px);
    margin: 0 auto;
}
.worries_heading {
    padding: 0 15% min(6.667vw, 128px) 15%;
    box-sizing: border-box;
    margin: min(1.667vw, -32px) 0 0 0;
}
.worries_upper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.worries_left {
    margin: min(5vw, 96px) 0 0 0;
}
.worries_h3 {
    text-align: left;
    font-family: 'Noto Sans JP';
    font-size: min(3.073vw, 59px);
    line-height: 1.5;
    font-weight: 800;
    letter-spacing: 1.6px;
    color: #000000;
    margin: 0 0 14px 0;
}
.worries_h3 ._green,
.worries_text1 ._green {
    color: #0FAE5E;
}
.worries_h3 ._small {
    font-size: min(2.396vw, 46px);
}
.worries_text1 {
    text-align: left;
    font-family: 'Noto Sans JP';
    font-size: min(1.667vw, 32px);
    line-height: 1.6;
    font-weight: 700;
    letter-spacing: 0px;
    color: #000000;
    margin: 0;
}
.worries_img2 {
    width: min(16.875vw, 324px);
}
.worries_down {
    background: transparent linear-gradient(99deg, #11B764 0%, #008662 100%) 0% 0% no-repeat padding-box;
    border-radius: min(1.667vw, 32px);
    padding: min(2.083vw, 40px);
}
.worries_text2 {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(3.021vw, 58px);
    line-height: 1.5;
    font-weight: 700;
    color: #FFFFFF;
    margin: 0;
}
.worries_text3 {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(1.979vw, 38px);
    line-height: 1.5;
    font-weight: 700;
    color: #FFFFFF;
    margin: 0;
}
@media screen and (max-width: 767px) {
    .worries_heading {
        padding: 0 5.33%;
        padding: 0 5.33% 12vw 5.33%;
    }
    .worries_h3 {
        font-size: 5.897vw;
    }
    .worries_h3 ._small {
        font-size: 4.8vw;
    }
    .worries_text1 {
        font-size:  4.103vw;
        margin: 0 0 5.128vw 0;
    }
    .worries_img2 {
        width: 35%;
        margin: 0 auto;
    }
    .worries_text2 {
        font-size:  4.103vw;
    }
    .worries_text3 {
        font-size:  3.333vw;
    }
    .worries_left {
        margin: min(15.385vw, 60px) 0 0 0;
    }
}
/* casestudy */
.casestudy_text1 {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(1.979vw, 38px);
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: 0px;
    color: #000000;
    margin: 0 0 min(1.667vw, 32px) 0;
}
.casestudy_tab {
    display: flex;
    justify-content: center;
}
.casestudy_link {
    background: #226644 0% 0% no-repeat padding-box;
    border-radius: min(2.292vw, 44px);
    width: min(15vw, 288px);
    padding: min(0.729vw, 14px) min(1.25vw, 24px) min(0.729vw, 14px) min(1.979vw, 38px);
    text-decoration: none;
    margin: 0 min(0.417vw, 8px);
    display: flex;
    justify-content: space-between;
    opacity: 0.9;
}
.casestudy_link:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    opacity: 1;
}
.casestudy_img1 {
    width: min(2.5vw, 40px);
}
.casestudy_text2 {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(1.979vw, 38px);
    line-height: 1;
    font-weight: 700;
    color: #FFFFFF;
    margin: 0;
}
@media screen and (max-width: 767px) {
    .casestudy_text1 {
        font-size:  3.333vw;
        margin: 0 0 2.564vw 0;
    }
    .casestudy_link {
        width: 30%;
        padding: 1.282vw 3.846vw;
    }
    .casestudy_text2 {
        font-size:  3.333vw;
    }
    .casestudy_img1 {
        width: 3.59vw;
    }
}
/* casestudy_block */
.casestudy_block {
    width: min(83.333vw, 1600px);
    position: relative;
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border-radius: min(1.667vw, 32px);
    padding: min(7.5vw, 144px) min(6.667vw, 128px);
    box-sizing: border-box;
    margin: min(7.5vw, 144px) 0 0 0;
}
.casestudy_title1 {
    position: absolute;
    top: min(1.667vw, -32px);
    left: 50%;
    transform: translateX(-50%);
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border: 2px solid #263B30;
    border-radius: min(2.656vw, 51px);
    padding: min(0.729vw, 14px) min(1.563vw, 30px);
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(1.979vw, 38px);
    line-height: 1;
    font-weight: 700;
    color: #263B30;
    margin: 0;
}
.casestudy_area_upper {
    display: flex;
    flex-wrap: wrap;
}
.casestudy_img2 {
    width: min(30.833vw, 592px);
    object-fit: contain;
    object-position: top;
    margin: 0 min(2.396vw, 46px) 0 0;
}
.casestudy_content {
    width: min(36.667vw, 704px);
}
.casestudy_h3 {
    text-align: left;
    font-family: 'Noto Sans JP';
    font-size: min(2.031vw, 39px);
    line-height: 1.5;
    font-weight: 700;
    color: #000000;
    margin: 0 0 min(1.667vw, 32px) 0;
}
.casestudy_text3 {
    text-align: left;
    font-family: 'Noto Sans JP';
    font-size: min(1.302vw, 25px);
    line-height: 1.5;
    font-weight: 400;
    color: #000000;
    margin: 0 0 min(1.667vw, 32px) 0;
}
.casestudy_li {
    display: flex;
    align-items: center;
    text-align: left;
    font-family: 'Noto Sans JP';
    font-size: min(1.146vw, 22px);
    line-height: 1.5;
    font-weight: 700;
    color: #0FAE5E;
    margin: 0 0 min(0.8333vw, 16px) 0;
}
.casestudy_img3 {
    width: min(1.667vw, 32px);
    margin: 0 min(0.26vw, 5px) 0 0;
}
.casestudy_text4 {
    font-family: 'Noto Sans JP';
    font-size: min(0.99vw, 19px);
    line-height: 1.4;
    font-weight: 400;
    color: #000000;
    margin: min(0.26vw, 5px) 0 0 0;
}
.casestudy_area_middle {
    display: flex;
    flex-wrap: wrap;
    margin: min(4.635vw, 89px) 0 0 0;
}
.casestudy_midle_block {
    position: relative;
    width: 32.2%;
    margin: 0 1.7% 0 0;
    display: flex;
    flex-direction: column;
}
.casestudy_midle_block:nth-child(3) {
    margin: 0;
}
.casestudy_title2 {
    position: absolute;
    top: min(-1.25vw, -12px);
    left: 50%;
    transform: translateX(-50%);
    background: #000000 0% 0% no-repeat padding-box;
    border-radius: min(1.302vw, 25px);
    padding: min(0.521vw, 10px) min(1.25vw, 24px);
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(1.094vw, 21px);
    line-height: 1.2;
    font-weight: 700;
    color: #FFFFFF;
    margin: 0;
    white-space: nowrap;
    box-sizing: border-box;
}
.casestudy_icon1 {
    position: absolute;
    width: min(5vw, 96px);
    right: min(0.833vw, 16px);
    top: min(9.688vw, 186px);
}
.casestudy_middle_content {
    background: #F2F2F2 0% 0% no-repeat padding-box;
    border-radius: 0px 0px min(1.667vw, 32px) min(1.667vw, 32px);
    padding: min(1.25vw, 24px);
    flex-grow: 1;
}
.casestudy_text5 {
    text-align: left;
    font-family: 'Noto Sans JP';
    font-size: min(1.458vw, 28px);
    line-height: 1.3;
    font-weight: 700;
    color: #000000;
    margin: 0 0 min(0.417vw, 8px) 0;
}
.casestudy_text6 {
    text-align: left;
    font-family: 'Noto Sans JP';
    font-size: min(1.146vw, 22px);
    line-height: 1.3;
    font-weight: 400;
    color: #000000;
    margin: 0;  
}
.casestudy_icon2 {
    width: min(2.969vw, 57px);
    margin: min(1.667vw, 32px) auto;
    position: relative;
    animation: moveDown 2s infinite ease-in-out;
}
@keyframes moveDown {
  0% {
    top: 0;
    opacity: 1;
  }
  50% {
    top: min(0.625vw, 12px);
    opacity: 1;
  }
  100% {
    top: 0;
    opacity: 1;
  }
}
.casestudy_down_block {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    background: transparent linear-gradient(90deg, #11B764 0%, #008662 100%) 0% 0% no-repeat padding-box;
    border-radius: min(0.833vw, 16px);
    padding: min(1.667vw, 32px);
    box-sizing: border-box;
}
.casestudy_text7 {
    text-align: left;
    font-family: 'Noto Sans JP';
    font-size: min(3.125vw, 60px);
    line-height: 1.2;
    font-weight: 700;
    color: #FFFFFF;
    margin: 0 min(1.302vw, 25px) 0 0;
}
.casestudy_text8 {
    text-align: left;
    font-family: 'Noto Sans JP';
    font-size: min(1.458vw, 28px);
    line-height: 1.2;
    font-weight: 500;
    color: #FFFFFF;
    margin: 0;
}
@media screen and (max-width: 767px) {
    .casestudy_content {
        width: 100%;
    }
    .casestudy_block {
        width: 100%;
        padding: 5.128vw;
    }
    .casestudy_img2 {
        width: 100%;
        margin: 0 auto 5.128vw auto;
    }
    .casestudy_title1 {
        top: -3.846vw;
        font-size: 4.615vw;
        border-radius: 8.205vw;
        padding: 1.026vw 2.821vw;
    }
    .casestudy_h3 {
        font-size: 4.615vw;        
    }
    .casestudy_text3 {
        font-size: 3.333vw;                
    }
    .casestudy_img3 {
        width:  3.59vw;
    }
    .casestudy_li {
        font-size: 3.077vw;                
    }
    .casestudy_text4 {
        font-size: 2.564vw;
    }
    .casestudy_icon1 {
        width: 15.385vw;
        top: 39.487vw;
        right: 2.564vw;
    }
    .casestudy_midle_block,
    .casestudy_midle_block:nth-child(3) {
        width: 100%;
        margin: 7.692vw 0 0 0;
    }
    .casestudy_title2 {
        top: -2.564vw;
        border-radius:  4.103vw;
        font-size: 3.59vw;   
        padding: 1.026vw 2.564vw;       
    }
    .casestudy_middle_content {
        padding: 2.564vw;
        border-radius: 0px 0px 5.128vw 5.128vw;
    }
    .casestudy_text5 {
        font-size: 4.103vw;      
    }
    .casestudy_text6 {
        font-size: 3.59vw;       
    }
    .casestudy_icon2 {
        width: 10%;
        margin: 5.128vw auto;
    }
    @keyframes moveDown {
      0% {
        top: 0;
        opacity: 1;
      }
      50% {
        top: 1.026vw;
        opacity: 1;
      }
      100% {
        top: 0;
        opacity: 1;
      }
    }
    .casestudy_down_block {
        display: block;
        padding: 5.128vw;
    }
    .casestudy_text7 {
        font-size:  5.641vw;
        margin: 0 0 1.282vw 0;             
    }
    .casestudy_text8 {
        font-size: 3.59vw;               
    }
}
/* example */
.example_area {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.example_block {
    width: 32.2%;
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border-radius: min(1.667vw, 32px);
    padding: min(1.667vw,32px);
    box-sizing: border-box;
    margin: 0 1.7% min(1.667vw, 32px) 0;
}
.example_block:nth-child(3n) {
    margin: 0 0 min(1.667vw, 32px) 0;
}
.example_h3 {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(1.458vw, 28px);
    line-height: 1.3;
    font-weight: 700;
    color: #000000;
    margin: 0 0 min(0.8333vw, 16px) 0;
}
.example_img1 {
    margin: 0 0 min(0.833vw,16px) 0;
}
.example_ul {
    list-style-type: disc;
    padding: 0 0 0 min(1.667vw, 32px);
}
.example_li {
    text-align: left;
    font-family: 'Noto Sans JP';
    font-size: min(1.146vw, 22px);
    line-height: 1.3;
    font-weight: 700;
    margin: 0 0 min(0.417vw, 8px) 0;
}
.example_li::marker {
    color: #0FAE5E;
}
@media screen and (max-width: 767px) {
    .example_block,
    .example_block:nth-child(3n) {
        width: 100%;
        margin: 0 0 5.128vw 0;
        padding: 5.128vw;
    }
    .example_h3 {
        font-size: 4.615vw;
    }
    .example_img1 {
        margin: 0 0 2.564vw 0;
    }
    .example_ul {
        padding: 0 0 0 5.128vw;
    }
    .example_li {
        font-size: 3.333vw;
    }
}
/* cta */
.cta_upper {
    position: relative;
}
.cta_down {
    display: flex;
}
.cta_upper_right {
    position: absolute;
    top: min(5.625vw, 108px);
    left: min(39.583vw, 760px);
    box-sizing: border-box;
}
.cta_text1 {
    text-align: left;
    font-family: 'Noto Sans JP';
    font-size: min(2.5vw, 48px);
    line-height: 1.5;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 min(0.8333vw, 16px) 0;
}
.cta_text2 {
    font-family: 'Noto Sans JP';
    font-size: min(1.667vw, 32px);
    line-height: 1.5;
    font-weight: 700;
    color: #ffffff;
    margin: 0;
}
.btn_wrapper2 {
    margin: min(2.5vw, 48px) 0 0 0;
}
@media screen and (max-width: 767px) {
    .cta_upper_right{
        top: 17.949vw;
        left: 0;
        padding: 0 5.128vw;
    }
    .cta_text1 {
        font-size: 5.128vw;
    }
    .cta_text2 {
        font-size: 4.103vw;
    }
    .btn_wrapper2 {
        display: flex;
        justify-content: center;
        margin: 10.256vw 0 0 0;
    }
}
/* reason */
.reason_text1 {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(1.302vw, 25px);
    line-height: 1.5;
    font-weight: 700;
    color: #000000;
    margin: 0 0 min(2.5vw, 48px) 0;
}
.reason_area1 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 min(6.667vw, 128px);
    box-sizing: border-box;
}
.reason_block1 {
    width: 28%;
    margin: 0 8% min(6.667vw, 128px) 0;
}
.reason_block1:nth-child(3) {
    margin: 0;
}
.reason_h3 {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(1.823vw, 35px);
    line-height: 1.5;
    font-weight: 700;
    color: #226644;
    margin: 0 0 min(1.25vw, 24px) 0;
}
.reason_text2 {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(1.406vw, 27px);
    line-height: 1.2;
    font-weight: 400;
    color: #000000;
    margin: 0;
}
.reason_img1 {
    width: 52%;
    margin: 0 auto;
}
.reason_area2 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border-radius: min(1.667vw, 32px);
    padding: min(2.5vw, 48px) min(5vw, 96px);
    box-sizing: border-box;
}
.reason_block2 {
    width: 23.8%;
    margin: 0 1.6% 0 0;
}
.reason_block2:nth-child(4) {
    margin: 0;
}
.reason_icon1 {
    margin: 0 auto min(0.833vw, 16px) auto;
}
.reason_icon2 {
    width: auto;
    height: min(5.938vw, 114px);
    margin: 0 auto min(0.833vw, 16px) auto;
}
.reason2_h3 {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(1.667vw, 32px);
    line-height: 1.2;
    font-weight: 700;
    color: #226644;
    margin: 0 0 min(0.417vw, 8px) 0;
}
.reason_text3 {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(0.99vw, 19px);
    line-height: 1.2;
    font-weight: 500;
    color: #000000;
    margin: 0;
}
@media screen and (max-width: 767px) {
    .reason_text1 {
        text-align: left;
        font-size: 3.846vw;
        padding: 0 2.564vw;
    }
    .reason_area1 {
        padding: 0;
    }
    .reason_block1,
    .reason_block1:nth-child(3) {
        width: 100%;
        margin: 0 0 7.692vw 0;
    }
    .reason_icon1 {
        width: 55%;
        margin: 0 auto 2.564vw auto;
    }
    .reason_h3 {
       font-size: 4.615vw;
    }
    .reason_text2 {
       font-size: 3.846vw;
    }
    .reason_img1 {
        width: 80%;
    }
    .reason_area2 {
        padding: 5.128vw;
    }
    .reason_block2,
    .reason_block2:nth-child(4) {
        width: 100%;
        margin: 0 0 7.692vw 0;
    }
    .reason_icon2 {
        margin: 0 auto 2.564vw auto;
    }
    .reason2_h3 {
       font-size: 4.615vw;
    }
    .reason_text3 {
       font-size: 3.846vw;        
    }
}
/* features */
.features_middle_area {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 min(5vw, 96px);
    box-sizing: border-box;
    margin: min(2.5vw, 48px) 0 0 0;
}
.casestudy_area_upper._shrink {
    padding: 0 min(4.167vw, 80px);
    box-sizing: border-box;
}
.features_block {
    width: 31%;
    margin: 0 3.5% 0 0;
}
.features_block:nth-child(3) {
    margin: 0;
}
.features_h3 {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(1.979vw, 38px);
    line-height: 1.3;
    font-weight: 700;
    color: #000000;
    margin: 0 0 min(0.833vw, 16px) 0;
}
.features_img1 {
    margin: 0 0 min(0.833vw, 16px) 0;
}
.features_text1 {
    font-family: 'Noto Sans JP';
    font-size: min(1.302vw, 25px);
    line-height: 1.5;
    font-weight: 400;
    color: #000000;
    margin: 0;
}
.features_under_area {
    display: flex;
    justify-content: center;
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border-radius: min(1.563vw, 30px);
    padding: min(3.646vw, 70px);
    margin: min(5.833vw, 112px) 0 0 0;
}
.features_img2 {
    width: min(17.813vw, 342px);
}
.features_under_content {
    width: min(40vw, 768px);
    margin: 0 0 0 min(4.792vw, 92px);
}
.features2_h3 {
    text-align: left;
    font-family: 'Noto Sans JP';
    font-size: min(2.5vw, 48px);
    line-height: 1.2;
    font-weight: 800;
    color: #0FAE5E;
    margin: 0 0 min(1.458vw, 28px) 0;
}
.features_li {
    display: flex;
    align-items: center;
    font-family: 'Noto Sans JP';
    font-size: min(1.667vw, 32px);
    line-height: 1.4;
    font-weight: 700;
    color: #000000;
    margin: 0 0 min(1.302vw, 25px) 0;
}
.features_img3 {
    width: min(2.083vw, 40px);
    margin: 0 min(0.417vw, 8px) 0 min(0.26vw, 5px);
}
@media screen and (max-width: 767px) {
    .features_middle_area {
        padding: 0;
    }
    .features_block,
    .features_block:nth-child(3) {
        width: 100%;
        margin: 7.692vw 0 0 0;
    }
    .features_h3 {
        font-size: 4.615vw;
        margin: 0 0 1.282vw 0;
    }
    .features_text1 {
        font-size: 3.846vw;
    }
    .features_under_area {
        display: block;
        padding: 2.564vw;
    }
    .features_under_content {
        margin: 0;
    }
    .features_img2 {
        width: 50%;
        margin: 0 auto 2.564vw auto;
    }
    .features2_h3 {
        font-size: 4.615vw;
        margin: 0 0 2.564vw 0;        
    }
    .features_under_content {
        width: 100%;
        text-align: center;
    }
    .features_img3 {
        width: 5.128vw;
        margin: 0 1.026vw 0 0;
    }
    .features_li {
        font-size: 3.59vw;
        margin: 0 0 1.282vw 0;
    }
}
/* faq */
.accordion {
    border-bottom: 1px solid #DDDDDD;
}

.accordion_img1 {
    width: min(3.333vw, 64px);
    height: auto;
    margin: 0 min(0.8333vw, 16px) 0 0;
    flex-shrink: 0;
}

.accordion summary {
    display: flex;
    cursor: pointer;
    position: relative;
    align-items: start;
    padding: min(1.406vw, 27px) min(2.24vw, 43px) min(1.406vw, 27px) 0;
    box-sizing: border-box;
    width: 100%;
}

.accordion_text1 {
    text-align: left;
    font-family: 'Noto Sans JP';
    font-size: min(1.458vw, 28px);
    line-height: 1.5;
    font-weight: 700;
    color: #000000;
    margin: 0;
}

.accordion_text2 {
    text-align: left;
    font-family: 'Noto Sans JP';
    font-size: min(1.302vw, 25px);
    line-height: 1.6;
    font-weight: 400;
    color: #000000;
    margin: 0;
}

.accordion summary::-webkit-details-marker {
    display: none;
}

.accordion summary::after {
    content: '';
    transform: translateY(-25%) rotate(45deg);
    width: min(0.521vw, 10px);
    height: min(0.521vw, 10px);
    border-bottom: 2px solid #4A5F43;
    border-right: 2px solid #4A5F43;
    transition: transform .4s;
    top: 45%;
    right: min(0.833vw, 16px);
    position: absolute;
    flex-shrink: 0;
}

.accordion[open] summary::after {
    transform: rotate(225deg);
}

.accordion[open] .answer p {
    transform: none;
    opacity: 1;
}

.answer {
    display: flex;
    align-items: start;
    padding: 0 min(2.24vw, 43px) min(1.406vw, 27px) 0;
}
@media screen and (max-width: 767px) {
    .accordion_img1 {
        width: 6.41vw;
    }
    .accordion summary {
        align-items: start;
        padding: 3.077vw 5.641vw 3.077vw 0;
    }
    .accordion_text1 {
        font-size:  4.103vw;
    }
    .accordion_text2 {
        font-size:  3.59vw;
    }
    .answer {
        padding: 0 5.641vw 3.077vw 0;
    }
    .accordion summary::after {
        width:   1.795vw;
        height: 1.795vw;
    }
}
/* partner */
.partner {
    background: transparent linear-gradient(283deg, #E7FAF1 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box;
}
.partner_block {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.partner_text1 {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(1.458vw, 28px);
    font-weight: 700;
    line-height: 1.5;
    color: #0FAE5E;
    margin: 0 min(1.25vw, 24px);
}
.btn_wrapper3 {
    display: flex;
    justify-content: center;
    margin: min(2.5vw, 48px) 0 0 0;
}
.btn_more3 {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    box-shadow: 0px min(0.26vw, 5px) min(0.833vw, 16px) #00000029;
    border-radius: min(3.75vw, 72px);
    padding: min(0.833vw, 16px) min(4.176vw, 80px);
    text-decoration: none;
}
.btn_text3 {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(1.667vw, 32px);
    font-weight: 700;
    line-height: 1.2;
    color: #0FAE5E;
}
.btn_more3:hover {
    background: #0FAE5E;
}
.btn_more3:hover .btn_text3 {
    color: #fff;
}
@media screen and (max-width: 767px) {
    .partner_text1 {
        font-size: 4.103vw;
    }
    .btn_wrapper3 {
        margin: 7.692vw 0 0 0;
    }
    .btn_more3 {
        padding: 2.564vw 7.692vw;
        border-radius: 11.538vw;
    }
    .btn_text3 {
        font-size: 4.615vw;
    }
}
/* footer */
.footer {
    background: #263B30 0% 0% no-repeat padding-box;
    box-sizing: border-box;
    text-align: center;
    padding: 56px 0;
}
.footer_flex {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}
.footer_link {
    text-decoration: underline;
    font: normal normal normal 15px/30px Noto Sans JP;
    margin: 0 15px;
    color: #FFFFFF;
}
.footer_text1 {
    font: normal normal normal 12px/30px Noto Sans JP;
    letter-spacing: 0px;
    color: #FFFFFF;
    margin: 30px 0 0 0;
    text-decoration: none;
    opacity: 0.3;
}
.fixed_cta_left {
    margin: 0 min(0.8333vw, 16px) 0 0;
}
.fixed_cta {
    width: 100%;
    position: fixed;
    height: auto;
    bottom: 0;
    background: #fff;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    z-index: 13;
    padding: min(0.625vw, 12px) 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.fixed_cta.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.fixed_cta.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}
.fixed_logo {
    margin: 0;
}
.fixed_cta_text1 {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(0.833vw, 16px);
    font-weight: 400;
    line-height: 1;
    color: #000000;
    margin: 0;
}
.fixed_cta_btn1,
.fixed_cta_btn2 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0px 3px 10px #00000029;
    border-radius: min(3.802vw, 73px);
    border: none;
    line-height: 1;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    font-weight: 700;
    color: #fff;
}
.fixed_cta_btn2.sp {
    display: none;
}
.fixed_cta_btn1 {
    padding: min(0.833vw, 16px) min(5vw, 96px);
    background: transparent linear-gradient(90deg, #11B764 0%, #008662 100%) 0% 0% no-repeat padding-box;
    font-family: 'Noto Sans JP';
    font-size: min(1.458vw, 28px);
    margin: 0 min(0.8333vw, 8px) 0 0;
}
.fixed_cta_btn2 {
    padding: min(0.208vw, 4px) min(3.75vw, 72px) min(0.417vw, 8px) min(3.75vw, 72px);
    background: #000;
}
.fixed_cta_text2 {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(0.99vw, 19px);
    margin: 0 0 min(0.26vw, 5px) 0;
}
.fixed_cta_text2 span {
    font-size: min(1.563vw, 30px);
}
.fixed_cta_text3 {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-size: min(0.729vw, 14px);
    margin: 0;
}
.fixed_cta_text3 span {
    font-size: min(0.625vw, 12px);
}
.fixed_cta_btn1:hover {
    transform: translateY(-4px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    background: #fff;
}
.fixed_cta_btn1:hover .fixed_cta_text1 {
    color: #226644;
}
.cta_btn_img1 {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: min( 1.25vw, 24px);
    width: min(1.146vw, 22px);
    transition: right 0.3s ease;
}
.fixed_cta_btn1:hover .cta_btn_img1 {
    right: min(1.146vw, 22px);
}

.fixed_cta_btn1:hover .cta_btn_img1 {
    filter: brightness(0) saturate(100%) invert(31%) sepia(15%) saturate(1786%) hue-rotate(97deg) brightness(94%) contrast(85%);
}
@media screen and (max-width: 767px) {
    .fixed_cta {
        padding: 2.051vw 0;
    }
    .fixed_cta_btn1 {
        width: 95%;
        padding: 2.051vw 0;
        font-size: 4.615vw;
        margin: 0 0 2.564vw 0;
    }
    .fixed_cta_btn2.pc {
        display: none; 
    }
    .fixed_cta_btn2.sp {
        display: block; 
    }
    .fixed_cta_btn2 {
        width: 95%;
        padding: 1.026vw 0;
    }
    .fixed_cta_btn2:hover .fixed_cta_text2,
    .fixed_cta_btn2:hover .fixed_cta_text3 {
        color: #000;
    }
    .fixed_cta_btn2:hover {
        transform: translateY(-4px);
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
        background: #fff;
    }
    .fixed_cta_btn2:hover .cta_btn_img1 {
        filter: brightness(0) saturate(100%) invert(0%) sepia(100%) saturate(8%) hue-rotate(101deg) brightness(96%) contrast(96%);
    }
    .fixed_cta_btn2:hover .cta_btn_img1 {
        right: min(1.146vw, 22px);

    }
    .fixed_cta_text2 {
        font-size: 3.077vw;
        margin: 0 0 1.026vw 0;
    }
    .fixed_cta_text2 span {
        font-size: 4.615vw;
    }
    .fixed_cta_text3 {
        font-size: 2.308vw;
    }
    .fixed_cta_text3 span {
        font-size: 2.051vw;
    }
    .cta_btn_img1 {
        right: 3.077vw;
        width: 3.077vw;
    }
}
/* animation */
.fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}