/**
 * main.cssは受領した内容を保持する方針のため
 * 本CSSファイルで追加、変更を行う。
 * そのため、main.cssより後に読み込む
 */

/* 選択行の背景色 */
tr.selected {
  background-color:#F7E1CF;
}

/* 非表示項目 */
.display_none {
  display: none;
}
.now_rap{
  white-space: nowrap;
}

/* エラー画面用 */
.break_line_right{
  border-right: 1px solid #ccc;
}

/* 検索エリアの罫線 */
.condition_hr {
  border:1px solid;
  border-color:#d0cecd;
  transform: scaleY(.5);
  transform-origin: 100% 0;
}

/* color */
.color_C1001B {
  color:#C1001B;
}
 
/* インフォメーションメッセージ文字色 */
li.info {
  color:#000;
}

/* float */
.float_left {
  float:left;
}
.float_right {
  float:right;
}

/* font-size */
.font_size_13px {
  font-size:13px;
}

/* text-align */
.text_align_right {
  text-align:right;
}

/* margin-top */
.margin_top_10px {
  margin-top:10px;
}
.margin_top_15px {
  margin-top:15px;
}
.margin_top_30px {
  margin-top:30px;
}
.margin_top_53px {
  margin-top:53px;
}
.margin_top_70px {
  margin-top:70px;
}
/* margin-bottom */
.margin_bottom_30px {
  margin-bottom:30px;
}
.margin_bottom_20px {
  margin-bottom:20px;
}
/* margin-left */
.margin_left_10px {
  margin-left:10px;
}
.margin_left_20px {
  margin-left:20px;
}
.margin_left_30px {
  margin-left:30px;
}
.margin_left_45px {
  margin-left:45px;
}
.margin_left_60px {
  margin-left:60px;
}
.margin_left_105px {
  margin-left:105px;
}
.margin_left_150px {
  margin-left:150px;
}

/* margin-right */
.margin_right_0 {
  margin-right:0;
}
.margin_right_10px {
  margin-right:10px;
}
.margin_right_30px {
  margin-right:30px;
}
.margin_right_15per {
  margin-right:15%;
}

/* width */
.width_auto {
  width:auto;
}

.width_15per {
  width:15% !important;
}
.width_20per {
  width:20% !important;
}
.width_25per {
  width:25% !important;
}
.width_30per {
  width:30% !important;
}
.width_35per {
  width:35% !important;
}
.width_40per {
  width:40% !important;
}
.width_50per {
  width:50% !important;
}
.width_70per {
  width:70% !important;
}
.width_75per {
  width:75% !important;
}
.width_84per {
  width:84% !important;
}
.width_85per {
  width:85% !important;
}
.width_100per {
  width:100%;
}
.width_200per {
  width:200% !important;
}
.width_290per {
  width:290% !important;
}
.width_30px {
  width:30px;
}
.width_50px {
  width:50px;
}
.width_90px {
  width:90px;
}
.width_50px {
  width:50px;
}
.width_105px {
  width:105px;
}
.width_120px {
  width:120px;
}
.width_130px {
  width:130px;
}
.width_220px {
  width:220px;
}
.width_254px {
  width:254px;
}
.width_440px {
  width:440px;
}
.width_300px {
  width:300px;
}
/* min-width */
.min_width_180px {
  min-width:180px;
}

/* word-break */
.word_break_keep_all {
  word-break:keep-all;
}

/* word-break break-word*/
.word_break_break_word {
  word-break:break-word 
}

/* word-break:break-all*/
.word_break_break_all {
  word-break:break-all
}
/* word-break:break-all*/
.white_space_pre_wrap {
  white-space: pre-wrap;
}
.line_height_content{
    line-height: normal;
}

/* word-wrap:break-word*/
.word_wrap_break_word {
  word-wrap:break-word
}

/* プロジェクト登録・更新：目標値の表示 */
.target_value {
  float:left;
  width: 65%;
  min-height:1px;
}

/* アンケート登録：設問タイトル */
.questionTitle {
  font-weight:bold;
}

/* アンケート登録：択一選択表示 */
.questionSingle {
  text-align:center;
  vertical-align:top;
}

/* アンケート登録：自由入力表示 */
.questionFree {
  width:80%;
  height:100px;
}
.overLength {
  color:#ff0000;
  font-weight:bold;
}

/* アンケート登録：5段階評価表示 */
.questionRating {
  text-align:center;
  vertical-align:top;
  width:15%;
}

/* アンケート登録：5段階評価表示 */
.questionRatingLabel {
  display:inline-block;
  width:100%;
}

/* アンケート登録：エラー演出 */
label.error_form {
  background-color: #F3CCD1 !important;
  background: #FFF url(../img/error.svg) left center no-repeat;
  padding-left: 30px;
}

/* 通知予約日 */
.notification_date {
  display:inline-block;
  vertical-align: middle;
  width:105px;
  height:35px !important;
  margin-right: 5px;
}

/* リンク文字色 */
a.link {
  color:#FFF;
}

/* 目標値の単位 */
.target_value_unit {
    font-size: 8px;
    font-weight: bold;
}

/** 施策・取組計画 KPIインデント */
.table_area .group_measure_indent {
  padding-left: 10%;
}

/* ページネーション */
.pagination li.string {
    font-family: 游ゴシック;
    font-size: 14px;
    font-weight: bold;
    font-style: normal;
    font-stretch: normal;
    letter-spacing: normal;
    text-align: left;
}
.pagination li.number {
    font-family: 游ゴシック;
    font-size: 18px;
    font-weight: bold;
    font-style: normal;
    font-stretch: normal;
    letter-spacing: normal;
    text-align: left;
}
.pagination li a.visited {
  pointer-events: none;
}
.pagination li a.more {
  pointer-events: none;
}

/* radioボタンの色変更 */
.radio-input + label::before{
  border: 1px solid #180D09;
}
.radio-input:checked + label::after{
  background: #180D09;
}
.radio02-input + label::before{
  border: 1px solid #180D09;
}
.radio02-input:checked + label::after{
  background: #180D09;
}

/* checkboxのth:fieldに対応する隣接セレクタ */
.checkbox01-input:checked + input + .checkbox01-parts{
  color: #a29e9c;
}
.checkbox01-input:checked + input + .checkbox01-parts::after{
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 5px;
  width: 5px;
  height: 9px;
  transform: rotate(40deg);
  border-bottom: 2px solid #a29e9c;
  border-right: 2px solid #a29e9c;
}

/* アンケート回答登録のチェックボックス */
.checkbox02-input{
  display: none;
}
.checkbox02-parts{
  position:relative;
  margin-right: 20px;
}
.checkbox02-parts::before{
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 0;
  width: 15px;
  height: 15px;
  border: solid 1px #d0cecd;
  background: #fff;
}
.checkbox02-input:checked + input + .checkbox02-parts{
  color: #a29e9c;
}
.checkbox02-input:checked + input + .checkbox02-parts::after{
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 5px;
  width: 5px;
  height: 9px;
  transform: rotate(40deg);
  border-bottom: 2px solid #a29e9c;
  border-right: 2px solid #a29e9c;
}

/* 検索条件エリアのセレクトボックス大(プロジェクト名など) */
div.project_select {
  display:inline-block;
  vertical-align: middle;
  height:33px;
  line-height:33px;
  width:290%;
}

/* 検索条件エリアのセレクトボックス小 */
div.search_select_s {
  display:inline-block;
  vertical-align: middle;
  height:33px;
  line-height:33px;
  width:90%;
}

/* モーダル画面エリアのセレクトボックス大 */
div.modal_select {
  display:inline-block;
  vertical-align: middle;
  height:33px;
  line-height:33px;
  width:240%;
}

/* CSVアップロードボタン */
#select_filename {
  display: inline-block;
  background: none;
  box-shadow: none;
  border: none;
  outline: 0;
  font-size: 16px;
  font-weight: bold;
  width: 750px;
}

/* 横並びの選択ボタン（ポジティブ） */
.choice_btn {
  width: 240px;
  border-radius: 8px;
  border:solid 1px #c1001b;
  background-color: #fff;
  color: #c1001b;
  font-size: 16px;
  font-weight: bold;
  cursor:pointer;
  transition: .4s;
  line-height: 36px;
  padding: 0 20px;
  margin: 0 15px;
}
.choice_btn:hover{
  background: #c1001b;
  color: white;
}

/* トグルボタンのスタイルをdesableクラスではなく、disableで実装 */
.switchArea input:disabled + label {
  border         : 1px solid #a29e9c;
}
.switchArea input[type="checkbox"]:checked:disabled + label {
  border         : 1px solid #D4E5EE;
  background     : #D4E5EE;
}
.switchArea input:disabled + label .switchbox {
  background     : #a29e9c;
}

/* search_btnsと同様のデザインで検索ボタンではない場合 */
.row_btns {
  text-align: center;
  margin: 20px 0 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.center_btns{
    text-align: center;
}

/* 開閉ボタン */
.fa-minus-square::before {
    color: #a29e9c;
}
.fa-plus-square::before {
    color: #a29e9c;
}

/* アコーディオン */
.accordion-check{
  display: none;
}
.accordion-label{
  background:#cd3348;
  color:#fff;
  font-weight:bold;
  display:block;
  margin-bottom:1px;
  padding:10px;
  border-radius: 4px;
}
.accordion-content{
  border:1px solid #d0cecd;
  height:0;
  opacity:0;
  padding:0 10px;
  transition:0s;
  visibility:hidden;
  border-radius: 4px;
}
.accordion-check:checked + .accordion-label + .accordion-content{
  height:auto;
  opacity:1;
  padding:10px;
  visibility:visible;
}

/* スライドメニュー */
.main_header_lists .open a {
  padding: 15px 0 15px 15px;
}

/* 左メニュー：ダッシュボードへのリンク */
a.dashboard_link {
  display: block;
  margin: 0;
  font-size: 0.9em;
  padding: 14px 0 14px 40px;
  background: url(../img/dashboard.svg) 14px center no-repeat;
}

/* ダッシュボードの中央コンテンツエリア */
.main_area_contents_box_1{
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
}
.dashbord_content {
  text-align: center;
  background-color: #fff;
  padding: 30px 15px 30px;
  margin: 0 auto;
}
.pbi_dashbord_content {
  text-align: center;
  background-color: #fff;
  padding: 10px 15px 10px;
  margin: 0 auto;
}

/* PowerBIレポート表示領域 */
.pbiReport {
  height:720px;   /* 2023/10/06 */
  width:100%;
}

/* home_iconのWindows7 IE対応 */
.home_icon {
  height: 14px;
  color: #287daa;
}

.multiple {
  overflow: hidden;
  width: 180px;
  text-align: center;
  box-sizing: content-box;
}
.multiple select {
  width: 100%;
  padding-right: 0.5em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}
.multiple select::-ms-expand {
  display: none;
}
.multiple.cp_sl01 {
  border: 1px solid #d1d1d1;
  border-radius: 4px;
  background: #ffffff;
}
.multiple.cp_sl01::before {
  position: absolute;
  top: 0.7em;
  right: 0.6em;
  width: 0;
  height: 0;
  padding: 0;
  content: '';
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 10px solid #180d09;
  pointer-events: none;
}
.multiple.cp_sl01 select {
  padding: 5px 30px 5px 10px;
  color: #180d09;
  font-size: 14px;
}

/* SP002, SP006, SP010 KGI/KPI一覧*/
.kgiKpi_table .bluebg{
  background-color: #d4e5ee;
  border-right: solid 1px #180d09;
  font-weight: bold;
  width: 26%;
}
.kgiKpi_table .sp010_bluebg {
  background-color: #d4e5ee;
  border-right: solid 1px #180d09;
  font-weight: bold;
  width: 20%;
}
.kgiKpi_table {
  margin-top: 0;
}
.kgiKpi_table table{
  width: 100%;
  border-collapse:separate;
  border-spacing: 0;
  border: solid 1px #180d09;
}
.kgiKpi_table table tr{
  border-bottom:solid 1px #180d09;
}
.kgiKpi_table table tr:first-child{
  white-space: nowrap;
}
.kgiKpi_table table th{
  text-align: center;
  padding: 7px 7px;
  border-bottom:solid 1px #180d09;
  background-color: #cd3348;
  color: #fff;
  font-size: 18px;
  height: 44px;
  border-right:solid 1px #180d09;
}
.kgiKpi_table table th:last-child {
  border-right:none;
}
.kgiKpi_table table td{
  padding: 10px 6px;
  border-right:solid 1px #d0cecd;
  border-bottom:solid 1px #d0cecd;
  color: #180d09;
  font-size: 14px;
  min-height: 40px;
}
.kgiKpi_table table td:last-child{
  border-right:none;
}
#scheduleListRow td:first-child{
  text-align: center;
}
.border_bottom_none {
    border-bottom:none;
}
.ex_margin_1{
  margin: 30px 0 30px 0;
}
.ex_margin_2{
  margin: 58px 0 33px 0;
}
.ex_margin_3{
  margin: 34px 0 118px 0;
}
.ex_margin_4{
  margin: 42px 0 126px 0;
}
.ex_margin_5{
  margin: 0 0 48px 0;
}
.ex_margin_6{
  margin: 14px 0 64px 0;
}
.ex_margin_7{
  margin: 30px 0 0 0;
}

/* テキストエリアエラー反転*/
textarea.error_form {
  border: solid 1px #c1001b !important;
  background-color: #F3CCD1 !important;
  color: #c1001b;
  background: #FFF url(../img/error.svg) right 20px center no-repeat;
  padding-right: 30px !important;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
 .update_btn_margin{
    margin: 0 15px
 }
/* text-align */
.ex_number {
  margin: 4px 0 0 0;    
  text-align:right !important;
  font-size:14px;  
}
.main_table_sp013 {
  margin-top: 10px;
  table-layout: fixed;
  overflow-y: hidden;
  overflow-x: hidden;
  word-break:break-all;

}
.main_table_sp013 table{
  width: 100%;
  border-collapse:separate;
  border-spacing: 0;
  border: solid 1px #180d09;
}
.main_table_sp013 table tr{
  border-bottom:solid 1px #180d09;
}
.main_table_sp013 table th{
  text-align: center;
  padding: 7px 7px;
  border-bottom:solid 1px #180d09;
  background-color: #cd3348;
  color: #fff;
  font-size: 18px;
  height: 44px;
  border-right:solid 1px #180d09;
}
.main_table_sp013 table th:last-child {
  border-right:none;
}
.main_table_sp013 table td{
  padding: 10px 6px;
  border-right:solid 1px #d0cecd;
  border-bottom:solid 1px #d0cecd;
  color: #180d09;
  font-size: 14px;
  min-height: 40px;
}
.main_table_sp013 table td:last-child{
  border-right:none;
}
.main_table_sp013 .bluebg{
  background-color: #d4e5ee;
  border-right: solid 1px #180d09;
  font-weight: bold;
  width: 26%;
}
.kpiHeader_multiple{
    padding-top: 20px;
}


/* #264,#742 グループメンバーマスター登録 */
.gm_update_submit_btn{
  width: 280px;
}

/* #329,#742 グループ施策・取組計画登録 */
.gm_select_update_btn{
  width: 280px;
  margin: 30px auto;
  display: block;
}
.gm_select_update_btn:hover{
  background: #c1001b;
  color: white;
}

/* #324 分析結果表示領域 */
#navanalysis{
  margin: 0 0 0 30px;
  width: 95%;
 }

/* #855 アンケート設問情報表示 */
.question_select_search {
  width: 260px;
  color: #c1001b;
  border-color: #c1001b;
  transition: .4s;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 15px;;
}
.question_select_search:hover{
  background: #c1001b;
  color: white;
}

#navanalysis ul{
  display: flex;
  font-size: 13px;
  color: #180d09;
  margin-top: 20px;
  margin-bottom: 0;
  padding: 0;
}

#navanalysis ul li{
  display: inline-block;
  line-height: 20px;
  margin: 0 2px;
}
#navanalysis ul li a{
  line-height: 25px;
  color: #287daa;
}
#navanalysis ul li span {
  line-height: 25px;
}
#navanalysis ul li p {
  line-height: 20px;
}
#navanalysis ul li.export_btn {
  margin-left: auto !IMPORTANT;
  display: flex;
  align-items: flex-start;
}
.export_note{
  margin: 0;
  padding: 0;
  line-height: 1.2;
  color: #c1001b;
  font-size: 12px;
  text-align: center;
}

/*スマホ対応*/
.main_table_mobile {
  margin-top: 5px;
  overflow-x: scroll;
}
.main_table_mobile table{
  width: 100%;
  border-collapse:separate;
  border-spacing: 0;
  border: solid 1px #180d09;
}
.border_bottom{
  border-bottom:solid 1px #180d09;
}
.main_table_mobile table tr:last-child{
  border-bottom:solid 1px #d0cecd;
}
.main_table_mobile table th{
  text-align: center;
  border-bottom:solid 1px #180d09;
  background-color: #cd3348;
  color: #fff;
  font-size: 18px;
  border-right:solid 1px #180d09;
}
.main_table_mobile table th:last-child {
  border-right:none;
}
.main_table_mobile table td{
  color: #180d09;
  font-size: 14px;
  min-height: 40px;
}
.main_table_mobile table td:last-child{
  border-right:none;
}

.main_mobile_btn {
  width: auto;
  border-radius: 8px;
  border:solid 1px #c1001b;
  background-color: #fff;
  color: #c1001b;
  font-size: 16px;
  font-weight: bold;
  margin: 0 auto;
  cursor:pointer;
  transition: .4s;
  padding: 1px 20px;
}
.desable_mobile_btn {
  border:solid 1px #a29e9c;
  background-color: #fff;
  color: #a29e9c;
}
.main_area_content_mobile {

  background-color: #fff;
  padding: 5px;
  margin: 0 auto;
  }
.main_area_contents_box_mobile{
  width: 100%;
  margin-top: 80px;
}
.main_area_contents_title_mobile {
  font-weight: bold;
}
.main_area_contents_title_mobile img {
  height: 22px;
  vertical-align:middle;
  padding-bottom: 4px;
  margin-right: 10px;
  margin-left: 10px;
}
.questionnaire_mobile{
  padding: 20px;
  border: 2px solid #f3f2f2;
}
.questionnaire_mobile .questionnaire_question{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin: 0 0 20px;
  padding-bottom: 20px;
  font-size: 18px;
  color: #180d09;
  font-weight: bold;
  border-bottom: 2px dotted #f3f2f2;
}

.questionnaire_mobile .questionnaire_question > .num{
  color: #da6676;
}

.questionnaire_mobile .questionnaire_question > .num::after{
  content:'\00ff1a';
  display: inline-block;
}

.questionnaire_mobile .questionnaire_question > p{
  margin: 0;
  flex: 1;
}

.questionnaire_mobile .questionnaire_answer_value_mobile textarea{
  padding: 10px;
  font-size: 14px;
  text-align: right;
  width:  100%;
  height: 34px;
  border: 1px solid #d1d1d1;
  border-radius: 4px;
  box-sizing: border-box;
  ime-mode:disabled;
  overflow:hidden;
}

.questionnaire_answer_value_mobile input {
  padding: 10px;
  font-size: 14px;
  text-align: right;
  width:  100%;
  height: 34px;
  border: 1px solid #d1d1d1;
  border-radius: 4px;
  box-sizing: border-box;
  ime-mode:disabled;
  overflow:hidden;
}

.questionnaire_mobile .questionnaire_answer_value_mobile > p{
  margin: 0;
  font-size: 14px;
  text-align: right;
  width:  100%;
}

.heading_title.questionnaire_mobile_title{
  margin-top: -15px;
}

.questionnaire_mobile .questionnaire_attribute {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin: 0 0 20px;
  color: #180d09;
}
.questionnaire_mobile .questionnaire_attribute > p {
  margin: 0;
  padding: 2px 5px 2px 5px;
  flex: 1;
}
.questionnaire_mobile .questionnaire_attribute .tooltip_area {
  position: relative;
  margin-top: 2px;
  margin-left: 15px;
}
.questionnaire_mobile .questionnaire_attribute .tooltip_icon {
  display: inline-block;
  border: none;
}
.questionnaire_mobile .questionnaire_attribute .tooltip_text {
  position: absolute;
  z-index: 999;
  top: 30px;
  left: -200px;
  width: 200px;
  white-space: pre-wrap;
  background-color: #F7E1CF;
  color: #000000;
  border-radius: 0.3em;
  padding: 0.3em;
  margin: 0.3em 0 0 1em;
  display: none;
}
.questionnaire_mobile .questionnaire_attribute .tooltip_empty_area {
  position: relative;
  margin-top: 2px;
  margin-left: 15px;
}

/* checkbox02 */
.checkbox02 {
    display: none;
}
.checkbox_list{
    clear:both;
}
.checkbox_list input{
    display: none;
}
.checkbox_list label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #E699A3;
    border-radius: 5px;
}
.checkbox_list label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #E699A3;
    border-radius: 6px;
}
.checkbox_list input[type="checkbox"]:checked + label {
    background: #E699A3;
    color: #ffffff;
}
.checkbox_list input[type="checkbox"]:checked + label:before{
    position: absolute;
    content: "";
    width: 4px;
    height: 11px;
    left: 45px;
    margin-top: 7px;
    background: #E699A3;
    border-right: 3px solid #fff; /* 境界線（右）のスタイルを指定する */
    border-bottom: 3px solid #fff; /* 境界線（下）のスタイルを指定する */
    transform: rotate(45deg); /* 要素を回転させる */
}

/* radio02 */
.radio02{
    clear:both;
}
.radio02 input{
    display: none;
}
.radio02 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #E699A3;
    border-radius: 5px;
}
.radio02 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #E699A3;
    border-radius: 50%;
}

.radio02 input[type="radio"]:checked + label {
    display: block;
    position: relative;
    background-color: #E699A3;
    color: #fff;
}

.radio02 input[type="radio"]:checked + label:after {
    display: block;
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 11px;
    top: 13px;
    border-radius: 50%;
    background: #E699A3;
}
.radio_bfore_space{
    margin-left:25px;
    text-align: left;
}

/*ラジオボタンカスタマイズ*/
.rdio06-input{
  display: none;
}
.rdio06-parts{
  position:relative;
  display: inline-block;
  width: 18px;
  height: 18px;
}
.rdio06-parts::before{
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  border: solid 1px #d0cecd;
  border-radius: 50%;
  background: #fff;
}
.rdio06-input:checked + .rdio06-parts{
  color: #a29e9c;
}
.rdio06-input:checked + .rdio06-parts::after{
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 10px;
  width: 14px;
  height: 14px;
  background: #a29e9c;
  border-radius: 50%;
}

.radio06-input_txt{
  margin-left: 35px;
}

/* radio06のth:fieldに対応する隣接セレクタ */
.radio06-input:checked + input + .radio06-parts{
  color: #a29e9c;
}
.radio06-input:checked + input + .radio06-parts::after{
  content: "";
  display: block;
  margin-left: 10px;
  width: 14px;
  height: 14px;
  background: #a29e9c;
  border-radius: 50%;
}

/* radio02_color */
/* red5 */
.radio02_red5{
    clear:both;
}
.radio02_red5 input{
    display: none;
}
.radio02_red5 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #C1001B;
    border-radius: 5px;
}
.radio02_red5 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #C1001B;
    border-radius: 50%;
}
.radio02_red5 input[type="radio"]:checked + label {
    background-color: #C1001B;
    color: #fff;
}
.radio02_red5 input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 45px;
    margin-top: 13px;
    border-radius: 50%;
    background: #C1001B;
}

/* red4 */
.radio02_red4{
    clear:both;
}
.radio02_red4 input{
    display: none;
}
.radio02_red4 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #CD3348;
    border-radius: 5px;
}
.radio02_red4 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #CD3348;
    border-radius: 50%;
}
.radio02_red4 input[type="radio"]:checked + label {
    background-color: #CD3348;
    color: #fff;
}
.radio02_red4 input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 45px;
    margin-top: 13px;
    border-radius: 50%;
    background: #CD3348;
}

/* red3 */
.radio02_red3{
    clear:both;
}
.radio02_red3 input{
    display: none;
}
.radio02_red3 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #DA6676;
    border-radius: 5px;
}
.radio02_red3 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #DA6676;
    border-radius: 50%;
}
.radio02_red3 input[type="radio"]:checked + label {
    background-color: #DA6676;
    color: #fff;
}
.radio02_red3 input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 45px;
    margin-top: 13px;
    border-radius: 50%;
    background: #DA6676;
}

/* red2 */
.radio02_red2{
    clear:both;
}
.radio02_red2 input{
    display: none;
}
.radio02_red2 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #E699A3;
    border-radius: 5px;
}
.radio02_red2 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #E699A3;
    border-radius: 50%;
}
.radio02_red2 input[type="radio"]:checked + label {
    background-color: #E699A3;
    color: #fff;
}
.radio02_red2 input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 45px;
    margin-top: 13px;
    border-radius: 50%;
    background: #E699A3;
}

/* red1 */
.radio02_red1{
    clear:both;
}
.radio02_red1 input{
    display: none;
}
.radio02_red1 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #F3CCD1;
    border-radius: 5px;
}
.radio02_red1 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #F3CCD1;
    border-radius: 50%;
}
.radio02_red1 input[type="radio"]:checked + label {
    background-color: #F3CCD1;
    color: #fff;
}
.radio02_red1 input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 45px;
    margin-top: 13px;
    border-radius: 50%;
    background: #F3CCD1;
}

/* yellow5 */
.radio02_yellow5{
    clear:both;
}
.radio02_yellow5 input{
    display: none;
}
.radio02_yellow5 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #D66910;
    border-radius: 5px;
}
.radio02_yellow5 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #D66910;
    border-radius: 50%;
}
.radio02_yellow5 input[type="radio"]:checked + label {
    background-color: #D66910;
    color: #fff;
}
.radio02_yellow5 input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 45px;
    margin-top: 13px;
    border-radius: 50%;
    background: #D66910;
}

/* yellow4 */
.radio02_yellow4{
    clear:both;
}
.radio02_yellow4 input{
    display: none;
}
.radio02_yellow4 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #DE873F;
    border-radius: 5px;
}
.radio02_yellow4 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #DE873F;
    border-radius: 50%;
}
.radio02_yellow4 input[type="radio"]:checked + label {
    background-color: #DE873F;
    color: #fff;
}
.radio02_yellow4 input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 45px;
    margin-top: 13px;
    border-radius: 50%;
    background: #DE873F;
}

/* yellow3 */
.radio02_yellow3{
    clear:both;
}
.radio02_yellow3 input{
    display: none;
}
.radio02_yellow3 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #E6A56F;
    border-radius: 5px;
}
.radio02_yellow3 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #E6A56F;
    border-radius: 50%;
}
.radio02_yellow3 input[type="radio"]:checked + label {
    background-color: #E6A56F;
    color: #fff;
}
.radio02_yellow3 input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 45px;
    margin-top: 13px;
    border-radius: 50%;
    background: #E6A56F;
}

/* yellow2 */
.radio02_yellow2{
    clear:both;
}
.radio02_yellow2 input{
    display: none;
}
.radio02_yellow2 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #EFC39F;
    border-radius: 5px;
}
.radio02_yellow2 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #EFC39F;
    border-radius: 50%;
}
.radio02_yellow2 input[type="radio"]:checked + label {
    background-color: #EFC39F;
    color: #fff;
}
.radio02_yellow2 input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 45px;
    margin-top: 13px;
    border-radius: 50%;
    background: #EFC39F;
}

/* yellow1 */
.radio02_yellow1{
    clear:both;
}
.radio02_yellow1 input{
    display: none;
}
.radio02_yellow1 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #F7E1CF;
    border-radius: 5px;
}
.radio02_yellow1 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #F7E1CF;
    border-radius: 50%;
}
.radio02_yellow1 input[type="radio"]:checked + label {
    background-color: #F7E1CF;
    color: #fff;
}
.radio02_yellow1 input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 45px;
    margin-top: 13px;
    border-radius: 50%;
    background: #F7E1CF;
}

/* blue5 */
.radio02_blue5{
    clear:both;
}
.radio02_blue5 input{
    display: none;
}
.radio02_blue5 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #287DAA;
    border-radius: 5px;
}
.radio02_blue5 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #287DAA;
    border-radius: 50%;
}
.radio02_blue5 input[type="radio"]:checked + label {
    background-color: #287DAA;
    color: #fff;
}
.radio02_blue5 input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 45px;
    margin-top: 13px;
    border-radius: 50%;
    background: #287DAA;
}

/* blue4 */
.radio02_blue4{
    clear:both;
}
.radio02_blue4 input{
    display: none;
}
.radio02_blue4 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #5397BB;
    border-radius: 5px;
}
.radio02_blue4 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #5397BB;
    border-radius: 50%;
}
.radio02_blue4 input[type="radio"]:checked + label {
    background-color: #5397BB;
    color: #fff;
}
.radio02_blue4 input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 45px;
    margin-top: 13px;
    border-radius: 50%;
    background: #5397BB;
}

/* blue3 */
.radio02_blue3{
    clear:both;
}
.radio02_blue3 input{
    display: none;
}
.radio02_blue3 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #7EB1CC;
    border-radius: 5px;
}
.radio02_blue3 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #7EB1CC;
    border-radius: 50%;
}
.radio02_blue3 input[type="radio"]:checked + label {
    background-color: #7EB1CC;
    color: #fff;
}
.radio02_blue3 input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 45px;
    margin-top: 13px;
    border-radius: 50%;
    background: #7EB1CC;
}

/* blue2 */
.radio02_blue2{
    clear:both;
}
.radio02_blue2 input{
    display: none;
}
.radio02_blue2 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #A9CBDD;
    border-radius: 5px;
}
.radio02_blue2 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #A9CBDD;
    border-radius: 50%;
}
.radio02_blue2 input[type="radio"]:checked + label {
    background-color: #A9CBDD;
    color: #fff;
}
.radio02_blue2 input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 45px;
    margin-top: 13px;
    border-radius: 50%;
    background: #A9CBDD;
}

/* blue1 */
.radio02_blue1{
    clear:both;
}
.radio02_blue1 input{
    display: none;
}
.radio02_blue1 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #D4E5EE;
    border-radius: 5px;
}
.radio02_blue1 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #D4E5EE;
    border-radius: 50%;
}
.radio02_blue1 input[type="radio"]:checked + label {
    background-color: #D4E5EE;
    color: #fff;
}
.radio02_blue1 input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 45px;
    margin-top: 13px;
    border-radius: 50%;
    background: #D4E5EE;
}

/* black5 */
.radio02_black5{
    clear:both;
}
.radio02_black5 input{
    display: none;
}
.radio02_black5 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #180D09;
    border-radius: 5px;
}
.radio02_black5 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #180D09;
    border-radius: 50%;
}
.radio02_black5 input[type="radio"]:checked + label {
    display: block;
    position: relative;
    background-color: #180D09;
    color: #fff;
}
.radio02_black5 input[type="radio"]:checked + label:after {
    display: block;
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 11px;
    top: 13px;
    border-radius: 50%;
    background: #180D09;
}

/* black4 */
.radio02_black4{
    clear:both;
}
.radio02_black4 input{
    display: none;
}
.radio02_black4 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #A29E9C;
    border-radius: 5px;
}
.radio02_black4 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #A29E9C;
    border-radius: 50%;
}
.radio02_black4 input[type="radio"]:checked + label {
    background-color: #A29E9C;
    color: #fff;
}
.radio02_black4 input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 45px;
    margin-top: 13px;
    border-radius: 50%;
    background: #A29E9C;
}

/* black3 */
.radio02_black3{
    clear:both;
}
.radio02_black3 input{
    display: none;
}
.radio02_black3 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #D0CECD;
    border-radius: 5px;
}
.radio02_black3 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #D0CECD;
    border-radius: 50%;
}
.radio02_black3 input[type="radio"]:checked + label {
    background-color: #D0CECD;
    color: #fff;
}
.radio02_black3 input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 45px;
    margin-top: 13px;
    border-radius: 50%;
    background: #D0CECD;
}

/* black2 */
.radio02_black2{
    clear:both;
}
.radio02_black2 input{
    display: none;
}
.radio02_black2 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #E7E6E5;
    border-radius: 5px;
}
.radio02_black2 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #E7E6E5;
    border-radius: 50%;
}
.radio02_black2 input[type="radio"]:checked + label {
    background-color: #E7E6E5;
    color: #fff;
}
.radio02_black2 input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 45px;
    margin-top: 13px;
    border-radius: 50%;
    background: #E7E6E5;
}

/* black1 */
.radio02_black1{
    clear:both;
}
.radio02_black1 input{
    display: none;
}
.radio02_black1 label{
    display: block;
    margin: 5px;
    line-height: 35px;
    padding-left: 5px;
    padding-right: 5px;
    cursor: pointer;
    border: 2px solid #F3F2F2;
    border-radius: 5px;
}
.radio02_black1 label:before{
    position: absolute;
    content: "";
    width: 16px;
    height: 16px;
    margin-top: 7px;
    background: #fff;
    border: 2px solid #F3F2F2;
    border-radius: 50%;
}
.radio02_black1 input[type="radio"]:checked + label {
    background-color: #F3F2F2;
    color: #fff;
}
.radio02_black1 input[type="radio"]:checked + label:after {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    left: 45px;
    margin-top: 13px;
    border-radius: 50%;
    background: #F3F2F2
}

/* end of radio02_color */

.questionnaire_mobile_footer{
  position: relative;
  margin-top: 15px;
  margin-bottom: 15px;
  display: flex;
  justify-content: space-between;
}

.questionnaire_mobile_footer .main_btn:first-child{
position: absolute;
left: 0;
top: 0;
z-index: 1;
padding: 6px 60px;
}

.questionnaire_mobile_footer .update_submit_btn{
  display: block;
  margin:0 auto;
}

.questionnaire_mobile_footer > p{
  position: absolute;
  right: 0;
  top: 50%;
  margin: 0;
  font-size: 14px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.questionnaire_mobile_footer > p > b{
  color: #c61519;
}

.dt_left{
  float: left;
}

.dt_left::after{
  content: "："
}

.mobile_bak_btns{
    padding: 30px 0 0;
    display:flex;
    justify-content:space-between;
}
progress {
  /* Turn off default styling. */
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
}
progress::-webkit-progress-value {
  background: #cd3348;
}
progress::-webkit-progress-bar {
  background: #dfdfdf;
}

/**=== モーダル共通（スマホ表示用） ===**/
.modaal-container {
  background: none;
  box-shadow: none;
}
.modaal-inner-wrapper{
  cursor: default !important;
}
.modal_mobile_area_content {
  text-align: center;
  /*width: 800px;*/
  width: 360px;
  background-color: #fff;
  padding: 15px 30px 30px;
  margin: 0 auto;
}
.modal_mobile_area_content-box {
  width: 680px;
  width:90%;
  margin: 0 auto;
  text-align: left;
}
.modal_btn {
  width: 140px;
  height: 40px;
  border:solid 1px #a29e9c;
  border-radius: 8px;
  font-size: 16px;
  font-weight: bold;
  background-color: #fff;
  cursor:pointer;
}

.modaal-container.large{
  max-width: none !important;
}

.modaal-container.large .modaal-content-container{
padding: 0;
}

.modaal-container.large .modal_mobile_area_content{
width: 100%;
padding: 45px 30px 60px;
}

.modaal-container.large .modal_mobile_area_content-box{
width: 100%;
}

.choice_mobile_btn {
  width: 140px;
  border-radius: 8px;
  border:solid 1px #c1001b;
  background-color: #fff;
  color: #c1001b;
  font-size: 16px;
  font-weight: bold;
  cursor:pointer;
  transition: .4s;
  line-height: 36px;
  padding: 0;
  margin: 0 15px;
}

.td_list_align_left{
  text-align: left;
  white-space: nowrap;
}
.td_list_align_right{
  text-align: right;
  white-space: nowrap;
}
.td_list_align_center{
  text-align: center;
  white-space: nowrap;
}
.td_list_disabled{
  background-color: #e7e6e5 !important;
}
.project_submit_box_left{
  text-align: left;
}

/* KGI/KPI設問登録画面（共通設定） */
.kgi_kpi_question textarea{
    width: 500px;
    height: 50px;
    border: 1px solid #d1d1d1;
    border-radius: 4px;
    box-sizing: border-box;
}
.kgi_kpi_question p,
.input_count{
    margin:0;
    font-size:14px;
    text-align:right;
}
.kgi_kpi_font{
    font-size:18px;
}

.kgi_kpi_question_guidance{
    width:100%;
    height:200px;
    margin:20px;
}

.kgi_kpi_question_guidance label{
    padding: 5px 30px;
    color: #fff;
    background-color: #a29e9c;
    font-weight: bolder;
}
.kgi_kpi_question_guidance div{
    display: table-cell;
    vertical-align: middle;
    padding:20px;
}
.kgi_kpi_question_guidance textarea{
    width:400px;
    height:150px;
    border: 1px solid #d1d1d1;
    border-radius: 4px;
    box-sizing: border-box;
}
.question_btn_area{
    text-align:left;
}
.question_btn_area button{
    display:inline-block;
}
.question_btn_area .question_guidance_add{
    margin-left:130px;
}
#modalQuestionChoiceListTable input{
    width: 400px;
    height: 33px;
    border-radius: 4px;
    border: solid 1px #d1d1d1;
    background-color: #ffffff;
    box-sizing: border-box;
}

/* ローディング表示用 */
/* 画面前面の全体に表示 */
#loading_box {
    width: 100%;
    height: 100%;
    background: #FFF;
    opacity: 0.8;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
}
/* 画面前面の全体に表示 */
#loading_box_top {
    width: 100%;
    height: 100%;
    background: #FFF;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
}

#loading_box_top_mobile {
    width: 100%;
    height: 100%;
    background: #FFF;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
}
 
/* 画面の中心にローディング画像を表示する */
#loading_box img {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -40px 0 0 -50px;
    width: 30%;
}

#loading_box_top img {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -40px 0 0 -50px;
    width: 5%;
}

#loading_box_top_mobile img {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -40px 0 0 -50px;
    width: 30%;
}

.error_box ul{
    margin : 0;
}

.error_box{
    margin-bottom : 30px;
}

.main_area_contents_box_2 {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto 60px;
}

.sp_update_submit_btn {
  width: 220px;
  position: absolute;
  left: 50%;
  margin-left: -110px;
}

.sp_update_submit_btn2 {
  width: 330px;
  position: absolute;
  left: 50%;
  margin-left: -110px;
}

.sp_update_submit_standard_btn {
  width: 2805x;
  position: absolute;
  left: 50%;
  margin-left: -110px;
}

.sp_copy_submit_btn {
  width: 330px;
}
.sp_detail_submit_btn {
  width: 220px;
  position: relative;
  left: 50%;
  margin-left: -110px;
}
.sp_delete_submit_btn {
  width: 220px;
}
.sp_update_submit_btn:hover,
.sp_copy_submit_btn:hover,
.sp_delete_submit_btn:hover, 
..sp_update_submit_btn2:hover{
  background: #c1001b;
  color: white;
}

.sp_btn_center_parent_box {
 position: relative;
}
.sp_update_submit_btn_center_box {
 width: 220px;
 position: absolute;
 left: 50%;
 margin-left: -110px;
}

.radio-input_box_2 {
  display: inline-block;
  line-height: 20px;
  min-width: 120px;
  padding-bottom: 20px;
}

.question_choice_input {
  width: 100%;
  height: 33px;
  border-radius: 4px;
  border: solid 1px #d1d1d1;
  background-color: #ffffff;
  padding: 0 0 0 0;
  box-sizing: border-box;
}

.lang_change_btn {
  height: 40px;
  width: auto;
  border-radius: 8px;
  border:solid 1px #c1001b;
  background-color: #fff;
  color: #c1001b;
  font-size: 16px;
  font-weight: bold;
  margin: 0 auto;
  cursor:pointer;
  transition: .4s;
  padding-top: 3px;
}
.lang_change_btn:hover{
  background: #c1001b;
  color: white;
}
/* トップ画面ヘッダ部　 */
.id_company{
  width: auto;
  max-width: 300px;
  min-width: 200px;
  display: block;
  vertical-align: middle;
  margin-right: 10px;
  margin-bottom: -2px;
  padding-top: 5px;
  padding-bottom: 5px;
}

.id_language {
  width: auto;
  display: block;
  vertical-align: middle;
  margin: 10px 10px 10px 15px;
  padding-top: 0px;
  padding-bottom: 0px;
}

.mobile_caption_frame {
  font-size: 16px;
  line-height: 26px;
  border-radius: 5px;
  border:solid 3px;
  margin: 15px 0 15px 0;
  padding: 5px;
  white-space: pre-wrap;
}

div.errorBoxDiv {
  color: #c1001b;
  font-weight: 600;
  text-align: left;
}
div.errorBoxDiv ul {
  font-size: 14px;
  margin-bottom: 30px;
}
div.errorBoxDiv li {
  margin: 8px 0;
}
.checkbox_text_narrow {
    letter-spacing: normal;
    text-align: left;
    padding: 0;
    margin-left: 0px;
    margin-right: 20px;
}


/* csv upload */
.main_table_csvupload {
  margin-top: 10px;
  overflow-x: scroll;
}
.main_table_csvupload table{
  width: 100%;
  border-collapse:separate;
  border-spacing: 0;
  border: solid 1px #180d09;
}
.main_table_csvupload table tr{
  border-bottom:solid 1px #180d09;
}
.main_table_csvupload table tr:first-child{
  white-space: nowrap;
}
.main_table_csvupload table th{
  text-align: center;
  padding: 7px 7px;
  border-bottom:solid 1px #180d09;
  color: #fff;
  font-size: 18px;
  height: 44px;
  border-right:solid 1px #180d09;
}
.main_table_csvupload table th:last-child {
  border-right:none;
}
.main_table_csvupload table td{
  padding: 10px 6px;
  border-right:solid 1px #d0cecd;
  border-bottom:solid 1px #d0cecd;
  color: #180d09;
  font-size: 14px;
  min-height: 40px;
}
.main_table_csvupload table td:last-child{
  border-right:none;
}
.th_additional_attribute_change {
    background-color: #de873f;
    
}
.th_normal {
    background-color: #cd3348; 
}

span.word_wrap_span {
  white-space: pre-wrap;
  line-height: 1.5;
  display: block;
  width: 100%;
}

/* operation guide */
.operationGuideButton, .operationGuideMobileButton {
  background-image: url('../img/operation_guide_icon.png');
  background-repeat: no-repeat;
  background-size: contain;
  border: none;
  width: 30px;
  height: 30px;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  vertical-align: middle;
  cursor: pointer;
}
.operationGuideButton_2 {
  margin: 0 0 0 30px !important;
}
.operationGuideButton:hover {
  background-image: url('../img/operation_guide_hover_icon.png');
  width: 50px;
  height: 50px;
  margin: -10px -10px -10px -10px;
}
.operationGuideButton span {
  display: none;
}
.operationGuideButton:hover span {
  display: inline;
  white-space: nowrap;
  position: relative;
  top: -30px;
  left: -10px;
  background-color: #F3CCD1;
  border: 1px solid #E699A3;
  color: #000000;
}

.operationGuideInformation {
  text-align: center;
  width: 100%;
}
.operationGuideInformation button {
  display: inline-block;
  background-image: url('../img/operation_guide_icon.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-color: #fff;
  border: none;
  width: 50px;
  height: 50px;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  vertical-align: top;
  cursor: default;
}
.operationGuideInformation div {
  display: inline-block;
  word-wrap: break-word;
  text-align: left;
  max-width: 80%;
}

.operationGuideModalAreaContent {
  font-family: "BIZ UDGothic", "游ゴシック", "Yu Gothic", "メイリオ", "Meirio", "MS PGothic", "Hiragino Kaku Gothic ProN", "Osaka", "sans-serif";
  text-align: center;
  width: 100%;
  height: 500px;
  padding: 45px 30px 60px;
  margin: 0 auto;
  background-color: #F7E1CF;
  border: 4px solid;
  border-color: #DE873F;
  border-radius: 10px;
}
.operationGuideModalAreaContentBox {
  width: 100%;
  max-height: 90%;
  margin: 0;
}
.operationGuideModalAreaContents {
  width: 100%;
  height: 90%;
  margin: 0 auto;
  text-align: left;
  overflow: hidden;
  overflow-y: scroll;
}
.operationGuideDiv {
  background-color: #FFFFFF;
  margin: 15px 15px 15px 0;
  padding: 15px;
  line-height: 150%;
  border-radius: 10px;
}
.operationGuideCaption {
  font-weight: bold;
}
.operationGuideText {
  display: flex
  align-items: center;
  padding: 0 10px 6px 0;
  box-sizing: border-box;
  width: 100%;
  white-space: pre-wrap;
  overflow-wrap: keep-all;
  padding: 0 0 30px 0;
}
.operationGuideHelp {
  color: #434343;
  padding: 0 14px;
  text-decoration: underline;
}

.operationGuidePanelAreaContent {
  position: fixed;
  width: 440px;
  max-height: 100vh;
  top: 0px;
  left: 0px;
  z-index: 999;
  overflow: hidden;
  font-family: "BIZ UDGothic", "游ゴシック", "Yu Gothic", "メイリオ", "Meirio", "MS PGothic", "Hiragino Kaku Gothic ProN", "Osaka", "sans-serif";
  text-align: center;
  background-color: #F7E1CF;
  border: 2px solid;
  border-color: #D66910;
  border-radius: 10px;
}
.operationGuidePanelTopButtonDiv {
  width: 100%;
  text-align: left;
}
.operationGuidePanelTopButton {
  padding: 0 0 0 15px;
  text-decoration: underline;
  border: none;
  font-size: 16px;
  background-color: #F7E1CF;
  cursor: pointer;
}
.operationGuidePanelAreaContents {
  width: 100%;
  max-height: 85vh;
  margin: 0 0 0 0;
  text-align: left;
  overflow: hidden;
  overflow-y: auto;
}
.operationGuidePanelDiv {
  background-color: #FFFFFF;
  margin: 0 0 0 0;
  padding: 15px;
  line-height: 150%;
  border-radius: 10px;
}
.operationGuidePanelMainTitle {
  width: 100%;
  font-weight: bold;
  font-size: 24px;
  margin: 15px 0 15px 0;
  padding: 0 0 0 0;
  text-align: center;
}
.operationGuidePanelCaption {
  width: 100%;
  font-weight: bold;
  font-size: 18px;
  text-align: left;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}

.operationGuideMobileModalAreaContent {
  font-family: "BIZ UDGothic", "游ゴシック", "Yu Gothic", "メイリオ", "Meirio", "MS PGothic", "Hiragino Kaku Gothic ProN", "Osaka", "sans-serif";
  text-align: center;
  width: 360px;
  height: 560px;
  background-color: #F7E1CF;
  padding: 15px 30px 30px;
  margin: 0 auto;
  border: 2px solid;
  border-color: #D66910;
  border-radius: 10px;
}
.operationGuideMobileModalTopButtonDiv {
  width: 100%;
  text-align: left;
  margin: 0 0 0 0;
}
.operationGuideMobileModalTopButton {
  padding: 0 0 15px 15px;
  text-decoration: underline;
  border: none;
  font-size: 16px;
  background-color: #F7E1CF;
  cursor: pointer;
}
.operationGuideMobileModalAreaContents {
  width: 100%;
  height: 440px;
  margin: 0 auto;
  text-align: left;
  overflow: hidden;
  overflow-y: auto;
}
.operationGuideMobileModalDiv {
  background-color: #FFFFFF;
  margin: 15px 0 0 0;
  padding: 15px;
  line-height: 150%;
  border-radius: 10px;
}
.operationGuideMobileModalMainTitle {
  width: 100%;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
  margin: 5px 0 15px 0;
  padding: 0 0 0 0;
}
.operationGuideMobileModalCaption {
  font-weight: bold;
  width: 100%;
  text-align: left;
  margin: 0 0 0 0;
}

/* notice */
.noticeHeadline {
  width: 100%;
  font-weight: bold;
  font-size: 18px;
  text-align: left;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}
.noticeInformation {
  width: 100%;
  font-size: 14px;
  text-align: left;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}
.noticeInformationIssueDate {
  width: 100%;
  color: #C1001B;
  font-size: 12px;
  text-align: left;
  margin: 0 0 0 0;
  padding: 0 15px 0 0;
}
.noticeInformationCaption {
  width: 100%;
  color: #C1001B;
  font-size: 14px;
  font-weight: bold;
  text-align: left;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}
.noticeInformationText {
  width: 100%;
  color: #180D09;
  font-size: 12px;
  text-align: left;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  white-space: pre-line;
}
.noticeInformationNote {
  width: 100%;
  color: #180D09;
  font-size: 12px;
  text-align: left;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
}

.questionChoiceNameSpan {
  padding-left: 30px;
  margin-top: 5px;
  margin-bottom: 5px;
  line-height: 1.5;
  display: block;
  white-space: pre-wrap;
  overflow-wrap: break-word;
}
.multiple_check_tooltip {
  display: inline;
  white-space: pre-wrap;
  position: relative;
  top: 0px;
  left: 0px;
  background-color: #F3CCD1;
  border: 1px solid #E699A3;
  color: #000000;
}

.search_area_checkgroup {
  background-color: #f3f2f2;
  display: flex;
  font-family: 游ゴシック;
  font-size: 14px;
  font-weight: bold;
  font-style: normal;
  font-stretch: normal;
  line-height: 58px;
  letter-spacing: normal;
  text-align: left;
  color: #180d09;
  margin: 30px 0;
  padding: 0 0 0 30px;
}

.attribute_error_caption,
.question_error_caption {
  background-color: #F3CCD1 !important;
}
.attribute_warning_caption,
.question_warning_caption {
  background-color: #F7E1CF !important;
}

p.main_area_content_message {
  font-size: 32px;
  font-weight: 600;
  margin: 80px 30px 80px 30px;
}

.question_confirm_box {
  position: relative;
  margin: 30px 0 30px 0;
  padding-top: 30px;
  border-top: solid 1px #d0cecd;
}

div.desable_form {
  background-color: #a29e9c !important;
}

.top_content_container {
  display: flex;
  gap: 30px;
}

/** タスク表コンテナ */
.top_content_container .top_taskTabContainer {
  flex: auto;
  min-width: 39.4em; /** タブ内文字列が折り返さないサイズ */
  width: calc(100vw - 200px - 120px - 18em - 30px - 21px); /** メニュー幅、左右余白、通知/お知らせタブ幅、ギャップ幅、スクロール幅を引く */
}

/** タスク表コンテナ - アラートアイコン */
.top_content_container .top_taskTabContainer i.fa-exclamation-circle {
  color: #c1001b;
}

/** タスク表コンテナ - 表(初期表示で全体が表示される様に) */
.top_content_container .top_taskTabContainer .top_taskTabContainer_table {
  max-height: calc(100vh - 450px);
  min-height: 160px;
}

/** タスク表コンテナ - 表(2つある内の上) */
.top_content_container .top_taskTabContainer .top_taskTabContainer_tableHalf_upper {
  max-height: calc((100vh - 450px) * 0.5);
  min-height: 160px;
}

/** タスク表コンテナ - 表(2つある内の下) */
.top_content_container .top_taskTabContainer .top_taskTabContainer_tableHalf_lower {
  max-height: calc((100vh - 450px) * 0.5 - 60px);
  min-height: 160px;
}

/** 通知/お知らせコンテナ */
.top_content_container .top_noticeInfoTabContainer {
  min-width: 18em;
  width: 18em;
}

/** 通知/お知らせコンテナ (初期表示で全体が表示される様に) */
.top_content_container .top_noticeInfoTabContainer .tab_contents {
  font-size: 14px;
  max-height: calc(100vh - 360px);
  min-height: 240px;
  overflow: auto;
}

/** 通知/お知らせコンテナ - タブを幅いっぱいに */
.top_content_container .top_noticeInfoTabContainer .tab_container .tab_titles div {
  border: none;
  flex: 1;
}

/** 通知/お知らせコンテナ - 選択中のタブ配色 */
.top_content_container .top_noticeInfoTabContainer .tab_container .tab_titles div.tab_active {
  background-color: #c1001b;
  color: #fff;
}

/** 通知/お知らせコンテナ - コンテンツ枠の除去とtop位置の調整 */
.top_content_container .top_noticeInfoTabContainer .tab_container .tab_contents  {
  top: 0;
}
.top_content_container .top_noticeInfoTabContainer .tab_container .tab_contents > div {
  border: none;
}

/** 通知/お知らせコンテナ - 要素のボックス */
.top_content_container .top_noticeInfoTabContainer .tab_container .noticeInfoTab_box {
  border-bottom: 1px solid #a29e9c;
  margin-top: 14px;
  padding-bottom: 14px;
}
.top_content_container .top_noticeInfoTabContainer .tab_container .noticeInfoTab_box:last-child {
  border-bottom: none;
}

/** 通知/お知らせコンテナ - 要素のボックス - 表題 */
.top_content_container .top_noticeInfoTabContainer .tab_container .noticeInfoTab_box .noticeInfoTab_box_subject {
  line-height: 1.4;
  font-weight: bold;
}

/** 通知/お知らせコンテナ - 要素のボックス - ステータス情報の高さ調整 */
.top_content_container .top_noticeInfoTabContainer .tab_container .noticeInfoTab_box .noticeInfoTab_box_status {
  display: flex;
  align-items: center;
  gap: 8px;
}

/** 通知/お知らせコンテナ - 要素のボックス - ステータス情報 - ラベル */
.top_content_container .top_noticeInfoTabContainer .tab_container .noticeInfoTab_box .noticeInfoTab_box_status .noticeInfoTab_box_status_label {
  background-color: #a29e9c;
  color: #fff;
  display: inline-block;
  font-weight: bold;
  line-height: 1.2;
  max-width: 6em;
  padding: 2px 14px;
}

/** 通知/お知らせコンテナ - 要素のボックス - ステータス情報 - 日時 */
.top_content_container .top_noticeInfoTabContainer .tab_container .noticeInfoTab_box .noticeInfoTab_box_status .noticeInfoTab_box_status_date {
  font-size: 0.8em;
}

/** 通知/お知らせコンテナ - 要素のボックス - 本題 */
.top_content_container .top_noticeInfoTabContainer .tab_container .noticeInfoTab_box .noticeInfoTab_box_content {
  margin-top: 14px;
  line-height: 1.4;
  white-space: pre-line;
}

/* 活用ステップ - ヘッダタイトル */
.menuoperationlist .main_area_contents_title {
  background-color: #180D09;
  color: #fff;
  margin-bottom: 0;
  padding-left: 28px;
}

/* 活用ステップ - アコーディオン */
.menuoperationlist .menuoperationlist_accordionNav {
  margin: 0 auto;
  text-align: left;
  width: 100%;
}

/* 活用ステップ - アコーディオン - box */
.menuoperationlist .menuoperationlist_accordionNav .menuoperationlist_accordionNav_box {
  display: flex;
  min-height: 2.4em;
}

/* 活用ステップ - アコーディオン - 親 */
.menuoperationlist .menuoperationlist_accordionNav .menuoperationlist_accordionNav_box .menuoperationlist_accordionNav_parent {
  display: flex;
  padding: 0 4px;
  padding-top: 0.4em;
  width: 100%;
}

/* 活用ステップ - アコーディオン - 親奇数 */
.menuoperationlist .menuoperationlist_accordionNav .menuoperationlist_accordionNav_box.menuoperationlist_accordionNav_box_odd .menuoperationlist_accordionNav_parent {
  background-color: #a29e9c;
  color: #fff;
}

/* 活用ステップ - アコーディオン - 親偶数 */
.menuoperationlist .menuoperationlist_accordionNav .menuoperationlist_accordionNav_box.menuoperationlist_accordionNav_box_even .menuoperationlist_accordionNav_parent {
  background-color: #d0cecd;
}

/* 活用ステップ - アコーディオン - 親open */
.menuoperationlist .menuoperationlist_accordionNav .menuoperationlist_accordionNav_box_opend .menuoperationlist_accordionNav_parent {
  padding-top: 0;
  max-width: 11em;
  min-width: 11em;
  width: 11em;
}

/* 活用ステップ - アコーディオン - 親タイトル */
.menuoperationlist .menuoperationlist_accordionNav .menuoperationlist_accordionNav_box .menuoperationlist_accordionNav_parent .menuoperationlist_accordionNav_parent_title {
  flex-grow: 1;
  margin-right: 8px;
}

/* 活用ステップ - アコーディオン - 親プラスアイコン */
.menuoperationlist .menuoperationlist_accordionNav .menuoperationlist_accordionNav_box .menuoperationlist_accordionNav_parent i {
  cursor: pointer;
}

/* 活用ステップ - アコーディオン - 親プラスアイコン */
.menuoperationlist .menuoperationlist_accordionNav .menuoperationlist_accordionNav_box .menuoperationlist_accordionNav_parent .menuoperationlist_accordionNav_parent_opener {
  display: block;
}

/* 活用ステップ - アコーディオン - 親プラスアイコンopen */
.menuoperationlist .menuoperationlist_accordionNav .menuoperationlist_accordionNav_box_opend .menuoperationlist_accordionNav_parent .menuoperationlist_accordionNav_parent_opener {
  display: none;
}

/* 活用ステップ - アコーディオン - 親マイナスアイコン */
.menuoperationlist .menuoperationlist_accordionNav .menuoperationlist_accordionNav_box .menuoperationlist_accordionNav_parent .menuoperationlist_accordionNav_parent_closer {
  display: none;
}

/* 活用ステップ - アコーディオン - 親マイナスアイコンopen */
.menuoperationlist .menuoperationlist_accordionNav .menuoperationlist_accordionNav_box_opend .menuoperationlist_accordionNav_parent .menuoperationlist_accordionNav_parent_closer {
  display: block;
}

/* 活用ステップ - アコーディオン - 子 */
.menuoperationlist .menuoperationlist_accordionNav .menuoperationlist_accordionNav_box .menuoperationlist_accordionNav_children {
  display: none;
}

/* 活用ステップ - アコーディオン - 子open */
.menuoperationlist .menuoperationlist_accordionNav .menuoperationlist_accordionNav_box_opend .menuoperationlist_accordionNav_children {
  display: block;
  flex: auto;
}

/* 活用ステップ - アコーディオン - 子要素 */
.menuoperationlist .menuoperationlist_accordionNav .menuoperationlist_accordionNav_box .menuoperationlist_accordionNav_children .menuoperationlist_accordionNav_child {
  display: flex;
  min-height: 2.4em;
  padding: 0 4px;
}

/* 活用ステップ - アコーディオン - 子奇数 */
.menuoperationlist .menuoperationlist_accordionNav .menuoperationlist_accordionNav_box .menuoperationlist_accordionNav_child_odd {
  background-color: #fff;
}

/* 活用ステップ - アコーディオン - 子偶数 */
.menuoperationlist .menuoperationlist_accordionNav .menuoperationlist_accordionNav_box .menuoperationlist_accordionNav_child_even {
  background-color: #f3f2f2;
}

/* 活用ステップ - アコーディオン - 子要素 - STEP */
.menuoperationlist .menuoperationlist_accordionNav .menuoperationlist_accordionNav_box .menuoperationlist_accordionNav_children .menuoperationlist_accordionNav_child .menuoperationlist_accordionNav_child_step {
  max-width: 5em;
  min-width: 5em;
  width: 5em;
}

/* 活用ステップ - アコーディオン - 子要素 - タイトル */
.menuoperationlist .menuoperationlist_accordionNav .menuoperationlist_accordionNav_box .menuoperationlist_accordionNav_children .menuoperationlist_accordionNav_child .menuoperationlist_accordionNav_child_title {
  max-width: 13em;
  min-width: 13em;
  padding-right: 14px;
  width: 13em;
}

/* 閲覧レポート選択 - 枠 */
.menureportlist .menureportlist_box {
  text-align: left;
}

/* 閲覧レポート選択 - リスト要素 */
.menureportlist .menureportlist_box li {
  align-items: flex-start;
  display: flex;
  gap: 8px;
  line-height: 1.4;
  margin-bottom: 8px;
}

/* 閲覧レポート選択 - リスト - 画像枠 */
.menureportlist .menureportlist_box li .menureportlist_box_img {
  padding-top: 2px;
}

/* 閲覧レポート選択 - リスト - 画像 */
.menureportlist .menureportlist_box li .menureportlist_box_img img {
  filter: brightness(0);
}

.survey_delete_button{
  visibility:hidden;
}

.display_wait {
  cursor: wait !IMPORTANT;
}

.measure_plan_table_area {
  font-size: 14px;
  font-style: normal;
  font-stretch: normal;
  line-height: 1.4;
  letter-spacing: normal;
  text-align: left;
}
/* 画面補助案内文*/
.guide_color{
    font-size: 14px; 
    color: #287daa; 
    font-weight: 600;
    width: auto; 
    height: auto; 
    padding: 0 30px;
}
/* 画面補助案内文　content*/
.guide_color_content{
    font-size: 14px; 
    color: #287daa; 
    font-weight: 600;
    width: auto; 
    height: auto; 
}
/* 画面補助案内文　アイコン*/
.guide_icon {
  width: 20px; 
  height: 20px;
  color: #287daa; 
  fill: none; 
  stroke: currentColor; 
  stroke-width: 1.5; 
}
/* ホーム画面マウスオーバータブ表示*/
.tooltip { 
  position: relative;
  cursor: pointer;
  font-size: 0.9em;
}
 
.balloon_top { 
  width: 150px; 
  position: absolute;
  left: 50%;
  bottom: calc(100% + 15px); 
  transform: translateX(-50%);
  padding: 8px;
  border-radius: 10px; 
  background-color: #666; 
  font-size: 0.7em;
  color: #fff;
  text-align: center;
  visibility: hidden; 
  opacity: 0; 
  z-index: 1;
  transition: visibility 0.5s, opacity 0.5s; 
}
 
.balloon_top::before { 
  content: "";
  width: 0;
  height: 0;
  border: 10px solid transparent;
  border-top: 12px solid #666; 
  position: absolute;
  top: 99%;
  left: 50%;
  transform: translateX(-50%);
}
 
.tooltip:hover .balloon_top { 
  bottom: 100%; 
  visibility: visible; 
  opacity: 1; 
}
/* ログイン画面-アコーディオン閉時 */
.details {
    transition: .3s;
    overflow: hidden;
    margin-top: 50px;
    padding-bottom: 20px;
}

.details:last-of-type {
    margin-bottom: 0;
}
/* アコーディオン開時　*/
.details[open] {
    margin-top: 60px;
    padding-bottom: 10px;
}

.details-summary {
    display: flex;
    align-items: center;
    padding: 5px;
    transition: .3s;
    transform: translateY(10px);
    background-color: #A29E9C;
    font-size: 15px;
    font-weight: bold;
    color: #fff;
    cursor: pointer;
}
/* アコーディオン開閉時「＋・－」 */
.details-summary .toggle-icon {
    margin-right: 10px;
    font-size: 18px;
    font-weight: bold;
    transition: transform 0.3s;
}
.details[open] .toggle-icon {
    transform: rotate(180deg);
    content: "-";
}
/*　ログイン画面マウスオーバー */
.details-summary:hover {
    background-color: #cd3348;
    border-color: #cd3348;
    color: #fff;
}

.details-summary::-webkit-details-marker {
    display: none;
}

.details[open] .details-summary {
    transform: translateY(0);
}

.details-content {
    padding: 20px;
    background-color: #ffcccc;
    border-bottom: 2px solid #A29E9C;
    border-left: 2px solid #A29E9C;
    border-right: 2px solid #A29E9C;
}

.all-disabled {
  pointer-events: none;
}
/*　階層選択エリア */
.level-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
}

.level-label {
  width: 200px;
  font-weight: bold;
}

.level-input {
  width: 200px;
  height: 35px;    
}

.level-separator {
  font-weight: bold;
}

.level-input::-webkit-outer-spin-button,
.level-input::-webkit-inner-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
}
.level-input[type=number] { 
  -moz-appearance: textfield; 
}

.level-input { 
  padding-right: 28px; 
}

.level-input-wrap { 
  position: relative; 
  display: inline-block; 
}
.level-spin {
  position: absolute; 
  right: 6px; 
  top: 50%;
  transform: translateY(-50%);
  display: flex; 
  flex-direction: column; 
  gap: 2px;
}
.level-spin .spin-btn {
  width: 18px; 
  height: 16px; 
  line-height: 14px; 
  padding: 0;
  border: 1px solid #ccc; 
  background: #fff; 
  cursor: pointer; 
  border-radius: 2px;
  font-size: 12px; 
  text-align: center;
}