/*--------------- COMMON ---------------*/

body{
    font-family:"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size: 16px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    color: #000;
}
html{ scroll-behavior: smooth;}
html{font-size:100%;}
body{font-size:1rem; /*--16px--*/}

.bold{
    font-family:"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-weight:bold;
    font-weight: 600;
}
.r-light{font-family: 'Roboto', sans-serif;
    font-weight: 300}
.r-regular{font-family: 'Roboto', sans-serif;
    font-weight: 400}
.r-bold{font-family: 'Roboto', sans-serif;
    font-weight:bold;
    font-weight: 600}
.r-black{font-family: 'Roboto', sans-serif;
    font-weight:bold;
font-weight: 800}

.font_l {}
.font_m {}
.font_rb {}
.font_r {}

.fr{float: right}
.fl{float: left}
.cf:after {
    content: "";
    clear: both;
    display: block;
}

.cf2:after {
    content: "";
    clear: both;
    display: table;
}
.flex{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    }


.wrap-all{width: 100%;}


/*----------Navi SP/pc-----------*/


.nav_wrap{
opacity: 0;
visibility: hidden;
background-color: #fff;
z-index: 100;
display: inline-block;
width: 100%;
position: fixed;
width: 100%;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}
.nav_wrap.fixed{
    opacity: 1;
    visibility: visible;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.nav_wrap div p {
font-size: 0.875rem;
position: absolute;
right: 56px;
top: 25px;
}
.spmenu_hum div p{
    font-size: 0.875rem;
    position: fixed;
    right: 56px;
    top: 11px;
}
.nav_wrap img{
margin: 20px;
}
.spmenu_btn,
.spmenu_btn span {
    display: inline-block;
    transition: all .4s;
    width: 100%;
}
.spmenu_btn {
    position: fixed;
    width: 28px;
    height: 10px;
    right: 18px;
    top: 20px;
}

.spmenu_btn span {
    position: absolute;
    float: right;
    width: 28px;
    height: 3px;
    background-color: #000;
}

.spmenu_btn span:nth-of-type(1) {top: 0;}
.spmenu_btn span:nth-of-type(2){bottom: 0;}

.spmenu_btn_on span:nth-of-type(1) {
    -webkit-transform: translateY(17px) rotate(-20deg);
    transform: translateY(17px) rotate(-20deg);
    top: -14px;
    height: 3px;
    background-color: #ffffff;
}
.spmenu_btn_on span:nth-of-type(2) {
    -webkit-transform: translateY(-15px) rotate(20deg);
    transform: translateY(-15px) rotate(20deg);
    bottom: -11px;
    height: 3px;
    background-color: #ffffff;
}
a.spmenu_btn_on {
    position: fixed;
    width: 28px;
    height: 10px;
    right: 18px;
    top: 20px;
}

.mto{color: #fff;}

.menu_sp{}

.spmenu_hum{
    opacity: 0;
    visibility: hidden;
    position: fixed;
    width:100%;
    height: 100%;
    top: 0;
    line-height: 2.0;
}

.spmenu_hum ul li a{
    color: #fff;
}
.menu_title{
    color: #ffffff;
    margin: 32px 0 60px 40px;
}
.spmenu_hum ul{
    margin-left: 30px;
    margin-bottom: 100px;
}
div.spmenu_hum.active {
    opacity: 1;
    visibility: visible;
    right: 0;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    background-color: #000;
    z-index: 100;
    overflow: auto;
}
.spmenu_hum.active ul{
    display: block;
    font-size: 1.8rem;
}
.spmenu_hum.active ul li{
    line-height: 1.33;
    display: block;
    margin-bottom: 12px;
    font-weight: 800;
}
.spmenu_hum.active ul li span{
font-size: 0.875rem;
font-weight: 600;
}

.logo-nav{
display: block;
margin: 100px 0 50px 30px;
}
.logo-nav img{
width: 66.7%;
}
.foot-nav{
    font-size: 0.625rem;
    z-index: 120;
    color: #fff;
    position: absolute;
    bottom: 32px;
    left: 30px;
}

.mt-2{
margin-top: 50px;
}

/*---------------------/ SP-画面サイズ300px〜 /---------------------*/

@media screen and (min-width:300px) { 
    /*----------- SP共通スタイル -----------*/
    
    .t-left{
        height: 100vh;
        width: 100%;
        background-color: #000;
    }
    .t-left img{
        width: 74%;
        margin: 0 13%;
        margin-top: 35vh;
    }
    .nav-wrapper-sp{}
    .t-right{
        margin: 60px 24px 50px;
        text-align: justify;
    }
    .t-mt{
    display: block;
    font-size: 21px;
    line-height: 1.2;
    width: 100%;
    max-width: 630px;
    margin: 0 auto;
    }
    .t-mt img{
    margin: 0 auto;
    display: block;
    width: 100%;
    }
    .t-t{
    margin-top: 12px;
    font-size: 0.9375rem;
    line-height: 2.26666;
    }
    .t-news section{
    line-height: 2.4;
    }
    .t-news section p{
    font-size: 0.8125rem;
    font-weight: 400;
    padding-top: 16px;
    }
    .t-newsl{
    border-top: 1px solid #000;
    display: block;
    }
    .t-news section article{
    font-size: 0.9375rem;
    padding-bottom: 16px;
    font-weight: 600;
    }
    .btn{
    margin-top: 48px;
    display: inline-block;
    padding: 10px 16px 15px 32px;
    border: 1px solid #000;
    border-radius: 32px;
    }
    .btn img{
    width: 20px;
    margin-left: 12px;
    margin-bottom: -2px;
    }    
    .t-news{margin-top: 100px;}
    .t-news p{
    font-size: 36px;
    font-weight: 800;
    }
    .t-news-article{margin-top: 48px;}
    
    .t-newsl:last-child{
    border-bottom: 1px solid #000;
    }
    .gt{
    width: 40px;
    height: 40px;
    border-radius: 24px;
    border: 1px solid #000;
    position: fixed;
    right: 24px;
    bottom: 24px;
    }
    .gt img{
    margin: 13px auto;
    display: block;
    }
    footer{
    font-size: 0.625rem;
    margin: 0 0 32px 24px;
    font-weight: 300
    }
    
    /*----------- SP ABOUT -----------*/
    
    .u-left{
    height: 238px;
    }
    .u-left h1{
    color: #fff;
    line-height: 1.5;
    font-size: 2.5rem;
    padding: 100px 0 0 24px;
    }
    .u-left h1 span{
    font-size: 0.875rem;
    font-weight: 600;
    }
    .u-right{
    line-height: 2;
    font-size: 0.9375rem;
    margin: 42px 24px 60px;
    }
    
    .u-right h2{
        font-size: 1.75rem;
        line-height: 1.5;
        font-weight:bold;
        font-weight: 700;
    }
    
    .u-right h3{
    font-size: 1.5rem;
    border-bottom: 1px solid #000;
    margin-top: 42px;
    font-weight:bold;
    font-weight: 700;
    line-height: 1.5;
    }
    h3.no-border{
        /*border-bottom: none;*/
        font-size: 1.25rem;
    }
    p.no-border{
        border-bottom: none;
        font-size: 1.5rem;
        font-weight:bold;
        font-weight: 600;
    }
    .u-right h4{
    margin-top: 15px;
    font-weight:bold;
    font-weight: 700;
    line-height: 2;
    font-size: 1rem;
    }
    
    .u-logo{display: none;}
    
    div.nav_wrap_u{
    opacity: 1;
    visibility: visible;
    }
    .menu_sp_u{}
    
    .c-2{
    margin-top: 30px;
    }
    .bt{
    font-weight: 600;
    }
    .bt{
        font-weight:bold;
        font-weight: 700;
        }
    li.bt{
        margin-top: 15px;
    }
    a.scroll{
    width: 12.5%;
    margin: 0 auto;
    display: block;
    }
    a.scroll img{
        position: absolute;
        margin: 0 auto;
        bottom: 30px;
        width: 12%;
        display: block;
    }

    /*----------- SP BUSINESS -----------*/
    
    .bus-hl1{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    }
    .bus-hl1 .bus-num{
    border-bottom: 4px solid #000;
    font-weight:bold;
    font-weight: 800;
    }
    .u-right h3 p{
        font-size: 1.5rem;
        font-weight:bold;
        font-weight: 700;
    }
    .u-right h3 p.bus-hl2{
        margin-left: 16px;
    }
    .bus-li1 li{
    list-style: disc inside;
    margin-top: 15px;
    }
    .u-right .bus-h4 {
    margin-top: 24px;
    font-weight:bold;
    font-weight:700;
    }
    .mt-1{
        margin-top: 60px;
    }
    
    .bus-hl3{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 24px;
    width: 100%;
    }
    .bus-num-2{
        margin-top: 8px;
    }
    .bui-hl3-t{
    margin-left: 20px;
    font-weight: 400;
    line-height: 2;
    font-size: 0.9375rem;
    width: 100%;
    }
    .bus-te1{
    margin-top: 15px;
    }
    .repo{}
    .repo span{
    font-size: 0.625rem;
    }
    .repo-link{
    border-bottom: 1px solid #000;
    }

    /*----------- SP NEWS -----------*/

    .u-news-wrap{}
    .u-news-wrap p{
        font-size: 0.8125rem;
        font-weight: 400;
        padding-top: 16px;
    }
    .u-news-wrap article{
    font-size: 0.9375rem;
    padding-bottom: 16px;
    font-weight: 600;
    }
    .rec-mailto{
    border-bottom: 1px solid #000;
    }
    .foot_menu_wrap{
        margin-top: 100px;
    }
    .foot_menu{
        display: block;
    }
    .foot_menu li{
        margin-right: 24px;
        line-height: 2;
    }

    .foot_menu li a{
        font-weight: 800;
        font-size: 1rem;
    }

    /*----------- SP NEWS MODULES -----------*/

    h1.news-h1{
        font-size: 1.75rem;
        line-height: 1.5;
        font-weight: 700;
        padding-bottom: 25px;
        border-bottom: 1px solid #000;
    }
    h2.news-h2{
        font-size: 1.5rem;
        line-height: 1.5;
        font-weight: 700;
    }
    h3.news-h3{
        font-size: 1.25rem;
        line-height: 1.5;
        font-weight: 700;
        border-bottom: none;
    }
    h4.news-h4{
        font-size: 1.125rem !important;
        line-height: 1.5;
        font-weight: 700;
    }
    h5.news-h5{
        font-size: 1.125rem;
        line-height: 1.5;
        font-weight: 700;
        padding-bottom: 15px;
        border-bottom: 1px solid #000;
    }
    h6.news-h6{
        font-size: 1rem;
        line-height: 1.5;
        font-weight: 700;
    }
    .news-tx1{
        font-size: 1rem;
        line-height: 2.1;
    }
    .news-tx2{}
    .news-tx3{}
    .news-cap1{
        font-size: 0.8rem;
        line-height: 1.5;
        margin-top: 10px;
    }
    .news-sub1{margin-bottom: 10px;}
    .news-day{
        font-size: 1rem;
        font-weight: 600;
        font-family: 'Roboto', sans-serif;
        letter-spacing: 0.5px;
    }
    .news-category{
        font-size: 1rem;
        font-weight: 700;
    }
    .news-img-l{
        width: 100%;
        max-width: 1200px;
    }
    .news-img-m{
        width: 100%;
        max-width: 900px;
    }
    .news-img-s{
        width: 100%;
    }
    .margin-top-l{margin-top: 50px !important;}
    .margin-top-m{margin-top: 25px !important;}
    .margin-top-s{margin-top: 12px !important;}
    .news-ol-box{
        font-size: 1rem;
        counter-reset: item;
        counter-reset: item 0;
    }
    .news-ol-box li{line-height: 2.1;}
    .news-ol-box li:before {
        counter-increment: item;
        content: counter(item)'.';
        content: counter(item, decimal-leading-zero);
        /* 番号装飾 */
        padding-right: 1rem;
        font-weight: 700;
        font-family: 'Roboto', sans-serif;
        color: #000;
      }
    .news-ul-box{font-size: 1rem;}
    .news-ul-box li{
        line-height: 2.1;
        list-style: disc inside;
    }
    .news-link-tx1{
        border-bottom: 1px solid #000;
        padding-bottom: 3px;
    }
    .news-link-tx1:hover{
        border-bottom: 1px solid #aaa;
    }
    .news-tx-quote{
        font-style: italic;
        color: #666;
    }
    .news-boxed-1{
        padding: 30px 30px 30px 30px;
        border: 1px solid #000000;
    }
    .news-boxed-2{
        padding: 30px 30px 30px 30px;
        background-color: #eeeeee;
    }
    .news-boxed-flex{
        display: block;
    }
    .news-boxed-flex img{
        width: 100%;
        margin-right: 0px;
        margin-bottom: 30px;
    }
    .news-table-1{
        width: 100%;
        border: 1px solid #000000;
    }
    .news-table-1 thead{
        background-color: #ddd;
    }
    .news-table-1 thead tr{
        border: 1px solid #000000;
    }
    .news-table-1 thead tr th{
        padding: 10px 0px;
        border: 1px solid #000;
    }
    .news-table-1 tbody{}
    .news-table-1 tbody tr{}
    .news-table-1 tbody td{
        border: 1px solid #000000;
        padding: 10px;
    }
    .news-link-btn1{
        display: block;
        border: 1px solid #000;
        border-radius: 32px;
        padding: 10px 24px 10px 32px;
        background-color: #000;
        color: #fff;
        text-align: center;
    }
    .news-link-btn1 img {
        width: 20px;
        margin-left: 12px;
        margin-bottom: -2px;
    }
    .news-link-btn-box{
        display: block;
        justify-content: space-between;
    }
    .news-link-btn1-pre{
        padding: 10px 32px 10px 24px;
    }
    .news-link-btn1-pre img{
        -moz-transform: rotateY(180deg);
        -webkit-transform: rotateY(180deg);
        -o-transform: rotateY(180deg);
        -ms-transform: rotateY(180deg);
        transform: rotateY(180deg);
        margin-left: 0px;
        margin-right: 12px;
        margin-bottom: -2px;
    }
    .news-link-btn1-center{
        padding: 10px 32px 10px 32px;
    }
    .news-bold{font-weight: 700;}
    


    /*----------- SP ACCESS -----------*/
    
    .acc-map1 {
        width: 100%;
        margin: 50px 0 0 0;
    }
    .acc-map1 img{
        width: 100%;
    }
    .acc-map2-box {
        width: 100%;
        display: flex;
        align-items: flex-start;
        margin: 60px 0 0 0;
    }
    .acc-map2 {
        width: 100%;
        margin-right: 0px;
    }
    .acc-map2 img{
        width: 100%;
        height: auto;
    }
    .acc-tx1{
        font-size: 21px;
        font-weight:bold;
        font-weight:700;
        margin-bottom: 22px;
        margin-top: 60px;
    }
    .acc-tx2{
        font-size: 16px;
        font-weight:bold;
        font-weight:700;
    }
    .acc-tx3{}
    .acc-tx4{}

    .acc-box1{
        width: 100%;
        margin: 60px 0 0 0;
    }
    .acc-box2{}
    .acc-gmap1{
        margin: 80px 0 8px 0;
    }
    .acc-gmap1-tlink{font-size: 13px;}


    /*----------- SP COMPANY -----------*/
    .com-btn {
        margin-top: 16px;
        padding: 10px 24px 10px 32px;
    }




}

/*--------------------/ PC-画面サイズ720px〜/-----------------------*/

@media screen and (min-width:720px) { 

    .logo-nav {
        display: block;
        margin: 100px 0 50px 60px;
    }
    
    .spmenu_hum ul {
        margin-left: 60px;
        margin-bottom: 100px;
    }
    
    .logo-nav img {
        width: 50%;
    }
    .spmenu_hum.active ul {
        display: block;
        font-size: 2.5rem;
    }
    .t-right {
    margin: 60px 50px 60px 80px;
    }
    .u-right {
        line-height: 2;
        font-size: 0.9375rem;
        margin: 50px 50px 120px;
    }
    .u-left h1 {
        padding: 100px 0 0 50px;
    }
    
    .t-mt {
        width: 75%;
    }
    .t-t {
        margin-top: 24px;
    }
    a.scroll{
        margin: 0 auto;
        display: block;
    }
    a.scroll img{
        position: absolute;
        margin: 0 auto;
        bottom: 40px;
        left: 46%;
        width: 8%;
        display: block;
    }

    /*----------- iPad ACCESS -----------*/
    
    .acc-box1{
        display: flex; 
        align-items: flex-start;
    }
    .acc-map2 {
        width: 45%;
        margin-right: 60px;
        border: 1px solid #d4d4d4;
    }
    .acc-tx1{
        margin-top: 0px;
    }

    /*　Google Map白黒
    .googlemaps iframe,
    .googlemaps object,
    .googlemaps embed,
    .acc-gmap1 {
        -webkit-filter: grayscale(100%);
        -moz-filter: grayscale(100%);
        -ms-filter: grayscale(100%);
        -o-filter: grayscale(100%);
        filter: grayscale(100%);
    }
    */

    /*----------- iPad COMPANY -----------*/
    .com-btn {
        margin-top: 16px;
        padding: 10px 24px 10px 32px;
    }

        /*----------- iPad NEWS MODULES -----------*/


        .news-boxed-flex{
            display: flex;
            align-items: flex-start;
        }
        .news-boxed-flex img{
            width: 25%;
            margin-right: 40px;
            margin-bottom: 0px;
        }
        .news-boxed-1{
            padding: 50px 50px 50px 50px;
            border: 1px solid #000000;
        }
        .news-boxed-2{
            padding: 50px 50px 50px 50px;
            background-color: #eeeeee;
        }
        .news-img-l{
            width: 100%;
            max-width: 1200px;
        }
        .news-img-m{
            width: 85%;
            max-width: 900px;
        }
        .news-img-s{
            width: 80%;
            max-width: 900px;
        }
        .news-link-btn1-pre{
            padding: 10px 32px 10px 24px;
            text-align: center;
        }
        .news-link-btn-box{
            display: flex;
            justify-content: space-between;
        }
        .news-link-btn1{
            display: inline-block;
            border: 1px solid #000;
            border-radius: 32px;
            padding: 10px 24px 10px 32px;
            background-color: #000;
            color: #fff;
        }

}


/*--------------------/ PC-画面サイズ1028px〜/-----------------------*/

@media screen and (min-width:1028px) { 
    /*----------- PC共通スタイル -----------*/
    
    a.scroll{display: none;}
    .wrap-all{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    }
    .t-left{
        height: 100vh;
        width: 50%;
        background-color: #000;
        position: fixed;
    }
    .t-left img{
        width: 50%;
        margin: 0 25%;
        margin-top: 40vh;
    }
    .t-right{
    width: 50%;
    margin-left: 50%;
    padding: 50px 30px 60px 60px;
    margin-bottom: 60px;
    }
    .t-mt{}
    .t-t{
    margin-top: 32px;
    font-size: 1rem;
    line-height: 2;
    }
    .nav-wrapper-sp{display: none;}
    .gt{right: 44px;}
    
    footer{
    position: fixed;
    bottom: 78px;
    right: -65px;
    -webkit-transform: translateY(0px) rotate(90deg);
    transform: translateY(0px) rotate(90deg);
    }
    .nav_wrap{
    opacity: 1;
    visibility: visible;
    background: none;
    }
    .t-newsl{
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        border-top: 1px solid #000;
    }
    .t-news section p {
    padding-top: 10px;
    }
    .t-newsa{
    padding-left: 30px;
    }
    .t-news section article {
    padding-bottom: 11px;
    padding-top: 9px;
    }
    .scroll{
    display: none;
    }
    
    /*----------- PC MENU -----------*/
    
    .logo-nav{
    float:left;
    width: 50%;
    margin: 0 0 0 0;
    }
    
    .logo-nav img {
        width: 50%;
        margin: 0 25%;
        margin-top: 40vh;
    }

    .menu_list_sp{
    float: right;
    width: 50%;
    }
    .spmenu_hum ul {
    margin-left: 0px;
    padding-left: 80px;
    }
    .spmenu_hum.active ul {
        font-size: 4rem;
        margin-top: 13%;
        }
    .spmenu_hum.active ul li span {
        font-size: 1rem;
        }
    
    /*----------- PC ABOUT -----------*/
    
    
    .u-logo{
    display: block;
    margin: 20px;
    }
    .u-left{
    width: 25%;
    }
    .u-left h1{
        font-size: 2.5rem;
        padding: 32px 0 0 30px;
    }
    .u-right{
    width: 75%;
    margin-left: 25%;
    }
    .c-2{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    }
    .c-2 p{
    width: 20%;
    }
    .c-2 ul{width: 80%;}
    .u-right h2{}
    .u-right h4{
        font-size: 1.333rem;
        line-height: 1.5;
        margin-top: 30px;
    }

    li.t-first{margin-top: 0px;}
    
    .u-logo img {
        width: 120px;
        margin: 0;
        margin-top: 0;
    }
    .nav-logo-top{
    display: none;
    }
    .u-right .bus-h4{
    font-size: 1.333rem;
    margin-top: 40px;
    }
    
    /*----------- PC BUSINESS -----------*/
    
    .u-right h3 p{
        font-size: 1.75rem;
    }
    .u-right h3 p.bus-hl2{
        margin-left: 24px;
    }
    .bus-li1{
    margin-top: 30px;
    }
    .bus-li1 li {margin-top: 5px;}
    .mt-1{margin-top: 160px;}
    .bus-num-2{
        margin-top: 8px;
    }
    .bui-hl3-t{
        margin-left: 24px;
        font-size: 0.9375rem;
    }
    .bus-te1{
        margin-top: 15px;
    }
    .repo-wrap{margin-top: 25px;}
    
    .u-news-wrap{
        margin-top: 0;
    }
    .u-news-wrap p{
        padding-top: 24px;
        padding-bottom: 24px;
    }
    .u-news-wrap article{
        padding-bottom: 16px;
        padding-top: 22px;
    }
    .t-mt {
        width: 100%;
        max-width: 560px;
    }
    
    .foot_menu_wrap{
    margin-top: 160px;
    }
    .foot_menu{
        display: flex;
        flex-wrap: wrap;
    }
    .foot_menu li{
    margin-right: 24px;
    }
    
    .foot_menu li a{
        font-weight: 800;
        font-size: 0.9375rem;
    }
    .pc_menuli{}
    .pc_menuli li{}
    
    .pc_menuli li a span{
        display: inline-block;
        margin: 20px 0px 0px 24px;
        position: relative;
        bottom: 18px;
    }
    .pc_menu_yoko{
        display: inline;
    }
    .no-br{display: none}
}

/*--------------------/ PC-画面サイズ1280px〜/-----------------------*/

@media screen and (min-width:1280px) { 
    .t-right{
        width: 50%;
        margin-left: 50%;
        padding: 70px 50px 0px 80px;
    }
    .u-right {
        width: 75%;
        margin-left: 25%;
        }
    .u-left h1 {
        font-size: 2.75rem;
        padding: 48px 0 0 60px;
    }
    
}