@charset "utf-8";
/* 組み文字による全体統一 / 2026-09-07 / 値は成果物/サイト制作/design.md参照 */
:root {
  --km-black:#111111; --km-white:#ffffff;
  --km-gap:40px; --km-small-gap:16px; --km-pad:24px;
  --km-outline:6px; --km-heading:48px; --km-hero:72px;
  --ink:var(--km-black); --ink-2:var(--km-black);
}
.rnw .km-lockup{display:inline-flex;flex-direction:column;align-items:center;max-width:100%;padding:var(--km-small-gap) 0;font-family:var(--font-impact);font-weight:400;line-height:1.25;letter-spacing:-.05em;transform:rotate(-2deg) skewX(-4deg);color:var(--km-black);}
.rnw .km-line{display:block;max-width:100%;overflow-wrap:anywhere;font-size:1em;-webkit-text-stroke:var(--km-outline) var(--km-white);paint-order:stroke fill;text-shadow:1px 1px 0 var(--km-black),-1px -1px 0 var(--km-black),1px -1px 0 var(--km-black),-1px 1px 0 var(--km-black);}
.rnw .km-line-0{font-size:.52em;letter-spacing:-.03em;align-self:flex-start;margin-left:.25em;}
.rnw .km-line-2{font-size:.65em;align-self:flex-end;margin-right:.1em;}
.rnw .h2.km-heading,.rnw .lp-slider-02__title.km-heading{font-family:var(--font-impact);font-size:clamp(30px,4.2vw,var(--km-heading));font-weight:400;line-height:1.5;letter-spacing:-.035em;text-align:center;padding:0 8px;}
.rnw .km-plain{display:inline-block;max-width:100%;text-wrap:balance;}
.rnw .h2-lead{font-size:16px;color:var(--km-black);}
.rnw .pg-head.km-hero,.rnw .sim-head.km-hero{position:relative;background:var(--green-p);padding:var(--km-gap) 0;text-align:left;overflow:hidden;border-bottom:1px solid var(--line);}
.rnw .km-hero > .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);column-gap:var(--km-gap);align-items:center;position:relative;z-index:1;}
.rnw .km-hero .crumb{grid-column:1/-1;margin-bottom:var(--km-gap);font-size:14px;color:var(--km-black);justify-content:flex-start;}
.rnw .km-hero .crumb a{color:var(--km-black);}
.rnw .km-hero h1{grid-column:1;grid-row:2;justify-self:start;font:700 18px/1.6 var(--font-head);color:var(--km-black);border:1px solid var(--km-black);padding:4px 12px;background:var(--km-white);max-width:100%;}
.rnw .km-page-catch{grid-column:1;grid-row:3/5;font-size:clamp(44px,6vw,var(--km-hero));margin:var(--km-small-gap) 0!important;line-height:1.25;text-align:center;}
.rnw .km-page-catch .km-lockup{width:max-content;max-width:94%;}
.rnw .km-hero .lead{grid-column:2;grid-row:2/4;align-self:end;max-width:none;margin:0;font-size:16px;color:var(--km-black);padding-top:var(--km-small-gap);}
.rnw .km-hero .lead strong{color:var(--km-black);}
.rnw .km-hero .pg-cta{grid-column:2;grid-row:4;align-self:start;justify-content:flex-start;margin-top:var(--km-small-gap);}
.rnw .pg-head.km-hero.has-bg{padding-bottom:calc(var(--km-gap) + 160px);}
.rnw .pg-head.km-hero.has-bg .head-bg{inset:auto 0 0;height:160px;gap:4px;}
.rnw .pg-head.km-hero.has-bg::after{display:none;}
.rnw .pg-head:not(.km-hero){background:var(--green-p);}
.rnw .pg-head:not(.km-hero) h1{font-family:var(--font-impact);font-weight:400;text-wrap:balance;overflow-wrap:anywhere;}
.rnw .btn,.rnw .form-wrap .wpcf7-submit{border-radius:4px;box-shadow:none;}
.rnw .btn:hover{transform:none;box-shadow:none;}
.rnw .h3{border-left:0;padding-left:0;font-weight:900;}
.rnw .rnw-contact{background:var(--green-p);color:var(--km-black);}
.rnw .rnw-contact::before,.rnw .rnw-contact::after{display:none;}
.rnw .rnw-contact .h2-lead{color:var(--km-black);}
.rnw .rnw-contact .ct-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line);}
.rnw .rnw-contact .ct{background:none;border-radius:0;border-bottom:1px solid var(--line);padding:24px;color:var(--km-black);}
.rnw .rnw-contact .ct:last-child{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;text-align:left;gap:16px;}
.rnw .rnw-contact .ct:last-child .ic{grid-row:1/3;margin:0;}
.rnw .rnw-contact .ct:last-child h3{grid-column:2;}
.rnw .rnw-contact .ct:last-child p{grid-column:2;margin:0;}
.rnw .rnw-contact .ct:last-child .btn{grid-column:3;grid-row:1/3;margin:0;}
.rnw .rnw-contact .ct p{font-size:16px;color:var(--km-black);}
.rnw .rnw-contact .ct .hours{font-size:14px;color:var(--km-black);}
.rnw .rnw-contact .km-heading{color:var(--km-black);}
.rnw .def-tbl,.rnw .price-tbl,.rnw .prose table,.rnw .card p,.rnw .faq-a,.rnw .lead{font-size:16px;}
.rnw .km-consult-note{display:block;margin-top:16px;font:700 18px/1.6 var(--font-head);}
.rnw-gnav .mega-menu{box-shadow:none;}
@media(max-width:960px){
  .rnw .km-hero > .wrap{column-gap:24px;}
  .rnw .km-page-catch{font-size:clamp(40px,6vw,60px);}
}
@media(max-width:620px){
  :root{--km-gap:24px;--km-pad:20px;--km-outline:4px;--km-heading:30px;--km-hero:44px;}
  .rnw .km-hero > .wrap{grid-template-columns:minmax(0,1fr);padding:0 var(--km-pad);}
  .rnw .km-hero .crumb{margin-bottom:24px;}
  .rnw .km-hero h1{grid-row:auto;font-size:16px;}
  .rnw .km-page-catch{grid-column:1;grid-row:auto;font-size:clamp(34px,10.5vw,var(--km-hero));margin:16px 0!important;}
  .rnw .km-hero .lead,.rnw .km-hero .pg-cta{grid-column:1;grid-row:auto;}
  .rnw .km-hero .lead{padding-top:0;}
  .rnw .pg-head.km-hero.has-bg{padding-bottom:calc(var(--km-gap) + 100px);}
  .rnw .pg-head.km-hero.has-bg .head-bg{height:100px;}
  .rnw .h2.km-heading,.rnw .lp-slider-02__title.km-heading{font-size:var(--km-heading);}
  .rnw .km-heading .km-plain{font-size:24px;}
  .rnw .rnw-contact .ct-grid{grid-template-columns:minmax(0,1fr);}
  .rnw .rnw-contact .ct:last-child{display:flex;text-align:center;gap:0;}
  .rnw .rnw-contact .ct:last-child .ic{margin:0 auto 12px;}
  .rnw .rnw-contact .ct:last-child p{margin-top:7px;}
  .rnw .rnw-contact .ct:last-child .btn{margin-top:16px;}
}
/* 写真付きの旧見出し帯より優先し、白背景上の文字色を統一する。 */
.rnw .pg-head.km-hero.has-bg h1,.rnw .pg-head.km-hero.has-bg .lead,.rnw .pg-head.km-hero.has-bg .lead strong,.rnw .pg-head.km-hero.has-bg .crumb,.rnw .pg-head.km-hero.has-bg .crumb a{color:var(--km-black);}
.rnw .pg-head.km-hero.has-bg h1{font-size:18px;}
.rnw .pg-head.km-hero.has-bg .crumb{justify-content:flex-start;}
.rnw .pg-head.km-hero.has-bg .pg-cta{justify-content:flex-start;}
@media(max-width:620px){.rnw .pg-head.km-hero.has-bg h1{font-size:16px;}}
/* 白フチを含む字形に黒い文字影を重ねると細い空間が潰れるため、影を使わない。 */
.rnw .km-line{text-shadow:none;}
.rnw .prose a{overflow-wrap:anywhere;}
.rnw .card > div{min-width:0;}
@media(max-width:620px){
  .rnw .cost-tbl{table-layout:fixed;width:100%;}
  .rnw .cost-tbl tbody th{white-space:normal;}
  .rnw .cost-tbl th,.rnw .cost-tbl td{padding:10px 8px;overflow-wrap:anywhere;}
  .rnw-util .wrap{display:block;padding:8px 20px;}
  .rnw-util .right{display:grid;grid-template-columns:1fr auto;gap:4px 12px;}
  .rnw-util .right a{white-space:nowrap;font-size:14px;}
  .rnw-util .right .hours{grid-row:2;grid-column:1/-1;font-size:14px;opacity:1;}
}
