@charset "UTF-8";
.l-wrapper {
  min-width: var(--min-device-width);
}

.l-container {
  container: l-container/inline-size;
}

.l-section {
  --l-section-inner-width-default: var(--site-width);
  --l-section-space-inline-default: var(--space-inline);
  --l-section-space-inline: var(--l-section-space-inline-override, var(--l-section-space-inline-default));
}
.l-section._narrow {
  --l-section-inner-width-default: 1000px;
}
.l-section._gutter_sp-wide {
  --l-section-space-inline-default: var(--space-inline-sm);
}
.l-section._gutter_sp-wide2 {
  --l-section-space-inline-default: var(--space-inline-sm2);
}
.l-section:where(._gutter) {
  padding-inline: var(--l-section-space-inline);
}
.l-section._container {
  container: l-section/inline-size;
}
.l-section__inner {
  --l-section-inner-width: var(--l-section-inner-width-override, var(--l-section-inner-width-default));
  width: 100%;
  max-width: var(--l-section-inner-width);
  margin-inline: auto;
  background-clip: content-box;
}
.l-section__inner._container {
  container: l-section-inner/inline-size;
}
.l-section__inner._narrow {
  --l-section-inner-width-default: 1000px;
}
.l-section__inner._gutter_sp-wide {
  --l-section-space-inline-default: var(--space-inline-sm);
}
.l-section__inner:where(._gutter) {
  max-width: calc( 						var(--l-section-inner-width) + 						(var(--l-section-space-inline) * 2) 					);
  padding-inline: var(--l-section-space-inline);
}
.l-section__full {
  margin-inline: calc(var(--l-section-space-inline) * -1);
}

.l-column {
  --l-column-head-width-default: 260px;
  --l-column-columnGap-default: 40px;
  --l-column-rowGap-default: var(--space-block-lg);
  --l-column-head-width: var(--l-column-head-width-override, var(--l-column-head-width-default));
  --l-column-columnGap: var(--l-column-columnGap-override, var(--l-column-columnGap-default));
  --l-column-rowGap: var(--l-column-rowGap-override, var(--l-column-rowGap-default));
  display: grid;
  grid-template-columns: var(--l-column-head-width) 1fr;
  column-gap: var(--l-column-columnGap);
  row-gap: var(--l-column-rowGap);
}
.l-column__head {
  grid-area: 1/1/2/2;
}
.l-column__head._sticky {
  position: sticky;
  top: calc(var(--header-size) + var(--space-block-sm));
  align-self: start;
}
.l-column__body {
  min-width: 0;
}
.l-column:where(:has(.l-column__foot)) {
  grid-template-rows: 1fr auto;
}
.l-column:where(:has(.l-column__foot)) .l-column__body {
  grid-row: span 2;
}
.l-column._vertical {
  grid-template-columns: 1fr;
}
.l-column._vertical .l-column__head {
  position: revert;
}
.l-column._vertical .l-column__body {
  grid-row: span 1;
}
.l-column._vertical._v_reverse .l-column__head {
  grid-area: 2/1/3/2;
}
@media (width <= 1600px) {
  .l-column._vertical\@xl {
    grid-template-columns: 1fr;
  }
  .l-column._vertical\@xl .l-column__head {
    position: revert;
  }
  .l-column._vertical\@xl .l-column__body {
    grid-row: span 1;
  }
  .l-column._vertical\@xl._v_reverse .l-column__head {
    grid-area: 2/1/3/2;
  }
}
@media (width <= 1120px) {
  .l-column._vertical\@lg {
    grid-template-columns: 1fr;
  }
  .l-column._vertical\@lg .l-column__head {
    position: revert;
  }
  .l-column._vertical\@lg .l-column__body {
    grid-row: span 1;
  }
  .l-column._vertical\@lg._v_reverse .l-column__head {
    grid-area: 2/1/3/2;
  }
}
@media (width <= 1020px) {
  .l-column._vertical\@lg2 {
    grid-template-columns: 1fr;
  }
  .l-column._vertical\@lg2 .l-column__head {
    position: revert;
  }
  .l-column._vertical\@lg2 .l-column__body {
    grid-row: span 1;
  }
  .l-column._vertical\@lg2._v_reverse .l-column__head {
    grid-area: 2/1/3/2;
  }
}
@media (width <= 900px) {
  .l-column._vertical\@md {
    grid-template-columns: 1fr;
  }
  .l-column._vertical\@md .l-column__head {
    position: revert;
  }
  .l-column._vertical\@md .l-column__body {
    grid-row: span 1;
  }
  .l-column._vertical\@md._v_reverse .l-column__head {
    grid-area: 2/1/3/2;
  }
}
@media (width <= 800px) {
  .l-column._vertical\@md2 {
    grid-template-columns: 1fr;
  }
  .l-column._vertical\@md2 .l-column__head {
    position: revert;
  }
  .l-column._vertical\@md2 .l-column__body {
    grid-row: span 1;
  }
  .l-column._vertical\@md2._v_reverse .l-column__head {
    grid-area: 2/1/3/2;
  }
}
@media (width <= 768px) {
  .l-column._vertical\@sm {
    grid-template-columns: 1fr;
  }
  .l-column._vertical\@sm .l-column__head {
    position: revert;
  }
  .l-column._vertical\@sm .l-column__body {
    grid-row: span 1;
  }
  .l-column._vertical\@sm._v_reverse .l-column__head {
    grid-area: 2/1/3/2;
  }
}
@media (width <= 700px) {
  .l-column._vertical\@sm2 {
    grid-template-columns: 1fr;
  }
  .l-column._vertical\@sm2 .l-column__head {
    position: revert;
  }
  .l-column._vertical\@sm2 .l-column__body {
    grid-row: span 1;
  }
  .l-column._vertical\@sm2._v_reverse .l-column__head {
    grid-area: 2/1/3/2;
  }
}
@media (width <= 600px) {
  .l-column._vertical\@sm3 {
    grid-template-columns: 1fr;
  }
  .l-column._vertical\@sm3 .l-column__head {
    position: revert;
  }
  .l-column._vertical\@sm3 .l-column__body {
    grid-row: span 1;
  }
  .l-column._vertical\@sm3._v_reverse .l-column__head {
    grid-area: 2/1/3/2;
  }
}
@media (width <= 500px) {
  .l-column._vertical\@xs {
    grid-template-columns: 1fr;
  }
  .l-column._vertical\@xs .l-column__head {
    position: revert;
  }
  .l-column._vertical\@xs .l-column__body {
    grid-row: span 1;
  }
  .l-column._vertical\@xs._v_reverse .l-column__head {
    grid-area: 2/1/3/2;
  }
}
@media (width <= 400px) {
  .l-column._vertical\@xs2 {
    grid-template-columns: 1fr;
  }
  .l-column._vertical\@xs2 .l-column__head {
    position: revert;
  }
  .l-column._vertical\@xs2 .l-column__body {
    grid-row: span 1;
  }
  .l-column._vertical\@xs2._v_reverse .l-column__head {
    grid-area: 2/1/3/2;
  }
}

.l-split-header {
  --l-bend-columnGap-default: 20px;
  --l-bend-rowGap-default: 0;
  --l-bend-columnGap: var(--l-bend-columnGap-override, var(--l-bend-columnGap-default));
  --l-bend-rowGap: var(--l-bend-rowGap-override, var(--l-bend-rowGap-default));
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: var(--l-bend-columnGap);
  row-gap: var(--l-bend-rowGap);
}
.l-split-header__body {
  grid-column: span 2;
}
.l-split-header__foot {
  grid-area: 1/2/2/3;
}
.l-split-header:not(:has(.l-split-header__foot)) .l-split-header__head {
  grid-column: span 2;
}
.l-split-header._vertical {
  grid-template-columns: 1fr;
}
.l-split-header._vertical .l-split-header__head,
.l-split-header._vertical .l-split-header__body {
  grid-column: span 1;
}
.l-split-header._vertical .l-split-header__foot {
  grid-area: auto;
}
@media (width <= 1600px) {
  .l-split-header._vertical\@xl {
    grid-template-columns: 1fr;
  }
  .l-split-header._vertical\@xl .l-split-header__head,
.l-split-header._vertical\@xl .l-split-header__body {
    grid-column: span 1;
  }
  .l-split-header._vertical\@xl .l-split-header__foot {
    grid-area: auto;
  }
}
@media (width <= 1120px) {
  .l-split-header._vertical\@lg {
    grid-template-columns: 1fr;
  }
  .l-split-header._vertical\@lg .l-split-header__head,
.l-split-header._vertical\@lg .l-split-header__body {
    grid-column: span 1;
  }
  .l-split-header._vertical\@lg .l-split-header__foot {
    grid-area: auto;
  }
}
@media (width <= 1020px) {
  .l-split-header._vertical\@lg2 {
    grid-template-columns: 1fr;
  }
  .l-split-header._vertical\@lg2 .l-split-header__head,
.l-split-header._vertical\@lg2 .l-split-header__body {
    grid-column: span 1;
  }
  .l-split-header._vertical\@lg2 .l-split-header__foot {
    grid-area: auto;
  }
}
@media (width <= 900px) {
  .l-split-header._vertical\@md {
    grid-template-columns: 1fr;
  }
  .l-split-header._vertical\@md .l-split-header__head,
.l-split-header._vertical\@md .l-split-header__body {
    grid-column: span 1;
  }
  .l-split-header._vertical\@md .l-split-header__foot {
    grid-area: auto;
  }
}
@media (width <= 800px) {
  .l-split-header._vertical\@md2 {
    grid-template-columns: 1fr;
  }
  .l-split-header._vertical\@md2 .l-split-header__head,
.l-split-header._vertical\@md2 .l-split-header__body {
    grid-column: span 1;
  }
  .l-split-header._vertical\@md2 .l-split-header__foot {
    grid-area: auto;
  }
}
@media (width <= 768px) {
  .l-split-header._vertical\@sm {
    grid-template-columns: 1fr;
  }
  .l-split-header._vertical\@sm .l-split-header__head,
.l-split-header._vertical\@sm .l-split-header__body {
    grid-column: span 1;
  }
  .l-split-header._vertical\@sm .l-split-header__foot {
    grid-area: auto;
  }
}
@media (width <= 700px) {
  .l-split-header._vertical\@sm2 {
    grid-template-columns: 1fr;
  }
  .l-split-header._vertical\@sm2 .l-split-header__head,
.l-split-header._vertical\@sm2 .l-split-header__body {
    grid-column: span 1;
  }
  .l-split-header._vertical\@sm2 .l-split-header__foot {
    grid-area: auto;
  }
}
@media (width <= 600px) {
  .l-split-header._vertical\@sm3 {
    grid-template-columns: 1fr;
  }
  .l-split-header._vertical\@sm3 .l-split-header__head,
.l-split-header._vertical\@sm3 .l-split-header__body {
    grid-column: span 1;
  }
  .l-split-header._vertical\@sm3 .l-split-header__foot {
    grid-area: auto;
  }
}
@media (width <= 500px) {
  .l-split-header._vertical\@xs {
    grid-template-columns: 1fr;
  }
  .l-split-header._vertical\@xs .l-split-header__head,
.l-split-header._vertical\@xs .l-split-header__body {
    grid-column: span 1;
  }
  .l-split-header._vertical\@xs .l-split-header__foot {
    grid-area: auto;
  }
}
@media (width <= 400px) {
  .l-split-header._vertical\@xs2 {
    grid-template-columns: 1fr;
  }
  .l-split-header._vertical\@xs2 .l-split-header__head,
.l-split-header._vertical\@xs2 .l-split-header__body {
    grid-column: span 1;
  }
  .l-split-header._vertical\@xs2 .l-split-header__foot {
    grid-area: auto;
  }
}

.l-row-gap {
  --l-row-gap-default: 60px;
  --l-row-gap: var(--l-row-gap-override, var(--l-row-gap-default));
  display: flex;
  flex-direction: column;
  row-gap: var(--l-row-gap);
}
.l-row-gap._section {
  --l-row-gap-default: var(--space-block-section);
}
.l-row-gap._xl {
  --l-row-gap-default: var(--space-block-xl);
}
.l-row-gap._xl-half {
  --l-row-gap-default: var(--space-block-xl-half);
}
.l-row-gap._lg {
  --l-row-gap-default: var(--space-block-lg);
}
.l-row-gap._md {
  --l-row-gap-default: var(--space-block-md);
}
.l-row-gap._sm {
  --l-row-gap-default: var(--space-block-sm);
}
.l-row-gap._xs {
  --l-row-gap-default: var(--space-block-xs);
}
.l-row-gap._xxs {
  --l-row-gap-default: var(--space-block-xxs);
}
.l-row-gap._xxxs {
  --l-row-gap-default: var(--space-block-xxxs);
}
.l-row-gap._section-trim {
  --l-row-gap-default: var(--space-block-section-trim);
}
.l-row-gap._xl-trim {
  --l-row-gap-default: var(--space-block-xl-trim);
}
.l-row-gap._xl-half-trim {
  --l-row-gap-default: var(--space-block-xl-half-trim);
}
.l-row-gap._lg-trim {
  --l-row-gap-default: var(--space-block-lg-trim);
}
.l-row-gap._md-trim {
  --l-row-gap-default: var(--space-block-md-trim);
}
.l-row-gap._sm-trim {
  --l-row-gap-default: var(--space-block-sm-trim);
}
.l-row-gap._xs-trim {
  --l-row-gap-default: var(--space-block-xs-trim);
}
.l-row-gap._xxs-trim {
  --l-row-gap-default: var(--space-block-xxs-trim);
}
.l-row-gap._xxxs-trim {
  --l-row-gap-default: var(--space-block-xxxs-trim);
}

.l-spacer._section {
  height: var(--space-block-section);
}
.l-spacer._xl {
  height: var(--space-block-xl);
}
.l-spacer._xl-half {
  height: var(--space-block-xl-half);
}
.l-spacer._lg {
  height: var(--space-block-lg);
}
.l-spacer._md {
  height: var(--space-block-md);
}
.l-spacer._sm {
  height: var(--space-block-sm);
}
.l-spacer._xs {
  height: var(--space-block-xs);
}
.l-spacer._xxs {
  height: var(--space-block-xxs);
}
.l-spacer._xxxs {
  height: var(--space-block-xxxs);
}
.l-spacer._section-trim {
  height: var(--space-block-section-trim);
}
.l-spacer._xl-trim {
  height: var(--space-block-xl-trim);
}
.l-spacer._xl-half-trim {
  height: var(--space-block-xl-half-trim);
}
.l-spacer._lg-trim {
  height: var(--space-block-lg-trim);
}
.l-spacer._md-trim {
  height: var(--space-block-md-trim);
}
.l-spacer._sm-trim {
  height: var(--space-block-sm-trim);
}
.l-spacer._xs-trim {
  height: var(--space-block-xs-trim);
}
.l-spacer._xxs-trim {
  height: var(--space-block-xxs-trim);
}
.l-spacer._xxxs-trim {
  height: var(--space-block-xxxs-trim);
}

.l-media {
  --l-media-content-width-default: 590px;
  --l-media-columnGap-default: 60px;
  --l-media-rowGap-default: 0;
  --l-media-gutter-default: var(--site-gutter);
  --l-media-vertical-order-default: "image" "content";
  --l-media-gutter:
  	var(--l-media-gutter-override, var(--l-media-gutter-default));
  --l-media-content-width:
  	var(--l-media-content-width-override, var(--l-media-content-width-default));
  --l-media-columnGap:
  	var(--l-media-columnGap-override, var(--l-media-columnGap-default));
  --l-media-rowGap:
  	var(--l-media-rowGap-override, var(--l-media-rowGap-default));
  --l-media-vertical-order:
  	var(--l-media-vertical-order-override, var(--l-media-vertical-order-default));
  display: grid;
  grid-template-columns: var(--l-media-gridTemplateColumns);
  grid-template-areas: var(--l-media-gridTemplateAreas);
  column-gap: var(--l-media-columnGap);
  row-gap: var(--l-media-rowGap);
}
.l-media:where(._v_reverse) {
  --l-media-vertical-order-default: "content" "image";
}
@media (width <= 1120px) {
  .l-media {
    --l-media-columnGap-default: 30px;
  }
}
.l-media:where(._gutter) {
  padding-inline: var(--l-media-gutter);
}
.l-media:where(:not(._reverse)) {
  --l-media-gridTemplateColumns: var(--l-media-content-width) 1fr;
  --l-media-gridTemplateAreas: "content image";
}
.l-media:where(._reverse) {
  --l-media-gridTemplateColumns: 1fr var(--l-media-content-width);
  --l-media-gridTemplateAreas: "image content";
}
.l-media__content {
  min-width: 0;
  grid-area: content;
}
.l-media__image {
  min-width: 0;
  grid-area: image;
  margin-inline: var(--l-media-marginInline, 0);
}
.l-media:where(._full):where(:not(._reverse)) {
  --l-media-marginInline: 0 calc(var(--l-media-gutter) * -1);
}
.l-media:where(._full):where(._reverse) {
  --l-media-marginInline: calc(var(--l-media-gutter) * -1) 0;
}
.l-media._vertical {
  --l-media-gridTemplateColumns: 1fr;
  --l-media-gridTemplateAreas: var(--l-media-vertical-order);
  --l-media-marginInline: 0;
}
@media (width <= 1600px) {
  .l-media._vertical\@xl {
    --l-media-gridTemplateColumns: 1fr;
    --l-media-gridTemplateAreas: var(--l-media-vertical-order);
    --l-media-marginInline: 0;
  }
}
@media (width <= 1120px) {
  .l-media._vertical\@lg {
    --l-media-gridTemplateColumns: 1fr;
    --l-media-gridTemplateAreas: var(--l-media-vertical-order);
    --l-media-marginInline: 0;
  }
}
@media (width <= 1020px) {
  .l-media._vertical\@lg2 {
    --l-media-gridTemplateColumns: 1fr;
    --l-media-gridTemplateAreas: var(--l-media-vertical-order);
    --l-media-marginInline: 0;
  }
}
@media (width <= 900px) {
  .l-media._vertical\@md {
    --l-media-gridTemplateColumns: 1fr;
    --l-media-gridTemplateAreas: var(--l-media-vertical-order);
    --l-media-marginInline: 0;
  }
}
@media (width <= 800px) {
  .l-media._vertical\@md2 {
    --l-media-gridTemplateColumns: 1fr;
    --l-media-gridTemplateAreas: var(--l-media-vertical-order);
    --l-media-marginInline: 0;
  }
}
@media (width <= 768px) {
  .l-media._vertical\@sm {
    --l-media-gridTemplateColumns: 1fr;
    --l-media-gridTemplateAreas: var(--l-media-vertical-order);
    --l-media-marginInline: 0;
  }
}
@media (width <= 700px) {
  .l-media._vertical\@sm2 {
    --l-media-gridTemplateColumns: 1fr;
    --l-media-gridTemplateAreas: var(--l-media-vertical-order);
    --l-media-marginInline: 0;
  }
}
@media (width <= 600px) {
  .l-media._vertical\@sm3 {
    --l-media-gridTemplateColumns: 1fr;
    --l-media-gridTemplateAreas: var(--l-media-vertical-order);
    --l-media-marginInline: 0;
  }
}
@media (width <= 500px) {
  .l-media._vertical\@xs {
    --l-media-gridTemplateColumns: 1fr;
    --l-media-gridTemplateAreas: var(--l-media-vertical-order);
    --l-media-marginInline: 0;
  }
}
@media (width <= 400px) {
  .l-media._vertical\@xs2 {
    --l-media-gridTemplateColumns: 1fr;
    --l-media-gridTemplateAreas: var(--l-media-vertical-order);
    --l-media-marginInline: 0;
  }
}

.mw_confirm-show {
  display: none;
}

body:has(.mw_wp_form.mw_wp_form_confirm) .mw_confirm-hidden {
  display: none;
}
body:has(.mw_wp_form.mw_wp_form_confirm) .mw_confirm-show {
  display: revert;
}

/* pagenavi */
.wp-pagenavi {
  display: grid;
  justify-content: center;
  align-items: center;
  column-gap: 20px;
  font-family: var(--typography-txt-xmd-font-family);
  font-weight: var(--typography-txt-xmd-font-weight);
  font-size: var(--typography-txt-xmd-font-size);
  line-height: var(--typography-txt-xmd-line-height);
  --letter-spacing: var(--typography-txt-xmd-letter-spacing);
  grid-template: "first prev pages next last" auto/auto auto auto auto auto;
}
.wp-pagenavi_wrapper._mt {
  margin-block-start: var(--space-block-md);
}
.wp-pagenavi .pages {
  grid-area: pages;
}
.wp-pagenavi .first {
  grid-area: first;
}
.wp-pagenavi .previouspostslink {
  grid-area: prev;
}
.wp-pagenavi .nextpostslink {
  grid-area: next;
}
.wp-pagenavi .last {
  grid-area: last;
}
.wp-pagenavi .current,
.wp-pagenavi .page,
.wp-pagenavi .extend {
  display: none;
}
.wp-pagenavi .pages {
  display: inline-flex;
  column-gap: 2px;
  align-items: center;
  justify-content: center;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink,
.wp-pagenavi .first,
.wp-pagenavi .last {
  display: grid;
  place-content: center;
  width: 50px;
  aspect-ratio: 1/1;
  border: 2px solid;
  border-radius: 9999px;
  background-color: var(--color-light);
  text-decoration: none;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .first {
  scale: -1 1;
}

:where(.wp-block-post-content, .wp-gutenberg) {
  --wp--preset--font-size--small: rem(14);
  --wp--preset--font-size--medium: rem(16);
  --wp--preset--font-size--large: rem(18);
  --wp--preset--font-size--x-large: rem(20);
}
:where(.wp-block-post-content, .wp-gutenberg) a:not([class]) {
  text-decoration: underline;
}
:where(.wp-block-post-content, .wp-gutenberg) a:not([class]):focus-visible {
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  :where(.wp-block-post-content, .wp-gutenberg) a:not([class]):hover {
    text-decoration: none;
  }
}
:where(.wp-block-post-content, .wp-gutenberg) :where(p):not(:first-child) {
  margin-block-start: var(--space-block-xs);
}
:where(.wp-block-post-content, .wp-gutenberg) :where(p):not(:last-child) {
  margin-block-end: var(--space-block-xs);
}
:where(.wp-block-post-content, .wp-gutenberg) :where(ol, ul, table,
   > [class*="wp-block"]):not(:first-child) {
  margin-block-start: var(--space-block-md);
}
:where(.wp-block-post-content, .wp-gutenberg) :where(ol, ul, table,
   > [class*="wp-block"]):not(:last-child) {
  margin-block-end: var(--space-block-md);
}

.wp-block-heading {
  margin-block-end: var(--space-block-xs);
}

h2.wp-block-heading {
  margin-block-end: var(--space-block-sm);
  border-radius: 4px;
  padding: 5px 20px;
  color: var(--color-light);
  font-family: var(--typography-title-xmd-font-family);
  font-weight: var(--typography-title-xmd-font-weight);
  font-size: var(--typography-title-xmd-font-size);
  line-height: var(--typography-title-xmd-line-height);
  --letter-spacing: var(--typography-title-xmd-letter-spacing);
  background-color: var(--color-primary);
}

h3.wp-block-heading {
  color: var(--color-primary);
  font-family: var(--typography-title-md-font-family);
  font-weight: var(--typography-title-md-font-weight);
  font-size: var(--typography-title-md-font-size);
  line-height: var(--typography-title-md-line-height);
  --letter-spacing: var(--typography-title-md-letter-spacing);
}

h4.wp-block-heading {
  font-size: 1.25rem;
}

h5.wp-block-heading {
  font-size: 1.125rem;
}

h6.wp-block-heading {
  font-size: 1rem;
}

:where(.wp-gutenberg :is(ul,ol):not([class])),
.wp-block-list {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-xxxs);
  padding-left: 1.4em;
}

:where(.wp-gutenberg ul:not([class])),
ul.wp-block-list {
  list-style-type: "●  ";
}
:where(.wp-gutenberg ul:not([class])) li::marker,
ul.wp-block-list li::marker {
  font-size: 85%;
}

:where(.wp-gutenberg ol:not([class])),
ol.wp-block-list {
  list-style-type: decimal;
}

:where(.wp-gutenberg li:not([class])),
.wp-block-list-item {
  list-style-type: inherit;
}

:where(.wp-block-post-content, .wp-gutenberg) table:not([class]) {
  width: 100%;
}

:where(.wp-block-post-content, .wp-gutenberg) :is(th, td) {
  padding: 15px 20px;
  border: 1px solid var(--color-border2);
  text-align: left;
}
@media (width <= 768px) {
  :where(.wp-block-post-content, .wp-gutenberg) :is(th, td) {
    padding: 5px 10px;
  }
}

a:not([class]) {
  color: var(--color-primary);
  text-decoration: underline;
}
a:not([class]):focus-visible {
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  a:not([class]):hover {
    text-decoration: none;
  }
}

.c-heading {
  display: flex;
  flex-direction: column;
  align-items: start;
  row-gap: var(--space-block-xs);
  margin-block-end: var(--space-block-md);
  font-family: var(--typography-title-md-en-font-family);
  font-weight: var(--typography-title-md-en-font-weight);
  font-size: var(--typography-title-md-en-font-size);
  line-height: var(--typography-title-md-en-line-height);
  --letter-spacing: var(--typography-title-md-en-letter-spacing);
}
.c-heading._center {
  align-items: center;
  text-align: center;
}
@media (width <= 1600px) {
  .c-heading._center\@xl {
    align-items: center;
    text-align: center;
  }
}
@media (width <= 1120px) {
  .c-heading._center\@lg {
    align-items: center;
    text-align: center;
  }
}
@media (width <= 1020px) {
  .c-heading._center\@lg2 {
    align-items: center;
    text-align: center;
  }
}
@media (width <= 900px) {
  .c-heading._center\@md {
    align-items: center;
    text-align: center;
  }
}
@media (width <= 800px) {
  .c-heading._center\@md2 {
    align-items: center;
    text-align: center;
  }
}
@media (width <= 768px) {
  .c-heading._center\@sm {
    align-items: center;
    text-align: center;
  }
}
@media (width <= 700px) {
  .c-heading._center\@sm2 {
    align-items: center;
    text-align: center;
  }
}
@media (width <= 600px) {
  .c-heading._center\@sm3 {
    align-items: center;
    text-align: center;
  }
}
@media (width <= 500px) {
  .c-heading._center\@xs {
    align-items: center;
    text-align: center;
  }
}
@media (width <= 400px) {
  .c-heading._center\@xs2 {
    align-items: center;
    text-align: center;
  }
}
.c-heading__sub {
  order: -10;
  padding: 1px 10px;
  color: var(--color-light);
  background-color: var(--color-secondary);
}
.c-heading__sub::before {
  content: "# ";
}
.c-heading__title {
  font-family: var(--typography-title-xlg-font-family);
  font-weight: var(--typography-title-xlg-font-weight);
  font-size: var(--typography-title-xlg-font-size);
  line-height: var(--typography-title-xlg-line-height);
  --letter-spacing: var(--typography-title-xlg-letter-spacing);
}

.c-heading2 {
  margin-block-end: var(--space-block-sm);
  border: 2px solid;
  border-radius: var(--radius);
  padding: 8px 5px;
  color: var(--color-primary);
  font-family: var(--typography-title-lg-font-family);
  font-weight: var(--typography-title-lg-font-weight);
  font-size: var(--typography-title-lg-font-size);
  line-height: var(--typography-title-lg-line-height);
  --letter-spacing: var(--typography-title-lg-letter-spacing);
  text-align: center;
  background-color: var(--color-light);
}
.c-heading2__title:has(.c-heading2__count) {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: left;
}
.c-heading2__count {
  display: inline-grid;
  place-content: center;
  min-width: 30px;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  margin-inline-end: 10px;
  color: var(--color-light);
  font-family: var(--typography-txt-md-font-family);
  font-weight: var(--typography-txt-md-font-weight);
  font-size: var(--typography-txt-md-font-size);
  line-height: var(--typography-txt-md-line-height);
  --letter-spacing: var(--typography-txt-md-letter-spacing);
  background-color: var(--color-primary);
  align-items: center;
}

.c-heading3 {
  margin-block-end: var(--space-block-md);
  text-align: center;
}
.c-heading3__title {
  color: var(--c-heading3-color, inherit);
  font-family: var(--typography-title-xlg-font-family);
  font-weight: var(--typography-title-xlg-font-weight);
  font-size: var(--typography-title-xlg-font-size);
  line-height: var(--typography-title-xlg-line-height);
  --letter-spacing: var(--typography-title-xlg-letter-spacing);
}
.c-heading3::after {
  content: "";
  display: block;
  width: 50px;
  height: 4px;
  border-radius: 9999px;
  margin-block-start: calc(var(--space-block-xs) + 3px);
  margin-inline: auto;
  background-color: var(--c-heading3-color, var(--color-primary));
}
.c-heading3._light {
  --c-heading3-color: var(--color-light);
}

.c-heading4 {
  margin-block-end: var(--space-block-md);
  text-align: center;
}

.c-arrow {
  display: grid;
  place-content: center;
  width: 40px;
  aspect-ratio: 40/20;
  border-radius: 9999px;
  color: var(--color-light);
  background-color: var(--color-primary);
}
.c-arrow svg {
  display: block;
}
.c-arrow._small {
  width: 30px;
  aspect-ratio: 30/15;
}
.c-arrow._small svg {
  width: 15px;
}
@media (width <= 1600px) {
  .c-arrow._small\@xl {
    width: 30px;
    aspect-ratio: 30/15;
  }
  .c-arrow._small\@xl svg {
    width: 15px;
  }
}
@media (width <= 1120px) {
  .c-arrow._small\@lg {
    width: 30px;
    aspect-ratio: 30/15;
  }
  .c-arrow._small\@lg svg {
    width: 15px;
  }
}
@media (width <= 1020px) {
  .c-arrow._small\@lg2 {
    width: 30px;
    aspect-ratio: 30/15;
  }
  .c-arrow._small\@lg2 svg {
    width: 15px;
  }
}
@media (width <= 900px) {
  .c-arrow._small\@md {
    width: 30px;
    aspect-ratio: 30/15;
  }
  .c-arrow._small\@md svg {
    width: 15px;
  }
}
@media (width <= 800px) {
  .c-arrow._small\@md2 {
    width: 30px;
    aspect-ratio: 30/15;
  }
  .c-arrow._small\@md2 svg {
    width: 15px;
  }
}
@media (width <= 768px) {
  .c-arrow._small\@sm {
    width: 30px;
    aspect-ratio: 30/15;
  }
  .c-arrow._small\@sm svg {
    width: 15px;
  }
}
@media (width <= 700px) {
  .c-arrow._small\@sm2 {
    width: 30px;
    aspect-ratio: 30/15;
  }
  .c-arrow._small\@sm2 svg {
    width: 15px;
  }
}
@media (width <= 600px) {
  .c-arrow._small\@sm3 {
    width: 30px;
    aspect-ratio: 30/15;
  }
  .c-arrow._small\@sm3 svg {
    width: 15px;
  }
}
@media (width <= 500px) {
  .c-arrow._small\@xs {
    width: 30px;
    aspect-ratio: 30/15;
  }
  .c-arrow._small\@xs svg {
    width: 15px;
  }
}
@media (width <= 400px) {
  .c-arrow._small\@xs2 {
    width: 30px;
    aspect-ratio: 30/15;
  }
  .c-arrow._small\@xs2 svg {
    width: 15px;
  }
}

.c-image {
  position: relative;
  isolation: isolate;
  height: var(--c-image-height-override, 630px);
  clip-path: inset(0);
  overflow: clip;
}
@media (width <= 1120px) {
  .c-image {
    height: var(--c-image-height-sp-override, 460px);
  }
  .c-image._height2 {
    height: 513px;
  }
}
.c-image::before {
  content: "";
  position: absolute;
  z-index: -10;
  inset: 0;
  min-height: 100vh;
  background-color: rgba(var(--color-primary-rgb), 0.94);
  mix-blend-mode: screen;
}
.c-image._clear::before {
  content: none;
}
.c-image__body._parallax {
  position: fixed;
  z-index: -20;
  inset: 0;
  min-height: 100vh;
}
.c-image__body._parallax img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-copy {
  position: absolute;
  z-index: -10;
  left: 0;
  width: 100%;
  text-align: center;
}
.c-copy_wrapper {
  position: relative;
  isolation: isolate;
}
.c-copy img {
  max-width: var(--viewport-inner-width);
}
.c-copy._top {
  top: 0;
}
.c-copy._bottom {
  bottom: 0;
}

.c-list-categories {
  display: flex;
  flex-direction: column;
  row-gap: calc(var(--space-block-xxxs) + 1px);
}
.c-list-categories a {
  position: relative;
  display: block;
  width: fit-content;
  padding-inline-start: 1em;
  color: var(--c-list-categories-color, var(--color-base));
  text-decoration: none;
}
.c-list-categories a::before {
  position: absolute;
  content: "";
  top: 0.5lh;
  left: 0;
  translate: 0 -50%;
  width: 6px;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  opacity: var(--c-list-categories-dot-opacity, 0);
  background-color: var(--color-secondary);
}
.c-list-categories a:focus-visible {
  --c-list-categories-color: var(--color-secondary);
}
@media (hover: hover) and (pointer: fine) {
  .c-list-categories a:hover {
    --c-list-categories-color: var(--color-secondary);
  }
}
.c-list-categories .current-cat {
  --c-list-categories-color: var(--color-secondary);
  --c-list-categories-dot-opacity: 1;
}

.c-list-archives {
  display: flex;
  flex-direction: column;
  row-gap: calc(var(--space-block-xxxs) + 1px);
}
.c-list-archives a {
  position: relative;
  display: block;
  width: fit-content;
  color: var(--c-list-archives-color, var(--color-base));
  text-decoration: none;
}
.c-list-archives a:focus-visible {
  --c-list-archives-color: var(--color-secondary);
}
@media (hover: hover) and (pointer: fine) {
  .c-list-archives a:hover {
    --c-list-archives-color: var(--color-secondary);
  }
}
.c-list-archives .current-cat {
  --c-list-archives-color: var(--color-secondary);
}

.c-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.c-categories li {
  font-family: var(--typography-txt-sm-font-family);
  font-weight: var(--typography-txt-sm-font-weight);
  font-size: var(--typography-txt-sm-font-size);
  line-height: var(--typography-txt-sm-line-height);
  --letter-spacing: var(--typography-txt-sm-letter-spacing);
  padding: 1px 13px 3px;
  border: 1px solid var(--color-base);
  border-radius: 9999px;
  color: var(--color-light);
  line-height: 1.2;
  background-color: var(--color-secondary);
}

.c-date {
  font-family: var(--typography-txt-sm-font-family);
  font-weight: var(--typography-txt-sm-font-weight);
  font-size: var(--typography-txt-sm-font-size);
  line-height: var(--typography-txt-sm-line-height);
  --letter-spacing: var(--typography-txt-sm-letter-spacing);
}

.c-image-button {
  display: inline-grid;
  --c-image-button-distance: 10px;
}
@media (width <= 700px) {
  .c-image-button {
    margin-inline: auto;
  }
}
.c-image-button__body {
  grid-area: 1/1/2/2;
  margin-block-end: var(--c-image-button-distance);
  margin-inline-end: var(--c-image-button-distance);
  transition-property: translate;
  transition-duration: var(--sec);
  translate: var(--c-image-button-translate, 0 0);
}
.c-image-button__bg {
  grid-area: 1/1/2/2;
  margin-block-start: var(--c-image-button-distance);
  margin-inline-start: var(--c-image-button-distance);
}
.c-image-button:focus-visible {
  --c-image-button-translate: var(--c-image-button-distance) var(--c-image-button-distance);
}
@media (hover: hover) and (pointer: fine) {
  .c-image-button:hover {
    --c-image-button-translate: var(--c-image-button-distance) var(--c-image-button-distance);
  }
}

.c-stepbar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-block-xxxs) 3px;
  padding-block: var(--space-block-sm) var(--space-block-xxxs);
  color: var(--color-primary);
  font-family: var(--typography-txt-xsm-font-family);
  font-weight: var(--typography-txt-xsm-font-weight);
  font-size: var(--typography-txt-xsm-font-size);
  line-height: var(--typography-txt-xsm-line-height);
  --letter-spacing: var(--typography-txt-xsm-letter-spacing);
}
@media (width <= 768px) {
  .c-stepbar {
    padding-block-start: 0;
  }
}
.c-stepbar._mt {
  margin-block-start: var(--space-block-sm);
}
.c-stepbar._mb {
  margin-block-end: var(--space-block-md);
}
.c-stepbar > li:nth-child(n+2)::before {
  content: "＞";
  margin-inline-end: 3px;
  color: var(--color-primary);
}
.c-stepbar > li[aria-current=step] {
  color: var(--color-secondary);
}

.c-navi {
  display: inline-grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  column-gap: 10px;
  min-height: 40px;
  border: 2px solid;
  padding-inline: 20px;
  border-radius: 9999px;
  font-family: var(--typography-txt-md-font-family);
  font-weight: var(--typography-txt-md-font-weight);
  font-size: var(--typography-txt-md-font-size);
  line-height: var(--typography-txt-md-line-height);
  --letter-spacing: var(--typography-txt-md-letter-spacing);
  background-color: var(--color-light);
  text-decoration: none;
}
.c-navi_wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.c-navi__chevron {
  display: grid;
  place-items: center;
  width: 17px;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  color: var(--color-light);
  background-color: var(--color-primary);
}
.c-navi__chevron svg {
  display: block;
  rotate: 90deg;
}

.c-anim-shake1 {
  animation: shake1 3s ease-in-out infinite;
}
@keyframes shake1 {
  0%, 100% {
    transform: translateY(0);
  }
  25% {
    transform: translateY(-5px);
  }
  50% {
    transform: translateY(5px);
  }
  75% {
    transform: translateY(-3px);
  }
}

.c-anim-shake2 {
  animation: shake2 3s 1s ease-in-out infinite;
}
@keyframes shake2 {
  0%, 100% {
    transform: translateY(0);
  }
  25% {
    transform: translateY(-5px);
  }
  50% {
    transform: translateY(5px);
  }
  75% {
    transform: translateY(-3px);
  }
}

.c-anim-blink1 {
  animation: blink1 3s 1s ease-in-out infinite;
}
@keyframes blink1 {
  0%, 100% {
    opacity: 1;
  }
  49% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  99% {
    opacity: 0;
  }
}

.c-anim-blink2 {
  animation: blink2 3s 1s ease-in-out infinite;
}
@keyframes blink2 {
  0%, 100% {
    opacity: 0;
  }
  49% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  99% {
    opacity: 1;
  }
}

.c-bread {
  padding-block: var(--space-block-xxs);
  color: var(--color-primary);
  font-family: var(--typography-txt-xsm-font-family);
  font-weight: var(--typography-txt-xsm-font-weight);
  font-size: var(--typography-txt-xsm-font-size);
  line-height: var(--typography-txt-xsm-line-height);
  --letter-spacing: var(--typography-txt-xsm-letter-spacing);
}
.c-bread:first-child {
  padding-block-start: calc(var(--header-size) - var(--frame-size) + var(--space-block-xs-trim));
}
.c-bread__list {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 5px;
  row-gap: 5px;
  word-break: break-all;
}
.c-bread__list > li:first-child a {
  display: inline-flex;
  align-items: baseline;
  column-gap: 5px;
}
.c-bread__list > li:first-child a::before {
  content: "";
  display: block;
  width: 24px;
  aspect-ratio: 24/20;
  background-image: url('data:image/svg+xml;utf8, <svg id="svg" xmlns="http://www.w3.org/2000/svg" width="24" height="20" viewBox="0 0 24 20"><g transform="translate(-200 -526)"><rect width="16" height="12" transform="translate(204 534)" fill="%230b4dc7"/><path d="M12,0,24,9H0Z" transform="translate(200 526)" fill="%230b4dc7"/><rect width="4" height="7" transform="translate(208 539)" fill="%23fff"/></g></svg>');
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  translate: 0 30%;
}
.c-bread__list > li + li:before {
  content: ">";
}
.c-bread__list a {
  text-decoration: none;
}
.c-bread__list a:focus-visible {
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  .c-bread__list a:hover {
    text-decoration: underline;
  }
}

.c-button {
  --c-button-distance-default: 10px;
  --c-button-distance: var(--c-button-distance-override, var(--c-button-distance-default));
  position: relative;
  isolation: isolate;
  display: inline-grid;
  max-width: calc(100% - var(--c-button-distance));
  width: 350px;
  text-align: center;
  text-decoration: none;
  appearance: none;
  cursor: pointer;
}
.c-button_wrapper._mt {
  margin-block-start: var(--space-block-md);
}
@media (width <= 768px) {
  .c-button {
    width: 300px;
  }
}
.c-button__body {
  grid-area: 1/1/2/2;
  display: grid;
  justify-content: center;
  align-items: center;
  min-height: 70px;
  border-radius: 9999px;
  padding: 10px;
  border: 2px solid var(--color-base);
  color: var(--color-light);
  font-family: var(--typography-txt-xmd-font-family);
  font-weight: var(--typography-txt-xmd-font-weight);
  font-size: var(--typography-txt-xmd-font-size);
  line-height: var(--typography-txt-xmd-line-height);
  --letter-spacing: var(--typography-txt-xmd-letter-spacing);
  background-color: var(--color-primary);
  background-clip: padding-box;
  transition-property: translate;
  transition-duration: var(--sec);
  translate: var(--c-button-translate, 0 0);
}
@media (width <= 768px) {
  .c-button__body {
    min-height: 60px;
  }
}
.c-button::before {
  content: "";
  grid-area: 1/1/2/2;
  display: block;
  width: 100%;
  height: 100%;
  margin-block-start: var(--c-button-distance);
  margin-inline-start: var(--c-button-distance);
  border: 2px solid var(--color-base);
  background-color: var(--color-light);
  border-radius: 9999px;
}
.c-button:focus-visible {
  --c-button-translate: var(--c-button-distance) var(--c-button-distance);
}
@media (hover: hover) and (pointer: fine) {
  .c-button:hover {
    --c-button-translate: var(--c-button-distance) var(--c-button-distance);
  }
}
.c-button._w_fluid {
  width: 100%;
}

.c-input input[type=text],
.c-input input[type=tel],
.c-input input[type=email],
.c-input select,
.c-input textarea {
  display: block;
  width: 100%;
  padding: 10px 30px;
  color: inherit;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  font-family: var(--typography-txt-md-font-family);
  font-weight: var(--typography-txt-md-font-weight);
  font-size: var(--typography-txt-md-font-size);
  line-height: var(--typography-txt-md-line-height);
  --letter-spacing: var(--typography-txt-md-letter-spacing);
  background-color: var(--color-input);
  appearance: none;
}
.c-input select {
  padding-inline-end: 50px;
  background-image: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" width="12" height="10" viewBox="0 0 12 10"><path d="M6,0l6,10H0Z" transform="translate(12 10) rotate(180)"/></svg>');
  background-position: right 20px center;
  background-repeat: no-repeat;
  cursor: pointer;
}
.c-input textarea {
  min-height: 190px;
  resize: vertical;
}
.c-input._pi_small input[type=text],
.c-input._pi_small input[type=tel],
.c-input._pi_small input[type=email],
.c-input._pi_small select,
.c-input._pi_small textarea {
  padding-inline: 20px;
}
.c-input._pi_small select {
  padding-inline-end: 50px;
}
.c-input._radio {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 80px;
}
@media (width <= 768px) {
  .c-input._radio {
    padding-block-start: var(--space-block-xs);
  }
}
.c-input .mwform-radio-field label {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 12px;
  cursor: pointer;
}
.c-input .mwform-radio-field input {
  appearance: none;
  display: grid;
  width: 14px;
  height: 14px;
  margin: 0;
  cursor: inherit;
}
.c-input .mwform-radio-field input::before, .c-input .mwform-radio-field input::after {
  content: "";
  display: block;
  grid-area: 1/1/2/2;
  border-radius: 9999px;
}
.c-input .mwform-radio-field input::before {
  border: 1px solid var(--color-primary);
  background-color: var(--color-light);
}
.c-input .mwform-radio-field input::after {
  padding: 6px;
  background-color: var(--color-primary);
  opacity: var(--c-input-checked, 0);
  background-clip: content-box;
}
.c-input .mwform-radio-field input:checked {
  --c-input-checked: 1;
}
.c-input .mwform-radio-field-text {
  display: block;
  margin: 0;
  padding: 0;
}
.c-input._checkbox {
  display: grid;
  grid-template-columns: repeat(3, auto);
  gap: var(--space-block-xs-trim) 40px;
  width: fit-content;
}
@media (width <= 768px) {
  .c-input._checkbox {
    grid-template-columns: 1fr;
  }
}
.c-input .mwform-checkbox-field label {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 13px;
  cursor: pointer;
}
.c-input .mwform-checkbox-field input {
  appearance: none;
  display: grid;
  width: 24px;
  height: 24px;
  margin: 0;
  border-radius: 4px;
  translate: 0 2px;
  cursor: inherit;
}
.c-input .mwform-checkbox-field input::before, .c-input .mwform-checkbox-field input::after {
  content: "";
  display: block;
  grid-area: 1/1/2/2;
}
.c-input .mwform-checkbox-field input::before {
  border: 1px solid var(--color-border);
  border-radius: inherit;
  background-color: var(--color-input);
}
.c-input .mwform-checkbox-field input::after {
  border-radius: inherit;
  background-image: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g transform="translate(-570 -1678)"><g transform="translate(570 1678)" fill="%23f5f5f5" stroke="%23ccc" stroke-width="1" opacity="0"><rect width="24" height="24" rx="4" stroke="none"/><rect x="0.5" y="0.5" width="23" height="23" rx="3.5" fill="none"/></g><path d="M15354.707-13214.267l4.436,4.806,9.687-9.694" transform="translate(-14780.207 14904.655)" fill="none" stroke="%23111" stroke-width="2"/></g></svg>');
  opacity: var(--c-input-checked, 0);
}
.c-input .mwform-checkbox-field input:checked {
  --c-input-checked: 1;
}
.c-input .mwform-checkbox-field-text {
  display: block;
  margin: 0;
  padding: 0;
}

.c-list {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  column-gap: 2px;
  row-gap: 2px;
  counter-reset: c-list;
}
.c-list > li {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  counter-increment: c-list;
}
.c-list._point > li::before {
  content: "・";
}
.c-list._disc > li::before {
  content: "●";
  margin-inline-end: 5px;
  font-size: 80%;
  translate: 0 0.1875rem;
}
.c-list._square > li::before {
  content: "■";
}
.c-list._decimal > li::before {
  content: counter(c-list) ".";
}
.c-list._decimal-zero > li::before {
  content: counter(c-list, decimal-leading-zero) ".";
}
.c-list._upper-roman > li::before {
  content: counter(c-list, upper-roman) ".";
}
.c-list._lower-roman > li::before {
  content: counter(c-list, lower-roman) ".";
}
.c-list._upper-alpha > li::before {
  content: counter(c-list, upper-alpha) ".";
}
.c-list._lower-alpha > li::before {
  content: counter(c-list, lower-alpha) ".";
}
.c-list._hiragana > li::before {
  content: counter(c-list, hiragana) ".";
}
.c-list._katakana > li::before {
  content: counter(c-list, katakana) ".";
}
.c-list._hiragana-iroha > li::before {
  content: counter(c-list, hiragana-iroha) ".";
}
.c-list._katakana-iroha > li::before {
  content: counter(c-list, katakana-iroha) ".";
}
.c-list._kanji > li::before {
  content: counter(c-list, trad-chinese-informal) ".";
}
.c-list._custom > li::before {
  content: attr(data-list);
}

.c-pager {
  display: grid;
  grid-template: "prev back next"/1fr 350px 1fr;
  row-gap: var(--space-block-xs);
  align-items: center;
  font-family: var(--typography-txt-xmd-font-family);
  font-weight: var(--typography-txt-xmd-font-weight);
  font-size: var(--typography-txt-xmd-font-size);
  line-height: var(--typography-txt-xmd-line-height);
  --letter-spacing: var(--typography-txt-xmd-letter-spacing);
}
.c-pager._mt {
  margin-block-start: var(--space-block-xl);
}
.c-pager__item._prev {
  grid-area: prev;
}
.c-pager__item._back {
  grid-area: back;
  text-align: center;
}
.c-pager__item._next {
  grid-area: next;
  justify-self: end;
}
.c-pager__item._interview {
  padding-top: 14px;
}
@media (width <= 1020px) {
  .c-pager {
    grid-template: "back back" "prev next"/1fr 1fr;
  }
}
.c-pager__arrow {
  display: grid;
  place-content: center;
  width: 50px;
  aspect-ratio: 1/1;
  border: 2px solid var(--color-base);
  border-radius: 9999px;
  color: var(--color-light);
  background-color: var(--color-primary);
}
@media (width <= 500px) {
  .c-pager__arrow {
    width: 25px;
  }
  .c-pager__arrow svg {
    width: 3px;
  }
}
.c-pager__arrow:first-child {
  scale: -1 1;
}
.c-pager__icon {
  translate: 0 1px;
}
.c-pager__page a {
  display: flex;
  align-items: center;
  column-gap: 10px;
  text-decoration: none;
}
.c-text {
  --c-text-gap-defalut: calc(var(--space-block-sm) + 2px);
  --c-text-gap: var(--c-text-gap-override, var(--c-text-gap-defalut));
}
.c-text._section {
  --c-text-gap-defalut: var(--space-block-section);
}
.c-text._xl {
  --c-text-gap-defalut: var(--space-block-xl);
}
.c-text._xl-half {
  --c-text-gap-defalut: var(--space-block-xl-half);
}
.c-text._lg {
  --c-text-gap-defalut: var(--space-block-lg);
}
.c-text._md {
  --c-text-gap-defalut: var(--space-block-md);
}
.c-text._sm {
  --c-text-gap-defalut: var(--space-block-sm);
}
.c-text._xs {
  --c-text-gap-defalut: var(--space-block-xs);
}
.c-text._xxs {
  --c-text-gap-defalut: var(--space-block-xxs);
}
.c-text._xxxs {
  --c-text-gap-defalut: var(--space-block-xxxs);
}
.c-text._section-trim {
  --c-text-gap-defalut: var(--space-block-section-trim);
}
.c-text._xl-trim {
  --c-text-gap-defalut: var(--space-block-xl-trim);
}
.c-text._xl-half-trim {
  --c-text-gap-defalut: var(--space-block-xl-half-trim);
}
.c-text._lg-trim {
  --c-text-gap-defalut: var(--space-block-lg-trim);
}
.c-text._md-trim {
  --c-text-gap-defalut: var(--space-block-md-trim);
}
.c-text._sm-trim {
  --c-text-gap-defalut: var(--space-block-sm-trim);
}
.c-text._xs-trim {
  --c-text-gap-defalut: var(--space-block-xs-trim);
}
.c-text._xxs-trim {
  --c-text-gap-defalut: var(--space-block-xxs-trim);
}
.c-text._xxxs-trim {
  --c-text-gap-defalut: var(--space-block-xxxs-trim);
}
.c-text > :where(:not(:last-child)) {
  margin-block-end: var(--c-text-gap);
}
.c-text._center {
  text-align: center;
}

.c-toggle {
  display: grid;
  isolation: isolate;
}
.c-toggle picture {
  display: contents;
}
.c-toggle__item {
  grid-column: 1/2;
  grid-row: 1/2;
  transition-property: opacity, visibility;
}
.c-toggle__item._before {
  transition-duration: 0s;
}
.c-toggle__item._after {
  z-index: 1;
  visibility: hidden;
  opacity: 0;
  transition-duration: var(--sec);
}
.c-toggle.is-open .c-toggle__item._before {
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  transition-duration: var(--sec);
}
.c-toggle.is-open .c-toggle__item._after {
  opacity: 1;
  visibility: visible;
  transition-duration: 0s;
}
.c-toggle._hover:focus-visible .c-toggle__item._before {
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  transition-duration: var(--sec);
}
.c-toggle._hover:focus-visible .c-toggle__item._after {
  opacity: 1;
  visibility: visible;
  transition-duration: 0s;
}
@media (hover: hover) and (pointer: fine) {
  .c-toggle._hover:hover .c-toggle__item._before {
    z-index: 2;
    opacity: 0;
    visibility: hidden;
    transition-duration: var(--sec);
  }
  .c-toggle._hover:hover .c-toggle__item._after {
    opacity: 1;
    visibility: visible;
    transition-duration: 0s;
  }
}

.p-pagetitle {
  position: relative;
  isolation: isolate;
}
.p-pagetitle::before {
  content: "";
  position: absolute;
  z-index: -10;
  inset: 0;
  background-color: rgba(var(--color-primary-rgb), 0.42);
}
.p-pagetitle__inner {
  position: relative;
  z-index: 10;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 490px;
  color: var(--color-light);
}
@media (width <= 1120px) {
  .p-pagetitle__inner {
    min-height: 440px;
  }
}
@media (width <= 768px) {
  .p-pagetitle__inner {
    justify-content: start;
    min-height: 440px;
    padding-block-start: 145px;
  }
}
@media (width <= 600px) {
  .p-pagetitle__inner {
    padding-block-start: 145px;
  }
}
.p-pagetitle__detail {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-xxxs);
}
.p-pagetitle__sub {
  order: -10;
  width: fit-content;
  padding: 0 10px;
  color: var(--color-light);
  font-family: var(--typography-title-md-en-font-family);
  font-weight: var(--typography-title-md-en-font-weight);
  font-size: var(--typography-title-md-en-font-size);
  line-height: var(--typography-title-md-en-line-height);
  --letter-spacing: var(--typography-title-md-en-letter-spacing);
  background-color: var(--color-secondary);
}
.p-pagetitle__sub::before {
  content: "# ";
}
.p-pagetitle__title {
  font-family: var(--typography-title-xxlg-font-family);
  font-weight: var(--typography-title-xxlg-font-weight);
  font-size: var(--typography-title-xxlg-font-size);
  line-height: var(--typography-title-xxlg-line-height);
  --letter-spacing: var(--typography-title-xxlg-letter-spacing);
  text-shadow: 2px 3px 0 var(--color-primary);
}
.p-pagetitle__mv {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -20;
}
.p-pagetitle__bg {
  position: absolute;
  z-index: -10;
  top: calc(var(--frame-size) * -1);
  left: 0;
}
.p-pagetitle__pic {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: end;
}
.p-pagetitle__pic img {
  position: relative;
}

.p-pagetitle-simple {
  margin-block-end: var(--space-block-xl-half);
}
.p-pagetitle-simple__inner {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-xxxs);
  padding-block-start: calc(var(--header-size) + var(--space-block-sm));
}
.p-pagetitle-simple__sub {
  order: -10;
  width: fit-content;
  padding: 0 10px;
  color: var(--color-light);
  font-family: var(--typography-title-md-en-font-family);
  font-weight: var(--typography-title-md-en-font-weight);
  font-size: var(--typography-title-md-en-font-size);
  line-height: var(--typography-title-md-en-line-height);
  --letter-spacing: var(--typography-title-md-en-letter-spacing);
  background-color: var(--color-secondary);
}
.p-pagetitle-simple__sub::before {
  content: "# ";
}
.p-pagetitle-simple__title {
  color: var(--color-primary);
  font-family: var(--typography-title-xxlg-font-family);
  font-weight: var(--typography-title-xxlg-font-weight);
  font-size: var(--typography-title-xxlg-font-size);
  line-height: var(--typography-title-xxlg-line-height);
  --letter-spacing: var(--typography-title-xxlg-letter-spacing);
}

.p-event {
  --p-event-distance: 10px;
  display: grid;
  grid-template-rows: auto 1fr;
  text-decoration: none;
}
.p-event_wrapper {
  display: grid;
  column-gap: 20px;
  row-gap: var(--space-block-md);
}
@media (width <= 1120px) {
  .p-event_wrapper {
    column-gap: 10px;
  }
}
@media (width <= 900px) {
  .p-event_wrapper {
    gap: var(--space-block-xs) 6px;
    margin-inline: auto;
  }
}
.p-event_wrapper._4n {
  grid-template-columns: repeat(4, 1fr);
}
@media (width <= 900px) {
  .p-event_wrapper._4n {
    max-width: 480px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-event_wrapper._3n {
  grid-template-columns: repeat(3, 1fr);
}
@media (width <= 1020px) {
  .p-event_wrapper._3n {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (width <= 900px) {
  .p-event_wrapper._3n {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (width <= 600px) {
  .p-event_wrapper._3n {
    grid-template-columns: repeat(2, 1fr);
  }
}
.p-event__body {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-xxs);
}
.p-event__image {
  order: -10;
}
.p-event__detail {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.p-event__title {
  flex-grow: 1;
}
@media (width <= 500px) {
  .p-event {
    --p-event-distance: 5px;
  }
}
.p-event__date {
  grid-area: 1/1/2/2;
  transition-property: translate;
  transition-duration: var(--sec);
  translate: var(--p-event-translate, 0 0);
}
.p-event__body {
  grid-area: 2/1/3/2;
  margin-inline-end: var(--p-event-distance);
  margin-block-end: var(--p-event-distance);
  border: 2px solid var(--color-base);
  border-radius: var(--radius);
  border-top-left-radius: 0;
  padding: 10px;
  background-color: var(--color-light);
  transition-property: translate;
  transition-duration: var(--sec);
  translate: var(--p-event-translate, 0 0);
}
@media (width <= 768px) {
  .p-event__body {
    padding: 8px 7px;
  }
}
.p-event::before {
  grid-area: 2/1/3/2;
  content: "";
  margin-block-start: var(--p-event-distance);
  margin-inline-start: var(--p-event-distance);
  border: 2px solid var(--color-base);
  border-radius: var(--radius);
  background-color: var(--color-primary);
}
.p-event:focus-visible {
  --p-event-translate: var(--p-event-distance) var(--p-event-distance);
  --p-event-image-scale: var(--zoom);
}
@media (hover: hover) and (pointer: fine) {
  .p-event:hover {
    --p-event-translate: var(--p-event-distance) var(--p-event-distance);
    --p-event-image-scale: var(--zoom);
  }
}
@media (width <= 768px) {
  .p-event {
    font-family: var(--typography-txt-sm-font-family);
    font-weight: var(--typography-txt-sm-font-weight);
    font-size: var(--typography-txt-sm-font-size);
    line-height: var(--typography-txt-sm-line-height);
    --letter-spacing: var(--typography-txt-sm-letter-spacing);
  }
}
.p-event__date {
  width: fit-content;
  border: 2px solid var(--color-base);
  border-block-end: 0;
  border-top-left-radius: var(--radius-sm);
  border-top-right-radius: var(--radius-sm);
  padding: 1px 7px;
  background-color: var(--color-light);
}
@media (width <= 768px) {
  .p-event__date {
    padding-block: 0px;
  }
}
.p-event__image {
  position: relative;
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.p-event__image img {
  transition-property: scale;
  transition-duration: var(--sec);
  scale: var(--p-event-image-scale, 1);
}
.p-event__thumb {
  position: relative;
  aspect-ratio: 235/160;
}
.p-event__thumb img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-event__categories {
  position: absolute;
  z-index: 10;
  bottom: 10px;
  left: 10px;
}
.p-event__title {
  margin-block-end: var(--space-block-xxs);
}

.p-member {
  --p-member-distance: 10px;
  display: grid;
  max-width: 300px;
  text-decoration: none;
}
.p-member_wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 60px 50px;
  margin-inline: auto;
  width: fit-content;
}
@media (width <= 1120px) {
  .p-member_wrapper {
    column-gap: 25px;
  }
}
@media (width <= 900px) {
  .p-member_wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (width <= 600px) {
  .p-member_wrapper {
    gap: 30px 10px;
  }
}
.p-member__body {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-xs-trim);
}
.p-member__image {
  order: -10;
}
.p-member__badge {
  position: absolute;
  z-index: 10;
  top: -22px;
  right: 18px;
}
.p-member__detail {
  position: relative;
  display: flex;
  flex-direction: column;
}
.p-member__arrow {
  position: absolute;
  bottom: 0;
  right: 0;
}
.p-member__copy {
  order: -10;
}
@media (width <= 768px) {
  .p-member {
    --p-member-distance: 5px;
  }
}
.p-member__body {
  grid-area: 1/1/2/2;
  margin-inline-end: var(--p-member-distance);
  margin-block-end: var(--p-member-distance);
  border: 2px solid var(--color-base);
  border-radius: var(--radius);
  padding: 20px 20px 25px;
  background-color: var(--color-light);
  transition-property: translate;
  transition-duration: var(--sec);
  translate: var(--p-member-translate, 0 0);
}
@media (width <= 600px) {
  .p-member__body {
    padding: 15px 10px 15px;
  }
}
.p-member::before {
  grid-area: 1/1/2/2;
  content: "";
  background-color: var(--color-primary);
  margin-block-start: var(--p-member-distance);
  margin-inline-start: var(--p-member-distance);
  border: 2px solid var(--color-base);
  border-radius: var(--radius);
  background-color: var(--color-secondary);
}
.p-member:focus-visible {
  --p-member-translate: var(--p-member-distance) var(--p-member-distance);
  --p-member-image-scale: var(--zoom);
}
@media (hover: hover) and (pointer: fine) {
  .p-member:hover {
    --p-member-translate: var(--p-member-distance) var(--p-member-distance);
    --p-member-image-scale: var(--zoom);
  }
}
@media (width <= 768px) {
  .p-member {
    max-width: 260px;
  }
}
.p-member__copy {
  margin-block-end: var(--space-block-xxs-trim);
  font-family: var(--typography-txt-xmd-font-family);
  font-weight: var(--typography-txt-xmd-font-weight);
  font-size: var(--typography-txt-xmd-font-size);
  line-height: var(--typography-txt-xmd-line-height);
  --letter-spacing: var(--typography-txt-xmd-letter-spacing);
  line-height: 1.4444444444;
}
@media (width <= 768px) {
  .p-member__copy {
    margin-block-end: var(--space-block-xxs);
  }
}
.p-member__title {
  margin-block-end: var(--space-block-xxs-trim);
  font-family: var(--typography-txt-sm-font-family);
  font-weight: var(--typography-txt-sm-font-weight);
  font-size: var(--typography-txt-sm-font-size);
  line-height: var(--typography-txt-sm-line-height);
  --letter-spacing: var(--typography-txt-sm-letter-spacing);
}
.p-member__info {
  margin-inline-end: 45px;
  color: var(--color-primary);
  font-family: var(--typography-txt-xsm-font-family);
  font-weight: var(--typography-txt-xsm-font-weight);
  font-size: var(--typography-txt-xsm-font-size);
  line-height: var(--typography-txt-xsm-line-height);
  --letter-spacing: var(--typography-txt-xsm-letter-spacing);
}
.p-member__image {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
}
.p-member__image img {
  transition-property: scale;
  transition-duration: var(--sec);
  scale: var(--p-member-image-scale, 1);
}
.p-member__badge {
  display: grid;
  place-items: center;
  color: var(--color-light);
}
.p-member__badge._new-graduate {
  --svg-color: var(--color-secondary);
}
.p-member__badge._mid-career {
  --svg-color: var(--color-tertiary);
}
.p-member__badge p {
  grid-area: 1/1/2/2;
  display: grid;
  place-content: center;
  width: 2.5em;
  line-height: 1.125;
  text-align: center;
}
.p-member__badge svg {
  grid-area: 1/1/2/2;
}
.p-member__arrow {
  translate: 0 5px;
}
.p-member .c-list {
  display: flex;
  flex-direction: column;
}
.p-member .c-list li {
  grid-template-columns: auto 1fr;
  column-gap: 2px;
}

.p-side {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-xs);
}
.p-side__item {
  border: 2px solid;
  border-radius: var(--radius);
  padding: 25px 30px 30px;
  background-color: var(--color-light);
}
.p-side__title {
  margin-block-end: var(--space-block-xxxs);
  color: var(--color-secondary);
  font-family: var(--typography-title-md-en-font-family);
  font-weight: var(--typography-title-md-en-font-weight);
  font-size: var(--typography-title-md-en-font-size);
  line-height: var(--typography-title-md-en-line-height);
  --letter-spacing: var(--typography-title-md-en-letter-spacing);
}

.p-faq {
  border-block-end: 1px solid;
}
.p-faq_wrapper {
  display: flex;
  flex-direction: column;
  border-radius: var(--radius);
  padding: var(--space-block-md) 100px;
  background-color: var(--color-light);
}
@media (width <= 1120px) {
  .p-faq_wrapper {
    padding-inline: 50px;
  }
}
@media (width <= 768px) {
  .p-faq_wrapper {
    margin-inline: calc(var(--space-inline-sm2) * -1);
    padding-inline: var(--space-inline-sm2);
  }
}
.p-faq__question:not(#root) {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: baseline;
  padding-block: var(--space-block-xs);
  column-gap: 10px;
  font-family: var(--typography-title-md-font-family);
  font-weight: var(--typography-title-md-font-weight);
  font-size: var(--typography-title-md-font-size);
  line-height: var(--typography-title-md-line-height);
  --letter-spacing: var(--typography-title-md-letter-spacing);
  cursor: pointer;
}
.p-faq__question:not(#root)::before {
  content: "Q.";
  color: var(--color-primary);
}
.p-faq:first-child .p-faq__question {
  padding-block-start: 0;
}
.p-faq__icon {
  display: grid;
  place-content: center;
  width: 20px;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  background-color: var(--color-primary);
  translate: 0 -5px;
}
.p-faq__icon::before, .p-faq__icon::after {
  grid-area: 1/1/2/2;
  content: "";
  display: block;
  width: 12px;
  height: 2px;
  background-color: var(--color-light);
}
.p-faq__icon::after {
  transform: rotate(90deg);
}
.p-faq[open] .p-faq__icon::after {
  content: none;
}
.p-faq__answer-inner {
  padding-block-end: var(--space-block-xs);
}

.p-form {
  border-radius: var(--radius);
  padding: var(--space-block-lg) 100px;
  background-color: var(--color-light);
}
@media (width <= 1120px) {
  .p-form {
    padding-inline: 50px;
  }
}
@media (width <= 768px) {
  .p-form {
    border-radius: 0;
    padding-inline: var(--space-inline-sm2);
  }
}
.p-form__body {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-md);
}
.p-form__item {
  display: grid;
  grid-template-columns: 212px 1fr;
  column-gap: 40px;
}
@media (width <= 1120px) {
  .p-form__item {
    grid-template-columns: 180px 1fr;
    column-gap: 25px;
  }
}
@media (width <= 900px) {
  .p-form__item {
    grid-template-columns: 1fr;
    display: flex;
    flex-direction: column;
    row-gap: var(--space-block-xxs);
  }
}
.p-form legend.p-form__label {
  display: contents;
}
.p-form__label-in {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  row-gap: var(--space-block-xxs);
  column-gap: 10px;
}
.p-form__group {
  display: grid;
  grid-template-columns: repeat(2, 210px);
  column-gap: 20px;
  row-gap: var(--space-block-xxs);
}
@media (width <= 600px) {
  .p-form__group {
    grid-template-columns: 210px;
  }
}
.mw_wp_form_confirm .p-form__group {
  grid-template-columns: repeat(2, auto);
  width: fit-content;
}

.p-form__title-sub {
  display: block;
  order: 10;
  font-family: var(--typography-txt-xsm-font-family);
  font-weight: var(--typography-txt-xsm-font-weight);
  font-size: var(--typography-txt-xsm-font-size);
  line-height: var(--typography-txt-xsm-line-height);
  --letter-spacing: var(--typography-txt-xsm-letter-spacing);
}
.p-form__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  width: fit-content;
  border-radius: 4px;
  padding-block-end: 1px;
  padding-inline: 7px;
  font-family: var(--typography-txt-sm-font-family);
  font-weight: var(--typography-txt-sm-font-weight);
  font-size: var(--typography-txt-sm-font-size);
  line-height: var(--typography-txt-sm-line-height);
  --letter-spacing: var(--typography-txt-sm-letter-spacing);
  line-height: 1;
  text-align: center;
  translate: 0 -3px;
}
.p-form__badge._required {
  color: var(--color-light);
  background-color: var(--color-secondary);
}
.p-form__badge._optional {
  color: var(--color-light);
  background-color: var(--color-base);
}
.p-form__exp {
  margin-block-end: var(--space-block-xxs);
  font-family: var(--typography-txt-xsm-font-family);
  font-weight: var(--typography-txt-xsm-font-weight);
  font-size: var(--typography-txt-xsm-font-size);
  line-height: var(--typography-txt-xsm-line-height);
  --letter-spacing: var(--typography-txt-xsm-letter-spacing);
}
.p-form__exp2 {
  margin-block-end: var(--space-block-xxs);
}
.p-form__agree {
  display: flex;
  justify-content: center;
  margin-block-start: var(--space-block-md);
  text-align: center;
}
.p-form__agree a {
  color: var(--color-primary);
  text-decoration: underline;
}
.p-form__agree a:focus-visible {
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  .p-form__agree a:hover {
    text-decoration: none;
  }
}
.p-form__submit {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  margin-block-start: var(--space-block-md);
  gap: 20px 20px;
}
@media (width <= 768px) {
  .p-form__submit {
    flex-direction: column;
  }
}
.p-form__submit button {
  display: inline-grid;
  place-content: center;
  max-width: 100%;
  width: 350px;
  min-height: 70px;
  border: 2px solid var(--color-primary);
  border-radius: 9999px;
  color: var(--color-light);
  font-family: var(--typography-txt-xmd-font-family);
  font-weight: var(--typography-txt-xmd-font-weight);
  font-size: var(--typography-txt-xmd-font-size);
  line-height: var(--typography-txt-xmd-line-height);
  --letter-spacing: var(--typography-txt-xmd-letter-spacing);
  background-color: var(--color-primary);
  appearance: none;
  cursor: pointer;
}
@media (width <= 900px) {
  .p-form__submit button {
    width: 300px;
    min-height: 60px;
  }
}
.p-form__submit [name=submitBack] {
  border-color: var(--color-base);
  background-color: var(--color-base);
}

[data-tel] a {
  color: inherit;
  text-decoration: underline;
}

[data-details] summary {
  /* デフォルトの三角形アイコンを削除 */
  display: block;
  list-style-type: none;
}
[data-details] summary::webkit-details-marker {
  /* Safariの三角形アイコンを削除 */
  display: none;
}

[data-details-panel] {
  overflow: hidden;
}

.modal-video._short .modal-video-body {
  max-width: 480px;
}

#toc_container:not(#root) {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  counter-reset: toc;
}
#toc_container:not(#root) .toc_title {
  display: none;
}
#toc_container:not(#root) .toc_list {
  display: flex;
  flex-direction: column;
  row-gap: 9px;
}
#toc_container:not(#root) .toc_list ul {
  margin: 0;
}
#toc_container:not(#root) .toc_list a {
  counter-increment: toc;
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  column-gap: 10px;
  color: inherit;
  font-family: var(--typography-txt-md-font-family);
  font-weight: var(--typography-txt-md-font-weight);
  font-size: var(--typography-txt-md-font-size);
  line-height: var(--typography-txt-md-line-height);
  --letter-spacing: var(--typography-txt-md-letter-spacing);
  text-decoration: none;
}
#toc_container:not(#root) .toc_list a::before {
  content: counter(toc, decimal-leading-zero);
  color: var(--color-secondary);
  font-family: var(--typography-title-md-en-font-family);
  font-weight: var(--typography-title-md-en-font-weight);
  font-size: var(--typography-title-md-en-font-size);
  line-height: var(--typography-title-md-en-line-height);
  --letter-spacing: var(--typography-title-md-en-letter-spacing);
}
#toc_container:not(#root) .toc_list li {
  position: relative;
}
#toc_container:not(#root) .toc_list li::before {
  position: absolute;
  top: 0.5lh;
  left: -14px;
  translate: 0 -40%;
  width: 6px;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  background-color: var(--color-secondary);
}
#toc_container:not(#root) .toc_list li:has(.is-active)::before {
  content: "";
}

div#toc_container {
  width: 100%;
}

div#toc_container ul li {
  font-size: 100%;
}

#toc_container li,
#toc_container ul {
  margin: 0;
  padding: 0;
}

#toc_container.no_bullets li,
#toc_container.no_bullets ul,
#toc_container.no_bullets ul li,
.toc_widget_list.no_bullets,
.toc_widget_list.no_bullets li {
  background: 0 0;
  list-style-type: none;
  list-style: none;
}

#toc_container.have_bullets li {
  padding-left: 12px;
}

#toc_container ul ul {
  margin-left: 1.5em;
}

#toc_container {
  background: #f9f9f9;
  border: 1px solid #aaa;
  padding: 10px;
  margin-bottom: 1em;
  width: auto;
  display: table;
  font-size: 95%;
}

#toc_container.toc_light_blue {
  background: #edf6ff;
}

#toc_container.toc_white {
  background: #fff;
}

#toc_container.toc_black {
  background: #000;
}

#toc_container.toc_transparent {
  background: none transparent;
}

#toc_container p.toc_title {
  text-align: center;
  font-weight: 700;
  margin: 0;
  padding: 0;
}

#toc_container.toc_black p.toc_title {
  color: #aaa;
}

#toc_container span.toc_toggle {
  font-weight: 400;
  font-size: 90%;
}

#toc_container p.toc_title + ul.toc_list {
  margin-top: 1em;
}

.toc_wrap_left {
  float: left;
  margin-right: 10px;
}

.toc_wrap_right {
  float: right;
  margin-left: 10px;
}

#toc_container a {
  text-decoration: none;
  text-shadow: none;
}

#toc_container a:hover {
  text-decoration: underline;
}

.toc_sitemap_posts_letter {
  font-size: 1.5em;
  font-style: italic;
}

html.noscroll {
  overflow: hidden;
}

/*全画面*/
.g-wrapper {
  isolation: isolate;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  background-color: var(--color-bg-base);
  overflow: clip;
}

.g-frame {
  position: relative;
}
.g-frame__border {
  position: sticky;
}
.g-frame__border._top {
  top: 0;
}
.g-frame__border._bottom {
  bottom: 0;
}
.g-frame__border > div {
  position: absolute;
  background: repeat var(--color-light) url(../img/cmn/frame.png) center center/324px auto;
}
@media (width <= 1020px) {
  .g-frame__border > div {
    background-size: 160px auto;
  }
}
.g-frame__border._block {
  z-index: calc(var(--header-z-index) - 100);
  height: var(--frame-size);
}
.g-frame__border._block > div {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.g-frame__border._inline {
  z-index: calc(var(--header-z-index) - 200);
  height: 0;
  width: var(--frame-size);
  bottom: 0;
}
.g-frame__border._inline > div {
  top: 0;
  width: 100svh;
  height: var(--frame-size);
}
.g-frame__border._left > div {
  right: 0;
  rotate: 90deg;
  transform-origin: right top;
}
.g-frame__border._right {
  margin-inline-start: auto;
}
.g-frame__border._right > div {
  left: 0;
  rotate: -90deg;
  transform-origin: left top;
}

/*ヘッダー*/
.g-header {
  position: fixed;
  z-index: var(--header-z-index);
  top: 0;
  left: 0;
  width: var(--vw100);
  pointer-events: none;
}
.g-header .inner {
  display: flex;
  justify-content: space-between;
}
.g-header .inner > * {
  pointer-events: auto;
}
.g-header .logo {
  border-bottom-right-radius: var(--radius);
  overflow: hidden;
}

.g-join {
  position: relative;
  isolation: isolate;
}
@media (width <= 768px) {
  .g-join .inner {
    padding-inline: var(--frame-size);
  }
}
.g-join .title {
  display: grid;
  margin-block-end: var(--space-block-xxs);
  font-family: var(--typography-title-lg-font-family);
  font-weight: var(--typography-title-lg-font-weight);
  font-size: var(--typography-title-lg-font-size);
  line-height: var(--typography-title-lg-line-height);
  --letter-spacing: var(--typography-title-lg-letter-spacing);
  text-align: center;
}
.g-join .title__body {
  grid-area: 1/1/2/2;
  position: relative;
  isolation: isolate;
  margin: 2px 7px 7px 2px;
  padding: calc(var(--space-block-xxs) + 4px) 10px;
  background-color: var(--color-light);
  border-radius: var(--radius);
  animation: bg-color 3s ease-in-out infinite;
}
@keyframes bg-color {
  0% {
    background-color: var(--color-light);
  }
  1% {
    background-color: var(--color-bg-warm);
  }
  50% {
    background-color: var(--color-bg-warm);
  }
  51% {
    background-color: var(--color-light);
  }
}
.g-join .title::before {
  grid-area: 1/1/2/2;
  content: "";
  border-radius: var(--radius);
  background-color: currentColor;
}
.g-join .title__bg svg {
  margin-inline: auto 21.7%;
}
@media (width <= 900px) {
  .g-join .title__bg svg {
    margin-inline: auto;
  }
}
.g-join .join {
  --q-join-distance: 10px;
  display: grid;
  text-decoration: none;
}
.g-join .join_wrapper {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px;
}
@media (width <= 1120px) {
  .g-join .join_wrapper {
    gap: 25px;
  }
}
@media (width <= 768px) {
  .g-join .join_wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
  }
}
.g-join .join__body {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-xxs);
}
.g-join .join__image {
  order: -10;
}
@media (width <= 768px) {
  .g-join .join {
    --q-join-distance: 5px;
  }
}
.g-join .join__body {
  grid-area: 1/1/2/2;
  margin-inline-end: var(--q-join-distance);
  margin-block-end: var(--q-join-distance);
  border: 2px solid var(--color-base);
  border-radius: var(--radius);
  padding: 20px;
  background-color: var(--color-light);
  transition-property: translate;
  transition-duration: var(--sec);
  translate: var(--q-join-translate, 0 0);
}
@media (width <= 768px) {
  .g-join .join__body {
    padding: 10px 10px 20px;
  }
}
.g-join .join::before {
  grid-area: 1/1/2/2;
  content: "";
  margin-block-start: var(--q-join-distance);
  margin-inline-start: var(--q-join-distance);
  border: 2px solid var(--color-base);
  border-radius: var(--radius);
  background-color: var(--color-primary);
}
.g-join .join:focus-visible {
  --q-join-translate: var(--q-join-distance) var(--q-join-distance);
  --g-join-image-scale: var(--zoom);
}
@media (hover: hover) and (pointer: fine) {
  .g-join .join:hover {
    --q-join-translate: var(--q-join-distance) var(--q-join-distance);
    --g-join-image-scale: var(--zoom);
  }
}
@media (width <= 768px) {
  .g-join .join {
    width: 175px;
  }
}
.g-join .join__image {
  position: relative;
  aspect-ratio: 250/160;
  border-radius: var(--radius);
  overflow: hidden;
}
.g-join .join__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition-property: scale;
  transition-duration: var(--sec);
  scale: var(--g-join-image-scale, 1);
}
.g-join .join__title {
  margin-block-end: var(--space-block-xxs-trim);
  font-family: var(--typography-title-md-font-family);
  font-weight: var(--typography-title-md-font-weight);
  font-size: var(--typography-title-md-font-size);
  line-height: var(--typography-title-md-line-height);
  --letter-spacing: var(--typography-title-md-letter-spacing);
  text-align: center;
}
@media (width <= 768px) {
  .g-join .join__desc {
    font-size: 0.75rem;
    line-height: 1.6666666667;
  }
}
.g-join .join__arrow {
  margin-block-start: var(--space-block-xxxs);
}

/*フッター*/
.g-footer {
  color: var(--color-light);
}
@media (width <= 768px) {
  .g-footer {
    padding-inline: var(--frame-size);
  }
}
.g-footer .navi {
  grid-area: navi;
}
.g-footer .illust {
  grid-area: illust;
  align-self: end;
}
.g-footer .body {
  grid-area: body;
}
.g-footer .inner {
  position: relative;
  display: grid;
  grid-template: "body navi" auto "body illust" auto/auto 1fr;
  align-items: start;
  gap: var(--space-block-md) 60px;
  padding-inline-start: 60px;
}
@media (width <= 1200px) {
  .g-footer .inner {
    grid-template: "navi navi" auto "body illust" auto ".    illust" var(--space-block-xs)/auto 1fr;
  }
}
@media (width <= 1120px) {
  .g-footer .inner {
    padding-inline-start: 0;
  }
}
@media (width <= 900px) {
  .g-footer .inner {
    padding-block-start: var(--space-block-md);
  }
}
@media (width <= 700px) {
  .g-footer .inner {
    grid-template: "navi" auto "body" auto "illust" auto/1fr;
  }
}
@media (width <= 500px) {
  .g-footer .inner {
    grid-template: "navi" auto "illust" auto "body" auto/1fr;
  }
}
.g-footer .body {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-xs);
  border-radius: var(--radius);
  padding: 30px 27px 25px;
  color: var(--color-base);
  text-align: center;
  background-color: var(--color-light);
}
@media (width <= 700px) {
  .g-footer .body {
    position: relative;
    z-index: 10;
    width: 300px;
    margin-block-end: -270px;
    padding-block-start: 25px;
    margin-inline-start: auto;
  }
}
@media (width <= 500px) {
  .g-footer .body {
    margin-block-start: -115px;
    margin-block-end: 0;
    margin-inline: auto;
  }
}
.g-footer .body a {
  transition-property: opacity;
  transition-duration: var(--sec);
}
.g-footer .body a:hover {
  opacity: 0.6;
}
.g-footer .sns__title {
  margin-block-end: var(--space-block-xxs);
}
@media (width <= 768px) {
  .g-footer .sns__title {
    font-size: 1rem;
    line-height: 1.75;
  }
}
.g-footer .sns__list {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 25px;
}
.g-footer .sub-navi {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: var(--space-block-xxs);
  color: var(--color-primary);
  font-family: var(--typography-txt-sm-font-family);
  font-weight: var(--typography-txt-sm-font-weight);
  font-size: var(--typography-txt-sm-font-size);
  line-height: var(--typography-txt-sm-line-height);
  --letter-spacing: var(--typography-txt-sm-letter-spacing);
}
.g-footer .sub-navi__link {
  display: inline-flex;
  column-gap: 5px;
}
.g-footer .sub-navi a {
  text-decoration: underline;
}
.g-footer .copyright {
  font-family: var(--typography-txt-xsm-font-family);
  font-weight: var(--typography-txt-xsm-font-weight);
  font-size: var(--typography-txt-xsm-font-size);
  line-height: var(--typography-txt-xsm-line-height);
  --letter-spacing: var(--typography-txt-xsm-letter-spacing);
}
.g-footer .navi__list {
  column-count: 3;
  row-gap: var(--space-block-sm);
  break-inside: avoid-column;
  padding-inline-end: 25px;
}
@media (width <= 768px) {
  .g-footer .navi__list {
    column-count: 2;
    padding-inline-end: 0;
  }
}
.g-footer .navi__link {
  break-inside: avoid;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  column-gap: 10px;
  text-decoration: none;
}
.g-footer .navi__link:not(:first-child) {
  margin-block-start: calc(var(--space-block-xxs) + 3px);
}
@media (width <= 600px) {
  .g-footer .navi__link:not(:first-child) {
    margin-block-start: calc(var(--space-block-xs) - 4px);
  }
}
.g-footer .navi__link:focus-visible {
  --m-border-anime: 100%;
}
@media (hover: hover) and (pointer: fine) {
  .g-footer .navi__link:hover {
    --m-border-anime: 100%;
  }
}
.g-footer .navi__title {
  width: fit-content;
}
@media (768px < width) {
  .g-footer .navi__title {
    text-decoration: none;
    background-image: linear-gradient(90deg, currentColor, currentColor);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: var(--m-border-anime, 0) 1px;
    transition: background var(--sec);
  }
  .g-footer .navi__title:focus-visible {
    --m-border-anime: 100%;
  }
}
@media (768px < width) and (hover: hover) and (pointer: fine) {
  .g-footer .navi__title:hover {
    --m-border-anime: 100%;
  }
}
.g-footer .navi__chevron {
  display: grid;
  place-content: center;
  width: 20px;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  color: var(--color-primary);
  background-color: var(--color-light);
}
.g-footer .illust {
  translate: -50px 0;
  display: grid;
}
.g-footer .illust picture {
  grid-area: 1/1/1/1;
}
.g-footer .illust img {
  max-width: none;
}
@media (width <= 700px) {
  .g-footer .illust {
    translate: calc(var(--frame-size) * -1) 0;
  }
}
.g-footer .pagetop {
  position: absolute;
  z-index: 10;
  top: 250px;
  right: 60px;
  display: block;
  padding-block-start: var(--space-block-xs);
}
@media (width <= 900px) {
  .g-footer .pagetop {
    top: -100px;
    right: 0;
  }
}
.g-footer .pagetop img {
  transition-property: translate;
  transition-duration: var(--sec);
}
.g-footer .pagetop:focus-visible img {
  translate: 0 calc(-1 * var(--space-block-xs));
}
@media (hover: hover) and (pointer: fine) {
  .g-footer .pagetop:hover img {
    translate: 0 calc(-1 * var(--space-block-xs));
  }
}

/*メイン*/
.g-main {
  position: relative;
  isolation: isolate;
  display: block;
  flex-grow: 1;
}
.g-main:after {
  content: " ";
  display: block;
  clear: both;
}

.g-menu {
  position: fixed;
  z-index: calc(var(--header-z-index) - 10);
  isolation: isolate;
  left: 0;
  top: 0;
  height: 100svh;
  width: 100vw;
  min-width: var(--min-device-width);
  color: var(--color-light);
  background-color: var(--color-primary);
  overflow-y: scroll;
  overscroll-behavior: contain;
  opacity: 0;
  visibility: hidden;
  scale: 0.8;
  transition-property: opacity, visibility, scale;
  transition-duration: var(--sec);
}
.g-menu::before {
  content: "";
  position: absolute;
  z-index: -10;
  min-height: calc(100svh + 1px);
  top: 0;
  left: 0;
  width: 1px;
}
.g-menu .inner {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.g-menu.is-open {
  opacity: 1;
  visibility: visible;
  scale: 1;
}
.g-menu .navi {
  grid-area: navi;
}
.g-menu .sub {
  grid-area: sub;
}
.g-menu .navi2 {
  grid-area: navi2;
  align-self: start;
}
.g-menu .join {
  grid-area: join;
}
.g-menu .line {
  grid-area: line;
}
.g-menu .inner2 {
  display: grid;
  grid-template: "sub  .   " var(--space-block-md) "sub  navi" auto "sub  navi2" auto/auto auto;
  justify-content: space-between;
  column-gap: 30px;
  padding-block-start: calc(var(--header-size) + var(--space-block-xs));
  padding-block-end: var(--space-block-section);
}
@media (width <= 900px) {
  .g-menu .inner2 {
    padding-block-start: calc(var(--header-size) + var(--space-block-sm));
    grid-template: "navi navi" auto ".    ." var(--space-block-sm) "join . " var(--space-block-xxs) "join line " auto "join navi2" auto/1fr auto;
  }
  .g-menu .inner2 .sub {
    display: contents;
  }
}
@media (width <= 768px) {
  .g-menu .inner2 {
    padding-block-end: calc(var(--space-block-xl-half) + 15px);
    padding-inline: var(--frame-size);
    grid-template: "navi navi" auto ".    ." var(--space-block-sm) "join join" auto ".    ." var(--space-block-sm) "line ." var(--space-block-xs) "line navi2" auto/auto 1fr;
  }
}
@media (width <= 700px) {
  .g-menu .inner2 {
    grid-template: "navi" auto "." var(--space-block-sm) "join" auto "." var(--space-block-xs) "line" auto "." var(--space-block-xs) "navi2" auto/1fr;
  }
}
.g-menu .navi {
  column-count: 2;
  column-gap: 20px;
  break-inside: avoid-column;
  font-family: var(--typography-title-md-font-family);
  font-weight: var(--typography-title-md-font-weight);
  font-size: var(--typography-title-md-font-size);
  line-height: var(--typography-title-md-line-height);
  --letter-spacing: var(--typography-title-md-letter-spacing);
}
@media (width <= 900px) {
  .g-menu .navi {
    column-count: 3;
  }
}
@media (width <= 900px) {
  .g-menu .navi {
    column-count: 2;
    column-gap: 0;
    margin-inline-end: -13px;
  }
}
@media (width <= 500px) {
  .g-menu .navi {
    font-family: var(--typography-txt-sm-font-family);
    font-weight: var(--typography-txt-sm-font-weight);
    font-size: var(--typography-txt-sm-font-size);
    line-height: var(--typography-txt-sm-line-height);
    --letter-spacing: var(--typography-txt-sm-letter-spacing);
    font-size: 0.875rem;
    line-height: 1.7142857143;
  }
}
.g-menu .navi__link {
  break-inside: avoid;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  column-gap: 10px;
  text-decoration: none;
}
.g-menu .navi__link:not(:first-child) {
  margin-block-start: calc(var(--space-block-sm-trim));
}
.g-menu .navi__link:focus-visible {
  --m-border-anime: 100%;
}
@media (hover: hover) and (pointer: fine) {
  .g-menu .navi__link:hover {
    --m-border-anime: 100%;
  }
}
.g-menu .navi__title {
  width: fit-content;
  text-decoration: none;
  background-image: linear-gradient(90deg, currentColor, currentColor);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: var(--m-border-anime, 0) 1px;
  transition: background var(--sec);
}
.g-menu .navi__title:focus-visible {
  --m-border-anime: 100%;
}
@media (hover: hover) and (pointer: fine) {
  .g-menu .navi__title:hover {
    --m-border-anime: 100%;
  }
}
.g-menu .navi__chevron {
  display: grid;
  place-content: center;
  width: 20px;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  color: var(--color-primary);
  background-color: var(--color-light);
}
.g-menu .sub {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-xs);
}
.g-menu .join {
  position: relative;
  isolation: isolate;
  padding: 0 26px 20px 20px;
  text-align: center;
}
.g-menu .join::before {
  content: "";
  position: absolute;
  z-index: -10;
  inset: 40px 0 0;
  border-radius: var(--radius);
  background-color: var(--color-light);
}
.g-menu .join__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: var(--space-block-xxs);
}
@media (width <= 768px) {
  .g-menu .join__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}
.g-menu .join .c-button {
  width: 255px;
  --c-button-distance-override: 5px;
}
.g-menu .join .c-button__body {
  min-height: 55px;
  padding-block: 0;
  font-family: var(--typography-title-md-font-family);
  font-weight: var(--typography-title-md-font-weight);
  font-size: var(--typography-title-md-font-size);
  line-height: var(--typography-title-md-line-height);
  --letter-spacing: var(--typography-title-md-letter-spacing);
}
@media (width <= 768px) {
  .g-menu .join .c-button__body {
    font-family: var(--typography-txt-md-font-family);
    font-weight: var(--typography-txt-md-font-weight);
    font-size: var(--typography-txt-md-font-size);
    line-height: var(--typography-txt-md-line-height);
    --letter-spacing: var(--typography-txt-md-letter-spacing);
  }
}
@media (width <= 768px) {
  .g-menu .join .c-button {
    width: 100%;
  }
  .g-menu .join .c-button:last-child {
    grid-column: span 2;
  }
}
@media (width <= 500px) {
  .g-menu .join .c-button .c-button__body {
    min-height: 40px;
  }
  .g-menu .join .c-button:last-child .c-button__body {
    min-height: 50px;
  }
}
.g-menu .line {
  display: grid;
  width: auto;
  --g-menu-line-distance: 10px;
}
@media (width <= 700px) {
  .g-menu .line {
    margin-inline: auto;
  }
}
.g-menu .line__body {
  grid-area: 1/1/2/2;
  transition-property: translate;
  transition-duration: var(--sec);
  translate: var(--g-menu-line-translate, 0 0);
}
.g-menu .line__bg {
  grid-area: 1/1/2/2;
  margin-block-start: var(--g-menu-line-distance);
  margin-inline-start: var(--g-menu-line-distance);
}
.g-menu .line:focus-visible {
  --g-menu-line-translate: var(--g-menu-line-distance) var(--g-menu-line-distance);
}
@media (hover: hover) and (pointer: fine) {
  .g-menu .line:hover {
    --g-menu-line-translate: var(--g-menu-line-distance) var(--g-menu-line-distance);
  }
}
.g-menu .navi2 {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  column-gap: 30px;
}
@media (width <= 900px) {
  .g-menu .navi2 {
    grid-template-columns: 1fr;
  }
}
.g-menu .sns {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 15px;
  border-radius: var(--radius);
  padding: 15px 24px 15px 36px;
  color: var(--color-base);
  font-family: var(--typography-txt-md-font-family);
  font-weight: var(--typography-txt-md-font-weight);
  font-size: var(--typography-txt-md-font-size);
  line-height: var(--typography-txt-md-line-height);
  --letter-spacing: var(--typography-txt-md-letter-spacing);
  background-color: var(--color-light);
}
@media (width <= 768px) and (700px < width) {
  .g-menu .sns {
    row-gap: var(--space-block-xxs);
    grid-template-columns: 1fr;
    text-align: center;
  }
}
@media (width <= 700px) {
  .g-menu .sns {
    width: fit-content;
    margin-inline: auto;
  }
}
.g-menu .sns__list {
  display: flex;
  align-items: center;
  column-gap: 25px;
}
@media (width <= 768px) and (700px < width) {
  .g-menu .sns__list {
    justify-content: center;
  }
}
.g-menu .sub-navi {
  font-family: var(--typography-txt-md-font-family);
  font-weight: var(--typography-txt-md-font-weight);
  font-size: var(--typography-txt-md-font-size);
  line-height: var(--typography-txt-md-line-height);
  --letter-spacing: var(--typography-txt-md-letter-spacing);
}
@media (width <= 700px) {
  .g-menu .sub-navi {
    margin-block-start: var(--space-block-xs);
    text-align: center;
  }
}
.g-menu .sub-navi a {
  text-decoration: underline;
}
@media (width <= 1120px) {
  .g-menu .sub-navi a {
    font-size: 1rem;
  }
}
.g-menu .sub-navi a:focus-visible {
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  .g-menu .sub-navi a:hover {
    text-decoration: none;
  }
}
.g-menu .copy {
  position: fixed;
  z-index: -10;
  bottom: -5px;
  right: 0;
}
@media (width <= 768px) {
  .g-menu .copy {
    right: var(--frame-size);
    width: var(--viewport-inner-width);
  }
}

.q-career-system .introduction__text {
  max-width: 960px;
  margin-inline: auto;
}
.q-career-system .introduction__content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-block-xs) 40px;
}
@media (width <= 1120px) {
  .q-career-system .introduction__content {
    column-gap: 20px;
  }
}
@media (width <= 900px) {
  .q-career-system .introduction__content {
    grid-template-columns: 1fr;
  }
}
.q-career-system .introduction__item {
  display: flex;
  flex-direction: column;
}
.q-career-system .introduction__category {
  width: fit-content;
  padding: var(--space-block-xxxs) 30px;
  border: 2px solid var(--color-base);
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
  border-block-end: 0;
  color: var(--color-light);
  font-family: var(--typography-title-md-font-family);
  font-weight: var(--typography-title-md-font-weight);
  font-size: var(--typography-title-md-font-size);
  line-height: var(--typography-title-md-line-height);
  --letter-spacing: var(--typography-title-md-letter-spacing);
  background-color: var(--color-primary);
}
.q-career-system .introduction__detail {
  flex-grow: 1;
  border: 2px solid;
  border-radius: var(--radius);
  border-top-left-radius: 0;
  padding: var(--space-block-sm) 27px;
  background-color: var(--color-light);
}
.q-career-system .introduction__title {
  margin-block-end: var(--space-block-xs-trim);
  color: var(--color-primary);
}
.q-career-system .introduction__text {
  margin-block-start: var(--space-block-sm);
}
.q-career-system .support_wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-block-md) 40px;
}
@media (width <= 1120px) {
  .q-career-system .support_wrapper {
    column-gap: 20px;
  }
}
@media (width <= 900px) {
  .q-career-system .support_wrapper {
    grid-template-columns: 1fr;
  }
}
.q-career-system .support__item {
  display: flex;
  flex-direction: column;
  border-radius: var(--radius);
  background-color: var(--color-light);
  overflow: hidden;
}
@media (width <= 900px) and (600px < width) {
  .q-career-system .support__item {
    display: grid;
    grid-template-columns: 40% 1fr;
  }
}
.q-career-system .support__image {
  order: -10;
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  padding-block-end: 63.5185185185%;
}
.q-career-system .support__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.q-career-system .support__detail {
  padding: var(--space-block-xs) 28px var(--space-block-sm);
}
@media (width <= 768px) {
  .q-career-system .support__detail {
    padding-inline: 20px;
    padding-block-end: var(--space-block-xs);
  }
}
.q-career-system .support__title {
  margin-block-end: var(--space-block-xs);
  color: var(--color-primary);
  font-family: var(--typography-title-md-font-family);
  font-weight: var(--typography-title-md-font-weight);
  font-size: var(--typography-title-md-font-size);
  line-height: var(--typography-title-md-line-height);
  --letter-spacing: var(--typography-title-md-letter-spacing);
  text-align: center;
}
.q-career-system .training_wrapper {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-xs-trim);
}
.q-career-system .training__item {
  border-radius: var(--radius);
  padding: var(--space-block-sm) 40px;
  background-color: var(--color-light);
}
@media (width <= 768px) {
  .q-career-system .training__item {
    padding-inline: 20px;
  }
}
.q-career-system .training__title {
  margin-block-end: var(--space-block-xs);
  color: var(--color-primary);
  font-family: var(--typography-title-md-font-family);
  font-weight: var(--typography-title-md-font-weight);
  font-size: var(--typography-title-md-font-size);
  line-height: var(--typography-title-md-line-height);
  --letter-spacing: var(--typography-title-md-letter-spacing);
}
@media (width <= 768px) {
  .q-career-system .training__title {
    text-align: center;
  }
}
.q-career-system .voice {
  position: relative;
  isolation: isolate;
  border-radius: var(--radius);
  padding: var(--space-block-md) 40px;
  background-color: var(--color-primary);
  overflow: hidden;
}
@media (width <= 600px) {
  .q-career-system .voice {
    padding-inline: 20px;
    padding-block-end: var(--space-block-xs);
  }
}
.q-career-system .voice__bg {
  position: absolute;
  z-index: -10;
  top: 0;
  max-width: 49%;
}
.q-career-system .voice__bg._top-left {
  left: 0;
}
.q-career-system .voice__bg._top-right {
  right: 0;
}
.q-career-system .voice__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-block-xs) 40px;
}
@media (width <= 1120px) {
  .q-career-system .voice__list {
    grid-template-columns: 1fr;
  }
}
.q-career-system .voice__heading {
  margin-block-end: var(--space-block-xs);
  color: var(--color-light);
  font-family: var(--typography-title-lg-font-family);
  font-weight: var(--typography-title-lg-font-weight);
  font-size: var(--typography-title-lg-font-size);
  line-height: var(--typography-title-lg-line-height);
  --letter-spacing: var(--typography-title-lg-letter-spacing);
  text-align: center;
}
.q-career-system .voice__item {
  position: relative;
  isolation: isolate;
  --q-paddingInline: 20px;
  --q-paddingBlock: var(--space-block-xs);
  display: grid;
  grid-template-columns: var(--q-paddingInline) 150px 1fr;
  grid-template-rows: var(--q-paddingBlock) 1fr var(--q-paddingBlock);
}
@media (width <= 600px) {
  .q-career-system .voice__item {
    grid-template-columns: var(--q-paddingInline) 1fr var(--q-paddingInline);
    grid-template-rows: var(--q-paddingBlock) auto 1fr var(--q-paddingBlock);
  }
}
.q-career-system .voice__item::before {
  content: "";
  z-index: -10;
  grid-area: 2/1/4/4;
  border-radius: var(--radius);
  background-color: var(--color-light);
}
@media (width <= 600px) {
  .q-career-system .voice__item::before {
    grid-area: 2/1/5/4;
  }
}
.q-career-system .voice__image {
  grid-area: 1/2/3/3;
  align-self: start;
  border-radius: var(--radius);
  overflow: hidden;
}
@media (width <= 600px) {
  .q-career-system .voice__image {
    max-width: 150px;
    margin-inline: auto;
  }
}
.q-career-system .voice__image img {
  width: 100%;
}
.q-career-system .voice__detail {
  grid-area: 2/3/3/4;
  padding-block-start: var(--q-paddingBlock);
  padding-inline: var(--q-paddingInline);
}
@media (width <= 600px) {
  .q-career-system .voice__detail {
    grid-area: 3/2/4/3;
    padding-block-start: var(--space-block-xxs);
    padding-inline: 0;
  }
}
.q-career-system .voice__info {
  margin-block-start: var(--space-block-xxs-trim);
  color: var(--color-primary);
  font-family: var(--typography-txt-xsm-font-family);
  font-weight: var(--typography-txt-xsm-font-weight);
  font-size: var(--typography-txt-xsm-font-size);
  line-height: var(--typography-txt-xsm-line-height);
  --letter-spacing: var(--typography-txt-xsm-letter-spacing);
  font-size: 0.625rem;
  line-height: 1.6;
}

.q-career-case .career {
  position: relative;
  isolation: isolate;
  --q-paddingInline: 30px;
  display: grid;
  grid-template-columns: var(--q-paddingInline) 190px 1fr var(--q-paddingInline);
  grid-template-rows: 20px auto 1fr;
}
.q-career-case .career_wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-block-md) 40px;
}
@media (width <= 1120px) {
  .q-career-case .career_wrapper {
    grid-template-columns: 1fr;
  }
}
@media (width <= 600px) {
  .q-career-case .career {
    --q-paddingInline: 20px;
    grid-template-columns: var(--q-paddingInline) 1fr var(--q-paddingInline);
    grid-template-rows: 20px auto auto 1fr;
  }
}
.q-career-case .career::before {
  content: "";
  z-index: -10;
  grid-area: 2/1/4/5;
  border-radius: var(--radius);
  background-color: var(--color-light);
}
@media (width <= 600px) {
  .q-career-case .career::before {
    grid-area: 2/1/5/4;
  }
}
.q-career-case .career__image {
  grid-area: 1/2/3/3;
  align-self: start;
  border-radius: var(--radius);
  overflow: hidden;
}
@media (width <= 600px) {
  .q-career-case .career__image {
    grid-area: 1/2/3/3;
    max-width: 190px;
    margin-inline: auto;
  }
}
.q-career-case .career__image img {
  width: 100%;
}
.q-career-case .career__profile {
  grid-area: 2/3/3/4;
  padding-block-start: var(--space-block-sm);
  padding-inline-start: 15px;
}
@media (width <= 600px) {
  .q-career-case .career__profile {
    grid-area: 3/2/4/3;
    padding-inline: 0;
    padding-block-start: var(--space-block-xs);
  }
}
.q-career-case .career__data {
  grid-area: 3/2/4/4;
  padding-block: var(--space-block-xs) var(--space-block-sm);
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 20px;
  row-gap: var(--space-block-xs);
}
@media (width <= 600px) {
  .q-career-case .career__data {
    grid-area: 4/2/5/3;
    grid-template-columns: 1fr;
  }
}
.q-career-case .career__data-item {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  padding-block-end: var(--space-block-xs);
  border-block-end: 1px solid var(--color-border);
}
@media (width <= 600px) {
  .q-career-case .career__data-item {
    grid-column: span 1;
  }
}
.q-career-case .career__data-title {
  align-self: start;
  border-radius: 4px;
  padding: calc(var(--space-block-xxxs) - 2px) 13px;
  color: var(--color-light);
  text-align: center;
  background-color: var(--color-primary);
}
@media (width <= 600px) {
  .q-career-case .career__data-title {
    width: fit-content;
    min-width: 60px;
    padding-inline: 5px;
    margin-block-end: var(--space-block-xxs);
    font-family: var(--typography-txt-sm-font-family);
    font-weight: var(--typography-txt-sm-font-weight);
    font-size: var(--typography-txt-sm-font-size);
    line-height: var(--typography-txt-sm-line-height);
    --letter-spacing: var(--typography-txt-sm-letter-spacing);
  }
}
.q-career-case .career__info {
  margin-block-end: var(--space-block-xxs-trim);
}
.q-career-case .career__name {
  margin-block-end: var(--space-block-xs);
  font-family: var(--typography-title-md-font-family);
  font-weight: var(--typography-title-md-font-weight);
  font-size: var(--typography-title-md-font-size);
  line-height: var(--typography-title-md-line-height);
  --letter-spacing: var(--typography-title-md-letter-spacing);
}
.q-career-case .career__desc {
  font-family: var(--typography-txt-xsm-font-family);
  font-weight: var(--typography-txt-xsm-font-weight);
  font-size: var(--typography-txt-xsm-font-size);
  line-height: var(--typography-txt-xsm-line-height);
  --letter-spacing: var(--typography-txt-xsm-letter-spacing);
}
.q-career-case .model {
  --l-media-content-width-override: 400px;
  --l-media-columnGap-override: 30px;
  --l-media-rowGap-override: var(--space-block-xs);
}

.q-csr-head .detail {
  grid-area: detail;
}
.q-csr-head .pic._1 {
  grid-area: pic1;
}
.q-csr-head .pic._2 {
  grid-area: pic2;
}
.q-csr-head .body {
  display: grid;
  column-gap: 20px;
  grid-template: "pic1 detail pic2" auto/auto 1fr auto;
}
@media (width <= 1120px) {
  .q-csr-head .body {
    grid-template-columns: 190px 1fr 190px;
  }
}
@media (width <= 900px) {
  .q-csr-head .body {
    grid-template: "detail detail" auto "pic1 pic2" auto/56.6666666667% 43.3333333333%;
    column-gap: 0;
    justify-content: space-between;
    row-gap: var(--space-block-xs);
  }
  .q-csr-head .body .pic._1 {
    margin-block-end: 80px;
    text-align: right;
  }
  .q-csr-head .body .pic._2 {
    align-self: end;
    text-align: left;
  }
}
@media (width <= 768px) {
  .q-csr-head .body {
    grid-template: "detail detail" auto "pic1 pic2" auto/67.2727272727% 32.7272727273%;
  }
  .q-csr-head .body .pic._1 {
    margin-block-end: 80px;
    text-align: right;
  }
  .q-csr-head .body .pic._2 {
    margin-inline-start: -36px;
    align-self: end;
    text-align: left;
  }
}
.q-csr-head .detail {
  font-family: var(--typography-txt-xmd-font-family);
  font-weight: var(--typography-txt-xmd-font-weight);
  font-size: var(--typography-txt-xmd-font-size);
  line-height: var(--typography-txt-xmd-line-height);
  --letter-spacing: var(--typography-txt-xmd-letter-spacing);
  text-align: center;
  max-width: 550px;
  margin-inline: auto;
}
@media (width <= 600px) {
  .q-csr-head .detail {
    text-align: left;
  }
}
.q-csr-head .pic {
  text-align: center;
}

.q-csr-sports-art .sports-art {
  display: flex;
  flex-direction: column;
  border-radius: var(--radius);
  background-color: var(--color-light);
  overflow: hidden;
}
.q-csr-sports-art .sports-art_wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-block-md) 40px;
}
@media (width <= 1120px) {
  .q-csr-sports-art .sports-art_wrapper {
    column-gap: 20px;
  }
}
@media (width <= 900px) {
  .q-csr-sports-art .sports-art_wrapper {
    grid-template-columns: 1fr;
  }
}
@media (width <= 900px) and (600px < width) {
  .q-csr-sports-art .sports-art {
    display: grid;
    grid-template-columns: 40% 1fr;
  }
}
.q-csr-sports-art .sports-art__image {
  order: -10;
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  padding-block-end: 63.5838150289%;
}
.q-csr-sports-art .sports-art__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.q-csr-sports-art .sports-art__detail {
  padding: var(--space-block-xs) 20px;
}
.q-csr-sports-art .sports-art__title {
  margin-block-end: var(--space-block-xs);
  color: var(--color-primary);
  font-family: var(--typography-title-md-font-family);
  font-weight: var(--typography-title-md-font-weight);
  font-size: var(--typography-title-md-font-size);
  line-height: var(--typography-title-md-line-height);
  --letter-spacing: var(--typography-title-md-letter-spacing);
  text-align: center;
}

.q-csr-case .case {
  --q-csr-case-padding-inline: 40px;
  --q-csr-case-padding-block: var(--space-block-md);
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-rows: var(--q-csr-case-padding-block) var(--q-csr-case-padding-block) 1fr var(--q-csr-case-padding-block);
}
@media (width <= 1120px) {
  .q-csr-case .case {
    --q-csr-case-padding-inline: 20px;
  }
}
@media (width <= 768px) {
  .q-csr-case .case {
    --q-csr-case-padding-inline: 15px;
    --q-csr-case-padding-block: var(--space-block-xs);
    margin-inline: calc(var(--space-inline-inner-sm2) * -1);
  }
}
@media (width <= 900px) {
  .q-csr-case .case {
    grid-template-rows: var(--q-csr-case-padding-block) 237px var(--q-csr-case-padding-block) 1fr var(--q-csr-case-padding-block);
  }
}
@media (width <= 768px) {
  .q-csr-case .case {
    grid-template-rows: 40px 237px var(--q-csr-case-padding-block) 1fr 40px;
  }
}
.q-csr-case .case::before {
  grid-area: 2/calc(2 * var(--q-layout))/6/calc(4 * var(--q-layout));
}
.q-csr-case .case .case__detail {
  grid-area: 3/calc(3 * var(--q-layout))/4/calc(4 * var(--q-layout));
}
.q-csr-case .case .case__image {
  grid-area: 1/calc(1 * var(--q-layout))/4/calc(3 * var(--q-layout));
}
@media (width <= 900px) {
  .q-csr-case .case::before {
    grid-area: 2/calc(2 * var(--q-layout))/6/calc(5 * var(--q-layout));
  }
  .q-csr-case .case .case__detail {
    grid-area: 4/calc(2 * var(--q-layout))/5/calc(5 * var(--q-layout));
  }
  .q-csr-case .case .case__image {
    grid-area: 1/calc(1 * var(--q-layout))/3/calc(4 * var(--q-layout));
  }
}
.q-csr-case .case:where(:not(._reverse)) {
  --q-layout: 1;
  grid-template-columns: var(--q-csr-case-padding-inline) 42.8571428571% 1fr;
}
@media (width <= 900px) {
  .q-csr-case .case:where(:not(._reverse)) {
    grid-template-columns: var(--q-csr-case-padding-inline) 1fr var(--q-csr-case-padding-inline) var(--q-csr-case-padding-inline);
  }
}
.q-csr-case .case:where(._reverse) {
  --q-layout: -1;
  grid-template-columns: 1fr 42.8571428571% var(--q-csr-case-padding-inline);
}
@media (width <= 900px) {
  .q-csr-case .case:where(._reverse) {
    grid-template-columns: var(--q-csr-case-padding-inline) var(--q-csr-case-padding-inline) 1fr var(--q-csr-case-padding-inline);
  }
}
@media (width <= 768px) {
  .q-csr-case .case {
    grid-template-columns: var(--q-csr-case-padding-inline) 1fr var(--q-csr-case-padding-inline);
  }
  .q-csr-case .case::before {
    grid-area: 2/1/6/4;
  }
  .q-csr-case .case .case__detail {
    grid-area: 4/1/5/4;
  }
  .q-csr-case .case .case__image {
    grid-area: 1/2/3/3;
  }
}
.q-csr-case .case::before {
  content: "";
  position: relative;
  z-index: -10;
  border-radius: var(--radius);
  background-color: var(--color-light);
}
@media (width <= 768px) {
  .q-csr-case .case::before {
    border-radius: 0;
  }
}
.q-csr-case .case__heading {
  margin-block-end: var(--space-block-xs);
  color: var(--color-primary);
  font-family: var(--typography-title-md-font-family);
  font-weight: var(--typography-title-md-font-weight);
  font-size: var(--typography-title-md-font-size);
  line-height: var(--typography-title-md-line-height);
  --letter-spacing: var(--typography-title-md-letter-spacing);
}
.q-csr-case .case__text:not(:last-child) {
  margin-block-end: var(--space-block-xs);
}
.q-csr-case .case__image {
  position: relative;
  align-self: start;
  border-radius: var(--radius);
  overflow: hidden;
}
@media (width <= 900px) {
  .q-csr-case .case__image {
    align-self: revert;
  }
}
.q-csr-case .case__image img {
  width: 100%;
}
@media (width <= 900px) {
  .q-csr-case .case__image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.q-csr-case .case__detail {
  padding-inline: var(--q-csr-case-padding-inline);
}

.q-csr-fullness {
  position: relative;
  isolation: isolate;
  color: var(--color-light);
}
.q-csr-fullness::before {
  position: absolute;
  z-index: -10;
  content: "";
  inset: 0;
  background-color: rgba(var(--color-tertiary-rgb), 0.65);
  backdrop-filter: blur(5px);
}
.q-csr-fullness .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -20;
}
.q-csr-fullness .detail {
  grid-area: detail;
}
.q-csr-fullness .pic._1 {
  grid-area: pic1;
}
.q-csr-fullness .pic._2 {
  grid-area: pic2;
}
.q-csr-fullness .body {
  display: grid;
  column-gap: 20px;
  grid-template: "pic1 detail pic2" auto/auto 1fr auto;
}
@media (width <= 1120px) {
  .q-csr-fullness .body {
    grid-template-columns: 190px 1fr 190px;
  }
}
@media (width <= 900px) {
  .q-csr-fullness .body {
    grid-template: "detail detail" auto "pic1 pic2" auto/56.6666666667% 43.3333333333%;
    column-gap: 0;
    justify-content: space-between;
    row-gap: var(--space-block-xs);
  }
  .q-csr-fullness .body .pic._1 {
    margin-block-end: 22px;
    text-align: right;
  }
  .q-csr-fullness .body .pic._2 {
    align-self: end;
    text-align: left;
  }
}
.q-csr-fullness .detail {
  text-align: center;
}
@media (width <= 600px) {
  .q-csr-fullness .detail {
    text-align: left;
  }
}
.q-csr-fullness .pic {
  text-align: center;
}
.q-csr-fullness .banner {
  --q-banner-distance: 10px;
  display: grid;
  text-decoration: none;
}
.q-csr-fullness .banner_wrapper {
  color: var(--color-base);
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media (width <= 700px) {
  .q-csr-fullness .banner_wrapper {
    max-width: 400px;
    margin-inline: auto;
  }
}
@media (width <= 1120px) {
  .q-csr-fullness .banner_wrapper {
    column-gap: 20px;
  }
}
@media (width <= 700px) {
  .q-csr-fullness .banner_wrapper {
    grid-template-columns: 1fr;
    row-gap: var(--space-block-xs);
  }
}
.q-csr-fullness .banner__body {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-xs);
}
.q-csr-fullness .banner__image {
  order: -10;
}
.q-csr-fullness .banner__body {
  grid-area: 1/1/2/2;
  margin-inline-end: var(--q-banner-distance);
  margin-block-end: var(--q-banner-distance);
  border: 2px solid var(--color-base);
  border-radius: var(--radius);
  padding: 30px 30px 20px;
  background-color: var(--color-light);
  transition-property: translate;
  transition-duration: var(--sec);
  translate: var(--q-banner-translate, 0 0);
}
@media (width <= 900px) {
  .q-csr-fullness .banner__body {
    padding: 20px;
  }
}
.q-csr-fullness .banner::before {
  grid-area: 1/1/2/2;
  content: "";
  margin-block-start: var(--q-banner-distance);
  margin-inline-start: var(--q-banner-distance);
  border: 2px solid var(--color-base);
  border-radius: var(--radius);
  background-color: var(--color-primary);
}
.q-csr-fullness .banner:focus-visible {
  --q-banner-translate: var(--q-banner-distance) var(--q-banner-distance);
}
@media (hover: hover) and (pointer: fine) {
  .q-csr-fullness .banner:hover {
    --q-banner-translate: var(--q-banner-distance) var(--q-banner-distance);
  }
}
.q-csr-fullness .banner__head {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 12px;
  align-items: baseline;
}
.q-csr-fullness .banner__head::before {
  content: "";
  width: 20px;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  background-color: var(--color-secondary);
}
.q-csr-fullness .banner__title {
  font-family: var(--typography-title-lg-font-family);
  font-weight: var(--typography-title-lg-font-weight);
  font-size: var(--typography-title-lg-font-size);
  line-height: var(--typography-title-lg-line-height);
  --letter-spacing: var(--typography-title-lg-letter-spacing);
}
.q-csr-fullness .banner__image {
  border-radius: var(--radius);
  overflow: hidden;
}
.q-csr-fullness .banner__image img {
  width: 100%;
}

.q-culture-values .value {
  display: grid;
  grid-template-columns: 120px 1fr;
  align-items: start;
  column-gap: 20px;
  padding: 20px;
  border-radius: var(--radius);
  background-color: var(--color-light);
}
.q-culture-values .value_wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-block-md) 40px;
}
@media (width <= 1120px) {
  .q-culture-values .value_wrapper {
    column-gap: 20px;
  }
}
@media (width <= 1020px) {
  .q-culture-values .value_wrapper {
    grid-template-columns: 1fr;
    row-gap: var(--space-block-sm);
  }
}
@media (width <= 600px) {
  .q-culture-values .value {
    grid-template-columns: 1fr;
  }
}
.q-culture-values .value__image {
  grid-area: 1/1/2/2;
  max-width: 120px;
  margin-inline: auto;
  border-radius: var(--radius);
  overflow: hidden;
}
@media (width <= 600px) {
  .q-culture-values .value__image {
    margin-block-end: var(--space-block-xs);
  }
}
.q-culture-values .value__image img {
  width: 100%;
}
.q-culture-values .value__title {
  margin-block-end: var(--space-block-xxxs);
  color: var(--color-primary);
  font-family: var(--typography-title-md-font-family);
  font-weight: var(--typography-title-md-font-weight);
  font-size: var(--typography-title-md-font-size);
  line-height: var(--typography-title-md-line-height);
  --letter-spacing: var(--typography-title-md-letter-spacing);
}

.q-culture-data .data {
  border-radius: var(--radius);
  background-color: var(--color-light);
  overflow: hidden;
}
.q-culture-data .data_wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (width <= 1120px) {
  .q-culture-data .data_wrapper {
    gap: 10px;
  }
}
@media (width <= 900px) {
  .q-culture-data .data_wrapper {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}
@media (width <= 768px) {
  .q-culture-data .data_wrapper {
    gap: 10px;
  }
}
@media (width <= 600px) {
  .q-culture-data .data_wrapper {
    grid-template-columns: 1fr;
    max-width: 340px;
    margin-inline: auto;
  }
}
.q-culture-data .data img {
  width: 100%;
}
.q-culture-data .data._span2 {
  grid-column: span 2;
}
@media (width <= 900px) {
  .q-culture-data .data._span2 {
    grid-area: 6/1/7/3;
  }
}
@media (width <= 600px) {
  .q-culture-data .data._span2 {
    grid-column: revert;
    grid-area: revert;
  }
}

.q-culture-benefit .benefit {
  display: flex;
  flex-direction: column;
  border-radius: var(--radius);
  background-color: var(--color-light);
  overflow: hidden;
}
.q-culture-benefit .benefit_wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-block-md) 40px;
}
@media (width <= 1120px) {
  .q-culture-benefit .benefit_wrapper {
    column-gap: 20px;
  }
}
@media (width <= 900px) {
  .q-culture-benefit .benefit_wrapper {
    grid-template-columns: 1fr;
  }
}
@media (width <= 900px) and (600px < width) {
  .q-culture-benefit .benefit {
    display: grid;
    grid-template-columns: 40% 1fr;
  }
}
.q-culture-benefit .benefit__image {
  order: -10;
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  padding-block-end: 63.5185185185%;
}
.q-culture-benefit .benefit__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.q-culture-benefit .benefit__detail {
  padding: var(--space-block-xs) 28px var(--space-block-sm);
}
@media (width <= 768px) {
  .q-culture-benefit .benefit__detail {
    padding-inline: 20px;
    padding-block-end: var(--space-block-xs);
  }
}
.q-culture-benefit .benefit__title {
  margin-block-end: var(--space-block-xs);
  color: var(--color-primary);
  font-family: var(--typography-title-md-font-family);
  font-weight: var(--typography-title-md-font-weight);
  font-size: var(--typography-title-md-font-size);
  line-height: var(--typography-title-md-line-height);
  --letter-spacing: var(--typography-title-md-letter-spacing);
  text-align: center;
}
.q-culture-benefit .parental {
  display: grid;
  grid-template-columns: 120px 1fr;
  column-gap: 20px;
  padding: 20px 40px 20px 20px;
  align-items: start;
  border-radius: var(--radius);
  background-color: var(--color-light);
}
.q-culture-benefit .parental_wrapper {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-md);
}
@media (width <= 768px) {
  .q-culture-benefit .parental {
    grid-template-columns: 80px 1fr;
    column-gap: 15px;
  }
}
@media (width <= 600px) {
  .q-culture-benefit .parental {
    grid-template-columns: 1fr;
    padding-inline: 20px;
  }
}
.q-culture-benefit .parental__image {
  grid-area: 1/1/2/2;
  display: grid;
  place-content: center;
  aspect-ratio: 1/1;
  clip-path: circle(50% at center);
  max-width: 120px;
  margin-inline: auto;
}
.q-culture-benefit .parental__image._1 {
  background-color: #F59296;
}
.q-culture-benefit .parental__image._2 {
  background-color: #F98650;
}
.q-culture-benefit .parental__image._3 {
  background-color: #77D3AC;
}
.q-culture-benefit .parental__image._4 {
  background-color: #7DC1E5;
}
@media (width <= 600px) {
  .q-culture-benefit .parental__image {
    margin-block-end: var(--space-block-xs);
  }
}
.q-culture-benefit .parental__title {
  margin-block-end: var(--space-block-xs);
  font-family: var(--typography-title-md-font-family);
  font-weight: var(--typography-title-md-font-weight);
  font-size: var(--typography-title-md-font-size);
  line-height: var(--typography-title-md-line-height);
  --letter-spacing: var(--typography-title-md-letter-spacing);
  color: var(--color-primary);
}
@media (width <= 600px) {
  .q-culture-benefit .parental__title {
    text-align: center;
  }
}
.q-culture-benefit .other {
  display: grid;
  grid-template-columns: repeat(3, auto);
  column-gap: 100px;
  row-gap: var(--space-block-xs-trim);
  justify-content: center;
  padding: var(--space-block-sm) 30px;
  background-color: var(--color-light);
}
@media (width <= 1120px) {
  .q-culture-benefit .other {
    column-gap: 50px;
  }
}
@media (width <= 700px) {
  .q-culture-benefit .other {
    column-gap: 20px;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (width <= 600px) {
  .q-culture-benefit .other {
    grid-template-columns: 1fr;
  }
}
.q-culture-benefit .other__item {
  position: relative;
  padding-inline-start: 1.2em;
}
.q-culture-benefit .other__item::before {
  content: "";
  position: absolute;
  top: 0.5lh;
  left: 0;
  translate: 0 -50%;
  width: 11px;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  background-color: currentColor;
}

.q-culture-photo .slide {
  display: flex;
  flex-direction: column;
  max-width: 720px;
  margin-inline: auto;
  padding: 20px;
  border: 2px solid;
  border-radius: var(--radius);
  background-color: var(--color-light);
}
.q-culture-photo .slide_container {
  position: relative;
}
@media (width <= 900px) {
  .q-culture-photo .slide {
    max-width: calc(var(--vw100) - 80px);
  }
}
.q-culture-photo .slide__image {
  order: -10;
  position: relative;
  margin-block-end: var(--space-block-xs);
  border-radius: var(--radius);
  overflow: hidden;
}
.q-culture-photo .slide__image img {
  width: 100%;
}
.q-culture-photo .slide__title {
  margin-block-end: var(--space-block-xs-trim);
  color: var(--color-primary);
  font-family: var(--typography-title-md-font-family);
  font-weight: var(--typography-title-md-font-weight);
  font-size: var(--typography-title-md-font-size);
  line-height: var(--typography-title-md-line-height);
  --letter-spacing: var(--typography-title-md-letter-spacing);
  text-align: center;
}
.q-culture-photo .button {
  --q-button-size: 60px;
  --q-button-distance: 410px;
  position: absolute;
  z-index: 1000;
  top: calc(50% - var(--q-button-size) / 2);
  left: calc(50% - var(--q-button-size) / 2);
  display: grid;
  place-items: center;
  width: var(--q-button-size);
  aspect-ratio: 1/1;
  border: 2px solid;
  border-radius: 9999px;
  background-color: var(--color-light);
}
@media (width <= 768px) {
  .q-culture-photo .button {
    --q-button-size: 50px;
  }
}
.q-culture-photo .button._prev {
  scale: -1 1;
  translate: calc(-1 * var(--q-button-distance)) 0;
}
@media (width <= 1120px) {
  .q-culture-photo .button._prev {
    left: auto;
    right: 100%;
    translate: calc(100% + var(--frame-size) + 5px) 0;
  }
}
.q-culture-photo .button._next {
  translate: var(--q-button-distance) 0;
}
@media (width <= 1120px) {
  .q-culture-photo .button._next {
    left: 100%;
    translate: calc(-100% - var(--frame-size) - 5px) 0;
  }
}

.p-thanks {
  --c-text-gap-override: var(--space-block-xs);
  border-radius: var(--radius);
  padding: var(--space-block-lg) 50px;
  background-color: var(--color-light);
}
@media (width <= 768px) {
  .p-thanks {
    border-radius: 0;
    padding-inline: var(--space-inline-sm2);
  }
}
.p-thanks__button {
  display: inline-grid;
  place-content: center;
  max-width: 100%;
  width: 350px;
  min-height: 70px;
  border: 2px solid var(--color-primary);
  border-radius: 9999px;
  color: var(--color-light);
  font-family: var(--typography-txt-xmd-font-family);
  font-weight: var(--typography-txt-xmd-font-weight);
  font-size: var(--typography-txt-xmd-font-size);
  line-height: var(--typography-txt-xmd-line-height);
  --letter-spacing: var(--typography-txt-xmd-letter-spacing);
  text-decoration: none;
  background-color: var(--color-primary);
  appearance: none;
  cursor: pointer;
}
.p-thanks__button_wrapper {
  margin-block-start: var(--space-block-md);
  text-align: center;
}
@media (width <= 900px) {
  .p-thanks__button {
    width: 300px;
    min-height: 60px;
  }
}

.q-event-detail-copy {
  position: relative;
}

.q-event-detail .head {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-xs);
  margin-block-end: var(--space-block-md);
}
.q-event-detail .heading {
  font-family: var(--typography-title-xlg-font-family);
  font-weight: var(--typography-title-xlg-font-weight);
  font-size: var(--typography-title-xlg-font-size);
  line-height: var(--typography-title-xlg-line-height);
  --letter-spacing: var(--typography-title-xlg-letter-spacing);
  line-height: 1.35;
}
.q-event-detail .info {
  order: -10;
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 20px;
  align-items: baseline;
}
.q-event-detail .main {
  position: relative;
  isolation: isolate;
}
.q-event-detail .main::before {
  content: "";
  position: absolute;
  z-index: -10;
  inset: 127px 0 0;
  background-repeat: repeat;
  background-position: center 1px;
  background-image: url(../img/cmn/bg_tile.png);
  background-size: 30px;
}
.q-event-detail .body {
  position: relative;
  margin-block-end: var(--space-block-section);
  border-radius: var(--radius);
  padding: 80px;
  background-color: var(--color-light);
}
@media (width <= 1120px) {
  .q-event-detail .body {
    padding-inline: 40px;
  }
}
@media (width <= 768px) {
  .q-event-detail .body {
    margin-inline: calc(var(--space-inline-sm2) * -1);
    padding-inline: var(--space-inline-sm2);
  }
}
.q-event-detail .body__bg {
  position: absolute;
  top: -20px;
  left: -44px;
}
@media (width <= 768px) {
  .q-event-detail .body__bg {
    display: none;
  }
}
.q-event-detail .eyecatch {
  max-width: 740px;
  margin-block-end: var(--space-block-md);
  margin-inline: auto;
  border-radius: var(--radius);
  overflow: hidden;
}
.q-event-detail .eyecatch img {
  width: 100%;
}

@media (width <= 1020px) {
  .q-interview-detail-copy {
    position: relative;
    height: 150px;
  }
}
@media (width <= 768px) {
  .q-interview-detail-copy {
    height: 74px;
    text-align: center;
  }
}
.q-interview-detail-copy .c-copy {
  padding-inline: var(--frame-size);
  text-align: right;
}
@media (width <= 768px) {
  .q-interview-detail-copy .c-copy {
    text-align: center;
  }
}

.q-interview-detail {
  position: relative;
  z-index: 100;
}
.q-interview-detail::before {
  content: "";
  position: absolute;
  z-index: -10;
  inset: 200px 0 0;
  background: repeat url(../img/cmn/bg_tile.png) center 2px/30px;
}
.q-interview-detail .mv {
  position: relative;
}
.q-interview-detail .mv__inner {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 1fr 45.5357142857%;
  color: var(--color-light);
}
@media (width <= 1020px) {
  .q-interview-detail .mv__inner {
    grid-template-columns: 1fr;
    margin-inline: -6px;
    padding-inline: 20px;
  }
}
.q-interview-detail .mv__inner::before {
  content: "";
  position: absolute;
  z-index: -10;
  inset: 45px -10000px 0 0;
  border-radius: var(--radius-lg);
  background-color: var(--color-primary);
}
.q-interview-detail .mv__detail {
  padding: 120px 14px 40px 50px;
}
@media (width <= 1120px) {
  .q-interview-detail .mv__detail {
    padding-inline-start: 25px;
  }
}
@media (width <= 1020px) {
  .q-interview-detail .mv__detail {
    margin-inline-end: -20px;
    padding: 20px 0 40px;
  }
}
.q-interview-detail .mv__detail .c-heading {
  margin-block-end: var(--space-block-lg-trim);
}
@media (width <= 1020px) {
  .q-interview-detail .mv__detail .c-heading {
    margin-block-end: var(--space-block-xs);
  }
}
.q-interview-detail .mv__detail .c-heading__title {
  line-height: 1.35;
}
@media (width <= 1020px) {
  .q-interview-detail .mv__detail .c-heading__title {
    line-height: 1.25;
  }
}
.q-interview-detail .mv__detail .c-heading__sub {
  color: var(--color-primary);
  font-size: 1.125rem;
  background-color: var(--color-light);
}
.q-interview-detail .mv__image {
  position: relative;
}
@media (width <= 1020px) {
  .q-interview-detail .mv__image {
    grid-area: 1/1/2/2;
  }
}
.q-interview-detail .mv__pic {
  position: relative;
  height: 100%;
  border-top-left-radius: var(--radius-lg);
  border-top-right-radius: var(--radius-lg);
  overflow: hidden;
}
@media (width <= 1020px) {
  .q-interview-detail .mv__pic {
    width: 100%;
    height: 480px;
    margin-inline: auto;
  }
}
@media (width <= 768px) {
  .q-interview-detail .mv__pic {
    height: 346px;
  }
}
.q-interview-detail .mv__pic img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
}
.q-interview-detail .mv__banner {
  position: absolute;
  bottom: 46px;
  right: 38px;
  width: fit-content;
  display: grid;
  place-content: center;
  color: var(--color-light);
  font-family: var(--typography-txt-xmd-font-family);
  font-weight: var(--typography-txt-xmd-font-weight);
  font-size: var(--typography-txt-xmd-font-size);
  line-height: var(--typography-txt-xmd-line-height);
  --letter-spacing: var(--typography-txt-xmd-letter-spacing);
  text-align: center;
  text-decoration: none;
}
@media (width <= 1020px) {
  .q-interview-detail .mv__banner {
    bottom: -45px;
    right: -20px;
  }
}
@media (width <= 768px) {
  .q-interview-detail .mv__banner {
    font-size: 0.625rem;
    line-height: 1.6;
  }
}
.q-interview-detail .mv__banner > div {
  grid-area: 1/1/2/2;
  display: grid;
  place-content: center;
}
.q-interview-detail .prof {
  --y: 15px;
  position: relative;
  isolation: isolate;
  max-width: 513px;
  padding: 20px 29px 20px;
  font-family: var(--typography-txt-xsm-font-family);
  font-weight: var(--typography-txt-xsm-font-weight);
  font-size: var(--typography-txt-xsm-font-size);
  line-height: var(--typography-txt-xsm-line-height);
  --letter-spacing: var(--typography-txt-xsm-letter-spacing);
}
@media (width <= 1020px) {
  .q-interview-detail .prof {
    padding: 7px 27px 5px;
  }
}
.q-interview-detail .prof::before, .q-interview-detail .prof::after {
  content: "";
  position: absolute;
  z-index: -10;
  inset: 0;
  border: 2px solid;
  border-radius: var(--radius);
}
.q-interview-detail .prof::before {
  clip-path: polygon(0 0, var(--y) 0, var(--y) 100%, 0 100%);
}
.q-interview-detail .prof::after {
  clip-path: polygon(100% 0, 100% 100%, calc(100% - var(--y)) 100%, calc(100% - var(--y)) 0);
}
.q-interview-detail .prof__name {
  margin-block-end: var(--space-block-xs);
  font-family: var(--typography-title-md-font-family);
  font-weight: var(--typography-title-md-font-weight);
  font-size: var(--typography-title-md-font-size);
  line-height: var(--typography-title-md-line-height);
  --letter-spacing: var(--typography-title-md-letter-spacing);
}
.q-interview-detail .prof__info {
  margin-block-end: var(--space-block-xxs);
}
@media (width <= 1020px) {
  .q-interview-detail .p-side {
    display: none;
  }
}
.q-interview-detail .p-side__item {
  padding: 10px 10px 17px 32px;
}
.q-interview-detail .body {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-lg);
  counter-reset: interview;
}
.q-interview-detail .content {
  --q-space-inline: 40px;
  position: relative;
  isolation: isolate;
  min-height: 400px;
  padding: 0 var(--q-space-inline) var(--space-block-md);
  border-radius: var(--radius);
  background-color: var(--color-light);
  background-color: var(--color-light);
}
@media (width <= 1020px) {
  .q-interview-detail .content {
    --q-space-inline: 30px;
    padding-block-start: var(--space-block-xl-half-trim);
  }
}
.q-interview-detail .content::before {
  content: "";
  position: absolute;
  z-index: -10;
  bottom: -20px;
  left: -20px;
  width: 74px;
  aspect-ratio: 74/96;
  background-image: url(../img/interview__detail/content_bg.svg);
  background-size: 100% 100%;
}
.q-interview-detail .heading {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  column-gap: 20px;
  counter-increment: interview;
  margin-inline: calc(var(--q-space-inline) * -1);
  border-top-left-radius: var(--radius);
  padding-inline: var(--q-space-inline);
  padding-block: var(--space-block-md);
  font-family: var(--typography-title-lg-font-family);
  font-weight: var(--typography-title-lg-font-weight);
  font-size: var(--typography-title-lg-font-size);
  line-height: var(--typography-title-lg-line-height);
  --letter-spacing: var(--typography-title-lg-letter-spacing);
  overflow: hidden;
}
@media (width <= 1020px) {
  .q-interview-detail .heading {
    margin-block-end: var(--space-block-xs);
    margin-inline: 0;
    padding-inline: 20px 0;
  }
}
.q-interview-detail .heading::before {
  content: counter(interview, decimal-leading-zero);
  color: var(--color-secondary);
  font-family: var(--typography-title-md-en-font-family);
  font-weight: var(--typography-title-md-en-font-weight);
  font-size: var(--typography-title-md-en-font-size);
  line-height: var(--typography-title-md-en-line-height);
  --letter-spacing: var(--typography-title-md-en-letter-spacing);
  font-size: 1.25rem;
  translate: 0 -20%;
}
.q-interview-detail .heading::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 8px;
  background-color: var(--color-secondary);
}
.q-interview-detail .copy {
  margin-block-end: var(--space-block-xxs);
  font-family: var(--typography-txt-xmd-font-family);
  font-weight: var(--typography-txt-xmd-font-weight);
  font-size: var(--typography-txt-xmd-font-size);
  line-height: var(--typography-txt-xmd-line-height);
  --letter-spacing: var(--typography-txt-xmd-letter-spacing);
}
.q-interview-detail .interview {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-md);
}
.q-interview-detail .interview__title {
  position: relative;
  margin-block-end: var(--space-block-xs-trim);
  padding-inline-start: 30px;
  color: var(--color-primary);
}
.q-interview-detail .interview__title::before {
  content: "";
  position: absolute;
  top: 0.5lh;
  left: 0;
  translate: 0 -20%;
  width: 20px;
  height: 3px;
  border-radius: 9999px;
  background-color: var(--color-primary);
}
.q-interview-detail .interview__image {
  border-radius: var(--radius);
  overflow: hidden;
}
.q-interview-detail .interview__image img {
  width: 100%;
}
.q-interview-detail .dotted__content {
  position: relative;
  padding-inline-start: 38px;
}
.q-interview-detail .dotted__content:not(:last-child) {
  padding-block-end: var(--space-block-md);
}
.q-interview-detail .dotted__content::before, .q-interview-detail .dotted__content::after {
  content: "";
  position: absolute;
  top: 0;
  translate: 0 5px;
}
.q-interview-detail .dotted__content::before {
  left: 8px;
  bottom: 0;
  width: 2px;
  background-color: var(--color-primary);
}
.q-interview-detail .dotted__content::after {
  left: 0;
  width: 18px;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  background-color: var(--color-secondary);
}
.q-interview-detail .dotted__content:last-child::before {
  content: none;
}
.q-interview-detail .orientation__title {
  margin-block-end: var(--space-block-xs);
  color: var(--color-primary);
}
.q-interview-detail .orientation__title::before {
  content: "";
  display: block;
  width: 0;
  height: 0.01px;
  margin-block-start: var(--half-leading-trim);
}
.q-interview-detail .oneday {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
@media (width <= 700px) {
  .q-interview-detail .oneday {
    grid-template-columns: 1fr;
  }
  .q-interview-detail .oneday .dotted:not(:last-child) .dotted__content:last-child {
    padding-block-end: var(--space-block-sm);
  }
  .q-interview-detail .oneday .dotted:not(:last-child) .dotted__content:last-child::before {
    content: "";
  }
}
.q-interview-detail .oneday__content {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 19px;
  padding-inline-start: 28px;
  padding-inline-end: 10px;
}
.q-interview-detail .oneday__content:not(:last-child) {
  padding-block-end: var(--space-block-sm);
}
.q-interview-detail .oneday__time {
  color: var(--color-primary);
  font-family: var(--typography-title-md-en-font-family);
  font-weight: var(--typography-title-md-en-font-weight);
  font-size: var(--typography-title-md-en-font-size);
  line-height: var(--typography-title-md-en-line-height);
  --letter-spacing: var(--typography-title-md-en-letter-spacing);
}
.q-interview-detail .oneday__image {
  max-width: 200px;
  margin-block-start: var(--space-block-xxs);
  border-radius: var(--radius);
  overflow: hidden;
}
.q-interview-detail .oneday__image img {
  width: 100%;
}
.q-interview-detail .movie {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 40px;
  row-gap: var(--space-block-xs);
}
.q-interview-detail .movie_wrapper {
  container: movie/inline-size;
}
@container movie (width <= 700px) {
  .q-interview-detail .movie {
    grid-template-columns: 1fr;
  }
}
.q-interview-detail .link {
  position: relative;
  isolation: isolate;
  min-height: 360px;
  border-radius: var(--radius);
  padding: 37px 77px 25px 33px;
  color: var(--color-light);
  overflow: hidden;
  background-color: var(--color-tertiary);
}
.q-interview-detail .link:not(:first-child) {
  margin-block-start: var(--space-block-md);
}
@media (width <= 700px) {
  .q-interview-detail .link {
    padding-inline: 20px;
  }
}
@media (width <= 700px) {
  .q-interview-detail .link {
    padding-block-end: 270px;
  }
}
.q-interview-detail .link__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -20;
}
@media (width <= 700px) {
  .q-interview-detail .link__bg {
    object-position: center bottom;
  }
}
.q-interview-detail .link__pic {
  position: absolute;
  z-index: -10;
  bottom: 0;
  right: 0;
}
@media (width <= 800px) {
  .q-interview-detail .link__pic {
    display: none;
  }
}
.q-interview-detail .link__title {
  margin-block-end: var(--space-block-xxs);
  color: var(--color-base);
  font-family: var(--typography-title-lg-font-family);
  font-weight: var(--typography-title-lg-font-weight);
  font-size: var(--typography-title-lg-font-size);
  line-height: var(--typography-title-lg-line-height);
  --letter-spacing: var(--typography-title-lg-letter-spacing);
  line-height: 1.9;
}
.q-interview-detail .link__title span {
  padding: 0 10px;
  background-color: var(--color-light);
  box-decoration-break: clone;
}
.q-interview-detail .link__button {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 20px;
  max-width: 620px;
  margin-block-start: var(--space-block-xs-trim);
}
@media (width <= 700px) {
  .q-interview-detail .link__button {
    grid-template-columns: 1fr;
    row-gap: var(--space-block-xs);
    margin-block-start: var(--space-block-sm-trim);
  }
}
.q-interview-detail .link__button a {
  width: 100%;
}
@media (width <= 700px) {
  .q-interview-detail .link__button a {
    justify-self: center;
    width: 290px;
    min-height: 70px;
  }
}

.q-message-head {
  --l-media-content-width-override: 695px;
  --l-media-columnGap-override: 25px;
  --l-media-rowGap-override: var(--space-block-xs);
}
@media (width <= 1120px) {
  .q-message-head {
    --l-media-content-width-override: 500px;
  }
}
.q-message-head .text {
  font-family: var(--typography-txt-xmd-font-family);
  font-weight: var(--typography-txt-xmd-font-weight);
  font-size: var(--typography-txt-xmd-font-size);
  line-height: var(--typography-txt-xmd-line-height);
  --letter-spacing: var(--typography-txt-xmd-letter-spacing);
}
@media (900px < width) {
  .q-message-head .text {
    max-width: 610px;
  }
}

.q-message-body {
  --l-media-content-width-override: 522px;
  --l-media-columnGap-override: 38px;
  --l-media-rowGap-override: var(--space-block-md);
}
.q-message-body .body {
  border-radius: var(--radius);
  background-color: var(--color-light);
}
.q-message-body .content {
  padding: var(--space-block-lg) 85px;
}
@media (width <= 1120px) {
  .q-message-body .content {
    padding-inline: 40px;
  }
}
@media (width <= 768px) {
  .q-message-body .content {
    padding-inline: var(--space-inline-sm2);
  }
}
.q-message-body .heading {
  margin-block-end: var(--space-block-md);
  font-family: var(--typography-title-lg-font-family);
  font-weight: var(--typography-title-lg-font-weight);
  font-size: var(--typography-title-lg-font-size);
  line-height: var(--typography-title-lg-line-height);
  --letter-spacing: var(--typography-title-lg-letter-spacing);
}
.q-message-body .image img {
  width: 100%;
}

.q-movie .inner {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-section);
}
.q-movie .movie {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-xxxs);
  font-family: var(--typography-txt-md-font-family);
  font-weight: var(--typography-txt-md-font-weight);
  font-size: var(--typography-txt-md-font-size);
  line-height: var(--typography-txt-md-line-height);
  --letter-spacing: var(--typography-txt-md-letter-spacing);
  text-align: left;
}
.q-movie .movie_wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-block-md) 40px;
}
@media (width <= 1120px) {
  .q-movie .movie_wrapper {
    column-gap: 20px;
  }
}
@media (width <= 900px) {
  .q-movie .movie_wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (width <= 700px) {
  .q-movie .movie_wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (width <= 600px) {
  .q-movie .movie_wrapper {
    column-gap: 10px;
  }
}
.q-movie .movie__image {
  order: -10;
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
}
.q-movie .movie__image img {
  width: 100%;
}
.q-movie .movie__image::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 62px;
  aspect-ratio: 124/128;
  background: no-repeat url(../img/cmn/play.png) top left/100% 100%;
}

.q-ob-head .detail {
  grid-area: detail;
}
.q-ob-head .pic._1 {
  grid-area: pic1;
}
.q-ob-head .pic._2 {
  grid-area: pic2;
}
.q-ob-head .body {
  display: grid;
  column-gap: 20px;
  grid-template: "pic1 detail pic2" auto/auto 1fr auto;
}
@media (width <= 1120px) {
  .q-ob-head .body {
    grid-template-columns: 190px 1fr 190px;
  }
}
@media (width <= 900px) {
  .q-ob-head .body {
    grid-template: "detail detail" auto "pic1 pic2" auto/50.303030303% 41.5151515152%;
    column-gap: 10px;
    justify-content: space-between;
    row-gap: var(--space-block-xs);
  }
}
.q-ob-head .detail {
  font-family: var(--typography-txt-xmd-font-family);
  font-weight: var(--typography-txt-xmd-font-weight);
  font-size: var(--typography-txt-xmd-font-size);
  line-height: var(--typography-txt-xmd-line-height);
  --letter-spacing: var(--typography-txt-xmd-letter-spacing);
  text-align: center;
}
.q-ob-head .pic {
  text-align: center;
}

.q-ob-can .body {
  position: relative;
  isolation: isolate;
  padding: 70px 40px 70px 300px;
  border-radius: var(--radius);
  overflow: hidden;
}
@media (width <= 1120px) {
  .q-ob-can .body {
    padding: 70px 40px 150px 300px;
  }
}
@media (width <= 768px) {
  .q-ob-can .body {
    max-width: 480px;
    margin-inline: auto;
    padding: 70px 40px 300px 40px;
  }
}
@media (width <= 500px) {
  .q-ob-can .body {
    padding-inline: 20px;
  }
}
.q-ob-can .body .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -20;
}
.q-ob-can .body .pic {
  position: absolute;
  z-index: -10;
  bottom: 0;
  left: 0;
}
.q-ob-can .list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 20px;
  max-width: 700px;
  margin-inline-start: auto;
  font-family: var(--typography-txt-xmd-font-family);
  font-weight: var(--typography-txt-xmd-font-weight);
  font-size: var(--typography-txt-xmd-font-size);
  line-height: var(--typography-txt-xmd-line-height);
  --letter-spacing: var(--typography-txt-xmd-letter-spacing);
}
@media (width <= 1120px) {
  .q-ob-can .list {
    grid-template-columns: 1fr;
    row-gap: var(--space-block-xxs);
  }
}
.q-ob-can .list__item {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  column-gap: 11px;
  border-radius: 4px;
  padding: 25px 10px 25px 20px;
  background-color: var(--color-light);
}
@media (width <= 1120px) {
  .q-ob-can .list__item {
    padding: 15px;
  }
}
.q-ob-can .list__count {
  display: grid;
  place-content: center;
  width: 30px;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  padding-block-end: 2px;
  color: var(--color-light);
  font-family: var(--typography-txt-xmd-font-family);
  font-weight: var(--typography-txt-xmd-font-weight);
  font-size: var(--typography-txt-xmd-font-size);
  line-height: var(--typography-txt-xmd-line-height);
  --letter-spacing: var(--typography-txt-xmd-letter-spacing);
  line-height: 1;
  background-color: var(--color-primary);
}

.q-ob-voice .voice_wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-block-md) 40px;
}
@media (width <= 1120px) {
  .q-ob-voice .voice_wrapper {
    column-gap: 20px;
  }
}
@media (width <= 900px) {
  .q-ob-voice .voice_wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (width <= 600px) {
  .q-ob-voice .voice_wrapper {
    grid-template-columns: 1fr;
  }
}
.q-ob-voice .voice__avatar {
  position: relative;
  z-index: 10;
  margin-block-end: -38px;
  text-align: center;
}
.q-ob-voice .voice__body {
  padding: var(--space-block-md-trim) 20px 30px;
  border-radius: var(--radius);
  background-color: var(--color-light);
}
.q-ob-voice .voice__copy {
  margin-block-end: var(--space-block-xs);
  color: var(--color-primary);
  font-family: var(--typography-title-md-font-family);
  font-weight: var(--typography-title-md-font-weight);
  font-size: var(--typography-title-md-font-size);
  line-height: var(--typography-title-md-line-height);
  --letter-spacing: var(--typography-title-md-letter-spacing);
  text-align: center;
}

.q-privacy .policy :where(p):not(:last-child) {
  margin-block-end: var(--space-block-xs);
}
.q-privacy .policy :where(p):not(:first-child) {
  margin-block-start: var(--space-block-xs);
}
.q-privacy .policy ul {
  padding-inline-start: 1.5em;
}
.q-privacy .policy__title {
  margin-block-end: var(--space-block-sm);
  font-family: var(--typography-title-xmd-font-family);
  font-weight: var(--typography-title-xmd-font-weight);
  font-size: var(--typography-title-xmd-font-size);
  line-height: var(--typography-title-xmd-line-height);
  --letter-spacing: var(--typography-title-xmd-letter-spacing);
}
.q-privacy .policy__title:not(:first-child) {
  margin-block-start: var(--space-block-md);
}

.q-recruitment-detail .body {
  border-radius: var(--radius);
  padding: calc(var(--space-block-md) - 3px) 80px;
  background-color: var(--color-light);
}
@media (width <= 1120px) {
  .q-recruitment-detail .body {
    padding-inline: 40px;
  }
}
@media (width <= 768px) {
  .q-recruitment-detail .body {
    margin-inline: calc(var(--space-inline-sm2) * -1);
    padding-inline: var(--space-inline-sm2);
  }
}
.q-recruitment-detail .data {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 2;
  border-block-end: 1px solid;
  padding-block-end: calc(var(--space-block-md) - 3px);
}
.q-recruitment-detail .data_wrapper {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: var(--space-block-md) 10px;
}
@media (width <= 700px) {
  .q-recruitment-detail .data_wrapper {
    grid-template-columns: 1fr;
  }
}
@media (width <= 700px) {
  .q-recruitment-detail .data {
    grid-column: span 1;
    row-gap: var(--space-block-xxxs);
  }
}
.q-recruitment-detail .data__title {
  color: var(--color-primary);
}

.q-recruitment-copy {
  position: relative;
  z-index: -10;
}

.q-recruitment-jobs .job {
  --q-job-distance: 10px;
  display: grid;
  text-decoration: none;
}
.q-recruitment-jobs .job_wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-block-md) 40px;
}
@media (width <= 1120px) {
  .q-recruitment-jobs .job_wrapper {
    column-gap: 20px;
  }
}
@media (width <= 900px) {
  .q-recruitment-jobs .job_wrapper {
    grid-template-columns: 1fr;
    row-gap: var(--space-block-sm);
  }
}
.q-recruitment-jobs .job__body {
  display: flex;
  flex-direction: column;
}
.q-recruitment-jobs .job__category {
  order: -10;
}
.q-recruitment-jobs .job__body {
  grid-area: 1/1/2/2;
  margin-inline-end: var(--q-job-distance);
  margin-block-end: var(--q-job-distance);
  border: 2px solid var(--color-base);
  border-radius: var(--radius);
  padding: var(--space-block-sm) 30px;
  background-color: var(--color-light);
  transition-property: translate;
  transition-duration: var(--sec);
  translate: var(--q-job-translate, 0 0);
}
.q-recruitment-jobs .job::before {
  grid-area: 1/1/2/2;
  content: "";
  background-color: var(--color-primary);
  margin-block-start: var(--q-job-distance);
  margin-inline-start: var(--q-job-distance);
  border: 2px solid var(--color-base);
  border-radius: var(--radius);
  background-color: var(--color-primary);
}
.q-recruitment-jobs .job:focus-visible {
  --q-job-translate: var(--q-job-distance) var(--q-job-distance);
}
@media (hover: hover) and (pointer: fine) {
  .q-recruitment-jobs .job:hover {
    --q-job-translate: var(--q-job-distance) var(--q-job-distance);
  }
}
.q-recruitment-jobs .job__category {
  margin-block-end: var(--space-block-xxs);
}
.q-recruitment-jobs .job__label {
  width: fit-content;
  border-radius: 9999px;
  padding: 3px 15px 4px;
  color: var(--color-light);
  font-family: var(--typography-txt-sm-font-family);
  font-weight: var(--typography-txt-sm-font-weight);
  font-size: var(--typography-txt-sm-font-size);
  line-height: var(--typography-txt-sm-line-height);
  --letter-spacing: var(--typography-txt-sm-letter-spacing);
  background-color: var(--q-job-label-bg, var(--color-primary));
}
.q-recruitment-jobs .job__label._new-graduate {
  --q-job-label-bg: var(--color-primary);
}
.q-recruitment-jobs .job__label.mid-career {
  --q-job-label-bg: var(--color-secondary);
}
.q-recruitment-jobs .job__title {
  margin-block-end: var(--space-block-xs);
  font-family: var(--typography-title-md-font-family);
  font-weight: var(--typography-title-md-font-weight);
  font-size: var(--typography-title-md-font-size);
  line-height: var(--typography-title-md-line-height);
  --letter-spacing: var(--typography-title-md-letter-spacing);
}
.q-recruitment-jobs .job__info {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  column-gap: 10px;
}
.q-recruitment-jobs .job__location {
  display: flex;
  align-items: center;
  column-gap: 10px;
}
.q-recruitment-jobs .job__location-icon {
  color: var(--color-secondary);
}
.q-recruitment-jobs .job__location-icon svg {
  display: block;
}
.q-recruitment-jobs .job__location-title {
  font-family: var(--typography-txt-sm-font-family);
  font-weight: var(--typography-txt-sm-font-weight);
  font-size: var(--typography-txt-sm-font-size);
  line-height: var(--typography-txt-sm-line-height);
  --letter-spacing: var(--typography-txt-sm-letter-spacing);
}

.q-shin-head .image {
  margin-block-start: var(--space-block-xs);
  margin-inline: -10000px;
  text-align: center;
  display: grid;
}
.q-shin-head .image picture {
  grid-area: 1/1/1/1;
}

.q-shin-body .column {
  --l-column-head-width-override: 440px;
  --l-column-columnGap-override: 26px;
  --l-column-rowGap-override: var(--space-block-xs);
  margin-block-end: var(--space-block-xs);
}
.q-shin-body .column__head {
  text-align: right;
}
@media (width <= 1020px) {
  .q-shin-body .column__head {
    text-align: center;
  }
}
.q-shin-body .column__body {
  align-self: end;
  padding-block-end: var(--space-block-xs);
}
@media (width <= 1020px) {
  .q-shin-body .column__body {
    width: fit-content;
    margin-inline: auto;
  }
}
.q-shin-body .text {
  font-family: var(--typography-txt-xmd-font-family);
  font-weight: var(--typography-txt-xmd-font-weight);
  font-size: var(--typography-txt-xmd-font-size);
  line-height: var(--typography-txt-xmd-line-height);
  --letter-spacing: var(--typography-txt-xmd-letter-spacing);
}
.q-shin-body .underline {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 7px;
}
.q-shin-body .vote {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.q-shin-body .vote_wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-block-md) 40px;
}
@media (width <= 1120px) {
  .q-shin-body .vote_wrapper {
    column-gap: 20px;
  }
}
@media (width <= 1020px) {
  .q-shin-body .vote_wrapper {
    grid-template-columns: 1fr;
  }
}
.q-shin-body .vote__title {
  width: fit-content;
  max-width: calc(100% - 10px);
  padding: 7px 27px;
  border: 2px solid var(--color-base);
  border-block-end: 0;
  border-top-left-radius: var(--radius);
  border-top-right-radius: var(--radius);
  color: var(--color-light);
  font-family: var(--typography-title-md-font-family);
  font-weight: var(--typography-title-md-font-weight);
  font-size: var(--typography-title-md-font-size);
  line-height: var(--typography-title-md-line-height);
  --letter-spacing: var(--typography-title-md-letter-spacing);
  background-color: var(--color-primary);
}
.q-shin-body .vote__body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  padding: 30px;
  border: 1px solid;
  border-radius: var(--radius);
  border-top-left-radius: 0;
  background-color: var(--color-light);
}
@media (width <= 1120px) {
  .q-shin-body .vote__body {
    padding: 20px;
  }
}
@media (width <= 1020px) and (700px < width) {
  .q-shin-body .vote__body {
    display: grid;
    grid-template-columns: 220px 1fr;
    column-gap: 20px;
    align-items: center;
  }
}
.q-shin-body .vote__image {
  margin-block-end: var(--space-block-xs);
  border-radius: var(--radius);
  overflow: hidden;
}
.q-shin-body .vote__image img {
  width: 100%;
}
.q-shin-body .vote__detail {
  flex-grow: 1;
  display: grid;
  grid-template-columns: 1fr 122px;
  column-gap: 18px;
}
@media (width <= 1120px) {
  .q-shin-body .vote__detail {
    grid-template-columns: 1fr;
    row-gap: var(--space-block-xxs);
  }
}
@media (width <= 1020px) and (700px < width) {
  .q-shin-body .vote__detail {
    row-gap: var(--space-block-xs);
    font-family: var(--typography-txt-xmd-font-family);
    font-weight: var(--typography-txt-xmd-font-weight);
    font-size: var(--typography-txt-xmd-font-size);
    line-height: var(--typography-txt-xmd-line-height);
    --letter-spacing: var(--typography-txt-xmd-letter-spacing);
  }
}
.q-shin-body .vote__good {
  margin-block-start: calc(var(--space-block-md) * -1);
}
@media (width <= 1120px) {
  .q-shin-body .vote__good {
    margin-block-start: 0;
  }
}
@media (width <= 1120px) {
  .q-shin-body .vote__lg {
    display: none;
  }
}
.q-shin-body .vote__sm {
  display: none;
}
@media (width <= 1120px) {
  .q-shin-body .vote__sm {
    display: revert;
  }
}
.q-shin-body .good {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-xxs);
  max-width: 290px;
  margin-inline-start: auto;
}
@media (width <= 1120px) {
  .q-shin-body .good {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 18px;
    align-items: center;
  }
}
.q-shin-body .good__button {
  display: flex;
  justify-content: center;
  column-gap: 5px;
  align-items: center;
  margin: 0;
  padding: 2px 10px;
  border: 2px solid var(--color-secondary);
  border-radius: 9999px;
  font-family: var(--typography-txt-md-font-family);
  font-weight: var(--typography-txt-md-font-weight);
  font-size: var(--typography-txt-md-font-size);
  line-height: var(--typography-txt-md-line-height);
  --letter-spacing: var(--typography-txt-md-letter-spacing);
  color: var(--color-secondary);
  background-color: var(--color-light);
}
.q-shin-body .good__button:focus-visible {
  border-color: var(--color-secondary);
  background-color: var(--color-light);
}
@media (hover: hover) and (pointer: fine) {
  .q-shin-body .good__button:hover {
    border-color: var(--color-secondary);
    background-color: var(--color-light);
  }
}
.q-shin-body .good__button:is(.newiine_clicked, .newiine_clickedtoday) {
  color: var(--color-light);
  border-color: var(--color-secondary);
  background-color: var(--color-secondary);
}
.q-shin-body .good__button:is(.newiine_clicked, .newiine_clickedtoday):focus-visible {
  border-color: var(--color-secondary);
  background-color: var(--color-secondary);
}
@media (hover: hover) and (pointer: fine) {
  .q-shin-body .good__button:is(.newiine_clicked, .newiine_clickedtoday):hover {
    border-color: var(--color-secondary);
    background-color: var(--color-secondary);
  }
}

.q-shin-foot {
  position: relative;
  isolation: isolate;
}
.q-shin-foot .content {
  display: grid;
  row-gap: var(--space-block-xs);
}
.q-shin-foot .text {
  z-index: 10;
}
@media (768px < width) {
  .q-shin-foot .text {
    grid-area: 1/1/2/2;
    align-self: center;
    max-width: 70%;
  }
}
@media (width <= 768px) {
  .q-shin-foot .text {
    max-width: 330px;
    padding-block-start: var(--space-block-section);
    margin-inline: auto;
  }
}
.q-shin-foot .image {
  display: grid;
}
@media (768px < width) {
  .q-shin-foot .image {
    grid-area: 1/1/2/2;
    justify-self: end;
    max-width: 50%;
  }
}
@media (width <= 768px) {
  .q-shin-foot .image {
    max-width: 330px;
    margin-inline: auto;
  }
}
.q-shin-foot .image img {
  grid-area: 1/1/1/1;
}

.q-top-mv {
  position: relative;
  isolation: isolate;
  padding-inline: var(--frame-size);
  margin-block-start: calc(var(--frame-size) * -1);
}
.q-top-mv .mv {
  position: relative;
}
.q-top-mv .mv svg {
  display: block;
}
.q-top-mv .mv._pc {
  aspect-ratio: 2800/1680;
}
@media (width <= 768px) {
  .q-top-mv .mv._pc {
    display: none;
  }
}
.q-top-mv .mv._sp {
  aspect-ratio: 780/1680;
}
@media (width >= 768px) {
  .q-top-mv .mv._sp {
    display: none;
  }
}

.q-top-concept {
  --l-media-rowGap-override: var(--space-block-sm);
}
@media (width <= 1120px) {
  .q-top-concept {
    --l-media-content-width-override: 475px;
  }
}
.q-top-concept .inner {
  position: relative;
  isolation: isolate;
}
.q-top-concept .heading {
  row-gap: var(--space-block-xs);
}
.q-top-concept .heading img {
  display: block;
}
.q-top-concept .text {
  font-family: var(--typography-txt-xmd-font-family);
  font-weight: var(--typography-txt-xmd-font-weight);
  font-size: var(--typography-txt-xmd-font-size);
  line-height: var(--typography-txt-xmd-line-height);
  --letter-spacing: var(--typography-txt-xmd-letter-spacing);
}
.q-top-concept .text::before {
  content: "";
  display: block;
  width: 0;
  height: 0.01px;
  margin-block-start: var(--half-leading-trim);
}
.q-top-concept .media__image {
  container: q-media-image/inline-size;
  position: relative;
  aspect-ratio: 460/632;
  margin-inline-start: 10px;
}
@media (width <= 900px) {
  .q-top-concept .media__image {
    width: 460px;
    margin-inline: auto;
  }
}
@media (width <= 500px) {
  .q-top-concept .media__image {
    width: auto;
    aspect-ratio: 360/473;
    margin-inline: -20px;
  }
}
.q-top-concept .media__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.q-top-concept .media__img2, .q-top-concept .media__img4 {
  z-index: 20;
}
.q-top-concept .media__content {
  padding-inline-end: 60px;
}
@media (width <= 1120px) {
  .q-top-concept .media__content {
    padding-inline-end: 0;
  }
}
.q-top-concept .media__video {
  position: absolute;
  z-index: 10;
  top: 22%;
  left: 10.8695cqi;
  width: 83.913cqi;
  aspect-ratio: 1/1;
  border: 4px solid;
  border-radius: 9999px;
  overflow: hidden;
}
@media (width <= 768px) {
  .q-top-concept .media__video {
    top: 23%;
    width: 83.8888cqi;
  }
}
.q-top-concept .media__video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.q-top-concept .illust {
  position: absolute;
  z-index: -10;
  top: var(--space-block-sm);
  right: 30px;
}
@media (width <= 768px) {
  .q-top-concept .illust {
    top: 0;
    right: -10px;
  }
}

.q-top-pickup {
  border-block-start: 4px solid var(--color-primary);
}

.q-top-member {
  --l-media-content-width-override: calc(100% - 450px - 25px);
  --l-media-columnGap-override: 25px;
  --l-media-rowGap-override: var(--space-block-sm);
  position: relative;
  isolation: isolate;
}
.q-top-member .media {
  color: var(--color-light);
}
.q-top-member .media__content {
  padding-block-start: var(--space-block-xs);
}
.q-top-member .media__image img {
  width: 100%;
}
@media (width <= 768px) {
  .q-top-member .member {
    position: relative;
    margin-block-start: calc(var(--space-block-sm) * -1);
  }
}
.q-top-member .control {
  display: flex;
  justify-content: center;
  column-gap: 20px;
  margin-block-start: var(--space-block-md);
}
@media (width <= 768px) {
  .q-top-member .control {
    display: none;
  }
}
.q-top-member .button {
  display: grid;
  place-content: center;
  width: 60px;
  aspect-ratio: 1/1;
  border: 2px solid;
  border-radius: 9999px;
  background-color: var(--color-light);
  transition-property: background-color;
  transition-duration: var(--sec-fast);
}
.q-top-member .button:focus-visible {
  color: var(--color-light);
  background-color: transparent;
}
@media (hover: hover) and (pointer: fine) {
  .q-top-member .button:hover {
    color: var(--color-light);
    background-color: transparent;
  }
}
.q-top-member .banner {
  --q-banner-distance: 10px;
  display: grid;
  max-width: 640px;
  margin-inline: auto;
  text-decoration: none;
}
.q-top-member .banner__body {
  display: grid;
  grid-template-columns: 50% 1fr;
  align-items: center;
  column-gap: 40px;
}
@media (width <= 500px) {
  .q-top-member .banner__body {
    grid-template-columns: 175px 1fr;
    column-gap: 10px;
  }
}
.q-top-member .banner__image {
  grid-area: 1/1/2/2;
}
.q-top-member .banner__detail {
  position: relative;
}
@media (768px < width) {
  .q-top-member .banner__arrow {
    position: absolute;
    inset-block: 0;
    margin-block: auto;
    right: 0;
  }
}
@media (width <= 768px) {
  .q-top-member .banner__arrow {
    margin-block-start: var(--space-block-xs-trim);
    margin-inline: auto;
  }
}
.q-top-member .banner__body {
  grid-area: 1/1/2/2;
  margin-inline-end: var(--q-banner-distance);
  margin-block-end: var(--q-banner-distance);
  border: 2px solid var(--color-base);
  border-radius: var(--radius);
  padding: 20px 20px 25px;
  background-color: var(--color-light);
  transition-property: translate;
  transition-duration: var(--sec);
  translate: var(--q-banner-translate, 0 0);
}
@media (width <= 768px) {
  .q-top-member .banner__body {
    padding: 13px;
  }
}
.q-top-member .banner::before {
  grid-area: 1/1/2/2;
  content: "";
  margin-block-start: var(--q-banner-distance);
  margin-inline-start: var(--q-banner-distance);
  border: 2px solid var(--color-base);
  border-radius: var(--radius);
  background-color: var(--color-secondary);
}
.q-top-member .banner:focus-visible {
  --q-banner-translate: var(--q-banner-distance) var(--q-banner-distance);
}
@media (hover: hover) and (pointer: fine) {
  .q-top-member .banner:hover {
    --q-banner-translate: var(--q-banner-distance) var(--q-banner-distance);
  }
}
.q-top-member .banner__image {
  position: relative;
}
.q-top-member .banner__image img {
  width: 100%;
}
.q-top-member .banner__bg {
  border-radius: var(--radius);
  overflow: hidden;
}
.q-top-member .banner__photo {
  position: absolute;
  bottom: 0;
  inset-inline: 0;
}
@media (width <= 768px) {
  .q-top-member .banner__heading {
    row-gap: var(--space-block-xxxs);
  }
  .q-top-member .banner__heading .c-heading__sub {
    padding-inline: 5px;
    font-size: 0.8125rem;
  }
  .q-top-member .banner__heading .c-heading__title {
    font-family: var(--typography-title-lg-font-family);
    font-weight: var(--typography-title-lg-font-weight);
    font-size: var(--typography-title-lg-font-size);
    line-height: var(--typography-title-lg-line-height);
    --letter-spacing: var(--typography-title-lg-letter-spacing);
  }
}

.q-top-movie {
  --l-media-content-width-override: 517px;
  --l-media-columnGap-override: 43px;
  position: relative;
  isolation: isolate;
}
@media (width <= 1120px) {
  .q-top-movie {
    --l-media-content-width-override: 400px;
    --l-media-columnGap-override: 20px;
  }
}
.q-top-movie .bg {
  position: absolute;
  z-index: -10;
  inset-block: 0;
  right: calc(50% - 140px);
}
@media (width <= 1120px) {
  .q-top-movie .bg {
    right: calc(50% + 50px);
  }
}
@media (width <= 800px) {
  .q-top-movie .bg {
    top: auto;
    inset-inline: 0;
    height: 480px;
  }
}
.q-top-movie .bg img {
  width: auto;
  height: 100%;
}
@media (width <= 800px) {
  .q-top-movie .bg img {
    width: 100%;
  }
}
.q-top-movie .bg::before {
  content: "";
  position: absolute;
  z-index: -10;
  inset-block: 0;
  right: calc(100% - 10px);
  width: 10000px;
  background-color: var(--color-secondary);
}
@media (width <= 800px) {
  .q-top-movie .bg::before {
    content: none;
  }
}

.q-top-about .inner {
  position: relative;
}
.q-top-about .circle {
  position: absolute;
  z-index: -10;
  top: calc(var(--space-block-xl-trim) + var(--space-block-sm-trim));
  right: calc(var(--frame-size) + 10px);
  animation: q-about-circle 50s linear infinite;
}
@media (width <= 768px) {
  .q-top-about .circle {
    top: 200px;
    right: -258px;
  }
}
@keyframes q-about-circle {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
.q-top-about .about {
  --q-about-distance: 10px;
  display: grid;
  text-decoration: none;
}
.q-top-about .about_wrapper {
  --q-about-offset: 53px;
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  padding-block-end: var(--q-about-offset);
  align-items: start;
}
@media (width <= 700px) {
  .q-top-about .about_wrapper {
    --q-about-offset: 0;
    max-width: 400px;
    margin-inline: auto;
  }
}
.q-top-about .about_wrapper > :nth-child(2n) {
  translate: 0 var(--q-about-offset);
}
@media (width <= 1120px) {
  .q-top-about .about_wrapper {
    column-gap: 20px;
  }
}
@media (width <= 700px) {
  .q-top-about .about_wrapper {
    grid-template-columns: 1fr;
    row-gap: var(--space-block-xs);
  }
}
.q-top-about .about__body {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-xs);
}
.q-top-about .about__image {
  order: -10;
}
.q-top-about .about__head {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  column-gap: 10px;
}
.q-top-about .about__body {
  grid-area: 1/1/2/2;
  margin-inline-end: var(--q-about-distance);
  margin-block-end: var(--q-about-distance);
  border: 2px solid var(--color-base);
  border-radius: var(--radius);
  padding: 0 30px 30px;
  background-color: var(--color-light);
  transition-property: translate;
  transition-duration: var(--sec);
  translate: var(--q-about-translate, 0 0);
}
@media (width <= 900px) {
  .q-top-about .about__body {
    padding: 13px 13px 28px;
  }
}
.q-top-about .about::before {
  grid-area: 1/1/2/2;
  content: "";
  margin-block-start: var(--q-about-distance);
  margin-inline-start: var(--q-about-distance);
  border: 2px solid var(--color-base);
  border-radius: var(--radius);
  background-color: var(--color-primary);
}
.q-top-about .about:focus-visible {
  --q-about-translate: var(--q-about-distance) var(--q-about-distance);
}
@media (hover: hover) and (pointer: fine) {
  .q-top-about .about:hover {
    --q-about-translate: var(--q-about-distance) var(--q-about-distance);
  }
}
.q-top-about .about__head {
  margin-block-end: var(--space-block-xs);
}
.q-top-about .about__title {
  font-family: var(--typography-title-lg-font-family);
  font-weight: var(--typography-title-lg-font-weight);
  font-size: var(--typography-title-lg-font-size);
  line-height: var(--typography-title-lg-line-height);
  --letter-spacing: var(--typography-title-lg-letter-spacing);
}
.q-top-about .about__image img {
  width: 100%;
}

.q-top-line {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background-color: var(--color-bg-ash);
}
.q-top-line .bg {
  position: absolute;
  z-index: -10;
  inset: 0;
}
.q-top-line .bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(var(--color-primary-rgb), 0.75);
}
.q-top-line .bg img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -20;
}
@media (width <= 900px) {
  .q-top-line .bg img {
    height: 430px;
    inset-block: auto 0;
  }
}
.q-top-line .inner {
  position: relative;
  isolation: isolate;
  display: flow-root;
}
.q-top-line .balloon {
  position: relative;
  width: 620px;
  margin-block: var(--space-block-md);
  border-radius: 60px;
  padding-block-start: var(--space-block-md);
  padding-block-end: var(--space-block-md-trim);
  padding-inline: 60px;
  background-color: var(--color-light);
}
@media (width <= 1120px) {
  .q-top-line .balloon {
    width: 470px;
    padding-inline: 40px;
  }
}
@media (width <= 900px) {
  .q-top-line .balloon {
    width: auto;
    padding: 30px 20px 20px;
    margin-block-end: 0;
  }
}
.q-top-line .balloon__head {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 20px;
  margin-block-end: var(--space-block-xs);
  margin-inline-end: -30px;
}
@media (width <= 900px) {
  .q-top-line .balloon__head {
    display: flex;
    flex-direction: column;
    row-gap: var(--space-block-xxs);
    margin-block-end: var(--space-block-xxs);
    margin-inline-end: 0;
    text-align: center;
  }
}
.q-top-line .balloon__title {
  font-family: var(--typography-title-lg-font-family);
  font-weight: var(--typography-title-lg-font-weight);
  font-size: var(--typography-title-lg-font-size);
  line-height: var(--typography-title-lg-line-height);
  --letter-spacing: var(--typography-title-lg-letter-spacing);
}
@media (width <= 900px) {
  .q-top-line .balloon__text {
    font-size: 1rem;
    line-height: 1.75;
  }
}
.q-top-line .balloon__bg {
  position: absolute;
  left: calc(100% - 7px);
  top: 42%;
}
@media (width <= 1120px) {
  .q-top-line .balloon__bg {
    top: 55%;
  }
}
@media (width <= 900px) {
  .q-top-line .balloon__bg {
    top: calc(100% - 2px);
    inset-inline: 0;
    margin-inline: auto;
    translate: -10px 0;
  }
}
.q-top-line .image {
  position: absolute;
  z-index: -10;
  right: -40px;
  bottom: 0;
  max-width: 50%;
}
@media (width <= 900px) {
  .q-top-line .image {
    position: static;
    max-width: none;
    text-align: center;
    margin-inline: calc(var(--space-inline-inner-sm) * -1);
  }
}

.q-vision-philosophy {
  --l-media-content-width-override: 660px;
  --l-media-rowGap-override: var(--space-block-sm);
}
@media (width <= 1120px) {
  .q-vision-philosophy {
    --l-media-content-width-override: 550px;
  }
}
.q-vision-philosophy .copy {
  margin-block-end: var(--space-block-sm);
  font-family: var(--typography-title-lg-font-family);
  font-weight: var(--typography-title-lg-font-weight);
  font-size: var(--typography-title-lg-font-size);
  line-height: var(--typography-title-lg-line-height);
  --letter-spacing: var(--typography-title-lg-letter-spacing);
}
.q-vision-philosophy .image {
  width: fit-content;
  margin-inline: auto;
  border-radius: var(--radius);
  overflow: hidden;
}
.q-vision-philosophy .video {
  display: grid;
  place-content: center;
  max-width: 400px;
  aspect-ratio: 400/370;
  overflow: hidden;
}
.q-vision-philosophy .video video {
  width: 100%;
}
.q-vision-philosophy .text {
  font-family: var(--typography-txt-xmd-font-family);
  font-weight: var(--typography-txt-xmd-font-weight);
  font-size: var(--typography-txt-xmd-font-size);
  line-height: var(--typography-txt-xmd-line-height);
  --letter-spacing: var(--typography-txt-xmd-letter-spacing);
}
.q-vision-philosophy .philosophy {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  padding: 0 20px var(--space-block-sm);
}
.q-vision-philosophy .philosophy_wrapper {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-block-xs) 40px;
}
@media (width <= 1120px) {
  .q-vision-philosophy .philosophy_wrapper {
    column-gap: 20px;
  }
}
@media (width <= 1020px) {
  .q-vision-philosophy .philosophy_wrapper {
    grid-template-columns: 1fr;
  }
}
@media (width <= 1020px) and (768px < width) {
  .q-vision-philosophy .philosophy {
    display: grid;
    grid-template-columns: 250px 1fr;
  }
}
.q-vision-philosophy .philosophy::before {
  content: "";
  position: absolute;
  z-index: -10;
  inset: 20px 0 0;
  border-radius: var(--radius);
  background-color: var(--color-light);
}
.q-vision-philosophy .philosophy__head {
  padding-block: var(--space-block-xs);
  border-radius: var(--radius);
  color: var(--color-light);
  text-align: center;
  background-color: var(--color-primary);
}
@media (width <= 1020px) and (768px < width) {
  .q-vision-philosophy .philosophy__head {
    align-content: center;
    padding-block: var(--space-block-sm);
  }
}
.q-vision-philosophy .philosophy__heading {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  column-gap: 15px;
  width: fit-content;
  min-width: 150px;
  margin-inline: auto;
  font-family: var(--typography-title-md-en-font-family);
  font-weight: var(--typography-title-md-en-font-weight);
  font-size: var(--typography-title-md-en-font-size);
  line-height: var(--typography-title-md-en-line-height);
  --letter-spacing: var(--typography-title-md-en-letter-spacing);
}
@media (width <= 768px) {
  .q-vision-philosophy .philosophy__heading {
    margin-block-end: var(--space-block-xxs);
  }
}
.q-vision-philosophy .philosophy__heading::before, .q-vision-philosophy .philosophy__heading::after {
  content: "";
  display: block;
  width: 13px;
  aspect-ratio: 1/1;
  background-image: url('data:image/svg+xml;utf8, <svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" viewBox="0 0 13 13"><path d="M182.284,6.051l-2.945-.775a2.784,2.784,0,0,1-1.985-1.984L176.579.346a.464.464,0,0,0-.9,0l-.775,2.946a2.784,2.784,0,0,1-1.985,1.984l-2.945.775a.464.464,0,0,0,0,.9l2.945.775a2.784,2.784,0,0,1,1.985,1.984l.775,2.946a.464.464,0,0,0,.9,0l.775-2.946a2.784,2.784,0,0,1,1.985-1.984l2.945-.775a.464.464,0,0,0,0-.9Z" transform="translate(-169.63)" fill="%23fff"/></svg>');
}
.q-vision-philosophy .philosophy__sub {
  font-family: var(--typography-txt-xsm-font-family);
  font-weight: var(--typography-txt-xsm-font-weight);
  font-size: var(--typography-txt-xsm-font-size);
  line-height: var(--typography-txt-xsm-line-height);
  --letter-spacing: var(--typography-txt-xsm-letter-spacing);
}
.q-vision-philosophy .philosophy__body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
.q-vision-philosophy .philosophy__body::before, .q-vision-philosophy .philosophy__body::after {
  order: -10;
  content: "";
  display: block;
  margin-inline: auto;
  background-color: var(--color-primary);
}
@media (width <= 1020px) and (768px < width) {
  .q-vision-philosophy .philosophy__body::before, .q-vision-philosophy .philosophy__body::after {
    opacity: 0;
  }
}
.q-vision-philosophy .philosophy__body::before {
  width: 2px;
  height: 24px;
}
.q-vision-philosophy .philosophy__body::after {
  width: 10px;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  margin-block-end: var(--space-block-xs);
}
@media (width <= 1020px) and (768px < width) {
  .q-vision-philosophy .philosophy__body::after {
    height: 1px;
    margin-block-end: var(--space-block-xs-trim);
  }
}
@media (width <= 768px) {
  .q-vision-philosophy .philosophy__body::after {
    margin-block-end: var(--space-block-sm);
  }
}
.q-vision-philosophy .philosophy__copy {
  min-height: 2lh;
  align-content: center;
  margin-block-end: var(--space-block-md);
  color: var(--color-primary);
  font-family: var(--typography-title-lg-font-family);
  font-weight: var(--typography-title-lg-font-weight);
  font-size: var(--typography-title-lg-font-size);
  line-height: var(--typography-title-lg-line-height);
  --letter-spacing: var(--typography-title-lg-letter-spacing);
  text-align: center;
}
@media (width <= 1020px) and (768px < width) {
  .q-vision-philosophy .philosophy__copy {
    margin-block-end: var(--space-block-xxs);
    min-height: revert;
    padding-inline: 20px;
    text-align: left;
  }
}
.q-vision-philosophy .philosophy__desc {
  padding-inline: 20px;
  text-align: center;
}
@media (width <= 1020px) {
  .q-vision-philosophy .philosophy__desc {
    text-align: left;
  }
}
@media (width <= 768px) {
  .q-vision-philosophy .philosophy__desc {
    padding-inline: 0;
  }
}

.q-vision-challenge .challenge {
  display: flex;
  flex-direction: column;
  border-radius: var(--radius);
  background-color: var(--color-light);
  overflow: hidden;
}
.q-vision-challenge .challenge_wrapper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-block-md) 40px;
}
@media (width <= 1120px) {
  .q-vision-challenge .challenge_wrapper {
    column-gap: 20px;
  }
}
@media (width <= 900px) {
  .q-vision-challenge .challenge_wrapper {
    grid-template-columns: 1fr;
  }
}
@media (width <= 900px) and (600px < width) {
  .q-vision-challenge .challenge {
    display: grid;
    grid-template-columns: 40% 1fr;
  }
}
.q-vision-challenge .challenge__image {
  order: -10;
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  padding-block-end: 40.7407407407%;
}
.q-vision-challenge .challenge__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.q-vision-challenge .challenge__detail {
  padding: var(--space-block-xs) 28px;
}
@media (width <= 768px) {
  .q-vision-challenge .challenge__detail {
    padding-inline: 20px;
    padding-block-end: var(--space-block-sm);
  }
}
.q-vision-challenge .challenge__title {
  margin-block-end: var(--space-block-xs);
  color: var(--color-primary);
  font-family: var(--typography-title-md-font-family);
  font-weight: var(--typography-title-md-font-weight);
  font-size: var(--typography-title-md-font-size);
  line-height: var(--typography-title-md-line-height);
  --letter-spacing: var(--typography-title-md-letter-spacing);
  text-align: center;
}

.q-vision-history {
  --l-section-inner-width-override: 960px;
  --q-line-center: calc(50% + 0.5px);
}
@media (width <= 800px) {
  .q-vision-history {
    --q-line-center: 7px;
  }
}
.q-vision-history .history {
  display: grid;
  align-items: start;
  column-gap: 30px;
  padding-block-end: var(--space-block-md);
}
.q-vision-history .history_wrapper {
  position: relative;
  isolation: isolate;
  padding-block: 17px 12px;
  background: linear-gradient(to right, transparent calc(var(--q-line-center) - 0.5px), var(--color-light) calc(var(--q-line-center) - 0.5px), var(--color-light) calc(var(--q-line-center) + 0.5px), transparent calc(var(--q-line-center) + 0.5px));
}
@media (width <= 800px) {
  .q-vision-history .history_wrapper {
    padding-block: 43px 0;
  }
}
.q-vision-history .history_wrapper::before, .q-vision-history .history_wrapper::after {
  content: "";
  display: block;
  width: 12px;
  aspect-ratio: 1/1;
  border-radius: 9999px;
  position: absolute;
  left: var(--q-line-center);
  margin-inline: auto;
  background-color: var(--color-light);
  translate: -50% 0;
}
.q-vision-history .history_wrapper::before {
  top: 0;
}
.q-vision-history .history_wrapper::after {
  bottom: 0;
}
.q-vision-history .history:where(:nth-child(2n+1)) {
  grid-template-columns: 50% 1fr;
  --q-image-area: 1/1/2/2;
  --q-image-padding: 0 40px 0 0;
}
.q-vision-history .history:where(:nth-child(2n)) {
  grid-template-columns: 1fr 50%;
  --q-image-area: 1/2/2/3;
  --q-image-padding: 0 0 0 40px;
}
@media (width <= 800px) {
  .q-vision-history .history {
    grid-template-columns: 1fr;
    row-gap: 15px;
    --q-image-area: 1/1/2/2;
    --q-image-padding: 0 0 0 40px;
  }
}
.q-vision-history .history__image {
  position: relative;
  grid-area: var(--q-image-area);
  padding: var(--q-image-padding);
  overflow: hidden;
}
.q-vision-history .history__image::before {
  content: "";
  position: absolute;
  z-index: -10;
  top: 122px;
  left: 0;
  inset-inline: 0;
  height: 1px;
  background-color: var(--color-light);
}
@media (width <= 800px) {
  .q-vision-history .history__image::before {
    inset-block: 0;
    margin-block: auto;
    inset-inline: var(--q-line-center) auto;
    width: 100px;
  }
}
.q-vision-history .history__image img {
  border-radius: var(--radius);
  width: 100%;
}
@media (width <= 800px) {
  .q-vision-history .history__image img {
    width: 324px;
  }
}
.q-vision-history .history__title {
  margin-block-end: var(--space-block-xxs);
  font-family: var(--ff-em);
  font-size: 4.375rem;
  font-weight: 500;
  line-height: 1.4;
}
@media (width <= 1120px) {
  .q-vision-history .history__title {
    font-size: 3.75rem;
  }
}
.q-vision-history .history__unit {
  display: inline-block;
  font-family: var(--typography-title-xlg-font-family);
  font-weight: var(--typography-title-xlg-font-weight);
  font-size: var(--typography-title-xlg-font-size);
  line-height: var(--typography-title-xlg-line-height);
  --letter-spacing: var(--typography-title-xlg-letter-spacing);
  font-size: 2.5rem;
  translate: 0 -0.1875rem;
}
@media (width <= 800px) {
  .q-vision-history .history__unit {
    margin-inline-start: 5px;
  }
}
.q-vision-history .history__period {
  display: inline-block;
  font-family: var(--typography-title-xlg-font-family);
  font-weight: var(--typography-title-xlg-font-weight);
  font-size: var(--typography-title-xlg-font-size);
  line-height: var(--typography-title-xlg-line-height);
  --letter-spacing: var(--typography-title-xlg-letter-spacing);
  font-size: 1.875rem;
  translate: 0 -0.125rem;
  padding-inline-start: 8px;
  white-space: nowrap;
}
@media (800px <= width <= 900px) {
  .q-vision-history .history__period {
    padding-inline-start: 0;
    display: block;
  }
}
@media (width <= 500px) {
  .q-vision-history .history__period {
    padding-inline-start: 0;
    display: block;
  }
}
.q-vision-history .history__detail {
  font-size: 1rem;
}
@media (width <= 800px) {
  .q-vision-history .history__detail {
    padding-inline-start: 43px;
  }
}

