@charset "utf-8";

body.philosophy-page {
  background: #000;
  color: #fff;
}

body.philosophy-page .container,
body.philosophy-page .container-fluid,
body.philosophy-page section,
body.philosophy-page main,
body.philosophy-page .bgImg,
body.philosophy-page .pricing-header,
body.philosophy-page .mission-banner,
body.philosophy-page .philosophy-section,
body.philosophy-page footer {
  background: #000;
}

body.philosophy-page .navbar.bg-white {
  background: #fff !important;
  border-bottom-color: rgba(0, 0, 0, 0.12) !important;
}

body.philosophy-page .navbar .container,
body.philosophy-page nav {
  background: transparent;
}

body.philosophy-page .nav-link-font {
  color: var(--color-text-muted);
}

body.philosophy-page .nav-link-font::after,
body.philosophy-page .menu-arrow {
  background: #000;
}

body.philosophy-page .mega-menu {
  background: #f8f8f8;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

body.philosophy-page .mega-menu-title,
body.philosophy-page .mega-menu-right a {
  color: #333;
}

body.philosophy-page .mega-menu-right a::after {
  background: #333;
}

body.philosophy-page .mega-menu-right a:hover {
  color: #000;
}

body.philosophy-page .text-body-secondary {
  color: rgba(255, 255, 255, 0.82) !important;
}

body.philosophy-page p,
body.philosophy-page li,
body.philosophy-page h1,
body.philosophy-page h2,
body.philosophy-page h3,
body.philosophy-page h4,
body.philosophy-page h5,
body.philosophy-page h6 {
  color: #fff;
}

body.philosophy-page .border-bottom1 {
  color: #fff !important;
  border-bottom-color: rgba(255, 255, 255, 0.85) !important;
}

.img-hover-box img {
  transition: 0.3s ease;
}

.img-hover-box:hover img {
  filter: brightness(70%);
  transform: scale(1.03);
}

.mission-banner {
  position: relative;
}

.mission-banner a {
  display: block;
  position: relative;
}

.mission-banner-text {
  position: absolute;
  top: 50%;
  left: 25%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 100px;
  font-weight: 300;
  letter-spacing: 0.1em;
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.6);
}

html[lang="en"] body.mission-page .mission-banner-text {
  left: clamp(32px, 5vw, 72px);
  max-width: calc(100% - clamp(64px, 10vw, 144px));
  font-size: clamp(2.2rem, 4vw, 4rem);
  line-height: 1.1;
  letter-spacing: 0.08em;
  white-space: nowrap;
  transform: translateY(-50%);
}

.CEOmessage-banner-text {
  position: absolute;
  top: 50%;
  left: 23%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 90px;
  font-weight: 300;
  letter-spacing: 0.1em;
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.6);
}

.philosophy-box {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
  padding: 70px 50px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: #050505;
  box-shadow: 0 24px 54px rgba(0, 0, 0, 0.3);
}

.signature {
  position: absolute;
  right: 50px;
  bottom: 35px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 18px;
  letter-spacing: 0.08em;
}

.signature-lang {
  display: none;
}

html[lang="ja"] .signature-ja,
html[lang="en"] .signature-en,
html[lang="zh-CN"] .signature-zh {
  display: inline;
}

.philosophy-section {
  background-color: transparent;
}

.philosophy-text {
  margin-bottom: 26px;
  color: rgba(255, 255, 255, 0.86);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 2.2;
  letter-spacing: 0.03em;
}

.philosophy-title {
  margin-bottom: 36px;
  color: #fff;
  font-size: 24px;
  line-height: 1.7;
}

body.philosophy-page .footer-links-row h5,
body.philosophy-page .text-center p {
  color: #fff;
}

body.philosophy-page .footer-links-row .nav-link {
  color: rgba(255, 255, 255, 0.72) !important;
}

body.philosophy-page .footer-links-row .nav-link::after {
  background: #fff;
}

body.philosophy-page .footer-links-row .nav-link:hover {
  color: #fff !important;
}

body.mission-page {
  background: #fff;
  color: #222;
}

body.mission-page .container,
body.mission-page .container-fluid,
body.mission-page section,
body.mission-page main,
body.mission-page .bgImg,
body.mission-page .pricing-header,
body.mission-page .mission-banner,
body.mission-page .philosophy-section,
body.mission-page footer {
  background: #fff;
}

body.mission-page .text-body-secondary {
  color: #444 !important;
}

body.mission-page p,
body.mission-page li,
body.mission-page h1,
body.mission-page h2,
body.mission-page h3,
body.mission-page h4,
body.mission-page h5,
body.mission-page h6 {
  color: #222;
}

body.mission-page .border-bottom1 {
  border-bottom-color: rgba(0, 0, 0, 0.42) !important;
}

body.mission-page .philosophy-box {
  border: 1px solid #ddd;
  background: #fff;
  box-shadow: 0 0 0 5px #f5f5f5;
}

body.mission-page .signature {
  color: #333;
}

body.mission-page .philosophy-text {
  color: #555;
}

body.mission-page .philosophy-title {
  color: #222;
}

@media (max-width: 768px) {
  .mission-banner img {
    min-height: 220px;
    object-fit: cover;
  }

  .mission-banner-text,
  .CEOmessage-banner-text,
  html[lang="en"] body.mission-page .mission-banner-text {
    left: 22px;
    max-width: calc(100% - 44px);
    font-size: clamp(1.15rem, 6vw, 1.75rem);
    line-height: 1.18;
    letter-spacing: 0.04em;
    white-space: normal;
    transform: translateY(-50%);
  }

  .philosophy-title {
    margin-bottom: 36px;
    font-size: 20px;
    line-height: 1.7;
  }

  .philosophy-text {
    margin-bottom: 20px;
    font-size: 14px;
    line-height: 2;
  }
}
