/* ==========================================================
   会社情報ページ  company.css  (PC 1920 / SP 390 基準, 1rem=10px)
   ========================================================== */
.pc-br{display:inline}
@media (max-width:1023px){.pc-br{display:none}}

/* ---------- MV（このページのみ trimming 調整） ---------- */
.page-mv__img{object-position:50% 80%;}

/* ---------- イントロ ---------- */
.c-intro{position:relative;height:86rem;}
.c-intro__inner{position:relative;height:100%;}
.c-intro__txt{position:absolute;left:0;top:18.7rem;width:83.3rem;font-size:2.2rem;line-height:6rem;letter-spacing:.06em;}
.c-intro__vertical{position:absolute;left:94rem;top:19.2rem;writing-mode:vertical-rl;font-family:var(--font-logo);font-size:6rem;font-weight:700;line-height:10.5rem;letter-spacing:.47em;color:var(--green);white-space:nowrap;}
.c-intro__vertical span{display:block;}
.c-intro__town{position:absolute;left:0;top:46.8rem;width:72.2rem;height:19.5rem;overflow:hidden;}
.c-intro__town img{width:100%;height:100%;object-fit:cover;object-position:50% 51%;}
@media (max-width:1023px){
  .page-mv__img{object-position:50% 50%;}
  .c-intro{height:58.4rem;}
  .c-intro__txt{left:2.3rem;top:31.5rem;width:34.5rem;font-size:1.5rem;line-height:3.5rem;letter-spacing:.05em;}
  .c-intro__vertical{left:10.8rem;top:2.4rem;font-size:2.8rem;line-height:5.8rem;letter-spacing:.25em;}
  .c-intro__town{left:1.2rem;top:20.5rem;width:36.6rem;height:9.9rem;}
}

/* ---------- PHILOSOPHY ---------- */
.c-philo{position:relative;height:48.5rem;background-color:#F5EFE6;
  background-image:repeating-linear-gradient(90deg,#F3EBE0 0 5.7rem,transparent 5.7rem 11.37rem);background-position:2.2rem 0;}
.c-philo__head{position:absolute;left:30rem;top:9.1rem;width:48.2rem;text-align:center;color:var(--ochre-d);}
.c-philo__en{font-size:6rem;font-weight:300;line-height:1;letter-spacing:.1em;}
.c-philo__ttl{margin-top:3.3rem;font-family:var(--font-logo);font-size:6rem;font-weight:700;line-height:1.15;letter-spacing:.15em;white-space:nowrap;}
.c-philo__ttl span{display:table;margin:0 auto;padding:0 2.4rem 0 3.3rem;border-bottom:.5rem solid var(--ochre);}
.c-philo__ttl span+span{margin-top:2.6rem;}
.c-philo__txt{position:absolute;left:91.2rem;top:9.1rem;width:65rem;font-size:2.2rem;line-height:6rem;letter-spacing:.06em;}
@media (max-width:1023px){
  .c-philo{height:43.7rem;background-color:#fff;background-image:repeating-linear-gradient(90deg,rgba(239,229,214,.4) 0 1.2rem,transparent 1.2rem 2.34rem);background-position:.3rem 0;}
  .c-philo__head{left:0;top:3.8rem;width:100%;}
  .c-philo__en{font-size:3rem;}
  .c-philo__ttl{margin-top:1.9rem;font-size:2.8rem;line-height:1.2;}
  .c-philo__ttl span{padding:0 1.2rem 0 1.6rem;border-bottom-width:.3rem;}
  .c-philo__ttl span+span{margin-top:1.1rem;}
  .c-philo__txt{left:2.4rem;top:21.1rem;width:34.2rem;font-size:1.5rem;line-height:3.5rem;letter-spacing:.05em;}
}

/* ---------- 代表挨拶 ---------- */
.c-greet{padding-top:31.2rem;}
.c-greet__box{position:relative;margin:0 12.4rem;height:98.2rem;border-radius:3rem;background:var(--ochre);color:var(--white);}
.c-greet__photo{position:absolute;left:12rem;top:-9.1rem;width:84.9rem;height:54.6rem;object-fit:cover;object-position:50% 50%;border-radius:3rem;}
.c-greet__ttl{position:absolute;left:88.5rem;top:9.5rem;font-size:4rem;font-weight:700;letter-spacing:.05em;line-height:1;}
.c-greet__ttl span{display:table;height:7.8rem;padding:0 0 0 1.7rem;border:.4rem solid var(--white);background:var(--ochre);line-height:7rem;white-space:nowrap;}
.c-greet__ttl span+span{margin-top:1.9rem;}
.c-greet__name{position:absolute;left:109.6rem;top:31.2rem;font-size:3.5rem;font-weight:700;line-height:5.5rem;letter-spacing:.06em;}
.c-greet__name span{display:block;}
.c-greet__name span:first-child{font-size:.71em;}
.c-greet__name-person{padding-left:5.8rem;}
.c-greet__txt{position:absolute;left:17.6rem;top:49.6rem;width:132.1rem;font-size:2.2rem;line-height:6rem;letter-spacing:.06em;}
@media (max-width:1023px){
  .c-greet{padding-top:3.7rem;}
  .c-greet__box{margin:0 1.4rem;height:auto;min-height:69.5rem;padding:31.2rem 1.5rem 2.4rem;border-radius:1rem;}
  .c-greet__photo{left:1.8rem;top:1.6rem;width:32.7rem;height:21rem;border-radius:1rem;object-position:50% 60%;}
  .c-greet__ttl{left:1rem;top:16.3rem;font-size:1.8rem;letter-spacing:.05em;}
  .c-greet__ttl span{height:3.2rem;padding:0 .7rem;border-width:.2rem;line-height:2.8rem;}
  .c-greet__ttl span+span{margin-top:1.5rem;}
  .c-greet__name{left:auto;right:3rem;top:26.5rem;display:flex;gap:1.4rem;font-size:2rem;line-height:1;align-items:center;}
  .c-greet__name span:first-child{font-size:.75em;}
  .c-greet__name-person{padding-left:0;}
  .c-greet__txt{position:static;width:auto;font-size:1.5rem;line-height:3rem;letter-spacing:.07em;}
}

/* ---------- スタッフ紹介 ---------- */
.c-staff{position:relative;padding-top:30.4rem;overflow:hidden;}
.c-staff__head{position:absolute;left:12.4rem;top:30.4rem;width:82.1rem;height:51.5rem;text-align:center;}
.c-staff__bg{position:absolute;left:7.8rem;top:-2.2rem;font-size:18rem;font-weight:900;line-height:22rem;letter-spacing:.06em;color:#E8D8C1;text-align:left;white-space:nowrap;font-family:"Arial Black","Hiragino Sans","Noto Sans JP",sans-serif;}
.c-staff__ttl{position:relative;padding-top:10.1rem;font-size:6rem;font-weight:700;line-height:10rem;letter-spacing:.06em;color:var(--ochre);}
.c-staff__lead{position:relative;margin:0 auto;width:53.7rem;font-size:2.2rem;font-weight:700;line-height:6rem;letter-spacing:.06em;color:var(--ochre);}
.c-staff__list{margin:0 12.4rem;}
.c-staff .swiper{overflow:visible;}
.c-staff__list .swiper-wrapper{display:grid;grid-template-columns:repeat(2,82.1rem);gap:17.9rem 3rem;}
.c-staff__card{position:relative;height:56.5rem;border-radius:3rem;background:var(--white);}
.c-staff__card:first-child{grid-column:2;}
.c-staff__panel{position:absolute;left:4.6rem;top:-14.4rem;width:33.4rem;height:42.8rem;border-radius:3rem;background:var(--lgrey);background-position: center;background-size: cover;background-repeat: no-repeat;}
.c-staff__tag{position:absolute;left:38.9rem;top:3.5rem;display:block;min-width:19.8rem;height:4rem;padding:0 1.6rem;border-radius:2rem;background:var(--green);color:var(--white);font-size:2.5rem;font-weight:700;line-height:4rem;text-align:center;letter-spacing:.06em;}
.c-staff__name{position:absolute;left:38.9rem;top:11.2rem;width:22.2rem;font-size:2.5rem;font-weight:700;line-height:1;text-align:center;letter-spacing:.06em;}
.c-staff__qual{position:absolute;left:38.9rem;top:18.3rem;width:39.2rem;height:10.5rem;padding:1.3rem 2.4rem;border-radius:1.5rem;background:var(--beige2);font-size:2rem;line-height:4rem;letter-spacing:.06em;display:flex;flex-direction:column;justify-content:center;}
.c-staff__txt{position:absolute;left:4rem;top:29.5rem;width:71.3rem;font-size:2.2rem;line-height:5.5rem;letter-spacing:.06em;padding:0.2em 1em 1.5em;}
.c-staff__dots{display:none;}
@media (max-width:1023px){
  .c-staff{padding:0 0 8rem;}
  .c-staff__head{position:relative;left:0;top:0;width:auto;height:35.3rem;text-align:left;}
  .c-staff__bg{left:2.3rem;top:4.5rem;font-size:7rem;line-height:9.4rem;}
  .c-staff__ttl{position:absolute;left:2.4rem;top:9.3rem;width:24.2rem;padding:0;font-size:2.8rem;line-height:5rem;text-align:center;}
  .c-staff__lead{position:absolute;left:2.4rem;top:22.8rem;width:34.2rem;margin:0;font-size:1.5rem;line-height:3.5rem;}
  .c-staff__list{margin:0 1.4rem;}
  .c-staff__list .swiper-wrapper{display:flex;gap:0;}
  .c-staff__card{height:auto;padding:17.7rem 0 1.8rem;border-radius:1rem;}
  .c-staff__card:first-child{grid-column:auto;}
  .c-staff__panel{left:1.4rem;top:-3rem;width:14.8rem;height:19rem;border-radius:1.5rem;}
  .c-staff__tag{left:17.2rem;top:2.1rem;min-width:14.1rem;height:2.7rem;padding:0 1rem;font-size:1.6rem;line-height:2.7rem;}
  .c-staff__name{left:17.2rem;top:7rem;width:11rem;font-size:1.5rem;}
  .c-staff__qual{left:17.2rem;top:10.5rem;width:17.4rem;height:5.5rem;padding:.6rem 1rem;border-radius:.8rem;font-size:1.3rem;line-height:2.2rem;letter-spacing:0;white-space:nowrap;}
  .c-staff__txt{position:static;margin-left:2.3rem;width:31.7rem;padding:0;font-size:1.5rem;line-height:3.3rem;letter-spacing:.05em;}
  .c-staff__dots{position:static;display:flex;justify-content:center;gap:1rem;margin-top:3.6rem;}
  .c-staff__dots .swiper-pagination-bullet{width:1rem;height:1rem;margin:0;background:var(--sand);opacity:1;}
  .c-staff__dots .swiper-pagination-bullet-active{background:var(--ochre);}
}

/* ---------- 看板猫 ---------- */
.c-cat{display:flex;align-items:center;justify-content:center;gap:8rem;width:143rem;margin:0 auto;padding-top:20rem;}
.c-cat__photo{flex:none;width:68rem;aspect-ratio:4/3;object-fit:cover;border-radius:3rem;}
.c-cat__body{flex:1;color:var(--ochre);}
.c-cat__en{font-size:3.5rem;font-weight:700;line-height:1;letter-spacing:.05em;color:var(--green);}
.c-cat__ttl{margin-top:2.4rem;font-size:6rem;font-weight:700;line-height:1.3;letter-spacing:.06em;}
.c-cat__txt{margin-top:3.6rem;font-size:2.2rem;line-height:6rem;letter-spacing:.06em;color:var(--ink);}
@media (max-width:1023px){
  .c-cat{flex-direction:column;align-items:stretch;gap:2.4rem;width:auto;padding:4rem 2.4rem 0;}
  .c-cat__photo{width:100%;border-radius:1rem;}
  .c-cat__en{font-size:2rem;}
  .c-cat__ttl{margin-top:1.2rem;font-size:2.8rem;}
  .c-cat__txt{margin-top:1.6rem;font-size:1.5rem;line-height:3.5rem;letter-spacing:.05em;}
  .c-cat__txt br{display:none;}
}

/* ---------- 会社概要 ---------- */
.c-overview{padding:20.7rem 0 11.7rem;}
.c-overview__ttl{font-size:6rem;font-weight:700;line-height:6.5rem;letter-spacing:.06em;text-align:center;color:var(--green2);}
.c-overview__table{margin-top:5.9rem;border-top:.15rem solid var(--green);}
.c-overview__row{display:grid;grid-template-columns:40.2rem 1fr;padding:1.6rem 0;border-bottom:.15rem solid var(--green);font-size:2.2rem;line-height:4.6rem;letter-spacing:.06em;}
.c-overview__row dt{padding-left:9.9rem;}
.c-overview__row dd{margin:0;}
.c-info{display:flex;justify-content:center;gap:6.5rem;margin-top:6.1rem;}
.c-info__box{position:relative;width:58.5rem;height:23rem;border:.2rem solid var(--ochre);border-radius:2rem;background:var(--white);text-align:center;}
.c-info__lbl{position:absolute;left:3.2rem;top:2.6rem;right:10rem;display:flex;align-items:center;gap:2rem;font-size:2.2rem;line-height:1;letter-spacing:.06em;color:var(--ochre);text-align:left;white-space:nowrap;}
.c-info__lbl::after{content:"";flex:1;height:1px;background:var(--ochre);}
.c-info__val{position:absolute;left:0;right:0;top:8.4rem;font-size:3rem;font-weight:700;line-height:1;letter-spacing:.06em;color:var(--ochre);}
.c-info__note{position:absolute;left:50%;top:14.2rem;transform:translateX(-50%);font-size:2rem;line-height:1.75;letter-spacing:.03em;text-align:left;white-space:nowrap;} /* かたまりは中央、行頭は左揃え（2行目を※の後ろに揃える） */
.c-info__indent{visibility:hidden;} /* 2行目の頭を「※ 」と同じ幅だけ下げる */
@media (max-width:1023px){
  .c-overview{padding:2.1rem 0 4.9rem;}
  .c-overview__ttl{font-size:2.8rem;line-height:6.5rem;}
  .c-overview__table{margin:1.2rem .8rem 0;padding:0;border-top-width:1px;}
  .c-overview__row{grid-template-columns:11.3rem 1fr;padding:1.5rem 0;border-bottom-width:1px;font-size:1.5rem;line-height:2.6rem;letter-spacing:.02em;}
  .c-overview__row dt{padding-left:2.1rem;}
  .c-overview__row--small{font-size:1.3rem;}
  .c-info{flex-direction:column;align-items:center;gap:2.5rem;margin:5.1rem 2.4rem 0;}
  .c-info__box{width:34.2rem;height:13rem;border-width:.15rem;border-radius:1rem;}
  .c-info__lbl{left:1.7rem;top:2rem;right:5rem;gap:1.2rem;font-size:1.4rem;}
  .c-info__val{top:5.2rem;font-size:1.8rem;}
  .c-info__note{top:10rem;transform:translate(-50%,-50%);font-size:1.2rem;line-height:1.5;} /* 7rem〜枠下(13rem)の中央 */
}
