@charset "UTF-8";
/* @import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;bold&family=Roboto&display=swap"); */
/* Document
 * * ========================================================================== */
/**
 * * Add border box sizing in all browsers (opinionated).
 * */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/**
 * * 1. Add text decoration inheritance in all browsers (opinionated).
 * * 2. Add vertical alignment inheritance in all browsers (opinionated).
 * */
::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

/**
 * * 1. Use the default cursor in all browsers (opinionated).
 * * 2. Change the line height in all browsers (opinionated).
 * * 3. Use a 4-space tab width in all browsers (opinionated).
 * * 4. Remove the grey highlight on links in iOS (opinionated).
 * * 5. Prevent adjustments of font size after orientation changes in
 * *    IE on Windows Phone and in iOS.
 * * 6. Breaks words to prevent overflow in all browsers (opinionated).
 * */
html {
  cursor: default;
  line-height: 1.5;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
  -webkit-tap-highlight-color: transparent;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  word-break: break-word;
}

/* Sections
 * * ========================================================================== */
/**
 * * Remove the margin in all browsers (opinionated).
 * */
body {
  margin: 0;
}

/**
 * * Correct the font size and margin on `h1` elements within `section` and
 * * `article` contexts in Chrome, Edge, Firefox, and Safari.
 * */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
 * * ========================================================================== */
/**
 * * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 * */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}

/**
 * * Remove the margin on nested lists in Edge 18- and IE.
 * */
ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

/**
 * * 1. Add the correct sizing in Firefox.
 * * 2. Show the overflow in Edge 18- and IE.
 * */
hr {
  height: 0;
  overflow: visible;
}

/**
 * * Add the correct display in IE.
 * */
main {
  display: block;
}

/**
 * * Remove the list style on navigation lists in all browsers (opinionated).
 * */
nav ol,
nav ul {
  list-style: none;
  padding: 0;
}

/**
 * * 1. Correct the inheritance and scaling of font size in all browsers.
 * * 2. Correct the odd `em` font sizing in all browsers.
 * */
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Text-level semantics
 * * ========================================================================== */
/**
 * * Remove the gray background on active links in IE 10.
 * */
a {
  background-color: transparent;
}

/**
 * * Add the correct text decoration in Edge 18-, IE, and Safari.
 * */
abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/**
 * * Add the correct font weight in Chrome, Edge, and Safari.
 * */
b,
strong {
  font-weight: bolder;
}

/**
 * * 1. Correct the inheritance and scaling of font size in all browsers.
 * * 2. Correct the odd `em` font sizing in all browsers.
 * */
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/**
 * * Add the correct font size in all browsers.
 * */
small {
  font-size: 80%;
}

/* Embedded content
 * * ========================================================================== */
/* * Change the alignment on media elements in all browsers (opinionated).
 * */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/**
 * * Add the correct display in IE 9-.
 * */
audio,
video {
  display: inline-block;
}

/**
 * * Add the correct display in iOS 4-7.
 * */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * * Remove the border on iframes in all browsers (opinionated).
 * */
iframe {
  border-style: none;
}

/**
 * * Remove the border on images within links in IE 10-.
 * */
img {
  border-style: none;
}

/**
 * * Change the fill color to match the text color in all browsers (opinionated).
 * */
svg:not([fill]) {
  fill: currentColor;
}

/**
 * * Hide the overflow in IE.
 * */
svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
 * * ========================================================================== */
/**
 * * Collapse border spacing in all browsers (opinionated).
 * */
table {
  border-collapse: collapse;
}

/* Forms
 * * ========================================================================== */
/**
 * * Remove the margin on controls in Safari.
 * */
button,
input,
select {
  margin: 0;
}

/**
 * * 1. Show the overflow in IE.
 * * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
 * */
button {
  overflow: visible;
  text-transform: none;
}

/**
 * * Correct the inability to style buttons in iOS and Safari.
 * */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * * 1. Change the inconsistent appearance in all browsers (opinionated).
 * * 2. Correct the padding in Firefox.
 * */
fieldset {
  border: 1px solid #a0a0a0;
  padding: 0.35em 0.75em 0.625em;
}

/**
 * * Show the overflow in Edge 18- and IE.
 * */
input {
  overflow: visible;
}

/**
 * * 1. Correct the text wrapping in Edge 18- and IE.
 * * 2. Correct the color inheritance from `fieldset` elements in IE.
 * */
legend {
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal;
}

/**
 * * 1. Add the correct display in Edge 18- and IE.
 * * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
 * */
progress {
  display: inline-block;
  vertical-align: baseline;
}

/**
 * * Remove the inheritance of text transform in Firefox.
 * */
select {
  text-transform: none;
}

/**
 * * 1. Remove the margin in Firefox and Safari.
 * * 2. Remove the default vertical scrollbar in IE.
 * * 3. Change the resize direction in all browsers (opinionated).
 * */
textarea {
  margin: 0;
  overflow: auto;
  resize: vertical;
}

/**
 * * Remove the padding in IE 10-.
 * */
[type=checkbox],
[type=radio] {
  padding: 0;
}

/**
 * * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * * 2. Correct the outline style in Safari.
 * */
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/**
 * * Correct the cursor style of increment and decrement buttons in Safari.
 * */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
 * * Correct the text style of placeholders in Chrome, Edge, and Safari.
 * */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 * */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * * 1. Correct the inability to style upload buttons in iOS and Safari.
 * * 2. Change font properties to `inherit` in Safari.
 * */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

/**
 * * Remove the inner border and padding of focus outlines in Firefox.
 * */
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * * Restore the focus outline styles unset by the previous rule in Firefox.
 * */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * * Remove the additional :invalid styles in Firefox.
 * */
:-moz-ui-invalid {
  box-shadow: none;
}

/* Interactive
 * * ========================================================================== */
/* * Add the correct display in Edge 18- and IE.
 * */
details {
  display: block;
}

/* * Add the correct styles in Edge 18-, IE, and Safari.
 * */
dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

/* * Add the correct display in all browsers.
 * */
summary {
  display: list-item;
}

/* Scripting
 * * ========================================================================== */
/**
 * * Add the correct display in IE 9-.
 * */
canvas {
  display: inline-block;
}

/**
 * * Add the correct display in IE.
 * */
template {
  display: none;
}

/* User interaction
 * * ========================================================================== */
/* * 1. Remove the tapping delay in IE 10.
 * * 2. Remove the tapping delay on clickable elements
 *    in all browsers (opinionated).
 * */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

/**
 * * Add the correct display in IE 10-.
 * */
[hidden] {
  display: none;
}

/* Accessibility
 * * ========================================================================== */
/**
 * * Change the cursor on busy elements in all browsers (opinionated).
 * */
[aria-busy=true] {
  cursor: progress;
}

/* * Change the cursor on control elements in all browsers (opinionated).
 * */
[aria-controls] {
  cursor: pointer;
}

/* * Change the cursor on disabled, not-editable, or otherwise
 * * inoperable elements in all browsers (opinionated).
 * */
[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

/* * Change the display on visually hidden accessible elements
 * * in all browsers (opinionated).
 * */
[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

html {
  font-size: min(1.25vw, 16px);
  scroll-behavior: smooth;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  html {
    font-size: min(3.5vw, 14px);
  }
}

html.is-fixed, body.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
}

body {
  position: relative;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 1.8;
  color: #000000;
}
body::-moz-selection {
  background-color: #888888;
  color: #ffffff;
}
body::selection {
  background-color: #888888;
  color: #ffffff;
}
body section {
  position: relative;
}
body a {
  text-decoration: none;
  color: #000000;
}
body img {
  width: 100%;
}
body h1, body h2, body h3, body h4, body h5, body h6 {
  font-size: unset;
  font-weight: unset;
  margin: 0;
}
body p {
  margin: 0;
}
body ul, body ol {
  padding: 0;
  margin: 0;
}
body ul li, body ol li {
  list-style: none;
}
body button {
  cursor: pointer;
  border: unset;
  background: unset;
  padding: 0;
}
body figure {
  margin: 0;
}

.l-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #ffffff;
  z-index: 100;
  -webkit-box-shadow: 0rem 0.0625rem 1.875rem 0 rgba(0, 0, 0, 0.16);
          box-shadow: 0rem 0.0625rem 1.875rem 0 rgba(0, 0, 0, 0.16);
}
.l-header__wrap {
  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;
  height: 80px;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-header__wrap {
    padding: 0 1.25rem;
    height: 60px;
  }
}
.l-header__logo {
  width: 11.5rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-header__logo {
    width: 9rem;
  }
}
.l-header__outer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-header__outer {
    gap: 0.75rem;
  }
}
.l-header__acc-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
}
.l-header__acc-name__img {
  width: 0.6875rem;
  aspect-ratio: 11/14;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-header__acc-name__img {
    display: none;
  }
}
.l-header__acc-name__txt {
  line-height: 1.5;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-header__acc-name__txt {
    font-size: 0.75rem;
  }
}
.l-header__btn {
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #013990;
  width: 7.5rem;
  height: 2.5rem;
  border-radius: 100vh;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-header__btn {
    width: 7rem;
  }
}
.l-header__btn__inner {
  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;
  gap: 0.75rem;
  height: 100%;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-header__btn__inner {
    gap: 0.5rem;
  }
}
.l-header__btn__img {
  width: 0.625rem;
  aspect-ratio: 10/17;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-header__btn__img {
    width: 0.5rem;
  }
}
.l-header__btn__txt {
  color: #ffffff;
  text-transform: uppercase;
  line-height: 1;
  padding-bottom: 0.125rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-header__btn__txt {
    font-size: 0.875rem;
    font-weight: bold;
  }
}

.l-main {
  padding-top: 3.5rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-main {
    padding: 0rem 1.25rem;
    padding-top: 1.5rem;
  }
}

.l-container--576 {
  max-width: 576px;
  margin: 0 auto;
  padding: 0 1.25rem;
  height: 100%;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-container--576 {
    max-width: unset;
    padding: 0;
  }
}
.l-container--640 {
  max-width: 640px;
  margin: 0 auto;
  padding: 0 1.25rem;
  height: 100%;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-container--640 {
    max-width: unset;
    padding: 0;
  }
}
.l-container--720 {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 1.25rem;
  height: 100%;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-container--720 {
    max-width: unset;
    padding: 0;
  }
}
.l-container--800 {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 1.25rem;
  height: 100%;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-container--800 {
    max-width: unset;
    padding: 0;
  }
}
.l-container--880 {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 1.25rem;
  height: 100%;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-container--880 {
    max-width: unset;
    padding: 0;
  }
}
.l-container--960 {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 1.25rem;
  height: 100%;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-container--960 {
    max-width: unset;
    padding: 0;
  }
}
.l-container--1000 {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 1.25rem;
  height: 100%;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-container--1000 {
    max-width: unset;
    padding: 0;
  }
}
.l-container--1040 {
  max-width: 1040px;
  margin: 0 auto;
  padding: 0 1.25rem;
  height: 100%;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-container--1040 {
    max-width: unset;
    padding: 0;
  }
}
.l-container--1120 {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 1.25rem;
  height: 100%;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-container--1120 {
    max-width: unset;
    padding: 0;
  }
}
.l-container--1200 {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1.25rem;
  height: 100%;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-container--1200 {
    max-width: unset;
    padding: 0;
  }
}
.l-container--1280 {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 1.25rem;
  height: 100%;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-container--1280 {
    max-width: unset;
    padding: 0;
  }
}

.l-footer {
  margin-top: 5rem;
  padding-bottom: 4.5rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .l-footer {
    margin-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}
.l-footer ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.l-footer ul li {
  padding: 0 1.25rem;
  border-right: 1px solid #000000;
  line-height: 1;
}
.l-footer ul li:last-of-type {
  border-right: none;
}
.l-footer ul a {
  font-size: 0.875rem;
  font-weight: 300;
}
.l-footer ul a.-link {
  position: relative;
  padding-right: 1rem;
}
.l-footer ul a.-link::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  width: 0.6875rem;
  aspect-ratio: 1/1;
  background-image: url("../img/ico-link.webp");
  background-repeat: no-repeat;
  background-size: contain;
}

.c-head-box {
  background-color: #ffffff;
  border-radius: 1rem;
  padding: 3.75rem 2.75rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .c-head-box {
    padding: 2rem 1.5rem;
  }
}

.c-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.75rem;
}
.c-head__img {
  width: 6.25rem;
  min-width: 6.25rem;
  border: 3px solid #013990;
  border-radius: 100vh;
}
.c-head__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 1.5;
}

.c-head__column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}

.c-head.-start {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
.c-head.-start .c-head__ttl {
  margin-top: 1.125rem;
}

.c-head-box.-sm {
  padding: 1.25rem 1.25rem;
}
.c-head-box.-sm .c-head__img {
  width: 4.375rem;
  min-width: 4.375rem;
}

.c-btn-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.5rem;
  padding: 3rem 0 0;
}
.c-btn-area.-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.c-btn {
  position: relative;
  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;
  width: 14.1875rem;
  height: 4.375rem;
  background-color: #013990;
  border-radius: 100vh;
  color: #ffffff;
  font-weight: bold;
  font-size: 1.125rem;
  -webkit-box-shadow: 0rem 0.5rem 0.5rem 0 rgba(0, 0, 0, 0.16);
          box-shadow: 0rem 0.5rem 0.5rem 0 rgba(0, 0, 0, 0.16);
  border: 0.1875rem solid #ffffff;
  line-height: 1;
  padding-bottom: 0.125rem;
}
.c-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 1.5rem;
  width: 0.75rem;
  aspect-ratio: 1/2;
  background-image: url("../img/ico-arrow--wh.webp");
  background-repeat: no-repeat;
  background-size: contain;
  background-position-y: center;
}
.c-btn.-top {
  width: 42.5rem;
  height: 5rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .c-btn.-top {
    font-size: 1.0625rem;
  }
}
.c-btn.-top::after {
  background-image: url("../img/ico-light.webp");
  width: 1.5rem;
  aspect-ratio: 24/40;
  left: 9rem;
  -webkit-transform: translateY(-60%);
          transform: translateY(-60%);
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .c-btn.-top::after {
    left: 1.25rem;
    width: 1.375rem;
  }
}

.c-btn.-gn {
  background-color: #019022;
}

.c-btn.-gy {
  background-color: #959595;
}

.c-other__body {
  width: 100vw;
  height: 100vh;
  background-color: #F4F4F4;
}

.c-other__page-back {
  position: relative;
  color: #013990;
  padding-left: 1rem;
  line-height: 1;
}
.c-other__page-back::before {
  position: absolute;
  content: "";
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-40%);
          transform: translateY(-40%);
  background-image: url("../img/ico-arrow--bl.webp");
  background-repeat: no-repeat;
  background-size: contain;
  width: 0.5rem;
  aspect-ratio: 4/8;
}

.c-other__list li {
  position: relative;
  padding-left: 1rem;
}
.c-other__list li::before {
  position: absolute;
  content: "";
  left: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 0.25rem;
  aspect-ratio: 1/1;
  border-radius: 100vh;
  background-color: #000000;
}

.c-other__line {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-other__line::after {
  position: absolute;
  content: "";
  top: 50%;
  width: 100%;
  height: 0.0625rem;
  background-color: #888888;
  margin-left: 0.5rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .c-other__line::after {
    width: 4.5rem;
  }
}

.c-other__note {
  position: relative;
  font-size: 0.75rem;
  padding-left: 1rem;
  margin-top: 1rem;
  letter-spacing: 0;
  color: #888888;
  line-height: 1.5;
}
.c-other__note::before {
  position: absolute;
  content: "※";
  left: 0;
}

.c-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
}
.c-form__label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
  font-weight: 500;
}
.c-form__input input, .c-form__select select, .c-form__date input, .c-form__textarea textarea {
  width: 100%;
  padding: 0.5rem;
  font-size: 1rem;
  border: 1px solid #888888;
  border-radius: 0.25rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .c-form__input input, .c-form__select select, .c-form__date input, .c-form__textarea textarea {
    font-size: 1.0625rem;
  }
}
.c-form__select {
  position: relative;
}
.c-form__select::after {
  position: absolute;
  content: "";
  right: 1rem;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
  width: 0.5rem;
  aspect-ratio: 1/2;
  background-image: url("../img/ico-arrow--bl.webp");
  background-size: contain;
  background-repeat: no-repeat;
}
.c-form__select select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.c-form__date {
  position: relative;
  width: 15.5rem;
  height: 2.1875rem;
}
.c-form__date::after {
  position: absolute;
  content: "";
  background-image: url("../img/ico-calendar.webp");
  background-size: contain;
  background-repeat: no-repeat;
  width: 1.125rem;
  aspect-ratio: 18/17;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0.75rem;
}
.c-form__date input {
  width: inherit;
  height: inherit;
}
.c-form__checks {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 1rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.c-form__checks span {
  margin-left: 0.25rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .c-form__file input {
    padding: 1.5rem 0;
  }
}
.c-form__required, .c-form__optional {
  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;
  color: #ffffff;
  font-size: 0.625rem;
  width: 1.625rem;
  height: 1rem;
  border-radius: 0.125rem;
  line-height: 1;
}
.c-form__required {
  background-color: #E20000;
}
.c-form__optional {
  background-color: #6C8996;
}
.c-form__value {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #888888;
  min-height: 2rem;
  height: auto;
}
.c-form__insert__wrap {
  border: 0.125rem solid #013990;
  border-radius: 0.25rem;
  padding: 1rem 0.5rem 0.75rem 0.75rem;
}
.c-form__insert__txt {
  font-size: 0.875rem;
  font-weight: 500;
}
.c-form__insert__link {
  color: #013990;
  padding: 0 0.25rem;
}
.c-form__insert .c-form__checks {
  padding: 2rem 0 1.5rem;
}

.c-table-wrap {
  position: relative;
  width: 100%;
  max-width: 100%;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .c-table-wrap {
    overflow-x: auto;
  }
}

.c-table-arrow {
  display: none;
  width: 0.875rem;
  aspect-ratio: 9/8;
  margin: 0 0 0.25rem auto;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .c-table-arrow {
    display: block;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .c-table-arrow.-status {
    margin-right: 5.5rem;
  }
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .c-table-arrow.-checkbox {
    margin-right: 3.5rem;
  }
}

.c-table {
  position: relative;
  width: 100%;
}
.c-table th, .c-table td {
  padding: 0.4375rem;
  font-size: 0.875rem;
  line-height: 1.5;
  text-align: start;
  white-space: nowrap;
}
.c-table th.-sticky, .c-table td.-sticky-cell {
  position: sticky;
  right: 0;
  width: 5rem;
  z-index: 2;
  text-align: right;
  padding-right: 0.625rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .c-table th.-sticky, .c-table td.-sticky-cell {
    width: 6rem;
    padding: 0.75rem;
  }
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .c-table th.-sticky::before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 0.0625rem;
    height: 100%;
    background-color: #ffffff;
  }
}
.c-table th:first-of-type, .c-table td:first-of-type {
  padding-left: 0.625rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .c-table th:first-of-type, .c-table td:first-of-type {
    padding-left: 0.75rem;
  }
}
.c-table th.-wd-100, .c-table td.-wd-100 {
  width: 100%;
}
.c-table th {
  color: #ffffff;
  font-weight: 400;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .c-table th {
    font-weight: bold;
  }
}
.c-table th.-bl {
  background-color: #417DC7;
  height: 3.75rem;
}
.c-table th.-gn {
  background-color: #0388A0;
}
.c-table th.-bk {
  background-color: #575757;
}
.c-table td {
  background-color: #ffffff;
}
.c-table td.c-table__note {
  color: #888888;
  white-space: unset;
  padding: 1rem;
}
.c-table tbody.-bg-alternately tr:nth-child(4n+1) td, .c-table tbody.-bg-alternately tr:nth-child(4n+2) td {
  background-color: #ffffff;
}
.c-table tbody.-bg-alternately tr:nth-child(4n+3) td, .c-table tbody.-bg-alternately tr:nth-child(4n+4) td {
  background-color: #E6E6E6;
}
.c-table td .-center {
  display: block;
  margin: 0 auto;
}
.c-table__btn {
  position: relative;
  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;
  color: #ffffff;
  background-color: #013990;
  width: 100%;
  height: 1.5rem;
  font-size: 0.75rem;
  border-radius: 0.25rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .c-table__btn {
    font-weight: 600;
    font-size: 0.8125rem;
    height: 2rem;
  }
}
.c-table__btn.-finish::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-40%);
          transform: translateY(-40%);
  left: 0.3125rem;
  background-image: url("../img/ico-arrow--wh.webp");
  background-size: contain;
  background-repeat: no-repeat;
  width: 0.3125rem;
  aspect-ratio: 3/6;
}
.c-table__btn.-unfinish {
  background-color: #D94848;
}

.p-top {
  padding-top: 0;
}
.p-top__mv {
  position: relative;
  height: 25rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .p-top__mv {
    margin-bottom: 2.5rem;
  }
}
.p-top__mv::before {
  content: "";
  position: absolute;
  width: 100vw;
  height: 100%;
  top: 0;
  left: 0;
  background-image: url("../img/img-top-bg.webp");
  background-size: cover;
  background-repeat: no-repeat;
  z-index: -5;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .p-top__mv::before {
    left: -1.25rem;
  }
}
.p-top__mv__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}
.p-top__mv__outer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: auto;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .p-top__mv__outer {
    position: relative;
    margin: 0;
    width: 100%;
    height: 100%;
  }
}
.p-top__mv__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.625rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .p-top__mv__inner {
    margin-top: 4.5rem;
    gap: 1rem;
  }
}
.p-top__mv__ttl {
  font-size: 2.125rem;
  padding: 0 0.75rem;
  font-weight: 400;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .p-top__mv__ttl {
    font-size: 1.75rem;
  }
}
.p-top__mv__human {
  width: 19.625rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .p-top__mv__human {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 11rem;
  }
}
.p-top__btn-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-term__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
}
.p-term__col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
.p-term__page-ttl {
  font-size: 2rem;
  line-height: 1.5;
  margin-bottom: 2.5rem;
}
.p-term__gr-ttl {
  font-size: 1.5rem;
  border-bottom: 0.1875rem solid #013990;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .p-term__gr-ttl {
    font-size: 1.375rem;
  }
}
.p-term__lg-list, .p-term__md-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p-term__lg-list__item {
  position: relative;
  padding-left: 1.5rem;
  margin-top: 1rem;
}
.p-term__lg-list__item:first-of-type {
  margin-top: 0;
}
.p-term__lg-list__item::before {
  position: absolute;
  left: 0;
  font-weight: 500;
}
.p-term__lg-list__item:nth-of-type(1)::before {
  content: "1.";
}
.p-term__lg-list__item:nth-of-type(2)::before {
  content: "2.";
}
.p-term__lg-list__item:nth-of-type(3)::before {
  content: "3.";
}
.p-term__lg-list__item:nth-of-type(4)::before {
  content: "4.";
}
.p-term__lg-list__item:nth-of-type(5)::before {
  content: "5.";
}
.p-term__lg-list__item:nth-of-type(6)::before {
  content: "6.";
}
.p-term__lg-list__item:nth-of-type(7)::before {
  content: "7.";
}
.p-term__md-list {
  padding-left: 1.5rem;
  margin-top: 0.75rem;
}
.p-term__md-list__item {
  position: relative;
  padding-left: 1.75rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .p-term__md-list__item {
    padding-left: 1.625rem;
  }
}
.p-term__md-list__item::before {
  position: absolute;
  top: 0.25rem;
  left: 0;
  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;
  background-color: #4f4f4f;
  border-radius: 100vh;
  width: 1.09375rem;
  aspect-ratio: 1/1;
  font-size: 0.625rem;
  line-height: 1;
  font-weight: 600;
  color: #ffffff;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .p-term__md-list__item::before {
    width: 1.125rem;
    top: 0.3125rem;
  }
}
.p-term__md-list__item:nth-of-type(1)::before {
  content: "1";
}
.p-term__md-list__item:nth-of-type(2)::before {
  content: "2";
}
.p-term__md-list__item:nth-of-type(3)::before {
  content: "3";
}
.p-term__md-list__item:nth-of-type(4)::before {
  content: "4";
}
.p-term__md-list__item:nth-of-type(5)::before {
  content: "5";
}
.p-term__md-list__item:nth-of-type(6)::before {
  content: "6";
}
.p-term__md-list__item:nth-of-type(7)::before {
  content: "7";
}
.p-term__md-list__item:nth-of-type(8)::before {
  content: "8";
}
.p-term__md-list__item:nth-of-type(9)::before {
  content: "9";
}
.p-term__md-list__item:nth-of-type(10)::before {
  content: "10";
}
.p-term__sm-list {
  padding-left: 0.75rem;
  margin: 0.5rem 0;
}
.p-term__sm-list__item {
  position: relative;
  padding-left: 1rem;
}
.p-term__sm-list__item::before {
  position: absolute;
  content: "・";
  top: 0;
  left: 0;
}

span.u-inline-bl {
  display: inline-block;
}

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

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

.u-mt_8 {
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .u-mt_8 {
    margin-top: 0.25rem;
  }
}

.u-mt_16 {
  margin-top: 1rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .u-mt_16 {
    margin-top: 0.5rem;
  }
}

.u-mt_24 {
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .u-mt_24 {
    margin-top: 0.75rem;
  }
}

.u-mt_32 {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .u-mt_32 {
    margin-top: 1rem;
  }
}

.u-mt_40 {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .u-mt_40 {
    margin-top: 1.25rem;
  }
}

.u-mt_48 {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .u-mt_48 {
    margin-top: 1.5rem;
  }
}

.u-mt_56 {
  margin-top: 3.5rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .u-mt_56 {
    margin-top: 1.75rem;
  }
}

.u-mt_64 {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .u-mt_64 {
    margin-top: 2rem;
  }
}

.u-mt_72 {
  margin-top: 4.5rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .u-mt_72 {
    margin-top: 2.25rem;
  }
}

.u-mt_80 {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .u-mt_80 {
    margin-top: 2.5rem;
  }
}

