@charset "utf-8";

img {
  max-width: none;
  width: 100%;
}

.loading {
  display: none;
  position: fixed;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100%;
  background: #000;
  z-index: 999999;
  top: 0;
  left: 0;
}

.load-box {
  width: 18.8vw;
  position: relative;
  padding-bottom: 2.59vw;
}

.load-box::before,
.load-box::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  left: 0;
  bottom: 0;
  background: #808080;
  overflow: hidden;
}

.load-box::after {
  background: #fff;
  width: 0;
  animation: progress 2s normal;
  animation-fill-mode: forwards;
}

@keyframes progress {
  0% {
    width: 0
  }

  100% {
    width: 100%
  }
}

.mainvis {
  width: 100%;
  height: calc(100vh - 5.95vw);
  background: url(../img/main_bg.webp) center center / cover no-repeat;
  position: relative;
}

.mainvis .w-logo {
  position: absolute;
  width: 9.629vw;
  top: 2.37vw;
  left: 2.37vw;
}

.mainvis .main-txt {
  position: absolute;
  width: 16.666vw;
  top: 2.37vw;
  right: 2.37vw;
}

.mainvis .main-title {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  inset: 0;
  margin: auto;
  padding-bottom: 8vw;
}

.mainvis h1 {
  color: #fff;
  text-align: center;
  font-weight: 600;
  font-size: 2.3vw;
  letter-spacing: 0.05em;
}

.mainvis h1 img {
  width: 50vw;
  margin-top: 2.37vw;
}

.mainvis .main-date {
  display: flex;
  justify-content: space-between;
  width: 58.51vw;
  position: absolute;
  left: 2vw;
  bottom: 2.37vw;
}

.mainvis .date-box {
  background: #fff;
  width: 32.8%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.481vw 0;
}

.mainvis .date-box p {
  font-weight: 600;
  font-size: 1.481vw;
  margin-right: 1.4vw;
}

.mainvis .date-box dt {
  font-weight: 500;
  font-size: 1.037vw;
  display: table;
  border-bottom: 0.222vw solid var(--nagoya-color);
  padding: 0 0.37vw 0.3vw;
  margin-bottom: 0.6vw;
}

.mainvis .date-box.osa dt {
  border-color: var(--osaka-color);
}

.mainvis .date-box.tyo dt {
  border-color: var(--tokyo-color);
}

.mainvis .date-box dt span {
  font-family: 'Poppins';
  font-weight: 600;
  font-size: 2.518vw;
  position: relative;
  bottom: -0.18vw;
}

.mainvis .date-box dd {
  font-weight: 500;
  font-size: 0.888vw;
  text-align: center;
}

.news-box {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 26.814vw;
  z-index: 2;
  aspect-ratio: 1200 / 630;
}

.news-box li {
  position: absolute;
  top: 0;
  left: 0;
}

.news-box .close {
  position: absolute;
  width: 1em;
  height: 1em;
  top: -1em;
  right: 0;
  font-size: 3vw;
  text-align: right;
  cursor: pointer;
}

.news-box .close::before {
  content: "×";
  display: block;
  color: #fff;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 200;
}

.content h2 {
  font-weight: 600;
  font-size: 5.185vw;
}

.content .txt-area {
  display: inline-block;
  background: #000;
  color: #fff;
  font-size: 3.851vw;
  font-weight: 600;
  padding: 0.3vw 0.814vw 0.8vw;
  margin-right: 1.777vw;
}

.content .txt-day {
  font-weight: 500;
  font-size: 1.185vw;
}

.content .txt-day span {
  font-family: 'Poppins';
  font-weight: 600;
  font-size: 2.814vw;
  bottom: -0.18vw;
  position: relative;
}

.content .txt-place {
  font-weight: 600;
  font-size: 1.333vw;
  display: flex;
}

.content .txt-place::before {
  content: "";
  display: block;
  aspect-ratio: 14 / 21;
  width: 1.037vw;
  background: url(../common/img/ico_place.svg) 0 0 / contain no-repeat;
  flex-shrink: 0;
  margin-right: 0.444vw;
}

.about {
  background: #000;
  color: #fff;
  display: flex;
}

.about .about-txt {
  flex: 1;
  padding: 3vw 4vw 3vw;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.about .about-txt h2 {
  font-weight: 600;
  font-size: 2.666vw;
}

.about .about-txt h2 span {
  font-family: 'Poppins';
  font-weight: 600;
  font-size: 3.259vw;
}

.about .about-txt p {
  font-weight: 500;
  letter-spacing: 0.05em;
  font-size: 1.185vw;
  line-height: 1.875;
}


.about .about-movie {
  position: relative;
  aspect-ratio: 16 /9;
  width: 62.814vw;
}

.about .about-movie .btn {
  position: relative;
  width: 100%;
  height: 100%;
}

.about .about-movie .btn::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 1;
}

.about .about-movie .btn span::before {
  content: "";
  position: absolute;
  display: block;
  inset: 0;
  margin: auto;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: #fa021b;
  width: 1.185vw;
  height: 1.333vw;
  z-index: 2;
}

.about .about-movie .btn span::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 8.148vw;
  height: 8.148vw;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
  z-index: 1;
  transition: .3s;
}

.about .about-movie iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
}

.session {
  background: url(../img/bg_session.webp) right 0 / 33.333vw auto no-repeat;
}

.session h2 {
  display: flex;
  align-items: flex-end;
  height: 16.666vw;
  padding: 0 0 2.962vw 4.74vw;
}

.session-pick {
  padding: 4.444vw 4.74vw 5.925vw;
}

.session-tit {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 5.037vw;
}

.session-tit>* {
  width: 50%;
}

.session-place {
  display: flex;
  align-items: center;
}

.session-place dt {
  margin-bottom: 1vw;
}

.session-txt p {
  font-weight: 500;
  font-size: 1.185vw;
  line-height: 1.875;
  letter-spacing: 0.05em;
}

.session-set {
  padding-top: 2vw;
}

.session .lecture {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}

.session .lecture ul {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: -2vw;
  align-self: flex-end;
}

.session .lecture li {
  position: relative;
  width: 33.333%;
}

.session .lecture li figure {
  position: relative;
  bottom: 0;
  z-index: 0;
}

.session .lecture .lecture-txt {
  position: absolute;
  bottom: 1.4vw;
  left: 0;
  right: 0;
  margin: auto;
  word-wrap: break-word;
  display: flex;
  justify-content: center;
}

.session .lecture li dt {
  display: inline-block;
  background: #fff;
  font-size: 1.333vw;
  font-weight: 600;
  padding: 0.1vw 0.3vw 0.3vw;
  margin-bottom: 0.5vw;
}

.session .lecture li dt span {
  font-weight: 600;
  font-size: 0.888vw;
}

.session .lecture li dd p {
  display: inline;
  background: #fff;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  line-height: 1.666;
  font-size: 0.888vw;
  font-weight: 400;
  padding: 0 0.3vw;
}

.session .lecture .soon {
  flex: 1;
  text-align: center;
  color: #000;
}

.session .lecture .soon p {
  color: #000;
}

.session .key {
  padding: 0 2.444vw;
  position: relative;
}


.session-pick .key h4 {
  margin-top: 3.70vw;
  margin-right: 4.444vw;
  flex-shrink: 0;
}

.session-pick .key h4 span {
  display: inline-block;
  font-weight: 600;
  font-size: 3.925vw;
  letter-spacing: 0.05em;
  width: 2.1em;
  line-height: 1.188;
}

.session-pick .special {
  position: relative;
  margin-top: 2vw;
}

.session-pick .special>* {
  position: relative;
  z-index: 1;
}

.session-pick .special::after {
  content: "";
  position: absolute;
  display: block;
  inset: 0;
  margin: auto;
  background: #fff;
  width: calc(100% - 1.48vw);
  height: calc(100% - 1.48vw);
}

.session-pick .special-txt {
  width: 24.666vw;
  margin: 2vw 2.518vw;
  flex-shrink: 0;
  align-self: center;
}

.session-pick .special-txt h4 {
  font-weight: 600;
  font-size: 2.37vw;
  border-bottom: 1px solid #ccc;
  padding-bottom: 1vw;
  margin-bottom: 1.481vw;
}

.session-pick .special-txt p {
  font-weight: 600;
  font-size: 1.481vw;
  line-height: 1.65;
}

.session-pick .special.lecture li dt,
.session-pick .special.lecture li dd p {
  background: #000;
  color: #fff;
}

.session .btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000;
  width: 23.851vw;
  height: 3.703vw;
  margin: 4.148vw auto 0;
  font-weight: 500;
  font-size: 1.111vw;
  position: relative;
  transition: .3s;
}

.session .btn a::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  bottom: 0;
  right: 1.777vw;
  margin: auto;
  background: #fff;
  width: 0.444vw;
  height: 0.666vw;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.session .speker {
  position: relative;
}

.session .speker ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.session .speker ul::after {
  content: "";
  display: block;
  width: 33.3333%;
}

.session .speker li::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
}

.session .speker li {
  width: 33.3333%;
  position: relative;
  display: flex;
  background: rgba(0, 0, 0, 0.2);
}

.session .speker li::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  left: 0;
  bottom: 0;
  background: #fff;
  opacity: 0.2;
}

.session .speker li:nth-last-child(-n+2)::before {
  border: none;
}

.session .speker li>* {
  position: relative;
  z-index: 1;
  width: 50%;
}

.session .speker dl {
  color: #fff;
  padding: 1.777vw;
  font-size: 0.888vw;
}

.session .speker dt {
  font-weight: 600;
  font-size: 1.333vw;
  margin-bottom: 0.74vw;
}

.session .speker dt span {
  font-weight: 600;
  font-size: 0.888vw;
}

.session .speker dd p {
  font-weight: 400;
  line-height: 1.666;
}

.session .soon p {
  text-align: center;
  font-family: 'Poppins';
  font-weight: 600;
  font-size: 2.518vw;
  color: #fff;
  padding: 7.407vw;
}

/*開催地設定*/

/*名古屋*/
.ngo .session-pick {
  background: url(../img/bg_session_ngo.webp) 0 bottom / 100% auto no-repeat, var(--nagoya-color);
}

.ngo .key {
  background: url(../img/bg_key_ngo01.webp) 0 0 / cover no-repeat;
}

.ngo .key h4 span {
  background: linear-gradient(transparent 85%, var(--nagoya-color) 85%);
}

.ngo .special {
  background: url(../img/bg_key_ngo02.webp) 0 0 / cover no-repeat;
}

.ngo .speker {
  background: var(--nagoya-color);
}

.ngo .speker ul::after {
  background: url(../img/bg_speak_ngo.webp) 0 0 / cover no-repeat;
}

/*大阪*/
.osa .session-pick {
  background: url(../img/bg_session_osa.webp) 0 bottom / 100% auto no-repeat, var(--osaka-color);
}

.osa .key {
  background: url(../img/bg_key_osa01.webp) 0 0 / cover no-repeat;
}

.osa .key h4 span {
  background: linear-gradient(transparent 85%, var(--osaka-color) 85%);
}

.osa .special {
  background: url(../img/bg_key_osa02.webp) 0 0 / cover no-repeat;
}

.osa .speker {
  background: var(--osaka-color);
}

.osa .speker ul::after {
  background: url(../img/bg_speak_osa.webp) 0 0 / cover no-repeat;
}

.osa .soon {
  background: #0aada9;
}

/*東京*/
.tyo .session-pick {
  background: url(../img/bg_session_tyo.webp) 0 bottom / 100% auto no-repeat, var(--tokyo-color);
}

.tyo .txt-area span {
  font-family: 'Poppins';
  font-weight: 600;
  font-size: 2.518vw;
  margin-left: 0.5vw;
}

.tyo .session-tit {
  color: #fff;
}

.tyo .txt-place::before {
  background-image: url(../common/img/ico_place_w.svg);
}

.tyo .key {
  background: url(../img/bg_key_tyo01.webp) 0 0 / cover no-repeat;
}

.tyo .key h4 span {
  background: linear-gradient(transparent 85%, var(--tokyo-color) 85%);
}

.tyo .special {
  background: url(../img/bg_key_tyo02.webp) 0 0 / cover no-repeat;
}

.tyo .speker {
  background: var(--tokyo-color);
}

.tyo .speker ul::after {
  background: url(../img/bg_speak_tyo.webp) 0 0 / cover no-repeat;
}

.tyo .soon {
  background: #d20a21;
}

.exhibition {
  position: relative;
  background: #000;
  color: #fff;
  display: flex;
}

.exhibition::after {
  content: "";
  display: block;
  aspect-ratio: 1180 / 1195;
  background: url(../img/img_exhibition.webp) 0 0 / contain no-repeat;
  width: 58.444vw;
  flex-shrink: 0;
}

.ex-txt {
  padding: 7.407vw 4.74vw 0;
}

.ex-txt p {
  font-weight: 500;
  letter-spacing: 0.05em;
  font-size: 1.037vw;
  line-height: 2.142;
  margin: 2.222vw 0 0 0;
}

.exhibition .btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 23.777vw;
  height: 5.185vw;
  font-size: 1.333vw;
  background: #fa021b;
  position: relative;
  margin: 3.333vw auto 0;
}

.exhibition .btn a::before {
  content: "";
  position: absolute;
  display: block;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  top: 0;
  bottom: 0;
  right: 2vw;
  margin: auto;
  width: 0.444vw;
  height: 0.666vw;
  background: #fff;
}

.sponsor {
  background: url(../img/bg_speak_ngo.webp) right 0 / 33.333vw auto no-repeat,
    url(../img/bg_sponsor.webp) 0 0 / 100% auto no-repeat, #fad733;
  padding: 0 4.74vw 8.888vw;
}

.sponsor h2 {
  display: flex;
  align-items: flex-end;
  height: 16.666vw;
  padding: 0 0 2.962vw;
}

.sponsor-list {
  display: flex;
  justify-content: space-between;
}

.sponsor-list+.sponsor-list {
  margin-top: 1.481vw;
}

.sponsor-list h3 {
  font-family: 'Poppins';
  font-weight: 600;
  font-size: 2.814vw;
  border-top: 1px solid #000;
  width: 22.444vw;
  margin-right: 1.481vw;
  flex-shrink: 0;
  padding-top: 1.629vw;
  line-height: 1.052;
}

.sponsor-list ul {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 0.444vw;
}

.sponsor-list .col02 li {
  width: 32.6vw;
}

.sponsor-list .col03 li {
  width: 21.57vw;
}

.sponsor-list .col04 li {
  width: 16.08vw;
}

.sponsor-list .col06 li {
  width: 10.57vw;
}

.ambassador {
  padding: 8.148vw 4.74vw 8.888vw;
  background: url(../img/bg_ambassador.webp) 0 bottom / 100% auto no-repeat, #00cdc5;
}

.ambassador-tit {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 4.444vw;
}

.ambassador-txt {
  width: 28.518vw;
  flex-shrink: 0;
  letter-spacing: 0.05em;
}

.ambassador-txt p {
  font-size: 1.185vw;
  line-height: 1.875;
  font-weight: 500;
}

.ambassador-txt .note li {
  text-indent: -1em;
  padding-left: 1em;
  font-weight: 500;
  font-size: 0.888vw;
  margin-top: 1em;
}

.ambassador-img img {
  width: 100%;
  max-width: none;
}

.outline {
  background: url(../img/bg_speak_tyo.webp) right 0 / 33.333vw auto no-repeat,
    url(../img/bg_outline.webp) 0 0 / 100% auto no-repeat, #fa021b;
  padding: 0 4.74vw 8.888vw;
}

.outline h2 {
  display: flex;
  align-items: flex-end;
  height: 16.666vw;
  padding: 0 0 2.962vw;
  color: #fff;
}

.outline table {
  width: 100%;
  background: #fff;
  letter-spacing: 0.05em;
  line-height: 1.944;
}

.outline table th {
  background: #000;
  color: #fff;
  font-weight: 600;
  font-size: 1.111vw;
  vertical-align: middle;
  padding: 0 2.222vw;
  width: 9.481vw;
}

.outline table td {
  font-weight: 400;
  font-size: 1.333vw;
  padding: 1.481vw 2.37vw;
}

.outline table tr+tr th {
  border-top: 1px solid #4d4d4d;
}

.outline table tr+tr td {
  border-top: 1px solid #b2b2b2;
}

.outline-date p span {
  display: inline-block;
  text-indent: 3.15em;
}

.outline-date p+p {
  margin-top: 1.5em;
}

.outline-area {
  display: flex;
  justify-content: space-between;
  margin-top: 4.814vw;
  font-size: 1.037vw;
}

.outline-area .area-box {
  background: #fff;
  width: 28.148vw;
  display: flex;
  flex-direction: column;
}

.outline-area .area-txt {
  height: 100%;
  padding: 2.962vw 1.925vw;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.outline-area .area-date {
  display: flex;
  align-items: flex-end;
  margin-bottom: 1.777vw;
}

.outline-area .txt-area {
  font-size: 2.888vw;
  margin-right: 1.111vw;
}

.outline-area .txt-address {
  line-height: 1.785;
  margin: 0.5vw 0 1vw;
  letter-spacing: 0.03em;
}

.outline-area li {
  line-height: 1.5;
  display: flex;
  letter-spacing: 0.03em;
}

.outline-area li::before {
  content: "・";
  width: 1em;
  display: block;
  flex-shrink: 0;
}

.outline-area li+li {
  margin-top: 0.5em;
}

.outline-area .btn {
  margin-top: auto;
}

.outline-area .btn a {
  background: #000;
  width: 16.814vw;
  height: 3.703vw;
  margin: 2.962vw auto 0;
  position: relative;
  font-size: 1.333vw;
}

.outline-area .btn a::before {
  content: "";
  position: absolute;
  display: block;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  top: 0;
  bottom: 0;
  right: 1.777vw;
  margin: auto;
  width: 0.444vw;
  height: 0.666vw;
  background: #fff;
}


/*Scroll animetion set*/

/*下から上*/
.mainvis .main-title,
.mainvis .main-date {
  clip-path: inset(100% 0 0 0);
  transition: all 1.5s ease;
}

.mainvis .main-date {
  transition: all .8s ease;
  transition-delay: 0.5s;
}

.mainvis .btn-area p {
  transition-delay: 0.2s;
}

.mainvis .btn-area ul {
  transition-delay: 0.5s;
}

/*右から左*/
.about h2,
.session h2,
.exhibition h2,
.sponsor h2,
.ambassador h2,
.outline h2,
.session-set {
  clip-path: inset(0 100% 0 0);
  transition: all 0.8s ease;
}

.mainvis.is-show .main-title,
.mainvis.is-show .main-date,
.content h2.is-show,
.session-set.is-show {
  clip-path: inset(0);
}

/*フェ－ドイン*/
.session-tit,
.speker li,
.sponsor li,
.ambassador-img,
.outline .area-box {
  opacity: 0;
  transition: all 0.8s;
}

.session-tit.is-show,
.speker li.is-show,
.sponsor li.is-show,
.ambassador-img.is-show,
.outline .area-box.is-show {
  opacity: 1;
}

/*All END*/
/* ----------------------------------------------------
メディアクエリ設定 (PC) 769px～
---------------------------------------------------- */
@media screen and (min-width: 961px) {
  .anker-list {
    position: fixed;
    right: 0;
    top: 12vw;
    width: 120px;
    background: #fff;
    z-index: 99;
    padding: 30px 0;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
  }

  .anker-list li {
    position: relative;
    display: flex;
  }

  .anker-list li+li {
    margin-top: 18px;
  }

  .anker-list a {
    color: #000;
    text-decoration: none;
    position: relative;
    display: inline-block;
    padding-left: 20px;
  }


  .anker-list a span::before {
    content: "";
    position: absolute;
    bottom: 0;
    width: 0;
    height: 1px;
    background: #000;
    display: block;
    transition: .3s;
  }


  .anker-list span {
    display: inline-block;
    font-weight: 600;
    font-size: 1.4rem;
    position: relative;
    letter-spacing: 0.05em;
  }

  .anker-list .active::after {
    content: "";
    position: absolute;
    top: 2px;
    bottom: 0;
    left: 0;
    margin: auto;
    display: block;
    width: 12px;
    height: 2px;
    background: #fa021b;
  }


  /*tablet PC END*/
}

/* ----------------------------------------------------
hover
---------------------------------------------------- */
@media (hover: hover) {
  .about .about-movie .btn span:hover::after {
    transform: scale(1.1);
  }

}

/* ----------------------------------------------------
メディアクエリ設定 (smartPhone only)   0～768px
---------------------------------------------------- */
@media screen and (max-width: 960px) {
  .pc-only {
    display: none;
  }

  .load-box {
    width: 40vw;
    position: relative;
    padding-bottom: 5vw;
  }


  .anker-list {
    display: none;
  }

  .mainvis {
    height: 153.125vw;
    background-image: url(../img/main_bg_sp.webp);
  }

  .mainvis .w-logo {
    width: 22.03125vw;
    top: 3.125vw;
    left: 3.125vw;
  }

  .mainvis .main-txt {
    width: 46.875vw;
    top: 6.25vw;
    right: 4.6875vw;
  }

  .mainvis .main-title {
    padding: 32vw 0 0 0;
    width: 90.625vw;
    position: relative;
    inset: auto;
    margin: 0 auto;
  }

  .mainvis h1 {
    text-align: left;
    width: 100%;
    font-size: 5.46875vw;
    line-height: 1.285;
  }

  .mainvis h1 img {
    width: 100%;
    margin-top: 4.6875vw;
  }

  .mainvis .main-date {
    width: 90.625vw;
    margin: 7.03125vw auto 0;
    position: relative;
    inset: auto;
  }

  .mainvis .date-box {
    flex-direction: column;
    padding: 3.75vw 0;
  }

  .mainvis .date-box p {
    font-size: 5vw;
    margin: 0 0 3.125vw 0;
  }

  .mainvis .date-box dt {
    font-size: 3.125vw;
    padding: 0 0 0.8vw;
    margin: 0 auto 1.5vw;
    border-width: 0.9375vw;
  }

  .mainvis .date-box dt span {
    font-size: 5.3125vw;
  }

  .mainvis .date-box dd {
    font-size: 3.125vw;
    line-height: 1.3;
  }

  .news-box {
    width: 55%;
  }

  .news-box .close {
    font-size: 8vw;
  }

  .content h2 {
    font-size: 10.9375vw;
  }

  .content .txt-area {
    font-size: 9.0625vw;
    margin-right: 5vw;
    padding: 1.5vw 2.34375vw 2.5vw;
  }

  .content .txt-day {
    font-size: 3.75vw;
  }

  .content .txt-day span {
    font-size: 7.5vw;
  }

  .content .txt-place {
    font-size: 4.375vw;
    line-height: 1.214;
  }

  .content .txt-place::before {
    width: 2.8125vw;
    height: 4.0625vw;
    margin-right: 1.25vw;
    margin-top: 1vw;
  }

  .about {
    display: block;
  }

  .about .about-txt {
    padding: 8.59375vw 4.6875vw;
  }

  .about .about-txt h2 {
    font-size: 6.25vw;
    margin-bottom: 3.125vw;
  }

  .about .about-txt h2 span {
    font-size: 7.1875vw;
  }

  .about .about-txt p {
    font-size: 4.0625vw;
  }

  .about .about-movie {
    width: 100%;
  }

  .about .about-movie .btn span::before {
    width: 2.5vw;
    height: 2.8125vw;
  }

  .about .about-movie .btn span::after {
    width: 17.1875vw;
    height: 17.1875vw;
  }

  .session {
    background: url(../img/bg_session_sp.webp) right 0 / 33.28125vw auto no-repeat;
  }

  .session h2 {
    height: 29.84375vw;
    padding: 0 0 6.25vw 4.6875vw;
  }

  .session-pick {
    padding: 10vw 4.6875vw;
  }

  .session-place {
    width: 100%;
    margin-bottom: 6.25vw;
  }

  .session-txt {
    width: 100%;
    margin-bottom: 7.8125vw;
  }

  .session-txt p {
    font-size: 4.0625vw;
  }

  .session-set {
    padding: 0;
  }

  .session .lecture {
    display: block;
  }

  .session .lecture ul {
    margin-top: 0;
    justify-content: center;
    gap: 3vw 0;
  }

  .session .lecture li {
    width: 55%;
    overflow: hidden;
    margin: 0 -5%;
  }

  .session .lecture li dl {
    bottom: 0;
    left: 5%;

  }

  .session .lecture li figure img {
    width: 120%;
    position: relative;
    left: -5%;
  }

  .session .lecture li dt {
    font-size: 4.0625vw;
    padding: 1vw 1.5vw;
  }

  .session .lecture li dt span {
    font-size: 2.8125vw;
  }

  .session .lecture li dd p {
    font-size: 2.8125vw;
    padding: 0 1vw;
    line-height: 1.8;
  }

  .session .key {
    padding: 9vw 0 5vw;
    margin-bottom: 4.5vw;
  }

  .session-pick .key h4 {
    text-align: center;
    margin: 0 0 3.90625vw;
  }

  .session-pick .key h4 span {
    text-align: center;
    font-size: 8.28125vw;
    width: auto;
    padding-bottom: 0.8vw;
  }

  .session-pick .special {
    padding-bottom: 10vw;
  }

  .session-pick .special::before {
    width: calc(100% - 6.25vw);
    height: calc(100% - 6.25vw);

  }

  .session-pick .special-txt {
    width: 100%;
    margin: 0;
    padding: 9.375vw 7.8125vw 4.6875vw;
  }

  .session-pick .special-txt h4 {
    font-size: 6.5625vw;
    padding-bottom: 3.125vw;
    margin-bottom: 3.125vw;
  }

  .session-pick .special-txt p {
    font-size: 5vw;
  }

  .session .btn a {
    width: 57.8125vw;
    height: 11.25vw;
    font-size: 3.4375vw;
    margin-top: 8.75vw;
  }

  .session .btn a::before {
    right: 3.125vw;
    width: 1.875vw;
    height: 2.5vw;
  }

  .session .speker ul::after {
    width: 50%;
  }

  .session .speker li {
    width: 50%;
    flex-direction: column;
  }

  .session .speker li::before {
    width: 1px;
    height: 100%;
  }

  .session .speker li>* {
    width: 100%;
  }

  .session .speker dl {
    padding: 4.6875vw;
    font-size: 3.125vw;
  }

  .session .speker dt {
    font-size: 4.0625vw;
    margin-bottom: 2vw;
  }

  .session .speker dt span {
    font-size: 3.125vw;
  }

  .session .soon p {
    font-size: 5.9375vw;
    padding: 21vw 0;
  }

  /*開催地設定*/

  /*名古屋*/
  .ngo .session-pick {
    background-image: url(../img/bg_session_ngo_sp.webp);
  }

  .ngo .key {
    background-image: url(../img/bg_key_ngo01_sp.webp);
  }

  .ngo .key h4 span {
    background: linear-gradient(transparent 70%, var(--nagoya-color) 70%);
  }

  .ngo .special {
    background-image: url(../img/bg_key_ngo02_sp.webp);
  }

  .ngo .speker ul::after {
    background-image: url(../img/bg_speak_ngo_sp.webp);
  }

  /*大阪*/
  .osa .session-pick {
    background-image: url(../img/bg_session_osa_sp.webp);
  }

  .osa .key {
    background-image: url(../img/bg_key_osa01_sp.webp);
  }

  .osa .key h4 span {
    background: linear-gradient(transparent 70%, var(--osaka-color) 70%);
  }

  .osa .special {
    background-image: url(../img/bg_key_osa02_sp.webp);
  }

  .osa .speker ul::after {
    background-image: url(../img/bg_speak_osa_sp.webp);
  }

  /*東京*/

  .tyo .session-pick {
    background-image: url(../img/bg_session_tyo_sp.webp);
  }

  .tyo .txt-area {
    text-align: center;
  }

  .tyo .txt-area span {
    font-size: 5.9375vw;
    display: block;
    margin-top: 1.5vw;
  }

  .tyo .key {
    background-image: url(../img/bg_key_tyo01_sp.webp);
  }

  .tyo .key h4 span {
    background: linear-gradient(transparent 70%, var(--tokyo-color) 70%);
  }

  .tyo .special {
    background-image: url(../img/bg_key_tyo02_sp.webp);
  }

  .tyo .speker ul::after {
    background-image: url(../img/bg_speak_tyo_sp.webp);
  }

  .exhibition {
    display: block;
  }

  .exhibition::after {
    width: 100%;
  }

  .ex-txt {
    padding: 14.625vw 4.6875vw;
  }

  .ex-txt p {
    font-size: 4.0625vw;
    margin-top: 4vw;
  }

  .exhibition .btn a {
    margin-top: 6.25vw;
    width: 62.5vw;
    height: 13.75vw;
    font-size: 3.75vw;
  }

  .exhibition .btn a::before {
    right: 4.6875vw;
    height: 2.8125vw;
    width: 2.1875vw;
  }

  .sponsor {
    background: url(../img/bg_session_sp.webp) right 0 / 33.28125vw auto no-repeat, url(../img/bg_sponsor_sp.webp) 0 0 / 100% auto repeat-y;
    padding: 0 0 7vw;
  }

  .sponsor h2 {
    height: 29.84375vw;
    padding: 0 0 6.25vw 4.6875vw;
    border-bottom: 1px solid #000;
  }

  .sponsor-list {
    padding: 7.8125vw 4.6875vw;
    display: block;
  }

  .sponsor-list+.sponsor-list {
    border-top: 1px solid #000;
  }

  .sponsor-list h3 {
    width: 100%;
    border: none;
    font-size: 7.1875vw;
    margin: 0 0 3.75vw 0;
    padding: 0;
  }

  .sponsor-list ul {
    gap: 3.125vw;
  }

  .sponsor-list .col02 li {
    width: 100%;
  }

  .sponsor-list .col03 li {
    width: 43.5vw;
  }

  .sponsor-list .col04 li {
    width: 28vw;
  }

  .sponsor-list .col06 li {
    width: 20.3vw;
  }

  .ambassador {
    background-image: url(../img/bg_ambassador_sp.webp);
    padding: 14.625vw 4.6875vw;
  }

  .ambassador-tit {
    display: block;
    margin: 0 0 7.8125vw;
  }

  .ambassador-txt {
    width: 100%;
    margin-top: 4.6875vw;
  }

  .ambassador-txt p {
    font-size: 4.0625vw;
  }

  .ambassador-txt .note li {
    font-size: 3.125vw;
  }

  .outline {
    background: url(../img/bg_outline02_sp.webp) right 0 / 33.28125vw auto no-repeat, url(../img/bg_outline_sp.webp) 0 0 / 100% auto repeat-y;
    padding: 0 4.6875vw 14.625vw;
  }

  .outline h2 {
    height: 29.84375vw;
    padding: 0 0 6.25vw;
  }

  .outline table {
    line-height: 1.6;
  }

  .outline table th {
    font-size: 3.4375vw;
    width: 21.875vw;
    padding: 0 3.125vw;
  }

  .outline table td {
    font-size: 3.4375vw;
    padding: 4.8675vw;
  }

  .outline-date p span {
    text-indent: 0;
  }

  .outline-date p b {
    display: inline-block;
    margin-top: 2vw;
  }

  .outline-area {
    flex-direction: column;
    gap: 3.125vw 0;
  }

  .outline-area .area-box {
    width: 81.25vw;
    margin: 0 auto;
  }

  .outline-area .area-txt {
    padding: 6.25vw 4.6875vw;
  }

  .outline-area .area-date {
    margin-bottom: 4.6875vw;
  }

  .outline-area .txt-area {
    font-size: 6.875vw;
    margin-right: 3.125vw;
  }

  .outline-area .txt-address {
    font-size: 3.125vw;
    margin: 1vw 0 2.5vw;
  }

  .outline-area li {
    font-size: 3.125vw;
  }

  .outline-area .btn a {
    width: 57.8125vw;
    height: 11.25vw;
    font-size: 3.4375vw;
    margin-top: 6.25vw;
  }

  .outline-area .btn a::before {
    right: 3.125vw;
    width: 2.5vw;
    height: 1.875vw;
  }

  /*smartPhone END*/
}