/*-------------------------------------------------

-------------------------------------------------*/
*{ padding: 0; margin: 0;}
body{ font-family: メイリオ;
    font-size: 16px;
    color: #1a202c; 
}

img{ border: none;}

.page h1{
    font-size: 28px;
    color: #1a202c;
    font-weight:bold;
    border-bottom: 3px solid #002173;
    padding:10px 0;
    margin:10px 0 0 0;
}

.page h2{ font-size: 22px; 
    border-left: 8px solid #002173;
    font-weight: bold;
    padding: 5px 15px;
    margin-top:70px;
}

.page h3{ font-size: 18px; 
    border-bottom: 1px solid #002173;
    font-weight: bold;
    padding: 5px;
    margin-top:30px;
}

h3{ font-size: 18px; color: #333333; font-weight: bold; line-height: 22px;}
h3 span{ font-size: 16px; color: #333333; font-weight:normal; line-height: 20px;}
p{ line-height: 30px;}
a{ text-decoration:none; color: #1f7872;}
a:hover{ color: #d13f31;}

h4{ font-size: 16px;
font-weight: bold; 
width:360px;
padding: 5px 0px;
background-color: #251961;
border-radius: 20px;
text-align: center;
color: #ffffff;
margin:10px 0px;
}

.kaisai_wrap{
    width:100%;
    display: flex;
    flex-wrap: wrap;
}

.kaisai_block{
    background:#002173;
    color:#ffffff;
    text-align: center;
    width: 140px;
    padding:5px 0;
    margin-top:60px;
    margin-right:15px;
}

.margin_s{margin-top:10px !important;}
.margin_m{margin-top:30px !important;}
.margin_l{margin-top:50px !important;}
.margin_l_b{margin-bottom:90px !important}



/*-------------------------------------------------
GENERAL CLASSES
-------------------------------------------------*/
.mar-top30{ margin-top: 30px;}
.mar-top20{ margin-top: 20px;}
.mar-top10{ margin-top: 10px;}
.mar-top-10{ margin-top: -10px;}

.mar-right30{ margin-right: 30px;}
.mar-bottom20{ margin-bottom: 20px;}

.mar-left200{ margin-left: 200px;}



.float-right{ float: right;}
.clearing { clear: both;}
.panel{ background: #ffffff;}
.title{}
.Stitle{ padding: 20px 20px 0px 20px;}
.content{}

.page{ width: 960px; margin:0 auto;}

.page ul{margin-top:40px;}
.page li{display: flex; font-size:14px; margin-bottom:3px;}
.page li p:first-child{font-weight:bold; width:20%; background-color: #ccc; padding-top: 15px; padding-bottom: 15px; line-height:normal; padding-left:10px;}
.page li p:last-child{width:80%; padding-top: 15px; padding-bottom: 15px; line-height:normal; padding-left:20px;}


.center{text-align:center; margin:0 auto;}


.text_right{text-align:right;}

.font_b{font-weight:bold;}


.text_s{font-size:smaller;}
.text16{font-size:16px;}
.text18{font-size:18px;}
.text20{font-size:20px;}
.text30{font-size:30px;}


.subtitle{
    font-weight: bold;
    font-size:18px;
    color:#002173;
}

.head_line{
    overflow: hidden;
    margin: 0 auto;
    min-width: 960px;
}

.head_wrap {
    background: #002173;
    overflow: hidden;
    padding: 2px;
}

.head_wrap .panel {
    width: 960px;
    margin: 0 auto;
    background: none;
}

.head_wrap .panel p a {
    color: #ffffff;
    text-align: left;
    font-size: 14px;
}

.top_link{
    margin-top:10px;
    text-align: right;
}


/*-------------------------------------------------
MENU CLASSES
-------------------------------------------------*/
.menu-wrap{ overflow: hidden; background: #ffffff;}
.menu{ margin: 0 auto; width:960px; background: #ffffff;　height:85px; margin-top:50px;}
.menu ul li{ list-style:none; float:left; width:auto;}
.menu ul li a{ display:block; height:85px; line-height:85px; padding-left:30px; padding-right:30px; font-size:18px; color:#1a202c; border-right:#ffffff solid 1px; text-transform:uppercase;}
.menu ul li a:hover{ background: #ffffff; color:#1a202c;}

.menu ul li a.M_01:hover{ background:#6aaee0; color:#ffffff;}
.menu ul li a.M_02:hover{ background:#ed7faf; color:#ffffff;}
.menu ul li a.M_03:hover{ background:#fbc92c; color:#ffffff;}
.menu ul li a.M_04:hover{ background:#10b3a0; color:#ffffff;}
.menu ul li a.M_05:hover{ background:#ece1e3; color:#1a202c;}

.menu ul li a.active{ background: #ece1e3; color:#1a202c;}

/*-------------------------------------------------
HEADER CLASSES
-------------------------------------------------*/
.header{margin:0 auto; width: 960px; position: relative;}
.logo{ width: 600px; float: left; line-height: 80px;}
.logo h1{ font-size:28px; color: #d13f31; font-weight: normal;}
.logo h1 span{ color:#1a202c;}

.social{ position: absolute; top: 10px; left: 0;}
.social ul li{list-style:none; float:left; margin-left:15px;}

/*-------------------------------------------------
div banner
-------------------------------------------------*/
.banner{width:850px; height:920px; margin:0 auto; margin-bottom:40px; background:url(images/body.jpg) no-repeat; position:relative;}
.banner h1{ padding:10px; float:right; background:#1a202c; text-transform:uppercase; color:#ffffff;  font-size:30px; font-weight:normal; position:absolute; top: 0px; right: 0;}
.banner h2{ padding:10px; float:right; background:#ffffff; text-transform:uppercase; color:#1a202c;  font-size:22px; font-weight:normal; font-family: Roboto; position: absolute; top: 58px; right: 0;}
.banner02{width:960px; margin:0 auto; margin-bottom:22px;}

.pdf_dl{font-size:20px; font-weight: bold; text-align: center; box-sizing: border-box;}
.pdf_dl a{width:350px; padding:20px; margin:50px auto; border-radius: 50px; color:#ffffff; background-color:#002173; display: block;}
.pdf_dl a:hover {background-color:#2051cc; display: block;}

.button_back{font-size:20px; font-weight: bold; text-align: center; box-sizing: border-box;}
.button_back a{width:250px; padding:20px; margin:50px auto; border-radius: 50px; color:#ffffff; background-color:#002173; display: block;}
.button_back a:hover {background-color:#2051cc; display: block;}

.page .bn{display: flex;}
.page .bn li{margin-right:30px;}

/*-------------------------------------------------
MAIN COLUMAS CLASSES
-------------------------------------------------*/
.primary-col{ width: 960px; overflow: hidden;}
.primary-col p{ line-height: 35px;}
.generic{ overflow: hidden; width: 100%;}
.generic002{ overflow: hidden; width: 100%; background: #ffffff; margin: 30px 0 10px 0;}
.generic003{ overflow: hidden; width: 100%; background: #ffffff; margin: 20px 0 10px 0;}
.generic004{ overflow: hidden; width: 100%; background: #ffffff; margin: 20px 0 0px 0;}
.generic .panel{ padding: 20px 20px 30px 20px;}
.generic .title h1{ padding-bottom: 0px;}
.generic .content{ overflow: hidden;}
.block{ width: 320px;}
.block .panel{ padding: 10px 10px 30px 20px;}
.block .title h1{ padding-bottom: 0px;}
.block .content img{ padding-bottom: 20px;}
.block .content h3{ padding-bottom: 10px;}
.block .content p{ padding-bottom: 20px;}

.block .content dt{ font-size: 14px;}
.block .content dt.sec{ font-size: 14px; margin: 5px 0 0 0;}
.block .content dd{ font-size: 14px; line-height: 20px;}
.block .content dd.s12{ font-size: 12px; line-height: 20px;}
.block .content dd.s12 span{ padding: 0 0 0 12px;}

/*-------------------------------------------------
CONTACT FORM CLASSS
-------------------------------------------------*/

.contact-form { background:#f4f8f6; padding:30px; width:440px; float:left;}
.contact-form label {display: block; padding:10px 0 10px 0;}
.contact-form label span {display: block; color:#939191;font-size:14px; float:left; width:80px; text-align:left; padding:5px 20px 0 0;}
.contact-form .input_text {padding:10px 10px;width:318px;background:#ffffff;border:#e1ece7 1px solid; color:#939191;}
.contact-form .message{padding:10px 10px;width:318px; background:#ffffff; border:#e1ece7 1px solid;overflow:hidden;height:150px; color:#939191; font-size:14px;}
.contact-form .button{padding:8px;background:#1f7872; color:#ffffff; text-transform:uppercase; font-family:'Oswald', sans-serif;border:0px solid;margin-left:100px;margin-top:20px;}

table.mailform{border-collapse: separate !important; border-spacing: 8px 3px;}
.mailform td{border-bottom: solid 0px !important; margin:10px; font-size: 14px !important;}
.mailform td:first-child { background:#ccc; font-weight: bold; padding:15px 10px;}
.mailform .td_submit{background-color: #fff !important; text-align: center;}

.annotation{font-size:14px; line-height:24px !important;}


.address { float:left; width:370px; margin-left:30px;}
.address .panel { border:none; color:#9b9e9a}
.address .panel .title h1 {  color:#d13f31; padding-bottom:10px;}
.address .panel .content p span { color:#9b9e9a;}


/*-------------------------------------------------
FOOTER CLASSES
-------------------------------------------------*/
.primary-footer{ overflow:hidden; margin:0 auto; min-width: 960px;}
.footer-wrap{ background:#1a202c; overflow:hidden; padding-top:50px; margin-top:50px; padding-bottom:50px;  }
.footer{ width:960px; margin:0 auto;}
.footer .panel{float:left; background:none; width:300px;}
.footer .panel .title h1{ color:#ffffff;}
.footer .panel .content{padding-top:25px;}
.footer .panel .content p{ color:#435059;}
.footer .panel .content .button a{ margin-top:30px; background:#d13f31; width:70px; height:30px;}
.footer .panel .content .button a:hover{ margin-top:30px; background:#1f7872;}
.footer .panel .content ul li{ list-style:url(./images/arrow.png) inside; border-bottom:#273042 solid 1px; line-height:35px;}
.footer .panel .content ul li a{text-decoration:none; color:#435059;}
.footer .panel .content ul li a:hover{color:#d13f31;}
.footer .panel .content ul li.-no-border-bottom{border-bottom:none;}

.copyright-wrap{ background:#002173; overflow: hidden; padding: 20px 0px 20px 0px;}
.copyright-wrap .panel{width: 960px; margin: 0 auto; background: none;}
.copyright-wrap .panel .content p{ color: #ffffff; text-align: center; font-size: 12px;}
.copyright-wrap .panel .content p a{ text-decoration: none; color: #ffffff;}
.copyright-wrap .panel .content p a:hover{ color: #1a202c;}