/************************
CONTACT PAGE
************************/
#contactForm {
    padding: 0 5% 3%;
    background-image: linear-gradient(to bottom, #fff 1%, #f2f9ff 20%);
}

#contactForm .innerContents {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 1.5em 3.0em;
    background-color: #fff;
}

@media screen and (max-width: 720px) {
    #contactForm .innerContents {
        padding: 1.5em 0.3em;
    }
}

#contactForm .paragraph {
    font-size: 1.5vw;
    text-align: center;
    margin-bottom: 1.0em;
}

@media screen and (max-width: 720px) {
    #contactForm .paragraph {
        font-size: 3.0vw;
        text-align: left;
    }
}

#contactForm form {
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
}

#contactForm form {
    max-width: none;
}

#contactForm .contactFormTable {
    width: 100%;
}

#contactForm .contactFormTable th {
    font-size: 1.3vw;
    font-weight: normal;
    padding: 1.0em 0;
    text-align: left;
}

#contactForm .contactFormTable th p {
    padding-left: 3.5em;
}

#contactForm .contactFormTable th p.inputRequired::before {
    content: "必須";
    display: inline-block;
    margin-right: 0.8em;
    color: #fff;
    background-color: #e02012;
    padding: 0.1em 0.2em;
}

@media screen and (max-width: 720px) {
    #contactForm .contactFormTable th {
        display: block;
        font-size: 3.0vw;
    }

    #contactForm .contactFormTable th p {
        padding-left: 0;
    }
}

#contactForm .contactFormTable td {
    padding: 1.0em 0;
}

#contactForm .contactFormTable td input[type="text"] {
    width: 100%;
    border: 1px solid #e4e4e4;
    font-size: 1.3vw;
    padding: 0.3em 0.5em;
    outline: none;
    transition: all .8s;
}

#contactForm .contactFormTable td input[type="text"]:focus {
    border: 1px solid #0c2d5a;
    background-color: #f2f9ff;
    box-shadow: 0px 5px 10px 0px rgba(12, 45, 90, 0.2);
}

#contactForm .contactFormTable td textarea {
    resize: vertical;
    width: 100%;
    height: 15.0em;
    border: 1px solid #e4e4e4;
    font-size: 1.3vw;
    outline: none;
    padding: 0.3em 0.5em;
    transition: all .8s;
}

#contactForm .contactFormTable td textarea:focus {
    border: 1px solid #0c2d5a;
    background-color: #f2f9ff;
    box-shadow: 0px 5px 10px 0px rgba(12, 45, 90, 0.2);
}

@media screen and (max-width: 720px) {
    #contactForm .contactFormTable td {
        display: block;
        padding: 0.5em 0;
    }

    #contactForm .contactFormTable td input[type="text"] {
        font-size: 3.0vw;
        padding: 0.5em;
    }

    #contactForm .contactFormTable td textarea {
        font-size: 3.0vw;
        padding: 0.5em;
    }
}

#contactForm .contactFormTable font {
    font-size: 1.3vw;
    color: #e02012;
}

@media screen and (max-width: 720px) {
    #contactForm .contactFormTable font {
        font-size: 3.0vw;
    }
}

#contactForm .contactFormTable .vAlignM {
    vertical-align: middle;
}

#contactForm .contactFormTable .vAlignT {
    vertical-align: top;
}

#contactForm div.send {
    position: relative;
    display: block;
    width: 20.8vw;
    max-width: 250px;
    font-size: 1.3vw;
    color: #0c2d5a;
    text-align: center;
    margin: 2.0em auto 0;
    border-style: solid;
    border-width: 3px;
    border-color: rgb(12, 45, 90);
    background-image: -moz-linear-gradient( -180deg, rgb(230,240,254) 0%, rgb(255,255,255) 100%);
    background-image: -webkit-linear-gradient( -180deg, rgb(230,240,254) 0%, rgb(255,255,255) 100%);
    background-image: -ms-linear-gradient( -180deg, rgb(230,240,254) 0%, rgb(255,255,255) 100%);
}

#contactForm div.send::after {
    content: url(../img/common/ic/arrow_blue.svg);
    width: 0.8em;
    height: 0.8em;
    position: absolute;
    top: 50%;
    right: 2.0em;
    transform: translateY(-65%);
}

#contactForm div.send.hoverable:hover {
    color: #fff;
    background-image: -moz-linear-gradient( -180deg, rgb(6,26,50) 0%, rgb(12,45,90) 100%);
    background-image: -webkit-linear-gradient( -180deg, rgb(6,26,50) 0%, rgb(12,45,90) 100%);
    background-image: -ms-linear-gradient( -180deg, rgb(6,26,50) 0%, rgb(12,45,90) 100%);
}

#contactForm div.send.hoverable:hover::after {
    content: url(../img/common/ic/arrow_white.svg);
}

#contactForm div.send input[type="button"]{
	width: 100%;
	height: 100%;
	padding: 0.8em 0;
	outline: none;
}

@media screen and (max-width: 720px) {
    #contactForm div.send {
        width: 45vw;
        max-width: none;
        font-size: 3.0vw;
    }
}

@media screen and (min-width: 1200px) {
    #contactForm .paragraph {
        font-size: 18px;
    }

    #contactForm .contactFormTable th {
        font-size: 16px;
    }

    #contactForm .contactFormTable td input[type="text"] {
        font-size: 16px;
    }
    
    #contactForm .contactFormTable td textarea {
        font-size: 16px;
    }

    #contactForm .contactFormTable font {
        font-size: 16px;
    }

    #contactForm div.send {
        font-size: 16px;
    }
}