@charset "UTF-8";
*, *::before, *::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  background: #fff;
}

:where([hidden]:not([hidden=until-found])) {
  display: none !important;
}

:where(html) {
  -webkit-text-size-adjust: none;
  color-scheme: dark light;
}

@supports not (min-block-size: 100dvb) {
  :where(html) {
    block-size: 100%;
  }
}
@media (prefers-reduced-motion: no-preference) {
  :where(html:focus-within) {
    scroll-behavior: smooth;
  }
}
:where(body) {
  block-size: 100%;
  block-size: 100dvb;
  line-height: 1.5;
  font-family: system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}

:where(input, button, textarea, select) {
  font: inherit;
  color: inherit;
}

:where(textarea) {
  resize: vertical;
  resize: block;
}

:where(button, label, select, summary, [role=button], [role=option]) {
  cursor: pointer;
}

:where(:disabled) {
  cursor: not-allowed;
}

:where(label:has(> input:disabled), label:has(+ input:disabled)) {
  cursor: not-allowed;
}

:where(button) {
  border-style: solid;
}

:where(a) {
  text-underline-offset: 0.2ex;
}

:where(ul, ol) {
  list-style: none;
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
  display: block;
}

:where(img, picture, svg) {
  max-inline-size: 100%;
  block-size: auto;
}

:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

:where(h1, h2, h3) {
  line-height: calc(1em + 0.5rem);
}

:where(hr) {
  border: none;
  border-block-start: 1px solid;
  color: inherit;
  block-size: 0;
  overflow: visible;
}

:where(:focus-visible) {
  outline: 2px solid var(--focus-color, Highlight);
  outline-offset: 2px;
}

:where(.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden)) {
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  border: 0 !important;
}

*,
html {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400;
  font-style: normal;
  position: relative;
}

/*
* 全体レイアウト
*---------------------------------*/
.wrapper {
  position: relative;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
.wrapper .main_contents {
  margin: 0;
  padding: 3em 4em;
  background: #fafafa;
}
.wrapper .main_contents .contents_inner {
  margin: 0 auto 32px auto;
  padding: 2em;
  width: 100%;
  background: #fff;
  border-radius: 10px;
  border-top: 1px solid #eee;
  border-left: 1px solid #eee;
  border-right: 1px solid #e4e3e3;
  border-bottom: 2px solid #ddd;
}
.wrapper .main_contents .contents_inner.data_area {
  border-top: 1px solid #e0e0e0;
  border-left: 1px solid #e0e0e0;
  border-right: 2px solid #dedede;
  border-bottom: 3px solid #ddd;
}

/*
* 確認ダイアログオーバーレイ
*---------------------------------*/
.swal-overlay {
  background: rgba(0, 0, 0, 0.5);
}

/*
* 設定画面レイアウト
*---------------------------------*/
.setting-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
.setting-wrapper .main_contents {
  margin: 0;
  padding: 3em;
  flex: 1;
  order: 2;
  background: #f2f3f4;
}
.setting-wrapper .main_contents .contents_inner {
  margin: 0 auto 32px auto;
  padding: 3em;
  width: 80%;
  background: #fff;
  border-radius: 10px;
}
.setting-wrapper .side_contents {
  margin: 24px 0 0 0;
  padding: 0 0 0 1.6em;
  width: 320px;
  order: 1;
}

/*
* 【マスターデータ確認】テーブル部分スクロール用設定
*--------------------------------------------*/
#scrollContainer {
  width: 100%;
  height: 100%;
  overflow-x: auto;
  white-space: nowrap;
  /* border: 1px solid black; */
  cursor: grab;
}
#scrollContainer.dragging {
  cursor: grabbing;
}

#scrollContents {
  width: 100%;
  height: 100%;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.table_info {
  margin: 16px auto 0 auto;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
  color: #333;
  text-align: right;
}

/*
* ヘッダーバー
*---------------------------------*/
header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0 1.5em;
  width: 100%;
  height: 80px;
  border-bottom: 1px solid #ddd;
  background: #fff;
  z-index: 1;
  filter: drop-shadow(0 3px 4px rgba(0, 0, 0, 0.1));
}
header .site_logo {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  width: 54%;
  height: 100%;
}
header .site_logo > img {
  width: 32%;
}
header .login_user {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  width: 30%;
  height: 100%;
}
header .login_user .user_info_area {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
header .login_user .user_info_area .user_name {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  color: #333;
}
header .login_user .user_info_area .user_name .area_title {
  display: inline-block;
  margin: 0 16px 0 0;
  padding: 0.2em 0;
  width: 36%;
  font-size: 0.84rem;
  color: #222;
  text-align: center;
  background: #fff;
  border: 1px solid #ddd;
}
header .login_user .user_info_area .last_login {
  margin: 2px 0 0 0;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
  color: #333;
}
header .login_user .user_info_area .last_login .area_title {
  display: inline-block;
  margin: 0 16px 0 0;
  padding: 0.3em 0;
  width: 36%;
  font-size: 0.84rem;
  color: #222;
  text-align: center;
  background: #fff;
  border: 1px solid #ddd;
}
header .logout_button {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  width: 16%;
  height: 100%;
}
header .logout_button .logout_link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 80%;
  height: 40px;
  font-size: 0.9rem;
  color: #666;
  text-decoration: none;
  border: 1px solid #ddd;
  border-radius: 4px;
  overflow: hidden;
}
header .logout_button .logout_link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #27acd9;
  transform: translateX(-100%);
  transition: all 0.3s;
  z-index: -1;
}
header .logout_button .logout_link:hover::before {
  transform: translateX(0);
}
header .logout_button .logout_link:hover {
  color: #fff;
  border: 1px solid #27acd9;
}

footer {
  margin: 0 auto;
  padding: 2em 0;
  width: 100%;
  background: #f5f4f4;
}
footer .footer_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0;
  width: 90%;
}
footer .footer_inner .logo_area {
  margin: 0;
  padding: 0;
  width: 30%;
}
footer .footer_inner .logo_area > img {
  width: 50%;
}
footer .footer_inner .menu_area {
  margin: 0;
  padding: 0;
  width: 30%;
}
footer .footer_inner .menu_area .menu_list {
  margin: 0 0 8px 0;
  padding: 0;
  width: 100%;
}
footer .footer_inner .menu_area .menu_list > a {
  font-size: 0.94rem;
  color: #000;
  text-decoration: none;
}
footer .footer_inner .menu_area .menu_list > a::before {
  content: "\f013";
  margin-right: 4px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
}

/*
* フォームアクションボタン
*--------------------------------------------*/
.action_btn_area {
  margin: 48px auto 0 auto;
  padding: 0;
  width: 100%;
}
.action_btn_area .confirm_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 50%;
  height: 60px;
  font-size: 1.2rem;
  font-weight: 500;
  color: #27acd9;
  background: #fff;
  border: 2px solid #27acd9;
  border-radius: 100vh;
  cursor: pointer;
  transition: 0.5s;
}
.action_btn_area .confirm_btn:hover {
  color: #fff;
  background: #27acd9;
}
.action_btn_area .send_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 50%;
  height: 60px;
  font-size: 1.2rem;
  font-weight: 500;
  color: #b43fbf;
  background: #fff;
  border: 2px solid #b43fbf;
  border-radius: 100vh;
  cursor: pointer;
  transition: 0.5s;
}
.action_btn_area .send_btn:hover {
  color: #fff;
  background: #b43fbf;
}

/*
* ページネーション
*---------------------------------*/
.pagination {
  margin: 40px auto 60px auto;
  padding: 0;
  width: 100%;
  text-align: center;
}
.pagination a,
.pagination span {
  display: inline-block;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  padding: 0.4em 0.8em;
  font-size: 1.1rem;
}
.pagination li {
  display: inline-block;
  margin: 0 0.2em;
}
.pagination li > a {
  border: 1px solid #e6e6e6;
}
.pagination li > a.current {
  background-color: #f00;
  color: #fff;
  pointer-events: none;
}

.masterdata_input_area,
.make_file_indicator,
.make_files_area,
.process_end_indicator,
.process_complete_area {
  display: none;
}

/*
* セクションタイトル
*----------------------------------------------------------*/
.section_title {
  display: flex;
  align-items: center;
  margin: 0 auto 32px auto;
  padding: 0;
  width: 100%;
  height: 50px;
  font-size: 1.3rem;
  font-weight: 500;
  color: #155e79;
  border: 1px solid #3187a6;
  border-radius: 6px;
}
.section_title.end_title {
  color: #b93746;
  border: 1px solid #f2bbc2;
}
.section_title .step_num {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 24px 0 0;
  padding: 0;
  width: 160px;
  height: 50px;
  font-size: 1.2rem;
  font-weight: 500;
  color: #fff;
  background: #994ebb;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
.section_title .step_num::before {
  content: "\f0ae";
  margin-right: 8px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
}
.section_title .step_num.step_end {
  background: #b93746;
}

/*
* ローディング
*----------------------------------------------------------*/
.loading {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
  background-image: url(../images/loading.gif);
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: center center;
  background-size: 128px 128px;
}
.loading.hide {
  display: none;
}

.csv_attendance_loading {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.8);
  background-image: url(../images/csv_attendance_loading.svg);
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: center center;
  background-size: 160px 20px;
}
.csv_attendance_loading.hide {
  display: none;
}

.end_loading {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.7);
  background-image: url(../images/end_loading.svg);
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-position: center center;
  background-size: 128px 128px;
}
.end_loading.hide {
  display: none;
}

/*
* 当日作業完了メッセージ
*----------------------------------------------------------*/
.today_process_end_msg {
  margin: 30px auto 0 auto;
  padding: 0.8em 0;
  width: 50%;
  text-align: center;
  background: #909090;
  border-radius: 5px;
}
.today_process_end_msg .today_date {
  display: inline-block;
  margin: 0 auto 12px auto;
  padding: 0 0 0.4em 0;
  width: 96%;
  font-size: 1.2rem;
  color: #fff;
  border-bottom: 1px solid #a6a6a6;
}
.today_process_end_msg .process_end_txt {
  position: relative;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  font-size: 1.1rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
}
.today_process_end_msg .process_end_txt::before {
  content: "\f05e";
  margin: 0 8px 0 0;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
}

/*
* マスターデータ取り込みボタン
*----------------------------------------------------------*/
.import_btn_area {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
.import_btn_area .master_import_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 40%;
  height: 60px;
  font-size: 1.2rem;
  font-weight: 500;
  color: #fff;
  background: #87148b;
  border: none;
  border-radius: 5px;
}
.import_btn_area .master_import_btn::before {
  content: "\f2f6";
  margin-right: 12px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  font-size: 1.5rem;
}
.import_btn_area .master_import_btn:hover {
  background-position: right center;
  background-size: 200% auto;
  animation: shad26 1.5s infinite;
  color: #fff;
  background: #b514bb;
  transition: all 0.4s;
}
@keyframes shad26 {
  0% {
    box-shadow: 0 0 0 0 #b514bb;
  }
  70% {
    box-shadow: 0 0 0 10px rgba(39, 172, 217, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(39, 172, 217, 0);
  }
}
.import_btn_area .master_import_btn.disabled {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 40%;
  height: 60px;
  font-size: 1.2rem;
  font-weight: 500;
  color: #fff;
  background: #b6b6b6;
  border: none;
  border-radius: 5px;
}
.import_btn_area .master_import_btn.disabled:hover {
  pointer-events: none;
  animation: none;
}
.import_btn_area .master_import_btn.disabled::before {
  content: "\f1c0";
  margin-right: 8px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
}
.import_btn_area .import_txt {
  margin: 0;
  padding: 0.8em 1.2em;
  width: 58%;
  font-size: 0.94rem;
  color: #000;
  line-height: 1.6rem;
  background: #f5f5f5;
  border-radius: 5px;
}

/*
* マスターデータ取り込みステータステーブル
*----------------------------------------------------------*/
.master_import_status {
  margin: 32px auto 0 auto;
  padding: 0;
  width: 100%;
  border-collapse: collapse;
}
.master_import_status caption {
  margin: 0;
  padding: 0 0 0.5em 0;
  width: 100%;
  font-size: 0.94rem;
  color: #333;
  text-align: left;
}
.master_import_status thead .tbl_head {
  padding: 0.5em 0 0.5em 0.5em;
  text-align: left;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
}
.master_import_status .tbl_cont {
  margin: 0;
  padding: 0.8em 0.5em;
  font-size: 1rem;
  color: #333;
  border-bottom: 1px solid #eee;
}
.master_import_status .tbl_cont .site_type {
  display: inline-block;
  margin: 0 12px 0 0;
  padding: 0.2em 0;
  width: 80px;
  font-size: 0.84rem;
  font-weight: 400;
  text-align: center;
  border-width: 1px;
  border-style: solid;
  border-radius: 4px;
  background: #fff;
}
.master_import_status .tbl_cont .site_type.sara {
  color: #ca66c8;
  border-color: #ca66c8;
}
.master_import_status .tbl_cont .site_type.ryo {
  color: #226493;
  border-color: #226493;
}
.master_import_status .tbl_cont .data_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 30px;
  font-size: 0.84rem;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  background: #448cbb;
  border-radius: 4px;
}
.master_import_status .tbl_cont .data_btn:hover {
  background: #4baff2;
  transition: all 0.3s;
}
.master_import_status #sara_doc_num .num_str,
.master_import_status #sara_app_num .num_str,
.master_import_status #ryo_doc_num .num_str,
.master_import_status #ryo_app_num .num_str,
.master_import_status #sara_doc_input_manual_num .num_str,
.master_import_status #sara_app_input_manual_num .num_str,
.master_import_status #ryo_doc_input_manual_num .num_str,
.master_import_status #ryo_app_input_manual_num .num_str {
  font-size: 1.1rem;
}
.master_import_status #sara_doc_total_num .total_num_str,
.master_import_status #sara_app_total_num .total_num_str,
.master_import_status #ryo_doc_total_num .total_num_str,
.master_import_status #ryo_app_total_num .total_num_str {
  font-size: 1.2rem;
  font-weight: 500;
  color: #136097;
}
.master_import_status #sara_doc_num .sub_num_str,
.master_import_status #sara_app_num .sub_num_str,
.master_import_status #ryo_doc_num .sub_num_str,
.master_import_status #ryo_app_num .sub_num_str,
.master_import_status #sara_doc_input_manual_num .sub_num_str,
.master_import_status #sara_app_input_manual_num .sub_num_str,
.master_import_status #ryo_doc_input_manual_num .sub_num_str,
.master_import_status #ryo_app_input_manual_num .sub_num_str {
  font-size: 0.9rem;
}
.master_import_status #sara_doc_total_num .sub_num_str,
.master_import_status #sara_app_total_num .sub_num_str,
.master_import_status #ryo_doc_total_num .sub_num_str,
.master_import_status #ryo_app_total_num .sub_num_str {
  font-size: 0.9rem;
}
.master_import_status .td1 {
  width: 18%;
}
.master_import_status .td2 {
  width: 16%;
}
.master_import_status .td3 {
  width: 16%;
}
.master_import_status .td4 {
  width: 15%;
}
.master_import_status .td5 {
  width: 11%;
}
.master_import_status .td6 {
  width: 12%;
}
.master_import_status .td7 {
  width: 10%;
}
.master_import_status .success_status {
  color: #1ea46a;
}
.master_import_status .success_status::before {
  content: "\f058";
  margin-right: 8px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
}
.master_import_status .fail_status {
  color: #a93030;
}
.master_import_status .fail_status::before {
  content: "\f06a";
  margin-right: 8px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
}

#result_txt {
  display: none;
  align-items: center;
  justify-content: center;
  margin: 30px auto 0 auto;
  padding: 0;
  width: 40%;
  height: 50px;
  font-size: 1.2rem;
  color: #fff;
  background: #659fcb;
  border: none;
  border-radius: 4px;
}

.insert_end_msg {
  display: none;
  align-items: center;
  justify-content: center;
  margin: 30px auto 0 auto;
  padding: 0;
  width: 70%;
  height: 40px;
  font-size: 1rem;
  color: #17597d;
  background: #fff;
  border: 1px solid #60a1c4;
  border-radius: 5px;
}

.dashboard_error_msg {
  display: none;
  align-items: center;
  justify-content: center;
  margin: 16px auto 0 auto;
  padding: 0;
  width: 70%;
  height: 50px;
  font-size: 1rem;
  color: #b4216b;
  background: #fff;
  border: 1px solid #b4216b;
  border-radius: 5px;
}
.dashboard_error_msg .error_line_color {
  display: inline-block;
  margin: 0 8px 0 0;
  padding: 0;
  width: 50px;
  height: 30px;
  background: #fff1f8;
  vertical-align: middle;
}

.make_file_indicator {
  position: relative;
  margin: 32px auto 60px auto;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  text-align: center;
}
.make_file_indicator .triangle {
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 40px solid transparent;
  border-right: 40px solid transparent;
  border-top: 30px solid #d175a8;
}
.make_file_indicator > p {
  display: inline-block;
  margin: 0 auto 10px auto;
  padding: 0.6em 0;
  width: 70%;
  font-size: 1.1rem;
  color: #ab3131;
  text-align: center;
  border: 1px solid #ab3131;
  border-radius: 4px;
  background: #fff;
}
.make_file_indicator > p .emphasis {
  font-weight: 500;
  border-bottom: 1px solid #ab3131;
}

/*
* マスターデータ手動登録リンク
*----------------------------------------------------------*/
.masterdata_input_area {
  margin: 40px auto 0 auto;
  padding: 0;
  width: 100%;
}
.masterdata_input_area .masterdata_input_area_description {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  padding: 1.2em;
  width: 100%;
  font-size: 1.1rem;
  color: #7c228a;
  line-height: 1.6rem;
  background: #fafafa;
  border-radius: 5px;
}
.masterdata_input_area .masterdata_input {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 24px auto 0 auto;
  padding: 0;
  width: 100%;
}
.masterdata_input_area .masterdata_input .input_target {
  margin: 0;
  padding: 0;
  width: 24.5%;
}
.masterdata_input_area .masterdata_input .input_target > a {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 45px;
  font-size: 1rem;
  color: #155576;
  text-decoration: none;
  border: 1px solid #3484ac;
  border-radius: 4px;
}
.masterdata_input_area .masterdata_input .input_target > a:hover {
  color: #fff;
  background: #3484ac;
  transition: all 0.5s;
}
.masterdata_input_area .masterdata_input .input_target > a .site_label {
  display: inline-block;
  align-items: center;
  margin: 0 6px 0 0;
  padding: 0.2em;
  width: 80px;
  font-size: 0.84rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  border-radius: 4px;
}
.masterdata_input_area .masterdata_input .input_target > a .site_label.sara {
  background: #ca66c8;
}
.masterdata_input_area .masterdata_input .input_target > a .site_label.ryo {
  background: #226493;
}
.masterdata_input_area .masterdata_input .input_target .manual_num {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 2px auto 0 auto;
  padding: 0;
  width: 100%;
  height: 35px;
  font-size: 0.9rem;
  font-weight: 500;
  color: #fff;
  background: #649cb9;
  border-radius: 4px;
}
.masterdata_input_area .masterdata_input .input_target .manual_num .num {
  display: inline-block;
  margin: -2px 4px 0 0;
  font-size: 1rem;
  font-weight: 500;
}
.masterdata_input_area .masterdata_input .input_target .manual_num .manual_delete_num {
  font-size: 0.84rem;
}

/*
* 操作説明用エリアタイトル
*----------------------------------------------------------*/
.inform_title {
  margin: 0;
  padding: 0.8em 1em;
  width: 100%;
  font-size: 1.1rem;
  font-weight: 500;
  text-align: center;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}
.inform_title.step_csv {
  color: #5e6608;
  background: #e4e9b6;
  border-bottom: 2px solid #bbc374;
}
.inform_title.step_pdf {
  color: #3a4881;
  background: #d8dcec;
  border-bottom: 2px solid #a6acca;
  width: 100%;
}

.make_files_area {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  background: yellow;
}
.make_files_area .select_term_area {
  margin: 0 0 32px 0;
  padding: 0;
  width: 100%;
}
.make_files_area .select_term_area .select_term_wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 80px;
  border: 1px solid #caa9e0;
  border-radius: 4px;
}
.make_files_area .select_term_area .select_term_wrap .select_term_title {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 32%;
  height: 100%;
  font-size: 1.1rem;
  font-weight: 500;
  color: #532c6d;
  background: #efdffa;
  text-align: center;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  border-right: 2px solid #decaeb;
}
.make_files_area .select_term_area .select_term_wrap .select_term_title::before {
  content: "\f073";
  margin-right: 12px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  font-size: 1.6rem;
}
.make_files_area .select_term_area .select_term_wrap .select_term {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 68%;
  height: 100%;
  margin: 0 auto;
  padding: 0 2em;
  border-spacing: 0;
  background: #f8f1fc;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.make_files_area .select_term_area .select_term_wrap .select_term .check_label {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  width: 49%;
  height: 45px;
  font-size: 1.1rem;
  text-align: center;
  line-height: 45px;
  padding-left: 5px;
  padding-right: 5px;
  cursor: pointer;
  color: #4f1e70;
  border: 1px solid #cbafdd;
  border-radius: 5px;
  background: #fff;
  transition: all 0.4s;
}
.make_files_area .select_term_area .select_term_wrap .select_term .check_label:hover {
  color: #fff;
  background-color: #662c89;
}
.make_files_area .select_term_area .select_term_wrap .select_term input[type=checkbox] {
  display: none;
}
.make_files_area .select_term_area .select_term_wrap .select_term input[type=radio] {
  display: none;
}
.make_files_area .select_term_area .select_term_wrap .select_term input[type=checkbox].att_select_box:checked + label {
  background: #dc5456;
  border: 1px solid #dc5456;
  color: #fff;
}
.make_files_area .select_term_area .select_term_wrap .select_term input[type=radio].term_select_box:checked + label {
  background: #dc5456;
  border: 1px solid #dc5456;
  color: #fff;
}
.make_files_area .file_target_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
  padding: 0;
  width: 100%;
}
.make_files_area .file_target_area .file_target_title {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  height: 50px;
  font-size: 1.1rem;
  font-weight: 500;
  color: #fff;
  background: #fff;
  border-radius: 4px;
}
.make_files_area .file_target_area .file_target_title.csv_file {
  background: #709556;
}
.make_files_area .file_target_area .file_target_title.csv_file::before {
  content: "\f6dd";
  margin-right: 8px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  font-size: 1.6rem;
}
.make_files_area .file_target_area .file_target_title.attendance_file {
  background: #6974a0;
}
.make_files_area .file_target_area .file_target_title.attendance_file::before {
  content: "\f1c1";
  margin-right: 8px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  font-size: 1.6rem;
}
.make_files_area .file_target_area .csv_area,
.make_files_area .file_target_area .attendance_area {
  position: relative;
  margin: 0;
  padding: 1em 1em 2em 1em;
  width: 49%;
  height: 440px;
  border-radius: 4px;
}
.make_files_area .file_target_area .csv_area .inform_title,
.make_files_area .file_target_area .attendance_area .inform_title {
  margin-top: 16px;
}
.make_files_area .file_target_area .csv_area {
  background: #f4faee;
  border: 1px solid #94af7f;
}
.make_files_area .file_target_area .attendance_area {
  background: #f4f6ff;
  border: 1px solid #9ba3c4;
}
.make_files_area .file_target_area .select_make_csv {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto;
  padding: 1.5em 1.2em;
  border-spacing: 0;
  background: #fdffeb;
  border: 1px solid #d7dcae;
}
.make_files_area .file_target_area .select_make_csv .check_label {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 8px 0;
  width: 49%;
  height: 45px;
  font-size: 1rem;
  text-align: center;
  line-height: 45px;
  padding-left: 5px;
  padding-right: 5px;
  cursor: pointer;
  color: #224708;
  border: 1px solid #b1d696;
  border-radius: 5px;
  background: #fff;
  transition: all 0.4s;
}
.make_files_area .file_target_area .select_make_csv .check_label:hover {
  color: #fff;
  background-color: #5a843c;
}
.make_files_area .file_target_area .select_make_csv .check_label .site_label {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 6px 0 0;
  padding: 0 0.2em;
  width: 60px;
  height: 28px;
  font-size: 0.8rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  border-radius: 4px;
}
.make_files_area .file_target_area .select_make_csv .check_label .site_label.sara {
  background: #ca66c8;
}
.make_files_area .file_target_area .select_make_csv .check_label .site_label.ryo {
  background: #226493;
}
.make_files_area .file_target_area .select_make_csv input[type=checkbox] {
  display: none;
}
.make_files_area .file_target_area .select_make_csv input[type=checkbox].select_box:checked + label {
  background: #dc5456;
  border: 1px solid #dc5456;
  color: #fff;
}
.make_files_area .file_target_area .make_attendance_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
.make_files_area .file_target_area .make_attendance_area .select_make_attendance {
  margin: 0;
  padding: 0;
  width: 100%;
}
.make_files_area .file_target_area .make_attendance_area .select_make_attendance .select_make_pdf {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto;
  padding: 1.5em 2em;
  border-spacing: 0;
  background: #f1f3fa;
  border: 1px solid #cfd9eb;
}
.make_files_area .file_target_area .make_attendance_area .select_make_attendance .select_make_pdf .check_label {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  width: 49%;
  height: 55px;
  font-size: 1.1rem;
  text-align: center;
  line-height: 45px;
  padding-left: 5px;
  padding-right: 5px;
  cursor: pointer;
  color: #1c2757;
  border: 1px solid #d8dcec;
  border-radius: 5px;
  background: #fff;
  transition: all 0.4s;
}
.make_files_area .file_target_area .make_attendance_area .select_make_attendance .select_make_pdf .check_label:hover {
  color: #fff;
  background-color: #3a4881;
}
.make_files_area .file_target_area .make_attendance_area .select_make_attendance .select_make_pdf input[type=checkbox] {
  display: none;
}
.make_files_area .file_target_area .make_attendance_area .select_make_attendance .select_make_pdf input[type=radio] {
  display: none;
}
.make_files_area .file_target_area .make_attendance_area .select_make_attendance .select_make_pdf input[type=checkbox].att_select_box:checked + label {
  background: #dc5456;
  border: 1px solid #dc5456;
  color: #fff;
}
.make_files_area .file_target_area .make_attendance_area .select_make_attendance .select_make_pdf input[type=radio].term_select_box:checked + label {
  background: #dc5456;
  border: 1px solid #dc5456;
  color: #fff;
}

/*
* 処理実行ボタンエリア
*----------------------------------------------------------*/
.csv_exec_btn_area,
.pdf_exec_btn_area {
  position: absolute;
  bottom: 8%;
  left: 50%;
  transform: translateX(-50%);
  margin: 40px auto 0 auto;
  padding: 0;
  width: 100%;
  text-align: center;
}
.csv_exec_btn_area .make_error_msg,
.csv_exec_btn_area .pdf_make_error_msg,
.pdf_exec_btn_area .make_error_msg,
.pdf_exec_btn_area .pdf_make_error_msg {
  display: none;
  margin: 0 auto 16px auto;
  padding: 0.8em 1em;
  width: 100%;
  font-size: 1rem;
  color: #971818;
  background: #faebeb;
}
.csv_exec_btn_area .exec_make_csv,
.pdf_exec_btn_area .exec_make_csv {
  margin: 0 auto;
  padding: 0;
  width: 70%;
  height: 50px;
  font-size: 1.1rem;
  font-weight: 500;
  color: #d15232;
  border: 1px solid #d15232;
  background: #fff;
  border-radius: 5px;
  transition: all 0.4s;
}
.csv_exec_btn_area .exec_make_csv.abled:hover,
.pdf_exec_btn_area .exec_make_csv.abled:hover {
  color: #fff;
  background: #c04a2d;
}
.csv_exec_btn_area .exec_make_csv.disabled,
.pdf_exec_btn_area .exec_make_csv.disabled {
  color: #ccc;
  border: 1px solid #ccc;
}
.csv_exec_btn_area .exec_make_attendance,
.pdf_exec_btn_area .exec_make_attendance {
  margin: 0 auto;
  padding: 0;
  width: 70%;
  height: 50px;
  font-size: 1.1rem;
  font-weight: 500;
  color: #d15232;
  border: 1px solid #d15232;
  background: #fff;
  border-radius: 5px;
  transition: all 0.4s;
}
.csv_exec_btn_area .exec_make_attendance.abled:hover,
.pdf_exec_btn_area .exec_make_attendance.abled:hover {
  color: #fff;
  background: #c04a2d;
}
.csv_exec_btn_area .exec_make_attendance.disabled,
.pdf_exec_btn_area .exec_make_attendance.disabled {
  color: #ccc;
  border: 1px solid #ccc;
}

/*
* ダウンロード実行ボタンエリア
*----------------------------------------------------------*/
.csv_download_btn_area,
.pdf_download_btn_area {
  display: none;
}

.csv_download_btn_area,
.pdf_download_btn_area {
  position: absolute;
  bottom: 5%;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  padding: 0;
  width: 94%;
  text-align: center;
}
.csv_download_btn_area .make_comp_msg,
.pdf_download_btn_area .make_comp_msg {
  margin: 0 auto 16px auto;
  padding: 0.6em 0;
  width: 100%;
  font-size: 1rem;
  color: #0e5d8b;
  background: #dbedf7;
  border-radius: 4px;
}
.csv_download_btn_area .exec_csv_download,
.pdf_download_btn_area .exec_csv_download {
  margin: 0 auto;
  padding: 0;
  width: 70%;
  height: 50px;
  font-size: 1.1rem;
  font-weight: 500;
  color: #d15232;
  border: 1px solid #d15232;
  background: #fff;
  border-radius: 5px;
  transition: all 0.4s;
}
.csv_download_btn_area .exec_csv_download:hover,
.pdf_download_btn_area .exec_csv_download:hover {
  color: #fff;
  background: #c04a2d;
}
.csv_download_btn_area .exec_pdf_download,
.pdf_download_btn_area .exec_pdf_download {
  margin: 0 auto;
  padding: 0;
  width: 70%;
  height: 50px;
  font-size: 1.1rem;
  font-weight: 500;
  color: #d15232;
  border: 1px solid #d15232;
  background: #fff;
  border-radius: 5px;
  transition: all 0.4s;
}
.csv_download_btn_area .exec_pdf_download:hover,
.pdf_download_btn_area .exec_pdf_download:hover {
  color: #fff;
  background: #c04a2d;
}
.csv_download_btn_area .exec_pdf_download.disabled,
.pdf_download_btn_area .exec_pdf_download.disabled {
  color: #ccc;
  border: 1px solid #ccc;
}

/*---------------------------------------------------------------------
*
* システム処理完了
*
*--------------------------------------------------------------------*/
.process_end_indicator {
  position: relative;
  margin: 48px auto 60px auto;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  text-align: center;
}
.process_end_indicator .triangle {
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 40px solid transparent;
  border-right: 40px solid transparent;
  border-top: 30px solid #d175a8;
}
.process_end_indicator > p {
  display: inline-block;
  margin: 0 auto 10px auto;
  padding: 0.6em 0;
  width: 70%;
  font-size: 1.1rem;
  color: #ab3131;
  text-align: center;
  border: 1px solid #ab3131;
  border-radius: 4px;
  background: #fff;
}
.process_end_indicator > p .emphasis {
  font-weight: 500;
  border-bottom: 1px solid #ab3131;
}

/*
* システム処理完了のチェックタイトル
*----------------------------------------------------------*/
.process_check_title {
  margin: 0;
  padding: 0.8em 1em;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  color: #6e0f63;
  text-align: center;
  background: #edc8e9;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  border-bottom: 2px solid #cc9cc7;
}

/*
* システム処理完了のチェックエリア
*----------------------------------------------------------*/
.check_process_end {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto;
  padding: 1.5em 1.2em;
  border-spacing: 0;
  background: #ffebfd;
}
.check_process_end .check_label {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  width: 24.5%;
  height: 45px;
  text-align: center;
  line-height: 45px;
  padding-left: 5px;
  padding-right: 5px;
  cursor: pointer;
  color: #7a2b80;
  border: 1px solid #daaedd;
  border-radius: 5px;
  background: #fff;
  transition: all 0.4s;
}
.check_process_end .check_label:hover {
  color: #fff;
  background-color: #7a2b80;
}
.check_process_end .check_label .site_label {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 6px 0 0;
  padding: 0 0.2em;
  width: 60px;
  height: 28px;
  font-size: 0.84rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  border-radius: 4px;
}
.check_process_end .check_label .site_label.sara {
  background: #ca66c8;
}
.check_process_end .check_label .site_label.ryo {
  background: #226493;
}
.check_process_end input[type=checkbox] {
  display: none;
}
.check_process_end input[type=checkbox].process_check_box:checked + label {
  background: #dc5456;
  border: 1px solid #dc5456;
  color: #fff;
}

/*
* システム処理終了インフォメーション
*----------------------------------------------------------*/
.process_end_msg {
  display: none;
  position: relative;
  margin: 32px auto 0 auto;
  padding: 1.5em;
  width: 80%;
  font-size: 1.1rem;
  color: #571557;
  text-align: center;
  background: #fcf5fc;
  border: 1px solid #fbcdfb;
  border-radius: 5px;
}
.process_end_msg::before {
  content: "\f05a";
  margin-right: 4px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  font-size: 1.4rem;
  vertical-align: middle;
}
.process_end_msg .process_info_list {
  margin: 12px auto 0 auto;
  padding: 0;
  width: 100%;
  list-style-type: disc;
  list-style-position: outside;
}
.process_end_msg .process_info_list .list_contents {
  margin: 0 auto 4px auto;
  padding: 0;
  width: 94%;
  font-size: 0.9rem;
  color: #7c087c;
  text-align: left;
}
.process_end_msg .triangle {
  position: absolute;
  bottom: -60px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #c83385;
}

/*
* システム処理完了ボタン
*----------------------------------------------------------*/
.process_end_btn_area {
  margin: 40px auto 0 auto;
  padding: 0;
  width: 100%;
  text-align: center;
}
.process_end_btn_area .exec_process_end {
  margin: 0 auto;
  padding: 0;
  width: 40%;
  height: 50px;
  font-size: 1.1rem;
  font-weight: 500;
  color: #d15232;
  border: 1px solid #d15232;
  background: #fff;
  border-radius: 5px;
  transition: all 0.4s;
}
.process_end_btn_area .exec_process_end::before {
  content: "\f52a";
  margin-right: 8px;
  font-family: "Font Awesome 6 Free";
  font-size: 1.3rem;
  font-weight: 600;
  vertical-align: middle;
}
.process_end_btn_area .exec_process_end:hover {
  color: #fff;
  background: #c04a2d;
}
.process_end_btn_area .exec_process_end.disabled {
  color: #ccc;
  border: 1px solid #ccc;
  pointer-events: none;
}

/*
* 【マスターデータ確認】エラー表示エリア設定
*--------------------------------------------*/
.error_view_area {
  margin: 0 0 32px 0;
  padding: 1em 1.5em;
  width: 70%;
  background: #fff;
  border: 1px solid #c6759e;
  border-radius: 5px;
}
.error_view_area .master_error_msg {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  color: #b4216b;
}
.error_view_area .master_error_msg .error_line_color {
  display: inline-block;
  margin: 0 8px 0 0;
  padding: 0;
  width: 50px;
  height: 30px;
  background: #fff1f8;
  vertical-align: middle;
}
.error_view_area .master_error_msg .sub_error_msg {
  display: inline-block;
  margin: 8px 0 0 0;
  padding: 0;
  width: 100%;
  font-size: 0.9rem;
}
.error_view_area .master_error_list {
  margin: 16px auto 0 auto;
  padding: 0;
  width: 100%;
}
.error_view_area .master_error_list .error_list_view {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 8px 0;
  width: 100%;
}
.error_view_area .master_error_list .error_list_view .error_line {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 15%;
  height: 30px;
  font-size: 1rem;
  font-weight: 500;
  color: #fff;
  background: #b4216b;
}
.error_view_area .master_error_list .error_list_view .item_name {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 15%;
  height: 30px;
  font-size: 0.94rem;
  background: #e7b763;
}
.error_view_area .master_error_list .error_list_view .error_item {
  margin: 0;
  padding: 0;
  width: 20%;
  font-size: 1rem;
}
.error_view_area .master_error_list .error_list_view .error_type {
  margin: 0;
  padding: 0;
  width: 30%;
  font-size: 1rem;
}

/*
* 【マスターデータ確認】ページタイトル
*--------------------------------------------*/
.master_page_title {
  margin: 0 auto 32px auto;
  padding: 0.8em 1.4em;
  width: 100%;
  font-size: 1.2rm;
  color: #333;
  background: #fff;
  border-radius: 10px;
}
.master_page_title .target_label {
  display: inline-block;
  margin: 0 12px 0 0;
  padding: 0.2em 0;
  width: 140px;
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
  border-radius: 4px;
}
.master_page_title .target_label.sara {
  background: #ca66c8;
}
.master_page_title .target_label.ryo {
  background: #226493;
}
.master_page_title .main_title {
  display: inline-block;
  margin: 0;
  padding: 0;
  font-size: 1.5rem;
}
.master_page_title .main_title::before {
  content: "\f1c0";
  margin-right: 10px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  color: #25539e;
}

/*
* 削除済みデータメッセージ
*--------------------------------------------*/
.delete_info {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 32px 0;
  padding: 0;
  width: 40%;
  height: 60px;
  font-size: 1rem;
  font-weight: 500;
  color: #222;
  background: #e2e2e2;
  border: 1px solid #ccc;
  border-radius: 5px;
}

/*
* 【マスターデータ確認】資料請求データテーブル
*--------------------------------------------*/
.data_caption {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto 8px auto;
  padding: 0;
  width: 98%;
}
.data_caption .data_num {
  margin: 0;
  padding: 0;
  width: 50%;
  font-size: 1rem;
  color: #333;
}
.data_caption .insert_date {
  margin: 0;
  padding: 0;
  width: 50%;
  font-size: 1rem;
  color: #333;
  text-align: right;
}

/*
* 資料請求マスターテーブル
*---------------------------*/
.doc_master_data_tbl {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  border-collapse: collapse;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}
.doc_master_data_tbl tr:nth-of-type(2n) .tbl_cont:not(.td1) {
  background-color: #fafafa;
}
.doc_master_data_tbl tr.data_delete .tbl_cont {
  background: #c1c1c1 !important;
  opacity: 0.2;
}
.doc_master_data_tbl .tbl_head {
  margin: 0;
  padding: 0.6em 0.8em;
  font-size: 0.9rem;
  font-weight: 500;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  background: #e4f7fa;
}
.doc_master_data_tbl .tbl_head + .tbl_head {
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}
.doc_master_data_tbl .tbl_cont {
  margin: 0;
  padding: 0.8em;
  font-size: 0.9rem;
  border-bottom: 1px solid #ddd;
}
.doc_master_data_tbl .tbl_cont + .tbl_cont {
  border-left: 1px solid #eee;
}
.doc_master_data_tbl .tbl_cont .phonetic_txt {
  font-size: 0.8rem;
}
.doc_master_data_tbl .td1 {
  text-align: center;
  background: #f6f6f6;
  border-bottom: 1px solid #ccc;
}
.doc_master_data_tbl .td4 {
  text-align: center;
}
.doc_master_data_tbl .view_detail {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 90px;
  height: 40px;
  font-size: 0.9rem;
  font-weight: 500;
  color: #4b3e05;
  background: #fde370;
  border: none;
  border-radius: 4px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.4s;
}
.doc_master_data_tbl .view_detail:hover {
  color: #fff;
  background: #bf4b28;
}
.doc_master_data_tbl .view_detail:disabled {
  color: #888;
  background: #ccc;
  pointer-events: none;
}
.doc_master_data_tbl .data_edit {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 90px;
  height: 40px;
  font-size: 0.9rem;
  font-weight: 500;
  color: #731c16;
  background: #fdcdca;
  border: none;
  border-radius: 4px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.4s;
}
.doc_master_data_tbl .data_edit:hover {
  color: #fff;
  background: #bf4b28;
}
.doc_master_data_tbl .data_edit:disabled {
  color: #888;
  background: #ccc;
  pointer-events: none;
}

/*
* 受講申込みマスターテーブル
*---------------------------*/
.app_master_data_tbl {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  border-collapse: collapse;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}
.app_master_data_tbl tr:nth-of-type(2n) .tbl_cont:not(.td1) {
  background-color: #fafafa;
}
.app_master_data_tbl tr.error_line .tbl_cont {
  background: #fff1f8 !important;
}
.app_master_data_tbl tr.data_delete .tbl_cont {
  background: #c1c1c1 !important;
  opacity: 0.2;
}
.app_master_data_tbl .tbl_head {
  margin: 0;
  padding: 0.6em 0.5em;
  font-size: 0.9rem;
  font-weight: 500;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  background: #f3e4fa;
}
.app_master_data_tbl .tbl_head + .tbl_head {
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}
.app_master_data_tbl .tbl_cont {
  margin: 0;
  padding: 0.8em 1em;
  font-size: 0.9rem;
  border-bottom: 1px solid #ccc;
}
.app_master_data_tbl .tbl_cont + .tbl_cont {
  border-left: 1px solid #eee;
}
.app_master_data_tbl .tbl_cont .phonetic_txt {
  font-size: 0.8rem;
}
.app_master_data_tbl .list_row:nth-of-type(2n+1) .td1 {
  background: #f0f0f0;
}
.app_master_data_tbl .td1 {
  text-align: center;
  background: #f1f1f1;
  border-top: 1px solid #ddd;
}
.app_master_data_tbl .td4,
.app_master_data_tbl .td5,
.app_master_data_tbl .td13 {
  text-align: center;
}
.app_master_data_tbl .view_detail {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 90px;
  height: 40px;
  font-size: 0.9rem;
  font-weight: 500;
  color: #4b3e05;
  background: #fde370;
  border: none;
  border-radius: 4px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.4s;
}
.app_master_data_tbl .view_detail:hover {
  color: #fff;
  background: #bf4b28;
}
.app_master_data_tbl .view_detail:disabled {
  color: #888;
  background: #ccc;
  pointer-events: none;
}
.app_master_data_tbl .data_edit {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 90px;
  height: 40px;
  font-size: 0.9rem;
  font-weight: 500;
  color: #731c16;
  background: #fdcdca;
  border: none;
  border-radius: 4px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.4s;
}
.app_master_data_tbl .data_edit:hover {
  color: #fff;
  background: #bf4b28;
}
.app_master_data_tbl .data_edit:disabled {
  color: #888;
  background: #ccc;
  pointer-events: none;
}

/*
* 【マスターデータ確認】操作ボタンエリア
*--------------------------------------------*/
.function_btn_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 40px auto 0 auto;
  padding: 1em 1.5em;
  width: 94%;
  background: #f6f6f6;
  border-radius: 10px;
}
.function_btn_area .prev_data_btn {
  margin: 0;
  padding: 0;
  width: 25%;
}
.function_btn_area .prev_data_btn .prev_btn_wrap {
  position: relative;
  width: 200px;
  height: 50px;
  background: #fff;
  border: 1px solid #4877a9;
  border-radius: 4px;
  transition: all 0.4s;
}
.function_btn_area .prev_data_btn .prev_btn_wrap::before {
  content: "\f137";
  position: absolute;
  top: 50%;
  left: 15%;
  transform: translateY(-50%);
  font-family: "Font Awesome 6 Free";
  font-size: 1rem;
  font-weight: 600;
  color: #1d4269;
  transition: all 0.4s;
}
.function_btn_area .prev_data_btn .prev_btn_wrap:hover {
  background: #4877a9;
}
.function_btn_area .prev_data_btn .prev_btn_wrap:hover::before {
  left: 10%;
  color: #fff;
}
.function_btn_area .prev_data_btn .prev_btn_wrap .view_prev_data {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-size: 0.94rem;
  color: #1d4269;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: all 0.4s;
}
.function_btn_area .prev_data_btn .prev_btn_wrap .view_prev_data:hover {
  color: #fff;
}
.function_btn_area .data_edit_btn {
  margin: 0;
  padding: 0;
  width: 20%;
  text-align: center;
}
.function_btn_area .data_edit_btn .edit_btn_wrap {
  position: relative;
  width: 100%;
  height: 50px;
  background: #2d5b8c;
  border-radius: 4px;
  transition: all 0.4s;
}
.function_btn_area .data_edit_btn .edit_btn_wrap::before {
  content: "\f31c";
  position: absolute;
  top: 50%;
  left: 18%;
  transform: translateY(-50%);
  font-family: "Font Awesome 6 Free";
  font-size: 1.1rem;
  font-weight: 600;
  color: #fff;
  transition: all 0.4s;
}
.function_btn_area .data_edit_btn .edit_btn_wrap:hover {
  background: #c01f5d;
}
.function_btn_area .data_edit_btn .edit_btn_wrap:hover::before {
  color: #fff;
}
.function_btn_area .data_edit_btn .edit_btn_wrap .edit_data_btn {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0 0 0 15%;
  width: 100%;
  height: 100%;
  font-size: 1rem;
  color: #fff;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: all 0.4s;
}
.function_btn_area .data_edit_btn .edit_btn_wrap .edit_data_btn:hover {
  color: #fff;
}
.function_btn_area .data_delete_btn {
  margin: 0;
  padding: 0;
  width: 20%;
  text-align: center;
}
.function_btn_area .data_delete_btn .delete_btn_wrap {
  position: relative;
  width: 100%;
  height: 50px;
  background: #fff;
  border: 1px solid #d37292;
  border-radius: 4px;
  transition: all 0.4s;
}
.function_btn_area .data_delete_btn .delete_btn_wrap::before {
  content: "\f05e";
  position: absolute;
  top: 50%;
  left: 16%;
  transform: translateY(-50%);
  font-family: "Font Awesome 6 Free";
  font-size: 1.1rem;
  font-weight: 600;
  color: #d37292;
  transition: all 0.4s;
}
.function_btn_area .data_delete_btn .delete_btn_wrap:hover {
  background: #c01f5d;
}
.function_btn_area .data_delete_btn .delete_btn_wrap:hover::before {
  color: #fff;
}
.function_btn_area .data_delete_btn .delete_btn_wrap .delete_data_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0 0 0 12%;
  width: 100%;
  height: 100%;
  font-size: 1rem;
  color: #d37292;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: all 0.4s;
}
.function_btn_area .data_delete_btn .delete_btn_wrap .delete_data_btn:hover {
  color: #fff;
}
.function_btn_area .next_data_btn {
  margin: 0;
  padding: 0;
  width: 25%;
}
.function_btn_area .next_data_btn .next_btn_wrap {
  position: relative;
  margin-left: auto;
  width: 200px;
  height: 50px;
  background: #fff;
  border: 1px solid #4877a9;
  border-radius: 4px;
  transition: all 0.4s;
}
.function_btn_area .next_data_btn .next_btn_wrap::before {
  content: "\f138";
  position: absolute;
  top: 50%;
  right: 15%;
  transform: translateY(-50%);
  font-family: "Font Awesome 6 Free";
  font-size: 1rem;
  font-weight: 600;
  color: #1d4269;
  transition: all 0.4s;
}
.function_btn_area .next_data_btn .next_btn_wrap:hover {
  background: #4877a9;
}
.function_btn_area .next_data_btn .next_btn_wrap:hover::before {
  right: 10%;
  color: #fff;
}
.function_btn_area .next_data_btn .next_btn_wrap .view_next_data {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-size: 0.94rem;
  color: #1d4269;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: all 0.4s;
}
.function_btn_area .next_data_btn .next_btn_wrap .view_next_data:hover {
  color: #fff;
}

/*
* マスターデータ一覧に戻るボタン
*--------------------------------------------*/
.back_to_list_btn {
  margin: 48px auto 20px auto;
  padding: 0;
  width: 90%;
  text-align: center;
}
.back_to_list_btn > a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 300px;
  height: 60px;
  font-size: 1rem;
  color: #095532;
  text-decoration: none;
  border: 1px solid #8dc4aa;
  border-radius: 5px;
  transition: all 0.4s;
}
.back_to_list_btn > a::before {
  content: "\f137";
  margin-right: 12px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
}
.back_to_list_btn > a:hover {
  color: #fff;
  background: #2a845a;
}
.back_to_list_btn .back_to_target_detail_btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 300px;
  height: 60px;
  font-size: 1rem;
  color: #095532;
  text-decoration: none;
  background: #fff;
  border: 1px solid #8dc4aa;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.4s;
}
.back_to_list_btn .back_to_target_detail_btn:hover {
  color: #fff;
  background: #2a845a;
}

/*
* マスターデータ手動登録完了後の戻り先選択ボタン
*--------------------------------------------*/
.return_select_btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 60px auto 0 auto;
  padding: 1em 1.5em;
  width: 80%;
  background: #f6f6f6;
  border-radius: 10px;
}
.return_select_btn .select_btn {
  margin: 0;
  padding: 0;
  width: 50%;
}
.return_select_btn .select_btn .return_dashboard_btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 300px;
  height: 50px;
  font-size: 1rem;
  color: #095532;
  text-decoration: none;
  background: #fff;
  border: 1px solid #8dc4aa;
  border-radius: 5px;
  transition: all 0.4s;
}
.return_select_btn .select_btn .return_dashboard_btn::before {
  content: "\f137";
  margin-right: 12px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
}
.return_select_btn .select_btn .return_dashboard_btn:hover {
  color: #fff;
  background: #2a845a;
}
.return_select_btn .select_btn .input_continue_btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 0 auto;
  padding: 0;
  width: 360px;
  height: 50px;
  font-size: 1rem;
  color: #fff;
  text-decoration: none;
  background: #306097;
  border-radius: 5px;
  transition: all 0.4s;
}
.return_select_btn .select_btn .input_continue_btn::after {
  content: "\f138";
  margin-left: 12px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
}
.return_select_btn .select_btn .input_continue_btn:hover {
  color: #fff;
  background: #af1364;
}
.return_select_btn .reinput_btn {
  margin: 0;
  padding: 0;
  width: 100%;
}
.return_select_btn .reinput_btn .return_input_btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 360px;
  height: 50px;
  font-size: 1rem;
  color: #fff;
  text-decoration: none;
  background: #306097;
  border-radius: 5px;
  transition: all 0.4s;
}
.return_select_btn .reinput_btn .return_input_btn::before {
  content: "\f137";
  margin-right: 12px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
}
.return_select_btn .reinput_btn .return_input_btn:hover {
  color: #fff;
  background: #af1364;
}

/*
* マスターデータ修正ページ処理ボタンエリア
*--------------------------------------------*/
.edit_function_btn_area {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin: 40px auto 20px auto;
  padding: 1em 1.5em;
  width: 94%;
  background: #f6f6f6;
  border-radius: 10px;
}
.edit_function_btn_area .func_stop_edit_btn {
  margin: 0;
  padding: 0;
  width: 14%;
}
.edit_function_btn_area .func_stop_edit_btn > a {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 40px;
  font-size: 0.9rem;
  color: #333;
  text-decoration: none;
  background: #eee;
  border: 1px solid #ccc;
  border-radius: 5px;
  transition: all 0.4s;
}
.edit_function_btn_area .func_stop_edit_btn > a::before {
  content: "\f3e5";
  margin-right: 8px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
}
.edit_function_btn_area .func_stop_edit_btn > a:hover {
  color: #fff;
  background: #969696;
}
.edit_function_btn_area .func_confirm_btn {
  margin: 0;
  padding: 0;
  width: 67%;
}
.edit_function_btn_area .func_confirm_btn .confirm_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 400px;
  height: 50px;
  font-family: "Font Awesome 6 Free";
  font-size: 1.1rem;
  font-weight: 600;
  color: #286f8d;
  background: #fff;
  border: 1px solid #60b3d6;
  border-radius: 25px;
  cursor: pointer;
  transition: all 0.4s;
}
.edit_function_btn_area .func_confirm_btn .confirm_btn:hover {
  color: #fff;
  background: #286f8d;
}
.edit_function_btn_area .func_complete_btn {
  margin: 0;
  padding: 0;
  width: 67%;
}
.edit_function_btn_area .func_complete_btn .complete_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 400px;
  height: 50px;
  font-family: "Font Awesome 6 Free";
  font-size: 1.1rem;
  font-weight: 600;
  color: #b43fc1;
  text-decoration: none;
  background: #fff;
  border: 1px solid #d887e1;
  border-radius: 25px;
  transition: all 0.4s;
}
.edit_function_btn_area .func_complete_btn .complete_btn::after {
  content: "\f138";
  margin-left: 8px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
}
.edit_function_btn_area .func_complete_btn .complete_btn:hover {
  color: #fff;
  background: #b43fc1;
}

/*
* データ入力エリア
*--------------------------------------------*/
.input_category_area {
  margin: 0 auto;
  padding: 1.5em;
  width: 100%;
  background: #fafafa;
  border-radius: 10px;
}
.input_category_area + .input_category_area {
  margin-top: 24px;
}
.input_category_area .category_area_title {
  margin: 0 auto 24px auto;
  padding: 0.4em 1.5em;
  width: 94%;
  font-size: 1.2rem;
  font-weight: 500;
  color: #40637b;
  background: #e2e9ed;
  border-radius: 5px;
}

/*
* 資料請求講座入力テーブル
*--------------------------------------------*/
.doc_course_input_area {
  width: 94%;
  margin: 0 auto;
  padding: 0;
}
.doc_course_input_area .area_head,
.doc_course_input_area .area_cont {
  margin: 0;
  padding: 0.8em 1em;
  text-align: left;
}
.doc_course_input_area .area_head {
  position: relative;
  margin: 0 0 8px 0;
  width: 24%;
  font-size: 1rem;
}
.doc_course_input_area .area_head:not(:first-of-type) {
  margin-top: 16px;
}
.doc_course_input_area .area_head::before {
  content: "";
  margin-right: 10px;
  border: 3px solid #cbe2f7;
}
.doc_course_input_area .area_head.required::after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  content: "必須";
  display: inline-block;
  margin: 0 0 0 16px;
  padding: 0.2em 0;
  width: 40px;
  font-size: 0.64rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
  background: #af2727;
  border-radius: 3px;
}
.doc_course_input_area .area_cont {
  margin: 0 auto;
  padding: 0;
  width: 92%;
}
.doc_course_input_area .area_cont.course_group {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.doc_course_input_area .area_cont.course_group .course_category {
  width: 32%;
}
.doc_course_input_area .area_cont.course_group .course_name {
  width: 67%;
}
.doc_course_input_area .area_cont select {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
}
.doc_course_input_area .area_cont select:focus {
  border-color: #4CAF50;
  background: #eaf6ff;
  outline: none;
}
.doc_course_input_area .area_cont textarea {
  padding: 6px 10px;
  width: 100%;
  height: 160px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

/*
* 受講講座入力テーブル
*--------------------------------------------*/
.course_input_area {
  width: 94%;
  margin: 0 auto 12px auto;
  padding: 1em 0;
  background: #f0f0f0;
  border-radius: 10px;
}
.course_input_area .area_head,
.course_input_area .area_cont {
  margin: 0;
  padding: 0.8em 1em;
  text-align: left;
}
.course_input_area .area_head {
  position: relative;
  width: 30%;
  font-size: 1rem;
}
.course_input_area .area_head::before {
  content: "";
  margin-right: 10px;
  border: 3px solid #cbe2f7;
}
.course_input_area .area_head.required::after {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  content: "必須";
  display: inline-block;
  margin: 0 0 0 16px;
  padding: 0.2em 0;
  width: 40px;
  font-size: 0.64rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
  background: #af2727;
  border-radius: 3px;
}
.course_input_area .area_cont {
  margin: 0;
  padding-left: 1.5em;
  width: 100%;
}
.course_input_area .area_cont.course_group {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.course_input_area .area_cont.course_group .course_category {
  width: 32%;
}
.course_input_area .area_cont.course_group .course_name {
  width: 55%;
}
.course_input_area .area_cont.course_group .product_id {
  width: 10%;
}
.course_input_area .area_cont.course_group .product_id.item_error {
  background: #fff1f8;
}
.course_input_area .area_cont.fee_group {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.course_input_area .area_cont.fee_group .fee_area {
  width: 48%;
}
.course_input_area .area_cont.fee_group .fee_area input {
  width: 69%;
}
.course_input_area .area_cont.fee_group .discount_area {
  width: 48%;
}
.course_input_area .area_cont.fee_group .discount_area input {
  width: 69%;
}
.course_input_area .area_cont.fee_group .fee_label {
  display: inline-block;
  margin-right: 3%;
  padding: 0.3em 0 0 0;
  width: 28%;
  height: 100%;
  font-size: 1rem;
  color: #000;
  text-align: center;
  background: #f0f0f0;
}
.course_input_area .area_cont .input_notice {
  display: inline-block;
  margin: 0 0 8px 0;
  padding: 0;
  width: 100%;
  font-size: 0.84rem;
  color: #555;
}
.course_input_area .area_cont input[type=text],
.course_input_area .area_cont input[type=email],
.course_input_area .area_cont input[type=tel],
.course_input_area .area_cont textarea,
.course_input_area .area_cont select {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  /* paddingとborderがwidthに含まれる */
}
.course_input_area .area_cont input[type=text]:focus,
.course_input_area .area_cont input[type=email]:focus,
.course_input_area .area_cont input[type=tel]:focus,
.course_input_area .area_cont textarea:focus,
.course_input_area .area_cont select:focus {
  border-color: #4CAF50;
  background: #eaf6ff;
  outline: none;
}
.course_input_area .area_cont select {
  width: 50%;
}
.course_input_area .area_cont .bag_color_group {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0.5em;
  width: 100%;
}
.course_input_area .area_cont .bag_color_group .bag-txt {
  position: relative;
  display: block;
  margin: 0;
  padding: 3px 0 3px 40px;
  width: 24%;
  font-size: 1rem;
  font-weight: normal;
  color: #000;
  border-left: none;
  cursor: pointer;
}
.course_input_area .area_cont .bag_color_group .bag-txt::before, .course_input_area .area_cont .bag_color_group .bag-txt::after {
  content: "";
  position: absolute;
  display: block;
}
.course_input_area .area_cont .bag_color_group .bag-txt::before {
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  padding: 0;
  width: 26px;
  height: 26px;
  background-color: #fff;
  border-radius: 4px;
  border: 1px solid #ddd;
}
.course_input_area .area_cont .bag_color_group .bag-txt::after {
  top: 30%;
  left: 8px;
  width: 16px;
  height: 10px;
  border-bottom: 3px solid #b82d2d;
  border-left: 3px solid #b82d2d;
  transform: rotate(-45deg) translateY(-30%);
  opacity: 0;
}
.course_input_area .area_cont .bag_color_group .visually-hidden {
  position: absolute;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
}
.course_input_area .area_cont .bag_color_group input[name=bag_color]:checked + .bag-txt::after {
  opacity: 1;
}
.course_input_area .area_cont textarea {
  padding: 6px 10px;
  width: 100%;
  height: 160px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

/*
* 受講講座テーブル確認画面
*--------------------------------------------*/
.course_input_area_confirm {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 94%;
  margin: 0 auto 12px auto;
  padding: 1em 0;
  background: #f0f0f0;
  border-radius: 10px;
}
.course_input_area_confirm .area_head,
.course_input_area_confirm .area_cont {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0 1em;
  height: 60px;
  text-align: left;
}
.course_input_area_confirm .area_head {
  position: relative;
  width: 22%;
  font-size: 1rem;
}
.course_input_area_confirm .area_head::before {
  content: "";
  margin-right: 14px;
  height: 40px;
  border: 3px solid #acc6df;
}
.course_input_area_confirm .area_cont {
  margin: 0;
  padding-left: 1.5em;
  width: 78%;
}
.course_input_area_confirm .area_cont .conf_data {
  padding: 6px 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #f6f6f6;
}
.course_input_area_confirm .area_cont .conf_data.item_error {
  background: #fff1f8;
}
.course_input_area_confirm .area_cont.course_group {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.course_input_area_confirm .area_cont.course_group .course_name_conf {
  width: 76%;
}
.course_input_area_confirm .area_cont.course_group .product_id_conf {
  width: 22%;
}

/*
* 受講講座以外の入力テーブル
*--------------------------------------------*/
.data_input_tbl {
  width: 94%;
  margin: 0 auto;
  border-collapse: collapse;
}
.data_input_tbl .tbl_head,
.data_input_tbl .tbl_cont {
  margin: 0;
  padding: 0.8em 1em;
  text-align: left;
}
.data_input_tbl .tbl_head {
  position: relative;
  width: 32%;
  font-size: 1rem;
  background: #f3f3f3;
}
.data_input_tbl .tbl_head::before {
  content: "";
  margin-right: 10px;
  border: 3px solid #acc6df;
}
.data_input_tbl .tbl_head.required::after {
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
  content: "必須";
  display: inline-block;
  margin: 0 0 0 16px;
  padding: 0.2em 0;
  width: 40px;
  font-size: 0.64rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
  background: #af2727;
  border-radius: 3px;
}
.data_input_tbl .tbl_cont {
  padding-left: 1.5em;
  width: 68%;
}
.data_input_tbl .tbl_cont.course_group {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.data_input_tbl .tbl_cont.course_group .course_name {
  width: 78%;
}
.data_input_tbl .tbl_cont.course_group .product_id {
  width: 20%;
}
.data_input_tbl .tbl_cont.fee_group {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}
.data_input_tbl .tbl_cont.fee_group .fee_area {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  width: 48%;
}
.data_input_tbl .tbl_cont.fee_group .fee_area .fee {
  width: 50%;
}
.data_input_tbl .tbl_cont.fee_group .discount_area {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  width: 48%;
}
.data_input_tbl .tbl_cont.fee_group .discount_area .discount {
  width: 50%;
}
.data_input_tbl .tbl_cont.fee_group .fee_label {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 40%;
  height: 30px;
  font-size: 1rem;
  color: #000;
  text-align: center;
  background: #f0f0f0;
}
.data_input_tbl .tbl_cont .input_notice {
  display: inline-block;
  margin: 0 0 8px 0;
  padding: 0;
  width: 100%;
  font-size: 0.84rem;
  color: #555;
}
.data_input_tbl .tbl_cont input[type=text],
.data_input_tbl .tbl_cont input[type=email],
.data_input_tbl .tbl_cont input[type=tel],
.data_input_tbl .tbl_cont textarea,
.data_input_tbl .tbl_cont select {
  width: 100%;
  padding: 6px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  /* paddingとborderがwidthに含まれる */
}
.data_input_tbl .tbl_cont input[type=text]:focus,
.data_input_tbl .tbl_cont input[type=email]:focus,
.data_input_tbl .tbl_cont input[type=tel]:focus,
.data_input_tbl .tbl_cont textarea:focus,
.data_input_tbl .tbl_cont select:focus {
  border-color: #4CAF50;
  background: #eaf6ff;
  outline: none;
}
.data_input_tbl .tbl_cont input[name=zip] {
  width: 30%;
}
.data_input_tbl .tbl_cont select {
  width: 60%;
}
.data_input_tbl .tbl_cont .bag_color_group {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0.5em;
  width: 100%;
}
.data_input_tbl .tbl_cont .bag_color_group .bag-txt {
  position: relative;
  display: block;
  margin: 0;
  padding: 3px 0 3px 40px;
  width: 24%;
  font-size: 1rem;
  font-weight: normal;
  color: #000;
  border-left: none;
  cursor: pointer;
}
.data_input_tbl .tbl_cont .bag_color_group .bag-txt::before, .data_input_tbl .tbl_cont .bag_color_group .bag-txt::after {
  content: "";
  position: absolute;
  display: block;
}
.data_input_tbl .tbl_cont .bag_color_group .bag-txt::before {
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  padding: 0;
  width: 26px;
  height: 26px;
  background-color: #fff;
  border-radius: 4px;
  border: 1px solid #ddd;
}
.data_input_tbl .tbl_cont .bag_color_group .bag-txt::after {
  top: 30%;
  left: 8px;
  width: 16px;
  height: 10px;
  border-bottom: 3px solid #b82d2d;
  border-left: 3px solid #b82d2d;
  transform: rotate(-45deg) translateY(-30%);
  opacity: 0;
}
.data_input_tbl .tbl_cont .bag_color_group .visually-hidden {
  position: absolute;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
}
.data_input_tbl .tbl_cont .bag_color_group input[name=bag_color]:checked + .bag-txt::after {
  opacity: 1;
}
.data_input_tbl .tbl_cont textarea {
  padding: 6px 10px;
  width: 100%;
  height: 160px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.error_msg {
  margin: 0 auto 16px auto;
  padding: 1.5em;
  width: 80%;
  font-size: 0.94rem;
  color: #b73131;
  text-align: center;
  line-height: 1.6rem;
  background: #fff9f9;
  border-radius: 5px;
}

.action_msg {
  margin: 24px auto 0 auto;
  padding: 1.5em;
  width: 90%;
  font-size: 0.94rem;
  color: #333;
  line-height: 1.6rem;
  background: #f6f6f6;
  border-radius: 5px;
}

/*
* サイドメニュー
*---------------------------------*/
.side_menu_area {
  position: fixed;
  top: 0;
  left: -450px;
  width: 450px;
  height: 100%;
  margin: 0;
  padding: 60px 1.5em 0 70px;
  background: #fff;
  filter: drop-shadow(3px 0 6px rgba(0, 0, 0, 0.2));
  z-index: 2;
  /*
  * 設定メニュー
  *-----------------------------------------------------*/
}
.side_menu_area .sidemenu_btn {
  position: absolute;
  display: block;
  top: 260px;
  left: 450px;
  margin: 0;
  padding: 0;
  width: 52px;
  height: 240px;
  background-color: #4c5482;
  border-radius: 0 5px 5px 0;
  border: none;
}
.side_menu_area .side_area_title {
  display: flex;
  align-items: center;
  margin: 0 auto;
  padding: 0 1.5em;
  width: 100%;
  height: 40px;
  font-size: 1.1rem;
  font-weight: 800;
  color: #666;
  border: 1px solid #eee;
  border-radius: 5px;
}
.side_menu_area .side_area_title:not(:first-of-type) {
  margin-top: 60px;
}
.side_menu_area .side_menu {
  margin: 24px auto 0 auto;
  padding: 0;
  width: 100%;
}
.side_menu_area .side_menu .menu_list {
  margin: 24px 0 16px 0;
  padding: 0;
  width: 100%;
  list-style: none;
}
.side_menu_area .side_menu .menu_list .list_title,
.side_menu_area .side_menu .menu_list .list_title > a {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 1.1rem;
  font-weight: 500;
  color: #095572;
  text-decoration: none;
}
.side_menu_area .side_menu .menu_list .list_title::before,
.side_menu_area .side_menu .menu_list .list_title > a::before {
  font-family: "Font Awesome 6 Free";
  font-size: 1.1rem;
  font-weight: 600;
  margin-right: 10px;
  padding-left: 0.8em;
}
.side_menu_area .side_menu .menu_list .list_title.dashboard::before,
.side_menu_area .side_menu .menu_list .list_title > a.dashboard::before {
  content: "\f015";
}
.side_menu_area .side_menu .menu_list .list_title.data_check::before,
.side_menu_area .side_menu .menu_list .list_title > a.data_check::before {
  content: "\f0ce";
}
.side_menu_area .side_menu .menu_list .list_title.data_input::before,
.side_menu_area .side_menu .menu_list .list_title > a.data_input::before {
  content: "\f044";
}
.side_menu_area .side_menu .menu_list .list_title .setting::before,
.side_menu_area .side_menu .menu_list .list_title > a .setting::before {
  content: "\f013";
}
.side_menu_area .side_menu .menu_list .list_title > a {
  display: inline-block;
  padding: 0.5em 0;
}
.side_menu_area .side_menu .menu_list .list_title > a:hover {
  color: #fff;
  background: #3b98af;
  transition: all 0.3s;
}
.side_menu_area .side_menu .menu_list .list_contents {
  margin: 12px auto 0 auto;
  padding: 0 0 0 10%;
  width: 100%;
  /* 設定メニューはホバー色を変える */
}
.side_menu_area .side_menu .menu_list .list_contents .sub_menu {
  margin: 0;
  padding: 0;
  width: 100%;
}
.side_menu_area .side_menu .menu_list .list_contents .sub_menu .sub_list_contents {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  color: #32474f;
}
.side_menu_area .side_menu .menu_list .list_contents .sub_menu .sub_list_contents::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  margin-right: 10px;
  padding-left: 0.8em;
}
.side_menu_area .side_menu .menu_list .list_contents .sub_menu .sub_list_contents > a {
  display: inline-block;
  margin: 0;
  padding: 0.5em 0;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  color: #345f6f;
  text-decoration: none;
}
.side_menu_area .side_menu .menu_list .list_contents .sub_menu .sub_list_contents > a .site_label {
  display: inline-block;
  align-items: center;
  margin: 0 6px 0 0;
  padding: 0.2em;
  width: 60px;
  font-size: 0.8rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  border-radius: 4px;
}
.side_menu_area .side_menu .menu_list .list_contents .sub_menu .sub_list_contents > a .site_label.sara {
  background: #ca66c8;
}
.side_menu_area .side_menu .menu_list .list_contents .sub_menu .sub_list_contents > a .site_label.ryo {
  background: #226493;
}
.side_menu_area .side_menu .menu_list .list_contents .sub_menu .sub_list_contents > a:hover {
  color: #fff;
  background: #3b98af;
  transition: all 0.3s;
}
.side_menu_area .side_menu .menu_list .list_contents .sub_menu .sub_list_contents > a::before {
  content: "\f1c0";
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  margin-right: 10px;
  padding-left: 0.8em;
}
.side_menu_area .side_menu .menu_list .list_contents.sub_set .list_cont > a:hover {
  color: #fff;
  background: #836dbf;
  transition: all 0.3s;
}
.side_menu_area .setting_menu {
  margin: 24px auto 0 auto;
  padding: 0;
  width: 100%;
}
.side_menu_area .setting_menu .setting_menu_list {
  margin: 24px 0 16px 0;
  padding: 0;
  width: 100%;
  list-style: none;
}
.side_menu_area .setting_menu .setting_menu_list .setting_title > a {
  display: inline-block;
  margin: 0;
  padding: 0.5em 0;
  width: 100%;
  font-size: 1.1rem;
  font-weight: 500;
  color: #095572;
  text-decoration: none;
}
.side_menu_area .setting_menu .setting_menu_list .setting_title > a:hover {
  color: #fff;
  background: #836dbf;
  transition: all 0.3s;
}
.side_menu_area .setting_menu .setting_menu_list .setting_title > a::before {
  font-family: "Font Awesome 6 Free";
  font-size: 1.1rem;
  font-weight: 600;
  margin-right: 10px;
  padding-left: 0.8em;
}
.side_menu_area .setting_menu .setting_menu_list .setting_title > a.setting::before {
  content: "\f013";
}
.side_menu_area .setting_menu .setting_menu_list .setting_list_contents {
  margin: 8px auto 0 auto;
  padding: 0 0 0 10%;
  width: 100%;
  /* 設定メニューはホバー色を変える */
}
.side_menu_area .setting_menu .setting_menu_list .setting_list_contents .setting_sub_menu {
  margin: 0;
  padding: 0;
  width: 100%;
}
.side_menu_area .setting_menu .setting_menu_list .setting_list_contents .setting_sub_menu .setting_sub_contents {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  color: #32474f;
}
.side_menu_area .setting_menu .setting_menu_list .setting_list_contents .setting_sub_menu .setting_sub_contents::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  margin-right: 10px;
  padding-left: 0.8em;
}
.side_menu_area .setting_menu .setting_menu_list .setting_list_contents .setting_sub_menu .setting_sub_contents > a {
  display: inline-block;
  margin: 0;
  padding: 0.5em 0;
  width: 100%;
  font-size: 1rem;
  font-weight: 500;
  color: #345f6f;
  text-decoration: none;
}
.side_menu_area .setting_menu .setting_menu_list .setting_list_contents .setting_sub_menu .setting_sub_contents > a .site_label {
  display: inline-block;
  align-items: center;
  margin: 0 6px 0 0;
  padding: 0.2em;
  width: 60px;
  font-size: 0.8rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  border-radius: 4px;
}
.side_menu_area .setting_menu .setting_menu_list .setting_list_contents .setting_sub_menu .setting_sub_contents > a .site_label.sara {
  background: #ca66c8;
}
.side_menu_area .setting_menu .setting_menu_list .setting_list_contents .setting_sub_menu .setting_sub_contents > a .site_label.ryo {
  background: #226493;
}
.side_menu_area .setting_menu .setting_menu_list .setting_list_contents .setting_sub_menu .setting_sub_contents > a:hover {
  color: #fff;
  background: #836dbf;
  transition: all 0.3s;
}
.side_menu_area .setting_menu .setting_menu_list .setting_list_contents .setting_sub_menu .setting_sub_contents > a::before {
  content: "\f1c0";
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  margin-right: 10px;
  padding-left: 0.8em;
}
.side_menu_area .setting_menu .setting_menu_list .setting_list_contents.sub_set .list_cont > a:hover {
  color: #fff;
  background: #836dbf;
  transition: all 0.3s;
}

/*
* ログデータ種別選択
*---------------------------*/
.log_type_select {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto 40px auto;
  padding: 1.2em 1.5em;
  width: 100%;
  background: #fafafa;
  border: 1px solid #eee;
  border-radius: 5px;
}
.log_type_select .select_list {
  margin: 0;
  padding: 0;
  width: 24%;
  height: 40px;
}
.log_type_select .select_list > a {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  font-size: 1rem;
  color: #000;
  text-decoration: none;
  background: #fff;
  border: 1px solid #e7e7e7;
  border-radius: 4px;
  transition: all 0.4s;
}
.log_type_select .select_list > a .site_type {
  display: inline-block;
  margin: 0 12px 0 0;
  padding: 0.2em 0;
  width: 100px;
  font-size: 0.8rem;
  color: #fff;
  text-align: center;
  border-radius: 4px;
}
.log_type_select .select_list > a .site_type.sara {
  background: #ca66c8;
}
.log_type_select .select_list > a .site_type.ryo {
  background: #226493;
}
.log_type_select .select_list > a:hover {
  color: #fff;
  background: #307eb2;
  border-color: #307eb2;
}
.log_type_select .select_list > a.current {
  color: #fff;
  background: #d13169;
  border-color: #d13169;
}

/*
* 資料請求ログテーブル
*---------------------------*/
.doc_log_data_tbl {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  border-collapse: collapse;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}
.doc_log_data_tbl tr:nth-of-type(2n) .tbl_cont:not(.td1) {
  background-color: #fafafa;
}
.doc_log_data_tbl tr.data_delete .tbl_cont {
  background: #c1c1c1 !important;
  opacity: 0.2;
}
.doc_log_data_tbl .tbl_head {
  margin: 0;
  padding: 0.6em 0.8em;
  font-size: 0.9rem;
  font-weight: 500;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  background: #e4f7fa;
}
.doc_log_data_tbl .tbl_head + .tbl_head {
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}
.doc_log_data_tbl .tbl_cont {
  margin: 0;
  padding: 0.8em;
  font-size: 0.9rem;
  border-bottom: 1px solid #ddd;
}
.doc_log_data_tbl .tbl_cont + .tbl_cont {
  border-left: 1px solid #eee;
}
.doc_log_data_tbl .tbl_cont .phonetic_txt {
  font-size: 0.8rem;
}
.doc_log_data_tbl .td1 {
  text-align: center;
  background: #f6f6f6;
  border-bottom: 1px solid #ccc;
}
.doc_log_data_tbl .td4 {
  text-align: center;
}
.doc_log_data_tbl .view_detail {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 90px;
  height: 40px;
  font-size: 0.9rem;
  font-weight: 500;
  color: #4b3e05;
  background: #fde370;
  border: none;
  border-radius: 4px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.4s;
}
.doc_log_data_tbl .view_detail:hover {
  color: #fff;
  background: #bf4b28;
}
.doc_log_data_tbl .view_detail:disabled {
  color: #888;
  background: #ccc;
  pointer-events: none;
}
.doc_log_data_tbl .data_edit {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 90px;
  height: 40px;
  font-size: 0.9rem;
  font-weight: 500;
  color: #731c16;
  background: #fdcdca;
  border: none;
  border-radius: 4px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.4s;
}
.doc_log_data_tbl .data_edit:hover {
  color: #fff;
  background: #bf4b28;
}
.doc_log_data_tbl .data_edit:disabled {
  color: #888;
  background: #ccc;
  pointer-events: none;
}

/*
* 受講申込みログテーブル
*---------------------------*/
.app_log_data_tbl {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  border-collapse: collapse;
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}
.app_log_data_tbl tr:nth-of-type(2n) .tbl_cont:not(.td1) {
  background-color: #fafafa;
}
.app_log_data_tbl tr.error_line .tbl_cont {
  background: #fff1f8 !important;
}
.app_log_data_tbl tr.data_delete .tbl_cont {
  background: #c1c1c1 !important;
  opacity: 0.2;
}
.app_log_data_tbl .tbl_head {
  margin: 0;
  padding: 0.6em 0.5em;
  font-size: 0.9rem;
  font-weight: 500;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  background: #f3e4fa;
}
.app_log_data_tbl .tbl_head + .tbl_head {
  border-left: 1px solid #ddd;
  border-right: 1px solid #ddd;
}
.app_log_data_tbl .tbl_cont {
  margin: 0;
  padding: 0.8em 1em;
  font-size: 0.9rem;
  border-bottom: 1px solid #ccc;
}
.app_log_data_tbl .tbl_cont + .tbl_cont {
  border-left: 1px solid #eee;
}
.app_log_data_tbl .tbl_cont .phonetic_txt {
  font-size: 0.8rem;
}
.app_log_data_tbl .list_row:nth-of-type(2n+1) .td1 {
  background: #f0f0f0;
}
.app_log_data_tbl .td1 {
  text-align: center;
  background: #f1f1f1;
  border-top: 1px solid #ddd;
}
.app_log_data_tbl .td4,
.app_log_data_tbl .td5,
.app_log_data_tbl .td13 {
  text-align: center;
}
.app_log_data_tbl .view_detail {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 90px;
  height: 40px;
  font-size: 0.9rem;
  font-weight: 500;
  color: #4b3e05;
  background: #fde370;
  border: none;
  border-radius: 4px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.4s;
}
.app_log_data_tbl .view_detail:hover {
  color: #fff;
  background: #bf4b28;
}
.app_log_data_tbl .view_detail:disabled {
  color: #888;
  background: #ccc;
  pointer-events: none;
}
.app_log_data_tbl .data_edit {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 90px;
  height: 40px;
  font-size: 0.9rem;
  font-weight: 500;
  color: #731c16;
  background: #fdcdca;
  border: none;
  border-radius: 4px;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.4s;
}
.app_log_data_tbl .data_edit:hover {
  color: #fff;
  background: #bf4b28;
}
.app_log_data_tbl .data_edit:disabled {
  color: #888;
  background: #ccc;
  pointer-events: none;
}

/*
* 設定ページタイトル
*--------------------------------------------*/
.setting_page_title {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto 32px auto;
  padding: 0.8em 1.4em;
  width: 80%;
  font-size: 1.2rm;
  color: #333;
  background: #fff;
  border-radius: 10px;
}
.setting_page_title .target_label {
  display: inline-block;
  margin: 0 12px 0 0;
  padding: 0.2em 0;
  width: 140px;
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
  border-radius: 4px;
}
.setting_page_title .target_label.sara {
  background: #ca66c8;
}
.setting_page_title .target_label.ryo {
  background: #226493;
}
.setting_page_title .main_title {
  display: inline-block;
  margin: 0;
  padding: 0;
  width: 70%;
  font-size: 1.5rem;
}
.setting_page_title .main_title::before {
  content: "\f1c0";
  margin-right: 10px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  color: #25539e;
}
.setting_page_title .term_setting::before {
  content: "\f073";
  margin-right: 10px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
  color: #25539e;
}
.setting_page_title .back_to_setting {
  margin: 0;
  padding: 0;
  width: 22%;
}
.setting_page_title .back_to_setting > a {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 40px;
  font-size: 1rem;
  color: #fff;
  text-decoration: none;
  background: #5079a2;
  border-radius: 4px;
  transition: all 0.4s;
}
.setting_page_title .back_to_setting > a::before {
  content: "\f3e5";
  margin-right: 8px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
}
.setting_page_title .back_to_setting > a:hover {
  background: #28598a;
}

/*
* 設定メニュー
*--------------------------------------------*/
.setting_menu_list {
  margin: 0 auto;
  padding: 2em 3em;
  width: 100%;
  border: 1px solid #ddd;
  border-radius: 10px;
}
.setting_menu_list .menu_list {
  margin: 0 0 8px 0;
  padding: 0;
  width: 100%;
}
.setting_menu_list .menu_list > a {
  font-size: 1rem;
  color: #193e6f;
  text-decoration: none;
  transition: all 0.4s;
}
.setting_menu_list .menu_list > a::before {
  content: "\f152";
  margin-right: 8px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
}
.setting_menu_list .menu_list > a:hover {
  color: #972121;
}

/*
* 使用開始ボタン
*--------------------------------------------*/
.init_for_start {
  margin: 6em auto 0 auto;
  padding: 1.5em 0 0 0;
  width: 100%;
  border-top: 1px solid #ccc;
}
.init_for_start #initial_to_start {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  width: 320px;
  height: 50px;
  font-size: 0.9rem;
  color: #fff;
  background: #892929;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.4s;
}
.init_for_start #initial_to_start:hover {
  background: #b72727;
}

/*
* 【キャンペーン：共通】処理ボタン設定
*--------------------------------------------*/
.action_btn_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 56px auto 16px auto;
  padding: 0;
  width: 70%;
  text-align: center;
}
.action_btn_area .reg_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 40%;
  height: 50px;
  font-size: 1rem;
  color: #1a5379;
  text-decoration: none;
  text-align: center;
  border: 1px solid #3879a4;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.4s;
}
.action_btn_area .reg_btn:hover {
  font-weight: 500;
  color: #fff;
  background: #3879a4;
}
.action_btn_area .list_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  height: 50px;
  font-size: 1rem;
  color: #1b797f;
  text-decoration: none;
  border: 1px solid #389da4;
  border-radius: 5px;
  transition: all 0.4s;
}
.action_btn_area .list_btn:hover {
  font-weight: 500;
  color: #fff;
  background: #389da4;
}
.action_btn_area .list_btn.btn_solo {
  width: 50%;
}
.action_btn_area .add_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  height: 50px;
  font-size: 1rem;
  color: #831d70;
  text-decoration: none;
  border: 1px solid #a43890;
  border-radius: 5px;
  transition: all 0.4s;
}
.action_btn_area .add_btn:hover {
  font-weight: 500;
  color: #fff;
  background: #a43890;
}
.action_btn_area .btn_list {
  margin: 0;
  padding: 0;
  width: 47%;
}

/*
* 【キャンペーン】トップページ
*--------------------------------------------*/
.campaign_tbl_title {
  display: flex;
  align-items: center;
  margin: 0 auto 16px auto;
  padding: 0 1em;
  width: 100%;
  height: 50px;
  font-size: 1.3rem;
  font-weight: 500;
  color: #2b4580;
  background: #f6f9ff;
  border-radius: 4px;
}
.campaign_tbl_title:not(:first-of-type) {
  margin-top: 40px;
}
.campaign_tbl_title .site_label {
  display: inline-block;
  align-items: center;
  margin: 0 10px 0 0;
  padding: 0.15em 0 0.3em 0;
  width: 140px;
  height: 30px;
  font-size: 1rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  border-radius: 4px;
}
.campaign_tbl_title .site_label.sara {
  background: #ca66c8;
}
.campaign_tbl_title .site_label.ryo {
  background: #226493;
}

/* キャンペーン一覧テーブル */
.campaign_tbl {
  margin: 24px auto 0 auto;
  padding: 0;
  width: 100%;
  border-collapse: collapse;
  border-left: 1px solid #eee;
  border-right: 1px solid #eee;
  border-bottom: 1px solid #eee;
}
.campaign_tbl .tbl_head {
  margin: 0;
  padding: 0.4em 0;
  font-size: 0.94rem;
  color: #222;
  text-align: center;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  background: #f6f6f6;
}
.campaign_tbl .tbl_head + .tbl_head {
  border-left: 1px solid #ddd;
}
.campaign_tbl .tbl_head.th1 {
  width: 5%;
}
.campaign_tbl .tbl_head.th2 {
  width: 42%;
}
.campaign_tbl .tbl_head.th3 {
  width: 18%;
}
.campaign_tbl .tbl_head.th4 {
  width: 13%;
}
.campaign_tbl .tbl_head.th5 {
  width: 22%;
}
.campaign_tbl tr:nth-of-type(2n) .tbl_cont {
  background: #fcfcfc;
}
.campaign_tbl .tbl_cont {
  margin: 0;
  padding: 0.8em 1em;
  font-size: 0.94rem;
  color: #333;
}
.campaign_tbl .tbl_cont + .tbl_cont {
  border-left: 1px solid #eee;
  border-top: 1px solid #eee;
}
.campaign_tbl .tbl_cont.td1 {
  border-bottom: 1px solid #eee;
}
.campaign_tbl .tbl_cont.td1, .campaign_tbl .tbl_cont.td3, .campaign_tbl .tbl_cont.td4, .campaign_tbl .tbl_cont.td5 {
  text-align: center;
}
.campaign_tbl .tbl_cont.td4, .campaign_tbl .tbl_cont.td5 {
  padding-left: 0;
  padding-right: 0;
}
.campaign_tbl .tbl_cont .edit_btn,
.campaign_tbl .tbl_cont .del_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 0;
  width: 80%;
  height: 30px;
  font-size: 0.9rem;
  background: #fff;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.4s;
}
.campaign_tbl .tbl_cont .edit_btn {
  color: #45831a;
  border: 1px solid #6cb339;
}
.campaign_tbl .tbl_cont .edit_btn:hover {
  color: #fff;
  background: #6cb339;
}
.campaign_tbl .tbl_cont .del_btn {
  color: #be5d3f;
  border: 1px solid #e18d74;
}
.campaign_tbl .tbl_cont .del_btn:hover {
  color: #fff;
  background: #e18d74;
}

/*
* 【キャンペーン】処理完了ページ
*--------------------------------------------*/
.complete_msg {
  margin: 20px auto 0 auto;
  padding: 1.2em 0;
  width: 70%;
  font-size: 1.2rem;
  color: #336916;
  text-align: center;
  border: 1px solid #d2f4c0;
  border-radius: 10px;
}
.complete_msg::before {
  content: "\f058";
  margin-right: 10px;
  font-family: "Font Awesome 6 Free";
  font-weight: 600;
}

/*
* 【受講期間の選択設定】トップページ
*--------------------------------------------*/
.term_setting_tbl_title {
  display: flex;
  align-items: center;
  margin: 0 auto 16px auto;
  padding: 0 1em;
  width: 100%;
  height: 50px;
  font-size: 1.3rem;
  font-weight: 500;
  color: #2b4580;
  background: #f6f9ff;
  border-radius: 4px;
}
.term_setting_tbl_title:not(:first-of-type) {
  margin-top: 40px;
}

/*
* 【受講期間の選択設定】テーブル
*--------------------------------------------*/
.term_setting_tbl {
  margin: 24px auto 0 auto;
  padding: 0;
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ddd;
}
.term_setting_tbl .tbl_head {
  margin: 0;
  padding: 1.3em 0;
  width: 30%;
  font-size: 0.94rem;
  color: #222;
  text-align: center;
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
  background: #f6f6f6;
}
.term_setting_tbl tr:not(:last-child) .tbl_cont {
  border-bottom: 1px solid #eee;
}
.term_setting_tbl tr.term_default_line {
  display: none;
}
.term_setting_tbl .tbl_cont {
  margin: 0;
  padding: 0.8em 1em;
  width: 70%;
  font-size: 0.94rem;
  color: #333;
}
.term_setting_tbl .tbl_cont .term_select_set {
  float: left;
  margin: 0;
  padding: 0;
  width: 100%;
}
.term_setting_tbl .tbl_cont .term_select_set > input {
  display: none;
}
.term_setting_tbl .tbl_cont .term_select_set label {
  display: block;
  float: left;
  cursor: pointer;
  width: 50%;
  margin: 0;
  padding: 0.8em 0;
  border-right: 1px solid #d7d7d7;
  background: #e5e5e5;
  color: #555e64;
  font-size: 1rem;
  text-align: center;
  line-height: 1;
  transition: 0.2s;
}
.term_setting_tbl .tbl_cont .term_select_set label:last-of-type {
  border-right: 0px;
}
.term_setting_tbl .tbl_cont .term_select_set input[type=radio]:checked + label {
  background-color: #a1b91d;
  color: #fff;
}
.term_setting_tbl .tbl_cont .term_default_set {
  float: left;
  margin: 0;
  padding: 0;
  width: 100%;
}
.term_setting_tbl .tbl_cont .term_default_set > input {
  display: none;
}
.term_setting_tbl .tbl_cont .term_default_set label {
  display: block;
  float: left;
  cursor: pointer;
  width: 50%;
  margin: 0;
  padding: 0.8em 0;
  border-right: 1px solid #d7d7d7;
  background: #e5e5e5;
  color: #555e64;
  font-size: 1rem;
  text-align: center;
  line-height: 1;
  transition: 0.2s;
}
.term_setting_tbl .tbl_cont .term_default_set label:last-of-type {
  border-right: 0px;
}
.term_setting_tbl .tbl_cont .term_default_set input[type=radio]:checked + label {
  background-color: #dcac26;
  color: #fff;
}/*# sourceMappingURL=style.css.map */