@charset "utf-8";

/* COMMON
---------------------------------------------------------------------------- */	
@import url(https://fonts.googleapis.com/css?family=Lato:400,700);
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

body{
	font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 15px;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
	color:#333;
}
.mac body{
	font-size: 14px;
}
a{
	text-decoration:underline; 
	color: #16408c;
	outline: none;
}
a:hover{ text-decoration: none; }
@media screen and (max-width:1000px){
    body{
        font-size:14px;
    }
}

/* header
---------------------------------------------------------------------------- */
.header{
    border-top:5px solid #004896;
    width:100%;
}
.header .inner{
    display:table;
}
.header-logo,
.header-contact{
    display:table-cell;
}
@media screen and (max-width:1000px){
    .header{
        border-top:none;
        border-bottom:2px solid #004896;
        background-color:#fff;
        height:50px;
        position:fixed;
        z-index:99999;
    }
    .header .inner{
        display:block;
    }
    .header-contact{
        display:none;
    }
}

/* ロゴ */
.header-logo{
    padding:10px 0 0;
    text-align:center;
}
@media screen and (max-width:1000px){
    .header-logo{
        width:100%;
        display:block;
    }
    .header-logo img{
        height:auto;
        width:120px;
        padding:0;
    }
}

/* お問い合わせ */
.header-contact{
    text-align:right;
    vertical-align:middle;
}
.header-contact strong{
    font-size:25px;
    font-weight:bold;
    color:#004896;
}
.header-contact strong a{
    text-decoration:none;
}
@media screen and (max-width:1000px){
    
}

/* SPメニュー */
@media screen and (max-width:1000px){
    .header-sp{
        position:absolute;
        top:0;
        right:0;
        width:50px;
        height:49px;
        border:none;
        background-image:url("/common/images/icn_sp_open.png");
        background-size:100% auto;
    }
    .header-sp.is-open{
        background-image:url("/common/images/icn_sp_close.png");
    }
}


/* nav
---------------------------------------------------------------------------- */
.nav{
	text-align:center;
}
@media screen and (min-width:1000px){
    .nav{
        display:block !important;
    }
}
@media screen and (max-width:999px){
    .nav{
        display:none;
        background-color:rgba(22,64,140,0.9);
        position:fixed;
        top:50px;
        left:0;
        z-index:99999;
        width:100%;
    }
    .nav .inner{
        width:100%;
        height:calc(100vh - 50px);
        overflow-y:auto;
        padding:10px;
    }
}

/* メインメニュー */
.nav ul li{
    display:inline-block;
}
.nav ul li > a,
.nav ul li > button{
    display:block;
    position:relative;
    color:#3a3a3a;
    text-decoration:none;
    width:150px;
    height:50px;
    padding:15px 0 5px;
    text-align:center;
    font-size:16px;
    border:none;
    background-color:transparent;
    font-family:inherit;
}
.nav ul li > button{
    padding-top:8px;
    padding-bottom:6px;
}
.nav ul li > a::after,
.nav ul li > button::after{
    position: absolute;
    bottom: 0;
    left: 45px;
    content: '';
    width: 60px;
    height: 3px;
    background: #004896;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
}
.nav ul li > a:hover::after,
.nav ul li > button:hover::after{
    transform-origin: left top;
    transform: scale(1, 1);
}
@media screen and (max-width:1000px){
    .nav ul li{
        display:block;
        background-color:#fff;
        margin:0 0 10px;
        border-radius:5px;
    }
    .nav ul li > a,
    .nav ul li > button{
        display:block;
        color:#16408c;
        width:100%;
        height:40px;
        padding:5px 0;
        font-size:15px;
        background-image:url("/common/images/arr_05.png");
        background-repeat:no-repeat;
        background-position:right 10px center;
        background-size:auto 7px;
    }
    .nav ul li > button.is-open{
        background-image:url("/common/images/arr_06.png");
    }
    .nav ul li > a{
        padding-top:10px;
    }
    .nav ul li > a::after,
    .nav ul li > button::after{
        content: '';
        display:none;
    }
}

/* ドロップナビ */
.nav-drop{
    display:none;
    position:absolute;
    left:0;
    background-color:#16408c;
    width:100%;
    padding:20px 20px 0;
    text-align:left;
    z-index:9999;
}
.nav-drop ul li{
    margin-right:20px;
    margin-bottom:20px;
}
.nav-drop ul li:nth-child(4n){
    margin-right:0;
}
.nav-drop ul li a{
    background-color:#fff;
    color:#333;
    border-radius:5px;
    background-image:url("/common/images/arr_01.png");
    background-repeat:no-repeat;
    background-position:right 5px bottom 5px;
    background-size:10px 10px;
    min-width:225px;
    height:80px;
    text-align:left;
    padding:30px 20px;
}
.nav-drop ul li > a::after{
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    width: 0;
    height: 0;
}
@media screen and (max-width:1000px){
    .nav-drop{
        position:relative;
        background-color:transparent;
        padding:0;
        text-align:left;
        z-index:9999;
    }
    .nav-drop ul li{
        width:48%;
        display:inline-block;
        margin-right:2%;
        margin-bottom:5px;
        vertical-align:top;
    }
    .nav-drop ul li:nth-child(4n){
        margin-right:5px;
    }
    .nav-drop ul li:nth-child(2n){
        margin-right:0;
    }
    .nav-drop ul li a{
        font-size:13px !important;
        min-width:100%;
        height:auto;
        padding:5px;
        background-image:url("/common/images/arr_02.png");
        background-position:left top 8px;
        background-size:6px 12px;
        padding-left:15px;
    }
    .nav-drop .inner{
        height:auto !important;
    }
}

/* path
---------------------------------------------------------------------------- */
.path{
    text-align:right;
    padding:0 0 30px;
}
.path ol{
    
}
.path ol li{
    display:inline-block;
}
@media screen and (max-width:1000px){
    .path{
        display:none;
    }
}

/* page title
---------------------------------------------------------------------------- */
.title{
    text-align:right;
    position:relative;
}
@media screen and (max-width:1000px){
    .title{
        padding-top:50px;
    }
}

/* bg */
.title-bg{
    width:1000px;
    height:300px;
    display:inline-block;
    background-attachment:fixed;
    background-repeat:no-repeat;
    background-position:right top;
}
@media screen and (max-width:1000px){
    .title-bg{
        width:100%;
        height:200px;
        display:block;
        background-size:100% auto;
        
        background-attachment:scroll;
        background-position:top center;
    }
}

/* main */
.title-main{
    text-align:left;
}
.title-main-h1{
    display:inline-block;
    text-align:center;
    background-image:url("/common/images/bg_dot.gif");
    width:500px;
    height:100px;
    font-size:30px;
    line-height:100px;
    margin-top:-65px;
}
@media screen and (max-width:1000px){
    .title-main{
        text-align:center;
    }
    .title-main-h1{
        display:inline-block;
        text-align:center;
        background-image:url("/common/images/bg_dot.gif");
        width:80%;
        height:60px;
        font-size:20px;
        line-height:60px;
        margin-top:-50px;
    }
}




/* l-main
---------------------------------------------------------------------------- */
.l-main{
    padding-bottom:80px;
}
@media screen and (max-width:1000px){
    .l-main{
        padding-top:50px;
        padding-bottom:50px;
    }
}




/* pagetop
---------------------------------------------------------------------------- */
.pagetop a{
    display:block;
    width:100%;
    background-color:#16408c;
    text-align:center;
    padding:10px 0 15px;
}
.pagetop a img{
    width:17px;
    height:auto;
    vertical-align:middle;
}

/* footer
---------------------------------------------------------------------------- */
.footer{
	background-color:#f7f7f7;
}

/* logo */
.footer-logo{
    text-align:center;
    padding:20px 0;
}
@media screen and (max-width:1000px){
    
}

/* nav */
.footer-nav{
    display:table;
    width:100%;
    padding:0 0 50px;
}
.footer-nav-box{
    display:table-cell;
    padding-right:30px;
}
.footer-nav .footer-nav-box:last-child{
    padding-right:0;
}

.footer-nav-box-ttl{
    border-bottom:1px solid #16408c;
    padding:10px;
    margin:0 0 15px;
}

.footer-nav-box ul{
    display:table-cell;
}
.footer-nav-box ul li{
    
}
.footer-nav-box ul li a{
    color:#333;
    text-decoration:none;
    display:block;
    background-image:url("/common/images/arr_02.png");
    background-repeat:no-repeat;
    background-position:left center;
    background-size:6px 12px;
    padding:5px 15px;
}
.footer-nav-box ul li a:hover{
    text-decoration:underline;
}
@media screen and (max-width:1000px){
    .footer-nav{
        display:block;
    }
    .footer-nav-box{
        display:block;
        padding-right:0;
    }
    .footer-nav .footer-nav-box:last-child{
        padding-right:0;
    }

    .footer-nav-box-ttl{
        border-bottom:1px solid #16408c;
        padding:10px;
        margin:0 0 15px;
        cursor:pointer;
    }

    .footer-nav-box ul{
        width:50%;
    }
    .footer-nav-box ul li{
        width:100%;
    }
    .footer-nav-box ul li a{
        color:#333;
        text-decoration:none;
        display:block;
        background-image:url("/common/images/arr_02.png");
        background-repeat:no-repeat;
        background-position:left center;
        background-size:6px 12px;
        padding:5px 15px;
    }
    .footer-nav-box ul li a:hover{
        text-decoration:underline;
    }
    .footer-nav-box-toggle{
        display:none;
    }
}

/* copy */
.footer-copy{
    background-color:#fff;
    text-align:right;
    padding:20px 0;
}
@media screen and (max-width:1000px){
    
}