@charset "utf-8";
/* ==========================================
   company page styles
   ========================================== */
@layer base {
body { margin: 0; background: #f3f8f3; -webkit-font-smoothing: antialiased; }
  a { transition: transform .28s cubic-bezier(.34,1.3,.64,1), box-shadow .28s ease, opacity .2s ease; color: inherit; text-decoration: none; }
  a { transition: transform .28s cubic-bezier(.34,1.3,.64,1), box-shadow .28s ease, background .28s ease, opacity .2s ease; }
  a:hover { opacity: .78; }
  @media (min-width: 768px) { .om-spc { display: none !important; } }
  html, body { overflow-x: clip; }
  @media all {
    .bleed { position: relative; }
    .bleed::before, .bleed::after { content: ""; position: absolute; top: 0; bottom: 0; width: 4000px; background: inherit; pointer-events: none; }
    .bleed::before { right: 100%; }
    .bleed::after { left: 100%; }
  }
  a[style*="border-radius: 999px"]:hover, a[style*="border-radius: 10px"]:hover, a[style*="border: 1px solid #fff"]:hover { opacity: 1; transform: translateY(-4px); box-shadow: 0 10px 24px rgba(66,178,145,.26); }
  span[style*="cursor: pointer"] { transition: transform .28s cubic-bezier(.34,1.3,.64,1), box-shadow .28s ease, background .2s ease, color .2s ease, border-color .2s ease; }
  span[style*="cursor: pointer"]:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(66,178,145,.26); }
  span[style*="border-radius: 999px"] { transition: transform .3s cubic-bezier(.34,1.3,.64,1), box-shadow .3s ease; }
  span[style*="icons/i58"], span[style*="icons/i59"] { transition: transform .3s cubic-bezier(.34,1.3,.64,1), filter .3s ease; }
  a:hover span[style*="icons/i58"], a:hover span[style*="icons/i59"] { transform: translateY(-4px); filter: drop-shadow(0 7px 10px rgba(66,178,145,.35)); }
  a:hover span[style*="border: 1px solid #cfe3d9"] { transform: translateY(-4px); box-shadow: 0 8px 18px rgba(66,178,145,.28); }
  a:hover span[style*="rgba(255,255,255,.8)"] { transform: translateY(-4px); box-shadow: 0 8px 18px rgba(0,0,0,.18); }
  a:hover span[style*="letter-spacing: .1em"] { text-decoration: underline; text-underline-offset: 7px; text-decoration-thickness: 1px; }
  @media (max-width: 767px) {
    .om-card { margin: 11px 11px 0 !important; padding: 47px 36px 52px !important; border-radius: 16px !important; }
    .om-sec { padding: 63px 36px 68px !important; }
    .om-pad { padding: 0 36px !important; }
    .om-h2 { font-size: 24px !important; }
    .om-lead { font-size: 17px !important; line-height: 32px !important; }
    .om-row { grid-template-columns: minmax(0, 1fr) !important; gap: 8px !important; padding: 18px 0 20px !important; }
    .om-g2, .om-g2r, .om-g3 { grid-template-columns: minmax(0, 1fr) !important; gap: 36px !important; }
    .om-g2r > div:first-child { order: 2 !important; }
    .om-bleed { height: 203px !important; margin: 0 !important; border-radius: 13px !important; }
    .om-portrait { height: 309px !important; border-radius: 13px !important; }
    .om-ins { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
    .om-ins > div { min-height: 106px !important; gap: 10px !important; padding: 15px 11px !important; }
    .om-ins span[role="img"] { max-width: 122px !important; height: 36px !important; }
    .om-ins a { font-size: 16px !important; white-space: nowrap !important; gap: 5px !important; }
    .om-creed-pad { padding: 33px 36px 0 !important; }
    .om-policy-head { flex-direction: column !important; align-items: flex-start !important; gap: 11px !important; }
    .om-policy-head > span:nth-child(2) { display: none !important; }
    .om-card { padding-left: 24px !important; padding-right: 24px !important; }
    .om-sec { padding-left: 20px !important; padding-right: 20px !important; }
    .om-card .om-pad, .om-card .om-creed-pad { padding-left: 0 !important; padding-right: 0 !important; }
    .om-ins { grid-template-columns: minmax(0, 1fr) !important; gap: 10px !important; }
    .om-ins > div { min-height: 0 !important; display: grid !important; grid-template-columns: 130px minmax(0, 1fr) !important; align-items: center !important; justify-items: start !important; gap: 16px !important; padding: 16px 18px !important; }
    .om-ins > div > div { align-items: flex-start !important; }
    .om-ins span[role="img"] { max-width: 130px !important; width: 130px !important; height: 40px !important; }
    [style*="font-size: 16px"][style*="line-height"]:not(.om-keep *):not(.sp-keep16):not(a):not(a *):not(label):not(label *):not([style*="font-weight: 500"]):not([style*="font-weight: 700"]):not([style*="font-weight: 800"]):not([style*="Montserrat"]) { font-size: 13px !important; }
    .sp-h1:not(.om-keep *), .sp-h2:not(.om-keep *), .om-h2:not(.om-keep *), [style*="font-size: 32px"]:not(.om-keep *) { font-size: 22px !important; line-height: 1.5 !important; font-weight: 400 !important; -webkit-text-stroke: 0.5px currentColor; paint-order: stroke fill; }
    [style*="font-size: 19px"]:not(.om-keep *), [style*="font-size: 20px"]:not(.om-keep *), [style*="font-size: 21px"]:not(.om-keep *), [style*="font-size: 22px"]:not(.om-keep *) { font-size: 17px !important; }
    a:is(:has([style*="i58.svg"]), :has([style*="i59.svg"]), [style*="border: 1px solid #fff"]):not(.om-keep *) [style*="font-size: 16px"], button:not(.om-keep *) { font-size: 13px !important; }
    [style*="font-size: 18px"]:not(.om-keep *) { font-size: 17px !important; }
    h2[style*="100vw / 360"], [style*="font-size: calc(21 * 100vw / 360)"] { font-family: heisei-maru-gothic-std, 'Zen Maru Gothic', 'Hiragino Maru Gothic ProN', sans-serif !important; font-size: calc(22 * 100vw / 360) !important; font-weight: 400 !important; line-height: 1.3 !important; -webkit-text-stroke: 0.5px currentColor; paint-order: stroke fill; }
    [style*="margin: 0 calc(20 * 100vw / 360)"] { margin-left: 15px !important; margin-right: 15px !important; }
    [style*="padding: calc("][style*="360) 15px calc("]:not([style*="position: relative"]) { padding-top: calc(50 * 100vw / 360) !important; padding-bottom: calc(50 * 100vw / 360) !important; }
    .om-keep { width: 480px !important; zoom: var(--spz) !important; }
    .om-inner > :not(.om-keep):not(.om-spc) { display: none !important; }
  }
}

.c6n { margin: 0px 15px; background: rgb(255, 255, 255); border-radius: calc(4.44444vw); padding: calc(13.8889vw) calc(4.16667vw); }
.c6o { padding-left: calc(4.16667vw); }
.c6p { display: flex; align-items: center; gap: calc(5vw); }
.c6q { font-family: "Noto Sans JP", sans-serif; font-size: calc(5vw); line-height: 1.2; font-weight: 500; letter-spacing: 0.02em; color: rgb(34, 34, 34); white-space: nowrap; }
.c6r { margin-top: calc(6.66667vw); border-top: 1px solid rgb(230, 236, 233); }
.c6s { padding: calc(3.88889vw) calc(4.16667vw) calc(4.16667vw); border-bottom: 1px solid rgb(230, 236, 233); }
.c6t { font-family: "Noto Sans JP", sans-serif; font-size: calc(3.33333vw); line-height: calc(6.11111vw); letter-spacing: 0.06em; color: rgb(34, 34, 34); font-weight: 700; }
.c6u { margin-top: calc(0.555556vw); font-family: "Noto Sans JP", sans-serif; font-size: calc(3.33333vw); line-height: calc(6.66667vw); letter-spacing: 0.06em; color: rgb(51, 51, 51); white-space: pre-line; }
.c6v { margin-top: calc(3.88889vw); margin-bottom: calc(2.77778vw); width: 100%; height: calc(41.6667vw); border: 0px; display: block; }
.c6x { margin-top: calc(4.16667vw); font-family: "Noto Sans JP", sans-serif; font-size: calc(3.33333vw); line-height: calc(7.5vw); letter-spacing: 0.06em; color: rgb(51, 51, 51); white-space: normal; }
.c6y { margin-top: calc(1.66667vw); text-align: right; font-family: "Noto Sans JP", sans-serif; font-size: calc(3.33333vw); line-height: calc(7.5vw); letter-spacing: 0.06em; color: rgb(51, 51, 51); }
.c71 { padding-left: 0px; }
.c72 { margin: calc(4.16667vw) 0px 0px; font-family: "Noto Sans JP", sans-serif; font-size: calc(3.33333vw); line-height: calc(7.5vw); letter-spacing: 0.06em; color: rgb(51, 51, 51); white-space: normal; }
.c73 { margin: 0px; }
.c74 { border-bottom: 1px solid rgb(66, 178, 145); box-sizing: border-box; padding: calc(6.11111vw) 0px; }
.c75 { display: flex; align-items: center; gap: calc(3.33333vw); height: calc(5.55556vw); }
.c76 { font-family: Montserrat, sans-serif; font-weight: 700; font-size: calc(3.88889vw); color: rgb(66, 178, 145); }
.c78 { margin-top: calc(2.22222vw); font-family: "Noto Sans JP", sans-serif; font-size: calc(3.33333vw); line-height: calc(7.5vw); letter-spacing: 0.04em; color: rgb(51, 51, 51); white-space: normal; }
.c79 { box-sizing: border-box; padding-top: calc(6.11111vw); }
.c7a { margin: calc(13.8889vw) 0px 0px; display: flex; align-items: center; gap: calc(4.44444vw); }
.c7b { width: 1px; height: calc(6.11111vw); background: rgb(207, 227, 217); display: block; flex: 0 0 auto; }
.c7c { font-family: Montserrat, sans-serif; font-weight: 700; font-size: calc(2.5vw); letter-spacing: 0.06em; color: rgb(66, 178, 145); }
.c7d { margin-top: calc(5.55556vw); }
.c7e { margin-top: calc(0vw); }
.c7f { margin: calc(2.77778vw) 0px 0px; font-family: "Noto Sans JP", sans-serif; font-size: calc(3.88889vw); line-height: 1.2; font-weight: 500; letter-spacing: 0.06em; color: rgb(34, 34, 34); padding-bottom: calc(1.66667vw); border-bottom: 1px solid rgb(66, 178, 145); white-space: nowrap; }
.c7g { margin: calc(5.27778vw) 0px 0px; font-family: "Noto Sans JP", sans-serif; font-size: calc(3.33333vw); line-height: calc(7.5vw); letter-spacing: 0.06em; color: rgb(51, 51, 51); white-space: normal; }
.c7i { margin-top: calc(11.1111vw); font-family: Montserrat, sans-serif; font-weight: 700; font-size: calc(3.88889vw); letter-spacing: 0.1em; color: rgb(66, 178, 145); }
.c7j { margin-top: calc(2.77778vw); border-top: 1px solid rgb(223, 232, 228); }
.c7k { display: flex; align-items: center; justify-content: space-between; height: calc(19.4444vw); box-sizing: border-box; border-bottom: 1px solid rgb(223, 232, 228); }
.c7l { font-family: "Noto Sans JP", sans-serif; font-size: calc(3.88889vw); font-weight: 500; letter-spacing: 0.06em; color: rgb(34, 34, 34); }
.c7v { background: rgb(255, 255, 255); border-radius: 32px; margin: 40px 80px 0px; padding: 96px 125px 104px; }
.c7x { font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 32px; font-weight: 400; line-height: 1; letter-spacing: 0.08em; display: block; }
.c7y { margin-top: 60px; border-top: 1px solid rgb(230, 236, 233); }
.c7z { display: grid; grid-template-columns: 275px minmax(0px, 1fr); gap: 20px; padding: 32px 0px 34px; border-bottom: 1px solid rgb(230, 236, 233); align-items: start; }
.c82 { margin-top: 26px; max-width: 780px; }
.c83 { width: 100%; height: 320px; border: 0px; border-radius: 14px; display: block; }
.c84 { margin-top: 16px; display: inline-flex; align-items: center; gap: 12px; font-size: 16px; letter-spacing: 0.06em; color: rgb(66, 178, 145); }
.c85 { width: 7px; height: 7px; border-top: 1.5px solid rgb(66, 178, 145); border-right: 1.5px solid rgb(66, 178, 145); transform: rotate(45deg); display: block; }
.c86 { padding: 150px 80px 0px; }
.c87 { margin-top: 36px; display: grid; grid-template-columns: minmax(0px, 1fr) 540px; gap: 70px; align-items: start; }
.c88 { font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 20px; font-weight: 500; line-height: 44px; letter-spacing: 0.08em; }
.c89 { margin-top: 42px; font-size: 16px; line-height: 34px; letter-spacing: 0.06em; color: rgb(68, 68, 68); }
.c8a { margin: 32px 0px 0px; }
.c8b { margin-top: 46px; display: flex; align-items: baseline; gap: 22px; }
.c8c { font-size: 16px; line-height: 34px; letter-spacing: 0.06em; color: rgb(85, 85, 85); }
.c8d { font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 22px; font-weight: 400; letter-spacing: 0.12em; }
.c8e { background: rgb(66, 178, 145); margin-top: 150px; padding: 150px 0px; }
.c8f { background: rgb(255, 255, 255); border-radius: 32px; margin: 0px 80px; padding: 0px 0px 110px; }
.c8h { padding: 96px 100px 0px 0px; }
.c8i { margin-top: 24px; font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 18px; font-weight: 400; line-height: 48px; letter-spacing: 0.1em; color: rgb(51, 51, 51); }
.c8j { padding: 0px 100px; }
.c8k { margin-top: 100px; border-top: 1px solid rgb(66, 178, 145); }
.c8l { padding: 38px 0px 42px; border-bottom: 1px solid rgb(66, 178, 145); }
.c8m { display: flex; align-items: baseline; gap: 22px; }
.c8p { margin-top: 20px; font-size: 16px; line-height: 34px; letter-spacing: 0.06em; color: rgb(68, 68, 68); white-space: pre-line; }
.c8q { margin-top: 130px; display: flex; align-items: center; gap: 34px; }
.c8r { width: 1px; height: 44px; background: rgb(207, 227, 217); display: block; }
.c8s { font-family: Montserrat, sans-serif; font-weight: 700; font-size: 16px; letter-spacing: 0.16em; color: rgb(66, 178, 145); }
.c8t { margin-top: 60px; display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 60px; }
.c8u { margin-top: 28px; font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 21px; font-weight: 500; line-height: 34px; letter-spacing: 0.06em; white-space: pre-line; }
.c8v { margin-top: 20px; font-size: 16px; line-height: 34px; letter-spacing: 0.06em; color: rgb(68, 68, 68); }
.c8w { background: rgb(255, 255, 255); border-radius: 32px; margin: 150px 80px 0px; padding: 110px 0px; }
.c8x { display: grid; grid-template-columns: minmax(0px, 1fr) 560px; gap: 80px; align-items: center; }
.c8y { padding-left: 100px; }
.c8z { margin-top: 24px; font-size: 16px; line-height: 34px; letter-spacing: 0.06em; color: rgb(51, 51, 51); display: flex; flex-direction: column; gap: 0px; }
.c90 { margin-top: 110px; display: grid; grid-template-columns: 560px minmax(0px, 1fr); gap: 80px; align-items: center; }
.c91 { padding-right: 100px; }
.c92 { font-family: Montserrat, sans-serif; font-weight: 700; font-size: 16px; letter-spacing: 0.2em; color: rgb(66, 178, 145); }
.c93 { margin-top: 20px; border-top: 1px solid rgb(223, 232, 228); }
.c94 { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 30px 0px; border-bottom: 1px solid rgb(223, 232, 228); }
.c95 { font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 20px; font-weight: 500; letter-spacing: 0.08em; }
.c96 { background: rgb(243, 248, 243); margin-top: 0px; padding: 150px 80px 160px; }
.c99 { margin-top: 22px; font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 32px; font-weight: 400; line-height: 1; letter-spacing: 0.08em; display: block; }
.c9a { margin-top: 54px; display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 20px; }
.c9b { background: rgb(255, 255, 255); border-radius: 14px; min-height: 164px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 24px 20px; box-sizing: border-box; }
.c9d { font-size: 16px; letter-spacing: 0.06em; color: rgb(51, 51, 51); display: flex; align-items: center; gap: 8px; }
/* 先方修正対応（代表メッセージの段落間） */
.c6x > div + div { margin-top: calc(3.75vw); }
