@charset "utf-8";
/* フッター
---------------------------------------------------------- */
footer {
	width: 100%;
	padding-top: 70px;
}
footer .container {
	width: 90%;
	margin: 0 auto;
    display: -webkit-box;
    display: -moz-box;
    display:box;
    -webkit-box-orient:vertical;
    -moz-box-orient:vertical;
    box-orient:vertical;
    position: relative;
    /* overflow: hidden; */
}
/* 組織名 */
footer .container dl {
    width: 40%;
    -webkit-box-ordinal-group: 1;
    -moz-box-ordinal-group: 1;
    box-ordinal-group: 1;
    }
footer .container dl dt {
    max-width: 491px;
    width: 491px;
}
footer .container dl dt img {
    width: 100%;
}
footer .container dl dd {
    width: 100%;
    color: #1a3c83;
    font-size: 14px;
    line-height: 1.5;
    text-align: left;
    font-weight: bold;
    margin-top: 10px;
}
footer .container address {
    color: #999999;
    font-size: 12px;
    line-height: 1.3;
    font-weight: normal;
    font-style: normal;
    text-align: left;
    -webkit-box-ordinal-group: 2;
    -moz-box-ordinal-group: 2;
    box-ordinal-group: 2;
    margin-top: 10px;
    width: 40%;
}
/* フッターメニュー */
.mnu_pc {
    display: block!important;
}
.mnu_smp {
    display: none!important;
}
footer .container .block_ft_menu {
    width: 60%;
    padding-bottom: 65px;
    text-align: left;
    /* display: table; */
    -webkit-box-ordinal-group: 3;
    -moz-box-ordinal-group: 3;
    box-ordinal-group: 3;
    position: absolute;
    right: 0;
    top: 0;
    overflow: hidden;
    }
footer .container .block_ft_menu > ul.ft_link  {
    /* display: table-cell; */
    float: left;
    width: 25%;
    }
footer .container .block_ft_menu > ul.ft_link > li {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 8px;
    }
footer .container .block_ft_menu > ul.ft_link > li > a,
footer .container .block_ft_menu > ul.ft_link > li > div.mnu_smp {
    background-image: url("../img/ico_right.png");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 17px 17px;
    padding-left: 25px;
    color: #666;
    }
/* 下階層 */
footer .container .block_ft_menu > ul.ft_link > li > ul {
    margin-left: 25px;
    }
footer .container .block_ft_menu > ul.ft_link > li > ul > li {
    font-size: 16px;
    font-weight: normal;
    margin-top: 5px;
    }
footer .container .block_ft_menu ul li a:link {
	color:#666;
	text-decoration: none;
}
footer .container .block_ft_menu ul li a:visited {
	color:#666;
	text-decoration: none;
}
footer .container .block_ft_menu ul li a:hover {
	color:#1a3c83;
	text-decoration: none;
}
footer .container .block_ft_menu ul li a:active {
	color:#1a3c83;
	text-decoration: none;
}
/* SNS */
.ft_sns {
    font-size: 1%;
    line-height: 0;
    position: absolute;
    right: 0px;
    bottom: 65px;
}
.ft_sns li {
    display: inline-block;
    width: 43px;
    height: 43px;
    margin-left: 10px;
}
.ft_sns li a {
    display: block;
    width: 100%;
    height: 100%;
}
.ft_sns li img {
    width: 100%;
    height: 100%;
}
.ft_sns li a:hover img {
	filter: alpha(opacity=80);
	-moz-opacity:0.80;
	opacity:0.80;
	}
/*
----------------------------------------------------------- */
@media screen and (max-width : 1400px){
/* フッター
---------------------------------------------------------- */
/* 組織名 */
footer .container dl {
    width: 40%;
    }
footer .container dl dt {
    max-width: none;
    width: 100%;
}
footer .container .block_ft_menu  {
    width: 55%;
    }
}
/*
----------------------------------------------------------- */
@media screen and (max-width : 800px){
/* フッター
---------------------------------------------------------- */
footer .container .block_ft_menu > ul.ft_link > li {
    font-size: 16px;
    }
footer .container .block_ft_menu > ul.ft_link > li > ul > li {
    font-size: 16px;
    }
}
/*
----------------------------------------------------------- */
@media screen and (max-width : 768px){
/* フッター
---------------------------------------------------------- */
footer {
	padding-top: 10px;
    padding-bottom: 15px;
}
footer .container {
	width: 100%;
	margin: 0;
}
/* 組織名 */
footer .container dl {
    width: 90%;
    margin: 0 auto;
    }
footer .container dl dt {
    width: 70%;
    padding-top: 10px;
}
footer .container address {
    -webkit-box-ordinal-group: 3;
    -moz-box-ordinal-group: 3;
    box-ordinal-group: 3;
    width: 90%;
    margin: 0 auto;
    text-align: center;
    padding-top: 15px;
}
/* フッターメニュー */
.mnu_pc {
    display: none!important;
}
.mnu_smp {
    display: block!important;
}
footer .container .block_ft_menu {
    width: 100%;
    -webkit-box-ordinal-group: 2;
    -moz-box-ordinal-group: 2;
    box-ordinal-group: 2;
    position: relative;
    display: block;
    padding-bottom: 0px;
    border-bottom: #CCC 1px solid;
    overflow: visible;
    }
footer .container .block_ft_menu > ul.ft_link {
    display: block;
    float: none;
    width: 100%;
    }
footer .container .block_ft_menu > ul.ft_link > li {
    border-top: #CCC 1px solid;
    margin-bottom: 0px;
    /*
    font-size: 18px;
    font-weight: bold;
    */
    }
footer .container .block_ft_menu > ul.ft_link > li > a,
footer .container .block_ft_menu > ul.ft_link > li > div.mnu_smp {
    display: block;
    background-image: url("../img/ico_right.png");
    background-repeat: no-repeat;
    background-position: 20px 50%;
    background-size: 17px 17px;
    padding: 15px 15px 15px 45px;
    }
/* 下階層 */
footer .container .block_ft_menu > ul.ft_link > li > ul {
    margin-left: 2.5em;
    display: none;
    }
footer .container .block_ft_menu > ul.ft_link li.ico_plus {
     background-image: url("../img/ico_plus.png");
     background-position: 96% 15px;
     background-repeat: no-repeat;
     background-size: 22px 22px;
    }
footer .container .block_ft_menu > ul.ft_link li.ico_plus.on {
     background-image: url("../img/ico_minus.png");
     background-position: 96% 15px;
     background-repeat: no-repeat;
     background-size: 22px 22px;
    }
footer .container .block_ft_menu > ul.ft_link > li > ul > li {
    /*
    border-top: blue 1px solid;
    border-bottom: red 1px solid;
    */
    margin-top: 0px;
}
footer .container .block_ft_menu > ul.ft_link > li > ul > li > a {
    display: block;    
    padding: 5px 10px 10px 10px;    
    }
/* SNS */
.ft_sns {
    position: static;
    margin-left: 5%;
    margin-top: 10px;
    margin-bottom: 20px;
}
}


