@charset "UTF-8";

html,
body {
    height: 100%;
}

#wrap {
    background-image: url(../img/contact_bg_left.png), url(../img/contact_bg_right.png);
    background-position: left top, right bottom;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
    height: 90vh;
}

.p-top {
    padding-top: 5px;
}

#contact {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    max-width: 720px;
    flex: 1 1 100%;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

#contact > a,
.policy > a {
    color: #28a7e1;
}

#contact > a,
#contact > p {
    margin-bottom: 10px;
}

.policy {
    text-align: justify;
    width: 100%;
    max-width: 560px;
    line-height: 1.5;
}

.contact_title {
    margin-top: 40px;
    margin-bottom: 10px;
}

#contact_btn {
    width: 350px;
    height: 150px;
    background: rgb(15, 15, 51);
    background: -moz-linear-gradient(top, rgba(15, 15, 51, 1) 0%, rgba(0, 91, 151, 1) 100%);
    background: -webkit-linear-gradient(top, rgba(15, 15, 51, 1) 0%, rgba(0, 91, 151, 1) 100%);
    background: linear-gradient(to bottom, rgba(15, 15, 51, 1) 0%, rgba(0, 91, 151, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0f0f33', endColorstr='#005b97', GradientType=0);
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 40px;
    box-shadow: 0px 2px 6px 3px #cccccc;
}

#contact_btn a {
    color: #fff;
    display: block;
    font-size: 1em;
    line-height: 1.5;
}


.text-shadow {
    text-shadow: #fff 0.5px 0.5px 0px;
}


/*        スマートフォン用            */

@media screen and (max-width:750px) {
    #wrap {
        margin-top: 0;
        background-position: top center, bottom center;
        background-size: contain;
        margin-bottom: -100px;
        height: auto;
        overflow: auto;
    }

    #contact {
        height: inherit;
        margin-top: 50px;
    }

    .contact_title {
        margin-top: 30px;
        line-height: 1.5;
        font-size: 87.5% !important;
        margin-left: auto;
        margin-right: auto;
    }

    .br2::before {
        content: "\A";
        white-space: pre;
    }

    .policy {
        max-width: inherit;
        width: 90%;
        padding-left: 0px;
        font-size: 87.5%;
        align-self: center;
        line-height: 2;
    }

    .time,
    .phone {
        font-size: 1.25em;
    }

    .second_line {
        letter-spacing: 1px;
    }

    #contact_btn {
        width: 90%;
        max-width: 350px;
    }

    #contact_btn a {
        font-size: 87.5%;
    }

    footer {
        padding-top: 15%;
        padding-bottom: 50%;
        box-sizing: border-box;
    }
}

/*       hover関係          */


@media screen and (min-width:1025px) {

    /*        PC           */
    #contact_btn:hover {
        box-shadow: none;
        transform: translate3d(0, 3px, 0);
        transition: .1s;
    }

    .policy > a:hover {
        text-decoration: underline;
    }

    footer {
        padding-top: 0;
    }
}

/*       SP          */
@media screen and (max-width: 750px) {

    #contact_btn:active {
        box-shadow: none;
        transform: translate3d(0, 3px, 0);
        transition: .1s;
    }

    #contact > a:active {
        text-decoration: underline;
    }

}

/*          TAB        */

@media screen and (min-width: 751px) and (max-width: 1024px) {
    
    #wrap {
        overflow: auto;
    }
    
    #contact_btn:active {
        box-shadow: none;
        transform: translate3d(0, 3px, 0);
        transition: .1s;
    }

    #contact > a:active {
        text-decoration: underline;
    }
}