@charset "UTF-8";
/* basic class */
.flex {
  display: flex;
  flex-wrap: wrap;
}

.flex-col {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
}

.contents {
  display: contents;
}

.container {
  width: min(100%, 1024px);
  padding: 0 10px;
  margin: 0 auto;
}

/* 基本サイトカラー */
/* breakpoints */
/* ヘッダー */
.box-container {
  width: 100% !important;
  margin-left: 0 !important;
}
.box-container .menu-container {
  width: 100% !important;
  background-color: #fff !important;
  border-top: 22px solid #003D81;
}
.box-container .menu-container:not(.menu-borders) .menu-sub-enhanced.menu-horizontal ul.menu-smart > li > ul:not(.uncode-woocommerce-sorting-dropdown) {
  z-index: 999 !important;
  top: 155% !important;
}
.box-container .menu-dark .menu-smart a {
  color: #333 !important;
}
.box-container .menu-dark .menu-smart a:hover {
  color: rgba(51, 51, 51, 0.8) !important;
}
@media screen and (max-width: 960px) {
  .box-container .menu-dark .menu-smart a:hover {
    color: rgba(255, 255, 255, 0.65) !important;
  }
}
@media screen and (max-width: 960px) {
  .box-container .menu-dark .menu-smart a {
    color: #fff !important;
  }
}
.box-container #menu-cta li:first-child {
  width: min(100%, 143px);
}
.box-container #menu-cta li:first-child a {
  width: 100%;
  height: 33px;
  border: 1px solid #1458A8;
  color: #1458A8 !important;
  font-weight: bold;
  justify-content: center;
  align-items: center;
  padding-right: 0;
}
.box-container #menu-cta li:first-child a:hover {
  opacity: 0.8;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  color: #1458A8;
}
@media screen and (max-width: 960px) {
  .box-container #menu-cta li:first-child a {
    padding: 0;
    background-color: #fff;
  }
}
@media screen and (max-width: 960px) {
  .box-container #menu-cta li:first-child a > i {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  .box-container #menu-cta li:first-child {
    width: min(100%, 223px);
  }
}
.box-container #menu-cta li:last-child {
  width: min(100%, 171px);
}
.box-container #menu-cta li:last-child a {
  width: 100%;
  background: linear-gradient(90deg, rgba(236, 106, 25, 0.7) 0%, rgb(236, 106, 25) 100%);
  height: 33px;
  color: #fff !important;
  font-weight: bold;
  justify-content: center;
  align-items: center;
  padding-left: 0;
}
.box-container #menu-cta li:last-child a:hover {
  opacity: 0.8;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  color: #fff;
}
@media screen and (max-width: 960px) {
  .box-container #menu-cta li:last-child a {
    padding: 0;
  }
}
@media screen and (max-width: 960px) {
  .box-container #menu-cta li:last-child a > i {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  .box-container #menu-cta li:last-child {
    width: min(100%, 223px);
  }
}
@media screen and (max-width: 960px) {
  .box-container #menu-cta {
    padding-left: 42px;
    display: flex;
    flex-direction: column;
    row-gap: 15px;
  }
}
.box-container .mobile-menu-button-dark .lines:not(.lines-dropdown) {
  background: #333;
}
.box-container .mobile-menu-button-dark .lines:not(.lines-dropdown)::before, .box-container .mobile-menu-button-dark .lines:not(.lines-dropdown)::after {
  background: #333;
}
.box-container .mobile-menu-button-dark .lines:not(.lines-dropdown) > span {
  background: #333;
}
@media screen and (max-width: 1280px) {
  .box-container .logo-container {
    min-width: 161px !important;
  }
}
.box-container #main-logo.process {
  position: relative;
}
.box-container #main-logo.process::after {
  content: "生産管理";
  width: 90px;
  height: 31px;
  background-color: #043B79;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: -97px;
  top: 11px;
}
@media screen and (max-width: 960px) {
  .box-container #main-logo .navbar-brand img {
    width: 161px;
    aspect-ratio: 216/48;
    height: auto;
  }
}
.box-container .single-h-padding#masthead .row-menu .row-menu-inner {
  width: min(100%, 1920px);
  margin: 0 auto;
  padding: 0 10px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1366px) {
  .box-container .single-h-padding#masthead .row-menu .row-menu-inner:has(#logo-container-mobile.shrinked) {
    padding: 15px 10px;
  }
}
.box-container .single-h-padding#masthead .row-menu .row-menu-inner .logo-container .main-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.box-container .single-h-padding#masthead .row-menu .row-menu-inner .logo-container .main-logo img {
  width: 161px;
  aspect-ratio: 9/2;
  height: auto;
  transition: all 0.3s;
}
.box-container .single-h-padding#masthead .row-menu .row-menu-inner .logo-container.shrinked .main-logo img {
  width: 94px;
}
.box-container .single-h-padding#masthead .row-menu .row-menu-inner .logo-container.shrinked #main-logo::after {
  height: 25px;
  top: 2px;
}
@media (min-width: 960px) {
  .box-container .single-h-padding#masthead .row-menu .row-menu-inner .col-lg-12 {
    height: initial;
  }
}
@media (min-width: 960px) {
  .box-container .single-h-padding#masthead .row-menu .row-menu-inner .col-lg-0 {
    height: initial;
  }
}
@media screen and (max-width: 960px) {
  .box-container .single-h-padding#masthead .row-menu .row-menu-inner {
    display: block;
    padding: 0;
  }
}
.box-container .main-menu-container .menu-horizontal-inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.box-container .main-menu-container .menu-horizontal-inner .menu-cta-inner {
  min-width: 380px;
}
@media screen and (max-width: 1024px) {
  .box-container .main-menu-container .menu-horizontal-inner {
    flex-direction: column-reverse;
    align-items: flex-end;
    row-gap: 15px;
  }
}
@media screen and (max-width: 960px) {
  .box-container .main-menu-container .menu-horizontal-inner {
    display: block;
  }
}
.box-container .main-menu-container .navbar-nav.navbar-main {
  width: 55%;
}
@media screen and (max-width: 1366px) {
  .box-container .main-menu-container .navbar-nav.navbar-main .menu-smart {
    text-align: right;
    padding-right: 0;
  }
}
@media screen and (max-width: 1280px) {
  .box-container .main-menu-container .navbar-nav.navbar-main .menu-smart {
    padding-left: 0;
  }
}
@media screen and (max-width: 960px) {
  .box-container .main-menu-container .navbar-nav.navbar-main .menu-smart {
    text-align: left;
  }
}
@media screen and (max-width: 960px) {
  .box-container .main-menu-container .navbar-nav.navbar-main {
    width: 100%;
  }
}
.box-container .main-menu-container .navbar-nav.navbar-cta {
  width: 55%;
}
.box-container .main-menu-container .navbar-nav.navbar-cta .menu-cta-inner {
  display: flex;
  justify-content: flex-end;
  column-gap: 30px;
}
@media screen and (max-width: 960px) {
  .box-container .main-menu-container .navbar-nav.navbar-cta {
    width: 100%;
  }
}
.box-container .submenu-dark .menu-sub-enhanced .menu-smart ul a {
  color: rgba(255, 255, 255, 0.65) !important;
}

/* フッター */
.footer {
  padding: 45px 0 35px;
  background-color: #ECF2FA;
}
.footer__inner {
  width: min(100%, 781px);
  margin: 0 auto;
}
.footer-contents {
  width: min(100%, 410px);
  margin: 0 auto;
}
.footer-contents__logo {
  width: min(100%, 166px);
  line-height: 1;
  margin-top: 0;
}
.footer-contents__line {
  width: 100%;
  height: 1px;
  background-color: #003C81;
}
.footer-contents-data {
  column-gap: 45px;
  margin-top: 15px;
}
.footer-contents-data--before {
  row-gap: 15px;
}
.footer-contents-data--before p {
  font-size: 10px;
  margin-top: 0;
}
.footer-contents-data--after {
  width: min(100%, 213px);
  row-gap: 15px;
}
.footer-contents-data--after a {
  font-size: 12px;
  max-width: 100%;
  height: 24px;
}
.footer-contents-data--after a:first-child {
  background-color: #F39800;
  color: #fff;
  font-weight: bold;
  border-radius: 8px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  letter-spacing: 0.1em;
  transition: all 0.3s;
}
.footer-contents-data--after a:first-child::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 0.5em;
  height: 0.5em;
  top: calc(50% - 0.5em / 2);
  top: calc(50% - 0.3em);
  right: 1.5em;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateX(-50%) rotate(45deg);
}
.footer-contents-data--after a:first-child:hover {
  opacity: 0.8;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  color: #fff;
}
.footer-contents-data--after a:not(:first-child) {
  background-color: transparent;
  color: #F39800;
  font-weight: bold;
  border-radius: 8px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #F39800;
  letter-spacing: 0.1em;
  transition: all 0.3s;
}
.footer-contents-data--after a:not(:first-child)::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 0.5em;
  height: 0.5em;
  top: calc(50% - 0.5em / 2);
  top: calc(50% - 0.3em);
  right: 1.5em;
  border-top: 2px solid #F39800;
  border-right: 2px solid #F39800;
  transform: translateX(-50%) rotate(45deg);
}
.footer-contents-data--after a:not(:first-child):hover {
  opacity: 0.8;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  color: #F39800;
}
@media screen and (max-width: 520px) {
  .footer-contents-data--after {
    width: min(100%, 360px);
    margin: 0 auto;
  }
}
@media screen and (max-width: 520px) {
  .footer-contents-data {
    flex-direction: column-reverse;
    row-gap: 20px;
    margin-top: 30px;
  }
}
@media screen and (max-width: 520px) {
  .footer-contents {
    width: 100%;
  }
}
.footer__copy {
  color: #44403F;
  font-size: 10px;
  display: block;
  text-align: right;
}
@media screen and (max-width: 520px) {
  .footer {
    padding: 45px 0 15px;
  }
}

/* ページトップへ戻るボタン */
.back-to-top {
  width: 33px;
  aspect-ratio: 1/1;
  background-color: #333;
  display: flex;
  justify-content: center;
  align-items: center;
}
.back-to-top div {
  color: #fff;
  width: 14px;
  height: 14px;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  transform: translateY(25%) rotate(-45deg);
}