@font-face {font-family:Baskervville;src:url('./fonts/baskervville.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face {font-family:Baskervville;src:url('./fonts/baskervville-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap;}
@font-face {font-family:'Be Vietnam';src:url('./fonts/be-vietnam.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face {font-family:'Be Vietnam';src:url('./fonts/be-vietnam-semibold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}
@font-face {font-family:Sacramento;src:url('./fonts/sacramento.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}

:root {
  --v4-accent:#af402d; --v4-paper:#fff; --v4-ink:#302d29; --v4-muted:#756e66;
  --v4-line:#d9d2ca; --v4-rule:#8b8882; --v4-tint:#f6f3ef; --v4-sidebar:250px; --v4-topbar:66px;
  --v4-body:"Be Vietnam","HGGothicM","HGゴシックM","Yu Gothic",Meiryo,sans-serif;
  --v4-serif:"Baskervville",Georgia,"Yu Mincho",serif;
  --v4-sans:var(--v4-body); --v4-border:var(--v4-line); --v4-bg:var(--v4-paper);
}
html:has(body.v4-page) {color-scheme:light;scroll-padding-top:86px;}
body.v4-page {margin:0!important;min-width:0;background:var(--v4-paper)!important;color:var(--v4-ink);font-family:var(--v4-body);font-size:16px;line-height:1.7;}
.v4-page [hidden] {display:none!important;}
.v4-page button,.v4-page input,.v4-page select,.v4-page textarea {font:inherit;}
.v4-page a {color:inherit;}
.v4-page :is(a,button,input,select,textarea,summary):focus-visible {outline:2px solid var(--v4-accent);outline-offset:4px;}
.v4-page button,.v4-page a {touch-action:manipulation;}
.v4-page button:disabled {cursor:not-allowed;}
.v4-page>.v2-header {display:none!important;}
body.v4-page .v4-topbar {position:fixed!important;top:0!important;right:0!important;bottom:auto!important;left:0!important;height:66px!important;min-height:66px!important;width:100%!important;max-width:none!important;margin:0!important;padding-top:0!important;padding-bottom:0!important;box-shadow:none!important;transform:none!important;border-radius:0!important;background:#fff!important;}
body.v4-page .v4-topbar a {font-family:var(--v4-body)!important;font-weight:400!important;color:var(--v4-ink)!important;text-shadow:none!important;box-shadow:none!important;background:none!important;border-radius:0!important;opacity:1!important;text-decoration:none!important;}
body.v4-page .v4-topbar a:hover {color:var(--v4-accent)!important;}
body.v4-page .v4-sidebar a {color:white!important;text-shadow:none!important;text-decoration:none!important;box-shadow:none!important;}
body.v4-page .v4-menu-toggle {font-family:var(--v4-body)!important;font-weight:400!important;border:0!important;box-shadow:none!important;text-shadow:none!important;color:white!important;}
body.v4-page a.v4-skip {position:fixed!important;z-index:10000!important;transform:translateY(-160%)!important;}
body.v4-page a.v4-skip:focus {transform:none!important;}
.v4-skip {position:fixed;z-index:10000;top:8px;left:12px;padding:10px 18px;background:white;color:var(--v4-accent)!important;border:1px solid;transform:translateY(-160%);}
.v4-skip:focus {transform:none;}
.v4-topbar {box-sizing:border-box;position:fixed;inset:0 0 auto;height:66px;z-index:100;background:white;border-bottom:1px solid #b3b3b3;display:flex;justify-content:flex-end;align-items:stretch;padding:0 4.8%;gap:24px;}
.v4-topbar nav {display:flex;align-items:stretch;gap:24px;}
.v4-topbar a {position:relative;display:flex;align-items:center;text-decoration:none;white-space:nowrap;font-size:16px;letter-spacing:.2px;color:var(--v4-ink);}
.v4-topbar a:hover {color:var(--v4-accent);}
.v4-topbar a[aria-current=page]::after {content:"";position:absolute;bottom:0;height:2px;background:var(--v4-accent);inset-inline:0;}
.v4-help {margin-left:44px;gap:12px;}
.v4-help-mark {width:27px;height:27px;border:1px solid;border-radius:50%;display:grid;place-items:center;line-height:1;}
.v4-mobile-brand {display:none!important;}
.v4-sidebar {box-sizing:border-box;position:fixed;top:66px;left:0;bottom:0;width:var(--v4-sidebar);z-index:101;background:var(--v4-accent);color:white;display:flex;flex-direction:column;overflow:auto;transition:width .22s ease;}
.v4-menu-toggle {flex:none;box-sizing:border-box;display:flex;align-items:center;gap:24px;min-height:76px;margin:10px 0 0;padding:0 23px;width:100%;border:0;border-radius:0;color:white;background:transparent;cursor:pointer;white-space:nowrap;text-align:left;font-size:14px!important;}
.v4-menu-toggle img {display:block;flex:none;width:26px;height:28px;}
.v4-menu-toggle:hover {background:#ffffff10;}
.v4-sidebar :is(a,button):focus-visible {outline-color:#fff;outline-offset:-5px;}
.v4-side-brand {font:27px/38px var(--v4-serif);margin:0 24px 40px;text-decoration:none;white-space:nowrap;}
.v4-side-nav {display:grid;gap:10px;}
.v4-mobile-tools {display:none;}
.v4-side-nav a {position:relative;display:flex;align-items:center;padding:8px 28px;min-height:32px;text-decoration:none;font-size:18px;line-height:28px;white-space:nowrap;}
.v4-side-nav a:hover,.v4-side-footer a:hover {background:#ffffff12;}
.v4-side-nav a[aria-current=page]::before {content:"";position:absolute;width:3px;height:22px;left:13px;top:50%;transform:translateY(-50%);background:white;}
.v4-side-footer {margin-top:auto;padding:28px 0 38px;}
.v4-side-footer a {display:block;padding:6px 28px;min-height:24px;font-size:13px;line-height:24px;text-decoration:none;white-space:nowrap;}
#v4-main {box-sizing:border-box;min-width:0;margin-left:var(--v4-sidebar);padding-top:66px;min-height:100dvh;transition:margin-left .22s ease;}
#v4-main:focus {outline:none;}
#v4-main>[id$=V2Host] {position:relative!important;inset:auto!important;display:block;z-index:auto!important;min-height:calc(100dvh - 66px);height:auto;overflow:visible;background:white!important;}
body.v4-sidebar-collapsed {--v4-sidebar:76px;}
.v4-sidebar-collapsed .v4-menu-label,.v4-sidebar-collapsed .v4-side-brand,.v4-sidebar-collapsed .v4-side-nav,.v4-sidebar-collapsed .v4-side-footer {display:none;}
.v4-backdrop {display:none;}
.v4-page dialog::backdrop {background:#211b1855;}
.v4-shell-dialog {max-width:min(480px,calc(100vw - 40px));box-sizing:border-box;padding:28px;border:1px solid var(--v4-rule);border-radius:4px;background:white;color:var(--v4-ink);font:16px/1.8 var(--v4-body);}
.v4-shell-dialog h2 {font-size:22px;font-weight:500;margin:0 0 16px;}
.v4-shell-dialog button {min-height:44px;padding:8px 24px;border:1px solid var(--v4-rule);background:white;cursor:pointer;}
@media(min-width:1600px) {.v4-topbar {padding-right:max(48px,calc((100vw - 1440px)/2));}}
@media(max-width:1100px) {.v4-topbar {padding-inline:24px;gap:18px;}.v4-topbar nav {gap:18px;}.v4-topbar a {font-size:14px;}.v4-help {margin-left:18px;}}
@media(max-width:800px) {
  body.v4-page {--v4-sidebar:250px;}
  .v4-topbar {padding:0 16px 0 70px;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;gap:20px;height:66px;}
  .v4-topbar::-webkit-scrollbar {display:none;}
  .v4-topbar nav {gap:20px;}
  .v4-topbar a {font-size:14px;min-height:64px;}
  .v4-help {margin-left:0;gap:8px;}
  .v4-help-mark {width:22px;height:22px;}
  .v4-sidebar {width:250px;box-shadow:8px 0 24px #302d2910;transform:translateX(0);transition:transform .2s;}
  .v4-sidebar-collapsed .v4-sidebar {width:250px;transform:translateX(-100%);overflow:visible;box-shadow:none;}
  .v4-sidebar-collapsed .v4-menu-toggle {position:fixed;left:250px;top:-66px;width:58px;height:66px;min-height:66px;margin:0;padding:0 16px;background:var(--v4-accent);}
  .v4-sidebar-collapsed .v4-menu-toggle img {width:26px;height:28px;}
  #v4-main {margin-left:0;}
  .v4-backdrop {position:fixed;inset:66px 0 0;z-index:100;background:#302d293d;border:0;padding:0;width:100%;}
  .v4-page:not(.v4-sidebar-collapsed) .v4-backdrop {display:block;}
  .v4-page:not(.v4-sidebar-collapsed) .v4-mobile-tools {display:grid;margin-top:12px;padding-top:12px;border-top:1px solid #ffffff50;}
}
@media(prefers-reduced-motion:reduce) {.v4-sidebar,#v4-main {transition:none;}}
@media(max-height:780px) and (min-width:801px) {
 .v4-menu-toggle {min-height:64px;margin-top:0;}
 .v4-side-brand {margin-bottom:16px;}
 .v4-side-nav {gap:4px;}
 .v4-side-nav a {padding-block:6px;}
 .v4-side-footer {padding:20px 0;}
}

body.v4-page.v4-mobile-menu-open {overflow:hidden!important;}
