/* ===== ページ共通・レスポンシブ ===== */
#wf-company, #wf-company * { box-sizing: border-box; }
#wf-company { background: #fff; }
#wf-company a { text-decoration: none; cursor: pointer; }
#wf-company a:hover { opacity: 0.78; }
  @media (max-width: 767px) {
    [data-body][data-body] { text-align: left !important; }
    [data-cp-wrap] { padding-left: 20px !important; padding-right: 20px !important; }
    [data-cp-sec] { padding-top: 52px !important; padding-bottom: 52px !important; }
    [data-cp-catch] { font-size: 21px !important; line-height: 1.8 !important; }
    [data-cp-en] { font-size: 26px !important; letter-spacing: 2px !important; }
    [data-cp-2col] { grid-template-columns: 1fr !important; gap: 22px !important; }
    [data-cp-3col] { grid-template-columns: 1fr !important; gap: 14px !important; }
    [data-cp-staff] { grid-template-columns: 1fr !important; gap: 18px !important; }
    [data-cp-msg] { grid-template-columns: 1fr !important; gap: 22px !important; }
    [data-cp-msg] img[alt="代表取締役 池田 泰裕"] { aspect-ratio: 4 / 3 !important; object-position: center 30% !important; }
    [data-cp-mapbtns][data-cp-mapbtns] { grid-template-columns: 1fr !important; max-width: none !important; }
    [data-cp-hist] { grid-template-columns: 76px 1fr !important; gap: 16px !important; }
    [data-cp-row] { grid-template-columns: 1fr !important; gap: 4px !important; }
    [data-cp-row] > div:first-child { background: #f6f4ef !important; padding: 10px 14px !important; }
    [data-cp-ctarow] { flex-direction: column !important; }
    [data-cp-pill] { gap: 10px !important; padding: 12px 18px !important; }
  }

  /* 本文タイポグラフィのスマホ統一 */
  @media (max-width: 767px) {
    [style*="font-size: 16px"][style*="rgb(92, 85, 75)"],
    [style*="font-size: 15px"][style*="rgb(92, 85, 75)"],
    [style*="font-size: 14px"][style*="rgb(92, 85, 75)"] { font-size: 14px !important; line-height: 2 !important; letter-spacing: 0.02em !important; }
    [style*="font-size: 13px"][style*="rgb(92, 85, 75)"] { font-size: 13px !important; line-height: 1.95 !important; }
    [style*="font-size: 13px"][style*="rgb(122, 114, 104)"],
    [style*="font-size: 12px"][style*="rgb(122, 114, 104)"],
    [style*="font-size: 11px"][style*="rgb(122, 114, 104)"] { font-size: 12px !important; line-height: 1.85 !important; }
    [data-cp-sec] [style*="font-size: 17px"][style*="font-weight: 700"] { font-size: 15px !important; line-height: 1.9 !important; }
    [data-cp-sec] [style*="font-size: 20px"][style*="font-weight: 700"] { font-size: 17px !important; line-height: 1.7 !important; }
    [data-cp-sec] [style*="font-size: 22px"][style*="font-weight: 700"] { font-size: 18px !important; line-height: 1.7 !important; }
    [data-cp-sec] [style*="font-size: 16px"][style*="font-weight: 700"] { font-size: 15px !important; }
    [data-cp-row] > div { font-size: 13px !important; }
    [data-cp-revlist][data-cp-revlist] { display: flex !important; gap: 12px !important; overflow-x: auto !important; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; margin-left: -20px !important; margin-right: -20px !important; padding: 0 20px 12px !important; scroll-padding-left: 20px; scrollbar-width: none; }
    [data-cp-revlist]::-webkit-scrollbar { display: none; }
    [data-cp-revlist] > div { flex: 0 0 82% !important; scroll-snap-align: start; }
    [data-cp-msgbody][data-open="0"] { position: relative; max-height: 150px; overflow: hidden; }
    [data-cp-msgbody][data-open="0"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 90px; background: linear-gradient(180deg, rgba(255,255,255,0) 0%, #fff 90%); pointer-events: none; }
    [data-cp-msgtoggle] { display: flex !important; }
    [data-cp-3col] > figure { display: grid !important; grid-template-columns: 42% minmax(0, 1fr) !important; gap: 14px !important; align-items: center !important; }
    [data-cp-3col] > figure > figcaption { margin-top: 0 !important; font-size: 14px !important; font-weight: 700 !important; line-height: 1.7 !important; }
    [data-cp-mapzoom] { justify-content: flex-start !important; }
    [data-cp-mapzoom] img { width: 200vw !important; max-width: none !important; }
    [data-cp-sec] [style*="font-size: 15px"][style*="rgb(92, 85, 75)"],
    [data-cp-sec] [style*="font-size: 14px"][style*="rgb(92, 85, 75)"],
    [data-cp-sec] [style*="font-size: 15px"][style*="color: rgb(255, 255, 255)"] { text-align: left !important; }
    [data-cp-sec] [data-cp-center][data-cp-center][data-cp-center] { text-align: center !important; }
    [data-cp-sec] [style*="font-size: 15px"][style*="rgb(92, 85, 75)"] br,
    [data-cp-sec] [style*="font-size: 15px"][style*="color: rgb(255, 255, 255)"] br { display: none !important; }
  }

/* ===== 要素スタイル（旧 style 属性から移行） ===== */
.u-w9epnz.u-w9epnz { font-family: 'Noto Sans JP', sans-serif; color: #2e2a26; background: #fff; width: 100%; }
.u-nhtig0.u-nhtig0 { padding: 82px 0; }
.u-fl0kwz.u-fl0kwz { max-width: 1080px; margin: 0 auto; padding: 0 32px; text-align: center; }
.u-10qh0dy.u-10qh0dy { font-size: 30px; font-weight: 400; letter-spacing: 3px; color: #46a1b5; line-height: 1; font-family: Futura, 'Century Gothic', YuGothic, 'Hiragino Kaku Gothic ProN'; }
.u-uwhm9l.u-uwhm9l { font-size: 26px; font-weight: 700; line-height: 1.9; letter-spacing: 0.05em; margin-top: 18px; }
.u-j53h4x.u-j53h4x { font-size: 14px; color: #5c554b; line-height: 2.2; letter-spacing: 0.06em; margin-top: 20px; }
.u-1o6kh4p.u-1o6kh4p { background: #f6f4ef; padding: 82px 0; }
.u-99hgc0.u-99hgc0 { max-width: 1080px; margin: 0 auto; padding: 0 32px; }
.u-1rfc3xh.u-1rfc3xh { text-align: center; }
.u-1klp9ti.u-1klp9ti { font-size: 30px; font-weight: 700; line-height: 1.8; letter-spacing: 0.08em; margin-top: 18px; }
.u-1taugls.u-1taugls { margin: 30px 0 0; }
.u-18fonkd.u-18fonkd { font-size: 17px; font-weight: 700; line-height: 2.1; letter-spacing: 0.04em; }
.u-uadjhe.u-uadjhe { font-size: 15px; color: #5c554b; line-height: 2.4; letter-spacing: 0.04em; margin-top: 20px; }
.u-xqtmh8.u-xqtmh8 { font-size: 17px; font-weight: 700; line-height: 2.1; letter-spacing: 0.04em; margin-top: 22px; }
.u-u9sqsn.u-u9sqsn { font-size: 15px; color: #5c554b; line-height: 2.4; letter-spacing: 0.04em; margin-top: 16px; }
.u-yrxhbs.u-yrxhbs { display: grid; grid-template-columns: 1fr; gap: 24px; margin: 40px 0 0; }
.u-h23ako.u-h23ako { background: #fff; padding: 36px 34px; }
.u-bjg3jq.u-bjg3jq { display: flex; align-items: center; gap: 14px; }
.u-3pkm0i.u-3pkm0i { font-size: 24px; color: #46a1b5; flex: none; }
.u-3h1s2z.u-3h1s2z { font-size: 20px; font-weight: 700; line-height: 1.6; letter-spacing: 0.04em; }
.u-l8nj0y.u-l8nj0y { font-size: 17px; font-weight: 700; line-height: 2; letter-spacing: 0.04em; margin-top: 18px; }
.u-1a4gqvs.u-1a4gqvs { font-size: 15px; color: #5c554b; line-height: 2.4; letter-spacing: 0.04em; margin-top: 8px; }
.u-u9ua95.u-u9ua95 { font-size: 15px; color: #5c554b; line-height: 2.4; letter-spacing: 0.04em; margin-top: 18px; }
.u-qla3rl.u-qla3rl { margin: 40px 0 0; }
.u-1z2qdj.u-1z2qdj { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #ddd5c8; }
.u-db3a2z.u-db3a2z { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
.u-ujzjgc.u-ujzjgc { display: flex; justify-content: center; margin-top: 18px; }
.u-eiy18w.u-eiy18w { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; color: #46a1b5; border: 1px solid #46a1b5; background: #fff; padding: 14px 26px; }
.u-vd4rv8.u-vd4rv8 { font-size: 15px; }
.u-uwg2t3.u-uwg2t3 { font-size: 26px; font-weight: 700; line-height: 1.9; letter-spacing: 0.05em; margin-top: 16px; }
.u-7d6zq2.u-7d6zq2 { display: grid; grid-template-columns: 380px 1fr; gap: 44px; align-items: start; margin-top: 40px; }
.u-17rs8ef.u-17rs8ef { width: 100%; aspect-ratio: 4/5; object-fit: cover; display: block; }
.u-9b8owg.u-9b8owg { font-size: 12px; color: #7a7268; line-height: 1.9; margin-top: 12px; }
.u-gjwz7y.u-gjwz7y { font-size: 20px; font-weight: 700; line-height: 1.7; letter-spacing: 0.06em; }
.u-d7ym79.u-d7ym79 { font-size: 15px; color: #5c554b; line-height: 2.4; letter-spacing: 0.04em; }
.u-l0r2yo.u-l0r2yo { display: none; align-items: center; justify-content: center; gap: 8px; width: 100%; margin-top: 14px; font-family: 'Noto Sans JP', sans-serif; font-size: 14px; font-weight: 700; color: #46a1b5; background: #fff; border: 1px solid #46a1b5; padding: 13px 20px; cursor: pointer; }
.u-vd1oy8.u-vd1oy8 { font-size: 11px; }
.u-lyzg0o.u-lyzg0o { background: #f6f4ef; padding: 24px 26px; margin-top: 26px; }
.u-5c95vm.u-5c95vm { font-size: 16px; font-weight: 700; line-height: 2; }
.u-5soop7.u-5soop7 { display: inline-flex; align-items: center; gap: 10px; margin-top: 24px; font-size: 14px; font-weight: 700; color: #46a1b5; border: 1px solid #46a1b5; padding: 15px 28px; }
.u-1s3ke17.u-1s3ke17 { margin-top: 40px; display: flex; flex-direction: column; }
.u-qg9z6r.u-qg9z6r { display: grid; grid-template-columns: 120px 1fr; gap: 28px; align-items: start; padding: 22px 0; border-top: 1px solid #ddd5c8; }
.u-san57t.u-san57t { font-size: 26px; font-weight: 400; line-height: 1.2; color: #46a1b5; font-family: Futura, 'Century Gothic', YuGothic, 'Hiragino Kaku Gothic ProN'; }
.u-1qcurl4.u-1qcurl4 { font-size: 17px; font-weight: 700; line-height: 1.8; }
.u-mgom4m.u-mgom4m { font-size: 13px; color: #5c554b; line-height: 2.1; margin-top: 6px; }
.u-124i5nc.u-124i5nc { border-top: 1px solid #ddd5c8; }
.u-1md5pgr.u-1md5pgr { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 36px; }
.u-o8z4w3.u-o8z4w3 { position: relative; width: 100%; aspect-ratio: 1/1; overflow: hidden; background: #f6f4ef; }
.u-1f2jc68.u-1f2jc68 { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: #a89f92; }
.u-vefrch.u-vefrch { font-size: 30px; }
.u-1ljkw8n.u-1ljkw8n { font-size: 15px; font-weight: 400; letter-spacing: 0.16em; font-family: Futura, 'Century Gothic', YuGothic, 'Hiragino Kaku Gothic ProN'; }
.u-jd2lts.u-jd2lts { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; color: #46a1b5; margin-top: 12px; }
.u-l47s85.u-l47s85 { font-size: 13px; color: #5c554b; line-height: 2; margin-top: 4px; }
.u-hvhulm.u-hvhulm { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 30px; }
.u-8rocih.u-8rocih { background: #f6f4ef; padding: 26px 28px; }
.u-ihkey8.u-ihkey8 { font-size: 22px; color: #46a1b5; flex: none; }
.u-1q71c05.u-1q71c05 { font-size: 16px; font-weight: 700; line-height: 1.6; }
.u-uukqtv.u-uukqtv { font-size: 13px; color: #5c554b; line-height: 2.1; margin-top: 12px; }
.u-7gg3xy.u-7gg3xy { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; font-size: 12px; font-weight: 700; color: #46a1b5; }
.u-vd0x7z.u-vd0x7z { font-size: 10px; }
.u-vv5g58.u-vv5g58 { background: #eef6f8; padding: 82px 0; }
.u-39c9bg.u-39c9bg { display: inline-flex; align-items: center; gap: 16px; margin-top: 26px; padding: 14px 26px; border: 1px solid #ddd5c8; border-radius: 999px; background: #fff; flex-wrap: wrap; justify-content: center; }
.u-1mkde04.u-1mkde04 { font-size: 13px; font-weight: 700; color: #5c554b; letter-spacing: 0.04em; }
.u-1bnhjbb.u-1bnhjbb { width: 1px; height: 16px; background: #ddd5c8; display: block; }
.u-fc7kfd.u-fc7kfd { color: #c9a227; font-size: 15px; letter-spacing: 3px; line-height: 1; }
.u-zy1011.u-zy1011 { font-size: 22px; font-weight: 500; color: #2e2a26; line-height: 1; font-family: Futura, 'Century Gothic', YuGothic, 'Hiragino Kaku Gothic ProN'; }
.u-88hi1v.u-88hi1v { font-size: 13px; color: #7a7268; letter-spacing: 0.04em; }
.u-9nmrjc.u-9nmrjc { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 34px; }
.u-1fyb9oc.u-1fyb9oc { background: #fff; border: 1px solid #e6dfd3; padding: 24px; }
.u-v5mrxx.u-v5mrxx { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 14px; }
.u-bjek38.u-bjek38 { display: flex; align-items: center; gap: 12px; }
.u-15vqpph.u-15vqpph { width: 44px; height: 44px; border-radius: 50%; background: #ded7cb; display: flex; align-items: center; justify-content: center; color: #8d8477; font-size: 15px; font-weight: 700; }
.u-18fko8l.u-18fko8l { font-size: 15px; font-weight: 700; color: #2e2a26; }
.u-1hcdru3.u-1hcdru3 { font-size: 12px; color: #a89f92; }
.u-1qxvqvo.u-1qxvqvo { font-size: 20px; color: #4285f4; }
.u-1luha4y.u-1luha4y { color: #d9a441; font-size: 15px; letter-spacing: 1px; margin-bottom: 12px; }
.u-1790p08.u-1790p08 { font-size: 14px; color: #4a443c; line-height: 1.9; }
.u-10lq71g.u-10lq71g { display: inline-block; font-size: 13px; color: #9c9488; margin-top: 14px; }
.u-189shij.u-189shij { width: 44px; height: 44px; border-radius: 50%; background: #46a1b5; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 15px; font-weight: 700; }
.u-ul87qu.u-ul87qu { display: flex; justify-content: center; margin-top: 30px; }
.u-o9vw7i.u-o9vw7i { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; color: #46a1b5; border: 1px solid #46a1b5; background: #fff; padding: 16px 30px; }
.u-vd404z.u-vd404z { font-size: 14px; }
.u-2y8fcf.u-2y8fcf { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 36px; }
.u-1970ff9.u-1970ff9 { margin: 0; }
.u-1utiobw.u-1utiobw { width: 100%; height: auto; aspect-ratio: 4/3; object-fit: cover; display: block; }
.u-l4av55.u-l4av55 { font-size: 13px; color: #5c554b; line-height: 2; margin-top: 8px; }
.u-mt06id.u-mt06id { font-size: 24px; font-weight: 700; line-height: 1.9; letter-spacing: 0.05em; margin-top: 16px; }
.u-6q3ok5.u-6q3ok5 { margin-top: 34px; display: flex; flex-direction: column; gap: 2px; }
.u-cxwnqe.u-cxwnqe { display: grid; grid-template-columns: 180px 1fr; gap: 2px; }
.u-bbqefh.u-bbqefh { background: #f6f4ef; font-size: 14px; font-weight: 700; padding: 18px 22px; }
.u-1ankffn.u-1ankffn { background: #fbfaf7; font-size: 14px; color: #5c554b; line-height: 2.1; padding: 18px 22px; }
.u-uaf2xw.u-uaf2xw { font-size: 15px; color: #5c554b; line-height: 2.4; letter-spacing: 0.04em; margin-top: 22px; }
.u-cdv1to.u-cdv1to { display: block; width: 100%; padding: 0; border: none; background: #fff; cursor: zoom-in; position: relative; margin: 30px 0 0; }
.u-rf72oq.u-rf72oq { width: 100%; height: auto; display: block; }
.u-yr1ua3.u-yr1ua3 { position: absolute; right: 12px; bottom: 12px; display: inline-flex; align-items: center; gap: 6px; background: rgba(46,42,38,0.72); color: #fff; font-size: 12px; font-weight: 700; padding: 8px 14px; border-radius: 999px; }
.u-vd38eq.u-vd38eq { font-size: 13px; }
.u-q6oux7.u-q6oux7 { position: fixed; inset: 0; z-index: 1000; background: rgba(20,20,20,0.88); overflow: auto; -webkit-overflow-scrolling: touch; }
.u-f8ya1p.u-f8ya1p { position: fixed; top: 12px; right: 12px; z-index: 2; width: 44px; height: 44px; border-radius: 50%; border: none; background: #fff; color: #2e2a26; font-size: 18px; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.u-p470yc.u-p470yc { min-height: 100%; display: flex; align-items: center; justify-content: center; padding: 64px 12px 24px; }
.u-i8ue7t.u-i8ue7t { width: 100%; max-width: 1400px; height: auto; display: block; background: #fff; }
.u-r17alz.u-r17alz { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; max-width: 640px; margin: 26px auto 0; }
.u-8cic5o.u-8cic5o { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 14px; font-weight: 700; color: #46a1b5; border: 1px solid #46a1b5; background: #fff; padding: 15px 20px; }
.u-58b63.u-58b63 { background: #46a1b5; padding: 82px 0; }
.u-1piefry.u-1piefry { font-size: 26px; font-weight: 700; line-height: 1.9; letter-spacing: 0.05em; color: #fff; }
.u-x734qk.u-x734qk { font-size: 15px; color: #fff; line-height: 2.4; letter-spacing: 0.04em; margin-top: 20px; }
.u-102oxy1.u-102oxy1 { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 32px; }
.u-vnhfse.u-vnhfse { background: #fff; color: #2e2a26; font-size: 15px; font-weight: 700; padding: 19px 36px; }
.u-6egov4.u-6egov4 { border: 1px solid #fff; color: #fff; font-size: 15px; font-weight: 700; padding: 19px 36px; }
.u-1pagfgc.u-1pagfgc { background: #fff; }
.u-1xcajvq.u-1xcajvq { max-width: 1200px; margin: 0 auto; padding: 26px 32px 30px; display: flex; align-items: center; gap: 12px; font-size: 13px; color: #5c554b; }
.u-nerib9.u-nerib9 { display: inline-flex; align-items: center; gap: 8px; }
.u-vd2goh.u-vd2goh { font-size: 12px; }
.u-1q1apfi.u-1q1apfi { border-bottom: 1px solid #c3bbae; }
