/* ===== ページ共通・レスポンシブ ===== */
#wf-design-coordinate, #wf-design-coordinate * { box-sizing: border-box; }
#wf-design-coordinate { background: #fff; }
#wf-design-coordinate a { text-decoration: none; cursor: pointer; }
#wf-design-coordinate a:hover { opacity: 0.78; }
  @keyframes dgSlide { from { transform: translateX(0); } to { transform: translateX(-50%); } }
  .dg-track { animation: dgSlide 60s linear infinite; }
  .dg-track2 { animation-duration: 50s; }
  [data-dg-marquee]:hover .dg-track { animation-play-state: paused; }
  @media (prefers-reduced-motion: reduce) { .dg-track { animation: none; } }
  @media (max-width: 767px) {
    [data-dg-gal][data-dg-gal] { scroll-padding-left: 20px !important; scroll-padding-right: 20px !important; }
    [data-dg-next] { width: 40px !important; height: 40px !important; right: -8px !important; top: calc(34px + 110px) !important; }
    [data-dg-likes][data-dg-likes] { background: #fff !important; border-radius: 12px !important; gap: 0 !important; padding: 6px 18px !important; margin-top: 18px !important; }
    [data-dg-likes] > div { background: none !important; border-radius: 0 !important; padding: 12px 0 !important; font-size: 14px !important; line-height: 1.7 !important; border-bottom: 1px solid #ede9e1; }
    [data-dg-likes] > div:last-child { border-bottom: none; }
    [data-dg-fbtn][data-dg-fbtn] { display: flex !important; }
    [data-dg-filterpc] > div:not([data-dg-stylechips]):not([data-dg-ideachips]) { display: none !important; }
    [data-dg-ideachips][data-dg-ideachips] { flex-wrap: nowrap !important; justify-content: flex-start !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin: 8px -20px 0 !important; padding: 2px 20px 4px !important; gap: 6px !important; }
    [data-dg-ideachips]::-webkit-scrollbar { display: none; }
    [data-dg-ideachips] > button { flex: none !important; font-size: 11.5px !important; padding: 6px 13px !important; white-space: nowrap !important; }
    [data-dg-stylechips][data-dg-stylechips] { flex-wrap: nowrap !important; justify-content: flex-start !important; overflow-x: auto !important; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin: 12px -20px 0 !important; padding: 2px 20px 4px !important; gap: 6px !important; }
    [data-dg-stylechips]::-webkit-scrollbar { display: none; }
    [data-dg-stylechips] > button { flex: none !important; font-size: 12.5px !important; padding: 8px 15px !important; white-space: nowrap !important; }
    [data-dg-wants][data-dg-wants] { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 6px !important; margin-top: 16px !important; }
    [data-dg-wants][data-dg-wants] { grid-auto-rows: 1fr !important; }
    [data-dg-wants] > div { display: flex !important; align-items: center !important; justify-content: center !important; min-height: 52px; font-size: 12px !important; padding: 8px 8px !important; line-height: 1.5 !important; text-align: center; border-radius: 10px !important; letter-spacing: 0 !important; word-break: keep-all; overflow-wrap: anywhere; }
    [data-body][data-body] { text-align: left !important; }
    [data-dg-wrap] { padding-left: 20px !important; padding-right: 20px !important; }
    [data-dg-sec] { padding-top: 48px !important; padding-bottom: 48px !important; }
    [data-dg-catch] { font-size: 21px !important; line-height: 1.8 !important; }
    [data-dg-en] { font-size: 23px !important; letter-spacing: 2px !important; }
    .dg-track { animation-duration: 40s !important; }
    .dg-track > div { width: 280px !important; }
    .dg-track2 > div { width: 250px !important; }
    [data-dg-3col] { grid-template-columns: 1fr !important; gap: 14px !important; }
    [data-dg-4col] { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
    [data-dg-feat] { grid-template-columns: 1fr !important; gap: 18px !important; margin-top: 34px !important; }
    [data-dg-feat] img { order: 0 !important; }
    [data-dg-feat] > div { order: 0 !important; }
    [data-dg-gal] { padding-left: 20px !important; padding-right: 20px !important; }
    [data-dg-gal] > div { width: 80vw !important; max-width: 320px !important; }
    [data-dg-cta] { flex-direction: column !important; }
    [data-dg-comorumo] { grid-template-columns: 1fr !important; gap: 22px !important; padding: 28px 22px !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; }
  }
  br[data-spbr] { display: none; }
  @media (max-width: 767px) { br[data-spbr] { display: inline; } }

/* ===== 要素スタイル（旧 style 属性から移行） ===== */
.u-w9epnz.u-w9epnz { font-family: 'Noto Sans JP', sans-serif; color: #2e2a26; background: #fff; width: 100%; }
.u-1hmqyb3.u-1hmqyb3 { padding: 72px 0 0; }
.u-2vqwsa.u-2vqwsa { max-width: 880px; margin: 0 auto; padding: 0 32px; text-align: center; }
.u-beplwb.u-beplwb { font-size: 26px; font-weight: 400; letter-spacing: 3px; color: #46a1b5; line-height: 1; font-family: Futura, 'Century Gothic', YuGothic, 'Hiragino Kaku Gothic ProN'; }
.u-uwg2t3.u-uwg2t3 { font-size: 26px; font-weight: 700; line-height: 1.9; letter-spacing: 0.05em; margin-top: 16px; }
.u-uagmee.u-uagmee { font-size: 15px; color: #5c554b; line-height: 2.4; letter-spacing: 0.04em; margin-top: 24px; }
.u-uadjhe.u-uadjhe { font-size: 15px; color: #5c554b; line-height: 2.4; letter-spacing: 0.04em; margin-top: 20px; }
.u-nhtig0.u-nhtig0 { padding: 82px 0; }
.u-17kws4q.u-17kws4q { max-width: 1200px; margin: 0 auto; padding: 0 32px; }
.u-1rfc3xh.u-1rfc3xh { text-align: center; }
.u-1681afx.u-1681afx { font-size: 28px; font-weight: 400; letter-spacing: 3px; color: #46a1b5; line-height: 1; font-family: Futura, 'Century Gothic', YuGothic, 'Hiragino Kaku Gothic ProN'; }
.u-msyn1v.u-msyn1v { font-size: 24px; font-weight: 700; line-height: 1.9; letter-spacing: 0.05em; margin-top: 14px; }
.u-1rvbncu.u-1rvbncu { font-size: 15px; color: #5c554b; line-height: 2.4; margin-top: 18px; }
.u-1pp217a.u-1pp217a { overflow: hidden; margin-top: 34px; width: 100vw; max-width: 100vw; margin-left: 50%; transform: translateX(-50%); }
.u-15ijh7q.u-15ijh7q { display: flex; gap: 20px; width: max-content; }
.u-ni9dkq.u-ni9dkq { flex: 0 0 auto; width: 340px; background: #fff; border-radius: 14px; overflow: hidden; border: 1px solid #e3ded4; }
.u-hdxhfp.u-hdxhfp { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; }
.u-16jmn1q.u-16jmn1q { padding: 24px 26px 28px; }
.u-1qzopvg.u-1qzopvg { font-size: 11px; font-weight: 700; letter-spacing: 0.12em; color: #46a1b5; font-family: Futura, 'Century Gothic', YuGothic, 'Hiragino Kaku Gothic ProN'; }
.u-14j2ut6.u-14j2ut6 { font-size: 17px; font-weight: 700; line-height: 1.7; margin-top: 8px; }
.u-uuj7dd.u-uuj7dd { font-size: 13px; color: #5c554b; line-height: 2.1; margin-top: 10px; }
.u-1o6kh4p.u-1o6kh4p { background: #f6f4ef; padding: 82px 0; }
.u-99hgc0.u-99hgc0 { max-width: 1080px; margin: 0 auto; padding: 0 32px; }
.u-qv56nh.u-qv56nh { display: flex; gap: 18px; width: max-content; }
.u-a83843.u-a83843 { flex: 0 0 auto; width: 300px; background: #fff; border-radius: 14px; overflow: hidden; }
.u-mfxwdi.u-mfxwdi { padding: 22px 22px 26px; }
.u-1q71c12.u-1q71c12 { font-size: 16px; font-weight: 700; line-height: 1.7; }
.u-1m8sffa.u-1m8sffa { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 26px; }
.u-in32xp.u-in32xp { background: #fff; font-size: 13px; padding: 10px 18px; border-radius: 999px; }
.u-1y64ckz.u-1y64ckz { font-size: 24px; font-weight: 700; line-height: 1.9; letter-spacing: 0.05em; }
.u-bimkgn.u-bimkgn { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; margin-top: 44px; }
.u-fefqmw.u-fefqmw { position: relative; }
.u-xmml4q.u-xmml4q { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 14px; display: block; }
.u-4o1sow.u-4o1sow { position: absolute; right: -14px; bottom: -14px; width: 130px; height: 130px; border-radius: 50%; object-fit: cover; object-position: 52% 72%; border: 5px solid #fff; box-shadow: 0 4px 14px rgba(0,0,0,0.14); display: block; }
.u-1ryad6z.u-1ryad6z { font-size: 12px; font-weight: 700; letter-spacing: 0.1em; color: #46a1b5; }
.u-rbiw4j.u-rbiw4j { font-size: 22px; font-weight: 700; line-height: 1.9; margin-top: 12px; }
.u-4nfh2w.u-4nfh2w { font-size: 14px; color: #5c554b; line-height: 2.3; margin-top: 14px; }
.u-bjdize.u-bjdize { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; margin-top: 56px; }
.u-1dpnl5p.u-1dpnl5p { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 14px; display: block; order: 2; }
.u-j9fvp0.u-j9fvp0 { order: 1; }
.u-mt06id.u-mt06id { font-size: 24px; font-weight: 700; line-height: 1.9; letter-spacing: 0.05em; margin-top: 16px; }
.u-1euia3a.u-1euia3a { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 24px; }
.u-o1vbnk.u-o1vbnk { background: #fff; font-size: 14px; padding: 12px 18px; border-radius: 999px; }
.u-1hzeaz5.u-1hzeaz5 { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 14px; display: block; margin-top: 30px; }
.u-eqb8qe.u-eqb8qe { font-size: 22px; font-weight: 700; line-height: 1.9; letter-spacing: 0.05em; margin-top: 28px; }
.u-uknf23.u-uknf23 { display: flex; justify-content: center; margin-top: 26px; }
.u-m6q8tj.u-m6q8tj { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 700; color: #46a1b5; border: 1px solid #46a1b5; background: #fff; padding: 16px 34px; }
.u-vd2goh.u-vd2goh { font-size: 12px; }
.u-1h4320f.u-1h4320f { display: none; width: 100%; align-items: center; justify-content: space-between; gap: 10px; margin-top: 18px; font-family: 'Noto Sans JP', sans-serif; background: #fff; border: 1px solid #46a1b5; border-radius: 999px; padding: 10px 16px; cursor: pointer; color: #2e2a26; text-align: left; }
.u-1d9anbc.u-1d9anbc { display: flex; align-items: center; gap: 10px; min-width: 0; }
.u-op2d8.u-op2d8 { font-size: 13px; color: #46a1b5; }
.u-1ky559h.u-1ky559h { font-size: 13px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.u-1m5udd3.u-1m5udd3 { flex: none; font-size: 12px; font-weight: 700; color: #46a1b5; }
.u-5pqr7c.u-5pqr7c { font-size: 12px; font-weight: 700; letter-spacing: 0.1em; color: #7a7268; text-align: center; margin-top: 30px; }
.u-lw10zs.u-lw10zs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 12px; }
.u-5p5yil.u-5p5yil { font-size: 12px; font-weight: 700; letter-spacing: 0.1em; color: #7a7268; text-align: center; margin-top: 26px; }
.u-1u38968.u-1u38968 { position: fixed; inset: 0; z-index: 9998; background: rgba(0,0,0,0.45); display: flex; align-items: flex-end; justify-content: center; }
.u-v5sa62.u-v5sa62 { width: 100%; max-width: 560px; max-height: 82vh; overflow-y: auto; background: #fff; border-radius: 18px 18px 0 0; padding: 20px 20px 24px; box-shadow: 0 -6px 24px rgba(0,0,0,0.15); }
.u-12p0g5m.u-12p0g5m { display: flex; align-items: center; justify-content: space-between; }
.u-13pzd8.u-13pzd8 { font-size: 15px; font-weight: 700; }
.u-1rnsuam.u-1rnsuam { width: 36px; height: 36px; border: none; background: #f6f4ef; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #5c554b; }
.u-vd4rv8.u-vd4rv8 { font-size: 15px; }
.u-pmhf7t.u-pmhf7t { font-size: 12px; font-weight: 700; letter-spacing: 0.1em; color: #7a7268; margin-top: 16px; }
.u-rkhwvu.u-rkhwvu { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.u-pn27wk.u-pn27wk { font-size: 12px; font-weight: 700; letter-spacing: 0.1em; color: #7a7268; margin-top: 20px; }
.u-kxgql3.u-kxgql3 { width: 100%; margin-top: 24px; font-family: 'Noto Sans JP', sans-serif; font-size: 15px; font-weight: 700; color: #fff; background: #46a1b5; border: none; border-radius: 999px; padding: 15px; cursor: pointer; }
.u-14jx28a.u-14jx28a { position: absolute; right: 0; top: calc(34px + 130px); transform: translateY(-50%); z-index: 5; width: 52px; height: 52px; border-radius: 50%; border: none; background: #46a1b5; color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 4px 14px rgba(0,0,0,0.22); }
.u-1sqp1b4.u-1sqp1b4:hover { background: #3a8fa2; }
.u-vd731z.u-vd731z { font-size: 18px; }
.u-1brimxa.u-1brimxa { display: flex; gap: 20px; margin-top: 34px; width: 100vw; max-width: 100vw; margin-left: 50%; transform: translateX(-50%); padding-left: 32px; padding-right: 32px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding-left: 32px; scroll-padding-right: 32px; padding-bottom: 12px; -webkit-overflow-scrolling: touch; }
.u-1fx03hf.u-1fx03hf { flex: 0 0 auto; width: 340px; background: #fff; border: 1px solid #e3ded4; border-radius: 14px; overflow: hidden; scroll-snap-align: start; }
.u-1zllkx.u-1zllkx { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; cursor: zoom-in; }
.u-1olbw9u.u-1olbw9u { padding: 20px 22px 24px; }
.u-w6wcve.u-w6wcve { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; color: #46a1b5; font-family: Futura, 'Century Gothic', YuGothic, 'Hiragino Kaku Gothic ProN'; }
.u-qp1lkp.u-qp1lkp { font-size: 16px; font-weight: 700; line-height: 1.7; margin-top: 8px; }
.u-9b8owg.u-9b8owg { font-size: 12px; color: #7a7268; line-height: 1.9; margin-top: 12px; }
.u-t05m83.u-t05m83 { font-size: 12px; color: #7a7268; line-height: 1.9; text-align: center; margin-top: 12px; }
.u-1jz018b.u-1jz018b { position: fixed; inset: 0; z-index: 9999; background: rgba(0,0,0,0.78); display: flex; align-items: center; justify-content: center; padding: 32px; cursor: zoom-out; }
.u-12oai40.u-12oai40 { max-width: 900px; width: 100%; display: flex; flex-direction: column; align-items: center; }
.u-ynodzq.u-ynodzq { max-width: 100%; display: flex; justify-content: center; }
.u-1mb4ld3.u-1mb4ld3 { color: #fff; font-size: 16px; font-weight: 700; line-height: 1.8; margin-top: 18px; text-align: center; }
.u-6dfqa6.u-6dfqa6 { color: rgba(255,255,255,0.82); font-size: 13px; line-height: 2; margin-top: 8px; text-align: center; }
.u-2osgye.u-2osgye { margin-top: 22px; font-family: 'Noto Sans JP', sans-serif; font-size: 13px; font-weight: 700; color: #2e2a26; background: #fff; border: none; border-radius: 999px; padding: 12px 28px; cursor: pointer; }
.u-uia7ev.u-uia7ev { display: flex; flex-direction: column; gap: 12px; margin-top: 26px; }
.u-1c7ai5n.u-1c7ai5n { background: #fff; font-size: 15px; font-weight: 700; line-height: 1.9; padding: 18px 22px; border-radius: 10px; }
.u-1hytiae.u-1hytiae { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 14px; display: block; margin-top: 26px; }
.u-uai5uw.u-uai5uw { font-size: 15px; color: #5c554b; line-height: 2.4; letter-spacing: 0.04em; margin-top: 26px; }
.u-1deugfk.u-1deugfk { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; background: #f6f4ef; border-radius: 14px; padding: 44px 48px; margin-top: 30px; }
.u-k51xiu.u-k51xiu { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 10px; display: block; }
.u-19xx6rc.u-19xx6rc { font-size: 14px; color: #5c554b; line-height: 2.3; }
.u-1a6z5ql.u-1a6z5ql { font-size: 21px; font-weight: 700; line-height: 1.9; letter-spacing: 0.05em; margin-top: 20px; }
.u-unc5xp.u-unc5xp { display: flex; margin-top: 24px; }
.u-m6opd1.u-m6opd1 { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 700; color: #46a1b5; border: 1px solid #46a1b5; background: #fff; padding: 16px 32px; }
.u-mh3qnh.u-mh3qnh { position: relative; overflow: hidden; }
.u-8illbh.u-8illbh { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.u-1mxa6am.u-1mxa6am { position: absolute; inset: 0; background: rgba(0,0,0,0.52); }
.u-1cscj5z.u-1cscj5z { position: relative; max-width: 880px; margin: 0 auto; padding: 96px 32px; text-align: center; }
.u-mmwkey.u-mmwkey { font-size: 26px; font-weight: 400; letter-spacing: 3px; color: #fff; line-height: 1; font-family: Futura, 'Century Gothic', YuGothic, 'Hiragino Kaku Gothic ProN'; }
.u-1qlr8rm.u-1qlr8rm { font-size: 26px; font-weight: 700; line-height: 1.9; letter-spacing: 0.05em; color: #fff; margin-top: 18px; }
.u-x767nk.u-x767nk { font-size: 15px; color: #fff; line-height: 2.4; letter-spacing: 0.04em; margin-top: 24px; }
.u-x6jvib.u-x6jvib { font-size: 15px; color: #fff; line-height: 2.4; letter-spacing: 0.04em; margin-top: 18px; }
.u-17gw0d1.u-17gw0d1 { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 30px; }
.u-b6rv6j.u-b6rv6j { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 16px; font-weight: 700; color: #fff; background: #46a1b5; padding: 18px 36px; }
.u-1lyoct6.u-1lyoct6 { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 16px; font-weight: 700; color: #2e2a26; background: #fff; padding: 18px 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-1q1apfi.u-1q1apfi { border-bottom: 1px solid #c3bbae; }
