@charset "utf-8";

/* =============================================================
共通
* ============================================================= */
#header_v2 {margin-top: 0;}
#header_v2 .inner {width: 100%;}
#header_v2 .inner #header .inner,
#header_v2 .inner nav ul,
#header_v2 .inner .new {
    width: 960px;
    margin: 0 auto;
}
/*#header, *, #header *:before, #header *:after,
#footer, *, #footer *:before, #footer *:after {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}*/
#header a, #header a:link, #header a:visited,
#footer a, #footer a:link, #footer a:visited {text-decoration: underline;}

/* =============================================================
Header
* ============================================================= */
#header {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  margin-bottom: 30px;
}
#header .header {
    width: 100%;
    height: 140px;
    background-color: #db4249;
    min-width: 1200px;
}

@media screen and (max-width:450px) {
    #header .header {
        position: relative;
    }
}

#header .company {
    height: 140px;
    float: left;
}

#header .logo {
    width: 100px;
    height: 140px;
    float: left;
}

#header .logo>img {
    width: 75px;
    margin: 33px 13px;
}

#header .company_name {
    width: fit-content;
    display: inline-block;
    color: white;
    font-weight: bold;
    line-height: 140px;
    font-size: 28px;
}

#header .company_name>img {
    width: 230px;
    margin: 50px auto;
}

#header .menu {
    width: 710px;
    height: 140px;
    float: right;
    margin-right: 1vw;
}

#header .address_waku {
    position: relative;
    width: fit-content;
    height: 70px;
    z-index: 100;
    float: right;
    display: flex;
    align-items: flex-end;
    flex-direction: row;
    margin-bottom: 21px;
}

#header .saiyou {
    position: relative;
    float: left;
    margin-right: 16px;
    font-size: 21px;
    font-weight: bold;
}

#header .saiyou>a {
    text-decoration: none;
    color: white;
}

#header .saiyou a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: white;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
}

#header .saiyou a:hover::after {
    transform-origin: left top;
    transform: scale(1, 1);
}

#header .address_list {
    width: fit-content;
    display: inline-block;
    margin: 0;
    padding: 0;
    z-index: 200;
}

#header .address_list>li {
    position: relative;
    width: 169px;
    height: 38px;
    float: left;
    display: inline-block;
    margin-right: 14px;
    background-color: white;
    border-radius: 10px;
    box-sizing: border-box;
    list-style: none;
    font-size: 21px;
    text-align: center;
    line-height: 38px;
    overflow: hidden;
}

#header .address_list>li:last-child {margin-right: 10px;}

#header .address_list li a {
    display: block;
    color: #db4249;
    font-weight: bold;
    text-decoration: none;
}

#header .address_list li a::after {
    position: absolute;
    bottom: 5px;
    left: 37px;
    content: '';
    width: 57%;
    height: 2px;
    background: #db4249;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
}

#header .address_list li a:hover::after {
    transform-origin: left top;
    transform: scale(1, 1);
}

#header .telephone_list_waku,
#header .access_list_waku {
    width: 910px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    position: relative;
    background-color: #d81424;
    border-radius: 10px;
    margin: 0px auto;
    left: -335%;
    font-size: 13px;
    font-weight: bold;
    padding: 10px;
    overflow-x: scroll;
    overflow-y: hidden;
}

#header .address_list>li:hover {
    overflow: visible;
}

#header .tokai_tel_box {
    display: flex;
    height: 420px;
}

#header .tokai_access_box {
    display: flex;
    height: 470px;
}

#header .aichi_waku,
#header .ken_waku {
    padding: 10px;
    box-sizing: border-box;
}

#header .aichi_waku {
    float: left;
}

#header .ken_waku {
    display: flex;
    flex-direction: column;
}

#header .aichi_mozi {
    width: 300px;
    margin: 0 auto;
    text-align: center;
    color: white;
    font-size: 16px;
}

#header .aichi_mozi:before,
#header .aichi_mozi:after {
    border-top: 1px solid white;
    content: "";
    width: 90px;
    display: inline-block;
    margin: 7px;
}

#header .aichi_mozi:before {
    margin-right: 1px;
}

#header .aichi_mozi:after {
    margin-left: 1px;
}

#header .aichi_telephone,
#header .aichi_telephone2 {
    height: 100%;
    box-sizing: border-box;
    display: flex;
    margin: 0;
    padding: 0;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: flex-start;
}

#header .aichi_telephone2 {
    height: 100px;
}

#header .aichi_telephone li,
#header .aichi_telephone2 li {
    position: relative;
    list-style: none;
    margin-bottom: 10px;
}

#header .aichi_telephone li a,
#header .aichi_telephone2 li a {
    color: white;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

#header .aichi_telephone li a::after,
#header .aichi_telephone2 li a::after {
    position: absolute;
    bottom: -3px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: white;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
}

#header .aichi_telephone li a:hover::after,
#header .aichi_telephone2 li a:hover::after {
    transform-origin: left top;
    transform: scale(1, 1);
}

#header .aichi_telephone span,
#header .aichi_telephone2 span {
    height: 25px;
}

#header .access_list_waku {
    height: fit-content;
    left: -445%;
}

#header .access_waku,
#header .access_waku2 {
    padding: 10px;
    box-sizing: border-box;
}

#header .access_waku {
    float: left;
}

#header .access .access_waku {width: 486px;}

#header .access_waku2 {
    display: inline-block;
    margin-left: 10px;
    height: 150px;
    width: 290px;
}

#header .menu_list_waku {
    width: fit-content;
    height: 70px;
    display: inline-block;
}

#header .menu_list {
    width: fit-content;
    padding: 0;
    z-index: 10;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    font-size: 21px;
}

#header .menu_list>li {
    list-style: none;
    position: relative;
    display: inline-block;
    box-sizing: border-box;
}

#header .menu_list li a {
    display: block;
    color: white;
    font-weight: bold;
    text-decoration: none;
    border-right: 1px solid;
    box-sizing: border-box;
    padding: 0 12px;
}

#header .menu_list li a::after {
    position: absolute;
    bottom: -4px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: white;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
}

#header .menu_list li a:hover::after {
    transform-origin: left top;
    transform: scale(1, 1);
}

@media screen and (max-width:450px) {
    #header .telephone_list_waku,
    #header .access_list_waku {
        width: 1000px;
        font-size: 15px;
    }
    #header .access_list_waku {
        left: -491%;
    }
    #header .telephone_list_waku {
        left: -385%;
    }
    #header .access_waku {
        width: fit-content;
    }
    #header .aichi_waku,
    #header .ken_waku {
        width: fit-content;
    }
}

@media screen and (min-width:1280px) and (max-width:1400px) {
    #header .tokai_tel_box {
        height: 365px;
    }
    #header .tokai_access_box {
        height: 410px;
    }
    #header .aichi_telephone2 {
        height: unset;
    }
    #header .access_waku2 {
        height: unset;
    }
    #header .aichi_telephone li,
    #header .aichi_telephone2 li {
        margin-bottom: 2px;
    }
}

@media screen and (min-width:450px) and (max-width:1280px) {
    #header .tokai_tel_box {
        height: 365px;
    }
    #header .tokai_access_box {
        height: 410px;
    }
    #header .aichi_telephone2 {
        height: unset;
    }
    #header .access_waku2 {
        height: unset;
    }
    #header .aichi_telephone li,
    #header .aichi_telephone2 li {
        margin-bottom: 2px;
    }
}

/* =============================================================
Footer
* ============================================================= */
#footer .footer {
    font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
    height: 390px;
    background-color: #db4249;
    /* margin-right: calc(((100vw - 100%) / 2) * -1);
    margin-left: calc(((100vw - 100%) / 2) * -1); */
    padding: 2vw 0;
    box-sizing: border-box;
    position: relative;
    min-width: 1200px;
    -webkit-text-size-adjust: 100%;
}

#footer .footer_haikei3 {
    overflow: hidden;
    position: relative;
    overflow: hidden;
    height: 180px;
    position: relative;
    /* margin-right: calc(((100vw - 100%) / 2) * -1);
    margin-left: calc(((100vw - 100%) / 2) * -1); */
    min-width: 1200px;
    -webkit-text-size-adjust: 100%;
}

#footer .footer_haikei3::before {
    content: '';
    position: absolute;
    pointer-events: none;
    background-repeat: no-repeat;
    bottom: -0.1vw;
    left: -0.1vw;
    right: -0.1vw;
    top: -0.1vw;
    background-size: 100%;
    background-image: url('/newpackage/0204437/img/footer_bg.png');
}

@media (min-width:1600px) {
    #footer .footer_haikei3 {
        padding-top: 6.33333vw;
    }
    #footer .footer_haikei3::before {
        /* background-size: 100% calc(2vw + 60px); */
    }
}

#footer .footer_contentswaku {
    height: 270px;
    margin: 0 130px;
    /* background-color: pink; */
}

#footer .logo2 {
    width: fit-content;
    height: 100%;
    float: left;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-right: 7vw;
    /* background-color: khaki; */
}

#footer .logo2 img {
    height: 60%;
}

#footer .sns_waku {
    width: 100%;
    margin-top: 1vw;
    display: flex;
    justify-content: space-evenly;
}

#footer .sns_waku a {
    text-decoration: none;
}

#footer .sns_waku img {
    height: 50px;
}

#footer .sns_waku a:hover img {
    transform: scale(1.1);
}

#footer .footer_menu {
    width: 60%;
    height: 310px;
    display: flex;
    flex-direction: column;
    align-content: space-around;
    padding: 0;
    margin: 0;
    flex-wrap: wrap;
}

#footer .footer_menu li {
    height: 52px;
    list-style: none;
    margin-bottom: 49px;
    margin-right: 27px;
}

#footer .footer_menu li :hover {
    color: #aacf53;
    transform: scale(1.1);
}

#footer .footer_menu a {
    display: flex;
    flex-direction: column;
    color: white;
    font-size: 28px;
    font-weight: bold;
    text-decoration: none;
}

#footer .footer_menu span:last-of-type {
    font-size: 21px;
}