@charset "UTF-8";
/* =================================================================
 base
================================================================= */
*::before, *::after {
  box-sizing: border-box;
}

html {
  height: 100%;
}
html.lity-active body {
  overflow: hidden;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  min-width: 320px;
}

#wholeWrapper,
#main,
#event-header,
.modal {
  color: #1b2c55;
  background: #FFF;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  font-feature-settings: "palt";
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  word-break: break-word;
}
@media screen and (max-width: 1080px) {
  #wholeWrapper,
  #main,
  #event-header,
  .modal {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  #wholeWrapper,
  #main,
  #event-header,
  .modal {
    font-size: 14px;
  }
}

@media screen and (max-width: 1000px) {
  body.non-scroll {
    overflow: hidden;
  }
}

/* 共通スタイル（タグ）
-------------------------------------------------------------*/
p {
  margin-top: 1.375em;
}
p.lead {
  margin: 1.9444444444em auto 0;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 18px;
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 1080px) {
  p.lead {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  p.lead {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  p.lead {
    margin-top: 1.6em;
    font-size: 15px;
  }
}
p.lead + .notice-l .indent, p.lead + .notice .indent, p.lead + .notice-s .indent {
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  p.lead + .notice-l .indent, p.lead + .notice .indent, p.lead + .notice-s .indent {
    margin-inline: 0;
  }
}
p.lead-ex {
  margin: 4.0909090909em auto 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 1080px) {
  p.lead-ex {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  p.lead-ex {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  p.lead-ex {
    margin-top: 2.6666666667em;
    font-size: 15px;
  }
}

a {
  color: #1d9bff;
  text-decoration: none;
  transition: all 0.3s;
  color: #ee7800;
}
@media (hover: hover) {
  a:hover {
    opacity: 0.8;
  }
}
a[href^="tel:"] {
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
a.txt-link {
  display: inline-block;
  margin-right: 0.75em;
  text-decoration: underline;
  text-underline-offset: 0.3125em;
  position: relative;
}
a.txt-link::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 6/12;
  width: 0.5em;
  height: auto;
  background-image: url(../media/images/common/icon_link_next_orange.svg);
  position: absolute;
  top: calc(50% + 0.125em);
  right: -0.25em;
  transform: translate(100%, -50%);
}
a.mail {
  color: #1b2c55;
}
a.help-link {
  display: inline-block;
  margin-right: 1.4375em;
  color: #ee7800;
  text-decoration: underline;
  text-underline-offset: 0.3125em;
  position: relative;
}
a.help-link::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 19/14;
  width: 1.125em;
  height: auto;
  background-image: url(../media/images/common/icon_help.svg);
  position: absolute;
  top: 50%;
  right: -0.25em;
  transform: translate(100%, -50%);
}
a.external-link {
  display: inline-block;
  margin-right: 1.3125em;
  text-decoration: underline;
  text-underline-offset: 0.3125em;
  position: relative;
}
a.external-link::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 0.9375em;
  height: auto;
  background-image: url(../media/images/common/icon_external.svg);
  position: absolute;
  top: calc(50% + 0.125em);
  right: -0.375em;
  transform: translate(100%, -50%);
}
a.pdf-link {
  display: inline-block;
  margin-right: 1.3125em;
  text-decoration: underline;
  text-underline-offset: 0.3125em;
  position: relative;
}
a.pdf-link::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 15/18;
  width: 0.9375em;
  height: auto;
  background-image: url(../media/images/common/icon_pdf.svg);
  position: absolute;
  top: calc(50% + 0.125em);
  right: -0.375em;
  transform: translate(100%, -50%);
}
a.show-detail-link {
  display: block;
  padding-block: 0.7142857143em;
  width: calc(5em + 2.8571428571em);
  color: #1b2c55;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  position: relative;
}
@media screen and (max-width: 1080px) {
  a.show-detail-link {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  a.show-detail-link {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  a.show-detail-link {
    font-size: 14px;
  }
}
a.show-detail-link::after, a.show-detail-link::before {
  content: "";
  display: block;
  width: 1.0714285714em;
  height: 2px;
  background: #1b2c55;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
}
a.show-detail-link::before {
  transform: translate(0, -50%) rotate(90deg);
}

button,
input[type=submit] {
  transition: all 0.2s;
}
@media (hover: hover) {
  button:hover,
  input[type=submit]:hover {
    opacity: 0.8;
  }
}

em {
  font-style: normal;
  font-weight: 700;
}

/* 共通スタイル（id、class）
-------------------------------------------------------------*/
.anchor {
  scroll-padding-top: 70px;
}
@media screen and (max-width: 1080px) {
  .anchor {
    scroll-padding-top: 61px;
  }
}
@media screen and (max-width: 767px) {
  .anchor {
    scroll-padding-top: 50px;
  }
}

.pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.inner-only {
  display: none;
}
@media screen and (max-width: 1080px) {
  .inner-only {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .inner-only {
    display: none;
  }
}

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

.show-inner {
  display: none;
}
@media screen and (max-width: 1080px) {
  .show-inner {
    display: block;
  }
}

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

@media screen and (min-width: 768px) {
  .pc-br::before {
    content: "\a";
    white-space: pre;
  }
}

@media screen and (max-width: 1080px) {
  .inner-br::before {
    content: "\a";
    white-space: pre;
  }
}
@media screen and (max-width: 767px) {
  .inner-br::before {
    content: none;
  }
}

@media screen and (max-width: 767px) {
  .sp-br::before {
    content: "\a";
    white-space: pre;
  }
}

.hide {
  display: none !important;
}

@media screen and (min-width: 768px) {
  .hide-pc {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .hide-sp {
    display: none !important;
  }
}

.first {
  margin-top: 0 !important;
}

.last {
  margin-bottom: 0 !important;
}

.end {
  margin-bottom: 0 !important;
}

.txt-left {
  text-align: left;
}

.txt-right {
  text-align: right;
}

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

@media screen and (max-width: 767px) {
  .txt-left-sp {
    text-align: left;
  }
}

@media screen and (max-width: 767px) {
  .txt-right-sp {
    text-align: right;
  }
}

@media screen and (max-width: 767px) {
  .txt-center-sp {
    text-align: center;
  }
}

.bold {
  font-weight: 700;
}

.error {
  color: #ee7800;
}

.attention {
  color: #ee7800;
}

.indent {
  display: block;
  padding-left: 1em;
  width: -moz-fit-content;
  width: fit-content;
  text-indent: -1em;
  text-align: left;
}
.indent.en {
  padding-left: 0.5em;
  text-indent: -0.5em;
}

.notice-l {
  font-size: 0.9375em;
}
@media screen and (max-width: 767px) {
  .notice-l {
    font-size: 0.92em;
  }
}

.notice {
  font-size: 0.875em;
}
@media screen and (max-width: 767px) {
  .notice {
    font-size: 0.92em;
  }
}

.notice-s {
  font-size: 0.75em;
}
@media screen and (max-width: 767px) {
  .notice-s {
    font-size: 0.92em;
  }
}

.zoom {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
.zoom::before {
  content: "";
  display: block;
  width: 1.875em;
  height: 1.875em;
  background: #ee7800;
  position: absolute;
  bottom: 0;
  right: 0;
}
.zoom::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  width: 1.3125em;
  height: 1.3125em;
  background-image: url(../media/images/common/icon_zoom.svg);
  position: absolute;
  bottom: 0.25em;
  right: 0.25em;
}
.zoom img {
  display: block;
  width: 100%;
  height: auto;
}

.not-copy {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

/* ブロック
-------------------------------------------------------------*/
#wholeWrapper,
#main {
  margin: auto;
  padding-bottom: 7.5em;
  width: 100%;
  flex: 1;
  position: relative;
  z-index: 101;
}
@media screen and (max-width: 767px) {
  #wholeWrapper,
  #main {
    padding-bottom: 4.2857142857em;
  }
}
#wholeWrapper.simple,
#main.simple {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  padding: 0;
}

section + section .large-title {
  margin-top: 3.75em;
}

.inner {
  margin-inline: auto;
  padding-inline: 40px;
  width: 100%;
  max-width: 1080px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1080px) {
  .inner {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 767px) {
  .inner {
    padding-inline: 20px;
  }
}
.inner.wide-s {
  margin-inline: auto;
  padding-inline: 40px;
  width: 100%;
  max-width: 1080px;
  max-width: 1280px;
}
@media screen and (max-width: 1080px) {
  .inner.wide-s {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 767px) {
  .inner.wide-s {
    padding-inline: 20px;
  }
}
@media screen and (max-width: 767px) {
  .inner.wide-s {
    max-width: 1240px;
  }
}
.inner.narrow {
  margin-inline: auto;
  padding-inline: 40px;
  width: 100%;
  max-width: 1080px;
  max-width: 730px;
}
@media screen and (max-width: 1080px) {
  .inner.narrow {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 767px) {
  .inner.narrow {
    padding-inline: 20px;
  }
}
@media screen and (max-width: 767px) {
  .inner.narrow {
    max-width: 690px;
  }
}

.message-box {
  padding: 3.125em 2.5em 3.125em;
  background: #f7f7f7;
}
@media screen and (max-width: 767px) {
  .message-box {
    padding: 2.1428571429em 1.4285714286em;
  }
}
.message-box .small-title {
  text-align: center;
}
.message-box .small-title:first-child {
  margin-top: 0.75em;
}
.message-box .buttons {
  margin-top: 1.75em;
}
.message-box .buttons + .link-list a {
  margin-inline: auto;
}
.message-box .buttons + .link-list a.txt-link {
  margin-right: auto;
}
.message-box .link-list {
  margin-top: 1.625em;
}
.message-box .link-list a {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  color: #ee7800;
  font-size: 14px;
  text-decoration: none;
}
@media screen and (max-width: 1080px) {
  .message-box .link-list a {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .message-box .link-list a {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .message-box .link-list a {
    font-size: 13px;
  }
}
.message-box .link-list a.txt-link {
  margin-right: 1.1428571429em;
}
.message-box .link-list a.txt-link::after {
  width: 0.8571428571em;
  background-image: url(../media/images/common/icon_link_next_red.svg);
  top: calc(50% + 0.0714285714em);
  right: -0.4285714286em;
}
.message-box.terms {
  margin-top: 2.5em;
  padding: 2.5em;
  padding-right: 1.25em;
}
@media screen and (max-width: 767px) {
  .message-box.terms {
    margin-top: 1.4285714286em;
    padding: 1.4285714286em;
    padding-right: 0.7142857143em;
  }
}
.message-box.terms .terms-inner {
  padding-right: 1.25em;
  width: 100%;
  max-height: 26.25em;
  overflow-y: auto;
}
@-moz-document url-prefix() {
  .message-box.terms .terms-inner {
    scrollbar-width: 0.25em;
    scrollbar-color: #1b2c55 #e5e5e5;
  }
}
.message-box.terms .terms-inner::-webkit-scrollbar {
  background: #e5e5e5;
  width: 0.25em;
  border-radius: 999px;
}
.message-box.terms .terms-inner::-webkit-scrollbar-thumb {
  background: #1b2c55;
  border-radius: 999px;
}
@media screen and (max-width: 767px) {
  .message-box.terms .terms-inner {
    padding-right: 0.7142857143em;
    max-height: 14.2857142857em;
  }
}
.message-box.terms .chapter-title {
  font-size: 14px;
}
@media screen and (max-width: 1080px) {
  .message-box.terms .chapter-title {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .message-box.terms .chapter-title {
    font-size: 12px;
  }
}
.message-box.terms .chapter-title + .sentence {
  margin-top: 0.2857142857em;
}
.message-box.terms * + .chapter-title {
  margin-top: 1.7142857143em;
}
.message-box.terms .sentence {
  margin-top: 1.7142857143em;
  font-size: 14px;
}
@media screen and (max-width: 1080px) {
  .message-box.terms .sentence {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .message-box.terms .sentence {
    font-size: 12px;
  }
}
.message-box .lead {
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .message-box .lead {
    font-size: 15px;
    text-align: left;
  }
}
.message-box + .buttons {
  margin-top: 4.375em;
}
@media screen and (max-width: 767px) {
  .message-box + .buttons {
    margin-top: 2.5em;
  }
}
.message-box:has(.form-table-wrap, .form-table) {
  margin-inline: auto;
  padding: 3.5em 2.5em 3.75em;
  max-width: 900px;
}
@media screen and (max-width: 767px) {
  .message-box:has(.form-table-wrap, .form-table) {
    padding: 2.1428571429em 1.4285714286em;
  }
}
.message-box .form-table-wrap {
  margin-inline: auto;
  max-width: 650px;
}
.message-box .form-table-wrap .link-list {
  margin-top: 0.875em;
}
.message-box .form-table-wrap .link-list a {
  margin-left: auto;
}
.message-box .form-table-wrap + .buttons {
  margin-top: 3.5em;
}
@media screen and (max-width: 767px) {
  .message-box .form-table-wrap + .buttons {
    margin-top: 2.5em;
  }
}
.message-box .form-table {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 0.625em;
  margin-top: 3.125em;
}
@media screen and (max-width: 767px) {
  .message-box .form-table {
    margin-top: 2.1428571429em;
  }
}
.message-box .form-table .title {
  padding: 0;
  width: 100%;
  border: 0;
}
.message-box .form-table .title label {
  padding: 0;
}
.message-box .form-table .data {
  padding: 0;
  width: 100%;
  border: 0;
}
.message-box .form-table .data .data-unit {
  padding: 0;
}
.message-box .form-table .data + .title {
  margin-top: 1em;
}
.message-box .form-table + .buttons {
  margin-top: 3.5em;
}
@media screen and (max-width: 767px) {
  .message-box .form-table + .buttons {
    margin-top: 2.5em;
  }
}

.complete-message-box {
  margin-top: 3.5em;
}
@media screen and (max-width: 767px) {
  .complete-message-box {
    margin-top: 2.2857142857em;
  }
}
.complete-message-box .buttons {
  margin-top: 2.5em;
}

.agree-box {
  margin: 2.25em auto 0;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .agree-box {
    margin-top: 1.7142857143em;
  }
}

/* パーツ
-------------------------------------------------------------*/
.overlay {
  display: none;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  position: fixed;
  top: 0;
  left: 0;
}

.full-img img {
  width: 100%;
  height: auto;
}

#to-top {
  display: block;
  position: absolute;
  bottom: 30px;
  right: 30px;
  z-index: 100;
}
@media screen and (max-width: 767px) {
  #to-top {
    bottom: 10px;
    right: 10px;
  }
}
#to-top .to-top-btn {
  display: block;
  width: 3.125em;
  height: 3.125em;
  background: #1b2c55;
  display: block;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  border-radius: 50%;
  opacity: 0;
  visibility: hidden;
  position: relative;
  transition: all 0.2s;
}
#to-top .to-top-btn::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 22/14;
  width: 1.375em;
  height: auto;
  background-image: url(../media/images/common/icon_to_top.svg);
  position: absolute;
  top: calc(50% - 0.125em);
  left: 50%;
  transform: translate(-50%, -50%) scale(1, -1);
}
#to-top.fixed {
  position: fixed;
  bottom: 30px;
  right: 30px;
  transform: translate(0, 0);
}
@media screen and (max-width: 767px) {
  #to-top.fixed {
    bottom: 10px;
    right: 10px;
  }
}
#to-top.active .to-top-btn {
  opacity: 1;
  visibility: visible;
}

/* QR
-------------------------------------------------------------*/
.qr {
  margin: 1.875em auto 0;
  text-align: center;
}
.qr img {
  width: 100%;
  max-width: 13.125em;
  height: auto;
  border: solid 1px #e5e5e5;
}
@media screen and (max-width: 767px) {
  .qr img {
    max-width: 11.4285714286em;
  }
}

/* 動画
-------------------------------------------------------------*/
.movie-wrap {
  margin: 1.125em auto 0;
  background: #222;
}

.movie {
  margin: 0 auto;
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
  overflow: hidden;
  position: relative;
}
.movie iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.movie img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
}

/* 見出し
-------------------------------------------------------------*/
.page-title-wrap {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: center;
  margin-bottom: 3.125em;
  padding-block: 3.125em;
  padding-inline: 40px;
  background: linear-gradient(90deg, #1b2c55, 65%, #60639e);
  min-height: 12.5em;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 1080px) {
  .page-title-wrap {
    padding-inline: 40px;
  }
}
@media screen and (max-width: 767px) {
  .page-title-wrap {
    padding-inline: 20px;
  }
}
@media screen and (max-width: 767px) {
  .page-title-wrap {
    margin-bottom: 2.1428571429em;
    padding-block: 2.1428571429em;
    min-height: 7.5em;
  }
}
.page-title-wrap::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 734/268;
  width: 45.875em;
  height: auto;
  background-image: url(../media/images/common/bg_page_title.webp);
  position: absolute;
  right: -5.625em;
  bottom: -4.8125em;
}
@media screen and (max-width: 767px) {
  .page-title-wrap::before {
    width: 22.8571428571em;
    right: -7.1428571429em;
    bottom: -1.7142857143em;
  }
}
.page-title-wrap .page-title {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 0.1666666667em;
  margin-inline: auto;
  padding-left: 0.7222222222em;
  width: 100%;
  max-width: 1000px;
  color: #FFF;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.2;
  position: relative;
}
@media screen and (max-width: 1080px) {
  .page-title-wrap .page-title {
    font-size: 32px;
  }
}
@media screen and (max-width: 767px) {
  .page-title-wrap .page-title {
    font-size: 20px;
  }
}
.page-title-wrap .page-title::before {
  content: "";
  display: block;
  width: 3px;
  height: calc(100% - 0.2777777778em);
  background: #00a68f;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  top: calc(50% + 0.0555555556em);
  left: 0;
}
@media screen and (max-width: 767px) {
  .page-title-wrap .page-title::before {
    width: 2px;
  }
}
.page-title-wrap .page-title .en {
  font-size: 0.55em;
}
.page-title-wrap + section .large-title, .page-title-wrap + form .large-title {
  margin-top: 4.4375em;
}
@media screen and (max-width: 767px) {
  .page-title-wrap + section .large-title, .page-title-wrap + form .large-title {
    margin-top: 2.6315789474em;
  }
}
.page-title-wrap + section .message-box, .page-title-wrap + form .message-box {
  margin-top: 9.375em;
}
@media screen and (max-width: 767px) {
  .page-title-wrap + section .message-box, .page-title-wrap + form .message-box {
    margin-top: 3.5714285714em;
  }
}

.section-title {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: flex-start;
  margin-block: 2.9em 1.25em;
  padding-bottom: 0.325em;
  color: #222;
  font-size: 40px;
  font-weight: 700;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 1080px) {
  .section-title {
    font-size: 36px;
  }
}
@media screen and (max-width: 767px) {
  .section-title {
    font-size: 25px;
  }
}
.section-title::after {
  content: "";
  display: block;
  width: 1.875em;
  height: 0.09375em;
  background: #00a68f;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: 0;
}
.section-title .en {
  font-size: 0.5em;
  color: #1b2c55;
  line-height: 1;
}

.section-title-s {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.4em;
  margin-block: 2.75em 1.4em;
  font-size: 20px;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 1080px) {
  .section-title-s {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .section-title-s {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .section-title-s {
    margin-block: 1.8823529412em 0.9411764706em;
    font-size: 17px;
  }
}
.section-title-s::after {
  content: "";
  display: block;
  width: 60px;
  min-width: 60px;
  height: 3px;
  background: #00a68f;
}
@media screen and (max-width: 767px) {
  .section-title-s::after {
    width: 46px;
    min-width: 46px;
  }
}

.large-title {
  margin-block: 2.875em 1.09375em;
  padding-bottom: 0.625em;
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 1080px) {
  .large-title {
    font-size: 29px;
  }
}
@media screen and (max-width: 767px) {
  .large-title {
    font-size: 19px;
  }
}
@media screen and (max-width: 767px) {
  .large-title {
    margin-block: 2.6315789474em 1.3157894737em;
  }
}
.large-title::after {
  content: "";
  display: block;
  width: 1.875em;
  height: 0.09375em;
  background: #00a68f;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: 0;
}

.medium-title {
  margin: 1.5833333333em auto;
  padding-left: 0.5833333333em;
  font-size: 24px;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 1080px) {
  .medium-title {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  .medium-title {
    font-size: 17px;
  }
}
@media screen and (max-width: 767px) {
  .medium-title {
    margin: 1.1764705882em auto;
  }
}
.medium-title::before {
  content: "";
  display: block;
  width: 0.1666666667em;
  height: calc(100% - 0.5em);
  background: #1b2c55;
  position: absolute;
  left: 0;
  top: calc(50% + 0.07em);
  transform: translate(0, -50%);
}

.small-title {
  margin: 1.75em 0 1.25em;
  font-size: 20px;
  font-weight: 700;
}
@media screen and (max-width: 1080px) {
  .small-title {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .small-title {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .small-title {
    margin-bottom: 20px;
    font-size: 15px;
  }
}

/* ボタン
-------------------------------------------------------------*/
.buttons {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  gap: 0.9375em 1.875em;
  margin-top: 5em;
}
@media screen and (max-width: 767px) {
  .buttons {
    margin-top: 2.8571428571em;
  }
  .buttons.sp-reverse {
    flex-direction: column-reverse;
  }
}
.buttons p {
  margin-top: 0;
  width: 100%;
  text-align: center;
}
.buttons.control {
  margin-top: 7.5em;
}
@media screen and (max-width: 767px) {
  .buttons.control {
    margin-top: 4.2857142857em;
  }
}
.buttons.inner-end {
  margin-top: 3.75em;
}
@media screen and (max-width: 767px) {
  .buttons.inner-end {
    margin-top: 2.1428571429em;
  }
}
.buttons.content-end {
  margin-block: 10em 2.5em;
}
@media screen and (max-width: 767px) {
  .buttons.content-end {
    margin-block: 5.7142857143em 1.4285714286em;
  }
}

.button {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  padding: 0.5em 1em;
  border: solid 2px #1b2c55;
  background: #1b2c55;
  color: #FFF;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  border-radius: 999px;
  position: relative;
}
.button.large {
  padding: 0.5em 1.2em;
  width: 17.5em;
  max-width: 100%;
  min-height: 3.5em;
  font-size: 20px;
}
@media screen and (max-width: 1080px) {
  .button.large {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .button.large {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  .button.large {
    min-height: 2.7777777778em;
    font-size: 18px;
  }
}
.button.medium-l {
  padding: 0.5em 1.2em;
  width: 18.75em;
  min-height: 70px;
}
@media screen and (max-width: 767px) {
  .button.medium-l {
    min-height: 50px;
  }
}
.button.medium {
  padding: 0.5em 1.2em;
  width: 14.375em;
  min-height: 50px;
}
.button.small {
  padding: 0.5em 1.2em;
  width: 14.2857142857em;
  min-height: 2.8571428571em;
  font-size: 14px;
}
@media screen and (max-width: 1080px) {
  .button.small {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .button.small {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .button.small {
    min-height: 2.5714285714em;
    font-size: 14px;
  }
}
.button.positive {
  border-color: #ee7800;
  background: #ee7800;
  color: #FFF;
}
.button.normal {
  border-color: #1b2c55;
  background: #1b2c55;
  color: #FFF;
}
.button.border {
  border-color: #ee7800;
  background: #FFF;
  color: #ee7800;
}
.button.border-normal {
  border-color: #1b2c55;
  background: #FFF;
  color: #1b2c55;
}
.button.negative {
  border-color: #1b2c55;
  background: #FFF;
  color: #1b2c55;
}
.button.disabled, .button[disabled] {
  border-color: #d9d9d9;
  background: #d9d9d9;
  color: #999;
  pointer-events: none;
}
.button.next, .button.link {
  padding-inline: calc(1.2em + 1.1875em);
}
.button.next::after, .button.link::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 19/12;
  width: 1.1875em;
  min-width: 1.1875em;
  height: auto;
  background-image: url(../media/images/common/icon_btn_next.svg);
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0.9375em;
  transform: translate(0, -50%) scale(-1, 1);
}
.button.next.border::after, .button.link.border::after {
  background-image: url(../media/images/common/icon_btn_next_red.svg);
}
.button.next.negative::after, .button.link.negative::after {
  background-image: url(../media/images/common/icon_btn_next_blue.svg);
}
.button.next.icon-ex::before, .button.link.icon-ex::before {
  content: "";
  display: block;
  aspect-ratio: 1;
  width: 1.875em;
  height: auto;
  background: #FFF;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0.625em;
}
.button.next.icon-ex::after, .button.link.icon-ex::after {
  background-image: url(../media/images/common/icon_btn_next_red.svg);
}
.button.next.icon-ex.normal::after, .button.link.icon-ex.normal::after {
  background-image: url(../media/images/common/icon_btn_next_blue.svg);
}
@media screen and (max-width: 767px) {
  .button.next.icon-ex.large::before, .button.link.icon-ex.large::before {
    width: 1.5em;
    right: 0.4444444444em;
  }
  .button.next.icon-ex.large::after, .button.link.icon-ex.large::after {
    width: 0.9444444444em;
    min-width: 0.8888888889em;
    right: 0.6666666667em;
  }
}
.button.back {
  padding-inline: calc(1.2em + 1.1875em);
}
.button.back::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 19/12;
  width: 1.1875em;
  min-width: 1.1875em;
  height: auto;
  background-image: url(../media/images/common/icon_btn_next.svg);
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 0.9375em;
}
.button.back.border::after {
  background-image: url(../media/images/common/icon_btn_next_red.svg);
}
.button.back.negative::after {
  background-image: url(../media/images/common/icon_btn_next_blue.svg);
}
.button.external {
  padding-inline: calc(1.2em + 1em);
}
.button.external::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 1em;
  min-width: 1em;
  height: auto;
  background-image: url(../media/images/common/icon_btn_external.svg);
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0.8125em;
}
.button.external.border::after {
  background-image: url(../media/images/common/icon_btn_external_red.svg);
}
.button.external.negative::after {
  background-image: url(../media/images/common/icon_btn_external_blue.svg);
}
.button.external.medium-l {
  padding-inline: calc(1.2em + 1.3125em);
}
.button.external.medium-l::after {
  right: 1.125em;
}
.button.calendar {
  padding-inline: calc(1.2em + 2em) calc(1.2em + 1.25em);
}
.button.calendar::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 1.375em;
  height: auto;
  background-image: url(../media/images/common/icon_calendar.svg);
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 14px;
}
.button.show-detail {
  padding-inline: calc(1.2em + 1em);
}
.button.show-detail::after, .button.show-detail::before {
  content: "";
  display: block;
  width: 0.9375em;
  height: 2px;
  background: #1b2c55;
  position: absolute;
  top: 50%;
  right: 0.75em;
  transform: translate(0, -50%);
}
.button.show-detail::before {
  transform: translate(0, -50%) rotate(90deg);
}
.button.checkbox {
  border-color: #1b2c55;
  color: #1b2c55;
}
.button.checkbox input[type=checkbox] + label {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  padding: 0;
  width: 100%;
  height: 100%;
  border-radius: 999px;
  transition: all 0.2s;
  position: absolute;
  top: 0;
  left: 0;
}
.button.checkbox input[type=checkbox] + label::before, .button.checkbox input[type=checkbox] + label::after {
  content: none;
}
.button.checkbox input[type=checkbox] + label .text {
  display: inline-block;
  margin: 0;
  padding-block: 0.3125em;
  padding-left: 22px;
  font-weight: 700;
  text-align: left;
  position: relative;
  padding: 0;
  padding-left: 1.5714285714em;
}
@media screen and (max-width: 767px) {
  .button.checkbox input[type=checkbox] + label .text {
    padding-block: 0.2857142857em;
  }
}
.button.checkbox input[type=checkbox] + label .text::before {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  border: solid 1px #222;
  background: #FFF;
  border-radius: 3px;
  position: absolute;
  top: 10px;
  left: 0;
}
@media screen and (max-width: 767px) {
  .button.checkbox input[type=checkbox] + label .text::before {
    top: 7px;
  }
}
.button.checkbox input[type=checkbox] + label .text::before {
  border: solid 2px #1b2c55;
  top: calc(50% + 0.05em);
  transform: translate(0, -50%);
}
.button.checkbox input[type=checkbox]:checked + label {
  background: #1b2c55;
  color: #FFF;
}
.button.checkbox input[type=checkbox]:checked + label::before, .button.checkbox input[type=checkbox]:checked + label::after {
  content: none;
}
.button.checkbox input[type=checkbox]:checked + label .text::after {
  content: "";
  display: block;
  width: 9px;
  height: 6px;
  border-style: solid;
  border-width: 0 0 2px 2px;
  border-color: #222;
  background: #FFF;
  border-radius: 0;
  position: absolute;
  top: 13px;
  left: 3px;
  transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .button.checkbox input[type=checkbox]:checked + label .text::after {
    top: 10px;
  }
}
.button.checkbox input[type=checkbox]:checked + label .text::before {
  border-color: #FFF;
  background-color: #FFF;
}
.button.checkbox input[type=checkbox]:checked + label .text::after {
  border-color: #1b2c55;
  top: calc(50% - 0.05em);
  transform: translate(0, -50%) rotate(-45deg);
}
.button.checkbox.disabled {
  border-color: #d9d9d9;
}
.button.checkbox.disabled input[type=checkbox] + label {
  background: #d9d9d9;
  color: #999;
}
.button.checkbox.disabled input[type=checkbox] + label .text::before {
  border-color: #FFF;
  background-color: #FFF;
}
.button.checkbox.disabled input[type=checkbox] + label .text::after {
  border-color: #999;
}
.button.show-more {
  padding-inline: calc(1.2em + 1.375em);
}
.button.show-more::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 22/14;
  width: 1.375em;
  height: auto;
  background-image: url(../media/images/common/icon_more.svg);
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  right: 0.8125em;
  transition: all 0.2s;
}
.button.show-more.open::after {
  transform: translate(0, -50%) rotate(180deg);
}

.like-btn {
  display: block;
  width: 3.125em;
  height: 3.125em;
  background: #ee7800;
  border-radius: 50%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .like-btn {
    width: 2.8571428571em;
    height: 2.8571428571em;
  }
}
.like-btn::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 32/28;
  width: 2em;
  height: auto;
  background-image: url(../media/images/common/icon_heart_border.svg);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  top: calc(50% + 0.125em);
}
@media screen and (max-width: 767px) {
  .like-btn::after {
    width: 1.8571428571em;
  }
}
.like-btn .text {
  display: block;
  display: block;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
}
.like-btn.click::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 40/62;
  width: 2.5em;
  height: auto;
  background-image: url(../media/images/common/img_hearts.png);
  opacity: 0;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%) scale(0.5);
  animation: like 1s ease;
}
@media screen and (max-width: 767px) {
  .like-btn.click::before {
    width: 2.2857142857em;
  }
}
.like-btn.click::after {
  animation: beat 0.4s ease;
}
.like-btn:disabled {
  background: #d9d9d9;
  pointer-events: none;
}

@keyframes beat {
  50% {
    transform: translate(-50%, -50%) scale(1.2);
  }
}
@keyframes like {
  50% {
    opacity: 1;
  }
  100% {
    top: -20px;
    transform: translate(-50%, -100%) scale(1);
    @media screen and (max-width: 1080px) {
      top: -18px;
    }
    @media screen and (max-width: 767px) {
      top: -16px;
    }
  }
}
/* ステップ
-------------------------------------------------------------*/
.step-list {
  display: flex;
  align-items: flex-start;
  flex-flow: row nowrap;
  justify-content: center;
  margin: 3.125em auto 0;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
@media screen and (max-width: 767px) {
  .step-list {
    margin-top: 1.7857142857em;
  }
}
.step-list::before {
  content: "";
  display: block;
  width: calc(100% - 6.25em - 80px);
  height: 2px;
  background: #1b2c55;
  position: absolute;
  top: 0.875em;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: -1;
}
@media screen and (max-width: 1080px) {
  .step-list::before {
    width: calc(100% - 7.1428571429em - 80px);
  }
}
@media screen and (max-width: 767px) {
  .step-list::before {
    width: calc(100% - 5.3571428571em - 40px);
    top: 0.75em;
  }
}
.step-list .step {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  gap: 0.5714285714em;
  padding-inline: 0.4em;
  width: 8.2857142857em;
  font-size: 14px;
  line-height: 1.2;
  text-align: center;
}
@media screen and (max-width: 1080px) {
  .step-list .step {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .step-list .step {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .step-list .step {
    width: 5.8181818182em;
    font-size: 11px;
  }
}
.step-list .step .no {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  width: 1.875em;
  height: 1.875em;
  border: solid 2px #1b2c55;
  background: #FFF;
  font-size: 1.14em;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .step-list .step .no {
    width: 1.8571428571em;
    height: 1.8571428571em;
    font-size: 1.18em;
  }
}
.step-list .step.current .no {
  background: #1b2c55;
  color: #FFF;
}

/* フォーム
-------------------------------------------------------------*/
::-moz-placeholder {
  color: #999;
}
::placeholder {
  color: #999;
}

.form {
  /* 入力項目 */
  /* セレクトボックス */
  /* ラジオボタン */
  /* チェックボックス */
}
.form input[type=text],
.form input[type=email],
.form input[type=password],
.form input[type=tel],
.form input[type=number],
.form textarea {
  padding: 0.625em 0.9375em;
  width: 100%;
  border: solid 1px #FFF;
  background: #FFF;
  font-family: "Noto Sans JP", sans-serif;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .form input[type=text],
  .form input[type=email],
  .form input[type=password],
  .form input[type=tel],
  .form input[type=number],
  .form textarea {
    padding: 0.5714285714em 0.7142857143em;
  }
}
.form input[type=text]:focus,
.form input[type=email]:focus,
.form input[type=password]:focus,
.form input[type=tel]:focus,
.form input[type=number]:focus,
.form textarea:focus {
  box-shadow: 0 0 1px #1b2c55;
  outline: none;
  transition: all 0.3s;
}
.form input[type=text]:disabled,
.form input[type=email]:disabled,
.form input[type=password]:disabled,
.form input[type=tel]:disabled,
.form input[type=number]:disabled,
.form textarea:disabled {
  cursor: default;
}
.form select {
  padding: 0.625em 2.9375em 0.625em 0.9375em;
  width: 100%;
  border: solid 1px #FFF;
  background: #FFF;
  background-image: url(../media/images/common/icon_select_arrow.svg);
  background-repeat: no-repeat;
  background-position: right 1.125em center;
  background-size: 1.1875em 0.625em;
  font-family: "Noto Sans JP", sans-serif;
  cursor: pointer;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .form select {
    padding: 0.5714285714em 2.1428571429em 0.5714285714em 0.7142857143em;
  }
}
.form select:focus {
  box-shadow: 0 0 1px #1b2c55;
  outline: none;
  transition: all 0.3s;
}
.form select:disabled {
  cursor: default;
}
.form input[type=radio] {
  width: 0;
  height: 0;
  opacity: 0;
  position: absolute;
}
.form input[type=radio] + label {
  display: inline-block;
  margin: 0;
  padding-block: 0.3125em;
  padding-left: 22px;
  font-weight: 700;
  text-align: left;
  position: relative;
}
@media screen and (max-width: 767px) {
  .form input[type=radio] + label {
    padding-block: 0.2857142857em;
  }
}
.form input[type=radio] + label::before {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  border: solid 1px #222;
  background: #FFF;
  border-radius: 999px;
  position: absolute;
  top: 10px;
  left: 0;
}
@media screen and (max-width: 767px) {
  .form input[type=radio] + label::before {
    top: 7px;
  }
}
.form input[type=radio]:focus + label::before {
  box-shadow: 0 0 1px #1b2c55;
  outline: none;
  transition: all 0.3s;
}
.form input[type=radio]:disabled + label {
  cursor: default;
}
.form input[type=radio]:checked + label::before {
  border-color: #222;
}
.form input[type=radio]:checked + label::after {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  background: #222;
  border-radius: 999px;
  position: absolute;
  top: 13px;
  left: 3px;
}
@media screen and (max-width: 767px) {
  .form input[type=radio]:checked + label::after {
    top: 10px;
  }
}
.form input[type=checkbox] {
  width: 0;
  height: 0;
  opacity: 0;
  position: absolute;
}
.form input[type=checkbox] + label {
  display: inline-block;
  margin: 0;
  padding-block: 0.3125em;
  padding-left: 22px;
  font-weight: 700;
  text-align: left;
  position: relative;
}
@media screen and (max-width: 767px) {
  .form input[type=checkbox] + label {
    padding-block: 0.2857142857em;
  }
}
.form input[type=checkbox] + label::before {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  border: solid 1px #222;
  background: #FFF;
  border-radius: 3px;
  position: absolute;
  top: 10px;
  left: 0;
}
@media screen and (max-width: 767px) {
  .form input[type=checkbox] + label::before {
    top: 7px;
  }
}
.form input[type=checkbox]:focus + label::before {
  box-shadow: 0 0 1px #1b2c55;
  outline: none;
  transition: all 0.3s;
}
.form input[type=checkbox]:disabled + label {
  cursor: default;
}
.form input[type=checkbox]:checked + label::after {
  content: "";
  display: block;
  width: 9px;
  height: 6px;
  border-style: solid;
  border-width: 0 0 2px 2px;
  border-color: #222;
  background: #FFF;
  border-radius: 0;
  position: absolute;
  top: 13px;
  left: 3px;
  transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .form input[type=checkbox]:checked + label::after {
    top: 10px;
  }
}
.form .agree-box input[type=checkbox] + label {
  padding-left: 28px;
  font-weight: 500;
}
.form .agree-box input[type=checkbox] + label::before {
  width: 20px;
  height: 20px;
  border-width: 2px;
  top: 6px;
  transform: none;
}
.form .agree-box input[type=checkbox]:checked + label::after {
  width: 12px;
  height: 7px;
  border-width: 0 0 3px 3px;
  top: 11px;
  left: 4px;
  transform: rotate(-45deg);
}

.form-table {
  display: flex;
  align-items: stretch;
  flex-flow: row wrap;
  justify-content: flex-start;
  margin-top: 1.875em;
}
@media screen and (max-width: 767px) {
  .form-table {
    display: flex;
    align-items: stretch;
    flex-flow: column nowrap;
    justify-content: flex-start;
    margin-top: 1.4285714286em;
  }
}
.form-table .req {
  position: relative;
}
.form-table .req::after {
  content: "必須";
  display: inline-block;
  padding: 0.1428571429em 0.2857142857em 0.2142857143em;
  background: #ee7800;
  color: #FFF;
  font-size: 14px;
  line-height: 1;
  white-space: nowrap;
  position: relative;
  top: 0.05em;
}
@media screen and (max-width: 1080px) {
  .form-table .req::after {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .form-table .req::after {
    font-size: 12px;
  }
}
.form-table .title {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: flex-start;
  padding: 15px 20px;
  width: 17.5em;
  border-bottom: solid 2px #FFF;
  background: #f7f7f7;
}
@media screen and (max-width: 767px) {
  .form-table .title {
    padding: 1.0714285714em 1.0714285714em 0;
    width: 100%;
    border: 0;
  }
}
.form-table .title label {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.75em;
}
@media screen and (max-width: 767px) {
  .form-table .title label {
    gap: 0.2857142857em;
  }
}
.form-table .title .sub {
  font-size: 0.875em;
}
.form-table .data {
  padding: 0.9375em 1.25em 0.625em 0;
  width: calc(100% - 17.5em);
  border-bottom: solid 2px #FFF;
  background: #f7f7f7;
}
@media screen and (max-width: 767px) {
  .form-table .data {
    padding: 0.5714285714em 1.0714285714em 1.0714285714em;
    width: 100%;
  }
}
.form-table .data-unit {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: center;
  gap: 0.625em;
  padding-block: 0.3125em;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .form-table .data-unit {
    gap: 0.4285714286em;
    padding-block: 0;
  }
}
.form-table .data-unit .data-unit {
  padding-block: 0;
}
.form-table .input-wrap {
  display: flex;
  align-items: stretch;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.125em;
  width: 100%;
}
.form-table .input-wrap label {
  display: block;
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  padding-inline: 1em;
  white-space: nowrap;
}
.form-table .multiple-data {
  display: flex;
  align-items: flex-start;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 1.25em;
}
@media screen and (max-width: 767px) {
  .form-table .multiple-data {
    display: flex;
    align-items: stretch;
    flex-flow: column nowrap;
    justify-content: flex-start;
    gap: 0.7142857143em;
  }
}
.form-table .msg {
  margin: 0;
  font-size: 0.875em;
}
.form-table .msg.error {
  color: #ee7800;
}
.form-table .msg + .msg {
  margin-top: -0.6em;
}
.form-table.enquete {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 0;
  margin-top: 3.75em;
}
@media screen and (max-width: 767px) {
  .form-table.enquete {
    margin-top: 2.1428571429em;
  }
}
.form-table.enquete .title {
  padding: 1.875em 1.25em 0;
  width: 100%;
  border: 0;
}
.form-table.enquete .title label {
  padding: 0;
}
.form-table.enquete .title.title-second {
  padding-left: 2.5em;
}
@media screen and (max-width: 1080px) {
  .form-table.enquete .title.title-second {
    padding-left: 1.25em;
  }
}
.form-table.enquete .title.title-second + .data {
  padding-inline: 2.5em;
}
@media screen and (max-width: 1080px) {
  .form-table.enquete .title.title-second + .data {
    padding-inline: 1.25em;
  }
}
.form-table.enquete .data {
  padding: 0.9375em 1.25em 1.5625em;
  width: 100%;
  border-bottom: solid 2px #FFF;
}
.form-table.enquete .data.no-border {
  padding-bottom: 0;
  border: 0;
}
.form-table.enquete .data:has(.radio-group.col), .form-table.enquete .data:has(.checkbox-group.col) {
  padding-top: 0.625em;
}
.form-table.enquete .title-only {
  padding: 1.875em 1.25em 0;
  width: 100%;
  background: #f7f7f7;
}
.form-table.enquete .title-only + .title {
  padding: 1.25em 1.25em 0;
}
.form-table.enquete .title-only + .title.title-second {
  padding-left: 2.5em;
}
@media screen and (max-width: 1080px) {
  .form-table.enquete .title-only + .title.title-second {
    padding-left: 1.25em;
  }
}

.password-wrap {
  position: relative;
  width: 100%;
}
.password-wrap .mask-btn {
  aspect-ratio: 1/1;
  width: auto;
  height: 100%;
  position: absolute;
  top: 0;
  right: 4px;
}
.password-wrap .mask-btn::before {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  width: 1.375em;
  height: 0.9375em;
  background-image: url(../media/images/common/icon_password_show.svg);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  cursor: pointer;
}
.password-wrap.mask .mask-btn::before {
  width: 1.375em;
  height: 1.3125em;
  background-image: url(../media/images/common/icon_password_mask.svg);
}
.password-wrap input[type=password],
.password-wrap input[type=text] {
  padding-right: 2.875em;
}
.password-wrap input[type=password]::-ms-reveal,
.password-wrap input[type=text]::-ms-reveal {
  display: none;
}

.radio-group,
.checkbox-group {
  display: flex;
  align-items: flex-start;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 0 3.75em;
}
@media screen and (max-width: 767px) {
  .radio-group,
  .checkbox-group {
    gap: 0 1.4285714286em;
  }
}
.radio-group.col,
.checkbox-group.col {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 0.25em;
}
.radio-group.col > div,
.checkbox-group.col > div {
  width: 100%;
}
.radio-group.col input[type=radio] + label,
.radio-group.col input[type=checkbox] + label,
.checkbox-group.col input[type=radio] + label,
.checkbox-group.col input[type=checkbox] + label {
  width: 100%;
}
.radio-group.scale,
.checkbox-group.scale {
  display: flex;
  align-items: stretch;
  flex-flow: row nowrap;
  justify-content: space-between;
  gap: 1em;
  margin: 0 auto;
  width: 100%;
  max-width: 57.5em;
  position: relative;
}
.radio-group.scale .text,
.checkbox-group.scale .text {
  margin: auto 0 0;
  font-weight: 700;
  white-space: nowrap;
  position: relative;
  top: 0.2em;
}
@media screen and (max-width: 767px) {
  .radio-group.scale .text,
  .checkbox-group.scale .text {
    position: absolute;
    top: 0.2em;
    left: 0;
  }
  .radio-group.scale .text:nth-of-type(2),
  .checkbox-group.scale .text:nth-of-type(2) {
    left: auto;
    right: -3px;
  }
}
.radio-group.scale .scale-group,
.checkbox-group.scale .scale-group {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: space-between;
  margin: 0 auto;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .radio-group.scale .scale-group,
  .checkbox-group.scale .scale-group {
    padding-top: 2em;
  }
}
.radio-group.scale .scale-group::before,
.checkbox-group.scale .scale-group::before {
  content: "";
  display: block;
  width: calc(100% - 15px);
  height: 1px;
  background: #1b2c55;
  position: absolute;
  bottom: 7px;
  left: 50%;
  transform: translate(-50%, 0);
}
.radio-group.scale input[type=radio] + label,
.checkbox-group.scale input[type=radio] + label {
  display: flex;
  align-items: center;
  flex-flow: column;
  justify-content: flex-start;
  padding: 0 0 18px;
  width: 15px;
  font-size: 14px;
  white-space: nowrap;
}
.radio-group.scale input[type=radio] + label::before,
.checkbox-group.scale input[type=radio] + label::before {
  top: auto;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
}
.radio-group.scale input[type=radio]:checked + label::after,
.checkbox-group.scale input[type=radio]:checked + label::after {
  top: auto;
  left: 50%;
  bottom: 3px;
  transform: translate(-50%, 0);
}
.radio-group.scale.scale5,
.checkbox-group.scale.scale5 {
  max-width: 40em;
}
@media screen and (max-width: 767px) {
  .radio-group.scale.scale5,
  .checkbox-group.scale.scale5 {
    max-width: 31.4285714286em;
    padding-inline: 1em;
  }
}
.radio-group.scale.scale5 .scale-group,
.checkbox-group.scale.scale5 .scale-group {
  padding-top: 0.3571428571em;
}

.toggle-btn input[type=checkbox] {
  width: 0;
  height: 0;
  opacity: 0;
  position: absolute;
}
.toggle-btn input[type=checkbox] + label {
  display: block;
  width: 40px;
  height: 25px;
  display: block;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
}
.toggle-btn input[type=checkbox] + label::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: #e5e5e5;
  border-radius: 999px;
  transition: all 0.2s;
  position: absolute;
  top: 0;
  left: 0;
}
.toggle-btn input[type=checkbox] + label::after {
  content: "";
  display: block;
  width: 21px;
  height: 21px;
  background: #FFF;
  border-radius: 50%;
  box-shadow: 0 2px 2px rgba(94, 94, 94, 0.5);
  transition: all 0.2s;
  position: absolute;
  top: 2px;
  left: 2px;
}
.toggle-btn input[type=checkbox]:checked + label::before {
  background: #ee7800;
}
.toggle-btn input[type=checkbox]:checked + label::after {
  left: 17px;
}

/* アイコン
-------------------------------------------------------------*/
.icon-list {
  display: flex;
  align-items: flex-start;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 0.625em 1.25em;
}
@media screen and (max-width: 767px) {
  .icon-list {
    gap: 0.7142857143em;
  }
}

.icon {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  padding: 0.3em 0.6em;
  min-height: 1.875em;
  border: solid 1px #1b2c55;
  background: #1b2c55;
  color: #FFF;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .icon {
    font-size: 13px;
  }
}
.icon.keynote {
  border-color: #d2d2e5;
  background: #d2d2e5;
  color: #1b2c55;
}
.icon.seminar {
  border-color: #facb90;
  background: #facb90;
  color: #1b2c55;
}
.icon.special {
  border-color: #a0caf8;
  background: #a0caf8;
  color: #1b2c55;
}

.status-icon {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  padding: 0.3em 0.6em;
  min-height: 1.875em;
  border: solid 1px #1b2c55;
  background: #1b2c55;
  color: #FFF;
  font-weight: 500;
  line-height: 1.2;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .status-icon {
    font-size: 13px;
  }
}
.status-icon.full {
  border-color: #ee7800;
  background: #ee7800;
  color: #FFF;
}
.status-icon.shortly {
  border-color: #ee7800;
  background: #FFF;
  color: #ee7800;
}

/* タグ
-------------------------------------------------------------*/
.tag-list {
  display: flex;
  align-items: flex-start;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 0.3125em;
}

.tag {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  padding: 0.15em 0.3em;
  min-height: 1.7142857143em;
  border: solid 1px #FFF;
  background: #FFF;
  color: #1b2c55;
  font-size: 14px;
  line-height: 1.2;
}
@media screen and (max-width: 1080px) {
  .tag {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .tag {
    font-size: 12px;
  }
}

/* スライダー
-------------------------------------------------------------*/
.slider {
  position: relative;
}
.slider .slider-inner {
  opacity: 0;
  transition: all 0.2s;
}
.slider .slider-inner.swiper-initialized, .slider .slider-inner.swiper-container-initialized {
  opacity: 1;
}
.slider .slider-inner.swiper-initialized .slide-prev,
.slider .slider-inner.swiper-initialized .slide-next, .slider .slider-inner.swiper-initialized ~ .slide-prev, .slider .slider-inner.swiper-initialized ~ .slide-next, .slider .slider-inner.swiper-container-initialized .slide-prev,
.slider .slider-inner.swiper-container-initialized .slide-next, .slider .slider-inner.swiper-container-initialized ~ .slide-prev, .slider .slider-inner.swiper-container-initialized ~ .slide-next {
  opacity: 1;
}
.slider .slide a {
  display: block;
  color: #1b2c55;
  text-decoration: none;
}
.slider .slide a.no-link {
  cursor: default;
}
@media (hover: hover) {
  .slider .slide a.no-link:hover {
    opacity: 1;
  }
}
.slider .slide .img-box {
  display: block;
  width: 100%;
}
.slider .slide .img-box img {
  width: 100%;
  height: auto;
}
.slider .slide .text-box {
  display: block;
  margin-top: 1.375em;
  padding-inline: 2px;
}
@media screen and (max-width: 767px) {
  .slider .slide .text-box {
    margin-top: 0.8571428571em;
  }
}
.slider .slide .text-box p {
  margin-top: 0;
}
.slider .slide-prev,
.slider .slide-next {
  margin-top: 0;
  width: 1.875em;
  height: 1.875em;
  background: #ee7800;
  border-radius: 50%;
  transform: translate(0, -50%);
  opacity: 0;
}
.slider .slide-prev::after,
.slider .slide-next::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 19/12;
  width: 1.1875em;
  height: auto;
  background-image: url(../media/images/common/icon_btn_next.svg);
  font-size: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 1080px) {
  .slider .slide-prev::after,
  .slider .slide-next::after {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .slider .slide-prev::after,
  .slider .slide-next::after {
    font-size: 14px;
  }
}
.slider .slide-prev.swiper-button-disabled,
.slider .slide-next.swiper-button-disabled {
  display: none;
}
.slider .slide-prev {
  left: -0.9375em;
}
.slider .slide-next {
  right: -0.9375em;
}
.slider .slide-next::after {
  transform: translate(-50%, -50%) scale(-1, 1);
}
.slider .slider-inner:has(.slide-pagination) {
  padding-bottom: 1.625em;
}
.slider .slider-inner:has(.slide-pagination) .slide-prev,
.slider .slider-inner:has(.slide-pagination) .slide-next {
  top: calc(50% - 1.625em / 2);
}
.slider .slide-pagination {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  gap: 0.5em 1em;
  line-height: 1;
  position: absolute;
  bottom: 0;
}
.slider .slide-pagination .swiper-pagination-bullet {
  margin: 0;
  width: 0.375em;
  height: 0.375em;
  background: #999;
  opacity: 1;
}
.slider .slide-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: #ee7800;
}
.slider.auto-animation .slides {
  transition-timing-function: linear;
}
.slider.auto-animation .slides.adjusting {
  transition-duration: 600ms !important;
}

/* モーダル
-------------------------------------------------------------*/
.lity {
  background: rgba(0, 0, 0, 0.6);
}

.lity-inline .lity-container {
  aspect-ratio: 800/520;
  width: calc(100% - 80px);
  max-width: 800px;
  max-height: calc(100vh - 90px);
}
@media screen and (max-width: 1080px) {
  .lity-inline .lity-container {
    width: calc(100% - 80px);
  }
}
@media screen and (max-width: 767px) {
  .lity-inline .lity-container {
    aspect-ratio: 335/600;
    width: calc(100% - 40px);
  }
}
.lity-inline .lity-content {
  width: 100%;
  height: 100%;
  background: #FFF;
  border-radius: 10px;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .lity-inline .lity-content {
    border-radius: 5px;
  }
}

.lity-iframe-container {
  padding-top: 0;
  aspect-ratio: 800/520;
  width: calc(100% - 80px);
  max-width: 800px;
  height: auto;
  max-height: calc(100vh - 90px);
}
@media screen and (max-width: 1080px) {
  .lity-iframe-container {
    width: calc(100% - 80px);
  }
}
@media screen and (max-width: 767px) {
  .lity-iframe-container {
    aspect-ratio: 335/600;
    width: calc(100% - 40px);
  }
}

.lity-image .lity-close,
.lity-image .lity-close:hover {
  top: 0.625em;
  right: 0.625em;
  transform: none;
}

html.lity-active .lity-close,
html.lity-active .lity-close:hover {
  animation: lity-close-show 0.3s;
}

.lity-close,
.lity-close:hover {
  display: block;
  width: 1.875em;
  height: 1.875em;
  background: #1b2c55;
  font-size: 16px;
  border-radius: 50%;
  display: block;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  transition: all 0.2s;
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
}
@media screen and (max-width: 1080px) {
  .lity-close,
  .lity-close:hover {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .lity-close,
  .lity-close:hover {
    font-size: 14px;
  }
}
.lity-close::after, .lity-close::before,
.lity-close:hover::after,
.lity-close:hover::before {
  content: "";
  display: block;
  width: 0.9375em;
  height: 2px;
  background: #FFF;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.lity-close::before,
.lity-close:hover::before {
  transform: translate(-50%, -50%) rotate(-45deg);
}

@keyframes lity-close-show {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.modal {
  padding: 1.875em;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .modal {
    padding: 1.4285714286em;
  }
}

/* ポップアップ
-------------------------------------------------------------*/
.help-popup {
  display: none;
  padding: 0.75em 1em 1em;
  width: 23.125em;
  max-width: calc(100% - 80px);
  background: rgba(247, 197, 149, 0.8);
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
}
.help-popup::before, .help-popup::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(247, 197, 149, 0.15);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.help-popup::before {
  background: rgba(255, 255, 255, 0.6);
}
.help-popup .help-description {
  position: relative;
  z-index: 1;
}
.help-popup .help-description dt {
  color: #ee7800;
  font-size: 16px;
  font-weight: 500;
}
@media screen and (max-width: 1080px) {
  .help-popup .help-description dt {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .help-popup .help-description dt {
    font-size: 14px;
  }
}
.help-popup .help-description dd {
  margin-top: 0.5714285714em;
  color: #1b2c55;
  font-size: 14px;
  line-height: 1.6;
}
@media screen and (max-width: 1080px) {
  .help-popup .help-description dd {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .help-popup .help-description dd {
    font-size: 12px;
  }
}
.help-popup .help-close {
  display: block;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  aspect-ratio: 1;
  width: 1.875em;
  height: auto;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}
.help-popup .help-close::after, .help-popup .help-close::before {
  content: "";
  display: block;
  width: 0.9375em;
  height: 2px;
  background: #1b2c55;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.help-popup .help-close::before {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* バナーエリア
-------------------------------------------------------------*/
.banner-area {
  margin-top: 5em;
  position: relative;
}
.banner-area .slider {
  overflow: hidden;
}
.banner-area .slider-inner {
  margin-inline: auto;
  width: 878px;
  overflow: visible;
}
@media screen and (max-width: 1080px) {
  .banner-area .slider-inner {
    width: calc(100% - 120px);
  }
}
@media screen and (max-width: 767px) {
  .banner-area .slider-inner {
    width: 77.86%;
  }
}
.banner-area .banner-box {
  border: solid 1px #e5e5e5;
}

/* =================================================================
 ヘッダー
================================================================= */
/* 公式ヘッダー（イベントサイト用調整）
-------------------------------------------------------------*/
:root {
  --header-height--pc: 80px;
  --header-height--sp: 64px;
  --content-side--pc: 58px;
}

body:has(.Header) {
  padding-top: var(--header-height--pc);
}
@media screen and (max-width: 767px) {
  body:has(.Header) {
    padding-top: var(--header-height--sp);
  }
}

header.Header {
  height: var(--header-height--pc);
}
@media screen and (max-width: 767px) {
  header.Header {
    height: var(--header-height--sp);
  }
}
header.Header .Header__inner {
  align-items: center;
  padding-top: 0;
  position: relative;
}
header.Header .Header__head {
  padding-top: 0;
}
header.Header .header-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  header.Header .header-logo {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
  }
}
header.Header .header-links {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: flex-start;
  padding-top: 0.125em;
  gap: 0.6em 1.2em;
}
@media screen and (max-width: 767px) {
  header.Header .header-links {
    padding-right: 18px;
  }
}
header.Header .header-links .header-link a {
  display: block;
  padding-right: 1em;
  color: #1b2c55;
  font-size: 16px;
  font-weight: 500;
  position: relative;
}
@media screen and (max-width: 1080px) {
  header.Header .header-links .header-link a {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  header.Header .header-links .header-link a {
    font-size: 14px;
  }
}
header.Header .header-links .header-link a::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 6/12;
  width: 0.625em;
  height: auto;
  background-image: url(../media/images/common/icon_link_next_blu.svg);
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(0, -50%);
}

/* イベントヘッダー
-------------------------------------------------------------*/
/* 公式ヘッダーとの併用 */
body:has(.Header) #event-header::before {
  content: "";
  display: block;
  width: 100%;
  height: 200%;
  background: #FFF;
  position: absolute;
  top: -1px;
  left: 0;
  z-index: 0;
  transform: translate(0, -50%);
}
body:has(.Header) #event-header.up {
  top: var(--header-height--pc);
}
@media screen and (max-width: 767px) {
  body:has(.Header) #event-header.up {
    top: var(--header-height--sp);
  }
}

/* MENU付きヘッダー */
#event-header:not(.simple) {
  transition: all 0.5s;
  position: sticky;
  top: -1px;
  z-index: 102;
}
#event-header:not(.simple) .header-inner {
  border-top: solid 1px #eee;
  border-bottom: solid 1px #eee;
  background: #FFF;
  position: relative;
  z-index: 1;
}
#event-header:not(.simple) .header-inner .inner-box {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: space-between;
  gap: 1.25em;
  margin: 0 auto;
  padding: 0.875em var(--content-side--pc) 0.875em;
  max-width: 1600px;
}
@media screen and (max-width: 1372px) {
  #event-header:not(.simple) .header-inner .inner-box {
    padding-inline: 20px;
  }
}
@media screen and (max-width: 767px) {
  #event-header:not(.simple) .header-inner .inner-box {
    justify-content: flex-end;
    padding-block: 5px;
    padding-inline: 18px 10px;
    min-height: 50px;
  }
}
#event-header:not(.simple) .logo {
  margin-top: 0;
  aspect-ratio: 196/42;
  width: auto;
  height: 2.625em;
}
@media screen and (max-width: 767px) {
  #event-header:not(.simple) .logo {
    height: 1.8571428571em;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
#event-header:not(.simple) .logo img {
  width: 100%;
  height: auto;
}
#event-header:not(.simple) .menu-area .menu-button {
  width: 40px;
  height: 40px;
  display: block;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
  position: relative;
  transition: all 0.3s;
  z-index: 2;
}
@media screen and (min-width: 1001px) {
  #event-header:not(.simple) .menu-area .menu-button {
    display: none;
  }
}
#event-header:not(.simple) .menu-area .menu-button .bars {
  display: block;
  width: 26px;
  height: 1px;
  background: #222;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#event-header:not(.simple) .menu-area .menu-button .bars::before, #event-header:not(.simple) .menu-area .menu-button .bars::after {
  content: "";
  display: block;
  width: 26px;
  height: 1px;
  background: #222;
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}
#event-header:not(.simple) .menu-area .menu-button .bars::before {
  top: calc(50% - 11px);
}
#event-header:not(.simple) .menu-area .menu-button .bars::after {
  top: calc(50% + 11px);
}
#event-header:not(.simple) .menu-area .menu-button.open {
  position: fixed;
  top: 14px;
  right: 20px;
}
@media screen and (max-width: 767px) {
  #event-header:not(.simple) .menu-area .menu-button.open {
    top: 5px;
    right: 10px;
  }
}
#event-header:not(.simple) .menu-area .menu-button.open .bars {
  background: transparent;
}
#event-header:not(.simple) .menu-area .menu-button.open .bars::before, #event-header:not(.simple) .menu-area .menu-button.open .bars::after {
  top: 50%;
  left: 50%;
}
#event-header:not(.simple) .menu-area .menu-button.open .bars::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
#event-header:not(.simple) .menu-area .menu-button.open .bars::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
@media screen and (min-width: 768px) {
  #event-header:not(.simple) .menu-area .overlay {
    display: none !important;
  }
}
#event-header:not(.simple) #menu {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 2.5em;
}
@media screen and (max-width: 1372px) {
  #event-header:not(.simple) #menu {
    gap: 1.25em;
  }
}
@media screen and (max-width: 1180px) {
  #event-header:not(.simple) #menu {
    gap: 1em;
  }
}
@media screen and (max-width: 1000px) {
  #event-header:not(.simple) #menu {
    display: flex;
    align-items: center;
    flex-flow: column nowrap;
    justify-content: flex-start;
    gap: 3.5714285714em;
    padding: 5em 1.4285714286em 7.1428571429em;
    height: 100vh;
    width: 100%;
    background: #FFF;
    opacity: 0;
    visibility: hidden;
    overflow-y: auto;
    position: fixed;
    top: 0;
    left: 0;
  }
  @-moz-document url-prefix() {
    #event-header:not(.simple) #menu {
      scrollbar-width: 0.25em;
      scrollbar-color: #1b2c55 #e5e5e5;
    }
  }
  #event-header:not(.simple) #menu::-webkit-scrollbar {
    background: #e5e5e5;
    width: 0.25em;
    border-radius: 999px;
  }
  #event-header:not(.simple) #menu::-webkit-scrollbar-thumb {
    background: #1b2c55;
    border-radius: 999px;
  }
}
#event-header:not(.simple) #menu.open {
  opacity: 1;
  visibility: visible;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  #event-header:not(.simple) #menu .logo {
    display: none;
  }
}
@media screen and (max-width: 1000px) {
  #event-header:not(.simple) #menu .logo {
    display: block;
    position: fixed;
    top: 14px;
    left: 20px;
  }
}
@media screen and (max-width: 767px) {
  #event-header:not(.simple) #menu .logo {
    top: 12px;
    left: 50%;
    transform: translate(-50%, 0);
  }
}
@media screen and (max-width: 1000px) {
  #event-header:not(.simple) #menu::before {
    content: "";
    width: 100%;
    height: 65px;
    border-bottom: solid 1px #eee;
    background: #FFF;
    position: fixed;
    top: 0;
    left: 0;
  }
}
@media screen and (max-width: 767px) {
  #event-header:not(.simple) #menu::before {
    height: 50px;
  }
}
#event-header:not(.simple) .menus {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: flex-end;
  gap: 0.5em 1.875em;
}
@media screen and (max-width: 1372px) {
  #event-header:not(.simple) .menus {
    gap: 0.75em 1em;
  }
}
@media screen and (max-width: 1180px) {
  #event-header:not(.simple) .menus {
    gap: 0.5em 0.75em;
  }
}
@media screen and (max-width: 1000px) {
  #event-header:not(.simple) .menus {
    display: flex;
    align-items: stretch;
    flex-flow: column nowrap;
    justify-content: flex-start;
    gap: 0;
    margin-inline: auto;
    width: 100%;
  }
}
#event-header:not(.simple) .menus .menu {
  line-height: 1;
}
@media screen and (max-width: 1000px) {
  #event-header:not(.simple) .menus .menu {
    width: 100%;
    border-bottom: solid 1px #eee;
  }
}
#event-header:not(.simple) .menus .menu a {
  display: block;
  color: #1b2c55;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  text-decoration: none;
}
@media screen and (max-width: 1372px) {
  #event-header:not(.simple) .menus .menu a {
    font-size: 14px;
  }
}
@media screen and (max-width: 1180px) {
  #event-header:not(.simple) .menus .menu a {
    font-size: 13px;
  }
}
@media screen and (max-width: 1000px) {
  #event-header:not(.simple) .menus .menu a {
    padding: 1.2142857143em 0.7142857143em;
    font-size: 16px;
    font-weight: 400;
  }
}
#event-header:not(.simple) .header-buttons {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.9375em;
}
@media screen and (max-width: 1372px) {
  #event-header:not(.simple) .header-buttons {
    gap: 0.75em;
  }
}
@media screen and (max-width: 1000px) {
  #event-header:not(.simple) .header-buttons {
    display: flex;
    align-items: center;
    flex-flow: column nowrap;
    justify-content: flex-start;
    gap: 1.0714285714em;
    width: 100%;
  }
}
#event-header:not(.simple) .header-button {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  padding: 0.5em 1em;
  min-width: 8.75em;
  min-height: 40px;
  border: solid 2px #1b2c55;
  background: #1b2c55;
  color: #FFF;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.2;
  border-radius: 999px;
  position: relative;
}
@media screen and (max-width: 1372px) {
  #event-header:not(.simple) .header-button {
    font-size: 14px;
  }
}
@media screen and (max-width: 1180px) {
  #event-header:not(.simple) .header-button {
    font-size: 13px;
  }
}
@media screen and (max-width: 1000px) {
  #event-header:not(.simple) .header-button {
    width: 100%;
    min-width: auto;
    max-width: 20.9375em;
    min-height: 50px;
    font-size: 16px;
  }
}
#event-header:not(.simple) .header-button.positive {
  border-color: #ee7800;
  background: #ee7800;
  color: #FFF;
}
#event-header:not(.simple) .header-button.normal {
  border-color: #1b2c55;
  background: #1b2c55;
  color: #FFF;
}
#event-header:not(.simple) .header-button.border {
  border-color: #ee7800;
  background: #FFF;
  color: #ee7800;
}
#event-header:not(.simple) .header-button.negative {
  border-color: #1b2c55;
  background: #FFF;
  color: #1b2c55;
}
#event-header:not(.simple) .header-button.disabled, #event-header:not(.simple) .header-button[disabled] {
  border-color: #d9d9d9;
  background: #d9d9d9;
  color: #999;
  pointer-events: none;
}
#event-header:not(.simple) .header-button.external {
  gap: 0.375em;
  min-width: 9.375em;
}
#event-header:not(.simple) .header-button.external::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 1;
  width: 1em;
  min-width: 1em;
  height: auto;
  background-image: url(../media/images/common/icon_btn_external.svg);
}
#event-header:not(.simple):has(.menu-area.open) {
  z-index: 9999;
}

body:not(:has(.Header)) #event-header:not(.simple) .header-inner .inner-box {
  padding: 0.875em 1.125em;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  body:not(:has(.Header)) #event-header:not(.simple) .header-inner .inner-box {
    padding-block: 5px;
    padding-inline: 18px;
  }
}

/* 簡易ヘッダー */
#event-header.simple {
  transition: all 0.5s;
  position: sticky;
  top: 0;
  z-index: 102;
}
#event-header.simple .header-inner {
  border-bottom: solid 1px #eee;
  background: #FFF;
  position: relative;
  z-index: 1;
}
#event-header.simple .header-inner .inner-box {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0.875em 1.125em;
}
@media screen and (max-width: 767px) {
  #event-header.simple .header-inner .inner-box {
    padding-block: 5px;
    padding-inline: 18px;
    min-height: 50px;
  }
}
#event-header.simple .logo {
  margin-top: 0;
  aspect-ratio: 196/42;
  width: auto;
  height: 2.625em;
}
@media screen and (max-width: 767px) {
  #event-header.simple .logo {
    height: 1.8571428571em;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
#event-header.simple .logo img {
  width: 100%;
  height: auto;
}

/* =================================================================
 フッター
================================================================= */
/* 公式フッター（イベントサイト用調整）
-------------------------------------------------------------*/
.Footer.simple {
  padding-block: 3.75em 2.5em;
}
.Footer.simple .footer-link-column {
  margin-top: 3.75em;
}
.Footer.simple .footer-column {
  margin-top: 2.5em;
}

/* =================================================================
 セミナーリスト
================================================================= */
.seminar-list:not(.timetable .seminar-list) {
  display: flex;
  align-items: stretch;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 1.25em;
}
.seminar-list:not(.timetable .seminar-list) .seminar-box {
  width: calc(33.3333333333% - 2 * 1.25em / 3);
}
@media screen and (max-width: 767px) {
  .seminar-list:not(.timetable .seminar-list) .seminar-box {
    width: 100%;
  }
}
.seminar-list:not(.timetable .seminar-list) .seminar-box .seminar-body {
  overflow-y: visible;
}
.seminar-list:not(.timetable .seminar-list) + .medium-title {
  margin-top: 3.3333333333em;
}
@media screen and (max-width: 767px) {
  .seminar-list:not(.timetable .seminar-list) + .medium-title {
    margin-top: 2.3529411765em;
  }
}

.seminar-box:not(.timetable .seminar-box) .seminar-body {
  flex: 1;
}

.seminar-box {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  position: relative;
}
.seminar-box .seminar-box-inner {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  padding-block: 2.875em 1.875em;
  width: 100%;
  height: 100%;
  background: #f7f7f7;
}
.seminar-box .seminar-box-inner:not(:has(.icon.keynote, .icon.seminar, .icon.special)) {
  padding-top: 1.875em;
}
.seminar-box .seminar-body {
  margin-left: 1.25em;
  padding-right: 0.625em;
  width: calc(100% - 1.875em);
  overflow-y: auto;
}
@-moz-document url-prefix() {
  .seminar-box .seminar-body {
    scrollbar-width: 0.25em;
    scrollbar-color: #1b2c55 #e5e5e5;
  }
}
.seminar-box .seminar-body::-webkit-scrollbar {
  background: #e5e5e5;
  width: 0.25em;
  border-radius: 999px;
}
.seminar-box .seminar-body::-webkit-scrollbar-thumb {
  background: #1b2c55;
  border-radius: 999px;
}
.seminar-box .seminar-body *:first-child {
  margin-top: 0;
}
.seminar-box .seminar-body.special {
  margin-top: 2.5em;
}
.seminar-box .seminar-bottom {
  padding-inline: 1.25em;
  width: 100%;
}
.seminar-box .icon-list {
  gap: 0.625em;
}
.seminar-box .icon-list .icon {
  position: absolute;
  top: 0;
  left: 0;
}
.seminar-box .icon-list .status-icon {
  padding: 0.2em 0.6em;
  min-height: 1.8571428571em;
  min-width: 9em;
  font-size: 14px;
}
@media screen and (max-width: 1080px) {
  .seminar-box .icon-list .status-icon {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .icon-list .status-icon {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .icon-list .status-icon {
    font-size: 10px;
  }
}
.seminar-box .icon-list:not(:has(.status-icon)) + * {
  margin-top: 0;
}
.seminar-box .datetime {
  margin-top: 0.875em;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
}
@media screen and (max-width: 1080px) {
  .seminar-box .datetime {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .datetime {
    font-size: 12px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .datetime {
    margin-top: 0.7692307692em;
    font-size: 13px;
  }
}
.seminar-box .seminar-title {
  margin-top: 0.4em;
  font-size: 20px;
  font-weight: 700;
}
@media screen and (max-width: 1080px) {
  .seminar-box .seminar-title {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .seminar-title {
    font-size: 15px;
  }
}
@media screen and (max-width: 1372px) {
  .seminar-box .seminar-title {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .seminar-title {
    margin-top: 0.3529411765em;
    font-size: 17px;
  }
}
.seminar-box .sub-title {
  margin-top: 0.7142857143em;
  font-size: 14px;
  font-weight: 700;
}
@media screen and (max-width: 1080px) {
  .seminar-box .sub-title {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .sub-title {
    font-size: 12px;
  }
}
.seminar-box .tag-list {
  margin-top: 0.875em;
}
.seminar-box .speaker-list {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 1.25em;
  margin-top: 1.25em;
}
@media screen and (max-width: 767px) {
  .seminar-box .speaker-list {
    gap: 1.0714285714em;
    margin-top: 1.0714285714em;
  }
}
.seminar-box .speaker-box {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 1em;
  width: 100%;
}
.seminar-box .speaker-box .img-box {
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 999px;
  width: 6.25em;
}
.seminar-box .speaker-box .img-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1372px) {
  .seminar-box .speaker-box .img-box {
    width: 5.25em;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .speaker-box .img-box {
    width: 4.6428571429em;
  }
}
.seminar-box .speaker-box .text-box {
  flex: 1;
}
.seminar-box .speaker-box .text-box + * {
  margin-top: 0;
}
.seminar-box .speaker-box .company {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
}
@media screen and (max-width: 1080px) {
  .seminar-box .speaker-box .company {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .speaker-box .company {
    font-size: 12px;
  }
}
.seminar-box .speaker-box .job {
  margin-top: 0.2142857143em;
  font-size: 14px;
  font-weight: 700;
}
@media screen and (max-width: 1080px) {
  .seminar-box .speaker-box .job {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .speaker-box .job {
    font-size: 12px;
  }
}
.seminar-box .speaker-box .name {
  margin: 0;
  font-weight: 700;
}
.seminar-box .buttons {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  gap: 0.625em;
  margin: 1.875em auto 0;
}
.seminar-box .buttons .button {
  width: calc(100% - 1.4285714286em);
  max-width: 20.8571428571em;
}
.seminar-box .caution-special {
  color: #ee7800;
  font-size: 14px;
  font-weight: 500;
}
@media screen and (max-width: 1080px) {
  .seminar-box .caution-special {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-box .caution-special {
    font-size: 12px;
  }
}

.seminar-detail {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
}
.seminar-detail.lity-hide {
  display: none;
}
.seminar-detail .modal-head {
  width: 100%;
}
.seminar-detail .modal-content {
  flex: 1;
  display: flex;
  align-items: stretch;
  flex-flow: row wrap;
  justify-content: flex-start;
  margin-top: 1.875em;
  padding-inline: 0.625em;
  width: 100%;
  overflow-y: auto;
}
@-moz-document url-prefix() {
  .seminar-detail .modal-content {
    scrollbar-width: 0.25em;
    scrollbar-color: #1b2c55 #e5e5e5;
  }
}
.seminar-detail .modal-content::-webkit-scrollbar {
  background: #e5e5e5;
  width: 0.25em;
  border-radius: 999px;
}
.seminar-detail .modal-content::-webkit-scrollbar-thumb {
  background: #1b2c55;
  border-radius: 999px;
}
@media screen and (max-width: 767px) {
  .seminar-detail .modal-content {
    margin-top: 1.4285714286em;
    display: flex;
    align-items: flex-start;
    flex-flow: column nowrap;
    justify-content: flex-start;
  }
}
.seminar-detail .modal-bottom {
  padding-top: 1.875em;
  width: 100%;
}
.seminar-detail .modal-bottom .buttons {
  margin: 0;
}
.seminar-detail .datetime {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.75em;
  margin: 0;
  width: 100%;
  border-bottom: solid 2px #1b2c55;
  font-size: 20px;
  line-height: 1;
}
@media screen and (max-width: 1080px) {
  .seminar-detail .datetime {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .datetime {
    font-size: 15px;
  }
}
.seminar-detail .datetime .day {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  padding: 0.2em 0.4em;
  min-height: 1.5em;
  background: #1b2c55;
  color: #FFF;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .seminar-detail .datetime .day {
    min-height: 2em;
  }
}
.seminar-detail .datetime .date {
  padding-bottom: 0.1em;
}
@media screen and (max-width: 767px) {
  .seminar-detail .datetime .date {
    padding-bottom: 0.2em;
  }
}
.seminar-detail .datetime .time {
  padding-bottom: 0.1em;
}
@media screen and (max-width: 767px) {
  .seminar-detail .datetime .time {
    padding-bottom: 0.2em;
  }
}
.seminar-detail .seminar-info {
  padding-right: 2.25em;
  padding-bottom: 0.625em;
  border-right: solid 1px #e5e5e5;
  width: 56.94%;
}
@media screen and (max-width: 767px) {
  .seminar-detail .seminar-info {
    padding-right: 0;
    border: 0;
    width: 100%;
  }
}
.seminar-detail .seminar-info .icon-list {
  margin-bottom: 1.5em;
}
@media screen and (max-width: 767px) {
  .seminar-detail .seminar-info .icon-list {
    margin-top: 0.8571428571em;
  }
}
.seminar-detail .seminar-info .seminar-title {
  font-size: 24px;
  font-weight: 700;
}
@media screen and (max-width: 1080px) {
  .seminar-detail .seminar-info .seminar-title {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .seminar-info .seminar-title {
    font-size: 17px;
  }
}
.seminar-detail .seminar-info .sub-title {
  margin-top: 0.3333333333em;
  font-size: 18px;
  font-weight: 700;
}
@media screen and (max-width: 1080px) {
  .seminar-detail .seminar-info .sub-title {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .seminar-info .sub-title {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .seminar-info .sub-title {
    font-size: 15px;
  }
}
.seminar-detail .seminar-info .explanation {
  margin-top: 1.5em;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .seminar-detail .seminar-info .explanation {
    margin-top: 1.1428571429em;
  }
}
.seminar-detail .seminar-info .tag-list {
  margin-top: 2.5em;
}
@media screen and (max-width: 767px) {
  .seminar-detail .seminar-info .tag-list {
    margin-top: 1.7142857143em;
  }
}
.seminar-detail .seminar-info .tag-list .tag {
  background: #f7f7f7;
}
.seminar-detail .seminar-info .calendar-buttons {
  display: flex;
  align-items: flex-start;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 0.625em;
  margin-top: 2em;
}
@media screen and (max-width: 767px) {
  .seminar-detail .seminar-info .calendar-buttons {
    margin-top: 1.7142857143em;
  }
}
.seminar-detail .seminar-info .calendar-buttons .button {
  min-width: 9.1666666667em;
  font-size: 12px;
}
@media screen and (max-width: 1080px) {
  .seminar-detail .seminar-info .calendar-buttons .button {
    font-size: 11px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .seminar-info .calendar-buttons .button {
    font-size: 10px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .seminar-info .calendar-buttons .button {
    width: auto;
  }
}
.seminar-detail .seminar-info .calendar-buttons + .notice {
  margin-top: 0.75em;
}
.seminar-detail .seminar-info .sub-info {
  margin-top: 1.5em;
}
.seminar-detail .seminar-info .sub-info-title {
  margin: 1.3333333333em auto 0.6666666667em;
  padding-left: 0.6666666667em;
  font-size: 18px;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 1080px) {
  .seminar-detail .seminar-info .sub-info-title {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .seminar-info .sub-info-title {
    font-size: 16px;
  }
}
.seminar-detail .seminar-info .sub-info-title::before {
  content: "";
  display: block;
  width: 0.2222222222em;
  height: calc(100% - 0.5em);
  background: #1b2c55;
  position: absolute;
  left: 0;
  top: calc(50% + 0.1em);
  transform: translate(0, -50%);
}
.seminar-detail .seminar-info .relation-link {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 0.25em;
  padding-left: 0.25em;
}
.seminar-detail .seminar-info .relation-link .link {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  font-size: 14px;
}
@media screen and (max-width: 1080px) {
  .seminar-detail .seminar-info .relation-link .link {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .seminar-info .relation-link .link {
    font-size: 12px;
  }
}
.seminar-detail .seminar-info .relation-link .link::before {
  content: "・";
  display: inline-block;
  width: 1em;
}
.seminar-detail .seminar-info .relation-link .link a {
  color: #ee7800;
  line-height: 1.6;
  text-decoration: underline;
}
.seminar-detail .speaker-list {
  display: flex;
  align-items: flex-start;
  flex-flow: column nowrap;
  justify-content: flex-start;
  gap: 1.625em;
  padding-left: 1.875em;
  padding-bottom: 0.625em;
  width: 43.05%;
}
@media screen and (max-width: 767px) {
  .seminar-detail .speaker-list {
    margin-top: 1em;
    padding-top: 1.7142857143em;
    padding-left: 0;
    border-top: solid 1px #e5e5e5;
    width: 100%;
  }
}
.seminar-detail .speaker-box {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 1em;
  width: 100%;
}
.seminar-detail .speaker-box .img-box {
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 999px;
  width: 6.25em;
}
.seminar-detail .speaker-box .img-box img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 767px) {
  .seminar-detail .speaker-box .img-box {
    width: 5.3571428571em;
  }
}
.seminar-detail .speaker-box .text-box {
  flex: 1;
}
.seminar-detail .speaker-box .text-box + * {
  margin-top: 0;
}
.seminar-detail .speaker-box .company {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
}
@media screen and (max-width: 1080px) {
  .seminar-detail .speaker-box .company {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .speaker-box .company {
    font-size: 12px;
  }
}
.seminar-detail .speaker-box .job {
  margin-top: 0.2142857143em;
  font-size: 14px;
  font-weight: 700;
}
@media screen and (max-width: 1080px) {
  .seminar-detail .speaker-box .job {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .speaker-box .job {
    font-size: 12px;
  }
}
.seminar-detail .speaker-box .name {
  margin: 0;
  font-weight: 700;
}
.seminar-detail .speaker-box .profile {
  width: 100%;
  font-size: 14px;
  line-height: 1.6;
}
@media screen and (max-width: 1080px) {
  .seminar-detail .speaker-box .profile {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .seminar-detail .speaker-box .profile {
    font-size: 12px;
  }
}
.seminar-detail.day2 .datetime {
  border-color: #1b2c55;
}
.seminar-detail.day2 .datetime .day {
  background: #1b2c55;
}

/* =================================================================
 ファイルリスト
================================================================= */
.file-list {
  display: flex;
  align-items: flex-start;
  flex-flow: row wrap;
  justify-content: space-between;
  gap: 1.7142857143em 1.4285714286em;
  padding: 1.2857142857em 1.4285714286em 1.5714285714em;
  background: #f7f7f7;
  font-size: 14px;
}
@media screen and (max-width: 1080px) {
  .file-list {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .file-list {
    font-size: 12px;
  }
}
.file-list li {
  display: flex;
  align-items: baseline;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0.3em;
  width: calc(50% - 1 * 1.4285714286em / 2);
}
@media screen and (max-width: 767px) {
  .file-list li {
    width: 100%;
  }
}
.file-list li::before {
  content: "・";
  color: #ee7800;
}
.file-list li a {
  color: #ee7800;
  text-decoration: underline;
  text-underline-offset: 0.3571428571em;
}
.file-list li a.pdf-link::after {
  width: 1.1428571429em;
}

/* =================================================================
 タイムテーブル
================================================================= */
#timetable {
  margin: 6.25em auto 0;
  max-width: 1200px;
}
@media screen and (max-width: 767px) {
  #timetable {
    margin-top: 1.7142857143em;
    padding-inline: 0;
  }
}
#timetable .day-navs {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 1.25em;
  background: #FFF;
  transition: all 0.5s;
  position: sticky;
  top: 70px;
  z-index: 3;
}
@media screen and (max-width: 1080px) {
  #timetable .day-navs {
    top: 61px;
  }
}
@media screen and (max-width: 767px) {
  #timetable .day-navs {
    gap: 0.7142857143em;
    padding-inline: 20px;
    top: 50px;
  }
}
#timetable .day-navs .day-nav {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 0.5em;
  padding: 0.5em 1em;
  width: 15em;
  min-height: 3.5em;
  background: #02a68f;
  color: #FFF;
  font-size: 20px;
  font-weight: 300;
  position: relative;
}
@media screen and (max-width: 1080px) {
  #timetable .day-navs .day-nav {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  #timetable .day-navs .day-nav {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  #timetable .day-navs .day-nav {
    min-height: 2.8571428571em;
    font-size: 14px;
  }
}
#timetable .day-navs .day-nav::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 19/12;
  width: 0.95em;
  height: auto;
  background-image: url(../media/images/common/icon_arrow.svg);
  position: absolute;
  top: 50%;
  right: 2.5em;
  transform: translate(0, -50%) rotate(-90deg);
}
@media screen and (max-width: 767px) {
  #timetable .day-navs .day-nav::after {
    right: 1.0714285714em;
  }
}
#timetable .day-navs .day-nav em {
  font-weight: 500;
}
#timetable .day-navs .day-nav.day2 {
  background: #ee7800;
}
#timetable .timetable {
  --time-division-num: 16;
  --time-division-minute: 30;
  --box-height: 690px;
  --box-height-sp: 530px;
  --minute-height: calc(var(--box-height) / var(--time-division-minute));
  --minute-height-sp: calc(var(--box-height-sp) / var(--time-division-minute));
  margin-top: 3.75em;
  background: #ddeded;
  border-bottom: solid 2px #1b2c55;
}
@media screen and (max-width: 1372px) {
  #timetable .timetable {
    --box-height: 668px;
  }
}
@media screen and (max-width: 1180px) {
  #timetable .timetable {
    --box-height: 716px;
  }
}
@media screen and (max-width: 1080px) {
  #timetable .timetable {
    --box-height: 694px;
  }
}
@media screen and (max-width: 767px) {
  #timetable .timetable {
    --box-height-sp: 530px;
  }
}
@media screen and (max-width: 425px) {
  #timetable .timetable {
    --box-height-sp: 582px;
  }
}
@media screen and (max-width: 767px) {
  #timetable .timetable {
    margin-top: 2.1428571429em;
    border-top: solid 1px #1b2c55;
    border-bottom-width: 1px;
  }
}
#timetable .timetable + .timetable {
  margin-top: 6.25em;
}
@media screen and (max-width: 767px) {
  #timetable .timetable + .timetable {
    margin-top: 1.0714285714em;
    border-top: 0;
  }
}
#timetable .timetable .timetable-head {
  transition: all 0.5s;
  position: sticky;
  top: calc(70px + 4.375em);
  z-index: 2;
}
@media screen and (max-width: 1080px) {
  #timetable .timetable .timetable-head {
    top: calc(61px + 4.375em);
  }
}
@media screen and (max-width: 767px) {
  #timetable .timetable .timetable-head {
    top: calc(50px + 2.8571428571em);
  }
}
#timetable .timetable .timetable-head .day {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 0.9090909091em;
  min-height: 2.2727272727em;
  background: #02a68f;
  color: #FFF;
  font-size: 22px;
  font-weight: 300;
  text-align: center;
}
@media screen and (max-width: 1080px) {
  #timetable .timetable .timetable-head .day {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  #timetable .timetable .timetable-head .day {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  #timetable .timetable .timetable-head .day {
    align-items: baseline;
    padding-top: 0.1481481481em;
    min-height: 2.2962962963em;
    background: #FFF;
    color: #1b2c55;
    font-size: 27px;
  }
}
#timetable .timetable .timetable-head .day em {
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  #timetable .timetable .timetable-head .day em {
    font-size: 1.3em;
    font-weight: 700;
  }
}
#timetable .timetable .timetable-body {
  display: grid;
  grid-template-columns: auto repeat(3, 1fr);
  grid-template-rows: auto 1fr;
  padding-block: 0.625em 2.5em;
  position: relative;
}
@media screen and (max-width: 767px) {
  #timetable .timetable .timetable-body {
    padding-block: 0 1.4285714286em;
  }
}
#timetable .timetable .stages {
  grid-area: 1/2/span 1/span 3;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto;
  background: #ddeded;
  transition: all 0.5s;
  position: sticky;
  top: calc(70px + 7.5em);
  z-index: 1;
}
@media screen and (max-width: 1080px) {
  #timetable .timetable .stages {
    top: calc(61px + 7.5em);
  }
}
@media screen and (max-width: 767px) {
  #timetable .timetable .stages {
    grid-area: 1/1/span 1/span 4;
    top: calc(50px + 7.2857142857em);
  }
}
#timetable .timetable .stages .stage {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  gap: 0.6em;
  min-height: 4em;
  font-size: 20px;
  font-weight: 600;
  line-height: 1;
  position: relative;
}
@media screen and (max-width: 1080px) {
  #timetable .timetable .stages .stage {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  #timetable .timetable .stages .stage {
    font-size: 15px;
  }
}
@media screen and (max-width: 767px) {
  #timetable .timetable .stages .stage {
    gap: 0.5714285714em;
    padding-top: 0.7142857143em;
    min-height: 3.9285714286em;
    font-size: 14px;
    transition: all 0.2s;
    cursor: pointer;
  }
}
#timetable .timetable .stages .stage::after {
  content: "";
  display: block;
  aspect-ratio: 30/4;
  width: 1.5em;
  height: auto;
  background: #1b2c55;
}
#timetable .timetable .stages .stage:nth-child(n+2) {
  border-left: solid 1px rgba(2, 166, 143, 0.3);
}
@media screen and (max-width: 767px) {
  #timetable .timetable .stages .stage:nth-child(n+2) {
    border-color: transparent;
  }
}
@media screen and (max-width: 767px) {
  #timetable .timetable .stages .stage:not(.current) {
    background: #02a68f;
    color: #FFF;
  }
  #timetable .timetable .stages .stage:not(.current)::after {
    background: transparent;
  }
}
#timetable .timetable .timeline {
  grid-area: 2/1/span 1/span 1;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(var(--time-division-num), var(--box-height));
  padding-inline: 2.5em;
}
@media screen and (max-width: 1080px) {
  #timetable .timetable .timeline {
    padding-inline: 1.4285714286em;
  }
}
@media screen and (max-width: 767px) {
  #timetable .timetable .timeline {
    grid-template-rows: repeat(var(--time-division-num), var(--box-height-sp));
    padding-top: 1.4285714286em;
    padding-inline: 1.4285714286em 1.0714285714em;
  }
}
#timetable .timetable .timeline .time {
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 1080px) {
  #timetable .timetable .timeline .time {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  #timetable .timetable .timeline .time {
    font-size: 17px;
  }
}
@media screen and (max-width: 1080px) {
  #timetable .timetable .timeline .time {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  #timetable .timetable .timeline .time {
    font-size: 11px;
  }
}
#timetable .timetable .seminar-list {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: repeat(calc(var(--time-division-minute) * var(--time-division-num)), var(--minute-height));
  border-left: solid 1px rgba(2, 166, 143, 0.3);
}
@media screen and (max-width: 767px) {
  #timetable .timetable .seminar-list {
    grid-template-rows: repeat(calc(var(--time-division-minute) * var(--time-division-num)), var(--minute-height-sp));
    padding-top: 1.4285714286em;
    padding-right: 20px;
    border-left: 0;
  }
}
#timetable .timetable .seminar-list.stage-main {
  grid-area: 2/2/span 1/span 1;
  border-left: 0;
}
#timetable .timetable .seminar-list.stage-sub {
  grid-area: 2/3/span 1/span 1;
}
#timetable .timetable .seminar-list.stage-exhibition {
  grid-area: 2/4/span 1/span 1;
}
@media screen and (max-width: 767px) {
  #timetable .timetable .seminar-list.current {
    grid-area: 2/2/span 1/span 3;
  }
}
@media screen and (max-width: 767px) {
  #timetable .timetable .seminar-list:not(.current) {
    display: none;
  }
}
#timetable .timetable .seminar-box {
  padding-bottom: 0.25em;
  width: 100%;
  opacity: 0;
  transition: all 0.2s;
}
#timetable .timetable .seminar-box[style] {
  opacity: 1;
}
#timetable .timetable .seminar-box .seminar-box-inner {
  padding-block: 2.5em 1.875em;
}
#timetable .timetable .seminar-box .seminar-box-inner:not(:has(.icon.keynote, .icon.seminar, .icon.special)) {
  padding-top: 1.875em;
}
#timetable .timetable .seminar-box .datetime {
  font-size: 16px;
  font-weight: 700;
}
@media screen and (max-width: 1080px) {
  #timetable .timetable .seminar-box .datetime {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  #timetable .timetable .seminar-box .datetime {
    font-size: 14px;
  }
}
#timetable .timetable .seminar-box .seminar-title {
  margin-top: 0.2em;
}
#timetable .timetable .seminar-box .speaker-list {
  margin-top: 1.875em;
}
#timetable .timetable.day2 {
  background: #fbe7d6;
}
#timetable .timetable.day2 .timetable-head .day {
  background: #ee7800;
}
@media screen and (max-width: 767px) {
  #timetable .timetable.day2 .timetable-head .day {
    background: #FFF;
  }
}
#timetable .timetable.day2 .stages {
  background: #fbe7d6;
}
#timetable .timetable.day2 .stages .stage:nth-child(n+2) {
  border-left: solid 1px rgba(238, 120, 0, 0.3);
}
@media screen and (max-width: 767px) {
  #timetable .timetable.day2 .stages .stage:not(.current) {
    background: #ee7800;
    color: #FFF;
  }
}
#timetable .timetable.day2 .seminar-list {
  border-left: solid 1px rgba(238, 120, 0, 0.3);
}
@media screen and (max-width: 767px) {
  #timetable .timetable.day2 .seminar-list {
    border-left: 0;
  }
}
#timetable .timetable.day2 .seminar-list.stage-main {
  border-left: 0;
}

/* =================================================================
 レポートリスト
================================================================= */
.report-list {
  display: flex;
  align-items: flex-start;
  flex-flow: row wrap;
  justify-content: flex-start;
  gap: 3.875em 2.5em;
  margin-top: 4.375em;
}
@media screen and (max-width: 767px) {
  .report-list {
    gap: 2.8571428571em;
    margin-top: 2.8571428571em;
    margin-inline: auto;
    max-width: 34.2857142857em;
  }
}

.report-box {
  width: calc(33.3333333333% - 2 * 2.5em / 3);
}
@media screen and (max-width: 767px) {
  .report-box {
    width: 100%;
  }
}
.report-box a {
  color: #1b2c55;
}
.report-box a .img-box::before {
  content: "";
  display: block;
  aspect-ratio: 1;
  width: 1.875em;
  height: auto;
  background: #1b2c55;
  position: absolute;
  bottom: 0;
  right: 0;
}
.report-box a .img-box::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  aspect-ratio: 19/12;
  width: 1.25em;
  height: auto;
  background-image: url(../media/images/common/icon_btn_next.svg);
  position: absolute;
  bottom: 0.5em;
  right: 0.25em;
  transform: scale(-1, 1);
}
.report-box .img-box {
  position: relative;
}
.report-box .img-box img {
  display: block;
  width: 100%;
  height: auto;
}
.report-box .img-box .movie-wrap {
  margin-top: 0;
}
.report-box .text-box {
  margin-top: 0.9375em;
}
.report-box .icon-list {
  margin-bottom: 0.5em;
  gap: 0.375em 0.5em;
}
.report-box .report-icon {
  display: flex;
  align-items: center;
  flex-flow: column nowrap;
  justify-content: center;
  padding: 0.2em 0.96em;
  min-height: 1.8571428571em;
  border: solid 1px #ee7800;
  background: #ee7800;
  color: #FFF;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
}
@media screen and (max-width: 1080px) {
  .report-box .report-icon {
    font-size: 13px;
  }
}
@media screen and (max-width: 767px) {
  .report-box .report-icon {
    font-size: 12px;
  }
}
.report-box .report-icon.icon-article {
  border: solid 1px #ee7800;
  background: #ee7800;
  color: #FFF;
}
.report-box .report-icon.icon-movie {
  border: solid 1px #02a68f;
  background: #02a68f;
  color: #FFF;
}
.report-box .report-title {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 1080px) {
  .report-box .report-title {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .report-box .report-title {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .report-box .report-title {
    font-size: 15px;
  }
}
.report-box .report-title .sub {
  font-size: 0.85em;
}
@media screen and (max-width: 767px) {
  .report-box .report-title .sub {
    font-size: 0.9em;
  }
}
.report-box .explanation {
  margin-top: 0.3125em;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .report-box.full {
    width: 100%;
  }
  .report-box.full .box-inner {
    display: flex;
    align-items: center;
    flex-flow: row nowrap;
    justify-content: flex-start;
    gap: 2.5em;
  }
  .report-box.full .img-box {
    flex: 1;
  }
  .report-box.full .text-box {
    display: flex;
    align-items: flex-start;
    flex-flow: column nowrap;
    justify-content: center;
    margin-top: 0;
    width: 22.5em;
  }
  .report-box.full .icon-list {
    margin-bottom: 1.625em;
  }
  .report-box.full .report-icon {
    padding-inline: 1.1em;
    font-size: 18px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1080px) {
  .report-box.full .report-icon {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .report-box.full .report-icon {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  .report-box.full .report-title {
    padding-left: 0.5384615385em;
    font-size: 26px;
    position: relative;
  }
}
@media screen and (min-width: 768px) and (max-width: 1080px) {
  .report-box.full .report-title {
    font-size: 22px;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .report-box.full .report-title {
    font-size: 17px;
  }
}
@media screen and (min-width: 768px) {
  .report-box.full .report-title::before {
    content: "";
    width: 0.1538461538em;
    height: 80%;
    background: #1b2c55;
    position: absolute;
    top: calc(50% + 0.06em);
    left: 0;
    transform: translate(0, -50%);
  }
  .report-box.full .explanation {
    margin-top: 0.875em;
  }
  .report-box.full.reverse {
    display: flex;
    align-items: center;
    flex-flow: row-reverse nowrap;
    justify-content: flex-start;
  }
}/*# sourceMappingURL=style.css.map */