*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#443c38;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;line-height:1.8;background:#fff}header{height:80px;padding:7px 6vw;display:flex;justify-content:space-between;align-items:center;background:#fffdfbf2;position:sticky;top:0;z-index:10;border-bottom:1px solid #eee}header img{height:66px;width:auto}header a,.cta{background:#453c37;color:#fff;text-decoration:none;padding:13px 22px;border-radius:999px;font-weight:700}.hero{min-height:690px;background:linear-gradient(120deg,#fffaf6,#f2dfd6);display:grid;grid-template-columns:1fr 1fr}.heroText{padding:62px 7vw}.heroLogo{width:205px;max-height:145px;object-fit:contain}.eyebrow,.kicker{font-size:12px;letter-spacing:.18em;color:#a78370;font-weight:700}.hero h1,.wrap h2,.campaign h2,.line h2,.service h2{font-family:Georgia,"Yu Mincho",serif;line-height:1.35}.hero h1{font-size:clamp(42px,5vw,70px);margin:6px 0 18px}.hero h1 em{font-style:normal;color:#b78278}.lead{font-size:17px}.badges{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.badges span{padding:5px 12px;border:1px solid #d9bfb3;background:#fff9;border-radius:999px;font-size:12px}.opening{border-left:3px solid #c79a38;padding-left:17px;margin:22px 0}.opening small,.opening strong{display:block}.opening strong{font-family:Georgia;font-size:31px;color:#a9756c}.note{font-size:10px;color:#8c817c}.heroPhotos{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:34px 34px 34px 0}.photo{background-size:cover;background-position:center;border-radius:170px 170px 10px 10px;position:relative}.p1{background-image:url('pilates-woman.jpg')}.p2{background-image:url('gym-woman.jpg')}.photo span{position:absolute;bottom:25px;left:25px;color:#fff;font-family:Georgia;font-size:22px;text-shadow:0 2px 8px #0008}.wrap{padding:90px 7vw}.wrap h2,.campaign h2,.line h2{font-size:clamp(30px,4vw,48px);margin:8px 0 28px}.introText{max-width:720px;color:#746a65}.three,.four{display:grid;gap:16px;margin-top:42px}.three{grid-template-columns:repeat(3,1fr)}.four{grid-template-columns:repeat(4,1fr)}.three article,.four article{padding:28px;background:#fbf5f1}.three b,.four b{font-family:Georgia;color:#c39b50;font-size:25px}.three h3,.four h3{margin:12px 0 4px}.three p,.four p{font-size:14px;color:#756b66}.services{display:grid;grid-template-columns:1fr 1fr}.service{min-height:560px;background-size:cover;background-position:center}.service.pil{background-image:url('pilates-woman.jpg')}.service.gym{background-image:url('gym-woman.jpg')}.shade{height:100%;padding:55px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:linear-gradient(transparent 35%,#382d28b8)}.shade p{font-family:Georgia;font-size:20px}.shade h2{font-size:38px;margin:5px 0}.shade span{letter-spacing:.12em}.campaign{text-align:center;padding:90px 7vw;background:#f7e5e1}.pricebox{max-width:650px;margin:auto;background:#fffaf8;padding:38px;border:1px solid #e3c8bf}.pricebox span,.pricebox strong{display:block}.pricebox strong{font-family:Georgia;font-size:55px;color:#b97973}.pricebox strong small{font-size:14px}.line{text-align:center;background:#413934;color:#fff;padding:80px 7vw}.line img{height:120px;filter:drop-shadow(0 2px 4px #0003)}.line .kicker{color:#dec1b5}.line>a{display:inline-block;background:#06c755;color:#fff;text-decoration:none;font-weight:700;padding:17px 42px;border-radius:999px;margin:18px}.line>small{display:block;color:#ccc}.shop dl{max-width:800px}.shop dl div{display:grid;grid-template-columns:150px 1fr;padding:16px 0;border-bottom:1px solid #ddd}.shop dd{margin:0}footer{padding:35px 7vw 90px;background:#f7f1ed;display:flex;align-items:center;justify-content:space-between}footer img{height:85px}footer p{font-size:11px}.sticky{display:none}
@media(max-width:800px){header{height:66px;padding:5px 18px}header img{height:55px}header a{display:none}.hero{display:block}.heroText{padding:45px 22px 28px}.heroLogo{width:165px}.hero h1{font-size:45px}.lead{font-size:15px}.heroPhotos{height:410px;padding:0 0 25px 18px}.photo{border-radius:100px 100px 8px 8px}.photo span{font-size:16px;left:15px}.wrap{padding:65px 22px}.three,.four{grid-template-columns:1fr}.services{grid-template-columns:1fr}.service{min-height:440px}.shade{padding:30px}.shade h2{font-size:31px}.campaign,.line{padding:65px 22px}.pricebox{padding:28px 15px}.pricebox strong{font-size:42px}.line>a{width:100%;margin:18px 0}.shop dl div{grid-template-columns:100px 1fr;font-size:14px}footer{padding:25px 22px 85px}footer img{height:70px}.sticky{display:block;position:fixed;bottom:0;left:0;right:0;padding:9px 13px;background:#fffefaed;z-index:20}.sticky a{display:block;background:#06c755;color:#fff;text-align:center;text-decoration:none;padding:13px;border-radius:999px;font-weight:700}}
/* 第3案: ロゴ拡大・人物画像の縦横比補正 */
header img{height:74px;width:auto;object-fit:contain}
.heroLogo{width:310px;max-width:75%;height:auto;max-height:none;object-fit:contain}
.photo{background-size:cover;background-position:center top;aspect-ratio:4/5;min-height:0}
.line img{height:170px;width:auto;object-fit:contain}
footer img{height:120px;width:auto;object-fit:contain}
@media(max-width:800px){
 header img{height:60px}
 .heroLogo{width:240px;max-width:80%}
 .heroPhotos{height:auto;min-height:390px}
 .photo{aspect-ratio:4/5}
 .line img{height:145px}
 footer img{height:95px}
}
