
:root{
  --milk:#FFFCFD;--petal:#C98A95;--petal-soft:#F8E9ED;--linen:#FBF1F3;
  --sage:#A96575;--text:#402D33;--text-soft:#55474B;--border:#F5E0E5;
  --header-expanded:104px;--nav-h:40px;--header-total:calc(var(--header-expanded) + var(--nav-h));
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);background:var(--milk);font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif;line-height:1.9;font-size:16.5px;padding-top:var(--header-total)}
a{color:inherit} .container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.k-header{position:fixed;inset:0 0 auto 0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(231,178,186,.28)}
.k-header-top{height:var(--header-expanded);background:linear-gradient(90deg,rgba(247,232,235,.82),rgba(255,255,255,.98) 62%)}
.k-header-row{height:100%;display:grid;grid-template-columns:260px minmax(0,1fr) 280px;align-items:center;gap:22px}
.k-brand{display:flex;align-items:center;gap:12px;min-width:0}
.k-logo{width:58px;height:58px;border-radius:18px;border:1px solid var(--border);background:#fffaf8;display:grid;place-items:center;flex:0 0 58px;overflow:hidden}
.k-logo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;transform:scale(1.12)}
.k-brand-name{font-size:.88rem;font-weight:650;letter-spacing:.16em;line-height:1.35;color:#b07786;margin-bottom:2px}
.k-service-title{font-size:1.24rem;font-weight:700;line-height:1.42;color:#8f5d68;white-space:nowrap}
.k-header-message strong{display:block;color:#9e6572;font-size:1.36rem;font-weight:700;line-height:1.42;letter-spacing:.025em}
.k-header-message span{display:block;color:var(--text-soft);font-size:.94rem;font-weight:560;line-height:1.55;margin-top:5px}
.k-header-actions{display:flex;justify-content:flex-end;align-items:center}
.k-btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.58rem 1rem;border-radius:12px;border:1px solid #EDC7CF;text-decoration:none;font-size:.92rem;font-weight:700;white-space:nowrap;background:rgba(255,255,255,.82);color:#A96575}
.k-nav{height:var(--nav-h);background:rgba(255,255,255,.98);border-top:1px solid rgba(231,178,186,.18)}
.k-nav ul{height:100%;display:flex;align-items:center;justify-content:center;gap:clamp(24px,2.6vw,42px);list-style:none;margin:0;padding:0 12px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.k-nav a{text-decoration:none;color:#8c6870;font-size:.96rem;font-weight:700}
.k-hero{height:calc(100dvh - var(--header-total) - 8px);padding:8px 0;overflow:hidden;background:radial-gradient(circle at 12% 20%,rgba(247,232,235,.58),transparent 34rem),linear-gradient(180deg,#FFFCFD,#FFFCFD)}
.k-hero .container,.k-hero-grid,.k-hero-media{height:100%;min-height:0}
.k-hero-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(430px,1fr);overflow:hidden;border:1px solid var(--border);border-radius:26px;background:rgba(255,255,255,.72);box-shadow:0 18px 54px rgba(122,91,99,.08)}
.k-hero-media{position:relative;min-width:0;overflow:hidden;background:linear-gradient(135deg,#FBF1F3,#FBF1F3)}
.k-slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 1.35s ease}
.k-slide img{width:100%;height:100%;object-fit:cover;display:block}
.k-slide.is-current{opacity:1;visibility:visible;pointer-events:auto;z-index:2}
.k-slide-label{position:absolute;left:18px;bottom:12px;z-index:5;background:rgba(255,255,255,.82);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:.42rem .72rem;font-size:.68rem}
.k-slider-controls{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);display:flex;gap:9px;z-index:8}
.k-arrow{width:27px;height:27px;border-radius:50%;border:0;background:rgba(255,255,255,.78);cursor:pointer}
.k-dots{display:flex;gap:6px;align-items:center}
.k-dots button{width:7px;height:7px;border:0;border-radius:50%;padding:0;background:#F5E0E5;cursor:pointer}
.k-dots button.active{background:#C98A95}
.k-hero-copy{min-width:0;display:flex;flex-direction:column;justify-content:flex-start;padding:18px 24px 16px}
.k-hero-copy h1{margin:0 0 9px;color:#986471;font-size:37px;font-weight:600;line-height:1.36}
.k-lead{margin:0;color:#55474B;font-size:16px;font-weight:500;line-height:1.78}
.k-profile{margin:14px 0 9px;display:flex;align-items:center;gap:15px}
.k-profile-photo{width:110px;height:126px;flex:0 0 110px;border-radius:20px;border:1px solid #F5E0E5;overflow:hidden;background:#fffdfd}
.k-profile-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 20%}
.k-profile-photo::before{content:none}
.k-profile-meta strong{display:block;font-size:21px;font-weight:700;line-height:1.35}
.k-profile-meta span{display:block;margin-top:2px;color:#55474B;font-size:14px;font-weight:600;line-height:1.48}
.k-profile-meta small{display:block;margin-top:3px;color:#b6808c;font-size:12px;font-weight:600}
.k-tags{display:flex;flex-wrap:wrap;gap:6px 7px;margin:4px 0 10px}
.k-tag{display:inline-flex;align-items:center;min-height:31px;padding:4px 10px;border:1px solid #F5E0E5;border-radius:999px;background:rgba(255,255,255,.72);color:#886b72;font-size:13px;font-weight:600}
.k-hero-actions{display:flex;gap:8px}
.k-hero-actions .k-btn{flex:1;min-height:46px;font-size:16px}
.k-availability{color:var(--text-soft);font-size:.84rem;line-height:1.62;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}
.section{padding:88px 0} .section-soft{background:linear-gradient(180deg,rgba(255,252,250,.82),rgba(255,255,255,.95))}
.section-title{text-align:center;margin-bottom:40px} .section-title .num{color:#bc9692;font-size:.76rem;letter-spacing:.16em}
.section-title h2{margin:.45rem 0;font-size:clamp(1.65rem,3vw,2.45rem);font-weight:500} .section-title p{margin:.4rem auto 0;max-width:760px;color:var(--text-soft)}
.bubble-wrap{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;max-width:980px;margin:0 auto} .bubble{border:1px solid #e6d7d3;background:#fff;color:#55474B;border-radius:999px;padding:.86rem 1.2rem}
.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px} .service-card,.step,.faq details{border:1px solid var(--border);background:#fff;border-radius:22px;padding:22px}
.price{font-size:1.25rem;color:#8B3C53} .price-table{width:100%;border-collapse:collapse;background:#fff;border-radius:24px;overflow:hidden}
.price-table th,.price-table td{padding:18px 20px;border-bottom:1px solid #F5E0E5;text-align:left}
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:16px} .step .circle{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--petal-soft);color:#8B3C53;margin-bottom:12px}
.faq{max-width:900px;margin:auto} .faq details{margin-bottom:12px} .faq summary{cursor:pointer;font-weight:600}
.cta-box{border-radius:34px;background:linear-gradient(135deg,#FBF1F3,#FFFCFD);padding:52px;text-align:center;border:1px solid var(--border)}
.footer{background:linear-gradient(135deg,#E3AFBA 0%,#EDC7CF 48%,#edc7cf 100%);color:white;padding:48px 0 26px;margin-top:60px}
section[id]{scroll-margin-top:calc(var(--header-total) + 12px)}
@media(max-width:900px){
 :root{--header-expanded:126px;--nav-h:46px} .k-header-row{grid-template-columns:auto minmax(0,1fr) auto;gap:12px}
 .k-header-message{display:none} .k-service-title{font-size:1rem} .k-hero{height:auto;min-height:calc(100dvh - var(--header-total));overflow:visible}
 .k-hero-grid{grid-template-columns:1fr;height:auto} .k-hero-media{min-height:52vh} .cards-3,.flow{grid-template-columns:1fr}
}
@media(max-width:640px){
 :root{--header-expanded:154px} .container{width:min(calc(100% - 24px),var(--max))}
 .k-header-row{grid-template-columns:auto 1fr;grid-template-rows:58px 48px;padding-top:4px} .k-header-actions{grid-column:1/-1;width:100%} .k-header-actions .k-btn{width:100%}
 .k-nav ul{justify-content:flex-start} .k-hero-media{min-height:340px} .k-hero-copy{padding:22px 18px} .k-hero-copy h1{font-size:31px}
}


/* ===== 2026-08-19 Life background sync (header/footer excluded) =====
   Source of truth: Kanairu Life v17.3 LINE button label unified.
   Background/panel colors only. Header and footer intentionally untouched. */
:root{
  --sakura-050:#FFFCFD;
  --sakura-100:#FBF1F3;
  --sakura-150:#F8E9ED;
  --sakura-200:#F5E0E5;
  --sakura-300:#EDC7CF;
  --sakura-400:#E3AFBA;
  --sakura-500:#C98A95;
  --sakura-deep:#A96575;
}
body{background:var(--sakura-050) !important;}

/* Hero */
.k-hero,
body.scrolled .k-hero{
  background:
    radial-gradient(circle at 12% 20%,rgba(232,183,193,.18),transparent 34rem),
    linear-gradient(180deg,#fffdfd 0%,#FFFCFD 100%) !important;
}
.k-hero-grid{
  background:rgba(255,253,254,.86) !important;
  border-color:rgba(201,138,149,.20) !important;
}
.k-hero-media{background:linear-gradient(135deg,#fbf1f3,#FFFCFD) !important;}
.k-slide-label{background:rgba(255,253,254,.88) !important;}
.k-slider-controls button{background:rgba(255,253,254,.88) !important;}
.k-profile-photo{background-color:#fffdfd !important;}
.k-tag{
  background:rgba(255,253,254,.92) !important;
  border-color:rgba(201,138,149,.24) !important;
}

/* Main section rhythm */
main{background:var(--sakura-050) !important;}
.section{background:linear-gradient(180deg,#fffdfd 0%,#fdf8f9 100%) !important;}
.section-soft{background:linear-gradient(180deg,#fbf1f3 0%,#FFFCFD 100%) !important;}

/* Cards and information surfaces */
.choice-card,
.service-card,
.step,
.faq details,
.price-table{
  background:rgba(255,253,254,.97) !important;
  border-color:rgba(201,138,149,.22) !important;
}
.choice-image,
.pro-visual{background:linear-gradient(135deg,#f8e9ed,#FFFCFD) !important;}
.bubble{
  background:rgba(255,253,254,.97) !important;
  border-color:rgba(201,138,149,.28) !important;
}
.price-table th,
.price-table td{border-bottom-color:rgba(201,138,149,.16) !important;}
.cta-box{
  background:linear-gradient(135deg,#fbf1f3 0%,#fffdfd 58%,#f8e9ed 100%) !important;
  border-color:rgba(201,138,149,.28) !important;
}
.modal{background:#fffdfd !important;}
.modal-close{background:#fbf1f3 !important;}



/* ==========================================================
   2026-08-19 | TOP area typography / controls exact-sync pass
   Source of truth: Kanairu Life v17.3 line_button_label_unified
   Lab wording/content stays Lab-specific; display settings follow Life.
   Notebook/desktop is the current review target.
   ========================================================== */
:root{
  --header-expanded:112px !important;
  --nav-h:46px !important;
  --header-total:calc(var(--header-expanded) + var(--nav-h)) !important;
}
body{padding-top:var(--header-total) !important;}
.k-header-top{height:var(--header-expanded) !important;}
.k-header-row{
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:24px !important;
}

/* Life logo frame + image fitting. The previous Lab scale/cover made the mark look larger. */
.k-logo{
  width:54px !important;
  height:54px !important;
  flex:0 0 54px !important;
  border-radius:18px !important;
  padding:4px !important;
  overflow:hidden !important;
  background:#fffaf8 !important;
  display:grid !important;
  place-items:center !important;
}
.k-logo img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  transform:none !important;
  border-radius:inherit !important;
  display:block !important;
}

/* Header typography / colors from Life */
.k-brand-name{
  color:#b07786 !important;
  font-size:.75rem !important;
  font-weight:600 !important;
  letter-spacing:.16em !important;
  line-height:1.35 !important;
  margin-bottom:2px !important;
}
.k-service-title{
  color:#8f5d68 !important;
  font-size:.82rem !important;
  font-weight:600 !important;
  line-height:1.3 !important;
  white-space:nowrap !important;
}
.k-header-message strong{
  color:#9e6572 !important;
  font-size:1.48rem !important;
  font-weight:600 !important;
  line-height:1.35 !important;
  letter-spacing:.02em !important;
}
.k-header-message span{
  color:var(--text-soft) !important;
  font-size:.90rem !important;
  font-weight:500 !important;
  line-height:1.45 !important;
  margin-top:4px !important;
}
.k-header-actions .k-btn{
  min-height:36px !important;
  padding:.48rem .82rem !important;
  border-radius:12px !important;
  border:1px solid #EDC7CF !important;
  background:rgba(255,255,255,.82) !important;
  color:#A96575 !important;
  font-size:.78rem !important;
  font-weight:600 !important;
  line-height:1.25 !important;
}

/* Menu bar */
.k-nav{height:46px !important;}
.k-nav ul{
  gap:clamp(18px,2.3vw,34px) !important;
  padding:0 6px !important;
}
.k-nav a{
  position:relative !important;
  color:#8c6870 !important;
  font-size:.78rem !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  padding:10px 0 9px !important;
}

/* Hero first-view behavior and all right-column type */
@media (min-width:901px){
  .k-hero{
    height:calc(100vh - var(--header-total) - 8px) !important;
    height:calc(100dvh - var(--header-total) - 8px) !important;
    min-height:0 !important;
    max-height:calc(100dvh - var(--header-total) - 8px) !important;
    padding:6px 0 8px !important;
    overflow:hidden !important;
  }
  .k-hero .container,.k-hero-grid,.k-hero-media{
    height:100% !important;
    min-height:0 !important;
  }
  .k-hero-copy{
    min-height:0 !important;
    max-height:100% !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    justify-content:center !important;
    padding:12px 24px 10px !important;
  }
  .k-hero-copy h1{
    margin:0 0 .34rem !important;
    color:#986471 !important;
    font-size:clamp(1.72rem,2.25vw,2.45rem) !important;
    font-weight:600 !important;
    line-height:1.24 !important;
    letter-spacing:0 !important;
  }
  .k-lead{
    margin:0 !important;
    color:var(--text-soft) !important;
    font-size:.92rem !important;
    font-weight:500 !important;
    line-height:1.48 !important;
  }
  .k-profile{
    margin:8px 0 5px !important;
    gap:13px !important;
    cursor:pointer !important;
  }
  .k-profile-photo{
    width:84px !important;
    height:98px !important;
    flex:0 0 84px !important;
    border-radius:18px !important;
    border:1px solid var(--border) !important;
    background:#fffdfd !important;
  }
  .k-profile-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center 18% !important;
    transform:none !important;
  }
  .k-profile-meta strong{
    color:var(--text) !important;
    font-size:1.08rem !important;
    font-weight:700 !important;
    line-height:1.22 !important;
  }
  .k-profile-meta span{
    color:var(--text-soft) !important;
    font-size:.84rem !important;
    font-weight:600 !important;
    line-height:1.38 !important;
    margin-top:1px !important;
  }
  .k-profile-meta small{
    color:#b6808c !important;
    font-size:.84rem !important;
    font-weight:600 !important;
    line-height:1.25 !important;
    margin-top:2px !important;
  }
  .k-tags{
    gap:5px 6px !important;
    margin:4px 0 7px !important;
  }
  .k-tag{
    min-height:0 !important;
    padding:.28rem .56rem !important;
    border:1px solid var(--border) !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.72) !important;
    color:#886b72 !important;
    font-size:.84rem !important;
    font-weight:600 !important;
    line-height:1.2 !important;
  }
  .k-hero-actions{gap:6px !important;}
  .k-hero-actions .k-btn{
    min-height:36px !important;
    padding:.42rem .62rem !important;
    border-radius:12px !important;
    border:1px solid #EDC7CF !important;
    background:rgba(255,255,255,.82) !important;
    color:#A96575 !important;
    font-size:.86rem !important;
    font-weight:600 !important;
    line-height:1.2 !important;
  }
  .k-availability{
    margin:5px 0 0 !important;
    padding-top:5px !important;
    border-top:1px solid var(--border) !important;
    color:var(--text-soft) !important;
    font-size:.84rem !important;
    font-weight:500 !important;
    line-height:1.35 !important;
  }
}

/* Slideshow labels/controls: same typographic treatment as Life */
.k-slide-label{
  color:var(--text) !important;
  font-size:.68rem !important;
  font-weight:500 !important;
  line-height:1.35 !important;
}
.k-arrow{
  color:var(--text) !important;
  font-family:inherit !important;
  font-size:1rem !important;
  line-height:1 !important;
}

/* Profile popup – Life geometry, colors and type inheritance. */
.profile-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:6000 !important;
  display:none;
  align-items:center !important;
  justify-content:center !important;
  padding:20px !important;
  background:rgba(45,37,35,.45) !important;
  overscroll-behavior:contain !important;
}
.profile-modal.open{display:flex !important;}
.profile-modal .modal{
  position:relative !important;
  z-index:6001 !important;
  width:min(680px,100%) !important;
  max-height:88vh !important;
  overflow:auto !important;
  padding:32px !important;
  border-radius:30px !important;
  background:#fffdfd !important;
  color:var(--text) !important;
  font-family:inherit !important;
  font-size:1rem !important;
  line-height:1.9 !important;
}
.profile-modal .modal-head{
  position:relative !important;
  z-index:6002 !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:20px !important;
}
.profile-modal .eyebrow{
  color:#bc9692 !important;
  font-size:.76rem !important;
  font-weight:600 !important;
  letter-spacing:.16em !important;
}
.profile-modal h2{
  margin:.35rem 0 .7rem !important;
  color:#986471 !important;
  font-size:1.65rem !important;
  font-weight:600 !important;
  line-height:1.4 !important;
}
.profile-modal p{
  color:var(--text-soft) !important;
  font-size:1rem !important;
  font-weight:500 !important;
  line-height:1.9 !important;
}
.profile-modal p strong{color:var(--text) !important;font-weight:700 !important;}
.profile-close-hitarea{
  position:relative !important;
  z-index:7000 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  min-height:48px !important;
  border:0 !important;
  border-radius:50% !important;
  background:#faf3f1 !important;
  color:inherit !important;
  font-family:inherit !important;
  font-size:1.2rem !important;
  line-height:1 !important;
  cursor:pointer !important;
}



/* ==========================================================
   2026-08-19 | Header brand/CTA alignment pass
   - Typography and CTA sizing follow Kanairu Life v17.3
   - Kanairu logo intentionally enlarged on BOTH services:
     target frame 76x76, no CSS padding, still smaller than profile photo.
   - Lab keeps only LINE CTA, but reserves the Life "空き確認・仮予約"
     slot invisibly so LINE button lands in the same position as Life.
   ========================================================== */

/* Brand recognition: larger official Kanairu logo, no CSS padding */
.k-logo,
.k-header.is-scrolled .k-logo{
  width:76px !important;
  height:76px !important;
  flex:0 0 76px !important;
  padding:0 !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:rgba(255,255,255,.66) !important;
}
.k-logo img,
.k-header.is-scrolled .k-logo img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center !important;
  transform:scale(1.10) !important;
  transform-origin:center !important;
  display:block !important;
  border-radius:inherit !important;
}

/* Exact Life v17.3 brand/service typography */
.k-brand-name,
.k-header.is-scrolled .k-brand-name{
  font-size:.75rem !important;
  font-weight:400 !important;
  letter-spacing:.16em !important;
  line-height:1.35 !important;
  color:#b07786 !important;
  margin-bottom:2px !important;
}
.k-service-title,
.k-header.is-scrolled .k-service-title{
  font-size:1.10rem !important;
  font-weight:600 !important;
  line-height:1.42 !important;
  color:#8f5d68 !important;
  white-space:nowrap !important;
}

/* Exact Life v17.3 main header message typography */
.k-header-message strong,
.k-header.is-scrolled .k-header-message strong{
  display:block !important;
  color:#9e6572 !important;
  font-size:1.22rem !important;
  font-weight:600 !important;
  letter-spacing:.035em !important;
  line-height:1.42 !important;
}
.k-header-message span,
.k-header.is-scrolled .k-header-message span{
  display:block !important;
  color:var(--text-soft) !important;
  font-size:.80rem !important;
  font-weight:500 !important;
  line-height:1.6 !important;
  margin-top:4px !important;
}

/* Exact Life v17.3 header CTA size */
.k-header-actions,
.k-header.is-scrolled .k-header-actions{
  display:flex !important;
  gap:8px !important;
  align-items:center !important;
  grid-column:3 !important;
  justify-self:end !important;
  margin-left:auto !important;
}
.k-header-actions .k-btn,
.k-header.is-scrolled .k-header-actions .k-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:36px !important;
  padding:.48rem .82rem !important;
  border-radius:12px !important;
  border:1px solid #EDC7CF !important;
  text-decoration:none !important;
  font-size:.78rem !important;
  font-weight:600 !important;
  line-height:1.25 !important;
  white-space:nowrap !important;
  background:rgba(255,255,255,.74) !important;
  color:#A96575 !important;
}

/* Invisible reserve-button footprint: Lab's LINE CTA occupies Life's second slot */
.k-header-actions .k-btn-placeholder{
  visibility:hidden !important;
  pointer-events:none !important;
  user-select:none !important;
}



/* ==========================================================
   2026-08-19 | Kanairu Lab header EXACT re-sync from current Kanairu Life
   Content differs; shared layout/typography/background/CTA/nav/logo settings do not.
   ========================================================== */
:root{
  --header-expanded:104px !important;
  --header-compact:58px !important;
  --nav-h:40px !important;
  --header-total:calc(var(--header-expanded) + var(--nav-h)) !important;
  --header-total-compact:calc(var(--header-compact) + var(--nav-h)) !important;
  --max:1180px !important;
}

body,
body.scrolled{
  padding-top:var(--header-total) !important;
}

.k-header{
  position:fixed !important;
  inset:0 0 auto 0 !important;
  z-index:1000 !important;
  background:rgba(255,253,254,.97) !important;
  backdrop-filter:blur(12px) !important;
  border-bottom:1px solid rgba(201,138,149,.28) !important;
  box-shadow:none !important;
}
.k-header.is-scrolled{
  box-shadow:0 10px 28px rgba(122,91,99,.08) !important;
}

.k-header-top,
.k-header.is-scrolled .k-header-top{
  height:var(--header-expanded) !important;
  background:linear-gradient(90deg,
    rgba(251,241,243,.82) 0%,
    rgba(248,233,237,.72) 42%,
    rgba(255,253,254,.98) 100%) !important;
  transition:none !important;
}

.k-header-row,
.k-header.is-scrolled .k-header-row{
  height:100% !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:26px !important;
}

.k-brand{
  grid-column:1 !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0 !important;
}
.k-brand-text{min-width:0 !important;}

.k-logo,
.k-header.is-scrolled .k-logo{
  width:76px !important;
  height:76px !important;
  flex:0 0 76px !important;
  padding:0 !important;
  border-radius:18px !important;
  border:1px solid var(--border) !important;
  overflow:hidden !important;
  background:rgba(255,253,254,.94) !important;
  transition:none !important;
}
.k-logo img,
.k-header.is-scrolled .k-logo img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center !important;
  transform:scale(1.10) !important;
  transform-origin:center !important;
  display:block !important;
  border-radius:inherit !important;
}

.k-brand-name,
.k-header.is-scrolled .k-brand-name{
  font-size:.88rem !important;
  font-weight:650 !important;
  letter-spacing:.16em !important;
  line-height:1.35 !important;
  color:#b07786 !important;
  margin-bottom:2px !important;
}

.k-service-title,
.k-header.is-scrolled .k-service-title{
  font-size:1.24rem !important;
  font-weight:700 !important;
  line-height:1.42 !important;
  color:#8f5d68 !important;
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:keep-all !important;
  transition:none !important;
}

.k-header-message,
.k-header.is-scrolled .k-header-message{
  grid-column:2 !important;
  align-self:center !important;
  display:block !important;
  min-width:0 !important;
}
.k-header-message strong,
.k-header.is-scrolled .k-header-message strong{
  display:block !important;
  color:#9e6572 !important;
  font-size:1.36rem !important;
  font-weight:700 !important;
  line-height:1.42 !important;
  letter-spacing:.025em !important;
  overflow-wrap:normal !important;
  word-break:keep-all !important;
  transition:none !important;
}
.k-header-message span,
.k-header.is-scrolled .k-header-message span{
  display:block !important;
  color:var(--text-soft) !important;
  font-size:.94rem !important;
  font-weight:560 !important;
  line-height:1.55 !important;
  margin-top:5px !important;
  transition:none !important;
}

.k-header-actions,
.k-header.is-scrolled .k-header-actions{
  grid-column:3 !important;
  justify-self:end !important;
  margin-left:auto !important;
  display:flex !important;
  gap:8px !important;
  align-items:center !important;
}

.k-btn,
.k-header.is-scrolled .k-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:.58rem 1rem !important;
  border-radius:12px !important;
  border:1px solid rgba(201,138,149,.42) !important;
  text-decoration:none !important;
  font-size:.92rem !important;
  font-weight:700 !important;
  line-height:1.25 !important;
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:keep-all !important;
  background:rgba(255,253,254,.92) !important;
  color:#A96575 !important;
  transition:none !important;
}
.k-btn-line{background:rgba(255,253,254,.92) !important;}
.k-btn-placeholder{
  visibility:hidden !important;
  pointer-events:none !important;
  user-select:none !important;
}

.k-nav,
.k-header.is-scrolled .k-nav{
  height:var(--nav-h) !important;
  background:rgba(255,253,254,.99) !important;
  border-top:1px solid rgba(201,138,149,.18) !important;
}

.k-nav ul{
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:clamp(24px,2.6vw,42px) !important;
  list-style:none !important;
  margin:0 !important;
  padding:0 12px !important;
  overflow-x:auto !important;
  white-space:nowrap !important;
  scrollbar-width:none !important;
}
.k-nav ul::-webkit-scrollbar{display:none !important;}
.k-nav li{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.k-nav a,
.k-header.is-scrolled .k-nav a{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  text-decoration:none !important;
  font-size:.96rem !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  color:#8c6870 !important;
  padding:13px 2px 11px !important;
  overflow-wrap:normal !important;
  word-break:keep-all !important;
}
.k-nav a::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  bottom:4px !important;
  width:0 !important;
  height:2px !important;
  border-radius:99px !important;
  background:#C98A95 !important;
  transform:translateX(-50%) !important;
  transition:.2s !important;
}
.k-nav a.is-active{color:#8c6870 !important;}
.k-nav a.is-active::after{width:72% !important;}



/* ==========================================================
   2026-08-19 | Header geometry correction
   The Life CSS uses an AUTO first grid column.
   Because "ブランディングデザインサービス" is much longer than
   "介護保険外サービス", the same CSS made Lab's first column expand,
   pushing the center copy to the right.
   On Lab only, lock the first-column footprint to the Life header's
   desktop footprint so the shared header geometry remains visually aligned.
   Typography/colors/sizes remain the Life values.
   ========================================================== */
@media (min-width:901px){
  .k-header-row,
  .k-header.is-scrolled .k-header-row{
    grid-template-columns:275px minmax(0,1fr) auto !important;
  }

  .k-brand,
  .k-header.is-scrolled .k-brand{
    width:275px !important;
    max-width:275px !important;
  }

  .k-brand-text{
    min-width:0 !important;
    width:187px !important;
    max-width:187px !important;
  }

  .k-service-title,
  .k-header.is-scrolled .k-service-title{
    white-space:normal !important;
    overflow-wrap:normal !important;
    word-break:keep-all !important;
  }
}



/* ==========================================================
   2026-08-19 | TRUE Life header values (desktop/laptop)
   This block intentionally follows the FINAL PC rules in the current
   Kanairu Life file. No Lab-specific visual compensation is applied.
   If the longer Lab wording overlaps, that is allowed at this stage.
   ========================================================== */
@media (min-width:901px){
  /* Same grid behavior as Life: no fixed Lab-only width */
  .k-header-row,
  .k-header.is-scrolled .k-header-row{
    grid-template-columns:auto minmax(0,1fr) auto !important;
    gap:26px !important;
  }

  .k-brand,
  .k-header.is-scrolled .k-brand{
    width:auto !important;
    max-width:none !important;
  }

  .k-brand-text{
    width:auto !important;
    max-width:none !important;
    min-width:0 !important;
  }

  /* FINAL Life desktop type values */
  .k-brand-name,
  .k-header.is-scrolled .k-brand-name{
    font-size:.88rem !important;
    font-weight:650 !important;
    letter-spacing:.16em !important;
    line-height:1.35 !important;
  }

  .k-service-title,
  .k-header.is-scrolled .k-service-title{
    font-size:.82rem !important;
    font-weight:700 !important;
    line-height:1.30 !important;
    white-space:nowrap !important;
    overflow-wrap:normal !important;
    word-break:keep-all !important;
  }

  .k-header-message strong,
  .k-header.is-scrolled .k-header-message strong{
    font-size:1.48rem !important;
    font-weight:700 !important;
    line-height:1.35 !important;
    letter-spacing:.02em !important;
  }

  .k-header-message span,
  .k-header.is-scrolled .k-header-message span{
    font-size:.90rem !important;
    font-weight:560 !important;
    line-height:1.45 !important;
    margin-top:5px !important;
  }

  /* FINAL Life header CTA values */
  .k-header-actions .k-btn,
  .k-header.is-scrolled .k-header-actions .k-btn{
    min-height:42px !important;
    padding:.58rem 1rem !important;
    font-size:.92rem !important;
    font-weight:700 !important;
    line-height:1.25 !important;
    border-radius:12px !important;
  }

  /* FINAL Life desktop nav values */
  .k-nav a,
  .k-header.is-scrolled .k-nav a{
    font-size:.96rem !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    padding:13px 2px 11px !important;
  }
}



/* 2026-08-19 | Keep Lab header main message on one line (desktop only) */
@media (min-width:901px){
  .k-header-message strong,
  .k-header.is-scrolled .k-header-message strong{
    white-space:nowrap !important;
  }
}



/* ===== 2026-08-19 Lab smartphone header repair =====
   Fix only mobile header/navigation geometry and preserve the approved desktop layout. */
@media (max-width:640px){
  :root{
    --header-expanded:176px !important;
    --header-compact:176px !important;
    --nav-h:64px !important;
  }

  .k-header-top,
  .k-header.is-scrolled .k-header-top{
    height:var(--header-expanded) !important;
  }

  .k-header-row,
  .k-header.is-scrolled .k-header-row{
    height:100% !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-rows:72px 42px 46px !important;
    gap:4px 10px !important;
    align-items:center !important;
    padding:4px 0 6px !important;
  }

  .k-brand,
  .k-header.is-scrolled .k-brand{
    grid-column:1 / -1 !important;
    grid-row:1 !important;
    min-width:0 !important;
    align-items:center !important;
  }

  .k-logo,
  .k-header.is-scrolled .k-logo{
    width:64px !important;
    height:64px !important;
    flex:0 0 64px !important;
    border-radius:18px !important;
  }

  .k-brand-text,
  .k-header.is-scrolled .k-brand-text{
    min-width:0 !important;
  }

  .k-brand-name,
  .k-header.is-scrolled .k-brand-name{
    font-size:.76rem !important;
    line-height:1.20 !important;
    white-space:nowrap !important;
  }

  .k-service-title,
  .k-header.is-scrolled .k-service-title{
    font-size:.77rem !important;
    line-height:1.22 !important;
    white-space:nowrap !important;
  }

  .k-header-message,
  .k-header.is-scrolled .k-header-message{
    display:block !important;
    grid-column:1 / -1 !important;
    grid-row:2 !important;
    min-width:0 !important;
    align-self:center !important;
  }

  .k-header-message strong,
  .k-header.is-scrolled .k-header-message strong{
    display:block !important;
    font-size:.80rem !important;
    line-height:1.26 !important;
    letter-spacing:.01em !important;
    white-space:nowrap !important;
  }

  .k-header-message span,
  .k-header.is-scrolled .k-header-message span{
    display:block !important;
    margin-top:2px !important;
    font-size:.61rem !important;
    line-height:1.25 !important;
    letter-spacing:-.02em !important;
    white-space:nowrap !important;
  }

  .k-header-actions,
  .k-header.is-scrolled .k-header-actions{
    grid-column:1 / -1 !important;
    grid-row:3 !important;
    width:100% !important;
    display:flex !important;
    justify-content:flex-end !important;
    align-items:center !important;
  }

  .k-btn-placeholder,
  .k-header.is-scrolled .k-btn-placeholder{
    display:none !important;
  }

  .k-header-actions .k-btn-line,
  .k-header.is-scrolled .k-header-actions .k-btn-line{
    width:100% !important;
    min-height:40px !important;
    padding:.48rem .60rem !important;
    font-size:.76rem !important;
    line-height:1.2 !important;
  }

  .k-nav,
  .k-header.is-scrolled .k-nav{
    height:var(--nav-h) !important;
  }

  .k-nav .container{
    width:100% !important;
    height:100% !important;
    padding:0 8px !important;
  }

  .k-nav ul{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    grid-auto-rows:1fr !important;
    gap:0 4px !important;
    height:100% !important;
    overflow:visible !important;
    padding:4px 0 !important;
    white-space:normal !important;
  }

  .k-nav li{
    min-width:0 !important;
    width:100% !important;
    text-align:center !important;
  }

  .k-nav a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:26px !important;
    padding:2px !important;
    font-size:.60rem !important;
    line-height:1.15 !important;
    white-space:normal !important;
  }

  .k-hero{
    height:auto !important;
    min-height:calc(100dvh - var(--header-expanded) - var(--nav-h)) !important;
    max-height:none !important;
    overflow:visible !important;
  }

  .k-hero-grid{
    grid-template-columns:1fr !important;
    height:auto !important;
  }

  .k-hero-media{
    min-height:340px !important;
  }
}


/* Back to TOP: same settings as Kanairu Life. */
.js-hero-top{cursor:pointer}
.k-backtop{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:1500;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:58px;
  height:42px;
  padding:0 13px;
  border:1px solid rgba(201,138,149,.42);
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#a8737e;
  text-decoration:none;
  font-size:.72rem;
  font-weight:700;
  box-shadow:0 8px 24px rgba(122,91,99,.12);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
@media (max-width:640px){
  .k-backtop{
    right:12px;
    bottom:12px;
    min-width:54px;
    height:40px;
    font-size:.68rem;
  }
}


/* Brandbook v42: Sakura 100-500 / Deep. Keep the adopted ten-image Hero. */
:root{--milk:#FFFCFD;--petal:#C98A95;--petal-soft:#F8E9ED;--linen:#FBF1F3;--sage:#A96575;--text:#402D33;--text-soft:#55474B;--border:#F5E0E5}
body{background:#FFFCFD;color:#402D33}
.k-header-top,.k-header.is-scrolled .k-header-top{background:linear-gradient(90deg,#FBF1F3 0%,#F8E9ED 48%,#FFFCFD 100%)!important}
.k-nav{background:#FFFCFD;border-top-color:#F5E0E5}.k-nav a{color:#7B3448}.k-nav a::after{background:#C98A95}
.k-brand-name,.section-title .num,.eyebrow{color:#A96575}.k-service-title,.k-header-message strong,.k-hero-copy h1,.section-title h2{color:#7B3448}
.k-btn,.btn{border-color:#EDC7CF;color:#7B3448}.k-btn-line,.btn-line{background:#F5E0E5;color:#7B3448}
.k-hero{background:linear-gradient(180deg,#FBF1F3,#FFFCFD)}.k-hero-grid,.service-card,.step,.faq details,.cta-box{border-color:#EDC7CF}
.k-hero-grid{box-shadow:0 18px 54px rgba(123,52,72,.09)}.k-logo{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}.k-logo img{width:100%;height:100%;object-fit:contain}
.bubble{color:#7B3448;border-color:#EDC7CF}.price,.k-profile-meta small{color:#8B3C53}.price-table th{background:#F5E0E5;color:#7B3448}.price-table td{background:#FFFCFD}.cta-box{background:linear-gradient(135deg,#F8E9ED,#FFFCFD)}
.section-soft{background:linear-gradient(180deg,#FBF1F3,#FFFCFD)!important}.service-english{display:block;color:#7B3448;font:700 .76rem Georgia,serif;letter-spacing:.1em;margin-bottom:.35rem}
.footer{background:linear-gradient(135deg,#F5E0E5,#FBF1F3 70%,#FFFCFD)!important;color:#402D33!important;border-top:1px solid #EDC7CF}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:34px}.footer a{color:#402D33!important;text-decoration:underline;text-underline-offset:3px}.footer a:hover{color:#7B3448!important}.footer strong,.footer small{color:#402D33}.footer-logo{display:block;width:76px;height:76px;object-fit:contain;margin-bottom:.75rem}.footer-social{border-top:1px solid #EDC7CF;padding-top:18px;margin-top:26px}.lab-credit{padding:15px 0 0;font-size:.82rem;color:#55474B}
@media(max-width:700px){.footer-grid{grid-template-columns:1fr;gap:18px}}

.k-logo,.k-header.is-scrolled .k-logo{width:74px!important;height:74px!important;flex:0 0 74px!important;border-radius:0!important}
.k-logo img{transform:none!important;object-fit:contain!important}
.k-brand-name,.k-header.is-scrolled .k-brand-name{font-size:1.3rem!important;line-height:1.24!important}
.k-service-title,.k-header.is-scrolled .k-service-title{font-size:1.14rem!important;line-height:1.32!important}
.k-header-message strong,.k-header.is-scrolled .k-header-message strong{font-size:1.26rem!important;line-height:1.3!important}.k-header-message span,.k-header.is-scrolled .k-header-message span{font-size:.98rem!important;line-height:1.32!important}
.k-header-actions{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:8px!important}
.k-header-actions .k-btn,.k-header.is-scrolled .k-header-actions .k-btn{min-width:158px!important;min-height:54px!important;padding:10px 15px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:1rem!important;line-height:1.2!important;text-align:center!important}
.k-nav .container{width:min(calc(100% - 40px),var(--max))!important;margin-inline:auto!important}
.k-nav ul{display:flex!important;align-items:center!important;gap:clamp(10px,1.5vw,24px)!important;justify-content:center!important;padding-left:0!important}.k-nav a,.k-header.is-scrolled .k-nav a,.k-nav .profile-nav-link,.k-nav .nav-slot-placeholder span{font-size:.84rem!important;white-space:nowrap}.k-nav .nav-slot-placeholder{visibility:hidden!important;pointer-events:none!important}.k-nav .nav-slot-placeholder span{display:block;font-weight:700;padding:13px 2px 11px}
.k-hero-copy h1{font-size:clamp(1.26rem,1.45vw,1.48rem)!important;line-height:1.4!important;font-weight:600!important}
.k-profile-photo{width:110px!important;height:126px!important;flex:0 0 110px!important;background-image:none!important;box-shadow:none!important;overflow:hidden!important}
.k-profile-photo img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important;transform:none!important}
.k-profile-meta strong{font-size:1.17rem}.k-profile-meta span{display:block}.k-profile-meta small{display:block;margin-top:.25rem}
.k-slide-label{top:14px!important;bottom:auto!important;max-width:calc(100% - 32px)}
.service-card img.service-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:13px;margin:0 0 1rem}
.service-card .price small{display:block;margin-top:.35rem;font-size:.84rem;line-height:1.6;font-weight:500}
.consult-card{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:22px;padding:24px;border:1px solid var(--border);border-radius:20px;background:var(--petal-soft)}
.consult-card h3{margin:.3rem 0}.consult-card p{margin:.25rem 0 .6rem}.consult-card .btn{flex:none}
.service-cost-note{margin:1.1rem 0 0;color:var(--text-soft);font-size:.88rem;line-height:1.7}
.service-card:target{scroll-margin-top:185px}
@media(max-width:640px){.consult-card{display:block;padding:20px}.consult-card .btn{display:inline-flex;margin-top:12px}}
@media(max-width:760px){.k-logo,.k-header.is-scrolled .k-logo{width:64px!important;height:64px!important;flex-basis:64px!important}.k-header-actions .k-btn,.k-header.is-scrolled .k-header-actions .k-btn{min-width:0!important;flex:1}.k-nav .container{width:100%!important;padding:0 8px!important}.k-nav a,.k-header.is-scrolled .k-nav a,.k-nav .profile-nav-link,.k-nav .nav-slot-placeholder span{font-size:.78rem!important}.k-profile-photo{width:92px!important;height:106px!important;flex-basis:92px!important}}
@media(max-width:640px){:root{--nav-h:96px!important}.k-nav ul{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;grid-template-rows:repeat(3,1fr)!important;justify-items:center!important;gap:2px 4px!important;height:100%!important;padding:5px 0!important}.k-nav .nav-slot-placeholder span{padding:7px 2px}.k-hero-copy h1{font-size:1.25rem!important}}
@media(max-width:460px){.k-brand-name,.k-header.is-scrolled .k-brand-name{font-size:1.08rem!important}.k-service-title,.k-header.is-scrolled .k-service-title{font-size:.97rem!important}.k-header-message strong,.k-header.is-scrolled .k-header-message strong{font-size:1.03rem!important}.k-header-message span,.k-header.is-scrolled .k-header-message span{font-size:.79rem!important}.k-header-actions .k-btn,.k-header.is-scrolled .k-header-actions .k-btn{min-height:48px!important;font-size:.9rem!important}.k-nav a,.k-header.is-scrolled .k-nav a,.k-nav .profile-nav-link,.k-nav .nav-slot-placeholder span{font-size:.73rem!important}.k-hero-copy h1{font-size:1.18rem!important}}
.wish-cloud{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:15px 20px;max-width:980px;margin:28px auto 0;padding:20px 8px 30px}
.wish-item{position:relative}.wish-item:nth-child(3n+1){transform:translateY(-8px)}.wish-item:nth-child(3n+2){transform:translateY(12px)}
.wish-bubble{position:relative;border:1px solid var(--border);border-radius:34px 34px 34px 9px;padding:17px 23px;min-height:68px;background:#fff;color:var(--text);font-family:inherit;font-weight:700;font-size:.94rem;line-height:1.45;cursor:pointer;box-shadow:0 9px 25px rgba(20,40,60,.07);animation:wish-float 5s ease-in-out infinite}
.wish-item:nth-child(2n) .wish-bubble{animation-delay:-2.3s;background:var(--petal-soft)}
.wish-bubble:hover,.wish-bubble:focus-visible{outline:2px solid var(--petal);outline-offset:3px}
.wish-popup{position:absolute;z-index:12;top:calc(100% + 9px);left:50%;transform:translateX(-50%);min-width:210px;max-width:280px;border:1px solid var(--border);border-radius:16px;background:#fff;padding:12px;box-shadow:0 14px 32px rgba(20,40,60,.15);text-align:center}
.wish-popup[hidden]{display:none}.wish-popup small{display:block;margin-bottom:5px;color:var(--text-soft)}.wish-popup a{display:block;color:var(--text);font-weight:700;text-decoration:underline;text-underline-offset:4px}
@keyframes wish-float{0%,100%{translate:0 0}50%{translate:0 -6px}}
@media(prefers-reduced-motion:reduce){.wish-bubble{animation:none}}
@media(max-width:600px){.wish-cloud{gap:12px}.wish-item{transform:none!important}.wish-bubble{padding:12px 15px;min-height:54px;font-size:.82rem}.wish-popup{min-width:175px}}
html{scroll-padding-top:180px}.service-card:target{outline:3px solid var(--petal);outline-offset:4px}
.compare-scroll{overflow-x:auto}.compare-table{width:100%;min-width:670px}.compare-table th,.compare-table td{padding:1rem;vertical-align:top}.compare-table thead th:last-child,.compare-table tbody td:last-child{background:#FBF1F3}.compare-note{margin-top:1rem;color:#55474B;font-size:.85rem}.footer{position:relative;z-index:2}.footer a{position:relative;z-index:1;touch-action:manipulation}
.footer-policy-links{margin-top:10px}

.footer-grid{grid-template-columns:1.3fr 1fr!important}
@media(max-width:700px){.footer-grid{grid-template-columns:1fr!important}}
/* Match Kanairu Life service cards; keep only Lab colors and English labels. */
.service-card h3{font-size:1.35rem;font-weight:650;line-height:1.55}
.service-card p{font-size:1rem;line-height:1.9}
.service-card .price{font-size:1.34rem;font-weight:650}

/* Retain the reference content layout under the shared sticky Kanairu header. */
body.kanairu-lab-page {padding-top:0!important}
.kanairu-lab-page {--header-total:158px!important}
.kanairu-lab-page main {padding-top:0}
.kanairu-lab-page .lab-confirmed-flow {list-style:none;padding:0}
.kanairu-lab-page .k-slider-controls {flex-wrap:wrap;justify-content:center;max-width:calc(100% - 12px);width:max-content}
.kanairu-lab-page .k-slider-controls .k-pause {min-height:34px;padding:0 10px;font-size:.78rem;line-height:1.2}
.kanairu-lab-page .k-dots button {min-width:16px;min-height:24px;border-radius:0;background:transparent;display:grid;place-items:center}
.kanairu-lab-page .k-dots button::before {content:"";width:7px;height:7px;border-radius:50%;background:#F5E0E5}
.kanairu-lab-page .k-dots button.active::before {background:#A96575}
.kanairu-lab-page .k-slider-controls button:focus-visible {outline:2px solid #7B3448;outline-offset:2px}
.kanairu-lab-page .related-section {margin-block:28px 48px}
@media(max-width:760px){.kanairu-lab-page {--header-total:181px!important}}
