@font-face {
    font-family: glyphs;
    src: url(../fonts/glyphs.eot?t=1680529888008);
    src: url(../fonts/glyphs.eot?t=1680529888008#iefix) format("embedded-opentype"), url(../fonts/glyphs.woff2?t=1680529888008) format("woff2"), url(../fonts/glyphs.woff?t=1680529888008) format("woff"), url(../fonts/glyphs.ttf?t=1680529888008) format("truetype"), url(../fonts/glyphs.svg?t=1680529888008#glyphs) format("svg")
}

[class*=" glyphs-"], [class^=glyphs-] {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: glyphs !important;
    font-size: 1em;
    font-style: normal
}

.glyphs-test:before {
    content: "\ea01"
}

:root {
    --vw: 10px;
    --vh: 10px
}

a, abbr, acronym, address, applet, big, blockquote, body, caption, cite, code, dd, del, dfn, div, dl, dt, em, fieldset, form, h1, h2, h3, h4, h5, h6, html, iframe, img, ins, kbd, label, legend, li, object, ol, p, pre, q, s, samp, small, span, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, ul, var {
    border: 0;
    margin: 0;
    outline: 0;
    padding: 0;
    vertical-align: baseline
}

p {
    text-align: justify;
    text-justify: inter-ideograph; /* Edge */
    line-break: strict;
    word-break: break-word;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

ol, ul {
    list-style: none
}

table {
    border-collapse: separate;
    border-spacing: 0;
    vertical-align: middle
}

caption, td, th {
    font-weight: 400;
    text-align: left;
    vertical-align: middle
}

img {
    vertical-align: middle
}

dd, div, dl, dt, h1, h2, h3, h4, h5, h6, img, li, nav, ol, p, ul {
    margin: 0;
    padding: 0
}

h1, h2, h3, h4, h5, h6 {
    line-height: 1
}

.clearfix:after {
    clear: both;
    content: "";
    display: block
}

main {
    display: block;
    margin-bottom: 0;
}

figure {
    display: block;
    margin: 0;
    padding: 0
}

img {
    height: auto;
    width: 100%
}

[class^=glyphs-] {
    line-height: 1
}

[class*=" glyphs-"]:before, [class^=glyphs-]:before {
    line-height: 1;
    vertical-align: middle
}

html {
    font-size: 10px
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

:after, :before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@-webkit-keyframes effect-btn {
    0% {
        opacity: 0;
        -webkit-transform: scale(0) rotate(45deg)
    }

    80% {
        opacity: .5;
        -webkit-transform: scale(0) rotate(45deg)
    }

    81% {
        opacity: 1;
        -webkit-transform: scale(4) rotate(45deg)
    }

    to {
        opacity: 0;
        -webkit-transform: scale(50) rotate(45deg)
    }
}

@keyframes effect-btn {
    0% {
        opacity: 0;
        -webkit-transform: scale(0) rotate(45deg)
    }

    80% {
        opacity: .5;
        -webkit-transform: scale(0) rotate(45deg)
    }

    81% {
        opacity: 1;
        -webkit-transform: scale(4) rotate(45deg)
    }

    to {
        opacity: 0;
        -webkit-transform: scale(50) rotate(45deg)
    }
}

a {
    color: currentColor;
    text-decoration: none
}

.fit {
    font-family: "object-fit: cover;";
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.fit--contain {
    font-family: "object-fit: contain;";
    -o-object-fit: contain;
    object-fit: contain
}
@font-face {
    font-family: noto;
    src: url(../fonts/NotoSerifJP-Regular.otf)
}

@font-face {
    font-family: notoMedium;
    src: url(../fonts/NotoSerifJP-Medium.otf)
}

@font-face {
    font-family: notoBold;
    src: url(../fonts/NotoSerifJP-Bold.otf)
}

@font-face {
    font-family: playfairItalic;
    src: url(../fonts/PlayfairDisplay-Italic.ttf)
}

body {
    color: #646c68;
    font-family: 'Yu Gothic','Cambria',sans-serif;
    font-weight: 400;
    min-width: 1280px;
}

@media (min-width:769px), print {
    body {
        font-size: 1.5rem;
        line-height: 1.63;
        
    }

    a {
        -webkit-transition: opacity .2s linear;
        -o-transition: opacity .2s linear;
        transition: opacity .2s linear;
        will-change: opacity
    }

    a:hover {
        opacity: .7
    }

    a[href^=tel] {
        display: inline-block;
        pointer-events: none;
        text-decoration: none
    }

    .show_sp {
        display: none !important
    }

    .root {
        overflow: hidden
    }

    .btn {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        background: -webkit-gradient(linear, left top, left bottom, from(#ff3f79), to(#cf0643));
        background: -o-linear-gradient(top, #ff3f79 0, #cf0643 100%);
        background: linear-gradient(180deg, #ff3f79, #cf0643);
        border-radius: 100px;
        color: #fff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        font-size: 2rem;
        font-weight: 700;
        /* height: 70px; */
        justify-content: center;
        line-height: 1.44;
        margin: 0 auto;
        overflow: hidden;
        padding: 12px 30px;
        position: relative;
        text-align: center;
        width: 416px;
        opacity: .8;
        border: none;
    }

    .btn:after {
        -webkit-animation: effect-btn 3s ease-in-out infinite;
        animation: effect-btn 3s ease-in-out infinite;
        background-color: hsla(0, 0%, 100%, .4);
        content: "";
        display: inline-block;
        height: 100%;
        left: 0;
        position: absolute;
        top: -110px;
        width: 30px;
        border: none;
    }

    .btn .icon-arrow {
        background: url(../../images/common/icon_arrow01.svg?vb96a4e259901d19ff062480d6919cb9c) no-repeat;
        background-size: cover;
        display: inline-block;
        height: 30px;
        margin-left: 10px;
        width: 30px
    }

    .btn-large {
        font-size: 2.5rem;
        /* height: 93px; */
        line-height: 1.44;
        /* width: 592px; */
    }

    .header {
        left: 0;
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 100
    }

    .header:after {
        background-color: transparent;
        content: "";
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: -1
    }

    .header.fixed:after {
        background: hsla(0, 0%, 100%, .8)
    }

    @supports ((-webkit-backdrop-filter:blur(28px)) or (backdrop-filter:blur(28px))) {
        .header.fixed:after {
            -webkit-backdrop-filter: blur(28px);
            backdrop-filter: blur(28px);
            background-color: hsla(0, 0%, 100%, .07)
        }
    }

    .header__container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        height: 76px;
        justify-content: space-between;
        padding: 14px 32px
    }

    .header__logo {
        -webkit-box-flex: 0;
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        -ms-flex-positive: 0;
        -ms-flex: none;
        flex: none;
        flex-grow: 0;
        order: 0;
        width: 200px
    }

    .footer {
        background: #faf9f9
    }

    .footer__wrap {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        justify-content: space-between;
        margin: 0 auto;
        max-width: 1578px;
        padding: 32px
    }

    .footer__wrap .logo-copyright {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .footer__wrap .logo-copyright .logo {
        margin-right: 24px;
        width: 200px
    }

    .footer__wrap .logo-copyright .copyright {
        color: #646c68;
        font-size: 1rem;
        letter-spacing: .1em;
        line-height: 2.6;
        text-transform: uppercase
    }

    .footer__wrap .footer-links {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .footer__wrap .footer-links .ft-links {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-left: -50px
    }

    .footer__wrap .footer-links .ft-links .item {
        letter-spacing: .1em;
        margin-left: 50px
    }

    .footer__wrap .footer-links .list-social {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-left: 54px
    }

    .footer__wrap .footer-links .list-social .item {
        height: 32px;
        width: 32px
    }

    .footer__wrap .footer-links .list-social .item:not(:last-child) {
        margin-right: 10px
    }
}


@media only screen and (max-width:768px) {
    body {
        font-size: 1.5rem;
        line-height: 1.5;
        min-width: initial;
    }

    .show_pc {
        display: none !important
    }

    .root {
        min-width: 320px;
        overflow: hidden
    }

    .btn {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        background: -webkit-gradient(linear, left top, left bottom, from(#FC6590), to(#FC4C7E));
        background: -o-linear-gradient(top, #ff3f79 0, #cf0643 100%);
        background: linear-gradient(180deg, #FC6590, #FC4C7E);
        border-radius: 26.666666666666668vw;
        color: #fff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        font-size: 1.5rem;
        letter-spacing: .1em;
        font-weight: 700;
        /* height: 16.53333333333333vw; */
        justify-content: center;
        line-height: 1.42;
        margin: 0 auto;
        overflow: hidden;
        padding: 1.733333333333334vw;
        position: relative;
        text-align: center;
        /* width: 82.93333333333334vw; */
        opacity: 80%;
        border: none;
    }

    .btn:after {
        -webkit-animation: effect-btn 3s ease-in-out infinite;
        animation: effect-btn 3s ease-in-out infinite;
        background-color: hsla(0, 0%, 100%, .4);
        content: "";
        display: inline-block;
        height: 100%;
        left: 0;
        position: absolute;
        top: -110px;
        width: 30px
    }

    .btn .icon-arrow {
        background: url(../../images/common/icon_arrow01.svg?vb96a4e259901d19ff062480d6919cb9c) no-repeat;
        background-size: cover;
        display: inline-block;
        height: 8vw;
        margin-left: 1.4rem;
        width: 8vw
    }

    .btn-large {
        /* font-size: 2rem; */
        /* height: 16.53333333333333vw; */
        /* line-height: 1.36; */
        /* padding: 3.2vw; */
        width: 92.80000000000001vw;
        /* opacity: 70%; */
    }

    .header {
        left: 0;
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 100
    }

    .header:after {
        background-color: transparent;
        content: "";
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%;
        z-index: -1
    }

    .header.fixed:after {
        background: hsla(0, 0%, 100%, .8)
    }

    @supports ((-webkit-backdrop-filter:blur(28px)) or (backdrop-filter:blur(28px))) {
        .header.fixed:after {
            -webkit-backdrop-filter: blur(28px);
            backdrop-filter: blur(28px);
            background-color: hsla(0, 0%, 100%, .07)
        }
    }

    .header__container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
        flex-direction: row;
        height: 20.266666666666666vw;
        justify-content: space-between;
        padding: 1.4rem 1.8rem
    }

    .header__logo {
        -webkit-box-flex: 0;
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        -ms-flex-positive: 0;
        -ms-flex: none;
        flex: none;
        flex-grow: 0;
        order: 0;
        width: 53.333333333333336vw
    }

    h1.header__logo img {
        width: 70%;
    }

    /* .header__btn a {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        background: #d1ae16;
        border-radius: 26.666666666666668vw;
        color: #fff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-size: 1.5rem;
        font-weight: 500;
        height: 10.666666666666668vw;
        justify-content: center;
        letter-spacing: .1em;
        line-height: 1.5;
        padding: 2.1333333333333333vw 5.333333333333334vw;
        position: relative;
        width: 35.199999999999996vw;
        opacity:70%;
    } */

    /* .header__btn a:after {
        background: url(../../images/common/arrow01.png?v5b9a2ec5c5419d00d17677a2a993281d);
        background-size: 6.666666666666667vw 2.1333333333333333vw;
        content: "";
        height: 2.1333333333333333vw;
        margin-left: 2.1333333333333333vw;
        width: 6.666666666666667vw
    } */

    .footer {
        background: #faf9f9;
        padding: 6.4vw 0
    }

    .footer .logo img{
        width:70%;
    }

    .footer__wrap .logo-copyright {
        margin-bottom: 6.4vw;
        text-align: center
    }

    .footer__wrap .logo-copyright .logo {
        margin: 0 auto 2.1333333333333333vw;
        width: 53.333333333333336vw
    }

    .footer__wrap .logo-copyright .copyright {
        color: #646c68;
        font-size: 1rem;
        letter-spacing: .1em;
        line-height: 2.6;
        text-transform: uppercase;
        text-align: center;
    }

    .footer__wrap .footer-links .ft-links {
        margin-bottom: 6.4vw
    }

    .footer__wrap .footer-links .ft-links .item {
        font-size: 1.5rem;
        letter-spacing: .1em;
        line-height: 1.86;
        text-align: center
    }

    .footer__wrap .footer-links .list-social {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: center
    }

    .footer__wrap .footer-links .list-social .item {
        height: 8.533333333333333vw;
        margin: 0 1.3333333333333335vw;
        width: 8.533333333333333vw
    }

    body footer {
        margin: 30px 0 0;
    }
}