/* 会社概要ページ専用 (共通は style.css)
   ・文字サイズは style.css の --fs-◯◯ トークンを使用(px直書きしない) */
.page-company .b-main{color:var(--navy);overflow:hidden}
.co-wrap{max-width:1000px;margin:0 auto;padding:0 16px}

/* ---- ヒーロー ---- */
.hero-stage{background-image:unset;height:100%;}
.co-hero{position:relative;height:clamp(300px,50vw,700px);}
.co-hero h1{position:absolute;left:0;right:0;top:35%;transform:translateY(-50%);text-align:center;color:#fff;text-shadow:var(--fuchi-nv);}
.co-hero-wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:auto;pointer-events:none}
.co-hero-fish{position:absolute;right:1%;bottom:2%;width:clamp(90px,16vw,200px);height:auto;pointer-events:none}

/* ---- 導入 ---- */
.co-intro{position:relative;text-align:center;padding:10px 0 80px}
.co-intro h2{font-size:var(--fs-2xl);font-weight:700;line-height:1.7;margin:0 0 40px}
.co-intro p{font-size:var(--fs-md);line-height:1.9;margin:0}
.co-fish-l{position:absolute;left:3%;bottom:-40px;width:clamp(70px,10vw,140px);height:auto;pointer-events:none}

/* ---- 見出し+右へ伸びる線 ---- */
.co-sec{position:relative;padding:0 0 60px}
.co-h{display:flex;align-items:center;gap:20px;font-size:var(--fs-lg);font-weight:700;line-height:1.5;margin:0 0 22px}
.co-h::after{content:"";flex:1;min-width:30px;border-top:1px solid var(--navy)}
.co-text p{font-size:var(--fs-base);line-height:1.95;margin:0 0 14px}

/* ---- 左右に線が伸びるタイトル(会社情報/沿革/主な事業) ---- */
.co-title{display:flex;align-items:center;gap:32px;font-size:var(--fs-xl);font-weight:700;letter-spacing:.2em;margin:0 0 20px}
.co-title::before,.co-title::after{content:"";flex:1;border-top:1px solid var(--navy)}
.co-title span{flex:none}

/* ---- 会社情報(表) ---- */
.co-info{margin:0 0 70px}
.co-info>div{display:flex;gap:2em;padding:7px 14px;border-bottom:1px solid var(--navy)}
.co-info dt{flex:none;width:5.5em;font-weight:400;letter-spacing:.05em;text-align:justify;text-align-last:justify;font-size:var(--fs-base)}
.co-info dd{margin:0;font-size:var(--fs-base);min-width:0}
.co-info dd+dd{margin-top:0}

/* ---- 沿革(タイムライン) ---- */
.co-tl{position:relative;max-width:780px;margin:34px auto 90px;list-style:none;padding:0}
.co-tl::before{content:"";position:absolute;left:50%;top:6px;bottom:0;border-left:1px solid #8a93b5;transform:translateX(-.5px)}
.co-tl li{position:relative;min-height:76px;padding-bottom:24px;display:flex}
.co-tl li::before{content:"";position:absolute;left:50%;top:0;width:19px;height:19px;border-radius:50%;background:#0a9bdc;transform:translateX(-50%)}
.co-tl-box{width:calc(50% - 24px);padding-top:0}
.co-tl-row{display:flex;gap:1em;font-size:var(--fs-base);line-height:1.6;padding:0 4px 3px;margin:0}
.co-tl-row.line{border-bottom:1px solid var(--navy)}
.co-tl-row .t{display:flex;gap:1em;flex:1;min-width:0}
.co-tl-row .y{min-width:calc(var(--fs-xl)*2.3);font-family:"Jost","Noto Sans JP",sans-serif;font-size:var(--fs-xl);color:#0a9bdc;line-height:1.2;flex:none}
.co-tl-row .m{flex:none;min-width:2.8em}
.co-tl-row.sub{padding-left:calc(var(--fs-xl)*2.3 + 1em + 4px)}
/* 右側の項目: [年][月 内容] */
.co-tl li.r{justify-content:flex-end}
.co-tl li.r .co-tl-box{margin-right:calc(0px)}
.co-tl li.r .co-tl-box{margin-left:auto;margin-right:calc(0px)}
.co-tl li.r .co-tl-box{position:relative;left:0;width:calc(50% - 24px);padding-left:6px;margin-left:calc(50% + 24px);margin-right:0}
.co-tl li.r{justify-content:flex-start}
/* 左側の項目: [月 内容][年](年が中央線側) */
.co-tl li.l{justify-content:flex-start}
.co-tl li.l .co-tl-row .t{justify-content:flex-end}

/* ---- 主な事業 ---- */
.co-biz{margin:34px 0 0;padding:0 20px}
.co-biz h3{font-size:var(--fs-base);font-weight:700;margin:0 0 2px}
.co-biz p{font-size:var(--fs-base);line-height:1.9;margin:0 0 26px}

/* ---- CTA ---- */
.co-cta{position:relative;text-align:center;padding:50px 16px 90px}
.co-btn{display:block;max-width:400px;margin:0 auto;background:var(--navy);color:#fff;font-size:var(--fs-md);padding:6px 16px;letter-spacing:.05em;text-shadow:none;}
.co-btn:hover{background:#1c2758;color:#fff}

/* ---- タブレット・スマホ ---- */
@media (max-width:767.98px){
  .co-info>div{flex-direction:column;gap:2px;padding:10px 4px}
  .co-info dt{width:auto;text-align:left;text-align-last:left;font-weight:700}
  .co-tl::before{left:12px}
  .co-tl li::before{left:12px;width:16px;height:16px}
  .co-tl li.l,.co-tl li.r{justify-content:flex-start}
  .co-tl li .co-tl-box,.co-tl li.l .co-tl-box,.co-tl li.r .co-tl-box{width:auto;margin:0 0 0 40px;padding-left:0}
  .co-tl li.l .co-tl-row{flex-direction:row-reverse;justify-content:flex-end}
  .co-tl li.l .co-tl-row .t{flex:0 1 auto;justify-content:flex-start}
  
  .co-tl-row.sub{padding-left:calc(var(--fs-xl)*2.3 + 1em + 4px)}
  .co-biz{padding:0}
  .co-h::after{display:none}
}
