@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: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: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: 410px;
  --l-column-columnGap-default: 20px;
  --l-column-rowGap-default: 0;
  --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-lg));
  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._head-width-auto {
  --l-column-head-width: auto;
}
.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;
}
@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;
  }
}
@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;
  }
}
@media (width <= 1000px) {
  .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;
  }
}
@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;
  }
}
@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;
  }
}
@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;
  }
}
@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;
  }
}
@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;
  }
}
@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;
  }
}
@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;
  }
}
@media (width <= 375px) {
  .l-column._vertical\@xs3 {
    grid-template-columns: 1fr;
  }
  .l-column._vertical\@xs3 .l-column__head {
    position: revert;
  }
  .l-column._vertical\@xs3 .l-column__body {
    grid-row: span 1;
  }
}
@media (width <= 360px) {
  .l-column._vertical\@min {
    grid-template-columns: 1fr;
  }
  .l-column._vertical\@min .l-column__head {
    position: revert;
  }
  .l-column._vertical\@min .l-column__body {
    grid-row: span 1;
  }
}

.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 <= 1000px) {
  .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;
  }
}
@media (width <= 375px) {
  .l-split-header._vertical\@xs3 {
    grid-template-columns: 1fr;
  }
  .l-split-header._vertical\@xs3 .l-split-header__head,
.l-split-header._vertical\@xs3 .l-split-header__body {
    grid-column: span 1;
  }
  .l-split-header._vertical\@xs3 .l-split-header__foot {
    grid-area: auto;
  }
}
@media (width <= 360px) {
  .l-split-header._vertical\@min {
    grid-template-columns: 1fr;
  }
  .l-split-header._vertical\@min .l-split-header__head,
.l-split-header._vertical\@min .l-split-header__body {
    grid-column: span 1;
  }
  .l-split-header._vertical\@min .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._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._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._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-spacer._section {
  height: var(--space-block-section);
}
.l-spacer._xl {
  height: var(--space-block-xl);
}
.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._section-trim {
  height: var(--space-block-section-trim);
}
.l-spacer._xl-trim {
  height: var(--space-block-xl-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-media {
  --l-media-content-width-default: 500px;
  --l-media-columnGap-default: 40px;
  --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";
}
.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 <= 1000px) {
  .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;
  }
}
@media (width <= 375px) {
  .l-media._vertical\@xs3 {
    --l-media-gridTemplateColumns: 1fr;
    --l-media-gridTemplateAreas: var(--l-media-vertical-order);
    --l-media-marginInline: 0;
  }
}
@media (width <= 360px) {
  .l-media._vertical\@min {
    --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: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 5px 50px;
}
.wp-pagenavi a,
.wp-pagenavi span {
  display: block;
  text-decoration: none;
  transition: var(--sec);
}
:where(.wp-block-post-content, .wp-gutenberg) {
  font-size: 1rem;
  line-height: 2;
  --wp--preset--font-size--small: 0.875rem;
  --wp--preset--font-size--medium: 1rem;
  --wp--preset--font-size--large: 1.125rem;
  --wp--preset--font-size--x-large: 1.25rem;
}
: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, ol, ul, table,
   [class*="wp-block"]):not(:last-child) {
  margin-bottom: 40px;
}

.wp-block-heading {
  margin-bottom: 40px;
  border-bottom: 2px solid;
  font-weight: 700;
}

h2.wp-block-heading {
  font-size: 1.5rem;
}

h3.wp-block-heading {
  font-size: 1.375rem;
}

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 {
  padding-left: 1.4em;
}

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

: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) :is(th, td) {
  padding: 5px;
  border: 1px solid;
  text-align: left;
}

.c-heading {
  display: flex;
  flex-direction: column;
  margin-block-end: var(--space-block-md);
  color: var(--color-primary);
}
.c-heading__sub {
  order: -10;
  margin-block-end: var(--space-block-xs-trim);
  font-family: var(--typography-std_en_xxl_bold-font-family);
  font-weight: var(--typography-std_en_xxl_bold-font-weight);
  font-size: var(--typography-std_en_xxl_bold-font-size);
  line-height: var(--typography-std_en_xxl_bold-line-height);
  --letter-spacing: var(--typography-std_en_xxl_bold-letter-spacing);
}
.c-heading__title {
  font-family: var(--typography-std_jp_large_bold-font-family);
  font-weight: var(--typography-std_jp_large_bold-font-weight);
  font-size: var(--typography-std_jp_large_bold-font-size);
  line-height: var(--typography-std_jp_large_bold-line-height);
  --letter-spacing: var(--typography-std_jp_large_bold-letter-spacing);
}

.c-heading2 {
  margin-block-end: var(--space-block-sm);
  color: var(--color-primary);
  font-family: var(--typography-std_jp_large_bold-font-family);
  font-weight: var(--typography-std_jp_large_bold-font-weight);
  font-size: var(--typography-std_jp_large_bold-font-size);
  line-height: var(--typography-std_jp_large_bold-line-height);
  --letter-spacing: var(--typography-std_jp_large_bold-letter-spacing);
}
.c-heading2::before {
  content: "";
  display: block;
  width: 26px;
  height: 2px;
  margin-block-end: var(--space-block-xs);
  background-color: var(--color-primary);
}

.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: 11px 15px;
  border: 1px solid var(--color-primary);
  border-radius: 4px;
  color: var(--color-base);
  font-family: var(--typography-std_jp_medium-font-family);
  font-weight: var(--typography-std_jp_medium-font-weight);
  font-size: var(--typography-std_jp_medium-font-size);
  line-height: var(--typography-std_jp_medium-line-height);
  --letter-spacing: var(--typography-std_jp_medium-letter-spacing);
  background-color: var(--color-light);
  background-repeat: no-repeat;
  -webkit-appearance: none;
  -moz-appearance: none;
}
@media (width <= 768px) {
  .c-input input[type=text],
.c-input input[type=tel],
.c-input input[type=email],
.c-input select,
.c-input textarea {
    padding-block: 8px;
  }
}
.c-input textarea {
  min-height: 390px;
  resize: vertical;
}
@media (width <= 768px) {
  .c-input textarea {
    min-height: 300px;
  }
}
.c-input._w1 input, .c-input._w1 select {
  max-width: 450px;
}

.c-bread__list {
  word-break: break-all;
}
.c-bread__list > li {
  display: inline;
  margin-right: 0.2em;
}
.c-bread__list > li + li:before {
  content: "＞";
}

.c-disc {
  --c-disc-icon-size-default: 13px;
  --c-disc-icon-space-default: 6px;
  --c-disc-icon-color-default: currentColor;
  --c-disc-icon-size: var(--c-disc-icon-size-override, var(--c-disc-icon-size-default));
  --c-disc-icon-space: var(--c-disc-icon-space-override, var(--c-disc-icon-space-default));
  --c-disc-icon-color: var(--c-disc-icon-color-override, var(--c-disc-icon-color-default));
  position: relative;
  padding-inline-start: calc(var(--c-disc-icon-size) + var(--c-disc-icon-space));
}
.c-disc::before {
  content: "";
  position: absolute;
  top: 0.2lh;
  left: 0;
  width: var(--c-disc-icon-size);
  aspect-ratio: 1/1;
  border-radius: 9999px;
  background-color: var(--c-disc-icon-color);
}
.c-disc__link {
  text-decoration: none;
}

.c-list {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  column-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: "●";
}
.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-table {
  width: 100%;
  --c-table-cell-head-width-default: 160px;
  --c-table-cell-paddding-default: calc(var(--space-block-sm) - 2px);
  --c-table-first-cell-padddingStart-default: 0;
  --c-table-last-cell-padddingEnd-default: var(--c-table-cell-paddding);
  --c-table-cell-head-width: var(--c-table-cell-head-width-override, var(--c-table-cell-head-width-default));
  --c-table-cell-paddding: var(--c-table-cell-paddding-override, var(--c-table-cell-paddding-default));
  --c-table-first-cell-padddingStart: var(--c-table-first-cell-padddingStart-override, var(--c-table-first-cell-padddingStart-default));
  --c-table-last-cell-padddingEnd: var(--c-table-last-cell-padddingEnd-override, var(--c-table-last-cell-padddingEnd-default));
}
.c-table__cell {
  border-block-end: 1px solid var(--color-border);
  padding-block: var(--c-table-cell-paddding);
}
.c-table__cell:where(._head) {
  white-space: nowrap;
  width: var(--c-table-cell-head-width);
}
.c-table__row:first-child .c-table__cell {
  padding-block-start: var(--c-table-first-cell-padddingStart);
}
.c-table__row:last-child .c-table__cell {
  padding-block-end: var(--c-table-last-cell-padddingEnd);
}

.c-text {
  --c-text-gap-defalut: 20px;
  --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._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._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._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 > :where(:not(:last-child)) {
  margin-block-end: var(--c-text-gap);
}
.c-text._center {
  text-align: center;
}

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

.c-zoom {
  overflow: hidden;
}
.c-zoom_trigger:focus-visible {
  --c-zoom-scale: var(--zoom);
}
@media (hover: hover) and (pointer: fine) {
  .c-zoom_trigger:hover {
    --c-zoom-scale: var(--zoom);
  }
}
.c-zoom img {
  scale: var(--c-zoom-scale, 1);
  transition-property: scale;
  transition-duration: var(--sec);
}

.p-form {
  position: relative;
  isolation: isolate;
  padding-block-start: var(--space-block-md);
}
.p-form__item {
  display: grid;
  grid-template-columns: 202px 1fr;
  gap: var(--space-block-xs) 20px;
}
.p-form__item:not(:last-child) {
  margin-block-end: calc(var(--space-block-md) - 2px);
}
@media (width <= 900px) {
  .p-form__item {
    grid-template-columns: 1fr;
  }
}
.p-form__label {
  display: contents;
}
.p-form__label-in {
  position: relative;
  display: flex;
  align-items: baseline;
  column-gap: 6px;
}
.p-form__badge {
  font-family: var(--typography-std_jp_medium-font-family);
  font-weight: var(--typography-std_jp_medium-font-weight);
  font-size: var(--typography-std_jp_medium-font-size);
  line-height: var(--typography-std_jp_medium-line-height);
  --letter-spacing: var(--typography-std_jp_medium-letter-spacing);
  line-height: 1;
}
.p-form__badge._required {
  color: var(--color-attention);
}
.p-form__badge._optional {
  color: var(--color-base);
}
.p-form__title {
  font-family: var(--typography-std_jp_bold-font-family);
  font-weight: var(--typography-std_jp_bold-font-weight);
  font-size: var(--typography-std_jp_bold-font-size);
  line-height: var(--typography-std_jp_bold-line-height);
  --letter-spacing: var(--typography-std_jp_bold-letter-spacing);
}
.p-form__submit {
  margin-block-start: var(--space-block-md);
  text-align: center;
}
.p-form__submit input {
  display: inline-grid;
  place-content: center;
  min-width: 300px;
  min-height: 60px;
  padding: 5px 10px;
  border: none;
  border-radius: 9999px;
  color: var(--color-light);
  font-family: var(--typography-std_jp_bold-font-family);
  font-weight: var(--typography-std_jp_bold-font-weight);
  font-size: var(--typography-std_jp_bold-font-size);
  line-height: var(--typography-std_jp_bold-line-height);
  --letter-spacing: var(--typography-std_jp_bold-letter-spacing);
  text-align: center;
  background-color: var(--color-base);
  text-decoration: none;
  cursor: pointer;
  appearance: none;
}

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

html.noscroll {
  overflow: hidden;
}

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

/*ヘッダー*/
.g-header {
  position: fixed;
  z-index: var(--header-z-index);
  top: 0;
  left: 0;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding-inline-end: 40px;
}
@media (width <= 1120px) {
  .g-header {
    padding-inline-end: var(--space-inline);
  }
}
@media (width <= 700px) {
  .g-header {
    padding-inline-end: 5px;
  }
}
.g-header .navi {
  display: flex;
  align-items: center;
  column-gap: 40px;
  font-family: var(--typography-std_jp_bold-font-family);
  font-weight: var(--typography-std_jp_bold-font-weight);
  font-size: var(--typography-std_jp_bold-font-size);
  line-height: var(--typography-std_jp_bold-line-height);
  --letter-spacing: var(--typography-std_jp_bold-letter-spacing);
}
@media (width <= 700px) {
  .g-header .navi {
    display: none;
  }
}
.g-header .navi__list {
  display: flex;
  align-items: center;
  column-gap: 40px;
}
.g-header .navi__list a {
  color: var(--color-primary);
}
html:has(.q-top-mv) .g-header .navi__list a {
  color: var(--color-light);
}

html.is-mv-passed .g-header .navi__list a {
  color: var(--color-primary);
}

.g-header .button {
  display: inline-grid;
  place-content: center;
  min-width: 140px;
  min-height: 44px;
  padding: 5px 10px;
  border-radius: 9999px;
  color: var(--color-primary);
  text-align: center;
  background-color: var(--color-light);
  text-decoration: none;
}
@media (700px < width) {
  .g-header .menu-button {
    display: none !important;
  }
}

/*フッター*/
.g-footer {
  color: var(--color-primary);
  background-color: var(--color-light);
}
.g-footer .inner {
  padding-block: var(--space-block-md);
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 20px;
}
@media (width <= 900px) {
  .g-footer .inner {
    align-items: end;
  }
}
@media (width <= 700px) {
  .g-footer .inner {
    flex-direction: column;
    align-items: center;
    row-gap: var(--space-block-sm);
  }
}
.g-footer .area1 {
  display: flex;
  align-items: center;
  column-gap: 20px;
}
@media (width <= 900px) {
  .g-footer .area1 {
    flex-direction: column;
    align-items: start;
    row-gap: var(--space-block-xs);
  }
}
@media (width <= 700px) {
  .g-footer .area1 {
    align-items: center;
  }
}
.g-footer .sns {
  display: flex;
  column-gap: 10px;
}
@media (width <= 700px) {
  .g-footer .sns {
    justify-content: center;
  }
}
.g-footer .area2 {
  display: flex;
  column-gap: 17px;
}
@media (width <= 1120px) {
  .g-footer .area2 {
    flex-direction: column;
    align-items: end;
    row-gap: var(--space-block-xs);
  }
}
@media (width <= 700px) {
  .g-footer .area2 {
    align-items: center;
  }
}
.g-footer .area2 a {
  text-decoration: underline;
}
.g-footer .area2 a:focus-visible {
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  .g-footer .area2 a:hover {
    text-decoration: none;
  }
}
.g-footer .navi {
  display: flex;
  column-gap: 20px;
}
@media (width <= 700px) {
  .g-footer .copyright {
    text-align: center;
  }
}

/*メイン*/
.g-main {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.g-main:after {
  content: " ";
  display: block;
  clear: both;
}

.g-menu {
  position: fixed;
  z-index: calc(var(--header-z-index) - 100);
  isolation: isolate;
  left: 0;
  top: 0;
  width: 100%;
  min-width: var(--min-device-width);
  border-radius: 0 0 20px 20px;
  padding-block: calc(var(--space-block-sm) + var(--header-size)) var(--space-block-md);
  color: var(--color-base);
  background-color: var(--color-light);
  -ms-overflow-style: none;
  scrollbar-width: none;
  box-shadow: 0 0 10px color-mix(in srgb, var(--color-primary) 30%, transparent);
  overflow: 0;
  translate: 0 -100%;
  visibility: hidden;
  transition-property: translate, visibility, opacity;
  transition-duration: var(--sec-fast);
}
@media (700px < width) {
  .g-menu {
    display: none !important;
  }
}
.g-menu::-webkit-scrollbar {
  display: none;
}
.g-menu.is-open {
  opacity: 1;
  translate: none;
  visibility: visible;
}
.g-menu .navi {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  row-gap: var(--space-block-sm);
}
.g-menu .navi__list {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-block-sm);
  color: var(--color-primary);
  font-family: var(--typography-std_jp_bold-font-family);
  font-weight: var(--typography-std_jp_bold-font-weight);
  font-size: var(--typography-std_jp_bold-font-size);
  line-height: var(--typography-std_jp_bold-line-height);
  --letter-spacing: var(--typography-std_jp_bold-letter-spacing);
}
.g-menu .button {
  display: inline-grid;
  place-content: center;
  min-width: 140px;
  min-height: 44px;
  padding: 5px 10px;
  border-radius: 9999px;
  color: var(--color-light);
  text-align: center;
  background-color: var(--color-primary);
  text-decoration: none;
}

.q-confirm .formTable {
  margin-inline: auto;
}
.q-confirm .formTable :is(th,td) {
  padding-block: var(--space-block-sm);
}
.q-confirm .formTable th {
  padding-inline-end: 40px;
  color: var(--color-primary);
  font-family: var(--typography-std_jp_bold-font-family);
  font-weight: var(--typography-std_jp_bold-font-weight);
  font-size: var(--typography-std_jp_bold-font-size);
  line-height: var(--typography-std_jp_bold-line-height);
  --letter-spacing: var(--typography-std_jp_bold-letter-spacing);
}
@media (width <= 600px) {
  .q-confirm .formTable, .q-confirm .formTable tbody, .q-confirm .formTable tr, .q-confirm .formTable th, .q-confirm .formTable td {
    display: block;
    border: 0;
    padding: 0;
  }
  .q-confirm .formTable tr {
    padding-block: var(--space-block-sm-trim);
  }
  .q-confirm .formTable tr:first-child {
    padding-block-start: 0;
  }
  .q-confirm .formTable th {
    margin-block-end: var(--space-block-xs-trim);
  }
}
.q-confirm .submit {
  display: flex;
  justify-content: center;
  column-gap: 20px;
  margin-block-start: var(--space-block-md);
}
@media (width <= 768px) {
  .q-confirm .submit {
    flex-direction: column-reverse;
    align-items: center;
    row-gap: var(--space-block-sm);
  }
}
.q-confirm .submit__button {
  display: inline-grid;
  place-content: center;
  min-width: 300px;
  min-height: 60px;
  padding: 5px 10px;
  border: 2px solid var(--color-base);
  border-radius: 9999px;
  color: var(--color-light);
  font-family: var(--typography-std_jp_bold-font-family);
  font-weight: var(--typography-std_jp_bold-font-weight);
  font-size: var(--typography-std_jp_bold-font-size);
  line-height: var(--typography-std_jp_bold-line-height);
  --letter-spacing: var(--typography-std_jp_bold-letter-spacing);
  text-align: center;
  background-color: var(--color-base);
  text-decoration: none;
  cursor: pointer;
  appearance: none;
}
.q-confirm .submit__button._back {
  color: var(--color-base);
  background-color: var(--color-light);
}

.q-thanks {
  flex-grow: 1;
  align-content: center;
  margin-block-start: calc(var(--header-size) * -1);
  padding-block-start: var(--header-size);
  color: var(--color-primary);
}
.q-thanks .thanks {
  text-align: center;
}
.q-thanks .thanks_container {
  container: thanks/inline-size;
}
.q-thanks .thanks__head {
  margin-block-end: var(--space-block-md);
}
.q-thanks .thanks__en {
  margin-block-end: var(--space-block-xs-trim);
  font-family: var(--typography-std_en_xxl_bold-font-family);
  font-weight: var(--typography-std_en_xxl_bold-font-weight);
  font-size: var(--typography-std_en_xxl_bold-font-size);
  line-height: var(--typography-std_en_xxl_bold-line-height);
  --letter-spacing: var(--typography-std_en_xxl_bold-letter-spacing);
}
@media (width <= 500px) {
  .q-thanks .thanks__en {
    font-size: clamp(1.25rem, 11.5555cqi, 3.25rem);
  }
}
.q-thanks .thanks__title {
  font-family: var(--typography-std_jp_large_bold-font-family);
  font-weight: var(--typography-std_jp_large_bold-font-weight);
  font-size: var(--typography-std_jp_large_bold-font-size);
  line-height: var(--typography-std_jp_large_bold-line-height);
  --letter-spacing: var(--typography-std_jp_large_bold-letter-spacing);
}
.q-thanks .thanks__foot {
  margin-block-start: var(--space-block-md);
}
.q-thanks .thanks__foot a {
  display: inline-grid;
  place-content: center;
  min-width: 300px;
  min-height: 60px;
  padding: 5px 10px;
  border-radius: 9999px;
  color: var(--color-light);
  font-family: var(--typography-std_jp_bold-font-family);
  font-weight: var(--typography-std_jp_bold-font-weight);
  font-size: var(--typography-std_jp_bold-font-size);
  line-height: var(--typography-std_jp_bold-line-height);
  --letter-spacing: var(--typography-std_jp_bold-letter-spacing);
  text-align: center;
  background-color: var(--color-base);
  text-decoration: none;
}

.q-top-mv {
  margin-block-start: calc(var(--header-size) * -1);
  display: flex;
  flex-direction: column;
  min-height: 100svh;
}
.q-top-mv .mv {
  flex-grow: 1;
  align-content: center;
  position: relative;
  isolation: isolate;
  padding-block-start: var(--header-size);
  text-align: center;
  background-image: linear-gradient(to bottom, var(--color-primary), var(--color-primary-light) 200%);
  overflow: hidden;
}
.q-top-mv .mv__image {
  padding-block: var(--space-block-sm);
}
.q-top-mv .mv__bg {
  position: absolute;
  z-index: -10;
  top: 0;
  inset-inline: -10000px;
  margin-inline: auto;
  max-width: none;
}
@media (width <= 1000px) and (700px < width) {
  .q-top-mv .mv img {
    zoom: 1.2;
  }
}
@media (width <= 1000px) and (768px < width) {
  .q-top-mv .mv img {
    zoom: 1.5;
  }
}
.q-top-mv .copy {
  padding-block: var(--space-block-md);
  color: var(--color-light);
  font-family: var(--typography-std_jp_xl_bold-font-family);
  font-weight: var(--typography-std_jp_xl_bold-font-weight);
  font-size: var(--typography-std_jp_xl_bold-font-size);
  line-height: var(--typography-std_jp_xl_bold-line-height);
  --letter-spacing: var(--typography-std_jp_xl_bold-letter-spacing);
  text-align: center;
  background-color: var(--color-primary);
}
@media (width <= 1000px) {
  .q-top-mv .copy {
    font-size: 1.625rem;
  }
}
@media (width <= 768px) {
  .q-top-mv .copy {
    padding-block: var(--space-block-sm);
    font-size: 1.25rem;
  }
}

.q-top-about {
  color: var(--color-primary);
}
.q-top-about .table {
  width: 100%;
}
.q-top-about .table :is(th,td) {
  border-block-end: 1px solid;
  padding-block: calc(var(--space-block-sm) - 1px) calc(var(--space-block-sm) - 2px);
}
.q-top-about .table tr:first-child :is(th,td) {
  padding-block-start: 0;
}
.q-top-about .table th {
  width: 160px;
  padding-inline-end: 10px;
}
@media (width <= 600px) {
  .q-top-about .table, .q-top-about .table tbody, .q-top-about .table tr, .q-top-about .table th, .q-top-about .table td {
    display: block;
    border: 0;
    padding: 0;
  }
  .q-top-about .table tr {
    padding-block: var(--space-block-sm-trim);
    border-block-end: 1px solid;
  }
  .q-top-about .table tr:first-child {
    padding-block-start: 0;
  }
  .q-top-about .table th {
    margin-block-end: var(--space-block-xs-trim);
    font-weight: 700;
  }
}
.q-top-about .map {
  position: relative;
  height: 100%;
}
.q-top-about .map_wrapper {
  padding-inline-end: var(--space-inline);
}
@media (width <= 1000px) {
  .q-top-about .map_wrapper {
    margin-block-start: var(--space-block-md);
    padding-inline-end: 0;
  }
}
@media (width <= 1000px) {
  .q-top-about .map {
    height: 360px;
  }
}
@media (width <= 768px) {
  .q-top-about .map {
    height: 240px;
  }
}
.q-top-about .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.q-top-contact {
  color: var(--color-primary);
}
.q-top-contact .text {
  margin-block-end: var(--space-block-sm);
}
@media (width <= 600px) {
  .q-top-contact .contact {
    margin-inline: var(--space-inline-negative);
  }
}
.q-top-contact .contact__head {
  display: grid;
  grid-template-columns: 580fr 530fr;
  column-gap: 10px;
  margin-block-end: var(--space-block-xs);
}
@media (width <= 1000px) {
  .q-top-contact .contact__head {
    grid-template-columns: 1fr;
    row-gap: var(--space-block-xs);
  }
}
.q-top-contact .contact__content {
  padding: 40px 40px 20px;
  background-color: var(--color-light);
}
@media (width <= 600px) {
  .q-top-contact .contact__content {
    padding-inline: var(--space-inline);
  }
}
.q-top-contact .contact__body {
  padding-block-end: 40px;
}
.q-top-contact .tel_container {
  container: tel/inline-size;
}
.q-top-contact .tel__number {
  padding-block-start: 4px;
  font-family: var(--typography-std_en_xxl_bold-font-family);
  font-weight: var(--typography-std_en_xxl_bold-font-weight);
  font-size: var(--typography-std_en_xxl_bold-font-size);
  line-height: var(--typography-std_en_xxl_bold-line-height);
  --letter-spacing: var(--typography-std_en_xxl_bold-letter-spacing);
  font-size: clamp(1.25rem, 10.4cqi, 3.25rem);
}
@media (width <= 1000px) {
  .q-top-contact .tel__number {
    text-align: center;
  }
}
@media (width <= 1000px) {
  .q-top-contact .line__banner {
    text-align: center;
  }
}

