@charset "UTF-8";
h1, h2, h3, h4, h5, h6, p, ul, li, ol, div, p {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

ul, li {
  list-style: none;
}

button {
  padding: 0;
  margin: 0;
  border: none;
  background: none;
  font: inherit;
  color: inherit;
  cursor: pointer;
  appearance: none;
}

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

img {
  max-width: 100%;
  vertical-align: middle;
}

header, main, footer {
  display: block;
  width: 100%;
}

html {
  font-size: 62.5%;
}

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

body {
  font-family: "Zen Old Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", serif;
  font-weight: 400;
  color: #000;
  width: 100%;
  padding: 0;
  margin: 0;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
}
body.is-menu-open, body.is-popup-open {
  overflow: hidden;
}

.page-wrapper {
  position: relative;
}

html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}

@media (prefers-reduced-motion: no-preference) {
  .js-fadein:not(.is-inview) {
    opacity: 0;
  }
  .js-fadein.is-inview {
    animation: fadein 1s cubic-bezier(0.22, 0.61, 0.36, 1) backwards;
  }
}
@keyframes fadein {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
}
.c-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: clamp(60px, 4.1667vw, 80px);
  background-color: #000;
  color: #fff;
  font-size: clamp(15px, 1.0417vw, 20px);
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .c-button:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .c-button {
    height: clamp(56px, 15.9091vw, 70px);
    font-size: clamp(13px, 3.4091vw, 15px);
  }
}
.c-button--pill {
  width: clamp(130px, 8.3333vw, 160px);
  height: clamp(34px, 2.1875vw, 42px);
  border: 1px solid #e6e5e5;
  border-radius: 999px;
  font-weight: 400;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .c-button--pill {
    width: clamp(104px, 27.2727vw, 120px);
    height: clamp(28px, 7.1591vw, 31.5px);
    border: none;
    font-size: clamp(13px, 3.4091vw, 15px);
  }
}

.c-title {
  text-align: center;
  font-weight: 500;
}
.c-title__en {
  display: block;
  font-size: clamp(40px, 3.125vw, 60px);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-title__en {
    font-size: clamp(30px, 8.1818vw, 36px);
    line-height: 1.25;
  }
}
.c-title__ja {
  display: block;
  margin-top: clamp(10px, 0.7813vw, 15px);
  font-size: clamp(15px, 1.0417vw, 20px);
  line-height: 1;
  color: #464646;
}
@media screen and (max-width: 767px) {
  .c-title__ja {
    margin-top: clamp(8.73px, 2.7273vw, 12px);
    font-size: clamp(13px, 3.4091vw, 15px);
  }
}
.c-title--page {
  padding-top: clamp(77.33px, 6.0417vw, 116px);
}
@media screen and (max-width: 767px) {
  .c-title--page {
    padding-top: clamp(50.91px, 15.9091vw, 70px);
  }
}
.c-title--small .c-title__en {
  font-size: clamp(28px, 1.875vw, 36px);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-title--small .c-title__en {
    font-size: clamp(30px, 8.1818vw, 36px);
  }
}
.c-title--small .c-title__ja {
  margin-top: clamp(12px, 0.9375vw, 18px);
  font-size: clamp(13px, 0.8333vw, 16px);
  color: #000;
}
@media screen and (max-width: 767px) {
  .c-title--small .c-title__ja {
    margin-top: clamp(11.64px, 3.6364vw, 16px);
    font-size: clamp(13px, 3.4091vw, 15px);
  }
}

.c-listen {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(1.33px, 0.1042vw, 2px);
  width: clamp(46.67px, 3.6458vw, 70px);
  height: clamp(46.67px, 3.6458vw, 70px);
  padding-top: clamp(7.33px, 0.5729vw, 11px);
  border-radius: 50%;
  background-color: #fff;
  color: #000;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .c-listen:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .c-listen {
    width: clamp(35.64px, 11.1364vw, 49px);
    height: clamp(35.64px, 11.1364vw, 49px);
    padding-top: clamp(5.82px, 1.8182vw, 8px);
    gap: clamp(1.82px, 0.5682vw, 2.5px);
  }
}
.c-listen__icon {
  width: clamp(23.33px, 1.8229vw, 35px);
  height: clamp(21.33px, 1.6667vw, 32px);
}
@media screen and (max-width: 767px) {
  .c-listen__icon {
    width: clamp(17.45px, 5.4545vw, 24px);
    height: clamp(16px, 5vw, 22px);
  }
}
.c-listen__text {
  font-size: clamp(9px, 0.625vw, 12px);
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-listen__text {
    font-size: clamp(7px, 1.8182vw, 8px);
  }
}

.c-song-title {
  display: flex;
  align-items: center;
  gap: clamp(13.33px, 1.0417vw, 20px);
  font-size: clamp(22px, 1.5625vw, 30px);
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-song-title {
    gap: clamp(7.27px, 2.2727vw, 10px);
    font-size: clamp(15px, 4.0909vw, 18px);
    line-height: 1.6666666667;
  }
}
.c-song-title::after {
  content: "";
  flex-shrink: 0;
  width: clamp(26.67px, 2.0833vw, 40px);
  border-top: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .c-song-title::after {
    width: clamp(17.45px, 5.4545vw, 24px);
  }
}

.c-pagetop {
  position: fixed;
  right: clamp(26.67px, 2.0833vw, 40px);
  bottom: clamp(40.67px, 3.1771vw, 61px);
  z-index: 90;
  width: clamp(40px, 3.125vw, 60px);
  height: clamp(40px, 3.125vw, 60px);
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.4s, visibility 0.4s;
}
@media screen and (max-width: 767px) {
  .c-pagetop {
    right: clamp(11.64px, 3.6364vw, 16px);
    bottom: clamp(14.55px, 4.5455vw, 20px);
    width: clamp(32px, 10vw, 44px);
    height: clamp(32px, 10vw, 44px);
  }
}
.c-pagetop.is-show {
  visibility: visible;
  opacity: 1;
}
@media (hover: hover) {
  .c-pagetop:hover {
    opacity: 0.7;
  }
}
.c-pagetop img {
  display: block;
  width: 100%;
  height: 100%;
}

.c-photo-list {
  display: flex;
  align-items: stretch;
  margin-top: clamp(86px, 6.7188vw, 129px);
  padding-bottom: clamp(101.33px, 7.9167vw, 152px);
}
@media screen and (max-width: 767px) {
  .c-photo-list {
    flex-direction: column;
    margin-top: clamp(36.36px, 11.3636vw, 50px);
    padding-bottom: clamp(43.64px, 13.6364vw, 60px);
  }
}
.c-photo-list__image {
  flex-shrink: 0;
  width: 50%;
  max-width: 960px;
}
@media screen and (max-width: 767px) {
  .c-photo-list__image {
    width: 100%;
    max-width: none;
  }
}
.c-photo-list__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 960/800;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .c-photo-list__image img {
    aspect-ratio: 440/367;
  }
}
.c-photo-list__body {
  position: relative;
  flex: 0 1 clamp(513.33px, 40.1042vw, 770px);
  margin-left: clamp(64px, 5vw, 96px);
}
@media screen and (max-width: 767px) {
  .c-photo-list__body {
    flex: none;
    margin-left: 0;
    padding: clamp(21.82px, 6.8182vw, 30px) clamp(14.55px, 4.5455vw, 20px) 0;
  }
}
.c-photo-list__scroll {
  position: absolute;
  inset: 0;
  padding-right: clamp(8.67px, 0.6771vw, 13px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
.c-photo-list__scroll:focus {
  outline: none;
}
.c-photo-list__scroll:focus-visible {
  outline: 1px solid #b8b8b8;
  outline-offset: 4px;
}
@supports not selector(::-webkit-scrollbar) {
  .c-photo-list__scroll {
    scrollbar-width: thin;
    scrollbar-color: #b8b8b8 #efeeee;
  }
}
.c-photo-list__scroll::-webkit-scrollbar {
  width: 4px;
}
.c-photo-list__scroll::-webkit-scrollbar-track {
  border-radius: 2px;
  background-color: #efeeee;
}
.c-photo-list__scroll::-webkit-scrollbar-thumb {
  border-radius: 2px;
  background-color: #b8b8b8;
}
@media screen and (max-width: 767px) {
  .c-photo-list__scroll {
    position: static;
    padding-right: 0;
    overflow: visible;
  }
}
.c-photo-list__item {
  padding: clamp(20.67px, 1.6146vw, 31px) clamp(20px, 1.5625vw, 30px) clamp(24px, 1.875vw, 36px);
  border-bottom: 1px solid #b8b8b8;
  font-size: clamp(16px, 1.0417vw, 20px);
  line-height: 1.5;
}
.c-photo-list__item:first-child {
  padding-top: 0;
}
@media screen and (max-width: 767px) {
  .c-photo-list__item {
    padding: clamp(17.45px, 5.4545vw, 24px) 0;
    font-size: clamp(13px, 3.4091vw, 15px);
  }
  .c-photo-list__item:first-child {
    padding-top: clamp(17.45px, 5.4545vw, 24px);
  }
}
.c-photo-list__date {
  display: block;
}

.c-gallery {
  width: min(clamp(832px, 65vw, 1248px), 100% - 80px);
  margin: clamp(86.67px, 6.7708vw, 130px) auto 0;
}
@media screen and (max-width: 767px) {
  .c-gallery {
    width: calc(100% - clamp(29.09px, 9.0909vw, 40px));
    margin-top: clamp(36.36px, 11.3636vw, 50px);
  }
}
.c-gallery__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(20px, 1.5625vw, 30px);
}
@media screen and (max-width: 767px) {
  .c-gallery__list {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(7.27px, 2.2727vw, 10px);
  }
}
.c-gallery--col4 .c-gallery__list {
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 767px) {
  .c-gallery--col4 .c-gallery__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
.c-gallery__button {
  display: block;
  width: 100%;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .c-gallery__button:hover {
    opacity: 0.7;
  }
}
.c-gallery__button img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  object-fit: cover;
}

.c-popup {
  max-width: none;
  max-height: none;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
}
.c-popup[open] {
  display: flex;
  align-items: center;
  justify-content: center;
  animation: c-popup-fade 0.3s ease;
}
.c-popup::backdrop {
  background-color: rgba(0, 0, 0, 0.85);
  animation: c-popup-fade 0.3s ease;
}
.c-popup__inner {
  position: relative;
}
.c-popup__image {
  display: block;
  transition: opacity 0.3s;
}
.c-popup__image.is-loading {
  opacity: 0;
}
.c-popup__image {
  width: auto;
  max-width: calc(100vw - clamp(106.67px, 8.3333vw, 160px));
  height: auto;
  max-height: min(clamp(573.33px, 44.7917vw, 860px), 100svh - clamp(146.67px, 11.4583vw, 220px));
}
@media screen and (max-width: 767px) {
  .c-popup__image {
    width: calc(100vw - clamp(29.09px, 9.0909vw, 40px));
    max-width: none;
    max-height: calc(100svh - clamp(116.36px, 36.3636vw, 160px));
    object-fit: contain;
  }
}
.c-popup__movie {
  width: min(100vw - clamp(106.67px, 8.3333vw, 160px), (100svh - clamp(146.67px, 11.4583vw, 220px)) * 16 / 9, clamp(853.33px, 66.6667vw, 1280px));
  aspect-ratio: 16/9;
  cursor: auto;
}
@media screen and (max-width: 767px) {
  .c-popup__movie {
    width: calc(100vw - clamp(29.09px, 9.0909vw, 40px));
  }
}
.c-popup__movie iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.c-popup__close {
  position: absolute;
  top: clamp(-8px, -0.4167vw, -5.33px);
  right: clamp(-64px, -3.3333vw, -42.67px);
  width: clamp(32px, 2.5vw, 48px);
  height: clamp(32px, 2.5vw, 48px);
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .c-popup__close:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .c-popup__close {
    top: clamp(-44px, -10vw, -32px);
    right: 0;
    width: clamp(23.27px, 7.2727vw, 32px);
    height: clamp(23.27px, 7.2727vw, 32px);
  }
}
.c-popup__close img {
  display: block;
  width: 100%;
  height: 100%;
}

@keyframes c-popup-fade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: clamp(80px, 6.25vw, 120px);
  background-color: transparent;
  transition: background-color 0.4s;
}
@media screen and (max-width: 767px) {
  .l-header {
    height: clamp(50.91px, 15.9091vw, 70px);
  }
}
.l-header.is-scrolled, .l-header--bg {
  background-color: #000;
}
.l-header__logo {
  position: absolute;
  top: 50%;
  left: clamp(33.33px, 2.6042vw, 50px);
  transform: translateY(-50%);
  color: #fff;
  font-size: clamp(32px, 2.5vw, 48px);
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .l-header__logo {
    left: clamp(13.09px, 4.0909vw, 18px);
    font-size: clamp(24px, 6.5455vw, 28.8px);
  }
}
.l-header__listen {
  position: absolute;
  top: clamp(16.67px, 1.3021vw, 25px);
  right: clamp(120px, 9.375vw, 180px);
}
@media screen and (max-width: 767px) {
  .l-header__listen {
    top: clamp(7.27px, 2.2727vw, 10px);
    right: clamp(69.09px, 21.5909vw, 95px);
  }
}
.l-header__hamburger {
  position: absolute;
  top: clamp(28px, 2.1875vw, 42px);
  right: clamp(32.67px, 2.5521vw, 49px);
  width: clamp(60px, 4.6875vw, 90px);
  height: clamp(25.33px, 1.9792vw, 38px);
}
@media screen and (max-width: 767px) {
  .l-header__hamburger {
    top: clamp(17.45px, 5.4545vw, 24px);
    right: clamp(13.82px, 4.3182vw, 19px);
    width: clamp(40px, 12.5vw, 55px);
    height: clamp(17.45px, 5.4545vw, 24px);
  }
}
.l-header__hamburger img {
  display: block;
  width: 100%;
  height: 100%;
}

.l-footer__main {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: clamp(110px, 7.8125vw, 150px);
  background-color: #000;
  color: #fff;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .l-footer__main {
    height: clamp(72.73px, 22.7273vw, 100px);
  }
}
@media screen and (max-width: 767px) {
  .l-footer__nav {
    display: none;
  }
}
.l-footer__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px clamp(26.67px, 2.0833vw, 40px);
  padding: 0 20px;
}
.l-footer__link {
  font-size: clamp(15px, 1.0417vw, 20px);
  line-height: 1;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .l-footer__link:hover {
    opacity: 0.7;
  }
}
.l-footer__logo {
  display: none;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-footer__logo {
    display: block;
  }
}
.l-footer__logo-main {
  display: block;
  font-size: clamp(20px, 5.4545vw, 24px);
  line-height: 1;
}
.l-footer__logo-sub {
  display: block;
  margin-top: clamp(4.36px, 1.3636vw, 6px);
  font-size: clamp(10px, 2.7273vw, 12px);
  line-height: 1;
}
.l-footer__copyright {
  display: flex;
  align-items: center;
  justify-content: center;
  height: clamp(40px, 2.6042vw, 50px);
  background-color: #f3f5f6;
  font-size: clamp(11px, 0.625vw, 12px);
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .l-footer__copyright {
    height: clamp(26px, 6.8182vw, 30px);
    font-size: clamp(8px, 2.0455vw, 9px);
  }
}
.l-footer__copyright small {
  font-size: inherit;
}

.l-menu {
  position: fixed;
  inset: 0;
  z-index: 200;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.4s, visibility 0.4s;
}
.l-menu.is-open {
  visibility: visible;
  opacity: 1;
}
.l-menu__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 767px) {
  .l-menu__overlay {
    display: none;
  }
}
.l-menu__panel {
  position: absolute;
  top: 0;
  right: 0;
  width: clamp(453.33px, 35.4167vw, 680px);
  max-width: 100%;
  height: 100%;
  color: #fff;
  transform: translateX(100%);
  transition: transform 0.4s;
}
.l-menu.is-open .l-menu__panel {
  transform: translateX(0);
}
@media screen and (max-width: 767px) {
  .l-menu__panel {
    width: 100%;
  }
}
.l-menu__scroll {
  position: relative;
  height: 100%;
  padding: clamp(86.67px, 6.7708vw, 130px) clamp(43.33px, 3.3854vw, 65px) clamp(40px, 3.125vw, 60px);
  overflow-y: auto;
  overscroll-behavior: contain;
}
@media screen and (max-width: 767px) {
  .l-menu__scroll {
    padding: clamp(80px, 25vw, 110px) clamp(21.82px, 6.8182vw, 30px) clamp(29.09px, 9.0909vw, 40px);
  }
}
.l-menu__bg {
  position: absolute;
  inset: 0;
}
.l-menu__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 42% center;
}
@media screen and (max-width: 767px) {
  .l-menu__bg img {
    object-position: 43.5% center;
  }
}
.l-menu__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.7);
}
.l-menu__listen {
  position: absolute;
  z-index: 1;
  top: clamp(16.67px, 1.3021vw, 25px);
  right: clamp(120px, 9.375vw, 180px);
}
@media screen and (max-width: 767px) {
  .l-menu__listen {
    top: clamp(7.27px, 2.2727vw, 10px);
    right: clamp(69.09px, 21.5909vw, 95px);
  }
}
.l-menu__close {
  position: absolute;
  z-index: 1;
  top: clamp(27.33px, 2.1354vw, 41px);
  right: clamp(49.33px, 3.8542vw, 74px);
  width: clamp(25.33px, 1.9792vw, 38px);
  height: clamp(24.67px, 1.9271vw, 37px);
}
@media screen and (max-width: 767px) {
  .l-menu__close {
    top: clamp(14.55px, 4.5455vw, 20px);
    right: clamp(22.91px, 7.1591vw, 31.5px);
    width: clamp(21.82px, 6.8182vw, 30px);
    height: clamp(21.82px, 6.8182vw, 30px);
  }
}
.l-menu__close img {
  display: block;
  width: 100%;
  height: 100%;
}
.l-menu__item + .l-menu__item {
  margin-top: clamp(25.33px, 1.9792vw, 38px);
}
@media screen and (max-width: 767px) {
  .l-menu__item + .l-menu__item {
    margin-top: clamp(14.55px, 4.5455vw, 20px);
  }
}
.l-menu__link {
  display: flex;
  align-items: center;
  padding: 0 clamp(13.33px, 1.0417vw, 20px) clamp(16.67px, 1.3021vw, 25px);
  border-bottom: 1px solid #fff;
  font-weight: 500;
  line-height: 1;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .l-menu__link:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .l-menu__link {
    align-items: flex-start;
    height: clamp(38px, 10vw, 44px);
    padding: clamp(2.91px, 0.9091vw, 4px) clamp(10.18px, 3.1818vw, 14px) 0;
    line-height: normal;
  }
}
.l-menu__en {
  font-size: clamp(22px, 1.5625vw, 30px);
}
@media screen and (max-width: 767px) {
  .l-menu__en {
    font-size: clamp(17px, 4.5455vw, 20px);
  }
}
.l-menu__ja {
  margin-left: clamp(10px, 0.7813vw, 15px);
  font-size: clamp(15px, 1.0417vw, 20px);
}
@media screen and (max-width: 767px) {
  .l-menu__ja {
    margin-left: clamp(7.27px, 2.2727vw, 10px);
    font-size: clamp(11px, 2.9545vw, 13px);
    line-height: 2.2307692308;
  }
}
.l-menu__link picture {
  display: flex;
  margin-left: auto;
}
.l-menu__arrow {
  width: clamp(13.33px, 1.0417vw, 20px);
  height: clamp(5.33px, 0.4167vw, 8px);
  transition: transform 0.3s;
}
@media screen and (min-width: 768px) and (hover: hover) {
  .l-menu__link:hover .l-menu__arrow {
    transform: translateX(clamp(5.33px, 0.4167vw, 8px));
  }
}
@media screen and (max-width: 767px) {
  .l-menu__arrow {
    width: clamp(11.64px, 3.6364vw, 16px);
    height: clamp(4.36px, 1.3636vw, 6px);
    margin-top: clamp(7.27px, 2.2727vw, 10px);
  }
}
.l-menu__logo {
  margin-top: clamp(29.33px, 2.2917vw, 44px);
  font-size: clamp(26.67px, 2.0833vw, 40px);
  font-weight: 500;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-menu__logo {
    margin-top: clamp(22.55px, 7.0455vw, 31px);
    font-size: clamp(20px, 5.4545vw, 24px);
    line-height: 1.25;
  }
}
.l-menu__sub {
  margin-top: clamp(8px, 0.625vw, 12px);
  font-size: clamp(14px, 0.9375vw, 18px);
  font-weight: 500;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .l-menu__sub {
    margin-top: clamp(2.91px, 0.9091vw, 4px);
    font-size: clamp(10px, 2.7273vw, 12px);
  }
}

.l-main--sub {
  padding-top: clamp(80px, 6.25vw, 120px);
}
@media screen and (max-width: 767px) {
  .l-main--sub {
    padding-top: clamp(50.91px, 15.9091vw, 70px);
  }
}

.p-home__inner {
  width: min(clamp(832px, 65vw, 1248px), 100% - 80px);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-home__inner {
    width: calc(100% - clamp(29.09px, 9.0909vw, 40px));
  }
}

.p-home-kv {
  position: relative;
  height: 100vh;
  height: 100svh;
  min-height: 600px;
  overflow: hidden;
  background-color: #000;
}
@media screen and (max-width: 767px) {
  .p-home-kv {
    min-height: 500px;
  }
}
.p-home-kv__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 2s;
  will-change: opacity;
}
.p-home-kv__slide.is-active {
  z-index: 1;
  opacity: 1;
}
.p-home-kv.is-loading .p-home-kv__slide {
  opacity: 0;
}
@media (prefers-reduced-motion: reduce) {
  .p-home-kv__slide {
    transition: none;
  }
}
.p-home-kv__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-home-kv__slide--01 .p-home-kv__img {
  object-position: center 42%;
}
@media screen and (max-width: 767px) {
  .p-home-kv__slide--01 .p-home-kv__img {
    object-position: 54% center;
  }
}
.p-home-kv__slide--02 .p-home-kv__img {
  object-position: center 20%;
}
@media screen and (max-width: 767px) {
  .p-home-kv__slide--02 .p-home-kv__img {
    object-position: 47% center;
  }
}
.p-home-kv__slide--03 .p-home-kv__img {
  object-position: center 43%;
}
@media screen and (max-width: 767px) {
  .p-home-kv__slide--03 .p-home-kv__img {
    object-position: 48% center;
  }
}
.p-home-kv__copy {
  position: absolute;
  top: 50%;
  left: clamp(82.67px, 6.4583vw, 124px);
  transform: translateY(-50%);
  color: #fff;
  font-size: clamp(30px, 2.3438vw, 45px);
  font-weight: 500;
  line-height: 2;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
}
@media screen and (max-width: 767px) {
  .p-home-kv__copy {
    top: 14.8%;
    left: clamp(39.27px, 12.2727vw, 54px);
    transform: none;
    font-size: clamp(26px, 7.6705vw, 33.75px);
    line-height: 1.7777777778;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
  }
}
@media screen and (max-width: 767px) {
  .p-home-kv__slide--02 .p-home-kv__copy, .p-home-kv__slide--03 .p-home-kv__copy {
    top: auto;
    bottom: 6.25%;
    left: clamp(14.55px, 4.5455vw, 20px);
  }
}
.p-home-kv__br-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-home-kv__br-sp {
    display: inline;
  }
}

.p-home-news {
  padding: clamp(61.33px, 4.7917vw, 92px) 0 clamp(66.67px, 5.2083vw, 100px);
  background-color: #f3f5f6;
}
@media screen and (max-width: 767px) {
  .p-home-news {
    padding: clamp(50.91px, 15.9091vw, 70px) 0;
  }
}
.p-home-news__inner {
  display: grid;
  grid-template-columns: clamp(130px, 8.3333vw, 160px) 1fr;
  grid-template-rows: 1fr auto auto 1fr;
  grid-template-areas: ". list" "title list" "button list" ". list";
  column-gap: clamp(36px, 2.8125vw, 54px);
}
@media screen and (max-width: 767px) {
  .p-home-news__inner {
    display: flex;
    flex-direction: column;
  }
}
.p-home-news__title {
  grid-area: title;
}
.p-home-news__list {
  grid-area: list;
}
@media screen and (max-width: 767px) {
  .p-home-news__list {
    margin-top: clamp(23.27px, 7.2727vw, 32px);
  }
}
.p-home-news__item {
  padding: 0 clamp(19.33px, 1.5104vw, 29px) clamp(17.33px, 1.3542vw, 26px);
  border-bottom: 1px solid #e6e5e5;
  font-size: clamp(16px, 1.0417vw, 20px);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-home-news__item {
    padding: 0 0 clamp(19.64px, 6.1364vw, 27px);
    font-size: clamp(13px, 3.4091vw, 15px);
  }
}
.p-home-news__item + .p-home-news__item {
  padding-top: clamp(14px, 1.0938vw, 21px);
}
@media screen and (max-width: 767px) {
  .p-home-news__item + .p-home-news__item {
    padding-top: clamp(16.73px, 5.2273vw, 23px);
  }
}
.p-home-news__date, .p-home-news__text {
  display: block;
}
.p-home-news__button {
  grid-area: button;
  margin-top: clamp(11.33px, 0.8854vw, 17px);
}
@media screen and (max-width: 767px) {
  .p-home-news__button {
    margin: clamp(29.09px, 9.0909vw, 40px) auto 0;
  }
}

.p-home-release {
  padding-top: clamp(76.67px, 5.9896vw, 115px);
}
@media screen and (max-width: 767px) {
  .p-home-release {
    padding-top: clamp(42.18px, 13.1818vw, 58px);
  }
}
.p-home-release__group {
  margin-top: clamp(65.33px, 5.1042vw, 98px);
}
@media screen and (max-width: 767px) {
  .p-home-release__group {
    margin-top: clamp(37.82px, 11.8182vw, 52px);
  }
}
.p-home-release__group--original {
  margin-top: clamp(84.67px, 6.6146vw, 127px);
  padding: clamp(84px, 6.5625vw, 126px) 0 clamp(87.33px, 6.8229vw, 131px);
  background-color: #f3f5f6;
}
@media screen and (max-width: 767px) {
  .p-home-release__group--original {
    margin-top: clamp(36.36px, 11.3636vw, 50px);
    padding: clamp(70.55px, 22.0455vw, 97px) 0 clamp(50.91px, 15.9091vw, 70px);
  }
}
.p-home-release__artist {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(32px, 2.5vw, 48px);
  font-size: clamp(26px, 1.875vw, 36px);
  font-weight: 700;
  line-height: 0.8333333333;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-home-release__artist {
    gap: clamp(14.55px, 4.5455vw, 20px);
    font-size: clamp(18px, 4.9091vw, 21.6px);
    line-height: 1.8518518519;
  }
}
.p-home-release__artist::before, .p-home-release__artist::after {
  content: "";
  flex-shrink: 0;
  width: clamp(66.67px, 5.2083vw, 100px);
  border-top: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .p-home-release__artist::before, .p-home-release__artist::after {
    width: clamp(36.36px, 11.3636vw, 50px);
  }
}
.p-home-release__br-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-home-release__br-sp {
    display: inline;
  }
}
.p-home-release__artist + * {
  margin-top: clamp(66.67px, 5.2083vw, 100px);
}
@media screen and (max-width: 767px) {
  .p-home-release__artist + * {
    margin-top: clamp(36.36px, 11.3636vw, 50px);
  }
}
.p-home-release__songs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(64px, 5vw, 96px);
  margin-top: clamp(62px, 4.8438vw, 93px);
}
@media screen and (max-width: 767px) {
  .p-home-release__songs {
    display: block;
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-home-release__songs .p-home-release__song {
    margin-top: clamp(48px, 15vw, 66px);
  }
}
.p-home-release__credit {
  margin-top: clamp(20px, 1.5625vw, 30px);
  font-size: clamp(15px, 0.9375vw, 18px);
  line-height: 1.6666666667;
}
@media screen and (max-width: 767px) {
  .p-home-release__credit {
    margin-top: clamp(16px, 5vw, 22px);
    font-size: clamp(13px, 3.4091vw, 15px);
    line-height: 2;
  }
}
.p-home-release__credit-row {
  display: flex;
  align-items: center;
  padding: clamp(9.33px, 0.7292vw, 14px) 0 clamp(10.67px, 0.8333vw, 16px);
  border-bottom: 1px solid #a6a5a5;
}
@media screen and (max-width: 767px) {
  .p-home-release__credit-row {
    padding: clamp(10.18px, 3.1818vw, 14px) 0 clamp(10.91px, 3.4091vw, 15px);
  }
}
.p-home-release__credit-label {
  flex-shrink: 0;
  width: clamp(180px, 12.6563vw, 243px);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-home-release__credit-label {
    width: clamp(125px, 32.9545vw, 145px);
  }
}
.p-home-release__credit-value {
  margin: 0 0 0 clamp(8.67px, 0.6771vw, 13px);
}
@media screen and (max-width: 767px) {
  .p-home-release__credit-value {
    margin-left: clamp(23.27px, 7.2727vw, 32px);
  }
}
.p-home-release__movie {
  position: relative;
  display: block;
  margin-top: clamp(33.33px, 2.6042vw, 50px);
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .p-home-release__movie:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 767px) {
  .p-home-release__movie {
    margin-top: clamp(35.64px, 11.1364vw, 49px);
  }
}
.p-home-release__movie--large {
  max-width: clamp(620px, 48.4375vw, 930px);
  margin: clamp(46.67px, 3.6458vw, 70px) auto 0;
}
@media screen and (max-width: 767px) {
  .p-home-release__movie--large {
    max-width: none;
    margin-top: clamp(35.64px, 11.1364vw, 49px);
  }
}
.p-home-release__thumb {
  display: block;
  width: 100%;
  height: auto;
}
.p-home-release__play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(40px, 3.125vw, 60px);
  height: auto;
  transform: translate(-50%, -50%);
}
.p-home-release__movie--large .p-home-release__play {
  width: clamp(53.33px, 4.1667vw, 80px);
}
@media screen and (max-width: 767px) {
  .p-home-release__play {
    width: clamp(32.73px, 10.2273vw, 45px) !important;
  }
}
.p-home-release__lyrics {
  display: flex;
  align-items: center;
  justify-content: center;
  width: clamp(180px, 11.4583vw, 220px);
  height: clamp(44px, 2.7083vw, 52px);
  margin: clamp(21.33px, 1.6667vw, 32px) auto 0;
  border: 1px solid #24231f;
  background-color: #fff;
  color: #24231f;
  font-size: clamp(14px, 0.8333vw, 16px);
  font-weight: 500;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .p-home-release__lyrics:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .p-home-release__lyrics {
    width: clamp(140px, 36.3636vw, 160px);
    height: clamp(36px, 9.0909vw, 40px);
    margin-top: clamp(11.64px, 3.6364vw, 16px);
    font-size: clamp(12px, 2.9545vw, 13px);
  }
}
.p-home-release__buttons {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(26.67px, 2.0833vw, 40px);
  margin-top: clamp(66.67px, 5.2083vw, 100px);
}
@media screen and (max-width: 767px) {
  .p-home-release__buttons {
    gap: clamp(14.55px, 4.5455vw, 20px);
    margin-top: clamp(36.36px, 11.3636vw, 50px);
  }
}
.p-home-release__buttons .c-button {
  max-width: clamp(420px, 30vw, 576px);
}
@media screen and (max-width: 767px) {
  .p-home-release__buttons .c-button {
    max-width: clamp(218.18px, 68.1818vw, 300px);
  }
}

.p-home-thoughts {
  position: relative;
  padding-bottom: clamp(106.67px, 8.3333vw, 160px);
}
@media screen and (max-width: 767px) {
  .p-home-thoughts {
    padding-bottom: clamp(50.91px, 15.9091vw, 70px);
  }
}
.p-home-thoughts__bg {
  position: absolute;
  inset: 0;
}
.p-home-thoughts__bg-inner {
  position: sticky;
  top: clamp(80px, 6.25vw, 120px);
  height: calc(100vh - clamp(80px, 6.25vw, 120px));
  overflow: hidden;
  will-change: transform;
}
@media screen and (max-width: 767px) {
  .p-home-thoughts__bg-inner {
    top: clamp(50.91px, 15.9091vw, 70px);
    height: calc(100vh - clamp(50.91px, 15.9091vw, 70px));
  }
}
.p-home-thoughts__bg-inner::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.6);
}
.p-home-thoughts__sky, .p-home-thoughts__clouds {
  position: absolute;
  will-change: transform;
}
.p-home-thoughts__sky {
  top: 0;
  left: 0;
  width: 100%;
  height: 110%;
  transform: translate3d(0, calc(var(--thoughts-progress, 0) * -9%), 0);
}
.p-home-thoughts__sky img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-home-thoughts__clouds {
  z-index: 1;
  top: 0;
  left: -10%;
  width: 120%;
}
@media screen and (max-width: 767px) {
  .p-home-thoughts__clouds {
    left: -100%;
    width: 300%;
  }
}
.p-home-thoughts__clouds img {
  width: 100%;
  height: auto;
  scale: -1 1;
  animation: p-home-thoughts-drift 40s ease-in-out infinite alternate;
}
.p-home-thoughts__clouds--far {
  left: -35%;
  width: 170%;
  opacity: 0.5;
  filter: blur(2px);
  transform: translate3d(0, calc(10% - var(--thoughts-progress, 0) * 30%), 0);
}
@media screen and (max-width: 767px) {
  .p-home-thoughts__clouds--far {
    left: -150%;
    width: 400%;
  }
}
.p-home-thoughts__clouds--far img {
  animation-duration: 60s;
  animation-direction: alternate-reverse;
}
.p-home-thoughts__clouds--near {
  opacity: 0.85;
  transform: translate3d(0, calc(25% - var(--thoughts-progress, 0) * 60%), 0);
}
@media (prefers-reduced-motion: reduce) {
  .p-home-thoughts__clouds img {
    animation: none;
  }
}
.p-home-thoughts__inner {
  position: relative;
  padding-top: clamp(80px, 6.25vw, 120px);
}
@media screen and (max-width: 767px) {
  .p-home-thoughts__inner {
    padding-top: clamp(50.91px, 15.9091vw, 70px);
  }
}
.p-home-thoughts__song {
  margin-top: clamp(42px, 3.2813vw, 63px);
}
@media screen and (max-width: 767px) {
  .p-home-thoughts__song {
    margin-top: clamp(29.09px, 9.0909vw, 40px);
  }
}
.p-home-thoughts__song + .p-home-thoughts__song {
  margin-top: clamp(53.33px, 4.1667vw, 80px);
}
@media screen and (max-width: 767px) {
  .p-home-thoughts__song + .p-home-thoughts__song {
    margin-top: clamp(58.18px, 18.1818vw, 80px);
  }
}
.p-home-thoughts__body {
  margin-top: clamp(26.67px, 2.0833vw, 40px);
  font-size: clamp(16px, 1.0417vw, 20px);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-home-thoughts__body {
    margin-top: clamp(4.36px, 1.3636vw, 6px);
    font-size: clamp(13px, 3.4091vw, 15px);
  }
}
.p-home-thoughts__body p + p {
  margin-top: 1.5em;
}

@keyframes p-home-thoughts-drift {
  0% {
    translate: -4% 0;
  }
  50% {
    translate: 0 -1.5%;
  }
  100% {
    translate: 4% 0;
  }
}
.p-home-gallery {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  margin-top: clamp(86.67px, 6.7708vw, 130px);
  padding-bottom: clamp(93.33px, 7.2917vw, 140px);
}
@media screen and (max-width: 767px) {
  .p-home-gallery {
    flex-direction: column;
    margin-top: clamp(42.18px, 13.1818vw, 58px);
    padding-bottom: clamp(72.73px, 22.7273vw, 100px);
  }
}
.p-home-gallery__content {
  flex: 1;
  padding: 0 clamp(26.67px, 2.0833vw, 40px);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-home-gallery__content {
    width: 100%;
    padding: 0 clamp(14.55px, 4.5455vw, 20px);
  }
}
.p-home-gallery__text {
  margin-top: clamp(43.33px, 3.3854vw, 65px);
  font-size: clamp(16px, 1.0417vw, 20px);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-home-gallery__text {
    margin-top: clamp(21.82px, 6.8182vw, 30px);
    font-size: clamp(13px, 3.4091vw, 15px);
    text-align: left;
  }
}
.p-home-gallery__buttons {
  display: flex;
  justify-content: center;
  gap: clamp(13.33px, 1.0417vw, 20px);
  margin-top: clamp(44px, 3.4375vw, 66px);
}
@media screen and (max-width: 767px) {
  .p-home-gallery__buttons {
    flex-direction: column;
    align-items: center;
    gap: clamp(14.55px, 4.5455vw, 20px);
    margin-top: clamp(29.09px, 9.0909vw, 40px);
  }
}
.p-home-gallery__buttons .c-button {
  flex: 0 1 clamp(233.33px, 18.2292vw, 350px);
}
@media screen and (max-width: 767px) {
  .p-home-gallery__buttons .c-button {
    flex: none;
    max-width: clamp(218.18px, 68.1818vw, 300px);
  }
}
.p-home-gallery__image {
  flex-shrink: 0;
  width: 50%;
  max-width: 960px;
}
@media screen and (max-width: 767px) {
  .p-home-gallery__image {
    width: 100%;
    max-width: none;
    margin-top: clamp(36.36px, 11.3636vw, 50px);
  }
}
.p-home-gallery__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 960/800;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-home-gallery__image img {
    aspect-ratio: 440/366.67;
  }
}

.p-home-lyrics {
  max-width: none;
  max-height: none;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
}
.p-home-lyrics[open] {
  display: flex;
  align-items: center;
  justify-content: center;
  animation: c-popup-fade 0.3s ease;
}
.p-home-lyrics::backdrop {
  background-color: rgba(0, 0, 0, 0.85);
  animation: c-popup-fade 0.3s ease;
}
.p-home-lyrics__panel {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(16px, 1.25vw, 24px);
  width: clamp(600px, 39.5833vw, 760px);
  height: min(clamp(572.67px, 44.7396vw, 859px), 100svh - clamp(53.33px, 4.1667vw, 80px));
  padding: clamp(37.33px, 2.9167vw, 56px) clamp(40px, 3.125vw, 60px);
  background-color: #fff;
  color: #24231f;
  cursor: auto;
}
.p-home-lyrics__panel:focus {
  outline: none;
}
@media screen and (max-width: 767px) {
  .p-home-lyrics__panel {
    gap: clamp(13.09px, 4.0909vw, 18px);
    width: calc(100vw - clamp(29.09px, 9.0909vw, 40px));
    height: min(clamp(540.36px, 168.8636vw, 743px), 100svh - clamp(58.18px, 18.1818vw, 80px));
    padding: clamp(29.09px, 9.0909vw, 40px) clamp(17.45px, 5.4545vw, 24px);
  }
}
.p-home-lyrics__head {
  flex-shrink: 0;
  width: 100%;
  text-align: center;
}
.p-home-lyrics__head::after {
  content: "";
  display: block;
  width: 60px;
  height: 1px;
  margin: clamp(16px, 1.25vw, 24px) auto 0;
  background-color: #24231f;
}
@media screen and (max-width: 767px) {
  .p-home-lyrics__head::after {
    margin-top: clamp(13.09px, 4.0909vw, 18px);
  }
}
.p-home-lyrics__title {
  font-size: clamp(20px, 1.3542vw, 26px);
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-home-lyrics__title {
    font-size: clamp(16px, 4.0909vw, 18px);
  }
}
.p-home-lyrics__artist {
  margin-top: clamp(5.33px, 0.4167vw, 8px);
  color: #73706b;
  font-size: clamp(13px, 0.7813vw, 15px);
}
@media screen and (max-width: 767px) {
  .p-home-lyrics__artist {
    margin-top: clamp(4.36px, 1.3636vw, 6px);
    font-size: clamp(11px, 2.7273vw, 12px);
  }
}
.p-home-lyrics__body {
  flex: 1;
  min-height: 0;
  width: 100%;
  overflow-y: auto;
  overscroll-behavior: contain;
  font-size: clamp(14px, 0.8333vw, 16px);
  line-height: 2.125;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-home-lyrics__body {
    font-size: clamp(13px, 3.1818vw, 14px);
    line-height: 2;
  }
}
.p-home-lyrics__body p + p {
  margin-top: 2.125em;
}
@media screen and (max-width: 767px) {
  .p-home-lyrics__body p + p {
    margin-top: 2em;
  }
}
.p-home-lyrics__close {
  position: absolute;
  top: clamp(10.67px, 0.8333vw, 16px);
  right: clamp(10.67px, 0.8333vw, 16px);
  width: clamp(28px, 1.6667vw, 32px);
  height: clamp(28px, 1.6667vw, 32px);
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .p-home-lyrics__close:hover {
    opacity: 0.6;
  }
}
@media screen and (max-width: 767px) {
  .p-home-lyrics__close {
    top: clamp(11.64px, 3.6364vw, 16px);
    right: clamp(11.64px, 3.6364vw, 16px);
    width: clamp(20.36px, 6.3636vw, 28px);
    height: clamp(20.36px, 6.3636vw, 28px);
  }
}
.p-home-lyrics__close img {
  display: block;
  width: 100%;
  height: 100%;
}

.p-gallery__button {
  display: flex;
  justify-content: center;
  margin-top: clamp(66.67px, 5.2083vw, 100px);
  padding-bottom: clamp(100px, 7.8125vw, 150px);
}
@media screen and (max-width: 767px) {
  .p-gallery__button {
    margin-top: clamp(36.36px, 11.3636vw, 50px);
    padding-bottom: clamp(50.91px, 15.9091vw, 70px);
  }
}
.p-gallery__button .c-button {
  width: clamp(260px, 18.2292vw, 350px);
}
@media screen and (max-width: 767px) {
  .p-gallery__button .c-button {
    width: clamp(218.18px, 68.1818vw, 300px);
  }
}

.p-archive {
  padding-bottom: clamp(100px, 7.8125vw, 150px);
}
@media screen and (max-width: 767px) {
  .p-archive {
    padding-bottom: clamp(50.91px, 15.9091vw, 70px);
  }
}

.p-profile__inner {
  width: min(clamp(832px, 65vw, 1248px), 100% - 80px);
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-profile__inner {
    width: calc(100% - clamp(29.09px, 9.0909vw, 40px));
  }
}
.p-profile__vline {
  display: block;
  width: 2px;
  height: clamp(26.67px, 2.0833vw, 40px);
  margin: 0 auto;
  background-color: #686868;
}
@media screen and (max-width: 767px) {
  .p-profile__vline {
    height: clamp(21.82px, 6.8182vw, 30px);
  }
}
.p-profile__br-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-profile__br-sp {
    display: inline;
  }
}
.p-profile__text {
  font-size: clamp(16px, 1.0417vw, 20px);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-profile__text {
    font-size: clamp(13px, 3.4091vw, 15px);
  }
}
.p-profile__text p + p {
  margin-top: 1.5em;
}

.p-profile-kv {
  display: flex;
  margin-top: clamp(80.67px, 6.3021vw, 121px);
}
@media screen and (max-width: 767px) {
  .p-profile-kv {
    margin-top: clamp(36.36px, 11.3636vw, 50px);
  }
}
.p-profile-kv__copy {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: clamp(224px, 17.5vw, 336px);
  font-size: clamp(22px, 1.5625vw, 30px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.4666666667em;
  writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .p-profile-kv__copy {
    justify-content: flex-start;
    width: clamp(43.64px, 13.6364vw, 60px);
    font-size: clamp(15px, 4.0909vw, 18px);
    line-height: 1.3333333333;
    letter-spacing: 0.3333333333em;
  }
}
.p-profile-kv__image {
  flex: 1;
}
.p-profile-kv__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1584/800;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-profile-kv__image img {
    aspect-ratio: 380/440;
  }
}

.p-profile-intro {
  padding: clamp(86.67px, 6.7708vw, 130px) 0 clamp(84px, 6.5625vw, 126px);
}
@media screen and (max-width: 767px) {
  .p-profile-intro {
    padding: clamp(43.64px, 13.6364vw, 60px) 0 clamp(50.91px, 15.9091vw, 70px);
  }
}
.p-profile-intro__heading {
  margin-top: clamp(31.33px, 2.4479vw, 47px);
  font-size: clamp(22px, 1.5625vw, 30px);
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-profile-intro__heading {
    margin-top: clamp(17.45px, 5.4545vw, 24px);
    font-size: clamp(17px, 4.5455vw, 20px);
    line-height: 1.5;
  }
}
.p-profile-intro__lead {
  margin-top: clamp(29.33px, 2.2917vw, 44px);
  font-size: clamp(16px, 1.0417vw, 20px);
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-profile-intro__lead {
    margin-top: clamp(17.45px, 5.4545vw, 24px);
    font-size: clamp(13px, 3.4091vw, 15px);
  }
}
.p-profile-intro__block {
  width: clamp(600px, 40vw, 768px);
  max-width: 100%;
  margin-top: clamp(65.33px, 5.1042vw, 98px);
}
@media screen and (max-width: 767px) {
  .p-profile-intro__block {
    width: 100%;
    margin-top: clamp(39.27px, 12.2727vw, 54px);
  }
}
.p-profile-intro__block + .p-profile-intro__block {
  margin-top: clamp(62.67px, 4.8958vw, 94px);
}
@media screen and (max-width: 767px) {
  .p-profile-intro__block + .p-profile-intro__block {
    margin-top: clamp(46.55px, 14.5455vw, 64px);
  }
}
.p-profile-intro__block--right {
  margin-left: auto;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-profile-intro__block--right {
    text-align: left;
  }
}
.p-profile-intro__num {
  display: flex;
  align-items: center;
  gap: clamp(13.33px, 1.0417vw, 20px);
  font-size: clamp(30px, 2.0833vw, 40px);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-profile-intro__num {
    gap: clamp(11.64px, 3.6364vw, 16px);
    font-size: clamp(24px, 6.3636vw, 28px);
  }
}
.p-profile-intro__num::after {
  content: "";
  flex: 1;
  border-top: 1px solid #b8b8b8;
}
.p-profile-intro__block--right .p-profile-intro__num {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .p-profile-intro__block--right .p-profile-intro__num {
    flex-direction: row;
  }
}
.p-profile-intro .p-profile__text {
  margin-top: clamp(24px, 1.875vw, 36px);
}
@media screen and (max-width: 767px) {
  .p-profile-intro .p-profile__text {
    margin-top: clamp(14.55px, 4.5455vw, 20px);
  }
}

.p-profile-message {
  padding: clamp(74.67px, 5.8333vw, 112px) clamp(26.67px, 2.0833vw, 40px) clamp(84px, 6.5625vw, 126px);
  background-color: #000;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-profile-message {
    padding: clamp(50.91px, 15.9091vw, 70px) clamp(14.55px, 4.5455vw, 20px);
  }
}
.p-profile-message__heading {
  font-size: clamp(22px, 1.5625vw, 30px);
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .p-profile-message__heading {
    font-size: clamp(17px, 4.5455vw, 20px);
    line-height: 1.5;
  }
}
.p-profile-message__text {
  margin-top: clamp(12.67px, 0.9896vw, 19px);
  font-size: clamp(16px, 1.0417vw, 20px);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-profile-message__text {
    margin-top: clamp(17.45px, 5.4545vw, 24px);
    font-size: clamp(13px, 3.4091vw, 15px);
  }
}
.p-profile-message__sign {
  margin-top: clamp(18.67px, 1.4583vw, 28px);
  font-size: clamp(16px, 1.0417vw, 20px);
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-profile-message__sign {
    margin-top: clamp(17.45px, 5.4545vw, 24px);
    font-size: clamp(13px, 3.4091vw, 15px);
  }
}

.p-profile-member {
  padding-top: clamp(78.67px, 6.1458vw, 118px);
}
@media screen and (max-width: 767px) {
  .p-profile-member {
    padding-top: clamp(50.91px, 15.9091vw, 70px);
  }
}
.p-profile-member__list {
  margin-top: clamp(68px, 5.3125vw, 102px);
}
@media screen and (max-width: 767px) {
  .p-profile-member__list {
    margin-top: clamp(36.36px, 11.3636vw, 50px);
  }
}
.p-profile-member__item {
  scroll-margin-top: calc(clamp(80px, 6.25vw, 120px) + clamp(26.67px, 2.0833vw, 40px));
}
@media screen and (max-width: 767px) {
  .p-profile-member__item {
    scroll-margin-top: calc(clamp(50.91px, 15.9091vw, 70px) + clamp(21.82px, 6.8182vw, 30px));
  }
}
.p-profile-member__item + .p-profile-member__item {
  margin-top: clamp(65.33px, 5.1042vw, 98px);
}
@media screen and (max-width: 767px) {
  .p-profile-member__item + .p-profile-member__item {
    margin-top: clamp(43.64px, 13.6364vw, 60px);
  }
}
.p-profile-member__head {
  padding-bottom: clamp(32px, 2.5vw, 48px);
  border-bottom: 1px solid #b8b8b8;
}
@media screen and (max-width: 767px) {
  .p-profile-member__head {
    padding-bottom: clamp(11.64px, 3.6364vw, 16px);
  }
}
.p-profile-member__role, .p-profile-member__kana {
  font-size: clamp(15px, 1.0417vw, 20px);
  line-height: 1;
  color: #464646;
}
@media screen and (max-width: 767px) {
  .p-profile-member__role, .p-profile-member__kana {
    font-size: clamp(11px, 2.9545vw, 13px);
  }
}
.p-profile-member__name {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: clamp(6.67px, 0.5208vw, 10px) clamp(20px, 1.5625vw, 30px);
  margin-top: clamp(13.33px, 1.0417vw, 20px);
}
@media screen and (max-width: 767px) {
  .p-profile-member__name {
    flex-direction: column;
    gap: clamp(5.82px, 1.8182vw, 8px);
    margin-top: clamp(5.82px, 1.8182vw, 8px);
  }
}
.p-profile-member__name-en {
  font-size: clamp(36px, 2.6042vw, 50px);
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-profile-member__name-en {
    font-size: clamp(24px, 6.3636vw, 28px);
    line-height: 1.2142857143;
  }
}
.p-profile-member__body {
  display: flex;
  gap: clamp(49.33px, 3.8542vw, 74px);
  margin-top: clamp(33.33px, 2.6042vw, 50px);
}
@media screen and (max-width: 767px) {
  .p-profile-member__body {
    flex-direction: column;
    gap: clamp(17.45px, 5.4545vw, 24px);
    margin-top: clamp(21.82px, 6.8182vw, 30px);
  }
}
.p-profile-member__image {
  flex-shrink: 0;
  width: clamp(400px, 28.6458vw, 550px);
}
@media screen and (max-width: 767px) {
  .p-profile-member__image {
    width: 100%;
  }
}
.p-profile-member__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  object-fit: cover;
}
.p-profile-member .p-profile__text {
  flex: 1;
  max-width: clamp(480px, 32.5vw, 624px);
}
@media screen and (max-width: 767px) {
  .p-profile-member .p-profile__text {
    max-width: none;
  }
}

.p-profile-links {
  padding: clamp(86.67px, 6.7708vw, 130px) 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-profile-links {
    padding: clamp(43.64px, 13.6364vw, 60px) 0 clamp(50.91px, 15.9091vw, 70px);
  }
}
.p-profile-links__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(6.67px, 0.5208vw, 10px) clamp(40px, 3.125vw, 60px);
  margin-top: clamp(30px, 2.3438vw, 45px);
}
@media screen and (max-width: 767px) {
  .p-profile-links__list {
    gap: clamp(7.27px, 2.2727vw, 10px) clamp(26.18px, 8.1818vw, 36px);
    margin-top: clamp(21.82px, 6.8182vw, 30px);
  }
}
.p-profile-links__link {
  font-size: clamp(22px, 1.5625vw, 30px);
  line-height: 1;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  .p-profile-links__link:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  .p-profile-links__link {
    font-size: clamp(15px, 4.0909vw, 18px);
  }
}

/*# sourceMappingURL=style.css.map */
