@charset "UTF-8";
/*------------------------------------------------------------
  margin-bottom / margin-top / padding-top / padding-bottom 計算
------------------------------------------------------------*/
/*------------------------------------------------------------
  タイトル ＋ テキスト ラインハイトが異なる部分の余白計算 計算
------------------------------------------------------------*/
/* 
それぞれ( )内にpxでの数値を入れるとrem, px, vw(pc版), vw(sp版) に変換 
*/
/* 
それぞれ( )内にpxでの数値を入れるとrem, px, vw(pc版), vw(sp版) に変換 
*/
@media screen and (max-width: 980px) {
  .single .header__bottom {
    display: none;
  }
}

.page {
  padding-top: 10rem;
  padding-bottom: 10rem;
}
@media screen and (max-width: 896px) {
  .page {
    padding-top: 3rem;
    padding-bottom: 6rem;
  }
}

.page__inner {
  width: 100%;
  max-width: 1400px;
  margin-inline: auto;
  padding-inline: 2rem;
}

.page__title-text {
  color: #646464;
  font-size: 3rem;
  line-height: 1;
  letter-spacing: 0.3em;
  font-weight: 300;
}
@media screen and (max-width: 896px) {
  .page__title-text {
    font-size: 2.4rem;
    line-height: 1.5;
  }
}

.company__content,
.page__content {
  width: 100%;
  max-width: 600px;
  margin-inline: auto;
  padding-top: 5rem;
}
@media screen and (max-width: 896px) {
  .company__content,
  .page__content {
    max-width: 537px;
  }
}

.company__wrap {
  display: grid;
  grid-template-columns: 136px auto;
  color: #646464;
  -webkit-column-gap: 3rem;
     -moz-column-gap: 3rem;
          column-gap: 3rem;
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 300;
}
@media screen and (max-width: 896px) {
  .company__wrap {
    font-size: 1.6rem;
    line-height: 2;
  }
}

.company__head {
  font-weight: 300;
  text-align: justify; /* 通常行の両端揃え              */
  -moz-text-align-last: justify;
       text-align-last: justify; /* 1 行しか無い場合も両端揃えに   */
  text-justify: inter-character;
}

.company__body {
  font-weight: 300;
}