.elementor-kit-6{--e-global-color-primary:#004097;--e-global-color-secondary:#FFFFFF;--e-global-color-text:#343434;--e-global-color-accent:#0071BC;--e-global-color-7aafff8:#29ABE2;--e-global-typography-primary-font-family:"Noto Sans JP";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Noto Sans JP";--e-global-typography-text-font-size:0.9rem;--e-global-typography-text-font-weight:500;--e-global-typography-text-line-height:2em;--e-global-typography-accent-font-family:"Noto Sans JP";--e-global-typography-accent-font-size:0.8rem;--e-global-typography-accent-font-weight:500;--e-page-transition-entrance-animation:e-page-transition-fade-out;--e-page-transition-animation-duration:1500ms;--e-preloader-animation-duration:1500ms;--e-preloader-delay:0ms;--e-preloader-width:100%;--e-preloader-max-width:110px;}.elementor-kit-6 e-page-transition{background-color:#FFFFFF;}.elementor-kit-6 img{border-radius:5px 5px 5px 5px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-text-font-size:0.8rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */html{ overflow-x:hidden;}
body{ overflow-x:hidden;}

.elementor-nav-menu .elementor-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start;
  white-space: normal !important;
  line-height: 1.2 !important;
  padding-top: 0.5em !important; 
  padding-bottom: 0.5em !important;
  transition: color 0.3s ease, opacity 0.3s ease !important;
}

.elementor-nav-menu .elementor-item:hover,
.elementor-nav-menu .elementor-item:focus,
.elementor-nav-menu .elementor-item:active {
  padding-top: 0.5em !important;
  padding-bottom: 0.5em !important;
  line-height: 1.2 !important;
}

.elementor-nav-menu .menu-main,
.elementor-nav-menu .menu-sub {
  display: block;
}

.elementor-nav-menu .menu-main {
  font-size: 2rem;
  font-weight: 700;
}

.elementor-nav-menu .menu-sub {
  font-size: 0.8rem;
  font-weight: 700;
  opacity: 0.85;
  margin-top: 0.15em;
  color:#004098;
}

.elementor-nav-menu a:hover .menu-sub,
.elementor-nav-menu .current-menu-item .menu-sub {
  opacity: 1;
}

.menuitem-border li {
  position: relative;
  border-left: none; 
}

.menuitem-border li:not(:first-child)::before {
  content: "";
  position: absolute;
  left: 0; 
  top: 50%; 
  transform: translateY(-50%) skewX(150deg); 
  width: 1px; 
  height: 16px; 
  background-color: #004098; 
}

.gms{font-size:0.7rem; padding-left:0.7rem; font-weight:500;}
.pc{display:block;} 
.sp{display:none;} 

@media (max-width: 767px) {

  .elementor-nav-menu .elementor-item {
    padding-top: 0.9em !important;
    padding-bottom: 0.8em !important;
    line-height: 1.3 !important;
    min-height: 3.2em; 
  }

  .elementor-nav-menu .elementor-item:hover,
  .elementor-nav-menu .elementor-item:focus,
  .elementor-nav-menu .elementor-item:active {
    padding-top: 0.9em !important;
    padding-bottom: 0.8em !important;
    line-height: 1.3 !important;
  }

  .elementor-nav-menu .menu-main {
    font-size: 1.3rem;
    font-weight: 700;
    letter-spacing: 0.02em; 
  }

  .elementor-nav-menu .menu-sub {
    font-size: 0.75rem;
    margin-top: 0.2em;
    line-height: 1.4;
  }

  .menuitem-border li::before {
    display: none !important;
  }

  .menuitem-border li {
    border-bottom: 1px solid #e5e5e5;
  }

  .menuitem-border li:last-child {
    border-bottom: none;
  }

  .elementor-nav-menu a {
    display: block;
    width: 100%;
  }

  .gms {
    font-size: 0.75rem;
    padding-left: 0;
  }
    
  .pc{display:none;} 
  .sp{display:block;} 
}/* End custom CSS */