/* モーダルを閉じたらなぜかstyle="overflow: hidden;"が適用されるため、modal-openクラスが適応されていなければoverflow: hidden;を削除する */
body:not(.modal-open) {
  overflow: auto !important;
}

/* FAQアコーディオン内SVGアイコンサイズ調整 */
.faq-svg-transform {
  width: 1.2em;
  height: 1.2em;
  min-width: 1.2em;
  min-height: 1.2em;
  max-width: 1.2em;
  max-height: 1.2em;
  font-size: 1.2em;
  vertical-align: middle;
  line-height: 1.2em;
  display: inline-block;
  box-sizing: content-box;
}
.accordion-icon {
  width: 1.2em !important;
  height: 1.2em !important;
  min-width: 1.2em !important;
  min-height: 1.2em !important;
  max-width: 1.2em !important;
  max-height: 1.2em !important;
  font-size: 1.2em !important;
  vertical-align: middle !important;
  line-height: 1.2em !important;
  display: inline-block !important;
  box-sizing: content-box !important;
}
/* ====== FAQページ用カスタムCSS（インラインスタイル外部化） ====== */
.faq-svg-transform {
  transform-origin: 0.1875em 0.5em;
}
.faq-navbar-toggler-inline {
  display: inline-block;
}
.faq-list-none {
  list-style-type: none;
  padding-left: 20px;
}

/* ====== SVG cross用スタイル（川の防災情報水位、CSP対応・外部化） ====== */
/* ====== SVG共通用スタイル（CSP対応・外部化） ====== */
.cross-svg {
  background-color: #CFCFCF;
}
.cross-svg .cross-line-normal {
  stroke: slategray;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-line-out-blank {
  stroke: midnightblue;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-line-parent {
  stroke: pink;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-fill-normal {
  fill: #A7A799;
  stroke: #A7A799;
  stroke-width: 1;
}
.cross-svg .cross-fill-stage {
  fill: #66ccff;
  stroke: #e5e5e5;
  stroke-width: 1;
}
.cross-svg .cross-fill-prediction {
  fill: pink;
  stroke: #e5e5e5;
  stroke-width: 1;
}
.cross-svg .cross-fill-stage-lv1 {
  fill: #35a86b;
  stroke: #e5e5e5;
  stroke-width: 1;
}
.cross-svg .cross-fill-stage-lv2 {
  fill: #f2e700;
  stroke: #e5e5e5;
  stroke-width: 1;
}
.cross-svg .cross-fill-stage-lv3 {
  fill: #ff2800;
  stroke: #e5e5e5;
  stroke-width: 1;
}
.cross-svg .cross-fill-stage-lv4 {
  fill: #aa00aa;
  stroke: #e5e5e5;
  stroke-width: 1;
}
.cross-svg .cross-fill-stage-lv5 {
  fill: #140014;
  stroke: #e5e5e5;
  stroke-width: 1;
}
.cross-svg .cross-stage {
  stroke: #66ccff;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-line-none {
  stroke-width: 0;
}
.cross-svg .cross-stage-center {
  stroke: #66ccff;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-point {
  stroke: midnightblue;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-stroke-leve-stageLvl1 {
  stroke: #35a86b;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-stroke-leve-stageLvl2 {
  stroke: #f2e700;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-stroke-leve-stageLvl3 {
  stroke: #ff2800;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-stroke-leve-stageLvl4 {
  stroke: #aa00aa;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-stroke-leve-stageLvl5 {
  stroke: #140014;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-stroke-present {
  stroke: pink;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-stroke-zero {
  stroke: brown;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-scale-line {
  stroke: black;
  stroke-width: 2;
}
.cross-svg .label {
  fill: black;
  font-weight: bold;
  font-size: 23px;
}
.cross-svg .label-el-stage {
  fill: rgb(50, 50, 255);
}
.cross-svg .label-stage {
  fill: rgb(50, 50, 255);
  font-weight: bold;
  font-size: 40px;
}
.cross-svg .label-stage-mb {
  fill: rgb(50, 50, 255);
  font-weight: bold;
  font-size: 30px;
}
.cross-svg .label-zero {
  fill: rgb(143, 101, 82);
}
.cross-svg .legend {
  fill: rgb(155, 193, 247);
  stroke: dodgerblue;
  stroke-width: 2;
  opacity: 0.9;
}
.cross-svg .legend-text {
  font-weight: bold;
  font-size: 28px;
}
.cross-svg .legend-text-mb {
  font-weight: bold;
  font-size: 17px;
}
.cross-svg .legend-lv-1 {
  fill: #35a86b;
}
.cross-svg .legend-lv-2 {
  fill: #f2e700;
}
.cross-svg .legend-lv-3 {
  fill: #ff2800;
}
.cross-svg .legend-lv-4 {
  fill: #aa00aa;
}
.cross-svg .legend-lv-5 {
  fill: #140014;
}
.cross-svg .legend-explanation {
  font-weight: normal;
  font-size: 25px;
}
.cross-svg .legend-explanation-mb {
  font-weight: normal;
  font-size: 16px;
}
.cross-svg .legend-message {
  font-weight: normal;
  font-size: 22px;
}
.cross-svg .legend-message-mb {
  font-weight: normal;
  font-size: 15px;
}
.cross-svg .legend-stroke {
  stroke: rgb(0, 0, 0);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg {
  background-color: #CFCFCF;
}
.cross-svg .cross-line-normal {
  stroke: slategray;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-line-out-blank {
  stroke: midnightblue;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-line-parent {
  stroke: pink;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-fill-normal {
  fill: #A7A799;
  stroke: #A7A799;
  stroke-width: 1;
}
.cross-svg .cross-fill-stage {
  fill: #66ccff;
  stroke: #e5e5e5;
  stroke-width: 1;
}
.cross-svg .cross-fill-prediction {
  fill: pink;
  stroke: #e5e5e5;
  stroke-width: 1;
}
.cross-svg .cross-fill-stage-lv1 {
  fill: #35a86b;
  stroke: #e5e5e5;
  stroke-width: 1;
}
.cross-svg .cross-fill-stage-lv2 {
  fill: #f2e700;
  stroke: #e5e5e5;
  stroke-width: 1;
}
.cross-svg .cross-fill-stage-lv3 {
  fill: #ff2800;
  stroke: #e5e5e5;
  stroke-width: 1;
}
.cross-svg .cross-fill-stage-lv4 {
  fill: #aa00aa;
  stroke: #e5e5e5;
  stroke-width: 1;
}
.cross-svg .cross-fill-stage-lv5 {
  fill: #140014;
  stroke: #e5e5e5;
  stroke-width: 1;
}
.cross-svg .cross-stage {
  stroke: #66ccff;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-line-none {
  stroke-width: 0;
}
.cross-svg .cross-stage-center {
  stroke: #66ccff;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-point {
  stroke: midnightblue;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-stroke-leve-stageLvl1 {
  stroke: #35a86b;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-stroke-leve-stageLvl2 {
  stroke: #f2e700;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-stroke-leve-stageLvl3 {
  stroke: #ff2800;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-stroke-leve-stageLvl4 {
  stroke: #aa00aa;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-stroke-leve-stageLvl5 {
  stroke: #140014;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-stroke-present {
  stroke: pink;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-stroke-zero {
  stroke: brown;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cross-svg .cross-scale-line {
  stroke: black;
  stroke-width: 2;
}
.cross-svg .label {
  fill: black;
  font-weight: bold;
  font-size: 23px;
}
.cross-svg .label-el-stage {
  fill: rgb(50, 50, 255);
}
.cross-svg .label-stage {
  fill: rgb(50, 50, 255);
  font-weight: bold;
  font-size: 40px;
}
.cross-svg .label-stage-mb {
  fill: rgb(50, 50, 255);
  font-weight: bold;
  font-size: 30px;
}
.cross-svg .label-zero {
  fill: rgb(143, 101, 82);
}
.cross-svg .legend {
  fill: rgb(155, 193, 247);
  stroke: dodgerblue;
  stroke-width: 2;
  opacity: 0.9;
}
.cross-svg .legend-text {
  font-weight: bold;
  font-size: 28px;
}
.cross-svg .legend-text-mb {
  font-weight: bold;
  font-size: 17px;
}
.cross-svg .legend-lv-1 {
  fill: #35a86b;
}
.cross-svg .legend-lv-2 {
  fill: #f2e700;
}
.cross-svg .legend-lv-3 {
  fill: #ff2800;
}
.cross-svg .legend-lv-4 {
  fill: #aa00aa;
}
.cross-svg .legend-lv-5 {
  fill: #140014;
}
.cross-svg .legend-explanation {
  font-weight: normal;
  font-size: 25px;
}
.cross-svg .legend-explanation-mb {
  font-weight: normal;
  font-size: 16px;
}
.cross-svg .legend-message {
  font-weight: normal;
  font-size: 22px;
}
.cross-svg .legend-message-mb {
  font-weight: normal;
  font-size: 15px;
}
.cross-svg .legend-stroke {
  stroke: rgb(0, 0, 0);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
/* ====== 既存 style.css の内容 ====== */
* {
    font-family: 'Noto Sans JP', sans-serif;
}

:root {
    --falcon-body-font-family: 'Noto Sans JP', sans-serif, Open Sans, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, 
    Segoe UI Symbol;    
    --falcon-font-sans-serif: 'Noto Sans JP', sans-serif, "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; 
    
    --keikai-level-1-rgb: 255, 255, 255;
    --keikai-level-2-rgb: 242, 231, 0;
    --keikai-level-3-rgb: 255, 40, 0;
    --keikai-level-4-rgb: 170, 0, 170;
    --keikai-level-5-rgb: 12, 0, 12;
}

.text-keikai-level-0{
    color: rgb(179, 179, 179);
    background-color: rgb(var(--keikai-level-1-rgb));
}

.text-keikai-level-1{
    color: black;
    background-color: rgb(var(--keikai-level-1-rgb));
}
.text-keikai-level-2{
    color: black;
    background-color: rgb(var(--keikai-level-2-rgb));
}
.text-keikai-level-3{
    color: white;
    background-color: rgb(var(--keikai-level-3-rgb));
}
.text-keikai-level-4{
    color: white;
    background-color: rgb(var(--keikai-level-4-rgb));
}
.text-keikai-level-5{
    color: white;
    background-color: rgb(var(--keikai-level-5-rgb));
}

.popover {
background-color: #686869;
}

.popover .popover-header {
background-color: #123456;
color: #c0c1c2de;
}

.popover .popover-body {
background-color: #c0c1c2fa;
color: #000000;
}

.home-add-button{
    display: none;
}

.custom-small-btn {
    padding: 1% 3%;
    font-size: 60%;
    background-color: white;
}

.btn-normal-size {
  font-size: 1rem;
  padding: .375rem .75rem;
}

pre {
  white-space: pre-wrap;
  word-break: break-all;
  font-family: 'Noto Sans JP', sans-serif !important;
  font-size: 1rem !important;
}


/* FontAwesomeアイコンのサイズをCSP下でも強制的に外部CSSで制御 */
/* fa-homeアイコンのサイズを通常ボタン内で小さくする */
.btn .fa-home, .btn .fas.fa-home {
  font-size: 1em !important;
  width: 1em !important;
  height: 1em !important;
  vertical-align: middle !important;
}

/* メニューのアイコンサイズを強制 */
.custom-small-svg {
  width: 1em !important;
  height: 1em !important;
  font-size: 1em !important;
}

/* メニューのログインボタン横のはてなアイコンサイズを強制 */
.btn .svg-inline--fa,
.custom-small-btn .svg-inline--fa,
.custom-small-svg .svg-inline--fa {
  font-size: 1em !important;
  width: 1em !important;
  height: 1em !important;
  vertical-align: middle !important;
}

/* .theme-toggle-icon-small: テーマ切替アイコン用の小サイズ */
.theme-toggle-icon-small {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 1em !important;
  width: 1em !important;
  height: 1em !important;
  line-height: 1 !important;
  vertical-align: middle !important;
  text-align: center;
}

/* テーマ切替アイコンの表示制御 */
.theme-toggle-icon-light { display: inline-flex !important; }
.theme-toggle-icon-dark { display: none !important; }
.theme-control-toggle-input:checked + .theme-control-toggle-label .theme-toggle-icon-light { display: none !important; }
.theme-control-toggle-input:checked + .theme-control-toggle-label .theme-toggle-icon-dark { display: inline-flex !important; }

/* ====== minbou custom_styles.css の内容 ====== */
/* minbouプロジェクト用CSS。全てminbou-で始まるクラス名に統一 */
.minbou-req_title_label_hidden { display: none; }
.minbou-body_textarea { height: 200px; }
.minbou-img_pdf_icon { width: 50%; height: 60%; }
.minbou-input_file_hidden { display: none; }
.minbou-text_red { color: red; }
.minbou-text_blue { color: blue; }
.minbou-flex_between_center { display: flex; justify-content: space-between; align-items: center; }
.minbou-flex_align_center { display: flex; align-items: center; }
.minbou-flex_grow_1 { flex-grow: 1; }
.minbou-overflow_notification_body { width: 100%; }
.minbou-float_right { float: right; }
.minbou-mt-3-flex { display: flex; }
.minbou-font_size_2em { font-size: 2em; }
.minbou-cursor_pointer { cursor: pointer; }
.minbou-height_20px { height: 20px; }
.minbou-max_width_500px { max-width: 500px; }
.minbou-hidden { display: none; }
.minbou-margin-right-20 { margin-right: 20px; }
/* 利用規約モーダル用 */
.minbou-max_height_50vh { max-height: 50vh; }
/* 会員規約モーダル（会員登録前）用 */
.minbou-max_height_70vh { max-height: 70vh; }
/* 利用規約・会員規約モーダル本文用（固定200pxを使わない） */
.minbou-terms_modal_body_large { height: auto; max-height: 70vh; overflow-y: auto; }
/* お問い合わせフォーム用 */
.minbou-display_none { display: none !important; }
/* ダッシュボードログ用 */
.minbou-width_8rem { width: 8rem !important; }
.minbou-progress_5px_80px { height: 5px !important; width: 80px !important; }
/* faq.html用 */
.minbou-inline_block { display: inline-block; }
.minbou-transform_origin_1875_05em { transform-origin: 0.1875em 0.5em; }
.minbou-bg_corner4 {
  background-image: url('/s3/static/falcon/assets/img/icons/spot-illustrations/corner-4.png');
}
/* 利用規約、会員規約 */
.minbou-numbered-list {
    list-style-type: none;
    counter-reset: section;
    padding-left: 20px;
}
.minbou-numbered-list li {
    counter-increment: section;
    margin-left: 0px;
}
.minbou-numbered-list li:before {
    content: "(" counter(section) ") ";
}

/* QRコード・ホーム追加ボタン用の小padding */
.minbou-btn-small-padding {
  padding-left: 3px !important;
  padding-right: 3px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ====== 黄色モード（防災訓練用） ====== */
.body-disaster-drill {
  background-color: yellow !important;
}

/* 防災訓練モード時、サイドバーも黄色に */
.body-disaster-drill .navbar-vertical-content {
  background-color: yellow !important;
}

/* 防災訓練モード時、トップナビゲーションも黄色に */
.body-disaster-drill .navbar {
  background-color: yellow !important;
}