@charset "UTF-8";
:root {
  --bold: 600;
  --en-font: "Jost";
}

html {
  scroll-behavior: smooth;
  font-size: 10px;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}

@media screen and (max-width: 1500px) {
  html {
    font-size: 0.6666666667vw;
  }
}
section {
  scroll-margin-top: 9.6rem;
}

body {
  overflow-x: clip;
  font-family: "Noto Sans JP", sans-serif;
}

.vsp {
  display: none;
}

.js-fade {
  opacity: 0;
  transition: 1s;
  transform: translateY(3rem);
}
.js-fade.is-active {
  opacity: 1;
  transform: translateY(0);
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 9.6rem;
  z-index: 100;
  transition: 0.6s;
}
.l-header.-is-fixed {
  background: #fff;
}
.l-header__inner {
  padding: 0 3rem;
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 3rem;
}
.l-header__logo {
  flex-shrink: 0;
}
.l-header__logo img {
  height: 2.65rem;
  display: block;
}
.l-header__nav {
  width: 62.8rem;
}
.l-header__nav-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem 2.2rem;
}
.l-header__nav-list a {
  font-size: 1.4rem;
  font-weight: 500;
  color: #000;
  text-decoration: none;
  transition: color 0.2s ease;
}
.l-header__nav-list a:hover {
  color: #1471DA;
}
.l-header__cta {
  flex-shrink: 0;
  width: 21rem;
  height: 5rem;
  border-radius: 25rem;
  background: linear-gradient(90deg, #83FFBC 0%, #006CFF 100%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  font-size: 1.4rem;
  font-weight: var(--bold);
  color: #fff;
  text-decoration: none;
  transition: opacity 0.3s ease;
  position: relative;
}
.l-header__cta:before {
  content: "";
  width: 2rem;
  height: 2rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1rem;
  background: url(./../images/icon_arrow_white.png);
  background-size: cover;
}
.l-header__cta:hover {
  opacity: 0.8;
}
.l-header__hamburger {
  display: none;
}

@keyframes kv-deco-marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@keyframes kv-deco-marquee-v {
  from {
    transform: translateY(-50%);
  }
  to {
    transform: translateY(0);
  }
}
.kv {
  position: relative;
  overflow: hidden;
  background: url("./../images/bg_kv.png");
  background-size: cover;
  height: 79.2rem;
}
.kv__inner {
  position: relative;
  max-width: 120rem;
  height: 100%;
  margin: 0 auto;
}
.kv__thum {
  position: absolute;
  width: 133rem;
  top: 12rem;
  left: 0;
}
.kv__deco {
  position: absolute;
  bottom: 0;
  left: 0;
  font-family: var(--en-font);
  font-size: 8rem;
  font-weight: 500;
  color: #CCCCCC;
  white-space: nowrap;
  line-height: 1.26;
  pointer-events: none;
  z-index: 0;
  animation: kv-deco-marquee 25s linear infinite;
}
.kv__deco span {
  padding-right: 5rem;
}

.sticky-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 900;
  display: flex;
  height: 16rem;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  opacity: 1;
  visibility: visible;
}
.sticky-cta.-hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  /* クリックもできないようにする */
}

.sticky-cta__panel {
  flex: 1;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  overflow: hidden;
  transition: 0.3s ease;
}
.sticky-cta__panel:hover {
  opacity: 1;
}
.sticky-cta__panel--light {
  background: url("./../images/cta-sticky__panel--light-bg.png");
  background-size: cover;
}
.sticky-cta__panel--light:after {
  content: "";
  width: 4.8rem;
  height: 4.8rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 4rem;
  transition: 0.3s ease;
  background: url(./../images/icon_arrow_grade.png);
  background-size: cover;
}
.sticky-cta__panel--light:hover {
  background-image: url("./../images/cta-sticky__panel--light-bg-hover.png");
}
.sticky-cta__panel--light:hover:after {
  background: url(./../images/icon_arrow_grade_hover.png);
  background-size: cover;
}
.sticky-cta__panel--light:hover .sticky-cta__sub,
.sticky-cta__panel--light:hover .sticky-cta__title {
  color: #fff;
}
.sticky-cta__panel--gradient {
  background: url("./../images/cta-sticky__panel--gradient-bg.png");
  background-size: cover;
}
.sticky-cta__panel--gradient:after {
  content: "";
  width: 4.8rem;
  height: 4.8rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 4rem;
  background: url(./../images/icon_arrow_white.png);
  background-size: cover;
}
.sticky-cta__panel--gradient:hover {
  background-image: url("./../images/cta-sticky__panel--gradient-bg-hover.png");
}
.sticky-cta__panel--gradient:hover:after {
  background: url(./../images/icon_arrow_white_hover.png);
  background-size: cover;
}

.sticky-cta__body {
  text-align: center;
}

.sticky-cta__sub {
  font-size: 2rem;
  font-weight: var(--bold);
  line-height: 1.4;
  transition: 0.3s ease;
}
.sticky-cta__panel--light .sticky-cta__sub {
  color: #000;
}
.sticky-cta__panel--gradient .sticky-cta__sub {
  color: #fff;
}

.sticky-cta__title {
  font-size: 3.2rem;
  font-weight: var(--bold);
  margin-top: 0.4rem;
  line-height: 1.2;
  letter-spacing: 0.05em;
  transition: 0.3s ease;
}
.sticky-cta__panel--light .sticky-cta__title {
  color: #000;
}
.sticky-cta__panel--gradient .sticky-cta__title {
  color: #fff;
}

.sticky-cta__icon {
  position: absolute;
  right: 4rem;
  top: 50%;
  transform: translateY(-50%);
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.sticky-cta__icon::after {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-top: 2px solid;
  border-right: 2px solid;
  transform: rotate(45deg) translate(-2px, 2px);
}
.sticky-cta__icon--gradient {
  background: linear-gradient(90deg, #83FFBC 0%, #006CFF 100%);
}
.sticky-cta__icon--gradient::after {
  border-color: #fff;
}
.sticky-cta__icon--white {
  background: #fff;
}
.sticky-cta__icon--white::after {
  border-color: #1471DA;
}

.section-label {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.section-label--white .section-label__icon {
  color: #fff;
}
.section-label--white .section-label__text {
  color: #fff;
}
.section-label__icon {
  display: inline-block;
  width: 1.5rem;
  height: 1.4rem;
  position: relative;
  flex-shrink: 0;
  background-size: cover;
  background-image: url(./../images/title-icon-white.png);
}
.section-label__text {
  font-family: var(--en-font);
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.section-title__label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
}
.section-title__icon {
  display: inline-block;
  width: 1.5rem;
  height: 1.4rem;
  position: relative;
  flex-shrink: 0;
  background-size: cover;
}
.section-title__icon--blue {
  background-image: url("./../images/title-icon-blue.png");
}
.section-title__icon--gold {
  background-image: url("./../images/title-icon-gold.png");
}
.section-title__icon--green {
  background-image: url("./../images/title-icon-green.png");
}
.section-title__en {
  font-family: var(--en-font);
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #000;
}
.section-title__jp {
  font-size: 3.2rem;
  font-weight: var(--bold);
  color: var(--base-color);
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: 2.5rem;
}
.section-title__jp--dark {
  color: #3B4043;
}

.inner {
  max-width: 120rem;
  margin: auto;
}

.after-party {
  position: relative;
  padding: 7.4rem 0 10rem;
  background: url("./../images/after-party-bg.png");
  background-size: cover;
}
.after-party__inner {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 6rem;
}
.after-party__photos {
  flex: 0 0 54.9rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  position: relative;
}
.after-party__photos:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 19.6rem;
  height: 12rem;
  content: "";
  background: url("./../images/logo_xexwest.png");
  background-size: cover;
}
.after-party__photo-row {
  display: flex;
  gap: 2rem;
}
.after-party__icon {
  position: absolute;
  width: 16.9rem;
  top: 0;
  right: -3.6rem;
}
.after-party__btn {
  margin-top: 2.3rem;
}
.after-party__btn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  color: #fff;
  border: 0.2rem solid #fff;
  border-radius: 5rem;
  font-weight: 600;
  width: 21rem;
  height: 5rem;
  position: relative;
}
.after-party__btn a:after {
  content: "";
  width: 2rem;
  height: 2rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1rem;
  background: url(./../images/icon_arrow_white.png);
  background-size: cover;
}
.after-party__flex {
  display: flex;
  gap: 3rem;
  align-items: center;
  margin-top: 3rem;
}
.after-party__thum {
  width: 25.3rem;
}
.after-party__comment {
  width: 30.8rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #fff;
}
.after-party__photo-card {
  background-color: #fff;
  border-radius: 1rem;
  border: 1px solid #707070;
  overflow: hidden;
}
.after-party__photo-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.after-party__photo-card--lg {
  flex: 0 0 34.2rem;
  height: 26rem;
}
.after-party__photo-card--sm {
  flex: 0 0 18.7rem;
  height: 26rem;
}
.after-party__photo-card--wide {
  flex: 0 0 54.6rem;
  height: 26rem;
}
.after-party__content {
  flex: 1;
  color: #fff;
}
.after-party__title {
  font-size: 3.2rem;
  font-weight: var(--bold);
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #fff;
  margin-top: 2.8rem;
}
.after-party__text {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #fff;
  margin-top: 2.4rem;
}
.after-party__deco {
  position: absolute;
  bottom: -5rem;
  right: -2rem;
  font-family: var(--en-font);
  font-size: 12rem;
  font-weight: 500;
  color: #D7E4F4;
  line-height: 0.84;
  white-space: nowrap;
  pointer-events: none;
  z-index: 1;
}
.after-party__info {
  margin-top: 3rem;
}
.after-party__info-dl {
  display: flex;
  align-items: center;
  gap: 6rem;
  color: #fff;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  border-bottom: 0.1rem solid #fff;
}
.after-party__info-dl dt {
  font-size: 2.4rem;
  font-weight: bold;
}
.after-party__info-dl dd {
  font-size: 1.6rem;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
}
.after-party__info-map {
  overflow: hidden;
}
.after-party__info-map iframe {
  display: block;
  width: 100%;
  height: 50rem;
}

.program {
  position: relative;
  overflow: hidden;
  padding: 10.5rem 0 9.5rem;
  background: url("./../images/program-bg.png");
  background-size: cover;
}
.program::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(12px);
}
.program__head {
  position: relative;
  z-index: 10;
  text-align: center;
}
.program__deco {
  position: absolute;
  right: -4rem;
  top: 5rem;
  font-family: var(--en-font);
  font-size: 12rem;
  font-weight: 500;
  color: rgba(159, 126, 78, 0.6);
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  line-height: 0.84;
  pointer-events: none;
  z-index: 1;
}
.program__timeline {
  position: relative;
  z-index: 2;
  margin-top: 6rem;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}

.timeline-move {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4rem;
  transform: translateX(8rem);
}
.timeline-move-dot {
  width: 1.5rem;
}
.timeline-move-txt {
  font-size: 2.4rem;
  font-weight: 600;
  color: #573709;
}

.timeline-item {
  display: flex;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 1rem;
  box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
  min-height: 9.5rem;
  overflow: hidden;
}
.timeline-item__time {
  flex: 0 0 26.6rem;
  min-height: 9.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #9F7E4E;
  border-radius: 1rem 0 0 1rem;
  font-family: var(--en-font);
  font-size: 2.4rem;
  font-weight: var(--bold);
  color: #fff;
  text-align: center;
}
.timeline-item__content {
  padding: 0 3rem 0 6.8rem;
  font-size: 2.4rem;
  font-weight: var(--bold);
  color: #573709;
  line-height: 1.5;
}
.timeline-item--party {
  background-color: rgba(255, 254, 224, 0.9);
  border: 2px solid #1471DA;
}
.timeline-item--party .timeline-item__time {
  background-color: #1471DA;
  border-radius: 0.8rem 0 0 0.8rem;
}
.timeline-item--party .timeline-item__content {
  color: #1471DA;
}

.supporters {
  padding: 10.5rem 0 10rem;
}
.supporters .inner {
  position: relative;
}
.supporters__deco {
  position: absolute;
  left: -15rem;
  top: -5rem;
  font-family: var(--en-font);
  font-size: 12rem;
  font-weight: 500;
  color: #EAEAEA;
  pointer-events: none;
  z-index: 1;
}
.supporters__inner {
  display: flex;
  gap: 6rem;
  align-items: flex-start;
  position: relative;
  z-index: 10;
}
.supporters .section-title__label {
  justify-content: flex-start;
}
.supporters__left {
  flex: 0 0 54rem;
}
.supporters__lead {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #3B4043;
  margin-top: 3rem;
}
.supporters__criteria {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.supporters__criteria-item {
  display: flex;
  align-items: center;
  gap: 2rem;
  background-color: #F2F5FD;
  border-radius: 1rem;
  padding: 1.8rem 2rem 1.8rem 3rem;
  min-height: 8.5rem;
}
.supporters__criteria-icon {
  flex-shrink: 0;
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 50%;
  background: url("./../images/icon_check_grade.png");
  background-size: cover;
}
.supporters__criteria-text {
  font-size: 2rem;
  font-weight: var(--bold);
  color: #3B4043;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.supporters__right {
  flex: 1;
  margin-top: -0.5rem;
}
.supporters__photos {
  display: flex;
  gap: 2.5rem;
  margin-top: 6rem;
}
.supporters__photo-item {
  flex: 1;
  text-align: center;
}
.supporters__photo-img {
  border-radius: 1rem;
  overflow: hidden;
  aspect-ratio: 380/240;
}
.supporters__photo-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.supporters__photo-caption {
  font-size: 2rem;
  font-weight: 500;
  color: #000;
  line-height: 1.4;
  text-align: center;
  margin-top: 1.6rem;
  height: 6.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.supporters__cta {
  margin-top: 4rem;
  background: linear-gradient(90deg, #6DE6A5 0%, #006CFF 100%);
  border-radius: 1rem;
  padding: 3rem 8rem 3rem 7rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 16rem;
  gap: 3rem;
}
.supporters__cta-sub {
  font-size: 2rem;
  font-weight: var(--bold);
  color: #fff;
  letter-spacing: 0.05em;
  text-align: center;
}
.supporters__cta-title {
  font-size: 3.2rem;
  font-weight: var(--bold);
  color: #fff;
  line-height: 1.2;
  letter-spacing: 0.05em;
  margin-top: 0.8rem;
}
.supporters__cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  min-width: 48rem;
  height: 8rem;
  padding: 0 4rem;
  border: 2px solid #fff;
  border-radius: 4rem;
  font-size: 2.4rem;
  font-weight: var(--bold);
  color: #fff;
  text-decoration: none;
  flex-shrink: 0;
  transition: 0.3s ease-in-out all;
  position: relative;
}
.supporters__cta-btn::after {
  content: "";
  width: 2.8rem;
  height: 2.8rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2rem;
  background: url("./../images/icon_arrow_white.png");
  background-size: cover;
}
.supporters__cta-btn:hover {
  background: #fff;
  color: #1471DA;
}
.supporters__cta-btn:hover::after {
  background: url(./../images/icon_arrow_blue.png);
  background-size: cover;
}

.gridbg {
  position: relative;
}
.gridbg:after {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url("./../images/grid-bg.png");
  background-size: contain;
  content: "";
  pointer-events: none;
}

.recommend {
  position: relative;
  overflow: hidden;
  padding: 10.5rem 0 28.5rem;
  background-color: #D6E7F2;
}
.recommend .inner {
  position: relative;
  z-index: 10;
}
.recommend .section-title__jp {
  text-align: center;
}
.recommend__deco {
  position: absolute;
  left: -7.5rem;
  top: 10rem;
  font-family: var(--en-font);
  font-size: 12rem;
  font-weight: 500;
  color: #B2CAD9;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  line-height: 0.84;
  pointer-events: none;
  z-index: 10;
}
.recommend__cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3rem;
  margin-top: 6rem;
}

.recommend-card {
  background-color: #fff;
  border-radius: 6rem 1rem 6rem 1rem;
  padding: 0 4rem 6rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 38rem;
}
.recommend-card:nth-child(2), .recommend-card:nth-child(5) {
  transition-delay: 0.3s;
}
.recommend-card:nth-child(3), .recommend-card:nth-child(6) {
  transition-delay: 0.6s;
}
.recommend-card__icon {
  width: auto;
  height: 22rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}
.recommend-card__icon img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.recommend-card__icon.recommend-card__icon--logo {
  width: 20rem;
}
.recommend-card__title {
  font-size: 2.1rem;
  font-weight: var(--bold);
  color: #3B4043;
  line-height: 1.4;
  letter-spacing: 0.05em;
  margin-top: 1.6rem;
  white-space: nowrap;
}
.recommend-card__divider {
  width: 100%;
  border: none;
  border-top: 1px solid #ccc;
  margin: 2rem 0;
}
.recommend-card__text {
  font-size: 1.6rem;
  font-weight: 500;
  color: #3B4043;
  line-height: 1.5;
  letter-spacing: 0.06em;
  text-align: left;
}
.recommend-card__text a {
  color: #3B4043;
  text-decoration: underline;
}

.speaker {
  position: relative;
  overflow: hidden;
  padding: 16.5rem 0 10rem;
  margin-top: -18rem;
}
.speaker::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  left: 50%;
  background: url(./../images/supporter_bg.png);
  background-size: cover;
  background-position: top center;
}
.speaker .inner {
  position: relative;
}
.speaker__deco {
  position: absolute;
  right: -8rem;
  top: -17rem;
  font-family: var(--en-font);
  font-size: 12rem;
  font-weight: 500;
  color: #DDDEBC;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  line-height: 0.84;
  pointer-events: none;
  z-index: 10;
}
.speaker .section-title__label {
  justify-content: flex-start;
}
.speaker__head {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 6rem;
  align-items: flex-end;
}
.speaker__lead {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #3B4043;
  max-width: 57.1rem;
}
.speaker__cards {
  position: relative;
  z-index: 1;
  margin-top: 13.5rem;
  display: flex;
  gap: 4rem;
}
.speaker-profile {
  display: flex;
  justify-content: space-between;
}
.speaker-profile__photo-wrap {
  width: 44rem;
}
.speaker-profile__body {
  width: 60rem;
}
.speaker-profile__company {
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
.speaker-profile__flex {
  display: flex;
  gap: 1rem;
  align-items: flex-end;
  margin-bottom: 1.6rem;
}
.speaker-profile__position {
  font-size: 1.6rem;
  font-weight: 600;
}
.speaker-profile__name {
  font-size: 2.8rem;
  font-weight: 600;
}
.speaker-profile__bio {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 2.8rem;
}

.speaker-card {
  flex: 1;
  background-color: #fff;
  border-radius: 1rem;
  box-shadow: 0 0.4rem 2rem rgba(0, 0, 0, 0.08);
  position: relative;
}
.speaker-card__photo {
  width: 50rem;
  margin: -9rem auto 0;
}
.speaker-card__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}
.speaker-card__body {
  padding: 3.4rem 4rem;
  position: relative;
}
.speaker-card__body-child {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.speaker-card__company {
  font-size: 1.4rem;
  font-weight: 500;
  color: #3B4043;
  line-height: 1.4;
  letter-spacing: 0.07em;
}
.speaker-card__flex {
  display: flex;
  align-items: flex-end;
  justify-content: initial;
  gap: 3rem;
  margin-top: 0.8rem;
}
.speaker-card__position {
  font-size: 1.4rem;
  font-weight: 500;
  color: #3B4043;
}
.speaker-card__name {
  font-size: 2.8rem;
  font-weight: var(--bold);
  color: #3B4043;
  letter-spacing: 0.2em;
}
.speaker-card__link {
  width: 21rem;
  height: 5rem;
  border-radius: 20rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-size: 1.4rem;
  font-weight: var(--bold);
  background: #1471DA;
  color: #fff;
  transition: 0.3s ease-in-out all;
  position: relative;
}
.speaker-card__link:after {
  content: "";
  width: 2rem;
  height: 2rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1rem;
  background: url(./../images/icon_plus.png);
  background-size: cover;
}
@media (any-hover: hover) {
  .speaker-card__link:hover {
    opacity: 0.7;
  }
}

.modaal-container {
  max-width: 120rem;
}

.modaal-close {
  position: absolute;
  right: 0;
  top: -8rem;
}
.modaal-close:after, .modaal-close:before {
  display: block;
  content: " ";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.6rem;
  height: 8rem;
  border-radius: 0;
  background: #fff;
  -webkit-transition: background 0.2s ease-in-out;
  transition: background 0.2s ease-in-out;
}
.modaal-close:after {
  transform: translate(-50%, -50%) rotate(45deg);
}
.modaal-close:before {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.modaal-close:hover {
  outline: 0;
  background: none;
}
.modaal-close:hover:before, .modaal-close:hover:after {
  background: #fff;
}

.modaal-overlay {
  opacity: 0.5 !important;
}

.modaal-container {
  border-radius: 1rem;
}

.modaal-content-container {
  padding: 6rem;
}

.none {
  display: none;
}

.cta-split {
  display: flex;
}
.cta-split__panel {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 38.9rem;
  position: relative;
  overflow: hidden;
}
.cta-split__panel--light {
  background: url("./../images/cta-split__panel--light-bg.png");
  background-size: cover;
  width: 50%;
}
.cta-split__panel--light .cta-split__sub {
  color: #000;
}
.cta-split__panel--light .cta-split__title {
  color: #000;
}
.cta-split__panel--gradient {
  background: url("./../images/cta-split__panel--gradient-bg.png");
  background-size: cover;
  width: 50%;
}
.cta-split__panel--gradient .cta-split__sub {
  color: #fff;
}
.cta-split__panel--gradient .cta-split__title {
  color: #fff;
}
.cta-split__body {
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  padding: 4rem 3rem;
  text-align: center;
}
.cta-split__sub {
  font-size: 2rem;
  font-weight: var(--bold);
  line-height: 1.4;
}
.cta-split__title {
  font-size: 3.2rem;
  font-weight: var(--bold);
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.cta-split__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  min-width: 48rem;
  height: 8rem;
  padding: 0 4rem;
  border-radius: 4rem;
  font-size: 2.4rem;
  font-weight: var(--bold);
  color: #fff;
  text-decoration: none;
  transition: 0.3s ease-in-out all;
  position: relative;
}
.cta-split__btn::after {
  content: "";
  width: 2.8rem;
  height: 2.8rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2rem;
  background: url(./../images/icon_arrow_white.png);
  background-size: cover;
  transition: 0.3s ease-in-out all;
}
.cta-split__btn--blue {
  background: linear-gradient(90deg, #6DE6A5 0%, #006CFF 100%);
}
.cta-split__btn--blue:hover {
  background: #fff;
  color: #1471DA;
}
.cta-split__btn--blue:hover::after {
  background: url(./../images/icon_arrow_blue.png);
  background-size: cover;
}
.cta-split__btn--gradient {
  border: 2px solid #fff;
}
.cta-split__btn--gradient:hover {
  background: #fff;
  color: #1471DA;
}
.cta-split__btn--gradient:hover::after {
  background: url(./../images/icon_arrow_blue.png);
  background-size: cover;
}
.cta-split__btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 50%;
  background-color: #fff;
  position: relative;
  flex-shrink: 0;
}
.cta-split__btn-icon::after {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-top: 2px solid #1471DA;
  border-right: 2px solid #1471DA;
  transform: rotate(45deg) translate(-1px, 1px);
}

.features {
  position: relative;
  overflow: hidden;
  padding: 10.7rem 0 10rem;
  background: url("./../images/grid-bg.png");
  background-size: contain;
}
.features__deco {
  position: absolute;
  right: -2.5rem;
  top: 12.5rem;
  font-family: var(--en-font);
  font-size: 12rem;
  font-weight: 500;
  color: #EAEAEA;
  line-height: 0.84;
  white-space: nowrap;
  pointer-events: none;
}
.features .section-title__label {
  justify-content: flex-start;
}
.features .inner {
  position: relative;
  z-index: 1;
}
.features__grid {
  margin-top: 6rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2.8rem 0;
}

.feature-item {
  width: 58rem;
}
.feature-item:nth-child(2), .feature-item:nth-child(4) {
  transition-delay: 0.3s;
}
.feature-item__img-wrap {
  position: relative;
  border-radius: 1rem;
  overflow: visible;
}
.feature-item__img-wrap img {
  width: 100%;
  aspect-ratio: 580/420;
  object-fit: cover;
  display: block;
  border-radius: 1rem;
}
.feature-item__badge {
  position: absolute;
  bottom: -2.8rem;
  left: 0;
  display: inline-block;
  padding: 1.8rem 3rem 1.8rem 3rem;
  background-color: #9F7E4E;
  color: #fff;
  font-size: 2rem;
  font-weight: var(--bold);
  border-radius: 2rem 0.6rem 2rem 0.6rem;
  white-space: nowrap;
}
.feature-item__text {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #000;
  margin-top: 4.5rem;
}

.section-title__icon--white {
  background-image: url("./../images/title-icon-white.png");
}

.section-title__en--white {
  color: #fff;
}

.event-info {
  position: relative;
  background-color: #C7D082;
  padding: 10.5rem 0 10rem;
}
.event-info__deco {
  position: absolute;
  left: -6rem;
  top: -15.4rem;
  writing-mode: sideways-lr;
  font-family: var(--en-font);
  font-size: 12rem;
  font-weight: 500;
  color: #B0BA60;
  white-space: nowrap;
  pointer-events: none;
  line-height: 1;
  /* letter-spacing: 0.1em; */
  z-index: 10;
}
.event-info .inner {
  position: relative;
  z-index: 1;
}
.event-info .section-title {
  text-align: center;
}
.event-info .section-title__label {
  justify-content: center;
}
.event-info .section-title__jp {
  color: #fff;
}
.event-info__table {
  background: #fff;
  border-radius: 1rem;
  margin-top: 6rem;
  padding: 2.5rem 6rem 10rem;
  width: 100%;
}
.event-info__row {
  border-bottom: 1px solid #CCCCCC;
  display: block;
}
.event-info__row:last-child {
  border-bottom: none;
}
.event-info__label {
  flex: 0 0 16rem;
  font-size: 1.6rem;
  font-weight: var(--bold);
  color: #89960D;
  letter-spacing: 0.05em;
  width: 38rem;
  text-align: left;
  padding: 2.8rem 0 2.8rem 6rem;
}
.event-info__value {
  width: calc(100% - 38rem);
  font-size: 1.6rem;
  font-weight: 500;
  color: #000;
  letter-spacing: 0.05em;
  line-height: 1.5;
  padding: 2.8rem 0;
}

.faq {
  position: relative;
  padding: 10.5rem 0 9rem;
  background: url("./../images/grid-bg.png");
  background-size: contain;
}
.faq .inner {
  display: flex;
  justify-content: space-between;
  position: relative;
}
.faq__deco {
  position: absolute;
  left: 10.5rem;
  top: 5.6rem;
  font-family: var(--en-font);
  font-size: 12rem;
  font-weight: 500;
  color: #E3E3E3;
  pointer-events: none;
}
.faq .inner {
  position: relative;
  z-index: 1;
}
.faq .section-title__label {
  justify-content: flex-start;
}
.faq__list {
  max-width: 80rem;
}
.faq__item {
  padding: 0 0 1rem;
}
.faq__item:first-of-type {
  margin-top: 2.5rem;
}
.faq__question {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  padding: 1.7rem 0;
  border-bottom: 0.1rem solid #CCCCCC;
}
.faq__answer {
  display: flex;
  align-items: flex-start;
  gap: 1.5rem;
  margin-top: 1rem;
}
.faq__q-badge, .faq__a-badge {
  width: 4.1rem;
  height: 4.1rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--en-font);
  font-size: 2rem;
  font-weight: var(--bold);
  flex-shrink: 0;
  line-height: 1;
}
.faq__q-badge {
  background: #D0DC5D;
  color: #6E7900;
}
.faq__a-badge {
  background: #9F7E4E;
  color: #fff;
  font-weight: 500;
  border: 2px solid transparent;
}
.faq__q-text {
  font-size: 2rem;
  font-weight: var(--bold);
  color: #000;
  letter-spacing: 0.05em;
  padding-top: 0.5rem;
  line-height: 1.5;
}
.faq__a-text {
  font-size: 1.6rem;
  font-weight: 500;
  color: #333;
  letter-spacing: 0.05em;
  line-height: 1.6;
  padding-top: 0.6rem;
  margin: 0;
}

.footer-bg-section {
  position: relative;
  min-height: 10rem;
  overflow: hidden;
}
.footer-bg-section__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.access {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #F2EDE7 0%, #E8D7C1 100%);
  padding: 10.5rem 0 0;
}
.access__deco {
  position: absolute;
  right: 2.6rem;
  top: 8.5rem;
  writing-mode: sideways-lr;
  font-family: var(--en-font);
  font-size: 12rem;
  font-weight: 500;
  color: #E5DBD0;
  white-space: nowrap;
  pointer-events: none;
  line-height: 1;
}
.access .inner {
  position: relative;
  z-index: 1;
  padding-bottom: 6rem;
  border-bottom: 1px solid #9F7E4E;
}
.access .section-title__jp {
  text-align: center;
}
.access__venue {
  margin-top: 6.4rem;
  padding-bottom: 2.3rem;
  border-bottom: 1px solid #9F7E4E;
  display: flex;
  gap: 6rem;
}
.access__venue-name {
  font-size: 2.4rem;
  font-weight: var(--bold);
  color: #573709;
  letter-spacing: 0.05em;
}
.access__venue-address {
  font-size: 1.6rem;
  font-weight: 500;
  color: #000;
  letter-spacing: 0.01em;
  margin-top: 0.5rem;
}
.access__map {
  margin-top: 2rem;
  border-radius: 1rem;
  overflow: hidden;
}
.access__map iframe {
  display: block;
  width: 100%;
  height: 50rem;
}
.access__grid {
  display: grid;
  grid-template-columns: 44rem 1fr;
  gap: 6rem;
  margin-top: 4.8rem;
}
.access__col-title {
  font-size: 2.4rem;
  font-weight: var(--bold);
  color: #573709;
  letter-spacing: 0.05em;
  padding-bottom: 2.3rem;
  border-bottom: 1px solid #9F7E4E;
}
.access__transit {
  margin-top: 2rem;
}
.access__transit-row {
  display: flex;
  align-items: flex-start;
  gap: 3.4rem;
  margin-bottom: 2.5rem;
}
.access__transit-row:last-child {
  margin-bottom: 0;
}
.access__transit-line {
  flex: 0 0 9rem;
  font-size: 1.6rem;
  font-weight: 500;
  color: #000;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.access__transit-route {
  font-size: 1.6rem;
  font-weight: 500;
  color: #000;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.access__col-body {
  display: grid;
  grid-template-columns: 1fr 29.5rem;
  gap: 1.5rem;
  margin-top: 2rem;
}
.access__car-note {
  font-size: 1.6rem;
  font-weight: 500;
  color: #000;
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-top: 2rem;
}
.access__parking {
  margin-top: 1rem;
}
.access__parking-row {
  display: flex;
  align-items: flex-start;
  gap: 2.8rem;
  margin-bottom: 2.4rem;
}
.access__parking-row:last-child {
  margin-bottom: 0;
}
.access__parking-label {
  flex: 0 0 8rem;
  font-size: 1.6rem;
  font-weight: 500;
  color: #000;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.access__parking-value {
  font-size: 1.6rem;
  font-weight: 500;
  color: #000;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
.access__car-img {
  border-radius: 1rem;
  overflow: hidden;
  background: #fff;
  margin-top: 1rem;
}
.access__car-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.access__sponsors-wrap {
  padding: 7.6rem 0 7.8rem;
}
.access__sponsors-wrap .inner {
  border: none;
  padding-bottom: 0;
}
.access__sponsor-heading {
  font-size: 2.4rem;
  font-weight: var(--bold);
  color: #573709;
  letter-spacing: 0.05em;
  text-align: center;
}
.access__logo-card img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.access__organizer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
}
.access__organizer .access__logo-card {
  width: 40rem;
}
.access__sponsors {
  margin-top: 3.4rem;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.access__logo-grid {
  display: flex;
  justify-content: space-between;
}
.access__logo-grid .access__logo-card {
  width: 40rem;
}

.copy {
  background: #000;
  color: #fff;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 600;
  padding: 1.3rem 0;
}

/* ======== ABOUT ======== */
.about {
  position: relative;
  overflow: hidden;
  background: #fff;
  padding: 10rem 0 12rem;
  background: url("./../images/grid-bg.png");
  background-size: contain;
}
.about__deco {
  position: absolute;
  left: -15rem;
  top: 26rem;
  transform: rotate(-90deg);
  font-family: var(--en-font);
  font-size: 12rem;
  font-weight: 500;
  color: #EAEAEA;
  white-space: nowrap;
  pointer-events: none;
  line-height: 1;
  letter-spacing: 0.1em;
}
.about .inner {
  position: relative;
  z-index: 1;
}
.about__intro {
  display: grid;
  grid-template-columns: 58rem 1fr;
  gap: 6rem;
  align-items: start;
}
.about__cards {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
}
.about__cards:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6.15rem;
  height: 6.39rem;
  content: "";
  background: url(./../images/icon_cross.png);
  background-size: cover;
  z-index: 10;
}
.about__card {
  position: relative;
  overflow: hidden;
  height: 24.7rem;
}
.about__card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.about__card.-card02 .about__card-label {
  left: 27rem;
}
.about__card-label {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 6rem;
}
.about__card-label p {
  font-size: 2.4rem;
  font-weight: var(--bold);
  color: #fff;
  line-height: 1.3;
  margin-bottom: 1rem;
}
.about__card-label span {
  font-size: 1.6rem;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.1em;
}
.about__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  font-weight: 500;
  color: #3B4043;
  line-height: 1.75;
}
.about__block {
  display: grid;
  grid-template-columns: 1fr 58rem;
  gap: 6rem;
  align-items: start;
  margin-top: 8rem;
}
.about__block--reverse {
  grid-template-columns: 58rem 1fr;
}
.about__subheading {
  font-size: 2.8rem;
  font-weight: var(--bold);
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}
.about__subheading--green {
  color: #BEC445;
}
.about__subheading--brown {
  color: #573709;
}
.about__block-body {
  font-size: 1.6rem;
  font-weight: 500;
  color: #3B4043;
  line-height: 1.75;
}
.about__block-img img {
  width: 100%;
  height: 40rem;
  object-fit: cover;
  display: block;
}
.about__speakers {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  margin-top: 4rem;
}
.about__speaker {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  padding: 3rem;
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
}
.about__speaker-photo {
  flex: 0 0 14rem;
}
.about__speaker-photo img {
  width: 14rem;
  height: 14rem;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}
.about__speaker-label {
  font-size: 1.6rem;
  color: #000;
  display: block;
}
.about__speaker-name {
  font-size: 2.8rem;
  font-weight: var(--bold);
  color: #000;
  margin-top: 1.3rem;
}
.about__speaker-time {
  display: inline-block;
  background: #BEC445;
  color: #fff;
  font-size: 2rem;
  border-radius: 1rem;
  font-family: var(--en-font);
  font-weight: var(--bold);
  padding: 1rem 1rem;
  margin-top: 0.8rem;
}
.about__speaker-session {
  font-size: 2rem;
  font-weight: var(--bold);
  color: #000;
  margin-top: 0.8rem;
  line-height: 1.4;
}
.about__speaker-txt {
  font-size: 1.6rem;
  color: #000;
  margin-top: 0.8rem;
  letter-spacing: 0.05em;
  line-height: 2.4rem;
}
.about__layout-box {
  display: grid;
  grid-template-columns: 48rem 1fr;
  gap: 4rem;
  margin-top: 4rem;
  background: #fff;
  border-radius: 1rem;
  padding: 4rem;
  box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.16);
}
.about__layout-heading {
  font-size: 2.4rem;
  font-weight: var(--bold);
  color: #573709;
  border-bottom: 1px solid #573709;
  margin-bottom: 2.5rem;
  padding-bottom: 2.5rem;
}
.about__layout-list {
  list-style: none;
  margin-top: 2rem;
}
.about__layout-list li {
  font-size: 1.8rem;
  font-weight: 500;
  color: #000;
  padding: 0.6rem 0 0.6rem 2rem;
  position: relative;
  padding-left: 5rem;
  margin-bottom: 2rem;
}
.about__layout-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3rem;
  height: 3rem;
  border: 0.6rem solid #9F7E4E;
  border-radius: 50%;
  box-sizing: border-box;
}
.about__layout-img {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
}
.about__layout-img img {
  width: 100%;
  height: 28rem;
  object-fit: cover;
  display: block;
}
.about__layout-note {
  position: absolute;
  bottom: 1rem;
  right: 1rem;
  font-size: 1.2rem;
  font-weight: var(--bold);
  color: #fff;
}

@media screen and (max-width: 768px) {
  html {
    font-size: 2.6666666667vw;
  }
  section {
    scroll-margin-top: 6rem;
  }
  .section-label__text {
    font-size: 1.4rem;
  }
  .vpc {
    display: none;
  }
  .vsp {
    display: block;
  }
  .inner {
    width: 31.5rem;
  }
  .l-header {
    height: 5rem;
  }
  .l-header.-is-open .l-header__nav {
    display: block;
  }
  .l-header.-is-open .l-header__hamburger span:nth-of-type(1) {
    transform: translateY(0.4rem) rotate(45deg);
  }
  .l-header.-is-open .l-header__hamburger span:nth-of-type(2) {
    transform: translateY(-0.4rem) rotate(-45deg);
  }
  .l-header__inner {
    position: relative;
    height: 100%;
    padding: 0 2rem;
  }
  .l-header__logo {
    width: 18rem;
    display: inline-block;
    vertical-align: middle;
  }
  .l-header__logo img {
    width: 100%;
    height: auto;
  }
  .l-header__nav {
    transform: translateX(100%);
    transition: 0.6s;
    position: absolute;
    top: 5rem;
    left: 0;
    width: 100%;
    background: #fff;
    box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.12);
    z-index: 99;
  }
  .l-header__nav.-is-open {
    transform: translateX(0);
  }
  .l-header__nav-list {
    flex-direction: column;
    gap: 0;
    padding: 0;
    width: 31.5rem;
    margin: auto;
    padding-bottom: 4rem;
  }
  .l-header__nav-list li {
    width: 100%;
  }
  .l-header__nav-list a {
    display: block;
    padding: 1.5rem 0;
    border-bottom: 1px solid #eee;
    font-size: 1.6rem;
    font-weight: 600;
    position: relative;
  }
  .l-header__nav-list a:after {
    content: "";
    width: 2.4rem;
    height: 2.4rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    background: url(./../images/icon_arrow_blue.png);
    background-size: cover;
  }
  .l-header__cta {
    display: none;
  }
  .l-header__hamburger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.7rem;
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
    width: 2.2rem;
    height: 0.8rem;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
  }
  .l-header__hamburger span {
    display: block;
    width: 100%;
    height: 0.2rem;
    background: #000;
    transition: 0.3s;
    transform-origin: center;
  }
  .section-title__en {
    font-size: 1.2rem;
  }
  .section-title__jp {
    font-size: 1.8rem;
    margin-top: 1rem;
  }
  .kv {
    height: 61.5rem;
  }
  .kv__inner {
    width: 34.5rem;
    z-index: 10;
  }
  .kv__thum {
    width: 34.5rem;
    top: 7rem;
    left: 0;
  }
  .kv__deco {
    font-size: 6rem;
    color: #EEEEEE;
    bottom: auto;
    top: 0;
    left: -2rem;
    writing-mode: vertical-rl;
    animation: kv-deco-marquee-v 30s linear infinite;
  }
  .kv__deco span {
    padding-right: 0;
    padding-bottom: 4rem;
  }
  .sticky-cta {
    height: auto;
  }
  .sticky-cta__panel {
    width: 50%;
    height: 7rem;
  }
  .sticky-cta__panel--gradient:after {
    top: auto;
    bottom: 0.5rem;
    right: 0.5rem;
    width: 1.6rem;
    height: 1.6rem;
    transform: translateY(0);
    background: url("./../images/icon_arrow_white_sp.png");
    background-size: cover;
  }
  .sticky-cta__panel--light:after {
    top: auto;
    bottom: 0.5rem;
    right: 0.5rem;
    width: 1.6rem;
    height: 1.6rem;
    transform: translateY(0);
    background: url("./../images/icon_arrow_grade_sp.png");
    background-size: cover;
  }
  .sticky-cta__sub {
    font-size: 1rem;
  }
  .sticky-cta__title {
    font-size: 1.3rem;
  }
  .about {
    padding: 6rem 0;
  }
  .about__intro {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .about__block {
    grid-template-columns: 1fr !important;
    gap: 3rem;
    margin-top: 3rem;
  }
  .about__block-body {
    font-size: 1.2rem;
  }
  .about__speaker {
    flex-flow: column;
    align-items: center;
    padding: 2rem;
  }
  .about__speaker-photo {
    flex: initial;
    display: flex;
    gap: 2rem;
    align-items: center;
    width: 100%;
  }
  .about__speaker-photo img {
    width: 12rem;
    height: 12rem;
  }
  .about__speaker-label {
    font-size: 1.2rem;
  }
  .about__speaker-name {
    font-size: 2.4rem;
  }
  .about__speaker-time {
    font-size: 1.2rem;
  }
  .about__speaker-session {
    font-size: 1.6rem;
  }
  .about__speaker-txt {
    font-size: 1.2rem;
    line-height: normal;
  }
  .about__speakers {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 3rem;
  }
  .about__layout-box {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 3rem;
  }
  .about__block-img img {
    height: 24rem;
  }
  .about__cards:before {
    width: 4rem;
    height: 4rem;
  }
  .about__subheading {
    font-size: 1.6rem;
  }
  .about__lead {
    font-size: 1.2rem;
    margin-top: 2rem;
  }
  .about__card {
    height: 13rem;
  }
  .about__card.-card02 .about__card-label {
    left: 16rem;
  }
  .about__card-label {
    left: 3rem;
  }
  .about__card-label p {
    font-size: 1.4rem;
  }
  .about__card-label span {
    font-size: 1.2rem;
  }
  .about__layout-heading {
    font-size: 1.6rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
  }
  .about__layout-box {
    padding: 3rem 2rem;
  }
  .about__layout-list li {
    font-size: 1.2rem;
    padding: 0.6rem 0 0.6rem 2rem;
    margin-bottom: 1rem;
  }
  .about__layout-list li:before {
    width: 1.5rem;
    height: 1.5rem;
    border-width: 0.3rem;
  }
  .about__deco {
    left: -9rem;
    top: 14rem;
    font-size: 6rem;
  }
  .after-party {
    padding: 5rem 0 6rem;
  }
  .after-party__inner {
    flex-direction: column;
    gap: 3rem;
  }
  .after-party__photos {
    flex: none;
    width: 100%;
  }
  .after-party__content {
    width: 31.5rem;
  }
  .after-party__icon {
    width: 8rem;
    right: -1rem;
  }
  .after-party__btn {
    text-align: center;
  }
  .after-party__btn a {
    width: 27.5rem;
    height: 5rem;
  }
  .after-party__flex {
    flex-flow: column;
  }
  .after-party__thum {
    width: 100%;
  }
  .after-party__comment {
    width: 100%;
    font-size: 1.2rem;
  }
  .after-party__photo-card--lg {
    flex: 0 0 60%;
    height: 16rem;
  }
  .after-party__photo-card--sm {
    flex: 1;
    height: 16rem;
  }
  .after-party__photo-card--wide {
    flex: none;
    width: 100%;
    height: 16rem;
  }
  .after-party__title {
    font-size: 1.8rem;
    margin-top: 1rem;
  }
  .after-party__text {
    font-size: 1.2rem;
  }
  .after-party__deco {
    font-size: 6rem;
    bottom: -3rem;
    right: 0;
  }
  .after-party__info {
    margin-top: 5rem;
  }
  .after-party__info-dl {
    flex-flow: column;
    gap: 2rem;
  }
  .after-party__info-dl dt {
    font-size: 1.8rem;
  }
  .after-party__info-dl dd {
    font-size: 1.2rem;
    line-height: normal;
  }
  .after-party__info-map iframe {
    height: 30rem;
  }
  .program {
    padding: 6rem 0 6rem;
  }
  .program__deco {
    font-size: 6rem;
  }
  .program__timeline {
    gap: 1.5rem;
    margin-top: 3rem;
  }
  .timeline-move {
    gap: 2rem;
    transform: translateX(4rem);
  }
  .timeline-move-dot {
    width: 0.75rem;
  }
  .timeline-move-txt {
    font-size: 1.2rem;
  }
  .timeline-item {
    min-height: auto;
    display: block;
  }
  .timeline-item__time {
    flex: 0 0 11rem;
    min-height: auto;
    font-size: 1.4rem;
    padding: 1.5rem 0.5rem;
    border-radius: 0 !important;
  }
  .timeline-item__content {
    font-size: 1.2rem;
    padding: 1.5rem 2rem;
    text-align: center;
  }
  .supporters {
    padding: 6rem 0 6rem;
  }
  .supporters__inner {
    flex-direction: column;
    gap: 3rem;
  }
  .supporters__lead {
    margin-top: 2rem;
    font-size: 1.2rem;
  }
  .supporters__left {
    flex: none;
    width: 100%;
  }
  .supporters__right {
    width: 100%;
  }
  .supporters__photos {
    display: block;
    position: relative;
    margin-top: 3rem;
    margin-bottom: 6rem !important;
  }
  .supporters .slick-prev {
    top: 10rem;
    width: 4rem;
    height: 4rem;
    background: url("./../images/icon_prev_arrow_blue.png");
    background-size: cover;
    z-index: 10;
  }
  .supporters .slick-prev:before {
    display: none;
  }
  .supporters .slick-next {
    top: 10rem;
    width: 4rem;
    height: 4rem;
    background: url("./../images/icon_next_arrow_blue.png");
    background-size: cover;
    z-index: 10;
  }
  .supporters .slick-next:before {
    display: none;
  }
  .supporters .slick-dots li {
    width: auto;
    height: auto;
    margin: 0 1rem;
  }
  .supporters .slick-dots li button {
    width: 0.8rem;
    height: 0.8rem;
    background: #CCCCCC;
    border-radius: 50%;
  }
  .supporters .slick-dots li button:before {
    display: none;
  }
  .supporters .slick-dots li.slick-active button {
    background: #1471DA;
  }
  .supporters__photo-caption {
    font-size: 1.6rem;
    height: auto;
  }
  .supporters__cta {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    padding: 3rem 0;
    margin-top: 0;
  }
  .supporters__criteria-item {
    padding: 1rem 2rem;
    min-height: 4.5rem;
  }
  .supporters__criteria-icon {
    width: 2.5rem;
    height: 2.5rem;
  }
  .supporters__criteria-text {
    font-size: 1.4rem;
  }
  .supporters__cta-sub {
    font-size: 1.2rem;
  }
  .supporters__cta-title {
    font-size: 1.6rem;
    text-align: center;
  }
  .supporters__cta-btn {
    min-width: 0;
    width: calc(100% - 4rem);
    font-size: 1.4rem;
    height: 5rem;
  }
  .supporters__cta-btn:after {
    width: 2.4rem;
    height: 2.4rem;
  }
  .supporters__deco {
    font-size: 6rem;
    left: 50%;
    transform: translateX(-50%);
    top: 10rem;
  }
  .recommend {
    padding: 6rem 0 8rem;
    overflow: visible;
  }
  .recommend__deco {
    font-size: 6rem;
    left: -3rem;
    top: -2rem;
  }
  .recommend__cards {
    display: block;
    margin-top: 2.5rem;
  }
  .recommend .slick-prev {
    top: 12rem;
    width: 4rem;
    height: 4rem;
    background: url("./../images/icon_prev_arrow_blue.png");
    background-size: cover;
    z-index: 10;
  }
  .recommend .slick-prev:before {
    display: none;
  }
  .recommend .slick-next {
    top: 12rem;
    width: 4rem;
    height: 4rem;
    background: url("./../images/icon_next_arrow_blue.png");
    background-size: cover;
    z-index: 10;
  }
  .recommend .slick-next:before {
    display: none;
  }
  .recommend .slick-dots li {
    width: auto;
    height: auto;
    margin: 0 1rem;
  }
  .recommend .slick-dots li button {
    width: 0.8rem;
    height: 0.8rem;
    background: #CCCCCC;
    border-radius: 50%;
  }
  .recommend .slick-dots li button:before {
    display: none;
  }
  .recommend .slick-dots li.slick-active button {
    background: #1471DA;
  }
  .recommend-card {
    flex: 0 0 75%;
    scroll-snap-align: start;
    border-radius: 4rem 0.6rem 4rem 0.6rem;
    padding: 3rem 2rem;
  }
  .recommend-card__icon {
    height: 8.8rem;
    padding: 0 2rem;
  }
  .recommend-card__title {
    white-space: normal;
    font-size: 1.8rem;
  }
  .recommend-card__divider {
    margin: 1.5rem 0;
  }
  .recommend-card__text {
    font-size: 1.2rem;
  }
  .speaker {
    padding: 7rem 0 6rem;
    margin-top: -5rem;
  }
  .speaker__head {
    flex-direction: column;
    gap: 2rem;
    align-items: flex-start;
  }
  .speaker__cards {
    flex-direction: column;
    gap: 3rem;
    margin-top: 4rem;
  }
  .speaker__deco {
    font-size: 6rem;
    right: -3rem;
    top: -2rem;
    z-index: 1;
  }
  .speaker__lead {
    max-width: 100%;
    margin-top: 0;
    font-size: 1.2rem;
    margin-bottom: 2rem;
  }
  .speaker-card__photo {
    width: calc(100% - 2.6rem);
    margin: -4rem auto 0;
  }
  .speaker-card__body {
    padding: 2.4rem 1.3rem;
  }
  .speaker-card__flex {
    gap: 1rem;
  }
  .speaker-card__body-child {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  .speaker-card__link {
    width: 100%;
  }
  .modaal-content-container {
    padding: 3rem 2rem;
  }
  .modaal-close {
    top: -5rem;
  }
  .modaal-close:after,
  .modaal-close:before {
    width: 0.3rem;
    height: 4rem;
  }
  .speaker-profile {
    flex-direction: column;
    gap: 3rem;
  }
  .speaker-profile__bio {
    font-size: 1.2rem;
    letter-spacing: 0.05em;
    line-height: 1.8rem;
    height: 12rem;
    overflow: scroll;
  }
  .speaker-profile__photo-wrap {
    width: 100%;
    max-width: 28rem;
    margin: 0 auto;
  }
  .speaker-profile__body {
    width: 100%;
  }
  .cta-split {
    flex-direction: column;
  }
  .cta-split__panel {
    min-height: auto;
    width: 100%;
  }
  .cta-split__body {
    padding: 2.5rem 3rem;
    gap: 1.2rem;
  }
  .cta-split__sub {
    font-size: 1.2rem;
  }
  .cta-split__title {
    font-size: 1.8rem;
  }
  .cta-split__btn {
    min-width: 0;
    width: 27.5rem;
    font-size: 1.4rem;
    height: 5rem;
  }
  .cta-split__btn:after {
    width: 2rem;
    height: 2rem;
    right: 1rem;
  }
  .features {
    padding: 6rem 0 6rem;
    overflow: visible;
  }
  .features__deco {
    font-size: 6rem;
    right: 0;
    top: 0rem;
  }
  .features__grid {
    margin-top: 3rem;
  }
  .features .slick-prev {
    top: 12rem;
    width: 4rem;
    height: 4rem;
    background: url("./../images/icon_prev_arrow_gold.png");
    background-size: cover;
    z-index: 10;
  }
  .features .slick-prev:before {
    display: none;
  }
  .features .slick-next {
    top: 12rem;
    width: 4rem;
    height: 4rem;
    background: url("./../images/icon_next_arrow_gold.png");
    background-size: cover;
    z-index: 10;
  }
  .features .slick-next:before {
    display: none;
  }
  .features .slick-dots li {
    width: auto;
    height: auto;
    margin: 0 1rem;
  }
  .features .slick-dots li button {
    width: 0.8rem;
    height: 0.8rem;
    background: #CCCCCC;
    border-radius: 50%;
  }
  .features .slick-dots li button:before {
    display: none;
  }
  .features .slick-dots li.slick-active button {
    background: #9F7E4E;
  }
  .feature-item {
    flex: 0 0 80%;
    width: auto;
    scroll-snap-align: start;
  }
  .feature-item__badge {
    font-size: 1.6rem;
    line-height: 2rem;
    width: 20rem;
    white-space: initial;
    padding: 1rem 2rem;
    border-radius: 1rem 0.3rem 1rem 0.3rem;
  }
  .feature-item__text {
    font-size: 1.2rem;
    text-align: justify;
  }
  .event-info {
    padding: 6rem 0 6rem;
  }
  .event-info__deco {
    font-size: 6rem;
    left: -4rem;
    top: 0rem;
    z-index: 1;
  }
  .event-info__table {
    padding: 1rem 1.5rem 3rem;
    margin-top: 3rem;
    position: relative;
    z-index: 10;
  }
  .event-info__label {
    display: block;
    width: 100%;
    padding: 2rem 0 0.5rem;
    font-size: 1.4rem;
  }
  .event-info__value {
    display: block;
    width: 100%;
    padding: 0 0 1.5rem;
    font-size: 1.2rem;
  }
  .faq {
    padding: 6rem 0 6rem;
  }
  .faq__deco {
    font-size: 6rem;
    top: 0;
    left: 15rem;
  }
  .faq .inner {
    flex-direction: column;
    gap: 0;
  }
  .faq__list {
    max-width: 100%;
  }
  .faq__question {
    padding: 1rem 0;
  }
  .faq__q-badge {
    width: 3rem;
    height: 3rem;
    font-size: 1.4rem;
  }
  .faq__q-text {
    font-size: 1.4rem;
  }
  .faq__a-badge {
    width: 3rem;
    height: 3rem;
    font-size: 1.4rem;
  }
  .faq__a-text {
    font-size: 1.2rem;
  }
  .access {
    padding: 6rem 0 0;
  }
  .access .inner {
    padding-bottom: 3rem;
  }
  .access__deco {
    font-size: 6rem;
    top: 2rem;
    right: 0;
  }
  .access__venue {
    flex-direction: column;
    gap: 1rem;
    margin-top: 4rem;
  }
  .access__venue-name {
    font-size: 1.6rem;
  }
  .access__venue-address {
    font-size: 1.2rem;
    line-height: normal;
  }
  .access__map iframe {
    height: 30rem;
  }
  .access__grid {
    grid-template-columns: 1fr;
    gap: 4rem;
  }
  .access__col-title {
    font-size: 1.6rem;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    line-height: 1.4;
  }
  .access__col-body {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .access__transit-row {
    gap: 1rem;
  }
  .access__transit-line {
    font-size: 1.2rem;
  }
  .access__transit-route {
    font-size: 1.2rem;
  }
  .access__car-note {
    font-size: 1.2rem;
  }
  .access__parking-label {
    font-size: 1.2rem;
  }
  .access__parking-row {
    gap: 1rem;
  }
  .access__parking-value {
    font-size: 1.2rem;
  }
  .access__car-img {
    width: 100%;
    margin-top: 0;
  }
  .access__sponsor-heading {
    font-size: 1.8rem;
  }
  .access__sponsors-wrap {
    padding: 3rem 0;
  }
  .access__organizer {
    gap: 1rem;
  }
  .access__organizer .access__logo-card {
    width: 28rem;
  }
  .access__sponsors {
    gap: 1rem;
  }
  .access__logo-grid {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
  .access__logo-grid .access__logo-card {
    width: 28rem;
  }
}