@charset "utf-8";

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: url("/assets/fonts/Lato-Regular.woff") format("woff");
}

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 300;
  src: url("/assets/fonts/Lato-Light.woff") format("woff");
}

@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  src: url("/assets/fonts/Raleway-Regular.woff") format("woff");
}

@font-face {
  font-family: 'Pathway Gothic One';
  font-style: normal;
  font-weight: 400;
  src: url("/assets/fonts/PathwayGothicOne-Regular.woff") format("woff");
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url("/assets/fonts/OpenSans-Regular.woff") format("woff");
}

/*----------------------------------------------------------------------------
----------------------------------------------------------------------------*/
html,
body {
  font-family: Quicksand, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  line-height: 1.3;
}

a {
  transition: all .3s ease;
  text-decoration: none;
  color: #ca9c6a;
  outline: none;
}

a:hover {
  text-decoration: none;
  opacity: 0.6;
}

a:hover img {
  opacity: 0.6;
}

*:focus {
  -moz-outline-style: none;
}

sup {
  font-size: smaller;
  line-height: none;
  vertical-align: super;
}

sub {
  font-size: smaller;
  line-height: none;
  vertical-align: sub;
}

img {
  line-height: 1;
  vertical-align: middle;
}

input {
  font-family: Quicksand, 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.jf {
  font-family: 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Quicksand, 游ゴシック体, 'Yu Gothic', YuGothic, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.cnf {
  font-family: 'Hiragino Sans', 'ヒラギノ角ゴシック';
  font-weight: 600;
}

@media print,
screen and (min-width:768px) {
  .pc-none {
    display: none;
  }
}

@media only screen and (max-width: 767px) {
  .sp-none {
    display: none;
  }
}

/*----------------------------------------------------------------------------
----------------------------------------------------------------------------*/
html {
  height: 100%;
  font-size: 62.5%;
}

body {
  height: 100%;
  font-size: 1.6rem;
  position: relative;
  visibility: hidden;
  overflow-x: hidden;
  background: #061d2d;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
}

body.pd {
  background: #111 !important;
}

@font-face {
  font-family: 'NotoSans';
  src: url("/assets/fonts/NotoSansCJKjp-Light.woff");
}

h1 {
  color: #ca9c6a;
  font-weight: bold;
  margin-bottom: 10px;
}

h2 {
  color: #ca9c6a;
  font-weight: bold;
  margin-bottom: 5px;
}

p {
  margin-bottom: 10px;
}

/*----------------------------------------------------------------------------
----------------------------------------------------------------------------*/
.svg-filters {
  position: absolute;
  visibility: hidden;
  width: 1px;
  height: 1px;
}

* {
  box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
}

.control {
  width: 100%;
  height: 100vh;
  color: #FFF;
  line-height: 1;
  background-color: #000;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 10001;
}

.control div {
  width: 400px;
  height: 400px;
  background-color: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  transform: translate(-50%, -50%);
  cursor: pointer;
}

.control h1 {
  margin-top: -26px;
  font-family: 'Open Sans', sans-serif;
  font-size: 54px;
  font-weight: bold;
  text-indent: 6px;
  letter-spacing: 12px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
}

.control p {
  margin-top: 144px;
  padding-bottom: 8px;
  color: #FFF;
  font-family: 'Lato', 'NotoSans', sans-serif;
  font-size: 1.4rem;
  letter-spacing: 3.2px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border-bottom: 1px solid #FFF;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
}

.control span {
  margin-top: 180px;
  color: #f1f1f1;
  font-family: 'Lato', 'NotoSans', sans-serif;
  font-size: 1.1rem;
  letter-spacing: 1.6px;
  white-space: nowrap;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0.4;
}

.control i {
  position: absolute;
  bottom: 21px;
  right: 25px;
  z-index: 2;
  cursor: pointer;
}

.control i img {
  width: 21px;
  height: auto;
}

.first {
  width: 100%;
  height: 100vh;
  color: #FFF;
  line-height: 1;
  text-align: center;
  background-color: #000;
  position: relative;
}

.first .logo {
  display: table;
  width: 100%;
  height: 100vh;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}

.first .logo .logo-in {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.first .logo .ttl h1 {
  font-family: 'Open Sans', sans-serif;
  font-size: 54px;
  font-weight: bold;
  text-indent: 6px;
  letter-spacing: 12px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.first .logo .ttl p {
  margin-top: 36px;
  font-family: 'Raleway', sans-serif;
  font-size: 16px;
  letter-spacing: 6px;
}

.first .video {
  display: none;
  width: 100%;
  height: 100vh;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  overflow: hidden;
}

.first .video video {
  min-width: 100%;
  min-height: calc(100vh + 1px);
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.first .counter {
  color: #FFF;
  font-family: 'Lato', 'NotoSans', sans-serif;
  font-size: 1.4rem;
  letter-spacing: 2px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  bottom: 25px;
  right: 63px;
  z-index: 2;
  opacity: 1;
  transition: opacity .3s ease 0s;
  cursor: pointer;
}

.first .counter:hover,
.first .counter.act {
  opacity: 0.6;
}

.first .counter.act {
  cursor: default;
  pointer-events: none;
}

.first .counter>i {
  display: block;
  padding: 0 0 0 19px;
  font-style: inherit;
  background-image: url("/assets/img/icon_counter_white.png");
  background-repeat: no-repeat;
  background-size: 8px 8px;
  background-position: left center;
  transform-origin: center bottom;
}

.first .counter>i.animate {
  animation: 'zoom-in-out' 0.3s ease;
  -webkit-animation: 'zoom-in-out' 0.3s ease;
}

.first .audio {
  position: absolute;
  bottom: 21px;
  right: 25px;
  z-index: 2;
}

.first .audio ul li {
  display: none;
  cursor: pointer;
}

.first .audio ul li img {
  width: 21px;
  height: auto;
}

.make-top {
  height: 100vh;
  color: #FFF;
  line-height: 1;
  text-align: center;
  background-color: #000;
  position: relative;
  overflow: hidden;
}

.make-top .logo {
  display: table;
  width: 100%;
  height: 100vh;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
}

.make-top .logo .logo-in {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.make-top .logo .ttl h1 {
  font-family: 'Pathway Gothic One';
  font-size: 42px;
  font-weight: bold;
  text-indent: 6px;
  letter-spacing: 12px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.make-top .logo .themes p {
  padding-top: 17px;
  font-family: 'Raleway', sans-serif;
  font-size: 15px;
  letter-spacing: 6px;
}

.slide {
  visibility: hidden;
}

.slideshow li {
  z-index: 0;
  visibility: hidden;
}

.slideshow li .bg {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100vh;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.slideshow li .bg img {
  display: none;
}

.slideshow .is--animated .bg {
  animation: zoomIn 10s linear;
}

.slideshow .is--animated2 .bg {
  animation: zoomOut 10s linear;
}

.slideshow .disabled {
  visibility: hidden;
}

.slideshow .enabled {
  visibility: visible;
}

.pagenav {
  overflow: hidden;
  padding: 15px 0 0 5px;
  text-align: center;
  opacity: 0;
}

.pagenav li {
  font-family: 'Pathway Gothic One';
  font-size: 1.3rem;
  display: inline-block;
  margin: 0 0 0 10px;
  padding: 5px 0;
  cursor: pointer;
  letter-spacing: 1px;
}

.pagenav li:first-child {
  margin: 0;
  border-bottom: 1px solid;
}

.themes {
  position: relative;
}

.themesnav {
  width: 310px;
  position: absolute;
  z-index: 1000;
  top: 15px;
  right: 0;
  left: 0;
  margin: auto;
  opacity: 0;
}

.themesnav .next {
  position: absolute;
  top: -8px;
  right: 9px;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}

.themesnav .prev {
  position: absolute;
  top: -8px;
  left: 4px;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}

.themesnav div:hover {
  opacity: 1;
}

/*----------------------------------------------------------------------------
----------------------------------------------------------------------------*/
main {
  display: block;
  background: #fff;
}

.main {
  position: relative;
  display: block;
  background: #fff;
}

.top .main {
  display: none;
}

.top .l-footer {
  display: none;
}

.nav ul {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 66px;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.nav ul li {
  margin: 0 0 0 54px;
}

.nav ul li:first-child {
  margin: 0 !important;
}

.main>nav {
  border-bottom: 1px solid #f2f2f2;
  background: #fff;
}

.main .nav ul li span {
  cursor: pointer;
}

.main .nav ul li a,
.main .nav ul li span {
  position: relative;
  padding: 0 0 25px;
}

.main .nav ul li span:hover,
.main .nav ul li a:hover {
  opacity: 1;
}

.main .fixed {
  position: fixed;
  z-index: 9998;
  top: 0;
  width: 100%;
}

.main .fixed ul {
  height: 66px;
}

.l-parallaximg {
  overflow: hidden;
  width: 100%;
  color: #fff;
}

.l-parallaximg h2 {
  color: #fff;
}

.l-parallaximg .m-ttl-news {
  position: relative;
  height: 200px;
}

.l-parallaximg .m-ttl-news h2 {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.l-parallaximg .m-ttl-projects {
  position: relative;
  height: 420px;
}

.l-parallaximg .m-ttl-projects .m-ttl-projects-in {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.l-parallaximg .m-ttl-projects h2 {
  display: inline;
}

.l-parallaximg .m-ttl-projects span {
  margin: 0 0 0 13px;
}

.l-parallaximg .m-ttl-projects p {
  margin: 5px 0 0;
}

.l-parallaximg .m-ttl-projects .nf {
  left: 50%;
  padding: 0;
  transform: translate(-50%, -50%);
  text-align: center;
}

.l-parallaximg .m-ttl-projects .nf p {
  font-size: 2.4rem;
  line-height: 1.8;
}

.l-parallaximg .m-ttl-projects .nf span {
  font-style: italic;
  margin: 0;
}

.l-parallaximg .m-ttl-contact {
  position: relative;
  height: 420px;
}

.l-parallaximg .m-ttl-contact h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  transform: translate(-50%, -50%);
  font-family: futura-pt, sans-serif;
  font-weight: 500;
  font-size: 5.2rem;
  letter-spacing: 6px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.l-headerimg {
  padding: 60px 0 0;
  background: #fff;
}

.projectsimg {
  height: 420px;
}

.newsimg {
  height: 200px;
  background: #000;
}

.maquette {
  background: #000;
  height: 420px;
}


/*----------------------------------------------------------------------------
----------------------------------------------------------------------------*/
.l-column01 {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 140px;
}

.l-column02 {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}

.l-column03 {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
}

.l-column04 {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 100px;
}

.l-column05 {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 140px;
}

.l-footer {
  position: relative;
  height: 80px;
  /*275px*/
  background: #111;
  /*111*/
}

.l-footer .nav ul {
  border: none;
}

.l-footer .nav ul li {
  position: relative;
  margin: 0 0 0 54px;
}

.l-footer .nav ul li span {
  cursor: pointer;
}

.l-footer .nav ul li a,
.l-footer .nav ul li span {
  color: #fff;
}

.l-footer small {
  position: absolute;
  right: 50px;
  /*100*/
  bottom: 10px;
  /*30*/
  color: #fff;
}

.l-footer .pagetop {
  position: absolute;
  right: 20px;
  bottom: 5px;
  /*23px*/
}

.l-footer .pagetop a {
  color: #fff;
}

.l-news {
  margin: 60px 0 0;
}

.l-news h2 {
  margin: 27px 0;
}

.l-pd {
  background-color: #111;
}

.l-pd .l-body {
  line-height: 1.7;
  overflow: hidden;
  padding-top: 80px;
  padding-bottom: 80px;
  color: #fff;
}

.l-pd .l-body01 {
  position: relative;
  padding-top: 76px;
  padding-bottom: 120px;
}

.l-pd .l-body01::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  width: 698px;
  height: 338px;
  margin-left: -350px;
  /*background-image: url(/projects/img/bg_projects_detail.png);
  background-repeat: no-repeat;
  background-size: 698px auto;
  background-position: center bottom;
  */
  mix-blend-mode: screen;
  z-index: 1;
  opacity: 0.5;
}

.l-pd .l-body div {
  position: relative;
  float: right;
  width: 44%;
  z-index: 2;
}

.l-pd .l-body div:first-child {
  float: left;
}

.l-pd .l-body div:nth-child(2) {
  width: 43%;
}

.l-pd .l-body .m-f-n03 {
  font-size: 1.4rem;
  line-height: 1.9;
  letter-spacing: 1px;
  margin: 20px 0;
}

.l-pd .l-body .m-f-noto {
  line-height: 1.85;
  letter-spacing: 1px;
  margin: 20px 0;
}

.l-pd .swiper-pd {
  display: block;
  width: 100%;
  margin: 0 auto;
}

.l-pd .swiper-pd .swiper-slide img {
  display: block;
  margin: 0 auto;
  transition: all .3s ease;
}

.l-pd .swiper-pd .swiper-slide a {
  display: block;
}

.l-pd .swiper-pd .swiper-slide a:hover,
.l-pd .swiper-pd .swiper-slide a:hover img {
  opacity: 1;
}

.l-pd .swiper-pd .swiper-wrapper {
  -webkit-align-items: center;
  -ms-flex-align: center;
  -ms-grid-row-align: center;
  align-items: center;
}

.l-pd .swiper-pd .swiper-nav {
  font-size: 0;
  display: block;
  overflow: hidden;
  width: 100%;
  margin: 40px 0 0;
}

.l-pd .swiper-pd .swiper-nav .swiper-t {
  display: none;
  float: left;
  margin: 13px 0 0;
  color: #a0a0a0;
}

.l-pd .swiper-pd .swiper-nav .swiper-nav-ctrl {
  display: none;
  position: relative;
  float: left;
}

.l-pd .swiper-pd .swiper-nav .swiper-nav-ctrl .swiper-pagination {
  position: static;
  display: inline-block;
}

.l-pd .swiper-pd .swiper-nav .swiper-nav-ctrl .lr {
  display: inline-block;
  width: 1px;
  height: 22px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background: #a0a0a0;
}

.l-pd .swiper-pd .swiper-nav .swiper-nav-ctrl .swiper-button-next,
.l-pd .swiper-pd .swiper-nav .swiper-nav-ctrl .swiper-button-prev {
  position: static;
  display: inline-block;
  margin: 0;
  background: none;
}

.l-pd .swiper-pd .swiper-nav .swiper-nav-ctrl .swiper-button-next {
  margin: 0 0 0 13px;
}

.l-pd .swiper-pd .swiper-nav .swiper-nav-ctrl .swiper-button-prev:before {
  font-family: 'FontAwesome';
  font-size: 3.4rem;
  font-weight: 100;
  content: '\f104';
}

.l-pd .swiper-pd .swiper-nav .swiper-nav-ctrl .swiper-button-next:before {
  font-family: 'FontAwesome';
  font-size: 3.4rem;
  font-weight: 100;
  content: '\f105';
}

.l-pd .swiper-pd .swiper-nav .swiper-nav-btn {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  float: right;
  width: 776px;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.l-pd .swiper-pd .swiper-nav .swiper-nav-btn li {
  width: 96px;
  height: 96px;
  margin: 0 0 1px 1px;
}

.l-pd .swiper-pd .swiper-nav .swiper-nav-btn li a:hover,
.l-pd .swiper-pd .swiper-nav .swiper-nav-btn li a:hover img {
  opacity: 1;
  -webkit-filter: brightness(100%);
  filter: brightness(100%);
}

.l-pd .swiper-pd .swiper-nav .swiper-nav-btn li img {
  width: 100%;
  -webkit-filter: brightness(50%);
  filter: brightness(50%);
}

.l-pd .swiper-pd .swiper-nav .swiper-nav-btn .current img {
  -webkit-filter: brightness(100%);
  filter: brightness(100%);
}

.l-pager {
  position: relative;
  /* mark by san*/
}

.l-pager .m-back {
  margin: 23px auto 30px;
  /* margin: 64px auto 77px;*/
  text-align: center;
}

.l-pager .m-back a {
  display: inline-block;
  padding: 7px 0;
  color: #fff;
  font-family: futura-pt, sans-serif;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 3px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border-bottom: 2px solid #fff;
}

.l-pager .pager-effect-wrapper {
  position: relative;
}

.l-pager .pager-effectn,
.l-pager .pager-effectp {
  position: absolute;
  overflow: hidden;
  width: 100%;
  max-height: 200px !important;
  /*310px*/
}

.l-pager .m-pager {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 200px
    /*310px*/
    max-height: 200px !important;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.l-pager .m-pager div {
  position: relative;
}

.l-pager .m-pager div p {
  letter-spacing: 1px;
  pointer-events: none;
}

.l-pager .m-pager div a {
  display: block;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
}

.l-pager .m-pager div a p {
  color: #ca9c6a;
}

.l-pager .m-pager div a:hover {
  opacity: 1;
  color: #fff;
}

.l-pager .m-pager div a:hover p {
  color: #a0a0a0;
}

.l-pager .m-pager div a:before {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 1px;
  content: '';
  background: #000;
}

.l-pager .m-pager div svg {
  position: absolute;
  right: 0;
}

.l-pager .m-pager .m-prev svg {
  left: 0;
}

.l-pager .m-pager div:first-child {
  margin: 0 auto 0 0;
}

.l-pager .m-h-n {
  width: 80%;
}

.l-pager .m-h-n img {
  width: 100%;
}

.l-pager .m-h-p {
  float: right;
  width: 80%;
}

.l-pager .m-h-p img {
  width: 100%;
}

.l-pager .overlayn {
  position: absolute;
  top: 0;
  left: 0;
  width: 70%;
  height: 310px;
  background: linear-gradient(-90deg, black, rgba(255, 255, 255, 0));
}

.l-pager .overlayn-re {
  position: absolute;
  top: 0;
  right: 0;
  width: 30%;
  height: 100%;
  background: #000;
}

.l-pager .m-prev2 {
  display: none;
}

.l-pager .m-prev2 a {
  font-size: 1.6rem;
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translate(0, -50%);
  letter-spacing: 1px;
  color: #fff;
}

.l-pager .m-prev2 a p {
  font-size: 1rem;
  letter-spacing: 1px;
  color: #b7b7b7;
}

.l-pager .m-prev2 .svg {
  position: relative;
}

.l-pager .m-prev2 .svg svg {
  position: absolute;
  left: 0;
}

.l-pager .m-prev2 a:before {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 1px;
  content: '';
  background: #fff none repeat scroll 0 0;
}

.l-pager .m-prev2 a:hover {
  opacity: 1;
}

.l-pager .m-next2 {
  display: none;
}

.l-pager .m-next2 a {
  font-size: 1.6rem;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
  letter-spacing: 1px;
  color: #fff;
}

.l-pager .m-next2 a p {
  font-size: 1rem;
  letter-spacing: 1px;
  color: #b7b7b7;
}

.l-pager .m-next2 .svg {
  position: relative;
}

.l-pager .m-next2 .svg svg {
  position: absolute;
  right: 0;
}

.l-pager .m-next2 a:before {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 1px;
  content: '';
  background: #fff none repeat scroll 0 0;
}

.l-pager .m-next2 a:hover {
  opacity: 1;
}

.l-pager .overlayp {
  position: absolute;
  top: 0;
  right: 0;
  width: 70%;
  height: 310px;
  background: linear-gradient(-90deg, rgba(255, 255, 255, 0), black);
}

.l-pager .overlayp-re {
  position: absolute;
  top: 0;
  left: 0;
  width: 30%;
  height: 100%;
  background: #000;
}

.stickybody {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  min-height: 100vh;
}

.l-alllist {
  padding: 0 0;
  background: #111;
  -webkit-flex: 1 1 0;
  -ms-flex: 1 1 0;
  flex: 1 1 0;
}

.l-alllist>ul li {
  position: relative;
  width: 25%;
}

.l-alllist>ul li img {
  width: 100%;
}

.l-alllist>ul li a {
  display: block;
  -webkit-filter: brightness(60%);
  filter: brightness(60%);
}

.l-alllist>ul li a:hover,
.l-alllist>ul li a:hover img {
  opacity: 1;
  -webkit-filter: brightness(100%);
  filter: brightness(100%);
}

.l-alllist>ul li a:hover div {
  color: #111;
}

.l-alllist>ul li a:hover div p {
  background: #111;
}

.l-alllist>ul li .h-cuurent {
  opacity: 1;
  -webkit-filter: brightness(100%);
  filter: brightness(100%);
}

.l-alllist>ul li .h-cuurent div {
  color: #111;
}

.l-alllist>ul li .h-cuurent div p {
  background: #111;
}

.l-alllist>ul li div {
  font-family: 'Lato', sans-serif;
  font-size: 1rem;
  font-weight: bold;
  position: absolute;
  bottom: 10%;
  left: 35px;
  letter-spacing: 1px;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.l-alllist>ul li div p {
  position: absolute;
  top: 6px;
  left: -35px;
  width: 30px;
  height: 1px;
  background: #fff;
}

.l-alllist nav {
  position: absolute;
  z-index: 1;
  padding: 60px 40px 0 40px;
  height: 60px;
}

.l-alllist nav ul {
  overflow: hidden;
}

.l-alllist nav ul li {
  float: left;
  margin: 0 40px 0 0;
}

.l-alllist nav ul li span {
  font-weight: normal;
  display: block;
  padding: 20px 0 5px;
  cursor: pointer;
  letter-spacing: 0;
  color: #fff;
  border-bottom: 1px solid transparent;

}

.l-alllist nav ul .current span {
  border-bottom: 1px solid #fff;
}

.l-contact {}

.l-contact .l-body {}

.l-contact .l-body01 {
  padding-top: 111px;
  background-color: #212327;
}

.l-contact .contactinfo {
  padding-top: 90px;
  padding-bottom: 82px;
  color: #fff;
  background-color: #111;
}

.l-contact .contactinfo .contactinfo-inner {
  position: relative;
  max-width: 920px;
  margin: 0 auto;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -js-display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.l-contact .contactinfo .contactinfo-inner .contactinfo-wrap {
  width: 410px;
}

.l-contact .contactinfo .contactinfo-inner .m-ttl02 {
  margin: 0 0 32px;
  padding: 0;
  font-size: 2.4rem;
  letter-spacing: 2.8px;
}

.l-contact .contactinfo .contactinfo-inner .m-ttl03 {
  letter-spacing: 1.5px;
}

.l-contact .contactinfo .contactinfo-inner .m-f-nav {
  letter-spacing: 1.5px;
  line-height: 2.24;
}

.l-contact .contactinfo .contactinfo-inner .m-btn01 {
  margin-top: 31px;
  margin-bottom: 74px;
}

.l-contact .contactinfo .contactinfo-inner .m-btn01 a {
  display: inline-block;
  color: #fff;
  border-color: #fff;
}

.l-contact .contactinfo .contactinfo-inner .contactInfo-map {
  margin-top: 8px;
  width: 444px;
}

.l-contact .form {
  width: 560px;
  margin: 0 auto;
}

.l-contact .form .formttl {
  font-family: 'Lato', sans-serif;
  font-size: 3.2rem;
  text-align: center;
  letter-spacing: 3.6px;
  color: #fff;
  font-weight: 500;
}

.l-contact .form p {
  margin: 0 0 12px;
  color: #fff;
}

.l-contact .form .m-f-message {
  margin-top: 10px;
  text-align: right;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
  font-style: italic;
  letter-spacing: 0.9px;
}

.l-contact .form dl {
  margin-top: 31px;
  margin-bottom: 56px;
}

.l-contact .form dl dt {
  margin: 0 0 10px;
  letter-spacing: 2px;
  padding-left: 3px;
  color: #fff;
}

.l-contact .form dl dd {
  margin: 0 0 40px;
}

.l-contact .form .m-f-aside {
  margin-left: 48px;
}

.l-contact .form .submit {
  padding: 30px 0 0;
  text-align: right;
}

.l-contact input[type='text'],
.l-contact input[type='email'] {
  width: 100%;
  padding: 18px 14px;
  color: #fff;
  border: 1px solid #fff;
  border-radius: 0;
  background: none;
  -webkit-appearance: none;
}

.l-contact textarea {
  width: 100%;
  height: 210px;
  padding: 7px 10px;
  resize: none;
  color: #fff;
  border: 1px solid #fff;
  border-radius: 0;
  background: none;
  -webkit-appearance: none;
}

.l-contact input[type='submit'] {
  font-family: 'Lato', sans-serif, 'NotoSans';
  font-size: 1.6rem;
  width: 255px;
  height: 65px;
  cursor: pointer;
  letter-spacing: .05em;
  border: none;
  border-radius: 0;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-appearance: none;
}

.l-contact .file {
  display: table;
  width: 100%;
  background: #fff;
}

.l-contact .file .js-file-label,
.l-contact .file .js-file-label label {
  width: 180px;
  margin: 0;
}

.l-contact .file .js-file-label {
  display: table-cell;
  color: #000;
}

.l-contact .file .js-file-label label {
  display: block;
  padding: 20px;
  font-family: 'Lato', sans-serif, 'NotoSans';
  font-size: 1.6rem;
  color: #000;
  text-align: center;
  cursor: pointer;
  letter-spacing: .05em;
  border: none;
  border-radius: 0;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.l-contact .file .js-file-label span {
  display: none;
}

.l-contact .file .js-file-text {
  display: table-cell;
  vertical-align: middle;
  padding: 0 0 0 15px;
  font-family: 'Lato', 'NotoSans', sans-serif;
  font-size: 1.4rem;
  letter-spacing: 2px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #fff;
  background: #212327;
}

.l-contact .file .js-file-text span {
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.l-contact .capt {
  display: table;
  width: 100%;
  background: #fff;
}

.l-contact .capt div {
  display: table-cell;
  width: 180px;
  text-align: center;
  vertical-align: middle;
}

.l-contact .capt p {
  display: table-cell;
  padding: 0 0 0 23px;
  background: #212327;
}

.l-contact .wpcf7 {
  position: relative;
  padding: 0 0 74px;
}

.l-contact .screen-reader-response {
  display: none;
}

.l-contact .wpcf7-mail-sent-ok {
  font-family: 'Lato', sans-serif;
  font-style: italic;
  display: block !important;
  margin: 8px 0 0;
  padding: 0;
  text-align: right;
  color: #69ffa5;
  border: none;
}

.l-contact .wpcf7-mail-sent-ng,
.l-contact .wpcf7-validation-errors,
.l-contact .wpcf7-spam-blocked {
  display: none !important;
}

.l-contact .wpcf7-not-valid-tip {
  font-style: italic;
  color: #d74949;
}

.l-contact .wpcf7-not-valid {
  border: 1px solid #d74949 !important;
}

.l-contact .ajax-loader {
  display: none !important;
}

/*----------------------------------------------------------------------------
----------------------------------------------------------------------------*/
.m-ttl01 {
  height: 54px;
  padding: 0 0 10px;
}

.m-ttl01 h2 {
  font-family: 'Pathway Gothic One', sans-serif;
  font-size: 5.2rem;
  font-weight: 500;
  letter-spacing: -2px;
  opacity: 0.2;
  color: #212121;
}

.m-ttl02 {
  font-family: 'Lato', sans-serif;
  font-size: 2.8rem;
  font-weight: bold;
  margin: -66px 0 50px;
  padding: 66px 0 0;
  letter-spacing: 2px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.m-ttl03 {
  font-family: 'Lato', sans-serif;
  font-size: 1.6rem;
  font-weight: bold;
  margin: -40px 0 25px;
  padding: 40px 0 0;
  letter-spacing: 1px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.m-f-noto {
  font-family: 'NotoSans';
  font-size: 1.3rem;
  font-weight: normal;
  letter-spacing: 1px;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}

.m-f-raleway {
  font-family: 'Raleway', sans-serif;
  font-size: 1.2rem;
  letter-spacing: 3px;
}

.m-f-logo02 {
  font-family: 'Open Sans', sans-serif;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 6px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.m-f-theme {
  font-family: 'Lato', sans-serif;
  font-size: 2.3rem;
  letter-spacing: 6px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.m-f-nav {
  font-family: 'Lato', 'NotoSans', sans-serif;
  font-size: 1.4rem;
  letter-spacing: 2px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.m-f-counter {
  font-family: 'Lato', 'NotoSans', sans-serif;
  font-size: 1.4rem;
  letter-spacing: 2px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  opacity: 1;
  transition: opacity .3s ease 0s;
  cursor: pointer;
}

.m-f-counter:hover,
.m-f-counter.act {
  opacity: 0.6;
}

.m-f-counter.act {
  cursor: default;
  pointer-events: none;
}

.m-f-counter.black {
  color: #000;
}

.m-f-counter.white {
  color: #FFF;
}

.m-f-counter>span {
  display: inline-block;
  padding: 0 22px 0 0 !important;
  background-repeat: no-repeat;
  background-size: 8px 8px;
  background-position: right 7px center;
  opacity: 1 !important;
}

.m-f-counter.black>span {
  background-image: url("/assets/img/icon_counter_black.png");
}

.m-f-counter.white>span {
  background-image: url("/assets/img/icon_counter_white.png");
}

.m-f-counter>i {
  display: inline-block;
  font-style: inherit;
  transform-origin: center bottom;
}

.m-f-counter>i.animate {
  animation: 'zoom-in-out' 0.3s ease;
  -webkit-animation: 'zoom-in-out' 0.3s ease;
}

.m-f-nav-footer {
  font-family: 'Lato', 'NotoSans', sans-serif;
  font-size: 1.4rem;
  letter-spacing: 2px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.m-f-copyright {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.2rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.m-f-lowttl {
  font-family: 'Open Sans', sans-serif;
  font-size: 3.2rem;
  letter-spacing: 6px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.m-f-pager {
  font-family: 'Lato', sans-serif;
  font-size: 2.0rem;
  font-weight: bold;
  letter-spacing: 2px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.m-f-futura {
  font-family: futura-pt, sans-serif;
  font-size: 3.6rem;
  font-weight: 500;
  letter-spacing: 4.1px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}

.m-nav-anim:before {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  margin: auto;
  content: '';
  transition: transform .1s ease 0s;
  transform: scale3d(0, 1, 1);
  background: #111 none repeat scroll 0 0;
}

.m-nav-anim:hover:before {
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
  transition-duration: .3s;
  transform: scale3d(1, 1, 1);
}

.m-nav-anim:active {
  width: 100%;
  background: none;
}

.m-date {
  font-family: 'Pathway Gothic One', sans-serif;
  font-size: 1.4rem;
  letter-spacing: 2px;
  color: #7d7d7d;
}

.m-date span {
  padding: 0 22px 0 0;
}

.m-btn01 {
  font-family: 'Lato', sans-serif;
  font-size: 1.2rem;
  margin: 30px 0 0;
  letter-spacing: 2px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.m-btn01 a {
  padding: 10px 22px;
  text-decoration: none !important;
  border: 1px solid #212121;
}

.m-btn01 a .fa {
  padding: 0 0 0 5px;
}

.m-btn01 a:hover {
  opacity: 1;
  color: #fff;
  background: #000;
}

.m-f-n00 {
  font-family: 'Lato', sans-serif;
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: 2px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.m-f-n01 {
  font-family: 'Open Sans', sans-serif;
  font-size: 2.0rem;
  font-weight: bold;
  letter-spacing: 4px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.m-f-n02 {
  font-family: 'Lato', sans-serif;
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 16px;
  letter-spacing: 1px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.m-f-n03 {
  font-family: 'Lato', sans-serif, 'Hiragino Sans', 'ヒラギノ角ゴシック';
  font-size: 1.3rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.m-f-n04 {
  font-family: 'Lato', sans-serif;
  font-size: 1.2rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  letter-spacing: 2px;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}

.m-news {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 0 0 60px;
}

.m-news>div {
  float: left;
  width: 50%;
  padding: 0 6% 0 0;
}

.m-news>div img {
  width: 100%;
  height: auto;
}

.m-news h2 {
  margin: 0 0 20px;
  letter-spacing: 2px;
}

.m-news .img {
  margin: 0 0 2px;
}

.m-news p {
  line-height: 1.7;
}

.m-news strong {
  font-family: 'Lato', sans-serif;
  font-size: 1.5rem;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.m-news a {
  text-decoration: underline;
}

.m-news:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 6px;
  height: 1px;
  content: '';
  background: #c8c8c8;
}

/*----------------------------------------------------------------------------
----------------------------------------------------------------------------*/
.news-top {
  height: 477px;
}

.news-top .news-top-in {
  padding: 85px 75px;
}

.news-top .m-ttl02 {
  font-size: 2.4rem;
}

.news-top .news-list li {
  margin: 0 0 36px;
}

.news-top .news-list li p {
  margin: 0 0 10px;
}

.news-top .news-list li a {
  font-weight: bold;
  text-decoration: underline;
}

.news-top .news-list li a:hover {
  text-decoration: none;
}

.projects-top .m-ttl01 {
  border-bottom: 1px solid #f2f2f2;
}

.projects-top .m-ptoplist li {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid #f2f2f2;
}

.projects-top .m-ptoplist li .m-listttl {
  position: absolute;
  z-index: 3;
  top: 50%;
  right: 0;
  left: 0;
  width: 1200px;
  margin: auto;
  padding: 0 40px;
  transform: translateY(-50%);
  pointer-events: none;
  color: #fff;
  mix-blend-mode: exclusion;
}

.projects-top .m-ptoplist li .m-hitarea {
  position: absolute;
  width: 100%;
  height: 100%;
  cursor: pointer;
  transition: all .3s ease;
}

.projects-top .m-ptoplist li .m-hitarea a {
  display: block;
  width: 100%;
  height: 100%;
}

.projects-top .swiper-container {
  z-index: 2;
  float: right;
  width: 65%;
  max-width: 1200px;
  transition: all .3s ease;
}

.projects-top .swiper-wrapper {
  -webkit-align-items: center;
  -ms-flex-align: center;
  -ms-grid-row-align: center;
  align-items: center;
}

.projects-top .swiper-wrapper>div {
  display: block;
}

.projects-top .swiper-slide {
  width: 33.64% !important;
  margin: 0 0 0 -.25%;
}

.projects-top .swiper-slide img {
  width: 100%;
  transition: all .3s ease;
}

.projects-top .swiper-slide a:hover img,
.projects-top .swiper-slide a:hover {
  opacity: 1;
}

.projects-top .swiper-button-next {
  right: 0;
  background: rgba(0, 0, 0, .6);
}

.projects-top .swiper-button-next:before {
  position: absolute;
  top: 12px;
  left: 11px;
  content: '';
}

.projects-top .swiper-button-next:before {
  font-family: 'FontAwesome';
  font-size: 1.5rem;
  font-weight: 100;
  content: '\f105';
  color: #ccc;
}

.about-top {
  margin-top: 100px;
  margin-bottom: 50px;
}

.about-top h2 {
  float: left;
}

.about-top .about-in {
  line-height: 2;
  position: relative;
  clear: both;
  letter-spacing: 1px;
}

.about-top .about-in div {
  font-size: 1.6rem;
  margin: 0 0 037px;
}

.about-top .about-in p {
  font-size: 1.4rem;
  margin: 0 0 18px;
}

.about-top .snav {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  float: right;
  margin: 10px 0 0;
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent;
  mix-blend-mode: normal;
}

.about-top .snav li {
  float: left;
  margin: 0 0 0 40px;
}

.about-top .snav li a {
  text-decoration: underline;
  color: #111;
}

.about-top .snav li a:hover {
  text-decoration: none;
}

.about-top .snav li .current {
  text-decoration: none;
  opacity: 0.6;
}

.about-top .swiper-button-prev,
.about-top .swiper-button-next {
  top: 38%;
  background: none;
}

.about-top .swiper-button-prev {
  left: -130px;
}

.about-top .swiper-button-prev:before {
  font-family: 'FontAwesome';
  font-size: 3.4rem;
  font-weight: 100;
  content: '\f104';
}

.about-top .swiper-button-next {
  right: -140px;
}

.about-top .swiper-button-next:before {
  font-family: 'FontAwesome';
  font-size: 3.4rem;
  font-weight: 100;
  content: '\f105';
}

.about-top .swiper-pagination {
  position: static;
  z-index: 9;
}

.about-top .swiper-pagination-bullet {
  width: auto;
  height: auto;
  text-decoration: underline;
  opacity: 1;
  background: none;
}

.about-top .swiper-pagination-bullet-active {
  text-decoration: none;
  opacity: 0.6;
}

.contact-top {
  position: relative;
  overflow: hidden;
  margin-top: 100px;
}

.contact-top .m-ttl02 {
  margin-bottom: 30px;
}

.contact-top .contact-inner {
  padding-bottom: 50px;
}

.contact-top .contact-wrap {
  padding: 0 0 30px;
}

.contact-top .contact-inner div {
  line-height: 2;
  letter-spacing: 1px;
}

.contact-top .contact-inner div a {
  text-decoration: underline;
}

.contact-top .contact-inner div a:hover {
  text-decoration: none;
}

.contact-top .contact-inner .m-btn01 {
  margin-top: 10px;
}

.contact-top .map {
  width: 444px;
  position: absolute;
  right: 140px;
  bottom: 0;
}

.contact-top .map img {
  width: 100%;
}

.header {
  position: relative;
  z-index: 200;
}

.header nav {
  position: fixed;
  width: 100%;
  height: 60px;
  background: #fff;
}

.header ul {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 60px;
  padding: 0 40px;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.header ul li {
  position: relative;
  margin: 0 0 0 4.8%;
}

.header ul li span {
  cursor: pointer;
}

.header ul li a,
.header ul li span {
  position: relative;
  padding: 0 0 21px;
}

.header ul li span:hover,
.header ul li a:hover {
  opacity: 1;
}

.header ul li>ul {
  position: absolute;
  top: 40px;
  left: 0;
  display: none;
  width: 198px;
  height: auto;
  padding: 0 20px;
  background: #d4d6d7;
  mix-blend-mode: normal;
  -webkit-align-items: '';
  -ms-flex-align: '';
  -ms-grid-row-align: '';
  align-items: '';
}

.header ul li>ul li {
  margin: 0 0 10px;
}

.header ul li>ul li a {
  color: #000;
}

.header ul li>ul li:first-child {
  margin: 20px 0 10px;
}

.header ul li>ul li:last-child {
  margin: 0 0 20px;
}

.header ul li:first-child {
  margin: 0 auto 0 0;
}

.header ul li:first-child h1 a:hover {
  opacity: 0.6;
}

.subnav {
  position: fixed;
  z-index: 30;
  top: 60px;
  left: 0;
  display: none;
  width: 198px;
  height: auto;
  padding: 0 20px;
  background: #111;
}

.subnav li {
  margin: 0 0 10px;
}

.subnav li a {
  color: #fff;
}

.subnav li:first-child {
  margin: 20px 0 10px;
}

.subnav li:last-child {
  margin: 0 0 20px;
}

.subnav01 {
  position: absolute;
  top: 66px;
}

.subnav02 {
  position: absolute;
  z-index: 1000;
}

.newsnav {
  border-bottom: 1px solid #f2f2f2;
}

.newsnav ul {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  max-width: 1200px;
  height: 66px;
  margin: 0 auto;
  padding: 0 140px;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.newsnav ul li {
  margin: 0 63px 0 0;
}

.newsnav ul li a:hover {
  text-decoration: underline;
  opacity: 1;
}

.newsnav ul .current a,
.newsnav ul .current span {
  text-decoration: underline;
}

.header-list a,
.header-list span {
  color: #fff;
}

.header-list .m-nav-anim:before {
  background: #fff;
}

.header-list .sp-menu {
  background: #111;
}

.header-list .menu-trigger span {
  background: #fff;
}

.wp-pagenavi {
  font-family: 'Pathway Gothic One', sans-serif;
  font-size: 1.2rem;
  margin: 0 auto;
  padding: 100px 0;
  border-spacing: 10px 0;
  text-align: center;
}

.wp-pagenavi .pages {
  display: none;
}

.wp-pagenavi a,
.wp-pagenavi span {
  width: 30px;
  margin: 0 10px;
  text-align: center;
  vertical-align: middle;
}

.wp-pagenavi .current {
  padding: 10px 15px;
  border: 1px solid #000;
}

.wp-pagenavi .page {
  padding: 10px 15px;
  color: #b2b2b2;
  border: 1px solid #b2b2b2;
}

.wp-pagenavi .page:hover {
  opacity: 1;
  color: #fff;
  background: #000;
}

.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  font-family: 'Open Sans';
  font-size: 2.5rem;
  display: inline-block;
  margin-top: -7px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.wp-pagenavi .extend {
  vertical-align: bottom;
  letter-spacing: 2px;
  opacity: 0.6;
}

.fullin {
  position: relative;
  height: 100%;
}

.fullin img {
  width: 100%;
}

.fullin a {
  opacity: 1;
}

#fullpage a:hover,
#fullpage a:hover img {
  opacity: 1;
}

#fullpage #last {
  z-index: 1000;
}

.hacktop01 {
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  background: #fff;
}

.hackbottom01 {
  position: fixed;
  z-index: 2;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 40px;
  background: #fff;
}

.hackbottom02 {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 40px;
  background: #fff;
}

.hackleft {
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  width: 40px;
  height: 100%;
  background: #fff;
}

.hackright {
  position: fixed;
  z-index: 2;
  top: 0;
  right: 0;
  width: 40px;
  height: 100%;
  background: #fff;
}

.fullprev {
  position: fixed;
  z-index: 1000;
  top: 50%;
  left: 12px;
  width: 20px;
  height: 20px;
}

.fullprev a {
  position: absolute;
  top: 0;
  display: block;
  width: 20px;
  height: 50px;
}

.fullprev:before {
  font-family: 'FontAwesome';
  font-size: 2.8rem;
  font-weight: 100;
  content: '\f104';
  color: #ccc;
}

.fullnext {
  position: fixed;
  z-index: 1000;
  top: 50%;
  right: 4px;
  width: 20px;
  height: 20px;
}

.fullnext a {
  position: absolute;
  top: 0;
  display: block;
  width: 20px;
  height: 50px;
}

.fullnext:before {
  font-family: 'FontAwesome';
  font-size: 2.8rem;
  font-weight: 100;
  content: '\f105';
  color: #ccc;
}

.isc {
  position: absolute;
  right: 0;
  bottom: 90px;
  left: 0;
  display: none;
  width: 20px;
  height: 28px;
  margin: auto;
  text-align: center;
}

.isc img {
  display: block !important;
}

.cb-scroller {
  position: absolute;
  z-index: 20;
  bottom: 77px;
  left: 50%;
  display: block;
  width: 66px;
  margin: 0 0 -2px -33px;
  cursor: pointer;
  transition: opacity .2s ease 0s;
  text-align: center;
}

.cb-scroller svg {
  height: 36px;
  transition: opacity .4s ease-in-out .9s;
}

.cb-scroller svg path {
  transition: stroke-dasharray 1.3s cubic-bezier(.74, .05, .12, .99) .9s;
  fill: rgba(255, 255, 255, 0);
  stroke: #fff;
  stroke-dasharray: 51, 0;
  stroke-dashoffset: 109;
}

.cb-scroller svg circle {
  -webkit-animation: 1.9s ease-in-out 0s normal none infinite running cb-scroller-mouse-circle;
  animation: 1.9s ease-in-out 0s normal none infinite running cb-scroller-mouse-circle;
  fill: #fff;
}

#fp-nav {
  font-family: 'Open Sans', sans-serif;
  font-size: 1.2rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#fp-nav li {
  margin-bottom: 11px !important;
}

#fp-nav a {
  opacity: 0.6;
  color: #fff;
}

#fp-nav .active {
  position: relative;
  opacity: 1;
}

#fp-nav .active:before {
  position: absolute;
  left: -10px;
  content: '-';
}

#fp-nav.right {
  right: 55px;
}

.ovr {
  position: fixed;
  z-index: 3;
  top: 0;
  width: 100%;
  height: 100%;
  background: #fff;
}

.fullpager {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  padding: 0 40px 40px;
  -js-display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.fullpager>div {
  position: relative;
}

.fullpager>div a {
  display: block;
  padding: 0 0 10px;
}

.fullpager>div a:before {
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 1px;
  content: '';
  background: #000 none repeat scroll 0 0;
}

.fullpager>div svg {
  position: absolute;
  right: 0;
}

.fullpager .prev svg {
  left: 0;
}

.fullpager>div:nth-child(2) {
  color: #c4c4c4;
}

.fullpager .m-f-pager {
  font-size: 1.6rem;
}

.fullttl {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  padding: 0 0 0 40px;
  transform: translate(-50%, -50%);
  text-align: center;
}

.fullttl .cat1 {
  font-weight: 100;
  text-indent: -1em;
  letter-spacing: 4px;
  color: #fff;
}

.fullttl .cat2 {
  font-family: 'Lato', sans-serif;
  font-size: 5.2rem;
  font-size: 6.0rem;
  text-indent: -.5em;
  letter-spacing: 14px;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.fullttl .ttl {
  letter-spacing: 12px;
  color: #fff;
}

.fullttl .cns {
  margin: 15px 0;
  color: #fff;
}

.fullttl .date {
  color: #fff;
}

.sp-menu {
  position: absolute;
  z-index: 10;
  display: none;
  width: 100%;
  height: 50px;
}

.sp-menu.fixed {
  position: fixed;
  top: 0;
  left: 0;
}

.menu-trigger-wrapper {
  padding: 17px 0 10px;
  text-align: center;
}

.menu-trigger,
.menu-trigger span {
  display: inline-block;
  box-sizing: border-box;
  transition: all .4s;
}

.menu-trigger {
  position: relative;
  width: 30px;
  height: 18px;
}

.menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: #111;
}

.menu-trigger span:nth-of-type(1) {
  top: 0;
}

.menu-trigger span:nth-of-type(2) {
  top: 8px;
}

.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

.menu-trigger.active span:nth-of-type(1) {
  transform: translateY(8px) rotate(-45deg);
}

.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}

.menu-trigger.active span:nth-of-type(3) {
  transform: translateY(-8px) rotate(45deg);
}

.remodal-wrapper {
  padding: 0;
}

.remodal {
  margin: 0;
  padding: 20px 0;
  color: #fff;
  background: #111;
}

.remodal .ttl {
  margin: 20px 0 30px;
}

.remodal a {
  color: #fff;
}

.remodal .menu-trigger span {
  background: #d2d1ca;
}

.remodal div>ul>li {
  font-size: 1.6rem;
  margin: 0 0 30px;
}

.remodal div>ul>li span {
  opacity: 0.7;
}

.remodal div>ul>li ul {
  margin: 30px 0 0;
}

.remodal div>ul>li ul li {
  margin: 0 0 30px;
}

.nf404 {
  font-size: 1.8rem;
  font-style: italic;
  line-height: 1.8;
  padding: 100px 0;
  text-align: center;
  letter-spacing: 3px;
}

.nf404 span {
  text-decoration: underline;
}

.tos-desktop .tos-wrapper:hover .tos-close,
.tos-desktop .tos-wrapper:hover .tos-next,
.tos-desktop .tos-wrapper:hover .tos-prev,
.tos-touch .tos-wrapper.tos-hover .tos-close,
.tos-touch .tos-wrapper.tos-hover .tos-next,
.tos-touch .tos-wrapper.tos-hover .tos-prev {
  opacity: 0.2;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {

  .themesnav .next {
    right: 16px;
  }

  .main .nav ul li a {
    padding: 0 0 24px;
  }
}

@media all and (-ms-high-contrast: none) {

  *::-ms-backdrop,
  .main .nav ul li a {
    color: #000;
  }

  *::-ms-backdrop,
  .m-nav-anim:before {
    background: #000;
  }

  *::-ms-backdrop,
  .projects-top .m-ptoplist li .m-listttl {
    color: #000;
  }

  *::-ms-backdrop,
  .projects-top .m-ptoplist li:hover .m-listttl {
    color: #000;
  }

  *::-ms-backdrop,
  .header ul li a {
    color: #000 !important;
  }

  *::-ms-backdrop,
  .header-list ul li a {
    color: #fff !important;
  }

  *::-ms-backdrop,
  .menu-trigger span {
    background-color: #000;
  }
}

@supports (-ms-ime-align:auto) {

  .main .nav ul li a {
    color: #000;
  }

  .m-nav-anim:before {
    background: #000;
  }

  .projects-top .m-ptoplist li .m-listttl {
    color: #000;
  }

  .projects-top .m-ptoplist li:hover .m-listttl {
    color: #FFF;
  }

  .header ul li a {
    color: #000 !important;
  }

  .header-list ul li a {
    color: #fff !important;
  }

  .menu-trigger span {
    background-color: #000;
  }
}

@media only screen and (max-width: 940px) {
  .nav ul li {
    margin: 0 0 0 40px;
  }

  .l-parallaximg .m-ttl-projects h2 {
    font-size: 2.4rem;
    letter-spacing: 3px;
  }

  .l-parallaximg .m-ttl-projects span {
    display: block;
    margin: 10px 0;
  }

  .l-parallaximg .m-ttl-projects p {
    margin: 0 0 6px;
  }

  .l-parallaximg .m-ttl-projects .nf span {
    display: inline;
  }

  .l-parallaximg .m-ttl-contact {
    height: auto;
  }

  .l-parallaximg .m-ttl-contact h2 {
    font-size: 3.1rem;
    letter-spacing: 3px;
  }

  .l-column01 {
    padding: 0 13%;
  }

  .l-column04 {
    padding: 0 40px;
  }

  .l-column05 {
    padding: 0 6%;
  }

  .l-footer {
    height: 160px;
    padding: 0 0 1px;
  }

  .l-footer .nav {
    display: none;
  }

  .l-footer small {
    right: 0;
    bottom: 40px;
    left: 0;
    margin: auto;
    text-align: center;
  }

  .l-footer .pagetop {
    top: 50%;
    right: 0;
    bottom: 0;
    left: 0;
    width: 20px;
    margin: auto;
    transform: translateY(-50%);
  }

  .l-pd .l-body {
    padding: 50px 6%;
  }

  .l-pd .swiper-pd {
    width: 94%;
  }

  .l-pd .swiper-pd .swiper-nav {
    margin: 20px 0 0;
  }

  .l-pd .swiper-pd .swiper-nav .swiper-t {
    display: none;
  }

  .l-pd .swiper-pd .swiper-nav .swiper-nav-ctrl {
    display: none;
  }

  .l-pd .swiper-pd .swiper-nav .swiper-nav-btn {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    float: none;
    width: 100%;
  }

  .l-pd .swiper-pd .swiper-nav .swiper-nav-btn li {
    float: none;
    width: 12.2%;
    margin: 0 0 .3% .3%;
  }

  .l-pager .pager-effectn,
  .l-pager .pager-effectp {
    position: relative;
    border-bottom: 1px solid #fff;
  }

  .l-pager .m-pager {
    display: none;
  }

  .l-pager .m-prev2 {
    display: block;
  }

  .l-pager .m-next2 {
    display: block;
  }

  .l-contact {
    display: block;
  }

  .l-contact>div {
    width: 100%;
  }

  .l-contact .form {
    width: 60%;
    margin: 0 auto;
    padding: 10% 0;
  }

  .news-top .news-top-in {
    padding: 85px 0;
  }

  .projects-top .swiper-container {
    width: 70%;
  }

  .makeloop {
    height: 270px;
    -webkit-animation: slide-tab 50s linear infinite;
    animation: slide-tab 50s linear infinite;
  }

  .about-top .about-in {
    letter-spacing: 0;
  }

  .about-top .about-in div {
    font-size: 1.4rem;
  }

  .about-top .swiper-button-prev {
    top: auto;
    bottom: 0;
    left: 212px;
  }

  .about-top .swiper-button-next {
    top: auto;
    right: 192px;
    bottom: 0;
  }

  .contact-top .map {
    display: none;
  }

  .header ul {
    padding: 20px;
  }

  .header ul li {
    margin: 0 0 0 20px;
  }

  .header ul li:first-child a {
    letter-spacing: 6px;
  }

  .header ul li:nth-child(2) {
    display: none;
  }

  .newsnav ul {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 2.5% 6%;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  .newsnav ul li {
    margin: 0 5% 0 0;
  }

  .hackbottom01 {
    height: 20px;
  }

  .hackbottom02 {
    height: 20px;
  }

  .hackleft {
    width: 20px;
  }

  .hackright {
    width: 20px;
  }

  .fullprev {
    left: 3px;
  }

  .fullnext {
    right: -5px;
  }
}

@media only screen and (max-width: 767px) {
  .l-parallaximg.contactimg {
    height: calc((223 / 350) * 100vw) !important;
  }

  .l-parallaximg .m-ttl-contact {
    height: calc((223 / 350) * 100vw) !important;
  }
}

@media only screen and (max-width: 767px) {
  .control div {
    width: 320px;
  }

  .control h1 {
    font-size: 40px;
  }

  .control i {
    top: 21px;
    bottom: auto;
  }

  .first .logo .ttl h1 {
    font-size: 40px;
  }

  .first .counter {
    top: 25px;
    bottom: auto;
  }

  .first .audio {
    top: 21px;
    bottom: auto;
  }

  .main>.nav {
    display: none;
  }

  .l-parallaximg .m-ttl-projects .nf {
    width: 100%;
  }

  .l-headerimg {
    padding: 0;
  }

  .maquette {
    background: none;
  }

  .l-column01 {
    padding: 0 6%;
  }

  .l-column02 {
    padding: 0 6%;
  }

  .l-column04 {
    padding: 0 6%;
  }

  .l-news {
    margin: 10% 0 0;
  }

  .l-news h2 {
    letter-spacing: 0;
  }

  .l-pd .l-body div {
    float: none;
    width: 100%;
  }

  .l-pd .l-body01::after {
    bottom: -10px;
    width: 349px;
    height: 169px;
    margin-left: -175px;
    background-size: 349px auto;
  }

  .l-pd .l-body div:first-child,
  .l-pd .l-body div:nth-child(2) {
    width: 100%;
    float: none;
    margin: 0 0 10%;
  }

  .l-pd .swiper-pd {
    width: 100%;
  }

  .l-pd .swiper-pd .swiper-nav {
    height: auto;
  }

  .l-pd .swiper-pd .swiper-nav .swiper-nav-btn li {
    height: auto;
  }

  .l-pager .m-h-p {
    width: 100%;
  }

  .l-pager .m-back {
    margin: 10% auto;
  }

  .l-pager .m-back a {
    font-size: 2.0rem;
  }

  .l-pager .m-prev2 a {
    right: 20px;
  }

  .l-pager .m-next2 a {
    left: 20px;
  }

  .l-alllist {
    padding: 0;
  }

  .l-alllist>ul li {
    width: 50%;
  }

  .l-alllist nav {
    position: static;
    padding: 0 4% 15px;
    background: #111;
  }

  .l-alllist nav ul li {
    margin: 0 10% 0 0;
  }

  .l-contact {
    padding: 0;
  }

  .l-contact .l-body {}

  .l-contact .l-body01 {
    padding-top: 20px;
  }

  .l-contact .contactinfo {
    padding-top: 74px;
    padding-bottom: 60px;
  }

  .l-contact .contactinfo .contactinfo-inner {
    display: block;
    width: 90%;
  }

  .l-contact .contactinfo .contactinfo-inner .contactinfo-wrap {
    width: 100%;
    margin: 0 auto;
  }

  .l-contact .contactinfo .contactinfo-inner .m-ttl02 {
    margin: 0 0 25px;
    font-size: 2.0rem;
    letter-spacing: 2.3px;
  }

  .l-contact .contactinfo .contactinfo-inner .m-ttl03 {}

  .l-contact .contactinfo .contactinfo-inner .m-f-nav {}

  .l-contact .contactinfo .contactinfo-inner .m-btn01 {
    margin-top: 33px;
    margin-bottom: 46px;
  }

  .l-contact .contactinfo .contactinfo-inner .m-btn01 a {}

  .l-contact .contactinfo .contactinfo-inner .contactInfo-map {
    display: none;
  }

  .l-contact .form {
    width: 90%;
  }

  .l-contact .form .formttl {
    font-size: 2.0rem;
    letter-spacing: 2.3px;
  }

  .l-contact .form p {
    margin: 0 0 10px;
    color: #fff;
  }

  .l-contact .form .m-f-message {
    margin-top: 10px;
    text-align: right;
    font-family: 'Lato', sans-serif;
    font-weight: 300;
    font-style: italic;
    letter-spacing: 0.9px;
  }

  .l-contact .form dl {
    margin-top: 36px;
    margin-bottom: 39px;
  }

  .l-contact .form dl dt {
    letter-spacing: 2px;
    padding-left: 0;
  }

  .l-contact .form dl dd {
    margin: 0 0 37px;
  }

  .l-contact .form .m-f-aside {
    margin-left: 0;
  }

  .l-contact .form .submit {
    padding: 40px 0 0;
  }

  .l-contact input[type='text'],
  .l-contact input[type='email'] {
    padding: 14px 10px;
  }

  .l-contact .file .js-file-label label {
    display: block;
    padding: 20px;
  }

  .l-contact input[type='submit'] {
    width: 180px;
    height: 60px;
  }

  .l-contact .capt div {
    width: 30%;
  }

  .l-contact .capt p {
    padding: 0 0 0 8px;
  }

  .l-contact .wpcf7 {
    padding: 0 0 45px;
  }

  .l-contact .capt p input[type='text'],
  .l-contact .capt p input[type='email'] {
    padding: 9px 10px;
  }

  .m-ttl02 {
    margin: -70px 0 25px;
    padding: 70px 0 0;
  }

  .m-ttl03 {
    margin: -25px 0 25px;
    padding: 25px 0 0;
  }

  .m-news>div {
    width: 100%;
    padding: 0 0 6%;
  }

  .news-top {
    height: 400px;
    padding-top: 60px;
    background-position: center 50px;
    background-size: cover;
  }

  .news-top .news-top-in {
    padding: 10px 0 0;
  }

  .projects-top .m-ptoplist li .m-listttl {
    width: 100%;
    padding: 0 6%;
    letter-spacing: 3px;
  }

  .projects-top .m-ptoplist li .m-hitarea {
    width: 45%;
  }

  .projects-top .swiper-container {
    width: 54.9%;
  }

  .projects-top .swiper-slide {
    width: 100% !important;
    margin: 0;
  }

  .about-top {
    margin-top: 70px;
  }

  .about-top .about-in div {
    margin: 0;
  }

  .about-top .snav {
    float: none;
    clear: both;
    padding: 0 0 50px;
  }

  .about-top .snav li {
    margin: 0 0 0 30px;
  }

  .about-top .snav li:first-child {
    margin: 0;
  }

  .about-top .swiper-button-prev,
  .about-top .swiper-button-next {
    display: none;
  }

  .contact-top {
    margin-top: 0;
  }

  .contact-top .m-ttl02 {
    margin-bottom: 30px;
  }

  .contact-top .contact-wrap {
    padding: 0 0 30px;
  }

  .header nav {
    position: static;
    padding: 50px 0;
  }

  .header ul {
    padding: 0 0 20px;
  }

  .header ul li:first-child {
    margin: 0 auto;
  }

  .header ul li:nth-child(n+2) {
    display: none;
  }

  .header-list nav {
    margin: 0;
    padding: 50px 0 60px;
  }

  .hacktop01 {
    display: none;
  }

  .hackbottom01 {
    display: none !important;
  }

  .hackbottom02 {
    display: none !important;
  }

  .hackleft {
    display: none;
  }

  .hackright {
    display: none;
  }

  .fullprev {
    display: none !important;
  }

  .fullnext {
    display: none !important;
  }

  .isc {
    bottom: 45px;
    display: block;
    width: 26px;
    height: 24px;
  }

  .cb-scroller {
    display: none;
  }

  #fp-nav {
    display: none !important;
  }

  .ovr {
    display: none;
  }

  .fullpager {
    display: none;
  }

  .fullttl {
    padding: 0 0 0 6%;
  }

  .fullttl .cat2 {
    font-size: 3.6rem;
    letter-spacing: 6px;
  }

  .fullttl .ttl {
    letter-spacing: 6px;
    word-wrap: break-word;
  }

  .sp-menu {
    display: block;
    background: #fff;
  }

  .nf404 {
    font-size: 1.0rem;
    padding: 10% 0;
  }
}

@-webkit-keyframes blurIn {
  0% {
    -webkit-filter: blur(10px);
    filter: blur(10px);
  }

  100% {
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@keyframes blurIn {
  0% {
    -webkit-filter: blur(10px);
    filter: blur(10px);
  }

  100% {
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@-webkit-keyframes zoomIn {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.2) rotate(.02deg);
  }
}

@keyframes zoomIn {
  0% {
    transform: scale(1);
  }

  100% {
    transform: scale(1.2) rotate(.02deg);
  }
}

@-webkit-keyframes zoomOut {
  0% {
    transform: scale(1.2);
  }

  100% {
    transform: scale(1) rotate(.02deg);
  }
}

@keyframes zoomOut {
  0% {
    transform: scale(1.2);
  }

  100% {
    transform: scale(1) rotate(.02deg);
  }
}

@-webkit-keyframes slide {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: -1505px 0;
  }
}

@keyframes slide {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: -1505px 0;
  }
}

@-webkit-keyframes slide-tab {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: -1161px 0;
  }
}

@keyframes slide-tab {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: -1161px 0;
  }
}

@-webkit-keyframes cb-scroller-mouse-circle {
  0% {
    transform: translateY(0px);
    opacity: 0;
  }

  40% {
    transform: translateY(0px);
    opacity: 1;
  }

  70% {
    opacity: 1;
  }

  100% {
    transform: translateY(12px);
    opacity: 0;
  }
}

@keyframes cb-scroller-mouse-circle {
  0% {
    transform: translateY(0px);
    opacity: 0;
  }

  40% {
    transform: translateY(0px);
    opacity: 1;
  }

  70% {
    opacity: 1;
  }

  100% {
    transform: translateY(12px);
    opacity: 0;
  }
}

@keyframes cb-scroller-mouse-circle {
  0% {
    transform: translateY(0px);
    opacity: 0;
  }

  40% {
    transform: translateY(0px);
    opacity: 1;
  }

  70% {
    opacity: 1;
  }

  100% {
    transform: translateY(12px);
    opacity: 0;
  }
}

@keyframes zoom-in-out {
  0% {
    transform: scale(0.8);
  }

  50% {
    transform: scale(1.2);
  }

  100% {
    transform: scale(1);
  }
}