/* トップページ専用（front-page.php から読み込み）。2026-10-10 */
body.kk-front{
  --ink:#131c27;--snow:#f6f7f9;--paper:#fff;--steel:#5d6876;--line:#dde1e6;--brand:#c8222b;
  --display:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;
  --body:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",system-ui,sans-serif;
  --latin:"Cormorant Garamond","Times New Roman",serif;
  margin:0;background:var(--snow);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.9;letter-spacing:.03em;
  -webkit-font-smoothing:antialiased;
}
.kk-front *,.kk-front *::before,.kk-front *::after{box-sizing:border-box}
.kk-front a{color:inherit}
.kk-front img{max-width:100%;display:block}
.kk-front h1,.kk-front h2,.kk-front h3{font-family:var(--display);font-weight:700;line-height:1.45;text-wrap:balance;margin:0;padding:0;border:0;background:none;color:inherit}
.kk-front :focus-visible{outline:2px solid var(--brand);outline-offset:3px}
html:has(body.kk-front){scroll-behavior:smooth;scroll-padding-top:80px}
.kk-wrap{max-width:1120px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.kk-eyebrow{font-family:var(--latin);font-size:15px;letter-spacing:.22em;text-transform:uppercase;color:var(--brand);font-weight:600}

/* ヘッダー（上では透明、スクロールで紺に） */
.kk-top{position:fixed;inset:0 0 auto 0;z-index:100;color:#fff;transition:background .3s,box-shadow .3s,padding .3s;padding-top:env(safe-area-inset-top,0px)}
.kk-top.is-solid,.kk-top.is-open{background:rgba(19,28,39,.96);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.kk-top .kk-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:20px;transition:padding .3s}
.kk-top.is-solid .kk-wrap{padding-block:12px}
.kk-logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.kk-logo img{width:44px;height:44px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}
.kk-logo span{font-family:var(--display);font-weight:700;font-size:19px;letter-spacing:.08em;line-height:1.3}
.kk-logo small{display:block;font-family:var(--body);font-size:11px;font-weight:500;letter-spacing:.12em;opacity:.8;line-height:1.2}
.kk-nav{display:flex;gap:28px;font-size:14px;font-weight:500;margin-left:auto}
.kk-nav a{text-decoration:none;opacity:.9;padding-block:4px;border-bottom:1px solid transparent}
.kk-nav a:hover{opacity:1;border-color:currentColor}
.kk-tel-head{font-family:var(--latin);font-size:22px;font-weight:600;letter-spacing:.06em;text-decoration:none;white-space:nowrap}
.kk-burger{display:none;width:44px;height:44px;border:0;background:none;color:inherit;cursor:pointer;position:relative;padding:0}
.kk-burger span{position:absolute;left:11px;right:11px;height:1.5px;background:currentColor;transition:transform .25s,top .25s}
.kk-burger span:first-child{top:17px}.kk-burger span:last-child{top:26px}
.kk-top.is-open .kk-burger span:first-child{top:21px;transform:rotate(45deg)}
.kk-top.is-open .kk-burger span:last-child{top:21px;transform:rotate(-45deg)}
@media (max-width:900px){
  .kk-burger{display:block}
  .kk-nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:rgba(19,28,39,.98);padding:8px clamp(16px,4vw,40px) 24px;font-size:16px}
  .kk-nav a{padding-block:14px;border-bottom:1px solid rgba(255,255,255,.1)}
  .kk-top.is-open .kk-nav{display:flex}
  .kk-tel-head{margin-left:auto}
}
@media (max-width:520px){.kk-tel-head{display:none}.kk-logo span{font-size:17px}}

/* ヒーロー */
.kk-hero{position:relative;min-height:clamp(560px,86vh,820px);display:flex;align-items:flex-end;color:#fff;background:#0b111a;overflow:hidden}
.kk-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78;transform:scale(1.06);animation:kk-drift 18s ease-out forwards}
.kk-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,12,20,.55) 0%,rgba(8,12,20,0) 30%,rgba(8,12,20,.15) 55%,rgba(8,12,20,.85) 100%)}
@keyframes kk-drift{to{transform:scale(1)}}
.kk-hero .kk-wrap{position:relative;z-index:2;width:100%;padding-block:0 clamp(48px,8vw,96px)}
.kk-hero .kk-eyebrow{color:#f3c9cb}
.kk-hero h1{font-size:clamp(34px,6vw,72px);font-weight:800;letter-spacing:.06em;margin-block:14px 22px}
.kk-hero p{max-width:34em;margin:0 0 32px;font-size:clamp(15px,1.6vw,17px);opacity:.92}
.kk-btns{display:flex;flex-wrap:wrap;gap:12px}
.kk-btn{display:inline-flex;align-items:center;gap:10px;padding:14px 26px;font-size:15px;font-weight:700;text-decoration:none;letter-spacing:.08em;border:1px solid currentColor;transition:background .2s,color .2s}
.kk-btn.solid{background:var(--brand);border-color:var(--brand);color:#fff}
.kk-btn.solid:hover{filter:brightness(1.08)}
.kk-btn.ghost{color:#fff}
.kk-btn.ghost:hover{background:#fff;color:#131c27}
.kk-btn::after{content:"→";font-family:var(--latin)}
.kk-since{position:absolute;right:clamp(16px,4vw,40px);bottom:clamp(48px,8vw,96px);z-index:2;text-align:right;font-family:var(--latin);line-height:1}
.kk-since b{display:block;font-size:clamp(56px,8vw,110px);font-weight:500;letter-spacing:.02em;opacity:.9}
.kk-since span{font-size:13px;letter-spacing:.3em;opacity:.75}
@media (max-width:760px){.kk-since{display:none}}

/* セクション共通 */
.kk-sec{padding-block:clamp(72px,10vw,128px)}
.kk-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:24px 64px;align-items:end;margin-bottom:clamp(36px,5vw,56px)}
.kk-head h2{font-size:clamp(26px,3.4vw,40px);margin-top:8px}
.kk-head p{margin:0;color:var(--steel);max-width:36em}
@media (max-width:760px){.kk-head{grid-template-columns:minmax(0,1fr)}}

/* 物件 */
.kk-props{display:grid;gap:clamp(48px,7vw,88px)}
.kk-prop{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.kk-prop:nth-child(even){grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}
.kk-prop:nth-child(even) figure{order:2}
.kk-prop figure{margin:0;aspect-ratio:3/2;overflow:hidden;max-width:100%}
.kk-prop figure img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.kk-prop:hover figure img{transform:scale(1.03)}
.kk-num{font-family:var(--latin);font-size:15px;letter-spacing:.2em;color:var(--steel)}
.kk-prop h3{font-size:clamp(24px,2.8vw,34px);margin-block:6px 4px}
.kk-area{font-size:14px;color:var(--steel);margin-bottom:18px}
.kk-prop p{margin:0 0 22px}
.kk-links{display:flex;flex-wrap:wrap;gap:12px 28px}
.kk-link{font-weight:700;font-size:15px;text-decoration:none;border-bottom:1px solid var(--brand);padding-bottom:2px}
.kk-link.sub{font-weight:500;border-color:var(--line);color:var(--steel)}
.kk-link::after{content:" →";font-family:var(--latin)}
@media (max-width:760px){.kk-prop,.kk-prop:nth-child(even){grid-template-columns:minmax(0,1fr)}.kk-prop:nth-child(even) figure{order:0}}
.kk-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:clamp(56px,7vw,88px)}
.kk-strip figure{margin:0}
.kk-strip img{aspect-ratio:4/3;width:100%;object-fit:cover}
.kk-strip figcaption{font-size:13px;color:var(--steel);margin-top:8px}
@media (max-width:600px){.kk-strip{grid-template-columns:minmax(0,1fr)}}

/* 入居者の方へ */
.kk-residents{background:var(--paper);border-block:1px solid var(--line)}
.kk-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.kk-menu a{display:grid;grid-template-rows:auto 1fr auto;gap:6px;background:var(--paper);padding:28px 26px 24px;text-decoration:none;min-height:170px;transition:background .2s}
.kk-menu a:hover{background:var(--snow)}
.kk-menu b{font-family:var(--display);font-size:19px;font-weight:700}
.kk-menu span{font-size:14px;color:var(--steel);line-height:1.7}
.kk-menu i{font-style:normal;font-family:var(--latin);font-size:20px;color:var(--brand);justify-self:end;transition:transform .2s}
.kk-menu a:hover i{transform:translateX(4px)}
@media (max-width:860px){.kk-menu{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.kk-menu{grid-template-columns:minmax(0,1fr)}.kk-menu a{min-height:0}}

/* お知らせ */
.kk-news{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.kk-news li{border-bottom:1px solid var(--line);margin:0;padding:0}
.kk-news a{display:grid;grid-template-columns:7.5em 9em minmax(0,1fr) auto;gap:8px 24px;align-items:center;padding-block:20px;text-decoration:none}
.kk-news time{font-family:var(--latin);font-size:17px;font-weight:600;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.kk-tag{font-size:12px;border:1px solid var(--line);padding:2px 10px;justify-self:start;color:var(--steel);white-space:nowrap}
.kk-t{min-width:0}
.kk-news a::after{content:"→";font-family:var(--latin);color:var(--steel);transition:transform .2s,color .2s}
.kk-news a:hover .kk-t{text-decoration:underline;text-underline-offset:4px}
.kk-news a:hover::after{transform:translateX(4px);color:var(--brand)}
@media (max-width:640px){.kk-news a{grid-template-columns:auto minmax(0,1fr)}.kk-t{grid-column:1/-1}.kk-news a::after{display:none}}
.kk-more{margin-top:28px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 28px}

/* 会社 */
.kk-company{background:var(--paper);border-top:1px solid var(--line)}
.kk-co{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6vw,88px)}
@media (max-width:860px){.kk-co{grid-template-columns:minmax(0,1fr)}}
.kk-facts{display:grid;grid-template-columns:7em minmax(0,1fr);margin:0;border-top:1px solid var(--line)}
.kk-facts dt,.kk-facts dd{padding-block:16px;border-bottom:1px solid var(--line);margin:0}
.kk-facts dt{font-size:14px;color:var(--steel);font-weight:400}
.kk-history{list-style:none;margin:0;padding:0;position:relative}
.kk-history::before{content:"";position:absolute;left:5.1em;top:10px;bottom:10px;width:1px;background:var(--line)}
.kk-history li{display:grid;grid-template-columns:4.4em minmax(0,1fr);gap:28px;padding-block:12px;position:relative;margin:0}
.kk-history li::before{content:"";position:absolute;left:calc(5.1em - 4px);top:24px;width:9px;height:9px;border-radius:50%;background:var(--paper);border:1px solid var(--brand)}
.kk-history li:last-child::before{background:var(--brand)}
.kk-history b{font-family:var(--latin);font-size:24px;font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums}
.kk-history span{font-size:15px}
.kk-history small{display:block;color:var(--steel);font-size:12px}
.kk-front h3.kk-sub{font-size:18px;margin-bottom:20px}

/* 問い合わせ帯・フッター */
.kk-contact{background:#131c27;color:#fff;padding-block:clamp(64px,9vw,104px)}
.kk-contact .kk-wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px 64px;align-items:center}
.kk-contact .kk-eyebrow{color:#f3c9cb}
.kk-contact h2{font-size:clamp(24px,3vw,36px)}
.kk-contact p{margin:12px 0 0;opacity:.8}
.kk-tel{display:block;font-family:var(--latin);font-size:clamp(36px,5vw,56px);font-weight:600;letter-spacing:.04em;line-height:1.1;text-decoration:none}
.kk-hours{font-size:14px;opacity:.75;margin:6px 0 22px}
@media (max-width:760px){.kk-contact .kk-wrap{grid-template-columns:minmax(0,1fr)}}
.kk-foot{background:#0c121a;color:#aeb7c2;font-size:13px;padding-block:36px calc(36px + env(safe-area-inset-bottom,0px))}
.kk-foot .kk-wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
.kk-foot nav{display:flex;flex-wrap:wrap;gap:20px}
.kk-foot a{text-decoration:none}
.kk-foot a:hover{color:#fff}

@media (prefers-reduced-motion:reduce){.kk-front *{animation:none!important;transition:none!important}.kk-hero>img{transform:none}html:has(body.kk-front){scroll-behavior:auto}}
