@charset "utf-8";

/*==================================================
　機能編 4-1-2	プログレスバー＋数字カウントアップ
===================================*/

/* Loading背景画面設定　*/

#splash {
    /*fixedで全面に固定*/
	position: fixed;
	z-index: 999;
	width: 100%;
	height: 100%;
	background:#ccc;
	text-align:center;
	color:#fff;
}

/* Loadingバー中央配置　*/
#splash_text {
	position: absolute;
	top: 50%;
	left: 50%;
    z-index: 999;
	width: 100%;
	transform: translate(-50%, -50%);
	color: #fff;
}

/*IE11対策用バーの線の高さ※対応しなければ削除してください*/
#splash_text svg{
    height: 2px;
}


/*==================================================
　機能編 5-1-13 クリックしたらナビが左から右に出現
===================================*/

#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 90;
    /*ナビのスタート位置と形状*/
    top:0;
    left: -120%;
    width:100%;
    height: 100vh;/*ナビの高さ*/
    background: linear-gradient(to top right, rgba(204,204,204,1), rgba(204,204,204,1));/*背景色（グラデーション）*/ 
    /*動き*/
    transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    left: 0;
}


/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 90; 
    width:100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 90;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}

/*リストのレイアウト設定*/

#g-nav li{
	list-style: none;
    text-align: center; 
}

#g-nav li a{
	color: #fff;
	text-decoration: none;
	padding:10px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

/*==================================================
機能編　5-2-2 ボタン：2本線が×に
===================================*/

/*ボタン外側*/
.openbtn{
	position:fixed;
    z-index: 100;/*ボタンを最前面に*/
	top:10px;
	left: 10px;
	cursor: pointer;
    width: 70px;
    height:50px;
}
	
/*ボタン内側*/

.openbtn span{
    display: inline-block;
    transition: all .2s;/*アニメーションの設定*/
    position: absolute;
    left: 13px;
    height: 1px;
	background-color: #666;
  }


.openbtn span:nth-of-type(1) {
	top:22px;	
  	width: 50%;
}

.openbtn span:nth-of-type(2) {
	top:29px;
  	width:30%;
}

/*activeクラスが付与されると線が回転して×に*/

.openbtn.active span:nth-of-type(1) {
    top: 20px;
    left: 16px;
    transform: translateY(6px) rotate(-45deg);
    width: 35%;
}

.openbtn.active span:nth-of-type(2) {
    top: 32px;
    left: 16px;
    transform: translateY(-6px) rotate(45deg);
    width: 35%;
}



/*==================================================
　機能編 7-1-23	線から塗に変化（左から右）
===================================*/

/* ボタン共通設定 */
.btn04 {
    /*線の基点とするためrelativeを指定*/
	position: relative;
    /*ボタンの形状*/
	display:inline-block;
    padding: 10px 30px;
	margin: 0 10px 10px 10px;
	color:#333;
	border:1px solid #ccc;
    text-decoration: none;
    outline: none;
    /*はみ出す背景色を隠す*/
 	overflow: hidden;
}

/*hoverした際のボタンの形状*/
.btn04:hover {
	color:#fff;
	border-color: transparent;
    /*色の変化を遅らせる*/
	transition-delay: .6s;
}

/*線の設定*/
.btn04 span{
    display: block;
    z-index: 2;
}

/*== 左から右 */

/*線の設定*/
.borderleft span::before,
.borderleft span::after {
    content: '';
    /*絶対配置で線の位置を決める*/
    position: absolute;
    width:0;
    height:1px;
    /*線の形状*/
    background: #333;
    /*アニメーションの設定*/
	transition: all .3s;
}

/*左上線*/
.borderleft span::before {
    left:0;
    top:0;
}

/*左下線*/
.borderleft span::after {
    left:0;
    bottom:0;
}

/*hoverをすると線が伸びる*/
.borderleft:hover span::before,
.borderleft:hover span::after {
    width: 100%;
}

/*背景の設定*/
.borderleft::before{
	content: '';
    /*絶対配置で線の位置を決める*/
	position: absolute;
	left: 0;
    bottom:0;
	z-index: -1;
    /*背景の形状*/
	height: 100%;
	width: 0;
	background:#333;
    /*アニメーションの設定*/
	transition: all .3s;
}

/*hoverをすると背景が伸びる*/
.borderleft:hover::before{
	width: 100%;
    /*0.4秒遅れてアニメーション*/
	transition-delay: .4s;
}

/*===========================================================*/
/* 機能編 7-1-36 線の上を別の線が伸びる*/
/*===========================================================*/

.btnlinestretches4{
    /*線の基点とするためrelativeを指定*/
	position:relative;
    /*リンクの形状*/ 
	color:#333;
    padding: 10px 50px 10px 30px;
	display:inline-block;
    text-decoration: none;
    outline: none;
}

/*線の設定*/
.btnlinestretches4::before,
.btnlinestretches4::after{
	content:'';
    /*絶対配置で線の位置を決める*/
	position:absolute;
	z-index:1;
	bottom:0;
	left:0;
     /*線の形状*/   
	background:#333;
	width:100%;
	height:2px;
    /*アニメーションの指定*/
	transition:all 0.3s ease-in-out;
}

 /*hover時に伸びる線の形状*/   
.btnlinestretches4::after{
	width:0;
	background:#00b7b8;
}

 /*hover時に100%に伸びる*/   
.btnlinestretches4:hover::after {
	width:100%;
}

 /*矢印の設定*/   
.btnlinestretches4 span::after {
    content: '';
    /*絶対配置で矢印の位置を決める*/
    position: absolute;
    top: 1.3em;
    right: 20px;
    /*矢印の形状*/   
    width: 5px;
    height: 5px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    transform: rotate(45deg);
    /*アニメーションの指定*/
    transition: all .3s;
}

/*hover時に矢印が移動*/   
.btnlinestretches4:hover span::after {
	right:15px;
    border-color: #00b7b8;
}




/*===========================================================*/
/* 印象編　7-2 画像が縮小 　*/
/*===========================================================*/

.zoomOut img{
	transform: scale(1.1);
	transition: .3s ease-in-out;/*移り変わる速さを変更したい場合はこの数値を変更*/
}

.zoomOut:hover img{/*hoverした時の変化*/
	transform: scale(1);/*拡大の値を変更したい場合はこの数値を変更*/
}


.zoomOut .mask{
    display: block;
    height: 11vw;
    overflow: hidden;
}

@media screen and (max-width:1020px) {
.zoomOut .mask{
    height: 25vw;
}    
}

@media screen and (max-width:550px) {
.zoomOut .mask{
    height: 45vw;
}     
}



/*==================================================
印象編 4 最低限おぼえておきたい動き
===================================*/
/* 4-1 ふわっ（下から） */

.fadeUp{
animation-name: fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/* 4-1 ふわっ（上から）*/

.fadeDown{
animation-name: fadeDownAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}


/*ギャラリーのプラグインとの兼ね合いでtransform: translateY(100px);は使用せずmarginで代用*/
@keyframes fadeUpAnime{
  from {
    opacity: 0;
	margin-top:100px;
  }

  to {
    opacity: 1;
	margin-top:0;
  }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.flipRightTrigger,
.fadeUpTrigger,
.fadeDownTrigger{
    opacity: 0;
}


/*==================================================
スライダーのためのcss
===================================*/
/*画像の横幅を100%にしてレスポンシブ化*/
img{
	width: 100%;
	height: auto;
	vertical-align: bottom;/*画像の下にできる余白を削除*/
}

/*メイン画像下に余白をつける*/

.gallery{
	width:100%;
	margin:0 0 5px 0;
}
.choice-btn {
	width:100%!important;
	display:block;
}

.gallery li{
list-style:none;
}

/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev, 
.slick-next {
    position: absolute;/*絶対配置にする*/
	z-index: 3;
    top: 50%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #ccc;/*矢印の色*/
    border-right: 2px solid #ccc;/*矢印の色*/
    height: 25px;
    width: 25px;
}

.slick-prev {/*戻る矢印の位置と形状*/
    left:2.5%;
    transform: rotate(-135deg);
}

.slick-next {/*次へ矢印の位置と形状*/
    right:2.5%;
    transform: rotate(45deg);
}

/*選択するサムネイル画像の設定*/


.choice-btn li{
	cursor: pointer;
	outline: none;
	background:#333;
	width:23%!important;
	list-style:none;
	margin:1%;
}

.choice-btn li img{
	opacity: 0.4;/*選択されていないものは透過40%*/
}

.choice-btn li.slick-current img{
	opacity: 1;/*選択されているものは透過しない*/
}

.choice-btn .slick-track {
	transform: unset !important;/*画面幅サイズ変更に伴うサムネイル固定*/
}



/* その場で */
.fadeIn{
animation-name:fadeInAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* 下から */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/* 上から */

.fadeDown{
animation-name:fadeDownAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeDownAnime{
  from {
    opacity: 0;
	transform: translateY(-100px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/* 左から */

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
	transform: translateX(-100px);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
}

/* 右から */

.fadeRight{
animation-name:fadeRightAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
	transform: translateX(100px);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
}


/*スライドショー*/
.slider4-wrap {

  margin: 0 auto;
  position: relative;
}
.slider-4 .slick-slide {

  overflow: hidden;
}
.slider-4 .slick-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.dots-4 .slick-dots {
  text-align: center;
}
.dots-4 .slick-dots li {
  display: inline-block;
}
.dots-4 .slick-dots button {
  display: block;
  width: 10px;
  height: 10px;
  margin: 6px;
  font-size: 0;
  padding: 0;
  border: 0;
  outline: none;
  cursor: pointer;
  background: #bcbcbc;
  border-radius: 50%;
}
.dots-4 .slick-dots .slick-active button {
  background: #0a467d;
}
.progress_bar {
  width: 100%;
  background: #eaeaea;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.progress_bar .bar {
  width: 0%;
  height: 4px;
  background: #333333;
}