@charset "utf-8";

/* ----------------------------------
コンセプト
---------------------------------- */
#content_Wrap .inner {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

#refa .main {
  }

h3.sub_ttl {
    margin: 80px auto 80px;
    font-size: min(5vw, 30px);
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 0.05em;
    text-align: center;
    width: 95%;
}

h4 {
    font-size: min(4.6vw, 22px);
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0.1em;
    margin-bottom: 1em;
}

h5 {
    font-size: min(4.4vw, 20px);
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 0.08em;
    margin-bottom: 0.5em;
}

h6 {
    font-size: min(4.4vw, 18px);
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 0.08em;
    margin-bottom: 0.5em;
}

p {
    font-size: min(3.6vw, 16px);
    line-height: 1.5;
    letter-spacing: 0.1em;
}

.cap_txt02 {
    font-size: min(4.0vw, 14px);
    line-height: 1.3;
    margin-top: 5px;
}

.flex_box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 2.0em 2.5em 1.3em;
}
.flex_box.blue {
    background-color: #f0f3fa;
}
.flex_box .left {
    width: 49%;
}
.flex_box .right {
    width: 48%;
}
.flex_box .ttl {
}

.merit_area {
    max-width: 1100px;
    width: 100%;
    margin: 80px auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
}
.merit_area .left {
    width: 56%;
}
.merit_area .right {
    width: 40%;
}
.merit_area .right figure:first-child {
    width: 75%;
    margin: 0 auto 60px;
}
.line_ttl {
    text-align: left;
    border-bottom: #2e2e2e 1px solid;
    padding-bottom: 0.4em;
    margin-bottom: 1.2em;
}
.m_box {
    margin: 0 auto 30px;
}
.flex_box.merit {
    padding: 0;
    width: 100%;
    gap: 10px;
    margin-bottom: 20px;
}
.flex_box.merit figure {
    width: 48%;
}
.flex_box.merit p {
    width: 48%;
}
.flex_box.merit .ttl {
    width: 48%;
}
.flex_box.merit .ttl p {
    width: 100%;
}
.flex_box.merit .box_ttl {
    border: 1px solid #2e2e2e;
    width: fit-content;
    padding: 0.1em 0.4em;
}
.flex_box.merit.last {
        margin: 0 auto 80px;
}
.flex_box.merit.last .ttl,.flex_box.merit.last .ttl p {
    width: 100%;
}

.mode {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}
.flex_box_04 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 auto 80px;
}
.flex_box_04 figure {
    width: calc(100% / 4 - 2%);
}
.flex_box_04 figure:nth-child(-n+2) {
    margin-bottom: 1.0em;
}

.flex_box.gray {
    background-color: #f4f4f4;
    padding: 2.0em 2.5em 1.5em;
    margin: 0 auto 100px;
}
.flex_box.gray .left {
    width: 10%;
}
.flex_box.gray .right {
    width: 85%;
}
.flex_box.gray .right .small {
    margin-top: 10px;
}

/*---------------------------
sp
---------------------------*/
@media only screen and (max-width: 820px) {
    .refa_content {
        padding: 50px 0 0;
    }


    h3.sub_ttl {
        margin: 0px auto 30px;
        width: 100%;
    }

    h4 {
        letter-spacing: 0.06em;
        margin: 10px auto 20px;
    }

    p {
        line-height: 2;
    }

    .cap_txt02 {
        text-align: center;
    }

    .flex_box {
        gap: 15px;
        padding: 1.5em 0.9em 1.5em;
    }
    .flex_box .ttl {
        margin: 0px auto 20px;
    }
    .flex_box .left,.flex_box .right {
        width: 100%;
    }
    /* .js-scrollable {
        overflow-y: hidden!important;
      }
      .js-scrollable img {
        width: 600px!important;
        height: auto;
        max-width: initial;
      } */

    .refa_img {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
    margin: 40px auto 50px;
     gap: 10px;
    }
    .refa_img .left {
        width: 95%;
        margin: 0 auto;
    }
    .refa_img .right {
        width: 90%;
        margin: 0 auto;
    }

    .merit_area {
        margin: 50px auto;
        display: block;
    }
    .merit_area .left {
    width: 100%;
}
    .m_box {
    margin: 0 auto 40px;
}
    .flex_box.merit {
    padding: 0;
    gap: 10px;
    margin-bottom: 30px;
}
    .flex_box.merit figure {
    width: 100%;
}
.flex_box.merit p,.flex_box.merit .ttl,.flex_box.merit .ttl p{
    width: 100%;
    margin-bottom: 0em;
}
.flex_box.merit .box_ttl {
        margin-bottom: 0.5em;
}
.flex_box.merit.last .ttl, .flex_box.merit.last .ttl p {
    margin-bottom: 0em;
}
.flex_box.merit.last {
    margin: 0 auto 50px;
}

.line_ttl {
    padding-bottom: 0.5em;
    margin-bottom: 1.0em;
}

.flex_box_04 {
    margin: 0 auto 50px;
}
.flex_box_04 figure {
    width: calc(100% / 2 - 2%);
    margin: 0 auto 10px;
}

.flex_box.gray {
    padding: 1.5em 1.0em 1.5em;
    margin: 0 auto 60px;
}
.flex_box.gray .left {
    width: 30%;
    margin: 0 auto;
}
.flex_box.gray .right {
    width: 100%;
}
.flex_box.gray .right .small {
    margin-top: 5px;
}

}