@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;
  }
}
/* ==================================================
* eHeader
================================================== */
.eHeader .eHeader__name {
  font-size: 3.6rem;
}
.eHeader .eHeader__mypage {
  font-size: 2.8rem;
}

@media screen and (max-width: 767.98px) {
  .eHeader .eHeader__name {
    font-size: 2.8rem;
    display: block;
  }
  .eHeader .eHeader__mypage {
    font-size: 2.4rem;
    display: block;
  }
}
/* ==================================================
* content
================================================== */
.content {
  margin-top: 6rem;
}

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

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

@media screen and (max-width: 767.98px) {
  .section:nth-child(n+2) {
    margin-top: 3rem;
  }
}
/* ==================================================
* sectionHeeader
================================================== */
.sectionHeeader {
  text-align: center;
}
.sectionHeeader .sectionHeader__message {
  font-size: 2.4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: normal;
      -ms-flex-align: normal;
          align-items: normal;
  text-align: left;
  padding-block: 1.6rem;
  border-block: solid 1px rgba(0, 0, 0, 0.15);
  position: relative;
}
.sectionHeeader .sectionHeader__message:after {
  display: block;
  content: "";
  width: 10rem;
  border-bottom: solid 1px #cc0033;
  position: absolute;
  left: 0;
  bottom: 0;
}

@media screen and (max-width: 767.98px) {
  .sectionHeeader .sectionHeader__message {
    font-size: 1.8rem;
    letter-spacing: 0;
  }
}
/* ==================================================
* sectionBody
================================================== */
.sectionBody {
  margin-top: 4rem;
}
.sectionBody .formRow {
  font-size: 1.8rem;
}
.sectionBody .formRow:nth-child(n+2) {
  margin-top: 3rem;
}
.sectionBody .formRow:has(.form-textbox) + .formRow:has(.form-textbox) {
  margin-top: 2rem;
}
.sectionBody .sectionBody__message {
  font-size: 1.8rem;
  line-height: 1.8;
}
.sectionBody .sectionBody__message + .sectionBody__message2 {
  margin-top: 2rem;
}
.sectionBody .sectionBody__message2 {
  font-size: 1.6rem;
  line-height: 1.8;
}
.sectionBody .formNotes,
.sectionBody .errorMsg {
  font-size: 1.2rem;
  color: #cc0033;
}
.sectionBody .formCode {
  display: block;
  inline-size: 100%;
}

@media screen and (min-width: 768px) {
  .sectionBody .formRow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .sectionBody .formRow:has(.formRow__head + .formRow__data .form-textbox:not(:first-child)) .formRow__head {
    padding-top: 2.95rem;
  }
  .sectionBody .formRow__head {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 21rem;
    margin-right: 2rem;
    padding-top: 0.65rem;
  }
  .sectionBody .formRow__data {
    display: grid;
    row-gap: 0.5rem;
    width: 100%;
  }
}
@media screen and (max-width: 767.98px) {
  .sectionBody {
    margin-top: 3rem;
  }
  .sectionBody .formRow {
    font-size: 1.6rem;
  }
  .sectionBody .formRow:nth-child(n+2) {
    margin-top: 2rem;
  }
  .sectionBody .formRow__data:nth-child(n+2) {
    margin-top: 0.8rem;
  }
  .sectionBody .sectionBody__message {
    font-size: 1.6rem;
  }
  .sectionBody .sectionBody__message2 {
    font-size: 1.4rem;
  }
  .sectionBody .formCode {
    max-inline-size: 16rem;
    inline-size: auto;
    margin-inline: auto;
  }
}
/* ==================================================
* sectionFooter
================================================== */
.sectionFooter {
  text-align: center;
  margin-top: 6rem;
}
.sectionFooter .sectionFooter__link {
  font-size: 1.6rem;
  display: grid;
  row-gap: 0.5rem;
}
.sectionFooter .sectionFooter__link:nth-child(n+2) {
  margin-top: 2rem;
}
.sectionFooter .sectionFooter__link + .sectionFooter__link {
  margin-top: 1em;
}

@media screen and (max-width: 767.98px) {
  .sectionFooter {
    margin-top: 4rem;
  }
  .sectionFooter .sectionFooter__link {
    font-size: 1.4rem;
  }
}
/* ==================================================
* sectionLogin
================================================== */
.sectionLogin {
  max-width: 78.4rem;
  margin-inline: auto;
}

/* ==================================================
* mypageHeader
================================================== */
.mypageHeader .mypageHeader__title {
  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;
}
.mypageHeader .mypageHeader__title:after {
  display: block;
  content: "";
  width: 10rem;
  border-bottom: solid 1px #cc0033;
  position: absolute;
  left: 0;
  bottom: 0;
}
.mypageHeader .mypageHeader__title:nth-child(n+2) {
  margin-top: 4rem;
}

@media screen and (max-width: 767.98px) {
  .mypageHeader .mypageHeader__title {
    font-size: 1.8rem;
  }
  .mypageHeader .mypageHeader__title:nth-child(n+2) {
    margin-top: 2rem;
  }
}
/* ==================================================
* mypageBody
================================================== */
.mypageBody {
  margin-top: 1rem;
}

@media screen and (max-width: 767.98px) {
  .mypageBody {
    margin-top: 1rem;
  }
}
/* ==================================================
* mypageMenu
================================================== */
.mypageMenu {
  font-size: 1.8rem;
}
.mypageMenu .mypageMenu__item {
  border-bottom: solid 1px #ccc;
}
.mypageMenu .mypageMenu__item a {
  text-decoration: none;
  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;
  padding: 3rem 2rem 3rem 0;
}
@media (any-hover: hover) {
  .mypageMenu .mypageMenu__item a:hover {
    color: #cc0033;
  }
}
.mypageMenu .mypageMenu__item i {
  font-weight: 400;
  display: inline-block;
  rotate: 90deg;
}

@media screen and (max-width: 767.98px) {
  .mypageMenu {
    font-size: 1.6rem;
  }
  .mypageMenu .mypageMenu__item a {
    padding: 2rem 0;
  }
}
/* ==================================================
* confirm
================================================== */
.confirm .confirm__table {
  font-size: 1.8rem;
  table-layout: fixed;
  width: 100%;
}
.confirm .confirm__table th,
.confirm .confirm__table td {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.confirm .confirm__table th {
  font-size: 1.6rem;
  font-weight: 500;
  text-align: left;
}
.confirm .confirm__info {
  font-size: 1.4rem;
}
.confirm .confirm__info:nth-child(n+2) {
  margin-top: 1rem;
}
.confirm .confirm__text {
  font-size: 1.6rem;
  font-weight: 400;
}
.confirm .confirm__text:nth-child(n+2) {
  margin-top: 0.5rem;
}
.confirm .confirm__text + .confirm__info:nth-child(n+2) {
  margin-top: 1rem;
}
.confirm .confirm__date {
  font-size: 1.6rem;
  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;
  margin-right: 1rem;
  padding: 0.3rem 0.8rem;
  border-radius: 0.4rem;
}
.confirm .confirm__cancel {
  font-size: 1.6rem;
  margin-top: 3rem;
}
.confirm .confirm__button {
  margin-top: 3.2rem;
}
.confirm .confirm__notes {
  font-size: 1.4rem;
  margin-top: 1.6rem;
}

@media screen and (min-width: 768px) {
  .confirm th,
  .confirm td {
    padding: 1.5rem 0;
  }
  .confirm th {
    vertical-align: top;
    text-align: center;
    width: 28.8rem;
  }
}
@media screen and (max-width: 767.98px) {
  .confirm .confirm__table {
    font-size: 1.6rem;
  }
  .confirm .confirm__table th,
  .confirm .confirm__table td {
    padding: 1rem 0;
  }
  .confirm .confirm__table,
  .confirm .confirm__table thead,
  .confirm .confirm__table tbody,
  .confirm .confirm__table tr,
  .confirm .confirm__table th,
  .confirm .confirm__table td {
    display: block;
  }
  .confirm .confirm__table tr:nth-child(n+2) th {
    padding-top: 2rem;
  }
  .confirm .confirm__info {
    font-size: 1.4rem;
  }
  .confirm .confirm__cancel {
    font-size: 1.4rem;
    margin-top: 2rem;
  }
  .confirm .confirm__button {
    margin-top: 2rem;
  }
  .confirm .confirm__notes {
    margin-top: 1.2rem;
  }
}
/* ==================================================
* archive
================================================== */
.archive .archive__list {
  border-top: solid 1px #ccc;
}
.archive .archive__item {
  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;
  padding: 2rem 0;
  border-bottom: solid 1px #ccc;
}
.archive .archive__info {
  font-size: 1.4rem;
}
.archive .archive__text {
  font-size: 1.6rem;
}
.archive .archive__text:nth-child(n+2) {
  margin-top: 0.8rem;
}

@media screen and (min-width: 768px) {
  .archive .archive__button {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 18rem;
    margin-left: 2rem;
  }
  .archive .archive__data {
    width: 100%;
  }
}
@media screen and (max-width: 767.98px) {
  .archive .archive__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .archive .archive__button {
    margin-top: 1.5rem;
  }
  .archive .archive__button .button--min {
    min-width: 18rem;
  }
}