@charset "utf-8";
/* CSS Document */

/* ----------------------------------------------------
   ルート要素など
   ---------------------------------------------------- */
html {
  height: 100%;
  overflow-y: scroll;

  --main-theme-bg-color: #f0f0f0;
  --main-theme-text-color: steelblue;
}
body {
  font-size: 12pt;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;

  width: 100%;
  height: 100%;
  position: relative;
  padding: 0px;
  margin: 0px;
}

/* ----------------------------------------------------
   ヘッダ関連
   ---------------------------------------------------- */
#contents_header_area {
  position: relative;
  padding: 0px;
  margin: 0px;
  width: 100%;
  height: 100%;
  /* コンテンツをセンタリングする */
  margin-left: auto;
  margin-right: auto;
}
#contents_header {
  width: 100%;
  height: 100%;
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}
#contents_header > div {
  flex: 1;
  width: 100%;
  height: 100%;
  position: relative;
}
#contents_header > div > img {
  width: 100%;
  height: 600px;
  object-fit: cover;
}
.contents_header_sentence {
  font-smooth: always;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  /* background-color: #fff;
  opacity: 0.8; */
  color: #000; /* 文字の色 */
  font-size: 28pt; /* 文字のサイズ */
  font-weight: bold;
  letter-spacing: 5px; /* 文字間 */
  /* -webkit-text-stroke: 1px #aaa;
  text-stroke: 1px #aaa; */

  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-align: left;
  padding-left: 20px;
  padding-right: 20px;

  position: absolute; /*重ねたい子要素にabsolute*/
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%); /*ベンダープレフィックス*/
  -webkit-transform: translate(-50%, -50%); /*ベンダープレフィックス*/
  transform: translate(-50%, -50%); /*センター寄せの修正*/
}

/* ----------------------------------------------------
   コンテンツ関連
   ---------------------------------------------------- */
#contents_area {
}
#contents {
}

/* ----------------------------------------------------
   フッタ関連
   ---------------------------------------------------- */
#content_footer {
  padding-top: 100px;
}
#content_footer nav {
  background-color: #faf0e6;
}
#content_footer nav > div {
  min-height: 60px;
}
#content_footer .copyright {
  margin-left: auto;
  margin-right: auto;
  line-height: 35px;
  font-family: Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN",
    HGS明朝E, メイリオ, Meiryo, serif;
  color: #fff;
  color: #808000;
  letter-spacing: 0.1rem;
}

/* ----------------------------------------------------
   ↓メニュー関連のスタイル
   ---------------------------------------------------- */
#header-menu {
  background-color: var(--main-theme-bg-color);
}
#header-menu .nav-item {
  padding-left: 0.45rem;
  padding-right: 0.45rem;
  letter-spacing: 0.125rem;
}

/* メニューのタイトル */
.menu_item_title {
  display: block;
  color: black;
  text-align: left;
  font-size: 12px;
  height: 18px;
  line-height: 18px;
  text-decoration: none;
  padding-top: 4px;
  padding-bottom: 2px;
  padding-left: 5px;
  padding-right: 5px;
}
/* メニューのタイトル（英語） */
.menu_item_title_en {
  display: block;
  color: black;
  font-family: Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN",
    HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 24px;
  height: 25px;
  line-height: 25px;
  text-decoration: none;
  padding-top: 0px;
  padding-bottom: 2px;
  padding-left: 5px;
  padding-right: 5px;
}

#header-menu .dropdown-menu {
  background-color: var(--main-theme-bg-color);
  border: 1px solid #ccc;
  border-radius: 0;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
}
#header-menu a.dropdown-item {
  font-size: 12pt;
  color: black;
  text-decoration: none;
}
#header-menu a.dropdown-item:link,
#header-menu a.dropdown-item:visited {
}
#header-menu a.dropdown-item:active,
#header-menu a.dropdown-item:hover,
#header-menu a.dropdown-item:focus {
  color: var(--bs-dropdown-link-hover-color);
  background-color: var(--bs-dropdown-link-hover-bg);
}

/* ----------------------------------------------------
   ↑メニュー関連のスタイル
   ---------------------------------------------------- */

/* ----------------------------------------------------
   ↓パンくずリスト
   ---------------------------------------------------- */
#breadcrumb_area {
}

#breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  margin-bottom: 0;
}

#breadcrumb li:not(:last-of-type)::after {
  content: ">";
  margin: 0 0.6rem; /* 記号の左右の余白 */
  color: #777; /* 記号の色 */
}
#breadcrumb li a,
#breadcrumb li a:visited,
#breadcrumb li a:active,
#breadcrumb li a:hover,
#breadcrumb li a:focus,
#breadcrumb li a:link {
  color: steelblue;
  text-decoration: none;
}
#breadcrumb li a.active {
  color: #777;
  pointer-events: none;
}
/* ----------------------------------------------------
   ↑パンくずリスト
   ---------------------------------------------------- */

a.none_decoration {
  text-decoration: none;
}
a:link,
a:visited {
  color: steelblue;
}
a:active,
a:hover,
a:focus {
  color: #666;
}
img {
  border: none;
  padding: 0;
  margin: 0;
}
/* 段落 */
p {
  padding: 0px;
  margin: 0px;
  margin-bottom: 0.5rem;
  line-height: 150%;
  letter-spacing: 1px;
}
/* 見出し */
h1 {
  position: relative;
  line-height: 39px;
  font-size: 22px;
  padding-left: 10px;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-right: 10px;
  background-color: #f0f8ff;
  color: steelblue;
  margin-bottom: 20px;
}
h1:after {
  position: absolute;
  content: "";
  top: 100%;
  left: 15px;
  border: 15px solid transparent;
  border-top: 15px solid #f0f8ff;
  width: 0;
  height: 0;
}
h1:not(:first-of-type) {
  margin-top: 20px; /* 2つ目以降のh1にmargin-topを設定 */
}

h2 {
  line-height: 30px;
  height: 30px;
  font-size: 18px;
  color: black;
  padding-left: 5px;
  padding-right: 5px;
  padding-top: 0;
  padding-bottom: 0;
  border-left: 15px solid #f0f8ff;
  border-bottom: 3px solid #f0f8ff;
  color: steelblue;
}
h2:not(:first-of-type) {
  margin-top: 20px; /* 2つ目以降のh1にmargin-topを設定 */
}

ul.blue_marker {
  list-style-position: outside;
  list-style-image: url(../img/list_marker.png);
  line-height: 30px;
}

ol.auto-number {
  counter-reset: item;
  list-style: none;
}
ol.auto-number li {
  display: block;
}
ol.auto-number li:before {
  content: counters(item, "-") ". ";
  counter-increment: item;
}

.required {
  color: red;
}

.error_message {
  color: var(--bs-danger-text-emphasis);
  font-size: 10pt;
}
