@charset "UTF-8";
/* Anaheim */
@font-face {
  font-display: swap;
  font-family: "Anaheim";
  src: url("../../assets/fonts/Anaheim-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
/* KamimonoGothic */
@font-face {
  font-display: swap;
  font-family: "KamimonoGothic";
  src: url("../../assets/fonts/KamimonoGothic-MODERN-B.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
/* Mplus 1c */
@font-face {
  font-display: swap;
  font-family: "M PLUS Rounded 1c";
  src: url("../../assets/fonts/mplusrounded1c-regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-display: swap;
  font-family: "M PLUS Rounded 1c";
  src: url("../../assets/fonts/mplusrounded1c-medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-display: swap;
  font-family: "M PLUS Rounded 1c";
  src: url("../../assets/fonts/mplusrounded1c-extrabold.woff") format("woff");
  font-weight: 800;
  font-style: normal;
}
@font-face {
  font-display: swap;
  font-family: "M PLUS Rounded 1c";
  src: url("../../assets/fonts/mplusrounded1c-black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
}
/* Noto Sans JP */
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  src: url("../../assets/fonts/notosansjp-medium.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  src: url("../../assets/fonts/notosansjp-bold.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans JP";
  src: url("../../assets/fonts/notosansjp-black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
}
/* Rubik */
@font-face {
  font-display: swap;
  font-family: "Rubik";
  src: url("../../assets/fonts/Rubik-Regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-display: swap;
  font-family: "Rubik";
  src: url("../../assets/fonts/Rubik-Light.woff") format("woff");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-display: swap;
  font-family: "Rubik";
  src: url("../../assets/fonts/Rubik-Black.woff") format("woff");
  font-weight: 900;
  font-style: normal;
}
@font-face {
  font-display: swap;
  font-family: "Rubik";
  src: url("../../assets/fonts/Rubik-BoldItalic.woff") format("woff");
  font-weight: 700;
  font-style: italic;
}
@font-face {
  font-display: swap;
  font-family: "Rubik";
  src: url("../../assets/fonts/Rubik-ExtraBoldItalic.woff") format("woff");
  font-weight: 800;
  font-style: italic;
}
@font-face {
  font-display: swap;
  font-family: "Rubik";
  src: url("../../assets/fonts/Rubik-MediumItalic.woff") format("woff");
  font-weight: 500;
  font-style: italic;
}
/* いもいぽてさんのカラー */
/* 白乃ことらさんのカラー */
/* ねむみるつさんのカラー */
/* 羽壱まほさんのカラー */
/* 月宮くぅさんのカラー */
/* 黄白レモさんのカラー */
/* 彩刃ニイルさんのカラー */
/* 蝶咲りりはさんのカラー */
/* 百瀬こいろさんのカラー */
/* 七八くまのさんのカラー */
/* SPファースト */
html {
  font-size: 16px;
}
@media (max-width: 414px) {
  html {
    font-size: 3.8647342995vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.2121212121vw;
  }
}
@media (min-width: 1320px) {
  html {
    font-size: 16px;
  }
}

/* フォントウェイトとフォントカラーは、使用頻度が多いものを選択する */
body {
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #333333;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

/* PC版Chromeで拡縮画像ぼやけ対策 */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (-webkit-min-device-pixel-ratio: 0), screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
  img {
    image-rendering: -webkit-optimize-contrast;
  }
}
/* iPhoneSafariで画像ジャギ対策 */
img {
  image-rendering: auto;
}

/* コンテンツ量が少なく短いページでもフッターを最下部に表示する ---- */
.content-wrap {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main {
  flex: 1;
}

/* コンテンツ量が少なく短いページでもフッターを最下部に表示する ここまで ---- */
/* YouTubeのframeborder属性の変わり(HTML5の標準仕様で廃止されているため) */
iframe {
  border: none;
}

/* 画像のコピー禁止 */
img {
  user-select: none; /* 画像の選択を無効化 */
  -webkit-user-select: none; /* iOSなどWebKit系ブラウザ向け */
  -moz-user-select: none; /* 古いFirefox向け */
  -webkit-touch-callout: none; /* iOSの長押しメニューを無効化 */
  pointer-events: none; /* クリックイベントを無効化 */
}

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

ul,
ol {
  padding: 0;
}

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

ul,
ol {
  list-style: none;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
}

img {
  display: block;
  width: 100%;
  max-width: 100%;
}

article > * + * {
  margin-top: 1em;
}

input,
button,
textarea,
select {
  font: inherit;
}

img:not([alt]) {
  filter: blur(10px);
}

input,
button,
select,
textarea {
  font: inherit;
  border: none;
  border-radius: 0;
  outline: none;
  background: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea {
  resize: none;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

.inner {
  width: 100%;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .inner {
    max-width: 85.625rem;
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}

.about {
  position: relative;
}

@media screen and (min-width: 768px) {
  .about::before {
    content: "";
    display: block;
    position: absolute;
    top: -37.5vw;
    left: -11.9791666667vw;
    width: 100vw;
    height: 95.9375vw;
    background-image: url(../../assets/images/common/deco-logo.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -3;
  }
}

html.webp .about::before {
  background-image: url(../../assets/images/common/deco-logo.webp);
}
@media screen and (min-width: 768px) {
  html.webp .about::before {
    background-image: url(../../assets/images/common/deco-logo.webp);
  }
}

.about__inner.inner {
  padding: 0;
  max-width: 34.375rem;
}
@media screen and (min-width: 768px) {
  .about__inner.inner {
    padding-inline: 1.5625rem;
    max-width: 65.625rem;
  }
}

.about__section-title {
  position: relative;
  width: min(100%, 10.25rem);
  margin-inline: auto;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .about__section-title {
    width: min(100%, 32.5rem);
  }
}

.about__container {
  position: relative;
  border-radius: 1.875rem;
  background: linear-gradient(90deg, #00ffff 0%, #ea00ff 100%);
  padding-top: 2.0625rem;
  padding-bottom: 1.875rem;
  z-index: 0;
  margin: -1.25rem auto 0;
}
@media screen and (min-width: 768px) {
  .about__container {
    padding-top: 4.125rem;
    padding-bottom: 4.375rem;
    margin: -3.75rem auto 0;
  }
}

.about__container::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0.1875rem;
  background: url(../../assets/images/common/bg-graph-paper.png);
  background-color: #fff;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 1.875rem;
  z-index: -2;
}
@media screen and (min-width: 768px) {
  .about__container::before {
    inset: 0.3125rem;
  }
}

.about__container::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 4rem;
  left: 50%;
  transform: translateX(-50%);
  background: url(../../assets/images/top/about/text-officiallinks.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 23.375rem;
  height: 5rem;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .about__container::after {
    width: 59.4375rem;
    height: 12.5rem;
    bottom: 4.5rem;
  }
}

.about__contents {
  text-align: center;
}

.about__text {
  position: relative;
  font-size: 0.9375rem;
  font-weight: 800;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #ffffff;
  padding: 0.1875rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .about__text {
    font-size: 1.25rem;
    padding: 0.625rem;
  }
}

.about__text::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, #36d9fa 0%, #fd7bff 100%);
  width: 100%;
  height: 100%;
  z-index: -2;
}

.about__text::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../../assets/images/common/text-bg-noise.png);
  background-size: contain;
  background-repeat: repeat;
  background-size: 33.75rem 2.5rem;
  width: 100%;
  height: 100%;
  z-index: -1;
  mix-blend-mode: overlay;
}

.about__text + .about__text {
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .about__text + .about__text {
    margin-top: 1.25rem;
  }
}

.about__sns-list {
  display: flex;
  justify-content: center;
  gap: 1.5625rem;
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .about__sns-list {
    gap: 3.125rem;
    margin-top: 3.125rem;
  }
}

.about__sns-item {
  width: 9.375rem;
  height: 9.375rem;
}
@media screen and (min-width: 768px) {
  .about__sns-item {
    width: 12.5rem;
    height: 12.5rem;
  }
}

.about__sns-item a {
  display: block;
  transition: all 0.3s;
}

.about__sns-item a:hover {
  transform: scale(1.1);
  filter: brightness(1.3);
}

/* フェードインアニメーション */
.sub-fadein-up,
.sub-fadein-up-02 {
  opacity: 0;
}

/* MVアニメーション */
.mv__img img {
  opacity: 0; /* 初期状態は非表示 */
  position: relative;
}

.article__inner.inner {
  padding-inline: 0.625rem;
}
@media screen and (min-width: 768px) {
  .article__inner.inner {
    padding-inline: 1.5625rem;
    max-width: 85.625rem;
  }
}

.article__container {
  padding: 1.875rem 1.875rem 3.125rem;
  margin-inline: auto;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 3.125rem;
  border: 0.3125rem solid #a9d3ff;
}
@media screen and (min-width: 768px) {
  .article__container {
    padding: 3.75rem 1.875rem 4.5rem;
    border: 0.625rem solid #a9d3ff;
  }
}

.article__content-wrap {
  width: min(100%, 34.375rem);
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .article__content-wrap {
    width: min(100%, 54.6875rem);
  }
}

.article__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.article__category {
  display: inline-block;
  font-size: 1rem;
  font-weight: 400;
  font-family: "Rubik", sans-serif;
  padding: 0.3125rem 1.25rem;
  border-radius: 0.8125rem;
}
@media screen and (min-width: 768px) {
  .article__category {
    font-size: 1.5rem;
    padding: 0.0625rem 1.25rem;
  }
}

.article__date {
  font-size: 1rem;
  font-weight: 400;
  font-family: "Rubik", sans-serif;
  color: #878fff;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .article__date {
    font-size: 1.5rem;
  }
}

.article__area h1 {
  margin-top: 0.9375rem;
  font-size: 1rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  color: #555555;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .article__area h1 {
    font-size: 1.75rem;
    margin-top: 2.5rem;
  }
}

.article__area figure {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .article__area figure {
    margin-top: 2.5rem;
  }
}

.article__area p {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  font-weight: 400;
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .article__area p {
    font-size: 0.9375rem;
    margin-top: 2.5rem;
  }
}

.article__area a {
  overflow-wrap: break-word;
}

.article__share {
  padding-right: 0.3125rem;
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .article__share {
    padding-right: unset;
    margin-top: 2.1875rem;
  }
}

/* 以下追加 */
.article__area h2 {
  position: relative;
  font-size: 1rem;
  font-weight: 700;
  font-weight: "M PLUS Rounded 1c", sans-serif;
  line-height: 1.5;
  color: #ffffff;
  margin-top: 3.125rem;
  padding: 0.4375rem 0.625rem;
  background: linear-gradient(-45deg, #0079e0 24%, #008aff 0, #008aff 50%, #0079e0 0, #0079e0 75%, #008aff 0);
  background-size: 1.25rem 1.25rem;
}
@media screen and (min-width: 768px) {
  .article__area h2 {
    font-size: 1.5rem;
    margin-top: 3.75rem;
    padding: 0.625rem 0.9375rem;
  }
}

.article__area h3 {
  font-size: 0.9375rem;
  font-weight: 700;
  font-weight: "M PLUS Rounded 1c", sans-serif;
  color: #ffffff;
  line-height: 1.5;
  margin-top: 2.5rem;
  padding: 0.625rem 1.25rem;
  border-left: 0.5rem solid #008aff;
  background-color: #a9d3ff;
}
@media screen and (min-width: 768px) {
  .article__area h3 {
    font-size: 1.25rem;
    margin-top: 3.75rem;
  }
}

.article__area h4 {
  font-size: 0.875rem;
  font-weight: 700;
  color: #000000;
  line-height: 1.3;
  margin-top: 2.5rem;
  padding: 0.3125rem 0.625rem;
  border-bottom: 0.375rem double #008aff;
}
@media screen and (min-width: 768px) {
  .article__area h4 {
    font-size: 1.125rem;
    margin-top: 3.125rem;
  }
}

.article__area ul {
  margin-top: 1.25rem;
}

.article__area li {
  position: relative;
  font-size: 0.9375rem;
  font-family: "Noto Sans JP", sans-serif;
  color: #000000;
  line-height: 1.5;
  padding-left: 1em;
  margin-top: 0.5rem;
}

.article__area li:first-child {
  margin-top: 0;
}

/* リストの「・」 */
.article__area li::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.4em;
  left: 0.3125rem;
  width: 0.3125rem;
  height: 0.3125rem;
  border-radius: 100vh;
  background-color: #000000;
}

.article__area p a {
  display: inline-block;
  font-size: 0.9375rem;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
  color: #ae00ff;
  text-decoration: underline;
  word-break: break-all;
  transition: all 0.3s;
}

.article__area p a:hover {
  opacity: 0.6;
}

.article__back-btn {
  margin-top: 3.125rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .article__back-btn {
    margin-top: 4.6875rem;
  }
}

.audition {
  position: relative;
  margin-top: 3.125rem;
  height: 314.0096618357vw;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .audition {
    padding-top: 3.6458333333vw;
    margin-top: 10.8125rem;
    height: 48.75vw;
  }
}
@media screen and (min-width: 1920px) {
  .audition {
    padding-top: 4.375rem;
    height: 58.5rem;
  }
}

.audition::before {
  content: "";
  position: absolute;
  top: 1.3125rem;
  left: 0;
  right: 0;
  background-image: url(../../assets/images/top/audition/audition-bg-sp.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .audition::before {
    top: 0;
    background-image: url(../../assets/images/top/audition/audition-bg-pc.jpg);
  }
}

html.webp .audition::before {
  background-image: url(../../assets/images/top/audition/audition-bg-sp.webp);
}
@media screen and (min-width: 768px) {
  html.webp .audition::before {
    background-image: url(../../assets/images/top/audition/audition-bg-pc.webp);
  }
}

@media screen and (min-width: 768px) {
  .audition::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    height: 100%;
    width: 100%;
    background-image: linear-gradient(71.3deg, rgb(0, 0, 255) 35.6%, rgba(255, 255, 255, 0) 35.6%);
    z-index: -1;
  }
}

.audition__inner {
  padding-left: 1.9323671498vw;
  padding-right: 1.9323671498vw;
}
@media screen and (min-width: 768px) {
  .audition__inner {
    padding-left: 3.0208333333vw;
    padding-right: 3.0208333333vw;
  }
}
@media screen and (min-width: 1920px) {
  .audition__inner {
    padding-left: 0;
    padding-right: 0;
    max-width: 111.875rem;
    margin: auto;
  }
}

.audition__section-title {
  width: 47.1014492754vw;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .audition__section-title {
    width: 36.5104166667vw;
    margin: 0;
  }
}
@media screen and (min-width: 1920px) {
  .audition__section-title {
    width: 43.8125rem;
  }
}

.audition__info {
  margin-top: 6.2801932367vw;
}
@media screen and (min-width: 768px) {
  .audition__info {
    margin-top: 5.6770833333vw;
  }
}
@media screen and (min-width: 1920px) {
  .audition__info {
    margin-top: 6.8125rem;
  }
}

.audition__heading {
  font-size: 9.6618357488vw;
  font-weight: 900;
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  background-color: #0000ff;
  padding: 1.9323671498vw 1.4492753623vw;
  margin-right: auto;
  margin-left: auto;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (min-width: 768px) {
  .audition__heading {
    font-size: 3.8541666667vw;
    padding: 0;
    margin-right: 0;
    margin-left: 0;
    background-color: transparent;
  }
}
@media screen and (min-width: 1920px) {
  .audition__heading {
    font-size: 4.625rem;
  }
}

.audition__info-text-wrapper {
  margin-top: 2.4154589372vw;
}
@media screen and (min-width: 768px) {
  .audition__info-text-wrapper {
    margin-top: 2.8645833333vw;
  }
}
@media screen and (min-width: 1920px) {
  .audition__info-text-wrapper {
    margin-top: 3.4375rem;
  }
}

.audition__info-text {
  display: block;
  font-size: 3.3816425121vw;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  background-color: #000000;
  padding: 0.7246376812vw;
  width: -moz-max-content;
  width: max-content;
}
@media screen and (min-width: 768px) {
  .audition__info-text {
    font-size: 0.8333333333vw;
    padding: 0.1822916667vw;
  }
}
@media screen and (min-width: 1920px) {
  .audition__info-text {
    font-size: 1rem;
    padding: 0.21875rem;
  }
}

.audition__info-text:nth-child(n+2) {
  margin-top: 2.4154589372vw;
}
@media screen and (min-width: 768px) {
  .audition__info-text:nth-child(n+2) {
    margin-top: 0.5208333333vw;
  }
}
@media screen and (min-width: 1920px) {
  .audition__info-text:nth-child(n+2) {
    margin-top: 0.625rem;
  }
}

.audition__btn {
  position: relative;
  z-index: 10;
  text-align: center;
  margin-top: 8.4541062802vw;
}
@media screen and (min-width: 768px) {
  .audition__btn {
    margin-top: 3.125vw;
    text-align: left;
  }
}
@media screen and (min-width: 1920px) {
  .audition__btn {
    margin-top: 3.75rem;
  }
}

@media screen and (min-width: 768px) {
  .audition__talents {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
  }
}

.audition__talents-items {
  position: relative;
}
.audition__talents-item {
  position: absolute;
}

.audition__talents-item-pote {
  top: 108.9371980676vw;
  width: 63.2850241546vw;
  right: calc(50% - 15.7004830918vw);
  z-index: 9;
}
@media screen and (min-width: 768px) {
  .audition__talents-item-pote {
    top: 11.7708333333vw;
    width: 23.2291666667vw;
    right: auto;
    left: calc(50% + 6.875vw);
  }
}
@media screen and (min-width: 1920px) {
  .audition__talents-item-pote {
    top: 14.125rem;
    width: 27.875rem;
    left: calc(50% + 8.25rem);
  }
}

.audition__talents-item-kotora {
  top: 110.6280193237vw;
  left: calc(50% - 17.6328502415vw);
  width: 63.2850241546vw;
  z-index: 8;
}
@media screen and (min-width: 768px) {
  .audition__talents-item-kotora {
    top: 12.5vw;
    left: calc(50% + 17.8645833333vw);
    width: 23.2291666667vw;
  }
}
@media screen and (min-width: 1920px) {
  .audition__talents-item-kotora {
    top: 15rem;
    left: calc(50% + 21.4375rem);
    width: 27.875rem;
  }
}

.audition__talents-item-ruth {
  top: 68.8405797101vw;
  left: calc(50% - 32.8502415459vw);
  width: 63.2850241546vw;
  z-index: 7;
}
@media screen and (min-width: 768px) {
  .audition__talents-item-ruth {
    top: 10.1041666667vw;
    left: calc(50% - 5.4166666667vw);
    width: 23.2291666667vw;
  }
}
@media screen and (min-width: 1920px) {
  .audition__talents-item-ruth {
    top: 12.125rem;
    left: calc(50% - 6.5rem);
    width: 27.875rem;
  }
}

.audition__talents-item-maho {
  top: 64.7342995169vw;
  right: calc(50% - 3.8647342995vw);
  width: 63.2850241546vw;
  z-index: 6;
}
@media screen and (min-width: 768px) {
  .audition__talents-item-maho {
    top: 8.4375vw;
    right: auto;
    left: calc(50% - 18.90625vw);
    width: 23.2291666667vw;
  }
}
@media screen and (min-width: 1920px) {
  .audition__talents-item-maho {
    top: 10.125rem;
    left: calc(50% - 22.6875rem);
    width: 27.875rem;
  }
}

.audition__talents-item-quu {
  top: 75.6038647343vw;
  left: calc(50% - 1.690821256vw);
  width: 63.2850241546vw;
  z-index: 5;
}
@media screen and (min-width: 768px) {
  .audition__talents-item-quu {
    top: 12.6041666667vw;
    left: calc(50% + 29.1666666667vw);
    width: 23.2291666667vw;
  }
}
@media screen and (min-width: 1920px) {
  .audition__talents-item-quu {
    top: 15.125rem;
    left: calc(50% + 35rem);
    width: 27.875rem;
  }
}

.audition__talents-item-neel {
  top: 24.154589372vw;
  right: calc(50% - 20.2898550725vw);
  width: 63.2850241546vw;
  z-index: 4;
}
@media screen and (min-width: 768px) {
  .audition__talents-item-neel {
    top: -2.3958333333vw;
    right: auto;
    left: calc(50% + 11.71875vw);
    width: 23.2291666667vw;
  }
}
@media screen and (min-width: 1920px) {
  .audition__talents-item-neel {
    top: -2.875rem;
    left: calc(50% + 14.0625rem);
    width: 27.875rem;
  }
}

.audition__talents-item-lemo {
  top: 42.9951690821vw;
  left: calc(50% - 19.3236714976vw);
  width: 63.2850241546vw;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .audition__talents-item-lemo {
    top: 4.1666666667vw;
    left: calc(50% + 0.46875vw);
    width: 22.5vw;
  }
}
@media screen and (min-width: 1920px) {
  .audition__talents-item-lemo {
    top: 5rem;
    left: calc(50% + 0.5625rem);
    width: 27rem;
  }
}

.audition__talents-item-ririha {
  top: 3.8647342995vw;
  right: calc(50% - 5.3140096618vw);
  width: 63.2850241546vw;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .audition__talents-item-ririha {
    top: 1.40625vw;
    right: auto;
    left: calc(50% + 21.4583333333vw);
    width: 23.2291666667vw;
  }
}
@media screen and (min-width: 1920px) {
  .audition__talents-item-ririha {
    top: 1.6875rem;
    left: calc(50% + 25.75rem);
    width: 27.875rem;
  }
}

.audition__talents-item-koiro {
  top: 14.2512077295vw;
  left: calc(50% - 28.5024154589vw);
  width: 63.2850241546vw;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .audition__talents-item-koiro {
    top: 5.4166666667vw;
    left: calc(50% - 10.2604166667vw);
    width: 23.2291666667vw;
  }
}
@media screen and (min-width: 1920px) {
  .audition__talents-item-koiro {
    top: 6.5rem;
    left: calc(50% - 12.3125rem);
    width: 27.875rem;
  }
}

.audition__talents-item-kumano {
  top: 15.4589371981vw;
  left: calc(50% + 0.7246376812vw);
  width: 58.4541062802vw;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .audition__talents-item-kumano {
    top: 5.4166666667vw;
    left: calc(50% + 33.9583333333vw);
    width: 21.71875vw;
  }
}
@media screen and (min-width: 1920px) {
  .audition__talents-item-kumano {
    top: 6.5rem;
    left: calc(50% + 40.75rem);
    width: 26.0625rem;
  }
}

.bg-parallax {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
}

.bg-parallax__img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
  z-index: -10;
}

.bg-parallax__img::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../../assets/images/common/bg-sp.jpg);
  background-size: cover;
  background-position: top center;
}
@media screen and (min-width: 768px) {
  .bg-parallax__img::before {
    background-image: url(../../assets/images/common/bg-pc.jpg);
  }
}

html .webp ::before {
  background-image: url(../../assets/images/common/bg-sp.webp);
}
@media screen and (min-width: 768px) {
  html .webp ::before {
    background-image: url(../../assets/images/common/bg-pc.webp);
  }
}

/* パンくずリスト */
.breadcrumb {
  width: 100%;
  padding: 0 0.625rem;
  margin: 15.7004830918vw auto 0;
}
@media screen and (min-width: 768px) {
  .breadcrumb {
    max-width: 84.375rem;
    margin: 9.375vw auto 0;
    padding: 0 2.5rem;
  }
}

.breadcrumb__items {
  display: flex;
  align-items: center;
  flex-wrap: wrap; /* パンくずリストが長くなったときに折り返す */
}

.breadcrumb__items li {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 400;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
  line-height: 1.5;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .breadcrumb__items li {
    font-size: 1rem;
  }
}

.breadcrumb__items li:last-of-type {
  white-space: normal;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* 表示する行数を2行に設定 */
  overflow: hidden;
}
.breadcrumb__items li::after {
  content: ">";
  display: inline-block;
  margin: 0 0.3125rem;
  font-size: 0.875rem;
}

.breadcrumb__items li:last-of-type::after {
  content: "";
  margin: 0;
}

.breadcrumb__items li a {
  color: inherit;
  text-decoration: underline;
  transition: all 0.3s;
}

.breadcrumb__items li a:hover {
  opacity: 0.6;
}

/* NEWSの一覧ページ用のパンクズを非表示 */
.taxonomy.news_category {
  display: none;
}

/* ----- ボタンタイプ共通設定 ここから ----- */
.btn {
  display: inline-block;
  transition: all 0.3s;
  text-align: center;
}
.btn__text {
  display: inline-block;
  transition: all 0.3s;
}

/* ----- ボタンタイプ共通設定 ここまで ----- */
/* ----- 『公式グッズストア』ボタン ここから ----- */
.btn.btn-01 {
  position: relative;
  width: 100%;
  max-width: 23.25rem;
  border-radius: 100vh;
  background-color: #fc4d50;
  border: 3px solid #ffffff;
  padding: 1.25rem 0;
}
@media screen and (min-width: 768px) {
  .btn.btn-01 {
    max-width: 33.125rem;
    padding: 2.125rem 0;
  }
}

.btn.btn-01:hover {
  background-color: #ffffff;
  border: 3px solid #fc4d50;
}

.btn__text-01 {
  position: relative;
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #ffffff;
  padding-right: 2.1875rem;
}
@media screen and (min-width: 768px) {
  .btn__text-01 {
    font-size: 2.25rem;
    padding-right: 3.0625rem;
  }
}

.btn.btn-01:hover .btn__text-01 {
  color: #fc4d50;
}

.btn-01::before,
.btn__text-01::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
}

.btn-01::before {
  left: 0.625rem;
  width: 1.75rem;
  height: 0.6875rem;
  -webkit-mask-image: url(../../assets/images/common/icon-arrow.svg);
          mask-image: url(../../assets/images/common/icon-arrow.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #ffffff;
}
@media screen and (min-width: 768px) {
  .btn-01::before {
    left: 1.25rem;
  }
}

.btn-01:hover::before {
  background-color: #fc4d50;
}

.btn__text-01::before {
  right: 0;
  width: 1.5625rem;
  height: 1.5625rem;
  background-image: url(../../assets/images/common/icon-camel.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .btn__text-01::before {
    width: 2.4375rem;
    height: 2.4375rem;
  }
}

/* ----- 『公式グッズストア』ボタン ここまで ----- */
/* ----- 『オーディションはこちらから!』ボタン ここから ----- */
.btn.btn-02 {
  position: relative;
  width: 100%;
  max-width: 83.8164251208vw;
  border-radius: 100vh;
  border: 2px solid #ffffff;
  background-color: #ffedfd;
  filter: drop-shadow(0px 0px 4.8309178744vw #ffffff);
  padding: 3.9855072464vw 0;
}
@media screen and (min-width: 768px) {
  .btn.btn-02 {
    max-width: 27.6041666667vw;
    padding: 2.03125vw 0;
    filter: drop-shadow(0px 0px 1.0416666667vw #ffffff);
  }
}
@media screen and (min-width: 1920px) {
  .btn.btn-02 {
    max-width: 33.125rem;
    padding: 2.4375rem 0;
    filter: drop-shadow(0px 0px 1.25rem #ffffff);
  }
}

.btn.btn-02:hover {
  filter: drop-shadow(0px 0px 1.875rem #ffffff) brightness(1.2);
}

.btn__text-02 {
  font-size: 4.347826087vw;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #0000ff;
}
@media screen and (min-width: 768px) {
  .btn__text-02 {
    font-size: 1.4583333333vw;
  }
}
@media screen and (min-width: 1920px) {
  .btn__text-02 {
    font-size: 1.75rem;
  }
}

.btn-02::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.4154589372vw;
  transform: translateY(-50%);
  width: 7.0048309179vw;
  height: 7.0048309179vw;
  background-image: url(../../assets/images/common/icon-arrow-clear.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .btn-02::before {
    right: 1.0416666667vw;
    width: 2.6041666667vw;
    height: 2.6041666667vw;
  }
}
@media screen and (min-width: 1920px) {
  .btn-02::before {
    right: 1.25rem;
    width: 3.125rem;
    height: 3.125rem;
  }
}

.btn.btn-02:hover .btn__text-02,
.btn.btn-02:hover::before {
  opacity: 0.6;
}

/* ----- 『オーディションはこちらから!』ボタン ここまで ----- */
/* ----- 『基本ガイドライン』ボタン ここから ----- */
.btn.btn-03 {
  position: relative;
  width: 100%;
  max-width: 17.5rem;
  border-radius: 100vh;
  background-color: #008aff;
  border: 2px solid #ffffff;
  padding: 1rem 0;
}
@media screen and (min-width: 768px) {
  .btn.btn-03 {
    max-width: 29.375rem;
    padding: 1.625rem 0;
  }
}

.btn.btn-03:hover {
  background-color: #ffffff;
  border: 2px solid #008aff;
}

.btn__text-03 {
  position: relative;
  font-size: 1rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #ffffff;
  padding-right: 1.1875rem;
}
@media screen and (min-width: 768px) {
  .btn__text-03 {
    font-size: 1.5rem;
    padding-right: 2.25rem;
  }
}

.btn.btn-03:hover .btn__text-03 {
  color: #008aff;
}

.btn-03::before,
.btn__text-03::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
}

.btn-03::before {
  left: 0.625rem;
  width: 0.875rem;
  height: 0.3125rem;
  -webkit-mask-image: url(../../assets/images/common/icon-arrow.svg);
          mask-image: url(../../assets/images/common/icon-arrow.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #ffffff;
}
@media screen and (min-width: 768px) {
  .btn-03::before {
    left: 1.125rem;
    width: 1.75rem;
    height: 0.6875rem;
  }
}

.btn-03:hover::before {
  background-color: #008aff;
}

.btn__text-03::before {
  right: 0;
  -webkit-mask-image: url(../../assets/images/common/icon-memo.svg);
          mask-image: url(../../assets/images/common/icon-memo.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #ffffff;
  width: 0.875rem;
  height: 1.0625rem;
}
@media screen and (min-width: 768px) {
  .btn__text-03::before {
    width: 1.625rem;
    height: 1.875rem;
  }
}

.btn-03:hover .btn__text-03::before {
  background-color: #008aff;
}

/* ----- 『基本ガイドライン』ボタン ここまで ----- */
/* ----- 『切り抜き動画ガイドライン』ボタン ここから ----- */
.btn.btn-04 {
  position: relative;
  width: 100%;
  max-width: 17.5rem;
  border-radius: 100vh;
  background-color: #ae00ff;
  border: 2px solid #ffffff;
  padding: 1rem 0;
}
@media screen and (min-width: 768px) {
  .btn.btn-04 {
    max-width: 29.375rem;
    padding: 1.625rem 0;
  }
}

.btn.btn-04:hover {
  background-color: #ffffff;
  border: 2px solid #ae00ff;
}

.btn__text-04 {
  position: relative;
  font-size: 1rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #ffffff;
  padding-right: 1.4375rem;
}
@media screen and (min-width: 768px) {
  .btn__text-04 {
    font-size: 1.5rem;
    padding-right: 2.75rem;
  }
}

.btn-04:hover .btn__text-04 {
  color: #ae00ff;
}

.btn-04::before,
.btn__text-04::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
}

.btn-04::before {
  left: 0.625rem;
  width: 0.875rem;
  height: 0.3125rem;
  -webkit-mask-image: url(../../assets/images/common/icon-arrow.svg);
          mask-image: url(../../assets/images/common/icon-arrow.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #ffffff;
}
@media screen and (min-width: 768px) {
  .btn-04::before {
    left: 1.125rem;
    width: 1.75rem;
    height: 0.6875rem;
  }
}

.btn-04:hover::before {
  background-color: #ae00ff;
}

.btn__text-04::before {
  right: 0;
  -webkit-mask-image: url(../../assets/images/common/icon-play.svg);
          mask-image: url(../../assets/images/common/icon-play.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #ffffff;
  width: 1.125rem;
  height: 1.0625rem;
}
@media screen and (min-width: 768px) {
  .btn__text-04::before {
    width: 2.125rem;
    height: 1.875rem;
  }
}

.btn-04:hover .btn__text-04::before {
  background-color: #ae00ff;
}

/* ----- 『切り抜き動画ガイドライン』ボタン ここまで ----- */
/* ----- 『お問い合わせはこちらから』ボタン ここから ----- */
.btn.btn-05 {
  position: relative;
  width: 100%;
  max-width: 17.5rem;
  border-radius: 100vh;
  background-color: #ffffff;
  border: 2px solid #555555;
  padding: 1rem 0;
}
@media screen and (min-width: 768px) {
  .btn.btn-05 {
    max-width: 29.375rem;
    padding: 1.625rem 0;
  }
}

.btn.btn-05:hover {
  background-color: #555555;
  border: 2px solid #ffffff;
}

.btn__text-05 {
  position: relative;
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
  padding-right: 1.8125rem;
}
@media screen and (min-width: 768px) {
  .btn__text-05 {
    font-size: 1.5rem;
    padding-right: 2.75rem;
  }
}

.btn.btn-05:hover .btn__text-05 {
  color: #ffffff;
}

.btn-05::before,
.btn__text-05::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
}

.btn-05::before {
  left: 0.625rem;
  width: 0.875rem;
  height: 0.3125rem;
  -webkit-mask-image: url(../../assets/images/common/icon-arrow.svg);
          mask-image: url(../../assets/images/common/icon-arrow.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #555555;
}
@media screen and (min-width: 768px) {
  .btn-05::before {
    left: 1.125rem;
    width: 1.75rem;
    height: 0.6875rem;
  }
}

.btn-05:hover::before {
  background-color: #ffffff;
}

.btn__text-05::before {
  right: 0;
  -webkit-mask-image: url(../../assets/images/common/icon-mail.svg);
          mask-image: url(../../assets/images/common/icon-mail.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #555555;
  width: 1.5rem;
  height: 1.0625rem;
}
@media screen and (min-width: 768px) {
  .btn__text-05::before {
    width: 2.125rem;
    height: 1.875rem;
  }
}

.btn-05:hover .btn__text-05::before {
  background-color: #ffffff;
}

/* ----- 『お問い合わせはこちらから』ボタン ここまで ----- */
/* ----- 『BACK』ボタン ここから ----- */
.btn.btn-06 {
  position: relative;
  width: 100%;
  max-width: 17.5rem;
  border-radius: 100vh;
  background-color: #ffffff;
  border: 3px solid #878fff;
  padding: 1rem 0;
}
@media screen and (min-width: 768px) {
  .btn.btn-06 {
    max-width: 29.375rem;
    padding: 1.625rem 0;
  }
}

.btn.btn-06:hover {
  background-color: #878fff;
  border: 3px solid #ffffff;
}

.btn__text-06 {
  position: relative;
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #878fff;
  text-transform: uppercase;
}

.btn.btn-06:hover .btn__text-06 {
  color: #ffffff;
}

.btn-06::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
}

.btn-06::before {
  left: 0.625rem;
  width: 1.25rem;
  height: 0.9375rem;
  -webkit-mask-image: url(../../assets/images/common/icon-arrow-back.svg);
          mask-image: url(../../assets/images/common/icon-arrow-back.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #878fff;
}
@media screen and (min-width: 768px) {
  .btn-06::before {
    left: 1.125rem;
    width: 1.75rem;
    height: 1.375rem;
  }
}

.btn-06:hover::before {
  background-color: #ffffff;
}

/* ----- 『BACK』ボタン ここまで ----- */
/* ----- 『応募する①』ボタン ここから ----- */
.btn-07 {
  position: relative;
  width: 100%;
  max-width: 23.5rem;
  border-radius: 100vh;
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 100%), linear-gradient(75deg, #5762ff 0%, #ff00e5 100%);
  background-blend-mode: overlay;
  border: 2px solid #ffffff;
  padding: 1rem 0;
}
@media screen and (min-width: 768px) {
  .btn-07 {
    max-width: 33.125rem;
    padding: 1.5625rem 0;
  }
}

.btn-07:hover {
  filter: brightness(1.5);
}

.btn-07::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
}

.btn-07::before {
  right: 1.25rem;
  width: 1.875rem;
  height: 1.875rem;
  background: url(../../assets/images/common/icon-arrow-translucent.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .btn-07::before {
    right: 2.1875rem;
    width: 2.5rem;
    height: 2.5rem;
  }
}

.btn__text-07 {
  position: relative;
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #ffffff;
}

/* ----- 『応募する①』ボタン ここまで ----- */
/* ----- 『SPECIAL View ALL』ボタン ここから ----- */
.btn-08 {
  position: relative;
  width: 100%;
  max-width: 23.25rem;
  border-radius: 100vh;
  background-image: linear-gradient(75deg, #0ff 0%, #ea00ff 100%);
  border: 3px solid #ffffff;
  padding: 1.25rem 0;
}
@media screen and (min-width: 768px) {
  .btn-08 {
    max-width: 33.125rem;
    padding: 1.8125rem 0;
  }
}

.btn-08:hover {
  filter: brightness(1.5);
}

.btn-08::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
}

.btn-08::before {
  left: 0.625rem;
  width: 0.875rem;
  height: 0.3125rem;
  -webkit-mask-image: url(../../assets/images/common/icon-arrow.svg);
          mask-image: url(../../assets/images/common/icon-arrow.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #ffffff;
}
@media screen and (min-width: 768px) {
  .btn-08::before {
    left: 1.875rem;
    width: 1.75rem;
    height: 0.6875rem;
  }
}

.btn__text-08 {
  position: relative;
  font-size: 1.5rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #ffffff;
  text-transform: capitalize;
}
@media screen and (min-width: 768px) {
  .btn__text-08 {
    font-size: 2.25rem;
  }
}

/* ----- 『SPECIAL View ALL』ボタン ここまで ----- */
/* ----- 『お問い合わせボタン｜確認画面へ・送信』ボタン ここから ----- */
.wpcf7-spinner {
  display: none;
}

/* ----- 『お問い合わせボタン｜確認画面へ・送信』ボタン ここまで ----- */
/* ----- 『お問い合わせボタン｜入力画面へ戻る』ボタン ここから ----- */
.btn.btn-contact-back {
  position: relative;
  width: 100%;
  max-width: 18.75rem;
  border-radius: 100vh;
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 100%), linear-gradient(75deg, #5762ff 0%, #ff00e5 100%);
  background-blend-mode: overlay;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .btn.btn-contact-back {
    max-width: 33.125rem;
  }
}

.btn.btn-contact-back::after {
  content: "";
  position: absolute;
  left: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit-mask-image: url(../../assets/images/common/icon-arrow-translucent.svg);
          mask-image: url(../../assets/images/common/icon-arrow-translucent.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #008aff;
  width: 1.875rem;
  height: 1.875rem;
  pointer-events: none;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .btn.btn-contact-back::after {
    left: 1.875rem;
    width: 2.5rem;
    height: 2.5rem;
  }
}

.btn.btn-contact-back:hover::before {
  background-image: linear-gradient(90deg, #ffffff, #ffffff);
}

.btn.btn-contact-back::after {
  background-color: #939393;
  transform: translateY(-50%) scaleX(-1);
}

.btn.btn-contact-back:hover::after {
  background-color: #ffffff;
}

/* 文字を上に表示するための記述 */
.btn-contact__back-text {
  position: relative;
  width: 100%;
}

/* ボタンhover後の背景色 */
.btn.btn-contact-back::before {
  content: "";
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  background-color: #ffffff;
  border-radius: 100vh;
}

/* ボタンhoverで元の背景色透過 */
.btn.btn-contact-back:hover::before {
  opacity: 0;
}

.btn-contact__back-text {
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
  transition: all 0.3s;
  width: 100%;
  padding: 1.125rem 0;
}
@media screen and (min-width: 768px) {
  .btn-contact__back-text {
    font-size: 1.5rem;
    padding: 1.625rem 0;
  }
}

.btn.btn-contact-back:hover .btn-contact__back-text {
  -webkit-text-fill-color: #ffffff; /* ホバー時はテキスト色 */
  background: none; /* ホバー時はグラデーションを無効化 */
}

/* ----- 『お問い合わせボタン｜入力画面へ戻る』ボタン ここまで ----- */
/* ----- 『お問い合わせボタン｜確認画面へ』ボタン ここから ----- */
.btn.btn-contact-confirm {
  position: relative;
  width: 100%;
  max-width: 18.75rem;
  border-radius: 100vh;
  background-image: linear-gradient(90deg, #ffffff, #ffffff);
  transition: all 0.3s;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .btn.btn-contact-confirm {
    max-width: 33.125rem;
  }
}

.btn.btn-contact-confirm:hover {
  background-blend-mode: overlay;
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 100%), linear-gradient(75deg, #5762ff 0%, #ff00e5 100%);
}

.btn.btn-contact-confirm::after {
  content: "";
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit-mask-image: url(../../assets/images/common/icon-arrow-translucent.svg);
          mask-image: url(../../assets/images/common/icon-arrow-translucent.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #ffffff;
  width: 1.875rem;
  height: 1.875rem;
  z-index: 1;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .btn.btn-contact-confirm::after {
    right: 1.875rem;
    width: 2.5rem;
    height: 2.5rem;
  }
}

.btn.btn-contact-confirm:hover::after {
  background-color: #939393;
}

.btn.btn-contact-confirm:hover::before {
  background-color: #ffffff;
  background-image: none;
}

/* 文字を上に表示するための記述 */
.btn-contact__submit-confirm {
  position: relative;
  width: 100%;
  height: 100%;
  transition: all 0.3s;
  margin-top: -1rem;
}
@media screen and (min-width: 768px) {
  .btn-contact__submit-confirm {
    margin-top: -1rem;
  }
}

/* ボタンhover後の背景色 */
.btn.btn-contact-confirm::before {
  content: "";
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  background-blend-mode: overlay;
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 100%), linear-gradient(75deg, #5762ff 0%, #ff00e5 100%);
  border-radius: 100vh;
}

/* ボタンhoverで元の背景色透過 */
.btn-contact__submit-confirm {
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #ffffff;
  transition: all 0.3s;
  padding: 1.125rem 0;
}
@media screen and (min-width: 768px) {
  .btn-contact__submit-confirm {
    font-size: 1.5rem;
    padding: 1.75rem 0;
  }
}

.btn.btn-contact-confirm:hover .btn-contact__submit-confirm {
  color: #555555;
}

/* ----- 『お問い合わせボタン｜確認画面へ』ボタン ここまで ----- */
/* ----- 『お問い合わせボタン｜送信』ボタン ここから ----- */
.btn.btn-contact {
  position: relative;
  width: 100%;
  max-width: 18.75rem;
  border-radius: 100vh;
  background-image: linear-gradient(90deg, #ffffff, #ffffff);
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .btn.btn-contact {
    max-width: 33.125rem;
  }
}

.btn.btn-contact:hover {
  background-blend-mode: overlay;
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 100%), linear-gradient(75deg, #5762ff 0%, #ff00e5 100%);
}

.btn.btn-contact::after {
  content: "";
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
  -webkit-mask-image: url(../../assets/images/common/icon-arrow-translucent.svg);
          mask-image: url(../../assets/images/common/icon-arrow-translucent.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #ffffff;
  width: 1.875rem;
  height: 1.875rem;
  z-index: 1;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .btn.btn-contact::after {
    right: 1.875rem;
    width: 2.5rem;
    height: 2.5rem;
  }
}

.btn.btn-contact:hover::after {
  background-color: #939393;
}

.btn.btn-contact:hover::before {
  background-color: #ffffff;
  background-image: none;
}

/* 文字を上に表示するための記述 */
.btn-contact__submit {
  position: relative;
  width: 100%;
  transition: all 0.3s;
}

/* ボタンhover後の背景色 */
.btn.btn-contact::before {
  content: "";
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  background-blend-mode: overlay;
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.4) 100%), linear-gradient(75deg, #5762ff 0%, #ff00e5 100%);
  border-radius: 100vh;
}

/* ボタンhoverで元の背景色透過 */
.btn-contact__submit {
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #ffffff;
  transition: all 0.3s;
  padding: 1.125rem 0;
}
@media screen and (min-width: 768px) {
  .btn-contact__submit {
    font-size: 1.5rem;
    padding: 1.625rem 0;
  }
}

.btn.btn-contact:hover .btn-contact__submit {
  color: #555555;
}

/* ----- 『お問い合わせボタン｜送信』ボタン ここまで ----- */
/* ---------- 必須項目が未入力だとボタンを押せないようにする | ここから ---------- */
#submitBtn.disabled {
  pointer-events: none;
  background-color: #d9d9d9;
  background-image: none;
}

/* ---------- 必須項目が未入力だとボタンを押せないようにする | ここまで ---------- */
.company__inner.inner {
  padding-inline: 0.625rem;
  max-width: 35.625rem;
}
@media screen and (min-width: 768px) {
  .company__inner.inner {
    padding-inline: 1.5625rem;
    max-width: 54.0625rem;
  }
}

.company__section-title {
  width: min(100%, 17.25rem);
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .company__section-title {
    width: min(100%, 33.125rem);
  }
}

.company__container {
  margin-inline: auto;
  margin-top: 1.875rem;
  padding: 2.5rem 0.625rem 2.5rem;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 1.25rem;
  border: 0.3125rem solid #a9d3ff;
}
@media screen and (min-width: 768px) {
  .company__container {
    padding: 3.125rem 4.375rem;
    border-radius: 3.125rem;
    border: 0.625rem solid #a9d3ff;
    margin-top: 3.125rem;
  }
}

.company__item {
  padding: 0.3125rem 0;
  border-bottom: 1px dashed #555555;
}
@media screen and (min-width: 768px) {
  .company__item {
    display: grid;
    grid-template-columns: minmax(6.375rem, auto) 1fr;
    align-items: center;
    width: 100%;
    gap: 0.625rem;
  }
}

.company__item + .company__item {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .company__item + .company__item {
    margin-top: 0.875rem;
  }
}

.company__title {
  font-size: 1rem;
  font-weight: 400;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #888888;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .company__title {
    font-size: 1.25rem;
  }
}

.company__text {
  font-size: 1.25rem;
  font-weight: 400;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
  line-height: 1.5;
  margin-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .company__text {
    margin-top: unset;
  }
}

.company__text a {
  color: #0000ff;
  cursor: pointer;
  transition: opacity 0.5s;
}

.company__text a:hover {
  opacity: 0.5;
}

.company__back-btn {
  margin-top: 3.75rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .company__back-btn {
    margin-top: 4.6875rem;
  }
}

.contact {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .contact {
    margin-top: 8.125rem;
  }
}

.contact__section-title {
  width: min(100%, 11.75rem);
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .contact__section-title {
    width: min(100%, 31.75rem);
  }
}

.contact__btn-wrapper {
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .contact__btn-wrapper {
    margin-top: 2.5rem;
  }
}

.contact__text {
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .contact__text {
    font-size: 1rem;
  }
}

.contact__btn {
  text-align: center;
  margin-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .contact__btn {
    margin-top: 1.5625rem;
  }
}

.footer {
  border-top: 3px solid #a9d3ff;
  background: linear-gradient(0deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%), linear-gradient(90deg, #f6e0ff 0%, #c2f3ff 100%);
  padding-top: 1.1875rem;
  padding-bottom: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .footer {
    padding-bottom: 0.625rem;
  }
}

.footer__logo {
  width: min(100%, 15.625rem);
  margin-inline: auto;
}
.footer__logo a {
  display: inline-block;
  transition: transform 0.5s;
}

.footer__logo a:hover {
  transform: scale(1.1);
}

.footer__wrapper {
  width: min(100%, 17.25rem);
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .footer__wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2.5rem;
    margin-top: 0.625rem;
  }
}

.footer__sns {
  margin-top: 0.5625rem;
}
@media screen and (min-width: 768px) {
  .footer__sns {
    margin-top: 0;
  }
}

.footer__sns-items {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
}

.footer__sns-item {
  padding-bottom: 0.3125rem;
  border-bottom: 1px solid #555555;
}

.footer__sns-item a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
  transition: all 0.3s;
}

.footer__sns-item a:hover {
  transform: scale(1.05);
}

.footer__sns-item[data-sns=x] img {
  width: 1.25rem;
}

.footer__sns-item[data-sns=youtube] img {
  width: 1.625rem;
}

.footer__nav {
  margin-top: 1.4375rem;
  width: min(100%, 15.625rem);
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .footer__nav {
    margin-top: 2rem;
    width: 100%;
  }
}

.footer__items {
  display: flex;
  flex-direction: column;
  gap: 1.375rem;
}
@media screen and (min-width: 768px) {
  .footer__items {
    flex-direction: row;
    justify-content: center;
    gap: 1.1875rem;
  }
}

.footer__item a {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
  letter-spacing: 0.05em;
  padding-bottom: 0.0625rem;
  border-bottom: 1px solid #555555;
  transition: all 0.3s;
}
.footer__item a:hover {
  transform: scale(1.05);
}

.footer__item a::before {
  content: "";
  display: inline-flex;
  align-items: center;
  width: 1rem;
  height: 1rem;
  margin-right: 0.5rem;
  -webkit-mask-image: url(../../assets/images/common/icon-arrow.svg);
          mask-image: url(../../assets/images/common/icon-arrow.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #555555;
}

.footer__copyright {
  display: block;
  margin-top: 2rem;
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer__copyright {
    margin-top: 1.875rem;
  }
}

.form__item:nth-child(n+2) {
  margin-top: 1.5625rem;
}

.form__label {
  display: inline-block;
  font-size: 1rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #333333;
}
@media screen and (min-width: 768px) {
  .form__label {
    font-size: 1.4375rem;
  }
}

.form__required {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 800;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #ffffff;
  text-align: center;
  background-color: #0000ff;
  padding: 0.3125rem 0.625rem;
  margin-left: 1.25rem;
}
@media screen and (min-width: 768px) {
  .form__required {
    font-size: 1rem;
  }
}

.form__data {
  font-size: 0.875rem;
  font-weight: 400;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #333333;
  line-height: 1.5;
  margin-top: 0.5rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .form__data {
    font-size: 1.25rem;
  }
}

.form__note {
  font-size: 0.9375rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #0000ff;
  line-height: 1.4666666667;
  margin-top: 0.8125rem;
}

/* ---------- フォーム共通設定 | ここから ---------- */
[type=text],
[type=email] {
  padding: 0.46875rem 0.9375rem;
  width: 100%;
  line-height: 1.4375;
  border: 1px solid #333333;
}

.wpcf7-text {
  background-color: #ffffff;
}

textarea {
  font-size: 1rem;
  font-weight: 400;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #333333;
  line-height: 1.5;
  width: 100%;
  height: 18.75rem;
  resize: none;
  box-shadow: none;
  padding: 0.46875rem 0.9375rem;
  border: 1px solid #333333;
  background-color: #ffffff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

/* プレースホルダー */
::-moz-placeholder {
  color: #777777;
}
::placeholder {
  color: #777777;
}

/* ---------- フォーム共通設定 | ここまで ---------- */
/* ---------- チェックボックス（共通） | ここから ---------- */
.wpcf7-form-control.wpcf7-checkbox {
  display: flex;
  flex-direction: column;
}

.wpcf7-list-item:nth-child(n+2) {
  margin-top: 0.1875rem;
}

.wpcf7-list-item-label {
  position: relative;
  display: inline-block;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.375;
  padding-left: 1.375rem;
}
/* チェックボックス */
.wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 0.375rem;
  left: 0;
  display: block;
  width: 0.875rem;
  height: 0.875rem;
  border: solid 1px #333333;
  transition: 0.3s ease;
}

/* チェックマーク */
.wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 0.5625rem;
  left: 0.125rem;
  transform: rotate(-45deg);
  width: 0.5625rem;
  height: 0.3125rem;
  border-left: 2px solid #0000ff;
  border-bottom: 2px solid #0000ff;
  opacity: 0;
}

input[type=checkbox]:checked + .wpcf7-list-item-label:after {
  opacity: 1;
}

/* ---------- チェックボックス（共通） | ここまで ---------- */
/* ---------- プライバシーポリシー | ここから ---------- */
.form__privacy {
  margin-top: 2.5rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .form__privacy {
    text-align: center;
  }
}

/* プライバシーポリシー */
.form__privacy .wpcf7-list-item-label {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5714285714;
  padding-left: 1.875rem;
}
@media screen and (min-width: 768px) {
  .form__privacy .wpcf7-list-item-label {
    padding-left: 2.375rem;
  }
}

/* プライバシーポリシーのチェックボックス */
.form__privacy .wpcf7-list-item-label::before {
  top: 0;
  left: 0;
  width: 1.375rem;
  height: 1.375rem;
}
@media screen and (min-width: 768px) {
  .form__privacy .wpcf7-list-item-label::before {
    top: 0;
    left: 0;
  }
}

/* プライバシーポリシーのチェックマーク */
.form__privacy .wpcf7-list-item-label::after {
  top: 0.3125rem;
  left: 0.1875rem;
  width: 1rem;
  height: 0.5rem;
}
@media screen and (min-width: 768px) {
  .form__privacy .wpcf7-list-item-label::after {
    top: 0.3125rem;
    left: 0.1875rem;
  }
}

.form__privacy .wpcf7-list-item-label a {
  display: inline-block;
  color: #0000ff;
  font-weight: 500;
  transition: all 0.3s;
}

.form__privacy .wpcf7-list-item-label a:hover {
  opacity: 0.6;
}

/* ---------- プライバシーポリシー | ここまで ---------- */
/* ---------- エラー時のプレースフォルダー | ここから ---------- */
.wpcf7-not-valid {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1;
  background-color: rgba(201, 72, 0, 0.2);
  border: 1px solid #be0000;
}

/* ---------- エラー時のプレースフォルダー | ここまで ---------- */
/* ---------- エラー時のメッセージ | ここから ---------- */
.wpcf7-not-valid-tip {
  margin-top: 0.625rem;
}

/* ---------- エラー時のメッセージ | ここまで ---------- */
.goods {
  position: relative;
}

.goods__inner.inner {
  padding-left: 0.1875rem;
  padding-right: 0.1875rem;
  max-width: 34.375rem;
}
@media screen and (min-width: 768px) {
  .goods__inner.inner {
    padding-left: 1.5625rem;
    padding-right: 1.5625rem;
    max-width: 64.5rem;
  }
}

.goods__section-title {
  width: min(100%, 9.6875rem);
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .goods__section-title {
    width: min(100%, 31rem);
  }
}

.goods__container {
  margin-top: 1.75rem;
}
@media screen and (min-width: 768px) {
  .goods__container {
    margin-top: 5rem;
  }
}

.goods__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 1.25rem; /* 上下の余白 */
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem; /* 左右の余白 */
}
@media screen and (min-width: 768px) {
  .goods__items {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 3.75rem; /* 上下の余白 */
    -moz-column-gap: 3.75rem;
         column-gap: 3.75rem; /* 左右の余白 */
  }
}

.goods__item {
  height: 100%;
  padding-right: 0.1875rem; /* グラデーション背景分の余白を確保 */
  padding-bottom: 0.1875rem;
}
@media screen and (min-width: 768px) {
  .goods__item {
    padding-right: 0.625rem;
    padding-bottom: 0.625rem;
  }
}

.goods__item-link {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 0.5625rem;
  transition: all 0.3s;
  background-color: #ffffff;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .goods__item-link {
    padding: 0.75rem;
  }
}

.goods__item-link::before {
  content: "";
  position: absolute;
  top: 0.1875rem;
  left: 0.1875rem;
  background-image: linear-gradient(75deg, #0ff 0%, #ea00ff 100%);
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .goods__item-link::before {
    top: 0.625rem;
    left: 0.625rem;
  }
}

.goods__item-link:hover .goods__img img {
  transform: scale(1.05);
}

.goods__item-link:hover::before {
  top: 0;
  left: 0;
}

/* 「PICK UP」マーク */
.goods__pick-up {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: #e04949;
  padding: 0.1875rem 0.5rem;
}
@media screen and (min-width: 768px) {
  .goods__pick-up {
    padding: 0.3125rem 0.5rem;
  }
}

.goods__pick-up-text {
  font-size: 1rem;
  font-weight: 900;
  font-style: italic;
  font-family: "Rubik", sans-serif;
  color: #ffffff;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .goods__pick-up-text {
    font-size: 1.25rem;
  }
}

.goods__img {
  width: 100%;
  overflow: hidden;
}

.goods__img img {
  width: 100%;
  aspect-ratio: 1/1;
  -o-object-fit: contain;
     object-fit: contain;
  transition: all 0.3s;
}

.goods__name {
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
  line-height: 1.3;
  margin-top: 0.4375rem;
}
@media screen and (min-width: 768px) {
  .goods__name {
    font-size: 1rem;
    margin-top: 0.9375rem;
  }
}

.goods__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 1.0625rem;
  margin-top: auto;
}
@media screen and (min-width: 768px) {
  .goods__bottom {
    padding-top: 2rem;
  }
}

.goods__price {
  font-size: 1rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #e04949;
}

.goods__period {
  display: flex;
  flex-direction: column;
  font-size: 0.75rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
}
@media screen and (min-width: 768px) {
  .goods__period {
    font-size: 0.875rem;
  }
}

.goods__period-end {
  margin-top: 0.1875rem;
}

.goods__btn {
  text-align: center;
  margin-top: 2.1875rem;
}
@media screen and (min-width: 768px) {
  .goods__btn {
    margin-top: 4.0625rem;
  }
}

.goods__deco-bubble {
  display: none;
}
@media screen and (min-width: 768px) {
  .goods__deco-bubble {
    display: block;
    position: absolute;
    top: -3.125rem;
    left: 50%;
    transform: translateX(-50%);
    width: 125.25rem;
    z-index: -2;
  }
}

@media screen and (min-width: 768px) {
  .goods__deco-bubble img {
    animation: floatGentlyWithScaleRight 3.5s ease-in-out infinite;
    will-change: transform, opacity;
  }
}

@keyframes floatGentlyWithScaleRight {
  0%, 100% {
    transform: translateY(0) scale(1);
    opacity: 0.7;
  }
  50% {
    transform: translateY(-15px) scale(1.02);
    opacity: 0.95;
  }
}
.guideline__inner.inner {
  max-width: 20rem;
}
@media screen and (min-width: 768px) {
  .guideline__inner.inner {
    max-width: 63.75rem;
  }
}

.guideline__section-title {
  width: min(100%, 13.875rem);
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .guideline__section-title {
    width: min(100%, 37.1875rem);
  }
}

.guideline__btn-wrapper {
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .guideline__btn-wrapper {
    margin-top: 2.5rem;
  }
}

.guideline__btn-items {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  row-gap: 0.9375rem; /* 上下の余白 */
}
@media screen and (min-width: 768px) {
  .guideline__btn-items {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 0rem; /* 上下の余白 */
    -moz-column-gap: 1.875rem;
         column-gap: 1.875rem; /* 左右の余白 */
  }
}

.guideline__btn-item {
  display: inline-block;
}

.guideline-contact {
  position: relative;
  padding-top: 2.5rem;
  padding-bottom: 3.125rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .guideline-contact {
    padding-top: 7.5rem;
    padding-bottom: 8.125rem;
  }
}

.guideline-contact::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: linear-gradient(258deg, #a7adff 0%, #feb5ff 100%);
  width: 100%;
  height: 100%;
  z-index: -2;
}

.guideline-contact::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url(../../assets/images/top/guideline-contact/deco-guideline-contact.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 49.0625rem;
  height: 49.0625rem;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .guideline-contact::after {
    width: 92.8125rem;
    height: 92.8125rem;
  }
}

html.webp .guideline-contact::after {
  background-image: url(../../assets/images/top/guideline-contact/deco-guideline-contact.webp);
}

.hamburger {
  position: absolute;
  top: 0.625rem;
  right: 0.625rem;
  z-index: 100;
  cursor: pointer;
  transition: all 0.3s;
  width: 4.6875rem;
  height: 2.8125rem;
}
@media screen and (min-width: 768px) {
  .hamburger {
    width: 7.5rem;
    height: 4.6875rem;
    top: 1.25rem;
    right: 1.25rem;
  }
}

.hamburger:hover {
  filter: hue-rotate(180deg);
}

.hamburger__btn {
  background-image: url(../../assets/images/common/hamburger-open.svg);
  background-size: contain;
  background-repeat: no-repeat;
  transition: all 0.3s;
  width: 100%;
  height: 100%;
}

.hamburger__btn.is-active {
  background-image: url(../../assets/images/common/hamburger-close.svg);
}

.header {
  z-index: 100;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 16.6666666667vw;
}
@media screen and (min-width: 768px) {
  .header {
    height: 8.4375vw;
  }
}

.header__inner {
  position: relative;
}

.header__inner::before {
  content: "";
  position: absolute;
  top: -0.7246376812vw;
  left: 50%;
  transform: translateX(-50%);
  background-image: url(../../assets/images/top/mv/mv-frame-top-sp.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 101.4492753623vw;
  height: 16.6666666667vw;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .header__inner::before {
    top: -0.2604166667vw;
    background-image: url(../../assets/images/top/mv/mv-frame-top-pc.png);
    width: 100.5208333333vw;
    height: 8.4375vw;
  }
}

.header__logo {
  display: none;
}
@media screen and (min-width: 768px) {
  .header__logo {
    display: block;
    position: absolute;
    top: 0.8854166667vw;
    left: 1.8229166667vw;
    z-index: 2;
  }
}

.header__logo a {
  position: relative;
  display: block;
  width: 10.3125vw;
  transition: all 0.3s;
}

@media screen and (min-width: 768px) {
  .header__logo a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #ffffff;
    border-radius: 100vh;
    mix-blend-mode: screen;
    filter: blur(1.5625vw);
    width: 12.7083333333vw;
    height: 4.21875vw;
    z-index: -1;
  }
}

@media screen and (min-width: 768px) {
  .header__logo a:hover {
    filter: brightness(1.05) drop-shadow(0px 0px 0.15625vw #cdecfe);
  }
}

.loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #555555;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
}

.loading__container {
  width: 100%;
}

.loading__count-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}

.loading__count {
  font-size: 2.5rem;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #878fff;
  font-style: italic;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
}

.loading__count-percent {
  font-size: 1.25rem;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #878fff;
  font-style: italic;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
}

.loading__progress {
  width: 100%;
  height: 0.3125rem;
  margin-top: 1.25rem;
  position: relative;
}

.loading__progress-bar {
  height: 100%;
  left: 0;
  position: absolute;
  background-image: linear-gradient(75deg, #5762ff 0%, #ff00e5 100%);
  width: 0%; /* 初期値は0% */
}

/* ローディング画面のフェードアウト */
.fade-out {
  opacity: 0;
  transition: opacity 0.3s ease-out;
  pointer-events: none;
}

.mv {
  position: relative;
  height: 135.0241545894vw;
}
@media screen and (min-width: 768px) {
  .mv {
    height: 57.2916666667vw;
  }
}

.mv::before {
  content: "";
  position: absolute;
  top: 79.7101449275vw;
  left: 50%;
  transform: translateX(-50%);
  background-image: url(../../assets/images/top/mv/mv-frame-bottom-sp.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 100vw;
  height: 46.7391304348vw;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .mv::before {
    top: 34.375vw;
    background-image: url(../../assets/images/top/mv/mv-frame-bottom-pc.png);
    height: 44.53125vw;
  }
}

.mv::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../../assets/images/common/bg-sp.jpg);
  background-size: cover;
  background-position: top center;
  z-index: -2;
}
@media screen and (min-width: 768px) {
  .mv::after {
    background-image: url(../../assets/images/common/bg-pc.jpg);
  }
}

.mv__img-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}

.mv__img {
  position: relative;
  z-index: -1;
}

.mv__talent-01,
.mv__talent-02,
.mv__talent-03,
.mv__talent-04,
.mv__talent-05,
.mv__talent-06,
.mv__talent-07,
.mv__talent-08,
.mv__talent-09,
.mv__talent-10 {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 82/400;
}
@media screen and (min-width: 768px) {
  .mv__talent-01,
  .mv__talent-02,
  .mv__talent-03,
  .mv__talent-04,
  .mv__talent-05,
  .mv__talent-06,
  .mv__talent-07,
  .mv__talent-08,
  .mv__talent-09,
  .mv__talent-10 {
    aspect-ratio: 384/1100;
  }
}

.mv__img:nth-child(n+2)::before {
  content: "";
  position: absolute;
  top: 0;
  left: -0.5px;
  width: 1px;
  height: 100%;
  background-color: #ffffff;
}
@media screen and (min-width: 768px) {
  .mv__img:nth-child(n+2)::before {
    left: -0.1302083333vw;
    width: 0.2604166667vw;
  }
}

.mv__title-sub {
  position: absolute;
  top: 92.270531401vw;
  left: 50%;
  transform: translateX(-50%);
  width: 75.3623188406vw;
}
@media screen and (min-width: 768px) {
  .mv__title-sub {
    top: 37.1875vw;
    width: 25.46875vw;
  }
}

.mv__title-logo {
  position: absolute;
  top: 104.347826087vw;
  left: 50%;
  transform: translateX(-50%);
  width: 90.3381642512vw;
}
@media screen and (min-width: 768px) {
  .mv__title-logo {
    top: 40.2604166667vw;
    width: 35.46875vw;
  }
}

.mv__title-logo::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 93.2367149758vw;
  height: 30.9178743961vw;
  border-radius: 100vh;
  background-color: #ffffff;
  mix-blend-mode: screen;
  filter: blur(7.2463768116vw);
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .mv__title-logo::before {
    width: 35.703125vw;
    height: 11.875vw;
    filter: blur(1.5625vw);
  }
}

.nav {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100dvh;
  overflow-y: scroll;
  z-index: 99;
  background: rgba(255, 255, 255, 0.8);
  -webkit-backdrop-filter: blur(4px);
          backdrop-filter: blur(4px);
  padding: 1.875rem 0 4.5rem;
}
@media screen and (min-width: 768px) {
  .nav {
    max-width: 37.1875rem;
    padding: 3.625rem 0 12rem;
  }
}

.nav::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background: linear-gradient(to bottom, #89ebff, #fd7bff);
}
@media screen and (min-width: 768px) {
  .nav::before {
    width: 0.3125rem;
  }
}

/* スクロールバー非表示 | ここから -------------- */
.nav {
  -ms-overflow-style: none; /* IE, Edge 対応 */
  scrollbar-width: none; /* Firefox 対応 */
}

.nav::-webkit-scrollbar {
  display: none; /* Chrome, Safari 対応 */
}

/* スクロールバー非表示 | ここまで -------------- */
.nav.is-active {
  display: block;
}

.nav__wrapper {
  position: relative;
  display: block;
}
.nav__logo a {
  display: block;
  width: 15.625rem;
  margin: auto;
  transition: all 0.3s;
}

.nav__logo a:hover {
  filter: brightness(1.2);
}

.nav__items {
  display: flex;
  flex-direction: column;
  max-width: 23.625rem;
  width: 100%;
  margin-top: 1.25rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .nav__items {
    margin-top: 3.125rem;
    padding-left: 5.5rem;
    max-width: none;
  }
}

.nav__item:nth-child(n+2) {
  margin-top: 1.25rem;
}
@media screen and (min-width: 768px) {
  .nav__item:nth-child(n+2) {
    margin-top: 2.5rem;
  }
}

.nav__item-link {
  position: relative;
  display: flex;
  align-items: center;
  transition: all 0.3s;
}

.nav__item-link:hover {
  filter: hue-rotate(90deg);
}

.nav__item-link::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 0.375rem;
  height: 100%;
  background-color: #0000ff;
}
@media screen and (min-width: 768px) {
  .nav__item-link::before {
    width: 0.5rem;
  }
}

.nav__item-text-en {
  display: inline-block;
  font-size: 2.5rem;
  font-weight: 900;
  font-family: "Rubik", sans-serif;
  font-style: italic;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  text-transform: uppercase;
  padding-left: 1rem;
  text-shadow: 1px 1px 0 #0000ff, -1px -1px 0 #0000ff, -1px 1px 0 #0000ff, 1px -1px 0 #0000ff, 0px 1px 0 #0000ff, 1px 0px 0 #0000ff, 0px -1px 0 #0000ff, -1px 0px 0 #0000ff, 1.5px 1.5px 0 #0000ff, -1.5px -1.5px 0 #0000ff, -1.5px 1.5px 0 #0000ff, 1.5px -1.5px 0 #0000ff, 0px 1.5px 0 #0000ff, 1.5px 0px 0 #0000ff, 0px -1.5px 0 #0000ff, -1.5px 0px 0 #0000ff, 1px 1.5px 0 #0000ff, -1px -1.5px 0 #0000ff, -1px 1.5px 0 #0000ff, 1px -1.5px 0 #0000ff, 1.5px 1px 0 #0000ff, -1.5px -1px 0 #0000ff, -1.5px 1px 0 #0000ff, 1.5px -1px 0 #0000ff;
}
@media screen and (min-width: 768px) {
  .nav__item-text-en {
    padding-left: 1.875rem;
  }
}

.nav__item-text-en-top-layer {
  position: relative;
}

.nav__item:nth-child(odd) .nav__item-text-en-top-layer {
  color: #ffedfd;
}

.nav__item:nth-child(even) .nav__item-text-en-top-layer {
  color: #eeffff;
}

.nav__item-text-en-bottom-layer {
  position: absolute;
  top: 0.1875rem;
  left: 0.1875rem;
  color: #72dfff;
  z-index: -1;
}

.nav__item-text-ja {
  font-size: 1rem;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #ffffff;
  padding: 0.125rem 0.1875rem;
  background-color: #0000ff;
  margin-left: 0.9375rem;
}
.news__inner.inner {
  padding-inline: 0.4375rem;
  max-width: 35.25rem;
}
@media screen and (min-width: 768px) {
  .news__inner.inner {
    padding-inline: 1.5625rem;
    max-width: 85.625rem;
  }
}

.news__container {
  position: relative;
  width: 100%;
  margin-top: -1.25rem;
  padding: 1.375rem 0.625rem 0.625rem;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 1.875rem;
  border: 3px solid #a9d3ff;
}
@media screen and (min-width: 768px) {
  .news__container {
    padding: 5.875rem 0.625rem 3.125rem;
    border-radius: 62.4375rem;
    border: 0.625rem solid #a9d3ff;
    margin-top: -5rem;
  }
}

.news__section-title {
  position: relative;
  width: min(100%, 8rem);
  margin-inline: auto;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .news__section-title {
    width: min(100%, 27.375rem);
  }
}

.news__list {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .news__list {
    width: min(100%, 60rem);
    margin-inline: auto;
  }
}

.news-list__item-link {
  position: relative;
  padding: 0.9375rem 0;
  display: block;
  transition: all 0.3s;
  overflow: hidden;
}

.news-list__item-link::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-image: linear-gradient(75deg, #0ff 0%, #ea00ff 100%);
  width: 100%;
  height: 100%;
  transition: ease 0.3s;
  transform: translateX(-101%);
  opacity: 0.3;
  z-index: -1;
}

/*hoverした際の形状*/
.news-list__item-link:hover::before {
  transform: translateX(0);
}

.news-list__item-meta {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding-bottom: 0.3125rem;
  border-bottom: 1px solid #878fff;
}

.news-list__item-date {
  font-size: 1rem;
  font-weight: 400;
  font-family: "Rubik", sans-serif;
  color: #878fff;
  line-height: 1;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .news-list__item-date {
    font-size: 1.25rem;
  }
}

.news-list__item-link:hover .news-list__item-date {
  color: #008aff;
}

.news-list__item-category {
  border-radius: 100vh;
  padding: 0.0625rem 1.25rem 0;
  min-width: 5.25rem;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  font-size: 1rem;
  font-weight: 400;
  font-family: "Rubik", sans-serif;
  line-height: 1;
  text-transform: uppercase;
}

.news-list__item-link:hover .news-list__item-category {
  filter: brightness(1.3);
}

.news-list__item-title {
  font-size: 0.875rem;
  font-weight: 400;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
  line-height: 1.5;
  margin-top: 0.3125rem;
  white-space: normal; /* 文字を折り返す */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* 表示する行数 */
  overflow: hidden;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .news-list__item-title {
    font-size: 1rem;
    font-weight: 500;
    margin-top: 0.875rem;
    -webkit-line-clamp: 2; /* 表示する行数 */
  }
}

.news-list__item-link:hover .news-list__item-title {
  color: #ae00ff;
  color: #0000ff;
}

/* 404 */
.not-found {
  margin: 5rem 0;
}
@media screen and (min-width: 768px) {
  .not-found {
    margin: 9.375rem 0;
  }
}

.not-found__container {
  max-width: 56.25rem;
  width: 100%;
  margin: 0 auto;
}

.not-found__message {
  font-size: 1rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  line-height: 1.5;
  text-align: center;
  text-transform: capitalize;
}
@media screen and (min-width: 768px) {
  .not-found__message {
    font-size: 1.5rem;
  }
}

.not-found__message + .not-found__message {
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .not-found__message + .not-found__message {
    margin-top: 2.5rem;
  }
}

.not-found__btn {
  margin-top: 3.125rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .not-found__btn {
    margin-top: 4.0625rem;
  }
}

.pagination,
.nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
}

.page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
  font-weight: 700;
  font-style: italic;
  color: #999999;
  font-family: "Rubik", sans-serif;
  transition: ease 0.3s;
}
@media screen and (min-width: 768px) {
  .page-numbers {
    font-size: 1rem;
  }
}

.page-numbers:not(.prev.page-numbers):not(.next.page-numbers) {
  padding: 0 0.625rem;
}

.page-numbers.current {
  /* 現在表示されているページ */
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.25rem;
  font-weight: 700;
  font-style: italic;
  color: #555555;
}
@media screen and (min-width: 768px) {
  .page-numbers.current {
    font-size: 1.5rem;
  }
}

.page-numbers.dots {
  min-width: 0;
  padding: 0;
  border: none;
}

.page-numbers:not(.current):not(.dots):hover,
.next.page-numbers:hover,
.prev.page-numbers:hover {
  filter: brightness(1.3);
}

.next.page-numbers {
  display: block;
  background-image: url(../../assets/images/common/icon-pagination-arrow-right.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 1.0625rem;
  height: 2rem;
  margin-left: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .next.page-numbers {
    margin-left: 1.25rem;
  }
}

.prev.page-numbers {
  display: block;
  background-image: url(../../assets/images/common/icon-pagination-arrow-left.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 1.0625rem;
  height: 2rem;
  margin-right: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .prev.page-numbers {
    margin-right: 1.25rem;
  }
}

.post-none {
  font-size: 1rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #333333;
}

.privacy-policy__inner.inner {
  padding-inline: 0.3125rem;
  max-width: 35rem;
}
@media screen and (min-width: 768px) {
  .privacy-policy__inner.inner {
    padding-inline: 1.5625rem;
    max-width: 84.375rem;
  }
}

.privacy-policy__section-title {
  width: min(100%, 23.75rem);
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .privacy-policy__section-title {
    width: min(100%, 56.8125rem);
  }
}

.privacy-policy__container {
  width: 100%;
  margin-inline: auto;
  margin-top: 1.75rem;
  padding: 1.1875rem 0.625rem 2.5rem;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 0.625rem;
  border: 0.3125rem solid #a9d3ff;
}
@media screen and (min-width: 768px) {
  .privacy-policy__container {
    padding: 3.75rem 0.625rem 3.75rem;
    border-radius: 3.125rem;
    max-width: 82.5rem;
    border: 0.625rem solid #a9d3ff;
    margin-top: 5rem;
  }
}

.privacy-policy__container + .privacy-policy__container {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .privacy-policy__container + .privacy-policy__container {
    margin-top: 6.25rem;
  }
}

@media screen and (min-width: 768px) {
  .privacy-policy__content {
    width: min(100%, 62.5rem);
    margin-inline: auto;
  }
}

.privacy-policy__title {
  font-size: 1.25rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #008aff;
  line-height: 1.5;
  letter-spacing: 0.02em;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 2px solid #008aff;
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  .privacy-policy__title {
    font-size: 2rem;
  }
}

.privacy-policy__title.privacy-policy__title--video {
  color: #ae00ff;
  border-bottom: 2px solid #ae00ff;
}

.privacy-policy__title-icon-memo {
  position: relative;
  top: 0.1875rem;
  display: inline-block;
  width: 1.0625rem;
  height: 1.25rem;
  margin-left: 0.625rem;
}
@media screen and (min-width: 768px) {
  .privacy-policy__title-icon-memo {
    top: 0.25rem;
    width: 1.75rem;
    height: 2rem;
  }
}

.privacy-policy__title-icon-video {
  position: relative;
  top: 0.1875rem;
  display: inline-block;
  width: 1.375rem;
  height: 1.25rem;
  margin-left: 0.625rem;
}
@media screen and (min-width: 768px) {
  .privacy-policy__title-icon-video {
    top: 0.25rem;
    width: 2.125rem;
    height: 1.875rem;
  }
}

.privacy-policy__group {
  margin-top: 1.375rem;
}
@media screen and (min-width: 768px) {
  .privacy-policy__group {
    margin-top: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .privacy-policy__group + .privacy-policy__group {
    margin-top: 1.5625rem;
  }
}

.privacy-policy__lead {
  font-size: 0.9375rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #333333;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (min-width: 768px) {
  .privacy-policy__lead {
    font-size: 1.25rem;
  }
}

.privacy-policy__text {
  margin-top: 0.9375rem;
  font-size: 0.9375rem;
  font-weight: 400;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .privacy-policy__text {
    margin-top: 1.875rem;
  }
}

.privacy-policy__back-btn {
  margin-top: 3.125rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .privacy-policy__back-btn {
    margin-top: 6.25rem;
  }
}

.privacy-policy__group {
  margin-top: 1.375rem;
}
@media screen and (min-width: 768px) {
  .privacy-policy__group {
    margin-top: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .privacy-policy__group + .privacy-policy__group {
    margin-top: 1.5625rem;
  }
}

.privacy-policy__lead {
  font-size: 0.9375rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #333333;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (min-width: 768px) {
  .privacy-policy__lead {
    font-size: 1.25rem;
  }
}

.privacy-policy__text {
  margin-top: 0.9375rem;
  font-size: 0.9375rem;
  font-weight: 400;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .privacy-policy__text {
    margin-top: 1.875rem;
  }
}

.privacy-policy__text span {
  display: inline-block;
  padding-left: 1em;
  text-indent: -1em;
}

.privacy-policy__text--medium {
  font-weight: 500;
}

.privacy-policy__list {
  margin-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .privacy-policy__list {
    margin-top: 1.5625rem;
  }
}

.privacy-policy__item {
  font-size: 0.9375rem;
  font-weight: 400;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 1em;
  text-indent: -1em;
}

.privacy-policy__text-link {
  color: #008aff;
  padding-bottom: 0.0625rem;
  border-bottom: solid 1px #008aff;
  transition: all 0.3s;
}

.privacy-policy__text-link:hover {
  opacity: 0.6;
}

.share {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  justify-content: flex-end;
}

.share__text {
  font-size: 1rem;
  font-weight: 400;
  font-family: "Rubik", sans-serif;
  color: #333333;
  font-style: italic;
  text-transform: uppercase;
}

.share__list {
  display: flex;
  gap: 0.625rem;
}

.share__item-link {
  display: block;
  transition: all 0.3s;
}

.share__item-link:hover {
  transform: scale(1.2);
}

.share__item img {
  width: 1.9375rem;
  height: 1.9375rem;
}

.special__inner.inner {
  max-width: 36.875rem;
}
@media screen and (min-width: 768px) {
  .special__inner.inner {
    max-width: 75rem;
  }
}

.special__section-title {
  width: min(100%, 12.125rem);
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .special__section-title {
    width: min(100%, 39.25rem);
  }
}

.special__items {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1.5625rem;
  margin-top: 2.6875rem;
}
@media screen and (min-width: 768px) {
  .special__items {
    grid-template-columns: repeat(3, 1fr);
    gap: 3.125rem;
    margin-top: 5.1875rem;
  }
}

.special__item {
  height: 100%;
}

.special__item-link {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 0.9375rem;
  height: 100%;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .special__item-link {
    padding: 0.625rem;
  }
}

.special__item-link::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: linear-gradient(75deg, #0ff 0%, #ea00ff 100%);
  width: 100%;
  height: 100%;
  z-index: -2;
}

.special__item-link::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #ffffff;
  width: calc(100% - 1.875rem);
  height: calc(100% - 1.875rem);
  z-index: -1;
  border-radius: 0.625rem;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .special__item-link::after {
    width: calc(100% - 1.25rem);
    height: calc(100% - 1.25rem);
  }
}

.special__item-link:hover::after {
  width: 100%;
  height: 100%;
  border-radius: 0;
}

.special__img {
  border-bottom: 1px solid #d9d9d9;
  border-radius: 0.625rem 0.625rem 0 0;
  overflow: hidden;
}

.special__img img {
  width: 100%;
  aspect-ratio: 330/185;
  -o-object-fit: cover;
     object-fit: cover;
}

.special__title {
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
  line-height: 1.3;
  padding: 0.9375rem 0.9375rem 0;
  white-space: normal; /* 文字を折り返す */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; /* 表示する行数 */
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .special__title {
    font-size: 1rem;
    padding: 0.625rem 0.625rem 0;
  }
}

.special__date {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #888888;
  margin-top: auto;
  padding: 1.875rem 0.9375rem 0.9375rem;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .special__date {
    padding: 5rem 0.625rem 0.625rem;
  }
}

.special__btn {
  margin-top: 2.1875rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .special__btn {
    margin-top: 4.6875rem;
  }
}

.special-pagination {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .special-pagination {
    margin-top: 5rem;
  }
}

.sub-audition {
  overflow: hidden;
  position: relative;
  padding-bottom: 3.125rem;
}
@media screen and (min-width: 768px) {
  .sub-audition {
    padding-bottom: 7.5rem;
  }
}

@media screen and (min-width: 768px) {
  .sub-audition::before {
    content: "";
    display: block;
    position: absolute;
    top: -24.375rem;
    left: -15rem;
    width: 100%;
    height: 100%;
    background-image: url(../../assets/images/common/deco-logo.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    z-index: -2;
  }
}

.sub-audition__inner.inner {
  padding-inline: 1rem;
  max-width: 34.375rem;
}
@media screen and (min-width: 768px) {
  .sub-audition__inner.inner {
    padding-inline: 1.5625rem;
    max-width: 50.9375rem;
  }
}

.sub-audition__section-title {
  width: min(100%, 16rem);
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .sub-audition__section-title {
    width: min(100%, 43.75rem);
  }
}

.sub-audition__content {
  margin-top: 2.0625rem;
}
@media screen and (min-width: 768px) {
  .sub-audition__content {
    margin-top: 6.25rem;
  }
}

.sub-audition__video {
  position: relative;
}

.sub-audition__video::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  transform: rotate(6deg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 23.125rem;
  height: 12.6875rem;
  filter: drop-shadow(0px 0px 20px rgba(0, 0, 0, 0.25));
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .sub-audition__video::before {
    width: 47.875rem;
    height: 26.9375rem;
    transform: rotate(6deg);
  }
}

.sub-audition__video::before {
  background-image: url(../../assets/images/audition/audition-bg.jpg);
  z-index: -1;
}

.webp .sub-audition__video::before {
  background-image: url(../../assets/images/audition/audition-bg.webp);
}

.sub-audition__video iframe {
  aspect-ratio: 370/208;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .sub-audition__video iframe {
    aspect-ratio: 766/431;
  }
}

.sub-audition__btn {
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .sub-audition__btn {
    margin-top: 3.75rem;
  }
}

.sub-audition__member {
  margin-top: 6.875rem;
}
@media screen and (min-width: 768px) {
  .sub-audition__member {
    margin-top: 12.5rem;
  }
}

.sub-audition__member {
  position: relative;
}

.sub-audition__member::before {
  content: "";
  display: block;
  position: absolute;
  top: -3.75rem;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0.9;
  background: rgba(255, 255, 255, 0.8);
  width: 3357px; /* ビューポート幅に合わせる */
  aspect-ratio: 2/1; /* 横:縦の比率を設定 */
  border-radius: 50%; /* 50%で円形に */
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .sub-audition__member::before {
    top: -6rem;
  }
}

.sub-audition__member-heading {
  font-size: 2rem;
  font-weight: 900;
  font-family: "Noto Sans JP", sans-serif;
  color: #555555;
  line-height: 1.2;
  letter-spacing: 0.03em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .sub-audition__member-heading {
    margin-top: -0.4375rem;
    font-size: 3rem;
    line-height: 1.5;
  }
}

.sub-audition__member-heading-sub {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  font-family: "KamimonoGothic", sans-serif;
  color: #555555;
  line-height: 1.6;
  text-transform: capitalize;
  text-align: center;
}

.sub-audition__member-text {
  font-size: 0.875rem;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
  color: #555555;
  line-height: 1.5;
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .sub-audition__member-text {
    font-size: 1rem;
    line-height: 1.5;
    margin-top: 2.0625rem;
  }
}

.sub-audition__member-text::before {
  content: "";
  display: block;
  width: 1.25rem;
  height: 0.875rem;
  -webkit-mask-image: url(../../assets/images/common/icon-triangle.svg);
          mask-image: url(../../assets/images/common/icon-triangle.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #555555;
  margin: 0 auto 1.875rem;
}
@media screen and (min-width: 768px) {
  .sub-audition__member-text::before {
    width: 1.75rem;
    height: 1.25rem;
    margin: 0 auto 2.125rem;
  }
}

.sub-audition__member-list {
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .sub-audition__member-list {
    margin-top: 3.125rem;
    width: min(100%, 42.9375rem);
  }
}

.sub-audition__member-item + .sub-audition__member-item {
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .sub-audition__member-item + .sub-audition__member-item {
    margin-top: 3.75rem;
  }
}

.sub-audition__member-item-title {
  background: linear-gradient(75deg, #0ff 0%, #ea00ff 100%);
  font-size: 0.875rem;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
  color: #ffffff;
  line-height: 1.5;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .sub-audition__member-item-title {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}

.sub-audition__member-item-text {
  margin-top: 0.9375rem;
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  color: #555555;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .sub-audition__member-item-text {
    font-size: 1rem;
    line-height: 1.6;
  }
}

.sub-audition__member-message {
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .sub-audition__member-message {
    margin-top: 3.125rem;
  }
}

.sub-audition__member-message-text {
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  color: #333333;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .sub-audition__member-message-text {
    font-size: 1rem;
    line-height: 1.5;
  }
}

.sub-audition__member-btn {
  margin-top: 1.875rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .sub-audition__member-btn {
    margin-top: 3.75rem;
  }
}

.sub-audition__member-share {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .sub-audition__member-share {
    margin-top: 4.125rem;
    padding-right: 6.25rem;
  }
}

.sub-audition__back-btn {
  margin-top: 6.25rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .sub-audition__back-btn {
    margin-top: 7.5rem;
  }
}

.sub-contact__inner {
  max-width: 34.375rem;
}
@media screen and (min-width: 768px) {
  .sub-contact__inner {
    max-width: 73.125rem;
  }
}

.sub-contact__section-title {
  width: min(100%, 15.625rem);
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .sub-contact__section-title {
    width: min(100%, 30.8125rem);
  }
}

.sub-contact__text-wrapper {
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .sub-contact__text-wrapper {
    margin-top: 2.5rem;
  }
}

.sub-contact__text {
  font-size: 0.9375rem;
  font-weight: 400;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #000000;
  line-height: 1.5;
  text-align: center;
}

.sub-contact__container {
  margin-top: 3.125rem;
  padding: 2.5rem 0.625rem 2.5rem;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 1.25rem;
  border: 0.3125rem solid #a9d3ff;
}
@media screen and (min-width: 768px) {
  .sub-contact__container {
    padding: 5rem 1.25rem 6.25rem;
    border-radius: 3.125rem;
    border: 0.625rem solid #a9d3ff;
  }
}

.sub-contact__flow-items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem; /* 左右の余白 */
  max-width: 21.875rem;
  margin: auto;
}
@media screen and (min-width: 768px) {
  .sub-contact__flow-items {
    -moz-column-gap: 4.1875rem;
         column-gap: 4.1875rem; /* 左右の余白 */
    max-width: 45.875rem;
  }
}

.sub-contact__flow-item {
  display: inline-block;
  font-size: 1rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #939393;
  padding: 0.5rem 0;
  background-color: #d9d9d9;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .sub-contact__flow-item {
    font-size: 1.5rem;
    padding: 1.125rem 0;
  }
}

.sub-contact__flow-item:nth-child(n+2) {
  position: relative;
}

.sub-contact__flow-item:nth-child(n+2)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -1.75rem;
  transform: translateY(-50%);
  width: 0.625rem;
  height: 0.625rem;
  border-bottom: 1px solid #003366;
  border-left: 1px solid #003366;
  transform: translateY(-50%) rotate(-135deg);
}
@media screen and (min-width: 768px) {
  .sub-contact__flow-item:nth-child(n+2)::before {
    left: -2.5rem;
  }
}

.sub-contact__flow-item.sub-contact__flow-item-current {
  color: #ffffff;
  background-color: #0000ff;
}

.sub-contact__message {
  font-size: 0.875rem;
  font-weight: 400;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #000000;
  line-height: 1.5;
  text-align: center;
  margin-top: 1.25rem;
}

.sub-contact__form {
  margin: 2.8125rem auto 0;
}
@media screen and (min-width: 768px) {
  .sub-contact__form {
    max-width: 37.5rem;
  }
}

.sub-contact__btn-wrapper {
  margin-top: 2.8125rem;
  text-align: center;
}

.sub-contact__description {
  font-size: 1rem;
  font-weight: 400;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #000000;
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .sub-contact__description {
    font-size: 1.5rem;
  }
}

.sub-contact__btn {
  text-align: center;
  margin-top: 1.875rem;
}

.sub-guideline__inner.inner {
  padding-inline: 0.3125rem;
  max-width: 35rem;
}
@media screen and (min-width: 768px) {
  .sub-guideline__inner.inner {
    padding-inline: 1.5625rem;
    max-width: 84.375rem;
  }
}

.sub-guideline__section-title {
  width: min(100%, 18.5rem);
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .sub-guideline__section-title {
    width: min(100%, 37.0625rem);
  }
}

.sub-guideline__container {
  width: 100%;
  margin-inline: auto;
  margin-top: 1.75rem;
  padding: 1.1875rem 0.625rem 2.5rem;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 0.625rem;
  border: 0.3125rem solid #a9d3ff;
}
@media screen and (min-width: 768px) {
  .sub-guideline__container {
    padding: 3.75rem 0.625rem 3.75rem;
    border-radius: 3.125rem;
    max-width: 82.5rem;
    border: 0.625rem solid #a9d3ff;
    margin-top: 5rem;
  }
}

.sub-guideline__container + .sub-guideline__container {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .sub-guideline__container + .sub-guideline__container {
    margin-top: 6.25rem;
  }
}

@media screen and (min-width: 768px) {
  .sub-guideline__content {
    width: min(100%, 62.5rem);
    margin-inline: auto;
  }
}

.sub-guideline__title {
  font-size: 1.25rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #008aff;
  line-height: 1.5;
  letter-spacing: 0.02em;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 2px solid #008aff;
  padding-bottom: 0;
}
@media screen and (min-width: 768px) {
  .sub-guideline__title {
    font-size: 2rem;
  }
}

.sub-guideline__title.sub-guideline__title--video {
  color: #ae00ff;
  border-bottom: 2px solid #ae00ff;
}

.sub-guideline__title-icon-memo {
  position: relative;
  top: 0.1875rem;
  display: inline-block;
  width: 1.0625rem;
  height: 1.25rem;
  margin-left: 0.625rem;
}
@media screen and (min-width: 768px) {
  .sub-guideline__title-icon-memo {
    top: 0.25rem;
    width: 1.75rem;
    height: 2rem;
  }
}

.sub-guideline__title-icon-video {
  position: relative;
  top: 0.1875rem;
  display: inline-block;
  width: 1.375rem;
  height: 1.25rem;
  margin-left: 0.625rem;
}
@media screen and (min-width: 768px) {
  .sub-guideline__title-icon-video {
    top: 0.25rem;
    width: 2.125rem;
    height: 1.875rem;
  }
}

.sub-guideline__title-icon-memo::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1.0625rem;
  height: 1.25rem;
  -webkit-mask-image: url(../../assets/images/common/icon-memo.svg);
          mask-image: url(../../assets/images/common/icon-memo.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: #008aff;
}
@media screen and (min-width: 768px) {
  .sub-guideline__title-icon-memo::after {
    width: 1.75rem;
    height: 2rem;
  }
}

.sub-guideline__title-icon-video::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 1.375rem;
  height: 1.25rem;
  -webkit-mask-image: url(../../assets/images/common/icon-play.svg);
          mask-image: url(../../assets/images/common/icon-play.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: #ae00ff;
}
@media screen and (min-width: 768px) {
  .sub-guideline__title-icon-video::after {
    width: 2.125rem;
    height: 1.875rem;
  }
}

.sub-guideline__group {
  margin-top: 1.375rem;
}
@media screen and (min-width: 768px) {
  .sub-guideline__group {
    margin-top: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .sub-guideline__group + .sub-guideline__group {
    margin-top: 1.5625rem;
  }
}

.sub-guideline__lead {
  font-size: 0.9375rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #333333;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (min-width: 768px) {
  .sub-guideline__lead {
    font-size: 1.25rem;
  }
}

.sub-guideline__text {
  margin-top: 0.9375rem;
  font-size: 0.9375rem;
  font-weight: 400;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .sub-guideline__text {
    margin-top: 1.875rem;
  }
}

.sub-guideline__text span {
  display: inline-block;
  padding-left: 1em;
  text-indent: -1em;
}

.sub-guideline__text--medium {
  font-weight: 500;
}

.sub-guideline__list {
  margin-top: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .sub-guideline__list {
    margin-top: 1.5625rem;
  }
}

.sub-guideline__item {
  font-size: 0.9375rem;
  font-weight: 400;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 1em;
  text-indent: -1em;
}

.sub-guideline__back-btn {
  margin-top: 3.125rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .sub-guideline__back-btn {
    margin-top: 6.25rem;
  }
}

.sub-talents {
  position: relative;
  margin-top: 1.875rem;
}
.sub-talents__inner.inner {
  max-width: 34.375rem;
}
@media screen and (min-width: 768px) {
  .sub-talents__inner.inner {
    max-width: 71.875rem;
  }
}

.sub-talents__outer {
  position: relative;
}
@media screen and (min-width: 768px) {
  .sub-talents__outer {
    width: min(100%, 68.75rem);
    margin-inline: auto;
  }
}

@media screen and (min-width: 768px) {
  .sub-talents__outer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1.875rem;
    -webkit-mask-image: url(../../assets/images/talents/frame-top.svg);
            mask-image: url(../../assets/images/talents/frame-top.svg);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
  }
}

@media screen and (min-width: 768px) {
  .sub-talents__outer::after {
    content: "";
    position: absolute;
    bottom: -1.875rem;
    left: 0;
    width: 100%;
    height: 1.875rem;
    -webkit-mask-image: url(../../assets/images/talents/frame-bottom.svg);
            mask-image: url(../../assets/images/talents/frame-bottom.svg);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
  }
}

/* 『いもいぽて』さんのスタイル */
@media screen and (min-width: 768px) {
  .sub-talents.sub-talents-pote .sub-talents__outer::before,
  .sub-talents.sub-talents-pote .sub-talents__outer::after {
    background-color: #ffaf3f;
  }
}

/* 『白乃ことら』さんのスタイル */
@media screen and (min-width: 768px) {
  .sub-talents.sub-talents-kotora .sub-talents__outer::before,
  .sub-talents.sub-talents-kotora .sub-talents__outer::after {
    background-color: #249eff;
  }
}

/* 『ねむみるつ』さんのスタイル */
@media screen and (min-width: 768px) {
  .sub-talents.sub-talents-ruth .sub-talents__outer::before,
  .sub-talents.sub-talents-ruth .sub-talents__outer::after {
    background-color: #96aabb;
  }
}

/* 『羽壱まほ』さんのスタイル */
@media screen and (min-width: 768px) {
  .sub-talents.sub-talents-maho .sub-talents__outer::before,
  .sub-talents.sub-talents-maho .sub-talents__outer::after {
    background-color: #b24499;
  }
}

/* 『月宮くぅ』さんのスタイル */
@media screen and (min-width: 768px) {
  .sub-talents.sub-talents-quu .sub-talents__outer::before,
  .sub-talents.sub-talents-quu .sub-talents__outer::after {
    background-color: #e879a3;
  }
}

/* 『黄白レモ』さんのスタイル */
@media screen and (min-width: 768px) {
  .sub-talents.sub-talents-lemo .sub-talents__outer::before,
  .sub-talents.sub-talents-lemo .sub-talents__outer::after {
    background-color: #dab900;
  }
}

/* 『彩刃ニイル』さんのスタイル */
@media screen and (min-width: 768px) {
  .sub-talents.sub-talents-neel .sub-talents__outer::before,
  .sub-talents.sub-talents-neel .sub-talents__outer::after {
    background-color: #5f9ea0;
  }
}

/* 『蝶咲りりは』さんのスタイル */
@media screen and (min-width: 768px) {
  .sub-talents.sub-talents-ririha .sub-talents__outer::before,
  .sub-talents.sub-talents-ririha .sub-talents__outer::after {
    background-color: #0571a0;
  }
}

/* 『百瀬こいろ』さんのスタイル */
@media screen and (min-width: 768px) {
  .sub-talents.sub-talents-koiro .sub-talents__outer::before,
  .sub-talents.sub-talents-koiro .sub-talents__outer::after {
    background-color: #e97865;
  }
}

/* 『七八くまの』さんのスタイル */
@media screen and (min-width: 768px) {
  .sub-talents.sub-talents-kumano .sub-talents__outer::before,
  .sub-talents.sub-talents-kumano .sub-talents__outer::after {
    background-color: #ab6cf8;
  }
}

@media screen and (min-width: 768px) {
  .sub-talents__container {
    display: grid;
    grid-template-columns: 44.9% 55.1%;
    align-items: center;
  }
}

.sub-talents__image {
  display: flex;
  justify-content: center;
}
.sub-talents__image img {
  width: auto;
  height: 96.6183574879vw;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 768px) {
  .sub-talents__image img {
    height: 46rem;
  }
}

.sub-talents__wrapper {
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .sub-talents__wrapper {
    margin-top: 1.5625rem;
    flex: 1;
  }
}

.sub-talents__name-en {
  font-size: 3.1400966184vw;
  font-weight: 900;
  font-family: "Rubik", sans-serif;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .sub-talents__name-en {
    font-size: 1.25rem;
    text-align: left;
  }
}

/* 『いもいぽて』さんのスタイル */
.sub-talents.sub-talents-pote .sub-talents__name-en {
  color: #ffaf3f;
}

/* 『白乃ことら』さんのスタイル */
.sub-talents.sub-talents-kotora .sub-talents__name-en {
  color: #249eff;
}

/* 『ねむみるつ』さんのスタイル */
.sub-talents.sub-talents-ruth .sub-talents__name-en {
  color: #96aabb;
}

/* 『羽壱まほ』さんのスタイル */
.sub-talents.sub-talents-maho .sub-talents__name-en {
  color: #b24499;
}

/* 『月宮くぅ』さんのスタイル */
.sub-talents.sub-talents-quu .sub-talents__name-en {
  color: #e879a3;
}

/* 『黄白レモ』さんのスタイル */
.sub-talents.sub-talents-lemo .sub-talents__name-en {
  color: #dab900;
}

/* 『彩刃ニイル』さんのスタイル */
.sub-talents.sub-talents-neel .sub-talents__name-en {
  color: #5f9ea0;
}

/* 『蝶咲りりは』さんのスタイル */
.sub-talents.sub-talents-ririha .sub-talents__name-en {
  color: #0571a0;
}

/* 『百瀬こいろ』さんのスタイル */
.sub-talents.sub-talents-koiro .sub-talents__name-en {
  color: #e97865;
}

/* 『七八くまの』さんのスタイル */
.sub-talents.sub-talents-kumano .sub-talents__name-en {
  color: #ab6cf8;
}

.sub-talents__name-ja {
  font-size: 7.729468599vw;
  font-weight: 900;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .sub-talents__name-ja {
    text-align: left;
    font-size: 4rem;
    margin-top: 0.625rem;
  }
}

.sub-talents__logo {
  margin: 2.4154589372vw auto 0;
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .sub-talents__logo {
    margin: 0.625rem 0 0;
    justify-content: flex-start;
  }
}

.sub-talents__logo img {
  width: auto;
  max-height: 12.3188405797vw;
}
@media screen and (min-width: 768px) {
  .sub-talents__logo img {
    max-height: 6rem;
  }
}

.sub-talents__content {
  margin-top: 1.5625rem;
  display: flex;
  flex-direction: column;
  gap: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .sub-talents__content {
    margin-top: 2.1875rem;
    gap: 2.1875rem;
  }
}

.sub-talents__text {
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .sub-talents__text {
    font-size: 1rem;
  }
}

.sub-talents__desc-item {
  display: flex;
  align-items: center;
  gap: 0.8125rem;
}

.sub-talents__desc-item:not(:first-child) {
  margin-top: 0.5rem;
}

.sub-talents__desc-item dt {
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
  padding: 0 0.9375rem;
  line-height: 1.5;
  background: #ffffff;
}
@media screen and (min-width: 768px) {
  .sub-talents__desc-item dt {
    font-size: 1rem;
  }
}

/* 『いもいぽて』さんのスタイル */
.sub-talents.sub-talents-pote .sub-talents__desc-item dt {
  border: 1px solid #ffaf3f;
}

/* 『白乃ことら』さんのスタイル */
.sub-talents.sub-talents-kotora .sub-talents__desc-item dt {
  border: 1px solid #249eff;
}

/* 『ねむみるつ』さんのスタイル */
.sub-talents.sub-talents-rutus .sub-talents__desc-item dt {
  border: 1px solid #96aabb;
}

/* 『羽壱まほ』さんのスタイル */
.sub-talents.sub-talents-maho .sub-talents__desc-item dt {
  border: 1px solid #b24499;
}

/* 『月宮くぅ』さんのスタイル */
.sub-talents.sub-talents-quu .sub-talents__desc-item dt {
  border: 1px solid #e879a3;
}

/* 『黄白レモ』さんのスタイル */
.sub-talents.sub-talents-lemo .sub-talents__desc-item dt {
  border: 1px solid #dab900;
}

/* 『彩刃ニイル』さんのスタイル */
.sub-talents.sub-talents-neel .sub-talents__desc-item dt {
  border: 1px solid #5f9ea0;
}

/* 『蝶咲りりは』さんのスタイル */
.sub-talents.sub-talents-ririha .sub-talents__desc-item dt {
  border: 1px solid #0571a0;
}

/* 『百瀬こいろ』さんのスタイル */
.sub-talents.sub-talents-koiro .sub-talents__desc-item dt {
  border: 1px solid #e97865;
}

/* 『七八くまの』さんのスタイル */
.sub-talents.sub-talents-kumano .sub-talents__desc-item dt {
  border: 1px solid #ab6cf8;
}

.sub-talents__desc-item dd {
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #555555;
  line-height: 1.5;
  padding: 0 0.625rem;
  border-bottom: 1px solid #555555;
}
@media screen and (min-width: 768px) {
  .sub-talents__desc-item dd {
    font-size: 1rem;
  }
}

.sub-talents__illustrator {
  display: block;
  color: inherit;
  transition: all 0.3s;
}

.sub-talents__illustrator:hover {
  transform: scale(1.05);
  filter: brightness(1.3);
}

/* 『いもいぽて』さんのスタイル */
.sub-talents.sub-talents-pote .sub-talents__name-en,
.sub-talents.sub-talents-pote .sub-talents__illustrator {
  color: #ffaf3f;
}

/* 『白乃ことら』さんのスタイル */
.sub-talents.sub-talents-kotora .sub-talents__name-en,
.sub-talents.sub-talents-kotora .sub-talents__illustrator {
  color: #249eff;
}

/* 『ねむみるつ』さんのスタイル */
.sub-talents.sub-talents-ruth .sub-talents__name-en,
.sub-talents.sub-talents-ruth .sub-talents__illustrator {
  color: #96aabb;
}

/* 『羽壱まほ』さんのスタイル */
.sub-talents.sub-talents-maho .sub-talents__name-en,
.sub-talents.sub-talents-maho .sub-talents__illustrator {
  color: #b24499;
}

/* 『月宮くぅ』さんのスタイル */
.sub-talents.sub-talents-quu .sub-talents__name-en,
.sub-talents.sub-talents-quu .sub-talents__illustrator {
  color: #e879a3;
}

/* 『黄白レモ』さんのスタイル */
.sub-talents.sub-talents-lemo .sub-talents__name-en,
.sub-talents.sub-talents-lemo .sub-talents__illustrator {
  color: #dab900;
}

/* 『彩刃ニイル』さんのスタイル */
.sub-talents.sub-talents-neel .sub-talents__name-en,
.sub-talents.sub-talents-neel .sub-talents__illustrator {
  color: #5f9ea0;
}

/* 『蝶咲りりは』さんのスタイル */
.sub-talents.sub-talents-ririha .sub-talents__name-en,
.sub-talents.sub-talents-ririha .sub-talents__illustrator {
  color: #0571a0;
}

/* 『百瀬こいろ』さんのスタイル */
.sub-talents.sub-talents-koiro .sub-talents__name-en,
.sub-talents.sub-talents-koiro .sub-talents__illustrator {
  color: #e97865;
}

/* 『七八くまの』さんのスタイル */
.sub-talents.sub-talents-kumano .sub-talents__name-en,
.sub-talents.sub-talents-kumano .sub-talents__illustrator {
  color: #ab6cf8;
}

.sub-talents__fun-mark {
  display: flex;
  align-items: center;
  -moz-column-gap: 0.625rem;
       column-gap: 0.625rem;
}

.sub-talents__fun-mark img {
  width: 1.5625rem;
}

.sub-talents__media {
  display: flex;
  flex-direction: column;
  gap: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .sub-talents__media {
    gap: 2.1875rem;
  }
}

.sub-talents__btn-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.9375rem;
}

.sub-talents__btn-link {
  position: relative;
  display: block;
  font-size: 0.875rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #ffffff;
  width: 17.125rem;
  border-radius: 100vh;
  padding: 0.6875rem 0;
  transition: transform 0.3s ease;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .sub-talents__btn-link {
    font-size: 1rem;
    width: 17.4375rem;
    padding: 0.625rem 0;
  }
}

.sub-talents__btn-link-youtube {
  background-color: #ff0000;
}

.sub-talents__btn-link-x {
  background-color: #000000;
}

.sub-talents__btn-link img {
  position: absolute;
  right: 0.625rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.3125rem;
  z-index: 1;
}

.sub-talents__btn-link:hover {
  transform: scale(1.05);
  filter: brightness(1.3);
}

.sub-talents__banner {
  width: 100%;
}
.sub-talents__banner-link {
  position: relative;
  display: block;
  transition: all 0.3s;
  width: 100%;
  aspect-ratio: 16/9;
}

.sub-talents__banner-link:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url(../../assets/images/common/icon-youtube-play.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 3.75rem;
  height: 2.625rem;
}
@media screen and (min-width: 768px) {
  .sub-talents__banner-link:before {
    width: 3.75rem;
    height: 2.625rem;
  }
}

.sub-talents__banner-link:hover {
  filter: brightness(1.2);
}

.sub-talents__banner img {
  -o-object-fit: contain;
     object-fit: contain;
}

.sub-talents__tag-items {
  margin-top: 1.3125rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}
@media screen and (min-width: 768px) {
  .sub-talents__tag-items {
    margin-top: 1.875rem;
  }
}

/* 『いもいぽて』さんのスタイル */
.sub-talents.sub-talents-pote .sub-talents__tag-item a {
  background-color: #ffaf3f;
}

/* 『白乃ことら』さんのスタイル */
.sub-talents.sub-talents-kotora .sub-talents__tag-item a {
  background-color: #249eff;
}

/* 『ねむみるつ』さんのスタイル */
.sub-talents.sub-talents-ruth .sub-talents__tag-item a {
  background-color: #96aabb;
}

/* 『羽壱まほ』さんのスタイル */
.sub-talents.sub-talents-maho .sub-talents__tag-item a {
  background-color: #b24499;
}

/* 『月宮くぅ』さんのスタイル */
.sub-talents.sub-talents-quu .sub-talents__tag-item a {
  background-color: #e879a3;
}

/* 『黄白レモ』さんのスタイル */
.sub-talents.sub-talents-lemo .sub-talents__tag-item a {
  background-color: #dab900;
}

/* 『彩刃ニイル』さんのスタイル */
.sub-talents.sub-talents-neel .sub-talents__tag-item a {
  background-color: #5f9ea0;
}

/* 『蝶咲りりは』さんのスタイル */
.sub-talents.sub-talents-ririha .sub-talents__tag-item a {
  background-color: #0571a0;
}

/* 『百瀬こいろ』さんのスタイル */
.sub-talents.sub-talents-koiro .sub-talents__tag-item a {
  background-color: #e97865;
}

/* 『七八くまの』さんのスタイル */
.sub-talents.sub-talents-kumano .sub-talents__tag-item a {
  background-color: #ab6cf8;
}

.sub-talents__tag-item a {
  display: inline-block;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 800;
  font-family: "M PLUS Rounded 1c", sans-serif;
  line-height: 1;
  transition: all 0.3s;
  padding: 0.125rem;
}

.sub-talents__tag-item a:hover {
  filter: brightness(1.3);
}

.sub-talents__back-btn {
  text-align: center;
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .sub-talents__back-btn {
    margin-top: 6.25rem;
  }
}

.sub-talents__image-full {
  position: fixed;
  top: 7.2463768116vw; /* パンクズあり */
  right: calc(50% - 55.5555555556vw);
  width: 171.4975845411vw;
  mix-blend-mode: overlay;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .sub-talents__image-full {
    top: 1.5625vw; /* パンクズあり */
    right: calc(50% - 6.5104166667vw);
    width: 70.3125vw;
  }
}
@media screen and (min-width: 1920px) {
  .sub-talents__image-full {
    top: 1.875rem; /* パンクズあり */
    width: 84.375rem;
    right: calc(50% - 7.8125rem);
  }
}

.talents {
  position: relative;
  padding-bottom: 4.25rem;
}
@media screen and (min-width: 768px) {
  .talents {
    padding-bottom: 12.5625rem;
  }
}

.talents::before {
  content: "";
  position: absolute;
  top: 1.5625rem;
  left: 50%;
  transform: translateX(-50%);
  background-image: url(../../assets/images/top/talents/talents-bg-sp.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position-x: center;
  width: 100vw;
  height: 100%;
  z-index: -2;
}
@media screen and (min-width: 768px) {
  .talents::before {
    top: 4.0625rem;
    background-image: url(../../assets/images/top/talents/talents-bg-pc.png);
  }
}

html.webp .talents::before {
  background-image: url(../../assets/images/top/talents/talents-bg-sp.webp);
}
@media screen and (min-width: 768px) {
  html.webp .talents::before {
    background-image: url(../../assets/images/top/talents/talents-bg-pc.webp);
  }
}

.talents__inner.inner {
  padding-left: 4.8309178744vw;
  padding-right: 4.8309178744vw;
}
@media screen and (min-width: 768px) {
  .talents__inner.inner {
    padding-left: 1.3020833333vw;
    padding-right: 1.3020833333vw;
    max-width: 66.9791666667vw;
  }
}
@media screen and (min-width: 1286px) {
  .talents__inner.inner {
    padding-left: 1.5625rem;
    padding-right: 1.5625rem;
    max-width: 80.375rem;
  }
}

.talents__section-title {
  width: min(100%, 12.875rem);
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .talents__section-title {
    width: min(100%, 40.5rem);
  }
}

.talents__container-1st {
  margin-top: 1.875rem;
}
@media screen and (min-width: 768px) {
  .talents__container-1st {
    margin-top: 3.125rem;
  }
}

.talents__container-2nd {
  margin: 3.125rem auto 0;
}
@media screen and (min-width: 768px) {
  .talents__container-2nd {
    margin: 6.25rem auto 0;
  }
}

.talents__generation {
  display: grid;
  place-items: center;
  width: min(100%, 15rem);
  margin-inline: auto;
  border-radius: 100vh;
  background: linear-gradient(75deg, #0ff 0%, #ea00ff 100%);
  padding: 0.625rem 0;
}
@media screen and (min-width: 768px) {
  .talents__generation {
    width: min(100%, 22.4375rem);
    padding: 0.9375rem 0;
  }
}

.talents__generation-text {
  font-size: 1.25rem;
  font-weight: 500;
  font-family: "M PLUS Rounded 1c", sans-serif;
  color: #ffffff;
  letter-spacing: 0.13em;
}

.talents__items {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: 3.3816425121vw;
       column-gap: 3.3816425121vw; /* 左右の余白 */
}
@media screen and (min-width: 768px) {
  .talents__items {
    justify-content: center;
    row-gap: 2.6041666667vw; /* 上下の余白 */
    -moz-column-gap: 1.8229166667vw;
         column-gap: 1.8229166667vw; /* 左右の余白 */
  }
}
@media screen and (min-width: 1286px) {
  .talents__items {
    row-gap: 3.125rem;
    -moz-column-gap: 2.1875rem;
         column-gap: 2.1875rem; /* 左右の余白 */
  }
}

@media screen and (min-width: 768px) {
  .talents__items.talents__items-2nd {
    row-gap: 1.5625vw; /* 上下の余白 */
  }
}
@media screen and (min-width: 1286px) {
  .talents__items.talents__items-2nd {
    row-gap: 1.875rem;
  }
}

.talents__item {
  display: block;
  width: 43.4782608696vw;
  height: 56.7632850242vw;
}
@media screen and (min-width: 768px) {
  .talents__item {
    width: 20.2083333333vw;
    height: 24.7916666667vw;
  }
}
@media screen and (min-width: 1286px) {
  .talents__item {
    width: 24.25rem;
    height: 29.75rem;
  }
}

.talents__item-link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.talents__item-bg {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
}

.talents__item-img-wrapper {
  position: absolute;
  bottom: 0.7246376812vw;
  left: 50%;
  transform: translateX(-50%);
  width: 42.0289855072vw;
}
@media screen and (min-width: 768px) {
  .talents__item-img-wrapper {
    width: 19.4791666667vw;
    bottom: 0.3645833333vw;
  }
}
@media screen and (min-width: 1286px) {
  .talents__item-img-wrapper {
    bottom: 0.4375rem;
    width: 23.375rem;
  }
}

.talents__item-img {
  position: relative;
  width: 100%;
  z-index: 0;
  bottom: 0;
}

.talents__info {
  position: absolute;
  bottom: 0;
  width: 100%;
}

.talents__info-bg {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0.7246376812vw;
  width: 42.0289855072vw;
}
@media screen and (min-width: 768px) {
  .talents__info-bg {
    bottom: 0.3645833333vw;
    width: 19.4791666667vw;
  }
}
@media screen and (min-width: 1286px) {
  .talents__info-bg {
    bottom: 0.4375rem;
    width: 23.375rem;
  }
}

.talents__item-name-en {
  position: relative;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.85);
  width: 100%;
}

.talents__item-name-en-text {
  font-size: 2.8985507246vw;
  font-weight: 400;
  font-family: "Anaheim", sans-serif;
  text-transform: capitalize;
}
@media screen and (min-width: 768px) {
  .talents__item-name-en-text {
    font-size: 0.8333333333vw;
  }
}
@media screen and (min-width: 1286px) {
  .talents__item-name-en-text {
    font-size: 1rem;
  }
}

.talents__item-name-en-text.talents__item-name-en-text-pote,
.talents__item-name-ja-text.talents__item-name-ja-text-pote {
  color: #ffaf3f;
}

.talents__item-name-en-text.talents__item-name-en-text-kotora,
.talents__item-name-ja-text.talents__item-name-ja-text-kotora {
  color: #249eff;
}

.talents__item-name-en-text.talents__item-name-en-text-ruth,
.talents__item-name-ja-text.talents__item-name-ja-text-ruth {
  color: #96aabb;
}

.talents__item-name-en-text.talents__item-name-en-text-maho,
.talents__item-name-ja-text.talents__item-name-ja-text-maho {
  color: #b24499;
}

.talents__item-name-en-text.talents__item-name-en-text-quu,
.talents__item-name-ja-text.talents__item-name-ja-text-quu {
  color: #e879a3;
}

.talents__item-name-en-text.talents__item-name-en-text-lemo,
.talents__item-name-ja-text.talents__item-name-ja-text-lemo {
  color: #dab900;
}

.talents__item-name-en-text.talents__item-name-en-text-neel,
.talents__item-name-ja-text.talents__item-name-ja-text-neel {
  color: #5f9ea0;
}

.talents__item-name-en-text.talents__item-name-en-text-ririha,
.talents__item-name-ja-text.talents__item-name-ja-text-ririha {
  color: #0571a0;
}

.talents__item-name-en-text.talents__item-name-en-text-koiro,
.talents__item-name-ja-text.talents__item-name-ja-text-koiro {
  color: #e97865;
}

.talents__item-name-en-text.talents__item-name-en-text-kumano,
.talents__item-name-ja-text.talents__item-name-ja-text-kumano {
  color: #ab6cf8;
}

.talents__item-name-ja {
  position: relative;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.85);
  padding: 0.7246376812vw 0;
  margin-top: 1.2077294686vw;
}
@media screen and (min-width: 768px) {
  .talents__item-name-ja {
    padding: 0.3125vw 0;
    margin-top: 0.5208333333vw;
  }
}
@media screen and (min-width: 1286px) {
  .talents__item-name-ja {
    padding: 0.375rem 0;
    margin-top: 0.625rem;
  }
}

.talents__item-name-ja-text {
  font-size: 3.8647342995vw;
  font-weight: 800;
  font-family: "M PLUS Rounded 1c", sans-serif;
}
@media screen and (min-width: 768px) {
  .talents__item-name-ja-text {
    font-size: 1.6666666667vw;
  }
}
@media screen and (min-width: 1286px) {
  .talents__item-name-ja-text {
    font-size: 2rem;
  }
}

.talents__item-name-ja::before {
  content: "";
  position: absolute;
  right: 1.690821256vw;
  top: 50%;
  transform: translateY(-50%);
  -webkit-mask-image: url(../../assets/images/common/icon-arrow-border.svg);
          mask-image: url(../../assets/images/common/icon-arrow-border.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  width: 4.8309178744vw;
  height: 4.8309178744vw;
}
@media screen and (min-width: 768px) {
  .talents__item-name-ja::before {
    right: 0.3645833333vw;
    width: 1.5104166667vw;
    height: 1.5104166667vw;
  }
}
@media screen and (min-width: 1286px) {
  .talents__item-name-ja::before {
    right: 0.4375rem;
    width: 1.8125rem;
    height: 1.8125rem;
  }
}

.talents__item-name-ja.talents__item-name-ja-pote::before {
  background-color: #ffaf3f;
}

.talents__item-name-ja.talents__item-name-ja-kotora::before {
  background-color: #249eff;
}

.talents__item-name-ja.talents__item-name-ja-ruth::before {
  background-color: #96aabb;
}

.talents__item-name-ja.talents__item-name-ja-maho::before {
  background-color: #b24499;
}

.talents__item-name-ja.talents__item-name-ja-quu::before {
  background-color: #e879a3;
}

.talents__item-name-ja.talents__item-name-ja-lemo::before {
  background-color: #dab900;
}

.talents__item-name-ja.talents__item-name-ja-neel::before {
  background-color: #5f9ea0;
}

.talents__item-name-ja.talents__item-name-ja-ririha::before {
  background-color: #0571a0;
}

.talents__item-name-ja.talents__item-name-ja-koiro::before {
  background-color: #e97865;
}

.talents__item-name-ja.talents__item-name-ja-kumano::before {
  background-color: #ab6cf8;
}

/* ---------- カード回転アニメーション用 | ここから ---------- */
.js-talents-hidden {
  display: none;
}

/* 回転アニメーション */
.animate-rotate-out {
  animation: rotate-out 0.2s ease-in-out;
}

.animate-rotate-in {
  animation: rotate-in 0.2s ease-in-out;
}

/* カードが回転して消えるアニメーション */
@keyframes rotate-out {
  0% {
    transform: rotateY(0deg);
    opacity: 1;
    filter: brightness(1);
  }
  100% {
    transform: rotateY(90deg);
    opacity: 0;
    filter: brightness(5);
  }
}
/* カードが回転して表示されるアニメーション */
@keyframes rotate-in {
  0% {
    transform: rotateY(90deg);
    opacity: 0;
    filter: brightness(5);
  }
  100% {
    transform: rotateY(0deg);
    opacity: 1;
    filter: brightness(1);
  }
}
/* ---------- カード回転アニメーション用 | ここまで ---------- */
/* ------------------------ */
/* 固有のフォント設定 */
/* 共通パーツで設定すると不便な場合、こちらに設定する */
/* ------------------------ */
/* ---------- フォントカラーの設定 ここから ---------- */
/* 16進数カラーコードも命名する。text-light-blue、text-dark-blueで管理すると、色の判別がしにくいため。 */
.text-purple_ae00ff {
  color: #ae00ff;
}

.text-blue_0000ff {
  color: #0000ff;
}

/* ---------- フォントカラーの設定 ここまで ---------- */
/* ---------- フォントの大文字・小文字の設定 ここから ---------- */
/* capitalize はspanタグで囲って使用する。「:first-letter」は使用しない。 */
/* 各単語の最初のテキストを大文字に変換 */
.text-capitalize {
  text-transform: capitalize;
}

/* 全てのテキストを大文字に変換 */
.text-uppercase {
  text-transform: uppercase;
}

/* ---------- フォントの大文字・小文字の設定 ここまで ---------- */
/* ---------- フォントウェイトの設定 ここから ---------- */
.font-regular {
  font-weight: 400;
}

.font-medium {
  font-weight: 500;
}

.font-semibold {
  font-weight: 600;
}

.font-bold {
  font-weight: 700;
}

.font-extrabold {
  font-weight: 800;
}

.font-black {
  font-weight: 900;
}

/* ---------- フォントウェイトの設定 ここまで ---------- */
/* ---------- 2行目から先頭1文字開けて表示される（※、・が先頭に記載されているときに使用） ここから ---------- */
.text-wrap {
  padding-left: 1em;
  text-indent: -1em;
}

/* ---------- 2行目から先頭1文字開けて表示される（※、・が先頭に記載されているときに使用） ここまで ---------- */
/* ------------ */
/* テキストの下線 */
/* ------------ */
.underline-red {
  padding-bottom: 0.125rem;
  border-bottom: solid 1px #be0000;
}

/* ------------------------ */
/* 改行用、SP・PC非表示用の設定 */
/* ------------------------ */
/* ---------- 改行 〜 more：以上、less：以下 | ここから ---------- */
/* 414px以下で改行 */
@media screen and (min-width: 414px) {
  .br-414-less {
    display: none;
  }
}

/* 500px以下で改行 */
@media screen and (min-width: 500px) {
  .br-500-less {
    display: none;
  }
}

/* 768px以下で改行 */
@media screen and (min-width: 768px) {
  .br-768-less {
    display: none;
  }
}

/* 768px以上で改行 */
.br-768-more {
  display: none;
}
@media screen and (min-width: 768px) {
  .br-768-more {
    display: block;
  }
}

/* 1000px以下で改行 */
@media screen and (min-width: 768px) {
  .br-1000-less {
    display: none;
  }
}

/* 1000px以上で改行 */
.br-1000-more {
  display: none;
}
@media screen and (min-width: 1000px) {
  .br-1000-more {
    display: block;
  }
}

/* 1480px以上で改行 */
.br-1480-more {
  display: none;
}
@media screen and (min-width: 1480px) {
  .br-1480-more {
    display: block;
  }
}

/* 1920px以上で改行 */
.br-1920-more {
  display: none;
}
@media screen and (min-width: 1920px) {
  .br-1920-more {
    display: block;
  }
}

/* ---------- 改行 | ここまで ---------- */
/* ---------- 表示・非表示 〜 more：以上、less：以下 | ここから ---------- */
/* PCのとき非表示 */
@media screen and (min-width: 768px) {
  .pc-none {
    display: none;
  }
}

/* SPのとき非表示 */
.sp-none {
  display: none;
}
@media screen and (min-width: 768px) {
  .sp-none {
    display: block;
  }
}

/* SPのとき非表示（インライン要素ver） */
.sp-none-inline-block {
  display: none;
}
@media screen and (min-width: 768px) {
  .sp-none-inline-block {
    display: inline-block;
  }
}

/* ---------- 表示・非表示 〜 more：以上、less：以下 | ここまで ---------- */
/* ---------- margin-topの設定 | ここから ---------- */
.mt1 {
  margin-top: 0.0625rem;
}

.mt2 {
  margin-top: 0.125rem;
}

.mt3 {
  margin-top: 0.1875rem;
}

.mt4 {
  margin-top: 0.25rem;
}

.mt5 {
  margin-top: 0.3125rem;
}

.mt6 {
  margin-top: 0.375rem;
}

.mt7 {
  margin-top: 0.4375rem;
}

.mt8 {
  margin-top: 0.5rem;
}

.mt9 {
  margin-top: 0.5625rem;
}

.mt10 {
  margin-top: 0.625rem;
}

.mt11 {
  margin-top: 0.6875rem;
}

.mt12 {
  margin-top: 0.75rem;
}

.mt13 {
  margin-top: 0.8125rem;
}

.mt14 {
  margin-top: 0.875rem;
}

.mt15 {
  margin-top: 0.9375rem;
}

.mt16 {
  margin-top: 1rem;
}

.mt17 {
  margin-top: 1.0625rem;
}

.mt18 {
  margin-top: 1.125rem;
}

.mt19 {
  margin-top: 1.1875rem;
}

.mt20 {
  margin-top: 1.25rem;
}

.mt21 {
  margin-top: 1.3125rem;
}

.mt22 {
  margin-top: 1.375rem;
}

.mt23 {
  margin-top: 1.4375rem;
}

.mt24 {
  margin-top: 1.5rem;
}

.mt25 {
  margin-top: 1.5625rem;
}

.mt26 {
  margin-top: 1.625rem;
}

.mt27 {
  margin-top: 1.6875rem;
}

.mt28 {
  margin-top: 1.75rem;
}

.mt29 {
  margin-top: 1.8125rem;
}

.mt30 {
  margin-top: 1.875rem;
}

.mt31 {
  margin-top: 1.9375rem;
}

.mt32 {
  margin-top: 2rem;
}

.mt33 {
  margin-top: 2.0625rem;
}

.mt34 {
  margin-top: 2.125rem;
}

.mt35 {
  margin-top: 2.1875rem;
}

.mt36 {
  margin-top: 2.25rem;
}

.mt37 {
  margin-top: 2.3125rem;
}

.mt38 {
  margin-top: 2.375rem;
}

.mt39 {
  margin-top: 2.4375rem;
}

.mt40 {
  margin-top: 2.5rem;
}

.mt41 {
  margin-top: 2.5625rem;
}

.mt42 {
  margin-top: 2.625rem;
}

.mt43 {
  margin-top: 2.6875rem;
}

.mt44 {
  margin-top: 2.75rem;
}

.mt45 {
  margin-top: 2.8125rem;
}

.mt46 {
  margin-top: 2.875rem;
}

.mt47 {
  margin-top: 2.9375rem;
}

.mt48 {
  margin-top: 3rem;
}

.mt49 {
  margin-top: 3.0625rem;
}

.mt50 {
  margin-top: 3.125rem;
}

.mt51 {
  margin-top: 3.1875rem;
}

.mt52 {
  margin-top: 3.25rem;
}

.mt53 {
  margin-top: 3.3125rem;
}

.mt54 {
  margin-top: 3.375rem;
}

.mt55 {
  margin-top: 3.4375rem;
}

.mt56 {
  margin-top: 3.5rem;
}

.mt57 {
  margin-top: 3.5625rem;
}

.mt58 {
  margin-top: 3.625rem;
}

.mt59 {
  margin-top: 3.6875rem;
}

.mt60 {
  margin-top: 3.75rem;
}

.mt61 {
  margin-top: 3.8125rem;
}

.mt62 {
  margin-top: 3.875rem;
}

.mt63 {
  margin-top: 3.9375rem;
}

.mt64 {
  margin-top: 4rem;
}

.mt65 {
  margin-top: 4.0625rem;
}

.mt66 {
  margin-top: 4.125rem;
}

.mt67 {
  margin-top: 4.1875rem;
}

.mt68 {
  margin-top: 4.25rem;
}

.mt69 {
  margin-top: 4.3125rem;
}

.mt70 {
  margin-top: 4.375rem;
}

.mt71 {
  margin-top: 4.4375rem;
}

.mt72 {
  margin-top: 4.5rem;
}

.mt73 {
  margin-top: 4.5625rem;
}

.mt74 {
  margin-top: 4.625rem;
}

.mt75 {
  margin-top: 4.6875rem;
}

.mt76 {
  margin-top: 4.75rem;
}

.mt77 {
  margin-top: 4.8125rem;
}

.mt78 {
  margin-top: 4.875rem;
}

.mt79 {
  margin-top: 4.9375rem;
}

.mt80 {
  margin-top: 5rem;
}

.mt81 {
  margin-top: 5.0625rem;
}

.mt82 {
  margin-top: 5.125rem;
}

.mt83 {
  margin-top: 5.1875rem;
}

.mt84 {
  margin-top: 5.25rem;
}

.mt85 {
  margin-top: 5.3125rem;
}

.mt86 {
  margin-top: 5.375rem;
}

.mt87 {
  margin-top: 5.4375rem;
}

.mt88 {
  margin-top: 5.5rem;
}

.mt89 {
  margin-top: 5.5625rem;
}

.mt90 {
  margin-top: 5.625rem;
}

.mt91 {
  margin-top: 5.6875rem;
}

.mt92 {
  margin-top: 5.75rem;
}

.mt93 {
  margin-top: 5.8125rem;
}

.mt94 {
  margin-top: 5.875rem;
}

.mt95 {
  margin-top: 5.9375rem;
}

.mt96 {
  margin-top: 6rem;
}

.mt97 {
  margin-top: 6.0625rem;
}

.mt98 {
  margin-top: 6.125rem;
}

.mt99 {
  margin-top: 6.1875rem;
}

.mt100 {
  margin-top: 6.25rem;
}

.mt101 {
  margin-top: 6.3125rem;
}

.mt102 {
  margin-top: 6.375rem;
}

.mt103 {
  margin-top: 6.4375rem;
}

.mt104 {
  margin-top: 6.5rem;
}

.mt105 {
  margin-top: 6.5625rem;
}

.mt106 {
  margin-top: 6.625rem;
}

.mt107 {
  margin-top: 6.6875rem;
}

.mt108 {
  margin-top: 6.75rem;
}

.mt109 {
  margin-top: 6.8125rem;
}

.mt110 {
  margin-top: 6.875rem;
}

.mt111 {
  margin-top: 6.9375rem;
}

.mt112 {
  margin-top: 7rem;
}

.mt113 {
  margin-top: 7.0625rem;
}

.mt114 {
  margin-top: 7.125rem;
}

.mt115 {
  margin-top: 7.1875rem;
}

.mt116 {
  margin-top: 7.25rem;
}

.mt117 {
  margin-top: 7.3125rem;
}

.mt118 {
  margin-top: 7.375rem;
}

.mt119 {
  margin-top: 7.4375rem;
}

.mt120 {
  margin-top: 7.5rem;
}

.mt121 {
  margin-top: 7.5625rem;
}

.mt122 {
  margin-top: 7.625rem;
}

.mt123 {
  margin-top: 7.6875rem;
}

.mt124 {
  margin-top: 7.75rem;
}

.mt125 {
  margin-top: 7.8125rem;
}

.mt126 {
  margin-top: 7.875rem;
}

.mt127 {
  margin-top: 7.9375rem;
}

.mt128 {
  margin-top: 8rem;
}

.mt129 {
  margin-top: 8.0625rem;
}

.mt130 {
  margin-top: 8.125rem;
}

.mt131 {
  margin-top: 8.1875rem;
}

.mt132 {
  margin-top: 8.25rem;
}

.mt133 {
  margin-top: 8.3125rem;
}

.mt134 {
  margin-top: 8.375rem;
}

.mt135 {
  margin-top: 8.4375rem;
}

.mt136 {
  margin-top: 8.5rem;
}

.mt137 {
  margin-top: 8.5625rem;
}

.mt138 {
  margin-top: 8.625rem;
}

.mt139 {
  margin-top: 8.6875rem;
}

.mt140 {
  margin-top: 8.75rem;
}

.mt141 {
  margin-top: 8.8125rem;
}

.mt142 {
  margin-top: 8.875rem;
}

.mt143 {
  margin-top: 8.9375rem;
}

.mt144 {
  margin-top: 9rem;
}

.mt145 {
  margin-top: 9.0625rem;
}

.mt146 {
  margin-top: 9.125rem;
}

.mt147 {
  margin-top: 9.1875rem;
}

.mt148 {
  margin-top: 9.25rem;
}

.mt149 {
  margin-top: 9.3125rem;
}

.mt150 {
  margin-top: 9.375rem;
}

.mt151 {
  margin-top: 9.4375rem;
}

.mt152 {
  margin-top: 9.5rem;
}

.mt153 {
  margin-top: 9.5625rem;
}

.mt154 {
  margin-top: 9.625rem;
}

.mt155 {
  margin-top: 9.6875rem;
}

.mt156 {
  margin-top: 9.75rem;
}

.mt157 {
  margin-top: 9.8125rem;
}

.mt158 {
  margin-top: 9.875rem;
}

.mt159 {
  margin-top: 9.9375rem;
}

.mt160 {
  margin-top: 10rem;
}

.mt161 {
  margin-top: 10.0625rem;
}

.mt162 {
  margin-top: 10.125rem;
}

.mt163 {
  margin-top: 10.1875rem;
}

.mt164 {
  margin-top: 10.25rem;
}

.mt165 {
  margin-top: 10.3125rem;
}

.mt166 {
  margin-top: 10.375rem;
}

.mt167 {
  margin-top: 10.4375rem;
}

.mt168 {
  margin-top: 10.5rem;
}

.mt169 {
  margin-top: 10.5625rem;
}

.mt170 {
  margin-top: 10.625rem;
}

.mt171 {
  margin-top: 10.6875rem;
}

.mt172 {
  margin-top: 10.75rem;
}

.mt173 {
  margin-top: 10.8125rem;
}

.mt174 {
  margin-top: 10.875rem;
}

.mt175 {
  margin-top: 10.9375rem;
}

.mt176 {
  margin-top: 11rem;
}

.mt177 {
  margin-top: 11.0625rem;
}

.mt178 {
  margin-top: 11.125rem;
}

.mt179 {
  margin-top: 11.1875rem;
}

.mt180 {
  margin-top: 11.25rem;
}

.mt181 {
  margin-top: 11.3125rem;
}

.mt182 {
  margin-top: 11.375rem;
}

.mt183 {
  margin-top: 11.4375rem;
}

.mt184 {
  margin-top: 11.5rem;
}

.mt185 {
  margin-top: 11.5625rem;
}

.mt186 {
  margin-top: 11.625rem;
}

.mt187 {
  margin-top: 11.6875rem;
}

.mt188 {
  margin-top: 11.75rem;
}

.mt189 {
  margin-top: 11.8125rem;
}

.mt190 {
  margin-top: 11.875rem;
}

.mt191 {
  margin-top: 11.9375rem;
}

.mt192 {
  margin-top: 12rem;
}

.mt193 {
  margin-top: 12.0625rem;
}

.mt194 {
  margin-top: 12.125rem;
}

.mt195 {
  margin-top: 12.1875rem;
}

.mt196 {
  margin-top: 12.25rem;
}

.mt197 {
  margin-top: 12.3125rem;
}

.mt198 {
  margin-top: 12.375rem;
}

.mt199 {
  margin-top: 12.4375rem;
}

.mt200 {
  margin-top: 12.5rem;
}

@media screen and (max-width: 767px) {
  .mtSp1 {
    margin-top: 0.0625rem;
  }
  .mtSp2 {
    margin-top: 0.125rem;
  }
  .mtSp3 {
    margin-top: 0.1875rem;
  }
  .mtSp4 {
    margin-top: 0.25rem;
  }
  .mtSp5 {
    margin-top: 0.3125rem;
  }
  .mtSp6 {
    margin-top: 0.375rem;
  }
  .mtSp7 {
    margin-top: 0.4375rem;
  }
  .mtSp8 {
    margin-top: 0.5rem;
  }
  .mtSp9 {
    margin-top: 0.5625rem;
  }
  .mtSp10 {
    margin-top: 0.625rem;
  }
  .mtSp11 {
    margin-top: 0.6875rem;
  }
  .mtSp12 {
    margin-top: 0.75rem;
  }
  .mtSp13 {
    margin-top: 0.8125rem;
  }
  .mtSp14 {
    margin-top: 0.875rem;
  }
  .mtSp15 {
    margin-top: 0.9375rem;
  }
  .mtSp16 {
    margin-top: 1rem;
  }
  .mtSp17 {
    margin-top: 1.0625rem;
  }
  .mtSp18 {
    margin-top: 1.125rem;
  }
  .mtSp19 {
    margin-top: 1.1875rem;
  }
  .mtSp20 {
    margin-top: 1.25rem;
  }
  .mtSp21 {
    margin-top: 1.3125rem;
  }
  .mtSp22 {
    margin-top: 1.375rem;
  }
  .mtSp23 {
    margin-top: 1.4375rem;
  }
  .mtSp24 {
    margin-top: 1.5rem;
  }
  .mtSp25 {
    margin-top: 1.5625rem;
  }
  .mtSp26 {
    margin-top: 1.625rem;
  }
  .mtSp27 {
    margin-top: 1.6875rem;
  }
  .mtSp28 {
    margin-top: 1.75rem;
  }
  .mtSp29 {
    margin-top: 1.8125rem;
  }
  .mtSp30 {
    margin-top: 1.875rem;
  }
  .mtSp31 {
    margin-top: 1.9375rem;
  }
  .mtSp32 {
    margin-top: 2rem;
  }
  .mtSp33 {
    margin-top: 2.0625rem;
  }
  .mtSp34 {
    margin-top: 2.125rem;
  }
  .mtSp35 {
    margin-top: 2.1875rem;
  }
  .mtSp36 {
    margin-top: 2.25rem;
  }
  .mtSp37 {
    margin-top: 2.3125rem;
  }
  .mtSp38 {
    margin-top: 2.375rem;
  }
  .mtSp39 {
    margin-top: 2.4375rem;
  }
  .mtSp40 {
    margin-top: 2.5rem;
  }
  .mtSp41 {
    margin-top: 2.5625rem;
  }
  .mtSp42 {
    margin-top: 2.625rem;
  }
  .mtSp43 {
    margin-top: 2.6875rem;
  }
  .mtSp44 {
    margin-top: 2.75rem;
  }
  .mtSp45 {
    margin-top: 2.8125rem;
  }
  .mtSp46 {
    margin-top: 2.875rem;
  }
  .mtSp47 {
    margin-top: 2.9375rem;
  }
  .mtSp48 {
    margin-top: 3rem;
  }
  .mtSp49 {
    margin-top: 3.0625rem;
  }
  .mtSp50 {
    margin-top: 3.125rem;
  }
  .mtSp51 {
    margin-top: 3.1875rem;
  }
  .mtSp52 {
    margin-top: 3.25rem;
  }
  .mtSp53 {
    margin-top: 3.3125rem;
  }
  .mtSp54 {
    margin-top: 3.375rem;
  }
  .mtSp55 {
    margin-top: 3.4375rem;
  }
  .mtSp56 {
    margin-top: 3.5rem;
  }
  .mtSp57 {
    margin-top: 3.5625rem;
  }
  .mtSp58 {
    margin-top: 3.625rem;
  }
  .mtSp59 {
    margin-top: 3.6875rem;
  }
  .mtSp60 {
    margin-top: 3.75rem;
  }
  .mtSp61 {
    margin-top: 3.8125rem;
  }
  .mtSp62 {
    margin-top: 3.875rem;
  }
  .mtSp63 {
    margin-top: 3.9375rem;
  }
  .mtSp64 {
    margin-top: 4rem;
  }
  .mtSp65 {
    margin-top: 4.0625rem;
  }
  .mtSp66 {
    margin-top: 4.125rem;
  }
  .mtSp67 {
    margin-top: 4.1875rem;
  }
  .mtSp68 {
    margin-top: 4.25rem;
  }
  .mtSp69 {
    margin-top: 4.3125rem;
  }
  .mtSp70 {
    margin-top: 4.375rem;
  }
  .mtSp71 {
    margin-top: 4.4375rem;
  }
  .mtSp72 {
    margin-top: 4.5rem;
  }
  .mtSp73 {
    margin-top: 4.5625rem;
  }
  .mtSp74 {
    margin-top: 4.625rem;
  }
  .mtSp75 {
    margin-top: 4.6875rem;
  }
  .mtSp76 {
    margin-top: 4.75rem;
  }
  .mtSp77 {
    margin-top: 4.8125rem;
  }
  .mtSp78 {
    margin-top: 4.875rem;
  }
  .mtSp79 {
    margin-top: 4.9375rem;
  }
  .mtSp80 {
    margin-top: 5rem;
  }
  .mtSp81 {
    margin-top: 5.0625rem;
  }
  .mtSp82 {
    margin-top: 5.125rem;
  }
  .mtSp83 {
    margin-top: 5.1875rem;
  }
  .mtSp84 {
    margin-top: 5.25rem;
  }
  .mtSp85 {
    margin-top: 5.3125rem;
  }
  .mtSp86 {
    margin-top: 5.375rem;
  }
  .mtSp87 {
    margin-top: 5.4375rem;
  }
  .mtSp88 {
    margin-top: 5.5rem;
  }
  .mtSp89 {
    margin-top: 5.5625rem;
  }
  .mtSp90 {
    margin-top: 5.625rem;
  }
  .mtSp91 {
    margin-top: 5.6875rem;
  }
  .mtSp92 {
    margin-top: 5.75rem;
  }
  .mtSp93 {
    margin-top: 5.8125rem;
  }
  .mtSp94 {
    margin-top: 5.875rem;
  }
  .mtSp95 {
    margin-top: 5.9375rem;
  }
  .mtSp96 {
    margin-top: 6rem;
  }
  .mtSp97 {
    margin-top: 6.0625rem;
  }
  .mtSp98 {
    margin-top: 6.125rem;
  }
  .mtSp99 {
    margin-top: 6.1875rem;
  }
  .mtSp100 {
    margin-top: 6.25rem;
  }
  .mtSp101 {
    margin-top: 6.3125rem;
  }
  .mtSp102 {
    margin-top: 6.375rem;
  }
  .mtSp103 {
    margin-top: 6.4375rem;
  }
  .mtSp104 {
    margin-top: 6.5rem;
  }
  .mtSp105 {
    margin-top: 6.5625rem;
  }
  .mtSp106 {
    margin-top: 6.625rem;
  }
  .mtSp107 {
    margin-top: 6.6875rem;
  }
  .mtSp108 {
    margin-top: 6.75rem;
  }
  .mtSp109 {
    margin-top: 6.8125rem;
  }
  .mtSp110 {
    margin-top: 6.875rem;
  }
  .mtSp111 {
    margin-top: 6.9375rem;
  }
  .mtSp112 {
    margin-top: 7rem;
  }
  .mtSp113 {
    margin-top: 7.0625rem;
  }
  .mtSp114 {
    margin-top: 7.125rem;
  }
  .mtSp115 {
    margin-top: 7.1875rem;
  }
  .mtSp116 {
    margin-top: 7.25rem;
  }
  .mtSp117 {
    margin-top: 7.3125rem;
  }
  .mtSp118 {
    margin-top: 7.375rem;
  }
  .mtSp119 {
    margin-top: 7.4375rem;
  }
  .mtSp120 {
    margin-top: 7.5rem;
  }
  .mtSp121 {
    margin-top: 7.5625rem;
  }
  .mtSp122 {
    margin-top: 7.625rem;
  }
  .mtSp123 {
    margin-top: 7.6875rem;
  }
  .mtSp124 {
    margin-top: 7.75rem;
  }
  .mtSp125 {
    margin-top: 7.8125rem;
  }
  .mtSp126 {
    margin-top: 7.875rem;
  }
  .mtSp127 {
    margin-top: 7.9375rem;
  }
  .mtSp128 {
    margin-top: 8rem;
  }
  .mtSp129 {
    margin-top: 8.0625rem;
  }
  .mtSp130 {
    margin-top: 8.125rem;
  }
  .mtSp131 {
    margin-top: 8.1875rem;
  }
  .mtSp132 {
    margin-top: 8.25rem;
  }
  .mtSp133 {
    margin-top: 8.3125rem;
  }
  .mtSp134 {
    margin-top: 8.375rem;
  }
  .mtSp135 {
    margin-top: 8.4375rem;
  }
  .mtSp136 {
    margin-top: 8.5rem;
  }
  .mtSp137 {
    margin-top: 8.5625rem;
  }
  .mtSp138 {
    margin-top: 8.625rem;
  }
  .mtSp139 {
    margin-top: 8.6875rem;
  }
  .mtSp140 {
    margin-top: 8.75rem;
  }
  .mtSp141 {
    margin-top: 8.8125rem;
  }
  .mtSp142 {
    margin-top: 8.875rem;
  }
  .mtSp143 {
    margin-top: 8.9375rem;
  }
  .mtSp144 {
    margin-top: 9rem;
  }
  .mtSp145 {
    margin-top: 9.0625rem;
  }
  .mtSp146 {
    margin-top: 9.125rem;
  }
  .mtSp147 {
    margin-top: 9.1875rem;
  }
  .mtSp148 {
    margin-top: 9.25rem;
  }
  .mtSp149 {
    margin-top: 9.3125rem;
  }
  .mtSp150 {
    margin-top: 9.375rem;
  }
  .mtSp151 {
    margin-top: 9.4375rem;
  }
  .mtSp152 {
    margin-top: 9.5rem;
  }
  .mtSp153 {
    margin-top: 9.5625rem;
  }
  .mtSp154 {
    margin-top: 9.625rem;
  }
  .mtSp155 {
    margin-top: 9.6875rem;
  }
  .mtSp156 {
    margin-top: 9.75rem;
  }
  .mtSp157 {
    margin-top: 9.8125rem;
  }
  .mtSp158 {
    margin-top: 9.875rem;
  }
  .mtSp159 {
    margin-top: 9.9375rem;
  }
  .mtSp160 {
    margin-top: 10rem;
  }
  .mtSp161 {
    margin-top: 10.0625rem;
  }
  .mtSp162 {
    margin-top: 10.125rem;
  }
  .mtSp163 {
    margin-top: 10.1875rem;
  }
  .mtSp164 {
    margin-top: 10.25rem;
  }
  .mtSp165 {
    margin-top: 10.3125rem;
  }
  .mtSp166 {
    margin-top: 10.375rem;
  }
  .mtSp167 {
    margin-top: 10.4375rem;
  }
  .mtSp168 {
    margin-top: 10.5rem;
  }
  .mtSp169 {
    margin-top: 10.5625rem;
  }
  .mtSp170 {
    margin-top: 10.625rem;
  }
  .mtSp171 {
    margin-top: 10.6875rem;
  }
  .mtSp172 {
    margin-top: 10.75rem;
  }
  .mtSp173 {
    margin-top: 10.8125rem;
  }
  .mtSp174 {
    margin-top: 10.875rem;
  }
  .mtSp175 {
    margin-top: 10.9375rem;
  }
  .mtSp176 {
    margin-top: 11rem;
  }
  .mtSp177 {
    margin-top: 11.0625rem;
  }
  .mtSp178 {
    margin-top: 11.125rem;
  }
  .mtSp179 {
    margin-top: 11.1875rem;
  }
  .mtSp180 {
    margin-top: 11.25rem;
  }
  .mtSp181 {
    margin-top: 11.3125rem;
  }
  .mtSp182 {
    margin-top: 11.375rem;
  }
  .mtSp183 {
    margin-top: 11.4375rem;
  }
  .mtSp184 {
    margin-top: 11.5rem;
  }
  .mtSp185 {
    margin-top: 11.5625rem;
  }
  .mtSp186 {
    margin-top: 11.625rem;
  }
  .mtSp187 {
    margin-top: 11.6875rem;
  }
  .mtSp188 {
    margin-top: 11.75rem;
  }
  .mtSp189 {
    margin-top: 11.8125rem;
  }
  .mtSp190 {
    margin-top: 11.875rem;
  }
  .mtSp191 {
    margin-top: 11.9375rem;
  }
  .mtSp192 {
    margin-top: 12rem;
  }
  .mtSp193 {
    margin-top: 12.0625rem;
  }
  .mtSp194 {
    margin-top: 12.125rem;
  }
  .mtSp195 {
    margin-top: 12.1875rem;
  }
  .mtSp196 {
    margin-top: 12.25rem;
  }
  .mtSp197 {
    margin-top: 12.3125rem;
  }
  .mtSp198 {
    margin-top: 12.375rem;
  }
  .mtSp199 {
    margin-top: 12.4375rem;
  }
  .mtSp200 {
    margin-top: 12.5rem;
  }
}
/* ---------- margin-topの設定 | ここまで ---------- */
.l-subpage-footer {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .l-subpage-footer {
    margin-top: 7.5rem;
  }
}

.l-subpage-top {
  margin-top: 3.75rem;
}
@media screen and (min-width: 768px) {
  .l-subpage-top {
    margin-top: 3.125rem;
  }
}

.top-about {
  margin-top: 4.875rem;
}
@media screen and (min-width: 768px) {
  .top-about {
    margin-top: 5rem;
  }
}

.top-news {
  margin-top: 4.375rem;
}
@media screen and (min-width: 768px) {
  .top-news {
    margin-top: 9.375rem;
  }
}

.top-special {
  margin-top: 3.125rem;
}
@media screen and (min-width: 768px) {
  .top-special {
    margin-top: 8.125rem;
  }
}

.top-talents {
  margin-top: 2.9375rem;
}
@media screen and (min-width: 768px) {
  .top-talents {
    margin-top: 8.75rem;
  }
}/*# sourceMappingURL=style.css.map */