*{
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}
p, ul, li {
    line-height: 1.9;
}


@media (max-width: 767px) {
    .sp_none{
        display: none !important;
    }
}
@media (min-width: 768px) {
    .pc_none{
        display: none !important;
    }
}


#main_wrap img{
    width: 100%;
    height: auto;
}

section{
    padding-top: 120px;
    padding-bottom: 100px;
    @media (max-width: 1200px) {
    }
    @media screen and (max-width: 767px) {
        padding-top: 20px;
    }
}

#biznavi_mv{
    position: relative;
    width: 100%;
    height: 600px;
    max-width: 1900px;
    margin: 0 auto;
    @media screen and (max-width: 1200px) {
        margin-top: 60px;
        height: 50vw;
    }
    @media screen and (max-width: 767px) {
        margin-top: 60px;
        height: 55vw;
    }
}
#biznavi_mv h1{
    margin: 0;
    padding: 0;
}
img#biznavi_mvimg{
    width: 100%;
    height: 600px;
    object-fit: cover;
    @media screen and (max-width: 1200px) {
        height: 50vw;
    }
    @media screen and (max-width: 767px) {
        height: 55vw;
    }
}
img#biznavi_mv_copy{
    position: absolute;
    left: 10vw;
    top:calc(50% - 35px);
    width: 400px;
    max-height: 150px;
    /*width: 45vw;*/
    height: auto;
    z-index: 100;
    @media screen and (max-width: 1200px) {
        top:calc(50% - 20px);
        width: 33vw;
        height: auto;
    }
    @media screen and (max-width: 767px) {
        top:calc(50% + 5px);
        width: 45vw;
    }

}
a#application_badge{
    display: block;
    position: absolute;
    right: 80px;
    bottom:0;
    width: 366px;
    height: 86px;
    z-index: 100;
    @media screen and (max-width: 1200px) {
        width: 30vw;
        height: auto;
        right: 30px;
        bottom:0;
        display: flex;
        justify-content: flex-end;
    }
    @media screen and (max-width: 767px) {
        width: 45vw;
        right: 10px;
    }
}
a#application_badge img{
    width: 366px;
    height: 86px;
    @media screen and (max-width: 1200px) {
        width: 30vw;
        height: auto;
    }
    @media screen and (max-width: 767px) {
        width: 45vw;
    }
}
a#application_badge:hover img{
    filter: brightness(0.95);
}

#biznavi_about{
    @media screen and (max-width: 1200px) {
        padding-left: 0px;
        padding-right: 0px;
    }
    @media screen and (max-width: 767px) {
        padding: 30px 20px 30px;
    }
}
#biznavi_about h2{
    margin: 0 0 50px;
    text-align: center;
    @media screen and (max-width: 1200px) {
    }
    @media screen and (max-width: 767px) {
        margin: 0 0 20px;
    }
}
#biznavi_about h2 img{
    width: 575px;
    height: 68px;
    @media screen and (max-width: 1200px) {
        width: 40vw;
        height: auto;
    }
    @media screen and (max-width: 767px) {
        width: 70vw;
        height: auto;
    }
}
#biznavi_about p{
    text-align: center;
    font-size: 20px;
    line-height: 2;
    @media screen and (max-width: 1200px) {
        font-size: 1.7vw;
    }
    @media screen and (max-width: 767px) {
        line-height: 1.8;
        text-align: left;
        font-size: 3.5vw;
    }
}
#biznavi_about p br{

}

#main_wrap > section#biznavi_service{
    padding-top: 80px;
    padding-bottom: 100px;
    max-width: 100%;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    @media screen and (max-width: 1200px) {
        padding-top: 50px;
        padding-bottom: 50px;
    }
}


#biznavi_service{
    background-color: #F3F3F3;
}
#biznavi_service > div{
    max-width: 1100px;
    margin: 0 auto;
    text-align: center;
}
#biznavi_service h2{
    line-height: 1.3;
    margin: 0;
    text-align: center;
}
#biznavi_service h2 img{
    width: 244px;
    height: 72px;
    @media screen and (max-width: 1200px) {
        width: 15vw;
        height: auto;
    }
    @media screen and (max-width: 767px) {
        width: 34vw;
        height: auto;
    }
}
#biznavi_service .heading p{
    font-size: 20px;
    font-family: Serif;
    font-weight: bold;
    @media screen and (max-width: 1200px) {
        margin-top: 5px;
        font-size: 1.5vw;
    }
    @media screen and (max-width: 767px) {
        font-size: 4vw;
    }
}
#main_wrap .biznavi_boxes{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 50px 10px;

    padding: 50px 0 0 0;
    margin: 30px auto;
    text-align: left;
    @media screen and (max-width: 1200px) {
        padding: 0 20px 0;
        margin: 0;
        gap: 15px 0px;
    }
    @media screen and (max-width: 767px) {
        padding: 0 20px 0;
        margin: 0;
        gap: 15px 5px;
    }

}
#main_wrap .biznavi_boxes> div{
    width: 320px;
    @media screen and (max-width: 1200px) {
        width: 30%;
    }
    @media screen and (max-width: 767px) {
        width: 48%;
        text-align: center;
    }
}
#main_wrap .biznavi_boxes h4{
    margin-bottom: 15px;
    padding: 0 25px;
    margin-top: 15px;
    font-size: 22px;
    font-family: Serif;
    @media screen and (max-width: 1200px) {
        margin-top: 0px;
        margin-bottom: 0px;
        padding: 0 0px;
        text-align: left;
        font-size: 18px;
    }
    @media screen and (max-width: 767px) {
        font-size: 3.6vw;
    }
}
#main_wrap .biznavi_boxes p{
    padding: 0 25px;
    font-size: 16px;
    @media screen and (max-width: 1200px) {
        margin-top: 5px;
        padding: 0 0px;
        text-align: left;
        font-size: 14px;
    }
    @media screen and (max-width: 767px) {
        font-size: 3.3vw;
    }

}
#main_wrap .biznavi_boxes img{
    width: 320px;
    height: 210px;

    @media screen and (max-width: 1200px) {
        width: 70%;
        margin: 0 auto;
        height: auto;
    }
}




#form h2{
    margin: 0 0 10px;
    text-align: center;
    @media screen and (max-width: 1200px) {
        padding-top: 30px;
    }
}
#form h2 img{
    width: 477px;
    height: 62px;
    @media screen and (max-width: 1200px) {
        width: 35vw;
        height: auto;
    }
    @media screen and (max-width: 767px) {
        width: 60vw;
    }
}
#form .heading {
    text-align: center;
}
#form .heading p{
    font-size: 30px;
    font-family: Serif;
    font-weight: bold;
    @media screen and (max-width: 1200px) {
        font-size: 22px;
        margin-bottom: 50px;
    }
    @media screen and (max-width: 767px) {
        font-size: 4vw;
    }
}
#form form{
    width: 100%;
    max-width: 800px;
    margin: 30px auto 0;
    padding: 50px;
    border: 1px solid #cccccc;
    @media screen and (max-width: 1200px) {
        padding: 20px;
    }
    @media screen and (max-width: 767px) {
        border: none;
    }
}

form dl{
    margin: 0;
    padding: 0 0 30px;
}
form dl dt{
    margin: 0;
    padding: 0 0 10px;
    font-weight: bold;
    font-size: 18px;
    @media screen and (max-width: 1200px) {
    }
    @media screen and (max-width: 767px) {
        font-size: 4.3vw;
    }
}
form dl dd{
    margin: 0;
    padding: 0;
    font-size: 16px;
    @media screen and (max-width: 1200px) {
    }
    @media screen and (max-width: 767px) {
        font-size: 3.8vw;
    }
}
form dl dd.flex{
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    align-items: center;
    @media screen and (max-width: 1200px) {
        gap: 10px;
    }
}
form .required,
form .not_required{
    position: relative;
    top: -2px;
    margin-left: 3px;
    background-color: #BB1A38;
    color: #ffffff;
    border-radius: 5px;
    padding: 4px 5px;
    font-size: 10px;
    font-weight: normal;
}
form .not_required{
    background-color: #eaeaea;
    color: #333333;
}

form dl dd ul{
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    gap: 10px 20px;
    margin: 0;
    padding: 0;
    @media screen and (max-width: 1200px) {
        gap: 5px 10px;
    }
}
form dl dd li{
    margin: 0;
    padding: 0;
}
form dl label{
    cursor: pointer;
}
form input[type="checkbox"]{
    margin-right: 5px;
}
form input[type="text"],
form input[type="email"],
form input[type="tel"],
form input[type="password"],
form textarea{
    width: 250px;
    padding: 8px 13px;
    margin: 0;
    border: 1px solid #cccccc;
    border-radius: 0px;
    font-size: 16px;
    line-height: 1.5;
    box-sizing: border-box;
    @media screen and (max-width: 1200px) {
        padding: 5px 10px;
        width: 100%;
    }
}
form input.w50{
    width: 45%;
    @media screen and (max-width: 1200px) {
        width: 45%;
    }
}
form input.w60{
    width: 60%;
    @media screen and (max-width: 1200px) {
        width: 100%;
    }
}
form input.w100,
form textarea{
    width: 100%;
}
form input.w3 {
    width: 100px;
    @media screen and (max-width: 1200px) {
        width: 80px;
    }
}
form input[type="submit"],
form input[type="button"]{
    cursor: pointer;
    padding: 15px 30px;
    font-size: 18px;
    background: #BB1A38;
    border: none;
    color: #ffffff;
}
form input[type="submit"]:hover,
form input[type="button"]:hover{
    /*background: hsl(349, 76%, 42%);*/
    background: hsl(349, 76%, 38%);
}



.temp_btn{
    margin-top: 100px;
    margin-bottom: 30px;

    @media screen and (max-width: 1200px) {
        margin-top: 30px;
        margin-bottom: 20px;
        text-align: center !important;
        width: 100%;
    }
}
.temp_btn .btnL{
    display: inline-block;
    position: relative;
    cursor: pointer;
    padding: 20px 70px 20px 70px;
    font-size: 26px;
    background: #BB1A38;
    border: none;
    color: #ffffff;
    text-decoration: none;
    font-family: serif;
    letter-spacing: 0.08em;

    @media screen and (max-width: 1200px) {
        padding: 10px 50px 10px 50px;
        font-size: 16px;
    }
}
.temp_btn .btnL:hover{
    background: hsl(349, 76%, 38%);
}
/*
.temp_btn .btnL:after{
    content: "";
    position: absolute;
    top: calc(50% - 10px);
    right: 30px;
    width: 10px;
    height: 10px;
    border: 1px solid #FFFFFF;
    border-color:transparent  #FFFFFF #FFFFFF transparent ;
    transform: rotate(45deg);
}
*/
.temp_btn .btnL:before,
.temp_btn .btnL:after{
    content: "";
    position: absolute;
    top: -1px;
    left: -1px;
    width: 0px;
    height: 0px;
    border: 10px solid transparent;
    border-color: #FFFFFF transparent transparent #FFFFFF;
}
.temp_btn .btnL:after{
    top: auto;
    left: auto;
    bottom: -1px;
    right: -1px;
    border-color: transparent #FFFFFF #FFFFFF transparent ;
}


.center{
    text-align: center;
}

/**
Footer
 */

#pagetop{
    position: absolute;
    right: 30px;
    top: -70px;
    cursor: pointer;
    @media (max-width: 767px) {
        right: 15px;
        top: -65px;
    }
}
#pagetop:hover{
    opacity: 0.8;
}

#footer {
    position: relative;
    background: #3D4851;
    margin-top: 50px;
    padding: 20px 20px 40px;
    color: #ffffff;
    line-height: 1.5;
    @media (max-width: 767px) {
        padding-bottom: 70px;
    }
}
#footer a {
    color: #ffffff;
}
#footer p {
    color: #ffffff;
    margin: 0;
    font-size: 14px;
}
#footer p#copyright {
    position: absolute;
    left: 20px;
    top: 22px;
}
#footer ul {

    padding-left: 170px;
}
#footer ul li {
    margin-right: 20px;
    display: inline-block;
    font-size: 14px;
}
#footer ul li a {
    text-decoration: none;
    border-bottom: 1px solid #CCCCCC;
}
#footer ul li a:hover {
    border: none;
}

@media screen and (max-width: 768px) {
    #footer p#copyright {
        position: static;
        text-align: center;
    }
    #footer ul {
        padding: 0 0 20px 0;
        text-align: center;
    }
}
#contact_bnr{
    line-height:0;
    display:inline-block;
    position: absolute;
    right: 8px;
    bottom: 8px;
}
@media(max-width: 767px){
    #contact_bnr{
        height: 50px;
        /* width: 180px; */
        width: auto;
        right: 8px;
        bottom: 8px;
    }
    #contact_bnr img{
        height: 100%;
        width: auto;
    }
    #sideicn_search_support{
        right: auto;
        left: 8px;
        bottom: 8px;
        width: 45vw;
        height: 50px;
        transform: translateX(0) translateY(0px);
        border-radius: 3px;
        line-height: 23px;
    }
    #sideicn_search_support span{
        display: none;
    }
}

