/* ===== 다서식 일본판(/jp/) site-jp.css (2026-10-13): V2 site.css를 복사해 글꼴만 일본어 시스템 글꼴로 바꾸고, 끝에 일본판 전용 규칙을 붙임 =====
   웹 글꼴을 쓰지 않는다(입력한 글자가 글꼴 서버로 가지 않게, 사용자 지시). 일본어 Windows·Mac·iOS·Android 기본 글꼴 순서. */
:root{--sans:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic Medium","YuGothic","Yu Gothic","Meiryo","Noto Sans JP","Noto Sans CJK JP",sans-serif;--mincho:"Hiragino Mincho ProN","Hiragino Mincho Pro","Yu Mincho","YuMincho","BIZ UDPMincho","MS PMincho","Noto Serif JP","Noto Serif CJK JP","Yu Gothic","Hiragino Sans","Meiryo",serif}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--sans);background:#faf8f4;color:#161a24;-webkit-text-size-adjust:100%}
a{color:inherit;text-decoration:none}
img{max-width:100%}
header.top{display:flex;align-items:center;gap:22px;padding:14px 40px;border-bottom:1px solid #e8e3d8;background:rgba(250,248,244,.96);position:sticky;top:0;z-index:50;backdrop-filter:blur(6px)}
.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;flex-shrink:0}
.brand img{border-radius:8px}
nav.mainnav{display:flex;gap:18px;font-size:14px;font-weight:600;color:#4b5160;overflow-x:auto;white-space:nowrap;flex:1;scrollbar-width:none}
nav.mainnav::-webkit-scrollbar{display:none}
nav.mainnav a:hover,nav.mainnav a[aria-current]{color:#b3261e}
.status-pill{border:1px solid #d8d2c2;border-radius:999px;padding:6px 13px;font-size:12px;color:#6b7280;display:flex;align-items:center;gap:6px;white-space:nowrap}
.status-pill .dot{width:7px;height:7px;border-radius:50%;background:#2e7d46}
footer{padding:36px 40px 44px;border-top:1px solid #e8e3d8;margin-top:64px;font-size:13px;color:#8b8f9c;line-height:1.7}
footer .foot-cats,footer .foot-links{display:flex;gap:6px 18px;margin-bottom:10px;flex-wrap:wrap}
footer .foot-cats a{color:#4b5160;font-weight:600}
footer a:hover{color:#b3261e}
.crumb{font-size:13px;color:#8b8f9c;margin-bottom:16px}
.crumb a:hover{color:#b3261e}
.crumb .sep{margin:0 7px;color:#c9c3b3}
.wrap{max-width:1200px;margin:0 auto;padding:0 40px}
/* ---- 홈 ---- */
.hero{max-width:1200px;margin:0 auto;padding:56px 40px 28px}
.eyebrow{display:inline-block;background:#fbe9e7;color:#b3261e;font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px;margin-bottom:18px}
.hero h1{font-family:var(--sans);font-weight:800;font-size:46px;line-height:1.28;letter-spacing:-.5px}
.hero h1 em{font-style:normal;color:#b3261e}
.hero .desc{margin-top:18px;font-size:16.5px;line-height:1.75;color:#5b6070;max-width:640px}
.stats{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.stats span{background:#fff;border:1px solid #eae5d8;border-radius:10px;padding:8px 13px;font-size:13px;color:#4b5160}
.stats b{color:#b3261e}
.search{margin-top:26px;max-width:640px;position:relative}
.search input{width:100%;border:1.5px solid #d8d2c2;border-radius:12px;padding:15px 18px 15px 46px;font-size:16px;font-family:inherit;background:#fff}
.search input:focus{outline:3px solid #fbe9e7;border-color:#b3261e}
.search:before{content:'';position:absolute;left:17px;top:50%;width:14px;height:14px;border:2.5px solid #9a9ea8;border-radius:50%;transform:translateY(-62%)}
.search:after{content:'';position:absolute;left:31px;top:58%;width:8px;height:2.5px;background:#9a9ea8;transform:rotate(45deg)}
.noresult{display:none;padding:18px 0;color:#8b8f9c;font-size:14px}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:44px 0 16px}
.sec-h h2{font-size:22px;font-weight:800}
.sec-h a{font-size:13.5px;color:#b3261e;font-weight:700}
.sec-h .cnt{font-size:13px;color:#8b8f9c;font-weight:500;margin-left:6px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.card{background:#fff;border:1px solid #eae5d8;border-radius:14px;padding:18px;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(22,26,36,.3)}
.card-icon{width:38px;height:38px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;color:#fff;margin-bottom:12px;font-family:var(--mincho)}
.card-title{font-weight:700;font-size:15.5px;margin-bottom:6px}
.card-sub{font-size:12.8px;color:#6b7080;line-height:1.55;margin-bottom:12px;flex:1}
.card-foot{display:flex;justify-content:space-between;align-items:center;font-size:11.5px;color:#9a9ea8}
.card-foot .tag{color:#2e7d46;background:#e8f5ec;border-radius:5px;padding:2px 6px;font-weight:700}
.site-faq{max-width:860px}
/* ---- 서식 페이지 ---- */
.fp{max-width:1240px;margin:0 auto;padding:30px 40px 10px}
.fp-head{display:flex;gap:18px;align-items:flex-start}
.fp-icon{width:60px;height:60px;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;font-weight:700;flex-shrink:0;font-family:var(--mincho)}
.fp-head h1{font-family:var(--sans);font-weight:800;font-size:34px;line-height:1.3}
.fp-sum{font-size:15px;color:#5b6070;line-height:1.65;margin-top:6px;max-width:820px}
.badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.badges span{font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:6px;background:#f1efe8;color:#4b5160}
.badges span.g{background:#e8f5ec;color:#2e7d46}
.badges span.r{background:#fbe9e7;color:#b3261e}
.answer{background:#fff;border:1px solid #eae5d8;border-left:4px solid #b3261e;border-radius:12px;padding:18px 22px;margin:22px 0 0;max-width:900px}
.answer h2{font-size:16px;margin-bottom:6px}
.answer p{font-size:15px;line-height:1.75;color:#333844}
.dl-row{display:flex;gap:10px;margin:20px 0 6px;flex-wrap:wrap}
.dl-btn{background:#161a24;color:#fff;padding:12px 18px;border-radius:10px;font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:8px}
.dl-btn small{font-weight:500;opacity:.75;font-size:11.5px}
.dl-btn.write{background:#2e7d46}
.dl-btn.pdf{background:#b3261e}
.dl-btn.doc{background:#2b579a}
.dl-btn.xls{background:#1d6f42}
.dl-btn.hwp{background:#2e5c8a}
.dl-btn.off{background:#fff;color:#2e5c3e;border:1.5px solid #9fcfad}
.dl-btn:hover{filter:brightness(1.08)}
.source-box{background:#e8f5ec;border:1px solid #c8e6d0;border-radius:10px;padding:14px 18px;font-size:13.5px;color:#2e5c3e;margin:14px 0;line-height:1.65;max-width:900px}
.source-box a{text-decoration:underline}
.source-box a.dl-btn{text-decoration:none}
.source-box .dl-row{margin:10px 0 0}
.writer{margin-top:26px;scroll-margin-top:80px}
.wr-bar h2{font-size:20px;font-weight:800}
.wr-bar p{font-size:13.5px;color:#6b7080;margin:4px 0 12px;line-height:1.6}
.editor{display:grid;grid-template-columns:380px minmax(0,1fr);gap:22px;align-items:start}
.ed-left{background:#fff;border:1px solid #eae5d8;border-radius:14px;padding:16px;max-height:calc(100vh - 100px);overflow:auto;position:sticky;top:78px}
.toolbar{display:flex;gap:7px;align-items:center;margin-bottom:12px;flex-wrap:wrap}
.toolbar button{border:1.5px solid #e0dccf;background:#fff;border-radius:8px;padding:8px 12px;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit;color:#161a24}
.toolbar button:hover{border-color:#b3261e;color:#b3261e}
.toolbar button.primary{background:#b3261e;color:#fff;border-color:#b3261e;padding:10px 18px;font-size:14px}
.toolbar button.primary:hover{color:#fff;filter:brightness(1.08)}
.toolbar button:disabled{opacity:.6;cursor:wait}
.save-st{font-size:11.5px;color:#2e7d46;margin-left:auto}
.seal-opt{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:700;color:#4b5160;background:#fcfbf8;border:1px dashed #e0dccf;border-radius:8px;padding:9px 11px;margin-bottom:12px;cursor:pointer}
.seal-opt input{width:16px;height:16px;accent-color:#b3261e}
.seal-opt small{font-weight:500;color:#9a9ea8;font-size:11px}
.fg{font-weight:800;font-size:13.5px;color:#b3261e;margin:16px 0 8px;padding-top:12px;border-top:1px dashed #eae5d8}
.fg:first-child{margin-top:0;padding-top:0;border-top:0}
.fl{display:block;margin-bottom:10px}
.fl span{display:block;font-size:12.5px;font-weight:700;color:#4b5160;margin-bottom:4px}
.fl input,.fl select,.fl textarea{width:100%;border:1px solid #d8d2c2;border-radius:8px;padding:9px 10px;font-size:14px;font-family:inherit;background:#fcfbf8;color:#161a24}
.fl textarea{resize:vertical;line-height:1.5}
.fl input:focus,.fl select:focus,.fl textarea:focus{outline:2px solid #fbe9e7;border-color:#b3261e;background:#fff}
.fl small{display:block;font-size:11.5px;color:#9a9ea8;margin-top:3px;line-height:1.45}
.privacy-note{font-size:12px;color:#2e5c3e;background:#e8f5ec;border-radius:8px;padding:9px 11px;margin-top:10px;line-height:1.5}
.ed-right .toolbar{position:sticky;top:66px;background:#faf8f4;padding:8px 0;z-index:5;margin-bottom:6px}
.paper{background:#fff;border:1px solid #e0dccf;box-shadow:0 18px 40px -24px rgba(22,26,36,.35);padding:48px 52px;font-family:var(--mincho);color:#1a1a1a;font-size:14px;line-height:1.7;min-height:900px}
.paper h2.dt{text-align:center;font-size:28px;letter-spacing:10px;margin:0 0 22px;font-family:var(--mincho);font-weight:700;line-height:1.4}
.paper h2.dt.sm{letter-spacing:4px;font-size:24px;margin-bottom:2px}
.paper h3{font-size:15px;margin:14px 0 4px}
.paper p{margin:3px 0;text-align:justify}
.paper table{width:100%;border-collapse:collapse;margin:10px 0 14px}
.paper td,.paper th{border:1px solid #333;padding:6px 8px;font-size:13px;vertical-align:middle}
.paper th,.paper td.l{background:#f2f2f2;text-align:center;font-weight:700;white-space:nowrap}
.paper table.sg td{border:0;font-weight:700;padding:10px 4px}
.paper table.it td{text-align:center}
.paper td.num,.paper table.it td.num{text-align:right}
.paper table.it.att td,.paper table.it.att th{font-size:11.5px;padding:2px 5px}
.paper table.tot{width:45%;margin-left:auto}
.paper table.appr{width:42%;margin-left:auto}
.paper td.sgc{height:48px}
.paper .c{text-align:center}
.paper .r{text-align:right}
.paper .mt{margin-top:18px}
.paper .date{font-weight:700;font-size:15px;margin:22px 0}
.paper .to{font-weight:700;font-size:16px;margin-top:14px}
.paper .big{font-size:16px}
.paper .small{font-size:12px}
.paper .ind{padding-left:18px}
.paper .box{border:1px solid #999;padding:10px 12px;min-height:60px;margin:6px 0}
.paper .note{font-size:11.5px;color:#777;margin-top:22px;border-top:1px solid #ddd;padding-top:8px}
.paper .warn{color:#b3261e;font-weight:700;font-size:12.5px}
.paper .seal{display:inline-block;vertical-align:middle;margin:-14px 0 -12px 2px;line-height:0}
.paper .seal svg{width:44px;height:44px}
.paper .seal.jik svg{width:52px;height:52px}
.paper.export{width:794px;min-height:1123px;border:0;box-shadow:none;padding:60px 64px}
.bl{display:inline-block;min-width:110px;border-bottom:1px solid #777;height:1.05em;vertical-align:bottom}
.bl.w{width:100%}
/* ---- 본문 ---- */
.content{max-width:860px;margin:44px 0 0}
.content section{margin:0 0 38px}
.content h2{font-size:21px;font-weight:800;margin-bottom:14px;line-height:1.4}
.content p,.content li{font-size:15px;line-height:1.8;color:#333844}
.content a{color:#b3261e;text-decoration:underline;text-underline-offset:3px}
ul.chk{list-style:none}
ul.chk li{position:relative;padding-left:26px;margin-bottom:8px}
ul.chk li:before{content:'';position:absolute;left:4px;top:.55em;width:10px;height:6px;border-left:2.5px solid #2e7d46;border-bottom:2.5px solid #2e7d46;transform:rotate(-45deg)}
table.info{width:100%;border-collapse:collapse;background:#fff;border:1px solid #eae5d8;border-radius:12px;overflow:hidden}
table.info th,table.info td{padding:12px 14px;border-bottom:1px solid #f0ece2;text-align:left;font-size:14.5px;line-height:1.65;vertical-align:top}
table.info th{background:#fcfbf8;width:26%;font-weight:700;color:#161a24}
table.info thead th{background:#f4f1ea;font-size:13px;color:#6b7080}
.usage-list{list-style:none;counter-reset:step}
.usage-list li{counter-increment:step;position:relative;padding-left:38px;margin-bottom:12px}
.usage-list li:before{content:counter(step);position:absolute;left:0;top:2px;width:25px;height:25px;border-radius:50%;background:#fbe9e7;color:#b3261e;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
ul.tips{list-style:none}
ul.tips li{background:#fff;border:1px solid #eae5d8;border-radius:10px;padding:12px 16px 12px 40px;margin-bottom:9px;position:relative}
ul.tips li:before{content:'!';position:absolute;left:14px;top:13px;width:18px;height:18px;border-radius:50%;background:#b3261e;color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
dl.law{background:#fff;border:1px solid #eae5d8;border-radius:12px;padding:6px 18px}
dl.law div{padding:11px 0;border-bottom:1px dashed #eae5d8}
dl.law div:last-child{border-bottom:0}
dl.law dt{font-weight:700;font-size:14.5px}
dl.law dd{font-size:14.5px;color:#4b5160;line-height:1.7;margin-top:2px}
.faq-item{border-bottom:1px solid #eae5d8;padding:15px 0}
.faq-item h3{font-size:15.5px;font-weight:700;line-height:1.55}
.faq-item h3:before{content:'Q. ';color:#b3261e}
.faq-item p{margin-top:7px;font-size:14.5px;color:#4b5160;line-height:1.75}
.rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none}
.chips a{display:inline-block;background:#fff;border:1px solid #e0dccf;border-radius:999px;padding:7px 13px;font-size:13.5px;color:#333844;text-decoration:none}
.chips a:hover{border-color:#b3261e;color:#b3261e}
.updated{font-size:12.5px;color:#9a9ea8;line-height:1.7;border-top:1px solid #eae5d8;padding-top:14px}
/* ---- 분류·정적 ---- */
.lead{font-size:16px;line-height:1.8;color:#4b5160;max-width:820px;margin-top:12px}
.page-h1{font-family:var(--sans);font-weight:800;font-size:36px;line-height:1.3}
.pick{width:100%;border-collapse:collapse;background:#fff;border:1px solid #eae5d8}
.pick th,.pick td{padding:11px 14px;border-bottom:1px solid #f0ece2;font-size:14px;text-align:left;line-height:1.6}
.pick th{background:#f4f1ea;color:#6b7080;font-size:13px}
.pick td a{color:#b3261e;font-weight:700}
.static-wrap{max-width:800px;margin:0 auto;padding:44px 40px}
.static-wrap h1{font-family:var(--sans);font-weight:800;font-size:32px;margin-bottom:20px}
.static-wrap h2{font-size:18px;margin:28px 0 10px}
.static-wrap p,.static-wrap li{font-size:14.5px;line-height:1.8;color:#333844;margin-bottom:8px}
.static-wrap ul{padding-left:20px}
/* ---- 블로그 ---- */
nav.mainnav a.nav-blog{color:#b3261e;font-weight:800}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.pcard{background:#fff;border:1px solid #eae5d8;border-radius:14px;padding:18px 18px 16px;display:flex;flex-direction:column;gap:7px;text-decoration:none!important;transition:transform .15s,box-shadow .15s}
.pcard:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(22,26,36,.3)}
.pc-cat{font-size:12px;font-weight:800}
.pc-title{font-size:16px;font-weight:800;line-height:1.45;color:#161a24}
.pc-desc{font-size:13px;color:#6b7080;line-height:1.6;flex:1}
.pc-meta{font-size:11.5px;color:#9a9ea8}
.blog-filter{margin:22px 0 18px}
.blog-filter button{border:1px solid #e0dccf;background:#fff;border-radius:999px;padding:8px 14px;font-size:13.5px;font-family:inherit;color:#333844;cursor:pointer}
.blog-filter button[aria-pressed="true"]{background:#161a24;border-color:#161a24;color:#fff}
.post-wrap{max-width:820px;margin:0 auto;padding:30px 24px 10px}
.post-head{margin:6px 0 22px}
.post-cat{font-size:13px;font-weight:800}
.post-head h1{font-family:var(--sans);font-weight:800;font-size:34px;line-height:1.35;margin:8px 0 12px;letter-spacing:-.3px}
.post-desc{font-size:16px;color:#4b5160;line-height:1.75}
.post-meta{font-size:13px;color:#9a9ea8;margin-top:10px}
.summary{max-width:none}
.summary ul{padding-left:20px}
.summary li{font-size:15px;line-height:1.75;color:#333844;margin-bottom:6px}
.toc{background:#fcfbf8;border:1px solid #eae5d8;border-radius:12px;padding:16px 20px;margin:18px 0 8px}
.toc b{font-size:14px}
.toc ol{margin:8px 0 0 20px}
.toc li{font-size:14px;line-height:1.9}
.toc a{color:#333844}
.toc a:hover{color:#b3261e}
.post-body h2{font-size:23px;font-weight:800;margin:44px 0 14px;line-height:1.45;scroll-margin-top:80px}
.post-body h3{font-size:18px;font-weight:800;margin:26px 0 10px}
.post-body p{font-size:16px;line-height:1.95;color:#2a2f3a;margin:0 0 14px}
.post-body a{color:#b3261e;text-decoration:underline;text-underline-offset:3px}
.post-body strong{color:#161a24;background:linear-gradient(transparent 62%,#fbe9e7 62%)}
.bl-ul,.bl-ol{margin:0 0 16px 22px}
.bl-ul li,.bl-ol li{font-size:16px;line-height:1.85;color:#2a2f3a;margin-bottom:6px}
.tbl-wrap{overflow-x:auto;margin:6px 0 18px}
table.bt th,table.bt td{font-size:14.5px}
table.bt thead th{white-space:nowrap}
.steps{list-style:none;counter-reset:st;margin:6px 0 18px}
.steps li{counter-increment:st;position:relative;padding:12px 16px 12px 52px;background:#fff;border:1px solid #eae5d8;border-radius:12px;margin-bottom:9px;display:flex;flex-direction:column;gap:3px}
.steps li:before{content:counter(st);position:absolute;left:14px;top:13px;width:26px;height:26px;border-radius:50%;background:#b3261e;color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
.steps b{font-size:15.5px}
.steps span{font-size:15px;color:#4b5160;line-height:1.75}
.callout{border-radius:12px;padding:14px 18px;margin:8px 0 18px;border:1px solid}
.callout b{display:block;font-size:14px;margin-bottom:4px}
.callout p{margin:0!important;font-size:15px!important}
.callout.tip{background:#eef7f1;border-color:#c8e6d0}
.callout.tip b{color:#2e7d46}
.callout.warn{background:#fdf1ef;border-color:#f3c7c1}
.callout.warn b{color:#b3261e}
.form-cta{display:flex;align-items:center;gap:14px;background:#fff;border:1.5px solid #e0dccf;border-radius:14px;padding:14px 18px;margin:8px 0 20px;text-decoration:none!important}
.form-cta:hover{border-color:#b3261e}
.form-cta .card-icon{margin:0;flex-shrink:0}
.form-cta .fc-t{display:flex;flex-direction:column;flex:1;color:#161a24}
.form-cta small{font-size:12.5px;color:#8b8f9c;margin-top:2px}
.form-cta .go{font-weight:800;color:#b3261e;font-size:14px;white-space:nowrap}
.post-forms,.post-faq,.sources{margin-top:40px}
.post-forms h2,.post-faq h2,.sources h2,.post-more h2{font-size:21px;font-weight:800;margin-bottom:14px}
.sources ul{padding-left:20px}
.sources li{font-size:14px;line-height:1.9}
.sources a{color:#2e5c8a;text-decoration:underline}
.post .updated{margin-top:30px}
.post-more{margin-top:44px}
@media (max-width:1000px){.pgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.pgrid{grid-template-columns:1fr}.post-head h1{font-size:26px}.post-body p,.bl-ul li,.bl-ol li{font-size:15.5px}}
@media (max-width:1000px){.editor{grid-template-columns:1fr}.ed-left{position:static;max-height:none}.grid{grid-template-columns:repeat(2,1fr)}.rel-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){header.top{padding:12px 16px;gap:12px}.status-pill{display:none}.hero,.fp,.wrap{padding-left:16px;padding-right:16px}.hero h1{font-size:32px}.fp-head h1{font-size:26px}.paper{padding:26px 16px;font-size:13px}.grid,.rel-grid{grid-template-columns:1fr 1fr;gap:10px}.card{padding:14px}.card-sub{display:none}footer{padding:28px 16px}}
@media print{
 @page{size:A4;margin:14mm}
 body{background:#fff}
 header.top,footer,.crumb,.fp-head,.answer,.dl-row,.source-box,.wr-bar,.ed-left,.toolbar,.content,.ad-slot,ins.adsbygoogle,.google-auto-placed,iframe{display:none!important}
 .fp{padding:0;max-width:none}
 .writer{margin:0}
 .editor{display:block}
 .paper{border:0;box-shadow:none;padding:0;min-height:0;font-size:11.5px;line-height:1.55}
 .paper h2.dt{font-size:22px;margin-bottom:14px}
 .paper h3{font-size:12.5px;margin:8px 0 2px}
 .paper td,.paper th{font-size:11px;padding:4px 6px}
 .paper table{margin:6px 0 10px}
 .paper .date{margin:12px 0}
 .paper .mt{margin-top:10px}
 .paper .box{min-height:40px;padding:6px 10px}
 .paper .seal svg{width:38px;height:38px}
}

/* 다운로드 확인 메시지 */
.dss-toast{position:fixed;left:50%;bottom:24px;z-index:100;max-width:min(92vw,560px);background:#161a24;color:#fff;font-size:14px;line-height:1.6;padding:12px 18px;border-radius:12px;box-shadow:0 12px 30px -12px rgba(0,0,0,.45);opacity:0;transform:translate(-50%,16px);transition:opacity .2s,transform .2s;pointer-events:none}
.dss-toast.on{opacity:1;transform:translate(-50%,0)}
@media print{.dss-toast{display:none!important}}

/* ---- 경조사: 문구 페이지(kind:'msg') ---- */
.paper.msgs{min-height:0;padding:22px;background:#f4f1ea;font-family:var(--sans);font-size:15px;line-height:1.75;color:#1f2430}
.paper.msgs .msg{background:#fff;border:1px solid #e6e1d4;border-radius:14px;padding:16px 18px 12px;margin:0 0 14px;box-shadow:0 6px 18px -14px rgba(22,26,36,.35)}
.paper.msgs .msg:last-child{margin-bottom:0}
.paper.msgs .msg-l{font-size:12.5px;font-weight:800;color:#8b3a62;margin-bottom:6px;letter-spacing:0}
.paper.msgs .msg-t{word-break:keep-all;overflow-wrap:anywhere}
.paper.msgs .msg-t p{margin:0 0 6px;text-align:left}
.paper.msgs h2.dt,.paper.msgs h3{font-family:var(--sans);letter-spacing:0;text-align:left;font-size:16px;margin:4px 0 12px}
.msg-act{display:flex;gap:6px;justify-content:flex-end;margin-top:10px}
.msg-act button{border:1.5px solid #e0dccf;background:#fff;border-radius:8px;padding:6px 14px;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit;color:#161a24}
.msg-act button.msg-copy{background:#161a24;color:#fff;border-color:#161a24}
.msg-act button:hover{filter:brightness(1.1)}
.noshare .msg-share{display:none}
.paper .ph{color:#8b8f9c;background:#fff6d6;border-radius:4px;padding:0 3px}
.paper.export .msg-act{display:none}
/* ---- 경조사: 인쇄용 카드(kind:'card')·세로쓰기 ---- */
.paper.card{font-family:var(--mincho)}
.vcol{display:inline-flex;flex-direction:column;align-items:center;line-height:1.12;vertical-align:top}
.vcol>span{display:block}
.vcol>.vsp{height:.55em}
.vcol.ph{color:#9a9ea8}
@media print{.msg-act{display:none!important}.paper.msgs{background:#fff;padding:0}.paper.msgs .msg{box-shadow:none;break-inside:avoid}}
/* 작성칸·미리보기 안내 강조 (2026-10-10) */
.ed-left{transition:box-shadow .35s ease}
.ed-left.dss-flash{box-shadow:0 0 0 3px rgba(179,38,30,.38),0 10px 30px -12px rgba(179,38,30,.35)}
@media print{.ed-left.dss-flash{box-shadow:none}}
/* 문서 미리보기 → 입력칸 이동, 증명사진 넣기 (2026-10-12) */
.paper:not(.msgs) [data-f]{cursor:pointer}
.paper:not(.msgs) [data-f]:hover{background:rgba(179,38,30,.07);border-radius:2px}
.fl{transition:background .3s ease,box-shadow .3s ease}
.fl.dss-flash-f{background:#fff7e0;box-shadow:0 0 0 3px rgba(179,38,30,.28);border-radius:8px}
.pcell{cursor:pointer}
.pcell .pphoto{display:block;margin:0 auto;width:27mm;height:36mm;max-width:100%;object-fit:cover}
.pcell .pphoto+.photo-ph{display:none}
.photo-opt{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin:0 0 14px;padding:10px 12px;border:1px dashed #e0d6c2;border-radius:10px;background:#fffdf8}
.photo-opt button{font:inherit;font-size:13px;font-weight:700;padding:7px 12px;border-radius:8px;border:1px solid #d9d2c3;background:#fff;color:#161a24;cursor:pointer}
.photo-opt #btnPhoto{background:#2e5c8a;border-color:#2e5c8a;color:#fff}
.photo-opt [hidden]{display:none!important}
.photo-opt small{flex-basis:100%;font-size:12px;color:#6b7080;line-height:1.55}
@media print{.paper [data-f]:hover{background:none}.fl.dss-flash-f{box-shadow:none}}

/* ===== 일본판 전용 규칙 (site-base-jp.css 뒤에 붙음) ===== */
body{font-feature-settings:"palt" 0;line-break:strict;word-break:normal;overflow-wrap:anywhere}
.content p,.content li,.answer p,.fp-sum{line-height:1.85}
.hero h1,.fp-head h1,.page-h1,.static-wrap h1,.post-head h1{letter-spacing:.01em}
.paper{font-family:var(--mincho);container-type:inline-size}
.paper.msgs{font-family:var(--sans)}
.card-icon,.fp-icon{font-family:var(--mincho)}
.badges span.v{background:#efe9f8;color:#5b3a99}
.static-wrap a{color:#b3261e;text-decoration:underline;text-underline-offset:3px}
.static-wrap table.info th{width:auto}
.sources ul{padding-left:20px}
.noidx{background:#fff4d6;border:1px solid #f0d9a0;color:#7a5a00;font-size:12.5px;padding:8px 40px;text-align:center}
/* 작성 옵션 (縦書き·用紙·日付·印刷するもの) */
.opt-row{display:flex;flex-wrap:wrap;gap:8px 10px;margin:0 0 12px;padding:10px 11px;border:1px dashed #e0dccf;border-radius:8px;background:#fcfbf8}
.opt-row label{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:#4b5160}
.opt-row select{border:1px solid #d8d2c2;border-radius:7px;padding:6px 8px;font:inherit;font-weight:600;background:#fff;color:#161a24}
/* 자동 체크 */
.chk-box{border:1px solid #e3ddcc;border-radius:10px;background:#fff;padding:10px 12px;margin:0 0 12px}
.chk-box .ck-h{font-size:12px;font-weight:800;color:#6b7080;margin-bottom:6px}
.ck{display:flex;gap:8px;align-items:flex-start;padding:5px 0;border-top:1px dashed #efe9dc;font-size:12.5px;line-height:1.55}
.ck:first-of-type{border-top:0}
.ck b{display:block;font-weight:700;color:#161a24}
.ck small{display:block;color:#6b7080;font-size:11.5px;margin-top:1px}
.ck-i{flex:0 0 18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;color:#fff;margin-top:1px}
.ck-ok .ck-i{background:#2e7d46}.ck-ng .ck-i{background:#b3261e}.ck-warn .ck-i{background:#c27c0e}.ck-info .ck-i{background:#2e5c8a}
/* 가로쓰기 문서 보조 클래스: ji=첫 줄 1자 들여쓰기, i1~i3=왼쪽 들여쓰기, mt2=넓은 위 여백 */
.paper .ji{text-indent:1em}
.paper .i1{padding-left:1em}.paper .i2{padding-left:2em}.paper .i3{padding-left:3em}
.paper .mt2{margin-top:30px}
.paper .to{text-align:left}
.paper .date{font-weight:400}
.tbl-note{font-size:12.5px!important;color:#8b8f9c!important;margin:-8px 0 18px!important;line-height:1.6!important}
/* 도장 자리 (도장을 안 넣을 때) */
.paper .inbox{display:inline-flex;align-items:center;justify-content:center;width:1.9em;height:1.9em;border:1px solid #999;border-radius:50%;font-size:.78em;color:#888;vertical-align:middle;margin:-.3em 0 -.2em 4px}
.paper .seal{margin:-14px 0 -12px 4px}
/* 영수증 */
.paper .rc-amt{border:2px solid #222;border-width:0 0 2px;display:flex;align-items:baseline;gap:18px;font-size:15px;padding:8px 6px 6px;margin:18px auto 8px;width:78%}
.paper .rc-amt b{font-size:26px;letter-spacing:.04em;flex:1;text-align:center;font-family:var(--sans)}
.paper .rc-amt small{font-size:12px;color:#444}
.paper .inshi{width:76px;height:88px;border:1.5px dashed #888;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11.5px;color:#666;line-height:1.5;text-align:center}
.paper .inshi b{font-size:12.5px;color:#333}
.paper table.sg td.r{text-align:right}
.paper .issuer{line-height:1.75;font-size:13px;font-weight:400}
.paper .x-off{display:none!important}
.paper .rc-cut{border-top:1px dashed #999;margin:34px 0 26px;text-align:center;font-size:11px;color:#888;line-height:0}
.paper .rc-cut span{background:#fff;padding:0 10px}
/* PDFダウンロード・画像(html2canvas)도 인쇄와 같은 춘춘한 배치로 (안 그러면 控え 포함 A4 1쪽을 넘음) */
.paper.export .rc,.paper.export .rc-copy{font-size:12.5px}
.paper.export .rc-cut{margin:16px 0 14px}
.paper.export .rc h2.dt,.paper.export .rc-copy h2.dt{font-size:22px;margin:0 0 4px}
.paper.export .rc .date,.paper.export .rc-copy .date{margin:2px 0 4px;font-size:13px}
.paper.export .rc .to,.paper.export .rc-copy .to{margin-top:2px;font-size:14px}
.paper.export .rc-amt{margin:6px auto 4px;padding:2px 6px}
.paper.export .rc-amt b{font-size:23px}
.paper.export .rc table,.paper.export .rc-copy table{margin:4px 0 6px}
.paper.export .rc td,.paper.export .rc th,.paper.export .rc-copy td,.paper.export .rc-copy th{font-size:12px;padding:4px 6px}
.paper.export .rc table.sg td,.paper.export .rc-copy table.sg td{padding:2px 4px}
.paper.export .rc .issuer,.paper.export .rc-copy .issuer{line-height:1.5;font-size:12px}
@media print{
 .paper .rc-cut{margin:14px 0 12px}
 .paper .rc h2.dt,.paper .rc-copy h2.dt{font-size:20px;margin:0 0 4px}
 .paper .rc .date,.paper .rc-copy .date{margin:2px 0 4px;font-size:12px}
 .paper .rc .to,.paper .rc-copy .to{margin-top:2px;font-size:13px}
 .paper .rc-amt{margin:6px auto 4px;padding:2px 6px}
 .paper .rc-amt b{font-size:22px}
 .paper .rc table,.paper .rc-copy table{margin:4px 0 6px}
 .paper .rc table.sg td,.paper .rc-copy table.sg td{padding:2px 4px}
 .paper .rc .inshi{height:74px;width:66px}
 .paper .rc .issuer,.paper .rc-copy .issuer{line-height:1.5;font-size:11.5px}
}
.paper .issuer .seal.jik{float:right;margin:4px 0 0 8px}
.paper table.tx td,.paper table.tx th{text-align:right;font-size:12.5px}
.paper table.tx td:first-child,.paper table.tx th{text-align:center}
/* ===== 縦書き 배치 (runtime tateLayout) ===== */
.paper.tate-on{min-height:0;padding:44px 40px}
.tpage{--cell:calc(100cqw / var(--across));display:flex;flex-direction:row-reverse;justify-content:flex-start;gap:calc(var(--cell) * var(--gap));height:calc(var(--cell) * var(--rows));font-family:var(--mincho);font-size:calc(var(--cell) * .82);line-height:1;color:#111}
.tpage.j-center{justify-content:center}
.tpage.j-end{justify-content:flex-end}
.tpage+.tpage{margin-top:28px;padding-top:28px;border-top:1px dashed #d8d2c2;box-sizing:content-box}
.tcol{display:flex;flex-direction:column;align-items:center;flex:0 0 var(--cell);width:var(--cell);height:100%}
.tcol.al-b{justify-content:flex-end}
.tcol.al-c{justify-content:center}
.tch{display:block;flex:0 0 auto;width:var(--cell);height:var(--cell);line-height:var(--cell);text-align:center}
.tch.hsp{height:calc(var(--cell) * .5)}
.tch.rot{transform:rotate(90deg)}
.tch.pun{transform:translate(.52em,-.56em)}
.tch.hang{height:0;overflow:visible}
.tch.sm{transform:translate(.08em,-.1em);font-size:.92em}
.tch.blk{border-right:1px solid #8a8a8a}
.tch.tseal{height:calc(var(--cell) * 1.3);display:flex;align-items:center;justify-content:center;margin-top:calc(var(--cell) * .15)}
.tch.tseal svg{width:calc(var(--cell) * 1.4);height:calc(var(--cell) * 1.4)}
.tch.tjik svg{width:calc(var(--cell) * 1.6);height:calc(var(--cell) * 1.6)}
.tch.tin{height:calc(var(--cell) * 1.15);margin-top:calc(var(--cell) * .2);font-size:.7em;color:#888;border:1px solid #aaa;border-radius:50%;width:calc(var(--cell) * 1.1);line-height:calc(var(--cell) * 1.1)}
.tcol.ttl .tch{height:calc(var(--cell) * 1.6);line-height:calc(var(--cell) * 1.6);font-size:1.32em;font-weight:700}
.tcol.tbig .tch{font-size:1.1em;font-weight:700}
.paper.tate-on [data-f]:hover{background:rgba(179,38,30,.07)}
/* 용지별 미리보기·내보내기 크기 (PDF 받기·이미지: html2canvas가 이 크기로 찍음) */
.paper.export[data-paper="b5"]{width:688px;min-height:971px;padding:52px 56px}
.paper.export[data-paper="naga3"]{width:454px;min-height:888px;padding:38px 38px}
.paper.export[data-paper="naga4"]{width:340px;min-height:775px;padding:34px 34px}
.paper[data-paper="naga3"],.paper[data-paper="naga4"]{max-width:420px;margin:0 auto;min-height:0}
.paper.tate-on.export{padding:56px 52px}
.paper.tate-on.export[data-paper="b5"]{padding:48px 46px}
.paper.tate-on.export[data-paper="naga3"],.paper.tate-on.export[data-paper="naga4"]{padding:36px 34px}
/* 가로쓰기 편지형 문서(退職届 등): 글자를 키우고 줄간격을 넓혀 한 장을 채운다 */
.paper .lt{font-size:16px;line-height:2.1;padding:6px 4px}
.paper .lt h2.dt{font-size:30px;letter-spacing:.3em;margin:6px 0 44px}
.paper .lt p{margin:6px 0}
.paper .lt .mt{margin-top:26px}
.paper .lt .date{margin:40px 0 20px;font-size:16px}
.paper .lt .big{font-size:17px}
.paper .lt .to{font-size:17px;margin-top:4px;font-weight:700}
.paper .lt .mt2{margin-top:64px}
@media print{
 .noidx{display:none!important}
 .opt-row,.chk-box{display:none!important}
 .paper .lt{font-size:16px}
 .paper .lt h2.dt{font-size:30px}
 .paper.tate-on{padding:0}
 .tpage+.tpage{break-before:page;margin:0;padding:0;border:0}
 .paper[data-paper="naga3"],.paper[data-paper="naga4"]{max-width:none}
 .paper .inbox{border-color:#999;color:#999}
}
@media (max-width:640px){.paper.tate-on{padding:22px 14px}.noidx{padding:8px 16px}.paper .rc-amt{width:100%}.paper .rc-amt b{font-size:21px}}

/* css-b.css */
/* ===== 배치 b 전용 (2026-10-13): 請求書・見積書・納品書 공통 문서 배치. 클래스 접두어 b- ===== */
.paper .b-doc{font-size:13px;line-height:1.6}
.paper .b-doc h2.dt{margin:0 0 4px}
.paper .b-doc p.b-meta{margin:0 0 6px;line-height:1.6}
.paper table.b-two{margin:2px 0 8px}
.paper table.b-two td{font-weight:400;vertical-align:top;padding:2px 4px}
.paper table.b-two td.b-to{width:55%;padding-right:14px}
.paper table.b-two td.b-to .to{margin:0 0 8px;padding-bottom:3px;border-bottom:1px solid #333;font-size:16px}
.paper table.b-two td.b-to p{margin:2px 0}
.paper table.b-two td.issuer{font-size:12.5px;line-height:1.65}
.paper table.b-amt{width:68%;margin:4px 0 10px}
.paper table.b-amt th{width:30%;font-size:13px}
.paper table.b-amt td{font-family:var(--sans);font-size:21px;font-weight:700;text-align:center;letter-spacing:.02em;padding:6px 8px;line-height:1.35}
.paper table.b-amt td small{display:block;font-size:11px;font-weight:400;letter-spacing:0;color:#333}
.paper table.kv.b-kv{margin:6px 0 10px}
.paper table.it td.b-l{text-align:left}
.paper .b-doc table.it th,.paper .b-doc table.it td{padding:4px 6px}
.paper .b-doc table.it td{height:24px}
.paper .b-doc table.it tr.total th,.paper .b-doc table.it tr.total td{border-top:2px solid #333}
.paper p.b-rn{font-size:11px;margin:-8px 0 8px;color:#333}
.paper table.b-tx{width:66%;margin:4px 0 10px auto}
.paper table.b-tx th,.paper table.b-tx td{font-size:12px;padding:4px 7px}
.paper table.b-tx td:first-child{text-align:center;white-space:nowrap}
.paper table.b-tx td.num{text-align:right}
.paper table.b-tx tr.b-sum th,.paper table.b-tx tr.b-sum td{border-top:2px solid #333}
.paper table.appr.b-rcv{width:44%;margin:14px 0 0 auto}
.paper table.appr.b-rcv td.sgc{height:64px;text-align:center;font-size:12px}
@media print{
 .paper .b-doc{font-size:11.5px}
 .paper table.b-amt td{font-size:18px;padding:4px 8px}
 .paper .b-doc table.it td{height:20px}
 .paper table.b-tx th,.paper table.b-tx td{font-size:11px;padding:3px 6px}
 .paper table.appr.b-rcv td.sgc{height:56px}
}
@media (max-width:640px){
 .paper table.b-two td.b-to{width:52%;padding-right:6px}
 .paper table.b-two td.issuer{font-size:11px}
 .paper table.b-amt,.paper table.b-tx{width:100%}
 .paper table.appr.b-rcv{width:80%}
 .paper .b-doc table.it th,.paper .b-doc table.it td,.paper table.b-tx th,.paper table.b-tx td{padding:3px;font-size:11px}
 .paper table.kv.b-kv td{padding:4px 5px;font-size:11.5px}
}

/* lang-switch.js */
.lang-sw{position:relative;flex:none}.lang-sw>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px;border:1px solid #d8d2c2;border-radius:999px;padding:5px 11px 5px 9px;font-size:12.5px;font-weight:600;color:#3b3f4a;background:#fff;white-space:nowrap;user-select:none}.lang-sw>summary::-webkit-details-marker{display:none}.lang-sw>summary:hover{border-color:#b3261e}.lang-sw svg{width:21px;height:14px;border-radius:2px;box-shadow:0 0 0 1px rgba(0,0,0,.12);flex:none;display:block}.lang-caret{font-size:10px;color:#8a8f9c}.lang-menu{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid #e3ded4;border-radius:12px;box-shadow:0 10px 28px rgba(22,26,36,.12);padding:6px;min-width:150px;z-index:60}.lang-menu a{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:8px;color:#161a24;text-decoration:none;font-size:14px}.lang-menu a:hover{background:#faf8f4}.lang-menu a[aria-current]{font-weight:700;color:#b3261e}@media (max-width:760px){.lang-cur{display:none}.lang-sw>summary{padding:5px 8px}}@media print{.lang-sw{display:none!important}}