@charset "UTF-8";
/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
html {
  font-size: 62.5%;
}

body {
  margin: 0;
  font-family: Arial, sans-serif;
  font-weight: 500;
}

* {
  box-sizing: border-box;
}

#root {
  height: 100%;
}

ul {
  padding: 0;
  margin: 0;
}

li {
  list-style: none;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-archive {
  flex: 1;
  height: 100vh;
  padding-top: 3rem;
  background-color: #EFF3F3;
  overflow: hidden;
}
.c-archive__inner {
  padding: 0 3rem;
  height: 100%;
  overflow-y: scroll;
}
.c-archive__sort {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
  flex-wrap: wrap;
}
.c-archive__sortRight {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.c-archive__sortSelectArea {
  width: 13rem;
}
.c-archive__sortSelect {
  width: 100%;
  border: none;
  background-color: #fff;
  padding: 1rem 1.4rem;
  box-shadow: 0px 3px 10px 0px rgba(32, 45, 88, 0.15);
  border-radius: 5px;
  appearance: none;
  background-image: url("../../images/icon_arrow_dropdown.svg");
  background-repeat: no-repeat;
  background-position: right 1.4rem center;
}
.c-archive__sortArrow {
  cursor: pointer;
  width: 3.6rem;
  height: 3.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  box-shadow: 0px 3px 10px 0px rgba(32, 45, 88, 0.15);
  border: none;
  border-radius: 5px;
}
.c-archive__sortArrow.up {
  transform: rotate(-180deg);
}
.c-archive__viewToggle {
  cursor: pointer;
  width: 3.6rem;
  height: 3.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  box-shadow: 0px 3px 10px 0px rgba(32, 45, 88, 0.15);
  border: none;
  border-radius: 5px;
}
.c-archive__viewToggle:hover {
  background-color: #f0f0f0;
}
.c-archive__breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-wrap: wrap;
}
.c-archive__breadcrumbItem {
  cursor: pointer;
  font-size: 1.3rem;
  font-weight: 500;
  background: none;
  border: none;
  padding: 0.4rem 0.6rem;
  border-radius: 4px;
  color: #16363C;
}
.c-archive__breadcrumbItem:hover {
  background-color: rgba(22, 54, 60, 0.08);
}
.c-archive__breadcrumbItem--active {
  font-weight: 700;
  color: #474D60;
  cursor: default;
}
.c-archive__breadcrumbItem--active:hover {
  background-color: transparent;
}
.c-archive__breadcrumbSep {
  font-size: 1.3rem;
  color: #999;
}
.c-archive__addFolderBtn {
  cursor: pointer;
  font-size: 1.2rem;
  font-weight: 600;
  color: #16363C;
  background: none;
  border: 1px dashed #16363C;
  border-radius: 4px;
  padding: 0.3rem 0.8rem;
  margin-left: 0.8rem;
}
.c-archive__addFolderBtn:hover {
  background-color: rgba(22, 54, 60, 0.08);
}
.c-archive__listArea {
  padding-bottom: 3rem;
}
.c-archive__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2rem 1rem;
}
@media (max-width: 1440px) {
  .c-archive__list {
    grid-template-columns: repeat(auto-fill, minmax(212px, 1fr));
  }
}
.c-archive__list--list {
  grid-template-columns: 1fr;
  gap: 0.6rem;
}
.c-archive__item--list {
  width: 100%;
}
.c-archive__item--dragOver {
  outline: 2px dashed #16363C;
  outline-offset: -2px;
  border-radius: 5px;
  background-color: rgba(22, 54, 60, 0.05);
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.react-flow__attribution {
  display: none !important;
}

.c-btn {
  display: block;
  font-weight: 700;
  border: none;
  padding: 0.4rem 1.2rem;
  cursor: pointer;
}
.c-btn--pink {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  color: #fff;
  font-size: 1.3rem;
  background-color: #EA5F1E;
  border-radius: 100px;
  text-decoration: none;
  text-align: center;
  padding-top: 0.9rem;
  padding-bottom: 0.9rem;
}
.c-btn--tempsave {
  color: #2A5F68;
  background-color: #fff;
  width: 100%;
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  border-radius: 100px;
  border: 1px solid;
}
.c-btn--apply {
  color: #fff;
  background-color: #2A5F68;
  width: 100%;
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  border-radius: 100px;
  border: 1px solid #2A5F68;
}
.c-btn--runflow {
  color: #fff;
  background-color: #EA5F1E;
  width: 100%;
  font-size: 1.3rem;
  font-weight: 700;
  text-align: center;
  border-radius: 100px;
  border: 1px solid #F07136;
}
.c-btn--blue.dialog-btn {
  width: 33%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  color: #2A5F68;
  font-size: 1.3rem;
  background-color: #ffffff;
  border-radius: 100px;
  border: 1px solid #2A5F68;
  text-decoration: none;
  text-align: center;
  padding-top: 0.9rem;
  padding-bottom: 0.9rem;
  margin: auto;
}
.c-btn--deleteItem {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.3rem;
  color: #2A5F68;
  text-decoration: underline;
  background-color: transparent;
  border: none;
  padding: 0;
}
.c-btn--editTagBtn {
  font-size: 1.2rem !important;
  background-color: #16363C !important;
  width: 7.2rem !important;
  padding: 0.6rem !important;
}
.c-btn--smallTxt {
  font-size: 1.2rem !important;
  padding: 1rem !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
}
.c-btn--white {
  width: 100%;
  font-size: 1.6rem;
  text-decoration: none;
  text-align: center;
  color: #1B4247;
  background-color: #fff;
  border-radius: 100px;
  padding: 1.4rem 1.4rem;
  border: 1px solid #1B4247;
}
.c-btn--white.on-authmodal {
  width: 80px;
}
.c-btn--blue {
  width: 100%;
  font-size: 1.6rem;
  text-decoration: none;
  text-align: center;
  color: #fff;
  background-color: #2A5F68;
  border-radius: 100px;
  padding: 1.4rem 1.4rem;
  border: 1px solid #2A5F68;
}
.c-btn--json--import {
  max-width: 250px;
  margin-left: auto;
  margin-right: auto;
}
.c-btn--link {
  color: #2A5F68;
  font-size: 1.3rem;
}
.c-btn--link:hover {
  text-decoration: none;
}
.c-btn--choose {
  min-height: 5rem;
  width: 100%;
  font-size: 1.6rem;
  text-decoration: none;
  text-align: center;
  color: #2A5F68;
  background-color: #fff;
  border-radius: 100px;
  padding: 0.4rem 1.4rem;
  border: 1px solid #2A5F68;
}
.c-btn--choose:hover, .c-btn--choose:focus {
  background-color: #EDF2F3;
}
.c-btn--choose.selected {
  background-color: #2A5F68;
  color: #fff;
  box-shadow: 0 0 10px 0 rgba(53, 86, 207, 0.25);
}
.c-btn--add {
  width: 100%;
  color: #fff;
  font-size: 1.5rem;
  background-color: #EA5F1E;
  border-radius: 100px;
  display: flex;
  gap: 1.2rem;
  align-items: center;
  text-decoration: none;
  padding: 1rem;
}
.c-btn--add .c-btn__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  position: initial;
}
.c-btn--add .c-btn__icon::before {
  display: none;
}
.c-btn--add .c-btn__icon::after {
  display: none;
}
.c-btn--common {
  width: 100%;
  font-size: 1.5rem;
  text-decoration: none;
  text-align: center;
  color: #fff;
  background-color: #2A5F68;
  border-radius: 100px;
  padding: 1.4rem;
  border: 1px solid #2A5F68;
}
.c-btn--cancel {
  width: 100%;
  font-size: 1.2rem;
  text-decoration: underline;
  color: #1B4247;
  background-color: #EFF3F3;
  padding: 0.2rem 0.8rem;
  text-align: center;
}
.c-btn--save {
  width: 100%;
  color: #fff;
  font-size: 1.5rem;
  background-color: #EA5F1E;
  border-radius: 100px;
  text-decoration: none;
  text-align: center;
}
.c-btn--deploy {
  width: 100%;
  color: #fff;
  font-size: 1.5rem;
  background-color: #1B4247;
  border-radius: 100px;
  text-decoration: none;
  text-align: center;
}
.c-btn--execute {
  width: 100%;
  color: #fff;
  font-size: 1.5rem;
  background-color: #EA5F1E;
  border-radius: 100px;
  text-decoration: none;
  text-align: center;
  margin-left: auto;
  max-width: 16rem;
}
.c-btn--temp-save {
  width: 100%;
  color: #2A5F68;
  font-size: 1.5rem;
  background-color: #fff;
  border-radius: 100px;
  border: 1px solid #2A5F68;
  text-decoration: none;
  text-align: center;
}
.c-btn--edit {
  display: inline-block;
  color: #2A5F68;
  text-align: left;
  position: relative;
}
.c-btn--edit:hover .c-btn__txt {
  text-decoration: underline;
}
.c-btn--edit:hover .c-btn__icon {
  display: block;
}
.c-btn--back {
  color: #fff;
  text-align: center;
  font-size: 1.3rem;
  background-color: #16363C;
  border-radius: 100px;
  padding: 0.6rem 1.2rem;
  box-shadow: 0px 4px 4px 0px rgba(27, 53, 146, 0.15);
}
.c-btn--outline {
  background-color: transparent;
  color: #16363C;
  border: 1px solid #16363C;
  box-shadow: none;
}
.c-btn__txt {
  display: inline-block;
  font-size: 1.5rem;
  text-align: left;
}
.c-btn__icon {
  display: none;
  position: absolute;
  right: -1.6rem;
  top: 0;
}
.c-btn__icon::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 7px solid transparent; /* 左辺を透明に */
  border-right: 7px solid transparent; /* 右辺を透明に */
  border-bottom: 14px solid #16363C; /* 底辺の色を指定 */
  flex-shrink: 0;
  position: absolute;
  right: 50%;
  top: 3rem;
  transform: translateX(50%);
}
/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-btnList {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 2rem;
  position: absolute;
  left: 0;
  z-index: 9;
  padding: 0.9rem 3.2rem;
}
.c-btnList--top {
  background-color: #EFF3F3;
  top: 0;
  padding-right: 7rem;
  box-shadow: 0 3px 10px 0 rgba(32, 45, 88, 0.15);
  /* タイトルを中央に収める */
  display: flex;
  align-items: center;
}
.c-btnList--ai {
  flex-wrap: wrap;
  padding-right: 3rem;
  gap: 0.8rem;
}
.c-btnList--bottom {
  bottom: 0;
}
.c-btnList__item {
  /* タイトル領域は中央で伸縮 */
}
.c-btnList__item--cancel {
  width: auto;
  min-width: 7.6rem;
  white-space: nowrap;
}
.c-btnList__item--save {
  width: 10.4rem;
}
.c-btnList__item--temp-save {
  width: 14.4rem;
}
.c-btnList__item--title {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 0;
}
.c-btnList__item--title p {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin: 0;
}
.c-btnList__item--deploy {
  width: 24rem;
  text-align: right;
}
.c-btnList__item--execute {
  width: 21rem;
  margin-left: auto;
}
.c-btnList__item--back {
  width: 15.4rem;
}
.c-btnList__item--tempsave {
  width: 10.4rem;
}
.c-btnList__item--apply {
  width: 17.2rem;
}
.c-btnList__item--runflow {
  box-sizing: border-box;
  width: 16.8rem;
  padding-left: 3rem;
  margin-left: 2.2rem;
  border-left: 1px solid #8CA3A8;
}

/* 中央タイトル */
.c-flowTitle {
  font-size: 1.6rem;
  font-weight: 600;
  color: #1B3592; /* デザインの見出し色に合わせる */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  text-align: center;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-cardArchive {
  height: 100%;
  display: flex;
  flex-direction: column;
  color: #474D60;
  background-color: #fff;
  box-shadow: 0px 3px 10px 0px rgba(32, 45, 88, 0.15);
  border-radius: 5px;
  text-decoration: none;
}
.c-cardArchive:hover .c-cardArchive__ttl {
  color: #2A5F68;
  text-decoration: underline;
}
.c-cardArchive:hover .c-cardArchive__txt {
  color: #2A5F68;
}
.c-cardArchive--list {
  flex-direction: row;
  height: auto;
  align-items: center;
}
.c-cardArchive--list .c-cardArchive__txtArea {
  flex-direction: row;
  align-items: center;
  gap: 1rem;
  padding: 0.8rem 1.4rem;
}
.c-cardArchive--list .c-cardArchive__txtContent {
  flex: 1;
  gap: 0;
}
.c-cardArchive--list .c-cardArchive__btnArea {
  flex-shrink: 0;
}
.c-cardArchive--folder {
  border: 1px solid #dde4f0;
}
.c-cardArchive--folder:hover {
  border-color: #16363C;
}
.c-cardArchive--folder:hover .c-cardArchive__ttl {
  color: #16363C;
}
.c-cardArchive--folderUp {
  border-style: dashed;
  opacity: 0.7;
}
.c-cardArchive--folderUp:hover {
  opacity: 1;
}
.c-cardArchive__imgArea {
  aspect-ratio: 212/128;
  overflow: hidden;
  background-color: #F6F9FC;
  border-radius: 5px 5px 0 0;
  overflow: hidden;
}
.c-cardArchive__imgArea img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 2rem;
  box-sizing: border-box;
}
.c-cardArchive__imgArea2 {
  aspect-ratio: 212/128;
  overflow: hidden;
  background-color: #F6F9FC;
  border-radius: 5px 5px 0 0;
  overflow: hidden;
}
.c-cardArchive__imgArea2 img {
  width: 100%;
  height: 100%;
  padding: 3rem;
}
.c-cardArchive__imgArea2--folder {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #EEF2FA;
}
.c-cardArchive__imgAreaList {
  width: 4rem;
  height: 4rem;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #F6F9FC;
  border-radius: 5px 0 0 5px;
  overflow: hidden;
}
.c-cardArchive__imgAreaList img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 0.6rem;
  box-sizing: border-box;
}
.c-cardArchive__imgAreaList--folder {
  background-color: #EEF2FA;
}
.c-cardArchive__imgAreaList--folder svg {
  width: 24px;
  height: 24px;
}
.c-cardArchive__txtArea {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
  padding: 1.4rem;
}
.c-cardArchive__txtContent {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}
.c-cardArchive__ttl {
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5384615385;
  margin: 0;
  transition: all 0.3s;
}
.c-cardArchive__txt {
  font-size: 1rem;
  line-height: 1.5;
  margin: 0;
  transition: all 0.3s;
}
.c-cardArchive__tagArea {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}
.c-cardArchive__btnArea {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.c-cardArchive__edit {
  cursor: pointer;
  flex: 1;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  color: #fff;
  background-color: #16363C;
  border-radius: 100px;
  border: 1px solid #fff;
  padding: 0.6rem;
  position: relative;
  z-index: 2;
}
.c-cardArchive__edit span::before {
  content: "";
  display: inline-block;
  width: 1.2rem;
  height: 1.2rem;
  background-image: var(--archive-edit-icon, url(../../images/icon_edit.svg));
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 0.5rem;
  position: relative;
  top: 0.1rem;
}
.c-cardArchive__delete {
  cursor: pointer;
  width: 3rem;
  padding: 0;
  border: none;
  background-color: transparent;
  position: relative;
  z-index: 2;
}
.c-cardArchive__delete::before {
  content: "削除する";
  display: block;
  min-width: 6.4rem;
  font-size: 1.2rem;
  font-weight: 500;
  background-color: #2A5F68;
  color: #fff;
  text-align: center;
  padding: 0.2rem;
  position: absolute;
  top: 4rem;
  left: 50%;
  transform: translateX(-50%);
  display: none;
}
.c-cardArchive__delete::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 14px solid #2A5F68;
  flex-shrink: 0;
  position: absolute;
  right: 50%;
  top: 3rem;
  transform: translateX(50%);
  display: none;
}
.c-cardArchive__delete img {
  width: 100%;
}
.c-cardArchive__delete:hover::before {
  display: block;
}
.c-cardArchive__delete:hover::after {
  display: block;
}
.c-cardArchive__folderAction {
  cursor: pointer;
  font-size: 1.1rem;
  font-weight: 500;
  color: #666;
  background: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 0.2rem 0.6rem;
  position: relative;
  z-index: 2;
}
.c-cardArchive__folderAction:hover {
  background-color: #f0f0f0;
}
.c-cardArchive__folderAction--delete {
  color: #c44;
  border-color: #c44;
}
.c-cardArchive__folderAction--delete:hover {
  background-color: #fef0f0;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-cardUser {
  color: #474D60;
  font-size: 1.5rem;
  padding: 1.6rem 1.8rem;
  transition: all 0.3s ease;
  border-radius: 10px;
}
.c-cardUser:hover {
  background-color: #EDF2F3;
}
.c-cardUser__mail {
  color: #16363C;
  font-size: 1.7rem;
  font-weight: 700;
  margin: 0;
}
.c-cardUser__list {
  margin-top: 1.4rem;
}
.c-cardUser__item {
  font-size: 1.4rem;
  line-height: 1.6428571429;
  font-weight: 500;
}
.c-cardUser__label {
  display: inline-block;
  width: 19rem;
  padding-right: 0.6rem;
}
.c-cardUser__txt {
  display: inline-block;
  color: #16363C;
  padding-left: 0.6rem;
}
.c-cardUser__date {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-weight: 500;
  line-height: 1.6666666667;
}
.c-cardUser__date--time {
  color: #9599A7;
}
.c-cardUser__status {
  color: #16363C;
  font-size: 1.6rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.c-cardUser__statusIcon {
  width: 2.6rem;
  height: 2.6rem;
}
.c-cardUser__btnArea {
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-cardUser__btn {
  cursor: pointer;
  width: 3rem;
  height: 3rem;
  border: none;
  background-color: #DEE5EE;
  border-radius: 50%;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
}
.c-cardUser__btn::before {
  content: "編集する";
  display: block;
  min-width: 6.4rem;
  font-size: 1.2rem;
  font-weight: 500;
  background-color: #2A5F68;
  color: #fff;
  text-align: center;
  padding: 0.2rem;
  position: absolute;
  top: 4rem;
  left: 50%;
  transform: translateX(-50%);
  display: none;
}
.c-cardUser__btn::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 7px solid transparent; /* 左辺を透明に */
  border-right: 7px solid transparent; /* 右辺を透明に */
  border-bottom: 14px solid #2A5F68; /* 底辺の色を指定 */
  flex-shrink: 0;
  position: absolute;
  right: 50%;
  top: 3rem;
  transform: translateX(50%);
  display: none;
}
.c-cardUser__btn:hover svg circle {
  fill: #2A5F68;
}
.c-cardUser__btn:hover svg path {
  fill: #fff;
}
.c-cardUser__btn:hover::before {
  display: block;
}
.c-cardUser__btn:hover::after {
  display: block;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-connector {
  color: #474D60;
  width: 100%;
  height: 100%;
  color: #474D60;
  background: #FBFCFF;
  position: relative;
  overflow: hidden;
  padding-top: 10rem;
}
.c-connector__header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3rem;
  background: #fff;
  box-shadow: 0px 3px 10px 0px rgba(32, 45, 88, 0.15);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9;
}
.c-connector__ttl {
  font-size: 2.2rem;
  font-weight: 700;
  margin: 0;
  color: #fff;
}
.c-connector__ttl span {
  display: inline-block;
  font-size: 1.5rem;
  margin-left: 1rem;
}
.c-connector__headerBtnList {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.c-connector__headerBtnItem--save, .c-connector__headerBtnItem--cancel {
  width: 18rem;
}
.c-connector__headerBtnItem--save .c-btn, .c-connector__headerBtnItem--cancel .c-btn {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.c-connector__main {
  height: 100%;
  padding: 3rem 0;
  overflow-y: auto;
}
.c-connector__chooseArea {
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 0 5rem 2.8rem;
}
.c-connector__chooseBoxArea {
  flex: 1;
}
.c-connector__chooseBox:not(:first-child) {
  margin-top: 5rem;
}
.c-connector__chooseBoxTtl {
  font-size: 2rem;
  font-weight: 700;
}
.c-connector__chooseBoxTtl::before {
  content: "";
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  background: #16363C;
  border-radius: 50%;
  margin-right: 1rem;
}
.c-connector__chooseBoxList {
  margin-top: 3rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.4rem;
  padding-left: 3.6rem;
}
.c-connector__chooseBoxItem {
  width: 20rem;
}
.c-connector__btnArea {
  width: 30rem;
  max-width: 100%;
  margin: 5rem auto 0;
  position: relative;
}
.c-connector__nextBtn {
  cursor: pointer;
  width: 100%;
  font-size: 1.5rem;
  text-decoration: none;
  text-align: center;
  color: #fff;
  background-color: #2A5F68;
  border-radius: 100px;
  padding: 1.4rem;
  border: 1px solid #2A5F68;
}
.c-connector__nextBtn:disabled {
  cursor: not-allowed;
  color: #fff;
  background-color: #A9B5DF;
  border: 1px solid #A9B5DF;
}
.c-connector__nextBtn:disabled:hover + .c-connector__nextBtnTxt {
  display: block !important;
}
.c-connector__nextBtnTxt {
  display: none;
  text-align: center;
  position: absolute;
  top: -6rem;
  left: 50%;
  transform: translateX(-50%);
}
.c-connector__nextBtnTxt::before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 14px solid #3556CF;
  flex-shrink: 0;
  position: absolute;
  right: 50%;
  bottom: -1rem;
  transform: translateX(50%) rotate(180deg);
}
.c-connector__nextBtnTxt span {
  width: 30rem;
  max-width: 100%;
  display: inline-block;
  font-size: 1.4rem;
  color: #fff;
  background-color: #2A5F68;
  padding: 0.2rem;
}
.c-connector__connectArea {
  padding: 2rem 1.6rem 0;
}
.c-connector__connectBox {
  max-width: 32.4rem;
  margin: 0 auto;
}
.c-connector__connectBtnArea {
  max-width: 30rem;
  margin: 3rem auto 0;
}
.c-connector__knowledgeArea {
  padding: 2rem 5rem;
}
.c-connector__editArea {
  padding: 2rem 7.3770491803% 2rem 5rem;
  display: flex;
  gap: 4rem;
}
.c-connector__editTxtArea {
  flex: 1;
}
.c-connector__editImgArea {
  width: 33rem;
  max-width: 50%;
}
.c-connector__editImgTtl {
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 0.8rem;
}
.c-connector__editImgBox {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 300/200;
  overflow: hidden;
  background-color: #F6F9FC;
}
.c-connector__editImg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-connector__editIcon {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 2rem;
  box-sizing: border-box;
}
.c-connector__editIcon.customConnector {
  width: auto;
  object-fit: initial;
  padding: 0;
}
.c-connector__editImgBtnArea {
  max-width: 27rem;
  margin: 1.2rem auto 0;
}
.c-connector__editItem:not(:first-child) {
  margin-top: 2.2rem;
}
.c-connector__editItem select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-weight: 500;
  border: 2px solid #E7E9ED;
  border-radius: 10px;
  padding: 1.2rem;
  width: 100%;
  background: #fff url(../../images/icon_arrow_dropdown.svg) center right 1.2rem/1.3rem auto no-repeat;
}
.c-connector__editItemTtl {
  font-size: 1.4rem;
  font-weight: 700;
  margin: 0.8rem 0;
}
.c-connector__laelItemTtl {
  font-size: 1.4rem;
  font-weight: 700;
  margin: 1.2rem 0;
}
.c-connector__editItemTxt {
  color: #80848F;
  font-size: 1.2rem;
  line-height: 1.3846153846;
  margin: 0.8rem 0;
}
.c-connector__editTagArea {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.2rem;
}
.c-connector__editTagBox {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  background-color: #fff;
  border: 2px solid #E7E9ED;
  border-radius: 10px;
  padding: 0 1.2rem;
  width: 100%;
}
.c-connector__editItemBtnArea {
  margin-top: 7rem;
}
.c-connector__editTagBtn {
  width: 7.2rem;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-inputTxt {
  background-color: #fff;
  border: 2px solid #E7E9ED;
  border-radius: 10px;
  padding: 1.2rem;
  width: 100%;
}
.c-inputTxt--tag {
  flex: 1;
  border: none;
  width: initial;
}
.c-inputTxt--tag:focus {
  outline: none;
}

.c-labelTxt {
  background-color: #fff;
  font-size: 1.4rem;
  padding: 1.2rem;
  width: 100%;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
/* ---------------------------------------------
 *  ログイン画面専用色（既存 palette に無ければ追加）
 * -------------------------------------------*/
/* =================================================
   Passwork – LOGIN PAGE
================================================= */
.c-login {
  flex: 1;
  width: 100%;
  height: 100%;
  /* ----- ラッパー ----- */
  /* ----- 左：ロゴエリア ----- */
  /* ----- 右：フォームエリア ----- */
  /* ----- お問い合わせリンクなど ----- */
  /* ----- フォーム本体 ----- */
  /* ===== 入力部 ===== */
  /* フィールド間隔 */
  /* サブミットボタン */
  /* フッター */
  /* フラッシュメッセージ */
}
.c-login__inner {
  display: flex;
  width: 100%;
  height: 100%;
}
.c-login__logoArea {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #16363C;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.c-login__logo {
  width: 37.2rem;
  max-width: 80%;
}
.c-login__logo img {
  width: 100%;
}
.c-login__loginArea {
  width: 50%;
  display: flex;
  flex-direction: column;
  padding: 3rem;
  background: #fff;
}
.c-login__contactArea {
  text-align: right;
}
.c-login__contact {
  width: 10rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.6rem;
  color: #2A5F68;
  font-size: 1.2rem;
  text-decoration: underline;
  margin-left: auto;
}
.c-login__contactIcon {
  width: 1.6rem;
  height: 1.3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.4rem;
}
.c-login__content {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.c-login__ttl {
  color: #474D60;
  font-size: 4.2rem;
  font-weight: 700;
  text-align: center;
  margin: 0;
}
.c-login__lead {
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
}
.c-login__lead span {
  color: #2A5F68;
}
.c-login__label {
  display: block;
  margin-bottom: 0.8rem;
  font-size: 1.7rem;
}
.c-login .c-inputTxt {
  background: #EEF3FF;
  border: none;
  border-radius: 12px;
  color: #111;
  font-size: 1.6rem;
  line-height: 1.4;
  padding: 1.2rem 1.6rem;
  width: 100%;
  box-sizing: border-box;
}
.c-login .c-inputTxt::placeholder {
  color: #A0B4E6;
  opacity: 1;
}
.c-login__btnArea {
  width: 45%;
  max-width: 30rem;
  min-width: 24rem;
  margin: 2rem auto 0;
}
.c-login__btnArea .field:not(:last-child) {
  margin-bottom: 3rem;
}
.c-login__submit {
  margin: 3rem 0;
}
.c-login__footerList {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem 2.6rem;
}
.c-login__footerLink {
  color: #2A5F68;
  text-decoration: underline;
  font-size: 1.6rem;
}
.c-login__notice {
  background: #e8f5e9;
  color: #2e7d32;
  border: 1px solid #a5d6a7;
  border-radius: 8px;
  padding: 1rem 1.6rem;
  font-size: 1.4rem;
  margin: 0 auto 1.6rem;
  width: 45%;
  max-width: 30rem;
  min-width: 24rem;
  box-sizing: border-box;
  text-align: center;
}
.c-login__alert {
  background: #fce4ec;
  color: #c62828;
  border: 1px solid #ef9a9a;
  border-radius: 8px;
  padding: 1rem 1.6rem;
  font-size: 1.4rem;
  margin: 0 auto 1.6rem;
  width: 45%;
  max-width: 30rem;
  min-width: 24rem;
  box-sizing: border-box;
  text-align: center;
}
.c-login__alert p {
  margin: 0.2rem 0;
}
.c-login__copyright {
  color: #AFB4C6;
  font-size: 1rem;
  text-align: center;
  margin-top: 3rem;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
/* ===============================
   ブランド別のドロップシャドウ定義
   =============================== */
/* デフォルト（=Passwork） */
:root {
  --sidebar-shadow: 10px 0 15px rgba(32, 45, 88, 0.15);
}

/* Any2Tab 用に上書き */
html[data-brand=any2tab] {
  --sidebar-shadow: 3px 0 10px rgba(102, 102, 102, 0.10);
}

.c-mainSideBar {
  /* 基本レイアウト */
  height: 100%;
  background-color: #16363C;
  color: #fff;
  display: flex;
  flex-direction: column;
  transition: width 0.2s ease;
  overflow: hidden;
  /* ▼ 幅ごとのレイアウト（影は両状態で適用） */
}
.c-mainSideBar.collapsed {
  width: 7.2rem;
  padding: 3rem 0;
  box-shadow: var(--sidebar-shadow);
}
.c-mainSideBar.collapsed .c-mainSideBar__logoText {
  display: none;
}
.c-mainSideBar.collapsed .c-mainSideBar__menuLabel {
  display: none;
}
.c-mainSideBar.expanded {
  width: 22rem;
  padding: 3rem 0;
  box-shadow: var(--sidebar-shadow);
}
.c-mainSideBar.expanded .c-mainSideBar__logo img {
  width: 18.2rem;
  max-width: 100%;
}
.c-mainSideBar.expanded .c-mainSideBar__logoText {
  display: inline;
}
.c-mainSideBar.expanded .c-mainSideBar__menuLabel {
  display: inline;
  font-size: 1.5rem;
  color: #fff;
  position: relative;
  z-index: 2;
  margin-left: 1.8rem;
  white-space: nowrap;
}
.c-mainSideBar.expanded .c-mainSideBar__menu {
  justify-content: flex-start;
  padding-left: 2.6rem;
  padding-right: 2.6rem;
}
.c-mainSideBar.expanded .c-mainSideBar__menu.active {
  text-decoration: none;
}
.c-mainSideBar.expanded .c-mainSideBar__menu.active::before {
  width: calc(100% - 2rem);
  right: 50%;
  transform: translateX(50%);
  border-radius: 10px;
  content: "";
  position: absolute;
  top: 0;
  height: 100%;
  background-color: #fff;
  z-index: 1;
}
.c-mainSideBar.expanded .c-mainSideBar__menu.active .c-mainSideBar__menuLabel {
  color: #F07136;
}
.c-mainSideBar__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0 1rem;
  margin-bottom: 1.6rem;
  text-align: center;
}
.c-mainSideBar__logo img {
  width: 5rem;
  height: auto;
}
.c-mainSideBar__logoText {
  font-size: 1.2rem;
  font-weight: bold;
}
.c-mainSideBar__nav {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.c-mainSideBar__menuGroup {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.c-mainSideBar__menuIcon {
  position: relative;
  z-index: 2;
}
.c-mainSideBar__menuIcon svg path {
  fill: #fff;
}
.c-mainSideBar__menu {
  min-height: 48px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.c-mainSideBar__menu.active {
  position: relative;
}
.c-mainSideBar__menu.active::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: calc(100% - 12px);
  height: 100%;
  background-color: #fff;
  border-radius: 10px 0 0 10px;
  z-index: 1;
}
.c-mainSideBar__menu.active .c-mainSideBar__menuIcon svg path {
  fill: #F07136;
}
.c-mainSideBar__menu .c-mainSideBar__menuLabel {
  margin-left: 0.5rem;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-modalConnector {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}
.c-modalConnector--thumbnail .c-modalConnector__btnItem {
  width: 23.4rem;
}
.c-modalConnector--thumbnail .c-modalConnector__content {
  max-width: 88.4rem;
}
.c-modalConnector__content {
  height: 100%;
  max-width: 70rem;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 1.6rem;
  margin: 0 auto;
}
.c-modalConnector__box {
  width: 100%;
  background-color: #fff;
  border-radius: 5px;
  overflow: hidden;
  position: relative;
}
.c-modalConnector__thumbArea {
  max-width: 75.4rem;
  margin: 0 auto;
}
.c-modalConnector__thumbList {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
}
.c-modalConnector__thumbItem {
  width: 14.2857142857%;
  aspect-ratio: 102/102;
  border-radius: 20px;
  overflow: hidden;
}
.c-modalConnector__thumbBtn {
  width: 100%;
  height: 100%;
  padding: 0;
  background-color: transparent;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.c-modalConnector__thumbBtn img {
  max-width: 100%;
}
.c-modalConnector__thumbBtn:hover {
  background-color: #F5F8FF;
}
.c-modalConnector__header {
  font-size: 1.5rem;
  font-weight: 700;
  padding: 2rem 2.4rem;
  background-color: #EFF3F3;
}
.c-modalConnector__ttl {
  text-align: center;
  margin: 0;
}
.c-modalConnector__body {
  padding: 4rem 1.6rem 5rem;
}
.c-modalConnector__deleteItem {
  max-width: 48rem;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3rem;
}
.c-modalConnector__deleteItemImg {
  width: 20.2rem;
  aspect-ratio: 202/122;
  overflow: hidden;
}
.c-modalConnector__deleteItemImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-modalConnector__deleteItemDesc {
  flex: 1;
}
.c-modalConnector__deleteItemDescTxt {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4666666667;
}
.c-modalConnector__btnArea {
  margin-top: 5rem;
}
.c-modalConnector__btnList {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
}
.c-modalConnector__btnItem {
  width: 18rem;
  max-width: calc(50% - 0.4rem);
}
.c-modalConnector__closeBtnArea {
  position: absolute;
  top: 1.6rem;
  right: 1.4rem;
}
.c-modalConnector__closeBtn {
  padding: 0;
  background-color: transparent;
  border: none;
  cursor: pointer;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-node {
  font-size: 1.3rem;
  text-align: left;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.8rem 0.8rem 0.8rem 3.6rem !important;
  background-color: #fff;
  border: 3px solid #8CA3A8;
  border-radius: 4px !important;
  cursor: grab;
  border-radius: 10px !important;
  box-shadow: 0 4px 6px 0 rgba(78, 90, 133, 0.25);
  position: relative;
}
.c-node__icon::before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: absolute;
  left: 1.8rem;
  top: 50%;
  transform: translate(-0.7rem, -50%);
}
.c-node--flow {
  border-width: 2px !important;
}
.c-node--flow::before, .c-node--flow::after {
  display: none;
}
.c-node__trigger {
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: #0F272B;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.c-node__trigger--left {
  left: -0.7rem;
}
.c-node__trigger--right {
  right: -0.7rem;
}
.c-node.start {
  border-color: #5773D6;
  background-color: #FBFCFF;
}
.c-node.start .c-node__trigger--left, .c-node.start .react-flow__handle-top {
  display: none;
}
.c-node.start .c-node__icon::before {
  background-image: url("/images/icon_start.svg");
}
.c-node.api_endpoint {
  border-color: #5773D6;
  background-color: #FBFCFF;
}
.c-node.api_endpoint .c-node__trigger--left, .c-node.api_endpoint .react-flow__handle-top {
  display: none;
}
.c-node.api_endpoint .c-node__icon::before {
  background-image: url("/images/icon_start.svg");
}
.c-node.trigger {
  border-color: #5773D6;
  background-color: #FBFCFF;
}
.c-node.trigger .c-node__trigger--left, .c-node.trigger .react-flow__handle-top {
  display: none;
}
.c-node.trigger .c-node__icon::before {
  background-image: url("/images/icon_start.svg");
}
.c-node.schedule {
  border-color: #26B0DC;
  background-color: #FBFEFF;
}
.c-node.schedule .c-node__trigger--left, .c-node.schedule .react-flow__handle-top {
  display: none;
}
.c-node.schedule .c-node__icon::before {
  background-image: url("/images/icon_schedule.svg");
}
.c-node.csv_upload {
  border-color: #5773D6;
  background-color: #FBFCFF;
}
.c-node.csv_upload .c-node__trigger--left, .c-node.csv_upload .react-flow__handle-top {
  display: none;
}
.c-node.csv_upload .c-node__icon::before {
  background-image: url("/images/icon_start.svg");
}
.c-node.pdf_upload {
  border-color: #5773D6;
  background-color: #FBFCFF;
}
.c-node.pdf_upload .c-node__trigger--left, .c-node.pdf_upload .react-flow__handle-top {
  display: none;
}
.c-node.pdf_upload .c-node__icon::before {
  background-image: url("/images/icon_start.svg");
}
.c-node.schedule--paused {
  border-color: #E5A100;
  background-color: #FFFBF0;
  opacity: 0.7;
}
.c-node.schedule--paused .c-node__icon::after {
  content: "⏸";
  position: absolute;
  top: -8px;
  right: -8px;
  font-size: 14px;
  background: #E5A100;
  color: #fff;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.c-node.flow--low-memory .c-node__icon::before {
  /* 既存アイコンは維持 */
}
.c-node.flow--low-memory .c-node__icon::after {
  content: "🪶 省メモリ";
  position: absolute;
  bottom: -10px;
  left: -10px;
  font-size: 10px;
  background: #FFF7E0;
  color: #B37F00;
  border: 1px solid #F2C94C;
  border-radius: 10px;
  padding: 1px 6px;
  font-weight: 700;
  white-space: nowrap;
  line-height: 1.3;
  z-index: 2;
}
.c-node.slack_webhook .c-node__trigger--left, .c-node.slack_webhook .react-flow__handle-top {
  display: none;
}
.c-node.slack_webhook .c-node__icon::before {
  background-image: url("/images/icon_start.svg");
}
.c-node.branch {
  border-color: #449F9A;
  background-color: #FDFFFF;
}
.c-node.branch .c-node__icon::before {
  background-image: url("/images/icon_branch.svg");
}
.c-node.merge {
  border-color: #4F86C6;
  background-color: #FAFCFF;
}
.c-node.merge .c-node__icon::before {
  background-image: url("/images/icon_merge.svg");
}
.c-node.replace {
  border-color: #D8639B;
  background-color: #FFFCFD;
}
.c-node.replace .c-node__icon::before {
  background-image: url("/images/icon_replace.svg");
}
.c-node.filter {
  border-color: #C29D3E;
  background-color: #FFFDF6;
}
.c-node.filter .c-node__icon::before {
  background-image: url("/images/icon_filter.svg");
}
.c-node.aggregate {
  border-color: #A675E4;
  background-color: #FBF8FF;
}
.c-node.aggregate .c-node__icon::before {
  background-image: url("/images/icon_aggregate.svg");
}
.c-node.variable {
  border-color: #7BBF5B;
  background-color: #FEFFF8;
  cursor: pointer;
}
.c-node.variable .c-node__icon::before {
  background-image: url("/images/icon_variable.svg");
}
.c-node.debug {
  border-color: #E35D3F;
  background-color: #FFF9F8;
  cursor: pointer;
}
.c-node.debug .c-node__icon::before {
  background-image: url("/images/icon_debug.svg");
}
.c-node.program {
  border-color: #ACAE2B;
  background-color: #FFFFF8;
}
.c-node.program .c-node__icon::before {
  background-image: url("/images/icon_program.svg");
}
.c-node.formula {
  border-color: #6B5CE7;
  background-color: #F9F8FF;
}
.c-node.formula .c-node__icon::before {
  background-image: url("/images/icon_formula.svg");
}
.c-node.temp_save {
  border-color: #2C8DBC;
  background-color: #F7FBFE;
}
.c-node.temp_save .c-node__icon::before {
  background-image: url("/images/icon_temp_save.svg");
}
.c-node.temp_query {
  border-color: #1F6FAA;
  background-color: #F5F9FD;
}
.c-node.temp_query .c-node__icon::before {
  background-image: url("/images/icon_temp_query.svg");
}
.c-node.ai_text {
  border-color: #C4407D;
  background-color: #FEF6FA;
}
.c-node.ai_text .c-node__icon::before {
  background-image: url("/images/icon_ai_text.svg");
}
.c-node.node-1 {
  border-color: #D93A3A;
  background-color: #FFF6F6;
}
.c-node.node-1.saas .c-node__icon::before {
  background-image: url("/images/saas-1.svg");
}
.c-node.node-1.database .c-node__icon::before {
  background-image: url("/images/database-1.svg");
}
.c-node.node-1.csv .c-node__icon::before {
  background-image: url("/images/csv-1.svg");
}
.c-node.node-1.sheet .c-node__icon::before {
  background-image: url("/images/sheet-1.svg");
}
.c-node.node-2 {
  border-color: #E2AA3B;
  background-color: #FFFDF8;
}
.c-node.node-2.saas .c-node__icon::before {
  background-image: url("/images/saas-2.svg");
}
.c-node.node-2.database .c-node__icon::before {
  background-image: url("/images/database-2.svg");
}
.c-node.node-2.csv .c-node__icon::before {
  background-image: url("/images/csv-2.svg");
}
.c-node.node-2.sheet .c-node__icon::before {
  background-image: url("/images/sheet-2.svg");
}
.c-node.node-3 {
  border-color: #D3CD38;
  background-color: #FFFFF5;
}
.c-node.node-3.saas .c-node__icon::before {
  background-image: url("/images/saas-3.svg");
}
.c-node.node-3.database .c-node__icon::before {
  background-image: url("/images/database-3.svg");
}
.c-node.node-3.csv .c-node__icon::before {
  background-image: url("/images/csv-3.svg");
}
.c-node.node-3.sheet .c-node__icon::before {
  background-image: url("/images/sheet-3.svg");
}
.c-node.node-4 {
  border-color: #61A342;
  background-color: #FAFFF8;
}
.c-node.node-4.saas .c-node__icon::before {
  background-image: url("/images/saas-4.svg");
}
.c-node.node-4.database .c-node__icon::before {
  background-image: url("/images/database-4.svg");
}
.c-node.node-4.csv .c-node__icon::before {
  background-image: url("/images/csv-4.svg");
}
.c-node.node-4.sheet .c-node__icon::before {
  background-image: url("/images/sheet-4.svg");
}
.c-node.node-5 {
  border-color: #28B9C2;
  background-color: #F4FFFF;
}
.c-node.node-5.saas .c-node__icon::before {
  background-image: url("/images/saas-5.svg");
}
.c-node.node-5.database .c-node__icon::before {
  background-image: url("/images/database-5.svg");
}
.c-node.node-5.csv .c-node__icon::before {
  background-image: url("/images/csv-5.svg");
}
.c-node.node-5.sheet .c-node__icon::before {
  background-image: url("/images/sheet-5.svg");
}
.c-node.node-6 {
  border-color: #05A0E2;
  background-color: #F4FCFF;
}
.c-node.node-6.saas .c-node__icon::before {
  background-image: url("/images/saas-6.svg");
}
.c-node.node-6.database .c-node__icon::before {
  background-image: url("/images/database-6.svg");
}
.c-node.node-6.csv .c-node__icon::before {
  background-image: url("/images/csv-6.svg");
}
.c-node.node-6.sheet .c-node__icon::before {
  background-image: url("/images/sheet-6.svg");
}
.c-node.node-7 {
  border-color: #237BFF;
  background-color: #F1F7FF;
}
.c-node.node-7.saas .c-node__icon::before {
  background-image: url("/images/saas-7.svg");
}
.c-node.node-7.database .c-node__icon::before {
  background-image: url("/images/database-7.svg");
}
.c-node.node-7.csv .c-node__icon::before {
  background-image: url("/images/csv-7.svg");
}
.c-node.node-7.sheet .c-node__icon::before {
  background-image: url("/images/sheet-7.svg");
}
.c-node.node-8 {
  border-color: #8459CB;
  background-color: #F9F6FF;
}
.c-node.node-8.saas .c-node__icon::before {
  background-image: url("/images/saas-8.svg");
}
.c-node.node-8.database .c-node__icon::before {
  background-image: url("/images/database-8.svg");
}
.c-node.node-8.csv .c-node__icon::before {
  background-image: url("/images/csv-8.svg");
}
.c-node.node-8.sheet .c-node__icon::before {
  background-image: url("/images/sheet-8.svg");
}
.c-node.node-9 {
  border-color: #BC59BE;
  background-color: #FFF8FE;
}
.c-node.node-9.saas .c-node__icon::before {
  background-image: url("/images/saas-9.svg");
}
.c-node.node-9.database .c-node__icon::before {
  background-image: url("/images/database-9.svg");
}
.c-node.node-9.csv .c-node__icon::before {
  background-image: url("/images/csv-9.svg");
}
.c-node.node-9.sheet .c-node__icon::before {
  background-image: url("/images/sheet-9.svg");
}
.c-node.node-10 {
  border-color: #CB3D79;
  background-color: #FFF5FA;
}
.c-node.node-10.saas .c-node__icon::before {
  background-image: url("/images/saas-10.svg");
}
.c-node.node-10.database .c-node__icon::before {
  background-image: url("/images/database-10.svg");
}
.c-node.node-10.csv .c-node__icon::before {
  background-image: url("/images/csv-10.svg");
}
.c-node.node-10.sheet .c-node__icon::before {
  background-image: url("/images/sheet-10.svg");
}
.c-node .react-flow__handle-top, .c-node .react-flow__handle-bottom {
  width: 1rem;
  height: 1rem;
  box-sizing: border-box;
  background-color: #16363C;
  border-radius: 0;
  border: none;
  left: auto;
  top: 50%;
  transform: translate(0, -50%);
}
.c-node .react-flow__handle-top {
  left: -0.5rem;
}
.c-node .react-flow__handle-bottom {
  right: -0.5rem;
}

.react-flow .react-flow__node-default,
.react-flow .react-flow__node-group,
.react-flow .react-flow__node-input,
.react-flow .react-flow__node-output {
  width: auto !important;
  min-width: 150px;
}

/* キャンバス上でエラーを持つノードに「！」バッジを表示 */
.c-node {
  position: relative; /* バッジ位置の基準 */
}

.c-node--invalid::after {
  content: "！";
  position: absolute;
  top: -6px;
  right: -6px;
  width: 18px;
  height: 18px;
  background: #ED3A75; /* 朱色 */
  color: #fff;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  box-shadow: 0 0 0 2px #fff; /* 背景から浮かせる */
}

/* 警告（保存はブロックしない）を持つノードには琥珀色の「！」バッジ */
.c-node--warning::after {
  content: "！";
  position: absolute;
  top: -6px;
  right: -6px;
  width: 18px;
  height: 18px;
  background: #E8A33D; /* 琥珀色 */
  color: #fff;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  box-shadow: 0 0 0 2px #fff;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-reactFlow {
  background-color: #EFF3F3;
}
.c-reactFlow .react-flow__edge-path {
  stroke-width: 3px !important;
  stroke: #0F272B !important;
}

@keyframes slideInRight {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}
/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-search {
  position: relative;
  border-bottom: 1px solid #16363C;
}
.c-search ::placeholder {
  font-size: 1.3rem;
  font-weight: 500;
  color: #A5B0D3;
}
.c-search__input {
  width: 100%;
  padding: 1rem 2rem 1rem 3rem;
  border: none;
}
.c-search__submit {
  position: absolute;
  left: 0;
  top: 1rem;
  width: 1.3rem;
  height: 1.3rem;
  z-index: 1;
  border: none;
  background-color: transparent;
}
.c-search--boxStyle {
  border-bottom: 0;
}
.c-search--boxStyle .c-search__input {
  border: 2px solid #E7E9ED;
  border-radius: 10px;
  padding: 1rem 3rem 1rem 1rem;
}
.c-search--boxStyle .c-search__submit {
  left: auto;
  right: 1rem;
  top: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 1.2rem;
  font-weight: 500;
  border: 2px solid #E7E9ED;
  border-radius: 10px;
  padding: 1rem 3.2rem 1rem 1rem;
  width: 100%;
  background: #fff url(../../images/icon_arrow_dropdown.svg) center right 1.2rem/1.3rem auto no-repeat;
}
.c-select--connect {
  font-size: 1.5rem;
  font-weight: 500;
  padding-top: 1.4rem;
  padding-bottom: 1.4rem;
  border-radius: 5px;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-sideWindow {
  position: fixed;
  width: calc(100% - 7rem);
  height: 100%;
  top: 0;
  right: 0;
  z-index: 11;
  background-color: rgba(0, 0, 0, 0.4);
  /* 固定アイコン分だけ本文を右にオフセット */
  /* メッセージ内の個別アイコンは使わないので（残っていても崩れないように） */
}
.c-sideWindow.onconnector {
  width: calc(100% - 19rem);
}
.c-sideWindow--wide .c-sideWindow__content {
  max-width: calc(100% - 28rem);
}
.c-sideWindow__resizeWrap {
  display: flex;
}
.c-sideWindow__resizeButtonWrap {
  position: absolute;
  top: 50%;
  left: -3rem;
  transform: translateY(-50%);
  z-index: 2;
}
.c-sideWindow__resizeButton {
  padding: 0;
  background-color: transparent;
  border: none;
  cursor: pointer;
}
.c-sideWindow__trigger {
  cursor: pointer;
  width: 5rem;
  height: 5rem;
  background-color: #fff;
  border: none;
  border-radius: 20px 0 0 20px;
  box-shadow: -4px 0px 10px 0px rgba(32, 45, 88, 0.15);
  position: fixed;
  top: 5.6rem;
  right: 0;
  z-index: 1;
}
.c-sideWindow__trigger:hover {
  background-color: #2A5F68;
}
.c-sideWindow__trigger:hover svg path, .c-sideWindow__trigger:hover svg rect {
  fill: #fff;
}
.c-sideWindow__trigger:hover + .c-sideWindow__triggerMessage {
  display: block;
}
.c-sideWindow__triggerMessage {
  min-width: 12.8rem;
  font-size: 1.2rem;
  color: #fff;
  background-color: #16363C;
  padding: 1.2rem;
  position: absolute;
  top: 2rem;
  right: 7.4rem;
  z-index: 2;
  text-align: center;
  margin: 0;
  display: none;
}
.c-sideWindow__triggerMessage::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent transparent transparent #16363C;
  border-width: 0.7rem 0 0.7rem 1.1212rem;
  position: absolute;
  right: -1rem;
  top: 50%;
  transform: translateY(-50%);
}
.c-sideWindow__content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  max-width: 39.4rem;
  width: 100%;
  height: calc(100vh - 7rem);
  background-color: #FBFCFF;
  margin: 5.6rem 0 1.4rem;
  position: fixed;
  top: 0;
  right: -120%;
  z-index: 2;
  transition: all 0.3s ease-in-out;
  border-radius: 20px 0 0 20px;
  box-shadow: -4px 0px 10px 0px rgba(32, 45, 88, 0.15);
}
.c-sideWindow__content.active {
  right: 0;
}
.c-sideWindow__content--ai {
  background-color: #F7FAFA;
  max-width: 950px;
}
.c-sideWindow__contentBody {
  flex: 1;
  padding: 3rem;
  overflow: hidden;
}
.c-sideWindow__contentBody--ai {
  padding: 5rem 0 2rem;
}
.c-sideWindow__contentBodyScrollable {
  overflow: auto;
  height: 100%;
}
.c-sideWindow__contentBodyScrollable--showArrow::after {
  content: "";
  position: absolute;
  bottom: 24rem;
  left: 50%;
  transform: translateX(-50%);
  width: 4rem;
  height: 4rem;
  background: url(../../images/scroll_arrow.svg) center center/contain no-repeat;
  z-index: 10;
  animation: bounce 2s infinite;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-sideWindow__contentBodyScrollable--showArrow::after:hover {
  transform: scale(1.1);
}
@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-10px);
  }
  60% {
    transform: translateY(-5px);
  }
}
.c-sideWindow__closeButton {
  display: block;
  width: 100%;
  font-size: 1.2rem;
  background-color: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1.2rem 0;
}
.c-sideWindow__closeButtonAI {
  width: 3.4rem;
  height: 3.4rem;
  margin: 10px 3.8rem 0 auto;
  background-color: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  position: absolute;
  top: 0.6rem;
  right: 0;
}
.c-sideWindow__closeButtonAI span {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-sideWindow__closeButtonIcon {
  width: 1.2rem;
  height: 1.2rem;
  transform: rotate(180deg);
}
.c-sideWindow__list {
  font-size: 1.3rem;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}
.c-sideWindow__listHeader {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.c-sideWindow__item--paddingTop {
  padding-top: 1rem;
}
.c-sideWindow__item--highlighted {
  outline: 2px solid #ED3A75;
  outline-offset: 2px;
  border-radius: 6px;
  background: rgba(237, 58, 117, 0.05);
  animation: highlightPulse 1.5s ease-in-out infinite;
}
@keyframes highlightPulse {
  0%, 100% {
    outline-color: #ED3A75;
  }
  50% {
    outline-color: rgba(237, 58, 117, 0.4);
  }
}
.c-sideWindow__item01 {
  display: grid;
  grid-template-columns: 16rem 1fr;
  gap: 2rem;
  align-items: center;
  background-color: #fff;
  border: 2px solid #E7E9ED;
  border-radius: 10px;
}
.c-sideWindow__itemHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  margin-bottom: 1rem;
}
.c-sideWindow__itemTitle {
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0 0 0.6rem 0;
}
.c-sideWindow__headerButtonWrap {
  display: flex;
  align-items: center;
  gap: 8px;
  width: auto;
  max-width: 100%;
}
.c-sideWindow__addButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  background-color: #2A5F68;
  border-radius: 99px;
  border: 2px solid #2A5F68;
  padding: 0.2rem 0.5rem 0.2rem 3rem;
  cursor: pointer;
  position: relative;
}
.c-sideWindow__addButton:before, .c-sideWindow__addButton:after {
  content: "";
  display: block;
  width: 1.2rem;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.c-sideWindow__addButton:before {
  left: 1.4rem;
}
.c-sideWindow__addButton:after {
  left: 1.4rem;
  transform: translateY(-50%) rotate(90deg);
}
.c-sideWindow__addButton.w200 {
  width: 200px;
}
.c-sideWindow__setFieldButton {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  font-size: 1.5rem;
  font-weight: 700;
  color: #2A5F68;
  background-color: #fff;
  border-radius: 99px;
  border: 2px solid #2A5F68;
  padding: 0.2rem 0.5rem 0.2rem 3rem;
  cursor: pointer;
  position: relative;
}
.c-sideWindow__setFieldButton:before, .c-sideWindow__setFieldButton:after {
  content: "";
  display: block;
  width: 1.2rem;
  height: 2px;
  background-color: #2A5F68;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.c-sideWindow__setFieldButton:before {
  left: 1.4rem;
}
.c-sideWindow__setFieldButton:after {
  left: 1.4rem;
  transform: translateY(-50%) rotate(90deg);
}
.c-sideWindow__normalButton {
  display: block;
  width: 100%;
  max-width: 20rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  background-color: #2A5F68;
  padding: 0;
  border-radius: 99px;
  border: 2px solid #2A5F68;
  padding: 0.2rem 0.2rem 0.2rem 1.6rem;
  cursor: pointer;
  position: relative;
}
.c-sideWindow__checkbox {
  background-color: #fff;
  border: 2px solid #E7E9ED;
  border-radius: 10px;
  padding: 0 1rem;
}
.c-sideWindow__checkbox label {
  display: block;
  width: 100%;
  position: relative;
  padding: 1rem 0;
  border-bottom: 1px solid #E7E9ED;
}
.c-sideWindow__checkbox input[type=checkbox] {
  appearance: none;
  margin: 0;
}
.c-sideWindow__checkbox input[type=checkbox]::before, .c-sideWindow__checkbox input[type=checkbox]::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
}
.c-sideWindow__checkbox input[type=checkbox]::before {
  width: 1.7rem;
  height: 1.7rem;
  border: 1px solid #8CA3A8;
  border-radius: 2px;
  transform: translateY(-50%);
}
.c-sideWindow__checkbox input[type=checkbox]::after {
  width: 0.5rem;
  height: 0.9rem;
  border-right: 3px solid #F07136;
  border-bottom: 3px solid #F07136;
  right: 0.5rem;
  transform: translateY(-0.8rem) rotate(45deg);
  display: none;
}
.c-sideWindow__checkbox input[type=checkbox]:checked::after {
  display: block;
}
.c-sideWindow select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-weight: 500;
  border: 2px solid #E7E9ED;
  border-radius: 10px;
  padding: 1.1rem;
  width: 100%;
  background: #fff url(../../images/icon_arrow_dropdown.svg) center right 1.2rem/1.3rem auto no-repeat;
}
.c-sideWindow input[type=text] {
  background-color: #fff;
  border: 2px solid #E7E9ED;
  border-radius: 10px;
  padding: 1.1rem;
  width: 100%;
}
.c-sideWindow__footer {
  height: 6rem;
  color: #fff;
  background-color: #16363C;
  padding: 1.5rem 2rem;
  border-radius: 0 0 0 20px;
  overflow: hidden;
}
.c-sideWindow__footerList {
  display: flex;
  gap: 0.8rem;
}
.c-sideWindow__link {
  display: block;
  width: 100%;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  text-align: right;
  background-color: transparent;
  text-decoration: underline;
  border: none;
  cursor: pointer;
}
.c-sideWindow__button {
  display: block;
  width: 100%;
  max-width: 18rem;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  background-color: #fff;
  color: #16363C;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  padding: 0.5rem 1rem;
}
.c-sideWindow__button--accent {
  background-color: #EA5F1E;
  color: #fff;
}
.c-sideWindow__codeBox {
  border: 1px solid #E7E9ED;
  border-radius: 10px;
  padding: 1.2rem;
  font-size: 1.5rem;
  background-color: #fff;
}
.c-sideWindow__codeBox .ͼ2 .cm-gutters {
  color: #889EF0;
  background-color: transparent;
  border-right-color: transparent;
}
.c-sideWindow__settingBox {
  max-height: 28.5rem;
  background-color: #fff;
  border: 2px solid #E7E9ED;
  border-radius: 10px;
  overflow: auto;
}
.c-sideWindow__settingBoxItem {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.2rem 2rem;
  position: relative;
}
.c-sideWindow__settingBoxItem:before {
  content: "";
  display: block;
  width: calc(100% - 5.6rem);
  height: 1px;
  background-color: #E7E9ED;
  position: absolute;
  bottom: 0;
  right: 0;
}
.c-sideWindow__settingBoxItem:hover {
  background-color: #ECF9FF;
}
.c-sideWindow__settingHead {
  width: 1.8rem;
  height: 0.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-sideWindow__settingOperator {
  width: 14rem;
}
.c-sideWindow__settingOperator select {
  width: 100%;
  font-size: 1.5rem;
  font-weight: 500;
  padding: 0.8rem 1.2rem;
}
.c-sideWindow__settingOperatorFileName {
  width: 10.2rem;
}
.c-sideWindow__settingOperatorFileName select {
  font-size: 1.3rem;
  font-weight: 500;
  padding: 0.8rem 1.6rem;
}
.c-sideWindow__settingOperator__center {
  width: 8.2rem;
  text-align: center;
}
.c-sideWindow__settingOperator__center select {
  font-size: 1.9rem;
  font-weight: 500;
  padding: 0.8rem 1.6rem;
}
.c-sideWindow__settingOperator__center span {
  font-size: 2.5rem;
}
.c-sideWindow__settingOperator__label_mark {
  width: 8.2rem;
  text-align: center;
  font-size: 2rem;
}
.c-sideWindow__settingValue {
  flex: 1;
}
.c-sideWindow__settingValue input {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-weight: 500;
  border: 2px solid #E7E9ED;
  border-radius: 10px;
  padding: 1.1rem;
  width: 100%;
}
.c-sideWindow__settingArrow {
  color: #2A5F68;
  font-size: 1.4rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.c-sideWindow__settingArrow span {
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-sideWindow__settingTarget {
  width: 14.5rem;
}
.c-sideWindow__settingDeleteButton {
  width: 4rem;
  height: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background-color: transparent;
  border: 2px solid #E7E9ED;
  border-radius: 10px;
  cursor: pointer;
}
.c-sideWindow__settingDeleteButton svg {
  width: 2.4rem;
  height: 2.4rem;
}
.c-sideWindow img.deleteButton {
  cursor: pointer;
}
.c-sideWindow__aiContent {
  font-size: 1.6rem;
  line-height: 1.75;
  font-weight: 400;
  border-top: 1px solid #E0E3E8;
  padding: 2rem 4rem 24rem;
}
.c-sideWindow__user {
  font-size: 1.5rem;
  max-width: 51.2rem;
  margin: 0 0 0 auto;
  background-color: #E4ECED;
  border-radius: 40px 40px 0 40px;
  padding: 2rem;
  border: 1px solid #9CBCED;
}
.c-sideWindow__user p {
  margin: 0;
}
.c-sideWindow__aiChat {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.c-sideWindow__aiChatAnswer {
  display: flex;
  gap: 1.8rem;
}
.c-sideWindow__aiChatIcon {
  min-width: 6rem;
  width: 10rem;
  margin-top: -5.4rem;
}
.c-sideWindow__aiChatIcon img {
  width: 100%;
}
.c-sideWindow__aiChatAnswerContent {
  flex: 1;
}
.c-sideWindow__aiChatAnswerBox {
  max-width: 84.3rem;
  background-color: #fff;
  padding: 3rem 2rem;
  border-radius: 0 40px 40px 40px;
  border: 1px solid #E0E3E8;
}
.c-sideWindow__aiInput {
  width: calc(100% - 8rem);
  padding: 2rem 2rem 1rem;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 6px 10px 0 rgba(27, 53, 146, 0.1);
  border: 1px solid #E7E9ED;
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
}
.c-sideWindow__aiInput p {
  margin: 0;
}
.c-sideWindow__placeholder {
  color: #ACAEB5;
}
.c-sideWindow__aiInputButtonList {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
}
.c-sideWindow__aiInputButton {
  width: 3.4rem;
  height: 3.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background-color: transparent;
  border: none;
  cursor: pointer;
}
.c-sideWindow__aiPinned {
  position: sticky; /* スクロールしても上部に貼り付く */
  top: 1.6rem;
  z-index: 3;
  /* 余白を少し確保（必要に応じて調整） */
  margin: 0 0 1rem 0;
  padding-left: 4rem; /* aiContent の左パディングと合わせる */
}
.c-sideWindow__aiPinnedIcon {
  width: 10rem; /* 既存アイコン幅に合わせる */
  min-width: 6rem;
}
.c-sideWindow__aiPinnedIcon img {
  width: 100%;
  height: auto;
  display: block;
}
.c-sideWindow__aiChat--withPinned {
  padding-left: 12rem; /* アイコン幅(10rem) + 余白 */
}
.c-sideWindow__aiChatIcon {
  display: none;
}

/* エラーパネル（サイドウィンドウ最下部） */
.c-sideWindow__errorPanel {
  margin: 16px;
  padding: 12px 14px;
  border: 2px solid #ED3A75; /* 朱色 */
  background: #FFF7FA;
  border-radius: 6px;
  color: #ED3A75;
  font-size: 1.3rem;
}

.c-sideWindow__errorTitle {
  font-weight: 700;
  margin: 0 0 6px;
}

.c-sideWindow__errorList {
  margin: 0;
  padding-left: 18px;
}
.c-sideWindow__errorList li {
  line-height: 1.6;
}

.c-sideWindow__warningPanel {
  margin: 16px;
  padding: 12px 14px;
  border: 2px solid #E8A33D; /* 琥珀色 */
  background: #FFFBF2;
  border-radius: 6px;
  color: #9A6A11;
  font-size: 1.3rem;
}

.c-sideWindow__warningTitle {
  font-weight: 700;
  margin: 0 0 6px;
}

.c-sideWindow__warningList {
  margin: 0;
  padding-left: 18px;
}
.c-sideWindow__warningList li {
  line-height: 1.6;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-subSideBar {
  width: 20.6rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  padding: 2rem 1rem;
  background-color: #FBFCFF;
  box-shadow: 4px 0 10px rgba(32, 45, 88, 0.15);
  overflow-y: hidden;
  z-index: 10;
}
.c-subSideBar__inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  overflow-y: scroll;
  scrollbar-width: none; /* Firefoxでのスクロールバーを非表示にする */
  /* Webkitブラウザ用のスクロールバーを隠す */
}
.c-subSideBar__inner ::-webkit-scrollbar {
  display: none; /* スクロールバーを非表示にする */
}
.c-subSideBar__menu.active .c-subSideBar__menuTitleIcon {
  transform: rotate(0);
}
.c-subSideBar__menu.active .c-subSideBar__hiddenContent {
  display: block;
}
.c-subSideBar__menuTitle {
  width: 100%;
  cursor: pointer;
  font-size: 1.5rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1rem 1rem;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #8CA3A8;
}
.c-subSideBar__menuTitleIcon {
  transform: rotate(-180deg);
  transition: all 0.1s;
}
.c-subSideBar__hiddenContent {
  display: none;
  padding-top: 1rem;
}
.c-subSideBar__menuList {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 0 1.2rem;
}
.c-subSideBar__menuItemIcon {
  width: 1.5rem;
  height: 1.5rem;
  position: relative;
}
.c-subSideBar__menuItemIcon::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-subSideBarArchive {
  width: 20.6rem;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  padding: 3rem 1rem;
  background-color: #FBFCFF;
  box-shadow: 4px 0 10px rgba(32, 45, 88, 0.15);
  overflow-y: hidden;
}
.c-subSideBarArchive__inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  overflow-y: scroll;
  scrollbar-width: none; /* Firefoxでのスクロールバーを非表示にする */
  /* Webkitブラウザ用のスクロールバーを隠す */
}
.c-subSideBarArchive__inner ::-webkit-scrollbar {
  display: none; /* スクロールバーを非表示にする */
}
.c-subSideBarArchive__tagTitle {
  width: 100%;
  font-size: 1.5rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1rem 0;
  background-color: transparent;
  border: none;
  border-bottom: 1px solid #8CA3A8;
}
.c-subSideBarArchive__tagList {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  list-style: none;
  padding: 0;
  margin-top: 1.8rem;
}
.c-subSideBarArchive__tagBtn {
  display: block;
  width: 100%;
  text-align: left;
  cursor: pointer;
  font-size: 1.2rem;
  font-weight: 500;
  background-color: transparent;
  border: none;
  padding: 0;
  text-decoration: none;
  color: buttontext;
}
.c-subSideBarArchive__addBtn {
  width: 100%;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  padding: 1rem 1rem;
  background-color: #EA5F1E;
  border-radius: 99px;
  border: none;
  box-shadow: 0px 4px 4px 0px rgba(27, 53, 146, 0.1);
  cursor: pointer;
}
.c-subSideBarArchive__searchArea {
  margin-top: 1rem;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-tag {
  display: inline-block;
  color: #2A5F68;
  font-size: 0.9rem;
  padding: 0 0.6rem;
  background-color: #EFF3F3;
  border-radius: 2px;
}
.c-tag--edit {
  font-size: 1.3rem;
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 0.6rem;
}
.c-tag__btn {
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  padding: 0;
  border: none;
  cursor: pointer;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-txtArea {
  background-color: #fff;
  border: 2px solid #E7E9ED;
  border-radius: 10px;
  padding: 1.2rem 8.6rem 1.2rem 1.2rem;
  width: 100%;
}
.c-txtArea--heightSmall {
  height: 12.7rem;
  font-size: 1.7rem;
  line-height: 1.8461538462;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-user {
  width: 100%;
  height: 100%;
  color: #474D60;
  background: #FBFCFF;
  position: relative;
  overflow: hidden;
  padding-top: 10rem;
}
.c-user__header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3rem;
  background: #fff;
  box-shadow: 0px 3px 10px 0px rgba(32, 45, 88, 0.15);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9;
}
.c-user__ttl {
  font-size: 2.2rem;
  font-weight: 700;
  margin: 0;
}
.c-user__main {
  height: 100%;
  padding: 3rem 0;
  overflow-y: auto;
}
.c-user__menuArea {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 3rem;
}
.c-user__menuCount {
  font-size: 1.7rem;
  font-weight: 700;
  padding: 0 1.8rem;
}
.c-user__menuCount span {
  font-size: 3rem;
}
.c-user__optionList {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.c-user__listArea {
  margin-top: 2rem;
  padding: 0 3rem;
}
.c-user__layout {
  display: flex;
}
.c-user__layoutItem:nth-child(1) {
  width: 45rem;
}
.c-user__layoutItem:nth-child(2) {
  flex: 1;
}
.c-user__layoutItem:nth-child(3) {
  flex: 1;
}
.c-user__layoutItem:nth-child(4) {
  flex: 1;
}
.c-user__layoutItem:nth-child(5) {
  flex: 1;
}
.c-user__layoutItem:nth-child(6) {
  width: 18rem;
  flex-shrink: 0;
}
.c-user__layoutItem .c-btn--icon {
  border: 0px solid;
  background-color: #fff;
  cursor: pointer;
}
.c-user__listHeader {
  border-bottom: 1px solid #CED3DC;
  padding: 0 1.8rem;
}
.c-user__listHeaderItem {
  font-size: 1.4rem;
  line-height: 1.4285714286;
  font-weight: 500;
  padding: 1.2rem 0;
  padding-right: 0.6rem;
}
.c-user__listHeaderItem--edit {
  text-align: center;
  padding-right: 0;
}
.c-user__list {
  border-bottom: 1px solid #CED3DC;
}
.c-user__item {
  padding: 0.8rem 0;
  border-top: 1px solid #CED3DC;
  transition: all 0.3s ease;
}
.c-user__invite {
  padding: 0 1.6rem;
}
.c-user__inviteContent {
  max-width: 32.4rem;
  margin: 0 auto;
}
.c-user__inviteLabel {
  display: block;
  font-size: 1.5rem;
  font-weight: 500;
  padding: 1.2rem 0;
  text-align: center;
}
.c-user__inviteInput {
  width: 100%;
  padding: 1.2rem;
  background: #EBEFFF;
  border-radius: 5px;
  border-color: transparent;
}
.c-user__inviteInput::placeholder {
  color: #A0B4E6;
}
.c-user__inviteNote {
  color: #80848F;
  font-size: 1.2rem;
  font-weight: 500;
  padding: 0.6rem 0;
  text-align: center;
  margin: 0;
}
.c-user__inviteBtnArea {
  max-width: 30rem;
  margin: 3.4rem auto 0;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-cardHelp {
  height: 100%;
  display: flex;
  flex-direction: column;
  color: #474D60;
  background-color: #fff;
  box-shadow: 0px 3px 10px 0px rgba(32, 45, 88, 0.15);
  border-radius: 10px;
  text-decoration: none;
  overflow: hidden;
}
.c-cardHelp__ttlArea {
  background-color: #F6F9FC;
  border-radius: 5px 5px 0 0;
  padding: 1.6rem 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 6rem;
}
.c-cardHelp__txtArea {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  padding: 0.8rem 1.2rem 1.6rem;
}
.c-cardHelp__txtContent {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}
.c-cardHelp__ttl {
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.6666666667;
  margin: 0;
  transition: all 0.3s;
}
.c-cardHelp__txt {
  font-size: 1rem;
  line-height: 1.5;
  margin: 0;
  transition: all 0.3s;
}
.c-cardHelp__txt span {
  color: #F07136;
}
.c-cardHelp__tagArea {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}
.c-cardHelp__btnArea {
  text-align: center;
}
.c-cardHelp__btn {
  color: #2A5F68;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  text-decoration: underline;
}
.c-cardHelp__btn:hover {
  text-decoration: none;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-cardResult {
  color: #474D60;
  font-size: 1.5rem;
  padding: 1.6rem 1.8rem;
  transition: all 0.3s ease;
  border-radius: 10px;
}
.c-cardResult:hover {
  background-color: #EDF2F3;
}
.c-cardResult--resultDetail:hover {
  background-color: transparent;
}
.c-cardResult--resultDetail .c-cardResult__date {
  font-size: 1.6rem;
}
.c-cardResult__mail {
  color: #1B4247;
  font-size: 1.6rem;
  margin: 0;
}
.c-cardResult__list {
  margin-top: 1.4rem;
}
.c-cardResult__item {
  font-size: 1.4rem;
  line-height: 1.6428571429;
  font-weight: 500;
}
.c-cardResult__label {
  display: inline-block;
  width: 19rem;
  padding-right: 0.6rem;
}
.c-cardResult__txt {
  display: inline-block;
  color: #16363C;
  padding-left: 0.6rem;
}
.c-cardResult__job {
  display: flex;
  align-items: center;
}
.c-cardResult__date {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-weight: 500;
  line-height: 1.6666666667;
}
.c-cardResult__date--time {
  color: #9599A7;
}
.c-cardResult__status {
  color: #16363C;
  font-size: 1.6rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.c-cardResult__statusTxt {
  color: #1B4247;
}
.c-cardResult__statusTxt--red {
  color: #F07136;
}
.c-cardResult__statusTxt--note {
  display: block;
  font-size: 1.2rem;
  line-height: 1;
}
.c-cardResult__statusIcon {
  width: 2.6rem;
  height: 2.6rem;
}
.c-cardResult__btnArea {
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-cardResult__btn {
  cursor: pointer;
  width: 3rem;
  height: 3rem;
  border: none;
  background: transparent;
  border-radius: 50%;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
}
.c-cardResult__btn::before {
  content: "詳細へ";
  display: block;
  min-width: 6.4rem;
  font-size: 1.2rem;
  font-weight: 500;
  background-color: #2A5F68;
  color: #fff;
  text-align: center;
  padding: 0.2rem;
  position: absolute;
  top: 4rem;
  left: 50%;
  transform: translateX(-50%);
  display: none;
}
.c-cardResult__btn::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 7px solid transparent; /* 左辺を透明に */
  border-right: 7px solid transparent; /* 右辺を透明に */
  border-bottom: 14px solid #2A5F68; /* 底辺の色を指定 */
  flex-shrink: 0;
  position: absolute;
  right: 50%;
  top: 3rem;
  transform: translateX(50%);
  display: none;
}
.c-cardResult__btn:hover svg circle {
  fill: #2A5F68;
}
.c-cardResult__btn:hover::before {
  display: block;
}
.c-cardResult__btn:hover::after {
  display: block;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-help {
  color: #474D60;
  width: 100%;
  height: 100%;
  color: #474D60;
  background: #FBFCFF;
  position: relative;
  overflow: hidden;
  padding-top: 10rem;
}
.c-help__header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3rem;
  background: #fff;
  box-shadow: 0px 3px 10px 0px rgba(32, 45, 88, 0.15);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9;
}
.c-help__ttl {
  font-size: 2.2rem;
  font-weight: 700;
  margin: 0;
}
.c-help__ttl span {
  display: inline-block;
  font-size: 1.5rem;
  margin-left: 1rem;
}
.c-help__main {
  height: 100%;
  padding: 3rem 0;
  overflow-y: auto;
}
.c-help__3col {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
.c-help__listArea {
  padding: 0 2rem;
}
.c-help__listArea:not(:last-child) {
  border-right: 1px solid #CED3DC;
}
.c-help__listTtl {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  margin: 0;
}
.c-help__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-top: 2.4rem;
}
.c-help__btnArea {
  max-width: 22.6rem;
  margin: 4rem auto 0;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-modal__main {
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}
.c-modal__content {
  height: 100%;
  max-width: 70rem;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 1.6rem;
  margin: 0 auto;
}
.c-modal__box {
  width: 100%;
  background-color: #fff;
  border-radius: 5px;
  overflow: hidden;
  position: relative;
}
.c-modal__ttl {
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  margin: 0;
}
.c-modal__body {
  padding: 4rem 1.6rem 5rem;
}
.c-modal__deleteItem {
  max-width: 40rem;
  margin: 1.6rem auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3rem;
}
.c-modal__deleteItemImg {
  width: 20.2rem;
  aspect-ratio: 202/122;
  overflow: hidden;
}
.c-modal__deleteItemImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c-modal__deleteItemDesc {
  flex: 1;
}
.c-modal__deleteItemDescTxt {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5714285714;
  margin: 0;
}
.c-modal__btnArea {
  margin-top: 3rem;
}
.c-modal__btnArea.one-button {
  width: 100%;
}
.c-modal__btnList {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
}
.c-modal__btnItem {
  width: 18rem;
  max-width: calc(50% - 0.4rem);
}
.c-modal__closeBtnArea {
  position: absolute;
  top: 1.6rem;
  right: 1.4rem;
}
.c-modal__closeBtn {
  padding: 0;
  background-color: transparent;
  border: none;
  cursor: pointer;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-result {
  width: 100%;
  height: 100%;
  color: #474D60;
  background: #FBFCFF;
  position: relative;
  overflow: hidden;
  padding-top: 10rem;
}
.c-result--resultDetail .c-result__layout {
  border-bottom: none;
}
.c-result--resultDetail .c-result__list {
  border-bottom: none;
}
.c-result--resultDetail .c-result__item {
  border-top: none;
  padding: 0;
}
.c-result__header {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 3rem;
  background: #fff;
  box-shadow: 0px 3px 10px 0px rgba(32, 45, 88, 0.15);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9;
}
.c-result__ttl {
  font-size: 2.2rem;
  font-weight: 700;
  margin: 0;
}
.c-result__main {
  height: 100%;
  padding: 3rem 0;
  overflow-y: auto;
}
.c-result__menuArea {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 3rem;
}
.c-result__menuCount {
  font-size: 1.7rem;
  font-weight: 700;
  padding: 0 1.8rem;
}
.c-result__menuCount span {
  font-size: 3rem;
}
.c-result__optionList {
  display: flex;
  align-items: center;
  gap: 1.2rem;
}
.c-result__listArea {
  margin-top: 2rem;
  padding: 0 3rem;
}
.c-result__layout {
  display: flex;
}
.c-result__layoutItem {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-weight: 500;
  line-height: 1.6666666667;
  margin-right: 1rem;
}
.c-result__layoutItem:nth-child(1) {
  width: 45rem;
}
.c-result__layoutItem:nth-child(2) {
  flex: 1;
}
.c-result__layoutItem:nth-child(3) {
  flex: 1;
}
.c-result__layoutItem:nth-child(4) {
  flex: 1;
}
.c-result__layoutItem:nth-child(5) {
  flex: 1;
}
.c-result__layoutItem:nth-child(6) {
  width: 5.6rem;
}
.c-result__listHeader {
  border-bottom: 1px solid #CED3DC;
  padding: 0 1.8rem;
}
.c-result__listHeaderItem {
  font-size: 1.4rem;
  line-height: 1.4285714286;
  font-weight: 500;
  padding: 1.2rem 0;
  padding-right: 0.6rem;
}
.c-result__listHeaderItem--edit {
  text-align: center;
  padding-right: 0;
}
.c-result__list {
  border-bottom: 1px solid #CED3DC;
}
.c-result__item {
  padding: 0.8rem 0;
  border-top: 1px solid #CED3DC;
  transition: all 0.3s ease;
}
.c-result__invite {
  padding: 0 1.6rem;
}
.c-result__inviteContent {
  max-width: 32.4rem;
  margin: 0 auto;
}
.c-result__inviteLabel {
  display: block;
  font-size: 1.5rem;
  font-weight: 500;
  padding: 1.2rem 0;
  text-align: center;
}
.c-result__inviteInput {
  width: 100%;
  padding: 1.2rem;
  background: #EBEFFF;
  border-radius: 5px;
  border-color: transparent;
}
.c-result__inviteInput::placeholder {
  color: #A0B4E6;
}
.c-result__inviteNote {
  color: #80848F;
  font-size: 1.2rem;
  font-weight: 500;
  padding: 0.6rem 0;
  text-align: center;
  margin: 0;
}
.c-result__inviteBtnArea {
  max-width: 30rem;
  margin: 3.4rem auto 0;
}
.c-result__codeArea {
  padding-top: 2rem;
  border-top: 1px solid #CED3DC;
}
.c-result__codeBox {
  font-size: 1.5rem;
  line-height: 1.5333333333;
  color: #fff;
  padding: 1.8rem;
  background-color: #303544;
  border-radius: 5px;
}
.c-result__codeBox pre {
  overflow-x: auto;
  padding-bottom: 2rem;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-aiChat {
  /* 番号付きリストも見栄えを合わせる */
  /* 水平線 */
  /* 既存 code/pre スタイルは活かしつつ */
  /* ====== テーブル ====== */
  /* ====== 生成中スピナー ====== */
  /* ====== モード切り替えタブ ====== */
  /* ====== ツール実行ステータス ====== */
  /* ====== ファイルダウンロード ====== */
}
.c-aiChat h1 {
  font-size: 2.4rem;
  font-weight: 700;
  margin: 2.4rem 0 1.6rem;
}
.c-aiChat h2 {
  font-size: 2rem;
  font-weight: 700;
  margin: 2rem 0 1.6rem;
}
.c-aiChat h3 {
  font-size: 1.8rem;
  font-weight: 700;
  margin: 2rem 0 1.6rem;
}
.c-aiChat h4 {
  font-size: 1.6rem;
  font-weight: 700;
  margin: 1.6rem 0 1rem;
}
.c-aiChat h5 {
  font-size: 1.4rem;
  font-weight: 700;
  margin: 1.4rem 0 0.8rem;
}
.c-aiChat h6 {
  font-size: 1.3rem;
  font-weight: 700;
  margin: 1.2rem 0 0.6rem;
  color: #555;
}
.c-aiChat ul li {
  padding-left: 3.2rem;
  position: relative;
}
.c-aiChat ul li::before {
  content: "";
  display: block;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: #16363C;
  color: #16363C;
  position: absolute;
  left: 1.2rem;
  top: 1rem;
}
.c-aiChat pre {
  margin: 0.8rem 0 0;
}
.c-aiChat code {
  display: inline-block;
  background-color: #EFF3F3;
  padding: 0.4rem 0.8rem;
  margin: 0 0.2rem;
  border-radius: 0 4px 0 0;
}
.c-aiChat__codeBox {
  border-radius: 20px;
  background-color: #EFF3F3;
  overflow: hidden;
  position: relative;
}
.c-aiChat__codeBox code {
  width: 100%;
  padding: 16px 20px;
}
.c-aiChat .syntax-keyword {
  color: #d73a49;
}
.c-aiChat__codeType {
  font-weight: 700;
  padding: 20px 20px 0;
  color: #969AA8;
}
.c-aiChat__codeButtonList {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 1.2rem;
  position: absolute;
  right: 2rem;
  top: 2rem;
}
.c-aiChat__codeButtonCopy {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #969AA8;
  background-color: transparent;
  border: none;
  cursor: pointer;
  font-size: 1.3rem;
  font-weight: 500;
  border-radius: 4px;
  padding: 0.2rem 0.6rem;
  transition: background-color 0.3s ease;
}
.c-aiChat__codeButtonCopy:hover {
  background-color: #D5DFE1;
}
.c-aiChat__codeButtonEdit {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #969AA8;
  background-color: transparent;
  border: none;
  cursor: pointer;
  font-size: 1.3rem;
  font-weight: 500;
  border-radius: 4px;
  padding: 0.2rem 0.6rem;
  transition: background-color 0.3s ease;
}
.c-aiChat__codeButtonEdit:hover {
  background-color: #D5DFE1;
}
.c-aiChat p {
  margin: 1rem 0;
}
.c-aiChat ol {
  padding-left: 2.4rem;
}
.c-aiChat ol li {
  margin: 0.2rem 0;
}
.c-aiChat hr {
  border: none;
  border-top: 1px solid #E0E3E8;
  margin: 1.6rem 0;
}
.c-aiChat pre {
  margin: 0.8rem 0 0;
}
.c-aiChat code {
  display: inline-block;
  background-color: #EFF3F3;
  padding: 0.4rem 0.8rem;
  margin: 0 0.2rem;
  border-radius: 0 4px 0 0;
}
.c-aiChat__table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
  font-size: 1.3rem;
}
.c-aiChat__table th, .c-aiChat__table td {
  border: 1px solid #E0E3E8;
  padding: 0.6rem 1rem;
  text-align: left;
}
.c-aiChat__table th {
  background-color: #EFF3F3;
  font-weight: 700;
  white-space: nowrap;
}
.c-aiChat__table td {
  background-color: #fff;
}
.c-aiChat__table tr:nth-child(even) td {
  background-color: #fafbfd;
}
.c-aiChat__spinner {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  min-height: 2.4rem;
}
.c-aiChat__spinnerIcon {
  width: 2rem;
  height: 2rem;
  border: 3px solid #9CBCED;
  border-top-color: #16363C;
  border-radius: 50%;
  animation: aiSpin 0.8s linear infinite;
  display: inline-block;
}
.c-aiChat__spinnerText {
  font-size: 2rem;
  color: #8CA3A8;
}
@keyframes aiSpin {
  to {
    transform: rotate(360deg);
  }
}
.c-aiChat__modeToggle {
  display: flex;
  gap: 0;
  margin: 0 0 1.2rem;
  border-bottom: 2px solid #E0E3E8;
}
.c-aiChat__modeBtn {
  flex: 1;
  padding: 0.8rem 1.2rem;
  font-size: 1.3rem;
  font-weight: 600;
  color: #8CA3A8;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s;
}
.c-aiChat__modeBtn:hover {
  color: #16363C;
}
.c-aiChat__modeBtn--active {
  color: #16363C;
  border-bottom-color: #16363C;
}
.c-aiChat__toolStatus {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  min-height: 2.4rem;
  padding: 0.6rem 1.2rem;
  background-color: #f0f4ff;
  border-radius: 8px;
  border: 1px solid #d0d9f0;
}
.c-aiChat__toolStatusText {
  font-size: 1.3rem;
  color: #16363C;
  font-weight: 500;
}
.c-aiChat__fileDownload {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1.2rem 1.6rem;
  background-color: #f8f9fc;
  border: 1px solid #e0e4ee;
  border-radius: 10px;
}
.c-aiChat__fileDownloadIcon {
  flex-shrink: 0;
  width: 3.6rem;
  height: 3.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #eef1f8;
  border-radius: 8px;
}
.c-aiChat__fileDownloadInfo {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.c-aiChat__fileDownloadName {
  font-size: 1.3rem;
  font-weight: 600;
  color: #333;
}
.c-aiChat__fileDownloadMeta {
  font-size: 1.1rem;
  color: #8CA3A8;
}
.c-aiChat__fileDownloadBtn {
  flex-shrink: 0;
  padding: 0.6rem 1.6rem;
  font-size: 1.2rem;
  font-weight: 600;
  color: #fff;
  background-color: #16363C;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: opacity 0.2s;
}
.c-aiChat__fileDownloadBtn:hover {
  opacity: 0.85;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
/* ====== フローティング AIチャットウィンドウ ====== */
.c-aiPanel {
  position: fixed;
  bottom: 20px;
  left: 80px;
  width: 420px;
  height: 560px;
  background-color: #fff;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  z-index: 200;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18), 0 2px 8px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  min-width: 360px;
  min-height: 400px;
  max-width: 90vw;
  max-height: 90vh;
  /* リサイズエッジ（上下左右 + 四隅） */
  /* テキスト選択時の色 */
  /* ヘッダー（ドラッグハンドル） */
  /* サイドバー（履歴） */
  /* メッセージエリア */
  /* ユーザーメッセージ */
  /* AIメッセージ */
  /* ツールステータスメッセージ（分析中の表示） */
  /* エラーメッセージ */
  /* 思考プロセス（ツールステータス） */
  /* ファイルダウンロード・プレビュー */
  /* 分析中インジケーター */
  /* 入力エリア */
  /* ウェルカムメッセージ */
}
.c-aiPanel__resizeEdge {
  position: absolute;
  z-index: 20;
}
.c-aiPanel__resizeEdge--n {
  top: -3px;
  left: 6px;
  right: 6px;
  height: 6px;
  cursor: ns-resize;
}
.c-aiPanel__resizeEdge--s {
  bottom: -3px;
  left: 6px;
  right: 6px;
  height: 6px;
  cursor: ns-resize;
}
.c-aiPanel__resizeEdge--w {
  left: -3px;
  top: 6px;
  bottom: 6px;
  width: 6px;
  cursor: ew-resize;
}
.c-aiPanel__resizeEdge--e {
  right: -3px;
  top: 6px;
  bottom: 6px;
  width: 6px;
  cursor: ew-resize;
}
.c-aiPanel__resizeEdge--nw {
  top: -3px;
  left: -3px;
  width: 10px;
  height: 10px;
  cursor: nwse-resize;
}
.c-aiPanel__resizeEdge--ne {
  top: -3px;
  right: -3px;
  width: 10px;
  height: 10px;
  cursor: nesw-resize;
}
.c-aiPanel__resizeEdge--sw {
  bottom: -3px;
  left: -3px;
  width: 10px;
  height: 10px;
  cursor: nesw-resize;
}
.c-aiPanel__resizeEdge--se {
  bottom: -3px;
  right: -3px;
  width: 10px;
  height: 10px;
  cursor: nwse-resize;
}
.c-aiPanel ::selection {
  background: #1b3592;
  color: #fff;
}
.c-aiPanel__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: #1b3592;
  color: #fff;
  cursor: grab;
  user-select: none;
  flex-shrink: 0;
  border-radius: 12px 12px 0 0;
}
.c-aiPanel__header:active {
  cursor: grabbing;
}
.c-aiPanel__headerLeft {
  display: flex;
  align-items: center;
  gap: 8px;
}
.c-aiPanel__avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
.c-aiPanel__headerTitle {
  font-size: 13px;
  font-weight: 600;
}
.c-aiPanel__headerActions {
  display: flex;
  align-items: center;
  gap: 4px;
}
.c-aiPanel__headerBtn {
  background: none;
  border: none;
  color: rgba(255, 255, 255, 0.8);
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  font-size: 16px;
  line-height: 1;
  transition: background 0.15s;
}
.c-aiPanel__headerBtn:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
}
.c-aiPanel__sidebar {
  position: absolute;
  top: 0;
  left: 0;
  width: 260px;
  height: 100%;
  background: #f5f6fa;
  border-right: 1px solid #e5e7eb;
  border-radius: 12px 0 0 12px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  transform: translateX(-100%);
  transition: transform 0.2s ease;
}
.c-aiPanel__sidebar--open {
  transform: translateX(0);
}
.c-aiPanel__sidebarHeader {
  padding: 12px;
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.c-aiPanel__newChatBtn {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: 600;
  color: #1b3592;
  background: #fff;
  border: 1px solid #1b3592;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.15s;
}
.c-aiPanel__newChatBtn:hover {
  background: #f0f4ff;
}
.c-aiPanel__sidebarClose {
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
  color: #999;
  padding: 2px;
}
.c-aiPanel__searchBox {
  padding: 8px 12px;
  border-bottom: 1px solid #e5e7eb;
}
.c-aiPanel__searchBox input {
  width: 100%;
  padding: 6px 10px;
  font-size: 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  outline: none;
}
.c-aiPanel__searchBox input:focus {
  border-color: #1b3592;
}
.c-aiPanel__historyList {
  flex: 1;
  overflow-y: auto;
  padding: 4px 0;
}
.c-aiPanel__historyItem {
  padding: 8px 14px;
  font-size: 12px;
  color: #333;
  cursor: pointer;
  border-bottom: 1px solid #f0f0f0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: background 0.1s;
}
.c-aiPanel__historyItem:hover {
  background: #eef1f8;
}
.c-aiPanel__historyItem--active {
  background: #e0e7ff;
  font-weight: 600;
}
.c-aiPanel__historyTitle {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.c-aiPanel__historyDate {
  font-size: 10px;
  color: #999;
  flex-shrink: 0;
  margin-left: 8px;
}
.c-aiPanel__historyDelete {
  background: none;
  border: none;
  color: #ccc;
  cursor: pointer;
  font-size: 14px;
  padding: 0 2px;
  margin-left: 4px;
}
.c-aiPanel__historyDelete:hover {
  color: #e74c3c;
}
.c-aiPanel__body {
  flex: 1;
  overflow-y: auto;
  padding: 12px 14px;
  scroll-behavior: smooth;
}
.c-aiPanel__userMsg {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 10px;
}
.c-aiPanel__userMsg .c-aiPanel__bubble {
  background: #1b3592;
  color: #fff;
  border-radius: 12px 12px 2px 12px;
  padding: 8px 12px;
  max-width: 85%;
  font-size: 12px;
  line-height: 1.7;
  word-break: break-word;
}
.c-aiPanel__aiMsg {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
  align-items: flex-start;
}
.c-aiPanel__aiMsg .c-aiPanel__aiAvatar {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #eef1f8;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 14px;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble {
  background: #f5f6fa;
  color: #333 !important;
  border-radius: 12px 12px 12px 2px;
  padding: 8px 12px;
  max-width: 85%;
  font-size: 12px;
  line-height: 1.7;
  word-break: break-word;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble, .c-aiPanel__aiMsg .c-aiPanel__bubble * {
  color: #333 !important;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble a {
  color: #1b3592 !important;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble h1, .c-aiPanel__aiMsg .c-aiPanel__bubble h2, .c-aiPanel__aiMsg .c-aiPanel__bubble h3, .c-aiPanel__aiMsg .c-aiPanel__bubble h4, .c-aiPanel__aiMsg .c-aiPanel__bubble h5, .c-aiPanel__aiMsg .c-aiPanel__bubble h6 {
  color: #1b3592 !important;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble th {
  color: #1b3592 !important;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble h1 {
  font-size: 14px;
  font-weight: 700;
  color: #1b3592;
  margin: 10px 0 5px;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble h2 {
  font-size: 13px;
  font-weight: 700;
  color: #1b3592;
  margin: 8px 0 4px;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble h3 {
  font-size: 12px;
  font-weight: 600;
  color: #1b3592;
  margin: 6px 0 3px;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble h4 {
  font-size: 12px;
  font-weight: 600;
  color: #1b3592;
  margin: 6px 0 3px;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble h5 {
  font-size: 11px;
  font-weight: 600;
  color: #1b3592;
  margin: 4px 0 2px;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble h6 {
  font-size: 11px;
  font-weight: 600;
  color: #1b3592;
  margin: 4px 0 2px;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble p {
  margin: 4px 0;
  color: #333;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble ul, .c-aiPanel__aiMsg .c-aiPanel__bubble ol {
  margin: 4px 0;
  padding-left: 18px;
  color: #333;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble li {
  margin: 2px 0;
  color: #333;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble strong {
  color: #1a1a1a;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble code {
  background: #e8ebf0;
  padding: 1px 4px;
  border-radius: 3px;
  font-size: 11px;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble pre {
  background: #f5f5f5;
  color: #333;
  padding: 8px 10px;
  border-radius: 4px;
  border: 1px solid #e0e0e0;
  overflow-x: auto;
  margin: 6px 0;
  font-size: 11px;
  line-height: 1.5;
  word-wrap: break-word;
  white-space: pre-wrap;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble pre code {
  background: none;
  color: inherit;
  padding: 0;
  border: none;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble table {
  border-collapse: collapse;
  width: 100%;
  margin: 6px 0;
  font-size: 11px;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble table th, .c-aiPanel__aiMsg .c-aiPanel__bubble table td {
  border: 1px solid #d1d5db;
  padding: 3px 6px;
  text-align: left;
  color: #333;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble table th {
  background: #eef1f8;
  font-weight: 600;
  color: #1b3592;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble table tr:hover td {
  background: #f0f4ff;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble table ::selection {
  background: #1b3592;
  color: #fff;
}
.c-aiPanel__aiMsg .c-aiPanel__bubble hr {
  border: none;
  border-top: 1px solid #e5e7eb;
  margin: 8px 0;
}
.c-aiPanel__toolStatusMsg {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  font-size: 11px;
  color: #1b3592;
  font-style: italic;
  opacity: 0.8;
}
.c-aiPanel__toolStatusDot {
  width: 6px;
  height: 6px;
  background: #1b3592;
  border-radius: 50%;
  animation: aiPulse 1.5s ease-in-out infinite;
}
.c-aiPanel__toolStatusMsg--done {
  color: #16a34a;
  font-style: normal;
  opacity: 0.6;
}
.c-aiPanel__errorMsg {
  margin-bottom: 10px;
  padding: 6px 12px;
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  color: #dc2626;
  font-size: 11px;
  line-height: 1.6;
}
.c-aiPanel__thinking {
  margin-bottom: 8px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
}
.c-aiPanel__thinkingHeader {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  background: #f9fafb;
  cursor: pointer;
  font-size: 11px;
  color: #666;
  user-select: none;
}
.c-aiPanel__thinkingHeader:hover {
  background: #f0f4ff;
}
.c-aiPanel__thinkingSpinner {
  width: 14px;
  height: 14px;
  border: 2px solid #e5e7eb;
  border-top-color: #1b3592;
  border-radius: 50%;
  animation: aiSpin 0.7s linear infinite;
}
.c-aiPanel__thinkingBody {
  padding: 6px 10px;
  font-size: 11px;
  color: #888;
  border-top: 1px solid #e5e7eb;
  background: #fafbfc;
}
.c-aiPanel__fileCard {
  margin-bottom: 8px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fafbff;
  font-size: 11px;
}
.c-aiPanel__fileIcon {
  font-size: 18px;
  flex-shrink: 0;
}
.c-aiPanel__fileInfo {
  flex: 1;
}
.c-aiPanel__fileInfo .name {
  font-weight: 600;
  color: #333;
}
.c-aiPanel__fileInfo .meta {
  color: #999;
  font-size: 10px;
}
.c-aiPanel__fileBtn {
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 600;
  color: #1b3592;
  background: #eef1f8;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.c-aiPanel__fileBtn:hover {
  background: #dce3f0;
}
.c-aiPanel__analyzing {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  margin-bottom: 8px;
}
.c-aiPanel__analyzingDots {
  display: flex;
  gap: 4px;
}
.c-aiPanel__analyzingDots span {
  width: 6px;
  height: 6px;
  background: #1b3592;
  border-radius: 50%;
  animation: aiBounce 1.2s infinite;
}
.c-aiPanel__analyzingDots span:nth-child(2) {
  animation-delay: 0.2s;
}
.c-aiPanel__analyzingDots span:nth-child(3) {
  animation-delay: 0.4s;
}
.c-aiPanel__input {
  padding: 10px 14px;
  border-top: 1px solid #e5e7eb;
  background: #fff;
  display: flex;
  align-items: flex-end;
  gap: 8px;
  flex-shrink: 0;
  border-radius: 0 0 12px 12px;
}
.c-aiPanel__textarea {
  flex: 1;
  resize: none;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  padding: 8px 10px;
  font-size: 12px;
  line-height: 1.5;
  max-height: 100px;
  outline: none;
  font-family: inherit;
}
.c-aiPanel__textarea:focus {
  border-color: #1b3592;
}
.c-aiPanel__textarea::placeholder {
  color: #bbb;
}
.c-aiPanel__sendBtn {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: none;
  background: #1b3592;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: opacity 0.15s;
}
.c-aiPanel__sendBtn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.c-aiPanel__sendBtn:hover:not(:disabled) {
  opacity: 0.85;
}
.c-aiPanel__sendBtn svg {
  width: 16px;
  height: 16px;
}
.c-aiPanel__welcome {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
  color: #999;
  padding: 20px;
}
.c-aiPanel__welcome .icon {
  font-size: 36px;
  margin-bottom: 12px;
}
.c-aiPanel__welcome .title {
  font-size: 14px;
  font-weight: 600;
  color: #1b3592;
  margin-bottom: 4px;
}
.c-aiPanel__welcome .sub {
  font-size: 11px;
}

@keyframes aiSpin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes aiPulse {
  0%, 100% {
    opacity: 0.3;
  }
  50% {
    opacity: 1;
  }
}
@keyframes aiBounce {
  0%, 80%, 100% {
    transform: scale(0);
  }
  40% {
    transform: scale(1);
  }
}
/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
.c-character {
  width: 18.2rem;
  max-width: 30%;
  position: fixed;
  bottom: 0;
  right: 1.6rem;
  z-index: 9;
}
.c-character button {
  padding: 0;
  background-color: transparent;
  border: none;
  cursor: pointer;
}
.c-character img {
  width: 100%;
}

/* src/styles/components/c-notice.scss */
/* プロダクトの朱色に合わせる（既存の削除アイコン等で使用している #ED3A75 を踏襲） */
.c-notice--errorList {
  border: 2px solid #ED3A75;
  border-radius: 8px;
  padding: 14px 16px;
  background: #FFF6F9; /* やや淡い朱色の背景（視認性のため） */
  margin-top: 8px;
  font-size: 1.3rem;
}

.c-notice__list {
  margin: 0;
  padding-left: 1.4em; /* 箇条書きインデント */
  list-style: disc;
  color: #ED3A75; /* 朱色の箇条書き */
  font-weight: 500;
  line-height: 1.6;
}
.c-notice__list li + li {
  margin-top: 6px;
}

/* ナヨセル画面共通スタイル（ny-*） */
.ny-page {
  /* 100vhレイアウトの中で自前スクロール（サイドバーの色欠け防止） */
  flex: 1 1 auto;
  min-width: 0;
  height: 100%;
  overflow-y: auto;
  padding: 3.2rem 4rem 6rem;
}

.ny-pageHeader {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.2rem 2rem;
  margin-bottom: 2.4rem;
}
.ny-pageHeader .ny-btn {
  margin-left: auto;
}

.ny-pageTitle {
  font-size: 2.2rem;
  font-weight: 800;
  color: #182c37;
}

.ny-pageLead {
  font-size: 1.3rem;
  color: #7b8c93;
  width: 100%;
}

.ny-loading, .ny-empty {
  color: #7b8c93;
  font-size: 1.4rem;
  padding: 2rem 0;
}

.ny-error {
  background: #FDECEC;
  color: #B3261E;
  border: 1px solid #F5C6C4;
  border-radius: 0.8rem;
  padding: 1rem 1.6rem;
  font-size: 1.3rem;
  margin-bottom: 1.6rem;
}

.ny-sub {
  color: #7b8c93;
  font-size: 1.15rem;
}

.ny-num {
  font-variant-numeric: tabular-nums;
}

.ny-mono {
  font-family: Menlo, Consolas, monospace;
  font-size: 1.2rem;
}

.ny-accentTxt {
  color: #d96504;
  font-weight: 700;
}

/* KPI */
.ny-kpiGrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.6rem;
  margin-bottom: 2.4rem;
}

.ny-kpiCard {
  background: #fff;
  border: 1px solid #d9e3e5;
  border-radius: 1.2rem;
  border-top: 4px solid #182c37;
  padding: 1.8rem 2rem;
  display: block;
  text-decoration: none;
  transition: box-shadow 0.2s;
}
.ny-kpiCard:hover {
  box-shadow: 0 8px 20px rgba(18, 52, 58, 0.12);
}
.ny-kpiCard.is-accent {
  border-top-color: #f27405;
}

.ny-kpiLabel {
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
  color: #7b8c93;
  margin-bottom: 0.6rem;
}

.ny-kpiValue {
  font-size: 3rem;
  font-weight: 800;
  color: #182c37;
  line-height: 1.1;
}
.ny-kpiValue small {
  font-size: 1.3rem;
  margin-left: 0.3rem;
}
.is-accent .ny-kpiValue {
  color: #f27405;
}

/* パネル */
.ny-panelRow {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 1.6rem;
}

.ny-panel {
  background: #fff;
  border: 1px solid #d9e3e5;
  border-radius: 1.2rem;
  padding: 2rem 2.4rem;
  margin-bottom: 1.6rem;
}

.ny-panelHeader {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.2rem;
}
.ny-panelHeader h2 {
  font-size: 1.5rem;
  font-weight: 800;
  color: #182c37;
}

.ny-linkMore {
  font-size: 1.2rem;
  color: #114c5a;
  font-weight: 700;
  text-decoration: none;
}

/* 概要タブ: 4ステップの横並び図 */
.ny-stepFlow {
  display: flex;
  align-items: stretch;
  margin-bottom: 2rem;
}

.ny-stepCard {
  flex: 1;
  min-width: 0;
  background: #fff;
  border: 2px solid #114c5a;
  border-radius: 1.2rem;
  padding: 1.8rem 2rem;
}

.ny-stepCard__title {
  font-size: 1.5rem;
  font-weight: 800;
  color: #182c37;
  margin-bottom: 1.2rem;
}

.ny-stepCard__links {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}
.ny-stepCard__links a {
  color: #114c5a;
  font-size: 1.3rem;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  width: fit-content;
}
.ny-stepCard__links a:hover {
  color: #f27405;
}

.ny-stepStatus {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 1.05rem;
  font-weight: 700;
  border-radius: 100px;
  padding: 0.15rem 0.8rem;
  margin-left: 0.8rem;
  vertical-align: middle;
  background: #e6eff1;
  color: #114c5a;
  text-decoration: none;
}
.ny-stepStatus--ok {
  background: #E4FAEC;
  color: #16C060;
}
.ny-stepStatus--none {
  background: #EEF1F2;
  color: #7b8c93;
}

.ny-stepArrow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.6rem;
  color: #114c5a;
  flex-shrink: 0;
}

.ny-flowSteps li {
  list-style: none;
  margin-bottom: 1rem;
}
.ny-flowSteps a {
  display: block;
  background: #f1f5f4;
  border-radius: 0.8rem;
  padding: 1rem 1.4rem;
  text-decoration: none;
  border-left: 4px solid #729097;
}
.ny-flowSteps a b {
  display: block;
  color: #182c37;
  font-size: 1.3rem;
}
.ny-flowSteps a span {
  color: #7b8c93;
  font-size: 1.15rem;
}
.ny-flowSteps a:hover {
  background: #e6eff1;
}

/* テーブル */
.ny-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.3rem;
  color: #2C3A3E;
}
.ny-table th, .ny-table td {
  padding: 1rem 1.2rem;
  text-align: left;
  border-bottom: 1px solid #e6eff1;
  vertical-align: middle;
}
.ny-table thead th {
  font-size: 1.15rem;
  color: #7b8c93;
  font-weight: 700;
  background: #f1f5f4;
}
.ny-table--list {
  background: #fff;
  border: 1px solid #d9e3e5;
  border-radius: 1.2rem;
  overflow: hidden;
}

.ny-detailCell {
  max-width: 32rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* タブ概念イラスト */
.ny-tabIllust {
  background: #fff;
  border: 1.5px solid #d9e3e5;
  border-radius: 1.4rem;
  padding: 1.2rem 1.6rem 0.6rem;
  margin: 0 0 2rem;
  max-width: 96rem;
}
.ny-tabIllust svg {
  display: block;
  width: 100%;
  height: auto;
}

/* チップ */
.ny-chip {
  display: inline-block;
  font-size: 1.1rem;
  font-weight: 700;
  border-radius: 100px;
  padding: 0.3rem 1rem;
  background: #e6eff1;
  color: #114c5a;
  white-space: nowrap;
}
.ny-chip--succeeded, .ny-chip--active, .ny-chip--approved, .ny-chip--merged, .ny-chip--auto {
  background: #E3F1EC;
  color: #1C7A55;
}
.ny-chip--accent {
  background: #ffe9d5;
  color: #d96504;
}
.ny-chip--failed, .ny-chip--rejected {
  background: #FDECEC;
  color: #B3261E;
}
.ny-chip--rolled_back, .ny-chip--excluded {
  background: #EEE9F7;
  color: #5B4A8A;
}
.ny-chip--pending, .ny-chip--draft {
  background: #ffe9d5;
  color: #d96504;
}
.ny-chip--type-ai {
  background: #ffe9d5;
  color: #d96504;
}
.ny-chip--type-sql, .ny-chip--type-nl {
  background: #e6eff1;
  color: #114c5a;
}

/* ボタン */
.ny-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  font-weight: 700;
  font-size: 1.3rem;
  border-radius: 100px;
  padding: 1rem 2.2rem;
  background: #114c5a;
  color: #fff;
  transition: opacity 0.15s;
}
.ny-btn:hover {
  opacity: 0.85;
}
.ny-btn:disabled {
  opacity: 0.4;
  cursor: default;
}
.ny-btn + .ny-btn {
  margin-left: 0.8rem;
}
.ny-btn--primary {
  background: #182c37;
}
.ny-btn--approve {
  background: #f27405;
}
.ny-btn--run {
  background: #f27405;
}
.ny-btn--run:hover {
  background: #d96504;
}
.ny-btn--ai {
  background: #f27405;
}
.ny-btn--danger {
  background: #B3261E;
}
.ny-btn--ghost {
  background: #fff;
  color: #114c5a;
  border: 1.5px solid #a8bfc4;
}
.ny-btn--small {
  padding: 0.5rem 1.4rem;
  font-size: 1.15rem;
}

/* 承認キュー */
.ny-bucketTabs {
  display: flex;
  gap: 0.8rem;
  margin-bottom: 1.6rem;
}

.ny-bucketTab {
  border: 1.5px solid #d9e3e5;
  background: #fff;
  color: #114c5a;
  border-radius: 100px;
  padding: 0.8rem 1.8rem;
  font-size: 1.3rem;
  font-weight: 700;
  cursor: pointer;
}
.ny-bucketTab.is-active {
  background: #182c37;
  border-color: #182c37;
  color: #fff;
}

.ny-bucketCount {
  margin-left: 0.8rem;
  background: rgba(240, 113, 54, 0.15);
  color: #d96504;
  border-radius: 100px;
  padding: 0.1rem 0.8rem;
  font-size: 1.1rem;
}
.is-active .ny-bucketCount {
  background: rgba(255, 255, 255, 0.2);
  color: #FFC98F;
}

.ny-queueLayout {
  display: grid;
  grid-template-columns: 30rem minmax(0, 1fr);
  gap: 1.6rem;
  align-items: start;
}

.ny-queueList {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  max-height: 68vh;
  overflow-y: auto;
}

/* データ量履歴: 世代メモ */
.ny-snapMemo {
  margin-top: 1.2rem;
  padding: 1rem 1.4rem;
  background: #f1f5f4;
  border-radius: 0.8rem;
  font-size: 1.25rem;
  color: #2C3A3E;
  white-space: pre-wrap;
  word-break: break-word;
  cursor: pointer;
  border: 1px solid transparent;
}
.ny-snapMemo:hover {
  border-color: #d9e3e5;
  background: #e6eff1;
}

/* 概要: データ量ドラム缶図 */
.ny-drumFlow {
  display: flex;
  align-items: flex-start;
  gap: 0.8rem;
  flex-wrap: wrap;
  padding: 0.4rem 0;
}

.ny-drumGroup {
  display: flex;
  gap: 1.2rem;
  flex-wrap: wrap;
}

.ny-drumSources {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  border: 1.5px dashed #d9e3e5;
  border-radius: 1rem;
  padding: 1rem 1.2rem;
  min-width: 13rem;
  max-width: 17rem;
  align-self: stretch;
}

.ny-drumSourcesTitle {
  font-size: 1.1rem;
  font-weight: 800;
  color: #182c37;
}

.ny-drumSourcesList {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  overflow-y: auto;
  max-height: 13rem;
}
.ny-drumSourcesList .ny-chip {
  align-self: flex-start;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ny-drum {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 11rem;
  text-align: center;
}
.ny-drum svg {
  display: block;
}
.ny-drum--link {
  text-decoration: none;
  border-radius: 1rem;
  padding: 0.4rem 0.2rem;
  cursor: pointer;
}
.ny-drum--link:hover {
  background: #f1f5f4;
}

.ny-drumRole {
  font-size: 1.1rem;
  font-weight: 800;
  color: #182c37;
  margin-top: 0.4rem;
}

.ny-drumName {
  font-size: 1.1rem;
  color: #7b8c93;
  max-width: 11rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-height: 1.5em;
}

.ny-drumDivider {
  width: 2px;
  align-self: stretch;
  background: #e6eff1;
  margin: 0 1.2rem;
}

/* データ閲覧: リストビュー設定モーダル */
.ny-lvColList {
  border: 1px solid #d9e3e5;
  border-radius: 0.8rem;
  max-height: 32vh;
  overflow-y: auto;
  background: #fff;
}

.ny-lvColItem {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  width: 100%;
  text-align: left;
  padding: 0.7rem 1.2rem;
  font-size: 1.25rem;
  color: #182c37;
  background: none;
  border: none;
  border-bottom: 1px solid #e6eff1;
  cursor: pointer;
}
.ny-lvColItem:hover {
  background: #f1f5f4;
}
.ny-lvColItem.is-selected {
  cursor: default;
}
.ny-lvColItem.is-selected:hover {
  background: none;
}
.ny-lvColItem .ny-schemaFieldApi {
  flex-shrink: 0;
}

.ny-lvColRemove {
  border: none;
  background: none;
  color: #7b8c93;
  font-size: 1.5rem;
  cursor: pointer;
  padding: 0 0.4rem;
  border-radius: 0.4rem;
  flex-shrink: 0;
}
.ny-lvColRemove:hover {
  color: #B3261E;
  background: #e6eff1;
}

/* データ閲覧: リストビュー・レコード詳細 */
.ny-listRow:hover td {
  background: #f1f5f4;
}

.ny-recordLink {
  color: #114c5a;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.ny-recordFields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 3rem;
}
@media (max-width: 900px) {
  .ny-recordFields {
    grid-template-columns: 1fr;
  }
}

.ny-recordField {
  display: flex;
  gap: 1.2rem;
  padding: 0.8rem 0.2rem;
  border-bottom: 1px solid #e6eff1;
  font-size: 1.25rem;
  align-items: baseline;
}

.ny-recordFieldName {
  width: 16rem;
  flex-shrink: 0;
  color: #7b8c93;
  font-weight: 600;
  word-break: break-all;
}

.ny-recordFieldValue {
  color: #182c37;
  font-weight: 600;
  word-break: break-all;
  min-width: 0;
}

/* データ閲覧ワークベンチ（マルチタブ） */
.ny-dbTabBar {
  display: flex;
  align-items: flex-end;
  gap: 0.4rem;
  margin-bottom: 0;
  border-bottom: 2px solid #d9e3e5;
  padding: 0 0.4rem;
  flex-wrap: wrap;
}

.ny-dbTab {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  cursor: pointer;
  user-select: none;
  background: #f1f5f4;
  border: 1.5px solid #d9e3e5;
  border-bottom: none;
  border-radius: 0.9rem 0.9rem 0 0;
  padding: 0.8rem 1rem 0.8rem 1.6rem;
  font-size: 1.25rem;
  font-weight: 700;
  color: #7b8c93;
  max-width: 30rem;
  margin-bottom: -2px;
}
.ny-dbTab.is-active {
  background: #fff;
  color: #182c37;
  border-color: #d9e3e5;
  border-bottom: 2px solid #fff;
}

.ny-dbTabTitle {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ny-dbTabClose {
  border: none;
  background: none;
  color: #7b8c93;
  font-size: 1.4rem;
  line-height: 1;
  cursor: pointer;
  padding: 0.2rem 0.4rem;
  border-radius: 0.4rem;
  flex-shrink: 0;
}
.ny-dbTabClose:hover {
  background: #e6eff1;
  color: #B3261E;
}

.ny-dbTabAdd {
  border: 1.5px dashed #d9e3e5;
  background: none;
  color: #114c5a;
  cursor: pointer;
  border-radius: 0.9rem 0.9rem 0 0;
  padding: 0.8rem 1.4rem;
  font-size: 1.4rem;
  font-weight: 800;
  margin-bottom: -2px;
}
.ny-dbTabAdd:hover {
  background: #e6eff1;
}

.ny-dbTabBar + .ny-panel {
  border-top-left-radius: 0;
}

/* 実行ロット一覧 */
.ny-lotGateNote {
  background: #ffe9d5;
  border: 1.5px solid #F5C9A8;
  color: #d96504;
  border-radius: 1rem;
  padding: 1.2rem 1.6rem;
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1.6rem;
}

.ny-lotTable {
  background: #fff;
  border: 1px solid #d9e3e5;
  border-radius: 1.2rem;
  overflow: hidden;
}

.ny-lotRow {
  cursor: pointer;
}
.ny-lotRow:hover {
  background: #f1f5f4;
}

.ny-lotOpen {
  color: #114c5a;
  font-weight: 700;
  font-size: 1.2rem;
  white-space: nowrap;
}

.ny-lotStatus {
  display: inline-block;
  font-size: 1.15rem;
  font-weight: 800;
  border-radius: 100px;
  padding: 0.35rem 1.2rem;
  white-space: nowrap;
  border: 1.5px solid transparent;
}
.ny-lotStatus--pending {
  background: #ffe9d5;
  color: #d96504;
  border-color: #F5C9A8;
}
.ny-lotStatus--approved {
  background: #E3F1EC;
  color: #1C7A55;
  border-color: #BFDFD2;
}
.ny-lotStatus--rejected {
  background: #FDECEC;
  color: #B3261E;
  border-color: #F5C6C4;
}
.ny-lotStatus--partial {
  background: #FDF4E3;
  color: #8A6116;
  border-color: #EDD9A8;
}
.ny-lotStatus--running {
  background: #e6eff1;
  color: #114c5a;
  border-color: #d9e3e5;
}
.ny-lotStatus--failed {
  background: #F3F4F6;
  color: #6B7280;
  border-color: #E5E7EB;
}

.ny-lotDetailHead {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  flex-wrap: wrap;
  margin-bottom: 1.6rem;
}

.ny-lotDetailName {
  font-size: 1.6rem;
  color: #182c37;
}

.ny-compareScroll {
  overflow-x: auto;
  margin-bottom: 1.4rem;
  padding-bottom: 0.4rem;
}

.ny-compareScroll .ny-compareGrid {
  min-width: 86rem;
  margin-bottom: 0;
}

.ny-candRow {
  display: flex;
  align-items: center;
  gap: 1rem;
  text-align: left;
  background: #fff;
  border: 1.5px solid #d9e3e5;
  border-radius: 1rem;
  padding: 1.2rem 1.4rem;
  cursor: pointer;
  font-size: 1.25rem;
}
.ny-candRow.is-active {
  border-color: #182c37;
  box-shadow: 0 4px 14px rgba(18, 52, 58, 0.12);
}

.ny-candNames {
  flex: 1;
  min-width: 0;
  color: #182c37;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ny-candNames b {
  font-weight: 700;
}
.ny-candNames i {
  color: #7b8c93;
  font-style: normal;
  margin: 0 0.5rem;
}

.ny-conf {
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}
.ny-conf.hi {
  color: #1C7A55;
}
.ny-conf.mid {
  color: #d96504;
}
.ny-conf.low {
  color: #B3261E;
}
.ny-conf.big {
  font-size: 1.7rem;
}

.ny-stageChip {
  font-size: 1rem;
  font-weight: 700;
  color: #729097;
  border: 1px solid #a8bfc4;
  border-radius: 0.5rem;
  padding: 0.2rem 0.6rem;
  white-space: nowrap;
}
.ny-stageChip--big {
  font-size: 1.2rem;
  padding: 0.5rem 1.2rem;
}
.ny-stageChip--big.s3 {
  border-color: #f27405;
  color: #d96504;
  background: #ffe9d5;
}

.ny-candDetail {
  background: #fff;
  border: 1px solid #d9e3e5;
  border-radius: 1.2rem;
  padding: 2rem 2.4rem;
}

.ny-candDetailHead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.ny-reason {
  font-size: 1.3rem;
  color: #2C3A3E;
  background: #f1f5f4;
  border-radius: 0.8rem;
  padding: 1rem 1.4rem;
  margin-bottom: 1.6rem;
}

.ny-compareGrid {
  display: grid;
  grid-template-columns: 1fr 1fr 1.1fr;
  gap: 1.2rem;
  margin-bottom: 1.4rem;
}

.ny-recordCard {
  border: 1.5px solid #d9e3e5;
  border-radius: 1rem;
  overflow: hidden;
}
.ny-recordCard.is-golden {
  border-color: #f27405;
}
.ny-recordCard table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.15rem;
}
.ny-recordCard th {
  text-align: left;
  color: #7b8c93;
  font-weight: 600;
  padding: 0.5rem 0.9rem;
  width: 34%;
  vertical-align: top;
}
.ny-recordCard td {
  padding: 0.5rem 0.9rem;
  color: #182c37;
  font-weight: 600;
  word-break: break-all;
}
.ny-recordCard tr + tr th, .ny-recordCard tr + tr td {
  border-top: 1px solid #e6eff1;
}

.ny-recordCardTitle {
  font-size: 1.15rem;
  font-weight: 800;
  color: #182c37;
  background: #e6eff1;
  padding: 0.7rem 1rem;
}
.is-golden .ny-recordCardTitle {
  background: #f27405;
  color: #fff;
}

.ny-related {
  font-size: 1.25rem;
  color: #7b8c93;
  margin-bottom: 1.4rem;
}

.ny-relChip {
  background: #e6eff1;
  color: #114c5a;
  font-weight: 700;
  border-radius: 0.6rem;
  padding: 0.3rem 1rem;
  margin-left: 0.6rem;
  font-size: 1.15rem;
}

.ny-actionRow {
  display: flex;
  gap: 0.8rem;
}

.ny-decided {
  font-size: 1.2rem;
  color: #7b8c93;
  margin-top: 1rem;
}

/* ルールエディタ */
.ny-modalOverlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 39, 43, 0.5);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3rem;
}

/* ナヨセル: モーダルの薄暗幕はサイドメニューに重ねない（コンテンツ領域のみ覆う） */
html[data-brand=nayosel] body:has(.c-mainSideBar.expanded) .ny-modalOverlay {
  left: 22rem;
}

html[data-brand=nayosel] body:has(.c-mainSideBar.collapsed) .ny-modalOverlay {
  left: 7.2rem;
}

.ny-modal {
  background: #fff;
  border-radius: 1.6rem;
  width: 72rem;
  max-width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  padding: 2.8rem 3.2rem;
}

.ny-modalTitle {
  font-size: 1.8rem;
  font-weight: 800;
  color: #182c37;
  margin-bottom: 1.8rem;
}

.ny-field {
  display: block;
  margin-bottom: 1.4rem;
}
.ny-field span {
  display: block;
  font-size: 1.2rem;
  font-weight: 700;
  color: #182c37;
  margin-bottom: 0.5rem;
}
.ny-field input, .ny-field textarea {
  width: 100%;
  border: 1px solid #a8bfc4;
  border-radius: 0.8rem;
  padding: 1rem 1.2rem;
  font-size: 1.35rem;
  background: #FBFCFC;
  color: #0e2530;
  font-family: inherit;
}
.ny-field input:focus, .ny-field textarea:focus {
  outline: 2px solid #729097;
}

.ny-sql {
  font-family: Menlo, Consolas, monospace !important;
  font-size: 1.2rem !important;
  background: #182c37 !important;
  color: #E6F4F1 !important;
  border-color: #0e2530 !important;
}

.ny-entryTabs {
  display: flex;
  gap: 0.6rem;
  margin: 1.8rem 0 1.2rem;
}

.ny-entryTab {
  border: 1.5px solid #d9e3e5;
  background: #fff;
  color: #114c5a;
  cursor: pointer;
  border-radius: 0.8rem;
  padding: 0.8rem 1.8rem;
  font-size: 1.25rem;
  font-weight: 700;
}
.ny-entryTab.is-active {
  background: #182c37;
  color: #fff;
  border-color: #182c37;
}
.ny-entryTab.is-ai.is-active {
  background: #f27405;
  border-color: #f27405;
}

.ny-aiBox {
  background: #FFF7F1;
  border: 1.5px solid #F5C9A8;
  border-radius: 1rem;
  padding: 1.4rem 1.8rem;
  margin-bottom: 1.4rem;
  font-size: 1.25rem;
  color: #6B4A35;
}
.ny-aiBox p {
  margin-bottom: 0.8rem;
}

.ny-aiReason {
  color: #d96504;
  font-weight: 700;
}

.ny-note {
  font-size: 1.15rem;
  color: #7b8c93;
  margin-bottom: 1.2rem;
}
.ny-note--right {
  text-align: right;
  margin: 1rem 0 0;
}

.ny-modalFooter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 1.6rem;
}

.ny-statusSelect {
  font-size: 1.25rem;
  color: #182c37;
}
.ny-statusSelect select {
  margin-left: 0.6rem;
  border: 1px solid #a8bfc4;
  border-radius: 0.6rem;
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
}

/* 検索・チャート */
.ny-searchRow {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.6rem;
}

.ny-search {
  flex: 1;
  max-width: 48rem;
  border: 1px solid #a8bfc4;
  border-radius: 100px;
  padding: 1rem 1.8rem;
  font-size: 1.35rem;
  background: #fff;
}
.ny-search:focus {
  outline: 2px solid #729097;
}

.ny-barChart {
  display: flex;
  align-items: flex-end;
  gap: 2.4rem;
  padding: 1rem 0 0;
  min-height: 20rem;
}

.ny-barCol {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.ny-bar {
  width: 4.4rem;
  border-radius: 0.6rem 0.6rem 0 0;
  background: linear-gradient(180deg, #729097, #114c5a);
}

.ny-barValue {
  font-size: 1.2rem;
  font-weight: 800;
  color: #182c37;
}

.ny-barLabel {
  font-size: 1.1rem;
  color: #7b8c93;
}

/* サイドバー: リンク下線を消す（nayoselブランド時の体裁） */
html[data-brand=nayosel] .c-mainSideBar__menu,
html[data-brand=nayosel] .c-mainSideBar__menu * {
  text-decoration: none !important;
}

/* ============ 名寄せ（塊）ヘッダー・タブ ============ */
.ny-nayoseHeader {
  margin: -0.8rem 0 2rem;
}

.ny-nayoseHeader__top {
  display: flex;
  align-items: baseline;
  gap: 1.4rem;
  flex-wrap: wrap;
  margin-bottom: 1.2rem;
}

.ny-nayoseHeader__back {
  font-size: 1.2rem;
  font-weight: 700;
  color: #729097;
  text-decoration: none;
  white-space: nowrap;
}

.ny-nayoseHeader__title {
  font-size: 2rem;
  font-weight: 800;
  color: #182c37;
}

.ny-nayoseHeader__desc {
  font-size: 1.2rem;
  color: #7b8c93;
}

.ny-tabs {
  display: flex;
  gap: 0.4rem;
  border-bottom: 2px solid #d9e3e5;
  flex-wrap: wrap;
}

.ny-tab {
  padding: 0.9rem 1.6rem;
  font-size: 1.3rem;
  font-weight: 700;
  color: #7b8c93;
  text-decoration: none;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  white-space: nowrap;
}
.ny-tab:hover {
  color: #182c37;
}
.ny-tab.is-active {
  color: #182c37;
  border-bottom-color: #f27405;
}

/* ============ 名寄せ一覧カード ============ */
.ny-nayoseGrid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(36rem, 1fr));
  gap: 1.6rem;
}

.ny-nayoseCard {
  display: flex;
  gap: 1.6rem;
  align-items: flex-start;
  background: #fff;
  border: 1px solid #d9e3e5;
  border-radius: 1.4rem;
  padding: 2.2rem 2.4rem;
  text-decoration: none;
  transition: box-shadow 0.2s, transform 0.2s;
}
.ny-nayoseCard:hover {
  box-shadow: 0 10px 26px rgba(18, 52, 58, 0.13);
  transform: translateY(-2px);
}

.ny-nayoseCard__mark {
  flex-shrink: 0;
  width: 5.6rem;
  height: 5.6rem;
  border-radius: 1.2rem;
  background: #e6eff1;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ny-nayoseCard__name {
  font-size: 1.7rem;
  font-weight: 800;
  color: #182c37;
  margin-bottom: 0.4rem;
}

.ny-nayoseCard__desc {
  font-size: 1.25rem;
  color: #7b8c93;
  margin-bottom: 1.2rem;
  min-height: 1.8rem;
}

.ny-nayoseCard__stats {
  display: flex;
  gap: 1.6rem;
  flex-wrap: wrap;
}

.ny-nayoseCard__stat {
  font-size: 1.2rem;
  color: #7b8c93;
}
.ny-nayoseCard__stat b {
  color: #182c37;
  font-size: 1.4rem;
  margin-left: 0.3rem;
}
.ny-nayoseCard__stat.is-accent b {
  color: #d96504;
}

/* ============ マージ仕様 ============ */
.ny-specTable td {
  vertical-align: middle;
}

.ny-specInput {
  width: 100%;
  border: 1px solid #a8bfc4;
  border-radius: 0.7rem;
  padding: 0.7rem 1rem;
  font-size: 1.3rem;
  background: #FBFCFC;
  color: #0e2530;
}
.ny-specInput:focus {
  outline: 2px solid #729097;
}

.ny-specSelect {
  width: 100%;
  border: 1px solid #a8bfc4;
  border-radius: 0.7rem;
  padding: 0.7rem 1rem;
  font-size: 1.3rem;
  background: #fff;
  color: #182c37;
  font-weight: 600;
}

.ny-specReason {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.ny-radioCard {
  display: flex;
  gap: 1.2rem;
  align-items: flex-start;
  cursor: pointer;
  border: 1.5px solid #d9e3e5;
  border-radius: 1rem;
  padding: 1.4rem 1.6rem;
  margin-bottom: 1rem;
}
.ny-radioCard input {
  margin-top: 0.4rem;
  accent-color: #f27405;
}
.ny-radioCard b {
  font-size: 1.35rem;
  color: #182c37;
  display: flex;
  align-items: center;
}
.ny-radioCard p {
  font-size: 1.2rem;
  color: #7b8c93;
  margin-top: 0.4rem;
  line-height: 1.7;
}
.ny-radioCard.is-active {
  border-color: #182c37;
  background: #F7FAFA;
}

.ny-relationChips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.ny-relChip--removable {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  margin-left: 0;
}
.ny-relChip--removable button {
  border: none;
  background: none;
  color: #7b8c93;
  font-size: 1.3rem;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}

.ny-specFooter {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 2rem;
  margin-top: 0.8rem;
}
.ny-specFooter .ny-note {
  margin-bottom: 0;
}

.ny-savedNote {
  color: #1C7A55;
  font-size: 1.3rem;
  font-weight: 700;
  margin-bottom: 1.2rem;
}

/* ============ ナヨセルDB スキーマ定義 ============ */
.ny-schemaLayout {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 1.6rem;
  align-items: start;
}

.ny-schemaLayout--primaryLeft {
  /* スキーマ（左）は最低幅を保証し、右の長い名前に潰されない */
  grid-template-columns: minmax(58rem, 1.4fr) minmax(30rem, 1fr);
}

.ny-schemaTarget, .ny-schemaSource {
  min-width: 0;
}

.ny-schemaGroup {
  border: 1px solid #d9e3e5;
  border-radius: 1rem;
  margin-bottom: 1.2rem;
  overflow: hidden;
}

.ny-schemaGroupHead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #f1f5f4;
  padding: 0.9rem 1.4rem;
}
.ny-schemaGroupHead b {
  font-size: 1.3rem;
  color: #182c37;
}

.ny-schemaField {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.8rem 1.4rem;
  cursor: pointer;
  border-top: 1px solid #e6eff1;
  font-size: 1.3rem;
}
.ny-schemaField input {
  accent-color: #f27405;
}
.ny-schemaField:hover {
  background: #FBFCFC;
}
.ny-schemaField.is-added {
  opacity: 0.55;
  cursor: default;
}

.ny-schemaFieldName {
  color: #182c37;
  font-weight: 600;
}

.ny-schemaFieldApi {
  color: #93a8ae;
  font-size: 1.1rem;
  font-family: Menlo, Consolas, monospace;
}

.ny-schemaRow {
  display: grid;
  grid-template-columns: 3.2rem 1fr 3.4rem 1fr 10rem 8rem 6rem;
  gap: 0.8rem;
  align-items: center;
  padding: 0.7rem 0;
  border-bottom: 1px solid #e6eff1;
}

.ny-schemaConvert {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.ny-schemaConvert button {
  border: 1px solid #d9e3e5;
  background: #fff;
  color: #114c5a;
  border-radius: 0.5rem;
  font-size: 1.15rem;
  font-weight: 800;
  padding: 0.1rem 0;
  cursor: pointer;
  line-height: 1.4;
}
.ny-schemaConvert button:hover:not(:disabled) {
  background: #ffe9d5;
  color: #d96504;
  border-color: #F5C9A8;
}
.ny-schemaConvert button:disabled {
  opacity: 0.35;
  cursor: default;
}

.ny-schemaRowOrder {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.ny-schemaRowOrder button {
  border: 1px solid #d9e3e5;
  background: #fff;
  border-radius: 0.4rem;
  cursor: pointer;
  font-size: 0.9rem;
  color: #7b8c93;
  padding: 0.1rem 0;
}
.ny-schemaRowOrder button:disabled {
  opacity: 0.3;
  cursor: default;
}

.ny-schemaRowSource {
  font-size: 1.15rem;
  color: #93a8ae;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* ============ コネクタリソース選択 ============ */
.ny-resourceList {
  max-height: 26vh;
  overflow-y: auto;
  border: 1px solid #d9e3e5;
  border-radius: 0.8rem;
  background: #fff;
}

.ny-resourceItem {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  min-width: 0;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.9rem 1.4rem;
  font-size: 1.3rem;
  border-bottom: 1px solid #e6eff1;
}
.ny-resourceItem:hover {
  background: #F7FAFA;
}
.ny-resourceItem.is-active {
  background: #e6eff1;
  box-shadow: inset 3px 0 0 #f27405;
}

.ny-resourceItemName {
  color: #182c37;
  font-weight: 600;
  overflow-wrap: anywhere;
  min-width: 0;
}

.ny-resourceItem .ny-schemaFieldApi {
  flex-shrink: 1;
  max-width: 44%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ny-selectedRow .ny-resourceItemName {
  overflow-wrap: anywhere;
}

.ny-selectedRow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border: 1.5px solid #182c37;
  border-radius: 0.8rem;
  padding: 0.8rem 1.4rem;
  background: #F7FAFA;
}

/* ============ データ閲覧 ============ */
.ny-builderGrid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 2rem;
  align-items: start;
}

.ny-builderLabel {
  font-size: 1.25rem;
  font-weight: 700;
  color: #182c37;
  margin-bottom: 0.8rem;
}

.ny-fieldChips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.ny-fieldChip {
  border: 1.5px solid #d9e3e5;
  background: #fff;
  color: #7b8c93;
  cursor: pointer;
  border-radius: 100px;
  padding: 0.5rem 1.4rem;
  font-size: 1.2rem;
  font-weight: 700;
  font-family: Menlo, Consolas, monospace;
}
.ny-fieldChip.is-on {
  background: #182c37;
  border-color: #182c37;
  color: #fff;
}

.ny-filterRow {
  display: grid;
  grid-template-columns: 1.1fr 1fr 1.2fr auto;
  gap: 0.6rem;
  margin-bottom: 0.8rem;
  align-items: center;
}

.ny-sqlPreview {
  background: #182c37;
  color: #E6F4F1;
  font-family: Menlo, Consolas, monospace;
  font-size: 1.2rem;
  line-height: 1.7;
  border-radius: 0.8rem;
  padding: 1.2rem 1.4rem;
  white-space: pre-wrap;
  word-break: break-all;
  min-height: 10rem;
}

.ny-dataTableWrap {
  overflow-x: auto;
}

.ny-dataTable th {
  position: sticky;
  top: 0;
}
.ny-dataTable td {
  font-family: Menlo, Consolas, monospace;
  font-size: 1.2rem;
  white-space: nowrap;
  max-width: 32rem;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 名寄せ処理タブ: フロー俯瞰キャンバス＋名寄せサイドバー */
.ny-procCanvas {
  position: relative;
  height: 56rem;
  border: 1px solid #d9e3e5;
  border-radius: 1rem;
  background: #fff;
  overflow: hidden;
}
.ny-procCanvas .react-flow__attribution {
  display: none;
}

.ny-procNode {
  display: flex;
  align-items: center;
  gap: 1rem;
  border: 1px solid #114c5a;
  border-radius: 0.8rem;
  background: #fff;
  padding: 1.1rem 1.6rem;
  min-width: 22rem;
  box-shadow: 0 0.3rem 0.8rem rgba(17, 76, 90, 0.12);
}
.ny-procNode.is-draft {
  border-color: #f27405;
  box-shadow: 0 0.3rem 0.8rem rgba(242, 116, 5, 0.18);
}

.ny-procNode__name {
  font-size: 1.35rem;
  font-weight: 700;
  color: #182c37;
  white-space: nowrap;
}

.ny-procSide {
  width: 62rem;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  border: 1px solid #d9e3e5;
  border-radius: 1rem;
  background: #fff;
  max-height: 56rem;
  box-shadow: 0 0.5rem 1.4rem rgba(27, 53, 146, 0.1);
}

/* キャンバスの下に全幅で出す設定パネル（横2分割だと幅が足りないため） */
.ny-procSide--below {
  width: 100%;
  max-height: none;
  scroll-margin-top: 1.6rem;
}
.ny-procSide--below .ny-procSide__body {
  overflow-y: visible;
}

.ny-procSide__head {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.6rem 2rem 1rem;
}

.ny-procSide__close {
  border: none;
  background: transparent;
  cursor: pointer;
  flex-shrink: 0;
  font-size: 2rem;
  font-weight: 700;
  color: #7b8c93;
  line-height: 1;
}
.ny-procSide__close:hover {
  color: #182c37;
}

.ny-procSide__body {
  flex: 1;
  overflow-y: auto;
  padding: 0 2rem 1.2rem;
}

.ny-procSide__secHead {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  width: 100%;
  border: none;
  border-top: 1px solid #e6eff1;
  background: transparent;
  cursor: pointer;
  padding: 1.2rem 0.2rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #182c37;
  text-align: left;
}
.ny-procSide__secHead:hover {
  color: #114c5a;
}

.ny-procSide__secBody {
  padding: 0.2rem 0.2rem 1.6rem;
}

.ny-procSide__foot {
  display: flex;
  align-items: center;
  gap: 1rem;
  border-top: 1px solid #e6eff1;
  padding: 1.2rem 2rem;
}

/* 名寄せ処理ウィザード: ステップインジケータ */
.ny-wizSteps {
  display: flex;
  gap: 0.8rem;
  flex-wrap: wrap;
  margin-bottom: 2.4rem;
}

.ny-wizStep {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  border: 1.5px solid #d9e3e5;
  background: #fff;
  color: #7b8c93;
  border-radius: 100px;
  padding: 0.8rem 2rem;
  font-size: 1.3rem;
  font-weight: 700;
  cursor: pointer;
}
.ny-wizStep:disabled {
  opacity: 0.55;
  cursor: default;
}
.ny-wizStep.is-active {
  border-color: #114c5a;
  color: #114c5a;
  background: #fff;
  box-shadow: 0 0.3rem 0.8rem rgba(17, 76, 90, 0.18);
}
.ny-wizStep.is-done {
  border-color: #a8bfc4;
  color: #114c5a;
  background: #e6eff1;
}

.ny-wizStep__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 50%;
  background: #d9e3e5;
  color: #45606a;
  font-size: 1.15rem;
  font-weight: 700;
  flex-shrink: 0;
}

.ny-wizStep.is-active .ny-wizStep__num {
  background: #114c5a;
  color: #fff;
}

.ny-wizStep.is-done .ny-wizStep__num {
  background: #114c5a;
  color: #fff;
}

/* 名寄せのフロー一覧: フロー編集画面の縮小インライン表示（?embed=1 のiframe） */
.ny-flowEmbed {
  position: relative;
  overflow: hidden;
  border: 1px solid #d9e3e5;
  border-radius: 1rem;
  background: #f7fafa;
  height: 54rem;
}

.ny-flowEmbed__frame {
  display: block;
  border: 0;
  width: 161.2903225806%;
  height: 161.2903225806%;
  transform: scale(0.62);
  transform-origin: top left;
}

/* データ閲覧: 「表記ゆれを揃えた値」の差し込み列（ヘッダホバーのポップアップから追加） */
.ny-dataTable th:hover {
  z-index: 5;
}

.ny-normPop {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 40;
  width: 30rem;
  background: #fff;
  border: 1px solid #d9e3e5;
  border-radius: 0.8rem;
  box-shadow: 0 0.6rem 2rem rgba(24, 44, 55, 0.18);
  padding: 1rem 1.2rem;
  cursor: default;
  white-space: normal;
  text-align: left;
}

.ny-normPopBtn {
  display: block;
  width: 100%;
  border: none;
  cursor: pointer;
  background: #114c5a;
  color: #fff;
  font-weight: 700;
  font-size: 1.2rem;
  border-radius: 0.6rem;
  padding: 0.7rem 1rem;
  text-align: center;
}
.ny-normPopBtn:hover {
  background: #182c37;
}

.ny-normPopNote {
  margin: 0.7rem 0 0;
  font-size: 1.1rem;
  font-weight: 400;
  color: #7b8c93;
  line-height: 1.6;
}

.ny-normTh {
  background: #e2efec !important;
  color: #114c5a !important;
}
.ny-normTh .ny-normThClose {
  margin-left: 0.6rem;
  border: none;
  background: transparent;
  cursor: pointer;
  color: #7b8c93;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1;
}
.ny-normTh .ny-normThClose:hover {
  color: #d96504;
}

.ny-normTd {
  background: #f2f9f7;
  color: #114c5a;
}

/* ボタンの最小幅・潰れ防止 */
.ny-btn {
  white-space: nowrap;
  flex-shrink: 0;
}

.ny-btn--small {
  min-width: 6rem;
  justify-content: center;
}

/* サイドバーが広いコンテンツに圧縮されないように */
html[data-brand=nayosel] .c-mainSideBar {
  flex-shrink: 0;
}

/* サイドバー開閉トグル */
.c-mainSideBar__collapseToggle {
  align-self: flex-end;
  margin: 1rem 1rem 0 0;
  width: 2.6rem;
  height: 2.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: #c6d8dc;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.15s;
}
.c-mainSideBar__collapseToggle:hover {
  background: rgba(255, 255, 255, 0.18);
}

.c-mainSideBar.collapsed .c-mainSideBar__collapseToggle {
  align-self: center;
  margin-right: 0;
}

/* 概要の説明（Markdownプレビュー） */
.ny-markdown {
  font-size: 1.35rem;
  line-height: 1.9;
  color: #2C3A3E;
}
.ny-markdown h1, .ny-markdown h2, .ny-markdown h3 {
  color: #182c37;
  margin: 1.4rem 0 0.8rem;
  font-weight: 700;
}
.ny-markdown h1 {
  font-size: 1.8rem;
}
.ny-markdown h2 {
  font-size: 1.6rem;
}
.ny-markdown h3 {
  font-size: 1.45rem;
}
.ny-markdown p {
  margin-bottom: 1rem;
}
.ny-markdown ul, .ny-markdown ol {
  margin: 0 0 1rem 2rem;
}
.ny-markdown li {
  margin-bottom: 0.3rem;
}
.ny-markdown code {
  background: #e6eff1;
  border-radius: 0.4rem;
  padding: 0.1rem 0.6rem;
  font-family: Menlo, Consolas, monospace;
  font-size: 1.2rem;
}
.ny-markdown pre {
  background: #182c37;
  color: #E6F4F1;
  border-radius: 0.8rem;
  padding: 1.2rem 1.4rem;
  overflow-x: auto;
  margin-bottom: 1rem;
}
.ny-markdown pre code {
  background: none;
  color: inherit;
  padding: 0;
}
.ny-markdown a {
  color: #114c5a;
}
.ny-markdown blockquote {
  border-left: 3px solid #a8bfc4;
  padding-left: 1.2rem;
  color: #7b8c93;
  margin-bottom: 1rem;
}
.ny-markdown table {
  border-collapse: collapse;
  margin-bottom: 1rem;
}
.ny-markdown table th, .ny-markdown table td {
  border: 1px solid #d9e3e5;
  padding: 0.5rem 1rem;
}

/* ============ XDデザイン適用（NAYOSEL_画面デザイン.xd 忠実化・2026/8/11） ============ */
html[data-brand=nayosel] body,
html[data-brand=nayosel] button,
html[data-brand=nayosel] input,
html[data-brand=nayosel] select,
html[data-brand=nayosel] textarea {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}

/* ページ地は極薄グレー・カードが浮く */
html[data-brand=nayosel] .ny-page {
  background: #f7f9f9;
}

.ny-pageTitle {
  font-size: 3rem;
  letter-spacing: 0.12em;
  font-weight: 700;
}

.ny-pageLead {
  color: #5d7078;
}

/* パネル＝白カード＋青系の淡い影（XD: dropShadow 0 6 5 #1b3592 α.1〜.2） */
.ny-panel {
  border: none;
  box-shadow: 0 0.5rem 1.2rem rgba(27, 53, 146, 0.08);
}

.ny-kpiCard {
  border: none;
  box-shadow: 0 0.5rem 1.2rem rgba(27, 53, 146, 0.08);
}

.ny-tabIllust {
  border: none;
  box-shadow: 0 0.5rem 1.2rem rgba(27, 53, 146, 0.06);
}

.ny-table--list, .ny-lotTable {
  border: none;
  box-shadow: 0 0.5rem 1.2rem rgba(27, 53, 146, 0.08);
}

/* 名寄せタブ＝ピル型（XD: グレーピル・選択=白+影） */
.ny-tabs {
  border-bottom: none;
  gap: 0.8rem;
  padding-bottom: 0.4rem;
}

.ny-tab {
  background: #d9e3e5;
  color: #45606a;
  border-radius: 100px;
  border-bottom: none;
  margin-bottom: 0;
  padding: 0.9rem 2.2rem;
}
.ny-tab:hover {
  color: #182c37;
  background: #cfdde0;
}
.ny-tab.is-active {
  background: #fff;
  color: #182c37;
  border-bottom: none;
  box-shadow: 0 0.3rem 0.8rem rgba(27, 53, 146, 0.15);
  font-weight: 700;
}

/* 処理サブタブ＝上角丸タブ（XD: 20 20 0 0・選択=白） */
.ny-entryTab {
  border: none;
  background: #d9e3e5;
  color: #45606a;
  border-radius: 1.4rem 1.4rem 0 0;
  padding: 1rem 2.4rem;
}
.ny-entryTab.is-active {
  background: #fff;
  color: #182c37;
  box-shadow: 0 -0.2rem 0.8rem rgba(27, 53, 146, 0.08);
}

/* ボタン: ghost=白ピル+濃紺縁（XD: プレビュー/ゴミ箱の白ピル） */
.ny-btn--ghost {
  border: 1.5px solid #182c37;
  color: #182c37;
}

.ny-btn--primary {
  background: #182c37;
}

/* SQL・コード＝XDのダークエディタ #182c37 */
.ny-sql, .ny-sqlPreview, .ny-markdown pre {
  background: #182c37 !important;
  color: #f1f5f4 !important;
}

/* テーブルヘッダ帯 */
.ny-table thead th {
  background: #f1f5f4;
  color: #5d7078;
}

/* サイドバー（XD: #182c37地・アクティブ=白ピル＋濃紺の文字とアイコン） */
html[data-brand=nayosel] {
  /* 線画アイコン（fill属性なし）はベースCSSの白塗り強制を打ち消す */
}
html[data-brand=nayosel] .c-mainSideBar {
  background-color: #182c37;
}
html[data-brand=nayosel] .c-mainSideBar.expanded .c-mainSideBar__menu.active::before {
  border-radius: 100px;
}
html[data-brand=nayosel] .c-mainSideBar.collapsed .c-mainSideBar__menu.active::before {
  border-radius: 100px 0 0 100px;
}
html[data-brand=nayosel] .c-mainSideBar__menuIcon svg path:not([fill]) {
  fill: none;
}
html[data-brand=nayosel] .c-mainSideBar__menu.active .c-mainSideBar__menuLabel {
  color: #182c37 !important;
  font-weight: 700;
}
html[data-brand=nayosel] .c-mainSideBar__menu.active .c-mainSideBar__menuIcon svg path[fill]:not([fill=none]) {
  fill: #182c37 !important;
}
html[data-brand=nayosel] .c-mainSideBar__menu.active .c-mainSideBar__menuIcon svg path[stroke] {
  stroke: #182c37 !important;
}

/* XD実測の追い込み（8/11夜: ロゴ/タイトル/マルチタブ） */
.ny-pageTitle {
  font-size: 4.4rem;
  letter-spacing: 0.15em;
  line-height: 1.3;
}

.ny-pageLead {
  font-size: 1.5rem;
  letter-spacing: 0.1em;
}

.ny-panelHeader h2 {
  font-size: 1.8rem;
  letter-spacing: 0.08em;
}

.ny-entryTab {
  padding: 1.2rem 3rem;
  font-size: 1.5rem;
  font-weight: 700;
}

/* 系列トグル等のピルタブ: 非選択=白ピル+主色縁 / 選択=濃紺塗り（XD: 160x42 r100） */
.ny-bucketTab {
  background: #fff;
  border: 1.5px solid #114c5a;
  color: #182c37;
}

.ny-bucketTab.is-active {
  background: #182c37;
  border-color: #182c37;
  color: #fff;
}

/* サイドバー: XD実寸（幅280px・ロゴ大） */
html[data-brand=nayosel] .c-mainSideBar.expanded {
  width: 28rem;
}

html[data-brand=nayosel] .c-mainSideBar.expanded .c-mainSideBar__logo img {
  width: 22.6rem;
  max-width: 100%;
}

html[data-brand=nayosel] .c-mainSideBar.expanded .c-mainSideBar__logo {
  margin-bottom: 2.4rem;
}

/* タブ一体の白ボディ（XD: タブ下は1枚の大きな白パネル） */
.ny-tabBody {
  background: #fff;
  border-radius: 0 2rem 2rem 2rem;
  box-shadow: 0 0.6rem 1.5rem rgba(27, 53, 146, 0.08);
  padding: 2.4rem 2.8rem;
  margin-bottom: 2rem;
}
.ny-tabBody .ny-panel {
  border: none;
  box-shadow: none;
  padding: 0;
  background: transparent;
}

/* 効果レポートXD追い込み第2弾（ピルの立体影+三角・表の忠実化・グラフ配色） */
.ny-bucketTab {
  border: 1px solid #182c37;
  color: #182c37;
  box-shadow: 0 0.4rem 0 #114c5a;
  /* 選択中は下向き（▼）にする */
}
.ny-bucketTab.is-active {
  background: #182c37;
  border-color: #182c37;
  color: #f1f5f4;
  transform: translateY(0.4rem);
  box-shadow: none;
}
.ny-bucketTab.has-arrow::after {
  content: "";
  display: inline-block;
  margin-left: 0.8rem;
  vertical-align: middle;
  border-top: 0.4rem solid transparent;
  border-bottom: 0.4rem solid transparent;
  border-left: 0.6rem solid #114c5a;
}
.ny-bucketTab.has-arrow.is-active::after {
  border-left: 0.4rem solid transparent;
  border-right: 0.4rem solid transparent;
  border-top: 0.6rem solid #f1f5f4;
  border-bottom: none;
}

.ny-xdSelect {
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid #114c5a;
  border-radius: 100px;
  background-color: #fff;
  box-shadow: 0 0.2rem 0 #114c5a;
  color: #182c37;
  font-weight: 700;
  font-size: 1.5rem;
  padding: 0.9rem 4.2rem 0.9rem 2rem;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='10'%3E%3Cpath d='M0 0l8 5-8 5z' fill='%23114c5a'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.8rem center;
}

.ny-tableScroll {
  border: 1px solid #a8bfc4;
  border-radius: 1rem;
  overflow: hidden;
  max-height: 48.7rem;
  overflow-y: auto;
}
.ny-tableScroll::-webkit-scrollbar {
  width: 0.9rem;
}
.ny-tableScroll::-webkit-scrollbar-thumb {
  background: #114c5a;
  border-radius: 100px;
  border: 0.2rem solid #fff;
}
.ny-tableScroll::-webkit-scrollbar-track {
  background: transparent;
}

.ny-table--nayose thead th {
  background: #e6eff1;
  color: #182c37;
  font-weight: 500;
  font-size: 1.5rem;
  padding: 1.5rem 1.8rem;
}
.ny-table--nayose td {
  font-size: 1.5rem;
  color: #182c37;
  padding: 1.4rem 1.8rem;
  border-bottom: 1px solid #e6eff1;
}
.ny-table--nayose td a {
  font-weight: 500;
  text-decoration: none;
}
.ny-table--nayose tbody tr:hover td {
  background: #eef5f6;
}
.ny-table--nayose tbody tr:last-child td {
  border-bottom: none;
}

.ny-table--summary thead th {
  background: transparent;
  color: #182c37;
  font-weight: 700;
  font-size: 1.5rem;
  border-bottom: 1px solid #a8bfc4;
  padding: 1.2rem 1.2rem;
}
.ny-table--summary th, .ny-table--summary td {
  width: 20%;
}
.ny-table--summary td {
  font-size: 1.5rem;
  padding: 1.6rem 1.2rem;
  border-bottom: 1px solid #e6eff1;
}

.ny-barChart {
  position: relative;
  gap: 2rem;
  padding-bottom: 2.5rem;
  align-items: flex-end;
}
.ny-barChart::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2.4rem;
  border-top: 1px solid #a8bfc4;
}

.ny-bar {
  width: 3rem;
  border-radius: 0.5rem 0.5rem 0 0;
  background: #b4c5c9;
}

.ny-barCol {
  gap: 0.4rem;
}

.ny-barCol:nth-last-child(2) .ny-bar {
  background: #80a5ae;
}

.ny-barCol:last-child .ny-bar {
  background: #114c5a;
}

.ny-barValue {
  font-size: 1.7rem;
  font-weight: 700;
  color: #114c5a;
}

.ny-barLabel {
  font-size: 1.3rem;
  color: #114c5a;
}

/* 名寄せ一覧カードXD忠実化（横長506x112・常時影・ペン丸ボタン・サムネホバー・チェック削除） */
.ny-btn--raise {
  box-shadow: 0 0.4rem 0 #4a7d9a;
}
.ny-btn--raise:hover {
  opacity: 1;
  transform: translateY(0.2rem);
  box-shadow: 0 0.2rem 0 #4a7d9a;
}

.ny-btn--raiseGhost {
  background: #fff;
  color: #182c37;
  border: 1px solid #182c37;
  box-shadow: 0 0.4rem 0 #114c5a;
}
.ny-btn--raiseGhost:hover {
  opacity: 1;
  transform: translateY(0.2rem);
  box-shadow: 0 0.2rem 0 #114c5a;
}
.ny-btn--raiseGhost svg {
  color: #114c5a;
}

.ny-selectBar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #114c5a;
  color: #f1f5f4;
  border-radius: 0.6rem;
  padding: 1.6rem 3.2rem;
  margin-bottom: 1.6rem;
}
.ny-selectBar span {
  font-size: 1.8rem;
  font-weight: 700;
}
.ny-selectBar button {
  display: inline-flex;
  align-items: center;
  border: none;
  cursor: pointer;
  background: #fff;
  color: #182c37;
  font-weight: 700;
  font-size: 1.4rem;
  border-radius: 100px;
  padding: 0.8rem 2rem;
}
.ny-selectBar button svg {
  color: #114c5a;
}
.ny-selectBar button:hover {
  opacity: 0.88;
}

.ny-nayoseGrid {
  grid-template-columns: repeat(auto-fill, minmax(46rem, 1fr));
  gap: 1.5rem 2.1rem;
}

.ny-nayoseCard {
  position: relative;
  align-items: center;
  gap: 1.5rem;
  min-height: 11.2rem;
  padding: 1.6rem 2rem 1.6rem 1.5rem;
  border: none;
  border-radius: 1rem;
  box-shadow: 0 0.6rem 0.5rem rgba(27, 53, 146, 0.1);
  transition: box-shadow 0.15s;
}
.ny-nayoseCard:hover {
  transform: none;
  box-shadow: inset 0 0 0 2px #114c5a, 0 0.6rem 1rem rgba(27, 53, 146, 0.3);
}
.ny-nayoseCard.is-checked {
  background: #d9e3e5;
}

.ny-nayoseCard__check {
  appearance: none;
  -webkit-appearance: none;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  margin: 0;
  border-radius: 0.2rem;
  background: #f1f5f4;
  border: 1px solid #a8bfc4;
  cursor: pointer;
}
.ny-nayoseCard__check:checked {
  background: #182c37;
  border-color: #182c37;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10'%3E%3Cpath d='M1 5l3.5 3.5L11 1' stroke='%23fff' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}

.ny-nayoseCard__mark {
  position: relative;
  width: 8rem;
  height: 8rem;
  border-radius: 1rem;
  background: #f1f5f4;
  overflow: hidden;
}

.ny-nayoseCard__markHover {
  position: absolute;
  inset: 0;
  border-radius: 1rem;
  background: #114c5a;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 700;
  opacity: 0;
  transition: opacity 0.15s;
}
.ny-nayoseCard__markHover svg {
  color: #fff;
}

.ny-nayoseCard__mark:hover .ny-nayoseCard__markHover {
  opacity: 1;
}

.ny-nayoseCard__name {
  font-size: 1.6rem;
  font-weight: 700;
  margin-bottom: 0.2rem;
}

.ny-nayoseCard__desc {
  font-size: 1.2rem;
  margin-bottom: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 26rem;
}

.ny-nayoseCard__editBtn {
  position: relative;
  flex-shrink: 0;
  margin-left: auto;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  background: #e6eff1;
  color: #114c5a;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s, color 0.15s;
}
.ny-nayoseCard__editBtn:hover {
  background: #114c5a;
  color: #f1f5f4;
}
.ny-nayoseCard__editBtn::before {
  content: "";
  position: absolute;
  top: calc(100% + 0.3rem);
  left: 50%;
  transform: translateX(-50%);
  border-left: 0.7rem solid transparent;
  border-right: 0.7rem solid transparent;
  border-bottom: 0.8rem solid #182c37;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s;
  z-index: 5;
}
.ny-nayoseCard__editBtn::after {
  content: attr(data-tip);
  position: absolute;
  top: calc(100% + 1rem);
  left: 50%;
  transform: translateX(-50%);
  background: #182c37;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  white-space: nowrap;
  border-radius: 0.5rem;
  padding: 1rem 1.6rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s;
  z-index: 5;
}
.ny-nayoseCard__editBtn:hover::before, .ny-nayoseCard__editBtn:hover::after {
  opacity: 1;
}

/* カード名の上下中央（説明なし時に行送りで浮かないように） */
.ny-nayoseCard__name {
  margin-bottom: 0;
}

.ny-nayoseCard__desc {
  margin-top: 0.3rem;
  min-height: 0;
}

/* ============ 名寄せ詳細（概要）XD忠実化 ============ */
.ny-nayoseHeader {
  margin: -0.8rem 0 0;
}

.ny-nayoseHeader__top {
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 1.6rem;
}

.ny-nayoseHeader__title {
  font-size: 4.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.ny-backBtn {
  position: relative;
  flex-shrink: 0;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 100px;
  background: #cfe2e6;
  color: #114c5a;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}
.ny-backBtn:hover {
  background: #b9d3d9;
}
.ny-backBtn::before {
  content: "";
  position: absolute;
  top: calc(100% + 0.2rem);
  left: 50%;
  transform: translateX(-50%);
  border-left: 0.6rem solid transparent;
  border-right: 0.6rem solid transparent;
  border-bottom: 0.7rem solid #182c37;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s;
  z-index: 5;
}
.ny-backBtn::after {
  content: attr(data-tip);
  position: absolute;
  top: calc(100% + 0.8rem);
  left: 50%;
  transform: translateX(-50%);
  background: #182c37;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 700;
  white-space: nowrap;
  border-radius: 0.5rem;
  padding: 0.7rem 1.4rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s;
  z-index: 5;
}
.ny-backBtn:hover::before, .ny-backBtn:hover::after {
  opacity: 1;
}

.ny-delBtn {
  background: #d7e2e5;
  color: #182c37;
  font-size: 1.4rem;
  font-weight: 700;
  box-shadow: 0 0.4rem 0 #114c5a;
}
.ny-delBtn svg {
  color: #114c5a;
}
.ny-delBtn:hover {
  opacity: 1;
  transform: translateY(0.2rem);
  box-shadow: 0 0.2rem 0 #114c5a;
}

/* 詳細タブ = XD上角丸連結タブ（幅200・選択=白51px/非選択=グレー45px） */
.ny-tabs {
  gap: 1rem;
  padding-bottom: 0;
  align-items: flex-end;
}

.ny-tab {
  background: #c6d8dc;
  color: #114c5a;
  border-radius: 2rem 2rem 0 0;
  width: 20rem;
  padding: 1rem 0;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
}
.ny-tab:hover {
  background: #b7cdd2;
  color: #114c5a;
}
.ny-tab.is-active {
  background: #fff;
  color: #182c37;
  font-weight: 700;
  padding: 1.3rem 0;
  box-shadow: 0 -0.3rem 0.8rem rgba(27, 53, 146, 0.08);
}

.ny-tabBody--nayose {
  padding: 3.2rem 4rem 4rem;
}

/* さっそく活用する */
.ny-quickStart {
  background: #e6eff1;
  border-radius: 1rem;
  box-shadow: 0 0.3rem 0.3rem rgba(17, 76, 90, 0.25);
  padding: 2.4rem 2.8rem 3rem;
  margin-bottom: 4rem;
}

.ny-quickStart__head {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  margin-bottom: 2.2rem;
}
.ny-quickStart__head h2 {
  font-size: 2.4rem;
  font-weight: 700;
  color: #182c37;
}
.ny-quickStart__head p {
  font-size: 1.5rem;
  color: #182c37;
  margin: 0;
}

.ny-quickStart__sep {
  width: 1px;
  height: 3.4rem;
  background: #a8bfc4;
}

.ny-qsRow {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  margin-bottom: 1rem;
}
.ny-qsRow__bar {
  position: absolute;
  left: 16.5%;
  right: 16.5%;
  top: 50%;
  transform: translateY(-50%);
  height: 0.6rem;
  background: #c2d6db;
  overflow: hidden;
}
.ny-qsRow__bar span {
  display: block;
  height: 100%;
  background: #114c5a;
}

.ny-qsPill {
  position: relative;
  z-index: 1;
  justify-self: center;
  width: 23.9rem;
  max-width: 100%;
  height: 5.3rem;
  border-radius: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  background: #c2d6db;
  color: #114c5a;
  font-size: 2rem;
  font-weight: 700;
  box-shadow: 0 0 0.5rem #4298ac;
}
.ny-qsPill.is-done {
  background: #114c5a;
  color: #fff;
  box-shadow: 0 0 0.5rem rgba(18, 98, 116, 0.5);
}

.ny-qsCards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  align-items: stretch;
}

.ny-qsCard {
  background: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 0.3rem 0.25rem rgba(27, 53, 146, 0.1);
  padding: 1.6rem 2rem;
  min-height: 15.4rem;
}

.ny-qsItem {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.8rem 0;
}

.ny-qsNum {
  flex-shrink: 0;
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 100px;
  background: #182c37;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ny-qsLabel {
  font-size: 1.6rem;
  font-weight: 700;
  color: #182c37;
  text-decoration: none;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ny-qsLabel:hover {
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}
.ny-qsLabel.is-done {
  color: #728d9b;
}

.ny-qsChip {
  flex-shrink: 0;
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  border-radius: 100px;
  padding: 0.4rem 1.2rem;
  font-size: 1.3rem;
  font-weight: 700;
  background: #e6eff1;
  color: #114c5a;
  white-space: nowrap;
}
.ny-qsChip--done {
  background: #ffe9d5;
  color: #f27405;
}

/* XDセクション箱（枠#a8bfc4・ヘッダ帯#f1f6f8） */
.ny-secBox {
  border: 1px solid #a8bfc4;
  border-radius: 1rem;
  background: #fff;
  margin-bottom: 4rem;
}

.ny-secBox__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.6rem;
  background: #f1f6f8;
  border-radius: 1rem 1rem 0 0;
  padding: 2rem 3rem;
}
.ny-secBox__head h2 {
  font-size: 2rem;
  font-weight: 700;
  color: #182c37;
  margin: 0;
}

.ny-secBox__note {
  font-size: 1.3rem;
  color: #182c37;
}

.ny-secBox__body {
  padding: 0.4rem 0 1rem;
}

.ny-secBox__pad {
  padding: 2rem 3rem 2.4rem;
}

.ny-secBox__empty {
  font-size: 1.5rem;
  color: #729097;
  padding: 2rem 3rem 2.4rem;
  margin: 0;
}

.ny-btn--secHead {
  font-size: 1.2rem;
  padding: 0.9rem 2rem;
}

/* スケジュール行（XD: 名称+橙ピル+丸カレンダー・ホバー#eef5f6） */
.ny-schedRow {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  padding: 1.2rem 3rem;
  border-bottom: 1px solid #e6eff1;
}
.ny-schedRow:hover {
  background: #eef5f6;
}
.ny-schedRow:last-child {
  border-bottom: none;
}

.ny-schedRow__main {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.ny-schedRow__name {
  font-size: 1.6rem;
  color: #182c37;
  text-decoration: none;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ny-schedRow__name:hover {
  text-decoration: underline;
  text-underline-offset: 0.3rem;
}

.ny-schedRow__sub {
  font-size: 1.2rem;
  color: #729097;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ny-runPill {
  flex-shrink: 0;
  border: none;
  cursor: pointer;
  background: #f27405;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  border-radius: 100px;
  padding: 0.6rem 1.8rem;
  box-shadow: 0 0.3rem 0 #9a4a4a;
}
.ny-runPill:hover {
  transform: translateY(0.15rem);
  box-shadow: 0 0.15rem 0 #9a4a4a;
}
.ny-runPill:disabled {
  opacity: 0.5;
  cursor: default;
  transform: none;
}

.ny-circleBtn {
  position: relative;
  flex-shrink: 0;
  width: 3.7rem;
  height: 3.7rem;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  background: #d9e3e5;
  color: #182c37;
  box-shadow: 0 0.4rem 0 #114c5a;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ny-circleBtn:hover {
  background: #114c5a;
  color: #f1f5f4;
}
.ny-circleBtn::before {
  content: "";
  position: absolute;
  top: calc(100% + 0.4rem);
  left: 50%;
  transform: translateX(-50%);
  border-left: 0.7rem solid transparent;
  border-right: 0.7rem solid transparent;
  border-bottom: 0.8rem solid #182c37;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s;
  z-index: 6;
}
.ny-circleBtn::after {
  content: attr(data-tip);
  position: absolute;
  top: calc(100% + 1.1rem);
  right: -1rem;
  background: #182c37;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  white-space: nowrap;
  border-radius: 0.5rem;
  padding: 1rem 1.4rem;
  box-shadow: 0 0.3rem 0.3rem rgba(0, 0, 0, 0.16);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s;
  z-index: 6;
}
.ny-circleBtn:hover::before, .ny-circleBtn:hover::after {
  opacity: 1;
}

/* データ量パネルをXDセクション箱の見た目に */
.ny-secWrap {
  margin-bottom: 4rem;
}

.ny-secWrap .ny-panel {
  border: 1px solid #a8bfc4;
  box-shadow: none;
  border-radius: 1rem;
  padding: 0 0 2.4rem;
  margin-bottom: 0;
  background: #fff;
}

.ny-secWrap .ny-panelHeader {
  background: #f1f6f8;
  border-radius: 1rem 1rem 0 0;
  padding: 2rem 3rem;
  margin-bottom: 2rem;
}
.ny-secWrap .ny-panelHeader h2 {
  font-size: 2rem;
}

.ny-secWrap .ny-panel > *:not(.ny-panelHeader) {
  margin-left: 3rem;
  margin-right: 3rem;
}

/* 実行履歴チップ（XD配色） */
.ny-chip--xdBig {
  font-size: 1.3rem;
  font-weight: 700;
  padding: 0.4rem 1.4rem;
}

.ny-chip--kindNayose {
  background: #dfe8ff;
  color: #31479e;
}

.ny-chip--kindImport {
  background: #e0fbef;
  color: #319e6f;
}

.ny-chip--xdOk {
  background: #ffe9d5;
  color: #f27405;
}

/* タブ折返し禁止・さっそく活用するのはみ出し対策 */
.ny-tabs {
  flex-wrap: nowrap;
}

.ny-tab {
  width: auto;
  flex: 1 1 0;
  max-width: 20rem;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-left: 0.6rem;
  padding-right: 0.6rem;
}

.ny-quickStart {
  min-width: 0;
}

.ny-qsRow > * {
  min-width: 0;
}

.ny-qsCards > * {
  min-width: 0;
}

.ny-qsPill {
  width: 100%;
  max-width: 23.9rem;
  font-size: 1.8rem;
}

/* 手順ラベルは省略せず折返し */
.ny-qsItem {
  align-items: flex-start;
}

.ny-qsNum {
  margin-top: 0.1rem;
}

.ny-qsChip {
  margin-top: 0.1rem;
}

.ny-qsLabel {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
  line-height: 1.45;
}

/* さっそく活用する: XDの重なり構造（ピルがカード上辺に10px重なる）＋フォント縮小で折返し防止 */
.ny-qsRow {
  margin-bottom: -1rem;
  gap: 3rem;
}
.ny-qsRow__bar {
  left: 12.5%;
  right: 12.5%;
}

.ny-qsPill {
  height: 4.8rem;
  font-size: 1.6rem;
  box-shadow: 0 0 0.4rem #4298ac;
}

.ny-qsCards {
  gap: 3rem;
}

.ny-qsCard {
  padding: 2.6rem 1.6rem 1.4rem;
  min-height: 14rem;
}

.ny-qsItem {
  gap: 0.8rem;
  padding: 0.6rem 0;
  align-items: center;
}

.ny-qsNum {
  width: 2.2rem;
  height: 2.2rem;
  font-size: 1.3rem;
  margin-top: 0;
}

.ny-qsLabel {
  font-size: 1.4rem;
}

.ny-qsChip {
  font-size: 1.2rem;
  padding: 0.3rem 1rem;
  margin-top: 0;
}
.ny-qsChip svg {
  width: 9px;
  height: 9px;
}

/* 手順カード内を1行に収める微調整 */
.ny-qsNum {
  width: 2rem;
  height: 2rem;
  font-size: 1.2rem;
}

.ny-qsLabel {
  font-size: 1.3rem;
  letter-spacing: 0;
}

.ny-qsChip {
  font-size: 1.1rem;
  padding: 0.25rem 0.8rem;
}

.ny-qsCard {
  padding: 2.4rem 1.2rem 1.2rem;
}

.ny-qsItem {
  gap: 0.6rem;
}

/* 狭幅では外側余白を圧縮して手順ラベルの折返しを防ぐ（1920はXD原寸のまま） */
@media (max-width: 1650px) {
  html[data-brand=nayosel] .ny-page {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .ny-tabBody--nayose {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .ny-quickStart {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
  .ny-qsRow, .ny-qsCards {
    gap: 2rem;
  }
}
/* ============ スキーマ画面XD忠実化 ============ */
.ny-schemaIntro {
  position: relative;
  background: #e6eff1;
  border-radius: 1rem;
  box-shadow: 0 0.3rem 0.3rem rgba(17, 76, 90, 0.25);
  padding: 2.4rem 5rem 2.4rem 3rem;
  margin-bottom: 4rem;
}

.ny-schemaIntro__toggle {
  position: absolute;
  top: 2.4rem;
  right: 2rem;
  border: none;
  background: none;
  cursor: pointer;
}
.ny-schemaIntro__toggle svg {
  transition: transform 0.15s;
}
.ny-schemaIntro__toggle.is-open svg {
  transform: rotate(90deg);
}

.ny-schemaIntro__desc {
  font-size: 1.5rem;
  color: #182c37;
  line-height: 1.9;
  margin: 0;
}

.ny-schemaIntro__sep {
  border-top: 1px solid #c2d6db;
  margin: 2rem 0;
}

.ny-schemaIntro .ny-tabIllust {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  margin: 0;
  max-width: 100rem;
}

/* テーブルカード（枠#a8bfc4・r10） */
.ny-tblCard {
  border: 1px solid #a8bfc4;
  border-radius: 1rem;
  background: #fff;
  padding: 1.6rem 2.4rem;
  margin-bottom: 1.6rem;
}

.ny-tblCard__head {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  cursor: pointer;
}

.ny-roleChip {
  flex-shrink: 0;
  border-radius: 100px;
  padding: 0.4rem 1.4rem;
  font-size: 1.4rem;
  font-weight: 700;
  background: #e6eff1;
  color: #114c5a;
  white-space: nowrap;
}
.ny-roleChip.is-primary {
  background: #ffe9d5;
  color: #f27405;
}

.ny-tblCard__nameWrap {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  flex: 0 1 48rem;
  min-width: 0;
  cursor: default;
}

.ny-tblCard__name {
  width: 100%;
  font-weight: 500;
}

.ny-tblCard__sub {
  font-size: 1.2rem;
  color: #729097;
}

.ny-tblCard__arrow {
  flex-shrink: 0;
  color: #114c5a;
  font-size: 1.3rem;
}

/* XD入力（グレー地r6）とセレクト（白+硬影1px） */
.ny-xdInput {
  background: #f1f5f4;
  border: 1px solid #a8bfc4;
  border-radius: 0.6rem;
  font-size: 1.5rem;
  color: #182c37;
  padding: 0.9rem 1.2rem;
  width: 100%;
}
.ny-xdInput:focus {
  outline: none;
  border-color: #114c5a;
  background: #fff;
}

.ny-xdSelectSq {
  appearance: none;
  -webkit-appearance: none;
  background-color: #fff;
  border: 1px solid #114c5a;
  border-radius: 0.6rem;
  box-shadow: 0 0.1rem 0 #114c5a;
  color: #182c37;
  font-size: 1.5rem;
  padding: 0.8rem 3rem 0.8rem 1.2rem;
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='10'%3E%3Cpath d='M0 0l8 5-8 5z' fill='%23114c5a'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1.2rem center;
}

/* FilterCombo（ワードフィルタ付き選択リスト）のドロップダウン */
.ny-comboPop {
  position: absolute;
  top: calc(100% + 0.4rem);
  left: 0;
  min-width: 100%;
  width: max-content;
  max-width: 44rem;
  background: #fff;
  border: 1px solid #d9e3e5;
  border-radius: 0.8rem;
  box-shadow: 0 0.6rem 1.8rem rgba(24, 44, 55, 0.18);
  padding: 0.8rem;
  z-index: 60;
}

.ny-sysChip {
  display: inline-block;
  border-radius: 100px;
  padding: 0.2rem 1.2rem;
  font-size: 1.3rem;
  font-weight: 700;
  background: #e6eff1;
  color: #114c5a;
  white-space: nowrap;
}

.ny-delCircle {
  position: relative;
  flex-shrink: 0;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  background: #d9e3e5;
  color: #729097;
  box-shadow: 0 0.3rem 0 #114c5a;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ny-delCircle:hover {
  background: #114c5a;
  color: #f1f5f4;
}
.ny-delCircle::before {
  content: "";
  position: absolute;
  top: calc(100% + 0.2rem);
  left: 50%;
  transform: translateX(-50%);
  border-left: 0.6rem solid transparent;
  border-right: 0.6rem solid transparent;
  border-bottom: 0.7rem solid #182c37;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s;
  z-index: 6;
}
.ny-delCircle::after {
  content: attr(data-tip);
  position: absolute;
  top: calc(100% + 0.8rem);
  left: 50%;
  transform: translateX(-50%);
  background: #182c37;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 700;
  white-space: nowrap;
  border-radius: 0.5rem;
  padding: 0.6rem 1.2rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s;
  z-index: 6;
}
.ny-delCircle:hover::before, .ny-delCircle:hover::after {
  opacity: 1;
}

/* 列行 */
.ny-colRow {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 0.8rem 0.8rem;
  border-radius: 1rem;
}
.ny-colRow:hover {
  background: #eef5f6;
}
.ny-colRow .ny-schemaRowOrder {
  margin-top: 0.8rem;
}
.ny-colRow .ny-delCircle {
  margin-top: 0.6rem;
}
.ny-colRow .ny-xdSelectSq {
  margin-top: 0.1rem;
}

.ny-colRow__field {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.ny-colRow__sub {
  font-size: 1.1rem;
  color: #729097;
  padding-left: 0.2rem;
}

/* 移植パネル: 濃紺選択バー+フィールド行 */
.ny-srcBar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem;
  background: #114c5a;
  color: #f1f5f4;
  padding: 1rem 1.6rem;
  margin-top: 1.2rem;
  border-radius: 0.4rem;
}
.ny-srcBar span {
  font-size: 1.5rem;
  font-weight: 700;
}

.ny-srcBar__pill {
  border: 1px solid #182c37;
  background: #fff;
  color: #182c37;
  cursor: pointer;
  border-radius: 100px;
  padding: 0.5rem 1.4rem;
  font-size: 1.3rem;
  font-weight: 700;
  box-shadow: 0 0.3rem 0 rgba(0, 0, 0, 0.25);
}
.ny-srcBar__pill:hover {
  transform: translateY(0.15rem);
  box-shadow: 0 0.15rem 0 rgba(0, 0, 0, 0.25);
}
.ny-srcBar__pill:disabled {
  opacity: 0.5;
  cursor: default;
  transform: none;
}

.ny-srcList {
  max-height: 44vh;
  overflow-y: auto;
  margin-top: 0.4rem;
}
.ny-srcList::-webkit-scrollbar {
  width: 0.9rem;
}
.ny-srcList::-webkit-scrollbar-thumb {
  background: #114c5a;
  border-radius: 100px;
  border: 0.2rem solid #fff;
}

.ny-srcField {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  padding: 1.2rem 0.6rem;
  cursor: pointer;
  border-radius: 0.8rem;
}
.ny-srcField:hover {
  background: #eef5f6;
}
.ny-srcField.is-added {
  opacity: 0.55;
  cursor: default;
}

.ny-srcField__main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.ny-srcField__name {
  font-size: 1.5rem;
  font-weight: 700;
  color: #182c37;
  word-break: break-all;
}

.ny-srcField__sub {
  font-size: 1.2rem;
  color: #729097;
  word-break: break-all;
}

.ny-xdCheck {
  appearance: none;
  -webkit-appearance: none;
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  margin: 0;
  border-radius: 0.2rem;
  background: #f1f5f4;
  border: 1px solid #a8bfc4;
  cursor: pointer;
}
.ny-xdCheck:checked {
  background: #182c37;
  border-color: #182c37;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='10'%3E%3Cpath d='M1 5l3.5 3.5L11 1' stroke='%23fff' stroke-width='2' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
}
.ny-xdCheck:disabled {
  opacity: 0.5;
  cursor: default;
}

/* スキーマ概念図（XD実測: 見出しピル+吹き出し・名称/型ボックス・ミニテーブル・注記カード） */
.ny-schemaIllust {
  display: flex;
  align-items: flex-start;
  gap: 2rem;
  flex-wrap: wrap;
  padding-bottom: 0.6rem;
}

.ny-si-heading {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.9rem;
  background: #c6d8dc;
  border-radius: 1rem;
  padding: 0.8rem 1.8rem 0.8rem 1.2rem;
  font-size: 1.7rem;
  font-weight: 700;
  color: #114c5a;
  box-shadow: 0 0.6rem 0.5rem rgba(27, 53, 146, 0.2);
  margin-bottom: 2.2rem;
}
.ny-si-heading::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 2.6rem;
  border-left: 0.8rem solid transparent;
  border-right: 0.8rem solid transparent;
  border-top: 0.9rem solid #c6d8dc;
}

.ny-si-num {
  width: 2.2rem;
  height: 2.2rem;
  border-radius: 100px;
  background: #fff;
  color: #114c5a;
  font-size: 1.5rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.ny-si-pair {
  display: flex;
  gap: 0.3rem;
  margin-bottom: 0.7rem;
}

.ny-si-name {
  width: 11rem;
  height: 4.2rem;
  display: flex;
  align-items: center;
  padding: 0 1.2rem;
  background: #f1f5f4;
  border: 1px solid #a8bfc4;
  border-radius: 0.6rem;
  font-size: 1.5rem;
  color: #182c37;
}

.ny-si-type {
  width: 11.4rem;
  height: 4.1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1.3rem;
  background: #fff;
  border: 1px solid #114c5a;
  border-radius: 0.6rem;
  box-shadow: 0 0.1rem 0 #114c5a;
  font-size: 1.5rem;
  color: #182c37;
}
.ny-si-type::after {
  content: "";
  border-top: 0.5rem solid transparent;
  border-bottom: 0.5rem solid transparent;
  border-left: 0.7rem solid #114c5a;
}

.ny-si-tables {
  display: flex;
  gap: 1.1rem;
}

.ny-si-table {
  width: 18.1rem;
  min-height: 13.9rem;
  border: 1px solid #a8bfc4;
  border-radius: 1rem;
  background: #fff;
  overflow: hidden;
}
.ny-si-table__head {
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: 700;
  background: #e6eff1;
  color: #114c5a;
}
.ny-si-table__head.is-primary {
  background: #ffe9d5;
  color: #f27405;
}
.ny-si-table__row {
  margin: 0 1.4rem;
  padding: 1rem 0 0.3rem;
  border-bottom: 1px solid #a8bfc4;
  font-size: 1.3rem;
  color: #182c37;
}

.ny-si-note {
  position: relative;
  width: 19.1rem;
  min-height: 13.8rem;
  background: #c6d8dc;
  border-radius: 1rem;
  box-shadow: 0 0.6rem 0.5rem rgba(27, 53, 146, 0.2);
  padding: 1.8rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #114c5a;
  line-height: 1.9;
  display: flex;
  align-items: center;
}
.ny-si-note::before {
  content: "";
  position: absolute;
  right: 100%;
  top: 50%;
  transform: translateY(-50%);
  border-top: 0.8rem solid transparent;
  border-bottom: 0.8rem solid transparent;
  border-right: 1rem solid #c6d8dc;
}

.ny-si-offset {
  margin-top: 6.9rem;
}

/* フロー一覧（取り込み/出力）XD様式 */
.ny-listHead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 0 1.6rem;
}
.ny-listHead h2 {
  font-size: 2.4rem;
  font-weight: 700;
  color: #182c37;
}

.ny-svcChip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 11.9rem;
  height: 3.4rem;
  padding: 0 1.6rem;
  background: #fff;
  border-radius: 0.9rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #114c5a;
}

.ny-whitePill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #182c37;
  background: #fff;
  color: #182c37;
  cursor: pointer;
  border-radius: 100px;
  padding: 0.55rem 2rem;
  font-size: 1.5rem;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 0.2rem 0 #114c5a;
}
.ny-whitePill:hover {
  transform: translateY(0.1rem);
  box-shadow: 0 0.1rem 0 #114c5a;
}
.ny-whitePill:disabled {
  opacity: 0.5;
  cursor: default;
  transform: none;
}

.ny-flowTable thead th {
  border-bottom: 1px solid #a8bfc4;
  border-top: 1px solid #a8bfc4;
  padding: 1.6rem 1.2rem;
}
.ny-flowTable td {
  padding: 1.4rem 1.2rem;
}
.ny-flowTable tbody tr:hover td {
  background: #eef5f6;
}
.ny-flowTable .ny-runPill {
  box-shadow: 0 0.2rem 0 #9a4a4a;
}

.ny-whitePill {
  white-space: nowrap;
}

/* 承認タブXD様式 */
.ny-qIllustBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15.7rem;
  height: 6.4rem;
  border-radius: 1rem;
  background: #c6d8dc;
  color: #114c5a;
  font-size: 1.4rem;
  font-weight: 700;
  box-shadow: 0 0.6rem 0.5rem rgba(27, 53, 146, 0.2);
}
.ny-qIllustBtn.is-approve {
  background: #ffe9d5;
  color: #f27405;
}

.ny-lotChip {
  display: inline-block;
  border-radius: 100px;
  padding: 0.4rem 1.6rem;
  font-size: 1.4rem;
  font-weight: 700;
  background: #e6eff1;
  color: #114c5a;
  white-space: nowrap;
}
.ny-lotChip.is-approved {
  background: #ffe9d5;
  color: #f27405;
}

.ny-detailPill {
  display: inline-block;
  border-radius: 100px;
  padding: 0.5rem 1.6rem;
  background: #e6eff1;
  color: #114c5a;
  font-size: 1.3rem;
  white-space: nowrap;
}
.ny-lotRow:hover .ny-detailPill {
  background: #114c5a;
  color: #f1f5f4;
}

.ny-lotRow {
  cursor: pointer;
}

/* 名寄せ処理タブ: ＋追加丸ボタン */
.ny-addTabBtn {
  position: relative;
  flex-shrink: 0;
  align-self: center;
  width: 3.4rem;
  height: 3.4rem;
  border-radius: 100px;
  border: none;
  cursor: pointer;
  background: #d9e3e5;
  color: #114c5a;
  font-size: 1.8rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ny-addTabBtn:hover {
  background: #114c5a;
  color: #f1f5f4;
}
.ny-addTabBtn::after {
  content: attr(data-tip);
  position: absolute;
  top: calc(100% + 0.6rem);
  left: 50%;
  transform: translateX(-50%);
  background: #182c37;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  white-space: nowrap;
  border-radius: 0.5rem;
  padding: 0.5rem 1.2rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s;
  z-index: 6;
}
.ny-addTabBtn:hover::after {
  opacity: 1;
}

/* データ閲覧: XDピル型項目チップ */
.ny-xdChip {
  border: 1px solid #114c5a;
  background: #fff;
  color: #114c5a;
  cursor: pointer;
  border-radius: 100px;
  padding: 0.35rem 1.4rem;
  font-size: 1.3rem;
  font-weight: 700;
}
.ny-xdChip:hover {
  background: #eef5f6;
}
.ny-xdChip.is-on {
  background: #182c37;
  border-color: #182c37;
  color: #fff;
}

.ny-fieldChips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  max-height: 22rem;
  overflow-y: auto;
}
.ny-fieldChips::-webkit-scrollbar {
  width: 0.8rem;
}
.ny-fieldChips::-webkit-scrollbar-thumb {
  background: #114c5a;
  border-radius: 100px;
}

/* 名寄せヘッダ: 長名でもボタンは右上に固定 */
.ny-nayoseHeader__top {
  flex-wrap: nowrap;
  align-items: flex-start;
}

.ny-nayoseHeader__top .ny-backBtn {
  margin-top: 1rem;
}

.ny-nayoseHeader__title {
  line-height: 1.35;
  word-break: break-word;
}

.ny-nayoseHeader__top > div:last-child {
  margin-top: 1.2rem;
}

/* ============ 文字スケールをPassworkに合わせる（8/13サトシ指示: 全体的に文字が大きい） ============ */
/* ページタイトル: 44px→Passworkの見出し感へ */
.ny-pageTitle {
  font-size: 2.4rem;
  letter-spacing: 0.08em;
}

.ny-pageLead {
  font-size: 1.3rem;
}

.ny-nayoseHeader__title {
  font-size: 2.4rem;
  letter-spacing: 0.06em;
}

.ny-backBtn {
  width: 3.4rem;
  height: 3.4rem;
}

.ny-nayoseHeader__top .ny-backBtn {
  margin-top: 0.2rem;
}

.ny-nayoseHeader__top > div:last-child {
  margin-top: 0;
}

/* サイドバー: Passworkと同寸へ戻す */
html[data-brand=nayosel] .c-mainSideBar.expanded {
  width: 22rem;
}

html[data-brand=nayosel] .c-mainSideBar.expanded .c-mainSideBar__logo img {
  width: 18.2rem;
}

/* タブ・ボタン */
.ny-tab {
  font-size: 1.35rem;
  padding: 0.8rem 0;
}
.ny-tab.is-active {
  padding: 1rem 0;
}

.ny-entryTab {
  font-size: 1.3rem;
  padding: 0.9rem 2.2rem;
}

.ny-btn {
  font-size: 1.25rem;
}

.ny-runPill {
  font-size: 1.25rem;
}

.ny-whitePill {
  font-size: 1.3rem;
}

.ny-detailPill {
  font-size: 1.2rem;
}

.ny-lotChip {
  font-size: 1.2rem;
  padding: 0.3rem 1.3rem;
}

.ny-roleChip {
  font-size: 1.2rem;
}

/* FilterCombo（ワードフィルタ付き選択リスト）のドロップダウン */
.ny-comboPop {
  position: absolute;
  top: calc(100% + 0.4rem);
  left: 0;
  min-width: 100%;
  width: max-content;
  max-width: 44rem;
  background: #fff;
  border: 1px solid #d9e3e5;
  border-radius: 0.8rem;
  box-shadow: 0 0.6rem 1.8rem rgba(24, 44, 55, 0.18);
  padding: 0.8rem;
  z-index: 60;
}

.ny-sysChip {
  font-size: 1.15rem;
}

.ny-xdChip {
  font-size: 1.2rem;
}

/* セクション・パネル見出し */
.ny-secBox__head h2 {
  font-size: 1.6rem;
}

.ny-secBox__note {
  font-size: 1.2rem;
}

.ny-secBox__empty {
  font-size: 1.3rem;
}

.ny-panelHeader h2 {
  font-size: 1.5rem;
}

.ny-listHead h2 {
  font-size: 1.8rem;
}

.ny-quickStart__head h2 {
  font-size: 1.8rem;
}

.ny-quickStart__head p {
  font-size: 1.3rem;
}

.ny-schemaIntro__desc {
  font-size: 1.3rem;
  line-height: 1.8;
}

/* 表・行・入力 */
.ny-table--summary th, .ny-table--summary td {
  font-size: 1.3rem;
}
.ny-table--summary thead th {
  font-size: 1.25rem;
}

.ny-table--nayose thead th {
  font-size: 1.3rem;
  padding: 1.2rem 1.6rem;
}
.ny-table--nayose td {
  font-size: 1.3rem;
  padding: 1.1rem 1.6rem;
}

.ny-schedRow__name {
  font-size: 1.35rem;
}

.ny-schedRow__sub {
  font-size: 1.15rem;
}

.ny-xdInput {
  font-size: 1.3rem;
  padding: 0.7rem 1.1rem;
}

.ny-xdSelectSq {
  font-size: 1.3rem;
  padding: 0.7rem 2.8rem 0.7rem 1.1rem;
}

.ny-xdSelect {
  font-size: 1.3rem;
  padding: 0.8rem 3.8rem 0.8rem 1.8rem;
}

.ny-srcField__name {
  font-size: 1.3rem;
}

.ny-srcField__sub {
  font-size: 1.15rem;
}

.ny-srcBar span {
  font-size: 1.3rem;
}

.ny-srcBar__pill {
  font-size: 1.2rem;
}

.ny-builderLabel {
  font-size: 1.25rem !important;
}

/* さっそく活用する */
.ny-qsPill {
  font-size: 1.4rem;
  height: 4.2rem;
}

.ny-qsLabel {
  font-size: 1.3rem;
}

.ny-qsNum {
  width: 2rem;
  height: 2rem;
  font-size: 1.2rem;
}

.ny-qsChip {
  font-size: 1.1rem;
}

/* 一覧カード・効果レポート */
.ny-nayoseCard__name {
  font-size: 1.45rem;
}

.ny-barValue {
  font-size: 1.4rem;
}

.ny-barLabel {
  font-size: 1.15rem;
}

.ny-bucketTab {
  font-size: 1.25rem !important;
  padding: 0.6rem 1.6rem;
}

.ny-tblCard__name {
  font-size: 1.3rem;
}

.ny-tblCard__sub {
  font-size: 1.15rem;
}

.ny-selectBar span {
  font-size: 1.5rem;
}

/* ナヨセル: 実行履歴・プロファイル一覧の俯瞰性向上（フォントを他画面に合わせて縮小） */
html[data-brand=nayosel] .c-result__main {
  font-size: 1.25rem;
}
html[data-brand=nayosel] .c-result__main p, html[data-brand=nayosel] .c-result__main span:not(.ny-lotChip), html[data-brand=nayosel] .c-result__main a, html[data-brand=nayosel] .c-result__main td, html[data-brand=nayosel] .c-result__main th, html[data-brand=nayosel] .c-result__main li, html[data-brand=nayosel] .c-result__main div {
  font-size: 1.25rem !important;
}
html[data-brand=nayosel] .c-result__main .ny-btn {
  font-size: 1.15rem !important;
}

html[data-brand=nayosel] .c-user__main {
  font-size: 1.25rem;
}
html[data-brand=nayosel] .c-user__main p, html[data-brand=nayosel] .c-user__main span, html[data-brand=nayosel] .c-user__main a, html[data-brand=nayosel] .c-user__main td, html[data-brand=nayosel] .c-user__main th, html[data-brand=nayosel] .c-user__main li {
  font-size: 1.25rem !important;
}

/* 名寄せの実施 結果詳細: 段のタイムライン */
.ny-runTimeline {
  padding: 0.4rem 0;
}

.ny-runStage {
  display: flex;
  gap: 1.4rem;
}

.ny-runStage__rail {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 1.6rem;
  flex-shrink: 0;
}

.ny-runStage__dot {
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 50%;
  background: #a8bfc4;
  margin-top: 0.5rem;
  flex-shrink: 0;
}

.ny-runStage.is-succeeded .ny-runStage__dot {
  background: #1C7A55;
}

.ny-runStage.is-failed .ny-runStage__dot {
  background: #B3261E;
}

.ny-runStage.is-running .ny-runStage__dot {
  background: #f27405;
}

.ny-runStage__line {
  width: 2px;
  flex: 1;
  background: #d9e3e5;
  min-height: 1.6rem;
}

.ny-runStage__body {
  padding-bottom: 1.8rem;
  min-width: 0;
  flex: 1;
}

/* react_front/src/styles/brands/_nayosel.scss */
/* ナヨセル：墨色スレートティール × コーラルオレンジ（FREEDOM Xトーン） */
/* ====== コネクタナレッジ エディタ ====== */
.c-knowledge {
  /* --- タブ切り替え --- */
  /* --- 編集ラッパー --- */
  /* --- テキストエリア --- */
  /* --- ツールバー --- */
  /* --- プレビュー --- */
}
.c-knowledge__editor {
  border: 1px solid #E7E9ED;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.c-knowledge__tabs {
  display: flex;
  border-bottom: 1px solid #E7E9ED;
  background: #f8f9fc;
}
.c-knowledge__tab {
  padding: 0.8rem 2.4rem;
  font-size: 1.3rem;
  font-weight: 500;
  color: #666;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s;
}
.c-knowledge__tab:hover {
  color: #16363C;
}
.c-knowledge__tab--active {
  color: #16363C;
  border-bottom-color: #16363C;
  background: #fff;
}
.c-knowledge__editWrap {
  display: flex;
  flex-direction: column;
}
.c-knowledge__textarea {
  width: 100%;
  min-height: 50vh;
  border: none;
  outline: none;
  padding: 1.6rem;
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
  font-size: 1.3rem;
  line-height: 1.7;
  resize: vertical;
  box-sizing: border-box;
  color: #474D60;
  background: #fff;
}
.c-knowledge__textarea::placeholder {
  color: #aab;
}
.c-knowledge__toolbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.2rem;
  padding: 0.5rem 1rem;
  border-top: 1px solid #E7E9ED;
  background: #f8f9fc;
}
.c-knowledge__toolBtn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  border: none;
  background: transparent;
  border-radius: 4px;
  cursor: pointer;
  color: #333;
  font-size: 1.5rem;
  line-height: 1;
  transition: background 0.12s;
}
.c-knowledge__toolBtn:hover {
  background: rgba(22, 54, 60, 0.1);
}
.c-knowledge__toolBtn span {
  display: inline-block;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.6rem;
}
.c-knowledge__toolBtn svg {
  display: block;
}
.c-knowledge__preview {
  min-height: 50vh;
  padding: 2rem;
  font-size: 1.4rem;
  line-height: 1.8;
  color: #474D60;
  overflow-y: auto;
}
.c-knowledge__preview h1 {
  font-size: 2.2rem;
  font-weight: 700;
  margin: 1.6rem 0 0.8rem;
  border-bottom: 1px solid #E7E9ED;
  padding-bottom: 0.4rem;
}
.c-knowledge__preview h2 {
  font-size: 1.8rem;
  font-weight: 700;
  margin: 1.4rem 0 0.6rem;
  border-bottom: 1px solid #eee;
  padding-bottom: 0.3rem;
}
.c-knowledge__preview h3 {
  font-size: 1.5rem;
  font-weight: 700;
  margin: 1.2rem 0 0.4rem;
}
.c-knowledge__preview h4, .c-knowledge__preview h5, .c-knowledge__preview h6 {
  font-size: 1.4rem;
  font-weight: 700;
  margin: 1rem 0 0.4rem;
}
.c-knowledge__preview p {
  margin: 0.6rem 0;
}
.c-knowledge__preview ul, .c-knowledge__preview ol {
  margin: 0.6rem 0;
  padding-left: 2.4rem;
}
.c-knowledge__preview li {
  margin: 0.3rem 0;
}
.c-knowledge__preview blockquote {
  margin: 0.8rem 0;
  padding: 0.6rem 1.2rem;
  border-left: 4px solid #16363C;
  background: #f6f8fd;
  color: #555;
}
.c-knowledge__preview code {
  background: #f0f2f5;
  padding: 0.2rem 0.5rem;
  border-radius: 4px;
  font-family: "SFMono-Regular", Consolas, monospace;
  font-size: 0.9em;
}
.c-knowledge__preview pre {
  margin: 0.8rem 0;
  padding: 1.2rem;
  background: #1e2330;
  color: #e0e6f0;
  border-radius: 6px;
  overflow-x: auto;
}
.c-knowledge__preview pre code {
  background: none;
  padding: 0;
  color: inherit;
  font-size: 1.3rem;
}
.c-knowledge__preview hr {
  border: none;
  border-top: 1px solid #ddd;
  margin: 1.2rem 0;
}
.c-knowledge__preview a {
  color: #16363C;
  text-decoration: underline;
}
.c-knowledge__preview del {
  color: #999;
}
.c-knowledge__preview strong {
  font-weight: 700;
}
.c-knowledge__table {
  width: 100%;
  border-collapse: collapse;
  margin: 0.8rem 0;
  font-size: 1.3rem;
}
.c-knowledge__table th, .c-knowledge__table td {
  border: 1px solid #ddd;
  padding: 0.6rem 1rem;
  text-align: left;
}
.c-knowledge__table th {
  background: #f0f3fa;
  font-weight: 600;
}
.c-knowledge__table tr:nth-child(even) td {
  background: #fafbfd;
}
