.story__wrap {
  padding: 26.6666666667vw 0;
}
@media only screen and (min-width: 768px) {
  .story__wrap {
    padding: 11.1111111111vw 0vw 6.25vw;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1920px) {
  .story__wrap {
    padding: 213.3333333333px 0px 120px;
  }
}
.story__block {
  position: relative;
  width: 97.3333333333vw;
  margin: 0 auto;
  padding: 26.6666666667vw 0 21.3333333333vw;
  overflow: hidden;
}
.story__block:has(.js--anime)::before, .story__block:has(.js--anime)::after {
  transition: transform 0.8s ease-in-out;
  transform: scale(1, 1);
}
.story__block:has(.js--anime)#story .story__block-bg, .story__block:has(.js--anime)#about .story__block-bg {
  opacity: 1;
  transition: opacity 0.4s ease;
  transition-delay: 0.5s;
}
.story__block::before, .story__block::after {
  content: "";
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: 0.5333333333vw;
  background: #9f9f9f;
  transform: scale(0, 1);
  transform-origin: left center;
}
@media (min-width: 768px) {
  .story__block::before, .story__block::after {
    height: 2.8px;
  }
}
@media (min-width: 1280px) {
  .story__block::before, .story__block::after {
    height: 4px;
  }
}
@media (min-width: 1920px) {
  .story__block::before, .story__block::after {
    height: 4.8px;
  }
}
.story__block::before {
  top: 0;
}
.story__block::after {
  bottom: 0;
}
@media only screen and (min-width: 768px) {
  .story__block {
    padding-top: 10.4166666667vw;
    padding-bottom: 10.7638888889vw;
    width: calc(100% - 2.7777777778vw);
  }
}
@media only screen and (min-width: 768px) and (min-width: 1920px) {
  .story__block {
    padding-top: 200px;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1920px) {
  .story__block {
    padding-bottom: 206.6666666667px;
  }
}
.story__block#story .story__block-bg {
  width: 100%;
  height: 120%;
  background-image: url("../img/story/bg_story.webp");
  background-position: center center;
  background-size: cover;
  opacity: 0;
  transition: transform 1s;
  transition-timing-function: cubic-bezier(0.05, 0.54, 0.27, 0.98);
}
@media only screen and (min-width: 768px) {
  .story__block#story .story__block-bg {
    height: 125%;
    background-image: url("../img/story/bg_story_pc.webp");
    background-size: cover;
  }
}
@media (min-width: 768px) {
  .story__block#story .story__block-title {
    margin-left: -5.6px;
  }
}
@media (min-width: 1280px) {
  .story__block#story .story__block-title {
    margin-left: -8px;
  }
}
@media (min-width: 1920px) {
  .story__block#story .story__block-title {
    margin-left: -9.6px;
  }
}
.story__block#about {
  margin-top: 21.3333333333vw;
}
@media only screen and (min-width: 768px) {
  .story__block#about {
    margin-top: 11.1111111111vw;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1920px) {
  .story__block#about {
    margin-top: 213.3333333333px;
  }
}
.story__block#about .story__block-bg {
  width: 100%;
  height: 120%;
  background-image: url("../img/story/bg_about.webp");
  background-position: center center;
  background-size: 100% auto;
  opacity: 0;
  transition: transform 1s;
  transition-timing-function: cubic-bezier(0.05, 0.54, 0.27, 0.98);
}
@media only screen and (min-width: 768px) {
  .story__block#about .story__block-bg {
    height: 125%;
    background-image: url("../img/story/bg_about_pc.webp");
    background-position: center top;
    background-size: 100% auto;
  }
}
@media (min-width: 768px) {
  .story__block#about .story__block-title {
    margin-left: -3.5px;
  }
}
@media (min-width: 1280px) {
  .story__block#about .story__block-title {
    margin-left: -5px;
  }
}
@media (min-width: 1920px) {
  .story__block#about .story__block-title {
    margin-left: -6px;
  }
}
.story__block-bg {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  background-repeat: no-repeat;
  transform: translateX(-50%);
  pointer-events: none;
}
.story__block-wrap {
  margin: 0 auto;
  padding: 0 6.6666666667vw;
}
@media (min-width: 768px) {
  .story__block-wrap {
    max-width: 777px;
  }
}
@media (min-width: 1280px) {
  .story__block-wrap {
    max-width: 1110px;
  }
}
@media (min-width: 1920px) {
  .story__block-wrap {
    max-width: 1332px;
  }
}
@media (min-width: 768px) {
  .story__block-wrap {
    padding: 0px 154px;
  }
}
@media (min-width: 1280px) {
  .story__block-wrap {
    padding: 0px 220px;
  }
}
@media (min-width: 1920px) {
  .story__block-wrap {
    padding: 0px 264px;
  }
}
.story__block-title {
  padding-bottom: 18.6666666667vw;
  color: #262626;
  font-family: "Zen Old Mincho", serif;
  font-size: 9.8666666667vw;
  font-weight: 400;
}
@media only screen and (max-width: 767px) {
  .story__block-title {
    text-align: center;
  }
}
@media (min-width: 768px) {
  .story__block-title {
    font-size: 44.8px;
  }
}
@media (min-width: 1280px) {
  .story__block-title {
    font-size: 64px;
  }
}
@media (min-width: 1920px) {
  .story__block-title {
    font-size: 76.8px;
  }
}
@media (min-width: 768px) {
  .story__block-title {
    padding-bottom: 56px;
  }
}
@media (min-width: 1280px) {
  .story__block-title {
    padding-bottom: 80px;
  }
}
@media (min-width: 1920px) {
  .story__block-title {
    padding-bottom: 96px;
  }
}
.story__block-title span {
  letter-spacing: -0.2em;
  text-indent: -0.2em;
}
@media only screen and (min-width: 768px) {
  .story__block-title span {
    letter-spacing: -0.25em;
    text-indent: -0.25em;
  }
}
.story__block-lead {
  margin-bottom: 10.6666666667vw;
  margin-left: -2.6666666667vw;
  color: #262626;
  font-family: "Zen Old Mincho", serif;
  font-size: 6.1333333333vw;
}
@media (min-width: 768px) {
  .story__block-lead {
    font-size: 28px;
  }
}
@media (min-width: 1280px) {
  .story__block-lead {
    font-size: 40px;
  }
}
@media (min-width: 1920px) {
  .story__block-lead {
    font-size: 48px;
  }
}
@media (min-width: 768px) {
  .story__block-lead {
    margin-bottom: 24.5px;
  }
}
@media (min-width: 1280px) {
  .story__block-lead {
    margin-bottom: 35px;
  }
}
@media (min-width: 1920px) {
  .story__block-lead {
    margin-bottom: 42px;
  }
}
@media (min-width: 768px) {
  .story__block-lead {
    margin-left: -14px;
  }
}
@media (min-width: 1280px) {
  .story__block-lead {
    margin-left: -20px;
  }
}
@media (min-width: 1920px) {
  .story__block-lead {
    margin-left: -24px;
  }
}
.story__block-txt {
  margin-top: 4.6666666667vw;
  color: #262626;
  font-family: "BIZ UDPGothic", serif;
  font-size: 3.7333333333vw;
  font-weight: 400;
  line-height: 1.9285714286;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
@media (min-width: 768px) {
  .story__block-txt {
    font-size: 12.6px;
  }
}
@media (min-width: 1280px) {
  .story__block-txt {
    font-size: 18px;
  }
}
@media (min-width: 1920px) {
  .story__block-txt {
    font-size: 21.6px;
  }
}
@media (min-width: 768px) {
  .story__block-txt {
    margin-top: 14px;
  }
}
@media (min-width: 1280px) {
  .story__block-txt {
    margin-top: 20px;
  }
}
@media (min-width: 1920px) {
  .story__block-txt {
    margin-top: 24px;
  }
}
@media only screen and (min-width: 768px) {
  .story__block-txt {
    line-height: 1.7777777778;
  }
}
@media (min-width: 768px) {
  .story__block-txt.mt {
    margin-top: 35px;
  }
}
@media (min-width: 1280px) {
  .story__block-txt.mt {
    margin-top: 50px;
  }
}
@media (min-width: 1920px) {
  .story__block-txt.mt {
    margin-top: 60px;
  }
}
.story__block-txt:first-child {
  margin-top: 0;
}
.story__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  width: 72.6666666667vw;
  height: 11.7333333333vw;
  margin: 12vw auto 0;
  border: 0.2666666667vw solid #9f9f9f;
  border-radius: 6vw;
  background: #ffffff;
}
@media (min-width: 768px) {
  .story__btn {
    width: 241.5px;
  }
}
@media (min-width: 1280px) {
  .story__btn {
    width: 345px;
  }
}
@media (min-width: 1920px) {
  .story__btn {
    width: 414px;
  }
}
@media (min-width: 768px) {
  .story__btn {
    height: 39.2px;
  }
}
@media (min-width: 1280px) {
  .story__btn {
    height: 56px;
  }
}
@media (min-width: 1920px) {
  .story__btn {
    height: 67.2px;
  }
}
@media (min-width: 768px) {
  .story__btn {
    border-width: 1.4px;
  }
}
@media (min-width: 1280px) {
  .story__btn {
    border-width: 2px;
  }
}
@media (min-width: 1920px) {
  .story__btn {
    border-width: 2.4px;
  }
}
@media (min-width: 768px) {
  .story__btn {
    border-radius: 19.6px;
  }
}
@media (min-width: 1280px) {
  .story__btn {
    border-radius: 28px;
  }
}
@media (min-width: 1920px) {
  .story__btn {
    border-radius: 33.6px;
  }
}
@media (min-width: 768px) {
  .story__btn {
    margin-top: 49px;
  }
}
@media (min-width: 1280px) {
  .story__btn {
    margin-top: 70px;
  }
}
@media (min-width: 1920px) {
  .story__btn {
    margin-top: 84px;
  }
}
.story__btn span {
  color: #262626;
  font-family: "Zen Old Mincho", serif;
  font-size: 3.7333333333vw;
  font-weight: 400;
}
@media (min-width: 768px) {
  .story__btn span {
    font-size: 12.6px;
  }
}
@media (min-width: 1280px) {
  .story__btn span {
    font-size: 18px;
  }
}
@media (min-width: 1920px) {
  .story__btn span {
    font-size: 21.6px;
  }
}
.story__btn::before {
  content: "";
  position: absolute;
  padding: 0.2666666667vw;
  border-radius: inherit;
  background: url("../img/common/bg_gradient_about.webp") no-repeat 50% 50%/cover;
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  inset: -0.2666666667vw;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
@media (min-width: 768px) {
  .story__btn::before {
    padding: 1.4px;
  }
}
@media (min-width: 1280px) {
  .story__btn::before {
    padding: 2px;
  }
}
@media (min-width: 1920px) {
  .story__btn::before {
    padding: 2.4px;
  }
}
@media (min-width: 768px) {
  .story__btn::before {
    inset: -1.4px;
  }
}
@media (min-width: 1280px) {
  .story__btn::before {
    inset: -2px;
  }
}
@media (min-width: 1920px) {
  .story__btn::before {
    inset: -2.4px;
  }
}
@media only screen and (min-width: 768px) {
  .story__btn {
    transition: all 300ms;
  }
  .story__btn:hover::before {
    opacity: 1;
  }
}
.story__nav {
  position: fixed;
  right: 6vw;
  bottom: 6vw;
  z-index: 5;
  gap: 5.3333333333vw;
  width: 62.6666666667vw;
  height: 13.3333333333vw;
  padding: 0 8vw;
  border: 0.5333333333vw solid #9f9f9f;
  border-radius: 6.6666666667vw;
  background-color: #ffffff;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (min-width: 768px) {
  .story__nav {
    width: 280px;
  }
}
@media (min-width: 1280px) {
  .story__nav {
    width: 400px;
  }
}
@media (min-width: 1920px) {
  .story__nav {
    width: 480px;
  }
}
@media (min-width: 768px) {
  .story__nav {
    height: 56px;
  }
}
@media (min-width: 1280px) {
  .story__nav {
    height: 80px;
  }
}
@media (min-width: 1920px) {
  .story__nav {
    height: 96px;
  }
}
@media (min-width: 768px) {
  .story__nav {
    border-radius: 28px;
  }
}
@media (min-width: 1280px) {
  .story__nav {
    border-radius: 40px;
  }
}
@media (min-width: 1920px) {
  .story__nav {
    border-radius: 48px;
  }
}
@media (min-width: 768px) {
  .story__nav {
    border-width: 2.1px;
  }
}
@media (min-width: 1280px) {
  .story__nav {
    border-width: 3px;
  }
}
@media (min-width: 1920px) {
  .story__nav {
    border-width: 3.6px;
  }
}
@media (min-width: 768px) {
  .story__nav {
    gap: 28px;
  }
}
@media (min-width: 1280px) {
  .story__nav {
    gap: 40px;
  }
}
@media (min-width: 1920px) {
  .story__nav {
    gap: 48px;
  }
}
@media (min-width: 768px) {
  .story__nav {
    padding: 0px 42px;
  }
}
@media (min-width: 1280px) {
  .story__nav {
    padding: 0px 60px;
  }
}
@media (min-width: 1920px) {
  .story__nav {
    padding: 0px 72px;
  }
}
@media only screen and (min-width: 768px) {
  .story__nav {
    bottom: 1.3888888889vw;
    right: 0.6944444444vw;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1920px) {
  .story__nav {
    bottom: 26.6666666667px;
  }
}
@media only screen and (min-width: 768px) and (min-width: 1920px) {
  .story__nav {
    right: 13.3333333333px;
  }
}
.story__nav.js--hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.story__nav-item {
  position: relative;
  z-index: 1;
  color: #262626;
  font-family: "Zen Old Mincho", serif;
  font-size: 3.7333333333vw;
  font-weight: 700;
  text-decoration: none;
  background: url("../img/common/bg_gradient_about.webp") no-repeat 50% 50%/cover;
  -webkit-background-clip: text;
  background-clip: text;
  transition: color 0.3s ease, text-decoration-color 0.3s ease;
}
@media (min-width: 768px) {
  .story__nav-item {
    font-size: 15.4px;
  }
}
@media (min-width: 1280px) {
  .story__nav-item {
    font-size: 22px;
  }
}
@media (min-width: 1920px) {
  .story__nav-item {
    font-size: 26.4px;
  }
}
@supports (-webkit-text-fill-color: transparent) {
  .story__nav-item {
    -webkit-text-fill-color: currentcolor;
    transition: color 0.3s ease, text-decoration-color 0.3s ease, -webkit-text-fill-color 0.3s ease;
  }
}
.story__nav-item.js--current {
  color: transparent;
  text-decoration: none;
}
@supports (-webkit-text-fill-color: transparent) {
  .story__nav-item.js--current {
    -webkit-text-fill-color: transparent;
  }
}
@media only screen and (min-width: 768px) {
  .story__nav-item:hover {
    color: transparent;
    text-decoration: none;
  }
  @supports (-webkit-text-fill-color: transparent) {
    .story__nav-item:hover {
      -webkit-text-fill-color: transparent;
    }
  }
}
.story__nav-item span {
  letter-spacing: -0.2em;
  text-indent: -0.2em;
}

.story__block-title,
.story__block-dtl {
  opacity: 0;
  transition: opacity 0.5s ease-out;
}

.story__mask {
  position: relative;
}

.story__block-title-layer,
.story__block-dtl-layer {
  display: flow-root;
  opacity: 1;
}
.story__block-title-layer--1,
.story__block-dtl-layer--1 {
  will-change: opacity;
  backface-visibility: hidden;
}
.story__block-title-layer--1, .story__block-title-layer--2,
.story__block-dtl-layer--1,
.story__block-dtl-layer--2 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.story__block-title-layer--3,
.story__block-dtl-layer--3 {
  position: relative;
  transition: clip-path 0.8s ease-out;
  clip-path: polygon(110% 0%, 110% 0%, 110% 100%, 110% 100%);
}
.story__block-title-layer--2,
.story__block-dtl-layer--2 {
  transition: clip-path 0.8s ease-out;
  clip-path: polygon(110% 0%, 110% 0%, 110% 100%, 110% 100%);
}

.story__block-title-layer--1,
.story__block-dtl-layer--1 {
  opacity: 0;
  transition: opacity 0.4s ease;
}

.story__mask.js--anime .story__block-title-layer--1,
.story__mask.js--anime .story__block-dtl-layer--1 {
  opacity: 1;
}

.story__block-title-layer--1,
.story__block-title-layer--1 span,
.story__block-dtl-layer--1 .story__block-lead,
.story__block-dtl-layer--1 .story__block-txt {
  color: #9f9f9f;
}

.story__block-title-layer--2,
.story__block-dtl-layer--2 .story__block-lead,
.story__block-dtl-layer--2 .story__block-txt {
  color: transparent;
  background: url("../img/common/bg_gradient_about.webp") no-repeat 43% 50%/cover;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.main[data-page=story] .under__deco-left,
.main[data-page=story] .under__deco-right {
  z-index: 3;
}
/*# sourceMappingURL=sourcemaps/story.css.map */
