/* ============================================
   企業向けページ 上書きスタイル（2026-09-08）
   方針：色は2色のみ（墨＋テラコッタ）＋生成りの地。
        飾りを減らし、余白と文字で見せる。
   HTMLは変更していません。見た目だけを上書きします。
   ============================================ */

:root{
  --c-ink:#191919;         /* 墨 */
  --c-ink-2:#4A4A4A;
  --c-ink-3:#7C7C7C;
  --c-accent:#B8442C;      /* テラコッタ（差し色1色） */
  --c-accent-d:#8E3220;
  --c-paper:#F3F0E9;       /* 生成り */
  --c-paper-2:#E9E5DA;
  --c-white:#FFFFFF;
  --c-rule:#D8D2C4;
}

/* ── 地色と文字 ── */
body{
  background:var(--c-paper);
  color:var(--c-ink);
  font-weight:500;
  letter-spacing:.01em;
}
.container{max-width:1080px;}

/* 背景色のついたセクションは、すべて生成り系に統一 */
.bg-green,.bg-sky,.bg-coral,.bg-yellow{
  background:var(--c-paper-2) !important;
}

/* ── ヘッダー ── */
header{
  background:rgba(243,240,233,.94) !important;
  backdrop-filter:saturate(120%) blur(8px);
  border-bottom:1px solid var(--c-rule);
  box-shadow:none !important;
}
header .logo,footer .logo{color:var(--c-ink) !important;}
header .logo i,footer .logo i{color:var(--c-accent) !important;font-style:normal;}
header nav a{color:var(--c-ink-2) !important;font-weight:600;}
header nav a:hover{color:var(--c-accent) !important;}
.nav-cta{
  background:var(--c-ink) !important;color:#fff !important;
  border-radius:2px !important;font-weight:600 !important;
}
.nav-cta:hover{background:var(--c-accent) !important;}

/* ── 見出し ── */
.eyebrow{
  color:var(--c-accent) !important;background:none !important;
  font-family:'Poppins',sans-serif;font-weight:600;font-size:12px;
  letter-spacing:.22em;text-transform:uppercase;padding:0 !important;
  border:0 !important;border-radius:0 !important;
}
.eyebrow:before{
  content:"";display:inline-block;width:28px;height:1.5px;
  background:var(--c-accent);vertical-align:middle;margin-right:12px;
}
.sec-head h2,.c-hero h1{
  color:var(--c-ink);font-weight:700;letter-spacing:-.01em;line-height:1.5;
}
.mark{
  background:none !important;color:var(--c-accent) !important;
  border-bottom:3px solid var(--c-accent);padding:0 !important;
}
.lead,.sec-head p{color:var(--c-ink-2);font-weight:500;}

/* ── ヒーロー ── */
.c-hero{background:var(--c-paper) !important;position:relative;overflow:hidden;}
.c-hero .star,.c-hero .deco,.deco{display:none !important;}
.c-hero h1{font-size:clamp(30px,5.2vw,54px) !important;}

/* 大きな円弧（参考デザインの雰囲気）を1つだけ */
.c-hero:before{
  content:"";position:absolute;right:-160px;top:-120px;
  width:520px;height:520px;border-radius:50%;
  border:70px solid var(--c-accent);opacity:.13;pointer-events:none;
}

/* ── ボタン ── */
.btn,.btn-sm,.btn-green,.btn-yellow,.btn-dark{
  border-radius:2px !important;font-weight:600 !important;
  box-shadow:none !important;border:1.5px solid var(--c-ink) !important;
  background:var(--c-ink) !important;color:#fff !important;
  transition:background .2s,border-color .2s,color .2s;
}
.btn:hover,.btn-sm:hover,.btn-green:hover,.btn-yellow:hover,.btn-dark:hover{
  background:var(--c-accent) !important;border-color:var(--c-accent) !important;color:#fff !important;
  transform:none !important;
}
.btn-ghost{
  background:transparent !important;color:var(--c-ink) !important;
  border:1.5px solid var(--c-ink) !important;border-radius:2px !important;box-shadow:none !important;
}
.btn-ghost:hover{background:var(--c-ink) !important;color:#fff !important;}

/* ── 実績の数字 ── */
.c-stats{border-top:1px solid var(--c-rule);padding-top:36px;}
.c-stat{background:none !important;border:0 !important;box-shadow:none !important;border-radius:0 !important;}
.c-stat b,.c-stat .g,.res b{
  color:var(--c-ink) !important;font-family:'Poppins',sans-serif;font-weight:600 !important;
}
.c-stat span,.res span{color:var(--c-ink-3) !important;font-weight:500;letter-spacing:.04em;}

/* ── カード類：影と丸みを外し、線で仕切る ── */
.svc,.tool-card,.faq-item,.tl-item,.flow,.kalo,.res,.about-grid > *{
  background:var(--c-white) !important;
  border:1px solid var(--c-rule) !important;
  border-radius:3px !important;
  box-shadow:none !important;
  transform:none !important;
}
.svc:hover,.tool-card:hover{
  border-color:var(--c-ink) !important;transform:none !important;box-shadow:none !important;
}
.svc-no,.flow-no,.tl-year{
  color:var(--c-accent) !important;background:none !important;
  font-family:'Poppins',sans-serif;font-weight:600;letter-spacing:.1em;
  border:0 !important;border-radius:0 !important;padding:0 !important;
}
.svc-for,.tool-kind,.about-tags span{
  background:var(--c-paper-2) !important;color:var(--c-ink-2) !important;
  border:0 !important;border-radius:2px !important;font-weight:600;font-size:11.5px;
  letter-spacing:.04em;
}
.svc-price{color:var(--c-ink) !important;font-family:'Poppins',sans-serif;font-weight:600;}
.svc-pop{
  background:var(--c-accent) !important;color:#fff !important;
  border-radius:2px !important;font-weight:600;letter-spacing:.06em;
}
/* .hot は「人気」カード本体に付くクラス。塗りつぶさず枠線で示す */
.svc.hot{
  background:var(--c-white) !important;
  border:2px solid var(--c-accent) !important;
}
.tool-go,.blog-tab{color:var(--c-accent) !important;font-weight:600;}
.blog-tab.active{background:var(--c-ink) !important;color:#fff !important;border-radius:2px !important;}

/* ── 区切り線 ── */
.sec-head{border-bottom:1px solid var(--c-rule);padding-bottom:22px;margin-bottom:40px;}

/* ── FAQ ── */
.faq-q{font-weight:600 !important;color:var(--c-ink) !important;}
.faq-a{color:var(--c-ink-2) !important;}

/* ── Kalodata ── */
.kalo-code{
  background:var(--c-paper-2) !important;color:var(--c-ink) !important;
  border:1px dashed var(--c-ink-3) !important;border-radius:2px !important;
  font-family:'Poppins',monospace;letter-spacing:.08em;
}
.kalo-off{color:var(--c-accent) !important;font-weight:600;}
.kalo-note{color:var(--c-ink-3) !important;}

/* ── フォーム ── */
input,select,textarea{
  border:1px solid var(--c-rule) !important;border-radius:2px !important;
  background:var(--c-white) !important;font-family:inherit;
}
input:focus,select:focus,textarea:focus{
  outline:none;border-color:var(--c-ink) !important;
}
.req{background:var(--c-accent) !important;color:#fff !important;border-radius:2px !important;font-weight:600;}

/* ── フッター ── */
footer{background:var(--c-ink) !important;color:#fff !important;border-top:0;}
footer .logo{color:#fff !important;}
footer a{color:rgba(255,255,255,.72) !important;}
footer a:hover{color:#fff !important;}

/* ── 装飾の削除（AI感の元） ── */
.star,.blob,.banner-blob,.blog-banner-blob{display:none !important;}

@media(max-width:768px){
  .c-hero:before{width:300px;height:300px;right:-110px;top:-90px;border-width:44px;}
  .sec-head{margin-bottom:28px;}
}

/* 白くしたカードの中の文字色を確保（2026-09-08） */
.kalo,.kalo h3,.kalo p,.svc,.tool-card,.faq-item,.tl-item,.flow,.res{
  color:var(--c-ink) !important;
}
.kalo h3{font-weight:600 !important;}

/* クーポン枠の中の小さな文字（白のままだった） */
.kalo-coupon,.kalo-coupon span{color:var(--c-ink) !important;}
.kalo-coupon{background:var(--c-paper-2) !important;border:1px solid var(--c-rule) !important;}

/* クーポンのコピーボタン */
.kalo-copy{
  background:var(--c-ink) !important;color:#fff !important;
  border:1px solid var(--c-ink) !important;border-radius:2px !important;font-weight:600;
}
.kalo-copy:hover{background:var(--c-accent) !important;border-color:var(--c-accent) !important;}

/* ============================================
   余白を増やす（AI感の一因＝詰まりすぎ）
   ============================================ */
section{padding:104px 0 !important;}
section:first-of-type{padding-top:0 !important;}
.sec-head{margin-bottom:56px !important;}
.sec-head h2{margin-top:14px;}

/* ============================================
   ブログ一覧（企業ページ内）
   ============================================ */
.blog-tabs{
  display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:44px !important;
}
.blog-tab{
  background:transparent !important;color:var(--c-ink-2) !important;
  border:1px solid var(--c-rule) !important;border-radius:2px !important;
  padding:9px 20px !important;font-size:13px;font-weight:600;letter-spacing:.02em;
  transition:border-color .2s,color .2s;
}
.blog-tab:hover{border-color:var(--c-ink) !important;color:var(--c-ink) !important;}
.blog-tab.active{
  background:var(--c-ink) !important;color:#fff !important;
  border-color:var(--c-ink) !important;
}
.blog-grid{gap:2px !important;}
.blog-card{
  background:var(--c-white) !important;border:0 !important;border-radius:0 !important;
  box-shadow:none !important;padding:34px 30px 32px !important;
  border-bottom:1px solid var(--c-rule) !important;
  display:block;transition:background .2s;
}
.blog-card:hover{background:var(--c-paper-2) !important;transform:none !important;}
.blog-cat{
  background:none !important;color:var(--c-accent) !important;
  border:0 !important;border-radius:0 !important;padding:0 !important;
  font-size:11.5px !important;font-weight:600;letter-spacing:.14em;
}
.blog-cat:after{content:"";display:block;width:22px;height:1.5px;background:var(--c-accent);margin-top:9px;}
.blog-date{
  display:block;color:var(--c-ink-3) !important;font-family:'Poppins',sans-serif;
  font-size:12px !important;letter-spacing:.06em;margin:14px 0 8px !important;
}
.blog-card h3{
  font-size:17px !important;font-weight:600 !important;line-height:1.75 !important;
  color:var(--c-ink) !important;margin:0 !important;
}

/* ツールカード・サービスカードにも余白を足す */
.tool-card,.svc,.flow,.res,.faq-item{padding:32px 28px !important;}
.tl-item{padding:26px 24px !important;}

@media(max-width:768px){
  section{padding:64px 0 !important;}
  .sec-head{margin-bottom:34px !important;}
  .blog-card{padding:26px 22px !important;}
  .tool-card,.svc,.flow,.res,.faq-item{padding:24px 20px !important;}
}

/* ============================================
   AI感を消す（2026-09-08 その2）
   原因＝①全部中央揃え ②全部が同じ大きさの等間隔グリッド
        ③どのセクションも同じ形 ④チェックアイコンの多用
   ============================================ */

/* ① 見出しを左揃えに。中央揃えの連続がいちばんのAI感 */
.sec-head{
  text-align:left !important;
  display:grid;grid-template-columns:1fr auto;align-items:end;gap:8px 40px;
}
.sec-head h2{grid-column:1;margin:10px 0 0 !important;font-size:clamp(26px,3.4vw,38px) !important;}
.sec-head p{grid-column:1;max-width:46em;margin-top:14px !important;}
.sec-head .eyebrow{grid-column:1;justify-self:start;}
.sec-head br{display:none;}

/* ② サービス：1枚目を大きく、残りは線で仕切るリストに */
.svc-grid{
  display:grid !important;grid-template-columns:1fr 1fr;
  gap:0 !important;border-top:1px solid var(--c-rule);
}
.svc{
  border:0 !important;border-bottom:1px solid var(--c-rule) !important;
  border-radius:0 !important;background:transparent !important;
  padding:44px 40px 44px 0 !important;
}
.svc:nth-child(odd){padding-right:56px !important;}
.svc:nth-child(even){
  padding-left:56px !important;border-left:1px solid var(--c-rule) !important;
}
.svc.hot{background:transparent !important;border:0 !important;
  border-bottom:1px solid var(--c-rule) !important;border-left:1px solid var(--c-rule) !important;}
.svc:hover{background:rgba(184,68,44,.035) !important;}
.svc h3{font-size:22px !important;margin:14px 0 6px !important;}
.svc-price{font-size:26px !important;}
.svc-price small{font-size:13px;color:var(--c-ink-3);font-weight:500;}

/* ③ チェックアイコンをやめて、控えめな線に */
.svc ul{list-style:none;padding:0;margin:18px 0 24px;}
.svc li{
  position:relative;
  padding:10px 0 10px 24px !important;   /* ページ側が padding:6px 0 で左を0にするため上書き */
  font-size:13.5px !important;line-height:1.9 !important;
  border-bottom:1px solid #EDE9DF;color:var(--c-ink-2) !important;
  display:block !important;              /* flex だと ::before の位置がずれる */
}
.svc li:before{
  content:"";position:absolute;left:0;top:1.15em;width:10px;height:1.5px;
  background:var(--c-accent);
}
.svc li svg{display:none !important;}

/* ④ 流れ：横4列をやめて、縦の時系列に */
.flow-grid{
  display:block !important;position:relative;padding-left:38px;max-width:760px;
}
.flow-grid:before{
  content:"";position:absolute;left:5px;top:12px;bottom:12px;width:1px;background:var(--c-rule);
}
.flow{
  background:transparent !important;border:0 !important;border-radius:0 !important;
  padding:0 0 46px !important;position:relative;
}
.flow:last-child{padding-bottom:0 !important;}
.flow:before{
  content:"";position:absolute;left:-38px;top:8px;width:11px;height:11px;
  border-radius:50%;background:var(--c-paper);border:1.5px solid var(--c-accent);
}
.flow-no{font-size:11.5px !important;letter-spacing:.16em;}
.flow h3{font-size:19px !important;margin:8px 0 8px !important;}

/* ⑤ ツール：箱をやめて線のリストに */
.tool-grid{
  display:grid !important;grid-template-columns:1fr 1fr;gap:0 !important;
  border-top:1px solid var(--c-rule);
}
.tool-card{
  background:transparent !important;border:0 !important;border-radius:0 !important;
  border-bottom:1px solid var(--c-rule) !important;padding:32px 40px 32px 0 !important;
}
.tool-card:nth-child(even){padding-left:56px !important;border-left:1px solid var(--c-rule) !important;}
.tool-card:hover{background:rgba(184,68,44,.035) !important;}
.tool-card h3{font-size:18px !important;margin:12px 0 8px !important;}

/* ⑥ 支援事例・FAQ：箱をやめる（ここは気に入ってもらえた方向を徹底） */
.res{
  background:transparent !important;border:0 !important;border-radius:0 !important;
  border-top:2px solid var(--c-ink) !important;padding:26px 0 0 !important;
}
.res h3{font-size:17px !important;margin:0 0 12px !important;}
.res-industry{justify-content:flex-start !important;}
.res-industry span{
  background:transparent !important;border:1px solid var(--c-rule) !important;
  border-radius:2px !important;color:var(--c-ink-2);font-weight:500;
}
.faq-item{
  background:transparent !important;border:0 !important;
  border-bottom:1px solid var(--c-rule) !important;border-radius:0 !important;
  padding:6px 0 !important;
}

/* ⑦ セクションごとに地色を変えて、同じ顔が続かないようにする */
#service{background:var(--c-white) !important;}
#flow{background:var(--c-white) !important;}

@media(max-width:820px){
  .svc-grid,.tool-grid{grid-template-columns:1fr !important;}
  .svc,.tool-card{padding:30px 0 !important;border-left:0 !important;}
  .svc:nth-child(even),.tool-card:nth-child(even),.svc.hot{
    padding-left:0 !important;border-left:0 !important;
  }
  .sec-head{grid-template-columns:1fr;}
  .flow-grid{padding-left:28px;}
  .flow:before{left:-28px;}
}

/* ============================================
   About と 経歴：白い箱の内側が狭くてチープに見えた
   → 箱をやめて、余白と細い線で見せる（2026-09-08 その3）
   ============================================ */
.about-grid{
  gap:80px !important;align-items:start;
}
.about-grid > *{
  background:transparent !important;border:0 !important;
  border-radius:0 !important;box-shadow:none !important;padding:0 !important;
}
.about-grid h2{line-height:1.55 !important;margin-bottom:36px !important;}

/* 肩書きタグ：詰まって見えたので、ゆったりさせる */
.about-tags{display:flex;flex-wrap:wrap;gap:10px !important;}
.about-tags span{
  background:transparent !important;border:1px solid var(--c-rule) !important;
  border-radius:2px !important;padding:11px 18px !important;
  font-size:12.5px !important;color:var(--c-ink-2) !important;letter-spacing:.02em;
}

/* 経歴：白い箱をやめて、縦線と余白で */
.tl{padding-left:30px !important;}
.tl::before{background:var(--c-rule) !important;}
.tl-item{
  background:transparent !important;border:0 !important;border-radius:0 !important;
  box-shadow:none !important;padding:0 0 42px !important;
}
.tl-item:last-child{padding-bottom:0 !important;}
.tl-item::before{
  background:var(--c-paper) !important;border:1.5px solid var(--c-accent) !important;
  width:11px !important;height:11px !important;left:-30px !important;
}
.tl-item:nth-child(2)::before,.tl-item:nth-child(3)::before,.tl-item:nth-child(4)::before{
  border-color:var(--c-accent) !important;
}
.tl-year{font-size:12px !important;letter-spacing:.16em;}
.tl-item h4{font-size:18px !important;font-weight:600 !important;margin:8px 0 10px !important;}
.tl-item p{font-size:14px !important;line-height:2 !important;color:var(--c-ink-2) !important;}

/* 箱が残るところは、内側の余白をたっぷりとる */
.faq-item{padding:14px 0 !important;}
.faq-q{padding:18px 0 !important;}

@media(max-width:820px){
  .about-grid{gap:48px !important;}
  .about-grid h2{margin-bottom:26px !important;}
  .tl{padding-left:24px !important;}
  .tl-item::before{left:-24px !important;}
  .tl-item{padding-bottom:32px !important;}
}

/* 白い背景の箱は内側をたっぷり（チープさの原因） */
.kalo{padding:52px 48px !important;}
.blog-card{padding:40px 36px !important;}
@media(max-width:820px){
  .kalo{padding:30px 24px !important;}
  .blog-card{padding:28px 22px !important;}
}

/* スマホでは文字が大きくなるぶん、飾り線の余白も広げる */
@media(max-width:768px){
  .svc li{padding-left:26px !important;font-size:14.5px !important;}
  .svc li:before{width:12px !important;}
}
