@charset "utf-8";
/* CSS Document */

main .company-inner .anchor li {
  margin-bottom: 15px;
}
main .company-inner .anchor li.out:after,
main .company-inner .anchor li.p-link:after {
  transform: rotate(-45deg)!important;
}
main .company-inner .anchor li.out .disabled {
  pointer-events: none;
  opacity: 0.5;
}
main .company-inner h4 {
  padding-bottom: 0.4em;
  border-bottom: solid 3px #009990;
}
@media screen and (max-width: 767px) {
  main .company-inner h4 {
    border-bottom: solid 2px #009990;
  }
  main .company-inner .anchor li {
    width: 49.3%!important;
  }
}

main .company-inner .history-box,
main .company-inner .report-box,
main .company-inner .hozen-box {
  margin-bottom: 100px!important;
}
@media screen and (max-width: 767px) {
  main .company-inner .history-box,
  main .company-inner .report-box,
  main .company-inner .hozen-box {
    margin-bottom: 60px!important;
  }
}

main .company-inner .about-box .org-chart {
  margin-top: 60px;
}

main .company-inner .history-box .his-con .his-year {
  font-weight: bold!important;
}
main .company-inner .history-box .his-con:before,
main .company-inner .history-box:after {
  background: #80ccc7!important;
}
main .company-inner .report-box table {
  border-bottom: solid 2px;
  border-right: solid 2px;
  font-size: 15px;
  line-height: 1;
}
main .company-inner .report-box table th,
main .company-inner .report-box table td {
  padding: 0.75em 1.25em;
  text-align: left;
}
main .company-inner .report-box table.border-on th,
main .company-inner .report-box table.border-on td {
  border-top: solid 1px #a5a5a5;
  border-right: solid 1px #a5a5a5;  
}
main .company-inner .report-box table tr.ct-1 > :nth-child(1),
main .company-inner .report-box table tr.ct-2 > :nth-child(2),
main .company-inner .report-box table tr.ct-3 > :nth-child(3),
main .company-inner .report-box table tr.ct-4 > :nth-child(4) {
  text-align: center!important;
  vertical-align: middle;
}
main .company-inner .report-box table tr.rt-2 > :nth-child(2),
main .company-inner .report-box table tr.rt-3 > :nth-child(3),
main .company-inner .report-box table tr.rt-4 > :nth-child(4) {
  text-align: right!important;
}
main .company-inner .report-box table th {
  font-weight: bold;
}
main .company-inner .report-box table .b-w1-t {
  border-top: solid 1px #a5a5a5;
}
main .company-inner .report-box table .b-w2-l {
  border-left: solid 2px!important; 
}
main .company-inner .report-box table .b-w2-r {
  border-right: solid 2px!important; 
}
main .company-inner .report-box table .b-w2-t {
  border-top: solid 2px!important; 
}
main .company-inner .report-box table .b-w2-b {
  border-bottom: solid 2px!important; 
}
main .company-inner .report-box table .b-dot-t {
  border-top: dashed 1px #a5a5a5!important; 
}
main .company-inner .report-box table .b-dot-r {
  border-right: dashed 1px #a5a5a5!important; 
}
main .company-inner .report-box table .b-cl-t,
main .company-inner .report-box table .b-cl-l {
  border-top: none!important;
}
main .company-inner .report-box table .tc-gr {
  background-color: #e5e5e5;
}
main .company-inner .report-box table .tc-ol {
  background-color: #faebdc;
}
main .company-inner .report-box table caption {
  caption-side: top;
  margin-bottom: 1em;
  line-height: 1.4em;
}
main .company-inner .report-box table caption .cap-wrap {
  position: relative;
}
main .company-inner .report-box table caption .cap-center {
  text-align: center;
}
main .company-inner .report-box table caption .cap-center span {
  display: block;
}
main .company-inner .report-box table caption .cap-right {
  position: absolute;
  right: 0;
  bottom: 0;
}
main .company-inner .report-box h5 {
  padding: 4em 0 2em 1.25em;
  font-weight: bold;
  text-align: left;
}
main .company-inner .report-box h6 {
  margin-bottom: 2em;
  padding: 0.5em;
  background: #404040;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
main .company-inner .report-box h6:last-of-type {
  margin-top: 70px;
}

main .company-inner .report-box ol,
main .company-inner .csr-box ol {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: num;
}
main .company-inner .report-box ol > li,
main .company-inner .csr-box ol > li {
  counter-increment: num;
  margin-bottom: 1.5em;
  line-height: 1.7;
}
main .company-inner .report-box ol > li::before,
main .company-inner .csr-box ol > li::before {
  content: counter(num) "、";
  font-weight: 600;
  margin-right: 0.5em;
}
main .company-inner .report-box ol > li > strong,
main .company-inner .csr-box ol > li > strong {
  display: inline;
  font-weight: 600;
}
main .company-inner .report-box ol > li > p,
main .company-inner .csr-box ol > li > p {
  margin: 0.5em 0 0 2.5em;
}
@media screen and (max-width: 767px) {
  main .company-inner .report-box ol > li > p,
  main .company-inner .csr-box ol > li > p {
    margin: 0.5em 0 0 2em;
  }
}

main .company-inner .business-box {
  text-align: center;
}
main .company-inner .business-box h6 {
  margin-top: 80px;
  margin-bottom: 2em;
  padding: 0.5em;
  background: #009990;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 767px) {
  main .company-inner .business-box h6 {
    margin-top: 50px;
  }
}
main .company-inner .business-box h6:first-of-type {
  margin-top: 0;
}
main .company-inner .business-box h6 + p {
  word-break: keep-all;
}
main .company-inner .business-box ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 20px;
}
main .company-inner .business-box ul li {
  display: flex;
  flex-direction: column;
}
main .company-inner .business-box ul li .img img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}
main .company-inner .business-box ul li .name {
  margin-top: 1.2em;
  font-size: 1.1em;
  font-weight: bold;
  line-height: 1.4em;
}
main .company-inner .business-box ul li .addr {
  margin-top: 0.3em;
  line-height: 1.4em;
}
main .company-inner .business-box ul li .map {
  margin-top: 1.3em;
}
main .company-inner .business-box ul li .map a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.4em 1em 0.55em 1em;
  border: 1px solid #4bb;
  border-radius: 6px;
  font-size: 0.9em;
  font-weight: bold;
  text-decoration: none;
  position: relative;
}
main .company-inner .business-box ul li .map a:after {
    content: "";
    width: 6px;
    height: 6px;
    border: 0;
    border-bottom: solid 2px #009990;
    border-right: solid 2px #009990;
    transform: rotate(-45deg);
    position: absolute;
    top: 0;
    right: 3%;
    bottom: 0;
    margin: auto;
}

@media screen and (max-width: 767px) {
  main .company-inner .business-box ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 2vw;
  }
  main .company-inner .business-box ul li .img img {
    border-radius: 8px;
  }
  main .company-inner .business-box ul li .name {
    font-size: 1em;
    letter-spacing: 0;
  }
  main .company-inner .business-box ul li .addr {
    font-size: 0.9em;
    letter-spacing: 0;
  }
}



/* 表組 横スクロール */
@media screen and (max-width: 767px) {
  .table-container {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-mask-image: linear-gradient(to right, black 90%, transparent 100%);
    mask-image: linear-gradient(to right, black 90%, transparent 100%);
    padding-bottom: 15px;
  }
  .table-container table {
    width: 750px;
    margin-right: 7%;
    border-collapse: collapse;
    white-space: nowrap;
  }
  .table-container th,
  .table-container td {
    border: 1px solid #eee;
    padding: 12px;
    background: #fff;
  }
  .table-container::-webkit-scrollbar {
    height: 6px;
  }
  .table-container::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
  }
  .table-container::-webkit-scrollbar-thumb {
    background: linear-gradient(to right, #aaa, #777);
    border-radius: 10px;
  }
}