@charset "utf-8";
/* ==========================================
   news-detail 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; }
  @media (max-width: 767px) {
    .sp-body { padding: 0 24px !important; }
    .sp-btn { width: 100% !important; max-width: 340px !important; height: auto !important; min-height: 64px !important; padding: 14px 18px 14px 24px !important; gap: 12px !important; box-sizing: border-box !important; }
    .sp-btn > span:first-child { letter-spacing: .02em !important; }
    .sp-img { height: 195px !important; margin-top: 37px !important; border-radius: 0 !important; }
    .sp-btn { width: 100% !important; height: 44px !important; padding: 0 18px !important; }
    .sp-btn > span:first-child { font-size: 16px !important; }
    .sp-nav { margin-top: 57px !important; flex-wrap: wrap !important; gap: 15px !important; justify-content: center !important; }
    .sp-nav > a:nth-child(2) { order: 3 !important; width: 100% !important; text-align: center !important; padding: 13px 0 !important; }
    .sp-nav > a { font-size: 16px !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; }
    .om-keep { width: 480px !important; zoom: var(--spz) !important; }
    .om-inner > :not(.om-keep):not(.om-spc) { display: none !important; }
  }
}

.ce5 { display: flex; align-items: center; border: 1px solid rgb(255, 255, 255); border-radius: 999px; color: rgb(255, 255, 255); white-space: nowrap; }
.ce6 { margin: 110px 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: 30px; font-weight: 400; line-height: 1.5; letter-spacing: 0.1em; color: rgb(255, 255, 255); -webkit-text-stroke: 1px currentcolor; paint-order: stroke; text-wrap: pretty; }
.ce7 { margin-top: 22px; padding-left: 20px; text-align: left; font-family: "Noto Sans JP", sans-serif; font-weight: 400; font-size: 16px; letter-spacing: 0.06em; color: rgb(255, 255, 255); }
.ce8 { background: rgb(255, 255, 255); padding: 0px 15px calc(13.8889vw); }
.ce9 { margin-top: 0px; font-family: "Noto Sans JP", sans-serif; font-size: calc(3.33333vw); line-height: calc(7.77778vw); letter-spacing: 0.06em; color: rgb(51, 51, 51); white-space: pre-line; }
.cea { margin-top: calc(8.33333vw); font-family: "Noto Sans JP", sans-serif; font-size: calc(3.33333vw); line-height: calc(7.77778vw); letter-spacing: 0.06em; color: rgb(51, 51, 51); }
.ceb { display: flex; flex-direction: column; gap: calc(2.22222vw); }
.cec { margin-top: calc(5.55556vw); white-space: pre-line; }
.ced { margin-top: calc(8.33333vw); min-height: calc(13.8889vw); box-sizing: border-box; padding: calc(2.22222vw) calc(5.55556vw); display: flex; align-items: center; justify-content: center; gap: calc(3.33333vw); background: rgb(66, 178, 145); color: rgb(255, 255, 255); font-family: "Noto Sans JP", sans-serif; font-size: calc(3.61111vw); font-weight: 500; letter-spacing: 0.06em; text-align: center; }
.cee { margin-top: calc(13.8889vw); display: flex; align-items: center; justify-content: space-between; gap: calc(2.22222vw); }
.cef { opacity: 0.3; font-family: Montserrat, sans-serif; font-weight: 600; font-size: calc(3.61111vw); letter-spacing: 0.04em; color: rgb(138, 154, 148); display: flex; align-items: center; gap: calc(2.22222vw); white-space: nowrap; }
.ceg { width: calc(1.94444vw); height: calc(1.94444vw); border-bottom: 1.5px solid rgb(138, 154, 148); border-left: 1.5px solid rgb(138, 154, 148); transform: rotate(45deg); display: block; box-sizing: border-box; }
.ceh { font-size: calc(3.33333vw); line-height: 1.4; letter-spacing: 0.06em; color: rgb(51, 51, 51); border: 1px solid rgb(207, 227, 217); border-radius: 999px; padding: calc(3.33333vw) calc(6.11111vw); white-space: nowrap; }
.cei { opacity: 1; font-family: Montserrat, sans-serif; font-weight: 600; font-size: calc(3.61111vw); letter-spacing: 0.04em; color: rgb(138, 154, 148); display: flex; align-items: center; gap: calc(2.22222vw); white-space: nowrap; }
.cej { width: calc(1.94444vw); height: calc(1.94444vw); border-top: 1.5px solid rgb(138, 154, 148); border-right: 1.5px solid rgb(138, 154, 148); transform: rotate(45deg); display: block; box-sizing: border-box; }
.cel { margin-top: 79px; font-size: 16px; line-height: 34px; letter-spacing: 0.06em; color: rgb(51, 51, 51); }
.cem { margin-top: 38px; }
.cen { margin-top: 154px; display: flex; justify-content: center; }
.ceo { width: 420px; height: 76px; background: rgb(66, 178, 145); color: rgb(255, 255, 255); display: flex; align-items: center; justify-content: space-between; padding: 0px 30px; box-sizing: border-box; border-radius: 999px; }
.cep { font-size: 16px; letter-spacing: 0.06em; }
.ceq { margin-top: 166px; display: flex; align-items: center; justify-content: space-between; }
.cer { opacity: 0.3; font-family: Montserrat, sans-serif; font-weight: 600; font-size: 22px; letter-spacing: 0.04em; color: rgb(138, 154, 148); display: flex; align-items: center; gap: 16px; }
.ces { width: 9px; height: 9px; border-bottom: 1.5px solid rgb(138, 154, 148); border-left: 1.5px solid rgb(138, 154, 148); transform: rotate(45deg); display: block; }
.cet { font-size: 16px; line-height: 34px; letter-spacing: 0.06em; border: 1px solid rgb(207, 227, 217); border-radius: 999px; padding: 20px 52px; }
.ceu { opacity: 1; font-family: Montserrat, sans-serif; font-weight: 600; font-size: 22px; letter-spacing: 0.04em; color: rgb(138, 154, 148); display: flex; align-items: center; gap: 16px; }
.cev { width: 9px; height: 9px; border-top: 1.5px solid rgb(138, 154, 148); border-right: 1.5px solid rgb(138, 154, 148); transform: rotate(45deg); display: block; }
.cew { margin-top: calc(5.55556vw); font-family: "Noto Sans JP", sans-serif; font-size: calc(3.33333vw); line-height: calc(7.77778vw); letter-spacing: 0.06em; color: rgb(51, 51, 51); }
.cey { margin-top: 38px; font-size: 16px; letter-spacing: 0.06em; }
.cez { color: rgb(66, 178, 145); text-decoration: underline; text-underline-offset: 5px; }
.cf0 { margin-top: calc(8.33333vw); display: flex; flex-direction: column; align-items: center; gap: calc(6.94444vw); }
.cf1 { display: block; width: calc(41.6667vw); }
.cf2 { width: 100%; display: block; border-radius: 0px; }
.cf3 { margin-top: 64px; display: flex; gap: 32px 80px; flex-wrap: wrap; justify-content: center; align-items: center; }
.cf4 { display: flex; align-items: center; height: 56px; }
.cf5 { height: 32px; width: auto; max-width: 100%; display: block; }
.cf6 { height: 56px; width: auto; max-width: 100%; display: block; }