/* ============== .c-contact ============== */
.c-contact__cont
{
    position: relative;

    width: 1130px;
    height: 266px;
    margin: 0 auto;
}

@media print, screen and (max-width: 1920px)
{
    .c-contact__cont
    {
        width: 58.85417vw;
        height: 13.85417vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-contact__cont
    {
        width: 87.89062vw;
        height: 20.70312vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-contact__cont
    {
        width: 92vw;
        height: 52vw;
    }
}

.c-contact__cont::before
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';

    background-image: url(../images/img_c_contact_frame.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-position: top left;
    background-size: contain;

    inset: 0;
}

@media print, screen and (max-width: 430px)
{
    .c-contact__cont::before
    {
        background-image: url(../images/img_c_contact_frame_sp.svg);
    }
}

.c-contact__inner
{
    position: absolute;
    top: 50%;
    left: 50%;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 1108px;
    height: 247px;
    padding: 23px 48px;

    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);

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

@media print, screen and (max-width: 1920px)
{
    .c-contact__inner
    {
        width: 57.70833vw;
        height: 12.86458vw;
        padding: 1.19792vw 2.5vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-contact__inner
    {
        width: 85.9375vw;
        height: 19.14062vw;
        padding: 2.24609vw 4.6875vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-contact__inner
    {
            flex-direction: column;

        width: 88vw;
        height: 48vw;
        padding: 4vw 2.66667vw;

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

.c-contact__inner::before
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';

    background-image: url(../images/img_c_contact_bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-position: top left;
    background-size: contain;

    inset: 0;
}

@media print, screen and (max-width: 430px)
{
    .c-contact__inner::before
    {
        background-size: cover;
    }
}

.c-contact__inner::after
{
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: 0;

    width: 78px;
    height: 78px;

    content: '';

    background-image: url(../images/img_c_contact_bg2.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-position: top left;
    background-size: contain;
}

@media print, screen and (max-width: 1920px)
{
    .c-contact__inner::after
    {
        width: 4.0625vw;
        height: 4.0625vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-contact__inner::after
    {
        width: 6.83594vw;
        height: 6.83594vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-contact__inner::after
    {
        width: 10.66667vw;
        height: 10.66667vw;
    }
}

.c-contact__ttlBox
{
    font-family: 'Zen Old Mincho', serif;

    position: relative;
    z-index: 2;

    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
        flex-direction: column;

    width: 420px;
    height: 100%;

    text-align: left;

    color: #fff;
    border-right: 1px solid #c1c1c1;

    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

@media print, screen and (max-width: 1920px)
{
    .c-contact__ttlBox
    {
        width: 21.875vw;

        border-right: 1px solid #c1c1c1;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-contact__ttlBox
    {
        width: 30.27344vw;

        border-right: 1px solid #c1c1c1;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-contact__ttlBox
    {
        width: 100%;
        padding-bottom: 2.66667vw;

        text-align: center;

        border-right: none;
        border-bottom: .13333vw solid #c1c1c1;
    }
}

.c-contact__ttlEn
{
    margin-top: 10px;
    letter-spacing: .1em;
}

@media print, screen and (max-width: 1920px)
{
    .c-contact__ttlEn
    {
        margin-top: .52083vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-contact__ttlEn
    {
        margin-top: 1.17188vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-contact__ttlEn
    {
        margin-top: 1.86667vw;
    }
}

.c-contact__ttlJa
{
    font-weight: 900;
    letter-spacing: .1em;
}

.c-contact__telBox
{
    position: relative;
    z-index: 2;

    padding-left: 60px;

    text-align: left;

    color: #fff;
}

@media print, screen and (max-width: 1920px)
{
    .c-contact__telBox
    {
        padding-left: 3.125vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-contact__telBox
    {
        padding-left: 4.88281vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-contact__telBox
    {
        margin-top: 3.73333vw;
        padding-left: 0;
    }
}

.c-contact__tel
{
    font-family: 'Zen Old Mincho', serif;
    font-weight: 800;

    position: relative;

    display: block;

    margin-bottom: 20px;
    padding-left: 62px;

    letter-spacing: .15em;

    color: #fff;
}

@media print, screen and (max-width: 1920px)
{
    .c-contact__tel
    {
        margin-bottom: 1.04167vw;
        padding-left: 3.22917vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-contact__tel
    {
        font-size: 3.90625vw;

        margin-bottom: 1.5625vw;
        padding-left: 4.88281vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-contact__tel
    {
        font-size: 5.33333vw;

        margin-bottom: 2.66667vw;
        padding-left: 10.66667vw;
    }
}

.c-contact__tel::before
{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    width: 36px;
    height: 36px;
    margin: auto 0;

    content: '';

    background-image: url(../images/icon_c_contact_tel.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

@media print, screen and (max-width: 1920px)
{
    .c-contact__tel::before
    {
        width: 1.875vw;
        height: 1.875vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-contact__tel::before
    {
        width: 2.92969vw;
        height: 2.92969vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-contact__tel::before
    {
        left: 4vw;

        width: 4vw;
        height: 4vw;
    }
}

.c-contact__item
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-bottom: 10px;

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

@media print, screen and (max-width: 1920px)
{
    .c-contact__item
    {
        margin-bottom: .52083vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-contact__item
    {
        margin-bottom: .78125vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-contact__item
    {
        margin-bottom: 1.33333vw;
    }
}

.c-contact__tag
{
    font-family: 'Zen Old Mincho', serif;
    font-weight: 800;

    width: 89px;
    padding: 3px 0 4px 0;

    text-align: center;

    background-color: #8d0100;
}

@media print, screen and (max-width: 1920px)
{
    .c-contact__tag
    {
        width: 4.63542vw;
        padding: .15625vw 0 .20833vw 0;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-contact__tag
    {
        width: 6.83594vw;
        padding: .29297vw 0 .39062vw 0;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-contact__tag
    {
        width: 18.66667vw;
        padding: .8vw 0 .93333vw 0;
    }
}

.c-contact__txt
{
    font-weight: 500;

    margin-left: 15px;
    line-height: 1.4;
}

@media print, screen and (max-width: 1920px)
{
    .c-contact__txt
    {
        margin-left: .78125vw;
    }
}

@media print, screen and (max-width: 1025px)
{
    .c-contact__txt
    {
        margin-left: 1.17188vw;
    }
}

@media print, screen and (max-width: 430px)
{
    .c-contact__txt
    {
        line-height: 1.4;

        margin-left: 2.66667vw;
    }
}