:root {
  --vw: 1vw;
}


/* ---------------------------------------------------------
#sec-about
----------------------------------------------------------*/
#sec-about .wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: min(1.04 * var(--vw), 20px);
  margin-top: min(3.12 * var(--vw), 60px);
}
@media screen and (max-width: 768px) {
  #sec-about .wrapper {
    display: block;
    gap: 0;
    margin-top: calc(8 * var(--vw));
  }
}
#sec-about .wrapper .left-col {
  width: min(31.25 * var(--vw), 600px);
}
@media screen and (max-width: 768px) {
  #sec-about .wrapper .left-col {
    width: 100%;
  }
}
#sec-about .wrapper .pic {
  width: min(31.25 * var(--vw), 600px);
  border-radius: min(1.04 * var(--vw), 20px);
  overflow: hidden;
  margin-left: min(1.04 * var(--vw), 20px);
}
@media screen and (max-width: 768px) {
  #sec-about .wrapper .pic {
    width: 100%;
    border-radius: calc(5.33 * var(--vw));
    margin-top: calc(5.33 * var(--vw));
    margin-left: 0;
  }
}

#company {
  margin-top: calc(min(9.47 * var(--vw), 182px) * -1);
  padding-top: min(12.6 * var(--vw), 242px);
}
@media screen and (max-width: 768px) {
  #company {
    margin-top: calc(-14.4 * var(--vw));
    padding-top: calc(25.06 * var(--vw));
  }
}

#sec-general th,
#sec-specific th,
#sec-imm th {
  white-space: nowrap;
}
#sec-general .btn,
#sec-specific .btn,
#sec-imm .btn {
  margin-top: min(3.12 * var(--vw), 60px);
}
#sec-general .btn a,
#sec-specific .btn a,
#sec-imm .btn a {
  position: relative;
  display: inline-flex;
  justify-content: center;
  font-size: min(1.35 * var(--vw), 26px);
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  background-color: #00B13F;
  text-decoration: none;
  padding: min(0.93 * var(--vw), 18px) min(7.29 * var(--vw), 140px) min(0.93 * var(--vw), 18px) min(4.68 * var(--vw), 90px);
  border-radius: 100px;
}
@media screen and (max-width: 768px) {
  #sec-general .btn a,
  #sec-specific .btn a,
  #sec-imm .btn a {
    font-size: calc(4.26 * var(--vw));
    font-weight: 700;
    padding: calc(3.73 * var(--vw)) calc(16 * var(--vw)) calc(3.73 * var(--vw)) calc(6.93 * var(--vw));
  }
}
#sec-general .btn a::before, #sec-general .btn a::after,
#sec-specific .btn a::before,
#sec-specific .btn a::after,
#sec-imm .btn a::before,
#sec-imm .btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: min(0.67 * var(--vw), 13px);
  width: min(2.5 * var(--vw), 48px);
  aspect-ratio: 1/1;
  background-color: #fff;
  border-radius: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  #sec-general .btn a::before, #sec-general .btn a::after,
  #sec-specific .btn a::before,
  #sec-specific .btn a::after,
  #sec-imm .btn a::before,
  #sec-imm .btn a::after {
    right: calc(2.66 * var(--vw));
    width: calc(8 * var(--vw));
  }
}
#sec-general .btn a::after,
#sec-specific .btn a::after,
#sec-imm .btn a::after {
  background: url("/assets/img/common/icon_dot_arrow_green.png") no-repeat center;
  background-size: 50% auto;
}
