/* Components from https://web.mericobrain.jp/ui/ */
/* 共通トークン。案件ごとに色・書体・角丸を変更できます。 */
:root{--ink:#272727;--accent:var(--merico-primary,#6f6f6f);--muted:#767676;--surface:#f6f6f6;--line:#e5e5e5;--radius:4px;font-family:var(--merico-font,-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif);color:var(--merico-text,var(--ink));font-size:16px}
*{box-sizing:border-box}
body{margin:0;background:var(--merico-background,white)}
button,input,select,textarea{font:inherit}
button,summary{cursor:pointer}
a{color:inherit;text-decoration:none}
button,a,input,summary,textarea,select{outline-offset:4px}
img{max-width:100%;display:block;object-fit:cover}
h1,h2,h3,p{margin-top:0}
h2{font-size:clamp(calc(24px * var(--merico-type-scale,1)),calc(4vw * var(--merico-type-scale,1)),calc(38px * var(--merico-type-scale,1)));line-height:1.45;letter-spacing:-.03em}
h3{font-size:calc(20px * var(--merico-type-scale,1))}
p{line-height:1.9}
small{font-size:calc(12px * var(--merico-type-scale,1))}
.pad{padding:clamp(calc(24px * var(--merico-space-scale,1)),calc(5vw * var(--merico-space-scale,1)),calc(55px * var(--merico-space-scale,1)))}
.muted{color:var(--muted)}
.eyebrow{font-size:calc(12px * var(--merico-type-scale,1));font-weight:max(750,var(--merico-weight,750));letter-spacing:.12em;color:var(--merico-primary,var(--accent));margin-bottom:calc(14px * var(--merico-space-scale,1))}
.row{display:flex;gap:calc(16px * var(--merico-space-scale,1));align-items:center;flex-wrap:wrap}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(24px * var(--merico-space-scale,1))}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:calc(20px * var(--merico-space-scale,1));border:1px solid var(--merico-primary,var(--ink));background:var(--merico-primary,var(--ink));color:var(--merico-on-primary,#ffffff);padding:calc(15px * var(--merico-space-scale,1)) calc(26px * var(--merico-space-scale,1));border-radius:var(--merico-radius,var(--radius));font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));min-height:48px}
.btn.secondary{background:#ffffff;color:var(--merico-primary,var(--ink))}
.btn:disabled{opacity:.4;cursor:not-allowed}
.link{display:inline-flex;gap:calc(25px * var(--merico-space-scale,1));font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));border:0;background:transparent;padding:calc(12px * var(--merico-space-scale,1)) 0;color:var(--merico-primary,var(--ink))}
.line{border-bottom:1px solid var(--line)}
label{font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650))}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{width:100%;padding:calc(13px * var(--merico-space-scale,1));border:1px solid #cfcfcf;background:#ffffff;border-radius:var(--merico-radius,var(--radius));margin:calc(8px * var(--merico-space-scale,1)) 0 calc(20px * var(--merico-space-scale,1))}
input[type=checkbox],input[type=radio]{accent-color:var(--merico-primary,var(--accent));width:19px;height:19px;vertical-align:middle;margin-right:calc(8px * var(--merico-space-scale,1))}
textarea{min-height:110px}
dialog{border:0;box-shadow:0 20px 100px #0003;border-radius:var(--merico-radius,10px);padding:calc(32px * var(--merico-space-scale,1));max-width:min(90vw,480px)}
dialog::backdrop{background:#1a1a1a70}
details{border-bottom:1px solid var(--line);padding:calc(20px * var(--merico-space-scale,1)) 0}
summary{font-weight:max(700,var(--merico-weight,700));line-height:1.7}
details p{margin:calc(16px * var(--merico-space-scale,1)) 0 0;color:var(--muted);font-size:calc(14px * var(--merico-type-scale,1))}
table{width:100%;border-collapse:collapse;font-size:calc(14px * var(--merico-type-scale,1))}
td,th{text-align:left;padding:calc(18px * var(--merico-space-scale,1));border-bottom:1px solid var(--line)}
th{background:var(--surface)}
.notice{padding:calc(15px * var(--merico-space-scale,1));background:var(--surface);font-size:calc(14px * var(--merico-type-scale,1));line-height:1.7}
.pill{display:inline-block;font-size:calc(12px * var(--merico-type-scale,1));border:1px solid var(--line);padding:calc(5px * var(--merico-space-scale,1)) calc(12px * var(--merico-space-scale,1));border-radius:var(--merico-radius,30px)}
.stack>*+*{margin-top:calc(20px * var(--merico-space-scale,1))}
[hidden]{display:none!important}
@media(max-width:600px){.grid{grid-template-columns:1fr}.pad{padding:calc(24px * var(--merico-space-scale,1))}.row{gap:calc(12px * var(--merico-space-scale,1))}h2{font-size:calc(26px * var(--merico-type-scale,1))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
:root{--ink:#363636;--accent:var(--merico-primary,#575757);--muted:#878787;--surface:#f3f3f3;--line:#e2e2e2;--radius:2px;font-family:var(--merico-font,"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,sans-serif);letter-spacing:.015em;font-synthesis:none}
body{color:var(--merico-text,var(--ink));-webkit-font-smoothing:antialiased}
h2{font-weight:max(750,var(--merico-weight,750));letter-spacing:-.035em;line-height:1.55;text-wrap:balance}
h3{font-weight:max(700,var(--merico-weight,700));letter-spacing:-.02em;line-height:1.65}
p{line-height:2.1;text-wrap:pretty}
.pad{padding:clamp(calc(32px * var(--merico-space-scale,1)),calc(6.5vw * var(--merico-space-scale,1)),calc(72px * var(--merico-space-scale,1)))}
.eyebrow{font-family:var(--merico-font,inherit);letter-spacing:.08em;font-weight:max(650,var(--merico-weight,650));font-size:calc(11px * var(--merico-type-scale,1));color:#838383;margin-bottom:calc(24px * var(--merico-space-scale,1))}
.muted{color:#8a8a8a}
.grid{gap:calc(35px * var(--merico-space-scale,1))}
.btn{min-height:54px;padding:calc(17px * var(--merico-space-scale,1)) calc(29px * var(--merico-space-scale,1));letter-spacing:.025em;border-radius:var(--merico-radius,2px);font-size:calc(13px * var(--merico-type-scale,1));gap:calc(30px * var(--merico-space-scale,1));transition:background .25s,color .25s,border-color .25s,transform .25s}
.btn:hover{background:#5e5e5e;border-color:#5e5e5e}
.btn.secondary{border-color:#cdcdcd}
.btn.secondary:hover{background:#f2f2f2;color:#363636;border-color:#ababab}
.btn:active{transform:translateY(1px)}
.link{font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650));gap:calc(30px * var(--merico-space-scale,1));padding:calc(13px * var(--merico-space-scale,1)) 0;letter-spacing:.025em;transition:color .25s}
.link:hover{color:#808080}
.pill{font-size:calc(11px * var(--merico-type-scale,1));letter-spacing:.015em;border-radius:var(--merico-radius,2px);padding:calc(5px * var(--merico-space-scale,1)) calc(11px * var(--merico-space-scale,1));border-color:#dcdcdc}
.notice{background:#f3f3f3;padding:calc(22px * var(--merico-space-scale,1))}
.required{font-size:calc(10px * var(--merico-type-scale,1))!important;font-weight:max(550,var(--merico-weight,550));letter-spacing:.03em}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{border-color:#dcdcdc;border-radius:var(--merico-radius,2px);padding:calc(16px * var(--merico-space-scale,1));background:#f9f9f9;margin-top:calc(13px * var(--merico-space-scale,1));font-size:calc(14px * var(--merico-type-scale,1));transition:border-color .2s,background .2s}
input:focus,select:focus,textarea:focus{border-color:#959595!important;background:#ffffff!important;outline:2px solid #e6e6e6;outline-offset:2px}
input::placeholder,textarea::placeholder{color:#ababab}
label{font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650))}
td,th{padding:calc(22px * var(--merico-space-scale,1));line-height:1.9;font-size:calc(13px * var(--merico-type-scale,1))}
th{background:#f3f3f3}
dialog{border-radius:var(--merico-radius,4px);padding:calc(38px * var(--merico-space-scale,1));color:var(--merico-text,var(--ink));box-shadow:0 20px 80px #2c2c2c30}
dialog::backdrop{background:#28282860}
details{padding:calc(24px * var(--merico-space-scale,1)) 0}
details p{line-height:2.1}
summary{font-size:calc(14px * var(--merico-type-scale,1))}
.warning{background:#f3f3f3!important;border-color:#7d7d7d!important}
.error-state{background:#f6f6f6!important;border-color:#dcdcdc!important}
.banner.info{background:#f3f3f3!important}
*:focus-visible{outline:2px solid #8c8c8c;outline-offset:5px}
@media(max-width:600px){.pad{padding:calc(32px * var(--merico-space-scale,1)) calc(24px * var(--merico-space-scale,1))}.grid{gap:calc(28px * var(--merico-space-scale,1))}h2{font-size:calc(27px * var(--merico-type-scale,1));line-height:1.65}.btn{min-height:52px;font-size:calc(13px * var(--merico-type-scale,1))}}
:root{--ink:#222222;--accent:var(--merico-primary,#333333);--muted:#666666;--surface:#f5f5f5;--line:#dddddd}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:calc(24px * var(--merico-space-scale,1));padding:calc(25px * var(--merico-space-scale,1)) calc(30px * var(--merico-space-scale,1));border-bottom:1px solid var(--line)}
.wordmark{font-size:calc(28px * var(--merico-type-scale,1));font-weight:max(800,var(--merico-weight,800));letter-spacing:-.05em}
.site-header nav{display:flex;gap:calc(23px * var(--merico-space-scale,1));font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700))}
.menu-surface{height:210px;background:var(--surface);display:grid;place-items:center;color:var(--muted);font-size:calc(14px * var(--merico-type-scale,1))}
@media(max-width:600px){.site-header{flex-wrap:wrap;padding:calc(20px * var(--merico-space-scale,1))}.site-header nav{gap:calc(16px * var(--merico-space-scale,1));flex-wrap:wrap}}
.site-header{padding:calc(27px * var(--merico-space-scale,1)) 5.5%;gap:calc(30px * var(--merico-space-scale,1))}
.wordmark{font-family:var(--merico-font,Inter,sans-serif);font-weight:max(600,var(--merico-weight,600));letter-spacing:-.055em;font-size:calc(32px * var(--merico-type-scale,1))}
.site-header nav{font-size:calc(12px * var(--merico-type-scale,1));gap:calc(28px * var(--merico-space-scale,1));letter-spacing:.025em}
.site-header nav a{position:relative;padding:calc(8px * var(--merico-space-scale,1)) 0}
.site-header nav a:after{content:"";height:2px;background:currentColor;position:absolute;left:0;right:100%;bottom:0;transition:right .3s}
.site-header nav a:hover:after{right:0}
.site-header .btn{font-size:calc(12px * var(--merico-type-scale,1));min-height:45px;padding:calc(13px * var(--merico-space-scale,1)) calc(23px * var(--merico-space-scale,1))}
.menu-surface{color:#939393;font-size:calc(12px * var(--merico-type-scale,1));letter-spacing:.05em;background:#f3f3f3}
.full-menu{background:#363636;padding:calc(38px * var(--merico-space-scale,1)) 6%}
.full-menu nav{margin-top:calc(65px * var(--merico-space-scale,1));gap:0}
.full-menu nav a{font-size:clamp(calc(22px * var(--merico-type-scale,1)),calc(3.5vw * var(--merico-type-scale,1)),calc(35px * var(--merico-type-scale,1)));line-height:1.5;padding:calc(22px * var(--merico-space-scale,1)) 0;border-bottom:1px solid #ffffff20;display:flex;align-items:center;justify-content:space-between}
.full-menu nav a:after{content:"↗";font-size:calc(22px * var(--merico-type-scale,1));font-weight:max(400,var(--merico-weight,400));color:#b8b8b8}
.full-menu .close{font-size:calc(12px * var(--merico-type-scale,1))}
.drawer{padding:calc(35px * var(--merico-space-scale,1));width:min(85%,420px)}
.drawer nav{gap:0}
.drawer nav a{padding:calc(24px * var(--merico-space-scale,1)) 0;border-bottom:1px solid var(--line);font-size:calc(19px * var(--merico-type-scale,1))}
@media(max-width:600px){.site-header{padding:calc(22px * var(--merico-space-scale,1));gap:calc(19px * var(--merico-space-scale,1))}.site-header nav{font-size:calc(12px * var(--merico-type-scale,1));gap:calc(17px * var(--merico-space-scale,1))}.site-header .btn{padding:calc(10px * var(--merico-space-scale,1)) calc(16px * var(--merico-space-scale,1))}.full-menu{padding:calc(30px * var(--merico-space-scale,1))}.full-menu nav a{font-size:calc(23px * var(--merico-type-scale,1));padding:calc(19px * var(--merico-space-scale,1)) 0}}
.menu-context{position:relative;height:330px;overflow:hidden;color:white}
.menu-context>img{width:100%;height:100%;filter:brightness(.85);object-position:center}
.menu-context:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#34343466,transparent 85%)}
.menu-context>div{position:absolute;left:6%;bottom:40px;z-index:1}
.menu-context small{font-size:calc(12px * var(--merico-type-scale,1));letter-spacing:.05em}
.menu-context h2{font-size:calc(32px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));line-height:1.7;margin:calc(18px * var(--merico-space-scale,1)) 0 0;letter-spacing:-.025em}
.menu-context>span{position:absolute;right:5%;bottom:40px;font-size:calc(12px * var(--merico-type-scale,1));z-index:1}
@media(max-width:600px){.menu-context h2{font-size:calc(25px * var(--merico-type-scale,1))}.menu-context>span{bottom:15px}.menu-context>div{bottom:50px}}
.ui-arrow{width:24px;height:24px;flex-shrink:0;vertical-align:middle}
.section-intro{margin-bottom:calc(42px * var(--merico-space-scale,1))}
.section-label{display:flex;align-items:center;gap:calc(20px * var(--merico-space-scale,1));font-size:calc(12px * var(--merico-type-scale,1));font-weight:max(500,var(--merico-weight,500));letter-spacing:.06em;color:#555;margin:0 0 calc(24px * var(--merico-space-scale,1))}
.section-rule{width:24px;height:3px;background:currentColor;flex-shrink:0}
.section-intro h2{font-size:clamp(calc(28px * var(--merico-type-scale,1)),calc(3.8vw * var(--merico-type-scale,1)),calc(42px * var(--merico-type-scale,1)));font-weight:max(700,var(--merico-weight,700));letter-spacing:-.025em;line-height:1.65;margin:0}
.section-description{font-size:calc(13px * var(--merico-type-scale,1));line-height:2.15;color:#666;max-width:40em;margin:calc(24px * var(--merico-space-scale,1)) 0 0}
.finish-link{display:inline-flex;justify-content:space-between;align-items:center;gap:calc(45px * var(--merico-space-scale,1));padding:calc(17px * var(--merico-space-scale,1)) 0;border-bottom:1px solid var(--merico-primary,#222);font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));transition:gap .3s}
.finish-link:hover{gap:calc(55px * var(--merico-space-scale,1))}
.finish-link .ui-arrow{width:20px}
.finish-note{font-size:calc(12px * var(--merico-type-scale,1));color:#666;line-height:1.9}
.finish-number{font:500 calc(12px * var(--merico-type-scale,1))/1.5 var(--merico-font,Inter,sans-serif);font-weight:max(500,var(--merico-weight,500));letter-spacing:.05em;color:#777}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--merico-primary,#333);outline-offset:5px}
a,button{touch-action:manipulation}
@media(max-width:600px){.section-intro{margin-bottom:calc(30px * var(--merico-space-scale,1))}.section-intro h2{font-size:calc(29px * var(--merico-type-scale,1))}.section-label{font-size:calc(12px * var(--merico-type-scale,1));gap:calc(16px * var(--merico-space-scale,1));margin-bottom:calc(20px * var(--merico-space-scale,1))}.section-description{font-size:calc(13px * var(--merico-type-scale,1));line-height:2.1}.finish-link{gap:calc(30px * var(--merico-space-scale,1))}}
:root{--text-primary:#222;--text-secondary:#5c5c5c;--text-caption:#666;--motion-ease:cubic-bezier(.22,.61,.36,1)}
body{line-break:strict;word-break:normal;overflow-wrap:break-word;text-rendering:optimizeLegibility}
h1,h2,h3{font-feature-settings:"palt" 1;line-break:strict;word-break:normal;letter-spacing:-.015em}
p{line-break:strict;letter-spacing:.025em}
button,input,select,textarea{font-feature-settings:normal}
button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:disabled{cursor:not-allowed}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.ed-copy,.section-description,.feature p:not(.eyebrow),.prose p,.prose li{font-size:calc(16px * var(--merico-type-scale,1));line-height:2;letter-spacing:.025em}
.ed-caption,.finish-note,figcaption,.caption-figure figcaption,.opening figcaption,.office-layout figcaption,.inset-media small,.file-list small{font-size:calc(12px * var(--merico-type-scale,1));line-height:1.9;color:var(--text-caption)}
.btn,.link,.finish-link,.ed-link,.crafted{font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));line-height:1.7;letter-spacing:.025em;min-height:48px}
.btn{gap:calc(24px * var(--merico-space-scale,1))}
.precision-arrow{display:block;width:22px;height:22px;flex:0 0 auto}
.precision-arrow.left{transform:rotate(180deg)}
.precision-arrow.down{transform:rotate(90deg)}
.precision-arrow.external{transform:rotate(-45deg)}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:calc(16px * var(--merico-type-scale,1));line-height:1.7;border-color:#aaa;background:white;color:var(--merico-primary,#222);max-width:100%}
input::placeholder,textarea::placeholder{color:#707070}
input[type=checkbox],input[type=radio]{width:20px;height:20px;flex-shrink:0;accent-color:var(--merico-primary,#333)}
label{font-size:calc(14px * var(--merico-type-scale,1));line-height:1.9}
.eyebrow,.pill{font-size:calc(12px * var(--merico-type-scale,1))}
.required{font-size:calc(12px * var(--merico-type-scale,1))!important}
.required,.field-caption label span{font-size:calc(12px * var(--merico-type-scale,1));line-height:1.5}
table{font-variant-numeric:tabular-nums}
table td,table th{font-size:calc(14px * var(--merico-type-scale,1));line-height:1.9}
td.num{white-space:nowrap}
.table-scroll,.table-wrap{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#aaa #f4f4f4}
.table-scroll:focus-visible,.table-wrap:focus-visible{outline:2px solid #555;outline-offset:5px}
.card:focus-visible,.corner-link:focus-visible,.hover-card:focus-visible{outline-offset:7px}
.card:focus-visible .card-arrow{background:#222;color:white}
.btn:active:not(:disabled),.crafted:active:not(:disabled){transform:translateY(1px)}
@media(max-width:600px){.pad,.editorial{padding-inline:calc(24px * var(--merico-space-scale,1))}.ed-copy,.section-description,.feature p:not(.eyebrow),.prose p,.prose li{font-size:calc(15px * var(--merico-type-scale,1));line-height:2}.btn,.link,.finish-link,.ed-link{font-size:calc(14px * var(--merico-type-scale,1))}.section-intro h2{font-size:calc(28px * var(--merico-type-scale,1));line-height:1.65}h2{text-wrap:pretty}.row{column-gap:calc(16px * var(--merico-space-scale,1));row-gap:calc(14px * var(--merico-space-scale,1))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.site-header nav{font-size:calc(14px * var(--merico-type-scale,1));gap:calc(26px * var(--merico-space-scale,1))}
.site-header nav a{min-height:40px;display:inline-flex;align-items:center}
.site-header .btn{font-size:calc(14px * var(--merico-type-scale,1));min-height:48px;padding:calc(14px * var(--merico-space-scale,1)) calc(23px * var(--merico-space-scale,1))}
.menu-context small{font-size:calc(13px * var(--merico-type-scale,1))}
.menu-context h2{line-height:1.7}
.full-menu nav a{min-height:72px;font-size:calc(31px * var(--merico-type-scale,1))}
.full-menu .close{font-size:calc(14px * var(--merico-type-scale,1));min-height:44px}
.drawer nav a{font-size:calc(21px * var(--merico-type-scale,1))}
.drawer .link{min-height:44px}
.mega-grid a{position:relative}
.mega-grid strong{font-size:calc(16px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));line-height:1.8}
.mega-grid img{height:185px;margin-bottom:calc(24px * var(--merico-space-scale,1))}
.mega-grid a img{transition:filter .4s}
.mega-grid a:hover img{filter:brightness(.92)}
@media(max-width:760px){.site-header{flex-wrap:wrap;gap:calc(16px * var(--merico-space-scale,1))}.site-header nav{gap:calc(8px * var(--merico-space-scale,1)) calc(22px * var(--merico-space-scale,1));font-size:calc(14px * var(--merico-type-scale,1))}.site-header .btn{font-size:calc(13px * var(--merico-type-scale,1))}.mega-grid strong{font-size:calc(15px * var(--merico-type-scale,1))}.full-menu nav a{font-size:calc(25px * var(--merico-type-scale,1));min-height:68px}.menu-context h2{font-size:calc(27px * var(--merico-type-scale,1))}}
small,figcaption,time,.ed-caption,.finish-note,.muted,.vertical-note,.footer-bottom,.footer-main p,.toggle-links small,.file-list small,.field-caption small,#email-help,#counter,#file-help,[data-file],[data-result]{font-weight:max(500,var(--merico-weight,500))}
.eyebrow,.kicker,.section-label,.pill,.state-label,.required,.field-caption label span,.tag-filter button,.filters button,.controls,.crumb,.steps li,.local-nav a,fieldset legend{font-weight:max(600,var(--merico-weight,600))}
.shape-grid small,.decision-block .finish-note,.field-caption small,.tab-index{color:#555}
.decision-block li{font-weight:max(500,var(--merico-weight,500));font-size:calc(14px * var(--merico-type-scale,1))}
.tag-filter button:hover:not([aria-pressed=true]){background:#f3f3f3;border-color:#777}
.tag-filter button{transition:background .18s,border-color .18s}
/* 内容幅 + 対称の余白。親のカラム幅まで無条件に広げない。 */
.btn.ui-button,.crafted.ui-button{position:relative;display:inline-flex;align-items:center;justify-content:center!important;align-self:flex-start;flex:0 0 auto;box-sizing:border-box;width:max-content!important;min-width:0!important;max-width:100%;min-height:52px;padding:calc(13px * var(--merico-space-scale,1)) calc(26px * var(--merico-space-scale,1))!important;gap:0!important;font-size:calc(14px * var(--merico-type-scale,1))!important;font-weight:max(600,var(--merico-weight,600));line-height:1.7;letter-spacing:.015em;text-align:center!important;vertical-align:middle}
.btn.ui-button:has(>.action-label),.crafted.ui-button:has(>.action-label){display:inline-grid;grid-template-columns:18px minmax(0,1fr) 18px;column-gap:calc(12px * var(--merico-space-scale,1))!important}
.ui-button:has(>.action-label):before{content:"";grid-column:1;grid-row:1}
.ui-button>.action-label{grid-column:2;grid-row:1;display:block;min-width:0;text-align:center;line-height:1.7}
.ui-button>.action-icon{position:static!important;grid-column:3;grid-row:1;width:18px!important;height:18px;display:block;flex:0 0 auto;transition:translate .2s ease;transform:none}
.ui-button:hover>.action-icon{translate:3px 0}
.ui-button>.action-icon.down{transform:rotate(90deg)}
.ui-button:hover>.action-icon.down{translate:0 3px}
.ui-button>.action-icon.external{transform:rotate(-45deg)}
.ui-button:hover>.action-icon.external{translate:2px -2px}
.ui-button:disabled{cursor:not-allowed}
.ui-button:disabled:hover>.action-icon{translate:0 0}
.ui-button:disabled:hover{transform:none}
.button-context .crafted.ui-button{min-height:54px;padding:calc(14px * var(--merico-space-scale,1)) calc(24px * var(--merico-space-scale,1))!important;max-width:100%}
.button-context .crafted.ui-button small{font-size:calc(12px * var(--merico-type-scale,1));margin:0 0 calc(4px * var(--merico-space-scale,1));line-height:1.6}
.button-context .crafted.ui-button b{font-size:calc(16px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));line-height:1.7}
.button-context>div,.button-context>aside,.suri-demo>div{min-width:0}
.suri-demo{grid-template-columns:repeat(2,minmax(0,1fr))}
.shape-grid{gap:calc(26px * var(--merico-space-scale,1))}
.shape-grid .btn.ui-button{width:min(100%,208px)!important;min-height:52px;padding-inline:calc(17px * var(--merico-space-scale,1))!important}
.shape-grid>div{align-items:flex-start}
.decision-actions{gap:calc(12px * var(--merico-space-scale,1))}
.decision-actions .btn.ui-button{padding-inline:calc(19px * var(--merico-space-scale,1))!important;min-height:52px}
.decision-block .finish-note{max-width:36em}
.utility-row .btn.ui-button{min-width:168px!important;padding-inline:calc(20px * var(--merico-space-scale,1))!important}
.settings-row .btn.ui-button{min-height:48px;padding-inline:calc(23px * var(--merico-space-scale,1))!important}
.cta .btn.ui-button,.footer-cta .btn.ui-button{padding-inline:calc(23px * var(--merico-space-scale,1))!important;align-self:center}
.pricing .btn.ui-button{align-self:center;min-height:48px;padding-inline:calc(20px * var(--merico-space-scale,1))!important}
.photo-hero .btn.ui-button,.suri-demo .btn.ui-button{padding-inline:calc(22px * var(--merico-space-scale,1))!important}
form .btn.ui-button{min-height:50px}
.dropdown>.btn.ui-button{min-height:48px;padding-inline:calc(22px * var(--merico-space-scale,1))!important}
@media(max-width:600px){.button-context,.suri-demo{grid-template-columns:minmax(0,1fr)}.btn.ui-button,.crafted.ui-button{font-size:calc(13px * var(--merico-type-scale,1))!important;padding-inline:calc(18px * var(--merico-space-scale,1))!important;min-height:50px}.button-context .crafted.ui-button{padding-inline:calc(18px * var(--merico-space-scale,1))!important;min-height:52px;column-gap:calc(10px * var(--merico-space-scale,1))!important}.button-context .crafted.ui-button b{font-size:calc(15px * var(--merico-type-scale,1))}.decision-actions .btn.ui-button{padding-inline:calc(17px * var(--merico-space-scale,1))!important}.cta .btn.ui-button{align-self:flex-start}.shape-grid{gap:calc(28px * var(--merico-space-scale,1))}.shape-grid .btn.ui-button{width:min(100%,208px)!important}.pricing .btn.ui-button{align-self:flex-start}.utility-row .btn.ui-button{width:max-content!important}.settings-row .btn.ui-button{padding-inline:calc(20px * var(--merico-space-scale,1))!important}}
/* 本文500・補足600・操作700。小さい文字を細くして階層を作らない。 */
body{font-weight:max(500,var(--merico-weight,500))}
p{letter-spacing:.015em}
h2,h3{letter-spacing:-.015em}
.ed-copy,.section-description{font-weight:max(500,var(--merico-weight,500));line-height:1.95}
.ed-caption,.finish-note,figcaption{font-weight:max(600,var(--merico-weight,600));letter-spacing:.015em}
.kicker,.section-label,.eyebrow{font-weight:max(700,var(--merico-weight,700))}
.btn,.link,.finish-link,.ed-link,.crafted{font-weight:max(700,var(--merico-weight,700))}
input,textarea,select{font-weight:max(500,var(--merico-weight,500))}
button{letter-spacing:.015em}
:where(a,button,summary):focus-visible{outline-width:2px;outline-offset:5px}
/* 空の操作結果は余白を予約しない。通知が出たときだけ一段増やします。 */
p[role=status]:empty,p[data-result]:empty,.button-feedback:empty,.shape-feedback:empty{display:none}
.site-header{gap:calc(24px * var(--merico-space-scale,1));min-height:92px}
.site-header nav a{font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));min-height:44px}
.site-header .btn{font-weight:max(700,var(--merico-weight,700))}
.menu-context small{font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600))}
.menu-context h2{line-height:1.55}
@media(max-width:760px){.site-header{gap:calc(18px * var(--merico-space-scale,1))}.site-header nav{gap:calc(8px * var(--merico-space-scale,1)) calc(20px * var(--merico-space-scale,1))}}
/* 日本語の禁則と操作の触感。細い文字や過剰な装飾に頼らず情報を分けます。 */
:root{--craft-ease:cubic-bezier(.22,1,.36,1);--craft-line:#dedfe1;--craft-soft:#f5f6f7}
body{line-break:strict;overflow-wrap:break-word;text-rendering:optimizeLegibility}
h1,h2,h3{font-feature-settings:"palt";text-wrap:pretty}
p{hanging-punctuation:allow-end}
button,a,summary,input,textarea,select{-webkit-tap-highlight-color:transparent}
:where(button,a,summary){transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}
:where(button,a,summary):focus-visible{outline:2px solid var(--merico-primary,var(--ink));outline-offset:5px}
:where(input,textarea,select):focus-visible{outline:2px solid var(--merico-primary,var(--accent));outline-offset:3px}
.btn.ui-button{min-height:52px;padding-inline:calc(24px * var(--merico-space-scale,1))!important;font-weight:max(700,var(--merico-weight,700));letter-spacing:.025em}
.btn.ui-button:not(:disabled):active{translate:0 1px}
.btn.ui-button>.action-icon{transition:translate .32s var(--craft-ease)}
.btn.secondary{border-color:#acafb3;background:white}
.link,.ed-link,.finish-link{min-height:44px;align-items:center;max-width:100%;line-height:1.65}
.ed-copy,.section-description{font-size:calc(16px * var(--merico-type-scale,1));line-height:1.95;letter-spacing:.025em}
.kicker,.section-label,.eyebrow{letter-spacing:.065em}
.craft-icon{width:24px;height:24px;fill:currentColor;stroke:none;flex-shrink:0}
.craft-icon-box{display:grid;place-items:center;flex:0 0 auto;width:52px;height:52px;background:#f2f3f4;border-radius:var(--merico-radius,8px);color:var(--merico-text,#292929)}
.craft-icon-box .craft-icon{width:25px;height:25px}
:where(time,.finish-number,.num,.tab-index){font-variant-numeric:tabular-nums}
@media(hover:hover){.btn.ui-button:not(:disabled):hover{box-shadow:0 5px 14px #0000000b}.btn.secondary:not(:disabled):hover{border-color:var(--merico-primary,#222);background:#f5f6f7}}
@media(max-width:600px){.ed-copy,.section-description{font-size:calc(15px * var(--merico-type-scale,1));line-height:1.9}.btn.ui-button{min-height:50px;padding-inline:calc(20px * var(--merico-space-scale,1))!important}.section-intro h2{line-height:1.55}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.site-header{min-height:88px;padding-inline:clamp(calc(24px * var(--merico-space-scale,1)),calc(4vw * var(--merico-space-scale,1)),calc(48px * var(--merico-space-scale,1)));gap:calc(28px * var(--merico-space-scale,1));border-bottom:1px solid #e7e8ea}
.site-header .wordmark{font-size:calc(30px * var(--merico-type-scale,1));letter-spacing:-.05em}
.site-header nav{gap:calc(28px * var(--merico-space-scale,1))}
.site-header nav a{font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));letter-spacing:.025em;position:relative;padding-block:calc(12px * var(--merico-space-scale,1))}
.site-header nav a:after{content:"";position:absolute;left:0;right:0;bottom:5px;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s var(--craft-ease)}
.site-header nav a:hover:after{transform:scaleX(1)}
.site-header .btn{font-size:calc(12px * var(--merico-type-scale,1));min-height:44px}
.menu-context>div{max-width:760px}
.menu-context h2{font-size:clamp(calc(28px * var(--merico-type-scale,1)),calc(3.8vw * var(--merico-type-scale,1)),calc(44px * var(--merico-type-scale,1)));line-height:1.65}
.menu-context small{font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));letter-spacing:.06em}
.menu-context>span{font-size:calc(11px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650));letter-spacing:.1em;border-top:1px solid #ffffff66;padding-top:calc(12px * var(--merico-space-scale,1))}
.mega-grid{gap:calc(24px * var(--merico-space-scale,1));padding:calc(36px * var(--merico-space-scale,1)) calc(40px * var(--merico-space-scale,1)) calc(40px * var(--merico-space-scale,1))}
.mega-grid a img{aspect-ratio:16/10;object-fit:cover;transition:filter .4s}
.mega-grid a strong{padding-block:calc(20px * var(--merico-space-scale,1));border-bottom:1px solid #d9dce0;font-size:calc(15px * var(--merico-type-scale,1));gap:calc(16px * var(--merico-space-scale,1))}
.mega-grid a strong>span:last-child{border:1px solid #d5d8dc;border-radius:50%;width:30px;height:30px;display:grid;place-items:center}
.mega-grid a:hover img{filter:brightness(1.07)}
.cover .site-header{border-color:#ffffff33}
.cover .site-header nav a{color:#fff}
.full-menu nav a,.drawer nav a{position:relative;display:flex;align-items:center;gap:calc(22px * var(--merico-space-scale,1));padding-block:calc(23px * var(--merico-space-scale,1));border-bottom:1px solid #dce0e5;line-height:1.6}
.craft-menu-number{font-size:calc(11px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650));letter-spacing:.06em;color:#787f89}
.craft-menu-name{flex:1}
.craft-menu-name small{display:block;font-size:calc(11px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));letter-spacing:.035em;margin-top:calc(5px * var(--merico-space-scale,1));color:#666}
.full-menu nav a>.craft-icon,.drawer nav a>.craft-icon{width:18px;height:18px}
.full-menu .craft-menu-number{color:#b8bec7}
.full-menu .craft-menu-name small{color:#c3c8d0}
.full-menu nav a{border-color:#ffffff30}
.full-menu [data-close],.drawer [data-close]{font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));padding:calc(10px * var(--merico-space-scale,1)) calc(16px * var(--merico-space-scale,1));border:1px solid #cbd0d6;min-height:44px}
.drawer::backdrop,.full-menu::backdrop{background:#161a2055;backdrop-filter:blur(3px)}
.drawer{box-shadow:-16px 0 60px #0002}
@media(max-width:600px){.site-header{min-height:76px;gap:calc(16px * var(--merico-space-scale,1));padding-inline:calc(22px * var(--merico-space-scale,1))}.site-header nav{gap:calc(12px * var(--merico-space-scale,1))}.mega-grid{padding:calc(24px * var(--merico-space-scale,1));gap:calc(26px * var(--merico-space-scale,1))}.mega-grid a strong{padding-block:calc(16px * var(--merico-space-scale,1))}.full-menu nav a,.drawer nav a{padding-block:calc(22px * var(--merico-space-scale,1));gap:calc(16px * var(--merico-space-scale,1))}}
/* 共通設定に、部品別の指定を重ねた現在のスタイル。 */
:root{}
/* 共通トークン。案件ごとに色・書体・角丸を変更できます。 */
:root{--ink:#272727;--accent:var(--merico-primary,#6f6f6f);--muted:#767676;--surface:#f6f6f6;--line:#e5e5e5;--radius:4px;font-family:var(--merico-font,-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif);color:var(--merico-text,var(--ink));font-size:16px}
*{box-sizing:border-box}
body{margin:0;background:var(--merico-background,white)}
button,input,select,textarea{font:inherit}
button,summary{cursor:pointer}
a{color:inherit;text-decoration:none}
button,a,input,summary,textarea,select{outline-offset:4px}
img{max-width:100%;display:block;object-fit:cover}
h1,h2,h3,p{margin-top:0}
h2{font-size:clamp(calc(24px * var(--merico-type-scale,1)),calc(4vw * var(--merico-type-scale,1)),calc(38px * var(--merico-type-scale,1)));line-height:1.45;letter-spacing:-.03em}
h3{font-size:calc(20px * var(--merico-type-scale,1))}
p{line-height:1.9}
small{font-size:calc(12px * var(--merico-type-scale,1))}
.pad{padding:clamp(calc(24px * var(--merico-space-scale,1)),calc(5vw * var(--merico-space-scale,1)),calc(55px * var(--merico-space-scale,1)))}
.muted{color:var(--muted)}
.eyebrow{font-size:calc(12px * var(--merico-type-scale,1));font-weight:max(750,var(--merico-weight,750));letter-spacing:.12em;color:var(--merico-primary,var(--accent));margin-bottom:calc(14px * var(--merico-space-scale,1))}
.row{display:flex;gap:calc(16px * var(--merico-space-scale,1));align-items:center;flex-wrap:wrap}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(24px * var(--merico-space-scale,1))}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:calc(20px * var(--merico-space-scale,1));border:1px solid var(--merico-primary,var(--ink));background:var(--merico-primary,var(--ink));color:var(--merico-on-primary,#ffffff);padding:calc(15px * var(--merico-space-scale,1)) calc(26px * var(--merico-space-scale,1));border-radius:var(--merico-radius,var(--radius));font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));min-height:48px}
.btn.secondary{background:#ffffff;color:var(--merico-primary,var(--ink))}
.btn:disabled{opacity:.4;cursor:not-allowed}
.link{display:inline-flex;gap:calc(25px * var(--merico-space-scale,1));font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));border:0;background:transparent;padding:calc(12px * var(--merico-space-scale,1)) 0;color:var(--merico-primary,var(--ink))}
.line{border-bottom:1px solid var(--line)}
label{font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650))}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{width:100%;padding:calc(13px * var(--merico-space-scale,1));border:1px solid #cfcfcf;background:#ffffff;border-radius:var(--merico-radius,var(--radius));margin:calc(8px * var(--merico-space-scale,1)) 0 calc(20px * var(--merico-space-scale,1))}
input[type=checkbox],input[type=radio]{accent-color:var(--merico-primary,var(--accent));width:19px;height:19px;vertical-align:middle;margin-right:calc(8px * var(--merico-space-scale,1))}
textarea{min-height:110px}
dialog{border:0;box-shadow:0 20px 100px #0003;border-radius:var(--merico-radius,10px);padding:calc(32px * var(--merico-space-scale,1));max-width:min(90vw,480px)}
dialog::backdrop{background:#1a1a1a70}
details{border-bottom:1px solid var(--line);padding:calc(20px * var(--merico-space-scale,1)) 0}
summary{font-weight:max(700,var(--merico-weight,700));line-height:1.7}
details p{margin:calc(16px * var(--merico-space-scale,1)) 0 0;color:var(--muted);font-size:calc(14px * var(--merico-type-scale,1))}
table{width:100%;border-collapse:collapse;font-size:calc(14px * var(--merico-type-scale,1))}
td,th{text-align:left;padding:calc(18px * var(--merico-space-scale,1));border-bottom:1px solid var(--line)}
th{background:var(--surface)}
.notice{padding:calc(15px * var(--merico-space-scale,1));background:var(--surface);font-size:calc(14px * var(--merico-type-scale,1));line-height:1.7}
.pill{display:inline-block;font-size:calc(12px * var(--merico-type-scale,1));border:1px solid var(--line);padding:calc(5px * var(--merico-space-scale,1)) calc(12px * var(--merico-space-scale,1));border-radius:var(--merico-radius,30px)}
.stack>*+*{margin-top:calc(20px * var(--merico-space-scale,1))}
[hidden]{display:none!important}
@media(max-width:600px){.grid{grid-template-columns:1fr}.pad{padding:calc(24px * var(--merico-space-scale,1))}.row{gap:calc(12px * var(--merico-space-scale,1))}h2{font-size:calc(26px * var(--merico-type-scale,1))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
:root{--ink:#363636;--accent:var(--merico-primary,#575757);--muted:#878787;--surface:#f3f3f3;--line:#e2e2e2;--radius:2px;font-family:var(--merico-font,"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,sans-serif);letter-spacing:.015em;font-synthesis:none}
body{color:var(--merico-text,var(--ink));-webkit-font-smoothing:antialiased}
h2{font-weight:max(750,var(--merico-weight,750));letter-spacing:-.035em;line-height:1.55;text-wrap:balance}
h3{font-weight:max(700,var(--merico-weight,700));letter-spacing:-.02em;line-height:1.65}
p{line-height:2.1;text-wrap:pretty}
.pad{padding:clamp(calc(32px * var(--merico-space-scale,1)),calc(6.5vw * var(--merico-space-scale,1)),calc(72px * var(--merico-space-scale,1)))}
.eyebrow{font-family:var(--merico-font,inherit);letter-spacing:.08em;font-weight:max(650,var(--merico-weight,650));font-size:calc(11px * var(--merico-type-scale,1));color:#838383;margin-bottom:calc(24px * var(--merico-space-scale,1))}
.muted{color:#8a8a8a}
.grid{gap:calc(35px * var(--merico-space-scale,1))}
.btn{min-height:54px;padding:calc(17px * var(--merico-space-scale,1)) calc(29px * var(--merico-space-scale,1));letter-spacing:.025em;border-radius:var(--merico-radius,2px);font-size:calc(13px * var(--merico-type-scale,1));gap:calc(30px * var(--merico-space-scale,1));transition:background .25s,color .25s,border-color .25s,transform .25s}
.btn:hover{background:#5e5e5e;border-color:#5e5e5e}
.btn.secondary{border-color:#cdcdcd}
.btn.secondary:hover{background:#f2f2f2;color:#363636;border-color:#ababab}
.btn:active{transform:translateY(1px)}
.link{font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650));gap:calc(30px * var(--merico-space-scale,1));padding:calc(13px * var(--merico-space-scale,1)) 0;letter-spacing:.025em;transition:color .25s}
.link:hover{color:#808080}
.pill{font-size:calc(11px * var(--merico-type-scale,1));letter-spacing:.015em;border-radius:var(--merico-radius,2px);padding:calc(5px * var(--merico-space-scale,1)) calc(11px * var(--merico-space-scale,1));border-color:#dcdcdc}
.notice{background:#f3f3f3;padding:calc(22px * var(--merico-space-scale,1))}
.required{font-size:calc(10px * var(--merico-type-scale,1))!important;font-weight:max(550,var(--merico-weight,550));letter-spacing:.03em}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{border-color:#dcdcdc;border-radius:var(--merico-radius,2px);padding:calc(16px * var(--merico-space-scale,1));background:#f9f9f9;margin-top:calc(13px * var(--merico-space-scale,1));font-size:calc(14px * var(--merico-type-scale,1));transition:border-color .2s,background .2s}
input:focus,select:focus,textarea:focus{border-color:#959595!important;background:#ffffff!important;outline:2px solid #e6e6e6;outline-offset:2px}
input::placeholder,textarea::placeholder{color:#ababab}
label{font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650))}
td,th{padding:calc(22px * var(--merico-space-scale,1));line-height:1.9;font-size:calc(13px * var(--merico-type-scale,1))}
th{background:#f3f3f3}
dialog{border-radius:var(--merico-radius,4px);padding:calc(38px * var(--merico-space-scale,1));color:var(--merico-text,var(--ink));box-shadow:0 20px 80px #2c2c2c30}
dialog::backdrop{background:#28282860}
details{padding:calc(24px * var(--merico-space-scale,1)) 0}
details p{line-height:2.1}
summary{font-size:calc(14px * var(--merico-type-scale,1))}
.warning{background:#f3f3f3!important;border-color:#7d7d7d!important}
.error-state{background:#f6f6f6!important;border-color:#dcdcdc!important}
.banner.info{background:#f3f3f3!important}
*:focus-visible{outline:2px solid #8c8c8c;outline-offset:5px}
@media(max-width:600px){.pad{padding:calc(32px * var(--merico-space-scale,1)) calc(24px * var(--merico-space-scale,1))}.grid{gap:calc(28px * var(--merico-space-scale,1))}h2{font-size:calc(27px * var(--merico-type-scale,1));line-height:1.65}.btn{min-height:52px;font-size:calc(13px * var(--merico-type-scale,1))}}
:root{--ink:#222222;--accent:var(--merico-primary,#333333);--muted:#666666;--surface:#f5f5f5;--line:#dddddd}
.split-hero{display:grid;grid-template-columns:1fr 1fr;min-height:380px}
.split-hero>div{padding:calc(55px * var(--merico-space-scale,1)) calc(35px * var(--merico-space-scale,1));align-self:center}
.split-hero img{height:100%;width:100%}
@media(max-width:600px){.split-hero{grid-template-columns:1fr}.split-hero img{height:220px}.split-hero>div{padding:calc(30px * var(--merico-space-scale,1))}}
.photo-hero{padding:calc(85px * var(--merico-space-scale,1)) 8%;min-height:460px}
.photo-hero h2{font-size:clamp(calc(35px * var(--merico-type-scale,1)),calc(5.4vw * var(--merico-type-scale,1)),calc(55px * var(--merico-type-scale,1)));letter-spacing:-.04em;line-height:1.5}
.photo-hero>p{font-size:calc(12px * var(--merico-type-scale,1));letter-spacing:.08em;margin-bottom:calc(24px * var(--merico-space-scale,1))}
.photo-hero .btn{margin-top:calc(20px * var(--merico-space-scale,1));font-size:calc(12px * var(--merico-type-scale,1))}
.split-hero{min-height:465px}
.split-hero>div{padding:calc(60px * var(--merico-space-scale,1)) 12%}
.split-hero h2{font-size:clamp(calc(30px * var(--merico-type-scale,1)),calc(4vw * var(--merico-type-scale,1)),calc(43px * var(--merico-type-scale,1)))}
.split-hero>img{object-position:62% center}
.type-hero h2{font-size:clamp(calc(38px * var(--merico-type-scale,1)),calc(6.5vw * var(--merico-type-scale,1)),calc(67px * var(--merico-type-scale,1)));font-weight:max(700,var(--merico-weight,700));line-height:1.4}
.type-hero h2 span{color:#898989}
.type-hero .row{margin-top:calc(44px * var(--merico-space-scale,1));border-top:1px solid var(--line);padding-top:calc(25px * var(--merico-space-scale,1))}
.type-hero .row p{font-size:calc(12px * var(--merico-type-scale,1))}
.inset-hero{border-radius:var(--merico-radius,0)}
.inset-hero img{height:350px;filter:brightness(.86)}
.inset-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#2f2f2f66,transparent 70%)}
.inset-hero h2{z-index:1;left:7%;bottom:28px;font-size:calc(40px * var(--merico-type-scale,1));line-height:1.6}
@media(max-width:600px){.photo-hero{padding:calc(55px * var(--merico-space-scale,1)) 8%;min-height:420px}.split-hero>div{padding:calc(40px * var(--merico-space-scale,1)) calc(27px * var(--merico-space-scale,1))}.split-hero>img{height:260px}.inset-hero img{height:300px}.inset-hero h2{font-size:calc(29px * var(--merico-type-scale,1))}.type-hero .row{margin-top:calc(30px * var(--merico-space-scale,1))}}
.ui-arrow{width:24px;height:24px;flex-shrink:0;vertical-align:middle}
.section-intro{margin-bottom:calc(42px * var(--merico-space-scale,1))}
.section-label{display:flex;align-items:center;gap:calc(20px * var(--merico-space-scale,1));font-size:calc(12px * var(--merico-type-scale,1));font-weight:max(500,var(--merico-weight,500));letter-spacing:.06em;color:#555;margin:0 0 calc(24px * var(--merico-space-scale,1))}
.section-rule{width:24px;height:3px;background:currentColor;flex-shrink:0}
.section-intro h2{font-size:clamp(calc(28px * var(--merico-type-scale,1)),calc(3.8vw * var(--merico-type-scale,1)),calc(42px * var(--merico-type-scale,1)));font-weight:max(700,var(--merico-weight,700));letter-spacing:-.025em;line-height:1.65;margin:0}
.section-description{font-size:calc(13px * var(--merico-type-scale,1));line-height:2.15;color:#666;max-width:40em;margin:calc(24px * var(--merico-space-scale,1)) 0 0}
.finish-link{display:inline-flex;justify-content:space-between;align-items:center;gap:calc(45px * var(--merico-space-scale,1));padding:calc(17px * var(--merico-space-scale,1)) 0;border-bottom:1px solid var(--merico-primary,#222);font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));transition:gap .3s}
.finish-link:hover{gap:calc(55px * var(--merico-space-scale,1))}
.finish-link .ui-arrow{width:20px}
.finish-note{font-size:calc(12px * var(--merico-type-scale,1));color:#666;line-height:1.9}
.finish-number{font:500 calc(12px * var(--merico-type-scale,1))/1.5 var(--merico-font,Inter,sans-serif);font-weight:max(500,var(--merico-weight,500));letter-spacing:.05em;color:#777}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--merico-primary,#333);outline-offset:5px}
a,button{touch-action:manipulation}
@media(max-width:600px){.section-intro{margin-bottom:calc(30px * var(--merico-space-scale,1))}.section-intro h2{font-size:calc(29px * var(--merico-type-scale,1))}.section-label{font-size:calc(12px * var(--merico-type-scale,1));gap:calc(16px * var(--merico-space-scale,1));margin-bottom:calc(20px * var(--merico-space-scale,1))}.section-description{font-size:calc(13px * var(--merico-type-scale,1));line-height:2.1}.finish-link{gap:calc(30px * var(--merico-space-scale,1))}}
:root{--text-primary:#222;--text-secondary:#5c5c5c;--text-caption:#666;--motion-ease:cubic-bezier(.22,.61,.36,1)}
body{line-break:strict;word-break:normal;overflow-wrap:break-word;text-rendering:optimizeLegibility}
h1,h2,h3{font-feature-settings:"palt" 1;line-break:strict;word-break:normal;letter-spacing:-.015em}
p{line-break:strict;letter-spacing:.025em}
button,input,select,textarea{font-feature-settings:normal}
button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:disabled{cursor:not-allowed}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.ed-copy,.section-description,.feature p:not(.eyebrow),.prose p,.prose li{font-size:calc(16px * var(--merico-type-scale,1));line-height:2;letter-spacing:.025em}
.ed-caption,.finish-note,figcaption,.caption-figure figcaption,.opening figcaption,.office-layout figcaption,.inset-media small,.file-list small{font-size:calc(12px * var(--merico-type-scale,1));line-height:1.9;color:var(--text-caption)}
.btn,.link,.finish-link,.ed-link,.crafted{font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));line-height:1.7;letter-spacing:.025em;min-height:48px}
.btn{gap:calc(24px * var(--merico-space-scale,1))}
.precision-arrow{display:block;width:22px;height:22px;flex:0 0 auto}
.precision-arrow.left{transform:rotate(180deg)}
.precision-arrow.down{transform:rotate(90deg)}
.precision-arrow.external{transform:rotate(-45deg)}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:calc(16px * var(--merico-type-scale,1));line-height:1.7;border-color:#aaa;background:white;color:var(--merico-primary,#222);max-width:100%}
input::placeholder,textarea::placeholder{color:#707070}
input[type=checkbox],input[type=radio]{width:20px;height:20px;flex-shrink:0;accent-color:var(--merico-primary,#333)}
label{font-size:calc(14px * var(--merico-type-scale,1));line-height:1.9}
.eyebrow,.pill{font-size:calc(12px * var(--merico-type-scale,1))}
.required{font-size:calc(12px * var(--merico-type-scale,1))!important}
.required,.field-caption label span{font-size:calc(12px * var(--merico-type-scale,1));line-height:1.5}
table{font-variant-numeric:tabular-nums}
table td,table th{font-size:calc(14px * var(--merico-type-scale,1));line-height:1.9}
td.num{white-space:nowrap}
.table-scroll,.table-wrap{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#aaa #f4f4f4}
.table-scroll:focus-visible,.table-wrap:focus-visible{outline:2px solid #555;outline-offset:5px}
.card:focus-visible,.corner-link:focus-visible,.hover-card:focus-visible{outline-offset:7px}
.card:focus-visible .card-arrow{background:#222;color:white}
.btn:active:not(:disabled),.crafted:active:not(:disabled){transform:translateY(1px)}
@media(max-width:600px){.pad,.editorial{padding-inline:calc(24px * var(--merico-space-scale,1))}.ed-copy,.section-description,.feature p:not(.eyebrow),.prose p,.prose li{font-size:calc(15px * var(--merico-type-scale,1));line-height:2}.btn,.link,.finish-link,.ed-link{font-size:calc(14px * var(--merico-type-scale,1))}.section-intro h2{font-size:calc(28px * var(--merico-type-scale,1));line-height:1.65}h2{text-wrap:pretty}.row{column-gap:calc(16px * var(--merico-space-scale,1));row-gap:calc(14px * var(--merico-space-scale,1))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.photo-hero>p,.split-hero .eyebrow,.inset-hero+p{font-size:calc(13px * var(--merico-type-scale,1))}
.photo-hero .btn{font-size:calc(14px * var(--merico-type-scale,1));padding:calc(18px * var(--merico-space-scale,1)) calc(25px * var(--merico-space-scale,1))}
.split-hero .link{font-size:calc(14px * var(--merico-type-scale,1));gap:calc(30px * var(--merico-space-scale,1))}
.type-hero .row p{font-size:calc(15px * var(--merico-type-scale,1))}
.type-hero h2 span{color:#696969}
.inset-hero h2{line-height:1.6}
.inset-hero:after{pointer-events:none;background:linear-gradient(0deg,#0008,transparent 85%)}
.split-hero>div{padding:calc(60px * var(--merico-space-scale,1)) 11%}
.split-hero>img{object-position:68% center}
@media(max-width:600px){.split-hero>div{padding:calc(38px * var(--merico-space-scale,1)) calc(24px * var(--merico-space-scale,1))}.type-hero h2{font-size:calc(38px * var(--merico-type-scale,1))}.inset-hero h2{font-size:calc(29px * var(--merico-type-scale,1));left:7%;bottom:25px}}
small,figcaption,time,.ed-caption,.finish-note,.muted,.vertical-note,.footer-bottom,.footer-main p,.toggle-links small,.file-list small,.field-caption small,#email-help,#counter,#file-help,[data-file],[data-result]{font-weight:max(500,var(--merico-weight,500))}
.eyebrow,.kicker,.section-label,.pill,.state-label,.required,.field-caption label span,.tag-filter button,.filters button,.controls,.crumb,.steps li,.local-nav a,fieldset legend{font-weight:max(600,var(--merico-weight,600))}
.shape-grid small,.decision-block .finish-note,.field-caption small,.tab-index{color:#555}
.decision-block li{font-weight:max(500,var(--merico-weight,500));font-size:calc(14px * var(--merico-type-scale,1))}
.tag-filter button:hover:not([aria-pressed=true]){background:#f3f3f3;border-color:#777}
.tag-filter button{transition:background .18s,border-color .18s}
/* 内容幅 + 対称の余白。親のカラム幅まで無条件に広げない。 */
.btn.ui-button,.crafted.ui-button{position:relative;display:inline-flex;align-items:center;justify-content:center!important;align-self:flex-start;flex:0 0 auto;box-sizing:border-box;width:max-content!important;min-width:0!important;max-width:100%;min-height:52px;padding:calc(13px * var(--merico-space-scale,1)) calc(26px * var(--merico-space-scale,1))!important;gap:0!important;font-size:calc(14px * var(--merico-type-scale,1))!important;font-weight:max(600,var(--merico-weight,600));line-height:1.7;letter-spacing:.015em;text-align:center!important;vertical-align:middle}
.btn.ui-button:has(>.action-label),.crafted.ui-button:has(>.action-label){display:inline-grid;grid-template-columns:18px minmax(0,1fr) 18px;column-gap:calc(12px * var(--merico-space-scale,1))!important}
.ui-button:has(>.action-label):before{content:"";grid-column:1;grid-row:1}
.ui-button>.action-label{grid-column:2;grid-row:1;display:block;min-width:0;text-align:center;line-height:1.7}
.ui-button>.action-icon{position:static!important;grid-column:3;grid-row:1;width:18px!important;height:18px;display:block;flex:0 0 auto;transition:translate .2s ease;transform:none}
.ui-button:hover>.action-icon{translate:3px 0}
.ui-button>.action-icon.down{transform:rotate(90deg)}
.ui-button:hover>.action-icon.down{translate:0 3px}
.ui-button>.action-icon.external{transform:rotate(-45deg)}
.ui-button:hover>.action-icon.external{translate:2px -2px}
.ui-button:disabled{cursor:not-allowed}
.ui-button:disabled:hover>.action-icon{translate:0 0}
.ui-button:disabled:hover{transform:none}
.button-context .crafted.ui-button{min-height:54px;padding:calc(14px * var(--merico-space-scale,1)) calc(24px * var(--merico-space-scale,1))!important;max-width:100%}
.button-context .crafted.ui-button small{font-size:calc(12px * var(--merico-type-scale,1));margin:0 0 calc(4px * var(--merico-space-scale,1));line-height:1.6}
.button-context .crafted.ui-button b{font-size:calc(16px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));line-height:1.7}
.button-context>div,.button-context>aside,.suri-demo>div{min-width:0}
.suri-demo{grid-template-columns:repeat(2,minmax(0,1fr))}
.shape-grid{gap:calc(26px * var(--merico-space-scale,1))}
.shape-grid .btn.ui-button{width:min(100%,208px)!important;min-height:52px;padding-inline:calc(17px * var(--merico-space-scale,1))!important}
.shape-grid>div{align-items:flex-start}
.decision-actions{gap:calc(12px * var(--merico-space-scale,1))}
.decision-actions .btn.ui-button{padding-inline:calc(19px * var(--merico-space-scale,1))!important;min-height:52px}
.decision-block .finish-note{max-width:36em}
.utility-row .btn.ui-button{min-width:168px!important;padding-inline:calc(20px * var(--merico-space-scale,1))!important}
.settings-row .btn.ui-button{min-height:48px;padding-inline:calc(23px * var(--merico-space-scale,1))!important}
.cta .btn.ui-button,.footer-cta .btn.ui-button{padding-inline:calc(23px * var(--merico-space-scale,1))!important;align-self:center}
.pricing .btn.ui-button{align-self:center;min-height:48px;padding-inline:calc(20px * var(--merico-space-scale,1))!important}
.photo-hero .btn.ui-button,.suri-demo .btn.ui-button{padding-inline:calc(22px * var(--merico-space-scale,1))!important}
form .btn.ui-button{min-height:50px}
.dropdown>.btn.ui-button{min-height:48px;padding-inline:calc(22px * var(--merico-space-scale,1))!important}
@media(max-width:600px){.button-context,.suri-demo{grid-template-columns:minmax(0,1fr)}.btn.ui-button,.crafted.ui-button{font-size:calc(13px * var(--merico-type-scale,1))!important;padding-inline:calc(18px * var(--merico-space-scale,1))!important;min-height:50px}.button-context .crafted.ui-button{padding-inline:calc(18px * var(--merico-space-scale,1))!important;min-height:52px;column-gap:calc(10px * var(--merico-space-scale,1))!important}.button-context .crafted.ui-button b{font-size:calc(15px * var(--merico-type-scale,1))}.decision-actions .btn.ui-button{padding-inline:calc(17px * var(--merico-space-scale,1))!important}.cta .btn.ui-button{align-self:flex-start}.shape-grid{gap:calc(28px * var(--merico-space-scale,1))}.shape-grid .btn.ui-button{width:min(100%,208px)!important}.pricing .btn.ui-button{align-self:flex-start}.utility-row .btn.ui-button{width:max-content!important}.settings-row .btn.ui-button{padding-inline:calc(20px * var(--merico-space-scale,1))!important}}
/* 本文500・補足600・操作700。小さい文字を細くして階層を作らない。 */
body{font-weight:max(500,var(--merico-weight,500))}
p{letter-spacing:.015em}
h2,h3{letter-spacing:-.015em}
.ed-copy,.section-description{font-weight:max(500,var(--merico-weight,500));line-height:1.95}
.ed-caption,.finish-note,figcaption{font-weight:max(600,var(--merico-weight,600));letter-spacing:.015em}
.kicker,.section-label,.eyebrow{font-weight:max(700,var(--merico-weight,700))}
.btn,.link,.finish-link,.ed-link,.crafted{font-weight:max(700,var(--merico-weight,700))}
input,textarea,select{font-weight:max(500,var(--merico-weight,500))}
button{letter-spacing:.015em}
:where(a,button,summary):focus-visible{outline-width:2px;outline-offset:5px}
/* 空の操作結果は余白を予約しない。通知が出たときだけ一段増やします。 */
p[role=status]:empty,p[data-result]:empty,.button-feedback:empty,.shape-feedback:empty{display:none}
.split-hero>div{padding:calc(56px * var(--merico-space-scale,1)) 10%}
.split-hero .eyebrow{font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));line-height:1.8}
.split-hero h2{line-height:1.55;margin:calc(24px * var(--merico-space-scale,1)) 0 calc(32px * var(--merico-space-scale,1))}
.split-hero .link{font-weight:max(700,var(--merico-weight,700));font-size:calc(15px * var(--merico-type-scale,1))}
.split-hero>img{object-position:64% center}
@media(max-width:600px){.split-hero>div{padding:calc(36px * var(--merico-space-scale,1)) calc(24px * var(--merico-space-scale,1))}}
/* 日本語の禁則と操作の触感。細い文字や過剰な装飾に頼らず情報を分けます。 */
:root{--craft-ease:cubic-bezier(.22,1,.36,1);--craft-line:#dedfe1;--craft-soft:#f5f6f7}
body{line-break:strict;overflow-wrap:break-word;text-rendering:optimizeLegibility}
h1,h2,h3{font-feature-settings:"palt";text-wrap:pretty}
p{hanging-punctuation:allow-end}
button,a,summary,input,textarea,select{-webkit-tap-highlight-color:transparent}
:where(button,a,summary){transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}
:where(button,a,summary):focus-visible{outline:2px solid var(--merico-primary,var(--ink));outline-offset:5px}
:where(input,textarea,select):focus-visible{outline:2px solid var(--merico-primary,var(--accent));outline-offset:3px}
.btn.ui-button{min-height:52px;padding-inline:calc(24px * var(--merico-space-scale,1))!important;font-weight:max(700,var(--merico-weight,700));letter-spacing:.025em}
.btn.ui-button:not(:disabled):active{translate:0 1px}
.btn.ui-button>.action-icon{transition:translate .32s var(--craft-ease)}
.btn.secondary{border-color:#acafb3;background:white}
.link,.ed-link,.finish-link{min-height:44px;align-items:center;max-width:100%;line-height:1.65}
.ed-copy,.section-description{font-size:calc(16px * var(--merico-type-scale,1));line-height:1.95;letter-spacing:.025em}
.kicker,.section-label,.eyebrow{letter-spacing:.065em}
.craft-icon{width:24px;height:24px;fill:currentColor;stroke:none;flex-shrink:0}
.craft-icon-box{display:grid;place-items:center;flex:0 0 auto;width:52px;height:52px;background:#f2f3f4;border-radius:var(--merico-radius,8px);color:var(--merico-text,#292929)}
.craft-icon-box .craft-icon{width:25px;height:25px}
:where(time,.finish-number,.num,.tab-index){font-variant-numeric:tabular-nums}
@media(hover:hover){.btn.ui-button:not(:disabled):hover{box-shadow:0 5px 14px #0000000b}.btn.secondary:not(:disabled):hover{border-color:var(--merico-primary,#222);background:#f5f6f7}}
@media(max-width:600px){.ed-copy,.section-description{font-size:calc(15px * var(--merico-type-scale,1));line-height:1.9}.btn.ui-button{min-height:50px;padding-inline:calc(20px * var(--merico-space-scale,1))!important}.section-intro h2{line-height:1.55}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.photo-hero{position:relative;isolation:isolate;justify-content:flex-end;padding:clamp(calc(36px * var(--merico-space-scale,1)),calc(7vw * var(--merico-space-scale,1)),calc(80px * var(--merico-space-scale,1)));background-position:center}
.photo-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#10151e66,transparent 80%),linear-gradient(0deg,#10151e66,transparent 75%)}
.photo-hero h2{font-size:clamp(calc(30px * var(--merico-type-scale,1)),calc(4.6vw * var(--merico-type-scale,1)),calc(56px * var(--merico-type-scale,1)));line-height:1.55;letter-spacing:.04em;margin-block:calc(22px * var(--merico-space-scale,1)) calc(32px * var(--merico-space-scale,1))}
.photo-hero>p{font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));letter-spacing:.075em}
.photo-hero .btn{background:white;color:var(--merico-primary,#222);border:1px solid white}
.split-hero>div{padding:clamp(calc(32px * var(--merico-space-scale,1)),calc(6vw * var(--merico-space-scale,1)),calc(70px * var(--merico-space-scale,1)))}
.split-hero h2{font-size:clamp(calc(29px * var(--merico-type-scale,1)),calc(3.9vw * var(--merico-type-scale,1)),calc(48px * var(--merico-type-scale,1)));line-height:1.6}
.split-hero>img{min-height:520px;object-position:58% center}
.split-hero .link{margin-top:calc(32px * var(--merico-space-scale,1));border-bottom:1px solid #b1b5bb;padding-bottom:calc(12px * var(--merico-space-scale,1))}
.type-hero{position:relative;isolation:isolate}
.type-hero:after{content:"";position:absolute;right:0;top:0;width:28%;height:70%;background:linear-gradient(135deg,#edf0f4,transparent);z-index:-1}
.type-hero h2{letter-spacing:-.01em;line-height:1.4}
.inset-hero{gap:6%;align-items:center}
.inset-hero img{aspect-ratio:5/4;object-fit:cover}
.inset-hero h2{line-height:1.55}
@media(max-width:600px){.split-hero>img{min-height:0;height:320px}.photo-hero{min-height:540px}.photo-hero h2{font-size:calc(32px * var(--merico-type-scale,1))}.split-hero>div{padding:calc(36px * var(--merico-space-scale,1)) calc(24px * var(--merico-space-scale,1))}.inset-hero img{aspect-ratio:4/3}}
/* 共通トークン。案件ごとに色・書体・角丸を変更できます。 */
:root{--ink:#272727;--accent:var(--merico-primary,#6f6f6f);--muted:#767676;--surface:#f6f6f6;--line:#e5e5e5;--radius:4px;font-family:var(--merico-font,-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif);color:var(--merico-text,var(--ink));font-size:16px}
*{box-sizing:border-box}
body{margin:0;background:var(--merico-background,white)}
button,input,select,textarea{font:inherit}
button,summary{cursor:pointer}
a{color:inherit;text-decoration:none}
button,a,input,summary,textarea,select{outline-offset:4px}
img{max-width:100%;display:block;object-fit:cover}
h1,h2,h3,p{margin-top:0}
h2{font-size:clamp(calc(24px * var(--merico-type-scale,1)),calc(4vw * var(--merico-type-scale,1)),calc(38px * var(--merico-type-scale,1)));line-height:1.45;letter-spacing:-.03em}
h3{font-size:calc(20px * var(--merico-type-scale,1))}
p{line-height:1.9}
small{font-size:calc(12px * var(--merico-type-scale,1))}
.pad{padding:clamp(calc(24px * var(--merico-space-scale,1)),calc(5vw * var(--merico-space-scale,1)),calc(55px * var(--merico-space-scale,1)))}
.muted{color:var(--muted)}
.eyebrow{font-size:calc(12px * var(--merico-type-scale,1));font-weight:max(750,var(--merico-weight,750));letter-spacing:.12em;color:var(--merico-primary,var(--accent));margin-bottom:calc(14px * var(--merico-space-scale,1))}
.row{display:flex;gap:calc(16px * var(--merico-space-scale,1));align-items:center;flex-wrap:wrap}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(24px * var(--merico-space-scale,1))}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:calc(20px * var(--merico-space-scale,1));border:1px solid var(--merico-primary,var(--ink));background:var(--merico-primary,var(--ink));color:var(--merico-on-primary,#ffffff);padding:calc(15px * var(--merico-space-scale,1)) calc(26px * var(--merico-space-scale,1));border-radius:var(--merico-radius,var(--radius));font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));min-height:48px}
.btn.secondary{background:#ffffff;color:var(--merico-primary,var(--ink))}
.btn:disabled{opacity:.4;cursor:not-allowed}
.link{display:inline-flex;gap:calc(25px * var(--merico-space-scale,1));font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));border:0;background:transparent;padding:calc(12px * var(--merico-space-scale,1)) 0;color:var(--merico-primary,var(--ink))}
.line{border-bottom:1px solid var(--line)}
label{font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650))}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{width:100%;padding:calc(13px * var(--merico-space-scale,1));border:1px solid #cfcfcf;background:#ffffff;border-radius:var(--merico-radius,var(--radius));margin:calc(8px * var(--merico-space-scale,1)) 0 calc(20px * var(--merico-space-scale,1))}
input[type=checkbox],input[type=radio]{accent-color:var(--merico-primary,var(--accent));width:19px;height:19px;vertical-align:middle;margin-right:calc(8px * var(--merico-space-scale,1))}
textarea{min-height:110px}
dialog{border:0;box-shadow:0 20px 100px #0003;border-radius:var(--merico-radius,10px);padding:calc(32px * var(--merico-space-scale,1));max-width:min(90vw,480px)}
dialog::backdrop{background:#1a1a1a70}
details{border-bottom:1px solid var(--line);padding:calc(20px * var(--merico-space-scale,1)) 0}
summary{font-weight:max(700,var(--merico-weight,700));line-height:1.7}
details p{margin:calc(16px * var(--merico-space-scale,1)) 0 0;color:var(--muted);font-size:calc(14px * var(--merico-type-scale,1))}
table{width:100%;border-collapse:collapse;font-size:calc(14px * var(--merico-type-scale,1))}
td,th{text-align:left;padding:calc(18px * var(--merico-space-scale,1));border-bottom:1px solid var(--line)}
th{background:var(--surface)}
.notice{padding:calc(15px * var(--merico-space-scale,1));background:var(--surface);font-size:calc(14px * var(--merico-type-scale,1));line-height:1.7}
.pill{display:inline-block;font-size:calc(12px * var(--merico-type-scale,1));border:1px solid var(--line);padding:calc(5px * var(--merico-space-scale,1)) calc(12px * var(--merico-space-scale,1));border-radius:var(--merico-radius,30px)}
.stack>*+*{margin-top:calc(20px * var(--merico-space-scale,1))}
[hidden]{display:none!important}
@media(max-width:600px){.grid{grid-template-columns:1fr}.pad{padding:calc(24px * var(--merico-space-scale,1))}.row{gap:calc(12px * var(--merico-space-scale,1))}h2{font-size:calc(26px * var(--merico-type-scale,1))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
:root{--ink:#363636;--accent:var(--merico-primary,#575757);--muted:#878787;--surface:#f3f3f3;--line:#e2e2e2;--radius:2px;font-family:var(--merico-font,"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,sans-serif);letter-spacing:.015em;font-synthesis:none}
body{color:var(--merico-text,var(--ink));-webkit-font-smoothing:antialiased}
h2{font-weight:max(750,var(--merico-weight,750));letter-spacing:-.035em;line-height:1.55;text-wrap:balance}
h3{font-weight:max(700,var(--merico-weight,700));letter-spacing:-.02em;line-height:1.65}
p{line-height:2.1;text-wrap:pretty}
.pad{padding:clamp(calc(32px * var(--merico-space-scale,1)),calc(6.5vw * var(--merico-space-scale,1)),calc(72px * var(--merico-space-scale,1)))}
.eyebrow{font-family:var(--merico-font,inherit);letter-spacing:.08em;font-weight:max(650,var(--merico-weight,650));font-size:calc(11px * var(--merico-type-scale,1));color:#838383;margin-bottom:calc(24px * var(--merico-space-scale,1))}
.muted{color:#8a8a8a}
.grid{gap:calc(35px * var(--merico-space-scale,1))}
.btn{min-height:54px;padding:calc(17px * var(--merico-space-scale,1)) calc(29px * var(--merico-space-scale,1));letter-spacing:.025em;border-radius:var(--merico-radius,2px);font-size:calc(13px * var(--merico-type-scale,1));gap:calc(30px * var(--merico-space-scale,1));transition:background .25s,color .25s,border-color .25s,transform .25s}
.btn:hover{background:#5e5e5e;border-color:#5e5e5e}
.btn.secondary{border-color:#cdcdcd}
.btn.secondary:hover{background:#f2f2f2;color:#363636;border-color:#ababab}
.btn:active{transform:translateY(1px)}
.link{font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650));gap:calc(30px * var(--merico-space-scale,1));padding:calc(13px * var(--merico-space-scale,1)) 0;letter-spacing:.025em;transition:color .25s}
.link:hover{color:#808080}
.pill{font-size:calc(11px * var(--merico-type-scale,1));letter-spacing:.015em;border-radius:var(--merico-radius,2px);padding:calc(5px * var(--merico-space-scale,1)) calc(11px * var(--merico-space-scale,1));border-color:#dcdcdc}
.notice{background:#f3f3f3;padding:calc(22px * var(--merico-space-scale,1))}
.required{font-size:calc(10px * var(--merico-type-scale,1))!important;font-weight:max(550,var(--merico-weight,550));letter-spacing:.03em}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{border-color:#dcdcdc;border-radius:var(--merico-radius,2px);padding:calc(16px * var(--merico-space-scale,1));background:#f9f9f9;margin-top:calc(13px * var(--merico-space-scale,1));font-size:calc(14px * var(--merico-type-scale,1));transition:border-color .2s,background .2s}
input:focus,select:focus,textarea:focus{border-color:#959595!important;background:#ffffff!important;outline:2px solid #e6e6e6;outline-offset:2px}
input::placeholder,textarea::placeholder{color:#ababab}
label{font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650))}
td,th{padding:calc(22px * var(--merico-space-scale,1));line-height:1.9;font-size:calc(13px * var(--merico-type-scale,1))}
th{background:#f3f3f3}
dialog{border-radius:var(--merico-radius,4px);padding:calc(38px * var(--merico-space-scale,1));color:var(--merico-text,var(--ink));box-shadow:0 20px 80px #2c2c2c30}
dialog::backdrop{background:#28282860}
details{padding:calc(24px * var(--merico-space-scale,1)) 0}
details p{line-height:2.1}
summary{font-size:calc(14px * var(--merico-type-scale,1))}
.warning{background:#f3f3f3!important;border-color:#7d7d7d!important}
.error-state{background:#f6f6f6!important;border-color:#dcdcdc!important}
.banner.info{background:#f3f3f3!important}
*:focus-visible{outline:2px solid #8c8c8c;outline-offset:5px}
@media(max-width:600px){.pad{padding:calc(32px * var(--merico-space-scale,1)) calc(24px * var(--merico-space-scale,1))}.grid{gap:calc(28px * var(--merico-space-scale,1))}h2{font-size:calc(27px * var(--merico-type-scale,1));line-height:1.65}.btn{min-height:52px;font-size:calc(13px * var(--merico-type-scale,1))}}
:root{--ink:#222222;--accent:var(--merico-primary,#333333);--muted:#666666;--surface:#f5f5f5;--line:#dddddd}
.profile{font-size:calc(14px * var(--merico-type-scale,1))}
.profile>div{display:grid;grid-template-columns:130px 1fr;border-bottom:1px solid var(--line);padding:calc(20px * var(--merico-space-scale,1)) 0;gap:calc(25px * var(--merico-space-scale,1))}
.profile dt{font-weight:max(700,var(--merico-weight,700))}
.profile dd{margin:0;line-height:1.8}
@media(max-width:600px){.profile>div{grid-template-columns:90px 1fr;gap:calc(15px * var(--merico-space-scale,1))}}
.profile>div{padding:calc(24px * var(--merico-space-scale,1)) 0;grid-template-columns:140px 1fr;border-color:#e4e4e4}
.profile dt{font-size:calc(12px * var(--merico-type-scale,1));color:#616161}
.profile dd{font-size:calc(13px * var(--merico-type-scale,1));line-height:2}
.numbers{gap:calc(40px * var(--merico-space-scale,1));margin:calc(50px * var(--merico-space-scale,1)) 0}
.numbers>div{border-left:0;border-top:1px solid #cfcfcf;padding:calc(28px * var(--merico-space-scale,1)) 0 0}
.numbers strong{font-family:var(--merico-font,Inter,sans-serif);font-size:calc(68px * var(--merico-type-scale,1));font-weight:max(400,var(--merico-weight,400));color:#525252;letter-spacing:-.05em}
.numbers strong small{font-family:var(--merico-font,inherit);font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(500,var(--merico-weight,500));margin-left:calc(10px * var(--merico-space-scale,1))}
.numbers p{font-size:calc(12px * var(--merico-type-scale,1));color:#7a7a7a;margin-top:calc(20px * var(--merico-space-scale,1))}
.timeline b{font-family:var(--merico-font,Inter,sans-serif);font-size:calc(23px * var(--merico-type-scale,1));font-weight:max(500,var(--merico-weight,500));color:#656565}
.timeline li{padding-left:calc(36px * var(--merico-space-scale,1));padding-bottom:calc(35px * var(--merico-space-scale,1));border-left:1px solid #d6d6d6}
.timeline li:before{height:7px;width:7px;left:-4px;background:#8a8a8a;top:10px}
.timeline p{font-size:calc(13px * var(--merico-type-scale,1));line-height:2}
.process{gap:calc(1px * var(--merico-space-scale,1));background:#e1e1e1}
.process article{border:0;background:#f4f4f4;padding:calc(35px * var(--merico-space-scale,1)) calc(28px * var(--merico-space-scale,1))}
.process span{font-family:var(--merico-font,Inter,sans-serif);font-size:calc(25px * var(--merico-type-scale,1));font-weight:max(400,var(--merico-weight,400));color:#909090}
.process h3{font-size:calc(19px * var(--merico-type-scale,1));margin-top:calc(35px * var(--merico-space-scale,1))}
.process p{font-size:calc(12px * var(--merico-type-scale,1));line-height:2.1}
.map-note{background:#f1f1f1;color:#787878;border:1px solid #e0e0e0}
.map-note b{font-weight:max(500,var(--merico-weight,500));letter-spacing:.06em}
@media(max-width:600px){.profile>div{grid-template-columns:90px 1fr}.numbers strong{font-size:calc(58px * var(--merico-type-scale,1))}.process{gap:calc(1px * var(--merico-space-scale,1))}.process article{padding:calc(30px * var(--merico-space-scale,1))}}
.ui-arrow{width:24px;height:24px;flex-shrink:0;vertical-align:middle}
.section-intro{margin-bottom:calc(42px * var(--merico-space-scale,1))}
.section-label{display:flex;align-items:center;gap:calc(20px * var(--merico-space-scale,1));font-size:calc(12px * var(--merico-type-scale,1));font-weight:max(500,var(--merico-weight,500));letter-spacing:.06em;color:#555;margin:0 0 calc(24px * var(--merico-space-scale,1))}
.section-rule{width:24px;height:3px;background:currentColor;flex-shrink:0}
.section-intro h2{font-size:clamp(calc(28px * var(--merico-type-scale,1)),calc(3.8vw * var(--merico-type-scale,1)),calc(42px * var(--merico-type-scale,1)));font-weight:max(700,var(--merico-weight,700));letter-spacing:-.025em;line-height:1.65;margin:0}
.section-description{font-size:calc(13px * var(--merico-type-scale,1));line-height:2.15;color:#666;max-width:40em;margin:calc(24px * var(--merico-space-scale,1)) 0 0}
.finish-link{display:inline-flex;justify-content:space-between;align-items:center;gap:calc(45px * var(--merico-space-scale,1));padding:calc(17px * var(--merico-space-scale,1)) 0;border-bottom:1px solid var(--merico-primary,#222);font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));transition:gap .3s}
.finish-link:hover{gap:calc(55px * var(--merico-space-scale,1))}
.finish-link .ui-arrow{width:20px}
.finish-note{font-size:calc(12px * var(--merico-type-scale,1));color:#666;line-height:1.9}
.finish-number{font:500 calc(12px * var(--merico-type-scale,1))/1.5 var(--merico-font,Inter,sans-serif);font-weight:max(500,var(--merico-weight,500));letter-spacing:.05em;color:#777}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--merico-primary,#333);outline-offset:5px}
a,button{touch-action:manipulation}
@media(max-width:600px){.section-intro{margin-bottom:calc(30px * var(--merico-space-scale,1))}.section-intro h2{font-size:calc(29px * var(--merico-type-scale,1))}.section-label{font-size:calc(12px * var(--merico-type-scale,1));gap:calc(16px * var(--merico-space-scale,1));margin-bottom:calc(20px * var(--merico-space-scale,1))}.section-description{font-size:calc(13px * var(--merico-type-scale,1));line-height:2.1}.finish-link{gap:calc(30px * var(--merico-space-scale,1))}}
.profile dt{color:#555}
.profile dd{color:var(--merico-text,#222)}
.numbers strong{font-weight:max(500,var(--merico-weight,500));color:var(--merico-text,#222)}
.numbers p{color:#555}
.process article{background:#f7f7f7}
.process span{color:#999}
.process p{color:#555}
.timeline b{color:var(--merico-text,#333)}
.timeline p{color:#555}
:root{--text-primary:#222;--text-secondary:#5c5c5c;--text-caption:#666;--motion-ease:cubic-bezier(.22,.61,.36,1)}
body{line-break:strict;word-break:normal;overflow-wrap:break-word;text-rendering:optimizeLegibility}
h1,h2,h3{font-feature-settings:"palt" 1;line-break:strict;word-break:normal;letter-spacing:-.015em}
p{line-break:strict;letter-spacing:.025em}
button,input,select,textarea{font-feature-settings:normal}
button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:disabled{cursor:not-allowed}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.ed-copy,.section-description,.feature p:not(.eyebrow),.prose p,.prose li{font-size:calc(16px * var(--merico-type-scale,1));line-height:2;letter-spacing:.025em}
.ed-caption,.finish-note,figcaption,.caption-figure figcaption,.opening figcaption,.office-layout figcaption,.inset-media small,.file-list small{font-size:calc(12px * var(--merico-type-scale,1));line-height:1.9;color:var(--text-caption)}
.btn,.link,.finish-link,.ed-link,.crafted{font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));line-height:1.7;letter-spacing:.025em;min-height:48px}
.btn{gap:calc(24px * var(--merico-space-scale,1))}
.precision-arrow{display:block;width:22px;height:22px;flex:0 0 auto}
.precision-arrow.left{transform:rotate(180deg)}
.precision-arrow.down{transform:rotate(90deg)}
.precision-arrow.external{transform:rotate(-45deg)}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:calc(16px * var(--merico-type-scale,1));line-height:1.7;border-color:#aaa;background:white;color:var(--merico-primary,#222);max-width:100%}
input::placeholder,textarea::placeholder{color:#707070}
input[type=checkbox],input[type=radio]{width:20px;height:20px;flex-shrink:0;accent-color:var(--merico-primary,#333)}
label{font-size:calc(14px * var(--merico-type-scale,1));line-height:1.9}
.eyebrow,.pill{font-size:calc(12px * var(--merico-type-scale,1))}
.required{font-size:calc(12px * var(--merico-type-scale,1))!important}
.required,.field-caption label span{font-size:calc(12px * var(--merico-type-scale,1));line-height:1.5}
table{font-variant-numeric:tabular-nums}
table td,table th{font-size:calc(14px * var(--merico-type-scale,1));line-height:1.9}
td.num{white-space:nowrap}
.table-scroll,.table-wrap{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#aaa #f4f4f4}
.table-scroll:focus-visible,.table-wrap:focus-visible{outline:2px solid #555;outline-offset:5px}
.card:focus-visible,.corner-link:focus-visible,.hover-card:focus-visible{outline-offset:7px}
.card:focus-visible .card-arrow{background:#222;color:white}
.btn:active:not(:disabled),.crafted:active:not(:disabled){transform:translateY(1px)}
@media(max-width:600px){.pad,.editorial{padding-inline:calc(24px * var(--merico-space-scale,1))}.ed-copy,.section-description,.feature p:not(.eyebrow),.prose p,.prose li{font-size:calc(15px * var(--merico-type-scale,1));line-height:2}.btn,.link,.finish-link,.ed-link{font-size:calc(14px * var(--merico-type-scale,1))}.section-intro h2{font-size:calc(28px * var(--merico-type-scale,1));line-height:1.65}h2{text-wrap:pretty}.row{column-gap:calc(16px * var(--merico-space-scale,1));row-gap:calc(14px * var(--merico-space-scale,1))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.profile dt,.profile dd{font-size:calc(15px * var(--merico-type-scale,1));line-height:2}
.profile>div{grid-template-columns:135px 1fr;gap:calc(30px * var(--merico-space-scale,1))}
.numbers strong{font-size:calc(70px * var(--merico-type-scale,1));line-height:1.1;font-variant-numeric:tabular-nums}
.numbers p{font-size:calc(14px * var(--merico-type-scale,1));margin:calc(22px * var(--merico-space-scale,1)) 0 0}
.numbers strong small{font-size:calc(16px * var(--merico-type-scale,1))}
.timeline p{font-size:calc(15px * var(--merico-type-scale,1));line-height:2}
.timeline li{padding-bottom:calc(38px * var(--merico-space-scale,1))}
.timeline b{font-size:calc(24px * var(--merico-type-scale,1))}
.process p{font-size:calc(14px * var(--merico-type-scale,1));line-height:2}
.process h3{font-size:calc(22px * var(--merico-type-scale,1));line-height:1.7}
.office-layout dl>div{font-size:calc(15px * var(--merico-type-scale,1));gap:calc(24px * var(--merico-space-scale,1))}
.office-layout dd small{font-size:calc(12px * var(--merico-type-scale,1))}
@media(max-width:600px){.profile>div{grid-template-columns:82px 1fr;gap:calc(20px * var(--merico-space-scale,1))}.profile dt,.profile dd{font-size:calc(14px * var(--merico-type-scale,1))}.numbers{gap:calc(30px * var(--merico-space-scale,1))}.numbers strong{font-size:calc(58px * var(--merico-type-scale,1))}.office-layout dl>div{font-size:calc(14px * var(--merico-type-scale,1))}}
small,figcaption,time,.ed-caption,.finish-note,.muted,.vertical-note,.footer-bottom,.footer-main p,.toggle-links small,.file-list small,.field-caption small,#email-help,#counter,#file-help,[data-file],[data-result]{font-weight:max(500,var(--merico-weight,500))}
.eyebrow,.kicker,.section-label,.pill,.state-label,.required,.field-caption label span,.tag-filter button,.filters button,.controls,.crumb,.steps li,.local-nav a,fieldset legend{font-weight:max(600,var(--merico-weight,600))}
.shape-grid small,.decision-block .finish-note,.field-caption small,.tab-index{color:#555}
.decision-block li{font-weight:max(500,var(--merico-weight,500));font-size:calc(14px * var(--merico-type-scale,1))}
.tag-filter button:hover:not([aria-pressed=true]){background:#f3f3f3;border-color:#777}
.tag-filter button{transition:background .18s,border-color .18s}
/* 内容幅 + 対称の余白。親のカラム幅まで無条件に広げない。 */
.btn.ui-button,.crafted.ui-button{position:relative;display:inline-flex;align-items:center;justify-content:center!important;align-self:flex-start;flex:0 0 auto;box-sizing:border-box;width:max-content!important;min-width:0!important;max-width:100%;min-height:52px;padding:calc(13px * var(--merico-space-scale,1)) calc(26px * var(--merico-space-scale,1))!important;gap:0!important;font-size:calc(14px * var(--merico-type-scale,1))!important;font-weight:max(600,var(--merico-weight,600));line-height:1.7;letter-spacing:.015em;text-align:center!important;vertical-align:middle}
.btn.ui-button:has(>.action-label),.crafted.ui-button:has(>.action-label){display:inline-grid;grid-template-columns:18px minmax(0,1fr) 18px;column-gap:calc(12px * var(--merico-space-scale,1))!important}
.ui-button:has(>.action-label):before{content:"";grid-column:1;grid-row:1}
.ui-button>.action-label{grid-column:2;grid-row:1;display:block;min-width:0;text-align:center;line-height:1.7}
.ui-button>.action-icon{position:static!important;grid-column:3;grid-row:1;width:18px!important;height:18px;display:block;flex:0 0 auto;transition:translate .2s ease;transform:none}
.ui-button:hover>.action-icon{translate:3px 0}
.ui-button>.action-icon.down{transform:rotate(90deg)}
.ui-button:hover>.action-icon.down{translate:0 3px}
.ui-button>.action-icon.external{transform:rotate(-45deg)}
.ui-button:hover>.action-icon.external{translate:2px -2px}
.ui-button:disabled{cursor:not-allowed}
.ui-button:disabled:hover>.action-icon{translate:0 0}
.ui-button:disabled:hover{transform:none}
.button-context .crafted.ui-button{min-height:54px;padding:calc(14px * var(--merico-space-scale,1)) calc(24px * var(--merico-space-scale,1))!important;max-width:100%}
.button-context .crafted.ui-button small{font-size:calc(12px * var(--merico-type-scale,1));margin:0 0 calc(4px * var(--merico-space-scale,1));line-height:1.6}
.button-context .crafted.ui-button b{font-size:calc(16px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));line-height:1.7}
.button-context>div,.button-context>aside,.suri-demo>div{min-width:0}
.suri-demo{grid-template-columns:repeat(2,minmax(0,1fr))}
.shape-grid{gap:calc(26px * var(--merico-space-scale,1))}
.shape-grid .btn.ui-button{width:min(100%,208px)!important;min-height:52px;padding-inline:calc(17px * var(--merico-space-scale,1))!important}
.shape-grid>div{align-items:flex-start}
.decision-actions{gap:calc(12px * var(--merico-space-scale,1))}
.decision-actions .btn.ui-button{padding-inline:calc(19px * var(--merico-space-scale,1))!important;min-height:52px}
.decision-block .finish-note{max-width:36em}
.utility-row .btn.ui-button{min-width:168px!important;padding-inline:calc(20px * var(--merico-space-scale,1))!important}
.settings-row .btn.ui-button{min-height:48px;padding-inline:calc(23px * var(--merico-space-scale,1))!important}
.cta .btn.ui-button,.footer-cta .btn.ui-button{padding-inline:calc(23px * var(--merico-space-scale,1))!important;align-self:center}
.pricing .btn.ui-button{align-self:center;min-height:48px;padding-inline:calc(20px * var(--merico-space-scale,1))!important}
.photo-hero .btn.ui-button,.suri-demo .btn.ui-button{padding-inline:calc(22px * var(--merico-space-scale,1))!important}
form .btn.ui-button{min-height:50px}
.dropdown>.btn.ui-button{min-height:48px;padding-inline:calc(22px * var(--merico-space-scale,1))!important}
@media(max-width:600px){.button-context,.suri-demo{grid-template-columns:minmax(0,1fr)}.btn.ui-button,.crafted.ui-button{font-size:calc(13px * var(--merico-type-scale,1))!important;padding-inline:calc(18px * var(--merico-space-scale,1))!important;min-height:50px}.button-context .crafted.ui-button{padding-inline:calc(18px * var(--merico-space-scale,1))!important;min-height:52px;column-gap:calc(10px * var(--merico-space-scale,1))!important}.button-context .crafted.ui-button b{font-size:calc(15px * var(--merico-type-scale,1))}.decision-actions .btn.ui-button{padding-inline:calc(17px * var(--merico-space-scale,1))!important}.cta .btn.ui-button{align-self:flex-start}.shape-grid{gap:calc(28px * var(--merico-space-scale,1))}.shape-grid .btn.ui-button{width:min(100%,208px)!important}.pricing .btn.ui-button{align-self:flex-start}.utility-row .btn.ui-button{width:max-content!important}.settings-row .btn.ui-button{padding-inline:calc(20px * var(--merico-space-scale,1))!important}}
/* 本文500・補足600・操作700。小さい文字を細くして階層を作らない。 */
body{font-weight:max(500,var(--merico-weight,500))}
p{letter-spacing:.015em}
h2,h3{letter-spacing:-.015em}
.ed-copy,.section-description{font-weight:max(500,var(--merico-weight,500));line-height:1.95}
.ed-caption,.finish-note,figcaption{font-weight:max(600,var(--merico-weight,600));letter-spacing:.015em}
.kicker,.section-label,.eyebrow{font-weight:max(700,var(--merico-weight,700))}
.btn,.link,.finish-link,.ed-link,.crafted{font-weight:max(700,var(--merico-weight,700))}
input,textarea,select{font-weight:max(500,var(--merico-weight,500))}
button{letter-spacing:.015em}
:where(a,button,summary):focus-visible{outline-width:2px;outline-offset:5px}
/* 空の操作結果は余白を予約しない。通知が出たときだけ一段増やします。 */
p[role=status]:empty,p[data-result]:empty,.button-feedback:empty,.shape-feedback:empty{display:none}
.profile dt{font-size:calc(15px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));color:var(--merico-text,#333)}
.profile dd{font-size:calc(16px * var(--merico-type-scale,1));font-weight:max(500,var(--merico-weight,500));color:var(--merico-text,#333);line-height:1.85}
.profile>div{padding-block:calc(24px * var(--merico-space-scale,1))}
.profile{margin-top:calc(32px * var(--merico-space-scale,1))}
@media(max-width:600px){.profile>div{grid-template-columns:82px 1fr;gap:calc(20px * var(--merico-space-scale,1))}.profile dd{font-size:calc(15px * var(--merico-type-scale,1))}}
/* 日本語の禁則と操作の触感。細い文字や過剰な装飾に頼らず情報を分けます。 */
:root{--craft-ease:cubic-bezier(.22,1,.36,1);--craft-line:#dedfe1;--craft-soft:#f5f6f7}
body{line-break:strict;overflow-wrap:break-word;text-rendering:optimizeLegibility}
h1,h2,h3{font-feature-settings:"palt";text-wrap:pretty}
p{hanging-punctuation:allow-end}
button,a,summary,input,textarea,select{-webkit-tap-highlight-color:transparent}
:where(button,a,summary){transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}
:where(button,a,summary):focus-visible{outline:2px solid var(--merico-primary,var(--ink));outline-offset:5px}
:where(input,textarea,select):focus-visible{outline:2px solid var(--merico-primary,var(--accent));outline-offset:3px}
.btn.ui-button{min-height:52px;padding-inline:calc(24px * var(--merico-space-scale,1))!important;font-weight:max(700,var(--merico-weight,700));letter-spacing:.025em}
.btn.ui-button:not(:disabled):active{translate:0 1px}
.btn.ui-button>.action-icon{transition:translate .32s var(--craft-ease)}
.btn.secondary{border-color:#acafb3;background:white}
.link,.ed-link,.finish-link{min-height:44px;align-items:center;max-width:100%;line-height:1.65}
.ed-copy,.section-description{font-size:calc(16px * var(--merico-type-scale,1));line-height:1.95;letter-spacing:.025em}
.kicker,.section-label,.eyebrow{letter-spacing:.065em}
.craft-icon{width:24px;height:24px;fill:currentColor;stroke:none;flex-shrink:0}
.craft-icon-box{display:grid;place-items:center;flex:0 0 auto;width:52px;height:52px;background:#f2f3f4;border-radius:var(--merico-radius,8px);color:var(--merico-text,#292929)}
.craft-icon-box .craft-icon{width:25px;height:25px}
:where(time,.finish-number,.num,.tab-index){font-variant-numeric:tabular-nums}
@media(hover:hover){.btn.ui-button:not(:disabled):hover{box-shadow:0 5px 14px #0000000b}.btn.secondary:not(:disabled):hover{border-color:var(--merico-primary,#222);background:#f5f6f7}}
@media(max-width:600px){.ed-copy,.section-description{font-size:calc(15px * var(--merico-type-scale,1));line-height:1.9}.btn.ui-button{min-height:50px;padding-inline:calc(20px * var(--merico-space-scale,1))!important}.section-intro h2{line-height:1.55}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.profile>div{padding-block:calc(24px * var(--merico-space-scale,1));border-color:#d9dce0;gap:calc(32px * var(--merico-space-scale,1))}
.profile dt{font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700))}
.profile dd{font-size:calc(15px * var(--merico-type-scale,1));line-height:1.95}
.numbers{gap:0;border-block:1px solid #d9dce0}
.numbers>div{padding:calc(36px * var(--merico-space-scale,1)) calc(20px * var(--merico-space-scale,1));text-align:center;border-right:1px solid #d9dce0}
.numbers>div:last-child{border-right:0}
.numbers strong{font-size:clamp(calc(44px * var(--merico-type-scale,1)),calc(6vw * var(--merico-type-scale,1)),calc(70px * var(--merico-type-scale,1)));letter-spacing:-.05em;font-weight:max(600,var(--merico-weight,600));line-height:1.15}
.numbers strong small{font-size:calc(16px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));letter-spacing:0;margin-left:calc(8px * var(--merico-space-scale,1))}
.numbers p{font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));letter-spacing:.04em;margin:calc(18px * var(--merico-space-scale,1)) 0 0}
.timeline>li{position:relative;padding:calc(24px * var(--merico-space-scale,1)) 0 calc(24px * var(--merico-space-scale,1)) calc(28px * var(--merico-space-scale,1));border-left:1px solid #cbd0d6}
.timeline>li:before{content:"";position:absolute;left:-5px;top:34px;width:9px;height:9px;border-radius:50%;background:#333;box-shadow:0 0 0 5px #fff}
.timeline time,.timeline b{font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));letter-spacing:.05em}
.timeline p{font-size:calc(15px * var(--merico-type-scale,1));line-height:1.9}
.process{gap:calc(24px * var(--merico-space-scale,1))}
.process article{border-top:3px solid #333;padding:calc(24px * var(--merico-space-scale,1)) calc(20px * var(--merico-space-scale,1)) calc(26px * var(--merico-space-scale,1));background:#f6f7f8}
.process article>span{font-size:calc(12px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));letter-spacing:.1em}
.process h3{font-size:calc(20px * var(--merico-type-scale,1));line-height:1.6;margin:calc(18px * var(--merico-space-scale,1)) 0 calc(14px * var(--merico-space-scale,1))}
.process p{font-size:calc(14px * var(--merico-type-scale,1));line-height:1.9}
.office-layout{gap:7%;align-items:start}
.office-layout h3{font-size:calc(22px * var(--merico-type-scale,1))}
.office-layout address{font-style:normal;font-size:calc(15px * var(--merico-type-scale,1));line-height:1.9}
.office-layout img{aspect-ratio:5/4;object-fit:cover}
.office-layout .finish-link{margin-top:calc(24px * var(--merico-space-scale,1))}
@media(max-width:600px){.numbers>div{padding:calc(26px * var(--merico-space-scale,1)) calc(12px * var(--merico-space-scale,1));border-right:0;border-bottom:1px solid #dedfe1}.numbers>div:last-child{border-bottom:0}.profile>div{gap:calc(12px * var(--merico-space-scale,1))}.process{gap:calc(18px * var(--merico-space-scale,1))}.office-layout{gap:calc(28px * var(--merico-space-scale,1))}}
/* 共通トークン。案件ごとに色・書体・角丸を変更できます。 */
:root{--ink:#272727;--accent:var(--merico-primary,#6f6f6f);--muted:#767676;--surface:#f6f6f6;--line:#e5e5e5;--radius:4px;font-family:var(--merico-font,-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif);color:var(--merico-text,var(--ink));font-size:16px}
*{box-sizing:border-box}
body{margin:0;background:var(--merico-background,white)}
button,input,select,textarea{font:inherit}
button,summary{cursor:pointer}
a{color:inherit;text-decoration:none}
button,a,input,summary,textarea,select{outline-offset:4px}
img{max-width:100%;display:block;object-fit:cover}
h1,h2,h3,p{margin-top:0}
h2{font-size:clamp(calc(24px * var(--merico-type-scale,1)),calc(4vw * var(--merico-type-scale,1)),calc(38px * var(--merico-type-scale,1)));line-height:1.45;letter-spacing:-.03em}
h3{font-size:calc(20px * var(--merico-type-scale,1))}
p{line-height:1.9}
small{font-size:calc(12px * var(--merico-type-scale,1))}
.pad{padding:clamp(calc(24px * var(--merico-space-scale,1)),calc(5vw * var(--merico-space-scale,1)),calc(55px * var(--merico-space-scale,1)))}
.muted{color:var(--muted)}
.eyebrow{font-size:calc(12px * var(--merico-type-scale,1));font-weight:max(750,var(--merico-weight,750));letter-spacing:.12em;color:var(--merico-primary,var(--accent));margin-bottom:calc(14px * var(--merico-space-scale,1))}
.row{display:flex;gap:calc(16px * var(--merico-space-scale,1));align-items:center;flex-wrap:wrap}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(24px * var(--merico-space-scale,1))}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:calc(20px * var(--merico-space-scale,1));border:1px solid var(--merico-primary,var(--ink));background:var(--merico-primary,var(--ink));color:var(--merico-on-primary,#ffffff);padding:calc(15px * var(--merico-space-scale,1)) calc(26px * var(--merico-space-scale,1));border-radius:var(--merico-radius,var(--radius));font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));min-height:48px}
.btn.secondary{background:#ffffff;color:var(--merico-primary,var(--ink))}
.btn:disabled{opacity:.4;cursor:not-allowed}
.link{display:inline-flex;gap:calc(25px * var(--merico-space-scale,1));font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));border:0;background:transparent;padding:calc(12px * var(--merico-space-scale,1)) 0;color:var(--merico-primary,var(--ink))}
.line{border-bottom:1px solid var(--line)}
label{font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650))}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{width:100%;padding:calc(13px * var(--merico-space-scale,1));border:1px solid #cfcfcf;background:#ffffff;border-radius:var(--merico-radius,var(--radius));margin:calc(8px * var(--merico-space-scale,1)) 0 calc(20px * var(--merico-space-scale,1))}
input[type=checkbox],input[type=radio]{accent-color:var(--merico-primary,var(--accent));width:19px;height:19px;vertical-align:middle;margin-right:calc(8px * var(--merico-space-scale,1))}
textarea{min-height:110px}
dialog{border:0;box-shadow:0 20px 100px #0003;border-radius:var(--merico-radius,10px);padding:calc(32px * var(--merico-space-scale,1));max-width:min(90vw,480px)}
dialog::backdrop{background:#1a1a1a70}
details{border-bottom:1px solid var(--line);padding:calc(20px * var(--merico-space-scale,1)) 0}
summary{font-weight:max(700,var(--merico-weight,700));line-height:1.7}
details p{margin:calc(16px * var(--merico-space-scale,1)) 0 0;color:var(--muted);font-size:calc(14px * var(--merico-type-scale,1))}
table{width:100%;border-collapse:collapse;font-size:calc(14px * var(--merico-type-scale,1))}
td,th{text-align:left;padding:calc(18px * var(--merico-space-scale,1));border-bottom:1px solid var(--line)}
th{background:var(--surface)}
.notice{padding:calc(15px * var(--merico-space-scale,1));background:var(--surface);font-size:calc(14px * var(--merico-type-scale,1));line-height:1.7}
.pill{display:inline-block;font-size:calc(12px * var(--merico-type-scale,1));border:1px solid var(--line);padding:calc(5px * var(--merico-space-scale,1)) calc(12px * var(--merico-space-scale,1));border-radius:var(--merico-radius,30px)}
.stack>*+*{margin-top:calc(20px * var(--merico-space-scale,1))}
[hidden]{display:none!important}
@media(max-width:600px){.grid{grid-template-columns:1fr}.pad{padding:calc(24px * var(--merico-space-scale,1))}.row{gap:calc(12px * var(--merico-space-scale,1))}h2{font-size:calc(26px * var(--merico-type-scale,1))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
:root{--ink:#363636;--accent:var(--merico-primary,#575757);--muted:#878787;--surface:#f3f3f3;--line:#e2e2e2;--radius:2px;font-family:var(--merico-font,"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,sans-serif);letter-spacing:.015em;font-synthesis:none}
body{color:var(--merico-text,var(--ink));-webkit-font-smoothing:antialiased}
h2{font-weight:max(750,var(--merico-weight,750));letter-spacing:-.035em;line-height:1.55;text-wrap:balance}
h3{font-weight:max(700,var(--merico-weight,700));letter-spacing:-.02em;line-height:1.65}
p{line-height:2.1;text-wrap:pretty}
.pad{padding:clamp(calc(32px * var(--merico-space-scale,1)),calc(6.5vw * var(--merico-space-scale,1)),calc(72px * var(--merico-space-scale,1)))}
.eyebrow{font-family:var(--merico-font,inherit);letter-spacing:.08em;font-weight:max(650,var(--merico-weight,650));font-size:calc(11px * var(--merico-type-scale,1));color:#838383;margin-bottom:calc(24px * var(--merico-space-scale,1))}
.muted{color:#8a8a8a}
.grid{gap:calc(35px * var(--merico-space-scale,1))}
.btn{min-height:54px;padding:calc(17px * var(--merico-space-scale,1)) calc(29px * var(--merico-space-scale,1));letter-spacing:.025em;border-radius:var(--merico-radius,2px);font-size:calc(13px * var(--merico-type-scale,1));gap:calc(30px * var(--merico-space-scale,1));transition:background .25s,color .25s,border-color .25s,transform .25s}
.btn:hover{background:#5e5e5e;border-color:#5e5e5e}
.btn.secondary{border-color:#cdcdcd}
.btn.secondary:hover{background:#f2f2f2;color:#363636;border-color:#ababab}
.btn:active{transform:translateY(1px)}
.link{font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650));gap:calc(30px * var(--merico-space-scale,1));padding:calc(13px * var(--merico-space-scale,1)) 0;letter-spacing:.025em;transition:color .25s}
.link:hover{color:#808080}
.pill{font-size:calc(11px * var(--merico-type-scale,1));letter-spacing:.015em;border-radius:var(--merico-radius,2px);padding:calc(5px * var(--merico-space-scale,1)) calc(11px * var(--merico-space-scale,1));border-color:#dcdcdc}
.notice{background:#f3f3f3;padding:calc(22px * var(--merico-space-scale,1))}
.required{font-size:calc(10px * var(--merico-type-scale,1))!important;font-weight:max(550,var(--merico-weight,550));letter-spacing:.03em}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{border-color:#dcdcdc;border-radius:var(--merico-radius,2px);padding:calc(16px * var(--merico-space-scale,1));background:#f9f9f9;margin-top:calc(13px * var(--merico-space-scale,1));font-size:calc(14px * var(--merico-type-scale,1));transition:border-color .2s,background .2s}
input:focus,select:focus,textarea:focus{border-color:#959595!important;background:#ffffff!important;outline:2px solid #e6e6e6;outline-offset:2px}
input::placeholder,textarea::placeholder{color:#ababab}
label{font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650))}
td,th{padding:calc(22px * var(--merico-space-scale,1));line-height:1.9;font-size:calc(13px * var(--merico-type-scale,1))}
th{background:#f3f3f3}
dialog{border-radius:var(--merico-radius,4px);padding:calc(38px * var(--merico-space-scale,1));color:var(--merico-text,var(--ink));box-shadow:0 20px 80px #2c2c2c30}
dialog::backdrop{background:#28282860}
details{padding:calc(24px * var(--merico-space-scale,1)) 0}
details p{line-height:2.1}
summary{font-size:calc(14px * var(--merico-type-scale,1))}
.warning{background:#f3f3f3!important;border-color:#7d7d7d!important}
.error-state{background:#f6f6f6!important;border-color:#dcdcdc!important}
.banner.info{background:#f3f3f3!important}
*:focus-visible{outline:2px solid #8c8c8c;outline-offset:5px}
@media(max-width:600px){.pad{padding:calc(32px * var(--merico-space-scale,1)) calc(24px * var(--merico-space-scale,1))}.grid{gap:calc(28px * var(--merico-space-scale,1))}h2{font-size:calc(27px * var(--merico-type-scale,1));line-height:1.65}.btn{min-height:52px;font-size:calc(13px * var(--merico-type-scale,1))}}
:root{--ink:#222222;--accent:var(--merico-primary,#333333);--muted:#666666;--surface:#f5f5f5;--line:#dddddd}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(22px * var(--merico-space-scale,1))}
.card{display:block;position:relative}
.card img{height:160px;width:100%;transition:filter .3s}
.card:hover img{filter:brightness(.85)}
.card>div{padding-top:calc(18px * var(--merico-space-scale,1))}
.card small{font-size:calc(12px * var(--merico-type-scale,1));color:var(--muted)}
.card h3{font-size:calc(18px * var(--merico-type-scale,1));margin:calc(9px * var(--merico-space-scale,1)) 0 calc(12px * var(--merico-space-scale,1))}
.card p{font-size:calc(13px * var(--merico-type-scale,1));color:var(--muted)}
.card-arrow{font-size:calc(24px * var(--merico-type-scale,1))}
.border .card{border:1px solid var(--line);border-radius:var(--merico-radius,8px);overflow:hidden}
.border .card>div{padding:calc(20px * var(--merico-space-scale,1))}
.horizontal{grid-template-columns:1fr}
.horizontal .card{display:grid;grid-template-columns:140px 1fr;gap:calc(24px * var(--merico-space-scale,1));border-bottom:1px solid var(--line);padding-bottom:calc(20px * var(--merico-space-scale,1))}
.horizontal img{height:105px}
.horizontal .card>div{padding:0}
.horizontal p{display:none}
.horizontal .card-arrow{position:absolute;right:0;top:35px}
.overlay .card img{height:275px;filter:brightness(.65)}
.overlay .card>div{position:absolute;inset:auto 22px 22px;color:white}
.overlay small,.overlay p{color:white}
.number .num{font-size:calc(45px * var(--merico-type-scale,1));font-weight:max(800,var(--merico-weight,800));color:var(--merico-text,var(--accent))}
.number .card{border-top:3px solid var(--ink);padding-top:calc(20px * var(--merico-space-scale,1))}
@media(max-width:600px){.cards{grid-template-columns:1fr}.image .card,.border .card{max-width:420px}.horizontal .card{grid-template-columns:100px 1fr}.horizontal img{height:90px}.horizontal .card-arrow{display:none}}
.cards{gap:calc(28px * var(--merico-space-scale,1))}
.card{overflow:hidden}
.card img{height:190px;transition:transform .7s,filter .5s}
.card:hover img{filter:brightness(.96);transform:scale(1.025)}
.card>div{padding-top:calc(24px * var(--merico-space-scale,1))}
.card small{font-size:calc(12px * var(--merico-type-scale,1));color:#979797;letter-spacing:.045em}
.card h3{font-size:calc(18px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));line-height:1.65;margin:calc(11px * var(--merico-space-scale,1)) 0 calc(15px * var(--merico-space-scale,1))}
.card p{font-size:calc(12px * var(--merico-type-scale,1));line-height:2.05;color:#7a7a7a}
.card-arrow{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #d4d4d4;border-radius:50%;font-size:calc(16px * var(--merico-type-scale,1));color:#616161;margin-top:calc(10px * var(--merico-space-scale,1));transition:background .25s,color .25s}
.card:hover .card-arrow{background:#4d4d4d;color:white;border-color:#4d4d4d}
.border .card{border-radius:var(--merico-radius,3px);border-color:#e3e3e3}
.border .card>div{padding:calc(23px * var(--merico-space-scale,1))}
.horizontal .card{grid-template-columns:180px 1fr;gap:calc(30px * var(--merico-space-scale,1));padding-bottom:calc(25px * var(--merico-space-scale,1))}
.horizontal img{height:120px}
.horizontal .card-arrow{right:12px;top:30px}
.overlay .card img{height:320px;filter:brightness(.72)}
.overlay .card:hover img{filter:brightness(.8)}
.overlay .card>div{left:25px;right:25px;bottom:30px}
.overlay .card h3{font-size:calc(21px * var(--merico-type-scale,1))}
.overlay .card-arrow{border-color:#ffffff66;color:white}
.number .num{font-family:var(--merico-font,Inter,sans-serif);font-weight:max(400,var(--merico-weight,400));color:#8f8f8f;font-size:calc(43px * var(--merico-type-scale,1))}
.number .card{border-top:1px solid #bdbdbd;padding-top:calc(25px * var(--merico-space-scale,1))}
.person{gap:calc(50px * var(--merico-space-scale,1));grid-template-columns:43% 1fr}
.person img{height:345px;object-position:66% center}
.person h3{font-size:calc(29px * var(--merico-type-scale,1));line-height:1.8;margin:calc(25px * var(--merico-space-scale,1)) 0}
.person .pill{border:0;padding:0;font-size:calc(12px * var(--merico-type-scale,1));color:#969696}
.person p{font-size:calc(13px * var(--merico-type-scale,1))}
.person p small{font-size:calc(12px * var(--merico-type-scale,1));color:#7a7a7a}
@media(max-width:600px){.cards{gap:calc(35px * var(--merico-space-scale,1))}.card img{height:225px}.horizontal .card{grid-template-columns:110px 1fr;gap:calc(22px * var(--merico-space-scale,1))}.horizontal img{height:100px}.horizontal .card h3{font-size:calc(16px * var(--merico-type-scale,1))}.person{grid-template-columns:1fr;gap:calc(27px * var(--merico-space-scale,1))}.person img{height:250px}.person h3{font-size:calc(24px * var(--merico-type-scale,1))}.overlay .card img{height:300px}}
.ui-arrow{width:24px;height:24px;flex-shrink:0;vertical-align:middle}
.section-intro{margin-bottom:calc(42px * var(--merico-space-scale,1))}
.section-label{display:flex;align-items:center;gap:calc(20px * var(--merico-space-scale,1));font-size:calc(12px * var(--merico-type-scale,1));font-weight:max(500,var(--merico-weight,500));letter-spacing:.06em;color:#555;margin:0 0 calc(24px * var(--merico-space-scale,1))}
.section-rule{width:24px;height:3px;background:currentColor;flex-shrink:0}
.section-intro h2{font-size:clamp(calc(28px * var(--merico-type-scale,1)),calc(3.8vw * var(--merico-type-scale,1)),calc(42px * var(--merico-type-scale,1)));font-weight:max(700,var(--merico-weight,700));letter-spacing:-.025em;line-height:1.65;margin:0}
.section-description{font-size:calc(13px * var(--merico-type-scale,1));line-height:2.15;color:#666;max-width:40em;margin:calc(24px * var(--merico-space-scale,1)) 0 0}
.finish-link{display:inline-flex;justify-content:space-between;align-items:center;gap:calc(45px * var(--merico-space-scale,1));padding:calc(17px * var(--merico-space-scale,1)) 0;border-bottom:1px solid var(--merico-primary,#222);font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));transition:gap .3s}
.finish-link:hover{gap:calc(55px * var(--merico-space-scale,1))}
.finish-link .ui-arrow{width:20px}
.finish-note{font-size:calc(12px * var(--merico-type-scale,1));color:#666;line-height:1.9}
.finish-number{font:500 calc(12px * var(--merico-type-scale,1))/1.5 var(--merico-font,Inter,sans-serif);font-weight:max(500,var(--merico-weight,500));letter-spacing:.05em;color:#777}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--merico-primary,#333);outline-offset:5px}
a,button{touch-action:manipulation}
@media(max-width:600px){.section-intro{margin-bottom:calc(30px * var(--merico-space-scale,1))}.section-intro h2{font-size:calc(29px * var(--merico-type-scale,1))}.section-label{font-size:calc(12px * var(--merico-type-scale,1));gap:calc(16px * var(--merico-space-scale,1));margin-bottom:calc(20px * var(--merico-space-scale,1))}.section-description{font-size:calc(13px * var(--merico-type-scale,1));line-height:2.1}.finish-link{gap:calc(30px * var(--merico-space-scale,1))}}
.card p{color:#5c5c5c}
.card small{color:#666}
.card h3{font-weight:max(600,var(--merico-weight,600))}
.cards:not(.overlay) .card-arrow{width:40px;height:40px;border-color:#999}
.cards:not(.overlay) .card:hover .card-arrow{background:#222;color:white;border-color:#222}
.card img{object-position:center}
.person img{object-position:72% center}
.card>div{padding-top:calc(26px * var(--merico-space-scale,1))}
.horizontal .card{border-bottom:1px solid #ddd}
.number .num{color:#999}
.border .card{border-color:#ddd;box-shadow:none}
:root{--text-primary:#222;--text-secondary:#5c5c5c;--text-caption:#666;--motion-ease:cubic-bezier(.22,.61,.36,1)}
body{line-break:strict;word-break:normal;overflow-wrap:break-word;text-rendering:optimizeLegibility}
h1,h2,h3{font-feature-settings:"palt" 1;line-break:strict;word-break:normal;letter-spacing:-.015em}
p{line-break:strict;letter-spacing:.025em}
button,input,select,textarea{font-feature-settings:normal}
button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:disabled{cursor:not-allowed}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.ed-copy,.section-description,.feature p:not(.eyebrow),.prose p,.prose li{font-size:calc(16px * var(--merico-type-scale,1));line-height:2;letter-spacing:.025em}
.ed-caption,.finish-note,figcaption,.caption-figure figcaption,.opening figcaption,.office-layout figcaption,.inset-media small,.file-list small{font-size:calc(12px * var(--merico-type-scale,1));line-height:1.9;color:var(--text-caption)}
.btn,.link,.finish-link,.ed-link,.crafted{font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));line-height:1.7;letter-spacing:.025em;min-height:48px}
.btn{gap:calc(24px * var(--merico-space-scale,1))}
.precision-arrow{display:block;width:22px;height:22px;flex:0 0 auto}
.precision-arrow.left{transform:rotate(180deg)}
.precision-arrow.down{transform:rotate(90deg)}
.precision-arrow.external{transform:rotate(-45deg)}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:calc(16px * var(--merico-type-scale,1));line-height:1.7;border-color:#aaa;background:white;color:var(--merico-primary,#222);max-width:100%}
input::placeholder,textarea::placeholder{color:#707070}
input[type=checkbox],input[type=radio]{width:20px;height:20px;flex-shrink:0;accent-color:var(--merico-primary,#333)}
label{font-size:calc(14px * var(--merico-type-scale,1));line-height:1.9}
.eyebrow,.pill{font-size:calc(12px * var(--merico-type-scale,1))}
.required{font-size:calc(12px * var(--merico-type-scale,1))!important}
.required,.field-caption label span{font-size:calc(12px * var(--merico-type-scale,1));line-height:1.5}
table{font-variant-numeric:tabular-nums}
table td,table th{font-size:calc(14px * var(--merico-type-scale,1));line-height:1.9}
td.num{white-space:nowrap}
.table-scroll,.table-wrap{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#aaa #f4f4f4}
.table-scroll:focus-visible,.table-wrap:focus-visible{outline:2px solid #555;outline-offset:5px}
.card:focus-visible,.corner-link:focus-visible,.hover-card:focus-visible{outline-offset:7px}
.card:focus-visible .card-arrow{background:#222;color:white}
.btn:active:not(:disabled),.crafted:active:not(:disabled){transform:translateY(1px)}
@media(max-width:600px){.pad,.editorial{padding-inline:calc(24px * var(--merico-space-scale,1))}.ed-copy,.section-description,.feature p:not(.eyebrow),.prose p,.prose li{font-size:calc(15px * var(--merico-type-scale,1));line-height:2}.btn,.link,.finish-link,.ed-link{font-size:calc(14px * var(--merico-type-scale,1))}.section-intro h2{font-size:calc(28px * var(--merico-type-scale,1));line-height:1.65}h2{text-wrap:pretty}.row{column-gap:calc(16px * var(--merico-space-scale,1));row-gap:calc(14px * var(--merico-space-scale,1))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.cards{align-items:stretch;gap:calc(30px * var(--merico-space-scale,1))}
.cards .card{display:flex;flex-direction:column;position:relative;min-width:0}
.cards .card>div{display:flex;flex-direction:column;flex:1}
.cards .card h3{font-size:calc(21px * var(--merico-type-scale,1));line-height:1.7;margin:calc(12px * var(--merico-space-scale,1)) 0 calc(15px * var(--merico-space-scale,1))}
.cards .card p{font-size:calc(14px * var(--merico-type-scale,1));line-height:2;margin-bottom:calc(20px * var(--merico-space-scale,1))}
.cards .card small{font-size:calc(12px * var(--merico-type-scale,1));color:#666}
.cards .card-arrow{margin-top:auto;flex:0 0 auto}
.cards.overlay .card{display:block;isolation:isolate}
.cards.overlay .card:after{content:"";position:absolute;inset:25% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none;z-index:0}
.cards.overlay .card>div{z-index:1}
.cards.overlay .card h3,.cards.overlay .card p,.cards.overlay .card small{color:white}
.cards.overlay .card-arrow{margin-top:calc(16px * var(--merico-space-scale,1));color:white;border-color:#fff9}
.cards.horizontal{display:grid;grid-template-columns:1fr}
.cards.horizontal .card{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:calc(30px * var(--merico-space-scale,1));padding:calc(26px * var(--merico-space-scale,1)) calc(70px * var(--merico-space-scale,1)) calc(26px * var(--merico-space-scale,1)) 0}
.cards.horizontal .card>div{padding:0}
.cards.horizontal .card-arrow{position:absolute;right:0;top:50%;transform:translateY(-50%)}
.cards.horizontal .card h3{margin-bottom:0}
.cards.number .num{font-size:calc(45px * var(--merico-type-scale,1));color:#888}
.person p{font-size:calc(15px * var(--merico-type-scale,1));line-height:2}
.person .pill{font-size:calc(12px * var(--merico-type-scale,1))}
.person h3{line-height:1.8}
.person img{object-position:69% center}
@media(max-width:600px){.cards .card h3{font-size:calc(21px * var(--merico-type-scale,1))}.cards .card p{font-size:calc(14px * var(--merico-type-scale,1))}.cards.horizontal .card{grid-template-columns:90px 1fr;gap:calc(20px * var(--merico-space-scale,1));padding-right:calc(40px * var(--merico-space-scale,1))}.cards.horizontal .card h3{font-size:calc(17px * var(--merico-type-scale,1))}.cards.horizontal img{width:90px;height:96px}.cards.horizontal .card-arrow{width:30px;height:30px}.person p{font-size:calc(15px * var(--merico-type-scale,1))}}
small,figcaption,time,.ed-caption,.finish-note,.muted,.vertical-note,.footer-bottom,.footer-main p,.toggle-links small,.file-list small,.field-caption small,#email-help,#counter,#file-help,[data-file],[data-result]{font-weight:max(500,var(--merico-weight,500))}
.eyebrow,.kicker,.section-label,.pill,.state-label,.required,.field-caption label span,.tag-filter button,.filters button,.controls,.crumb,.steps li,.local-nav a,fieldset legend{font-weight:max(600,var(--merico-weight,600))}
.shape-grid small,.decision-block .finish-note,.field-caption small,.tab-index{color:#555}
.decision-block li{font-weight:max(500,var(--merico-weight,500));font-size:calc(14px * var(--merico-type-scale,1))}
.tag-filter button:hover:not([aria-pressed=true]){background:#f3f3f3;border-color:#777}
.tag-filter button{transition:background .18s,border-color .18s}
/* 内容幅 + 対称の余白。親のカラム幅まで無条件に広げない。 */
.btn.ui-button,.crafted.ui-button{position:relative;display:inline-flex;align-items:center;justify-content:center!important;align-self:flex-start;flex:0 0 auto;box-sizing:border-box;width:max-content!important;min-width:0!important;max-width:100%;min-height:52px;padding:calc(13px * var(--merico-space-scale,1)) calc(26px * var(--merico-space-scale,1))!important;gap:0!important;font-size:calc(14px * var(--merico-type-scale,1))!important;font-weight:max(600,var(--merico-weight,600));line-height:1.7;letter-spacing:.015em;text-align:center!important;vertical-align:middle}
.btn.ui-button:has(>.action-label),.crafted.ui-button:has(>.action-label){display:inline-grid;grid-template-columns:18px minmax(0,1fr) 18px;column-gap:calc(12px * var(--merico-space-scale,1))!important}
.ui-button:has(>.action-label):before{content:"";grid-column:1;grid-row:1}
.ui-button>.action-label{grid-column:2;grid-row:1;display:block;min-width:0;text-align:center;line-height:1.7}
.ui-button>.action-icon{position:static!important;grid-column:3;grid-row:1;width:18px!important;height:18px;display:block;flex:0 0 auto;transition:translate .2s ease;transform:none}
.ui-button:hover>.action-icon{translate:3px 0}
.ui-button>.action-icon.down{transform:rotate(90deg)}
.ui-button:hover>.action-icon.down{translate:0 3px}
.ui-button>.action-icon.external{transform:rotate(-45deg)}
.ui-button:hover>.action-icon.external{translate:2px -2px}
.ui-button:disabled{cursor:not-allowed}
.ui-button:disabled:hover>.action-icon{translate:0 0}
.ui-button:disabled:hover{transform:none}
.button-context .crafted.ui-button{min-height:54px;padding:calc(14px * var(--merico-space-scale,1)) calc(24px * var(--merico-space-scale,1))!important;max-width:100%}
.button-context .crafted.ui-button small{font-size:calc(12px * var(--merico-type-scale,1));margin:0 0 calc(4px * var(--merico-space-scale,1));line-height:1.6}
.button-context .crafted.ui-button b{font-size:calc(16px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));line-height:1.7}
.button-context>div,.button-context>aside,.suri-demo>div{min-width:0}
.suri-demo{grid-template-columns:repeat(2,minmax(0,1fr))}
.shape-grid{gap:calc(26px * var(--merico-space-scale,1))}
.shape-grid .btn.ui-button{width:min(100%,208px)!important;min-height:52px;padding-inline:calc(17px * var(--merico-space-scale,1))!important}
.shape-grid>div{align-items:flex-start}
.decision-actions{gap:calc(12px * var(--merico-space-scale,1))}
.decision-actions .btn.ui-button{padding-inline:calc(19px * var(--merico-space-scale,1))!important;min-height:52px}
.decision-block .finish-note{max-width:36em}
.utility-row .btn.ui-button{min-width:168px!important;padding-inline:calc(20px * var(--merico-space-scale,1))!important}
.settings-row .btn.ui-button{min-height:48px;padding-inline:calc(23px * var(--merico-space-scale,1))!important}
.cta .btn.ui-button,.footer-cta .btn.ui-button{padding-inline:calc(23px * var(--merico-space-scale,1))!important;align-self:center}
.pricing .btn.ui-button{align-self:center;min-height:48px;padding-inline:calc(20px * var(--merico-space-scale,1))!important}
.photo-hero .btn.ui-button,.suri-demo .btn.ui-button{padding-inline:calc(22px * var(--merico-space-scale,1))!important}
form .btn.ui-button{min-height:50px}
.dropdown>.btn.ui-button{min-height:48px;padding-inline:calc(22px * var(--merico-space-scale,1))!important}
@media(max-width:600px){.button-context,.suri-demo{grid-template-columns:minmax(0,1fr)}.btn.ui-button,.crafted.ui-button{font-size:calc(13px * var(--merico-type-scale,1))!important;padding-inline:calc(18px * var(--merico-space-scale,1))!important;min-height:50px}.button-context .crafted.ui-button{padding-inline:calc(18px * var(--merico-space-scale,1))!important;min-height:52px;column-gap:calc(10px * var(--merico-space-scale,1))!important}.button-context .crafted.ui-button b{font-size:calc(15px * var(--merico-type-scale,1))}.decision-actions .btn.ui-button{padding-inline:calc(17px * var(--merico-space-scale,1))!important}.cta .btn.ui-button{align-self:flex-start}.shape-grid{gap:calc(28px * var(--merico-space-scale,1))}.shape-grid .btn.ui-button{width:min(100%,208px)!important}.pricing .btn.ui-button{align-self:flex-start}.utility-row .btn.ui-button{width:max-content!important}.settings-row .btn.ui-button{padding-inline:calc(20px * var(--merico-space-scale,1))!important}}
/* 本文500・補足600・操作700。小さい文字を細くして階層を作らない。 */
body{font-weight:max(500,var(--merico-weight,500))}
p{letter-spacing:.015em}
h2,h3{letter-spacing:-.015em}
.ed-copy,.section-description{font-weight:max(500,var(--merico-weight,500));line-height:1.95}
.ed-caption,.finish-note,figcaption{font-weight:max(600,var(--merico-weight,600));letter-spacing:.015em}
.kicker,.section-label,.eyebrow{font-weight:max(700,var(--merico-weight,700))}
.btn,.link,.finish-link,.ed-link,.crafted{font-weight:max(700,var(--merico-weight,700))}
input,textarea,select{font-weight:max(500,var(--merico-weight,500))}
button{letter-spacing:.015em}
:where(a,button,summary):focus-visible{outline-width:2px;outline-offset:5px}
/* 空の操作結果は余白を予約しない。通知が出たときだけ一段増やします。 */
p[role=status]:empty,p[data-result]:empty,.button-feedback:empty,.shape-feedback:empty{display:none}
.cards .card img{height:auto;aspect-ratio:1.55}
.cards .card small{font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));color:#555}
.cards .card h3{font-size:calc(21px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));line-height:1.6;margin:calc(12px * var(--merico-space-scale,1)) 0 calc(14px * var(--merico-space-scale,1))}
.cards .card p{font-size:calc(15px * var(--merico-type-scale,1));font-weight:max(500,var(--merico-weight,500));line-height:1.9;color:#444}
.cards .card-arrow{width:44px;height:44px;border-color:#777}
.cards .card:hover h3{text-decoration:underline;text-underline-offset:5px}
/* 日本語の禁則と操作の触感。細い文字や過剰な装飾に頼らず情報を分けます。 */
:root{--craft-ease:cubic-bezier(.22,1,.36,1);--craft-line:#dedfe1;--craft-soft:#f5f6f7}
body{line-break:strict;overflow-wrap:break-word;text-rendering:optimizeLegibility}
h1,h2,h3{font-feature-settings:"palt";text-wrap:pretty}
p{hanging-punctuation:allow-end}
button,a,summary,input,textarea,select{-webkit-tap-highlight-color:transparent}
:where(button,a,summary){transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}
:where(button,a,summary):focus-visible{outline:2px solid var(--merico-primary,var(--ink));outline-offset:5px}
:where(input,textarea,select):focus-visible{outline:2px solid var(--merico-primary,var(--accent));outline-offset:3px}
.btn.ui-button{min-height:52px;padding-inline:calc(24px * var(--merico-space-scale,1))!important;font-weight:max(700,var(--merico-weight,700));letter-spacing:.025em}
.btn.ui-button:not(:disabled):active{translate:0 1px}
.btn.ui-button>.action-icon{transition:translate .32s var(--craft-ease)}
.btn.secondary{border-color:#acafb3;background:white}
.link,.ed-link,.finish-link{min-height:44px;align-items:center;max-width:100%;line-height:1.65}
.ed-copy,.section-description{font-size:calc(16px * var(--merico-type-scale,1));line-height:1.95;letter-spacing:.025em}
.kicker,.section-label,.eyebrow{letter-spacing:.065em}
.craft-icon{width:24px;height:24px;fill:currentColor;stroke:none;flex-shrink:0}
.craft-icon-box{display:grid;place-items:center;flex:0 0 auto;width:52px;height:52px;background:#f2f3f4;border-radius:var(--merico-radius,8px);color:var(--merico-text,#292929)}
.craft-icon-box .craft-icon{width:25px;height:25px}
:where(time,.finish-number,.num,.tab-index){font-variant-numeric:tabular-nums}
@media(hover:hover){.btn.ui-button:not(:disabled):hover{box-shadow:0 5px 14px #0000000b}.btn.secondary:not(:disabled):hover{border-color:var(--merico-primary,#222);background:#f5f6f7}}
@media(max-width:600px){.ed-copy,.section-description{font-size:calc(15px * var(--merico-type-scale,1));line-height:1.9}.btn.ui-button{min-height:50px;padding-inline:calc(20px * var(--merico-space-scale,1))!important}.section-intro h2{line-height:1.55}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.cards{gap:calc(28px * var(--merico-space-scale,1))}
.card{transition:box-shadow .3s var(--craft-ease),border-color .3s;background:var(--merico-background,#fff)}
.card img{transition:transform .65s var(--craft-ease),filter .4s;object-fit:cover}
.card h3{font-size:calc(21px * var(--merico-type-scale,1));line-height:1.65;letter-spacing:.015em}
.card p{font-size:calc(14px * var(--merico-type-scale,1));line-height:1.9}
.card small{font-size:calc(12px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));letter-spacing:.04em}
.card-arrow{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid #d9dce0;border-radius:50%;transition:background .3s,translate .3s}
.cards.image .card>div{padding-top:calc(24px * var(--merico-space-scale,1))}
.cards.border .card{border:1px solid #d4d7db;padding:calc(30px * var(--merico-space-scale,1));border-radius:var(--merico-radius,4px)}
.cards.horizontal .card{border-block:1px solid #d9dce0;padding-block:calc(24px * var(--merico-space-scale,1));gap:calc(28px * var(--merico-space-scale,1))}
.cards.overlay .card{isolation:isolate}
.cards.overlay .card:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#11182099);z-index:-1;pointer-events:none}
.cards.overlay .card-arrow{border-color:#ffffff80}
.cards.number .num{font-size:calc(14px * var(--merico-type-scale,1));letter-spacing:.08em;color:#737981;border-bottom:1px solid #d9dce0;padding-bottom:calc(20px * var(--merico-space-scale,1))}
.person{gap:calc(32px * var(--merico-space-scale,1))}
.person>img{aspect-ratio:4/5;object-fit:cover}
.person h3{font-size:calc(24px * var(--merico-type-scale,1));margin:calc(18px * var(--merico-space-scale,1)) 0}
.person p{font-size:calc(14px * var(--merico-type-scale,1));line-height:1.9}
.person .pill{font-size:calc(11px * var(--merico-type-scale,1));letter-spacing:.07em;border-radius:var(--merico-radius,2px)}
@media(hover:hover){.card:hover .card-arrow{background:#f0f2f4;translate:3px 0}.cards.border .card:hover{border-color:#555;box-shadow:0 12px 30px #00000008}.card:hover img{filter:brightness(1.03)}.cards.overlay .card:hover .card-arrow{background:#ffffff24}}
@media(max-width:600px){.cards{gap:calc(30px * var(--merico-space-scale,1))}.card h3{font-size:calc(20px * var(--merico-type-scale,1))}.cards.border .card{padding:calc(26px * var(--merico-space-scale,1))}.cards.horizontal .card{gap:calc(20px * var(--merico-space-scale,1))}.person{gap:calc(24px * var(--merico-space-scale,1))}}
/* 共通トークン。案件ごとに色・書体・角丸を変更できます。 */
:root{--ink:#272727;--accent:var(--merico-primary,#6f6f6f);--muted:#767676;--surface:#f6f6f6;--line:#e5e5e5;--radius:4px;font-family:var(--merico-font,-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif);color:var(--merico-text,var(--ink));font-size:16px}
*{box-sizing:border-box}
body{margin:0;background:var(--merico-background,white)}
button,input,select,textarea{font:inherit}
button,summary{cursor:pointer}
a{color:inherit;text-decoration:none}
button,a,input,summary,textarea,select{outline-offset:4px}
img{max-width:100%;display:block;object-fit:cover}
h1,h2,h3,p{margin-top:0}
h2{font-size:clamp(calc(24px * var(--merico-type-scale,1)),calc(4vw * var(--merico-type-scale,1)),calc(38px * var(--merico-type-scale,1)));line-height:1.45;letter-spacing:-.03em}
h3{font-size:calc(20px * var(--merico-type-scale,1))}
p{line-height:1.9}
small{font-size:calc(12px * var(--merico-type-scale,1))}
.pad{padding:clamp(calc(24px * var(--merico-space-scale,1)),calc(5vw * var(--merico-space-scale,1)),calc(55px * var(--merico-space-scale,1)))}
.muted{color:var(--muted)}
.eyebrow{font-size:calc(12px * var(--merico-type-scale,1));font-weight:max(750,var(--merico-weight,750));letter-spacing:.12em;color:var(--merico-primary,var(--accent));margin-bottom:calc(14px * var(--merico-space-scale,1))}
.row{display:flex;gap:calc(16px * var(--merico-space-scale,1));align-items:center;flex-wrap:wrap}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(24px * var(--merico-space-scale,1))}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:calc(20px * var(--merico-space-scale,1));border:1px solid var(--merico-primary,var(--ink));background:var(--merico-primary,var(--ink));color:var(--merico-on-primary,#ffffff);padding:calc(15px * var(--merico-space-scale,1)) calc(26px * var(--merico-space-scale,1));border-radius:var(--merico-radius,var(--radius));font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));min-height:48px}
.btn.secondary{background:#ffffff;color:var(--merico-primary,var(--ink))}
.btn:disabled{opacity:.4;cursor:not-allowed}
.link{display:inline-flex;gap:calc(25px * var(--merico-space-scale,1));font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));border:0;background:transparent;padding:calc(12px * var(--merico-space-scale,1)) 0;color:var(--merico-primary,var(--ink))}
.line{border-bottom:1px solid var(--line)}
label{font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650))}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{width:100%;padding:calc(13px * var(--merico-space-scale,1));border:1px solid #cfcfcf;background:#ffffff;border-radius:var(--merico-radius,var(--radius));margin:calc(8px * var(--merico-space-scale,1)) 0 calc(20px * var(--merico-space-scale,1))}
input[type=checkbox],input[type=radio]{accent-color:var(--merico-primary,var(--accent));width:19px;height:19px;vertical-align:middle;margin-right:calc(8px * var(--merico-space-scale,1))}
textarea{min-height:110px}
dialog{border:0;box-shadow:0 20px 100px #0003;border-radius:var(--merico-radius,10px);padding:calc(32px * var(--merico-space-scale,1));max-width:min(90vw,480px)}
dialog::backdrop{background:#1a1a1a70}
details{border-bottom:1px solid var(--line);padding:calc(20px * var(--merico-space-scale,1)) 0}
summary{font-weight:max(700,var(--merico-weight,700));line-height:1.7}
details p{margin:calc(16px * var(--merico-space-scale,1)) 0 0;color:var(--muted);font-size:calc(14px * var(--merico-type-scale,1))}
table{width:100%;border-collapse:collapse;font-size:calc(14px * var(--merico-type-scale,1))}
td,th{text-align:left;padding:calc(18px * var(--merico-space-scale,1));border-bottom:1px solid var(--line)}
th{background:var(--surface)}
.notice{padding:calc(15px * var(--merico-space-scale,1));background:var(--surface);font-size:calc(14px * var(--merico-type-scale,1));line-height:1.7}
.pill{display:inline-block;font-size:calc(12px * var(--merico-type-scale,1));border:1px solid var(--line);padding:calc(5px * var(--merico-space-scale,1)) calc(12px * var(--merico-space-scale,1));border-radius:var(--merico-radius,30px)}
.stack>*+*{margin-top:calc(20px * var(--merico-space-scale,1))}
[hidden]{display:none!important}
@media(max-width:600px){.grid{grid-template-columns:1fr}.pad{padding:calc(24px * var(--merico-space-scale,1))}.row{gap:calc(12px * var(--merico-space-scale,1))}h2{font-size:calc(26px * var(--merico-type-scale,1))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
:root{--ink:#363636;--accent:var(--merico-primary,#575757);--muted:#878787;--surface:#f3f3f3;--line:#e2e2e2;--radius:2px;font-family:var(--merico-font,"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,sans-serif);letter-spacing:.015em;font-synthesis:none}
body{color:var(--merico-text,var(--ink));-webkit-font-smoothing:antialiased}
h2{font-weight:max(750,var(--merico-weight,750));letter-spacing:-.035em;line-height:1.55;text-wrap:balance}
h3{font-weight:max(700,var(--merico-weight,700));letter-spacing:-.02em;line-height:1.65}
p{line-height:2.1;text-wrap:pretty}
.pad{padding:clamp(calc(32px * var(--merico-space-scale,1)),calc(6.5vw * var(--merico-space-scale,1)),calc(72px * var(--merico-space-scale,1)))}
.eyebrow{font-family:var(--merico-font,inherit);letter-spacing:.08em;font-weight:max(650,var(--merico-weight,650));font-size:calc(11px * var(--merico-type-scale,1));color:#838383;margin-bottom:calc(24px * var(--merico-space-scale,1))}
.muted{color:#8a8a8a}
.grid{gap:calc(35px * var(--merico-space-scale,1))}
.btn{min-height:54px;padding:calc(17px * var(--merico-space-scale,1)) calc(29px * var(--merico-space-scale,1));letter-spacing:.025em;border-radius:var(--merico-radius,2px);font-size:calc(13px * var(--merico-type-scale,1));gap:calc(30px * var(--merico-space-scale,1));transition:background .25s,color .25s,border-color .25s,transform .25s}
.btn:hover{background:#5e5e5e;border-color:#5e5e5e}
.btn.secondary{border-color:#cdcdcd}
.btn.secondary:hover{background:#f2f2f2;color:#363636;border-color:#ababab}
.btn:active{transform:translateY(1px)}
.link{font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650));gap:calc(30px * var(--merico-space-scale,1));padding:calc(13px * var(--merico-space-scale,1)) 0;letter-spacing:.025em;transition:color .25s}
.link:hover{color:#808080}
.pill{font-size:calc(11px * var(--merico-type-scale,1));letter-spacing:.015em;border-radius:var(--merico-radius,2px);padding:calc(5px * var(--merico-space-scale,1)) calc(11px * var(--merico-space-scale,1));border-color:#dcdcdc}
.notice{background:#f3f3f3;padding:calc(22px * var(--merico-space-scale,1))}
.required{font-size:calc(10px * var(--merico-type-scale,1))!important;font-weight:max(550,var(--merico-weight,550));letter-spacing:.03em}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{border-color:#dcdcdc;border-radius:var(--merico-radius,2px);padding:calc(16px * var(--merico-space-scale,1));background:#f9f9f9;margin-top:calc(13px * var(--merico-space-scale,1));font-size:calc(14px * var(--merico-type-scale,1));transition:border-color .2s,background .2s}
input:focus,select:focus,textarea:focus{border-color:#959595!important;background:#ffffff!important;outline:2px solid #e6e6e6;outline-offset:2px}
input::placeholder,textarea::placeholder{color:#ababab}
label{font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650))}
td,th{padding:calc(22px * var(--merico-space-scale,1));line-height:1.9;font-size:calc(13px * var(--merico-type-scale,1))}
th{background:#f3f3f3}
dialog{border-radius:var(--merico-radius,4px);padding:calc(38px * var(--merico-space-scale,1));color:var(--merico-text,var(--ink));box-shadow:0 20px 80px #2c2c2c30}
dialog::backdrop{background:#28282860}
details{padding:calc(24px * var(--merico-space-scale,1)) 0}
details p{line-height:2.1}
summary{font-size:calc(14px * var(--merico-type-scale,1))}
.warning{background:#f3f3f3!important;border-color:#7d7d7d!important}
.error-state{background:#f6f6f6!important;border-color:#dcdcdc!important}
.banner.info{background:#f3f3f3!important}
*:focus-visible{outline:2px solid #8c8c8c;outline-offset:5px}
@media(max-width:600px){.pad{padding:calc(32px * var(--merico-space-scale,1)) calc(24px * var(--merico-space-scale,1))}.grid{gap:calc(28px * var(--merico-space-scale,1))}h2{font-size:calc(27px * var(--merico-type-scale,1));line-height:1.65}.btn{min-height:52px;font-size:calc(13px * var(--merico-type-scale,1))}}
:root{--ink:#222222;--accent:var(--merico-primary,#333333);--muted:#666666;--surface:#f5f5f5;--line:#dddddd}
/* このセクション内だけに適用。主色と派生色は共通／個別設定に連動します。 */
.biz{--biz-brand:var(--merico-primary,#2454ae);--biz-on:var(--merico-on-primary,#fff);--biz-tint:color-mix(in srgb,var(--biz-brand) 6%,white);--biz-line:color-mix(in srgb,var(--biz-brand) 22%,white);color:var(--merico-text,#252a34);background:var(--merico-background,#fff);font-family:var(--merico-font,var(--merico-font,Inter,'Noto Sans JP','Hiragino Kaku Gothic ProN',Meiryo,sans-serif));font-size:calc(16px * var(--merico-type-scale,1));font-weight:max(500,var(--merico-weight,500));line-height:1.85;line-break:strict;overflow-wrap:break-word;padding:clamp(calc(32px * var(--merico-space-scale,1)),calc(5vw * var(--merico-space-scale,1)),calc(64px * var(--merico-space-scale,1)));isolation:isolate}
.biz *{box-sizing:border-box}
.biz :where(h2,h3,h4,p,figure,dl){margin:0}
.biz :where(h2,h3,h4){font-weight:max(750,var(--merico-weight,750));font-feature-settings:'palt';text-wrap:pretty}
.biz :where(ul,ol){margin:0;padding:0;list-style:none}
.biz h2{font-size:clamp(calc(26px * var(--merico-type-scale,1)),calc(3.4vw * var(--merico-type-scale,1)),calc(38px * var(--merico-type-scale,1)));line-height:1.55;letter-spacing:.02em}
.biz h3{font-size:calc(22px * var(--merico-type-scale,1));line-height:1.6;letter-spacing:.025em}
.biz h4{font-size:calc(17px * var(--merico-type-scale,1));line-height:1.7}
.biz p{font-size:calc(15px * var(--merico-type-scale,1));line-height:1.95}
.biz small{font-size:calc(12px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));line-height:1.8}
.biz a{color:inherit}
.biz-icon{width:24px;height:24px;display:block;flex:0 0 auto;fill:currentColor;stroke:none}
.biz-lead{text-align:center;max-width:740px;margin:0 auto calc(44px * var(--merico-space-scale,1))}
.biz-lead>p{margin-top:calc(16px * var(--merico-space-scale,1));color:#5c636f;font-size:calc(14px * var(--merico-type-scale,1))}
.biz-eyebrow{display:flex;align-items:center;justify-content:center;gap:calc(10px * var(--merico-space-scale,1));font-size:calc(12px * var(--merico-type-scale,1));font-weight:max(750,var(--merico-weight,750));letter-spacing:.1em;color:var(--biz-brand);margin-bottom:calc(16px * var(--merico-space-scale,1))}
.biz-eyebrow:before{content:'';width:24px;height:3px;background:currentColor}
.biz h2 em,.biz h3 em{font-style:normal;color:var(--biz-brand)}
.biz-note{font-size:calc(12px * var(--merico-type-scale,1))!important;color:#656d79;line-height:1.85!important;margin-top:calc(22px * var(--merico-space-scale,1))!important}
.biz-button{display:inline-grid;grid-template-columns:18px minmax(0,1fr) 18px;align-items:center;justify-items:center;gap:calc(14px * var(--merico-space-scale,1));background:var(--biz-brand);color:var(--biz-on)!important;border:1px solid var(--biz-brand);border-radius:var(--merico-radius,4px);padding:calc(15px * var(--merico-space-scale,1)) calc(20px * var(--merico-space-scale,1));min-height:54px;max-width:100%;font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(750,var(--merico-weight,750));line-height:1.6;text-align:center;text-decoration:none;cursor:pointer;transition:background .22s,box-shadow .22s,translate .22s}
.biz-button:before{content:''}
.biz-button>.biz-icon{width:18px;height:18px;transition:translate .25s}
.biz-button.outline{background:#fff;color:var(--biz-brand)!important;border-color:var(--biz-line)}
.biz-button:hover{box-shadow:0 5px 14px #172b4b18;translate:0 -1px}
.biz-button:hover>.biz-icon{translate:3px 0}
.biz-button:active{translate:0 1px;box-shadow:none}
.biz :is(a,button,summary):focus-visible{outline:3px solid var(--biz-brand);outline-offset:5px}
.biz-summary{margin-top:calc(24px * var(--merico-space-scale,1));padding:calc(18px * var(--merico-space-scale,1)) calc(22px * var(--merico-space-scale,1));border-left:3px solid var(--biz-brand);background:var(--biz-tint);font-size:calc(13px * var(--merico-type-scale,1))}
.biz-highlight{background:linear-gradient(transparent 63%,#f4db787a 63%);box-decoration-break:clone;-webkit-box-decoration-break:clone;padding-bottom:calc(3px * var(--merico-space-scale,1))}
.biz dialog{background:var(--merico-background,#fff);color:#252a34;width:min(520px,calc(100vw - 32px));max-width:calc(100vw - 32px);border:1px solid #d7dce4;border-radius:var(--merico-radius,10px);padding:calc(32px * var(--merico-space-scale,1));box-shadow:0 24px 70px #0003}
.biz dialog::backdrop{background:#0e193566;backdrop-filter:blur(3px)}
.biz dialog h3{margin:calc(12px * var(--merico-space-scale,1)) 0 calc(18px * var(--merico-space-scale,1))}
.biz dialog p{font-size:calc(14px * var(--merico-type-scale,1))}
.biz dialog .biz-button{margin-top:calc(24px * var(--merico-space-scale,1));width:100%}
@media(max-width:600px){.biz{padding:calc(36px * var(--merico-space-scale,1)) calc(24px * var(--merico-space-scale,1))}.biz-lead{margin-bottom:calc(32px * var(--merico-space-scale,1))}.biz-lead h2 em{display:inline-block;max-width:100%}.biz h2{font-size:calc(27px * var(--merico-type-scale,1))}.biz h3{font-size:calc(21px * var(--merico-type-scale,1))}.biz p{font-size:calc(14px * var(--merico-type-scale,1))}.biz-button{min-height:50px;padding:calc(13px * var(--merico-space-scale,1)) calc(16px * var(--merico-space-scale,1));font-size:calc(13px * var(--merico-type-scale,1));gap:calc(10px * var(--merico-space-scale,1))}.biz-note{font-size:calc(12px * var(--merico-type-scale,1))!important}.biz dialog{padding:calc(26px * var(--merico-space-scale,1)) calc(22px * var(--merico-space-scale,1))}}
@media(prefers-reduced-motion:reduce){.biz *, .biz *:before,.biz *:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.biz-process{background:var(--biz-tint)}
.biz-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(38px * var(--merico-space-scale,1));padding-top:calc(23px * var(--merico-space-scale,1))!important}
.biz-steps>li{position:relative;border:2px solid var(--biz-brand);border-radius:var(--merico-radius,12px);background:var(--merico-background,#fff);padding:calc(46px * var(--merico-space-scale,1)) calc(27px * var(--merico-space-scale,1)) calc(28px * var(--merico-space-scale,1));text-align:center;display:flex;flex-direction:column;align-items:center}
.biz-step-pill{position:absolute;top:-22px;left:50%;translate:-50% 0;background:var(--biz-brand);color:var(--biz-on);padding:calc(4px * var(--merico-space-scale,1)) calc(22px * var(--merico-space-scale,1));border:4px solid var(--biz-tint);border-radius:var(--merico-radius,40px);font-size:calc(12px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));white-space:nowrap;line-height:1.5}
.biz-step-pill b{font-size:calc(24px * var(--merico-type-scale,1));margin-left:calc(5px * var(--merico-space-scale,1));font-weight:max(700,var(--merico-weight,700))}
.biz-step-icon{width:76px;height:76px;border-radius:50%;background:var(--biz-tint);color:var(--biz-brand);display:grid;place-items:center;margin-bottom:calc(22px * var(--merico-space-scale,1))}
.biz-step-icon .biz-icon{width:40px;height:40px}
.biz-steps small{font-size:calc(12px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));letter-spacing:.08em;color:#6b7482;margin-bottom:calc(8px * var(--merico-space-scale,1))}
.biz-steps h3{font-size:calc(21px * var(--merico-type-scale,1));color:var(--biz-brand);margin-bottom:calc(18px * var(--merico-space-scale,1))}
.biz-steps p{text-align:left;font-size:calc(13px * var(--merico-type-scale,1));line-height:1.95;flex:1}
.biz-steps>li:not(:last-child):after{content:'';position:absolute;right:-28px;top:calc(50% - 7px);width:13px;height:13px;border-right:3px solid var(--biz-brand);border-top:3px solid var(--biz-brand);rotate:45deg}
.biz-inline-link{display:inline-flex;align-items:center;gap:calc(12px * var(--merico-space-scale,1));font-size:calc(12px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));color:var(--biz-brand)!important;border-bottom:1px solid currentColor;padding-bottom:calc(5px * var(--merico-space-scale,1));margin-top:calc(20px * var(--merico-space-scale,1))}
.biz-inline-link>.biz-icon{width:15px;height:15px}
.biz-process-note{display:flex;justify-content:center;align-items:center;gap:calc(10px * var(--merico-space-scale,1));font-size:calc(12px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650));color:#5d6878;margin-top:calc(30px * var(--merico-space-scale,1))}
.biz-process-note .biz-icon{width:20px;height:20px;color:var(--biz-brand)}
@media(max-width:760px){.biz-steps{grid-template-columns:1fr;gap:calc(54px * var(--merico-space-scale,1));max-width:480px;margin-inline:auto!important}.biz-steps>li{padding:calc(40px * var(--merico-space-scale,1)) calc(28px * var(--merico-space-scale,1)) calc(28px * var(--merico-space-scale,1))}.biz-steps>li:not(:last-child):after{right:calc(50% - 6px);top:auto;bottom:-29px;rotate:135deg}.biz-steps p{max-width:32em}.biz-process-note{align-items:start;font-size:calc(12px * var(--merico-type-scale,1))}.biz-steps h3{font-size:calc(22px * var(--merico-type-scale,1))}}
/* 共通トークン。案件ごとに色・書体・角丸を変更できます。 */
:root{--ink:#272727;--accent:var(--merico-primary,#6f6f6f);--muted:#767676;--surface:#f6f6f6;--line:#e5e5e5;--radius:4px;font-family:var(--merico-font,-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif);color:var(--merico-text,var(--ink));font-size:16px}
*{box-sizing:border-box}
body{margin:0;background:var(--merico-background,white)}
button,input,select,textarea{font:inherit}
button,summary{cursor:pointer}
a{color:inherit;text-decoration:none}
button,a,input,summary,textarea,select{outline-offset:4px}
img{max-width:100%;display:block;object-fit:cover}
h1,h2,h3,p{margin-top:0}
h2{font-size:clamp(calc(24px * var(--merico-type-scale,1)),calc(4vw * var(--merico-type-scale,1)),calc(38px * var(--merico-type-scale,1)));line-height:1.45;letter-spacing:-.03em}
h3{font-size:calc(20px * var(--merico-type-scale,1))}
p{line-height:1.9}
small{font-size:calc(12px * var(--merico-type-scale,1))}
.pad{padding:clamp(calc(24px * var(--merico-space-scale,1)),calc(5vw * var(--merico-space-scale,1)),calc(55px * var(--merico-space-scale,1)))}
.muted{color:var(--muted)}
.eyebrow{font-size:calc(12px * var(--merico-type-scale,1));font-weight:max(750,var(--merico-weight,750));letter-spacing:.12em;color:var(--merico-primary,var(--accent));margin-bottom:calc(14px * var(--merico-space-scale,1))}
.row{display:flex;gap:calc(16px * var(--merico-space-scale,1));align-items:center;flex-wrap:wrap}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(24px * var(--merico-space-scale,1))}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:calc(20px * var(--merico-space-scale,1));border:1px solid var(--merico-primary,var(--ink));background:var(--merico-primary,var(--ink));color:var(--merico-on-primary,#ffffff);padding:calc(15px * var(--merico-space-scale,1)) calc(26px * var(--merico-space-scale,1));border-radius:var(--merico-radius,var(--radius));font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));min-height:48px}
.btn.secondary{background:#ffffff;color:var(--merico-primary,var(--ink))}
.btn:disabled{opacity:.4;cursor:not-allowed}
.link{display:inline-flex;gap:calc(25px * var(--merico-space-scale,1));font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700));border:0;background:transparent;padding:calc(12px * var(--merico-space-scale,1)) 0;color:var(--merico-primary,var(--ink))}
.line{border-bottom:1px solid var(--line)}
label{font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650))}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{width:100%;padding:calc(13px * var(--merico-space-scale,1));border:1px solid #cfcfcf;background:#ffffff;border-radius:var(--merico-radius,var(--radius));margin:calc(8px * var(--merico-space-scale,1)) 0 calc(20px * var(--merico-space-scale,1))}
input[type=checkbox],input[type=radio]{accent-color:var(--merico-primary,var(--accent));width:19px;height:19px;vertical-align:middle;margin-right:calc(8px * var(--merico-space-scale,1))}
textarea{min-height:110px}
dialog{border:0;box-shadow:0 20px 100px #0003;border-radius:var(--merico-radius,10px);padding:calc(32px * var(--merico-space-scale,1));max-width:min(90vw,480px)}
dialog::backdrop{background:#1a1a1a70}
details{border-bottom:1px solid var(--line);padding:calc(20px * var(--merico-space-scale,1)) 0}
summary{font-weight:max(700,var(--merico-weight,700));line-height:1.7}
details p{margin:calc(16px * var(--merico-space-scale,1)) 0 0;color:var(--muted);font-size:calc(14px * var(--merico-type-scale,1))}
table{width:100%;border-collapse:collapse;font-size:calc(14px * var(--merico-type-scale,1))}
td,th{text-align:left;padding:calc(18px * var(--merico-space-scale,1));border-bottom:1px solid var(--line)}
th{background:var(--surface)}
.notice{padding:calc(15px * var(--merico-space-scale,1));background:var(--surface);font-size:calc(14px * var(--merico-type-scale,1));line-height:1.7}
.pill{display:inline-block;font-size:calc(12px * var(--merico-type-scale,1));border:1px solid var(--line);padding:calc(5px * var(--merico-space-scale,1)) calc(12px * var(--merico-space-scale,1));border-radius:var(--merico-radius,30px)}
.stack>*+*{margin-top:calc(20px * var(--merico-space-scale,1))}
[hidden]{display:none!important}
@media(max-width:600px){.grid{grid-template-columns:1fr}.pad{padding:calc(24px * var(--merico-space-scale,1))}.row{gap:calc(12px * var(--merico-space-scale,1))}h2{font-size:calc(26px * var(--merico-type-scale,1))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
:root{--ink:#363636;--accent:var(--merico-primary,#575757);--muted:#878787;--surface:#f3f3f3;--line:#e2e2e2;--radius:2px;font-family:var(--merico-font,"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,sans-serif);letter-spacing:.015em;font-synthesis:none}
body{color:var(--merico-text,var(--ink));-webkit-font-smoothing:antialiased}
h2{font-weight:max(750,var(--merico-weight,750));letter-spacing:-.035em;line-height:1.55;text-wrap:balance}
h3{font-weight:max(700,var(--merico-weight,700));letter-spacing:-.02em;line-height:1.65}
p{line-height:2.1;text-wrap:pretty}
.pad{padding:clamp(calc(32px * var(--merico-space-scale,1)),calc(6.5vw * var(--merico-space-scale,1)),calc(72px * var(--merico-space-scale,1)))}
.eyebrow{font-family:var(--merico-font,inherit);letter-spacing:.08em;font-weight:max(650,var(--merico-weight,650));font-size:calc(11px * var(--merico-type-scale,1));color:#838383;margin-bottom:calc(24px * var(--merico-space-scale,1))}
.muted{color:#8a8a8a}
.grid{gap:calc(35px * var(--merico-space-scale,1))}
.btn{min-height:54px;padding:calc(17px * var(--merico-space-scale,1)) calc(29px * var(--merico-space-scale,1));letter-spacing:.025em;border-radius:var(--merico-radius,2px);font-size:calc(13px * var(--merico-type-scale,1));gap:calc(30px * var(--merico-space-scale,1));transition:background .25s,color .25s,border-color .25s,transform .25s}
.btn:hover{background:#5e5e5e;border-color:#5e5e5e}
.btn.secondary{border-color:#cdcdcd}
.btn.secondary:hover{background:#f2f2f2;color:#363636;border-color:#ababab}
.btn:active{transform:translateY(1px)}
.link{font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650));gap:calc(30px * var(--merico-space-scale,1));padding:calc(13px * var(--merico-space-scale,1)) 0;letter-spacing:.025em;transition:color .25s}
.link:hover{color:#808080}
.pill{font-size:calc(11px * var(--merico-type-scale,1));letter-spacing:.015em;border-radius:var(--merico-radius,2px);padding:calc(5px * var(--merico-space-scale,1)) calc(11px * var(--merico-space-scale,1));border-color:#dcdcdc}
.notice{background:#f3f3f3;padding:calc(22px * var(--merico-space-scale,1))}
.required{font-size:calc(10px * var(--merico-type-scale,1))!important;font-weight:max(550,var(--merico-weight,550));letter-spacing:.03em}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{border-color:#dcdcdc;border-radius:var(--merico-radius,2px);padding:calc(16px * var(--merico-space-scale,1));background:#f9f9f9;margin-top:calc(13px * var(--merico-space-scale,1));font-size:calc(14px * var(--merico-type-scale,1));transition:border-color .2s,background .2s}
input:focus,select:focus,textarea:focus{border-color:#959595!important;background:#ffffff!important;outline:2px solid #e6e6e6;outline-offset:2px}
input::placeholder,textarea::placeholder{color:#ababab}
label{font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650))}
td,th{padding:calc(22px * var(--merico-space-scale,1));line-height:1.9;font-size:calc(13px * var(--merico-type-scale,1))}
th{background:#f3f3f3}
dialog{border-radius:var(--merico-radius,4px);padding:calc(38px * var(--merico-space-scale,1));color:var(--merico-text,var(--ink));box-shadow:0 20px 80px #2c2c2c30}
dialog::backdrop{background:#28282860}
details{padding:calc(24px * var(--merico-space-scale,1)) 0}
details p{line-height:2.1}
summary{font-size:calc(14px * var(--merico-type-scale,1))}
.warning{background:#f3f3f3!important;border-color:#7d7d7d!important}
.error-state{background:#f6f6f6!important;border-color:#dcdcdc!important}
.banner.info{background:#f3f3f3!important}
*:focus-visible{outline:2px solid #8c8c8c;outline-offset:5px}
@media(max-width:600px){.pad{padding:calc(32px * var(--merico-space-scale,1)) calc(24px * var(--merico-space-scale,1))}.grid{gap:calc(28px * var(--merico-space-scale,1))}h2{font-size:calc(27px * var(--merico-type-scale,1));line-height:1.65}.btn{min-height:52px;font-size:calc(13px * var(--merico-type-scale,1))}}
:root{--ink:#222222;--accent:var(--merico-primary,#333333);--muted:#666666;--surface:#f5f5f5;--line:#dddddd}
.footer{border-top:1px solid var(--line)}
.footer-main{display:flex;justify-content:space-between;gap:calc(35px * var(--merico-space-scale,1));align-items:flex-start}
.footer-logo{font-size:calc(35px * var(--merico-type-scale,1));letter-spacing:-.06em}
.footer-main p{font-size:calc(12px * var(--merico-type-scale,1));margin:calc(8px * var(--merico-space-scale,1)) 0}
.footer nav{display:grid;grid-template-columns:repeat(2,1fr);gap:calc(25px * var(--merico-space-scale,1));font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700))}
.minimal nav{display:flex;flex-wrap:wrap}
.footer-bottom{border-top:1px solid var(--line);margin-top:calc(45px * var(--merico-space-scale,1));padding-top:calc(23px * var(--merico-space-scale,1));display:flex;justify-content:space-between;gap:calc(20px * var(--merico-space-scale,1));flex-wrap:wrap;font-size:calc(12px * var(--merico-type-scale,1))}
.dark{background:var(--ink);color:#ffffff}
.dark .footer-bottom{border-color:#ffffff33}
.footer-cta{padding:0 0 calc(35px * var(--merico-space-scale,1));margin-bottom:calc(35px * var(--merico-space-scale,1));border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:calc(25px * var(--merico-space-scale,1))}
.footer-cta h2{font-size:calc(28px * var(--merico-type-scale,1));margin:0}
@media(max-width:600px){.footer-main,.footer-cta{flex-direction:column}.footer nav{gap:calc(18px * var(--merico-space-scale,1));font-size:calc(13px * var(--merico-type-scale,1))}}
.footer{padding:calc(55px * var(--merico-space-scale,1)) 6% calc(30px * var(--merico-space-scale,1))}
.footer-logo{font-family:var(--merico-font,Inter,sans-serif);font-size:calc(40px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600))}
.footer-main p{font-size:calc(12px * var(--merico-type-scale,1));color:#7a7a7a;letter-spacing:.03em;margin-top:calc(12px * var(--merico-space-scale,1))}
.footer nav{gap:calc(23px * var(--merico-space-scale,1)) calc(45px * var(--merico-space-scale,1));font-size:calc(12px * var(--merico-type-scale,1));font-weight:max(500,var(--merico-weight,500))}
.footer nav a:hover{text-decoration:underline;text-underline-offset:6px}
.footer-bottom{margin-top:calc(55px * var(--merico-space-scale,1));padding-top:calc(25px * var(--merico-space-scale,1));font-size:calc(12px * var(--merico-type-scale,1));line-height:1.8;color:#7a7a7a}
.footer-bottom small{font-family:var(--merico-font,Inter,sans-serif);font-size:calc(12px * var(--merico-type-scale,1))}
.dark{background:#3b3b3b}
.dark .footer-main p,.dark .footer-bottom{color:#b7b7b7}
.footer-cta{padding-bottom:calc(42px * var(--merico-space-scale,1));margin-bottom:calc(45px * var(--merico-space-scale,1))}
.footer-cta h2{font-size:calc(29px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600))}
.footer-cta .btn{font-size:calc(12px * var(--merico-type-scale,1))}
@media(max-width:600px){.footer{padding:calc(38px * var(--merico-space-scale,1)) calc(25px * var(--merico-space-scale,1)) calc(25px * var(--merico-space-scale,1))}.footer nav{gap:calc(25px * var(--merico-space-scale,1));font-size:calc(12px * var(--merico-type-scale,1))}.footer-bottom{margin-top:calc(35px * var(--merico-space-scale,1));gap:calc(15px * var(--merico-space-scale,1))}.footer-cta h2{font-size:calc(26px * var(--merico-type-scale,1))}}
.ui-arrow{width:24px;height:24px;flex-shrink:0;vertical-align:middle}
.section-intro{margin-bottom:calc(42px * var(--merico-space-scale,1))}
.section-label{display:flex;align-items:center;gap:calc(20px * var(--merico-space-scale,1));font-size:calc(12px * var(--merico-type-scale,1));font-weight:max(500,var(--merico-weight,500));letter-spacing:.06em;color:#555;margin:0 0 calc(24px * var(--merico-space-scale,1))}
.section-rule{width:24px;height:3px;background:currentColor;flex-shrink:0}
.section-intro h2{font-size:clamp(calc(28px * var(--merico-type-scale,1)),calc(3.8vw * var(--merico-type-scale,1)),calc(42px * var(--merico-type-scale,1)));font-weight:max(700,var(--merico-weight,700));letter-spacing:-.025em;line-height:1.65;margin:0}
.section-description{font-size:calc(13px * var(--merico-type-scale,1));line-height:2.15;color:#666;max-width:40em;margin:calc(24px * var(--merico-space-scale,1)) 0 0}
.finish-link{display:inline-flex;justify-content:space-between;align-items:center;gap:calc(45px * var(--merico-space-scale,1));padding:calc(17px * var(--merico-space-scale,1)) 0;border-bottom:1px solid var(--merico-primary,#222);font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));transition:gap .3s}
.finish-link:hover{gap:calc(55px * var(--merico-space-scale,1))}
.finish-link .ui-arrow{width:20px}
.finish-note{font-size:calc(12px * var(--merico-type-scale,1));color:#666;line-height:1.9}
.finish-number{font:500 calc(12px * var(--merico-type-scale,1))/1.5 var(--merico-font,Inter,sans-serif);font-weight:max(500,var(--merico-weight,500));letter-spacing:.05em;color:#777}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--merico-primary,#333);outline-offset:5px}
a,button{touch-action:manipulation}
@media(max-width:600px){.section-intro{margin-bottom:calc(30px * var(--merico-space-scale,1))}.section-intro h2{font-size:calc(29px * var(--merico-type-scale,1))}.section-label{font-size:calc(12px * var(--merico-type-scale,1));gap:calc(16px * var(--merico-space-scale,1));margin-bottom:calc(20px * var(--merico-space-scale,1))}.section-description{font-size:calc(13px * var(--merico-type-scale,1));line-height:2.1}.finish-link{gap:calc(30px * var(--merico-space-scale,1))}}
.footer nav{line-height:1.8}
.footer-bottom{font-size:calc(12px * var(--merico-type-scale,1));color:#666}
.footer-main p{color:#666}
.footer-logo{letter-spacing:-.06em}
.dark{background:#222}
.dark .footer-main p,.dark .footer-bottom{color:#bbb}
.footer-cta{align-items:center}
.footer-cta h2{line-height:1.6}
:root{--text-primary:#222;--text-secondary:#5c5c5c;--text-caption:#666;--motion-ease:cubic-bezier(.22,.61,.36,1)}
body{line-break:strict;word-break:normal;overflow-wrap:break-word;text-rendering:optimizeLegibility}
h1,h2,h3{font-feature-settings:"palt" 1;line-break:strict;word-break:normal;letter-spacing:-.015em}
p{line-break:strict;letter-spacing:.025em}
button,input,select,textarea{font-feature-settings:normal}
button,a,summary{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:disabled{cursor:not-allowed}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.ed-copy,.section-description,.feature p:not(.eyebrow),.prose p,.prose li{font-size:calc(16px * var(--merico-type-scale,1));line-height:2;letter-spacing:.025em}
.ed-caption,.finish-note,figcaption,.caption-figure figcaption,.opening figcaption,.office-layout figcaption,.inset-media small,.file-list small{font-size:calc(12px * var(--merico-type-scale,1));line-height:1.9;color:var(--text-caption)}
.btn,.link,.finish-link,.ed-link,.crafted{font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));line-height:1.7;letter-spacing:.025em;min-height:48px}
.btn{gap:calc(24px * var(--merico-space-scale,1))}
.precision-arrow{display:block;width:22px;height:22px;flex:0 0 auto}
.precision-arrow.left{transform:rotate(180deg)}
.precision-arrow.down{transform:rotate(90deg)}
.precision-arrow.external{transform:rotate(-45deg)}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:calc(16px * var(--merico-type-scale,1));line-height:1.7;border-color:#aaa;background:white;color:var(--merico-primary,#222);max-width:100%}
input::placeholder,textarea::placeholder{color:#707070}
input[type=checkbox],input[type=radio]{width:20px;height:20px;flex-shrink:0;accent-color:var(--merico-primary,#333)}
label{font-size:calc(14px * var(--merico-type-scale,1));line-height:1.9}
.eyebrow,.pill{font-size:calc(12px * var(--merico-type-scale,1))}
.required{font-size:calc(12px * var(--merico-type-scale,1))!important}
.required,.field-caption label span{font-size:calc(12px * var(--merico-type-scale,1));line-height:1.5}
table{font-variant-numeric:tabular-nums}
table td,table th{font-size:calc(14px * var(--merico-type-scale,1));line-height:1.9}
td.num{white-space:nowrap}
.table-scroll,.table-wrap{overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#aaa #f4f4f4}
.table-scroll:focus-visible,.table-wrap:focus-visible{outline:2px solid #555;outline-offset:5px}
.card:focus-visible,.corner-link:focus-visible,.hover-card:focus-visible{outline-offset:7px}
.card:focus-visible .card-arrow{background:#222;color:white}
.btn:active:not(:disabled),.crafted:active:not(:disabled){transform:translateY(1px)}
@media(max-width:600px){.pad,.editorial{padding-inline:calc(24px * var(--merico-space-scale,1))}.ed-copy,.section-description,.feature p:not(.eyebrow),.prose p,.prose li{font-size:calc(15px * var(--merico-type-scale,1));line-height:2}.btn,.link,.finish-link,.ed-link{font-size:calc(14px * var(--merico-type-scale,1))}.section-intro h2{font-size:calc(28px * var(--merico-type-scale,1));line-height:1.65}h2{text-wrap:pretty}.row{column-gap:calc(16px * var(--merico-space-scale,1));row-gap:calc(14px * var(--merico-space-scale,1))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.footer nav{gap:calc(12px * var(--merico-space-scale,1)) calc(38px * var(--merico-space-scale,1));font-size:calc(14px * var(--merico-type-scale,1))}
.footer nav a,.footer-bottom a{display:inline-flex;align-items:center;min-height:36px}
.footer-main p,.footer-bottom,.footer-bottom small{font-size:calc(12px * var(--merico-type-scale,1));line-height:1.9}
.footer-bottom{align-items:center}
.footer-logo{font-size:calc(38px * var(--merico-type-scale,1))}
.footer-cta .btn{font-size:calc(14px * var(--merico-type-scale,1));min-height:56px}
.dark .footer-main p,.dark .footer-bottom{color:#ccc}
@media(max-width:600px){.footer nav{gap:calc(6px * var(--merico-space-scale,1)) calc(24px * var(--merico-space-scale,1))}.footer nav a,.footer-bottom a{min-height:44px}.footer-bottom{row-gap:calc(18px * var(--merico-space-scale,1))}.footer-logo{font-size:calc(34px * var(--merico-type-scale,1))}}
small,figcaption,time,.ed-caption,.finish-note,.muted,.vertical-note,.footer-bottom,.footer-main p,.toggle-links small,.file-list small,.field-caption small,#email-help,#counter,#file-help,[data-file],[data-result]{font-weight:max(500,var(--merico-weight,500))}
.eyebrow,.kicker,.section-label,.pill,.state-label,.required,.field-caption label span,.tag-filter button,.filters button,.controls,.crumb,.steps li,.local-nav a,fieldset legend{font-weight:max(600,var(--merico-weight,600))}
.shape-grid small,.decision-block .finish-note,.field-caption small,.tab-index{color:#555}
.decision-block li{font-weight:max(500,var(--merico-weight,500));font-size:calc(14px * var(--merico-type-scale,1))}
.tag-filter button:hover:not([aria-pressed=true]){background:#f3f3f3;border-color:#777}
.tag-filter button{transition:background .18s,border-color .18s}
/* 内容幅 + 対称の余白。親のカラム幅まで無条件に広げない。 */
.btn.ui-button,.crafted.ui-button{position:relative;display:inline-flex;align-items:center;justify-content:center!important;align-self:flex-start;flex:0 0 auto;box-sizing:border-box;width:max-content!important;min-width:0!important;max-width:100%;min-height:52px;padding:calc(13px * var(--merico-space-scale,1)) calc(26px * var(--merico-space-scale,1))!important;gap:0!important;font-size:calc(14px * var(--merico-type-scale,1))!important;font-weight:max(600,var(--merico-weight,600));line-height:1.7;letter-spacing:.015em;text-align:center!important;vertical-align:middle}
.btn.ui-button:has(>.action-label),.crafted.ui-button:has(>.action-label){display:inline-grid;grid-template-columns:18px minmax(0,1fr) 18px;column-gap:calc(12px * var(--merico-space-scale,1))!important}
.ui-button:has(>.action-label):before{content:"";grid-column:1;grid-row:1}
.ui-button>.action-label{grid-column:2;grid-row:1;display:block;min-width:0;text-align:center;line-height:1.7}
.ui-button>.action-icon{position:static!important;grid-column:3;grid-row:1;width:18px!important;height:18px;display:block;flex:0 0 auto;transition:translate .2s ease;transform:none}
.ui-button:hover>.action-icon{translate:3px 0}
.ui-button>.action-icon.down{transform:rotate(90deg)}
.ui-button:hover>.action-icon.down{translate:0 3px}
.ui-button>.action-icon.external{transform:rotate(-45deg)}
.ui-button:hover>.action-icon.external{translate:2px -2px}
.ui-button:disabled{cursor:not-allowed}
.ui-button:disabled:hover>.action-icon{translate:0 0}
.ui-button:disabled:hover{transform:none}
.button-context .crafted.ui-button{min-height:54px;padding:calc(14px * var(--merico-space-scale,1)) calc(24px * var(--merico-space-scale,1))!important;max-width:100%}
.button-context .crafted.ui-button small{font-size:calc(12px * var(--merico-type-scale,1));margin:0 0 calc(4px * var(--merico-space-scale,1));line-height:1.6}
.button-context .crafted.ui-button b{font-size:calc(16px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));line-height:1.7}
.button-context>div,.button-context>aside,.suri-demo>div{min-width:0}
.suri-demo{grid-template-columns:repeat(2,minmax(0,1fr))}
.shape-grid{gap:calc(26px * var(--merico-space-scale,1))}
.shape-grid .btn.ui-button{width:min(100%,208px)!important;min-height:52px;padding-inline:calc(17px * var(--merico-space-scale,1))!important}
.shape-grid>div{align-items:flex-start}
.decision-actions{gap:calc(12px * var(--merico-space-scale,1))}
.decision-actions .btn.ui-button{padding-inline:calc(19px * var(--merico-space-scale,1))!important;min-height:52px}
.decision-block .finish-note{max-width:36em}
.utility-row .btn.ui-button{min-width:168px!important;padding-inline:calc(20px * var(--merico-space-scale,1))!important}
.settings-row .btn.ui-button{min-height:48px;padding-inline:calc(23px * var(--merico-space-scale,1))!important}
.cta .btn.ui-button,.footer-cta .btn.ui-button{padding-inline:calc(23px * var(--merico-space-scale,1))!important;align-self:center}
.pricing .btn.ui-button{align-self:center;min-height:48px;padding-inline:calc(20px * var(--merico-space-scale,1))!important}
.photo-hero .btn.ui-button,.suri-demo .btn.ui-button{padding-inline:calc(22px * var(--merico-space-scale,1))!important}
form .btn.ui-button{min-height:50px}
.dropdown>.btn.ui-button{min-height:48px;padding-inline:calc(22px * var(--merico-space-scale,1))!important}
@media(max-width:600px){.button-context,.suri-demo{grid-template-columns:minmax(0,1fr)}.btn.ui-button,.crafted.ui-button{font-size:calc(13px * var(--merico-type-scale,1))!important;padding-inline:calc(18px * var(--merico-space-scale,1))!important;min-height:50px}.button-context .crafted.ui-button{padding-inline:calc(18px * var(--merico-space-scale,1))!important;min-height:52px;column-gap:calc(10px * var(--merico-space-scale,1))!important}.button-context .crafted.ui-button b{font-size:calc(15px * var(--merico-type-scale,1))}.decision-actions .btn.ui-button{padding-inline:calc(17px * var(--merico-space-scale,1))!important}.cta .btn.ui-button{align-self:flex-start}.shape-grid{gap:calc(28px * var(--merico-space-scale,1))}.shape-grid .btn.ui-button{width:min(100%,208px)!important}.pricing .btn.ui-button{align-self:flex-start}.utility-row .btn.ui-button{width:max-content!important}.settings-row .btn.ui-button{padding-inline:calc(20px * var(--merico-space-scale,1))!important}}
/* 本文500・補足600・操作700。小さい文字を細くして階層を作らない。 */
body{font-weight:max(500,var(--merico-weight,500))}
p{letter-spacing:.015em}
h2,h3{letter-spacing:-.015em}
.ed-copy,.section-description{font-weight:max(500,var(--merico-weight,500));line-height:1.95}
.ed-caption,.finish-note,figcaption{font-weight:max(600,var(--merico-weight,600));letter-spacing:.015em}
.kicker,.section-label,.eyebrow{font-weight:max(700,var(--merico-weight,700))}
.btn,.link,.finish-link,.ed-link,.crafted{font-weight:max(700,var(--merico-weight,700))}
input,textarea,select{font-weight:max(500,var(--merico-weight,500))}
button{letter-spacing:.015em}
:where(a,button,summary):focus-visible{outline-width:2px;outline-offset:5px}
/* 空の操作結果は余白を予約しない。通知が出たときだけ一段増やします。 */
p[role=status]:empty,p[data-result]:empty,.button-feedback:empty,.shape-feedback:empty{display:none}
.footer nav a{font-size:calc(15px * var(--merico-type-scale,1));font-weight:max(700,var(--merico-weight,700))}
.footer-main p{font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));color:#444}
.footer-bottom{margin-top:calc(40px * var(--merico-space-scale,1));padding-top:calc(24px * var(--merico-space-scale,1))}
.footer-bottom,.footer-bottom small{font-size:calc(13px * var(--merico-type-scale,1));font-weight:max(500,var(--merico-weight,500));color:#444}
.footer-bottom a{font-weight:max(600,var(--merico-weight,600));min-height:44px}
/* 日本語の禁則と操作の触感。細い文字や過剰な装飾に頼らず情報を分けます。 */
:root{--craft-ease:cubic-bezier(.22,1,.36,1);--craft-line:#dedfe1;--craft-soft:#f5f6f7}
body{line-break:strict;overflow-wrap:break-word;text-rendering:optimizeLegibility}
h1,h2,h3{font-feature-settings:"palt";text-wrap:pretty}
p{hanging-punctuation:allow-end}
button,a,summary,input,textarea,select{-webkit-tap-highlight-color:transparent}
:where(button,a,summary){transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}
:where(button,a,summary):focus-visible{outline:2px solid var(--merico-primary,var(--ink));outline-offset:5px}
:where(input,textarea,select):focus-visible{outline:2px solid var(--merico-primary,var(--accent));outline-offset:3px}
.btn.ui-button{min-height:52px;padding-inline:calc(24px * var(--merico-space-scale,1))!important;font-weight:max(700,var(--merico-weight,700));letter-spacing:.025em}
.btn.ui-button:not(:disabled):active{translate:0 1px}
.btn.ui-button>.action-icon{transition:translate .32s var(--craft-ease)}
.btn.secondary{border-color:#acafb3;background:white}
.link,.ed-link,.finish-link{min-height:44px;align-items:center;max-width:100%;line-height:1.65}
.ed-copy,.section-description{font-size:calc(16px * var(--merico-type-scale,1));line-height:1.95;letter-spacing:.025em}
.kicker,.section-label,.eyebrow{letter-spacing:.065em}
.craft-icon{width:24px;height:24px;fill:currentColor;stroke:none;flex-shrink:0}
.craft-icon-box{display:grid;place-items:center;flex:0 0 auto;width:52px;height:52px;background:#f2f3f4;border-radius:var(--merico-radius,8px);color:var(--merico-text,#292929)}
.craft-icon-box .craft-icon{width:25px;height:25px}
:where(time,.finish-number,.num,.tab-index){font-variant-numeric:tabular-nums}
@media(hover:hover){.btn.ui-button:not(:disabled):hover{box-shadow:0 5px 14px #0000000b}.btn.secondary:not(:disabled):hover{border-color:var(--merico-primary,#222);background:#f5f6f7}}
@media(max-width:600px){.ed-copy,.section-description{font-size:calc(15px * var(--merico-type-scale,1));line-height:1.9}.btn.ui-button{min-height:50px;padding-inline:calc(20px * var(--merico-space-scale,1))!important}.section-intro h2{line-height:1.55}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.footer{border-top:1px solid #e2e4e7;padding-top:calc(52px * var(--merico-space-scale,1));padding-bottom:calc(28px * var(--merico-space-scale,1))}
.footer-main{gap:calc(48px * var(--merico-space-scale,1));padding-bottom:calc(40px * var(--merico-space-scale,1))}
.footer-logo{letter-spacing:-.035em}
.footer-main nav{gap:calc(18px * var(--merico-space-scale,1)) calc(32px * var(--merico-space-scale,1))}
.footer nav a{font-size:calc(14px * var(--merico-type-scale,1));font-weight:max(650,var(--merico-weight,650));line-height:1.8;text-underline-offset:6px}
.footer-bottom{padding-top:calc(24px * var(--merico-space-scale,1));border-top:1px solid #dedfe1;gap:calc(20px * var(--merico-space-scale,1))}
.footer-bottom small,.footer-bottom a{font-size:calc(11px * var(--merico-type-scale,1));font-weight:max(600,var(--merico-weight,600));letter-spacing:.025em}
.footer.dark{border-top:0}
.footer.dark .footer-bottom{border-color:#ffffff2b}
.footer-cta{padding-bottom:calc(42px * var(--merico-space-scale,1));margin-bottom:calc(42px * var(--merico-space-scale,1));border-bottom:1px solid #dedfe1;gap:calc(24px * var(--merico-space-scale,1))}
.footer-cta h2{font-size:clamp(calc(28px * var(--merico-type-scale,1)),calc(3.3vw * var(--merico-type-scale,1)),calc(40px * var(--merico-type-scale,1)));line-height:1.5}
.footer-cta .btn{min-width:200px}
@media(hover:hover){.footer nav a:hover{text-decoration:underline}}
@media(max-width:600px){.footer{padding-top:calc(36px * var(--merico-space-scale,1))}.footer-main{gap:calc(28px * var(--merico-space-scale,1));padding-bottom:calc(30px * var(--merico-space-scale,1))}.footer-main nav{gap:calc(16px * var(--merico-space-scale,1)) calc(24px * var(--merico-space-scale,1))}.footer-bottom{gap:calc(16px * var(--merico-space-scale,1))}.footer-cta{padding-bottom:calc(32px * var(--merico-space-scale,1));margin-bottom:calc(32px * var(--merico-space-scale,1))}}