/*-------------------------------
---.intro
-------------------------------*/

.intro .signature {
  font-weight: 500;
  text-align: right;
  margin-top: 2rem;
}

.intro .signature span {
  font-size: var(--font-size-xxl);
  margin-left: 1rem;
}

.intro .logo_iiie-jp {
  width: 15rem;
}


/*-------------------------------
---article
-------------------------------*/

article:not(:last-child) {
  margin-bottom: 9rem;
}

article .article_title {
  font-size: var(--font-size-xxl);
  font-weight: 500;
  margin-bottom: 3rem;
}

article .article_title::after {
  margin-top: .5rem;
}

article table {
  width: 100%;
}

article table tr {
  border-bottom: 1px solid #AFAFAF;
}

article table tr:nth-child(even){
  background-color: #F5F5F5;
}

article table th {
  text-align: left;
  white-space: nowrap;
  padding: 1.5rem 6rem;
}

article table td {
  padding: 1.5rem 1.5rem 1.5rem 0;
}

.access .contents .office_name::before,
article .contents dt::before,
.company_qualification li::before,
.join_member .contents li::before {
  content: '\025a0';
  color: #808080;
  margin-right: .5em;
}


/*-------------------------------
---.company_overview
-------------------------------*/

.company_overview .article_title {
  margin-bottom: 6rem;
}

.company_overview .address th br {
  display: none;
}

.company_overview .address address p,
.company_overview .address address .contact_num,
.company_overview .address address .contact_num .office_tel {
  display: inline-block;
  width: fit-content;
  width: -moz-fit-content;
}

.company_overview .address address p {
  margin-right: 1em;
}

.company_overview .address address .contact_num .office_tel {
  display: inline-block;
  margin-right: .5em;
}

.company_overview .address address .contact_num .office_fax {
  display: inline-block;
}

.company_overview .business_detail li {
  display: inline-block;
}

.company_overview .business_detail li:not(:last-child)::after {
  content: '\03001';
}

.company_overview .join_organization ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(auto,20em));
  grid-gap: .2em 6rem;
}

.company_overview .join_organization ul li::before {
  content: '\03007';
}

.company_overview .office_name span {
  display: inline-block;
}


/*-------------------------------
---.access
-------------------------------*/

.access .contents li {
  display: grid;
  grid-template-columns: 15em 1fr;
  margin-bottom: 3rem;
}

.access .contents address,
.access .contents address p,
.access .contents address .contact_num,
.access .contents address .contact_num .office_tel {
  display: inline-block;
  width: fit-content;
  width: -moz-fit-content;
}

.access .contents address p {
  margin-right: 1em;
}
.access .contents address .contact_num .office_tel {
  margin-right: .5em;
}


/*-------------------------------
---.business_items
-------------------------------*/

.business_items .contents {
  display: grid;
  grid-template-columns: repeat(2, minmax(auto,max-content));
  grid-gap: 6rem;
}

.business_items .contents dl {
  display: grid;
  grid-template-columns: 7em 1fr;
  grid-gap: 3rem;
}

.business_items .contents dt {
  font-weight: 500;
}


/*-------------------------------
---.business_area
-------------------------------*/

.business_area .contents dl {
  display: grid;
  grid-template-columns: 8em 1fr;
  grid-gap: 3rem;
}

.business_area .contents dl:not(first-of-type) {
  margin-top: 1.5rem;
}

.business_area .contents dl:last-of-type {
  margin-bottom: 3rem;
}

.business_area .contents li {
  display: inline-block;
  margin-right: 1em;
}

/* .business_area .contents li + li {
  margin-right: 1em;
} */

.business_area .contents .image {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 3rem;
}


/*-------------------------------
---.company_qualification
-------------------------------*/

.company_qualification .contents {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(auto,30em));
  grid-gap: .2em 6rem;
}


/*-------------------------------
---.qualification_person
-------------------------------*/

.qualification_person .contents {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-gap: .2em 6rem;
}

.qualification_person .contents li {
  width: fit-content;
  width: -moz-fit-content;
}

.qualification_person .contents li dl {
  display: grid;
  grid-template-columns: repeat(2, auto);
  grid-gap: 1em;
}


/*-------------------------------
---.join_member
-------------------------------*/

.join_member .contents {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(auto,22em));
  grid-gap: .2em 6rem;
}


/*-------------------------------
---.to_recruit
-------------------------------*/

main + .to_recruit {
  margin-top: 12rem;
  margin-bottom: 12rem;
}


/*-------------------------------
---.sales_trend
-------------------------------*/

.sales_trend table.contents {
  table-layout: fixed;
}


/*-------------------------------
---.company_pager
-------------------------------*/

.company_pager {
  justify-content: end;
}

.company_pager::before{
  display: none;
}