*{box-sizing:border-box}html,body{margin:0;background:#fff;color:#222}body{font-family:"Yu Gothic","Noto Sans JP",sans-serif}#site{max-width:1440px;margin:auto}.design-svg{display:block;width:100%;height:auto;overflow:hidden}.selectable-text{user-select:text;cursor:text}.text-art{pointer-events:none}.design-svg a{cursor:pointer}.design-svg a:focus-visible rect{stroke:#6d8db1;stroke-width:3;fill:rgba(255,255,255,.1)}.design-svg a:hover .hotspot{fill:rgba(255,255,255,.08)}a{color:inherit}.foreign-inner{width:100%;height:100%}.contact-field{width:100%;height:100%;padding:14px 20px;border:0;border-radius:0;background:transparent;font-family:"Yu Gothic",sans-serif;font-size:14px;color:#303030;outline-offset:-2px;resize:none;appearance:none}.contact-field:focus{outline:2px solid #799da0;background:#ffffffb0}.contact-field.empty{color:transparent}.contact-field option{color:#333}.contact-submit{width:100%;height:100%;border:0;background:transparent;cursor:pointer}.contact-submit:hover{background:#ffffff18}.contact-submit:focus-visible{outline:3px solid #8da7af;outline-offset:-4px}.form-note{margin:0;text-align:center;font-size:13px;line-height:1.6;color:#777}.preview-tools{position:fixed;right:16px;bottom:16px;display:flex;align-items:center;gap:1px;z-index:20;box-shadow:0 2px 12px #0001;border:1px solid #ddd;background:#fff;border-radius:4px;opacity:.75}.preview-tools:hover,.preview-tools:focus-within{opacity:1}.preview-tools a,.preview-tools button{font:12px sans-serif;padding:10px;color:#555;background:none;border:0;text-decoration:none;cursor:pointer}.mobile-hint{position:fixed;bottom:16px;left:12px;z-index:20;display:flex;align-items:center;gap:12px;background:#fffe;border:1px solid #ddd;padding:8px;font-size:11px}.mobile-hint button{background:#222;color:white;border:0;padding:5px 8px;font:inherit}.zoomed{width:1100px;max-width:none!important}.success-note{font-size:12px;text-align:center;background:#f6f6f3;color:#666;margin:0;padding:20px}.mobile-menu{border:0;padding:0;margin:0 0 0 auto;width:min(100%,480px);max-width:100%;height:100dvh;max-height:100dvh;overflow-y:auto;background:white}.mobile-menu::backdrop,.info-dialog::backdrop{background:#0008}.info-dialog{padding:42px;max-width:540px;width:calc(100% - 36px);border:0;line-height:1.9;color:#333}.info-dialog h2{font-family:"Yu Mincho",serif;font-size:23px;font-weight:500}.dialog-close{position:absolute;right:14px;top:10px;background:none;border:0;font-size:28px;cursor:pointer}.solid-button{display:inline-block;margin-top:20px;padding:12px 24px;background:#222;color:white;text-decoration:none;font-size:14px}.gallery{max-width:1440px!important;padding:70px 5%}.gallery-header>a{text-decoration:none;font-size:14px}.eyebrow{font-size:12px;letter-spacing:.18em;margin-top:56px}.gallery h1{font-family:"Yu Mincho",serif;font-size:42px;font-weight:500;margin:10px 0 20px}.gallery-header p{line-height:1.9;color:#626262}.gallery-filters{display:flex;gap:8px;flex-wrap:wrap;margin:40px 0 24px}.gallery-filters button{font:13px inherit;background:#fff;border:1px solid #d1d1d1;border-radius:2px;padding:10px 18px;cursor:pointer}.gallery-filters button[aria-pressed=true]{background:#252525;border-color:#252525;color:#fff}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 24px}.design-card{border:1px solid #e2e2e2;text-decoration:none;transition:box-shadow .2s}.design-card:hover{box-shadow:0 8px 24px #0002}.design-card[hidden]{display:none}.design-thumb{height:285px;overflow:hidden;background:#eee}.design-thumb .design-svg{pointer-events:none}.design-card[data-category=mobile] .design-thumb .design-svg{width:180px;margin:auto}.card-label{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 15px}.card-label strong{font-size:13px;font-weight:500}.card-label span{font-size:10px;color:#777;white-space:nowrap}.gallery-footer{margin-top:60px;border-top:1px solid #ddd;padding:24px 0;font-size:12px;color:#777;line-height:1.8}@media(max-width:767px){#site{max-width:480px}.preview-tools{right:10px;bottom:10px}.gallery{padding:36px 18px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:18px 12px}.gallery h1{font-size:32px}.gallery-header p{font-size:13px}.design-thumb{height:180px}.design-card[data-category=mobile] .design-thumb .design-svg{width:120px}.card-label{display:block;padding:12px 10px}.card-label span{display:block;margin-top:5px}.gallery-filters button{padding:9px 11px;font-size:12px}.contact-field{font-size:16px}}
.release-reveal{opacity:0;transform:translateY(20px);transition:opacity .8s ease .3s,transform .8s ease .3s}.release-reveal.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.release-reveal{opacity:1;transform:none;transition:none}}
.mobile-menu{background:#292b2d}
.design-svg a .hotspot{transition:fill .2s ease}
body.menu-open{overflow:hidden}
.mobile-menu{opacity:0;transform:translateX(28px);transition:opacity .3s ease,transform .3s ease}
.mobile-menu.is-open{opacity:1;transform:translateX(0)}
.mobile-menu::backdrop{background:rgba(0,0,0,.55)}
.mobile-menu-fallback{position:fixed;top:14px;right:14px;z-index:19;width:46px;height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid #ffffff80;background:#242729e8;cursor:pointer}
.mobile-menu-fallback span{display:block;width:20px;height:1px;background:white;transition:width .2s ease}
.mobile-menu-fallback:hover span:last-child{width:14px}
.mobile-menu-fallback:focus-visible{outline:2px solid #8da7af;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.mobile-menu,.design-svg a .hotspot,.mobile-menu-fallback span{transition:none}.mobile-menu{transform:none}}
.detail-mobile{width:100%;background:#f2f2f0;color:#292b2d;overflow:hidden}
.detail-header{position:absolute;z-index:5;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 20px;color:#fff}
.detail-logo,.detail-footer-logo{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600;letter-spacing:.04em;text-decoration:none;font-size:15px;line-height:1.4}
.detail-logo span{display:block;font-family:Arial,sans-serif;font-size:8px;font-weight:400;letter-spacing:0;margin-top:3px}
.detail-menu-button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;flex:none;width:44px;height:44px;background:#2228;border:1px solid #fff9;color:#fff;cursor:pointer}
.detail-menu-button span{width:21px;height:1px;background:currentColor}
.detail-menu-button:focus-visible,.detail-contact a:focus-visible,.detail-footer a:focus-visible{outline:2px solid #a6c4cd;outline-offset:4px}
.detail-hero{min-height:410px;padding:140px 24px 42px;display:flex;align-items:flex-end;background-color:#34383a;background-position:center;background-size:cover;color:#fff}
.detail-hero-label,.detail-kicker{font:500 11px/1.4 Arial,sans-serif;letter-spacing:.15em}
.detail-hero-label{margin:0 0 14px;opacity:.8}
.detail-hero h1{font:400 clamp(34px,10vw,53px)/1.05 Georgia,"Times New Roman",serif;overflow-wrap:anywhere;letter-spacing:.005em;margin:0 0 18px}
.detail-hero-subtitle{font:500 16px/1.7 "Yu Mincho","Hiragino Mincho ProN",serif;white-space:pre-line;margin:0}
.detail-body{background:#f2f2f0}
.detail-section{padding:64px 24px;border-bottom:1px solid #d9d9d6}
.detail-section:nth-child(even){background:#f8f8f6}
.detail-kicker{margin:0 0 18px;color:#747b7c}
.detail-section h2,.detail-contact h2{font:500 28px/1.5 "Yu Mincho","Hiragino Mincho ProN",serif;white-space:pre-line;overflow-wrap:anywhere;margin:0 0 26px}
.detail-section-content{display:flex;flex-direction:column;gap:18px}
.detail-section-content p,.detail-card p,.detail-contact p{font-size:16px;line-height:1.95;letter-spacing:.02em;white-space:pre-line;margin:0;overflow-wrap:anywhere}
.detail-section-content h3,.detail-card h3{font:600 19px/1.6 "Yu Mincho","Hiragino Mincho ProN",serif;white-space:pre-line;overflow-wrap:anywhere;margin:6px 0 0}
.detail-section-content>.detail-list{margin:0}
.detail-list{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.detail-list li{position:relative;padding:12px 14px 12px 29px;background:#fff;border:1px solid #e3e3e0;font-size:15px;line-height:1.65;overflow-wrap:anywhere}
.detail-list li::before{content:"";position:absolute;left:15px;top:22px;width:5px;height:5px;background:#7d8b89}
.detail-card{display:flex;flex-direction:column;gap:12px;padding:24px 20px;background:#fff;border:1px solid #e5e5e2}
.detail-card h3{margin:0 0 2px}.detail-card .detail-list li{background:#f8f8f6}
.detail-step{font:500 12px/1.4 Arial,sans-serif;letter-spacing:.12em;color:#718080}
.detail-animate{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.detail-animate.is-visible{opacity:1;transform:none}
.detail-contact{background:#2b2e30;color:#fff;padding:64px 24px}.detail-contact .detail-kicker{color:#b3c0bf}.detail-contact h2{margin-bottom:18px}.detail-contact a{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding:20px;border:1px solid #ffffff85;text-decoration:none;font-size:14px}.detail-contact a span{font-size:22px}
.detail-tel{display:flex;width:100%;justify-content:space-between;gap:10px;margin-top:10px;padding:20px;background:transparent;border:1px solid #ffffff85;color:inherit;font:inherit;font-size:14px;cursor:pointer;text-align:left}.detail-tel span{font-family:Arial,sans-serif;white-space:nowrap}.detail-contact .detail-hours{margin-top:8px;font-size:11px;color:#c8cdcc}.detail-tel:focus-visible{outline:2px solid #a6c4cd;outline-offset:4px}
.detail-footer{background:#202325;color:#eee;padding:46px 24px 72px}.detail-footer p{font-size:11px;line-height:1.8;color:#bfc3c3}.detail-footer nav{display:flex;flex-wrap:wrap;gap:22px;margin:32px 0}.detail-footer nav a{font:11px Arial,sans-serif;letter-spacing:.08em;text-decoration:none}.detail-footer small{display:block;margin-top:30px;color:#a2a7a7;font:9px/1.6 Arial,sans-serif}
@media(prefers-reduced-motion:reduce){.detail-animate{opacity:1;transform:none;transition:none}}

/* Preview-only controls are not part of the published WordPress site. */
.preview-tools,.mobile-hint{display:none!important}
