/*  Hyogo
**************************************************/
:root {
  --hg-green: #14a83b;
  --hg-green-rgb: 20, 168, 59;
  --hg-green-hover: #198754;
  --hg-success-hover: #146c43;
  --hg-light-green: #f5faf1;
}

/*  Layout
**************************************************/
html {
  font-size: 14px;
  scroll-behavior: smooth;
}
body {
  font-family: "Noto Sans JP", sans-serif;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background-color: #efefef;
}
header {
  height: 63px;
  color: #fff;
  background-color: var(--hg-green);
}
:target {
  scroll-margin-top: calc(63px + 1rem);
}
main {
  flex: 1;
}
footer {
  color: #fff;
  font-size: 0.9rem;
}

/*  Contents
**************************************************/
header .navbar-brand {
  padding: 0;
  display: flex;
  align-items: center;
  line-height: 1.4;
}
header .navbar-brand b {
  display: block;
  letter-spacing: 1px;
  font-size: 1.4rem;
  font-weight: 500;
}
header .navbar-brand small {
  display: block;
  font-size: 1rem;
}
header .navbar-brand:hover,
header .nav-link:hover {
  opacity: 0.7;
  transition: opacity 0.2s ease-in-out;
}
header .nav-link,
footer a {
  color: inherit !important;
}
header .nav-link:focus-visible {
  box-shadow: none;
}
main a:not(.btn):hover,
main a:not(.btn):focus,
main a:not(.btn):active,
footer a:hover {
  text-decoration: underline;
  color: var(--bs-success);
}
footer a:hover {
  text-decoration: underline;
}
footer li + li::before {
  content: "|";
  margin: 0 0.5rem;
}

/*  Accordion / Offcanvas Menu
**************************************************/
#accordion-menu .position-sticky {
  top: calc(63px + 1rem);
}
#offcanvas-area {
  transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}
#offcanvas-area .offcanvas-body {
  padding: 0;
}
#offcanvas-area .accordion-item {
  border-radius: 0;
}
#accordion-menu .accordion-button,
#accordion-menu .accordion-header a,
#offcanvas-menu .accordion-button,
#offcanvas-menu .accordion-header a {
  background-color: var(--hg-green-hover);
  color: #fff;
  font-weight: 500;
  padding: 0.5rem 0.8rem;
}
#accordion-menu .accordion-header a,
#offcanvas-menu .accordion-header a {
  display: block;
}
#accordion-menu .accordion-item:first-of-type a {
  border-top-right-radius: var(--bs-accordion-inner-border-radius);
  border-top-left-radius: var(--bs-accordion-inner-border-radius);
}
#accordion-menu .accordion-item:last-of-type a {
  border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
  border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
}
#accordion-menu .accordion-button::after,
#offcanvas-menu .accordion-button::after {
  filter: brightness(0) invert(1);
}
#accordion-menu .accordion-button:not(.collapsed),
#accordion-menu .accordion-button:hover,
#accordion-menu .accordion-button:focus,
#accordion-menu .accordion-header a:hover,
#accordion-menu .accordion-header a:focus,
#offcanvas-menu .accordion-button:not(.collapsed),
#offcanvas-menu .accordion-button:hover,
#offcanvas-menu .accordion-button:focus,
#offcanvas-menu .accordion-header a:hover,
#offcanvas-menu .accordion-header a:focus {
  box-shadow: none;
  background-color: var(--hg-success-hover);
}
#accordion-menu .accordion-button:focus-visible,
#offcanvas-menu .accordion-button:focus-visible,
.nav-link:focus-visible {
  outline: -webkit-focus-ring-color auto 1px;
}
#accordion-menu .list-group-item,
#offcanvas-menu .list-group-item {
  padding: 0.4rem 0.8rem;
  border-left: none;
  border-right: none;
  border-radius: 0 !important;
  font-weight: 500;
}
#accordion-menu .list-group-item:last-child,
#offcanvas-menu .list-group-item:last-child {
  border-width: 0;
}
#accordion-menu a.active,
#accordion-menu a.active:hover,
#offcanvas-menu a.active,
#offcanvas-menu a.active:hover {
  background-color: #eb6100;
  border-color: #eb6100;
}
#accordion-menu a[target="_blank"],
#offcanvas-menu a[target="_blank"] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: 0.95rem;
}
#accordion-menu a[target="_blank"] i,
#offcanvas-menu a[target="_blank"] i {
  margin-left: 0.5rem;
  flex-shrink: 0;
}
#offcanvas-menu .accordion-button,
#offcanvas-menu .accordion-header a,
#offcanvas-menu .list-group-item {
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
}

/*  Common
**************************************************/
a {
  color: var(--hg-green);
  text-decoration: none;
}
a:focus-visible {
  outline-offset: -1px;
}
a img:hover {
  opacity: 0.7;
  transition: opacity 0.2s ease-in-out;
}
dl > dd {
  margin-bottom: 0;
}
.subtitle {
  position: relative;
  border-bottom: 1px solid #ccc;
  padding-bottom: 10px;
  margin-bottom: 1rem;
}
.subtitle::before {
  content: " ";
  display: block;
  width: 10%;
  border-bottom: 2px solid #000;
  position: absolute;
  bottom: 0;
  margin-bottom: -2px;
}
.dropdown-item:active {
  color: var(--bs-body-color);
  background-color: var(--bs-secondary-bg);
}
.card-header {
  padding: 10px 20px;
  color: #fff;
}
.caption {
  color: #fff;
  margin-bottom: 1rem;
  padding: 0.5rem 1rem 0.7rem;
  border-left: 1rem solid var(--bs-success);
  background-color: var(--hg-green);
  font-size: 1.1rem;
}
.to-top {
  position: fixed;
  bottom: -48px;
  right: 24px;
  transition: bottom 0.2s ease;
}
.to-top a {
  display: block;
  opacity: .8;
  background: rgba(0, 0, 0, .4);
  width: 48px;
  height: 48px;
  font-size: 26px;
  color: #fff;
  line-height: 44px;
}
.to-top a:focus {
  background: rgba(0, 0, 0, .4);
}
.to-top a:hover {
  background: rgba(0, 0, 0, .7);
}
.btn-info {
  color: #fff;
}
.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-info.active {
  color: #fff !important;
}
.btn-warning {
  color: #fff;
  background-color: #f0ad4e;
  border-color: #eea236;
}
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn-warning.active {
  color: #fff !important;
  background-color: #ec971f;
  border-color: #d58512;
}
.alert-danger {
  font-weight: 500;
  color: rgb(var(--bs-danger-rgb));
}
.bg-green {
  background-color: var(--hg-green);
}
.form-label,
.invalid-feedback {
  font-weight: 700;
}
legend.form-label {
  font-size: 1rem;
}
.form-check {
  margin-bottom: 0.3rem;
}
.form-check-label {
  cursor: pointer;
}
.form-check-input {
  border-color: #ccc;
}
.form-control:disabled {
  background-color: #8b9096;
  color: #fff;
  border-color: #8b9096;
  cursor: not-allowed;
}
.form-label .badge {
  line-height: 1;
  font-size: 0.75rem;
  margin-right: 0.2rem;
  padding: 0.2rem 0.5rem;
  vertical-align: 0.1rem;
}
.form-box {
  padding: .365rem .75rem;
  border: var(--bs-border-width) solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
}
.input-group .form-control.is-invalid:last-of-type {
  border-top-right-radius: var(--bs-border-radius) !important;
  border-bottom-right-radius: var(--bs-border-radius) !important;
}
.breadcrumb {
  margin-bottom: 1.5rem;
}
.pagination {
  margin-top: 1.5rem;
  margin-bottom: 0;
}
.pagination .page-link:hover,
.pagination .page-link:focus {
  color: var(--bs-pagination-hover-color);
  text-decoration: none;
}
.pagination .active > .page-link:hover,
.pagination .active > .page-link:focus {
  color: #fff;
}
.nav-link {
  color: var(--hg-green);
}
.nav-link:hover,
.nav-link:focus,
.nav-link:active {
  text-decoration: none !important;
}
.nav-tabs {
  border-color: #ccc;
}
.nav-tabs .nav-link.active {
  border-color: #ccc #ccc #fff;
}
.nav-tabs .nav-link.active {
  font-weight: 500;
}
.text-gray {
  color: #999;
}

/*  Width
**************************************************/
.w-1rem {width: 1rem;}
.w-2rem {width: 2rem;}
.w-3rem {width: 3rem;}
.w-4rem {width: 4rem;}
.w-5rem {width: 5rem;}
.w-6rem {width: 6rem;}
.w-7rem {width: 7rem;}
.w-8rem {width: 8rem;}
.w-9rem {width: 9rem;}
.w-10rem {width: 10rem;}

/*  Table
**************************************************/
.table th,
.table td {
  padding: 0.5rem 1rem;
}
.table caption {
  caption-side: top;
  color: #fff;
  font-weight: 500;
  font-size: 1.2rem;
  padding: 0.5rem 1rem;
  border-top: 1px solid #ccc;
  background-color: var(--hg-green)
}
.table-vertical,
.table-horizontal {
  border-top: 1px solid #ccc;
  margin-bottom: 1.5rem;
}
.table-vertical th,
.table-vertical td,
.table-horizontal th,
.table-horizontal td {
  border-bottom: 1px solid #ccc;
}
.table-horizontal th:not(:first-child),
.table-horizontal td:not(:first-child) {
  border-left: 1px solid #ccc;
}
.table-vertical th,
.table-horizontal th {
  text-align: center;
  background-color: var(--hg-light-green);
}
@media (max-width: 575px) {
  .table-vertical th,
  .table-vertical td {
    display: block;
    width: 100%;
    text-align: left;
  }
  .table-horizontal.responsive,
  .table-horizontal.responsive thead,
  .table-horizontal.responsive tbody,
  .table-horizontal.responsive tr,
  .table-horizontal.responsive th,
  .table-horizontal.responsive td {
    display: block;
    width: 100%;
  }
  .table-horizontal.responsive tr {
    border-bottom: 1px solid #ccc;
  }
  .table-horizontal.responsive th,
  .table-horizontal.responsive td {
    border: none;
    border-bottom: 1px solid #eee;
    text-align: left !important;
  }
  .table-horizontal.responsive th:last-child,
  .table-horizontal.responsive td:last-child {
    border-bottom: none;
  }
  .table-horizontal.responsive th:not(:first-child),
  .table-horizontal.responsive td:not(:first-child) {
    border-left: none;
  }
}

/*  List
**************************************************/
/*  list-date */
dl.list-date {
  margin-bottom: 0;
}
dl.list-date > dt {
  font-weight: normal;
}
dl.list-date > dd {
  margin-bottom: 0.7rem;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid #ccc;
}
@media only screen and (min-width: 768px) {
  dl.list-date > dt {
    width: 7rem;
    float: left;
  }
  dl.list-date > dd {
    padding-left: 7rem;
  }
}
/*  note  */
dl.note > dt {
  width: 1rem;
  float: left;
  color: red;
  font-weight: bold;
}
dl.note > dd {
  padding-left: 1.2rem;
}
/*  list-file */
ul.list-file {
  list-style-type: none;
  padding-left: 0;
}
ul.list-file > li {
  padding: 0.7rem 0;
  border-bottom: 1px solid #ccc;
}
ul.list-file .body {
  margin-top: 0.7rem;
}
/*  list-circle */
.list-circle {
  list-style: none;
  padding-left: 0;
}
.list-circle > li {
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 0.5rem;
}
.list-circle > li::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border: 4px solid var(--bs-success);
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 0.3rem;
}
/*  list-arrow  */
.list-arrow {
  list-style: none;
  padding-left: 0;
}
.list-arrow > li {
  position: relative;
  padding-left: 1.2em;
  margin-bottom: 0.5rem;
}
.list-arrow > li::before {
  content: "";
  width: 0.6rem;
  height: 0.6rem;
  border-top: 3px solid var(--bs-success);
  border-right: 3px solid var(--bs-success);
  transform: rotate(45deg);
  position: absolute;
  left: 0;
  top: 0.5rem;
}
/*  list-article  */
.list-article {
  margin-bottom: 1.2rem;
  border-top: 3px solid var(--bs-success);
}
.list-article.training {
  border-top-color: var(--bs-primary);
}
.list-article .title {
  margin-top: 1rem;
  margin-bottom: 0.5rem;
}
.list-article .title > small {
  color: #777;
  font-size: 0.9rem;
  font-weight: normal;
  margin-right: 0.5rem;
}
.list-article .title > a,
.list-article .title > strong {
  font-size: 1.1rem;
  font-weight: 500;
  color: inherit;
}
.list-article .tags {
  margin-bottom: 0.5rem;
}
.list-article .btn {
  margin-right: 2px;
  padding: 0 0.5rem;
}
.list-article .badge {
  font-size: 0.875rem;
  font-weight: 400;
  padding: 0 0.5rem;
  line-height: 1.5;
  vertical-align: middle;
  border: 1px solid #555;
  border-radius: var(--bs-border-radius-sm);
}
.list-article hr,
.list-article .file {
  margin-top: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .list-article .title > small {
    display: block;
  }
}
/*  list focus  */
dl.list-date a:not(.btn):focus,
ul.list-file a:not(.btn):focus,
.list-circle a:not(.btn):focus,
.list-arrow a:not(.btn):focus,
.list-article a:not(.btn):focus {
  text-decoration: underline;
}

/*  Flow
**************************************************/
.flow {
  padding: 0;
}
.flow li {
  list-style-position: inside;
  margin: 3px 0;
  padding: 6px 24px 8px 36px;
  text-indent: -1rem;
  background: #eee;
  color: #999;
  border-radius: 0.25rem;
}
.flow li.current {
  background: #eb6100;
  color: #fff;
}
.flow li.done {
  background: #f0ad4e;
  color: #fff;
}

/*  Badge / Icon
**************************************************/
.badge {
  font-size: 0.9rem;
  font-weight: 500;
  padding-top: 0.3rem;
  padding-bottom: 0.4rem;
}
a[class^="icon-"] {
  position: relative;
  padding-left: 4rem;
}
a[class^="icon-"]::before {
  content: "";
  display: inline-block;
  width: 3.2rem;
  text-align: center;
  line-height: 1.8;
  font-size: 0.8rem;
  font-weight: 700;
  color: #fff;
  border-radius: 50rem;
  position: absolute;
  left: 0;
  top: 0.1rem;
}
a.icon-word::before {
  content: "Word";
  background-color: #1f64c2;
}
a.icon-excel::before {
  content: "Excel";
  background-color: #0d6e38;
}
a.icon-ppt::before {
  content: "PPT";
  background-color: #bd3819;
}
a.icon-pdf::before {
  content: "PDF";
  background-color: #f40f02;
}
a.icon-zip::before {
  content: "ZIP";
  background-color: #ec971f;
}
a.icon-video::before {
  content: "MP4";
  background-color: #1e88e5;
}
a.icon-internal::before,
a.icon-external::before {
  content: "Link";
  background-color: var(--bs-secondary);
}
