@charset "utf-8";
/*--------------------------------------------------------------------------------

  container

--------------------------------------------------------------------------------*/
.c-container {
  width: calc(var(--container-width, var(--base-width)) * 1px);
  max-width: calc(100% - (var(--container-side-space, var(--side-space)) * 2));
  margin-inline: auto;
}

/*--------------------------------------------------------------------------------

  breadcrumb

--------------------------------------------------------------------------------*/
.c-breadcrumb {
  width: calc(var(--base-width) * 1px);
  max-width: calc(100% - (var(--side-space) * 2));
  margin-inline: auto;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 0.5rem;
  font-size: var(--fs-s);
  line-height: var(--lh-s);
}
.c-breadcrumb li { position: relative; }
.c-breadcrumb li:not(:first-child):before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 1rem;
  height: 1px;
  border-top: 1px solid var(--border-color-dark);
  margin-right: 0.5rem;
}

/*--------------------------------------------------------------------------------

  title

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .c-ttl-col
--------------------------------------------------------------------------------*/
.c-ttl-col {
  line-height: var(--lh-s);
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
  justify-content: center;
  align-items: center;
}
.c-ttl-col_item:not(:has(.c-ttl)) {
  font-family: var(--ff-min);
}
.c-ttl-col_item:not(:has(.c-ttl)):not([class*="fs-"]) { font-size: var(--fs-l); }
.c-ttl-col_item:not(:has(.c-ttl)):not([class*="fw-"]) { font-weight: 500; }
@media not (max-width: 640px) {
  .c-ttl-col_item:not(:has(.c-ttl)) { margin-bottom: var(--ttl-mgb, var(--space-m)); }
}
@media (max-width: 640px) {
  .c-ttl-col {
    flex-direction: column;
  }
}

/*--------------------------------------------------------------------------------
  .c-ttl
--------------------------------------------------------------------------------*/
@media not (max-width: 640px) { .c-ttl { --cgap: 1.5rem; } }
@media (max-width: 640px) { .c-ttl { --cgap: 0.5rem; } }
.c-ttl {
  --line-color: var(--color-base-lighter);
  color: var(--ttl-color, inherit);
  font-family: var(--ff-min);
  line-height: var(--lh-s);
  display: flex;
  justify-content: center;
  column-gap: var(--cgap);
  text-align: center;
  position: relative;
}
.c-ttl:not([class*="fs-"]) { font-size: var(--ttl-fs, var(--fs-4l)); }
.c-ttl:not([class*="fw-"]) { font-weight: var(--ttl-fw, 500); }
.c-ttl:not([class*="mgb-"]) { margin-bottom: var(--ttl-mgb, var(--space-m)); }
.c-ttl:before,
.c-ttl:after {
  content: "";
  width: 10px;
  flex-shrink: 0;
  margin-bottom: -0.15rem;
  border-top: solid 1px var(--ttl-line-color, var(--line-color));
  border-bottom: solid 1px var(--ttl-line-color, var(--line-color));
}
.c-ttl:before { border-left: solid 1px var(--ttl-line-color, var(--line-color)); }
.c-ttl:after { border-right: solid 1px var(--ttl-line-color, var(--line-color)); }
.c-ttl_col {
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.25rem;
  align-items: center;
  justify-content: center;
}
.c-ttl:not([class*="fw-"]) .c-ttl_col:not([class*="fw-"]) { font-weight: var(--ttl-fw, 500); }
@media (max-width: 640px) {
  .c-ttl_col { flex-direction: column; }
}

/*--------------------------------------------------------------------------------
  .c-ttl2
--------------------------------------------------------------------------------*/
.c-ttl2 {
  color: var(--ttl2-color, inherit);
  font-family: var(--ff-min);
  line-height: var(--lh-s);
  text-align: center;
}
.c-ttl2:not([class*="fs-"]) { font-size: var(--ttl2-fs, var(--fs-4l)); }
.c-ttl2:not([class*="fw-"]) { font-weight: var(--ttl2-fw, 500); }
.c-ttl2:not([class*="mgb-"]) { margin-bottom: var(--ttl2-mgb, var(--space-m)); }

/*--------------------------------------------------------------------------------
  .c-sub-ttl
--------------------------------------------------------------------------------*/
.c-sub-ttl {
  --line-color: var(--color-base-lighter);
  line-height: var(--lh-s);
  text-align: center;
  width: fit-content;
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: clamp(0.5rem, 0.5em, 1rem);
}
.c-sub-ttl:not([class*="fs-"]) { font-size: var(--sub-ttl-fs, var(--fs-3l)); }
.c-sub-ttl:not([class*="fw-"]) { font-weight: var(--sub-ttl-fw, 500); }
.c-sub-ttl:not([class*="mgb-"]) { margin-bottom: var(--sub-ttl-mgb, var(--space-m)); }
.c-sub-ttl_txt {
  font-family: var(--ff-min);
  color: var(--sub-ttl-color, inherit);
  display: inline-flex;
  align-items: baseline;
  column-gap: 0.25rem;
}
.c-sub-ttl:not([class*="fw-"]) .c-sub-ttl_txt:not([class*="fw-"]) { font-weight: var(--sub-ttl-fw, 500); }
.c-sub-ttl_line,
.c-sub-ttl_line:after {
  width: 100%;
  height: 4px;
  display: block;
}
.c-sub-ttl_line {
  overflow: hidden;
  transform: skewX(-45deg);
}
.c-sub-ttl_line:after {
  content: "";
  background-size: 4px 4px;
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 2px, var(--sub-ttl-line-color, var(--line-color)) 2px, var(--sub-ttl-line-color, var(--line-color)) 3px);
  transform: skewX(45deg) scale(1.1);
}

/*--------------------------------------------------------------------------------

  section box
  
--------------------------------------------------------------------------------*/
.c-sec-box-list {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-m);
}
.c-sec-box {
  background-color: #FFF;
  padding-block: var(--sec-box-pd, var(--inner-space-l));
  padding-inline: var(--sec-box-pd-side, var(--inner-space-l));
  text-align: left;
}
.c-sec-box:has(.c-sec-box_ttl) {
  padding-top: var(--sec-box-pd-top, var(--inner-space-l));
}
@media (max-width: 640px) {
  .c-sec-box {
    padding-block: max(var(--sec-box-pd-min, var(--space-m)), var(--sec-box-pd, var(--inner-space-l)));
  }
  .c-sec-box:has(.c-sec-box_ttl) {
    padding-top: var(--sec-box-pd-top, var(--space-l));
  }
}

/*--------------------------------------------------------------------------------
  .c-sec-box_set
--------------------------------------------------------------------------------*/
.c-sec-box_set {
  display: flex;
}
.c-sec-box_set:not([class*="cgap"]) {
  column-gap: var(--inner-space-l);
}
.c-sec-box_set:not([class*="rgap"]) {
  row-gap: 1.5rem;
}
.c-sec-box_set-img {
  flex-shrink: 0;
  text-align: center;
}
.c-sec-box_set-img img:not([style*="--width-pc"],[style*="--width-sp"]) {
  max-width: var(--width, 400px);
}
.c-sec-box_set-txt {
  flex-grow: 1;
}
@media not (max-width: 640px) {
  .c-sec-box_set {
    align-items: start;
  }
  .c-sec-box_set-img[style*="--order-pc"],
  .c-sec-box_set-txt[style*="--order-pc"] {
    order: var(--order-pc);
  }
}
@media (max-width: 640px) {
  .c-sec-box_set {
    flex-direction: column;
  }
  .c-sec-box_set-img {
    align-self: center;
  }
  .c-sec-box_set-img[style*="--order-sp"],
  .c-sec-box_set-txt[style*="--order-sp"] {
    order: var(--order-sp);
  }
}

/*--------------------------------------------------------------------------------

  flow

--------------------------------------------------------------------------------*/
@media not (max-width: 640px) {
  .c-flow {
    --cgap: 2rem;
    --no-width: 2rem;
    --no-fs: var(--fs-2m-rem);
  }
}
@media (max-width: 640px) {
  .c-flow {
    --cgap: 1.5rem;
    --no-width: 1.75rem;
    --no-fs: var(--fs-m-rem);
  }
}
.c-flow {
  --rgap: var(--space-m);
  --item-rgap: 1rem;
  --no-bg: var(--color-base);
  --no-line-color: var(--border-color);
  display: flex;
  flex-direction: column;
  row-gap: var(--rgap);
}
.c-flow_item {
  counter-increment: number;
  display: flex;
  flex-direction: column;
  row-gap: var(--item-rgap);
  position: relative;
}
.c-flow_ttl {
  display: flex;
  align-items: center;
  column-gap: var(--cgap);
}
.c-flow_ttl:before {
  flex-shrink: 0;
  align-self: start;
  content: counter(number);
  font-family: var(--ff-min);
  font-size: var(--no-fs);
  width: var(--no-width);
  line-height: 1;
  aspect-ratio: 1 / 1;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--no-bg);
  margin-top: var(--no-mgt);
  color: #FFF;
  position: relative;
  z-index: 2;
}
.c-flow_item:not(:last-child):after {
  content: "";
  width: calc(var(--no-width) / 2);
  height: calc(100% - var(--no-width) + var(--rgap));
  position: absolute;
  left: 0;
  top: var(--no-width);
  border-right: 1px solid var(--no-line-color);
}
.c-flow_desc {
  padding-left: calc(var(--no-width) + var(--cgap));
}

/*--------------------------------------------------------------------------------
 
  instagram

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .c-insta-list
--------------------------------------------------------------------------------*/
@media not (max-width: 640px) { .c-insta-list { --col: var(--insta-col, 3); --max-width: var(--insta-max-width, 100%); } }
@media (max-width: 640px) { .c-insta-list { --col: var(--insta-col, 1); --max-width: var(--insta-max-width, 500px); } }
.c-insta-list {
  list-style: none;
  max-width: var(--max-width);
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(var(--col), 1fr);
  justify-content: center;
  gap: var(--space-s);
}
.c-insta-list img {
  height: 100%;
  object-fit: cover;
}

/*--------------------------------------------------------------------------------
 
  icon

--------------------------------------------------------------------------------*/
:root {
  --icon-pdf: url("../image/icon/pdf.svg?d=2026");
  --icon-xls: url("../image/icon/xls.svg?d=2026");
  --icon-doc: url("../image/icon/doc.svg?d=2026");
  --icon-ppt: url("../image/icon/ppt.svg?d=2026");
  --icon-newwin: url("../image/icon/newwin.svg");
  --icon-list: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16"><path fill-rule="evenodd" d="M5 11.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5m-3 1a1 1 0 1 0 0-2 1 1 0 0 0 0 2m0 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2m0 4a1 1 0 1 0 0-2 1 1 0 0 0 0 2"/></svg>');
}

/*--------------------------------------------------------------------------------
  .c-newwin
--------------------------------------------------------------------------------*/
:root { --newwin-size: 0.85rem; --newwin-mgl: 0.5rem; --newwin-mgr: 0.5rem; --newwin-mgt: 0; --newwin-mgb: 0.25rem; }
.c-newwin[target="_blank"]:after,
a[target="_blank"] .c-newwin:after {
  content: "";
  width: var(--newwin-size);
  height: var(--newwin-size);
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
  margin-left: var(--newwin-mgl);
  margin-right: var(--newwin-mgr);
  margin-top: var(--newwin-mgt);
  margin-bottom: var(--newwin-mgb);
  background: currentColor;
  color: currentColor;
  mask-image: var(--icon-newwin);
  mask-repeat: no-repeat;
  mask-size: cover;
}
.c-newwin[target="_blank"]:after,
.c-newwin[target="_blank"]:hover:after,
a[target="_blank"] .c-newwin:after,
a[target="_blank"]:hover .c-newwin:after { color: inherit; }

/*--------------------------------------------------------------------------------
  .c-down-arrow
--------------------------------------------------------------------------------*/
.c-down-arrow {
  text-align: center;
}
.c-down-arrow img {
  max-width: 4rem;
}
.c-down-arrow:not([class*="mgt-"]) {
  margin-top: -0.75rem;
}

/*--------------------------------------------------------------------------------

  file

--------------------------------------------------------------------------------*/
:root {
  --default-file-color: var(--link-color);
  --default-file-color-hover: var(--link-color-hover);
  --default-file-deco: underline;
  --default-file-deco-hover: none;
  --default-file-size: min(2em, 2rem);
  --default-file-bg-size: contain;
}
.c-file {
  color: var(--file-color, var(--default-file-color));
  text-decoration: var(--file-deco, var(--default-file-deco));
  vertical-align: middle;
  display: inline-flex;
  align-self: center;
  column-gap: 0.5rem;
  line-height: var(--lh-s);
}
.c-file:before {
  content: "";
  flex-shrink: 0;
  width: var(--file-size, var(--default-file-size));
  height: var(--file-size, var(--default-file-size));
  margin-right: var(--file-mgl);
  margin-left: var(--file-mgr);
  margin-top: var(--file-mgt, -0.25rem);
  margin-bottom: var(--file-mgb);
  background-image: var(--file-icon, var(--default-file-icon));
  background-repeat: no-repeat;
  background-position: center center;
  background-size: var(--file-bg-size, var(--default-file-bg-size));
  transition: transition: color 0.15s ease, background 0.15s ease;
}
.c-file.-pdf { --file-icon: var(--icon-pdf); }
.c-file.-xls { --file-icon: var(--icon-xls); }
.c-file.-doc { --file-icon: var(--icon-doc); }
.c-file.-ppt { --file-icon: var(--icon-ppt); }
@media (hover: hover) {
  .c-file-link:hover {
    color: var(--file-color-hover, var(--default-file-color-hover));
  }
}

/*--------------------------------------------------------------------------------
 
  button

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .c-btn
--------------------------------------------------------------------------------*/
:root {
  --default-btn-fs: 1rem;
  /*--default-btn-ff: ;*/
  --default-btn-fw: 300;
  --default-btn-txt: #FFF;
  --default-btn-txt-hover: #FFF;
  --default-btn-txt-pd-side: min(1.5em, 1.5rem);
  --default-btn-cgap: 1rem;
  --default-btn-pd: min(0.75em, 0.75rem);
  --default-btn-pd-side: min(3em, 3rem);
  /*--default-btn-width: ;*/
  /*--default-btn-width-min: ;*/
  --default-btn-radius: 5px;
  --default-btn-bg: var(--color-base);
  --default-btn-bg-hover: var(--color-base-light);
  /*--default-btn-outline: ;*/
  /*--default-btn-outline-hover: ;*/
}
.c-btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  border: none;
  margin: 0;
  outline: none;
  cursor: pointer;
  text-decoration: none;
  line-height: var(--btn-line-height, var(--lh-s));
  display: inline-flex;
  vertical-align: top;
  justify-content: center;
  align-items: var(--btn-align-items, center);
  column-gap: var(--btn-cgap, var(--default-btn-cgap));
  transition: background ease 0.2s, border ease 0.2s, color ease 0.1s;
  width: var(--btn-width, var(--default-btn-width));
  min-width: var(--btn-width-min, var(--default-btn-width-min));
  padding: var(--btn-pd, var(--default-btn-pd)) var(--btn-pd-side, var(--default-btn-pd-side));
  border-radius: var(--btn-radius, var(--default-btn-radius));
  border: var(--btn-outline, var(--default-btn-outline));
  background-color: var(--btn-bg, var(--default-btn-bg));
  color: var(--btn-txt, var(--default-btn-txt));
}
.c-btn:not([class*="u-fs"]) { font-size: var(--btn-fs, var(--default-btn-fs)); }
.c-btn:not([class*="u-fw"]) { font-weight: var(--btn-fw, var(--default-btn-fw)); }
.c-btn:not([class*="u-ff"]) { font-family: var(--btn-ff, var(--default-btn-ff)); }
.c-btn,
.c-btn a:visited,
.c-btn:hover { color: var(--btn-txt, var(--default-btn-txt)); text-decoration: none; }
@media (hover: hover) {
  .c-btn:hover,
  a:hover .c-btn {
    background-color: var(--btn-bg-hover, var(--default-btn-bg-hover));
    border: var(--btn-outline-hover, var(--default-btn-outline-hover));
    color: var(--btn-txt-hover, var(--default-btn-txt-hover));
  }
}

/* .c-btn.-arrow
----------------------------------------*/
.c-btn.-arrow {
  --default-btn-arrow-color: #FFF;
  --default-btn-arrow-width: 1.5rem;
  transition: all 0.3s;
}
.c-btn.-arrow:after {
  content: "";
  flex-shrink: 0;
  width: var(--btn-arrow-width, var(--default-btn-arrow-width));
  height: 5px;
  display: inline-block;
  border-right: 1px solid var(--btn-arrow-color, var(--default-btn-arrow-color));
  border-bottom: 1px solid var(--btn-arrow-color, var(--default-btn-arrow-color));
  transform: skew(45deg);
  transition: all 0.3s;
}
.c-btn.-arrow .c-btn_txt {
  transition: all 0.3s;
}
@media (hover: hover) {
  .c-btn.-arrow:hover:after,
  a:hover .c-btn.-arrow:after {
    transform-origin: left top;
    transform: skew(45deg) scale(0,1);
    opacity: 0;
  }
  .c-btn.-arrow:hover .c-btn_txt,
  a:hover .c-btn.-arrow .c-btn_txt {
    margin-right: calc(-1 * var(--btn-arrow-width, var(--default-btn-arrow-width)));
    padding-left: var(--btn-arrow-width, var(--default-btn-arrow-width));
  }
}

/* .c-btn.-linear
----------------------------------------*/
.c-btn.-linear {
  --default-btn-txt: var(--txt-color);
  --default-btn-txt-hover: #FFF;
  --default-btn-bg: transparent;
  --default-btn-bg-hover: transparent;
  --default-btn-outline: 1px solid var(--color-base);
  --default-btn-outline-hover: 1px solid var(--color-base);
  --default-btn-linear-bg: var(--color-base);
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.c-btn.-linear:before {
  content: "";
  width: 102%;
  height: 102%;
  position: absolute;
  left: -1%;
  top: -1%;
  right: -1%;
  bottom: -1%;
  z-index: -1;
  transform-origin: right top;
  transform: scale(0,1);
  transition: transform 0.5s;
  background-color: var(--btn-linear-bg, var(--default-btn-linear-bg));
}
@media (hover: hover) {
  .c-btn.-linear:hover:before,
  .c-btn.-linear a:hover:before,
  a:hover .c-btn.-linear:before {
    transform-origin: left top;
    transform: scale(1,1);
  }
}

/*--------------------------------------------------------------------------------

  marker

--------------------------------------------------------------------------------*/
.c-marker {
  background: linear-gradient(var(--marker-bg, var(--color-blue-light)) 100%);
  padding: 0.15rem 0.25rem;
  color: var(--marker-color, #FFF);
}
.c-marker:not([class*="fw-"]) { font-weight: var(--marker-fw, 400); }
.c-marker.-yellow {
  background: linear-gradient(var(--color-yellow) 100%);
  color: inherit;
}

/*--------------------------------------------------------------------------------

  list

--------------------------------------------------------------------------------*/
.c-list {
  display: flex;
  flex-direction: column;
  line-height: var(--lh-s);
  margin-left: 1.15em;
}
.c-list:not([class*="rgap"]) { row-gap: var(--list-rgap, 0.25rem); }

/*--------------------------------------------------------------------------------
  .c-check-list
--------------------------------------------------------------------------------*/
.c-check-list {
  display: flex;
  flex-direction: column;
  line-height: var(--lh-s);
}
.c-check-list:not([class*="rgap"]) { row-gap: 0.25rem; }
.c-check-list li {
  display: flex;
  column-gap: 0.75rem;
}
.c-check-list li:before {
  flex-shrink: 0;
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.25rem;
  background: url("../image/icon/check.svg?d=2026") no-repeat center center;
  background-size: cover;
}

/*--------------------------------------------------------------------------------
  .c-list-dot
--------------------------------------------------------------------------------*/
.c-list-dot {
  list-style: none;
  display: flex;
  flex-direction: column;
  line-height: var(--lh-s);
}
.c-list-dot li {
  padding-left: 1em;
}
.c-list-dot li:before {
  content: "・";
  margin-left: -1em;
}
.c-list-dot:not([class*="rgap"]) { row-gap: var(--list-dot-rgap, 0.25rem); }

/*--------------------------------------------------------------------------------
  .c-list-circle
--------------------------------------------------------------------------------*/
.c-list-circle {
  list-style: none;
  display: flex;
  flex-direction: column;
  line-height: var(--lh-s);
}
.c-list-circle li {
  padding-left: 1.25em;
}
.c-list-circle li:before {
  content: "●";
  color: var(--color-blue-light);
  margin-left: -1em;
  margin-right: 0.25em;
}
.c-list-circle:not([class*="rgap"]) { row-gap: var(--list-circle-rgap, 0.25rem); }

/*--------------------------------------------------------------------------------
  .c-checkbox-list
--------------------------------------------------------------------------------*/
.c-checkbox-list {
  list-style: none;
  display: inline-grid;
  line-height: var(--lh-s);
}
.c-checkbox-list:not([class*="rgap"]) { row-gap: var(--list-rgap, 0.25rem); }
.c-checkbox-list input[type="checkbox"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.c-checkbox-list label {
  display: inline-flex;
  cursor: pointer;
}
.c-checkbox-list label:before {
  content: "";
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  margin-top: 0.05rem;
  margin-right: 0.75rem;
  background-image: url("../image/icon/is-checkbox.svg?d=2026");
  background-repeat: no-repeat;
  background-size: contain;
}
.c-checkbox-list input[type="checkbox"]:checked + label:before {
  background-image: url("../image/icon/is-checkbox_on.svg?d=2026");
}
@media (hover: hover) {
  .c-checkbox-list label:hover {
    color: var(--link-color-hover);
    transition: color 0.15s ease;
  }
}

/*--------------------------------------------------------------------------------

  table

--------------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------------
  .c-tbl
--------------------------------------------------------------------------------*/
.c-tbl {
  width: 100%;
  border-collapse: collapse;
  line-height: var(--lh-s);
}
.c-tbl th,
.c-tbl td {
  padding: 1.25rem 1.5rem;
}
.c-tbl th {
  background-color: var(--color-base-lightest);
  color: #FFF;
  font-weight: 400;
  vertical-align: top;
  text-align: center;
}
.c-tbl td {
  vertical-align: middle;
  background-color: #FFF;
  text-align: left;
}
@media not (max-width: 640px) {
  .c-tbl tr:not(:last-child) th {
    border-bottom: 1px solid rgb(255 255 255 / 0.3);
  }
  .c-tbl tr:not(:last-child) td {
    border-bottom: 1px solid var(--border-color);
  }
}
@media (max-width: 640px) {
  .c-tbl colgroup {
    display: none !important;
  }
  .c-tbl, 
  .c-tbl tbody {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
  }
  .c-tbl tr {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1 / -1;
  }
  .c-tbl th {
    text-align: left;
    padding: 0.75rem 1rem;
  }
}

/*--------------------------------------------------------------------------------
  .c-tbl2
--------------------------------------------------------------------------------*/
.c-tbl2 {
  width: 100%;
  border-collapse: collapse;
  margin-top: var(--space-m);
  line-height: var(--lh-s);
}
.c-tbl2 tr:not(:last-child) th {
  border-bottom: 1px solid rgb(255 255 255 / 0.3);
}
.c-tbl2 tr:not(:last-child) td {
  border-bottom: 1px solid var(--border-color);
}
.c-tbl2 th,
.c-tbl2 td {
  padding: 1.25rem;
  vertical-align: middle;
}
.c-tbl2 th {
  white-space: nowrap;
  background-color: var(--color-blue-lighter);
  color: #FFF;
  font-weight: 400;
  text-align: center;
}
.c-tbl2 td {
  background-color: var(--bg-base);
}
.c-tbl2_price {
  font-family: var(--ff-min);
  line-height: 1;
}
.c-tbl2_price:not([class*="fs-"]) { font-size: var(--fs-l); }
.c-tbl2_price:not([class*="fw-"]) { font-weight: 500; }
.c-tbl2_price:not([class*="fc-"]) { color: var(--color-blue); }
.c-tbl2_tax {
  font-family: var(--ff-min);
}
.c-tbl2_tax:not([class*="fs-"]) { font-size: var(--fs-2s); }
.c-tbl2_tax:not([class*="fw-"]) { font-weight: 400; }
.c-tbl2_tax:not([class*="fc-"]) { color: var(--color-blue); }
@media (max-width: 640px) {
  .c-tbl2 th,
  .c-tbl2 td {
    padding: 1rem;
  }
}

/*--------------------------------------------------------------------------------

  manga slider

--------------------------------------------------------------------------------*/
.c-manga {
  overflow: hidden;
  position: relative;
}
.c-manga_slider {
  list-style: none;
  background-color: #FFF;
}

/*--------------------------------------------------------------------------------
  .c-manga_arrow
--------------------------------------------------------------------------------*/
.c-manga_arrow .slick-prev,
.c-manga_arrow .slick-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  transition: background 0.2s ease;
}
.c-manga_arrow .slick-prev { right: 0; }
.c-manga_arrow .slick-next { left: 0; }
.c-manga_arrow .slick-prev.slick-disabled,
.c-manga_arrow .slick-next.slick-disabled { display: none !important; }
.c-manga_arrow .slick-prev,
.c-manga_arrow .slick-next,
.c-manga_arrow .slick-prev:hover,
.c-manga_arrow .slick-next:hover,
.c-manga_arrow .slick-prev:focus,
.c-manga_arrow .slick-next:focus {
  background-color: rgb(0 0 0 / 0.3);
}
.c-manga_arrow .slick-prev:after,
.c-manga_arrow .slick-next:after {
  content:"";
  display: inline-block;
  width: 17px;
  height: 17px;
  border-right: 2px solid #FFF;
  border-bottom: 2px solid #FFF;
}
.c-manga_arrow .slick-prev:after { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
.c-manga_arrow .slick-next:after { -webkit-transform: rotate(135deg); transform: rotate(135deg); }
@media not (max-width: 640px) {
  .c-manga_arrow .slick-prev,
  .c-manga_arrow .slick-next {
    width: 60px;
    height: 90px;
  }
  .c-manga_arrow .slick-prev:after { margin-left: -8px; }
  .c-manga_arrow .slick-next:after { margin-left: 8px; }
}
@media (max-width: 640px) {
  .c-manga_arrow .slick-prev,
  .c-manga_arrow .slick-next {
    width: 40px;
    height: 70px;
    margin-top: 1.5rem;
  }
  .c-manga_arrow .slick-prev:after,
  .c-manga_arrow .slick-next:after {
    width: 11px;
    height: 11px;
  }
  .c-manga_arrow .slick-prev:after { margin-left: -4px; }
  .c-manga_arrow .slick-next:after { margin-left: 4px; }
}
@media (hover: hover) {
  .c-manga_arrow .slick-prev:hover,
  .c-manga_arrow .slick-next:hover {
    background-color: rgb(0 0 0 / 0.6);
  }
}

/*--------------------------------------------------------------------------------

  teiki check

--------------------------------------------------------------------------------*/
.c-teikicheck {
  background-image: url(../image/teikicheck_bg.jpg);
  background-repeat: no-repeat;
  padding-inline: var(--side-space);
  display: flex;
  text-align: left;
}
.c-teikicheck_txt {
  width: 100%;
  max-width: calc(var(--base-width) * 1px);
  font-family: var(--ff-min);
  font-size: var(--fs-3l);
  font-weight: 500;
  --marker-fw: 500;
}
@media not (max-width: 640px) {
  .c-teikicheck {
    justify-content: center;
    background-position: center top;
    background-size: 2000px auto;
    padding-block: var(--space-2l);
  }
  .c-teikicheck_txt {
    display: flex;
    column-gap: 0.5rem;
  }
}
@media (max-width: 640px) {
  .c-teikicheck {
    background-position: 65% top;
    background-size: cover;
    padding-block: var(--space-3l) var(--space-l);
  }
  .c-teikicheck_marker {
    display: inline-block;
    margin-right: 0.25rem;
    margin-bottom: 0.75rem;
  }
}

/*--------------------------------------------------------------------------------

  hours table

--------------------------------------------------------------------------------*/
.c-hrs {
  container-type: inline-size;
}

/*--------------------------------------------------------------------------------
  .c-hrs-tbl
--------------------------------------------------------------------------------*/
.c-hrs-tbl {
  width: 100%;
  border-collapse: collapse;
}
.c-hrs-tbl thead th {
  text-align: center;
  white-space: nowrap;
}
.c-hrs-tbl th,
.c-hrs-tbl td {
  text-align: center;
  vertical-align: middle;
  line-height: 1.4;
}
.c-hrs-tbl th {
  font-weight: 400;
  padding: 0.75em 0.25em;
  background-color: #FFF;
}
.c-hrs-tbl td {
  padding: 1.25em 0.25em;
  background-color: #FFF;
}
.c-hrs-tbl thead.c-hrs-tbl_hd-line th {
  border-bottom: 1px solid var(--color-base);
}
.c-hrs-tbl thead:not(.c-hrs-tbl_hd-line) th {
  background-color: var(--color-base-light);
  color: #FFF;
}
.c-hrs-tbl tbody th,
.c-hrs-tbl tbody td {
  border-bottom: 1px solid var(--border-color-dark);
}
.c-hrs-tbl:has(thead:not(.c-hrs-tbl_hd-line)) tbody th,
.c-hrs-tbl:has(thead:not(.c-hrs-tbl_hd-line)) tbody td {
  border-bottom-color: var(--border-color);
}
.c-hrs-tbl:has(thead:not(.c-hrs-tbl_hd-line)) tbody tr:last-child th,
.c-hrs-tbl:has(thead:not(.c-hrs-tbl_hd-line)) tbody tr:last-child td {
  border-bottom: none;
}
.c-hrs-tbl thead th:last-child,
.c-hrs-tbl tbody td:last-child { padding-left: 0; }
.c-hrs-tbl tbody td { width: 11%; font-size: var(--fs-s); }
.c-hrs-tbl tbody td:has(.c-hrs_icon) { vertical-align: top; }
.c-hrs-tbl tbody th { white-space: nowrap; }
.c-hrs-tbl_am { display: inline-block; padding-left: 0.6em; }
.c-hrs-tbl_desc { font-size: var(--fs-s); white-space: nowrap; }
@media (max-width: 640px) {
  .c-hrs-tbl {
    font-size: min(3cqw, 1rem);
  }
}

/*--------------------------------------------------------------------------------
  .c-hrs_icon
--------------------------------------------------------------------------------*/
.c-hrs_icon {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  display: inline-block;
  vertical-align: middle;
  box-sizing: border-box;
  width: 0.9em;
  height: 0.9em;
  margin-top: -0.2em;
  position: relative;
}
.c-hrs_icon[data-icon="1"] {
  border-radius: 50%;
  background-color: var(--color-base-lightest);
}
.c-hrs_icon[data-icon="0"]:after {
  display: block;
  content: "";
  width: 1px;
  height: 100%;
  transform: rotate(45deg);
  background-color: var(--color-base-lightest);
  position: absolute;
  top: 0;
  left: 50%;
}

/*--------------------------------------------------------------------------------
 
  archive

--------------------------------------------------------------------------------*/
.c-archive {
  --link-deco: none;
  --link-deco-hover: none;
  max-width: var(--archive-max-width, 1000px);
  margin-inline: var(--archive-mg-inline, auto);
  text-align: left;
  display: flex;
  flex-direction: column;
  row-gap: var(--space-s);
}
.c-archive_item {
  background-color: #FFF;
}
.c-archive_item:not(:has(a)),
.c-archive_item a {
  display: flex;
  align-items: center;
  column-gap: max(1.25rem, var(--inner-space-s));
  padding: max(1.25rem, var(--inner-space-2s));
}
.c-archive_img {
  flex-shrink: 0;
  width: max(120px, 25%);
}
.c-archive_txt {
  flex-basis: 1;
}
.c-archive_date {
  color: var(--color-gray);
  font-size: var(--fs-s);
  display: inline-block;
  margin-bottom: 0.25rem;
}
.c-archive_ttl {
  --file-mgl: 0.5rem;
  transition: color 0.15s ease;
  font-weight: 400;
}
@media (hover: hover) {
  .c-archive_item a:hover .c-archive_ttl {
    color: var(--link-color-hover);
  }
}

/*--------------------------------------------------------------------------------
  .c-archive-list
--------------------------------------------------------------------------------*/
.c-archive-list {
  --link-deco: none;
  --link-deco-hover: none;
  list-style: none;
  max-width: var(--archive-list-max-width, 1000px);
  margin-inline: var(--archive-list-mg-inline, auto);
  text-align: left;
  display: flex;
  flex-direction: column;
}
.c-archive-list_item {
  border-bottom: 1px solid var(--archive-list-border-color, var(--border-color-dark));
  line-height: var(--lh-s);
}
.c-archive-list.-border-top .c-archive-list_item:first-of-type {
  border-top: 1px solid var(--archive-list-border-color, var(--border-color-dark));
}
.c-archive-list.not(.-border-top) .c-archive-list_item:first-of-type {
  margin-top: -1.25rem;
}
.c-archive-list_item:not(:has(a)),
.c-archive-list_item a {
  display: flex;
  column-gap: var(--space-s);
  row-gap: 0.25rem;
  padding: var(--archive-list-item-pd-block, 1.25rem) 0;
}
.c-archive-list_date {
  flex-shrink: 0;
  color: var(--color-gray);
  font-size: var(--fs-s);
}
.c-archive-list_ttl {
  --file-mgl: 0.5rem;
  transition: color 0.15s ease;
}
@media not (max-width: 640px) {
  .c-archive-list_date {
    margin-top: calc(1rem - 1em);
  }
}
@media (max-width: 640px) {
  .c-archive-list_item:not(:has(a)),
  .c-archive-list_item a {
    flex-direction: column;
  }
}
@media (hover: hover) {
  .c-archive-list_item a:hover .c-archive-list_ttl {
    color: var(--link-color-hover);
  }
}

/*--------------------------------------------------------------------------------
 
  article

--------------------------------------------------------------------------------*/
.c-article {
  --block-pd: var(--space-l);
  --img-float-mg: var(--space-m);
  --img-pdb: var(--space-m);
  --img-bottom-pdt: var(--space-m);
  --img-bottom-pdb: var(--space-m);
  margin-bottom: var(--space-m);
}

/*--------------------------------------------------------------------------------
  .c-article-date
--------------------------------------------------------------------------------*/
.c-article-date {
  color: var(--color-gray);
  font-size: var(--fs-s);
  display: inline-block;
  margin-bottom: 0.25rem;
}

/*--------------------------------------------------------------------------------
  .c-article-ttl
--------------------------------------------------------------------------------*/
.c-article-ttl {
  line-height: var(--lh-s);
  font-weight: 400;
  font-size: var(--fs-l);
}

/*--------------------------------------------------------------------------------
  .c-article-block-area
  .c-article-block
--------------------------------------------------------------------------------*/
.c-article-block-area {
  padding-top: var(--space-m);
}
.c-article-block {
  width: 100%;
}
.c-article-block-area > .c-article-block:not(:last-of-type) {
  padding-bottom: var(--block-pd);
}
.c-article-block:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
}

/*--------------------------------------------------------------------------------
  .c-article-txt
--------------------------------------------------------------------------------*/
.c-article-txt { text-align: left; }
.c-article-txt ul,
.c-article-txt ol { margin-left: 1.15em; }
.c-article-txt b,
.c-article-txt strong { font-weight:400; }

/*--------------------------------------------------------------------------------
  .c-article-img
--------------------------------------------------------------------------------*/
.c-article-img.-center,
.c-article-img.-bottom { --img-pdb: var(--img-bottom-pdb); }
.c-article-img.-center {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.c-article-block:has(.c-article-txt) .c-article-img {
  padding-bottom: var(--img-pdb);
}
.c-article-txt + .c-article-img.-bottom {
  padding-top: var(--img-bottom-pdt);
  padding-bottom: 0;
}
.c-article-img img {
  max-width: inherit;
  width: 100%;
}
.c-article-img.-left,
.c-article-img.-right {
  display: inline-block;
}
.c-article-img.-left:not(.-bottom) {
  float: left;
  margin-right: var(--img-float-mg);
}
.c-article-img.-right {
  float: right;
  margin-left: var(--img-float-mg);
}
@media (max-width: 640px) {
  .c-article-img {
    width: auto !important;
    min-width: fit-content;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .c-article-img img {
    width: auto !important;
    max-width: 100% !important;
  }
}
/* caption */
.c-article-img_cap {
  font-size: var(--fs-s);
  color: var(--color-gray);
  line-height: var(--lh-s);
  padding-top: 0.5rem;
  padding-bottom: 1rem;
  text-align: center;
}
.c-article-img_cap-txt {
  display: inline-block;
  margin-inine: auto;
  text-align: left;
}

/*--------------------------------------------------------------------------------
  .c-article-alert
--------------------------------------------------------------------------------*/
.c-article-alert {
  background-color: #FEEFF2;
  padding: 0.75em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  line-height: var(--lh-s);
  margin-bottom: var(--space-m);
}
.c-article-alert_type {
  background-color: var(--color-red);
  padding: 0.5em;
  color: #FFF;
  font-size: var(--fs-2s);
  font-weight: bold;
}
.c-article-alert_txt {
  color: var(--color-red);
  font-size: var(--fs-s);
  font-weight: 400;
}

/*--------------------------------------------------------------------------------

  pagination

--------------------------------------------------------------------------------*/
.c-pagination {
  padding-top: var(--space-l);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-m) 1.5rem;
  line-height: 1;
}

/*--------------------------------------------------------------------------------
  .c-pagination-list
--------------------------------------------------------------------------------*/
.c-pagination-list {
  --link-deco: none;
  --link-deco-hover: none;
  list-style: none;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.5rem;
  font-size: var(--fs-s);
}
.c-pagination-list_link {
  width: 2.25em;
  aspect-ratio: 1 / 1;
  line-height: 1;
  background-color: #FFF;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-pagination-list_link.-active {
  color: #FFF;
  background-color: var(--color-base);
}
@media (hover: hover) {
  .c-pagination-list_link:not(.-active):hover {
    background-color: var(--bg-base-2);
  }
}
