/*
Theme Name: ハイカチ V6
Theme URI: https://occultravel.com/haikachi/
Author: 京都オカルト商会
Description: ハイカチ専用WordPressテーマ V6。所有者向けの信頼訴求、対象物件の具体化、実績・メディア訴求、問い合わせ導線、タイポグラフィを再設計。
Version: 6.57
Text Domain: haikachi-v6
*/
:root{--hk-green:#15342b;--hk-green-2:#25473d;--hk-sage:#e9efe9;--hk-sage-2:#f3f5ef;--hk-cream:#f7f4ea;--hk-blue:#edf4f5;--hk-gold:#c8a967;--hk-line:#d8ddd6;--hk-white:#fff;--hk-max:1180px;--hk-shadow:0 16px 45px rgba(20,45,37,.08);}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,textarea,select{font:inherit}
.hk-container{width:min(var(--hk-max),calc(100% - 48px));margin-inline:auto}
.hk-narrow{width:min(860px,calc(100% - 48px));margin-inline:auto}
.hk-kicker{text-transform:uppercase;}
.hk-title{letter-spacing:.01em;margin:0 0 20px;font-weight:700;}
.hk-section-title{margin:0 0 14px;letter-spacing:.01em;}
.hk-card-title{margin:0 0 8px;}
.hk-lead{margin:0;}

.hk-section.soft{background:var(--hk-sage-2)}

.hk-section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);align-items:end;}
.hk-section-head.one{display:block;max-width:800px}
.hk-section-head.center{display:block;text-align:center;max-width:760px;margin:0 auto 50px}

/* header */
.hk-header{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(21,52,43,.08)}
.hk-header-inner{display:flex;align-items:center;}

.hk-brand strong{display:block;font-size:17px}
.hk-brand small{font-size:11px;color:#78827e;font-weight:600;letter-spacing:.06em}
.hk-nav{margin-left:auto;display:flex;align-items:center;}
.hk-nav a:not(.hk-header-cta):hover{color:#9a7c43}
.hk-header-cta{background:var(--hk-green);color:#fff;font-size:12px;letter-spacing:.03em;}
.hk-menu-btn{display:none;margin-left:auto;border:0;background:transparent;font-size:24px;padding:10px}

/* hero */
.hk-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);background:var(--hk-green);color:#fff;}
.hk-hero-copy{display:flex;align-items:center;justify-content:flex-end;padding:72px 72px 72px max(24px,calc((100vw - var(--hk-max))/2))}
.hk-hero-copy-inner{max-width:520px;width:100%}
.hk-hero .hk-kicker{color:#e4c98f}
.hk-hero h1{margin:0 0 28px;letter-spacing:.02em;}
.hk-hero p{color:#f0f3ef;margin:0 0 28px;}
.hk-hero strong{font-weight:800}
.hk-hero-photo{position:relative;min-height:520px;overflow:hidden}
.hk-hero-photo img{width:100%;height:100%;object-fit:cover}
.hk-hero-caption{position:absolute;bottom:18px;right:20px;background:rgba(9,22,18,.66);color:#fff;padding:7px 10px;font-size:11px;letter-spacing:.08em}
.hk-btn{display:inline-flex;align-items:center;justify-content:center;transition:.2s ease;border:1px solid transparent;}
.hk-btn-gold{background:#e2c982;color:#17352c}
.hk-btn-gold:hover{transform:translateY(-2px);background:#f0db9f}
.hk-btn-dark{background:var(--hk-green);color:#fff}
.hk-btn-outline{border-color:#c9d0ca;background:#fff;color:var(--hk-green)}
.hk-hero-note{color:#dce5df!important;}

/* trust strip */
.hk-trustbar{border-bottom:1px solid #dfe5dc;}
.hk-trustbar-inner{display:grid;align-items:center;}
.hk-trust-icon{display:grid;place-items:center;margin:auto;}
.hk-trust-icon svg{stroke:var(--hk-green);}
.hk-trustbar h2{margin:0 0 4px;}
.hk-trustbar p{margin:0;}

/* concern */
.hk-concern-wrap{display:grid;grid-template-columns:.9fr 1.1fr;align-items:start;}
.hk-mini-list{display:grid;gap:14px}
.hk-mini-card{display:grid;border:1px solid var(--hk-line);background:#fff;align-items:center;}
.hk-mini-card .icon{background:#eff4ee;display:grid;place-items:center;}
.hk-mini-card svg{stroke:var(--hk-green);}
.hk-mini-card h3{margin:0 0 2px;}
.hk-mini-card p{line-height:1.7;margin:0;color:#6b7771;}
.hk-image-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:48px}
.hk-image-pair figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#e6ebe6}
.hk-image-pair img{width:100%;height:100%;object-fit:cover}

/* benefits */
.hk-benefits-intro{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;}
.hk-benefit-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #d6ded6;border-left:1px solid #d6ded6}
.hk-benefit{position:relative;border-right:1px solid #d6ded6;border-bottom:1px solid #d6ded6;}
.hk-benefit:nth-child(1),.hk-benefit:nth-child(4){background:#e8f1ed}
.hk-benefit:nth-child(2),.hk-benefit:nth-child(5){background:#f6efd9}
.hk-benefit:nth-child(3),.hk-benefit:nth-child(6){background:#eaf1f3}
.hk-benefit-top{display:flex;justify-content:space-between;align-items:center;font-weight:800;letter-spacing:.12em;}
.hk-benefit-icon{border:1px solid rgba(21,52,43,.15);display:grid;place-items:center;}
.hk-benefit-icon svg{stroke:var(--hk-green);}
.hk-benefit h3{margin:0 0 10px;}

.hk-benefit ul{margin:0 0 18px;padding-left:18px;color:#52605a;}
.hk-benefit-more{margin-top:auto;font-weight:800;color:#8e7139;}
.hk-disclaimer{font-size:12px;color:#77827d;line-height:1.8;margin-top:16px}
.hk-center-btn{text-align:center;margin-top:26px}

/* properties */
.hk-property-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.hk-property{border:1px solid var(--hk-line);background:#fff}
.hk-property-media{aspect-ratio:16/10;overflow:hidden;background:#eef1ed}
.hk-property-media img{width:100%;height:100%;object-fit:cover}

.hk-meta{text-transform:uppercase;font-weight:800;margin-bottom:8px;}
.hk-property h3{margin:0 0 8px;}
.hk-property p{margin:0;color:#64706a;}
.hk-property-note{color:#66716c;margin-top:24px;}

.hk-property-examples{margin:15px 0 2px;padding:11px 13px;background:#f7f4ec;border-left:3px solid #b99b5d}
.hk-property-examples span{display:block;margin-bottom:4px;font-size:10px;font-weight:800;letter-spacing:.12em;color:#8d7a52}
.hk-property-examples p{margin:0!important;color:#4f5c56!important;font-size:12.5px!important;line-height:1.75!important}
.hk-property-examples-detail{margin-top:16px}

/* use */
.hk-use-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.hk-use-card{border:1px solid var(--hk-line);background:#fff}
.hk-use-card-media{aspect-ratio:4/3;overflow:hidden;background:#e9ece8}
.hk-use-card-media img{width:100%;height:100%;object-fit:cover}

.hk-use-card h3{margin:0 0 9px;}
.hk-use-card p{margin:0;color:#65716b;}

/* works */
.hk-work{border-top:1px solid #dfe4de;}
.hk-work:first-of-type{border-top:0;padding-top:0}
.hk-work-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:start;}
.hk-work-grid.reverse{grid-template-columns:.9fr 1.1fr}
.hk-work-main{aspect-ratio:16/11;overflow:hidden;background:#eef0ec}
.hk-work-main img{width:100%;height:100%;object-fit:cover}
.hk-work-copy h3{margin:0 0 8px;}
.hk-work-subtitle{font-weight:800;color:#8a7446;margin:0 0 18px}
.hk-work-copy p{color:#59655f;margin:0 0 18px;}
.hk-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.hk-tag{font-weight:800;}
.hk-media-block{margin-top:28px;padding-top:24px;border-top:1px solid #dce2dc}
.hk-media-block h4{margin:0 0 10px;}
.hk-media-logos{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}
.hk-media-logos span{background:#f0f2ed;padding:7px 10px;font-size:12px;font-weight:800}
.hk-media-lists{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px;color:#5e6863;}
.hk-media-lists h5{color:#26372f;margin:0 0 7px;}
.hk-media-lists ul{margin:0;padding-left:16px;line-height:1.8}
.hk-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px}
.hk-gallery figure{margin:0}
.hk-gallery-img{aspect-ratio:4/3;overflow:hidden;background:#edf0eb}
.hk-gallery-img img{width:100%;height:100%;object-fit:cover}
.hk-gallery figcaption{color:#6a746f;margin-top:7px;}

/* owner/safety */
.hk-owner-list{display:grid;gap:0;border-top:1px solid #d5ddd5}
.hk-owner-row{display:grid;border-bottom:1px solid #d5ddd5;align-items:center;}
.hk-owner-row .icon{background:#fff;border:1px solid #d3ddd5;display:grid;place-items:center;}
.hk-owner-row svg{stroke:var(--hk-green);}
.hk-owner-row h3{margin:0 0 2px;}
.hk-owner-row p{color:#69746f;margin:0;}
.hk-safety-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.hk-safety-card{background:#fff;border:1px solid #d7ded8;}
.hk-safety-card .icon{background:#edf3ee;display:grid;place-items:center;}
.hk-safety-card svg{stroke:var(--hk-green);}
.hk-safety-card h3{margin:0 0 8px;}
.hk-safety-card p{color:#65716b;margin:0;}
.hk-safety-note{font-size:12px;color:#77817c;margin-top:14px}

/* flow */
.hk-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hk-flow-card{border:1px solid #d8ded8;background:#fff;position:relative;}
.hk-flow-card:nth-child(1){background:#f4f5ef}.hk-flow-card:nth-child(2){background:#f5efdf}.hk-flow-card:nth-child(3){background:#eaf2f2}
.hk-flow-num{letter-spacing:.15em;color:#9b8351;font-weight:800;}
.hk-flow-card h3{margin:0 0 8px;}
.hk-flow-card p{color:#66726b;margin:0;line-height:1.8;}

/* faq */
.hk-faq{border-top:1px solid #d7ded8}
.hk-faq-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #d7ded8;font-weight:700;}
.hk-faq-plus{color:#8b7547;}

/* CTA/footer */
.hk-cta{background:var(--hk-green);color:#fff;}
.hk-cta-grid{display:grid;grid-template-columns:1.1fr .9fr;align-items:center;}
.hk-cta .hk-kicker{color:#e4c98f}
.hk-cta h2{margin:0 0 16px;}
.hk-cta p{color:#e0e7e2;margin:0 0 24px}
.hk-cta-box{border:1px solid rgba(255,255,255,.18);}
.hk-cta-box h3{margin:0 0 12px;}
.hk-cta-list{display:grid;}

.hk-footer{background:#fff;border-top:1px solid #e1e5e0;}
.hk-footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px;color:#69736e;}
.hk-footer-brand{font-weight:800;color:#25372f}
.hk-footer-links{display:flex;gap:18px;flex-wrap:wrap}

@media(max-width:980px){
  .hk-nav{display:none;position:absolute;left:0;right:0;top:74px;background:#fff;border-bottom:1px solid #e0e5e0;padding:18px 24px;flex-direction:column;align-items:flex-start}
  .hk-nav.is-open{display:flex}.hk-menu-btn{display:block}.hk-brand{min-width:0}
  .hk-hero{grid-template-columns:1fr}.hk-hero-copy{padding:64px 28px}.hk-hero-photo{min-height:420px}
  .hk-section-head,.hk-concern-wrap,.hk-benefits-intro,.hk-work-grid,.hk-work-grid.reverse,.hk-cta-grid{grid-template-columns:1fr;gap:34px}
  .hk-use-grid{grid-template-columns:1fr 1fr}.hk-media-lists{grid-template-columns:1fr}.hk-gallery{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  body{font-size:15px}.hk-container,.hk-narrow{width:min(100% - 32px,var(--hk-max))}.hk-section{padding:70px 0}
  .hk-header-inner{height:66px}.hk-nav{top:66px}.hk-brand strong{font-size:15px}.hk-brand small{display:none}
  .hk-hero{min-height:auto}.hk-hero-copy{padding:52px 20px}.hk-hero h1{font-size:39px}.hk-hero-photo{min-height:310px}
  .hk-trustbar-inner{grid-template-columns:52px 1fr;gap:14px}.hk-trust-icon{width:46px;height:46px}.hk-trustbar h2{font-size:16px}.hk-trustbar p{font-size:12px}
  .hk-title{font-size:36px}.hk-section-title{font-size:30px}.hk-section-head{margin-bottom:34px}
  .hk-image-pair,.hk-benefit-grid,.hk-property-grid,.hk-use-grid,.hk-safety-grid,.hk-flow{grid-template-columns:1fr}
  .hk-benefit{min-height:0}.hk-gallery{grid-template-columns:1fr 1fr}.hk-work-copy h3{font-size:30px}.hk-media-lists{grid-template-columns:1fr}
  .hk-footer-inner{flex-direction:column;align-items:flex-start}.hk-cta{padding:56px 0}
}


/* =========================================================
   V3 visual balance overrides
   - logo integration
   - typography rebalance
   - compact pictograms in final CTA
   ========================================================= */

.hk-kicker{margin-bottom:10px;}
.hk-title{font-size:clamp(30px,3.5vw,46px);line-height:1.42;margin-bottom:16px}
.hk-section-title{margin-bottom:12px;}
.hk-card-title{font-size:20px;line-height:1.55}

.hk-section{padding:88px 0}
.hk-section-head{gap:62px;margin-bottom:42px}

/* Header / logo */
.hk-header-inner{height:82px;gap:24px}
.hk-brand{gap:11px;font-weight:800;}
.hk-brand-mark-wrap{display:block;flex:0 0 46px;width:46px;height:46px;overflow:hidden}
.hk-brand-mark,.hk-brand-mark-wrap .custom-logo-link img{width:46px!important;height:46px!important;object-fit:contain;display:block}
.hk-brand-mark-wrap .custom-logo-link{display:block;width:46px;height:46px}
.hk-brand-copy{display:block;min-width:0}
.hk-brand-copy strong{display:block;font-size:20px;line-height:1.1;color:#19372f;}
.hk-brand-copy small{display:block;margin-top:4px;font-size:10px;white-space:nowrap;}

.hk-header-cta{padding:11px 16px}

/* Hero */
.hk-hero{min-height:580px}
.hk-hero-copy{padding-top:64px;padding-bottom:64px}
.hk-hero h1{margin-bottom:24px;}
.hk-hero p{margin-bottom:24px;}
.hk-hero-note{font-size:12.5px!important;margin-top:16px!important}
.hk-btn{min-height:46px;padding:11px 20px;font-size:13.5px}

/* Trust / concern */





.hk-concern-wrap{gap:70px}
.hk-mini-card{padding:16px 18px;}



.hk-mini-card p{font-size:13px}

/* Benefits */
.hk-benefits-intro{gap:50px;margin-bottom:40px}
.hk-benefit{padding:28px 30px;}
.hk-benefit-top{font-size:11.5px;}


.hk-benefit h3{margin-bottom:8px;}
.hk-benefit .catch{line-height:1.7;margin-bottom:10px;}
.hk-benefit ul{margin-bottom:14px;}
.hk-benefit-more{font-size:11.5px}

/* Properties / use cases */
.hk-property-body{padding:18px 20px 22px}
.hk-property h3{font-size:22px;line-height:1.5}
.hk-property p{font-size:14px;line-height:1.8}
.hk-use-card-body{padding:18px 19px 22px}
.hk-use-card h3{font-size:20px;line-height:1.55}
.hk-use-card p{font-size:14px;line-height:1.8}
.hk-meta{font-size:10.5px}

/* Works */
.hk-work{padding:62px 0}
.hk-work-grid{gap:44px}

.hk-work-subtitle{font-size:15px;margin-bottom:14px}
.hk-work-copy p{font-size:15px;line-height:1.9}
.hk-media-block h4{font-size:17px}
.hk-media-lists{font-size:11.5px}
.hk-tag{font-size:10.5px;padding:6px 9px}
.hk-gallery figcaption{font-size:10.5px}

/* Owner / safety / flow */
.hk-owner-row{padding:20px 0;}



.hk-owner-row p{font-size:13.5px}
.hk-safety-card{padding:26px 24px}


.hk-safety-card h3{font-size:18px}
.hk-safety-card p{font-size:14px;line-height:1.85}
.hk-flow-card{padding:22px 22px 26px;min-height:176px}

.hk-flow-card h3{font-size:18px}
.hk-flow-card p{font-size:13.5px}
.hk-faq-row{font-size:15.5px;padding:19px 4px}
.hk-faq-plus{font-size:18px}

/* Final CTA: deliberately compact icons */
.hk-cta{padding:64px 0}
.hk-cta-grid{gap:68px}
.hk-cta h2{margin-bottom:14px;}


.hk-cta-box h3{font-size:17px;line-height:1.6;margin-bottom:14px}
.hk-cta-list{font-size:13.5px;margin-bottom:0;}
.hk-cta-list span{line-height:1.55;}
.hk-cta-list svg{display:block!important;}

/* Footer brand */
.hk-footer{padding:28px 0 32px}

.hk-footer-brand-area{display:grid;gap:8px}
.hk-footer-logo{width:250px;max-width:52vw;height:auto}

@media(max-width:980px){
  .hk-nav{top:82px}
  .hk-brand{min-width:0}
  .hk-brand-copy small{display:none}
  .hk-hero-copy{padding:58px 28px}
  .hk-cta-grid{gap:36px}
}
@media(max-width:680px){
  body{font-size:15.5px;line-height:1.82}
  .hk-section{padding:64px 0}
  .hk-header-inner{height:70px}
  .hk-nav{top:70px}
  .hk-brand{gap:8px}
  .hk-brand-mark-wrap,.hk-brand-mark,.hk-brand-mark-wrap .custom-logo-link,.hk-brand-mark-wrap .custom-logo-link img{width:38px!important;height:38px!important;flex-basis:38px}
  .hk-brand-copy strong{font-size:17px}
  .hk-brand-copy small{display:none}
  .hk-hero-copy{padding:48px 20px}
  .hk-hero h1{font-size:36px;line-height:1.38}
  .hk-hero p{font-size:15.5px;line-height:1.9}
  .hk-title{font-size:32px}
  .hk-section-title{font-size:28px;line-height:1.5}
  .hk-section-head{margin-bottom:30px}
  .hk-lead{font-size:15px}
  .hk-work-copy h3{font-size:27px}
  .hk-cta{padding:52px 0}
  .hk-cta h2{font-size:31px}
  .hk-cta-box{padding:20px}
  .hk-footer-logo{width:220px;max-width:80vw}
}


/* =========================================================
   V4 typography / pictogram / disclosure refinements
   ========================================================= */

body{font-size:16px;font-feature-settings:"palt" 1;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4,h5,h6,.hk-btn,.hk-nav,.hk-brand-copy strong{
  font-family:var(--hk-font-display);
}
.hk-hero h1,.hk-section-title,.hk-cta h2{
  font-weight:700;
  letter-spacing:.025em;
}



.hk-work-copy h3{letter-spacing:.02em;}
.hk-kicker{font-family:var(--hk-font-body);}

/* Pictograms: slightly larger and visually consistent */

.hk-trust-icon svg{width:30px;height:30px;stroke-width:1.75}













/* Benefits: expandable detailed copy */
.hk-benefit{display:flex;flex-direction:column;}



.hk-benefit-details{margin-top:auto;border-top:1px solid rgba(21,52,43,.15);padding-top:13px}
.hk-benefit-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12.5px;letter-spacing:.03em;padding:2px 0;}
.hk-benefit-details summary::-webkit-details-marker{display:none}
.hk-benefit-details summary::after{content:"＋";font-size:17px;line-height:1;font-weight:500;color:#8b7547}
.hk-benefit-details[open] summary::after{content:"−"}
.hk-benefit-detail{padding-top:14px;color:#56625d;font-size:13.5px;line-height:1.95}
.hk-benefit-detail p{margin:0 0 12px}
.hk-benefit-detail p:last-child{margin-bottom:0}

/* Flow pictograms */
.hk-flow-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.hk-flow-icon{display:grid;place-items:center;background:rgba(255,255,255,.78);border:1px solid rgba(21,52,43,.12);}
.hk-flow-icon svg{stroke:var(--hk-green);}
.hk-flow-num{margin-bottom:0;font-size:12px}

/* FAQ: real accordion with readable answers */
.hk-faq-item{border-bottom:1px solid #d7ded8}
.hk-faq-item:first-child{border-top:1px solid #d7ded8}
.hk-faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 4px;font-family:var(--hk-font-display);font-weight:700;line-height:1.65;}
.hk-faq-item summary::-webkit-details-marker{display:none}
.hk-faq-item summary::after{content:"＋";flex:0 0 auto;font-size:20px;font-weight:400;color:#8b7547;line-height:1}
.hk-faq-item[open] summary::after{content:"−"}
.hk-faq-answer{padding:0 4px 22px;max-width:760px;color:#5f6b65;line-height:1.95;}
.hk-faq-answer p{margin:0}

@media(max-width:680px){
  body{font-size:15.5px}
  .hk-hero h1{font-size:35px;line-height:1.43}
  .hk-section-title{font-size:28px;line-height:1.55}
  .hk-trust-icon{width:54px;height:54px}.hk-trust-icon svg{width:27px;height:27px}
  .hk-mini-card{grid-template-columns:50px 1fr}.hk-mini-card .icon{width:46px;height:46px}.hk-mini-card svg{width:23px;height:23px}
  .hk-benefit-icon{width:48px;height:48px}.hk-benefit-icon svg{width:25px;height:25px}
  .hk-owner-row{grid-template-columns:56px 1fr}.hk-owner-row .icon{width:48px;height:48px}.hk-owner-row svg{width:24px;height:24px}
  .hk-safety-card .icon{width:48px;height:48px}.hk-safety-card svg{width:25px;height:25px}
  .hk-flow-icon{width:46px;height:46px}.hk-flow-icon svg{width:23px;height:23px}
  .hk-faq-item summary{font-size:15.5px;padding:19px 2px}
  .hk-faq-answer{font-size:14px;padding:0 2px 20px}
  .hk-cta-list span{grid-template-columns:24px 1fr;gap:10px}
  .hk-cta-list svg{width:23px!important;height:23px!important;min-width:23px!important;max-width:23px!important;min-height:23px!important;max-height:23px!important}
}


/* =========================================================
   V5 refined Japanese typography / color hierarchy / icons
   ========================================================= */
:root{--hk-ink:#34423d;--hk-brass:#8f7037;--hk-brass-soft:#b99a5a;}

/* Large editorial headings use a Japanese serif; interface/card copy stays sans. */
.hk-hero h1,.hk-section-title,.hk-cta h2,.hk-work-copy h3,.hk-trustbar h2{
  font-family:var(--hk-font-display);
  color:var(--hk-heading);
  font-weight:700;
  letter-spacing:.018em;
}

.hk-card-title,.hk-property h3,.hk-use-card h3,.hk-mini-card h3,.hk-benefit h3,
.hk-owner-row h3,.hk-safety-card h3,.hk-flow-card h3,.hk-faq-item summary,
.hk-media-block h4,.hk-media-lists h5{
  font-family:var(--hk-font-body);
  color:var(--hk-heading);
  font-weight:700;
  letter-spacing:.008em;
}
.hk-kicker,.hk-meta,.hk-work-subtitle{
  color:var(--hk-brass);
  font-family:var(--hk-font-body);
  font-weight:700;
}
.hk-lead,.hk-property p,.hk-use-card p,.hk-work-copy p,.hk-mini-card p,
.hk-owner-row p,.hk-safety-card p,.hk-flow-card p,.hk-faq-answer{
  color:var(--hk-copy);
}


.hk-benefit .catch{font-weight:700;}
.hk-benefit ul,.hk-benefit-detail{color:#4b5953}
.hk-benefit-details summary{font-weight:700;}
.hk-benefit-details summary::after,.hk-faq-item summary::after{color:var(--hk-brass)}
.hk-disclaimer,.hk-property-note,.hk-safety-note{color:#69746f}
.hk-tag{color:#31473f;background:#edf2ed}
.hk-media-logos span{color:#31473f}

/* Trust strip: calm, editorial and clearly legible. */
.hk-trustbar{border-bottom-color:#dde3dc;}
.hk-trust-icon{width:70px;height:70px;background:#fbfbf7;border:1px solid #cbd8ce;color:var(--hk-green)}
.hk-trust-icon .hk-handshake-svg{width:36px;height:30px;display:block;color:var(--hk-green);fill:currentColor}
.hk-trustbar h2{margin-bottom:7px;}
.hk-trustbar p{line-height:1.8;}

/* Pictogram scale: visible, but secondary to text. */
.hk-mini-card{grid-template-columns:60px 1fr;gap:17px}
.hk-mini-card .icon{border:1px solid rgba(21,52,43,.07);}
.hk-mini-card svg{stroke-width:1.8;}
.hk-benefit-icon{width:58px;height:58px}
.hk-benefit-icon svg{width:31px;height:31px;stroke-width:1.8}
.hk-benefit-icon .hk-handshake-svg{width:34px;height:28px;fill:currentColor;color:var(--hk-green)}
.hk-owner-row{grid-template-columns:66px 1fr;gap:19px}

.hk-owner-row svg{stroke-width:1.8;}
.hk-safety-card .icon{margin-bottom:20px;}
.hk-safety-card svg{stroke-width:1.8;}

.hk-flow-icon svg{stroke-width:1.8;}

.hk-cta-list svg{stroke-width:1.85!important;}

/* Slightly richer typographic hierarchy. */


.hk-work-copy h3{font-size:33px;line-height:1.5}
.hk-benefit h3{line-height:1.55;}

.hk-faq-item summary{font-size:16px;color:var(--hk-heading)}
.hk-faq-answer{font-size:14.5px}

@media(max-width:680px){
  .hk-hero h1{font-size:35px;line-height:1.48}
  .hk-section-title{font-size:28px;line-height:1.58}
  .hk-trust-icon{width:58px;height:58px}.hk-trust-icon .hk-handshake-svg{width:31px;height:26px}
  .hk-trustbar h2{font-size:16.5px;line-height:1.65}
  .hk-mini-card{grid-template-columns:54px 1fr}.hk-mini-card .icon{width:50px;height:50px}.hk-mini-card svg{width:26px;height:26px}
  .hk-benefit-icon{width:52px;height:52px}.hk-benefit-icon svg{width:28px;height:28px}.hk-benefit-icon .hk-handshake-svg{width:31px;height:26px}
  .hk-owner-row{grid-template-columns:60px 1fr}.hk-owner-row .icon{width:52px;height:52px}.hk-owner-row svg{width:27px;height:27px}
  .hk-safety-card .icon{width:52px;height:52px}.hk-safety-card svg{width:28px;height:28px}
  .hk-flow-icon{width:50px;height:50px}.hk-flow-icon svg{width:26px;height:26px}
  .hk-cta-list span{grid-template-columns:27px 1fr;gap:11px}
  .hk-cta-list svg{width:26px!important;height:26px!important;min-width:26px!important;max-width:26px!important;min-height:26px!important;max-height:26px!important}
}

/* =========================================================
   V6 conversion / trust / typography refinements
   ========================================================= */
:root{
  --hk-heading:#17372f;
  --hk-copy:#3f4c47;
  --hk-muted:#69736f;
  --hk-accent:#92743e;
  --hk-accent-soft:#f2ead8;
  --hk-border:#dbe2dc;
  --hk-soft:#f5f7f3;
  --hk-font-body:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif;
  --hk-font-display:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif;
}
body{font-family:var(--hk-font-body);color:var(--hk-copy);font-weight:400;letter-spacing:.012em;line-height:1.9}
h1,h2,h3,h4,h5,h6,.hk-hero h1,.hk-section-title,.hk-cta h2,.hk-work-copy h3,.hk-trustbar h2{font-family:var(--hk-font-display);color:var(--hk-heading);font-weight:800;letter-spacing:.008em}
.hk-hero h1,.hk-cta h2{color:#fff;font-weight:800;letter-spacing:.005em}
.hk-section-title{font-size:clamp(28px,2.75vw,39px);line-height:1.48}
.hk-lead{color:#55615c;font-size:15.5px;line-height:1.95}
.hk-kicker{color:var(--hk-accent);font-size:11px;letter-spacing:.14em;font-weight:800}
.hk-meta{color:#7c6a49;letter-spacing:.09em}

/* Cleaner, unified benefit cards: no rainbow backgrounds */
.hk-section.sage{background:#edf2ed}
.hk-benefit-grid{gap:16px;border:0}
.hk-benefit{background:#fff!important;border:1px solid #d8e0da!important;min-height:300px;box-shadow:0 7px 20px rgba(28,57,47,.025)}
.hk-benefit-top{margin-bottom:23px;color:#7d8983}
.hk-benefit-top strong{color:var(--hk-accent)}
.hk-benefit-icon{background:#edf3ee;border-color:#d7e2da;color:var(--hk-heading)}
.hk-benefit h3{font-size:20px;color:var(--hk-heading)}
.hk-benefit .catch{color:#334940;font-size:14px}
.hk-benefit-details summary{color:#755d33}

/* Hero and header feel more corporate, less decorative */
.hk-header{box-shadow:0 1px 0 rgba(20,52,43,.04)}
.hk-brand-copy strong{font-weight:900;letter-spacing:.01em}
.hk-brand-copy small{font-weight:600;color:#6b7771;letter-spacing:.035em}
.hk-nav{font-weight:700}
.hk-hero h1{font-size:clamp(40px,4.3vw,58px);line-height:1.38}
.hk-hero p{font-size:15.5px;line-height:2}
.hk-btn{font-weight:800;border-radius:2px}

/* Four assurance points directly below hero */
.hk-proofbar{background:#fff;border-bottom:1px solid var(--hk-border)}
.hk-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.hk-proof-item{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;padding:19px 13px;border-right:1px solid var(--hk-border)}
.hk-proof-item:first-child{border-left:1px solid var(--hk-border)}
.hk-proof-icon{width:36px;height:36px;border-radius:50%;background:#edf3ee;display:grid;place-items:center;color:var(--hk-heading)}
.hk-proof-icon svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.8}
.hk-proof-item strong{display:block;line-height:1.55;color:var(--hk-heading);font-weight:800;}
.hk-proof-item small{display:block;font-size:10.5px;line-height:1.55;color:#77817c;margin-top:2px}

/* Fee notice: use a clear yen symbol instead of a fragile handshake glyph */
.hk-trustbar{background:#f4f3ec}
.hk-trustbar-inner{grid-template-columns:82px 1fr;gap:20px;padding:24px 0}
.hk-trust-icon.hk-trust-yen{width:54px;height:54px;border-radius:50%;font-size:24px;font-weight:800;color:#705b35;border:1px solid #d8c9a9;background:#fffaf0}
.hk-trustbar h2{font-size:18px;line-height:1.6}
.hk-trustbar p{color:#626d68;}

/* "Even difficult properties" section */
.hk-condition-section{background:#fff}
.hk-condition-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.hk-condition-card{position:relative;border:1px solid var(--hk-border);background:#fff;padding:22px 22px 20px;min-height:168px}
.hk-condition-card>span{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#edf3ee;color:var(--hk-heading);margin-bottom:16px}
.hk-condition-card svg{width:21px;height:21px;stroke:currentColor}
.hk-condition-card strong{display:block;color:var(--hk-heading);font-size:16px;line-height:1.55;margin-bottom:5px}
.hk-condition-card p{margin:0;font-size:12.5px;line-height:1.75;color:#68736e}
.hk-condition-note{color:#7b847f;margin:15px 0 0;}

/* Why Haikachi */
.hk-why{background:#f4f6f2}
.hk-why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.hk-why-card{background:#fff;border:1px solid var(--hk-border);padding:26px 22px 24px;position:relative;min-height:260px}
.hk-why-num{position:absolute;top:18px;right:18px;letter-spacing:.14em;font-weight:800;color:#aab2ad;}
.hk-why-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#edf3ee;color:var(--hk-heading);margin-bottom:22px}
.hk-why-icon svg{width:24px;height:24px;stroke:currentColor}
.hk-why-card h3{font-size:17px;line-height:1.6;margin:0 0 9px;color:var(--hk-heading)}
.hk-why-card p{font-size:13px;line-height:1.85;margin:0;color:#64706a}


/* Compact, consistent pictograms */
.hk-mini-card .icon,.hk-owner-row .icon,.hk-safety-card .icon,.hk-flow-icon{border-radius:50%}
.hk-mini-card .icon{width:48px;height:48px}.hk-mini-card svg{width:23px;height:23px}
.hk-owner-row .icon{width:50px;height:50px}.hk-owner-row svg{width:24px;height:24px}
.hk-safety-card .icon{width:50px;height:50px}.hk-safety-card svg{width:24px;height:24px}
.hk-flow-icon{width:48px;height:48px}.hk-flow-icon svg{width:23px;height:23px}

/* Final CTA: lower the psychological barrier */
.hk-cta h2{font-size:clamp(31px,3.4vw,45px);line-height:1.5}
.hk-cta p{font-size:14px;line-height:1.9}
.hk-cta-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.hk-cta-actions>span{font-size:10.5px;color:#becdc6}
.hk-cta-box{padding:26px 26px 24px;background:rgba(255,255,255,.055)}
.hk-cta-box-label{color:#e7d5a6;font-size:11px;font-weight:800;letter-spacing:.08em;margin-bottom:15px}
.hk-cta-list{gap:12px}
.hk-cta-list span{display:grid;grid-template-columns:24px 1fr;gap:11px;align-items:center;font-size:13px}
.hk-cta-list b{font-weight:700}
.hk-cta-list svg{width:22px!important;height:22px!important;min-width:22px!important;max-width:22px!important;min-height:22px!important;max-height:22px!important}
.hk-cta-small{font-size:10.5px!important;color:#b8c8c1!important;margin:16px 0 0!important;padding-top:14px;border-top:1px solid rgba(255,255,255,.14)}

@media(max-width:1200px){
  .hk-proof-grid{grid-template-columns:1fr 1fr}
  .hk-proof-item:nth-child(2){border-right:1px solid var(--hk-border)}
  .hk-proof-item:nth-child(3){border-left:1px solid var(--hk-border);border-top:1px solid var(--hk-border)}
  .hk-proof-item:nth-child(4){border-top:1px solid var(--hk-border)}
}
@media(max-width:980px){
  .hk-proof-grid{grid-template-columns:1fr 1fr}
  .hk-proof-item:nth-child(2){border-right:1px solid var(--hk-border)}
  .hk-proof-item:nth-child(3){border-left:1px solid var(--hk-border);border-top:1px solid var(--hk-border)}
  .hk-proof-item:nth-child(4){border-top:1px solid var(--hk-border)}
  .hk-condition-grid{grid-template-columns:1fr 1fr}
  .hk-why-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .hk-proof-grid{grid-template-columns:1fr}
  .hk-proof-item,.hk-proof-item:first-child,.hk-proof-item:nth-child(3){border-left:0;border-right:0;border-top:1px solid var(--hk-border);padding:15px 2px}
  .hk-proof-item:first-child{border-top:0}
  .hk-proof-item strong{font-size:12.5px}.hk-proof-item small{font-size:10px}
  .hk-trustbar-inner{grid-template-columns:54px 1fr;gap:13px}
  .hk-trust-icon.hk-trust-yen{width:46px;height:46px;font-size:21px}
  .hk-trustbar h2{font-size:15px;line-height:1.6}
  .hk-condition-grid,.hk-why-grid{grid-template-columns:1fr}
  .hk-condition-card,.hk-why-card{min-height:0}
  .hk-cta-box{padding:22px 20px}
}

/* v6.1 content-only additions: keep v6 visual language */
.hk-property-body .hk-benefit-details,.hk-use-card-body .hk-benefit-details{margin-top:16px}
.hk-safety-details{margin-top:24px}
.hk-safety-details .hk-benefit-detail{max-width:900px}

/* v6 complete: keep the owner-cost assurance on one line on desktop */
@media (min-width: 769px){.hk-trustbar h2{white-space:nowrap}}
@media (max-width: 768px){.hk-trustbar h2{white-space:normal}}

/* consultation visual */
.hk-flow-visual{border:1px solid #d8ded8;background:#fff;overflow:hidden;}
.hk-flow-visual img{display:block;}
.hk-flow-visual figcaption{padding:8px 12px 9px;font-size:10.5px;letter-spacing:.06em;color:#78827d;background:#fff}
@media(max-width:680px){
  .hk-flow-visual{margin-bottom:26px}
  .hk-flow-visual img{aspect-ratio:4/3;object-position:center 50%}
}


/* v6 complete v5: consultation image + final CTA sizing */




@media (min-width: 769px){
  .hk-cta .hk-cta-title span{white-space:nowrap}
}
@media (max-width: 768px){
  .hk-flow-visual{width:min(620px,100%);margin-bottom:28px}
  .hk-flow-visual img{aspect-ratio:16/10}
  .hk-cta .hk-cta-title{font-size:clamp(23px,6.1vw,29px);line-height:1.55}
}
@media (max-width: 420px){
  .hk-cta .hk-cta-title{font-size:22px;line-height:1.6}
}

/* v6 complete v6: stronger sizing correction */
.hk-flow-visual{
  width:560px !important;
  max-width:100% !important;
  margin:0 auto 30px !important;
}
.hk-flow-visual img{
  width:100% !important;
  aspect-ratio:16/9 !important;
  object-fit:cover !important;
  object-position:center 47% !important;
}
.hk-cta .hk-cta-title{
  font-size:28px !important;
  line-height:1.55 !important;
  margin:0 0 18px !important;
  letter-spacing:.002em !important;
}
.hk-cta .hk-cta-title span{
  display:block !important;
  white-space:nowrap !important;
}
@media(max-width:768px){
  .hk-flow-visual{
    width:520px !important;
    max-width:92% !important;
    margin-bottom:26px !important;
  }
  .hk-cta .hk-cta-title{
    font-size:22px !important;
    line-height:1.6 !important;
  }
}
@media(max-width:420px){
  .hk-flow-visual{max-width:94% !important;}
  .hk-cta .hk-cta-title{
    font-size:19px !important;
    line-height:1.65 !important;
  }
}


/* v6.1.1 — header/footer brand lockup unified */
.hk-brand{display:flex;align-items:center;min-width:245px;line-height:1}
.hk-header-logo{display:block;width:238px;max-width:100%;height:auto;object-fit:contain}
@media (max-width:1100px){.hk-brand{min-width:215px}.hk-header-logo{width:210px}}
@media (max-width:720px){.hk-brand{min-width:0;max-width:190px}.hk-header-logo{width:185px;max-width:52vw}}

/* contact page */
.hk-contact-page{background:#fff}
.hk-contact-hero{padding:76px 0 58px;background:var(--hk-sage-2);border-bottom:1px solid var(--hk-line)}
.hk-contact-hero .hk-narrow{width:min(900px,calc(100% - 48px))}
.hk-contact-hero h1{font-size:clamp(38px,4.3vw,54px);line-height:1.35;margin:4px 0 18px;color:var(--hk-green);letter-spacing:.01em}
.hk-contact-hero-lead{max-width:760px;margin:0;color:#56625d;font-size:16px;line-height:2}
.hk-contact-visual{width:min(640px,100%);margin:34px auto 18px;border:1px solid var(--hk-line);background:#fff;overflow:hidden;box-shadow:0 10px 32px rgba(24,50,42,.06)}
.hk-contact-visual img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center 48%}
.hk-contact-visual figcaption{font-size:11px;color:#78827d;padding:8px 12px;background:#fff}
.hk-contact-note{max-width:760px;margin:0 auto;padding:17px 20px;border-left:4px solid var(--hk-gold);background:#fff;display:grid;gap:4px;font-size:13px;line-height:1.8;color:#59655f}
.hk-contact-note strong{font-size:14px;color:var(--hk-green)}
.hk-contact-form-section{padding:70px 0 104px;background:#fbfcfa}
.hk-contact-form-wrap{width:min(920px,calc(100% - 48px));margin-inline:auto}
.hk-form-topline{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:24px}
.hk-form-topline .hk-kicker{display:block;margin-bottom:6px}
.hk-form-topline h2{font-size:25px;line-height:1.45;margin:0;color:var(--hk-green)}
.hk-form-topline p{margin:0 0 2px;color:#68736e;font-size:13px;white-space:nowrap}
.hk-form-errors{padding:18px 20px;margin-bottom:28px;border:1px solid #d7a6a6;background:#fff5f5;color:#713838}
.hk-form-errors ul{margin:8px 0 0;padding-left:20px}
.hk-contact-form{display:grid;gap:24px}
.hk-form-block{border:1px solid #dbe1dc;background:#fff;padding:32px 34px 34px;box-shadow:0 8px 26px rgba(28,51,43,.035)}
.hk-form-section-head{display:flex;align-items:center;gap:15px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid #e4e8e4}
.hk-form-section-head>span{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;background:var(--hk-green);color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em}
.hk-form-section-head>div{display:grid;gap:3px}
.hk-form-section-head h2{font-size:23px;line-height:1.4;margin:0;color:#273a32}
.hk-form-section-head p{margin:0;font-size:12px;line-height:1.7;color:#7b8581}
.hk-form-grid.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:28px;row-gap:18px;margin-bottom:22px}
.hk-field{display:grid;gap:8px;font-size:14px;font-weight:700;color:#394841;margin:0}
.hk-field-full{margin-top:2px}
.hk-form-grid.two>.hk-field{grid-template-rows:minmax(24px,auto) 54px 20px;align-content:start}
.hk-field>span{display:flex;align-items:center;gap:8px;min-height:24px}
.hk-field em{font-style:normal;font-size:10px;padding:2px 7px;background:#eef1ee;color:#66716c;font-weight:700;line-height:1.5}
.hk-required{display:inline-block;font-size:10px;padding:2px 7px;background:#8b3b35;color:#fff;font-weight:800;line-height:1.5}
.hk-field input[type=text],.hk-field input[type=email],.hk-field input[type=tel],.hk-field select{width:100%;height:54px;border:1px solid #cbd3cd;background:#fff;padding:0 15px;color:var(--hk-ink);border-radius:0;outline:none;transition:border-color .15s,box-shadow .15s;line-height:1.4}
.hk-field textarea{width:100%;border:1px solid #cbd3cd;background:#fff;padding:14px 15px;color:var(--hk-ink);border-radius:0;outline:none;transition:border-color .15s,box-shadow .15s;resize:vertical;min-height:190px;line-height:1.8}
.hk-field select{appearance:auto;padding-right:34px}
.hk-field input:focus,.hk-field select:focus,.hk-field textarea:focus{border-color:#658476;box-shadow:0 0 0 3px rgba(37,71,61,.08)}
.hk-field small{display:block;min-height:20px;font-size:11px;font-weight:500;line-height:1.65;color:#79837f}
.hk-field-full+ .hk-form-grid.two{margin-top:24px}
.hk-form-grid.two+ .hk-field-full{margin-top:0}
.hk-file-field{margin-top:24px}
.hk-file-field input[type=file]{border:1px dashed #b9c4bc;background:#f6f9f5;padding:18px;width:100%;font-weight:500;min-height:64px}
.hk-contact-privacy{padding:25px 28px;background:var(--hk-sage);border:1px solid #d4ddd5;display:grid;grid-template-columns:36px 1fr;gap:17px;align-items:start}
.hk-contact-privacy-icon{width:36px;height:36px;color:var(--hk-green)}
.hk-contact-privacy-icon svg{width:100%;height:100%}
.hk-contact-privacy h2{font-size:19px;margin:0 0 7px;color:var(--hk-green)}
.hk-contact-privacy p{font-size:13px;color:#59665f;line-height:1.85;margin:0 0 17px}
.hk-consent{display:flex;align-items:flex-start;gap:12px;font-size:13px;font-weight:700;cursor:pointer}
.hk-consent input{margin-top:4px;width:18px;height:18px;accent-color:var(--hk-green);flex:0 0 auto}
.hk-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.hk-form-submit{text-align:center;padding-top:10px}
.hk-form-submit .hk-btn{min-width:300px;min-height:56px;border:0;cursor:pointer;font-size:15px;font-weight:800}
.hk-form-submit p{font-size:11px;color:#7a8580;margin:13px 0 0;line-height:1.7}
.hk-contact-success{padding:48px 40px;border:1px solid var(--hk-line);background:#fff;text-align:center;box-shadow:0 10px 30px rgba(28,51,43,.04)}
.hk-contact-success h2{font-size:31px;margin:4px 0 12px;color:var(--hk-green)}
.hk-contact-success>p{margin:0 auto 20px;max-width:650px;color:#58645f}
.hk-receipt{width:min(460px,100%);margin:26px auto;display:grid;gap:5px;padding:18px;background:var(--hk-sage-2);border:1px solid var(--hk-line)}
.hk-receipt span{font-size:11px;color:#78827d;letter-spacing:.12em}
.hk-receipt strong{font-size:24px;letter-spacing:.08em;color:var(--hk-green)}
.hk-contact-muted{font-size:12px!important;color:#78827d!important}
.hk-pc-only{display:block}
@media(max-width:760px){
  .hk-contact-hero{padding:52px 0 40px}
  .hk-contact-hero .hk-narrow{width:min(100% - 30px,900px)}
  .hk-contact-hero h1{font-size:34px;margin-bottom:14px}
  .hk-contact-hero-lead{font-size:14px;line-height:1.9}
  .hk-pc-only{display:none}
  .hk-contact-visual{margin-top:26px;width:100%}
  .hk-contact-note{padding:15px 16px}
  .hk-contact-form-section{padding:46px 0 74px}
  .hk-contact-form-wrap{width:min(100% - 28px,920px)}
  .hk-form-topline{display:grid;gap:9px;align-items:start}
  .hk-form-topline h2{font-size:22px}
  .hk-form-topline p{white-space:normal}
  .hk-form-block{padding:23px 18px 25px}
  .hk-form-section-head{align-items:flex-start;margin-bottom:23px;padding-bottom:17px}
  .hk-form-section-head>span{width:38px;height:38px}
  .hk-form-section-head h2{font-size:20px}
  .hk-form-grid.two{grid-template-columns:1fr;gap:20px;margin-bottom:22px}
  .hk-form-grid.two>.hk-field{grid-template-rows:auto 52px auto}
  .hk-field input[type=text],.hk-field input[type=email],.hk-field input[type=tel],.hk-field select{height:52px}
  .hk-field small{min-height:0}
  .hk-contact-privacy{padding:20px 17px;grid-template-columns:30px 1fr;gap:13px}
  .hk-contact-privacy-icon{width:30px;height:30px}
  .hk-form-submit .hk-btn{width:100%;min-width:0}
  .hk-contact-success{padding:32px 18px}
  .hk-contact-success h2{font-size:27px}
}


/* v6.4.1 — footer operator credit */
.hk-footer-operator{font-size:10.5px;color:#8b938f;line-height:1.6;margin-top:1px}
.hk-footer-operator a{color:#7d8782;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.hk-footer-operator a:hover{color:var(--hk-green)}


/* ----------------------------------------------------------------------
   Detail pages 6.6.0 — aligned with contact page / restrained typography
   ---------------------------------------------------------------------- */
.hk-detail-page{background:#fff}
.hk-detail-hero{padding:68px 0 56px;background:var(--hk-sage-2);border-bottom:1px solid var(--hk-line)}
.hk-detail-hero-inner{width:min(860px,calc(100% - 48px));margin-inline:auto}
.hk-detail-title{margin:5px 0 16px;color:var(--hk-green);font-size:clamp(34px,3.5vw,46px);line-height:1.42;font-weight:800;letter-spacing:.006em}
.hk-detail-title span{display:block;white-space:nowrap}
.hk-detail-hero-lead{max-width:760px;margin:0;color:#56625d;font-size:15.5px;line-height:2}
.hk-detail-hero-visual{width:min(640px,100%);margin:30px auto 0;border:1px solid var(--hk-line);background:#fff;overflow:hidden;box-shadow:0 9px 28px rgba(24,50,42,.05)}
.hk-detail-hero-visual img{width:100%;aspect-ratio:16/9;object-fit:cover}
.hk-detail-hero-visual figcaption{font-size:11px;color:#78827d;padding:8px 12px;background:#fff}
.hk-detail-section{padding:76px 0}
.hk-detail-section.soft{background:#fbfcfa}
.hk-detail-section.sage{background:var(--hk-sage)}
.hk-detail-head{max-width:790px;margin:0 0 34px}
.hk-detail-head-compact{margin-bottom:14px}
.hk-detail-head h2{font-size:clamp(26px,2.55vw,35px);line-height:1.55;margin:0 0 12px;color:var(--hk-green);font-weight:800;letter-spacing:.005em}
.hk-detail-head p{font-size:14.5px;line-height:1.95;color:#5b6761;margin:0;max-width:760px}
.hk-detail-card-grid{display:grid;gap:22px}
.hk-detail-card-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.hk-detail-card{background:#fff;border:1px solid #dce2dc;padding:24px 24px 26px;box-shadow:0 7px 22px rgba(24,50,42,.03);display:flex;flex-direction:column;min-width:0}
.hk-detail-card h3{font-size:19px;line-height:1.55;margin:5px 0 9px;color:var(--hk-green);font-weight:800}
.hk-detail-card p{font-size:13.5px;line-height:1.9;color:#5c6862;margin:0}
.hk-detail-card-photo{padding:0;overflow:hidden}
.hk-detail-card-photo>img{width:100%;aspect-ratio:16/9;object-fit:cover}
.hk-detail-card-photo>div{padding:21px 22px 24px}
.hk-detail-card-catch{font-size:12px;font-weight:800;color:#967d48;line-height:1.7;margin:-1px 0 10px}
.hk-detail-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--hk-sage);color:var(--hk-green);margin-bottom:14px;flex:0 0 auto}
.hk-detail-icon svg{width:21px;height:21px}
.hk-detail-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.hk-detail-check{display:grid;grid-template-columns:28px 1fr;gap:13px;padding:19px 20px;background:#fff;border:1px solid #dce2dc;align-items:start}
.hk-detail-check>span{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:var(--hk-green);color:#fff;font-weight:800;font-size:12px;margin-top:1px}
.hk-detail-check strong{display:block;color:var(--hk-green);font-size:15px;line-height:1.55;margin-bottom:4px}
.hk-detail-check p{margin:0;color:#66716b;font-size:12.5px;line-height:1.85}
.hk-detail-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.hk-detail-mini-grid>article{background:#fff;border:1px solid #dce2dc;padding:24px 24px 25px;min-height:160px}
.hk-detail-mini-grid h3{font-size:18px;color:var(--hk-green);line-height:1.5;margin:0 0 8px}
.hk-detail-mini-grid p{font-size:13.5px;line-height:1.9;color:#5d6963;margin:0}
.hk-detail-callout{padding:29px 31px;background:#fff;border:1px solid var(--hk-line);border-left:4px solid var(--hk-gold)}
.hk-detail-callout h2{font-size:clamp(22px,2.1vw,29px);line-height:1.58;color:var(--hk-green);margin:0 0 12px}
.hk-detail-callout h3{font-size:18px;line-height:1.5;color:var(--hk-green);margin:0 0 9px}
.hk-detail-callout p{font-size:13.8px;line-height:1.95;color:#5c6862;margin:0 0 11px}
.hk-detail-callout p:last-child{margin-bottom:0}
.hk-detail-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.hk-detail-list li{position:relative;padding-left:18px;font-size:13.5px;line-height:1.8;color:#5c6862}
.hk-detail-list li:before{content:"•";position:absolute;left:2px;color:#a6884d;font-weight:900}
.hk-detail-method-list{display:grid;gap:36px}
.hk-detail-split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:42px;align-items:center;padding:0 0 36px;border-bottom:1px solid var(--hk-line)}
.hk-detail-split:last-child{padding-bottom:0;border-bottom:0}
.hk-detail-split.reverse .hk-detail-split-media{order:2}.hk-detail-split.reverse .hk-detail-split-copy{order:1}
.hk-detail-split-media{overflow:hidden;background:#eef1ed;border:1px solid var(--hk-line)}
.hk-detail-split-media img{width:100%;aspect-ratio:16/10;object-fit:cover}
.hk-detail-split-copy{min-width:0}
.hk-detail-split-copy h3{font-size:clamp(23px,2.1vw,29px);line-height:1.5;color:var(--hk-green);margin:5px 0 10px}
.hk-detail-split-copy p{font-size:13.8px;line-height:1.95;color:#5d6963;margin:0}
.hk-detail-subtitle{font-size:12.5px;font-weight:800;letter-spacing:.04em;color:#947c4b;margin:-2px 0 11px}
.hk-detail-work{padding:38px 0}
.hk-detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:18px 0 0;border-top:1px solid #dfe4df;border-left:1px solid #dfe4df}
.hk-detail-facts>div{padding:10px 12px;border-right:1px solid #dfe4df;border-bottom:1px solid #dfe4df;background:#fbfcfa}
.hk-detail-facts dt{font-size:10px;letter-spacing:.08em;color:#8b968f;margin-bottom:3px}
.hk-detail-facts dd{font-size:12.5px;line-height:1.6;color:#415047;margin:0;font-weight:700}
.hk-detail-two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.hk-detail-process{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.hk-detail-process-card{position:relative;padding:24px 23px 25px;background:#fff;border:1px solid #dce2dc;min-height:270px}
.hk-detail-process-num{position:absolute;right:18px;top:16px;font-size:11px;letter-spacing:.14em;color:#9a7c43;font-weight:800}
.hk-detail-process-card h3{font-size:18px;line-height:1.5;color:var(--hk-green);margin:8px 0 8px}
.hk-detail-process-card p{font-size:13px;color:#63706a;line-height:1.88;margin:0}
.hk-detail-process-list{margin:14px 0 0;padding:13px 0 0;border-top:1px solid #e3e7e3;list-style:none;display:grid;gap:6px}
.hk-detail-process-list li{font-size:11.5px;line-height:1.65;color:#758079;padding-left:14px;position:relative}
.hk-detail-process-list li:before{content:"—";position:absolute;left:0;color:#a98a4f}
.hk-detail-faq-group{padding:0 0 46px;margin:0 0 42px;border-bottom:1px solid var(--hk-line)}
.hk-detail-faq-group:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}
.hk-detail-faq .hk-faq-item summary{font-size:15px;line-height:1.7}
.hk-detail-faq .hk-faq-answer p{font-size:13.5px;line-height:1.9}
.hk-detail-related{padding:58px 0;background:var(--hk-cream);border-top:1px solid #e7e2d6}
.hk-detail-related h2{font-size:25px;line-height:1.5;color:var(--hk-green);margin:0 0 20px}
.hk-detail-related-grid{display:grid;gap:10px;}
.hk-detail-related-grid a{min-height:58px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;border:1px solid #ddd8ca;font-size:12.5px;font-weight:800;color:var(--hk-green);transition:.2s ease}
.hk-detail-related-grid a:hover{border-color:#bca56f;transform:translateY(-1px)}
.hk-detail-related-grid b{font-size:17px;color:#a98a4f}
.hk-detail-page-link{text-align:center;margin-top:30px}
.hk-detail-page-link a{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:12px 26px;border:1px solid var(--hk-green);background:var(--hk-green);color:#fff;font-size:13.5px;font-weight:800;letter-spacing:.02em;box-shadow:0 8px 20px rgba(21,52,43,.10);transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease}
.hk-detail-page-link a:hover{background:var(--hk-green-2);border-color:var(--hk-green-2);color:#fff;transform:translateY(-2px);box-shadow:0 12px 24px rgba(21,52,43,.14)}
.hk-detail-page-link a:focus-visible{outline:3px solid rgba(200,169,103,.5);outline-offset:3px}
@media(max-width:900px){
  .hk-detail-split{gap:28px}
}
@media(max-width:700px){
  .hk-detail-hero{padding:48px 0 40px}
  .hk-detail-hero-inner{width:min(100% - 30px,860px)}
  .hk-detail-title{font-size:30px;line-height:1.48;margin-bottom:13px}
  .hk-detail-title span{white-space:normal}
  .hk-detail-hero-lead{font-size:13.5px;line-height:1.9}
  .hk-detail-hero-visual{margin-top:24px;width:100%}
  .hk-detail-section{padding:54px 0}
  .hk-detail-head{margin-bottom:25px}
  .hk-detail-head h2{font-size:25px;line-height:1.58}
  .hk-detail-head p{font-size:13.5px}
  .hk-detail-card-grid-2,.hk-detail-check-grid,.hk-detail-mini-grid,.hk-detail-process,.hk-detail-two-col,.hk-detail-related-grid{grid-template-columns:1fr}
  .hk-detail-card{padding:21px 19px 23px}.hk-detail-card-photo{padding:0}.hk-detail-card-photo>div{padding:18px 18px 21px}
  .hk-detail-mini-grid>article{min-height:0;padding:21px 19px 22px}
  .hk-detail-split,.hk-detail-split.reverse{grid-template-columns:1fr;gap:17px;padding-bottom:30px}.hk-detail-split.reverse .hk-detail-split-media,.hk-detail-split.reverse .hk-detail-split-copy{order:initial}
  .hk-detail-split-copy h3{font-size:24px}
  .hk-detail-callout{padding:23px 19px}
  .hk-detail-callout h2{font-size:22px}
  .hk-detail-process-card{min-height:0}
  .hk-detail-facts{grid-template-columns:1fr}
  .hk-detail-related{padding:44px 0}.hk-detail-related h2{font-size:23px}
  .hk-detail-faq-group{padding-bottom:34px;margin-bottom:32px}
}

/* ----------------------------------------------------------------------
   v6.7.0 — detail navigation / case studies / privacy
   ---------------------------------------------------------------------- */
.hk-nav{gap:17px}
.hk-nav>a:not(.hk-header-cta){white-space:nowrap}
.hk-nav-more{position:relative;display:inline-flex;align-items:center;align-self:stretch}
.hk-nav-more-btn{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;padding:0;display:flex;align-items:center;gap:5px;cursor:pointer;white-space:nowrap}
.hk-nav-more-btn span{font-size:11px;color:#8a958f;transform:translateY(-1px)}
.hk-nav-sub{position:absolute;top:calc(100% - 10px);right:0;min-width:190px;padding:8px;background:#fff;border:1px solid #dde2dd;box-shadow:0 14px 35px rgba(20,45,37,.10);display:none;z-index:120}
.hk-nav-sub a{display:block;padding:10px 11px;font-size:12px;line-height:1.55;color:var(--hk-green);white-space:nowrap}
.hk-nav-sub a:hover{background:var(--hk-sage-2);color:#927942}
.hk-nav-more:hover .hk-nav-sub,.hk-nav-more:focus-within .hk-nav-sub{display:block}

.hk-benefit-deep-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.hk-benefit-deep-card{border:1px solid #dce2dc;background:#fff;padding:26px;box-shadow:0 7px 22px rgba(24,50,42,.03)}
.hk-benefit-deep-top{display:flex;gap:15px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid #e4e8e4;margin-bottom:3px}
.hk-benefit-deep-top .hk-detail-icon{margin:0}
.hk-benefit-deep-top h3{font-size:19px;line-height:1.5;color:var(--hk-green);margin:3px 0 0}
.hk-benefit-deep-row{padding:14px 0;border-bottom:1px solid #edf0ed}
.hk-benefit-deep-row:last-child{border-bottom:0;padding-bottom:0}
.hk-benefit-deep-row b{display:block;font-size:11px;letter-spacing:.06em;color:#9a7f48;margin-bottom:5px}
.hk-benefit-deep-row p{margin:0;font-size:13px;line-height:1.86;color:#5e6a64}
.hk-benefit-deep-row.muted{background:#fafbf9;margin:13px -10px -8px;padding:13px 10px 8px;border-bottom:0}
.hk-benefit-deep-row.muted b{color:#7d8882}

.hk-case-study{padding:42px 0 54px;border-bottom:1px solid var(--hk-line)}
.hk-case-study:first-of-type{padding-top:10px}
.hk-case-study:last-child{border-bottom:0;padding-bottom:0}
.hk-case-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:22px}
.hk-case-head h3{font-size:clamp(28px,3vw,38px);line-height:1.4;color:var(--hk-green);margin:3px 0 5px}
.hk-case-head .hk-detail-subtitle{margin:0;font-size:13.5px}
.hk-case-head>span{flex:0 0 auto;padding:7px 11px;border:1px solid #d5dcd6;background:var(--hk-sage-2);font-size:11px;font-weight:800;color:#607068}
.hk-case-gallery{display:grid;gap:10px;margin-bottom:24px}
.hk-case-gallery-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.hk-case-gallery-3{grid-template-columns:1.4fr 1fr 1fr}
.hk-case-gallery-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.hk-case-gallery img{width:100%;height:230px;object-fit:cover;background:#eef1ed}
.hk-case-gallery-3 img:first-child{height:230px}
.hk-case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid #dde3dd;border-left:1px solid #dde3dd}
.hk-case-grid>div{padding:18px 19px;border-right:1px solid #dde3dd;border-bottom:1px solid #dde3dd;background:#fff}
.hk-case-grid b{display:block;color:#957a43;font-size:11px;letter-spacing:.05em;margin-bottom:6px}
.hk-case-grid p{margin:0;font-size:13px;line-height:1.9;color:#5d6963}
.hk-case-media{margin-top:15px;padding:17px 19px;background:var(--hk-cream);border:1px solid #e6dfcc;display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:start}
.hk-case-media b{font-size:12px;color:#8e7442}
.hk-case-media p{margin:0;font-size:12.5px;line-height:1.8;color:#5f6a65}

.hk-safety-disclaimer{margin:0 0 24px;padding:18px 20px;background:#fff9ec;border:1px solid #e8dcc0;border-left:4px solid var(--hk-gold)}
.hk-safety-disclaimer b{display:block;font-size:13px;color:#8f7440;margin-bottom:5px}
.hk-safety-disclaimer p{margin:0;font-size:12.7px;line-height:1.85;color:#626c67}

.hk-detail-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.hk-privacy-link{color:#315e50;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;font-weight:700}
.hk-privacy-link:hover{color:#9a7c43}

@media(max-width:1100px) and (min-width:981px){
  .hk-nav{gap:12px;font-size:11.5px}
  .hk-header-cta{padding-left:13px;padding-right:13px}
}
@media(max-width:980px){
  .hk-nav-more{display:block;width:100%}
  .hk-nav-more-btn{display:none}
  .hk-nav-sub{display:block!important;position:static;min-width:0;padding:0;border:0;box-shadow:none;background:transparent}
  .hk-nav-sub a{padding:0;font-size:inherit;line-height:inherit;margin-bottom:0}
  .hk-nav{gap:17px}
}
@media(max-width:700px){
  .hk-benefit-deep-grid,.hk-case-grid,.hk-detail-related-grid{grid-template-columns:1fr}
  .hk-benefit-deep-card{padding:21px 18px}
  .hk-case-study{padding:31px 0 38px}
  .hk-case-head{display:block;margin-bottom:16px}
  .hk-case-head h3{font-size:28px}
  .hk-case-head>span{display:inline-block;margin-top:10px}
  .hk-case-gallery-2,.hk-case-gallery-3,.hk-case-gallery-4{grid-template-columns:1fr 1fr}
  .hk-case-gallery img,.hk-case-gallery-3 img:first-child{height:145px}
  .hk-case-media{grid-template-columns:1fr;gap:5px}
}


/* =========================================================
   v16.0 — narrow-mobile polish
   Preserve the current design while preventing awkward wraps
   and short-viewport navigation overflow.
   ========================================================= */

/* Mobile navigation: remain usable on short screens / landscape. */
@media (max-width:980px){
  .hk-nav.is-open{
    max-height:calc(100vh - 82px);
    max-height:calc(100dvh - 82px);
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding-bottom:calc(18px + env(safe-area-inset-bottom));
  }
}
@media (max-width:680px){
  .hk-nav.is-open{
    max-height:calc(100vh - 70px);
    max-height:calc(100dvh - 70px);
  }
}

/* Narrow phones: reduce only long display headings that are prone to awkward wraps. */
@media (max-width:420px){
  .hk-hero h1{
    font-size:33px;
    line-height:1.4;
  }
  .hk-detail-title{
    font-size:28px;
    line-height:1.5;
  }
  .hk-detail-head h2{
    font-size:23px;
    line-height:1.58;
  }
  .hk-contact-hero h1{
    font-size:31px;
    line-height:1.42;
  }
}

/* Very narrow phones: preserve the intended two-line final CTA without overflow. */
@media (max-width:360px){
  .hk-cta .hk-cta-title{
    font-size:18px !important;
    line-height:1.68 !important;
    letter-spacing:0 !important;
  }
}

/* v17: property intro line stability */
@media (min-width:981px){
  .hk-properties-head{grid-template-columns:minmax(0,.86fr) minmax(430px,1.14fr);gap:42px}
  .hk-properties-head .hk-lead{white-space:nowrap;font-size:15.5px}
}
@media (min-width:681px) and (max-width:980px){
  .hk-properties-head .hk-lead{white-space:nowrap;font-size:15.5px}
}


/* v18: event case media/publicity */
.hk-media-lists a{color:inherit;text-decoration:underline;text-decoration-color:rgba(21,52,43,.28);text-underline-offset:3px}
.hk-media-lists a:hover{color:var(--hk-green);text-decoration-color:currentColor}
.hk-media-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.hk-case-media-full{margin-top:22px;padding:24px 24px 26px;background:var(--hk-cream);border:1px solid #e5ddc9}
.hk-case-media-title{margin-bottom:18px}
.hk-case-media-title>span{display:block;font-size:10px;font-weight:800;letter-spacing:.16em;color:#9a814d;margin-bottom:7px}
.hk-case-media-title h4{font-size:20px;line-height:1.55;margin:0 0 6px;color:var(--hk-ink)}
.hk-case-media-title p{margin:0;max-width:760px;font-size:13px;line-height:1.85;color:#65706a}
@media(max-width:700px){
  .hk-case-media-full{padding:20px 18px 22px}
  .hk-case-media-title h4{font-size:18px}
  .hk-media-lists{grid-template-columns:1fr}
  .hk-media-actions .hk-btn{width:100%;text-align:center;justify-content:center}
}


/* v19: official site links / security impact */
.hk-impact-note{margin-top:18px;padding:17px 19px;background:#f3f6f1;border-left:3px solid var(--hk-green)}
.hk-impact-note strong{display:block;font-size:12px;letter-spacing:.06em;color:var(--hk-green);margin-bottom:6px}
.hk-impact-note p{margin:0;font-size:13px;line-height:1.9;color:#5f6a65}
.hk-work-site-action{margin-top:18px}
.hk-case-impact{margin-top:22px;padding:22px 24px;background:#f3f6f1;border:1px solid #dce5dc;border-left:4px solid var(--hk-green)}
.hk-case-impact-label{font-size:10px;font-weight:800;letter-spacing:.16em;color:#8f7749;margin-bottom:7px}
.hk-case-impact h4{margin:0 0 7px;font-size:19px;line-height:1.55;color:var(--hk-green)}
.hk-case-impact p{margin:0;max-width:880px;font-size:13px;line-height:1.9;color:#5f6a65}
.hk-case-site-action{margin-top:22px}
@media(max-width:680px){
  .hk-impact-note{padding:15px 16px}
  .hk-case-impact{padding:18px 17px}
  .hk-case-impact h4{font-size:17px}
  .hk-work-site-action .hk-btn,.hk-case-site-action .hk-btn{width:100%;text-align:center}
}

/* v20: Mimatsu official links */
.hk-mimatsu-site-actions{align-items:stretch}
.hk-mimatsu-site-actions .hk-btn{padding:10px 13px;}
@media(max-width:700px){.hk-mimatsu-site-actions{display:grid;grid-template-columns:1fr}.hk-mimatsu-site-actions .hk-btn{width:100%;justify-content:center;text-align:center}}

/* v24: top-page detail links are easier to see and tap */
@media(max-width:680px){
  .hk-detail-page-link{margin-top:24px}
  .hk-detail-page-link a{width:100%;min-height:52px;padding:11px 18px;font-size:13px;line-height:1.55}
}


/* v27: benefits revenue clarification + optional management visual */
.hk-benefit-management-image{max-width:760px;margin:34px auto 0;background:#fff;border:1px solid var(--hk-line);border-radius:18px;overflow:hidden;box-shadow:0 12px 28px rgba(22,42,35,.08)}
.hk-benefit-management-image img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.hk-benefit-management-image figcaption{padding:12px 16px 14px;font-size:13px;line-height:1.7;color:var(--hk-muted);text-align:center}
@media(max-width:680px){.hk-benefit-management-image{margin-top:24px;border-radius:14px}.hk-benefit-management-image figcaption{font-size:12px;padding:10px 12px 12px}}


/* v28/v29: security camera visual */
.hk-safety-photo{max-width:620px;margin:30px auto 0;background:#fff;border:1px solid var(--hk-line);border-radius:18px;overflow:hidden;box-shadow:0 12px 28px rgba(22,42,35,.08)}
.hk-safety-photo img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.hk-safety-photo figcaption{padding:12px 16px 14px;font-size:13px;line-height:1.7;color:var(--hk-muted);text-align:center}
@media(max-width:680px){.hk-safety-photo{margin-top:24px;border-radius:14px}.hk-safety-photo figcaption{font-size:12px;padding:10px 12px 12px}}


/* v29: brand origin / benefit follow-up / refined security visual */
.hk-brand-origin{display:flex;align-items:baseline;gap:10px;max-width:760px;margin:-6px 0 30px;padding:15px 18px;border-left:3px solid var(--hk-brass);background:#faf8f0;color:#4b5953}
.hk-brand-origin strong{font-size:15px;color:var(--hk-green);white-space:nowrap}
.hk-brand-origin span{font-size:13px;line-height:1.8}
.hk-benefit-future{margin-top:28px}
@media(max-width:680px){
  .hk-brand-origin{display:block;margin:0 0 24px;padding:14px 15px}
  .hk-brand-origin strong{display:block;font-size:14px;margin-bottom:4px;white-space:normal}
  .hk-brand-origin span{font-size:12.5px}
  .hk-benefit-future{margin-top:22px}
  .hk-safety-photo{max-width:100%;margin-top:22px}
}

/* v30: footer official X link uses existing footer link styling. */

/* Kyoto Occult Park media list: compact on desktop, unchanged on mobile */
@media (min-width:981px){
  .hk-school-media .hk-media-lists{grid-template-columns:2fr 1fr 1fr}
  .hk-school-media .hk-media-lists>div:first-child ul{columns:2;column-gap:28px}
  .hk-school-media .hk-media-lists>div:first-child li{break-inside:avoid-column}
}


/* Shooting-location cross-link */
.hk-location-link{display:inline-flex;align-items:center;margin-top:14px;line-height:1.6;font-weight:800;color:var(--hk-heading);text-decoration:none;border-bottom:1px solid rgba(25,57,47,.28);padding-bottom:2px;}
.hk-location-link:hover{border-color:var(--hk-heading)}
.hk-location-cta{margin-top:30px;padding:26px 28px;background:#edf3ee;border:1px solid var(--hk-line);display:flex;align-items:center;justify-content:space-between;gap:28px}
.hk-location-cta>div{max-width:700px}
.hk-location-cta .hk-kicker{margin-bottom:8px}
.hk-location-cta h3{font-size:20px;line-height:1.55;margin:0 0 8px;color:var(--hk-heading)}
.hk-location-cta p{font-size:13.5px;line-height:1.8;color:var(--hk-muted);margin:0}
.hk-location-cta .hk-btn{flex:0 0 auto;white-space:nowrap}
@media(max-width:780px){
  .hk-location-cta{display:block;padding:22px 20px}
  .hk-location-cta h3{font-size:18px}
  .hk-location-cta .hk-btn{margin-top:18px;width:100%;white-space:normal;text-align:center;justify-content:center}
}


/* v6.54: media/publicity proof — aligned with the site's standard section language */
.hk-media-proof{border-top:1px solid #e3e8e1;border-bottom:1px solid #e3e8e1}
.hk-media-proof .hk-section-head{margin-bottom:34px}
.hk-media-proof-summary{max-width:460px}
.hk-media-proof-summary .hk-lead{margin:0 0 13px}
.hk-media-proof-summary a{display:inline-block;font-size:12px;font-weight:800;color:var(--hk-green);text-decoration:none;border-bottom:1px solid rgba(27,72,57,.28);padding-bottom:3px}
.hk-media-proof-summary a:hover{border-bottom-color:currentColor}
.hk-media-proof-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:0}
.hk-media-proof-card{margin:0;background:#fff;border:1px solid var(--hk-border);overflow:hidden;box-shadow:0 7px 20px rgba(28,57,47,.025)}
.hk-media-proof-image{width:100%;aspect-ratio:3/2;background:#090b0a;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hk-media-proof-image img{width:100%;height:100%;object-fit:contain;display:block}
.hk-media-proof-card figcaption{padding:14px 16px 16px;line-height:1.5;border-top:1px solid #edf0ec}
.hk-media-proof-card figcaption>span{display:block;margin-bottom:4px;font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--hk-accent)}
.hk-media-proof-card figcaption strong{display:block;color:var(--hk-heading);line-height:1.55;margin:0 0 4px;}
.hk-media-proof-card figcaption small{display:block;color:#748078;font-size:11px;line-height:1.6}
.hk-media-date{display:block;margin-top:7px;padding-top:7px;border-top:1px solid #edf0ec;color:#52645b;font-size:10.5px;font-weight:700;line-height:1.55;letter-spacing:.01em}
.hk-media-proof-more{display:flex;align-items:flex-start;gap:22px;margin-top:25px;padding-top:20px;border-top:1px solid #d9e0da}
.hk-media-proof-more>span{flex:0 0 auto;font-size:10px;font-weight:800;letter-spacing:.08em;color:var(--hk-accent);padding-top:2px}
.hk-media-proof-logos{display:flex;flex-wrap:wrap;gap:8px;color:#506058}
.hk-media-proof-logos strong{display:flex;align-items:center;background:#fff;border:1px solid var(--hk-border);padding:6px 9px;font-size:11.5px;font-weight:700;line-height:1.6}
.hk-media-proof-note{font-size:10px;color:#7e8983;margin:13px 0 0}

/* media evidence inside detailed case pages */
.hk-case-media-evidence{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0 24px}
.hk-case-media-evidence figure{margin:0;border:1px solid #dce2dc;background:#fff;overflow:hidden}
.hk-case-media-evidence img{display:block;width:100%;aspect-ratio:3/2;object-fit:contain;background:#090b0a}
.hk-case-media-evidence figcaption{padding:9px 11px 10px;font-size:11px;font-weight:700;color:#405047;line-height:1.6}
.hk-case-media-evidence figcaption strong{display:block;font-weight:800;color:#405047;}
.hk-case-media-evidence .hk-media-date{margin-top:5px;padding-top:5px;font-size:10px;font-weight:600;color:#718078}
@media(max-width:980px){
  .hk-media-proof-summary{max-width:620px}
}
@media(max-width:680px){
  .hk-media-proof .hk-section-head{margin-bottom:24px}
  .hk-media-proof-summary .hk-lead{font-size:13px;line-height:1.85}
  .hk-media-proof-showcase{grid-template-columns:1fr;gap:16px}
  .hk-media-proof-card figcaption{padding:13px 14px 15px}
  .hk-media-proof-card figcaption strong{font-size:14px}
  .hk-media-proof-more{display:block;margin-top:22px;padding-top:18px}
  .hk-media-proof-logos{margin-top:9px}
  .hk-media-proof-logos strong{font-size:11px}
  .hk-case-media-evidence{grid-template-columns:1fr;gap:12px}
}

/* =========================================================
   v6.57 — final typography consistency / accessibility
   Small informational text is kept readable without changing
   the established layout or hierarchy.
   ========================================================= */
:root{
  --hk-text-micro:13px;
  --hk-text-small:13.5px;
  --hk-text-compact:14px;
  --hk-text-body-sm:15px;
}

/* Keyboard accessibility */
.hk-page-top-anchor{position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden}
.hk-skip-link{position:fixed;top:8px;left:12px;z-index:9999;padding:10px 14px;background:var(--hk-green);color:#fff;font-size:14px;font-weight:800;transform:translateY(-160%);transition:transform .15s ease;box-shadow:0 6px 18px rgba(0,0,0,.18)}
.hk-skip-link:focus{transform:translateY(0);outline:3px solid #e2c982;outline-offset:2px}
#main-content:focus{outline:none}
.hk-nav-more.is-open .hk-nav-sub{display:block}

/* Navigation / buttons */
.hk-nav{font-size:13.5px}
.hk-header-cta,.hk-btn,.hk-detail-page-link a{font-size:14px}
.hk-location-link{font-size:14px}
.hk-mimatsu-site-actions .hk-btn{font-size:14px}

/* Shared labels and secondary text */
.hk-kicker,.hk-meta,.hk-property-examples span,.hk-benefit-top,.hk-flow-num,
.hk-detail-process-num,.hk-detail-facts dt,.hk-case-head>span,.hk-case-grid b,
.hk-case-media-title>span,.hk-case-impact-label,.hk-cta-box-label,
.hk-media-proof-card figcaption>span,.hk-media-proof-more>span,
.hk-benefit-deep-row b{font-size:var(--hk-text-micro)}

.hk-hero-caption,.hk-tag,.hk-gallery figcaption,.hk-flow-visual figcaption,
.hk-detail-hero-visual figcaption,.hk-contact-visual figcaption,
.hk-benefit-management-image figcaption,.hk-safety-photo figcaption,
.hk-media-proof-card figcaption small,.hk-media-date,.hk-media-proof-note,
.hk-case-media-evidence figcaption,.hk-case-media-evidence .hk-media-date,
.hk-footer-operator,.hk-field small,.hk-form-submit p,.hk-receipt span,
.hk-contact-muted,.hk-cta-small,.hk-cta-actions>span,.hk-proof-item small{
  font-size:var(--hk-text-small)!important;
}

/* Compact body copy — same role, same scale */
.hk-mini-card p,.hk-owner-row p,.hk-flow-card p,.hk-property-examples p,
.hk-benefit-detail,.hk-detail-card p,.hk-detail-mini-grid p,.hk-detail-check p,
.hk-detail-list li,.hk-detail-split-copy p,.hk-detail-process-card p,
.hk-detail-faq .hk-faq-answer p,.hk-benefit-deep-row p,.hk-case-grid p,
.hk-case-media p,.hk-case-media-title p,.hk-impact-note p,.hk-case-impact p,
.hk-location-cta p,.hk-contact-note,.hk-contact-privacy p,.hk-consent,
.hk-brand-origin span,.hk-media-lists,.hk-case-media-evidence figcaption{
  font-size:14.5px;
}

.hk-property p,.hk-use-card p,.hk-safety-card p,.hk-detail-head p,
.hk-detail-callout p,.hk-detail-hero-lead{font-size:var(--hk-text-body-sm)}

/* Small but important labels/actions */
.hk-benefit-more,.hk-disclaimer,.hk-safety-note,.hk-impact-note strong,
.hk-detail-subtitle,.hk-detail-related-grid a,.hk-detail-facts dd,
.hk-detail-process-list li,.hk-media-logos span,.hk-media-proof-summary a,
.hk-media-proof-logos strong,.hk-form-topline p,.hk-form-section-head p,
.hk-field em,.hk-required{font-size:var(--hk-text-compact)}

/* Trust/media proof readability */
.hk-proof-item strong{font-size:14px;line-height:1.45;white-space:nowrap}
.hk-media-proof-card figcaption strong{font-size:16px}
.hk-case-media-evidence figcaption strong{font-size:14.5px}
.hk-media-proof-note{line-height:1.7}

/* Footer */
.hk-footer-inner{font-size:13.5px}

@media(max-width:680px){
  body{font-size:16px}
  .hk-lead{font-size:15.5px}
  .hk-detail-hero-lead,.hk-contact-hero-lead{font-size:15px}
  .hk-detail-head p{font-size:14.5px}
  .hk-media-proof-summary .hk-lead{font-size:15px;line-height:1.9}
  .hk-proof-item strong{font-size:14.5px;line-height:1.45;white-space:nowrap}
  .hk-proof-item small{font-size:13.5px}
  .hk-media-proof-logos strong{font-size:13.5px}
  .hk-trustbar h2{font-size:16.5px;line-height:1.6}
  .hk-detail-page-link a{font-size:14px}
}

/* Final role alignment: previously undersized secondary components */
.hk-trustbar p{font-size:14.5px}
.hk-condition-card p,.hk-why-card p,.hk-safety-disclaimer p{font-size:14.5px}
.hk-condition-note{font-size:14px}
.hk-why-num{font-size:13px}
.hk-nav-sub a,.hk-benefit-details summary{font-size:14px}
.hk-detail-card-catch,.hk-case-media b,.hk-safety-disclaimer b{font-size:14px}
.hk-property-note{font-size:14.5px}
.hk-media-lists h5{font-size:14px}
.hk-benefit ul{font-size:14.5px}
.hk-brand small,.hk-brand-copy small{font-size:13px}
.hk-mini-card h3{font-size:16.5px}
.hk-owner-row h3{font-size:18px}
.hk-safety-card h3,.hk-flow-card h3,.hk-detail-card h3,.hk-detail-process-card h3{font-size:19px}
@media(max-width:680px){
  .hk-trustbar p{font-size:14.5px}
}


/* v6.57 — readability pass: preserve natural line breaks while keeping secondary text legible */
@media(max-width:340px){
  .hk-proof-item strong{white-space:normal}
}

.hk-cta p{font-size:15px}
.hk-cta-list span{font-size:14px}
