@charset "utf-8";
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css); /* 源ノ角ゴシック */

/* 基本設定 */
html{
	font-size: 1.4vw;
}
*, *::before, *::after{
  box-sizing: border-box;
}
body{
	color: #fff;
	background: #000;
	line-height: 1.6;
	font-family: 'Noto Sans Japanese', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-style: 500;
	-webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
  -moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%; /* 文字サイズの自動調整機能のキャンセル */
}
.fntMc{ font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-style: normal;}
img{
	border: 0;
	vertical-align: top;
}
input ,select{
	position: relative;
	top: 1px;
}
table, th, td{
	border-collapse: collapse;
	border-spacing: 0;
}
ul, li{
	list-style:none;
}
a:link, a:visited{
	color: #fff;
  font-weight: 600;
	text-decoration: none;
	transition: all 0.5s 0s ease;
}
a:hover, a:active{
	color: #B28146;
}
#cover{
  width: 100%;
  height: 100%;
  position: fixed;
  background: #000;
  top: 0px;
  left: 0px;
  z-index: 10000;
}
#wrapper{
	overflow: hidden;
  position: relative;
}
.dd959,.dd800,.dd768,.dd600,.dd480,.dd414,.dd375,.dd320{
  display: none;
}

.feedin1-no,.feedin2-no,.feedin5-no{
  opacity: 0;
	transform: translate(0,30px); 
	-webkit-transform: translate(0,30px); 
}
.feedin3-no{
  opacity: 0;
	transform: translate(30px,0); 
	-webkit-transform: translate(30px,0); 
}
.feedin4-no{
  opacity: 0;
	transform: translate(-30px,0); 
	-webkit-transform: translate(-30px,0); 
}
.feedin1-no,.feedin3-no,.feedin4-no{
	transition: all 1s ease 0.2s;
	-webkit-transition: all 1s ease 0.2s;
}
.feedin2-no{
	transition: all 1s ease 1s;
	-webkit-transition: all 1s ease 1s;
}
.feedin5-no{
	transition: all 1s ease 1.5s;
	-webkit-transition: all 1s ease 1.5s;
}
.feedin1,.feedin2,.feedin3,.feedin4,.feedin5{
  opacity: 1;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}
#wrapper .active2{
  opacity: 1;
  animation-name: a2Anim;
  animation-delay: 0s;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}
@-webkit-keyframes a2Anim{
  0% {opacity: 0;}
  100% {opacity: 1;}
}
@keyframes a2Anim{
  0% {opacity: 0;}
  100% {opacity: 1;}
}
hr{
  display: block;
  border-color: #926126;
  margin: 10vw auto;
  width: 76%;
}


/* ヘッダー */
#header{
  position: relative;
  overflow: hidden;
  width: 100%;
}
#header .bgImg{
  position: relative;
  z-index: 0;
  width: 100%;
  height: auto;
}
#header .bgYuge{
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  opacity: 0;
}
#header .bgYuge.active{
  animation-name: yuAnim;
  animation-delay: 0.2s;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
}
@-webkit-keyframes yuAnim{
  0% {opacity: 0; transform: translateY(20px);}
  100% {opacity: 1; transform: translateY(0px);}
}
@keyframes yuAnim{
  0% {opacity: 0; transform: translateY(20px);}
  100% {opacity: 1; transform: translateY(0px);}
}
#header h1{
  position: absolute;
  z-index: 100;
  overflow: hidden;
  float: left;
  width: 15%;
  height: auto;
  margin: 1% 0 0 2%;
}
#header h1 img{
  width: 100%;
  height: auto;
}
#header .copy{
  position: absolute;
  z-index: 50;
  width: 20%;
  height: auto;
  right: 5%;
  top: 16%;
}
#header .copy .img1{
  float: right;
  width: 61%;
  height: 54%;
  opacity: 0;
}
#header .copy .img1.active{
  animation-name: c1Anim;
  animation-delay: 0.7s;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}
@-webkit-keyframes c1Anim{
  0% {opacity: 0; transform: scale(1.1,1.1);}
  100% {opacity: 1; transform: scale(1,1);}
}
@keyframes c1Anim{
  0% {opacity: 0; transform: scale(1.1,1.1);}
  100% {opacity: 1; transform: scale(1,1);}
}
#header .copy .img2{
  clear: right;
  float: right;
  width: 61%;
  height: 46%;
  opacity: 0;
}
#header .copy .img2.active{
  animation-name: c1Anim;
  animation-delay: 1.1s;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}
#header .copy .img3{
  width: 39%;
  height: 100%;
  opacity: 0;
}
#header .copy .img3.active{
  animation-name: c2Anim;
  animation-delay: 1.5s;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}
@-webkit-keyframes c2Anim{
  0% {opacity: 0; transform: scale(1.2,1.2);}
  100% {opacity: 1; transform: scale(1,1);}
}
@keyframes c2Anim{
  0% {opacity: 0; transform: scale(1.2,1.2);}
  100% {opacity: 1; transform: scale(1,1);}
}
#header .txt{
  position: absolute;
  overflow: hidden;
  z-index: 50;
  right: 28%;
  top: 19%;
  width: 13.3vw;
  opacity: 0;
}
#header .txt.active{
  animation-name: c3Anim;
  animation-delay: 2s;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
}
@-webkit-keyframes c3Anim{
  0% {opacity: 0; transform: translateY(10px);}
  100% {opacity: 1; transform: translateY(0px);}
}
@keyframes c3Anim{
  0% {opacity: 0; transform: translateY(10px);}
  100% {opacity: 1; transform: translateY(0px);}
}
#header .txt p{
  float: right;
  font-size: 1.4vw;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: 0.1vw;
  line-height: 1.9;
}
#header .utsuwa{
  position: absolute;
  z-index: 50;
  width: 65%;
  right: 5%;
  bottom: 4%;
}
#header .utsuwa li{
  float: left;
  width: 25%;
  padding: 0 1%;
}
#header .utsuwa li img{
  width: 100%;
  height: auto;
  opacity: 0;
}
#header .utsuwa .utw1.active{
  animation-name: utwAnim;
  animation-delay: 2s;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}
#header .utsuwa .utw2.active{
  animation-name: utwAnim;
  animation-delay: 2.3s;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}
#header .utsuwa .utw3.active{
  animation-name: utwAnim;
  animation-delay: 2.6s;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}
#header .utsuwa .utw4.active{
  animation-name: utwAnim;
  animation-delay: 2.9s;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}
@-webkit-keyframes utwAnim{
  0% {opacity: 0; transform: translateY(-5px);}
  100% {opacity: 1; transform: translateY(0px);}
}
@keyframes utwAnim{
  0% {opacity: 0; transform: translateY(-5px);}
  100% {opacity: 1; transform: translateY(0px);}
}
@media screen and (max-width: 480px){
  #header{
    overflow: visible;
  }
  #header .bgImg{
    width: 150%;
  }
  #header .bgYuge{
    width: 150%;
  }
  #header h1{
    width: 25%;
    margin: 2% 0 0 4%;
  }
  #header .copy{
    width: 33%;
    right: 3%;
    top: 10%;
  }
  #header .txt{
    right: inherit;
    left: 4%;
    top: 40%;
    width: 23vw;
  }
  #header .txt p{
    font-size: 2.4vw;
    text-shadow: 1px 1px 1px #000;
  }
}

/* ナビゲーション */
#header .mMenu{
  position: absolute;
  right: 1vw;
  top: 2vw;
  z-index: 100;
  width: 70%;
}
#header .mMenu ul{
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-ms-box-lines: multiple;	
	box-lines: multiple;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#header .mMenu ul li{
	-webkit-box-flex: 1.0;
	-moz-box-flex: 1.0;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
}
#header .mMenu ul li a{
	display: block;
	text-align: center;
	width: 100%;
  font-size: 1.4vw;
}
#header .mMenu ul li a .icn{
  width: 1.4vw;
  height: auto;
}
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
  display: none;
}
.menu-trigger{
  position: relative;
  width: 59px;
  height: 38px;
  z-index: 9999;
}
.menu-trigger p{
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  -webkit-text-orientation: sideways;
  text-orientation: sideways;
  font-size: 2.5vw;
  float: right;
  white-space: nowrap;
}
.menu-trigger span {
  position: absolute;
  left: 0px;
  width: 40px;
  height: 2px;
  background-color: #ccc;
  border-radius: 2px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 18px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}
.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(18px) rotate(-45deg);
  transform: translateY(18px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-18px) rotate(45deg);
  transform: translateY(-18px) rotate(45deg);
}
@media screen and (max-width: 480px){
  #header .mMenu ul li a{
    font-size: 5vw;
    border-bottom: 1px dotted #999;
    letter-spacing: 0.5vw;
    font-weight: 300;
    padding: 3.5vw 0;
  }
  .menu-trigger span {
    display: inline-block;
  }
}




/* フッター */
#footer{
	overflow: hidden;
  position: relative;
  clear: both;
  text-align: center;
  padding: 5% 0 3%;
}
#footer .fMenu{
  margin: 0 auto;
  width: 90%;
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-ms-box-lines: multiple;	
	box-lines: multiple;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#footer .fMenu li{
  border-right: 1px solid #fff;
	-webkit-box-flex: 1.0;
	-moz-box-flex: 1.0;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
}
#footer .fMenu li:last-child{
  border-right: none;
}
#footer .logo{
  width: 10%;
  height: auto;
  margin: 3% auto 2%;
}
#footer .logo img{
  width: 100%;
  height: auto;
}
@media screen and (max-width: 480px){
  #footer{
    padding: 3% 0 7%;
  }
  #footer .fMenu{
    margin: 0 auto;
    width: 95%;
  }
  #footer .fMenu li{
    border: 0.7px solid #aaa !important;
    margin-bottom: 1%;
  }
  #footer .fMenu li a{
    display: block;
    font-size: 4vw;
    padding: 1vw 3vw;
    font-weight: 300;
  }
  #footer .logo{
    width: 20%;
    margin: 4% auto 3%;
  }
  #footer .cpr{
    font-size: 2vw;
  }
}

/*-- 上：デフォルト：960px以上 (max-width/max-device-width)  --*/

@media screen and (max-width: 959px){
  .nn959{
    display: none !important;
  }
  .dd959{
    display: block !important;
  }
}

@media screen and (max-width: 800px){
  .nn800{
    display: none !important;
  }
  .dd800{
    display: block !important;
  }
}

@media screen and (max-width: 768px){
  .nn768{
    display: none !important;
  }
  .dd768{
    display: block !important;
  }
}

@media screen and (max-width: 600px){
  .nn600{
    display: none !important;
  }
  .dd600{
    display: block !important;
  }
}

@media screen and (max-width: 480px){
  .nn480{
    display: none !important;
  }
  .dd480{
    display: block !important;
  }
}

@media screen and (max-width: 480px){
  .nn414{
    display: none !important;
  }
  .dd414{
    display: block !important;
  }
}

@media screen and (max-width: 375px){
  .nn375{
    display: none !important;
  }
  .dd375{
    display: block !important;
  }
}

@media screen and (max-width: 320px){
  .nn320{
    display: none !important;
  }
  .dd320{
    display: block !important;
  }
}
@media screen and (orientation: landscape) {
}
@media screen and (orientation: portrait) {
}