@charset "UTF-8";
*,
*:before,
*:after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
:where([hidden]:not([hidden="until-found"])) {
  display: none !important;
}
:where(html) {
  -webkit-text-size-adjust: none;
  color-scheme: dark light;
  -moz-tab-size: 2;
  tab-size: 2;
  scrollbar-gutter: stable;
}
:where(html:has(dialog:modal[open])) {
  overflow: clip;
}
@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth;
  }
}
:where(body) {
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
:where(button) {
  all: unset;
}
:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
}
:where(textarea) {
  resize: vertical;
  resize: block;
}
:where(button, label, 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(a) {
  color: inherit;
  text-underline-offset: 0.2ex;
}
:where(ul, ol) {
  list-style: none;
}
:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}
:where(img, picture, svg, video) {
  max-inline-size: 100%;
  block-size: auto;
}
:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}
:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem);
  text-wrap: balance;
}
:where(hr) {
  border: none;
  border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}
:where(dialog) {
  border: none;
  background: none;
  inset: unset;
  max-width: unset;
  max-height: unset;
}
:where(dialog:not([open])) {
  display: none !important;
}
:where(:focus-visible) {
  outline: 3px solid CanvasText;
  box-shadow: 0 0 0 5px Canvas;
  outline-offset: 1px;
}
:where(:focus-visible, :target) {
  scroll-margin-block: 0;
}
:where(.visually-hidden:not(:focus-within, :active)) {
  clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}
:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: revert;
  vertical-align: middle;
}
:where(h1, h2, h3) {
  text-wrap: revert;
}
:where(fieldset) {
  border: none;
  background: none;
  inset: unset;
  max-width: unset;
  max-height: unset;
}
:where(summary) {
  list-style: none;
}
:where(summary)::-webkit-details-marker {
  display: none;
}
:where([tabindex="-1"]:focus-visible) {
  outline: none;
  box-shadow: none;
}
@media (prefers-reduced-motion) {
  *,
  *:before,
  *:after {
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
    animation-delay: 1ms !important;
    animation-iteration-count: 1 !important;
  }
}
:root {
  --color-blue-90: #eaf4fa;
  --color-blue-80: #ddedf7;
  --color-blue-70: #c6e1f1;
  --color-blue-60: #b2d6eb;
  --color-blue-50: #9fcde8;
  --color-blue-40: #0a7cc1;
  --color-blue-30: #035181;
  --color-blue-20: #012f5e;
  --color-blue-10: #051f4a;
  --color-grey-100: #ffffff;
  --color-grey-90: #efefef;
  --color-grey-80: #e5e5e5;
  --color-grey-70: #cdcdcd;
  --color-grey-60: #b2b2b2;
  --color-grey-50: #989898;
  --color-grey-40: #707070;
  --color-grey-30: #4d4d4d;
  --color-grey-20: #333333;
  --color-grey-10: #191919;
  --color-grey-0: #000000;
  --color-text: var(--color-grey-20);
  --color-caution: #e02004;
  --color-link: var(--color-blue-40);
  --color-link-visited: var(--color-link);
  --color-link-hover: var(--color-link);
  --color-dark: var(--color-grey-0);
  --color-light: var(--color-grey-100);
  --font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans",
    Meiryo, sans-serif;
  --font-family-serif: "Noto Serif JP", serif;
  --browserFontSize: 16;
  --base-font-size: 1rem;
  --base-line-height: 1.5rem;
  --easing: cubic-bezier(0.39, 0.575, 0.565, 1);
  --border-width-md: 0.0625rem;
  --border-width-lg: 0.125rem;
  --border-width-xl: 0.25rem;
  --border-radius-md: 0.625rem;
  --border-radius-lg: 1.25rem;
  --border-radius-xl: 1.875rem;
  --border-radius-infinity: calc(infinity * 1px);
  --gap: clamp(1.25rem, 0.8888674884rem + 1.5408320493vw, 1.875rem);
  --contentWidth: 980;
  --full: minmax(var(--gap), 1fr);
  --content: min(
    var(--contentWidth) / var(--browserFontSize) * 1rem,
    100% - var(--gap) * 2
  );
  --arrow-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMiAxMiI+CiAgPHBhdGggZD0iTTExIDExLjhjLS4zIDAtLjYtLjEtLjktLjRMLjkgMi4zQy40IDEuOC40IDEgLjkuNVMyLjIgMCAyLjcuNUwxMSA4LjggMTkuMy41Yy41LS41IDEuMy0uNSAxLjggMHMuNSAxLjMgMCAxLjhsLTkuMiA5LjJjLS4yLjItLjYuNC0uOS40WiIvPgo8L3N2Zz4K);
}
html {
  height: var(--100vh, 100vh);
  min-height: 100%;

  color-scheme: light;
  scrollbar-gutter: auto;
}
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
body {
  font-family: var(--font-family);
  font-size: 100%;
  line-height: inherit;
  color: var(--color-text);
  font-weight: 400;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}
hr {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
  border-top-width: var(--border-width-lg);
  border-top-style: solid;
  border-top-color: var(--color-blue-40);
}
@media screen and (max-width: 48rem) {
  hr {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
  }
}
strong,
b {
  font-weight: 700;
}
em {
  font-style: italic;
}
mark {
  background-color: transparent;
}
sup {
  font-size: smaller;
  vertical-align: super;
}
sub {
  font-size: smaller;
  vertical-align: sub;
}
a {
  color: var(--color-link);
  text-decoration: underline;
}
a:where(:visited) {
  color: var(--color-link-visited);
}
@media (any-hover: hover) {
  a:where(:hover) {
    color: var(--color-link-hover);
    text-decoration: none;
  }
}
input,
textarea,
select,
button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  font: inherit;
  color: inherit;
  text-align: inherit;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
}
select,
button {
  cursor: pointer;
}
button {
  width: 100%;
  overflow: visible;
}
input::-ms-clear,
input::-ms-reveal,
select::-ms-expand {
  display: none;
}
fieldset {
  border: none;
}
legend {
  width: 100%;
}
.l-base {
  font-size: var(--base-font-size);
  line-height: var(--base-line-height);
}
.l-base__head {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 3;
}
.l-base__body {
  position: relative;
  z-index: 1;
}
.l-base__foot {
  position: relative;
  margin-top: 5rem;
  z-index: 2;
}
@media screen and (max-width: 48rem) {
  .l-base__foot {
    margin-top: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .l-base__foot {
    padding-bottom: 50px;
  }
}
.l-footer {
  display: grid;
  grid-template-columns:
    [full-start] var(--full) [content-start] var(--content) [content-end] var(
      --full
    )
    [full-end];
}
.l-footer__info {
  grid-column: content;
}
.l-footer__copy {
  grid-column: full;
  margin-top: 5rem;
}
@media screen and (max-width: 48rem) {
  .l-footer__copy {
    margin-top: 2.5rem;
  }
}
.cmn-header__logo {
  position: sticky;
  top: 0;
  display: grid;
  place-items: center;
  background-color: var(--color-light);
  padding-top: clamp(0.5rem, 0.0666409861rem + 1.8489984592vw, 1.25rem);
  padding-right: 2.375rem;
  padding-bottom: clamp(0.5625rem, 0.1652542373rem + 1.6949152542vw, 1.25rem);
  padding-left: 2.375rem;
}
.cmn-header__logo h1 {
  line-height: 1;
}
.cmn-header__anchor {
  position: fixed;
  opacity: 1;
  visibility: visible;
  transition-property: opacity, visibility;
  transition-duration: 0.3s;
  transition-timing-function: var(--easing);
  transition-delay: 0s;
}
.cmn-header__anchor.is-hide {
  opacity: 0;
  visibility: hidden;
  transition-delay: 0.3s;
}
@media print, screen and (min-width: 48.0625rem) {
  .cmn-header__anchor {
    top: 50%;
    right: env(safe-area-inset-right, 0);
    translate: 0% -50%;
    writing-mode: vertical-rl;
  }
}
@media screen and (max-width: 48rem) {
  .cmn-header__anchor {
    right: 0;
    bottom: 0;
    left: 0;
    writing-mode: horizontal-tb;
  }
}
.cmn-header__anchor a {
  position: relative;
  display: block;
  padding-inline-start: 1rem;
  padding-inline-end: 1.3125rem;
  padding-block-start: 1.125rem;
  padding-block-end: 1.125rem;
  background-color: #e8d15c;
  border-width: var(--border-width-lg);
  border-style: solid;
  border-color: #e8d15c;
  font-size: 1.875rem;
  line-height: 1.3333333333;
  font-weight: 700;
  color: var(--color-blue-10);
  text-decoration: none;
  text-align: center;
  transition-property: background-color, color;
  transition-duration: 0.3s;
  transition-timing-function: var(--easing);
}
@media screen and (max-width: 48rem) {
  .cmn-header__anchor a {
    padding-inline-start: 1rem;
    padding-inline-end: 1rem;
    padding-block-start: 0.5rem;
    padding-block-end: 0.5rem;
    font-size: 1.25rem;
    line-height: 1.5;
  }
}
.cmn-header__anchor a:after {
  --arrow-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxMCI+CiAgPHBhdGggZD0iTTcuNzcxIDguMjcxQTEuNSAxLjUgMCAwIDEgOC4yMSA3LjIxTDE0Ljk4MS40MzlhMS41IDEuNSAwIDAgMSAyLjEyMSAwIDEuNSAxLjUgMCAwIDEgMCAyLjEyMWwtNi43NzEgNi43NzJhMS41IDEuNSAwIDAgMS0yLjU2LTEuMDYxeiIvPgogIDxwYXRoIGQ9Ik0xLjAwMSAxLjVBMS41IDEuNSAwIDAgMSAxLjQ0LjQzOWExLjUgMS41IDAgMCAxIDIuMTIxIDBsNi43NzIgNi43NzJhMS41IDEuNSAwIDAgMSAwIDIuMTIxIDEuNSAxLjUgMCAwIDEtMi4xMjEgMEwxLjQ0IDIuNTYxQTEuNSAxLjUgMCAwIDEgMS4wMDEgMS41eiIvPgo8L3N2Zz4K);
  display: inline-block;
  width: 1.125rem;
  height: 0.625rem;
  margin-inline-start: 1.1875rem;
  background-color: currentColor;
  -webkit-mask-image: var(--arrow-image);
  mask-image: var(--arrow-image);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  content: "";
}
@media screen and (max-width: 48rem) {
  .cmn-header__anchor a:after {
    rotate: -90deg;
    margin-inline-start: 0.9375rem;
    margin-block-start: -0.25rem;
    vertical-align: middle;
  }
}
.cmn-noteList {
  counter-reset: noteList;
}
* + .cmn-noteList {
  margin-top: 1.875rem;
}
@media screen and (max-width: 48rem) {
  * + .cmn-noteList {
    margin-top: 1.25rem;
  }
}
.cmn-noteList li {
  counter-increment: noteList;
}
.cmn-noteList li:before {
  display: inline-block;
}
.cmn-noteList:where(ul) li {
  padding-left: 1em;
}
.cmn-noteList:where(ul) li:before {
  width: 1em;
  margin-left: -1em;
  content: "※";
}
.cmn-noteList:where(ol) li {
  padding-left: calc(2em + 0.3125rem);
}
.cmn-noteList:where(ol) li:before {
  width: 2em;
  margin-right: 0.3125rem;
  margin-left: calc(-1 * (2em + 0.3125rem));
  content: "※" counter(noteList);
}
.cmn-footerCaution {
  padding-top: 0.9375rem;
  padding-right: 1.125rem;
  padding-bottom: 1rem;
  padding-left: calc(1em + 1.125rem);
  border-width: var(--border-width-md);
  border-style: solid;
  border-color: var(--color-grey-40);
  list-style-type: "◎";
}
* + .cmn-footerCaution {
  margin-top: 1.875rem;
}
@media screen and (max-width: 48rem) {
  * + .cmn-footerCaution {
    margin-top: 1.25rem;
  }
}
* + .cms-approval {
  margin-top: 1.875rem;
}
@media screen and (max-width: 48rem) {
  * + .cms-approval {
    margin-top: 1.25rem;
  }
}
.cmn-copyright {
  padding-top: 1.1875rem;
  padding-right: var(--gap);
  padding-bottom: 1.3125rem;
  padding-left: var(--gap);
  background-color: var(--color-blue-10);
  font-size: 0.6875rem;
  line-height: 1.3636363636;
  color: var(--color-light);
  text-align: center;
}
@media screen and (max-width: 48rem) {
  .pc-only {
    display: none;
  }
}
@media print, screen and (min-width: 48.0625rem) {
  .sp-only {
    display: none;
  }
}
.trim {
  font-feature-settings: "palt" 1;
  letter-spacing: 0.09em;
}
.align-center {
  text-align: center;
}
.block-center {
  width: min(var(--width) / var(--browserFontSize) * 1rem, 100%);
  margin-right: auto;
  margin-left: auto;
}
.set-margin {
  margin-top: calc(var(--mt) / var(--browserFontSize) * 1rem);
}
@media screen and (max-width: 48rem) {
  .set-margin {
    margin-top: calc(var(--sp-mt) / var(--browserFontSize) * 1rem);
  }
}
