/* =================================================================
   # Compliance Page
   # ================================================================= */

/* ----------------------------------------------------------------
   # Hero
   # ---------------------------------------------------------------- */

.ComplianceHero {
  position: relative;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media print, screen and (max-width: 767px) {
  .ComplianceHero {
    height: 40vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceHero {
    height: clamp(155.6756756757px, 20.2702702703vw, 324.3243243243px);
  }
}

.ComplianceHero__bg {
  position: absolute;
  inset: 0;
}

.ComplianceHero__bgImg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

@media print, screen and (max-width: 767px) {
  .ComplianceHero__bgImg {
    -o-object-position: left center;
    object-position: left center;
  }
}

.ComplianceHero__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(19, 25, 43, 0.49);
}

.ComplianceHero__inner {
  position: relative;
  z-index: 1;
  text-align: center;
}

.ComplianceHero__title {
  font-family: a-otf-ryumin-pr6n, serif;
  font-weight: 600;
  color: #ffffff;
  line-height: 1.4;
}

@media print, screen and (max-width: 767px) {
  .ComplianceHero__title {
    font-size: 5.33vw;
    letter-spacing: 2.49vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceHero__title {
    font-size: clamp(32px, 3.24vw, 46.7px);
    letter-spacing: 0.2em;
  }
}

.ComplianceHero__titleSp {
  display: block;
}

.ComplianceHero__titlePc {
  display: none;
}

@media print, screen and (min-width: 768px) {
  .ComplianceHero__titleSp {
    display: none;
  }

  .ComplianceHero__titlePc {
    display: block;
  }
}

/* ----------------------------------------------------------------
   # Main Wrapper
   # ---------------------------------------------------------------- */

.ComplianceMain {
  background-color: var(--color-00_white);
}

.ComplianceMain__inner {
  max-width: 1024px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media print, screen and (max-width: 767px) {
  .ComplianceMain__inner {
    gap: 21.3vw;
    padding: 21.3vw 5.33vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceMain__inner {
    gap: clamp(64px, 5.56vw, 80px);
    padding: clamp(64px, 5.56vw, 80px) clamp(20px, 1.67vw, 24px);
  }
}

/* ----------------------------------------------------------------
   # Utility
   # ---------------------------------------------------------------- */

.ComplianceBrSp {
  display: block;
}

.ComplianceBrPc {
  display: none;
}

@media print, screen and (min-width: 768px) {
  .ComplianceBrSp {
    display: none;
  }

  .ComplianceBrPc {
    display: block;
  }
}

/* ----------------------------------------------------------------
   # Intro
   # ---------------------------------------------------------------- */

.ComplianceIntro {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media print, screen and (max-width: 767px) {
  .ComplianceIntro {
    gap: 6.4vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceIntro {
    gap: clamp(16px, 1.67vw, 24px);
  }
}

.ComplianceIntro__heading {
  font-family: a-otf-ryumin-pr6n, serif;
  font-weight: 600;
  color: var(--color-01-navy);
  line-height: 1.6;
}

@media print, screen and (max-width: 767px) {
  .ComplianceIntro__heading {
    font-size: 5.33vw;
    letter-spacing: 2.2vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceIntro__heading {
    font-size: clamp(24px, 2.22vw, 32px);
    letter-spacing: 0.26em;
  }
}

.ComplianceIntro__text {
  line-height: 2;
  color: var(--color-01-black);
}

@media print, screen and (max-width: 767px) {
  .ComplianceIntro__text {
    font-size: 3.73vw;
    letter-spacing: 0.1em;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceIntro__text {
    font-size: clamp(14px, 1.11vw, 16px);
    letter-spacing: 0.1em;
  }
}

/* ----------------------------------------------------------------
   # Warning Box
   # ---------------------------------------------------------------- */

.ComplianceWarning {
  border: 1px solid var(--color-01-navy);
  background-color: var(--color-00_white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media print, screen and (max-width: 767px) {
  .ComplianceWarning {
    gap: 10.67vw;
    padding: 10.67vw 4vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceWarning {
    gap: clamp(32px, 2.78vw, 40px);
    padding: clamp(32px, 2.78vw, 40px);
  }
}

/* Head */
.ComplianceWarning__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

@media print, screen and (max-width: 767px) {
  .ComplianceWarning__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column-reverse;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10.67vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceWarning__head {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: clamp(24px, 2.78vw, 40px);
  }
}

.ComplianceWarning__headText {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

@media print, screen and (max-width: 767px) {
  .ComplianceWarning__headText {
    gap: 2.13vw;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 100%;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceWarning__headText {
    gap: clamp(6px, 0.56vw, 8px);
  }
}

.ComplianceWarning__headTitle {
  font-family: a-otf-ryumin-pr6n, serif;
  font-weight: 600;
  color: var(--color-01-navy);
  line-height: 1.6;
}

@media print, screen and (max-width: 767px) {
  .ComplianceWarning__headTitle {
    font-size: 5.33vw;
    letter-spacing: 2.2vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceWarning__headTitle {
    font-size: clamp(24px, 2.18vw, 31.4px);
    letter-spacing: 0.26em;
  }
}

.ComplianceWarning__headDesc {
  color: var(--color-01-black);
  line-height: 2;
}

@media print, screen and (max-width: 767px) {
  .ComplianceWarning__headDesc {
    font-size: 4.27vw;
    letter-spacing: 0.1em;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceWarning__headDesc {
    font-size: clamp(14px, 1.11vw, 16px);
    letter-spacing: 0.1em;
  }
}

.ComplianceWarning__illus {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media print, screen and (max-width: 767px) {
  .ComplianceWarning__illus img {
    width: 74.93vw;
    height: auto;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceWarning__illus img {
    width: clamp(200px, 19.51vw, 281px);
    height: auto;
  }
}

/* Cards */
.ComplianceWarning__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6.4vw;
}

@media print, screen and (min-width: 600px) {
  .ComplianceWarning__cards {
    grid-template-columns: 1fr 1fr;
    gap: clamp(12px, 1.67vw, 24px);
  }
}

.ComplianceWarning__card {
  background-color: #f3f1ee;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 2.13vw;
  padding: 4.27vw 5.33vw;
}

@media print, screen and (min-width: 600px) {
  .ComplianceWarning__card {
    gap: clamp(6px, 0.56vw, 8px);
    padding: clamp(12px, 1.11vw, 16px) clamp(16px, 2.78vw, 40px);
  }
}

@media print, screen and (max-width: 767px) {
  .ComplianceWarning__card {
    padding-left: 10px;
    padding-right: 10px;
  }
}

.ComplianceWarning__cardImage {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.ComplianceWarning__cardImage img {
  width: 50%;
  height: auto;
  display: block;
}

.ComplianceWarning__cardText {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  text-align: center;
  color: var(--color-01-black);
  line-height: 1.8;
}

@media print, screen and (max-width: 767px) {
  .ComplianceWarning__cardText {
    font-size: 14px;
    letter-spacing: 0.1em;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceWarning__cardText {
    font-size: 16px;
    letter-spacing: 0.1em;
  }
}

/* Divider */
.ComplianceWarning__divider {
  height: 1px;
  background-color: var(--color-02-gray);
}

/* Contact */
.ComplianceWarning__contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media print, screen and (max-width: 767px) {
  .ComplianceWarning__contact {
    gap: 6.4vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceWarning__contact {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: clamp(24px, 2.5vw, 36px);
  }
}

.ComplianceWarning__contactIllus {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 345px;
  height: 159px;
  overflow: hidden;
}

@media print, screen and (max-width: 767px) {
  .ComplianceWarning__contactIllus {
    width: 100%;
    height: auto;
  }
  .ComplianceWarning__contactIllus img {
    width: 100%;
    height: auto;
  }
}

.ComplianceWarning__contactBody {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media print, screen and (max-width: 767px) {
  .ComplianceWarning__contactBody {
    gap: 6.4vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceWarning__contactBody {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0;
    gap: clamp(16px, 1.67vw, 24px);
    padding: 0 clamp(10px, 1.39vw, 20px);
  }
}

.ComplianceWarning__contactLabel {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  color: var(--color-01-navy);
  letter-spacing: 0.25em;
  line-height: 1.4;
}

@media print, screen and (max-width: 767px) {
  .ComplianceWarning__contactLabel {
    font-size: 16px;
    text-align: center;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceWarning__contactLabel {
    font-size: clamp(16px, 1.39vw, 20px);
  }
}

.ComplianceWarning__contactItems {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media print, screen and (max-width: 767px) {
  .ComplianceWarning__contactItems {
    gap: 4.27vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceWarning__contactItems {
    gap: clamp(16px, 1.67vw, 24px);
  }
}

.ComplianceWarning__contactItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: clamp(6px, 0.56vw, 8px);
}

@media print, screen and (max-width: 767px) {
  .ComplianceWarning__contactItem {
    gap: 2.13vw;
  }
}

.ComplianceWarning__contactIcon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: var(--color-01-navy);
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media print, screen and (max-width: 767px) {
  .ComplianceWarning__contactIcon {
    width: 6.4vw;
    height: 6.4vw;
    font-size: 4.27vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceWarning__contactIcon {
    width: 24px;
    height: 24px;
    font-size: 16px;
  }
}

.ComplianceWarning__contactEmail {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  color: var(--color-01-navy);
  letter-spacing: 0.25em;
}

@media print, screen and (max-width: 767px) {
  .ComplianceWarning__contactEmail {
    font-size: 3.2vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceWarning__contactEmail {
    font-size: clamp(12px, 0.83vw, 12px);
  }
}

.ComplianceWarning__contactPhone {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media print, screen and (max-width: 767px) {
  .ComplianceWarning__contactPhone {
    gap: 1.07vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceWarning__contactPhone {
    gap: 2px;
  }
}

.ComplianceWarning__contactTel {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  color: var(--color-01-navy);
  letter-spacing: 0.25em;
  line-height: 1;
}

@media print, screen and (max-width: 767px) {
  .ComplianceWarning__contactTel {
    font-size: 5.33vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceWarning__contactTel {
    font-size: clamp(18px, 1.39vw, 20px);
  }
}

.ComplianceWarning__contactHours {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  color: var(--color-01-black);
  line-height: 1.5;
}

@media print, screen and (max-width: 767px) {
  .ComplianceWarning__contactHours {
    font-size: 2.93vw;
    letter-spacing: 0.1em;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceWarning__contactHours {
    font-size: clamp(11px, 0.76vw, 11px);
    letter-spacing: 0.1em;
  }
}

/* ----------------------------------------------------------------
   # Process Section
   # ---------------------------------------------------------------- */

.ComplianceProcess {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media print, screen and (max-width: 767px) {
  .ComplianceProcess {
    gap: 6.4vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceProcess {
    gap: clamp(16px, 1.67vw, 24px);
  }
}

.ComplianceProcess__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media print, screen and (max-width: 767px) {
  .ComplianceProcess__heading {
    gap: 4.27vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceProcess__heading {
    gap: clamp(12px, 1.11vw, 16px);
  }
}

.ComplianceProcess__title {
  font-family: a-otf-ryumin-pr6n, serif;
  font-weight: 600;
  color: var(--color-01-navy);
  line-height: 1.6;
}

@media print, screen and (max-width: 767px) {
  .ComplianceProcess__title {
    font-size: 5.33vw;
    letter-spacing: 2.2vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceProcess__title {
    font-size: clamp(24px, 2.22vw, 32px);
    letter-spacing: 0.26em;
  }
}

.ComplianceProcess__desc {
  color: var(--color-01-black);
  line-height: 2;
}

@media print, screen and (max-width: 767px) {
  .ComplianceProcess__desc {
    font-size: 4vw;
    letter-spacing: 0.1em;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceProcess__desc {
    font-size: clamp(13px, 1.04vw, 15px);
    letter-spacing: 0.1em;
  }
}

/* Process list */
.ComplianceProcess__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media print, screen and (max-width: 767px) {
  .ComplianceProcess__list {
    gap: 6.4vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceProcess__list {
    gap: clamp(16px, 1.67vw, 24px);
  }
}

.ComplianceProcess__box {
  border: 1px solid var(--color-01-navy);
  background-color: var(--color-00_white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media print, screen and (max-width: 767px) {
  .ComplianceProcess__box {
    gap: 4.27vw;
    padding: 6.4vw 4vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceProcess__box {
    gap: clamp(12px, 1.11vw, 16px);
    padding: clamp(20px, 1.67vw, 24px) clamp(24px, 1.67vw, 24px);
  }
}

.ComplianceProcess__boxHead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media print, screen and (max-width: 767px) {
  .ComplianceProcess__boxHead {
    gap: 1.07vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceProcess__boxHead {
    gap: clamp(2px, 0.28vw, 4px);
  }
}

.ComplianceProcess__step {
  display: inline-block;
  background-color: var(--color-01-navy);
  color: #ffffff;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  -ms-flex-item-align: start;
  align-self: flex-start;
  line-height: 1.6;
  letter-spacing: 0.1em;
}

@media print, screen and (max-width: 767px) {
  .ComplianceProcess__step {
    font-size: 3.2vw;
    padding: 2.13vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceProcess__step {
    font-size: 16px;
    padding: clamp(6px, 0.56vw, 8px);
  }
}

.ComplianceProcess__boxTitle {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  color: var(--color-01-navy);
  line-height: 1.6;
  letter-spacing: 0.1em;
}

@media print, screen and (max-width: 767px) {
  .ComplianceProcess__boxTitle {
    font-size: 4.27vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceProcess__boxTitle {
    font-size: clamp(20px, 1.67vw, 24px);
  }
}

.ComplianceProcess__boxDesc {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  color: var(--color-01-black);
  line-height: 1.5;
  letter-spacing: 0.1em;
}

@media print, screen and (max-width: 767px) {
  .ComplianceProcess__boxDesc {
    font-size: 3.73vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceProcess__boxDesc {
    font-size: 14px;
  }
}

/* Check list */
.ComplianceProcess__checks {
  background-color: var(--color-background1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media print, screen and (max-width: 767px) {
  .ComplianceProcess__checks {
    gap: 4.27vw;
    padding: 4.27vw 2.67vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceProcess__checks {
    gap: clamp(12px, 1.11vw, 16px);
    padding: clamp(14px, 1.11vw, 16px) clamp(8px, 0.69vw, 10px);
  }
}

.ComplianceProcess__checkItem {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.ComplianceProcess__checkIcon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  color: var(--color-01-navy);
}

@media print, screen and (max-width: 767px) {
  .ComplianceProcess__checkIcon {
    width: 10.67vw;
    height: 10.67vw;
    font-size: 5.33vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceProcess__checkIcon {
    width: 36px;
    height: 36px;
    font-size: 14px;
  }
}

.ComplianceProcess__checkText {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  color: var(--color-01-black);
  line-height: 1.5;
  letter-spacing: 0.1em;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 0;
}

@media print, screen and (max-width: 767px) {
  .ComplianceProcess__checkText {
    font-size: 3.73vw;
    padding-top: 2.4vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceProcess__checkText {
    font-size: 14px;
    padding-top: 8px;
  }
}

.ComplianceProcess__checkTextBlock {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  min-width: 0;
  letter-spacing: 0.1em;
}

@media print, screen and (max-width: 767px) {
  .ComplianceProcess__checkTextBlock {
    gap: 1.07vw;
    padding-top: 2.4vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceProcess__checkTextBlock {
    gap: clamp(2px, 0.28vw, 4px);
    padding-top: 10px;
  }
}

.ComplianceProcess__checkTextBold {
  display: block;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  color: var(--color-01-black);
  line-height: 1.5;
}

@media print, screen and (max-width: 767px) {
  .ComplianceProcess__checkTextBold {
    font-size: 3.73vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceProcess__checkTextBold {
    font-size: 14px;
  }
}

.ComplianceProcess__checkTextSub {
  display: block;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  color: var(--color-01-black);
  line-height: 1.5;
}

@media print, screen and (max-width: 767px) {
  .ComplianceProcess__checkTextSub {
    font-size: 3.73vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceProcess__checkTextSub {
    font-size: 14px;
  }
}

/* ----------------------------------------------------------------
   # Training
   # ---------------------------------------------------------------- */

.ComplianceTraining {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media print, screen and (max-width: 767px) {
  .ComplianceTraining {
    gap: 4.27vw;
    margin-top: 2.13vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceTraining {
    gap: clamp(12px, 1.11vw, 16px);
    margin-top: 40px;
  }
}

.ComplianceTraining__heading {
  border-left: 2px solid var(--color-01-navy);
  padding-left: 16px;
}

.ComplianceTraining__title {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  color: var(--color-01-black);
  line-height: 1.6;
  letter-spacing: 0.1em;
}

@media print, screen and (max-width: 767px) {
  .ComplianceTraining__title {
    font-size: 5.33vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceTraining__title {
    font-size: clamp(18px, 1.39vw, 20px);
  }
}

.ComplianceTraining__titleSub {
  display: block;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  color: var(--color-01-black);
  line-height: 1.6;
}

@media print, screen and (max-width: 767px) {
  .ComplianceTraining__titleSub {
    font-size: 3.73vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceTraining__titleSub {
    font-size: clamp(12px, 0.97vw, 14px);
  }
}

.ComplianceTraining__text {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  color: var(--color-01-black);
  line-height: 2;
  letter-spacing: 0.1em;
}

@media print, screen and (max-width: 767px) {
  .ComplianceTraining__text {
    font-size: 4vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceTraining__text {
    font-size: clamp(13px, 1.04vw, 15px);
  }
}

/* ----------------------------------------------------------------
   # Governance
   # ---------------------------------------------------------------- */

.ComplianceGovernance {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background-color: #ffffff;
  padding: 40px 20px;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance {
    gap: 6.4vw;
    padding: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance {
    gap: clamp(16px, 1.67vw, 24px);
  }
}

.ComplianceGovernance__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__heading {
    gap: 1.07vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__heading {
    gap: clamp(2px, 0.28vw, 4px);
  }
}

.ComplianceGovernance__label {
  display: inline-block;
  background-color: var(--color-background1);
  color: var(--color-01-black);
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.6;
  -ms-flex-item-align: start;
  align-self: flex-start;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__label {
    font-size: 3.73vw;
    padding: 2.13vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__label {
    font-size: clamp(12px, 0.97vw, 14px);
    padding: clamp(6px, 0.56vw, 8px);
  }
}

.ComplianceGovernance__title {
  font-family: a-otf-ryumin-pr6n, serif;
  font-weight: 600;
  color: var(--color-01-navy);
  line-height: 1.6;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__title {
    font-size: 5.33vw;
    letter-spacing: 2.0vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__title {
    font-size: clamp(24px, 2.22vw, 32px);
    letter-spacing: 0.26em;
  }
}

.ComplianceGovernance__desc {
  font-family: a-otf-ryumin-pr6n, serif;
  color: var(--color-01-black);
  line-height: 2;
  letter-spacing: 0.1em;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__desc {
    font-size: 4vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__desc {
    font-size: clamp(13px, 1.04vw, 15px);
  }
}

/* Chart */
.ComplianceGovernance__chart {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__chart {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 5.33vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__chart {
    gap: 0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

/* Left column */
.ComplianceGovernance__chartLeft {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__chartLeft {
    width: 100%;
    gap: 2.67vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__chartLeft {
    gap: clamp(6px, 0.56vw, 8px);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

/* Chart row (org box + arrow) */
.ComplianceGovernance__chartRow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__chartRow {
    width: 100%;
    gap: 0;
  }

  .ComplianceGovernance__chartRow .ComplianceGovernance__arrowH {
    display: none;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__chartRow {
    gap: clamp(6px, 0.56vw, 8px);
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__chartLeft > .ComplianceGovernance__chartRow:first-child {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .ComplianceGovernance__chartLeft > .ComplianceGovernance__chartRow:first-child .ComplianceGovernance__arrowH {
    margin-bottom: 20px;
  }
  .ComplianceGovernance__chartLeft > .ComplianceGovernance__chartRow:last-child {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .ComplianceGovernance__chartLeft > .ComplianceGovernance__chartRow:last-child .ComplianceGovernance__arrowH {
    margin-top: 20px;
  }
}

.ComplianceGovernance__orgBox {
  background-color: var(--color-00_white);
  border: 1px solid var(--color-02-gray);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__orgBox {
    width: 100%;
    gap: 2.13vw;
    padding: 5.33vw 4.27vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__orgBox {
    width: clamp(160px, 21vw, 220px);
    gap: clamp(6px, 0.56vw, 8px);
    padding: clamp(16px, 1.39vw, 20px);
  }
}

.ComplianceGovernance__orgIcon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: rgba(72, 72, 72, 0.1);
  border-radius: 9999px;
  color: #003d74;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__orgIcon {
    width: 12.8vw;
    height: 12.8vw;
    font-size: 6.4vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__orgIcon {
    width: 48px;
    height: 48px;
    font-size: 20px;
  }
}

.ComplianceGovernance__orgName {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  color: #003d74;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__orgName {
    font-size: 4.8vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__orgName {
    font-size: clamp(15px, 1.25vw, 18px);
  }
}

.ComplianceGovernance__orgDesc {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  color: #003d74;
  line-height: 1.5;
  opacity: 0.8;
  letter-spacing: 0.02em;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__orgDesc {
    font-size: 3.47vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__orgDesc {
    font-size: clamp(12px, 0.97vw, 14px);
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__salesBox .ComplianceGovernance__orgDesc,
  .ComplianceGovernance__mgmtBox .ComplianceGovernance__orgDesc {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}

/* Vertical arrow (連携) */
.ComplianceGovernance__arrowV {
  position: relative;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__arrowV {
    width: 100%;
    height: 8vw;
    border-left: 2px solid #003d74;
    margin-left: 50%;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__arrowV {
    width: clamp(160px, 21vw, 220px);
    height: clamp(60px, 5.56vw, 80px);
    border-left: 2px solid #003d74;
    margin-left: clamp(80px, 10.5vw, 110px);
  }

  .ComplianceGovernance__arrowV::before {
    content: '';
    position: absolute;
    left: -6px;
    top: 0;
    border-bottom: 7px solid #003d74;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
  }

  .ComplianceGovernance__arrowV::after {
    content: '';
    position: absolute;
    left: -6px;
    bottom: 0;
    border-top: 7px solid #003d74;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
  }
}

.ComplianceGovernance__arrowVLabel {
  position: absolute;
  left: 0;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background-color: var(--color-00_white);
  color: #003d74;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__arrowVLabel {
    font-size: 3.47vw;
    padding: 1.07vw 2.13vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__arrowVLabel {
    font-size: 16px;
    padding: 2px 8px;
  }
}

/* Horizontal arrow (監査 / 規律推進) */
.ComplianceGovernance__arrowH {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  border-top: 2px solid #003d74;
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__arrowH {
    width: clamp(50px, 7.5vw, 108px);
  }

  .ComplianceGovernance__arrowH::after {
    content: '';
    position: absolute;
    right: -6px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border-left: 8px solid #003d74;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
  }
}

.ComplianceGovernance__arrowLabel {
  position: absolute;
  background-color: var(--color-00_white);
  color: var(--color-01-black);
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__arrowLabel {
    font-size: clamp(13px, 1.11vw, 16px);
    padding: 2px 6px;
  }
}

/* Sales + Management */
.ComplianceGovernance__salesMgmt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  border: 1px solid #005bac;
  background-color: var(--color-background1);
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__salesMgmt {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0;
    padding: 5.33vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__salesMgmt {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: clamp(12px, 1.39vw, 20px);
    gap: 12px;
  }
}

.ComplianceGovernance__salesBox,
.ComplianceGovernance__mgmtBox {
  background-color: var(--color-00_white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__salesBox,
  .ComplianceGovernance__mgmtBox {
    gap: 4.27vw;
    padding: 5.33vw 4.27vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__salesBox,
  .ComplianceGovernance__mgmtBox {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: clamp(170px, 23vw, 240px);
    gap: clamp(12px, 1.11vw, 16px);
    padding: clamp(20px, 1.67vw, 24px) clamp(14px, 1.11vw, 16px);
  }
}

/* Separator */
.ComplianceGovernance__separator {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__separator {
    height: 8vw;
    width: 100%;
    border-top: 2px dashed var(--color-02-gray);
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__separator {
    width: clamp(36px, 5.07vw, 73px);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .ComplianceGovernance__separator::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-1px);
    transform: translateX(-1px);
    border-left: 2px dashed var(--color-02-gray);
  }
}

.ComplianceGovernance__separatorLabel {
  position: absolute;
  background-color: var(--color-00_white);
  color: #003d74;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  text-align: center;
  line-height: 1.3;
  letter-spacing: 0.02em;
  border-radius: 200px;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__separatorLabel {
    font-size: 3.2vw;
    padding: 1.07vw 2.13vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__separatorLabel {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    align-items: center;
    gap: 2px;
    width: clamp(48px, 6vw, 68px);
    height: clamp(48px, 6vw, 68px);
    border-radius: 50%;
    font-size: clamp(10px, 0.83vw, 12px);
    padding: 4px;
    white-space: nowrap;
  }
}

.ComplianceGovernance__separatorIcon {
  font-size: 12px;
  color: #003d74;
  line-height: 1;
}

/* Restrictions / Duties */
.ComplianceGovernance__restrictions,
.ComplianceGovernance__duties {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  border-top: 1px solid var(--color-02-gray);
  width: 100%;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  text-align: left;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__restrictions,
  .ComplianceGovernance__duties {
    gap: 1.07vw;
    padding-top: 4.27vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__restrictions,
  .ComplianceGovernance__duties {
    gap: clamp(2px, 0.28vw, 4px);
    padding-top: clamp(12px, 1.11vw, 16px);
  }
}

.ComplianceGovernance__restrictLabel {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  color: var(--color-01-black);
  letter-spacing: 0.1em;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__restrictLabel {
    font-size: 3.2vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__restrictLabel {
    font-size: clamp(11px, 0.83vw, 12px);
  }
}

.ComplianceGovernance__restrictList,
.ComplianceGovernance__dutyList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  width: 100%;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__restrictList,
  .ComplianceGovernance__dutyList {
    gap: 1.07vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__restrictList,
  .ComplianceGovernance__dutyList {
    gap: clamp(2px, 0.28vw, 4px);
  }
}

.ComplianceGovernance__restrictList li,
.ComplianceGovernance__dutyList li {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  color: var(--color-01-black);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__restrictList li,
  .ComplianceGovernance__dutyList li {
    font-size: 3.2vw;
    gap: 1.07vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__restrictList li,
  .ComplianceGovernance__dutyList li {
    font-size: clamp(11px, 0.83vw, 12px);
    gap: 4px;
  }
}

.ComplianceGovernance__restrictList li .fa-ban {
  color: var(--color-01-navy);
}

.ComplianceGovernance__dutyList li .fa-check {
  color: var(--color-01-navy);
}

/* Note */
.ComplianceGovernance__note {
  font-family: a-otf-ryumin-pr6n, serif;
  color: var(--color-01-black);
  line-height: 2;
  letter-spacing: 0.1em;
}

@media print, screen and (max-width: 767px) {
  .ComplianceGovernance__note {
    font-size: 3.2vw;
  }
}

@media print, screen and (min-width: 768px) {
  .ComplianceGovernance__note {
    font-size: clamp(11px, 0.83vw, 12px);
  }
}

/* ----------------------------------------------------------------
   # Governance chart: SP → PC layout override (horizontal scroll)
   # ---------------------------------------------------------------- */
@media print, screen and (max-width: 767px) {
  /* Chart: 横並び + 横スクロール */
  .ComplianceGovernance__chart {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 8px;
  }

  /* Left column */
  .ComplianceGovernance__chartLeft {
    width: auto;
    gap: clamp(6px, 0.56vw, 8px);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  /* Chart rows */
  .ComplianceGovernance__chartRow {
    width: auto;
    gap: clamp(6px, 0.56vw, 8px);
  }

  /* 水平矢印を表示 */
  .ComplianceGovernance__chartRow .ComplianceGovernance__arrowH {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  /* 上段: 監査矢印を下端（内側）へ */
  .ComplianceGovernance__chartLeft > .ComplianceGovernance__chartRow:first-child {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  .ComplianceGovernance__chartLeft > .ComplianceGovernance__chartRow:first-child .ComplianceGovernance__arrowH {
    margin-bottom: 20px;
  }

  /* 下段: 規律推進矢印を上端（内側）へ */
  .ComplianceGovernance__chartLeft > .ComplianceGovernance__chartRow:last-child {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .ComplianceGovernance__chartLeft > .ComplianceGovernance__chartRow:last-child .ComplianceGovernance__arrowH {
    margin-top: 20px;
  }

  /* Org boxes */
  .ComplianceGovernance__orgBox {
    width: 220px;
    gap: clamp(6px, 0.56vw, 8px);
    padding: clamp(16px, 1.39vw, 20px);
  }

  /* Org icon */
  .ComplianceGovernance__orgIcon {
    width: 48px;
    height: 48px;
    font-size: 20px;
  }

  /* Org name */
  .ComplianceGovernance__orgName {
    font-size: clamp(15px, 1.25vw, 18px);
  }

  /* Org desc */
  .ComplianceGovernance__orgDesc {
    font-size: clamp(12px, 0.97vw, 14px);
  }

  /* salesBox/mgmtBox 内の orgDesc を伸ばしてラインを揃える */
  .ComplianceGovernance__salesBox .ComplianceGovernance__orgDesc,
  .ComplianceGovernance__mgmtBox .ComplianceGovernance__orgDesc {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }

  /* 縦矢印（連携） */
  .ComplianceGovernance__arrowV {
    width: 220px;
    height: clamp(60px, 5.56vw, 80px);
    border-left: 2px solid #003d74;
    margin-left: 110px;
  }
  .ComplianceGovernance__arrowV::before {
    content: '';
    position: absolute;
    left: -6px;
    top: 0;
    border-bottom: 7px solid #003d74;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
  }
  .ComplianceGovernance__arrowV::after {
    content: '';
    position: absolute;
    left: -6px;
    bottom: 0;
    border-top: 7px solid #003d74;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
  }

  /* 縦矢印ラベル */
  .ComplianceGovernance__arrowVLabel {
    font-size: 16px;
    padding: 2px 8px;
  }

  /* 水平矢印 */
  .ComplianceGovernance__arrowH {
    width: clamp(80px, 7.5vw, 108px);
  }
  .ComplianceGovernance__arrowH::after {
    content: '';
    position: absolute;
    right: -6px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border-left: 8px solid #003d74;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
  }

  /* 水平矢印ラベル（監査/規律推進） */
  .ComplianceGovernance__arrowLabel {
    font-size: clamp(13px, 1.11vw, 16px);
    padding: 2px 6px;
  }

  /* Sales + Management */
  .ComplianceGovernance__salesMgmt {
    width: auto;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: clamp(16px, 1.39vw, 20px);
    gap: 12px;
  }

  /* Sales / Mgmt boxes */
  .ComplianceGovernance__salesBox,
  .ComplianceGovernance__mgmtBox {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 240px;
    gap: clamp(12px, 1.11vw, 16px);
    padding: clamp(20px, 1.67vw, 24px) clamp(14px, 1.11vw, 16px);
  }

  /* Separator: 縦破線 */
  .ComplianceGovernance__separator {
    height: auto;
    width: clamp(56px, 5.07vw, 73px);
    border-top: none;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .ComplianceGovernance__separator::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-1px);
    transform: translateX(-1px);
    border-left: 2px dashed var(--color-02-gray);
  }

  /* Separator label: 正円バッジ */
  .ComplianceGovernance__separatorLabel {
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 2px;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    font-size: clamp(10px, 0.83vw, 12px);
    padding: 4px;
    white-space: nowrap;
  }

  /* Restrictions / Duties */
  .ComplianceGovernance__restrictions,
  .ComplianceGovernance__duties {
    gap: clamp(2px, 0.28vw, 4px);
    padding-top: clamp(12px, 1.11vw, 16px);
  }

  .ComplianceGovernance__restrictLabel {
    font-size: clamp(11px, 0.83vw, 12px);
  }

  .ComplianceGovernance__restrictList,
  .ComplianceGovernance__dutyList {
    gap: clamp(2px, 0.28vw, 4px);
  }

  .ComplianceGovernance__restrictList li,
  .ComplianceGovernance__dutyList li {
    font-size: clamp(11px, 0.83vw, 12px);
    gap: 4px;
  }
}

/* ----------------------------------------------------------------
   # Background Decorations (PC only)
   # ---------------------------------------------------------------- */

@media print, screen and (min-width: 768px) {
  .ComplianceMain {
    position: relative;
    isolation: isolate;
    overflow-x: clip;
  }

  /* BG1: #ebf0f5 — right side, behind ComplianceWarning */
  .ComplianceWarning {
    position: relative;
  }

  .ComplianceWarning::before {
    content: "";
    position: absolute;
    z-index: -1;
    background-color: var(--color-background1);
    left: 50%;
    right: -100vw;
    top: -3.775vw;
    height: 42.71vw;
  }

  /* BG2: #ebf0f5 — left side, behind ComplianceTraining */
  .ComplianceTraining {
    position: relative;
  }

  .ComplianceTraining::before {
    content: "";
    position: absolute;
    z-index: -1;
    background-color: var(--color-background1);
    left: -100vw;
    right: 63.2%;
    top: 0;
    height: 42.71vw;
  }

  /* BG3: #f3f1ee — right side, behind ComplianceGovernance */
  .ComplianceGovernance {
    position: relative;
  }

  .ComplianceGovernance::before {
    content: "";
    position: absolute;
    z-index: -1;
    background-color: #f3f1ee;
    left: 36.8%;
    right: -100vw;
    top: 0;
    height: 65.49vw;
  }

}
