@charset "utf-8";
/* ==========================================
   contact page styles
   ========================================== */
@layer base {
body { margin: 0; background: #fff; -webkit-font-smoothing: antialiased; }
  a { color: inherit; text-decoration: none; transition: opacity .2s ease; }
  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; }
  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; }
  input, textarea { font-family: 'Noto Sans JP', sans-serif; }
  input::placeholder, textarea::placeholder { color: #a8a8a8; }
  @media (max-width: 767px) {
    .sp-body { padding: 33px 23px 0 !important; }
    .sp-field { grid-template-columns: minmax(0, 1fr) !important; }
    .sp-field > div:first-child { padding-top: 0 !important; margin-bottom: 11px !important; }
    .sp-note, .sp-submit { padding-left: 0 !important; }
    .sp-note { text-align: left !important; font-size: 16px !important; }
    .sp-topics { grid-template-columns: minmax(0, 1fr) !important; gap: 13px !important; margin-top: 29px !important; }
    .sp-field { grid-template-columns: minmax(0, 1fr) !important; gap: 11px !important; }
    .sp-field > div:first-child { padding-top: 0 !important; }
    .sp-label { font-size: 23px !important; }
    .sp-btn { width: 100% !important; height: 44px !important; }
    .sp-sec-head { margin-top: 73px !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 *), button:not(.om-keep *) * { font-size: 13px !important; }
    .om-keep { width: 480px !important; zoom: var(--spz) !important; }
    .om-inner > :not(.om-keep):not(.om-spc) { display: none !important; }
  }
}

.cf8 { font-family: "Noto Sans JP", sans-serif; font-size: calc(3.33333vw); line-height: calc(7.5vw); letter-spacing: 0.06em; color: rgb(34, 34, 34); text-align: justify; }
.cf9 { color: rgb(230, 0, 18); }
.cfa { margin-top: calc(13.8889vw); display: flex; align-items: baseline; gap: calc(2.22222vw); }
.cfb { 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(66, 178, 145); white-space: nowrap; }
.cfc { font-family: "Noto Sans JP", sans-serif; font-size: calc(3.33333vw); letter-spacing: 0.06em; color: rgb(34, 34, 34); white-space: nowrap; }
.cfd { margin-top: calc(6.94444vw); }
.cfe { height: calc(8.33333vw); display: flex; align-items: flex-start; gap: calc(3.33333vw); cursor: pointer; }
.cff { margin: calc(0.277778vw) 0px 0px; width: calc(5vw); height: calc(5vw); flex: 0 0 auto; accent-color: rgb(66, 178, 145); }
.cfg { font-family: "Noto Sans JP", sans-serif; font-size: calc(3.33333vw); line-height: calc(5.55556vw); letter-spacing: 0.06em; color: rgb(34, 34, 34); white-space: nowrap; }
.cfh { margin-top: calc(-1.66667vw); }
.cfi { padding-top: calc(10vw); }
.cfj { margin-top: calc(4.16667vw); display: block; width: 100%; height: calc(13.8889vw); box-sizing: border-box; padding: 0px calc(3.05556vw); border: 0px; background: rgb(247, 247, 247); font-family: "Noto Sans JP", sans-serif; font-size: calc(3.33333vw); letter-spacing: 0.06em; color: rgb(34, 34, 34); }
.cfk { margin-top: calc(4.16667vw); display: block; width: 100%; height: calc(58.3333vw); box-sizing: border-box; padding: calc(3.88889vw) calc(3.05556vw); border: 0px; background: rgb(247, 247, 247); font-family: "Noto Sans JP", sans-serif; font-size: calc(3.33333vw); line-height: calc(7.5vw); letter-spacing: 0.06em; color: rgb(34, 34, 34); resize: vertical; }
.cfl { margin: calc(8.33333vw) 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(34, 34, 34); }
.cfm { margin-top: calc(4.16667vw); height: 1px; background: rgb(223, 227, 225); }
.cfn { margin-top: calc(8.33333vw); height: calc(13.8889vw); display: flex; align-items: center; justify-content: center; background: rgb(66, 178, 145); color: rgb(255, 255, 255); font-family: "Noto Sans JP", sans-serif; font-size: calc(3.61111vw); font-weight: 400; letter-spacing: 0.06em; }
.cfo { margin-top: 52px; height: 1px; background: rgb(226, 226, 226); }
.cfp { margin-top: 96px; }
.cfq { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.cfr { font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-size: 21px; font-weight: 400; letter-spacing: 0.12em; color: rgb(66, 178, 145); }
.cfs { color: rgb(230, 0, 18); font-size: 21px; }
.cft { margin-top: 58px; display: grid; grid-template-columns: 541px minmax(0px, 1fr); gap: 32px 0px; }
.cfu { display: flex; align-items: center; gap: 30px; font-size: 16px; line-height: 34px; letter-spacing: 0.06em; cursor: pointer; }
.cfv { width: 30px; height: 30px; flex: 0 0 auto; border: 1px solid rgb(181, 181, 181); border-radius: 3px; box-sizing: border-box; display: block; background: rgb(255, 255, 255); }
.cfw { margin-top: 100px; height: 1px; background: rgb(226, 226, 226); }
.cfx { margin-top: 60px; display: flex; flex-direction: column; gap: 80px; }
.cfy { display: grid; grid-template-columns: 300px minmax(0px, 1fr); align-items: start; }
.cfz { display: flex; align-items: baseline; gap: 10px; padding-top: 34px; }
.cg0 { display: block; width: 100%; height: 100px; box-sizing: border-box; padding: 0px 23px; font-family: "Noto Sans JP", sans-serif; font-size: 16px; letter-spacing: 0.16em; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; border-radius: 0px; background: rgb(246, 246, 246); color: rgb(51, 51, 51); outline-color: rgb(66, 178, 145); }
.cg1 { display: block; width: 100%; height: 300px; box-sizing: border-box; padding: 38px 23px; font-family: "Noto Sans JP", sans-serif; font-size: 16px; line-height: 32px; letter-spacing: 0.16em; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; border-radius: 0px; background: rgb(246, 246, 246); resize: none; color: rgb(51, 51, 51); outline-color: rgb(66, 178, 145); }
.cg2 { margin-top: 44px; padding-left: 300px; text-align: center; font-size: 16px; line-height: 34px; letter-spacing: 0.06em; color: rgb(51, 51, 51); }
.cg3 { margin-top: 40px; height: 1px; background: rgb(226, 226, 226); }
.cg4 { margin-top: 80px; padding-left: 300px; }
.cg5 { width: 100%; height: 100px; background: rgb(66, 178, 145); color: rgb(255, 255, 255); display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 700; letter-spacing: 0.1em; }