/* Adapted from Brclio Design System app template; Brclio. */
:root{--_brclio-ds:"brclio-v1";--blue:#286bc1;--deep:#20579d;--yellow:#f4d758;--red:#e84a5f;--cream:#fefcf6;--paper:#f4f1e9;--ink:#202a36;--muted:#606870;--line:#dddcd1;--serif:'Noto Serif SC','Songti SC','STSong',Georgia,serif;--sans:'Noto Sans SC',-apple-system,'PingFang SC','Microsoft YaHei',sans-serif}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-padding-top:100px}body{font-family:var(--sans);font-size:14px;line-height:1.75;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}body:has(.action-dock){padding-bottom:0}::selection{background:var(--yellow);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0}a,button,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:3px}button:disabled{cursor:default}img{display:block;max-width:100%;height:auto}h1,h2,h3{font-family:var(--serif);font-weight:800;line-height:1.5}h1{font-size:clamp(24px,6vw,30px);letter-spacing:-.04em}h2{font-size:20px;letter-spacing:-.03em}h3{font-size:17px;letter-spacing:-.02em}p,dd,a{overflow-wrap:break-word}[hidden]{display:none!important}.app-shell{max-width:560px;min-height:100svh;margin:auto;background:var(--cream);position:relative}.skip-link{position:fixed;top:-100px;left:10px;z-index:100;background:var(--yellow);padding:10px 15px}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:30;background:var(--cream);border-bottom:1px solid var(--line)}.header-main{display:flex;align-items:center;justify-content:space-between;min-height:62px;padding:7px 22px;gap:16px}.brand{display:flex;align-items:center;gap:8px;font-family:Georgia,var(--serif);font-size:26px;font-weight:800;letter-spacing:-.04em;min-height:44px}.brand-mark{position:relative;background:var(--blue);color:var(--cream);width:32px;height:32px;border-radius:8px;font-size:36px;line-height:32px;text-align:center;padding-right:3px}.brand-mark::after{content:'';position:absolute;right:4px;bottom:5px;width:6px;height:6px;border-radius:50%;background:var(--yellow)}.header-label{font-size:10px;color:var(--muted);border-left:1px solid var(--line);padding-left:10px;margin-left:2px;font-weight:400;letter-spacing:0;font-family:var(--sans)}.header-contact{display:inline-flex;min-height:44px;align-items:center;font-size:12px;color:var(--deep);gap:6px}.domain-line{padding:0 22px 10px;font-size:10px;color:var(--muted);letter-spacing:.025em}.domain-line span{color:var(--blue);margin-right:6px}.page{padding:25px 22px 32px}.page>.eyebrow{margin-top:8px}.page-subtitle{font-size:12px;line-height:1.95;color:var(--muted);margin-top:11px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:.15em;color:var(--blue);margin-bottom:10px}.hero-intro{display:flex;align-items:start;justify-content:space-between;gap:20px}.hero-intro h1{font-size:27px}.hero-intro .hero-star{font-family:Georgia,serif;font-size:52px;line-height:1;color:var(--blue);padding-top:18px;transform:rotate(10deg)}.marker{position:relative;white-space:nowrap;z-index:0}.marker::before{content:'';position:absolute;left:0;right:-3px;bottom:3px;height:7px;background:var(--yellow);z-index:-1;transform:rotate(-2deg)}.intro-copy{font-size:12px;color:var(--muted);margin:13px 0 20px;line-height:1.9}.category-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0 28px}.category-nav a{min-height:64px;background:#f0eee4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:6px;font-size:11px}.category-nav svg{height:20px;width:20px;fill:none;stroke:var(--blue);stroke-width:1.7}.category-nav a:hover{background:#e9e5d4}.section{margin-top:30px}.section-title{display:flex;align-items:end;justify-content:space-between;gap:15px;margin-bottom:14px}.section-title h2{font-size:19px}.section-title a{display:inline-flex;align-items:center;min-height:44px;font-size:11px;color:var(--blue);white-space:nowrap}.section-title .eyebrow{margin-bottom:3px}.book-feature{display:grid;grid-template-columns:.78fr 1fr;gap:18px;align-items:center;padding:18px 18px 19px;background:#eeeee2;border-radius:8px;position:relative}.book-feature .cover-frame{position:relative;min-width:0}.cover-frame img{width:100%;max-height:205px;object-fit:contain;box-shadow:5px 7px 10px #202a3620}.book-feature .tag{font-size:9px;margin-bottom:7px}.book-feature h2{font-size:18px;line-height:1.55}.book-feature .subtitle{font-family:var(--serif);font-size:15px;margin-top:1px}.book-feature .byline{font-size:10px;color:var(--muted);margin-top:9px}.price{font-family:Georgia,var(--serif);color:var(--deep);font-size:28px;line-height:1.3;letter-spacing:-.04em;font-weight:600;white-space:nowrap}.price small{font-family:var(--sans);font-size:10px;letter-spacing:0;font-weight:400;color:var(--muted);margin-left:3px}.book-feature .price{margin-top:12px}.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:11px;color:var(--blue);gap:12px;text-decoration:underline;text-underline-offset:5px}.book-feature .text-link{margin-top:4px}.tag{display:inline-block;background:#e7edf1;color:var(--deep);padding:3px 8px;font-size:10px;border-radius:3px;line-height:1.6}.tag-yellow{background:var(--yellow);color:#504624}.service-list{border-top:1px solid var(--line)}.service-row{display:grid;grid-template-columns:40px minmax(0,1fr) 19px;gap:12px;padding:19px 0;align-items:center;border-bottom:1px solid var(--line);min-height:88px}.service-symbol{font-family:Georgia,var(--serif);font-size:20px;font-weight:600;color:var(--blue);letter-spacing:-.04em;align-self:start;padding-top:3px}.service-row h3{font-family:var(--sans);font-size:14px;letter-spacing:0;font-weight:600}.service-row p{font-size:11px;color:var(--muted);margin:4px 0 5px;line-height:1.8}.row-price{font-size:11px;color:var(--blue)}.row-price span{color:var(--muted);margin-left:8px;font-size:10px}.row-arrow{font-size:20px;color:var(--blue);text-align:right}.service-row:hover h3{text-decoration:underline;text-underline-offset:5px}.guide-strip{background:var(--blue);color:var(--cream);padding:24px;border-radius:6px;margin-top:29px;position:relative;overflow:hidden}.guide-strip .eyebrow{color:#d4e4f6;font-size:9px}.guide-strip h2{font-size:21px;position:relative;z-index:1}.guide-strip p{font-size:11px;color:#d4e4f6;max-width:250px;line-height:1.9;margin-top:10px}.guide-strip .button{margin-top:17px;padding:10px 17px;min-height:44px;background:var(--yellow);color:var(--ink);font-size:11px}.guide-strip::after{content:'↗';position:absolute;bottom:8px;right:14px;font-family:Georgia,serif;font-size:90px;line-height:1;color:#7fa9da;opacity:.45}.merchant-card{margin-top:28px;border-top:1px solid var(--line);padding-top:21px}.merchant-card h2{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:0}.merchant-name{font-family:var(--serif);font-size:16px;margin-top:8px;line-height:1.65}.merchant-meta{font-size:10px;color:var(--muted);margin-top:6px;line-height:1.9}.merchant-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:8px}.merchant-links a{min-height:44px;display:inline-flex;align-items:center;font-size:10px;color:var(--blue);text-decoration:underline;text-underline-offset:4px}.site-footer{padding:0 22px 26px;color:var(--muted);font-size:9px;line-height:1.9}.site-footer a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue)}.footer-line{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.bottom-tabs{position:sticky;bottom:0;z-index:40;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--cream);border-top:1px solid var(--line);padding:7px 8px calc(7px + env(safe-area-inset-bottom,0px));box-shadow:0 -5px 16px #202a3604}.bottom-tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:49px;font-size:10px;color:var(--muted)}.bottom-tabs svg{height:21px;width:21px;stroke:currentColor;stroke-width:1.6;fill:none}.bottom-tabs a[aria-current=page]{color:var(--blue)}.bottom-tabs a[aria-current=page]::after{content:'';height:3px;width:14px;background:var(--yellow);border-radius:3px}.breadcrumb{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted);margin-bottom:18px;flex-wrap:wrap}.breadcrumb a{min-height:44px;display:inline-flex;align-items:center;color:var(--blue)}.book-gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;background:#efede3;padding:22px;margin:0 -22px 23px}.book-gallery figure{flex:0 0 100%;scroll-snap-align:center;min-width:0}.book-gallery img{width:100%;height:330px;object-fit:contain}.book-gallery figcaption{font-size:10px;color:var(--muted);margin-top:12px;text-align:center}.product-heading .tag{margin-bottom:10px}.product-heading h1{font-size:25px}.product-heading .price{font-size:32px;margin-top:12px}.product-heading>p{font-size:12px;color:var(--muted);line-height:1.9;margin-top:12px}.facts{font-size:12px;margin-top:22px;padding:13px 0;border-block:1px solid var(--line)}.facts>div{display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;padding:8px 0}.facts dt{font-size:11px;color:var(--muted)}.facts dd{min-width:0;overflow-wrap:anywhere}.content-section{margin-top:27px}.content-section h2{font-size:18px;margin-bottom:13px}.content-section p{font-size:12px;color:var(--muted);line-height:1.95;margin-top:10px}.styled-list{list-style:none;padding:0;margin-top:14px}.styled-list li{font-size:12px;color:var(--muted);line-height:1.9;padding-left:16px;margin-top:10px;position:relative}.styled-list li::before{content:'·';position:absolute;left:0;color:var(--blue);font-weight:800}.notice{background:#f2eedc;padding:16px 18px;border-radius:5px;margin-top:20px;font-size:11px;line-height:1.9;color:#635c47}.notice strong{display:block;color:#47432f;font-size:12px;margin-bottom:4px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:12px 19px;min-height:46px;font-size:12px;font-weight:600;line-height:1.5;border-radius:5px;background:var(--blue);color:var(--cream);text-align:center;transition:background .2s}.button:hover{background:var(--deep)}.button-secondary{color:var(--deep);border:1px solid #b9c9da;background:transparent}.button-secondary:hover{background:#edf1f1}.button-yellow{background:var(--yellow);color:var(--ink)}.button-yellow:hover{background:#ecd04e}.button:disabled{background:#e0e2dc;color:#686e70}.button-full{width:100%}.action-dock{position:sticky;bottom:0;z-index:45;background:var(--cream);padding:13px 22px calc(13px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:12px}.stack-actions{display:grid;gap:12px;margin-top:22px}.filter-bar{display:flex;gap:8px;overflow-x:auto;padding:19px 0 20px;scrollbar-width:thin}.filter-tag{flex-shrink:0;min-height:44px;border:1px solid #cbd0ca;background:transparent;border-radius:25px;padding:8px 16px;font-size:11px;color:var(--muted)}.filter-tag.active{color:var(--cream);background:var(--ink);border-color:var(--ink)}.service-row[data-group=overseas] .service-symbol{color:var(--deep)}.service-lead{background:#e8edf1;padding:24px;margin-top:2px;border-radius:6px}.service-lead .service-symbol{font-size:32px;display:block;margin-bottom:18px}.service-lead h1{font-size:25px}.service-lead .price{margin-top:15px}.service-lead .page-subtitle{font-size:12px}.detail-columns{display:grid;gap:10px;margin-top:22px}.detail-block{padding:16px 0;border-bottom:1px solid var(--line)}.detail-block h2{font-family:var(--sans);font-size:13px;letter-spacing:0;margin-bottom:7px}.detail-block p{font-size:12px;color:var(--muted);line-height:1.95}.accordion{margin-top:21px;border-top:1px solid var(--line)}.accordion details{border-bottom:1px solid var(--line)}.accordion summary{min-height:56px;padding:15px 0;display:flex;justify-content:space-between;align-items:center;gap:14px;list-style:none;cursor:pointer;font-size:12px;font-weight:500}.accordion summary::-webkit-details-marker{display:none}.accordion summary::after{content:'＋';font-size:18px;font-weight:400;color:var(--blue);flex-shrink:0}.accordion details[open] summary::after{content:'−'}.accordion details p{font-size:12px;line-height:1.9;color:var(--muted);padding-bottom:18px}.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;font-size:10px;color:var(--muted);margin:19px 0 25px}.steps li{padding:10px 0;border-top:2px solid var(--line);min-width:0}.steps li.current{border-color:var(--blue);color:var(--blue)}.steps li span{font-family:Georgia,serif;margin-right:5px}.summary-card{padding:20px;background:#eeeee2;border-radius:6px;margin-top:20px}.summary-product{display:grid;grid-template-columns:65px minmax(0,1fr);gap:16px;align-items:center}.summary-product img{width:65px;height:90px;object-fit:contain}.summary-icon{display:flex;align-items:center;justify-content:center;background:#e1e9ef;height:70px;color:var(--blue);font-size:22px;font-family:Georgia,var(--serif);font-weight:600}.summary-product h2{font-family:var(--sans);font-size:14px;letter-spacing:0;line-height:1.7}.summary-product p{font-size:11px;color:var(--muted);margin-top:5px}.summary-product .row-price{color:var(--blue);font-size:12px}.order-fields{margin-top:25px}.order-fields label{display:block;font-size:12px;margin-top:20px;margin-bottom:8px}.order-fields input,.order-fields select,.order-fields textarea{width:100%;min-width:0;border:1px solid #c8cdc7;background:#fbf9f2;color:var(--ink);border-radius:4px;padding:11px 12px;min-height:46px;font-size:13px;line-height:1.7}.order-fields textarea{resize:vertical}.order-fields .quantity-row{display:flex;align-items:center;justify-content:space-between;gap:17px;margin-top:19px;padding-bottom:20px;border-bottom:1px solid var(--line)}.quantity-row label{margin:0;flex-shrink:0}.quantity-control{display:grid;grid-template-columns:44px 58px 44px;align-items:center}.quantity-control button{font-size:22px;color:var(--deep);height:46px;background:#edf0e7;line-height:1}.quantity-control input{text-align:center;padding-inline:2px;border-color:#cbd0ca;border-radius:0;appearance:textfield;-moz-appearance:textfield}.quantity-control input::-webkit-inner-spin-button,.quantity-control input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cost-list{font-size:12px;margin-top:21px}.cost-list>div{display:flex;justify-content:space-between;gap:20px;margin-bottom:13px}.cost-list dt{color:var(--muted)}.cost-list .cost-total{border-top:1px solid var(--line);padding-top:17px;align-items:center}.cost-total dd{font-family:Georgia,var(--serif);font-size:27px;color:var(--deep);font-weight:600;white-space:nowrap}.form-hint{font-size:10px;color:var(--muted);line-height:1.9;margin-top:12px}.check-line{display:flex;align-items:start;gap:10px;margin-top:20px;font-size:11px;line-height:1.9;color:var(--muted)}.check-line input{flex-shrink:0;width:18px;height:18px;min-height:18px;margin-top:2px;accent-color:var(--blue)}.check-line label{margin:0;font-size:11px}.check-line a,.content-section p a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.payment-status{padding:23px;background:#eeeee2;border-radius:6px;margin-top:20px}.status-symbol{font-family:Georgia,var(--serif);font-size:31px;color:var(--blue);margin-bottom:13px;line-height:1}.payment-status h2{font-size:20px}.payment-status p{font-size:12px;color:var(--muted);line-height:1.95;margin-top:10px}.payment-method{display:flex;align-items:center;gap:12px;padding:19px 0;border-bottom:1px solid var(--line);margin-top:17px}.payment-method .method-icon{background:#e8edf0;color:var(--blue);height:40px;width:40px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;border-radius:6px}.payment-method strong{font-size:13px;font-weight:500}.payment-method p{font-size:10px;color:var(--muted);margin-top:3px}.payment-method>.tag{margin-left:auto;white-space:nowrap;font-size:9px}.contact-intro{display:flex;align-items:center;gap:16px;margin-top:20px;padding-bottom:23px;border-bottom:1px solid var(--line)}.contact-intro img{width:58px;height:58px;border-radius:50%;object-fit:cover}.contact-intro h2{font-family:Georgia,var(--serif);font-size:23px}.contact-intro p{font-size:11px;color:var(--muted);margin-top:2px}.contact-method{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);min-width:0}.contact-method>div{min-width:0}.contact-method .small-label{font-size:10px;color:var(--muted);display:block;margin-bottom:4px}.contact-value{font-size:14px;color:var(--ink);overflow-wrap:anywhere}.contact-method button,.contact-method>a{font-size:11px;color:var(--blue);min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent;text-decoration:underline;text-underline-offset:5px}.result-panel{margin-top:23px;border-top:1px solid var(--line);padding-top:23px}.result-panel textarea{background:#f2f0e7}.policy-intro{font-size:13px;color:var(--muted);line-height:2;margin-top:16px;padding-bottom:23px;border-bottom:1px solid var(--line)}.policy-section{margin-top:26px}.policy-section h2{font-size:17px;margin-bottom:11px}.policy-section p{font-size:12px;color:var(--muted);line-height:2;margin-bottom:11px}.policy-section a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.policy-section .styled-list{margin-top:8px}.toast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 40px);background:var(--ink);color:var(--cream);padding:12px 17px;border-radius:5px;font-size:12px;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s}.toast.visible{opacity:1}.noscript-note{font-size:11px;color:#635c47;padding:16px 22px;background:#f1ebce;line-height:1.9}.selection-warning{padding:14px 17px;border:1px solid #d2c9ad;background:#f1ebce;border-radius:5px;margin-top:18px;font-size:12px;line-height:1.9}.selection-warning a{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.empty-state{padding:45px 0}.empty-state .code{font-size:70px;font-family:Georgia,var(--serif);font-style:italic;color:#b4c7da;line-height:1.3;margin-bottom:15px}.empty-state p{font-size:12px;color:var(--muted);line-height:1.95;margin-top:15px}.empty-state .button{margin-top:25px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:900px){.app-shell{margin-block:28px;min-height:calc(100svh - 56px);box-shadow:0 0 0 1px var(--line)}.bottom-tabs{bottom:0}.page{padding-inline:30px}.header-main,.domain-line{padding-inline:30px}.site-footer{padding-inline:30px}.book-gallery{margin-inline:-30px;padding-inline:30px}}
@media(max-width:360px){.page{padding-inline:18px}.header-main,.domain-line{padding-inline:18px}.header-main{gap:12px}.header-label{font-size:9px;padding-left:8px}.brand{font-size:24px;gap:7px}.header-contact{font-size:11px}.book-feature{padding:15px;gap:14px;grid-template-columns:.7fr 1fr}.book-feature h2{font-size:16px}.book-feature .subtitle{font-size:14px}.book-feature .byline{font-size:9px}.book-feature .price{font-size:26px}.hero-intro h1{font-size:25px}.service-row{grid-template-columns:32px minmax(0,1fr) 16px;gap:10px}.service-row h3{font-size:13px}.service-row p{font-size:10px}.row-price span{display:block;margin:2px 0 0}.book-gallery{margin-inline:-18px;padding-inline:18px}.book-gallery img{height:300px}.action-dock{padding-inline:18px;gap:10px}.button{padding-inline:14px}.quantity-control{grid-template-columns:44px 48px 44px}.summary-card{padding:16px}.summary-product{grid-template-columns:55px minmax(0,1fr);gap:13px}.summary-product img{width:55px}.payment-method{gap:9px}.payment-method>.tag{padding-inline:5px}.contact-value{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
/* Keep the phone navigation reachable without covering the last content. */
.app-shell{padding-bottom:calc(82px + env(safe-area-inset-bottom,0px))}.bottom-tabs,.action-dock{position:fixed;left:50%;transform:translateX(-50%);bottom:0;width:min(100%,560px)}
