@charset "UTF-8";
/* ==== Colors ==== */
/* ==== 端数サイズ ==== */
/* =====================
  Custom Properties
===================== */
:root {
  --black: #333333;
  --white: #ffffff;
  --gray: #e9e9e9;
  --lightgray: #f3f3f3;
  --silver: #d3d3d3;
  --smoke: #fbfbfb;
  --red: #fc4871;
  --vividred: #c10200;
  --opred: rgba(255, 0, 0, 0.1098039216);
  --salmon: #ee7271;
  --orange: #f6814c;
  --seashell: #fdf2f1;
  --brown: #b94d1b;
  --yellow: #fffb00;
  --ivory: #ffeee6;
  --green: #20774b;
  --blue: #1f72cc;
  --vividblue: #1515e2;
  --opblue: rgba(173, 192, 255, 0.3098039216);
  --lightblue: #72acff;
  --aliceblue: #f4f7fc;
  --water: #edf6ff;
  --opwhite: rgba(255, 255, 255, 0.2117647059);
  --opblack: rgba(255, 255, 255, 0.9333333333);
  --gradation-orange: linear-gradient(#f6814c 0%, #fc4871 100%);
  --gradation-orange-soft: linear-gradient(var(--salmon) 0%, #f6814c 100%);
  --radius: 4px;
  --icon: "Material Icons";
}

/* =====================
  Font Color
===================== */
.c-black {
  color: #333333 !important;
}

.c-white {
  color: #ffffff !important;
}

.c-gray {
  color: #e9e9e9 !important;
}

.c-lightgray {
  color: #f3f3f3 !important;
}

.c-silver {
  color: #d3d3d3 !important;
}

.c-smoke {
  color: #fbfbfb !important;
}

.c-red {
  color: #fc4871 !important;
}

.c-vividred {
  color: #c10200 !important;
}

.c-opred {
  color: rgba(255, 0, 0, 0.1098039216) !important;
}

.c-salmon {
  color: #ee7271 !important;
}

.c-orange {
  color: #f6814c !important;
}

.c-seashell {
  color: #fdf2f1 !important;
}

.c-brown {
  color: #b94d1b !important;
}

.c-yellow {
  color: #fffb00 !important;
}

.c-ivory {
  color: #ffeee6 !important;
}

.c-green {
  color: #20774b !important;
}

.c-blue {
  color: #1f72cc !important;
}

.c-vividblue {
  color: #1515e2 !important;
}

.c-opblue {
  color: rgba(173, 192, 255, 0.3098039216) !important;
}

.c-lightblue {
  color: #72acff !important;
}

.c-aliceblue {
  color: #f4f7fc !important;
}

.c-water {
  color: #edf6ff !important;
}

.c-opwhite {
  color: rgba(255, 255, 255, 0.2117647059) !important;
}

.c-opblack {
  color: rgba(255, 255, 255, 0.9333333333) !important;
}

.c-gradation-orange {
  color: linear-gradient(#f6814c 0%, #fc4871 100%) !important;
}

.c-gradation-orange-soft {
  color: linear-gradient(var(--salmon) 0%, #f6814c 100%) !important;
}

/* =====================
  Font Weight
===================== */
.fwn {
  font-weight: normal !important;
}

.fwb {
  font-weight: bold !important;
}

/* =====================
  text
===================== */
.tdu {
  text-decoration: underline;
}

/* =====================
  Bg Color
===================== */
.bg-black {
  background: #333333 !important;
  background-color: #333333 !important;
}

.bg-white {
  background: #ffffff !important;
  background-color: #ffffff !important;
}

.bg-gray {
  background: #e9e9e9 !important;
  background-color: #e9e9e9 !important;
}

.bg-lightgray {
  background: #f3f3f3 !important;
  background-color: #f3f3f3 !important;
}

.bg-silver {
  background: #d3d3d3 !important;
  background-color: #d3d3d3 !important;
}

.bg-smoke {
  background: #fbfbfb !important;
  background-color: #fbfbfb !important;
}

.bg-red {
  background: #fc4871 !important;
  background-color: #fc4871 !important;
}

.bg-vividred {
  background: #c10200 !important;
  background-color: #c10200 !important;
}

.bg-opred {
  background: rgba(255, 0, 0, 0.1098039216) !important;
  background-color: rgba(255, 0, 0, 0.1098039216) !important;
}

.bg-salmon {
  background: #ee7271 !important;
  background-color: #ee7271 !important;
}

.bg-orange {
  background: #f6814c !important;
  background-color: #f6814c !important;
}

.bg-seashell {
  background: #fdf2f1 !important;
  background-color: #fdf2f1 !important;
}

.bg-brown {
  background: #b94d1b !important;
  background-color: #b94d1b !important;
}

.bg-yellow {
  background: #fffb00 !important;
  background-color: #fffb00 !important;
}

.bg-ivory {
  background: #ffeee6 !important;
  background-color: #ffeee6 !important;
}

.bg-green {
  background: #20774b !important;
  background-color: #20774b !important;
}

.bg-blue {
  background: #1f72cc !important;
  background-color: #1f72cc !important;
}

.bg-vividblue {
  background: #1515e2 !important;
  background-color: #1515e2 !important;
}

.bg-opblue {
  background: rgba(173, 192, 255, 0.3098039216) !important;
  background-color: rgba(173, 192, 255, 0.3098039216) !important;
}

.bg-lightblue {
  background: #72acff !important;
  background-color: #72acff !important;
}

.bg-aliceblue {
  background: #f4f7fc !important;
  background-color: #f4f7fc !important;
}

.bg-water {
  background: #edf6ff !important;
  background-color: #edf6ff !important;
}

.bg-opwhite {
  background: rgba(255, 255, 255, 0.2117647059) !important;
  background-color: rgba(255, 255, 255, 0.2117647059) !important;
}

.bg-opblack {
  background: rgba(255, 255, 255, 0.9333333333) !important;
  background-color: rgba(255, 255, 255, 0.9333333333) !important;
}

.bg-gradation-orange {
  background: linear-gradient(#f6814c 0%, #fc4871 100%) !important;
  background-color: linear-gradient(#f6814c 0%, #fc4871 100%) !important;
}

.bg-gradation-orange-soft {
  background: linear-gradient(var(--salmon) 0%, #f6814c 100%) !important;
  background-color: linear-gradient(var(--salmon) 0%, #f6814c 100%) !important;
}

/* =====================
  Align
===================== */
.tal {
  text-align: left !important;
}

.tac {
  text-align: center !important;
}

.tar {
  text-align: right !important;
}

.vat {
  vertical-align: top !important;
}

.vam {
  vertical-align: middle !important;
}

.vab {
  vertical-align: bottom !important;
}

/* =====================
  white-space
===================== */
.wsnw {
  white-space: nowrap !important;
}

/* =====================
  text
===================== */
/* 内包テキストの 前 に文字 <div data-textbefore="￥">1,000</div> => ￥1,000 */
[data-textbefore]::before {
  content: attr(data-textbefore) " " !important;
  font-size: 0.75em;
}

/* 内包テキストの 後 に文字 <div data-textafter="円">1,000</div> => 1,000円 */
[data-textafter]::after {
  content: " " attr(data-textafter) !important;
  font-size: 0.75em;
}

/* =====================
  文字表示関係
===================== */
/* ==== 1行テキストのはみ出てる分を「...」 ==== */
.ellipsis {
  text-overflow: ellipsis !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

/* =====================
  MarginTop
===================== */
.mt-0_25 {
  margin-top: 0.25em !important;
}

.mt-0_50 {
  margin-top: 0.5em !important;
}

.mt-0_75 {
  margin-top: 0.75em !important;
}

.mt-1_25 {
  margin-top: 1.25em !important;
}

.mt-1_50 {
  margin-top: 1.5em !important;
}

.mt-1_75 {
  margin-top: 1.75em !important;
}

.mt-0 {
  margin-top: 0em !important;
}

.mt-1 {
  margin-top: 1em !important;
}

.mt-2 {
  margin-top: 2em !important;
}

.mt-3 {
  margin-top: 3em !important;
}

.mt-4 {
  margin-top: 4em !important;
}

.mt-5 {
  margin-top: 5em !important;
}

/* =====================
  MarginLeft
===================== */
.ml-0_25 {
  margin-left: 0.25em !important;
}

.ml-0_50 {
  margin-left: 0.5em !important;
}

.ml-0_75 {
  margin-left: 0.75em !important;
}

.ml-1_25 {
  margin-left: 1.25em !important;
}

.ml-1_50 {
  margin-left: 1.5em !important;
}

.ml-1_75 {
  margin-left: 1.75em !important;
}

.ml-0 {
  margin-left: 0em !important;
}

.ml-1 {
  margin-left: 1em !important;
}

.ml-2 {
  margin-left: 2em !important;
}

.ml-3 {
  margin-left: 3em !important;
}

.ml-4 {
  margin-left: 4em !important;
}

.ml-5 {
  margin-left: 5em !important;
}

/* =====================
  MarginBottom
===================== */
.mb-0_25 {
  margin-bottom: 0.25em !important;
}

.mb-0_50 {
  margin-bottom: 0.5em !important;
}

.mb-0_75 {
  margin-bottom: 0.75em !important;
}

.mb-1_25 {
  margin-bottom: 1.25em !important;
}

.mb-1_50 {
  margin-bottom: 1.5em !important;
}

.mb-1_75 {
  margin-bottom: 1.75em !important;
}

.mb-0 {
  margin-bottom: 0em !important;
}

.mb-1 {
  margin-bottom: 1em !important;
}

.mb-2 {
  margin-bottom: 2em !important;
}

.mb-3 {
  margin-bottom: 3em !important;
}

.mb-4 {
  margin-bottom: 4em !important;
}

.mb-5 {
  margin-bottom: 5em !important;
}

/* =====================
  Margin
===================== */
.mlr {
  margin-inline: auto;
}

/* =====================
  Padding
===================== */
.ptb-0_25 {
  padding-block: 0.25em !important;
}

.ptb-0_50 {
  padding-block: 0.5em !important;
}

.ptb-0_75 {
  padding-block: 0.75em !important;
}

.ptb-1_25 {
  padding-block: 1.25em !important;
}

.ptb-1_50 {
  padding-block: 1.5em !important;
}

.ptb-1_75 {
  padding-block: 1.75em !important;
}

.ptb-0 {
  padding-block: 0em !important;
}

.ptb-1 {
  padding-block: 1em !important;
}

.ptb-2 {
  padding-block: 2em !important;
}

.ptb-3 {
  padding-block: 3em !important;
}

.ptb-4 {
  padding-block: 4em !important;
}

.ptb-5 {
  padding-block: 5em !important;
}

.plr-0_25 {
  padding-inline: 0.25em !important;
}

.plr-0_50 {
  padding-inline: 0.5em !important;
}

.plr-0_75 {
  padding-inline: 0.75em !important;
}

.plr-1_25 {
  padding-inline: 1.25em !important;
}

.plr-1_50 {
  padding-inline: 1.5em !important;
}

.plr-1_75 {
  padding-inline: 1.75em !important;
}

.plr-0 {
  padding-inline: 0em !important;
}

.plr-1 {
  padding-inline: 1em !important;
}

.plr-2 {
  padding-inline: 2em !important;
}

.plr-3 {
  padding-inline: 3em !important;
}

.plr-4 {
  padding-inline: 4em !important;
}

.plr-5 {
  padding-inline: 5em !important;
}

.p-0_25 {
  padding: 0.25em !important;
}

.p-0_50 {
  padding: 0.5em !important;
}

.p-0_75 {
  padding: 0.75em !important;
}

.p-1_25 {
  padding: 1.25em !important;
}

.p-1_50 {
  padding: 1.5em !important;
}

.p-1_75 {
  padding: 1.75em !important;
}

.p-0 {
  padding: 0em !important;
}

.p-1 {
  padding: 1em !important;
}

.p-2 {
  padding: 2em !important;
}

.p-3 {
  padding: 3em !important;
}

.p-4 {
  padding: 4em !important;
}

.p-5 {
  padding: 5em !important;
}

/* =====================
  Display
===================== */
.di {
  display: inline;
}

.db {
  display: block;
}

.df {
  display: flex;
}

.dg {
  display: grid;
}

/* =====================
  空の可能性がある要素
===================== */
.empty:empty {
  display: none;
}

/* =====================
  Flex
===================== */
/* ==== justify-content ==== */
.jcs {
  justify-content: flex-start;
}

.jce {
  justify-content: flex-end;
}

.jcc {
  justify-content: center;
}

.jcb {
  justify-content: space-between;
}

.jca {
  justify-content: space-around;
}

/* ==== align-items ==== */
.ais {
  align-items: flex-start;
}

.aie {
  align-items: flex-end;
}

.aic {
  align-items: center;
}

.aib {
  align-items: baseline;
}

/* ==== wrap ==== */
.flxw {
  flex-wrap: wrap;
}

/* ==== grow ==== */
.flxg {
  flex-grow: 1;
}

/* 縦並び */
.flxd-col {
  flex-direction: column;
}

.flxd-row {
  flex-direction: row;
}

/* =====================
  visibility
===================== */
.viv {
  visibility: visible;
}

.vih {
  visibility: hidden;
}

/* =====================
  overflow
===================== */
.ovv {
  overflow: visible;
}

.ovh {
  overflow: hidden;
}

.ovx {
  overflow-x: scroll;
}

.ovy {
  overflow-y: scroll;
}

/* =====================
  Gap
===================== */
.gap-0_25 {
  gap: 0.25em !important;
}

.gap-0_50 {
  gap: 0.5em !important;
}

.gap-0_75 {
  gap: 0.75em !important;
}

.gap-1_25 {
  gap: 1.25em !important;
}

.gap-1_50 {
  gap: 1.5em !important;
}

.gap-1_75 {
  gap: 1.75em !important;
}

.gap-0 {
  gap: 0em !important;
}

.gap-1 {
  gap: 1em !important;
}

.gap-2 {
  gap: 2em !important;
}

.gap-3 {
  gap: 3em !important;
}

.gap-4 {
  gap: 4em !important;
}

.gap-5 {
  gap: 5em !important;
}

/* =====================
  サイズ関係
===================== */
/* ==== 幅 ==== */
.w-auto {
  width: auto;
}

.w-max {
  width: max-content;
}

.w-fit {
  width: fit-content;
}

.w-0 {
  width: 0% !important;
}

.w-5 {
  width: 5% !important;
}

.w-10 {
  width: 10% !important;
}

.w-15 {
  width: 15% !important;
}

.w-20 {
  width: 20% !important;
}

.w-25 {
  width: 25% !important;
}

.w-30 {
  width: 30% !important;
}

.w-35 {
  width: 35% !important;
}

.w-40 {
  width: 40% !important;
}

.w-45 {
  width: 45% !important;
}

.w-50 {
  width: 50% !important;
}

.w-55 {
  width: 55% !important;
}

.w-60 {
  width: 60% !important;
}

.w-65 {
  width: 65% !important;
}

.w-70 {
  width: 70% !important;
}

.w-75 {
  width: 75% !important;
}

.w-80 {
  width: 80% !important;
}

.w-85 {
  width: 85% !important;
}

.w-90 {
  width: 90% !important;
}

.w-95 {
  width: 95% !important;
}

.w-100 {
  width: 100% !important;
}

/* =====================
  transform関係
===================== */
/* ==== 位置調整（親に posr 必須です。） ==== */
/* 縦中横 中央寄せ */
.trc {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* 縦 中央寄せ */
.try {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

/* 横 中央寄せ */
.trx {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

/* ==== 見た目調整 ==== */
/* 左右反転 */
.flipx {
  transform: scale(-1, 1);
}

/* 上下反転 */
.flipy {
  transform: scale(1, -1);
}

/* 右上 ↗ */
.rodate45 {
  transform: rotate(45deg);
}

/* 右横 → */
.rodate90 {
  transform: rotate(90deg);
}

/* 右下 ↘ */
.rodate135 {
  transform: rotate(135deg);
}

/* 下   ↓ */
.rodate180 {
  transform: rotate(180deg);
}

/* 左下 ↙ */
.rodate225 {
  transform: rotate(225deg);
}

/* 左   ← */
.rodate270 {
  transform: rotate(270deg);
}

/* 左上 ↖ */
.rodate315 {
  transform: rotate(315deg);
}

/* =====================
  border-radius
===================== */
.radius {
  border-radius: var(--radius);
}

.pill {
  border-radius: calc(infinity * 1px) !important;
}

.circle {
  border-radius: 50%;
}

/* =====================
  Shadow
===================== */
.shadow {
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.2));
}

*:where(:not(iframe, canvas, img, svg, video, input, select, textarea):not(svg *, symbol *)) {
  all: unset;
  display: revert;
  font-family: inherit;
}

*,
*::before,
*::after {
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  box-sizing: border-box;
  font-feature-settings: "palt";
  font-variant-numeric: tabular-nums;
}

*::before,
*::after {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

html,
body {
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  color: var(--black);
  background: white;
  height: 100%;
  line-height: 1.7;
}

svg,
img {
  max-width: 100%;
  vertical-align: bottom;
  height: auto;
}

img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

img[width="0"] {
  display: none;
}

iframe {
  vertical-align: bottom;
}

::placeholder {
  color: rgba(0, 0, 0, 0.3098039216);
}

input,
textarea {
  -webkit-user-select: auto;
  user-select: auto;
}

textarea {
  resize: vertical;
}

input[type=checkbox] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

input[type=radio] {
  -webkit-appearance: radio;
  appearance: radio;
}

select {
  -webkit-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  font-family: inherit;
  line-height: initial;
  font-size: inherit;
  color: inherit;
}

.prewrap {
  white-space: pre-wrap;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

th {
  text-align: left;
}

ul,
ol,
menu {
  list-style: none;
}

a,
button {
  cursor: pointer;
}

button {
  touch-action: manipulation;
}

a[href^="tel:"],
a[href^="sms:"] {
  pointer-events: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
th,
td,
li,
button,
input,
textarea,
a {
  font-family: inherit;
}

.yubinbangojs {
  display: none;
}

:where(.hidden),
:where([hidden]) {
  display: none;
}

:where(.disabled),
:where([disabled]) {
  filter: grayscale(1);
  opacity: 0.3;
  pointer-events: none !important;
  -webkit-user-select: none !important;
  user-select: none !important;
}

.material-icons {
  font-size: inherit;
}

.ui-lock {
  pointer-events: none;
}

.ui-lock * {
  pointer-events: none;
}

.ui-lock::after {
  content: "";
  display: block;
  z-index: 40;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.5647058824);
}

.hover-op {
  transition: all 250ms ease 0s;
}

.hover-blue {
  transition: opacity 250ms ease 0s, color 250ms ease 0s;
  will-change: opacity;
}

@media (hover: hover) and (pointer: fine) {
  .hover-op:hover {
    opacity: 0.7;
  }
}
@keyframes blink {
  0% {
    opacity: 0.3;
  }
  100% {
    opacity: 1;
  }
}
body.manage {
  font-size: 17px;
  min-width: 1300px;
}
body.manage .fz-xxxlarge {
  font-size: 32px;
}
body.manage .fz-xxlarge {
  font-size: 28px;
}
body.manage .fz-xlarge {
  font-size: 24px;
}
body.manage .fz-large {
  font-size: 22px;
}
body.manage .fz-middle {
  font-size: 20px;
}
body.manage .fz-normal {
  font-size: 17px;
}
body.manage .fz-small {
  font-size: 14px;
}
body.manage .fz-xsmall {
  font-size: 12px;
}
body.manage .fz-xxsmall {
  font-size: 10px;
}
body.manage .u-button {
  color: var(--white);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
  background: var(--blue);
}
body.manage .u-button[white] {
  background: var(--white);
  color: var(--blue);
  border: 1px solid var(--blue);
}
body.manage .u-button[orange] {
  background: #f6814c;
  color: white;
}
body.manage label {
  cursor: pointer;
}
body.manage .u-input:is(select,
textarea,
input:is([type=text],
[type=tel],
[type=email],
[type=search],
[type=url],
[type=number],
[type=time],
[type=password],
[type=date])) {
  background: var(--white);
  border: 1px solid var(--silver);
  padding: 0.5em 1em;
  outline: none;
  line-height: 1.3;
  background-color: var(--white);
  font-size: 14px;
  width: max-content;
  border-radius: var(--radius);
  min-height: 37px;
}
body.manage .u-input:is(select,
textarea,
input:is([type=text],
[type=tel],
[type=email],
[type=search],
[type=url],
[type=number],
[type=time],
[type=password],
[type=date])):focus {
  border: 1px solid var(--black);
}
body.manage input[type=time].u-input {
  -webkit-appearance: auto;
  appearance: auto;
}
body.manage select.u-input {
  -webkit-appearance: auto;
  appearance: auto;
}
body.manage textarea.u-input {
  min-height: 100px;
}
body.manage textarea.u-input[large] {
  min-height: 300px;
}
body.manage input[type=checkbox].u-input {
  width: 16px;
  height: 16px;
  aspect-ratio: 1/1;
  vertical-align: -2px;
  border: none;
  accent-color: var(--blue);
  cursor: pointer;
}
body.manage input[type=radio].u-input {
  width: 16px;
  height: 16px;
  aspect-ratio: 1/1;
  vertical-align: -2px;
  border: none;
  accent-color: var(--blue);
  cursor: pointer;
}
body.manage .u-input[error] {
  border-color: var(--red) !important;
}
body.manage .u-attention {
  font-weight: normal;
  margin-top: 0.5em;
  font-size: 14px;
}
body.manage .u-calendar table {
  width: 100%;
  table-layout: fixed;
}
body.manage .u-calendar th,
body.manage .u-calendar td {
  background: var(--white);
  border: 1px solid var(--silver);
}
body.manage .u-calendar td:empty {
  background: var(--gray);
}
body.manage .u-calendar th {
  text-align: center;
  font-weight: bold;
}
body.manage .u-calendar .contents {
  aspect-ratio: 1/1;
  overflow-y: auto;
  padding: 0.5em;
}
body.manage .u-calendar .contents::-webkit-scrollbar {
  width: 1px;
}
body.manage .u-calendar .contents::-webkit-scrollbar-track {
  background-color: var(--silver);
}
body.manage .u-calendar .contents::-webkit-scrollbar-thumb {
  background-color: var(--blue);
}
body.manage .u-calendar .contents .item {
  line-height: 1.4;
  font-size: 12px;
  font-weight: bold;
}
body.manage .u-calendar .contents .item + .item {
  margin-top: 0.5em;
  border-top: 1px dashed var(--silver);
  padding-top: 0.5em;
}
body.manage .u-calendar .contents .item span:first-child {
  font-weight: normal;
  display: inline-block;
  border-radius: 50rem;
  line-height: 1;
  margin-right: 0.25em;
  padding: 3px 10px;
  background: var(--gradation-orange);
}
body.manage .u-calendar .contents .item span:first-child[data-name=早番] {
  color: var(--white);
}
body.manage .u-calendar .contents .item span:first-child[data-name=遅番] {
  color: var(--white);
  background: var(--blue);
}
body.manage .u-calendar .contents .item span:first-child[data-name=通し] {
  color: var(--white);
  background: var(--green);
}
body.manage .u-calendar .day {
  font-size: 14px;
  text-align: center;
  background: var(--smoke);
}
body.manage .u-calendar .over,
body.manage .u-calendar .empty {
  font-size: 12px;
  line-height: 1;
  margin-block: 0.5em 0.75em;
  padding: 0.5em 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.25em;
  animation-name: blink;
  animation-duration: 500ms;
  animation-delay: 0ms;
  animation-timing-function: ease;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-fill-mode: none;
  animation-play-state: running;
  border-radius: var(--radius);
  color: var(--white);
}
body.manage .u-calendar .over {
  background: var(--vividred);
}
body.manage .u-calendar .empty {
  background: var(--vividblue);
}
body.manage .u-calendar .over::before,
body.manage .u-calendar .empty::before {
  font-family: var(--icon);
  content: "\e002";
  color: var(--yellow);
}
body.manage .u-calendar .over::after,
body.manage .u-calendar .empty::after {
  display: block;
  text-align: center;
}
body.manage .u-calendar .over::after {
  content: "オーバーしています";
}
body.manage .u-calendar .empty::after {
  content: "不足しています";
}
body.manage .u-popup {
  z-index: -1;
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 200ms ease 0s, transform 200ms ease 0s;
}
body.manage .u-popup.on {
  z-index: -1;
  opacity: 1;
  transform: scale(1);
}
body.manage .u-popup {
  position: fixed;
  inset: 0;
  width: 100%;
  background: var(--aliceblue);
}
body.manage .u-popup-inner {
  padding: 2em 2em 6em;
  height: 100vh;
  position: relative;
}
body.manage .u-popup-contents {
  margin-top: 1.5em;
  border: 1px solid var(--silver);
  background: var(--white);
  height: 83vh;
  overflow-y: scroll;
  padding: 1.5em;
}
body.manage .u-popup-close {
  display: block;
  width: max-content;
  margin-inline: auto 0;
}
body.manage .u-popup.on {
  z-index: 20;
}
body.manage .u-shift .unit {
  background: var(--white);
  border-radius: var(--radius);
  border: 1px solid var(--silver);
  position: relative;
  padding: 0.5em 0.75em;
}
body.manage .u-shift .head {
  border-bottom: 1px solid var(--silver);
  font-weight: bold;
}
body.manage .u-shift .body {
  padding-block: 0.5em;
}
body.manage .u-shift .foot {
  position: absolute;
  top: 0.5em;
  right: 0.75em;
}
body.manage .u-shift .unit + .unit {
  margin-top: 2em;
}
body.manage .u-export-wrapper {
  margin-block: 1em;
  display: flex;
  gap: 1.5em;
  flex-wrap: wrap;
  justify-content: end;
}
body.manage .u-export {
  border-radius: 50rem;
  background: var(--blue);
  color: var(--white);
  font-size: 14px;
  padding: 0.25em 1.75em;
}
body.manage .u-export::before {
  content: attr(data-text);
}
body.manage .u-export::after {
  content: "\e2c4";
  font-family: var(--icon);
  position: relative;
  top: 2px;
  display: inline-block;
  padding-left: 0.25em;
}
body.manage .u-export[data-type=csv] {
  background: var(--green);
  color: var(--white);
}
body.manage .u-export[data-type=pdf] {
  background: var(--red);
  color: var(--white);
}
body.manage .u-export[data-type=import] {
  background: var(--orange);
  color: var(--white);
}
body.manage .u-export[data-type=import]::after {
  content: "\e2c6";
}
body.manage .u-export[data-type=import] + label {
  display: none;
}
body.manage .u-upload {
  display: flex;
  align-items: center;
  gap: 1em;
  background: rgba(0, 0, 0, 0.05);
  border-radius: 8px;
}
body.manage .login {
  height: 100%;
  grid-template-columns: minmax(300px, 30%) auto;
}
body.manage .login .title {
  place-content: center;
  background-image: url("../../assets/image/manage/login-bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
body.manage .login .body {
  place-content: center;
}
body.manage .login h2 {
  width: 500px;
}
body.manage .login input[type=password],
body.manage .login textarea {
  resize: none;
  line-height: 1;
  padding-block: 1.5em 1em;
  height: 60px;
  border: 1px solid var(--lightblue);
}
body.manage .container {
  height: 100%;
  grid-template-columns: 215px auto;
}
body.manage .aside {
  background: var(--blue);
}
body.manage .aside .unit {
  border-bottom: 1px solid var(--opblue);
  padding-block: 0.5em;
}
body.manage .aside .head {
  display: flex;
  font-weight: bold;
  align-items: center;
  gap: 0.25em;
  padding-inline: 1em;
}
body.manage .aside li {
  margin-top: 0.5em;
  font-size: 14px;
}
body.manage .aside li.on {
  background: var(--aliceblue);
  color: var(--blue);
}
body.manage .aside a {
  display: block;
  position: relative;
  padding-inline: 2.75em;
  padding-block: 0.5em;
}
@media (hover: hover) and (pointer: fine) {
  body.manage .aside a:hover {
    background: var(--opblue);
  }
}
body.manage .aside .count {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  color: var(--white);
  right: 6px;
  background: var(--red);
  border-radius: 50%;
  overflow: hidden;
  line-height: 1;
  font-weight: bold;
  width: 20px;
  height: 20px;
  display: grid;
  place-content: center;
}
body.manage .header {
  position: relative;
  z-index: 2;
  height: 80px;
  border-top: 8px solid var(--black);
}
body.manage .header .username::before {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url("../../assets/image/icon/manager.png");
  width: 52px;
  height: 43px;
}
body.manage .main {
  background: var(--aliceblue);
  padding: 40px 30px 120px;
  position: relative;
  z-index: 1;
}
body.manage .main .top {
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--opblue);
  gap: 1em;
  margin-bottom: 1em;
}
body.manage .main .top h1 {
  font-weight: bold;
  font-size: 24px;
}
body.manage .main .top .u-button {
  font-size: 14px;
  padding: 0.25em 1em;
}
body.manage .main .information {
  display: flex;
  gap: 0.5em;
  margin-bottom: 0.5em;
  font-size: 17px;
  font-weight: bold;
  border-radius: var(--radius);
  flex-wrap: wrap;
}
body.manage .main .information .unit {
  background: var(--opblue);
  border: 1px solid var(--blue);
  border-radius: var(--radius);
  padding: 0 0.35em;
}
body.manage .list-table {
  font-size: 14px;
  overflow-x: auto;
  white-space: nowrap;
  position: relative;
}
body.manage .list-table table {
  width: 100%;
  table-layout: auto;
}
body.manage .list-table thead th {
  font-weight: bold;
  border-bottom: 2px solid var(--lightblue);
}
body.manage .list-table thead th.w-20 {
  width: 10% !important;
}
body.manage .list-table th,
body.manage .list-table td {
  vertical-align: middle;
}
body.manage .list-table th {
  padding: 0.75em 1em;
}
body.manage .list-table td {
  border-bottom: 1px solid var(--gray);
  padding: 0.5em 1em;
}
body.manage .list-table td:has(a.u-button) {
  text-align: center;
}
@media (hover: hover) and (pointer: fine) {
  body.manage .list-table tr:hover td {
    background: var(--white);
  }
}
body.manage .list-table .u-button {
  padding: 0.25em 1em;
}
body.manage .list-table tr:has(input[type=checkbox]:checked) td {
  background: var(--opred);
}
body.manage .list-table td:has(input[type=text], input[type=tel], textarea, select) {
  padding: 2px;
}
body.manage .list-table td:has(input[type=text], input[type=tel], textarea, select) :is(input[type=text], input[type=tel], textarea, select) {
  background-color: var(--white);
  width: 100%;
}
body.manage .list-table td:has(input[type=text], input[type=tel], textarea, select) :is(input[type=text], input[type=tel], textarea, select):focus {
  border-color: var(--blue);
}
body.manage .list-table td:has(input[type=text], input[type=tel], textarea, select) :is(input[type=text], input[type=tel], textarea, select)[readonly] {
  border: none;
  background: transparent;
  color: var(--black);
}
body.manage .list-table tr:has([name=guests_count]) td input {
  background: #fff6c4 !important;
  outline: 1px solid var(--red);
}
body.manage .list-table .over,
body.manage .list-table .empty {
  font-size: 10px;
  line-height: 1;
  margin-block: 0.5em 0.75em;
  padding: 0.25em 0.5em;
  display: flex;
  justify-content: center;
  border-radius: var(--radius);
  align-items: center;
  color: var(--white);
}
body.manage .list-table .over {
  background: var(--vividred);
}
body.manage .list-table .empty {
  background: var(--vividblue);
}
body.manage .list-table .over::after,
body.manage .list-table .empty::after {
  display: block;
  text-align: center;
}
body.manage .list-table .over::after {
  content: "オーバー";
}
body.manage .list-table .empty::after {
  content: "不足";
}
body.manage .works-table {
  font-size: 14px;
  overflow: auto;
  width: 100%;
  white-space: nowrap;
  max-width: calc(100vw - 300px);
}
@media not all and (min-width: 400px) {
  body.manage .works-table {
    max-width: calc(130vmax - 0vw);
    width: calc(130vmax - 0vw);
  }
}
body.manage .works-table table {
  width: 100%;
  table-layout: auto;
  background: var(--white);
}
body.manage .works-table th {
  vertical-align: middle;
  text-align: center;
  background: var(--gray);
}
body.manage .works-table th,
body.manage .works-table td {
  padding: 0.5em 1em;
  white-space: nowrap;
  border: 1px solid var(--silver);
  position: relative;
  z-index: 1;
}
body.manage .works-table :is(td, th):has(.u-button, .u-input) {
  text-align: center;
}
body.manage .works-table td.duplicate.mask {
  position: relative;
}
body.manage .works-table td.duplicate.mask::before {
  content: "";
  background: var(--lightgray);
  position: absolute;
  inset: 0;
}
body.manage .works-table td.duplicate.hidden span {
  position: relative;
  display: block;
  visibility: hidden;
  pointer-events: none;
}
body.manage .works-table :where(thead tr th:nth-child(-n+4), tbody tr td:nth-child(-n+4)) {
  position: sticky !important;
  top: 0;
  z-index: 3 !important;
}
body.manage .works-table :where(tbody tr td:nth-child(-n+4):not(.mask)) {
  background: white;
}
body.manage .works-table :where(thead tr th:nth-child(1), tbody tr td:nth-child(1)) {
  left: 0;
}
body.manage .works-table :where(thead tr th:nth-child(2), tbody tr td:nth-child(2)) {
  left: 52.5px;
}
body.manage .works-table :where(thead tr th:nth-child(3), tbody tr td:nth-child(3)) {
  left: 151.5px;
}
body.manage .works-table :where(thead tr th:nth-child(4), tbody tr td:nth-child(4)) {
  left: 245.5px;
}
body.manage .works-detail {
  display: grid;
  gap: 1em;
  grid-template-columns: minmax(300px, 60%) 1fr;
  position: relative;
}
body.manage .detail-list {
  display: flex;
  white-space: nowrap;
  overflow: auto;
  width: 100%;
  max-width: 100%;
  font-size: 14px;
}
body.manage .detail-list table {
  width: 100%;
  table-layout: auto;
  background: var(--white);
}
body.manage .detail-list th {
  vertical-align: middle;
  text-align: center;
  background: var(--gray);
}
body.manage .detail-list th:empty::before {
  content: "　";
}
body.manage .detail-list th,
body.manage .detail-list td {
  padding: 0.5em 0.5em;
  white-space: nowrap;
  border: 1px solid var(--silver);
}
body.manage .detail-list td {
  background: var(--white);
  text-align: center;
}
body.manage .detail-list td:empty::before {
  content: "　";
}
body.manage .detail-list :is(td, th):has(.u-button) {
  text-align: center;
}
body.manage .detail-list tbody th {
  background: var(--white);
}
body.manage .detail-list .u-input {
  -webkit-appearance: none !important;
  appearance: none !important;
  padding-block: 0 !important;
  padding-inline: 0.5em 0.25em !important;
  color: var(--blue) !important;
  vertical-align: middle !important;
  max-width: 6.5em !important;
  min-height: 21px !important;
  max-height: 21px !important;
  height: 21px !important;
  background-color: var(--water) !important;
}
body.manage .detail-list select.u-input {
  max-width: 10em !important;
  padding-inline: 0.95em !important;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2223.616%22%20height%3D%2213.503%22%20viewBox%3D%220%200%2023.616%2013.503%22%3E%20%3Cpath%20style%3D%22fill%3A%23005dad%3B%22%20d%3D%22M18%2C20.679l8.93-8.937a1.681%2C1.681%2C0%2C0%2C1%2C2.384%2C0%2C1.7%2C1.7%2C0%2C0%2C1%2C0%2C2.391L19.2%2C24.258a1.685%2C1.685%2C0%2C0%2C1-2.327.049L6.68%2C14.14a1.688%2C1.688%2C0%2C0%2C1%2C2.384-2.391Z%22%20transform%3D%22translate(-6.188%20-11.246)%22%2F%3E%3C%2Fsvg%3E") !important;
  background-size: 8px 4px;
  background-repeat: no-repeat;
  background-position: 97% center;
}
body.manage .detail-list .u-input:focus {
  background-color: var(--white) !important;
}
body.manage .detail-list table.date tbody th {
  background: var(--smoke);
}
body.manage .detail-data {
  font-size: 14px;
  min-width: 480px;
}
body.manage .detail-data .wrap {
  background: var(--white);
  padding: 0.1em 0.5em 0.75em;
}
body.manage .detail-data .wrap + .wrap {
  margin-top: 1.5em;
}
body.manage .detail-data .table {
  padding: 0 5px;
  background: var(--lightgray);
}
body.manage .detail-data table {
  table-layout: fixed;
  width: 100%;
  font-size: 14px;
}
body.manage .detail-data th {
  font-weight: bold;
}
body.manage .detail-data th::empty {
  opacity: 0.5;
}
body.manage .detail-data th,
body.manage .detail-data td {
  vertical-align: middle;
  border-bottom: 1px solid var(--gray);
}
body.manage .detail-data span {
  display: inline-flex;
  padding-block: 0.35em;
}
body.manage .detail-data .tr-head :is(th, td) {
  font-weight: bold;
  background: var(--gray);
}
body.manage .detail-data :is(input, textarea) {
  width: 100%;
  min-height: 2.25em;
  height: 2em;
  font-size: 13px;
  padding: 0.25em 0.35em;
  outline: none;
  border: 1px solid var(--silver);
  border-radius: var(--radius);
  background-color: var(--water);
  color: var(--blue);
}
body.manage .detail-data input {
  width: 5em;
}
body.manage .detail-data :is(input, textarea):focus {
  background: var(--white);
}
body.manage .pager {
  display: flex;
  justify-content: center;
  margin-block: 3em 4em;
  gap: 4em;
}
body.manage .pager a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5em 1.5em;
  background: var(--blue);
  color: var(--white);
  border-radius: var(--radius);
  font-size: 14px;
}
body.manage .pager a:first-child::before {
  content: "\e5cb";
  font-family: var(--icon);
  display: inline-block;
}
body.manage .pager a:last-child::after {
  content: "\e5cc";
  font-family: var(--icon);
  display: inline-block;
}
body.manage .search > button {
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 0.25em;
  color: var(--blue);
  width: max-content;
  background: var(--white);
  padding: 0 1em;
  border: 1px solid var(--lightblue);
  border-radius: 50rem;
}
body.manage .search > button::before {
  content: "\e8b6";
  font-family: var(--icon);
}
body.manage .search .inner {
  display: none;
  background: white;
  padding: 1em;
  border-radius: var(--radius);
  margin-block: 1em;
  font-size: 14px;
  border: 2px solid var(--lightblue);
}
body.manage .search .inner .unit {
  display: flex;
  gap: 2em;
  padding-bottom: 1em;
  align-items: center;
}
body.manage .search .inner .unit > label,
body.manage .search .inner .unit > .label {
  min-width: 120px;
}
body.manage .search .inner .item {
  flex-grow: 1;
}
body.manage .search .inner button {
  padding: 0.5em 2em;
}
body.manage .search.on .inner {
  display: block;
  position: relative;
  z-index: 2;
}
body.manage .u-hr {
  height: 1px;
  background: var(--silver);
  width: 100%;
  margin: 0.75em auto;
}
body.manage .u-input-alert:empty {
  display: none;
}
body.manage .u-input-alert {
  padding: 0.25em 1em;
  font-size: 12px;
  color: var(--red);
  border: 2px solid var(--red);
  border-radius: 5px;
  background: var(--opred);
  width: max-content;
  margin-top: 0.5em;
  display: block;
  position: relative;
  max-width: fit-content;
  font-weight: bold;
}
body.manage .u-input-alert::before {
  position: absolute;
  top: -9px;
  left: 16px;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 5px 8px 5px;
  border-color: transparent transparent var(--red) transparent;
  display: none;
}
body.manage .u-checkboxes .u-checkbox {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 0.5em;
}
body.manage .u-checkboxes .u-checkbox[flex] {
  display: flex;
  flex-direction: column;
}
body.manage .u-checkboxes[small] .u-checkbox {
  grid-template-columns: repeat(auto-fill, minmax(60px, 1fr));
}
body.manage .u-choises .u-choise {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 0.5em;
  font-weight: normal;
}
body.manage .u-choises .u-choise li {
  gap: 0.1em 2em;
  display: grid;
  grid-template-columns: minmax(max-content, 200px) repeat(2, 200px);
}
body.manage .u-choises .u-choise li input[type=text] {
  width: 100%;
  flex-grow: 0;
}
body.manage .u-choises .u-choise li span {
  display: flex;
  gap: 0.25em;
  align-items: center;
  white-space: nowrap;
}
body.manage .u-choises .u-checkboxes {
  max-height: 100px;
  overflow-y: auto;
}
body.manage .form-wrapper {
  margin-top: 2em;
}
body.manage .form-wrapper table {
  table-layout: fixed;
  width: 100%;
  font-weight: bold;
}
body.manage .form-wrapper tr.must th::before {
  content: "必須";
  font-weight: normal;
  background: var(--red);
  color: var(--white);
  line-height: 1;
  display: inline-block;
  vertical-align: 2px;
  padding: 2px 3px;
  border-radius: 3px;
  margin-right: 7px;
  font-size: 12px;
}
body.manage .form-wrapper th,
body.manage .form-wrapper td {
  vertical-align: top;
  padding-block: 0.75em;
  border-bottom: 1px solid var(--gray);
}
body.manage .form-wrapper th {
  width: 200px;
  padding-top: 0.75em;
}
body.manage .form-wrapper th[colspan] {
  width: 100%;
  color: var(--blue);
  border-bottom-color: var(--blue);
}
body.manage .form-wrapper td {
  padding-inline: 2em;
}
body.manage .u-scrollbox {
  overflow-y: auto;
  max-height: 300px;
  border: 1px solid var(--silver);
  background: var(--white);
  padding: 1em 1em;
}
body.manage .u-scrollbox[large] {
  max-height: 500px;
}
body.manage .u-scrollbox[xlarge] {
  max-height: 650px;
}
body.manage .u-messagebox {
  margin-top: 1em;
  background: var(--white);
  border: 1px solid var(--silver);
  padding: 1em;
}
body.manage .u-messagebox .head {
  position: relative;
  display: flex;
  gap: 1em;
  flex-wrap: wrap;
  padding-right: 11em;
}
body.manage .u-messagebox .head .time {
  position: absolute;
  top: 3px;
  right: 0;
  line-height: 1;
  padding: 0.25em 0.5em;
  border-radius: var(--radius);
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 0.25em;
}
body.manage .u-messagebox .head .time::before {
  content: "\e8b5";
  font-family: var(--icon);
}
body.manage .u-messagebox .head .from::before {
  content: "From：";
  vertical-align: 1px;
  font-weight: bold;
  font-size: 14px;
}
body.manage .u-messagebox .head .to::before {
  content: "To：";
  vertical-align: 1px;
  font-weight: bold;
  font-size: 14px;
}
body.manage .u-messagebox .head .category::before {
  content: "カテゴリー：";
  font-weight: bold;
  vertical-align: 1px;
  font-size: 14px;
}
body.manage .u-messagebox .head .status {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 1em;
  right: 4px;
  top: 28px;
  font-size: 14px;
}
body.manage .u-messagebox .head .status::before {
  content: "対応ステータス";
}
body.manage .u-messagebox .subject {
  border-bottom: 1px solid var(--silver);
  padding-bottom: 0.5em;
}
body.manage .u-messagebox .subject::before {
  content: "件名：";
  vertical-align: 1px;
  font-weight: bold;
  font-size: 14px;
}
body.manage .u-messagebox .body {
  word-break: break-all;
  padding-block: 1em 0;
}
body.manage .u-messagebox .body a {
  color: var(--blue);
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
  text-decoration-color: currentColor;
}
body.manage .u-messagebox .body a:hover {
  opacity: 0.7;
}
body.manage .u-messagebox:has(.from) {
  border: 2px solid var(--blue);
  border-radius: var(--radius);
}
body.manage .form-member-wrapper {
  counter-reset: number;
}
body.manage .form-member {
  margin-top: 2em;
}
body.manage .form-member tr:first-child th,
body.manage .form-member tr:first-child td {
  color: var(--blue);
  border-bottom: 1px solid var(--blue);
}
body.manage .form-member tr:first-child td::before {
  counter-increment: number;
  content: counter(number) "人目";
}
body.manage .u-input[readonly] {
  background: #eee !important;
}
body.manage .js-showHosyounin[hidden] {
  display: none;
}
body.manage .js-narrowTarget[hidden] + .u-checkboxes {
  display: none;
}
body.manage .js-narrowTarget[hidden] + .u-checkboxes + .u-hr {
  display: none;
}
body.manage .contractor-wrap[hidden] {
  display: none;
}
body.manage .u-tab .u-tab-contents {
  display: none;
}
body.manage .u-tab .u-tab-contents.on {
  display: block;
}
body.manage .u-tab-controller {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-items: center;
  width: 100%;
  justify-content: space-between;
}
body.manage .u-tab-controller .u-tab-button {
  padding: 0.5em;
  border: 4px solid var(--silver);
  background: var(--gray);
  display: grid;
  place-content: center;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: var(--radius);
}
body.manage .u-tab-controller .u-tab-button.on {
  border: 4px solid var(--blue);
  background: var(--blue);
  color: white;
}
body.manage .u-tab-controller .u-tab-button.on::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -14px;
  background-color: var(--blue);
  width: 16px;
  height: 10px;
  clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
body.manage .u-tab-controller .u-tab-button.on[orange] {
  border: 4px solid var(--orange);
  background: var(--orange);
}
body.manage .u-tab-controller .u-tab-button.on[orange]::after {
  background-color: var(--orange);
}
body.manage .calendar-table {
  width: 100%;
  margin-top: 4em;
  height: 60vmax;
  overflow-y: auto;
}
body.manage .calendar-table label {
  display: block;
  height: 100%;
}
body.manage .calendar-table table {
  table-layout: fixed;
  width: 100%;
}
body.manage .calendar-table table :where(th, td) {
  padding-block: 0.5em;
  padding-inline: 0.5em;
  font-size: 14px;
}
body.manage .calendar-table thead th {
  padding-inline: 1.25em;
  vertical-align: middle;
  font-weight: bold;
  border-bottom: 2px solid #72abff;
}
body.manage .calendar-table thead th[day] {
  width: 180px;
}
body.manage .calendar-table thead th[holiday] {
  width: 80px;
}
body.manage .calendar-table tbody td {
  position: relative;
  padding-block: 0.75em;
  background: #f4f7fb;
  border-bottom: 2px solid #e9e9e9;
}
body.manage .calendar-table tbody td[day] {
  vertical-align: middle;
}
body.manage .calendar-table tbody td[day] input[type=checkbox] {
  width: 25px;
  height: 25px;
  vertical-align: -7px;
  margin-right: 0.5em;
}
body.manage .calendar-table tbody td:not([day]) {
  padding-block: 1em;
}
body.manage .calendar-table tbody td .u-checkboxes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25em 1em;
}
body.manage .calendar-table tbody td .u-checkboxes .u-checkbox {
  width: max-content;
  display: block;
}
body.manage .calendar-table tbody td .u-checkboxes:empty:before {
  display: block;
  content: "--";
  font-size: 13px;
  font-weight: bold;
  color: #757575;
}
body.manage .calendar-table tbody tr:nth-child(odd) td {
  background: #e7edf5;
}
body.manage .calendar-table tbody tr:hover td {
  background: color-mix(in srgb, #f4f7fb 80%, var(--blue) 10%);
}
body.manage .calendar-table tbody tr:has(input[data-form=daySelect]:checked) td {
  background: color-mix(in srgb, #f4f7fb 80%, var(--blue) 30%);
}
body.manage .calendar-table tbody tr.duplicate td {
  background: rgba(255, 235, 59, 0.24) !important;
}
body.manage .calendar-table tbody tr.duplicate td:first-child::before {
  white-space: nowrap;
  content: "※別店舗で登録済みユーザーいます";
  position: absolute;
  color: #f00;
  font-size: 9px;
  top: 0.225em;
  left: 1.2em;
  line-height: 1;
}
body.manage .calendar-table tbody tr.error td {
  background: rgba(255, 164, 164, 0.28) !important;
}
body.manage .calendar-table tbody tr.error td:first-child::before {
  content: "※入力に誤りがあります";
  position: absolute;
  color: #f00;
  font-size: 9px;
  top: 0.225em;
  left: 1.2em;
  line-height: 1;
}
body.manage .calendar-table .over::after,
body.manage .calendar-table .empty::after {
  font-size: 12px;
  line-height: 1;
  padding-block: 0.25em;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 1em;
  min-width: 60px;
  padding-inline: 0.5em;
  animation-name: blink;
  animation-duration: 500ms;
  animation-delay: 0ms;
  animation-timing-function: ease;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-fill-mode: none;
  animation-play-state: running;
  border-radius: var(--radius);
  color: var(--white);
}
body.manage .calendar-table .over::after,
body.manage .calendar-table .empty::after {
  display: block;
  text-align: center;
}
body.manage .calendar-table .over::after {
  content: "オーバー";
  background: var(--vividred);
}
body.manage .calendar-table .empty::after {
  content: "不足";
  background: var(--vividblue);
}
body.manage .status-controller {
  border: 1px solid #e9e9e9;
  background: white;
  padding: 25px;
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}
body.manage .status-controller :where(h2, button, label) {
  font-size: 13px;
}
body.manage .status-controller button {
  padding: 0.5em 1em;
}
body.manage .status-controller hr {
  margin-top: 0.25em;
}
body.manage .status-controller label {
  display: flex;
  gap: 0.5em;
  align-items: center;
}
body.manage .status-controller label input[type=checkbox] {
  width: 25px;
  height: 25px;
}
body.manage .post-calendar {
  font-weight: bold;
  width: 417px;
  display: block;
  border-radius: calc(infinity * 1px);
  text-align: center;
  margin-inline: auto;
  padding-block: 1em;
}
body.manage .u-scrollbox2 {
  position: relative;
  padding-top: 60px !important;
}
body.manage .js-changeBoxPanel {
  margin-top: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--gray);
}
body.manage .u-checkboxes + .u-scrollbox2 {
  margin-top: 20px;
}
body.manage .u-scrollbox2 h3 {
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding: 0.5em;
  color: white;
  background: var(--blue);
}
body.manage .u-scrollbox2 h3.company {
  background: var(--green);
}
body.manage .u-scrollbox2 h3.member {
  background: var(--orange);
}
body.manage .nice-select {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background-color: #fff;
  border-radius: 5px;
  border: solid 1px #e8e8e8;
  box-sizing: border-box;
  clear: both;
  cursor: pointer;
  display: block;
  float: left;
  font-family: inherit;
  font-size: 14px;
  font-weight: normal;
  height: 38px;
  line-height: 36px;
  outline: none;
  padding-left: 18px;
  padding-right: 30px;
  position: relative;
  text-align: left !important;
  transition: all 0.2s ease-in-out;
  user-select: none;
  white-space: nowrap;
  width: auto;
}
body.manage .nice-select:hover {
  border-color: #dbdbdb;
}
body.manage .nice-select:active,
body.manage .nice-select.open,
body.manage .nice-select:focus {
  border-color: #999;
}
body.manage .nice-select:after {
  border-bottom: 2px solid #999;
  border-right: 2px solid #999;
  content: "";
  display: block;
  height: 5px;
  margin-top: -4px;
  pointer-events: none;
  position: absolute;
  right: 12px;
  top: 50%;
  transform-origin: 66% 66%;
  transform: rotate(45deg);
  transition: all 0.15s ease-in-out;
  width: 5px;
}
body.manage .nice-select.open:after {
  transform: rotate(-135deg);
}
body.manage .nice-select.open .nice-select-dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1) translateY(0);
}
body.manage .nice-select.disabled {
  border-color: #ededed;
  color: #999;
  pointer-events: none;
}
body.manage .nice-select.disabled:after {
  border-color: #cccccc;
}
body.manage .nice-select.wide {
  width: 100%;
}
body.manage .nice-select.wide .nice-select-dropdown {
  left: 0 !important;
  right: 0 !important;
}
body.manage .nice-select.right {
  float: right;
}
body.manage .nice-select.right .nice-select-dropdown {
  left: auto;
  right: 0;
}
body.manage .nice-select.small {
  font-size: 12px;
  height: 36px;
  line-height: 34px;
}
body.manage .nice-select.small:after {
  height: 4px;
  width: 4px;
}
body.manage .nice-select.small .option {
  line-height: 34px;
  min-height: 34px;
}
body.manage .nice-select .nice-select-dropdown {
  margin-top: 4px;
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0 0 0 1px rgba(68, 68, 68, 0.11);
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 0;
  transform-origin: 50% 0;
  transform: scale(0.75) translateY(19px);
  transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
  z-index: 9;
  opacity: 0;
}
body.manage .nice-select .list {
  border-radius: 5px;
  box-sizing: border-box;
  overflow: hidden;
  padding: 0;
  max-height: 210px;
  overflow-y: auto;
}
body.manage .nice-select .list:hover .option:not(:hover) {
  background-color: transparent !important;
}
body.manage .nice-select .option {
  cursor: pointer;
  font-weight: 400;
  line-height: 40px;
  list-style: none;
  outline: none;
  padding-left: 18px;
  padding-right: 29px;
  text-align: left;
  transition: all 0.2s;
}
body.manage .nice-select .option:hover,
body.manage .nice-select .option.focus,
body.manage .nice-select .option.selected.focus {
  background-color: #f6f6f6;
}
body.manage .nice-select .option.selected {
  font-weight: bold;
}
body.manage .nice-select .option.disabled {
  background-color: transparent;
  color: #999;
  cursor: default;
}
body.manage .nice-select .optgroup {
  font-weight: bold;
}
body.manage .no-csspointerevents .nice-select .nice-select-dropdown {
  display: none;
}
body.manage .no-csspointerevents .nice-select.open .nice-select-dropdown {
  display: block;
}
body.manage .nice-select .list::-webkit-scrollbar {
  width: 0;
}
body.manage .nice-select .has-multiple {
  white-space: inherit;
  height: auto;
  padding: 7px 12px;
  min-height: 36px;
  line-height: 22px;
}
body.manage .nice-select .has-multiple span.current {
  border: 1px solid #ccc;
  background: #eee;
  padding: 0 10px;
  border-radius: 3px;
  display: inline-block;
  line-height: 24px;
  font-size: 14px;
  margin-bottom: 3px;
  margin-right: 3px;
}
body.manage .nice-select .has-multiple .multiple-options {
  display: block;
  line-height: 24px;
  padding: 0;
}
body.manage .nice-select .nice-select-search-box {
  box-sizing: border-box;
  width: 100%;
  padding: 5px;
  pointer-events: none;
  border-radius: 5px 5px 0 0;
}
body.manage .nice-select .nice-select-search {
  box-sizing: border-box;
  background-color: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 3px;
  color: #444;
  display: inline-block;
  vertical-align: middle;
  padding: 7px 12px;
  margin: 0 10px 0 0;
  width: 100%;
  min-height: 36px;
  line-height: 22px;
  height: auto;
  outline: 0 !important;
  font-size: 14px;
}
body.manage .order-reset {
  margin-left: 1em;
  color: var(--blue);
  font-size: 12px;
  font-weight: bold;
  display: inline-flex;
  gap: 0.25em;
  align-items: center;
}
body.manage .order-reset:hover {
  opacity: 0.7;
}
body.manage .order-reset::before {
  display: block;
  width: 1em;
  height: 1em;
  content: "";
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-position: center;
  mask-image: url('data:image/svg+xml,<svg width="20" height="17" viewBox="0 0 20 17" fill="none" xmlns="http://www.w3.org/2000/svg"><g id="Group"><path id="Vector" d="M6.59261 15.5287C6.43577 15.4228 6.32785 15.2594 6.29258 15.0747C6.25731 14.8899 6.29759 14.6988 6.40455 14.5434C6.51151 14.3881 6.67639 14.2812 6.86293 14.2462C7.04946 14.2113 7.24236 14.2512 7.3992 14.3572C8.71957 15.2463 10.3024 15.6721 11.8954 15.5668C13.4884 15.4615 15.0001 14.8311 16.1895 13.7761C17.3789 12.721 18.1776 11.302 18.4584 9.74506C18.7392 8.18816 18.4859 6.58295 17.739 5.18517C16.992 3.78739 15.7942 2.67746 14.3366 2.03222C12.8789 1.38697 11.2452 1.24353 9.69567 1.62475C8.14617 2.00598 6.77003 2.88992 5.78651 4.13577C4.80299 5.38161 4.26866 6.91768 4.26867 8.49924C4.26867 8.6871 4.19333 8.86727 4.05923 9.00011C3.92513 9.13294 3.74325 9.20757 3.55361 9.20757C3.36396 9.20757 3.18208 9.13294 3.04798 9.00011C2.91388 8.86727 2.83855 8.6871 2.83855 8.49924C2.83872 6.60134 3.48009 4.7581 4.66049 3.26318C5.84088 1.76826 7.49238 0.707681 9.35186 0.250407C11.2113 -0.206866 13.1718 -0.0345198 14.9209 0.739988C16.6701 1.51449 18.1072 2.8466 19.0034 4.52407C19.8996 6.20154 20.2033 8.12786 19.866 9.99613C19.5288 11.8644 18.5701 13.5671 17.1426 14.833C15.7151 16.0989 13.901 16.8551 11.9893 16.9812C10.0776 17.1073 8.17834 16.596 6.59404 15.5287" fill="currentColor"/><path id="Vector_2" d="M7.4591 6.25384C7.53815 6.20117 7.62703 6.16468 7.72051 6.14651C7.814 6.12834 7.91021 6.12886 8.00349 6.14803C8.09677 6.16721 8.18524 6.20466 8.26371 6.25818C8.34218 6.3117 8.40905 6.38022 8.46042 6.4597C8.51178 6.53918 8.54659 6.62803 8.56281 6.72102C8.57902 6.81402 8.57632 6.90929 8.55484 7.00123C8.53337 7.09318 8.49357 7.17994 8.43777 7.25644C8.38198 7.33293 8.31131 7.39761 8.22993 7.44667L3.25025 10.6016C3.1712 10.6543 3.08232 10.6907 2.98884 10.7089C2.89535 10.7271 2.79914 10.7266 2.70586 10.7074C2.61258 10.6882 2.52411 10.6508 2.44564 10.5972C2.36718 10.5437 2.3003 10.4752 2.24893 10.3957C2.19757 10.3162 2.16276 10.2274 2.14654 10.1344C2.13033 10.0414 2.13304 9.94614 2.15451 9.85419C2.17598 9.76225 2.21578 9.67548 2.27158 9.59899C2.32737 9.52249 2.39804 9.45782 2.47942 9.40875L7.4591 6.25384Z" fill="currentColor"/><path id="Vector_3" d="M0.054167 5.50462C-0.0168541 5.33413 -0.0179458 5.14293 0.0511203 4.97166C0.120186 4.80038 0.253964 4.66255 0.424016 4.58746C0.594067 4.51236 0.78698 4.50593 0.961743 4.56953C1.13651 4.63313 1.27934 4.76175 1.35987 4.92803L3.51792 9.71637C3.55623 9.80138 3.57726 9.89305 3.57981 9.98612C3.58237 10.0792 3.56639 10.1718 3.53279 10.2588C3.49919 10.3458 3.44863 10.4253 3.384 10.4929C3.31937 10.5605 3.24193 10.6148 3.1561 10.6528C3.07027 10.6907 2.97774 10.7116 2.88378 10.7141C2.78983 10.7166 2.69629 10.7008 2.60851 10.6675C2.52073 10.6342 2.44043 10.5841 2.37218 10.5201C2.30394 10.4561 2.2491 10.3794 2.21079 10.2944L0.054167 5.50462Z" fill="currentColor"/></g></svg>');
  background-color: currentColor;
}
body.manage .order-icon {
  display: flex;
  gap: 0.5rem;
}
body.manage .order-icon::after {
  content: "";
  display: inline-block;
  width: 7px;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAVCAMAAACnruT/AAAABGdBTUEAALGPC/xhBQAAADxQTFRFwcHBv7+/wcHBwcHBwcHBwcHBwcHBwsLCwsLCv7+/v7+/wsLCwsLCv7+/wsLCwcHBwsLCv7+/AAAAwsLCkgzVbgAAABN0Uk5Tj3BfcJB/gGCPQBCvvzDv398gAKlp0GQAAABeSURBVAjXlY5JEsAgCMDo7g7C//9aUOq9OUgOTgBY6VRtgD0klNxPEQnTHzGieafhratnmRSGWz4OaMtxNJ3fTqvTYFt+ARfXbPfMbWj3cBy+z05QBW8mFFz9qp+VF68JD5BZ26TGAAAAAElFTkSuQmCC");
}
body.manage .order-icon[asc]::after {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAVCAMAAACnruT/AAAABGdBTUEAALGPC/xhBQAAAGNQTFRFwsLCIHDPwsLCIHLNv7+/IHLMv7+/wsLCIHLLIHDLH3HMwcHBIHDHH3HMwsLCIHHMIHDKv7+/IHLNIHHLv7+/wcHBwcHBH3LMwsLCH3LNH3LMIHDPv7+/wcHBAAAAH3LMwsLCnKhjSAAAAB90Uk5T3xCvjzCvQI9wQL9fIN+/kDBwYIAQf4/v79/fICDfAHUDB3YAAABlSURBVAjXlcxHAoAgDAXR2HtvgEK8/ylNaHtnAW8BHwx1q5kv4EOiSrwnRMycV+Qa9i2tr55coKs1sGGohit6sJu+34Y3JGCJPsCMnim9f4Slfvhvad25nYp4+s1dvzru5/SY+gCBwhmX21H0DgAAAABJRU5ErkJggg==");
}
body.manage .order-icon[desc]::after {
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAVCAMAAACnruT/AAAABGdBTUEAALGPC/xhBQAAAGBQTFRFv7+/IHDPwcHBIHDLIHPMv7+/IHDKwsLCwsLCHnDNwcHBH3LMIHPLwsLCwcHBv7+/IHHMH3LNwcHBIHDPwsLCHnLNH3HNH3LMwsLCH3HMIHDHv7+/wsLCAAAAH3LMwsLCKBJP/QAAAB50Uk5TEBDfcL8wML9gf5CvQK9wQF/fgCCPj9/v798gIN8A3SWpHQAAAGNJREFUCNeVzDUCwCAQBdGNuwvO3v+WYbE+U8Ar4INxKd3QBXRo1BA9IuId3CO1kZX25sp5wVBn4MTUCjy79Jux3z5sikGVPYCpIyf3/mKeQtLf2XsPO4/jEzeL14q8376Srg9CdhjG4jYbaAAAAABJRU5ErkJggg==");
}
body.manage .u-pagination {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 1em 0;
}
body.manage .u-pagination > :where(a, button) {
  position: relative;
  aspect-ratio: 1/1;
  display: grid;
  border: 1px solid var(--blue);
  border-radius: 4px;
  background: white;
  place-content: center;
  width: 2em;
}
body.manage .u-pagination > :where(a, button)::before {
  content: "";
  border-top: 1px solid var(--blue);
  border-left: 1px solid var(--blue);
  width: 0.5em;
  aspect-ratio: 1/1;
  pointer-events: none;
}
body.manage .u-pagination > :where(a, button).prev::before {
  rotate: 0 0 1 -45deg;
  translate: 25% 0;
}
body.manage .u-pagination > :where(a, button).next::before {
  rotate: 0 0 1 135deg;
  translate: -25% 0;
}
@media (any-hover: hover) {
  body.manage .u-pagination > :where(a, button):hover {
    opacity: 0.7;
  }
}
body.manage .u-saturday td {
  background: #badbfe;
}
body.manage .u-sunday td {
  background: #fcbbb9;
}
body.manage .u-onoff {
  display: grid;
  border-radius: calc(infinity * 1px);
  place-content: center;
  width: 2em;
  margin-inline: auto;
  background-color: #d6d6d6;
  aspect-ratio: 1/1;
}
@media (any-hover: hover) {
  body.manage .u-onoff:where(a, button):hover {
    opacity: 0.7;
  }
}
body.manage .u-onoff.on {
  background-color: #2eb234;
}
body.manage .u-onoff.on::before {
  pointer-events: none;
  content: "";
  display: block;
  border-top: 2px solid white;
  border-left: 2px solid white;
  width: 0.5em;
  aspect-ratio: 1/1.5;
  rotate: 0 0 1 222deg;
  translate: 0 -10%;
}
body.manage .u-massage-pagination {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 1em 0;
}
body.manage .u-massage-pagination > :where(a, button):not(.back) {
  position: relative;
  aspect-ratio: 1/1;
  display: grid;
  border: 1px solid var(--blue);
  border-radius: 4px;
  background: white;
  place-content: center;
  width: 2.5em;
}
body.manage .u-massage-pagination > :where(a, button):not(.back)::before {
  content: "";
  border-top: 1px solid var(--blue);
  border-left: 1px solid var(--blue);
  width: 0.75em;
  aspect-ratio: 1/1;
  pointer-events: none;
}
body.manage .u-massage-pagination > :where(a, button):not(.back).prev::before {
  rotate: 0 0 1 45deg;
  translate: 0 25%;
}
body.manage .u-massage-pagination > :where(a, button):not(.back).next::before {
  rotate: 0 0 1 225deg;
  translate: 0 -25%;
}
@media (any-hover: hover) {
  body.manage .u-massage-pagination > :where(a, button):not(.back):hover {
    opacity: 0.7;
  }
}
body.manage .u-massage-pagination :where(a, button).back {
  padding-block: 0.5em;
  padding-inline: 0.5em;
  border-radius: 5px;
  font-size: 14px;
  color: var(--blue);
  text-decoration: underline;
  align-items: center;
  gap: 0.5em;
}
@media (any-hover: hover) {
  body.manage .u-massage-pagination :where(a, button).back:hover {
    opacity: 0.7;
  }
}
body.manage .u-massage-pagination :where(a, button).back::before {
  content: "›";
  display: inline-block;
  scale: -1 1;
  margin-right: 0.5em;
}

/* ==== フォントサイズ ==== */
body.member {
  font-size: 1.8vw;
  min-width: 100%;
}
body.member .fz-xxxlarge {
  font-size: 4vw;
}
body.member .fz-xxlarge {
  font-size: 3vw;
}
body.member .fz-xlarge {
  font-size: 2.6vw;
}
body.member .fz-large {
  font-size: 2.35vw;
}
body.member .fz-middle {
  font-size: 2.1vw;
}
body.member .fz-normal {
  font-size: 2vw;
}
body.member .fz-small {
  font-size: 1.8vw;
}
body.member .fz-xsmall {
  font-size: 1.2vw;
}
body.member .fz-xxsmall {
  font-size: 1vw;
}
body.member .u-button {
  color: var(--white);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50rem;
  background: var(--gradation-orange);
}
body.member label {
  cursor: pointer;
  font-size: 1.8vw;
}
body.member .u-input:is(select,
textarea,
input:is([type=text],
[type=tel],
[type=email],
[type=search],
[type=url],
[type=number],
[type=date])) {
  background: var(--white);
  border: 1px solid var(--silver);
  padding: 1.3vw;
  outline: none;
  line-height: 1.3;
  background-color: var(--white);
  font-size: 1.8vw;
  border-radius: var(--radius);
  width: 100%;
  min-width: 5vw;
}
body.member .u-input:is(select,
textarea,
input:is([type=text],
[type=tel],
[type=email],
[type=search],
[type=url],
[type=number],
[type=date])):focus {
  border: 1px solid var(--black);
}
body.member select.u-input {
  -webkit-appearance: auto;
  appearance: auto;
}
body.member textarea.u-input {
  min-height: 4vw;
  font-size: inherit;
  vertical-align: middle;
}
body.member textarea.u-input[large] {
  min-height: 16vw;
}
body.member input[type=checkbox].u-input {
  width: 3.4vw;
  height: 3.4vw;
  aspect-ratio: 1/1;
  margin: 0;
  vertical-align: -0.96vw;
  border: none;
  accent-color: var(--blue);
}
body.member input[type=checkbox].u-input + span {
  padding-left: 0.5vw;
}
body.member .u-input[error] {
  border-color: var(--red) !important;
}
body.member .u-calendar table {
  width: 100%;
  table-layout: fixed;
}
body.member .u-calendar th,
body.member .u-calendar td {
  background: var(--white);
  border: 1px solid var(--silver);
}
body.member .u-calendar td:empty {
  background: var(--gray);
}
body.member .u-calendar th {
  text-align: center;
  font-weight: bold;
}
body.member .u-calendar .contents {
  aspect-ratio: 1/1;
  overflow-y: auto;
  padding: 1.5vw 0.5vw;
}
body.member .u-calendar .contents .item {
  line-height: 1.4;
  font-size: 1.2vw;
  font-weight: bold;
}
body.member .u-calendar .contents .item + .item {
  margin-top: 0.25vw;
  border-top: 1px dashed var(--silver);
  padding-top: 0.5vw;
}
body.member .u-calendar .contents .item span:first-child {
  font-weight: normal;
  display: inline-block;
  border-radius: 50rem;
  line-height: 1;
  margin-right: 0.25vw;
  padding: 0.3vw 0.75vw;
  background: var(--gradation-orange);
}
body.member .u-calendar .contents .item span:first-child[data-name=早番] {
  color: var(--white);
}
body.member .u-calendar .contents .item span:first-child[data-name=遅番] {
  color: var(--white);
  background: var(--blue);
}
body.member .u-calendar .contents .item span:first-child[data-name=通し] {
  color: var(--white);
  background: var(--green);
}
body.member .u-calendar .day {
  font-size: 1.8vw;
  text-align: center;
  background: var(--smoke);
}
body.member .u-popup {
  z-index: -1;
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 300ms ease 0s, transform 300ms ease 0s;
}
body.member .u-popup.on {
  z-index: -1;
  opacity: 1;
  transform: scale(1);
}
body.member .u-popup {
  position: fixed;
  inset: 0;
  width: 100vw;
  background: var(--seashell);
}
body.member .u-popup-inner {
  padding: 3vw 3vw 6vw;
  height: 100vh;
  position: relative;
}
body.member .u-popup-contents {
  margin-top: 2vw;
  border: 1px solid var(--silver);
  background: var(--white);
  height: 78vh;
  overflow-y: scroll;
  padding: 2vw;
}
body.member .u-popup-close {
  display: block;
  width: max-content;
  margin-inline: auto 0;
}
body.member .u-popup.on {
  z-index: 20;
}
body.member .u-hr {
  height: 1px;
  background: var(--silver);
  width: 100%;
  margin: 0.75em auto;
}
body.member .u-input-alert:empty {
  display: none;
}
body.member .u-input-alert {
  padding: 0.25em 1em;
  font-size: 1.2vw;
  color: var(--red);
  border: 2px solid var(--red);
  border-radius: var(--radius);
  background: var(--opred);
  width: max-content;
  margin-top: 0.5em;
  display: block;
  position: relative;
  max-width: fit-content;
  font-weight: bold;
}
body.member .u-input-alert::before {
  position: absolute;
  top: -9px;
  left: 16px;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 5px 8px 5px;
  border-color: transparent transparent var(--red) transparent;
  display: none;
}
body.member .login {
  height: 100%;
  grid-template-columns: minmax(350px, 30%) auto;
}
body.member .login .title {
  background-image: url("../../assets/image/member/login-bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  place-content: center;
  display: grid;
}
body.member .login .title::before {
  content: "";
  background-image: url("../../assets/image/member/login-title.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 20vw;
  aspect-ratio: 270/170;
  margin-inline: auto;
}
body.member .login .body {
  place-content: center;
}
body.member .login h2 {
  width: 40vw;
}
body.member .login input[type=password],
body.member .login textarea {
  resize: none;
  line-height: 1;
  padding-block: 1.5em 1em;
  height: 60px;
  border: 1px solid var(--red);
}
body.member .container {
  height: 100%;
  grid-template-columns: 7vw auto;
}
body.member .container:not(:has(.aside)) {
  grid-template-columns: 1fr;
}
body.member .aside {
  background: var(--orange);
  padding-inline: 0.3vw;
  z-index: 2;
}
body.member .aside .unit + .unit {
  margin-top: 0.5vw;
}
body.member .aside a {
  font-size: 1vw;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: var(--opwhite);
  border-radius: 0.95vw;
  aspect-ratio: 1/1;
}
body.member .aside a .material-icons {
  font-size: 3vw;
}
body.member .aside a > div {
  text-align: center;
  padding-inline: 0.5em;
  word-break: break-all;
  line-height: 1.2;
  font-weight: bold;
}
body.member .aside a .count {
  color: var(--white);
  background: var(--black);
  font-weight: bold;
  position: absolute;
  top: -0.3vw;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  right: -0.3vw;
  pointer-events: none;
  line-height: 1;
  aspect-ratio: 1/1;
  width: 1.8vw;
  display: grid;
  place-content: center;
  border-radius: 50%;
  animation-name: blink;
  animation-duration: 500ms;
  animation-delay: 0ms;
  animation-timing-function: ease;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-fill-mode: none;
  animation-play-state: running;
}
body.member .aside a.on {
  background: var(--seashell);
  color: var(--black);
  transform: translateX(0.5vw);
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
body.member .header {
  position: relative;
  z-index: 2;
  height: 5.5vw;
  background: var(--gradation-orange-soft);
}
body.member .header .username {
  width: 100%;
}
body.member .header .anchor {
  flex-shrink: 0;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url("../../assets/image/member/header-back.png");
  aspect-ratio: 172/114;
  width: 6vw;
}
body.member .header .logout {
  flex-shrink: 0;
  border-radius: var(--radius);
}
body.member .pager {
  display: flex;
  justify-content: center;
  margin-block: 3em 4em;
  gap: 4em;
}
body.member .pager a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.5em 1.5em;
  background: var(--black);
  color: var(--white);
  border-radius: var(--radius);
  font-size: 1.8vw;
}
body.member .pager a:first-child::before {
  content: "\e5cb";
  font-family: var(--icon);
  display: inline-block;
}
body.member .pager a:last-child::after {
  content: "\e5cc";
  font-family: var(--icon);
  display: inline-block;
}
body.member .search > button {
  font-size: 1.8vw;
  display: flex;
  align-items: center;
  gap: 0.25vw;
  flex-wrap: wrap;
  color: var(--blue);
  width: max-content;
  background: var(--white);
}
body.member .search > button::before {
  content: "\e8b6";
  font-family: var(--icon);
}
body.member .search .inner {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.8vw;
  gap: 2vw;
}
body.member .search .inner .unit {
  display: flex;
  gap: 1vw;
  align-items: center;
}
body.member .search .inner button {
  padding: 0.5vw 2.5vw;
}
body.member .main {
  background: var(--seashell);
  padding: 2.6vw 2.8vw 6vw;
  position: relative;
  z-index: 1;
  overflow: auto;
  /* ==== 見出し ==== */
}
body.member .main .top {
  display: flex;
  align-items: center;
  border-bottom: 1px solid var(--orange);
  gap: 0.5em;
  font-weight: bold;
  margin-bottom: 1em;
}
body.member .main .information {
  display: flex;
  gap: 0.5em;
  margin-bottom: 0.5em;
  font-size: 2vw;
  font-weight: bold;
  background: var(--white);
  padding: 0.25em;
  border: 1px solid var(--salmon);
  border-radius: var(--radius);
  flex-wrap: wrap;
}
body.member .main .information .unit {
  background: var(--white);
  background: var(--ivory);
  border: 1px solid var(--orange);
  border-radius: var(--radius);
  padding: 0 0.35em;
}
body.member .fixed:is(th, td) {
  position: sticky;
  z-index: 1;
}
body.member .fixed[left]:is(th, td) {
  left: 0;
}
body.member .fixed[top]:is(th, td) {
  top: 0;
}
body.member .list-table {
  font-size: 1.8vw;
  overflow-x: auto;
  white-space: nowrap;
  position: relative;
  background: var(--white);
}
body.member .list-table table {
  width: 100%;
  table-layout: auto;
}
body.member .list-table thead th {
  font-weight: bold;
  background: var(--orange);
  color: var(--white);
  border-inline: 1px solid var(--brown);
}
body.member .list-table thead th:first-child {
  border-left-color: transparent;
}
body.member .list-table tbody th {
  font-weight: bold;
  background: var(--orange);
  color: var(--white);
  border: 1px solid var(--gray);
}
body.member .list-table tbody th:first-child {
  border-left-color: transparent;
}
body.member .list-table tr:hover td[data-text]::after {
  opacity: 1;
}
body.member .list-table th {
  padding: 0.75em 1em;
}
body.member .list-table td {
  border: 1px solid var(--silver);
  padding: 0.5em 1em;
  background: var(--white);
}
body.member .list-table th,
body.member .list-table td {
  vertical-align: middle;
}
body.member .list-table td:has(a.u-button) {
  width: 10vw;
  text-align: center;
}
body.member .list-table td[data-text]::after {
  content: attr(data-text);
  position: absolute;
  top: 0.1vw;
  line-height: 1;
  font-size: 1vw;
  background: var(--orange);
  color: var(--white);
  right: 0.1vw;
  display: inline-block;
  padding: 0.2vw 0.4vw;
  border-radius: 5px;
  pointer-events: none;
  opacity: 0;
}
body.member .list-table td:has(input[type=text], input[type=tel], textarea, select) {
  padding: 0;
}
body.member .list-table td:has(input[type=text], input[type=tel], textarea, select) :is(input[type=text], input[type=tel], textarea, select) {
  border-radius: 0;
  border: 1px solid transparent;
  background-color: var(--water);
}
body.member .list-table td:has(input[type=text], input[type=tel], textarea, select) :is(input[type=text], input[type=tel], textarea, select):focus {
  background-color: var(--white);
}
body.member .list-table td:has(input[type=text], input[type=tel], textarea, select) :is(input[type=text], input[type=tel], textarea, select)[readonly] {
  background: var(--white);
  color: var(--black);
}
body.member .list-table td:has(.u-button) select {
  width: 43vw;
}
body.member .list-table td:has(.u-button) .u-button {
  margin-inline: 0.75vw auto;
}
body.member .list-table td:not(.fixed) {
  position: relative;
}
body.member .list-table tbody tr:nth-child(2n) td {
  background: var(--smoke);
}
body.member .list-table .u-button {
  padding: 0.25em 1em;
}
body.member .current-clock {
  background: var(--white);
  width: max-content;
  margin-inline: auto;
  padding-inline: 5vw 2vw;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border: 3px solid var(--orange);
  color: var(--orange);
  font-weight: bold;
  font-size: 2.6vw;
  border-radius: var(--radius);
  gap: 0.1em;
  position: relative;
}
body.member .current-clock.current-clock::before {
  content: "";
  position: absolute;
  width: 4vw;
  height: 100%;
  background: var(--orange);
  top: 0;
  left: 0;
}
body.member .current-clock.current-clock::after {
  position: absolute;
  color: var(--white);
  top: 50%;
  line-height: 1;
  transform: translateY(-50%);
  left: 0.75vw;
  content: "\e8b5";
  font-weight: normal;
  font-family: var(--icon);
}
body.member .current-clock:empty {
  display: none;
}
body.member .u-checkboxes .u-checkbox {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 0.5em;
}
body.member .u-checkboxes .u-checkbox[flex] {
  display: flex;
  flex-direction: column;
}
body.member .u-scrollbox {
  overflow-y: auto;
  max-height: 300px;
  border: 1px solid var(--silver);
  background: var(--white);
  padding: 1em 1em;
}
body.member .u-scrollbox[large] {
  max-height: 500px;
}
body.member .u-messagebox {
  margin-top: 2vw;
  background: var(--white);
  border: 1px solid var(--silver);
  padding: 0.8vw 1vw;
}
body.member .u-messagebox .head {
  position: relative;
  display: flex;
  gap: 1em;
  flex-wrap: wrap;
  padding-right: 22vw;
}
body.member .u-messagebox .head .time {
  position: absolute;
  top: 0.45vw;
  right: 0;
  line-height: 1;
  padding: 0em 0.5em;
  border-radius: var(--radius);
  font-size: 1.8vw;
  display: flex;
  align-items: center;
  gap: 0.25em;
}
body.member .u-messagebox .head .time::before {
  content: "\e8b5";
  font-family: var(--icon);
}
body.member .u-messagebox .head .from::before {
  content: "From：";
  font-weight: bold;
  font-size: 1.8vw;
}
body.member .u-messagebox .head .to::before {
  content: "To：";
  font-weight: bold;
  font-size: 1.8vw;
}
body.member .u-messagebox .head .category::before {
  content: "カテゴリー：";
  font-weight: bold;
  font-size: 1.8vw;
}
body.member .u-messagebox .subject {
  border-bottom: 1px solid var(--silver);
  padding-bottom: 0.5vw;
}
body.member .u-messagebox .subject::before {
  content: "件名：";
  font-weight: bold;
  font-size: 1.8vw;
}
body.member .u-messagebox .body {
  word-break: break-all;
  padding-block: 1vw 0;
}
body.member .u-messagebox .body a {
  color: var(--blue);
  text-decoration-line: underline;
  text-decoration-style: solid;
}
body.member .u-messagebox:has(.from) {
  border: 2px solid var(--orange);
  border-radius: var(--radius);
}
body.member .dashboard-buttons {
  display: grid;
  gap: 3.2307692308vw 4.9230769231vw;
  grid-template-columns: repeat(2, 1fr);
}
body.member .dashboard-buttons li {
  position: relative;
}
body.member .dashboard-buttons li::before,
body.member .dashboard-buttons li::after {
  content: "";
  position: absolute;
  z-index: 2;
}
body.member .dashboard-buttons li::before {
  width: 14.3076923077vw;
  aspect-ratio: 186/35;
  background: linear-gradient(90deg, #f6814c 36.67%, #fc4871 100%);
  display: block;
  pointer-events: none;
  clip-path: polygon(100% 0%, 90% 50%, 100% 100%, 0 100%, 0 0);
  left: -1.3076923077vw;
  top: 0.9230769231vw;
}
body.member .dashboard-buttons li::after {
  width: 1.3076923077vw;
  aspect-ratio: 17/12;
  top: 3.6vw;
  left: -1.3076923077vw;
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  background: #ba3c5e;
}
body.member .dashboard-buttons a {
  padding-top: 2vw;
  border-radius: 2.7692307692vw;
  box-shadow: 0px 3px 6px 0px rgba(21, 34, 50, 0.16);
  background: #fff;
  min-height: 16.5384615385vw;
  display: flex;
  position: relative;
  flex-direction: column;
  justify-content: center;
  padding-inline: 2.9230769231vw;
}
body.member .dashboard-buttons a .title {
  line-height: 1;
  font-size: 2.4615384615vw;
  color: var(--salmon);
  font-weight: bold;
}
body.member .dashboard-buttons a .desc {
  font-weight: 400;
  padding-top: 0.25em;
  color: #b4b4b4;
  font-size: 1.2307692308vw;
}
body.member .dashboard-buttons a .icon {
  color: white;
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  font-size: 3.5384615385vw;
  right: 1.8461538462vw;
  width: 6.9230769231vw;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  pointer-events: none;
  border-radius: calc(infinity * 1px);
  background: linear-gradient(180deg, #f6814c 36.67%, #fc4871 100%);
}
body.member a::after {
  text-align: center;
  display: block;
  content: attr(data-en);
  position: absolute;
  text-transform: uppercase;
  color: white;
  font-weight: bold;
  top: 1.2vw;
  font-size: 1.2307692308vw;
  left: 3vw;
  z-index: 3;
}

/*# sourceMappingURL=style.css.map */
