@charset "UTF-8";

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

*,
::before,
::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
a,
p,
span,
em,
small,
strong,
sub,
sup,
mark,
del,
ins,
strike,
abbr,
dfn,
blockquote,
q,
cite,
code,
pre,
ol,
ul,
li,
dl,
dt,
dd,
div,
section,
article,
main,
aside,
nav,
header,
hgroup,
footer,
img,
figure,
figcaption,
address,
time,
audio,
video,
canvas,
iframe,
details,
summary,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  border: 0;
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}

article,
aside,
footer,
header,
nav,
section,
main,
figure,
figcaption {
  display: block;
}

ul,
ol {
  list-style: none;
  list-style-type: none;
}

code,
kbd,
pre,
samp {
  font-family: monospace, sans-serif;
  font-size: inherit;
}

blockquote,
q {
  quotes: none;
}

blockquote::after,
blockquote::before,
q::after,
q::before {
  content: "";
  content: none;
}

address {
  font-style: normal;
}

/**カラー*********/

body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  color: #1a1311;
  line-height: 1;
  font-size: 1rem;
}

a {
  text-decoration: none;
  color: #1a1311;
  display: inline-block;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

img {
  max-width: 100%;
  height: auto;
}

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

.l-header {
  background-color: #1a1311;
  padding: 2.375rem 0 2rem;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 99;
}

.l-header::before {
  content: "";
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../img/bg_dots-black.png);
  position: absolute;
  top: 0;
  left: 0;
}

.l-header__logo {
  width: 24.18125rem;
}

.l-header__gnav {
  margin: 0 calc(50% - 50vw);
  position: fixed;
  z-index: -1;
  opacity: 0;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../img/bg_header-menu.png);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  pointer-events: none;
  padding: 2.375rem 0;
}

.l-header__gnav.panelactive {
  opacity: 1;
  z-index: 999;
  pointer-events: auto;
}

.l-header__gnav.panelactive .l-header__gnav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.l-header__gnav-inner {
  width: 79%;
  margin: 0 auto;
  max-width: 75rem;
}

.l-header__gnav-bg {
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  /*表示する高さ*/
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.l-header__gnav-logo {
  width: 24.18125rem;
  margin-bottom: 3.75rem;
}

.l-header__gnav-list {
  display: none;
  /*ナビゲーション天地中央揃え*/
  z-index: 999;
  gap: 3.75rem;
  padding-top: 2.1875rem;
  width: 100%;
}

.l-header__gnav-item {
  width: 100%;
}

.l-header__gnav-item--about > * {
  width: 15.375rem;
}

.l-header__gnav-item--outline > * {
  width: 18.5rem;
}

.l-header__gnav-item--event > * {
  width: 14.75rem;
}

.l-header__gnav-item--voice > * {
  width: 13.375rem;
}

.l-header__gnav-item--sponsor > * {
  width: 20.25rem;
}

.l-header__openbtn {
  position: absolute;
  z-index: 9999;
  /*ボタンを最前面に*/
  top: -0.5rem;
  right: 0;
  cursor: pointer;
  width: 3.8125rem;
  height: 3.8125rem;
}

.l-header__openbtn > * {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  position: absolute;
  left: 0;
  height: 0.3125rem;
  border-radius: 0.125rem;
  background-color: #ffffff;
  width: 100%;
}

.l-header__openbtn > *:nth-of-type(1) {
  top: 0.4375rem;
}

.l-header__openbtn > *:nth-of-type(2) {
  top: 1.5625rem;
}

.l-header__openbtn > *:nth-of-type(3) {
  top: 2.6875rem;
}

.l-header__openbtn.active > *:nth-of-type(1) {
  top: 1.125rem;
  -webkit-transform: translateY(0.375rem) rotate(-45deg);
  transform: translateY(0.375rem) rotate(-45deg);
}

.l-header__openbtn.active > *:nth-of-type(2) {
  opacity: 0;
}

.l-header__openbtn.active > *:nth-of-type(3) {
  top: 1.875rem;
  -webkit-transform: translateY(-0.375rem) rotate(45deg);
  transform: translateY(-0.375rem) rotate(45deg);
}

.l-footer {
  font-size: 1.125rem;
  background-color: #1a1311;
  padding: 1.875rem 0;
  line-height: 1.5;
}

.l-footer::before {
  content: "";
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../img/bg_dots-black.png);
  position: absolute;
  top: 0;
  left: 0;
}

.l-footer__sns {
  gap: 0.75rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  z-index: 1;
}

.l-footer__sns-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 9.5rem;
  line-height: 1;
  text-decoration: none;
  box-sizing: border-box;
}

.l-footer__sns-btn img {
  display: block;
  width: 50%;
  height: auto;
}

@media screen and (max-width: 768px) {
  .l-footer__sns {
    gap: 0.25rem;
    flex-wrap: nowrap;
    justify-content: center;
    overflow-x: visible;
    padding-bottom: 0;
  }

  .l-footer__sns > li {
    flex: 0 0 calc((100% - 1.5rem) / 7);
  }

  .l-footer__sns-btn {
    width: 100%;
  }

  .l-footer__sns-btn img {
    width: 70%;
  }
}

.c-container {
  overflow-x: hidden;
}

.c-section-inner {
  margin: 0 auto;
  max-width: 75rem;
  width: 84%;
}

.c-section-ttl {
  width: 13.463125rem;
}

.c-lead {
  min-height: 41.418125rem;
}

.c-lead__content {
  margin-top: 1rem;
}

.c-lead__ttlBox {
  -webkit-filter: drop-shadow(0.1875rem 0.1875rem 0.1875rem rgba(0, 0, 0, 0.3));
  filter: drop-shadow(0.1875rem 0.1875rem 0.1875rem rgba(0, 0, 0, 0.3));
  top: 0;
  left: 0;
}

.c-lead__ttl {
  /* line-height: 1.44; */
  /* font-size: 2.6875rem; */
  width: calc(100vw - 94rem);
  margin-bottom: 1.125rem;
}

.c-lead__ttl.c-lead__ttl--right {
  margin-left: auto;
}

.c-lead__txt {
  font-size: 1.5625rem;
  line-height: 1.8;
}

.c-lead__img {
  width: 75.36375rem;
  top: 0;
}

.c-lead__imgBox {
  margin: 0 calc(50% - 50vw);
  padding-top: 1.375rem;
}

.c-btn {
  color: #ffffff;
  background-color: #1a1311;
  border: none;
  font-size: 1.25rem;
  border-radius: 1.625rem;
  padding: 0.75rem 0;
  cursor: pointer;
  white-space: nowrap;
}

.c-rules {
  overflow: hidden;
  border: 1px solid #b2b2b2;
  color: #707070;
  padding: 2.5rem 1.25rem 2.5rem 2.5rem;
}

.c-rules__inner {
  line-height: 1.33;
  overflow-y: scroll;
  height: 100%;
  padding-right: 1.75rem;
}

.c-rules__ttl {
  margin-bottom: 2rem;
}

.c-rules__content {
  margin-bottom: 1.5rem;
  gap: 0.5rem;
}

.c-rules__list {
  margin-left: 0.5rem;
}

.c-rules span {
  margin-left: 1rem;
}

.c-rules a {
  word-break: break-all;
  display: inline;
}

.c-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  padding: 3.4375rem 4.375rem;
  pointer-events: none;
  opacity: 0;
  background-color: rgba(255, 255, 255, 0.6);
  z-index: 9999;
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
}

.c-modal.is-active {
  opacity: 1;
  pointer-events: auto;
  display: block;
}

.c-modal .js-close-modal {
  position: absolute;
  width: 55px;
  height: 55px;
  top: 24px;
  right: 23px;
  cursor: pointer;
  border-radius: 50%;
  border: 1px solid #1a1311;
  font-size: 25px;
  font-weight: 700;
}

.c-modal .js-close-modal02 {
  position: static;
  width: 100%;
  border-radius: 0;
}

.c-modal__wrap {
  background-color: #ffffff;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  max-width: 900px;
  width: 100%;
  border: 3px solid #e60012;
  -webkit-box-shadow: 0.3125rem 0.3125rem 0.3125rem rgba(29, 19, 17, 0.2);
  box-shadow: 0.3125rem 0.3125rem 0.3125rem rgba(29, 19, 17, 0.2);
  z-index: 9999;
  padding: 2.5rem 2.875rem 1.875rem;
  height: 100%;
}

.c-modal__wrap.c-modal__wrap--info {
  top: 50%;
  translate: 0 -50%;
  height: auto;
  background-image: url(../img/bg_dots-red.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}

/* .c-modal__wrap:not(.c-modal__wrap--info) > *:nth-child(2),
.c-modal__wrap:not(.c-modal__wrap--info) > *:nth-child(3),
.c-modal__wrap:not(.c-modal__wrap--info) > *:nth-child(4) {
  padding-bottom: 2.5rem;
  margin-bottom: 2.5rem;
  border-bottom: 0.1875rem dotted #e60012;
} */

.c-modal__item.c-modal__item--underline {
  padding-bottom: 2.5rem;
  margin-bottom: 2.5rem;
  border-bottom: 0.1875rem dotted #e60012;
}

/* .c-modal__wrap > *:nth-child(2) .c-modal__desc,
.c-modal__wrap > *:nth-child(3) .c-modal__desc {
  margin-bottom: 4.125rem;
} */

.c-modal__desc + * {
  margin-top: 4.125rem;
}

/* .c-modal__wrap > *:nth-child(4) {
  margin-bottom: 3.75rem;
} */

.c-modal__item + .js-close-modal {
  margin-top: 3.75rem;
}

.c-modal__ttl {
  max-width: 44.5625rem;
  margin: 0 auto 3.25rem;
  width: 100%;
}

.c-modal__ttl.c-modal__ttl02 {
  max-width: 44.1875rem;
}

.c-modal__ttl.c-modal__ttl03 {
  max-width: 37.8333333333rem;
}

.c-modal__desc {
  gap: 3.125rem;
}

.c-modal__btn-area + .c-modal__desc,
.c-modal__note + .c-modal__desc {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 0.1875rem dotted #e60012;
}

.c-modal__desc dt > * {
  background-color: #e60012;
  font-size: 20px;
  display: inline-block;
  padding: 10px 0;
  width: 97px;
}

.c-modal__desc dd {
  font-size: 25px;
  line-height: 1.4;
  gap: 10px;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
}

.c-modal__desc > * {
  gap: 1rem;
}

.c-modal__desc ul li {
  text-indent: -1em;
  padding-left: 1em;
}

.c-modal__btn-area {
  gap: 16px;
}

.c-modal__btn {
  gap: 24px;
}

.c-modal__btn a {
  font-size: 29px;
  max-width: 535px;
  width: 100%;
  border-radius: 46px;
  padding: 23px 40px;
  gap: 4px;
}

.c-modal__btn a[tabindex="-1"] {
  cursor: no-drop;
}

.c-modal__btn a > * {
  font-size: 18px;
  padding-right: 10px;
}

.c-modal__btn p {
  font-size: 22px;
}

.c-modal__top-ttl {
  background-color: #e60012;
  font-size: 2.5rem;
  display: inline-block;
  padding: 1.25rem;
  width: 5.538125rem;
}

/* .c-modal__event-ttl {
  background-color: #e60012;
  color: #ffffff;
  font-size: 2rem;
  padding: 0.75rem !important;
  width: 30rem;
  text-align: center;
  margin-inline: auto;
  border: none !important;
} */

.c-modal__event-ttl {
  background-color: #e60012;
  color: #ffffff;
  font-size: 2rem;
  padding: 0.75rem !important;
  width: 30rem;
  text-align: center;
  margin-inline: auto;
  border: none !important;
  margin-bottom: 2.5rem;
}

.c-modal__img-list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.875rem;
}

.c-modal__img-item {
  width: 100%;
}

.c-modal__img-item img {
  aspect-ratio: 396/320;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
}

.c-modal__mt-ttl {
  margin-top: 1.875rem;
}

.p-challenge {
  width: 100%;
}

.p-challenge__ttl {
  font-size: 3.75rem;
  letter-spacing: 0.04em;
  margin-bottom: 2.125rem;
}

.p-challenge__area {
  width: 100%;
}

.p-challenge__content {
  background-color: #e60012;
  width: calc(100% - 53.375rem);
  padding: 0.75rem 2.9375rem 0.9375rem;
}

.p-challenge__content::after {
  content: "";
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../img/bg_dots.png);
  position: absolute;
  left: 0;
  top: 0;
}

.p-challenge__content > * {
  z-index: 2;
}

.p-challenge__img {
  width: 26.6875rem;
}

.p-challenge__img img {
  vertical-align: bottom;
}

.p-challenge__img--top {
  width: 100%;
}

.p-challenge__card {
  width: 48.4%;
}

.p-challenge__card:nth-child(1) .p-challenge__card-label {
  width: 22.125rem;
}

.p-challenge__card:nth-child(2) .p-challenge__card-label {
  width: 14.5625rem;
}

.p-challenge__card-box {
  padding: 0.875rem 0px 0.8125rem;
}

.p-challenge__card-box::before {
  content: "";
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/bg_white.png);
  position: absolute;
  top: 0;
  left: 0;
}

.p-challenge__card-icon {
  width: 1.75rem;
  margin-bottom: 0.25rem;
  margin-right: 0.25rem;
}

.p-challenge__card-ttl {
  font-size: 1.4375rem;
}

.p-challenge__card-txt {
  font-size: 0.875rem;
}

.p-challenge__card-ttl {
  font-size: 1.4375rem;
}

.p-challenge__content-txt {
  font-size: 1.125rem;
  margin-bottom: 0.25rem;
}

.p-challenge__content-ttl {
  font-size: 3.25rem;
  letter-spacing: -0.05em;
}

.p-fv {
  padding-top: 8.75rem;
}

.p-fv__logo--jba {
  width: 6.5rem;
  margin-left: -1rem;
}

.p-fv__logo--bb {
  width: 8.3125rem;
  padding-top: 0.875rem;
  margin-right: -0.1875rem;
}

.p-fv__ttl {
  width: 51.51875rem;
  margin: -8.75rem auto 0;
}

.p-msg__ttlBox {
  gap: 1.63125rem;
  top: 6.5%;
  left: 47%;
}

.p-msg__la {
  display: inline-block;
  background-color: #1a1311;
  -webkit-clip-path: polygon(3.5% 0, 100% 0, 96.5% 100%, 0% 100%);
  clip-path: polygon(3.5% 0, 100% 0, 96.5% 100%, 0% 100%);
}

.p-msg__lg {
  font-size: 2.75rem;
}

.p-msg__ttl {
  font-size: 2.25rem;
}

.p-msg__ttl--top {
  margin-bottom: 1.625rem;
}

.p-msg__ttl--top .p-msg__la {
  padding: 0.5rem 2.875rem 1.0625rem 2.625rem;
  letter-spacing: 0.06em;
}

.p-msg__ttl--bottom {
  margin-left: 8.75rem;
}

.p-msg__ttl--bottom .p-msg__la {
  padding: 0.5rem 1.6875rem 1.0625rem 2.625rem;
}

.p-msg__ttl-sp {
  width: 84%;
  margin: 0 auto;
  white-space: nowrap;
  gap: 0.625rem;
}

.p-msg__ttl-sp > *:nth-child(2) {
  margin-left: 2.4375rem;
}

.p-msg img {
  vertical-align: bottom;
}

.p-msg__end {
  padding: 5rem 0;
}

.p-msg__end-lead {
  font-size: 2rem;
  margin-bottom: 2rem;
}

.p-msg__end-ttl {
  font-size: 3.75rem;
  line-height: 1.5;
  margin-bottom: 3.75rem;
}

.p-msg__end-reportTtl {
  font-size: 2.625rem;
  line-height: 1.5;
  margin-bottom: 2rem;
}

.p-msg__swiper {
  margin-bottom: 3rem;
}

.p-msg__swiper::before,
.p-msg__swiper::after {
  content: "";
  height: 102%;
  width: calc(50vw - 37.5rem);
  background-color: #ffffff;
  position: absolute;
  top: -1%;
  z-index: 3;
}

.p-msg__swiper::before {
  left: calc(50% - 50vw);
}

.p-msg__swiper:after {
  right: calc(50% - 50vw);
}

.p-msg__swiper .swiper-button-prev,
.p-msg__swiper .swiper-button-next {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  border: 2px solid #e60012;
  background-color: #ffffff;
  z-index: 10;
  opacity: 1 !important;
}

.p-msg__swiper .swiper-button-prev::after,
.p-msg__swiper .swiper-button-next::after {
  content: "";
  background-color: #e60012;
  position: absolute;
  width: 1.125rem;
  height: 1.75rem;
}

.p-msg__swiper .swiper-button-prev {
  /*  right: -3.75rem; */
  /*  left: auto; */
  left: -3.75rem;
  right: auto;
}

.p-msg__swiper .swiper-button-prev::after {
  -webkit-clip-path: polygon(100% 0, 0 50%, 100% 100%);
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
  /*  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
          clip-path: polygon(0 0, 0% 100%, 100% 50%); */
  /*  left: 0.875rem; */
  right: 0.875rem;
}

.p-msg__swiper .swiper-button-next {
  /*  left: -3.75rem; */
  right: -3.75rem;
}

.p-msg__swiper .swiper-button-next::after {
  /*  -webkit-clip-path: polygon(100% 0, 0 50%, 100% 100%);
          clip-path: polygon(100% 0, 0 50%, 100% 100%); */
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  /*  left: 0.625rem; */
  right: 0.625rem;
}

.p-msg__end-reportTxt {
  font-size: 1.625rem;
  line-height: 1.5;
  margin-bottom: 3.25rem;
}

.p-msg__end-rs {
  font-size: 1.75rem;
  gap: 1.5rem;
  line-height: 1.5;
  margin-bottom: 2.625rem;
  border: 0.3125rem solid #e60012;
  padding: 2rem 0;
}

.p-msg__end-num {
  font-size: 4.8rem;
  color: #f6101d;
}
.p-msg__end-num span {
  border-bottom: 5px solid #f6101d;
  padding: 0 1rem;
}

.p-msg__end-note {
  font-size: 1.375rem;
  padding-top: 0.75rem;
}

.p-msg__end-txt {
  font-size: 1.625rem;
  line-height: 1.5;
  margin-bottom: 2rem;
}

.p-msg__end-btn-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
}

.p-msg__end-btn {
  background-color: #1a1311;
  border-radius: 0.625rem;
  border: none;
  padding: 1rem 2rem;
  font-size: 1.75rem;
  max-width: 38.75rem;
}

.p-msg__end-btn.p-msg__end-btn--secondary {
  background-color: #e60012;
}

/* .p-msg__end-btn > * {
  width: 2rem;
  top: 27%;
  right: 7%;
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
} */

.p-info {
  padding: 7.5625rem 0;
}

.p-info__inner {
  width: 86%;
}

.p-info__cards {
  gap: 3.625rem;
  max-width: 70.625rem;
  width: 100%;
  margin: 0 auto;
  z-index: 2;
}

.p-info__txt {
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  white-space: nowrap;
}

.p-info__card--fee .p-info__txt {
  top: 50%;
  font-size: 4.75rem;
  letter-spacing: 0.1em;
}

.p-info__card--venue .p-info__txt {
  font-size: 3rem;
  top: 53%;
  letter-spacing: 0.1em;
}

.p-info__card--venue .p-info__txt > *:nth-of-type(2) {
  letter-spacing: 0.05em;
}

.p-info__card--venue .p-info__lg {
  font-size: 5.4375rem;
}

.p-info__card--duration .p-info__txt {
  top: 55%;
  font-size: 3rem;
}

.p-info__card--duration .p-info__lg {
  font-size: 4.25rem;
  line-height: 1.1;
}

.p-info__card .p-info__sm {
  font-size: 2.3125rem;
}

.p-info__plan {
  color: #1a1311;
  font-size: 1.375rem;
  letter-spacing: 0.05em;
}

.p-about {
  padding: 0 0 12.5rem;
}

.p-about__inner {
  z-index: 2;
}

.p-about__ttl {
  margin-bottom: 5rem;
}

.p-about__subttl {
  font-size: 3.75rem;
  line-height: 1.45;
  margin-bottom: 3.375rem;
  letter-spacing: 0.05em;
}

.p-about__txt {
  /* display: flex; */
  /* flex-direction: column; */
  /* gap: 0.625rem; */
  font-size: 1.5625rem;
  line-height: 2.6;
  letter-spacing: 0.02em;
}

.p-about__txt.p-about__txt--mb {
  margin-bottom: 0.5lh;
}

.p-about__toggle::before {
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/bg_bb.png);
  width: 101.403125rem;
  height: 83.19625rem;
  position: absolute;
  top: -51.3%;
  left: -20%;
  z-index: -1;
}

.p-about__toggle-button {
  margin: 0 auto;
  padding: 0.75rem 3.5rem;
  border-radius: 1.375rem;
  width: 11.1875rem;
}

.p-about__toggle-button > * {
  width: 1.5625rem;
  top: 22%;
  left: 7%;
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
}

.p-about__toggle-button.close > * {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.p-outline {
  padding: 12.1875rem 0 0;
}

.p-outline::before {
  content: "";
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../img/bg_dots-red.png);
  position: absolute;
  left: 0;
  top: -8.63%;
  z-index: -1;
}

.p-outline::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 19.875rem 50vw 0 50vw;
  border-color: #ffffff transparent transparent transparent;
  position: absolute;
  left: 0;
  top: -8.63%;
}

.p-outline__ttl {
  margin-bottom: 6rem;
}

.p-outline__subttl {
  font-size: 2.75rem;
  margin-bottom: 2.25rem;
}

.p-outline__box--season {
  margin-bottom: 2.5rem;
}

.p-outline__box--place {
  margin-bottom: 5.625rem;
}

.p-outline__box--schedule .p-outline__boxTtl {
  margin-bottom: 5.375rem;
}

.p-outline__boxTtl {
  background-color: #1a1311;
  letter-spacing: 0.03em;
  -webkit-clip-path: polygon(0 0, 100% 0, 93% 100%, 0% 100%);
  clip-path: polygon(0 0, 100% 0, 93% 100%, 0% 100%);
  width: 18.0625rem;
  padding: 0.625rem 1.5625rem 0.625rem 0.625rem;
  margin-right: 1.125rem;
}

.p-outline__boxTxt {
  line-height: 1.44;
}

.p-outline__box-top {
  margin-bottom: 2.625rem;
}

.p-outline__cards {
  width: 47%;
  margin-bottom: 1.5625rem;
  margin-inline: auto;
}

.p-outline__card {
  border: 0.3125rem solid #e60012;
  background: #fff;
}

.p-outline__card + .p-outline__card {
  margin-top: 2.4rem;
}

.p-outline__circle {
  width: 6.75rem;
  height: 6.75rem;
  background-color: #ffffff;
  border: 0.3125rem solid #e60012;
  border-radius: 50%;
  font-size: 2.475rem;
  z-index: 2;
  top: -0.9375rem;
  left: -2.4375rem;
}

.p-outline__card-top {
  background-color: #e60012;
  /* font-size: 1.6875rem; */
  /* padding: 1.4375rem 0 1.5625rem 0.625rem; */
  padding: 0.2rem 1rem;
  border-bottom: 0.3125rem solid #e60012;
}

.p-outline__card-bottom {
  background-color: #ffffff;
  padding: 1.875rem 2.5rem 3.375rem;
}

.p-outline__card-img {
  width: 4.78375rem;
  right: 1.0625rem;
  top: 1.25rem;
}

.p-outline__card-list {
  gap: 2.375rem;
}

.p-outline__card-unit {
  gap: 1.25rem;
}

.p-outline__card-txt {
  line-height: 1.45;
  margin-bottom: 2.625rem;
}

.p-outline__card-ttl {
  background-color: #e60012;
  -webkit-clip-path: polygon(0 0, 100% 0, 93% 100%, 0% 100%);
  clip-path: polygon(0 0, 100% 0, 93% 100%, 0% 100%);
  width: 11.391875rem;
  padding: 0.6875rem 0.75rem 0.75rem 0.125rem;
}

.p-outline__list {
  gap: 1.6875rem;
  margin-bottom: 2.1875rem;
}

.p-outline__unit {
  background-color: #ffffff;
  border: 0.3125rem solid #e60012;
  padding: 1.375rem 1.6875rem 1.625rem 1.5rem;
  min-height: 9.1875rem;
}

.p-outline__unit dt > * {
  background-color: #e60012;
  font-size: 1.1875rem;
  display: inline-block;
  padding: 0.3125rem 0 0.4375rem;
  width: 5.538125rem;
}

.p-outline__unit dd {
  font-size: 1.375rem;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  line-height: 1.2;
  white-space: nowrap;
}

.p-outline__unit-ttl {
  font-size: 1.5625rem;
  width: 6.6875rem;
}

.p-outline__unit-ttl2 {
  font-size: 1.5625rem;
  width: 6.6875rem;
}

.p-outline__desc {
  width: calc(100% - 6.6875rem - 16.6875rem);
}

.p-outline__desc > * {
  gap: 0.25rem;
}

.p-outline__desc > *:nth-child(1) {
  width: 31%;
}

.p-outline__desc > *:nth-child(2) {
  width: 29%;
}

.p-outline__desc > *:nth-child(3) {
  width: 38%;
}

.p-outline__click {
  font-size: 1.625rem;
}

.p-outline__click::before,
.p-outline__click::after {
  content: "";
  width: 0.1875rem;
  height: 1.5625rem;
  background-color: #1a1311;
  position: absolute;
  bottom: 0;
}

.p-outline__click::before {
  left: -2rem;
  -webkit-transform: rotate(-29deg);
  transform: rotate(-29deg);
}

.p-outline__click::after {
  right: -2rem;
  -webkit-transform: rotate(29deg);
  transform: rotate(29deg);
}

.p-outline__btn {
  width: 16.6875rem;
  gap: 0.3125rem;
}

.p-outline__btn button {
  width: 100%;
}

.p-outline__end,
.p-outline__prep {
  display: none;
}

.p-outline__entry {
  background-color: #e60012;
}

.p-outline .hidden {
  border: 0.3125rem solid #7c7c7c;
}

.p-outline .hidden .p-outline__unit-ttl {
  position: relative;
  padding-top: 1.75rem;
}

.p-outline .hidden .p-outline__unit-ttl::before {
  position: absolute;
  content: "実施終了";
  font-size: 0.875rem;
  color: #ffffff;
  background-color: #1a1311;
  top: -0.25rem;
  left: -0.5rem;
  padding: 0.25rem 0.5rem 0.3125rem;
}

.p-outline .hidden .p-outline__entry {
  display: none;
}

.p-outline .hidden .p-outline__end {
  display: block;
  background-color: #ffffff;
  border: 0.125rem solid #1a1311;
  color: #1a1311;
  border-radius: 1.875rem;
  font-weight: 500;
}

.p-outline .hidden dt p {
  background-color: #7c7c7c;
}

/* .p-outline .sch .p-outline__unit-ttl {
  position: relative;
  padding-top: 1.75rem;
} */

/* .p-outline .sch .p-outline__unit-ttl::before {
  position: absolute;
  content: "（予定）";
  font-size: 0.875rem;
  background-color: #FDE1E2;
  top: -0.25rem;
  left: -0.5rem;
  padding: 0.25rem 0.5rem 0.3125rem;
} */

.p-outline .sch .p-outline__entry,
.p-outline .sch .p-outline__click {
  display: none;
}

.p-outline .sch .p-outline__prep {
  display: block;
  cursor: default;
}

.p-outline__cau {
  font-size: 1.0625rem;
  line-height: 1.76;
}

.p-outline__detail {
  max-width: 67.5rem;
  width: 100%;
  margin: 0 auto;
  border-radius: 0.625rem;
  margin-bottom: 5.125rem;
}

.p-outline__accordion {
  background-color: #1a1311;
  border-radius: 0.625rem;
  border: none;
  padding: 1rem 3rem;
  cursor: pointer;
  font-size: 1.75rem;
  width: 38.75rem;
}

.p-outline__accordion > * {
  width: 2rem;
  top: 27%;
  right: 7%;
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
}

.p-outline__accordion.close > * {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.p-outline__accordion-toggle {
  margin-top: 2.5rem;
  background-color: #ffffff;
  border: 0.3125rem solid #e60012;
  -webkit-box-shadow: 0.3125rem 0.3125rem 0.3125rem rgba(29, 19, 17, 0.2);
  box-shadow: 0.3125rem 0.3125rem 0.3125rem rgba(29, 19, 17, 0.2);
  padding: 2.5rem 2.875rem 1.875rem;
  display: none;
}

.p-outline__accordion-toggle dl {
  gap: 1.875rem;
}

.p-outline__accordion-toggle dl:not(:last-child) {
  margin-bottom: 2rem;
}

.p-outline__accordion-toggle dt > * {
  background-color: #e60012;
  font-size: 1.25rem;
  display: inline-block;
  padding: 0.625rem 0;
  width: 9.375rem;
}

.p-outline__accordion-toggle dd {
  font-size: 1.5625rem;
  line-height: 1.4;
}

.p-outline #outline-oosaka dl:nth-child(1),
.p-outline #outline-oosaka dl:nth-child(2) {
  gap: 0.875rem;
}

.p-outline #toyama .p-outline__desc dl:nth-child(3) dd {
  font-size: 1.25rem;
}

.p-event {
  padding: 9.75rem 0 22.75rem;
}

.p-event::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 19.875rem 50vw 0 50vw;
  border-color: #ffffff transparent transparent transparent;
  position: absolute;
  left: 0;
  bottom: 0;
}

.p-event__ttl {
  margin-bottom: 12.25rem;
}

.p-event__lead--myfirst {
  margin-right: calc(50% - 50vw);
  margin-bottom: 13.125rem;
}

.p-event__lead--myfirst:last-child {
  margin-bottom: 0;
}

.p-event__lead--myfirst .p-event__lead-img {
  right: 0;
}

.p-event__lead--shooting {
  margin-left: calc(50% - 50vw);
  margin-bottom: 9.9375rem;
}

.p-event__lead--shooting .p-event__lead-img {
  left: 0;
}

.p-event__list {
  gap: 3.625rem 0;
  margin-bottom: 9.5rem;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.p-event__unit {
  width: 45.5%;
}

.p-event__flow-img {
  margin-bottom: 1.3125rem;
}

.p-event__flow-ttl {
  gap: 0.75rem;
  letter-spacing: 0.03em;
  margin-bottom: 1.0625rem;
  font-size: 1.875rem;
}

.p-event__flow-ttl > * > * {
  font-size: 1.5625rem;
}

.p-event__flow-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #e60012;
  padding: 0.35em 0.8em;
  border-radius: 9999px;
  line-height: 1.2;
  width: min(100%, 30rem);
  text-align: center;
  box-sizing: border-box;
}

.p-event__flow-note {
  margin-bottom: 0.75em;
}

.p-event__flow-num {
  background-color: #e60012;
  border-radius: 50%;
  width: 2.98125rem;
  height: 2.98125rem;
}

.p-event__flow-num--fi img {
  height: 2.045625rem;
}

.p-event__flow-num--se img {
  height: 2.105rem;
}

.p-event__flow-num--th img {
  height: 2.1125rem;
}

.p-event__flow-num--fo img {
  height: 2.10375rem;
}

.p-event__flow-txt {
  line-height: 1.36;
}

.p-event__cau-box {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/bg_event-cau.png);
  width: 100%;
  gap: 3.1625rem;
  padding: 3.1875rem 0 3.375rem;
}

.p-event__cau-img {
  width: 25.17375rem;
  margin-left: 1.25rem;
}

.p-event__cau-txt {
  font-size: 1.6875rem;
  line-height: 1.55;
  width: 43.75%;
  letter-spacing: 0.04em;
  text-align: justify;
}

.p-event .swiper-button-prev,
.p-event .swiper-button-next {
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  background-color: #fff;
  border: 0.125rem solid #e60012;
  position: absolute;
  z-index: 10;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  cursor: pointer;
  top: 30.15%;
  display: none;
}

.p-event .swiper-button-prev::after,
.p-event .swiper-button-next::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  margin: auto;
  position: absolute;
}

.p-event .swiper-button-next {
  right: -7%;
  padding-left: 0.1875rem;
}

.p-event .swiper-button-next::after {
  border-width: 0.4375rem 0 0.4375rem 0.8125rem;
  border-color: transparent transparent transparent #e60012;
}

.p-event .swiper-button-prev {
  left: -5%;
  padding-right: 0.1875rem;
}

.p-event .swiper-button-prev::after {
  border-width: 0.4375rem 0.8125rem 0.4375rem 0;
  border-color: transparent #e60012 transparent transparent;
}

.p-event .swiper-pagination {
  bottom: 10%;
  display: none;
}

.p-event .swiper-pagination .swiper-pagination-bullet {
  width: 0.5625rem;
  height: 0.5625rem;
  margin: 0 0.1875rem !important;
  border: 1px solid #e60012;
  background-color: #ffffff;
  position: relative;
}

.p-event .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #e60012;
}

.p-voice {
  padding: 11.0625rem 0 12.5rem;
}

.p-voice::before {
  content: "";
  width: 100%;
  height: 124%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../img/bg_dots-red.png);
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}

.p-voice__ttl {
  margin-bottom: 2.75rem;
}

.p-voice__subTtl {
  font-size: 2.75rem;
  margin-bottom: 8.25rem;
}

.p-voice__list {
  gap: 4.5625rem 0;
}

.p-voice__unit {
  width: 47.1%;
  padding-bottom: 5.5625rem;
}

.p-voice__bubble {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/bg_bubble.png);
  padding: 0 2.6875rem 3.1875rem;
  height: 13.125rem;
}

.p-voice__la {
  line-height: 1.36;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}

.p-voice__hm {
  gap: 0.875rem;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.p-voice__img {
  width: 5.1625rem;
}

.p-rules {
  padding: 4.625rem 0px 4.625rem;
}

.p-rules__area {
  /* height: 25.6875rem; */
  height: 50rem;
  color: #1a1311;
}

.p-rules__list {
  gap: 2.6875rem;
  margin-bottom: 5.1875rem;
}

.p-rules__unit {
  line-height: 1.38;
}

.p-contact {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../img/bg_contact.jpg);
  padding: 5.5rem 0 4.625rem;
}

.p-contact__ttlBox {
  margin-bottom: 1.75rem;
}

.p-contact__ttl {
  font-size: 2.75rem;
}

.p-contact__ttl::before,
.p-contact__ttl::after {
  content: "";
  background-color: #fff;
  width: 5.625rem;
  height: 0.1875rem;
  position: absolute;
  top: 50%;
}

.p-contact__ttl::before {
  left: -7.0625rem;
}

.p-contact__ttl::after {
  right: -7.0625rem;
}

.p-contact__txt {
  font-size: 2.1875rem;
  line-height: 1.8;
}

.p-contact__txt a {
  display: inline;
}

.p-sponsor {
  padding: 8.25rem 0 7rem;
}

.p-sponsor__ttl {
  margin-bottom: 7rem;
}

.p-sponsor__area {
  gap: 7rem;
}

.p-sponsor__boxTtl {
  margin-bottom: 2.5rem;
}

.p-sponsor__logo img {
  width: 100%;
}

.p-sponsor__logo a:hover {
  opacity: 0.7;
}

.p-sponsor__logo--mitsui {
  width: 37.015625rem;
}

.p-sponsor__logo--softbank {
  width: 31.926875rem;
}

.p-sponsor__logo--jordan {
  width: 9.051875rem;
  margin-right: 5.4375rem;
}

.p-sponsor__logo--molten {
  width: 19.600625rem;
}

.p-sponsor__box:nth-child(3) .p-sponsor__boxTtl {
  margin-bottom: 4.375rem;
}

.p-cta {
  position: fixed;
  bottom: 3%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  z-index: 20;
  -webkit-transition: 1.2s all;
  transition: 1.2s all;
}

.p-cta.remove {
  bottom: -100%;
}

.p-cta__link {
  -webkit-filter: drop-shadow(0.3125rem 0.3125rem 0.3125rem rgba(0, 0, 0, 0.3));
  filter: drop-shadow(0.3125rem 0.3125rem 0.3125rem rgba(0, 0, 0, 0.3));
}

.p-cta__img {
  width: 7.034375rem;
  z-index: 100;
  top: 50%;
  left: -9%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.p-cta__inner {
  gap: 1.75rem;
  background-color: #1a1311;
  padding: 1.125rem 3.75rem 1.125rem 5.625rem;
  -webkit-clip-path: polygon(0 0, 100% 0, 97% 100%, 0% 100%);
  clip-path: polygon(0 0, 100% 0, 97% 100%, 0% 100%);
  white-space: nowrap;
}

.p-cta__txt {
  /* font-size: 1.5rem; */
  font-size: 2rem;
  padding-right: 2rem;
  letter-spacing: 0;
}

.p-cta__txt::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.625rem 0 0.625rem 0.6875rem;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 50%;
  right: 0%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.p-cta__sm {
  font-size: 0.9375rem;
}

/* ポップアップ全体 */

.p-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  /* 半透明の背景 */
  display: none;
  /* 初期状態は非表示 */
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  z-index: 9999;
}

.p-popup__end-lead {
  font-size: 28px;
  margin-bottom: 32px;
}

.p-popup__end-ttl {
  font-size: 48px;
  line-height: 1.5;
  margin-bottom: 48px;
}

.p-popup__end-reportTtl {
  font-size: 40px;
  line-height: 1.5;
  margin-bottom: 32px;
}

.p-popup__swiper {
  margin-bottom: 38px;
}

.p-popup__swiper .swiper-button-prev,
.p-popup__swiper .swiper-button-next {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 2px solid #e60012;
  background-color: #ffffff;
  z-index: 10;
  opacity: 1 !important;
}

.p-popup__swiper .swiper-button-prev::after,
.p-popup__swiper .swiper-button-next::after {
  content: "";
  background-color: #e60012;
  position: absolute;
  width: 18px;
  height: 28px;
}

.p-popup__swiper .swiper-button-prev {
  /*  right: 0; */
  /*  left: auto; */
  rightleft: 0;
  right: auto;
}

.p-popup__swiper .swiper-button-prev::after {
  /*  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
          clip-path: polygon(0 0, 0% 100%, 100% 50%); */
  -webkit-clip-path: polygon(100% 0, 0 50%, 100% 100%);
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
  /*  left: 14px; */
  right: 17px;
}

.p-popup__swiper .swiper-button-next {
  /*  left: 0; */
  right: 0;
}

.p-popup__swiper .swiper-button-next::after {
  /*  -webkit-clip-path: polygon(100% 0, 0 50%, 100% 100%);
          clip-path: polygon(100% 0, 0 50%, 100% 100%); */
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  /*  left: 10px; */
  right: 10px;
}

.p-popup__end-reportTxt {
  font-size: 24px;
  line-height: 1.5;
  margin-bottom: 48px;
}

.p-popup__end-rs {
  font-size: 26px;
  gap: 24px;
  line-height: 1.5;
  margin: 0 auto 42px;
  border: 3px solid #e60012;
  padding: 32px 0;
  max-width: 780px;
  width: 88%;
}

.p-popup__end-num {
  font-size: 48px;
  color: #f6101d;
}
.p-popup__end-num span {
  border-bottom: 5px solid #f6101d;
  padding: 0 1rem;
}

.p-popup__end-note {
  font-size: 20px;
  padding-top: 0.75rem;
}

.p-popup__end-txt {
  font-size: 24px;
  line-height: 1.5;
  margin-bottom: 32px;
}

.p-popup__end-btn-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
}

.p-popup__end-btn {
  background-color: #1a1311;
  border-radius: 10px;
  border: none;
  padding: 16px 24px;
  font-size: 26px;
  max-width: 500px;
}

.p-popup__end-btn.p-popup__end-btn--secondary {
  background-color: #e60012;
}

/* .p-popup__end-btn > * {
  width: 32px;
  top: 27%;
  right: 7%;
  -webkit-transition: 0.2s all;
  transition: 0.2s all;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
} */

/* ポップアップの内容 */

.p-popup-content {
  padding: 90px 30px 30px;
  border-radius: 8px;
  text-align: center;
  background-color: #ffffff;
  max-width: 900px;
  width: 88%;
  border: 3px solid #e60012;
  -webkit-box-shadow: 0.3125rem 0.3125rem 0.3125rem rgba(29, 19, 17, 0.2);
  box-shadow: 0.3125rem 0.3125rem 0.3125rem rgba(29, 19, 17, 0.2);
  height: 75%;
  overflow: hidden;
}

.p-popup-content__wrap {
  overflow-x: hidden;
  overflow-y: auto;
  height: 100%;
  padding: 0 10px;
}

.p-popup-content .js-close-modal {
  position: absolute;
  width: 55px;
  height: 55px;
  top: 24px;
  right: 23px;
  cursor: pointer;
  border-radius: 50%;
  border: 1px solid #1a1311;
  font-size: 25px;
  font-weight: 700;
}

.u-display_sp {
  display: none !important;
}

.u-df {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.u-ai-c {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.u-ai-fe {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.u-jc-c {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.u-jc-sb {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.u-jc-fe {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

.u-fw-w {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.u-fd-c {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.u-fd-rr {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

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

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

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

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

.u-fc-white {
  color: #ffffff;
}

.u-fc-orange {
  color: #f39800;
}

.u-fc-red {
  color: #e60012;
}

.u-fc-blue {
  color: #005bac;
}

.u-ls0 {
  letter-spacing: 0;
}

.u-ls100 {
  letter-spacing: 0.1em;
}

.u-ls50 {
  letter-spacing: 0.05em;
}

.u-lh15 {
  line-height: 1.5;
}

.u-ta-c {
  text-align: center;
}

.u-ta-j {
  text-align: justify;
}

.u-fs14 {
  font-size: 0.875rem;
}

.u-fs16 {
  font-size: 1rem;
}

.u-fs20 {
  font-size: 1.25rem;
}

.u-fs22 {
  font-size: 1.375rem;
}

.u-fs24 {
  font-size: 1.5rem;
}

.u-fs26 {
  font-size: 1.625rem;
}

.u-fs30 {
  font-size: 1.875rem;
}

.u-fs32 {
  font-size: 2rem;
}

.u-po-rel {
  position: relative;
}

.u-po-abs {
  position: absolute;
}

@media screen and (min-width: 769px) {
  html {
    font-size: 0.8333333333vw;
  }
}

@media screen and (max-width: 1080px) {
  .c-modal .js-close-modal {
    width: 3.4375rem;
    height: 3.4375rem;
    top: 1.5rem;
    right: 1.4375rem;
    font-size: 1.5625rem;
  }

  .c-modal .js-close-modal02 {
    width: 100%;
  }

  .c-modal__desc dt > * {
    font-size: 1.25rem;
    padding: 0.625rem 0;
    width: 6.0625rem;
  }

  .c-modal__desc dd {
    font-size: 1.5625rem;
    gap: 0.625rem;
  }

  .c-modal__btn-area {
    gap: 1rem;
  }

  .c-modal__btn {
    gap: 1.5rem;
  }

  .c-modal__btn a {
    font-size: 1.8125rem;
    max-width: 33.4375rem;
    border-radius: 2.875rem;
    padding: 1.4375rem 2.5rem;
    gap: 0.25rem;
  }

  .c-modal__btn a > * {
    font-size: 1.125rem;
    padding-right: 0.625rem;
  }

  .c-modal__btn p {
    font-size: 1.375rem;
  }

  .p-popup__end-lead {
    font-size: 2.8088426528rem;
    margin-bottom: 4.9934980494rem;
  }

  .p-popup__end-ttl {
    font-size: 4.0572171651rem;
    line-height: 1.5;
    margin-bottom: 3.75rem;
  }

  .p-popup__end-reportTtl {
    font-size: 3.7451235371rem;
    margin-bottom: 3.75rem;
  }

  .p-popup__swiper {
    margin-bottom: 3rem;
  }

  .p-popup__swiper .swiper-button-prev,
  .p-popup__swiper .swiper-button-next {
    width: 4.9934980494rem;
    height: 4.9934980494rem;
  }

  .p-popup__swiper .swiper-button-prev::after,
  .p-popup__swiper .swiper-button-next::after {
    width: 1.8725617685rem;
    height: 2.8088426528rem;
  }

  .p-popup__swiper .swiper-button-prev::after {
    /*    left: 1.5604681404rem; */
    right: 1.5604681404rem;
  }

  .p-popup__swiper .swiper-button-next::after {
    /*    left: 0.9362808843rem; */
    right: 0.9362808843rem;
  }

  .p-popup__end-reportTxt {
    font-size: 2.4967490247rem;
    margin-bottom: 3.25rem;
  }

  .p-popup__end-rs {
    font-size: 2.8088426528rem;
    gap: 1.5rem;
    margin-bottom: 2.625rem;
    padding: 2rem 0;
  }

  .p-popup__end-num {
    font-size: 4.9934980494rem;
  }

  .p-popup__end-note {
    font-size: 2.3407022107rem;
  }

  .p-popup__end-txt {
    font-size: 2.4967490247rem;
    line-height: 1.5;
    margin-bottom: 2rem;
  }

  .p-popup__end-btn {
    border-radius: 1.5604681404rem;
    padding: 2.4967490247rem 4rem;
    font-size: 3.1209362809rem;
    max-width: 96.7490247074rem;
  }

  /* .p-popup__end-btn > * {
    width: 3.7451235371rem;
    top: 27%;
    right: 7%;
    -webkit-transition: 0.2s all;
    transition: 0.2s all;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
  } */

  .p-popup-content .js-close-modal {
    width: 7.8023407022rem;
    height: 7.8023407022rem;
    top: 3.7451235371rem;
    right: 3.589076723rem;
    font-size: 3.9011703511rem;
  }
}

@media (max-width: 768px) {
  html {
    font-size: 4.2666666667vw;
  }
}

@media screen and (max-width: 768px) {
  .l-header {
    padding: 1.1875rem 0 0.875rem;
  }

  .l-header__logo {
    width: 12.473125rem;
  }

  .l-header__gnav {
    padding: 2.125rem 0;
  }

  .l-header__gnav-logo {
    width: 12.4375rem;
    margin-bottom: 1.875rem;
  }

  .l-header__gnav-item--about > * {
    width: 7.6875rem;
  }

  .l-header__gnav-item--outline > * {
    width: 9.25rem;
  }

  .l-header__gnav-item--event > * {
    width: 7.375rem;
  }

  .l-header__gnav-item--voice > * {
    width: 6.6875rem;
  }

  .l-header__gnav-item--sponsor > * {
    width: 10.125rem;
  }

  .l-header__openbtn {
    width: 2.125rem;
    height: 2.125rem;
  }

  .l-header__openbtn > * {
    height: 0.1875rem;
  }

  .l-header__openbtn > *:nth-of-type(1) {
    top: 0.25rem;
  }

  .l-header__openbtn > *:nth-of-type(2) {
    top: 0.875rem;
  }

  .l-header__openbtn > *:nth-of-type(3) {
    top: 1.4375rem;
  }

  .l-footer {
    padding: 0.625rem 0;
    font-size: 0.75rem;
    line-height: 1.33;
  }

  .c-section-ttl {
    width: 6.823125rem;
  }

  .c-lead {
    min-height: 0;
    gap: 0.75rem;
  }

  .c-lead__content {
    margin-top: 0;
  }

  .c-lead__ttl {
    width: auto;
    background-color: #e60012;
    -webkit-clip-path: polygon(0 0, 100% 0, 93% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 93% 100%, 0% 100%);
    margin-bottom: 0;
    /* padding: 0.3125rem 2.1875rem 0.375rem 1.75rem; */
    padding: 0.3rem 1.5rem 0.3rem 0.8rem;
  }

  .c-lead__ttl.c-lead__ttl--right {
    margin-left: initial;
  }

  .c-lead__txt {
    line-height: 1.42;
  }

  .c-btn {
    border-radius: 1.375rem;
    margin: 0 auto;
    line-height: 0;
    font-size: 0.875rem;
    padding: 1.375rem 0;
  }

  .c-rules {
    padding: 1.25rem 0.625rem 1.25rem 1.25rem;
  }

  .c-rules__inner {
    padding-right: 0.875rem;
    margin-bottom: 1rem;
  }

  .c-rules__ttl {
    margin-bottom: 1rem;
    font-size: 0.9375rem;
  }

  .c-rules__content {
    font-size: 0.8125rem;
  }

  .c-rules__list {
    margin-left: 0;
  }

  .c-modal {
    padding: 1.375rem 2rem;
  }

  .c-modal .js-close-modal {
    width: 2.3125rem;
    height: 2.3125rem;
    top: 0.5625rem;
    right: 0.625rem;
    font-size: 1rem;
    padding: 0 0 0.125rem;
  }

  .c-modal .js-close-modal02 {
    width: 100%;
  }

  .c-modal__wrap {
    padding: 3.5rem 1.4375rem 2.875rem;
  }

  /* .c-modal__wrap:not(.c-modal__wrap--info) > *:nth-child(2),
  .c-modal__wrap:not(.c-modal__wrap--info) > *:nth-child(3),
  .c-modal__wrap:not(.c-modal__wrap--info) > *:nth-child(4) {
    padding-bottom: 2rem;
    margin-bottom: 2rem;
  } */

  .c-modal__item.c-modal__item--underline {
    padding-bottom: 2rem;
    margin-bottom: 2rem;
  }

  .c-modal__wrap > *:nth-child(2) .c-modal__desc {
    margin-bottom: 2rem;
  }

  /* .c-modal__wrap > *:nth-child(4) {
    margin-bottom: 3rem;
  } */

  .c-modal__item + .js-close-modal {
    margin-top: 3rem;
  }

  /* .c-modal__ttl.c-modal__ttl02 {
    max-width: 49.1875rem;
  } */

  .c-modal__desc {
    gap: 1.25rem;
  }

  .c-modal__desc dt > * {
    width: 4.625rem;
    font-size: 0.875rem;
    padding: 0.3125rem 0 0.5rem;
  }

  .c-modal__desc dd {
    font-size: 1.0625rem;
    line-height: 1.4;
  }

  .c-modal__desc > * {
    gap: 0.625rem;
  }

  .c-modal__desc ul li {
    font-size: 0.875rem;
  }

  .c-modal__btn-area {
    gap: 0.5rem;
  }

  .c-modal__btn {
    gap: 1rem;
  }

  .c-modal__btn a {
    font-size: 0.875rem;
    padding: 0.75rem 1.5rem;
    line-height: 1;
  }

  .c-modal__btn a > * {
    font-size: 0.625rem;
  }

  .c-modal__btn p {
    font-size: 0.9375rem;
  }

  .c-modal__top-ttl {
    width: 4.625rem;
    font-size: 0.875rem;
    padding: 0.3125rem 0 0.5rem;
  }

  /* .c-modal__event-ttl {
    width: 100%;
    font-size: 1rem;
    padding: 0.5rem !important;
  } */

  .c-modal__event-ttl {
    width: 100%;
    font-size: 1rem;
    padding: 0.5rem !important;
    margin-bottom: 2rem;
  }

  .c-modal__img-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 1.25rem;
  }

  .p-challenge__ttl {
    font-size: 3rem;
    margin-bottom: 1.625rem;
  }

  .p-challenge__content {
    width: 100%;
    margin-top: -1.5rem;
    padding: 0.625rem 1.875rem 0.625rem;
  }

  .p-challenge__card {
    width: 48.8%;
  }

  .p-challenge__card:nth-child(1) .p-challenge__card-label {
    width: 15.625rem;
  }

  .p-challenge__card:nth-child(2) .p-challenge__card-label {
    width: 10.25rem;
  }

  .p-challenge__card-box {
    padding: 0.375rem 0px;
  }

  .p-challenge__card-icon {
    width: 1.25rem;
  }

  .p-challenge__card-txt {
    font-size: 0.625rem;
  }

  .p-challenge__card-ttl {
    font-size: 1rem;
  }

  .p-challenge__content-txt {
    font-size: 0.8125rem;
    margin-bottom: 0;
  }

  .p-challenge__content-ttl {
    font-size: 2.25rem;
    margin-bottom: 0.5rem;
  }

  .p-fv {
    padding-top: 3.625rem;
  }

  .p-fv__logo--jba {
    width: 2.893125rem;
    margin-left: -0.375rem;
  }

  .p-fv__logo--bb {
    width: 3.551875rem;
    padding-top: 0.4375rem;
    margin-right: 0;
  }

  .p-fv__ttl {
    width: 17.124375rem;
    margin-top: -3.125rem;
  }

  .p-msg {
    padding-bottom: 3.875rem;
  }

  .p-msg__ttlBox {
    background-color: #1a1311;
    width: 100%;
    top: auto;
    left: 0;
    bottom: 0;
    padding: 1.125rem 0 1.1875rem;
  }

  .p-msg__ttlBox::before {
    content: "";
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(../img/bg_dots-black.png);
    position: absolute;
    top: 0;
    left: 0;
  }

  .p-msg__end {
    padding: 2.5rem 0;
  }

  .p-msg__end-lead {
    line-height: 1.5;
    font-size: 1.125rem;
    margin-bottom: 1.125rem;
  }

  .p-msg__end-ttl {
    font-size: 1.625rem;
    margin-bottom: 1.625rem;
  }

  .p-msg__end-reportTtl {
    font-size: 1.375rem;
  }

  .p-msg__swiper {
    margin-bottom: 1.75rem;
  }

  .p-msg__swiper::before,
  .p-msg__swiper::after {
    content: none;
  }

  .p-msg__swiper .swiper-button-prev,
  .p-msg__swiper .swiper-button-next {
    width: 2rem;
    height: 2rem;
  }

  .p-msg__swiper .swiper-button-prev::after,
  .p-msg__swiper .swiper-button-next::after {
    width: 0.75rem;
    height: 1.125rem;
  }

  .p-msg__swiper .swiper-button-prev {
    /*    right: -1.375rem; */
    left: -1.375rem;
  }

  .p-msg__swiper .swiper-button-prev::after {
    /*    left: 0.625rem; */
    right: 0.625rem;
  }

  .p-msg__swiper .swiper-button-next {
    /*    left: -1.375rem; */
    right: -1.375rem;
  }

  .p-msg__swiper .swiper-button-next::after {
    /*    left: 0.375rem; */
    right: 0.375rem;
  }

  .p-msg__end-reportTxt {
    font-size: 0.9375rem;
    margin-bottom: 2rem;
  }

  .p-msg__end-rs {
    font-size: 1.0625rem;
    margin-bottom: 1.5rem;
    gap: 0.75rem;
    padding: 1.5rem 0;
    border-width: 0.125rem;
  }

  .p-msg__end-num {
    font-size: 2rem;
  }

  .p-msg__end-note {
    font-size: 0.875rem;
  }

  .p-msg__end-txt {
    font-size: 1rem;
    margin-bottom: 1.5rem;
  }

  .p-msg__end-btn-wrapper {
    gap: 12px;
  }

  .p-msg__end-btn {
    max-width: 86%;
    font-size: 0.9375rem;
    padding: 0.625rem 1.5625rem 0.625rem 1rem;
  }

  /* .p-msg__end-btn > * {
    width: 1.25rem;
    top: 21%;
    right: 4%;
  } */

  .p-info {
    padding: 1.6875rem 0 1.875rem;
  }

  .p-info__cards {
    gap: 0;
  }

  .p-info__card--fee .p-info__txt {
    font-size: 1.6875rem;
    letter-spacing: 0.12em;
  }

  .p-info__card--venue .p-info__txt {
    font-size: 1.05rem;
    letter-spacing: 0.12em;
  }

  .p-info__card--venue .p-info__txt > *:nth-of-type(2) {
    letter-spacing: 0.06em;
  }

  .p-info__card--venue .p-info__lg {
    font-size: 1.9375rem;
  }

  .p-info__card--duration .p-info__txt {
    font-size: 0.9375rem;
    top: 56%;
  }

  .p-info__card--duration .p-info__lg {
    font-size: 1.625rem;
  }

  .p-info__card .p-info__sm {
    font-size: 0.75rem;
  }

  .p-info__card--duration .p-info__sm > * {
    font-size: 0.9375rem;
  }

  .p-info__plan {
    font-size: 0.625rem;
  }

  .p-about {
    padding: 0 0 8.125rem;
    padding: 0;
  }

  .p-about__ttl {
    margin-bottom: 1.75rem;
  }

  .p-about__subttl {
    font-size: 1.6875rem;
    letter-spacing: 0.025em;
    margin-bottom: 1.375rem;
  }

  .p-about__txt {
    font-size: 0.8125rem;
    line-height: 2.15;
    letter-spacing: 0;
  }

  .p-about__toggle {
    display: none;
    padding-bottom: 1.625rem;
  }

  .p-about__toggle::before {
    width: 41.233125rem;
    height: 33.83rem;
    top: -3.3%;
    left: -82%;
  }

  .p-outline {
    padding: 6.9375rem 0 0;
  }

  .p-outline::before {
    top: 0;
  }

  .p-outline::after {
    border-width: 3.875rem 50vw 0 50vw;
    top: 0;
  }

  .p-outline__ttl {
    margin-bottom: 2.1875rem;
  }

  .p-outline__subttl {
    font-size: 1.5rem;
    margin-bottom: 1.1875rem;
  }

  .p-outline__box--season {
    margin-bottom: 1.4375rem;
  }

  .p-outline__box--place {
    margin-bottom: 3.25rem;
  }

  .p-outline__box--schedule .p-outline__boxTtl {
    margin-bottom: 2.1875rem;
  }

  .p-outline__boxTtl {
    width: 9.72625rem;
    padding: 0.375rem 0.625rem 0.3125rem 0.625rem;
    -webkit-clip-path: polygon(0 0, 100% 0, 95% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 95% 100%, 0% 100%);
    margin-bottom: 0.6875rem;
    margin-right: 0;
  }

  .p-outline__box-top {
    margin-bottom: 1.625rem;
  }

  .p-outline__cards {
    width: 100%;
    gap: 1.625rem;
  }

  .p-outline__card {
    width: 100%;
    border: 0.1875rem solid #e60012;
  }

  .p-outline__card + .p-outline__card {
    margin-top: 1.2rem;
  }

  .p-outline__circle {
    width: 3.875rem;
    height: 3.875rem;
    font-size: 1.375rem;
    border: 0.1875rem solid #e60012;
    top: -0.625rem;
    left: -1.5rem;
  }

  .p-outline__card-top {
    /* font-size: 0.9375rem; */
    padding: 0.1rem 0.8rem;
    border-bottom: 0.1875rem solid #e60012;
  }

  .p-outline__card-bottom {
    padding: 1.25rem 1.4375rem 2.0625rem;
  }

  .p-outline__card-img {
    width: 2.77375rem;
    right: 0.625rem;
  }

  .p-outline__card-list {
    gap: 1.5rem;
  }

  .p-outline__card-unit {
    gap: 0.75rem;
  }

  .p-outline__card-txt {
    margin-bottom: 1.5rem;
  }

  .p-outline__card-ttl {
    width: 6.605rem;
    letter-spacing: 0.03em;
    padding: 0.3125rem 0.75rem 0.5rem 0.125rem;
  }

  .p-outline__unit {
    /* padding: 1.3125rem 1.6875rem 1.625rem 1.1875rem; */
    padding: 1.3125rem 1.6875rem 1.625rem;
    border: 0.1875rem solid #e60012;
    height: auto;
  }

  .p-outline__unit dt > * {
    width: 4.625rem;
    font-size: 0.875rem;
    padding: 0.3125rem 0 0.5rem;
  }

  .p-outline__unit dd {
    font-size: 1.0625rem;
  }

  .p-outline__unit-ttl {
    width: 100%;
    font-size: 1.25rem;
    margin-bottom: 1.1875rem;
  }

  .p-outline__desc {
    gap: 1.0625rem;
    margin-bottom: 1.25rem;
  }

  .p-outline__desc > * {
    gap: 0.625rem;
  }

  .p-outline__desc > *:nth-child(1) {
    width: 100%;
  }

  .p-outline__desc > *:nth-child(2) {
    width: 100%;
  }

  .p-outline__desc > *:nth-child(3) {
    width: 100%;
  }

  .p-outline__desc > *:nth-child(3) dd {
    letter-spacing: 0.1em;
  }

  .p-outline__desc {
    width: 100%;
  }

  .p-outline__btn {
    width: 100%;
  }

  .p-outline .hidden {
    padding: 0.6875rem 1.6875rem 0.6875rem 1.1875rem;
  }

  .p-outline .hidden .p-outline__unit-ttl {
    padding-top: 0;
  }

  .p-outline .hidden .p-outline__unit-ttl::before {
    top: initial;
    bottom: -0.125rem;
    left: 3.125rem;
  }

  .p-outline .sch .p-outline__unit-ttl {
    padding-top: 0;
  }

  .p-outline .sch .p-outline__unit-ttl::before {
    top: initial;
    bottom: -0.125rem;
    left: 3.125rem;
  }

  .p-outline__cau {
    line-height: 1.66;
    font-size: 0.75rem;
  }

  .p-outline__cau--sec:last-child {
    margin-bottom: 2.5rem;
  }

  .p-outline__detail {
    margin-bottom: 1.625rem;
  }

  .p-outline__accordion {
    width: 86%;
    font-size: 0.9375rem;
    padding: 0.625rem 1.5625rem 0.625rem 1rem;
  }

  .p-outline__accordion > * {
    width: 1.25rem;
    top: 21%;
    right: 4%;
  }

  .p-outline__accordion-toggle {
    border: 0.1875rem solid #e60012;
    padding: 2rem 1rem;
    margin-top: 1.5rem;
  }

  .p-outline__accordion-toggle dl {
    gap: 0.5rem;
  }

  .p-outline__accordion-toggle dl:not(:last-child) {
    margin-bottom: 1rem;
  }

  .p-outline__accordion-toggle dt > * {
    width: 6.25rem;
    font-size: 0.875rem;
    padding: 0.25rem 0 0.375rem;
  }

  .p-outline__accordion-toggle dd {
    font-size: 0.875rem;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
  }

  .p-outline #outline-oosaka dl:nth-child(1),
  .p-outline #outline-oosaka dl:nth-child(2) {
    gap: 0.625rem;
  }

  .p-outline #toyama .p-outline__desc dl:nth-child(3) dd {
    font-size: 1.0625rem;
  }

  .p-event {
    padding: 3.4375rem 0 0;
  }

  .p-event::after {
    content: none;
  }

  .p-event__ttl {
    margin-bottom: 2.8125rem;
  }

  .p-event__lead--myfirst {
    margin-right: 0;
    margin-bottom: 44px;
  }

  .p-event__lead--shooting {
    margin-left: 0;
    margin-bottom: 44px;
  }

  .p-event__list {
    margin-bottom: 4.6875rem;
    gap: 0;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }

  .p-event__unit {
    width: 100%;
  }

  .p-event__flow-img {
    margin-bottom: 1.125rem;
  }

  .p-event__flow-ttl {
    gap: 0.375rem;
    margin-bottom: 0.625rem;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
  }

  .p-event__flow-num {
    width: 1.533125rem;
    height: 1.533125rem;
  }

  .p-event__flow-num--fi img {
    height: 1.13125rem;
  }

  .p-event__flow-num--se img {
    height: 1.18375rem;
  }

  .p-event__flow-num--th img {
    height: 1.16875rem;
  }

  .p-event__flow-num--fo img {
    height: 1.183125rem;
  }

  .p-event__cau-box {
    background-image: url(../img/bg_event-cau_sp.png);
    margin: 0 calc(50% - 50vw);
    width: auto;
    padding: 4.125rem 0 3.375rem;
    gap: 0.75rem;
  }

  .p-event__cau-img {
    width: 84%;
    margin-left: 0;
  }

  .p-event__cau-txt {
    width: 84%;
  }

  .p-event .swiper-container {
    width: 92.6%;
    margin: auto;
  }

  .p-event .swiper-button-prev,
  .p-event .swiper-button-next {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .p-event .swiper-pagination {
    display: block;
  }

  .p-voice {
    padding: 3.25rem 0 3.375rem;
  }

  .p-voice__ttl {
    margin-bottom: 1.25rem;
  }

  .p-voice__subTtl {
    font-size: 1.4375rem;
    margin-bottom: 3.1875rem;
  }

  .p-voice__list {
    gap: 2.25rem;
  }

  .p-voice__unit {
    width: 100%;
    padding-bottom: 0;
    border: 0.25rem solid #e60012;
    border-radius: 3.25rem;
    padding: 1.5625rem 1.5rem 1.5rem 1.1875rem;
  }

  .p-voice__bubble {
    background-image: none;
    padding: 0;
    height: auto;
    width: 69.7%;
  }

  .p-voice__hm {
    gap: 0.3125rem;
    width: 26%;
    transform: translateX(0);
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
  }

  .p-voice__img {
    width: 3rem;
  }

  .p-rules {
    padding: 3rem 0px 3rem;
  }

  .p-rules__area {
    /* height: 22.659375rem; */
    height: 30rem;
  }

  .p-rules__list {
    gap: 1.1875rem;
    margin-bottom: 1.625rem;
  }

  .p-contact {
    padding: 2.0625rem 0 1.625rem;
  }

  .p-contact__ttlBox {
    margin-bottom: 0.8125rem;
  }

  .p-contact__ttl {
    font-size: 1.0625rem;
    line-height: 1.375;
    width: 100%;
    padding: 0.75rem 0 0.6875rem;
  }

  .p-contact__ttl::before,
  .p-contact__ttl::after {
    width: 100%;
    height: 0.09375rem;
  }

  .p-contact__ttl::before {
    top: 0;
    left: 0;
  }

  .p-contact__ttl::after {
    top: auto;
    right: 0;
    bottom: 0;
  }

  .p-contact__txt {
    line-height: 1.42;
    font-size: 1.0625rem;
  }

  .p-sponsor {
    padding: 3.0625rem 0 3.3125rem;
  }

  .p-sponsor__ttl {
    margin-bottom: 2.9375rem;
  }

  .p-sponsor__area {
    gap: 3rem;
  }

  .p-sponsor__boxTtl {
    margin-bottom: 0.875rem;
  }

  .p-sponsor__logo--mitsui {
    width: 15.78625rem;
  }

  .p-sponsor__logo--softbank {
    width: 13.61625rem;
  }

  .p-sponsor__logo--jordan {
    width: 3.860625rem;
    margin-right: 2.3125rem;
  }

  .p-sponsor__logo--molten {
    width: 8.35875rem;
  }

  .p-sponsor__box:nth-child(3) .p-sponsor__boxTtl {
    margin-bottom: 1.875rem;
  }

  .p-cta {
    left: 52%;
  }

  .p-cta__img {
    width: 3.625rem;
    left: -5%;
  }

  .p-cta__inner {
    padding: 0.5rem 2.125rem 0.625rem 2.625rem;
    -webkit-clip-path: polygon(0 0, 100% 0, 94% 100%, 0% 100%);
    clip-path: polygon(0 0, 100% 0, 94% 100%, 0% 100%);
    gap: 0.375rem;
  }

  .p-cta__txt {
    font-size: 0.9375rem;
    letter-spacing: 0.03em;
    padding-right: 0;
    line-height: 1.2;
  }

  .p-cta__txt::before {
    border-width: 0.4375rem 0 0.4375rem 0.5rem;
    top: auto;
    /* right: 0; */
    right: initial;
    left: 102%;
    bottom: 0.0625rem;
    transform: translateY(0);
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
  }

  .p-cta__sm {
    font-size: 0.625rem;
  }

  .p-popup__end-lead {
    line-height: 1.5;
    font-size: 1.125rem;
    margin-bottom: 1.125rem;
  }

  .p-popup__end-ttl {
    font-size: 1.4375rem;
    margin-bottom: 1.625rem;
  }

  .p-popup__end-reportTtl {
    font-size: 1.25rem;
    margin-bottom: 2rem;
  }

  .p-popup__swiper {
    margin-bottom: 1.75rem;
  }

  .p-popup__swiper .swiper-button-prev,
  .p-popup__swiper .swiper-button-next {
    width: 2rem;
    height: 2rem;
  }

  .p-popup__swiper .swiper-button-prev::after,
  .p-popup__swiper .swiper-button-next::after {
    width: 0.75rem;
    height: 1.125rem;
  }

  .p-popup__swiper .swiper-button-prev {
    /*    right: -0.625rem; */
    left: -0.625rem;
  }

  .p-popup__swiper .swiper-button-prev::after {
    /*    left: 0.625rem; */
    right: 0.625rem;
  }

  .p-popup__swiper .swiper-button-next {
    /*    left: -0.625rem; */
    right: -0.625rem;
  }

  .p-popup__swiper .swiper-button-next::after {
    /*    left: 0.375rem; */
    right: 0.375rem;
  }

  .p-popup__end-reportTxt {
    font-size: 0.875rem;
    margin-bottom: 2rem;
  }

  .p-popup__end-rs {
    font-size: 0.9375rem;
    margin-bottom: 1.5rem;
    gap: 0.75rem;
    width: 96%;
    padding: 1.5rem 0;
  }

  .p-popup__end-num {
    font-size: 1.5rem;
  }

  .p-popup__end-note {
    font-size: 0.875rem;
  }

  .p-popup__end-txt {
    font-size: 1rem;
    margin-bottom: 1.5rem;
  }

  .p-popup__end-btn-wrapper {
    gap: 12px;
  }

  .p-popup__end-btn {
    max-width: 86%;
    font-size: 0.9375rem;
    padding: 0.625rem 1rem;
  }

  /* .p-popup__end-btn > * {
    width: 1.25rem;
    top: 21%;
    right: 4%;
  } */

  .p-popup-content {
    padding: 3.5rem 0.625rem 2.875rem;
  }

  .p-popup-content .js-close-modal {
    width: 2.3125rem;
    height: 2.3125rem;
    top: 0.5625rem;
    right: 0.625rem;
    font-size: 1rem;
    padding: 0 0 0.125rem;
  }

  .u-display_pc {
    display: none !important;
  }

  .u-display_sp {
    display: block !important;
  }

  .u-fd-c-md-max {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .u-fd-r-md-max {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }

  .u-ai-fs-md-max {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .u-ai-c-md-max {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .u-jc-c-md-max {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .u-fs20-md-max {
    font-size: 1.25rem;
  }

  .u-fs18-md-max {
    font-size: 1.125rem;
  }

  .u-fs17-md-max {
    font-size: 1.0625rem;
  }

  .u-fs16-md-max {
    font-size: 1rem;
  }

  .u-fs15-md-max {
    font-size: 0.9375rem;
  }

  .u-fs14-md-max {
    font-size: 0.875rem;
  }

  .u-fs13-md-max {
    font-size: 0.8125rem;
  }

  .u-fs12-md-max {
    font-size: 0.75rem;
  }

  .u-po-sta-md-max {
    position: static;
  }
}
/*# sourceMappingURL=style.css.map */

/* 2025/5/6追記 */
.y-2024 .p-outline {
  padding: 21.1875rem 0 10rem;
}
@media screen and (max-width: 768px) {
  .y-2024 .p-outline {
    padding: 8.1875rem 0 4rem;
  }
}

.p-outline__inner {
  position: relative;
  z-index: 2;
}

.y-2024 .p-outline::before {
  height: 100.63%;
  top: -0.63%;
}

.y-2024 .p-outline::after {
  top: -0.63%;
}

.y-2024 .p-msg {
  padding-top: 10rem;
}

@media screen and (max-width: 768px) {
  .y-2024 .p-msg {
    padding-top: 5rem;
  }
}

.p-info__btn-wrapper {
  position: relative;
  z-index: 10;
  margin-top: 4rem;
  text-align: center;
}

.p-info__modal-txt {
  font-size: 2.625rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.p-info__modal-btn {
  text-align: center;
}

.p-info__modal-txt + .p-info__modal-btn {
  margin-top: 4rem;
}

.p-info__modal-btn + .p-info__modal-btn {
  margin-top: 2rem;
}

.p-info__btn,
.p-info__modal-btn a {
  color: #ffffff;
  background-color: #1a1311;
  border-radius: 0.625rem;
  border: none;
  padding: 1rem 3rem;
  cursor: pointer;
  font-size: 1.75rem;
  max-width: 27.75rem;
  width: 100%;
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.p-info__btn::before,
.p-info__modal-btn a::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.625rem 0 0.625rem 0.6875rem;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

@media screen and (max-width: 768px) {
  .p-info__btn {
    margin-top: 2rem;
  }

  .p-info__modal-txt {
    font-size: 1rem;
  }

  .p-info__modal-txt + .p-info__modal-btn {
    margin-top: 2.4rem;
  }

  .p-info__modal-btn + .p-info__modal-btn {
    margin-top: 1.6rem;
  }

  .p-info__btn,
  .p-info__modal-btn a {
    font-size: 0.9375rem;
    padding: 0.625rem 1.5625rem 0.625rem 1rem;
  }

  .p-info__btn {
    width: 86%;
  }

  .p-info__btn::before,
  .p-info__modal-btn a::before {
    border-width: 0.4375rem 0 0.4375rem 0.5rem;
  }
}

.p-msg__ttl--bottom {
  margin-left: 17.75rem;
}

.p-msg__ttl-sp > *:nth-child(2) {
  margin-left: 6.4375rem;
}

.p-outline__card-txt {
  min-height: 6.5625rem;
}

@media screen and (max-width: 768px) {
  .p-outline__card-txt {
    min-height: unset;
  }
}

.c-modal__desc dd .c-modal__sm {
  font-size: 16px;
}

@media screen and (max-width: 1080px) {
  .c-modal__desc dd .c-modal__sm {
    font-size: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .c-modal__desc dd .c-modal__sm {
    font-size: 0.8rem;
  }
}

.c-modal__btn a {
  font-size: 22px;
  padding-left: 20px;
  padding-right: 20px;
}

.c-modal__btn a > * {
  font-size: 15px;
}
.c-modal__desc dd {
  /* display: grid; */
  gap: 10px;
}

.c-modal__desc dd a {
  text-decoration: underline;
}

@media screen and (max-width: 1080px) {
  .c-modal__btn a {
    font-size: 1.75rem;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .c-modal__btn a > * {
    font-size: 1.125rem;
  }

  .c-modal__desc dd {
    gap: 0.875rem;
  }
}

@media screen and (max-width: 768px) {
  .c-modal__btn a {
    font-size: 0.875rem;
    padding: 0.75rem 1.5rem;
    line-height: 1;
  }

  .c-modal__btn a > * {
    font-size: 0.625rem;
  }
}

.c-modal__btn-area {
  margin-bottom: 50px;
}

.c-modal__note {
  font-size: 16px;
}

.c-modal__apply-note {
  color: #e60012;
  font-size: 1.5rem;
  letter-spacing: 0.02em;
  margin: 3rem 0 1rem;
  line-height: 1.4;
}

@media screen and (max-width: 1080px) {
  .c-modal__btn-area {
    margin-bottom: 2rem;
  }

  .c-modal__note {
    font-size: 1.2rem;
  }

  .c-modal__apply-note {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 768px) {
  .c-modal__note {
    font-size: 0.8rem;
  }

  .c-modal__apply-note {
    font-size: 0.85rem;
    margin: 0.75rem 0 0.4rem;
  }
}
.p-outline__card-unit {
  align-items: flex-start;
}
.p-outline__card-unit p {
  margin-top: 0.5rem;
}

@media screen and (max-width: 768px) {
  .p-outline__card-unit p {
    margin-top: 0.375rem;
  }
}

.p-outline__desc > *:nth-child(2) {
  width: 24%;
}

.p-outline__desc > *:nth-child(3) {
  width: 40%;
}

@media screen and (max-width: 768px) {
  .p-outline__desc > *:nth-child(2) {
    width: 100%;
  }

  .p-outline__desc > *:nth-child(3) {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .p-outline .p-outline__unit-ttl.bl-4::before {
    left: 4.25rem !important;
  }
}
