@charset "utf-8";

body {
	font-size:16px;
	color:#333333;
	line-height:0.8em;
	font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","游ゴシック","メイリオ","Meiryo",verdana,Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
	 -webkit-text-size-adjust: none;
	background-color:#fff;
	width:100%;
	height:100%;
}

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
	margin: 0;
	padding: 0;
}

address,caption,cite,code,dfn,em,strong,th,var {
	font-style: normal;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption,th {
	text-align: left;
}

q:before ,q:after {
	content: '';
}

object,embed {
	vertical-align: top;
}

hr,legend {
	display: none;
}

h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
}

img,abbr,acronym,fieldset {
	border: 0;
}

li {
	list-style-type: none;
}

a{
	text-decoration:underline;
	color:#000;
}

img{
	margin: 0;
	padding: 0;
	vertical-align:bottom;
	width: 100%;
	}	

*:after { display:block; clear:both; }

.clearfix:after{
	content: ".";
	font-size: 0.1em;
	line-height: 0;
	display: block;
	height: 0.1px;
	visibility: hidden;
	clear: both;
}

.clearfix{
	min-height: 1%;
	_height: 1%;
}


/* --------------------------------------------------
loader
 -------------------------------------------------- */
.loader {
  position: fixed;
  width: 100%;
  height: 100%;
  background: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.loader__box {
  position: relative;
  width: 30%;
  position: relative;
  opacity: 0;
  -webkit-transition: opacity 1s .5s;
  transition: opacity 1s .5s;
}

.loader__box {
  -webkit-animation-name: fade;
          animation-name: fade;
  -webkit-animation-duration: 1.0s;
          animation-duration: 1.0s;
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

@-webkit-keyframes fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}



.loader {
  opacity: 1;
  z-index: 9999;
  -webkit-transition: opacity 0.8s 0.5s cubic-bezier(0.47, 0, 0.745, 0.715);
  transition: opacity 0.8s 0.5s cubic-bezier(0.47, 0, 0.745, 0.715);
}

.is_fadeout .loader {
  opacity: 0;

}

/*--------------------------------------
navi
----------------------------------------*/
#navi_base ul{
	width:100%;
	height:10vw;
	margin:auto;
  justify-content: space-between;
  align-items: center;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	background-color:#f5ea2c;
	border-top:2px solid #fff;
	position:fixed;
	bottom:0;
	z-index:1000;
}

#navi_base ul li{
	position:relative;
	width:50%;
	height:10vw;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

#navi_base ul li img{
	width:40%;
	padding-top:7%;
}

#navi_base ul li:nth-child(1) img{
	padding-left:38%;
}

#navi_base ul li:nth-child(2) img{
	padding-left:30%;
}


#navi_base ul li a{
	display:block;
	width:100%;
	height:80px;
}

#navi_base ul li:nth-child(1){
	border-right:1px solid #fff;
}

#navi_base ul li:nth-child(1):hover{
	cursor:pointer;
}

#navi_base ul li:nth-child(2){
	border-left:1px solid #fff;
}

#navi{
	position: fixed;
	bottom: 0;
	left: 0;
	height: 10vw;
	width:10vw;
	z-index: 2000;
	box-sizing:border-box;
}

#navi:hover{
	cursor:pointer;
}

#nav-toggle {
	position: absolute;
	left:25%;
	top:35%;
	width: 50%;
}

#navi_block {
	position: relative;
	width: 100%;
}

.line {
	width: 100%;
	height: 2px;
	left: 0;
	display: block;
	background: #000;
	position: absolute;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}

.line:nth-child(1) {
	top: 0;
}
.line:nth-child(2) {
	top: 1.5vw;
}
.line:nth-child(3) {
	top: 3vw;
}

#sidebar {
	opacity:0;
	position: fixed;
	right: -120vw;
	height: 100%;
	width:100%;
	background: url(../images/menu_bg.jpg) no-repeat center top;
	background-size:cover;
	top:0;
	z-index:9999;
	-webkit-transition: all .5s ease;
  transition: all .5s ease;
}

#sidebar h2{
	width:48%;
	margin:0 auto;
	padding-top:12%;
}

#sidebar .btn_close{
	position:absolute;
	width:10%;
	right:0;
	top:0;
}


#sidebar #global-nav{
	overflow-y: scroll;
	height:100%;
}

#sidebar ul{
	width:100%;
  justify-content: space-between;
  align-items: center;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	padding:10% 0 5%;
}

#sidebar ul li{
	width:100%;
	font-size:5.6vw;
	text-align:center;
}

#sidebar ul li a{
	display:block;
	width:100%;
	text-decoration:none;
	padding:6% 0;
}

.open #sidebar  {
	opacity:1.0;
	-webkit-transform: translate3d(-120vw,0,0);
	transform: translate3d(-120vw,0,0);
}


/*--------------------------------------
youtube
----------------------------------------*/
.yt-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  overflow: hidden;
  z-index: 9999;
}

.yt-overlay:after {
  position: relative;
}

.yt-bg {
  width: 100vw;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.85);
  position: absolute;
  top: 0;
  left: 0;
}

.yt-close {
  display: none;
  position: absolute;
  top: -70px;
  right: -0;
  cursor: pointer;
  z-index: 300;
	width:40px;
}

.yt-videoWrap {
  width: 100vw;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 0;
  left: 0;
}

.yt-video {
  z-index: 1500;
  width: 94%;
  max-width: 960px;
  position: relative;
}

@media screen and (max-height: 700px) {
  .yt-video {
    max-width: 137.14286vh;
  }
}

.yt-playerWrap {
  clear: both;
  z-index: 2000;
  width: 100%;
  margin: 0 auto;
  padding-bottom: 56.25%;
  height: 0px;
  position: relative;
  background: #000;
}

.yt-playerWrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.yt-loader {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto auto;
  width: 128px;
  height: 128px;
  z-index: 0;
}

.yt-tabs {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin-top: 2%;
}

.yt-tab {
  width: 49%;
  background: #fff;
  color: #000;
  text-align: center;
  font-size: 2.6vw;
  line-height: 1.2;
  border: solid 1px #8f8e0a;
  -webkit-transition: .3s;
  transition: .3s;
  cursor: pointer;
  padding: 10px 0;
}

.yt-tab:nth-child(n+3) {
  margin-top: 10px;
}

.yt-tab.active, .yt-tab:hover {
  background: #eae951;
  color: #000;
}

.yt-tab.active {
  cursor: default;
}


#title{
	width:100%;
	margin:0 auto;
	padding:8% 0;
}


/*--------------------------------------
animation
----------------------------------------*/
/*
*:not(body) {
  -webkit-animation-play-state: paused !important;
          animation-play-state: paused !important;
}

*:not(body) .is-loaded * {
  -webkit-animation-play-state: running !important;
          animation-play-state: running !important;
}
*/


@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

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