@charset "UTF-8";
/* CSS Document */
@import url("https://fonts.googleapis.com/css?family=Quicksand:300,400,500,700");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

img {
  width: 100%; }

.clearfix:after {
  content: " ";
  display: block;
  clear: both; }

/*box-sizingを全ブラウザに対応*/
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

::selection {
  background: #ddd;
  /* Safari用 */ }

::-moz-selection {
  background: #ddd;
  /* Firefox用 */ }

html {
  width: 100%;
  /*overflow-y: scroll; 
  background-color: #000;*/ }

body {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Arial, sans-serif;
  font-weight: 300;
  font-size: 14px;
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: subpixel-antialiased;
  overflow: hidden;
  overflow-y: scroll; }

#container {
  width: 100%;
  padding-left: 0;
  box-sizing: border-box;
  min-width: 1000px;
  margin: 0;
  overflow: hidden;
  transition: all 0.8s ease;
  height: 100vh; }
  @media only screen and (max-width: 768px) {
    #container {
      min-width: 100%; } }

/*#container*/
/*スクロールのアニメーション*/
@keyframes borderAnim {
  0% {
    top: -50px; }
  100% {
    top: 50px; } }
/*TOPへ戻るスクロールのアニメーション*/
@keyframes borderAnim2 {
  0% {
    bottom: -50px; }
  100% {
    bottom: 50px; } }
.visible.fa_fadein {
  animation: fadeInUp 2.0s 0.2s;
  animation-fill-mode: both; }

.visible.fa_fadein_slow {
  animation: fadeInUp 4.0s 1.4s;
  animation-fill-mode: both; }

.visible.fa_fadein_up {
  animation: fadeInUp2 2.0s 0.2s;
  animation-fill-mode: both; }

.visible.fa_fadein2 {
  animation: fadeIn2 0.8s 0.2s cubic-bezier(0.33, 1.7, 0.51, 0.82);
  animation-fill-mode: both; }

/*消えている状態から現れるアニメーション*/
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*消えている状態から現れるアニメーション2*/
@keyframes fadeIn2 {
  0% {
    opacity: 0;
    transform: scale(1.6); }
  100% {
    opacity: 1;
    transform: scale(1); } }
/*消えている状態から現れるアニメーション3*/
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(10px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
/*消えている状態から現れるアニメーション4*/
@keyframes fadeInUp2 {
  0% {
    opacity: 0;
    transform: translateY(300px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
/*消えている状態から現れるアニメーション3*/
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-100px); }
  100% {
    opacity: 1;
    transform: translateX(0); } }
@keyframes fadeInRight {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*はじめにブロックを伸ばすアニメーション*/
@keyframes secondaryImageOverlayIn {
  0% {
    height: 0; }
  100% {
    height: 100%; } }
/*のびたブロックを横に追いやるアニメーション*/
@keyframes secondaryImageOverlayOut {
  0% {
    transform: translateY(0); }
  100% {
    transform: translateY(102%); } }
/*ヘッダー*/
/*header*/
/*フッター*/
footer {
  width: 100%;
  background-color: #000;
  position: relative;
  text-align: center;
  padding: 50px 10px;
  z-index: 16; }
  @media only screen and (max-width: 768px) {
    footer {
      text-align: left;
      padding: 40px 25px; } }
  footer h2 {
    width: 220px;
    display: inline-block; }
    @media only screen and (max-width: 768px) {
      footer h2 {
        width: 160px;
        display: block; } }
  footer p {
    font-size: 12px;
    display: inline-block;
    color: #fff;
    letter-spacing: 0.15em;
    position: relative;
    top: -6px;
    margin-left: 7px; }
    @media only screen and (max-width: 768px) {
      footer p {
        font-size: 10px;
        display: block;
        margin-top: 15px; } }

/*footer*/
#scroll {
  display: none;
  width: 60px;
  height: 60px;
  position: fixed;
  bottom: 0px;
  right: 0px;
  z-index: 50;
  overflow: hidden; }
  #scroll a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    background-color: #000; }
    #scroll a:after {
      content: "";
      display: block;
      width: 14px;
      height: 14px;
      border-right: 2px solid #bbb;
      border-bottom: 2px solid #bbb;
      transform: translate(-50%, -50%) rotate(-135deg);
      position: absolute;
      top: 52%;
      left: 50%;
      transition: 0.3s; }
    #scroll a:hover:after {
      top: 42%; }

/*#scroll*/
@keyframes scrollChange {
  0% {
    transform: rotate(180deg);
    height: 120px; }
  45% {
    transform: rotate(180deg);
    height: 1px; }
  55% {
    transform: rotate(0deg);
    height: 1px; }
  100% {
    transform: rotate(0deg);
    height: 120px; } }
@keyframes scrollChangeRe {
  0% {
    transform: rotate(0deg);
    height: 120px; }
  45% {
    transform: rotate(0deg);
    height: 1px; }
  55% {
    transform: rotate(180deg);
    height: 1px; }
  100% {
    transform: rotate(180deg);
    height: 120px; } }
/*ローディング設定 =========================================================*/
/* loading */
#loading {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: #fff; }
  #loading:after {
    display: block;
    content: "";
    width: 16px;
    padding-top: 26.84%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: url("../img/loading.gif") no-repeat center center;
    background-size: contain;
    transition: 0.8s linear; }
    @media only screen and (max-width: 768px) {
      #loading:after {
        margin-top: -65px; } }

/* #loading */
/* loading完了後 */
#container.load_comp {
  height: auto;
  /* #loading */
  /*#side_bar*/ }
  #container.load_comp #loading:after {
    opacity: 0; }
  @media only screen and (max-width: 768px) {
    #container.load_comp header {
      top: 0px; } }

/* #container.load_comp */
