@charset "utf-8";

:root {
  --clr-neutral-100: #fff;
  --clr-neutral-200: #F0F0F0;
  --clr-neutral-900: #333;
  --clr-green-50: #D9F4E1;
  --clr-green-100: #E2F3CB;
  --clr-green-200: #E2F3CC;
  --clr-green-300: #71C701;
  --clr-green-400: #72C800;
  --clr-green-500: #48C66C;
  --clr-green-600: #27A84B;
  --clr-green-700: #00783A;
  --clr-yellow-100: #E3EAA4;
  --clr-yellow-200: #F3DE91;
  --clr-yellow-300: #D0A16C;
  --clr-yellow-800: #C3D82E;
  --clr-orange-100: #FFEADD;
  --clr-orange-200: #FFEADE;
  --clr-orange-300: #FDEAD6;
  --clr-orange-400: #FF9A60;
  --clr-orange-500: #F29B32;
  --clr-orange-600: #ED6D33;
  --clr-blue-200: #D5EDF8;
  --clr-blue-400: #2DA7E0;
  --clr-blue-300: #2680EA;
  --clr-blue-600: #3666CB;
  --clr-purple-100: #F1E1F0;
  --clr-purple-400: #D68BD2;
  --clr-red-400: #ED3333;
  --clr-bg: #F3F7FA;
  --clr-border: #ccc;
  --clr-link: #3666CB;
  --font-primary: "Noto Sans JP", "Helvetica", "Arial", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "メイリオ", "ＭＳ Ｐゴシック", "Osaka‐等幅", "sans-serif";
  --font-secondary: "Open Sans", "sans-serif";
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

a {
  color: var(--clr-link);
  text-decoration: none;
}

a:not([class]):hover {
  text-decoration: underline;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

input,
button,
textarea,
select {
  font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
}

ul {
  padding: 0;
}

a,
button {
  -webkit-tap-highlight-color: transparent;
}

iframe,
iframe:focus {
  outline: none;
}

ul,
ol {
  list-style: none;
}

html {
  scroll-behavior: smooth;
}

body {
  line-height: 2;
  color: var(--clr-neutral-900);
  font-family: var(--font-primary);
  font-size: 16px;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  background-color: var(--clr-neutral-100);
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.pcnone {
  display: none;
}

.fw-bold {
  font-weight: 700;
}

.sec-wrap {
  --max-width: 1100px;
  --padding: 80px;
  width: min(var(--max-width), 100% - var(--padding));
  margin-inline: auto;
}

.sec-ttl {
  line-height: 1.25;
  padding-bottom: 10px;
  color: var(--clr-yellow-100);
  font-family: var(--font-secondary);
  font-size: 28px;
  font-weight: 700;
  text-align: center;
}

.sec-sub-ttl {
  position: relative;
  line-height: 1.5;
  margin-bottom: 58px;
  padding-bottom: 10px;
  font-size: 36px;
  font-weight: 700;
  text-align: center;
}

.sec-sub-ttl::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 80px;
  height: 2px;
  border-radius: 100vw;
  transform: translateX(-50%);
  content: '';
  background-color: currentColor;
}

.corner-sub-ttl {
  position: relative;
  line-height: 1.5;
  padding: 20px 0 18px 75px;
  border: 1px solid transparent;
  border-radius: 10px;
  color: var(--clr-neutral-100);
  font-size: 24px;
  font-weight: 700;
  z-index: 999;
}

.corner-sub-ttl::before {
  position: absolute;
  top: 23px;
  left: 37px;
  content: url('../img/icon_cmn_leaf.svg');
}

.sec-corner .corner-sub-ttl::after {
  position: absolute;
  right: 37px;
  bottom: -9px;
  content: '';
  z-index: -999;
}

.pill {
  border-radius: 100vw;
  text-align: center;
  padding-block: 10px;
  background-color: var(--clr-neutral-100);
}

.sec-padding {
  padding-block: 80px;
}

.main-header {
  padding: 18px 40px;
  border-bottom: 1px solid var(--clr-border);
}

.sub-ttl h4::before {
  position: absolute;
  top: 6px;
  left: 0;
  width: 24px;
  content: '';
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

/* main visual section */
.sec-mv {
  display: grid;
  overflow: hidden;
  grid-template-columns: 1fr max(322px, 20.964vw);
}

.sec-mv .mv-l {
  position: relative;
  padding: max(60px, 3.906vw) max(80px, 5.208vw);
  background-image: url('../img/img_mv_bg_pc.svg');
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: cover;
}

.sec-mv .mv-l-inner {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.sec-mv .mv-l .mv-logos {
  margin-top: auto;
}

.sec-mv .mv-l::before {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  content: '';
  background-color: var(--clr-green-700);
}

.sec-mv .mv-l::after {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: max(28px, 1.823vw);
  content: '';
  background-color: var(--clr-green-700);
}

.sec-mv .mv-r {
  padding: max(30px, 1.953vw) max(40px, 2.604vw);
  background-color: var(--clr-green-700);
}

.sec-mv .mv-r img {
  width: 100%;
}

.sec-mv .mv-r p {
  line-height: 1.5;
  margin-top: max(30px, 1.953vw);
  color: var(--clr-neutral-100);
  font-size: max(14px, 0.911vw);
}

.sec-mv .mv-ttl>img {
  width: max(386px, 25.13vw);
}

.sec-mv .mv-logos>img {
  width: max(197px, 12.826vw);
}

.sec-customer {
  color: var(--clr-neutral-100);
  text-align: center;
  background-color: var(--clr-green-600);
}

.sec-customer .sec-wrap {
  --max-width: 610px;
}

.sec-place {
  background-color: var(--clr-yellow-800);
}

.wrapper-inner {
  padding: 60px 40px;
  border-radius: 20px;
  background-color: var(--clr-neutral-100);
}

.sec-place .sec-ttl {
  color: var(--clr-green-600);
}

.sec-place .wrapper-inner .sec-sub-ttl {
  margin-bottom: 40px;
}

.sec-place .wrapper-inner p.detail {
  text-align: center;
}

.sec-place .map-wrap {
  display: flex;
  margin-top: 60px;
  gap: 40px;
}

.sec-place .map-wrap>* {
  flex-shrink: 0;
  flex-grow: 1;
}

.sec-place .map-ttl {
  padding: 9px 16px;
  border-radius: 4px;
  background-color: var(--clr-orange-600);
}

.sec-place .map-detail {
  line-height: 1.5;
  padding: 20px 0 0 20px;
}

.sec-place .map-detail .detail-ttl {
  position: relative;
  margin-bottom: 10px;
  padding-left: 16px;
}

.sec-place .map-detail .detail-ttl+dd {
  display: grid;
  gap: 10px;
}

.sec-place .map-detail .detail-ttl::before {
  display: block;
  position: absolute;
  top: 5px;
  left: 0;
  width: 13px;
  content: '';
  aspect-ratio: 1;
  background-color: currentColor;
}

.sec-place .map-list {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 20px;
}

.sec-place .map-list:first-of-type dt {
  margin-top: 5px;
}

.sec-place .map-list .date {
  font-size: 24px;
}

.sec-place .map-list p:has(a) {
  margin-top: 20px;
}

.sec-place .map-inner {
  aspect-ratio: 16 / 9;
}

.sec-place iframe {
  width: 100%;
  height: 100%;
  border-radius: 10px;
}

.sec-place .osaka-ttl {
  background-color: var(--clr-blue-400);
}

.sec-place .time-announce {
  margin-top: 40px;
  text-align: center;
}

.sec-info .sec-ttl {
  color: var(--clr-orange-600);
}

.sec-info .info-card+.info-card {
  margin-top: 60px;
}

.sec-info .info-card .info-ttl {
  position: relative;
  padding: 20px 40px;
  border-radius: 10px;
  color: var(--clr-neutral-100);
  font-size: 24px;
  z-index: 1;
  background-color: var(--clr-green-300);
}

.sec-info .info-card .info-ttl::after {
  position: absolute;
  right: 40px;
  bottom: 0;
  width: 84px;
  content: '';
  z-index: -1;
  aspect-ratio: 1;
  background-image: url('../img/img_corner_01.svg');
  background-repeat: no-repeat;
  background-position: bottom right;
  background-size: contain;
}

.sec-info .info-card .info-ttl h4 {
  position: relative;
  line-height: 1.5;
  padding-left: 34px;
}

.sec-info .info-card .info-ttl h4::before {
  background-image: url('../img/ico_info_leaf.svg');
}

.sec-info .info-card .info-content {
  margin-top: 10px;
  padding: 36px 40px;
  border-radius: 10px;
  background-color: var(--clr-green-100);
}

.sec-info .info-card {
  padding-top: 9px;
}

.sec-info .target-info .info-ttl {
  background-color: var(--clr-orange-400);
}

.sec-info .target-info .info-ttl::after {
  background-image: url('../img/img_corner_02.svg');
}

.sec-info .target-info .info-content {
  background-color: var(--clr-orange-100);
}

.sec-info .target-info .target-3-col {
  display: grid;
  margin-top: 10px;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.sec-info .card {
  padding: 30px 20px 24px;
  border-radius: 10px;
}

.sec-info .target-info.info-card {
  padding-top: 0;
}

.sec-info .target-info .card {
  color: var(--clr-orange-600);
  background-color: var(--clr-orange-100);
}

.sec-info .target-info h5 {
  line-height: 1.5;
  margin-bottom: 20px;
  font-size: 18px;
}

.sec-info .info-card .card .txt {
  padding-inline: 10px;
}

.sec-info .product-info .info-ttl {
  background-color: var(--clr-orange-500);
}

.sec-info .product-info .info-ttl::after {
  background-image: url('../img/img_corner_03.svg');
}

.sec-info .product-info .info-content {
  background-color: var(--clr-orange-300);
}

.sec-info .menu-info .info-ttl {
  background-color: var(--clr-blue-400);
}

.sec-info .menu-info .info-ttl::after {
  background-image: url('../img/img_corner_04.svg');
}

.sec-info .info-card.menu-info {
  padding-top: 23px;
}

.sec-info .menu-info .info-content {
  background-color: var(--clr-blue-200);
}

.sec-info .menu-info .info-ttl::after {
  width: 56px;
  aspect-ratio: 4 / 7;
}

.sec-info .menu-info .proposal {
  margin-top: 30px;
  color: var(--clr-blue-400);
}

.sec-info .menu-info h5 {
  position: relative;
  font-size: 18px;
  text-align: center;
  z-index: 1;
}

.sec-info .menu-info h5 span {
  padding-inline: 14px;
  background-color: var(--clr-blue-200);
}

.sec-info .menu-info h5::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  transform: translateY(-50%);
  content: '';
  z-index: -1;
  background-color: currentColor;
}

.sec-info .menu-info ul {
  display: flex;
  justify-content: center;
  margin-top: 14px;
  margin-inline: 10px;
  gap: 20px;
  flex-wrap: wrap;
}

.sec-info .menu-info ul li {
  position: relative;
  line-height: 1.5;
  padding-inline: 35px 20px;
}

.sec-info .menu-info ul li::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 20px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  transform: translateY(-50%);
  content: '';
  background-color: currentColor;
}

.sec-info .group-info .info-ttl {
  background-color: var(--clr-green-500);
}

.sec-info .group-info .info-ttl::after {
  background-image: url('../img/img_corner_05.svg');
}

.sec-info .group-info .info-content {
  background-color: var(--clr-blue-200);
}

.sec-info .group-info .group-2-col {
  display: grid;
  margin-top: 10px;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.sec-info .group-info .card {
  color: var(--clr-green-600);
  background-color: var(--clr-green-50);
}

.sec-info .ec-info .info-ttl {
  background-color: var(--clr-purple-400);
}

.sec-info .ec-info .info-ttl::after {
  background-image: url('../img/img_corner_06.svg');
}

.sec-info .ec-info .info-content {
  background-color: var(--clr-purple-100);
}

.sec-info .group-info h5 {
  line-height: 1.5;
  margin-bottom: 20px;
  font-size: 18px;
}

.sec-info .group-info .card .txt {
  color: var(--clr-neutral-900);
}

.warning {
  margin-top: 60px;
  padding: 36px 40px;
  border-radius: 10px;
  background-color: var(--clr-neutral-200);
}

.warning p+p {
  margin-top: 10px;
  font-size: 14px;
}

.sec-app {
  padding: 80px 0 180px;
  background-color: var(--clr-yellow-200);
}

.sec-app .app-ttl {
  color: var(--clr-yellow-300);
}

.sec-app .app-details .app-sub-ttl h4 {
  position: relative;
  line-height: 1.3;
  margin-bottom: 40px;
  padding-bottom: 20px;
  padding-left: 34px;
  font-size: 24px;
  border-bottom: 2px solid var(--clr-border);
}

.sec-app .app-details .app-sub-ttl h4::before {
  background-image: url('../img/icon_app_leaf.svg');
}

.sec-app .app-deadline {
  margin-bottom: 60px;
}

.sec-app .apply-details {
  text-align: center;
}

.sec-app .apply-details .btn-venue {
  padding: 15px 40px;
  border: 2px solid transparent;
  border-radius: 100vw;
  font-size: 18px;
}

.sec-app .apply-details .click-venue-btn {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  margin: 30px 0 40px 0;
  padding: 0px;
  flex-wrap: wrap;
  gap: 20px;
}

.sec-app .apply-details .btn-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  overflow: visible;
  color: var(--clr-neutral-100);
  flex: none;
  flex-wrap: nowrap;
  transition: color .3s ease, background-color .3s ease, border-color .3s;
  gap: 5px;
}

.sec-app .apply-details .btn-tokyo-venue {
  background-color: var(--clr-orange-600);
}

.sec-app .apply-details .btn-tokyo-venue:hover {
  border: 2px solid var(--clr-orange-600);
  color: var(--clr-orange-600);
  background-color: transparent;
  transition: color .3s ease, background-color .3s ease, border-color .3s;
}

.sec-app .apply-details .btn-osaka-venue {
  background-color: var(--clr-blue-400);
}

.sec-app .apply-details .btn-osaka-venue:hover {
  border: 2px solid var(--clr-blue-400);
  color: var(--clr-blue-400);
  background-color: transparent;
  transition: color .3s ease, background-color .3s ease, border-color .3s;
}

.sec-app .apply-details .btn-tokyo-venue:hover .btn-appear {
  background-color: var(--clr-orange-600);
}

.sec-app .apply-details .btn-osaka-venue:hover .btn-appear {
  background-color: var(--clr-blue-400);
}

.sec-app .apply-details .btn-venue:hover .icon-primary img {
  transform: translate(10px, 0px);
  opacity: 0;
  transition-duration: 200ms;
}

.sec-app .apply-details .btn-venue:hover .icon-secondary img {
  transform: translate(0px, 0px);
  opacity: 1;
  transition-delay: 200ms;
  transition-duration: 200ms;
}

.btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  position: relative;
  width: 26px;
  max-width: 100%;
  height: 26px;
  overflow: visible;
  padding: 0px;
  border-radius: 50%;
  transform: scale(1, 1);
  flex: none;
  flex-wrap: nowrap;
  mix-blend-mode: normal;
}

.btn-icon .icon {
  position: relative;
  max-width: 100%;
  height: auto;
  margin: 0 0 0 0;
  flex: none;
  transition-duration: 0ms;
  transition-timing-function: cubic-bezier(0.55, 0.05, 0.22, 0.99);
}

.icon-secondary {
  align-items: center;
  justify-content: center;
  flex-direction: row;
  position: absolute;
  width: 100%;
  max-width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: 2;
  inset: 0px;
  flex: none;
  flex-wrap: nowrap;
}

.btn-icon .icon-secondary .icon {
  max-width: 100%;
  height: auto;
  transform: translate(-10px, 0px);
  flex: none;
  opacity: 0;
  transition-duration: 0ms;
  transition-timing-function: cubic-bezier(0.55, 0.05, 0.22, 0.99);
}

.btn-appear {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
  margin: 0 0 0 0;
  border-radius: 50%;
  z-index: 1;
  flex: none;
  mix-blend-mode: normal;
  transition-duration: 400ms;
  transition-timing-function: cubic-bezier(0.55, 0.05, 0.22, 0.99);
  background-color: var(--clr-neutral-100);
}

.button-wrapper {
  display: flex;
  align-items: center;
  max-width: 100%;
  padding: 0px;
  z-index: 2;
  flex-wrap: nowrap;
}

.sec-app .apply-details .app-notice {
  color: var(--clr-red-400);
}

.sec-app .consent-wrap {
  margin-top: 50px;
  padding: 40px;
  border-radius: 10px;
  background-color: var(--clr-neutral-200);
}

.sec-app .consent-wrap h5 {
  padding-bottom: 10px;
  font-size: 16px;
}

.sec-app .consent-wrap .consent-inner {
  line-height: 2;
  font-size: 14px;
}

.sec-app .consent-wrap .consent-inner li {
  position: relative;
  padding-left: 15px;
}

.sec-app .consent-wrap .consent-inner li::before {
  display: block;
  position: absolute;
  top: 13px;
  left: 7px;
  width: 4px;
  border-radius: 100vw;
  content: '';
  aspect-ratio: 1;
  background-color: currentColor;
}

.sec-app .consent-wrap .consent-inner li.result {
  margin-top: 28px;
  padding-left: 0;
}

.sec-app .consent-wrap .consent-inner li.result::before {
  top: 0;
  left: 0;
  width: 0px;
}

.sec-app .consent-wrap .consent-inner li span {
  display: inline-block;
  position: relative;
  line-height: 1.5;
  padding-left: 18px;
}

.sec-app .consent-wrap .consent-inner li span::before {
  display: block;
  position: absolute;
  top: 5px;
  left: 4px;
  width: 13px;
  content: '';
  aspect-ratio: 1;
  background-color: currentColor;
}

.sec-app .consent-wrap .consent-link {
  color: var(--clr-blue-300);
  text-decoration: underline;
}

footer {
  position: relative;
  color: var(--clr-neutral-100);
  padding-block: 36px;
  background-color: var(--clr-green-700);
}

footer .page-inner {
  background-color: var(--clr-yellow-200);
}

footer .pagetop-btn {
  position: absolute;
  top: -120px;
  right: 40px;
  transition: transform .6s;
}

footer .privacy-link {
  color: var(--clr-neutral-100);
}

footer .privacy-link:hover {
  opacity: 0.7;
}

@media(hover: hover) {
  footer .pagetop-btn:hover {
    transform: translateY(-10px);
    cursor: pointer;
  }
}

footer .footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}

footer .footer-inner p {
  line-height: 1.5;
}

.sec-app .apply-details .btn-venue[aria-disabled="true"] {
  opacity: 0.38;
  pointer-events: none;
}

.sec-app .apply-details .cmn-venue-txt {
  line-height: 1.25;
  padding-top: 10px;
  color: var(--clr-red-400);
  font-size: 14px;
}

.sec-app .apply-details .click-venue-btn .btn-block {
  min-width: max-content;
}

@media (max-width: 1280px) {
  .sec-mv {
    grid-template-columns: 1fr 25.156vw;
  }

  .sec-mv .mv-l {
    padding: 4.688vw 6.25vw;
  }

  .sec-mv .mv-ttl>img {
    width: 30.156vw;
  }

  .sec-mv .mv-logos>img {
    width: 15.469vw;
  }

  .sec-mv .mv-r {
    padding: 2.344vw 3.125vw;
  }

  .sec-mv .mv-r p {
    margin-top: 2.344vw;
    font-size: 1.094vw;
  }

  .sec-mv .mv-l::after {
    height: 2.188vw;
  }
}

@media (max-width: 1100px) {
  .sec-place .map-list .date {
    font-size: 20px;
  }
}

@media (max-width: 980px) {
  .sec-place .map-wrap {
    flex-direction: column;
    gap: 0px;
  }

  .sec-place .map-inner {
    padding-inline: 20px;
  }

  .sec-place .map-list .date {
    font-size: 24px;
  }

  .sec-place .tokyo-wrap {
    padding-bottom: 60px;
    border-bottom: 2px dashed var(--clr-border);
  }

  .sec-place .osaka-wrap {
    padding-top: 60px;
  }

  .sec-app .app-inner {
    padding: 60px 20px 40px 20px;
  }

  .sec-app .consent-wrap {
    padding: 40px 20px;
  }

}

@media (max-width: 767.9px) {
  .sec-info .target-info .target-3-col {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 600px) {
  .pcnone {
    display: block;
  }

  .spnone {
    display: none;
  }

  .sec-wrap {
    --padding: 40px;
  }

  .main-header {
    padding: 4.615vw 5.128vw;
  }

  .main-header img {
    width: 29.744vw;
  }

  .sec-mv {
    display: block;
  }

  .sec-mv .mv-l {
    padding: 15.385vw 5.128vw 61.026vw;
    border-bottom: 1px solid #00783A;
    background-image: url('../img/img_mv_bg_sp.svg');
    background-position: right -7.179vw;
  }

  .sec-mv .mv-l::before {
    display: none;
  }

  .sec-mv .mv-l::after {
    height: 7.179vw;
  }

  .sec-mv .mv-l-inner {
    gap: 10.256vw;
  }

  .sec-mv .mv-ttl>img {
    width: 100%;
  }

  .sec-mv .mv-logos>img {
    width: 50.769vw;
  }

  .sec-mv .mv-bg>img {
    width: 100vw;
  }

  .sec-mv .mv-r {
    padding: 10.256vw 15.385vw 15.385vw;
  }

  .sec-mv .mv-r p {
    margin-top: 7.692vw;
    font-size: 3.59vw;
  }

  .wrapper-inner {
    padding: 60px 20px;
  }

  .sec-place .map-detail {
    padding: 20px 0 0;
  }

  .sec-place .map-detail .detail-ttl {
    margin-bottom: 13px;
  }

  .sec-place .map-detail .detail-ttl+dd {
    gap: 20px;
  }

  .sec-place .map-list {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .sec-place .map-detail dl.venue {
    display: grid;
    grid-template-columns: 64px 1fr;
    gap: 20px;
  }

  .sec-place .map-inner {
    padding-inline: 0;
  }

  .sec-place .map-list .date {
    font-size: 22px;
  }

  .sec-place .time-announce {
    font-size: 15px;
  }

  .sec-info .info-card .info-ttl {
    padding: 20px;
    font-size: 20px;
  }

  .sec-info .info-card .info-ttl::after {
    right: 20px;
  }

  .sec-info .info-card .info-content {
    padding: 36px 20px;
  }

  .sec-info .info-card .info-ttl::after {
    width: 78px;
  }

  .sec-info .menu-info .info-ttl::after {
    width: 52px;
  }

  .sec-app .app-details .app-sub-ttl h4 {
    font-size: 20px;
  }

  .sec-app .apply-details .btn-venue {
    padding: 15px 20px;
  }

  .warning {
    padding: 40px 20px;
  }

  footer .pagetop-btn {
    right: 20px;
  }

  .sec-info .group-info .group-2-col {
    grid-template-columns: 1fr;
  }

  .sec-app .consent-wrap .consent-inner li span::before {
    top: 5px;
    left: 0px;
    width: 11px;
  }

  .sec-app .consent-wrap .consent-inner li span {
    padding-left: 11px;
  }
}

@media (max-width: 389.9px) {
  body {
    font-size: 4.103vw;
  }

  .sec-wrap {
    --padding: 10.256vw;
  }

  .sec-ttl {
    padding-bottom: 2.564vw;
    font-size: 7.179vw;
  }

  .sec-sub-ttl {
    margin-bottom: 14.872vw;
    padding-bottom: 2.564vw;
    font-size: 9.231vw;
  }

  .sec-sub-ttl::after {
    width: 20.513vw;
  }

  .sec-padding {
    padding-block: 20.513vw;
  }

  .wrapper-inner {
    padding: 15.385vw 5.128vw;
  }

  .sec-place .wrapper-inner .sec-sub-ttl {
    margin-bottom: 10.256vw;
  }

  .sec-place .map-ttl {
    padding: 2.308vw 4.103vw;
  }

  .sec-place .map-ttl img {
    width: 26.667vw;
  }

  .sec-place .map-list .date {
    font-size: 5.641vw;
  }

  .sec-place .map-detail .detail-ttl {
    margin-bottom: 3.333vw;
    padding-left: 4.103vw;
  }

  .sec-place .map-detail .detail-ttl::before {
    top: 1.282vw;
    width: 3.333vw;
  }

  .sec-place .map-detail .detail-ttl+dd {
    gap: 5.128vw;
  }

  .sec-place .map-list p:has(a) {
    margin-top: 5.128vw;
  }

  .sec-place .map-wrap {
    gap: 10.256vw;
  }

  .sec-place .map-wrap {
    margin-top: 15.385vw;
    gap: 0px;
  }

  .sec-place .tokyo-wrap {
    padding-bottom: 15.385vw;
  }

  .sec-place .osaka-wrap {
    padding-top: 15.385vw;
  }

  .sec-place .time-announce {
    margin-top: 10.256vw;
    font-size: 3.846vw;
  }

  .sec-info .info-card {
    padding-top: 2.308vw;
  }

  .sec-info .info-card+.info-card {
    margin-top: 15.385vw;
  }

  .sec-place .place-inner .sec-sub-ttl {
    margin-bottom: 8.974vw;
  }

  .sec-place .map-detail {
    padding: 5.128vw 0 0;
  }

  .sec-place .map-detail dl.venue {
    grid-template-columns: 16.41vw 1fr;
    gap: 5.128vw;
  }

  .sec-info .info-card .info-ttl {
    padding: 5.128vw;
    font-size: 5.128vw;
  }

  .sec-info .info-card .info-ttl::after {
    width: 20vw;
  }

  .sec-info .info-card .info-ttl h4 {
    padding-left: 8.718vw;
  }

  .sub-ttl h4::before {
    top: 1.538vw;
    width: 6.154vw;
  }

  .sec-info .info-card .info-content {
    padding: 9.231vw 5.128vw;
  }

  .sec-info .card {
    padding: 7.692vw 5.128vw 6.154vw;
  }

  .sec-info .info-card .card .txt {
    padding-inline: 2.564vw;
  }

  .sec-info .info-card.menu-info {
    padding-top: 5.897vw;
  }

  .sec-info .menu-info .info-ttl::after {
    width: 13.333vw;
  }

  .sec-info .menu-info .proposal {
    margin-top: 7.692vw;
  }

  .sec-info .menu-info h5 {
    font-size: 4.615vw;
  }

  .sec-info .menu-info ul {
    margin-top: 3.59vw;
    margin-inline: 2.564vw;
    gap: 5.128vw;
  }

  .sec-info .menu-info ul li {
    padding-inline: 8.974vw 5.128vw;
  }

  .sec-info .menu-info ul li::before {
    left: 5.128vw;
    width: 2.564vw;
    height: 2.564vw;
  }

  .sec-info .group-info h5,
  .sec-info .target-info h5 {
    margin-bottom: 5.128vw;
    font-size: 4.615vw;
  }

  .pill {
    padding-block: 2.564vw;
  }

  .warning {
    margin-top: 15.385vw;
    padding: 10.256vw 5.128vw;
  }

  .warning p+p {
    margin-top: 2.564vw;
    font-size: 3.59vw;
  }

  .sec-app {
    padding: 20.513vw 0 46.154vw;
  }


  .sec-app .app-details .app-sub-ttl h4 {
    margin-bottom: 8.718vw;
    padding-bottom: 5.128vw;
    padding-left: 8.718vw;
    font-size: 5.128vw;
  }

  .sec-app .app-deadline {
    margin-bottom: 15.385vw;
  }

  .sec-app .apply-details .btn-venue {
    padding: 3.846vw 5.128vw;
    font-size: 4.615vw;
  }

  .btn-icon {
    width: 6.667vw;
    height: 6.667vw;
  }

  .btn-icon .icon-secondary .icon {
    width: 6.667vw;
    height: 6.667vw;
  }

  .sec-app .apply-details .btn-link {
    gap: 1.282vw;
  }

  .sec-app .consent-wrap {
    margin-top: 12.821vw;
    padding: 10.256vw 5.128vw;
  }

  .sec-app .apply-details .click-venue-btn {
    margin: 7.692vw 0 10.256vw 0;
    gap: 5.128vw;
  }

  .sec-app .consent-wrap .consent-inner {
    font-size: 3.59vw;
  }

  .sec-app .consent-wrap .consent-inner li span::before {
    top: 1.282vw;
    left: 0vw;
    width: 2.821vw;
  }

  .sec-app .consent-wrap .consent-inner li span {
    padding-left: 2.821vw;
  }

  .sec-app .consent-wrap .consent-inner li::before {
    top: 3.333vw;
    left: 1.795vw;
    width: 1.026vw;
  }

  .sec-app .consent-wrap .consent-inner li {
    padding-left: 3.846vw;
  }

  .sec-app .consent-wrap h5 {
    padding-bottom: 2.564vw;
    font-size: 4.103vw;
  }

  .sec-app .consent-wrap .consent-inner li.result {
    margin-top: 7.179vw;
  }

  .btn-icon .icon {
    width: 3.59vw;
    height: 3.077vw;
  }

  .btn-icon .icon-secondary .icon {
    width: 3.59vw;
    height: 3.077vw;
  }

  .sec-place .map-list {
    grid-template-columns: 1fr;
    gap: 1.282vw;
  }

  .sec-place .map-list:first-of-type dt {
    margin-top: 1.282vw;
  }

  footer {
    padding-block: 9.231vw;
  }

  footer .pagetop-btn {
    top: -30.769vw;
  }

  footer .pagetop-btn img {
    width: 14.359vw;
  }

  .sec-app .apply-details .cmn-venue-txt {
    padding-top: 2.564vw;
    font-size: 3.59vw;
  }

}