@charset "UTF-8";
body {
    font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

ul,
li {
    list-style: none;
}

#top_mv,
#top_business,
#top_member {
    background: #231815;
    color: #FFFFFF;
}

#top_mv {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}

h2 {
    text-align: center;
    font-weight: bold;
}

.text-line {
    display: flex;
    align-items: center;
}

.text-line:before,
.text-line:after {
    content: "";
    flex-grow: 1;
    height: 1.2px;
    background: #000;
    margin: 0 2em;
    margin-right: .4em;
}

.text-line:before {
    background: linear-gradient(-90deg, #ffaaaa, transparent);
}

.text-line:after {
    background: linear-gradient(90deg, #ffaaaa, transparent);
}

.grecaptcha-badge {
    visibility: hidden;
}


/* #copyright {
    margin: 20px;
    font-size: 15px;
    text-align: center;
} */

.card {
    border: none;
    background-color: #231815;
    color: white;
}

#group_member {
    background-color: #231815;
    margin-top: 10px;
}

.VNTeam {
    padding-top: 10px;
}

input[type=text],
textarea {
    width: 100%;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
    margin-top: 6px;
    /* margin-bottom: 16px; */
    resize: vertical;
    padding: 6.5px;
}

#contactform {
    background-color: #231815;
    color: #ffffff;
}

.container {
    padding: 100px 30px;
}

button[type=button] {
    background-color: #ffffff;
}

label {
    text-align: left;
}

textarea {
    height: 100px;
}

.contact-form {
    background-color: #231815;
    color: #ffffff;
}

.form-group {
    text-align: left;
}

.form span {
    font-size: 5px;
    color: crimson;
}

#infoModal {
    text-align: center;
    color: black;
}

.modal-header {
    border-bottom: 0 none;
}

.modal-footer {
    border-top: 0 none;
}

#close-btn {
    background-color: rgb(229, 10, 21);
    width: 80px;
    height: 35px;
    font-size: 18px;
}

#sendResult {
    font-size: 18px;
    line-height: XXrem;
    height: Xrem;
}

#gnav {
    padding: 30px 10px 10px;
}

#gnav ul li {
    display: inline;
    border: none;
    font-size: 18px;
    padding: 7px;
}

#gnav ul li a {
    color: black;
}

#gnav ul {
    border-radius: 30px;
}

@media screen and (min-width: 768px) {
    body {
        font-size: 16px;
        min-width: 940px;
    }
    .fix {
        background: #ffffff;
        box-shadow: 0 2px 8px rgba(192, 185, 185, 0.945);
        left: 0;
        line-height: 1;
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 100;
    }
    #menu-bar {
        display: flex;
        width: 100%;
        justify-content: space-between;
    }
    .img-logo img {
        max-width: 100px;
    }
    .img-logo {
        max-width: 100px;
        padding: 10px 20px;
    }
    .smp {
        display: none;
    }
    h2 {
        font-size: 36px;
    }
    .img-square-wrapper img {
        object-fit: contain;
        width: 100%;
    }
    .card-member {
        border: none;
        background-color: #231815;
        color: white;
    }
    .story {
        margin: 100px 30px;
        text-align: center;
    }
    .story p {
        font-size: 36px;
        padding-bottom: 80px;
    }
    #contactform h6 {
        font-size: 36px;
        text-align: center;
    }
    .form {
        padding: 30px 150px 0px 150px;
    }
    .form span {
        font-size: 5px;
        color: crimson;
    }
    .btn {
        width: 100px;
        font-size: 20px;
    }
    #btn-loading {
        padding: 12px;
        border: 1px solid #ffffff;
        border-radius: 4px;
        box-sizing: border-box;
        margin-top: 6px;
        margin-bottom: 16px;
        resize: vertical;
        display: none;
    }
    /* .btn {
        width: 80px;
    } */
    .check {
        transform: scale(0.81);
        -webkit-transform: scale(0.81);
        transform-origin: 0 0;
        -webkit-transform-origin: 0 0;
        display: flex;
    }
    #top_mv img {
        width: 154px;
        height: auto;
    }
    #top_about {
        padding: 100px 0;
    }
    #top_about h2 {
        font-size: 36px;
    }
    #top_about ul {
        width: 940px;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        margin: 80px auto 0;
    }
    #top_about ul li {
        font-weight: bold;
        text-align: center;
        width: 450px;
    }
    #top_about ul li dt {
        background: url(../image/about-pc.png) no-repeat;
        width: 450px;
        height: 44px;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #FFFFFF;
        box-sizing: border-box;
        font-size: 20px;
    }
    #top_about ul li dd {
        margin-top: 30px;
        font-size: 24px;
        line-height: 2.08;
    }
    #top_about ul li:nth-of-type(1) {
        margin-right: 40px;
    }
    #top_about ul li:nth-of-type(3) {
        margin-top: 60px;
    }
    #top_business {
        padding: 100px 0;
        text-align: center;
    }
    #top_bisuness h2 {
        font-size: 36px;
    }
    #top_business section {
        width: 560px;
        margin-right: auto;
        margin-left: auto;
    }
    #top_business section p {
        font-size: 20px;
        font-weight: bold;
    }
    #top_business .trigger {
        margin-top: 75px;
        position: relative;
    }
    #top_business .trigger .banhmi-logo {
        position: absolute;
        top: -40px;
        right: 180px;
    }
    #top_business .trigger .banhmi-logo img {
        width: 50px;
        height: auto;
    }
    #top_business .system {
        margin-top: 65px;
    }
    #top_business h3 {
        font-size: 24px;
        position: relative;
        margin-bottom: 36px;
    }
    #top_business h3 span {
        font-size: 14px;
        display: inline-block;
        margin-top: 5px;
    }
    #top_business h3::after {
        position: absolute;
        width: 50px;
        height: 2px;
        bottom: -15px;
        left: calc(50% - 25px);
        content: "";
        display: block;
        background: #FFFFFF;
    }
    #top_company {
        padding: 100px 0 70px;
    }
    #top_company h2 {
        font-size: 36px;
    }
    #top_company section {
        width: 560px;
        margin-right: auto;
        margin-left: auto;
    }
    #top_company section.japan {
        margin-top: 80px;
    }
    #top_company section.vietnam {
        margin-top: 75px;
    }
    #top_company section h3 {
        font-weight: bold;
        font-size: 24px;
        padding-left: 25px;
        background: url(../image/point.png) no-repeat;
        background-position: left center;
        background-size: 9px auto;
        margin-bottom: 27px;
    }
    #top_company section th {
        border-top: 4px solid #918b8a;
        width: 152px;
        font-weight: bold;
        padding: 30px 0 30px 18px;
        text-align: left;
        vertical-align: top;
    }
    #top_company section td {
        border-top: 2px solid #e3e2e1;
        width: 352px;
        font-weight: normal;
        padding: 30px 20px 30px 18px;
        color: #231815;
    }
    #top_company section td .add {
        line-height: 1.88;
    }
    #top_member {
        padding: 100px 0 50px;
        text-align: center;
    }
    .row {
        padding: 30px;
    }
    #top_member h2 img {
        width: 105px;
        height: auto;
    }
    #top_member h3 {
        margin-top: 20px;
        font-size: 36px;
        margin-bottom: 40px;
    }
    #top_member ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        width: 560px;
        margin: 0 auto 0;
        margin-top: 50px;
    }
    #top_member ul li {
        text-align: center;
        margin-top: 50px;
    }
    #top_member ul li h4 {
        font-size: 16px;
        line-height: 1.5;
        text-align: center;
        font-weight: normal;
    }
    #top_member ul li p {
        font-size: 20px;
        font-weight: bold;
        margin-top: 17px;
    }
    #top_member ul li:nth-of-type(1),
    #top_member ul li:nth-of-type(2),
    #top_member ul li:nth-of-type(3) {
        margin-top: 0;
    }
    #top_member ul li:nth-of-type(3n+1) {
        width: 33%;
    }
    #top_member ul li:nth-of-type(3n+2) {
        width: 33%;
    }
    #top_member ul li:nth-of-type(3n) {
        width: 33%;
    }
    #footer-menu {
        display: flex;
        justify-content: space-between;
        text-align: center;
        margin: 10px 100px 10px;
    }
    .footer-img-logo {
        width: 80px;
    }
    .footer-img-logo img {
        width: 100px;
    }
    .links {
        display: flex;
        justify-content: space-between;
    }
    #copyright {
        margin: 20px;
        font-size: 16px;
        text-align: center;
    }
    .link-se {
        padding: 20px;
    }
    .link-po {
        padding: 20px;
    }
}

@media screen and (max-width: 767.999px) {
    .pc {
        display: none;
    }
    body {
        font-size: 13px;
    }
    .fix {
        background: #ffffff;
        box-shadow: 0 2px 8px rgba(192, 185, 185, 0.945);
        left: 0;
        line-height: 1;
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 100;
        /* display: flex; */
    }
    #menu-bar {
        display: flex;
        width: 100%;
        justify-content: space-between;
    }
    .img-logo {
        width: 145px;
    }
    img {
        max-width: 100%;
        height: auto;
    }
    /* h2 {
        font-size: 20px;
    } */
    /* .card-horizontal {
display: flex;
flex: auto;
} */
    .img-square-wrapper img {
        height: auto;
        width: 100%;
        object-fit: contain;
    }
    .img-thumbnail {
        border: black;
    }
    .card-body {
        margin: 0px 0px 12px;
        height: 93px;
        padding: 30px 40px;
        text-align: center;
    }
    .card-member {
        border: none;
        background-color: #231815;
        color: white;
    }
    .story {
        margin-top: 50px;
        margin-bottom: 50px;
        text-align: center;
    }
    .story p {
        font-size: 20px;
        padding-bottom: 20px;
        text-align: center;
    }
    .story a {
        padding-top: 20px;
        width: 273px;
    }
    .container h6 {
        text-align: center;
        font-size: 20px;
        margin-bottom: 5px;
    }
    .form {
        padding: 10px 30px 0 30px;
    }
    .form span {
        font-size: 10px;
        color: crimson;
    }
    .btn {
        width: 130px;
        font-size: 30px;
    }
    #btn-loading {
        padding: 12px;
        border: 1px solid #ffffff;
        border-radius: 4px;
        box-sizing: border-box;
        margin-top: 6px;
        margin-bottom: 16px;
        resize: vertical;
        width: 145px;
        font-size: 25px;
        display: none;
    }
    .form-control {
        font-size: 12px;
    }
    /* .btn {
        width: 80px;
        font-size: 16px;
    } */
    .check {
        transform: scale(0.5);
        -webkit-transform: scale(0.5);
        transform-origin: 0 0;
        -webkit-transform-origin: 0 0;
        display: flex;
    }
    #top_mv img {
        width: 70px;
        height: auto;
    }
    #top_about {
        padding: 50px;
    }
    #top_about h2 {
        font-size: 20px;
    }
    #top_about ul {
        margin: 40px auto 0;
        width: 275px;
    }
    #top_about ul li {
        font-weight: bold;
        text-align: center;
        margin-top: 20px;
    }
    #top_about ul li dt {
        background: url(../image/about-sp.png) no-repeat;
        background-size: 100% auto;
        color: #FFFFFF;
        width: 275px;
        height: 25px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #top_about ul li dd {
        font-weight: bold;
        margin-top: 15px;
        line-height: 1.923;
    }
    #top_about ul li:nth-of-type(1) {
        margin-top: 0;
    }
    #top_business {
        padding: 40px 10px;
        text-align: center;
    }
    #top_business h2 {
        font-size: 20px;
    }
    #top_business section p {
        font-size: 13px;
        font-weight: bold;
    }
    #top_business .trigger {
        margin-top: 30px;
        position: relative;
    }
    #top_business .trigger .banhmi-logo {
        position: absolute;
        top: -20px;
        left: calc(50% + 30px);
    }
    #top_business .trigger .banhmi-logo img {
        width: 26px;
        height: auto;
    }
    #top_business .system {
        margin-top: 30px;
    }
    #top_business h3 {
        font-size: 15px;
        position: relative;
        margin-bottom: 26px;
    }
    #top_business h3 span {
        font-size: 11px;
        display: inline-block;
        margin-top: 8px;
    }
    #top_business h3::after {
        position: absolute;
        width: 26px;
        height: 1px;
        bottom: -11px;
        left: calc(50% - 13px);
        content: "";
        display: block;
        background: #FFFFFF;
    }
    #top_company {
        padding: 50px 40px 45px;
    }
    #top_company h2 {
        font-size: 20px;
    }
    #top_company section.japan {
        margin-top: 35px;
    }
    #top_company section.vietnam {
        margin-top: 45px;
    }
    #top_company section h3 {
        font-weight: bold;
        font-size: 15px;
        padding-left: 13px;
        background: url(../image/point.png) no-repeat;
        background-position: left center;
        background-size: 9px auto;
        margin-bottom: 8px;
    }
    #top_company section th {
        border-top: 2px solid #918b8a;
        width: 80px;
        font-weight: bold;
        padding: 13px 10px;
        text-align: left;
        vertical-align: top;
    }
    #top_company section td {
        border-top: 1px solid #e3e2e1;
        width: calc(100% - 100px);
        font-weight: normal;
        padding: 13px 10px;
        color: #231815;
    }
    #top_company section td .add {
        line-height: 1.54;
    }
    #top_member {
        padding: 30px 50px;
        text-align: center;
    }
    #top_member h2 img {
        width: 50px;
        height: auto;
    }
    #top_member h3 {
        margin-top: 10px;
        font-size: 20px;
    }
    #top_member ul {
        margin-top: 50px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    #top_member ul li {
        text-align: center;
        width: 50%;
        margin-top: 35px;
    }
    #top_member ul li h4 {
        font-size: 10px;
        line-height: 1.5;
        text-align: center;
        font-weight: normal;
    }
    #top_member ul li p {
        font-size: 15px;
        font-weight: bold;
        margin-top: 8px;
    }
    #top_member ul li:nth-of-type(1),
    #top_member ul li:nth-of-type(2),
    #top_member ul li:nth-of-type(3) {
        margin-top: 35px;
        width: 50%;
        text-align: center;
    }
    #footer-menu {
        display: flex;
        justify-content: space-between;
        text-align: center;
        margin: 10px 100px 10px;
    }
    .footer-img-logo img {
        width: 145px;
    }
    .links {
        display: flex;
        justify-content: space-between;
    }
    #copyright {
        margin: 20px;
        font-size: 16px;
        text-align: center;
    }
    @supports (-webkit-touch-callout: none) {
        #top_mv {
            /* Safari用 */
            height: -webkit-fill-available;
        }
    }
}