@charset "utf-8";

/* ****************************************************************************************************
   * 共用
**************************************************************************************************** */

html, body {
  height: 100%;
}

#body {
  height: 100%;
  padding-top: 0 !important;
}

#main {
 /*  margin-top: 100vh; */
  overflow: hidden;
  background-color: #fff;
  position: relative;
  z-index: 2;
}

#common {
  background-color: #fff;
  position: relative;
  z-index: 2;
}

#footer {
  background-color: #fff;
  position: relative;
  z-index: 2;
}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * ヘッダー
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

#header {
  width: 100%;
  box-shadow: 0 3px 3px 0 rgba(0, 0, 0, 0.1);
  background-color: #fff;
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  transition:
    visibility 0.0s ease-in-out 0.3s,
    opacity 0.3s ease-in-out 0.0s;
  visibility: hidden;
  opacity: 0;
}

body.scroll-active
#header {
  transition:
    visibility 0.0s ease-in-out 0.0s,
    opacity 0.3s ease-in-out 0.0s;
  visibility: visible;
  opacity: 1;
}

#header div.body {
  width: 100%;
  max-width: none;
  padding-left: 20px;
  padding-right: 0;
  display: table;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:766px) {

  #header div.body {
    padding-right: 20px;
  }

}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * ロゴ
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

#header .logo {
  width: 66px;
  vertical-align: middle;
  display: table-cell;
}

#header .logo a {
  display: block;
}

#header .logo img {
  height: 50px;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:766px) {

  #header .logo img {
    height: auto;
  }

}

/* ****************************************************************************************************
   * ビジュアル
**************************************************************************************************** */

#visual {
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * ローディング
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

#visual div.loading {
  width: 100%;
  height: 100%;
  font-size: 0;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
  transition:
    visibility 0.0s ease-in-out 0.5s,
    opacity 0.5s ease-in-out 0.0s;
  visibility: visible;
  opacity: 1;
}

#visual div.loading.done {
  visibility: hidden;
  opacity: 0;
}

#visual div.loading div.content {
  width: 60px;
  height: 54px;
  margin-top: -27px;
  margin-left: -30px;
  position: absolute;
  z-index: 10;
  top: 50%;
  left: 50%;
  transition: all 0.3s ease-in-out 0s;
  background-color: #fff;
}

#visual div.loading .icon {
  width: 100%;
  height: 100%;
  margin: 0 auto;
  display: block;
  position: relative;
  background: url(../../_image/_common/logo-loading.png) center center no-repeat;
  background-size: cover;
  -webkit-animation: rotateplane 2.5s infinite ease-in-out;
  animation: rotateplane 2.5s infinite ease-in-out;
}

@-webkit-keyframes rotateplane {
  0% { -webkit-transform: perspective(120px) }
  25% { -webkit-transform: perspective(120px) rotateX(-180deg) }
  50% { -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(180deg) }
  75% { -webkit-transform: perspective(120px) rotateY(180deg) }
  100% { -webkit-transform: perspective(120px) }
}

@keyframes rotateplane {
  0% {
    transform: perspective(120px) rotateX(0deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
  } 25% {
    transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
  } 50% {
    transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
    -webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
  } 75% {
    transform: perspective(120px) rotateX(0deg) rotateY(-179.9deg);
    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(-179.9deg);
  } 100% {
    transform: perspective(120px) rotateX(0deg) rotateY(0deg);
    -webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg);
  }
}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * 動画
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

#visual div.video {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
}

#visual div.video::before {
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  background: url(../../_image/index/visual-wrap.png);
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
}

#visual div.video iframe {
  max-width: none;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  position: absolute;
  z-index: -1;
  top: 0;
  left: 50%;
}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * ロゴ
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

#visual div.video .logo {
  margin-top: -25px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
}

#visual div.video .logo img {
  height: 180px;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:766px) {

  #visual div.video .logo {
    margin-top: -40px;
  }

  #visual div.video .logo img {
    height: auto;
  }

}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * キャッチコピー
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

#visual div.video .catchcopy {
  width: 80%;
  margin: 0;
  padding: 0 0.5em;
  color: #fff;
  font-size: 10px;
  text-align: right;
  position: absolute;
  z-index: 1;
  top: 8px;
  left: 0;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:766px) {

  #visual div.video .catchcopy {
    width: 100%;
    padding-right: 140px;
    font-size: 13px;
    text-align: right;
    top: 12px;
  }

}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * お問い合わせ
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

#visual div.video .contact {
  width: 20%;
  margin: 0;
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:766px) {

  #visual div.video .contact {
    width: auto;
    right: 20px;
  }

}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * 矢印
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

#visual div.video .scrolldown {
  width: 120px;
  height: 80px;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  position: absolute;
  z-index: 1;
  left: 50%;
  bottom: 0;
  -webkit-animation: arrow 0.5s 1s infinite ease-out alternate;
}

#visual div.video .scrolldown a {
  display: block;
  height: 80px;
}

#visual div.video .scrolldown:hover {
  -webkit-animation-play-state: paused;
}

#visual div.video .scrolldown .sd-left {
  position: absolute;
  height: 10px;
  width: 40px;
  background: #fff;
  -webkit-transform: rotate(240deg);
  top: 50px;
  left: 55px;
  -webkit-border-radius: 4px;
  -webkit-transform-origin: 5px 50%;
  -webkit-animation: leftArrow 0.5s 1s infinite ease-out alternate;
}

#visual div.video .scrolldown .sd-right {
  position: absolute;
  height: 10px;
  width: 40px;
  background: #fff;
  -webkit-transform: rotate(-60deg);
  top: 50px;
  left: 56px;
  -webkit-border-radius: 4px;
  -webkit-transform-origin: 5px 50%;
  -webkit-animation: rightArrow 0.5s 1s infinite ease-out alternate;
}

@-webkit-keyframes arrow {
  0% {
    bottom: 10px;
  }
  100%{
    bottom: 30px;
  }
}

@-webkit-keyframes leftArrow {
  0% {
  }
  100% {
    -webkit-transform:rotate(225deg);
  }
}

@-webkit-keyframes rightArrow {
  0% {
  }
  100% {
    -webkit-transform:rotate(-45deg);
  }
}

/* For IE ------------------- */

#visual div.video .scrolldown img {
  display: none;
}

#visual div.video .scrolldown a {
  padding-top: 20px\0;
}

#visual div.video .scrolldown img {
  display: inline\0;
}

#visual div.video .scrolldown div {
  display: none\0;
}

/* ****************************************************************************************************
   * TOPICS
**************************************************************************************************** */

#topics {
  margin-top: 70px;
}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * ナビ
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

#topics ul.nav,
#topics ul.nav li {
  margin: 0;
  padding: 0;
  list-style: none;
}

#topics ul.nav {
  margin: 0 auto 40px;
  font-weight: bold;
  display: table;
}

#topics ul.nav li {
  padding: 0 0.5em;
  line-height: 1.2;
  font-weight: 900;
  vertical-align: top;
  display: table-cell;
}

#topics ul.nav li a {
  padding: 0.5em;
  cursor: pointer;
  vertical-align: top;
  display: inline-block;
}

#topics ul.nav li.active a {
  border-bottom: 1px solid #000;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:766px) {

  #topics ul.nav li {
    font-size: 18px;
  }

}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * 各カテゴリー記事一覧
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

#topics div.list div.item {
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
}

#topics div.list div.item ul.list,
#topics div.list div.item ul.list li {
  margin: 0;
  padding: 0;
  list-style: none;
}

#topics div.list div.item ul.list {
  margin-left: auto;
  margin-right: auto;
  display: table;
}

#topics div.list div.item ul.list li {
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
}

#topics div.list div.item ul.list li ~ li {
  border-top: none;
}

#topics div.list div.item ul.list li a {
  width: 100%;
  padding: 10px 0;
  text-decoration: none;
  display: table;
  table-layout: fixed;
}

/* -------------------------------------------------------------------------------------------------
   * 画像
/* ---------------------------------------------------------------------------------------------- */

#topics div.list div.item ul.list li .image {
  width: 70px;
  vertical-align: top;
  display: table-cell;
}

#topics div.list div.item ul.list li .image img {
  border: 1px solid #e5e5e5;
}

#topics div.list div.item ul.list li a:hover img {
  opacity: 1;
}

/* -------------------------------------------------------------------------------------------------
   * 内容
/* ---------------------------------------------------------------------------------------------- */

#topics div.list div.item ul.list li div.content {
  padding-left: 1em;
  vertical-align: middle;
  display: table-cell;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:766px) {

  #topics div.list div.item ul.list li div.content {
    padding-left: 2em;
  }

}

/* * 日付
/* ････････････････････････････････････････････････････････････････････････････････････････････ */

#topics div.list div.item ul.list li div.content .date {
  display: block;
}

/* * タイトル
/* ････････････････････････････････････････････････････････････････････････････････････････････ */

#topics div.list div.item ul.list li div.content .title {
  display: block;
}

/* -------------------------------------------------------------------------------------------------
   * 一覧ボタン
/* ---------------------------------------------------------------------------------------------- */

#topics div.list div.item .button {
  padding: 0 0.5em;
}

#topics div.list div.item .button a {
  text-decoration: none;
}

/* ****************************************************************************************************
   * コンテンツ
**************************************************************************************************** */

#contents .item {
  margin-bottom: 70px;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:766px) {

  #contents .item {
    letter-spacing: -0.4em;
  }

  #contents .item > * {
    letter-spacing: normal;
  }

}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * 画像
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

#contents .item div.image img {
  width: 100%;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:766px) {

  #contents .item div.image {
    width: 60%;
    vertical-align: top;
    display: inline-block;
  }

  #contents .item:nth-of-type(odd) div.image {
    width: 100%;
    margin-right: -100%;
    padding-left: 40%;
  }

}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * 内容
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

#contents .item div.content {
  font-size: 16px;
}

#contents .item div.content-body {
  max-width: 430px;
  padding: 20px 10px 0;
  letter-spacing: -0.4em;
}

#contents .item div.content-body > * {
  letter-spacing: normal;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:766px) {

  #contents .item div.content {
    width: 40%;
    vertical-align: top;
    display: inline-block;
  }

  #contents .item:nth-of-type(odd) div.content-body {
    margin-left: auto;
    margin-right: 0;
  }

}

/* -------------------------------------------------------------------------------------------------
   * タイトル
/* ---------------------------------------------------------------------------------------------- */

#contents .item .title {
  width: 100%;
  margin-right: -100%;
  overflow: hidden;
  vertical-align: top;
  display: inline-block;
}

#contents .item .title img {
  width: 100px;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:766px) {

  #contents .item .title img {
    width: 160px;
  }

}

/* -------------------------------------------------------------------------------------------------
   * サブタイトル
/* ---------------------------------------------------------------------------------------------- */

#contents .item .sub-title {
  font-size: 12px;
}

/* -------------------------------------------------------------------------------------------------
   * メッセージ
/* ---------------------------------------------------------------------------------------------- */

#contents .item div.message {
  width: 100%;
  padding-top: 10px;
  padding-left: 80px;
  line-height: 1.8;
  letter-spacing: 2px;
  font-size: 18px;
  font-weight: bold;
  vertical-align: top;
  display: inline-block;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:766px) {

  #contents .item div.message {
    padding-left: 110px;
    padding-right: 1em;
    line-height: 2.25;
    font-size: 16px;
  }

}

/* -------------------------------------------------------------------------------------------------
   * more ボタン
/* ---------------------------------------------------------------------------------------------- */

#contents .item div.content .button {
  margin-top: 1.8em;
}

#contents .item div.content .button a {
  text-decoration: none;
  vertical-align: top;
  display: inline-block;
}

#contents .item div.content .button a::before {
  content: 'COMING SOON';
  margin-bottom: 0.5em;
  color: #777;
  font-size: 12px;
  display: block;
}

#contents .item div.content .button a img {
  opacity: 0.1;
}

#contents .item div.content .button a[href]::before {
  content: none;
}

#contents .item div.content .button a[href] img {
  opacity: 1;
}

#contents .item div.content .button a[href]:hover img {
  opacity: 0.6;
}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * 注釈
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

#contents div.note {
  margin-top: 50px;
  font-size: 10px;
  text-align: center;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:766px) {

  #contents div.note {
    margin-top: 80px;
  }

}

/* ****************************************************************************************************
   * SPACE RENTAL
**************************************************************************************************** */

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * タイトル
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:766px) {

  #space-rental.item .title img {
    width: 150px;
  }

}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * 内容
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

#space-rental.item div.message {
  padding-left: 110px;
}

/* :::::::: ブレイクポイント :::::::: */

@media print, screen and (min-width:766px) {

  #space-rental.item div.message {
    padding-left: 160px;
  }

}

/* ****************************************************************************************************
   * イベント情報
**************************************************************************************************** */

#event {
  padding: 60px 0 60px;
  background: #101010;
}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
   * 一覧
/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

#event ul.list,
#event ul.list li {
  margin: 0;
  padding: 0;
  list-style: none;
}

#event ul.list {
  margin-bottom: -50px;
  letter-spacing: -0.4em;
  text-align: center;
  overflow: hidden;
}

#event ul.list li {
  margin: 0 20px 50px;
  letter-spacing: normal;
  text-align: left;
  vertical-align: top;
  display: inline-block;
  position: relative;
  z-index: 1;
}
