#stage {
  background-color: var(--bg-base);
}

.mv__text {
  font-size: 1.8rem;
  font-family: var(--ff-Zen);
  line-height: 1.7778;
  color: #fff;
  position: absolute;
  right: calc(20 / var(--spSize) * 100vw);
  bottom: calc(48 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .mv__text {
    font-size: 2.4rem;
    line-height: 2;
    right: max(50% - 68rem, 6rem);
    bottom: 10rem;
  }
}

@media (1024px <= width) {
  .wrap {
    position: relative;
  }
}

.logoblock {
  margin-top: -2rem;
  margin-left: auto;
  margin-right: auto;
  width: calc(295 / var(--spSize) * 100vw);
  aspect-ratio: 1;
  display: grid;
  place-content: center;
  background-color: #fff;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
  position: relative;
}
@media (768px <= width) {
  .logoblock {
    width: 56rem;
  }
}
@media (1024px <= width) {
  .logoblock {
    width: 31.25%;
    max-width: 50rem;
    position: absolute;
    top: -7.4rem;
    left: max(50% - 680px, 6rem);
    margin-top: 0;
    padding: 5rem;
  }
}
.logoblock img {
  width: calc(170 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .logoblock img {
    width: 100%;
  }
}

.section__title {
  position: relative;
  font-size: 2.4rem;
  font-family: var(--ff-Zen);
  line-height: 1;
  padding-top: calc(45 / var(--spSize) * 100vw);
  padding-left: calc(20 / var(--spSize) * 100vw);
  height: 9rem;
}
@media (768px <= width) {
  .section__title {
    padding-top: 7.5rem;
    padding-left: 2rem;
    margin-left: 4rem;
    margin-right: 4rem;
    font-size: 2.8rem;
    height: 13.5rem;
  }
}
.section__title .bg {
  font-size: 8rem;
  font-family: var(--ff-Garamond);
  line-height: 1;
  opacity: 0.03;
  position: absolute;
  left: 0;
  top: 0;
}
@media (768px <= width) {
  .section__title .bg {
    font-size: 12rem;
  }
}

.origin {
  margin-top: 1.5rem;
  padding-bottom: calc(35 / var(--spSize) * 100vw);
  position: relative;
}
@media (768px <= width) {
  .origin {
    padding-bottom: 14rem;
  }
}
@media (1024px <= width) {
  .origin {
    padding-top: 10rem;
  }
}
@media (1024px <= width) {
  .origin__title {
    margin-left: max(49.2753623188%, 42rem);
  }
}
.origin::after {
  content: "";
  width: 100%;
  height: 73.6rem;
  background: url(../images/brand/origin_bg_sp.webp) center top no-repeat;
  display: block;
  position: absolute;
  top: calc(275 / var(--spSize) * 100vw);
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}
@media (768px <= width) {
  .origin::after {
    top: 6.8rem;
    height: auto;
    min-height: 1340px;
    aspect-ratio: 1920/1340;
    background-image: url(../images/brand/origin_bg.webp);
  }
}
@media (width > 1920px) {
  .origin::after {
    background-size: 100% auto;
  }
}
.origin__inner {
  position: relative;
  z-index: 2;
}
.origin__body {
  padding: 0 calc(20 / var(--spSize) * 100vw);
  position: relative;
  z-index: 2;
}
@media (768px <= width) {
  .origin__body {
    padding: 0 6rem;
  }
}
.origin__body .text {
  font-size: 1.5rem;
  font-family: var(--ff-Zen);
}
@media (768px <= width) {
  .origin__body .text {
    font-size: 1.8rem;
  }
}
@media (1024px <= width) {
  .origin__body .text {
    margin-left: max(50.7246376812%, 38rem);
  }
}
.origin__body .img {
  padding: calc(59 / var(--spSize) * 100vw) calc(29 / var(--spSize) * 100vw) 0;
}
@media (768px <= width) {
  .origin__body .img {
    padding-top: 10rem;
    padding-left: 0;
    padding-right: 0;
  }
}
@media (1024px <= width) {
  .origin__body .img {
    text-align: center;
  }
}
.origin__body .img svg {
  width: 100%;
  aspect-ratio: 278/177;
}
.origin__body .img svg path {
  opacity: 0;
  transition: 0.9s ease;
}
.origin__body .img svg path:nth-child(1) {
  transition-delay: 0.05s;
}
.origin__body .img svg path:nth-child(2) {
  transition-delay: 0.1s;
}
.origin__body .img svg path:nth-child(3) {
  transition-delay: 0.15s;
}
.origin__body .img svg path:nth-child(4) {
  transition-delay: 0.2s;
}
.origin__body .img svg path:nth-child(5) {
  transition-delay: 0.25s;
}
.origin__body .img svg path:nth-child(6) {
  transition-delay: 0.3s;
}
.origin__body .img svg path:nth-child(7) {
  transition-delay: 0.35s;
}
.origin__body .img svg path:nth-child(8) {
  transition-delay: 0.4s;
}
.origin__body .img svg path:nth-child(9) {
  transition-delay: 0.45s;
}
.origin__body .img svg path:nth-child(10) {
  transition-delay: 0.5s;
}
.origin__body .img svg path:nth-child(11) {
  transition-delay: 0.55s;
}
.origin__body .img svg path:nth-child(12) {
  transition-delay: 0.6s;
}
.origin__body .img svg path:nth-child(13) {
  transition-delay: 0.65s;
}
.origin__body .img svg path:nth-child(14) {
  transition-delay: 0.7s;
}
.origin__body .img svg path:nth-child(15) {
  transition-delay: 0.75s;
}
.origin__body .img svg path:nth-child(16) {
  transition-delay: 0.8s;
}
.origin__body .img svg path:nth-child(17) {
  transition-delay: 0.85s;
}
.origin__body .img svg path:nth-child(18) {
  transition-delay: 0.9s;
}
.origin__body .img svg path:nth-child(19) {
  transition-delay: 0.95s;
}
.origin__body .img svg path:nth-child(20) {
  transition-delay: 1s;
}
.origin__body .img svg path:nth-child(21) {
  transition-delay: 1.05s;
}
.origin__body .img svg path:nth-child(22) {
  transition-delay: 1.1s;
}
.origin__body .img svg path:nth-child(23) {
  transition-delay: 1.15s;
}
.origin__body .img svg path:nth-child(24) {
  transition-delay: 1.2s;
}
.origin__body .img svg path:nth-child(25) {
  transition-delay: 1.25s;
}
.origin__body .img svg path:nth-child(26) {
  transition-delay: 1.3s;
}
.origin__body .img svg path:nth-child(27) {
  transition-delay: 1.35s;
}
.origin__body .img svg path:nth-child(28) {
  transition-delay: 1.4s;
}
.origin__body .img svg path:nth-child(29) {
  transition-delay: 1.45s;
}
.origin__body .img svg path:nth-child(30) {
  transition-delay: 1.5s;
}
.origin__body .img svg.is-animeted path {
  opacity: 1;
}
.origin .sign {
  height: calc(90 / var(--spSize) * 100vw);
  width: 100%;
  position: relative;
  top: calc(-16 / var(--spSize) * 100vw);
  opacity: 0.2;
}
@media (768px <= width) {
  .origin .sign {
    height: auto;
  }
}
@media (1024px <= width) {
  .origin .sign {
    text-align: center;
    top: -7.6rem;
  }
}
.origin .sign img {
  position: absolute;
  top: 0;
  left: calc(50% - 244 / var(--spSize) * 100vw);
  width: calc(488 / var(--spSize) * 100vw);
  display: block;
  max-width: initial;
  mix-blend-mode: overlay;
}
@media (768px <= width) {
  .origin .sign img {
    width: 98.6rem;
    left: calc(50% - 49.3rem);
  }
}

.concept {
  position: relative;
}
@media (1024px <= width) {
  .concept__inner {
    padding-top: 10.6rem;
  }
}
.concept__img.img01 {
  width: calc(278 / var(--spSize) * 100vw);
  margin-left: auto;
  overflow: hidden;
  aspect-ratio: 278/369;
}
@media (768px <= width) {
  .concept__img.img01 {
    width: 56.4rem;
  }
}
@media (1024px <= width) {
  .concept__img.img01 {
    width: calc(100% - 82rem);
    max-width: 64rem;
    position: absolute;
    right: 0;
    top: 0;
  }
}
.concept__img.img01 img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  max-width: inherit;
}
.concept__img.img02 {
  aspect-ratio: 144/183;
  overflow: hidden;
}
.concept__img.img02 img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  max-width: inherit;
}
@media (1024px <= width) {
  .concept__img.img02 {
    width: 20.78125%;
    max-width: 33rem;
    position: absolute;
    left: 0;
    top: 61rem;
    margin-top: 0;
  }
}
.concept__img.img03 {
  margin-top: calc(80 / var(--spSize) * 100vw);
  aspect-ratio: 201/170;
  padding-left: calc(23 / var(--spSize) * 100vw);
  position: relative;
  overflow: hidden;
}
@media (768px <= width) {
  .concept__img.img03 {
    aspect-ratio: 441/393;
    margin-top: 8rem;
    padding-left: 2.9rem;
  }
}
@media (1024px <= width) {
  .concept__img.img03 {
    margin-top: 0;
    width: 28.359375%;
    max-width: 44.5rem;
    position: absolute;
    right: 0;
    top: 121rem;
    padding-left: 29px;
  }
}
@media (1280px <= width) {
  .concept__img.img03 {
    top: 129.2rem;
    text-align: right;
  }
}
.concept__img.img03 img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  max-width: inherit;
}
.concept__img.img03 .text {
  writing-mode: vertical-rl;
  font-size: 1rem;
  font-family: var(--ff-Inter);
  line-height: 1;
  color: var(--clr-grayyellow);
  position: absolute;
  top: 0;
  left: 0;
}
@media (768px <= width) {
  .concept__img.img03 .text {
    font-size: 1.4rem;
  }
}
.concept .spwrap {
  margin-top: 8rem;
  display: grid;
  grid-template-columns: calc(144 / var(--spSize) * 100vw) calc(201 / var(--spSize) * 100vw);
  gap: 0 calc(30 / var(--spSize) * 100vw);
}
@media (1024px <= width) {
  .concept .spwrap {
    display: contents;
  }
}
.concept__title {
  margin-top: calc(14 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .concept__title {
    margin-top: 2.5rem;
  }
}
@media (1024px <= width) {
  .concept__title {
    margin-top: 0;
    width: 70rem;
    margin-left: max(50% - 70rem, 4rem);
  }
}
.concept__text {
  margin: calc(18 / var(--spSize) * 100vw) calc(20 / var(--spSize) * 100vw) 0;
  font-size: 1.5rem;
  font-family: var(--ff-Zen);
}
@media (768px <= width) {
  .concept__text {
    margin: 2rem 6rem 0;
    font-size: 1.8rem;
  }
}
@media (1024px <= width) {
  .concept__text {
    width: 70rem;
    margin-left: max(50% - 68rem, 6rem);
  }
}

.feelings,
.dedication {
  padding-top: calc(10 / var(--spSize) * 100vw);
  padding-bottom: calc(60 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .feelings,
  .dedication {
    padding-top: 2.5rem;
    padding-bottom: 12rem;
  }
}
@media (1024px <= width) {
  .feelings:is(.feelings),
  .dedication:is(.feelings) {
    padding-top: 20.6rem;
    margin-left: max(50% - 39rem, 28.6rem);
  }
}
@media (1280px <= width) {
  .feelings:is(.feelings),
  .dedication:is(.feelings) {
    padding-top: 41.3rem;
  }
}
.feelings:is(.dedication),
.dedication:is(.dedication) {
  position: relative;
}
.feelings:is(.dedication)::before,
.dedication:is(.dedication)::before {
  content: "";
  background: url(../images/brand/bg_line_sp.webp) center/contain no-repeat;
  width: 100%;
  height: calc(202 / var(--spSize) * 100vw);
  position: absolute;
  top: calc(-37 / var(--spSize) * 100vw);
  left: 0;
  pointer-events: none;
  opacity: 0.3;
}
@media (768px <= width) {
  .feelings:is(.dedication)::before,
  .dedication:is(.dedication)::before {
    background-image: -webkit-image-set(url(../images/brand/bg_line_md.webp) 1x, url(../images/brand/bg_line_md@2x.webp) 2x);
    background-image: image-set(url(../images/brand/bg_line_md.webp) 1x, url(../images/brand/bg_line_md@2x.webp) 2x);
    background-size: auto;
    background-position: top center;
    height: 348.38px;
    top: auto;
    bottom: 254px;
    opacity: 0.6;
  }
}
@media (1024px <= width) {
  .feelings:is(.dedication)::before,
  .dedication:is(.dedication)::before {
    background-image: -webkit-image-set(url(../images/brand/bg_line.webp) 1x, url(../images/brand/bg_line@2x.webp) 2x);
    background-image: image-set(url(../images/brand/bg_line.webp) 1x, url(../images/brand/bg_line@2x.webp) 2x);
    background-size: 1920px 721px;
    width: 100%;
    height: 721px;
    bottom: 335px;
    opacity: 1;
  }
}
@media (1280px <= width) {
  .feelings:is(.dedication),
  .dedication:is(.dedication) {
    padding-top: 6rem;
  }
}
@media (1280px <= width) {
  .feelings__title,
  .dedication__title {
    max-width: 144rem;
    margin-left: max(50% - 70rem, 3.6rem);
    margin-right: max(50% - 70rem, 3.6rem);
  }
}
.feelings__body,
.dedication__body {
  margin: calc(18 / var(--spSize) * 100vw) calc(20 / var(--spSize) * 100vw) 0;
  font-size: 1.5rem;
  font-family: var(--ff-Zen);
}
@media (768px <= width) {
  .feelings__body,
  .dedication__body {
    margin: 2rem calc(28.359375% + 5rem) 0 6rem;
    font-size: 1.8rem;
  }
}
@media (1280px <= width) {
  .feelings__body,
  .dedication__body {
    max-width: 136rem;
    margin-left: max(50% - 68rem, 6rem);
    margin-right: max(50% - 68rem, 6rem);
  }
}

.conclusion {
  padding: calc(100 / var(--spSize) * 100vw) calc(20 / var(--spSize) * 100vw);
  position: relative;
  overflow: hidden;
}
.conclusion::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../images/brand/conclusion_bg_sp.webp) center/cover no-repeat;
  transform: scale(1.1);
  transition: 5s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@media (768px <= width) {
  .conclusion::before {
    background-image: -webkit-image-set(url(../images/brand/conclusion_bg_md.webp) 1x, url(../images/brand/conclusion_bg_md@2x.webp) 2x);
    background-image: image-set(url(../images/brand/conclusion_bg_md.webp) 1x, url(../images/brand/conclusion_bg_md@2x.webp) 2x);
  }
}
@media (1024px <= width) {
  .conclusion::before {
    background-image: -webkit-image-set(url(../images/brand/conclusion_bg.webp) 1x, url(../images/brand/conclusion_bg@2x.webp) 2x);
    background-image: image-set(url(../images/brand/conclusion_bg.webp) 1x, url(../images/brand/conclusion_bg@2x.webp) 2x);
  }
}
.conclusion.is-animeted::before {
  transform: scale(1);
}
@media (768px <= width) {
  .conclusion {
    padding: 13.4rem 0;
  }
}
@media (1024px <= width) {
  .conclusion {
    padding: 16rem 0;
  }
}
.conclusion__inner {
  text-align: center;
  position: relative;
}
.conclusion__logo img {
  width: calc(174 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .conclusion__logo img {
    width: 20.8rem;
  }
}
.conclusion__copy {
  font-size: 2.4rem;
  font-family: var(--ff-Zen);
  line-height: 1.8333;
  color: #fff;
  margin-top: calc(40 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .conclusion__copy {
    font-size: 2.8rem;
    line-height: 1.8571;
    margin-top: 6rem;
  }
}
@media (1024px <= width) {
  .conclusion__copy br {
    display: none;
  }
}
.conclusion__text {
  font-size: 1.5rem;
  font-family: var(--ff-Zen);
  line-height: 2.1333;
  color: #fff;
  margin-top: calc(28 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .conclusion__text {
    font-size: 1.8rem;
    line-height: 2.2222;
    margin-top: 4rem;
  }
}

.about {
  position: relative;
  overflow: hidden;
  margin: calc(60 / var(--spSize) * 100vw) calc(20 / var(--spSize) * 100vw) calc(90 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .about {
    margin: 12rem 6rem 15.6rem;
  }
}
.about__inner a {
  color: #fff;
  padding: calc(25 / var(--spSize) * 100vw);
  align-items: center;
  aspect-ratio: 341/306;
  display: grid;
  grid-template-columns: auto max-content;
  position: relative;
  overflow: hidden;
}
.about__inner a .bg {
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(100% + 20px);
  height: calc(100% + 20px);
  transform: translate(-50%, -50%);
  overflow: hidden;
}
.about__inner a .bg img {
  width: 100%;
  height: 120%;
  -o-object-fit: cover;
     object-fit: cover;
  max-width: inherit;
}
@media (768px <= width) {
  .about__inner a {
    aspect-ratio: 714/400;
    padding: 8rem;
  }
}
@media (1024px <= width) {
  .about__inner a {
    max-width: 136rem;
    margin-left: auto;
    margin-right: auto;
    aspect-ratio: auto;
    height: 40rem;
  }
}
@media (hover: hover) and (width >= 768px) {
  .about__inner a .bg,
  .about__inner a .name,
  .about__inner a .icon_next {
    transition: all var(--speed) ease-in-out;
  }
  .about__inner a:hover .bg {
    width: 100%;
    height: 100%;
  }
  .about__inner a:hover .name {
    padding-left: 0.4rem;
  }
  .about__inner a:hover .icon_next {
    transform: translateX(0.4rem);
    background-color: rgba(255, 255, 255, 0.2);
    border-color: transparent;
  }
}
.about__inner a .name {
  position: relative;
  line-height: 1;
}
.about__inner a .name .en {
  font-size: 4.4rem;
  font-family: var(--ff-Garamond);
}
@media (768px <= width) {
  .about__inner a .name .en {
    font-size: 6.8rem;
  }
}
.about__inner a .name .jp {
  font-size: 1.5rem;
  font-family: var(--ff-Zen);
  line-height: 2.1333;
  margin-top: calc(10 / var(--spSize) * 100vw);
}
@media (768px <= width) {
  .about__inner a .name .jp {
    font-size: 1.8rem;
    margin-top: 1rem;
  }
}