@charset "UTF-8";
/* ==================================================
* Font Family
================================================== */
/* ==================================================
* Font Style
================================================== */
/* ==================================================
* Color
================================================== */
/* ==================================================
* Font Color
================================================== */
/* ==================================================
* Image
================================================== */
/* ==================================================
* Breakpoints
================================================== */
/* ==================================================
* z-index
================================================== */
/* **************************************************
  A Modern CSS Reset
************************************************** */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
}

:where([hidden]:not([hidden=until-found])) {
  display: none !important;
}

:where(html) {
  -webkit-text-size-adjust: none;
}

@supports not (min-block-size: 100dvb) {
  :where(html) {
    block-size: 100%;
  }
}
:where(body) {
  min-block-size: 100%;
  min-block-size: 100dvb;
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
}

:where(textarea) {
  resize: vertical;
  resize: block;
}

:where(button, select, summary, [role=button], [role=option]) {
  cursor: pointer;
}

:where(:disabled) {
  cursor: not-allowed;
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}

:where(button) {
  border-style: solid;
}

:where(a) {
  text-decoration: underline;
}

:where(ul, ol) {
  list-style: none;
}

:where(table) {
  border-collapse: collapse;
  border-spacing: 0;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  vertical-align: bottom;
}

:where(video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, picture, svg) {
  max-inline-size: 100%;
  block-size: auto;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  font-size: 1em;
  overflow-wrap: break-word;
}

:where(hr) {
  border: none;
  -webkit-border-before: 1px solid;
          border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}

:where(.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden)) {
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ==================================================
* Base Style
================================================== */
:where(html, body) {
  font-size: min(0.5208333333vw, 20px);
  color: #000;
  background: #fff;
  letter-spacing: 0.04em;
}

:where(html).is-resize *, :where(html).is-resize *:before, :where(html).is-resize *:after {
  -webkit-transition: none !important;
  transition: none !important;
  -webkit-transition-delay: 0 !important;
          transition-delay: 0 !important;
}

:where(body) {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-weight: 500;
  text-align: left;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.4);
}

[data-whatinput=mouse] *:focus {
  outline: none;
}

:where(:focus-visible) {
  outline: solid 0.2rem #5f76b9;
  outline-offset: 0.2rem;
}

:where(a) {
  text-decoration: underline;
  color: #036fcc;
  display: inline;
}

:where(img) {
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: bottom;
  width: 100%;
  height: 100%;
  border: none;
  outline: none;
}

:where(em) {
  font-style: normal;
}

:where(input),
:where(textarea),
:where(select),
:where(option),
:where(button) {
  background: transparent;
  border: none;
  border-radius: 0;
  appearance: none;
  resize: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
:where(input):focus-visible,
:where(textarea):focus-visible,
:where(select):focus-visible,
:where(option):focus-visible,
:where(button):focus-visible {
  outline-offset: 0;
}

:where(button):focus-visible {
  outline-offset: 0.2rem;
}

@media (any-hover: hover) {
  :where(a):is(:where(a):hover, :where(a):focus-visible) {
    text-decoration: none;
    color: #036fcc;
  }
}
@media screen and (max-width: 1919.98px) {
  :where(html, body) {
    font-size: 10px;
  }
}
@media screen and (min-width: 768px) {
  body {
    min-width: 1260px;
  }
}
@media screen and (max-width: 599.98px) {
  :where(html, body) {
    font-size: 2.5641025641vw;
  }
}
@font-face {
  font-family: "icon";
  src: url("../fonts/icon.eot?p64lb5");
  src: url("../fonts/icon.eot?p64lb5#iefix") format("embedded-opentype"), url("../fonts/icon.ttf?p64lb5") format("truetype"), url("../fonts/icon.woff?p64lb5") format("woff"), url("../fonts/icon.svg?p64lb5#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
[class^=icon-],
[class*=" icon-"] {
  font-family: "icon" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  display: inline-block;
  vertical-align: baseline;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow:before {
  content: "\e900";
}

.icon-checkbox:before {
  content: "\e901";
}

.icon-close:before {
  content: "\e902";
}

.icon-few:before {
  content: "\e903";
}

.icon-full:before {
  content: "\e904";
}

.icon-select:before {
  content: "\e905";
}

.icon-totop:before {
  content: "\e906";
}

.icon-vacant:before {
  content: "\e907";
}

/* ==================================================
* button Template
================================================== */
/* ==================================================
* button
================================================== */
.button {
  font-size: 1.8rem;
  font-weight: 500;
  text-decoration: none;
  color: #fff;
  background: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 0.04em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 36rem;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-height: 6.4rem;
  margin: 0;
  padding: 0.5rem 1.4444444444em;
  border-style: none;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  /* w-full
  ================================================== */
  /* disabled
  ================================================== */
  /* icon
  ================================================== */
  /* Hover
  ================================================== */
  /* align
  ================================================== */
  border-radius: 9999px;
}
.button.-w-full {
  width: 100%;
}
.button.-disabled, .button:disabled {
  opacity: 0.4;
  pointer-events: none;
}
.button:has(i) {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
}
.button:has(i):before {
  content: "";
}
.button:has(i) i {
  font-size: 0.8em;
}
.button:has(i) i:first-child {
  justify-self: start;
}
.button:has(i) i:last-child {
  justify-self: end;
}
.button:has(i) i.icon-totop {
  rotate: 90deg;
}
@media screen and (max-width: 767.98px) {
  .button {
    font-size: 1.4rem;
    min-width: 25rem;
    min-height: 4.8rem;
    padding: 0.5rem 1.4285714286em;
  }
}
@media (any-hover: hover) {
  .button:hover, .button:focus-visible {
    background-color: #cc0033;
  }
}
.button.-left {
  margin-right: auto;
}
.button.-center {
  margin: 0 auto;
}
.button.-right {
  margin-left: auto;
}

/* ==================================================
* button--box
================================================== */
.button--box {
  font-size: 1.8rem;
  font-weight: 500;
  text-decoration: none;
  color: #fff;
  background: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 0.04em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 36rem;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-height: 6.4rem;
  margin: 0;
  padding: 0.5rem 1.4444444444em;
  border-style: none;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  /* w-full
  ================================================== */
  /* disabled
  ================================================== */
  /* icon
  ================================================== */
  /* Hover
  ================================================== */
  /* align
  ================================================== */
  font-size: 1.6rem;
  min-height: 4.8rem;
  border-radius: 9999px;
}
.button--box.-w-full {
  width: 100%;
}
.button--box.-disabled, .button--box:disabled {
  opacity: 0.4;
  pointer-events: none;
}
.button--box:has(i) {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
}
.button--box:has(i):before {
  content: "";
}
.button--box:has(i) i {
  font-size: 0.8em;
}
.button--box:has(i) i:first-child {
  justify-self: start;
}
.button--box:has(i) i:last-child {
  justify-self: end;
}
.button--box:has(i) i.icon-totop {
  rotate: 90deg;
}
@media screen and (max-width: 767.98px) {
  .button--box {
    font-size: 1.4rem;
    min-width: 25rem;
    min-height: 4.8rem;
    padding: 0.5rem 1.4285714286em;
  }
}
@media (any-hover: hover) {
  .button--box:hover, .button--box:focus-visible {
    background-color: #cc0033;
  }
}
.button--box.-left {
  margin-right: auto;
}
.button--box.-center {
  margin: 0 auto;
}
.button--box.-right {
  margin-left: auto;
}
@media screen and (max-width: 767.98px) {
  .button--box {
    width: 100%;
    min-height: 4rem;
  }
}

/* ==================================================
* button--round
================================================== */
.button--round {
  font-size: 1.8rem;
  font-weight: 500;
  text-decoration: none;
  color: #cc0033;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 0.04em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 36rem;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-height: 6.4rem;
  margin: 0;
  padding: 0.5rem 1.4444444444em;
  border-style: none;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  /* w-full
  ================================================== */
  /* disabled
  ================================================== */
  /* icon
  ================================================== */
  /* Hover
  ================================================== */
  /* align
  ================================================== */
  font-size: 1.8rem;
  border: solid 1px #cc0033;
  border-radius: 9999px;
  /* Hover
  ================================================== */
}
.button--round.-w-full {
  width: 100%;
}
.button--round.-disabled, .button--round:disabled {
  opacity: 0.4;
  pointer-events: none;
}
.button--round:has(i) {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
}
.button--round:has(i):before {
  content: "";
}
.button--round:has(i) i {
  font-size: 0.8em;
}
.button--round:has(i) i:first-child {
  justify-self: start;
}
.button--round:has(i) i:last-child {
  justify-self: end;
}
.button--round:has(i) i.icon-totop {
  rotate: 90deg;
}
@media screen and (max-width: 767.98px) {
  .button--round {
    font-size: 1.4rem;
    min-width: 25rem;
    min-height: 4.8rem;
    padding: 0.5rem 1.4285714286em;
  }
}
@media (any-hover: hover) {
  .button--round:hover, .button--round:focus-visible {
    background-color: #cc0033;
  }
}
.button--round.-left {
  margin-right: auto;
}
.button--round.-center {
  margin: 0 auto;
}
.button--round.-right {
  margin-left: auto;
}
@media (any-hover: hover) {
  .button--round:hover, .button--round:focus-visible {
    color: #fff;
  }
}
@media screen and (max-width: 767.98px) {
  .button--round {
    font-size: 1.8rem;
  }
}

/* ==================================================
* button--min
================================================== */
.button--min {
  font-size: 1.8rem;
  font-weight: 500;
  text-decoration: none;
  color: #fff;
  background: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 0.04em;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 36rem;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  min-height: 6.4rem;
  margin: 0;
  padding: 0.5rem 1.4444444444em;
  border-style: none;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  /* w-full
  ================================================== */
  /* disabled
  ================================================== */
  /* icon
  ================================================== */
  /* Hover
  ================================================== */
  /* align
  ================================================== */
  font-size: 1.4rem;
  width: 100%;
  min-width: 0;
  min-height: 3.5rem;
  padding: 0;
  border-radius: 0.5rem;
  /* icon
  ================================================== */
}
.button--min.-w-full {
  width: 100%;
}
.button--min.-disabled, .button--min:disabled {
  opacity: 0.4;
  pointer-events: none;
}
.button--min:has(i) {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 1em;
     -moz-column-gap: 1em;
          column-gap: 1em;
}
.button--min:has(i):before {
  content: "";
}
.button--min:has(i) i {
  font-size: 0.8em;
}
.button--min:has(i) i:first-child {
  justify-self: start;
}
.button--min:has(i) i:last-child {
  justify-self: end;
}
.button--min:has(i) i.icon-totop {
  rotate: 90deg;
}
@media screen and (max-width: 767.98px) {
  .button--min {
    font-size: 1.4rem;
    min-width: 25rem;
    min-height: 4.8rem;
    padding: 0.5rem 1.4285714286em;
  }
}
@media (any-hover: hover) {
  .button--min:hover, .button--min:focus-visible {
    background-color: #cc0033;
  }
}
.button--min.-left {
  margin-right: auto;
}
.button--min.-center {
  margin: 0 auto;
}
.button--min.-right {
  margin-left: auto;
}
.button--min:has(i) i {
  font-size: 0.5714285714em;
}

/* ==================================================
* form-textbox
================================================== */
.form-textbox {
  font-size: 1.6rem;
  background-color: #fff;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-overflow: ellipsis;
  width: 100%;
  padding: 0.8rem 1em;
  border: solid 1px rgba(0, 0, 0, 0.15);
  border-radius: 0.5rem;
}
.form-textbox.-error {
  background-color: #ffdcdc;
}
.form-textbox.-valid {
  background-color: #fff !important;
}
.form-textbox:focus {
  outline: solid 0.2rem #5f76b9;
}
@media screen and (max-width: 767.98px) {
  .form-textbox {
    font-size: 1.4rem;
  }
}

/* ==================================================
* checkbox
================================================== */
/* checkbox
================================================== */
.form-checkbox {
  font-size: 1.6rem;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 3.6rem;
  position: relative;
}
.form-checkbox input[type=checkbox],
.form-checkbox input[type=radio] {
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
}
.form-checkbox input[type=checkbox]:disabled,
.form-checkbox input[type=radio]:disabled {
  pointer-events: none;
}
.form-checkbox:before, .form-checkbox:after {
  font-size: 1.25em;
  line-height: 1;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  content: "";
  width: 1em;
  height: 1em;
  position: absolute;
  top: 0.2em;
  left: 0;
}
.form-checkbox:before {
  background-color: #fff;
  border: solid 1px #999;
}
.form-checkbox:after {
  font-family: "icon";
  content: "\e901";
  color: #fff;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  visibility: hidden;
}
.form-checkbox:has(input:checked):before {
  background-color: #000;
  border-color: #000;
}
.form-checkbox:has(input:checked):after {
  visibility: visible;
}
.form-checkbox a {
  position: relative;
  z-index: 1;
}
.form-checkbox:has(input:disabled) {
  opacity: 0.5;
}
.form-checkbox:has(input:focus-visible):before {
  outline: solid 0.2rem #5f76b9;
}
@media screen and (max-width: 767.98px) {
  .form-checkbox {
    font-size: 1.4rem;
    padding-left: 2.8rem;
  }
}

/* button
================================================== */
.form-checkbox--button {
  font-size: 1.6rem;
  color: #fff;
  background-color: #000;
  display: block;
  padding: 0.8rem 4.4rem 0.8rem 1.6rem;
  border-radius: 0.3rem;
  position: relative;
}
.form-checkbox--button input[type=checkbox],
.form-checkbox--button input[type=radio] {
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
}
.form-checkbox--button input[type=checkbox]:disabled,
.form-checkbox--button input[type=radio]:disabled {
  pointer-events: none;
}
.form-checkbox--button:before, .form-checkbox--button:after {
  font-size: 1.1111111111em;
  line-height: 1;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  content: "";
  width: 1em;
  height: 1em;
  position: absolute;
  right: 1.2rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.form-checkbox--button:before {
  background-color: #fff;
  border: solid 1px rgba(0, 0, 0, 0.15);
}
.form-checkbox--button:after {
  font-family: "icon";
  content: "\e901";
  color: #fff;
  -webkit-transform: translateY(-50%) scale(0.8);
          transform: translateY(-50%) scale(0.8);
  visibility: hidden;
}
.form-checkbox--button:has(input:checked) {
  background-color: #cc0033;
}
.form-checkbox--button:has(input:checked):before {
  background-color: #8d0000;
  border-color: transparent;
}
.form-checkbox--button:has(input:checked):after {
  visibility: visible;
}
.form-checkbox--button:has(input:disabled) {
  background-color: rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: none;
          box-shadow: none;
}
.form-checkbox--button:has(input:disabled) input {
  cursor: default;
  pointer-events: none;
}
.form-checkbox--button:has(input:disabled):has(input:checked):before {
  background-color: #666;
}
.form-checkbox--button:has(input:focus-visible):before {
  outline: solid 0.2rem #5f76b9;
}
@media screen and (max-width: 767.98px) {
  .form-checkbox--button {
    padding: 0.8rem 3.5rem 0.8rem 0.8rem;
  }
  .form-checkbox--button:before, .form-checkbox--button:after {
    font-size: 1.4285714286em;
    right: 0.8rem;
  }
}

/* ==================================================
* radio
================================================== */
/* radio
================================================== */
.form-radio {
  font-size: 1.6rem;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 3.6rem;
  position: relative;
}
.form-radio input[type=checkbox],
.form-radio input[type=radio] {
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
}
.form-radio input[type=checkbox]:disabled,
.form-radio input[type=radio]:disabled {
  pointer-events: none;
}
.form-radio:before, .form-radio:after {
  font-size: 1.25em;
  line-height: 1;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  content: "";
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: absolute;
  top: 0.1em;
  left: 0;
}
.form-radio:before {
  background-color: #fff;
  border: solid 1px #999;
}
.form-radio:after {
  background-color: #fff;
  -webkit-transform: scale(0.4);
          transform: scale(0.4);
  visibility: hidden;
}
.form-radio:has(input:checked):before {
  background-color: #000;
  border-color: #000;
}
.form-radio:has(input:checked):after {
  visibility: visible;
}
.form-radio a {
  position: relative;
  z-index: 1;
}
.form-radio:has(input:disabled) {
  opacity: 0.5;
}
.form-radio:has(input:focus-visible):before {
  outline: solid 0.2rem #5f76b9;
}
@media screen and (max-width: 767.98px) {
  .form-radio {
    font-size: 1.4rem;
    padding-left: 2.8rem;
  }
}

/* ==================================================
* select
================================================== */
.form-select {
  font-size: 1.6rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  width: 100%;
  position: relative;
}
.form-select:after {
  font-family: "icon";
  font-size: 0.8125em;
  color: #000;
  content: "\e905";
  display: block;
  position: absolute;
  top: 50%;
  right: 1.6rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  pointer-events: none;
}
.form-select select {
  line-height: 1.5;
  background-color: #fff;
  text-overflow: ellipsis;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  min-width: 28.4rem;
  width: 100%;
  padding: 0.8rem 4.5rem 0.8rem 1em;
  border: solid 1px rgba(0, 0, 0, 0.15);
  border-radius: 0.5rem;
}
.form-select select:focus {
  border-color: #5f76b9;
}
.form-select select.-error {
  background-color: #ffdcdc;
}
.form-select select.-valid {
  background-color: #fff !important;
}
.form-select select:disabled {
  pointer-events: none;
}
.form-select option {
  background-color: #fff;
}
[data-whatinput=keyboard] .form-select select:focus,
[data-whatinput=keyboard] .form-select select:focus-visible {
  outline: solid 0.2rem #5f76b9;
}
.form-select.-width-100 {
  width: 100%;
}
.form-select.-width-100 select {
  width: 100%;
}
@media screen and (max-width: 767.98px) {
  .form-select {
    font-size: 1.4rem;
    width: 100%;
  }
  .form-select select {
    min-width: 0;
  }
}

/* ==================================================
*   .display
================================================== */
/* max
================================================== */
@media screen and (max-width: 959.98px) {
  .display-max-large-none {
    display: none !important;
  }
  .display-max-large-inline {
    display: inline !important;
  }
  .display-max-large-inline-block {
    display: inline-block !important;
  }
  .display-max-large-block {
    display: block !important;
  }
}
@media screen and (max-width: 767.98px) {
  .display-max-medium-none {
    display: none !important;
  }
  .display-max-medium-inline {
    display: inline !important;
  }
  .display-max-medium-inline-block {
    display: inline-block !important;
  }
  .display-max-medium-block {
    display: block !important;
  }
}
@media screen and (max-width: 599.98px) {
  .display-max-small-none {
    display: none !important;
  }
  .display-max-small-inline {
    display: inline !important;
  }
  .display-max-small-inline-block {
    display: inline-block !important;
  }
  .display-max-small-block {
    display: block !important;
  }
}
/* min
================================================== */
@media screen and (min-width: 960px), print {
  .display-min-large-none {
    display: none !important;
  }
  .display-min-large-inline {
    display: inline !important;
  }
  .display-min-large-inline-block {
    display: inline-block !important;
  }
  .display-min-large-block {
    display: block !important;
  }
}
@media screen and (min-width: 768px) {
  .display-min-medium-none {
    display: none !important;
  }
  .display-min-medium-inline {
    display: inline !important;
  }
  .display-min-medium-inline-block {
    display: inline-block !important;
  }
  .display-min-medium-block {
    display: block !important;
  }
}
@media screen and (min-width: 600px) {
  .display-min-small-none {
    display: none !important;
  }
  .display-min-small-inline {
    display: inline !important;
  }
  .display-min-small-inline-block {
    display: inline-block !important;
  }
  .display-min-small-block {
    display: block !important;
  }
}
/* ==================================================
* mainFooter
================================================== */
.mainFooter {
  margin-top: 8rem;
}
.mainFooter .logoutButton .button--round {
  -webkit-box-shadow: 0.4rem 0.4rem 1.2rem rgba(0, 0, 0, 0.12);
          box-shadow: 0.4rem 0.4rem 1.2rem rgba(0, 0, 0, 0.12);
}
@media screen and (max-width: 767.98px) {
  .mainFooter {
    margin-top: 5rem;
  }
}

/* ==================================================
* section
================================================== */
.section:nth-child(n+2) {
  margin-top: 6rem;
}
@media screen and (max-width: 767.98px) {
  .section:nth-child(n+2) {
    margin-top: 4rem;
  }
}

/* ==================================================
* sectionHeader
================================================== */
.sectionHeader .sectionHeader__notes {
  font-size: 1.4rem;
  color: #cc0033;
  text-indent: -1em;
  padding-left: 1em;
}
.sectionHeader .sectionHeader__title1 {
  font-size: 2.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: normal;
      -ms-flex-align: normal;
          align-items: normal;
  padding-block: 1.6rem;
  border-block: solid 1px rgba(0, 0, 0, 0.15);
  position: relative;
}
.sectionHeader .sectionHeader__title1:after {
  display: block;
  content: "";
  width: 10rem;
  border-bottom: solid 1px #cc0033;
  position: absolute;
  left: 0;
  bottom: 0;
}
.sectionHeader .sectionHeader__title1:nth-child(n+2) {
  margin-top: 3rem;
}
.sectionHeader .sectionHeader__title2 {
  font-size: 2.4rem;
}
.sectionHeader .sectionHeader__message {
  font-size: 1.6rem;
  line-height: 1.8;
}
.sectionHeader .sectionHeader__message:nth-child(n+2) {
  margin-top: 4rem;
}
.sectionHeader .sectionHeader__back {
  font-size: 1.6rem;
  margin-left: 3rem;
}
.sectionHeader .sectionHeader__label:has(.sectionHeader__back) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}
@media screen and (max-width: 767.98px) {
  .sectionHeader .sectionHeader__notes {
    font-size: 1.2rem;
  }
  .sectionHeader .sectionHeader__title1 {
    font-size: 1.8rem;
  }
  .sectionHeader .sectionHeader__title1:nth-child(n+2) {
    margin-top: 1rem;
  }
  .sectionHeader .sectionHeader__title2 {
    font-size: 2.4rem;
  }
  .sectionHeader .sectionHeader__message {
    font-size: 1.4rem;
    line-height: 1.6;
  }
  .sectionHeader .sectionHeader__message:nth-child(n+2) {
    margin-top: 2rem;
  }
  .sectionHeader .sectionHeader__back {
    font-size: 1.4rem;
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0.4rem 0 0;
  }
  .sectionHeader .sectionHeader__label:has(.sectionHeader__back) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 1rem;
  }
}

/* ==================================================
* sectionFooter
================================================== */
.sectionFooter {
  text-align: center;
  margin-top: 3rem;
}
.sectionFooter .sectionFooter__message {
  font-size: 1.6rem;
}
.sectionFooter .sectionFooter__notes {
  font-size: 1.4rem;
  color: #cc0033;
}
.sectionFooter .sectionFooter__notes:nth-child(n+2) {
  margin-top: 1rem;
}
.sectionFooter .sectionFooter__button:nth-child(n+2) {
  margin-top: 3rem;
}
.sectionFooter .sectionFooter__link {
  font-size: 1.6rem;
  margin-top: 2rem;
}
.sectionFooter .sectionFooter__clear {
  font-size: 1.6rem;
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  .sectionFooter .sectionFooter__message {
    font-size: 1.4rem;
  }
  .sectionFooter .sectionFooter__notes {
    font-size: 1.2rem;
  }
  .sectionFooter .sectionFooter__link {
    font-size: 1.4rem;
  }
  .sectionFooter .sectionFooter__clear {
    font-size: 1.4rem;
  }
  .sectionFooter .sectionFooter__button {
    max-width: 27rem;
    margin-inline: auto;
  }
}

/* ==================================================
* sectionBody
================================================== */
.sectionBody {
  margin-top: 4rem;
}

@media screen and (max-width: 767.98px) {
  .sectionBody {
    margin-top: 2em;
  }
}
/* ==================================================
* form
================================================== */
.form .form__title1 {
  font-size: 1.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.form .form__title1:before {
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  background-color: #999;
  content: "任意";
  white-space: nowrap;
  display: inline-block;
  margin-right: 1.2rem;
  padding: 0.2rem 1.2rem;
  -webkit-transform: translateY(-0.2083333333em);
          transform: translateY(-0.2083333333em);
  border-radius: 9999px;
}
.form .form__title1.-required:before {
  background-color: #cc0033;
  content: "必須";
}
.form .form__title1 .form__notes {
  display: block;
  margin-top: 0.4rem;
}
.form .form__title1 + .form__title2 {
  margin-top: 4rem;
}
.form .form__title2 {
  font-size: 2.4rem;
}
.form .form__title2:nth-child(n+2) {
  margin-top: 3rem;
}
.form .form__notes {
  font-size: 1.4rem;
  color: #cc0033;
}
.form .form__notes:nth-child(n+2) {
  margin-top: 0.5rem;
}
.form .form__box {
  background-color: #fff;
  padding: 3rem 2rem;
}
.form .form__box:nth-child(n+2) {
  margin-top: 6rem;
}
.form .form__box + .form__box {
  margin-top: 2rem;
}
.form .form__box:has(.-required) {
  background-color: #ffdcdc;
}
.form .form__box .form__title1:before {
  margin-right: 1.5rem;
}
.form .form__error {
  font-size: 1.4rem;
  color: #cc0033;
}
.form .form__error:nth-child(n+2) {
  margin-top: 0.8rem;
}
@media screen and (max-width: 767.98px) {
  .form .form__title1 {
    font-size: 1.6rem;
  }
  .form .form__title1:before {
    margin-right: 0.8rem;
    -webkit-transform: translateY(-0.0625em);
            transform: translateY(-0.0625em);
  }
  .sessionBlock .form .form__title1 .form__notes {
    margin-left: -5.8rem;
  }
  .form .form__title1 + .form__title2 {
    margin-top: 1.6rem;
  }
  .form .form__title2 {
    font-size: 2rem;
  }
  .form .form__box {
    padding: 2rem;
  }
  .form .form__box:nth-child(n+2) {
    margin-top: 4rem;
  }
  .form .form__box + .form__box {
    margin-top: 1.2rem;
  }
  .form .form__box .form__title1:before {
    margin-right: 0.8rem;
    -webkit-transform: translateY(-0.0625em);
            transform: translateY(-0.0625em);
  }
}

/* ==================================================
* enquete
================================================== */
.enquete .enquete__flexList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -1rem;
}
.enquete .enquete__flexList li {
  width: calc(33.3333333333% - 1rem);
  margin-top: 1.6rem;
  margin-left: 1rem;
}
@media screen and (max-width: 767.98px) {
  .enquete .enquete__flexList li {
    width: calc(50% - 1rem);
  }
}

/* ==================================================
* information
================================================== */
.information .information__flexList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.information .information__flexList:nth-child(n+2) {
  margin-top: 1.4rem;
}
.information .information__flexList li:not(:last-child) {
  margin-right: 7rem;
}
@media screen and (max-width: 767.98px) {
  .information .information__flexList:nth-child(n+2) {
    margin-top: 1.6rem;
  }
  .information .information__flexList li:not(:last-child) {
    margin-right: 3.2rem;
  }
}

/* ==================================================
* schedule
================================================== */
.schedule {
  margin-top: 3rem;
  /*
  &:has(.schedule__checkbox input[type='checkbox']:checked) {
    .schedule__item:not(:has(.schedule__checkbox input[type='checkbox']:checked)) {
      background-color: rgba(0, 0, 0, 0.1);
    }
  }
  */
}
.schedule .schedule__title {
  font-family: "Montserrat", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-weight: 500;
  color: #fff;
  background-color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  letter-spacing: 0;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  padding: 0.8rem 1.6rem;
  border-radius: 0.4rem;
}
.schedule .schedule__day {
  font-size: 2.4rem;
}
.schedule .schedule__date {
  font-family: "Manrope", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif !important;
  font-size: 2.4rem;
  margin-left: auto;
}
.schedule .schedule__week {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-size: 1.4rem;
}
.schedule .schedule__list:nth-child(n+2) {
  margin-top: 0.4rem;
}
.schedule .schedule__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
  padding: 1.2rem 0;
  border-bottom: solid 1px #999;
}
.schedule .schedule__item:has(.schedule__checkbox input:disabled):not(:has(.comingsoon)) .schedule__status {
  color: #cc0033;
}
.schedule .schedule__item:has(.schedule__checkbox input:disabled) .schedule__time {
  color: rgba(0, 0, 0, 0.4);
}
.schedule .schedule__item > *:first-child {
  padding-left: 1.6rem;
}
.schedule .schedule__item .schedule__day {
  font-size: 2.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.schedule .schedule__time {
  font-family: "Manrope", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-size: 2.4rem;
  letter-spacing: 0;
}
.schedule .schedule__status {
  font-size: 1rem;
  white-space: nowrap;
  margin-left: 1.4rem;
}
.schedule .schedule__status i {
  margin-right: 0.5em;
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
}
.schedule .schedule__check {
  white-space: nowrap;
  margin-left: auto;
}
@media screen and (max-width: 767.98px) {
  .schedule .schedule__title {
    padding: 0.6rem 0.6rem 0.6rem 1.2rem;
  }
  .schedule .schedule__day {
    font-size: 2.2rem;
  }
  .schedule .schedule__date {
    font-size: 1.8rem;
  }
  .schedule .schedule__week {
    font-size: 1.2rem;
  }
  .schedule .schedule__list {
    margin-top: 0;
  }
  .schedule .schedule__item {
    -webkit-column-gap: 1rem;
       -moz-column-gap: 1rem;
            column-gap: 1rem;
  }
  .schedule .schedule__item > *:first-child {
    padding-left: 1rem;
  }
  .schedule .schedule__item .schedule__day {
    font-size: 1.8rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
  }
  .schedule .schedule__time {
    font-size: 1.8rem;
  }
}

/* ==================================================
* sessions
================================================== */
.sessions {
  display: grid;
  row-gap: 10rem;
}
.sessions:nth-child(n+2) {
  margin-top: 3rem;
}
.sessions .sessions__wrapper {
  display: grid;
  row-gap: 3rem;
}
.sessions .sessions__wrapper:not(:has(.sessions__content.is-active)) {
  display: none;
}
.sessions .sessions__content:not(.is-active) {
  display: none;
}
.sessions .sessions__title {
  font-family: "Manrope", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-size: 2.4rem;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.sessions .sessions__title:nth-child(n+2) {
  margin-top: 3rem;
}
.sessions .sessions__day {
  font-family: "Montserrat", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  color: #fff;
  background-color: #000;
  margin-right: 0.8rem;
  padding: 0 0.8rem;
}
.sessions .sessions__week {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .sessions .sessions__cards {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0 -1.5rem;
  }
  .sessions .sessions__cards:nth-child(n+2) {
    margin-top: 3rem;
  }
  .sessions .sessions__card {
    margin: 0 1.5rem;
  }
  .sessions .sessions__card:nth-child(n+2) {
    margin-top: 3rem;
  }
  .sessions .sessions__card[data-size=normal] {
    width: calc(33.3333333333% - 3rem);
  }
  .sessions .sessions__card[data-size=normal] .session__body:not(:last-child) {
    margin-bottom: 2rem;
  }
  .sessions .sessions__card.exhibition-only .session__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border: solid 1px #000;
  }
  .sessions .sessions__card.exhibition-only .session__body,
  .sessions .sessions__card.exhibition-only .session__footer,
  .sessions .sessions__card.exhibition-only .session__title {
    margin: 0;
  }
  .sessions .sessions__card.exhibition-only .session__title {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767.98px) {
  .sessions {
    row-gap: 5rem;
  }
  .sessions .sessions__title {
    font-size: 2rem;
  }
  .sessions .sessions__week {
    font-size: 1.2rem;
  }
  .sessions .sessions__cards {
    margin-top: 2rem;
  }
  .sessions .sessions__card:nth-child(n+2) {
    margin-top: 2rem;
  }
  .sessions .sessions__card.exhibition-only .session__content {
    border: solid 1px #000;
  }
  .sessions .sessions__card.exhibition-only .session__title {
    font-size: 1.8rem;
    text-align: center;
    margin: 0;
  }
  .sessions .sessions__card.exhibition-only .session__body {
    margin-bottom: 2rem;
  }
  .sessions .sessions__card.exhibition-only .session__footer {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .sessions .sessions__card.exhibition-only .session__footer .session__check {
    text-align: center;
    max-width: 22.8rem;
    width: 100%;
    margin: 0;
  }
}

/* ==================================================
* session
================================================== */
.session {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  position: relative;
  border-radius: 0.5rem;
  overflow: clip;
}
.session:has(.session__checkbox input:checked) {
  background-color: #fff;
}
.session:has(.session__checkbox input:disabled):after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
}
.session:has(.session__checkbox input:disabled) .session__status {
  color: #cc0033;
  min-width: 1px;
}
.session:has(.session__status span.comingsoon) .session__status {
  color: #000;
}
.session .session__header {
  color: #fff;
  background-color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-height: 4rem;
  padding: 0 0 0 1.6rem;
}
.session .session__data {
  font-size: 1.4rem;
}
.session .session__increase {
  font-size: 1.1rem;
  background-color: #cc0033;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  padding: 0 0.4rem;
  min-height: 4rem;
}
.session .session__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  padding: 2.4rem;
  -webkit-border-after: solid 1px rgba(0, 0, 0, 0.15);
          border-block-end: solid 1px rgba(0, 0, 0, 0.15);
  border-inline: solid 1px rgba(0, 0, 0, 0.15);
  border-radius: 0.5rem;
}
.session .session__info {
  font-size: 1.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.session .session__info li:not(:last-child) {
  margin-right: 0.5em;
}
.session .session__title {
  font-size: 1.6rem;
  line-height: 1.8;
  margin-top: 0.5rem;
}
.session .session__notes {
  font-size: 1.2rem;
  color: #cc0033;
  margin-top: 1.2rem;
}
.session .session__tags {
  font-size: 1.1rem;
  color: #666;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  letter-spacing: 0;
  gap: 0.5rem;
  margin-top: 0.8rem;
}
.session .session__tagText {
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 2.4rem;
  padding: 0 0.5rem;
  border-radius: 0.3rem;
  position: relative;
}
.session .session__tagText.session__tagText--innovation {
  background-color: #7d4e1f;
}
.session .session__tagText.session__tagText--technology {
  background-color: #214274;
}
.session .session__tagText.session__tagText--ict {
  background-color: #1c7340;
}
.session .session__body:not(:last-child) {
  margin-bottom: 3rem;
}
.session .session__footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: auto;
}
.session .session__status {
  font-size: 1rem;
}
.session .session__status i {
  margin-right: 0.5em;
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
}
.session .session__check {
  margin-left: 0.8rem;
  position: relative;
  z-index: 1;
}
.session .session__more {
  font-size: 1.4rem;
  margin-right: auto;
  position: relative;
  z-index: 1;
}
.session .session__more button {
  text-decoration: underline;
  color: #036fcc;
}
@media (any-hover: hover) {
  .session .session__more button:hover {
    text-decoration: none;
  }
}
.session .session__footer:not(:has(.session__status)) .session__check {
  margin-left: auto;
}
.session[data-size=normal] .session__footer {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  margin-top: 0;
}
.session[data-size=normal] .session__status,
.session[data-size=normal] .session__check {
  margin-top: auto;
}
.session[data-size=normal] .session__status {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-item-align: center;
      align-self: center;
  min-height: 4rem;
}
@media screen and (min-width: 768px) {
  .session .session__speakers {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 2.5rem;
    margin-top: 0.4rem;
  }
  .session .speakers__item {
    width: calc(33.3333333333% - 1.6666666667rem);
    margin-top: 3.6rem;
  }
  .session .session__checkbox {
    font-size: 1.6rem;
  }
  .session[data-size=normal] .session__footer {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .session[data-size=normal] .session__more {
    width: 100%;
    margin-bottom: auto;
  }
  .session[data-size=normal] .session__more:after {
    display: block;
    content: "";
    margin-bottom: 2rem;
  }
}
@media screen and (max-width: 767.98px) {
  .session .session__content {
    padding: 2rem 1.5rem;
  }
  .session .session__tags {
    margin-top: 1rem;
  }
  .session .session__speakers {
    margin-top: 3rem;
  }
  .session .speakers__item:nth-child(n+2) {
    margin-top: 2.5rem;
  }
  .session .session__more {
    width: 100%;
    margin-bottom: 2rem;
  }
  .session .session__footer:not(:has(.session__status)) .session__more {
    width: auto;
    margin-bottom: 0;
  }
}

/* ==================================================
* speaker
================================================== */
.speaker {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.speaker .speaker__image {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 10rem;
  margin-right: 1.5rem;
}
.speaker .speaker__image img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/1;
  width: 100%;
  border-radius: 50%;
}
.speaker .speaker__text {
  width: 100%;
}
.speaker .speaker__name {
  font-size: 1.5rem;
}
.speaker .speaker__company,
.speaker .speaker__department,
.speaker .speaker__post {
  font-size: 1.1rem;
  font-weight: 400;
  margin-top: 0.6rem;
}

/* ==================================================
* formRow
================================================== */
.formRow.-required .form-textbox,
.formRow.-required .form-select select, .formRow:has(.-required) .form-textbox,
.formRow:has(.-required) .form-select select {
  background-color: #ffdcdc;
}

/* ==================================================
* subRow
================================================== */
.subRow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.subRow .subRow__column {
  width: calc(50% - 0.8rem);
}

/* ==================================================
* visitor
================================================== */
.visitor .visitor__label {
  font-size: 1.2rem;
  font-weight: 700;
  display: block;
}
.visitor .visitor__label:not(:last-child) {
  margin-bottom: 0.5rem;
}
.visitor .visitor__label:nth-child(n+2) {
  margin-top: 1.6rem;
}
.visitor .visitor__sample {
  font-size: 1.6rem;
}
.visitor .visitor__sample:nth-child(n+2) {
  margin-top: 1.6rem;
}
.visitor .visito__search {
  font-size: 1.4rem;
}
.visitor .visito__search:nth-child(n+2) {
  margin-top: 0.8rem;
}
@media (any-hover: hover) {
  .visitor .visito__search a:hover {
    color: #cc0033;
  }
}
.visitor .visitor__notes {
  font-size: 1.2rem;
  color: #cc0033;
}
.visitor .visitor__notes:not(:last-child) {
  margin-bottom: 0.5rem;
}
.visitor .visitor__button:nth-child(n+2) {
  margin-top: 0.5rem;
}
.visitor .visitor__button .button {
  font-size: 1.6rem;
  min-width: 24rem;
}
@media screen and (min-width: 768px) {
  .visitor .formRow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .visitor .formRow:nth-child(n+2) {
    margin-top: 3rem;
  }
  .visitor .formRow:nth-child(n+2):has(label:first-child), .visitor .formRow:nth-child(n+2):has(.visitor__notes:first-child) {
    margin-top: 4rem;
  }
  .visitor .formRow:nth-child(n+2):has(.visitor__notes.-row2:first-child) {
    margin-top: 5rem;
  }
  .visitor .formRow:has(.visitor__button) .formRow__head {
    padding-top: 1.45rem;
  }
  .visitor .formRow__head {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 28rem;
    padding: 0.65rem 0;
  }
  .visitor .formRow__data {
    width: 100%;
  }
  .visitor .visitor__label:first-child {
    margin-top: calc((1.5em + 0.5rem) * -1);
  }
  .visitor .visitor__notes:first-child {
    margin-top: calc((1.5em + 0.5rem) * -1);
  }
  .visitor .visitor__notes:first-child.-row2 {
    margin-top: calc((3em + 0.5rem) * -1);
  }
  .visitor .form-textbox.-min {
    width: 28.4rem;
  }
}
@media screen and (max-width: 767.98px) {
  .visitor .formRow:nth-child(n+2) {
    margin-top: 2.6rem;
  }
  .visitor .subRow__column {
    width: calc(50% - 0.5rem);
  }
  .visitor .formRow__data:nth-child(n+2) {
    margin-top: 1.2rem;
  }
  .visitor .formRow__data:nth-child(n+2):has(label:first-child), .visitor .formRow__data:nth-child(n+2):has(.visitor__notes:first-child) {
    margin-top: 1rem;
  }
  .visitor .visitor__button .button {
    font-size: 1.4rem;
    width: 100%;
  }
  .visitor .visitor__sample {
    font-size: 1.4rem;
  }
  .visitor .visitor__sample:nth-child(n+2) {
    margin-top: 1.2rem;
  }
  .visitor .visito__search:nth-child(n+2) {
    margin-top: 1.4rem;
  }
}

/* ==================================================
* confirm
================================================== */
.confirm {
  font-size: 1.6rem;
}
.confirm .formRow:nth-child(n+2) {
  margin-top: 2rem;
}
.confirm .formRow__data {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}
.confirm .formRow__data > .confirm__info:nth-child(n+2) {
  margin-top: 1rem;
}
.confirm .confirm__info {
  font-size: 1.4rem;
  font-weight: 400;
}
.confirm .confirm__text {
  font-weight: 400;
}
.confirm .confirm__text:nth-child(n+2) {
  margin-top: 0.5rem;
}
.confirm .confirm__date {
  font-weight: 400;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}
.confirm .confirm__date:nth-child(n+2) {
  margin-top: 2rem;
}
.confirm .confirm__day {
  font-family: "Montserrat", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", "Osaka", sans-serif;
  font-size: 1.4rem;
  font-weight: 500;
  display: inline-block;
  color: #fff;
  background-color: #000;
  white-space: nowrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-right: 1rem;
  padding: 0.3rem 0.8rem;
  border-radius: 0.4rem;
}
@media screen and (min-width: 768px) {
  .confirm .formRow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .confirm .formRow__head {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-right: 2rem;
  }
}
@media screen and (max-width: 767.98px) {
  .confirm {
    font-size: 1.3rem;
  }
}

/* ==================================================
* thanks
================================================== */
.thanks .thanks__box {
  background-color: #fff;
  padding: 4rem;
}
.thanks .thanks__title {
  font-size: 2rem;
}
.thanks .thanks__text {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
}
.thanks .thanks__text:nth-child(n+2) {
  margin-top: 1.6rem;
}
.thanks .thanks__list {
  font-size: 1.6rem;
}
.thanks .thanks__list:nth-child(n+2) {
  margin-top: 1.6rem;
}
.thanks .thanks__list li {
  padding-left: 1.25em;
  position: relative;
}
.thanks .thanks__list li:nth-child(n+2) {
  margin-top: 0.4rem;
}
.thanks .thanks__list li:before {
  content: "・";
  display: block;
  -webkit-transform: scale(1.5);
          transform: scale(1.5);
  position: absolute;
  top: 0;
  left: 0;
}
.thanks .thanks__button:nth-child(n+2) {
  margin-top: 3rem;
}
@media screen and (max-width: 767.98px) {
  .thanks .thanks__box {
    padding: 2rem;
  }
  .thanks .thanks__title {
    font-size: 1.6rem;
  }
  .thanks .thanks__text {
    font-size: 1.4rem;
  }
  .thanks .thanks__text:nth-child(n+2) {
    margin-top: 1.2rem;
  }
  .thanks .thanks__list {
    font-size: 1.4rem;
  }
  .thanks .thanks__list:nth-child(n+2) {
    margin-top: 1.2rem;
  }
  .thanks .thanks__button:nth-child(n+2) {
    margin-top: 2rem;
  }
}

/* ==================================================
* daySection
================================================== */
@media screen and (min-width: 768px) {
  .daySection .form__schedule {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .daySection .schedule__column {
    width: calc(50% - 2rem);
  }
  .daySection .schedule__column:only-child {
    width: 100%;
  }
}
@media screen and (max-width: 767.98px) {
  .daySection .schedule__column:nth-child(n+2) {
    margin-top: 3rem;
  }
}

/* ==================================================
* sessionSection
================================================== */
.sessionSection:not(.is-active) {
  display: none;
}
.sessionSection:nth-child(n+2) {
  margin-top: 3rem;
}
@media screen and (max-width: 767.98px) {
  .sessionSection:nth-child(n+2) {
    margin-top: 6rem;
  }
}

/* ==================================================
* inputSection
================================================== */
.inputSection .sectionBody {
  margin-top: 5rem;
}
.inputSection .sectionFooter {
  margin-top: 6rem;
}
@media screen and (max-width: 767.98px) {
  .inputSection .sectionBody {
    margin-top: 2rem;
  }
  .inputSection .sectionFooter {
    margin-top: 4rem;
  }
}

/* ==================================================
* enqueteSection
================================================== */
@media screen and (max-width: 767.98px) {
  .enqueteSection .sectionBody {
    margin-top: 1.6rem;
  }
}

/* ==================================================
* infoSection
================================================== */
.infoSection .sectionFooter {
  margin-top: 6rem;
}
@media screen and (max-width: 767.98px) {
  .infoSection .sectionBody {
    margin-top: 1.6rem;
  }
  .infoSection .sectionFooter {
    margin-top: 4rem;
  }
}

/* ==================================================
* inviteeSection
================================================== */
.inviteeSection .sectionBody {
  margin-top: 5rem;
}
.inviteeSection .sectionFooter {
  margin-top: 6rem;
}
.inviteeSection .invitee__form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.inviteeSection .invitee__label {
  font-size: 1.6rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-left: 1rem;
}
@media screen and (max-width: 767.98px) {
  .inviteeSection .sectionFooter {
    margin-top: 4rem;
  }
}

/* ==================================================
* reservationSection
================================================== */
.reservationSection .formRow__head {
  width: 28.8rem;
}
@media screen and (max-width: 767.98px) {
  .reservationSection .sectionBody {
    margin-top: 2rem;
  }
  .reservationSection .formRow:nth-child(n+2) {
    margin-top: 3rem;
  }
  .reservationSection .formRow__data:nth-child(n+2) {
    margin-top: 2rem;
  }
}

/* ==================================================
* visitorSection
================================================== */
.visitorSection .sectionFooter {
  margin-top: 5rem;
  padding-top: 5rem;
  border-top: solid 1px #ccc;
}
.visitorSection .formRow__head {
  width: 14.56em;
}
@media screen and (min-width: 768px) {
  .visitorSection:nth-child(n+2) {
    margin-top: 8rem;
  }
}
@media screen and (max-width: 767.98px) {
  .visitorSection .sectionBody {
    margin-top: 2rem;
    padding-top: 2rem;
  }
  .visitorSection .sectionFooter {
    margin-top: 4rem;
    padding-top: 4rem;
  }
  .visitorSection .formRow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .visitorSection .formRow__head {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 7.28em;
    margin-right: 2rem;
  }
  .visitorSection .formRow__data {
    width: 100%;
  }
}

/* ==================================================
* thanksSection
================================================== */
.thanksSection .sectionBody {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .thanksSection .sectionFooter {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 767.98px) {
  .thanksSection .sectionBody {
    margin-top: 3rem;
  }
}

/* ==================================================
* formCustomer
================================================== */
.formCustomer:not(.is-active) {
  display: none;
}
.formCustomer:nth-child(n+2) {
  margin-top: 5rem;
  padding-top: 6rem;
  border-top: solid 1px #ccc;
}
@media screen and (max-width: 767.98px) {
  .formCustomer:nth-child(n+2) {
    margin-top: 4rem;
    padding-top: 5rem;
  }
}

/* ==================================================
* confirmCustomer
================================================== */
.confirmCustomer:nth-child(n+2) {
  margin-top: 5rem;
  padding-top: 5rem;
  border-top: solid 1px #ccc;
}
@media screen and (max-width: 767.98px) {
  .confirmCustomer:nth-child(n+2) {
    margin-top: 4rem;
    padding-top: 4rem;
  }
}