@charset "UTF-8";
/* line 1, app/assets/stylesheets/base/custom.css.scss */
.text-left {
  text-align: left;
}

/* line 4, app/assets/stylesheets/base/custom.css.scss */
.text-right {
  text-align: right;
}

/* line 7, app/assets/stylesheets/base/custom.css.scss */
.text-center {
  text-align: center;
}

/* line 10, app/assets/stylesheets/base/custom.css.scss */
.text-justify {
  text-align: justify;
}

/* line 12, app/assets/stylesheets/base/custom.css.scss */
.display-block {
  display: block;
}

/* line 15, app/assets/stylesheets/base/custom.css.scss */
.display-none {
  display: none;
}

/* line 18, app/assets/stylesheets/base/custom.css.scss */
.font-n {
  font-size: .875rem;
}

/* line 21, app/assets/stylesheets/base/custom.css.scss */
.mr-a {
  margin: auto;
}

/* line 24, app/assets/stylesheets/base/custom.css.scss */
.mrb-0 {
  margin-bottom: 0px;
}

/* line 27, app/assets/stylesheets/base/custom.css.scss */
.mrb-20 {
  margin-bottom: 20px;
}

/* line 31, app/assets/stylesheets/base/custom.css.scss */
.prl-0 {
  padding-left: 0px;
}

/* line 34, app/assets/stylesheets/base/custom.css.scss */
.prr-0 {
  padding-right: 0px;
}

/* line 37, app/assets/stylesheets/base/custom.css.scss */
.prt-0 {
  padding-top: 0px;
}

/* line 40, app/assets/stylesheets/base/custom.css.scss */
.prb-0 {
  padding-bottom: 0px;
}

/* line 45, app/assets/stylesheets/base/custom.css.scss */
.bdb-0 {
  border-bottom: 0px;
}

/* line 49, app/assets/stylesheets/base/custom.css.scss */
.t-price {
  width: 90px;
}

/* line 53, app/assets/stylesheets/base/custom.css.scss */
select[id$="_birthday_1i"] {
  width: 150px;
}

/* line 57, app/assets/stylesheets/base/custom.css.scss */
select[id$="_birthday_2i"] {
  width: 70px;
}

/* line 61, app/assets/stylesheets/base/custom.css.scss */
select[id$="_birthday_3i"] {
  width: 70px;
}

/* line 64, app/assets/stylesheets/base/custom.css.scss */
.w-30 {
  width: 30% !important;
}

/* line 67, app/assets/stylesheets/base/custom.css.scss */
.w-20 {
  width: 20% !important;
}

/* line 70, app/assets/stylesheets/base/custom.css.scss */
.w-10 {
  width: 10% !important;
}

/* line 74, app/assets/stylesheets/base/custom.css.scss */
.comment {
  height: 60px;
}

/* line 98, app/assets/stylesheets/base/custom.css.scss */
.required-icon {
  color: #fff;
  background-color: #cc4d44;
  border-color: #cc4d44;
  padding: 2px;
  font-size: 12px;
  margin-left: 4px;
  margin-right: 4px;
}

/* line 108, app/assets/stylesheets/base/custom.css.scss */
.optional-icon {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
  padding: 2px;
  font-size: 12px;
  margin-left: 4px;
  margin-right: 4px;
}

/* line 118, app/assets/stylesheets/base/custom.css.scss */
.invalid-message {
  width: 100%;
  margin-top: .25rem;
  font-size: 80%;
  color: #f44336;
  /*background: #ffefef;*/
  padding: 3px;
  padding-left: 5px;
  font-weight: bold;
}

/* line 129, app/assets/stylesheets/base/custom.css.scss */
.CodeMirror {
  border: 1px solid #ccc;
}

/* line 134, app/assets/stylesheets/base/custom.css.scss */
#asnica-overlay {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(240, 240, 240, 0.46);
  display: none;
  z-index: 10000;
}

/* line 143, app/assets/stylesheets/base/custom.css.scss */
#asnica-overlay .inner {
  position: fixed;
  left: 50%;
  top: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
  color: #fceb5a;
  text-align: center;
}

/* line 152, app/assets/stylesheets/base/custom.css.scss */
.note-editing-area {
  height: 250px;
}

/* line 156, app/assets/stylesheets/base/custom.css.scss */
.form-floating label {
  transition: transform 0.2s ease, opacity 0.2s ease;
}

/* line 160, app/assets/stylesheets/base/custom.css.scss */
.form-floating > .form-select.is-default ~ label,
.form-floating > .form-select:invalid ~ label {
  transform: none;
  opacity: 1;
}

/* line 166, app/assets/stylesheets/base/custom.css.scss */
.form-floating > .form-select:valid:not(.is-default) ~ label {
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
  opacity: 0.65;
}

/* line 171, app/assets/stylesheets/base/custom.css.scss */
.page-restricted .form-floating > .form-control,
.page-restricted .form-floating > .form-select {
  height: 6rem;
  padding-top: 1.25rem;
  padding-bottom: 0.75rem;
  font-size: 1rem;
}

/* dashboard query form alignment */
/* line 180, app/assets/stylesheets/base/custom.css.scss */
.qtable {
  display: grid;
  grid-template-columns: 6.5em 1fr;
  /* 見出し列を少し短く */
  align-items: center;
  row-gap: .75rem;
  /* スマホ基準の行間 */
  column-gap: .75rem;
  margin-bottom: .75rem !important;
  /* スマホでの下マージンを統一 */
}

/* line 188, app/assets/stylesheets/base/custom.css.scss */
.qtable.qtable--lg3 {
  grid-template-columns: 6.5em 1fr;
}

/* line 189, app/assets/stylesheets/base/custom.css.scss */
.qtable.qtable--lg4 {
  grid-template-columns: 6.5em 1fr;
}

/* line 190, app/assets/stylesheets/base/custom.css.scss */
.qtable.qtable--lg1 {
  grid-template-columns: 6.5em 1fr;
}

@media (min-width: 992px) {
  /* lg以上は横位置をしっかり揃える */
  /* line 192, app/assets/stylesheets/base/custom.css.scss */
  .qtable.qtable--lg3 {
    grid-template-columns: 8em 1fr 8em 1fr 8em 1fr;
  }
  /* line 193, app/assets/stylesheets/base/custom.css.scss */
  .qtable.qtable--lg1 {
    grid-template-columns: 8em 1fr;
  }
  /* line 194, app/assets/stylesheets/base/custom.css.scss */
  .qtable {
    row-gap: 1rem;
    margin-bottom: 1rem !important;
  }
  /* PC時は行間&下マージンを拡大 */
}

/* line 196, app/assets/stylesheets/base/custom.css.scss */
.qrow {
  display: contents;
}

/* line 197, app/assets/stylesheets/base/custom.css.scss */
.qhead {
  font-weight: 700;
  white-space: nowrap;
}

/* line 198, app/assets/stylesheets/base/custom.css.scss */
.qopts {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1rem;
}

/* line 199, app/assets/stylesheets/base/custom.css.scss */
.qopts .col {
  min-width: 0;
}

/* line 200, app/assets/stylesheets/base/custom.css.scss */
.qtable > .collapse,
.qtable > .collapse.show,
.qtable > .collapsing {
  grid-column: 1 / -1;
  width: 100%;
}

/* 初期状態から全幅に */
/* line 203, app/assets/stylesheets/base/custom.css.scss */
.qcheck {
  display: inline-flex;
  align-items: center;
  margin: 0;
}

/* line 208, app/assets/stylesheets/base/custom.css.scss */
.qcheck input.form-check-input {
  margin-top: 0 !important;
  margin-right: .5rem !important;
  /* テキストとのスペースを少し広く */
}

/* 折りたたみ内のチェックボックススタイル補正 */
/* line 214, app/assets/stylesheets/base/custom.css.scss */
.qopts .form-check-input {
  width: 1.1em;
  height: 1.1em;
}

/* line 218, app/assets/stylesheets/base/custom.css.scss */
.form-check.d-flex.align-items-center .form-check-input {
  margin-right: .5rem;
}

/* clear button spacing override on small screens */
/* line 223, app/assets/stylesheets/base/custom.css.scss */
.gap-3 > .btn {
  white-space: nowrap;
}

/* Accordion header active color (dashboard help) */
/* line 226, app/assets/stylesheets/base/custom.css.scss */
#dashboard-help {
  /* Prefer Bootstrap 5 CSS variables for active state */
  --bs-accordion-active-bg: #ffe6ef;
  /* 薄いピンク */
  --bs-accordion-active-color: inherit;
}

/* line 231, app/assets/stylesheets/base/custom.css.scss */
#dashboard-help .accordion-button:not(.collapsed) {
  background-color: #ffe6ef !important;
  /* 変数未対応用の保険 */
  color: inherit;
}
