@charset "UTF-8";
/* ------------------------------------

colors setting

------------------------------------ */
/* ------------------------------------

colors setting の変数ではなく
下記の左側の変数をcssで指定する

×：$black
◯：$dark-text

------------------------------------ */
/*  text-color
*----------------------------------- */
/*  background-color
*----------------------------------- */
/*  border-color
*----------------------------------- */
/*  system-color
*----------------------------------- */
/*  cv
*----------------------------------- */
/*  footer
*----------------------------------- */
/*  menu
*----------------------------------- */
/*  new icon
*----------------------------------- */
/*  horizontal
*----------------------------------- */
/*  slick-color
*----------------------------------- */
.en {
  font-family: montserrat, sans-serif;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1;
}

.en02 {
  font-family: montserrat, sans-serif;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1;
}

.yakuhan {
  font-family: "YakuHanJP", source-han-sans-japanese, sans-serif;
}

/* ------------------------------------

cmn

------------------------------------ */
.page-top .p-header {
  text-align: center;
  margin: 0 auto 20px;
}
.page-top .p-header__title {
  font-size: 47px;
  line-height: 1;
  color: #E10416;
}
.page-top .p-header__subtitle {
  font-size: 16px;
  margin-top: 4px;
}
.page-top .p-header__text {
  font-size: 15px;
  margin-top: 10px;
}

.page-top .l-main {
  padding-bottom: 0;
}

.page-top {
  /* 1440px を 1.0 とする基準スケール */
  --mv-scale: calc(100vw / 1440);
  --mv-scale-unitless: calc(100vw / 1440px);
  --mv-vw: 1vw;
  /* mv.png 2880×1990 — PCヒーロー高さ（100vh/dvh 不使用・幅連動で下余白の伸縮を防ぐ） */
  --mv-flow-height: calc(100vw * 1990 / 2880);
}
@media print, screen and (min-width: 761px) {
  .page-top {
    /* mv.png / bg_text.png 共通の配置（PCのみ・縦幅は % でビューポート高に連動） */
    --mv-art-width: 106.7%;
    --mv-art-height: 106.7%;
    --mv-art-top: 44.4%;
    --mv-art-left: 48.27%;
    /* ティッカー：1440px 時の重なり（-1.65%）＋ contain 時の下余白補正（mv.png 2880×1990） */
    --mv-ticker-overlap: -1.65%;
    --mv-img-aspect: calc(2880 / 1990);
    --mv-ticker-bottom: calc(
      var(--mv-ticker-overlap) + max(0%, 50% * (1 - (100vw / 100dvh) / var(--mv-img-aspect)))
    );
  }
}
@media print, screen and (max-width: 760px) {
  .page-top {
    /* mv_sp.png 780×1466 — フロー内の画像高さ（.l-visual が確保） */
    --mv-sp-flow-height: calc(100vw * 1466 / 780);
    /* 固定MV＋ティッカー相当の旧オフセットから、上記を差し引いた分だけ .l-lead 上に空ける */
    --mv-sp-lead-gap: calc(195.7vw - var(--mv-sp-flow-height));
  }
}

/* ------------------------------------

l-〇〇

------------------------------------ */
.page-top .l-〇〇__container {
  width: 1200px;
  margin: 0 auto;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-〇〇__container {
    width: auto;
  }
}

/* ------------------------------------

topvisual

------------------------------------ */
/* drawer-overlay の transform 外に置き、ビューポートに対して固定（動画・bg_text はスクロールしても動かない） */
.page-top .l-visual__mv-media {
  position: fixed;
  z-index: 2;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  min-height: 100%;
  overflow: visible;
  pointer-events: none;
}
@media only screen and (hover: none) and (pointer: coarse) {
  .page-top .l-visual__mv-media {
    height: 100dvh;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__mv-media {
    top: 14vw;
    height: calc(100dvh - 14vw);
    min-height: calc(100dvh - 14vw);
  }
}
.page-top .l-visual__mv-media .l-visual__mv-stack {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 100%;
}
.page-top .l-visual__mv-media .l-visual__mv-video {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
}
.page-top .l-visual__mv-media .l-visual__mv-video::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background-color: rgba(11, 11, 11, 0.35);
  pointer-events: none;
}
.page-top .l-visual__mv-media .l-visual__mv-bg {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: #0B0B0B;
}
.page-top .l-visual__mv-media .l-visual__mv-video video {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center center;
}
.page-top .l-visual__mv-media .l-visual__mv-bg-text {
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: visible;
  /* PC：mv-overlay と同じ % 基準（100dvh）で固定配置 */
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__mv-media .l-visual__mv-bg-text {
    inset: auto;
    right: auto;
    bottom: auto;
    top: 0;
    left: 0;
    width: 100%;
    height: 100dvh;
    display: block;
  }
}
.page-top .l-visual__mv-media .l-visual__mv-bg-text__inner {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__mv-media .l-visual__mv-bg-text__inner {
    position: absolute;
    width: var(--mv-art-width);
    height: var(--mv-art-height);
    translate: -50% -50%;
    top: var(--mv-art-top);
    left: var(--mv-art-left);
  }
}
.page-top .l-visual__mv-media .l-visual__mv-bg-text__img {
  display: block;
  width: 100%;
  height: auto;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__mv-media .l-visual__mv-bg-text__img--pc {
    height: 100%;
    object-fit: contain;
  }
}
.page-top .l-visual__mv-media .l-visual__mv-bg-text__img--sp {
  display: none;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__mv-media .l-visual__mv-bg-text__img--sp {
    display: block;
    /* SP：bg_text_sp.png の縦位置（負の値で上へ） */
    transform: translateY(-14vw);
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__mv-media .l-visual__mv-bg-text__img--pc {
    display: none;
  }
}

/* 固定MV（z-index:2）が兄弟要素としてドロワー全体を覆わないよう、メイン〜フッターをヘッダー（1万台）より下・MVより上に */
.page-top .drawer-overlay {
  position: relative;
  z-index: 5000;
}

.page-top .l-visual {
  position: relative;
  width: 100vw;
  overflow: hidden;
}
.page-top .l-visual:first-of-type {
  overflow: visible;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual {
    height: 100dvh;
    min-height: 0;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual {
    height: auto;
    min-height: 0;
    overflow: visible;
  }
  .page-top .l-visual .section {
    height: auto;
    min-height: 0;
  }
}
.page-top .l-visual .section {
  width: 100vw;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual .section {
    height: 100%;
    min-height: 0;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual .section {
    height: auto;
    min-height: 0;
  }
}
.page-top .l-visual__catch {
  position: absolute;
  z-index: 100;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: calc(535px * var(--mv-scale-unitless));
  opacity: 0;
  transition: 0.3s;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__catch {
    width: 84.2vw;
    top: 45%;
  }
}
.page-top .l-visual__comment {
  position: absolute;
  z-index: 10;
  opacity: 0;
  transition: 0.3s;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__comment img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}
.page-top .l-visual__comment.comment01 {
  width: calc(91px * var(--mv-scale-unitless));
  top: 50%;
  left: 50%;
  translate: calc(-50% - 530px * var(--mv-scale-unitless)) calc(-50% - 60px * var(--mv-scale-unitless));
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__comment.comment01 {
    width: 20vw;
    height: 17.93dvh;
    translate: calc(-50% + 32vw) calc(-50% + 18dvh);
  }
}
.page-top .l-visual__comment.comment02 {
  width: calc(42px * var(--mv-scale-unitless));
  top: 50%;
  left: 50%;
  translate: calc(-50% - 405px * var(--mv-scale-unitless)) calc(-50% - 120px * var(--mv-scale-unitless));
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__comment.comment02 {
    display: none;
  }
}
.page-top .l-visual__comment.comment03 {
  width: calc(55px * var(--mv-scale-unitless));
  top: 50%;
  left: 50%;
  translate: calc(-50% + 410px * var(--mv-scale-unitless)) calc(-50% - 165px * var(--mv-scale-unitless));
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__comment.comment03 {
    width: 11.2vw;
    height: 21.64dvh;
    translate: calc(-50% + 32vw) calc(-50% - 29dvh);
  }
}
.page-top .l-visual__comment.comment04 {
  width: calc(43px * var(--mv-scale-unitless));
  top: 50%;
  left: 50%;
  translate: calc(-50% + 520px * var(--mv-scale-unitless)) calc(-50% - 90px * var(--mv-scale-unitless));
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__comment.comment04 {
    width: 9.5vw;
    height: 24.33dvh;
    translate: calc(-50% - 34vw) calc(-50% - 25dvh);
  }
}
.page-top .l-visual__comment.comment05 {
  width: calc(166px * var(--mv-scale-unitless));
  top: 50%;
  left: 50%;
  translate: calc(-50% - 450px * var(--mv-scale-unitless)) calc(-50% + 200px * var(--mv-scale-unitless));
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__comment.comment05 {
    width: 33.7vw;
    height: 19.19dvh;
    translate: -50% calc(-50% - 32dvh);
  }
}
.page-top .l-visual__comment.comment06 {
  width: calc(284px * var(--mv-scale-unitless));
  top: 50%;
  left: 50%;
  translate: calc(-50% - 170px * var(--mv-scale-unitless)) calc(-50% + 300px * var(--mv-scale-unitless));
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__comment.comment06 {
    width: 66.5vw;
    height: 7.93dvh;
    translate: calc(-50% - 2vw) calc(-50% + 35dvh);
  }
}
.page-top .l-visual__comment.comment07 {
  width: calc(353px * var(--mv-scale-unitless));
  top: 50%;
  left: 50%;
  translate: calc(-50% + 345px * var(--mv-scale-unitless)) calc(-50% + 265px * var(--mv-scale-unitless));
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__comment.comment07 {
    width: 53.6vw;
    height: 3.03dvh;
    translate: calc(-50% - 16vw) calc(-50% + 25dvh);
  }
}
.page-top .l-visual__comment.comment08 {
  width: calc(296px * var(--mv-scale-unitless));
  top: 50%;
  left: 50%;
  translate: calc(-50% + 430px * var(--mv-scale-unitless)) calc(-50% + 125px * var(--mv-scale-unitless));
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__comment.comment08 {
    width: 46.8vw;
    height: 7.93dvh;
    translate: calc(-50% - 14vw) calc(-50% + 15dvh);
  }
}
.page-top .l-visual__bg {
  width: 100vw;
  height: 100vh;
}
@media only screen and (hover: none) and (pointer: coarse) {
  .page-top .l-visual__bg {
    height: 100dvh;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__bg {
    height: calc(100dvh - 14vw);
  }
}
.page-top .l-visual__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__bg img {
    object-position: center;
  }
}
.page-top .l-visual__cover {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #000000;
  opacity: 0.58;
}
@media only screen and (hover: none) and (pointer: coarse) {
  .page-top .l-visual__cover {
    height: 100dvh;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__cover {
    height: calc(100dvh - 14vw);
  }
}
.page-top .l-visual__inner {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
}
@media only screen and (hover: none) and (pointer: coarse) and (orientation: portrait) {
  .page-top .l-visual__inner {
    flex-wrap: wrap;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__inner {
    flex-wrap: wrap;
  }
}
.page-top .l-visual__image {
  width: calc(100% - 554px);
  height: 100%;
}
@media only screen and (hover: none) and (pointer: coarse) and (orientation: portrait) {
  .page-top .l-visual__image {
    width: 100%;
    height: 65%;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__image {
    width: 100%;
    height: 50%;
  }
}
.page-top .l-visual__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__image img {
    object-position: center;
  }
}
.page-top .l-visual__info {
  width: 554px;
}
@media only screen and (hover: none) and (pointer: coarse) and (orientation: portrait) {
  .page-top .l-visual__info {
    width: 100%;
    height: 35%;
    display: flex;
    flex-direction: column;
    padding-top: 5%;
  }
  .page-top .l-visual__info br.pc {
    display: none;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__info {
    width: 100%;
    height: 50%;
    padding: 0 6vw;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 4vw;
  }
}
.page-top .l-visual__title {
  font-size: 54px;
  font-weight: 700;
  line-height: 1.52;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__title {
    font-size: 5.89vw;
    line-height: 1.43;
    text-align: center;
  }
}
.page-top .l-visual__title .accent {
  color: #E10416;
}
.page-top .l-visual__text {
  font-size: 16px;
  font-weight: 400;
  line-height: 2.25;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__text {
    font-size: 4.1vw;
    line-height: 1.75;
  }
}
.page-top .l-visual__section01 {
  width: 100vw;
  transition: opacity 0.5s;
  background: transparent;
  position: relative;
  z-index: 5;
  /* transform は付けない（付与すると子の position:fixed がセクション内に閉じ、スクロールで動かなくなる） */
  /* ---- TOP MV（メインビジュアル・PC） ---- */
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__section01 {
    height: 100%;
    min-height: 0;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__section01 {
    height: auto;
    min-height: 0;
    overflow: visible;
    /* ---- TOP MV（SP）：mv_sp.png の縦横比ベース（100vh/dvh 不使用） ---- */
  }
  .page-top .l-visual__section01 .l-visual__mv {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 0;
  }
  .page-top .l-visual__section01 .l-visual__mv-overlay {
    position: relative;
    inset: auto;
    top: auto;
    left: auto;
    width: 100%;
    translate: none;
    display: block;
    height: auto;
    min-height: 0;
    overflow: visible;
  }
  .page-top .l-visual__section01 .l-visual__mv-overlay__stack {
    width: 100%;
  }
  .page-top .l-visual__section01 .l-visual__mv-overlay__inner {
    width: 100%;
  }
  .page-top .l-visual__section01 .l-visual__mv-overlay__inner img {
    width: 100%;
    height: auto;
    vertical-align: top;
  }
  .page-top .l-visual__section01 .l-visual__slide {
    inset: 0;
    height: 100%;
  }
  .page-top .l-visual__section01 .l-visual__slide .p-slide {
    height: 100%;
  }
  .page-top .l-visual__section01 .l-visual__slide .p-slide__left, .page-top .l-visual__section01 .l-visual__slide .p-slide__right {
    height: 50%;
  }
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__section01 {
    /* PC/SP差分: シェイプclip-pathの角度、書道の位置とmax-width */
    /* メインビジュアル：761px〜は mv.png（1440幅デザイン）。幅に連動して縮尺し、常に画像上端＝ヒーロー上端 */
    /* MV画像とティッカーを同一の縮尺・包含ブロックにし、リサイズ時も重なりが一定に */
  }
  .page-top .l-visual__section01 .l-visual__mv {
    position: relative;
    width: 100%;
    height: 100%;
    isolation: isolate;
  }
  .page-top .l-visual__section01 .l-visual__mv-overlay {
    position: absolute;
    z-index: 10;
    inset: 0;
    pointer-events: none;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow: visible;
    height: var(--mv-art-height);
    width: var(--mv-art-width);
    translate: -50% -50%;
    top: var(--mv-art-top);
    left: var(--mv-art-left);
  }
  .page-top .l-visual__section01 .l-visual__mv-overlay__stack {
    position: relative;
    width: 100%;
    height: 100%;
    flex-shrink: 0;
  }
  .page-top .l-visual__section01 .l-visual__mv-overlay__inner {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
  }
  .page-top .l-visual__section01 .l-visual__mv-overlay__inner img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}
.page-top .l-visual__section01 .l-visual__shape {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  width: calc(118 * var(--mv-vw));
  height: 92vh;
  transform: translate(-50%, -50%);
  background: #E10416;
  /* デザインの傾いた台形 */
  clip-path: polygon(6% 10%, 94% 4%, 98% 90%, 2% 96%);
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__section01 .l-visual__shape {
    width: 128%;
    height: 88%;
    clip-path: polygon(4% 14%, 96% 8%, 98% 92%, 2% 98%);
  }
}
.page-top .l-visual__section01 .l-visual__mv-content {
  position: absolute;
  z-index: 20;
  inset: 0;
  pointer-events: none;
}
.page-top .l-visual__section01 .l-visual__catch--mv01 {
  position: absolute;
  z-index: 20;
  top: 50%;
  left: 50%;
  width: calc(63.8889 * var(--mv-vw));
  transform: translate(-50%, -50%);
  pointer-events: auto;
}
.page-top .l-visual__section01 .l-visual__catch--mv01 img {
  display: block;
  width: 100%;
  height: auto;
}
.page-top .l-visual__section01 .l-visual__calligraphy {
  position: absolute;
  z-index: 21;
  top: 50%;
  left: 50%;
  width: calc(36 * var(--mv-vw));
  transform: translate(calc(-50% + 28 * var(--mv-vw)), calc(-50% - 5 * var(--mv-vw)));
  pointer-events: none;
  filter: drop-shadow(calc(0.5 * var(--mv-vw)) calc(1.5 * var(--mv-vw)) rgba(0, 0, 0, 0.25));
}
.page-top .l-visual__section01 .l-visual__calligraphy__inner {
  display: block;
  width: 100%;
}
.page-top .l-visual__section01 .l-visual__calligraphy img {
  width: 100%;
  height: auto;
  display: block;
}
.page-top .l-visual__section01 .l-visual__ticker {
  position: absolute;
  z-index: 25;
  left: 50%;
  width: 150%;
  transform: translateX(-50%) rotate(-6deg);
  background: #0B0B0B;
  overflow: hidden;
  /* PC：__stack 基準。mv.png（contain）の描画下端に合わせて 1440px 幅の重なりを維持 */
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__section01 .l-visual__ticker {
    bottom: var(--mv-ticker-bottom);
    padding: 3px 0 13px 0;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__section01 .l-visual__ticker {
    bottom: 34.8vw;
    padding: 1px 0 6px 0;
  }
}
.page-top .l-visual__section01 .l-visual__ticker-track {
  display: flex;
  width: max-content;
  animation: l-visual-ticker 32s linear infinite;
}
.page-top .l-visual__section01 .l-visual__ticker-seq {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.page-top .l-visual__section01 .l-visual__ticker-text {
  margin: 0;
  padding: 0;
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 900;
  letter-spacing: 0;
  white-space: nowrap;
  color: #E10416;
  /* 「、」まわりをやや詰める（被り防止のため halt は使わない） */
  font-feature-settings: "palt" 1;
  -webkit-font-feature-settings: "palt" 1;
  letter-spacing: 0.03em;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__section01 .l-visual__ticker-text {
    font-size: 80px;
    line-height: 0.8;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__section01 .l-visual__ticker-text {
    font-size: 12.3vw;
    line-height: 0.85;
  }
}
@keyframes l-visual-ticker {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.page-top .l-visual__section01 .l-visual__slide--mv-fallback {
  opacity: 0;
  pointer-events: none;
}
.page-top .l-visual__section01 .l-visual__slide {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: 1;
}
@media only screen and (hover: none) and (pointer: coarse) {
  .page-top .l-visual__section01 .l-visual__slide {
    height: 100%;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__section01 .l-visual__slide {
    height: 100%;
  }
}
.page-top .l-visual__section01 .l-visual__slide .p-slide {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
@media only screen and (hover: none) and (pointer: coarse) {
  .page-top .l-visual__section01 .l-visual__slide .p-slide {
    height: 100%;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__section01 .l-visual__slide .p-slide {
    height: 100%;
  }
}
.page-top .l-visual__section01 .l-visual__slide .p-slide::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000000;
  opacity: 0.12;
  mix-blend-mode: multiply;
}
.page-top .l-visual__section01 .l-visual__slide .p-slide__left, .page-top .l-visual__section01 .l-visual__slide .p-slide__right {
  width: 50%;
  height: 100%;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__section01 .l-visual__slide .p-slide__left, .page-top .l-visual__section01 .l-visual__slide .p-slide__right {
    width: 100%;
    height: 50%;
  }
}
.page-top .l-visual__section01 .l-visual__slide .p-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}
.page-top .l-visual__section01 .p-item {
  position: absolute;
  z-index: 1000;
  bottom: 44px;
  right: 0;
  background: #fff;
  width: 630px;
  border-radius: 50px 0 0 50px;
  text-align: left;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__section01 .p-item {
    bottom: 7vw;
    right: 0;
    width: 88.5vw;
  }
}
.page-top .l-visual__section01 .p-item a {
  display: block;
  padding: 12px 25px 12px 37px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__section01 .p-item a {
    padding: 3vw 2.5vw 3vw 7vw;
  }
}
.page-top .l-visual__section01 .p-item__inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__section01 .p-item__inner {
    flex-wrap: wrap;
    gap: 1.4vw 0;
  }
}
.page-top .l-visual__section01 .p-item__catch {
  width: 60px;
  font-size: 19px;
  line-height: 1;
  color: #E10416;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__section01 .p-item__catch {
    font-size: 4.9vw;
    width: 18%;
  }
}
.page-top .l-visual__section01 .p-item__post-date {
  width: 90px;
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__section01 .p-item__post-date {
    font-size: 3.8vw;
    width: 80%;
  }
}
.page-top .l-visual__section01 .p-item__post-title {
  width: calc(100% - 150px);
  font-size: 15px;
  font-weight: 400;
  line-height: 1;
  -webkit-line-clamp: 1;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__section01 .p-item__post-title {
    font-size: 3.8vw;
    width: 100%;
  }
}
.page-top .l-visual__fixed {
  position: fixed;
  bottom: 20px;
  left: -181px;
  z-index: 5000;
  pointer-events: auto;
  transition: left 0.35s ease;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__fixed {
    display: none;
  }
}
.page-top .l-visual__fixed:hover {
  left: -100px;
}
.page-top .l-visual__fixed a {
  display: block;
  width: 299px;
  line-height: 0;
  opacity: 1;
  transition: opacity 0.3s ease;
}
.page-top .l-visual__fixed a:hover {
  opacity: 1;
}
.page-top .l-visual__fixed img {
  display: block;
  width: 100%;
  height: auto;
}
.page-top .l-visual__fixed img:hover {
  opacity: 1;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-visual__section02 .l-visual__catch {
    width: 84.6vw;
    height: 22.911dvh;
    top: 48%;
  }
  .page-top .l-visual__section02 .l-visual__catch img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}
.page-top .l-visual__section03 .l-visual__inner, .page-top .l-visual__section05 .l-visual__inner {
  flex-direction: row-reverse;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__section03 .l-visual__info, .page-top .l-visual__section05 .l-visual__info {
    padding-left: 100px;
    padding-right: 70px;
  }
}
@media print, screen and (min-width: 761px) {
  .page-top .l-visual__section04 .l-visual__info {
    padding-left: 70px;
    padding-right: 100px;
  }
}
.page-top .l-visual.active .l-visual__section01 .l-visual__catch {
  opacity: 1;
}
.page-top .l-visual.active .l-visual__section02 .l-visual__catch {
  opacity: 1;
}
.page-top .l-visual.active .l-visual__section02 .l-visual__comment {
  opacity: 1;
}
.page-top .l-visual.active .l-visual__section02 .l-visual__comment.comment01 {
  transition-delay: 0.1s;
}
.page-top .l-visual.active .l-visual__section02 .l-visual__comment.comment02 {
  transition-delay: 0.2s;
}
.page-top .l-visual.active .l-visual__section02 .l-visual__comment.comment03 {
  transition-delay: 0.3s;
}
.page-top .l-visual.active .l-visual__section02 .l-visual__comment.comment04 {
  transition-delay: 0.4s;
}
.page-top .l-visual.active .l-visual__section02 .l-visual__comment.comment05 {
  transition-delay: 0.5s;
}
.page-top .l-visual.active .l-visual__section02 .l-visual__comment.comment06 {
  transition-delay: 0.6s;
}
.page-top .l-visual.active .l-visual__section02 .l-visual__comment.comment07 {
  transition-delay: 0.7s;
}
.page-top .l-visual.active .l-visual__section02 .l-visual__comment.comment08 {
  transition-delay: 0.8s;
}
.page-top .l-visual.sp-style .l-visual__section01 {
  position: relative;
  top: 0;
  left: 0;
  opacity: 1;
  z-index: 0;
}
.page-top .l-visual.sp-style .l-visual__section01 .l-visual__catch {
  opacity: 1;
}
.page-top .l-visual.sp-style .l-visual__section02 {
  position: relative;
  top: 0;
  left: 0;
  opacity: 1;
  z-index: 0;
}

.page-top .l-contents {
  position: relative;
  background: #fff;
}

/* ------------------------------------

l-lead

------------------------------------ */
.page-top .l-lead {
  position: relative;
  z-index: 0;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-lead {
    padding: min(4.1666666667vw, 60px) 0 min(4.8611111111vw, 70px);
    margin-bottom: min(9.8611111111vw, 142px);
    margin-top: min(1.1458333333vw, 16.5px);
  }
  .page-top .l-lead::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 6%;
    left: 50%;
    translate: -50% 0;
    width: min(94vw, min(94.4444444444vw, 1360px));
    aspect-ratio: 1234/980;
    background: #EDD0D2;
    clip-path: polygon(3.4% 7.9%, 94.55% 0.35%, 94.55% 83.25%, 3.4% 80.65%);
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-lead {
    padding: 14vw 0 16vw;
    /* 195.7vw は固定MV用。mv_sp が .l-visual で確保する高さ分は重複するため差し引く */
    margin-top: var(--mv-sp-lead-gap);
  }
  .page-top .l-lead::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: 6vw;
    left: 50%;
    translate: -50% 0;
    width: 90%;
    aspect-ratio: 350/771;
    background: #EDD0D2;
    clip-path: polygon(0% 6%, 100% 2%, 100% 96%, 0 93%);
  }
}
.page-top .l-lead__container {
  position: relative;
  margin: 0 auto;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-lead__container {
    width: min(96vw, min(94.4444444444vw, 1360px));
    max-width: 100%;
    min-height: min(54.8611111111vw, 790px);
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-lead__container {
    width: 92vw;
    min-height: 155vw;
  }
}
.page-top .l-lead__header {
  position: absolute;
  z-index: 10;
  top: 60.45%;
  left: 50%;
  translate: -50% -50%;
  text-align: center;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-lead__header {
    width: min(51.9444444444vw, 748px);
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-lead__header {
    width: 89%;
    top: 54.2%;
    left: 53.8%;
  }
}
.page-top .l-lead__ttl picture {
  display: block;
}
.page-top .l-lead__ttl img {
  display: block;
  width: 100%;
  height: auto;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-lead__ttl {
    margin-bottom: min(4.1666666667vw, 60px);
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-lead__ttl {
    margin-bottom: 6vw;
  }
}
.page-top .l-lead__txt p {
  font-weight: 500;
  color: #0B0B0B;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-lead__txt p {
    font-size: min(1.3888888889vw, 20px);
    line-height: 1.9;
    margin-bottom: min(1.875vw, 27px);
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-lead__txt p {
    font-size: 4.87vw;
    line-height: 1.6842105263;
    margin-bottom: 7.6vw;
    padding-right: 7vw;
  }
}
@media print, screen and (min-width: 761px) {
  .page-top .l-lead__txt p:nth-child(2) {
    margin-bottom: min(3.0555555556vw, 44px);
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-lead__txt p:nth-child(2) {
    margin-bottom: 8vw;
  }
}
.page-top .l-lead__txt p:last-child {
  margin-bottom: 0;
}
.page-top .l-lead__photo {
  position: absolute;
  z-index: 5;
}
.page-top .l-lead__photo img {
  width: 100%;
  height: auto;
  display: block;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-lead__photo.photo01 {
    top: min(1.875vw, 27px);
    left: min(0.9722222222vw, 14px);
    width: min(21.5722222222vw, 310.64px);
  }
  .page-top .l-lead__photo.photo02 {
    top: min(23.6111111111vw, 340px);
    left: min(-1.4583333333vw, -21px);
    width: min(19.6145833333vw, 282.45px);
  }
  .page-top .l-lead__photo.photo03 {
    top: min(34.7916666667vw, 501px);
    left: min(0.9027777778vw, 13px);
    width: min(40vw, 576px);
  }
  .page-top .l-lead__photo.photo04 {
    top: min(-3.5416666667vw, -51px);
    right: min(4.7916666667vw, 69px);
    width: min(23.64375vw, 340.47px);
  }
  .page-top .l-lead__photo.photo05 {
    top: min(18.3333333333vw, 264px);
    right: min(-1.0416666667vw, -15px);
    width: min(21.6458333333vw, 311.7px);
  }
  .page-top .l-lead__photo.photo06 {
    top: min(42.2916666667vw, 609px);
    right: min(14.375vw, 207px);
    width: min(20.7326388889vw, 298.55px);
  }
  .page-top .l-lead__photo.photo07 {
    top: min(37.6388888889vw, 542px);
    right: min(1.7361111111vw, 25px);
    width: min(18.7013888889vw, 269.3px);
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-lead__photo.photo01 {
    top: -13.3vw;
    left: 1vw;
    width: 54.5%;
  }
  .page-top .l-lead__photo.photo02 {
    top: 67.1vw;
    left: -10vw;
    width: 29.6vw;
  }
  .page-top .l-lead__photo.photo03 {
    top: 136.1vw;
    left: -15.5vw;
    width: 86.6%;
  }
  .page-top .l-lead__photo.photo04 {
    top: 2.3vw;
    right: -2.8vw;
    width: 36.7%;
  }
  .page-top .l-lead__photo.photo05 {
    top: 101.5vw;
    right: -9.3vw;
    width: 30.6%;
    rotate: 15deg;
  }
  .page-top .l-lead__photo.photo06 {
    display: none;
  }
  .page-top .l-lead__photo.photo07 {
    top: 140.5vw;
    right: -5.5vw;
    width: 37.6%;
  }
}

/* ------------------------------------

l-vision

------------------------------------ */
@media print, screen and (max-width: 760px) {
  .page-top .l-vision {
    margin-top: 63.8vw;
  }
}
.page-top .l-vision__container {
  position: relative;
  display: block;
  margin: 0 auto;
  text-align: center;
}
.page-top .l-vision__container::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 50%;
  translate: -50% 0;
  background: #E10416;
  clip-path: polygon(0% 25.5%, 100% 1%, 100% 51%, 0% 76.1%);
}
.page-top .l-vision__container::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 50%;
  translate: -50% 0;
  background: #fff;
  clip-path: polygon(0% 1.3%, 100% 14.9%, 100% 53%, 0% 55.7%);
}
@media print, screen and (min-width: 761px) {
  .page-top .l-vision__container {
    padding: min(7.2222222222vw, 104px) 0 min(3.0555555556vw, 44px);
    margin-bottom: min(9.375vw, 135px);
  }
  .page-top .l-vision__container::before {
    top: min(-2.5694444444vw, -37px);
    width: min(120vw, 1728px);
    height: min(50vw, 720px);
  }
  .page-top .l-vision__container::after {
    top: 0;
    width: min(120vw, 1728px);
    height: min(50vw, 720px);
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-vision__container {
    width: 100%;
    margin: 0;
    padding: 19.5vw 6vw 19.5vw;
    min-height: 100vw;
    box-sizing: border-box;
  }
  .page-top .l-vision__container::before {
    top: 0;
    width: 100vw;
    height: 100%;
    clip-path: polygon(0% 11%, 100% 0%, 100% 90%, 0% 99.5%);
  }
  .page-top .l-vision__container::after {
    top: 0;
    width: 100vw;
    height: 100%;
    clip-path: polygon(0% 4%, 100% 9.6%, 100% 91.2%, 0% 92.2%);
  }
}
.page-top .l-vision__label {
  position: relative;
  z-index: 3;
  font-weight: 900;
  line-height: 1;
  color: #0B0B0B;
  font-feature-settings: "palt";
}
@media print, screen and (min-width: 761px) {
  .page-top .l-vision__label {
    font-size: min(4.7222222222vw, 68px);
    margin-right: min(6.1111111111vw, 88px);
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-vision__label {
    margin-right: 0;
    margin-bottom: -1.6vw;
    margin-top: 4vw;
    font-size: 11.03vw;
    line-height: 1;
  }
}
.page-top .l-vision__title {
  position: relative;
  z-index: 3;
  width: 100%;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-vision__title {
    margin: min(-1.1111111111vw, -16px) auto 0;
    max-width: min(77.9340277778vw, 1122.25px);
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-vision__title {
    width: 104%;
    max-width: 356px;
    margin: 0 auto 7.5vw;
    transform: translateX(-1.4vw);
  }
}
.page-top .l-vision__title img {
  display: block;
  width: 100%;
  height: auto;
}
.page-top .l-vision__more {
  position: relative;
  z-index: 3;
  font-weight: 900;
  letter-spacing: 0.02em;
  line-height: 1;
  color: #0B0B0B;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-vision__more {
    font-size: min(1.25vw, 18px);
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-vision__more {
    margin-top: 0;
    font-size: 4.62vw;
    text-align: center;
    transform: translateX(3.6vw);
  }
  .page-top .l-vision__more a {
    display: inline-block;
  }
  .page-top .l-vision__more .view-more {
    font-size: inherit;
    font-weight: 900;
    color: #0B0B0B;
    padding-right: 7.33vw;
  }
  .page-top .l-vision__more .view-more::before {
    width: 4.33vw;
    height: auto;
  }
}

/* ------------------------------------

l-message

------------------------------------ */
@media print, screen and (min-width: 761px) {
  .page-top .l-message {
    padding: min(2.5vw, 36px) 0 0;
    margin-bottom: min(7.5vw, 108px);
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message {
    padding-top: 9vw;
    margin-bottom: 10vw;
    margin-top: 40vw;
  }
}
.page-top .l-message__container {
  position: relative;
  margin: 0 auto;
}
.page-top .l-message__content {
  position: relative;
  background: transparent;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-message__content {
    min-height: min(50vw, 720px);
    overflow: visible;
  }
  .page-top .l-message__content::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    right: auto;
    bottom: auto;
    z-index: 2;
    width: min(120vw, 1728px);
    height: min(46.5972222222vw, 671px);
    translate: -50% 0;
    background: #E10416;
    clip-path: polygon(2.15% 40.9%, 97.7% 24.8%, 96.5% 94.8%, 3.1% 94.7%);
  }
  .page-top .l-message__content::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: auto;
    left: 50%;
    right: auto;
    bottom: min(-1.3888888889vw, -20px);
    width: min(108.3333333333vw, 1560px);
    height: min(13.8888888889vw, 200px);
    translate: -50% 0;
    pointer-events: none;
    background: #0B0B0B;
    clip-path: polygon(3% 4%, 92.2% 0%, 93.9% 70.8%, 0.1% 54%);
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__content {
    min-height: 140vw;
  }
  .page-top .l-message__content::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    translate: none;
    background: #E10416;
    clip-path: polygon(0% 14.7%, 100% 5.2%, 100% 94.5%, 0% 94.5%);
  }
  .page-top .l-message__content::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: auto;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 11.6vw;
    translate: none;
    pointer-events: none;
    background: #0B0B0B;
    clip-path: polygon(0% 0%, 98.7% 8.5%, 100% 65.1%, 0 42.2%);
  }
}
.page-top .l-message__content__inner {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-message__content__inner {
    box-sizing: border-box;
    width: min(120vw, 1728px);
    max-width: 100%;
    min-height: min(50vw, 720px);
    margin: min(3.6111111111vw, 52px) auto 0;
    padding: min(5.4166666667vw, 78px) min(6.25vw, 90px) min(8.4027777778vw, 121px);
    overflow: visible;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__content__inner {
    min-height: inherit;
    padding: 9vw 6vw 36vw;
    align-items: center;
    position: relative;
  }
}
.page-top .l-message__photo {
  position: absolute;
  z-index: 1;
}
.page-top .l-message__photo img {
  display: block;
  width: 100%;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-message__photo {
    left: 3.75%;
    bottom: min(5.8333333333vw, 84px);
    width: min(46.9444444444vw, 676px);
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__photo {
    left: 51.9%;
    bottom: 10vw;
    width: 93.4%;
    translate: -50% 0;
  }
}
.page-top .l-message__content__catch {
  position: absolute;
  z-index: 4;
  display: inline-block;
  color: #fff;
  font-weight: 700;
}
.page-top .l-message__content__catch::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #000;
  clip-path: polygon(1.4% 12.5%, 99.6% 6.7%, 96.6% 99%, 2.3% 79%);
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__content__catch::before {
    clip-path: polygon(2.9% 7.5%, 99% 1.7%, 96% 99%, 3.9% 79%);
  }
}
@media print, screen and (min-width: 761px) {
  .page-top .l-message__content__catch {
    top: min(4.4444444444vw, 64px);
    right: 6.8%;
    padding: min(3.3333333333vw, 48px) min(0vw, 0px) min(3.8888888889vw, 56px) min(2.0833333333vw, 30px);
    font-size: min(3.6805555556vw, 53px);
    line-height: 0.7169811321;
    white-space: nowrap;
    transform: rotate(-8deg);
    transform-origin: right center;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__content__catch {
    position: relative;
    top: auto;
    right: auto;
    align-self: center;
    margin: 0 0 2.1vw;
    padding: 4vw 1.1vw 5.7vw 7.3vw;
    font-size: 7.44vw;
    line-height: 1.35;
    transform: rotate(-12deg);
    transform-origin: center center;
  }
}
.page-top .l-message__content__text {
  position: relative;
  z-index: 4;
  color: #fff;
  text-align: right;
}
.page-top .l-message__content__text p {
  font-weight: 700;
  transform-origin: right center;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-message__content__text {
    margin-top: min(9.5833333333vw, 138px);
  }
  .page-top .l-message__content__text p {
    font-size: min(4.4444444444vw, 64px);
    line-height: 0.875;
    transform: rotate(-8deg);
    margin-bottom: min(2.7777777778vw, 40px);
    white-space: nowrap;
  }
  .page-top .l-message__content__text p:last-child {
    margin-right: min(-1.3194444444vw, -19px);
  }
  .page-top .l-message__content__text p:first-child {
    padding-right: 80px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__content__text {
    width: auto;
    margin-top: -0.5vw;
    margin-right: 1.79vw;
    margin-bottom: 64vw;
    text-align: center;
    align-self: center;
  }
  .page-top .l-message__content__text p {
    transform: rotate(-8deg) translate(0%, 1%);
    transform-origin: center center;
    margin-bottom: 1.4vw;
    font-size: 10.4vw;
    line-height: 1.2;
  }
  .page-top .l-message__content__text p:first-child {
    padding: 0;
  }
  .page-top .l-message__content__text p:last-child {
    margin-right: 0;
    margin-bottom: 0;
    font-size: 8vw;
    line-height: 1.2;
    transform: rotate(-8deg) translate(4.5%, 1.8%);
  }
}
.page-top .l-message__content__info {
  position: absolute;
  z-index: 4;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-message__content__info {
    left: 3.2%;
    bottom: min(8.4027777778vw, 121px);
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__content__info {
    position: absolute;
    z-index: 5;
    right: 14vw;
    bottom: 44.5vw;
    left: auto;
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    gap: 1.2vw;
    margin-top: 0;
    align-self: auto;
  }
}
.page-top .l-message .p-item_position,
.page-top .l-message .p-item_name, .page-top .l-message__more {
  position: relative;
  z-index: 4;
  color: #fff;
}
.page-top .l-message .p-item_position {
  display: inline-block;
  line-height: 1;
  font-weight: 700;
  background: #A71418;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-message .p-item_position {
    margin-bottom: min(0.625vw, 9px);
    padding: min(0.4166666667vw, 6px) min(0.4861111111vw, 7px) min(0.6944444444vw, 10px);
    font-size: min(1.5277777778vw, 22px);
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message .p-item_position {
    margin-top: 0;
    margin-bottom: 0;
    padding: 2.4vw 2.2vw 3.1vw;
    font-size: 5.64vw;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    letter-spacing: 0.02em;
  }
}
.page-top .l-message .p-item_name {
  width: fit-content;
  font-weight: 900;
  background: #A71418;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-message .p-item_name {
    font-size: min(4.6527777778vw, 67px);
    line-height: 1.0298507463;
    padding: min(0.4166666667vw, 6px) min(0.4861111111vw, 7px) min(0.7638888889vw, 11px);
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message .p-item_name {
    margin: 0;
    padding: 1vw 1.4vw 1.1vw;
    font-size: 10.26vw;
    writing-mode: vertical-rl;
    text-orientation: mixed;
  }
}
.page-top .l-message__more {
  text-align: right;
}
.page-top .l-message__more a {
  display: inline-block;
  background: #0B0B0B;
  color: #fff;
  font-weight: 900;
  line-height: 1;
}
.page-top .l-message__more a .view-more {
  color: #fff;
}
.page-top .l-message__more a .view-more::before {
  background-image: url(../images/cmn/arrow_right_white.svg);
}
@media print, screen and (min-width: 761px) {
  .page-top .l-message__more {
    margin-top: min(2.5694444444vw, 37px);
    margin-right: min(3.6805555556vw, 53px);
  }
  .page-top .l-message__more a {
    padding: min(0.9722222222vw, 14px) min(1.4583333333vw, 21px) min(1.4583333333vw, 21px);
    font-size: min(1.5277777778vw, 22px);
    border-radius: min(0.2777777778vw, 4px);
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-message__more {
    position: absolute;
    z-index: 6;
    left: 50%;
    bottom: 15.3vw;
    translate: -50% 0;
    margin: 0;
    text-align: center;
  }
  .page-top .l-message__more a {
    padding: 3.8vw 5.2vw 4.4vw 4.2vw;
    font-size: 4.1vw;
    background: #fff;
    color: #E10416;
    border-radius: 6px;
  }
  .page-top .l-message__more a .view-more {
    font-size: 4.1vw;
    color: #E10416;
    padding-right: 6vw;
  }
  .page-top .l-message__more a .view-more::before {
    width: 3.47vw;
    height: 3.47vw;
    background-image: url(../images/cmn/arrow_right_red.svg);
  }
}

/* ------------------------------------

l-keys

------------------------------------ */
.page-top .l-keys {
  position: relative;
  overflow: hidden;
  padding: 0;
  margin-bottom: 311px;
  /* SP専用レイアウト（760px以下・.sp で表示） */
}
@media print, screen and (max-width: 760px) {
  .page-top .l-keys {
    margin-top: 72.6vw;
    margin-bottom: 52.3vw;
  }
}
.page-top .l-keys__container {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: none;
  margin: 0 auto;
}
.page-top .l-keys__content {
  position: relative;
  z-index: 3;
  left: 50%;
  width: 100vw;
  max-width: 1440px;
  translate: -50% 0;
  padding: min(2.7777777778vw, 40px) min(2.7777777778vw, 40px) min(8.6111111111vw, 124px) 0;
  background: #0B0B0B;
  clip-path: polygon(0 14%, 100% 0%, 100% 96.6%, 0 99.7%);
}
.page-top .l-keys__content::before {
  content: "";
  position: absolute;
  z-index: 3;
  right: min(0vw, 0px);
  bottom: 14px;
  width: min(56.25vw, 810px);
  max-width: 810px;
  height: min(33.3333333333vw, 480px);
  background: url(../images/top/keys05.png) no-repeat right bottom/contain;
  pointer-events: none;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-keys__content {
    min-height: auto;
    padding: 0;
    /* SP：背景の斜め切り（数値で調整） */
    clip-path: polygon(0 11.4%, 100% 0.8%, 100% 100%, 0 100%);
  }
  .page-top .l-keys__content::before {
    content: none;
  }
}
.page-top .l-keys__head {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: min(1.1111111111vw, 16px);
  margin: 0 0 min(1.3888888889vw, 20px);
  padding-top: min(0.2777777778vw, 4px);
  pointer-events: none;
}
@media print, screen and (min-width: 761px) {
  .page-top .l-keys__head {
    position: absolute;
    top: 65px;
    right: 78.9px;
    margin: 0;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-keys__head {
    position: relative;
    z-index: 5;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-end;
    gap: 0;
    width: 90%;
    margin: 0 auto 5.3vw;
    padding: 13.5vw 0 0;
  }
}
.page-top .l-keys__head-lead {
  margin: 0;
  padding: 0;
  transform-origin: 100% 0;
  transform: rotate(-4deg);
}
@media print, screen and (max-width: 760px) {
  .page-top .l-keys__head-lead {
    position: relative;
    z-index: 1;
    flex: 1 1 auto;
    margin: 0 1.8vw 0 0;
    transform: rotate(-12deg) translate(2.3%, 4.9%);
    transform-origin: 0 100%;
  }
}
.page-top .l-keys__head-lead-txt {
  display: block;
  color: #fff;
  font-size: min(3.8888888889vw, 56px);
  font-weight: 700;
  line-height: 1.1785714286;
  text-align: right;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-keys__head-lead-txt {
    font-size: 6.92vw;
    line-height: 1.18;
  }
}
.page-top .l-keys__head-badge {
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  MAX-WIDTH: 339.43PX;
  transform: rotate(0.6deg) translate(2%, -50px);
  transform-origin: 100% 0;
}
.page-top .l-keys__head-badge img {
  display: block;
  width: 100%;
  height: auto;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-keys__head-badge {
    position: relative;
    z-index: 1;
    flex: 0 0 37.44vw;
    width: 37.44vw;
    margin: 3.6vw 0 0 0vw;
    transform: rotate(0.4deg) translate(0%, -4.8vw);
    transform-origin: 100% 100%;
  }
  .page-top .l-keys__head-badge picture,
.page-top .l-keys__head-badge img {
    display: block;
    width: 100%;
    height: auto;
  }
}
.page-top .l-keys__content__inner {
  position: relative;
  z-index: 0;
  box-sizing: border-box;
  width: min(82.9861111111vw, 1195px);
  max-width: 1195px;
  margin: 0;
  margin-top: 178px;
}
.page-top .l-keys__area-img {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
}
.page-top .l-keys__item {
  position: absolute;
  display: block;
  overflow: hidden;
  text-decoration: none;
  pointer-events: auto;
  isolation: isolate;
  background: transparent;
  -webkit-mask-mode: alpha;
  mask-mode: alpha;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  /* keys_area.png の白い区画（1195×538基準・絶対値配置） */
}
@media print, screen and (min-width: 761px) {
  .page-top .l-keys__item {
    scale: 1.004;
  }
}
.page-top .l-keys__item--01 {
  top: 0;
  left: 0;
  width: min(41.875vw, 603px);
  height: min(17.6388888889vw, 254px);
  -webkit-mask-image: url(../images/top/keys02.svg);
  mask-image: url(../images/top/keys02.svg);
}
.page-top .l-keys__item--01 .l-keys__item-bg {
  background-image: url(../images/top/keys02.svg);
}
.page-top .l-keys__item--02 {
  top: 6.5%;
  left: 49.4%;
  width: min(39.8611111111vw, 574px);
  height: min(15.6944444444vw, 226px);
  -webkit-mask-image: url(../images/top/keys01.svg);
  mask-image: url(../images/top/keys01.svg);
}
.page-top .l-keys__item--02 .l-keys__item-bg {
  background-image: url(../images/top/keys01.svg);
}
.page-top .l-keys__item--03 {
  top: 47.3%;
  left: 0;
  width: min(43.75vw, 630px);
  height: min(19.6527777778vw, 283px);
  -webkit-mask-image: url(../images/top/keys03.svg);
  mask-image: url(../images/top/keys03.svg);
}
.page-top .l-keys__item--03 .l-keys__item-bg {
  background-image: url(../images/top/keys03.svg);
}
.page-top .l-keys__item--04 {
  z-index: 6;
  top: 48.9%;
  left: 51.3%;
  width: min(40.4166666667vw, 582px);
  height: min(17.9166666667vw, 258px);
  -webkit-mask-image: url(../images/top/keys04.svg);
  mask-image: url(../images/top/keys04.svg);
}
.page-top .l-keys__item--04 .l-keys__item-bg {
  background-image: url(../images/top/keys04.svg);
}
.page-top .l-keys__item-bg {
  position: absolute;
  /* マスク縁の1px隙間をアクセントで埋める（keys_area.png の白が見えないように） */
  inset: -2px;
  z-index: 0;
  pointer-events: none;
  background-color: #E10416;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: calc(100% + 4px) calc(100% + 4px);
  opacity: 0;
  transition: opacity 0.3s ease;
  backface-visibility: hidden;
}
.page-top .l-keys__item.is-active {
  background-color: #E10416;
}
.page-top .l-keys__item.is-active .l-keys__item-bg {
  opacity: 1;
}
@media (hover: hover) {
  .page-top .l-keys__item:hover, .page-top .l-keys__item:focus-visible {
    background-color: #E10416;
  }
  .page-top .l-keys__item:hover .l-keys__item-bg, .page-top .l-keys__item:focus-visible .l-keys__item-bg {
    opacity: 1;
  }
}
.page-top .l-keys__body-sp {
  position: relative;
  z-index: 2;
  width: 100%;
}
.page-top .l-keys__sp-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0;
  padding: 0;
  gap: 1.79vw;
}
.page-top .l-keys__sp-item {
  position: relative;
  z-index: 2;
  display: block;
  box-sizing: border-box;
  width: 90%;
  margin: 0;
  overflow: hidden;
  text-decoration: none;
  background: transparent;
  aspect-ratio: 700/304;
  isolation: isolate;
}
.page-top .l-keys__sp-item:last-child {
  z-index: 5;
  margin-bottom: -16vw;
  padding-bottom: 0;
}
.page-top .l-keys__sp-item--01 .l-keys__sp-item-default {
  background-image: url(../images/top/keys01_sp.png);
}
.page-top .l-keys__sp-item--01 .l-keys__sp-item-hover {
  background-image: url(../images/top/keys01_hover_sp.png);
}
.page-top .l-keys__sp-item--02 .l-keys__sp-item-default {
  background-image: url(../images/top/keys02_sp.png);
}
.page-top .l-keys__sp-item--02 .l-keys__sp-item-hover {
  background-image: url(../images/top/keys02_hover_sp.png);
}
.page-top .l-keys__sp-item--03 .l-keys__sp-item-default {
  background-image: url(../images/top/keys03_sp.png);
}
.page-top .l-keys__sp-item--03 .l-keys__sp-item-hover {
  background-image: url(../images/top/keys03_hover_sp.png);
}
.page-top .l-keys__sp-item--04 .l-keys__sp-item-default {
  background-image: url(../images/top/keys04_sp.png);
}
.page-top .l-keys__sp-item--04 .l-keys__sp-item-hover {
  background-image: url(../images/top/keys04_hover_sp.png);
}
.page-top .l-keys__sp-item.is-active .l-keys__sp-item-default {
  visibility: hidden;
}
.page-top .l-keys__sp-item.is-active .l-keys__sp-item-hover {
  visibility: visible;
}
.page-top .l-keys__sp-item-default, .page-top .l-keys__sp-item-hover {
  position: absolute;
  inset: 0;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  pointer-events: none;
}
.page-top .l-keys__sp-item-default {
  z-index: 1;
  visibility: visible;
}
.page-top .l-keys__sp-item-hover {
  z-index: 2;
  visibility: hidden;
}
.page-top .l-keys__sp-photo {
  position: relative;
  z-index: 5;
  width: 100%;
  margin-top: 5.5vw;
  pointer-events: none;
}
.page-top .l-keys__sp-photo img {
  display: block;
  width: 100%;
  height: auto;
}
@media (hover: hover) {
  .page-top .l-keys__sp-item:hover .l-keys__sp-item-default, .page-top .l-keys__sp-item:focus-visible .l-keys__sp-item-default {
    visibility: hidden;
  }
  .page-top .l-keys__sp-item:hover .l-keys__sp-item-hover, .page-top .l-keys__sp-item:focus-visible .l-keys__sp-item-hover {
    visibility: visible;
  }
}
.page-top .l-keys a:hover, .page-top .l-keys a:active, .page-top .l-keys a:hover img {
  opacity: 1;
}

/* ------------------------------------

l-member

------------------------------------ */
.page-top .l-member {
  position: relative;
  background: #E10416;
}
.page-top .l-member > a {
  position: relative;
  display: block;
}
.page-top .l-member__bg img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 761px) {
  .page-top .l-member__bg img {
    min-width: 1440px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
}
.page-top .l-member__inner {
  z-index: 2;
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: fit-content;
  height: fit-content;
  margin: 0;
  text-align: center;
  transform: translate(-50%, -38.8%);
}
@media screen and (max-width: 760px) {
  .page-top .l-member__inner {
    width: 100%;
    padding: 0 4vw;
    transform: translate(-50%, -36.1%);
  }
}
.page-top .l-member__ttl {
  margin: 0;
  padding: 10px 28px 14px 22px;
  margin-bottom: 9px;
  background-color: #0B0B0B;
  color: #fff;
  font-size: 50px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.page-top .l-member__ttl strong {
  margin: 0;
  display: inline;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: #E10416;
}
@media screen and (max-width: 760px) {
  .page-top .l-member__ttl {
    padding: 1.8vw 1.9vw 2.4vw;
    font-size: 7.95vw;
    white-space: normal;
    margin-bottom: 1.3vw;
  }
}
.page-top .l-member__subttl {
  margin: 0;
  padding: 8px 46px 11px 12px;
  background-color: #fff;
  color: #0B0B0B;
  font-size: 27px;
  font-weight: 700;
  line-height: 1;
}
.page-top .l-member__subttl span {
  position: relative;
}
.page-top .l-member__subttl span::after {
  content: "";
  position: absolute;
  right: -8.6%;
  top: 16%;
  bottom: 0;
  display: block;
  width: 15px;
  height: 15px;
  margin: auto;
  background: url(../images/cmn/arrow_right_red.svg) center/contain no-repeat;
}
@media screen and (max-width: 760px) {
  .page-top .l-member__subttl span::after {
    right: -4.5vw;
    width: 2.7vw;
    height: 2.7vw;
  }
}
@media screen and (max-width: 760px) {
  .page-top .l-member__subttl {
    padding: 1.5vw 6.5vw 1.3vw 2.5vw;
    font-size: 4.36vw;
    white-space: normal;
  }
}

/* ------------------------------------

l-recruit

------------------------------------ */
.page-top .l-recruit {
  margin: 184px 0 163px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-recruit {
    margin: 0;
    padding: 12vw 0 10vw;
    margin-top: 23vw;
    margin-bottom: 28.6vw;
  }
}
.page-top .l-recruit__container {
  width: 100%;
  max-width: calc(1200px + 8%);
  padding: 0 4%;
  margin: 0 auto;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-recruit__container {
    width: 90%;
    max-width: none;
    padding: 0;
  }
}
.page-top .l-recruit__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (min-width: 761px) {
  .page-top .l-recruit__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: start;
    column-gap: 28px;
    row-gap: 30px;
  }
}
@media print, screen and (max-width: 760px) {
  .page-top .l-recruit__list {
    display: flex;
    flex-direction: column;
    gap: 10.2vw;
  }
}
.page-top .l-recruit__item {
  min-width: 0;
  background: #fff;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-recruit__item {
    background: transparent;
  }
}
@media screen and (min-width: 761px) {
  .page-top .l-recruit__item--wide {
    grid-column: 1/-1;
  }
}
.page-top .l-recruit__item a:hover, .page-top .l-recruit__item a:active, .page-top .l-recruit__item a:hover img {
  opacity: 1;
}
@media screen and (min-width: 761px) {
  .page-top .l-recruit__item:nth-child(2) .l-recruit__body, .page-top .l-recruit__item:nth-child(3) .l-recruit__body {
    padding: 0 0 31px 35px;
  }
  .page-top .l-recruit__item:nth-child(2) .l-recruit__title, .page-top .l-recruit__item:nth-child(3) .l-recruit__title {
    margin-bottom: 6px;
  }
}
.page-top .l-recruit__card {
  position: relative;
  display: block;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
}
.page-top .l-recruit__card:hover .l-recruit__arrow::after, .page-top .l-recruit__card:active .l-recruit__arrow::after, .page-top .l-recruit__card:focus-visible .l-recruit__arrow::after {
  background-image: url(../images/cmn/arrow_right_long_red.svg);
}
.page-top .l-recruit__card:focus-visible .l-recruit__media img {
  filter: grayscale(0%);
}
@media (hover: hover) and (pointer: fine) {
  .page-top .l-recruit__card:hover .l-recruit__media img {
    filter: grayscale(0%);
  }
}
.page-top .l-recruit__media {
  position: relative;
  overflow: hidden;
  background: #0B0B0B;
}
.page-top .l-recruit__media picture {
  display: block;
}
.page-top .l-recruit__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: grayscale(100%);
  transition: filter 0.35s ease;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-recruit__media img {
    height: auto;
  }
}
.page-top .l-recruit__body {
  position: absolute;
  z-index: 2;
  left: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: calc(100% - 56px);
  padding: 0 0 17px 35px;
  pointer-events: none;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-recruit__body {
    max-width: 100%;
    padding: 0 0 4vw 4vw;
  }
}
.page-top .l-recruit__lead, .page-top .l-recruit__title {
  margin: 0;
  line-height: 1.35;
  font-weight: 700;
}
.page-top .l-recruit__lead {
  display: inline-block;
  margin-bottom: 8px;
  padding: 3px 10px 6px;
  background: #0B0B0B;
  font-size: 22px;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-recruit__lead {
    margin-bottom: 1.2vw;
    padding: 1.2vw 2vw 1.6vw;
    font-size: 3.2vw;
    line-height: 1.4;
  }
}
.page-top .l-recruit__title {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: flex-end;
  width: fit-content;
  max-width: 100%;
  padding: 3px 13px 11px 10px;
  margin-bottom: 5px;
  background: #0B0B0B;
  color: #fff;
  font-size: 57px;
  font-weight: 700;
  line-height: 1;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-recruit__title {
    padding: 1.4vw 2.4vw 2vw;
    margin-bottom: 0;
    font-size: 8.8vw;
  }
}
.page-top .l-recruit__title-accent {
  color: #E10416;
}
.page-top .l-recruit__note {
  display: block;
  width: fit-content;
  max-width: 100%;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0;
  color: #fff;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-recruit__note {
    margin-top: 1.2vw;
    font-size: 3.2vw;
    line-height: 1.45;
  }
}
.page-top .l-recruit__arrow {
  position: absolute;
  z-index: 3;
  right: 18px;
  bottom: 18px;
  display: block;
  width: 26px;
  height: 14px;
  pointer-events: none;
}
.page-top .l-recruit__arrow::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/cmn/arrow_right_long_wihte.svg) center/contain no-repeat;
  transition: background-image 0.3s ease;
}
@media print, screen and (max-width: 760px) {
  .page-top .l-recruit__arrow {
    right: 3.2vw;
    bottom: 3.2vw;
    width: 6.9vw;
    height: 3.7vw;
  }
}

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