@charset "utf-8";
/* ==========================================
   Reverent — common styles (all pages)
   ========================================== */
h1 { margin: 0; font-size: inherit; font-weight: inherit; }
.rv-ld-seen [data-js="loader"] { display: none !important; }

/* base (header / footer / shared rules) */
@layer base {
.tk-heisei-maru-gothic-std{font-family:"heisei-maru-gothic-std",sans-serif;}
html { scroll-behavior: smooth; }
  @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
  .om-sp-btn, .om-sp-menu { display: none; }
  @media (max-width: 1100px) {
    .om-pc-nav { display: none !important; }
    .om-sp-btn { display: flex !important; }
    .om-sp-menu { display: block !important; }
  }
  @media (max-width: 767px) {
    .om-sp-btn { z-index: 130 !important; right: 15px !important; top: 14px !important; width: 52px !important; height: 52px !important; }
    .om-sp-btn > span { width: 24px !important; }
  }
  .sh-sponly .om-pc-nav { display: none !important; }
  @media (min-width: 768px) {
    .sh-sponly .om-sp-btn, .sh-sponly .om-sp-menu { display: none !important; }
  }
@media all {
    .ft-cols, .ft-bottom { position: relative; }
    .ft-cols::before, .ft-cols::after, .ft-bottom::before, .ft-bottom::after { content: ""; position: absolute; top: 0; bottom: 0; width: 4000px; background: inherit; pointer-events: none; }
    .ft-cols::before, .ft-bottom::before { right: 100%; }
    .ft-cols::after, .ft-bottom::after { left: 100%; }
  }
  .ft-sp { display: none; }
  @media (max-width: 767px) {
    .om-keep .ft-root { zoom: calc(1 / var(--spz, 1)); }
    .ft-cols, .ft-bottom { display: none !important; }
    .ft-sp { display: block !important; }
    .ft-contact { padding: calc(50 * 100vw / 360) 15px calc(50 * 100vw / 360) !important; min-height: 0 !important; text-align: center; }
    .ft-scrim { background: rgba(0,0,0,.45) !important; left: 0 !important; right: 0 !important; }
    .ft-contact { overflow: hidden; height: calc(259 * 100vw / 360) !important; box-sizing: border-box !important; }
    .ft-bg { left: 0 !important; width: 100% !important; min-width: 0 !important; transform: none !important; object-fit: cover !important; object-position: 62% center !important; }
    .ft-title { font-size: calc(22 * 100vw / 360) !important; line-height: 1.2 !important; -webkit-text-stroke: 0.5px currentColor !important; }
    .ft-en { margin-top: calc(10 * 100vw / 360) !important; font-size: calc(9 * 100vw / 360) !important; letter-spacing: .1em !important; line-height: 1.2 !important; }
    .ft-msg { margin-top: calc(20 * 100vw / 360) !important; font-size: calc(14 * 100vw / 360) !important; line-height: calc(27 * 100vw / 360) !important; font-weight: 700; letter-spacing: .04em !important; white-space: nowrap; text-align: left; }
    .ft-btn { width: 100% !important; height: calc(45 * 100vw / 360) !important; margin-top: calc(20 * 100vw / 360) !important; padding: 0 calc(20 * 100vw / 360) !important; }
    .ft-btn > span:first-child { font-size: calc(11 * 100vw / 360) !important; font-weight: 700; letter-spacing: .06em !important; }
    .ft-btn > span:last-child { position: relative; width: calc(18 * 100vw / 360) !important; height: 1px !important; background: #fff !important; }
    .ft-btn > span:last-child::after { content: ""; position: absolute; right: 0; top: -3px; width: 6px; height: 6px; border-top: 1px solid #fff; border-right: 1px solid #fff; transform: rotate(45deg); }
    .ft-title, .ft-en { text-shadow: 0 1px 8px rgba(0,0,0,.45) !important; }
    .ft-cols { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; padding: 58px 26px 54px !important; min-height: 0 !important; row-gap: 44px !important; column-gap: 20px !important; }
    .ft-info { grid-column: 1 / -1 !important; }
    .ft-nav { border-left: 0 !important; padding-left: 0 !important; }
    .ft-logo { width: 150px !important; }
    .ft-co { font-size: 17px !important; }
    .ft-addr { font-size: 14px !important; line-height: 26px !important; }
    .ft-tel { font-size: 14px !important; flex-direction: column !important; gap: 6px !important; }
    .ft-sns { flex-direction: column !important; align-items: flex-start !important; gap: 18px !important; font-size: 15px !important; }
    .ft-nav-head { font-size: 17px !important; }
    .ft-nav-sub { font-size: 14px !important; line-height: 30px !important; }
    .ft-bottom { height: 64px !important; }
  }
@media all {
    .ph-wrap { position: relative; }
    .ph-wrap::before, .ph-wrap::after { content: ""; position: absolute; top: 0; bottom: 0; width: 4000px; background: inherit; pointer-events: none; z-index: 0; }
    .ph-wrap::before { right: 100%; }
    .ph-wrap::after { left: 100%; }
  }
  @media (max-width: 767px) {
    .om-keep .ph-wrap { zoom: calc(1 / var(--spz, 1)); }
    .ph-wrap { padding: 75px 15px 0 !important; }
    .ph-hero { height: calc(220 * 100vw / 360) !important; border-radius: 16px !important; background-position: var(--sp-pos) !important; }
    .ph-hero > div:first-child { height: 65% !important; background: linear-gradient(to top, rgba(0,0,0,.5), rgba(0,0,0,.25) 50%, rgba(0,0,0,0)) !important; }
    .ph-label { left: 16px !important; bottom: 20px !important; display: flex; flex-direction: column-reverse; }
    .ph-label .ph-en { margin: 0 0 calc(12 * 100vw / 360) !important; display: flex; align-items: center; gap: 8px; font-style: italic; font-size: calc(12 * 100vw / 360) !important; letter-spacing: .04em !important; }
    .ph-label .ph-en::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: #6cd3b4; display: block; flex: none; }
    .ph-en { font-size: calc(9 * 100vw / 360) !important; letter-spacing: .1em !important; }
    .ph-title { display: block !important; font-size: calc(22 * 100vw / 360) !important; line-height: 1.2 !important; -webkit-text-stroke: 0.5px currentColor !important; }
    .ph-en { margin-top: calc(10 * 100vw / 360) !important; }
    .ph-logo { left: 15px !important; top: 20px !important; }
    .ph-logo img { height: 44px !important; }
    .ph-nav { display: none !important; }
    .ph-burger, .ph-drawer { display: none !important; }
    .ph-g { padding: 79px 15px 90px !important; }
    .ph-g-crumb { font-size: 11px !important; gap: 10px !important; }
    .ph-cr-full { display: none !important; }
    .ph-sp-nocurve { display: none !important; }
    .ph-spgreen, .ph-spgreen .ph-bg { background: #42b291 !important; }
    .ph-spgreen .ph-logo img { filter: brightness(0) invert(1) !important; }
    .ph-spgreen .ph-g { display: flex !important; flex-direction: column; padding: 25px 15px calc(40 * 100vw / 360) !important; }
    .ph-spgreen .ph-g-sub { order: 1; margin: 0 !important; padding-left: 0 !important; text-align: left !important; font-family: Montserrat, sans-serif !important; font-weight: 700 !important; font-style: italic; font-size: calc(11 * 100vw / 360) !important; letter-spacing: .1em !important; color: #fff !important; }
    .ph-spgreen .ph-g-title { order: 2; margin: calc(10 * 100vw / 360) 0 0 !important; padding-left: 0 !important; text-align: left !important; color: #fff !important; -webkit-text-stroke: .5px currentColor !important; }
    .ph-spgreen .ph-g-crumb { order: 3; margin-top: calc(24 * 100vw / 360) !important; color: #fff !important; justify-content: flex-start !important; opacity: .9; }
    .ph-spgreen { overflow: hidden; }
    .ph-spgreen .ph-sp-mark { display: block !important; position: absolute; right: calc(-36 * 100vw / 360); top: calc(56 * 100vw / 360); width: calc(190 * 100vw / 360); filter: brightness(0) invert(1); opacity: .12; z-index: 1; pointer-events: none; }
    .ph-spgreen .ph-g-crumb a, .ph-spgreen .ph-g-crumb span { color: #fff !important; border-color: #fff !important; }
    .ph-spgreen .ph-g-sub { display: flex !important; align-items: center; gap: calc(8 * 100vw / 360); }
    .ph-spgreen .ph-g-sub::before { content: ""; width: calc(6 * 100vw / 360); height: calc(6 * 100vw / 360); border-radius: 50%; background: #fff; flex: none; }
    .ph-cr-short { display: inline !important; }
    .ph-g-title { margin-top: 56px !important; padding-left: 0 !important; font-size: 22px !important; }
    .ph-g-title.ph-news { margin-top: calc(12 * 100vw / 360) !important; font-family: 'Noto Sans JP', sans-serif !important; font-size: calc(18 * 100vw / 360) !important; line-height: 1.4 !important; font-weight: 500 !important; letter-spacing: .02em !important; -webkit-text-stroke: 0 !important; }
    .ph-g-sub.ph-news { display: none !important; }

    .ph-g.ph-news { padding-top: 4px !important; padding-bottom: calc(40 * 100vw / 360 + 51px) !important; }
    .ph-g-meta.ph-news { display: flex !important; align-items: center; gap: calc(10 * 100vw / 360); margin-top: calc(25 * 100vw / 360); font-size: calc(12 * 100vw / 360); order: 1; }
    .ph-g.ph-news { display: flex !important; flex-direction: column; }
    .ph-g.ph-news .ph-g-title { order: 2; }
    .ph-g-crumb.ph-news { order: 3; margin-top: calc(15 * 100vw / 360) !important; }
    .ph-g-meta .ph-g-chip { height: calc(20 * 100vw / 360); padding: 0 calc(12 * 100vw / 360); font-size: calc(10 * 100vw / 360); box-sizing: border-box; }
    .ph-crumb { position: static !important; padding: 15px 0 !important; font-size: 11px !important; gap: 10px !important; flex-wrap: wrap; justify-content: flex-end; }
  }
  @media (min-width: 768px) {
    .ph-burger, .ph-drawer { display: none !important; }
  }
}

/* shared component styles */
.c2 { position: absolute; right: 80px; top: 56px; width: 790px; font-family: "Noto Sans JP", sans-serif; color: rgb(51, 51, 51); pointer-events: auto; }
.c3 { height: 70px; display: flex; align-items: center; gap: 34px; padding-left: 40px; padding-right: 8px; box-sizing: border-box; font-weight: 700; background: rgb(255, 255, 255); border-radius: 999px; box-shadow: rgba(0, 0, 0, 0.05) 0px 2px 14px; }
.c4 { font-size: 16px; letter-spacing: 0.06em; white-space: nowrap; }
.c5 { font-size: 16px; letter-spacing: 0.06em; white-space: nowrap; display: flex; align-items: center; gap: 8px; color: rgb(51, 51, 51); }
.c6 { display: inline-block; width: 7px; height: 7px; border-right: 1.5px solid rgb(66, 178, 145); border-bottom: 1.5px solid rgb(66, 178, 145); transform: rotate(45deg) translateY(-2px); }
.c7 { margin-left: auto; padding: 0px 26px; height: 54px; background: rgb(66, 178, 145); color: rgb(255, 255, 255); font-size: 16px; letter-spacing: 0.06em; border-radius: 999px; white-space: nowrap; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.c8 { position: absolute; left: 0px; top: 68px; width: 750px; height: 16px; pointer-events: none; }
.c9 { position: absolute; left: 0px; top: 82px; width: 750px; background: rgb(255, 255, 255); border-radius: 20px; box-shadow: rgba(0, 0, 0, 0.15) 0px 16px 44px; padding: 34px 40px 38px; box-sizing: border-box; opacity: 0; transform: translateY(-8px); transition: opacity 0.18s, transform 0.18s; pointer-events: none; }
.ca { display: flex; align-items: baseline; gap: 16px; padding-bottom: 20px; border-bottom: 1px solid rgb(232, 238, 235); }
.cb { font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 20px; font-weight: 800; letter-spacing: 0.06em; }
.cc { font-family: Montserrat, sans-serif; font-weight: 700; font-size: 14px; letter-spacing: 0.16em; color: rgb(66, 178, 145); }
.cd { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px 34px; margin-top: 26px; font-weight: 400; }
.ce { display: flex; gap: 16px; align-items: center; }
.cf { display: block; }
.cg { display: block; font-size: 16px; font-weight: 500; letter-spacing: 0.05em; }
.ch { display: block; margin-top: 6px; font-size: 14px; line-height: 26px; color: rgb(119, 119, 119); letter-spacing: 0.03em; }
.ci { position: fixed; right: 20px; top: 20px; width: 68px; height: 68px; border-radius: 999px; background: rgb(66, 178, 145); border: 0px; z-index: 120; align-items: center; justify-content: center; flex-direction: column; gap: 7px; cursor: pointer; padding: 0px; box-shadow: rgba(0, 0, 0, 0.14) 0px 4px 14px; }
.cj { display: block; width: 30px; height: 1px; background: rgb(255, 255, 255); border-radius: 1px; transition: transform 0.28s, opacity 0.2s; transform: none; }
.ck { display: block; width: 30px; height: 1px; background: rgb(255, 255, 255); border-radius: 1px; transition: opacity 0.2s; opacity: 1; }
.cl { display: block; width: 30px; height: 1px; background: rgb(255, 255, 255); border-radius: 1px; transition: transform 0.28s; transform: none; }
.cm { position: fixed; inset: 0px; background: rgb(66, 178, 145); z-index: 110; opacity: 0; pointer-events: none; transition: opacity 0.3s; overflow-y: auto; font-family: "Noto Sans JP", sans-serif; color: rgb(255, 255, 255); }
.cn { position: absolute; left: 15px; top: 20px; display: block; }
.co { height: 44px; display: block; }
.cp { padding: 100px 20px 60px; max-width: 520px; margin: 0px auto; box-sizing: border-box; }
.cq { padding: 16px 0px; border-bottom: 1px solid rgba(255, 255, 255, 0.4); }
.cr { display: flex; align-items: baseline; gap: 12px; }
.cs { font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 18px; font-weight: 400; letter-spacing: 0.08em; -webkit-text-stroke: 0.3px currentcolor; }
.ct { font-family: Montserrat, sans-serif; font-weight: 700; font-size: 9px; letter-spacing: 0.12em; opacity: 0.85; }
.cu { margin-top: 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; }
.cv { font-size: 13px; letter-spacing: 0.04em; color: rgba(255, 255, 255, 0.92); }
.cw { margin-top: 22px; height: 48px; border-radius: 999px; background: rgb(255, 255, 255); color: rgb(66, 178, 145); display: flex; align-items: center; justify-content: center; font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 14px; font-weight: 800; letter-spacing: 0.1em; }
.cx { margin-top: 18px; display: flex; justify-content: center; gap: 14px; }
.cy { width: 36px; height: 36px; border-radius: 999px; background: rgb(255, 255, 255); display: flex; align-items: center; justify-content: center; }
.c17 { position: absolute; left: 48px; top: 56px; display: block; z-index: 30; }
.c18 { height: 70px; display: block; }
.c1p { font-size: 16px; letter-spacing: 0.1em; }
.c2b { font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 16px; font-weight: 800; letter-spacing: 0.14em; color: rgb(66, 178, 145); }
.c35 { font-family: "Noto Sans JP", sans-serif; color: rgb(51, 51, 51); }
.c36 { position: relative; min-height: 554px; padding: 110px 80px 105px; box-sizing: border-box; background-color: rgb(43, 58, 53); }
.c37 { position: absolute; top: 0px; bottom: 0px; left: 50%; width: 100vw; min-width: 1440px; height: 100%; transform: translateX(-50%); object-fit: cover; object-position: center center; display: block; }
.c38 { position: absolute; inset: 0px -4000px; background: linear-gradient(90deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.28) 45%, rgba(0, 0, 0, 0.12) 100%); }
.c39 { position: relative; z-index: 2; }
.c3a { font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 42px; font-weight: 400; letter-spacing: 0.06em; color: rgb(255, 255, 255); -webkit-text-stroke: 1px currentcolor; paint-order: stroke; text-shadow: rgba(0, 0, 0, 0.5) 0px 3px 20px, rgba(0, 0, 0, 0.35) 0px 1px 6px; }
.c3b { margin-top: 4px; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 17px; letter-spacing: 0.16em; color: rgb(255, 255, 255); text-shadow: rgba(0, 0, 0, 0.5) 0px 1px 8px; }
.c3c { margin-top: 75px; color: rgb(255, 255, 255); font-size: 16px; letter-spacing: 0.08em; text-shadow: rgba(0, 0, 0, 0.5) 0px 1px 8px; }
.c3d { margin-top: 62px; width: 380px; height: 70px; border: 1px solid rgb(255, 255, 255); display: flex; align-items: center; justify-content: space-between; padding: 0px 30px; box-sizing: border-box; color: rgb(255, 255, 255); }
.c3e { background: rgb(243, 248, 243); }
.c3f { padding: calc(13.8889vw) 15px calc(11.1111vw); text-align: center; }
.c3g { width: calc(47.2222vw); display: block; margin: 0px auto; }
.c3h { margin-top: calc(7.22222vw); font-size: calc(3.88889vw); font-weight: 700; letter-spacing: 0.06em; color: rgb(34, 34, 34); }
.c3i { margin-top: calc(3.33333vw); font-size: calc(3.33333vw); line-height: calc(6.11111vw); letter-spacing: 0.04em; color: rgb(85, 85, 85); }
.c3j { margin-top: calc(2.77778vw); display: flex; justify-content: center; flex-wrap: wrap; gap: calc(1.11111vw) calc(5vw); font-size: calc(3.33333vw); color: rgb(85, 85, 85); letter-spacing: 0.04em; }
.c3k { margin-top: calc(6.11111vw); display: flex; justify-content: center; gap: calc(3.88889vw); }
.c3l { width: calc(11.1111vw); height: calc(11.1111vw); border-radius: 999px; background: rgb(255, 255, 255); display: flex; align-items: center; justify-content: center; }
.c3m { margin: 0px 15px; padding: calc(7.22222vw) calc(3.33333vw); background: rgb(255, 255, 255); border-radius: calc(3.88889vw); display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1fr); gap: calc(3.88889vw) calc(2.77778vw); }
.c3n { display: flex; align-items: center; gap: calc(1.94444vw); font-size: calc(3.47222vw); letter-spacing: 0px; color: rgb(51, 51, 51); white-space: nowrap; }
.c3o { width: calc(1.38889vw); height: calc(1.38889vw); border-radius: 999px; background: rgb(66, 178, 145); display: block; flex: 0 0 auto; }
.c3p { height: calc(10vw); }
.c3q { background: rgb(66, 178, 145); height: calc(15vw); display: flex; align-items: center; justify-content: center; padding: 0px 15px; }
.c3r { color: rgb(255, 255, 255); font-family: Montserrat, sans-serif; font-weight: 600; font-size: calc(3.05556vw); letter-spacing: 0.06em; text-align: center; }
.c3s { background: rgb(242, 242, 242); min-height: 613px; box-sizing: border-box; padding: 110px 80px 80px; display: grid; grid-template-columns: minmax(0px, 1fr) 330px 330px; align-items: start; }
.c3t { width: 220px; display: block; }
.c3u { margin-top: 40px; font-size: 17px; letter-spacing: 0.08em; font-weight: 500; }
.c3v { margin-top: 22px; max-width: 460px; font-size: 14px; line-height: 28px; letter-spacing: 0.06em; color: rgb(85, 85, 85); }
.c3w { margin-top: 18px; font-size: 14px; letter-spacing: 0.06em; color: rgb(85, 85, 85); display: flex; gap: 30px; flex-wrap: wrap; }
.c3x { margin-top: 30px; display: flex; gap: 30px; align-items: center; flex-wrap: wrap; }
.c3y { display: flex; align-items: center; gap: 12px; font-size: 14px; letter-spacing: 0.06em; }
.c3z { border-left: 1px solid rgb(226, 226, 226); padding-left: 50px; font-size: 17px; letter-spacing: 0.08em; }
.c40 { font-weight: 500; display: block; }
.c41 { margin-top: 40px; font-weight: 500; display: flex; align-items: center; gap: 8px; }
.c42 { display: inline-block; width: 6px; height: 6px; border-right: 1.5px solid rgb(66, 178, 145); border-bottom: 1.5px solid rgb(66, 178, 145); transform: rotate(45deg) translateY(-2px); }
.c43 { margin-top: 14px; padding-left: 20px; font-size: 14px; line-height: 32px; color: rgb(85, 85, 85); display: flex; flex-direction: column; }
.c44 { margin-top: 32px; font-weight: 500; display: block; }
.c45 { padding-left: 50px; font-size: 17px; letter-spacing: 0.08em; }
.c46 { font-weight: 500; display: flex; align-items: center; gap: 8px; }
.c47 { margin-top: 26px; font-weight: 500; display: block; }
.c48 { background: rgb(66, 178, 145); height: 90px; display: flex; align-items: center; justify-content: center; }
.c49 { color: rgb(255, 255, 255); font-family: Montserrat, sans-serif; font-style: italic; font-weight: 600; font-size: 14px; letter-spacing: 0.04em; }
.c4p { font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: calc(3.61111vw); font-weight: 800; letter-spacing: 0.1em; color: rgb(66, 178, 145); }
.c4z { margin-top: calc(7.77778vw); border-top: 1px solid rgb(230, 230, 230); }
.c50 { position: relative; display: block; height: calc(27.7778vw); box-sizing: border-box; padding: calc(5vw) calc(8.33333vw) 0px calc(4.16667vw); border-bottom: 1px solid rgb(230, 230, 230); }
.c51 { display: flex; align-items: center; gap: calc(3.88889vw); height: calc(5.55556vw); }
.c52 { color: rgb(154, 154, 154); letter-spacing: 0.06em; font-size: calc(3.05556vw); width: calc(19.4444vw); flex: 0 0 auto; }
.c54 { display: block; margin-top: calc(5.83333vw); font-size: calc(3.33333vw); line-height: 1.2; letter-spacing: 0.06em; color: rgb(51, 51, 51); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.c55 { position: absolute; right: calc(3.33333vw); top: 50%; width: calc(2.22222vw); height: calc(2.22222vw); border-top: 1.5px solid rgb(66, 178, 145); border-right: 1.5px solid rgb(66, 178, 145); transform: translateY(-50%) rotate(45deg); }
.c5c { margin-top: calc(4.16667vw); }
.c5w { display: flex; align-items: center; gap: calc(3.88889vw); }
.c66 { background: rgb(243, 248, 243); padding: 20px; position: relative; font-family: "Noto Sans JP", sans-serif; color: rgb(51, 51, 51); }
.c67 { position: absolute; left: 0px; right: 0px; bottom: 0px; height: 260px; background: linear-gradient(to top, rgba(0, 0, 0, 0.62), rgba(0, 0, 0, 0.52) 45%, rgba(0, 0, 0, 0.24) 78%, rgba(0, 0, 0, 0)); }
.c68 { position: absolute; left: 80px; bottom: 74px; z-index: 10; }
.c69 { font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 42px; font-weight: 400; letter-spacing: 0.06em; color: rgb(255, 255, 255); white-space: nowrap; -webkit-text-stroke: 1px currentcolor; paint-order: stroke; text-shadow: rgba(0, 0, 0, 0.5) 0px 3px 20px, rgba(0, 0, 0, 0.35) 0px 1px 6px; }
.c6a { margin-top: 5px; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 15px; letter-spacing: 0.18em; color: rgb(255, 255, 255); }
.c6b { display: none; position: absolute; right: 14px; top: 18px; width: 52px; height: 52px; border-radius: 999px; background: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.08) 0px 2px 10px; z-index: 60; flex-direction: column; align-items: center; justify-content: center; gap: 6px; cursor: pointer; }
.c6c { width: 22px; height: 2px; background: rgb(51, 51, 51); display: block; border-radius: 2px; }
.c6d { position: absolute; left: 14px; right: 14px; top: 80px; background: rgb(255, 255, 255); border-radius: 16px; box-shadow: rgba(0, 0, 0, 0.18) 0px 16px 44px; padding: 22px 24px 26px; box-sizing: border-box; z-index: 55; opacity: 0; transform: translateY(-10px); transition: opacity 0.2s, transform 0.2s; pointer-events: none; }
.c6e { display: flex; flex-direction: column; }
.c6f { padding: 13px 0px; border-bottom: 1px solid rgb(238, 242, 240); font-size: 14px; letter-spacing: 0.08em; display: flex; align-items: center; justify-content: space-between; }
.c6g { width: 6px; height: 6px; border-top: 1.5px solid rgb(66, 178, 145); border-right: 1.5px solid rgb(66, 178, 145); transform: rotate(45deg); display: block; }
.c6h { margin-top: 20px; height: 48px; background: rgb(66, 178, 145); color: rgb(255, 255, 255); border-radius: 999px; display: flex; align-items: center; justify-content: center; font-size: 14px; letter-spacing: 0.08em; }
.c6i { position: absolute; right: 80px; top: 56px; width: 790px; z-index: 50; }
.c6j { padding: 38px 0px 42px 80px; display: flex; align-items: center; gap: 14px; font-size: 14px; letter-spacing: 0.06em; color: rgb(102, 102, 102); }
.c6k { width: 5px; height: 5px; border-top: 1px solid rgb(153, 170, 187); border-right: 1px solid rgb(153, 170, 187); transform: rotate(45deg); display: block; }
.c6l { color: rgb(66, 178, 145); }
.c6m { color: rgb(66, 178, 145); display: none; }
.c6w { padding: calc(13.8889vw) 15px; }
.c6z { background: rgb(66, 178, 145); padding: calc(13.8889vw) 15px; }
.c70 { background: rgb(255, 255, 255); border-radius: calc(4.44444vw); padding: calc(13.8889vw) calc(4.16667vw); }
.c77 { font-family: "Noto Sans JP", sans-serif; font-size: calc(3.88889vw); font-weight: 500; letter-spacing: 0.06em; color: rgb(34, 34, 34); white-space: nowrap; }
.c7h { margin-top: calc(8.33333vw); }
.c7m { background: rgb(255, 255, 255); padding: calc(13.8889vw) 15px; }
.c7n { text-align: center; font-family: Montserrat, sans-serif; font-weight: 700; font-style: italic; font-size: calc(2.5vw); letter-spacing: 0.1em; color: rgb(66, 178, 145); }
.c7o { margin-top: calc(2.77778vw); text-align: center; 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); }
.c7p { margin: calc(3.88889vw) auto 0px; width: calc(47.2222vw); height: 2px; background: rgb(66, 178, 145); }
.c7q { margin-top: calc(6.11111vw); display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); }
.c7r { display: flex; flex-direction: column; align-items: center; padding: calc(8.33333vw) 0px calc(1.66667vw); box-sizing: border-box; }
.c7s { margin-top: calc(2.22222vw); padding: calc(1.11111vw) calc(2.77778vw); font-size: calc(2.77778vw); font-weight: 700; letter-spacing: 0.04em; color: rgb(51, 51, 51); display: flex; align-items: center; gap: calc(1.38889vw); white-space: nowrap; }
.c7t { width: calc(1.38889vw); height: calc(1.38889vw); border-top: 1px solid rgb(66, 178, 145); border-right: 1px solid rgb(66, 178, 145); transform: rotate(45deg); display: block; flex: 0 0 auto; box-sizing: border-box; }
.c7u { padding: calc(1.11111vw) calc(2.77778vw); font-size: calc(2.77778vw); font-weight: 700; letter-spacing: 0.04em; color: rgb(85, 85, 85); display: flex; align-items: center; gap: calc(1.38889vw); white-space: nowrap; }
.c7w { display: flex; align-items: center; gap: 30px; }
.c80 { font-size: 16px; font-weight: 700; line-height: 34px; letter-spacing: 0.06em; }
.c81 { font-size: 16px; line-height: 34px; letter-spacing: 0.06em; color: rgb(51, 51, 51); white-space: pre-line; }
.c8g { display: grid; grid-template-columns: 560px minmax(0px, 1fr); gap: 80px; align-items: center; }
.c8n { font-family: Montserrat, sans-serif; font-weight: 600; font-size: 22px; color: rgb(66, 178, 145); }
.c8o { font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 21px; font-weight: 500; letter-spacing: 0.08em; }
.c97 { text-align: center; }
.c98 { font-family: Montserrat, sans-serif; font-weight: 700; font-style: italic; font-size: 16px; letter-spacing: 0.16em; color: rgb(66, 178, 145); }
.c9c { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.c9e { width: 6px; height: 6px; border-top: 1px solid rgb(66, 178, 145); border-right: 1px solid rgb(66, 178, 145); transform: rotate(45deg); display: block; }
.c9f { margin: 0px 15px; background: rgb(255, 255, 255); border-radius: calc(4.44444vw); padding: calc(13.8889vw) 0px; }
.c9n { margin-top: calc(2.77778vw); text-align: center; font-family: Montserrat, sans-serif; font-weight: 700; font-size: calc(2.5vw); letter-spacing: 0.06em; color: rgb(255, 255, 255); }
.cad { font-family: Montserrat, sans-serif; font-weight: 700; font-size: 16px; letter-spacing: 0.06em; color: rgb(66, 178, 145); }
.caf { position: absolute; inset: 0px; background: rgb(243, 248, 243); z-index: 0; }
.cag { display: none; }
.cah { display: none; position: absolute; left: 0px; right: 0px; bottom: -1px; height: 51px; background: rgb(255, 255, 255); border-radius: 50px 50px 0px 0px; z-index: 1; }
.cai { height: 70px; display: block; filter: none; }
.caj { position: relative; z-index: 2; padding: 140px 60px 40px; }
.cak { display: flex; justify-content: flex-end; align-items: center; gap: 14px; font-size: 14px; letter-spacing: 0.06em; color: rgb(102, 102, 102); flex-wrap: wrap; }
.cal { font-family: "Noto Sans JP", sans-serif; letter-spacing: 0.04em; color: rgb(255, 255, 255); }
.cam { display: none; align-items: center; border: 1px solid rgb(255, 255, 255); border-radius: 999px; color: rgb(255, 255, 255); white-space: nowrap; }
.can { margin: 80px 0px 0px; padding-left: 20px; text-align: left; font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 42px; font-weight: 400; line-height: 1.5; letter-spacing: 0.06em; color: rgb(26, 26, 26); -webkit-text-stroke: 1px currentcolor; paint-order: stroke; text-wrap: pretty; }
.cao { margin-top: 5px; padding-left: 20px; text-align: left; font-family: Montserrat, sans-serif; font-weight: 700; font-size: 15px; letter-spacing: 0.18em; color: rgb(66, 178, 145); }
.cap { background: rgb(243, 248, 243); padding-top: 15px; }
.caq { margin: 0px 15px; 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; }
.car { margin: calc(4.16667vw) 15px 0px; 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); }
.cas { margin: calc(13.8889vw) 0px 0px; text-align: center; font-family: "Noto Sans JP", sans-serif; font-size: calc(5vw); line-height: 1.2; font-weight: 500; letter-spacing: 0.02em; color: rgb(66, 178, 145); white-space: nowrap; }
.cat { margin-top: calc(2.77778vw); text-align: center; font-family: Montserrat, sans-serif; font-weight: 700; font-size: calc(2.5vw); letter-spacing: 0.06em; color: rgb(66, 178, 145); }
.cav { margin-top: calc(11.1111vw); }
.caw { margin-top: calc(13.8889vw); background: rgb(66, 178, 145); padding: calc(13.8889vw) 15px; }
.cb5 { font-family: Montserrat, sans-serif; font-weight: 700; font-size: calc(2.5vw); line-height: calc(3.33333vw); color: rgb(66, 178, 145); }
.cb6 { margin-top: calc(0.555556vw); font-family: "Noto Sans JP", sans-serif; font-size: calc(3.88889vw); line-height: calc(5.55556vw); font-weight: 500; letter-spacing: 0.06em; color: rgb(34, 34, 34); white-space: nowrap; }
.cbc { margin: 0px 15px; font-family: "Noto Sans JP", sans-serif; font-size: calc(5vw); line-height: 1.5; font-weight: 500; letter-spacing: 0.02em; color: rgb(34, 34, 34); }
.cbe { background: rgb(243, 248, 243); padding: 20px 0px 160px; }
.cbf { background: rgb(255, 255, 255); border-radius: 28px; margin: 0px 80px; padding: 80px 0px 100px; }
.cbg { padding-right: 60px; }
.cbh { font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 32px; font-weight: 400; line-height: 58px; letter-spacing: 0.06em; }
.cbi { margin-top: 24px; font-size: 16px; line-height: 34px; letter-spacing: 0.06em; color: rgb(68, 68, 68); display: flex; flex-direction: column; gap: 38px; }
.cbk { margin: 0px; font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 32px; font-weight: 400; letter-spacing: 0.06em; color: rgb(66, 178, 145); }
.cbl { margin-top: 24px; font-family: Montserrat, sans-serif; font-weight: 600; font-size: 16px; letter-spacing: 0.06em; color: rgb(201, 211, 207); }
.cbn { height: 140px; display: flex; align-items: center; justify-content: center; }
.cbp { margin-top: 24px; font-size: 16px; line-height: 34px; letter-spacing: 0.06em; color: rgb(34, 34, 34); white-space: pre-line; }
.cch { margin-top: calc(4.16667vw); text-align: center; font-family: "Noto Sans JP", sans-serif; font-size: calc(3.88889vw); line-height: calc(6.66667vw); font-weight: 500; letter-spacing: 0.06em; color: rgb(34, 34, 34); white-space: nowrap; }
.cci { margin: calc(4.16667vw) 15px 0px; 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); text-align: justify; line-break: strict; }
.cck { 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.04em; color: rgb(255, 255, 255); }
.ccl { margin-top: calc(8.33333vw); display: flex; flex-direction: column; gap: calc(4.16667vw); }
.ccm { background: rgb(255, 255, 255); border-radius: calc(4.44444vw); box-sizing: border-box; padding: calc(5.55556vw) 15px; }
.ccn { display: flex; align-items: center; gap: calc(4.44444vw); }
.ccq { margin-top: 140px; padding: 0px 80px; }
.ccr { margin-top: 96px; display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 30px; align-items: stretch; }
.ccs { border-radius: 24px; padding: 60px 6px; background: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.08) 0px 12px 36px; }
.cct { margin-top: 50px; text-align: center; font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 21px; font-weight: 500; line-height: 35px; letter-spacing: 0.06em; white-space: pre-line; }
.ccu { margin-top: 24px; padding: 0px 30px; font-size: 16px; line-height: 34px; letter-spacing: 0.06em; color: rgb(68, 68, 68); white-space: pre-line; }
.ccv { margin-top: 0px; padding: 140px 80px 150px; background: rgb(69, 178, 145); box-shadow: rgb(69, 178, 145) 0px 0px 0px 100vmax; clip-path: inset(0px -100vmax); }
.ccw { text-align: center; color: rgb(255, 255, 255); }
.ccx { font-family: Montserrat, sans-serif; font-weight: 600; font-size: 16px; letter-spacing: 0.1em; }
.ccy { margin: 28px 0px 0px; font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 32px; font-weight: 400; letter-spacing: 0.06em; }
.ccz { margin-top: 60px; font-size: 16px; line-height: 34px; letter-spacing: 0.06em; }
.cd0 { margin-top: 130px; display: flex; flex-direction: column; gap: 90px; }
.cd1 { background: rgb(255, 255, 255); border-radius: 52px; padding: 56px 72px; display: grid; grid-template-columns: 120px 360px minmax(0px, 1fr); gap: 40px; align-items: center; }
.cd2 { margin-top: 6px; font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 21px; font-weight: 400; letter-spacing: 0.08em; white-space: nowrap; }
.cd7 { font-size: 16px; line-height: 34px; letter-spacing: 0.06em; color: rgb(51, 51, 51); }
.cdv { height: 160px; }
.cdw { background: rgb(66, 178, 145); padding: 20px; position: relative; font-family: "Noto Sans JP", sans-serif; color: rgb(51, 51, 51); }
.cdx { position: absolute; inset: 0px; background: rgb(66, 178, 145); z-index: 0; }
.cdy { display: block; position: absolute; left: 0px; right: 0px; bottom: -1px; height: 51px; background: rgb(255, 255, 255); border-radius: 50px 50px 0px 0px; z-index: 1; }
.cdz { height: 70px; display: block; filter: brightness(0) invert(1); }
.ce0 { position: relative; z-index: 2; padding: 140px 60px 145px; }
.ce1 { display: flex; justify-content: flex-end; align-items: center; gap: 14px; font-size: 14px; letter-spacing: 0.06em; color: rgb(255, 255, 255); flex-wrap: wrap; }
.ce2 { width: 5px; height: 5px; border-top: 1px solid rgba(255, 255, 255, 0.8); border-right: 1px solid rgba(255, 255, 255, 0.8); transform: rotate(45deg); display: block; }
.ce3 { color: rgb(255, 255, 255); }
.ce4 { color: rgb(255, 255, 255); display: none; }
.cek { padding: 80px 180px 0px; }
.cex { color: rgb(66, 178, 145); text-decoration: underline; text-underline-offset: 3px; }
.cf7 { background: rgb(243, 248, 243); padding-bottom: calc(13.8889vw); }
.cgc { margin-top: 110px; display: flex; justify-content: center; }