@charset "utf-8";
/* autoprefixer: off */

/* Foundation (初期化・変数・ルート設定) */

/* #region normalize */

/* normalize.css v8.0.1 */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;appearance:button;}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none;appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}

/* local normalize */
*,::before,::after{box-sizing:border-box;background-repeat:no-repeat;}a{text-decoration:none;color:inherit;cursor:pointer}button{background-color:transparent;color:inherit;border-width:0;padding:0;cursor:pointer}figure{margin:0}input::-moz-focus-inner{border:0;padding:0;margin:0}ul,ol,dl,dd{margin:0;padding:0;list-style:none}h1,h2,h3,h4,h5,h6{margin:0;font-size:inherit;font-weight:inherit}p{margin:0}p,li{max-height:100%}cite{font-style:normal}fieldset{border-width:0;padding:0;margin:0}small{font-size:inherit}

/* #endregion */

/* #region html root control */

/* --- html root control --- */

/* SmallScreen：モバイル表示 */
@media screen and (max-width: 767.98px) {
  html { font-size: 0.256410256vw; } /* 390px基準 */
}

/* MiddleScreen：タブレットや小さい画面（PC表示の縮小） */
@media screen and (min-width: 768px) and (max-width: 1023.98px) {
  html { font-size: 0.09765625vw; } /* 1024px基準 */
}

/* LargeScreen：PC表示 */
@media screen and (min-width: 1024px) {
  html { font-size: 1px; } /* 1024px基準 */
}

/* #endregion */

/* #region Variable Definitions */

:root {

  /* blue:青 Primary */
  --blu: #005eac;
  --blu-rgb: 0 94 172;
  --blu-a05: rgb(var(--blu-rgb) / 0.05);
  --blu-a10: rgb(var(--blu-rgb) / 0.1);
  --blu-a20: rgb(var(--blu-rgb) / 0.2);
  --blu-a30: rgb(var(--blu-rgb) / 0.3);
  --blu-a40: rgb(var(--blu-rgb) / 0.4);
  --blu-a50: rgb(var(--blu-rgb) / 0.5);
  --blu-a60: rgb(var(--blu-rgb) / 0.6);
  --blu-a70: rgb(var(--blu-rgb) / 0.7);
  --blu-a80: rgb(var(--blu-rgb) / 0.8);
  --blu-a90: rgb(var(--blu-rgb) / 0.9);

  /* 背景白前提の不透明パレット */
  --blu-050: #f2f7fb;
  --blu-100: #e6eff7;
  --blu-200: #ccddef;
  --blu-300: #b3cce7;
  --blu-400: #99badf;
  --blu-500: #80afd6; /* ベースではなく a50相当 */
  --blu-600: #669ec9;
  --blu-700: #4d8dbf;
  --blu-800: #337cb6;
  --blu-900: #196dad;
  --blu-dk: #004696; /* ベースより少し濃い */

  /* black:黒 Text */
  --blk: #222222;
  --blk-rgb: 34 34 34;
  --blk-a05: rgb(var(--blk-rgb) / 0.05);
  --blk-a10: rgb(var(--blk-rgb) / 0.1);
  --blk-a20: rgb(var(--blk-rgb) / 0.2);
  --blk-a30: rgb(var(--blk-rgb) / 0.3);
  --blk-a40: rgb(var(--blk-rgb) / 0.4);
  --blk-a50: rgb(var(--blk-rgb) / 0.5);
  --blk-a60: rgb(var(--blk-rgb) / 0.6);
  --blk-a70: rgb(var(--blk-rgb) / 0.7);
  --blk-a80: rgb(var(--blk-rgb) / 0.8);
  --blk-a90: rgb(var(--blk-rgb) / 0.9);

  /* 背景白前提の不透明パレット */
  --blk-050: #f4f4f4;
  --blk-100: #e9e9e9;
  --blk-200: #d3d3d3;
  --blk-300: #bdbdbd;
  --blk-400: #a7a7a7;
  --blk-500: #919191; /* ベースではなく a50相当 */
  --blk-600: #7a7a7a;
  --blk-700: #646464;
  --blk-800: #4e4e4e;
  --blk-900: #383838;

  --gry: #e4e4e4; /* gray:灰色 */
  --ash: #f8f7fa; /* ashgray:薄灰色 */
  --wht: #ffffff;
  --wht-rgb: 255 255 255;

  /* green:緑 Normal */
  --grn: #22b783;
  --grn-100: #e8f8f2; /* 背景白の10%ブレンド */
  --grn-dk: #139d63; /* ベースより少し濃い */

  /* orange:オレンジ Warning */
  --orn: #ff9343;
  --orn-100: #fff4ec; /* 背景白の10%ブレンド */
  --orn-dk: #ff812a; /* ベースより少し濃い */

  /* red:赤 Danger */
  --red: #ef4d56;
  --red-100: #fdedee; /* 背景白の10%ブレンド */
  --red-dk: #e73239; /* ベースより少し濃い */

  /* Shadow ベースカラー（RGB数値） */
  --shadow-rgb: 0 0 0;

  /* 余白 Unit (4px相当) */
  --s-unit: 4rem;
  --s1: var(--s-unit);           /* 4px相当 */
  --s2: calc(var(--s-unit) * 2);  /* 8px相当 */
  --s3: calc(var(--s-unit) * 3);  /* 12px相当 */
  --s4: calc(var(--s-unit) * 4);  /* 16px相当 */
  --s5: calc(var(--s-unit) * 5);  /* 20px相当 */
  --s6: calc(var(--s-unit) * 6);  /* 24px相当 */
  --s7: calc(var(--s-unit) * 7);  /* 28px相当 */
  --s8: calc(var(--s-unit) * 8);  /* 32px相當 */
  --s9: calc(var(--s-unit) * 9);  /* 36px相當 */
  --s10: calc(var(--s-unit) * 10);  /* 40px相當 */

  /* セマンティック・トークン *********/

  /* カラー */
  --COL-BODY-BG: var(--ash);
  --COL-ERR: var(--red); /* red:赤 Danger と変わる可能性 */
  --COL-IMP: var(--red); /* red:赤 Danger と変わる可能性 */
  --COL-MAP-TT-BG: rgb(var(--wht-rgb) / 0.7); /* Map ツールチップの背景色 */

  /* Shadow 設定 */
  --SDW-COL: rgb(var(--shadow-rgb) / 0.1);
  --SDW-BS: 0 0 var(--s2) 0 var(--SDW-COL);  /* Box Shadow */

  /* Size(絶対値指定) */
  --THIN: 1px;
  --RAD-XS: var(--s1);
  --RAD-S: var(--s2);
  --RAD-M: var(--s3);
  --RAD-FULL: 100vmax;

  /* Font 設定 */
  --FNT-FML: 'Noto Sans JP', sans-serif;
  --FNT-WGT-T: 100;
  --FNT-WGT-XL: 200;
  --FNT-WGT-DL: 350;
  --FNT-WGT-L: 300;
  --FNT-WGT-R: 400;
  --FNT-WGT-M: 500;
  --FNT-WGT-SB: 600;
  --FNT-WGT-B: 700;
  --FNT-WGT-XB: 800;
  --FNT-WGT-BL: 900;

  /* z-index */
  /* Leaflet Mapのボタン等 z-index: 1000 */
  --Z-LOADING:  5000; /* ローディング */
  --Z-MODAL:    4000; /* モーダル */
  --Z-DROPDOWN: 3000; /* ドロップダウン */
  --Z-HEADER:   2000; /* ヘッダ */
  --Z-NAV:      2100; /* ナビゲーション（モバイル） */
  --Z-MAIN:     0;    /* メイン */
  --Z-FOOTER:   2000; /* フッタ */
  --Z-HIDE:    -1;

  --HEADER-H: 64rem;
}

/* #endregion */

/* #region common */

html {
  overflow: auto;
  font-family: var(--FNT-FML);
  font-weight: var(--FNT-WGT-R);
  font-optical-sizing: auto;
  font-style: normal;
  line-height: 1;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
  height: 100vh;
  height: 100dvh;
}

body {
  position: relative;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  background-color: var(--COL-BODY-BG);
  line-height: 1;
  color: var(--blk);
  font-size: 16rem;
}

body.no-scroll {
  overflow: hidden;
  overscroll-behavior: none;
}

a:link,
a:visited,
a:hover,
a:active {
  color: inherit;
  text-decoration: none;
  outline: none;
}

button,
button:hover,
button:active {
  text-decoration: none;
  outline: none;
  vertical-align : middle;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

img {
  max-width: 100%;
  height: auto;
}

label[for] {
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

summary {
  display: block;
  list-style: none;
  cursor: pointer;
  position: relative;
}

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

::-moz-focus-inner { border: 0; }
input::-ms-clear { display: none; }
input::-ms-reveal { display: none; }
input::-ms-expand { display: none; }

::-moz-placeholder { opacity: 1; color: var(--blk-a20); font-size: 16rem; }
::-webkit-input-placeholder { color: var(--blk-a20); font-size: 16rem; }
:-ms-input-placeholder { color: var(--blk-a20); font-size: 16rem; }
::-ms-input-placeholder { color: var(--blk-a20); font-size: 16rem; }
::placeholder { color: var(--blk-a20); font-size: 16rem; }

:focus::-moz-placeholder { color: transparent; }
:focus::-webkit-input-placeholder { color: transparent; }
:focus:-ms-input-placeholder { color: transparent; }
:focus::-ms-input-placeholder { color: transparent; }
:focus::placeholder { color: transparent; }

/* #endregion */