@charset "UTF-8";
/* ====================
ブレイクポイント 要件
960px以上：PC
600px〜959px：タブレット 
〜599px：スマホ
==================== */
/* Common Setting
--------------------------------------------*/
:root {
  /* Common Color */
  --icon-color-common: #747f85;
  --icon-color-red: #f20000;
  --icon-color-green: #0e8c68;
  --icon-color-orange: #ff961f;
  --btn-color-main: #119cf2;
  /* Font Size */
  --font-size-small: 1.2rem;/*font-size : 12px と同等*/
  --font-size-common: 1.4rem;/*font-size : 14px と同等*/
  --font-size-middle: 1.3rem;/*font-size : 13px と同等*/
  --font-size-block-title: 1.6rem;/*font-size : 16px と同等*/
  --font-size-value: 2.8rem;/*font-size : 28px と同等*/
  --font-size-title: 3.0rem;/*font-size : 30px と同等*/
  /* Padding */
  --padding-block-common: 20px 20px 30px;
  --padding-table-td: 5px 10px;
  /* Margin */
  --margin-icon-common: 10px;
  --margin-icon-sidebar: 15px;
  /* border-radius */
  --border-radius-3: 3px;
  --border-radius-5: 5px;
  --border-radius-10: 10px;
}
html { 
  font-size: 62.5%;
  letter-spacing: 0.5px;
}
body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: var(--font-size-common);
  color: var(--font-color-main);
  background: var(--bg-color-main);
  margin: 0;
}
ul {
  list-style-type: none;
  padding-left: 0;
  margin: 0;
}

/* Icon Setting
-------------------------------------------- */
.icon::before {
  font-family: 'Material Icons';
  color: var(--icon-color-common);
  font-size: 1.9rem;
  margin-right: 8px;
  vertical-align: middle;
}
.icon_nav::before {
  font-size: 2.1rem;
  margin-right: 15px;
  width: 1.9rem;
}
.icon_head::before {
  font-size: 1.9rem;
  margin-right: 8px;
}
.icon_dashboard::before { content: '\e871'; }       /* ダッシュボード */
.icon_bookmark_plant::before { content: '\e885'; }  /* お気に入り施設 */
.icon_system_setting::before { content: '\e8b8'; }  /* システム設定 */
.icon_password::before { content: '\e898'; }        /* パスワード変更 */
.icon_logout::before { content: '\e9ba'; }          /* ログアウト */
.icon_search::before { content: '\e8b6'; }          /* 虫眼鏡 */
.icon_map::before { content: '\e0c8'; }             /* Map */
.icon_plant_top::before { content: '\e1ac'; }        /* 発電所TOP */
.icon_monitor::before { content: '\e30a'; }          /* 運転監視 */
.icon_camera::before { content: '\e04b'; }           /* 監視カメラ */
.icon_performance_report::before { content: '\e202'; }  /* 実績レポート */
.icon_collected_data::before { content: '\e1db'; }    /* 収集データ */
.icon_assessment::before { content: '\e4fc'; }        /* 健全性評価 */
.icon_animation::before { content: '\e02c'; }         /* アニメーション */
.icon_local_setting::before { content: '\e429'; }     /* ローカル設定・管理 */
.icon_cross::before { content: '\e5cd'; }             /* × （バッテン） */
.icon_trash::before { content: '\e872'; }             /* ゴミ箱 */
.icon_searchBox_reset::before { content: 'clear'; }   /* Xアイコン */
.icon_drop_down::before { content: '\e5c5'; }        /* ▼アイコン */
.icon_hint::before { content: '\e887'; }             /* hintアイコン */
.icon_link::before { content: '\e315'; }             /* リンクアイコン（>） */ 
.icon_exclamation::before { content: '\e000'; }       /* !アイコン */ 
.icon_om::before { content: '\ea3d'; }             /* Maintenanceアイコン（O&M） */ 
.icon_custom::before { content: '\ea3d'; }           /* Custom機能アイコン */ 

.icon_alarm {
  font-size: 1.0rem;
  padding: 2px;
  text-align: center;
  border-radius: 20px;
  width: 60px;
  display: inline-block;
  color: #fafafa;
}
.icon_alarm_jukosyo {
  background-color: var(--icon-color-red);
}
.icon_alarm_keikosyo {
  background-color: var(--icon-color-orange);
}
.icon_alarm_keitoijyo {
  background-color: var(--icon-color-green);
}


/* Common Style
-------------------------------------------- */
.pcOnly { display: block; }
.spOnly { display: none; }
.txtL { text-align: left; }
.txtC { text-align: center; justify-content: center; }
.txtR { text-align: right; justify-content: end; }
.fs-s { font-size: var(--font-size-small); }
.flexC { justify-content: center; }
a { 
  text-decoration: none;
  color: var(--font-color-main);
  width: 100%;
  display: inline-block;
  cursor: pointer;
}
.flex_col {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 10px;
}
.mt10 { margin-top: 10px; }
.mt20 { margin-top: 20px; }
.mb10 { margin-bottom: 10px; }
.mt20 { margin-top: 20px; }
.mr10 { margin-right: 10px; }
.mr20 { margin-right: 20px; }
.ml10 { margin-left: 10px; }
.ml20 { margin-left: 20px; }
.fs12 { font-size: 1.2rem; }
#bodyLeft section a {
  color: var(--font-color-link);
}
#bodyLeft section .btn a {
  color: var(--font-color-main);
}
ul {
  margin: 0;
  padding: 0;
}
h1 { font-size: 3rem; font-weight: 700; }
h2 {
  font-size: 1.6rem;
  font-weight: 500;
  background-color: var(--bg-color-headline);
  padding: 15px 20px;
  border-radius: var(--border-radius-10) var(--border-radius-10) 0 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  line-height: initial;
  border-bottom: 1px solid var(--bg-color-section);
}
h2 span { font-size: 1.2rem; font-weight: 400; margin-right: auto;}
h2.no-border {
  border: none;
  border-radius: var(--border-radius-10); /* divが閉じているときのスタイル */
}
h3 {
  margin: 20px 0;
  padding: 0 20px;
}
h4 {
  padding: 10px 0;
}
select,
input[type="search"]::-webkit-search-cancel-button {
  /* 初期化 */
  -webkit-appearance: none; /* Chrome, Safari, Edge */
  -moz-appearance: none;    /* Firefox */
  appearance: none;         /* Removes default browser styles */
  background: none;         /* Removes background */
  border: none;             /* Removes border */
  padding: 0;               /* Removes padding */
  margin: 0;                /* Removes margin */
  font: inherit;            /* Inherits font styles from parent */
  color: inherit;           /* Inherits text color from parent */
  outline: none;            /* Removes outline on focus */
}
.error_message {
  border: 1px solid var(--icon-color-red);
  color: var(--icon-color-red);
  padding: 10px 20px 10px 30px;
}
.error_message ul {
  list-style-type: disc;
}
.error_message ul li {
  margin-bottom: 5px;
}
label { 
  cursor: pointer;
  padding: 5px 0;/*padding: 10px 0; 20250228 change */
  /*display: inline-block;/* 20250226 add */
}
.icon_link {
  display: inline-flex; /* アイコンとリンクテキストを横並びにする */
  align-items: center; /* 縦方向の中央揃え */
}
.info a {
  display: inline;
}
.red {
  color: var(--icon-color-red);
}
/* ロゴ画像 */
.sys_logo a {
  width: 100%;
  height: 100%;
}
#sidebar .sys_logo {
  /*background: url(../images/common/logo.svg) no-repeat 50% 50%;
  background-size: 170px auto;*/
  background-repeat: no-repeat;
  background-position: center;
  background-size: 130px auto;
  text-align: center;
}



/* Common Layout Style
-------------------------------------------- */
.body_wrap {
  display: grid;
  grid-template-rows: 70px 1fr;
  grid-template-columns: 220px 1fr;
  grid-template-areas:
  "sidebar header"
  "sidebar main";
}
#header { grid-area: header; }
#sidebar { grid-area: sidebar; }
#main_container { 
  grid-area: main; 
  position: relative; 
  display: flex;
}
/* カラムなしの設定 */
.column-full {
  background-image: url(../images/common/bg_image.png);
  background-repeat: no-repeat;
  background-size: cover;
  height: 100%;
  min-height: 100vh;
  padding-top: 50px;
}
.column-full > div {
  color: #333b40;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.body_wrap:has(.column-full){/* login画面のみ */
  display: block;
}
.body_wrap:has(.column-full):after{/* login画面のみ */
  position: fixed;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  content: "powerd by JCity";
  color: #fff;
  font-size: 14px;
}
.container section:not(:has(h2)) > div:first-of-type {/* h2のないsection用 */
  padding: 20px 20px 0 20px;
}
.popup_container {/* h2のないsection用 */
  padding: 0px 20px!important;
}
#save_message {/* 保存完了メッセージの表示 */
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
  background: var(--icon-color-green);
  padding: 10px;
  width: 100vw; /* 画面全体の横幅に */
  text-align: center;
  position: fixed; /* 画面全体に対して固定 */
  top: 50%; /* 画面の縦方向50%の位置に */
  left: 0; /* 左端に配置 */
  transform: translateY(-50%); /* 縦方向の中央に配置 */
  z-index: 9999;
  box-sizing: border-box; /* パディングやボーダーを含めて幅を調整 */
}
div#save_message.show {
  opacity: 1;
}

#bodyLeft .error_message {
  border: none;
  padding: 15px 20px 10px 30px;
  color: #fafafa;
  background: var(--icon-color-red);
  margin-bottom: 10px;
  border-radius: var(--border-radius-5);
}
#bodyLeft input.error {
  border: 1px solid var(--icon-color-red);
  background: var(--bg-color-error);
}
.company_logo_wrap {
 /* display: flex;
  justify-content: center;
  align-items: center;*/
  width: 100%;
  position: absolute;
  bottom: 20px;
}
.company_logo {
  padding: 20px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
.company_logo img {
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}


/* Header Style
-------------------------------------------- */
#header { 
  background: var(--bg-color-header);
  position: fixed;
  top: 0;
  left: 220px;
  width: calc(100% - 220px);
  height: 70px;
  transition: left 0.3s ease;
  z-index: 100;
}
#header .header_wrap {
  display: flex;
  flex-wrap: nowrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  align-items: center;
  /*max-width: 1260px;*/
  /*padding-right: 20px;*/
}
#header .header_wrap .headerMenu:last-of-type {
  margin-left: auto;
  column-gap: 10px;
}
#header .searchBox_wrap {
  /*cursor: inherit;*/
  width: 220px;
  /*min-width: 220px;*/
  padding-left: 30px;
  padding-right: 24px;
  text-indent: 0;
  background-position: 8px center;
  display: flex;
  align-items: baseline;
}
#header .searchBox_input {
  background: var(--bg-color-header);
  border: none;
  color: var(--font-color-main);
}
#header .searchBox_input:focus {
  outline: none;
}
#header .headerMenu {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
}
#header .trigger_icon_wrap {
  position: relative;
  width: 70px;
  height: 70px;
}
#header .trigger_icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#header .searchBox_wrap .icon_search {
  width: 23px;
  font-size: 2.2rem;
  margin-right: 8px;
}
#header .icon_searchBox_reset {
  background: none;
  border: none;
  cursor: pointer;
  width: 20px;
  height: 20px;
  display: none; /* 初期状態では非表示 */
}
#header .headerMenu .headerMenu_wrap li {
  margin-left: 30px;
  display: inline-block;
}
#header .headerMenu .account_wrap {
  position: relative;
  margin: 0 30px;
  padding: 5px 30px 5px 10px;
  background-color: var(--bg-color-pulldown);
  border-radius: var(--border-radius-5);
  border: 1px solid var(--border-color-form-parts);
}
#header .headerMenu .icon_drop_down::before {
  position: absolute;
  top: 3px;
  right: -5px;
}

/* dropdown menu box
-------------------------- */
.dropdown_box {
  display: none; /* 初期状態で非表示 */
  box-shadow: 2px 3px 15px rgba(0, 0, 0, 0.8);
  transform: translateY(-20px);
  border-radius: var(--border-radius-10);
  background-color: var(--bg-color-block);
  padding: 10px;
}
.dropdown_box.show {/* メニュー表示時 */
  display: block;
  /*opacity: 1;*/
  transform: translateY(0);
}
#header .account_wrap {
  cursor: pointer;
  display: flex;
  align-items: center;
}
#header .dropdown_menu_box {
  position: absolute;
  top: 80%;
  right: 20px;
  width: 200px;
}
#header .dropdown_menu_box div {
  padding: 5px;
}
#header .dropdown_menu_box div:last-child {
  border-bottom: none;
}
#header .dropdown_menu_box a {
  text-decoration: none;
  display: flex;
  align-items: center;
  cursor: pointer;
}

#header .pager_wrap .pager_prev,
#header .pager_wrap .pager_info,
#header .pager_wrap .pager_next {
  margin: 0 10px;
}

/* serch doropdown box
-------------------------- */
#header .searchBox {
  position: relative;
}
#header .dropdown_serch_box {
  position: absolute;
  left: auto;
  top: 150%;
  width: 650px;
}
#header #globalSearch_Container li.globalSearch_list_item {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  padding: 5px;
}
#header #globalSearch_Container li.globalSearch_list_item:hover {
  background: var(--bg-color-table-hover);
}
#header #globalSearch_Container li.globalSearch_list_item:nth-child(odd) {
  background-color: var(--bg-color-table-td);
}
#header #globalSearch_Container .globalSearch_list_item-plant_icon {
  margin-left: auto;
  text-align: right;
  width: 60px;
}
#header #globalSearch_Container .globalSearch_list_item-plant {
  width: 520px;
}
#header #globalSearch_Container .pager_wrap {
  padding: 10px;
}
#header #globalSearch_Container .pager_wrap a {
  display: inline;
  cursor: pointer;
}
#header #globalSearch_Container .search_no_items {
  padding: 10px;
}

/* Button Style
-------------------------------------------- */
.btn_wrap { 
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.btn { 
  width: 100%;
  background: var(--btn-color-main);
  text-align: center;
  border-radius: var(--border-radius-5);
  margin: 0px 15px;/* 10px 15px から変更 20250214 */
}
.btn a {
  display: block;
  padding: 15px 20px;
  color: #fafafa;
  font-weight: 700;
}
.btn_s { 
  margin: 0px;
}
.btn_s a,
.btn_s input[type="submit"],
.btn_s input[type="button"],
.btn_s button {
  padding: 5px 30px;
}
.btn_auto { 
  width: auto;
}
.btn_border {
  border-top: 1px solid var(--border-color-separator);
  padding-top: 20px!important;
}
input[type="submit"],
input[type="button"],
button {
  width: 100%;
  background-color: #4CAF50; /* 背景色 */
  border-radius: var(--border-radius-5);
  background: var(--btn-color-main);
  color: #fafafa;
  border: none; /* ボーダーなし */
  cursor: pointer; /* カーソルをポインターに */
  transition: background-color 0.3s ease; /* 背景色のトランジション */
  padding: 10px 20px;
}
.btn:hover,
input[type="submit"]:hover {
opacity: .9;/* ホバー時の背景色 */	opacity: .9;/* ホバー時の背景色 */
}




/* Table Style
-------------------------- */
/* 検索結果のTable Style */
table.data_table {
  width: 100%;
  border-spacing: 0;
  margin-top: 10px;
  border-collapse: collapse;
}
table.data_table tbody tr:nth-child(odd),
table.search_table tbody tr:nth-child(odd),
table.display_table tbody tr:nth-child(odd) {
  background-color: var(--bg-color-table-td);
}
table.no_td tbody tr:nth-child(odd) {
  background-color: var(--bg-color-block);
}
table.data_table tbody td {
  padding: 3px 10px;
}
table.data_table thead th {
  border-top: 1px solid var(--border-color-table-data);
  border-bottom: 1px solid var(--border-color-table-data);
  padding: 10px;
  text-align: center;
  white-space: nowrap;/* 折り返しを防止 */
}
.detail,
.place {
  font-size: var(--font-size-middle);
}
.ts,
.last_time,
.area {
  white-space: nowrap;  /* 折り返しを防止 */
}
.category,
.pcs_maker,
.plant_office,
.code,
.value,
.devid
.devtype,
.area,
.id,
.ps,
.last_time {
  text-align: center;
}
.plant_name {
  text-align: left;
}
/* 条件検索のTable Style */
table.search_table {
  width: 100%;
  border-spacing: 0;
  /*border-collapse: collapse;*/
}
table.search_table th,
table.search_table td {
  border-top: 1px solid var(--border-color-separator);
  /*border-bottom: 1px solid var(--border-color-table-search);*/
  padding: 5px 10px;/* 10px → 5px 20250214 */
}
table.search_table tr:last-child th,
table.search_table tr:last-child td {
  border-bottom: none;
}
table.search_table th {
  text-align: left;
  width: 15%;
}
table.search_table .search_table_item {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

table.search_table .devListItem_wrap {
  border: 1px solid var(--border-color-form-parts);
  border-radius: var(--border-radius-5);
  margin-top: 10px;
}
table.search_table .devListItem_wrap h3 {
  border-bottom: 1px solid var(--border-color-form-parts);
  padding: 10px 20px;
  font-size: 1.4rem;
  font-weight: normal;
  margin: 0;
}
table.search_table .devListItem_wrap h4 {
  background: var(--bg-color-table-td);
  padding: 3px 10px;
}
table.search_table .devListItem_item {
  padding: 10px 20px;
}

.devListItem_item-detail dl {
  display: flex;
  align-items: center;
  column-gap: 30px;
  margin-left: 10px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.devListItem_item-detail dt {
  /*min-width: 160px; 20250310 delete*/
  flex-shrink: 0; /* 縮小しないように */
  display: flex; /* 横並びにするための調整 */
  align-items: center; /* 縦中央に揃える */
  width: 100%;
}
.devListItem_item-detail dd {
/*  flex-grow: 1;
  width: 80%;
  margin: 0; 20250310 delete*/
/*  flex-grow: 1;*/
/*  width: min(50px, calc(100% - 70px - 70px));*/
/*  width: calc(100% - 70px - 70px);*/
/*  min-width: 0;*/
/*  display: flex; /* inline を削除して flex に変更 */
/*  flex-direction: row;*/
}
table.search_table ul {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  padding: 0;
  margin: 0;
  /*margin: 0 0 5px;*/
  gap: 0px 20px;
}
.devListItem_item-detail dt,
.devListItem_item-detail dd {
  /*display: inline-block;*/
  margin: 0;
  /*margin-bottom: 10px;*/
}
.devListItem_item-detail dt + .devListItem_item-detail dd {
  display: flex;
  gap: 5px; /* 適宜調整 */
}
/* <dt> がない場合、<dd> は単体でブロック要素のように扱う */
.devListItem_item-detail dd:first-child:not(:has(+ dt)) {
  display: block;
  width: 100%;
}

.devListItem_item-detail dd ul li {
  /*min-width: 120px; 20250226 Delete */
}
.devListItem_item li.devListItem {
  display: flex;
  align-items: center;
  gap: 4px; /* チェックボックスとラベルの間の隙間 */
  white-space: nowrap; /* ← 改行させない！ */
}
.devListItem_item-detail {
  margin-top: 10px;
}
table.search_table .devListItem_item-memo {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}
table.search_table .devListItem_item-memo:last-of-type {
  margin-bottom: 0;
}
/* 検索結果の表示件数 */
.number_select_wrap {
 display: flex;
 align-items: center;
 margin-left: auto;
}
.number_select {
  width: 80px;
  margin-left: 10px;
}
.search_table_item-txt {
  display: block!important;
  text-indent: -1em!important;
  padding-left: 1em!important;
}
.search_table_item-txt li::before {
  content: "※"!important;
}

/* 主に月報に使用 */
table.display_table {
  width: 100%;
  border-spacing: 0;
}
table.display_table th,
table.display_table td {
  border-top: 1px solid var(--border-color-separator);
  border-left: 1px solid var(--border-color-separator);
}
table.display_table {
  border-right: 1px solid var(--border-color-separator);
  border-bottom: 1px solid var(--border-color-separator);
}
table.display_table th {
  background: var(--bg-color-table-td);
  padding: 5px 0px;
}
table.display_table td {
  padding: 10px 0px;
  text-align: center;
  font-size: var(--font-size-value);
}
table.display_table td .unit {
  font-size: var(--font-size-common);
  margin-left: 5px;
}
table.display_table td.num {
  font-size: var(--font-size-common);
}
table tbody td span {
  white-space: nowrap;
}















/* form Parts Style
-------------------------- */
select {
  background-color: var(--bg-color-pulldown);
  border-radius: var(--border-radius-5);
  border: 1px solid var(--border-color-form-parts);
  padding: 5px 30px 5px 10px;
  /*background-image: url(../images/common/arrow_down.png);*/
  background-repeat: no-repeat;
  background-position: right 10px center;
  width: 100%;
  margin: 5px 0;
}
textarea {
  width: 100%;
  height: 70px;
  border: 1px solid var(--border-color-form-parts);
  background: var(--bg-color-pulldown);
  color: var(--font-color-main);
  padding: 3px 5px;
}
input[type="text"],
input[type="email"] ,
input[type="password"] {
  background-color: var(--bg-color-pulldown);
  border-radius: var(--border-radius-5);
  border: 1px solid var(--border-color-form-parts);
  padding: 5px 10px;
  width: 100%;
  color: var(--font-color-main);
}
input[type="checkbox"]{
  appearance: none;
  height: 16px;
  width: 16px;
  margin: 0 7px 0 0;
  border: 1px solid var(--border-color-form-parts);
  border-radius: var(--border-radius-5);
  vertical-align: middle;
  cursor: pointer;
}
input[type="checkbox"]:checked {
  border: 1px solid var(--border-color-form-parts);
  background-color: var(--btn-color-main);
}
input[type="checkbox"]:checked::before {
  display: grid;
  place-content: center;
  color: white;
  height: 100%;
  font-size: 12px;
  font-family: 'Material Icons';
  content: "\e5ca";
}
input[type="radio"]{
  appearance: none;
  height: 16px;
  width: 16px;
  margin: 0 7px 0 0;
  border: 1px solid var(--border-color-form-parts);
  vertical-align: middle;
  background: var(--bg-color-pulldown);
  border-radius: 30px;
  cursor: pointer;
}
input[type="radio"]:checked {
  border: 4px solid var(--btn-color-main);
  background-color: var(--font-color-main);
}

.status_list_wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 10px 0;
}
/* リストのデフォルトスタイルをリセット */
.status_list {
  list-style: none;
  padding: 0;
  display: flex;
  gap: 10px;
}
.status_list li {
  display: inline-block;
}
/* チェックボックスを非表示にする */
.status_list input[type="radio"] {
  display: none;
}
/* ボタン風のラベル */
.status_list label {
  display: inline-block;
  padding: 0px 10px;
  background-color: #007bff;
  color: white;
  border-radius: 50px;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
}
/* チェックされていないラベルのスタイル */
.status_list input[type="radio"]:not(:checked) + label {
  background-color: var(--bg-color-block);
  color: var(--font-color-main);
}
/* チェックされているときのスタイル */
.status_list input[type="radio"]:checked + label {
  background-color: var(--btn-color-main);
  color: var(--font-color-main);
}
/* ホバー効果 */
.status_list label:hover {
  background-color: var(--btn-color-main);
  border-color: var(--font-color-main);
}
/* カスタムのアップロードボタン */
.file_upload {
  display: inline-block;
  padding: 5px 20px;
  background-color: var(--btn-color-main);
  border-radius: var(--border-radius-5);
  cursor: pointer;
  transition: background-color 0.3s ease;
}
/* ホバー効果 */
.file_upload:hover {
  opacity: .8;
}
/* input[type="file"] は隠す */
input[type="file"] {
  display: none;
}

/* コンボボックス用 */
/* Chrome / Edge / Safari (WebKit) の▼ */
.AlertList .group_select_wrap input[list]::-webkit-calendar-picker-indicator,
.PlantList .group_select_wrap input[list]::-webkit-calendar-picker-indicator  {
  opacity: 0 !important;
  display: block;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  pointer-events: none !important;
}
/* 旧Edge/IE系 */
.AlertList .group_select_wrap input[list]::-ms-clear,
.AlertList .group_select_wrap input[list]::-ms-expand,
.PlantList .group_select_wrap input[list]::-ms-clear,
.PlantList .group_select_wrap input[list]::-ms-expand {
  display: none !important;
}
/* デフォルトの見た目をオフに */
.AlertList .group_select_wrap input[list],
.PlantList .group_select_wrap input[list] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.AlertList .group_select_wrap input,
.PlantList .group_select_wrap input {
    background-color: var(--bg-color-pulldown);
    border-radius: var(--border-radius-5);
    border: 1px solid var(--border-color-form-parts);
    padding: 5px 30px 5px 10px;
    background-repeat: no-repeat;
    background-position: right 10px center;
    width: 100%;
    margin: 5px 0;
    background-image: url(../images/common/arrow_down.png);
    color: var(--font-color-main);
}
.AlertList .group_select_wrap input::placeholder,
.PlantList .group_select_wrap input::placeholder {
  color: var(--font-color-main);
}




/* Pager Style
-------------------------------------------- */
.pager_wrap  {
  display: flex;
  /*justify-content: space-between;*/
  flex-wrap: wrap;
  align-items: center;
  margin-top: 5px;
}
.pager {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 5px 0;
  flex-wrap: wrap;/* 20250226 add */
  row-gap: 5px;/* 20250226 add */
}
.pager_wrap ul.pager li a {
  color: var(--font-color-main)!important;
  border: 1px solid var(--border-color-pager);
}
.pager .page-item {
  margin-right: 5px;
}
.pager li.disabled .page-link {
  pointer-events: none;
}
.pager .page-link {
  display: block;
  padding: 2px 10px;
  background: var(--bg-color-pager);
  border-radius: var(--border-radius-3);
}
.pager .page-link:hover {
  background-color: var(--btn-color-main);
  color: #fafafa!important;
}
.pager .page-item.active .page-link {
  background-color: var(--btn-color-main);
  color: #fafafa!important;
}

.pager_s_wrap  {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.pager_s {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 10px 5px;
}
.pager_s .page-item {
  margin-right: 10px;
}
.pager_s_wrap ul.pager_s li a {
  color: var(--font-color-link);
}
.pager_prev::before,
.pager_next::after  {
  display: block;
  content: "";
  height: 6px;
  width: 6px;
}
.pager_prev::before {
  margin-right: 3px;
  border-top: 2px solid var(--font-color-main);
  border-left: 2px solid var(--font-color-main);
  -webkit-transform: rotate(-45deg) translateY(-1px);
  -ms-transform: rotate(-45deg) translateY(-1px);
  transform: rotate(-45deg) translateY(-1px);
  margin-top: 2px;
}
.pager_next::after {
  margin-left: 3px;
  border-top: 2px solid var(--font-color-main);
  border-right: 2px solid var(--font-color-main);
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.pager_next,
.pager_prev {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  font-size: 1.2rem;
}
.pager_prev.is_disabled,
.pager_next.is_disabled,
.pager_prev[disabled],
.pager_next[disabled] {
  opacity: .3;
  cursor: not-allowed;
  pointer-events: none;
}



/* toggle（checkbox）icon */
.toggle {
  position: relative;
  width: 40px;
  height: 20px;
  margin: 0;
  border-radius: 50px;
  overflow: hidden;
  cursor: pointer;
}
.toggle input[type=checkbox] {
  appearance: none;
}
.toggle:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: #666a6c;
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
}
.toggle:after {
  content: "";
  position: absolute;
  top: 2px;
  left:3px;
  width: 16px;
  height: 16px;
  display: block;
  border-radius: 50px;
  background: #fff;
  box-shadow: 0 9px 28px -6px rgba(0, 0, 0, 0.3);
  -webkit-transition: 0.2s ease-out;
  transition: 0.2s ease-out;
}
.toggle.checked:before {
  background: var(--btn-color-main);
}
.toggle.checked:after {
  left: 21px;
  box-shadow: 0 9px 28px -6px rgba(0, 0, 0, 0.5);
}






/* Calendar Style
-------------------------- */
.calendar_wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.calendar_wrap select {
  width: auto; /* selectの幅を調整 */
}
.calendar_wrap input[type="text"] {
  background-color: var(--bg-color-pulldown);
  border-radius: var(--border-radius-5);
  border: 1px solid var(--border-color-form-parts);
  padding: 5px 30px 5px 10px;
  background-image: url(../images/common/arrow_down.png);
  background-repeat: no-repeat;
  background-position: right 10px center;
  color: var(--font-color-main);
}





/* Sidebar Style
-------------------------------------------- */
#sidebar { 
  background: var(--bg-color-sidebar-common);
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  width: 220px;
  height: 100%;
  overflow-y: visible;
  transition: transform 0.3s ease;
}
#sidebar .btn_wrap { 
margin-top: 30px;
}
/* 発電所内メニュー */
#local_nav_wrap {
  margin-bottom: 40px;
}
#local_nav_wrap ul.local_nav li {
  width: 100%;
  height: 40px;
  display: flex;
  align-items: center;
}
#local_nav_wrap ul.local_nav.second_level_nav li:first-of-type {
  margin: 20px 0;
}
#local_nav_wrap ul.local_nav li a:hover,
.active {
  background: var(--bg-color-main);
}
#local_nav_wrap ul.local_nav li a {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0 15px;
}
.arrow {
  display: none;
}
#sidebar .dash {
  padding: 0 15px;
}
#sidebar .dash a {
  padding: 7px 30px;
  font-weight: 400;
}


/* Sidebar move Style
-------------------------------------------- */
/* サイドバーが非表示になるときの状態 */
#sidebar.hidden {
  transform: translateX(-220px); /* サイドバーが画面外に移動 */
}
.container {
  transition: transform 0.3s ease; /* 位置移動のトランジション */
}
/* サイドバーが表示されるときの状態 */
#sidebar {
  transform: translateX(0); /* サイドバーが通常の位置に表示 */
}
#sidebar.collapsed {
  transform: translateX(-220px); /* サイドバーが画面外に移動 */
}
#sidebar:not(.collapsed) {
  transform: translateX(0); /* サイドバーが通常の位置に表示 */
}
#sidebar .sys_logo {
  height: 70px;
  text-align: center;
  padding: 15px;
}
#header.expanded {
  left: 0;
  width: 100%;
}
#main_container.expanded {
  width: 100%;
  grid-area: 2 / 1 / 3 / 3;
  /* グリッド位置指定 
  2: 開始する行の番号（スタート行）。
  1: 開始する列の番号（スタート列）。
  3: 終了する行の番号（エンド行）。
  3: 終了する列の番号（エンド列）。
  */
}
/* ハンバーガーメニューの挙動 */
#menu_icon {
  position: relative;
  width: 25px;
  height: 18px;
  cursor: pointer;
}
#menu_icon span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--icon-color-common);
  border-radius: 5px;
}
#menu_icon, #menu_icon span {
  /*display: inline-block;*/
  transition: all .5s;
}
#menu_icon span:nth-of-type(1) {
  top: 0;
}
#menu_icon span:nth-of-type(2) {
  top: 8px;
}
#menu_icon span:nth-of-type(3) {
  bottom: 0;
}
#menu_icon.active span:nth-of-type(1), 
#menu_icon.active span:nth-of-type(3),
#menu_icon:hover span:nth-of-type(1), 
#menu_icon:hover span:nth-of-type(3) {
  width: 15px;
}
/* 矢印スタイル（左向き） */
#menu_icon.hover_left span:nth-of-type(1) {
  transform: translate(-4px,13px) rotate(45deg);
}
#menu_icon.hover_left span:nth-of-type(3) {
  transform: translate(-4px,-13px) rotate(-45deg);
}
/* 矢印スタイル（右向き） */
#menu_icon.hover_right span:nth-of-type(1) {
  transform: translate(6px,13px) rotate(135deg);
}
#menu_icon.hover_right span:nth-of-type(3) {
  transform: translate(6px,-13px) rotate(-135deg);
}
/* ハンバーガーアイコンのスタイル */
#menu_icon span {
  width: 20px;
}

/* main_container Style
-------------------------- */
.container section { /* 各ブロックをsectionで囲みます */
  position: relative;
  width: 100%;
  background: var(--bg-color-block);
  border-radius: var(--border-radius-10);
  margin-top: 30px;
  border: 1px solid var(--bg-color-section);
}
.container section > div {
  margin: 20px 0;
  padding: 0 20px;
}
.container section > div:last-of-type {
  padding-bottom: 20px;
}
.container section:first-of-type {
  margin-top: 10px;
}
.Top .container section:last-of-type {/* add 20250219 */
  margin-bottom: 30px;
}
.container section:last-of-type {
  margin-bottom: 50px;
}
.container form section:last-of-type {
  margin-bottom: 10px;/* 20250317 add formに囲まれたときのsectionの扱いを追加 */
}
.container {
  padding: 30px 40px;
  /*width: 100%;
  max-width: 1640px;*/
  /*width: min(100%, 1640px);*/
  width: 100%;
  margin: 0 auto;
}
.container .main_wrap {
  display: flex;
  justify-content: space-between;
}
.container .main_wrap #bodyRight {
  position: relative;
  margin-left: 30px;
  width: 360px;
  min-width: 360px;
}
.container .main_wrap #bodyLeft {
  position: relative;
  flex-grow: 1; /* 残りのスペースを占める */
}
.container #power .group_select_wrap {
  position: absolute;
  top: -15px;
  right: 0px;
}
.container .main_wrap #bodyOnly {
  position: relative;
  flex-grow: 1; /* 残りのスペースを占める */
}

#plant_favorite li,
#plant_viewHistory li,
#link_list li,
#sidebar .sidebar_link_list li {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  padding: 0px 20px;
  border-bottom: 1px solid var(--border-color-separator);
}
#plant_favorite li:last-of-type,
#plant_viewHistory li:last-of-type,
#link_list li:last-of-type {
  border-bottom: none;
}
#plant_favorite li a,
#plant_viewHistory li a {
  display: inline-block;
  padding: 10px 0;
}
#link_list li a {
  display: inline-block;
  padding: 10px 20px;
}
#sidebar .sidebar_link_list li a {
  display: inline-block;
  padding: 5px 5px 5px 15px;
}
#plant_favorite li .plant_favorite_item-plant,
#plant_viewHistory li .plant_viewHistory_item-plant {
  width: 100%;
}
#plant_favorite li:hover,
#plant_viewHistory li:hover {
  background: var(--bg-color-table-hover);
}
#link_list li {
  background: url(../images/common/arrow_r.png) no-repeat center left 20px;
}
#sidebar .sidebar_link_list li {
  background: url(../images/common/arrow_r.png) no-repeat center left 15px;
}
#sidebar .sidebar_link_list {
  font-size: var(--font-size-small);
  margin: 40px 0;
  padding: 20px 0 0;
  border-top: 1px var(--border-color-form-parts) solid;
}
#link_list {
  padding: 10px 0;
}

#schedule_01 .open_point-schedule,
#schedule_02 .open_point-schedule {
  position: absolute;
  top: -10px;
  right: 0;
  display: inline-block;
  font-size: 20px; /* アイコンサイズ */
  cursor: pointer; /* クリック可能なことを示す */
  margin-left: 10px; /* アイコンとテキストの間にスペース */
  transition: transform 0.3s ease; /* アニメーションのスムーズさ */
}
#schedule_01 .open_point-schedule.open,
#schedule_02 .open_point-schedule.open {
  transform: rotate(180deg); /* アイコンの回転 */
}
#schedule_01 h2#btn_open-schedule_01,
#schedule_02 h2#btn_open-schedule_02 {
  cursor: pointer;
}

/* Dashboard グラフ表示 */
.Top #power .power_graph {
  display: flex;
  row-gap: 20px;
}
.Top #power .power_graph .power_graph-now,
.Top #power .power_graph .power_graph-day,
.Top #power .power_graph .power_graph-month,
.Top #power .power_graph .power_graph-year {
  width: calc(100% / 2);
}
.Top #power .power_graph-day .power_box_inner > div:first-of-type {
  border-right: none;
  padding-right: 0px;
}
.Top #power .power_graph-day .power_box_inner > div {
  width: 100%;
}

#power .power_graph {
  display: flex;
  flex-wrap: wrap;
}
#power .power_graph > div {
  width: 100%;
  /*border-left: 1px solid var(--border-color-separator);*/
  padding: 0 10px;
}
#power .power_graph > div:first-of-type {
  border-left: none;
}
/* plant top グラフ表示 */
#power.power_planttop .power_graph {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;  /* 3列 */
  grid-template-rows: auto auto;  /* 2行 */
  grid-template-areas: 
      "now day day"
      "now month year";  /* 各エリア名を指定 */
  gap: 10px;  /* グリッドの間隔 */
}
#power.power_planttop .power_graph > div {
/*  width: 100%;
  border-left: 1px solid var(--border-color-separator);
  padding: 0 10px;*/
}
#power.power_planttop .power_graph > div:first-of-type {
  border-left: none;
}
.power_graph-now {
  grid-area: now;
}
.power_graph-day {
  grid-area: day;
}
.power_graph-month {
  grid-area: month;
}
.power_graph-year {
  grid-area: year;
}
.conditions-pulldown {
  display: flex;
}
.conditions-pulldown > div {
  margin-right: 10px;
}

span.icon_bookmark {
  display: inline-block;
  width: 26px;
  height: 26px;
  background: url(../images/common/icon_star-solid.png) no-repeat; 
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: middle;
  margin-left: 20px;
  cursor: pointer;
}
.icon_bookmark.active {
  background: url(../images/common/icon_star-solid_on.png) no-repeat;
}
.txt_hint {
  background: var(--bg-color-table-hover);
  padding: 20px;
  margin-top: 5px;
}
.txt_hint ul li {
  margin-top: 5px;
  padding-left: 20px; /* 改行時のインデント */
  text-indent: -20px; /* リストマーカーの位置を調整 */
}

/* Login / pw Reminder Style
-------------------------- */
.column_full_common {
  background: #f7f7f7;
  width: 650px;
  padding: 65px 50px;
  border-radius: var(--border-radius-10);
}
.column_full_common input[type="email"],
.column_full_common input[type="password"] {
  background-color: #fff;
  border-radius: var(--border-radius-5);
  border: 1px solid #e0e3ea;
  padding: 20px 15px;
  background-repeat: no-repeat;
  background-position: right 10px center;
  width: 100%;
  color: #333b40;
}
.column_full_common-item > div {
  margin: 20px 0;
}
.column_full_common-item img {
  width: 130px;
}
.column_full_common-item > div:first-of-type {
  margin-top: 0;
}
.pw_forget_wrap {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}
.pw_forget_wrap a {
  color: #333b40;
}
.column_full_common .btn {
  margin: 0;
}
.column_full_common input[type="submit"] {
  padding: 10px 40px;
}
.pw_policy {
  border-top: 1px solid #e0e3ea;
  padding-top: 20px;
}
.pw_policy span {
  display: block;
  background: #fff;
  padding: 10px 20px;
  border-radius: var(--border-radius-5);
  margin: 10px 0;
}
.SessionTimeOut .SessionTimeOut_list li {
  text-indent: -1em;
  padding-left: 1em;
}

.Password .pw_policy {
  border-top: none;
  padding-top: 0px;
}

.Password .pw_policy span {
  background: var(--bg-color-headline);
  color: var(--font-color-main);
}


/* MessageList（過去のお知らせ） Style
-------------------------- */
.column_full_common.MessageList_wrap {
  min-width: 1000px;
}
.MessageList_tit {
  display: flex;
  gap: 20px;
  align-items: center;
  padding: 10px;
  margin-bottom: 20px;
  border-top: 1px solid #c4c4c4;
  border-bottom: 1px solid #c4c4c4;
}
.MessageList_tit-subject {
  font-size: 1.6rem;
}
.MessageList_item {
  padding-bottom: 20px;
}
.pagemap {
  justify-content: space-between;
}
div#MessageList {
  margin-bottom: 70px;
}






/* second_level_nav Style
-------------------------- */
.second_level_nav_wrap {
  min-width: 220px;
  background: var(--bg-color-sidebar-local);
  width: 220px;
  min-height: calc(100vh - 0px - 70px);
}
.second_level_nav_wrap ul {
  margin-left: 15px;
  margin-top: 5px;
}
.h3_contents { /* h3レベルのcontentsのStyle */
  border: 1px solid var(--border-color-form-parts);
  border-radius: var(--border-radius-5);
}
.h3_contents_wrap h3 {
  border-bottom: 1px solid var(--border-color-form-parts);
  padding: 10px 20px;
  font-size: 1.4rem;
  font-weight: normal;
}
.h3_contentsItem {
  padding: 10px 20px;
}
.h3_contents_wrap h4 {
  background: var(--bg-color-table-td);
  padding: 3px 10px;
}
.h3_contents_wrap ul {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  padding: 0;
  margin: 0;
  gap: 5px 20px;
}
.h3_contents_wrap ul li {
  min-width: 120px;
}
.toggle_wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}

/* BookMark Style
-------------------------------------------- */
.bookmark_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 10px;
  padding-bottom: 20px;
}
.bookmark_item {
  width: calc(50% - 15px);
  border-top: 1px solid var(--border-color-table-data);
  min-height: 50px;
  display: grid;
  align-items: center;
}
.bookmark_item-default {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
.bookmark_item:hover {
  background: var(--bg-color-table-hover);
}
.bookmark_item > div {
  padding: 5px 10px;
}
.bookmark_wrap > div:nth-child(odd) {
  margin-right: 30px; /* 奇数のアイテムのみに30pxの間隔を与える */
}
.bookmark_wrap > div:nth-child(even) {
  margin-right: 0; /* 偶数のアイテムには右の間隔をゼロに */
}
.bookmark_item .plant_trash {
  text-indent: 150%;
  white-space: nowrap;
  overflow: hidden;
  background: url(../images/common/icon_trash.png) no-repeat;
  background-size: 20px;
  background-position: center;
  width: 10%;
  margin-left: auto;
  cursor: pointer;
}
.bookmark_item .plant_name {
  width: 70%;
}
.bookmark_item .plant_area {
  width: 20%;
  text-align: center;
}
.bookmark_delete {
  justify-content: center;
}
.bookmark_delete-undo {
  border: 1px solid var(--border-color-form-parts);
  padding: 3px 15px;
  border-radius: var(--border-radius-5);
  cursor: pointer;
  white-space: nowrap;
  margin: 0 10px;
}
.bookmark_delete {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}
.bookmark_delete-txt {
  width: 80%;
  text-align: center;
}

/* Data Style（収集データ）/Group Style（グループ設定）
-------------------------------------------- */
.preset .preset_id,
.group {
text-align: center;
}
.preset .preset_name,
.group .group_name,
.group .group_label,
.group .group_memo {
  text-align: left;
}
.preset input[type="submit"],
.preset input[type="button"],
.group input[type="submit"],
.group input[type="button"] {
width: auto;
padding: 3px 20px;
}
.preset .preset_btn .preset_delete,
.preset_btn .preset_delete-ng,
.group .group_btn .group_delete,
.group_btn .group_delete-ng {
border: 1px solid var(--border-color-form-parts);
background: var(--bg-color-block);
}
.preset_memo {
font-size: var(--font-size-small);
opacity: .6;
}
.preset_btn > div,
.group_btn > div {
display: flex;
gap: 20px;
justify-content: end;
align-items: center;
flex-wrap: nowrap;
}
/* 画面を暗くするオーバーレイ */
.preset_overlay {
  display: none; /* 初期状態では非表示 */
  position: fixed;
  top: -20px;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5); /* 透明度0.8で黒 */
  z-index: 1000; /* 最前面に表示 */
}
/* アラートパネルを画面中央に表示 */
.preset_alert_wrap {
  display: none; /* 初期状態では非表示 */
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1001; /* オーバーレイの上に表示 */
}
.preset_alert {
  background: var(--bg-color-sidebar-common);
  border-radius: var(--border-radius-5);
  padding: 20px;
  text-align: center;
  display: grid;
  gap: 20px;
}
.devListItem_item-allcheck {
  color: var(--icon-color-common);
  margin-left: 10px;
}
.preset_select_item {
  width: auto;
  max-width: 80%;
  margin-right: 10px;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
.preset_select_item select {
  margin-right: 10px;
}
.preset_select_wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.preset_select_link {
  white-space: nowrap;
}
.group_label_item {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.group_label_item li.label {
  font-size: 1.2rem;
  max-width: 100px;
  width: 100px;
  text-align: center;
}
table.search_table.group th {
  width: 25%;
}
table.search_table.group th span {
  font-size: var(--font-size-small);
  font-weight: 400;
}
.group_plant {
  text-align: left;
}
.group_plant p {
  margin-top: 10px;
}
.group_plant .group_label {
  text-align: center;
}
.group_plant .group_label .group_label_item {
  justify-content: end;
}
/* ラベル用カラー */
.group_label_item li.label {
  color: #fff;
}
.label[data-color="color-00"] { background-color: #383b3f; }/* default Color */
.label[data-color="color-01"] { background-color: #d71e23; }
.label[data-color="color-02"] { background-color: #ff7d71; }
.label[data-color="color-03"] { background-color: #ffaf6d; }
.label[data-color="color-04"] { background-color: #fad151; }
.label[data-color="color-05"] { background-color: #6fe3b7; }
.label[data-color="color-06"] { background-color: #47ae40; }
.label[data-color="color-07"] { background-color: #3dd0d6; }
.label[data-color="color-08"] { background-color: #4a79ea; }
.label[data-color="color-09"] { background-color: #9ab5fc; }
.label[data-color="color-10"] { background-color: #d6a3ff; }

/* ラベルの基本スタイル */
.search_table.group .group_color .label {
  display: inline-block;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  cursor: pointer;
  position: relative;
}
/* input要素を非表示に */
.hidden_input {
  display: none;
}
/* チェックされた場合のスタイル */
.hidden_input:checked + .label::after {
  content: '✔'; /* チェックマーク */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 12px;
  color: white;
}
form {
  width: 100%;
}

#alert .plant_name,
.equipment {
  /*white-space: nowrap;*/
}
.equipment {
  white-space: nowrap;
  text-align: center;
}

/* PlantTop Style
-------------------------------------------- */
#power .power_box_item {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  grid-column-gap: 10px;
  align-items: baseline;
}
#power .power_box_item-value { 
  width: 83%;
  text-align: right;
  font-size: var(--font-size-value);
  font-weight: 700;
}
#power .power_otheritem .power_box_item-value,
#power .power_otheritem .power_box_item-unit {
  width: auto;
}
#power .power_otheritem .power_box_tit {
  margin-right: 10px;
}
#power .power_box_item-unit {
  width: calc(17% - 10px);
}
#power .power_graph-day .power_box_inner {
  display: flex;
  justify-content: space-between;
  padding: 0;
}
#power .power_graph-day .power_box_inner > div {
  width: calc(50% - 10px);
}
#power .power_graph-day .power_box_inner > div:first-of-type {
  border-right: 1px solid var(--border-color-separator);
  padding-right: 20px;
}
#power .power_graph-now,
#power .power_graph-month {
  border-right: 1px solid var(--border-color-separator);
}
#power .power_otheritem {
  display: flex;
  align-items: center;
  margin-top: 10px;
}
#power .power_otheritem .power_box_tit {
  width: 15%;
}
#power .power_graph-day {
  margin-bottom: 10px;
}
.PlantTop .PlantTop_h1 {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
}
.PlantTop .time_stamp {
  font-size: var(--font-size-small);
  font-weight: normal;
  margin-left: auto;
}
.PlantTop .time_stamp_inner {
  text-align: right;
}
.PlantTop .time_stamp_new {
  margin-left: 20px;
}

/* 苫小牧美沢太陽光発電所専用 */
.PlantTop_arc {

}
.PlantTop_arc #power .power_graph-now {
  border-right: none;
}
.PlantTop_arc #power .power_graph {
  width: calc(70% - 10px);
}
.PlantTop_arc #power .table_scroll {
  width: 30%;
}
.PlantTop_arc .flex_col {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 10px;
}

#sell .sell_wrap { 
  display: flex;
  gap: 10px;
}
#sell .sell_box {
  width: calc(100% / 4);
}
#sell .sell_box:nth-child(odd){
  border-left: none;
}

@media screen and (max-width:1500px) {
  /* 苫小牧美沢太陽光発電所専用 ここのみ細かいサイズ指定します。 */
  .PlantTop_arc .flex_col {
    display: block;
    align-items: center;
    flex-wrap: wrap;
    column-gap: 10px;
  }
  .PlantTop_arc #power .power_graph {
    width: 100%;
  }
  .PlantTop_arc #power .table_scroll {
    width: 100%;
  }
}

@media screen and (max-width:1500px) {/* ここのみ細かいサイズ指定します。 */
  #sell .sell_wrap { 
    /*grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);*/
    grid-column-gap: 0px;
    grid-row-gap: 30px;
    flex-wrap: wrap;
  }
  #sell .sell_box {
    width: calc(100% / 2);
  }
  #sell .sell_box:nth-child(odd){
    border-left: none;
  }
}

#sell .sell_box {
border-left: 1px solid var(--border-color-separator);
padding: 0 10px;
}
#sell .sell_box:first-of-type {
  border: none;
}
#sell .sell_box_item {
  display: flex;
  flex-wrap: wrap;
  grid-column-gap: 10px;
  align-items: baseline;
}
#sell .sell_box_item-value { 
  width: 83%;
  text-align: right;
  font-size: var(--font-size-value);
  font-weight: 700;
}
#sell .sell_box_item-unit {
  width: calc(17% - 10px);
}
#sell .sell_box_item-txt { 
  width: 100%;
  margin-top: 10px;
  text-align: center;
  font-size: var(--font-size-small);
}
#sell .sell_box_tit span {
  font-size: var(--font-size-small);
}
table.data_table.ps_condition th,
table.data_table.ps_condition td {
  text-align: center;
}
.SmallPS td { background-color: var(--icon-color-red); }
.LargePS td { background-color: var(--icon-color-green); }
#basic .data_table th {
  text-align: left;
}
#basic .data_table td a {
  color: var(--font-color-link);
}
th.basic_th {
  width: 30%;
}
#memo .memo_item > div {
  border-top: 1px solid var(--border-color-separator);
  padding: 10px 20px;
  display: flex;
  flex-wrap: wrap;
}
#memo .memo_item {
  padding-bottom: 20px;
}
#memo .memo_time {
  width: 100%;
}
#memo .memo_txt {
  width: calc(90% - 10px);
  margin: 0 0 0 10px;
}
#memo .memo_delete {
  width: 10%;
  background-image: url(../images/common/icon_trash.png);
  background-repeat: no-repeat;
  background-position: top right;
  background-size: 19px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  cursor: pointer;
}
.memo_delete_box {
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.memo_delete_box-txt::before {
  content: "\e5ca";
  font-family: 'Material Icons';
  color: var(--icon-color-common);
  font-size: 1.9rem;
  margin-right: 8px;
  vertical-align: middle;
}

/* カメラのスライダー */
.slick_slider {
  position: relative;
  width: 100%;
}
.slick_slider li {
  position: relative;
  overflow: hidden;
}
.slick-slide img {
  display: block;
  object-fit: cover;
  margin:0 auto;
}

.slide-arrow {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: none;
  border: none;
  outline: none;
  position: absolute;
  top: 50%;
  z-index: 1;
  transform: translateY(-50%);
}

.slide-arrow::before {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border: 1px solid var(--font-color-main);
  border-width: 2px 2px 0 0;
  position: absolute;
  top: 0px;
}
.next-arrow {
  right: 0px;
}
.next-arrow::before {
  right: 0px;
  transform: translateY(-50%) rotate(45deg);
}
.prev-arrow {
  left: 0px;
}
.prev-arrow::before {
  left: 0px;
  transform: translateY(-50%) rotate(-135deg);
}

.slick-dots {
  display: flex;
  justify-content: center;
}
.slick-dots button {
  display: block;
  width: 8px;
  height: 8px;
  margin: 6px;
  font-size: 0;
  padding: 0;
  border: 0;
  outline: none;
  cursor: pointer;
  background: var(--font-color-main);
  border-radius: 50%;
  }
.slick-active button {
  background: var(--icon-color-common);
}
#bodyRight #plant_info .plant_info-power {
  margin-top: 0;
}
.plant_info-status {
  /*border: 1px solid var(--border-color-separator);*/
  text-align: center;
  padding: 5px;
}
.plant_info-status.power {
  background-color: var(--icon-color-green);
}
.plant_info-status.stop {
  background-color: var(--icon-color-red);
}
.plant_info-status.error {
  background-color: var(--icon-color-orange);
}
#plant_info h3 {
  /*margin-bottom: 5px;*/
  margin: 0px 0px 5px;
  padding: 0px;/* add 20250214 */
}
/* ボタンのスタイル */
.link_txt {
  cursor: pointer;
  display: flex;
  align-items: center;
  position: relative;
}
.link_txt span {
  color: var(--font-color-link);
  margin-left: 20px;
}
/* 矢印アイコン */
.link_txt span::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-top: 1px solid var(--font-color-main);
  border-right: 1px solid var(--font-color-main);
  transform: rotate(45deg); /* 閉じた状態の矢印 */
  position: absolute;
  left: 20px;
  top: 7px;
  margin: auto;
}
/* アイコンが回転して開く状態 */
.link_txt span.icon_active::before {
  transform: rotate(135deg); /* 開いた状態の矢印 */
}
/* パネルのスタイル */
.open_panel {
  height: 0;
  overflow: hidden;
  transition: height 0.5s ease;
  margin-top: -20px;
}

/* パネルが開いた時の状態 */
.open_panel.is_active {
  overflow: hidden;
}

/* Report Style
-------------------------------------------- */
#report_list .data_table thead tr {
  width: 100%;
}
#report_list .data_table tbody {
/*  display: flex;
  flex-wrap: wrap;
  column-gap: 20px;*/
}
#report_list .data_table tr {
  /*display: flex;
  width: calc((100% - 20px) / 2);*/
}
#report_list .data_table td {
  padding: 5px;
}
#report_list .data_table td.report_checkbox {
  width: 2%;
}
#report_list .data_table td.last_time {
  margin-left: auto;
}
table.data_table tbody tr:nth-child(odd) {
  /*background-color: var(--bg-color-block);*/
}
#report_list .report_option {
  display: flex;
  align-items: center;
  column-gap: 30px;
}
#report_list .report_option .conditions-pulldown {
  margin-left: auto;
}
#report_list .select_YYDD {
  width: 10%;
}
#report_list .group_name .label {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  margin-right: 2px;
}
#report_list .report_list_select {
  display: flex;
  align-items: center;
  column-gap: 10px;
}
#report_list .data_table {
  margin-top: 0;
}

/* PlantConfig Style
-------------------------------------------- */
#PlantConfig .data_table th .btn_wrap {
  justify-content: center;
  margin-top: 5px;
}
#PlantConfig .data_table .btn_wrap input[type="button"],
#PlantConfig .data_table .btn_wrap input[type="submit"]{
  padding: 4px 10px;
  font-weight: 400;
  font-size: 1.1rem;
}
/* 初期表示でローカル設定・管理以外を非表示にする */
.PlantConfig_navi .second_level_nav li:not(:first-child) {
  display: none;
  opacity: 1;
  transition: opacity 0.3s ease;
}
/* 表示状態のときにフェードインさせる */
.PlantConfig_navi .second_level_nav li.show {
  display: list-item;
  opacity: 1;
}

.calendar_wrap span {
  display: inline;
}
#PlantConfig .calendar_wrap {
  column-gap: 10px;
}
#PlantConfig .data_table .category,
#PlantConfig .data_table .status,
#PlantConfig .data_table .price,
#PlantConfig .data_table .text {
  text-align: center;
}
#PlantConfig .data_table tbody .detail {
  text-align: left;
  /*white-space: nowrap;*/
}
#PlantConfig .data_table .ts {
  width: 15%;
}
#PlantConfig .data_table .text {
  width: 14%;
}
#PlantConfig .data_table .text .btn_wrap {
  justify-content: center;
}
#PlantConfig .data_table tbody .operation_btn_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 10px;
}
#PlantConfig table.limit_sim_set td {
  text-align: center;
}
#PlantConfig table.limit_sim_param th {
  width: 30%;
}
.SettingDesktop h3 {
  margin: 0;
}
/* Analysis Style
-------------------------------------------- */
#Analysis .devListItem_item-detail dl {
  margin-left: 0px;
}
#Analysis .devListItem_item-detail {
  margin-top: 0px;
  width: 100%;/* 20250226 add */
}
.tabSelect ul.tabList {
  display: flex;
  align-items: center;
}
.tabSelect .tabList li {
  border: solid 1px var(--border-color-pager);
  background-color: var(--bg-color-pager);
  text-align: center;
  padding: 0 2px;
  min-width: 24px;
  width: 24px;
}
.tabSelect .tabList li .cc {
  background-color: var(--bg-color-tabList);
}
.table_Analysis .day,
.table_Analysis .num {
  text-align: center;
}
.tabList {
  border: 1px solid var(--border-color-separator);
  padding: 10px;
  margin: 5px 0;
}
.tabList li.cc {
  background: var(--icon-color-orange);
}
#Analysis .devListItem_item-detail dt {
  min-width: 70px;
}

/* camera Style
-------------------------- */
.icon_camera_link {
position: relative;
}
.icon_camera_link a {
  width: 28px;
  position: absolute;
  right: 0;
  top: 8px;
}
a.icon_camera_link {
  width: auto;
}
img.camera_photo-thum {
  width: 200px;
}
.camera_photo a {
  width: auto!important;
}
.camera_photo {
  text-align: center;
}

/* gen report Style
-------------------------- */
#gen_report .data_table td.num {
  text-align: right;
}

/* eem only Style
-------------------------- */
.plant_memo {
  display: grid;
  grid-template-columns: 90px 1fr;
}
.plant_performance_id {
  width: 20px;
}
.plant_performance table.display_table {
  margin-top: 10px;
}
.plant_performance table.display_table td {
  font-size: var(--font-size-common);
}
#eem .data_table .btn_wrap input[type="button"],
#eem .data_table .btn_wrap input[type="submit"] {
  padding: 4px 10px;
  font-weight: 400;
  font-size: 1.1rem;
}
#eem .data_table .gen {
  white-space: nowrap;
}
#eem .vertical {
  text-align: left;
}
#eem .num {
  text-align: right;
}
.resNone {
  background: var(--icon-color-common);
}
.resOK {
  background: var(--icon-color-green);
}
.resNG {
  background: var(--icon-color-red);
}
.resNone,
.resOK,
.resNG {
  margin-top: 10px;
  padding: 3px 5px;
  border: var(--border-color-form-parts);
}
.ControlCheck {
  margin-top: 10px;
}
.generation_data_wrap {
  display: grid;
  grid-template-columns:repeat(2, 1fr);;
  column-gap: 10px;
}
.generation_data {
  border-top: 1px solid var(--border-color-separator);
  padding: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.generation_data.last {
  border-bottom: 1px solid var(--border-color-separator);
}
.generation_data .dataWidth {
  font-size: var(--font-size-block-title);
  margin-right: 5px;
}

table.display_table .value {
  font-size: var(--font-size-common);
}



/* sf only Style
-------------------------- */
.one_third {
  display: grid;
  grid-template-columns: 1fr 1fr 200px; /* 横の幅を1:1:200pxで指定 */
  grid-auto-rows: auto; /* 縦は自動調整 */
  gap: 30px; /* セルの間隔を設定 */
}

.one_two {
  display: grid;
  grid-template-columns: 1fr 1fr; /* 横の幅を1:1:200pxで指定 */
  grid-auto-rows: auto; /* 縦は自動調整 */
  gap: 30px; /* セルの間隔を設定 */
}
.one_two table {
  width: auto;
}

















@media screen and (max-width:1200px) {
/* --------------------------------------------------------------------------
1200px以下:PC
-------------------------------------------------------------------------- */
.container .main_wrap {
  display: block;
}
.container .main_wrap #bodyRight {
  position: relative;
  margin-left: 0px;
  width: 100%;
}  
#header .headerMenu .headerMenu_wrap li,
#header .headerMenu .account_wrap {
  /*margin-left: 10px;*/
  margin-left: 0px;
}
#header .searchBox_wrap {
  padding-left: 0px;
  padding-right: 0px;
}

/* PlantTop Style
-------------------------------------------- */
#sell .sell_wrap { 
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 0px;
  grid-row-gap: 30px;
}
#sell .sell_box:nth-child(odd){
  border-left: none;
}

/* Group Style
-------------------------------------------- */
.group_btn > div {
  flex-wrap: wrap;
  gap: 5px;
}
.group_btn input[type="button"],
.group_btn input[type="submit"] {
  width: 100%;
}

.data_table.group .group_name_detail {
  white-space: normal;
}
#group table.group thead th.group_btn {
  width: 100px;
}




}
@media screen and (max-width:959px) {
/* --------------------------------------------------------------------------
600px〜959px:タブレット 
-------------------------------------------------------------------------- */
.pcOnly { display: none; }
.spOnly { display: block; }
.body_wrap { display: block; }
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 70px;
}
#sidebar {
  position: relative;
  width: 100%;
  height: auto;
  overflow-y: visible;
  transition: transform 0.3s ease;
}
.container {
  padding: 80px 50px 30px;
}

/* Hamburger Menu
-------------------------- */
#menu_icon_sp {
  position: relative;
  width: 25px;
  height: 18px;
  cursor: pointer;
}
#menu_icon_sp span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: var(--icon-color-common);
  border-radius: 5px;
}
#menu_icon_sp, #menu_icon_sp span {
  transition: all .5s;
}
#menu_icon_sp span:nth-of-type(1) {
  top: 0;
}
#menu_icon_sp span:nth-of-type(2) {
  top: 8px;
}
#menu_icon_sp span:nth-of-type(3) {
  bottom: 0;
}
/* アイコンを「×」に変える */
#menu_icon_sp.active span:nth-of-type(1) {
  transform: rotate(45deg) translate(5px, 5px); /* 上部分を「×」の左上部分に */
}
#menu_icon_sp.active span:nth-of-type(2) {
  opacity: 0; /* 真ん中の線を非表示 */
}
#menu_icon_sp.active span:nth-of-type(3) {
  transform: rotate(-45deg) translate(5px, -5px); /* 下部分を「×」の右下部分に */
}
/* サイドバーのスタイル */
#sidebar {
  position: fixed;
  top: 70px;
  left: 0;
  width: 100%; /* サイドバーの幅 */
  height: 100vh; /* 画面全体の高さ */
  transform: translateY(-100%)!important; /* 初期状態で上に隠しておく */
  transition: transform 0.5s ease; /* アニメーションのスムーズさ */
  z-index: 90;
  padding: 20px 0;
}
#sidebar.active {
  transform: translateY(0) !important; /* サイドバーを表示 */
}
#header .headerMenu .headerMenu_wrap li {
  /*width: 80px;*/
  width: 60px;
  text-align: center;
}
#header .headerMenu .headerMenu_wrap li a {
  /*font-size: 1rem;*/
  font-size: 0.8rem;
}
#header .headerMenu .icon_bookmark_plant::before,
#header .headerMenu .icon_dashboard::before {
  font-size: 2.4rem;
  margin-right: 0px;
}
#header .headerMenu .icon_head {
  display: block;
}
#header .headerMenu {
  align-items: center;
}
#header .searchBox_wrap {
 /*width: 150px;
  min-width: 150px;*/
  width: 100px;
}
.devListItem_item-detail dl {
  display: block;
}
.devListItem_item-detail dd {
  margin: 10px 0;
}
.column_full_common {
  width: 100%;
}
/* Data Style */
.preset tbody td {
  width: 100%;
  display: block;
}
.preset thead {
  display: none;
}
.preset .preset_btn,
.preset .preset_id {
  width: 100%;
}
table.data_table.preset {
  white-space: normal;
}
td.preset_btn {
  margin-bottom: 10px;
}
.preset_select_item {
  max-width: 100%;
  margin-right: 0px;
}
.headerMenu_wrap {
  display: flex;
  column-gap: 10px;
}


/* second_level Menu
-------------------------- */
.second_level_nav_wrap {
  width: 100%;
  height: auto;
  /*height: 100px;
  min-height: auto;*/
  position: fixed;
  top:70px;
  z-index:10;
}
.second_level_nav_wrap + .container {
  margin-top: 90px;
}
#local_nav_wrap ul.second_level_nav {
  display: flex;
  /*flex-wrap: wrap;*/
  flex-direction: column;
}
#local_nav_wrap ul.local_nav li {
  /*width: 25%;*/
  width: 100%;
  border-right: 1px solid var(--border-color-separator);
  transition: max-height 0.5s ease, opacity 0.5s ease;/* add 20241105 */
}

/* add start 20241105 */
#local_nav_wrap ul.local_nav.second_level_nav li:first-of-type {
  margin: 10px 0;
}
#local_nav_wrap {
  margin-bottom: 0px;
  min-height: 65px;
}
.hidden {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transition: max-height 0.5s ease, opacity 0.5s ease;
}
.second_level_nav .show {
  max-height: 40px;
}
#globalSearch_Container.show {
  max-height: 360px;
  opacity: 1;
  pointer-events: auto;
}
.second_level_nav_wrap {
  min-height: auto; 
}
.toggle-item {
  display: flex;
  justify-content: space-between; /* 左右の端に配置 */
  align-items: center;
}
.arrow {
/*  display: block;*/
  display: inline-block; /* インライン要素だと transform が効かないので block に */
  margin-left: auto; /* 矢印を右端に配置 */
  font-size: 1rem;
  cursor: pointer;
  transition: transform 0.3s ease;
  width: 30px;
}

/* add end 20241105 */



#local_nav_wrap ul.local_nav li:first-of-type,
#local_nav_wrap ul.local_nav li:last-of-type {
  border-right: none;
}
#local_nav_wrap ul.local_nav li:first-of-type {
  width: 100%;
}
#main_container { 
  flex-wrap: wrap;
}

/* Group Style
-------------------------- */
.data_table.group td {
  display: block;
  width: 100%;
  text-align: left;
}
.data_table.group tr {
  display: flex;
  flex-wrap: wrap;
}
.data_table.group thead {
  display: none;
}
.data_table.group .group_name_detail {
  white-space: normal;
}
.group_btn > div {
  display: flex;
  justify-content: end;
  margin-bottom: 10px;
}
.group_btn input[type="button"],
.group_btn input[type="submit"] {
  width: auto;
}

table.search_table th, table.search_table td:nth-child(2n) {
  border-top: none;
}

/* report Style
-------------------------- */
#report_list .data_table tr {
  width: 100%;
}
#report_list .report_head .report_head-tit {
  width: 100%;
}

/* table Style
-------------------------- */
.table_scroll {
  overflow-x: auto;

  &::-webkit-scrollbar{
    height: 10px;/* 横スクロールバーの幅 */
    background-color: var(--bg-color-sidebar-common);
    border-radius: 10px;
  }
  /* スクロールバーのつまみ部分の指定 */
  &::-webkit-scrollbar-thumb {
    background-color: var(--border-color-form-parts);
    border-radius: 10px;
  }
}
table.data_table {
  white-space: nowrap;
}
table.search_table td {
  margin-bottom: 10px;
}

.LimitPlan_Add119 .one_third {
  display: grid;
  grid-template-columns: 1fr 200px; /* 2列構成 */
  grid-template-rows: auto; /* 縦のサイズは自動調整 */
  gap: 30px; /* セル間の余白 */
  grid-template-areas: 
      "item1 item2"
      "item3 item2"; /* 1列目：1つ目と3つ目、2列目：2つ目 */
}
.LimitPlan_Add119 .one_third_item:nth-child(1) {
  grid-area: item1;
}
.LimitPlan_Add119 .one_third_item:nth-child(2) {
  grid-area: item3; 
}
.LimitPlan_Add119 .one_third_item:nth-child(3) {
  grid-area: item2;
}
#power.power_planttop .power_graph {
  grid-template-columns: 1fr;
  grid-template-areas:
      "now"
      "day"
      "month"
      "year";
}
#power.power_planttop .power_graph > div {
  border-left: none;
  border-top: 1px solid var(--border-color-separator);
  padding: 10px 0 0;
}

#power.power_planttop .power_graph > div:first-of-type {
  border-top: none;
}

/* plant Top */
#power .power_graph-now,
#power .power_graph-month {
  border-right: none;
}
#power .power_graph-day {
  margin-bottom: 0px;
}
.PlantTop .PlantTop_h1 {
  align-items: center;
}
.time_stamp_now,
.time_stamp_new {
  display: block;
}


}
@media screen and (max-width:799px) {
/* --------------------------------------------------------------------------
〜799px:スマホ
-------------------------------------------------------------------------- */
h2 {
  flex-wrap: wrap;
}
.detail,
.place {
  font-size: var(--font-size-small);
}
.container {
  padding: 80px 10px 30px;
}
.container section,
.container .main_wrap #bodyRight {
  margin-top: 20px;
}
.container section > div {
  padding: 10px;
  margin: 5px 0 0;
}
#header .dropdown_serch_box {
  width: 360px;
}
#header #globalSearch_Container .globalSearch_list_item-plant_icon {
  display: none;
}


#header .headerMenu .account_wrap {
  position: relative;
  width: 50px;
  height: 50px;
  /*margin-left: 10px;
  padding: 20px;*/
  background-color: unset;
  border-radius: unset;
  border: none;
}
#header .account_wrap .account {
  display: none;
}
#header .headerMenu .icon_drop_down::before {
  position: absolute;
  top: 0;
  right: 0;
  content: '\e853';
  font-size: 4rem;
  margin-right: 0;
}

.calendar_wrap .calendar_input {
  width: 100%;
}
.search_table_item {
  display: block;
}
.column_full_common {
  padding: 35px 20px 45px;
}
.pw_forget_wrap {
  display: grid;
  gap: 10px;
}

table.search_table th, table.search_table td {
  padding: 3px;
}


/* お気に入り施設 */
.bookmark_item {
  width: 100%;
}
.bookmark_wrap > div:nth-child(odd) {
  margin-right: 0px;
}
/* PlantTop Style
-------------------------------------------- */
#sell .sell_wrap { 
  /*grid-template-columns: 1fr;
  grid-template-rows: repeat(4, 1fr);
  grid-row-gap: 10px;*/
  display: block;
}
#sell .sell_box {
  border-left: none;
  border-top: 1px solid var(--border-color-separator);
  padding: 10px;
  width: 100%;
}
#sell .sell_box:first-of-type {
  padding-top: 0;
}
.PlantTop section#alert table.data_table tbody .btn_wrap input[type="button"]{
  padding: 4px 10px;
  font-weight: 400;
  font-size: 1.1rem;
}
.PlantTop .PlantTop_h1 {
  flex-wrap: wrap;
}
.time_stamp_now,
.time_stamp_new {
  display: inline-block;
}
.time_stamp_new {
  margin-left: 10px;
}


/* second_level Menu
-------------------------- */
#local_nav_wrap ul.local_nav li {
  /*width: 50%;*/
  width: 100%;
}
.second_level_nav_wrap {
  /*height: 130px;*/
}
.second_level_nav_wrap + .container {
/*  margin-top: 150px;*/
}


table.search_table th {
  width: 100%;
}
table.search_table th,
table.search_table td {
  display: block;
}
.generation_data_wrap {
  grid-template-columns:repeat(1, 1fr);;
}
.generation_data {
  display: block;
  padding: 10px 0;
}


.LimitPlan_Add119 .one_third {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto; /* 縦のサイズは自動調整 */
  gap: 30px; /* セル間の余白 */
  grid-template-areas: 
      "item1"
      "item2"
      "item3";
}
.LimitPlan_Add119 .one_third_item:nth-child(1) {
  grid-area: item2; 
}
.LimitPlan_Add119 .one_third_item:nth-child(2) {
  grid-area: item3;
}
.LimitPlan_Add119 .one_third_item:nth-child(3) {
  grid-area: item1;
}

.FactorPlan_Add366 .one_two  {
  grid-template-columns: 1fr;
}
.status_list_wrap {
  flex-wrap: wrap;
}

.link_txt span::before {
  left: 10px;
  top: 17px;
}

#power .power_graph-day .power_box_inner {
  display: block;
  padding: 0;
}
#power .power_graph-day .power_box_inner > div:first-of-type {
  border-right: none;
  padding-right: 0px;
}
#power .power_graph-day .power_box_inner > div {
  width: 100%;
}
.Top #power .power_graph .power_graph-now,
.Top #power .power_graph .power_graph-day,
.Top #power .power_graph .power_graph-month,
.Top #power .power_graph .power_graph-year {
  width: 100%;
}


}


@media screen and (max-width:499px) {
/* --------------------------------------------------------------------------
〜499px:スマホ
-------------------------------------------------------------------------- */
  #header .searchBox {/* ヘッダの検索窓をひとまず非表示に・・・ */
    display: none;
  }



}


