.main-page-carousel {
  max-height: 820px;
  min-height: 510px;
  height: calc(100vh - calc(36px + 1.5rem));
  height: calc(calc(var(--vh, 1vh) * 100) - calc(36px + 1.5rem));
  margin-left: -10px;
  margin-right: -10px;
}
@media (min-width: 640px) {
  .main-page-carousel {
    min-height: 362px;
    margin-left: 0;
    margin-right: 0;
  }
}
@media (min-width: 1024px) {
  .main-page-carousel {
    min-height: 500px;
    height: calc(100vh - calc(48px + 2rem));
    height: calc(calc(var(--vh, 1vh) * 100) - calc(48px + 2rem));
  }
}
@media (min-width: 1440px) {
  .main-page-carousel {
    min-height: 540px;
  }
}
.assist-spacing-medium .main-page-carousel,
.assist-spacing-large .main-page-carousel,
.assist-medium .main-page-carousel,
.assist-large .main-page-carousel {
  height: auto;
  max-height: unset;
}
.assist-spacing-medium .main-page-carousel .carousel-item picture,
.assist-spacing-large .main-page-carousel .carousel-item picture,
.assist-medium .main-page-carousel .carousel-item picture,
.assist-large .main-page-carousel .carousel-item picture {
  display: none !important;
}
.assist-spacing-medium .main-page-carousel .carousel-caption,
.assist-spacing-large .main-page-carousel .carousel-caption,
.assist-medium .main-page-carousel .carousel-caption,
.assist-large .main-page-carousel .carousel-caption {
  position: static;
  word-break: break-word;
}
.main-page-carousel .carousel,
.main-page-carousel .carousel-inner,
.main-page-carousel .carousel-item {
  height: 100%;
}
.main-page-carousel .carousel-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top right;
}
.main-page-carousel .carousel-indicators {
  padding-left: 5%;
  padding-right: 5%;
}
.assist-view .main-page-carousel .carousel-indicators {
  display: none;
}
.main-page-carousel .carousel-indicators li {
  max-width: 120px;
  flex-grow: 1;
  margin-left: 1rem;
  margin-right: 1rem;
}
.assist-achromatic .main-page-carousel .carousel-indicators li {
  background-color: #fff;
}
.assist-achromatic .main-page-carousel .carousel-indicators li.active {
  background-color: #000;
}
.assist-invert .main-page-carousel .carousel-indicators li {
  background-color: #000;
}
.assist-invert .main-page-carousel .carousel-indicators li.active {
  background-color: #fff;
}
.assist-chromatic .main-page-carousel .carousel-indicators li {
  background-color: #9dd1ff;
}
.assist-chromatic .main-page-carousel .carousel-indicators li.active {
  background-color: #14305e;
}
.assist-view .main-page-carousel .carousel-control-prev,
.assist-view .main-page-carousel .carousel-control-next {
  opacity: 1;
}
.main-page-carousel .carousel-control-prev-icon,
.main-page-carousel .carousel-control-next-icon {
  width: 8px;
  height: 15.04px;
}
@media (min-width: 1024px) {
  .main-page-carousel .carousel-control-prev-icon,
  .main-page-carousel .carousel-control-next-icon {
    width: 10px;
    height: 18.81px;
  }
}
@media (min-width: 1440px) {
  .main-page-carousel .carousel-control-prev-icon,
  .main-page-carousel .carousel-control-next-icon {
    width: 20px;
    height: 37.61px;
  }
}
.main-page-carousel .carousel-caption {
  line-height: 1rem;
  top: 0;
  bottom: 0;
  left: 20px;
  right: 20px;
  z-index: 0;
}
.main-page-carousel .carousel-caption .carousel-caption-inner-wrapper {
  max-width: 100%;
}
@media (min-width: 640px) {
  .main-page-carousel .carousel-caption {
    left: 30px;
    right: 70px;
  }
}
@media (min-width: 1024px) {
  .main-page-carousel .carousel-caption {
    line-height: 140%;
    left: 7.4%;
    right: 15.8%;
  }
}
.assist-achromatic .main-page-carousel .carousel-caption {
  color: #000;
  padding-left: 20px;
  padding-right: 20px;
  background: #fff;
}
.assist-invert .main-page-carousel .carousel-caption {
  color: #fff;
  padding-left: 20px;
  padding-right: 20px;
  background: #000;
}
.assist-chromatic .main-page-carousel .carousel-caption {
  color: #14305e;
  padding-left: 20px;
  padding-right: 20px;
  background: #9dd1ff;
}
.main-page-carousel .carousel-caption .btn:not(:last-child) {
  margin-right: 2.875rem;
}
.main-page-carousel .carousel-caption p {
  margin-bottom: 0;
}
.main-page-carousel .carousel-caption .description,
.main-page-carousel .carousel-caption .btn {
  margin-top: 20px;
}
@media (min-width: 1024px) {
  .main-page-carousel .carousel-caption .description,
  .main-page-carousel .carousel-caption .btn {
    margin-top: 30px;
  }
}
@media (min-width: 1440px) {
  .main-page-carousel .carousel-caption .description,
  .main-page-carousel .carousel-caption .btn {
    margin-top: 40px;
  }
}
.main-page-carousel .carousel-caption .description {
  font-size: 0.8rem;
  line-height: 1rem;
}
@media (min-width: 1024px) {
  .main-page-carousel .carousel-caption .description {
    font-size: 1rem;
    line-height: 140%;
  }
}
.main-page-carousel .carousel-caption .title {
  font-size: 1.953125rem;
  line-height: 2.6875rem;
}
@media (min-width: 640px) {
  .main-page-carousel .carousel-caption .title {
    font-size: 2.44125rem;
    line-height: 1.1;
  }
}
@media (min-width: 1024px) {
  .main-page-carousel .carousel-caption .title {
    font-size: 3.051875rem;
  }
}
@media (min-width: 1440px) {
  .main-page-carousel .carousel-caption .title {
    font-size: 3.815rem;
  }
}
.e-services .nav-tabs {
  margin: 0 -10px;
}
.e-services .nav-tabs .nav-item {
  margin: 0 10px;
}
.e-services .nav-tabs .nav-item .nav-link {
  border: none;
  padding: 0;
  background: transparent;
  color: #6c6c6c;
  font-size: 0.875rem;
  letter-spacing: -0.02em;
}
@media (min-width: 640px) {
  .e-services .nav-tabs .nav-item .nav-link {
    font-size: 1rem;
    letter-spacing: 0.02em;
  }
}
@media (min-width: 1440px) {
  .e-services .nav-tabs .nav-item .nav-link {
    font-size: 1.25rem;
    letter-spacing: initial;
  }
}
.e-services .nav-tabs .nav-item .nav-link.active,
.e-services .nav-tabs .nav-item .nav-link:hover {
  color: #212121;
}
.assist-view .e-services .nav-tabs .nav-item .nav-link.active {
  text-decoration: underline;
}
@media (min-width: 1024px) {
  .e-services .nav-tabs {
    margin: 0 -15px;
  }
  .e-services .nav-tabs .nav-item {
    margin: 0 15px;
  }
}
@media (min-width: 1440px) {
  .e-services .nav-tabs {
    margin: 0 -20px;
  }
  .e-services .nav-tabs .nav-item {
    margin: 0 20px;
  }
}
.e-services .e-services-chapter {
  flex-basis: 100%;
}
@media (min-width: 640px) {
  .e-services .e-services-chapter {
    flex-basis: 50%;
  }
}
@media (min-width: 1024px) {
  .e-services .e-services-chapter {
    flex-basis: 33.333%;
  }
}
.e-services .e-services-chapter .chapter-icon {
  width: 40px;
  height: 40px;
}
@media (min-width: 1440px) {
  .e-services .e-services-chapter .chapter-icon {
    width: 50px;
    height: 50px;
  }
}
.e-services .e-services-chapter .chapter-icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.assist-invert .e-services .e-services-chapter .chapter-icon img {
  -webkit-filter: invert(1) grayscale(1);
  filter: invert(1) grayscale(1);
}
.e-services .e-services-chapter .chapter-title a {
  text-decoration: none;
}
@media (min-width: 1440px) {
  .e-services .e-services-chapter .chapter-title a {
    letter-spacing: -0.03rem;
  }
}
.e-services .e-services-chapter .chapter-menu-list {
  list-style: none;
}
.e-services .e-services-chapter .chapter-menu-list .chapter-menu-item a {
  text-decoration: none;
}
.e-services .e-services-chapter .chapter-menu-list .chapter-menu-item a span {
  white-space: nowrap;
}
.e-services
  .e-services-chapter
  .chapter-menu-list
  .chapter-menu-item
  a
  span:after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 8px;
  margin-bottom: 1px;
  margin-left: 10px;
  background: no-repeat 50%/100% 100%;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' width='5' height='8' viewBox='0 0 5 8'%3e%3cpath d='M1 1L4.0163 4L1 7' stroke='%23212121'/%3e%3c/svg%3e");
}
html:not(.assist-view) .news-block .show-all-btn {
  color: #6c6c6c;
}
html:not(.assist-view) .news-block .show-all-btn:hover {
  color: #292929;
}
.news-block .news-list-item-urgent {
  display: flex;
  align-items: center;
  margin-top: -1px;
}
html:not(.assist-view) .news-block .news-list-item-urgent {
  color: #ed572c;
}
.news-block .news-list-item-urgent:before {
  content: "";
  background-image: url("/thm/pfrf2020/img/icons/warn.svg");
  background-position: center;
  background-size: contain;
  width: 16px;
  height: 16px;
  margin-right: 5px;
}
.assist-invert .news-block .news-list-item-urgent:before,
.assist-achromatic .news-block .news-list-item-urgent:before {
  background-image: url("/thm/pfrf2020/img/icons/warn-black.svg");
}
.assist-invert .news-block .news-list-item-urgent:before {
  filter: invert(1);
}
.assist-chromatic .news-block .news-list-item-urgent:before {
  background-image: url("/thm/pfrf2020/img/icons/warn-chromatic.svg");
}
.news-block .news-main-article .news-list-item {
  border-bottom: 1px solid #9f9f9f;
}
.assist-achromatic .news-block .news-main-article .news-list-item {
  border-color: #000;
}
.assist-invert .news-block .news-main-article .news-list-item {
  border-color: #fff;
}
.assist-chromatic .news-block .news-main-article .news-list-item {
  border-color: #14305e;
}
@media (min-width: 1024px) {
  .news-block .news-main-article .news-list-item {
    border: none;
  }
}
.news-block .news-main-article .news-list-item .main-news-title a {
  text-decoration: none;
}
@media (min-width: 1440px) {
  .news-block .news-main-article .news-list-item .main-news-title {
    line-height: 50px;
  }
}
.news-block .news-main-article .news-list-item .news-list-item-urgent,
.news-block .news-main-article .news-list-item .news-list-item-category-title,
.news-block .news-main-article .news-list-item time {
  font-size: 0.8rem;
  line-height: 1.1;
  font-weight: 600;
}
html:not(.assist-view)
  .news-block
  .news-main-article
  .news-list-item
  .news-list-item-category-title {
  color: #005da2;
}
.news-block .news-main-article .news-list-item .news-list-item-urgent:before {
  width: 20px;
  height: 20px;
}
.news-block .news-main-article .news-list-item .link {
  display: inline-block;
}
html:not(.assist-view)
  .news-block
  .news-main-article
  .news-list-item
  .more-btn {
  color: #6c6c6c;
}
html:not(.assist-view)
  .news-block
  .news-main-article
  .news-list-item
  .more-btn:hover {
  color: #292929;
}
.news-block .news-main-article .news-list-item .news-main-image-wrapper img {
  object-fit: cover;
}
@media (min-width: 1024px) {
  .news-block .news-main-article .news-list-item .news-main-image-wrapper img {
    height: 435px;
  }
}
@media (min-width: 1440px) {
  .news-block .news-main-article .news-list-item .news-main-image-wrapper img {
    height: 373px;
  }
}
.news-block aside .news-list-item:not(:first-child) {
  border-top: 1px solid #9f9f9f;
}
.assist-achromatic .news-block aside .news-list-item:not(:first-child) {
  border-color: #000;
}
.assist-invert .news-block aside .news-list-item:not(:first-child) {
  border-color: #fff;
}
.assist-chromatic .news-block aside .news-list-item:not(:first-child) {
  border-color: #14305e;
}
.news-block aside .news-list-item .news-list-item-urgent,
.news-block aside .news-list-item .news-list-item-category-title,
.news-block aside .news-list-item time {
  font-size: 0.64rem;
  line-height: 0.875rem;
  font-weight: 600;
}
html:not(.assist-view)
  .news-block
  aside
  .news-list-item
  .news-list-item-category-title {
  color: #005da2;
}
.news-block aside .news-list-item .link {
  display: inline-block;
  text-decoration: none;
}
.section-content .section-header {
  border-bottom: 1px solid #212121;
}
.assist-achromatic .section-content .section-header {
  border-color: #000;
}
.assist-invert .section-content .section-header {
  border-color: #fff;
}
.assist-chromatic .section-content .section-header {
  border-color: #14305e;
}
.section-content.project-block .project-link {
  font-size: 1rem;
  line-height: 1.2;
  text-decoration: none;
}
@media (min-width: 1440px) {
  .section-content.project-block .project-link {
    font-size: 1.25rem;
  }
}
