/*----------------------------------------------------------

共通

----------------------------------------------------------*/

body main {
    font-family:  "BIZ UDPGothic", sans-serif;
}

.article #fv {
    position: relative;
}

.article #fv::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 32px;
    bottom: 0;
    left: 0;
    background: #010088;
}

.article #fv {
    background-image: url(../logo2.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
    max-width: 1440px;
    margin: 0 auto;
}

.article #fv hgroup {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%) translateX(-50%);
}

.article #fv hgroup h1 {
    color: #010088;
}

.contact-btn::before {
    position: absolute;
    content: '';
    width: 32px;
    height: 16px;
    top: 50%;
    right: 32px;
    transform: translateY(-50%);
    background: url(../w-arrow.svg);
    background-size: 100%;
    font-size: 1rem;
}

.btn-1 {
    border: solid 2px #010088;
    cursor: pointer;
    font-size: 1em;
}

.btn-1::before {
    background-image: url(b-arw-b.png);
}

.btn-1:nth-of-type(2) {
    background: #010088;
    color: white;
}

.btn-1:nth-of-type(2):hover {
    background: white;
    color: #010088;
}

.btn-1:nth-of-type(2)::before {
    background-image: url(../w-arw.png);
}

.btn-1:nth-of-type(2):hover::before {
    background-image: url(../b-arw.png);
}

.btn-1:nth-of-type(2)::after {
    background: #384158;
}

/*------------------------------------------------------------

index.php

------------------------------------------------------------*/

#top #session > p {
    text-align: center;
}

#top form {
    padding: 0 16px;
    max-width: 1000px;
    margin: 0 auto;
}

#top dl dt label {
    font-weight: bold;
}

#top dl dt span.l_required {
    background: #0000FB;
    color: white;
    padding: 4px 8px;
    font-weight: normal;
    font-size: 14px;
    border-radius: 2px;
}

#top dl dd {
    margin: 0;
    text-align: left;
}

#top dl input,
#top dl textarea {
    margin: 0 0 8px;
}

#top dl select {
    max-width: 20em;
    cursor: pointer;
}

#top dl select,
#top dl input#name,
#top dl input#furigana,
#top dl input#email,
#top dl input#tel,
#top dl input#age {
    width: 100%;
    border-radius: 6px;
    border: solid 1px #BAC9D8;
    padding: 16px;
}

#top dl textarea {
    width: 100%;
    border-radius: 6px;
    border: solid 1px #BAC9D8;
    padding: 16px;
}

@media(min-width:640px) {
    #top dl dt {
        width: 30%;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    #top dl div:last-child dt {
        display: block;
    }

    #top dl dd {
        width: 70%;
        box-sizing: border-box;
    }
}

/*-------------------------------------------------------------

confirm

--------------------------------------------------------------*/

#confirm {
    max-width: 500px;
    margin: 0 auto;
    padding: 0 16px;
}

#confirm .intro-txt {
    width: fit-content;
    margin: 16px auto;
    display: block;
}

#confirm dt {
    color: #010088;
    font-weight: bold;
}

/*-----------------------------------------------------------------------

submit

-----------------------------------------------------------------------*/

#submit {
    max-width: 1024px;
    margin: 0 auto;
    padding: 0 16px;
}

#submit p {
    width: fit-content;
    margin: 16px auto;
}