@charset 'UTF-8';
/* ===============================================
#header
=============================================== */
.header
{
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;

    width: 100%;
    padding: 27px 0;

    -webkit-transition: all .5s;

    transition: all .5s;

    background-color: #fff;
}

@media screen and (max-width: 1300px)
{
    .header
    {
        padding: 16px 0;
    }
}
@media screen and (max-width: 1023px)
{
    .header
    {
        padding: 11px 0 14px;

        background-color: transparent;
    }
}
@media screen and (max-width: 1023px)
{
    .header.headerColorScroll
    {
        background-color: #f94142;
    }
}
@media screen and (max-width: 1023px)
{
    .header.shopPage
    {
        background-color: #f94142;
    }
}
.header__inner
{
    max-width: 1870px;
}

.header__nav
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
}

@media screen and (max-width: 1690px)
{
    .header__nav
    {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
    }
}
.header__logo
{
    position: relative;
    z-index: 104;

    width: 218px;
    margin-right: 64px;
}

@media screen and (max-width: 1690px)
{
    .header__logo
    {
        margin-right: 0;
    }
}
@media screen and (max-width: 1300px)
{
    .header__logo
    {
        width: 160px;
    }
}
@media screen and (max-width: 767px)
{
    .header__logo
    {
        width: 116px;
    }
}
.header__lists
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 1023px)
{
    .header__lists
    {
        display: none;
    }
}
.header__list:nth-of-type(n + 2)
{
    margin-left: 62px;
}

@media screen and (max-width: 1690px)
{
    .header__list:nth-of-type(n + 2)
    {
        margin-left: 20px;
    }
}
.header__list a
{
    font-weight: bold;
}

.header__list a:hover
{
    border-bottom: 1px solid #f94142;
}

.header__btn
{
    max-width: 287px;
    margin-right: 40px;
    margin-left: auto;
}

@media screen and (max-width: 1690px)
{
    .header__btn
    {
        margin-right: 0;
        margin-left: 0;
    }
}
@media screen and (max-width: 1300px)
{
    .header__btn
    {
        display: none;
    }
}
/* ===============================================
#footer
=============================================== */
.footer
{
    padding: 72px 0;

    text-align: center;
}

@media screen and (max-width: 767px)
{
    .footer
    {
        padding: 40px 0;
    }
}
.footer small
{
    font-family: 'Zen Old Mincho', serif;
    font-size: 14px;
    font-size: 1.4rem;

    color: #c9c9c9;
}

.mv
{
    position: relative;

    height: 46.8vw;
    padding-bottom: 35px;

    background: transparent url(./../image/mv2.jpg) no-repeat top center/cover!important;
}

@media screen and (max-width: 1300px)
{
    .mv
    {
        padding-bottom: 10px;
    }
}
@media screen and (min-width: 768px)
{
    .mv
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -webkit-box-align: end;

            -ms-flex-align: end;

                align-items: flex-end;
    }
}
@media screen and (max-width: 1023px)
{
    .mv
    {
        height: 165.8vw;
        padding-bottom: 0;

        background: transparent url(./../image/mv2-sp.jpg) no-repeat top center/cover!important;
    }
}
.mv__object
{
    position: absolute;
    bottom: -103px;
    left: -31px;

    width: 551px;
}

@media screen and (max-width: 1023px)
{
    .mv__object
    {
        bottom: -23px;
        left: -15px;

        display: none;

        width: 191px;
    }
}
@media screen and (min-width: 1024px)
{
    .mv__container
    {
        position: relative;

        display: -webkit-box;

        display: -ms-flexbox;

        display: flex;

        max-width: 1110px;
        margin: 0 auto;
        padding-right: 54px;

        -webkit-box-pack: justify;

            -ms-flex-pack: justify;

                justify-content: space-between;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end;
    }
}
@media screen and (max-width: 1300px)
{
    .mv__container
    {
        max-width: 900px;
    }
}
.mv__img
{
    width: 54.3%;
}

@media screen and (max-width: 1023px)
{
    .mv__img
    {
        display: none;
    }
}
.mv__btn-box
{
    width: 43.3%;
}

@media screen and (max-width: 1023px)
{
    .mv__btn-box
    {
        position: absolute;
        bottom: -54px;
        left: 50%;

        width: 500px;

        -webkit-transform: translateX(-50%);

                transform: translateX(-50%);
    }
}
@media screen and (max-width: 767px)
{
    .mv__btn-box
    {
        bottom: -15px;

        width: 338px;
    }
}
.mv__btn
{
    display: block;
}

.subMv
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    height: 31vw;

    background: transparent url(./../image/sub-mv.jpg) no-repeat top center/cover;

    -webkit-box-pack: center;

        -ms-flex-pack: center;

            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

@media screen and (max-width: 1300px)
{
    .subMv
    {
        height: 400px;
    }
}
@media screen and (max-width: 1023px)
{
    .subMv
    {
        height: 300px;
        margin-top: 49px;
    }
}
.subMv__heading
{
    font-weight: 700;

    text-align: center;

    color: #fff;
    text-shadow: 4px 4px 10px rgba(0, 0, 0, .45);
}

.subMv__en
{
    font-size: 60px;
    font-size: 6rem;
    line-height: 1.2;

    display: block;
}

@media screen and (max-width: 767px)
{
    .subMv__en
    {
        font-size: 40px;
        font-size: 4rem;
    }
}
.subMv__jp
{
    font-size: 36px;
    font-size: 3.6rem;

    display: block;
}

@media screen and (max-width: 767px)
{
    .subMv__jp
    {
        font-size: 28px;
        font-size: 2.8rem;
    }
}
.profile
{
    margin-top: 153px;
    margin-bottom: 147px;
}

@media screen and (max-width: 767px)
{
    .profile
    {
        margin-top: 78px;
        margin-bottom: 55px;
    }
}
@media screen and (min-width: 1024px)
{
    .profile__inner
    {
        max-width: 690px;
    }
}
.profile__container
{
    position: relative;
    z-index: 2;
}

@media screen and (min-width: 768px)
{
    .profile__container
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -webkit-box-pack: justify;

            -ms-flex-pack: justify;

                justify-content: space-between;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }
}
.profile__img
{
    position: relative;

    width: 45.6%;
}

@media screen and (max-width: 1023px)
{
    .profile__img
    {
        width: 42%;
    }
}
@media screen and (max-width: 767px)
{
    .profile__img
    {
        width: 100%;
        max-width: 217px;
        margin: 0 auto 15px;
    }
}
.profile__img img
{
    position: relative;
    z-index: 10;

    border-radius: 8px;
}

@media screen and (min-width: 1024px)
{
    .profile__text-box
    {
        width: 46.3%;

        white-space: nowrap;
    }
}
@media screen and (min-width: 768px)
{
    .profile__text-box
    {
        width: 52%;
    }
}
.profile__img-object
{
    position: absolute;
    z-index: 1;

    width: 200px;
}

.profile__img-object.top
{
    top: 75px;
    left: -166px;
}

@media screen and (max-width: 1023px)
{
    .profile__img-object.top
    {
        left: -20px;
    }
}
@media screen and (max-width: 767px)
{
    .profile__img-object.top
    {
        top: 90px;
        left: -23px;
    }
}
.profile__img-object.bottom
{
    right: -107px;
    bottom: -30px;
}

@media screen and (max-width: 1023px)
{
    .profile__img-object.bottom
    {
        right: 0;
    }
}
@media screen and (max-width: 767px)
{
    .profile__img-object.bottom
    {
        right: -66px;
        bottom: 123px;
    }
}
.profile__name
{
    margin-bottom: 14px;
}

@media screen and (min-width: 768px)
{
    .profile__name
    {
        font-size: 18px;
        font-size: 1.8rem;
    }
}
@media screen and (max-width: 767px)
{
    .profile__name
    {
        text-align: center;
    }
}
.profile__text
{
    line-height: 1.7;

    letter-spacing: .02em;
}

@media screen and (max-width: 767px)
{
    .profile__text
    {
        font-size: 14px;
        font-size: 1.4rem;
    }
}
.philosophy
{
    margin-bottom: 137px;
}

@media screen and (max-width: 767px)
{
    .philosophy
    {
        margin-bottom: 36px;
    }
}
@media screen and (min-width: 1024px)
{
    .philosophy .c-heading
    {
        width: 462px;

        text-align: left;
    }
}
.philosophy__inner
{
    max-width: 1380px;
}

@media screen and (min-width: 1024px)
{
    .philosophy__container
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -webkit-box-pack: justify;

            -ms-flex-pack: justify;

                justify-content: space-between;
    }
}
.philosophy__border
{
    display: block;

    width: 2px;

    background-color: #f94142;
}

@media screen and (max-width: 1023px)
{
    .philosophy__border
    {
        display: none;
    }
}
.philosophy__text
{
    line-height: 1.7;

    position: relative;

    letter-spacing: .02em;
}

@media screen and (min-width: 1024px)
{
    .philosophy__text
    {
        width: calc(100% - 529px);
    }
}
@media screen and (max-width: 767px)
{
    .philosophy__text
    {
        line-height: 1.6;
    }
}
.philosophy__text span
{
    font-weight: 700;

    background-color: #ffde68;
}

.worry
{
    margin-bottom: 54px;
}

@media screen and (max-width: 767px)
{
    .worry
    {
        margin-bottom: 38px;
    }
}
@media screen and (min-width: 768px)
{
    .worry__inner
    {
        max-width: 1070px;
    }
}
.worry__heading
{
    margin-bottom: 128px;

    text-align: center;
}

@media screen and (max-width: 767px)
{
    .worry__heading
    {
        margin-bottom: 114px;
    }
}
.worry__heading-top
{
    font-size: 28px;
    font-size: 2.8rem;

    position: relative;

    letter-spacing: .1em;
}

@media screen and (max-width: 767px)
{
    .worry__heading-top
    {
        font-size: 18px;
        font-size: 1.8rem;
    }
}
.worry__heading-top::before,
.worry__heading-top::after
{
    position: absolute;
    bottom: -10px;

    width: calc(50% - 19.4px);
    height: 1px;

    content: '';

    background-color: #000;
}

@media screen and (max-width: 767px)
{
    .worry__heading-top::before,
    .worry__heading-top::after
    {
        width: calc(50% - 13.4px);
    }
}
.worry__heading-top::before
{
    left: 0;
}

.worry__heading-top::after
{
    right: 0;
}

.worry__heading-border
{
    position: absolute;
    bottom: -24px;
    left: 50%;

    width: 28px;
    height: 28px;

    -webkit-transform: translateX(-50%) rotate(45deg);

            transform: translateX(-50%) rotate(45deg);

    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
}

@media screen and (max-width: 767px)
{
    .worry__heading-border
    {
        bottom: -20px;

        width: 20px;
        height: 20px;
    }
}
.worry__heading-bottom
{
    font-size: 44px;
    font-size: 4.4rem;

    display: block;

    margin-top: 29px;
}

@media screen and (max-width: 767px)
{
    .worry__heading-bottom
    {
        font-size: 24px;
        font-size: 2.4rem;

        margin-top: 23px;
    }
}
.worry__cards
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-pack: justify;

        -ms-flex-pack: justify;

            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}

@media screen and (max-width: 1023px)
{
    .worry__cards
    {
        max-width: 600px;
        margin: 0 auto;
    }
}
.worry__card
{
    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    width: 23%;
    height: 150px;

    text-align: center;

    color: #f94142;
    border: 2px solid #f94142;
    border-radius: 10px;
    background-color: #fff;

    -webkit-box-pack: center;

        -ms-flex-pack: center;

            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

@media screen and (min-width: 1024px)
{
    .worry__card:nth-of-type(odd)
    {
        color: #fff;
        background-color: #f94142;
    }

    .worry__card:nth-of-type(even)
    {
        margin-top: 25px;
    }
}
@media screen and (max-width: 1023px)
{
    .worry__card
    {
        font-size: 15px;
        font-size: 1.5rem;

        width: 48.2%;
        height: 210px;
    }

    .worry__card:nth-of-type(1),
    .worry__card:nth-last-of-type(1)
    {
        color: #fff;
        background-color: #f94142;
    }

    .worry__card:nth-last-of-type(1)
    {
        font-size: 14px;
        font-size: 1.4rem;
    }

    .worry__card:nth-last-of-type(1) .worry__card-text
    {
        line-height: 1.3;
    }

    .worry__card:nth-of-type(n + 3)
    {
        margin-top: 140px;
    }
}
@media screen and (max-width: 767px)
{
    .worry__card
    {
        height: 108px;
    }

    .worry__card:nth-of-type(n + 3)
    {
        margin-top: 105px;
    }
}
.worry__card-img
{
    position: absolute;
    top: -112px;
    left: 50%;

    width: 100%;

    -webkit-transform: translateX(-50%);

            transform: translateX(-50%);
}

.worry__card-img--01
{
    top: -116px;

    width: 73%;
}

@media screen and (max-width: 767px)
{
    .worry__card-img--01
    {
        top: -126px;

        width: 115%;
    }
}
.worry__card-img--02
{
    top: -113px;

    width: 77%;
}

@media screen and (max-width: 767px)
{
    .worry__card-img--02
    {
        top: -123px;

        width: 117%;
    }
}
.worry__card-img--03
{
    top: -128px;
    left: 46%;

    width: 77%;
}

@media screen and (max-width: 767px)
{
    .worry__card-img--03
    {
        top: -128px;

        width: 110%;
    }
}
.worry__card-img--04
{
    top: -117px;

    width: 77%;
}

@media screen and (max-width: 767px)
{
    .worry__card-img--04
    {
        top: -122px;

        width: 115%;
    }
}
.worry__card-text
{
    font-weight: 700;

    letter-spacing: .1em;
}

@media screen and (min-width: 768px)
{
    .worry__card-text
    {
        font-size: 18px;
        font-size: 1.8rem;
    }
}
.relief
{
    position: relative;

    margin-bottom: 71px;
    padding-bottom: 76px;
}

@media screen and (max-width: 767px)
{
    .relief
    {
        margin-bottom: 92px;
    }
}
.relief .c-heading
{
    margin-top: 63px;
}

@media screen and (max-width: 767px)
{
    .relief .c-heading
    {
        margin-top: 38px;
    }
}
.relief__object
{
    position: absolute;
}

@media screen and (max-width: 1023px)
{
    .relief__object
    {
        display: none;
    }
}
.relief__object--01
{
    top: 248px;
    right: 0;

    width: 548px;
}

.relief__object--02
{
    bottom: 113px;
    left: 0;

    width: 513px;
}

.relief__inner
{
    margin-top: 100px;
    padding-top: 50px;
}

@media screen and (max-width: 767px)
{
    .relief__inner
    {
        margin-top: 23px;
        padding-top: 30px;
    }
}
.relief__lead-box
{
    position: relative;

    padding: 118px 15px 1px;

    background-color: #f94142;
}

@media screen and (max-width: 767px)
{
    .relief__lead-box
    {
        padding: 60px 15px 18px;
    }
}
.relief__lead-box::before
{
    position: absolute;
    top: 0;
    left: 0;

    -webkit-box-sizing: border-box;

            box-sizing: border-box;

    content: '';

    border-top: 80px solid #fff;
    border-right: 50vw solid transparent;
    border-left: 50vw solid transparent;
}

@media screen and (max-width: 767px)
{
    .relief__lead-box::before
    {
        border-top: 23px solid #fff;
    }
}
.relief__lead-box::after
{
    position: absolute;
    top: 100%;
    left: 0;

    -webkit-box-sizing: border-box;

            box-sizing: border-box;

    content: '';

    border-top: 80px solid #f94142;
    border-right: 50vw solid transparent;
    border-left: 50vw solid transparent;
}

@media screen and (max-width: 767px)
{
    .relief__lead-box::after
    {
        border-top: 23px solid #f94142;
    }
}
.relief__heading
{
    text-align: center;

    color: #fff;
}

.relief__heading-top
{
    font-size: 48px;
    font-size: 4.8rem;

    display: block;

    margin-bottom: 10px;
}

@media screen and (max-width: 767px)
{
    .relief__heading-top
    {
        font-size: 24px;
        font-size: 2.4rem;

        margin-bottom: 20px;
    }
}
.relief__heading-bottom
{
    display: block;
}

@media screen and (min-width: 768px)
{
    .relief__heading-bottom
    {
        font-size: 24px;
        font-size: 2.4rem;

        position: absolute;
        z-index: 10;
        bottom: -37;
        left: 0;

        width: 100%;
    }
}
.relief__heading-bottom .fs-big
{
    font-size: 30px;
    font-size: 3rem;
}

@media screen and (max-width: 767px)
{
    .relief__heading-bottom .fs-big
    {
        font-size: 20px;
        font-size: 2rem;
    }
}
.relief__slider
{
    margin-top: 40px;
}

@media screen and (min-width: 1024px)
{
    .relief__slider
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        max-width: 1050px;
        margin: 0 auto;

        -webkit-box-pack: justify;

            -ms-flex-pack: justify;

                justify-content: space-between;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
    }
}
.relief__slide
{
    border: 2px solid #f94142;
    border-radius: 4px;
}

@media screen and (min-width: 1024px)
{
    .relief__slide
    {
        width: 33%;
    }
}
@media screen and (max-width: 1023px)
{
    .relief__slide
    {
        margin: 0 4px;
    }
}
.relief__slide-top
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.relief__left-box
{
    width: 50%;
}

.relief__right-box
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    width: 50%;

    color: #fff;
    background-color: #f94142;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.relief__name
{
    font-size: 20px;
    font-size: 2rem;
    font-weight: 700;

    margin-bottom: 3px;

    letter-spacing: .1em;
}

.relief__age
{
    font-size: 13px;
    font-size: 1.3rem;
}

.relief__text-box
{
    padding: 25px 12px;
}

@media screen and (max-width: 767px)
{
    .relief__text-box
    {
        padding: 25px 12px;
    }
}
.relief__lead
{
    font-weight: 700;
    line-height: 1.4;

    margin-bottom: 8px;
}

.relief__text
{
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.4;

    letter-spacing: .1em;
}

.relief__text.mt
{
    margin-top: 1.3em;
}

.relief__text.none
{
    display: none;
}

.relief__btn
{
    font-size: 17px;
    font-size: 1.7rem;
    font-weight: 700;

    position: relative;

    display: block;

    width: 110px;
    margin: 24px auto 0;

    cursor: pointer;
    text-align: left;
}

.relief__btn::before
{
    position: absolute;
    top: 4px;
    right: 0;

    width: 10px;
    height: 10px;

    content: '';
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);

    border-right: 2px solid #f94142;
    border-bottom: 2px solid #f94142;
}

.relief__btn.open::before
{
    top: 10px;

    -webkit-transform: rotate(-135deg);

            transform: rotate(-135deg);
}

.schedule__inner
{
    max-width: 1000px;
}

.schedule__main
{
    margin-top: 107px;
    margin-bottom: 144px;
}

@media screen and (max-width: 767px)
{
    .schedule__main
    {
        margin-top: 20px;
        margin-bottom: 30px;
        padding-top: 42px;
        padding-bottom: 100px;
    }
}
@media screen and (min-width: 768px)
{
    .schedule__container
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -webkit-box-pack: justify;

            -ms-flex-pack: justify;

                justify-content: space-between;
    }
}
@media screen and (max-width: 767px)
{
    .schedule__container
    {
        margin-bottom: 66px;
    }
}
@media screen and (min-width: 768px)
{
    .schedule__wrapper
    {
        width: 48%;
    }
}
@media screen and (max-width: 767px)
{
    .schedule__wrapper:nth-of-type(n + 2)
    {
        margin-top: 70px;
    }
}
.schedule__day-heading-box
{
    margin-bottom: 23px;

    text-align: center;
}

.schedule__day-heading
{
    font-family: 'Futura', 'Arial', sans-serif;
    font-size: 36px;
    font-size: 3.6rem;
    font-weight: 700;

    position: relative;

    display: inline-block;

    padding: 0 20px;

    color: #f94142;
}

@media screen and (max-width: 767px)
{
    .schedule__day-heading
    {
        font-size: 28px;
        font-size: 2.8rem;
    }
}
.schedule__day-heading::before,
.schedule__day-heading::after
{
    position: absolute;
    top: 50%;

    width: 12px;
    height: 15px;

    content: '';
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}

.schedule__day-heading::before
{
    left: 0;

    background: transparent url(./../image/object_2.svg) no-repeat top center/cover;
}

.schedule__day-heading::after
{
    right: 3px;

    background: transparent url(./../image/object_3.svg) no-repeat top center/cover;
}

.schedule__lists
{
    max-width: 340px;
    margin: 0 auto;
    padding-left: 38px;
}

@media screen and (max-width: 767px)
{
    .schedule__lists
    {
        max-width: 300px;
        padding-left: 23px;
    }
}
.schedule__list
{
    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    padding-bottom: 25px;
}

.schedule__list::before,
.schedule__list::after
{
    position: absolute;

    content: '';
}

.schedule__list::before
{
    top: 3px;
    left: -20px;

    width: 12px;
    height: 15px;

    background: transparent url(./../image/object_2.svg) no-repeat top center/cover;
}

.schedule__list::after
{
    top: 25px;
    left: -15px;

    width: 1px;
    height: calc(100% - 30px);

    background-color: #ffe6e7;
}

.schedule__list:nth-last-of-type(1)
{
    padding-bottom: 0;
}

.schedule__list:nth-last-of-type(1)::after
{
    display: none;
}

.schedule__time
{
    font-family: 'DINAlternate', sans-serif;

    width: 114px;

    text-decoration: underline;
    letter-spacing: .04em;

    color: #f94142;
}

@media screen and (max-width: 767px)
{
    .schedule__time
    {
        font-size: 15px;
        font-size: 1.5rem;
    }
}
.schedule__list-title
{
    font-weight: 700;

    width: calc(100% - 114px);

    letter-spacing: .04em;
}

@media screen and (max-width: 767px)
{
    .schedule__list-title
    {
        font-size: 14px;
        font-size: 1.4rem;
    }
}
.schedule__comment
{
    font-size: 15px;
    font-size: 1.5rem;

    position: relative;

    max-width: 345px;
    margin-top: 34px;
    margin-left: auto;
    padding: 32px 0 74px 13px;

    border-radius: 5px;
    background: transparent url(./../image/comment-bg.png) no-repeat top center/cover;
}

@media screen and (max-width: 767px)
{
    .schedule__comment
    {
        display: none;
    }
}
.schedule__comment-sp
{
    display: none;
}

@media screen and (max-width: 767px)
{
    .schedule__comment-sp
    {
        position: relative;

        display: block;

        max-width: 345px;
        margin: 0 auto;
        padding: 29px 5px 68px;

        border-radius: 5px;
        background: transparent url(./../image/comment-bg.png) no-repeat top center/cover;
    }
}
.schedule__comment-text
{
    line-height: 1.8;

    color: #f94142;
}

@media screen and (max-width: 767px)
{
    .schedule__comment-text
    {
        font-size: 15px;
        font-size: 1.5rem;
    }
}
@media screen and (max-width: 767px)
{
    .schedule__comment-text span
    {
        font-size: 20px;
        font-size: 2rem;

        background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(73%, #fff), color-stop(73%, #ffde68), to(#ffde68));

        background-image: linear-gradient(180deg, #fff 0%, #fff 73%, #ffde68 73%, #ffde68 100%);
    }
}
.schedule__illust
{
    position: absolute;
    right: 52px;
    bottom: -52px;

    width: 100px;

    background-color: #fffffb;
}

.works
{
    margin-bottom: 180px;
}

@media screen and (max-width: 767px)
{
    .works
    {
        margin-bottom: 16px;
        padding-bottom: 40px;
    }
}
.works .c-heading
{
    margin-bottom: 28px;
}

.works__text
{
    margin-bottom: 36px;

    text-align: center;
}

@media screen and (min-width: 768px)
{
    .works__text
    {
        letter-spacing: -.06em;
    }
}
@media screen and (max-width: 767px)
{
    .works__text
    {
        font-size: 15px;
        font-size: 1.5rem;
    }
}
.works__slider
{
    max-width: 1290px;
    margin: 0 auto;
}

.works__slide
{
    margin: 0 9px;
}

@media screen and (max-width: 767px)
{
    .works__slide
    {
        margin: 0 7px;
    }
}
.works__img
{
    position: relative;

    overflow: hidden;

    margin-bottom: 7px;
    padding-top: 57%;
}

@media screen and (max-width: 767px)
{
    .works__img
    {
        padding-top: 55%;
    }
}
.works__img img,
.works__img iframe
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
}

.works__img .js-mask
{
    display: none;
}

@media screen and (max-width: 1023px)
{
    .works__img .js-mask
    {
        position: absolute;
        top: 0;
        left: 0;

        display: block;

        width: 100%;
        height: 100%;
    }
}
.works__caption
{
    letter-spacing: .15em;

    color: #ada3a3;
}

@media screen and (max-width: 767px)
{
    .works__caption
    {
        font-size: 14px;
        font-size: 1.4rem;
    }
}
.slick-dots
{
    z-index: 2;
    bottom: -28px;
}

.slick-dots li.slick-active button:before
{
    color: #f94142;
}

.slick-dots li button:before
{
    opacity: 1;
    color: #d9d9d9;
}

.slick-dots li
{
    margin: 0;
}

.slick-prev,
.slick-next
{
    z-index: 10;
    top: calc(100% + 20px);

    width: 32px;
    height: 32px;
}

.slick-prev:before,
.slick-next:before
{
    font-size: 30px;

    color: #f94142;
}

.slick-prev
{
    left: 20px;
}

.slick-next
{
    right: 20px;
}

@media screen and (min-width: 1024px)
{
    .other
    {
        margin-bottom: 133px;
    }

    .other .c-point
    {
        max-width: 517px;
        height: auto;
        margin: 0 0 0 60px;
        padding-top: 60px;
    }

    .other .c-point__point-box
    {
        top: -29px;
    }

    .other .c-point__en
    {
        font-size: 30px;
        font-size: 3rem;
    }

    .other .c-point__number
    {
        font-size: 48px;
        font-size: 4.8rem;
    }

    .other .c-point__text
    {
        font-size: 24px;
        font-size: 2.4rem;
    }

    .other .c-point__text strong
    {
        font-size: 24px;
        font-size: 2.4rem;
    }
}
@media screen and (max-width: 1023px)
{
    .other
    {
        margin-bottom: 103px;
    }
}
.other__inner
{
    max-width: 1500px;
}

.other__text
{
    line-height: 1.7;

    letter-spacing: .05em;
}

@media screen and (min-width: 1024px)
{
    .other__text
    {
        max-width: 350px;
        margin-top: -18px;
        margin-right: auto;
        margin-left: auto;

        -webkit-box-ordinal-group: 4;

            -ms-flex-order: 3;

                order: 3;
    }
}
@media screen and (max-width: 1023px)
{
    .other__text
    {
        max-width: 350px;
        margin-top: 70px;
        margin-right: auto;
        margin-left: auto;
    }
}
@media screen and (max-width: 767px)
{
    .other__text
    {
        margin-top: 20px;
    }
}
@media screen and (min-width: 1024px)
{
    .other__img
    {
        max-width: 360px;
        margin: 25px auto 0 auto;

        -webkit-box-ordinal-group: 3;

            -ms-flex-order: 2;

                order: 2;
    }
}
@media screen and (max-width: 1023px)
{
    .other__img
    {
        max-width: 280px;
        margin: 0 auto 31px auto;
    }
}
@media screen and (min-width: 1024px)
{
    .other__container
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -webkit-box-pack: justify;

            -ms-flex-pack: justify;

                justify-content: space-between;
    }
}
@media screen and (min-width: 1024px)
{
    .other__wrapper:nth-of-type(1)
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;

        width: 44%;
    }

    .other__wrapper:nth-of-type(1) .c-point
    {
        padding-top: 77px;
    }

    .other__wrapper:nth-of-type(2)
    {
        width: 54%;
        padding-left: 47px;

        border-left: 2px solid #f94142;
    }
}
@media screen and (min-width: 1024px)
{
    .other__support-box
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        margin-top: 72px;
    }
}
@media screen and (max-width: 1023px)
{
    .other__support-box
    {
        margin-top: 30px;
    }
}
@media screen and (min-width: 1024px)
{
    .other__support-item:nth-of-type(n + 2)
    {
        margin-left: 12px;
    }
}
@media screen and (max-width: 1023px)
{
    .other__support-item:nth-of-type(n + 2)
    {
        margin-top: 43px;
    }
}
.other__support-title
{
    position: relative;

    display: inline-block;

    margin-bottom: 5px;
    padding-left: 24px;

    letter-spacing: .1em;
}

@media screen and (min-width: 768px)
{
    .other__support-title
    {
        font-size: 20px;
        font-size: 2rem;

        color: #f94142;
    }
}
.other__support-title::before
{
    position: absolute;
    top: 9px;
    left: 3px;

    width: 11px;
    height: 13px;

    content: '';

    background: transparent url(./../image/object_2.svg) no-repeat top center/cover;
}

@media screen and (max-width: 767px)
{
    .other__support-title::before
    {
        top: 5px;
    }
}
.other__support-title span
{
    font-size: 16px;
    font-size: 1.6rem;

    position: absolute;
    top: -17px;
    right: 0;

    color: #f94142;
}

.other__support-text
{
    margin-bottom: 14px;
    padding-left: 24px;

    letter-spacing: .04em;
}

@media screen and (max-width: 767px)
{
    .other__support-text
    {
        font-size: 14px;
        font-size: 1.4rem;
    }
}
.other__support-img
{
    max-width: 182px;
    margin: 0 auto;
}

.other__support-img--02
{
    max-width: 211px;
}

.other__note
{
    font-size: 12px;
    font-size: 1.2rem;

    margin-top: 20px;
}

.compare
{
    margin-bottom: 184px;
}

@media screen and (max-width: 767px)
{
    .compare
    {
        margin-bottom: 66px;
    }
}
.compare__inner
{
    max-width: 845px;
}

@media screen and (min-width: 768px)
{
    .compare__table-container
    {
        max-width: 805px;
        margin-right: auto;
        margin-bottom: 10px;
        margin-left: auto;
    }
}
@media screen and (max-width: 767px)
{
    .compare__table-container
    {
        overflow-x: scroll;

        margin-bottom: 22px;
        padding: 0 16px;
        padding-top: 16px;
    }
}
.compare__table
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-align: end;

        -ms-flex-align: end;

            align-items: flex-end;
}

@media screen and (max-width: 767px)
{
    .compare__table
    {
        width: 734px;
    }
}
.compare__col
{
    width: 25%;
}

.compare__col:nth-of-type(1)
{
    width: 22%;
    margin-bottom: 2px;
}

.compare__col:nth-of-type(1) .compare__row:nth-of-type(n + 2)
{
    padding-left: 12px;

    border-bottom: 1px solid #000;
    border-left: 1px solid #000;

    -webkit-box-pack: left;

        -ms-flex-pack: left;

            justify-content: left;
}

.compare__col:nth-of-type(1) .compare__row:nth-of-type(2)
{
    border-top: 1px solid #000;
    border-radius: 9px 0 0 0;
}

.compare__col:nth-of-type(1) .compare__row:nth-of-type(1)
{
    background-color: #fff;
}

.compare__col:nth-of-type(1) .compare__row:nth-last-of-type(1)
{
    border-radius: 0 0 0 9px;
}

.compare__col:nth-of-type(2)
{
    width: 28%;

    color: #f94142;
    border: 3px solid #f94142;
    border-radius: 8px;
}

.compare__col:nth-of-type(2) .compare__row:nth-of-type(1)
{
    height: 68px;

    background-color: #f94142;
}

.compare__col:nth-of-type(2) .compare__row:nth-of-type(n + 2)
{
    background-color: #fff1f2;
}

.compare__col:nth-of-type(2) .compare__row:nth-of-type(n + 3)
{
    border-top: 1px solid #000;
}

.compare__col:nth-of-type(n + 3)
{
    margin-bottom: 2px;
}

.compare__col:nth-of-type(n + 3) .compare__row:nth-of-type(1)
{
    height: 56px;

    border-radius: 8px 8px 0 0;
}

@media screen and (min-width: 768px)
{
    .compare__col:nth-of-type(n + 3) .compare__row:nth-of-type(1)
    {
        font-size: 20px;
        font-size: 2rem;
    }
}
.compare__col:nth-of-type(n + 3) .compare__row:nth-of-type(n + 2)
{
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
}

.compare__col:nth-last-of-type(1) .compare__row:nth-last-of-type(1)
{
    border-radius: 0 0 9px 0;
}

.compare__row
{
    font-weight: 700;
    line-height: 1.2;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    height: 113px;

    letter-spacing: .1em;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.compare__row:nth-of-type(1)
{
    font-size: 19px;
    font-size: 1.9rem;

    color: #fff;
    background-color: #2d2d2d;
}

.compare__row picture
{
    width: 77%;
}

@media screen and (max-width: 767px)
{
	.bunkatsu{
		font-size: 80%;
	}
    .compare__row picture
    {
        width: 88%;
    }
	
	.compare__row
{
    height: 137px!important;    
}
	
}
.compare__note
{
    font-size: 12px;
    font-size: 1.2rem;

    letter-spacing: -.02em;
}

@media screen and (min-width: 768px)
{
    .compare__note
    {
        margin-bottom: 91px;

        text-align: right;
    }
}
@media screen and (max-width: 767px)
{
    .compare__note
    {
        margin-bottom: 25px;
    }
}
.present
{
    margin-bottom: 95px;
}

.present__inner
{
    max-width: 900px;
}

.present__cards
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-bottom: 32px;

    -ms-flex-wrap: wrap;

        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

@media screen and (max-width: 767px)
{
    .present__cards
    {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
    }
}
@media screen and (min-width: 1024px)
{
    .present__card
    {
        width: calc(25% - 30px);
    }

    .present__card:not(:nth-of-type(4n + 1))
    {
        margin-left: 40px;
    }

    .present__card:nth-of-type(n + 5)
    {
        margin-top: 22px;
    }
}
@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .present__card
    {
        width: calc(33.3333333333% - 26.6666666667px);
    }

    .present__card:not(:nth-of-type(3n + 1))
    {
        margin-left: 40px;
    }

    .present__card:nth-of-type(n + 4)
    {
        margin-top: 22px;
    }
}
@media screen and (max-width: 767px)
{
    .present__card
    {
        width: 48%;
    }

    .present__card:nth-of-type(n + 3)
    {
        margin-top: 32px;
    }

    .present__card:nth-last-of-type(1)
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        width: 100%;

        -webkit-box-pack: justify;

            -ms-flex-pack: justify;

                justify-content: space-between;
    }

    .present__card:nth-last-of-type(1) .present__img-box
    {
        width: 38%;
    }

    .present__card:nth-last-of-type(1) .present__card-text-box
    {
        width: 53%;
    }

    .present__card:nth-last-of-type(1) .present__card-title
    {
        text-align: left;

        -webkit-box-pack: left;

            -ms-flex-pack: left;

                justify-content: left;
    }

    .present__card:nth-last-of-type(1) .present__card-text
    {
        text-align: left;
    }
}
.present__img-box
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    height: 92px;

    -webkit-box-align: center;

        -ms-flex-align: center;

            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.present__img--01
{
    max-width: 62px;
}

.present__img--02
{
    max-width: 72px;
}

.present__img--03
{
    max-width: 68px;
}

.present__img--04
{
    max-width: 63px;
}

.present__img--05
{
    max-width: 25px;
}

.present__img--06
{
    max-width: 77px;
}

.present__img--07
{
    max-width: 80px;
}

.present__card-title
{
    font-weight: 700;

    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    height: 54px;

    text-align: center;

    color: #f94142;

    -webkit-box-pack: center;

        -ms-flex-pack: center;

            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

@media screen and (min-width: 768px)
{
    .present__card-title
    {
        font-size: 18px;
        font-size: 1.8rem;
    }
}
.present__card-title span
{
    position: relative;
}

.present__card-title.note span::after
{
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: 700;

    position: absolute;
    top: -55px;
    right: -9px;

    content: '※';

    color: #f94142;
}

@media screen and (max-width: 767px)
{
    .present__card-title.note span::after
    {
        top: -15px;
        right: -9px;
    }
}
.present__card-text
{
    text-align: center;
}

@media screen and (max-width: 767px)
{
    .present__card-text
    {
        font-size: 14px;
        font-size: 1.4rem;
    }
}
.present__note
{
    font-size: 14px;
    font-size: 1.4rem;
}

@media screen and (min-width: 768px)
{
    .present__note
    {
        text-align: center;
    }
}
.plan
{
    margin-bottom: 137px;
}

@media screen and (max-width: 767px)
{
    .plan
    {
        margin-bottom: 67px;
    }
}
@media screen and (min-width: 768px)
{
    .plan__inner
    {
        max-width: 840px;
    }
}
.plan__container
{
    padding: 0 72px;

    border: 2px solid #f94142;
}

@media screen and (max-width: 767px)
{
    .plan__container
    {
        padding: 0 19px;
    }
}
.plan__wrapper
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    padding: 42px 20px 42px 40px;

    -webkit-box-pack: justify;

        -ms-flex-pack: justify;

            justify-content: space-between;
}

.plan__wrapper:nth-of-type(n + 2)
{
    border-top: 2px solid #f94142;
}

.plan__wrapper:nth-of-type(1) .plan__wrapper-right
{
    width: calc(100% - 261px);
}

@media screen and (max-width: 767px)
{
    .plan__wrapper:nth-of-type(1) .plan__wrapper-right
    {
        width: calc(100% - 93px);
    }
}
.plan__wrapper:nth-of-type(2) .plan__wrapper-right
{
    width: calc(100% - 225px);
}

@media screen and (max-width: 767px)
{
    .plan__wrapper:nth-of-type(2) .plan__wrapper-right
    {
        width: calc(100% - 96px);
    }
}
@media screen and (min-width: 768px)
{
    .plan__wrapper
    {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }
}
@media screen and (max-width: 1023px)
{
    .plan__wrapper
    {
        padding: 42px 20px;
    }
}
@media screen and (max-width: 767px)
{
    .plan__wrapper
    {
        padding: 31px 16px;
    }
}
.plan__wrapper-left
{
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: 700;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;

    width: 200px;

    letter-spacing: .08em;

    -webkit-box-pack: end;

        -ms-flex-pack: end;

            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

@media screen and (max-width: 767px)
{
    .plan__wrapper-left
    {
        font-size: 17px;
        font-size: 1.7rem;

        width: 96px;

        -webkit-box-align: center;

            -ms-flex-align: center;

                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
    }
}
.plan__wrapper-left span
{
    font-size: 14px;
    font-size: 1.4rem;
}

@media screen and (max-width: 767px)
{
    .plan__wrapper-left span
    {
        font-size: 12px;
        font-size: 1.2rem;
    }
}
.plan__wrapper-right
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: block;

    -webkit-box-align: end;

        -ms-flex-align: end;

            align-items: flex-end;
}

.plan__number
{
    font-family: 'DINAlternate', sans-serif;
    font-size: 104px;
    font-size: 10.4rem;
    line-height: .8;

    margin-right: 5px;
    margin-left: 5px;

    color: #f94142;
}

@media screen and (max-width: 767px)
{
    .plan__number
    {
        font-size: 87px;
        font-size: 8.7rem;
    }
}
.plan__money-box
{
    text-align: center;
}

.plan__tax
{
    font-size: 14px;
    font-size: 1.4rem;
}

@media screen and (max-width: 767px)
{
    .plan__tax
    {
        font-size: 12px;
        font-size: 1.2rem;
    }
}
.plan__money
{
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: 700;

    color: #f94142;
}

@media screen and (max-width: 767px)
{
    .plan__money
    {
        font-size: 20px;
        font-size: 2rem;
    }
}
.flow
{
    margin-bottom: 128px;
}

@media screen and (max-width: 767px)
{
    .flow
    {
        margin-bottom: 66px;
    }
}
.flow__inner
{
    max-width: 1020px;
}

.flow__container
{
    position: relative;

    margin: 0 auto;
}

@media screen and (max-width: 1023px)
{
    .flow__container
    {
        max-width: 300px;
        padding-left: 30px;
    }
}
.flow__left-border
{
    display: none;
}

@media screen and (max-width: 1023px)
{
    .flow__left-border
    {
        position: absolute;
        top: 20px;
        left: 0;

        display: block;

        width: 2px;
        height: calc(100% - 135px);

        background-color: #f94142;
    }
}
.flow__top-border
{
    position: absolute;
    top: -31px;
    left: 4px;

    width: calc(100% - 110px);
    height: 2px;

    background-color: #f94142;
}

@media screen and (max-width: 1023px)
{
    .flow__top-border
    {
        display: none;
    }
}
.flow__bottom-border
{
    position: absolute;
    top: 169px;
    left: 4px;

    width: calc(100% - 268px);
    height: 2px;

    background-color: #f94142;
}

@media screen and (max-width: 1023px)
{
    .flow__bottom-border
    {
        display: none;
    }
}
@media screen and (min-width: 1024px)
{
    .flow__cards
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -ms-flex-wrap: wrap;

            flex-wrap: wrap;
    }
}
.flow__card
{
    position: relative;

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;

    -webkit-box-pack: justify;

        -ms-flex-pack: justify;

            justify-content: space-between;
}

@media screen and (min-width: 1024px)
{
    .flow__card:not(:nth-of-type(4n + 1))
    {
        margin-left: 53px;
    }

    .flow__card:nth-of-type(n + 5)
    {
        margin-top: 77px;
    }
}
@media screen and (max-width: 1023px)
{
    .flow__card
    {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

    .flow__card:nth-of-type(n + 2)
    {
        margin-top: 24px;
    }
}
.flow__card-left
{
    position: relative;
}

@media screen and (max-width: 1023px)
{
    .flow__card-left
    {
        width: 135px;
    }
}
.flow__card-right
{
    text-align: center;
}

@media screen and (max-width: 1023px)
{
    .flow__card-right
    {
        width: calc(100% - 135px);
    }
}
.flow__step
{
    font-size: 15px;
    font-size: 1.5rem;

    position: relative;

    display: inline-block;

    margin-bottom: 2px;

    letter-spacing: -.04em;

    color: #f94142;
}

.flow__step::before
{
    position: absolute;
    top: -35px;
    left: 0;

    width: 12px;
    height: 14px;

    content: '';

    background: transparent url(./../image/object_2.png) no-repeat top center/cover;
}

@media screen and (min-width: 1024px)
{
    .flow__step::before
    {
        -webkit-transform: rotate(90deg);
                transform: rotate(90deg);
    }
}
@media screen and (max-width: 1023px)
{
    .flow__step::before
    {
        top: 12px;
        left: -34px;
    }
}
.flow__step .flow__note-mark
{
    position: absolute;
    top: 0;
    right: -18px;

    color: #f94142;
}

.flow__step span
{
    font-family: 'DINAlternate', sans-serif;
    font-size: 24px;
    font-size: 2.4rem;

    margin-left: 6px;
}

.flow__card-title
{
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;

    letter-spacing: .1em;
}

@media screen and (max-width: 1023px)
{
    .flow__card-title
    {
        font-size: 17px;
        font-size: 1.7rem;
    }
}
.flow__card-img
{
    margin: 0 auto;
}

.flow__card-img--01
{
    max-width: 99px;
}

@media screen and (max-width: 1023px)
{
    .flow__card-img--01
    {
        max-width: 76px;
    }
}
.flow__card-img--02
{
    max-width: 99px;
}

@media screen and (max-width: 1023px)
{
    .flow__card-img--02
    {
        max-width: 80px;
    }
}
.flow__card-img--03
{
    max-width: 97px;
}

@media screen and (max-width: 1023px)
{
    .flow__card-img--03
    {
        max-width: 63px;
    }
}
.flow__card-img--04
{
    max-width: 97px;
}

@media screen and (max-width: 1023px)
{
    .flow__card-img--04
    {
        max-width: 61px;
    }
}
.flow__card-img--05
{
    max-width: 98px;
}

@media screen and (max-width: 1023px)
{
    .flow__card-img--05
    {
        max-width: 80px;
    }
}
.flow__card-img--06
{
    max-width: 101px;
}

@media screen and (max-width: 1023px)
{
    .flow__card-img--06
    {
        max-width: 72px;
    }
}
.flow__card-img--07
{
    max-width: 93px;
}

@media screen and (max-width: 1023px)
{
    .flow__card-img--07
    {
        max-width: 80px;
    }
}
.flow__card-img--08
{
    max-width: 91px;
}

@media screen and (max-width: 1023px)
{
    .flow__card-img--08
    {
        max-width: 96px;
    }
}
.flow__note
{
    font-size: 12px;
    font-size: 1.2rem;

    margin-top: 20px;
}

.recommended
{
    margin-bottom: 220px;
    padding-top: 118px;
}

@media screen and (min-width: 768px)
{
    .recommended .c-heading
    {
        margin-bottom: 171px;
    }
}
@media screen and (max-width: 767px)
{
    .recommended
    {
        margin-bottom: 201px;
    }
}
.recommended__inner
{
    max-width: 840px;
}

@media screen and (min-width: 768px)
{
    .recommended__container
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -webkit-box-pack: justify;

            -ms-flex-pack: justify;

                justify-content: space-between;
    }
}
.recommended__wrapper
{
    position: relative;

    width: 42%;
}

@media screen and (max-width: 1023px)
{
    .recommended__wrapper
    {
        width: 47%;
    }
}
@media screen and (max-width: 767px)
{
    .recommended__wrapper
    {
        width: 100%;
    }

    .recommended__wrapper:nth-of-type(n + 2)
    {
        margin-top: 69px;
    }

    .recommended__wrapper:nth-of-type(n + 2)::before
    {
        top: -140px;
    }
}
.recommended__wrapper::before
{
    position: absolute;
    z-index: 1;
    top: -84px;
    left: -41px;

    width: 300px;
    height: 346px;

    content: '';

    background: transparent url(./../image/object_4.png) no-repeat top center/cover;
}

@media screen and (max-width: 767px)
{
    .recommended__wrapper::before
    {
        top: -60px;
        left: -30px;
    }
}
.recommended__img
{
    position: relative;
    z-index: 2;

    margin-bottom: 20px;
}

.recommended__img img
{
    border-radius: 4px;
}

.recommended__name
{
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;

    position: relative;
    z-index: 2;

    margin-bottom: 10px;
}

.recommended__text
{
    font-size: 15px;
    font-size: 1.5rem;
    line-height: 1.4;

    position: relative;
    z-index: 2;

    letter-spacing: .1em;
}

.contact
{
    position: relative;

    margin-bottom: 100px;
    padding: 45px 0 78px;

    background-color: #f94142;
}

.contact .c-heading__en,
.contact .c-heading__jp
{
    color: #fff;
}

@media screen and (min-width: 1024px)
{
    .contact .c-heading
    {
        margin-bottom: 0;

        text-align: left;
    }
}
@media screen and (max-width: 1023px) and (min-width: 768px)
{
    .contact .c-heading
    {
        margin-bottom: 40px;
    }
}
.contact__inner
{
    max-width: 1100px;
}

@media screen and (min-width: 1024px)
{
    .contact__container
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -webkit-box-pack: justify;

            -ms-flex-pack: justify;

                justify-content: space-between;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }
}
.contact__object
{
    position: absolute;
    z-index: -1;

    width: 189px;
}

.contact__object.top
{
    top: -63px;
}

@media screen and (min-width: 1024px)
{
    .contact__object.top
    {
        left: calc(50% - 770px);
    }
}
@media screen and (max-width: 1023px)
{
    .contact__object.top
    {
        left: -29px;
    }
}
.contact__object.bottom
{
    bottom: -63px;
}

@media screen and (min-width: 1024px)
{
    .contact__object.bottom
    {
        right: calc(50% - 770px);
    }
}
@media screen and (max-width: 1023px)
{
    .contact__object.bottom
    {
        right: -3px;
    }
}
.contact__top-lead-box
{
    margin-bottom: 36px;

    text-align: center;
}

@media screen and (min-width: 1024px)
{
    .contact__top-lead-box
    {
        padding-right: 50px;
    }
}
@media screen and (max-width: 1023px)
{
    .contact__top-lead-box
    {
        margin-bottom: 21px;
    }
}
.contact__top-lead
{
    font-weight: bold;

    position: relative;

    display: inline-block;

    color: #fff;
}

@media screen and (min-width: 768px)
{
    .contact__top-lead
    {
        font-size: 24px;
        font-size: 2.4rem;
    }
}
.contact__top-lead::before,
.contact__top-lead::after
{
    position: absolute;
    bottom: -5px;

    width: calc(50% - 13px);
    height: 2px;

    content: '';

    background-color: #fff;
}

.contact__top-lead::before
{
    left: 0;
}

.contact__top-lead::after
{
    right: 0;
}

.contact__border
{
    position: absolute;
    bottom: -14px;
    left: 50%;

    width: 15px;
    height: 14px;

    -webkit-transform: translateX(-50%);

            transform: translateX(-50%);
}

.contact__border::before,
.contact__border::after
{
    position: absolute;

    width: 2px;
    height: 17px;

    content: '';

    background-color: #fff;
}

.contact__border::before
{
    top: 0;
    left: 0;

    -webkit-transform: rotate(-55deg);

            transform: rotate(-55deg);
}

.contact__border::after
{
    top: 0;
    right: 0;

    -webkit-transform: rotate(55deg);

            transform: rotate(55deg);
}

.contact__bottom-lead-box
{
    text-align: center;
}

@media screen and (min-width: 1024px)
{
    .contact__bottom-lead-box
    {
        padding-right: 50px;
    }
}
.contact__bottom-lead
{
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: 700;

    position: relative;

    display: inline-block;

    margin-bottom: 39px;
    padding: 0 28px;

    color: #fff;
}

@media screen and (max-width: 767px)
{
    .contact__bottom-lead
    {
        font-size: 18px;
        font-size: 1.8rem;
    }
}
.contact__lead-object-left
{
    position: absolute;
    top: 10px;
    left: 0;

    width: 20px;
    height: 100%;
}

@media screen and (max-width: 767px)
{
    .contact__lead-object-left
    {
        top: 0;
    }
}
.contact__lead-object-left::before,
.contact__lead-object-left::after
{
    position: absolute;

    width: 2px;

    content: '';

    background-color: #fff;
}

.contact__lead-object-left::before
{
    top: -3px;
    left: 6px;

    height: 26px;

    -webkit-transform: rotate(-28deg);

            transform: rotate(-28deg);
}

.contact__lead-object-left::after
{
    top: 10px;
    left: 3px;

    height: 15px;

    -webkit-transform: rotate(-44deg);

            transform: rotate(-44deg);
}

.contact__lead-object-right
{
    position: absolute;
    top: 10px;
    right: 0;

    width: 20px;
    height: 100%;
}

@media screen and (max-width: 767px)
{
    .contact__lead-object-right
    {
        top: 0;
    }
}
.contact__lead-object-right::before,
.contact__lead-object-right::after
{
    position: absolute;

    width: 2px;

    content: '';

    background-color: #fff;
}

.contact__lead-object-right::before
{
    top: -3px;
    right: 6px;

    height: 26px;

    -webkit-transform: rotate(28deg);

            transform: rotate(28deg);
}

.contact__lead-object-right::after
{
    top: 10px;
    right: 3px;

    height: 15px;

    -webkit-transform: rotate(44deg);

            transform: rotate(44deg);
}

.qa__inner
{
    max-width: 760px;
}

.qa__lists
{
    padding-left: 20px;
}

.qa__list:nth-of-type(n + 2)
{
    margin-top: 49px;
}

@media screen and (max-width: 767px)
{
    .qa__list:nth-of-type(n + 2)
    {
        margin-top: 31px;
    }
}
.qa__dt
{
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: 700;

    position: relative;

    margin-bottom: 10px;
    padding: 18px 18px 18px 50px;

    letter-spacing: .02em;

    border: 1.5px solid #f94142;
    border-radius: 3px;
    border-radius: 3px;
}

@media screen and (max-width: 767px)
{
    .qa__dt
    {
        font-size: 15px;
        font-size: 1.5rem;

        padding: 11px 18px 11px 22px;
    }
}
.qa__dt span
{
    font-family: 'DINAlternate', sans-serif;
    font-size: 28px;
    font-size: 2.8rem;

    position: absolute;
    top: -25px;
    left: -29px;

    padding: 4px 17px;

    color: #fff;
    border-radius: 14px;
    background-color: #f94142;
}

@media screen and (max-width: 767px)
{
    .qa__dt span
    {
        font-size: 22px;
        font-size: 2.2rem;

        top: -13px;
        left: -20px;

        padding: 2px 12px;

        border-radius: 10px;
    }
}
.qa__dd
{
    line-height: 1.4;

    letter-spacing: .04em;
}

@media screen and (min-width: 768px)
{
	.michi{
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	
	.michi h3{
		width: 45%;
		    font-size: 20px;
    font-size: 2.0rem;
		text-align: center;
		color: #f94142;
		font-weight: bold;
	}
	
	.michi iframe{
		max-width: 50%;
	}
	
    .qa__dd
    {
        margin-top: 19px;
        padding-left: 52px;
    }
}
@media screen and (max-width: 767px)
{
	.michi{
		display: block;
		align-items: center;
		justify-content: space-between;
	}
	
	.michi h3{
		width: 100%;
		    font-size: 20px;
    font-size: 2.0rem;
		text-align: center;
		color: #f94142;
		font-weight: bold;
		margin-bottom: 1em;
	}
	
	.michi iframe{
		max-width: 100%;
	}
	
    .qa__dd
    {
        font-size: 15px;
        font-size: 1.5rem;
    }
}
.shop
{
    margin-top: 102px;
}

@media screen and (max-width: 767px)
{
    .shop
    {
        margin-top: 70px;
    }
}
.shop__inner
{
    max-width: 1000px;
}

.shop__wrapper:nth-of-type(n + 2)
{
    margin-top: 104px;
}

@media screen and (max-width: 767px)
{
    .shop__wrapper:nth-of-type(n + 2)
    {
        margin-top: 70px;
    }
}
.shop__title
{
    font-size: 36px;
    font-size: 3.6rem;

    margin-bottom: 22px;

    text-align: center;
}

@media screen and (max-width: 767px)
{
    .shop__title
    {
        font-size: 28px;
        font-size: 2.8rem;
    }
}
@media screen and (min-width: 1024px)
{
    .shop__flex
    {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;

        -webkit-box-pack: justify;

            -ms-flex-pack: justify;

                justify-content: space-between;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }
}
.shop__text-box
{
    padding: 10px 0 10px 20px;

    border-left: 3px solid #000;
}

@media screen and (min-width: 1024px)
{
    .shop__text-box
    {
        width: 46%;
    }
}
@media screen and (max-width: 1023px)
{
    .shop__text-box
    {
        margin-bottom: 40px;
    }
}
.shop__map
{
    position: relative;

    padding-top: 31%;
}

@media screen and (min-width: 1024px)
{
    .shop__map
    {
        width: 46%;
    }
}
@media screen and (max-width: 1023px)
{
    .shop__map
    {
        padding-top: 50%;
    }
}
@media screen and (max-width: 767px)
{
    .shop__map
    {
        padding-top: 80%;
    }
}
.shop__map > iframe
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    border: none;
}

@media screen and (max-width: 767px)
{
    .shop__text
    {
        font-size: 15px;
        font-size: 1.5rem;
    }
}
.shop__text:nth-of-type(n + 2)
{
    margin-top: 41px;
}

@media screen and (max-width: 767px)
{
    .shop__text:nth-of-type(n + 2)
    {
        margin-top: 20px;
    }
}
.campaign
{
    background-color: #ffde68;
	margin-bottom: 6em;
}

.campaign__object
{
    position: absolute;

    max-width: 147px;
}

.campaign__object--01
{
    top: 0;
    right: 0;
}

.campaign__object--02
{
    bottom: 0;
    left: 0;
}

.campaign__container
{
    position: relative;

    width: 100%;
    height: 100%;
    padding-top: 46px;
    padding-bottom: 72px;

    background: linear-gradient(-30deg, #fef844 0%, #fef844 12%, rgba(0, 0, 0, 0) 12%, rgba(0, 0, 0, 0) 88%, #fef844 88%, #fef844 100%);
}

.campaign__top-img
{
    max-width: 441px;
    margin: 0 auto -30px;
}

.campaign__center-img
{
    max-width: 298px;
    margin: 0 auto 40px;
}

/* ==========================================================================
   toppage
   ========================================================================== */
