@charset "utf-8";
/* autoprefixer: on */

/* Component (汎用パーツ) */

/* #region Icon */

/* -----------------------------------------------------------------
   Icon
   ----------------------------------------------------------------- */

@font-face {
  font-family: "gnss-icon";
  src: url("../fonts/gnss-icon.woff2") format("woff2"),
       url("../fonts/gnss-icon.ttf") format("truetype"),
       url("../fonts/gnss-icon.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

.c-icon {
  font-family: "gnss-icon" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  font-size: var(--s6); /* デフォルトは24px相当 */
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  flex-shrink: 0;
}

.c-icon--primary { color: var(--blu); }
.c-icon--normal { color: var(--grn); }
.c-icon--danger { color: var(--red); }
.c-icon--warning { color: var(--orn); }

.c-icon--sm { font-size: var(--s3); }
.c-icon--md { font-size: var(--s6); }
.c-icon--lg { font-size: var(--s9); }

/* #endregion */

/* #region Label */

/* -----------------------------------------------------------------
   Label
   ----------------------------------------------------------------- */

.c-label {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: var(--s7);
  padding: 0 var(--s4);
  border-radius: var(--RAD-XS);
  font-size: 14rem;
  font-weight: var(--FNT-WGT-R);
  line-height: 1;
  background-color: var(--blk-100);
  color: var(--blk);
}

.c-label--primary {
  background-color: var(--blu-100);
  color: var(--blu);
}

.c-label--normal {
  background-color: var(--grn-100);
  color: var(--grn);
}

.c-label--danger {
  background-color: var(--red-100);
  color: var(--red);
}

.c-label--warning {
  background-color: var(--orn-100);
  color: var(--orn);
}

/* #endregion */

/* #region Button */

/* -----------------------------------------------------------------
   Button
   ----------------------------------------------------------------- */

.c-button {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 40rem;
  min-width: 40rem;
  padding: 0 var(--s5);
  border: var(--THIN) solid transparent;
  border-radius: var(--RAD-XS);
  background-color: var(--blk-100);
  color: var(--blk);
  font-weight: var(--FNT-WGT-R);
  font-size: 16rem;
  line-height: 1;
  transition-property: color, opacity, background-color, border-color;
  transition-duration: .3s;
  transition-timing-function: ease-in-out;
}


@media (any-hover: hover) {

  .c-button:hover,
  .c-button:active {
    background-color: var(--blk-200);
    text-decoration: none;
  }

}

.c-button:disabled,
.c-button[disabled] {
  opacity: 0.2;
  cursor: not-allowed;
  pointer-events: none;
}

/* Sizes */
.c-button--sm {
  height: 36rem;
  min-width: 36rem;
  padding: 0 var(--s4);
  font-size: 14rem;
}

.c-button--lg {
  height: 56rem;
  min-width: 56rem;
  padding: 0 var(--s6);
  font-size: 18rem;
  font-weight: var(--FNT-WGT-M);
}

/* Colors */
.c-button--primary {
  background-color: var(--blu);
  color: var(--wht);
}

@media (any-hover: hover) {
  .c-button--primary:hover,
  .c-button--primary:active {
    background-color: var(--blu-dk);
  }
}


.c-button--normal {
  background-color: var(--grn);
  color: var(--wht);
}

@media (any-hover: hover) {
  .c-button--normal:hover,
  .c-button--normal:active {
    background-color: var(--grn-dk);
  }
}

.c-button--danger {
  background-color: var(--red);
  color: var(--wht);
}

@media (any-hover: hover) {
  .c-button--danger:hover,
  .c-button--danger:active {
    background-color: var(--red-dk);
  }
}

.c-button--warning {
  background-color: var(--orn);
  color: var(--wht);
}

@media (any-hover: hover) {
  .c-button--warning:hover,
  .c-button--warning:active {
    background-color: var(--orn-dk);
  }
}

/* Outline */
.c-button--outline {
  background-color: var(--wht);
  border-color: currentColor;
}

@media (any-hover: hover) {
  .c-button--outline:hover,
  .c-button--outline:active {
    background-color: var(--blk-100);
    border-color: var(--blk-100);
    color: var(--blk-700);
  }
}

.c-button--outline.c-button--primary {
  border-color: var(--blu);
  color: var(--blu);
}

@media (any-hover: hover) {
  .c-button--outline.c-button--primary:hover,
  .c-button--outline.c-button--primary:active {
    background-color: var(--blu);
    color: var(--wht);
  }
}

.c-button--outline.c-button--normal {
  border-color: var(--grn);
  color: var(--grn);
}

@media (any-hover: hover) {
  .c-button--outline.c-button--normal:hover,
  .c-button--outline.c-button--normal:active {
    background-color: var(--grn);
    color: var(--wht);
  }
}

.c-button--outline.c-button--danger {
  border-color: var(--red);
  color: var(--red);
}

@media (any-hover: hover) {
  .c-button--outline.c-button--danger:hover,
  .c-button--outline.c-button--danger:active {
    background-color: var(--red);
    color: var(--wht);
  }
}

.c-button--outline.c-button--warning {
  border-color: var(--orn);
  color: var(--orn);
}

@media (any-hover: hover) {
  .c-button--outline.c-button--warning:hover,
  .c-button--outline.c-button--warning:active {
    background-color: var(--orn);
    color: var(--wht);
  }
}

/* Icon */
.c-button__icon {
  margin-right: var(--s2);
  margin-left: -4rem;
  font-size: 20rem;
  line-height: 1;
}

.c-button--lg .c-button__icon {
  margin-right: var(--s2);
  margin-left: -4rem;
  font-size: 24rem;
  line-height: 1;
}

.c-button--sm .c-button__icon {
  margin-right: var(--s1);
  margin-left: -2rem;
  font-size: 16rem;
  line-height: 1;
}

/* No label */
.c-button.is-no-label {
  padding: 0;
}

.c-button.is-no-label .c-button__icon {
  margin-right: 0;
  margin-left: 0;
}

/* Block Buttons */
.c-button--full {
  display: flex;
  width: 100%;
}

/* Text Buttons */
.c-button--text {
  height: 28rem;
  padding: 0 var(--s4);
  background-color: transparent;
  font-size: 14rem;
}

.c-button--text.c-button--primary {
  color: var(--blu);
}

.c-button--text.c-button--normal {
  color: var(--grn);
}

.c-button--text.c-button--danger {
  color: var(--red);
}

.c-button--text.c-button--warning {
  color: var(--orn);
}

/* hover */
@media (any-hover: hover) {
  .c-button--text.c-button--primary:hover,
  .c-button--text.c-button--primary:active {
    background-color: var(--blu-100);
  }

  .c-button--text.c-button--normal:hover,
  .c-button--text.c-button--normal:active {
    background-color: var(--grn-100);
  }

  .c-button--text.c-button--danger:hover,
  .c-button--text.c-button--danger:active {
    background-color: var(--red-100);
  }

  .c-button--text.c-button--warning:hover,
  .c-button--text.c-button--warning:active {
    background-color: var(--orn-100);
  }

}

/* -----------------------------------------------------------------
  Distinct Button
   ----------------------------------------------------------------- */

/* 閉じるボタン */

.c-button--close {
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--s8);
  height: var(--s8);
  margin-left: auto;
  margin-right: 0;
  color: var(--blk-300);
}

/* テーブルアクション用ボタン */

.c-button--table-action {
  width: var(--s8);
  height: var(--s8);
  min-width: var(--s8);
  padding: 0;
  background-color: var(--wht);
  color: var(--blk-400);
  border: none;
}

.c-button--table-action.is-current {
  background-color: var(--blk-100);
  color: var(--blk-700);
}

@media (any-hover: hover) {
  .c-button--table-action:hover,
  .c-button--table-action:active {
    background-color: var(--blk-100);
    color: var(--blk-700);
  }
}

.c-button--table-action .c-button__icon {
  margin: 0;
  font-size: var(--s4);
}

/* 戻るボタン */

.c-page-actions {
  display: flex;
  max-width: 756rem;
  margin-top: var(--s5);
  margin-right: auto;
  margin-left: auto;
}
.c-page-actions--full {
  max-width: 100%;
}

.c-button--back {
  display: flex;
  align-items: center;
}

.c-button--back .c-button__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: var(--s10);
  height: var(--s10);
  margin-left: 0;
  border-radius: var(--RAD-FULL);
  background-color: var(--blu);
  font-size: var(--s4);
  color: var(--wht);
}

.c-button--back .c-button__label {
  text-decoration: underline;
  text-underline-offset: 8rem;
  text-decoration-thickness: var(--THIN);
  transition: -webkit-text-decoration-color 0.2s ease;
  transition: text-decoration-color 0.2s ease;
  transition: text-decoration-color 0.2s ease, -webkit-text-decoration-color 0.2s ease;
  font-size: 16rem;
  color: var(--blu);
}

@media (any-hover: hover) {
  .c-button--back:hover .c-button__icon,
  .c-button--back:active .c-button__icon {
    background-color: var(--blu-dk);
  }

  .c-button--back:hover .c-button__label,
  .c-button--back:active .c-button__label {
    -webkit-text-decoration-color: transparent;
            text-decoration-color: transparent;
  }
}

@media screen and (max-width: 767.98px) {

  .c-page-actions {
    justify-content: center;
  }

}

/* #endregion */

/* #region Foam */

/* -----------------------------------------------------------------
   Foam
   ----------------------------------------------------------------- */

.c-form-label {
  display: inline-block;
  padding-bottom: 2rem;
  line-height: 30rem;
  font-weight: var(--FNT-WGT-M);
  font-size: 16rem;
}

.c-form-label--regular {
  font-weight: var(--FNT-WGT-R); /* 400 */
}

.c-form-label__wrapper {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.c-form-note {
  display: inline-block;
  font-size: 14rem;
}

.c-form-note--important {
  color: var(--COL-IMP);
}

@media screen and (max-width: 767.98px) {

  .c-form-label__wrapper {
    flex-direction: column;
    justify-content: start;
    align-items: start;
  }

  .c-form-note {
    padding: var(--s1) 0 var(--s2) 0;
  }

}

.c-form-input {
  width: 100%;
}

.c-form-input__field {
  display: inline-block;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  outline: none;
  resize: none;

  width: 100%;
  padding: 7rem var(--s3);
  border: var(--THIN) solid var(--gry);
  border-radius: var(--RAD-XS);
  background-color: var(--wht);
}

.c-form-input__field:disabled,
.c-form-input__field[disabled] {
  background-color: var(--blk-050);
  cursor: not-allowed;
  pointer-events: none;
  color: var(--blk-a20);
}

input.c-form-input__field {
  height: var(--s9);
  line-height: 1.25;
}

textarea.c-form-input__field {
  min-height: calc(var(--s-unit) * 18);
  resize: vertical;
  line-height: 1.5;
}

select.c-form-input__field {
  height: var(--s9);
  padding-right: var(--s8);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234e4e4e' d='M21.87 4.935 12 14.805l-9.87-9.87L0 7.065l12 12 12-12z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 11rem center;
  background-size: 10rem;
}
select.c-form-input__field:disabled,
select.c-form-input__field[disabled] {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23cccccc' d='M21.87 4.935 12 14.805l-9.87-9.87L0 7.065l12 12 12-12z'/%3E%3C/svg%3E");
}

input[type="text"].c-form-input__field.is-style-datetime,
input[type="text"].c-form-input__field.is-style-time,
input[type="text"].c-form-input__field.is-style-minute,
input[type="text"].c-form-input__field.is-style-date {
  padding-right: var(--s8);
  background-repeat: no-repeat;
  background-position: right 9rem center;
  background-size: 16rem;
}

input[type="text"].c-form-input__field.is-style-date {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234e4e4e' d='M12 14.4q.51 0 .854-.346.345-.344.346-.854c.001-.51-.115-.625-.346-.854Q12.51 12 12 12c-.51 0-.625.115-.854.346q-.346.344-.346.854c0 .51.115.625.346.854q.344.345.854.346M16.8 14.4q.51 0 .854-.346Q18 13.71 18 13.2c0-.51-.115-.625-.346-.854Q17.31 12 16.8 12c-.51 0-.625.115-.854.346q-.346.344-.346.854c0 .51.115.625.346.854q.344.345.854.346M12 19.2q.51 0 .854-.346.345-.344.346-.854c.001-.51-.115-.625-.346-.854Q12.51 16.8 12 16.8c-.51 0-.625.115-.854.346q-.346.344-.346.854c0 .51.115.625.346.854q.344.346.854.346M16.8 19.2q.51 0 .854-.346Q18 18.51 18 18c0-.51-.115-.625-.346-.854q-.344-.346-.854-.346c-.51 0-.625.115-.854.346q-.346.344-.346.854c0 .51.115.625.346.854q.344.346.854.346M7.2 14.4q.51 0 .854-.346.346-.344.346-.854c0-.51-.115-.625-.346-.854Q7.71 12 7.2 12c-.51 0-.625.115-.854.346Q6 12.69 6 13.2c0 .51.115.625.346.854q.344.345.854.346'/%3E%3Cpath fill='%234e4e4e' d='M22.096 3.104A2.32 2.32 0 0 0 20.4 2.4h-1.2V0h-2.4v2.4H7.2V0H4.8v2.4H3.6q-.99 0-1.696.704A2.32 2.32 0 0 0 1.2 4.8v16.8q0 .99.704 1.696Q2.61 24 3.6 24h16.8q.99 0 1.696-.704.704-.706.704-1.696V4.8q0-.99-.704-1.696M20.4 21.6H3.6v-12h16.8zm0-14.4H3.6V4.8h16.8z'/%3E%3Cpath fill='%234e4e4e' d='M7.2 19.2q.51 0 .854-.346Q8.4 18.51 8.4 18c0-.51-.115-.625-.346-.854Q7.71 16.8 7.2 16.8c-.51 0-.625.115-.854.346Q6 17.49 6 18c0 .51.115.625.346.854q.344.346.854.346'/%3E%3C/svg%3E");
}
input[type="text"].c-form-input__field.is-style-datetime {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234e4e4e' d='M12 14.4q.51 0 .854-.346.345-.344.346-.854c.001-.51-.115-.625-.346-.854Q12.51 12 12 12c-.51 0-.625.115-.854.346q-.346.344-.346.854c0 .51.115.625.346.854q.344.345.854.346M16.8 14.4q.51 0 .854-.346Q18 13.71 18 13.2c0-.51-.115-.625-.346-.854Q17.31 12 16.8 12c-.51 0-.625.115-.854.346q-.346.344-.346.854c0 .51.115.625.346.854q.344.345.854.346M12 19.2q.51 0 .854-.346.345-.344.346-.854c.001-.51-.115-.625-.346-.854Q12.51 16.8 12 16.8c-.51 0-.625.115-.854.346q-.346.344-.346.854c0 .51.115.625.346.854q.344.346.854.346M16.8 19.2q.51 0 .854-.346Q18 18.51 18 18c0-.51-.115-.625-.346-.854q-.344-.346-.854-.346c-.51 0-.625.115-.854.346q-.346.344-.346.854c0 .51.115.625.346.854q.344.346.854.346M7.2 14.4q.51 0 .854-.346.346-.344.346-.854c0-.51-.115-.625-.346-.854Q7.71 12 7.2 12c-.51 0-.625.115-.854.346Q6 12.69 6 13.2c0 .51.115.625.346.854q.344.345.854.346'/%3E%3Cpath fill='%234e4e4e' d='M22.096 3.104A2.32 2.32 0 0 0 20.4 2.4h-1.2V0h-2.4v2.4H7.2V0H4.8v2.4H3.6q-.99 0-1.696.704A2.32 2.32 0 0 0 1.2 4.8v16.8q0 .99.704 1.696Q2.61 24 3.6 24h16.8q.99 0 1.696-.704.704-.706.704-1.696V4.8q0-.99-.704-1.696M20.4 21.6H3.6v-12h16.8zm0-14.4H3.6V4.8h16.8z'/%3E%3Cpath fill='%234e4e4e' d='M7.2 19.2q.51 0 .854-.346Q8.4 18.51 8.4 18c0-.51-.115-.625-.346-.854Q7.71 16.8 7.2 16.8c-.51 0-.625.115-.854.346Q6 17.49 6 18c0 .51.115.625.346.854q.344.346.854.346'/%3E%3C/svg%3E");
}
input[type="text"].c-form-input__field.is-style-time {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234e4e4e' d='m15.96 17.64 1.68-1.68-4.44-4.44V6h-2.4v6.48zM12 24q-2.49 0-4.68-.945c-2.19-.945-2.73-1.485-3.81-2.565S1.575 18.14.945 16.68 0 13.66 0 12s.315-3.22.945-4.68S2.43 4.59 3.51 3.51 5.86 1.575 7.32.945 10.34 0 12 0s3.22.315 4.68.945 2.73 1.485 3.81 2.565 1.935 2.35 2.565 3.81S24 10.34 24 12s-.315 3.22-.945 4.68-1.485 2.73-2.565 3.81-2.35 1.935-3.81 2.565S13.66 24 12 24m0-2.4q3.99 0 6.795-2.805T21.6 12c0-3.99-.935-4.925-2.805-6.795S14.66 2.4 12 2.4s-4.925.935-6.795 2.805Q2.4 8.01 2.4 12c0 3.99.935 4.925 2.805 6.795Q8.01 21.6 12 21.6'/%3E%3C/svg%3E");
}
input[type="text"].c-form-input__field.is-style-minute {
  background-position: right 6rem center;
  background-size: 22rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234e4e4e' d='M13 3c-4.97 0-9 4.03-9 9H1l4 4 4-4H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.25 2.52.75-1.23-3.5-2.09V8z'/%3E%3C/svg%3E");
}

input[type="text"].c-form-input__field.is-style-date:disabled,
input[type="text"].c-form-input__field.is-style-date[disabled] {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23cccccc' d='M12 14.4q.51 0 .854-.346.345-.344.346-.854c.001-.51-.115-.625-.346-.854Q12.51 12 12 12c-.51 0-.625.115-.854.346q-.346.344-.346.854c0 .51.115.625.346.854q.344.345.854.346M16.8 14.4q.51 0 .854-.346Q18 13.71 18 13.2c0-.51-.115-.625-.346-.854Q17.31 12 16.8 12c-.51 0-.625.115-.854.346q-.346.344-.346.854c0 .51.115.625.346.854q.344.345.854.346M12 19.2q.51 0 .854-.346.345-.344.346-.854c.001-.51-.115-.625-.346-.854Q12.51 16.8 12 16.8c-.51 0-.625.115-.854.346q-.346.344-.346.854c0 .51.115.625.346.854q.344.346.854.346M16.8 19.2q.51 0 .854-.346Q18 18.51 18 18c0-.51-.115-.625-.346-.854q-.344-.346-.854-.346c-.51 0-.625.115-.854.346q-.346.344-.346.854c0 .51.115.625.346.854q.344.346.854.346M7.2 14.4q.51 0 .854-.346.346-.344.346-.854c0-.51-.115-.625-.346-.854Q7.71 12 7.2 12c-.51 0-.625.115-.854.346Q6 12.69 6 13.2c0 .51.115.625.346.854q.344.345.854.346'/%3E%3Cpath fill='%23cccccc' d='M22.096 3.104A2.32 2.32 0 0 0 20.4 2.4h-1.2V0h-2.4v2.4H7.2V0H4.8v2.4H3.6q-.99 0-1.696.704A2.32 2.32 0 0 0 1.2 4.8v16.8q0 .99.704 1.696Q2.61 24 3.6 24h16.8q.99 0 1.696-.704.704-.706.704-1.696V4.8q0-.99-.704-1.696M20.4 21.6H3.6v-12h16.8zm0-14.4H3.6V4.8h16.8z'/%3E%3Cpath fill='%23cccccc' d='M7.2 19.2q.51 0 .854-.346Q8.4 18.51 8.4 18c0-.51-.115-.625-.346-.854Q7.71 16.8 7.2 16.8c-.51 0-.625.115-.854.346Q6 17.49 6 18c0 .51.115.625.346.854q.344.346.854.346'/%3E%3C/svg%3E");
}
input[type="text"].c-form-input__field.is-style-datetime:disabled,
input[type="text"].c-form-input__field.is-style-datetime[disabled] {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23cccccc' d='M12 14.4q.51 0 .854-.346.345-.344.346-.854c.001-.51-.115-.625-.346-.854Q12.51 12 12 12c-.51 0-.625.115-.854.346q-.346.344-.346.854c0 .51.115.625.346.854q.344.345.854.346M16.8 14.4q.51 0 .854-.346Q18 13.71 18 13.2c0-.51-.115-.625-.346-.854Q17.31 12 16.8 12c-.51 0-.625.115-.854.346q-.346.344-.346.854c0 .51.115.625.346.854q.344.345.854.346M12 19.2q.51 0 .854-.346.345-.344.346-.854c.001-.51-.115-.625-.346-.854Q12.51 16.8 12 16.8c-.51 0-.625.115-.854.346q-.346.344-.346.854c0 .51.115.625.346.854q.344.346.854.346M16.8 19.2q.51 0 .854-.346Q18 18.51 18 18c0-.51-.115-.625-.346-.854q-.344-.346-.854-.346c-.51 0-.625.115-.854.346q-.346.344-.346.854c0 .51.115.625.346.854q.344.346.854.346M7.2 14.4q.51 0 .854-.346.346-.344.346-.854c0-.51-.115-.625-.346-.854Q7.71 12 7.2 12c-.51 0-.625.115-.854.346Q6 12.69 6 13.2c0 .51.115.625.346.854q.344.345.854.346'/%3E%3Cpath fill='%23cccccc' d='M22.096 3.104A2.32 2.32 0 0 0 20.4 2.4h-1.2V0h-2.4v2.4H7.2V0H4.8v2.4H3.6q-.99 0-1.696.704A2.32 2.32 0 0 0 1.2 4.8v16.8q0 .99.704 1.696Q2.61 24 3.6 24h16.8q.99 0 1.696-.704.704-.706.704-1.696V4.8q0-.99-.704-1.696M20.4 21.6H3.6v-12h16.8zm0-14.4H3.6V4.8h16.8z'/%3E%3Cpath fill='%23cccccc' d='M7.2 19.2q.51 0 .854-.346Q8.4 18.51 8.4 18c0-.51-.115-.625-.346-.854Q7.71 16.8 7.2 16.8c-.51 0-.625.115-.854.346Q6 17.49 6 18c0 .51.115.625.346.854q.344.346.854.346'/%3E%3C/svg%3E");
}
input[type="text"].c-form-input__field.is-style-time:disabled,
input[type="text"].c-form-input__field.is-style-time[disabled] {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23cccccc' d='m15.96 17.64 1.68-1.68-4.44-4.44V6h-2.4v6.48zM12 24q-2.49 0-4.68-.945c-2.19-.945-2.73-1.485-3.81-2.565S1.575 18.14.945 16.68 0 13.66 0 12s.315-3.22.945-4.68S2.43 4.59 3.51 3.51 5.86 1.575 7.32.945 10.34 0 12 0s3.22.315 4.68.945 2.73 1.485 3.81 2.565 1.935 2.35 2.565 3.81S24 10.34 24 12s-.315 3.22-.945 4.68-1.485 2.73-2.565 3.81-2.35 1.935-3.81 2.565S13.66 24 12 24m0-2.4q3.99 0 6.795-2.805T21.6 12c0-3.99-.935-4.925-2.805-6.795S14.66 2.4 12 2.4s-4.925.935-6.795 2.805Q2.4 8.01 2.4 12c0 3.99.935 4.925 2.805 6.795Q8.01 21.6 12 21.6'/%3E%3C/svg%3E");
}
input[type="text"].c-form-input__field.is-style-minute:disabled,
input[type="text"].c-form-input__field.is-style-minute[disabled] {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23cccccc' d='M13 3c-4.97 0-9 4.03-9 9H1l4 4 4-4H6c0-3.87 3.13-7 7-7s7 3.13 7 7-3.13 7-7 7c-1.93 0-3.68-.79-4.94-2.06l-1.42 1.42C8.27 19.99 10.51 21 13 21c4.97 0 9-4.03 9-9s-4.03-9-9-9zm-1 5v5l4.25 2.52.75-1.23-3.5-2.09V8z'/%3E%3C/svg%3E");
}

/* 正常：Normal */
.c-form-input__field.is-normal {
  border-color: var(--grn);
}

/* 警告：Warning */
.c-form-input__field.is-warning {
  border-color: var(--orn);
}

/* エラー：Error */
.c-form-input__field.is-error {
  border-color: var(--red);
  color: var(--red);
}

/* --- チェックボックス c-checkbox --- */

.c-checkbox {
  display: inline-block;
}

.c-checkbox input[type="checkbox"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  cursor: none;
}

.c-checkbox__label {
  position: relative;
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 7rem;
  column-gap: 7rem;
  height: 18rem;
  font-size: 16rem;
  line-height: 18rem;
  cursor: pointer;
}

.c-checkbox__label::before {
  content: "";
  display: block;
  width: 18rem;
  height: 18rem;
  border: var(--THIN) solid var(--gry);
  background-color: var(--wht);
  border-radius: var(--RAD-XS);
  transition: all 0.2s ease;
}

.c-checkbox__label::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 4rem;
  transform: translate(0, -50%);
  width: 10rem;
  height: 10rem;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M8.393 20.853 0 12.46l2.098-2.098 6.295 6.294L21.902 3.147 24 5.245z'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.c-checkbox .c-checkbox__label:has(input[type="checkbox"]:checked)::after {
  opacity: 1;
}

.c-checkbox .c-checkbox__label:has(input[type="checkbox"]:checked:disabled)::after {
  opacity: 1;
}

.c-checkbox .c-checkbox__label:has(input[type="checkbox"]:checked)::before {
  background-color: var(--blu);
  border-color: var(--blu);
}

.c-checkbox .c-checkbox__label:has(input[type="checkbox"]:checked)::after {
  opacity: 1;
}

.c-checkbox .c-checkbox__label:has(input[type="checkbox"]:disabled) {
  cursor: default;
  color: var(--blk-100);
}
.c-checkbox .c-checkbox__label:has(input[type="checkbox"]:disabled)::before {
  border-color: var(--blk-100);
  background-color: var(--blk-050);
}

.c-checkbox .c-checkbox__label:has(input[type="checkbox"]:checked:disabled)::before {
  background-color: var(--blu-300);
  border-color: var(--blu-300);
}
.c-checkbox .c-checkbox__label:has(input[type="checkbox"]:checked:disabled)::after {
  opacity: 1;
}

.c-checkbox.c-checkbox--confirmation { display: block; }

.c-checkbox.c-checkbox--confirmation .c-checkbox__label {
  display: flex;
  width: 100%;
  height: 36rem;
  border: 9rem solid var(--blk-050);
  border-radius: var(--RAD-S);
  background-color: var(--blk-050);
}
.c-checkbox.c-checkbox--confirmation .c-checkbox__label:has(input[type="checkbox"]:checked) {
  color: var(--blu);
}

.c-checkbox.is-no-label .c-checkbox__label { line-height: 1; }

/* --- ラジオボタン c-radio --- */

.c-radio {
  display: inline-block;
}

.c-radio input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  cursor: none;
}

.c-radio__label {
  position: relative;
  display: inline-flex;
  align-items: center;
  -moz-column-gap: 7rem;
       column-gap: 7rem;
  height: 18rem;
  font-size: 16rem;
  line-height: 18rem;
  cursor: pointer;
}

.c-radio__label span span {
  font-size: 14rem;
  font-weight: var(--FNT-WGT-R);
}

.c-radio__label::before {
  content: "";
  display: block;
  width: 18rem;
  height: 18rem;
  border: var(--THIN) solid var(--gry);
  background-color: var(--wht);
  border-radius: var(--RAD-FULL);
  transition: all 0.2s ease;
}

.c-radio__label::after {
  content: "";
  display: block;
  position: absolute;
  top: 4rem;
  left: 4rem;
  width: 10rem;
  height: 10rem;
  background-color: var(--wht);
  border-radius: var(--RAD-FULL);
  opacity: 0;
  transition: opacity 0.2s ease;
}

.c-radio .c-radio__label:has(input[type="radio"]:checked)::after {
  opacity: 1;
}

.c-radio .c-radio__label:has(input[type="radio"]:checked:disabled)::after {
  opacity: 1;
}

.c-radio .c-radio__label:has(input[type="radio"]:checked)::before {
  background-color: var(--blu);
  border-color: var(--blu);
}

.c-radio .c-radio__label:has(input[type="radio"]:checked)::after {
  opacity: 1;
}

.c-radio .c-radio__label:has(input[type="radio"]:disabled) {
  cursor: default;
  color: var(--blk-100);
}
.c-radio .c-radio__label:has(input[type="radio"]:disabled)::before {
  border-color: var(--blk-100);
  background-color: var(--blk-050);
}

.c-radio .c-radio__label:has(input[type="radio"]:checked:disabled)::before {
  background-color: var(--blu-300);
  border-color: var(--blu-300);
}
.c-radio .c-radio__label:has(input[type="radio"]:checked:disabled)::after {
  opacity: 1;
}

.c-radio.is-no-label .c-radio__label { line-height: 1; }

/* 横並び（Horizontal）/ 縦並び（Vertical） */

.c-form-list {
  display: flex;
  flex-wrap: wrap;
}

.c-form-list--horizontal {
  align-items: center;
  flex-direction: row;
  padding: var(--s2) 0;
  gap: var(--s3) var(--s7);
}

.c-form-list--vertical {
  flex-direction: column;
  gap: var(--s3);
}

@media screen and (max-width: 767.98px) {

  .c-radio {
    display: flex;
    width: 100%;
  }
  
  .c-radio__label {
    display: flex;
    width: 100%;
    height: 36rem;
    padding: 9rem 0;
    -moz-column-gap: 12rem;
        column-gap: 12rem;
  }

  .c-radio__label::after {
    top: 13rem;
  }

  .c-form-list--horizontal {
    flex-direction: column;
    align-items: start;
    min-height: 0;
    row-gap: 0;
    padding: 0;
  }

}

/* input個別のメッセージ */
/* .c-messageは必ず.c-flash-container内で使用 */

.c-message.c-form-input__msg {
  margin-top: var(--s2);
  font-size: 14rem;
  line-height: 1.5;
}
.c-message.c-form-input__msg + .c-form-input__msg { margin-top: var(--s1); }

.c-form-input__msg--normal { color: var(--grn); }
.c-form-input__msg--warning { color: var(--orn); }
.c-form-input__msg--error { color: var(--COL-ERR); }

.c-form-actions {
  display: flex;
  align-items: center;
  -moz-column-gap: var(--s2);
       column-gap: var(--s2);
  width: 100%;
}

/* 開始位置（左） */
.c-form-actions--start {
  justify-content: flex-start;
}

/* 終了位置（右） */
.c-form-actions--end {
  justify-content: flex-end;
}

/* 中央 */
.c-form-actions--center {
  justify-content: center;
}

/* 共通：フォームパーツの横並び */
.c-form-unit,
.c-form-range {
  display: flex;
  align-items: center;
  gap: var(--s3);
}
.c-form-unit.c-form-unit--tight { gap: var(--s2); }

.c-form-unit .c-form-unit__item,
.c-form-range .c-form-unit__range {
  flex: 1;
}

.c-form-range .c-form-group__separator {
  white-space: nowrap;
  width: auto;
}

@media screen and (max-width: 767.98px) {

  .c-form-actions--end {
    justify-content: center;
  }

  .c-form-range {
    flex-direction: column;
    justify-content: start;
    align-items: start;
    gap: var(--s2);
  }

  .c-form-unit {
    display: block;
    margin-top: var(--s2);
  }

  .c-form-unit .c-form-unit__item,
  .c-form-range .c-form-unit__range {
    flex:auto;
  }

  .c-form-unit .c-form-unit__button {
    margin-top: var(--s3);
  }

  .c-form-unit-ss {
    display: flex !important;
    gap: var(--s2) !important;
  }

  .c-form-range .c-form-group__separator {
    font-size: 14rem;
    width: auto;
    padding: 0 var(--s2);
  }

}



/* #endregion */

/* #region Flatpickr 表示調整 */

.flatpickr-calendar {
  font-size: 16rem;
  font-weight: 400;
}

.flatpickr-current-month {
  font-size: 100%;
  padding-top: 6px;
}

.flatpickr-day {
  display: inline-flex;
  align-items: center;
}

.flatpickr-time input.flatpickr-hour {
  font-weight: 400;
}

/* 選択した時の背景色と文字色を指定 */
.flatpickr-time *::-moz-selection {
  background-color: transparent;
}
.flatpickr-time *::selection {
  background-color: transparent;
}
.flatpickr-time *::-moz-selection {
  background-color: transparent;
}

/* 時刻のみピッカー（noCalendar）の幅調整 */
.flatpickr-calendar.hasTime.noCalendar {
  width: 150px !important;
}
/* 分のみピッカー（noCalendar）の幅調整 */
.flatpickr-calendar.is-style-minute-only.hasTime.noCalendar {
  width: 100px !important;
}
/* 「分のみ」ピッカーから時間を隠し、コロンを消す */
.flatpickr-calendar.is-style-minute-only .flatpickr-time .numInputWrapper:nth-child(1),
.flatpickr-calendar.is-style-minute-only .flatpickr-time .flatpickr-time-separator {
  display: none;
}
/* 分の幅を調整して中央に寄せる */
.flatpickr-calendar.is-style-minute-only .flatpickr-time .numInputWrapper:nth-child(3) {
  width: 100%;
}

/* Flatpickr の月移動ボタン（矢印）のアイコンずれを修正 */
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg {
  display: block;
  width: 14px;
  height: 14px;
}

/* #endregion */

/* #region Modal */

/* -----------------------------------------------------------------
   Modal
   ----------------------------------------------------------------- */

/* transition */

.c-modal {
  display: block;
  position: fixed;
  top: 100%;
  right: 0;
  bottom: -100%;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background-color: transparent;
  max-width: none;
  max-height: none;
  visibility: hidden;
  opacity: 0;
  z-index: var(--Z-HIDE);
}

.c-modal.is-open {
  visibility: visible;
  opacity: 1;
  top: 0;
  bottom: 0;
  z-index: var(--Z-MODAL);
}

.c-modal__overlay {
  position: absolute;
  top: 0; right: 0; bottom: 0; left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--blk-a40);
  opacity: 0;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.c-modal.is-open .c-modal__overlay {
  opacity: 1;
}

.c-modal__container {
  position: absolute;
  top: 50rem;
  left: 50%;
  transform: translate(-50%, 0) translateY(-20rem) scale(0.98);
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.c-modal.is-open .c-modal__container {
  transform: translate(-50%, 0) translateY(0) scale(1);
}

/* --- Base Modal --- */

.c-modal__container {
  width: 500rem;
  background-color: var(--wht);
  border-radius: var(--RAD-S);
  overflow: hidden;
}

.c-modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18rem 18rem 18rem 24rem;
  background-color: var(--blu-050);
}

.c-modal__title {
  flex: 1;
  font-size: 20rem;
  font-weight: var(--FNT-WGT-M);
  line-height: 32rem;
  color: var(--blu);
}

.c-modal__close .c-button__icon {
  margin: 0;
  font-size: var(--s5);
}

.c-modal__content {
  padding: 16rem 24rem;
}

.c-modal__message {
  padding: 24rem 0;
  line-height: 24rem;
  font-size: 16rem;
}

.c-modal__message p {
  margin-top: 24rem;
  line-height: 24rem;
  font-size: 16rem;
}
.c-modal__message p:first-child { margin-top: 0; }

.c-modal__username {
  margin-right: 12rem;
}

.c-modal__footer {
  padding: 16rem 24rem;
  border-top: var(--THIN) solid var(--gry);
}

/* --- Danger Variation (警告パターン) --- */
.c-modal--danger .c-modal__header {
  background-color: var(--red-100);
}

.c-modal--danger .c-modal__title {
  color: var(--red);
}

@media screen and (max-width: 767.98px) {

  .c-modal__container {
    width: 350rem;
  }

  .c-modal__header {
    padding: 4rem 0 4rem 16rem;
  }

  .c-button--close {
    width: 48rem;
    height: 48rem;
  }

  .c-modal__message {
    padding: 0;
    padding-bottom: 20rem;
  }

  .c-modal__message p {
    margin-top: 20rem;
  }
  .c-modal__message p:first-child { margin-top: 0; }

  /* フルサイズモーダル */

  .c-modal.is-open:not(.c-modal--danger, .c-modal--confirm) .c-modal__overlay {
    opacity: 0;
  }

  .c-modal:not(.c-modal--danger, .c-modal--confirm) .c-modal__container {
    width: 100%;
    height: 100%;
    border-radius: 0;
    top: 0;
    bottom: 0;
    transform: translate(-50%, 0) scale(1);
  }

  .c-modal:not(.c-modal--danger, .c-modal--confirm) .c-modal__inner form {
    display: flex;
    flex-direction: column;
    height: 100svh;
    z-index: var(--Z-LOADING);
    position: relative;
  }

  .c-modal:not(.c-modal--danger, .c-modal--confirm) .c-modal__header {
    flex-shrink: 0;
    padding: 10rem 8rem 10rem 20rem;
  }

  .c-modal:not(.c-modal--danger, .c-modal--confirm) .c-modal__content {
    flex-grow: 1;
    flex: 1 0 auto;
    min-height: 1px;
    max-height: calc( 100svh - 68rem - 74rem );
    padding: 14rem 20rem 20rem 20rem;

    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
    -ms-scroll-chaining: none;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
  }
  .c-modal:not(.c-modal--danger, .c-modal--confirm) .c-modal__content * { flex-shrink: 0; }

  .c-modal:not(.c-modal--danger, .c-modal--confirm) .c-form-range .c-form-group__separator {
    font-size: 16rem;
    align-self: center;
  }

  .c-modal:not(.c-modal--danger, .c-modal--confirm) .c-flash-container { margin-bottom: 0; margin-top: auto; }

  .c-modal:not(.c-modal--danger, .c-modal--confirm) .c-modal__footer { flex-shrink: 0; }

  body.is-address-bar-hidden .c-modal:not(.c-modal--danger, .c-modal--confirm) .c-modal__inner form {
    height: 100dvh;
  }

  body.is-address-bar-hidden .c-modal:not(.c-modal--danger, .c-modal--confirm) .c-modal__content {
    max-height: calc(100dvh - 68rem - 74rem);
  }

}

/* #endregion */

/* #region Alert */

/* -----------------------------------------------------------------
   Alert
   ----------------------------------------------------------------- */

.c-flash-container:empty,
.c-flash-container:not(:has(*)) {
  display: none;
}

/* .c-alertは必ず.c-flash-container内で使用 */
.c-flash-container .c-alert + .c-alert { margin-top: var(--s3); }

.c-alert {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  min-height: 48rem;
  padding: var(--s2) var(--s4);
  border: var(--THIN) solid transparent;
  border-radius: var(--RAD-XS);
}

.c-alert.c-alert.c-alert--jc-center {
  justify-content: center;
}

.c-alert.has-button {
  padding-right: var(--s2);
}

.c-alert__close .c-button__icon {
  margin: 0;
  font-size: var(--s4);
}

.c-alert__icon {
  margin-right: var(--s2);
  font-size: var(--s4);
  line-height: 1;
}

.c-alert__text {
  font-size: 16rem;
  line-height: 1.25;
}

/* Modifiers */

.c-alert--danger {
  background-color: var(--red-100);
  border-color: var(--red);
  color: var(--red);
}

.c-alert--normal {
  background-color: var(--grn-100);
  border-color: var(--grn);
  color: var(--grn);
}

/* #endregion */

/* #region Dropdown*/

.c-dropdown[hidden] {
  display: none;
}

.c-dropdown {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--wht);
  border-radius: var(--RAD-XS);
  box-shadow: var(--SDW-BS);
  z-index: var(--Z-DROPDOWN);
  min-width: 150rem;
  overflow: hidden;
  z-index: var(--Z-DROPDOWN);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.c-dropdown.is-show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.c-dropdown.is-show-bottom {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.c-dropdown:not(.is-show) { /* 初期位置の指定 */
  transform: translateY(4rem); 
}

/* 上側に表示される時：少し上から下に降りてくる */
.c-dropdown.is-show-top {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
/* 反転時の初期位置を上方向にズラす */
.c-dropdown.is-reverse {
  transform: translateY(-4rem);
}


.c-dropdown button {
  display: flex;
  align-items: center;
  width: 100%;
  border: none;
  background: transparent;
  text-decoration: none;
  cursor: pointer;
  transition-property: color, background-color;
  transition-duration: .3s;
  transition-timing-function: ease-in-out;
}

.c-dropdown button:disabled,
.c-dropdown button[disabled] {
  opacity: 0.2;
  cursor: not-allowed;
  pointer-events: none;
}

/* #endregion */

/* #region Loading */

/* -----------------------------------------------------------------
  Loading
   ----------------------------------------------------------------- */

.c-loading {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  width: 100%;
  height: 100%;
  display: none;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: var(--blk-a40);
  z-index: var(--Z-LOADING);
  /* opacity: 0;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1); */
}

.c-loading__label {
  margin-top: var(--s5);
  font-size: var(--s4);
  font-weight: var(--FNT-WGT-M);
  color: var(--wht);
}

.c-spinner {
  display: inline-block;
  width: 40rem;
  height: 40rem;
  vertical-align: text-bottom;
  border: 4rem solid var(--wht);
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner-border 1.3s linear infinite;
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .spinner-border {
    animation-duration: 1.5s;
  }
}


/* #endregion */

/* #region State */

/* -----------------------------------------------------------------
  State
   ----------------------------------------------------------------- */

/* Rounded */
.is-full-rounded { border-radius: var(--RAD-FULL); }

/* --- 幅固定 Modifier (Label/Button 共通) --- */

/* （文字が少ない時）最小幅を確保 */
.is-w-fixed-s { min-width: 80rem; }  /* 80px相当 */
.is-w-fixed-m { min-width: 100rem; } /* 100px相当 */
.is-w-fixed-l { min-width: 120rem; } /* 120px相当 */

/* --- 幅固定 Modifier (table) --- */

/* テーブル等でよく使う固定幅 */
.is-w-10  { width: 10rem !important; }
.is-w-20  { width: 20rem !important; }
.is-w-30  { width: 30rem !important; }
.is-w-40  { width: 40rem !important; }
.is-w-50  { width: 50rem !important; }
.is-w-60  { width: 60rem !important; }
.is-w-70  { width: 70rem !important; }
.is-w-80  { width: 80rem !important; }
.is-w-90  { width: 90rem !important; }
.is-w-100 { width: 100rem !important; }
.is-w-110 { width: 110rem !important; }
.is-w-120 { width: 120rem !important; }
.is-w-130 { width: 130rem !important; }
.is-w-140 { width: 140rem !important; }
.is-w-150 { width: 150rem !important; }
.is-w-160 { width: 160rem !important; }
.is-w-170 { width: 170rem !important; }
.is-w-180 { width: 180rem !important; }
.is-w-190 { width: 190rem !important; }
.is-w-200 { width: 200rem !important; }
.is-w-210 { width: 210rem !important; }
.is-w-220 { width: 220rem !important; }
.is-w-230 { width: 230rem !important; }
.is-w-240 { width: 240rem !important; }
.is-w-250 { width: 250rem !important; }

/* 専用固定幅 */
/* テーブル末尾のアクションボタン列専用 */
.is-w-table-action {
  width: 56rem !important; /* ボタン32px + 余白 */
  min-width: 56rem !important;
  text-align: center !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* テーブルのセル配置制御 */
.is-ta-start { text-align: left !important; }
.is-ta-center { text-align: center !important; }
.is-ta-end  { text-align: right !important; }

/* 垂直方向が必要な場合 */
.is-va-start { vertical-align: top !important; }
.is-va-middle { vertical-align: middle !important; }
.is-va-end { vertical-align: bottom !important; }

/* --- Text Display Modifiers --- */

/* 1行省略：はみ出た分を「...」にする */
.is-txt-truncate {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important; /* デフォルトの normal を打ち消す */
}

/* 複数行省略（Line Clamp） */
.is-txt-clamp-2,
.is-txt-clamp-3 {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  white-space: normal !important; /* line-clamp時は normal である必要がある */
}

.is-txt-clamp-2 { -webkit-line-clamp: 2 !important; line-clamp: 2 !important; }
.is-txt-clamp-3 { -webkit-line-clamp: 3 !important; line-clamp: 3 !important; }

/* 改行禁止：長い文字列でも改行せず一行で表示 */
.is-txt-nowrap {
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* 強制改行 */
.is-txt-wrap {
  word-break: break-all !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}

/* カレントページ */
button.is-current {
  cursor: not-allowed;
  pointer-events: none;
}

/* #endregion */
