@charset "UTF-8";


*{
    margin: 0;
    padding: 0
}

/* 共通項目 */
* {
    box-sizing: border-box;
}

html{
    overflow-x: hidden;
}

a:hover {
    opacity: 0.8;
}

p {
    line-height: 1.7;
}

ul {
    list-style: none;
}

header{
    background: #ffffff;
    color: #000
}

footer{
    border-top: solid 1px #c8c8c8;
    padding: 1rem 0
}

.global-nav{
    max-width: 1200px;
    margin: 0 auto;  
}

.top_header{
    max-width: 960px;
    margin: 0 auto;
}

img {
    max-width: 100%;
    height: atuo;
}

.midasi{

    text-align: center;
    display: block;
    padding: 1rem 1rem;
    color: #fff;
    font-size: 1.5rem;
    border-radius: 100vh;
    font-weight: bold;
    margin: 2rem 0;
    background-image: -webkit-gradient(linear, right top, left top, from(#375a5fd6), to(#375a5f));
    background-image: -webkit-linear-gradient(right, #375a5fd6 0%, #375a5f 100%);
    background-image: linear-gradient(to left, #375a5fd6 0%, #3c9eac 100%);
}

.midasi2{
    margin-top: 1rem
}

.midasi3{
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    display: block;
}


.tx_center{
    text-align: center
}

.anchor_1_color{
    background: #8AC7E6;
    padding-bottom: 1rem
}

.anchor_2_color{
    background: #1BA1E6;
    padding-bottom: 1rem
}

.anchor_3_color{
    background: #0A59E1;
    padding-bottom: 1rem
}

.anchor_4_color{
    background: #084188;
    padding-bottom: 1rem
}

.anchor_7_color{
    margin: 2rem 0
}

.anchor_8_color{
    border-bottom: 3px solid #0500aa;
    padding-bottom: 2rem;

}

.maidasi_border {
    padding: 1.5rem;
    text-align: center;
}



.midasi_d{
    color: #fff;
    margin: 2rem
}

.link_color_3{

}

.sub_menu_block{
    margin: 0.5rem 0;
}


.tooltip1{

    cursor: pointer;

}

.description {
    display: none;
    position: absolute;
    padding: 10px;
    font-size: 12px;
    line-height: 1.6em;
    color: #fff;
    border-radius: 5px;
    background: #000;
    width: 100px;
}
.description:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    border: 15px solid transparent;
    border-top: 15px solid #000;
    margin-left: -15px;
}
.tooltip1:hover .description{
    display: inline-block;
    top: -70px;
    left: 50px;
}

.c_box{
    background: #fff;
    margin-top: 1rem;
    /* height: 330px; */
    /* width: 330px; */
    padding-left: 1px;
    text-decoration: none;
    line-height: 30px;
    text-align: center;
    color: #5f6161;
    text-shadow: 0px 1px 0px #fafafa;
    background: #ffffff;
    /* background: -webkit-gradient(linear, left top, left bottom, from(#fbfaf4), to(#ece8e6)); */
    background: -moz-linear-gradient(top, #fbfaf4, #ece8e6);
    background: -o-linear-gradient(top, #fbfaf4, #ece8e6);
    background: linear-gradient(top, #fbfaf4, #ece8e6);
    border: 1px solid #dcd9d8;
    border-bottom: 1px solid #c1c1bd;
    -webkit-box-shadow: 0 0 5px #c7c5c1;
    -moz-box-shadow: 0 0 5px #c7c5c1;
    box-shadow: 0 2px 10px #676665;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    margin: auto;
    line-height: 3rem
}

.img_box{
    margin: 1rem
}


.btn,
a.btn,
button.btn {
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #212529;
    border-radius: 0.5rem;
}

a.btn-flat {
    overflow: hidden;
    padding: 1.5rem;
    color: #1b0079;
    border-radius: 0;
    background: #fff
}

a.btn-flat span {
    position: relative;
}

a.btn-flat:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    -webkit-transform: translateX(-98%);
    transform: translateX(-98%);
    background: #000b62;
}

a.btn-flat:hover:before {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
}

a.btn-flat:hover {
    color: #fff;
    opacity: 1

}

.news_box{
    margin: 1rem 0
}

.lang_box{
    display: flex;
    /* padding-top: 1rem; */
    justify-content: flex-end
}

.logo_left{
    margin-right: auto
}

.logo_text_box{
    padding: 1rem 0 0 1rem;
    color: #346699;
    font-weight: 600;
    font-family: HG丸ゴシックM-PRO
}

.logo_text_box_en{
    padding: 1rem 0 0 1rem;
    color: #346699;
    font-weight: 600;
    font-family: HG丸ゴシックM-PRO
}


.logo_text_box_en {
    font-size: 12px;
} 

.logo_text_flex{
    display: flex
}


.header-lang{
    padding: 1rem
}

a.header-lang_link{
    color: #000;
    text-decoration: unset
}

.sp_lang{
    display: none;
    width: 75%;
    margin: auto !important;
}

.anchor_6_color{
    background: #cfe7ff;
    padding: 2rem 0
}

.white_a{
    color: #fff;
    text-decoration-line: none
}

.ul_reset{
    padding: 0 !important;
}


ul.ul_reset > li{
    margin: 0rem 0 0 2rem;
}

.service-box > h3{
    color: #1b0079;
    border-bottom: solid 2px;
    padding-bottom: 0.4rem;
    text-align: left;
    font-size: 1.5rem

}

.secondary_item{
    margin: 0rem 1rem 0rem 1rem!important;
}

.tertiary_item{
    margin: 0rem 0rem 0rem 3rem !important;
}

.text-muted{
    text-decoration: none;
}

.f_m_text{
    color: #0718b3;
    text-decoration: none;
    font-size: 1rem;
}

.f_m_text_l{
    font-size: 1.2rem;
    text-align: left;
}

.sub_f_m_text{
    color: #2b37fa
}

.color_koubo{
    color: #1b0079;

}

li.sub_menu_block > a{
    text-decoration: none;
    color: #200a8b;
    display: block
}

li.sub_menu_block > a:hover{
    color: #fff
}

li.sub_menu_block:hover{
    background: #084188;
}

.title_news {
    padding: 0.8em 0 0.7em;
    font-size: 1.5rem;
    clear: both;
    font-weight: 500;
    line-height: 1.2;
    border-image: linear-gradient(to right, #375a5f 0%, #67A4DA 100%)1/2px 0 2px 0;
    border-image-slice: 1;
    text-align: center
}

.news-post {
    background: #fff;
    color: #000;
    margin-bottom: 1.5rem;
    padding: 0.5rem;
    border-bottom: solid 1px #c8c8c8;
}

.morelink {
    text-align: right;
}

.post-title-a{
    text-decoration: none;
    color: #020871
}

.newslist{
    max-width: 960px;
    margin: auto;
}

.news-time{
    color: #540d68;
    font-weight: bold
}

.banner_t{
    margin-top: 0.5rem;
    color: #346699;
}

.sub_f_t{
    color: #0084ff;
    font-weight: bold;
    text-align: center    
}

.sub__f_t{
    font-weight: bold;
    color: #202020ad
}

.footer_box{
    max-width: 960px;
    margin: 0 auto;
}

.f_tltle{
    color: #194f8c;
    font-size: 1.3rem
}

.tel_box{
    background: #b2b2b2;
    padding: 0.1rem 1rem
}

.site_map_box{
    margin: 1rem 0
}

.sub_a:hover {
    color: #0084ff
}

.main_link{
    color: #1b0079;
    text-decoration: none;
    cursor: pointer;
}

.post-title{
    position: relative
}

.grecaptcha-badge {
    visibility: hidden;
}

.gray_f{
    text-align: center;
    font-size: .5rem;
    color: #bdbdbd;
}

/*==================================================
スライダーのためのcss
===================================*/
.slider {
    position:relative;
    z-index: -1;
    padding-left: 0
        /*↑z-indexの値をh1のz-indexの値よりも小さくして背景に回す*/
        /*height: 100vh;スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
}
/*　背景画像設定　*/

.slider-item01 {
    background:url(../img/img_01.jpg);
}

.slider-item02 {
    background:url(../img/img_02.jpg);
}

.slider-item03 {
    background:url(../img/img_03.jpg);
}

.slider-item {
    width: 100%;/*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height:70vh;/*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
    background-repeat: no-repeat;/*背景画像をリピートしない*/
    background-position: center;/*背景画像の位置を中央に*/
    background-size: cover;/*背景画像が.slider-item全体を覆い表示*/
}

/*矢印の設定*/

.slick-prev, 
.slick-next {
    position: absolute;
    z-index: 3;
    top: 42%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #fff;/*矢印の色*/
    border-right: 2px solid #fff;/*矢印の色*/
    height: 25px;
    width: 25px;
}

.slick-prev {/*戻る矢印の位置と形状*/
    left:2.5%;
    transform: rotate(-135deg);
}

.slick-next {/*次へ矢印の位置と形状*/
    right:2.5%;
    transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/

.slick-dots{
    display: none !important
}


@media screen and (max-width: 768px) {
    .container {
        margin: 0 auto 40px auto;
        width: 90%;
    }

    .header-lang{
        display: none
    }

    .sp_lang{
        text-align: center;
        border: solid 1px;
        margin-top: 2rem;
        display: block
    }
    .logo_size{
        max-width: 250px
    }
}



/* グローバルメニュー */

.global-nav .nav-list {
    display: flex;
    justify-content: space-between;
    list-style: none;
    margin: 0;
    padding: 0;
}

.global-nav .nav-list .nav-item {
    flex: 1;
}

.global-nav .nav-list .nav-item  {
    border-right: 1px solid #ccc;
    color: #fff;
    padding: 0.6em 0.4em;
    text-align: center;
    text-decoration: none;


}

.global-nav .nav-list .nav-item:last-child a {
    /*  border-right: none;*/
}

.sub_a {
    border-right: 1px solid #ccc;
    color: #fff;
    display: block;
    padding: 0.6em 0.4em;
    text-align: center;
    text-decoration: none;
}

.nav_a {
    color: #000;
    display: block;
    padding: 0.6em 0.4em;
    text-align: center;
    text-decoration: none;
}

.anchor_1_block{
    padding-top: 2rem;
}

.logo_box{
    padding: 0 0 1rem 0.8rem;
    max-width: 150px;
}

.f_tel_box{
    padding: 0rem 1rem 1rem 1rem
}

.tel_s{
    margin-left: 1rem;
}

.fax_s{
    margin-left: 0.75rem;
}

/* サブナビゲーション */
@media screen and (min-width: 769px) {
    .inner > ul{
        padding-left: 1rem
    } 

    .nav-list {
        position: relative;
    }

    .nav-item_sub {
        background: #0d57b5;
        left: 0;
        margin: 0 calc(50% - 50vw);
        opacity: 0;
        position: absolute;
        top: 60px;
        transition: all 0.2s ease;
        visibility: hidden;
        width: 100vw;
        z-index: 999;
        font-size: 0.9rem
    }

    .nav-item_sub .inner {
        display: flex;
        margin: 0 auto;
        max-width: 1200px;

    }

    .nav-item_sub .inner ul {
        margin: 20px 0px 20px;
    }

    .global-nav .nav-list .nav-item_sub a  {
        text-align: left;
    }

    .nav-item:hover .nav-item_sub {
        opacity: 1;
        visibility: visible;
    }

    .komoku_box{
        max-width: 800px;
        display: flex;
        margin: 0 auto;
    }

    .flex_box{
        display: flex;
    }

    .toppage__shortcutList{
        margin: 0;
        padding: 0
    }

    .sub_t{
        padding: 0
    }

    .sub_s{
        padding: 0 1rem 0 0
    }

    .sub_s2{
        padding: 0 1rem 0 0
    }    

    .global-nav .nav-list .nav-item  {
        height: 86px;

    }
}

/* SP時：ハンバーガーメニューボタン */
.global-nav-icon {
    display: none;
}

@media screen and (max-width: 768px) {
    .global-nav-header {
        /*   height: 50px;*/
    }

    .global-nav .nav-list {
        background: rgba(0, 0, 0, 0.8);
        display: none;
        left: 50%;
        padding: 10px;
        position: absolute;
        transform: translate(-50%, 0%);
        width: 100%;
    }

    .global-nav .nav-list .nav-item a {
        border-bottom: 1px solid #ccc;
        border-right: none;
        color: #fff;
        padding: 1rem 0;
        text-align: left;
        margin: 0 2rem 0 0;
    }

    .global-nav .nav-list .nav-item:last-child a {
        border-bottom: none;
    }

    .global-nav-icon {
        color: #999;
        cursor: pointer;
        display: inline-block;
        font-size: 28px;
        position: absolute;
        right: 15px;
        top: 15px;
        z-index: 2;
    }

    .m_sub{
        text-align: left;
        /* margin: 1rem; */
        margin-top: 1rem;
        display: block;
    }

    .m_sub_a{
        padding: 1rem 0 0 !important;
        border-bottom: 0 !important;
        text-align: left
    }

    .tel_text_flex{
        display: flex;
        flex-flow: column;
    }

    .lang_m{
        margin: 0 !important;
        border-bottom: none !important;
        margin: 0 !important;
        border-bottom: none !important;
        display: block;
        text-align: center !important        
    }

    .global-nav .nav-list .nav-item {
        margin: 0.7rem;
    }




    @media screen and (min-width: 769px) {
        .nav_a {
            color: #000;
            display: block;
            /* padding: 0.6em 0.4em;*/
            text-align: center;
            text-decoration: none;
        }

        .logo_text_box {
            font-size: 20px;
        }

        .logo_text_box_en {
            font-size: 14px;
        }

    }
    @media screen and (max-width: 768px) {
        /*  .nav-item_sub {
            display: none;
          }
        */
        .global-nav {
            height: 100%;
            left: 0;
            position: fixed;
            top: 0;
            width: 100%;

        }

        .nav-list {
            height: 100%;
            overflow: auto;
            -webkit-overflow-scrolling: touch;
        }

        .midasi2 {
            margin-left: 2rem;
            margin-top: 1rem;
        }

    }

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

        .komoku_box{
            text-align: left
        }

    }

    @media screen and (min-width: 767px) {
        .tooltip1 {
            position: relative;
        }

    }



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

        a.btn-flat {
            border: solid 1px #000b62;
        }

        .logo_box {
            padding: 0 0 1rem 0.8rem;
            max-width: 100px;
        }    

        .br::before {
            content: "\A" ;
            white-space: pre ;
        }
    }