:root {
  --theme-main-color: #4d6b34;
  --text-default-color: #000000;
  /* Logo Green Light */
  --green-light-1: #7f8679;
  --green-light-2: #939c8c;
  --green-light-3: #a9b2a1;
  --green-light-4: #bdc8b5;
  --green-light-5: #d3dfc9;
  --green-light-6: #dce5d4;
  --green-light-7: #e5ecdf;
  --green-light-8: #edf2e9;
  --green-light-9: #f6f9f4;

  /* Logo Green Medium */
  --green-medium-1: #667359;
  --green-medium-2: #778568;
  --green-medium-3: #889977;
  --green-medium-4: #99ac86;
  --green-medium-5: #aabf95;
  --green-medium-6: #bbcdaa;
  --green-medium-7: #ccd9bf;
  --green-medium-8: #dde5d5;
  --green-medium-9: #eef2ea;

  /* Logo Green Dark */
  --green-dark-1: #222f17;
  --green-dark-2: #2e411f;
  --green-dark-3: #3d5429;
  --green-dark-4: #4d6b34;
  --green-dark-5: #739751;
  --green-dark-6: #8fac74;
  --green-dark-7: #abc197;
  --green-dark-8: #c7d5b9;
  --green-dark-9: #e3eadc;

  /* Logo Dark Grey / Olive */
  --dark-grey-1: #293017;
  --dark-grey-2: #2f381b;
  --dark-grey-3: #36401e;
  --dark-grey-4: #3d4822;
  --dark-grey-5: #445026;
  --dark-grey-6: #697351;
  --dark-grey-7: #8f967d;
  --dark-grey-8: #b4b9a8;
  --dark-grey-9: #dadcd4;

  /* Swatches from Map */
  --map-brown-dark: #57411f;
  --map-orange: #b97031;
  --map-beige: #baac88;
  --map-olive: #7b8350;
  --map-light-green: #bec693;
  --map-light-beige: #cfd2a9;
  --map-cream: #f7f8e8;
  --map-grey: #5f686e;

  --swiper-navigation-bg: rgb(0, 0, 0, 0.6);
  --swiper-navigation-color: #aabf95;
}
html {
  font-size: 16px;
}
body {
  font-family: noto-sans, sans-serif;
  font-size: 1rem;
  color: var(--text-default-color);
  line-height: 2;
  font-weight: 300;
}

html[lang="ja"] body {
  font-family: noto-sans-cjk-jp, sans-serif;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
button,
.elementor-button {
  font-family: trajan-pro-3, serif;
}

html[lang="ja"] h1,
html[lang="ja"] h2,
html[lang="ja"] h3,
html[lang="ja"] h4,
html[lang="ja"] h5,
html[lang="ja"] h6,
html[lang="ja"] button,
html[lang="ja"] .elementor-button {
  font-family: hiragino-mincho-pron, sans-serif;
}

.font-trajan-pro,
.font-trajan-pro h1,
.font-trajan-pro h2,
.font-trajan-pro h3,
.font-trajan-pro h4,
.font-trajan-pro h5,
.font-trajan-pro h6,
.font-trajan-pro button,
.font-trajan-pro .elementor-button {
  font-family: trajan-pro-3, serif !important;
}

p {
  margin-block-end: 0.5em;
}
p:last-child {
  margin-bottom: 0;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  font-weight: 400;
  line-height: 1.2;
}

h1,
.h1 {
  font-size: clamp(2rem, 2.9167vw, 2.625rem);
  line-height: 1.5 !important;
  text-transform: uppercase;
}

h2,
.h2 {
  font-size: clamp(1.75rem, 2.5vw, 2.25rem);
}

h3,
.h3 {
  font-size: clamp(1.5rem, 2.222vw, 2rem);
}

h4,
.h4 {
  font-size: clamp(1.25rem, 2.083vw, 1.875rem);
}

h5,
.h5 {
  font-size: clamp(1.125rem, 1.667vw, 1.5rem);
}

h6,
.h6 {
  font-size: 0.9375rem;
}

.text-lg {
  font-size: clamp(1.0625rem, 1.0995vw, 1.1875rem);
  line-height: 1.3;
}

.text-base {
  font-size: 1rem;
  line-height: 1.3;
}

.text-sm {
  font-size: 0.875rem;
}

.text-tiny {
  font-size: 0.75rem;
}

.px-5 {
  padding-inline: 1.25rem !important;
}
.text-black {
  color: #000000;
}
.text-white,
.text-white h1,
.text-white h2,
.text-white h3,
.text-white h4,
.text-white h5,
.text-white h6 {
  color: #ffffff !important;
}
.flex-1 {
  flex: 1 !important;
}
.w-full {
  width: 100%;
}
.h-full {
  height: 100%;
}

.w-full.elementor-widget-image a,
.w-full.elementor-widget-image img {
  width: 100% !important;
}
.h-full.elementor-widget-image a,
.h-full.elementor-widget-image img {
  height: 100% !important;
}
/*  */

.elementor-heading-title {
  line-height: 1.2;
}

.elementor-icon-wrapper {
  line-height: 1;
}

.elementor-menu-toggle {
  padding: 0;
  height: unset;
  line-height: 0;
}
span.elementor-menu-toggle__icon--close,
span.elementor-menu-toggle__icon--open {
  line-height: 0;
}
.elementor-widget-text-editor ul {
  list-style: none;
  padding-left: 1.25rem;
}
.elementor-widget-text-editor ul li::before {
  content: "•";
  margin-right: 0.5rem;
}
.smart-header {
  transition: transform 0.3s ease;
}

.smart-header.hide-header {
  transform: translateY(-100%);
}
.header-wrap .elementor-nav-menu--dropdown ul.elementor-nav-menu {
  padding-block: 2rem;
}
.header-wrap .elementor-nav-menu--dropdown ul.elementor-nav-menu .elementor-item {
  font-size: 1.5rem !important;
  padding: 0;
  line-height: 2;
  justify-content: center;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
}

.header-wrap .elementor-nav-menu--dropdown ul.elementor-nav-menu > .menu-item {
  padding-inline: 1.25rem;
}
.header-wrap .elementor-nav-menu--dropdown ul.elementor-nav-menu .elementor-item:hover,
.header-wrap .elementor-nav-menu--dropdown ul.elementor-nav-menu .elementor-item.elementor-item-active {
  border-color: #baac88;
}

.swiper-pagination-bullet {
  border: 1px solid var(--swiper-navigation-color) !important;
  opacity: 1 !important;
}
.swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
  background-color: transparent !important;
}
.swiper .swiper-slide figure {
  line-height: 1 !important;
}
.elementor-element .swiper .swiper-image-stretch .swiper-slide .swiper-slide-image {
  display: block;
}
.carousel-offset-right {
  padding-inline-start: max(20px, (50vw - 40.29rem)) !important;
}
.carousel-offset-right > .offset-right {
  padding-inline-end: max(20px, (50vw - 40.29rem)) !important;
}
.carousel-offset-left {
  padding-inline-end: max(20px, (50vw - 40.29rem)) !important;
}
.carousel-offset-left > .offset-let {
  padding-inline-start: max(20px, (50vw - 40.29rem)) !important;
}
@media (min-width: 1601px) {
  .carousel-offset-right {
    padding-inline-start: 20px !important;
  }
  .carousel-offset-right > .offset-right {
    padding-inline-end: 20px !important;
  }
  .carousel-offset-left {
    padding-inline-end: 20px !important;
  }
  .carousel-offset-left > .offset-let {
    padding-inline-start: 20px !important;
  }
}
.elementor-element .swiper .elementor-swiper-button,
.elementor-element .swiper ~ .elementor-swiper-button {
  top: unset !important;
  bottom: -11px !important;
  width: 32px;
  height: 32px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.swiper-pagination {
  width: auto !important;
  max-width: calc(100% - 80px);
  white-space: nowrap;
  overflow: hidden;
  left: 50% !important;
  transform: translateX(-50%);
  height: 2rem !important;
}

.elementor-element .swiper .elementor-swiper-button-prev,
.elementor-element .swiper ~ .elementor-swiper-button-prev {
  right: calc(50% + var(--swiper-pagination-half, 5rem)) !important;
  color: var(--swiper-navigation-color) !important;
  left: unset !important;
}
.elementor-element .swiper .elementor-swiper-button-next,
.elementor-element .swiper ~ .elementor-swiper-button-next {
  left: calc(50% + var(--swiper-pagination-half, 5rem)) !important;
  color: var(--swiper-navigation-color) !important;
}

.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--swiper-navigation-color) !important;
}

.swiper-pagination::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--swiper-navigation-bg);
  z-index: 0;
}
.swiper-pagination .swiper-pagination-bullet {
  position: relative;
}
.elementor-element.elementor-widget-n-carousel .swiper-pagination {
  display: flex;
  align-items: center;
  bottom: -27px !important;
  top: unset;
}

.elementor-element.elementor-widget-n-carousel .swiper-pagination .swiper-pagination-bullet {
  min-width: 12px;
}

.elementor-element .swiper .elementor-swiper-button-prev:before,
.elementor-element.elementor-widget-n-carousel .elementor-swiper-button-prev:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--swiper-navigation-bg);
  z-index: 0;
}

.elementor-element .swiper .elementor-swiper-button-next:before,
.elementor-element.elementor-widget-n-carousel .elementor-swiper-button-next:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  background: var(--swiper-navigation-bg);
  z-index: 0;
}
.elementor-element .swiper .elementor-swiper-button-prev > *,
.elementor-element.elementor-widget-n-carousel .elementor-swiper-button-prev > *,
.elementor-element .swiper .elementor-swiper-button-next > *,
.elementor-element.elementor-widget-n-carousel .elementor-swiper-button-next > * {
  position: relative;
}
.elementor-element .swiper .elementor-swiper-button-prev > svg,
.elementor-element.elementor-widget-n-carousel .elementor-swiper-button-prev > svg,
.elementor-element .swiper .elementor-swiper-button-next > svg,
.elementor-element.elementor-widget-n-carousel .elementor-swiper-button-next > svg {
  font-size: 20px;
}
/*  */
.swiper-slider-style-2.elementor-element .swiper .elementor-swiper-button,
.swiper-slider-style-2.elementor-element .swiper ~ .elementor-swiper-button {
  top: unset !important;
  bottom: 0.375rem !important;
}
.elementor-element.swiper-slider-style-2 .swiper-pagination {
  max-width: 10rem;
  bottom: -41px !important;
}
.elementor-element.swiper-slider-style-2 .swiper-pagination:before {
  content: none !important;
}
.swiper-slider-style-2.elementor-element .swiper .elementor-swiper-button-prev,
.swiper-slider-style-2.elementor-element .swiper ~ .elementor-swiper-button-prev {
  /* left: calc(50% - 8rem) !important; */
  transform: translatey(50%);
}
.swiper-slider-style-2.elementor-element .swiper .elementor-swiper-button-next,
.swiper-slider-style-2.elementor-element .swiper ~ .elementor-swiper-button-next {
  /* right: calc(50% - 8rem) !important; */
  transform: translatey(50%);
}

.elementor-element.swiper-slider-style-2 .elementor-swiper-button:before {
  content: none !important;
}

/*  */
.header-wrap .elementor-nav-menu--layout-horizontal ul.elementor-nav-menu .elementor-item {
  justify-content: center;
}
html[lang="en-US"] .header-wrap .elementor-nav-menu--layout-horizontal ul.elementor-nav-menu .elementor-item {
  min-width: clamp(5rem, 8.333vw, 7.5rem);
}
.header-wrap .elementor-nav-menu--layout-horizontal ul.elementor-nav-menu > li > .elementor-item {
  position: relative;
}
.header-wrap .elementor-nav-menu--layout-horizontal ul.elementor-nav-menu > li > .elementor-item:hover:before {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #baac88;
  position: absolute;
  left: 0;
  top: 0.5625rem;
}
.header-wrap .elementor-nav-menu--layout-horizontal ul.elementor-nav-menu > li > .elementor-item:hover:after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #baac88;
  position: absolute;
  left: 0;
  bottom: 0.5625rem;
}
.menu-2-cols ul.elementor-nav-menu.sm-vertical {
  columns: 2;
  gap: 1.625rem;
}
html[lang="en-US"] .menu-2-cols ul.elementor-nav-menu.sm-vertical {
  max-width: 23.5rem;
}

.trigger-popup-contact a {
  cursor: pointer;
}

.azubu-icon:hover {
  background-color: var(--green-medium-8);
}
.icon-link-wrap {
  gap: 1.75rem;
}
.icon-link-circle {
  width: 3.125rem;
  height: 3.125rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: var(--theme-main-color);
  /* border: 1px solid #dde5d5; */
}
.icon-link-circle a.elementor-icon {
  display: block;
}
.icon-link-circle svg {
  width: 1.5rem;
  height: 1.5rem;
  color: #f7f8e8;
}
@media (max-width: 880px) {
  .icon-link-circle {
    width: 2.34375rem;
    height: 2.34375rem;
  }
  .icon-link-circle svg {
    width: 1rem;
    height: 1rem;
  }
}
.icon-link-circle:hover {
  background-color: var(--green-medium-8);
}
.hero-banner-normal:before {
  top: 40%;
  height: 60%;
}

.link-hover-underline a:hover {
  text-decoration: underline;
}
/*  */
form fieldset {
  margin: 0;
  padding: 0;
  border: none;
}

.frm_combo_inputs_container,
.frm_grid_container,
.frm_form_fields .frm_section_heading,
.frm_form_fields .frm_fields_container {
  row-gap: 1rem !important;
}

.frm_fields_container .frm_primary_label {
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 0.5rem;
}

input[type="date"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="url"],
select,
textarea {
  background-color: #fff;
  border-radius: 0.5rem;
  border: 1px solid #aabf95;
  padding: 0.5rem 1rem;
  line-height: 1rem;
  height: 40px;
}

input[type="date"]::placeholder,
input[type="email"]::placeholder,
input[type="number"]::placeholder,
input[type="password"]::placeholder,
input[type="search"]::placeholder,
input[type="tel"]::placeholder,
input[type="text"]::placeholder,
input[type="url"]::placeholder,
select::placeholder,
textarea::placeholder {
  color: #bdc8b5;
}

.frm_submit {
  margin-top: 1.875rem;
  text-align: center;
}
.frm_submit .frm_button_submit {
  width: min(100%, 21.4375rem);
}
.frm_submit .frm_button_submit:hover {
  color: #000000;
}

.frm_error {
  color: red;
  margin-top: 5px;
}
.layout-timeline {
  border-left: 1px solid #bdc8b5;
}

.layout-timeline > div {
  position: relative;
  padding-left: clamp(1rem, 4.79vw, 4.3125rem);
}

.layout-timeline > div:before {
  content: "";
  display: block;
  width: 0.8125rem;
  height: 0.8125rem;
  border-radius: 50%;
  background-color: #aabf95;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-50%, 50%);
}

.side-content-left {
  padding: 3rem 1.25rem 3rem 1.25rem;
}
.side-content-right {
  padding: 3rem 1.25rem 3rem 1.25rem;
}
ul.marker-list {
  padding-left: 0;
}
ul.marker-list li::before {
  content: "●";
  color: var(--bullet-color);
}

@media (min-width: 768px) {
  .layout-timeline {
    margin-left: clamp(1rem, 4.79vw, 4.3125rem);
    width: calc(100% - clamp(1rem, 4.79vw, 4.3125rem));
  }
}
@media (min-width: 1440px) {
  .side-content-left {
    padding: 3rem clamp(1.25rem, 6.94vw, 6.25rem) 3rem 1.25rem;
  }
  .side-content-right {
    padding: 3rem 1.25rem 3rem clamp(1.25rem, 6.94vw, 6.25rem);
  }
}

@media (max-width: 460px) {
  .elementor-button {
    min-width: 100%;
  }
}
