@charset "utf-8";

/**
  service
**/
#service .sec_about .group {
  display: flex;
  justify-content: space-between;
}
#service .sec_about .group:not(:last-of-type) {
  margin-bottom: 60px;
}
#service .sec_about .group .txt {
  width: 540px;
}
#service .sec_about .group .txt p:not(:last-of-type) {
  margin-bottom: 1em;
}
#service .sec_about .group figure {
  width: 340px;
}
@media screen and (max-width: 1000px) {
  #service .sec_about .group .txt {
    width: 60%;
  }
  #service .sec_about .group figure {
    width: 35%;
  }
}
@media screen and (max-width: 539px) {
  #service .sec_about .group {
    flex-direction: column;
    align-items: center;
    row-gap: 1em;
  }
  #service .sec_about .group .txt {
    width: 100%;
  }
  #service .sec_about .group figure {
    width: 320px;
  }
}

/**
  works
**/
body.term-office .sec_mv {
  background: url('../images/works/office/mv_h400.jpg') no-repeat #333 right center / 800px 200px;
}

#works .sec_about .message {
  margin-bottom: 50px;
  padding-left: 80px;
}
#works .img1 {
  display: flex;
  /*justify-content: center;*/
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 25px;
  margin-bottom: 25px;
}
/*#works .img1 li img {
  width: 310px;
}*/
#works .img1 li a {
  display: block;
  width: 310px;
  height: 200px;
  height: 206px;
}
#works .img1 li:first-of-type a {
  background: url('../images/works/logistics02.jpg') no-repeat center / cover;
}
#works .img1 li:nth-of-type(2) a {
  background: url('../images/works/house02.jpg') no-repeat center / cover;
}
#works .img1 li:nth-of-type(3) a {
  background: url('../images/works/production02.jpg') no-repeat center / cover;
}
#works .img1 li:nth-of-type(4) a {
  background: url('../images/works/public02.jpg') no-repeat center / cover;
}
#works .img1 li:nth-of-type(5) a {
  background: url('../images/works/commerce02.jpg') no-repeat center / cover;
}
#works .img1 li:nth-of-type(6) a {
  background: url('../images/works/welfare02.jpg') no-repeat center / cover;
}
#works .img1 li:nth-of-type(7) a {
  background: url('../images/works/office02.jpg') no-repeat center / cover;
}

#works .img3 {
  display: flex;
  flex-wrap: wrap;
}
#works .img3 li a {
  display: block;
  height: 200px;
}
#works .img3 li:first-of-type a {
  width: 309px;
  background: url('../images/works/other01.jpg') no-repeat center / cover;
}
#works .img3 li:nth-of-type(2) a {
  width: 363px;
  background: url('../images/works/other02.jpg') no-repeat center / cover;
}
#works .img3 li:nth-of-type(3) a {
  width: 308px;
  background: url('../images/works/other03.jpg') no-repeat center / cover;
}

#works ul li a p {
  display: flex;
  justify-content: start;
  align-items: center;
  column-gap: 10px;
  padding: 0 20px 0 10px;
  width: fit-content;
  height: 32px;
  color: #fff;
  background: rgba(51,51,51,.6);
}
#works ul li a p span:first-of-type {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
}
#works ul li a p span:nth-of-type(2) {
  display: inline-block;
  width: 5em;
  font-size: 1rem;
  font-weight: 500;
  text-align-last: justify;
}
#works .img3 li:not(:first-of-type) a p {
  display: none;
}
@media screen and (max-width: 1000px) {
  #works .img1 {
    justify-content: center;
  }
  #works .img3 {
    justify-content: center;
    gap: 25px;
  }

  #works .img3 li:first-of-type a,
  #works .img3 li:nth-of-type(2) a,
  #works .img3 li:nth-of-type(3) a {
    width: 310px;
  }
  #works .img3 li:not(:first-of-type) a p {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  #works .sec_about .message {
    padding-left: 1em;
  }
  #works .img1 {
    justify-content: center;
    gap: 25px 10px;
  }
  #works .img1 li a {
    width: calc((100vw - 30px) / 2);
    height: 100%;
    aspect-ratio: 31 / 20;
  }
  #works .img3 {
    gap: 0;
  }
  #works .img3 li:first-of-type a,
  #works .img3 li:nth-of-type(2) a,
  #works .img3 li:nth-of-type(3) a {
    width: calc((100vw - 20px) / 3);
    height: 100%;
    aspect-ratio: 31 / 20;
  }
  #works .img3 li:not(:first-of-type) a p {
    display: none;
  }
}
@media screen and (max-width: 539px) {
  #works .sec_about .message {
    padding-left: unset;
  }
  #works ul li a p {
    padding: 0 10px;
  }
  #works ul li a p span:first-of-type {
    font-size: 1.4rem;
  }
  #works ul li a p span:nth-of-type(2) {
    display: none;
  }
}


/**
  company
**/
/*#company .map_area {
  margin: 3em 0;
}*/
#company .sec_about {
  margin-bottom: 60px;
}
#company .sec_about .group {
  display: flex;
  justify-content: space-between;
  align-items: start;
}
#company .sec_about .group:not(:last-of-type) {
  margin-bottom: 60px;
}
#company .sec_about .group .info {
  width: 540px;
}
#company .sec_about .group .info th {
  width: 25%;
  font-weight: 400;
  text-align: left;
}
#company .sec_about .group .info th,
#company .sec_about .group .info td {
  padding: .5em 1em;
  border-bottom: 1px dotted var(--color-gray);
  vertical-align: top;
}
#company .sec_about .group .info td span {
  display: inline-block;
}
#company .sec_about .group .info .officer td span {
  margin-right: 1em;
  width: 7em;
}
#company .sec_about .group iframe {
  width: 340px;
  height: 360px;
}

#company .sec_history {
  margin-bottom: 60px;
}
#company .sec_history table {
  width: 100%;
}
#company .sec_history table th {
  /*width: 20%;*/
  width: 140px;
  font-weight: 400;
  text-align: left;
}
#company .sec_history table th,
#company .sec_history table td {
  padding: .5em 1em;
}

#company .sec_award dl {
  width: fit-content;
}
#company .sec_award dl div {
  padding: 0 1em .5em;
  border-bottom: 1px dotted var(--color-gray);
}
#company .sec_award dl div:not(:last-of-type) {
  margin-bottom: .5em;
}
#company .sec_award dl dt {
  font-weight: 500;
}
#company .sec_award dl dd {
  padding-left: 1em;
}
#company .sec_award dl dd:not(:last-of-type) {
  margin-bottom: .2em;
}
@media screen and (max-width: 1000px) {
  #company .sec_about .group .info {
    width: 60%;
  }
  #company .sec_about .group iframe {
    width: 35%;
  }
}
@media screen and (max-width: 767px) {
  #company .sec_about .group {
    flex-direction: column;
    align-items: center;
    row-gap: 1em;
  }
  #company .sec_about .group .info {
    width: 100%;
  }
  #company .sec_about .group iframe {
    width: 320px;
  }
  #company .sec_history table th {
    width: 25%;
  }
}
@media screen and (max-width: 539px) {
  #company th,
  #company td {
    display: block;
    width: 100%;
  }
  #company th {
    border: unset;
  }
  #company .sec_about .group .info th,
  #company .sec_about .group .info td,
  #company .sec_history table th,
  #company .sec_history table td {
    display: block;
    width: 100%;
  }
  #company .sec_about .group .info th,
  #company .sec_history table th {
    padding-bottom: 0;
    border: unset;
  }
  #company .sec_about .group .info td,
  #company .sec_history table td {
    padding-top: 0;
  }

  #company .sec_award dl dd:not(:last-of-type) {
    margin-bottom: .8em;
  }
}

/**
  Contact
**/
#contact .sec_tel {
  margin-bottom: 60px;
}
#contact .sec_tel .telnum a {
  font-size: 2rem;
  font-weight: 500;
  color: var(--color-red);
  letter-spacing: .1em;
}
#contact .wpcf7 table {
  margin: 0 auto 50px;
  width: min(760px, 100%);
}
#contact .wpcf7 table caption span,
#contact .wpcf7 table th span {
  color: var(--color-red);
  font-weight: 700;
}
#contact .wpcf7 table caption {
  text-align: right;
}
#contact .wpcf7 table th {
  width: 25%;
  text-align: left;
  font-weight: 400;
  vertical-align: top;
}
#contact .wpcf7 table th,
#contact .wpcf7 table td {
  padding: .5em 1em;
  border-bottom: 1px dotted var(--color-gray);
}
#contact .wpcf7 table td input {
  width: 60%;
}
#contact  .wpcf7 table input.your-zip1 {
  width: 4em;
}
#contact  .wpcf7 table input.your-zip2 {
  width: 5em;
}
#contact .wpcf7 table td textarea {
  width: 100%;
}

#contact .sec_mail .message {
  margin: 0 auto 50px;
  width: min(760px, 100%);
}
#contact .sec_mail .message p {
  margin-bottom: 1em;
}
#contact .sec_mail .accept {
  margin-bottom: 1em;
}
#contact .sec_mail .accept dl {
  margin-bottom: 2em;
}
#contact .sec_mail .accept dl dd:not(:last-of-type) {
  margin-bottom: 1em;
}
#contact .sec_mail .accept p.acceptance {
  margin: 0 auto 1em;
  width: fit-content;
}
#contact .sec_mail .accept p.acceptance .wpcf7-list-item {
  display: block;
  padding: .5em 0;
  text-align: center;
}
#contact .sec_mail p.submit {
  position: relative;
  text-align: center;
}
#contact .sec_mail p.submit input[type="submit"] {
  padding: .1em 2em;
  border-radius: 3px;
}
#contact .sec_mail p.submit input[type="submit"]:not(:disabled) {
  border: 1px solid var(--color-red);
  color: #fff;
  background: var(--color-red);
}
#contact .sec_mail p.submit .wpcf7-spinner {
  position: absolute;
}

@media screen and (max-width: 539px) {
  #contact .wpcf7 table th,
  #contact .wpcf7 table td {
    display: block;
    width: 100%;
  }
  #contact .wpcf7 table th {
    padding-bottom: 0;
    border: unset;
  }
  #contact .wpcf7 table td {
    padding-top: 0;
  }
}

/**
  sitemap
**/
#sitemap .sec_sitemap ul {
  width: min(420px, 100%);
}
#sitemap .sec_sitemap ul li {
  margin: 0 0 1em;
  font-size: 1.6rem;
  font-weight: 500;
}
#sitemap .sec_sitemap ul li ul {
  column-count: 2;
}
#sitemap .sec_sitemap ul li ul li {
  margin: 0 0 0 1em;
  margin: 0 0 0 1.5em;
  font-size: 1.4rem;
  font-weight: 400;
  list-style: disc;
}


/**
  privacy-policy
**/
/*#privacy-policy .group {
  margin-bottom: 60px;
}*/
#privacy-policy .group:not(:last-of-type) {
  margin-bottom: 60px;
}
#privacy-policy .group p {
  margin-bottom: 1em;
}
#privacy-policy .group ul {
  margin-left: 1.5em;
  list-style: disc;
}
#privacy-policy a {
  border-bottom: 1px dotted var(--color-gray);
}
#privacy-policy .contact p span {
  display: inline-block;
}

