/*
 * Noto Sans JP Font Declarations
 */
@font-face {
  font-family: 'Noto Sans JP';
  src: url('../css/fonts/Noto_Sans/NotoSansJP-Thin.otf') format('opentype');
  font-weight: 100;
  font-style: normal;
}
@font-face {
  font-family: 'Noto Sans JP';
  src: url('../css/fonts/Noto_Sans/NotoSansJP-Light.otf') format('opentype');
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: 'Noto Sans JP';
  src: url('../css/fonts/Noto_Sans/NotoSansJP-Regular.otf') format('opentype');
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: 'Noto Sans JP';
  src: url('../css/fonts/Noto_Sans/NotoSansJP-Medium.otf') format('opentype');
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: 'Noto Sans JP';
  src: url('../css/fonts/Noto_Sans/NotoSansJP-Bold.otf') format('opentype');
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: 'Noto Sans JP';
  src: url('../css/fonts/Noto_Sans/NotoSansJP-Black.otf') format('opentype');
  font-weight: 900;
  font-style: normal;
}
body {
  font-family: "Noto Sans JP", sans-serif;
}
a,
a:hover,
a:visited {
  color: blue;
  text-decoration: none;
}
body {
  background-color: #f5f5f5;
  color: #333333;
  padding: 0px;
  margin: 0px;
}
a,
a:visited,
a:hover {
  display: inline-block;
  text-decoration: none;
  color: #0066cc;
  border-bottom: 1px dotted #0066cc;
}
.default__container {
  display: block;
  position: relative;
  margin-left: 40px;
  margin-right: 40px;
  margin-top: 40px;
  background-color: white;
  padding: 28px;
  border-radius: 5px;
  box-shadow: 0 1px 4px 0 rgba(21, 34, 50, 0.08);
}
.project__address-container {
  font-size: 14px;
}
.project__budget {
  font-size: 14px;
}
/*
 * Lightbox
 */
#lightbox_shading {
  position: fixed;
  z-index: 99990;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  background-color: black;
  opacity: 0.5;
}
/*
 * Navigation Bar
 */
.nav__container {
  position: fixed;
  top: 68px;
  left: 0px;
  right: 0px;
  height: 52px;
  background-color: white;
  z-index: 9998;
  box-shadow: 0 1px 4px 0 rgba(21, 34, 50, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
}
.nav__links {
  display: flex;
  gap: 8px;
  list-style: none;
  margin: 0px;
  padding: 0px;
}
.nav__link {
  padding: 8px 24px;
  font-size: 14px;
  font-weight: 500;
  color: #333333;
  text-decoration: none;
  border-radius: 4px;
  transition: background-color 0.2s;
  border-bottom: none;
}
.nav__link:hover {
  background-color: #f5f5f5;
  border-bottom: none;
}
.nav__link.active {
  background-color: #06a561;
  color: white;
}
.nav__link.active:hover {
  background-color: #047444;
}
.header__container {
  display: block;
  position: fixed;
  top: 0px;
  left: 0px;
  right: 0px;
  height: 68px;
  background-color: white;
  z-index: 9999;
  box-shadow: 0 1px 4px 0 rgba(21, 34, 50, 0.08);
}
.header__logo-container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
}
.header__logo {
  display: block;
  height: 46px;
  width: auto;
}
.header__application-name {
  display: none;
}
.header__user-container {
  display: flex;
  position: absolute;
  top: 0px;
  right: 0px;
  padding-right: 11px;
}
.header__user-portrait {
  display: block;
  height: 16px;
  width: auto;
  margin-top: 26px;
  margin-right: 7px;
}
.header__person-username {
  display: inline-block;
  line-height: 68px;
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
}
.user-menu__menu-container {
  display: none;
  position: absolute;
  top: 46px;
  right: 8px;
  list-style: none;
  background-color: white;
  border: 1px solid #e0e0e0;
  padding: 17px;
  margin: 0px;
}
.user-menu__menu-container li {
  cursor: pointer;
  padding-top: 4px;
  padding-bottom: 4px;
}
#user-menu-state:checked ~ .user-menu__menu-container {
  display: block;
}
