@charset "UTF-8";


/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

*, *:before, *:after {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

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

/* iOSでのデフォルトスタイルをリセット */
input[type=submit],
input[type=button] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}

input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}

input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

.text-center {
  text-align: center;
}

.w100 {
  width: 100%;
}

.fz80 {
  font-size: 80%;
}

.fz90 {
  font-size: 90%;
}

.fz110 {
  font-size: 110%;
}

.fz120 {
  font-size: 120%;
}

.fz130 {
  font-size: 130%;
}

.fz140 {
  font-size: 140%;
}

.fz150 {
  font-size: 150%;
}

.lang-ja {
  font-family: "中ゴシックBBB", "Gothic Medium BBB", sans-serif;
  font-weight: 400;
}

.nolink {
  pointer-events: none;
  text-decoration-line: none;
  color: inherit !important;
}

.text-justify {
  text-align: justify;
}

.view-pc {
  display: block !important;
}
@media screen and (max-width: 991px) {
  .view-pc {
    display: none !important;
  }
}

.view-sp {
  display: none !important;
}
@media screen and (max-width: 991px) {
  .view-sp {
    display: block !important;
  }
}

.view-pc-inline {
  display: inline !important;
}
@media screen and (max-width: 991px) {
  .view-pc-inline {
    display: none !important;
  }
}

.view-sp-inline {
  display: none !important;
}
@media screen and (max-width: 991px) {
  .view-sp-inline {
    display: inline !important;
  }
}

.btn {
  mix-blend-mode: difference;
  display: block;
  width: 100%;
  font-size: calc(14 / 1366 * 100vw);
  line-height: calc(36 / 1366 * 100vw);
  text-align: center;
  border: 1px solid #FFFFFF;
  color: #FFFFFF;
  font-family: "Inter";
  font-weight: 400;
}
@media screen and (max-width: 991px) {
  .btn {
    mix-blend-mode: normal;
    font-size: calc(40 / 750 * 100vw);
    line-height: calc(94 / 750 * 100vw);
    border: 1px solid #000000;
    color: #000000;
  }
}
@media (hover: hover) {
  .btn:hover {
    background: #FFFFFF;
    color: #000000;
  }
}

.scroll-anime::after {
  transition: filter 0.3s ease;
}
.scroll-anime.scroll-up img {
  box-shadow: 0px 10px 15px 0px rgba(0, 0, 0, 0.28);
}
.scroll-anime.scroll-down img {
  box-shadow: 0px -10px 15px 0px rgba(0, 0, 0, 0.28);
}
.scroll-anime.scroll::after {
  content: "";
  position: absolute;
  top: -2%;
  left: -2%;
  width: 104%;
  height: 104%;
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
}

.noise div {
  position: relative;
}
.noise div span {
  display: block;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.noise:hover div span {
  opacity: 1;
  animation: anime 0.8s 1 alternate-reverse 0.1s;
  animation-iteration-count: infinite;
}
@keyframes anime {
  0% {
    left: -10px;
    clip: rect(10px, 9999px, 63px, 0);
  }
  4% {
    clip: rect(137px, 9999px, 150px, 0);
  }
  8% {
    clip: rect(82px, 9999px, 178px, 0);
  }
  12% {
    left: -2px;
    clip: rect(85px, 9999px, 125px, 0);
  }
  16% {
    clip: rect(223px, 9999px, 258px, 0);
  }
  20% {
    left: 10px;
    clip: rect(100px, 9999px, 146px, 0);
  }
  24% {
    clip: rect(41px, 9999px, 72px, 0);
  }
  28% {
    clip: rect(9px, 9999px, 45px, 0);
  }
  32% {
    clip: rect(136px, 9999px, 164px, 0);
    filter: hue-rotate(-25deg);
  }
  36% {
    left: -9px;
    clip: rect(84px, 9999px, 116px, 0);
  }
  40% {
    top: 7px;
    clip: rect(229px, 9999px, 315px, 0);
  }
  44% {
    clip: rect(37px, 9999px, 73px, 0);
  }
  48% {
    clip: rect(163px, 9999px, 180px, 0);
  }
  52% {
    clip: rect(205px, 9999px, 244px, 0);
  }
  56% {
    left: 6px;
    clip: rect(135px, 9999px, 170px, 0);
  }
  60% {
    clip: rect(14px, 9999px, 100px, 0);
  }
  64% {
    left: -2px;
    clip: rect(116px, 9999px, 129px, 0);
  }
  68% {
    clip: rect(37px, 9999px, 69px, 0);
  }
  72% {
    top: -9px;
    clip: rect(232px, 9999px, 264px, 0);
  }
  76% {
    left: -8px;
    clip: rect(100px, 9999px, 196px, 0);
    filter: hue-rotate(35deg);
  }
  80% {
    clip: rect(199px, 9999px, 245px, 0);
  }
  84% {
    clip: rect(37px, 9999px, 73px, 0);
  }
  88% {
    left: -10px;
    clip: rect(1px, 9999px, 296px, 0);
  }
  92% {
    clip: rect(141px, 9999px, 272px, 0);
  }
  96% {
    clip: rect(33px, 9999px, 65px, 0);
  }
  100% {
    clip: rect(137px, 9999px, 273px, 0);
  }
}
.flash {
  animation: flash 0.03s infinite;
}

@keyframes flash {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0.8;
  }
}
.skew {
  animation: skew 3s infinite;
}

@keyframes skew {
  0% {
    transform: none;
  }
  33% {
    transform: none;
  }
  33.3% {
    transform: skewX(30deg);
  }
  33.6% {
    transform: skewX(-30deg);
  }
  33.9% {
    transform: none;
  }
  66% {
    transform: none;
  }
  66.3% {
    transform: skewX(5deg);
  }
  66.6% {
    transform: skewX(-5deg);
  }
  66.9% {
    transform: none;
  }
  77% {
    transform: none;
  }
  77.3% {
    transform: skewX(15deg);
  }
  77.6% {
    transform: skewX(-15deg);
  }
  77.9% {
    transform: none;
  }
}
.glitch {
  animation: glitch 0.3s both infinite;
}

@keyframes glitch {
  0% {
    transform: translate(0);
  }
  12.5% {
    transform: translate(0, 1px);
  }
  37.5% {
    transform: translate(0, -1px);
  }
  62.5% {
    transform: translate(0, 1px);
  }
  87.5% {
    transform: translate(0, -1px);
  }
  100% {
    transform: translate(0);
  }
}
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on {
  transform: translateY(0);
  opacity: 1;
}

html,
body {
  font-family: "中ゴシックBBB", "Gothic Medium BBB", "YuGothic", "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Sans", sans-serif;
  font-weight: 400;
  height: 100%;
  min-height: 100%;
  line-height: 1.7;
  letter-spacing: 0.02em;
  font-size: calc(14 / 1366 * 100vw);
  color: #000000;
}
@media screen and (max-width: 991px) {
  html,
  body {
    font-size: calc(14 / 750 * 100vw);
  }
}

body {
  background-color: #FFFFFF;
}
body a {
  transition: 0.2s ease;
  text-decoration: none;
  color: #000000;
}
body img {
  vertical-align: bottom;
}

::-moz-selection {
  color: #FFFFFF;
  background-color: #000000;
}

::selection {
  color: #FFFFFF;
  background-color: #000000;
}

#loader {
  position: fixed;
  width: 100%;
  height: 100dvh;
  background-color: #fff;
  z-index: 555;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
#loader .loading__innr {
  width: 100%;
  height: 100dvh;
  position: relative;
}
#loader .loading__innr video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  width: 100%;
  height: auto;
}

.wrap {
  padding: 0 calc(40 / 1366 * 100vw) 0 calc(49 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .wrap {
    padding: 0 calc(30 / 750 * 100vw);
  }
}
.wrap.h100 {
  height: 100%;
}

.main {
  margin-right: calc(206 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .main {
    margin-right: 0;
  }
}

.lower {
  padding-top: calc(113 / 1366 * 100vw);
}
.lower__h1 {
  font-family: "Inter";
  font-weight: 500;
  font-size: calc(140 / 1366 * 100vw);
  margin-bottom: calc(67 / 1366 * 100vw);
  line-height: 1;
}
@media screen and (max-width: 991px) {
  .lower {
    padding-top: calc(254 / 750 * 100vw);
  }
  .lower__h1 {
    font-size: calc(140 / 750 * 100vw);
    margin-bottom: calc(87 / 750 * 100vw);
    line-height: 1;
  }
}

.header {
  position: fixed;
  mix-blend-mode: difference;
  z-index: 100;
  top: 0;
  right: calc(40 / 1366 * 100vw);
  width: calc(150 / 1366 * 100vw);
  padding: calc(30 / 1366 * 100vw) 0;
  height: 100%;
  min-height: 700px;
  color: #FFFFFF;
}
.header a {
  color: #FFFFFF;
}
.header path {
  fill: #FFFFFF;
}
.header.active {
  background-color: #FFFFFF;
  mix-blend-mode: normal;
}
.header h1 {
  margin-bottom: calc(30 / 1366 * 100vw);
}
.header h1 img {
  width: calc(144 / 1366 * 100vw);
  transition: all 0.03s;
}
.header h1 svg {
  width: calc(144 / 1366 * 100vw);
  transition: all 0.03s;
}
@media screen and (max-width: 991px) {
  .header {
    right: 0;
    width: 100%;
    height: auto;
    min-height: initial;
    padding: calc(38 / 750 * 100vw) calc(30 / 750 * 100vw) 0;
    display: flex;
    justify-content: space-between;
    color: #000000;
  }
  .header a {
    color: #000000;
  }
  .header path {
    fill: #FFFFFF;
  }
  .header.active path {
    fill: #000000;
  }
  .header h1 img {
    width: calc(226 / 750 * 100vw);
  }
  .header h1 svg {
    width: calc(226 / 750 * 100vw);
  }
  .header.active h1 img {
    width: calc(226 / 750 * 100vw);
    margin-left: calc(290 / 750 * 100vw);
  }
  .header.active h1 svg {
    margin-left: calc(290 / 750 * 100vw);
  }
}

#g-nav-btn {
  display: none;
  position: relative;
  width: calc(109 / 750 * 100vw);
  height: calc(78 / 750 * 100vw);
}
#g-nav-btn span {
  display: inline-block;
  transition: all 0.1s;
  position: absolute;
  left: 0;
  height: calc(4 / 750 * 100vw);
  background: #FFFFFF;
  width: 100%;
}
#g-nav-btn span:nth-of-type(1) {
  top: calc(27 / 750 * 100vw);
}
#g-nav-btn span:nth-of-type(2) {
  top: calc(58 / 750 * 100vw);
}
#g-nav-btn.active span {
  background: #000000;
}
#g-nav-btn.active span:nth-of-type(1) {
  transform: translateY(calc(12 / 750 * 100vw)) rotate(-45deg);
}
#g-nav-btn.active span:nth-of-type(2) {
  transform: translateY(calc(-19 / 750 * 100vw)) rotate(45deg);
}
@media screen and (max-width: 991px) {
  #g-nav-btn {
    display: block;
  }
}

.g-nav {
  height: calc(100% - (83 / 1366 * 100vw));
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  justify-content: space-between;
  font-family: "Inter";
  font-weight: 400;
  letter-spacing: 0.004rem;
}
@media screen and (max-width: 991px) {
  .g-nav {
    display: none;
    width: 100%;
    height: calc(100% - (123 / 750 * 100vw));
    position: fixed;
    z-index: 90;
    top: calc(123 / 750 * 100vw);
    background-color: #FFFFFF;
  }
  .g-nav.active {
    display: flex;
    padding-left: calc(290 / 750 * 100vw);
    padding-top: calc(207 / 750 * 100vw);
    padding-bottom: calc(60 / 750 * 100vw);
  }
}
@media screen and (max-width: 991px) and (max-height: 1180px) {
  .g-nav.active {
    padding-top: calc(100 / 750 * 100vw);
  }
}
@media screen and (max-width: 991px) {
  .g-nav__top, .g-nav__bottom {
    width: calc(332 / 750 * 100vw);
  }
}
.g-nav__menu-list {
  font-size: calc(16 / 1366 * 100vw);
  margin-bottom: calc(30 / 1366 * 100vw);
}
.g-nav__menu-list li {
  margin-bottom: calc(8 / 1366 * 100vw);
}
.g-nav__menu-list li.current a {
  display: inline-block;
  position: relative;
}
.g-nav__menu-list li.current a:before {
  content: "";
  position: absolute;
  border-top: 1px solid #FFFFFF;
  width: calc(100% + 20px);
  top: 50%;
  left: -10px;
}
@media (hover: hover) {
  .g-nav__menu-list li:hover a {
    display: inline-block;
    position: relative;
  }
  .g-nav__menu-list li:hover a:before {
    content: "";
    position: absolute;
    border-top: 1px solid #FFFFFF;
    width: calc(100% + 20px);
    top: 50%;
    left: -10px;
  }
}
@media screen and (max-width: 991px) {
  .g-nav__menu-list {
    font-size: calc(50 / 750 * 100vw);
  }
  .g-nav__menu-list li.current a:before {
    border-top: 1px solid #000000;
  }
}
.g-nav__sns-list {
  font-size: calc(14 / 1366 * 100vw);
}
.g-nav__sns-list li svg {
  vertical-align: text-top;
  margin-right: calc(6 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .g-nav__sns-list {
    font-size: calc(50 / 750 * 100vw);
  }
  .g-nav__sns-list li span {
    display: inline-block;
  }
  .g-nav__sns-list li svg {
    vertical-align: baseline;
    width: calc(42 / 750 * 100vw);
    height: calc(42 / 750 * 100vw);
  }
}
.g-nav__info-list {
  letter-spacing: 0.005rem;
  margin-bottom: calc(24 / 1366 * 100vw);
}
.g-nav__info-list dt {
  font-size: calc(10 / 1366 * 100vw);
  margin-bottom: calc(2 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .g-nav__info-list dt {
    font-size: calc(24 / 750 * 100vw);
    margin-bottom: calc(5 / 750 * 100vw);
  }
}
.g-nav__info-list dd {
  font-size: calc(12 / 1366 * 100vw);
  margin-bottom: calc(10 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .g-nav__info-list dd {
    font-size: calc(26 / 750 * 100vw);
    margin-bottom: calc(36 / 750 * 100vw);
    line-height: 1.3076923077;
  }
}
.g-nav__bg {
  display: none;
  position: fixed;
  z-index: 89;
  background-color: #FFFFFF;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
}
.g-nav__bg.active {
  display: block;
}

.mv {
  height: 100%;
  min-height: 700px;
  display: flex;
  align-items: flex-end;
  padding-bottom: calc(28 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .mv {
    padding-bottom: calc(25 / 750 * 100vw);
    min-height: initial;
  }
}
.mv__innr {
  width: 100%;
}
.mv__txt {
  font-size: calc(14 / 1366 * 100vw);
  line-height: 1;
  margin-bottom: calc(30 / 1366 * 100vw);
  font-family: "Inter";
  font-weight: 400;
}
@media screen and (max-width: 991px) {
  .mv__txt {
    font-size: calc(24 / 750 * 100vw);
    margin-bottom: calc(33 / 750 * 100vw);
  }
}
.mv__ttl {
  font-family: "Inter";
  font-weight: 400;
  font-size: calc(172 / 1366 * 100vw);
  line-height: 0.9127906977;
  margin-left: calc(-5 / 1366 * 100vw);
  font-weight: 500;
}
@media screen and (max-width: 991px) {
  .mv__ttl {
    font-size: calc(110 / 750 * 100vw);
  }
}

.about {
  border-bottom: 1px solid #000000;
}
.about__section {
  margin-bottom: calc(160 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .about__section {
    margin-bottom: calc(250 / 750 * 100vw);
  }
}
.about__h1 {
  margin-bottom: calc(90 / 1366 * 100vw);
  line-height: 1;
}
@media screen and (max-width: 991px) {
  .about__h1 {
    margin-bottom: calc(100 / 750 * 100vw);
  }
}
.about__ttl1 {
  font-size: calc(70 / 1366 * 100vw);
  line-height: 1;
  letter-spacing: 0.025rem;
  margin-bottom: calc(55 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .about__ttl1 {
    font-size: calc(70 / 750 * 100vw);
    margin-bottom: calc(60 / 750 * 100vw);
  }
}
.about__ttl2 {
  font-family: "Inter";
  font-weight: 400;
  font-size: calc(60 / 1366 * 100vw);
  line-height: 1;
  margin-top: calc(90 / 1366 * 100vw);
  margin-bottom: calc(60 / 1366 * 100vw);
  font-weight: 500;
}
@media screen and (max-width: 991px) {
  .about__ttl2 {
    font-size: calc(60 / 750 * 100vw);
    margin-top: calc(100 / 750 * 100vw);
    margin-bottom: calc(50 / 750 * 100vw);
  }
}
.about__txt-ja {
  font-size: calc(40 / 1366 * 100vw);
  line-height: 1.75;
}
@media screen and (max-width: 991px) {
  .about__txt-ja {
    font-size: calc(40 / 750 * 100vw);
  }
}
.about__txt-en {
  font-family: "Inter";
  font-weight: 400;
  font-size: calc(30 / 1366 * 100vw);
  line-height: 1.6666666667;
}
@media screen and (max-width: 991px) {
  .about__txt-en {
    font-size: calc(30 / 750 * 100vw);
  }
}
.about__member-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: calc(20 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .about__member-list {
    display: block;
  }
}
@media screen and (max-width: 991px) {
  .about__member-list__item {
    width: 100%;
    margin-bottom: calc(90 / 750 * 100vw);
  }
}
.about__member-list__item.col-center {
  position: relative;
}
.about__member-list__item__logo-wrap {
  position: absolute;
  top: 40%;
  left: 30%;
  display: inline-block;
}
.about__member-list__item__logo {
  width: calc(310 / 1366 * 100vw);
}
.about__member-list__item__th {
  margin-bottom: calc(20 / 1366 * 100vw);
}
.about__member-list__item__th img {
  width: 100%;
}
@media screen and (max-width: 991px) {
  .about__member-list__item__th {
    margin-bottom: calc(30 / 750 * 100vw);
  }
}
.about__member-list__item__th > span:not(:root) {
  display: block;
  aspect-ratio: 1/1;
}
.about__member-list__item__name {
  font-family: "Inter";
  font-weight: 400;
  font-size: calc(30 / 1366 * 100vw);
  line-height: 1;
  margin-bottom: calc(0 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .about__member-list__item__name {
    font-size: calc(50 / 750 * 100vw);
    margin-bottom: calc(15 / 750 * 100vw);
  }
}
.about__member-list__item__title {
  font-family: "Inter";
  font-weight: 400;
  font-size: calc(14 / 1366 * 100vw);
  margin-bottom: calc(10 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .about__member-list__item__title {
    font-size: calc(24 / 750 * 100vw);
    margin-bottom: calc(30 / 750 * 100vw);
  }
}
.about__member-list__item__txt {
  font-family: "中ゴシックBBB", "Gothic Medium BBB", sans-serif;
  font-weight: 400;
  font-size: calc(14 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .about__member-list__item__txt {
    font-size: calc(24 / 750 * 100vw);
  }
}
.about__company {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: calc(200 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .about__company {
    display: block;
    margin-bottom: calc(250 / 750 * 100vw);
  }
}
.about__company__name {
  font-family: "Inter";
  font-weight: 400;
  font-size: calc(30 / 1366 * 100vw);
  width: calc(224 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .about__company__name {
    width: 100%;
    margin-bottom: calc(80 / 750 * 100vw);
    font-size: calc(40 / 750 * 100vw);
  }
}
.about__company__data {
  font-family: "Inter";
  font-weight: 400;
  font-size: calc(30 / 1366 * 100vw);
  flex: 1 1;
}
@media screen and (max-width: 991px) {
  .about__company__data {
    font-size: calc(40 / 750 * 100vw);
  }
}
.about__company__data dl {
  display: flex;
  flex-wrap: wrap;
  letter-spacing: 0.01rem;
  margin-bottom: 0.5rem;
}
.about__company__data dl dt {
  width: calc(180 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .about__company__data dl dt {
    width: calc(230 / 750 * 100vw);
  }
}
.about__company__data dl dd {
  flex: 1 1;
}
.about__contact {
  padding-top: calc(200 / 1366 * 100vw);
  font-family: "Inter";
  font-weight: 400;
}
@media screen and (max-width: 991px) {
  .about__contact {
    padding-top: calc(240 / 750 * 100vw);
  }
}
.about__contact p {
  text-align: center;
  font-size: calc(16 / 1366 * 100vw);
  margin-bottom: calc(40 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .about__contact p {
    font-size: calc(26 / 750 * 100vw);
    margin-bottom: calc(80 / 750 * 100vw);
  }
}
.about__contact .btn {
  font-size: calc(90 / 1366 * 100vw);
  line-height: calc(160 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .about__contact .btn {
    font-size: calc(80 / 750 * 100vw);
    line-height: calc(180 / 750 * 100vw);
  }
}

.works__h1 {
  margin-bottom: calc(24 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .works__h1 {
    margin-bottom: calc(50 / 750 * 100vw);
  }
}
.works__ctl {
  font-family: "Inter";
  font-weight: 400;
  margin-bottom: calc(100 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .works__ctl {
    margin-bottom: calc(150 / 750 * 100vw);
  }
}
.works__ctl dl {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 991px) {
  .works__ctl dl {
    margin-bottom: calc(10 / 750 * 100vw);
    align-items: start;
  }
}
.works__ctl dl dt {
  display: inline-block;
  font-size: calc(12 / 1366 * 100vw);
  width: calc(80 / 1366 * 100vw);
  position: relative;
  margin-right: calc(10 / 1366 * 100vw);
}
.works__ctl dl dt:after {
  content: ":";
  position: absolute;
  right: 0;
}
@media screen and (max-width: 991px) {
  .works__ctl dl dt {
    width: calc(136 / 750 * 100vw);
    font-size: calc(22 / 750 * 100vw);
    margin-right: calc(20 / 750 * 100vw);
    padding-top: calc(6 / 750 * 100vw);
  }
}
.works__ctl dl dd {
  flex: 1 1;
  display: inline-block;
  font-size: calc(16 / 1366 * 100vw);
  margin: 0 calc(9 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .works__ctl dl dd {
    margin: 0 calc(10 / 750 * 100vw);
    font-size: calc(30 / 750 * 100vw);
  }
}
.works__ctl dl dd div {
  margin: 0 calc(9 / 1366 * 100vw);
  display: inline-block;
}
@media screen and (max-width: 991px) {
  .works__ctl dl dd div {
    margin: 0 calc(10 / 750 * 100vw);
  }
}
@media (hover: hover) {
  .works__ctl dl dd div:hover a {
    display: inline-block;
    position: relative;
  }
  .works__ctl dl dd div:hover a:before {
    content: "";
    position: absolute;
    border-top: 1px solid #000000;
    width: calc(100% + 10px);
    top: 48%;
    left: -5px;
  }
}
.works__ctl dl dd div.current a {
  display: inline-block;
  position: relative;
}
.works__ctl dl dd div.current a:before {
  content: "";
  position: absolute;
  border-top: 1px solid #000000;
  width: calc(100% + 10px);
  top: 48%;
  left: -5px;
}
.works__list {
  font-family: "Inter";
  font-weight: 400;
}
.works__list__item {
  margin-bottom: calc(100 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .works__list__item {
    margin-bottom: calc(100 / 750 * 100vw);
  }
}
.works__list__item a {
  display: block;
}
.works__list__item__th {
  margin-bottom: calc(10 / 1366 * 100vw);
  position: relative;
}
@media screen and (max-width: 991px) {
  .works__list__item__th {
    margin-bottom: calc(39 / 1366 * 100vw);
  }
}
.works__list__item__th img {
  width: 100%;
  height: calc(560 / 1366 * 100vw);
  -o-object-fit: cover;
     object-fit: cover;
  transition: all 0.3s;
}
@media screen and (max-width: 991px) {
  .works__list__item__th img {
    height: calc(560 / 750 * 100vw);
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.works__list__item__data {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 991px) {
  .works__list__item__data {
    display: block;
  }
}
.works__list__item__data__title {
  font-size: calc(30 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .works__list__item__data__title {
    font-size: calc(50 / 750 * 100vw);
  }
}
.works__list__item__data__category {
  text-align: right;
}
@media screen and (max-width: 991px) {
  .works__list__item__data__category {
    text-align: left;
  }
}
.works__list__item__data__category__txt {
  display: inline-block;
  vertical-align: middle;
  font-size: calc(12 / 1366 * 100vw);
  padding-left: calc(20 / 1366 * 100vw);
  line-height: calc(12 / 1366 * 100vw);
}
.works__list__item__data__category__txt:first-child {
  border-left: 1px solid #000000;
  padding-left: calc(30 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .works__list__item__data__category__txt {
    font-size: calc(24 / 750 * 100vw);
  }
  .works__list__item__data__category__txt:first-child {
    border: none;
    padding-left: 0;
  }
}
.works__list__more {
  border-top: 1px solid #000000;
  text-align: center;
  padding-top: calc(5 / 1366 * 100vw);
}
.works__list__more a {
  font-family: "Inter";
  font-weight: 400;
  font-size: calc(12 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .works__list__more {
    padding-top: calc(24 / 750 * 100vw);
  }
  .works__list__more a {
    font-size: calc(22 / 750 * 100vw);
  }
}

.article__mv {
  background-color: #ccc;
  background-size: cover;
  background-position: center center;
  height: 100%;
  position: relative;
  margin-bottom: calc(100 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .article__mv {
    margin-bottom: calc(200 / 750 * 100vw);
  }
}
.article__mv__head {
  position: absolute;
  left: calc(50 / 1366 * 100vw);
  bottom: calc(30 / 1366 * 100vw);
}
.article__mv__head.blend {
  mix-blend-mode: difference;
  color: #FFFFFF;
}
@media screen and (max-width: 991px) {
  .article__mv__head {
    padding-top: calc(150 / 750 * 100vw);
    left: calc(30 / 750 * 100vw);
    bottom: calc(60 / 750 * 100vw);
  }
}
.article__mv__head__title {
  font-family: "Inter";
  font-weight: 400;
  font-size: calc(40 / 1366 * 100vw);
  transition: all 0.05s;
}
@media screen and (max-width: 991px) {
  .article__mv__head__title {
    font-size: calc(50 / 750 * 100vw);
  }
}
.article__mv__head__category dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.article__mv__head__category dl dt {
  width: calc(80 / 1366 * 100vw);
  margin-right: calc(20 / 1366 * 100vw);
  font-size: calc(12 / 1366 * 100vw);
  position: relative;
}
.article__mv__head__category dl dt:after {
  position: absolute;
  content: ":";
  right: 0;
}
@media screen and (max-width: 991px) {
  .article__mv__head__category dl dt {
    width: calc(120 / 750 * 100vw);
    font-size: calc(22 / 750 * 100vw);
    margin-right: calc(20 / 750 * 100vw);
  }
}
.article__mv__head__category dl dd {
  flex: 1 1;
  font-size: calc(16 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .article__mv__head__category dl dd {
    font-size: calc(22 / 750 * 100vw);
  }
}
.article__mv__head.fixed {
  position: fixed;
  z-index: 10;
  top: calc(32 / 1366 * 100vw);
  bottom: auto;
}
@media screen and (max-width: 991px) {
  .article__mv__head.fixed {
    position: fixed;
    padding-top: calc(0 / 750 * 100vw);
    z-index: 10;
    top: calc(150 / 750 * 100vw);
  }
}
.article__overview {
  margin-bottom: calc(100 / 1366 * 100vw);
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 991px) {
  .article__overview {
    margin-bottom: calc(200 / 750 * 100vw);
  }
}
.article__overview__title {
  font-family: "Inter";
  font-weight: 400;
  font-size: calc(12 / 1366 * 100vw);
  padding-top: calc(2 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .article__overview__title {
    font-size: calc(24 / 750 * 100vw);
  }
}
.article__overview__txt {
  font-family: "中ゴシックBBB", "Gothic Medium BBB", sans-serif;
  font-weight: 400;
  width: calc(763 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .article__overview__txt {
    font-size: calc(24 / 750 * 100vw);
    width: calc(400 / 750 * 100vw);
  }
}
.article__photo {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: calc(100 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .article__photo {
    margin-bottom: calc(200 / 750 * 100vw);
  }
}
.article__photo__wrap {
  margin-bottom: calc(10 / 1366 * 100vw);
  vertical-align: bottom;
}
@media screen and (max-width: 991px) {
  .article__photo__wrap {
    margin-bottom: calc(10 / 750 * 100vw);
  }
}
.article__photo__wrap img {
  width: 100%;
}
.article__photo .full {
  width: 100%;
}
.article__photo .half {
  width: calc(50% - (5 / 1366 * 100vw));
}
@media screen and (max-width: 991px) {
  .article__photo .half {
    width: calc(50% - (5 / 750 * 100vw));
  }
}
.article__detail {
  display: flex;
  justify-content: space-between;
  margin-bottom: calc(100 / 1366 * 100vw);
  gap: calc(40 / 1366 * 100vw);
  font-family: "Inter";
  font-weight: 400;
}
@media screen and (max-width: 991px) {
  .article__detail {
    display: block;
    margin-bottom: calc(200 / 750 * 100vw);
  }
}
.article__detail table tr {
  line-height: calc(30 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .article__detail table tr {
    line-height: calc(40 / 750 * 100vw);
  }
}
.article__detail table th {
  font-weight: 400;
  font-size: calc(12 / 1366 * 100vw);
  min-width: calc(80 / 1366 * 100vw);
  padding-right: calc(20 / 1366 * 100vw);
  text-align: left;
  position: relative;
}
.article__detail table th::after {
  position: absolute;
  right: 0;
  content: ":";
}
@media screen and (max-width: 991px) {
  .article__detail table th {
    font-size: calc(22 / 750 * 100vw);
    width: calc(310 / 750 * 100vw);
    padding-right: calc(20 / 750 * 100vw);
  }
}
.article__detail table td {
  padding-left: calc(20 / 1366 * 100vw);
  word-break: break-all;
}
@media screen and (max-width: 991px) {
  .article__detail table td {
    font-size: calc(26 / 750 * 100vw);
    padding-left: calc(20 / 750 * 100vw);
  }
}
@media (hover: hover) {
  .article__detail table td:hover a {
    display: inline-block;
    position: relative;
  }
  .article__detail table td:hover a:before {
    content: "";
    position: absolute;
    border-top: 1px solid #000000;
    width: calc(100% + 20px);
    top: 50%;
    left: -10px;
  }
}
.article__detail__title {
  font-family: "Inter";
  font-weight: 400;
  font-size: calc(12 / 1366 * 100vw);
  border-bottom: 1px solid #000000;
  margin-bottom: calc(30 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .article__detail__title {
    font-size: calc(22 / 750 * 100vw);
    margin-bottom: calc(40 / 750 * 100vw);
  }
}
.article__detail__data, .article__detail__credit {
  width: calc(515 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .article__detail__data, .article__detail__credit {
    width: 100%;
    margin-bottom: calc(150 / 1366 * 100vw);
  }
}
.article__pagenation {
  font-family: "Inter";
  font-weight: 400;
  border-top: 1px solid #000000;
  padding-top: calc(5 / 1366 * 100vw);
  position: relative;
}
@media screen and (max-width: 991px) {
  .article__pagenation {
    padding-top: calc(8 / 750 * 100vw);
    font-size: calc(22 / 750 * 100vw);
  }
}
@media (hover: hover) {
  .article__pagenation div:hover a {
    display: inline-block;
    position: relative;
  }
  .article__pagenation div:hover a:before {
    content: "";
    position: absolute;
    border-top: 1px solid #000000;
    width: calc(100% + 10px);
    top: 50%;
    left: -5px;
  }
}
.article__pagenation__prev {
  position: absolute;
  left: 0;
}
.article__pagenation__top {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.article__pagenation__next {
  position: absolute;
  right: 0;
}
.article__pagenation a {
  font-family: "Inter";
  font-weight: 400;
  font-size: calc(12 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .article__pagenation {
    padding-top: calc(24 / 750 * 100vw);
  }
  .article__pagenation a {
    font-size: calc(22 / 750 * 100vw);
  }
}

.copy {
  margin-top: calc(100 / 1366 * 100vw);
  padding-bottom: calc(40 / 1366 * 100vw);
}
.copy p {
  font-family: "Inter";
  font-weight: 400;
  font-size: calc(10 / 1366 * 100vw);
}
@media screen and (max-width: 991px) {
  .copy {
    margin-top: calc(226 / 750 * 100vw);
    padding-bottom: calc(100 / 750 * 100vw);
  }
  .copy p {
    text-align: center;
    font-size: calc(22 / 750 * 100vw);
  }
}

.error-page {
  text-align: center;
}
.error-page__title {
  font-family: "Inter";
  font-weight: 500;
  font-size: calc(140 / 1366 * 100vw);
  margin-bottom: calc(67 / 1366 * 100vw);
  line-height: 1;
}
@media screen and (max-width: 991px) {
  .error-page__title {
    font-size: calc(140 / 750 * 100vw);
    margin-bottom: calc(87 / 750 * 100vw);
    line-height: 1;
  }
}
[data-js=effect] {
  display: block;
  width: 100%;
  position: relative;
  perspective: 1000px;
}
[data-js=effect].effect-img {
  aspect-ratio: 153/80;
}
@media screen and (max-width: 991px) {
  [data-js=effect].effect-img {
    aspect-ratio: 69/56;
  }
}
[data-js=effect].effect-txt [data-js=effect-target] {
  width: 100%;
}
[data-js=effect].effect-txt [data-js=effect-target]:nth-child(1) {
  position: static;
}

a:hover > .effect-txt > [data-js=effect-target] {
  background-color: #000;
  color: #fff;
}

.btn [data-js=effect] {
  mix-blend-mode: difference;
}
@media screen and (max-width: 991px) {
  .btn [data-js=effect] {
    mix-blend-mode: normal;
  }
}

[data-js=effect] > [data-js=effect-target] {
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  mix-blend-mode: hard-light;
}
[data-js=effect] > [data-js=effect-target]:nth-child(n+2) {
  pointer-events: none;
}
[data-js=effect] > [data-js=effect-target]:nth-child(2) {
  opacity: 0.25;
  z-index: 10;
}
[data-js=effect] > [data-js=effect-target]:nth-child(3) {
  opacity: 0.225;
  z-index: 20;
}
[data-js=effect] > [data-js=effect-target]:nth-child(4) {
  opacity: 0.2;
  z-index: 30;
}
[data-js=effect] > [data-js=effect-target]:nth-child(5) {
  opacity: 0.15;
  z-index: 40;
}
[data-js=effect] > [data-js=effect-target]:nth-child(6) {
  opacity: 0.125;
  z-index: 50;
}

[data-trigger=stc] {
  display: block;
  opacity: 0;
  translate: 0 2.5rem;
  transition: opacity 1.2s cubic-bezier(0.65, 0.28, 0.76, 0.45), translate 0.9s cubic-bezier(0.11, 0.62, 0.26, 0.85);
}
[data-trigger=stc][data-delay="1.2"] {
  transition-delay: 1.2s, 1.2s;
}
[data-trigger=stc].is-show {
  opacity: 1;
  translate: none;
}
/*# sourceMappingURL=maps/style.css.map */