
    body { font-family: 'Noto Sans JP', sans-serif; -webkit-font-smoothing: antialiased; }
    .page-view { display: none; opacity: 0; transition: opacity 0.25s ease-in-out; }
    .page-view.active { display: block; opacity: 1; }
    .modal-hidden { display: none !important; opacity: 0; pointer-events: none; }
  
/* CraftWeb 2026: readability + touch target pass (common, non-destructive) */
html { -webkit-text-size-adjust: 100%; }
body { font-size:16px !important; font-weight:400 !important; line-height:1.8; }
.text-xs { font-size: .8125rem !important; line-height:1.65 !important; }
[class*="text-[9px]"], [class*="text-[10px]"], [class*="text-[11px]"] {font-size:.75rem !important;line-height:1.5 !important}
nav button, #mobile-menu button, header a, footer button {font-size:clamp(13px,1.05vw,15px) !important}
#mobile-menu button {font-size:15px !important; min-height:44px}
input:not([type="checkbox"]):not([type="radio"]), textarea, select {font-size:16px !important;min-height:44px}
label {font-size:14px;line-height:1.6}
button, a {touch-action:manipulation}
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {outline:3px solid currentColor;outline-offset:3px}
img {max-width:100%;}
@media (max-width:640px) {h1 {overflow-wrap:anywhere} p {overflow-wrap:break-word} .text-xs {font-size:.875rem !important} }




/* CraftWeb production-review refinements */
html {scroll-padding-top: 84px;}
body { overflow-x: clip; line-height: 1.75; }
button, a, input, textarea, select { -webkit-tap-highlight-color: transparent; }
button, a, input, textarea, select { touch-action: manipulation; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {outline: 3px solid #e85d75!important;outline-offset:3px!important;}
input,textarea,select {font-size:16px!important;}
input,textarea {max-width:100%;}
img {max-width:100%;}
.page-view {min-width:0;}
@media(max-width: 767px) {
 body {font-size:16px!important;}
 .page-view h1 {overflow-wrap:anywhere; line-height:1.25;}
 .page-view p {overflow-wrap:anywhere;}
 #mobile-menu button {font-size:15px!important;min-height:44px;line-height:1.5;}
 .page-view button, .page-view a {min-height: 38px;}
}
@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}



.ts-enhance-section{max-width:1140px;margin:0 auto;padding:58px 24px 72px;color:#27272a}.ts-enhance-section h2{font-size:clamp(23px,2.8vw,34px);font-weight:600;line-height:1.5;margin:8px 0 16px}.ts-enhance-kicker{font-size:12px;letter-spacing:.18em;color:#9d6759;text-transform:uppercase}.ts-enhance-intro{line-height:1.9;color:#52525b;margin-bottom:27px}.ts-enhance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ts-enhance-card{border:1px solid #dedbd6;border-radius:14px;padding:26px;background:#fff;box-shadow:0 9px 22px #201b1808}.ts-enhance-card b{font-size:16px;display:block;margin-bottom:11px}.ts-enhance-card p{font-size:14px;line-height:1.85;color:#5a5a5a}.ts-enhance-panel{background:#f6f3ef;padding:26px;border-radius:14px;margin-top:25px}.ts-enhance-panel li{margin:8px 0;font-size:14px;list-style:disc;margin-left:20px}.ts-demo-footer{border-top:1px solid #7776;margin-top:32px;padding:16px 20px 0;text-align:center;font-size:11px;line-height:2;color:#c9c4be}.ts-demo-footer a{color:inherit;text-decoration:underline;text-underline-offset:3px}.ts-demo-footer span{display:inline-block;margin:0 9px}.ts-demo-banner{position:fixed;top:auto;bottom:0;left:0;right:0;z-index:10000;background:#251f20;color:white;display:flex;justify-content:center;gap:18px;align-items:center;flex-wrap:wrap;padding:8px 14px;font-size:11px;box-shadow:0 -4px 25px #0002}.ts-demo-banner a{color:#fff;text-decoration:underline}.ts-detail-backdrop{position:fixed;inset:0;z-index:20000;background:#0009;display:none;align-items:center;justify-content:center;padding:18px}.ts-detail-backdrop.is-visible{display:flex}.ts-detail-box{max-width:540px;width:100%;background:white;color:#282524;border-radius:18px;padding:30px;box-shadow:0 25px 70px #0005}.ts-detail-box h2{font-size:25px;font-weight:650;margin:8px 0 12px}.ts-detail-box p{font-size:14px;line-height:1.85}.ts-detail-action{background:#43352f;color:white;padding:12px 20px;border-radius:7px;font-size:13px;margin-top:20px}.ts-detail-close{float:right;background:#eee;padding:5px 12px;border-radius:99px}.ts-work-hidden{display:none!important}@media(max-width:700px){.ts-enhance-grid{grid-template-columns:1fr}.ts-enhance-section{padding:34px 17px 56px}.ts-demo-banner{font-size:10px;gap:9px}}

:where(.page-link){display:inline-block}
nav a[aria-current="page"]{color:#1c1917;border-bottom:1px solid currentColor;font-weight:600}
