/* ロードヒーティングProShop – static site stylesheet (hand-written, mobile-first) */
:root{--key:#1e50a2;--accent:#ea5506;--line:#06c755;--text:#333;--muted:#666;--bg:#fff;--soft:#f5f7fa;--border:#e1e4e8;--maxw:1180px;
--wp--preset--spacing--20:.44rem;--wp--preset--spacing--30:.67rem;--wp--preset--spacing--40:1rem;--wp--preset--spacing--50:1.5rem;--wp--preset--spacing--60:2.25rem;--wp--preset--spacing--70:3.38rem;--wp--preset--spacing--80:5.06rem;
--wp--preset--font-size--small:13px;--wp--preset--font-size--medium:20px;--wp--preset--font-size--large:36px;--wp--preset--font-size--x-large:42px;--wp--style--block-gap:1.2em}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP",Meiryo,sans-serif;color:var(--text);background:var(--bg);line-height:1.8;font-size:16px;overflow-wrap:anywhere}
img{max-width:100%;height:auto;vertical-align:middle}
a{color:#1967d2}a:hover{opacity:.85}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:100}
/* header */
.site-header{background:#fff}
.nav-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;max-width:var(--maxw);margin:0 auto;padding:6px 12px;background:#fff;border-bottom:1px solid var(--border);flex-wrap:wrap}
.brand{font-weight:700;color:var(--text);text-decoration:none;font-size:15px}
.menu-toggle{display:flex;align-items:center;gap:6px;background:none;border:1px solid var(--border);border-radius:6px;padding:6px 10px;font:inherit;font-size:13px;cursor:pointer}
.bars,.bars::before,.bars::after{display:block;width:18px;height:2px;background:#333;position:relative;content:""}
.bars::before{position:absolute;top:-6px}.bars::after{position:absolute;top:6px}
.gnav{width:100%;display:none}.gnav.open{display:block}
.gnav ul{list-style:none;margin:0;padding:6px 0}
.gnav a{display:block;padding:10px 6px;color:var(--text);text-decoration:none;border-top:1px solid #f0f0f0}
.gnav a[aria-current]{color:var(--key);font-weight:700}
.banner{text-align:center;padding:12px 12px 0}.banner img{width:min(100%,420px)}
@media(min-width:768px){.menu-toggle{display:none}.gnav{display:block;width:auto}.gnav ul{display:flex;gap:4px;padding:0}.gnav a{border:0;padding:8px 12px;border-radius:6px}.gnav a:hover{background:var(--soft)}.nav-bar{flex-wrap:nowrap;position:static}.banner img{width:min(100%,520px)}}
/* layout */
.container{max-width:var(--maxw);margin:0 auto;padding:16px 12px 32px}
.main{min-width:0}
@media(min-width:1024px){.has-sidebar .container{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px}}
.no-sidebar .main{max-width:900px;margin:0 auto}
.article,.archive-title{margin-top:0}
/* typography */
.entry-content h1,.entry-content h2,.entry-title,.archive-title{font-size:1.45rem;line-height:1.45;margin:1.6em 0 .8em}
.entry-title,.archive-title{font-size:1.6rem;border-left:6px solid var(--key);padding:.2em .6em;margin-top:.4em}
.entry-content h2{background:var(--soft);border-left:5px solid var(--key);padding:.5em .7em;border-radius:3px}
.entry-content h2.has-background,.entry-content h2.has-text-color,.entry-content h2[style]{border-left:0}
.entry-content h3{font-size:1.25rem;border-bottom:2px solid var(--key);padding-bottom:.25em;margin:1.4em 0 .7em}
.entry-content h4,.entry-content h5,.entry-content h6{font-size:1.08rem;margin:1.2em 0 .6em}
@media(min-width:768px){.entry-content h1,.entry-content h2{font-size:1.6rem}.entry-title,.archive-title{font-size:1.9rem}}
.entry-content p{margin:0 0 1.2em}
.entry-content ul,.entry-content ol{padding-left:1.4em}
.has-text-align-center,.aligncenter,.center{text-align:center}.has-text-align-right{text-align:right}.has-text-align-left{text-align:left}
.has-small-font-size{font-size:13px}.has-medium-font-size{font-size:20px}.has-large-font-size{font-size:clamp(24px,6vw,36px)}.has-x-large-font-size{font-size:clamp(26px,7vw,42px)}
[class*="fz-"]{line-height:1.5}
.fz-12px{font-size:12px}.fz-13px{font-size:13px}.fz-14px{font-size:14px}.fz-15px{font-size:15px}.fz-16px{font-size:16px}.fz-17px{font-size:17px}.fz-18px{font-size:18px}.fz-19px{font-size:19px}.fz-20px{font-size:20px}.fz-22px{font-size:22px}.fz-24px{font-size:clamp(20px,5vw,24px)}.fz-26px{font-size:clamp(20px,5.5vw,26px)}.fz-28px{font-size:clamp(21px,6vw,28px)}.fz-30px{font-size:clamp(22px,6.5vw,30px)}.fz-32px{font-size:clamp(22px,7vw,32px)}.fz-36px{font-size:clamp(24px,7.5vw,36px)}.fz-40px{font-size:clamp(26px,8vw,40px)}.fz-44px{font-size:clamp(28px,8.5vw,44px)}.fz-48px{font-size:clamp(28px,9vw,48px)}
.has-background{padding:1em 1.2em}
.has-border-color{border-style:solid;border-width:2px}
.bold,strong{font-weight:700}
.marker,.marker-under{background:linear-gradient(transparent 60%,#ff6 60%)}.marker-red{background:linear-gradient(transparent 60%,#fcc 60%)}.marker-blue{background:linear-gradient(transparent 60%,#cdf 60%)}
.red{color:#e60033}.blue{color:#0095d9}.green{color:#3eb370}
/* WP blocks */
.wp-block-image,figure{margin:0 0 1.2em}.wp-block-image figcaption,figcaption{font-size:13px;color:var(--muted);text-align:center;margin-top:.4em}
.wp-block-image.aligncenter img,.aligncenter>img{margin:0 auto;display:block}
.wp-block-columns{display:flex;flex-wrap:wrap!important;gap:1.2em;margin-bottom:1.2em;align-items:normal}
.wp-block-column{flex:1 1 100%;min-width:0}
@media(min-width:782px){.wp-block-columns{flex-wrap:nowrap!important}.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-column[style*="flex-basis"]{flex-grow:0}}
.wp-block-columns.is-not-stacked-on-mobile{flex-wrap:nowrap!important}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column{flex-basis:0}
.are-vertically-aligned-center,.is-vertically-aligned-center{align-items:center;align-self:center}
.wp-block-group{margin-bottom:1.2em}.is-layout-flex{display:flex;flex-wrap:wrap;gap:.5em;align-items:center}.is-layout-flex>*{margin:0}
.is-content-justification-center{justify-content:center}
.wp-block-gallery{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none;margin:0 0 1.2em}
.wp-block-gallery>figure,.wp-block-gallery .wp-block-image{flex:1 1 calc(50% - 8px);margin:0;position:relative}
@media(min-width:768px){.wp-block-gallery.columns-3>figure{flex-basis:calc(33.3% - 8px)}.wp-block-gallery.columns-4>figure{flex-basis:calc(25% - 8px)}}
.wp-block-gallery img{width:100%;height:100%;object-fit:cover}
.wp-block-gallery figcaption{position:absolute;bottom:0;left:0;right:0;margin:0;background:rgba(0,0,0,.5);color:#fff;font-size:12px;padding:2px 4px}
.wp-block-separator,hr{border:0;border-top:2px solid #ddd;margin:2em auto}.wp-block-separator.is-style-dots{border:0;text-align:center}.wp-block-separator.is-style-dots::before{content:"···";font-size:1.5em;letter-spacing:1em}
.wp-block-spacer{clear:both}
@media(max-width:767px){.wp-block-spacer[style*="height:"]{max-height:40px}}
.wp-block-table{overflow-x:auto;margin:0 0 1.2em}table{border-collapse:collapse;width:100%;font-size:15px}th,td{border:1px solid #ccc;padding:.5em .6em;vertical-align:top}th,thead td{background:var(--soft)}
.wp-block-quote,blockquote{margin:0 0 1.2em;padding:.8em 1em;border-left:4px solid #ccc;background:#fafafa}
.wp-block-cover{position:relative;display:flex;align-items:center;justify-content:center;min-height:300px;padding:1em;overflow:hidden;margin-bottom:1.2em}
.wp-block-cover__image-background{position:absolute;inset:0;background-size:cover;background-repeat:no-repeat}
img.wp-block-cover__image-background{width:100%;height:100%;object-fit:cover}
.wp-block-cover__background{position:absolute;inset:0;background:#000;opacity:.5}.has-background-dim-0{opacity:0}.has-background-dim-10{opacity:.1}.has-background-dim-20{opacity:.2}.has-background-dim-30{opacity:.3}.has-background-dim-40{opacity:.4}.has-background-dim-50{opacity:.5}.has-background-dim-60{opacity:.6}.has-background-dim-70{opacity:.7}.has-background-dim-80{opacity:.8}
.wp-block-cover__inner-container{position:relative;z-index:1;width:100%}
@media(min-width:1024px){.wp-block-cover__image-background.has-parallax{background-attachment:fixed}}
@media(max-width:767px){.wp-block-cover [style*="spacing--80"]{margin-left:.5rem!important;margin-right:.5rem!important}}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:.5em;justify-content:center;margin-bottom:1.2em}
.wp-block-button__link{display:inline-block;padding:.7em 1.4em;border-radius:999px;background:var(--key);color:#fff;text-decoration:none}
.wp-block-embed iframe,iframe{max-width:100%}
/* Cocoon blocks */
.btn-wrap{margin:1em 0;text-align:center}
.btn,.btn-wrap>a{display:inline-block;padding:.8em 1.6em;border-radius:6px;text-decoration:none;font-weight:700;color:var(--cocoon-custom-text-color,#fff);background:var(--cocoon-custom-background-color,var(--key));border:2px solid var(--cocoon-custom-border-color,transparent);line-height:1.5;max-width:100%;position:relative;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.15)}
.btn-circle,.btn-wrap-circle>a{border-radius:999px}.btn-s>a,.btn-s{font-size:14px;padding:.5em 1.2em}.btn-l>a,.btn-l{font-size:20px;padding:1em 2em}
.btn-shine>a::after,.btn-shine::after{content:"";position:absolute;top:-50%;left:-60%;width:40%;height:200%;background:rgba(255,255,255,.35);transform:rotate(25deg);animation:shine 3s infinite}
@keyframes shine{0%{left:-60%}30%,100%{left:130%}}
.block-box,.blank-box,.sticky,.info-box,.alert-box,.tab-caption-box,.caption-box,.label-box{margin:0 0 1.4em;padding:1em 1.2em;border:2px solid var(--border);border-radius:6px}
.sticky{border:0;border-left:6px solid var(--key);background:var(--soft)}
.sticky.st-red,.blank-box.bb-red{border-color:#e60033}.sticky.st-yellow,.blank-box.bb-yellow{border-color:#ffd900}.sticky.st-blue,.blank-box.bb-blue{border-color:#0095d9}.sticky.st-green,.blank-box.bb-green{border-color:#3eb370}
.timeline-box{border:0;padding:0}.timeline-title{text-align:center;font-weight:700;font-size:1.15em;margin-bottom:.8em}
.timeline{list-style:none;margin:0;padding:0 0 0 1.2em;border-left:3px solid #c9d6ea}
.timeline-item{position:relative;padding:0 0 1.1em 1em}
.timeline-item::before{content:"";position:absolute;left:calc(-1.2em - 9px);top:.45em;width:15px;height:15px;border-radius:50%;background:#fff;border:3px solid var(--key)}
.timeline-item-label{font-size:13px;font-weight:700;color:var(--key)}
.timeline-item-title{font-weight:600}
.micro-balloon{display:block;width:fit-content;max-width:100%;margin:1em auto .6em;padding:.4em 1.4em;border-radius:999px;position:relative;text-align:center;font-weight:700}
.micro-balloon.micro-top::after{content:"";position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);border:10px solid transparent;border-bottom:0;border-top-color:inherit}
.micro-balloon.has-watery-yellow-background-color::after{border-top-color:#fff7cc}
.micro-icon:empty{display:none}
/* Cocoon paragraph styles */
.is-style-handwritten-box,.has-box-style{border:2px dashed #b8a978;border-radius:12px;padding:1em}
.is-style-stapler-top-left-box{border:2px solid #ddd;padding:1.2em;position:relative}.is-style-stapler-top-left-box::before{content:"";position:absolute;top:8px;left:-6px;width:30px;height:6px;background:#999;transform:rotate(-45deg)}
.is-style-balloon-top-box{border:2px solid #ccc;border-radius:8px;padding:1em;position:relative;margin-top:14px}.is-style-balloon-top-box::before{content:"";position:absolute;top:-12px;left:50%;transform:translateX(-50%);border:12px solid transparent;border-top:0;border-bottom-color:#ccc}
[class*="is-style-border-radius-l"]{border-radius:16px}
[class*="is-style-border-"]:not([class*="radius"]){border:2px solid #ccc;padding:1em}
.is-style-bottom-margin-0em{margin-bottom:0!important}.is-style-bottom-margin-1em{margin-bottom:1em!important}.is-style-bottom-margin-2em{margin-bottom:2em!important}.is-style-bottom-margin-3em{margin-bottom:3em!important}
.kzwid{display:none}@media(min-width:1200px){.kzwid{display:block}}
.display-none{display:none!important}
/* icons (Font Awesome replaced with emoji) */
.fas,.fab,.far,.fa,[class*="fab-"],.dashicons{font-style:normal}
.fa-mobile-alt::before{content:"📱"}.fa-camera::before{content:"📷"}.fa-qrcode::before{content:"🔳"}.fa-laptop::before{content:"💻"}.fab-info-circle::before{content:"ℹ️";margin-right:.3em}.dashicons-location::before{content:"📍"}.fa-share-square::before{content:"↗"}.fa-external-link-alt::before{content:"↗";font-size:.8em;margin-left:.15em}
/* TOC */
details.toc{border:1px solid var(--border);border-radius:6px;background:#fafbfc;padding:.6em 1em;margin:0 auto 1.6em;max-width:640px}
details.toc summary{font-weight:700;cursor:pointer;text-align:center}
details.toc ol{margin:.6em 0 0;padding-left:1.4em}details.toc a{color:var(--text);text-decoration:none}details.toc a:hover{text-decoration:underline}
/* post header & navi */
.eye-catch{position:relative;margin:0 0 1em}.eye-catch img{width:100%;border-radius:6px}
.cat-label{position:absolute;top:8px;left:8px;background:var(--key);color:#fff;font-size:12px;padding:2px 8px;border-radius:3px}
.date-tags{font-size:13px;color:var(--muted);display:flex;gap:1em;flex-wrap:wrap;margin-bottom:1.2em}
.cat-link{background:var(--soft);padding:0 .6em;border-radius:3px;text-decoration:none}
.post-navi{display:grid;gap:12px;margin:2em 0}@media(min-width:768px){.post-navi{grid-template-columns:1fr 1fr}}
.post-navi a{display:block;border:1px solid var(--border);border-radius:6px;padding:.8em 1em;text-decoration:none;color:var(--text)}.post-navi a span{display:block;font-size:12px;color:var(--muted)}.post-navi .next{text-align:right}
/* archive cards */
.cards{list-style:none;margin:0;padding:0;display:grid;gap:16px}@media(min-width:600px){.cards{grid-template-columns:1fr 1fr}}
.card a{display:block;border:1px solid var(--border);border-radius:8px;overflow:hidden;color:var(--text);text-decoration:none;height:100%;background:#fff}
.card figure{position:relative;margin:0;aspect-ratio:16/9;overflow:hidden}.card figure img{width:100%;height:100%;object-fit:cover}
.card-title{font-size:1.05rem;margin:.6em .8em .3em;line-height:1.5}.card-meta{font-size:12px;color:var(--muted);margin:0 .9em .8em;display:flex;gap:1em}
/* existing Cocoon new-entry list inside content */
.new-entry-cards,.widget-entry-cards{display:grid;gap:10px;margin-bottom:1.4em}
.entry-card-wrap,.new-entry-card-link,.widget-entry-card-link{display:flex;gap:10px;border:1px solid var(--border);border-radius:6px;padding:8px;color:var(--text);text-decoration:none}
.new-entry-card-thumb,.widget-entry-card-thumb,.entry-card-thumb{flex:0 0 120px;margin:0;position:relative}.new-entry-card-thumb .cat-label,.widget-entry-card-thumb .cat-label{font-size:10px;top:2px;left:2px}
.new-entry-card-content,.widget-entry-card-content{flex:1;min-width:0}.new-entry-card-title,.widget-entry-card-title{font-weight:700;font-size:15px;line-height:1.5}
.new-entry-card-date,.widget-entry-card-date{font-size:12px;color:var(--muted);display:flex;gap:.8em}
.post-date::before{content:"🕒 "}.post-update::before{content:"🔄 "}
/* sidebar */
.sidebar{margin-top:32px}.widget{margin-bottom:28px}.widget-title{font-size:1.05rem;background:var(--key);color:#fff;padding:.4em .8em;border-radius:4px;margin:0 0 .8em}
.author-box{text-align:center;border:1px solid var(--border);border-radius:6px;padding:1em}.author-role{font-size:13px;color:var(--muted)}.avatar{border-radius:50%;margin:.6em auto}.author-box p{text-align:left;font-size:14px}
.mini-list{list-style:none;padding:0;margin:0}.mini-list a{display:block;padding:.5em .2em;border-bottom:1px dashed var(--border);color:var(--text);text-decoration:none}
.qr{display:block;margin:10px auto 0}
@media(min-width:1024px){.sidebar{margin-top:0}}
/* LINE */
.line-btn{display:inline-block;background:var(--line);color:#fff!important;font-weight:700;text-decoration:none;padding:.75em 1.6em;border-radius:999px;box-shadow:0 3px 0 #04a045;line-height:1.4}
.line-btn::before{content:"💬 "}.line-btn-lg{font-size:1.2rem;padding:1em 2.2em;margin:.6em 0 1em}
.line-cta{background:#effaf3;text-align:center;padding:24px 12px;border-top:1px solid #d5efdf}.line-cta p{margin:0 0 .8em}
.contact-line .lead{font-size:1.05rem;text-align:center}
.qr-box{text-align:center;border:1px dashed #9ccfb0;border-radius:8px;padding:1em;margin:1em auto 2em;max-width:420px;font-size:14px}
.steps{counter-reset:s;list-style:none;padding:0}.steps li{counter-increment:s;position:relative;padding:.6em .8em .6em 3em;border:1px solid var(--border);border-radius:6px;margin-bottom:.6em}
.steps li::before{content:counter(s);position:absolute;left:.8em;top:.6em;width:1.6em;height:1.6em;border-radius:50%;background:var(--line);color:#fff;text-align:center;line-height:1.6em;font-weight:700}
.note-box{background:#fff7cc;border-radius:6px;padding:.8em 1em;margin:1.4em 0}.note-box p{margin:0}
.btn-plain{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:.5em 1.4em;text-decoration:none;color:var(--text)}
/* footer */
.site-footer{background:#222;color:#ddd;text-align:center;padding:28px 12px 80px}
.footer-logo{max-width:220px;margin-bottom:12px}
.site-footer ul{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px}
.site-footer a{color:#eee;text-decoration:none;font-size:14px}.copyright{font-size:12px;color:#aaa}
.to-top{position:fixed;right:14px;bottom:14px;width:44px;height:44px;border-radius:50%;background:rgba(30,80,162,.85);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;opacity:0;pointer-events:none;transition:opacity .3s;z-index:60}
.to-top.show{opacity:1;pointer-events:auto}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.has-amber-color{color:#ffc107!important}.has-amber-background-color{background-color:#ffc107!important}.has-amber-border-color{border-color:#ffc107!important}.has-black-color{color:#000!important}.has-black-background-color{background-color:#000!important}.has-black-border-color{border-color:#000!important}.has-blue-color{color:#0095d9!important}.has-blue-background-color{background-color:#0095d9!important}.has-blue-border-color{border-color:#0095d9!important}.has-brown-color{color:#954e2a!important}.has-brown-background-color{background-color:#954e2a!important}.has-brown-border-color{border-color:#954e2a!important}.has-cocoon-black-color{color:#333!important}.has-cocoon-black-background-color{background-color:#333!important}.has-cocoon-black-border-color{border-color:#333!important}.has-cocoon-white-color{color:#fff!important}.has-cocoon-white-background-color{background-color:#fff!important}.has-cocoon-white-border-color{border-color:#fff!important}.has-cyan-bluish-gray-color{color:#abb8c3!important}.has-cyan-bluish-gray-background-color{background-color:#abb8c3!important}.has-cyan-bluish-gray-border-color{border-color:#abb8c3!important}.has-cyan-color{color:#00a3af!important}.has-cyan-background-color{background-color:#00a3af!important}.has-cyan-border-color{border-color:#00a3af!important}.has-dark-grey-color{color:#666!important}.has-dark-grey-background-color{background-color:#666!important}.has-dark-grey-border-color{border-color:#666!important}.has-deep-orange-color{color:#ea5506!important}.has-deep-orange-background-color{background-color:#ea5506!important}.has-deep-orange-border-color{border-color:#ea5506!important}.has-deep-color{color:#55295b!important}.has-deep-background-color{background-color:#55295b!important}.has-deep-border-color{border-color:#55295b!important}.has-ex-a-color{color:#fef4f4!important}.has-ex-a-background-color{background-color:#fef4f4!important}.has-ex-a-border-color{border-color:#fef4f4!important}.has-ex-b-color{color:#f8f4e6!important}.has-ex-b-background-color{background-color:#f8f4e6!important}.has-ex-b-border-color{border-color:#f8f4e6!important}.has-ex-c-color{color:#eaf4fc!important}.has-ex-c-background-color{background-color:#eaf4fc!important}.has-ex-c-border-color{border-color:#eaf4fc!important}.has-ex-d-color{color:#eaedf7!important}.has-ex-d-background-color{background-color:#eaedf7!important}.has-ex-d-border-color{border-color:#eaedf7!important}.has-ex-e-color{color:#e8ecef!important}.has-ex-e-background-color{background-color:#e8ecef!important}.has-ex-e-border-color{border-color:#e8ecef!important}.has-ex-f-color{color:#f8fbf8!important}.has-ex-f-background-color{background-color:#f8fbf8!important}.has-ex-f-border-color{border-color:#f8fbf8!important}.has-green-color{color:#3eb370!important}.has-green-background-color{background-color:#3eb370!important}.has-green-border-color{border-color:#3eb370!important}.has-grey-color{color:#949495!important}.has-grey-background-color{background-color:#949495!important}.has-grey-border-color{border-color:#949495!important}.has-indigo-color{color:#1e50a2!important}.has-indigo-background-color{background-color:#1e50a2!important}.has-indigo-border-color{border-color:#1e50a2!important}.has-key-color-color{color:#fff!important}.has-key-color-background-color{background-color:#fff!important}.has-key-color-border-color{border-color:#fff!important}.has-light-blue-color{color:#2ca9e1!important}.has-light-blue-background-color{background-color:#2ca9e1!important}.has-light-blue-border-color{border-color:#2ca9e1!important}.has-light-green-cyan-color{color:#7bdcb5!important}.has-light-green-cyan-background-color{background-color:#7bdcb5!important}.has-light-green-cyan-border-color{border-color:#7bdcb5!important}.has-light-green-color{color:#8bc34a!important}.has-light-green-background-color{background-color:#8bc34a!important}.has-light-green-border-color{border-color:#8bc34a!important}.has-light-grey-color{color:#ddd!important}.has-light-grey-background-color{background-color:#ddd!important}.has-light-grey-border-color{border-color:#ddd!important}.has-lime-color{color:#c3d825!important}.has-lime-background-color{background-color:#c3d825!important}.has-lime-border-color{border-color:#c3d825!important}.has-luminous-vivid-amber-color{color:#fcb900!important}.has-luminous-vivid-amber-background-color{background-color:#fcb900!important}.has-luminous-vivid-amber-border-color{border-color:#fcb900!important}.has-luminous-vivid-orange-color{color:#ff6900!important}.has-luminous-vivid-orange-background-color{background-color:#ff6900!important}.has-luminous-vivid-orange-border-color{border-color:#ff6900!important}.has-orange-color{color:#f39800!important}.has-orange-background-color{background-color:#f39800!important}.has-orange-border-color{border-color:#f39800!important}.has-pale-cyan-blue-color{color:#8ed1fc!important}.has-pale-cyan-blue-background-color{background-color:#8ed1fc!important}.has-pale-cyan-blue-border-color{border-color:#8ed1fc!important}.has-pale-pink-color{color:#f78da7!important}.has-pale-pink-background-color{background-color:#f78da7!important}.has-pale-pink-border-color{border-color:#f78da7!important}.has-pink-color{color:#e95295!important}.has-pink-background-color{background-color:#e95295!important}.has-pink-border-color{border-color:#e95295!important}.has-purple-color{color:#884898!important}.has-purple-background-color{background-color:#884898!important}.has-purple-border-color{border-color:#884898!important}.has-red-color{color:#e60033!important}.has-red-background-color{background-color:#e60033!important}.has-red-border-color{border-color:#e60033!important}.has-teal-color{color:#007b43!important}.has-teal-background-color{background-color:#007b43!important}.has-teal-border-color{border-color:#007b43!important}.has-vivid-cyan-blue-color{color:#0693e3!important}.has-vivid-cyan-blue-background-color{background-color:#0693e3!important}.has-vivid-cyan-blue-border-color{border-color:#0693e3!important}.has-vivid-green-cyan-color{color:#00d084!important}.has-vivid-green-cyan-background-color{background-color:#00d084!important}.has-vivid-green-cyan-border-color{border-color:#00d084!important}.has-vivid-purple-color{color:#9b51e0!important}.has-vivid-purple-background-color{background-color:#9b51e0!important}.has-vivid-purple-border-color{border-color:#9b51e0!important}.has-vivid-red-color{color:#cf2e2e!important}.has-vivid-red-background-color{background-color:#cf2e2e!important}.has-vivid-red-border-color{border-color:#cf2e2e!important}.has-watery-blue-color{color:#f3fafe!important}.has-watery-blue-background-color{background-color:#f3fafe!important}.has-watery-blue-border-color{border-color:#f3fafe!important}.has-watery-green-color{color:#ebf8f4!important}.has-watery-green-background-color{background-color:#ebf8f4!important}.has-watery-green-border-color{border-color:#ebf8f4!important}.has-watery-red-color{color:#fdf2f2!important}.has-watery-red-background-color{background-color:#fdf2f2!important}.has-watery-red-border-color{border-color:#fdf2f2!important}.has-watery-yellow-color{color:#fff7cc!important}.has-watery-yellow-background-color{background-color:#fff7cc!important}.has-watery-yellow-border-color{border-color:#fff7cc!important}.has-white-color{color:#fff!important}.has-white-background-color{background-color:#fff!important}.has-white-border-color{border-color:#fff!important}.has-yellow-color{color:#ffd900!important}.has-yellow-background-color{background-color:#ffd900!important}.has-yellow-border-color{border-color:#ffd900!important}
.is-style-bottom-margin-5em{margin-bottom:5em!important}.is-style-bottom-margin-6em{margin-bottom:6em!important}
body{overflow-x:clip}
/* v2 tweaks */
.banner{background-size:cover;background-position:center;padding:0}.banner img{display:block;margin:0 auto}
.no-sidebar .main{max-width:1100px}
.entry-content hr.has-background{padding:0;height:1px;border:0;opacity:.45;margin:1.4em auto}
.entry-content h2.was-h1,.entry-content h1.content-h1{background:none;border:0;padding:0;font-size:1.5rem}
@media(min-width:768px){.entry-content h2.was-h1,.entry-content h1.content-h1{font-size:1.75rem}}

html,body{overflow-x:clip}
/* ===== v3: modern scroll-reveal (replaces WP "Blocks Animation" animate.css effects) ===== */
:root{--ease-out:cubic-bezier(.22,1,.36,1)}
@media (prefers-reduced-motion:no-preference){
.js .animated{--rv:translate3d(0,32px,0);opacity:0;transform:var(--rv);filter:blur(6px);transition:opacity .9s var(--ease-out) var(--rd,0s),transform 1.1s var(--ease-out) var(--rd,0s),filter .9s var(--ease-out) var(--rd,0s);will-change:opacity,transform}
.js .animated.fadeIn{--rv:scale(.98)}
.js .animated.fadeInDown{--rv:translate3d(0,-32px,0)}
.js .animated.fadeInLeft{--rv:translate3d(-48px,0,0)}
.js .animated.fadeInRight{--rv:translate3d(48px,0,0)}
.js .animated.slideInUp{--rv:translate3d(0,56px,0)}
.js .animated.bounce{--rv:translate3d(0,16px,0) scale(.96)}
.js .animated.delay-500ms{--rd:.12s}.js .animated.delay-1s{--rd:.22s}.js .animated.delay-2s{--rd:.34s}.js .animated.delay-5s{--rd:.4s}
.js .animated.slow{transition-duration:1.3s}.js .animated.slower{transition-duration:1.6s}
.js .animated.is-inview{opacity:1;transform:none;filter:none}
/* original "bounce delay-5s" CTA -> soft lift + glow ring every few seconds */
.button-block.bounce.is-inview>a{animation:rh-nudge 4.5s var(--ease-out) 1.6s infinite}
}
@keyframes rh-nudge{0%,70%,100%{transform:none;box-shadow:0 0 0 0 rgba(6,199,85,0)}78%{transform:translateY(-6px);box-shadow:0 10px 22px -8px rgba(0,0,0,.35),0 0 0 0 rgba(255,217,0,.55)}90%{transform:none;box-shadow:0 0 0 14px rgba(255,217,0,0)}}

/* ===== snow hero (was a single animated image 8a6bbf…webp) ===== */
@font-face{font-family:"RH Rounded";src:url(/shop/assets/fonts/rounded-snow.woff2) format("woff2");font-weight:800;font-display:swap;unicode-range:U+304b,U+3059,U+305f,U+3063,U+3068,U+306b,U+3075,U+3092,U+5730,U+96ea,U+9762}
.sr-svg{position:absolute;width:0;height:0;overflow:hidden}
.snow-hero{position:relative;margin:0 0 1.2em;isolation:isolate;container-type:inline-size;width:100%}
.snow-hero__sky{position:relative;overflow:hidden;height:clamp(140px,30cqi,260px);border-radius:14px;
 background:radial-gradient(120% 90% at 50% 0%,#a9cff7 0%,#7fb4ee 55%,#6aa5ea 100%);
 box-shadow:inset 0 -30px 40px -30px rgba(255,255,255,.7)}
.snow-hero__speckle{position:absolute;inset:-160px 0 0 0;pointer-events:none;
 background-image:radial-gradient(circle,rgba(255,255,255,.9) 0 1.6px,transparent 2.4px),radial-gradient(circle,rgba(255,255,255,.55) 0 3px,transparent 4px),radial-gradient(circle,rgba(255,255,255,.35) 0 6px,transparent 8px);
 background-size:61px 53px,113px 97px,173px 160px;background-position:0 0,27px 41px,80px 13px}
.snow-hero__speckle.s2{opacity:.6;background-size:47px 71px,89px 131px,199px 160px;background-position:13px 7px,51px 23px,9px 90px;filter:blur(.6px)}
.snow-hero__shine{position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translateX(-100%);pointer-events:none}
.snow-hero__glow{position:absolute;left:-10%;right:-10%;bottom:-60%;height:100%;background:radial-gradient(60% 60% at 50% 100%,rgba(255,150,70,.55),rgba(255,120,80,.18) 55%,transparent 75%);opacity:0;pointer-events:none}
.snow-hero__flakes{position:absolute;inset:0}
.flake{position:absolute;left:var(--x);top:var(--y);width:calc(clamp(40px,12cqi,118px)*var(--s));aspect-ratio:1;translate:-50% 0;color:#fff;filter:drop-shadow(0 2px 6px rgba(40,90,160,.25))}
.flake svg{display:block;width:100%;height:100%}
.snow-hero__title{position:relative;z-index:2;margin:calc(-.62 * clamp(1.3rem,8.6cqi,5rem)) 0 0;padding:0 2% 0 7%;white-space:nowrap;font-family:"RH Rounded","M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Arial Rounded MT Bold",sans-serif;font-weight:800;line-height:1.1;letter-spacing:.02em;text-align:left}
.snow-hero__ground{font-size:clamp(1.3rem,8.6cqi,5rem);color:#fff;-webkit-text-stroke:.14em #a9a9a9;paint-order:stroke fill;text-shadow:0 4px 0 rgba(0,0,0,.06)}
.snow-hero__melt{position:relative;display:inline-block;margin-left:.3em;font-size:clamp(.8rem,5cqi,2.9rem);color:#2b97e3}
.snow-hero__melt .ch{background:linear-gradient(100deg,#ff5a36 0%,#ff9a3c 22%,#ffb347 34%,#ff7a59 46%,#36a3ea 58%,#2b97e3 100%);background-size:260% 100%;background-position:0 0;-webkit-background-clip:text;background-clip:text;color:transparent;padding:0 .02em}
.drip{position:absolute;top:88%;width:.13em;height:.13em;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:#ff8a4a;opacity:0}
.drip.d1{left:16%}.drip.d2{left:50%;background:#ffa24a}.drip.d3{left:83%}
.snow-hero .ch{display:inline-block}
@media (prefers-reduced-motion:no-preference){
 .snow-hero__speckle.s1{animation:rh-fall 14s linear infinite}
 .snow-hero__speckle.s2{animation:rh-fall2 9s linear infinite}
 .flake svg{animation:rh-sway calc(9s + var(--k)*1.3s) ease-in-out calc(var(--k)*-1.7s) infinite alternate}
 .snow-hero.is-inview .snow-hero__shine{animation:rh-shine 7s var(--ease-out) 1.2s infinite}
 .snow-hero.is-paused *{animation-play-state:paused!important}
 /* reveal (JS adds .is-inview); without JS everything is shown in its final state */
 .js .snow-hero .flake{opacity:0;transform:translateY(-70%) scale(.6) rotate(-40deg);transition:opacity 1s var(--ease-out),transform 1.4s var(--ease-out);transition-delay:calc(var(--k)*90ms)}
 .js .snow-hero.is-inview .flake{opacity:1;transform:none}
 .js .snow-hero .ch{opacity:0;transform:translateY(.45em) scale(.85);filter:blur(8px);transition:opacity .7s var(--ease-out),transform .9s cubic-bezier(.34,1.56,.64,1),filter .7s var(--ease-out);transition-delay:calc(.35s + var(--i)*70ms)}
 .js .snow-hero.is-inview .ch{opacity:1;transform:none;filter:none}
 .js .snow-hero__melt .ch{background-position:100% 0}
 .js .snow-hero.is-inview .snow-hero__melt .ch{--md:calc(1.7s + (var(--i) - 8)*.22s);animation:rh-melt 1.8s var(--ease-out) var(--md) forwards,rh-soften 1.5s var(--ease-out) calc(var(--md) + .3s),rh-heat 5s ease-in-out calc(var(--md) + 2s) infinite}
 .js .snow-hero.is-inview .drip{animation:rh-drip 3.2s cubic-bezier(.55,0,.75,.4) infinite}
 .js .snow-hero.is-inview .drip.d1{animation-delay:2.6s}.js .snow-hero.is-inview .drip.d2{animation-delay:3.3s}.js .snow-hero.is-inview .drip.d3{animation-delay:4.1s}
 .js .snow-hero.is-inview .snow-hero__glow{animation:rh-glow 6s ease-in-out 1.8s infinite alternate}
 @supports (animation-timeline:view()){
  .snow-hero__flakes{animation:rh-parallax linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
 }
}
@keyframes rh-fall{to{transform:translate3d(-20px,160px,0)}}
@keyframes rh-fall2{to{transform:translate3d(18px,160px,0)}}
@keyframes rh-sway{from{transform:rotate(-14deg) translateY(-3px)}to{transform:rotate(16deg) translateY(5px)}}
@keyframes rh-shine{0%{transform:translateX(-100%)}35%,100%{transform:translateX(100%)}}
@keyframes rh-parallax{from{transform:translateY(-14px)}to{transform:translateY(18px)}}
@keyframes rh-melt{from{background-position:100% 0}to{background-position:0 0}}
@keyframes rh-heat{0%,100%{background-position:0 0}50%{background-position:16% 0}}
@keyframes rh-soften{0%{transform:none}40%{transform:scale(1.06,.9) translateY(.04em)}70%{transform:scale(.98,1.05)}100%{transform:none}}
@keyframes rh-drip{0%{opacity:0;transform:translateY(0) scale(.4)}12%{opacity:1;transform:translateY(0) scale(1,1.2)}55%{opacity:1;transform:translateY(.5em) scale(.9,1.3)}80%,100%{opacity:0;transform:translateY(1.1em) scale(.6)}}
@keyframes rh-glow{from{opacity:.25}to{opacity:.85}}
@media (max-width:480px){.snow-hero__title{padding-left:3%}.snow-hero__melt{margin-left:.2em}.flake.f-hide-sm{display:none}}
/* ===== v3.1: CTA cover banners (image-size-fix) – show whole image, button bottom-centered ===== */
.wp-block-cover.image-size-fix{display:block;min-height:0!important;padding:0!important;overflow:visible;background:none}
.wp-block-cover.image-size-fix>img.wp-block-cover__image-background{position:static;display:block;width:100%;height:auto;aspect-ratio:1063/400;object-fit:contain}
.wp-block-cover.image-size-fix>.wp-block-cover__inner-container{position:absolute;left:0;right:0;bottom:3.5%;width:auto;padding:0;display:flex;justify-content:center}
.wp-block-cover.image-size-fix .button-block{margin:0}
.wp-block-cover.image-size-fix .button-block>a{box-shadow:0 6px 18px -6px rgba(0,0,0,.45)}
@media(max-width:599px){.wp-block-cover.image-size-fix>.wp-block-cover__inner-container{position:static;margin-top:.8em}}
/* ===== v4: premium Japanese typography – Zen Kaku Gothic New (self-hosted subset, OFL) ===== */
@font-face{font-family:"RH Gothic";src:url(/shop/assets/fonts/zkgn-500.woff2) format("woff2");font-weight:400 500;font-style:normal;font-display:swap}
@font-face{font-family:"RH Gothic";src:url(/shop/assets/fonts/zkgn-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}
:root{--font-jp:"RH Gothic","Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","BIZ UDPGothic",Meiryo,sans-serif;--text:#2b2f33}
body{font-family:var(--font-jp);font-weight:500;line-height:1.85;letter-spacing:.04em;font-kerning:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-size:16px}
@media(min-width:768px){body{font-size:16.5px}}
button,input,select,textarea{font-family:inherit;letter-spacing:inherit}
b,strong,th,.btn,.btn-wrap>a,.line-btn,.brand,.gnav a[aria-current]{font-weight:700}
h1,h2,h3,h4,h5,h6,.entry-title,.archive-title,.brand,.btn,.btn-wrap>a,.line-btn,.gnav a,.card-title,.new-entry-card-title,.widget-entry-card-title{font-feature-settings:"palt" 1;letter-spacing:.045em}
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.5}
.entry-content h1,.entry-content h2,.entry-title,.archive-title{line-height:1.5}
.entry-title,.archive-title{font-size:clamp(1.5rem,1.15rem + 1.6vw,2rem)}
.entry-content h1,.entry-content h2{font-size:clamp(1.3rem,1.08rem + 1.05vw,1.7rem)}
.entry-content h3{font-size:clamp(1.15rem,1.02rem + .6vw,1.38rem)}
.entry-content h4,.entry-content h5,.entry-content h6{font-size:clamp(1.04rem,1rem + .25vw,1.14rem)}
.entry-content p,.entry-content li{line-height:1.9}
.card-meta,.has-small-font-size,.fz-12px,.fz-13px,small{letter-spacing:.03em}
table,.wp-block-table{letter-spacing:.03em;line-height:1.7}

.snow-hero__title,.snow-hero__title *{font-feature-settings:normal}
.sidebar .line-btn{letter-spacing:.01em;padding-left:1em;padding-right:1em;font-size:15px;white-space:nowrap}
/* ===== v5: card / box / balloon text – tighter tracking, no orphan lines ===== */
:is(.has-box-style,[class*="is-style-border-"],.is-style-balloon-top-box,.is-style-stapler-top-left-box,.micro-balloon){letter-spacing:.015em;line-height:1.8;line-break:strict;word-break:auto-phrase;text-wrap:pretty;font-feature-settings:"palt" 1}
:is(.has-box-style,[class*="is-style-border-"],.is-style-balloon-top-box,.is-style-stapler-top-left-box) .seg{display:block;text-wrap:pretty}
.has-text-align-center:is(.has-box-style,[class*="is-style-border-"],.is-style-balloon-top-box) .seg,.micro-balloon{text-wrap:balance}
@media(max-width:767px){
 :is(.has-box-style,[class*="is-style-border-"],.is-style-balloon-top-box,.is-style-stapler-top-left-box){font-size:15px;padding-left:1em!important;padding-right:1em!important}
 .is-long.has-text-align-center:is(.has-box-style,[class*="is-style-border-"],.is-style-balloon-top-box){text-align:left}
 .is-long.has-text-align-center:is(.has-box-style,[class*="is-style-border-"],.is-style-balloon-top-box) .seg{text-wrap:pretty}
}
