@charset "UTF-8";
/*
Theme Name: Tokyo Esports Gate
Description: Tokyo Esports Gate
Author:Tokyo Esports Gate
*/
/* CSS Document */
/* ////////////////////////////////////////////
   ////////////////////////////////////////////
 .less基本関数
   ////////////////////////////////////////////
  ////////////////////////////////////////////
*/
/*$includeVal:($innerWidth - 550) / $innerWidth * 100 * 0.5 * 1%;*/
/* ////////////////////////////////////////////
   ////////////////////////////////////////////
   ブレイクポイント設定
   ////////////////////////////////////////////
  ////////////////////////////////////////////
*/
.breakpoint {
  opacity: 0;
  width: 0px;
  height: 0px;
  position: fixed;
  bottom: 0px;
  left: 0px;
}

/* ////////////////////////////////////////////
   ////////////////////////////////////////////
   スクロールライン設定
   ////////////////////////////////////////////
  ////////////////////////////////////////////
*/
.topLine {
  position: fixed;
  top: 0%;
  right: 0px;
  height: 1px;
  background-color: #000;
  width: 100px;
  opacity: 0;
  z-index: 100;
}

.halfLine {
  position: fixed;
  top: 50%;
  right: 0px;
  height: 1px;
  background-color: #000;
  width: 100px;
  opacity: 0;
  z-index: 100;
}

.endLine {
  position: fixed;
  bottom: 0px;
  right: 0px;
  height: 1px;
  background-color: #000;
  width: 100px;
  opacity: 0;
  z-index: 100;
}

/*IE用にobject-fitのフォロー*/
.object-fit {
  object-fit: cover;
  font-family: "object-fit: cover;";
  /*IE対策*/
}

/*ブロック要素の天地中央*/
/*ブロック要素の天地中央のクリア*/
/*ボックスシャドウ*/
/*ブラー*/
/*角丸*/
/*cssアニメーション効果*/
/*cssアニメーション解除*/
/*cssアニメーション効果(ease)*/
/*cssアニメーション効果(fast)*/
/*inline-blockのリスト*/
/*aタグタグ詳細設定関数　
.linkConfig(通常時文字色;ホーバー時文字色;false;true);
*/
/*/////////////////
フォームのパーツ関連
/////////////////*/
/*ドロップダウンメニュー*/
/*ラジオボタン&チェックボックス*/
/*フォーカスした際のミックスイン*/
/*ボタン作成
$color
文字色、矢印色
$arrowRotate
45deg→右向き
135deg→下向き
false→矢印なし
$bgColor
背景色
$borderWidth
*/
/*
$flipSpan:item内にまとめる個数、
$liMargin:li同士のマージン,
$horigen:横一列の個数、
$pointer:ポインターの有無(bool);

*/
/* ////////////////////////////////////////////
   ////////////////////////////////////////////
   オリジナル
   ////////////////////////////////////////////
  ////////////////////////////////////////////
*/
/* //////////////// アニメーション //////////////// */
/* ======================================== */
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
/* ======================================== */
@keyframes navFadeIn {
  0% {
    visibility: visible;
    opacity: 0;
  }
  100% {
    visibility: visible;
    opacity: 1;
  }
}
@keyframes navFadeOut {
  0% {
    visibility: visible;
    opacity: 1;
  }
  99% {
    opacity: 0;
  }
  100% {
    visibility: hidden;
  }
}
/* ======================================== */
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 30%, 0);
    transform: translate3d(0, 30%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
    visibility: visible;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes bgiLoop {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: 1033px 0px;
  }
}
@keyframes scroll {
  0% {
    opacity: 0;
  }
  10% {
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    transform: translateY(40px);
    opacity: 1;
  }
}
@keyframes introduction {
  from {
    opacity: 1;
    visibility: visible;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
@keyframes zoomOut {
  from {
    opacity: 0;
    transform: scale(1.2);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes scrollCtr {
  from {
    overflow: hidden;
  }
  to {
    overflow: scroll;
  }
}
@keyframes hideContent {
  from {
    opacity: 0;
    max-height: 0em;
  }
  to {
    opacity: 1;
    max-height: 1000em;
  }
}
@keyframes fluffy1 {
  0% {
    transform: translateY(0);
  }
  5% {
    transform: translateY(0);
  }
  10% {
    transform: translateY(0);
  }
  20% {
    transform: translateY(-10px);
  }
  30% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes rotateIn {
  from {
    opacity: 0;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    transform-origin: bottom left;
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    transform-origin: bottom left;
  }
}
@keyframes rotateOut {
  from {
    opacity: 1;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    transform-origin: bottom left;
  }
  to {
    opacity: 0;
    -webkit-transform: none;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    transform-origin: bottom left;
  }
}
/*アプリ*/
/*PR*/
@keyframes outCircle {
  0% {
    background-color: #FFF;
  }
  50% {
    background-color: #FFF;
  }
  100% {
    background-color: #E1251B;
  }
}
@keyframes innerCircle {
  0% {
    background-color: #F0F0F0;
    fill: #F0F0F0;
  }
  50% {
    background-color: #E1251B;
    fill: #E1251B;
  }
  100% {
    background-color: #F0F0F0;
    fill: #F0F0F0;
  }
}
/* ////////////////////////////////////////////
   ////////////////////////////////////////////
   webフォント関数
   ////////////////////////////////////////////
  ////////////////////////////////////////////
*/
/* ===================================================================
CSS information
 style info :リセット及びbody初期設定 (このCSSは通常変更しない)
=================================================================== */
/* reset */
html {
  font-size: 62.5%;
  /* フォントの基準値を10pxに指定*/
}

* {
  line-height: 1;
}

body, div, dl, dt, 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;
}

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

object, embed {
  vertical-align: top;
}

legend {
  display: none;
}

input, button, select, textarea {
  font-size: 1.4rem;
  color: inherit;
  margin: 0;
}
input:focus, button:focus, select:focus, textarea:focus {
  outline: 0;
  border: 2px solid #000;
}

input, button {
  line-height: normal;
  vertical-align: inherit;
  *vertical-align: middle;
}

input::-moz-focus-inner, button::-moz-focus-inner, textarea::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input[type=search] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

input[type=search]:focus {
  outline-offset: -2px;
}

input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

input[type=checkbox], input[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

input[type=submit], input[type=reset], input[type=button], input[type=password], button {
  cursor: pointer;
  -webkit-appearance: button;
}

input[type=text], input[type=password], input[type=email] {
  -webkit-appearance: none;
  display: inline-block;
  border: 1px solid #000;
  border-radius: 0;
  -webkit-border-radius: 0px;
  padding: 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

textarea {
  border-radius: 0;
  -webkit-border-radius: 0px;
  border: 1px solid #000;
}

#access_article_S span {
  font-size: 100%;
}

section {
  border: 0;
}

a {
  outline: none;
}

.right {
  list-style-type: none;
}

/* HTML5要素ブロック化 */
header, nav, section, article, aside, footer, address, strong, b, p {
  display: block;
}

p {
  word-wrap: break-word;
}

/* default */
/*body {
	background: #fff;
	color: #333333;
	font-family: "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
	line-height: 1.4;
}*/
body {
  background: #FFF;
  color: #000;
  font-family: "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  line-height: 1.8;
}

html, body {
  height: 100%;
}

/* IE6 base font */
* html body {
  font-family: "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
}

#customPage img {
  border-style: none;
  width: 100%;
}

#fb-root {
  display: none;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}

/* CSS Document */
/* ////////////////////////////////////////////
   ////////////////////////////////////////////

全サイト共通部分

  ////////////////////////////////////////////
  ////////////////////////////////////////////
*/
/*
一般設定
----------------------------------------
*/
ul {
  list-style-type: none;
}

/*
@font-face {
  font-family: 'HelveticaNeue';
  src: url('../font/HelveticaNeueLTStd-Md.otf') format('opentype');
}
@font-face {
  font-family: 'HelveticaNeue';
  font-weight: bold;
  src: url('../font/HelveticaNeueLTStd-BdCn.otf') format('opentype');
}
*/
/*
背景設定
----------------------------------------
*/
html.noscroll {
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
}

/*
テキスト&埋め込みテキスト設定
----------------------------------------
*/
body {
  font-size: 1.3em;
  /* 13px */
}

body {
  /*-webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;*/
}

input[type=submit] {
  -webkit-appearance: none;
  border-radius: 0;
  border: none;
}

svg {
  width: 100%;
  height: 100%;
}

img {
  width: 100%;
  vertical-align: bottom;
  -webkit-backface-visibility: hidden;
}

/*
loadingオーバーレイ
----------------------------------------
*/
#loading_overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  right: 0px;
  z-index: 100;
  background-color: white;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  opacity: 1;
}
#loading_overlay > div {
  border: 4px solid rgba(38, 46, 49, 0.2);
  border-top-color: #262E31;
  width: 60px;
  height: 60px;
  border-radius: 100%;
  margin-top: -30px;
  margin-left: -30px;
  border: 4px solid #ccc;
  border-top-color: #666;
  box-sizing: border-box;
  position: absolute;
  top: 50%;
  left: 50%;
  animation: loading 1.2s linear infinite;
  -webkit-animation: loading 1.2s linear infinite;
}
#loading_overlay.loadingFinish {
  z-index: -10;
  opacity: 0;
}

@keyframes loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes loading {
  0% {
    -webkit-transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
  }
}
.preview {
  margin: 60px 0px 0px 30px;
}
.preview ul {
  list-style-type: disc;
}
.preview ul > h4 {
  margin-bottom: 30px;
  font-size: 2rem;
}
.preview ul li {
  margin-bottom: 20px;
  font-size: 1.6rem;
  margin-left: 20px;
}
.preview ul li a:link {
  text-decoration: underline;
}
.preview ul li a:hover {
  text-decoration: none;
}

br.point2 {
  display: none;
}

br.point1 {
  display: none;
}

br.basic {
  display: inline-block;
}

@keyframes visionOpen {
  0% {
    visibility: visible;
    z-index: 21;
    opacity: 0;
  }
  1% {
    visibility: visible;
    z-index: 21;
    opacity: 0;
  }
  100% {
    visibility: visible;
    z-index: 21;
    opacity: 1;
  }
}
@keyframes visionOpenOverlay {
  0% {
    visibility: visible;
    z-index: 12;
    opacity: 0;
  }
  1% {
    visibility: visible;
    z-index: 12;
    opacity: 0;
  }
  100% {
    visibility: visible;
    z-index: 12;
    opacity: 1;
  }
}
/*//////////////////////////////////////////
////////////////////////////////////////////
point1////////////////////////////////
////////////////////////////////////////////
//////////////////////////////////////////*/
/*//////////////////////////////////////////
////////////////////////////////////////////
point2////////////////////////////////
////////////////////////////////////////////
//////////////////////////////////////////*/
/* CSS Document */
/* ////////////////////////////////////////////
   ////////////////////////////////////////////
   ブレイクポイント変数
   ////////////////////////////////////////////
  ////////////////////////////////////////////
*/
/* ////////////////////////////////////////////
   ////////////////////////////////////////////

オリジナル要素

  ////////////////////////////////////////////
  ////////////////////////////////////////////
*/
/*
コンテナ設定
----------------------------------------
*/
html {
  height: 100%;
}

.preview a:link, .preview a:visited, .preview a:hover {
  color: #000;
}

body {
  font-family: "M PLUS Rounded 1c", "ヒラギノ丸ゴ ProN", "Hiragino Maru Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  font-weight: 500;
  position: relative;
  width: 100%;
  font-size: 1.3rem;
  color: #000;
  font-family: dnp-shuei-gothic-kin-std, sans-serif;
  font-style: normal;
  font-weight: 400;
}
body a:link, body a:visited {
  color: #333;
}
body a:link {
  text-decoration: none;
}
body a:visited {
  text-decoration: none;
}
body a:hover {
  color: #333;
}
body a:hover {
  text-decoration: none;
}
body.vision .overlay {
  -webkit-animation-name: visionOpenOverlay;
  animation-name: visionOpenOverlay;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
body.vision .mainVis > div > main > div.typo > .companyVision {
  z-index: 21;
}
body.vision .mainVis > div > main > div.typo > .companyVision > div > b {
  -webkit-animation-name: visionOpen;
  animation-name: visionOpen;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
body.vision .mainVis > div > main > div.typo > .companyVision > div > p {
  background-color: #FFF;
}
body.vision .mainVis > div > main > div.typo > .companyVision > div > p > span {
  color: #000;
}
body.vision .mainVis > div > main > div.typo > .companyVision > div > div {
  -webkit-animation-name: visionOpen;
  animation-name: visionOpen;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}
body .overlay {
  position: fixed;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.75);
  z-index: 0;
  visibility: hidden;
  top: 0px;
}
body header {
  width: 100%;
  height: 60px;
  position: fixed;
  top: 0px;
  left: 0px;
  background-color: #fff;
  z-index: 11;
}
body header > .logo {
  width: 200px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  margin: auto;
  left: 20px;
}
body header > ol {
  list-style-type: none;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  display: none;
}
body header > ol > li {
  margin-left: 20px;
}
body header > ol > li.instagram {
  margin-top: 2px;
  font-size: 2.2rem;
}
body header > ol > li.language span {
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  padding: 1px 3px;
  border: 2px solid #000;
  font-weight: 700;
  font-size: 0.9rem;
}
body .toggle_in {
  width: 40%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  margin: auto;
  left: 0;
  right: 0;
}
body .toggle_in > div {
  height: 3px;
  width: 100%;
  background: #FFF;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
body .toggle_in > div.toggle_2 {
  margin: 4px 0;
}
body.navopend .toggle_in > div.toggle_2 {
  opacity: 0;
}
body.navopend .toggle_in > div.toggle_1 {
  -webkit-transform: translate(0, 5px) rotate(45deg);
  transform: translate(0, 5px) rotate(45deg);
}
body.navopend .toggle_in > div.toggle_3 {
  -webkit-transform: translate(0, -5px) rotate(-45deg);
  transform: translate(0, -5px) rotate(-45deg);
}
body .toggle {
  width: 45px;
  height: 40px;
  display: block;
  opacity: 1;
  right: 10px;
  top: 10px;
  position: fixed;
  z-index: 100;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  cursor: pointer;
}
body .toggle > div {
  width: 25px;
}
body .toggle .toggle_in {
  padding: 10px;
}
body .toggle .toggle_in > div {
  height: 2px;
  width: 100%;
  background: #000;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
body .toggle .toggle_in > div.toggle_2 {
  margin: 3px 0;
}
body .toggle .toggle_in .toggle_2 {
  opacity: 0;
}
body.navopend nav {
  right: 0%;
}
body nav {
  position: fixed;
  top: 60px;
  right: -100%;
  height: 600px;
  width: 80%;
  background-color: #FFF;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 11;
}
body nav > div {
  padding: 20px;
}
body nav > div > ul {
  text-align: right;
}
body nav > div > ul > li {
  margin-bottom: 25px;
}
body nav > div > ul > li > strong {
  font-size: 1.6rem;
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  letter-spacing: 0.2rem;
}
body nav > div > ul > li > ul {
  margin-top: 25px;
}
body nav > div > ul > li > ul > li {
  margin-bottom: 25px;
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
}
body nav > div > ul > li > ul > li a {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
body nav > div > ul > li > ul > li a span {
  font-size: 1.4rem;
  letter-spacing: 0.2rem;
}
body nav > div > ul > li > ul > li a:after {
  content: "";
  display: block;
  width: 3px;
  height: 2px;
  background-color: #000;
  margin-left: 10px;
}
body nav > div > ol {
  list-style-type: none;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
body nav > div > ol > li {
  margin-left: 20px;
}
body nav > div > ol > li.instagram {
  margin-top: 2px;
  font-size: 2.2rem;
}
body nav > div > ol > li.language span {
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  padding: 1px 3px;
  border: 2px solid #000;
  font-weight: 700;
  font-size: 0.9rem;
}
body .mainVis {
  width: 100%;
  height: 200px;
  min-height: calc(100vh - 60px);
  /* Fallback */
  min-height: calc(var(--vh, 1vh) * 100 - 60px);
  margin-top: 60px;
  position: relative;
}
body .mainVis > p {
  width: 3px;
  height: 80px;
  background-color: #CCCCCC;
  position: absolute;
  bottom: 20px;
  right: 20px;
  display: none;
}
body .mainVis > p:after {
  content: "";
  width: 3px;
  height: 20px;
  background-color: #000;
  display: block;
  animation-name: scroll;
  position: absolute;
  top: 20px;
  animation-duration: 2.2s;
  animation-timing-function: cubic-bezier(0.15, 0.41, 0.69, 0.94);
  animation-iteration-count: infinite;
}
body .mainVis > div {
  height: 100%;
  width: calc(100% - 40px);
  margin-left: auto;
  margin-right: auto;
  left: 0px;
  right: 0px;
}
body .mainVis > div > main {
  height: 100%;
}
body .mainVis > div > main > div.video {
  height: 45%;
  overflow: hidden;
  position: relative;
}
body .mainVis > div > main > div.video video {
  /*天地中央配置*/
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /*縦横幅指定*/
  width: 177.77777778vh;
  /* 16:9 の幅→16 ÷ 9＝ 177.77% */
  height: 56.25vw;
  /* 16:9の幅 → 9 ÷ 16 = 56.25% */
  min-height: 100%;
  min-width: 100%;
}
body .mainVis > div > main > div.typo {
  height: 55%;
  display: flex;
  align-items: center;
  position: relative;
}
body .mainVis > div > main > div.typo b {
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: clamp(3rem, 9vw, 5rem);
  font-weight: 600;
  letter-spacing: 0.3rem;
  line-height: 2.2;
}
body .mainVis > div > main > div.typo > .companyVision {
  color: #FFF;
  position: absolute;
  top: -50px;
  right: 0%;
  z-index: 2;
  text-align: right;
  display: flex;
  justify-content: center;
  align-items: center;
}
body .mainVis > div > main > div.typo > .companyVision > div {
  position: relative;
}
body .mainVis > div > main > div.typo > .companyVision > div > b {
  font-family: dnp-shuei-gothic-kin-std, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-weight: 700;
  font-size: 1.7rem;
  line-height: 3.2;
  letter-spacing: 0.4rem;
  position: absolute;
  top: -230px;
  right: 0%;
  width: calc(100vw - 40px);
  visibility: hidden;
  opacity: 0;
}
body .mainVis > div > main > div.typo > .companyVision > div > p {
  width: 100px;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #666;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  cursor: pointer;
  margin-right: 20px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 12;
  position: relative;
}
body .mainVis > div > main > div.typo > .companyVision > div > p > span {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  color: #FFF;
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  line-height: 1.8;
  font-style: italic;
  font-weight: 900;
  letter-spacing: 0.2rem;
  font-size: 1.2rem;
}
body .mainVis > div > main > div.typo > .companyVision > div > div {
  position: absolute;
  bottom: -840px;
  right: 0%;
  color: #FFF;
  width: calc(100vw - 40px);
  visibility: hidden;
  opacity: 0;
}
body .mainVis > div > main > div.typo > .companyVision > div > div > p {
  font-family: dnp-shuei-gothic-kin-std, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 3;
  letter-spacing: 0.1rem;
}
body:not(.index) #wrapper {
  margin-top: 0px;
}
body #wrapper {
  margin-top: 40px;
}
body #wrapper section {
  margin-bottom: 80px;
}
body #wrapper section:first-of-type {
  padding-top: 60px;
}
body #wrapper section ol.tagslist {
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
}
body #wrapper section ol.tagslist > li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 15px;
  height: 15px;
  border: 1px solid #666666;
  margin-right: 8px;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
}
body #wrapper section ol.tagslist > li.main {
  background-color: #666;
}
body #wrapper section ol.tagslist > li.main span {
  color: #FFF;
}
body #wrapper section ol.tagslist > li span {
  color: #666;
  font-size: 1.1rem;
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  font-weight: bold;
}
body #wrapper section ol.tagslist > li:last-of-type {
  margin-right: 0px;
}
body #wrapper section > div {
  width: calc(100% - 40px);
  margin-left: auto;
  margin-right: auto;
  left: 0px;
  right: 0px;
}
body #wrapper section > div > div.caption {
  text-align: center;
  margin-bottom: 30px;
}
body #wrapper section > div > div.caption > b {
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 2.4rem;
  letter-spacing: 0.2rem;
  display: block;
  margin-bottom: 15px;
  font-weight: normal;
}
body #wrapper section > div > div.caption > b:after {
  content: "";
  display: block;
  width: 50px;
  height: 2px;
  background-color: #000;
  margin-left: auto;
  margin-right: auto;
  left: 0px;
  right: 0px;
  margin-top: 10px;
}
body #wrapper section > div > div.caption > p {
  line-height: 1.6;
  font-size: 1.2rem;
}
body #wrapper section > div > div.caption > strong {
  font-size: 1.4rem;
  font-family: "Times New Roman", Times, serif;
  letter-spacing: 0.1rem;
  font-weight: normal;
}
body #wrapper section > div > p.btn_arrow {
  width: calc(100% - 40px);
  margin-left: auto;
  margin-right: auto;
  left: 0px;
  right: 0px;
  margin-top: 40px;
}
body #wrapper section > div > p.btn_arrow a {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #000;
  padding: 10px 0px;
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 1.3rem;
  letter-spacing: 0.1rem;
  text-align: center;
  font-weight: normal;
  position: relative;
}
body #wrapper section > div > p.btn_arrow a:after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  margin: auto;
  font-family: "Font Awesome 5 Pro";
  font-weight: 300;
  display: block;
  font-size: 1.1rem;
}
body #wrapper section > div > p.btn_arrow.right a:after {
  content: "\f054";
  right: 10px;
}
body #wrapper section > div > p.btn_arrow.left a:after {
  content: "\f053";
  left: 10px;
}
body #wrapper section.top_creative_team .creative_cat {
  margin-bottom: 20px;
}
body #wrapper section.top_creative_team .creative_cat > ul {
  display: flex;
  justify-content: space-between;
}
body #wrapper section.top_creative_team .creative_cat > ul > li {
  width: 98.2142857143%;
}
body #wrapper section.top_creative_team .creative_cat > ul > li a {
  display: block;
  text-align: center;
}
body #wrapper section.top_creative_team .creative_cat > ul > li a b {
  font-family: "Times New Roman", Times, serif;
  font-size: 3.6rem;
  font-weight: normal;
}
body #wrapper section.top_creative_team .creative_cat > ul > li a p {
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.4;
}
body #wrapper section.top_creative_team .creative_swiper {
  position: relative;
}
body #wrapper section.top_creative_team .creative_swiper > .swiper {
  overflow: hidden;
}
body #wrapper section.top_creative_team .creative_swiper > .swiper .swiper-wrapper .swiper-slide > p {
  display: none;
}
body #wrapper section.top_creative_team .creative_swiper > .swiper-pagination {
  width: 100%;
  text-align: center;
  position: absolute;
  bottom: 10px;
  z-index: 10;
}
body #wrapper section.top_creative_team .creative_swiper > .swiper-pagination > span.swiper-pagination-bullet {
  width: 20px;
  height: 2px;
  display: inline-block;
  border-radius: 0%;
  background: #FFF;
  opacity: 0.5;
  margin-right: 8px;
  outline: none;
}
body #wrapper section.top_creative_team .creative_swiper > .swiper-pagination > span.swiper-pagination-bullet:last-of-type {
  margin-right: 0px;
}
body #wrapper section.top_creative_team .creative_swiper > .swiper-pagination > span.swiper-pagination-bullet.swiper-pagination-bullet-active {
  opacity: 1;
  position: relative;
}
body #wrapper section.top_creative_team .creative_swiper > .swiper-pagination > span.swiper-pagination-bullet.swiper-pagination-bullet-active > span {
  display: inline-block;
  position: absolute;
  width: calc(140 * 1px);
  top: -60px;
  left: calc((140 / 2 - 10) * -1px);
  margin: auto;
  background-color: #FFF;
  padding: 10px 0px;
}
body #wrapper section.top_creative_team .creative_swiper > .swiper-pagination > span.swiper-pagination-bullet.swiper-pagination-bullet-active > span font {
  display: block;
}
body #wrapper section.top_creative_team .creative_swiper > .swiper-pagination > span.swiper-pagination-bullet.swiper-pagination-bullet-active > span .title {
  font-size: 1.1rem;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  margin-bottom: 5px;
  padding: 0px 5px;
}
body #wrapper section.top_creative_team .creative_swiper > .swiper-pagination > span.swiper-pagination-bullet.swiper-pagination-bullet-active > span .cat {
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 1rem;
}
body #wrapper section.top_creative_team .creative_swiper > .swiper-pagination > span.swiper-pagination-bullet.swiper-pagination-bullet-active > span .cat.commercial_color {
  color: #9FB7FF;
}
body #wrapper section.top_creative_team .creative_swiper > .swiper-pagination > span.swiper-pagination-bullet.swiper-pagination-bullet-active > span .cat.cultural_color {
  color: #F7ADD7;
}
body #wrapper section.top_creative_team .creative_swiper > .swiper-pagination > span.swiper-pagination-bullet.swiper-pagination-bullet-active > span:after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background-color: #FFF;
  -webkit-transform: rotate(-45deg);
  transform: rotate(0deg);
  position: absolute;
  -webkit-transform: translateY(-50%) rotate(-45deg);
  -moz-transform: translateY(-50%) rotate(-45deg);
  -ms-transform: translateY(-50%) rotate(-45deg);
  -o-transform: translateY(-50%) rotate(-45deg);
  transform: translateY(-50%) rotate(-45deg);
  margin-left: auto;
  margin-right: auto;
  left: 0px;
  right: 0px;
  bottom: -10px;
}
body #wrapper section.top_works .projects {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
body #wrapper section.top_works .projects > div {
  background-color: #333;
  width: calc((100% - 10px) / 2);
}
body #wrapper section.top_works .projects > div .commercial_color {
  color: #9FB7FF;
}
body #wrapper section.top_works .projects > div .cultural_color {
  color: #F7ADD7;
}
body #wrapper section.top_works .projects > div > div {
  padding: 15px;
}
body #wrapper section.top_works .projects > div > div > div.project_head {
  text-align: center;
  color: #ccc;
  margin-bottom: 30px;
}
body #wrapper section.top_works .projects > div > div > div.project_head > strong {
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  margin-bottom: 20px;
  font-size: 1.5rem;
  display: block;
  word-break: break-all;
  line-height: 1.4;
}
body #wrapper section.top_works .projects > div > div > div.project_head > p {
  margin-bottom: 10px;
  font-size: 1.3rem;
  line-height: 1.6;
}
body #wrapper section.top_works .projects > div > div > div.project_head > span {
  font-size: 0.7rem;
  line-height: 1.6;
}
body #wrapper section.top_works .projects > div > div > ul.cat_list {
  margin-bottom: 20px;
}
body #wrapper section.top_works .projects > div > div > ul.cat_list > li {
  text-align: center;
  margin-bottom: 20px;
}
body #wrapper section.top_works .projects > div > div > ul.cat_list > li > p {
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  overflow: hidden;
  width: 60%;
  margin-left: auto;
  margin-right: auto;
  left: 0px;
  right: 0px;
  margin-bottom: 10px;
  position: relative;
  z-index: 1;
}
body #wrapper section.top_works .projects > div > div > ul.cat_list > li > span {
  color: #ccc;
  font-size: 1.1rem;
}
body #wrapper section.top_works .projects > div > div > ul.project_list > li {
  margin-bottom: 20px;
}
body #wrapper section.top_works .projects > div > div > ul.project_list > li:last-of-type {
  margin-bottom: 0px;
}
body #wrapper section.top_works .projects > div > div > ul.project_list > li a > p {
  margin-bottom: 5px;
}
body #wrapper section.top_works .projects > div > div > ul.project_list > li a > div {
  color: #FFF;
}
body #wrapper section.top_works .projects > div > div > ul.project_list > li a > div strong {
  font-weight: normal;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  width: 100%;
  font-size: 1.2rem;
  margin-bottom: 5px;
}
body #wrapper section.top_works .projects > div > div > ul.project_list > li a > div p {
  font-size: 0.9rem;
  font-weight: bold;
}
body #wrapper section.top_creative_business > div > div.denbakProduce > p {
  margin-bottom: 40px;
}
body #wrapper section.top_creative_business > div > div.denbakProduce > div {
  text-align: center;
}
body #wrapper section.top_creative_business > div > div.denbakProduce > div strong {
  font-weight: normal;
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 1.8rem;
  margin-bottom: 10px;
}
body #wrapper section.top_creative_business > div > div.denbakProduce > div p {
  line-height: 1.6;
  font-size: 1.1rem;
}
body #wrapper section.works_archive > div > div.works_list > ul {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
body #wrapper section.works_archive > div > div.works_list > ul > li {
  width: calc((100% - 30px) / 2);
  margin-right: 30px;
  opacity: 1;
  margin-bottom: 20px;
}
body #wrapper section.works_archive > div > div.works_list > ul > li.commercial a > p:after {
  background-color: #9FB7FF;
}
body #wrapper section.works_archive > div > div.works_list > ul > li.cultural a > p:after {
  background-color: #F7ADD7;
}
body #wrapper section.works_archive > div > div.works_list > ul > li.add {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  opacity: 0;
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}
body #wrapper section.works_archive > div > div.works_list > ul > li:nth-of-type(even) {
  margin-right: 0px;
}
body #wrapper section.works_archive > div > div.works_list > ul > li .commercial_color {
  color: #9FB7FF;
}
body #wrapper section.works_archive > div > div.works_list > ul > li .cultural_color {
  color: #F7ADD7;
}
body #wrapper section.works_archive > div > div.works_list > ul > li:last-of-type {
  margin-bottom: 0px;
}
body #wrapper section.works_archive > div > div.works_list > ul > li a {
  display: block;
  width: 100%;
}
body #wrapper section.works_archive > div > div.works_list > ul > li a > p {
  margin-bottom: 5px;
}
body #wrapper section.works_archive > div > div.works_list > ul > li a > p:after {
  content: "";
  display: block;
  height: 5px;
  width: 100%;
}
body #wrapper section.works_archive > div > div.works_list > ul > li a > div strong {
  font-weight: normal;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  width: 100%;
  font-size: 1.2rem;
  margin-bottom: 5px;
}
body #wrapper section.works_archive > div > div.works_list .works_more {
  text-align: center;
}
body #wrapper section.works_archive > div > div.works_list .works_more a {
  width: 60px;
  height: 60px;
  text-align: center;
  border: 1px solid #000;
  margin-left: auto;
  margin-right: auto;
  left: 0px;
  right: 0px;
  display: flex;
  justify-content: center;
  align-items: center;
}
body #wrapper section.works_archive > div > div.works_list .works_more a p:before {
  content: "\f067";
  font-family: "Font Awesome 5 Pro";
  font-weight: 300;
  display: block;
  font-size: 1.8rem;
  margin-bottom: 5px;
}
body #wrapper section.works_archive > div > div.works_list .works_more a p span {
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 1.2rem;
  letter-spacing: 0.1rem;
}
body #wrapper section.cross_over_project {
  margin-bottom: 0px;
}
body #wrapper section.cross_over_project > div {
  width: 100%;
}
body #wrapper section.cross_over_project > div > strong {
  position: relative;
  width: calc(100% - 20px);
  margin-left: auto;
  margin-right: auto;
  left: 0px;
  right: 0px;
  text-align: center;
  display: block;
  margin-bottom: 30px;
}
body #wrapper section.cross_over_project > div > strong > span {
  background-color: #FFF;
  padding: 0px 10px;
  font-weight: normal;
  position: relative;
  z-index: 2;
}
body #wrapper section.cross_over_project > div > strong:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  margin: auto;
  height: 2px;
  width: 100%;
  background-color: #000;
  z-index: 1;
}
body #wrapper section.cross_over_project > div > div.cross_over_swiper {
  position: relative;
}
body #wrapper section.cross_over_project > div > div.cross_over_swiper .swiper {
  overflow: hidden;
}
body #wrapper section.cross_over_project > div > div.cross_over_swiper .swiper .swiper-wrapper .swiper-slide.commercial a > p:after {
  background-color: #9FB7FF;
}
body #wrapper section.cross_over_project > div > div.cross_over_swiper .swiper .swiper-wrapper .swiper-slide .cultural a > p:after {
  background-color: #F7ADD7;
}
body #wrapper section.cross_over_project > div > div.cross_over_swiper .swiper .swiper-wrapper .swiper-slide a > p {
  margin-bottom: 5px;
}
body #wrapper section.cross_over_project > div > div.cross_over_swiper .swiper .swiper-wrapper .swiper-slide a > p:after {
  content: "";
  display: block;
  height: 5px;
  width: 100%;
}
body #wrapper section.cross_over_project > div > div.cross_over_swiper .swiper .swiper-wrapper .swiper-slide a > ol.tagslist {
  justify-content: center;
}
body #wrapper section.cross_over_project > div > div.cross_over_swiper .next, body #wrapper section.cross_over_project > div > div.cross_over_swiper .prev {
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #999;
  color: #FFF;
  font-weight: 200;
  position: absolute;
  top: calc(50% - 7.5px);
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  margin: auto;
  z-index: 2;
}
body #wrapper section.cross_over_project > div > div.cross_over_swiper .next {
  right: 0px;
}
body #wrapper section.cross_over_project > div > div.cross_over_swiper .prev {
  left: 0px;
}
body #wrapper section.works_detail > div > div.content {
  margin-bottom: 20px;
}
body #wrapper section.works_detail > div > div.content .title {
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  text-align: center;
  width: calc(100% - 40px);
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  left: 0px;
  right: 0px;
  font-weight: normal;
  font-size: 1.8rem;
  line-height: 1.6;
  margin-bottom: 15px;
}
body #wrapper section.works_detail > div > div.content ol.tagslist {
  justify-content: center;
  margin-bottom: 70px;
}
body #wrapper section.works_detail > div > div.content .description {
  width: calc(100% - 40px);
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  left: 0px;
  right: 0px;
  margin-bottom: 40px;
}
body #wrapper section.works_detail > div > div.content .description > p {
  line-height: 1.6;
  font-size: 1.4rem;
  color: #666;
}
body #wrapper section.works_detail > div > div.content > ul > li {
  margin-bottom: 20px;
}
body #wrapper section.works_detail > div > div.content video {
  width: 100%;
}
body #wrapper section.works_detail > div > div.content > div > .credit {
  margin-bottom: 40px;
  position: relative;
  margin-left: 10px;
  padding-left: 10px;
}
body #wrapper section.works_detail > div > div.content > div > .credit p {
  line-height: 2.4;
  letter-spacing: 0.1rem;
}
body #wrapper section.works_detail > div > div.content > div > .credit:before {
  content: "";
  display: block;
  width: 2px;
  height: calc(100% + 10px);
  background-color: #000;
  position: absolute;
  left: 0px;
  top: -10px;
}
body #wrapper section.works_detail > div > div.content > div > .description p {
  line-height: 2;
}
body #wrapper section.creative_cat {
  margin-bottom: 20px;
}
body #wrapper section.creative_cat > div > div {
  margin-top: 20px;
  margin-bottom: 20px;
}
body #wrapper section.creative_cat > div > div > ul {
  display: flex;
  justify-content: space-between;
}
body #wrapper section.creative_cat > div > div > ul > li {
  width: 98.2142857143%;
}
body #wrapper section.creative_cat > div > div > ul > li a {
  display: block;
  text-align: center;
}
body #wrapper section.creative_cat > div > div > ul > li a b {
  font-family: "Times New Roman", Times, serif;
  font-size: 3.6rem;
  font-weight: normal;
  position: relative;
  margin-bottom: 5px;
}
body #wrapper section.creative_cat > div > div > ul > li a b:after {
  content: "";
  display: block;
  width: 20px;
  height: 2px;
  background-color: #000;
  margin-left: auto;
  margin-right: auto;
  left: 0px;
  right: 0px;
  margin-top: 5px;
}
body #wrapper section.creative_cat > div > div > ul > li a p {
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.4;
}
body #wrapper section.company > div > div {
  color: #666;
}
body #wrapper section.company > div > div > div.introduction {
  margin-bottom: 80px;
}
body #wrapper section.company > div > div > div.introduction p {
  font-size: 1.6rem;
  line-height: 1.8;
}
body #wrapper section.company > div > div > div.spec p {
  font-size: 1.4rem;
  line-height: 1.8;
  margin-bottom: 40px;
}
body #wrapper section.company > div > div > div.spec p a.map {
  display: inline-block;
  background: #666;
  margin-left: 15px;
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  color: #FFF;
  padding: 3px 5px;
  font-size: 1rem;
}
body #wrapper section.contact > div > div.contactform {
  color: #666;
}
body #wrapper section.contact > div > div.contactform > p {
  font-size: 1.6rem;
  line-height: 1.8;
  margin-bottom: 60px;
}
body #wrapper section.contact > div > div.contactform > form {
  display: block;
}
body #wrapper section.contact > div > div.contactform > form > ul > li {
  margin-bottom: 40px;
}
body #wrapper section.contact > div > div.contactform > form > ul > li > span {
  display: block;
  margin-bottom: 15px;
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
}
body #wrapper section.contact > div > div.contactform > form > ul > li > input {
  border: none;
  border-bottom: 1px solid #666;
  width: 100%;
  font-size: 1.6rem;
}
body #wrapper section.contact > div > div.contactform > form > ul > li > textarea {
  border: 1px solid #666;
  height: 200px;
  max-width: calc(100% - 10px);
  width: calc(100% - 10px);
  padding: 5px;
  font-size: 1.6rem;
}
body #wrapper section.contact > div > div.contactform > form > ul > li > p {
  background-color: #FFF;
  position: relative;
  cursor: pointer;
  color: #666;
  border: 1px #666 solid;
  padding: 10px 0px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transition: all 0.3s;
  transition: all 0.3s;
}
body #wrapper section.contact > div > div.contactform > form > ul > li > p input[type=submit], body #wrapper section.contact > div > div.contactform > form > ul > li > p button {
  display: block;
  color: #666;
  width: 100%;
  padding: 0px 0px;
  text-align: center;
  font-size: 1.2em;
  background-color: #FFF;
}
body #wrapper section.contact > div > div.contactform > form > ul > li > p a, body #wrapper section.contact > div > div.contactform > form > ul > li > p span {
  color: #666;
  display: inline-block;
  width: 100%;
  padding: 0px 0px;
  text-align: center;
  font-size: 1.1em;
}
body #wrapper section.contact > div > div.contactform > form > ul > li > p a:link, body #wrapper section.contact > div > div.contactform > form > ul > li > p a:visited, body #wrapper section.contact > div > div.contactform > form > ul > li > p span:link, body #wrapper section.contact > div > div.contactform > form > ul > li > p span:visited {
  color: #666;
}
body #wrapper section.contact > div > div.contactform > form > ul > li > p a:link, body #wrapper section.contact > div > div.contactform > form > ul > li > p span:link {
  text-decoration: none;
}
body #wrapper section.contact > div > div.contactform > form > ul > li > p a:visited, body #wrapper section.contact > div > div.contactform > form > ul > li > p span:visited {
  text-decoration: none;
}
body #wrapper section.contact > div > div.contactform > form > ul > li > p a:hover, body #wrapper section.contact > div > div.contactform > form > ul > li > p span:hover {
  color: #666;
}
body #wrapper section.contact > div > div.contactform > form > ul > li > p a:hover, body #wrapper section.contact > div > div.contactform > form > ul > li > p span:hover {
  text-decoration: none;
}
body #wrapper section.contact > div > div.contactform > form > ul > li > p:after {
  content: "";
  display: block;
  right: 10px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  margin: auto;
  -webkit-transform: translateY(-50%) rotate(45deg);
  -moz-transform: translateY(-50%) rotate(45deg);
  -ms-transform: translateY(-50%) rotate(45deg);
  -o-transform: translateY(-50%) rotate(45deg);
  transform: translateY(-50%) rotate(45deg);
  border-top: 2px solid #666;
  border-right: 2px solid #666;
  width: 7px;
  height: 7px;
}
body #wrapper section.contact > div > div.contactform > form > ul > li > p:hover {
  background-color: #666;
}
body #wrapper section.contact > div > div.contactform > form > ul > li > p:hover button {
  color: #FFF;
}
body #wrapper section.contact > div > div.contactform > form > ul > li > p:hover:after {
  border-color: #FFF;
}
body #wrapper section.contact > div > div.contactform > form > ul > li > p button {
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  font-weight: bold;
  background-color: rgba(0, 0, 0, 0);
}
body .fix_nav {
  padding-top: 10px;
  background-color: #FFF;
}
body .fix_nav > div {
  position: relative;
  left: 0px;
  width: 100%;
  height: 60px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0;
  z-index: 4;
}
body .fix_nav > div.fixed {
  position: fixed;
  bottom: 0px;
  left: 0px;
  opacity: 1;
}
body .fix_nav > div.fixed.opened {
  position: fixed;
  opacity: 1;
  bottom: 120px;
}
body .fix_nav > div > p {
  width: 100%;
  background-color: #000;
  color: #FFF;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  font-weight: 600;
  letter-spacing: 0.2rem;
}
body .fix_nav > div > p strong {
  display: block;
}
body .fix_nav > div section.creative_cat {
  background-color: #FFF;
  width: 100%;
  padding-top: 0px !important;
}
body footer {
  background-color: #000;
  color: #FFF;
  position: relative;
  padding-bottom: 20px;
}
body footer a:link, body footer a:visited {
  color: #FFF;
}
body footer > div > .instagram {
  margin-bottom: 60px;
}
body footer > div > .instagram > .logo {
  width: calc(100% - 40px);
  margin-left: auto;
  margin-right: auto;
  left: 0px;
  right: 0px;
  padding: 10px 0px;
}
body footer > div > .instagram > .logo a {
  display: flex;
  align-items: center;
}
body footer > div > .instagram > .logo a i {
  display: inline-block;
  font-size: 2em;
  background: linear-gradient(45deg, #fed475 0%, #e53d5d 50%, #c23186 70%, #9c38bb 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}
body footer > div > .instagram > .logo a p {
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 1.4rem;
  margin-left: 10px;
  letter-spacing: 0.1rem;
}
body footer > div > .instagram div.slide > ul {
  display: flex !important;
  flex-wrap: wrap;
}
body footer > div > .instagram div.slide > ul > li {
  width: 120px;
}
body footer > div > .material {
  width: calc(100% - 40px);
  margin-left: auto;
  margin-right: auto;
  left: 0px;
  right: 0px;
}
body footer > div > .material > ul {
  margin-bottom: 40px;
}
body footer > div > .material > ul > li {
  margin-bottom: 20px;
}
body footer > div > .material > ul > li a {
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 1.4rem;
}
body footer > div > .material p.copy {
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 0.8rem;
}
body footer > div .totop {
  position: absolute;
  bottom: 0px;
  right: 10px;
}
body footer > div .totop a {
  color: #FFF;
}
body footer > div .totop a span {
  font-family: soleil, sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 1.2rem;
  color: #999999;
  font-weight: bold;
  margin-bottom: 2px;
  display: block;
  letter-spacing: 0.1rem;
}
body footer > div .totop a:after {
  content: "";
  display: block;
  width: 2px;
  height: 40px;
  background-color: #999;
  margin-left: auto;
  margin-right: auto;
  left: 0px;
  right: 0px;
}
@media screen and (min-width: 0px) {
  body .breakpoint {
    font-family: basic;
  }
}
@media screen and (min-width: 768px) {
  body .breakpoint {
    font-family: point1;
  }
  body br.point2 {
    display: none;
  }
  body br.basic {
    display: none;
  }
  body br.point1 {
    display: inline-block;
  }
  body header {
    height: 100px;
  }
  body header > .logo {
    width: 330px;
    left: 50px;
  }
  body header > ol {
    display: flex;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    margin: auto;
    right: 100px;
  }
  body header > ol > li {
    margin-left: 20px;
  }
  body .toggle {
    width: 35px;
    height: 30px;
    right: 50px;
    top: 35px;
  }
  body .toggle > div {
    width: 25px;
  }
  body .toggle .toggle_in {
    padding: 5px;
  }
  body nav {
    top: 100px;
    height: calc(100vh - 100px);
    width: 300px;
  }
  body nav > div {
    padding: 0px 50px 0px 0px;
  }
  body nav > div > ul > li {
    margin-bottom: 40px;
  }
  body nav > div > ul > li > strong {
    font-size: 1.8rem;
  }
  body nav > div > ol {
    display: none;
  }
  body #wrapper section {
    margin-bottom: 150px;
  }
  body #wrapper section:first-of-type {
    padding-top: 150px;
  }
  body #wrapper section > div {
    width: calc(100% - 40px);
  }
  body #wrapper section > div > div.caption {
    margin-bottom: 76px;
  }
  body #wrapper section > div > div.caption > b {
    font-size: 3.6rem;
    margin-bottom: 30px;
  }
  body #wrapper section > div > div.caption > b:after {
    width: 60px;
    margin-top: 25px;
  }
  body #wrapper section > div > div.caption > p {
    font-size: 1.6rem;
  }
  body #wrapper section > div > div.caption > strong {
    font-size: 2.4rem;
  }
  body #wrapper section > div > p.btn_arrow {
    width: 400px;
    margin-top: 70px;
  }
  body #wrapper section > div > p.btn_arrow a {
    padding: 20px 0px;
    font-size: 1.4rem;
  }
  body #wrapper section.top_creative_team .creative_cat {
    margin-bottom: 70px;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    left: 0px;
    right: 0px;
  }
  body #wrapper section.top_creative_team .creative_cat > ul > li a b {
    font-size: clamp(3.6rem, 12vw, 15rem);
  }
  body #wrapper section.top_creative_team .creative_cat > ul > li a p {
    font-size: clamp(1.4rem, 0.7vw, 1.8rem);
  }
  body #wrapper section.top_creative_team .creative_swiper {
    position: relative;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    left: 0px;
    right: 0px;
  }
  body #wrapper section.top_creative_team .creative_swiper > .swiper-pagination {
    bottom: 20px;
  }
  body #wrapper section.top_creative_team .creative_swiper > .swiper-pagination > span.swiper-pagination-bullet {
    width: 80px;
    margin-right: 20px;
  }
  body #wrapper section.top_creative_team .creative_swiper > .swiper-pagination > span.swiper-pagination-bullet.swiper-pagination-bullet-active > span {
    width: calc(250 * 1px);
    top: -75px;
    left: calc((250 / 2 - 40) * -1px);
    padding: 15px 0px;
  }
  body #wrapper section.top_creative_team .creative_swiper > .swiper-pagination > span.swiper-pagination-bullet.swiper-pagination-bullet-active > span .title {
    font-size: 1.4rem;
  }
  body #wrapper section.top_creative_team .creative_swiper > .swiper-pagination > span.swiper-pagination-bullet.swiper-pagination-bullet-active > span .cat {
    font-size: 1.2rem;
  }
  body #wrapper section.top_works .projects {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    left: 0px;
    right: 0px;
  }
  body #wrapper section.top_works .projects > div {
    width: calc((100% - 20px) / 2);
  }
  body #wrapper section.top_works .projects > div > div {
    padding: 50px 65px;
  }
  body #wrapper section.top_works .projects > div > div > div.project_head {
    margin-bottom: 35px;
  }
  body #wrapper section.top_works .projects > div > div > div.project_head > strong {
    margin-bottom: 30px;
    font-size: clamp(2.4rem, 2.3vw, 3.2rem);
    letter-spacing: 0.2rem;
  }
  body #wrapper section.top_works .projects > div > div > div.project_head > p {
    margin-bottom: 10px;
    font-size: 1.8rem;
  }
  body #wrapper section.top_works .projects > div > div > div.project_head > span {
    font-size: 1.4rem;
  }
  body #wrapper section.top_works .projects > div > div > ul.cat_list {
    margin-bottom: 70px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 360px;
    margin-left: auto;
    margin-right: auto;
    left: 0px;
    right: 0px;
  }
  body #wrapper section.top_works .projects > div > div > ul.cat_list > li {
    margin-bottom: 0px;
    width: 100px;
  }
  body #wrapper section.top_works .projects > div > div > ul.cat_list > li > p {
    width: 80px;
  }
  body #wrapper section.top_works .projects > div > div > ul.cat_list > li > span {
    font-size: 1.4rem;
  }
  body #wrapper section.top_works .projects > div > div > ul.project_list > li {
    margin-bottom: 30px;
  }
  body #wrapper section.top_works .projects > div > div > ul.project_list > li a > p {
    margin-bottom: 20px;
  }
  body #wrapper section.top_works .projects > div > div > ul.project_list > li a > div strong {
    font-size: 1.4rem;
    margin-bottom: 5px;
  }
  body #wrapper section.top_works .projects > div > div > ul.project_list > li a > div p {
    font-size: 1.2rem;
  }
  body #wrapper section.top_creative_business > div > div.denbakProduce > p {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    left: 0px;
    right: 0px;
    margin-bottom: 50px;
  }
  body #wrapper section.top_creative_business > div > div.denbakProduce > div strong {
    font-size: 2rem;
    margin-bottom: 30px;
    letter-spacing: 0.4rem;
  }
  body #wrapper section.top_creative_business > div > div.denbakProduce > div p {
    line-height: 1.6;
    font-size: 1.6rem;
  }
  body #wrapper section.works_archive > div > div.works_list {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    left: 0px;
    right: 0px;
  }
  body #wrapper section.works_archive > div > div.works_list > ul > li {
    width: calc((100% - 100px) / 3);
    margin-right: 50px;
    margin-bottom: 50px;
  }
  body #wrapper section.works_archive > div > div.works_list > ul > li:nth-of-type(even) {
    margin-right: 50px;
  }
  body #wrapper section.works_archive > div > div.works_list > ul > li:nth-of-type(3n) {
    margin-right: 0px;
  }
  body #wrapper section.works_archive > div > div.works_list > ul > li:last-of-type {
    margin-bottom: 50px;
  }
  body #wrapper section.works_archive > div > div.works_list > ul > li a > p {
    margin-bottom: 10px;
  }
  body #wrapper section.works_archive > div > div.works_list > ul > li a > div strong {
    font-size: 1.4rem;
    margin-bottom: 10px;
  }
  body #wrapper section.works_archive > div > div.works_list > ul > li a > div p {
    font-size: 1.2rem;
  }
  body #wrapper section.works_archive > div > div.works_list .works_more a {
    width: 80px;
    height: 80px;
  }
  body #wrapper section.works_archive > div > div.works_list .works_more a p:before {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
  body #wrapper section.works_archive > div > div.works_list .works_more a p span {
    font-size: 1.4rem;
  }
  body #wrapper section.cross_over_project > div {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    left: 0px;
    right: 0px;
  }
  body #wrapper section.cross_over_project > div > strong {
    width: 100%;
    margin-bottom: 50px;
  }
  body #wrapper section.cross_over_project > div > strong > span {
    font-size: 1.8rem;
  }
  body #wrapper section.cross_over_project > div > div.cross_over_swiper {
    position: relative;
  }
  body #wrapper section.cross_over_project > div > div.cross_over_swiper .swiper {
    width: calc(100% - 40px);
    margin-left: auto;
    margin-right: auto;
    left: 0px;
    right: 0px;
  }
  body #wrapper section.cross_over_project > div > div.cross_over_swiper .swiper .swiper-wrapper .swiper-slide p {
    margin-bottom: 10px;
  }
  body #wrapper section.cross_over_project > div > div.cross_over_swiper .next, body #wrapper section.cross_over_project > div > div.cross_over_swiper .prev {
    width: 40px;
    height: 40px;
  }
  body #wrapper section.works_detail > div > div.content {
    margin-bottom: 75px;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    left: 0px;
    right: 0px;
  }
  body #wrapper section.works_detail > div > div.content > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 40px;
  }
  body #wrapper section.works_detail > div > div.content > ul > li {
    width: calc((100% - 20px) / 2);
    margin-bottom: 20px;
  }
  body #wrapper section.works_detail > div > div.content > ul > li.full_view {
    width: 100%;
  }
  body #wrapper section.works_detail > div > div.content > div {
    width: calc(100% - 40px);
    margin-left: auto;
    margin-right: auto;
    left: 0px;
    right: 0px;
    position: relative;
  }
  body #wrapper section.works_detail > div > div.content > div > .credit {
    position: relative;
  }
  body #wrapper section.works_detail > div > div.content > div > .credit p {
    font-size: 1.4rem;
  }
  body #wrapper section.creative_cat {
    margin-bottom: 20px;
  }
  body #wrapper section.creative_cat > div > div {
    margin-top: 40px;
    margin-bottom: 45px;
  }
  body #wrapper section.creative_cat > div > div > ul {
    display: flex;
    justify-content: space-between;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
    left: 0px;
    right: 0px;
  }
  body #wrapper section.creative_cat > div > div > ul > li {
    width: 98.2142857143%;
  }
  body #wrapper section.creative_cat > div > div > ul > li a b {
    font-size: 6rem;
    margin-bottom: 10px;
  }
  body #wrapper section.creative_cat > div > div > ul > li a b:after {
    width: 40px;
    margin-top: 10px;
  }
  body #wrapper section.creative_cat > div > div > ul > li a p {
    font-size: 1.2rem;
    letter-spacing: 0.1rem;
  }
  body #wrapper section.company > div > div {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
    left: 0px;
    right: 0px;
  }
  body #wrapper section.company > div > div > div.introduction {
    margin-bottom: 80px;
  }
  body #wrapper section.company > div > div > div.spec p {
    margin-bottom: 60px;
  }
  body #wrapper section.company > div > div > div.spec p a.map {
    padding: 3px 8px;
  }
  body #wrapper section.contact > div > div.contactform {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    left: 0px;
    right: 0px;
  }
  body #wrapper section.contact > div > div.contactform > form > ul > li {
    margin-bottom: 60px;
  }
  body #wrapper section.contact > div > div.contactform > form > ul > li > span {
    font-size: 1.8rem;
  }
  body #wrapper section.contact > div > div.contactform > form > ul > li > input {
    font-size: 1.6rem;
  }
  body #wrapper section.contact > div > div.contactform > form > ul > li > textarea {
    height: 250px;
  }
  body #wrapper section.contact > div > div.contactform > form > ul > li > p {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
    left: 0px;
    right: 0px;
  }
  body .fix_nav > div.fixed.opened {
    position: fixed;
    opacity: 1;
    bottom: 180px;
  }
  body footer {
    padding-bottom: 0px;
  }
  body footer > div > .instagram {
    margin-bottom: 50px;
  }
  body footer > div > .instagram > .logo {
    width: calc(100% - 180px);
    padding: 22px 0px;
  }
  body footer > div > .instagram > .logo a i {
    font-size: 4.2rem;
  }
  body footer > div > .instagram > .logo a p {
    font-size: 1.6rem;
    margin-left: 15px;
  }
  body footer > div > .instagram div.slide > ul > li {
    width: 150px;
  }
  body footer > div > .material {
    width: calc(100% - 180px);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 20px;
  }
  body footer > div > .material > ul {
    margin-bottom: 0px;
    display: flex;
    align-items: center;
  }
  body footer > div > .material > ul > li {
    margin-bottom: 0px;
    margin-left: 7px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }
  body footer > div > .material > ul > li a {
    font-size: 1.2rem;
  }
  body footer > div > .material > ul > li:after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 10px;
    background-color: #FFF;
    margin-left: 7px;
  }
  body footer > div > .material > ul > li:last-of-type:after {
    display: none;
  }
  body footer > div > .material p.copy {
    font-size: 1rem;
    letter-spacing: 0.1rem;
  }
  body footer > div .totop {
    right: 35px;
  }
  body footer > div .totop a span {
    font-size: 1.4rem;
  }
  body footer > div .totop a:after {
    width: 2px;
    height: 50px;
  }
}
@media screen and (min-width: 1060px) {
  body .breakpoint {
    font-family: point2;
  }
  body br.basic {
    display: none;
  }
  body br.point1 {
    display: none;
  }
  body br.point2 {
    display: inline-block;
  }
  body .mainVis {
    height: calc(100vh - 100px);
    min-height: calc(100vh - 100px);
    /* Fallback */
    min-height: calc(var(--vh, 1vh) * 100 - 100px);
    margin-top: 100px;
  }
  body .mainVis > div {
    width: calc(100% - 100px);
  }
  body .mainVis > div > main {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
  }
  body .mainVis > div > main > div.video {
    width: 66.1016949153%;
    height: calc(100% - 50px);
  }
  body .mainVis > div > main > div.typo {
    width: 33.8983050847%;
    height: calc(100% - 50px);
    justify-content: center;
    position: static;
  }
  body .mainVis > div > main > div.typo b {
    font-size: 4rem;
    letter-spacing: 1rem;
    line-height: 3;
  }
  body .mainVis > div > main > div.typo > .companyVision {
    color: #FFF;
    position: absolute;
    top: 0px;
    right: auto;
    left: 0px;
    text-align: center;
    align-items: flex-start;
    width: 100%;
    z-index: 0;
    height: calc(100vh - 100px - 50px);
  }
  body .mainVis > div > main > div.typo > .companyVision > div {
    position: static;
    width: 720px;
    margin-left: auto;
    margin-right: auto;
    left: 0px;
    right: 0px;
    text-align: right;
  }
  body .mainVis > div > main > div.typo > .companyVision > div > b {
    font-size: 2.4rem;
    line-height: 3.2;
    letter-spacing: 0.4rem;
    position: relative;
    top: 0px;
    right: auto;
    width: 720px;
    margin-bottom: 60px;
  }
  body .mainVis > div > main > div.typo > .companyVision > div > p {
    width: 140px;
    height: 140px;
    display: flex;
    margin-right: 0px;
    position: absolute;
    top: 50px;
    right: 50px;
  }
  body .mainVis > div > main > div.typo > .companyVision > div > p > span {
    line-height: 2;
    letter-spacing: 0.3rem;
    font-size: 1.4rem;
  }
  body .mainVis > div > main > div.typo > .companyVision > div > div {
    font-size: 1.6rem;
    line-height: 3;
    letter-spacing: 0.1rem;
    position: relative;
    bottom: auto;
    right: auto;
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  body .mainVis > div > main > div.typo > .companyVision > div > div > p {
    font-size: 1.2rem;
  }
  body .mainVis > div > main > div.typo > .companyVision > div > div > p:nth-of-type(1) {
    width: 390px;
  }
  body .mainVis > div > main > div.typo > .companyVision > div > div > p:nth-of-type(2) {
    width: 310px;
  }
}
body.noscroll {
  position: fixed;
  overflow-y: scroll;
}

.breakpoint {
  opacity: 0;
  width: 0px;
  height: 0px;
  position: fixed;
  bottom: 0px;
  left: 0px;
}

@media screen and (max-width: 400px) {
  body.index #wrapper section.search_result .result_list > ul > li a > div .head {
    display: block;
  }

  body.index #wrapper section.search_result .result_list > ul > li a > div .head ul {
    justify-content: flex-start;
  }

  body.index #wrapper section.search_result .result_list > ul > li a > div .head .date {
    margin-bottom: 5px;
  }
}