@charset "utf-8";

/*! STAFF START EXP v1.0.08e208 */

@keyframes fade-in {
  0% {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes cin {
  0% {
    opacity: 0;
    transform: translate(0, 1em);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes a {
  0% {
    transform: none;
  }

  to {
    transform: translate(-50%, 0);
  }
}

@keyframes fvi {
  0% {
    transform: none;
  }

  to {
    transform: scale(1.1);
  }
}

*, ::after, ::before {
  background-repeat: no-repeat;
}

::after, ::before {
  box-sizing: border-box;
  text-decoration: inherit;
  vertical-align: inherit;
}

:where(:root) {
  cursor: default;
  line-height: 1.5;
  overflow-wrap: break-word;
  tab-size: 4;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
}

:where(body) {
  margin: 0;
}

:where(h1) {
  font-size: 2em;
  margin: .67em 0;
}

:where(dl,ol,ul) :where(dl,ol,ul) {
  margin: 0;
}

:where(hr) {
  color: inherit;
  height: 0;
}

:where(nav) :where(ol,ul) {
  list-style-type: none;
  padding: 0;
}

:where(nav li)::before {
  content: "​";
  float: left;
}

:where(pre) {
  font-family: monospace, monospace;
  font-size: 1em;
  overflow: auto;
}

:where(abbr[title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

:where(b,strong) {
  font-weight: bolder;
}

:where(code,kbd,samp) {
  font-family: monospace, monospace;
  font-size: 1em;
}

:where(small) {
  font-size: 80%;
}

:where(audio,canvas,iframe,img,svg,video) {
  vertical-align: middle;
}

:where(iframe) {
  border-style: none;
}

:where(svg:not([fill])) {
  fill: currentColor;
}

:where(table) {
  border-collapse: collapse;
  border-color: inherit;
  text-indent: 0;
}

:where(button,input,select) {
  margin: 0;
}

:where(button,[type=button i],[type=reset i],[type=submit i]) {
  -webkit-appearance: button;
}

:where(fieldset) {
  border: 1px solid #a0a0a0;
}

:where(progress) {
  vertical-align: baseline;
}

:where(textarea) {
  margin: 0;
  resize: vertical;
}

:where([type=search i]) {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
  height: auto;
}

::-webkit-input-placeholder {
  color: inherit;
  opacity: .54;
}

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

:where(dialog) {
  background-color: #fff;
  border: solid;
  color: #000;
  height: -moz-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
}

:where(dialog:not([open])) {
  display: none;
}

:where(details>summary:first-of-type) {
  display: list-item;
}

:where([aria-busy=true i]) {
  cursor: progress;
}

:where([aria-controls]) {
  cursor: pointer;
}

:where([aria-disabled=true i],[disabled]) {
  cursor: not-allowed;
}

:where([aria-hidden=false i][hidden]) {
  display: initial;
}

:where([aria-hidden=false i][hidden]:not(:focus)) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

ul {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
}

a img {
  outline: 0;
}

hr {
  height: 1px;
  border: 0;
}

h1, h2, h3, h4 {
  margin: 0;
  font-size: inherit;
  font-weight: 400;
}

.c-pic.-cover:before, nav li:before {
  content: none;
}

html {
  font-family: "Noto Sans JP", sans-serif;
  height: 100%;
  min-width: 320px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  background-color: #fff;
  color: #323742;
  font-size: 4.266666666666667vw;
}

.u-min {
  font-family: yu-mincho-pr6n, serif;
}

.u-sans {
  font-weight: 600;
}

.u-sans, .u-sans--9 {
  font-family: "Montserrat", sans-serif;
}

body {
  font-size: .78125rem;
  letter-spacing: .16em;
  line-height: 1.9328;
}

.c-abs {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.c-fade-in, img.yall {
  opacity: 0;
}

.c-fade-in.is-show {
  animation: fade-in 1s forwards;
}

.c-flc {
  display: flex;
  justify-content: center;
  align-items: center;
}

.c-gc, .c-gc__ly {
  position: relative;
}

.c-gc {
  display: grid;
  grid-template: 1fr/1fr;
}

.c-gc__ly {
  z-index: 0;
  grid-row: 1/2;
  grid-column: 1/2;
}

.c-in {
  opacity: 0;
  will-change: transform, opacity;
}

.c-in.is-show {
  animation: cin .66s forwards ease-in-out;
}

img.yall.loaded {
  opacity: 1;
  animation: fade-in .32s forwards ease-in;
}

.c-fit, .c-pic.-cover img {
  object-fit: cover;
}

.c-fit--contain {
  object-fit: contain;
}

.c-pic {
  position: relative;
  overflow: hidden;
}

.c-pic:before {
  display: block;
  content: "";
  width: 100%;
  height: 0;
  padding: 0 0 100%;
}

.c-pic img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.c-pic, .c-pic.-cover {
  display: block;
}

.c-btn {
  display: flex;
  justify-content: center;
  align-items: center;
}

.c-heading.-h2 {
  text-align: center;
  line-height: 1;
}

.c-heading.-h2 p {
  font-size: .5rem;
  letter-spacing: .3em;
  margin: 0 0 1.09375rem;
}

.c-heading.-h2 h2 {
  font-size: 1.3125rem;
  letter-spacing: .05em;
}

.c-ln--u {
  text-decoration: underline;
}

.c-ln--u:hover {
  text-decoration: none;
}

.c-blockqueue {
  color: #fbf8f5;
  overflow: hidden;
  position: relative;
  height: 1.6em;
  font-size: 3.125rem;
  letter-spacing: .3em;
  line-height: 1.6;
}

.c-blockqueue__inner {
  display: flex;
  align-items: center;
  width: min-content;
  white-space: nowrap;
  overflow: visible;
  will-change: transform;
  position: absolute;
  top: 0;
  left: 0;
  animation: a 16s infinite linear;
}

.c-blockqueue__p {
  overflow: visible;
  flex-shrink: 0;
  padding: 0 .7em;
}

.c-content {
  position: relative;
  z-index: 1;
}

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

.u-sans--9 {
  font-weight: 900;
}

.u-hide--m {
  display: none;
}

.p-about {
  position: relative;
  overflow: hidden;
}

.p-about__inner {
  max-width: 1440px;
  margin: 0 auto;
}

.p-about__content {
  padding: 21.5625rem 2.5rem 25.625rem;
  z-index: 1;
}

.p-about__heading {
  margin: 0-2.5rem 1.78125rem -.15625rem;
}

.p-about__heading p {
  font-size: .5rem;
  letter-spacing: .3em;
  line-height: 1;
  margin: 0 0 1.8125em;
}

.p-about__heading h2 {
  font-size: 1.1875rem;
  letter-spacing: .05em;
  line-height: 1.578947368421053;
}

.p-about__t {
  font-size: .78125rem;
  letter-spacing: .16em;
  line-height: 1.9328;
}

.p-about__t p+p {
  margin-top: 1.51rem;
}

.p-about__footer {
  margin: 2.03125rem 0 0;
  font-size: 1.125rem;
  letter-spacing: .05em;
  line-height: 1.903333333333333;
}

.p-about__img {
  position: absolute;
  object-fit: cover;
}

.p-about__imgs {
  width: 100%;
  height: 100%;
  max-width: 1440px;
  magin: 0 auto;
  z-index: -1;
  pointer-events: none;
}

.p-about__img.-i0 {
  z-index: 1;
}

.p-about__img.-i0:before {
  padding: 0 0 59.31721194879089%;
}

.p-about__img.-i1 {
  z-index: 0;
}

.p-about__img.-i1:before {
  padding: 0 0 140.94076655052265%;
}

.p-about__img.-i2:before {
  padding: 0 0 104.60000000000001%;
}

.p-about__img.-i3:before {
  padding: 0 0 65.7559198542805%;
}

.p-about__img.-i4:before {
  padding: 0 0 140.21244309559938%;
}

.p-about__img.-i5 {
  z-index: 1;
}

.p-about__img.-i5:before {
  padding: 0 0 59.56375838926174%;
}

.p-about__img.-i6 {
  z-index: 0;
}

.p-about__img.-i6:before {
  padding: 0 0 110.36269430051813%;
}

.p-action {
  background: #fbf8f5;
}

.p-action__inner {
  padding: 2.375rem 0 1.5625rem;
}

.p-action__caption {
  text-align: center;
  font-size: .5625rem;
  letter-spacing: .1em;
  line-height: 1.333333333333333;
  color: GLY;
  display: block;
}

.p-action__swiper {
  margin: 2.34375rem 1.875rem 2.0625rem;
}

.p-action__swiper .swiper-wrapper {
  height: 100%;
}

.p-action__swiper .swiper-pagination-bullet {
  width: .625rem;
  height: .0625rem;
  margin: 0;
  opacity: 1;
  background: #d6d6d6;
  border-radius: 0;
  transition: width .3s;
}

.p-action__swiper .swiper-pagination-bullets {
  margin: 1.3125rem 0 0;
  display: flex;
  justify-content: center;
}

.p-action__swiper .swiper-pagination-bullet-active {
  background: #5d5d5d;
  width: 2.8125rem;
}

.p-action__swiper .swiper-pagination-bullet:nth-child(n+2) {
  margin: 0 0 0 .046875rem !important;
}

.p-action__swiper__inner {
  position: relative;
}

.p-action__swiper__nav {
  position: absolute;
  top: calc(50% - .546875rem);
  width: .59375rem;
  height: 1.09375rem;
  background: url(ui/arrow-right.svg)no-repeat 50% 50%/contain;
}

.p-action__swiper__nav.-next {
  right: -.75rem;
}

.p-action__swiper__nav.-prev {
  left: -.75rem;
  transform: rotate(180deg);
}

.p-action h3 {
  font-size: .8125rem;
  letter-spacing: .03em;
  line-height: 1;
  font-weight: 500;
  text-align: center;
  margin: .46875rem -.625rem .9375rem;
}

.p-action__li {
  padding: 0 .3125rem;
  height: auto;
}

.p-action__li__inner {
  background: #fff;
  border-radius: .3125rem;
  padding: 1.40625rem .625rem;
  height: 100%;
}

.p-action__li .u-sans {
  color: #727272;
  font-size: .46875rem;
  letter-spacing: .2em;
  line-height: 1;
  text-align: center;
  margin: 0 0 .625rem;
}

.p-action__li .c-pic:before {
  padding: 0 0 77.07736389684814%;
}

.p-action__li p {
  font-size: .625rem;
  letter-spacing: .01em;
  line-height: 1.9;
  padding: 0 .3125rem;
}

.p-cta__btn {
  background: #232821;
  color: #fff;
  text-align: center;
  font-size: 1rem;
  letter-spacing: .05em;
  line-height: 1.25;
  width: 100%;
  height: 3.125rem;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity .3s;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.p-cta__btn:hover {
  opacity: .7;
}

.p-fv {
  width: 100vw;
  height: 100vh;
  color: #fff;
  position: sticky;
  top: 0;
  background: #000;
  will-change: opacity;
}

.p-fv__p {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
}

.swiper-slide-active .p-fv__p, .swiper-slide-duplicate-active .p-fv__p,
.swiper-slide-prev .p-fv__p {
  animation: fvi 10s forwards ease-in-out;
}

.p-fv__p img {
  object-fit: cover;
}

.p-fv__ly, .p-fv__p img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.p-fv__inner {
  z-index: 2;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  font-size: 1.8109375rem;
  letter-spacing: .05em;
  line-height: 1.400172562553926;
  text-align: center;
  padding: 5.9375rem 0 0;
}

.p-fv__inner h1 {
  padding: 0 0 0 .9em;
}

.-s0 .p-fv__inner {
  animation: cin .7s forwards .1s ease-in-out;
}

.p-fv__logo {
  margin: .75rem 0 0;
  width: 3.625rem;
}

.p-fv__logo:before {
  padding: 0 0 72.65625%;
}

.p-fv__footer {
  z-index: 1;
  display: flex;
  align-items: flex-end;
  text-align: center;
  font-size: .5625rem;
  letter-spacing: .3em;
  line-height: 1;
  padding: 2.1875rem;
}

.-s0 .p-fv__footer {
  opacity: 0;
  animation: fade-in .7s forwards .4s ease-in-out;
}

.p-fv__footer p {
  width: 100%;
}

.p-fv__swiper {
  z-index: 0;
  height: 100%;
  pointer-events: none;
  opacity: 0;
}

.-s1 .p-fv__swiper {
  animation: fade-in .7s forwards ease-in-out;
}

.g-footer {
  font-size: .4375rem;
  line-height: 1;
  letter-spacing: .1em;
  padding: 2.34375rem 0 1.5rem;
  text-align: center;
  color: #767676;
}

.g-footer__inner {
  margin: 0 0 .6875rem;
  font-size: .6875rem;
  letter-spacing: .1em;
  line-height: 2.272727272727273;
  font-weight: 500;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
}

.g-footer__logo {
  width: 11.25rem;
  margin: 0 auto .96875rem;
}

.g-footer__logo:before {
  padding: 0 0 14.499999999999998%;
}

.g-footer__li {
  margin: 0;
  display: block;
  width: max-content;
  transition: opacity .3s;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}

.g-footer__li:hover {
  opacity: .7;
}

.p-message {
  padding: 2.90625rem 0 2.78125rem;
  font-size: .875rem;
  letter-spacing: .05em;
  line-height: 1.785714285714286;
  text-align: center;
}

@media only screen and (min-width:769px) {
  html {
    font-size: 1.666666666666667vw;
  }

  body {
    font-size: .875rem;
    line-height: 2.428571428571428;
  }

  .c-heading.-h2 p {
    font-size: .625rem;
    margin: 0 0 .9375rem;
  }

  .c-heading.-h2 h2 {
    font-size: 1.875rem;
  }

  .c-blockqueue {
    font-size: 6.25rem;
  }

  .u-hide {
    display: none;
  }

  .u-hide--m {
    display: inline;
  }

  .u-hide--m.-b {
    display: block;
  }

  .p-about__content {
    padding: 34.72222222222222vw 0 17.36111111111111vw 7.638888888888889vw;
    width: 43.05555555555556vw;
    margin: 0 auto;
  }

  .p-about__heading {
    margin: 0 0 3.125vw;
  }

  .p-about__heading p {
    font-size: .694444444444444vw;
  }

  .p-about__heading h2 {
    font-size: 2.222222222222222vw;
    line-height: 1.75;
  }

  .p-about__t {
    font-size: .972222222222222vw;
    line-height: 2.428571428571428;
  }

  .p-about__t p+p {
    margin-top: 2.428571428571428em;
  }

  .p-about__footer {
    margin: 7.291666666666667vw 0 0;
    font-size: 2.222222222222222vw;
    line-height: 1.75;
  }

  .p-about__img.-i0 {
    width: 30.069444444444443vw;
    top: 7.916666666666666vw;
    left: 8.61111111111111vw;
  }

  .p-about__img.-i0:before {
    padding: 0 0 59.353348729792145%;
  }

  .p-about__img.-i1 {
    width: 24.583333333333332vw;
    top: 19.444444444444446vw;
    left: 0;
  }

  .p-about__img.-i1:before {
    padding: 0 0 140.96045197740114%;
  }

  .p-about__img.-i2 {
    width: 24.583333333333332vw;
    top: 16.180555555555557vw;
    right: 0;
  }

  .p-about__img.-i2:before {
    padding: 0 0 104.80225988700565%;
  }

  .p-about__img.-i3 {
    width: 21.041666666666668vw;
    right: -1.319444444444444vw;
    bottom: 51.24999999999999vw;
  }

  .p-about__img.-i3:before {
    padding: 0 0 66.33663366336634%;
  }

  .p-about__img.-i4 {
    width: 31.11111111111111vw;
    right: -6.25vw;
    bottom: 1.805555555555555vw;
  }

  .p-about__img.-i4:before {
    padding: 0 0 140.17857142857142%;
  }

  .p-about__img.-i5 {
    width: 20.694444444444443vw;
    bottom: 10.48611111111111vw;
    left: 6.25vw;
  }

  .p-about__img.-i5:before {
    padding: 0 0 59.395973154362416%;
  }

  .p-about__img.-i6 {
    width: 20vw;
    bottom: 21.11111111111111vw;
    left: -.694444444444444vw;
  }

  .p-about__img.-i6:before {
    padding: 0 0 111.11111111111111%;
  }

  .p-action__inner {
    padding: 6.25rem 5rem 2.8125rem;
    max-width: 1300px;
    margin: 0 auto;
  }

  .p-action__caption {
    font-size: .75rem;
  }

  .p-action__swiper {
    margin: 3.25rem 0 4.375rem;
  }

  .p-action__swiper .swiper-pagination-bullets {
    margin: 2.625rem 0 0;
  }

  .p-action__swiper .swiper-pagination-bullet {
    width: 1.25rem;
    height: .125rem;
  }

  .p-action__swiper .swiper-pagination-bullet-active {
    width: 5.625rem;
  }

  .p-action__swiper .swiper-pagination-bullet:nth-child(n+2) {
    margin: 0 0 0 .09375rem !important;
  }

  .p-action__swiper__nav {
    width: 1.1875rem;
    height: 2.1875rem;
    top: calc(50% - 1.09375rem);
  }

  .p-action__swiper__nav.-next {
    right: -3.0625rem;
  }

  .p-action__swiper__nav.-prev {
    left: -3.0625rem;
  }

  .p-action h3 {
    font-size: 1.5rem;
    margin: 1.5625rem 0;
  }

  .p-action__li {
    padding: 0 .3125rem;
  }

  .p-action__li__inner {
    padding: 2.5rem 3.125rem;
    border-radius: .625rem;
  }

  .p-action__li .u-sans {
    font-size: .5rem;
  }

  .p-action__li p {
    font-size: .875rem;
    line-height: 1.714285714285714;
  }

  .p-cta__inner {
    padding: 0 5rem;
    max-width: 1160px;
    margin: 0 auto;
  }

  .p-cta__btn {
    font-size: 1.5625rem;
    height: 5.3125rem;
  }

  .p-fv {
    min-height: 30rem;
  }

  .p-fv__inner {
    font-size: 2.775vw;
    line-height: 1.3998998998999;
    padding: 26.932954545454546svh 0 0;
  }

  .p-fv__logo {
    width: 8.88888888888889vw;
    margin: 1.666666666666667vw 0 0;
  }

  .g-footer, .p-fv__footer {
    font-size: .625rem;
    padding: 2.8125rem;
  }

  .g-footer {
    padding: 3.4375rem 0 2.75rem;
  }

  .g-footer__inner {
    font-size: .8125rem;
    line-height: 1.846153846153846;
    margin: 0 0 2.78125rem;
    flex-flow: row;
  }

  .g-footer__logo {
    width: 12.5rem;
    margin-bottom: .65625rem;
  }

  .g-footer__li:last-child {
    margin: 0 0 0 1.875rem;
  }

  .p-message {
    font-size: 1.25rem;
    line-height: 2;
    padding: 2.875rem 0 1.4375rem;
  }
}

@media only screen and (min-width:961px) {
  html {
    font-size: 100%;
  }
}

@media only screen and (min-width:1441px) {
  .p-about__content {
    padding: 500px 0 250px 110px;
    width: 620px;
  }

  .p-about__heading {
    margin: 0 0 2.8125rem;
  }

  .p-about__heading p {
    font-size: .625rem;
  }

  .p-about__heading h2 {
    font-size: 2rem;
  }

  .p-about__t {
    font-size: .875rem;
  }

  .p-about__footer {
    margin: 6.5625rem 0 0;
    font-size: 2rem;
  }

  .p-about__img.-i0 {
    width: 27.0625rem;
    top: 7.125rem;
    left: 7.75rem;
  }

  .p-about__img.-i1 {
    width: 22.125rem;
    top: 17.5rem;
    left: 0;
  }

  .p-about__img.-i2 {
    width: 22.125rem;
    top: 14.5625rem;
    right: 0;
  }

  .p-about__img.-i3 {
    width: 18.9375rem;
    right: -1.1875rem;
    bottom: 46.125rem;
  }

  .p-about__img.-i4 {
    width: 28rem;
    right: -5.625rem;
    bottom: 1.625rem;
  }

  .p-about__img.-i5 {
    width: 18.625rem;
    bottom: 9.4375rem;
    left: 5.625rem;
  }

  .p-about__img.-i6 {
    width: 18rem;
    bottom: 19rem;
    left: -.625rem;
  }

  .p-fv__inner {
    font-size: 2.4975rem;
  }

  .p-fv__logo {
    width: 8rem;
    margin: 1.5rem 0 0;
  }
}

@media only screen and (max-width:768px) {
  .p-about__img.-i0 {
    top: 1.71875rem;
    left: 3.09375rem;
    width: 10.984375rem;
  }

  .p-about__img.-i1 {
    top: 6.0625rem;
    left: 0;
    width: 8.96875rem;
  }

  .p-about__img.-i2 {
    top: 11.90625rem;
    right: 1.3125rem;
    width: 7.8125rem;
  }

  .p-about__img.-i3 {
    bottom: 25.0625rem;
    right: -2.1875rem;
    width: 8.578125rem;
  }

  .p-about__img.-i4 {
    bottom: 7.40625rem;
    right: -1.75rem;
    width: 10.296875rem;
  }

  .p-about__img.-i5 {
    bottom: 4.1875rem;
    left: 3.125rem;
    width: 9.3125rem;
  }

  .p-about__img.-i6 {
    bottom: 8.96875rem;
    left: -.9375rem;
    width: 9.046875rem;
  }
}

@media only screen and (max-width:320px) {
  html {
    font-size: 87.5%;
  }
}
