html,
body {
  min-height: 100vh;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Noto Sans JP', sans-serif;
}

.notoSerif {
  font-family: 'Noto Serif JP', serif;
}

.smallText {
  font-size: 11px !important;
  font-weight: 300 !important;
}

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

.commonWidth {
  max-width: 1080px;
  margin: 0 auto;
  width: 90%;
}

a,
button {
  transition: opacity 0.3s;
  cursor: pointer;
}

a:hover,
button:hover {
  opacity: 0.8;
}

main {
  width: 100%;
  overflow: hidden;
}

.sp-block {
  display: none;
}

.pc-block {
  display: block;
}

.pc-inlineblock {
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .sp-block {
    display: block;
  }

  .pc-block {
    display: none;
  }

  .pc-inlineblock {
    display: none;
  }

  .smallText {
    font-size: 10px !important;
  }
}

/* header */
header {
  position: fixed;
  width: 100%;
  padding: 20px 4.01vw 20px 5.208vw;
  display: flex;
  justify-content: space-between;
  z-index: 10;
  align-items: center;
}

.headerBg {
  background: rgba(255, 255, 255, 1);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1);
}

.headerNav {
  font-size: 18px;
  letter-spacing: 1.8px;
  line-height: 26px;
}

.headerUl {
  display: flex;
  align-items: center;
  gap: 24px;
}

.headerLi a {
  transition: opacity 0.3s;
}

.headerLi a:hover {
  opacity: 0.8;
}

.checkbox,
.span-container {
  display: none;
}

.logoArea {
  display: flex;
  align-items: center;
}

.logo {
  width: 143.5px;
  margin-right: 14.75px;
}

.logoText {
  font-size: 15px;
  line-height: 21px;
}

.headerLi:last-child {
  display: none;
}

@media screen and (max-width: 1700px) {
  header {
    padding: 1.176vw 4.01vw 1.176vw 5.208vw;
  }

  .headerNav {
    font-size: 1.059vw;
    letter-spacing: 0.106vw;
    line-height: 1.529vw;
  }

  .headerUl {
    gap: 1.412vw;
  }

  .logo {
    width: 8.441vw;
    margin-right: 0.868vw;
  }

  .logoText {
    font-size: 0.882vw;
    line-height: 1.235vw;
  }
}

@media screen and (max-width: 768px) {
  header {
    display: flex;
    align-items: center;
    background: #fff !important;
    height: 75px;
    padding: 0 15px;
  }

  .logoArea {
    max-width: calc(100% - 60px);
  }

  .logo {
    margin-right: 4px;
    width: 115.89px;
  }

  .logoText {
    font-size: 10px;
    line-height: 15px;
  }

  .headerNav {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: calc(100vh - 75px);
    display: flex;
    flex-flow: column wrap;
    justify-content: center;
    align-items: center;
    z-index: 50;
    background: #fff;
    transition: all 250ms ease-out;
    transform: translateY(-100vh);
    font-size: 18px;
    letter-spacing: 1.8px;
    line-height: 26px;
  }

  .headerUl {
    padding: 40px 0;
    max-width: 280px;
    width: 100%;
    overflow-y: auto;
  }

  .headerLi {
    text-align: center;
  }

  .headerLi:not(:last-child) {
    margin-bottom: 24px;
  }

  .headerLi:last-child {
    display: block;
  }

  .headerLi:last-child a {
    width: 100%;
    height: 56.27px;
    background: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    position: relative;
    font-size: 15px;
    letter-spacing: 0.9px;
    line-height: 23px;
  }

  .headerLi:last-child a::after {
    content: '';
    width: 7.2px;
    height: 7.2px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    right: 17px;
    top: 0;
    bottom: 0;
    margin: auto;
  }

  .checkbox:checked ~ .headerNav {
    transform: translateY(0%);
  }

  .headerUl {
    display: block;
  }

  .span-container,
  .checkbox {
    background: #000;
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    right: 15px;
    top: 15px;
    display: block;
    padding: 15px 0;
  }

  .checkbox {
    opacity: 0;
    z-index: 100;
  }

  .span-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: column;
    z-index: 90;
  }

  .span-container span {
    width: 24px;
    height: 1px;
    background: white;
    transition: all 250ms ease-out;
    transform-origin: 0 0;
  }

  .checkbox:checked ~ .span-container span:nth-last-child(1) {
    transform: rotate(-45deg) translate(2px, 4px);
  }

  .checkbox:checked ~ .span-container span:nth-last-child(2) {
    transform: rotate(0deg) scale(0.2, 0.2);
    opacity: 0;
  }

  .checkbox:checked ~ .span-container span:nth-last-child(3) {
    transform: rotate(45deg) translate(2px, -5px);
  }
}

@media screen and (max-width: 389px) {
  header {
    height: 19.231vw;
    padding: 0 3.846vw;
  }

  .logoArea {
    max-width: calc(100% - 15.385vw);
  }

  .logo {
    margin-right: 1.026vw;
    width: 29.715vw;
  }

  .logoText {
    font-size: 2.564vw;
    line-height: 3.846vw;
  }

  .headerNav {
    height: calc(100vh - 19.231vw);
    transform: translateY(-100vh);
    font-size: 4.615vw;
    letter-spacing: 0.462vw;
    line-height: 6.667vw;
  }

  .headerUl {
    padding: 10.256vw 0;
    max-width: 71.795vw;
  }

  .headerLi:not(:last-child) {
    margin-bottom: 6.154vw;
  }

  .headerLi:last-child a {
    height: 14.428vw;
    font-size: 3.846vw;
    letter-spacing: 0.231vw;
    line-height: 5.897vw;
  }

  .headerLi:last-child a::after {
    width: 1.846vw;
    height: 1.846vw;
    right: 4.359vw;
  }

  .span-container,
  .checkbox {
    width: 11.538vw;
    height: 11.538vw;
    right: 3.846vw;
    top: 3.846vw;
    padding: 3.846vw 0;
  }

  .span-container span {
    width: 6.154vw;
    height: 0.256vw;
  }
}

/* fv */
.fvImg img {
  width: 100%;
}

/* governance */
.governance {
  padding: 100px 0 50px;
}

.governanceWrap {
  max-width: 1720px;
  margin: 0 auto;
  width: 90%;
  text-align: center;
}

.governanceTitle {
  margin-bottom: 56px;
}

.governanceText {
  font-size: 17px;
  line-height: 40px;
  letter-spacing: 0.6px;
  margin-bottom: 56px;
}

.jicpaArea {
  display: flex;
  align-items: center;
  justify-content: center;
}

.jicpaText {
  font-size: 32px;
  letter-spacing: 6.08px;
  line-height: 59px;
  margin-right: 18px;
}

.jicpaLogo {
  width: 317px;
}

.jicpaLogo img {
  width: 100%;
}

@media screen and (max-width: 1200px) {
  .governance {
    padding: 8.333vw 0 4.167vw;
  }

  .governanceWrap {
    max-width: 143.333vw;
  }

  .governanceTitle {
    margin-bottom: 4.667vw;
  }

  .governanceText {
    font-size: 1.417vw;
    line-height: 3.333vw;
    letter-spacing: 0.05vw;
    margin-bottom: 4.667vw;
  }

  .jicpaText {
    font-size: 2.667vw;
    letter-spacing: 0.507vw;
    line-height: 4.917vw;
    margin-right: 1.5vw;
  }

  .jicpaLogo {
    width: 26.417vw;
  }
}

@media screen and (max-width: 768px) {
  .governance {
    padding: 40px 0 57px;
  }

  .governanceTitle {
    margin-bottom: 22.76px;
  }

  .governanceTitle img {
    width: 100%;
  }

  .governanceText {
    font-size: 16px;
    line-height: 32px;
    letter-spacing: 0;
    margin-bottom: 31px;
  }

  .jicpaText {
    font-size: 20px;
    letter-spacing: 3.8px;
    line-height: 35px;
    margin-right: 10px;
  }

  .jicpaLogo {
    width: 169px;
  }
}

@media screen and (max-width: 389px) {
  .governance {
    padding: 10.256vw 0 14.615vw;
  }

  .governanceTitle {
    margin-bottom: 5.836vw;
  }

  .governanceText {
    font-size: 4.103vw;
    line-height: 8.205vw;
    margin-bottom: 7.949vw;
  }

  .jicpaText {
    font-size: 5.128vw;
    letter-spacing: 0.974vw;
    line-height: 8.974vw;
    margin-right: 2.564vw;
  }

  .jicpaLogo {
    width: 43.333vw;
  }
}

/* point */
.point {
  background-image: url('../images/point_bg.png');
  padding: 180px 0 120px;
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  text-align: center;
}

.point h2 {
  width: 172px;
  margin: 0 auto 52px;
}

.pointMainArea > div:not(:last-child) {
  margin-bottom: 60px;
}

.pointMainRow {
  position: relative;
  background: #fff;
  padding: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
}

.pointRowTitle {
  width: 227px;
  font-size: 21px;
  line-height: 36px;
  letter-spacing: 2.3px;
  color: #4f9a77;
  font-weight: bold;
}

.pointRowContent {
  width: calc(100% - 252px);
  font-size: 16px;
  line-height: 30px;
}

.pointRowContent p {
  font-size: 14px;
  letter-spacing: 0.42px;
  line-height: 20px;
  margin-top: 10px;
}

.pointMainRow > img {
  position: absolute;
  width: 140.91px;
  left: 40px;
  top: -19px;
}

@media screen and (max-width: 1200px) {
  .point {
    padding: 15vw 0 10vw;
  }

  .point h2 {
    width: 14.333vw;
    margin: 0 auto 4.333vw;
  }

  .pointMainArea > div:not(:last-child) {
    margin-bottom: 5vw;
  }

  .pointMainRow {
    padding: 3.333vw;
  }

  .pointRowTitle {
    width: 18.917vw;
    font-size: 1.75vw;
    line-height: 3vw;
    letter-spacing: 0.192vw;
  }

  .pointRowContent {
    width: calc(100% - 21vw);
    font-size: 1.333vw;
    line-height: 2.5vw;
  }

  .pointRowContent p {
    font-size: 1.167vw;
    letter-spacing: 0.035vw;
    line-height: 1.667vw;
    margin-top: 0.833vw;
  }

  .pointMainRow > img {
    width: 11.743vw;
    left: 3.333vw;
    top: -1.583vw;
  }
}

@media screen and (max-width: 768px) {
  .point {
    background-image: url('../images/point_bg_sp.png');
    padding: 94.5px 0 90.16px;
  }

  .point h2 {
    width: 82px;
    margin: 0 auto 48.36px;
  }

  .pointMainArea > div:not(:last-child) {
    margin-bottom: 40.37px;
  }

  .pointMainRow {
    padding: 46px 16px 37px;
    display: block;
    text-align: left;
  }

  .pointRowTitle {
    width: 100%;
    font-size: 20px;
    line-height: 36px;
    letter-spacing: 2.2px;
    margin-bottom: 30px;
    text-align: center;
  }

  .pointRowContent {
    width: 100%;
    font-size: 16px;
    line-height: 29px;
  }

  .pointRowContent p {
    font-size: 14px;
    letter-spacing: 0px;
    line-height: 22px;
    margin-top: 10px;
  }

  .pointMainRow > img {
    width: 122.84px;
    left: 0;
    right: 0;
    top: -16.5px;
    margin: auto;
  }
}

@media screen and (max-width: 389px) {
  .point {
    padding: 24.231vw 0 23.118vw;
  }

  .point h2 {
    width: 21.026vw;
    margin: 0 auto 12.4vw;
  }

  .pointMainArea > div:not(:last-child) {
    margin-bottom: 10.351vw;
  }

  .pointMainRow {
    padding: 11.795vw 4.103vw 9.487vw;
  }

  .pointRowTitle {
    font-size: 5.128vw;
    line-height: 9.231vw;
    letter-spacing: 0.564vw;
    margin-bottom: 7.692vw;
  }

  .pointRowContent {
    font-size: 4.103vw;
    line-height: 7.436vw;
  }

  .pointRowContent p {
    font-size: 3.59vw;
    line-height: 5.641vw;
    margin-top: 2.564vw;
  }

  .pointMainRow > img {
    width: 31.497vw;
    top: -4.231vw;
  }
}

/* information */
.information {
  padding-top: 120px;
}

.information h2 {
  text-align: center;
  margin: 0 auto 68.41px;
  width: 253.55px;
}

.ticketSubText {
  text-align: center;
  font-size: 20px;
  letter-spacing: 0.6px;
  line-height: 35px;
  margin-bottom: 79px;
}

.ticketMain {
  margin-bottom: 16px;
}

.ticketMain > div:not(:last-child) {
  margin-bottom: 48.25px;
}

.ticketRow {
  border: 1px solid #988443;
  display: flex;
  align-items: center;
}

.ticketTitle {
  background: #988443;
  min-width: 171px;
  max-width: 171px;
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: normal;
}

.ticketTitle img {
  width: 96px;
}

.ticketContent {
  padding: 24px;
}

.ticketA .ticketContent {
  width: calc(100% - 171px);
}

.ticketContentTitle {
  color: #4f9a77;
  font-size: 24px;
  letter-spacing: 1.2px;
  line-height: 28px;
  margin-bottom: 16px;
  font-weight: bold;
}

.ticketContentPriceArea {
  display: flex;
  align-items: center;
  font-weight: 500;
}

.ticketContentPriceTitle {
  font-size: 20px;
  line-height: 29px;
  margin-right: 16px;
}

.ticketContentPrice {
  font-size: 24px;
  line-height: 35px;
}

.ticketContentPrice span {
  font-size: 16px;
  margin-left: -5px;
}

.ticketContentTextSub {
  font-size: 18px;
  letter-spacing: 0.36px;
  line-height: 26px;
  font-weight: 500;
}

.ticketContentTextTime {
  font-size: 18px;
  line-height: 26px;
  margin-top: 15px;
  font-weight: bold;
}

.ticketContentTextRed {
  font-size: 18px;
  line-height: 26px;
  font-weight: bold;
  color: #ff0000;
  margin-top: 9px;
}

.ticketContentSubArea {
  font-size: 16px;
  line-height: 26px;
  margin-bottom: 16px;
}

.ticketContentPriceWrap {
  display: flex;
  flex-wrap: wrap;
}

.ticketContentPriceWrap:not(:last-child) {
  margin-right: 16px;
}

.ticketCourse {
  min-width: 255px;
  max-width: 255px;
  border-left: 1px solid #988443;
  align-self: normal;
  margin-left: auto;
}

.ticketCourseRow:not(:last-child) {
  border-bottom: 1px solid #988443;
}

.ticketCourseRow {
  height: 50%;
  display: flex;
  flex-direction: column;
}

.ticketCourseRow:nth-child(odd) > .ticketCourseTitle {
  background: #6a9843;
}

.ticketCourseRow:nth-child(even) > .ticketCourseTitle {
  background: #438e98;
}

.ticketCourseTitle {
  color: #fff;
  font-size: 24px;
  letter-spacing: 2.64px;
  line-height: 35px;
  padding: 9px 16px;
  font-weight: 500;
  text-align: center;
}

.ticketCourseContent {
  padding: 12px 28px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  letter-spacing: 0.36px;
  line-height: 26px;
  font-weight: 500;
  flex: 1;
}

.ticketSub {
  font-size: 14px;
  letter-spacing: 0.42px;
  line-height: 14px;
}

@media screen and (max-width: 1200px) {
  .information {
    padding-top: 10vw;
  }

  .information h2 {
    margin: 0 auto 5.701vw;
    width: 21.129vw;
  }

  .ticketSubText {
    font-size: 1.667vw;
    letter-spacing: 0.05vw;
    line-height: 2.917vw;
    margin-bottom: 6.583vw;
  }

  .ticketMain {
    margin-bottom: 1.333vw;
  }

  .ticketMain > div:not(:last-child) {
    margin-bottom: 4.021vw;
  }

  .ticketTitle {
    min-width: 14.25vw;
    max-width: 14.25vw;
  }

  .ticketTitle img {
    width: 8vw;
  }

  .ticketContent {
    padding: 2vw;
  }

  .ticketA .ticketContent {
    width: calc(100% - 14.25vw);
  }

  .ticketContentTitle {
    font-size: 2vw;
    letter-spacing: 0.1vw;
    line-height: 2.333vw;
    margin-bottom: 1.333vw;
  }

  .ticketContentPriceTitle {
    font-size: 1.667vw;
    line-height: 2.417vw;
    margin-right: 1.333vw;
  }

  .ticketContentPrice {
    font-size: 2vw;
    line-height: 2.917vw;
  }

  .ticketContentPrice span {
    font-size: 1.333vw;
    margin-left: -0.417vw;
  }

  .ticketContentTextSub {
    font-size: 1.5vw;
    letter-spacing: 0.03vw;
    line-height: 2.167vw;
  }

  .ticketContentTextTime {
    font-size: 1.5vw;
    line-height: 2.167vw;
    margin-top: 1.25vw;
  }

  .ticketContentTextRed {
    font-size: 1.5vw;
    line-height: 2.167vw;
    margin-top: 0.75vw;
  }

  .ticketContentSubArea {
    font-size: 1.333vw;
    line-height: 2.167vw;
    margin-bottom: 1.333vw;
  }

  .ticketContentPriceWrap:not(:last-child) {
    margin-right: 1.333vw;
  }

  .ticketCourse {
    min-width: 21.25vw;
    max-width: 21.25vw;
  }

  .ticketCourseTitle {
    font-size: 2vw;
    letter-spacing: 0.22vw;
    line-height: 2.917vw;
    padding: 0.75vw 1.333vw;
  }

  .ticketCourseContent {
    padding: 1vw 2.333vw;
    font-size: 1.5vw;
    letter-spacing: 0.03vw;
    line-height: 2.167vw;
  }

  .ticketSub {
    font-size: 1.167vw;
    letter-spacing: 0.035vw;
    line-height: 1.167vw;
  }
}

@media screen and (max-width: 768px) {
  .information {
    padding-top: 80px;
  }

  .ticketContentSubArea p:not(:last-child) {
    margin-bottom: 4px;
  }

  .information h2 {
    margin: 0 auto 30px;
    width: 133.96px;
  }

  .ticketSubText {
    font-size: 16px;
    letter-spacing: 0.48px;
    margin-bottom: 74px;
    line-height: 29px;
  }

  .ticketMain {
    margin-bottom: 8px;
  }

  .ticketMain > div:not(:last-child) {
    margin-bottom: 29px;
  }

  .ticketRow {
    display: block;
  }

  .ticketTitle {
    width: 100%;
    min-width: auto;
    max-width: none;
    padding: 12px 5px;
  }

  .ticketTitle img {
    width: 104.28px;
  }

  .ticketContent {
    padding: 14px 17px;
  }

  .ticketA .ticketContent {
    width: 100%;
  }

  .ticketContentTitle {
    font-size: 16px;
    letter-spacing: 0.8px;
    line-height: 34px;
    margin-bottom: 8px;
  }

  .ticketContentPriceTitle {
    font-size: 16px;
    line-height: 24px;
    margin-right: 4px;
  }

  .ticketContentPrice {
    font-size: 24px;
    line-height: 35px;
  }

  .ticketContentPrice span {
    font-size: 12px;
    margin-left: -5px;
  }

  .ticketContentTextSub {
    font-size: 14px;
    letter-spacing: 0.28px;
    line-height: 20px;
  }

  .ticketContentSubArea {
    font-size: 12px;
    line-height: 21px;
    margin-bottom: 8px;
  }

  .ticketContentTextTime {
    font-size: 16px;
    line-height: 23px;
    margin-top: 19px;
  }

  .ticketContentTextRed {
    font-size: 16px;
    line-height: 23px;
    margin-top: 6px;
  }

  .ticketContentPriceWrap:not(:last-child) {
    margin-right: 8px;
  }

  .ticketCourse {
    width: 100%;
    min-width: auto;
    max-width: none;
    border-left: 0;
  }

  .ticketCourseRow:not(:last-child) {
    border-bottom: 0;
  }

  .ticketCourseRow {
    height: auto;
  }

  .ticketCourseTitle {
    font-size: 18px;
    letter-spacing: 1.98px;
    line-height: 26px;
    padding: 8px 16px;
    text-align: left;
  }

  .ticketCourseContent {
    padding: 16px;
    font-size: 16px;
    letter-spacing: 0.32px;
    line-height: 24px;
    display: block;
  }

  .ticketSub {
    font-size: 12px;
    letter-spacing: 0.36px;
    line-height: 16px;
  }
}
@media screen and (max-width: 389px) {
  .information {
    padding-top: 20.513vw;
  }

  .information h2 {
    margin: 0 auto 7.692vw;
    width: 34.349vw;
  }

  .ticketSubText {
    font-size: 4.103vw;
    letter-spacing: 0.123vw;
    margin-bottom: 18.974vw;
    line-height: 7.436vw;
  }

  .ticketMain {
    margin-bottom: 2.051vw;
  }

  .ticketMain > div:not(:last-child) {
    margin-bottom: 7.436vw;
  }

  .ticketTitle {
    padding: 3.077vw 1.282vw;
  }

  .ticketTitle img {
    width: 26.738vw;
  }

  .ticketContent {
    padding: 3.59vw 4.359vw;
  }

  .ticketContentTitle {
    font-size: 4.103vw;
    letter-spacing: 0.205vw;
    line-height: 8.718vw;
    margin-bottom: 2.051vw;
  }

  .ticketContentSubArea p:not(:last-child) {
    margin-bottom: 1.026vw;
  }

  .ticketContentPriceTitle {
    font-size: 4.103vw;
    line-height: 6.154vw;
    margin-right: 1.026vw;
  }

  .ticketContentPrice {
    font-size: 6.154vw;
    line-height: 8.974vw;
  }

  .ticketContentPrice span {
    font-size: 3.077vw;
    margin-left: -1.282vw;
  }

  .ticketContentTextSub {
    font-size: 3.59vw;
    letter-spacing: 0.072vw;
    line-height: 5.128vw;
  }

  .ticketContentSubArea {
    font-size: 3.077vw;
    line-height: 5.385vw;
    margin-bottom: 2.051vw;
  }

  .ticketContentTextTime {
    font-size: 4.103vw;
    line-height: 5.897vw;
    margin-top: 4.872vw;
  }

  .ticketContentTextRed {
    font-size: 4.103vw;
    line-height: 5.897vw;
    margin-top: 1.538vw;
  }

  .ticketContentPriceWrap:not(:last-child) {
    margin-right: 2.051vw;
  }

  .ticketCourseTitle {
    font-size: 4.615vw;
    letter-spacing: 0.508vw;
    line-height: 6.667vw;
    padding: 2.051vw 4.103vw;
  }

  .ticketCourseContent {
    padding: 4.103vw;
    font-size: 4.103vw;
    letter-spacing: 0.082vw;
    line-height: 6.154vw;
  }

  .ticketSub {
    font-size: 3.077vw;
    letter-spacing: 0.092vw;
    line-height: 4.103vw;
  }
}

/* speakers */
.speakers {
  padding: 120px 0 116px;
}

.speakers h2 {
  text-align: center;
  margin: 0 auto 66.47px;
  width: 299px;
}

.speakerArea {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 60px 12px;
  align-items: flex-start;
}

.speakerUnit {
  width: 250px;
  text-align: center;
}

.speakerImg {
  margin-bottom: 22px;
}

.speakerImg img {
  width: 100%;
}

.speakerName {
  font-size: 24px;
  line-height: 35px;
  margin-bottom: 4px;
  font-weight: 500;
}

.speakerPosition {
  font-size: 16px;
  line-height: 22px;
}

@media screen and (max-width: 1200px) {
  .speakers {
    padding: 10vw 0 9.667vw;
  }

  .speakers h2 {
    margin: 0 auto 5.539vw;
    width: 24.917vw;
  }

  .speakerArea {
    gap: 5vw 1vw;
  }

  .speakerUnit {
    width: 20.833vw;
  }

  .speakerImg {
    margin-bottom: 1.833vw;
  }

  .speakerName {
    font-size: 2vw;
    line-height: 2.917vw;
    margin-bottom: 0.333vw;
  }

  .speakerPosition {
    font-size: 1.333vw;
    line-height: 1.833vw;
  }
}

@media screen and (max-width: 768px) {
  .speakers {
    padding: 80px 0 75px;
  }

  .speakers h2 {
    margin: 0 auto 35px;
    width: 156.55px;
  }

  .speakerArea {
    justify-content: center;
    gap: 40px 8px;
  }

  .speakerUnit {
    width: 171px;
  }

  .speakerImg {
    margin-bottom: 11px;
  }

  .speakerName {
    font-size: 18px;
    line-height: 26px;
    margin-bottom: 8px;
  }

  .speakerPosition {
    font-size: 14px;
    line-height: 16px;
  }
}

@media screen and (max-width: 389px) {
  .speakers {
    padding: 20.513vw 0 19.231vw;
  }

  .speakers h2 {
    margin: 0 auto 8.974vw;
    width: 40.141vw;
  }

  .speakerArea {
    justify-content: center;
    gap: 10.256vw 2.051vw;
  }

  .speakerUnit {
    width: 43.846vw;
  }

  .speakerImg {
    margin-bottom: 2.821vw;
  }

  .speakerName {
    font-size: 4.615vw;
    line-height: 6.667vw;
    margin-bottom: 2.051vw;
  }

  .speakerPosition {
    font-size: 3.59vw;
    line-height: 4.103vw;
  }
}

/* program */
.program {
  background-image: url('../images/program_bg.png');
  padding: 185px 0 120px;
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
}

.program h2 {
  width: 206.35px;
  margin: 0 auto 64px;
}

.programSubText {
  text-align: center;
  color: #fff;
  font-size: 20px;
  letter-spacing: 0.6px;
  line-height: 29px;
  margin-bottom: 51.34px;
}

.programWrap:not(:last-child) {
  margin-bottom: 80px;
}

.programTitleArea {
  position: relative;
  display: flex;
}

.programTitle {
  flex: 1;
  text-align: center;
  font-size: 24px;
  font-weight: 500;
  line-height: 35px;
  padding: 22px;
  background: #000;
  color: #fff;
}

.programTitleDay {
  position: absolute;
  left: 0;
  right: 0;
  top: -19px;
  width: 96.91px;
  margin: auto;
}

.programTitleActive {
  background: #fff;
  color: #000;
}

.programMainWrap {
  padding: 40px;
  background: #fff;
  display: none;
}

.programMainActive {
  display: block;
}

.programMainRow:not(:last-child) {
  margin-bottom: 30px;
}

.programMainSubText {
  font-size: 20px;
  line-height: 29px;
  font-weight: 500;
  text-align: center;
  margin-bottom: 31px;
}

.programMainSubText p {
  font-size: 14px;
  letter-spacing: 0.42px;
  line-height: 20px;
}

.programDay1Title {
  padding: 11px 16.5px;
  font-weight: 500;
  color: #fff;
  font-size: 18px;
  line-height: 26px;
}

.programDay1TitleGold {
  background: #988443;
}

.programDay1TitleRed {
  background: #d03131;
}

.programMainRowContentList {
  border: 1px solid #000000;
  border-top: 0;
  display: flex;
  min-height: 118px;
  position: relative;
}

.programMainRowContentList.programMainRowContentListSmall {
  min-height: auto;
}

.programMainRowContentList::before {
  content: '';
  width: 1px;
  height: 100%;
  background: #000;
  position: absolute;
  left: 73px;
  top: 0;
}

.programMainRowContentListTime {
  width: 74px;
  height: 100%;
  padding: 19px 16px;
  font-size: 16px;
  line-height: 18px;
  font-weight: 500;
  color: #4f9a77;
  text-align: center;
  align-self: center;
}

.programMainRowContentListText {
  flex: 1;
  padding: 18px 16px;
  display: flex;
  align-items: center;
}

.programMainRowContentList.programMainRowContentListSmall .programMainRowContentListText,
.programMainRowContentList.programMainRowContentListSmall .programMainRowContentListTime {
  padding: 5px 16px;
}

.programMainRowContentList.programMainRowContentListCenter .programMainRowContentListText {
  justify-content: center;
}

.programMainRowContentListTextIcon {
  width: 70px;
  margin-right: 20px;
}

.programMainRowContentListTextIcon img {
  width: 100%;
}

.programMainRowContentListTitleWrap {
  flex: 1;
}

.programMainRowContentList.programMainRowContentListCenter .programMainRowContentListTitleWrap {
  flex: none;
}

.programMainRowContentListTextGray {
  font-size: 18px;
  line-height: 26px;
  color: #939393;
  font-weight: 500;
}

.programMainRowContentListTextMain {
  font-size: 22px;
  line-height: 32px;
  font-weight: 500;
  margin-bottom: 3px;
}

.programMainRowContentListTextMain span {
  font-size: 18px;
}

.programMainRowContentListTextGold {
  color: #988443;
}

.programMainRowContentListTextRed {
  color: #d03131;
}

.programMainRowContentListTextSub {
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}

.programMainRowSubText {
  margin-top: -15px;
  color: #4f9a77;
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
}

.programDay2TitleArea {
  display: flex;
}

.border {
  width: 50px;
  position: relative;
  border: 1px solid #000;
  border-right: 0;
}

.programDay2Title {
  padding: 11px 16.5px;
  font-weight: 500;
  font-size: 18px;
  line-height: 26px;
  flex: 1;
  text-align: center;
  color: #fff;
}

.programDay2TitleGreen {
  background: #6a9843;
}

.programDay2TitleBlue {
  background: #438e98;
}

.programDay2 .programMainRowContentListTime {
  width: 50px;
  padding: 6px !important;
  color: #000;
}

.programDay2 .programMainRowContentList::before {
  left: 49px;
}

.programDay2 .ml_change {
  margin-left: -10px;
}

.programDay2 .programMainRowContentListTexTitle {
  font-weight: 500;
  font-size: 18px;
  line-height: 26px;
  margin-bottom: 4px;
}

.programDay2 .programMainRowContentListTextMain {
  font-size: 20px;
  line-height: 29px;
  color: #988443;
  margin-bottom: 3px;
}

.programDay2 .programMainRowContentListTextSub {
  font-size: 16px;
  line-height: 24px;
}

.programDay2 .programMainRowContentListText {
  position: relative;
}

.programMainRowContentListTextGreen {
  background: #e7f4dc;
}

.programMainRowContentListTextBlue {
  background: #d6ebed;
}

.programMainRowContentListTextBlue::before {
  content: '';
  width: 1px;
  height: 100%;
  background: #000;
  position: absolute;
  left: -1px;
  top: 0;
}

.programMainRowContentListTextGreen .programMainRowContentListTextMain {
  color: #6a9843;
}

.programMainRowContentListTextBlue .programMainRowContentListTextMain {
  color: #438e98;
}

.programMainRowSp {
  display: none;
}

@media screen and (max-width: 1200px) {
  .program {
    padding: 15.417vw 0 10vw;
  }

  .program h2 {
    width: 17.196vw;
    margin: 0 auto 5.333vw;
  }

  .programSubText {
    font-size: 1.667vw;
    letter-spacing: 0.05vw;
    line-height: 2.417vw;
    margin-bottom: 4.278vw;
  }

  .programWrap:not(:last-child) {
    margin-bottom: 6.667vw;
  }

  .programTitle {
    font-size: 2vw;
    font-weight: 500;
    line-height: 2.917vw;
    padding: 1.833vw;
  }

  .programTitleDay {
    top: -1.583vw;
    width: 8.076vw;
  }

  .programMainWrap {
    padding: 3.333vw;
  }

  .programMainRow:not(:last-child) {
    margin-bottom: 2.5vw;
  }

  .programMainSubText {
    font-size: 1.667vw;
    line-height: 2.417vw;
    margin-bottom: 2.583vw;
  }

  .programMainSubText p {
    font-size: 1.167vw;
    letter-spacing: 0.035vw;
    line-height: 1.667vw;
  }

  .programDay1Title {
    padding: 0.917vw 1.375vw;
    font-size: 1.5vw;
    line-height: 2.167vw;
  }

  .programMainRowContentList {
    min-height: 9.833vw;
  }

  .programMainRowContentList.programMainRowContentListSmall {
    min-height: auto;
  }

  .programMainRowContentList::before {
    left: 6.083vw;
  }

  .programMainRowContentListTime {
    width: 6.167vw;
    padding: 1.583vw 1.333vw;
    font-size: 1.333vw;
    line-height: 1.5vw;
  }

  .programMainRowContentListText {
    padding: 1.5vw 1.333vw;
  }

  .programMainRowContentList.programMainRowContentListSmall .programMainRowContentListText,
  .programMainRowContentList.programMainRowContentListSmall .programMainRowContentListTime {
    padding: 0.417vw 1.333vw;
  }

  .programMainRowContentList.programMainRowContentListCenter .programMainRowContentListText {
    justify-content: center;
  }

  .programMainRowContentListTextIcon {
    width: 5.833vw;
    margin-right: 1.667vw;
  }

  .programMainRowContentListTextGray {
    font-size: 1.5vw;
    line-height: 2.167vw;
  }

  .programMainRowContentListTextMain {
    font-size: 1.833vw;
    line-height: 2.667vw;
    margin-bottom: 0.25vw;
  }

  .programMainRowContentListTextMain span {
    font-size: 1.5vw;
  }

  .programMainRowContentListTextSub {
    font-size: 1.333vw;
    line-height: 2vw;
  }

  .programMainRowSubText {
    margin-top: -1.25vw;
    font-size: 1.333vw;
    line-height: 2vw;
  }

  .border {
    width: 4.167vw;
  }

  .programDay2Title {
    padding: 0.917vw 1.375vw;
    font-size: 1.5vw;
    line-height: 2.167vw;
  }

  .programDay2 .programMainRowContentListTime {
    width: 4.167vw;
    padding: 0.5vw !important;
  }

  .programDay2 .programMainRowContentList::before {
    left: 4.083vw;
  }

  .programDay2 .ml_change {
    margin-left: -0.833vw;
  }

  .programDay2 .programMainRowContentListTexTitle {
    font-size: 1.5vw;
    line-height: 2.167vw;
    margin-bottom: 0.333vw;
  }

  .programDay2 .programMainRowContentListTextMain {
    font-size: 1.667vw;
    line-height: 2.417vw;
    margin-bottom: 0.25vw;
  }

  .programDay2 .programMainRowContentListTextSub {
    font-size: 1.333vw;
    line-height: 2vw;
  }

  .programMainRowContentListTextBlue::before {
    left: -0.083vw;
  }
}

@media screen and (max-width: 768px) {
  .programMainRowPc {
    display: none;
  }

  .programMainRowSp {
    display: block;
  }

  .program {
    background-image: url('../images/program_bg_sp.png');
    padding: 94.33px 0 80px;
  }

  .program h2 {
    width: 98.26px;
    margin: 0 auto 29px;
  }

  .programSubText {
    font-size: 16px;
    letter-spacing: 0.48px;
    line-height: 25px;
    margin-bottom: 50px;
  }

  .programMainRow:not(:last-child) {
    margin-bottom: 30px;
  }

  .programWrap:not(:last-child) {
    margin-bottom: 40px;
  }

  .programTitle {
    font-size: 16px;
    line-height: 18px;
    padding: 13px;
  }

  .programTitleDay {
    top: -11px;
    width: 50px;
  }

  .programMainWrap {
    padding: 25px 8px;
  }

  .programMainSubText {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 25px;
  }

  .programMainSubText p {
    font-size: 12px;
    letter-spacing: 0.36px;
    line-height: 18px;
  }

  .programDay1Title {
    padding: 5px 7px;
    font-size: 16px;
    line-height: 24px;
  }

  .programMainRowContentList {
    min-height: 74px;
  }

  .programMainRowContentList.programMainRowContentListSmall {
    min-height: auto;
  }

  .programMainRowContentList::before {
    left: 46px;
  }

  .programMainRowContentListTime {
    width: 47px;
    padding: 20px 8px;
    font-size: 12px;
    line-height: 15px;
  }

  .programMainRowContentList.programMainRowContentListSmall .programMainRowContentListTime {
    padding: 5px 8px;
  }

  .programMainRowContentListText {
    padding: 8px;
  }

  .programMainRowContentList.programMainRowContentListSmall .programMainRowContentListText,
  .programMainRowContentList.programMainRowContentListSmall .programMainRowContentListTime {
    padding: 5px 8px;
  }

  .programMainRowContentList.programMainRowContentListCenter .programMainRowContentListText {
    justify-content: center;
  }

  .programMainRowContentListTextIcon {
    width: 57px;
    margin-right: 8px;
  }

  .programMainRowContentListTextGray {
    font-size: 14px;
    line-height: 20px;
  }

  .programMainRowContentList.programMainRowContentListCenter .programMainRowContentListTitleWrap {
    flex: none;
  }

  .programMainRowContentListTextMain {
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 7px;
  }

  .programMainRowContentListTextMain span {
    font-size: 14px;
  }

  .programMainRowContentListTextSub {
    font-size: 14px;
    line-height: 16px;
  }

  .programMainRowSubText {
    margin-top: -22px;
    font-size: 14px;
    line-height: 20px;
  }

  .border {
    width: 0;
    border: 0;
  }

  .programDay2Title {
    padding: 8px;
    font-size: 14px;
    line-height: 20px;
  }

  .programDay2 .programMainRowContentListTime {
    width: 42px;
    padding: 6px !important;
  }

  .programDay2 .programMainRowContentList::before {
    left: 41px;
  }

  .programDay2 .programMainRowContentListTexTitle {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 0;
  }

  .programDay2 .programMainRowContentListTextMain {
    font-size: 16px;
    line-height: 20px;
    margin-bottom: 0;
    padding: 0 0 7px;
  }

  .programDay2 .ml_change {
    margin-left: -6px;
  }

  .programDay2 .programMainRowContentListTextSub {
    font-size: 14px;
    line-height: 14px;
  }

  .programMainRowContentListTextBlue::before {
    width: 0;
    display: none;
  }
}

@media screen and (max-width: 389px) {
  .program {
    padding: 24.187vw 0 20.513vw;
  }

  .program h2 {
    width: 25.195vw;
    margin: 0 auto 7.436vw;
  }

  .programSubText {
    font-size: 4.103vw;
    letter-spacing: 0.123vw;
    line-height: 6.41vw;
    margin-bottom: 12.821vw;
  }

  .programMainRow:not(:last-child) {
    margin-bottom: 7.692vw;
  }

  .programWrap:not(:last-child) {
    margin-bottom: 10.256vw;
  }

  .programTitle {
    font-size: 4.103vw;
    line-height: 4.615vw;
    padding: 3.333vw;
  }

  .programTitleDay {
    top: -2.821vw;
    width: 12.821vw;
  }

  .programMainWrap {
    padding: 6.41vw 2.051vw;
  }

  .programMainSubText {
    font-size: 3.59vw;
    line-height: 5.128vw;
    margin-bottom: 6.41vw;
  }

  .programMainSubText p {
    font-size: 3.077vw;
    letter-spacing: 0.092vw;
    line-height: 4.615vw;
  }

  .programDay1Title {
    padding: 1.282vw 1.795vw;
    font-size: 4.103vw;
    line-height: 6.154vw;
  }

  .programMainRowContentList {
    min-height: 18.974vw;
  }

  .programMainRowContentList.programMainRowContentListSmall {
    min-height: auto;
  }

  .programMainRowContentList::before {
    left: 11.795vw;
  }

  .programMainRowContentListTime {
    width: 12.051vw;
    padding: 5.128vw 2.051vw;
    font-size: 3.077vw;
    line-height: 3.846vw;
  }

  .programMainRowContentList.programMainRowContentListSmall .programMainRowContentListTime {
    padding: 1.282vw 2.051vw;
  }

  .programMainRowContentListText {
    padding: 2.051vw;
  }

  .programMainRowContentList.programMainRowContentListSmall .programMainRowContentListText,
  .programMainRowContentList.programMainRowContentListSmall .programMainRowContentListTime {
    padding: 1.282vw 2.051vw;
  }

  .programMainRowContentList.programMainRowContentListCenter .programMainRowContentListText {
    justify-content: center;
  }

  .programMainRowContentListTextIcon {
    width: 14.615vw;
    margin-right: 2.051vw;
  }

  .programMainRowContentListTextGray {
    font-size: 3.59vw;
    line-height: 5.128vw;
  }

  .programMainRowContentListTextMain {
    font-size: 4.103vw;
    line-height: 5.128vw;
    margin-bottom: 1.795vw;
  }

  .programMainRowContentListTextMain span {
    font-size: 3.59vw;
  }

  .programMainRowContentList.programMainRowContentListCenter .programMainRowContentListTitleWrap {
    flex: none;
  }

  .programMainRowContentListTextSub {
    font-size: 3.59vw;
    line-height: 4.103vw;
  }

  .programMainRowSubText {
    margin-top: -5.641vw;
    font-size: 3.59vw;
    line-height: 5.128vw;
  }

  .programDay2Title {
    padding: 2.051vw;
    font-size: 3.59vw;
    line-height: 5.128vw;
  }

  .programDay2 .programMainRowContentListTime {
    width: 10.769vw;
    padding: 1.538vw !important;
  }

  .programDay2 .programMainRowContentList::before {
    left: 10.513vw;
  }

  .programDay2 .programMainRowContentListTexTitle {
    font-size: 3.59vw;
    line-height: 5.128vw;
  }

  .programDay2 .programMainRowContentListTextMain {
    font-size: 4.103vw;
    line-height: 5.128vw;
    padding: 0 0 1.795vw;
  }

  .programDay2 .ml_change {
    margin-left: -1.538vw;
  }

  .programDay2 .programMainRowContentListTextSub {
    font-size: 3.59vw;
    line-height: 3.59vw;
  }
}

/* exhibition */
.exhibition img {
  width: 100%;
}

/* ticket */
.ticket {
  background-image: url('../images/ticket_bg.png');
  padding: 120px 0 224px;
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
}

.ticket .commonWidth {
  max-width: 1330px;
}

.ticket h2 {
  width: 251.37px;
  margin: 0 auto 72.44px;
}

.viewingTicketMain {
  display: flex;
  gap: 20px;
  justify-content: space-between;
}

.viewingTicketArea {
  margin-bottom: 15px;
}

.viewingTicketText {
  font-size: 16px;
  letter-spacing: 0.42px;
  line-height: 26px;
  color: #fff;
  font-weight: bold;
}

.viewingTicketText a {
  text-decoration: underline;
}

.viewingTicketUnit {
  flex: 1;
  background: #fff;
  padding: 24px 30px 16px;
  text-align: center;
  display: flex;
  flex-direction: column;
}

.viewingTicketUnitIcon {
  width: 96px;
  margin: 0 auto 16px;
}

.viewingTicketUnitTitle {
  height: 131px;
  display: flex;
  align-items: center;
  font-size: 24px;
  letter-spacing: 1.44px;
  line-height: 32px;
  color: #4f9a77;
  justify-content: center;
  margin-bottom: 17px;
  font-weight: bold;
}

.viewingTicketUnitPriceArea {
  height: 114px;
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  text-align: left;
  font-weight: 500;
}

.viewingTicketUnitPriceTitle {
  font-size: 30px;
  line-height: 45px;
}

.viewingTicketUnitPrice {
  font-size: 36px;
  line-height: 52px;
}

.viewingTicketUnitPrice span {
  font-size: 24px;
  margin-left: -8px;
}

.viewingTicketUnitB .viewingTicketUnitPriceRow,
.viewingTicketUnitC .viewingTicketUnitPriceRow {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.viewingTicketUnitB .viewingTicketUnitPrice,
.viewingTicketUnitC .viewingTicketUnitPrice {
  margin-right: -8px;
}

.viewingTicketSubText {
  padding-top: 20px;
  border-top: 1px solid #988443;
  font-size: 15px;
  line-height: 30px;
  text-align: left;
  margin-bottom: 14px;
}

.viewingTicketSubText p:not(:last-child) {
  margin-bottom: 8px;
}

.viewingTicketSubTextFinishDate {
  font-size: 15px;
  line-height: 21px;
  margin-top: 19px;
}

.viewingTicketSubTextDate {
  font-size: 18px;
  line-height: 26px;
  margin-top: 20px;
  font-weight: bold;
}

.viewingTicketSubTextRed {
  font-size: 18px;
  line-height: 26px;
  font-weight: bold;
  margin-top: 8px;
  color: #ff0000;
}

.viewingTicketLabel {
  margin: auto auto 0;
  width: 277px;
  padding: 6px;
  background: #ebebeb;
  font-size: 16px;
  letter-spacing: 0.32px;
  line-height: 24px;
  font-weight: 500;
}

.viewingTicketLinkArea {
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.viewingTicketLinkUnit {
  flex: 1;
}

.viewingTicketLink {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  height: 73px;
  border: 1px solid #fff;
  border-top: 0;
  color: #fff;
  position: relative;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 1.2px;
  line-height: 29px;
  width: 100%;
  text-align: center;
  flex-direction: column;
}

.viewingTicketLink span {
  font-size: 15px;
  line-height: 21px;
  font-weight: 400;
  padding-left: 7px;
}

.viewingTicketLink::after {
  content: '';
  width: 7.2px;
  height: 7.2px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  right: 17px;
  top: 0;
  bottom: 0;
  margin: auto;
}

.viewingTicketLinkBlack {
  background: #000;
}

.viewingTicketLinkGreen {
  background: #6a9843;
}

.viewingTicketLinkBlue {
  background: #438e98;
}

.viewingTicketLinkUnitSp {
  display: none;
}

@media screen and (max-width: 1400px) {
  .ticket {
    padding: 8.571vw 0 16vw;
  }

  .ticket h2 {
    width: 17.955vw;
    margin: 0 auto 5.174vw;
  }

  .viewingTicketMain {
    gap: 1.429vw;
  }

  .viewingTicketUnit {
    padding: 1.714vw 2.143vw 1.143vw;
  }

  .viewingTicketUnitIcon {
    width: 6.857vw;
    margin: 0 auto 1.143vw;
  }

  .viewingTicketUnitTitle {
    height: 9.357vw;
    font-size: 1.714vw;
    letter-spacing: 0.103vw;
    line-height: 2.286vw;
    margin-bottom: 1.214vw;
  }

  .viewingTicketUnitPriceArea {
    height: 8.143vw;
    margin-bottom: 1.143vw;
  }

  .viewingTicketUnitPriceTitle {
    font-size: 2.143vw;
    line-height: 3.214vw;
  }

  .viewingTicketUnitPrice {
    font-size: 2.571vw;
    line-height: 3.714vw;
  }

  .viewingTicketUnitPrice span {
    font-size: 1.714vw;
    margin-left: -0.571vw;
  }

  .viewingTicketUnitB .viewingTicketUnitPrice,
  .viewingTicketUnitC .viewingTicketUnitPrice {
    margin-right: -0.571vw;
  }

  .viewingTicketSubText {
    padding-top: 1.429vw;
    font-size: 1.071vw;
    line-height: 2.143vw;
    margin-bottom: 1vw;
  }

  .viewingTicketSubText p:not(:last-child) {
    margin-bottom: 0.571vw;
  }

  .viewingTicketSubTextFinishDate {
    font-size: 1.071vw;
    line-height: 1.5vw;
    margin-top: 1.357vw;
  }

  .viewingTicketSubTextDate {
    font-size: 1.286vw;
    line-height: 1.857vw;
    margin-top: 1.429vw;
  }

  .viewingTicketSubTextRed {
    font-size: 1.286vw;
    line-height: 1.857vw;
    margin-top: 0.571vw;
  }

  .viewingTicketLabel {
    width: 19.786vw;
    padding: 0.429vw;
    font-size: 1.143vw;
    letter-spacing: 0.023vw;
    line-height: 1.714vw;
  }

  .viewingTicketLinkArea {
    gap: 1.286vw;
  }

  .viewingTicketLink {
    height: 5.214vw;
    font-size: 1.429vw;
    letter-spacing: 0.086vw;
    line-height: 2.071vw;
  }

  .viewingTicketLink span {
    font-size: 1.071vw;
    line-height: 1.5vw;
    padding-left: 0.5vw;
  }

  .viewingTicketLink::after {
    width: 0.514vw;
    height: 0.514vw;
    right: 1.214vw;
  }

  .viewingTicketArea {
    margin-bottom: 1.071vw;
  }

  .viewingTicketText {
    font-size: 1.143vw;
    letter-spacing: 0.03vw;
    line-height: 1.857vw;
  }

  .viewingTicketText a {
    text-decoration: underline;
  }
}

@media screen and (max-width: 768px) {
  .ticket {
    background-image: url('../images/ticket_bg_sp.png');
    padding: 80px 0;
  }

  .ticket h2 {
    width: 123px;
    margin: 0 auto 34.03px;
  }

  .viewingTicketMain {
    flex-direction: column;
    gap: 32.03px;
  }

  .viewingTicketArea {
    margin-bottom: 10px;
  }

  .viewingTicketText {
    font-size: 16px;
    letter-spacing: 0.42px;
    line-height: 26px;
  }

  .viewingTicketUnit {
    padding: 19px 0 0;
  }

  .viewingTicketUnitIcon {
    width: 70px;
  }

  .viewingTicketUnitTitle {
    min-height: 80px;
    height: auto;
    font-size: 20px;
    letter-spacing: 1.08px;
    line-height: 25px;
    max-width: calc(100% - 22px);
    margin: auto;
  }

  .viewingTicketUnitPriceArea {
    margin: 0 auto 14.5px;
    height: auto;
    max-width: calc(100% - 22px);
  }

  .viewingTicketUnitPriceTitle {
    font-size: 22px;
    line-height: 32px;
  }

  .viewingTicketUnitPrice {
    font-size: 27px;
    line-height: 39px;
  }

  .viewingTicketUnitPrice span {
    font-size: 18px;
    margin-left: -8px;
  }

  .viewingTicketUnitB .viewingTicketUnitPriceRow,
  .viewingTicketUnitC .viewingTicketUnitPriceRow {
    justify-content: center;
  }

  .viewingTicketUnitB .viewingTicketUnitPriceTitle,
  .viewingTicketUnitC .viewingTicketUnitPriceTitle {
    margin-right: 21px;
  }

  .viewingTicketSubText {
    margin: 0 auto 8px;
    max-width: calc(100% - 22px);
    padding-top: 16px;
    font-size: 14px;
    line-height: 26px;
    width: 100%;
  }

  .viewingTicketSubTextFinishDate {
    font-size: 13px;
    line-height: 19px;
    margin-top: 15px;
  }

  .viewingTicketSubTextDate {
    font-size: 16px;
    line-height: 23px;
    margin-top: 16px;
  }

  .viewingTicketSubTextRed {
    font-size: 16px;
    line-height: 23px;
    margin-top: 6px;
  }

  .viewingTicketLabel {
    max-width: 223.52px;
    width: 100%;
    font-size: 12px;
    letter-spacing: 0.24px;
    line-height: 17px;
    padding: 6px;
    margin-bottom: 8px;
  }

  .viewingTicketLinkArea {
    display: none;
  }

  .viewingTicketLinkUnitSp {
    display: block;
  }

  .viewingTicketLink {
    height: 58.4px;
    font-size: 15px;
    letter-spacing: 0.9px;
    line-height: 23px;
  }

  .viewingTicketLink span {
    font-size: 14px;
    line-height: 20px;
  }

  .viewingTicketLink::after {
    width: 7.2px;
    height: 7.2px;
    right: 17px;
  }
}
@media screen and (max-width: 389px) {
  .ticket {
    padding: 20.513vw 0;
  }

  .ticket h2 {
    width: 31.538vw;
    margin: 0 auto 8.726vw;
  }

  .viewingTicketMain {
    gap: 8.213vw;
  }

  .viewingTicketArea {
    margin-bottom: 2.564vw;
  }

  .viewingTicketText {
    font-size: 4.103vw;
    letter-spacing: 0.108vw;
    line-height: 6.667vw;
    font-weight: bold;
  }

  .viewingTicketUnit {
    padding: 4.872vw 0 0;
  }

  .viewingTicketUnitIcon {
    width: 17.949vw;
  }

  .viewingTicketUnitTitle {
    min-height: 20.513vw;
    font-size: 5.128vw;
    letter-spacing: 0.277vw;
    line-height: 6.41vw;
    max-width: calc(100% - 5.641vw);
  }

  .viewingTicketUnitPriceArea {
    margin: 0 auto 3.718vw;
    max-width: calc(100% - 5.641vw);
  }

  .viewingTicketUnitPriceTitle {
    font-size: 5.641vw;
    line-height: 8.205vw;
  }

  .viewingTicketUnitPrice {
    font-size: 6.923vw;
    line-height: 10vw;
  }

  .viewingTicketUnitPrice span {
    font-size: 4.615vw;
    margin-left: -2.051vw;
  }

  .viewingTicketUnitB .viewingTicketUnitPriceTitle,
  .viewingTicketUnitC .viewingTicketUnitPriceTitle {
    margin-right: 5.385vw;
  }

  .viewingTicketSubText {
    margin: 0 auto 2.051vw;
    max-width: calc(100% - 5.641vw);
    padding-top: 4.103vw;
    font-size: 3.59vw;
    line-height: 6.667vw;
  }

  .viewingTicketSubTextFinishDate {
    font-size: 3.333vw;
    line-height: 4.872vw;
    margin-top: 3.846vw;
  }

  .viewingTicketSubTextDate {
    font-size: 4.103vw;
    line-height: 5.897vw;
    margin-top: 4.103vw;
  }

  .viewingTicketSubTextRed {
    font-size: 4.103vw;
    line-height: 5.897vw;
    margin-top: 1.538vw;
  }

  .viewingTicketLabel {
    max-width: 57.313vw;
    font-size: 3.077vw;
    letter-spacing: 0.062vw;
    line-height: 4.359vw;
    padding: 1.538vw;
    margin-bottom: 2.051vw;
  }

  .viewingTicketLink {
    height: 14.974vw;
    font-size: 3.846vw;
    letter-spacing: 0.231vw;
    line-height: 5.897vw;
  }

  .viewingTicketLink span {
    font-size: 3.59vw;
    line-height: 5.128vw;
  }

  .viewingTicketLink::after {
    width: 1.846vw;
    height: 1.846vw;
    right: 4.359vw;
  }
}

/* guide */
.guide {
  padding: 120px 0 120px;
}

.guide h2 {
  width: 166.24px;
  margin: 0 auto 64.7px;
}

.guideMain {
  display: flex;
  align-items: center;
  gap: 40px;
}

.guideMainImg {
  width: 50vw;
  background-image: url('../images/building.jpg');
  height: 508px;
  background-size: cover;
  background-position: right center;
  margin-left: calc(50% - 50vw);
}

.guideMainTextTitle {
  font-weight: 500;
  font-size: 24px;
  line-height: 30px;
  margin-bottom: 24px;
}

.guideMainContent {
  font-size: 18px;
  line-height: 28px;
  letter-spacing: 0.54px;
  margin-bottom: 30px;
}

.guideMainContent p {
  font-size: 20px;
  letter-spacing: 0.6px;
}

.googleMap {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  height: 73px;
  background: #000;
  border-top: 0;
  color: #fff;
  position: relative;
  max-width: 232px;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 1.2px;
  line-height: 29px;
  width: 100%;
  text-align: center;
  flex-direction: column;
}

.googleMap::after {
  content: '';
  width: 7.2px;
  height: 7.2px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  right: 17px;
  top: 0;
  bottom: 0;
  margin: auto;
}

@media screen and (max-width: 1200px) {
  .guide {
    padding: 10vw 0 10vw;
  }

  .guide h2 {
    width: 13.853vw;
    margin: 0 auto 5.392vw;
  }

  .guideMain {
    gap: 3.333vw;
  }

  .guideMainImg {
    width: 50vw;
    height: 42.333vw;
    margin-left: calc(50% - 50vw);
  }

  .guideMainTextTitle {
    font-size: 2vw;
    line-height: 2.5vw;
    margin-bottom: 2vw;
  }

  .guideMainContent {
    font-size: 1.5vw;
    line-height: 2.333vw;
    letter-spacing: 0.045vw;
    margin-bottom: 2.5vw;
  }

  .guideMainContent p {
    font-size: 1.667vw;
    letter-spacing: 0.05vw;
  }

  .googleMap {
    height: 6.083vw;
    max-width: 19.333vw;
    font-size: 1.667vw;
    letter-spacing: 0.1vw;
    line-height: 2.417vw;
  }

  .googleMap::after {
    width: 0.6vw;
    height: 0.6vw;
    right: 1.417vw;
  }
}

@media screen and (max-width: 768px) {
  .guide {
    padding: 80px 0;
  }

  .guide h2 {
    width: 87.86px;
    margin: 0 auto 32.8px;
  }

  .guideMain {
    flex-direction: column;
    align-items: flex-start;
    gap: 41.5px;
  }

  .guideMainImg {
    width: 100%;
    background-image: url('../images/building_sp.jpg');
    height: 48.846vw;
    background-position: center;
    margin-left: 0;
  }

  .guideMainTextTitle {
    font-size: 18px;
    line-height: 30px;
    margin-bottom: 26px;
  }

  .guideMainContent {
    font-size: 16px;
    line-height: 28px;
    letter-spacing: 0px;
    margin-bottom: 20px;
  }

  .guideMainContent p {
    font-size: 16px;
    line-height: 28px;
    letter-spacing: 0;
  }

  .googleMap {
    height: 60px;
    max-width: 191px;
    font-size: 16px;
    letter-spacing: 0.96px;
    line-height: 24px;
  }

  .googleMap::after {
    width: 7.2px;
    height: 7.2px;
    right: 17px;
  }
}

@media screen and (max-width: 389px) {
  .guide {
    padding: 20.513vw 0;
  }

  .guide h2 {
    width: 22.528vw;
    margin: 0 auto 8.41vw;
  }

  .guideMain {
    gap: 10.641vw;
  }

  .guideMainTextTitle {
    font-size: 4.615vw;
    line-height: 7.692vw;
    margin-bottom: 6.667vw;
  }

  .guideMainContent {
    font-size: 4.103vw;
    line-height: 7.179vw;
    margin-bottom: 5.128vw;
  }

  .guideMainContent p {
    font-size: 4.103vw;
    line-height: 7.179vw;
  }

  .googleMap {
    height: 15.385vw;
    max-width: 48.974vw;
    font-size: 4.103vw;
    letter-spacing: 0.246vw;
    line-height: 6.154vw;
  }

  .googleMap::after {
    width: 1.846vw;
    height: 1.846vw;
    right: 4.359vw;
  }
}

/* sponsor */
.sponsor {
  padding: 140px 0 110px;
}

.sponsor h2 {
  width: 383px;
  margin: 0 auto 75.47px;
}

.sponsorClass {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 260px;
}

.sponsorClass:last-child {
  margin-bottom: 0;
}

.sponsorClassTitle {
  width: fit-content;
  padding: 4px 19px;
  display: inline-block;
  background: #444444;
  transform: skewX(-12deg);
  margin-bottom: 109px;
}

.sponsorClassTitle h3 {
  font-size: 22px;
  line-height: 30px;
  letter-spacing: 1.98px;
  color: #ffffff;
  font-family: 'Cardo', serif;
  transform: skewX(12deg);
}

.sponsorClassCompany {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0;
}

/* sponsorPlatinum */
.sponsorPlatinum .sponsorClassTitle {
  background: transparent linear-gradient(90deg, #65c3c3 0%, #6789b2 54%, #887ccc 100%);
}

.sponsorPlatinum .sponsorClassCompany img {
  width: 400px;
}

/* sponsorGold */
.sponsorGold .sponsorClassTitle {
  background: #988443;
}

.sponsorGold .sponsorClassCompany {
  max-width: 1430px;
  gap: 0 250px;
}

.sponsorGold .sponsorClassCompany img {
  width: 520px;
}

/* sponsorSilver */
.sponsorSilver .sponsorClassTitle {
  background: #909090;
}

.sponsorSilver .sponsorClassCompany {
  max-width: 1430px;
}

.sponsorSilver .sponsorClassCompanyRow:first-child {
  margin-bottom: 110px;
}

.sponsorSilver .sponsorClassCompany {
  gap: 110px 214px;
}

.sponsorSilver .sponsorClassCompany img {
  width: 334px;
}

.sponsorSilver {
  margin-bottom: 161px;
}

/* sponsorSupporter */
.sponsorSupporter .sponsorClassTitle {
  background: #000000;
}

.sponsorSupporter .sponsorClassCompany img {
  width: 334px;
}

@media screen and (max-width: 1500px) {
  .sponsor {
    padding: 9.333vw 0 7.333vw;
  }

  .sponsor h2 {
    width: 25.533vw;
    margin: 0 auto 5.031vw;
  }

  .sponsorClass {
    margin-bottom: 17.333vw;
  }

  .sponsorClassTitle {
    padding: 0.267vw 1.267vw;
    margin-bottom: 7.267vw;
  }

  .sponsorClassTitle h3 {
    font-size: 1.467vw;
    line-height: 2vw;
    letter-spacing: 0.132vw;
  }

  .sponsorPlatinum .sponsorClassCompany img {
    width: 26.667vw;
  }

  .sponsorGold .sponsorClassCompany {
    gap: 0 2vw;
  }

  .sponsorGold .sponsorClassCompany img {
    width: 34.667vw;
  }

  .sponsorSilver .sponsorClassCompanyRow:first-child {
    margin-bottom: 7.333vw;
  }

  .sponsorSilver .sponsorClassCompany {
    gap: 7.333vw 14.267vw;
  }

  .sponsorSilver .sponsorClassCompany img {
    width: 22.267vw;
  }

  .sponsorSilver {
    margin-bottom: 10.733vw;
  }

  .sponsorSupporter .sponsorClassCompany img {
    width: 22.267vw;
  }
}

@media screen and (max-width: 768px) {
  .sponsorMain {
    width: calc(100% - 30px);
    margin: auto;
  }

  .sponsor {
    padding: 80px 0 160px;
  }

  .sponsor h2 {
    width: 200.81px;
    margin: 0 auto 155px;
  }

  .sponsorClass {
    margin-bottom: 161.34px;
  }

  .sponsorClass:last-child {
    margin-bottom: 0;
  }

  .sponsorClassTitle {
    padding: 4px 17px;
    margin-bottom: 50px;
  }

  .sponsorClassTitle h3 {
    font-size: 14px;
    line-height: 19px;
    letter-spacing: 1.26px;
  }

  .sponsorPlatinum .sponsorClassCompany img {
    width: 268px;
  }

  .sponsorGold .sponsorClassCompany {
    gap: 40px 0;
  }

  .sponsorGold .sponsorClassCompany a {
    width: 50%;
  }

  .sponsorGold .sponsorClassCompany img {
    width: 100%;
  }

  .sponsorGold.sponsorClass {
    margin-bottom: 183px;
  }

  .sponsorGold .sponsorClassTitle {
    margin-bottom: 78px;
  }

  /* sponsorSilver */
  .sponsorSilver .sponsorClassCompany {
    max-width: 1430px;
  }

  .sponsorSilver .sponsorClassCompanyRow:first-child {
    margin-bottom: 110px;
  }

  .sponsorSilver .sponsorClassCompany {
    gap: 65px 10px;
  }

  .sponsorSilver .sponsorClassCompany a {
    width: calc(33.333% - 10px);
  }

  .sponsorSilver .sponsorClassCompany img {
    width: 100%;
  }

  .sponsorSilver.sponsorClass {
    margin-bottom: 136px;
  }

  .sponsorSilver .sponsorClassTitle {
    margin-bottom: 78px;
  }

  /* sponsorSupporter */
  .sponsorSupporter .sponsorClassTitle {
    margin-bottom: 71px;
  }

  .sponsorSupporter .sponsorClassCompany img {
    width: 151px;
  }
}

@media screen and (max-width: 389px) {
  .sponsorMain {
    width: calc(100% - 7.692vw);
  }

  .sponsor {
    padding: 20.513vw 0 41.026vw;
  }

  .sponsor h2 {
    width: 51.49vw;
    margin: 0 auto 39.744vw;
  }

  .sponsorClass {
    margin-bottom: 41.369vw;
  }

  .sponsorClassTitle {
    padding: 1.026vw 4.359vw;
    margin-bottom: 12.821vw;
  }

  .sponsorClassTitle h3 {
    font-size: 3.59vw;
    line-height: 4.872vw;
    letter-spacing: 0.323vw;
  }

  .sponsorPlatinum .sponsorClassCompany img {
    width: 68.718vw;
  }

  .sponsorGold .sponsorClassCompany {
    gap: 10.256vw 0;
  }

  .sponsorGold.sponsorClass {
    margin-bottom: 46.923vw;
  }

  .sponsorGold .sponsorClassTitle {
    margin-bottom: 20vw;
  }

  .sponsorSilver .sponsorClassCompany {
    max-width: 366.667vw;
  }

  .sponsorSilver .sponsorClassCompanyRow:first-child {
    margin-bottom: 28.205vw;
  }

  .sponsorSilver .sponsorClassCompany {
    gap: 16.667vw 2.564vw;
  }

  .sponsorSilver .sponsorClassCompany a {
    width: calc(33.333% - 2.564vw);
  }

  .sponsorSilver.sponsorClass {
    margin-bottom: 34.872vw;
  }

  .sponsorSilver .sponsorClassTitle {
    margin-bottom: 20vw;
  }

  .sponsorSupporter .sponsorClassTitle {
    margin-bottom: 18.205vw;
  }

  .sponsorSupporter .sponsorClassCompany img {
    width: 38.718vw;
  }
}

/* footer */
.organizing {
  padding: 66px 0 54px;
  text-align: center;
  background: linear-gradient(270deg, #bae780 0%, #4d9d7a 54%, #306c6c 100%) 0% 0% no-repeat;
}

.organizingText {
  color: #fff;
  font-size: 24px;
  font-weight: 500;
  line-height: 35px;
  margin-bottom: 23px;
}

.organizingLogo {
  width: 620px;
  margin: auto;
  display: block;
}

.organizingLogo img {
  width: 100%;
}

.support {
  padding: 52px 0 68px;
}

.supportText {
  font-size: 24px;
  font-weight: 500;
  line-height: 35px;
  margin-bottom: 16px;
  text-align: center;
}

.supportLogo {
  display: block;
  width: 317px;
  margin: auto;
}

.supportLogo img {
  width: 100%;
}

.footerMain {
  text-align: center;
  background: #000000;
  padding: 10px 0;
}

.footerText {
  font-size: 14px;
  line-height: 20px;
  color: #fff;
}

@media screen and (max-width: 1200px) {
  .organizing {
    padding: 5.5vw 0 4.5vw;
  }

  .organizingText {
    font-size: 2vw;
    line-height: 2.917vw;
    margin-bottom: 1.917vw;
  }

  .organizingLogo {
    width: 51.667vw;
  }

  .support {
    padding: 4.333vw 0 5.667vw;
  }

  .supportText {
    font-size: 2vw;
    line-height: 2.917vw;
    margin-bottom: 1.333vw;
  }

  .supportLogo {
    width: 26.417vw;
  }

  .footerMain {
    padding: 0.833vw 0;
  }

  .footerText {
    font-size: 1.167vw;
    line-height: 1.667vw;
  }
}
@media screen and (max-width: 768px) {
  .organizing {
    padding: 34px 0;
  }

  .organizingText {
    font-size: 12px;
    line-height: 17px;
    margin-bottom: 15.86px;
  }

  .organizingLogo {
    width: 351.27px;
  }

  .support {
    padding: 65px 0 63px;
  }

  .supportText {
    font-size: 12px;
    line-height: 17px;
    margin-bottom: 7.5px;
  }

  .supportLogo {
    width: 202.4px;
  }

  .footerMain {
    padding: 12px 0;
  }

  .footerText {
    font-size: 10px;
    line-height: 15px;
  }
}
@media screen and (max-width: 389px) {
  .organizing {
    padding: 8.718vw 0;
  }

  .organizingText {
    font-size: 3.077vw;
    line-height: 4.359vw;
    margin-bottom: 4.067vw;
  }

  .organizingLogo {
    width: 90.069vw;
  }

  .support {
    padding: 16.667vw 0 16.154vw;
  }

  .supportText {
    font-size: 3.077vw;
    line-height: 4.359vw;
    margin-bottom: 1.923vw;
  }

  .supportLogo {
    width: 51.897vw;
  }

  .footerMain {
    padding: 3.077vw 0;
  }

  .footerText {
    font-size: 2.564vw;
    line-height: 3.846vw;
  }
}

/* flex btn */
.buyBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 174px;
  position: fixed;
  right: 20px;
  bottom: 20px;
}

@media screen and (max-width: 1200px) {
  .buyBtn {
    width: 14.5vw;
    right: 1.667vw;
    bottom: 1.667vw;
  }
}

@media screen and (max-width: 768px) {
  .buyBtn {
    display: none;
  }
}

/* modal */
.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal__container {
  position: absolute;
  background-color: #fff;
  padding: 38px 30px 30px;
  width: 947px;
  max-height: 80vh;
  overflow-y: auto;
}

.modal__close {
  display: block;
  width: 16px;
  height: 16px;
  position: absolute;
  right: 16px;
  top: 18px;
}

.modal__close::before,
.modal__close::after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background: #000;
  transform: rotate(45deg);
  transform-origin: 0% 50%;
  position: absolute;
  top: calc(14% - 5px);
  left: 14%;
}

.modal__close::after {
  transform: rotate(-45deg);
  transform-origin: 100% 50%;
  left: auto;
  right: 14%;
}

.modal__content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
}

.modal__profile__area {
  width: 309px;
  text-align: center;
}

.modal_profile__img__wrap {
  width: 100%;
  margin-bottom: 24px;
}

.modal_profile__img__wrap img {
  width: 100%;
}

#modal_profile__name {
  font-size: 28px;
  line-height: 40px;
  font-weight: 500;
  margin-bottom: 24px;
}

#modal_profile__subText {
  font-size: 15px;
  line-height: 24px;
}

#modal__text__area {
  flex: 1;
  font-size: 16px;
  line-height: 30px;
}

#modal__text__area a {
  color: -webkit-link;
  cursor: pointer;
  text-decoration: underline;
}

@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}

@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}

.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 30;
}

.micromodal-slide[aria-hidden='false'] .modal__overlay {
  animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden='false'] .modal__container {
  animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden='true'] .modal__overlay {
  animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide[aria-hidden='true'] .modal__container {
  animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}

@media screen and (max-width: 1200px) {
  .modal__overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .modal__container {
    padding: 3.167vw 2.5vw 2.5vw;
    width: 78.917vw;
  }

  .modal__close {
    width: 1.333vw;
    height: 1.333vw;
    right: 1.333vw;
    top: 1.5vw;
  }

  .modal__close::before,
  .modal__close::after {
    height: 0.083vw;
    top: calc(14% - 0.417vw);
  }

  .modal__content {
    gap: 3.333vw;
  }

  .modal__profile__area {
    width: 25.75vw;
  }

  .modal_profile__img__wrap {
    margin-bottom: 2vw;
  }

  #modal_profile__name {
    font-size: 2.333vw;
    line-height: 3.333vw;
    margin-bottom: 2vw;
  }

  #modal_profile__subText {
    font-size: 1.25vw;
    line-height: 2vw;
  }

  #modal__text__area {
    font-size: 1.333vw;
    line-height: 2.5vw;
  }
}

@media screen and (max-width: 768px) {
  .modal__container {
    padding: 40px 15px;
    width: calc(100% - 30px);
    max-height: 85vh;
  }

  .modal__content {
    display: block;
  }

  .modal__profile__area {
    width: 100%;
    text-align: center;
  }

  .modal_profile__img__wrap {
    width: 188px;
    margin: 0 auto 14px;
  }

  #modal_profile__name {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 8px;
  }

  #modal_profile__subText {
    font-size: 12px;
    line-height: 16px;
  }

  .modal_profile__text {
    margin-bottom: 14px;
  }

  #modal__text__area {
    font-size: 12px;
    line-height: 27px;
  }

  .modal__close {
    width: 16px;
    height: 16px;
    right: 16px;
    top: 18px;
  }

  .modal__close::before,
  .modal__close::after {
    height: 1px;
    top: calc(14% - 5px);
    left: 14%;
  }

  .modal__close::after {
    right: 14%;
    left: auto;
  }
}

@media screen and (max-width: 389px) {
  .modal__container {
    padding: 10.256vw 3.846vw;
    width: calc(100% - 7.692vw);
  }

  .modal_profile__img__wrap {
    width: 48.205vw;
    margin: 0 auto 3.59vw;
  }

  #modal_profile__name {
    font-size: 4.103vw;
    line-height: 6.154vw;
    margin-bottom: 2.051vw;
  }

  #modal_profile__subText {
    font-size: 3.077vw;
    line-height: 4.103vw;
  }

  .modal_profile__text {
    margin-bottom: 3.59vw;
  }

  #modal__text__area {
    font-size: 3.077vw;
    line-height: 6.923vw;
  }

  .modal__close {
    width: 4.103vw;
    height: 4.103vw;
    right: 4.103vw;
    top: 4.615vw;
  }

  .modal__close::before,
  .modal__close::after {
    height: 0.256vw;
    top: calc(14% - 1.282vw);
  }
}

/* exhibition */
.exhibition {
  padding: 118px 0 120px;
}

.exhibition > div {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}

.exhibitionRight {
  width: 540px;
}

.exhibitionLeft {
  flex: 1;
}

.exhibitionTitleArea {
  margin-bottom: 22px;
}

.exhibitionSubTitle {
  font-size: 22px;
  line-height: 29px;
  margin-bottom: 8px;
}

.exhibitionTitle img {
  max-width: 452.34px;
}

.exhibitionContentArea {
  margin-bottom: 20px;
}

.exhibitionDateTitle {
  font-size: 18px;
  font-weight: bold;
  line-height: 26px;
  margin-bottom: 10px;
}

.exhibitionDateContent {
  font-size: 22px;
  font-weight: 500;
  line-height: 32px;
  margin-bottom: 24px;
}

.exhibitionCompanyTitle {
  font-size: 18px;
  font-weight: bold;
  line-height: 26px;
  margin-bottom: 10px;
}

.exhibitionCompanyContent {
  font-size: 18px;
  line-height: 32px;
}

.exhibitionLinkSub {
  font-weight: 500;
  font-size: 18px;
  line-height: 26px;
  margin-bottom: 10px;
}

.exhibitionLink {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  height: 73px;
  background: #000;
  border-top: 0;
  color: #fff;
  position: relative;
  max-width: 438px;
  font-weight: 500;
  font-size: 20px;
  letter-spacing: 1.2px;
  line-height: 29px;
  width: 100%;
  text-align: center;
  flex-direction: column;
}

.exhibitionLink::after {
  content: '';
  width: 7.2px;
  height: 7.2px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  right: 17px;
  top: 0;
  bottom: 0;
  margin: auto;
}

@media screen and (max-width: 1200px) {
  .exhibition {
    padding: 9.833vw 0 10vw;
  }

  .exhibition > div {
    gap: 3.333vw;
  }

  .exhibitionRight {
    width: 45vw;
  }

  .exhibitionTitleArea {
    margin-bottom: 1.833vw;
  }

  .exhibitionSubTitle {
    font-size: 1.833vw;
    line-height: 2.417vw;
    margin-bottom: 0.667vw;
  }

  .exhibitionTitle img {
    max-width: 37.695vw;
  }

  .exhibitionContentArea {
    margin-bottom: 1.667vw;
  }

  .exhibitionDateTitle {
    font-size: 1.5vw;
    line-height: 2.167vw;
    margin-bottom: 0.833vw;
  }

  .exhibitionDateContent {
    font-size: 1.833vw;
    line-height: 2.667vw;
    margin-bottom: 2vw;
  }

  .exhibitionCompanyTitle {
    font-size: 1.5vw;
    line-height: 2.167vw;
    margin-bottom: 0.833vw;
  }

  .exhibitionCompanyContent {
    font-size: 1.5vw;
    line-height: 2.667vw;
  }

  .exhibitionLinkSub {
    font-size: 1.5vw;
    line-height: 2.167vw;
    margin-bottom: 0.833vw;
  }

  .exhibitionLink {
    height: 6.083vw;
    max-width: 36.5vw;
    font-size: 1.667vw;
    letter-spacing: 0.1vw;
    line-height: 2.417vw;
  }

  .exhibitionLink::after {
    width: 0.6vw;
    height: 0.6vw;
    right: 1.417vw;
  }
}

@media screen and (max-width: 768px) {
  .exhibition {
    padding: 80px 0 80px;
  }

  .exhibition > div {
    display: flex;
    flex-direction: column-reverse;
    gap: 30px;
  }

  .exhibitionRight {
    width: 100%;
  }

  .exhibitionLeft {
    width: 100%;
  }

  .exhibitionTitleArea {
    margin-bottom: 15px;
  }

  .exhibitionSubTitle {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 8px;
  }

  .exhibitionTitle img {
    max-width: none;
  }

  .exhibitionContentArea {
    margin-bottom: 20px;
  }

  .exhibitionDateTitle {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 4px;
  }

  .exhibitionDateContent {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 16px;
  }

  .exhibitionCompanyTitle {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 4px;
  }

  .exhibitionCompanyContent {
    font-size: 16px;
    line-height: 28px;
  }

  .exhibitionLinkSub {
    font-size: 14px;
    line-height: 20px;
    margin-bottom: 8px;
  }

  .exhibitionLink {
    height: 60px;
    max-width: none;
    width: 100%;
    font-size: 16px;
    letter-spacing: 0.96px;
    line-height: 24px;
  }

  .exhibitionLink::after {
    width: 7.2px;
    height: 7.2px;
    right: 17px;
  }
}

@media screen and (max-width: 389px) {
  .exhibition {
    padding: 20.566vw 0 20.566vw;
  }

  .exhibition > div {
    gap: 7.712vw;
  }

  .exhibitionTitleArea {
    margin-bottom: 3.856vw;
  }

  .exhibitionSubTitle {
    font-size: 3.599vw;
    line-height: 5.141vw;
    margin-bottom: 2.057vw;
  }

  .exhibitionContentArea {
    margin-bottom: 5.141vw;
  }

  .exhibitionDateTitle {
    font-size: 3.599vw;
    line-height: 5.141vw;
    margin-bottom: 1.028vw;
  }

  .exhibitionDateContent {
    font-size: 4.113vw;
    line-height: 6.17vw;
    margin-bottom: 4.113vw;
  }

  .exhibitionCompanyTitle {
    font-size: 3.599vw;
    line-height: 5.141vw;
    margin-bottom: 1.028vw;
  }

  .exhibitionCompanyContent {
    font-size: 4.113vw;
    line-height: 7.198vw;
  }

  .exhibitionLinkSub {
    font-size: 3.599vw;
    line-height: 5.141vw;
    margin-bottom: 2.057vw;
  }

  .exhibitionLink {
    height: 15.424vw;
    font-size: 4.113vw;
    letter-spacing: 0.247vw;
    line-height: 6.17vw;
  }

  .exhibitionLink::after {
    width: 1.851vw;
    height: 1.851vw;
    right: 4.37vw;
  }
}
