@charset "utf-8";

.total {
    background: rgb(255, 255, 255);
    /* Old browsers */
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 26%, rgba(242, 240, 230, 1) 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 26%, rgba(242, 240, 230, 1) 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 26%, rgba(242, 240, 230, 1) 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f2f0e6', GradientType=0);
    /* IE6-9 */
    padding-bottom: 50px;
}

.total ul + .w1010.flex {
    justify-content: space-between;
    align-items: flex-start;
}

.total ul + .w1010.flex h2 {
    font-size: 1.8rem;
}

#contact p,
#contact dl {
    font-size: 1.6rem;
    -webkit-flex: 1 1 auto;
    flex: 1 1 auto;
    margin-left: 2%;
}

.total ul + .w1010.flex div {
    flex-basis: 45%;
}

.total ul + .w1010.flex div h3 {
    font-size: 3rem;
    color: #8c1341;
}

.total ul + .w1010.flex div h3 span {
    font-size: 1.6rem;
    display: inline-block;
    margin-left: 1rem;
    vertical-align: middle;
}

.total ul + .w1010.flex div h3 img {}

.total ul + .w1010.flex div h3 img {
    margin-right: 0.5rem;
}


.dep h2 {
    font-size: 2rem;
    margin-bottom: 1rem;
}

.dep {
    padding: 100px 0;
}

.dep > h2 + div.flex {
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}

.dep > h2 + div.flex .box {
    flex-basis: 48%;
    -webkit-flex-basis: 48%;
    width: 48%;
    max-width: 48%;
    border: 1px solid #888;
    margin: 1%;
    padding: 1%;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
}
.dep > h2 + div.flex .box figure {
    width: 180px;
    max-height: 180px;
    margin: 0;
}
.dep > h2 + div.flex .box figure img {
    width: 100%;
}
.dep > h2 + div.flex .box .btn-box {
    margin: auto;
}
.dep > h2 + div.flex .box dt {
    font-size: 1.55rem;
    margin-bottom: 1rem;
    text-align: center;
    white-space: nowrap;
}


@media screen and (max-width:768px) {
    .total ul + .w1010.flex {
        display: block;
    }

    .total ul + .w1010.flex figure img {
        width: 100%;
        margin-bottom: 15px;
    }

    .total ul + .w1010.flex div {
        text-align: center;
    }


    .dep > h2 + div.flex {
        padding: 2%;
    }

    .dep > h2 + div.flex .box {
        display: block;
        -webkit-flex-basis: 100%;
        flex-basis: 100%;
        width: 100%;
        max-width: 100%;
    }

    .dep > h2 + div.flex .box figure {
        width: 100%;
        height: 300px;
    }

    .dep > h2 + div.flex .box figure img {
        height: 300px;
        object-position: center;
    }

    .dep > h2 + div.flex .box dt {
        font-size: 1.5rem;
        margin: 1rem;
    }

    .dep > h2 + div.flex .box .btn-box {
        width: 100%;
    }

    .dep > h2 + div.flex .box .btn-effect {
        width: 100%;
        left: -100%;
    }

    .dep > h2 + div.flex .box .btn {
        width: 100%;
    }

    #contact p, #contact dl {
        margin-left: 0;
    }
}

@media screen and (max-width:414px) {
    .dep > h2 + div.flex {
        /* display: block; */
    }

    .dep > h2 + div.flex .box figure,
    .dep > h2 + div.flex .box figure img {
        height: 200px;
        object-position: center;
        overflow: hidden;
    }
    .fixed-menu {
        display: none;;
    }
}


/*** 追加 ***/
.dep {
    padding: 25px 0 0;
}
.dep h2 {
    font-size: 2rem;
    font-size: 2rem;
    margin-bottom: 1rem;
    margin: 1rem auto 2rem;
    border-left: solid #000 9px;
    border-bottom: solid #000 1px;
    text-align: left;
    padding: 1rem;
    max-width: 1010px;
}
/*.total {
    padding-top: 50px;
}*/
.total >div > div h2,
.total >div > div h3,
.total >div > div p {
    width: 80%;
    margin: 1rem auto 2rem!important;
}
.total >div > div h3 {
    font-size: 3rem;
    color: #8c1341;
}
.total >div > div h3 span {
    font-size: 1.6rem;
    display: inline-block;
    margin-left: 1rem;
    vertical-align: middle;
}

.total div h2 {
    border: none;
}
.dep > h2 + div.flex {
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    margin: 0 auto 6rem;
    background: #f3f0e7;
}
.dep > h2 + div.flex .box {
    flex-basis: 48%;
    -webkit-flex-basis: 48%;
    width: 48%;
    max-width: 48%;
    border: 1px solid #999;
    margin: 1%;
    padding: 1%;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    background: #fff;
}

.dep > h2 + div.flex,
.ippan_3column {
    margin: 0 auto 4rem;
    background: #f3f0e7;
}

.cyukaigyousya > div,
.ippan_3column > div {
    -webkit-flex-basis: 30%!important;
    flex-basis: 30%!important;
    width: 30%!important;
    max-width: 30%!important;
    display: block;
    border: 1px solid #999;
    margin: 1%;
    padding: 0;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    background: #fff;
}

.ippan_3column > div img {
    width: 100%;
}
.cyukaigyousya > div > figure,
.ippan_3column figure {
    display: block;
    margin: auto!important;
    text-align: center;
    width: 35%;
    max-height: 35%;
}
.ippan_3column .btn-box {
    margin: auto;
}
.min03 dt {
    font-size: 1.5rem;
}
/*#contact p, #contact dl {
    width: 65%;
}*/
.min03 .flex.box > a{
    width: 100%;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    color: #000;
}

.other_contact {
    -webkit-flex-basis: 100%!important;
    width: 100%!important;
    max-width: 100%!important;
}
.other_contact a figure {
    width: 480px!important;
}
.pc_none {
    display: none;
}
.sp_none {
    display: inline-block;
}



@media screen and (max-width: 768px) {
    .dep > h2 + div.flex .box figure {
        width: 100%;
        height: 140px;
    }
    .dep > h2 + div.flex .box figure {
        height: 140px!important;
    }
    .dep > h2 + div.flex .box figure img {
        height: 140px;
    }
    .brand > h1 {
        width: auto;
    }
}

@media screen and (max-width: 414px) {
    /*.min03 div:last-child {
        width: 100%!important;
        max-width: 100%!important;
        flex-basis: 100%!important;
    }*/
    .total div {
        display: block;
    }
    .total img {
        width: 100%;
    }
    .dep {
        padding: 1rem 0;
    }
    .dep > h2 {
        width: 100%;
        font-size: 1.6rem;
        padding: .5rem;
    }
    .dep > h2 + div.flex {
        padding: 0;
        margin: 0px auto 3rem;
    }
    .dep > h2 + div.flex .box {
        width: 100%;
        /* max-width: 100%; */
        padding: 0;
        margin: 0;
        max-width: 50%;
        width: 50%;
        flex-basis: 50%;
    }
    .dep > h2 + div.flex .box {
        position: relative;
    }
    .dep > h2 + div.flex .box figure, .dep > h2 + div.flex .box figure img {
        height: 200px;
    }
    #contact p, #contact dl {
        font-size: 1.6rem;
        /* -webkit-flex: 1 1 auto; */
        flex: 1 1 auto;
        margin-left: 2%;
        position: absolute;
        /* top: 100%; */
        bottom: 0%;
        margin: auto;
        text-align: center;
        /* background: rgb(2 0 0 / 70%); */
        color: #fff;
        font-size: .8rem!important;
        width: 100%;
    }
    .dep > h2 + div.flex .box dt {
        font-size: 1.55rem;
        /* margin-bottom: 1rem; */
        text-align: center;
        white-space: normal;
        background: rgb(83 83 83 / 76%);
        background: rgb(107 119 143 / 46%);
        padding: .5rem;
        color: #fff;
        font-weight: bold;
        font-size: 1.4rem!important;
    }
    .dep .btn-box {
        width: 250px;
        height: auto;
        text-align: center;
        cursor: pointer;
        position: relative;
        box-sizing: border-box;
        overflow: hidden;
        background: #8c1341;
        background: #2f436b;
        margin: 30px auto;
    }
    .dep .btn {
        height: auto;
        line-height: 2rem;
        font-size: 1.3rem;
        letter-spacing: .1rem;
    }
    .total figure {
        display: none;
    }
    .dep > h2 + div.flex .box dt {
        margin: 0;
    }
    .total >div > div h3 {
        text-align: center;
    }
    .total >div > div h2, .total >div > div h3, .total >div > div p {
        width: 100%;
    }
    footer, #lower {
        margin: 0;
        padding: 0;
    }
    .cyukaigyousya > div, .ippan_3column > div {
        -webkit-flex-basis: 50%!important;
        flex-basis: 50%!important;
        width: 50%!important;
        max-width: 50%!important;
        display: flex;
        display: -webkit-flex;
    }
    .total {
        padding-bottom: 10px;
    }
    .total p {
        display: none;
    }
    .total .btn-box {
        height: 5rem;
        line-height: 5rem;
        padding: 1.5rem 0;
    }
    .other {
        line-height: 3;
    }

    .sp_none {
        display: none;
    }
    .pc_none {
        display: inline-block;
    }
}

#message_modal_background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #ffffffcc;
    z-index: 10000;
}
#message_modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: auto;
    padding: 3rem;
    border: 1px solid #000;
    background-color: #fff;
    font-size: 2rem;
    z-index: 10001;
}

#message_modal .message-title {
    text-align: center;
    margin-bottom: 2rem;
    font-size: 2.75rem;
    font-weight: bold;
}

#message_modal .message-button .close-modal::after {
    content: "\f057";
}

@media screen and (max-width: 768px) {
    #message_modal .message-content br {
        display: none;
    }
}