@charset "utf-8";

html {
    scroll-behavior: smooth;
}
:root {
    --cl-main: #eab49a;
    --cl-accent: #df725b;
    --cl-bg: #fff5e1;
    --cl-txt: #6d5e5b;
    --cl-wh: #fff;
    --font-main: "fot-tsukubrdgothic-std", sans-serif;
    --font-sub: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
}

a {
    color: var(--cl-txt);
    text-decoration: none;
    display: inline-block;
    transition: all 0.2s linear 0s;
}
img {
    display: block;
}
li {
    list-style-type: none;
}
.pc-br::before {
    content: '\A';
    white-space: pre;
}


/* 共通 */
.pc-none {
    display: none;
}
.container {
    width: min(100%, 1100px);
    margin: 0 auto;
    color: var(--cl-txt);
    font-family: "fot-tsukubrdgothic-std", sans-serif;
    font-weight: 400 /* 700 */;
    font-style: normal;
}
/* 見出し */
.ttl {
    line-height: 2;
    color: var(--cl-wh);
    font-size: 45px;
    text-align: center;
    background: var(--cl-main);
}
.ttl-top {
    color: var(--cl-main);
    background: var(--cl-wh);
    display: block;
}
/* 主なテキスト */
.gift-txt {
    line-height: 1.5;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 20px;
}

/* 背景色あり */
.service,
.useful {
    background: var(--cl-bg);
}

/* 贈るとき・受け取るとき の書式 */
.receive-ttl,
.give-ttl {
    line-height: 1;
    width: 485px;
    margin: 0 auto;
    padding: 8px 0 16px 135px;
    font-size: 40px;
    background: var(--cl-bg);
    border-radius: 50px;
    position: relative;
}
.give-ttl::after {
    content: "";
    width: 44px;
    height: 50px;
    background: url(../img/arrow.png) center/cover no-repeat;
    position: absolute;
    top: 50%;
    right: 135px;
    transform: translateY(-50%);
}
.receive-ttl {
    padding: 8px 0 15px 160px;
}
.receive-ttl::before {
    content: "";
    width: 44px;
    height: 50px;
    background: url(../img/arrow.png) center/cover no-repeat;
    position: absolute;
    top: 50%;
    left: 100px;
    transform: translateY(-50%);
}

/* リンクボタン */
.link {
    width: 270px;
    line-height: 1;
    margin: 0 auto;
    padding: 18px 0 20px 30px;
    color: var(--cl-wh);
    background: var(--cl-txt);
    border-radius: 50px;
    box-shadow: 3px 3px 0 var(--cl-main);
    position: relative;
    display: block;
}
.link::after {
    content: ">";
    color: var(--cl-wh);
    font-size: 16px;
    position: absolute;
    top: 46%;
    right: 40px;
    transform: translateY(-50%);
    transition: all 0.2s linear 0s;
}
.link:hover {
    transform: translateY(3px) translateX(3px);
    box-shadow: none;
}


/* ヘッダー */
.header {
    /* padding: 0 clamp(0rem, -4.1667rem + 8.6806vw, 6.25rem) 0 clamp(0.0625rem, -4.0625rem + 8.5938vw, 6.25rem); */
    display: flex;
    flex-direction: column-reverse;
    gap: 15px;
}
.hero {
    padding: 45px 0 55px;
    background: var(--cl-bg);
    display: grid;
    justify-content: center;
    grid-template:
    "ttl  ttl" auto
    "box  img" auto
    "box  img" auto
    /auto auto;
    gap: 0 10px;
}
.hero__ttl {
    grid-area: ttl;
}
.hero__ttl-img {
    margin: 0 auto;
}
.hero__box {
    text-align: left;
    grid-area: box;
    position: relative;
}
.hero__heading {
    font-size: 38px;
}
.hero__heading-txt {
    height: 485px;
    margin: -280px 0 0 -15px;
    font-size: 78px;
    display: inline-block;
}
.hero__em {
    color: var(--cl-accent);
    font-style: normal;
    font-size: 320px;
    font-weight: 400;
}
.hero__icon-box {
    display: flex;
    gap: 10px;
    position: absolute;
    top: 100px;
    right: 55px;
}
.hero__img-box {
    grid-area: img;
}
.h__link {
    width: 75px;
    margin: 30px auto 0 10px;
}



/* メイン */


/* サービス内容 */
.service__wrap {
    width: 96%;
    margin: 0 auto;
    padding: 60px 0 85px;
}
.service__txt {
    width: min(100%, 820px);
    margin: 0 auto;
}
.service__box {
    display: flex;
    justify-content: space-between;
}
.service__content {
    width: calc( (100% - 20px) / 2 );
    margin-top: 65px;
    padding: 50px 20px 25px;
    background: var(--cl-wh);
    border: 5px solid var(--cl-main);
    border-radius: 30px;
    position: relative;
}
.service__content-ttl {
    line-height: 1;
    padding: 3px 25px 7px;
    color: var(--cl-wh);
    font-size: 32px;
    font-weight: bold;
    background: var(--cl-main);
    border-radius: 50px;
    display: inline-block;
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
}
.service__content:last-child .service__content-ttl {
    width: 6.7em;
}
.service__list {
    display: flex;
    justify-content: space-between;
}
.service__list-box {
    width: calc( (100% - 20px) / 2 );
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    gap: 20px;
}
.service__list-ttl {
    min-height: 0vh;
    font-size: clamp(0.8125rem, 0.5208rem + 0.6076vw, 1.25rem);
    text-align: center;
}
.service__list-img {
    width: 100%;
    height: auto;
}


/* メリット */
.merit__wrap {
    width: 94%;
    margin: 70px auto;
    display: flex;
    justify-content: space-between;
}
.merit__box {
    width: calc( (100% - 40px) / 2 );
}
.merit__box-ttl {
    line-height: 1;
    min-height: 0vh;
    padding-bottom: clamp(1.5625rem, 1.2292rem + 0.6944vw, 2.0625rem);
    color: var(--cl-main);
    font-size: clamp(1.875rem, 1.0417rem + 1.7361vw, 3.125rem);
    position: relative;
    display: inline-block;
}
.merit__box:first-child .merit__box-ttl {
    min-height: 0vh;
    padding-left: clamp(7.1875rem, 5.7292rem + 3.0382vw, 9.375rem);
}
.merit__box:first-child .merit__box-ttl::before {
    content: "";
    width: clamp(6.5625rem, 5.9375rem + 1.3021vw, 7.5rem);
    height: clamp(6.3125rem, 5.6875rem + 1.3021vw, 7.25rem);
    min-height: 0vh;
    background: url(../img/merit01.png) center/cover no-repeat;
    position: absolute;
    bottom: 0;
    left: 0;
}
.merit__box:first-child .merit__box-ttl::after {
    content: "";
    width: clamp(1.875rem, 1.2917rem + 1.2153vw, 2.75rem);
    height: clamp(2rem, 1.25rem + 1.5625vw, 3.125rem);
    min-height: 0vh;
    background: url(../img/arrow.png) center/cover no-repeat;
    position: absolute;
    top: clamp(0.0625rem, -0.1042rem + 0.3472vw, 0.3125rem);
    right: clamp(-3.125rem, -2.0833rem + -0.8681vw, -2.5rem);
}
.merit__box:last-child .merit__box-ttl {
    min-height: 0vh;
    padding-left: clamp(3rem, 2.5rem + 1.0417vw, 3.75rem);
}
.merit__box:last-child .merit__box-ttl::before {
    content: "";
    width: clamp(1.875rem, 1.2917rem + 1.2153vw, 2.75rem);
    height: clamp(2rem, 1.25rem + 1.5625vw, 3.125rem);
    min-height: 0vh;
    background: url(../img/arrow.png) center/cover no-repeat;
    position: absolute;
    top: clamp(0.0625rem, -0.1042rem + 0.3472vw, 0.3125rem);
    left: clamp(0.5rem, 0.6042rem + -0.0868vw, 0.5625rem);
}
.merit__box:last-child .merit__box-ttl::after {
    content: "";
    width: clamp(9rem, 7.8333rem + 2.4306vw, 10.75rem);
    height: clamp(6.5625rem, 5.7292rem + 1.7361vw, 7.8125rem);
    min-height: 0vh;
    background: url(../img/merit02.png) center/cover no-repeat;
    position: absolute;
    bottom: -1px;
    right: clamp(-11.25rem, -8.125rem + -2.6042vw, -9.375rem);
}
.merit__item {
    min-height: 0vh;
    margin-bottom: 20px;
    padding: 10px 25px;
    font-size: clamp(0.875rem, 0.625rem + 0.5208vw, 1.25rem);
    background: var(--cl-bg);
    border-radius: 50px;
}


/* こんな時に便利 */
.useful__list {
    width: 96%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    justify-content: space-between;
    align-items: center;
    gap: 0 13px;
}
.useful__box {
    min-height: 390px;
    margin: 75px 0 70px;
    padding: 35px 30px 20px;
    background: var(--cl-wh);
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    gap: 20px;
}
.useful__box-ttl {
    line-height: 1.2;
    margin-top: auto;
    font-size: 26px;
    font-weight: bold;
    text-align: center;
    order: 2;
}
.useful__box-desc {
    order: 3;
}
.useful__box-imgbox {
    order: 1;
}

/* 一定より小さくなった時 */
@media screen and (max-width: 1120px) {
    .useful__box {
        height: clamp(20.75rem, 12.2556rem + 17.3134vw, 24.375rem);
        min-height: 0vh;
    }
    .useful__box-ttl {
        font-size: clamp(0.9375rem, -0.5625rem + 3.125vw, 1.625rem);
    }
    .useful__box-desc {
        font-size: clamp(0.8125rem, -0.142rem + 1.9886vw, 1.25rem);
    }
}
/* スマホ版に移行する */
@media screen and (max-width: 875px) {
    .useful__list {
        width: 90%;
        margin-top: 3vw;
        padding-bottom: 12.67vw;
        grid-template-columns: repeat(2, 1fr);
        gap: 2.4vw;
    }
    .useful__box {
        height: 100%;
        margin: 4.67vw 0 0;
        padding: 5.33vw 3.33vw 2.67vw;
        gap: 3.33vw;
    }
    .useful__box-ttl {
        font-size: 4.87vw;
    }
    .useful__box-desc {
        height: 21vw;
        font-size: 3.47vw;
    }
    .useful__box-img{
        width: auto;
        height: 17.33vw;
    }
}


/* ポイント */
.point__logo,
.recommend__logo {
    width: 90px;
    height: auto;
    margin: 0 auto;
    padding: 20px 0 15px;
    background: var(--cl-wh);
}
.point__wrap {
    width: min(90vw, 1100px);
    margin: 0 auto;
}
.point__box {
    padding: 60px 0;
    display: grid;
    grid-template:
    "img ttl"  auto
    "img desc" auto
    /48% 1fr;
    align-items: center;
    gap: 30px 25px;
}
.point__box:nth-child(-n+2) {
    border-bottom: 1px solid var(--cl-main);
}
.point__box:nth-child(2) {
    grid-template:
    "ttl  img" auto
    "desc img" auto
    /1fr  48%;
}
.point__box-ttl {
    min-height: 0vh;
    line-height: 1.2;
    font-size: clamp(1.875rem, 1.3517rem + 0.9569vw, 2.5rem);
    font-weight: bold;
    grid-area: ttl;
}
.point__box-desc {
    min-height: 0vh;
    font-size: clamp(1.125rem, 1.0203rem + 0.1914vw, 1.25rem);
    grid-area: desc;
}
.point__box-imgbox {
    grid-area: img;
}
.point__box-img {
    width: 100%;
}
/* スマホ版に移行する */
@media screen and (max-width: 875px) {
    .point .pc-br::before {
        content: '';
    }
    .point__logo,
    .recommend__logo {
        width: 14.67vw;
        padding: 2vw 0 1.8vw;
    }
    .point__box {
        padding: 0 0 8vw;
        grid-template:
        "img"  auto
        "ttl"  auto
        "desc" auto
        /auto;
        gap: 3.33vw;
    }
    .point__box:first-child {
        margin-top: 8vw;
    }
    .point__box:nth-child(-n+2) {
        border-bottom: none;
    }
    .point__box:nth-child(2) {
        grid-template:
        "img"  auto
        "ttl"  auto
        "desc" auto
        /auto;
    }
    .point__box-ttl {
        font-size: 5.33vw;
    }
    .point__box-desc {
        font-size: 3.47vw;
    }
}


/* 注文方法 */
.order__wrap {
    padding: 40px 0 60px;
}
.order__wrap:last-child {
    border-top: 1px solid var(--cl-main);
}
.order__swiper {
    padding: 60px 0 50px;
}
.order__swiper-wrap {
    width: min(90%, 670px);
    margin: 0 auto;
    display: grid;
    grid-template:
    "img  img"  auto
    "ttl  desc" auto
    /3em auto;
    gap: 40px 20px;
}
.order__swiper-imgbox {
    grid-area: img;
}
.order__swiper-ttl {
    margin-top: -12px;
    color: var(--cl-main);
    font-size: 40px;
    grid-area: ttl;
}
.order__swiper-txt {
    grid-area: desc;
}
.order__swiper-img {
    margin: 0 auto;
}
.swiper-pagination-bullet {
    background: #e3d4b5;
}
.swiper-pagination-bullet-active {
    background: var(--cl-main);
}



/* FAQ */
.faq__ttl {
    letter-spacing: 0.1em;
}
.faq__wrap {
    margin: 35px 0 50px;
}


/*アコーディオン全体*/
.faq__list{
    list-style: none;
    width: min(94%, 1100px);
    margin:0 auto;
}
.faq__item{
    padding: 10px 0;
    border-bottom: solid 1px var(--cl-txt);
}

/* アコーディオンタイトル */
.faq__box-ttl {
    font-weight: normal;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all .5s ease;
    /* +マークの位置基準とするためrelative指定 */
    position: relative;
}
.faq__question,
.faq__answer {
    margin-top: -10px;
    color: var(--cl-main);
    font-size: 56px;
    font-family: var(--font-main);
    font-weight: bold;
    display: block;
}

/* アイコンの＋と× */
.faq__box-ttl::before,
.faq__box-ttl::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #333;
    transition: all 0.2s linear 0s;
}
.faq__box-ttl::before{
    top:48%;
    right: 15px;
    transform: rotate(0deg);
    
}
.faq__box-ttl::after{    
    top:48%;
    right: 15px;
    transform: rotate(90deg);
}

/* closeというクラスがついたら形状変化*/
.faq__box-ttl.close::after{
	opacity: 0;
}

/*アコーディオンで現れるエリア*/
.faq__area {
    margin-top: 10px;
    /*はじめは非表示*/
    display: none;
}
.faq__answer {
    color: var(--cl-txt);
}
.faq__txt {
    font-weight: normal;
    display: grid;
    grid-template-columns: 2.5em auto;
    align-items: center;
    gap: 0 10px;
}
.faq__txt-linkbox {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}
.faq__txt-link {
    color: #329bd8;
    text-decoration: underline;
    display: inline-block;
}
.faq__txt-link:hover {
    opacity: 0.7;
}
.faq__link {
    margin-bottom: 70px;
}


/* おすすめ商品 */
.recommend .gift-txt {
    line-height: 1.3;
}
.recommend__logo {
    margin-bottom: -5px;
    padding: 0;
}
.recommend__ttl {
    position: relative;
}
.recommend__ttl::before {
    content: "";
    width: 180px;
    height: 144px;
    background: url(../img/recommend_icon01.png) center/cover;
    position: absolute;
    bottom: 40px;
    left: 5%;
}
.recommend__ttl::after {
    content: "";
    width: 177px;
    height: 175px;
    background: url(../img/recommend_icon02.png) center/cover;
    position: absolute;
    bottom: 20px;
    right: 5%;
}
.recommend__wrap-ttl {
    width: min(90%, 675px);
    line-height: 1;
    margin: 55px auto 40px;
    padding: 10px 0 14px;
    font-size: 40px;
    text-align: center;
    border: 5px solid var(--cl-main);
    border-radius: 50px;
    position: relative;
}
.recommend__wrap:nth-child(2n) .recommend__wrap-ttl::after,
.recommend__wrap:nth-child(2n+1) .recommend__wrap-ttl::before {
    content: "";
    width: 47px;
    height: 43px;
    background: url(../img/recommend_icon03.png) center/cover no-repeat;
    position: absolute;
    top: calc(-47px / 2);
}
.recommend__wrap:nth-child(2n) .recommend__wrap-ttl::after {
    left: 71%;
    transform: translateX(-50%);
}
.recommend__wrap:nth-child(2n+1) .recommend__wrap-ttl::before {
    left: 20%;
    transform: scale(-1, 1) translateX(-50%);
}
.recommend__list {
    width: min(90vw, 1100px);
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
.recommend__box {
    width: calc( (100% - 80px) / 3 );
    display: flex;
    flex-direction: column;
}
.recommend__box:hover {
    opacity: 0.7;
}
.recommend__box-ttl {
    margin-top: 10px;
    order: 2;
}
.recommend__box-desc {
    order: 3;
}
.recommend__box-imgbox {
    order: 1;
}
.recommend__box-img {
    width: 100%;
    height: auto;
}

.recommend__link {
    width: 270px;
    margin: 50px auto 70px;
    padding: 18px 0 20px 87px;
}
.recommend__link::after {
    right: 88px;
}



/* トップに戻る */
.page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 14px;
    line-height: 1;
    z-index: 99;
}
.page-top a:hover {
    text-decoration: none;
    opacity: .7;
}

/* フッター */






/* メディアクエリ */
@media screen and (max-width: 768px) {
    /* 共通 */
    .pc-none {
        display: block;
    }
    .sp-none {
        display: none;
    }
    /* ttl */
    .ttl {
        font-size: 7vw;
    }
    .ttl-top {
        font-size: 5.33vw;
    }
    .gift-txt {
        font-size: 3.47vw;
    }

    /* link */
    .link {
        width: 52vw;
        padding: 2.4vw 0 2.67vw 4vw;
        font-size: 3.47vw;
        box-shadow: 0.4vw 0.4vw 0 var(--cl-main);
    }
    .link::after {
        color: var(--cl-wh);
        font-size: 3.47vw;
        top: 48%;
        right: 5.33vw;
    }
    .link:hover {
        transform: translateY(0.4vw) translateX(0.4vw);
    }


    /* ヘッダー */
    .header {
        padding: 0.67vw 0 0 1px;
        position: relative;
    }
    .header::before {
        content: "";
        width: 22.53vw;
        height: 21.07vw;
        background: url(../img/hero02.png) right top/cover no-repeat;
        position: absolute;
        top: 0;
        left: 0;
    }
    .hero {
        padding: 9.33vw 0 8vw;
        grid-template:
        "ttl  img" auto
        "box  img" auto
        "box  img" auto
        /auto auto;
        gap: 0 0;
    }
    .hero__ttl {
        font-size: 5.07vw;
    }
    .hero__ttl-img {
        width: 14.67vw;
    }
    .hero__heading {
        font-size: 5.07vw;
    }
    .hero__heading-txt {
        height: 64.67vw;
        margin: -46.33vw 0 0 -2vw;
        font-size: 12.27vw;
    }
    .hero__em {
        font-size: 50.27vw;
    }
    .hero__icon-box {
        gap: 1.33vw;
        top: 11.33vw;
        right: 10.33vw;
    }
    .hero__icon {
        width: 13vw;
        height: auto;
    }
    .hero__img-box {
        width: 26.67vw;
    }
    .hero__img {
        width: 100%;
        height: auto;
    }

    /* メイン */
    .merit__box:first-child {
        background: var(--cl-bg);
    }


    /* サービス内容 */
    .service__wrap {
        width: 90%;
        padding: 5.33vw 0 14.67vw;
    }
    .service__box {
        flex-direction: column;
        gap: 6.5vw;
    }
    .service__content:first-child {
        margin-top: 8.67vw;
    }
    .service__content {
        width: 100%;
        margin-top: 0;
        padding: 10.27vw 4vw 4vw;
        border: 0.67vw solid var(--cl-main);
        border-radius: 4vw;
    }
    .service__content-ttl {
        padding: 0.4vw 3.33vw 0.93vw;
        font-size: 6vw;
        top: -3.33vw;
    }
    .service__content:last-child .service__content-ttl {
        width: 6.2em;
    }
    .service__list-box {
        justify-content: center;
        gap: 2.67vw;
    }
    .service__list-img {
        width: 33.33vw;
    }


    /* メリット */
    .merit__wrap {
        width: 100%;
        margin: 0 auto;
        display: flex;
        flex-direction: column;
    }
    .merit__box {
        width: 100%;
        padding: 6.67vw 0;
    }
    .merit__box-ttl {
        padding-bottom: 6vw;
        font-size: 7.47vw;
    }
    .merit__box:first-child .merit__box-ttl {
        margin-left: 5vw;
        padding-left: 24.5vw;
    }
    .merit__box:first-child .merit__box-ttl::before {
        width: 22vw;
        height: 23.33vw;
    }
    .merit__box:first-child .merit__box-ttl::after {
        width: 7.33vw;
        height: 8vw;
        top: 0.67vw;
        right: -9vw;
    }
    .merit__box:last-child .merit__box-ttl {
        width: 90%;
        margin: 0 auto;
        padding-left: 9.33vw;
        display: block;
    }
    .merit__box:last-child .merit__box-ttl::before {
        content: "";
        width: 7.33vw;
        height: 8vw;
        top: 0.67vw;
        left: 0.6vw;
    }
    .merit__box:last-child .merit__box-ttl::after {
        width: 36.5vw;
        height: 23.13vw;
        background: url(../img/merit02-sp.png) center/cover no-repeat;
        bottom: -0.5vw;
        right: 0;
    }
    .merit__list {
        width: 90%;
        margin: 0 auto;
    }
    .merit__item {
        margin-bottom: 3.33vw;
        padding: 2vw 4vw;
        background: var(--cl-wh);
        border: 0.67vw solid var(--cl-main);
    }
    


    /* こんな時に便利 */
    /* 324行目に記載 */


    /* ポイント */
    /* 401行目に記載 */


    /* 注文方法 */
    .order__wrap {
        padding: 0;
    }
    .order__wrap:last-child {
        background: var(--cl-bg);
        border-top: none;
    }
    .order__wrap > .order__wrap-ttl {
        display: none;
    }
    .order__wrap-ttl {
        width: calc(100% - 5.33vw);
        margin: 3.33vw 0 0;
        padding: 0 0 0 5.33vw;
        font-size: 5.33vw;
        border-radius: 0 50px 50px 0;
        grid-area: wrap-ttl;
        display: flex;
        justify-content: left;
        align-items: center;
    }
    .order__wrap:last-child .order__wrap-ttl {
        background: var(--cl-wh);
    }
    .order__wrap:nth-child(2) .order__wrap-ttl::after {
        width: 5.87vw;
        height: 6.67vw;
        right: 21.33vw;
    }
    .order__wrap:last-child .order__wrap-ttl {
        width: calc(100% - 12.67vw);
        padding: 0 0 0 12.67vw;
    }
    .order__wrap:last-child .order__wrap-ttl::before {
        width: 5.87vw;
        height: 6.67vw;
        left: 5.33vw;
    }
    .order__swiper {
        padding: 7.33vw 0 15vw;
    }
    .order__swiper-wrap {
        width: min(90%, 670px);
        grid-template:
        "img     wrap-ttl"  12vw
        "img     ttl"       14vw
        "img     desc"      auto
        /33.33vw auto;
        gap: 0;
    }
    .order__swiper-ttl {
        margin-top: 1.33vw;
        padding-left: 5.33vw;
        font-size: 7vw;
    }
    .order__swiper-txt {
        padding-left: 5.33vw;
    }
    .order__swiper-img {
        width: 100%;
        margin: 0;
    }
    .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0 1.33vw;
    }
    .swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
        bottom: 7vw;
    }
    .swiper-pagination-bullet {
        width: 2.93vw;
        height: 2.93vw;
    }

    /* FAQ */
    .faq__ttl-top {
        line-height: 2;
        margin-top: 5.33vw;
    }
    .faq__ttl {
        line-height: 1.4;
        padding-bottom: 7vw;
    }
    .faq__wrap {
        margin: 0;
        padding: 5vw 0 16vw;
        position: relative;
    }
    .faq__wrap-ttl {
        width: 64.67vw;
        padding: 3.07vw 0 2.13vw 18vw;
        font-size: 5.33vw;
        background: var(--cl-wh);
        border-radius: 4.93vw;
        position: absolute;
        top: -5.67vw;
        left: 50%;
        transform: translateX(-50%);
    }
    .faq__wrap:nth-child(3),
    .faq__wrap:nth-child(3) .faq__wrap-ttl {
        background: var(--cl-bg);
    }
    .faq__wrap-ttl::after,
    .faq__wrap-ttl::before {
        width: 5.87vw;
        height: 6.67vw;
        top: 60%;
        right: 18vw;
    }
    .faq__wrap-ttl::before {
        left: 10.33vw;
    }
    .faq__box-ttl {
        padding-right: 5vw;
        gap: 1.33vw;
    }
    
    /*アコーディオン全体*/
    .faq__item{
        padding: 2.8vw 2vw;
    }
    
    /* アコーディオンタイトル */
    .faq__box-ttl {
        gap: 1.33vw;
    }
    .faq__question,
    .faq__answer {
        margin-top: -1.33vw;
        font-size: 7.47vw;
    }
    
    /* アイコンの＋と× */
    .faq__box-ttl::before,
    .faq__box-ttl::after{
        width: 2vw;
        height: 0.27vw;
    }
    .faq__box-ttl::before{
        right: 2vw;
    }
    .faq__box-ttl::after{  
        right: 2vw;
    }
    
    /*アコーディオンで現れるエリア*/
    .faq__area {
        margin-top: 2vw;
    }
    .faq__txt {
        gap: 1.33vw;
    }
    
    .faq__link {
        margin: 4.67vw auto 9.33vw;
    }


    /* おすすめ商品 */
    .recommend .gift-txt {
        font-size: 2.8vw;
    }
    .recommend__logo {
        margin-bottom: -0.67vw;
    }
    .recommend__ttl::before {
        width: 11.73vw;
        height: 17.07vw;
        background: url(../img/recommend_icon01-sp.png) center/cover;
        bottom: 9.33vw;
        left: 2%;
    }
    .recommend__ttl::after {
        width: 19.2vw;
        height: 23.47vw;
        background: url(../img/recommend_icon02-sp.png) center/cover;
        bottom: 8vw;
        right: 0;
    }
    .recommend__wrap-ttl {
        margin: 5.33vw auto 5.33vw;
        padding: 1.33vw 0 1.87vw;
        font-size: 5.33vw;
        border: 0.67vw solid var(--cl-main);
    }
    .recommend__wrap:nth-child(2n) .recommend__wrap-ttl::after,
    .recommend__wrap:nth-child(2n+1) .recommend__wrap-ttl::before {
        width: 6.27vw;
        height: 5.73vw;
        top: calc(-6.27vw / 2);
    }
    .recommend__wrap:nth-child(2n) .recommend__wrap-ttl::after {
        left: 71%;
        transform: translateX(-50%);
    }
    .recommend__wrap:nth-child(2n+1) .recommend__wrap-ttl::before {
        left: 20%;
        transform: scale(-1, 1) translateX(-50%);
    }
    .recommend__box {
        width: calc( (100% - 6.67vw) / 3 );
    }
    .recommend__box-ttl {
        margin-top: 2vw;
    }
    
    .recommend__link {
        width: 33.33vw;
        margin: 6.67vw auto 10vw;
        padding: 2.4vw 0 2.67vw 6.5vw;
    }
    .recommend__link::after {
        top: 45%;
        right: 6.6vw;
    }



    /* トップに戻る */
	.page-top{
        width: 14.67vw;
        bottom: 2.67vw;
        right: 2.67vw;
    }
    .page-top__img {
        width: 100%;
    }
}