@charset "utf-8";

/*===========================================================*/
/* 背景色が伸びる（左から右）　 */
/*===========================================================*/

/*========= ローディング画面のためのCSS ===============*/
#splash {
  position: fixed;
  z-index: 9999999;

  width: 100%;
  height: 100%;

  text-align: center;

  color: #fff;
  background: #000;
}

#splash-logo {
  position: absolute;
  top: 50%;
  left: 50%;

  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/*========= 画面遷移のためのCSS ===============*/

/*画面遷移アニメーション*/

.splashbg {
  display: none;
}

body.appear .splashbg {
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;

  display: block;

  width: 100%;
  height: 100vh;

  content: "";
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-animation-name: PageAnime;
  animation-name: PageAnime;
  -webkit-animation-duration: 0.8s;
  animation-duration: 0.8s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;

  background-color: #960021; /*伸びる背景色の設定*/

  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

@-webkit-keyframes PageAnime {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left;
    transform-origin: left;
  }
  50% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left;
    transform-origin: left;
  }
  50.001% {
    -webkit-transform-origin: right;
    transform-origin: right;
  }
  100% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right;
    transform-origin: right;
  }
}

@keyframes PageAnime {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left;
    transform-origin: left;
  }
  50% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left;
    transform-origin: left;
  }
  50.001% {
    -webkit-transform-origin: right;
    transform-origin: right;
  }
  100% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right;
    transform-origin: right;
  }
}

/*画面遷移の後現れるコンテンツ設定*/
#container {
  opacity: 0; /*はじめは透過0に*/
}

/*bodyにappearクラスがついたら出現*/
body.appear #container {
  -webkit-animation-name: PageAnimeAppear;
  animation-name: PageAnimeAppear;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;

  opacity: 0;

  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

@-webkit-keyframes PageAnimeAppear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes PageAnimeAppear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*===========================================================*/
/* ドロップダウンメニュー（上） */
/*===========================================================*/

/*========= ナビゲーションドロップダウンのためのCSS ===============*/

/*ナビゲーションを横並びに*/
nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  list-style: none;

  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
/*2階層目以降は横並びにしない*/
nav ul ul {
  display: block;
}

/*下の階層のulや矢印の基点にするためliにrelativeを指定*/
nav ul li {
  position: relative;
}

/*ナビゲーションのリンク設定*/
nav ul li a {
  display: block;

  padding: 20px 35px;

  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  text-decoration: none;

  color: #eee;
}

nav ul li li a {
  padding: 10px 35px;
}

@media screen and (max-width: 1200px) {
  nav ul li a {
    padding: 20px;
  }
  nav ul li li a {
    padding: 10px 20px;
  }
}

nav ul li a:hover {
  color: #fff;
}

/*==矢印の設定*/

/*2階層目を持つliの矢印の設定*/
nav ul li.has-child::before {
  position: absolute;
  top: 30px;
  left: 15px;

  width: 6px;
  height: 6px;

  content: "";
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);

  border-top: 2px solid #eee;
  border-right: 2px solid #eee;
}

@media screen and (max-width: 1200px) {
  nav ul li.has-child::before {
    left: 0;
  }
}

/*== 2・3階層目の共通設定 */

/*下の階層を持っているulの指定*/
nav li.has-child ul {
  /*絶対配置で位置を指定*/
  position: absolute;
  z-index: 4;
  top: 62px;
  left: 0;
  /*はじめは非表示*/

  visibility: hidden;

  width: 180px;
  /*アニメーション設定*/

  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;

  opacity: 0;
  /*形状を指定*/
  background: rgba(255, 255, 255, 0.2);
}

/*hoverしたら表示*/
nav li.has-child:hover > ul,
nav li.has-child ul li:hover > ul,
nav li.has-child:active > ul,
nav li.has-child ul li:active > ul {
  visibility: visible;

  opacity: 1;
}

/*ナビゲーションaタグの形状*/
nav li.has-child ul li a {
  color: #fff;
  border-bottom: solid 1px rgba(255, 255, 255, 0.4);
}

nav li.has-child ul li:last-child a {
  border-bottom: none;
}

nav li.has-child ul li a:hover,
nav li.has-child ul li a:active {
  background: rgba(255, 255, 255, 0.2);
}

/*==960px以下の形状*/

@media screen and (max-width: 960px) {
  nav {
    padding: 0;
  }

  nav ul {
    display: block;
  }

  nav ul li a {
    border-bottom: 1px solid #ccc;
  }

  /*矢印の位置と向き*/

  nav ul li.has-child::before {
    left: 20px;
  }

  nav ul ul li.has-child::before {
    left: 20px;

    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
  }

  nav ul li.has-child.active::before {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
}

/*===========================================================*/
/* スクロール途中から上部固定 */
/*===========================================================*/

#header {
  position: fixed; /*fixedを設定して固定*/
  z-index: 999; /*最前面へ*/
  /*以下はレイアウトのためのCSS*/

  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  width: 100%; /*横幅指定*/
  height: 70px; /*高さ指定*/
  padding: 20px 100px 20px 0;

  text-align: center;

  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

/*==ふわっと出現させるためのCSS*/

/*　上に上がる動き　*/

#header.UpMove {
  position: fixed;

  width: 100%;

  -webkit-animation: UpAnime 0.5s forwards;
  animation: UpAnime 0.5s forwards;
}

@-webkit-keyframes UpAnime {
  from {
    -webkit-transform: translateY(0);
    transform: translateY(0);

    opacity: 1;
  }
  to {
    -webkit-transform: translateY(-100px);
    transform: translateY(-100px);

    opacity: 0;
  }
}

@keyframes UpAnime {
  from {
    -webkit-transform: translateY(0);
    transform: translateY(0);

    opacity: 1;
  }
  to {
    -webkit-transform: translateY(-100px);
    transform: translateY(-100px);

    opacity: 0;
  }
}

/*　下に下がる動き　*/

#header.DownMove {
  position: fixed;

  width: 100%;

  -webkit-animation: DownAnime 0.5s forwards;
  animation: DownAnime 0.5s forwards;
}
@-webkit-keyframes DownAnime {
  from {
    -webkit-transform: translateY(-100px);
    transform: translateY(-100px);

    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);

    opacity: 1;
  }
}
@keyframes DownAnime {
  from {
    -webkit-transform: translateY(-100px);
    transform: translateY(-100px);

    opacity: 0;
  }
  to {
    -webkit-transform: translateY(0);
    transform: translateY(0);

    opacity: 1;
  }
}

@media screen and (max-width: 960px) {
  #header,
  #header.UpMove,
  #header.DownMove {
    display: block;

    height: auto;
    padding: 0;

    -webkit-animation: none;
    animation: none;
  }
}

/*==================================================
 クリックしたらナビが上から下に出現
===================================*/

@media screen and (max-width: 960px) {
  #g-nav {
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position: fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
    top: -120%;
    left: 0;

    width: 100%;
    height: 100vh; /*ナビの高さ*/
    /*動き*/

    -webkit-transition: all 0.6s;
    -o-transition: all 0.6s;
    transition: all 0.6s;

    background: rgba(0, 0, 0, 0.8);
  }

  /*アクティブクラスがついたら位置を0に*/
  #g-nav.panelactive {
    top: 0;
  }

  /*ナビゲーションの縦スクロール*/
  #g-nav.panelactive #g-nav-list {
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999;

    overflow: auto;

    width: 100%;
    height: 100vh; /*表示する高さ*/

    -webkit-overflow-scrolling: touch;
  }

  /*ナビゲーション*/
  #g-nav ul {
    /*ナビゲーション天地中央揃え*/
    width: 90%;
    margin: 100px auto 0 auto;
  }

  #g-nav ul ul {
    width: 100%;
    margin: 0;
  }

  /*プルダウンナビのCSS*/
  #g-nav ul li.has-child ul {
    position: relative;
    top: 0;
    left: 0;

    display: none; /*JSのslidetoggleで表示させるため非表示に*/
    visibility: visible; /*JSで制御するため一旦表示*/

    width: 100%;

    -webkit-transition: none;
    -o-transition: none;
    transition: none; /*JSで制御するためCSSのアニメーションを切る*/
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;

    opacity: 1; /*JSで制御するため一旦表示*/
  }

  /*リストのレイアウト設定*/

  #g-nav li {
    list-style: none;

    text-align: center;
  }

  #g-nav li a {
    font-weight: bold;

    display: block;

    padding: 10px;

    text-decoration: none;
    letter-spacing: 0.1em;
    text-transform: uppercase;

    color: #aaa;
  }
}

/*==================================================
 3本線が奥行きを持って回転して×に
===================================*/

.g-nav-openbtn {
  display: none;
}

@media screen and (max-width: 960px) {
  .g-nav-openbtn {
    position: fixed;
    z-index: 9999; /*ボタンを最前面に*/
    top: 10px;
    right: 70px;

    display: block;

    width: 50px;
    height: 50px;

    cursor: pointer;
  }

  /*ボタン内側*/

  .g-nav-openbtn .openbtn-area {
    -webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
  }

  .g-nav-openbtn span {
    position: absolute;
    left: 14px;

    display: inline-block;

    width: 45%;
    height: 3px;

    -webkit-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s; /*アニメーションの設定*/

    border-radius: 2px;
    background: #fff;
  }

  .g-nav-openbtn span:nth-of-type(1) {
    top: 15px;
  }

  .g-nav-openbtn span:nth-of-type(2) {
    top: 23px;
  }

  .g-nav-openbtn span:nth-of-type(3) {
    top: 31px;
  }

  /*activeクラスが付与されると
線と周りのエリアが回転して×になる*/

  .g-nav-openbtn.active .openbtn-area {
    -webkit-transform: rotateY(-360deg);
    transform: rotateY(-360deg);
  }

  .g-nav-openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;

    width: 30%;

    -webkit-transform: translateY(6px) rotate(-135deg);
    -ms-transform: translateY(6px) rotate(-135deg);
    transform: translateY(6px) rotate(-135deg);
  }

  .g-nav-openbtn.active span:nth-of-type(2) {
    opacity: 0;
  }

  .g-nav-openbtn.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;

    width: 30%;

    -webkit-transform: translateY(-6px) rotate(135deg);
    -ms-transform: translateY(-6px) rotate(135deg);
    transform: translateY(-6px) rotate(135deg);
  }
}

/*==================================================
 左から右に線が伸びる（下部）
===================================*/
.nav01c li a {
  /*線の基点とするためrelativeを指定*/
  position: relative;
}

.nav01c li.current a,
.nav01c li a:hover {
  color: #eee;
}

.nav01c li a::after {
  /*絶対配置で線の位置を決める*/
  position: absolute;
  bottom: 16px;
  left: 25%;
  /*線の形状*/

  width: 50%;
  height: 1px;

  content: "";
  /*アニメーションの指定*/
  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: scale(0, 1);
  -ms-transform: scale(0, 1);
  transform: scale(0, 1); /*X方向0、Y方向1*/
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top; /*左上基点*/

  background: #eee;
}

.nav01c li li a::after {
  display: none;
}

/*現在地とhoverの設定*/
.nav01c li.current a::after,
.nav01c li a:hover::after {
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1); /*X方向にスケール拡大*/
}
@media screen and (max-width: 960px) {
  .nav01c li a::after {
    display: none;
  }
}

/*==================================================
 縦線が動いてスクロールを促す
===================================*/

/*スクロールダウン全体の場所*/
.scrolldown1 {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  right: 40px;
  bottom: 3%;
  /*全体の高さ*/

  height: 50px;
}

/*Scrollテキストの描写*/
.scrolldown1 span {
  font-size: 0.7rem;
  /*描画位置*/

  position: absolute;
  top: -15px;
  left: -15px;

  letter-spacing: 0.05em;
  /*テキストの形状*/

  color: #eee;
}

/* 線の描写 */
.scrolldown1::after {
  /*描画位置*/
  position: absolute;
  top: 0;
  /*線の形状*/

  width: 1px;
  height: 30px;

  content: "";
  /*線の動き1.4秒かけて動く。永遠にループ*/
  -webkit-animation: pathmove 1.4s ease-in-out infinite;
  animation: pathmove 1.4s ease-in-out infinite;

  opacity: 0;
  background: #eee;
}

/*高さ・位置・透過が変化して線が上から下に動く*/
@-webkit-keyframes pathmove {
  0% {
    top: 0;

    height: 0;

    opacity: 0;
  }
  30% {
    height: 30px;

    opacity: 1;
  }
  100% {
    top: 50px;

    height: 0;

    opacity: 0;
  }
}
@keyframes pathmove {
  0% {
    top: 0;

    height: 0;

    opacity: 0;
  }
  30% {
    height: 30px;

    opacity: 1;
  }
  100% {
    top: 50px;

    height: 0;

    opacity: 0;
  }
}

/*==================================================
 少し出ていた線が伸びる
===================================*/

.btnlinestretches2 {
  /*線の基点とするためrelativeを指定*/
  position: relative;

  display: inline-block;

  padding: 5px 40px;

  text-decoration: none;
  /*ボタンの形状*/

  color: #eee;
  outline: none;
}

/*線の設定*/
.btnlinestretches2::before,
.btnlinestretches2::after {
  /*絶対配置で線の位置を決める*/
  position: absolute;

  width: 10px;
  height: 10px;

  content: "";
  /*アニメーションの指定*/
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  /*事前に出現させる線の形状*/

  border: solid #eee;
}

.btnlinestretches2::before {
  /*事前に出現させる線の位置*/
  top: 0;
  left: 0;
  /*事前に出現させる線の形状*/

  border-width: 1px 0 0 1px;
}

.btnlinestretches2::after {
  right: 0;
  /*事前に出現させる線の位置*/
  bottom: 0;
  /*事前に出現させる線の形状*/

  border-width: 0 1px 1px 0;
}

/*hoverした際の線の形状*/
.btnlinestretches2:hover::before,
.btnlinestretches2:hover::after {
  width: calc(100% - 2px);
  height: calc(100% - 2px);

  border-color: #eee;
}

/*==================================================
 ページの指定の範囲内で出現（下から上)
===================================*/

/*リンクの形状*/
#page-top a {
  font-size: 0.6rem;

  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  width: 50px;
  height: 50px;

  -webkit-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;

  color: #fff;
  border: 1px solid #adadad;

  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

#page-top a:hover {
  background: #777;
}

/*リンクを右下に固定*/
#page-top {
  position: fixed;
  z-index: 2;
  right: 10px;
  bottom: 10px;

  -webkit-transform: translateX(100px);
  -ms-transform: translateX(100px);
  transform: translateX(100px);
  /*はじめは非表示*/

  opacity: 0;
}

#page-top span {
  display: inline-block;

  width: 13px;
  height: 13px;
  margin: 8px 0 0 0;

  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);

  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
}

/*　左の動き　*/

#page-top.LeftMove {
  -webkit-animation: LeftAnime 0.5s forwards;
  animation: LeftAnime 0.5s forwards;
}

@-webkit-keyframes LeftAnime {
  from {
    -webkit-transform: translateX(100px);
    transform: translateX(100px);

    opacity: 0;
  }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);

    opacity: 1;
  }
}

@keyframes LeftAnime {
  from {
    -webkit-transform: translateX(100px);
    transform: translateX(100px);

    opacity: 0;
  }
  to {
    -webkit-transform: translateX(0);
    transform: translateX(0);

    opacity: 1;
  }
}

/*　右の動き　*/

#page-top.RightMove {
  -webkit-animation: RightAnime 0.5s forwards;
  animation: RightAnime 0.5s forwards;
}
@-webkit-keyframes RightAnime {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);

    opacity: 1;
  }
  to {
    -webkit-transform: translateX(100px);
    transform: translateX(100px);

    opacity: 1;
  }
}
@keyframes RightAnime {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);

    opacity: 1;
  }
  to {
    -webkit-transform: translateX(100px);
    transform: translateX(100px);

    opacity: 1;
  }
}

/*==================================================
/* 5-4-1タブメニュー*/
/*===================================*/

/*tabの形状*/
.tab-area {
  width: 70%;
}

.tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.tab li {
  text-align: center;
  white-space: nowrap;
}

.tab li a {
  display: block;

  padding: 8px 30px;

  border-top: transparent 1px solid;
  border-right: #000 1px solid;
  border-left: transparent 1px solid;
  background: #333;
}

@media screen and (max-width: 400px) {
  .tab li a {
    padding: 8px 20px;
  }
}

/*liにactiveクラスがついた時の形状*/
.tab li.active a {
  border-color: #aaa;
  border-top: #aaa 1px solid;
  background: #000;
}

/*エリアの表示非表示と形状*/
.area {
  display: none; /*はじめは非表示*/

  padding: 20px 40px;

  opacity: 0; /*透過0*/
}

/*areaにis-activeというクラスがついた時の形状*/
.area.is-active {
  display: block; /*表示*/

  -webkit-animation-name: displayAnime;
  animation-name: displayAnime; /*ふわっと表示させるためのアニメーション*/
  -webkit-animation-duration: 2s;
  animation-duration: 2s;

  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

@-webkit-keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/*===========================================================*/
/* 6-1-4 動きを組み合わせて全画面で見せる */
/*===========================================================*/
#slider {
  width: 100%;
  height: 91vh; /*スライダー全体の縦幅を91vhにする*/
}

/*==================================================
 複数の画像を一覧で見せる
===================================*/
.gallery {
  padding: 0 15px; /*ギャラリー左右に余白をつける*/

  -webkit-columns: 4;
  -moz-columns: 4;
  columns: 4; /*段組みの数*/
}

.gallery li {
  margin-bottom: 20px; /*各画像下に余白をつける*/
}

/*ギャラリー内のイメージは横幅100%にする*/
.gallery img {
  width: 100%;
  height: auto;

  vertical-align: bottom; /*画像の下にできる余白を削除*/
}

@media only screen and (max-width: 600px) {
  .gallery {
    -webkit-columns: 2;
    -moz-columns: 2;
    columns: 2;
  }
}

/*===========================================================*/
/* 虫眼鏡マークをクリックすると全画面表示で検索窓が出現 */
/*===========================================================*/

/*========= 検索窓を開くための虫眼鏡ボタン設定 ===========*/

.open-btn {
  position: absolute;
  z-index: 999;
  top: 10px;
  right: 10px;

  width: 50px;
  height: 50px;

  cursor: pointer;

  background: url("../img/icon_search.svg") no-repeat 15px center; /*虫眼鏡アイコンを背景に表示*/
  background-size: 20px 20px;
}

/*========= 検索窓の設定 ===============*/

/*==検索窓背景のエリア*/

#search-wrap {
  position: fixed; /*固定配置にして*/
  z-index: -1; /*最背面に設定*/
  top: 0;
  left: 0;

  width: 100%;
  height: 100vh;

  -webkit-transition: all 0.4s;
  -o-transition: all 0.4s;
  transition: all 0.4s; /*transitionを使ってスムースに現れる*/

  opacity: 0; /*透過を0に*/
}

/*ボタンクリック後、JSで#search-wrapに panelactive クラスが付与された後の見た目*/
#search-wrap.panelactive {
  z-index: 9999; /*全面に出現*/
  /*中の要素を天地中央揃えにする設定*/

  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  opacity: 1; /*不透明に変更*/
  background: #222;

  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

/*==検索窓のエリア*/

#search-wrap .search-area {
  display: none; /*検索窓のエリアは、はじめ非表示*/
}

/*ボタンクリック後、JSで#search-wrapに panelactive クラスが付与された後*/
#search-wrap.panelactive .search-area {
  position: relative;

  display: block; /*検索窓エリアを表示*/

  width: 80%;
}

/*==検索フォームの設定*/

#search-wrap form {
  position: relative;

  height: 66px;
}

/*==テキスト入力とボタンinput共通設定*/
#search-wrap input {
  cursor: pointer; /*カーソルを指マークに*/

  color: #fff;
  outline: none;

  -webkit-appearance: none; /*SafariやChromeのデフォルトの設定を無効*/
}

/*テキスト入力input設定*/
#search-wrap input[type="text"] {
  width: 100%;
  padding: 20px;

  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  letter-spacing: 0.05em;

  border: none;
  border-bottom: 2px solid #666;
}

#search-wrap input[type="text"]:focus {
  background: #444;
}

/*ボタンinput設定*/
#search-wrap input[type="submit"] {
  position: absolute;
  top: 0;
  right: 10px;

  width: 60px;
  height: 60px;

  background: url("../img/icon_search.svg") no-repeat 15px center; /*虫眼鏡アイコンを背景に表示*/
  background-size: 25px 25px;
}

/*=======　閉じるための×ボタン　========*/
.close-btn {
  position: absolute;
  z-index: 2;
  top: 10px;
  right: 10px;

  width: 60px;
  height: 60px;

  cursor: pointer;
}

.close-btn span {
  position: absolute;
  left: 14px;

  display: inline-block;

  height: 3px;

  border-radius: 2px;
  background-color: #fff;
}

/*×マーク*/
.close-btn span:nth-of-type(1) {
  top: 21px;
  left: 16px;

  width: 50%;

  -webkit-transform: translateY(6px) rotate(-135deg);
  -ms-transform: translateY(6px) rotate(-135deg);
  transform: translateY(6px) rotate(-135deg);
}

.close-btn span:nth-of-type(2) {
  top: 32px;
  left: 16px;

  width: 50%;

  -webkit-transform: translateY(-6px) rotate(135deg);
  -ms-transform: translateY(-6px) rotate(135deg);
  transform: translateY(-6px) rotate(135deg);
}

/*==================================================
 最低限おぼえておきたい動き
===================================*/

/* 背景色が伸びて出現（左から・右から）　*/
.bgextend {
  position: relative;

  overflow: hidden; /*　はみ出た色要素を隠す　*/

  -webkit-animation-name: bgextendAnimeBase;
  animation-name: bgextendAnimeBase;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;

  opacity: 0;

  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

@-webkit-keyframes bgextendAnimeBase {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes bgextendAnimeBase {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/*中の要素*/
.bgappear {
  -webkit-animation-name: bgextendAnimeSecond;
  animation-name: bgextendAnimeSecond;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;

  opacity: 0;

  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

@-webkit-keyframes bgextendAnimeSecond {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes bgextendAnimeSecond {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* 背景色が伸びて出現（左から）*/
.bgLRextend::before {
  position: absolute;

  width: 100%;
  height: 100%;

  content: "";
  -webkit-animation-name: bgLRextendAnime;
  animation-name: bgLRextendAnime;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;

  background-color: #111; /*伸びる背景色の設定*/

  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
@-webkit-keyframes bgLRextendAnime {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left;
    transform-origin: left;
  }
  50% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left;
    transform-origin: left;
  }
  50.001% {
    -webkit-transform-origin: right;
    transform-origin: right;
  }
  100% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right;
    transform-origin: right;
  }
}
@keyframes bgLRextendAnime {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left;
    transform-origin: left;
  }
  50% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left;
    transform-origin: left;
  }
  50.001% {
    -webkit-transform-origin: right;
    transform-origin: right;
  }
  100% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right;
    transform-origin: right;
  }
}

/* 背景色が伸びて出現（右から）*/
.bgRLextend::before {
  position: absolute;

  width: 100%;
  height: 100%;

  content: "";
  -webkit-animation-name: bgRLextendAnime;
  animation-name: bgRLextendAnime;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;

  background-color: #111; /*伸びる背景色の設定*/

  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
@-webkit-keyframes bgRLextendAnime {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right;
    transform-origin: right;
  }
  50% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: right;
    transform-origin: right;
  }
  50.001% {
    -webkit-transform-origin: left;
    transform-origin: left;
  }
  100% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left;
    transform-origin: left;
  }
}
@keyframes bgRLextendAnime {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right;
    transform-origin: right;
  }
  50% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: right;
    transform-origin: right;
  }
  50.001% {
    -webkit-transform-origin: left;
    transform-origin: left;
  }
  100% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left;
    transform-origin: left;
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
.bgappearTrigger,
.bgUDextendTrigger,
.bgDUextendTrigger,
.bgRLextendTrigger,
.bgLRextendTrigger {
  opacity: 0;
}

/*==================================================
 7 画像リンクの動き
===================================*/

/* 画像が拡大＋回転　*/

.zoomInRotate {
  /*opacityとtransformがかけあわさると生じる表示バグの回避*/
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.zoomInRotate img {
  -webkit-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; /*移り変わる速さを変更したい場合はこの数値を変更*/
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.zoomInRotate a:hover img {
  /*hoverした時の変化*/
  -webkit-transform: rotate(5deg) scale(1.2);
  -ms-transform: rotate(5deg) scale(1.2);
  transform: rotate(5deg) scale(1.2); /*拡大、回転の値を変更したい場合はこの数値を変更*/
}
