@charset "utf-8";

/*@media screen and (max-width:1700px) {
    #top_cont01 .div_all .div_right .div_txt {
        width: 40vw;
    }
}*/

@media screen and (max-width:1400px) {


    #top_cont01 .div_all .div_left {
        width: 35%;
    }

    #top_cont04 .div_01 {
        width: 41vw;
    }

    #top_cont04 .div_02 {
        width: 30vw;
    }

    #page_last li a .txt{
        font-size: 18px;
    }

    footer .ft_logo {
        width: 20%;
        max-width: 200px;
        min-width: 200px;
    }

    #top_cont01 .div_all .div_left {
        width: 50%;
        height: 55vw;

    }

    #top_cont01 .div_all .div_right {
        width: 50%;
        height: 55vw;
    }
}
.br_show{
    display: none;
}
@media screen and (max-width:1200px) {
    #top_cont01 .div_all .div_right .div_txt {
        padding: 0 50px;
    }
}
@media screen and (max-width:1040px) {
    #top_cont01 .div_all .div_right .div_txt {
        font-size: 11px;
    }

    #top_slide .div_video .div_news {
        padding-top: 15px;
        padding-bottom: 20px;
    }

    #top_cont02 .div_menu {
        width: 21vw;
    }

    #top_cont02 .div_menu a {
        font-size: 16px;
    }

    #top_cont03 .owl-carousel .item .title,
    #top_cont05 .div_prolist .owl-carousel .item .title {
        font-size: 10px;
    }

    #top_cont04 .div_01 {
        width: 38.875vw;
    }

    #top_cont04 .div_02 {
        width: 25.90625vw;
    }

    #top_cont04 .div_02 .div_sub1 .text,
    #top_cont04 .div_02 .div_sub2 .text {
        font-size: 14px;
    }

    footer .ft_logo {
        width: 100%;
        max-width: none;
        margin-bottom: 20px;
    }

    footer .ft_logo a {
        text-align: center;
    }

    footer .ft_logo a img {
        margin-left: auto;
        margin-right: auto;
    }

    footer .div_menu {
        width: 30%;
        text-align: center;
    }

    footer .div_menu.div04 {
        width: 100%;
        text-align: center;
        margin-top: 15px;
        margin-top: 20px;
    }

    footer .ft_menu .div_menu.div04 ul li a {
        margin-left: auto;
        margin-right: auto;
    }



}

@media screen and (max-width: 1024px) {
    .hd_logo {
        top: 50%;
    }
    #top_cont01 .div_all .div_right .div_txt {
        width: auto;
        min-width: auto;
        padding: 0 30px;
    }
    #top_cont01 .div_all .div_right {
        background-color: #fff;
    }
}

@media screen and (min-width:769px) {
    .hd_menu_txt {
        font-size: 16px;
        text-align: center;
        margin: 0 -15px;
    }
}
@media screen and (max-width:980px) {
    #top_cont01 .div_all .div_left {
        width: 100%;
        height: 109.375vw;
    }

    #top_cont01 .div_all .div_left .div_content .btn_div {
        display: none;
    }

    #top_cont01 .div_all .div_right {
        width: 100%;
        height: auto;
    }

    #top_cont01 .div_all .div_right .div_txt {
        width: 100%;
        font-size: 12px;
        padding: 14.84375vw 7.03125vw;
    }
}

@media screen and (max-width:768px) {

    footer .div_menu.div01 {
        width: 100% !important;
    }
    footer .div_menu.div02 {
        width: 100% !important;
    }

    .txt-sp{
        padding: 0 10px;
    }
    .menu_div .dl_flex .img-top-left{
        margin: 0;
    }

    .col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
        position: relative;
        min-height: 1px;
        padding-right: 5px;
        padding-left: 5px;
    }

    .menu_div .dl_flex {
        margin: 0 -10px;
    }


    .div04-pc {
        display: none;
    }

    .div02-sp {
        display: block;
    }

    body {
        font-size: 14px;

    }

    .hv-o {
        display: none;
    }

    .hv-o-sp {
        display: block;
        font-size: 20px;
        color: #000;
        font-weight: bold;
    }

    footer .div_menu.div01 {
        order: 0;
        width: 24%;
        text-align: center;
    }

    footer .div_menu.div02 {
        order: 2;
        width: 24%;
        text-align: center;
    }


    #top_slide .div_video video {
        width: 100vw;
        height: calc(100vw * 0.5625);
    }
    
    _::-webkit-full-page-media, _:future, :root #top_slide .div_video video {
        width: 100vw;
        height: calc(100vw * 0.5625);
    }

    #top_slide .div_video .div_onvideo{
        display: none;
    }

    _::-webkit-full-page-media, _:future, :root #top_slide .div_video iframe{
        width: 100%;
    }
    _::-webkit-full-page-media, _:future, :root footer {
        width: 100%;
    }
    _::-webkit-full-page-media, _:future, :root .hd_div_menu {
        width: 100%;
    }
    _::-webkit-full-page-media, _:future, :root main {
        width: 100%;
    }
    
    @media all and (-ms-high-contrast:none) {
        #top_slide .div_video iframe {
            width: 100%;
        }
        footer {
            width: 100%;
        }
        .hd_div_menu {
            width: 100%;
        }
        main {
            width: 100%;
        }
    }

    .title_delive{
        font-size: 16px;
    }
    .ul_delive li .img{
        width: 100%;
    }
    .ul_delive li .txt {
        width: 100%;
        margin-top: 10px;
    }

    .ul_delive li{
        position: relative;
    }

    .ul_delive li .img::after, .ul_delive li:last-child::after{
        content: none;
    }

    .ul_delive li::after {
        content: "";
        height: 36px;
        width: 35px;
        background-image: url(../img/deliveryworks_img004.png);
        background-repeat: no-repeat;
        background-position: center center;
        background-size: contain;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translate(-50%,100%);
        -webkit-transform: translate(-50%,100%);
        -moz-transform: translate(-50%,100%);
        -ms-transform: translate(-50%,100%);
        -o-transform: translate(-50%,100%);
        z-index: 5;
    }

    .ul_delive2 li{
        width: 100%;
        margin-bottom: 30px;
    }

    .ul_delive2 li::before{
        top: unset;
        bottom: 0;
        left: 50%;
        transform: translate(-50%,100%);
        -webkit-transform: translate(-50%,100%);
        -moz-transform: translate(-50%,100%);
        -ms-transform: translate(-50%,100%);
        -o-transform: translate(-50%,100%);
    }

    #page_cont01{
        padding-top: 40px;
    }

    .title_style02{
        font-size: 20px;
    }

    #page_banner .img .txt{
        font-size: 24px;
    }

    .contact-form-st1 tr td{
        width: 100%;
        float: left;
        max-width: none;
    }

    .contact-form-st1 tr td:first-child {
        max-width: none;
    }

    #top_slide .owl-carousel.owl-loaded{
        display: block;
    }

    #top_cont03 .owl-carousel .item .price,
    #top_cont05 .div_prolist .owl-carousel .item .price {
        font-size: 10px;
    }

    #top_cont03 .owl-carousel .item .btn_detail,
    #top_cont05 .div_prolist .owl-carousel .item .btn_detail {
        font-size: 8px;
    }

    #top_cont03 .banner_event {
        height: 68.75vw;
    }

    #top_cont03 .owl-carousel .owl-nav button.owl-next,
    #top_cont05 .owl-carousel .owl-nav button.owl-next {
        width: 20px;
    }

    #top_cont03 .owl-carousel .owl-nav button.owl-prev,
    #top_cont05 .owl-carousel .owl-nav button.owl-prev {
        width: 20px;
    }

    #top_cont05 .div_media .date {
        font-size: 2.1875vw;
        width: 100%;
    }

    #top_cont05 .div_media .title {
        font-size: 2.1875vw;
        width: 100%;
        line-height: 120%;
    }

    #top_cont05 .div_media .dec span {
        font-size: 2.8125vw;
        line-height: 180%;
    }

    #top_cont03 .banner_event .txt02 {
        width: 100%;
        transform: translate(0, 50%);
        -webkit-transform: translate(0, 50%);
        -moz-transform: translate(0, 50%);
        -ms-transform: translate(0, 50%);
        -o-transform: translate(0, 50%);
        left: 3.90625vw;
    }

    #top_cont03 .banner_event .txt01 {
        transform: translate(0, -50%);
        -webkit-transform: translate(0, -50%);
        -moz-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        -o-transform: translate(0, -50%);
    }

    #top_cont03 .video a::after {
        width: 19.84375vw;
        height: 19.84375vw;
        background-size: 19.84375vw;
        content: "";
        background-image: url(../img/ico_video_start.png);
        background-position: center center;
    }

    #top_slide .owl-carousel.owl-drag .owl-item h4 {
        background-size: cover;
        height: 85vh;
        background-repeat: no-repeat;
        background-position: center center;
    }

    .show_sp {
        display: inline-block !important;
    }

    .hide_sp {
        display: none !important;
    }

    .hd_sns {
        display: none;
    }

    header {
        top: 0;
        bottom: unset;
        width: 100%;
        box-shadow: 0 0 8px 0 rgba(0, 0, 0, .18);
    }

    .hd_all {
        /* position: fixed; */
        width: 100%;
        left: 0;
        top: 0;
        z-index: 1;
        background-color: #fff;
    }

    .hd_menu {
        margin-left: 20px;
        padding-top: 0;
    }

    .hd_btn {
        width: 20%;
        left: unset;
        right: 10px;
        top: 0;
        bottom: 0;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
    }

    .hd_logo {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        max-width: 180px;
    }

    .hd_logo img{
        height:76px;
        margin-left: auto;
        margin-right: auto;
    }



    .hd_btn a {
        height: auto;
        line-height: 100%;
        background-color: #fff;
        font-size: 3.125vw;
        padding-bottom: 1.25vw;
        border-bottom: 1px solid #474747;
        color: #474747;
    }

    .hd_menu_txt {
        font-size: 14px;
        letter-spacing: .02em;
        line-height: 100%;
    }

    .hd_fix {
        padding-top: 10px;
        padding-bottom: 5px;
    }

    .hd_all {
        padding-top: 5px;
        padding-bottom: 5px;
    }

    .hd_div_menu {
        width: 100vw;
        margin-top: 75px;
        bottom: unset;
    }

    .hd_div_menu .div_menu {
        height: calc(100vh * 0.29);
    }

    .hd_div_menu.open_menu .div_menu {
        width: 100%;
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }

    .hd_div_menu .div_menu ul {
        padding: 10px 15px;
        width: 100%;
        max-width: 250px;
    }

    .hd_div_menu .div_menu ul li {
        width: 100%;
        align-self: center;
    }

    .hd_div_menu.open_menu {
        -webkit-transition-property: transform, background-image;
        -webkit-transition-duration: 0s, 5s;
        -webkit-transition-timing-function: linear;
        -webkit-transition-delay: 0ms;
        transition-property: transform, background-image;
        transition-duration: 0s, 5s;
        transition-timing-function: linear;
        transition-delay: 0ms;
        transform: translate(0, 0);
        -webkit-transform: translate(0, 0);
        -moz-transform: translate(0, 0);
        -ms-transform: translate(0, 0);
        -o-transform: translate(0, 0);
    }

    .hd_div_menu .div_menu.div01 {
        transform: translate(0, -100%);
        -webkit-transform: translate(0, -100%);
        -moz-transform: translate(0, -100%);
        -ms-transform: translate(0, -100%);
        -o-transform: translate(0, -100%);
        width: 100%;
    }

    .hd_div_menu .div_menu.div02 {
        transform: translate(0, -200%);
        -webkit-transform: translate(0, -200%);
        -moz-transform: translate(0, -200%);
        -ms-transform: translate(0, -200%);
        -o-transform: translate(0, -200%);
        width: 100%;
    }

    .hd_div_menu .div_menu.div03 {
        transform: translate(0, -300%);
        -webkit-transform: translate(0, -300%);
        -moz-transform: translate(0, -300%);
        -ms-transform: translate(0, -300%);
        -o-transform: translate(0, -300%);
        width: 100%;
    }

    .hd_div_menu.open_menu .div_menu {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }

    main {
        width: 100%;
        padding-top: 76px;
    }

    #top_slide .div_video .div_news {
        width: 86.25vw;
        left: unset;
        right: 0;
        bottom: 0;
        transform: translateY(75%);
        -webkit-transform: translateY(75%);
        -moz-transform: translateY(75%);
        -ms-transform: translateY(75%);
        -o-transform: translateY(75%);
        padding-left: 20px;
}

    #top_slide .div_video .div_news ul li .date {
        margin-right: 20px;
        width: 100%;
        letter-spacing: .12em;
        margin-right: .3em;
        color: #2f763c;
        font-size: 11px;
        line-height: 100%;
    }

    #top_slide .div_video .div_news ul li .title {
        font-size: 12px;
    }

    #top_slide .div_video .div_news ul {
        width: 75%;
    }

    #top_slide .div_video .div_news .btn_list {
        margin-left: auto;
    }

    #top_slide .div_video iframe {
        width: 100%;
        height: calc(100vw * 0.5625);
        /* display: none; */
        min-height: 180px;
    }

    #top_slide .div_video .txt_video {
        font-size: 14px;
        right: unset;
        left: 5vw;
        padding: 5px;
    }

    #top_slide .div_video {
        overflow: unset;
    }

    

    #top_cont01 .div_all .div_right .div_txt .btn_div {
        display: block;
    }

    #top_cont01 .div_all .div_right .div_txt .btn_div a {
        margin-top: 10.9375vw;
        width: 100%;
        height: 18.75vw;
        line-height: 18.75vw;
        color: #383838;
        text-align: center;
        border: .3125vw solid #383838;
        font-size: 3.4375vw;
        letter-spacing: .14em;
        font-size: 11px;
        text-decoration: none;
        display: block;
    }

    #top_cont02 .div_menu {
        width: 100%;
        height: 53.125vw;
        margin-right: 0;
    }

    #top_cont02 .cont.dl_flex {
        background-image: linear-gradient(to bottom, #fff 0, #fff 50%, #eaeaea 50%, #eaeaea 100%);
    }

    .title_style01 .text span.title_eng {
        width: 100%;
        display: block;
        margin-left: 0;
        font-size: 7px;
    }

    .title_style01 .text {
        font-size: 18px;
    }

    #top_cont04 .div_01 {
        width: 100%;
        margin-right: 0vw;
        height: 68.75vw;
        margin-bottom: 6.25vw;
    }

    #top_cont04 .div_01 .text {
        font-size: 14px;
    }

    #top_cont04 .div_02 {
        width: 100%;
    }

    #top_cont04 {
        padding-bottom: 15.625vw;
    }

    #top_cont04 .div_02 .div_sub1 {
        height: 52.34375vw;
    }

    #top_cont06 .map iframe {
        height: 85.9375vw;
    }

    footer {
        width: 100%;
        padding: 6.5vw 6.25vw 1.75vw;
    }

    #top_cont04 .div_02 .div_sub2 {
        height: 52.34375vw;
    }

    .ft_sns {
        display: none;
    }

    footer .div_menu {
        width: 100%;
    }

    footer .div_menu.div01 {
        order: 0;
        width: 24%;
        text-align: center;
    }

    footer .div_menu.div02 {
        order: 2;
        width: 24%;
        text-align: center;
    }

    footer .div_menu.div03 {
        order: 3;
        width: 100%;
    }

    footer .div_menu.div04 {
        order: 4;
        width: 50%;
        margin-top: 0px;
        margin:auto;
    }

    footer .div_menu.div04 {
        order: 4;
        width: 50%;
        margin-top: 17px !important;
        margin: auto;
    }

    footer .ft_menu .div_menu.div04 ul li a {
        width: 100%;
        margin-bottom: 0px;
    }

    footer .cont {
        padding-left: 0;
        padding-right: 0;
    }

    footer .cont .btn_backtop {
        transform: scale(0.7);
        -webkit-transform: scale(0.7);
        -moz-transform: scale(0.7);
        -ms-transform: scale(0.7);
        -o-transform: scale(0.7);
    }

    footer .ft_copyright {
        line-height: 160%;
        margin-top: 60px;
    }

    #page_cont01 .pro_ul li {
        width: 48%;
        margin-right: 4%;
        margin-bottom: 6.25vw;
    }

    #page_cont01 .pro_ul li:nth-child(4n), #page_cont01 .pro_ul li:nth-child(2n){
        margin-right: 0%;
    }

    #page_last li {
        width: 100%;
        margin-bottom: .3125vw;
    }

    #page_last li a{
        height: 39.6875vw;
    }

    #page_last li a .txt{
        font-size: 8.125vw;
        width: 100%;
        text-align: center;
        line-height: 120%;
    }

    #page_last ul{
        padding-bottom: 0;
    }


    .hd_btn {
        width: 26px;
        margin-right: 10px;
    }

    .hd_btn a {
        padding-bottom: 0 !important;
        border-bottom: none !important;
        
    }
}

@media screen and (max-width:580px) {
    footer .ft_menu .div_menu ul li a {
        font-size: 14px;
    }
    footer .ft_menu .div_menu.div04 ul li a {
        font-size: 14px;
    }

    footer .ft_copyright {
        font-size: 10px;
    }
    .br_show{
        display: block;
    }
    .hv-o-sp {
        display: block;
        font-size: 16px;
        color: #000;
        text-align: center;
    }

    .hd_menu_txt {
        display: none;
    }

    .hd_menu_line {
        margin-bottom: 5px;
        padding: 7px 0;
    }

    footer .div_menu.div02, footer .div_menu.div01 {
        width: 100%;
    }

    .hd_menu {
        width: 32px;
    }

    .hd_btn {
        width: 26px;
        margin-right: 10px;
    }

    .hd_btn a {
        padding-bottom: 0 !important;
        border-bottom: none !important;
        
    }
}

@media screen and (max-width: 767px) {
    #edirect_login_menu_base {
        top: 50%;
        bottom: unset !important;
        transform: translate(-50%, -50%);
        width: auto !important;
        left: 50% !important;
        padding: 0 20px;
    }

    .edirect_center.edirect_ttl_img img {
        margin: 0 auto;
    }

    .edirectMenuBtnLabel img {
        margin: 0 auto;
    }
}
