/* フィットさん 作業事例。既存テーマを壊さないように全セレクターを fw- 配下に限定。 */
.fw-works,.fw-single-main{--fw-orange:#F05A28;--fw-yellow:#F9D85B;--fw-ink:#293039;--fw-sub:#626a73;--fw-line:#ebebeb;color:var(--fw-ink);font-family:inherit}
.fw-works *,.fw-single-main *{box-sizing:border-box}
.fw-intro{text-align:center;margin:0 auto 34px;max-width:900px}
.fw-kicker{letter-spacing:.16em;font-weight:800;font-size:.83rem;color:var(--fw-orange);margin:0 0 6px}
.fw-intro h2{font-size:clamp(1.7rem,3vw,2.2rem);font-weight:800;line-height:1.4;margin:0 0 12px;color:var(--fw-orange)}
.fw-intro>p:last-child{color:var(--fw-sub);font-size:1rem;line-height:1.8;margin:0}
.fw-archive{max-width:1160px;margin:0 auto;padding:28px 18px 70px}
.fw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.fw-card{min-width:0;overflow:hidden;background:#fffaf5;border:1px solid #f0ebe7;border-radius:18px;box-shadow:0 4px 15px rgba(40,30,25,.06);display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}
.fw-card:hover{transform:translateY(-3px);box-shadow:0 9px 23px rgba(40,30,25,.12)}
.fw-card-link{color:inherit!important;text-decoration:none!important;display:flex;flex-direction:column;height:100%}
.fw-card-link:focus-visible{outline:3px solid var(--fw-orange);outline-offset:-3px}
.fw-card-image{aspect-ratio:4/3;width:100%;overflow:hidden;background:#ececec;display:grid;place-items:center;flex-shrink:0}
.fw-card-image img{width:100%;height:100%;object-fit:cover;display:block}
.fw-placeholder{color:#999;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:.83rem;font-weight:700}
.fw-image-icon{font-size:2.6rem;line-height:1;color:#b1b1b1}
.fw-card-body{padding:19px 20px 23px;display:flex;flex-direction:column;flex:1;min-width:0}
.fw-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px;font-size:.78rem;font-weight:700}
.fw-category{display:inline-flex;border-radius:5px;background:var(--fw-orange);color:#fff;padding:5px 9px;line-height:1.35}
.fw-area{color:#737373}
.fw-card-title{font-weight:800;font-size:1.08rem;line-height:1.55;margin:0 0 8px;color:var(--fw-ink)}
.fw-card-description{font-size:.9rem;line-height:1.8;color:#5f646a;margin:0 0 14px;overflow-wrap:anywhere}
.fw-card-more{margin-top:auto;color:var(--fw-orange);font-size:.83rem;font-weight:800}
.fw-example-label{margin-top:auto;color:#888;font-size:.78rem;font-weight:700}
.fw-note{font-size:.78rem;color:#777;text-align:center;margin:22px auto 0;line-height:1.7}
.fw-empty{font-size:.95rem;text-align:center;padding:26px 0;color:var(--fw-sub)}
.fw-filters{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin:0 auto 31px}
.fw-filter{border:1px solid #ebcdbf;color:#8b4a37!important;border-radius:999px;padding:9px 14px;font-size:.84rem;font-weight:700;text-decoration:none!important;line-height:1.2}
.fw-filter:hover,.fw-filter.is-active{color:white!important;background:var(--fw-orange);border-color:var(--fw-orange)}
.fw-pages{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:36px auto 0}
.fw-page{display:grid;place-items:center;min-width:40px;min-height:40px;border-radius:10px;border:1px solid #ebcdbf;color:var(--fw-orange)!important;text-decoration:none!important;font-weight:700}
.fw-page.is-active,.fw-page:hover{background:var(--fw-orange);border-color:var(--fw-orange);color:white!important}
.fw-single-main{padding:35px 18px 85px}
.fw-single{max-width:930px;margin:0 auto}
.fw-breadcrumb{font-size:.8rem;line-height:1.65;display:flex;flex-wrap:wrap;gap:10px;color:#767676;margin-bottom:30px}
.fw-breadcrumb a{color:var(--fw-orange);text-decoration:none}
.fw-single-heading{margin-bottom:28px}
.fw-single-heading .fw-meta{margin:15px 0 10px}
.fw-single-heading h1{color:var(--fw-ink);font-weight:800;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.5;margin:0}
.fw-single-hero{width:100%;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:#f3f3f3;margin-bottom:34px}
.fw-single-hero img{width:100%;height:100%;object-fit:cover;display:block}
.fw-single-content{font-size:1rem;line-height:2;color:#3c4349;overflow-wrap:anywhere}
.fw-single-content img{max-width:100%;height:auto}
.fw-single-content p{margin:0 0 1.5em}
.fw-single-content h2,.fw-before-after h2{font-size:1.5rem;line-height:1.55;font-weight:800;color:var(--fw-ink);margin:30px 0 18px}
.fw-ba-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.fw-ba-grid figure{margin:0;min-width:0}
.fw-ba-image{width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:14px;background:#f2f2f2}
.fw-ba-image img{width:100%;height:100%;object-fit:cover}
.fw-ba-grid figcaption{font-weight:800;color:#5c6064;text-align:center;padding:12px 0}
.fw-contact{margin:55px 0 26px;padding:34px 22px;background:#fff7e8;border:2px solid #f7d86b;border-radius:22px;text-align:center}
.fw-contact h2{font-size:clamp(1.25rem,2.4vw,1.65rem);font-weight:800;line-height:1.5;color:var(--fw-ink);margin:0 0 10px}
.fw-contact p{color:#596069;margin:0 0 18px}
.fw-contact-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:13px}
.fw-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 23px;border-radius:999px;text-decoration:none!important;font-weight:800;text-align:center}
.fw-btn-primary{background:var(--fw-orange);color:#fff!important}
.fw-btn-outline{border:2px solid var(--fw-orange);color:var(--fw-orange)!important;background:white}
.fw-contact p.fw-contact-time{margin:16px 0 0;font-size:.8rem}
.fw-return{text-align:center;margin:30px 0 0}
.fw-return a{color:var(--fw-orange)!important;font-weight:800;text-decoration:none}
@media(max-width:900px){.fw-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:620px){.fw-archive{padding:20px 16px 45px}.fw-grid,.fw-ba-grid{grid-template-columns:minmax(0,1fr);gap:18px}.fw-intro{margin-bottom:22px}.fw-card-body{padding:16px}.fw-card-title{font-size:1.03rem}.fw-single-main{padding:23px 16px 55px}.fw-contact{padding:25px 16px}.fw-contact-actions{flex-direction:column}.fw-btn{width:100%}}
@media(prefers-reduced-motion:reduce){.fw-card{transition:none}}
