/*
 * style.css
 */

/*
 * elements
 */
html,body{
	width: 100%;
	height: 100%;
}

body{
	font-family: 'futura-pt', 'vdl-v7gothic', sans-serif;
}

h1{
	height: 50px;
  margin: 10px 0 45px;
  background: url(../images/fastr_logo_b.svg) no-repeat;
}

h2{
	font-size: 1.4em;
	font-weight: bold;
	margin-bottom: 15px;
	color: #333;
}

a, a:active, a:focus, a:visited {
	color: #333;
	text-decoration: underline;
}
a:hover {
	color: #333;
	text-decoration: none;
}

section{
	position: relative;
	padding-bottom: 60px;
	color: #666;
}

/*
 * #splash
 */
#splash{
	z-index: 10020;
	position: fixed;
	top: 0;
	left: 0;
	opacity: 0;
	width: 100%;
	height: 0;
	background: url(../images/fastr_logo_w.svg) #000 no-repeat;
	-webkit-background-size: 62.5%;
	background-size: 62.5%;
	background-position: 50% 50%;
	
  animation-duration: 2s;
  animation-name: splash-fade-out;
}
@keyframes splash-fade-out {
  0% {
    height: 100%;
    opacity: 1;
  }
  75% {
    height: 100%;
    opacity: 1;
  }
  99% {
    height: 100%;
    opacity: 0;
  }
  100% {
    height: 0;
    opacity: 0;
  }
}

.container-fluid {
  display: block;
  opacity: 1;
	letter-spacing: 0.05em;
  
  animation-duration: 2.5s;
  animation-name: container-fade-in;
}
@keyframes container-fade-in {
  0% {
    display: none;
    opacity: 0;
    height: 100%;
    overflow: hidden;
  }
  80% {
    display: none;
    opacity: 0;
    height: 100%;
    overflow: hidden;
  }
  81% {
    display: block;
    opacity: 0;
    height: 100%;
    overflow: hidden;
  }
  100% {
    display: block;
    opacity: 1;
    height: auto;
    overflow: auto;
  }
}

/*
 * container
 */
.container-fluid{
	z-index: 100;
}
.container-fluid::after{
	display: block;
	width: 100%;
	height: 100%;
	background: url(../images/fastr_logo_b.svg) no-repeat;
	background-position: 50% 50%;
	background-size: 65%;
	opacity: 0.05;
	position: fixed;
	content: "";
	top: 0;
	left: 0;
	z-index: -10;
}

/*
 * section
 */
section ol, section ul{
	padding-left: 1em;
	margin-bottom: 0;
}

section li p{
	margin-bottom: 15px;
}

/*
 * #top
 */
#top .main-msg{
	font-weight: bold;
  color: #333;
  font-size: 1.4em;
}

/*
 * #about
 */
#about dt{
	float: left;
	color: #333;
	line-height: 1.6;
}

#about dd{
	margin-left: 120px;
	margin-bottom: 15px;
}

#about dd .address-no{
	font-size: 0.84em;
	display: block;
	line-height: 1
}


/*
 * footer
 */
footer p{
	text-align: right;
	
}

/*
 * menu
 */
.menu{
	position: fixed;
	right: 0;
	top: 0;
	width: 0;
	height: 100%;
	z-index: 10000;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-ms-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

.menu.active{
	background: #000;
	width: 200px;
	height: 100%;
}

.menu-trigger {
	position: absolute;
	width: 40px;
	height: 36px;
	right: 15px;
	top: 15px;
	display: block;
	/* text-align: right; */
	z-index: 10010;
}
.menu-trigger,
.menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #333;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 16px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(16px) rotate(-315deg);
  transform: translateY(16px) rotate(-315deg);
  background-color: #fff;
}
.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
  background-color: #fff;
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-16px) rotate(315deg);
  transform: translateY(-16px) rotate(315deg);
  background-color: #fff;
}

.menu .menu-contents{
	display: none;
	list-style: none;
	margin: 0;
	margin-top: 100px;
	padding-left: 15px;
	font-size: 1.4em;
}
.menu.active .menu-contents{
	display: block;
}

.menu .menu-contents li{
	padding-bottom: 10px;
}

.menu .menu-contents a{
	text-decoration: none;
	display: block;
	color: #fff;
	opacity: 0.8;
}

.menu .menu-contents a:hover,.menu .menu-contents a:active,.menu .menu-contents a:focus{
	opacity: 1;
}


/*
 * utils
 */

.alphb{
	font-size: 1.2em;
}

.kana{
	font-size: 0.84em;
	margin-left: 0.4em;
}
.kana::before{
	content: "(";
}
.kana::after{
	content: ")";
}
