body {font-family: 'メイリオ',Meiryo,'Avenir','Helvetica Neue','Helvetica','Arial','Hiragino Sans','ヒラギノ角ゴシック',YuGothic,'Yu Gothic','ＭＳ Ｐゴシック','MS PGothic',Roboto,'Droid Sans'  
        }


.sa {
  opacity: 0;
  transition: all 0.5s ease;
}
 
.sa.show {
  opacity: 1;
  transform: none;
}

.sa--lr {
  transform: translate(-10px, 0);
}
 
.sa--rl {
  transform: translate(10px, 0);
}
 
.sa--up {
  transform: translate(0, 20px);
}
 
.sa--down {
  transform: translate(0, -20px);
}
 
.sa--scaleUp {
  transform: scale(.5);
}
 
.sa--scaleDown {
  transform: scale(1.5);
}
 
.sa--rotateL {
  transform: rotate(180deg);
}
 
.sa--rotateR {
  transform: rotate(-180deg);
}



/*---- ヘッダーの定義　----*/
header{position: fixed;
       left:0;
       width:100%;
       margin:-17px 0 0 0;  /*---- 上辺の余分な余白の除去　(top:-17px)----*/
       height:65px;
       background:#fff;
       z-index:1000;}

/*---- 全体の定義　----*/
body{max-width: 1100px;
     margin: 0 auto;}

/*---- タイトル　----*/
.titlebox {margin: 0;
           max-width: 170px;
           width: 100%;
           }

.title{ padding:10px 0 0 30px;
        }

.aono img{ width:150px;}


@media screen and (max-width: 480px){
.title{ padding:15px 0 0 10px;
        }
}



/* --- メニューバー ----------*/
.menu { position: fixed;
        top: 10px;
        right: 0px;
        max-width: 900px;
        width: 100%;
        height: 50px;
        list-style: none;
        line-height: 27px;
        z-index: 1000;
        margin: 0 10px;
        display:flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        }

.menu > li{
            width: 16%;  /*** ナビが５つの場合 ***/
            height: 50%;
           }

.menu > li a {color: #000;
              display: block;
              font-size: 0.9em;
              text-decoration: none;
              text-align: center;}

.menu > li a:hover{color: #fff;
                   transition: 0.1s;}

.menu > li.menu__single {
         position: relative;
        }

.menu__second-level {
    visibility: hidden;
    opacity: 0;
    list-style: none;
    }

.menu > li:hover{
    background: #192f60;
    -webkit-transition: all .5s;
    transition: all .5s;
    }

.menu__second-level li a:hover {
    background: rgba(25,47,96,1.0);
    }


li.menu__single ul.menu__second-level{
    position: absolute;
    top: 0px;
    width: 100%;
    background: rgba(25,47,96,0.5);
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
    }

li.menu__single:hover ul.menu__second-level{
    top: 25px;
    visibility: visible;
    opacity: 1;
    }

.twitter_symbol img{ width: 30px;
                      margin: 0px 10px 0 0;}


/*** 矢印 ***/
.init-bottom:after {
    content:'';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 0 0 15px;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    }



/* --- トップバーへの切り替え ----------*/

@media screen and (min-width: 480px){

.global-nav {display: none;}

} /******* メディアクエリのおわりカッコ ********/




/* --- ハンバーガーメニューへの切り替え ----------*/
@media screen and (max-width: 480px) {

.menu {display:none;}

/*--- ハンバーガーメニュー  ---*/

.header {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 60px;
  }

.twitter_symbol_mobile img{ position: fixed;
                            right: 50px;
                            top: 10px;
                            width: 30px;
                            margin: 0px 10px 0 0;
                            z-index: 200;
                            }

.global-nav {
  position: fixed;
  right: -320px; /* これで隠れる */
  top: 0;
  width: 300px; /* スマホに収まるくらい */
  height: 100vh;
  padding-top: 40px;
  background-color: rgba(25,47,96,0.5);
  transition: all .3s;
  z-index: 200;
  overflow-y: auto; /* メニューが多くなったらスクロールできるように */
  }

.hamburger {
  position: fixed;
  right: 18px;
  top: 8px;
  width: 30px; /* クリックしやすいようにちゃんと幅を指定する */
  height: 30px; /* クリックしやすいようにちゃんと高さを指定する */
  cursor: pointer;
  z-index: 300;
 }

.global-nav__list {
  margin: 0;
  padding: 0;
  list-style: none;
 }

.global-nav__item {
  text-align: center;
  padding: 0 14px;
 }

.global-nav__item p {background-color:#fff;}

.global-nav__item a {
  display: block;
  padding: 8px 0;
  text-decoration: none;
  color: #fff;
 }

.global-nav__item a:hover {
  color:#192f60;
  background-color: #eee;

 }

.hamburger__line {
  position: fixed;
  right: 21px;
  width: 25px;
  height: 2.5px;
  background-color: #192f60;
  transition: all .3s;
 }

.hamburger__line--1 {
  top: 17px;
 }

.hamburger__line--2 {
  top: 23px;
 }

.hamburger__line--3 {
  top: 29px;
 }

.black-bg {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: 100;
  background-color: rgba(25,47,96,0.2);
  opacity: 0;
  visibility: hidden;
  transition: all .3s;
  cursor: pointer;
 }

/* 表示された時用のCSS */
.nav-open .global-nav {
  right: 0;
 }

.nav-open .black-bg {
  opacity: .8;
  visibility: visible;
 }

.nav-open .hamburger__line{
  background-color: #fff;}

.nav-open .hamburger__line--1 {
  transform: rotate(45deg);
  top: 23px;
 }

.nav-open .hamburger__line--2 {
  width: 0;
  right: 25%;
 }

.nav-open .hamburger__line--3 {
  transform: rotate(-45deg);
  top: 23px;
 }

/*** ドロップダウン ***/

.acd-check{ display: none;}

.acd-label {
   background: rgba(25,47,96,1.0);
   color: #fff;
   display: block;
   margin-bottom: 1px;
   padding: 10px;
   position: relative;
  }

.contents {
   background: rgba(25,47,96,1.0);
   color: #fff;
   display: block;
   margin-bottom: 1px;
   padding: 10px;
   position: relative;
  }

.acd-label:after{
   background: rgba(255,255,255,0.7);
   box-sizing: border-box;
   content: '\ff0b';
   color: #000;
   display: block;
   height: 36px;
   padding:10px 20px;
   position: absolute;
   right: 0;
   top: 0px;
   }

.acd-content {
     display: block;
     height: 0;
     opacity: 0;
     transition: 0.3s;
     visibility: hidden;
     }

.acd-check:checked + .acd-label:after{
   content: '\ff0d';
   }

.acd-check:checked + .acd-label + .acd-content{
   height: auto;
   opacity: 1;
   visibility: visible;
   }


}/******* メディアクエリのおわりカッコ ********/



/*---見出し--*/

@keyframes LtoR {
          0% { opacity: 0;
               transform: translateX(-10px);
      }
        100% { opacity: 1;
               transform: translateX(0);
      }
   }

@keyframes RtoL {
          0% { opacity: 0;
               transform: translateX(20px);
      }
        100% { opacity: 1;
               transform: translateX(0);
      }
   }

.midashi0 { position: relative;
            margin-top:50px;}

.midashi_p { text-align: center;
            
             animation-name: LtoR;
             animation-duration: 0.7s;
            }

.midashi_p img{ width: 75%;
                height: auto;
                }

.midashi1{ position: absolute;
           bottom: 5%;
           left: 15%;
           color:rgba(255,255,255,0.7);
           font-size:12em;
           
           animation-name: RtoL;
           animation-duration: 0.7s;
           }

.midashi2 { position: relative;
            left:15%;
            display: inline-block;
            padding: 0 65px;
            color:rgba(25,47,96,1.0); 

            font-weight: bold;
            font-size: 2em;
            
            animation-name: RtoL;
            animation-duration: 0.7s;
            }

.midashi2:before {
           position: absolute;
           top: calc(50% - 3px);
           left: 0px;
           width:50px;
           height:6px;
           content: '';
           border-top: solid 1px rgba(25,47,96,1.0); 
           }


@media screen and (max-width: 480px) {

    .midashi1{ font-size:6em;
               left: 5%;
               }
    .midashi2{ font-size:1em;
               left: 5%;
               }
    .midashi_p img{ width: 98%;}
    }












/*----メインコンテンツ -----*/


.content0{ display:flex;
           flex-wrap:wrap;
          
           width:100%;
           margin:100px 0 200px 0;
           
           }

.content1 {display:flex;
           flex-wrap:wrap;
           justify-content:center;
           margin: 0 auto;
           width: 100%;
           position: relative;}

/*----紹介コンテンツ -----*/
 /*部隊名 */
.box1{ width:950px;
       position: relative;
       padding: 10px 10px;
       margin : 150px 5px 0 5px;
       background: #192f60;
       color: #fff;
       font-size: 2.0em;
       font-weight: bold;
       text-align: left;
       }

.subtitle{font-size: 18px;
          text-align: right;
          }

.box2{ width:900px;
       padding: 10px 15px;
       margin: 10px 5px 20px 5px;
       line-height: 25px;
       font-size: 1.2em;
       color:#202020;
       text-align: left;
       border-left: solid 10px #192f60;
       border-bottom: solid 1px #eee;
       }


.box3 { position: relative;
        margin: 2.5px;
        overflow: hidden;      
        max-width: 100%;
        width: 450px;
        height: 252px;

        justify-content:center; 
       }

.box3 img{ position: relative;
           top: 50%;
           left: 50%;
           transform: translate(-50%, -50%);
           width: 100%;
           height: auto;
           margin:0 auto;
          }

.name { position: absolute;
        top: 95%;
        left: 50%;
        transform: translate(-50%, -95%);
        margin: 0;
        padding: 0;
        color: #fff;
        text-align: center;
        font-size:1.2em;
        font-weight: bold;
        max-width: 450px;
        width: 100%;
        }


@media only screen and (max-width: 480px){

  .box1{ font-size: 1.5em;
         line-height: 25px;
         width:100%;
        }

  .subtitle{ line-height: 15px;}

  .box2{ font-size: 0.9em;
         line-height: 20px;
          width:100%;
         }
.box3 { height: 30vh;}
.name { top: 85%;
        left: 50%;
        transform: translate(-50%, -85%);
        font-size:1.0em;}
 

  .subtitle{ font-size: 15px; }

 }







/*** リンク ***/

.midashi5 { margin: 150px 20px 0px 20px;
           }

.midashi6 { position: relative;
            display: inline-block;
            padding: 0 65px;
            color:#192f60; 
            }

.midashi6:before {
           position: absolute;
           top: calc(50% - 3px);
           left: 2px;
           width:50px;
           height:6px;
           content: '';
           border-top: solid 1px #192f60; 
           }


.midashi7 { font-size:5.0em;
            font-weight: bold;
            color:rgba(25,47,96,0.5);}
@media screen and (max-width: 480px){
    .midashi7 { font-size:3.0em;}
    }



.llist0 { margin:0px auto 0 auto;
         position: relative;
         width:100%;
         height:400px;
         background-image: url("../h_link.jpg");
         background-size: cover;
         background-position:center;
         }

.llist1 {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background:linear-gradient(15deg,rgba(0,0,0,1.0),rgba(0,0,0,0.4),rgba(0,0,0,0));
         display:flex;
         flex-wrap-wrap;
        }

.llist1 a { text-decoration: none;
           color: #fff;
           }


.llist1 ul li {margin:10px 0;
              list-style: none;}

.llist1 ul li a{position: relative;
               display: inline-block;
               text-decoration: none;
               }

.llist1 ul li a:after{
       position: absolute;
       bottom: 0px;
       left: 0;
       content: '';
       width: 100%;
       height: 1px;
       background: #fff;
       transform: scale(0,1);
       transform-origin: left top;
       transition: transform 0.3s;
       }

.llist1 ul li a:hover:after{
       transform: scale(1,1);
       }

.llist2 { width: 100%;
          margin:10px;
          display:flex;
          flex-direction: column;
          justify-content:center;
          align-items:center;
          }

.lbox1{ display:flex;
        padding:10px;
        width:90%;
         }

.lbox2{ width:90%;
        margin:0 auto;}


@media screen and (max-width: 800px){

.page2 .page5
    { font-size: 18px;
      text-align: center;}

.llist0 { width:100%;
         height:300px;}

.llist1 ul { font-size:11px;}




}  /**** メディアクエリ終わり ****/





.btnlist { display: block;
           margin: 30px 0 0 20px;
          }

.btn {text-decoration:none;
  position     : relative;
  display      : inline;
  width        : 50px;  
  height       : 50px;
  margin       : 0 5px 10px 5px;
  cursor       : pointer;
  }

.btn:hover ,.btn2:hover {
  transform: scale(1.3);
  opacity      : .9;
  transition   : .1s;}


@media screen and (max-width: 800px){
.btnlist { margin:20px}
.btn{  width: 40px;  
        height: 40px;
        }

}  /**** メディアクエリ終わり ****/



@media screen and (max-width: 480px){
.klist { margin:0px;}
.llist1 { padding:5px;}
.llist2 { margin:20px;}

.lbox1{ padding:0px;
        justify-content:space-between;
        }

.btnlist { margin:10px 0px 10px 0px;
           }

}  /**** メディアクエリ終わり ****/




/*  フッター　　*/
/*---画像ボタン--*/

footer {width:100%;
        text-align:center;
        font-size:0.8em;
        padding-bottom:50px;}

footer div { padding:5px 0;
             }
footer div a { text-decoration: none;
               color:#192f60;
              } 
footer a:hover{ color: #e4007f;
                transition: 0.3s;
                }

.symbol img{ margin-top: 30px;
             width  : 100px;  
             height : auto;}

.symbol2 img{ margin-top: 30px;
             width  : 70px;  
             height : auto;}

.footerbar {margin-top: 100px;
            padding: 10px;
            border-top:1px solid #ccc;
           }





/*  スクロールバーのデザイン　　*/

::-webkit-scrollbar{
  width: 3px;
}
::-webkit-scrollbar-track{
  background: #fff;
  border: none;
  border-radius: 2px;
  box-shadow: inset -0.5px 0px 2px #ccc; 
}
::-webkit-scrollbar-thumb{
  background: #ccc;
  border-radius: 2px;
  box-shadow: none;
}



