@charset "utf-8";
/*-------------------body------------------*/
body {
    font-size: 12px;
    color: #000;
    background: #fff;
    line-height: 1.5;
    font-family: 'Lato', 'Noto Sans JP', sans-serif;
    font-weight: 400;
}
/*-------------------font------------------*/
.ffen{
    font-family: 'Lato', sans-serif;
    font-weight: 400;
}
.hdm{
}
.hdm .en{
    font-size: 50px;
    display: block;
    font-family: 'Lato', sans-serif;
    font-weight: 700;
    line-height: 1.1;
}
.hdm .ja{
    font-size: 20px;
    display: block;
    font-weight: 700;
}
@media screen and (max-width: 767px) {
    .hdm .en{
        font-size: 28px;
        display: block;
        font-family: 'Lato', sans-serif;
        font-weight: 700;
        line-height: 1.1;
    }
    .hdm .ja{
        font-size: 14px;
        display: block;
        font-weight: 700;
    }
}
.hdt{
    font-size: 26px;
    font-weight: 700;
    position: relative;
    text-align: center;
    margin-bottom: 20px;
}
.hdt span{
    position: relative;
}

#tab02,#tab03{
    display: none;
}
@media screen and (max-width: 767px) {
    .hdt {
        font-size: 18px;
    }
}
/*-------------------wrapper------------------*/
#wrapper{
/*    max-width: 1920px;*/
    margin: 0 auto;
    overflow: hidden;
    position: relative;
}
@media screen and (max-width: 767px) {
    #wrapper{
        max-width: 100%;
        margin: 0 auto;
    }
}
/*-------------------inner------------------*/
.inner{
    max-width: 1120px;
    margin: 0 auto;
}
.pageinner{
}
@media screen and (max-width: 767px) {
    .inner{
        margin: 0 auto;
        padding: 0 20px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

}
/*-------------------header------------------*/
#header{
    background: transparent;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    color: #fff;
}
#header_fixed{
    color: #000;
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    width: 100%;
    z-index: 1000;
    display: none;
    box-shadow: 0 0 5px rgba(0,0,0,0.1);
}
.header_inner{
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px;
    padding-left: 20px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.hd_logo{
}
.hd_link{
    display: flex;
    justify-content: left;
}
.contact_link{
    margin-left: 16px;
}
.contact_link a{
    background: #ff4451;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 15px;
    color: #fff;
    height: 80px;
    width: 150px;
}
.contact_link a:hover{
    background: #ff5763;
}
.contact_link img{
    width: 22px;
    margin-right: 6px;
}
.hd_link_top .flex_box{
    padding-top: 14px;
    display: flex;
    justify-content: left;
    align-items: center;
    font-size: 13px;
}
.hd_link_top .flex_box a{
    display: flex;
    color: #fff;
    justify-content: center;
    align-items: center;
    margin-right: 8px;
    font-size: 20px;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
}

#header_fixed .hd_link_top .flex_box a{
    color: #000;
}
.hd_link_top .flex_box a img{
    width: 16px;
    margin-right: 5px;
}
.hd_link_top ol{
    display: flex;
    justify-content: flex-end;

}
.hd_link_top ol li{
    margin-left: 0;
    position: relative;
    padding-bottom: 12px;
    margin-right: 3vw;
}
.hd_link_top li .sub-menu{
    position: absolute;
    top: 100%;
    left: 0;
    width: 240px;
    background: #fff;
    padding: 15px 0;
    display: none;
    z-index: 9;
}
.hd_link_top li .sub-menu-item a{
    display: block;
    width: 100%;
    line-height: 34px;
    padding-left: 35px;
    font-size: 14px;
    color: #000;
    background: url("../images/icon/arrow_sr.svg") no-repeat left 20px center #fff;
    -webkit-background-size: 6px;
    background-size: 6px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.hd_link_top li .sub-menu-item a:hover{
    background: url("../images/icon/arrow_sr.svg") no-repeat left 20px center #f0f2f3;
    -webkit-background-size: 6px;
    background-size: 6px;
}
.hd_link_top ol li>a{
    font-size: min(1.8vw,2rem);
    font-weight: 700;
    color: #fff;
    position: relative;
}
.hd_link_top ol li>a:hover:before{
    background: #fff;
    width: 100%;
    height: 1px;
    left: 0;
    bottom: -3px;
    content: '';
    z-index: 2;
    position: absolute;
}
#header_fixed .hd_link_top ol li>a:hover:before{
    background: #000;
    width: 100%;
    height: 1px;
    left: 0;
    bottom: -3px;
    content: '';
    z-index: 2;
    position: absolute;
}
.hd_link_top ol li:nth-child(4)>a:before{
    background: url("../images/common/ico_hd01.png") no-repeat 0 0;
    width: 11px;
    height: 8px;
    left: 50%;
    transform: translateX(-50%);
    bottom: -10px;
    content: '';
    z-index: 2;
    position: absolute;
}
#header_fixed .hd_link_top ol li:nth-child(4)>a:before{
    background: url("../images/common/ico_hd02.png") no-repeat 0 0;
    width: 11px;
    height: 8px;
    left: 50%;
    transform: translateX(-50%);
    bottom: -10px;
    content: '';
    z-index: 2;
    position: absolute;
}
#header_fixed .hd_link_top ol li>a{
    color: #000;
}



@media screen and (max-width: 767px) {
    #header{
        background: transparent;
    }
    .header_inner{
        max-width: 100%;
        margin: 0 auto;
        display: flex;
        padding: 0 0 0 10px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        justify-content: space-between;
        align-items: center;
        height: 60px;
    }
    .hd_logo{
        width: 200px;
    }
    .hd_link{
        display: none;
    }
}
/*-------------------pullmenu------------------*/
.navbar-toggle{
    display: none;
}
.pullmenu{
    display: none;
}
@media screen and (max-width: 767px) {
    .navbar-toggle{
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 99998;
        background: url("../images/common/menu_open.png") no-repeat 0 0;
        -webkit-background-size: contain;
        background-size: contain;
        width: 81px;
        height: 85px;
    }
    .navbar-toggle.on{
        display: block;
        background: url("../images/common/menu_close.png") no-repeat 0 0;
        -webkit-background-size: contain;
        background-size: contain;
        width: 80px;
        height: 85px;
    }
    .pullmenu{
        position: fixed;
        top: 60px;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 9999;
        overflow-y: scroll;
        background: #1379c0;
        padding: 0 0 100px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: none;
    }
    .pullmenu_in{
        overflow-y: scroll;
    }
    .pullmenu_top{
        background: #fff;
        padding-top: 15px;
    }
    .pullmenu_top li{
        border-bottom: 1px solid #f0f2f3;
    }
    .pullmenu_top li>a{
        font-size: 22px;
        padding: 15px 20px;
        background: url("../images/icon/arrow_sr.svg") no-repeat right 20px center;
        -webkit-background-size: 8px;
        background-size: 8px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        position: relative;
        display: block;
        color: #000;
    }
    .pullmenu_top li>a.toggle{
        background: none;
        position: relative;
    }
    .pullmenu_top li>a.toggle:before {
        position: absolute;
        content: '';
        width: 12px;
        height: 12px;
        right: 20px;
        top: 50%;
        background: url("../images/icon/arrow_sr.svg") no-repeat center;
        -webkit-background-size: 8px;
        background-size: 8px;
        transform: translate(0,-50%) rotate(90deg);
    }
    .pullmenu_top li>a.toggle.on:before {
        position: absolute;
        content: '';
        width: 12px;
        height: 12px;
        right: 20px;
        top: 50%;
        background: url("../images/icon/arrow_sr.svg") no-repeat center;
        -webkit-background-size: 8px;
        background-size: 8px;
        transform: translate(0,-50%) rotate(-90deg);
    }
    .pullmenu_top .toggle a{
        font-size: 22px;
        padding: 15px 20px;
        background: url("../images/icon/arrow_sr.svg") no-repeat right 20px center;
        -webkit-background-size: 8px;
        background-size: 8px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        position: relative;
        display: block;
        color: #000;
    }
    .pullmenu_top .toggle.on a{
        background: url("../images/icon/arrow_sb.svg") no-repeat right 18px center;
        -webkit-background-size: 14px;
        background-size: 14px;
    }
    .pullmenu_top li .sub-menu{
        background: #f0f2f3;
        padding: 25px 20px;
        display: none;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .pullmenu_top li .sub-menu-item+.sub-menu-item{
        margin-top: 16px;
    }
    .pullmenu_top li .sub-menu-item a{
        font-size: 17px;
        padding-left: 22px;
        background: url("../images/icon/arrow_sr.svg") no-repeat left center;
        -webkit-background-size: 5px;
        background-size: 5px;
        color: #000;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .pullmenu .pullmenu_bottom{
        background: #1379c0;
        padding: 0 20px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .pullmenu_bottom .ft_other{
        margin-top: 0;
        padding: 20px 0;
        display: block;
        border-bottom: 1px solid #2590c1;
    }
    .pullmenu_bottom .ft_other ol{
        flex-wrap: wrap;
    }




}
/*-------------------navbar------------------*/
#navbar{
    padding: 15px 0;
    background: darkblue;
}
#navbar ul{
    display: flex;
    align-items: center;
    border-left: 1px solid #fff;
    justify-content: space-around;
}
#navbar li{
    width: 20%;
}
#navbar ul a{
    display: block;
    font-size: 18px;
    color: #fff;
    text-align: center;
    border-right: 1px solid #fff;
}

@media screen and (max-width: 767px) {
}
/*-------------------mainimg------------------*/
#mainimg{
    height: 910px;
    width: 100%;
    background: url("../images/common/bg_mainimg.png") no-repeat top center;
    position: relative;
    background-size: cover;
}
#mainimg:before{
    background: rgba(0,0,0,0.2);
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    content: '';
    z-index: 2;
    position: absolute;
}
.mainimg_box{
    padding-top: min(20vw,310px);
    z-index: 4;
    position: relative;
}
.mainimg_en img{
    width: min(50vw,580px);
}
.mainimg_ja{
    margin: 12px 0 30px;
}
.mainimg_txt{
    font-size: 18px;
    color: #fff;
}
.mainimg_scroll{
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%,50%);
    z-index: 4;
}
.introduction{
    position: absolute;
    bottom: -45px;
    right: 0;
    width: 600px;
    z-index: 3;
    padding: 15px 24px;
    background: rgba(3,54,101,0.9);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.introduction_tit{
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #fff;
}
.introduction_box{
}
.introduction_box .tit{
    font-size: 15px;
    color: #fff;
    margin: 6px 0 8px;
}
.introduction_box .txt a{
    font-size: 14px;
    color: #fff;
    display: inline-block;
    padding-bottom: 0;
}
.introduction_box .txt a:hover{
    text-decoration: underline;
}
.introduction_box .img img {
    height: min(28vw, 183px);
    object-fit: cover;
    width: 100%;
    object-position: center;
}
.slick-prev{
    width: 60px;
    height: 60px;
    background: url("../images/common/prev.png") no-repeat 0 0;
    left: auto;
    right: 37px;
    top: -85px;
    transform: translateY(0);
    z-index: 99;
}
.slick-prev:hover{
    background: url("../images/common/prev_hover.png") no-repeat 0 0;
}
.slick-next{
    width: 60px;
    height: 60px;
    background: url("../images/common/next.png") no-repeat 0 0;
    right: -24px;
    top: -85px;
    transform: translateY(0);
    z-index: 99;
}
.slick-next:hover{
    background: url("../images/common/next_hover.png") no-repeat 0 0;
}
.slick-prev:before,
.slick-next:before{
    display: none;
}
.slick-slide{
    padding: 0 1px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
@media screen and (max-width: 767px) {
    #mainimg{
        height: 153vw;
        width: 100%;
        background: url("../images/common/sp_bg_mainimg.png") no-repeat top center;
        -webkit-background-size: cover;
        background-size: cover;
        position: relative;
    }
    #mainimg:before{
        display: none;
    }
    #mainimg .inner{
        padding: 0;
    }
    .mainimg_box{
        padding: 34vw 9.6vw 0;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .mainimg_en img{
        width: 100%;
    }
    .mainimg_ja{
        margin: 12px 0 24px;
    }
    .mainimg_txt{
        font-size: 16px;
        color: #fff;
    }
    .mainimg_scroll{
        display: none;
    }
    .introduction{
        position: absolute;
        bottom: -105px;
        right: 0;
        width: calc(100% - 20px);
        padding: 16px 15px;
        background: rgba(3,54,101,0.9);
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .introduction_tit{
        font-size: 15px;
        font-weight: 700;
        margin-bottom: 6px;
        color: #fff;
    }
    .introduction_box{
    }
    .introduction_box .tit{
        font-size: 12px;
        color: #fff;
        margin: 6px 0 8px;
    }
    .introduction_box .txt a{
        font-size: 11px;
        color: #fff;
    }
    .introduction_box .txt a:hover{
        text-decoration: underline;
    }
    .slick-prev{
        width: 35px;
        height: 35px;
        background: url("../images/common/prev.png") no-repeat 0 0;
        -webkit-background-size: contain;
        background-size: contain;
        left: auto;
        right: 22px;
        top: auto;
        bottom: -50px;
        transform: translateY(0);
        z-index: 99;
    }
    .slick-prev:hover{
        background: url("../images/common/prev_hover.png") no-repeat 0 0;
        -webkit-background-size: contain;
        background-size: contain;
    }
    .slick-next{
        width: 35px;
        height: 35px;
        background: url("../images/common/next.png") no-repeat 0 0;
        -webkit-background-size: contain;
        background-size: contain;
        right: -15px;
        top: auto;
        bottom: -50px;
        transform: translateY(0);
        z-index: 99;
    }
    .slick-next:hover{
        background: url("../images/common/next_hover.png") no-repeat 0 0;
        -webkit-background-size: contain;
        background-size: contain;
    }
    .slick-prev:before,
    .slick-next:before{
        display: none;
    }
    .slick-slide{
        padding: 0 1px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
}

/*-------------------teaser------------------*/
#teaser{
    background: url("../images/common/bg_teaser.png") no-repeat top center;
    height: 350px;
    background-size: cover;
}
.teaser_box{
    padding-top: 160px;
}
.teaser_tit{
    color: #fff;
}
.teaser_tit .en{
    font-size: 60px;
    font-weight: 700;
    line-height: 1;
    display: block;
    text-transform: uppercase;
}
.teaser_tit .ja{
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    display: block;
}
#breadcrumb{
    display: flex;
    justify-content: flex-end;
    position: relative;
    top: -20px;
}
.breadcrumb_box{
    width: 50%;
    background: url("../images/common/bg_breadcrumb.png") no-repeat top center;
    opacity: 0.8;
    height: 70px;
    padding: 36px 20px 14px 20px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    background-size: cover;
}
.breadcrumb_txt{
    display: flex;
    justify-content: left;
    font-size: 13px;
    color: #fff;
}
.breadcrumb_txt a{
    color: #fff;
    margin-right: 14px;
    position: relative;
}
.breadcrumb_txt span {
    display: inline-block;
    vertical-align: middle;
}
.breadcrumb_txt span img {
    vertical-align: middle;
}
.breadcrumb_txt a:before{
    background: url("../images/common/ico_breadcrumb.png") no-repeat 0 0;
    width: 11px;
    height: 14px;
    right: -14px;
    top: 3px;
    content: '';
    z-index: 2;
    position: absolute;
}


@media screen and (max-width: 767px) {
    #teaser{
        background: url("../images/common/bg_teaser.png") no-repeat top center;
        -webkit-background-size: cover;
        background-size: cover;
        height: 180px;
    }
    .teaser_box{
        padding-top: 70px;
    }
    .teaser_tit{
        color: #fff;
    }
    .teaser_tit .en{
        font-size: 30px;
        font-weight: 700;
        line-height: 1.2;
        display: block;
    }
    .teaser_tit .ja{
        font-size: 14px;
        font-weight: 700;
        line-height: 1;
        display: block;
    }
    #breadcrumb{
        display: flex;
        justify-content: flex-end;
        position: relative;
        top: -10px;
    }
    .breadcrumb_box{
        width: calc(100% - 20px);
        background: url("../images/common/bg_breadcrumb.png") no-repeat top center;
        opacity: 0.8;
        height: 50px;
        padding: 18px 10px 10px 10px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .breadcrumb_txt{
        display: flex;
        justify-content: left;
        font-size: 13px;
        color: #fff;
    }
    .breadcrumb_txt a{
        color: #fff;
        margin-right: 14px;
        position: relative;
    }
    .breadcrumb_txt a:before{
        background: url("../images/common/ico_breadcrumb.png") no-repeat 0 0;
        width: 11px;
        height: 14px;
        right: -14px;
        top: 3px;
        content: '';
        z-index: 2;
        position: absolute;
    }
}
/*-------------------breadcrumb------------------*/
#breadcrumb{

}
@media screen and (max-width: 767px) {

}
/*-------------------contents------------------*/
#contents{
    background: #fff;
}

@media screen and (max-width: 767px) {

}
/*-------------------sidebar------------------*/
#sidebar{

}
@media screen and (max-width: 767px) {

}
/*-------------------pagetop------------------*/
.pagetop{
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 999;
    display: none;
}
@media screen and (max-width: 767px) {
    .pagetop{
        bottom: 12%;
        right: 0;
        width: 40px;
    }
}

/*-------------------footer------------------*/
#footer{
    background: #1379c0;
    color: #fff;
    padding: 60px 0 0;
}
.ft_logo{
    text-align: center;
    position: relative;
}
.ft_logo:before{
    background: #2590c1;
    width: 100%;
    height: 1px;
    left: 0;
    bottom: 10px;
    content: '';
    z-index: 2;
    position: absolute;
}
.ft_logo img{
    position: relative;
    z-index: 3;
    padding: 0 20px;
    background: #1379c0;
}
.ft_contact{
    margin-left: 20px;
}
.ft_top{
    margin-top: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.ft_tel a{
    pointer-events: none;
    font-size: 30px;
    color: #fff;
    padding-left: 26px;
    background: url("../images/icon/ico_tel_wh.svg") no-repeat left bottom 3px;
    -webkit-background-size: 20px;
    background-size: 20px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.ft_time{
    padding-left: 26px;
    font-size: 13px;
}
.ft_contact a{
    display: inline-block;
    width: 320px;
    line-height: 60px;
    font-size: 16px;
    color: #fff;
    text-align: center;
    border: 1px solid #fff;
    background: url("../images/icon/ico_mail_white.svg")no-repeat right 78px center #ff4451;
    -webkit-background-size: 22px;
    background-size: 22px;
}
.ft_contact a:hover{
    border: 1px solid #ff4451;
    color: #ff4451;
    background: url("../images/icon/ico_mail_red.svg")no-repeat right 78px center #ffffff;
    -webkit-background-size: 22px;
    background-size: 22px;
}
.ft_links{
    margin-top: 60px;
    display: flex;
    justify-content: space-between;
}
.ft_links dl:nth-child(1){
    width: min(75vw,780px);
}
.ft_links dl:nth-child(2){
    width: calc(100% - min(75vw,780px));
}
.ft_links dt{
    font-size: 16px;
    margin-bottom: 18px;
}
.ft_links dd{
    padding-left: 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.ft_links dd ol{
    display: flex;
    justify-content: space-between;
}
.ft_links dd ol li{
    width: 33.33%;
}
.ft_links dl:nth-child(2) dd ol li{
    width: 50%;
}
.ft_links dd ol li a{
    font-size: 13px;
    padding-left: 15px;
    background: url("../images/icon/arrow_sr_soft.svg") no-repeat left top 6px;
    -webkit-background-size: 6px;
    color: #fff;
    position: relative;
    background-size: 6px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.ft_links dd ol li a:hover:before{
    background: #89bce0;
    width: calc(100% - 15px);
    height: 1px;
    left: 15px;
    bottom: -3px;
    content: '';
    z-index: 2;
    position: absolute;
}
.ft_links dd ol li p+p{
    margin-top: 10px;
}
.ft_other{
    margin-top: 50px;
    padding: 32px 0;
    border-top: 1px solid #2590c1;
}
.ft_other ol{
    display: flex;
    justify-content: left;
    align-items: center;
}
.ft_other ol li{
    margin-right: 18px;
}
.ft_other ol li a{
    font-size: 13px;
    padding-left: 12px;
    background: url("../images/icon/arrow_sr_soft.svg") no-repeat left top 6px;
    -webkit-background-size: 6px;
    background-size: 6px;
    color: #fff;
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.ft_other ol li a:hover:before{
    background: #89bce0;
    width: calc(100% - 15px);
    height: 1px;
    left: 15px;
    bottom: -3px;
    content: '';
    z-index: 2;
    position: absolute;
}
.ft_other ol li:nth-child(5) a,
.ft_other ol li:nth-child(6) a,
.ft_other ol li:nth-child(7) a,
.ft_other ol li:nth-child(8) a{
    padding-left: 18px;
    background: url("../images/icon/ico_pdf.svg") no-repeat left center;
    -webkit-background-size: 16px;
    background-size: 16px;
}
.ft_other ol li:nth-child(5) a:hover:before,
.ft_other ol li:nth-child(6) a:hover:before{
    background: #89bce0;
    width: calc(100% - 20px);
    height: 1px;
    left: 20px;
    bottom: -3px;
    content: '';
    z-index: 2;
    position: absolute;
}
.copyright{
    text-align: center;
    background: #116aa8;
    color: #fff;
    font-size: 12px;
    line-height: 50px;
}

.ft_tagline {
    text-align: center;
    margin-top: 4rem;
    margin-bottom: 6rem;
}

.ft_tagline img {
    max-width: 45%;
}
@media screen and (max-width: 1024px) {
    .ft_links dl:nth-child(2) dd ol{
        display: block;
    }

    .ft_links dl:nth-child(2) dd ol li {
        width: auto;
    }
}
@media screen and (max-width: 767px) {
    #footer{
        background: #1379c0;
        color: #fff;
        padding: 30px 0 13vw;
    }
    .ft_logo{
        text-align: center;
        position: relative;
    }
    .ft_logo img{
        width: 170px;
    }
    .ft_logo:before{
        background: #2590c1;
        width: 100%;
        height: 1px;
        left: 0;
        bottom: 10px;
        content: '';
        z-index: 2;
        position: absolute;
    }
    .ft_logo img{
        position: relative;
        z-index: 3;
        padding: 0 20px;
        background: #1379c0;
    }
    .ft_top{
        margin-top: 20px;
        display: block;
        padding-bottom: 30px;
        justify-content: center;
        align-items: center;
    }
    .ft_contact{
        margin-top: 15px;
        margin-left: 0;
    }
    .ft_tel a{
        pointer-events: inherit;
        font-size: 24px;
        color: #000;
        text-align: center;
        padding-left: 0;
        display: block;
        width: 100%;
        line-height: 50px;
        border: 1px solid #ececec;
        background: url("../images/icon/ico_tel.svg") no-repeat left 21% bottom 13px #fff;
        -webkit-background-size: 18px;
        background-size: 18px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .ft_time{
        padding-left: 0;
        padding-top: 4px;
        font-size: 11px;
        color: #fff;
        text-align: center;
    }
    .ft_contact{
        text-align: center;
    }
    .ft_contact a{
        display: block;
        margin: 0 auto;
        width: 100%;
        line-height: 50px;
        font-size: 16px;
        color: #fff;
        text-align: center;
        border: 1px solid #fff;
        background: url("../images/icon/ico_mail_white.svg")no-repeat right 70px center #ff4451;
        -webkit-background-size: 22px;
        background-size: 22px;
    }
    .ft_contact a:hover{
        border: 1px solid #ff4451;
        color: #ff4451;
        background: url("../images/icon/ico_mail_red.svg")no-repeat right 70px center #ffffff;
        -webkit-background-size: 22px;
        background-size: 22px;
    }
    .ft_links{
        display: none;
    }
    .ft_links dl:nth-child(1){
        width: 780px;
    }
    .ft_links dl:nth-child(2){
        width: calc(100% - 780px);
    }
    .ft_links dt{
        font-size: 16px;
        margin-bottom: 18px;
    }
    .ft_links dd{
        padding-left: 10px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .ft_links dd ol{
        display: flex;
        justify-content: space-between;
    }
    .ft_links dd ol li{
        width: 33.33%;
    }
    .ft_links dl:nth-child(2) dd ol li{
        width: 50%;
    }
    .ft_links dd ol li a{
        font-size: 13px;
        padding-left: 15px;
        background: url("../images/icon/arrow_sr_soft.svg") no-repeat left top 6px;
        -webkit-background-size: 6px;
        color: #fff;
        position: relative;
        background-size: 6px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .ft_links dd ol li a:hover:before{
        background: #89bce0;
        width: calc(100% - 15px);
        height: 1px;
        left: 15px;
        bottom: -3px;
        content: '';
        z-index: 2;
        position: absolute;
    }
    .ft_links dd ol li p+p{
        margin-top: 10px;
    }
    .ft_other{
        display: none;
        margin-top: 50px;
        padding: 32px 0;
        border-top: 1px solid #2590c1;
    }
    .ft_other ol{
        display: flex;
        justify-content: left;
        align-items: center;
    }
    .ft_other ol li{
        margin-right: 10px;
    }
    .ft_other ol li a{
        font-size: 12px;
        padding-left: 14px;
        margin-bottom: 8px;
        display: inline-block;
        background: url("../images/icon/arrow_sr_soft.svg") no-repeat left top 6px;
        -webkit-background-size: 5px;
        background-size: 5px;
        color: #fff;
        position: relative;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .ft_other ol li a:hover:before{
        background: #89bce0;
        width: calc(100% - 15px);
        height: 1px;
        left: 15px;
        bottom: -3px;
        content: '';
        z-index: 2;
        position: absolute;
    }
    .ft_other ol li:nth-child(5) a,
    .ft_other ol li:nth-child(6) a{
        padding-left: 20px;
        background: url("../images/icon/ico_pdf.svg") no-repeat left center;
        -webkit-background-size: 16px;
        background-size: 16px;
    }
    .ft_other ol li:nth-child(5) a:hover:before,
    .ft_other ol li:nth-child(6) a:hover:before{
        background: #89bce0;
        width: calc(100% - 20px);
        height: 1px;
        left: 20px;
        bottom: -3px;
        content: '';
        z-index: 2;
        position: absolute;
    }
    .copyright{
        text-align: center;
        background: #116aa8;
        color: #fff;
        font-size: 12px;
        line-height: inherit;
        padding: 10px 0;
    }

    .ft_tagline {
        margin: 1.5rem 0;
    }
	
	.ft_tagline img {
    max-width: 70%;
}
}
.pop{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999;
    background: rgba(41,131,193,0.9);
    display: none;
}
.pos_box{
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 9;
    width: min(70vw, 1200px);
    height: min(40vw, 610px);
    background: #fff;
    padding: 52px 0 52px 52px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.pos_box .close{
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(50%,-50%);
    z-index: 2;
    cursor: pointer;
}
.pos_flex{
    display: flex;
    justify-content: left;
    align-items: flex-end;
}
.pos_flex .img{
    width: 67%;
    position: relative;
}
.pos_flex .img img {
    max-height: min(32vw,507px);
    width: auto;
    object-fit: cover;
    object-position: top;
    
}

.pos_flex .img:before{
    background: rgba(41,131,193,0.9);
    width: 10px;
    height: 71.2%;
    right: 0;
    bottom: 0;
    content: '';
    z-index: 2;
    position: absolute;
}
.pos_flex .des{
    width: calc(100% - 67%);
    padding: 0 40px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
.pos_flex .des_tit{
    font-size: 18px;
    font-weight: 700;
}
.pos_flex .des_tit span{
    font-size: 16px;
    display: block;
}
.pos_flex .des_txt{
    font-size: 14px;
    margin: 20px 0 20px;
}
.pos_flex dl{
    display: flex;
    justify-content: left;
    padding: 10px 0;
    border-bottom: 1px solid #f0f2f3;
}
.pos_flex dt{
    font-size: 13px;
    width: 78px;
}
.pos_flex dd{
    font-size: 13px;
    width: calc(100% - 78px);
}
.pos_flex .des_btn{
    margin-top: 35px;
    text-align: right;
}
.pos_flex .des_btn a{
    font-size: 15px;
    display: inline-block;
    color: #000;
    background: url("../images/icon/arrow_sr.svg") no-repeat right center;
    -webkit-background-size: 6px;
    background-size: 6px;
    padding-right: 17px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
@media screen and (max-width: 767px) {
    .pop{
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 99999;
        background: rgba(41,131,193,0.9);
        display: none;
    }
    .pos_box{
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        z-index: 9;
        width: calc(100% - 40px);
        height: auto;
        background: #fff;
        padding: 10px 10px 10px 10px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .pos_box .close{
        position: absolute;
        top: 0;
        right: 0;
        transform: translate(50%,-50%);
        z-index: 2;
        cursor: pointer;
        width: 30px;
    }
    .pos_flex{
        display: block;
        justify-content: left;
        align-items: flex-end;
    }
    .pos_flex .img{
        width: 100%;
        position: relative;
    }

    .pos_flex .img img {
        height: min(52vw, 507px);
        max-height: inherit;
    }

    .pos_flex .img:before{
        background: rgba(41,131,193,0.9);
        width: 5px;
        height: 50%;
        right: 0;
        bottom: 0;
        content: '';
        z-index: 2;
        position: absolute;
    }
    .pos_flex .des{
        width: 100%;
        padding: 0 0;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
    .pos_flex .des_tit{
        font-size: 16px;
        font-weight: 700;
    }
    .pos_flex .des_tit span{
        font-size: 14px;
        display: block;
    }
    .pos_flex .des_txt{
        font-size: 12px;
        margin: 20px 0 20px;
    }
    .pos_flex dl{
        display: flex;
        justify-content: left;
        padding: 10px 0;
        border-bottom: 1px solid #f0f2f3;
    }
    .pos_flex dt{
        font-size: 12px;
        width: 78px;
    }
    .pos_flex dd{
        font-size: 12px;
        width: calc(100% - 78px);
    }
    .pos_flex .des_btn{
        margin-top: 20px;
        text-align: right;
    }
    .pos_flex .des_btn a{
        font-size: 14px;
        display: inline-block;
        color: #000;
        background: url("../images/icon/arrow_sr.svg") no-repeat right center;
        -webkit-background-size: 6px;
        background-size: 6px;
        padding-right: 17px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
}
#sp_bottom{
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    display: none;
}
.sp_bottom_box{
    background: url("../images/common/bg_sp_bottom.png") no-repeat top center;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 8px;
    display: flex;
    justify-content: space-between;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
#sp_bottom a{
    margin: 0 3px;
}



