@charset "utf-8";

/* ==================================================== */

/*  変数
/* ==================================================== */

/*ベージュグラデーション*/:root {
    --home-main-gradation: linear-gradient(105deg, #d4996d 0%, #a67764 100%);
}

/*グリーングラデーション*/
:root {
    --home-green-gradation: linear-gradient(105deg, #a0ca29 0%, #68850a 100%);
}

/*ホワイトグラデーション*/
:root {
    --home-white-gradation: linear-gradient(126.48deg, rgba(248, 248, 248, 1) 0.12%, rgba(240, 237, 234, 1) 49.1%, rgba(235, 230, 224, 1) 99.95%);
}

/*共通グリーンボタン*/
.btn-block {
    text-align: center;
}

.btn-block .btn-more {
    display: inline-block;
    padding: 13px 20px;
    background: var(--home-green-gradation);
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    color: #fff;
    transition: all 0.3s ease;
}

.btn-block .btn-more:hover {
    background: linear-gradient(305deg, #bee152 0%, #809831 100%);
    transition: all 0.3s ease;
    opacity: 1;
}

/*背景画像固定*/
.parallax01.block::before {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100vh;
    background: url(../img/home/melon-bg.jpg) no-repeat;
    background-position: center;
    background-size: cover;
    content: "";
}

.parallax02::before {
    background: none;
}

@media screen and (max-width:767px) {
    .parallax02::before {
        position: fixed;
        top: 0;
        left: 0;
        z-index: -1;
        width: 100%;
        height: 100vh;
        background: url(../img/home/bg.png) no-repeat;
        background-position: center;
        background-size: cover;
        content: "";
    }

    .parallax01.block::before {
        position: fixed;
        top: 0;
        left: 0;
        z-index: -1;
        width: 100%;
        height: 100vh;
        background: url(../img/home/sp-melon-bg.jpg) no-repeat;
        background-position: center;
        background-size: cover;
        content: "";
    }
}

/*  FV
/* ==================================================== */
.mainvisual {
    position: relative;
    width: 100%;
    height: 552px;
    background: var(--home-white-gradation);
}

.mainvisual .mainvisual_text {
    position: absolute;
    top: 30%;
    left: 50%;
    z-index: 2;
    display: block;
    width: 35.505vw;
    max-width: 485px;
    text-align: center;
}

.mainvisual .mainvisual_text h1 {
    margin-bottom: 38px;
}

.mainvisual .mainvisual_text .img-award {
    margin-bottom: 30px;
}

.mainvisual .mainvisual_text .fv-magazine {
    font-size: clamp(11px, calc(12px + (15 - 12) * ((100vw - 768px) / (1366 - 768))), 15px);
    text-align: center;
    letter-spacing: 0.8px;
    color: #80584f;
}

.mainvisual .mainvisual_text .fv-magazine span {
    display: block;
    font-size: clamp(10px, calc(12px + (13 - 10) * ((100vw - 768px) / (1366 - 768))), 13px);
}


.mainvisual .mainvisual-img {
    display: block;
    height: 552px;
    background: url(../img/home/fv-main.png) no-repeat;
    background-position: bottom right 75%;
    background-size: 420px;
}




@media screen and (max-width:1024px) {
    .mainvisual {
        height: auto;
    }

    .mainvisual .mainvisual_text {
        position: relative;
        top: 0;
        left: 0;
        width: 77.474vw;
        margin: auto;
        padding-top: 15vw;
    }

    .mainvisual .mainvisual-img {
        height: 85vw;
        background-position: bottom right 10%;
        background-size: 75.521vw;
    }
}

/*  read
/* ==================================================== */
.read {
    background-color: #fff;
    text-align: center;
}

.read p {
    /*  padding:14.129vw 0 10.981vw;*/
    padding: 3vw 0;
    font-size: clamp(11px, calc(11px + (24 - 11) * ((100vw - 768px) / (1366 - 768))), 24px);
    font-weight: bold;
    line-height: 1.8;
}

.read a {
    display: inline-block;
    margin-bottom: 4.832vw;
    border-bottom: 1px solid #a77966;
    font-size: 1.3rem;
    line-height: 1;
    letter-spacing: -0.05em;
}

@media screen and (max-width:1024px) {
    .read .img-award {
        margin-top: 28px;
    }
    .read .fv-magazine {
        padding: 3vw 0 0;
        text-align: center;
        font-size: clamp(14px, calc(12px + (13 - 10) * ((100vw - 768px) / (1366 - 768))), 16px);
        font-weight: normal;
        line-height: 1.7;
    }
    .read .fv-magazine span {
        display: block;
        font-size: clamp(11px, calc(12px + (13 - 10) * ((100vw - 768px) / (1366 - 768))), 13px);
        text-align: center;
    }
}

@media screen and (max-width:767px) {
    .read p {
        padding: 14vw 10%;
        line-height: 2;
        text-align: left;
    }

    .read a {
        margin-bottom: 40px;
    }
}

/*  feature
/* ==================================================== */
.feature {
    padding: clamp(60px, calc(60px + (96 - 60) * ((100vw - 768px) / (1366 - 768))), 96px) 0 clamp(60px, calc(60px + (96 - 60) * ((100vw - 768px) / (1366 - 768))), 96px);
}

.feature .inner .feature_box {
    position: relative;
    max-width: 1100px;
    margin: 0 auto clamp(60px, calc(60px + (96 - 60) * ((100vw - 768px) / (1366 - 768))), 96px);
    padding: 35px 56px 35px 40px;
    border-radius: 90px 0 0 0;
    background-color: #fff;
}

.feature .inner .feature_box:last-of-type {
    margin-bottom: 0;
}

.feature .inner .feature_box.feature_box::before {
    position: absolute;
    top: -20px;
    left: 0;
    display: inline-block;
    width: clamp(120px, calc(120px + (165 - 120) * ((100vw - 768px) / (1366 - 768))), 165px);
    height: clamp(146px, calc(146px + (189 - 146) * ((100vw - 768px) / (1366 - 768))), 189px);
    background-size: contain;
    vertical-align: middle;
    content: "";
}

.feature .inner .feature_box.feature_box_01::before {
    background: url(../img/home/feature-01.svg) no-repeat;
}

.feature .inner .feature_box.feature_box_02::before {
    background: url(../img/home/feature-02.svg) no-repeat;
}

.feature .inner .feature_box.feature_box_03::before {
    background: url(../img/home/feature-03.svg) no-repeat;
}

.feature .inner .feature_box .flex {
    justify-content: space-between;
}

.feature .inner .feature_box .flex div {
    width: 47%;
    max-width: 480px;
}

.feature .inner .feature_box .flex div h3 {
    position: relative;
    top: -20px;
    display: flex;
    align-items: center;
    height: clamp(95px, calc(95px + (155 - 95) * ((100vw - 768px) / (1366 - 768))), 155px);
    padding-left: clamp(85px, calc(85px + (145 - 85) * ((100vw - 768px) / (1366 - 768))), 145px);
    font-size: clamp(20px, calc(20px + (30 - 20) * ((100vw - 768px) / (1366 - 768))), 30px);
    line-height: 1.5;

    font-feature-settings: "palt";
}

.feature .inner .feature_box .flex div p {
    line-height: 1.72;
    text-align: justify;
    text-justify: inter-ideograph;
    text-justify: inter-character;
}

.feature .inner .feature_box .flex figure {
    width: 49%;
    max-width: 488px;
}

@media screen and (max-width:1024px) {
    .feature .inner .feature_box {
        border-radius: 75px 0 0 0;
    }

    .feature .inner .feature_box.feature_box::before {
        top: -17px;
    }

    .feature .inner .feature_box .flex div {
        width: 50%;
    }

    .feature .inner .feature_box .flex figure {
        width: 46%;
    }
}

@media screen and (max-width:767px) {
    .bg-fixed-area::before {
        position: fixed;
        top: 0;
        left: 0;
        z-index: -1;
        display: block;
        width: 100%;
        height: 100vh;
        background: url(../img/home/bg.png) no-repeat;
                background-position: top center;
        -webkit-background-size: cover;
                background-size: cover;
        content: "";

        -webkit-background-position: top center;
    }

    .bg-fixed-area.bg-fixed-area-sp::before {
        position: fixed;
        z-index: -1;
        display: inline-block;
        width: 100%;
        height: 100vh;
        background: url(../img/home/sp-melon-bg.jpg) no-repeat;
                background-position: center;
        -webkit-background-size: cover;
                background-size: cover;
        content: "";

        -webkit-background-position: center;
    }

    .feature .inner .feature_box {
        padding: 20px;
    }

    .feature .inner .feature_box .flex {
        display: block;
    }

    .feature .inner .feature_box .flex div,
    .feature .inner .feature_box .flex figure {
        width: 100%;
        max-width: 100%;
    }

    .feature .inner .feature_box .flex div {
        margin-bottom: 20px;
    }

    .feature .inner .feature_box .flex div h3 {
        font-weight: bold;
    }

    .feature .inner .feature_box.feature_box::before {
        top: -13px;
        max-width: 100px;
        max-height: 114px;
    }

    .feature .inner .feature_box .flex div h3 {
        top: -10px;
        display: flex;
        align-items: center;
        padding-left: clamp(90px, calc(90px + (135 - 90) * ((100vw - 768px) / (1366 - 768))), 135px);
        font-size: calc(1.55rem + ((1vw - 0.3rem) * 1));
        letter-spacing: 0;
    }
}

/*  product
/* ==================================================== */
.product {
    background-color: #fff;
}

.product .onlineshop_tit {
    position: relative;
    margin: 0 auto;
    padding: 4.758vw 0 30px;
}

.product .onlineshop_tit figure {
    position: relative;
    width: 256px;
    margin: 0 auto;
}

.product .onlineshop_tit figure:after {
    position: absolute;
    top: 0;
    right: -190px;
    display: inline-block;
    width: 138px;
    height: 127px;
    background: url(../img/shopping/AmazonPay_02.png) no-repeat;
    background-size: contain;
    vertical-align: middle;
    content: "";
}

.product .product-img {
    position: relative;
}

.product .product-img .package {
    width: 50%;
    max-width: 310px;
    margin: 0 auto 20px;
}

.product .product-img .tablet-img {
    position: absolute;
    bottom: 30px;
    left: calc(50% + 195px);
    width: 16%;
    max-width: 165px;
}

.product .product_block {
    justify-content: space-between;
    max-width: 813px;
    margin: 0 auto;
    padding: 0 20px;
}

.product .product_block .product_block_box {
    width: 48%;
    text-align: center;
}

.product .product_block .product_block_box .product_block_text {
    font-size: 1.8rem;
}

.product .product_block .product_block_box .product_block_text span {
    display: block;
    padding: 10px 0;
    font-size: 1.5rem;
}

.product .product_block .product_block_box .price {
    margin-bottom: 38px;
    font-size: 2.6rem;
    font-weight: bold;

    font-feature-settings: "palt";
}

.product .product_block .product_block_box .price span {
    display: inline-block;
    padding-right: 10px;
    font-size: 1.8rem;
    font-weight: normal;
    text-decoration: line-through;
}

.product .product_block .product_block_box .price span.tax {
    padding-right: 0;
    font-size: 1.3rem;
    font-weight: bold;
    text-decoration: none;
}

.product .product_block .product_block_box .product-button {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 356px;
}

.product-button a {
    position: relative;
    display: inline-block;
    width: 48%;
    max-width: 173px;
    padding: 14px 0;
    font-size: 1.7rem;
    line-height: 1;
    text-align: center;
    color: #fff;
}

.product-button a.off-icon:before {
    position: absolute;
    bottom: 15px;
    left: -22px;
    display: inline-block;
    width: 62px;
    height: 70px;
    background: url(../img/home/off-icon.svg) no-repeat;
    background-size: contain;
    vertical-align: middle;
    content: "";
}

.product-button a.product-button_detail {
    background: var(--home-main-gradation);
    transition: all 0.3s ease;
}

.product-button a.product-button_detail:hover {
    background: linear-gradient(140deg, #a77966 0%, #dfb392 100%);
    transition: all 0.3s ease;
    opacity: 1;
}

.product-button a.product-button_buy {
    background: var(--home-green-gradation);
    transition: all 0.3s ease;
}

.product-button a.product-button_buy:hover {
    background: linear-gradient(305deg, #bee152 0%, #809831 100%);
    transition: all 0.3s ease;
    opacity: 1;
}

@media screen and (max-width:767px) {
    .product {
        padding-bottom: 1px;
    }

    .product .onlineshop_tit {
        padding: 15.49vw 0 20px;
    }

    .product .onlineshop_tit figure {
        width: 217px;
    }

    .product .onlineshop_tit figure:after {
        display: none;
        background: none;
    }

    .product .onlineshop_tit:after {
        position: static;
        display: inline-block;
        width: 100%;
        height: 74px;
        background: url(../img/shopping/AmazonPay_sp.png) no-repeat;
        background-position: center;
        background-size: contain;
        vertical-align: middle;
        content: "";
    }

    .product .product-img .tablet-img {
        left: 76%;
        width: 18%;
    }

    .product .product_block {
        display: block;
    }

    .product .product_block .product_block_box {
        width: 100%;
    }

    .product .product_block .product_block_box:first-of-type {
        margin-bottom: 50px;
    }

    .product .product_block .product_block_box .product-button {
        margin: 0 auto;
    }

    .product .product_block .product_block_box .product_block_text span {
        padding: 5px 0;
    }

    .product .product_block .product_block_box .price {
        margin-bottom: 10px;
        font-size: 2.2rem;
    }

    .product .product_block .product_block_box .price span {
        display: block;
        padding-right: 0;
    }
}

/*  ご愛用者の声
/* ==================================================== */
.voice {
    padding-bottom: 86px;
    background: url(../img/home/bg.png) no-repeat;
    background-position: top center;
    background-size: cover;
}

.voice h2 {
    width: 236px;
    margin: 0 auto;
    padding: 5.49vw 0 0;
}

.voice p.sub_h2 {
    padding: 2vw 0 5vw;
    font-size: clamp(14px, calc(14px + (17 - 14) * ((100vw - 768px) / (1366 - 768))), 17px);
    font-weight: bold;
    text-align: center;
}

.review_sec {
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    max-width: 920px;
    margin: 0 auto;
    padding: 0 40px;
}

.review_sec .flexInner {
    width: 30.5%;
}

.review_sec.pohto-person {
    margin-bottom: 5px;
    padding-top: clamp(60px, calc(60px + (100 - 60) * ((100vw - 768px) / (1366 - 768))), 100px);
}

.review_sec.pohto-person .memoInner {
    margin-bottom: 0;
}

.review_sec .memoInner .photo-name {
    margin: 10px 0 15px;
    font-size: 1.3rem;
    text-align: center;

    font-feature-settings: "palt";
}

.review_sec .memoInner .photo-name span {
    display: block;
    font-size: 1.8rem;
    font-weight: bold;
}

.voice .btn-block.voice-btn {
    margin-top: 30px;
}

.voice .btn-block.voice-btn a:hover {
    background: linear-gradient(305deg, #bee152 0%, #809831 100%);
    opacity: 1;
}

.review_sec .memoInner {
    width: 100%;
    padding: 20px;
}

.review_sec .memoInner p {
    text-align: justify;
    text-justify: inter-ideograph;
    text-justify: inter-character;

    font-feature-settings: "palt";
}

.review_sec .memoInner .p-title {
    position: relative;
    margin-bottom: 5px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.5;
}

.review_sec .memoInner .p-title::after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 7px;
    height: 7px;
    border: 1px solid #80584f;
    border-bottom: none;
    border-left: none;
    content: "";
    -webkit-transform: translateY(-50%);
    -webkit-transform: rotate(45deg);
        -ms-transform: translateY(-50%);
        -ms-transform: rotate(45deg);
            transform: translateY(-50%);
            transform: rotate(45deg);
}

.review_sec .memoInner .data {
    position: relative;
    margin-bottom: 6px;
    padding-left: 42px;
    font-size: 1.3rem;
    line-height: 1.4;

    font-feature-settings: "palt";
}

.review_sec .memoInner .data:before {
    position: absolute;
    top: 47%;
    left: 0;
    display: inline-block;
    width: 35px;
    height: 35px;
    background-image: url(../img/home/icon_review.svg);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    content: "";
    -webkit-transform: translateY(-47%);
        -ms-transform: translateY(-47%);
            transform: translateY(-47%);
}

.review_sec .memoInner .star {
    margin: 9px 0 5px;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1;
    color: #ff851c;
}

@media screen and (max-width:767px) {
    .review_sec {
        display: block;
        padding: 0 7%;
    }

    .review_sec .flexInner {
        width: 100%;
    }

    .review_sec.pohto-person {
        margin-bottom: 40px;
    }

    .review_sec .memoInner .photo-name {
        margin: 10px 0 10px;
    }

    .review_sec.pohto-person .memoInner {
        margin-bottom: 40px;
    }

    .review_sec .memoInner {
        margin-bottom: 20px;
    }

    .review_sec .memoInner {
        padding: 0;
    }

    .review_sec .memoInner figure {
        width: 80%;
        margin: 0 auto;
    }

    .review_sec .memoInner .data {
        padding-left: 32px;
    }

    .review_sec .memoInner .data:before {
        width: 25px;
        height: 25px;
    }
}

.voice .voice-graph {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 920px;
    margin: 0 auto;
    padding: 0 40px 0;
}

.voice .voice-graph .voice-graph_box {
    position: relative;
    width: 50%;
}

.voice .voice-graph .note {
    width: 100%;
    padding-top: 3vw;
    font-size: 1.2rem;
    text-align: center;
    letter-spacing: 0.01em;
}

.voice .voice-graph .voice-graph_box p {
    margin-bottom: 2vw;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
}

.voice .voice-graph .voice-graph_box figure {
    max-width: 317px;
    margin: 0 auto;
}

.voice .voice-graph .voice-graph_box:first-of-type figure {
    max-width: 288px;
}

@media screen and (max-width:767px) {
    .voice {
        background: none;
    }

    .voice h2 {
        width: 200px;
        padding: 15.49vw 0 0;
    }

    .voice p.sub_h2 {
        padding: 4vw 5% 40px;
        text-align: left;
    }

    .voice .voice-graph {
        display: block;
        padding: 0 5%;
    }

    .voice .voice-graph .voice-graph_box {
        width: 100%;
    }

    .voice .voice-graph .voice-graph_box figure {
        width: 100%;
        margin-bottom: 50px;
    }

    .voice .voice-graph .note {
        display: inline-block;
        width: auto;
        padding: 0 0 0 calc(50% - 105px);
        text-align: left;
    }

    .voice .voice-graph .voice-graph_box p {
        margin-bottom: 5vw;
        font-size: 1.7rem;
        letter-spacing: 0;
    }
}

/*  JOURNAL
/* ==================================================== */
.journal {
    padding-bottom: 4.612vw;
    background: var(--home-white-gradation);
}

.journal .journal_tit {
    width: 212px;
    margin: 0 auto;
    padding: 6vw 0 5vw;
    /*  padding:4.758vw 0 3.514vw;*/
}

.journal .inner {
    /* 1020px; */
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 40px;
}

.journal .journal_wrap {
    display: flex;
    flex-wrap: wrap;
}

.journal .journal_wrap article {
    width: 22.75%;
    margin-right: 2.96%;
    margin-bottom: 4.392vw;
}

.journal .journal_wrap article:nth-child(4n) {
    margin-right: 0;
}

.journal .journal_wrap article p {
    padding-top: 5px;
    font-size: clamp(14px, calc(14px + (17 - 14) * ((100vw - 768px) / (1366 - 768))), 17px);
    text-align: center;
}

@media screen and (max-width:767px) {
    .journal {
        padding-bottom: 50px;
    }

    .journal .journal_tit {
        width: 180px;
        padding: 15.49vw 0 11.37vw;
    }

    .journal .inner {
        padding: 0 5%;
    }

    .journal .journal_wrap {
        margin-bottom: 30px;
    }

    .journal .journal_wrap article {
        width: 48%;
        margin-right: 4%;
    }

    .journal .journal_wrap article:nth-child(2n) {
        margin-right: 0;
    }

    .journal .journal_wrap article p {
        font-size: 1.5rem;
        font-weight: bold;
    }
}

/*  TOPICS
/* ==================================================== */
.news {
    padding-bottom: 57px;
    background: url(../img/home/bg-topics.png) no-repeat;
    background-position: top center;
    background-size: cover;
}

.news .news_tit {
    width: 252px;
    margin: 0 auto;
    padding: 4.758vw 0 3.514vw;
}

.news .inner {
    position: relative;
    max-width: 910px;
}

.news .post_list {
    margin-bottom: 45px;
}

.news .post_list article {
    display: flex;
    font-size: clamp(15px, calc(15px + (18 - 15) * ((100vw - 768px) / (1366 - 768))), 18px);
}

.news .post_list article .time {
    margin-right: 30px;
}

.news .post_list article .time time {
    display: block;
    padding: 10px 0;
}

.news .post_list article h3 {
    padding-top: 10px;
    font-size: clamp(15px, calc(15px + (19 - 15) * ((100vw - 768px) / (1366 - 768))), 19px);
    line-height: 1.5;
}

.news .post_list article h3 a {
    position: relative;
    display: block;
}

.news .post_list article h3.title-link a:after {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-left: 10px;
    border: 0;
    border-top: solid 1px #80584f;
    border-right: solid 1px #80584f;
    content: "";
    transform: rotate(45deg);
}

.news .post_list article h3.popup-link a:after {
    display: inline-block;
    width: 18px;
    height: 20px;
    margin-left: 5px;
    background: url(../img/home/popup.svg) no-repeat;
    background-size: contain;
    vertical-align: middle;
    content: "";
}

@media screen and (max-width:767px) {
    .news {
        background: none;
    }

    .news .news_tit {
        width: 213px;
        padding: 15.49vw 0 11.37vw;
    }

    .news_tit {
        position: relative;
        margin-bottom: 25px;
        font-size: 2.4rem;
    }

    .news .post_list {
        padding-left: 0;
    }

    .news .post_list article {
        display: block;
        margin-bottom: 15px;
        padding-bottom: 15px;
        border-bottom: #dedede 1px solid;
    }

    .news .post_list article .time {
        margin-right: 0;
    }

    .news .post_list article .time time {
        margin-bottom: 5px;
        padding: 0;
    }

    .news .post_list article h3 {
        padding-top: 0;
    }
}

/*  FAQ
/* ==================================================== */
.faq {
    padding-bottom: clamp(120px, calc(120px + (147 - 120) * ((100vw - 768px) / (1366 - 768))), 147px);
    background: var(--home-white-gradation);
}

.faq .faq_tit {
    width: 95px;
    margin: 0 auto;
    padding: 4.1vw 0 0;
}

.faq p.sub_h2 {
    padding: 2vw 0 3.514vw;
    font-size: clamp(14px, calc(14px + (17 - 14) * ((100vw - 768px) / (1366 - 768))), 17px);
    font-weight: bold;
    text-align: center;
}

.faq .inner {
    /* 667px; */
    max-width: 747px;
    margin: 0 auto;
    padding: 0 40px;
}

/*アコーディオン全体*/
.question {
    width: 100%;
}

.accordion_one {
    position: relative;
}

.accordion_one .accordion_header {
    position: relative;
    display: flex;
    align-items: center;
    margin: 0 0 18px;
    padding: 10px 50px 9px 22px;
    background: #fff;
    font-size: 1.9rem;
    line-height: 1.5;
    text-decoration: none;
    cursor: pointer;
}

.accordion_one .accordion_header:after {
    position: absolute;
    right: 21px;
    display: block;
    width: 23px;
    height: 23px;
    background: url(../img/home/icon_plus.svg) no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}

.accordion_one .accordion_header.btn-block::after,
.accordion_one .accordion_header.btn-block.open::after {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
}

.accordion_one .accordion_header.open:after {
    position: absolute;
    top: 50%;
    right: 21px;
    width: 23px;
    height: 23px;
    background: url(../img/home/icon_minus.svg) no-repeat;
    background-position: center;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
}

.accordion_one .accordion_header.text {
    display: block;
    margin-bottom: 0;
    padding: 10px 5px 40px;
    background: none;
    font-size: clamp(14px, calc(14px + (16 - 14) * ((100vw - 768px) / (1366 - 768))), 16px);
    line-height: 2;
    cursor: auto;
}

.accordion_one .accordion_header.text a {
    text-decoration: underline;
}

.accordion_one .accordion_header.text:after,
.accordion_one .accordion_header.open.text:after {
    background: none;
}

.accordion_one .accordion_header.btn-block {
    position: absolute;
    bottom: -87px;
    left: 50%;
    z-index: 20;
    width: 100%;
    height: 51px;
    padding: 0;
    background-color: #fff;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
}

.accordion_one .accordion_header.btn-block .btn-more:hover {
    opacity: 1;
}

.accordion_one .accordion_header span,
.accordion_one .accordion_inner .accordion_header span {
    width: 33px;
    margin-right: 12px;
}

.accordion_one .accordion_header p,
.accordion_one .accordion_inner .accordion_header p {
    width: 93%;
}

.accordion_one .accordion_inner {
    display: none;
    box-sizing: border-box;
    padding: 0;
}

@media screen and (max-width:767px) {
    .faq .faq_tit {
        width: 80px;
        padding: 8.5vw 0 0;
    }

    .accordion_one .accordion_header {
        font-size: 1.6rem;
    }

    .faq .inner {
        padding: 0 5%;
    }

    .faq p.sub_h2 {
        padding-bottom: 25px;
    }

    .accordion_one .accordion_header.text {
        padding: 0 5px 30px;
    }
}

/*  SNS
/* ==================================================== */
.sns {
    padding-bottom: 40px;
    background: var(--home-green-gradation);
    text-align: center;
}

.sns .sns_tit {
    width: 85px;
    margin: 0 auto;
    padding: 53px 0 45px;
}

.sns a {
    display: inline-block;
}

.sns figure {
    margin: 0 auto;
}

.sns .insta-logo {
    width: 100px;
    margin-bottom: 15px;
}

.sns .insta-text {
    width: 95px;
}

@media screen and (max-width:767px) {
    .sns {
        padding-bottom: 22px;
    }

    .sns .insta-logo {
        width: 70px;
        margin-bottom: 10px;
    }

    .sns .sns_tit {
        width: 72px;
        padding: 33px 0 20px;
    }

    .sns .insta-text {
        width: 75px;
    }
}
