/* ==========================================================================
Foundation
========================================================================== */
/* Reset
----------------------------------------------------------------- */
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}

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

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

input, button, textarea, select {
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* Base
	----------------------------------------------------------------- */
html {
  overflow-x: hidden;
  height: 100%;
  color: #ADADAD;
  background: #1D1D1D;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-weight: 500;
}
html.is-modal {
  overflow-y: hidden;
}
html:not(.is-standby) {
  overflow: hidden;
}
html:not(.is-standby) body {
  overflow: hidden;
}

body {
  color: #000000;
  background: #FFFFFF;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
}
@media screen and (max-width: 720px) {
  body {
    /* mobile viewport bug fix */
    min-height: -webkit-fill-available;
  }
  .is-sp body {
    min-height: 100dvh;
  }
}
body.is-transition {
  pointer-events: none;
}
.is-about body {
  color: #FFFFFF;
  background: #000000;
}

img {
  vertical-align: bottom;
  image-rendering: -webkit-optimize-contrast;
}

a {
  color: #000000;
  text-decoration: none;
  cursor: pointer;
  transition: opacity 0.6s;
}
@media screen and (min-width: 721px) {
  a:hover {
    opacity: 0.5;
  }
}

strong, em {
  font-weight: 600;
}

/* ==========================================================================
	Layout
========================================================================== */
.header {
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 1000;
  mix-blend-mode: difference;
  padding: 1.171875vw 0.78125vw 1.171875vw 1.171875vw;
  margin: 0;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 720px) {
  .header {
    padding: 3.2307692308vw 2.5641025641vw 3.2307692308vw 2.5641025641vw;
    transition: top 0.4s;
  }
  .header.is-active {
    mix-blend-mode: normal;
  }
  .header.is-rolldown {
    top: -100%;
  }
}
.header__logo {
  opacity: 0;
  transition: opacity 0.3s ease-out;
}
.is-animated .header__logo {
  opacity: 1;
}
.header__navi li {
  opacity: 0;
  transform: translateY(5px) translateZ(0);
  transition: opacity 0.3s, transform 0.3s ease-out;
}
.is-animated .header__navi li {
  opacity: 1;
  transform: none;
}
.header__navi li:nth-child(1) {
  transition-delay: 0.2s;
}
.header__navi li:nth-child(2) {
  transition-delay: 0.3s;
}
.header__navi li:nth-child(3) {
  transition-delay: 0.4s;
}
.header__navi li:nth-child(4) {
  transition-delay: 0.5s;
}
.header__navi li:nth-child(5) {
  transition-delay: 0.6s;
}
.header__navi li:nth-child(6) {
  transition-delay: 0.7s;
}
.header__navi li:nth-child(7) {
  transition-delay: 0.8s;
}
.header__navi li:nth-child(8) {
  transition-delay: 0.9s;
}
.header__navi li:nth-child(9) {
  transition-delay: 1s;
}
.header__layer {
  display: none;
}
@media screen and (max-width: 720px) {
  .header__layer {
    display: block;
    transition: opacity 0.6s;
  }
  .header__layer .header__navi {
    opacity: 1;
  }
  .header__layer .header__navi li {
    opacity: 0;
    transform: translateY(5px) translateZ(0);
    transition: opacity 0.3s, transform 0.3s ease-out;
  }
  .header__layer .header__address,
  .header__layer .header__mail {
    opacity: 0;
    transform: translateY(5px) translateZ(0);
    transition: opacity 0.3s, transform 0.3s ease-out;
  }
  .header__layer.is-active {
    pointer-events: all;
    opacity: 1;
  }
  .header__layer.is-active .header__navi li {
    opacity: 1;
    transform: none;
  }
  .header__layer.is-active .header__navi li:nth-child(1) {
    transition-delay: 0.2s;
  }
  .header__layer.is-active .header__navi li:nth-child(2) {
    transition-delay: 0.3s;
  }
  .header__layer.is-active .header__navi li:nth-child(3) {
    transition-delay: 0.4s;
  }
  .header__layer.is-active .header__address,
  .header__layer.is-active .header__mail {
    opacity: 1;
    transform: none;
  }
  .header__layer.is-active .header__address {
    transition-delay: 0.4s;
  }
  .header__layer.is-active .header__mail {
    transition-delay: 0.5s;
  }
}
@media screen and (max-width: 720px) {
  .header__logo {
    z-index: 2;
    position: relative;
  }
}
.header__logo img {
  width: 11vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .header__logo img {
    width: 33.0974358974vw;
  }
}
.header__navi {
  font-size: 1.40625vw;
  letter-spacing: -0.01em;
  line-height: calc(13 / 18);
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media screen and (max-width: 720px) {
  .header__navi {
    font-size: 5.3846153846vw;
    letter-spacing: 0em;
    line-height: calc(14 / 21);
    color: #FFFFFF;
    display: none;
  }
}
.header__navi li {
  display: inline-block;
}
.header__navi li + li {
  margin-left: 0.78125vw;
}
@media screen and (max-width: 720px) {
  .header__navi li + li {
    margin-left: 3.5897435897vw;
  }
}
.header__navi a {
  color: #FFFFFF;
  opacity: 0.57;
  transition: opacity 0.4s;
}
.header__navi a.is-active {
  opacity: 1;
}
@media screen and (max-width: 720px) {
  .header__navi a {
    color: #FFFFFF;
    opacity: 1;
  }
  .header__navi a.is-active {
    text-decoration: underline;
  }
}
.header__toggle {
  display: none;
}
@media screen and (max-width: 720px) {
  .header__toggle {
    display: block;
    position: absolute;
    top: 3.3333333333vw;
    right: 2.5641025641vw;
    font-size: 4.1025641026vw;
    letter-spacing: -0.009em;
    line-height: 1;
    color: #FFFFFF;
    z-index: 3;
  }
}
@media screen and (max-width: 720px) {
  .header__layer {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: #000000;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: none;
    opacity: 0;
  }
  .header__layer .header__navi {
    display: block;
  }
}
.header__address {
  display: none;
}
@media screen and (max-width: 720px) {
  .header__address {
    display: block;
    color: #FFFFFF;
    font-size: 3.5897435897vw;
    letter-spacing: 0em;
    line-height: calc(15 / 14);
    position: absolute;
    left: 2.5641025641vw;
    bottom: 2.5641025641vw;
  }
}
.header__mail {
  display: none;
}
@media screen and (max-width: 720px) {
  .header__mail {
    display: block;
    font-size: 3.5897435897vw;
    letter-spacing: 0em;
    line-height: calc(12 / 14);
    position: absolute;
    right: 2.5641025641vw;
    bottom: 2.5641025641vw;
    color: #FFFFFF;
  }
  .header__mail a {
    color: #FFFFFF;
    text-decoration: underline;
  }
}

.wrapper {
  overflow-x: hidden;
  max-width: 100%;
}

.footer {
  background: #1D1D1D;
  color: #ADADAD;
  margin-top: 24.140625vw;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-weight: 500;
}
@media screen and (max-width: 720px) {
  .footer {
    margin-top: 79.2307692308vw;
  }
}
.footer a {
  color: #ADADAD;
}
.footer__discover {
  font-size: 1.40625vw;
  letter-spacing: 0em;
  line-height: 1;
  padding: 0.78125vw;
}
@media screen and (max-width: 720px) {
  .footer__discover {
    font-size: 3.3333333333vw;
    letter-spacing: 0em;
    line-height: 1;
    padding: 2.0512820513vw 2.5641025641vw;
  }
}
.footer__discover a {
  color: #F4F4F2;
}
.footer__inner {
  width: 100%;
  display: grid;
  border-top: 1px solid #F5F5F4;
  padding: 0.78125vw 0.78125vw 1.171875vw;
  grid-template-columns: 1fr 13.28125vw 12.265625vw 15.078125vw;
}
@media screen and (max-width: 720px) {
  .footer__inner {
    padding: 2.5641025641vw 2.5641025641vw 3.8461538462vw;
    grid-template-columns: 47.4358974359vw 30.2564102564vw 17.1794871795vw;
  }
}
.footer__navi {
  font-size: 1.171875vw;
  letter-spacing: 0em;
  line-height: calc(19 / 15);
  grid-row: 1;
  grid-column: 2;
}
@media screen and (max-width: 720px) {
  .footer__navi {
    font-size: 3.8461538462vw;
    letter-spacing: 0em;
    line-height: calc(18 / 15);
  }
}
.footer__sns {
  font-size: 1.171875vw;
  letter-spacing: 0em;
  line-height: calc(19 / 15);
  grid-row: 1;
  grid-column: 3;
}
@media screen and (max-width: 720px) {
  .footer__sns {
    font-size: 3.8461538462vw;
    letter-spacing: 0em;
    line-height: calc(18 / 15);
  }
}
.footer__address {
  font-size: 1.40625vw;
  letter-spacing: 0em;
  line-height: calc(19 / 18);
  grid-row: 2;
  grid-column: 1;
  margin-top: 6.25vw;
}
@media screen and (max-width: 720px) {
  .footer__address {
    font-size: 3.5897435897vw;
    letter-spacing: 0em;
    line-height: calc(15 / 14);
    margin-top: 21.0256410256vw;
  }
}
.footer__mail {
  font-size: 1.40625vw;
  letter-spacing: 0em;
  line-height: calc(16 / 18);
  grid-row: 2;
  grid-column: 2/span 3;
  display: flex;
  align-items: flex-end;
  width: 25.546875vw;
  white-space: nowrap;
}
@media screen and (max-width: 720px) {
  .footer__mail {
    grid-row: 3;
    grid-column: 2/span 2;
    width: auto;
    font-size: 3.5897435897vw;
    letter-spacing: 0em;
    line-height: 1;
    margin-top: 14.8717948718vw;
  }
}
.footer__mail a {
  margin-left: 0.5em;
  text-decoration: underline;
}
.footer__logo {
  grid-row: 3;
  grid-column: 1;
  margin-top: 7.3203125vw;
  display: flex;
  align-items: flex-end;
  box-sizing: border-box;
  padding-left: 0.625vw;
}
.footer__logo img {
  width: 11.5875vw;
  height: auto;
}
@media screen and (max-width: 720px) {
  .footer__logo {
    grid-row: 4;
    grid-column: 1;
    margin-top: 13.4358974359vw;
  }
  .footer__logo img {
    width: 29.9512820513vw;
  }
}
.footer__pagetop {
  font-size: 1.171875vw;
  letter-spacing: 0em;
  line-height: 1;
  grid-row: 3;
  grid-column: 2;
  display: flex;
  align-items: flex-end;
}
@media screen and (max-width: 720px) {
  .footer__pagetop {
    display: none;
  }
}
.footer__copy {
  font-size: 1.171875vw;
  letter-spacing: 0em;
  line-height: 1;
  grid-row: 3;
  grid-column: 3/span 4;
  display: flex;
  align-items: flex-end;
  white-space: nowrap;
  justify-content: flex-end;
}
@media screen and (max-width: 720px) {
  .footer__copy {
    display: none;
  }
}

/* ==========================================================================
	Object
========================================================================== */
/* Component
----------------------------------------------------------------- */
.section {
  padding: 0 4.296875vw;
}

/* Project
----------------------------------------------------------------- */
.keyvisual {
  min-height: 100vh;
  box-sizing: border-box;
}
@media screen and (max-width: 720px) {
  .keyvisual {
    min-height: 100vh;
  }
}
@media screen and (max-width: 720px) {
  .is-sp .keyvisual {
    min-height: 100svh;
  }
}
.keyvisual__image {
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.25vw;
  letter-spacing: 0em;
  line-height: calc(17 / 16);
}
@media screen and (max-width: 720px) {
  .keyvisual__image {
    font-size: 3.3333333333vw;
    letter-spacing: -0.005em;
    line-height: calc(14 / 13);
  }
}
.keyvisual__image.ext-01 {
  top: 3.90625vw;
  left: 0.78125vw;
}
@media screen and (max-width: 720px) {
  .keyvisual__image.ext-01 {
    top: 26.4102564103vw;
    left: 2.5641025641vw;
  }
}
.keyvisual__image.ext-02 {
  right: 0.78125vw;
  bottom: 1.171875vw;
}
@media screen and (max-width: 720px) {
  .keyvisual__image.ext-02 {
    right: 2.5641025641vw;
    bottom: 1.7948717949vw;
  }
}
.keyvisual__image img {
  opacity: 0;
  transition: opacity 0.3s ease-out;
  transition-delay: 0.2s;
}
.keyvisual__image strong, .keyvisual__image span {
  opacity: 0;
  transform: translateY(5px) translateZ(0);
  transition: opacity 0.3s, transform 0.3s ease-out;
}
.keyvisual__image strong {
  transition-delay: 0.3s;
}
.keyvisual__image span {
  transition-delay: 0.4s;
}
.keyvisual__image:nth-child(2) img {
  transition-delay: 0.3s;
}
.keyvisual__image:nth-child(2) strong {
  transition-delay: 0.4s;
}
.keyvisual__image:nth-child(2) span {
  transition-delay: 0.5s;
}
.keyvisual__image.is-animated img {
  opacity: 1;
}
.keyvisual__image.is-animated strong, .keyvisual__image.is-animated span {
  opacity: 1;
  transform: none;
}
.keyvisual__image strong {
  margin-top: 0.625vw;
  font-weight: inherit;
  display: block;
}
@media screen and (max-width: 720px) {
  .keyvisual__image strong {
    margin-top: 1.2820512821vw;
  }
}
.keyvisual__image span {
  display: block;
  color: #BFBFBF;
}
.keyvisual__image img.ext-horizontal {
  width: 45.390625vw;
  height: 30.078125vw;
}
@media screen and (max-width: 720px) {
  .keyvisual__image img.ext-horizontal {
    width: 64.8717948718vw;
    height: 45.3846153846vw;
  }
}
.keyvisual__image img.ext-vertical {
  width: 23.75vw;
  height: 31.640625vw;
}
@media screen and (max-width: 720px) {
  .keyvisual__image img.ext-vertical {
    width: 45.8974358974vw;
    height: 61.2820512821vw;
  }
}

.index {
  display: grid;
  margin: 14.53125vw 0.78125vw 0;
}
@media screen and (max-width: 720px) {
  .index {
    margin: 20.7692307692vw 2.5641025641vw 0;
  }
}
.index__filter {
  grid-column: 1;
  grid-row: 1;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.640625vw;
  letter-spacing: 0em;
  line-height: calc(17 / 21);
}
@media screen and (max-width: 720px) {
  .index__filter {
    font-size: 3.5897435897vw;
    letter-spacing: 0em;
    line-height: 1;
  }
}
.index__filter > a {
  opacity: 0;
  transform: translateY(5px) translateZ(0);
  transition: opacity 0.3s, transform 0.3s ease-out;
}
.index__filter ul li {
  opacity: 0;
  transform: translateY(5px) translateZ(0);
  transition: opacity 0.3s, transform 0.3s ease-out;
}
.index__filter ul li:nth-child(1) {
  transition-delay: 0.1s;
}
.index__filter ul li:nth-child(2) {
  transition-delay: 0.2s;
}
.index__filter ul li:nth-child(3) {
  transition-delay: 0.3s;
}
.index__filter ul li:nth-child(4) {
  transition-delay: 0.4s;
}
.index__filter ul li:nth-child(5) {
  transition-delay: 0.5s;
}
.index__filter ul li:nth-child(6) {
  transition-delay: 0.6s;
}
.index__filter ul li:nth-child(7) {
  transition-delay: 0.7s;
}
.index__filter ul li:nth-child(8) {
  transition-delay: 0.8s;
}
.index__filter ul li:nth-child(9) {
  transition-delay: 0.9s;
}
.index__filter.is-animated > a {
  opacity: 1;
  transform: none;
}
.index__filter.is-animated ul li {
  opacity: 1;
  transform: none;
}
.index__filter > a:after {
  display: inline-block;
  margin-left: 0.5em;
  content: "+";
}
.index__filter > a.is-active:after {
  content: "-";
}
.index__filter ul {
  font-size: 1.328125vw;
  letter-spacing: -0.005em;
  line-height: calc(19 / 17);
  padding-bottom: 4.0625vw;
  margin-top: 0.78125vw;
  margin-left: 4.84375vw;
  display: none;
}
@media screen and (max-width: 720px) {
  .index__filter ul {
    font-size: 3.5897435897vw;
    letter-spacing: 0em;
    line-height: calc(16 / 14);
    padding-bottom: 6.6666666667vw;
    margin-top: 2.5641025641vw;
    margin-left: 7.9487179487vw;
  }
}
.index__filter ul li {
  display: flex;
}
.index__filter ul li a {
  display: flex;
  align-items: center;
  color: #BFBFBF;
}
.index__filter ul li a:before {
  display: inline-block;
  content: "-";
  margin-right: 0.5em;
}
.index__filter ul li a.is-active {
  color: #000000;
}
.index__layout {
  grid-column: 2;
  grid-row: 1;
  margin-left: auto;
  display: flex;
  align-items: flex-start;
  font-size: 1.640625vw;
  letter-spacing: 0em;
  line-height: calc(17 / 21);
  opacity: 0;
  transform: translateY(5px) translateZ(0);
  transition: opacity 0.3s, transform 0.3s ease-out;
}
@media screen and (max-width: 720px) {
  .index__layout {
    font-size: 3.5897435897vw;
    letter-spacing: 0em;
    line-height: 1;
  }
}
.index__layout.is-animated {
  opacity: 1;
  transform: none;
}
.index__layout a {
  display: inline-block;
  color: #BFBFBF;
}
.index__layout a:first-child {
  margin-right: 0.5em;
}
.index__layout a:last-child {
  margin-left: 0.5em;
}
.index__layout a.is-active {
  color: #000000;
}
.index__header {
  width: 100%;
  grid-column: 1/span 2;
  grid-row: 2;
  display: none;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.25vw;
  letter-spacing: 0em;
  line-height: calc(17 / 16);
  margin-top: 5vw;
  opacity: 0;
  transition: opacity 0s;
}
@media screen and (max-width: 720px) {
  .index__header {
    margin-top: 16.1538461538vw;
    font-size: 3.3333333333vw;
    letter-spacing: 0em;
    line-height: calc(14 / 13);
  }
}
.ext-list .index__header {
  display: flex;
}
.is-active .index__header {
  opacity: 1;
  transition: opacity 0.6s;
}
.index__header span {
  flex-shrink: 0;
  flex-grow: 0;
}
.index__header span.ext-date {
  width: 11.5079365079%;
}
@media screen and (max-width: 720px) {
  .index__header span.ext-date {
    width: 22.4324324324%;
  }
}
.index__header span.ext-tag {
  width: 13.7301587302%;
}
@media screen and (max-width: 720px) {
  .index__header span.ext-tag {
    width: 29.1891891892%;
  }
}
.index__header span.ext-location {
  width: 15.1587301587%;
}
@media screen and (max-width: 720px) {
  .index__header span.ext-location {
    display: none;
  }
}
.index__header span.ext-title {
  width: 46.3492063492%;
}
@media screen and (max-width: 720px) {
  .index__header span.ext-title {
    width: 22.4324324324%;
  }
}
.index__header span.ext-image {
  width: 14.2063492063%;
}
@media screen and (max-width: 720px) {
  .index__header span.ext-image {
    display: none;
  }
}
.index__more {
  grid-column: 1/span 2;
  grid-row: 4;
  height: 0;
}
.index__pagination {
  grid-column: 1/span 2;
  grid-row: 5;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.640625vw;
  letter-spacing: 0em;
  line-height: calc(17 / 21);
  margin-top: 7.8125vw;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 720px) {
  .index__pagination {
    font-size: 3.5897435897vw;
    letter-spacing: 0em;
    line-height: 1;
  }
}

.index__list,
.related__list {
  grid-column: 1/span 2;
  grid-row: 3;
  margin-top: 0.78125vw;
  opacity: 0;
  transition: opacity 0s;
}
@media screen and (max-width: 720px) {
  .index__list,
  .related__list {
    margin-top: 13.3333333333vw;
  }
  .ext-list .index__list,
  .ext-list .related__list {
    margin-top: 1.0769230769vw;
  }
}
.is-active .index__list,
.is-active .related__list {
  opacity: 1;
  transition: opacity 0.8s;
}
.index__list a,
.related__list a {
  opacity: 1;
}
.index__list.is-hover a,
.related__list.is-hover a {
  opacity: 1;
}
.index__list.is-hover a:not(:hover),
.related__list.is-hover a:not(:hover) {
  opacity: 0.4;
}
.ext-list .index__page,
.ext-list .related__page {
  width: calc(100% + 1.5625vw);
  margin-left: -0.78125vw;
  margin-right: -0.78125vw;
}
@media screen and (max-width: 720px) {
  .ext-list .index__page,
  .ext-list .related__page {
    width: calc(100% + 5.1282051282vw);
    margin-left: -2.5641025641vw;
    margin-right: -2.5641025641vw;
  }
}
:not(.ext-list) .index__page,
:not(.ext-list) .related__page {
  display: flex;
  flex-wrap: wrap;
}
:not(.ext-list) .index__page + .index__page,
:not(.ext-list) .related__page + .index__page {
  margin-top: 9.734375vw;
}
@media screen and (max-width: 720px) {
  :not(.ext-list) .index__page + .index__page,
  :not(.ext-list) .related__page + .index__page {
    margin-top: 10.5128205128vw;
  }
}
.index__item,
.related__item {
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.25vw;
  letter-spacing: 0em;
  line-height: calc(17 / 16);
}
@media screen and (max-width: 720px) {
  .index__item,
  .related__item {
    font-size: 3.0769230769vw;
    letter-spacing: -0.005em;
    line-height: calc(13 / 12);
  }
}
@media screen and (min-width: 721px) {
  :not(.ext-list) .index__item,
  :not(.ext-list) .related__item {
    width: 24.2857142857%;
    box-sizing: border-box;
    margin-left: 0.9523809524%;
  }
}
@media screen and (min-width: 721px) and (min-width: 721px) {
  :not(.ext-list) .index__item:nth-child(4n+1),
  :not(.ext-list) .related__item:nth-child(4n+1) {
    margin-left: 0;
  }
  :not(.ext-list) .index__item:nth-child(n+5),
  :not(.ext-list) .related__item:nth-child(n+5) {
    margin-top: 9.734375vw;
  }
}
@media screen and (max-width: 720px) {
  :not(.ext-list) .index__item,
  :not(.ext-list) .related__item {
    width: 48.3783783784%;
    box-sizing: border-box;
    margin-left: 3.2432432432%;
  }
  :not(.ext-list) .index__item:nth-child(2n+1),
  :not(.ext-list) .related__item:nth-child(2n+1) {
    margin-left: 0;
  }
  :not(.ext-list) .index__item:nth-child(n+3),
  :not(.ext-list) .related__item:nth-child(n+3) {
    margin-top: 10.5128205128vw;
  }
}
.index__item .ext-thumb,
.related__item .ext-thumb {
  opacity: 0;
  transition: opacity 0.3s ease-out;
}
.index__item .ext-name,
.index__item .ext-date,
.index__item .ext-location,
.index__item .ext-tag,
.related__item .ext-name,
.related__item .ext-date,
.related__item .ext-location,
.related__item .ext-tag {
  opacity: 0;
  transform: translateY(5px) translateZ(0);
  transition: opacity 0.3s, transform 0.3s ease-out;
}
.ext-list .index__item,
.ext-list .related__item {
  opacity: 0;
  transition: opacity 0.6s;
}
.ext-list .index__item.is-animated,
.ext-list .related__item.is-animated {
  opacity: 1;
}
.ext-list .index__item .ext-thumb,
.ext-list .related__item .ext-thumb {
  transition-delay: 0.7s !important;
}
.ext-list .index__item .ext-name,
.ext-list .related__item .ext-name {
  transition-delay: 0.6s !important;
}
.ext-list .index__item .ext-date,
.ext-list .related__item .ext-date {
  transition-delay: 0.3s !important;
}
.ext-list .index__item .ext-location,
.ext-list .related__item .ext-location {
  transition-delay: 0.5s !important;
}
.ext-list .index__item .ext-tag,
.ext-list .related__item .ext-tag {
  transition-delay: 0.4s !important;
}
@media screen and (max-width: 720px) {
  .ext-list .index__item .ext-thumb,
  .ext-list .related__item .ext-thumb {
    transition-delay: 0.6s !important;
  }
  .ext-list .index__item .ext-name,
  .ext-list .related__item .ext-name {
    transition-delay: 0.5s !important;
  }
  .ext-list .index__item .ext-date,
  .ext-list .related__item .ext-date {
    transition-delay: 0.3s !important;
  }
  .ext-list .index__item .ext-tag,
  .ext-list .related__item .ext-tag {
    transition-delay: 0.4s !important;
  }
}
:not(.ext-list) .index__item .ext-name,
:not(.ext-list) .related__item .ext-name {
  transition-delay: 0.1s;
}
:not(.ext-list) .index__item .ext-date,
:not(.ext-list) .related__item .ext-date {
  transition-delay: 0.2s;
}
:not(.ext-list) .index__item .ext-location,
:not(.ext-list) .related__item .ext-location {
  transition-delay: 0.3s;
}
:not(.ext-list) .index__item .ext-tag,
:not(.ext-list) .related__item .ext-tag {
  transition-delay: 0.4s;
}
.is-transition .index__item .ext-thumb,
.is-transition .related__item .ext-thumb {
  transition-delay: 0s !important;
  transition-duration: 0s !important;
}
.is-transition .index__item .ext-name,
.is-transition .index__item .ext-date,
.is-transition .index__item .ext-location,
.is-transition .index__item .ext-tag,
.is-transition .related__item .ext-name,
.is-transition .related__item .ext-date,
.is-transition .related__item .ext-location,
.is-transition .related__item .ext-tag {
  transition-delay: 0s !important;
  transition-duration: 0s !important;
}
.index__item.is-animated .ext-thumb,
.related__item.is-animated .ext-thumb {
  opacity: 1;
}
.index__item.is-animated .ext-name,
.index__item.is-animated .ext-date,
.index__item.is-animated .ext-location,
.index__item.is-animated .ext-tag,
.related__item.is-animated .ext-name,
.related__item.is-animated .ext-date,
.related__item.is-animated .ext-location,
.related__item.is-animated .ext-tag {
  opacity: 1;
  transform: none;
}
.ext-list .index__item,
.ext-list .related__item {
  width: 100%;
  border-top: 1px solid #000000;
  margin-top: 0;
  margin-left: 0;
}
@media screen and (min-width: 721px) {
  .ext-list .index__item:nth-child(n+5),
  .ext-list .related__item:nth-child(n+5) {
    margin-top: 0;
  }
}
@media screen and (max-width: 720px) {
  .ext-list .index__item:nth-child(n+3),
  .ext-list .related__item:nth-child(n+3) {
    margin-top: 0;
  }
}
.ext-list .index__item > a,
.ext-list .related__item > a {
  width: 100%;
  padding: 0.8359375vw 0.78125vw 3.5703125vw;
  display: flex;
  box-sizing: border-box;
  align-self: flex-start;
}
@media screen and (max-width: 720px) {
  .ext-list .index__item > a,
  .ext-list .related__item > a {
    display: grid;
    grid-template-columns: 48.9743589744vw 45.8974358974vw;
    padding: 1.7435897436vw 2.5641025641vw 9.0256410256vw;
  }
}
.ext-list .index__item .ext-name,
.ext-list .related__item .ext-name {
  order: 4;
  flex-grow: 0;
  flex-shrink: 0;
  width: 46.3492063492%;
  font-size: 2.8125vw;
  letter-spacing: -0.016em;
  line-height: calc(37 / 36);
  margin-top: -0.390625vw;
}
@media screen and (max-width: 720px) {
  .ext-list .index__item .ext-name,
  .ext-list .related__item .ext-name {
    grid-column: 2;
    grid-row: 1;
    width: auto;
    font-size: 4.1025641026vw;
    letter-spacing: -0.016em;
    line-height: calc(17 / 16);
    margin-top: 0;
  }
}
.ext-grid .index__item .ext-date,
.ext-grid .related__item .ext-date {
  color: #BFBFBF;
}
.ext-list .index__item .ext-date,
.ext-list .related__item .ext-date {
  order: 2;
  flex-grow: 0;
  flex-shrink: 0;
  width: 11.5079365079%;
  font-size: 1.25vw;
  letter-spacing: 0em;
  line-height: 1;
}
@media screen and (max-width: 720px) {
  .ext-list .index__item .ext-date,
  .ext-list .related__item .ext-date {
    grid-column: 1;
    grid-row: 1;
    width: auto;
    font-size: 3.3333333333vw;
    letter-spacing: 0em;
    line-height: 1;
  }
}
.ext-list .index__item .ext-location,
.ext-list .related__item .ext-location {
  order: 3;
  flex-grow: 0;
  flex-shrink: 0;
  width: 15.1587301587%;
  align-self: flex-end;
  font-size: 1.25vw;
  letter-spacing: 0em;
  line-height: calc(17 / 16);
}
@media screen and (max-width: 720px) {
  .ext-list .index__item .ext-location,
  .ext-list .related__item .ext-location {
    display: none;
  }
}
.index__item .ext-tag span,
.related__item .ext-tag span {
  display: block;
}
.ext-list .index__item .ext-tag,
.ext-list .related__item .ext-tag {
  order: 2;
  flex-grow: 0;
  flex-shrink: 0;
  width: 13.7301587302%;
  align-self: flex-end;
  font-size: 1.25vw;
  letter-spacing: 0em;
  line-height: calc(17 / 16);
}
@media screen and (max-width: 720px) {
  .ext-list .index__item .ext-tag,
  .ext-list .related__item .ext-tag {
    grid-column: 1;
    grid-row: 2;
    width: auto;
    box-sizing: border-box;
    font-size: 3.3333333333vw;
    letter-spacing: 0em;
    line-height: calc(14 / 13);
    padding-left: 43.4554973822%;
    padding-top: 6.6666666667vw;
    align-self: flex-start;
  }
}
.index__item .ext-thumb,
.related__item .ext-thumb {
  width: 100%;
  height: 0;
  padding-top: 71.2418300654%;
  position: relative;
  margin-bottom: 0.78125vw;
}
.index__item .ext-thumb img,
.related__item .ext-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
}
.ext-list .index__item .ext-thumb,
.ext-list .related__item .ext-thumb {
  order: 5;
  flex-grow: 0;
  flex-shrink: 0;
  width: 13.253968254%;
  padding-top: 9.2063492063%;
  margin-bottom: 0;
}
@media screen and (max-width: 720px) {
  .ext-list .index__item .ext-thumb,
  .ext-list .related__item .ext-thumb {
    grid-column: 2;
    grid-row: 2;
    width: auto;
    height: auto;
    box-sizing: border-box;
    padding-left: 31.2849162011%;
    padding-top: 6.6666666667vw;
  }
  .ext-list .index__item .ext-thumb img,
  .ext-list .related__item .ext-thumb img {
    position: relative;
    width: 31.5384615385vw;
    height: 21.7948717949vw;
  }
}

.related {
  margin-top: 26.5234375vw;
  border-top: 1px solid #000000;
  padding: 0.3125vw 0.78125vw 0.78125vw;
}
@media screen and (max-width: 720px) {
  .related {
    margin-top: 57.0512820513vw;
    padding: 1.0256410256vw 2.5641025641vw 2.5641025641vw;
  }
}
.related__title {
  opacity: 0;
  transform: translateY(5px) translateZ(0);
  transition: opacity 0.3s, transform 0.3s ease-out;
}
.related__title.is-animated {
  opacity: 1;
  transform: none;
}
.related__title {
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 2.890625vw;
  letter-spacing: -0.007em;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 720px) {
  .related__title {
    font-size: 6.6666666667vw;
    letter-spacing: -0.007em;
    line-height: 1;
  }
}
.related__list {
  opacity: 1;
  margin-top: 8.828125vw;
}
@media screen and (max-width: 720px) {
  .related__list {
    margin-top: 7.9487179487vw;
  }
}

.description {
  min-height: 100vh;
  box-sizing: border-box;
  display: flex;
  align-items: flex-end;
  padding: 0.78125vw;
  box-sizing: border-box;
}
@media screen and (max-width: 720px) {
  .description {
    min-height: 0;
    padding: 0 2.5641025641vw 0;
    display: block;
  }
}
.description__image {
  opacity: 0;
  transition: opacity 0.3s ease-out;
}
.description__image.is-animated {
  opacity: 1;
}
.description__detail h1 {
  opacity: 0;
  transform: translateY(5px) translateZ(0);
  transition: opacity 0.3s, transform 0.3s ease-out;
  transition-delay: 0.1s;
}
.description__detail h1.is-animated {
  opacity: 1;
  transform: none;
}
.description__detail dl > * {
  opacity: 0;
  transform: translateY(5px) translateZ(0);
  transition: opacity 0.3s, transform 0.3s ease-out;
}
.description__detail dl > *:nth-child(1) {
  transition-delay: 0.2s;
}
.description__detail dl > *:nth-child(2) {
  transition-delay: 0.3s;
}
.description__detail dl > *:nth-child(3) {
  transition-delay: 0.4s;
}
.description__detail dl > *:nth-child(4) {
  transition-delay: 0.5s;
}
.description__detail dl > *:nth-child(5) {
  transition-delay: 0.6s;
}
.description__detail dl > *:nth-child(6) {
  transition-delay: 0.7s;
}
.description__detail dl > *:nth-child(7) {
  transition-delay: 0.8s;
}
.description__detail dl > *:nth-child(8) {
  transition-delay: 0.9s;
}
.description__detail dl > *:nth-child(9) {
  transition-delay: 1s;
}
.description__detail dl > *:nth-child(10) {
  transition-delay: 1.1s;
}
.description__detail dl > *:nth-child(11) {
  transition-delay: 1.2s;
}
.description__detail dl > *:nth-child(12) {
  transition-delay: 1.3s;
}
.description__detail dl > *:nth-child(13) {
  transition-delay: 1.4s;
}
.description__detail dl > *:nth-child(14) {
  transition-delay: 1.5s;
}
.description__detail dl > *:nth-child(15) {
  transition-delay: 1.6s;
}
.description__detail dl > *:nth-child(16) {
  transition-delay: 1.7s;
}
.description__detail dl > *:nth-child(17) {
  transition-delay: 1.8s;
}
.description__detail dl > *:nth-child(18) {
  transition-delay: 1.9s;
}
.description__detail dl > *:nth-child(19) {
  transition-delay: 2s;
}
.description__detail dl.is-animated > * {
  opacity: 1;
  transform: none;
}
.description__detail dl a {
  text-decoration: underline;
}
.description > div {
  display: flex;
  align-items: stretch;
  margin-top: 3.90625vw;
}
@media screen and (max-width: 720px) {
  .description > div {
    display: block;
    margin-top: 26.4102564103vw;
  }
}
.description__image {
  width: 65.3125vw;
  height: 42.109375vw;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 720px) {
  .description__image {
    width: 94.8717948718vw;
    height: 60.7692307692vw;
  }
}
.description__detail {
  flex-shrink: 1;
  flex-grow: 1;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-weight: 500;
  padding-left: 1.71875vw;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 720px) {
  .description__detail {
    padding-left: 0;
    margin-top: 3.8461538462vw;
  }
}
.description__detail h1 {
  font-size: 1.640625vw;
  letter-spacing: -0.01em;
  line-height: calc(17 / 21);
}
@media screen and (max-width: 720px) {
  .description__detail h1 {
    font-size: 5.1282051282vw;
    letter-spacing: -0.01em;
    line-height: calc(21 / 20);
  }
}
.description__detail dl {
  margin-top: 3.984375vw;
  flex-grow: 1;
  flex-shrink: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
}
@media screen and (max-width: 720px) {
  .description__detail dl {
    margin-top: 10.2564102564vw;
  }
}
.description__detail dt {
  font-size: 0.703125vw;
  letter-spacing: 0em;
  line-height: 1;
  margin-top: 1.71875vw;
}
@media screen and (max-width: 720px) {
  .description__detail dt {
    font-size: 2.3076923077vw;
    letter-spacing: 0em;
    line-height: 1;
    margin-top: 5.641025641vw;
  }
}
.description__detail dt:first-child {
  margin-top: 0;
}
.description__detail dt.ext-team {
  margin-top: auto;
  padding-top: 1.71875vw;
}
@media screen and (max-width: 720px) {
  .description__detail dt.ext-team {
    padding-top: 5.641025641vw;
  }
}
.description__detail dd {
  margin-top: 0.46875vw;
  font-size: 1.09375vw;
  letter-spacing: -0.004em;
  line-height: calc(16 / 14);
}
@media screen and (max-width: 720px) {
  .description__detail dd {
    margin-top: 1.7948717949vw;
    font-size: 3.5897435897vw;
    letter-spacing: 0em;
    line-height: calc(16 / 14);
  }
}
.description__detail dd span {
  display: block;
}

.photo {
  margin-top: 8.59375vw;
  padding: 0 0.78125vw;
}
@media screen and (max-width: 720px) {
  .photo {
    margin-top: 21.7948717949vw;
    padding: 0 2.5641025641vw;
  }
}
.photo > div {
  opacity: 0;
  transition: opacity 0.3s ease-out;
}
.photo > div.is-animated {
  opacity: 1;
}
.photo > div {
  margin-top: 12.5vw;
}
.photo > div:first-child {
  margin-top: 0;
}
@media screen and (max-width: 720px) {
  .photo > div {
    margin-top: 24.6153846154vw;
  }
  .photo > div:first-child {
    margin-top: 0;
  }
}
.photo > div.ext-right {
  text-align: right;
}
.photo > div img {
  -o-object-fit: cover;
     object-fit: cover;
}
.photo > div img.ext-horizontal.ext-small {
  width: 45.703125vw;
  height: 29.34375vw;
}
@media screen and (max-width: 720px) {
  .photo > div img.ext-horizontal.ext-small {
    width: 80vw;
    height: 50.7692307692vw;
  }
}
.photo > div img.ext-horizontal.ext-large {
  width: 66.015625vw;
  height: 42.03125vw;
}
@media screen and (max-width: 720px) {
  .photo > div img.ext-horizontal.ext-large {
    width: 80vw;
    height: 50.7692307692vw;
  }
}
.photo > div img.ext-vertical.ext-small {
  width: 24.84375vw;
  height: 33.125vw;
}
@media screen and (max-width: 720px) {
  .photo > div img.ext-vertical.ext-small {
    width: 60.7692307692vw;
    height: 81.0256410256vw;
  }
}
.photo > div img.ext-vertical.ext-large {
  width: 49.765625vw;
  height: 66.484375vw;
}
@media screen and (max-width: 720px) {
  .photo > div img.ext-vertical.ext-large {
    width: 60.7692307692vw;
    height: 81.0256410256vw;
  }
}

.other {
  margin-top: 20.078125vw;
  padding: 0;
  position: relative;
}
@media screen and (max-width: 720px) {
  .other {
    margin-top: 75.8974358974vw;
  }
}
.other__title {
  opacity: 0;
  transform: translateY(5px) translateZ(0);
  transition: opacity 0.3s, transform 0.3s ease-out;
}
.other__title.is-animated {
  opacity: 1;
  transform: none;
}
.other__arrow {
  width: 3.28125vw;
  height: 3.28125vw;
  background: url(../img/icn-arrow.svg) no-repeat center center/0.98515625vw 1.01640625vw;
  display: block;
  position: absolute;
  right: -0.366796875vw;
  top: -1.132421875vw;
  opacity: 0;
  pointer-events: none;
}
.other__arrow.is-active {
  opacity: 1;
}
@media screen and (max-width: 720px) {
  .other__arrow {
    background: url(../img/icn-arrow.svg) no-repeat center center/3.2333333333vw 3.3358974359vw;
    width: 10.7692307692vw;
    height: 10.7692307692vw;
    right: -1.2038461538vw;
    top: -3.7166666667vw;
  }
}
.other__list li {
  opacity: 0;
  transition: opacity 0.3s ease-out;
}
.other__list li:nth-child(1) {
  transition-delay: 0.1s;
}
.other__list li:nth-child(2) {
  transition-delay: 0.2s;
}
.other__list li:nth-child(3) {
  transition-delay: 0.3s;
}
.other__list li:nth-child(4) {
  transition-delay: 0.4s;
}
.other__list li:nth-child(5) {
  transition-delay: 0.5s;
}
.other__list li:nth-child(6) {
  transition-delay: 0.6s;
}
.other__list li:nth-child(7) {
  transition-delay: 0.7s;
}
.other__list li:nth-child(8) {
  transition-delay: 0.8s;
}
.other__list li:nth-child(9) {
  transition-delay: 0.9s;
}
.other__list li:nth-child(10) {
  transition-delay: 1s;
}
.other__list li:nth-child(11) {
  transition-delay: 1.1s;
}
.other__list li:nth-child(12) {
  transition-delay: 1.2s;
}
.other__list li:nth-child(13) {
  transition-delay: 1.3s;
}
.other__list li:nth-child(14) {
  transition-delay: 1.4s;
}
.other__list li:nth-child(15) {
  transition-delay: 1.5s;
}
.other__list li:nth-child(16) {
  transition-delay: 1.6s;
}
.other__list li:nth-child(17) {
  transition-delay: 1.7s;
}
.other__list li:nth-child(18) {
  transition-delay: 1.8s;
}
.other__list li:nth-child(19) {
  transition-delay: 1.9s;
}
.other__list.is-animated li {
  opacity: 1;
}
.other__title {
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.328125vw;
  letter-spacing: -0.01em;
  line-height: calc(17 / 17);
  padding: 0 0 0 0.78125vw;
}
@media screen and (max-width: 720px) {
  .other__title {
    font-size: 4.358974359vw;
    letter-spacing: -0.01em;
    line-height: calc(17 / 17);
    padding: 0 0 0 2.5641025641vw;
  }
}
.other:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 7px;
  background: #FFFFFF;
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.4s;
}
.other:hover::after {
  opacity: 0;
}
.other > div {
  overflow-x: scroll;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 1.5625vw;
}
@media screen and (max-width: 720px) {
  .other > div {
    padding-bottom: 5.1282051282vw;
  }
}
@media screen and (min-width: 721px) {
  .other > div::-webkit-scrollbar {
    height: 1px;
  }
  .other > div::-webkit-scrollbar-track {
    background: transparent;
  }
  .other > div::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.3);
    border-radius: 1px;
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
    cursor: pointer;
  }
  .other > div::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0, 0, 0, 0.5);
  }
}
.other__list {
  margin-top: 0.5234375vw;
  display: flex;
  padding: 0 0 0 0.78125vw;
  box-sizing: border-box;
  cursor: grab;
}
.other__list.is-grabbing {
  cursor: grabbing;
}
@media screen and (max-width: 720px) {
  .other__list {
    margin-top: 1.5897435897vw;
    padding: 0 0 0 2.5641025641vw;
  }
}
.other__list li {
  padding-right: 1.1953125vw;
}
.other__list li:last-child {
  padding-right: 0.78125vw;
}
.other__list li img {
  -o-object-fit: cover;
     object-fit: cover;
}
.other__list li img.ext-horizontal {
  width: 19.7953125vw;
  height: 14.21796875vw;
}
.other__list li img.ext-vertical {
  width: 15.834375vw;
  height: 20.859375vw;
}
@media screen and (max-width: 720px) {
  .other__list li {
    padding-right: 3.9230769231vw;
  }
  .other__list li:last-child {
    padding-right: 2.5641025641vw;
  }
  .other__list li img.ext-horizontal {
    width: 64.9692307692vw;
    height: 46.6641025641vw;
  }
  .other__list li img.ext-vertical {
    width: 51.9692307692vw;
    height: 68.4615384615vw;
  }
}

.about {
  min-height: 100vh;
  background: #000000;
  color: #FFFFFF;
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding: 14.140625vw 1.171875vw 14.140625vw;
  box-sizing: border-box;
  overflow: hidden;
}
@media screen and (max-width: 720px) {
  .about {
    padding: 34.1025641026vw 2.5641025641vw 2.5641025641vw;
  }
}
.about__service .about__title {
  opacity: 0;
  transform: translateY(5px) translateZ(0);
  transition: opacity 0.3s, transform 0.3s ease-out;
}
.about__service p {
  opacity: 0;
  transform: translateY(5px) translateZ(0);
  transition: opacity 0.3s, transform 0.3s ease-out;
}
.about__service ul li {
  opacity: 0;
  transform: translateY(5px) translateZ(0);
  transition: opacity 0.3s, transform 0.3s ease-out;
}
.about__service ul li:nth-child(1) {
  transition-delay: 0.2s;
}
.about__service ul li:nth-child(2) {
  transition-delay: 0.3s;
}
.about__service ul li:nth-child(3) {
  transition-delay: 0.4s;
}
.about__service ul li:nth-child(4) {
  transition-delay: 0.5s;
}
.about__service ul li:nth-child(5) {
  transition-delay: 0.6s;
}
.about__service ul li:nth-child(6) {
  transition-delay: 0.7s;
}
.about__service ul li:nth-child(7) {
  transition-delay: 0.8s;
}
.about__service ul li:nth-child(8) {
  transition-delay: 0.9s;
}
.about__service ul li:nth-child(9) {
  transition-delay: 1s;
}
.about__service a {
  opacity: 0;
  transform: translateY(5px) translateZ(0);
  transition: opacity 0.3s, transform 0.3s ease-out;
  transition-delay: 0.2s;
}
@media screen and (max-width: 720px) {
  .about__service a {
    transition-delay: 0.6s;
  }
}
.about__service.is-animated .about__title {
  opacity: 1;
  transform: none;
}
.about__service.is-animated p {
  opacity: 1;
  transform: none;
}
.about__service.is-animated ul li {
  opacity: 1;
  transform: none;
}
.about__service.is-animated a {
  opacity: 1;
  transform: none;
}
.about__contact .about__title {
  opacity: 0;
  transform: translateY(5px) translateZ(0);
  transition: opacity 0.3s, transform 0.3s ease-out;
  transition-delay: 0.2s;
}
.about__contact div div h3 {
  opacity: 0;
  transform: translateY(5px) translateZ(0);
  transition: opacity 0.3s, transform 0.3s ease-out;
}
.about__contact div div p {
  opacity: 0;
  transform: translateY(5px) translateZ(0);
  transition: opacity 0.3s, transform 0.3s ease-out;
}
.about__contact div div:nth-child(1) {
  transition-delay: 0.4s;
}
.about__contact div div:nth-child(1) h3 {
  transition-delay: 0.4s;
}
.about__contact div div:nth-child(1) p {
  transition-delay: 0.45s;
}
.about__contact div div:nth-child(2) {
  transition-delay: 0.5s;
}
.about__contact div div:nth-child(2) h3 {
  transition-delay: 0.5s;
}
.about__contact div div:nth-child(2) p {
  transition-delay: 0.55s;
}
.about__contact div div:nth-child(3) {
  transition-delay: 0.6s;
}
.about__contact div div:nth-child(3) h3 {
  transition-delay: 0.6s;
}
.about__contact div div:nth-child(3) p {
  transition-delay: 0.65s;
}
.about__contact div div:nth-child(4) {
  transition-delay: 0.7s;
}
.about__contact div div:nth-child(4) h3 {
  transition-delay: 0.7s;
}
.about__contact div div:nth-child(4) p {
  transition-delay: 0.75s;
}
.about__contact div div:nth-child(5) {
  transition-delay: 0.8s;
}
.about__contact div div:nth-child(5) h3 {
  transition-delay: 0.8s;
}
.about__contact div div:nth-child(5) p {
  transition-delay: 0.85s;
}
.about__contact div div:nth-child(6) {
  transition-delay: 0.9s;
}
.about__contact div div:nth-child(6) h3 {
  transition-delay: 0.9s;
}
.about__contact div div:nth-child(6) p {
  transition-delay: 0.95s;
}
.about__contact div div:nth-child(7) {
  transition-delay: 1s;
}
.about__contact div div:nth-child(7) h3 {
  transition-delay: 1s;
}
.about__contact div div:nth-child(7) p {
  transition-delay: 1.05s;
}
.about__contact div div:nth-child(8) {
  transition-delay: 1.1s;
}
.about__contact div div:nth-child(8) h3 {
  transition-delay: 1.1s;
}
.about__contact div div:nth-child(8) p {
  transition-delay: 1.15s;
}
.about__contact div div:nth-child(9) {
  transition-delay: 1.2s;
}
.about__contact div div:nth-child(9) h3 {
  transition-delay: 1.2s;
}
.about__contact div div:nth-child(9) p {
  transition-delay: 1.25s;
}
.about__contact.is-animated .about__title {
  opacity: 1;
  transform: none;
}
.about__contact.is-animated div div h3 {
  opacity: 1;
  transform: none;
}
.about__contact.is-animated div div p {
  opacity: 1;
  transform: none;
}
.about a {
  color: #FFFFFF;
  text-decoration: underline;
}
.about__title {
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.015625vw;
  letter-spacing: 0em;
  line-height: 1;
  width: 8.046875vw;
  flex-shrink: 0;
  flex-grow: 0;
}
@media screen and (max-width: 720px) {
  .about__title {
    font-size: 2.8205128205vw;
    letter-spacing: 0em;
    line-height: 1;
    width: 48.4615384615vw;
  }
}
.about__service, .about__contact {
  display: flex;
}
.about__service > div, .about__contact > div {
  display: grid;
}
@media screen and (max-width: 720px) {
  .about__service > div, .about__contact > div {
    display: block;
  }
}
.about__service > div {
  display: grid;
}
@media screen and (max-width: 720px) {
  .about__service > div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
  }
}
.about__service p {
  grid-column: 1;
  grid-row: 1;
  font-size: 1.71875vw;
  letter-spacing: 0em;
  line-height: 1;
  width: 33.359375vw;
}
@media screen and (max-width: 720px) {
  .about__service p {
    font-size: 4.6153846154vw;
    letter-spacing: 0em;
    line-height: 1;
    width: auto;
  }
}
.about__service ul {
  width: 33.359375vw;
  grid-column: 1;
  grid-row: 2;
  margin-top: 1.25vw;
  font-size: 1.71875vw;
  letter-spacing: 0em;
  line-height: calc(26 / 22);
}
@media screen and (max-width: 720px) {
  .about__service ul {
    width: auto;
    margin-top: 5.5128205128vw;
    font-size: 4.6153846154vw;
    letter-spacing: 0em;
    line-height: calc(23 / 18);
  }
}
.about__service ul li:before {
  content: "- ";
}
.about__service a {
  grid-column: 2;
  grid-row: 1;
  font-size: 1.71875vw;
  letter-spacing: 0em;
  line-height: calc(26 / 22);
  display: inline-block;
  text-decoration: none;
}
.about__service a:before {
  content: "";
  width: 1.34609375vw;
  height: 1.38671875vw;
  display: inline-block;
  background: url(../img/icn-arrow_white.svg) no-repeat center center/contain;
  margin-right: 0.78125vw;
}
@media screen and (max-width: 720px) {
  .about__service a {
    margin-top: 5.5128205128vw;
    font-size: 4.6153846154vw;
    letter-spacing: 0em;
    line-height: calc(23 / 18);
  }
  .about__service a:before {
    width: 3.6128205128vw;
    height: 3.7256410256vw;
    margin-right: 1.5384615385vw;
  }
}
.about__contact {
  margin-top: 9.375vw;
}
@media screen and (max-width: 720px) {
  .about__contact {
    margin-top: 15.8974358974vw;
  }
}
.about__contact > div > div.ext-founder {
  grid-column: 1;
  grid-row: 1;
  font-size: 1.875vw;
  letter-spacing: 0em;
  line-height: calc(13 / 24);
  width: 33.359375vw;
}
@media screen and (max-width: 720px) {
  .about__contact > div > div.ext-founder {
    width: auto;
    font-size: 5.1282051282vw;
    letter-spacing: 0em;
    line-height: calc(13 / 20);
  }
}
.about__contact > div > div.ext-mail {
  grid-column: 1;
  grid-row: 2;
  font-size: 1.875vw;
  letter-spacing: 0em;
  line-height: calc(13 / 24);
  margin-top: 3.828125vw;
  width: 33.359375vw;
}
@media screen and (max-width: 720px) {
  .about__contact > div > div.ext-mail {
    width: auto;
    font-size: 5.1282051282vw;
    letter-spacing: 0em;
    line-height: calc(13 / 20);
    margin-top: 9.4871794872vw;
  }
}
.about__contact > div > div.ext-office {
  grid-column: 2;
  grid-row: 1/span 2;
  font-size: 1.71875vw;
  letter-spacing: 0em;
  line-height: calc(29 / 22);
}
@media screen and (max-width: 720px) {
  .about__contact > div > div.ext-office {
    font-size: 4.6153846154vw;
    letter-spacing: 0em;
    line-height: calc(24 / 18);
    margin-top: 17.6923076923vw;
  }
}
.about__contact > div > div h3 {
  font-size: 0.859375vw;
  letter-spacing: 0em;
  line-height: 1;
}
@media screen and (max-width: 720px) {
  .about__contact > div > div h3 {
    font-size: 2.8205128205vw;
    letter-spacing: 0em;
    line-height: 1;
  }
}
.about__contact > div > div p {
  margin-top: 0.703125vw;
}
@media screen and (max-width: 720px) {
  .about__contact > div > div p {
    margin-top: 2.3076923077vw;
  }
}
.about__copy {
  position: fixed;
  right: 0.9375vw;
  bottom: 0.859375vw;
  font-size: 1.171875vw;
  letter-spacing: 0em;
  line-height: 1;
  color: #ADADAD;
}
@media screen and (max-width: 720px) {
  .about__copy {
    right: 3.0769230769vw;
    bottom: 2.8205128205vw;
    font-size: 3.8461538462vw;
    letter-spacing: 0em;
    line-height: 1;
    display: none;
  }
}

.opening {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000000;
  color: #FFFFFF;
  z-index: 1000;
  cursor: pointer;
}
.is-standby .opening {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0s;
}
.is-opening.is-standby .opening {
  opacity: 0;
  pointer-events: none;
  transition: opacity 1s;
}
.opening__image {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  opacity: 0;
  transition: opacity 1s;
}
.is-opening .opening__image {
  opacity: 1;
}
.opening__image img {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
}
.opening__image:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #3C2A15;
  opacity: 0.85;
  mix-blend-mode: multiply;
  z-index: 2;
}
.opening__content {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  padding: 1.875vw 0.859375vw 0.859375vw 1.875vw;
  box-sizing: border-box;
}
@media screen and (max-width: 720px) {
  .opening__content {
    padding: 5.3846153846vw 4.8717948718vw 5.3846153846vw 4.8717948718vw;
  }
}
.opening__logo {
  width: 14.1359375vw;
  height: auto;
  opacity: 0;
  transform: translateY(5px) translateZ(0);
  transition: opacity 0.3s, transform 0.3s ease-out;
  transition-duration: 0.6s;
  transition-delay: 0.5s;
}
@media screen and (max-width: 720px) {
  .opening__logo {
    width: 39.1769230769vw;
  }
}
.is-opening .opening__logo {
  opacity: 1;
  transform: none;
}
.opening__text {
  display: none !important;
  margin-top: 2.5234375vw;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 1.09375vw;
  letter-spacing: 0em;
  line-height: calc(15 / 14);
  opacity: 0;
  transform: translateY(5px) translateZ(0);
  transition: opacity 0.3s, transform 0.3s ease-out;
  transition-duration: 0.6s;
  transition-delay: 0.6s;
}
@media screen and (max-width: 720px) {
  .opening__text {
    margin-top: 5.3333333333vw;
    font-size: 3.3333333333vw;
    letter-spacing: 0em;
    line-height: calc(14 / 13);
  }
}
.is-opening .opening__text {
  display: none !important;
  opacity: 1;
  transform: none;
}
.opening__copy {
  margin-top: auto;
  text-align: right;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-weight: 600;
  font-size: 1.171875vw;
  letter-spacing: 0em;
  line-height: calc(19 / 15);
  opacity: 0;
  transform: translateY(5px) translateZ(0);
  transition: opacity 0.3s, transform 0.3s ease-out;
  transition-duration: 0.6s;
  transition-delay: 0.7s;
}
@media screen and (max-width: 720px) {
  .opening__copy {
    display: none;
  }
}
.is-opening .opening__copy {
  opacity: 1;
  transform: none;
}

/* Utility
----------------------------------------------------------------- */
@media screen and (min-width: 721px) {
  .u-sp_only {
    display: none !important;
  }
}
@media screen and (max-width: 720px) {
  .u-pc_only {
    display: none !important;
  }
}
.is-disable {
  opacity: 0.3 !important;
  pointer-events: none !important;
}
.is-disable a {
  pointer-events: none !important;
}

.u-breakctrl {
  display: inline-block;
}

.js-lazy {
  opacity: 1;
  transition: opacity 0.4s;
}
.js-lazy[src^="/asset_renew/img/dummy"] {
  opacity: 0;
}

.js-hoverimg {
  display: block;
}
.js-hoverimg img:not(.js-inview), .js-hoverimg img.js-inview.is-animated {
  transition: opacity 0.6s, transform 0.8s, filter 0.8s, -webkit-clip-path 0.6s cubic-bezier(0.75, 0.01, 0.31, 1);
  transition: clip-path 0.6s cubic-bezier(0.75, 0.01, 0.31, 1), opacity 0.6s, transform 0.8s, filter 0.8s;
  transition: clip-path 0.6s cubic-bezier(0.75, 0.01, 0.31, 1), opacity 0.6s, transform 0.8s, filter 0.8s, -webkit-clip-path 0.6s cubic-bezier(0.75, 0.01, 0.31, 1);
}
.js-hoverimg img.js-inview.ext-image {
  transition: opacity 0.6s, transform 0.8s, filter 0.8s, -webkit-clip-path 0.6s cubic-bezier(0.75, 0.01, 0.31, 1);
  transition: clip-path 0.6s cubic-bezier(0.75, 0.01, 0.31, 1), opacity 0.6s, transform 0.8s, filter 0.8s;
  transition: clip-path 0.6s cubic-bezier(0.75, 0.01, 0.31, 1), opacity 0.6s, transform 0.8s, filter 0.8s, -webkit-clip-path 0.6s cubic-bezier(0.75, 0.01, 0.31, 1);
}
.js-hoverimg:hover {
  opacity: 1 !important;
}
.js-hoverimg:hover img:not(.js-inview), .js-hoverimg:hover img.js-inview.is-animated {
  transform: scale(1.1);
}
.js-hoverimg.is-active img {
  transform: scale(1.2);
  filter: blur(10px);
  opacity: 0;
}

#canvas {
  position: fixed;
  left: 0;
  top: 0;
  pointer-events: none;
  z-index: 1;
}
.is-resize #canvas {
  visibility: hidden;
}

/* Animations */
@keyframes blink {
  0% {
    opacity: 0;
  }
  5% {
    opacity: 0.15;
  }
  10% {
    opacity: 0;
  }
  15% {
    opacity: 0.25;
  }
  20% {
    opacity: 1;
  }
  25% {
    opacity: 0.35;
  }
  30% {
    opacity: 1;
  }
  35% {
    opacity: 0.45;
  }
  40% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes scroll {
  0% {
    transform: translate(0, -50%);
  }
  25% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(0, 0);
  }
}
@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}
@keyframes marqueebg {
  0% {
    background-position: 100% center;
  }
  100% {
    background-position: 0% center;
  }
}
@keyframes marqueebgrev {
  0% {
    background-position: 0% center;
  }
  100% {
    background-position: 99% center;
  }
}
@keyframes marqueeintroinner {
  0% {
    background-position: 49.68671875vw center;
  }
  100% {
    background-position: 0 center;
  }
}
@keyframes marqueeintroinnersp {
  0% {
    background-position: 95.6820512821vw center;
  }
  100% {
    background-position: 0 center;
  }
}
@keyframes marqueebgmoresp {
  0% {
    background-position: 0% center;
  }
  100% {
    background-position: 59.4871794872vw center;
  }
}
@keyframes marqueebgrintro {
  0% {
    background-position: 299% center;
  }
  100% {
    background-position: 0% center;
  }
}