:root {
  /* boostrap color */
  --bs-body-color: #000000;
  --bs-primary-rgb: 0, 160, 233;
  --bs-link-color-rgb: 0, 160, 233;
  --bs-link-hover-color-rgb: 245, 127, 37;
  /* theme color */
  --primary-color: rgb(0, 159, 223);
  --light-gray: #f8f8f8;
}
html {
  font-size: 16px;
  scroll-behavior: smooth;
}
body {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 400;
  line-height: 1.5;
  font-size: 1rem;
}
h1 h2 h3 h4 h5 h6 {
  line-height: 1.2;
  font-weight: 400;
}
.m-plus-1p-regular {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 400;
  font-style: normal;
}
img {
  max-width: 100%;
  height: auto;
}
h1,
.h1 {
  font-size: 3.5rem;
  font-weight: 500;
}

h1.page-title {
  color: #00aeef;
}

h2,
.h2 {
  font-size: 2.5rem;
}
h3,
.h3 {
  font-size: 2rem;
}
h4,
.h4 {
  font-size: 1.25rem;
}
h5,
.h5 {
  font-size: 1.125rem;
}

.h1-mobile {
  font-size: 2.5rem;
  font-weight: 500;
}

.h2-mobile {
  font-size: 2rem;
  font-weight: 500;
}

.h3-mobile {
  font-size: 1.5rem;
  font-weight: 500;
}

.fs-l,
.text-body-l {
  font-size: 24px;
}
.fs-l-medium {
  font-size: 24px;
  font-weight: 500;
}
.fs-default,
.text-body {
  font-size: 16px;
}
.fs-default-medium {
  font-size: 16px;
  font-weight: 500;
}
.lead {
  font-size: 2rem;
  font-weight: 400;
}
.lead-mobile {
  font-size: 1.5rem;
}
.text-xs {
  font-size: 14px;
}
.text-cyan {
  color: #00aeef;
}
.text-black {
  color: #000;
}
.text-white {
  color: #fff;
}
.text-gray-light {
  color: var(--light-gray);
}
.text-gray-mid {
  color: #b8b8b8;
}

.bg-blue {
  background-color: #009fdf;
}

.bg-black {
  background-color: #000;
}

.bg-light-gray {
  background-color: var(--light-gray);
}

.container {
  max-width: 85.25rem;
}

.container-small {
  max-width: 54rem;
}

section {
  margin-top: 3.125rem;
  margin-bottom: 3.125rem;
}
section.my-3xl {
  margin-block: 6.5rem;
}
@media screen and (min-width: 768px) {
  section.my-3xl {
    margin-block: 9.5rem;
  }
}
section.container-fluid {
  max-width: 100%;
}

section.no-padding .col {
  padding-left: 0;
  padding-right: 0;
}

.layout--onecol .layout__region {
  width: auto;
}

.region-sidebar-first,
.region-sidebar-second,
.region-footer,
.region-content {
  padding: 0;
}

.flex-1 {
  flex: 1 !important;
}
.gap-20 {
  gap: 20px;
}
/* Margin Top */

.mt-10 {
  margin-top: 0.625rem;
}
.mt-20 {
  margin-top: 1.25rem;
}
.mt-40 {
  margin-top: 2.5rem;
}
.mt-50 {
  margin-top: 3.125rem;
}
.mb-20 {
  margin-bottom: 1.25rem;
}
.mb-50 {
  margin-bottom: 3.125rem;
}
.mt-60 {
  margin-top: 3.75rem;
}
.mt-100 {
  margin-top: 6.25rem;
}
.mt-150 {
  margin-top: 9.375rem;
}
/* Margin Vertical (Top and Bottom) */

.my-10 {
  margin-top: 0.625rem;
  margin-bottom: 0.625rem;
}
.my-20 {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
.my-40 {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}
.my-60 {
  margin-top: 3.75rem;
  margin-bottom: 3.75rem;
}
.my-100 {
  margin-top: 6.25rem;
  margin-bottom: 6.25rem;
}
/* Padding Top */

.pt-10 {
  padding-top: 0.625rem;
}
.pt-20 {
  padding-top: 1.25rem;
}
.pt-40 {
  padding-top: 2.5rem;
}
.pt-60 {
  padding-top: 3.75rem;
}
.pt-100 {
  padding-top: 6.25rem;
}

.gap-xl {
  gap: 56px;
}
/*  */

.btn {
  display: inline-flex;
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  padding: 9px 25px;
  border: 2px solid;
  border-radius: 46px;
  background-color: transparent;
  color: var(--primary-color);
}
.btn.btn-white {
  color: #ffffff;
}
.btn:hover,
.btn.btn-white:hover {
  background-color: var(--primary-color);
  color: #ffffff;
  border-color: var(--primary-color);
}

#block-hoshizaki-bs5-pagetitle {
  margin-bottom: 5rem;
}
body.path-user:not(.user-logged-in) #block-hoshizaki-bs5-pagetitle {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
main {
  margin-bottom: 6.25rem;
}

main section:last-child {
  margin-bottom: 0;
}

/**
 * Navtabs
 */

body:not(.path-user) .block-local-tasks-block,
body.user-logged-in .block-local-tasks-block {
  position: fixed;
  left: 30px;
  bottom: 0;
  z-index: 100;
}
[data-drupal-messages] {
  position: fixed;
  z-index: 999;
  width: 100%;
  left: 0;
  right: 0;
  bottom: 40px;
}
.tabs-wrapper {
  margin: 0;
}
nav.tabs {
  margin-bottom: 0;
}
nav.tabs ul.nav-tabs {
  background: transparent;
  font-size: 15px;
  z-index: 999;
}
nav.tabs ul.nav-tabs li {
  padding: 0;
  margin-right: 5px;
}
nav.tabs ul.nav-tabs li a {
  background: var(--light-gray);
  padding: 4px 14.96px;
  border-radius: 0;
  border: none;
  color: #333;
}
nav.tabs ul.nav-tabs li.active {
  padding: 0;
}
nav.tabs ul.nav-tabs li.active > a {
  background: var(--primary-color);
  border: none;
  color: #fff;
}
nav.tabs ul.nav-tabs li .tab-toggle.dropdown-toggle {
  display: none;
}
/*  */

header {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 9;
}
header.show-panel {
  background-color: #000000;
  color: #ffffff;
  top: 0;
  bottom: 0;
}
header .header-nav-wrap {
  max-width: 1440px;
  padding: 10px;
}
header nav.navbar {
  padding: 9px 24px;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
}
header.show-panel nav.navbar {
  background-color: transparent !important;
  box-shadow: unset;
}
header.show-panel .menu-btn-icon:not(:hover) {
  color: var(--primary-color);
}
header .navbar-brand .navbar__logo--dark,
header .navbar-brand .navbar__logo--light {
  max-height: 36px;
}
header.show-panel .navbar-brand .navbar__logo--dark {
  display: none;
}
header.show-panel .navbar-brand .navbar__logo--light {
  display: block !important;
}
header .nav-extra,
header .nav-extra .region.region-nav-extra {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 8px;
  row-gap: 8px;
}
header .btn.btn-location svg {
  width: 25px;
}
header.show-panel .btn.btn-location {
  color: #ffffff;
}
header .menu-btn-icon {
  width: 72px;
  height: 72px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
  border-radius: 50%;
  background-color: #ffffff;
}
header .menu-btn-icon:hover {
  background-color: var(--primary-color);
}
header .menu-btn-icon svg {
  max-width: 39px;
  color: var(--primary-color);
}
header .menu-btn-icon:hover svg {
  color: #ffffff;
}
header.show-panel .menu-btn-icon svg.icon-bars {
  display: none;
}
header.show-panel .menu-btn-icon svg.icon-close {
  display: block !important;
}
header.show-panel .header-panel-extra {
  display: block !important;
}
@media screen and (min-width: 48rem) {
  header nav.navbar {
    padding: 20px 50px;
  }
  header .navbar-brand .navbar__logo--dark {
    max-height: 58px;
  }
  header .navbar-brand .navbar__logo--light {
    max-height: 40px;
  }
  header .nav-extra,
  header .nav-extra .region.region-nav-extra {
    column-gap: 32px;
    row-gap: 16px;
  }
}
@media screen and (max-width: 47.9375rem) {
  header .btn.btn-location {
    background-color: var(--light-gray);
    padding: 6px;
    width: 46px;
    height: 46px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  header .navbar-brand .navbar__logo--dark,
  header .navbar-brand .navbar__logo--light {
    display: none !important;
  }
  header .navbar-brand .navbar__logo--mobile {
    display: block !important;
    height: 48px;
  }
}
/*  */

main .space-content {
  height: 12.5rem;
}
body.path-frontpage main .space-content {
  height: 0;
}
/* footer */

.footer-grid-layout {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 16px;
  column-gap: clamp(40px, 11.74699vw, 156px);
}
.footer-grid-layout.footer--top {
  row-gap: 56px;
  font-weight: 500;
}
footer .footer--top ul.navbar-nav a {
  padding-block: 4px;
}
.footer--bottom ul.navbar-nav {
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: 50px;
}
.footer--bottom ul.navbar-nav a {
  padding: 0;
}
@media screen and (min-width: 48rem) {
  .footer-grid-layout {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 62rem) {
  .footer-grid-layout {
    grid-template-columns: repeat(3, 1fr);
  }
}
/*  */

.max-w-850 {
  max-width: 53.125rem;
}
.pt-104 {
  padding-block-start: 104px;
}
.pb-100 {
  padding-block-end: 100px;
}
.py-3xl {
  padding-block: 6.5rem;
}
.cmp-olist--item {
  margin-bottom: 0.9375rem;
}

@media screen and (min-width: 48rem) {
  .py-3xl {
    padding-block: 9.5rem;
  }
  .pt-md-72 {
    padding-block-start: 72px;
  }
  .pt-md-152 {
    padding-block-start: 152px;
  }
}

@media screen and (max-width: 48rem) {
  h1,
  .h1 {
    font-size: 2.5rem;
  }
  h2,
  .h2 {
    font-size: 2rem;
  }
  h3,
  .h3 {
    font-size: 1.5rem;
  }
  h4,
  .h4 {
    font-size: 1.125rem;
  }
  h5,
  .h5 {
    font-size: 1rem;
  }
  .text-body-l {
    font-size: 24px;
  }
  .text-body {
    font-size: 16px;
  }
  .text-xs {
    font-size: 14px;
  }
  .lead {
    font-size: 1.5rem;
  }
}

.hero-banner-full {
  padding-block: 200px;
}

@media screen and (min-width: 48rem) {
  .hero-banner-full {
    min-height: 100vh;
  }
}

.block-language > ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px;
}

.block-language > ul > li:not(:first-child):before {
  content: "/";
  margin-inline-end: 2px;
}
.block-language > ul > li a.language-link.is-active {
  color: var(--primary-color);
}

header .block-language > ul {
  background-color: var(--light-gray);
  border-radius: 2.875rem;
  padding: 0.3125rem 0.375rem;
}

header .block-language > ul > li:not(:first-child):before {
  content: none;
}
header .block-language > ul > li a.language-link {
  font-size: 0.9375rem;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  color: var(--primary-color);
  text-decoration: none;
}
header .block-language > ul > li a.language-link:hover,
header .block-language > ul > li a.language-link.is-active {
  background-color: var(--primary-color);
  color: #ffffff;
}

body.path-user:not(.user-logged-in) main > .container {
  max-width: 600px;
}
/*  */
.block-views-blockpeople-list-block-1 > h2 {
  margin-bottom: 52px;
}
.node--type-people.node--view-mode-teaser .field--name-field-media-image img {
  display: block;
  width: 100%;
  aspect-ratio: 296/202;
  object-fit: cover;
  object-position: center;
}
/*  */
.list-news-inline > .view-content {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.d-inline-news {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 1rem;
  color: var(--bs-body-color);
  background-color: var(--light-gray);
  padding: 1rem 1.5rem;
  border-radius: 1rem;
  font-size: 1rem;
  text-decoration: none;
}
.d-inline-news .d-inline-news__title {
  font-size: inherit;
  font-weight: normal;
  flex: 1;
}
.d-inline-news .d-inline-news__title a {
  color: inherit;
}
.d-inline-news .d-inline-news__title a:hover {
  color: var(--primary-color);
}
.d-inline-news .d-inline-news-info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
}
.d-inline-news .d-inline-news-info .d-inline-news-date {
  font-weight: 500;
}

.d-inline-news .d-inline-news-info {
  column-gap: 2.5rem;
}
.d-inline-news .d-inline-news-info .d-inline-news-type > div {
  padding: 5px 10px;
  background-color: #00a0e9;
  text-align: center;
  min-width: 9.375rem;
  color: white;
}
.d-inline-news .d-inline-news-info .d-inline-news-type > div a {
  color: white;
}
.d-inline-news .d-inline-news-info .d-inline-news-type.news-type-1 > div {
  background-color: #00a0e9;
}
.d-inline-news .d-inline-news-info .d-inline-news-type.news-type-2 > div {
  background-color: #829daa;
}
.d-inline-news .d-inline-news-info .d-inline-news-type.news-type-3 > div {
  background-color: #004767;
}
.d-inline-news .d-inline-news-info .d-inline-news-type.news-type-4 > div {
  background-color: #1c8467;
}
.d-inline-news .d-inline-news-categories a {
  text-align: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  padding: 2px 25px;
  border: 2px solid;
  border-radius: 46px;
  background-color: transparent;
  color: var(--primary-color);
  min-width: 144px;
  text-decoration: none;
  position: relative;
  display: inline-block;
  transition: all 0.3s ease;
  overflow: hidden;
  cursor: pointer;
  z-index: 1;
}
.d-inline-news .d-inline-news-categories a:hover {
  color: #fff;
  border-color: var(--primary-color);
}
.d-inline-news .d-inline-news-categories a::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background-color: #009fdf;
  transition: left 0.3s ease;
  z-index: -1;
}
.d-inline-news .d-inline-news-categories a:hover::before {
  left: 0;
}
.d-inline-news .d-inline-news-file {
  white-space: nowrap;
  text-decoration: none;
  min-width: 170px;
}
.d-inline-news .d-inline-news-file span {
  color: var(--bs-body-color);
}
@media screen and (min-width: 991px) {
  .d-inline-news {
    align-items: center;
    flex-direction: row;
    column-gap: 2rem;
  }
  .d-inline-news .d-inline-news-info {
    flex-wrap: nowrap;
  }
}

.list-filter-inline {
  margin-bottom: 52px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 1rem;
  column-gap: 1.5625rem;
}
.list-filter-inline > .view-header {
  font-size: 1rem;
}
.list-filter-inline > .view-content {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.list-filter-inline > .view-content a {
  padding: 0.375rem 1.0625rem;
  display: inline-block;
  border-radius: 3.125rem;
  background-color: var(--light-gray);
  font-weight: 500;
  font-size: 1rem;
  text-decoration: none;
  color: inherit;
}
.list-filter-inline > .view-content a:hover {
  background-color: var(--primary-color);
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .list-filter-inline {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
  }
}

/*  */
.btn-global-region {
  display: inline-block;
  font-size: 1rem;
  font-weight: 500;
  padding: 0.6875rem 1.6875rem;
  border-radius: 1.875rem;
  background-color: var(--light-gray);
  color: var(--bs-body-color);
  text-decoration: none;
  cursor: pointer;
}
.btn-global-region:hover {
  color: #ffffff;
  background-color: #000000;
}
.global-map {
  max-width: 75rem;
  margin-inline: auto;
}
.global-map .btn-global-region[data-filter-region="1"] {
  position: absolute;
  top: 33.59%;
  left: 1.83%;
}
.global-map .btn-global-region[data-filter-region="2"] {
  position: absolute;
  top: 74.4%;
  left: 19.29%;
}
.global-map .btn-global-region[data-filter-region="3"] {
  position: absolute;
  top: 33.59%;
  left: 38.5%;
}
.global-map .btn-global-region[data-filter-region="4"] {
  position: absolute;
  top: 37.2%;
  left: 64.5%;
}
.global-map .btn-global-region[data-filter-region="5"] {
  position: absolute;
  top: 21.1%;
  left: 73.833%;
}
.global-map .btn-global-region[data-filter-region="6"] {
  position: absolute;
  top: 59.9%;
  left: 84.3%;
}
.global-map .btn-global-region[data-filter-region="7"] {
  position: absolute;
  top: 75.96%;
  left: 84.5%;
}

/*  */
.global-reach-wrap {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}
.global-reach-filters {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}
.global-reach-filter {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
  column-gap: 1.5rem;
  align-items: flex-start;
}
.global-reach-filter .global-reach-filter__label {
  min-width: min(100%, 5rem);
}
.btn-filter {
  display: inline-block;
  font-size: 1rem;
  font-weight: 500;
  padding: 0.5rem 1.5rem;
  background-color: var(--light-gray);
  line-height: 1.5;
  border-radius: 3.125rem;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
}
.btn-filter:hover,
.btn-filter.active {
  background-color: var(--primary-color);
  color: #ffffff;
}
.external-link {
  display: inline-flex;
  gap: 1rem;
  align-items: center;
  padding: 0.25rem 0.5rem;
  font-size: 1rem;
  font-weight: 500;
  color: var(--primary-color);
  border-radius: 0.25rem;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
}
.external-link:after {
  content: "";
  width: 0.8125rem;
  height: 0.8125rem;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iMTEiIHZpZXdCb3g9IjAgMCAxMSAxMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTExIDFDMTEgMC40NDc3MTUgMTAuNTUyMyAtOS42Mjk3M2UtMDggMTAgLTkuNjI5NzNlLTA4SDFDMC40NDc3MTYgLTkuNjI5NzNlLTA4IDIuODQ1NTRlLTA3IDAuNDQ3NzE1IDIuODQ1NTRlLTA3IDFDMi44NDU1NGUtMDcgMS41NTIyOCAwLjQ0NzcxNiAyIDEgMkg5VjEwQzkgMTAuNTUyMyA5LjQ0NzcyIDExIDEwIDExQzEwLjU1MjMgMTEgMTEgMTAuNTUyMyAxMSAxMFYxWk0xIDEwTDEuNzA3MTEgMTAuNzA3MUwxMC43MDcxIDEuNzA3MTFMMTAgMUw5LjI5Mjg5IDAuMjkyODkzTDAuMjkyODkzIDkuMjkyODlMMSAxMFoiIGZpbGw9IiMwMDlGREYiLz4KPC9zdmc+Cg==");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.external-link:hover {
  background-color: #b7dfef;
}
.btn-tag {
  display: inline-block;
  padding: 0.25rem 1rem;
  border-radius: 2.5rem;
  background-color: #ffffff;
  color: var(--primary-color);
  line-height: 1.5;
  font-size: 1rem;
}
.global-reach-result .global-reach-result-group {
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}
.global-reach-result .global-reach-result-group:not(:first-child) {
  margin-top: 3.5rem;
  padding-top: 3.5rem;
  border-top: 1px solid #b8b8b8;
}
.brand-teaser-item {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  column-gap: 2.25rem;
  row-gap: 1.5rem;
  align-items: flex-start;
}
.brand-teaser-item .brand-teaser__media {
  width: min(100%, 11.75rem);
  aspect-ratio: 1;
  position: relative;
  border-radius: 1rem;
}
.brand-teaser-item .brand-teaser__media img {
  width: 100%;
  object-fit: cover;
  object-position: center;
}
.global-reach-result-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .brand-teaser-item {
    flex-direction: row;
    align-items: center;
  }
  .global-reach-filter {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .global-reach-result-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
  .global-reach-filter .global-reach-filter__label {
    line-height: 2.5;
  }
  .global-reach-filter .global-reach-filter__items {
    flex: 1;
  }
}
@media screen and (min-width: 992px) {
  .global-reach-result-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.125rem;
  }
}

.hide-feed-icons .feed-icons {
  display: none;
}


body.path-taxonomy .list-ir-lib-grid {
  margin-top: clamp(50px,10.13vw,152px)
}
