*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#5c4237;font-family:"Hiragino Mincho ProN","Yu Mincho",serif} .site{max-width:1024px;margin:auto;position:relative}.poster{display:block;width:100%;height:auto}.hot{position:absolute;display:block;z-index:2;border-radius:10px}.hot:focus-visible{outline:3px solid #f57986;outline-offset:3px}.form-wrap{max-width:840px;margin:18px auto 55px;padding:24px;background:#fff9f8;border:1px solid #f3d8d2;border-radius:18px}h2{font-size:1.3rem;margin-top:0}label{display:block;margin:14px 0 5px}input,textarea{font:inherit;width:100%;padding:12px;border:1px solid #dacfc8;border-radius:8px;background:white}button{background:#f36e75;color:#fff;border:0;border-radius:25px;padding:13px 28px;font:inherit;cursor:pointer}small{display:block;line-height:1.7;margin:10px 0;color:#725f56}.nav-foot{text-align:center;padding:20px}.nav-foot a{color:#775448;margin:0 12px} .notice{background:#fff4e8;padding:12px 18px;text-align:center;font-size:.9rem}
.embedded-contact{position:absolute;left:0;top:0;width:100%;height:100%;margin:0;padding:0;pointer-events:none;z-index:4}
.overlay-field{position:absolute;pointer-events:auto;margin:0!important;display:block;background:#fff!important;border:1px solid #ddd9d8!important;border-radius:7px!important;color:#493b34!important;font-family:"Hiragino Mincho ProN","Yu Mincho",serif!important;font-size:clamp(7px,1.25vw,15px)!important;line-height:1.3!important;padding:0.5% 1.1%!important;box-shadow:none;resize:none}
.overlay-field::placeholder{color:#a8a6a4}
.name-field{left:53.5%;top:44.85%;width:34.5%;height:2.4%}
.email-field{left:53.5%;top:49.3%;width:34.5%;height:2.4%}
.message-field{left:53.5%;top:53.8%;width:34.5%;height:5.1%}
.overlay-submit{position:absolute;pointer-events:auto;left:53.5%;top:59.85%;width:13.8%;height:3.1%;padding:0!important;border-radius:999px;background:#f76c78!important;color:white;font-size:clamp(8px,1.5vw,17px);white-space:nowrap}
.overlay-submit:disabled{opacity:.7}
.hidden-field,.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.form-result{max-width:850px;margin:16px auto;padding:18px;background:#fff7f4;border:1px solid #f3d8d2;border-radius:12px;text-align:center}
.form-result[hidden]{display:none}



/* No active navigation background; keep focus outlines for accessibility. */
#contact,#services{scroll-margin-top:12px}
