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



.sa {
  opacity: 0;
  transition: all 1.2s ease;
}
 
.sa.show {
  opacity: 1;
  transform: none;
}

.sa--lr {
  transform: translate(-30px, 0);
}
 
.sa--rl {
  transform: translate(30px, 0);
}
 
.sa--up {
  transform: translate(0, 30px);
}
 
.sa--down {
  transform: translate(0, -30px);
}

.sa--scaleUp {
  transform: scale(0.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;
   }


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


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

.midashi_top {margin:100px auto 0 auto;
              text-align:center;
              font-weight: bold;}




.kage{   font-family:serif;
          display:flex;
          flex-direction:column;
          flex-wrap:wrap;
          justify-content:center;
          position:relative;

          height:530px;
          background: rgba(30,30,30,0.5);
         }

.midashi1{ width:50%;
           margin: 170px auto 0 auto;
           padding-bottom: 10px;
           text-align:center;
           border-bottom:1px solid #fff;
           color:#fff;
           font-size:30px;
           font-weight:bold;
           }

.midashi2{ margin-top: 10px;
           text-align:center;
           color:#fff;
           font-size:20px;
          }

.aatng{ margin-top: 5px;
         font-size:12px;
         text-align: center;}





@media screen and (max-width: 480px){
     .midashi1{ width:80%;
                padding-bottom: 10px;
                font-size:20px;
                border-bottom:1px solid;
               }

    .midashi2{ margin-top: 10px;
               font-size:20px;}

}








/*----- ブログ本文 ------*/

.midashi3 { margin: 200px 0px 0px 10px;
            }

.midashi4 { display:inline-block;
            padding: 10px 0 5px 10px;
            font-size: 25px;
            border-left:solid 5px  #192f60;
            }

.page1 { width:80%;
         margin: 100px auto 50px auto;
         line-height: 20px;
         }

.page2 { width:90%;
         margin:0px 20px;
         line-height: 20px;
         }


.fl:first-letter {font-size: 2em;
                  font-weight: bold;
                  color:#4c6cb3;
                  text-shadow : 1px 1px #fff;}

.kyocho { font-weight: bold;}


.page1_p { display:flex;
           flex-wrap:wrap;
           justify-content:center;
           max-width: 1000px;
           width: 100%;
           margin: 20px auto;
           }

.page1_v{ width:98%;
          margin: 100px auto 50px auto;}

.video { margin: 5px;}

video { margin: 5px;}

.douga { max-width:400px;
         width: 100%;
         max-height: 350px;
         height: 100%;
        }

.image {margin:5px;}

.image img{ max-width:400px;
            width: 100%;
            max-height: 310px;
            height: 100%;
            border-radius: 1px;
           }

@media screen and (max-width: 480px) {
     .image img{ max-width: 345px;
                 width : 100%;
                 height: 99%;
                 }
    }


/*---- ギャラリーへ戻るボタン　-----*/

.content0{ position: relative;
           width:100%;
           margin:100px auto 100px auto;

           display:flex;
           flex-wrap: wrap;
           jusitify-content: center;
           align-items: center;
           }

.content0 a{ display: block;
            padding: 5px 5px;
            margin:3px auto;
            width: 140px;
            background:  #192f60; 

            border:1px solid #fff;
            font-size: 0.6em;
            color: #fff;
            text-align: center;
            text-decoration: none;
            }


.content0 a:hover { color: #fff;
                   background:#e4007f;
                   transition:0.3s; 
                   }






/*** リンク ***/

.midashi5 { text-align: left;
            margin: 50px 0;}

.midashi6 { display:inline-block;
            padding: 0px 10px 28px 150px;

            height: 20px;
            font-size: 25px;
            border-bottom:solid 3px #192f60;
          }
@media screen and (max-width: 480px){
    .midashi6 { padding: 0px 20px 28px 50px;}
    }


.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;
}



