:root{--bg:#fcfcfa;--ink:#1c2024;--muted:#5a626b;--rule:#dde0e3;--soft:#f2f4f5;--link:#0b5cad;--accent:#c2410c;--accent-deco:#ea580c;--accent-dark:#9a3412;--accent-soft:#fff1e6;--warn-bg:#fdf4e3;--warn-rule:#d9a441;--measure:44rem;--font:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "BIZ UDPGothic", "Yu Gothic UI", "Meiryo", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);overflow-wrap:anywhere;line-break:strict;margin:0;font-size:1.0625rem;line-height:1.95}a{color:var(--link);text-underline-offset:.2em}::selection{background:var(--accent-soft)}a:focus-visible,summary:focus-visible{outline:3px solid var(--link);outline-offset:2px}.skip{position:absolute;left:-999px}.skip:focus{background:var(--bg);z-index:10;padding:.5rem .75rem;top:1rem;left:1rem}.site-header{background:var(--ink);border-bottom:4px solid var(--accent-deco);--logo-planet:var(--bg);--logo-ring:var(--ink)}.site-header .inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem 1.5rem;max-width:66rem;margin:0 auto;padding:.7rem 1rem;display:flex}.site-name{color:#fff;letter-spacing:.02em;align-items:center;gap:.6rem;font-size:1.15rem;font-weight:700;text-decoration:none;display:inline-flex}.site-name .logo{flex:none}.site-name-text{flex-direction:column;line-height:1.3;display:flex}.site-tagline{letter-spacing:0;color:#c3c9cf;text-wrap:balance;font-size:.72rem;font-weight:400}.site-nav{flex-wrap:wrap;gap:.25rem 1.25rem;font-size:.95rem;display:flex}.site-nav a{color:#c3c9cf;text-decoration:none}.site-nav a:hover{color:#fff;text-decoration:underline}.site-nav a[aria-current=page]{color:#fff;text-decoration:underline;-webkit-text-decoration-color:var(--accent-deco);text-decoration-color:var(--accent-deco);text-underline-offset:.45em;text-decoration-thickness:3px}.layout{max-width:66rem;margin:0 auto;padding:0 1rem}main{max-width:var(--measure);margin:0 auto;padding:2rem 0 4rem}.site-footer{border-top:4px solid var(--accent-deco);background:var(--ink);color:#aeb5bc;font-size:.875rem;line-height:1.8}.site-footer .inner{max-width:66rem;margin:0 auto;padding:1.5rem 1rem 2rem}.site-footer p{margin:0 0 .5rem}.site-footer a{color:#d5d9dd}.site-header a:focus-visible,.site-footer a:focus-visible{outline-color:#fff}h1{margin:.5rem 0 1rem;font-size:clamp(1.55rem,4.2vw,2rem);line-height:1.45}h2{border-bottom:1px solid var(--ink);margin:3.25rem 0 1rem;padding-bottom:.4rem;font-size:1.4rem;line-height:1.5;position:relative}h2:after{content:"";background:var(--accent-deco);width:3.5rem;height:3px;position:absolute;bottom:-2px;left:0}h3{margin:2.25rem 0 .5rem;font-size:1.1rem;line-height:1.6}p,ul,ol{margin:0 0 1.25rem}li{margin-bottom:.35rem}.lead{font-size:1.1rem}.crumbs{color:var(--muted);margin:0;font-size:.85rem}.crumbs a{color:var(--muted)}.meta{color:var(--muted);margin:0 0 1.5rem;font-size:.875rem}.meta span+span:before{content:"・"}.label{letter-spacing:.06em;color:var(--muted);margin:0 0 .4rem;font-size:.8rem;font-weight:700}.summary .label,.toc .label,.campaigns .label{color:var(--accent)}.summary{border:1px solid var(--rule);border-top:3px solid var(--accent-deco);background:#fff;margin:0 0 1.75rem;padding:1rem 1.25rem .5rem}.summary ul{margin:0 0 .5rem;padding-left:1.2rem;line-height:1.85}.toc{background:var(--soft);margin:0 0 1.5rem;padding:1rem 1.25rem .5rem;font-size:.95rem;line-height:1.8}.toc ol{margin:0 0 .5rem;padding-left:1.4rem}.disclosure{border:1px solid var(--rule);color:var(--muted);margin:0 0 1.5rem;padding:.6rem .9rem;font-size:.875rem;line-height:1.8}.disclosure strong{color:var(--ink);margin-right:.5em}.prose blockquote{background:var(--warn-bg);border-left:3px solid var(--warn-rule);margin:0 0 1.25rem;padding:.75rem 1rem;font-size:.97rem;line-height:1.85}.prose blockquote p:last-child{margin-bottom:0}.prose .promo-lead{background:var(--accent-soft);border-left:4px solid var(--accent-deco);margin:0 0 1.5rem;padding:.9rem 1rem}.prose .promo-lead p{margin:0;font-size:1.05rem;font-weight:700;line-height:1.75}.prose .promo-lead p+p{margin-top:.25rem}.prose .referral-cta{text-align:center;background:var(--accent-soft);border:2px solid var(--accent-deco);margin:0 0 1.5rem;padding:1rem}.prose .referral-cta .button{color:#fff;padding:.9rem 1rem;font-size:1.15rem;text-decoration:none;display:block}.prose .referral-cta p{color:var(--muted);margin:.6rem 0 0;font-size:.875rem}.prose .pr-note{color:var(--muted);margin:0 0 1rem;font-size:.875rem}.prose .memo-box{background:var(--soft);border-left:3px solid var(--muted);margin:0 0 1.5rem;padding:.75rem 1rem;font-size:.97rem;line-height:1.85}.prose .memo-box p{margin:0}.prose .shot-pair{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));align-items:start;gap:1rem;margin:0 0 1.5rem;display:grid}.prose .shot-pair figure{margin:0}.prose .shot-pair img{border:1px solid var(--rule);width:100%;height:auto;display:block}.prose .shot-pair figcaption{color:var(--muted);text-align:center;margin-top:.4rem;font-size:.875rem}.prose .step-shot{margin:0 0 1.5rem}.prose .step-shot img{border:1px solid var(--rule);max-width:100%;height:auto;display:block}.prose .step-shot figcaption{color:var(--muted);margin-top:.4rem;font-size:.875rem}.prose img.photo{border:1px solid var(--rule);max-width:100%;height:auto;margin:0 0 1.5rem;display:block}.prose img.photo-portrait{max-width:min(100%,24rem)}.prose img.photo-phone{max-width:min(100%,16rem)}.home-promo{text-align:center;background:var(--accent-soft);border:2px solid var(--accent-deco);margin:0 0 1.5rem;padding:1rem}.home-promo .button{padding:.9rem 1rem;font-size:1.1rem;line-height:1.6;display:block}.home-promo .button:after{content:" →" / ""}.home-promo p{color:var(--muted);margin:.6rem 0 0;font-size:.875rem}.table-wrap{-webkit-overflow-scrolling:touch;margin:0 0 1.5rem;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:30rem;font-size:.95rem;line-height:1.7}caption{text-align:left;color:var(--muted);padding-bottom:.4rem;font-size:.85rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--rule);padding:.6rem .75rem}thead th{background:var(--soft);border-top:2px solid var(--accent-deco);border-bottom:1px solid var(--ink);white-space:nowrap;font-weight:700}.prose td del{color:var(--muted);white-space:nowrap;font-weight:400}.prose td strong{color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums}.prose tr:has(small)>td:first-child{white-space:nowrap}.prose td small{color:var(--accent);white-space:nowrap;font-size:.8rem;font-weight:700}.price-table td.num{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.price-table th small{color:var(--muted);font-weight:400}.price-note{color:var(--muted);font-size:.875rem;line-height:1.8}.entry-list{border-top:1px solid var(--rule);margin:0 0 1.5rem;padding:0;list-style:none}.entry-list li{border-bottom:1px solid var(--rule);margin:0;padding:.9rem 0}.entry-list a{font-weight:700}.entry-list span{color:var(--muted);font-size:.93rem;line-height:1.8;display:block}.log{padding:0;font-size:.95rem;list-style:none}.log time{color:var(--muted);font-variant-numeric:tabular-nums;margin-right:1em}.sources{font-size:.9rem;line-height:1.8}.sources h2{font-size:1.1rem}.draft-banner{border:1px dashed var(--warn-rule);background:var(--warn-bg);margin:0 0 1rem;padding:.5rem .9rem;font-size:.9rem;line-height:1.7}.draft-banner strong{margin-right:.6em}.campaigns{border:1px solid #f3cfb3;border-left:4px solid var(--accent-deco);background:var(--accent-soft);margin:2.25rem 0 1.5rem;padding:.9rem 1.1rem .4rem;font-size:.97rem;line-height:1.8}.campaigns ul{margin:0 0 .6rem;padding:0;list-style:none}.campaigns li{margin:0 0 .7rem}.campaigns li>*{margin-right:.6em}.campaigns .until{color:var(--muted);white-space:nowrap;font-size:.85rem}.campaigns .links{font-size:.9rem;display:block}.campaigns .links a+a{margin-left:1em}.campaigns .note{color:var(--muted);margin:0 0 .5rem;font-size:.85rem}.form{margin:1.5rem 0 2rem}.field{margin:0 0 1.4rem}.field>label:not(.check){margin-bottom:.3rem;font-size:.95rem;font-weight:700;display:block}.form input[type=text],.form input[type=email],.form select,.form textarea{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #9aa1a8;border-radius:2px;padding:.6rem .75rem;font-size:1rem;line-height:1.6}.form textarea{resize:vertical}.form input:focus-visible,.form select:focus-visible,.form textarea:focus-visible{outline:3px solid var(--link);outline-offset:1px}.check{align-items:flex-start;gap:.6rem;font-size:.95rem;display:flex}.check input{margin-top:.55rem}.field-hint{color:var(--muted);margin:.3rem 0 0;font-size:.85rem;line-height:1.7}.field-error{color:#a12a1f;margin:.3rem 0 0;font-size:.9rem}.form-notice{border:1px solid var(--rule);background:#fff;margin:0 0 1.5rem;padding:.8rem 1rem}.form-notice p{margin:0}.form-notice--error{background:#fdf1ef;border-color:#c9695f}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}button.button{font:inherit;cursor:pointer;border:0;font-weight:700}.author-box{border:1px solid #aeb5bc;border-top:3px solid var(--accent-deco);background:#fff;margin-top:3rem;padding:1rem 1.25rem 1.1rem}.author-box .label{color:var(--accent);margin-bottom:.7rem}.author-body{align-items:flex-start;gap:1rem;display:flex}.author-icon{object-fit:cover;background:var(--soft);border-radius:50%;flex:none;width:4.5rem;height:4.5rem}.author-icon--initial{background:var(--ink);color:var(--bg);place-items:center;font-size:2rem;font-weight:700;line-height:1;display:grid}.author-text{min-width:0;font-size:.93rem;line-height:1.85}.author-text p{margin:0 0 .4rem}.author-name strong{margin-right:.7em;font-size:1.1rem}.author-role{color:var(--muted);font-size:.85rem}.author-text .author-link{margin-bottom:0;font-size:.9rem}@media (width<=30rem){.author-body{gap:.75rem}.author-icon{width:3.5rem;height:3.5rem}.author-icon--initial{font-size:1.5rem}}.referral{border:1px solid var(--rule);margin:2rem 0;padding:1rem 1.25rem;font-size:.95rem}.referral p{margin:0 0 .5rem}.referral p:last-child{margin-bottom:0}.button{background:var(--accent);color:#fff;padding:.55rem 1.1rem;font-weight:700;text-decoration:none;display:inline-block}.button:hover{background:var(--accent-dark)}@media (width>=48rem){body{font-size:1.125rem}main{padding-top:3rem}}.sidebar{font-size:.95rem;line-height:1.7;display:none}@media (width>=64rem){.layout--with-sidebar{grid-template-columns:minmax(0, var(--measure)) 17rem;justify-content:center;gap:3rem;display:grid}.layout--with-sidebar main{margin:0}.sidebar{padding-top:3rem;display:block}}.side-block{margin:0 0 2rem}.side-title{border-bottom:1px solid var(--ink);margin:0 0 .6rem;padding:0 0 .4rem;font-size:.95rem;line-height:1.5}.side-title:after{width:2.25rem}.side-list{margin:0;padding:0;list-style:none}.side-list li{border-bottom:1px solid var(--rule);margin:0;padding:.55rem 0}.side-list a{color:var(--ink);text-decoration:none}.side-list a:hover{text-decoration:underline}.side-list--cats li{justify-content:space-between;gap:.5rem;display:flex}.side-list .count{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.side-list .date,.entry-list .date{color:var(--muted);font-size:.8rem;display:block}.search-row{display:flex}.search-row input[type=search]{min-width:0;font:inherit;color:var(--ink);background:#fff;border:1px solid #9aa1a8;border-right:0;border-radius:2px 0 0 2px;flex:1;padding:.5rem .6rem;font-size:.95rem;line-height:1.5}.search-row input[type=search]:focus-visible{outline:3px solid var(--link);outline-offset:1px}.search-row button{font:inherit;color:#fff;background:var(--accent);border:1px solid var(--accent);cursor:pointer;border-radius:0 2px 2px 0;padding:0 .9rem;font-size:.9rem;font-weight:700}.search-row button:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.search-live,.search-results{margin:.5rem 0 0;padding:0;list-style:none}.search-live li,.search-results li{border-bottom:1px solid var(--rule);margin:0;padding:.5rem 0}.search-live a,.search-results a{font-weight:700}.search-live .hit-cat,.search-results .hit-cat{color:var(--muted);font-size:.8rem;display:block}.hit-snippet{color:var(--muted);margin:.25rem 0 0;font-size:.9rem;line-height:1.7}.hit-message,.search-status{color:var(--muted);font-size:.9rem}.search-page-form{margin:1rem 0}.search-results{margin-top:1rem}
