/* TUKISUMI CSS — Layer 1: base tokens, document defaults, typography primitives. */
html{scroll-behavior:smooth;}
body{-webkit-font-smoothing:antialiased;}
a{color:inherit;text-decoration:none;}
img{display:block;}
:root{--navy:#062844;--navy-2:#0b3b64;--navy-3:#0f4d77;--blue:#2c83ad;--blue-2:#80bfd8;--ice:#edf6f9;--gold-2:#d6bc91;--cream:#f3eadc;--white:#fff;--shadow:0 26px 70px rgba(7,42,67,.12);--shadow-soft:0 14px 35px rgba(7,42,67,.08);}
::selection{background:#dceef5;color:var(--navy);}
html,body{max-width:100%;overflow-x:hidden;}
img,svg,video,iframe{max-width:100%;}
*{box-sizing:border-box;}
body{margin:0;}
input,select,textarea{max-width:100%;}
:root{--paper:#f5f8fa;--radius:14px;}
body{color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC","Noto Sans JP","Microsoft JhengHei","Yu Gothic",sans-serif;background:#fff;}
p{color:var(--muted);}
a{transition:color .18s,background .18s,border-color .18s;}
button,input,select,textarea{font:inherit;}
button{cursor:pointer;}
img{max-width:100%;}
h1,h2,h3{overflow-wrap:break-word;}
h1,h2{line-height:1.35;}
section[id],article[id]{scroll-margin-top:140px;}
img{height:auto;}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #9b7b40;outline-offset:3px;}
body.home-premium-2026{--p26-ink:#0a2236;--p26-navy:#082d4a;--p26-navy-2:#0b3e61;--p26-ice:#f4f8fa;--p26-paper:#fbfcfd;--p26-gold:#b89a63;--p26-gold-soft:#e7dcc7;--p26-line:rgba(8,45,74,.12);--p26-shadow:0 24px 70px rgba(7,38,60,.10);background:#fff;color:var(--p26-ink);}
:root{--review-ink:#12374b;--review-gold:#94743b;--review-line:#dbe5ea;}
[hidden]{display:none!important;}
summary:focus-visible{outline:3px solid #a88951;outline-offset:4px;}
html body,html body *{font-family:var(--reading-font)!important;}
html[lang="ja"]{--reading-font:Arial,"Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif;--display-font:"Noto Serif JP","Source Han Serif","Yu Mincho","Hiragino Mincho ProN",serif;}
html[lang="en"]{--reading-font:Arial,"Helvetica Neue",sans-serif;--display-font:"Baskerville Old Face",Baskerville,Georgia,serif;}
html body h1,html body h2,html body .logo-type strong{font-family:var(--display-font)!important;}
html body h1,html body h2,html body .logo-type strong{font-weight:500!important;}
html[lang="en"] body h2{font-family:"Baskerville Old Face",Baskerville,Georgia,serif!important;}
main p,main li,main dd,main dt{font-size:17px;line-height:1.8;}
input::placeholder,textarea::placeholder{color:#60727c;opacity:1;}
:root{--ink:#173344;--muted:#526673;--gold:#927446;--line:#dfe5e7;--reading-font:"Noto Sans TC","Microsoft JhengHei","PingFang TC",Arial,sans-serif;--display-font:"Noto Serif TC","Songti TC","PMingLiU",serif;}
html[lang=ja]{--reading-font:"Noto Sans JP","Yu Gothic","Meiryo",sans-serif;--display-font:"Yu Mincho","Hiragino Mincho ProN",serif;}
html[lang=en]{--reading-font:"Segoe UI",Arial,sans-serif;--display-font:Georgia,"Times New Roman",serif;}
html{scroll-padding-top:140px;}
body{font-size:17px;line-height:1.85;}
main p,main li,main dd{line-height:1.85;}
h1,h2,h3{text-wrap:balance;}
p{text-wrap:pretty;}
html body h1,html body h2{font-weight:600!important;letter-spacing:.025em;}
html[lang=en] body h1,html[lang=en] body h2{font-family:var(--display-font)!important;letter-spacing:-.025em;}
html body h3{font-weight:650;line-height:1.5;}
html body .container{width:min(1200px,calc(100% - 64px));}
html body .section{padding-block:80px;}
html body .section-kicker{font-size:13px;line-height:1.6;letter-spacing:.16em;font-weight:700;}
html body .nav-shell{min-height:82px;height:auto;gap:24px;padding-block:12px;}
html body .button{border-radius:8px;font-size:16px;min-height:48px;line-height:1.5;letter-spacing:0;padding:13px 22px;font-weight:650;box-shadow:none;}
