@charset "UTF-8";
/*
====>> サイト(案件)毎にスタイルを記述していくファイル <<====

・このファイルはサイト(案件)独自のスタイルを記述するファイル
・ここに記述するファイルは、接頭辞に「p-」を付けたセレクタにする事　/　例：「.p-project-item」

*/
/*		TOPページ
-----------------------------------------------------*/
.p-hero img {
  width: 100%;
}

.p-about {
  height: clamp(0rem, 87.2916666667vw, 167.6rem);
  background-image: url("../img/page/top/bg_about_pc.webp");
  background-position: center 0;
  background-size: contain;
  /*		画像エリア
  -----*/
}
@media screen and (max-width: 1466px) {
  .p-about {
    height: clamp(0rem, 100vw, 147.6rem);
  }
}
@media screen and (max-width: 820px) {
  .p-about {
    height: clamp(0rem, 136.5409622887vw, 105rem);
    background-image: url("../img/page/top/bg_about_sp.webp");
  }
}
@media screen and (max-width: 563px) {
  .p-about {
    height: 1183px;
    height: clamp(135rem, 257.0921985816vw, 145rem);
    min-height: 100%;
  }
}
.p-about__inner {
  position: relative;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 820px) {
  .p-about__inner {
    width: 100%;
    height: 100%;
  }
}
.p-about__text {
  position: absolute;
  z-index: 3;
  top: clamp(0rem, 18.2291666667vw, 35rem);
  left: 50%;
  transform: translateX(-50%);
  width: clamp(0rem, 42.7083333333vw, 82rem);
  letter-spacing: 0px;
  text-align: left;
}
@media screen and (max-width: 820px) {
  .p-about__text {
    width: 85%;
    top: clamp(0rem, 26.0416666667vw, 20rem);
  }
}
@media screen and (max-width: 563px) {
  .p-about__text {
    top: 150px;
    text-align: left;
  }
}
.p-about__text h2 {
  margin-bottom: clamp(0rem, 1.8229166667vw, 3.5rem);
  font-size: clamp(0rem, 3.125vw, 6rem);
}
@media screen and (max-width: 820px) {
  .p-about__text h2 {
    font-size: 24px;
  }
}
@media screen and (max-width: 563px) {
  .p-about__text h2 {
    margin-bottom: 20px;
    text-align: center;
  }
}
.p-about__text p {
  font-size: clamp(1.4rem, 0.9375vw, 1.8rem);
  line-height: 2;
  letter-spacing: 0.3px;
}
@media screen and (max-width: 820px) {
  .p-about__text p {
    font-size: clamp(1rem, 1.8229166667vw, 1.4rem);
    word-break: break-word;
  }
}
@media screen and (max-width: 563px) {
  .p-about__text p {
    font-size: 14px;
    word-break: break-word;
  }
}
@media screen and (max-width: 563px) {
  .p-about__text .line {
    text-align: center !important;
  }
}
.p-about__decoration {
  position: absolute;
  top: clamp(-3.5rem, -1.8229166667vw, 0rem);
  width: 100%;
}
@media screen and (max-width: 563px) {
  .p-about__decoration {
    top: clamp(-1.5rem, -2.6595744681vw, 0rem);
  }
}
.p-about__decoration img {
  width: 100%;
}
.p-about_imgs {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%; /* コンテナの高さを設定 */
}
.p-about_imgs img {
  position: absolute;
  max-width: 100%;
  height: auto;
  transition: transform 0.3s ease;
  /* 各画像の位置を個別に設定 */
}
.p-about_imgs img:nth-child(1) {
  top: clamp(0rem, 16.6666666667vw, 32rem);
  left: 0%;
  width: clamp(0rem, 22.5vw, 43.2rem);
}
@media screen and (max-width: 820px) {
  .p-about_imgs img:nth-child(1) {
    top: clamp(0rem, 71.6145833333vw, 55rem);
    left: clamp(-2rem, -2.6041666667vw, 0rem);
    width: 217px;
  }
}
@media screen and (max-width: 563px) {
  .p-about_imgs img:nth-child(1) {
    top: 760px;
    left: -100px;
    width: 217px;
  }
}
.p-about_imgs img:nth-child(2) {
  top: clamp(0rem, 29.6875vw, 57rem);
  left: clamp(0rem, 16.6666666667vw, 32rem);
  width: clamp(0rem, 10.15625vw, 19.5rem);
}
@media screen and (max-width: 820px) {
  .p-about_imgs img:nth-child(2) {
    top: clamp(0rem, 71.6145833333vw, 55rem);
    left: 40%;
    width: 136px;
  }
}
@media screen and (max-width: 563px) {
  .p-about_imgs img:nth-child(2) {
    top: 740px;
    left: 30%;
    width: 136px;
  }
}
.p-about_imgs img:nth-child(3) {
  bottom: clamp(0rem, 26.5625vw, 51rem);
  left: clamp(0rem, 6.25vw, 12rem);
  width: clamp(0rem, 22.1354166667vw, 42.5rem);
  z-index: 1;
}
@media screen and (max-width: 820px) {
  .p-about_imgs img:nth-child(3) {
    bottom: clamp(0rem, 18.2291666667vw, 14rem);
    left: clamp(0rem, 15.625vw, 12rem);
    width: 172px;
  }
}
@media screen and (max-width: 563px) {
  .p-about_imgs img:nth-child(3) {
    bottom: 180px;
    left: -40px;
    width: 172px;
  }
}
.p-about_imgs img:nth-child(4) {
  top: clamp(0rem, 18.2291666667vw, 35rem);
  right: 0;
  width: clamp(0rem, 25.2604166667vw, 48.5rem);
}
@media screen and (max-width: 820px) {
  .p-about_imgs img:nth-child(4) {
    top: clamp(0rem, 78.125vw, 60rem);
    width: 183px;
  }
}
@media screen and (max-width: 563px) {
  .p-about_imgs img:nth-child(4) {
    top: 820px;
    right: -60px;
    width: 183px;
  }
}
.p-about_imgs img:nth-child(5) {
  top: clamp(0rem, 34.8958333333vw, 67rem);
  right: clamp(-23rem, -11.9791666667vw, 0rem);
  width: clamp(0rem, 26.5625vw, 51rem);
}
@media screen and (max-width: 820px) {
  .p-about_imgs img:nth-child(5) {
    display: none;
  }
}
.p-about_imgs img:nth-child(6) {
  bottom: clamp(0rem, 30.2083333333vw, 58rem);
  z-index: 1;
  right: clamp(0rem, 6.25vw, 12rem);
  width: clamp(0rem, 21.1979166667vw, 40.7rem);
}
@media screen and (max-width: 820px) {
  .p-about_imgs img:nth-child(6) {
    bottom: clamp(0rem, 19.53125vw, 15rem);
    right: clamp(0rem, 15.625vw, 12rem);
    width: 174px;
  }
}
@media screen and (max-width: 563px) {
  .p-about_imgs img:nth-child(6) {
    bottom: 230px;
    right: -40px;
    width: 174px;
  }
}
.p-about_imgs img:hover {
  transform: scale(1.05);
}
.p-about_imgs_wrestler {
  position: absolute;
  bottom: clamp(0rem, 9.375vw, 18rem);
  left: 50%;
  z-index: 2;
  transform: translateX(-50%);
  width: clamp(0rem, 23.8541666667vw, 45.8rem);
  height: clamp(0rem, 14.1145833333vw, 27.1rem);
  /* レスポンシブ対応 */
}
@media screen and (max-width: 820px) {
  .p-about_imgs_wrestler {
    width: clamp(0rem, 23.1707317073vw, 19rem);
    bottom: clamp(0rem, 8.5365853659vw, 7rem);
  }
}
@media screen and (max-width: 563px) {
  .p-about_imgs_wrestler {
    width: 183px;
    bottom: 110px;
  }
}
.p-about_imgs_wrestler img {
  position: absolute;
  max-width: 100%;
  height: auto;
  /* 初期位置は土俵の中央 */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-about_imgs_wrestler_bg {
  position: absolute;
  z-index: 0;
  bottom: 0;
}

.p-activity {
  background-image: url("../img/page/top/bg_activity_pc.webp");
  background-size: contain;
  background-position: center top;
  border-top: #231C3B solid 22.5px;
  width: 100%;
  height: 100%;
  margin-top: -22.5px;
  position: relative;
}
@media screen and (max-width: 820px) {
  .p-activity {
    background-image: url("../img/page/top/bg_activity_sp.webp");
  }
}
@media screen and (max-width: 563px) {
  .p-activity {
    margin-top: 0;
  }
}
.p-activity {
  position: relative;
  padding: clamp(0rem, 4.1666666667vw, 8rem) 5%;
  /*		雲画像エリア
  -----*/
}
@media screen and (max-width: 820px) {
  .p-activity {
    padding: 40px 5%;
  }
}
.p-activity__cloud {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
@media screen and (max-width: 820px) {
  .p-activity__cloud {
    z-index: 0;
  }
}
@media screen and (max-width: 563px) {
  .p-activity__cloud {
    display: none;
  }
}
.p-activity__cloud img {
  position: absolute;
  max-width: 100%;
  height: auto;
  transition: transform 0.3s ease;
  /* 各雲画像の位置を個別に設定 */
}
.p-activity__cloud img:nth-child(1) {
  top: clamp(0rem, 21.875vw, 42rem);
  left: clamp(-36.3rem, -18.90625vw, 0rem);
  width: clamp(0rem, 38.3854166667vw, 73.7rem);
}
@media screen and (max-width: 820px) {
  .p-activity__cloud img:nth-child(1) {
    top: clamp(0rem, 36.5853658537vw, 30rem);
    left: clamp(-18rem, -21.9512195122vw, 0rem);
    width: clamp(0rem, 43.9024390244vw, 36rem);
  }
}
.p-activity__cloud img:nth-child(2) {
  top: clamp(0rem, 29.6875vw, 57rem);
  left: clamp(-13rem, -6.7708333333vw, 0rem);
  width: clamp(0rem, 18.8020833333vw, 36.1rem);
}
@media screen and (max-width: 820px) {
  .p-activity__cloud img:nth-child(2) {
    top: clamp(0rem, 69.512195122vw, 57rem);
    left: clamp(-13rem, -15.8536585366vw, 0rem);
    width: clamp(0rem, 44.0243902439vw, 36.1rem);
  }
}
.p-activity__cloud img:nth-child(3) {
  top: clamp(0rem, 94.7916666667vw, 182rem);
  left: clamp(-23rem, -11.9791666667vw, 0rem);
  width: clamp(0rem, 25.3645833333vw, 48.7rem);
}
@media screen and (max-width: 820px) {
  .p-activity__cloud img:nth-child(3) {
    top: clamp(0rem, 221.9512195122vw, 182rem);
    left: clamp(-23rem, -28.0487804878vw, 0rem);
    width: clamp(0rem, 59.3902439024vw, 48.7rem);
  }
}
.p-activity__cloud img:nth-child(4) {
  top: clamp(0rem, 32.2916666667vw, 62rem);
  right: clamp(-23rem, -11.9791666667vw, 0rem);
  width: clamp(0rem, 26.875vw, 51.6rem);
}
@media screen and (max-width: 820px) {
  .p-activity__cloud img:nth-child(4) {
    top: clamp(0rem, 75.6097560976vw, 62rem);
    right: clamp(-23rem, -28.0487804878vw, 0rem);
    width: clamp(0rem, 62.9268292683vw, 51.6rem);
  }
}
.p-activity__cloud img:nth-child(5) {
  top: clamp(0rem, 42.7083333333vw, 82rem);
  right: clamp(-34rem, -17.7083333333vw, 0rem);
  width: clamp(0rem, 31.3541666667vw, 60.2rem);
}
@media screen and (max-width: 820px) {
  .p-activity__cloud img:nth-child(5) {
    top: clamp(0rem, 173.1707317073vw, 142rem);
    right: clamp(-30rem, -36.5853658537vw, 0rem);
    width: clamp(0rem, 54.8780487805vw, 45rem);
  }
}
.p-activity__cloud img:nth-child(6) {
  top: clamp(0rem, 113.5416666667vw, 218rem);
  right: clamp(-5rem, -2.6041666667vw, 0rem);
  width: clamp(0rem, 30.15625vw, 57.9rem);
  z-index: 1;
}
@media screen and (max-width: 820px) {
  .p-activity__cloud img:nth-child(6) {
    top: clamp(0rem, 265.8536585366vw, 218rem);
    right: clamp(-5rem, -6.0975609756vw, 0rem);
    width: clamp(0rem, 70.6097560976vw, 57.9rem);
  }
}
.p-activity__cloud img:hover {
  transform: scale(1.05);
}
.p-activity__inner {
  max-width: clamp(0rem, 58.024691358vw, 94rem);
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 820px) {
  .p-activity__inner {
    max-width: 85%;
  }
}
@media screen and (max-width: 563px) {
  .p-activity__inner {
    max-width: 100%;
  }
}
.p-activity__item:not(:last-child) {
  margin-bottom: clamp(0rem, 6.7901234568vw, 11rem);
}
@media screen and (max-width: 820px) {
  .p-activity__item:not(:last-child) {
    margin-bottom: 40px;
  }
}
.p-activity__item_text {
  margin-bottom: clamp(2.3rem, 1.5432098765vw, 2.5rem);
}
.p-activity__item_text p {
  font-size: clamp(1.4rem, 0.987654321vw, 1.6rem);
  word-break: auto-phrase;
}
.p-activity__item_contents {
  margin-bottom: clamp(0rem, 1.2345679012vw, 2rem);
  padding: clamp(0rem, 4.012345679vw, 6.5rem);
  background-color: #fff;
  border: 7px solid #000;
  border-image: linear-gradient(to right, #000, #000) 1;
  outline: 5px solid #000;
  outline-offset: -20px;
}
@media screen and (max-width: 563px) {
  .p-activity__item_contents {
    padding: 25px;
    padding-bottom: 47px;
    border: 5px solid #000;
    outline: 3px solid #000;
    outline-offset: -15px;
  }
}
.p-activity__item_contents_img {
  width: 100%;
  height: 100%;
  margin-bottom: clamp(1.5rem, 1.8518518519vw, 3rem);
  display: flex;
  justify-content: center;
  gap: clamp(1rem, 1.8518518519vw, 3rem);
}
.p-activity__item_contents_img img {
  width: 100%;
}
.p-activity__item_contents_img figcaption {
  font-size: 12px;
  text-align: right;
}
.p-activity__item_contents_text {
  margin-bottom: clamp(1.7rem, 1.4197530864vw, 2.3rem);
}
@media screen and (max-width: 563px) {
  .p-activity__item_contents_text {
    margin-bottom: 30px;
  }
}
.p-activity__item_contents_text h4 {
  font-size: clamp(2rem, 1.8518518519vw, 3rem);
  margin-bottom: clamp(1rem, 1.1111111111vw, 1.8rem);
}
.p-activity__item_contents_text p {
  font-size: clamp(1.4rem, 1.1111111111vw, 1.8rem);
  word-break: auto-phrase;
}

.p-banner-area {
  background-image: url("../img/page/top/bg_bannerArea_pc@2x.webp");
  background-size: contain;
  background-position: center;
  width: 100%;
  height: 100%;
  padding: clamp(0rem, 3.90625vw, 7.5rem) 5%;
  position: relative;
  /*		背景画像エリア
  -----*/
}
@media screen and (max-width: 820px) {
  .p-banner-area {
    background-image: url("../img/page/top/bg_bannerArea_sp@2x.webp");
    padding: 45px 5%;
  }
}
.p-banner-area__inner {
  position: relative;
  z-index: 1;
}
.p-banner-area__list {
  display: flex;
  justify-content: center;
  gap: 25px;
}
@media screen and (max-width: 563px) {
  .p-banner-area__list {
    flex-direction: column;
    align-items: center;
  }
}
.p-banner-area__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.p-banner-area__bg img {
  position: absolute;
  max-width: 100%;
  height: auto;
  transition: transform 0.3s ease;
  /* 各画像の位置を個別に設定 */
}
.p-banner-area__bg img:nth-child(1) {
  top: clamp(-7rem, -3.6458333333vw, 0rem);
  left: clamp(-10rem, -5.2083333333vw, 0rem);
  width: clamp(0rem, 24.5833333333vw, 47.2rem);
}
@media screen and (max-width: 820px) {
  .p-banner-area__bg img:nth-child(1) {
    top: clamp(-4.5rem, -5.487804878vw, 0rem);
    left: clamp(-16.5rem, -20.1219512195vw, 0rem);
    width: clamp(0rem, 36.5853658537vw, 30rem);
  }
}
@media screen and (max-width: 563px) {
  .p-banner-area__bg img:nth-child(1) {
    top: -35px;
    left: -125px;
    width: 252px;
  }
}
.p-banner-area__bg img:nth-child(2) {
  top: clamp(0rem, 10.4166666667vw, 20rem);
  right: clamp(-12rem, -6.25vw, 0rem);
  width: clamp(0rem, 23.9583333333vw, 46rem);
}
@media screen and (max-width: 820px) {
  .p-banner-area__bg img:nth-child(2) {
    top: clamp(0rem, 15.8536585366vw, 13rem);
    right: clamp(-8rem, -9.756097561vw, 0rem);
    width: clamp(0rem, 28.0487804878vw, 23rem);
  }
}
@media screen and (max-width: 563px) {
  .p-banner-area__bg img:nth-child(2) {
    top: initial;
    bottom: -30px;
    right: -72px;
    width: 200px;
  }
}
.p-banner-area__bg img:hover {
  transform: scale(1.05);
}

/*		テキストマスキング
-----*/
.text-mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent 0%, #fff 50%, transparent 100%);
  transform: translateX(-100%);
  pointer-events: none;
  z-index: 1;
  border-radius: 4px;
}

.text-mask--reveal {
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.8) 50%, transparent 100%);
}

.text-mask--glow {
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.9) 50%, transparent 100%);
  box-shadow: 0 0 20px rgba(255, 255, 255, 0.5);
}
