/*このファイルはラッパー、コンテナ、ヘッダー、フッターの共通設定（PC・スマホ）のみ*/

/*wrapper（表示部分全体の設定）*/
.wrapper{
  width: 100%;
  max-width: 1920px;
  margin: auto;
}

/*header*/
header{
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  display: flex;
  justify-content: space-between;
  color: #333;
  background-color: rgba(255, 255, 255, 0.8);
}

#logo{
  display: inline-block;
  position: fixed;
  top: 2%;
  left: 2%;
  z-index: 10;
  width: 15%;
}

#logo img{
  width: 100%;
}

#header-right{
  padding-right: 1em;
}

#nav-toggle {
  display: none;
}

#nav-menu ul{
  display: flex;
  justify-content: flex-end;
  line-height: 3em;
}

#nav-menu a{
  text-decoration:none;
  color: #333;
}

#nav-menu a:hover{
  color: #165e83;
}

#nav-menu li+li{
  padding-left: 5px;
}

#nav-menu li+li::before{
  content: " / ";
}

#sns{
  text-align: right;
}

#sns ul{
  display: flex;
  justify-content: flex-end;
  margin-top: 20px;
}

#sns li{
  padding-left: 5px;
}
#sns img{
  width: 20px;
}

#sns li{
  margin-left: 1em;
}
/*header　ここまで*/

/*contents（中身）　ここから*/
.contents{
  position: relative;
  padding-top: 6em;
  width: 100%;
  color: #333;
}
/*contents（中身）　ここまで*/

/*footer　ここから*/
footer{
  text-align: center;
  padding: 2em 0 1em;
}

#leadtxt{
  margin-bottom: 1em;
}

footer small{
  font-size: 0.8em;
}
/*footer　ここまで*/


/*これ以降はモバイル用の設定*/
@media screen and (max-width:640px){
  header{
    height: 5em;

  }

  #logo{
    width: 25%;
    margin: 2%;
  }

  #header-right{
    display: flex;
    justify-content: flex-end;
    padding-right: 4em;
    align-items: baseline;
  }

  #mobile-head {
    background: #fff;
    width: 100%;
    height: 56px;
    z-index: 999;
    position: relative;
  }

  #nav-menu {
   position: absolute;
   /* 開いてないときは画面外に配置 */
   top: -500px;
   right: 0;
   background: rgba(0,0,0,0.5);
   width: 30%;
   text-align: right;
   padding: 10px 0;
   transition: .5s ease-in-out;
  }

  #nav-menu ul {
   display: block;
   position: static;
   right: 0;
   bottom: 0;
   font-size: 14px;
   line-height: 2em;
  }

 #nav-menu ul li {
   display: block;
   position: static;
   padding-right: 2em;
  }

 #nav-menu ul li a{
   width: 100%;
   display: block;
   color: #fff;
   padding: 1em 0;
  }

 #nav-menu li+li::before{
   display: none;
  }

 /*ハンバーガーボタン*/
 #nav-toggle {
   display: block;
   position: absolute;
   top: 32px;
   right: -50px;
   width: 34px;
   height: 36px;
   cursor: pointer;
   z-index: 101;
  }

 #nav-toggle div {
   position: relative;
  }

 #nav-toggle span {
   display: block;
   position: absolute;
   height: 4px;
   width: 100%;
   background: #666;
   left: 0;
   transition: .35s ease-in-out;
  }

 #nav-toggle span:nth-child(1) {
   top: 0;
 }

 #nav-toggle span:nth-child(2) {
   top: 11px;
 }

 #nav-toggle span:nth-child(3) {
   top: 22px;
 }

 /* #nav-toggle 切り替えアニメーション */
 .open #nav-toggle span:nth-child(1) {
     top: 11px;
     transform: rotate(135deg);
 }

 .open #nav-toggle span:nth-child(2) {
     width: 0;
     left: 50%;
 }

 .open #nav-toggle span:nth-child(3) {
   top: 11px;
   transform: rotate(-135deg);
 }

 /* #global-nav スライドアニメーション */
 .open #nav-menu {
   transform: translateY(580px);
 }
}

/*これ以降は大画面（1920px～）用の設定*/
@media screen and (min-width:1920px){
  .wrapper{
    position: relative;
  }
  header{
    position: absolute;
    top: 0;
    left: 0;
    width: 1920px;
  }

  #logo{
    position: absolute;
    top: 30%;
    left: 2%;
  }

  .contents{
    padding-top: 12em;
  }
}
