@charset "utf-8";

@font-face {
  font-family: "Poppins";
  font-weight: 400;
  font-style: normal;
  src: url("../fonts/Poppins-Regular.ttf");
}

@font-face {
  font-family: "Poppins";
  font-weight: 500;
  font-style: normal;
  src: url("../fonts/Poppins-Medium.ttf");
}

@font-face {
  font-family: "Poppins";
  font-weight: 700;
  font-style: normal;
  src: url("../fonts/Poppins-Bold.ttf");
}

@font-face {
  font-family: "Pyidaungsu";
  font-weight: 400;
  font-style: normal;
  src: url("../fonts/Pyidaungsu-Regular.ttf");
}

@font-face {
  font-family: "Pyidaungsu";
  font-weight: 500;
  font-style: normal;
  src: url("../fonts/Pyidaungsu-Bold.ttf");
}

[lang="en"] body {
  margin: 0 auto;
  padding: 0;
  background: #ffffff;
  color: #000000;
  font-family: "Poppins";
  font-size: 15px;
  font-weight: 400;
  word-break: break-word;
  overflow-x: hidden;
  max-width: 1920px;
}

[lang="my"] body {
  margin: 0 auto;
  padding: 0;
  background: #ffffff;
  color: #000000;
  font-family: "Pyidaungsu";
  font-size: 16px;
  font-weight: 400;
  word-break: break-word;
  overflow-x: hidden;
  max-width: 1920px;
}

:lang(en) .nav-list li a {
  font-size: 15px;
}

:lang(my) .language {
  font-family: "Poppins";
  font-size: 15px;
}

.mm-text {
  font-family: "Pyidaungsu", serif !important;
}

.l-inner {
  width: 95%;
  margin: 0 auto;
  max-width: 1060px;
}

.clearfix:after {
  display: block;
  clear: both;
  height: 0px;
  visibility: hidden;
  font-size: 0px;
  content: "";
}

a {
  display: block;
  border: none;
  color: #000000;
  text-decoration: none;
  outline: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

a:hover {
  transition: 0.8s;
  -webkit-transition: 0.8s;
  opacity: 0.8;
}

img {
  max-width: 100%;
  height: auto;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

button {
  border: none;
  background: none;
  color: #000000;
  font-family: inherit;
  font-size: inherit;
  cursor: pointer;
}

/* Accessibility
------------------------------------------------------------- */

[aria-current="true"],
[aria-current="page"] {
  font-weight: bold;
}

/* loading
------------------------------------------------------------- */
.loader-wrap {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 9999;
  margin: auto;
  background-color: #ffffff;
  border-top: 3px solid #2dbb54;
}

.loader {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 90px;
  height: 100px;
  -webkit-transform: translate(-50%, -80%);
  transform: translate(-50%, -80%);
  border-radius: 50%;
}

.logo-txt {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: 55px;
  color: #2dbb54;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  border-right: 2px solid rgba(45, 187, 84, 0.75);
  border-left: 2px solid transparent;
}

.logo-txt {
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 1px;
}

.loader-wrap #biblogo {
  display: block;
  position: absolute;
  width: 100%;
  overflow: visible;
}

.cls-1,
.cls-2 {
  fill: none;
  stroke: #2dbb54;
  stroke-miterlimit: 10;
}

.cls-1 {
  stroke-width: 18.61px;
}

.cls-2 {
  stroke-width: 18.61px;
}

.circle {
  fill: #2dbb54;
}

svg .path {
  stroke-dasharray: 863.873291015625;
  stroke-dashoffset: 863.873291015625;
  stroke-linecap: round;
  animation: dash 0.8s ease-in-out;
  animation-delay: 1s;
  animation-fill-mode: forwards;
}

svg .path2 {
  stroke-dasharray: 863.873291015625;
  stroke-dashoffset: 863.873291015625;
  stroke-linecap: round;
  animation: dash 0.8s ease-in-out;
  animation-delay: 1.6s;
  animation-fill-mode: forwards;
}

svg .circle {
  transform-origin: center;
  opacity: 0;
  animation: circle 1.6s ease 2s normal forwards,
  circleScale 0.6s ease 3.4s forwards;
}

.txt-typeanim {
  width: 9em;
  overflow: hidden;
  text-align: center;
  white-space: nowrap;
  transition: all 1s ease;
  animation: typewriter 2s steps(30, end) 1 3.4s normal both,
  txtCursor 1s ease 6s normal both, txtFade 2s ease 2 6s normal none;
}


@keyframes typewriter {
  from {
    width: 0;
    visibility: hidden;
  }

  to {
    width: 9em;
    visibility: visible;
  }
}

@keyframes txtCursor {
  from {
    border-right-color: rgba(45, 187, 84, 0.75);
  }

  to {
    border-right-color: transparent;
  }
}

@keyframes txtFade {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes dash {
  from {
    stroke-width: 7.61px;
    stroke-dashoffset: 863.873291015625;
  }

  to {
    stroke-width: 18.61px;
    stroke-dashoffset: 0;
  }
}

@keyframes circle {
  0% {
    transform: translateY(40%) scale(0.3);
    opacity: 0;
  }

  50% {
    transform: translateY(-40%) scale(0.7);
    opacity: 1;
  }

  100% {
    transform: translateY(-10%) scale(0.7);
    opacity: 1;
  }
}

@keyframes circleScale {
  from {
    transform: translateY(-10%) scale(0.7);
    opacity: 1;
  }

  to {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
}


/* header
------------------------------------------------------------- */
header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  margin: 0 auto;
  background: url("../img/common/img_header_bg.png") no-repeat center/cover;
  border-top: 2px solid #2dbb54;
  max-width: 1920px;
}

.header h1 {
  width: 11%;
}

.header .nav-cnt {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 0 24px;
}

.header .nav-list {
  padding-top: 11px;
}

.header .nav-list .nav-menu {
  display: flex;
  gap: 25px;
  justify-content: flex-end;
}

@-moz-document url-prefix() {
  .header .nav-list {
    width: 81.5%;
  }
}

.nav-list li a {
  position: relative;
  line-height: 1.6;
  color: #ededed;
  font-size: 17px;
}

.nav-list li a:hover,
.nav-list li.active a {
  display: inline-block;
  color: #ffffff;
  opacity: 1;
}

.nav-list li.dropdown .dropdown-content li a:hover {
  display: block;
}

@supports (-webkit-hyphens: none) {
  .nav-menu li a {
    font-size: 14px;
  }
}

.nav-list li a::after,
.nav-list li.active a:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 0;
  background: #fff;
  content: "";
  -webkit-transition: width 0.3s;
  transition: width 0.3s;
}

.nav-list li a:hover::after,
.nav-list li.active a:after {
  width: 100%;
  height: 1px;
}

.nav-list li.dropdown .dropdown-content li a:hover::after {
  width: 95%;
  height: 1px;
}

.nav-list li.dropdown.active .dropdown-content a:after {
  width: 0;
}

.nav-list li:last-child {
  margin-right: 0;
}

.nav-list .nav-menu li:nth-child(3) {
  position: relative;
}

.dropdown{
  position: relative;
}

.dropdown p{
  line-height: 1.6;
  color: #ededed !important;
  font-size: 17px;
}

.dropdown::after {
  position: absolute;
  top: 12px;
  right: -15px;
  width: 8px;
  height: 5px;
  background: url("../img/common/ico_header_dropdown.png") no-repeat center/contain;
  content: "";
}

.dropdown-content {
  display: none;
  position: absolute;
  top: 25px;
  left: 0;
  width: 270px;
  padding: 6px 0;
  background-color: #30bc56;
}

.dropdown-content li {
  line-height: 1.8;
  margin-right: 0px !important;
}

.dropdown-content a {
  padding: 6px 14px;
}

.dropdown-content li::after {
  background-image: none;
}

.menu-ico {
  display: none;
}

/* mainvisual
------------------------------------------------------------- */
.main-visual {
  padding: 45px 0 105px;
}

.main-visual .mv-ttl h2 {
  width: 50%;
  letter-spacing: 1px;
}

/* Common Title
------------------------------------------------------------- */
.sec-ttl {
  font-size: 30px;
  font-weight: 700;
  text-align: center;
  text-transform: uppercase;
}

.sec-ttl::after {
  display: block;
  width: 104px;
  height: 5px;
  margin: 6px auto 0;
  background: url("../img/home/img_header_line.png") no-repeat center/100%;
  content: "";
}

.sec-package {
  margin: 90px 0;
}

.sec-package .sec-ttl {
  font-family: "Poppins", sans-serif;
}

.ttl-green {
  color: #67d686;
}

.ttl-green::after {
  background: url("../img/common/img_header_line_green.png") no-repeat center/100%;
}

.ttl-white {
  color: #fff;
}

.ttl-white::after {
  background: url("../img/common/img_header_line_white.png") no-repeat center/100%;
}

.ttl-black {
  line-height: 1.2;
  color: #000000;
  font-weight: 500;
  text-align: center;
}

.ttl-black::after {
  display: block;
  width: 90px;
  height: 3px;
  margin: 10px auto 0;
  background: url("../img/common/img_line_black.png") no-repeat center/100%;
  content: "";
}

.ttl-l {
  text-align: left;
}

.ttl-l::after {
  margin: 10px 0;
}

.title-desc {
  width: 100%;
  margin: 0 auto;
  padding: 19px 10px 14px;
  background: url(../img/common/img_ttl_bg.png) no-repeat center/contain;
  color: #2dbb54;
  font-family: "Poppins", sans-serif;
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  letter-spacing: 1px;
  text-transform: uppercase;
  max-width: 448px;
}

.cmn-ttl {
  margin: 50px auto;
}

/* button
-------------------------------------------------------------- */
.btn {
  border: 1px solid #2dbb54;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.2);
  background-color: #ffffff;
  color: #2dbb54;
}

.btn:hover {
  background-color: #2dbb54;
  color: #ffffff;
}

.cmn-btn {
  position: relative;
  width: 173px;
  line-height: 1.2;
  margin: 0 auto;
  padding: 10px 25px;
  text-align: left;
}

.cmn-btn::after,
.cmn-btn:hover:after {
  position: absolute;
  top: 50%;
  right: 14px;
  width: 20px;
  height: 21px;
  content: "";
  transform: translateY(-50%);
}

.cmn-btn::after {
  background: url("../img/home/ico_btn_right_arrow.png") no-repeat center/contain;
}

.cmn-btn:hover::after {
  background: url("../img/home/ico_btn_right_whitearrow.png") no-repeat center/contain;
}

/* breadcrumb
-------------------------------------------------- */
.breadcrumb {
  background-color: #f3fcf7;
}

.breadcrumb ul {
  padding: 10px 0;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.breadcrumb ul li {
  position: relative;
  line-height: 2.1;
  padding: 0 20px;
  font-size: 13px;
}

.breadcrumb ul li:first-child {
  padding-left: 0;
}

.breadcrumb ul li a:hover {
  color: #2dbb54;
}

.breadcrumb ul li:first-child img {
  vertical-align: middle;
}

.breadcrumb ul li:last-child {
  color: #2dbb54;
}

.breadcrumb ul li:last-child::before {
  content: "";
}

.breadcrumb ul li::before {
  position: absolute;
  top: 50%;
  right: -4px;
  color: #5d5d5d;
  font-size: 18px;
  content: "/";
  transform: translateY(-50%);
}

/* system common
-------------------------------------------- */
.system-ttl {
  position: relative;
  padding-bottom: 9px;
  font-size: 23px;
  font-weight: 700;
  letter-spacing: -0.2px;
}

.system-ttl:after,
.pos-ttl:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 70px;
  height: 1px;
  background-color: #2dbb54;
  content: "";
}

.eng-ttl {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
}

.system-list li {
  position: relative;
  line-height: 1.8;
  padding: 0 0 28px 27px;
  color: #606060;
}

.system-list li:before {
  position: absolute;
  top: 7px;
  left: 0;
  width: 16px;
  height: 16px;
  background: url(../img/common/ico_system.png) no-repeat center/100%;
  content: "";
}

.sec-package .system {
  /* display: flex;
  justify-content: space-between; */
  margin-bottom: 83px;
  padding: 51px 0px 49px 0px;
  border-bottom: 1px solid #2dbb54;
}

.pos-ttl {
  position: relative;
  line-height: 1.5;
  margin: 0 auto;
  font-family: "Poppins", sans-serif;
  font-size: 23px;
  font-weight: 600;
  text-align: center;
}

.pos-ttl:after {
  bottom: -3%;
  left: 50%;
  transform: translateX(-50%);
}

/* BIB Softwares
--------------------------------------------------------- */
.sec-bib-software .bib-soft-left {
  position: relative;
  width: 56%;
  padding: 56px 0 48px;
}

.sec-bib-software .l-inner {
  display: flex;
}

.sec-bib-software .bib-services-ttl {
  display: inline-block;
  padding-bottom: 26px;
  font-size: 20px;
}

.sec-bib-software .bib-services-ttl span {
  display: inline-block;
  padding: 6px;
}

.sec-bib-software .bib-services-ttl img {
  max-width: 187px;
}

.sec-bib-software .bib-services-list li span {
  color: #000000;
  font-size: 18px;
  font-weight: 500;
}

.sec-bib-software .bib-services-list {
  padding: 0 4px;
}

.sec-bib-software .bib-services-list li {
  position: relative;
  line-height: 2.42;
  padding: 0 30px;
  color: #606060;
}

.sec-bib-software .bib-services-list li::before {
  position: absolute;
  top: 10px;
  left: 0;
  width: 16px;
  height: 19px;
  background: url("../img/pos-system/ico_bib.png") no-repeat center/contain;
  content: "";
}

.sec-bib-software .support-local {
  position: absolute;
  top: 18.5%;
  right: 0;
}

.sec-bib-software .support-local img {
  max-width: 300px;
}

.sec-bib-software .bib-soft-right {
  width: 43.1%;
}

.sec-bib-software .bib-soft-right img {
  max-width: 456px;
}

/* Footer
--------------------------------------------------------------- */
.footer {
  padding-top: 58px;
  background: url("../img/common/img_footer_bg.jpg") no-repeat center/cover;
}

.footer .footer-list h2 {
  margin-bottom: 30px;
  padding-bottom: 8px;
  color: #ffffff;
  font-size: 25px;
  font-weight: 500;
  border-bottom: 1px solid #ffffff;
}


.footer .footer-list:nth-child(1) h2 {
  padding-bottom: 0;
  border-bottom: none;
}

.footer-top {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.footer-top.item {
  flex: 1 1 33.33%;
}

.footer ul li {
  position: relative;
  line-height: 1.9;
  margin-bottom: 11px;
  padding: 4px 0 4px 41px;
  color: #ffffff;
}

.footer ul li.mail-item {
  margin-bottom: 16px;
  padding: 9px 0 4px 46px;
}

.footer ul li:last-child {
  margin-bottom: 0;
  padding: 2px 0 0 46px;
}

.footer .ph-item::before,
.footer .mail-item:before,
.footer .loc-item:before {
  position: absolute;
  left: 0px;
  content: "";
}

.footer .ph-item:before {
  top: 12px;
  width: 28px;
  height: 28px;
  background: url(../img/common/ico_footer_phone.png) no-repeat center/contain;
  transform: translate(0%, -33%);
}

.footer .ph-item:hover:before {
  background: url("../img/common/ico_footer_phone_hover.png") no-repeat center/contain;
}

.footer .mail-item:before {
  top: 25%;
  width: 23px;
  height: 23px;
  background: url("../img/common/ico_footer_mail.png") no-repeat center/contain;
  transform: translate(0%, -30%);
}

.footer .mail-item:hover:before {
  background: url("../img/common/ico_footer_mail_hover.png") no-repeat center/contain;
}

.footer .loc-item:before {
  top: 15%;
  width: 14px;
  height: 22px;
  background: url("../img/common/ico_footer_location.png") no-repeat center/contain;
  transform: translate(30%, -30%);
}

.footer .loc-item:hover:before {
  background: url("../img/common/ico_footer_location_hover.png") no-repeat center/contain;
}

.footer .ph-item p {
  line-height: 1.8;
}

.footer .ph-item p {
  display: flex;
  align-items: flex-start;
}

.footer .ph-item p .ph-ttl {
  width: 60px;
  flex-shrink: 0;
}

.footer .ph-item p .number {
  flex: 1;
}

.footer .ph-item p .number {
  position: relative;
  width: 80%;
  padding-left: 2%;
}

.footer .ph-item p .number::before {
  position: absolute;
  top: 10px;
  left: 0;
  width: 6px;
  height: 10px;
  background: url(../img/common/ico_ft_arrow.png) no-repeat center/cover;
  content: "";
}

.footer .ph-item p .number:hover::before {
  background: url(../img/common/ico_ft_arrow_hover.png) no-repeat center/cover;
}

.footer .menu-item li,
.footer .menu-item li:last-child {
  margin-bottom: 5px;
  padding: 0 0 0 30px;
}

.footer .menu-item li a:before,
.footer .menu-item li .footer-txt:before {
  position: absolute;
  top: 25%;
  left: -28px;
  width: 9px;
  height: 9px;
  background: url("../img/common/ico_dott.png") no-repeat center/contain;
  content: "";
}

.footer .menu-item li a:hover:before {
  background: url("../img/common/ico_dott_hover.png") no-repeat center/contain;
}

.footer ul li a,
.footer ul li .footer-txt {
  display: inline-block;
  position: relative;
  line-height: 1.5;
  color: #ffffff;
}

.footer ul .loc-item a {
  line-height: 1.9;
}

.footer ul .ph-item a {
  padding-left: 5px;
}

.footer .footer-copyright {
  margin-top: 3px;
  background-color: #04992d;
}

.footer .footer-copyright p {
  line-height: 1.9;
  padding: 17px 61px;
  color: #ffffff;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  text-align: center;
  letter-spacing: -0.2px;
}

.footer .menu-item li:last-child {
  margin-bottom: 0;
}

.menu-item-list {
  display: flex;
  gap: 20px;
  padding-bottom: 30px;
}

.menu-item-list .menu-item {
  margin-top: -5px;
  text-wrap: nowrap;
}

.sub-menu-list {
  margin-top: 4px;
  margin-left: -13px;
}

.footer .sub-menu-list li {
  margin-bottom: 5px;
  padding: 0 0 0 8px;
}

.footer .sub-menu-list li:last-child {
  padding-left: 8px;
}

.footer .sub-menu-list li a::before {
  position: absolute;
  top: 4px;
  left: -14px;
  width: 6px;
  height: 10px;
  background: url("../img/common/ico_ft_arrow.png") no-repeat center/cover;
  content: "";
}

.footer .sub-menu-list li a:hover::before {
  background: url("../img/common/ico_ft_arrow_hover.png") no-repeat center/contain;
}


/* Page Top
------------------------------------------------------------- */
.page-top {
  display: none;
  position: fixed;
  right: 110px;
  bottom: 20px;
  z-index: 999;
}

.page-top .top-lnk {
  display: inline-block;
  position: relative;
}

.page-top .top-lnk::before {
  position: absolute;
  top: -14px;
  right: 0;
  left: 0;
  width: 22px;
  height: 22px;
  margin: 0 auto;
  background: url("../img/common/img_pagetop02.png") no-repeat center/cover;
  content: "";
  animation: jump 1.5s linear infinite;
}

@keyframes jump {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-15px);
  }
}

@-webkit-keyframes jump {
  0% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-15px);
  }
}

.page-top .top-lnk img {
  max-width: 54px;
}

.services-pos .system-ttl {
  margin-bottom: 43px;
  padding-bottom: 5px;
}

.services-pos .txt-blk {
  width: 50%;
  padding: 54px 28px;
}

.services-pos .services-txt-blk .system-list li {
  line-height: 1.95;
  padding: 0 0 30px 50px;
  font-size: 18px;
}

.services-pos .services-txt-blk .system-list li::before {
  top: 4px;
  width: 30px;
  height: 30px;
  background: url("../img/pos-system/ico_pos_system.png") no-repeat center/contain;
}

.services-pos .img-blk {
  width: 50%;
  padding: 0 10px 0 47px;
}

/* new-common */
.bc-common {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.bc-common .language .language-menu {
  cursor: pointer;
}

.bc-common .language .language-menu label {
  cursor: pointer;
}

.language {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}

.language .language-menu input[type="radio"] {
  visibility: hidden;
}

.language .language-menu label {
  color: #292626;
  font-weight: bold;
}

.language .language-menu input[type="radio"]:checked ~ label {
  color: #2dbb54;
}

.language img {
  width: 3%;
}

.i-refix {
  margin-top: 0 !important;
}

.index {
  background-color: #fff;
}

.header .nav-list-eng {
  width: 66%;
}

.eng-active,
.my-active {
  color: #04992d !important;
  font-weight: bold !important;
}

.cmn-bc {
  margin-bottom: 40px;
}

:lang(en) .sec-ttl {
  font-size: 26px;
}

.header .pc-bc {
  display: none;
}

@media only screen and (min-width: 1025px) and (max-width: 1100px) {
  .header .nav-list {
    width: 83.5%;
  }

  .header .nav-list .nav-menu {
    gap: 11px;
  }

  .nav-list .nav-menu li:nth-child(4) {
    margin-right: 15px;
  }
}

/* Ipad
-----------------------------------------------------------------*/
@media only screen and (min-width: 769px) and (max-width: 1024px) {
  body {
    font-size: 2.083vw;
  }

  .bc-common {
    padding: 0.98vw 2vw;
  }

  .header .nav-list-eng {
    width: 0;
  }

  .header .nav-list-eng.side-nav.is-show {
    width: 50%;
  }

  .language .language-menu {
    display: flex;
    align-items: center;
  }

  .language img {
    width: 6%;
    margin-top: -2px;
  }

  .header .pc-bc {
    display: flex;
    justify-content: end;
  }

  .breadcrumb .language {
    display: none;
  }

  .index-bc {
    display: none;
  }

  .i-refix {
    margin-top: 87px !important;
  }

  .pc-bc .language {
    width: 100%;
    padding: 10px 0;
  }

  .l-inner {
    max-width: 103.516vw;
  }

  .main-visual {
    padding: 4.395vw 0 10.254vw;
  }

  .sec-ttl {
    font-size: 2.93vw;
  }

  .sec-ttl::after {
    width: 10.156vw;
    height: 0.488vw;
    margin: 1.586vw auto 0;
  }

  .ttl-black::after {
    width: 8.789vw;
    height: 0.293vw;
    margin: 0.977vw auto 0;
  }

  .ttl-l::after {
    margin: 0.977vw 0;
  }

  .btn {
    border: 0.098vw solid #2dbb54;
  }

  .cmn-btn {
    width: 16.895vw;
    padding: 1.172vw 1.64vw;
  }

  .cmn-btn::after,
  .cmn-btn:hover:after {
    right: 1.2vw;
    width: 2vw;
    height: 2vw;
  }

  .breadcrumb ul li {
    padding: 0 1.953vw;
    font-size: 2.083vw;
  }

  .breadcrumb ul li::before {
    font-size: 1.758vw;
  }

  .breadcrumb ul li img {
    max-width: 2.953vw;
  }

  .header {
    background-position: top left 35%;
  }

  .header h1 {
    width: 10.84vw;
  }

  .header .nav-cnt {
    padding: 2.344vw 0vw;
  }

  .menu-ico {
    display: inline-block;
    position: relative;
    width: 4.395vw;
    height: 2.93vw;
    padding: 0;
    border: none;
    background-color: transparent;
    text-decoration: none;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }

  .hamburger-line {
    position: absolute;
    top: 0px;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0.391vw;
    margin: auto;
    background-color: #fff;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    border-radius: 0.488vw;
  }

  .hamburger-line::before,
  .hamburger-line::after {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: inherit;
    content: "";
    -webkit-transition: inherit;
    transition: inherit;
    border-radius: 0.488vw;
  }

  .hamburger-line::before {
    top: -1.27vw;
  }

  .hamburger-line::after {
    top: 1.27vw;
  }

  .menu-ico.active .hamburger-line {
    background-color: transparent;
  }

  .menu-ico.active .hamburger-line::before {
    top: 0;
    background-color: #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  .menu-ico.active .hamburger-line::after {
    top: 0;
    background-color: #fff;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }

  .header .nav-list {
    position: absolute;
    top: 9.873vw;
    right: 0;
    width: 0;
    padding-top: 0;
    background: url("../img/common/img_dropdown_bg_sp.png") no-repeat center/cover;
    transition: all 0.5s ease;
  }

  .side-nav.is-show {
    width: 50%;
  }

  .header .nav-list .nav-menu {
    padding: 2.441vw 6.5vw 2.441vw;
    display: flex;
    flex-direction: column;
    gap: 0;
    justify-content: flex-start;
  }

  .header .nav-menu {
    height: 53vh;
    overflow-y: scroll;
  }

  .nav-list li {
    width: 100%;
    line-height: 1;
    margin-bottom: 3.5vw;
    text-align: right;
  }

  .nav-list li,
  .nav-list .nav-menu li:nth-child(3) {
    margin-right: 0;
  }

  .dropdown p{
    font-size: 2.083vw;
    color: #000 !important;
  }

  .dropdown::after {
    position: absolute;
    top: 1.4vw;
    right: -1.27vw;
    width: 0.781vw;
    height: 0.488vw;
    background: url("../img/common/ico_header_dropdown_sp.png") no-repeat center/contain;
  }

  .nav-list li:last-child {
    margin-bottom: 0;
  }

  .nav-menu li a {
    color: #000000;
    font-size: 2.083vw;
  }

  .nav-list li a:hover, .nav-list li.active a {
    color: #000000;
    font-weight: 700;
  }

  .dropdown-content {
    position: inherit;
    top: 0;
    width: 100%;
    overflow: hidden;
    margin-top: 1.758vw;
    padding: 0 !important;
    border: none;
    background: none;
  }

  .dropdown-content li {
    margin-bottom: 0.9vw !important;
  }

  .dropdown-content a {
    padding: 1.172vw 0 0 1.367vw;
  }

  .side-nav .sns {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 66%;
    margin: 0 auto;
    padding: 2.93vw 0;
    border-top: 1px solid #04992d;
  }

  /*system common
----------------------------------------------------*/
  .system-ttl {
    padding-bottom: 0.879vw;
    font-size: 2.5vw;
    letter-spacing: 0.069vw;
  }

  .eng-ttl {
    letter-spacing: -0.031vw;
  }

  .system-ttl:after,
  .pos-ttl:after {
    width: 10.938vw;
    height: 0.098vw;
  }

  .system-list li {
    padding: 0 0 2.606vw 3.519vw;
    font-size: 2.083vw;
    letter-spacing: 0vw;
  }

  .system-list li:before {
    top: 9%;
    width: 1.563vw;
    height: 1.563vw;
  }

  .sec-package {
    margin: 7.789vw 0 0 0;
  }

  .sec-package .system {
    margin-bottom: 4.98vw;
    padding: 4.98vw 0vw 4.785vw 0vw;
    border-bottom: 0.098vw solid #2dbb54;
  }

  .pos-ttl {
    font-size: 2.5vw;
  }

  /* Common Title
------------------------------------------------------------- */
  .title-desc {
    padding: 1.855vw 1.855vw 1.367vw;
    font-size: 1.953vw;
    letter-spacing: 0.098vw;
    max-width: 43.75vw;
  }

  .cmn-ttl {
    margin: 4.883vw auto;
  }

  /* BIB Softwares
--------------------------------------------------------- */
  .sec-bib-software .bib-soft-left {
    width: 100%;
    padding: 3.516vw 3.906vw 4.427vw;
  }

  .sec-bib-software .bib-services-ttl {
    padding-bottom: 3.255vw;
    font-size: 2.604vw;
  }

  .sec-bib-software .bib-services-ttl span {
    padding: 0.911vw;
  }

  .sec-bib-software .bib-services-ttl img {
    max-width: 24.349vw;
  }

  .sec-bib-software .bib-services-list li span {
    font-size: 2.344vw;
  }

  .sec-bib-software .bib-services-list {
    padding: 0 0.521vw;
  }

  .sec-bib-software .bib-services-list li {
    padding: 0 3.906vw;
  }

  .sec-bib-software .bib-services-list li::before {
    top: 1.302vw;
    width: 2.083vw;
    height: 2.474vw;
  }

  .sec-bib-software .support-local {
    display: none;
  }

  .sec-bib-software .support-local img {
    max-width: 42.578vw;
  }

  .sec-bib-software .bib-soft-right {
    display: none;
  }

  .sec-bib-software .bib-soft-right img {
    margin: 0 auto;
    max-width: 52.474vw;
  }

  /* Footer
--------------------------------------------------------------- */
  .footer {
    padding-top: 5.664vw;
  }

  .footer-top {
    grid-template-columns: repeat(2,1fr);
    width: 100%;
  }

  .footer .footer-list h2 {
    margin-bottom: 2.93vw;
    padding-bottom: 0.781vw;
    font-size: 2.441vw;
    border-bottom: 0.098vw solid #ffffff;
  }

  .footer .footer-list .ft-ttl {
    margin-top: 15%;
  }

  .footer .ft-logo {
    justify-self: start;
  }

  .footer .footer-instruct-list {
    width: 100%;
    margin-top: 2%;
    margin-right: 0;
    grid-column: span 2;
  }

  .menu-item02 {
    margin-left: 30%;
  }

  .footer ul li {
    margin-bottom: 1.074vw;
    padding: 0.391vw 0 0.391vw 4.004vw;
  }

  .footer ul li.mail-item {
    margin-bottom: 1.563vw;
    padding: 0.879vw 0 0.391vw 4.492vw;
  }

  .footer ul li:last-child {
    padding: 0.195vw 0 0 4.492vw;
  }

  .footer .ph-item:before {
    width: 2.734vw;
    height: 2.734vw;
  }

  .footer .mail-item:before {
    width: 2.246vw;
    height: 2.246vw;
  }

  .footer .loc-item:before {
    width: 1.367vw;
    height: 2.148vw;
  }

  .footer .menu-item li,
  .footer .menu-item li:last-child {
    margin-bottom: 0.488vw;
    padding: 0 0 0 2.93vw;
  }

  .menu-item-list {
    padding-bottom: 2.93vw;
  }

  .menu-item-list .menu-item {
    margin-top: -0.488vw;
  }

  .sub-menu-list {
    margin-top: 0.391vw;
    margin-left: -1.27vw;
  }

  .footer .menu-item li a:before,
  .footer .menu-item li .footer-txt:before {
    top: 0.988vw;
    left: -2.734vw;
    width: 0.879vw;
    height: 0.879vw;
  }

  .footer ul .ph-item a {
    padding-left: 0.488vw;
  }

  .footer .footer-copyright {
    margin-top: 0.293vw;
  }

  .footer .footer-copyright p {
    padding: 1.7vw 5.957vw;
    font-size: 1.367vw;
    letter-spacing: -0.02vw;
  }

  .footer .sub-menu-list li {
    margin-bottom: 0.488vw;
    padding: 0 0 0 0.781vw;
  }

  .footer .sub-menu-list li:last-child {
    padding-left: 0.781vw;
  }

  .footer .sub-menu-list li a::before {
    top: 0.891vw;
    left: -1.367vw;
    width: 0.586vw;
    height: 0.977vw;
  }

  /* Page Top
------------------------------------------------------------- */
  .page-top {
    right: 10.742vw;
  }

  .page-top .top-lnk::before {
    top: -1.367vw;
    width: 2.148vw;
    height: 2.148vw;
  }

  .page-top .top-lnk img {
    max-width: 5.273vw;
  }

  .services-pos .system-ttl {
    margin-bottom: 4.199vw;
    padding-bottom: 0.488vw;
  }

  .services-pos .txt-blk {
    width: 100%;
    padding: 5.273vw 2.734vw;
  }

  .services-pos .services-txt-blk .system-list li {
    line-height: 1.95;
    padding: 0 0 2.93vw 4.883vw;
    font-size: 1.758vw;
  }

  .services-pos .services-txt-blk .system-list li::before {
    top: 0.391vw;
    width: 2.93vw;
    height: 2.93vw;
    background: url("../img/pos-system/ico_pos_system.png") no-repeat center/contain;
  }

  .services-pos .img-blk {
    width: 100%;
    padding: 0;
    text-align: center;
  }

  .services-pos .img-blk img {
    max-width: 41.699vw;
  }
}

/* SP
-----------------------------------------------------------------*/
@media only screen and (max-width: 768px) {
  body {
    font-size: 2.5vw;
  }

  .bc-common {
    padding: 2.2vw 2.344vw;
  }

  .breadcrumb ul {
    padding: 0;
  }

  .language img {
    width: 6%;
    margin-top: 0;
  }

  .bc-services {
    width: 100%;
  }

  .header .nav-list-eng {
    width: 0;
  }

  .nav-cnt .header-logo {
    width: 17.344vw;
    margin-left: 1.188vw;
  }

  .header .nav-list-eng.side-nav.is-show {
    width: 60%;
  }

  .bc-common .bc-services li {
    font-size: 2.6vw;
  }

  .bc-common ul {
    padding: 0;
  }

  .language .language-menu {
    display: flex;
    align-items: center;
  }

  .header .pc-bc {
    display: flex;
    justify-content: end;
  }

  .breadcrumb .language {
    display: none;
  }

  .index-bc {
    display: none;
  }

  .i-refix {
    margin-top: 87px !important;
  }

  .pc-bc .language {
    width: 100%;
    padding: 10px 0;
  }

  .en-btn {
    width: 40vw;
  }

  .sec-bib-software .l-inner {
    flex-direction: column;
  }

  .l-inner {
    width: 100%;
    padding: 0 2.344vw;
    max-width: 100%;
  }

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  .main-visual {
    padding: 10.938vw 0 8.281vw;
  }

  .sec-ttl {
    font-size: 3.906vw;
  }

  .sec-ttl::after {
    width: 13.543vw;
    height: 0.781vw;
    margin: 1.781vw auto 0;
  }

  .ttl-black::after {
    width: 7.813vw;
    height: 0.156vw;
    margin: 0.781vw auto 0;
  }

  .ttl-l::after {
    margin: 0.781vw 0;
  }

  .btn {
    border: 0.156vw solid #2dbb54;
    font-size: 3.5vw;
  }

  .cmn-btn {
    width: 30.625vw;
    padding: 2.031vw 4.375vw;
  }

  .system-ttl {
    color: #374151;
  }

  .cmn-btn::after,
  .cmn-btn:hover:after {
    right: 3.906vw;
    width: 3.125vw;
    height: 3.281vw;
  }

  .breadcrumb ul {
    padding: 2.2vw 2.344vw;
  }

  .breadcrumb ul li {
    line-height: 1.5;
    padding: 1vw 3.125vw;
    font-size: 3.2vw;
  }

  .breadcrumb ul li::before {
    top: 44%;
    font-size: 3.813vw;
  }

  .breadcrumb ul li a img {
    max-width: 3.5vw;
  }

  .sec-app .app .app-img {
    width: 52.344vw;
  }

  header {
    background: url("../img/common/img_header_bg_sp.png") no-repeat center/cover;
  }

  .header h1 {
    width: 17.344vw;
    margin-left: 1.188vw;
  }

  .header h1 img {
    width: 100%;
  }

  .header .nav-cnt {
    padding: 3.7vw 3.281vw 3.6vw;
  }

  .menu-ico {
    display: inline-block;
    position: relative;
    left: -1.406vw;
    width: 7.031vw;
    height: 4.688vw;
    padding: 0;
    border: none;
    background-color: transparent;
    text-decoration: none;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }

  .hamburger-line {
    position: absolute;
    top: 0px;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0.5vw;
    margin: auto;
    background-color: #fff;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    border-radius: 0.781vw;
  }

  .hamburger-line::before {
    top: -1.931vw;
  }

  .hamburger-line::after {
    top: 1.931vw;
  }

  .hamburger-line::before,
  .hamburger-line::after {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: inherit;
    content: "";
    -webkit-transition: inherit;
    transition: inherit;
    border-radius: 0.781vw;
  }

  .menu-ico.active .hamburger-line {
    background-color: transparent;
  }

  .menu-ico.active .hamburger-line::before {
    top: 0;
    background-color: #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  .menu-ico.active .hamburger-line::after {
    top: 0;
    background-color: #fff;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }

  .header .nav-menu {
    height: 60vh;
    overflow-y: scroll;
  }

  .header .nav-list {
    position: absolute;
    top: 15.856vw;
    right: 0;
    width: 0;
    padding-top: 0;
    background: url("../img/common/img_dropdown_bg_sp.png") no-repeat center/cover;
    transition: all 0.5s ease;
  }

  .side-nav.is-show {
    width: 60%;
  }

  .header .nav-list .nav-menu {
    padding: 5vw 5.5vw 5vw 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    justify-content: flex-start;
  }

  .nav-list li {
    width: 100%;
    line-height: 1;
    margin-bottom: 6.5vw;
    text-align: right;
  }

  .nav-list .nav-menu li,
  .nav-list .nav-menu li:nth-child(3) {
    margin-right: 0;
  }

  .nav-list li a {
    color: #000000;
    font-size: 3.5vw;
  }

  .nav-list li a:hover, .nav-list li.active a {
    color: #000000;
    font-weight: 700;
  }

  .dropdown::after {
    top: 2.294vw;
    right: -2.031vw;
    width: 1.25vw;
    height: 0.781vw;
    background: url("../img/common/ico_header_dropdown_sp.png") no-repeat center/contain;
  }

  .dropdown-content {
    position: inherit;
    top: 0;
    width: 100%;
    overflow: hidden;
    margin-top: 1.758vw;
    padding: 0 !important;
    border: none;
    background: none;
  }

  .dropdown p{
    font-size: 3.5vw;
    color: #000 !important;
  }

  .dropdown-content li {
    margin-bottom: 1.465vw !important;
  }

  .dropdown-content a {
    padding: 1.875vw 0 0 0;
  }

  .nav-list li:last-child {
    margin-bottom: 0;
  }

  .side-nav .sns {
    -webkit-justify-content: space-between;
    justify-content: space-between;
    width: 66%;
    margin: 0 auto;
    padding: 2.93vw 0;
    border-top: 1px solid #04992d;
  }

  .title-desc {
    padding: 2.369vw 1.563vw 1.788vw;
    font-size: 2.5vw;
    letter-spacing: 0.156vw;
    max-width: 54vw;
  }

  .cmn-ttl {
    margin: 3.538vw auto;
  }

  /*system common
-------------------------------------------------*/
  .system-ttl {
    padding-bottom: 0.906vw;
    font-size: 3.65vw;
    letter-spacing: -0.031vw;
  }

  .eng-ttl {
    letter-spacing: -0.031vw;
  }

  .system-ttl:after,
  .pos-ttl:after {
    width: 10.938vw;
    height: 0.156vw;
  }

  .system-list li {
    padding: 0 0 2.606vw 3.519vw;
    font-size: 3.5vw;
    letter-spacing: 0;
  }

  .system-list li:before {
    top: 8%;
    width: 2.4vw;
    height: 2.4vw;
  }

  .sec-package {
    margin: 11.72vw 0;
  }

  .sec-package .system {
    margin-bottom: 6.641vw;
    padding: 6.641vw 2.344vw 6.381vw;
    border-bottom: 0.13vw solid #2dbb54;
  }

  .pos-ttl {
    font-size: 3.65vw;
  }

  /* BIB Softwares
--------------------------------------------------------- */
  .sec-bib-software .bib-soft-left {
    width: 100%;
    padding: 4.063vw 2.5vw 5vw;
  }

  .sec-bib-software .bib-services-ttl {
    padding-bottom: 4.063vw;
    font-size: 3.125vw;
  }

  .sec-bib-software .bib-services-ttl span {
    padding: 0.938vw;
  }

  .sec-bib-software .bib-services-ttl img {
    max-width: 29.219vw;
  }

  .sec-bib-software .bib-services-list li span {
    font-size: 2.813vw;
  }

  .sec-bib-software .bib-services-list {
    padding: 0 0.625vw;
  }

  .sec-bib-software .bib-services-list li {
    line-height: 2.42;
    padding: 0 4.688vw;
  }

  .sec-bib-software .bib-services-list li::before {
    top: 1.563vw;
    width: 2.5vw;
    height: 2.969vw;
  }

  .sec-bib-software .support-local {
    top: 20.3%;
    right: 3.3%;
  }

  .sec-bib-software .support-local img {
    max-width: 47.656vw;
  }

  .sec-bib-software .bib-soft-right {
      width: 100%;
  }

  .sec-bib-software .bib-soft-right img {
    margin: 0 auto;
    max-width: 62.969vw;
  }

  /* Footer
--------------------------------------------------------------- */
  .footer {
    padding-top: 7.5vw;
    background: url("../img/common/img_footer_bg.jpg") no-repeat center/cover;
  }

  .footer .footer-list h2 {
    margin-bottom: 4.688vw;
    padding-bottom: 1.094vw;
    font-size: 3.906vw;
    border-bottom: 0.156vw solid #ffffff;
  }

  .footer .footer-list .ft-ttl {
    margin-top: 18%;
  }

  .footer .footer-list:nth-child(1) h2 {
    padding-bottom: 0;
    border-bottom: none;
  }

  .footer-top {
    grid-template-columns: 40% 60%;
    gap: 20px 0;
  }

  .footer ul li {
    margin-bottom: 0.47vw;
    padding: 1.094vw 0 0.625vw 6.406vw;
    font-size: 3.3vw;
  }

  .footer ul li.mail-item {
    margin-bottom: 1.875vw;
    padding: 1.875vw 0 0.625vw 7.188vw;
  }

  .footer ul li:last-child {
    margin-bottom: 0;
    padding: 0 0 0 7.188vw;
  }

  .footer .ph-item:before {
    top: 10%;
    left: 0;
    width: 4.375vw;
    height: 4.375vw;
  }

  .footer .mail-item:before {
    top: 27.4%;
    left: 0;
    width: 3.594vw;
    height: 3.594vw;
  }

  .footer .loc-item:before {
    top: 11%;
    left: 0;
    width: 2.188vw;
    height: 3.438vw;
  }

  .footer .ph-item p .ph-ttl {
    width: 33%;
  }

  .footer .ph-item p .number::before {
    top: 2.031vw;
    width: 0.938vw;
    height: 1.563vw;
  }

  .footer .menu-item li,
  .footer .menu-item li:last-child {
    margin-bottom: 0.938vw;
    padding: 0 0 0 4.688vw;
  }

  .footer .menu-item li a:before,
  .footer .menu-item li .footer-txt:before {
    top: 1.213vw;
    left: -4.688vw;
    width: 1.406vw;
    height: 1.406vw;
  }

  .sub-menu-list {
    margin-top: 3px;
  }

  .footer .ft-logo {
    margin-left: 17%;
  }

  .footer .footer-instruct-list {
    margin: 1.7vw auto 0;
  }

  .footer ul li a,
  .footer ul li .footer-txt {
    line-height: 1.5;
    font-size: 3.3vw;
  }

  .sub-menu-list {
    margin-top: 0.625vw;
    margin-left: -2.031vw;
  }

  .menu-item02 {
    margin-left: -4%;
  }

  .footer .footer-instruct-list {
    width: 100%;
    margin-top: 2%;
    margin-right: 0;
    grid-column: span 2;
  }

  .footer ul .loc-item a {
    line-height: 1.9;
  }

  .footer ul .ph-item a {
    padding-left: 0.781vw;
  }

  .footer .footer-copyright {
    margin-top: 6vw;
  }

  .footer .footer-copyright p {
    padding: 1.563vw 0 1.25vw;
    font-size: 3.5vw;
  }

  .footer .menu-item li:last-child {
    margin-bottom: 0;
  }

  .menu-item-list {
    padding-bottom: 3.907vw;
  }

  .menu-item-list .menu-item {
    margin-top: -0.469vw;
  }

  .footer .sub-menu-list li {
    margin-bottom: 1.25vw;
    padding: 0 0 0 1.25vw;
  }

  .footer .sub-menu-list li:last-child {
    padding-left: 1.25vw;
  }

  .footer .sub-menu-list li a::before {
    top: 0.9vw;
    left: -2.281vw;
    width: 0.938vw;
    height: 1.563vw;
  }

  .page-top {
    right: 2vw;
    bottom: 5vw;
  }

  .page-top .top-lnk::before {
    top: -2.438vw;
    width: 3.438vw;
    height: 3.438vw;
  }

  .page-top .top-lnk img {
    max-width: 8.438vw;
  }

  .services-pos .system-ttl {
    margin-bottom: 4.199vw;
    padding-bottom: 0.488vw;
  }

  .services-pos .txt-blk {
    width: 100%;
    padding: 5vw 0 0;
  }

  .services-pos .services-txt-blk .txt-blk .system-list li {
    padding: 0 0 2.606vw 5.519vw;
    font-size: 3.5vw;
  }

  .services-pos .services-txt-blk .system-list li::before {
    top: 1.4vw;
    width: 3.125vw;
    height: 3.125vw;
  }

  .services-pos .img-blk {
    width: 100%;
    padding: 3vw 0;
    text-align: center;
  }

  .services-pos .img-blk img {
    max-width: 66.719vw;
  }
}

@media only screen and (min-width: 320px) and (max-width: 375px) {
  .system-ttl {
    letter-spacing: -0.2vw;
  }

  .pos-ttl {
    letter-spacing: -0.1vw;
  }
}

@media all and (-ms-high-contrast: none) {
  body {
    font-size: 14px;
  }
}