@charset "UTF-8";


/*==================================================
　機能編 4-1-5　ロゴアウトラインアニメーション
===================================*/

/* Loading背景画面設定　*/
#splash {
    /*fixedで全面に固定*/
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  background:#bf1a1f;
  text-align:center;
  color:#fff;
}

/* Loading画像中央配置　*/
#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Loading アイコンの大きさ設定　*/
#splash_logo svg{
    width:60%;
    height: auto;
}

/*=============== SVGアニメーション内の指定 =================*/

/*アニメーション前の指定*/
#logo-mask path {
    fill-opacity: 0;/*最初は透過0で見えない状態*/
    transition: fill-opacity .5s;/*カラーがつく際のアニメーション0.5秒で変化*/
    fill: none;/*塗りがない状態*/
    stroke: #fff;/*線の色*/
  }

/*アニメーション後に.doneというクラス名がで付与された時の指定*/
#logo-mask.done path{
    fill: #fff;/*塗りの色*/
    fill-opacity: 1;/*透過1で見える状態*/
    stroke: none;/*線の色なし*/
  }

/*==================================================
　機能編 4-2-1　背景色が伸びる（上から下）
===================================*/

/*画面遷移アニメーション*/
.splashbg{
  display: none;
}

body.appear .splashbg{
  display: block;
  position:fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  transform: scaleY(0);
  background-color:#bf1a1f;/*伸びる背景色の設定*/
  animation-name:PageAnime;
  animation-duration:1.2s;
  animation-timing-function:ease-in-out;
  animation-fill-mode:forwards;
}

@keyframes PageAnime{
  0% {
    transform-origin:top;
    transform:scaleY(0);
  }
  50% {
    transform-origin:top;
    transform:scaleY(1);
  }
  50.001% {
    transform-origin:bottom;
  }
  100% {
    transform-origin:bottom;
    transform:scaleY(0);
  }
}

/*画面遷移の後現れるコンテンツ設定*/
#container{
    position: relative;
    z-index: 1;
    opacity: 0;/*はじめは透過0に*/
}

/*bodyにappearクラスがついたら出現*/
body.appear #container{
  animation-name:PageAnimeAppear;
  animation-duration:1s;
  animation-delay: 0.8s;
  animation-fill-mode:forwards;
  opacity: 0;
}

@keyframes PageAnimeAppear{
  0% {
  opacity: 0;
  }
  100% {
  opacity: 1;
}
}


/*ポップアップ*/
.popup {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: .6s;
}
.popup.is-show {
  opacity: 1;
  visibility: visible;
}
.popup-inner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 80%;
  max-width: 600px;
  padding: 10px;
  background-color: #fff;
  z-index: 2;
}
.popup-inner img {
  width: 100%;
}
.close-btn {
  position: absolute;
  right: 0;
  top: 0;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  cursor: pointer;
}
.close-btn i {
  font-size: 20px;
  color: #333;
}
.black-background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.8);
  z-index: 1;
  cursor: pointer;
}





/*ファーストビュー設定*/
.top_movie {
	position: relative;
	width: 100%;
	height: 100vh;
}
.top_movie-wrap {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
  	background:rgba(191,26,31,0.7);
}
.top_movie video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
.top-movie-btn {
	position: absolute;
	top: 110px;
	right: 20px;
}
.top-movie-btn li a {
    display: block;
    width: 100px;
    height: 100px;
    border: solid 1px #fff;
    border-radius: 50px;
    text-align: center;
    color: #fff;
    padding-top: 36px;
    margin-bottom: 20px;
    line-height: 16px;
}
.top-movie-btn li a:hover {
  	background:rgba(191,26,31,0.7);
}
.top-movie-btn li a span {
	display: block;
	font-size: 10px;

}
.top-movie-catch {
	width: 45%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
}
.top-movie-catch01 {
	width: 100%;
}
.top-movie-news {
/*	position: absolute;
	bottom: 20px;
	right: 20px;*/
	width: 85%;
	height: 40px;
	background: #ebebeb;
	border-radius: 20px;
  margin: 0 auto 80px;
}
.Hnews a {
	text-decoration: none;
	color: #000;
}
.slider_news .swiper-button-next:after, .swiper-button-prev:after {
    font-size: .8rem;
    color: #000;
}


/*スクロール促すボタン*/
.top-scroll {
  position: absolute;
  left: 50%;
  bottom: 1%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
.top-scroll a {
    position: relative;
    display: block;
    width: 50px;
    padding-top: 50px;
    font-family: 'Oswald', sans-serif;
    font-size: 16px;
    text-align: center;
    color: #fff;
    letter-spacing: .1rem;
}
.top-scroll a span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 5px;
  height: 5px;
  background: #fff;
  border-radius: 50%;
  margin-left: -4px;
  -webkit-animation: sdb 2s infinite;
  animation: sdb 2s infinite;
  opacity: 0;
  box-sizing: border-box;
}
.top-scroll a span:nth-of-type(1) {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}
.top-scroll a span:nth-of-type(2) {
  top: 10px;
  -webkit-animation-delay: .15s;
  animation-delay: .15s;
}
.top-scroll a span:nth-of-type(3) {
  top: 20px;
  -webkit-animation-delay: .3s;
  animation-delay: .3s;
}
.top-scroll a span:nth-of-type(4) {
  top: 30px;
  -webkit-animation-delay: .45s;
  animation-delay: .45s;
}
.top-scroll a span:nth-of-type(5) {
  top: 40px;
  -webkit-animation-delay: .6s;
  animation-delay: .6s;
}
@-webkit-keyframes sdb {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes sdb {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}


/*トップページページャー*/
.pager {
  display: none;
}
.index-pager {
  display: block;
  position: fixed;
  top: 200px;
  right: 8px;
  z-index: 1;
}
.index-pager .hide{
    transform: translateY(-100%);
}
.index-pager-btn {

}
.index-pager-btn a{
  display: block;
  height: 80px;
  width: 30px;
  text-align: center;
  font-family: 'Oswald', sans-serif;
  writing-mode: vertical-rl;
  color: #000;
  border-left: solid 2px #000;
}
.index-pager-btn a:hover{
  color: #bf1a1f;
  border-left: solid 2px #bf1a1f;
}








/*========= カーテンの様に出現の動きのCSS ===============*/
.wrap , .wrap02 , .wrap03 , .wrap04 , .wrap05 {
    overflow: hidden;
    position: relative;
    display: inline-block;
    width: 100%;
    height: auto;
}
.wrap_animated::after {
    animation: blockSlideRight 2s ease both;
    position: absolute;
    background: #BF1A1F;
    content: '';
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.img , .img02 , .img03 , .img04 , .img05 {
    opacity:0;
}
.img_animated {
    animation: imgFadeInLeft 2s ease both;
    width: 100%;
}

@keyframes blockSlideRight {
    0% {
        width: 0%;
    }
    50% {
        width: 100%;
        transform: translateX(0);
    }
    100% {
        transform: translateX(100%);
    }
}
@keyframes imgFadeInLeft {
    50% {
        opacity:0;
    }
    100% {
        opacity:1;
    }
}


.architect {
    position: absolute;
    top: 125px;
    left: 50px;
    height: 500px;
}



















@media (max-width: 768px) {

    .loading-animation img {
      width: 45%;
      height: auto;
    }

    .top-movie-catch {
        width: 70%;
    }

    .top-scroll {
      bottom: 13%;
    }
    .top_movie {
      padding-top: 50px;
    }

    .architect {
        top: unset;
        left: unset;
        right: 5%;
        height: 250px;
        bottom: 190px;
    }

}