@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&display=swap");
/* Reset 
----------------------------------------*/
html {
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
  word-break: normal;
}

*,
:after,
:before {
  background-repeat: no-repeat;
  box-sizing: inherit;
}

:after,
:before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  margin: 0;
  padding: 0;
}

hr {
  color: inherit;
  height: 0;
  overflow: visible;
}

details,
main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline-width: 0;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b,
strong {
  font-weight: bolder;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  text-indent: 0;
}

iframe {
  border-style: none;
}

input {
  border-radius: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

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

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[role=button],
[type=button],
[type=reset],
[type=submit],
button {
  cursor: pointer;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset],
[type=submit],
button,
html [type=button] {
  -webkit-appearance: button;
}

button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

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

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

[disabled] {
  cursor: default;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

/* Base
----------------------------------------*/
:root {
  --font-ja: "Noto Sans JP", sans-serif;
  --font-en: "Jost", sans-serif;
  --color-japan-gray: #E6E6E6;
  --color-taiwan-green: #DAFF43;
}

body {
  margin: 0;
  font-family: var(--font-ja);
  font-size: min(1.1111111111vw, 16px);
  font-weight: normal;
  color: #000;
  background: #fff;
}
@media (max-width: 767px) {
  body {
    font-size: min(3.5897435897vw, 14px);
  }
}

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

ul, ol {
  margin: 0;
  list-style: none;
}

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

a {
  text-decoration: none;
  color: currentColor;
}

em {
  font-style: normal;
}

small {
  font-size: 1em;
}

/*----------------------------------------
  Layout
----------------------------------------*/
/* ページ全体の背景
----------------------------------------*/
.l-wrapper {
  overflow: hidden;
  position: relative;
  z-index: 0;
  background: linear-gradient(to right, var(--color-japan-gray) 50%, var(--color-taiwan-green) 50%);
}
.l-wrapper::before {
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  content: "";
  width: min(24.0277777778vw, 346px);
  background: #fff;
}
@media (max-width: 767px) {
  .l-wrapper::before {
    width: min(40vw, 156px);
  }
}

.l-container {
  max-width: min(83.3333333333vw, 1200px);
  margin-inline: auto;
  box-sizing: content-box;
  padding: 0 min(2.7777777778vw, 40px);
}
@media (max-width: 767px) {
  .l-container {
    max-width: min(164.1025641026vw, 640px);
    padding: 0 min(5.1282051282vw, 20px);
  }
}

/* フッター
----------------------------------------*/
.l-footer {
  margin-top: min-cp(200);
}
@media (max-width: 767px) {
  .l-footer {
    margin-top: min(25.641025641vw, 100px);
  }
}
.l-footer__sns {
  display: flex;
  justify-content: center;
  gap: min(0.6944444444vw, 10px);
}
@media (max-width: 767px) {
  .l-footer__sns {
    gap: min(2.5641025641vw, 10px);
  }
}
.l-footer__sns li {
  width: min(11.1111111111vw, 160px);
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (max-width: 767px) {
  .l-footer__sns li {
    width: min(16.4102564103vw, 64px);
  }
}
.l-footer__sns li span {
  font-size: min(0.9722222222vw, 14px);
  line-height: 1.48;
  text-align: center;
  transition: opacity 0.3s;
}
@media (max-width: 767px) {
  .l-footer__sns li span {
    font-size: min(2.5641025641vw, 10px);
  }
}
.l-footer__sns li:has(.l-footer__link:hover) span {
  opacity: 0.2;
}
.l-footer__link {
  width: min(4.1666666667vw, 60px);
  aspect-ratio: 1/1;
  transition: opacity 0.3s;
}
@media (max-width: 767px) {
  .l-footer__link {
    width: min(9.2307692308vw, 36px);
  }
}
.l-footer__link:hover {
  opacity: 0.2;
}
.l-footer__bottom {
  margin-top: calc(min(5.5555555556vw, 80px) - 1px);
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  padding: min(0.6944444444vw, 10px) 0 min(1.3888888889vw, 20px);
}
@media (max-width: 767px) {
  .l-footer__bottom {
    margin-top: calc(min(10.2564102564vw, 40px) - 1px);
    padding-top: min(2.5641025641vw, 10px) 0 min(5.1282051282vw, 20px);
  }
}
.l-footer__copyright {
  font-family: var(--font-en);
  font-size: min(0.9722222222vw, 14px);
  line-height: 1.8;
  letter-spacing: 0.1em;
  text-align: center;
}
@media (max-width: 767px) {
  .l-footer__copyright {
    font-size: min(3.0769230769vw, 12px);
  }
}

/*----------------------------------------
  Component
----------------------------------------*/
/* セクション見出し
----------------------------------------*/
.c-section-title {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: min(0.9722222222vw, 14px);
  width: -moz-fit-content;
  width: fit-content;
  padding: min(4.3055555556vw, 62px) 0 min(2.7777777778vw, 40px) min(5.1388888889vw, 74px);
}
@media (max-width: 767px) {
  .c-section-title {
    gap: min(1.7948717949vw, 7px);
    padding: min(7.9487179487vw, 31px) 0 min(5.1282051282vw, 20px) min(9.4871794872vw, 37px);
  }
}
.c-section-title::before {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  background: var(--color-taiwan-green);
  transition: width 0.5s;
}
.c-section-title[data-scroll-anima=true]::before {
  width: min(2.3611111111vw, 34px);
}
@media (max-width: 767px) {
  .c-section-title[data-scroll-anima=true]::before {
    width: min(4.358974359vw, 17px);
  }
}
.c-section-title__en {
  font-family: var(--font-en);
  font-size: min(5.5555555556vw, 80px);
  font-weight: normal;
  line-height: 1;
  text-transform: uppercase;
}
@media (max-width: 767px) {
  .c-section-title__en {
    font-size: min(10.2564102564vw, 40px);
  }
}
.c-section-title__ja {
  font-size: min(1.6666666667vw, 24px);
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .c-section-title__ja {
    font-size: min(3.0769230769vw, 12px);
  }
}

.c-section-heading {
  position: relative;
  padding-bottom: min(0.9722222222vw, 14px);
  font-size: min(2.0833333333vw, 30px);
  font-weight: bold;
  line-height: 1.8;
  text-align: center;
}
@media (max-width: 767px) {
  .c-section-heading {
    padding-bottom: min(2.0512820513vw, 8px);
    font-size: min(4.6153846154vw, 18px);
  }
}
.c-section-heading::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  content: "";
  width: min(2.7777777778vw, 40px);
  height: min(0.2777777778vw, 4px);
}
@media (max-width: 767px) {
  .c-section-heading::after {
    width: min(6.1538461538vw, 24px);
    height: min(0.5128205128vw, 2px);
  }
}
.c-section-heading[data-line-color=green]::after {
  background: var(--color-taiwan-green);
}
.c-section-heading[data-line-color=gray]::after {
  background: #4E4E4E;
}

/* 外部リンクボタン
----------------------------------------*/
.c-button {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(1.3888888889vw, 20px);
  font-size: min(1.25vw, 18px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  background: #fff;
  border: 1px solid #000;
  transition: color 0.5s;
}
@media (max-width: 767px) {
  .c-button {
    gap: min(3.8461538462vw, 15px);
    font-size: min(3.5897435897vw, 14px);
  }
}
.c-button::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  background: #000;
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  transition: clip-path 0.5s;
}
.c-button i {
  display: block;
  aspect-ratio: 1/1;
  background: currentColor;
  -webkit-mask: url(../images/icon_link-out.svg) no-repeat center/contain;
          mask: url(../images/icon_link-out.svg) no-repeat center/contain;
}
.c-button:hover {
  color: #fff;
}
.c-button:hover::before {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}

/*----------------------------------------
  Project
----------------------------------------*/
/* キービジュアル
----------------------------------------*/
.p-kv {
  position: relative;
  max-width: min(100vw, 1440px);
  height: min(62.5vw, 900px);
  margin: 0 auto;
}
@media (max-width: 767px) {
  .p-kv {
    max-width: none;
    height: min(171.0256410256vw, 667px);
  }
}
.p-kv-title {
  position: absolute;
  z-index: 1;
  top: min(1.6666666667vw, 24px);
  left: 50%;
  translate: -50% 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(1.5972222222vw, 23px);
  width: 100%;
  font-family: var(--font-en);
  font-weight: 500;
  text-align: center;
}
@media (max-width: 767px) {
  .p-kv-title {
    top: min(6.1538461538vw, 24px);
    flex-direction: column;
    gap: 0;
  }
}
.p-kv-title__year {
  margin-top: max(-1.6666666667vw, -24px);
  font-size: min(3.3333333333vw, 48px);
}
@media (max-width: 767px) {
  .p-kv-title__year {
    font-size: min(5.1282051282vw, 20px);
  }
}
.p-kv-title__main {
  font-size: min(6.5277777778vw, 94px);
}
@media (max-width: 767px) {
  .p-kv-title__main {
    font-size: min(9.7435897436vw, 38px);
    line-height: 1.1;
  }
}
.p-kv-title__place {
  display: flex;
  gap: min(0.4166666667vw, 6px);
  font-size: min(4.8611111111vw, 70px);
  font-weight: normal;
}
@media (max-width: 767px) {
  .p-kv-title__place {
    font-size: min(7.1794871795vw, 28px);
  }
}
.p-kv__content {
  position: absolute;
  z-index: 1;
  left: min(2.2222222222vw, 32px);
  bottom: 0;
  display: flex;
  flex-direction: column;
  gap: min(2.3611111111vw, 34px);
}
@media (max-width: 767px) {
  .p-kv__content {
    left: initial;
    right: min(5.1282051282vw, 20px);
  }
}
.p-kv__info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: min(1.3888888889vw, 20px);
}
@media (max-width: 767px) {
  .p-kv__info {
    gap: min(2.5641025641vw, 10px);
  }
}
.p-kv-schedule__year {
  font-family: var(--font-en);
  font-size: min(2.5vw, 36px);
  line-height: 1;
}
@media (max-width: 767px) {
  .p-kv-schedule__year {
    font-size: min(4.6153846154vw, 18px);
  }
}
.p-kv-schedule__date {
  margin-top: min(0.8333333333vw, 12px);
  display: flex;
  flex-direction: column;
  gap: min(4.7222222222vw, 68px);
}
@media (max-width: 767px) {
  .p-kv-schedule__date {
    margin-top: min(1.5384615385vw, 6px);
    flex-direction: row;
    gap: min(11.2820512821vw, 44px);
  }
}
.p-kv-schedule__from, .p-kv-schedule__to {
  font-size: min(1.5277777778vw, 22px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media (max-width: 767px) {
  .p-kv-schedule__from, .p-kv-schedule__to {
    margin-top: min(1.5384615385vw, 6px);
    font-size: min(2.8205128205vw, 11px);
  }
}
.p-kv-schedule__from span, .p-kv-schedule__to span {
  margin-right: min(0.8333333333vw, 12px);
  font-family: var(--font-en);
  font-size: 2.8181818182em;
  font-weight: 300;
}
@media (max-width: 767px) {
  .p-kv-schedule__from span, .p-kv-schedule__to span {
    margin-right: min(1.5384615385vw, 6px);
  }
}
.p-kv-schedule__from {
  position: relative;
}
.p-kv-schedule__from::after {
  content: "";
  position: absolute;
  bottom: max(-0.4861111111vw, -7px);
  left: 50%;
  translate: -50% 100%;
  width: min(1.4583333333vw, 21px);
  aspect-ratio: 21/51;
  background: url(../images/icon_arrow_down.svg) no-repeat center/contain;
}
@media (max-width: 767px) {
  .p-kv-schedule__from::after {
    bottom: 0;
    left: initial;
    right: max(-3.5897435897vw, -14px);
    translate: 100% 0;
    width: min(2.5641025641vw, 10px);
    rotate: -90deg;
  }
}
.p-kv__place {
  font-size: min(1.8055555556vw, 26px);
  font-weight: 500;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .p-kv__place {
    font-size: min(3.3333333333vw, 13px);
  }
}
.p-kv__img {
  overflow: hidden;
  position: absolute;
  top: max(-8.3333333333vw, -120px);
  left: 50%;
  translate: -50% 0;
  width: min(72.7777777778vw, 1048px);
  height: min(85.625vw, 1233px);
}
@media (max-width: 767px) {
  .p-kv__img {
    top: min(14.8717948718vw, 58px);
    width: min(100vw, 390px);
    height: auto;
  }
}
.p-kv__img svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: min(102.5vw, 1476px);
  transition: opacity 1s;
}
@media (max-width: 767px) {
  .p-kv__img svg {
    height: min(140.7692307692vw, 549px);
  }
}
.p-kv.is-load .p-kv__img svg {
  opacity: 0;
}
.p-kv__img img {
  opacity: 0;
  transition: opacity 1s;
}
.p-kv.is-load .p-kv__img img {
  opacity: 1;
}
.p-kv #knot path {
  stroke: #A3A3A3;
  stroke-opacity: 0;
}
.p-kv #knot.is-drawing path {
  stroke-opacity: 1;
}
.p-kv__sponsor {
  width: min(14.2361111111vw, 205px);
}
@media (max-width: 767px) {
  .p-kv__sponsor {
    width: min(31.5384615385vw, 123px);
  }
}
.p-kv [data-kv-anima] {
  transition: opacity 1s 1s;
  opacity: 0;
}
.p-kv [data-kv-anima=true] {
  opacity: 1;
}

/* ナビゲーション
----------------------------------------*/
.l-nav {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: min(3.125vw, 45px);
  translate: 0 -50%;
}
@media (max-width: 767px) {
  .l-nav {
    display: none;
  }
}
.l-nav__list {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: min(0.6944444444vw, 10px);
}
.l-nav__link {
  position: relative;
  font-family: var(--font-en);
  font-size: min(2.0833333333vw, 30px);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  text-transform: uppercase;
}
.l-nav__link::before {
  position: absolute;
  top: 50%;
  left: max(-1.875vw, -27px);
  translate: 0 -50%;
  content: "";
  width: min(0.4861111111vw, 7px);
  aspect-ratio: 1/1;
  background-color: currentColor;
  opacity: 0;
  transition: opacity 0.3s;
}
.l-nav__link:hover::before, .l-nav__link.--current::before {
  opacity: 1;
}
.l-nav__link[aria-disabled] {
  opacity: 0.2;
  pointer-events: none;
}

/* コンセプト
----------------------------------------*/
.p-concept {
  position: relative;
  margin: min(10.0694444444vw, 145px) 0 min(8.4722222222vw, 122px);
}
@media (max-width: 767px) {
  .p-concept {
    margin: min(18.4615384615vw, 72px) 0 min(15.641025641vw, 61px);
  }
}
.p-concept::before, .p-concept::after {
  position: absolute;
  z-index: -1;
  content: "";
  background: #000;
  -webkit-mask-image: url(../images/parts_knot.svg);
          mask-image: url(../images/parts_knot.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: min(65.2777777778vw, 940px) min(91.9444444444vw, 1324px);
          mask-size: min(65.2777777778vw, 940px) min(91.9444444444vw, 1324px);
}
@media (max-width: 767px) {
  .p-concept::before, .p-concept::after {
    display: none;
  }
}
.p-concept::before {
  top: min(1.9444444444vw, 28px);
  right: calc(50% + min(12.0833333333vw, 174px));
  width: min(57.7777777778vw, 832px);
  aspect-ratio: 832/962;
  background: #fff;
  -webkit-mask-position: left bottom;
          mask-position: left bottom;
}
.p-concept::after {
  top: min(4.375vw, 63px);
  left: calc(50% + min(12.0833333333vw, 174px));
  width: min(57.2916666667vw, 825px);
  aspect-ratio: 825/1020;
  background: #BFE524;
  -webkit-mask-position: right bottom;
          mask-position: right bottom;
}
.p-concept__content {
  position: relative;
  max-width: min(55.5555555556vw, 800px);
  margin: 0 auto;
  padding: min(6.25vw, 90px) min(5.5555555556vw, 80px);
  background: #fff;
}
@media (max-width: 767px) {
  .p-concept__content {
    max-width: min(102.5641025641vw, 400px);
    width: 94%;
    padding: min(11.5384615385vw, 45px) min(7.6923076923vw, 30px);
  }
}
.p-concept__content::before, .p-concept__content::after {
  position: absolute;
  content: "";
  width: min(8.3333333333vw, 120px);
  height: min(41.9444444444vw, 604px);
}
@media (max-width: 767px) {
  .p-concept__content::before, .p-concept__content::after {
    width: min(15.3846153846vw, 60px);
    height: min(76.9230769231vw, 300px);
  }
}
.p-concept__content::before {
  top: max(-3.4722222222vw, -50px);
  left: 0;
  translate: -100% 0;
  background: var(--color-taiwan-green);
}
@media (max-width: 767px) {
  .p-concept__content::before {
    top: max(-6.4102564103vw, -25px);
  }
}
.p-concept__content::after {
  bottom: max(-3.4722222222vw, -50px);
  right: 0;
  translate: 100% 0;
  background: var(--color-japan-gray);
}
@media (max-width: 767px) {
  .p-concept__content::after {
    bottom: max(-6.4102564103vw, -25px);
  }
}
.p-concept__title {
  font-size: min(2.0833333333vw, 30px);
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
}
@media (max-width: 767px) {
  .p-concept__title {
    font-size: min(4.6153846154vw, 18px);
  }
}
.p-concept-country {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(2.0833333333vw, 30px);
  font-size: min(2.3611111111vw, 34px);
  font-weight: 600;
  line-height: 2;
  letter-spacing: 0.4em;
  text-align: center;
}
@media (max-width: 767px) {
  .p-concept-country {
    gap: min(4.6153846154vw, 18px);
    font-size: min(5.1282051282vw, 20px);
  }
}
.p-concept-country__times {
  position: relative;
  width: min(3.3333333333vw, 48px);
  height: min(3.3333333333vw, 48px);
  margin-left: -0.2em;
}
@media (max-width: 767px) {
  .p-concept-country__times {
    width: min(6.1538461538vw, 24px);
    height: min(6.1538461538vw, 24px);
  }
}
.p-concept-country__times::before, .p-concept-country__times::after {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  content: "";
  width: 100%;
  height: min(0.1388888889vw, 2px);
  background: currentColor;
}
.p-concept-country__times::before {
  rotate: -45deg;
}
.p-concept-country__times::after {
  rotate: 45deg;
}
.p-concept__text {
  margin-top: min(2.0833333333vw, 30px);
  line-height: 2.6;
  letter-spacing: 0.05em;
  text-align: center;
}
@media (max-width: 767px) {
  .p-concept__text {
    margin-top: min(5.1282051282vw, 20px);
    text-align: left;
  }
}
.p-concept__text p + p {
  margin-top: min(1.3888888889vw, 20px);
}
@media (max-width: 767px) {
  .p-concept__text p + p {
    margin-top: 1em;
  }
}

/* 開催概要
----------------------------------------*/
.p-event {
  margin: min(8.4722222222vw, 122px) 0 min(12.5vw, 180px);
}
@media (max-width: 767px) {
  .p-event {
    margin: min(15.641025641vw, 61px) 0 min(23.0769230769vw, 90px);
  }
}

.p-event-access {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: min(5.5555555556vw, 80px);
}
@media (max-width: 767px) {
  .p-event-access {
    flex-direction: column;
    gap: min(10.2564102564vw, 40px);
    margin-top: min(10.2564102564vw, 40px);
  }
}
.p-event-access__title {
  font-family: var(--font-en);
  font-size: min(2.5vw, 36px);
  font-weight: normal;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
@media (max-width: 767px) {
  .p-event-access__title {
    font-size: min(5.641025641vw, 22px);
  }
}
.p-event-access__title span {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: min(0.5555555556vw, 8px);
  padding: min(0.1388888889vw, 2px) min(1.0416666667vw, 15px);
  font-family: var(--font-ja);
  font-size: min(1.3888888889vw, 20px);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  background: #fff;
}
@media (max-width: 767px) {
  .p-event-access__title span {
    margin-bottom: min(1.2820512821vw, 5px);
    padding: min(0.5128205128vw, 2px) min(2.3076923077vw, 9px);
    font-size: min(3.0769230769vw, 12px);
  }
}
.p-event-access__data {
  line-height: 1.8;
  margin-top: min(1.3888888889vw, 20px);
}
@media (max-width: 767px) {
  .p-event-access__data {
    margin-top: min(3.8461538462vw, 15px);
  }
}
.p-event-access__data dt {
  font-weight: bold;
}
.p-event-access__data dd {
  margin-top: min(0.3472222222vw, 5px);
}
@media (max-width: 767px) {
  .p-event-access__data dd {
    margin-top: min(1.2820512821vw, 5px);
  }
}
.p-event-access__data dd + dt {
  margin-top: min(1.25vw, 18px);
}
@media (max-width: 767px) {
  .p-event-access__data dd + dt {
    margin-top: 1em;
  }
}
.p-event-access__button {
  margin-top: min(3.4722222222vw, 50px);
  height: min(6.5972222222vw, 95px);
}
@media (max-width: 767px) {
  .p-event-access__button {
    height: min(12.3076923077vw, 48px);
    margin-top: min(7.6923076923vw, 30px);
  }
}
.p-event-access__button i {
  width: min(1.6666666667vw, 24px);
}
@media (max-width: 767px) {
  .p-event-access__button i {
    width: min(4.6153846154vw, 18px);
  }
}
.p-event-access__map {
  width: min(43.0555555556vw, 620px);
  aspect-ratio: 620/460;
}
@media (max-width: 767px) {
  .p-event-access__map {
    width: 100%;
  }
}
.p-event-access__map iframe {
  width: 100%;
  height: 100%;
}

.p-event-expo {
  margin-top: min(6.9444444444vw, 100px);
  padding: min(4.1666666667vw, 60px) min(5.5555555556vw, 80px) min(5.5555555556vw, 80px);
  color: #fff;
  background: #4E4E4E;
  border-bottom: min(1.0416666667vw, 15px) solid var(--color-taiwan-green);
}
@media (max-width: 767px) {
  .p-event-expo {
    margin-top: min(12.8205128205vw, 50px);
    padding: min(7.6923076923vw, 30px) min(10.2564102564vw, 40px) min(10.2564102564vw, 40px);
    border-width: min(3.0769230769vw, 12px);
  }
}
.p-event-expo__content {
  margin-top: min(4.1666666667vw, 60px);
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .p-event-expo__content {
    margin-top: min(7.6923076923vw, 30px);
    flex-direction: column-reverse;
    gap: min(7.6923076923vw, 30px);
  }
}
.p-event-expo__body {
  max-width: min(37.9166666667vw, 546px);
}
@media (max-width: 767px) {
  .p-event-expo__body {
    max-width: none;
  }
}
.p-event-expo__body h4 {
  font-size: min(1.8055555556vw, 26px);
  font-weight: 600;
  line-height: 2.2;
  letter-spacing: 0.05em;
}
@media (max-width: 767px) {
  .p-event-expo__body h4 {
    font-size: min(4.1025641026vw, 16px);
  }
}
.p-event-expo__body p {
  line-height: 2.4;
}
.p-event-expo__img {
  width: min(27.9166666667vw, 402px);
}
@media (max-width: 767px) {
  .p-event-expo__img {
    width: 100%;
  }
}
.p-event-expo__img figcaption {
  margin-top: min(0.6944444444vw, 10px);
  font-size: min(0.9722222222vw, 14px);
  line-height: 1.8;
  text-align: right;
}
@media (max-width: 767px) {
  .p-event-expo__img figcaption {
    margin-top: min(2.0512820513vw, 8px);
    font-size: min(3.0769230769vw, 12px);
  }
}

.p-event-company {
  margin-top: min(3.4722222222vw, 50px);
  padding: min(4.1666666667vw, 60px) min(5.5555555556vw, 80px) min(5.5555555556vw, 80px);
  background: #fff;
  border-bottom: min(1.0416666667vw, 15px) solid var(--color-taiwan-green);
}
@media (max-width: 767px) {
  .p-event-company {
    margin-top: min(8.9743589744vw, 35px);
    padding: 0 min(10.2564102564vw, 40px) min(10.2564102564vw, 40px);
    border-width: min(3.0769230769vw, 12px);
  }
}
.p-event-company__content {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: min(5.4166666667vw, 78px);
}
@media (max-width: 767px) {
  .p-event-company__content {
    grid-template-columns: auto;
    justify-items: center;
    gap: 0;
  }
}
.p-event-company__logo {
  order: -1;
  width: min(21.3888888889vw, 308px);
}
@media (max-width: 767px) {
  .p-event-company__logo {
    width: min(59.2307692308vw, 231px);
  }
}
.p-event-company__body h4 {
  font-size: min(1.8055555556vw, 26px);
  font-weight: bold;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .p-event-company__body h4 {
    font-size: min(4.1025641026vw, 16px);
    text-align: center;
  }
}
.p-event-company__body p {
  margin-top: min(1.3888888889vw, 20px);
  line-height: 2.4;
}
@media (max-width: 767px) {
  .p-event-company__body p {
    margin-top: min(3.8461538462vw, 15px);
  }
}
.p-event-company__button {
  margin-top: min(2.7777777778vw, 40px);
  max-width: min(21.8055555556vw, 314px);
  height: min(4.6527777778vw, 67px);
}
@media (max-width: 767px) {
  .p-event-company__button {
    margin: min(7.6923076923vw, 30px) auto;
    max-width: min(60.5128205128vw, 236px);
    height: min(12.3076923077vw, 48px);
  }
}
.p-event-company__button i {
  width: min(1.1111111111vw, 16px);
}
@media (max-width: 767px) {
  .p-event-company__button i {
    width: min(3.5897435897vw, 14px);
  }
}

/* 展示品紹介
----------------------------------------*/
.p-exhibits {
  margin: min(12.5vw, 180px) 0 min(13.8888888889vw, 200px);
}
@media (max-width: 767px) {
  .p-exhibits {
    margin: min(23.0769230769vw, 90px) 0 min(25.641025641vw, 100px);
  }
}
.p-exhibits__content {
  margin-top: min(2.7777777778vw, 40px);
}
@media (max-width: 767px) {
  .p-exhibits__content {
    margin-top: min(7.6923076923vw, 30px);
  }
}
.p-exhibits__lead {
  margin-top: min(2.0833333333vw, 30px);
  line-height: 2.4;
  text-align: center;
}
@media (max-width: 767px) {
  .p-exhibits__lead {
    margin-top: min(5.1282051282vw, 20px);
    text-align: left;
  }
}
.p-exhibits__list {
  margin-top: min(4.1666666667vw, 60px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: start;
  gap: min(1.0416666667vw, 15px);
}
@media (max-width: 767px) {
  .p-exhibits__list {
    margin-top: min(10.2564102564vw, 40px);
    grid-template-columns: auto;
    gap: min(5.1282051282vw, 20px);
  }
}
.p-exhibits__item {
  padding: calc(min(4.1666666667vw, 60px) - 1px) calc(min(2.0833333333vw, 30px) - 1px);
  height: 100%;
  background: #fff;
  border: 1px solid;
}
@media (max-width: 767px) {
  .p-exhibits__item {
    padding: calc(min(7.6923076923vw, 30px) - 1px);
  }
}
.p-exhibits__item:nth-of-type(2) {
  margin-top: max(-1.7361111111vw, -25px);
}
@media (max-width: 767px) {
  .p-exhibits__item:nth-of-type(2) {
    margin-top: 0;
  }
}
.p-exhibits__item h4 {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: min(1.3888888889vw, 20px);
  font-size: min(1.6666666667vw, 24px);
  font-weight: bold;
  line-height: 1.8;
}
@media (max-width: 767px) {
  .p-exhibits__item h4 {
    gap: min(3.8461538462vw, 15px);
    font-size: min(4.1025641026vw, 16px);
  }
}
.p-exhibits__item h4::before {
  display: block;
  content: "";
  width: min(2.0833333333vw, 30px);
  height: min(0.2777777778vw, 4px);
  background: var(--color-taiwan-green);
}
@media (max-width: 767px) {
  .p-exhibits__item h4::before {
    width: min(5.1282051282vw, 20px);
    height: min(0.7692307692vw, 3px);
  }
}
.p-exhibits__item p {
  margin-top: min(2.0833333333vw, 30px);
  line-height: 2.4;
}
@media (max-width: 767px) {
  .p-exhibits__item p {
    margin-top: min(5.1282051282vw, 20px);
  }
}

/*----------------------------------------
  Utility
----------------------------------------*/
/* アニメーション
----------------------------------------*/
.u-anima-fadeUp {
  opacity: 0;
  transform: translateY(min(4.1666666667vw, 60px));
  transition: opacity 1s, transform 1s;
}
.u-anima-fadeUp[data-scroll-anima=true] {
  opacity: 1;
  transform: translateY(0);
}

/* スタイル調整用クラス
----------------------------------------*/
.u-pc-none {
  display: none;
}
@media (max-width: 767px) {
  .u-pc-none {
    display: block;
  }
}

.u-sp-none {
  display: block;
}
@media (max-width: 767px) {
  .u-sp-none {
    display: none;
  }
}/*# sourceMappingURL=style.css.map */