.vi {
    position: absolute;
    white-space: nowrap;
    width: 1px;
    height: 1px;
    overflow: hidden;
    border: 0;
    padding: 0;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    margin: -1px
}

#mihon {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10000;
    line-height: 1;
    width: 100%;
    height: auto;
    opacity: .5;
    margin: 0 auto;
    display: block
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

h1, h2, h3, h4, h5, h6 {
    font-size: 1em;
    font-style: normal;
    font-weight: normal
}

p {
    margin: 0;
    padding: 0
}

hr {
    width: auto;
    height: 0;
    border: none;
    border-bottom: 1px solid #ccc
}

address {
    font-style: normal
}

#under {
    font-weight: bold;
    text-align: center;
    line-height: 1;
    padding: 10em 0
}

    #under:before {
        display: block;
        font-size: 3rem;
        color: #f39c12;
        content: "";
        font-weight: normal;
        font-family: FontAwesome;
        padding: 0 0 .3em
    }

iframe {
    border: none
}

form input[type=text], form input[type=number], form input[type=tel], form input[type=email], form input[type=password], form textarea {
    border: 1px solid #aaa;
    transition: all .2s ease;
    background-color: #fff;
    font-size: 1.1em;
    border-radius: 6px;
    padding: 10px
}

    form input[type=text]:focus, form input[type=number]:focus, form input[type=tel]:focus, form input[type=email]:focus, form input[type=password]:focus, form textarea:focus {
        background-color: #f8f8f8
    }

    form input[type=text]::-moz-placeholder, form input[type=number]::-moz-placeholder, form input[type=tel]::-moz-placeholder, form input[type=email]::-moz-placeholder, form input[type=password]::-moz-placeholder, form textarea::-moz-placeholder {
        color: #bbb
    }

    form input[type=text]::placeholder, form input[type=number]::placeholder, form input[type=tel]::placeholder, form input[type=email]::placeholder, form input[type=password]::placeholder, form textarea::placeholder {
        color: #bbb
    }

    form input[type=number]::-webkit-outer-spin-button, form input[type=number]::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0
    }

form textarea {
    width: 100%;
    height: 10em
}

form select {
    min-width: 30%;
    height: 40px;
    border: 1px solid #ddd;
    background-color: #fff;
    font-size: 1.6rem;
    transition: all .2s ease;
    padding: 0 30px 0 20px
}

form input[type=radio] {
    transition: all .2s ease;
    margin: 0 .5em 0 4px
}

form label {
    cursor: pointer
}

form input[type=checkbox] {
    display: none
}

    form input[type=checkbox]:checked ~ label {
        background-image: url(../images/common/icon_checkbox_on.svg)
    }

form label {
    background-image: url(../images/common/icon_checkbox_off.svg);
    background-size: 1.2em;
    background-position: center left;
    padding: 0 0 0 25px;
    margin: 0 1em 0 0
}

    form label a {
        color: #e4002b
    }

ul.list_submit {
    display: flex;
    justify-content: center;
    width: auto;
    list-style: none;
    margin: 40px 0 0
}
ul.list_submit:has(> :nth-child(2)) {
    gap: 2.4rem;
}

    ul.list_submit input {
        cursor: pointer
    }

.btn_submit,
.btn_reinput{
    width: auto;
    color: #fff;
    line-height: 1.1;
    border-radius: 45px;
    background-color: #0b45a4;
    background-image: url(../images/common/icon_arrow_input.svg);
    background-position: center right 15px;
    background-size: .8em;
    transition: all .2s ease;
    padding: 18px 58px 18px 25px
}

    .btn_submit:hover {
        background-color: #e4002b
    }

.btn_reinput {
    background-color: #aaa;
}
    .btn_reinput:hover {
        background-color: #626262;
    }




main .align_left {
    text-align: left
}

main .align_right {
    text-align: right
}

main .align_center {
    text-align: center
}

main .color_red {
    color: #e4002b
}

main .wrapper .mar00 {
    margin-bottom: 0px
}

main .wrapper .mar05 {
    margin-bottom: 5px
}

main .wrapper .mar10 {
    margin-bottom: 10px
}

main .wrapper .mar15 {
    margin-bottom: 15px
}

main .wrapper .mar20 {
    margin-bottom: 20px
}

main .wrapper .mar25 {
    margin-bottom: 25px
}

main .wrapper .mar30 {
    margin-bottom: 30px
}

main .wrapper .mar40 {
    margin-bottom: 40px
}

main .wrapper .mar50 {
    margin-bottom: 50px
}

main .wrapper .mar60 {
    margin-bottom: 60px
}

main .wrapper .mar70 {
    margin-bottom: 70px
}

main .wrapper .mar80 {
    margin-bottom: 80px
}

main .wrapper .mar90 {
    margin-bottom: 90px
}

main .wrapper .mar100 {
    margin-bottom: 100px
}

main .width05 {
    width: 5%
}

main .width10 {
    width: 10%
}

main .width15 {
    width: 15%
}

main .width20 {
    width: 20%
}

main .width25 {
    width: 25%
}

main .width30 {
    width: 30%
}

main .width40 {
    width: 40%
}

main .width50 {
    width: 50%
}

main .width50_2 {
    width: 48%
}

main .width60 {
    width: 60%
}

main .width70 {
    width: 70%
}

main .width80 {
    width: 80%
}

main .width90 {
    width: 90%
}

main .width100 {
    width: 100%
}

@media screen and (max-width: 640px) {
    form input[type=text], form input[type=number], form input[type=tel], form input[type=email], form input[type=password], form textarea {
        font-size: 1.6rem
    }

    main .width40, main .width50, main .width50_2, main .width60, main .width70, main .width80, main .width90, main .width100 {
        width: 60%
    }

    main .wrapper .mar40, main .wrapper .mar50, main .wrapper .mar60, main .wrapper .mar70, main .wrapper .mar80, main .wrapper .mar90, main .wrapper .mar100 {
        margin-bottom: 35px
    }
}
