@charset "UTF-8";
body {
  min-width: var(--screen--min--rem);
}
@media (width >= 48em) {
  body {
    min-width: auto;
  }
}

body :focus-visible {
  outline: var(--focus-ring--outline-width, medium) var(--focus-ring--outline-style, none) var(--focus-ring--outline-color, auto);
  outline-offset: var(--focus-ring--outline-offset, 0rem);
}

@property --viewport-scale {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}
:root {
  --gap--x-small: 10;
  --gap--x-small--px: 10px;
  --gap--x-small--rem: 0.625rem;
  --gap--small: 20;
  --gap--small--px: 20px;
  --gap--small--rem: 1.25rem;
  --gap--medium: 30;
  --gap--medium--px: 30px;
  --gap--medium--rem: 1.875rem;
  --gap--large: 40;
  --gap--large--px: 40px;
  --gap--large--rem: 2.5rem;
  --gap--x-large: 50;
  --gap--x-large--px: 50px;
  --gap--x-large--rem: 3.125rem;
}

:root {
  --border-radius--small: 10;
  --border-radius--small--px: 10px;
  --border-radius--small--rem: 0.625rem;
  --border-radius--medium: 20;
  --border-radius--medium--px: 20px;
  --border-radius--medium--rem: 1.25rem;
  --border-radius--large: 40;
  --border-radius--large--px: 40px;
  --border-radius--large--rem: 2.5rem;
}

:root {
  --color--black: #141e28;
  --color--gray: #f5f5f7;
  --color--white: #ffffff;
  --color--red: #dd5758;
  --color--blue: #5782ce;
  --color--sky-blue: #8bb4ff;
  --color--blue-green: #3dcccc;
  --color--yellow: #ffe44d;
}

:root {
  --color-palette--primary: var(--color--yellow);
  --color-palette--secondary: var(--color--blue-green);
  --color-palette--tertiary: var(--color--sky-blue);
  --color-palette--quaternary: var(--color--blue);
  --color-palette--quinary: var(--color--gray);
  --color-palette--background: var(--color--white);
  --color-palette--background-contrast: var(--color--black);
  --color-palette--text: var(--color--black);
  --color-palette--text-contrast: var(--color--white);
  --color-palette--border: var(--color--black);
  --color-palette--border-contrast: var(--color--white);
  --color-palette--mark: var(--color--yellow);
  --color-palette--accent: var(--color--blue-green);
  --color-palette--error: var(--color--red);
}

:root {
  --font-weight--normal: 400;
  --font-weight--bold: 700;
  --font-size--xx-small: 10;
  --font-size--xx-small--px: 10px;
  --font-size--xx-small--rem: 0.625rem;
  --font-size--xx-small--limited-dvi: calc(1000 / var(--device--base) * var(--limited-dvi));
  --font-size--x-small: 12;
  --font-size--x-small--px: 12px;
  --font-size--x-small--rem: 0.75rem;
  --font-size--x-small--limited-dvi: calc(1200 / var(--device--base) * var(--limited-dvi));
  --font-size--small: 13;
  --font-size--small--px: 13px;
  --font-size--small--rem: 0.8125rem;
  --font-size--small--limited-dvi: calc(1300 / var(--device--base) * var(--limited-dvi));
  --font-size--medium: 16;
  --font-size--medium--px: 16px;
  --font-size--medium--rem: 1rem;
  --font-size--medium--limited-dvi: calc(1600 / var(--device--base) * var(--limited-dvi));
  --font-size--large: 18;
  --font-size--large--px: 18px;
  --font-size--large--rem: 1.125rem;
  --font-size--large--limited-dvi: calc(1800 / var(--device--base) * var(--limited-dvi));
  --font-size--x-large: 20;
  --font-size--x-large--px: 20px;
  --font-size--x-large--rem: 1.25rem;
  --font-size--x-large--limited-dvi: calc(2000 / var(--device--base) * var(--limited-dvi));
  --font-size--xx-large: 25;
  --font-size--xx-large--px: 25px;
  --font-size--xx-large--rem: 1.5625rem;
  --font-size--xx-large--limited-dvi: calc(2500 / var(--device--base) * var(--limited-dvi));
  --font-size--xxx-large: 30;
  --font-size--xxx-large--px: 30px;
  --font-size--xxx-large--rem: 1.875rem;
  --font-size--xxx-large--limited-dvi: calc(3000 / var(--device--base) * var(--limited-dvi));
  --line-height--small: 1.25;
  --line-height--normal: 1.5;
  --line-height--large: 2;
  --font-family--notosans: "Noto Sans JP", sans-serif;
  --font-family--notoserif: "Noto Serif JP", sans-serif;
  --font-family--shuttleblock: "shuttleblock", sans-serif;
  --letter-spacing--x-tight: -0.25em;
  --letter-spacing--tight: -0.0625em;
  --letter-spacing--normal: 0em;
  --letter-spacing--wide: 0.0625em;
  --letter-spacing--x-wide: 0.25em;
}

:root {
  --font-family-palette--title: var(--font-family--notosans);
  --font-family-palette--text: var(--font-family--notosans);
  --font-family-palette--name: var(--font-family--notoserif);
  --font-family-palette--en: var(--font-family--shuttleblock);
}

:root {
  --duration--short: 250;
  --duration--short--ms: 250ms;
  --duration--short--s: 0.25s;
  --duration--middle: 500;
  --duration--middle--ms: 500ms;
  --duration--middle--s: 0.5s;
  --duration--long: 1000;
  --duration--long--ms: 1000ms;
  --duration--long--s: 1s;
}
@media (prefers-reduced-motion: reduce) {
  :root {
    --duration--short: 0;
    --duration--short--ms: 0;
    --duration--short--s: 0;
    --duration--middle: 0;
    --duration--middle--ms: 0;
    --duration--middle--s: 0;
    --duration--long: 0;
    --duration--long--ms: 0;
    --duration--long--s: 0;
  }
}

:root {
  --device--sp: 375;
  --device--sp--px: 375px;
  --device--sp--rem: 23.4375rem;
  --device--pc: 1200;
  --device--pc--px: 1200px;
  --device--pc--rem: 75rem;
  --device--base: var(--device--sp);
  --device--base--px: var(--device--sp--px);
  --device--base--rem: var(--device--sp--rem);
}
@media (width >= 48em) {
  :root {
    --device--base: var(--device--pc);
    --device--base--px: var(--device--pc--px);
    --device--base--rem: var(--device--pc--rem);
  }
}

:root {
  --screen--min: 360;
  --screen--min--px: 360px;
  --screen--min--rem: 22.5rem;
  --screen--max: 1600;
  --screen--max--px: 1600px;
  --screen--max--rem: 100rem;
}

:root {
  --breakpoint--xs: 375;
  --breakpoint--xs--px: 375px;
  --breakpoint--xs--em: 23.4375em;
  --breakpoint--sm: 640;
  --breakpoint--sm--px: 640px;
  --breakpoint--sm--em: 40em;
  --breakpoint--md: 768;
  --breakpoint--md--px: 768px;
  --breakpoint--md--em: 48em;
  --breakpoint--lg: 1024;
  --breakpoint--lg--px: 1024px;
  --breakpoint--lg--em: 64em;
  --breakpoint--xl: 1280;
  --breakpoint--xl--px: 1280px;
  --breakpoint--xl--em: 80em;
  --breakpoint--xxl: 1536;
  --breakpoint--xxl--px: 1536px;
  --breakpoint--xxl--em: 96em;
  --breakpoint--xxxl: 2048;
  --breakpoint--xxxl--px: 2048px;
  --breakpoint--xxxl--em: 128em;
}

:root {
  --focus-ring--border-radius: 0.3125rem;
}
:root {
  --focus-ring--outline-width: 0.25rem;
}
:root {
  --focus-ring--outline-style: solid;
}
:root {
  --focus-ring--outline-color: var(--color-palette--quaternary);
}
:root {
  --focus-ring--outline-offset: 0.5rem;
}
:root {
  --wrapper--padding-block--small: 3.125rem;
  --wrapper--padding-block--medium: 4.6875rem;
  --wrapper--padding-block--large: 6.25rem;
}
@media (width >= 48em) {
  :root {
    --wrapper--padding-block--small: 6.25rem;
    --wrapper--padding-block--medium: 7.8125rem;
    --wrapper--padding-block--large: 9.375rem;
  }
}

:root {
  --container--fluid-inline-size--x-small: calc(27500 / var(--device--base) * var(--limited-dvi));
  --container--fluid-inline-size--small: calc(31500 / var(--device--base) * var(--limited-dvi));
  --container--fluid-inline-size--medium: calc(33500 / var(--device--base) * var(--limited-dvi));
  --container--fluid-inline-size--large: calc(35500 / var(--device--base) * var(--limited-dvi));
  --container--fluid-inline-size--x-large: calc(36500 / var(--device--base) * var(--limited-dvi));
  --container--fluid-inline-size--xx-large: calc(37000 / var(--device--base) * var(--limited-dvi));
}
@media (width >= 48em) {
  :root {
    --container--fluid-inline-size--x-small: calc(70000 / var(--device--base) * var(--limited-dvi));
    --container--fluid-inline-size--small: calc(85000 / var(--device--base) * var(--limited-dvi));
    --container--fluid-inline-size--medium: calc(96000 / var(--device--base) * var(--limited-dvi));
    --container--fluid-inline-size--large: calc(100000 / var(--device--base) * var(--limited-dvi));
    --container--fluid-inline-size--x-large: calc(110000 / var(--device--base) * var(--limited-dvi));
    --container--fluid-inline-size--xx-large: calc(116000 / var(--device--base) * var(--limited-dvi));
  }
}

:root {
  --flex--gap--x-small: var(--gap--x-small--rem);
  --flex--gap--small: var(--gap--small--rem);
  --flex--gap--medium: var(--gap--medium--rem);
  --flex--gap--large: var(--gap--large--rem);
  --flex--gap--x-large: var(--gap--x-large--rem);
}
:root {
  --flex--justify-content--start: start;
  --flex--justify-content--center: center;
  --flex--justify-content--end: end;
}
:root {
  --grid--gap--x-small: var(--gap--x-small--rem);
  --grid--gap--small: var(--gap--small--rem);
  --grid--gap--medium: var(--gap--medium--rem);
  --grid--gap--large: var(--gap--large--rem);
  --grid--gap--x-large: var(--gap--x-large--rem);
}
:root {
  --grid--division: 4;
}
@media (width >= 48em) {
  :root {
    --grid--division: 12;
  }
}

:root {
  --header--block-size: 4.6875rem;
}
:root {
  --mainvisual-sub--block-size: 12.5rem;
}
@media (width >= 48em) {
  :root {
    --mainvisual-sub--block-size: 25rem;
  }
}

:root {
  --content--margin-block-start--none: 0rem;
  --content--margin-block-start--primary: 3.125rem;
  --content--margin-block-start--secondary: 1.875rem;
  --content--margin-block-start--tertiary: 1.875rem;
  --content--margin-block-start--quaternary: 1.25rem;
  --content--margin-block-start--half-leading: calc(var(--half-leading) * 2);
  --content--margin-block-start--blank-line: var(--blank-line);
}
@media (width >= 48em) {
  :root {
    --content--margin-block-start--primary: 3.75rem;
    --content--margin-block-start--secondary: 3.125rem;
  }
}

:root {
  --column-group--margin-block-start--none: 0rem;
  --column-group--margin-block-start--primary: 3.125rem;
  --column-group--margin-block-start--half-leading: calc(var(--half-leading) * 2);
  --column-group--margin-block-start--blank-line: var(--blank-line);
}
@media (width >= 48em) {
  :root {
    --column-group--margin-block-start--primary: 4.375rem;
  }
}

:root {
  --block--margin-block-start--none: 0rem;
  --block--margin-block-start--small: 0.625rem;
  --block--margin-block-start--medium: 1.25rem;
  --block--margin-block-start--large: 2.5rem;
  --block--margin-block-start--half-leading: calc(var(--half-leading) * 2);
  --block--margin-block-start--blank-line: var(--blank-line);
}
:root {
  --lead--margin-block-start--none: 0rem;
  --lead--margin-block-start--primary: 2.5rem;
}
@media (width >= 48em) {
  :root {
    --lead--margin-block-start--primary: 3.125rem;
  }
}

:root {
  --paragraph--margin-block-start--none: 0rem;
  --paragraph--margin-block-start--small: 0.625rem;
  --paragraph--margin-block-start--medium: 1.25rem;
  --paragraph--margin-block-start--large: 2.5rem;
  --paragraph--margin-block-start--half-leading: calc(var(--half-leading) * 2);
  --paragraph--margin-block-start--blank-line: var(--blank-line);
}
:root {
  --link-group--gap--x-small: var(--gap--x-small--rem);
  --link-group--gap--small: var(--gap--small--rem);
  --link-group--gap--medium: var(--gap--medium--rem);
  --link-group--gap--large: var(--gap--large--rem);
  --link-group--gap--x-large: var(--gap--x-large--rem);
}
:root {
  --link-group--margin-block-start--none: 0rem;
  --link-group--margin-block-start--small: 0.625rem;
  --link-group--margin-block-start--medium: 1.25rem;
  --link-group--margin-block-start--large: 2.5rem;
  --link-group--margin-block-start--half-leading: calc(var(--half-leading) * 2);
  --link-group--margin-block-start--blank-line: var(--blank-line);
}
:root {
  --list--gap--x-small: var(--gap--x-small--rem);
  --list--gap--small: var(--gap--small--rem);
  --list--gap--medium: var(--gap--medium--rem);
  --list--gap--large: var(--gap--large--rem);
  --list--gap--x-large: var(--gap--x-large--rem);
}
:root {
  --list--margin-block-start--none: 0rem;
  --list--margin-block-start--small: 0.625rem;
  --list--margin-block-start--medium: 1.25rem;
  --list--margin-block-start--large: 2.5rem;
  --list--margin-block-start--half-leading: calc(var(--half-leading) * 2);
  --list--margin-block-start--blank-line: var(--blank-line);
}
:root {
  --list--prefix--dot: '・';
  --list--prefix--square: '■';
  --list--prefix--triangle: '▲';
  --list--prefix--circle: '●';
  --list--prefix--note: '※';
  --list--prefix--order: counter(list);
}
:root {
  --list--prefix-color--primary: var(--color-palette--primary);
  --list--prefix-color--secondary: var(--color-palette--secondary);
  --list--prefix-color--tertiary: var(--color-palette--tertiary);
}
:root {
  --list--font-size--x-small: var(--font-size--x-small--rem);
  --list--font-size--small: var(--font-size--small--rem);
  --list--font-size--medium: var(--font-size--medium--rem);
  --list--font-size--large: var(--font-size--large--rem);
  --list--font-size--x-large: var(--font-size--x-large--rem);
}
:root {
  --button-group--margin-block-start--none: 0rem;
  --button-group--margin-block-start--small: 1.25rem;
  --button-group--margin-block-start--medium: 1.875rem;
  --button-group--margin-block-start--large: 2.5rem;
}
:root {
  --button--color--primary: var(--color-palette--primary);
  --button--color--secondary: var(--color-palette--secondary);
  --button--color--tertiary: var(--color-palette--tertiary);
}
:root {
  --button--font-weight--normal: var(--font-weight--normal);
  --button--font-weight--bold: var(--font-weight--bold);
}
:root {
  --button--font-size--x-small: var(--font-size--x-small--rem);
  --button--font-size--small: var(--font-size--small--rem);
  --button--font-size--medium: var(--font-size--medium--rem);
  --button--font-size--large: var(--font-size--large--rem);
  --button--font-size--x-large: var(--font-size--x-large--rem);
}
:root {
  --button--icon--blank: url("../../images/common/icon_blank.svg");
  --button--icon--download: url("../../images/common/icon_download.svg");
}
:root {
  --text-definition-list--margin-block-start--none: 0rem;
  --text-definition-list--margin-block-start--half-leading: calc(var(--half-leading) * 2);
  --text-definition-list--margin-block-start--blank-line: var(--blank-line);
}
:root {
  --figure-group--margin-block-start--none: 0rem;
  --figure-group--margin-block-start--primary: 3.125rem;
}
@media (width >= 48em) {
  :root {
    --figure-group--margin-block-start--primary: 3.75rem;
  }
}

:root {
  --form--margin-block-start--none: 0rem;
  --form--margin-block-start--primary: 3.125rem;
}
@media (width >= 48em) {
  :root {
    --form--margin-block-start--primary: 3.75rem;
  }
}

:root {
  --author--margin-block-start--none: 0rem;
  --author--margin-block-start--small: 0.625rem;
  --author--margin-block-start--medium: 1.25rem;
  --author--margin-block-start--large: 2.5rem;
  --author--margin-block-start--half-leading: calc(var(--half-leading) * 2);
}
:root {
  --viewport-scale: min(var(--screen--min--px), 100 * var(--dvi));
}
@media (width >= 48em) {
  :root {
    --viewport-scale: max(var(--screen--max--px), 100 * var(--dvi));
  }
}

:root {
  --vw: 1vw;
  --svw: var(--vw);
  --lvw: var(--vw);
  --dvw: var(--vw);
  --vi: var(--vw);
  --svi: var(--vw);
  --lvi: var(--vw);
  --dvi: var(--vw);
}
@supports (inline-size: 1svw) {
  :root {
    --svw: 1svw;
  }
}
@supports (inline-size: 1lvw) {
  :root {
    --lvw: 1lvw;
  }
}
@supports (inline-size: 1dvw) {
  :root {
    --dvw: 1dvw;
  }
}
@supports (inline-size: 1vi) {
  :root {
    --vi: 1vi;
  }
}
@supports (inline-size: 1svi) {
  :root {
    --svi: 1svi;
  }
}
@supports (inline-size: 1lvi) {
  :root {
    --lvi: 1lvi;
  }
}
@supports (inline-size: 1dvi) {
  :root {
    --dvi: 1dvi;
  }
}

:root {
  --vh: 1vh;
  --svh: var(--vh);
  --lvh: var(--vh);
  --dvh: var(--vh);
  --vb: var(--vh);
  --svb: var(--vh);
  --lvb: var(--vh);
  --dvb: var(--vh);
}
@supports (block-size: 1svh) {
  :root {
    --svh: 1svh;
  }
}
@supports (block-size: 1lvh) {
  :root {
    --lvh: 1lvh;
  }
}
@supports (block-size: 1dvh) {
  :root {
    --dvh: 1dvh;
  }
}
@supports (block-size: 1vb) {
  :root {
    --vb: 1vb;
  }
}
@supports (block-size: 1svb) {
  :root {
    --svb: 1svb;
  }
}
@supports (block-size: 1lvb) {
  :root {
    --lvb: 1lvb;
  }
}
@supports (block-size: 1dvb) {
  :root {
    --dvb: 1dvb;
  }
}

:root {
  --limited-vw: clamp(0.225rem, 1vw, 1rem);
  --limited-svw: var(--limited-vw);
  --limited-lvw: var(--limited-vw);
  --limited-dvw: var(--limited-vw);
  --limited-vi: var(--limited-vw);
  --limited-svi: var(--limited-vw);
  --limited-lvi: var(--limited-vw);
  --limited-dvi: var(--limited-vw);
}
@supports (inline-size: 1svw) {
  :root {
    --limited-svw: clamp(0.225rem, 1svw, 1rem);
  }
}
@supports (inline-size: 1lvw) {
  :root {
    --limited-lvw: clamp(0.225rem, 1lvw, 1rem);
  }
}
@supports (inline-size: 1dvw) {
  :root {
    --limited-dvw: clamp(0.225rem, 1dvw, 1rem);
  }
}
@supports (inline-size: 1vi) {
  :root {
    --limited-vi: clamp(0.225rem, 1vi, 1rem);
  }
}
@supports (inline-size: 1svi) {
  :root {
    --limited-svi: clamp(0.225rem, 1svi, 1rem);
  }
}
@supports (inline-size: 1lvi) {
  :root {
    --limited-lvi: clamp(0.225rem, 1lvi, 1rem);
  }
}
@supports (inline-size: 1dvi) {
  :root {
    --limited-dvi: clamp(0.225rem, 1dvi, 1rem);
  }
}

:root {
  --forced-color: currentcolor;
}
@media (forced-colors: active) {
  :root {
    --forced-color: CanvasText;
  }
}
@media (forced-colors: active) {
  :root :where(:any-link, summary) {
    --forced-color: LinkText;
  }
}
@media (forced-colors: active) {
  :root :where(label, input, button) {
    --forced-color: ButtonText;
  }
}
@media (forced-colors: active) {
  :root :where(:disabled, label:has(:disabled)) {
    --forced-color: GrayText;
  }
}

:root {
  --half-leading: calc((1lh - 1em) / 2);
}

@supports (margin-block: 1cap) {
  :lang(en) {
    --half-leading: calc((1lh - 1cap) / 2);
  }
}

:root {
  --blank-line: calc(1em * var(--line-height--large) + var(--half-leading) * 2);
}
@supports (margin-block: 1lh) {
  :root {
    --blank-line: calc(1lh + var(--half-leading) * 2);
  }
}

:root {
  --text-box-trim: 0rem;
}
@supports (margin-block: 1lh) {
  :root {
    --text-box-trim: var(--half-leading);
  }
}
@supports (text-box: normal) {
  :root {
    --text-box-trim: 0rem;
  }
}

:root {
  interpolate-size: allow-keywords;
  container-type: scroll-state;
  color-scheme: normal;
}
@media (scripting: none) {
  :root {
    scroll-behavior: smooth;
    scrollbar-gutter: stable;
    scroll-padding-block-start: var(--header--block-size, auto);
  }
}
@media (scripting: none) and (prefers-reduced-motion: reduce) {
  :root {
    scroll-behavior: auto;
  }
}

html {
  container: root/inline-size;
  overflow-x: auto;
  overflow-y: scroll;
  font-size: 100%;
}
@media (scripting: none) {
  html {
    zoom: min(tan(atan2(var(--viewport-scale), var(--screen--min--px))), 1);
    -webkit-text-size-adjust: initial;
  }
}
@media (scripting: none) and (width >= 48em) {
  html {
    zoom: max(tan(atan2(var(--viewport-scale), var(--screen--max--px))), 1);
  }
}
@media (scripting: none) {
  html:has(dialog:popover-open), html:has(dialog:popover-open) body {
    overflow: clip;
  }
}
@media (scripting: none) {
  html:has(dialog:popover-open) :where(.l-skiplink, .l-header, .l-page *:not(:where(:has(.c-modal__panel:popover-open), .c-modal:has(.c-modal__panel:popover-open), .c-modal:has(.c-modal__panel:popover-open) *)), .l-footer, .l-fixed) {
    interactivity: inert;
  }
}
@media (scripting: none) {
  html:has(.l-header__navigation-input:checked), html:has(.l-header__navigation-input:checked) body {
    overflow: clip;
  }
}
@media (scripting: none) and (width >= 64em) {
  html:has(.l-header__navigation-input:checked), html:has(.l-header__navigation-input:checked) body {
    overflow: visible;
  }
}
html:has(.l-header__navigation-input:checked) :where(.l-skiplink, .l-header__title, .l-page, .l-footer, .l-fixed) {
  interactivity: inert;
}
@media (width >= 64em) {
  html:has(.l-header__navigation-input:checked) :where(.l-skiplink, .l-header__title, .l-page, .l-footer, .l-fixed) {
    interactivity: auto;
  }
}

body {
  min-block-size: 100vh;
  background-color: #fffced;
  color: var(--color-palette--text);
  font: var(--font-size--medium--rem)/var(--line-height--large) var(--font-family-palette--text);
}
@supports (max-block-size: 1dvb) {
  body {
    min-block-size: 100dvb;
  }
}
@supports (background-color: color-mix(in srgb, transparent 50%, transparent)) {
  body {
    background-color: color-mix(in srgb, var(--color-palette--background) 90%, var(--color-palette--primary) 10%);
  }
}
body *, body ::before, body ::after {
  text-box: trim-both cap alphabetic;
}
@supports (scroll-marker-group: after) {
  body ::scroll-button(* ):focus-visible, body ::scroll-marker:focus-visible {
    --focus-ring--outline-offset: 0.25rem;
    outline: var(--focus-ring--outline-width, medium) var(--focus-ring--outline-style, none) var(--focus-ring--outline-color, auto);
    outline-offset: var(--focus-ring--outline-offset, 0rem);
  }
}
body.js-duration-none {
  --duration--short: 0;
  --duration--short--ms: 0;
  --duration--short--s: 0;
  --duration--middle: 0;
  --duration--middle--ms: 0;
  --duration--middle--s: 0;
  --duration--long: 0;
  --duration--long--ms: 0;
  --duration--long--s: 0;
}
@media (scripting: none) {
  body.js-duration-none {
    --duration--short: 250;
    --duration--short--ms: 250ms;
    --duration--short--s: 0.25s;
    --duration--middle: 500;
    --duration--middle--ms: 500ms;
    --duration--middle--s: 0.5s;
    --duration--long: 1000;
    --duration--long--ms: 1000ms;
    --duration--long--s: 1s;
  }
}
body [tabindex="-1"] {
  outline: none !important;
}
body [hidden]:not([hidden=until-found]) {
  display: none !important;
}
body [hidden=until-found] {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

ol {
  counter-reset: number;
}
ol > li {
  counter-increment: number;
}

@media only print {
  a[href]::after {
    content: "（" attr(href) "）";
    position: static;
    inset-inline-end: auto;
    inset-block-end: auto;
    inline-size: auto;
    block-size: auto;
    background-color: transparent;
    line-height: inherit;
    word-break: break-all;
    mask: none repeat 0% 0%/auto;
  }
}
@media only print {
  a:is([href^="#"], [href^=javascript])::after {
    content: "";
  }
}
@media (scripting: none) and (any-hover: hover) and (pointer: fine) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

em {
  font-style: italic;
}

strong {
  color: var(--color-palette--quaternary);
  font-weight: var(--font-weight--bold);
}

kbd {
  display: inline-block;
  padding-inline: 0.25rem;
  padding-block: 0.125rem;
  border-radius: 0.25rem;
  border-block-end: 0.0625rem solid var(--color-palette--primary);
  background-color: var(--color-palette--secondary);
  color: var(--color-palette--text);
  font-weight: var(--font-weight--bold);
  font-size: 0.75em;
  line-height: 1;
  white-space: nowrap;
}
@media (forced-colors: active) {
  kbd {
    border: var(--forced-color) solid 0.0625rem;
  }
}

mark {
  background: linear-gradient(transparent 50%, var(--color-palette--mark) 50%);
  color: inherit;
}

label {
  display: block;
}

input:where([type=text], [type=email], [type=url], [type=tel], [type=number], [type=date], [type=datetime-local], [type=month], [type=week], [type=time], [type=file], [type=search], [type=password]), select, textarea {
  box-sizing: border-box;
  text-box: normal;
}
input:where([type=text], [type=email], [type=url], [type=tel], [type=number], [type=date], [type=datetime-local], [type=month], [type=week], [type=time], [type=file], [type=search], [type=password])::placeholder, select::placeholder, textarea::placeholder {
  font-size: 1em;
  text-box: normal;
  color: rgba(20, 30, 40, 0.4);
}
@media (prefers-reduced-transparency: reduce) {
  input:where([type=text], [type=email], [type=url], [type=tel], [type=number], [type=date], [type=datetime-local], [type=month], [type=week], [type=time], [type=file], [type=search], [type=password])::placeholder, select::placeholder, textarea::placeholder {
    color: var(--color-palette--text);
  }
}
@supports (color: color-mix(in srgb, transparent 50%, transparent)) {
  input:where([type=text], [type=email], [type=url], [type=tel], [type=number], [type=date], [type=datetime-local], [type=month], [type=week], [type=time], [type=file], [type=search], [type=password])::placeholder, select::placeholder, textarea::placeholder {
    color: color-mix(in srgb, var(--color-palette--text) 40%, transparent);
  }
  @media (prefers-reduced-transparency: reduce) {
    input:where([type=text], [type=email], [type=url], [type=tel], [type=number], [type=date], [type=datetime-local], [type=month], [type=week], [type=time], [type=file], [type=search], [type=password])::placeholder, select::placeholder, textarea::placeholder {
      color: var(--color-palette--text);
    }
  }
}

input:where([type=text], [type=email], [type=url], [type=tel], [type=number], [type=search], [type=password]) {
  inline-size: min(var(--size, 100%), 100%);
}
label:has(input:where([type=text], [type=email], [type=url], [type=tel], [type=number], [type=search], [type=password])[size]) {
  inline-size: fit-content;
}

label:has(input:where([type=date], [type=datetime-local], [type=month], [type=week], [type=time])) {
  inline-size: fit-content;
}

input:where([type=date], [type=datetime-local], [type=month], [type=week], [type=time]):not([size]) {
  inline-size: fit-content;
}
input:where([type=checkbox], [type=radio]) {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

select {
  inline-size: fit-content;
}
label:has(select) {
  inline-size: fit-content;
}

textarea {
  inline-size: min(var(--cols, 100%), 100%);
}
label:has(textarea[cols]) {
  inline-size: fit-content;
}

.twitter-share-button:not(iframe) {
  display: flex;
  column-gap: 0.3125rem;
  align-items: center;
  position: relative;
  block-size: 1.25rem;
  box-sizing: border-box;
  padding-inline: 0.875rem 0.75rem;
  border-radius: 0.625rem;
  background-color: #000;
  color: #fff;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 0.75rem;
  line-height: 1;
  font-weight: 500;
  white-space: nowrap;
  cursor: pointer;
}
@media (forced-colors: active) {
  .twitter-share-button:not(iframe) {
    border: var(--forced-color) solid 0.0625rem;
  }
}
.twitter-share-button:not(iframe)::before {
  content: "";
  inline-size: 0.625rem;
  block-size: 0.625rem;
  background: url("../../images/vendor/logo_x.svg") no-repeat center/contain;
}
@media (any-hover: hover) {
  .twitter-share-button:not(iframe):hover {
    background-color: #333;
  }
}

.fb-share-button.fb_iframe_widget {
  display: block;
}
.fb-share-button.fb_iframe_widget > span {
  display: block;
}
.fb-share-button .fb-xfbml-parse-ignore {
  display: flex;
  column-gap: 0.375rem;
  align-items: center;
  position: relative;
  block-size: 1.25rem;
  margin: 0;
  padding-inline: 0.5rem 0.625rem;
  border-radius: 0.1875rem;
  background-color: #1877f2;
  color: #fff;
  cursor: pointer;
  font-family: Helvetica, Arial, "hiragino kaku gothic pro", meiryo, "ms pgothic", sans-serif;
  font-size: 0.6875rem;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
}
@media (forced-colors: active) {
  .fb-share-button .fb-xfbml-parse-ignore {
    border: var(--forced-color) solid 0.0625rem;
  }
}
.fb-share-button .fb-xfbml-parse-ignore::before {
  content: "";
  inline-size: 0.75rem;
  block-size: 0.75rem;
  background: url("../../images/vendor/logo_facebook.svg") no-repeat center/contain;
}

.line-it-button .line-share-button {
  display: grid;
  column-gap: 0.25rem;
  place-items: center;
  position: relative;
  block-size: 1.25rem;
  padding-inline: 0.375rem;
  box-sizing: border-box;
  border-radius: 0.1875rem;
  background-color: #06c755;
  color: #fff;
  font-family: Meiryo, HiraKakuProN-W3, "Arial Unicode MS", Arial, sans-serif, "Apple SD Gothic Neo";
  font-size: 0.625rem;
  line-height: 1;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
}
@media (forced-colors: active) {
  .line-it-button .line-share-button {
    border: var(--forced-color) solid 0.0625rem;
  }
}
@media (any-hover: hover) {
  .line-it-button .line-share-button:hover {
    background-color: #05b34d;
  }
}

.grecaptcha-badge {
  visibility: hidden;
}
