@charset "UTF-8";

/* common */
.contact-box {
    padding: 20px;
    border-radius: var(--border-radius);
    background: var(--bg-blue);
    text-align: center;
}

.contact-lb {
    margin-bottom: 20px;
    color: var(--color-blue);
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.444;
}

/* tel fax */
.contact-tel {
    margin-bottom: 90px;
}

.contact-tel .contact-box {
    padding: 60px 20px;
}

.tel-fax {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.tel-fax__item {
    padding: 0 55px;
}

.tel-fax__item + .tel-fax__item {
    border-left: solid 1px var(--color-gray);
}

.tel-fax__main {
    position: relative;
    padding-left: 0.917em;/*44px*/
    font-size: 48px;
    font-weight: 600;
    letter-spacing: normal;
    line-height: .8;
    white-space: nowrap;
}

.tel-fax__main i {
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    color: var(--color-blue);
}

.tel-fax__main .fa-phone-alt {
    font-size: 0.729em;/*35px*/
}

.tel-fax__main .fa-fax {
    font-size: 0.792em;/*38px*/
}

.tel-fax__sub {
    margin-top: 18px;
    font-size: 0.875em;
    letter-spacing: normal;
    line-height: 1.143;
}

/* line */
.contact-line {
    margin-bottom: 60px;
}

.contact-line .contact-box {
    padding: 40px 20px;
}

.line {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 105px;
}

.line__cont {
    margin-right: 140px;
}

.line__main {
    position: relative;
    padding-left: 1.325em;/*53px*/
    font-size: 40px;
    font-weight: 600;
    letter-spacing: normal;
    line-height: .8;
}

.line__main .small {
    font-size: 0.85em;
}

.line__main i {
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translate(0, -50%);
            transform: translate(0, -50%);
    color: var(--color-blue);
}

.line__main .fa-line {
    font-size: 1.05em;/*42px*/
}

.line__sub {
    margin-top: 20px;
}

.line-btn {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.813em;/*13px*/
    width: 16.375em;/*262px*/
    height: 3.438em;/*55px*/
    border-radius: 3em;
    background: #55C33F;
    color: #fff;
    line-height: 1;
    text-align: center;
    text-decoration: none;
}

.line-btn .fa-line {
    font-size: 1.625em;/*26px*/
}


@media screen and (max-width: 899px) {

    /* common */
    .contact-box {
        padding: 15px;
    }

    .contact-lb {
        margin-bottom: 15px;
        font-size: 16px;
        font-size: min(4.27vw, 18px);
    }

    /* tel fax */
    .contact-tel {
        margin-bottom: 60px;
    }

    .contact-tel .contact-box {
        padding: 5px 7%;
    }

    .tel-fax {
        display: block;
    }

    .tel-fax__item {
        padding: 30px 0;
    }

    .tel-fax__item + .tel-fax__item {
        border-left: none;
        border-top: solid 1px var(--color-gray);
    }

    .tel-fax__main {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 auto;
        font-size: min(8.6vw, 48px);
    }

    /* line */
    .contact-line {
        margin-bottom: 40px;
    }

    .contact-line .contact-box {
        padding: 35px 7%;
    }

    .line {
        display: block;
    }

    .line__qr img {
        max-width: 50%;
    }

    .line__cont {
        margin: 25px 0 0;
    }

    .line__main {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 auto;
        font-size: min(7.4vw, 40px);
    }

}