/* ============================================================
   有限会社門倉総合サービス｜KSブランド版
   配色：深緑×金×生成り（KSモノグラム準拠）
   書体：しっぽり明朝（見出し）＋Zen角ゴシック（本文）＋EB Garamond（欧文）
============================================================ */
:root{
  --green-deep:#173E31;
  --green:#2E6B52;
  --green-soft:#EAF1EC;
  --cream:#FAF7F0;
  --earth:#B08D45;          /* ゴールド（旧アーストーンの置き換え） */
  --gold:#B08D45;
  --gold-dark:#8F7132;
  --gold-light:#D4B878;
  --gold-soft:#E9DEC3;
  --ink:#202B25;
  --ink-soft:#5C675F;
  --cta:#B08D45;
  --cta-dark:#8F7132;
  --white:#FFFFFF;
  --line:#E3E0D5;
  --radius:14px;
  --shadow:0 10px 30px rgba(23,62,49,.10);
  --font-min:'Shippori Mincho',serif;
  --font-go:'Zen Kaku Gothic New',sans-serif;
  --font-en:'EB Garamond',Georgia,'Times New Roman',serif;
  /* KSモノグラム（データURI・K緑×S金） */
  --ks-logo:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 72'%3E%3Ctext x='4' y='52' font-family='Georgia,serif' font-size='52' font-weight='600' fill='%23173E31'%3EK%3C/text%3E%3Ctext x='32' y='66' font-family='Georgia,serif' font-size='52' font-weight='600' fill='%23B08D45'%3ES%3C/text%3E%3C/svg%3E");
  --ks-logo-light:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 72'%3E%3Ctext x='4' y='52' font-family='Georgia,serif' font-size='52' font-weight='600' fill='%23F5EFE2'%3EK%3C/text%3E%3Ctext x='32' y='66' font-family='Georgia,serif' font-size='52' font-weight='600' fill='%23D4B878'%3ES%3C/text%3E%3C/svg%3E");
  --ks-watermark:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 100'%3E%3Ctext x='0' y='70' font-family='Georgia,serif' font-size='74' font-weight='600' fill='rgba(212,184,120,0.10)'%3EK%3C/text%3E%3Ctext x='42' y='92' font-family='Georgia,serif' font-size='74' font-weight='600' fill='rgba(212,184,120,0.07)'%3ES%3C/text%3E%3C/svg%3E");
  --ks-ribbon:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 260' preserveAspectRatio='none'%3E%3Cpath d='M610 14 C 440 36, 310 96, 160 48 C 86 24, 34 30, -10 72' fill='none' stroke='%23D4B878' stroke-width='2' opacity='0.55'/%3E%3Cpath d='M610 48 C 460 80, 330 132, 180 82 C 110 60, 52 66, -10 108' fill='none' stroke='%23B08D45' stroke-width='1' opacity='0.35'/%3E%3C/svg%3E");
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{
  font-family:var(--font-go);
  color:var(--ink);
  background:var(--cream);
  line-height:1.9;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.container{max-width:1120px;margin:0 auto;padding:0 24px}
.section{padding:96px 0}
.section--tint{background:var(--white)}

/* --- 見出し共通 --- */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-en);
  font-size:14px;letter-spacing:.26em;color:var(--gold-dark);
  font-weight:600;margin-bottom:14px;
}
.eyebrow::before{content:"";width:30px;height:1px;background:var(--gold)}
.heading{
  font-family:var(--font-min);
  font-size:clamp(26px,3.4vw,38px);
  font-weight:600;line-height:1.5;letter-spacing:.04em;
  margin-bottom:18px;
}
.lead{color:var(--ink-soft);max-width:680px}

/* --- ボタン --- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-weight:700;letter-spacing:.05em;border-radius:999px;
  padding:16px 34px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,filter .2s ease;
  will-change:transform;
}
.btn:hover{transform:translateY(-2px)}
.btn--cta{
  background:linear-gradient(135deg,#C2A055,#9A7A36);color:#fff;
  box-shadow:0 8px 20px rgba(143,113,50,.35);
}
.btn--cta:hover{filter:brightness(1.07)}
.btn--tel{
  background:var(--white);color:var(--green-deep);
  border:2px solid var(--green-deep);
}
.btn--tel:hover{background:var(--green-soft)}
.btn--ghost{
  background:transparent;color:#fff;border:1.5px solid rgba(212,184,120,.7);
}
.btn--ghost:hover{background:rgba(212,184,120,.15)}
.btn small{display:block;font-size:11px;font-weight:500;letter-spacing:.08em}
.btn .num{font-size:20px;font-family:var(--font-min)}
.sec-cta{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}

/* ============ ヘッダー ============ */
.header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(250,247,240,.93);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.header::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,rgba(176,141,69,.55),transparent);
}
.header__inner{
  max-width:1240px;margin:0 auto;padding:0 24px;
  height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.brand{display:flex;flex-direction:column;line-height:1.3;position:relative;padding-left:52px}
.brand::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:42px;height:42px;background:var(--ks-logo) no-repeat center/contain;
}
.brand__badge{
  font-size:10.5px;letter-spacing:.14em;color:var(--green-deep);
  display:flex;align-items:center;gap:6px;font-weight:700;
}
.brand__badge span{
  background:var(--green-deep);color:#F2E9D6;border-radius:4px;
  padding:1px 7px;font-size:10px;
}
.brand__name{
  font-family:var(--font-min);font-size:19px;font-weight:700;letter-spacing:.06em;
}
.gnav{display:flex;gap:28px;font-size:14.5px;font-weight:500}
.gnav a{position:relative;padding:6px 0}
.gnav a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:2px;
  background:var(--gold);transition:width .25s ease;
}
.gnav a:hover::after{width:100%}
.header__tel{display:flex;align-items:center;gap:14px}
.header__telnum{text-align:right;line-height:1.4}
.header__telnum .num{
  font-family:var(--font-min);font-size:21px;font-weight:700;color:var(--green-deep);
  letter-spacing:.03em;display:flex;align-items:center;gap:6px;
}
.header__telnum .hours{font-size:11px;color:var(--ink-soft)}
.header__cta{
  background:linear-gradient(135deg,#C2A055,#9A7A36);color:#fff;font-weight:700;font-size:14px;
  padding:12px 22px;border-radius:999px;box-shadow:0 6px 16px rgba(143,113,50,.3);
  transition:filter .2s;
}
.header__cta:hover{filter:brightness(1.07)}
.menu-btn{
  display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;
}
.menu-btn span{width:26px;height:2px;background:var(--green-deep);transition:.3s}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mnav{
  display:none;position:fixed;top:76px;left:0;right:0;z-index:99;
  background:var(--cream);border-bottom:1px solid var(--line);
  padding:20px 24px 28px;
}
.mnav.open{display:block}
.mnav a{
  display:block;padding:14px 4px;border-bottom:1px solid var(--line);
  font-weight:500;
}
.mnav__tel{margin-top:18px;display:grid;gap:10px}

/* ============ ヒーロー（深緑×金） ============ */
.hero{
  position:relative;overflow:hidden;
  padding:176px 0 116px;
  color:#F5EFE2;
  background:
    radial-gradient(1000px 520px at 108% -18%,rgba(176,141,69,.26),transparent 55%),
    radial-gradient(760px 460px at -8% 118%,rgba(46,107,82,.55),transparent 60%),
    var(--green-deep);
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    var(--ks-ribbon) top right / 66% auto no-repeat,
    var(--ks-watermark) right -30px bottom -48px / 460px auto no-repeat;
}
.hero__inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.hero__badges{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.hero__badge{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(255,255,255,.06);border:1px solid rgba(212,184,120,.5);border-radius:999px;
  padding:8px 18px;font-size:13px;font-weight:700;color:#F2E9D6;
}
.hero__badge b{color:var(--gold-light);font-family:var(--font-min);font-size:15px}
.hero__title{
  font-family:var(--font-min);
  font-size:clamp(26px,3.6vw,40px);
  font-weight:700;line-height:1.68;letter-spacing:.03em;
  margin-bottom:22px;color:#FBF8F1;
}
.hero__title em{
  font-style:normal;
  background:linear-gradient(transparent 70%,rgba(176,141,69,.5) 70%);
}
.hero__text{color:#C8D8CC;max-width:600px;margin-bottom:36px}
.hero__cta{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.hero .btn--tel{
  background:rgba(255,255,255,.04);color:#F5EFE2;
  border-color:rgba(212,184,120,.7);
}
.hero .btn--tel:hover{background:rgba(212,184,120,.16)}
.hero__note{font-size:12.5px;color:#A9BFAE;margin-top:14px;letter-spacing:.05em}
/* 縦書きシグネチャ：まごころ、四十一年。 */
.hero__tate{
  writing-mode:vertical-rl;
  font-family:var(--font-min);font-weight:600;
  font-size:clamp(20px,2.2vw,27px);letter-spacing:.32em;line-height:1;
  color:var(--gold-light);
  border-left:1px solid rgba(212,184,120,.6);
  padding-left:26px;height:auto;
  white-space:nowrap;
  display:flex;align-items:flex-start;
}
.hero__tate small{
  writing-mode:vertical-rl;font-size:12px;letter-spacing:.3em;
  color:#C7B98F;font-family:var(--font-go);font-weight:500;
  margin-top:34px;white-space:nowrap;
}

/* ============ 信頼バー ============ */
.trustbar{
  background:var(--white);color:var(--green-deep);padding:22px 0;
  border-bottom:1px solid var(--gold-soft);
  position:relative;
}
.trustbar::before{
  content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.trustbar__list{
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center;
}
.trustbar__item{
  font-size:14px;font-weight:700;letter-spacing:.08em;
  padding:8px 6px;position:relative;
}
.trustbar__item + .trustbar__item::before{
  content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:1px;height:26px;background:var(--line);
}
.trustbar__item b{
  display:block;font-family:var(--font-en);font-size:12.5px;font-weight:600;
  color:var(--gold-dark);letter-spacing:.24em;margin-bottom:2px;
}

/* ============ 4つの事業領域ストリップ ============ */
.domains{background:var(--white);border-bottom:1px solid var(--line)}
.domains__grid{display:grid;grid-template-columns:repeat(4,1fr)}
.domain{
  padding:24px 22px;border-left:1px solid var(--line);
  display:flex;flex-direction:column;gap:2px;transition:background .2s ease;
}
.domain:first-child{border-left:0}
.domain:hover{background:var(--green-soft)}
.domain__no{font-family:var(--font-en);font-size:12px;letter-spacing:.2em;color:var(--gold-dark);font-weight:600}
.domain__name{
  font-family:var(--font-min);font-size:16.5px;font-weight:700;color:var(--ink);
  display:flex;align-items:center;
}
.domain__name::after{content:"→";color:var(--gold);font-size:14px;margin-left:auto;padding-left:8px}
.domain__sub{font-size:11.5px;color:var(--ink-soft);letter-spacing:.03em;line-height:1.6}

/* ============ 4つの差別化ポイント ============ */
.reasons{counter-reset:reason}
.reason-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:48px}
.reason{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:36px 34px;position:relative;box-shadow:var(--shadow);
}
.reason::after{
  content:"";position:absolute;left:34px;right:34px;bottom:0;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--gold-light),transparent);
}
.reason__tag{
  display:inline-block;background:#F3ECDB;color:var(--gold-dark);
  font-size:12px;font-weight:700;letter-spacing:.14em;
  border-radius:6px;padding:4px 12px;margin-bottom:16px;
}
.reason__title{
  font-family:var(--font-min);font-size:21px;font-weight:700;line-height:1.6;
  margin-bottom:12px;
}
.reason__title b{color:var(--gold-dark)}
.reason p{font-size:14.5px;color:var(--ink-soft)}
.reason__mark{
  position:absolute;top:26px;right:28px;
  font-family:var(--font-min);font-size:15px;color:var(--gold);
  writing-mode:vertical-rl;letter-spacing:.3em;opacity:.9;
}

/* ============ 代表メッセージ ============ */
.president{background:var(--white)}
.president__grid{
  display:grid;grid-template-columns:340px 1fr;gap:56px;align-items:center;
}
.photo-ph{
  aspect-ratio:3/3.6;border-radius:var(--radius);
  background:linear-gradient(160deg,var(--green-soft),#F2EDE0);
  border:1px solid var(--line);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  color:var(--green-deep);font-size:13px;letter-spacing:.12em;font-weight:500;
}
.photo-ph svg{opacity:.6}
.president__quote{
  font-family:var(--font-min);font-size:clamp(20px,2.4vw,27px);
  font-weight:600;line-height:1.9;margin-bottom:22px;
}
.president__quote em{
  font-style:normal;
  background:linear-gradient(transparent 68%,rgba(176,141,69,.32) 68%);
}
.president__name{margin-top:26px;display:flex;align-items:baseline;gap:14px}
.president__name .role{font-size:12.5px;color:var(--ink-soft);letter-spacing:.1em}
.president__name .name{font-family:var(--font-min);font-size:22px;font-weight:700;letter-spacing:.16em}

/* ============ サービス ============ */
.services__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-top:48px}
.service{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;
}
.service__visual{
  height:180px;display:flex;align-items:center;justify-content:center;gap:10px;
  color:#F5EFE2;font-size:13px;letter-spacing:.14em;position:relative;
}
.service__visual::after{
  content:attr(data-label);position:absolute;bottom:12px;right:16px;
  font-size:11px;opacity:.75;letter-spacing:.1em;
}
.sv1{background:linear-gradient(135deg,#2E6B52,#173E31)}
.sv2{background:linear-gradient(135deg,#3C7A5E,#245843)}
.sv3{background:linear-gradient(135deg,#7D9271,#52704F)}
.sv4{background:linear-gradient(135deg,#B08D45,#7E6228)}
.sv5{background:linear-gradient(135deg,#5A6B7E,#3B4A5A)}
.service--wide{grid-column:1 / -1;flex-direction:row}
.service--wide .service__visual{width:36%;height:auto;min-height:240px}
.service--wide .service__body{flex:1}
.service--wide .btn{width:auto;align-self:flex-start;padding:15px 36px}
.service__body{padding:30px 30px 32px;display:flex;flex-direction:column;flex:1}
.service__for{
  align-self:flex-start;font-size:11.5px;font-weight:700;letter-spacing:.12em;
  color:var(--gold-dark);border:1px solid var(--gold);border-radius:999px;
  padding:2px 12px;margin-bottom:12px;
}
.service__title{
  font-family:var(--font-min);font-size:22px;font-weight:700;margin-bottom:10px;
}
.service p{font-size:14.5px;color:var(--ink-soft);flex:1}
.service ul{
  display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 22px;
}
.service ul li{
  font-size:12.5px;background:var(--green-soft);color:var(--green-deep);
  border-radius:6px;padding:4px 12px;font-weight:500;
}
.service .btn{width:100%;padding:15px 10px;font-size:15px}

/* ============ ご利用の流れ ============ */
.flow__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:48px}
.flow-step{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 24px;text-align:center;position:relative;
}
.flow-step:not(:last-child)::after{
  content:"";position:absolute;right:-14px;top:50%;transform:translateY(-50%) rotate(45deg);
  width:10px;height:10px;border-top:2px solid var(--gold);border-right:2px solid var(--gold);
}
.flow-step__no{
  font-family:var(--font-en);font-size:13.5px;color:var(--gold-dark);
  letter-spacing:.24em;margin-bottom:10px;font-weight:600;
}
.flow-step__title{font-family:var(--font-min);font-size:18px;font-weight:700;margin-bottom:8px}
.flow-step p{font-size:13.5px;color:var(--ink-soft);line-height:1.8}

/* ============ 許可・法令遵守 ============ */
.license{
  background:
    radial-gradient(800px 420px at 100% 0%,rgba(176,141,69,.18),transparent 55%),
    var(--green-deep);
  color:#F5EFE2;
}
.license .eyebrow{color:var(--gold-light)}
.license .eyebrow::before{background:var(--gold-light)}
.license .heading{color:#FBF8F1}
.license .lead{color:#C8D8CC}
.license__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;margin-top:44px;align-items:start}
.license__list{display:grid;gap:16px}
.license__item{
  background:rgba(255,255,255,.06);border:1px solid rgba(212,184,120,.3);
  border-radius:12px;padding:22px 26px;display:flex;gap:18px;align-items:flex-start;
}
.license__item svg{flex-shrink:0;margin-top:4px}
.license__item h4{font-family:var(--font-min);font-size:17px;margin-bottom:4px;letter-spacing:.04em}
.license__item p{font-size:13.5px;color:#CFDDD2;line-height:1.8}
.caution{
  background:var(--cream);color:var(--ink);border-radius:var(--radius);
  padding:32px 30px;box-shadow:var(--shadow);
}
.caution__title{
  display:flex;align-items:center;gap:10px;
  font-family:var(--font-min);font-size:18px;font-weight:700;color:var(--gold-dark);
  margin-bottom:12px;
}
.caution p{font-size:14px;color:var(--ink-soft)}
.caution strong{color:var(--ink)}

/* ============ 公共関連バンド ============ */
.pubband{position:relative;overflow:hidden}
.pubband::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:var(--ks-ribbon) bottom -40px right -60px / 52% auto no-repeat;
  opacity:.6;transform:scaleY(-1);
}
.pubband__grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;
}
.pubband__mark{
  font-family:var(--font-en);font-weight:600;
  font-size:clamp(90px,12vw,150px);line-height:1;
  color:transparent;
  background:linear-gradient(135deg,var(--gold-light),var(--gold-dark));
  -webkit-background-clip:text;background-clip:text;
  opacity:.35;text-align:center;letter-spacing:-.04em;
}

/* ============ 対応エリア ============ */
.area__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-top:44px}
.area__map{
  aspect-ratio:4/3;border-radius:var(--radius);border:1px solid var(--line);
  background:
    radial-gradient(circle at 50% 55%,rgba(46,107,82,.25),transparent 46%),
    linear-gradient(150deg,#EFF4EE,#EDE8DA);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;
  color:var(--green-deep);font-size:13px;letter-spacing:.12em;font-weight:500;
}
.area__map b{font-family:var(--font-min);font-size:24px;letter-spacing:.2em}
.area__map--live{overflow:hidden;padding:0}
.area__map--live iframe{width:100%;height:100%;border:0;display:block}
.area__list{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.area__list li{
  background:var(--white);border:1px solid var(--line);border-radius:999px;
  padding:8px 20px;font-size:14px;font-weight:500;
}
.area__list li.main{
  background:var(--green-deep);color:#F2E9D6;border-color:var(--green-deep);font-weight:700;
}

/* ============ 会社概要 ============ */
.company table{
  width:100%;border-collapse:collapse;margin-top:40px;background:var(--white);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);
}
.company th,.company td{
  padding:20px 26px;font-size:14.5px;text-align:left;border-bottom:1px solid var(--line);
  vertical-align:top;
}
.company tr:last-child th,.company tr:last-child td{border-bottom:0}
.company th{
  width:190px;background:var(--green-soft);color:var(--green-deep);
  font-weight:700;letter-spacing:.06em;
}

/* ============ 最終CTA ============ */
.contact{
  background:
    radial-gradient(800px 400px at 90% 0%,rgba(176,141,69,.18),transparent 60%),
    var(--white);
  text-align:center;
}
.contact .heading{margin-bottom:10px}
.contact__tel{
  display:inline-flex;flex-direction:column;align-items:center;gap:4px;
  margin:34px 0 8px;
}
.contact__tel .num{
  font-family:var(--font-min);font-size:clamp(34px,5vw,52px);font-weight:700;
  color:var(--green-deep);letter-spacing:.04em;line-height:1.2;
  display:flex;align-items:center;gap:12px;
}
.contact__tel .hours{font-size:13px;color:var(--ink-soft);letter-spacing:.08em}
.contact__btns{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:26px}

/* ============ フッター ============ */
.footer{
  background:var(--green-deep);color:#CFDDD2;padding:56px 0 120px;
  position:relative;
}
.footer::before{
  content:"";position:absolute;left:0;right:0;top:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.footer__grid{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
.footer__brand{position:relative;padding-left:60px}
.footer__brand::before{
  content:"";position:absolute;left:0;top:2px;
  width:46px;height:46px;background:var(--ks-logo-light) no-repeat center/contain;
}
.footer__brand .brand__name{color:#FBF8F1;font-size:21px}
.footer__brand .brand__en{
  display:block;font-family:var(--font-en);font-size:11.5px;letter-spacing:.3em;
  color:var(--gold-light);margin-top:2px;
}
.footer__brand p{font-size:13px;margin-top:10px;line-height:2}
.footer__nav{display:flex;gap:24px;font-size:13.5px;flex-wrap:wrap;align-items:flex-start}
.footer__nav a:hover{color:#fff}
.footer__copy{
  margin-top:44px;padding-top:22px;border-top:1px solid rgba(212,184,120,.25);
  font-size:12px;letter-spacing:.06em;color:#9DB4A3;
}

/* ============ スマホ固定バー ============ */
.fixedbar{
  position:fixed;left:0;right:0;bottom:0;z-index:110;
  display:none;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--line);border-top:1px solid var(--gold-soft);
}
.fixedbar a{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:12px 6px 14px;font-size:14px;font-weight:700;gap:2px;
}
.fixedbar a small{font-size:10px;font-weight:500;letter-spacing:.06em}
.fixedbar__tel{background:var(--green-deep);color:#F2E9D6}
.fixedbar__form{background:linear-gradient(135deg,#C2A055,#9A7A36);color:#fff}

/* ============ アニメーション ============ */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .btn,.btn:hover{transform:none;transition:none}
}
:focus-visible{outline:3px solid var(--gold-dark);outline-offset:2px;border-radius:4px}

/* ============ レスポンシブ ============ */
@media (max-width:1024px){
  .gnav{display:none}
  .header__telnum{display:none}
  .menu-btn{display:flex}
  .hero__inner{grid-template-columns:1fr}
  .hero__tate{display:none}
  .pubband__grid{grid-template-columns:1fr}
  .pubband__mark{display:none}
}
@media (max-width:768px){
  .section{padding:64px 0}
  .brand{padding-left:44px}
  .brand::before{width:36px;height:36px}
  .brand__name{font-size:15.5px;letter-spacing:.02em}
  .brand__badge{font-size:9.5px}
  .hero__badge{padding:6px 13px;font-size:12px}
  .hero__badge b{font-size:13.5px}
  .domains__grid{grid-template-columns:1fr 1fr}
  .domain{padding:16px 16px;border-top:1px solid var(--line)}
  .domain:nth-child(-n+2){border-top:0}
  .domain:nth-child(odd){border-left:0}
  .domain__name{font-size:15px}
  .hero{padding:120px 0 70px}
  .hero::before{background:var(--ks-watermark) right -40px bottom -40px / 300px auto no-repeat}
  .header__cta{display:none}
  .trustbar__list{grid-template-columns:repeat(2,1fr);gap:14px 8px}
  .trustbar__item + .trustbar__item::before{display:none}
  .reason-grid,.services__grid{grid-template-columns:1fr}
  .service--wide{flex-direction:column}
  .service--wide .service__visual{width:100%;min-height:180px}
  .service--wide .btn{width:100%}
  .president__grid{grid-template-columns:1fr;gap:32px}
  .photo-ph{max-width:320px;margin:0 auto}
  .flow__grid{grid-template-columns:1fr;gap:26px}
  .flow-step:not(:last-child)::after{
    right:auto;left:50%;top:auto;bottom:-19px;
    transform:translateX(-50%) rotate(135deg);
  }
  .license__grid,.area__grid{grid-template-columns:1fr;gap:32px}
  .company th{width:110px;padding:16px 14px}
  .company td{padding:16px 14px}
  .fixedbar{display:grid}
  .footer{padding-bottom:150px}
  .footer__brand{padding-left:0;padding-top:56px}
  .footer__brand::before{top:0;left:0}
}

/* ===== サービスカードの挿絵（2026/11/06追加・イメージ図） ===== */
.service__visual > svg{display:none}
.service__visual::after{content:none}
.sv1{background:url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20220%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23F5EFE2%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M0%20182H600%22%20stroke-opacity%3D%22.35%22%2F%3E%3Crect%20x%3D%22170%22%20y%3D%2278%22%20width%3D%22190%22%20height%3D%2288%22%20rx%3D%224%22%20fill%3D%22%23F5EFE2%22%20fill-opacity%3D%22.08%22%2F%3E%3Cpath%20d%3D%22M360%20104H412L446%20136V166H360Z%22%20fill%3D%22%23F5EFE2%22%20fill-opacity%3D%22.12%22%2F%3E%3Cpath%20d%3D%22M372%20114H408L430%20136H372Z%22%20stroke%3D%22%23D4B878%22%2F%3E%3Ccircle%20cx%3D%22214%22%20cy%3D%22170%22%20r%3D%2216%22%20fill%3D%22%23173E31%22%2F%3E%3Ccircle%20cx%3D%22214%22%20cy%3D%22170%22%20r%3D%226%22%2F%3E%3Ccircle%20cx%3D%22408%22%20cy%3D%22170%22%20r%3D%2216%22%20fill%3D%22%23173E31%22%2F%3E%3Ccircle%20cx%3D%22408%22%20cy%3D%22170%22%20r%3D%226%22%2F%3E%3Cpath%20d%3D%22M190%20100H340M190%20122H340M190%20144H340%22%20stroke-opacity%3D%22.3%22%2F%3E%3Crect%20x%3D%22470%22%20y%3D%22128%22%20width%3D%2234%22%20height%3D%2238%22%20fill%3D%22%23F5EFE2%22%20fill-opacity%3D%22.08%22%2F%3E%3Crect%20x%3D%22510%22%20y%3D%22140%22%20width%3D%2228%22%20height%3D%2226%22%20fill%3D%22%23F5EFE2%22%20fill-opacity%3D%22.08%22%2F%3E%3Crect%20x%3D%22488%22%20y%3D%22100%22%20width%3D%2230%22%20height%3D%2228%22%20fill%3D%22%23F5EFE2%22%20fill-opacity%3D%22.08%22%2F%3E%3Cpath%20d%3D%22M60%2060l10-10%2010%2010M70%2050v26%22%20stroke%3D%22%23D4B878%22%20stroke-opacity%3D%22.7%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center bottom/cover no-repeat,linear-gradient(135deg,#2E6B52,#173E31)}
.sv2{background:url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20220%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23F5EFE2%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M0%20184H600%22%20stroke-opacity%3D%22.35%22%2F%3E%3Crect%20x%3D%2260%22%20y%3D%2250%22%20width%3D%22120%22%20height%3D%22134%22%20fill%3D%22%23F5EFE2%22%20fill-opacity%3D%22.06%22%2F%3E%3Cpath%20d%3D%22M84%2074h20M120%2074h20M84%20100h20M120%20100h20M84%20126h20M120%20126h20M84%20152h20M120%20152h20%22%20stroke-opacity%3D%22.45%22%2F%3E%3Crect%20x%3D%22190%22%20y%3D%2290%22%20width%3D%2280%22%20height%3D%2294%22%20fill%3D%22%23F5EFE2%22%20fill-opacity%3D%22.06%22%2F%3E%3Cpath%20d%3D%22M210%20112h14M238%20112h14M210%20136h14M238%20136h14%22%20stroke-opacity%3D%22.45%22%2F%3E%3Cpath%20d%3D%22M226%20184v-26h20v26%22%20stroke-opacity%3D%22.5%22%2F%3E%3Cpath%20d%3D%22M330%20112h64l-6%2072h-52Z%22%20fill%3D%22%23F5EFE2%22%20fill-opacity%3D%22.12%22%2F%3E%3Cpath%20d%3D%22M324%20112h76M350%20100h24v12%22%2F%3E%3Cpath%20d%3D%22M348%20130v40M362%20130v40M376%20130v40%22%20stroke-opacity%3D%22.5%22%2F%3E%3Cpath%20d%3D%22M420%20120h60l-5%2064h-50Z%22%20fill%3D%22%23F5EFE2%22%20fill-opacity%3D%22.12%22%2F%3E%3Cpath%20d%3D%22M414%20120h72M440%20108h20v12%22%20stroke%3D%22%23D4B878%22%2F%3E%3Cpath%20d%3D%22M500%20184c-6-22%206-34%2022-34s28%2012%2022%2034Z%22%20fill%3D%22%23F5EFE2%22%20fill-opacity%3D%22.14%22%2F%3E%3Cpath%20d%3D%22M516%20150l6-10%206%2010%22%2F%3E%3Cpath%20d%3D%22M540%20184c-4-16%204-26%2016-26s20%2010%2016%2026Z%22%20fill%3D%22%23F5EFE2%22%20fill-opacity%3D%22.1%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center bottom/cover no-repeat,linear-gradient(135deg,#3C7A5E,#245843)}
.sv3{background:url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20220%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23F5EFE2%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%2270%22%20y%3D%2236%22%20width%3D%22150%22%20height%3D%22132%22%20rx%3D%223%22%20fill%3D%22%23F5EFE2%22%20fill-opacity%3D%22.08%22%2F%3E%3Cpath%20d%3D%22M145%2036v132M70%20102h150%22%20stroke-opacity%3D%22.6%22%2F%3E%3Cpath%20d%3D%22M92%2058l26%2026M160%2058l22%2022%22%20stroke-opacity%3D%22.35%22%2F%3E%3Cpath%20d%3D%22M60%20168h170%22%2F%3E%3Crect%20x%3D%22270%22%20y%3D%2240%22%20width%3D%22190%22%20height%3D%2246%22%20rx%3D%228%22%20fill%3D%22%23F5EFE2%22%20fill-opacity%3D%22.1%22%2F%3E%3Cpath%20d%3D%22M286%2072h158M300%2062h40%22%20stroke-opacity%3D%22.5%22%2F%3E%3Cpath%20d%3D%22M300%2098c-4%2010%204%2014%200%2024M340%2098c-4%2010%204%2014%200%2024M380%2098c-4%2010%204%2014%200%2024M420%2098c-4%2010%204%2014%200%2024%22%20stroke%3D%22%23D4B878%22%20stroke-opacity%3D%22.75%22%2F%3E%3Cpath%20d%3D%22M500%20110h26v14h12l-4%2060h-40l-4-60h10Z%22%20fill%3D%22%23F5EFE2%22%20fill-opacity%3D%22.12%22%2F%3E%3Cpath%20d%3D%22M526%20112l22-6M548%20106v10%22%2F%3E%3Cpath%20d%3D%22M488%20140h56%22%20stroke-opacity%3D%22.4%22%2F%3E%3Cpath%20d%3D%22M0%20184H600%22%20stroke-opacity%3D%22.3%22%2F%3E%3C%2Fg%3E%3Cg%20fill%3D%22%23D4B878%22%3E%3Cpath%20d%3D%22M250%20120l4%2010%2010%204-10%204-4%2010-4-10-10-4%2010-4Z%22%2F%3E%3Cpath%20d%3D%22M470%20150l3%207%207%203-7%203-3%207-3-7-7-3%207-3Z%22%2F%3E%3Cpath%20d%3D%22M110%20120l3%207%207%203-7%203-3%207-3-7-7-3%207-3Z%22%20fill-opacity%3D%22.8%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center bottom/cover no-repeat,linear-gradient(135deg,#7D9271,#52704F)}
.sv4{background:url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20220%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23F5EFE2%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%22520%22%20cy%3D%2256%22%20r%3D%2222%22%20stroke-opacity%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M520%2020v-8M520%20100v-8M484%2056h-8M564%2056h-8%22%20stroke-opacity%3D%22.5%22%2F%3E%3Cpath%20d%3D%22M110%20184v-60%22%2F%3E%3Cpath%20d%3D%22M110%20132c-46%200-62-36-40-60%206-30%2046-38%2062-16%2030-4%2046%2030%2026%2052-8%2018-26%2024-48%2024Z%22%20fill%3D%22%23F5EFE2%22%20fill-opacity%3D%22.1%22%2F%3E%3Cpath%20d%3D%22M110%20150l-18-16M110%20140l16-14%22%20stroke-opacity%3D%22.6%22%2F%3E%3Cpath%20d%3D%22M0%20184H600%22%20stroke-opacity%3D%22.4%22%2F%3E%3Cpath%20d%3D%22M200%20184c2-14%206-24%2010-30M214%20184c0-12%204-20%208-26M228%20184c2-16%208-26%2014-32M246%20184c0-10%202-18%206-24M262%20184c2-14%206-22%2012-28M280%20184c0-12%204-20%208-26%22%20stroke-opacity%3D%22.75%22%2F%3E%3Cpath%20d%3D%22M380%20184c1-6%203-10%205-12M394%20184c0-5%202-9%204-11M408%20184c1-6%203-10%205-12M422%20184c0-5%202-9%204-11M436%20184c1-6%203-10%205-12%22%20stroke-opacity%3D%22.5%22%2F%3E%3Cpath%20d%3D%22M318%20120l40%2040M358%20120l-40%2040%22%20stroke%3D%22%23D4B878%22%2F%3E%3Cpath%20d%3D%22M318%20120l-14-26M358%20120l14-26%22%20stroke%3D%22%23D4B878%22%20stroke-width%3D%225%22%2F%3E%3Ccircle%20cx%3D%22338%22%20cy%3D%22140%22%20r%3D%224%22%20fill%3D%22%23D4B878%22%20stroke%3D%22none%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center bottom/cover no-repeat,linear-gradient(135deg,#B08D45,#7E6228)}
.sv5{background:url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20600%20260%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23F5EFE2%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M0%20214H600%22%20stroke-opacity%3D%22.4%22%2F%3E%3Crect%20x%3D%22200%22%20y%3D%22194%22%20width%3D%22200%22%20height%3D%2220%22%20fill%3D%22%23F5EFE2%22%20fill-opacity%3D%22.08%22%2F%3E%3Crect%20x%3D%22220%22%20y%3D%22176%22%20width%3D%22160%22%20height%3D%2218%22%20fill%3D%22%23F5EFE2%22%20fill-opacity%3D%22.1%22%2F%3E%3Cpath%20d%3D%22M262%20176V74c0-8%206-14%2014-14h48c8%200%2014%206%2014%2014v102%22%20fill%3D%22%23F5EFE2%22%20fill-opacity%3D%22.12%22%2F%3E%3Cpath%20d%3D%22M300%2086v70%22%20stroke%3D%22%23D4B878%22%20stroke-opacity%3D%22.7%22%2F%3E%3Cpath%20d%3D%22M228%20176v-30M372%20176v-30%22%2F%3E%3Cpath%20d%3D%22M228%20146c-14-4-18-18-8-26%202%2012%2010%2014%208%2026ZM228%20146c12-6%2022-2%2022%2010-10-4-14-6-22-10ZM372%20146c14-4%2018-18%208-26-2%2012-10%2014-8%2026ZM372%20146c-12-6-22-2-22%2010%2010-4%2014-6%2022-10Z%22%20stroke%3D%22%23D4B878%22%20fill%3D%22%23D4B878%22%20fill-opacity%3D%22.25%22%2F%3E%3Cpath%20d%3D%22M300%20176v-10M292%20176v-8M308%20176v-8%22%20stroke%3D%22%23D4B878%22%2F%3E%3Cpath%20d%3D%22M292%20160c-6-12%206-16%200-28M300%20158c-6-14%208-18%200-34M308%20160c-6-12%206-16%200-28%22%20stroke-opacity%3D%22.45%22%20stroke-width%3D%222%22%2F%3E%3Cpath%20d%3D%22M80%20214v-40M80%20176c-22%200-28-20-16-32%202-18%2026-22%2034-8%2016%200%2022%2018%2010%2028-4%208-14%2012-28%2012Z%22%20stroke-opacity%3D%22.6%22%20fill%3D%22%23F5EFE2%22%20fill-opacity%3D%22.06%22%2F%3E%3Cpath%20d%3D%22M520%20214v-36M520%20180c-18%200-24-16-12-26%202-14%2022-18%2028-6%2014%200%2018%2014%208%2022-4%206-12%2010-24%2010Z%22%20stroke-opacity%3D%22.6%22%20fill%3D%22%23F5EFE2%22%20fill-opacity%3D%22.06%22%2F%3E%3Ccircle%20cx%3D%22470%22%20cy%3D%2250%22%20r%3D%2216%22%20stroke-opacity%3D%22.55%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") center bottom/cover no-repeat,linear-gradient(135deg,#5A6B7E,#3B4A5A)}

/* ===== 余白とレイアウトの調整（2026/11/06） ===== */
.section{padding:72px 0}
.hero{padding:150px 0 88px}
main .pagehero{padding:118px 0 44px}
.reason-grid,.services__grid,.flow__grid{margin-top:36px}
main .includes,main .worries,main .rpoints,main .faq{margin-top:30px}
main .worries-close{margin-top:32px}
.heading{margin-bottom:14px}
.trustbar{padding:16px 0}
.service p{flex:none}
.service ul{margin:14px 0 18px}
.service__body > div:last-child{margin-top:auto}
.contact__tel{margin:24px 0 6px}
.footer{padding:44px 0 40px}
@media (max-width:768px){
  .section{padding:48px 0}
  .hero{padding:104px 0 52px}
  main .pagehero{padding:96px 0 32px}
  .reason-grid,.services__grid,.flow__grid{margin-top:26px}
  .reason{padding:28px 24px}
  .service__body{padding:24px 22px 26px}
  .footer{padding-bottom:140px}
}

/* お客様の声・口コミの2つの窓口：スマホでは縦並び */
@media (max-width:768px){#review .pcases{grid-template-columns:1fr !important}#review .pcase ul{grid-template-columns:1fr 1fr}}
