@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Abel);

html body{
	      font-family: 'Noto Sans JP', sans-serif;
          font-family: 'Cabin', sans-serif;
           margin-top: 20px;
          overflow-x: hidden;
          }


body{
   margin: 0 auto; 
   min-height: 100vh; /* ←コンテンツの高さの最小値＝ブラウザの高さに指定 */
   position: relative;/* ←相対位置 */
   padding-bottom: 0px; /* ←フッターの高さを指定 */
   box-sizing: border-box;
   /* ↑ヘッダーやフッターを含むすべての要素の高さ＝min-height:100vhになるように指定 */
   overflow-x: hidden;
}

html{
  width:100%; /*ページ全体の幅は100%と指定する*/ 
  overflow-x: hidden;

}

header {
    position: fixed;
    width: 100%;
    background-color: #ffffff;
    z-index: 30;
    top: 0;
}

.fltImgL {
    float: left;
    margin: 0 20px 10px 0;
        margin-bottom: 10px;
 }

.fltImgR {
    float: right;
    margin: 0 0 10px 20px;
            margin-bottom: 10px;
}

br.clear {
    clear: both;
    line-height: 0px;
}

ol, ul {
    list-style: inside;
}


.box00 {
    margin-bottom: 48px;
    height: 100%;
} 


.jikan{
 line-height:150%;
}


h3 {
    color: #00145B;/*文字色*/
    /*線の種類（点線）2px 線色*/
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: bold;
    }


.hover-opacity50:hover{
opacity:0.5;
}


#wrap{ 
  width: 100%;	   /*全体の幅を指定する*/  
  margin: 0 auto;    /*マージンの指定をする、ブラウザ対策*/
}

.wrap02{ 
  width:: 1080px;     /*メインの幅を指定する*/  
  margin: 0 auto;    /*マージンの指定をする、ブラウザ対策*/
}

.center{
	text-align: center;
}

.center02{
  margin: 0 auto;
}

.center03{
  display: inline-block;
}

.center04{
  vertical-align: middle;
  display: inline-block;
}


.B{
    font-weight: bold;
}
  
.main{
    width:900px; 
    margin:0 auto;
}



.sample ul{
        display: flex;
        overflow-x: scroll;
        margin: 0;        
        padding: 0;
}

.sample li{
        min-width: 40%;
        margin: 10px;        
        padding: 0;
        list-style: none;
}

.w330 {
    width: 330px; 
}


/*影*/

.basic1 {
  box-shadow: 0 10px 15px 0 rgba(0, 0, 0, .5);
}



/*footer {
    background: #00145b;
    padding: 0 0 30px 0;
    text-align: center;
    position: absolute;
    bottom: 0;
   width: 100%;
}*/



footer.site-footer {
    padding-top: 200px;
    padding-bottom: 20px;
    background: url(../img/footerBk_PC.jpg) no-repeat top center;
    background-size: cover;
}


footer.site-footer .footer_info a {
    color: #FFFFFF;
    text-decoration: underline;
}

footer.site-footer .footer_link {
    font-size: 12px;
}

footer.site-footer .footer_igakubu {
    padding: 12px 0px;
    text-align: center;
}

footer.site-footer .site-info {
    font-size: 14px;
}

.footer_info{
    line-height: 180%;
}

.site-info{
    line-height: 180%;
}

.bottom {
    border-bottom: 1px solid #FFFFFF;
}

.top {
    border-top: 1px solid #FFFFFF;
}


.footer02 {
    background: #00145b;
    padding: 50px 0 30px 0;
    text-align: center;
}




.left{
	text-align: left;
}

.left02{
  text-align: left;
  display: inline-block;

}

.right{
	text-align: right;
}

.right02{
    width:1080px; 
    margin:0 auto;
    text-align: right;
}



/* 文字太さ */

.bold{
  font-weight: bold;
}

/* マージン */

.mb-3 {margin-bottom: -3px;}
.mb-5 {margin-bottom: -5px;}
.mb5 {margin-bottom: 5px;}
.mb15 {margin-bottom: 15px;}
.mb20 {margin-bottom: 20px;}
.mb25 {margin-bottom: 25px;}
.mb30 {margin-bottom: 30px;}
.mb35 {margin-bottom: 35px;}
.mb40 {margin-bottom: 40px;}
.mb45 {margin-bottom: 45px;}
.mb50 {margin-bottom: 50px;}
.mb55 {margin-bottom: 55px;}
.mb60 {margin-bottom: 60px;}
.mb65 {margin-bottom: 65px;}
.mb70 {margin-bottom: 70px;}
.mb75 {margin-bottom: 75px;}
.mb80 {margin-bottom: 80px;}
.mb85 {margin-bottom: 85px;}
.mb90 {margin-bottom: 90px;}
.mb95 {margin-bottom: 95px;}
.mb100 {margin-bottom: 100px;}
.mb105 {margin-bottom: 105px;}
.mb110 {margin-bottom: 110px;}
.mb115 {margin-bottom: 115px;}
.mb120 {margin-bottom: 120px;}
.mb125 {margin-bottom: 125px;}
.mb130 {margin-bottom: 130px;}
.mb135 {margin-bottom: 135px;}
.mb200 {margin-bottom: 200px;}
.mb250 {margin-bottom: 250px;}
.mb300 {margin-bottom: 300px;}

.mt5 {margin-top: 5px;}
.mt10 {margin-top: 10px;}
.mt15 {margin-top: 15px;}
.mt20 {margin-top: 20px;}
.mt25 {margin-top: 25px;}
.mt30 {margin-top: 30px;}
.mt35 {margin-top: 35px;}
.mt40 {margin-top: 40px;}
.mt45 {margin-top: 45px;}
.mt50 {margin-top: 50px;}
.mt55 {margin-top: 55px;}
.mt60 {margin-top: 60px;}
.mt65 {margin-top: 65px;}
.mt70 {margin-top: 70px;}
.mt75 {margin-top: 75px;}
.mt80 {margin-top: 80px;}
.mt85 {margin-top: 85px;}
.mt90 {margin-top: 90px;}
.mt95 {margin-top: 95px;}
.mt100 {margin-top: 100px;}
.mt110 {margin-top: 110px;}
.mt115 {margin-top: 115px;}
.mt120 {margin-top: 120px;}
.mt125 {margin-top: 125px;}
.mt130 {margin-top: 130px;}
.mt135 {margin-top: 135px;}
.mt140 {margin-top: 140px;}

.ml5 {margin-left: 5px;}
.ml10 {margin-left: 10px;}
.ml15 {margin-left: 15px;}
.ml20 {margin-left: 20px;}
.ml25 {margin-left: 25px;}
.ml30 {margin-left: 30px;}
.mt35 {margin-left: 35px;}
.ml40 {margin-left: 40px;}
.ml45 {margin-left: 45px;}
.ml50 {margin-left: 50px;}
.ml55 {margin-left: 55px;}
.ml60 {margin-left: 60px;}
.ml65 {margin-left: 65px;}
.ml70 {margin-left: 70px;}
.ml75 {margin-left: 75px;}
.ml80 {margin-left: 80px;}
.ml85 {margin-left: 85px;}
.ml90 {margin-left: 90px;}
.ml95 {margin-left: 95px;}
.ml150 {margin-left: 150px;}
.ml155 {margin-left: 155px;}
.ml160 {margin-left: 160px;}
.ml165 {margin-left: 165px;}
.ml170 {margin-left: 170px;}
.ml175 {margin-left: 175px;}
.ml180 {margin-left: 180px;}
.ml185 {margin-left: 185px;}
.ml190 {margin-left: 190px;}
.ml195 {margin-left: 195px;}
.ml200 {margin-left: 200px;}
.ml205 {margin-left: 205px;}
.ml210 {margin-left: 210px;}
.ml215 {margin-left: 215px;}
.ml220 {margin-left: 220px;}
.ml225 {margin-left: 225px;}
.ml230 {margin-left: 230px;}
.ml235 {margin-left: 235px;}
.ml240 {margin-left: 240px;}
.ml245 {margin-left: 245px;}
.ml250 {margin-left: 250px;}
.ml255 {margin-left: 255px;}

.mr5 {margin-right: 5px;}
.mr10 {margin-right: 10px;}
.mr15 {margin-right: 15px;}
.mr20 {margin-right: 20px;}
.mr25 {margin-right: 25px;}
.mr30 {margin-right: 30px;}
.mr35 {margin-right: 35px;}
.mr40 {margin-right: 40px;}
.mr45 {margin-right: 45px;}
.mr50 {margin-right: 50px;}
.mr55 {margin-right: 55px;}
.mr60 {margin-right: 60px;}
.mr65 {margin-right: 65px;}
.mr70 {margin-right: 70px;}
.mr75 {margin-right: 75px;}
.mr80 {margin-right: 80px;}
.mr85 {margin-right: 85px;}
.mr90 {margin-right: 90px;}
.mr95 {margin-right: 95px;}
.mr150 {margin-right: 150px;}
.mr155 {margin-right: 155px;}
.mr160 {margin-right: 160px;}
.mr165 {margin-right: 165px;}
.mr170 {margin-right: 170px;}
.mr175 {margin-right: 175px;}
.mr180 {margin-right: 180px;}
.mr185 {margin-right: 185px;}
.mr190 {margin-right: 190px;}
.mr195 {margin-right: 195px;}
.mr200 {margin-right: 200px;}
.mr205 {margin-right: 205px;}
.mr210 {margin-right: 210px;}
.mr215 {margin-right: 215px;}
.mr220 {margin-right: 220px;}
.mr225 {margin-right: 225px;}
.mr230 {margin-right: 230px;}
.mr235 {margin-right: 235px;}
.mr240 {margin-right: 240px;}
.mr245 {margin-right: 245px;}
.mr250 {margin-right: 250px;}
.mr255 {margin-right: 255px;}
.mr260 {margin-right: 260px;}
.mr265 {margin-right: 265px;}
.mr270 {margin-right: 270px;}
.mr275 {margin-right: 275px;}
.mr280 {margin-right: 280px;}


.pb10 {
    padding-bottom: 10px;
}

.pt135{padding-top: 135px;}



.m10 {margin: 10px;}
.m15 {margin: 15px;}
.m20 {margin: 20px;}
.m30 {margin: 30px;}

.w360 {width: 360px;}
.w720 {width: 720px;
       margin: auto;}


/* フレックスボックス */

.flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.flex02 {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
}

.indent {
    padding-left: 40px;
    text-indent: -40px;
    display: inline-block;

}


/* 文字サイズ */


.size11{
 font-size: 11px;
}

.size12{
 font-size: 12px;
  line-height:200%;
}

.size13{
 font-size: 13px;
  line-height:200%;
}

.size1305{
 font-size: 13.5px;
  line-height:200%;
}

.size1306{
 font-size: 13.6px;
  line-height:200%;
}

.size14{
 font-size: 14px;
  line-height:160%;
}


.size15{
 font-size: 15px;
  line-height:150%;
}

.size16{
 font-size: 16px;
line-height:150%;
}

.size17{
 font-size: 17px;
  line-height:250%;
}

.size1702{
 font-size: 17px;
  line-height:150%;
}

.size1703{
 font-size: 17px;
  line-height:100%;
}

.size18{
 font-size: 18px;
 line-height:200%;
}


.size1802{
 font-size: 18px;
 line-height:180%;
}

.size19{
 font-size: 19px;
 line-height:150%;
}

.size1902{
 font-size: 19px;
 line-height:200%;
}


.size20{
 font-size: 20px;
 line-height:150%;
}

.size2005{
 font-size: 20px;
 line-height:200%;
}

.size21{
 font-size: 21px;
 line-height:200%;
}

.size22{
 font-size: 22px;
 line-height:200%;
}

.size23{
 font-size: 23px;
}

.size2302{
 font-size: 23px;
  line-height:180%;
}

.size24{
 font-size: 24px;
 line-height: 100%;
}

.size2402{
 font-size: 24px;
 line-height: 200%;
}

.size25{
 font-size: 25px;
 line-height: 180%;
}

.size28{
 font-size: 28px;
 line-height: 100%;
}


.size2802{
 font-size: 28px;
 line-height: 200%;
}

.size29{
 font-size: 29px;
 line-height: 100%;
}


.size30{
 font-size: 30px;
 line-height: 100%;
}

.size3002{
 font-size: 30px;
 line-height: 150%;
}

.size3003{
 font-size: 30px;
 line-height: 200%;
}

.size31{
 font-size: 31px;
 line-height: 100%;
}


.size32{
 font-size: 32px;
 line-height: 100%;
}


.size33{
 font-size: 33px;
 line-height: 100%;
}


.size34{
 font-size: 34px;
 line-height: 100%;
}





/* 色設定 */

.red {
  color: red;
}

.green {
  color: #4CB52A;
}

.d_green {
  color: #606060;
}      

.bg_c {
    background-color: #F0FBFF; 
    padding-top:10px;  
    padding-bottom:10px;
} 


/* テーブル */

table{
    border: 1px solid  #000000;
}
thead th{
    border: 1px solid  #000000;
}
tbody td{
    border: 1px solid  #000000;
}


td {
  vertical-align:top;
}


/* 上に戻るボタン */
.pagetop {
    color: #fff;
    background-color: rgba(0,0,0,0.3);
    text-decoration: none;
    display: none;
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    font-size: 1.5rem;
    width: 3.3rem;
    height: 3.3rem;
    line-height: 3.3rem;
    border-radius: 3.3rem;
    text-align: center;
    cursor: pointer;
}

.pagetop:hover {
    color: #fff !important;
    background-color: #00145B;
    text-decoration: none;
}



/* ハンバーガーボタン */
.hamburger {
  display : block;
  position: fixed;
  z-index : 40;
  right : 22px;
  top   : 22px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
  
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #00145B;
  -webkit-transition: 0.5s all;
  -moz-transition   : 0.5s all;
  transition        : 0.5s all;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* ナビ開いてる時のボタン */

.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  width: 24px;
    background : #fff;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}
.hamburger.active span:nth-child(2) {
  left: 60%;
  opacity: 0;
  -webkit-animation: active-btn17-bar02 .8s forwards;
  animation: active-hamburger-bar02 .8s forwards;
}
@-webkit-keyframes active-hamburger-bar02 {
  100% {
    height: 0;
  }
}
@keyframes active-hamburger-bar02 {
  100% {
    height: 0;
  }
}
.hamburger.active span:nth-child(3) {
  top: 16px;
  width: 24px;
  background : #fff;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}


.hamburger::after {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  content: '';
  width: 52px;
  height: 52px;
  margin: -32px 0 0 -32px;
  border-radius: 50%;
  margin: -32px 0 0 -32px;
  border: 2px solid rgba(0, 0, 0, 0);
  transition: all .75s;
}
.hamburger.active::after {
  border: 2px solid #fff;
}

nav.globalMenuSp {
  position: fixed;
  z-index : 35;
  top  : 0;
  left : 0;
  color: #fff;
  /*background: rgba(0,0,0,0.7);*/
  background: rgba(0,64,160,0.8);
  text-align: center;
  width: 100%;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease;
  visibility: hidden;
}

nav.globalMenuSp ul {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
  padding: 1em 0;
  text-decoration :none;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  opacity: 100;
  visibility: visible;

}


/*見出し枠*/

.box003 {
    padding: 1em 1em;
    margin: 0 0 2em 0;
    color: #ffffff;
    font-size: 20px;
    font-weight: bold;
    line-height:150%;
    background: #0040a0;
}
.box003 p {
    margin: 0; 
    padding: 0;
}


.box004{
    font-size: 25px;
    font-weight: bold;
    line-height:150%;
    margin: 2em 0;
    border-top: 3px solid #00145B;
    border-bottom: 3px solid #00145B;
    color:  #00145B;
    padding: 1em 1em;
}

/*ボタン*/

.button03 a {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 1em 2em;
  width: 350px;
  color: #ffffff;
  font-size: 18px;
  background-color: #00145B;
}

.button03 a::after {
  content: '';
  width: 5px;
  height: 5px;
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
  transform: rotate(45deg);
}

.button03 a:hover {
  color: #ffffff;
  text-decoration: none;
  background-color: #00a8e0;
}

.button03 a:hover::after {
  border-top: 3px solid #ffffff;
  border-right: 3px solid #ffffff;
}




.button04 a {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    padding: 1em 2em;
    width: 350px;
    color: #00145B;
    font-size: 18px;
    border: 2px solid #00145B;
    line-height:150%;
}


.button04 a::after {
  content: '';
  width: 5px;
  height: 5px;
  border-top: 2px solid #00145B;
  border-right: 2px solid #00145B;
  transform: rotate(135deg);
}

.button04 a:hover {
  color: #ffffff;
  text-decoration: none;
  background-color: #00a8e0;
}

.button04 a:hover::after {
  border-top: 3px solid #ffffff;
  border-right: 3px solid #ffffff;
}


/* レスポンシブ */



@media screen and (min-width: 769px) {
/*PC*/
.sp_navi {
  display:none;}

}


@media screen and (max-width: 768px) {
/*スマホ*/
.pc_navi { 
  display:none;}

video {
    width: 100%;
}


img{
    width: 100%;
}


.main{
    margin: 0 15px 0 15px;
    width: auto;
}

.index {
     width: 100%; 
    margin:0 auto;
}


.flex03 {
    width:100%; 
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-start;
}

.right02{
    width:100%; 
    margin:0 auto;
    text-align: right;
}

.box-s {
    padding: 0px 0px;
    margin-bottom: 48px;
    height: 200px;
    overflow-y: scroll;
}
.size1802 {
    font-size: 18px;
    line-height: 150%;
}

html body{
          font-family: 'Noto Sans JP', sans-serif;
          font-family: 'Cabin', sans-serif;
          margin-top: 20px;
          overflow-x: hidden;
}

.size18{
 font-size: 18px;
 line-height:200%;
}



.fltImgL {
    float: left;
    margin: 0 0 10px 0;
    margin-bottom: 10px;
}

.button03 a {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 1em 2em;
  color: #ffffff;
  font-size: 18px;
  background-color: #00145B;
  width: auto;
}


/*footer {
    background: #00145b;
    padding: 0;
    text-align: center;
    position: absolute;
    bottom: 0;
    width: 100%;
}*/

.bg_c {
    background-color: #F0FBFF;
    padding-top: 0px;
    padding-bottom: 10px;
}

footer.site-footer {
    margin-top: -5px;
    padding-top: 40px;
    background: #CCC url(../img/footerBk_SP.jpg) no-repeat top center;
    background-size: cover;
    color: #FFF;
}


}


