@charset "utf-8";

/*------------------------------------------
 *  会社案内共通
 *------------------------------------------*/
.p-sub-company__menu {
  display: none;
}
.p-sub-company__menu li {
  text-align: center;
}
.p-sub-company__menu-item {
  min-width: 250px;
}
.p-sub-company__ttl {
  text-align: center;
}
/* PC */
@media screen and (min-width: 768px) {
  .p-sub-company {
    margin-top: calc(40/16*1rem);
  }
  .p-sub-company__menu {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    -webkit-justify-content: center;
            justify-content: center;
    -webkit-align-items: center;
            align-items: center;
    gap: 0.5em;
  }
  .p-sub-company__menu-item {
    min-width: initial;
    width: 100%;
  }
}

/*------------------------------------------
 *  企業理念・代表メッセージ（index）
 *------------------------------------------*/
.p-sub-philosophy__wrapper {
  position: relative;
  margin-top: calc(40/16*1rem);
}
.p-sub-philosophy__wrapper::before{
  content: '';
  display: block;
  position: absolute;
  top: -9%;
  right: -20px;
  width: calc(127/16*1rem);
  height: calc(75/16*1rem);
  background: url(../img/company/philosophy-bg.svg) no-repeat;
  background-size: contain;
}
.p-sub-philosophy__wrapper .c-img-contents__contents .c-card {
  padding: calc(30/16*1rem) calc(20/16*1rem) 0 0;
}
.p-sub-message {
  margin-bottom: calc(80/16*1rem);
}
.p-sub-message__wrapper {
  margin-top: calc(40/16*1rem);
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto 1fr;
  grid-template-areas:
    "area1"
    "area2"
    "area3"
  ;
  gap: calc(40/16*1rem);
}
.p-sub-message__img {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: area1;
  text-align: center;
}
.p-sub-message__body01 {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: area2;
}
.p-sub-message__body02 {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
  grid-area: area3;
}
.p-sub-message__position {
  margin-block: calc(40/16*1rem) calc(15/16*1rem);
  font-size: calc(16/16*1rem);
  letter-spacing: 0.1em;
  line-height: calc(30/16);
}
.p-sub-message__lead {
  font-weight: bold;
  font-size: calc(22/16*1rem);
  letter-spacing: 0.03em;
  line-height: calc(40/22);
}
.p-sub-message__lead + .p-sub-message__group,
.p-sub-message__group + .p-sub-message__group {
  margin-top: calc(40/16*1rem);
}
.p-sub-message__txt {
  margin-top: calc(10/16*1rem);
  font-size: calc(16/16*1rem);
  line-height: calc(30/16);
}
/* PC */
@media screen and (min-width: 768px) {
  .p-sub-philosophy__wrapper.c-img-contents {
    padding-inline: 0;
  }
  .p-sub-philosophy__wrapper .c-img-contents__contents .c-card {
    padding: 3em 4em 0 0;
  }
  .p-sub-philosophy__wrapper::before{
    top: -27%;
    right: -14%;
    width: calc(382/16*1rem);
    height: calc(224/16*1rem);
  }
  .p-sub-message__wrapper {
    grid-template-columns: 1fr min(455px, calc(455/1120*100%));
    grid-template-rows: auto 1fr;
    gap: calc(60/16*1rem) min(95px, calc(95/1120*100%));
    grid-template-areas:
      "area2 area1"
      "area3 area3"
    ;
  }
  .p-sub-message__img {
    text-align: right;
  }
  .p-sub-message__img {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .p-sub-message__body01 {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-sub-message__body02 {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
  }
}

/*------------------------------------------
 *  会社概要・沿革ページ（overview）
 *------------------------------------------*/
.p-sub-overview__list {
  margin-top: calc(40/16*1rem);
  padding: calc(60/16*1rem) calc(20/16*1rem);
}
.p-sub-history {
  margin-top: calc(20/16*1rem);
}
.p-sub-history__list {
  margin-top: calc(10/16*1rem);
}
/* PC */
@media screen and (min-width: 768px) {
  .p-sub-overview__list {
    padding: calc(86/16*1rem) min(170px,calc(170/1920*100vw));
  }
  .p-sub-history__list {
    padding: min(72px,calc(72/1920*100vw));
  }
}

/*------------------------------------------
 *  事業所・グループ関連企業ページ（office）
 *------------------------------------------*/
.p-sub-related {
  margin-bottom: calc(80/16*1rem);
}
.p-sub-office a:not([href^="tel:"]),
.p-sub-group a:not([href^="tel:"]) {
  font-family: var(--font-family-base);
  font-weight: normal;
  text-decoration: underline;
  font-style: normal;
}
.p-sub-office__ttl,
.p-sub-group__ttl,
.p-sub-related__ttl {
  text-align: center;
}
.p-sub-office__main,
.p-sub-group__main,
.p-sub-related__main {
  margin-top: calc(60/16*1rem);
}
.p-sub-office__list01,
.p-sub-office__branch,
.p-sub-office__factory,
.p-sub-group__main {
  max-width: 480px;
  margin-inline: auto;
}
.p-sub-office__list01,
.p-sub-office__list02,
.p-sub-group__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: calc(32/16*1rem);
}
.p-sub-office__list-ttl {
  position: relative;
  display: block;
  padding-bottom: calc(15/16*1rem);
  font-weight: bold;
  font-size: calc(22/16*1rem);
  line-height: calc(30/22);
  background: var(--color-gra-blue);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.p-sub-office__list-ttl::after{
  content: '';
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: var(--color-gra-blue);
}
.p-sub-office__data,
.p-sub-group__data {
  margin-top: calc(20/16*1rem);
}
.p-sub-office__map {
  margin-top: calc(40/16*1rem);
  text-align: right;
}
.p-sub-office__map iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 1618/1000;
}
.p-sub-office__map a {
  display: inline-block;
  margin-top: calc(10/16*1rem);
  font-size: calc(18/16*1rem);
  line-height: calc(30/18);
}
.p-sub-office__branch {
  margin-top: calc(40/16*1rem);
}
.p-sub-office__factory {
  margin-top: calc(60/16*1rem);
}
.p-sub-related__txt {
  font-weight: 500;
  font-size: calc(18/16*1rem);
  line-height: calc(30/18);
  text-align: center;
}
/* PC */
@media screen and (min-width: 768px) {
  .p-sub-office__list01,
  .p-sub-office__branch,
  .p-sub-office__factory,
  .p-sub-group__main {
    max-width: inherit;
  }
  .p-sub-office__list01,
  .p-sub-group__list {
    grid-template-columns: 1fr 1fr;
  }
  .p-sub-office__list02 {
    grid-template-columns: 1fr 1fr 1fr;
  }
  .p-sub-office__map iframe {
    aspect-ratio: 1120/359;
  }
}
