/* Company Content */
.sec-company {
  position: relative;
  padding: 75px 0 105px 0;
}

.sec-company::after {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 86%;
  height: 328px;
  background-color: #e2e8eb;
  content: "";
}

.sec-company .company-content {
  display: flex;
  align-items: flex-start;
}

.sec-company .side-bar {
  position: sticky;
  position: -webkit-sticky;
  top: 75px;
  width: 209px;
  padding-top: 13px;
}

.sec-company .side-bar li {
  position: relative;
  margin-bottom: 38px;
}

.sec-company .side-bar li:last-child {
  margin-bottom: 0;
}

.sec-company .side-bar li::before,
.sec-company .side-bar li::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
}

.sec-company .side-bar li::before {
  z-index: 1;
  width: 13px;
  height: 2px;
  background-color: #34343a;
}

.sec-company .side-bar li::after {
  width: 100%;
  height: 1px;
  background-color: #afafb7;
}

.sec-company .side-bar li a {
  padding-bottom: 20px;
  color: #282a2b;
  font-weight: 500;
  letter-spacing: 3px;
}

@media (hover: hover) and (pointer: fine) {
  .sec-company .side-bar li a:hover {
    color: #7cbe41;
  }
}

.sec-company .main-blk {
  width: 919px;
  margin-left: 40px;
}

.sec-company .profile-list {
  margin: 55px 0 6px;
}

.sec-company .profile-list dl {
  display: flex;
  line-height: 1.75;
  padding: 18px 0 21px 33px;
  letter-spacing: 1px;
}

.sec-company .profile-list dl:nth-child(odd) {
  background-color: #e2e8eb;
}

.sec-company .profile-list dl dt {
  width: 189px;
}

.sec-company .profile-list dl dd {
  width: 697px;
}

.sec-company .profile-list dl dd a {
  color: #34343b;
  pointer-events: none;
}

.sec-company .profile-list .detail-btn {
  position: relative;
  padding-right: 33px;
  color: #7cbe41;
  font-weight: 500;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.sec-company .profile-list .detail-btn::after {
  position: absolute;
  top: 50%;
  right: 0;
  width: 15px;
  height: 9px;
  background: url("../img/company/ico_up_arr.png") no-repeat center/contain;
  content: "";
  transform: translateY(-50%);
}

.sec-company .profile-list .detail-btn.open::after {
  background: url("../img/company/ico_down_arr.png") no-repeat center/contain;
}

.sec-company .detail-content {
  margin-top: 16px;
  border-right: 1px solid #e2e8eb;
  border-left: 1px solid #e2e8eb;
}

.sec-company .detail-content dl {
  padding: 13px 13px 12.5px 15px;
  font-size: 14px;
  letter-spacing: 0.8px;
}

.sec-company .detail-content dl dt {
  width: 384px;
}

.sec-company .detail-content dl dd {
  width: 285px;
}

.sec-company .profile-history {
  display: flex;
  padding: 0 30px 15px 32px;
  background-color: #e2e8eb;
}

.sec-company .profile-ttl {
  width: 190px;
  padding-top: 26px;
  letter-spacing: 1px;
}

.sec-company .history-list {
  width: 660px;
}

.sec-company .history-list ul li {
  display: flex;
  padding: 19px 0 17px;
  border-bottom: 1px solid #ffffff;
}

.sec-company .history-list ul li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.sec-company .history-list ul li span {
  width: 148px;
  line-height: 1.7;
  letter-spacing: 1px;
}

.sec-company .history-list ul li .history-txt {
  line-height: 2;
  font-size: 14px;
  letter-spacing: 0.9px;
}

.sec-company .profile-map {
  display: flex;
  padding: 26px 0 95px 33px;
}

.sec-company .profile-map .profile-ttl {
  padding-top: 0;
}

.sec-company .map {
  width: 697px;
}

.sec-company .map iframe {
  width: 100%;
  height: 387px;
}

.sec-company .message {
  padding-right: 90px;
}

.sec-company .message-txt {
  line-height: 2.13;
  margin: 40px 0;
  letter-spacing: 1px;
}

.sec-company .message-txt .highlight {
  display: block;
  line-height: 1.9;
  margin-bottom: 33px;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 1.1px;
}

.sec-company .name {
  line-height: 1.5;
  font-size: 14px;
  text-align: right;
  letter-spacing: 1px;
}

.sec-company .sign {
  width: 225px;
  margin-top: 10px;
  margin-left: auto;
}

.sec-company .csr-desc {
  width: 74.5%;
  margin-top: 70px;
  margin-left: auto;
  padding: 58px 0 51px;
  background: url("../img/company/img_csr_bg.jpg") no-repeat center/cover;
}

.sec-company .csr-blk {
  width: 868px;
  margin-left: 50px;
}

.sec-company .csr-ttl {
  position: relative;
  padding-left: 33px;
  color: #ffffff;
  font-family: "Shippori Mincho", serif;
  font-size: 32px;
  font-weight: 600;
  letter-spacing: 2px;
}

.sec-company .csr-ttl::before {
  position: absolute;
  top: 7px;
  left: 0;
  width: 20px;
  height: 20px;
  background: url("../img/common/ico_leave.png") no-repeat center/contain;
  content: "";
}

.sec-company .csr-txt {
  position: relative;
  line-height: 2;
  margin-top: 25px;
  margin-left: 45px;
  padding: 16px 0 16px 29px;
  color: #d5d5d5;
  letter-spacing: 1px;
}

.sec-company .csr-txt::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background-color: #707070;
  content: "";
}

.sec-company .csr-desc .btn-white {
  display: block;
  margin-left: auto;
}

/* Ipad
-----------------------------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1280px) {

  /* Company Content */
  .sec-company {
    padding: 5.859vw 0 8.203vw 0;
  }

  .sec-company::after {
    height: 25.625vw;
  }

  .sec-company .side-bar {
    top: 5.859vw;
    width: 16.328vw;
    padding-top: 1.016vw;
  }

  .sec-company .side-bar li {
    margin-bottom: 2.969vw;
  }

  .sec-company .side-bar li::before {
    width: 1.016vw;
    height: 0.156vw;
  }

  .sec-company .side-bar li::after {
    height: 0.13vw;
  }

  .sec-company .side-bar li a {
    padding-bottom: 1.563vw;
    letter-spacing: 0.234vw;
  }

  .sec-company .main-blk {
    width: 71.797vw;
    margin-left: 3.125vw;
  }

  .sec-company .profile-list {
    margin: 4.297vw 0 0.469vw;
  }

  .sec-company .profile-list dl {
    padding: 1.406vw 0 1.641vw 2.578vw;
    letter-spacing: 0.078vw;
  }

  .sec-company .profile-list dl dt {
    width: 14.766vw;
  }

  .sec-company .profile-list dl dd {
    width: 54.453vw;
  }

  .sec-company .profile-list dl dd a {
    pointer-events: auto;
  }

  .sec-company .profile-list .detail-btn {
    padding-right: 2.578vw;
  }

  .sec-company .profile-list .detail-btn::after {
    width: 1.172vw;
    height: 0.703vw;
  }

  .sec-company .detail-content {
    margin-top: 1.25vw;
    border-right: 0.13vw solid #e2e8eb;
    border-left: 0.13vw solid #e2e8eb;
  }

  .sec-company .detail-content dl {
    padding: 1.016vw 1.016vw 0.977vw 1.172vw;
    font-size: 1.094vw;
    letter-spacing: 0.063vw;
  }

  .sec-company .detail-content dl dt {
    width: 30vw;
  }

  .sec-company .detail-content dl dd {
    width: 22.266vw;
  }

  .sec-company .profile-history {
    padding: 0 2.344vw 1.172vw 2.5vw;
  }

  .sec-company .profile-ttl {
    width: 14.844vw;
    padding-top: 2.031vw;
    letter-spacing: 0.078vw;
  }

  .sec-company .history-list {
    width: 51.563vw;
  }

  .sec-company .history-list ul li {
    padding: 1.484vw 0 1.328vw;
    border-bottom: 0.13vw solid #ffffff;
  }

  .sec-company .history-list ul li span {
    width: 11.563vw;
    letter-spacing: 0.078vw;
  }

  .sec-company .history-list ul li .history-txt {
    font-size: 1.094vw;
    letter-spacing: 0.07vw;
  }

  .sec-company .profile-map {
    padding: 2.031vw 0 7.422vw 2.578vw;
  }

  .sec-company .map {
    width: 54.453vw;
  }

  .sec-company .map iframe {
    height: 30.234vw;
  }

  .sec-company .message {
    padding-right: 7.031vw;
  }

  .sec-company .message-txt {
    margin: 3.125vw 0;
    letter-spacing: 0.078vw;
  }

  .sec-company .message-txt .highlight {
    margin-bottom: 2.578vw;
    font-size: 1.406vw;
    letter-spacing: 0.086vw;
  }

  .sec-company .name {
    font-size: 1.094vw;
    letter-spacing: 0.078vw;
  }

  .sec-company .sign {
    width: 17.578vw;
    margin-top: 0.781vw;
  }

  .sec-company .csr-desc {
    margin-top: 5.469vw;
    padding: 4.531vw 0 3.984vw;
  }

  .sec-company .csr-blk {
    width: 67.813vw;
    margin-left: 3.906vw;
  }

  .sec-company .csr-ttl {
    padding-left: 2.578vw;
    font-size: 2.5vw;
    letter-spacing: 0.156vw;
  }

  .sec-company .csr-ttl::before {
    top: 0.547vw;
    width: 1.563vw;
    height: 1.563vw;
  }

  .sec-company .csr-txt {
    margin-top: 1.953vw;
    margin-left: 3.516vw;
    padding: 1.25vw 0 1.25vw 2.266vw;
    letter-spacing: 0.078vw;
  }

  .sec-company .csr-txt::before {
    width: 0.13vw;
  }

}

/* SP
-----------------------------------------------------------------*/
@media only screen and (max-width: 767.9px) {

  .sec-company {
    padding: 11.705vw 0 17.048vw 0;
  }

  .sec-company::after {
    width: 96%;
    height: 83.461vw;
  }

  .sec-company .company-content {
    display: block;
  }

  .sec-company .side-bar {
    position: unset;
    width: 100%;
    margin-bottom: 18.066vw;
    padding: 0 5.852vw;
  }

  .sec-company .side-bar li {
    margin-bottom: 11.196vw;
  }

  .sec-company .side-bar li::before {
    width: 3.308vw;
    height: 0.509vw;
  }

  .sec-company .side-bar li::after {
    height: 0.296vw;
  }

  .sec-company .side-bar li a {
    padding-bottom: 5.089vw;
    letter-spacing: 0.763vw;
  }

  .sec-company .main-blk {
    width: 100%;
    margin-left: 0;
  }

  .sec-company .profile-list {
    margin: 10.187vw 0 1.527vw;
  }

  .sec-company .profile-list dl {
    display: block;
    padding: 4.326vw 0 4.58vw 5.598vw;
    letter-spacing: 0.254vw;
  }

  .sec-company .profile-list dl dt {
    width: 100%;
    margin-bottom: 2.036vw;
    font-weight: 700;
  }

  .sec-company .profile-list dl dd {
    width: 100%;
  }

  .sec-company .profile-list dl dd a {
    pointer-events: auto;
  }

  .sec-company .profile-list .detail-btn {
    padding-right: 8.397vw;
  }

  .sec-company .profile-list .detail-btn::after {
    width: 3.817vw;
    height: 2.29vw;
  }

  .sec-company .detail-content {
    margin-top: 4.326vw;
    border-right: 0.296vw solid #e2e8eb;
    border-left: 0.296vw solid #e2e8eb;
  }

  .sec-company .detail-content dl {
    padding: 4.835vw 5.344vw 4.835vw 5.344vw;
    font-size: 3.562vw;
    letter-spacing: 0.204vw;
  }

  .sec-company .detail-content dl dt {
    width: 100%;
    margin-bottom: 2.545vw;
  }

  .sec-company .detail-content dl dd {
    width: 100%;
  }

  .sec-company .profile-history {
    display: block;
    padding: 5.852vw 5.852vw 3.817vw 5.852vw;
  }

  .sec-company .profile-ttl {
    width: 100%;
    padding-top: 0;
    font-weight: 700;
    letter-spacing: 0.254vw;
  }

  .sec-company .history-list {
    width: 100%;
  }

  .sec-company .history-list ul li {
    display: block;
    padding: 3.817vw 0;
    border-bottom: 0.296vw solid #ffffff;
  }

  .sec-company .history-list ul li .history-txt {
    width: 100%;
    letter-spacing: 0.254vw;
  }

  .sec-company .history-list ul li p {
    line-height: 1.77;
    font-size: 4.071vw;
    letter-spacing: 0.254vw;
  }

  .sec-company .profile-map {
    display: block;
    padding: 5.598vw 0 14.249vw 0;
  }

  .sec-company .profile-map .profile-ttl {
    margin-bottom: 2.545vw;
    padding-top: 0;
    padding-left: 5.852vw;
    letter-spacing: 0.254vw;
  }

  .sec-company .map {
    width: 100%;
  }

  .sec-company .map iframe {
    height: 81.679vw;
  }

  .sec-company .message {
    padding-right: 0;
  }

  .sec-company .message-txt {
    line-height: 1.75;
    margin: 5.426vw 0 7.834vw;
    letter-spacing: 0;
  }

  .sec-company .message-txt .highlight {
    line-height: 1.65;
    margin-bottom: 3.817vw;
    font-size: 4.58vw;
    letter-spacing: 0.28vw;
  }

  .sec-company .name {
    font-size: 3.562vw;
    letter-spacing: 0.254vw;
  }

  .sec-company .sign {
    width: 57.252vw;
    margin-top: 2.436vw;
  }

  .sec-company .csr-desc {
    width: 96%;
    margin-top: 10.133vw;
    padding: 12.214vw 0 9.924vw;
    background: url("../img/company/img_csr_bg_sp.jpg") no-repeat center/cover;
  }

  .sec-company .csr-blk {
    width: 100%;
    margin-left: 0;
  }

  .sec-company .csr-ttl {
    padding-left: 12.468vw;
    font-size: 6.616vw;
    letter-spacing: 0.509vw;
  }

  .sec-company .csr-ttl::before {
    top: 0.254vw;
    left: 4.835vw;
    width: 5.089vw;
    height: 5.089vw;
  }

  .sec-company .csr-txt {
    margin-top: 4.58vw;
    margin-left: 6.87vw;
    padding: 0 6.87vw 8.142vw 5.598vw;
    letter-spacing: 0.254vw;
  }

  .sec-company .csr-txt::before {
    width: 0.296vw;
    height: 88%;
  }

  .sec-company .csr-desc .btn-white {
    margin: 0 auto;
  }
}