/* NO CSS*/
/* componenet*/
.sr-only,
.hide {
  display: none;
}

html {
  scroll-behavior: auto;
  font-size: 10px;
}
html[data-type=sub] .header {
  opacity: 0;
}
html:has(.complete, .sub-visual[data-page=inquiry-introduction], .sub-visual[data-page=inquiry]) .fixed-box {
  display: none !important;
}
html:has(.complete, .sub-visual[data-page=inquiry-introduction], .sub-visual[data-page=inquiry]) .fixed-box i {
  font-family: "remixicon";
}
@media (max-width: 767px) {
  #officechat-trial {
    display: none;
  }
}

body {
  min-width: initial;
  width: 100%;
  height: auto !important;
}

@media (max-width: 879px) {
  .fixed-box {
    width: 70vw;
  }
}
@media (max-width: 459px) {
  .fixed-box {
    width: 90vw;
    bottom: 10rem;
  }
}

.outer:has(.header-popup) {
  padding-top: 16.2rem;
}
@media (max-width: 767px) {
  .outer:has(.header-popup) {
    padding-top: 14.3rem;
  }
}

.header {
  height: 10rem;
  padding: 0;
  display: flex;
  align-items: center;
  background: #fff;
  transition: background-color 0.5s;
}
.header:has(.header-popup) {
  flex-direction: column;
  height: auto !important;
}
.header:has(.header-popup) .header-popup {
  flex-shrink: 0;
  width: 100%;
  padding: 1.6rem 1rem;
  background: #1c2333;
}
.header:has(.header-popup) .header-popup-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.2rem 0.8rem;
}
.header:has(.header-popup) .header-popup-link strong {
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  line-height: 150%;
}
.header:has(.header-popup) .header-popup-link strong .yellow {
  color: #ffd41c;
}
.header:has(.header-popup) .header-popup-link img {
  display: block;
  width: 2.5rem;
}
.header:has(.header-popup) .header__center {
  height: 10rem;
}
@media (max-width: 767px) {
  .header:has(.header-popup) .header__center {
    height: 8.4rem;
  }
  .header:has(.header-popup) .header-popup-link strong {
    font-size: 1.8rem;
  }
}
.header__wrap {
  justify-content: center;
  margin: 0 2.4rem;
  padding-left: 0;
}
.header__wrap.visible {
  padding: 8rem !important;
}
.header__nav {
  margin-right: 0;
}
.header__center {
  height: 100%;
}
.header__group {
  flex-grow: unset;
}
.header.white {
  background: #fff;
}
.header.bg01 {
  background-color: #d6e6ff;
}
.header.bg02 {
  background-color: #def2ff;
}
.header.bg03 {
  background-color: #def2ff;
}
.header.bg04 {
  background-color: #e4e8f9;
}
.header.bg05 {
  background: #f4f6fa;
}
.header.bg06 {
  background: #ffe5cc;
}
.header.bg07 {
  background: #e5e4f9;
}
.header.bg08 {
  background: #dbdce0;
}
.header__logo .some-icon {
  display: block;
  width: 16.8rem;
}
.header__text {
  position: relative;
}
.header__box[target=_blank] .header__text {
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
}
.header__box[target=_blank] .header__text:after {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background: url(/next_2024_html/img/common/ico_link.svg) no-repeat center/contain;
}
.header__box.new .header__text:after {
  content: "N";
  display: flex;
  align-items: center;
  position: absolute;
  justify-content: center;
  left: calc(100% + 0.4rem);
  top: 0;
  transform: translateY(-0.2rem);
  width: 1.6rem;
  height: 1.6rem;
  line-height: 1;
  font-size: 1rem;
  border-radius: 50%;
  color: #fff;
  background: #d43333;
}
.header .button-small {
  height: 4.6rem;
  border-radius: 12px;
  background: #fff;
}
.header .button-small.orange {
  background: #ff7f00;
  border-color: #ff7f00 !important;
  color: #fff !important;
}
.header .button-small.nav_login_btn:hover {
  background: #23262f;
  border-color: #23262f;
  color: #fcfcfd !important;
}
.header .button-stroke {
  color: #696f8c;
  border: 1px solid #d8dae5;
  box-shadow: none;
}
@media (min-width: 1180px) {
  .header__dropdown {
    position: relative;
  }
  .header__body {
    left: 50%;
    top: 100%;
  }
}
@media (max-width: 1179px) {
  .header__wrap {
    margin: 0;
    justify-content: start;
  }
}
@media (max-width: 767px) {
  .header {
    height: 8.4rem;
  }
}

.mt12 {
  margin-top: 1.2rem;
}

.mt16 {
  margin-top: 1.6rem;
}

.mt20 {
  margin-top: 2rem;
}

.mt24 {
  margin-top: 2.4rem;
}

.mt30 {
  margin-top: 2.4rem;
}

.button-small {
  font-size: 16px;
  height: 4.6rem;
  box-shadow: none;
  border-radius: 12px;
}
.button-small.orange {
  border-color: #ff7f00 !important;
  color: #fff !important;
}
.button-small.orange img {
  width: 1.7rem !important;
  margin-left: 0.8rem;
}
.button-small.navy {
  gap: 0.8rem;
  background: #152ca3;
  border-color: #152ca3;
  color: #fff !important;
}
.button-small.button-stroke {
  color: #696f8c;
  border: 1px solid #d8dae5;
  box-shadow: none;
}
.button-small.button-stroke:hover {
  color: #fff;
  border-color: inherit;
}
.button-small span {
  font-weight: 600;
}
@media (max-width: 767px) {
  .button-small {
    font-size: 14px;
  }
}

.outer {
  overflow: hidden;
  padding-top: 10rem;
}
@media (max-width: 767px) {
  .outer {
    padding-top: 8.4rem;
  }
}

.center {
  max-width: 117rem;
  padding: 0;
}
@media (max-width: 1190px) {
  .center {
    padding: 0 2rem;
  }
}

.footer {
  border-top: none;
  padding: 8rem 0 2.4rem;
}
.footer .button-stroke {
  width: -moz-fit-content;
  width: fit-content;
}
.footer-container {
  display: flex;
  width: 100%;
  padding-bottom: 7.6rem;
}
.footer__logo {
  flex-shrink: 0;
  width: 20.723rem;
  overflow: visible;
}
.footer__logo > a {
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
  height: 100%;
}
.footer__logo > a img {
  display: block;
  width: 12.7rem;
}
.footer__menu {
  width: calc(100% - 3.84rem);
}
.footer__menu-1depth {
  display: inline-block;
  margin-bottom: 1.6rem;
  color: #111827;
  font-size: 14px;
  font-weight: 700;
  line-height: 2.1rem;
}
.footer__menu-container {
  flex: 1;
  display: flex;
  gap: 4.8rem;
}
.footer__menu-list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.footer__menu-list > li > a {
  position: relative;
  color: #474d66;
  font-size: 14px;
  font-weight: 400;
}
.footer__menu-list > li > a[target=_blank] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.footer__menu-list > li > a[target=_blank]:after {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  background: url(/next_2024_html/img/common/ico_link.svg) no-repeat center/contain;
}
.footer__tel {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  margin-left: 6.3rem;
}
.footer__category {
  font-size: 14px;
  color: #696f8c;
  font-weight: 600;
  line-height: 2.1rem;
  margin-bottom: 0;
}
.footer__info > h5 {
  color: #23262f;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 3.12rem;
}
.footer__info > p {
  color: #111827;
  font-size: 14px;
  font-weight: 400;
  line-height: 2.4rem;
  margin-top: 0.8rem;
}
.footer__bottom {
  padding: 2.4rem 0 0;
}
.footer__copyright {
  color: #8f95b2;
  font-size: 14px;
  line-height: 2.1rem;
}
.footer__link {
  color: #8f95b2;
  font-weight: 400;
  margin-bottom: 0 !important;
}
.footer__admin-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid #101840;
  border-radius: 1.2rem;
  width: 18rem;
  padding: 1rem 1.6rem;
}
.footer__admin-btn span {
  color: #101840;
  font-size: 1.6rem;
  font-weight: 600;
}
@media (max-width: 1129px) {
  .footer-container {
    flex-wrap: wrap;
    gap: 4rem;
  }
  .footer__logo {
    width: 100%;
  }
  .footer__tel {
    margin-left: 0;
  }
}
@media (max-width: 879px) {
  .footer__menu-container {
    flex: auto;
    width: 100%;
  }
}
@media (max-width: 767px) {
  .footer-container {
    padding-bottom: 1.6rem;
  }
  .footer__menu-container {
    display: none;
  }
  .footer__bottom {
    padding: 1.6rem 0;
  }
}

.contact-container {
  position: relative;
  --contact-pad-y: 13rem;
  padding: var(--contact-pad-y) 0;
  overflow: hidden;
}
.contact-container:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  width: 100vw;
  height: 100%;
  background: url(/next_2026_html/img/2026/layout/contact_bg.jpg) no-repeat center/cover;
  z-index: -1;
}
.contact-container .button-small:hover {
  background: #f46514;
}
.contact-container[data-type=contact] {
  display: none;
  padding: var(--contact-pad-y) 0;
}
.contact-container[data-type=contact]:before {
  background-image: url(/next_2024_html/img/main/section02_bg.svg);
}
.contact-container[data-type=contact] .contact-content-list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem;
}
.contact-container[data-type=contact] .contact-content-list > li {
  display: flex;
  gap: 2.4rem;
  width: calc(50% - 1.2rem);
  background: #fff;
  padding: 4.8rem;
  border: 1px solid #e6e8f0;
  border-radius: 2rem;
}
.contact-container[data-type=contact] .contact-content-list > li .img {
  flex-shrink: 0;
  border-radius: 50%;
}
.contact-container[data-type=contact] .contact-content-list > li .img img {
  display: block;
  width: 12rem;
}
.contact-container[data-type=contact] .contact-content-list > li .txt-list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.contact-container[data-type=contact] .contact-content-list > li .txt-list .title > em {
  color: #696f8c;
  font-size: 14px;
  font-weight: 600;
}
.contact-container[data-type=contact] .contact-content-list > li .txt-list .info > strong {
  color: #111827;
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 4.16rem;
}
.contact-container[data-type=contact] .contact-content-list > li .txt-list .info > em {
  color: #111827;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 2.7rem;
}
.contact-container[data-type=contact] .contact-content-list > li .txt .ol {
  color: #111827;
  font-size: 16px;
  font-weight: 500;
  margin-top: 1.2rem;
}
.contact-container[data-type=contact] .contact-content-list > li .txt .ol em {
  color: #3362ff;
}
.contact-title {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.contact-title .p {
  color: #474d66;
  font-size: var(--fz-p-lg, 2.4rem);
  font-weight: 500;
  text-align: center;
}
.contact-title .h2 {
  text-align: center;
}
.contact-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3rem;
}
.contact-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.2rem 2rem;
}
.contact-list > li {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  position: relative;
}
.contact-list > li:before {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  background: url(/next_2024_html/img/common/ico_check.svg) no-repeat center/contain;
}
@media (max-width: 1279px) {
  .contact-container {
    --contact-pad-y: clamp(6rem, 4vw + 6rem, 11rem);
  }
  .contact-container .h3 {
    font-size: 3.6rem;
  }
}
@media (max-width: 1023px) {
  .contact-container .h3 {
    font-size: 3.2rem;
  }
  .contact-container[data-type=contact] .contact-content-list > li {
    padding: 3.2rem;
  }
}
@media (max-width: 767px) {
  .contact-container .h3 {
    font-size: 2.8rem;
  }
  .contact-container[data-type=contact] .contact-content-list {
    flex-direction: column;
  }
  .contact-container[data-type=contact] .contact-content-list > li {
    width: 100%;
  }
  .contact-container[data-type=contact] .contact-content-list > li .txt .ol {
    font-size: 14px;
  }
  .contact-list > li {
    font-size: 15px;
  }
}
@media (max-width: 459px) {
  .contact-container[data-type=contact] .contact-content-list > li {
    flex-direction: column;
  }
}

.bul1 {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
.bul1 > li {
  position: relative;
  color: #696f8c;
  font-size: 1.8rem;
  line-height: 2.7rem;
  padding-left: 2.4rem;
}
.bul1 > li:before {
  content: "";
  position: absolute;
  left: 0.9rem;
  top: 0.9rem;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #696f8c;
}
@media (max-width: 767px) {
  .bul1 {
    font-size: 16px;
    gap: 1.6rem;
  }
}