@charset "utf-8";
/* PC、タブレット、スマホ共通 */

*{
margin: 0;
padding: 0;
}

html{
width: 100%;
height: 100%;
}

body{
width: 100%;
height: 100%;
background: #ffffff;
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}

section{
width: 100%;
min-width: 1190px;
float: left;
}

article{
width: 1190px;
margin-right: auto;
margin-left: auto;
}

article>div{
width: 100%;
float: left;
}

header{
width: 1190px;
margin-right: auto;
margin-left: auto;
}

header>div{
width: 100%;
float: left;
}

footer{
width: 1190px;
margin-right: auto;
margin-left: auto;
}

footer>div{
width: 100%;
float: left;
}

/*header*/

.header_style{
background: #f4f4f4;
border-bottom: 5px solid #004dc1;
}

.logo{
width: 100%;
float: left;
padding-top: 1rem;
}

.logo>img{
width: 83%;
}

/*PCで非表示*/

.pcdisp_none{
display: none;
}

/*メインナビゲーション*/

.navbox{
width: 100%;
float: left;
padding-top: 10px;
padding-bottom: 10px;
}

.nav_pc ul{
list-style: none;
}

.nav_pc>ul>li{
float: left;
}

.menu {
    position: relative;
    width: 100%;
    margin: 0 auto;
}

.menu > li a {
    display: block;
    color: #000000;
    text-align: center;
    font-size: 1rem;
    line-height: 1.5;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    text-decoration: none;
}

.menu > li a:hover {
    color: #696969;
}

ul.menu__second-level {
    visibility: hidden;
    opacity: 0;
    z-index: 11;
}

.menu > li:hover {
    background: #d3d3d3;
    -webkit-transition: all .5s;
    transition: all .5s;
}

.menu__second-level li {
    border-top: 1px solid #c0c0c0;
}

.menu__second-level li a:hover {
    background: #606060;
    color: #ffffff;
}

/* floatクリア */
.menu:before,
.menu:after {
    content: " ";
    display: table;
}

.menu:after {
    clear: both;
}

.menu {
    *zoom: 1;
}

/*階層2*/

.menu > li.menu__single {
    position: relative;
}

li.menu__single ul.menu__second-level {
    position: absolute;
    width: 100%;
    background: #d3d3d3;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

li.menu__single:hover ul.menu__second-level {
    visibility: visible;
    opacity: 1;
}

/*ナビボタン*/

.nav_01 a{
width: 197.5px;
height: 60px;
display: block;
background-image: url(../img/nav_01.svg);
background-repeat: no-repeat;
background-position: 0px 5px;
background-size: 197.5px 60px;
border-right: 1px solid #4f4f4f;
text-decoration: none;
text-indent: -9999px;
}

.nav_02 a{
width: 197.5px;
height: 60px;
display: block;
background-image: url(../img/nav_02.svg);
background-repeat: no-repeat;
background-position: 0px 5px;
background-size: 197.5px 60px;
border-right: 1px solid #4f4f4f;
text-decoration: none;
text-indent: -9999px;
}

.nav_03 a{
width: 197.5px;
height: 60px;
display: block;
background-image: url(../img/nav_03.svg);
background-repeat: no-repeat;
background-position: 0px 5px;
background-size: 197.5px 60px;
border-right: 1px solid #4f4f4f;
text-decoration: none;
text-indent: -9999px;
}

.nav_04 a{
width: 197.5px;
height: 60px;
display: block;
background-image: url(../img/nav_04.svg);
background-repeat: no-repeat;
background-position: 0px 5px;
background-size: 197.5px 60px;
border-right: 1px solid #4f4f4f;
text-decoration: none;
text-indent: -9999px;
}

.nav_05 a{
width: 197.5px;
height: 60px;
display: block;
background-image: url(../img/nav_05.svg);
background-repeat: no-repeat;
background-position: 0px 5px;
background-size: 197.5px 60px;
border-right: 1px solid #4f4f4f;
text-decoration: none;
text-indent: -9999px;
}

.nav_06 a{
width: 197.5px;
height: 60px;
display: block;
background-image: url(../img/nav_06.svg);
background-repeat: no-repeat;
background-position: 0px 5px;
background-size: 197.5px 60px;
text-decoration: none;
text-indent: -9999px;
}

/*バナー*/

.banner_style{
background: #eaeaea;
padding-top: 3rem;
padding-bottom: 3rem;
}

.banner_container{
width: 1215px;
}

.banner{
list-style: none;
display: flex;
justify-content: center;
}

.banner li{
float: left;
margin-right: 12.5px;
margin-left: 12.5px;
}

.banner img{
width: 380px;
height: 160px;
/*float: left;*/
}

.banner img:hover{
opacity: 0.5;
transition: 1.0s;
}

/*最新情報と募集*/

.contents{
display: flex;
margin-top: 2rem;
margin-bottom: 2rem;
}

.news{
width: 785px;
margin-right: 25px;
}

.news h1{
font-size: 1.5rem;
font-weight: normal;
line-height: 1;
}

.news ul{
list-style: none;
}

.news ul li{
border-bottom: 1px solid #dbdbdb;
padding-top: 1rem;
padding-bottom: 1rem;
font-size: 0.9rem;
line-height: 1.5;
}

.news_hl{
margin-bottom: 0.5rem;
}

.news_summary{
color: #039ae4;
}

.news_summary a{
color: #039ae4;
text-decoration: none;
}

.news_summary a:hover{
text-decoration: underline;
}




.ico_osirase{
background: #00bbd3;
color: #ffffff;
border-radius: 1.35rem;
padding-right: 2rem;
padding-left: 2rem;
text-align: center;
margin-right: 1rem;
}

.ico_kosin{
background: #eb407a;
color: #ffffff;
border-radius: 1.35rem;
padding-right: 2rem;
padding-left: 2rem;
text-align: center;
margin-right: 1rem;
}

.ico_kenkyu{
background: #03a8f3;
color: #ffffff;
border-radius: 1.35rem;
padding-right: 2rem;
padding-left: 2rem;
text-align: center;
margin-right: 1rem;
}

.bosyu{

}

.bosyu img:hover{
opacity: 0.5;
transition: 1.0s;
}

/*フッター*/

.footer_style01{
border-top: 1px solid #a8a8a8;
background: #e6e6e6;
}

.footer_style02{
background: #004dc1;
}

.footer_title{
font-size: 0.9rem;
line-height: 1.5;
color: #ffffff;
margin-top: 1rem;
margin-bottom: 1rem;
}

/*フッターメニュー*/

.footer_menu_group{
display: flex;
justify-content: space-between;
margin-top: 2rem;
margin-bottom: 2rem;
}

.footer_menu_group a{
text-decoration: none;
color: #000000;
}

.footer_menu_group a:hover{
text-decoration: underline;
color: #004dc1;
font-weight: bold;
}

.footer_menu_group>div h2{
font-size: 1rem;
line-height: 1.5;
margin-bottom: 1rem;
}

.footer_menu_group>div ul{
list-style: none;
margin-left: 1rem;
}

.footer_menu_group>div ul li{
background-image: url(../img/arrow_blue.svg);
background-repeat: no-repeat;
background-position: left center;
background-size: 8.75px 14px;
padding-left: 20px;
line-height: 1.6;
font-size: 0.9rem;
margin-bottom: 0.5rem;
}

/* ページトップへ戻るボタン */

#pageTop{
	background:#DDD;
	border-radius:5px;
	color:#FFF;
	padding:20px;
	position:fixed;
	bottom:20px;
	right:20px;
	text-decoration:none;
    text-align: center;
	}
#pageTop:hover{
	background:#EEE;
	}
	
#pageTop img{
width: 48px;
height: 48px;
}

/*サブページ用*/

.sub{
padding-top: 2rem;
padding-bottom: 2rem;
width: 100%;
}

/*見出し*/

.sub h1 {
position: relative;
font-size: 1.1rem;
line-height: 1.5;
padding-bottom: 1rem;
margin-bottom: 2rem;
}

.sub h1:after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 7px;
background: -webkit-repeating-linear-gradient(-45deg, #c0c0c0, #c0c0c0 2px, #fff 2px, #fff 4px);
background: repeating-linear-gradient(-45deg, #c0c0c0, #c0c0c0 2px, #fff 2px, #fff 4px);
}

.sub h1 span{
margin-left: 2rem;
}

.sub h1 a{
background: url(../img/arrow_blue.svg);
background-repeat: no-repeat;
background-position: center left;
background-size: 0.7rem 1.1rem;
padding-left: 1rem;
color: #696969;
text-decoration: none;
}

.sub h1 a:hover{
text-decoration: underline;
}



.sub h2 {
	position: relative;
	padding-left: 2rem;
	font-size:1.5rem;
    line-height: 1.5;
    margin-bottom: 1rem;
	color: #325A8C;
}
.sub h2::before,
.sub h2::after{
	content: "□";
	position: absolute;
}
.sub h2::before{
	left:0;
	top:-3px;
}
.sub h2::after{
	left: 5px;
	top: 3px;
	color: #A1B8D1;
}

.sub h3{
font-size: 1.2rem;
line-height: 1.5;
margin-bottom: 0.5rem;
}

.sub h4{
font-size: 1rem;
line-height: 1.5;
border-bottom: 1px dashed #325a8c;
color: #325a8c;
margin-bottom: 1rem;
}

.sub h5{
font-size: 1rem;
line-height: 1.5;
margin-bottom: 0.5rem;
}


/*吹き出し*/

.fukidasi01 {
  position: relative;
  padding: .5em .75em;
  background-color: #fff;
  border: 1px solid #325a8c;
  border-radius: 6px;
  margin-bottom: 1.5rem;
  color: #325a8c;
}
.fukidasi01::before,
.fukidasi01::after {
  position: absolute;
  top: 100%;
  left: 30px;
  content: '';
  height: 0;
  width: 0;
  border: 10px solid transparent;
}
.fukidasi01::before {
  border-top: 15px solid #325a8c;
}
.fukidasi01::after {
  margin-top: -2px;
  border-top: 15px solid #fff;
}

/*見出し01*/

.hl_style01 {
  position: relative;
  padding: 0 .5em .5em 2em;
  border-bottom: 2px solid #fff462;
}
.hl_style01::before,
.hl_style01::after {
  position: absolute;
  content: '';
  border-radius: 100%
}
.hl_style01::before {
  top: .2em;
  left: .2em;
  z-index: 2;
  width: 18px;
  height: 18px;
  background: rgba(255, 244, 98, 1);
}
.hl_style01::after {
  top: .7em;
  left: .7em;
  width: 13px;
  height: 13px;
  background: rgba(239, 133, 125, .5);
}




/*コンテンツの幅*/

.column01{
width: 70%;
margin-right: auto;
margin-left: auto;
}

/*2カラムの場合*/

.column02{
width: 100%;
display: flex;
}

.column_main{
width: 70%;
}

.column_sub{
width: 30%;
box-sizing: border-box;
padding-left: 6rem;
}


/*パートの下に行空け*/

.part{
margin-bottom: 2rem;
}

/*本文*/

.sub P{
font-size: 1rem;
line-height: 1.5;
margin-bottom: 1rem;
}


/*署名*/

.signature{
margin-top: 1rem;
text-align: right;
}


/*リスト*/

.sub ol{
margin-left: 1.5rem;
margin-bottom: 1.5rem;
}

.sub ol>li{
font-size: 1rem;
line-height: 1.5;
margin-bottom: 0.5rem;
}

.sub ol>li>ul{
margin-top: 0.5rem;
}
/*
.sub ol>li>Ul>li{
font-size: 1rem;
line-height: 1.5;
}
*/
.sub ul{
margin-left: 1.5rem;
margin-bottom: 1.5rem;
}

.sub ul>li{
font-size: 1rem;
line-height: 1.5;
margin-bottom: 0.5rem;
}

/*pdf*/

.pdf{
background: url(../img/Adobe_PDF_file_icon_32x32.png) no-repeat center left;
padding-left: 46px;
}

/*年リスト*/

ul.sidemenu{
  /*padding: 0;*/
  /*font: 14px/1.6 'arial narrow', sans-serif;*/
  /*width:350px;*/
  /*width: 100%;*/
  list-style: none;
}
ul.sidemenu li a{
box-sizing: border-box;
/*width: calc(30% - 2rem);*/
width: 100%;
display: block;
  position: relative;
  padding: 7px 5px 7px 10px;
  margin-bottom:5px;
  border-left: solid 5px #5c9ee7;
  background: #f1f8ff;
  /*color: #5c9ee7;*/
  font-weight: bold;
  -webkit-box-shadow:1px 1px 2px rgba(0, 0, 0, 0.1) ;
  -moz-box-shadow:1px 1px 2px rgba(0, 0, 0, 0.1) ;
  box-shadow:1px 1px 2px rgba(0, 0, 0, 0.1) ;
text-decoration: none;
color: #325a8c;
}


ul.sidemenu li a:hover{
background: #ffc0cb;
}






/*イメージ*/

/*右寄せ*/

.img_right{
float: right;
margin-bottom: 1rem;
margin-left: 2rem;
}

.img_cap{
font-size: 0.9rem;
line-height: 1.5;
text-align: center;
}

/*左寄せ*/

.img_left{
float: left;
margin-bottom: 1rem;
margin-right: 2rem;
}

/*センター　画像罫線あり*/

.img_center_line{
margin-bottom: 1rem;
display: table;
width: 482px;
margin-right: auto;
margin-left: auto;
}

.img_center_line img{
border: 1px solid #cccccc;
}

.img_cap2{
font-size: 0.9rem;
line-height: 1.5;
text-align: left;
}


/*テーブル*/

/*staff*/

.staff{
border-collapse: collapse;
font-size: 1rem;
line-height: 1.5;
border-bottom: 1px solid #cccccc;
}

.staff th{
border-top: 1px solid #cccccc;
padding: 1rem;
text-align: left;
}

.staff td{
border-top: 1px solid #cccccc;
padding: 1rem;
}

/*week*/

.week{
border-collapse: collapse;
border: 1px solid #cccccc;
margin-bottom: 2rem;
}

.week th{
border: 1px solid #cccccc;
background: #82cddd;
color: #ffffff;
font-size: 1rem;
line-height: 1.5;
padding: 1rem;
}

.week td{
border: 1px solid #cccccc;
font-size: 1rem;
line-height: 1.5;
padding: 1rem;
text-align: center;
}

/*リンク*/

.link{
background-image: url(../img/ico_link.svg);
background-repeat: no-repeat;
background-position: center left;
background-size: 1rem 1rem;
padding-left: 2rem;
}

/*連絡先*/

.contact{
border: 6px solid #fff462;
border-radius: 12px;
padding: 2rem;
margin-bottom: 2rem;
}

.contact h6{
font-size: 1.2rem;
line-height: 1.5;
margin-bottom: 1rem;
}

.phone{
background-image: url(../img/ico_phone.svg);
background-repeat: no-repeat;
background-position: center left;
background-size: 1.2rem 1.2rem;
padding-left: 1.5rem;
}

.fax{
background-image: url(../img/ico_fax.svg);
background-repeat: no-repeat;
background-position: center left;
background-size: 1.2rem 1.2rem;
padding-left: 1.5rem;
}

.email{
background-image: url(../img/ico_email.svg);
background-repeat: no-repeat;
background-position: center left;
background-size: 1.2rem 1rem;
padding-left: 1.5rem;
}







 /* スマホ用のCSS */

@media only screen and (max-device-width: 480px) {

article{
width: 100%;
}

header{
width: 100%;
}

.logo{
width: 90%;
/*margin-right: auto;*/
margin-left: 5%;
}
/*
.logo>img{
width: 100%;
}
*/
section{
min-width: 0px;
}

footer{
width: 100%;
}

.nav_pc{
display: none;
}







/*バナー*/

.banner_container{
width: 100%;
}

.banner{
display: block;
}

.banner img{
width: 100%;
}

/*最新情報と募集*/

.contents{
display: block;
}

.news{
width: calc(100% - 1rem);
margin-left: 1rem;
}

/*フッターメニュー*/

.footer_menu_group{
display: block;
padding-left: 1rem;
}


/*スマホで非表示*/

.spdisp_none{
display: none;
}

/*コンテンツの幅*/

.column01{
width: 90%;
margin-right: auto;
margin-left: auto;
}

/*2カラムの場合*/

.column02{
width: 90%;
display: block;
}

.column_main{
width: 90%;
margin-right: auto;
margin-left: auto;
display: block;
}

.column_sub{
width: 90%;
margin-right: auto;
margin-left: auto;
display: block;
padding-left: 0rem;
}



/*見出し*/

.sub h1{
width: 90%;
margin-right: auto;
margin-left: auto;
}


/*イメージ寄せ解除*/

.img_right{
float: none;
text-align: center;
margin-left: 0rem;
}

.img_left{
float: none;
text-align: center;
margin-right: 0rem;
}






}








