@charset "UTF-8";


/*　default
================================*/
body {
	font-family: "Univers Next W01 Medium", 'Roboto', 'Gothic Medium BBB', "中ゴシックBBB", sans-serif;
	font-size: 16px;
	line-height: 1.8;
	color: #fff;
	background: #000;
	width: 100%;
	margin: 0px;
}
ul li {
	list-style: none;
}
a {
	color: #fff;
	text-decoration: none;
}
p {
	margin-bottom: 1.5em;
}
h1, h2, h3, h4, h5, h6 {
	color: #fff;
	font-weight: 400;
}
img {
	width: 100%;
}
.animate-box {
	opacity: 0;
}
#wrapper {
	width: 100%;
	position: relative;
	overflow: hidden;
}
section{
	margin-bottom: 4rem;
}
.head-type1{
	position: relative;
	z-index: 10;
	text-align: center;
	margin-top: 7rem;
	font-family: 'Electrolize', sans-serif;
	font-size: 5.5rem;
	line-height: 1.3;
	text-shadow: 0px 0px 15px rgba(56, 247, 213, 0.90);

	animation-name: flash;
	transform-origin: center bottom;
	-webkit-animation-duration: .1s;
	animation-duration: .1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	animation-iteration-count: 5;
}
.head-type1 span{
	font-size: 1rem;
	display: block;
	text-shadow:none;
}
.head-type2{
	font-size: 3rem;
	display: block;
	font-weight: bold;
	text-shadow:none;
	margin-bottom: 2rem;
}
.head-type2 span{
	font-family: 'Electrolize', sans-serif;
	display: block;
	color: #bcbcbc;
}

.head-type3{
	line-height: 1.3;
	font-size: 1.45rem;
	margin-bottom: 1rem;
}

/*　side-menu
================================*/
#side-menu {
	position: fixed;
	width: 390px;
	left: -390px;
	background: url(../images/common/menu_bg.jpg) no-repeat #292d2d;
	z-index: 999;
	-webkit-transition: left 0.2s linear;
	-moz-transition: left 0.2s linear;
	-ms-transition: left 0.2s linear;
	-o-transition: left 0.2s linear;
	transition: left 0.2s linear;
	overflow: auto;
}
#side-menu .close-btn, #side-menu .close-btn span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
#side-menu .close-btn {
	position: relative;
	width: 45px;
	height: 45px;
	margin: 1.5rem 0px 0px 1.5rem;
}
#side-menu .close-btn:hover{
	animation-name: flash;
	-webkit-animation-duration: .6s;
    animation-duration: .6s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
	animation-iteration-count: infinite;
}
#side-menu .close-btn span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #fff;
}
#side-menu .close-btn span:nth-of-type(1) {
	-webkit-transform: translateY(20px) rotate(-45deg);
	transform: translateY(20px) rotate(-45deg);
}
#side-menu .close-btn span:nth-of-type(2) {
	top: 40px;
	-webkit-transform: translateY(-20px) rotate(45deg);
	transform: translateY(-20px) rotate(45deg);
}
#side-menu .logo {
	font-family: 'Electrolize', sans-serif;
	font-size: 3.6rem;
	text-align: center;
	line-height: 1.3;
}
#side-menu .logo span {
	display: block;
	font-size: .8rem;
}
#main-inner.open {
	margin-left: 390px;
	position: fixed;
}
#side-menu.open {
	left: 0px;
}
#side-menu nav ul li {
	line-height: .7;
	margin-bottom: 2.2rem;
}
#side-menu nav ul li a {
	font-family: 'Electrolize', sans-serif;
	font-size: 2rem;
	padding-left: 4rem;
	display: inline-block;

}
#side-menu nav ul li.active a,
#side-menu nav ul li a:hover{
    position: relative;
    display: inline-block;
    vertical-align: middle;
}
#side-menu nav ul li.active a::before,
#side-menu nav ul li a:hover::before,
#side-menu nav ul li.active a::after,
#side-menu nav ul li a:hover::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: “”;
    vertical-align: middle;
}
#side-menu nav ul li.active a::before{
	content: "";
	left: 36px;
	box-sizing: border-box;
	width: 4px;
	height: 4px;
	border: 8px solid transparent;
	border-left: 9px solid #fff;
}
#side-menu nav ul li a span {
	font-size: .7rem;
	display: inline-block;
}
#side-menu nav ul li a span::before{
	content: "\000A";
	white-space: wrap;
}
#side-menu nav ul li a:hover::before{
	content: "";
	left: 36px;
	box-sizing: border-box;
	width: 4px;
	height: 4px;
	border: 8px solid transparent;
	border-left: 9px solid #fff;

	animation-name: flash;
	transform-origin: center bottom;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	animation-iteration-count: infinite;
}

#side-menu nav ul li.entry {
	font-family: 'Electrolize', sans-serif;
	font-size: 2rem;
	padding-left: 4rem;
	display: inline-block;
}
#side-menu nav ul li.entry ul li {
	margin-bottom: 0;
}
#side-menu nav ul li.entry ul li a {
	font-size: 1.2rem;
	margin-top: 1.5rem;
	padding-left: 2.5rem;
}
#side-menu nav ul li.entry span {
	font-size: .7rem;
	display: inline-block;
}
#side-menu nav ul li.entry span::before{
	content: "\000A";
	white-space: wrap;
}
#side-menu nav ul li.entry ul li.active a::before{
	content: "";
	left: 20px;
	box-sizing: border-box;
	width: 4px;
	height: 4px;
	border: 8px solid transparent;
	border-left: 9px solid #fff;
}
#side-menu nav ul li.entry ul li a:hover::before{
	content: "";
	left: 20px;
	box-sizing: border-box;
	width: 4px;
	height: 4px;
	border: 8px solid transparent;
	border-left: 9px solid #fff;

	animation-name: flash;
	transform-origin: center bottom;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	animation-iteration-count: infinite;
}


/*　ハンバーガーメニュー
================================*/
.menu-trigger, .menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	position: fixed;
	z-index: 9999;
	width: 60px;
	height: 22px;
	margin: 20px;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #fff;
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger:hover span:nth-of-type(1) {
	animation-name: menu-border1;
	-webkit-animation-duration: .4s;
    animation-duration: .4s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
	 animation-iteration-count: infinite;
}
.menu-trigger span:nth-of-type(2) {
	top: 10px;
}
.menu-trigger:hover span:nth-of-type(2) {
	animation-name: menu-border2;
	-webkit-animation-duration: .4s;
    animation-duration: .4s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
	 animation-iteration-count: infinite;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
	width: 40px;
}
.menu-trigger:hover span:nth-of-type(3) {
	animation-name: menu-border3;
	-webkit-animation-duration: .4s;
    animation-duration: .4s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
	 animation-iteration-count: infinite;
}
.menu-trigger.active {
	opacity: 0;
	transition: .5s;
}
@keyframes menu-border1 {
  from{
    width: 20px;
  }
  50% {
   width: 60px;
  }
  to {
   width: 20px;
  }
}
@keyframes menu-border2 {
  from{
    width: 60px;
  }
  50% {
   width: 20px;
  }
  to {
   width: 60px;
  }
}
@keyframes menu-border3 {
  from{
    width: 10px;
  }
  50% {
   width: 40px;
  }
  to {
   width: 10px;
  }
}

/*　footer
================================*/
footer {
	padding: 0 0 2rem;
	position: relative;
	z-index: 10;
	background: #000;
}
footer .copyright {
	max-width: 1060px;
	margin: 0 auto;
	text-align: center;
	font-size: .8rem;
}
footer .copyright p{
	display: inline-block;
}
footer .copyright p span{
	display: none;
}
footer .copyright p::after{
	content: "";
	background: url(../images/common/4f.png) no-repeat right center;
	background-size: 45px;
	padding: 28px;
}


/*　下層共通
================================*/

#main-inner {
	width: 100%;
	position: relative;
	/*overflow-x: hidden;
	overflow-y: auto;*/
	/*background: #000;*/
	transition: margin-left 0.2s linear;
	-webkit-transition: margin-left 0.2s linear;
}
#main-inner .main-content-inner{
	z-index: 100;
	padding-top: 0;
	margin: -50px 0 0;
	/*
	padding: 5.5rem 0;
	background: #000;
	transform: skewY(-5deg);*/
}
#main-inner .main-content-inner .main-content{
	margin-top: 5.8rem;
	/*transform: skewY(5deg);*/
}


/*　下層タイトル
================================*/

.main-img-inner {
	transform: skewY(-5deg);
	z-index: 100;
	height: 380px;
	top: -40px;
	position: relative;
	margin-top: 0px;
	overflow: hidden;
}
.main-img-inner .head-type1, #main-inner .main-img::after {
	transform: skewY(5deg);
}
#main-inner .main-img::after {
	height: 430px;
}
#main-inner .main-img {
	z-index: 100;
	transform: skewY(0);
	overflow: hidden;
}
#main-inner .main-img {
	overflow: hidden;
	position: relative;
	z-index: 0;
	transition: 16s;
}
.head-type1 {
	margin-top: 145.2px;
}


#main-inner .main-img{
	width: 100%;
}
#main-inner .main-img{
	height: 400px;
	overflow: hidden;
	/*background-size: cover;*/
	position: relative;
	z-index: 0;
	transition: 0.5s;
}
#main-inner .main-img::after{
	  position: absolute;
    content: "";
    display: block;
    width: 100%;
    /*height: 100%;*/
    top: 0;
    transition: all 100s ease-in;
	  animation-name: main-zoom;
}

/*　パーツ
================================*/
.t-right{
	text-align: right;
}
.t-left{
	text-align: left;
}
/*画像拡大アニメーション*/
.main-zoom {
  -webkit-animation-name: main-zoom;
  animation-name: main-zoom;
}
@keyframes main-zoom {
  from {
    opacity: .5;
	transform: scale(1);
  }
  100% {
    opacity: 1;
	transform: scale(1.1);
  }
}
/*カラムレイアウト*/
.col1-1,
.col1-1-1{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;

}
.col1-1 .col {
	width: 48%;
}
.col1-1 .col:nth-child(even) {
	margin-right: 0;
}
.col1-1 .col:nth-last-child(n+3){
	margin-bottom: 1.5rem;
}
.col1-1-1 .col {
	width: 30.2%;
}
.col1-1-1 .col:nth-child(even) {
	margin-right: 0;
}
.col1-1-1 .col:nth-last-child(n+4){
	margin-bottom: 3rem;
}
/*リードテキスト*/
.lead-text{
	text-align: center;
	font-weight: bold;
	text-shadow: 0px 0px 15px rgba(56, 247, 213, 0.90);
	font-size: 1.5rem;
	margin-bottom: 4rem;
}

/*1060pxの枠*/
#main-inner .main-content-inner .main-content .content-inner{
	max-width: 1060px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: content-box;
}

/*リスト*/
.list {
	margin-left: 1rem;
}
.list li {
	margin-left: 1rem;
	text-indent: -1.3rem;
}
.list li::before {
	content: '・';
	padding-right: .3rem;
}

/*※*/
.kome {
	margin-left: 1rem;
	text-indent: -1.3rem;
	font-size: .8rem;
	color: #d1d1d1;
}
.kome::before {
	content: '※';
	padding-right: .3rem;
}

/*定義リスト*/
.dl-default {
	margin: 20px 0 0;
}
.dl-default dt {
	display: inline-block;
	float: left;
}
.dl-default dd {
	padding-left: 4rem;
}

/*ボタン*/


.menu_link {
	text-align: center;
	margin: 20px 0 114px;
}


.menu_link a,
.menu_link .submit-btn{
    display: inline-block;
    position: relative;
    font-size: 18px;
    font-family: 'Electrolize', sans-serif;
    border: 1px solid #fff;
    width: 424px;
    height: 60px;
    line-height: 60px;
    /* padding: 20px 0 10px 33px; */
    text-shadow: 0 0 10px #42d4ba;
    z-index: 2;
    background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0i44Os44Kk44Ok44O8XzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCINCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMjggMjIiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI4IDIyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDojRkZGRkZGO30NCjwvc3R5bGU+DQo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNCwwdjAuMlY0djFIMC4zdjE3aDIzdi01LjhoNC41VjRWMC4yVjBINHogTTIyLjMsMjFoLTIxVjZINHYxMC4yaDE4LjNWMjF6IE0yNywxNS4ySDVWNGgyMlYxNS4yeiIvPg0KPC9zdmc+DQo=')no-repeat 74% center;
	background-size: 20px 16px;
}



.menu_link a:before,
.menu_link a:after,
.menu_link .submit-btn:before,
.menu_link .submit-btn:after{
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
  left: 0;
  width: 100%;
  height: 100%;
}

.menu_link a,
.menu_link a:before,
.menu_link a:after,
.menu_link .submit-btn,
.menu_link .submit-btn:before,
.menu_link .submit-btn:after{
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}

.menu_link a:before,
.menu_link .submit-btn:before{
	top: 0;
}

.menu_link a:after,
.menu_link .submit-btn:after{
	bottom: 0;
}

.menu_link a:hover:before,
.menu_link a:hover:after,
.menu_link .submit-btn:hover:before,
.menu_link .submit-btn:hover:after{
  height: 0;
  background-color: #42d4ba;
	color: #42d4ba;
}
/*　レスポンシブ対応
================================*/

@media screen and (max-width: 768px) {
/*iPad縦 / iPhone 7/6 Plus横*/
	body {
		font-size: 14px;
	}
	#side-menu .logo {
    font-size: 2.6rem;
}
	#main-inner .main-img {
    height: 286px;
	}
	#main-inner .main-img::after {
		height: 280px;
	}
	#main-inner .main-img h1 {
		font-size: 3.5rem;
	}
	#main-inner .main-img h1 span {
    font-size: .8rem;
	}
	#main-inner .main-img{
		/*height: 300px;*/
		height: 200px;
	}
	#main-inner .main-content-inner .main-content{
		margin-top: -50px;
	}
	.main-img-inner {
		height: 280px;
	}
	/*.head-type1{
		margin-top: 6rem;
	}*/
	.head-type1 {
		/*margin-top: 137.2px;*/
		margin-top: 80px;
	}
	/*リードテキスト*/
	.lead-text{
		font-size: 1.2rem;
	}
	.head-type2{
		font-size: 1.5rem;
	}
}
@media screen and (max-width: 667px) {
/*iPhone 7/6横*/

	.col1-1 .col,
	.col1-1-1 .col{
		width: 100%;
	}
	.col1-1-1 .col{
		margin-bottom: 2rem !important;
	}
}
@media screen and (max-width: 568px) {
/*iPhone 5/SE横*/
}

@media screen and (max-width: 480px) {
/*iPhone 7/6 Plus縦*/
}

@media screen and (max-width: 375px) {
/*iPhone 7/6縦*/
	#side-menu{
		width: 80%
	}
}
@media screen and (max-width: 320px) {
/*iPhone 5/SE/4以下縦*/
}
