@charset "utf-8";
/* =====================================================
   BXI RESET
===================================================== */

#global_footer,
#footer {
  display: none !important;
}

html,
body {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body {
  overflow-x: hidden !important;
}

#contents_wrap,
#contents,
#contents > section,
#c1 {
  margin-top: 0 !important;
  padding-top: 0 !important;
}


/* =====================================================
   BASE
===================================================== */

.sanju-partner-page {
  position: relative !important;
  left: 50% !important;

  width: 100vw !important;
  max-width: none !important;

  margin-left: -50vw !important;
  margin-right: -50vw !important;

  padding: 0 !important;

  background: #ffffff !important;

  color: #172233 !important;

  font-family:
    "Noto Sans JP",
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    sans-serif !important;
}

.sanju-partner-page *,
.sanju-partner-page *::before,
.sanju-partner-page *::after {
  box-sizing: border-box !important;
}

.sanju-partner-page h1,
.sanju-partner-page h2,
.sanju-partner-page h3,
.sanju-partner-page p,
.sanju-partner-page span,
.sanju-partner-page strong,
.sanju-partner-page small,
.sanju-partner-page a,
.sanju-partner-page li {
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
}

.partner-inner {
  width: calc(100% - 48px) !important;
  max-width: 1120px !important;

  margin: 0 auto !important;
}


/* =====================================================
   HEADER
===================================================== */

.sanju-site-header {
  position: sticky !important;
  top: 0 !important;

  z-index: 9999 !important;

  width: 100% !important;
  height: 76px !important;

  background: rgba(255,255,255,.98) !important;

  border-bottom: 1px solid #ececec !important;
}

.sanju-header-inner {
  width: calc(100% - 70px) !important;
  max-width: 1400px !important;
  height: 100% !important;

  margin: 0 auto !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.sanju-brand {
  display: flex !important;
  flex-direction: column !important;

  color: #101c2d !important;

  text-decoration: none !important;

  line-height: 1.1 !important;
}

.sanju-brand-jp {
  margin-bottom: 5px !important;

  color: #101c2d !important;

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: 10px !important;

  letter-spacing: .12em !important;
}

.sanju-brand-en {
  color: #101c2d !important;

  font-size: 18px !important;
  font-weight: 700 !important;

  letter-spacing: .13em !important;
}

.sanju-nav {
  display: flex !important;
  align-items: center !important;

  height: 100% !important;

  gap: 30px !important;
}

.sanju-nav > a {
  position: relative !important;

  display: flex !important;
  align-items: center !important;

  height: 100% !important;

  color: #172233 !important;

  text-decoration: none !important;

  font-size: 14px !important;
  font-weight: 600 !important;

  white-space: nowrap !important;
}

.sanju-nav > a.active {
  color: #d3262e !important;
}

.sanju-nav > a.active::after {
  content: "";

  position: absolute !important;

  left: 0 !important;
  bottom: 17px !important;

  width: 100% !important;
  height: 2px !important;

  background: #d3262e !important;
}

.sanju-contact-link {
  min-width: 170px !important;
  height: auto !important;

  padding: 14px 20px !important;

  justify-content: space-between !important;

  border: 1px solid #172233 !important;
}

.sanju-contact-link span {
  margin-left: 22px !important;
}

.sanju-menu-toggle,
.sanju-menu-button {
  display: none !important;
}


/* =====================================================
   COMMON
===================================================== */

.partner-section {
  width: 100% !important;

  padding: 105px 24px !important;
}

.white-section {
  background: #ffffff !important;
}

.cream-section {
  background: #f5f3ee !important;
}

.partner-section-en {
  display: block !important;

  margin: 0 0 15px !important;

  color: #777d85 !important;

  font-size: 11px !important;
  font-weight: 700 !important;

  letter-spacing: .21em !important;
}

.partner-section-en.red {
  color: #d3262e !important;
}

.partner-section-en.light {
  color: rgba(255,255,255,.62) !important;
}

.partner-section-en.center {
  text-align: center !important;
}

.partner-section-title {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;

  color: #142236 !important;

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: clamp(34px,3.7vw,50px) !important;
  font-weight: 500 !important;

  line-height: 1.45 !important;

  letter-spacing: .03em !important;
}

.partner-section-lead {
  display: block !important;

  width: 100% !important;
  max-width: 800px !important;

  margin: 25px 0 48px !important;

  color: #65696e !important;

  font-size: 14px !important;

  line-height: 2 !important;
}


/* =====================================================
   HERO
===================================================== */

.partner-hero {
  width: 100% !important;

  padding: 92px 24px !important;

  background: #0e1d2e !important;

  color: #ffffff !important;
}

.partner-hero-grid {
  display: grid !important;

  grid-template-columns:
    1.15fr .85fr !important;

  gap: 70px !important;

  align-items: center !important;
}

.partner-hero-main {
  min-width: 0 !important;
}

.partner-hero-main h1 {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;

  color: #ffffff !important;

  font-family:
    "Yu Mincho",
    "Hiragino Mincho ProN",
    serif !important;

  font-size: clamp(42px,4.8vw,64px) !important;
  font-weight: 500 !important;

  line-height: 1.42 !important;

  letter-spacing: .03em !important;
}

.partner-hero-main h1 span {
  color: #ffffff !important;
}

.partner-hero-lead {
  display: block !important;

  width: 100% !important;

  margin: 30px 0 12px !important;

  color: #ffffff !important;

  font-size: 16px !important;
  font-weight: 600 !important;

  line-height: 1.9 !important;
}

.partner-hero-text {
  display: block !important;

  width: 100% !important;

  margin: 0 0 32px !important;

  color: rgba(255,255,255,.82) !important;

  font-size: 14px !important;

  line-height: 2 !important;
}

.partner-hero-buttons {
  display: flex !important;

  gap: 12px !important;
}

.partner-btn-red,
.partner-btn-outline {
  display: inline-flex !important;

  align-items: center !important;
  justify-content: center !important;

  min-width: 210px !important;

  padding: 18px 24px !important;

  color: #ffffff !important;

  text-decoration: none !important;

  font-size: 13px !important;
  font-weight: 600 !important;
}

.partner-btn-red {
  background: #d3262e !important;

  border: 1px solid #d3262e !important;
}

.partner-btn-outline {
  background: transparent !important;

  border: 1px solid rgba(255,255,255,.45) !important;
}

.partner-hero-panel {
  min-width: 0 !important;

  padding: 40px !important;

  background: rgba(255,255,255,.055) !important;

  border-top: 4px solid #d3262e !important;
}

.partner-hero-panel h2 {
  display: block !important;

  width: 100% !important;

  margin: 0 0 28px !important;

  color: #ffffff !important;

  font-family:
    "Yu Mincho",
    serif !important;

  font-size: 26px !important;
  font-weight: 500 !important;

  line-height: 1.6 !important;
}

.hero-point {
  display: grid !important;

  grid-template-columns:
    35px minmax(0,1fr) !important;

  gap: 10px !important;

  padding: 14px 0 !important;

  border-top: 1px solid rgba(255,255,255,.12) !important;
}

.hero-point > span {
  color: #e54a50 !important;

  font-size: 10px !important;
}

.hero-point strong {
  display: block !important;

  margin-bottom: 5px !important;

  color: #ffffff !important;

  font-size: 13px !important;
  font-weight: 600 !important;
}

.hero-point p {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;

  color: rgba(255,255,255,.72) !important;

  font-size: 11px !important;

  line-height: 1.7 !important;
}


/* =====================================================
   TARGET
===================================================== */

.target-grid {
  display: grid !important;

  grid-template-columns:
    repeat(2,minmax(0,1fr)) !important;

  gap: 18px !important;

  width: 100% !important;

  margin-top: 50px !important;
}

.target-card {
  min-width: 0 !important;
  min-height: 500px !important;

  padding: 42px 38px !important;

  background: #ffffff !important;

  border-top: 4px solid #142236 !important;
}

.partner-side-card {
  border-top-color: #d3262e !important;
}

.target-en {
  display: block !important;

  margin: 0 0 22px !important;

  color: #777d85 !important;

  font-size: 9px !important;
  font-weight: 700 !important;

  letter-spacing: .15em !important;
}

.target-en.red {
  color: #d3262e !important;
}

.target-card h3 {
  display: block !important;

  width: 100% !important;

  margin: 0 0 20px !important;

  color: #142236 !important;

  font-family:
    "Yu Mincho",
    serif !important;

  font-size: 28px !important;
  font-weight: 500 !important;

  line-height: 1.45 !important;

  white-space: nowrap !important;
}

.target-intro {
  display: block !important;

  width: 100% !important;

  margin: 0 0 28px !important;

  color: #62686e !important;

  font-size: 13px !important;
  font-weight: 600 !important;

  line-height: 1.9 !important;
}

.target-card ul {
  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;

  border-top: 1px solid #dddddd !important;
}

.target-card li {
  display: block !important;

  padding: 14px 0 !important;

  color: #555d65 !important;

  border-bottom: 1px solid #eeeeee !important;

  font-size: 12px !important;

  line-height: 1.6 !important;
}

.target-card li::before {
  content: "✓";

  display: inline-block !important;

  margin-right: 11px !important;

  color: #d3262e !important;

  font-weight: 700 !important;
}


/* =====================================================
   CHALLENGES
===================================================== */

.challenge-grid {
  display: grid !important;

  grid-template-columns:
    repeat(2,minmax(0,1fr)) !important;

  gap: 16px !important;

  width: 100% !important;
}

.challenge-card {
  min-width: 0 !important;
  min-height: 215px !important;

  padding: 34px 30px !important;

  background: #f7f6f2 !important;

  border-left: 3px solid #d3262e !important;
}

.challenge-head {
  display: flex !important;

  align-items: center !important;

  gap: 14px !important;

  width: 100% !important;

  margin-bottom: 20px !important;
}

.challenge-head span {
  flex: 0 0 auto !important;

  color: #d3262e !important;

  font-size: 10px !important;
  font-weight: 700 !important;
}

.challenge-head h3 {
  display: block !important;

  margin: 0 !important;

  color: #142236 !important;

  font-family:
    "Yu Mincho",
    serif !important;

  font-size: 22px !important;
  font-weight: 500 !important;

  line-height: 1.4 !important;

  white-space: nowrap !important;
}

.challenge-card > p {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;

  color: #62686e !important;

  font-size: 13px !important;

  line-height: 1.95 !important;
}


/* =====================================================
   WHY SANJU
===================================================== */

.why-grid {
  display: grid !important;

  grid-template-columns:
    repeat(3,minmax(0,1fr)) !important;

  gap: 14px !important;

  width: 100% !important;

  margin-top: 50px !important;
}

.why-card {
  min-width: 0 !important;
  min-height: 320px !important;

  padding: 36px 30px !important;

  background: #ffffff !important;

  border-top: 3px solid #d3262e !important;
}

.why-number {
  display: block !important;

  margin-bottom: 22px !important;

  color: #d3262e !important;

  font-size: 10px !important;
  font-weight: 700 !important;
}

.why-card h3 {
  display: block !important;

  width: 100% !important;

  margin: 0 0 20px !important;

  color: #142236 !important;

  font-family:
    "Yu Mincho",
    serif !important;

  font-size: 23px !important;
  font-weight: 500 !important;

  line-height: 1.4 !important;

  white-space: nowrap !important;

  word-break: keep-all !important;
}

.why-card p {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;

  color: #62686e !important;

  font-size: 13px !important;

  line-height: 1.95 !important;
}


/* =====================================================
   DIRECT MATCHING
===================================================== */

.direct-section {
  width: 100% !important;

  padding: 100px 24px !important;

  background: #0e1d2e !important;

  color: #ffffff !important;
}

.direct-grid {
  display: grid !important;

  grid-template-columns:
    .9fr 1.1fr !important;

  gap: 65px !important;

  align-items: center !important;
}

.direct-copy h2 {
  display: block !important;

  width: 100% !important;

  margin: 0 0 26px !important;

  color: #ffffff !important;

  font-family:
    "Yu Mincho",
    serif !important;

  font-size: clamp(34px,3.7vw,48px) !important;
  font-weight: 500 !important;

  line-height: 1.5 !important;
}

.direct-copy > p:not(.partner-section-en) {
  display: block !important;

  width: 100% !important;

  color: rgba(255,255,255,.82) !important;

  font-size: 13px !important;

  line-height: 2 !important;
}

.direct-diagram {
  display: grid !important;

  grid-template-columns:
    minmax(0,1fr)
    minmax(100px,.55fr)
    minmax(0,1fr) !important;

  gap: 10px !important;

  align-items: stretch !important;
}

.direct-company,
.direct-center {
  display: flex !important;

  flex-direction: column !important;

  align-items: center !important;
  justify-content: center !important;

  min-width: 0 !important;
  min-height: 230px !important;

  padding: 24px !important;

  text-align: center !important;
}

.direct-company {
  background: rgba(255,255,255,.07) !important;

  border: 1px solid rgba(255,255,255,.15) !important;
}

.direct-center {
  background: #d3262e !important;
}

.direct-company small {
  color: rgba(255,255,255,.52) !important;

  font-size: 8px !important;

  letter-spacing: .12em !important;
}

.direct-company strong {
  display: block !important;

  margin: 18px 0 9px !important;

  color: #ffffff !important;

  font-family:
    "Yu Mincho",
    serif !important;

  font-size: 23px !important;
  font-weight: 500 !important;

  white-space: nowrap !important;
}

.direct-company span {
  color: rgba(255,255,255,.75) !important;

  font-size: 11px !important;
}

.direct-center span {
  color: rgba(255,255,255,.7) !important;

  font-size: 9px !important;

  letter-spacing: .15em !important;
}

.direct-center strong {
  display: block !important;

  margin-top: 12px !important;

  color: #ffffff !important;

  font-size: 15px !important;

  white-space: nowrap !important;
}

.direct-bottom {
  display: grid !important;

  grid-template-columns:
    1fr auto 1fr auto 1fr !important;

  gap: 15px !important;

  align-items: center !important;

  width: 100% !important;

  margin-top: 55px !important;

  padding-top: 35px !important;

  border-top: 1px solid rgba(255,255,255,.18) !important;
}

.direct-bottom > div:not(.direct-arrow) {
  text-align: center !important;
}

.direct-bottom span {
  display: block !important;

  margin-bottom: 9px !important;

  color: #e54a50 !important;

  font-size: 9px !important;
}

.direct-bottom strong {
  display: block !important;

  margin-bottom: 8px !important;

  color: #ffffff !important;

  font-size: 16px !important;
}

.direct-bottom p {
  margin: 0 !important;

  color: rgba(255,255,255,.72) !important;

  font-size: 11px !important;

  line-height: 1.7 !important;
}

.direct-arrow {
  color: #d3262e !important;

  font-size: 25px !important;
}


/* =====================================================
   CATEGORY
===================================================== */

.category-grid {
  display: grid !important;

  grid-template-columns:
    repeat(4,minmax(0,1fr)) !important;

  gap: 10px !important;

  width: 100% !important;
}

.category-card {
  min-width: 0 !important;
  min-height: 150px !important;

  padding: 28px 22px !important;

  background: #f5f3ee !important;

  border-top: 3px solid #142236 !important;
}

.category-card span {
  display: block !important;

  margin-bottom: 20px !important;

  color: #d3262e !important;

  font-size: 9px !important;
  font-weight: 700 !important;
}

.category-card h3 {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;

  color: #142236 !important;

  font-family:
    "Yu Mincho",
    serif !important;

  font-size: 18px !important;
  font-weight: 500 !important;

  line-height: 1.4 !important;

  white-space: nowrap !important;
}

.category-note {
  display: block !important;

  margin: 18px 0 0 !important;

  color: #777d82 !important;

  font-size: 10px !important;
}


/* =====================================================
   CHECK
===================================================== */

.check-section {
  background: #f5f3ee !important;
}

.check-grid {
  display: grid !important;

  grid-template-columns:
    repeat(3,minmax(0,1fr)) !important;

  gap: 1px !important;

  width: 100% !important;

  margin-top: 50px !important;

  background: #dddddd !important;
}

.check-item {
  min-width: 0 !important;
  min-height: 230px !important;

  padding: 30px 26px !important;

  background: #ffffff !important;
}

.check-item span {
  display: block !important;

  margin-bottom: 17px !important;

  color: #d3262e !important;

  font-size: 9px !important;
  font-weight: 700 !important;
}

.check-item h3 {
  display: block !important;

  width: 100% !important;

  margin: 0 0 15px !important;

  color: #142236 !important;

  font-family:
    "Yu Mincho",
    serif !important;

  font-size: 20px !important;
  font-weight: 500 !important;

  white-space: nowrap !important;
}

.check-item p {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;

  color: #62686e !important;

  font-size: 12px !important;

  line-height: 1.9 !important;
}


/* =====================================================
   FLOW
===================================================== */

.flow-grid {
  display: grid !important;

  grid-template-columns:
#c1 {
	clear: both;
	margin:    ;
	padding:    ;
}
@media screen and (min-width: 641px) and (max-width: 834px) {
#c1 {
}
}
@media screen and (max-width: 640px) {
#c1 {
}
}
