/* ------------------------------------------------------------
// index
------------------------------------------------------------ */
.main-img {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: calc(100vh - 100px);
  margin-bottom: 260px;
  background: url(../images/index/main-img.png) no-repeat center center/cover;
}
.main-img .main-img-txt {
  padding: 0 20px;
}
.main-img .main-img-txt img {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .main-img {
    height: calc(80vh - 100px);
    margin-bottom: 120px;
  }
  .main-img .main-img-txt {
    padding: 0 20px;
  }
}

.business-bg {
  background: linear-gradient(to right, #ffffff 50%, #f0fcff 50%);
}
.business-bg .business-wrap {
  background: url(../images/index/business-bg-img.png) repeat-y center center;
}
.business-bg .business-wrap .business-box {
  display: flex;
  gap: 40px;
}
.business-bg .business-wrap .business-box .business-img {
  width: 50%;
  margin-top: -100px;
}
.business-bg .business-wrap .business-box .box {
  width: 580px;
  margin-top: -50px;
  padding-bottom: 120px;
}
.business-bg .business-wrap .business-box .box .link-btn {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .business-bg .business-wrap .business-box .business-img {
    display: none;
  }
  .business-bg .business-wrap .business-box .box {
    width: 100%;
    padding-bottom: 60px;
  }
  .business-bg .business-wrap .business-box .box .link-btn {
    margin-top: 40px;
  }
}
@media print {
  .business-bg .business-wrap .business-box .business-img {
    margin-top: 20px;
  }
  .business-bg .business-wrap .business-box .box {
    margin-top: 60px;
  }
}

.company-wrap {
  background: #f0fcff;
}
.company-wrap .content-subttl {
  margin-top: 100px;
}
.company-wrap .company-box {
  display: flex;
  gap: 40px;
  margin-bottom: 100px;
}
.company-wrap .company-box .box {
  width: calc(50% - 10px);
}
.company-wrap .company-box table tr th,
.company-wrap .company-box table tr td {
  padding: 10px;
  border-bottom: 5px solid #f0fcff;
}
.company-wrap .company-box table tr th {
  color: #ffffff;
  text-align: center;
  width: 130px;
  background: #92beee;
}
.company-wrap .company-box table tr td .address:first-child {
  margin-bottom: 0.8em;
}
.company-wrap .company-box table tr td .address::first-letter {
  margin-left: -0.5em;
}
.company-wrap .company-box table tr td .permission::first-letter {
  margin-left: -0.5em;
}
.company-wrap .company-box .access .access-ttl {
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  padding-bottom: 8px;
}
@media print, screen and (max-width: 991px) {
  .company-wrap .company-box {
    flex-direction: column;
  }
  .company-wrap .company-box .box {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .company-wrap .company-box table tr th,
  .company-wrap .company-box table tr td {
    display: block;
    width: 100%;
    padding: 10px 0;
    border-bottom: 5px solid #f0fcff;
  }
  .company-wrap .company-box .access .access-ttl {
    font-size: 16px;
    padding: 2px 0 8px;
  }
}

.contact-wrap {
  text-align: center;
  margin-top: 60px;
  padding: 120px 0;
  background: url(../images/index/contact-bg-img.png) no-repeat center center/cover;
}
.contact-wrap .contact-ttl {
  margin-bottom: 30px;
}
.contact-wrap .contact-ttl .min-txt {
  font-size: 20px;
  font-weight: 500;
  color: #ffffff;
  line-height: 1;
  margin-bottom: 15px;
}
.contact-wrap .contact-ttl .main-txt {
  font-size: 100px;
  font-weight: 500;
  color: #ffffff;
  line-height: 1;
}
@media print, screen and (max-width: 767px) {
  .contact-wrap .contact-ttl .min-txt {
    font-size: 15px;
    color: #cccccc;
    margin-top: 10px;
  }
  .contact-wrap .contact-ttl .main-txt {
    font-size: 54px;
  }
}
.contact-wrap .txt {
  font-size: 16px;
  color: #ffffff;
  margin-top: 20px;
}
.contact-wrap .tel-mail {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 40px;
  margin: 30px 0 0;
}
.contact-wrap .tel-mail .tel {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 0 5px;
  color: #ffffff;
  max-width: 445px;
}
.contact-wrap .tel-mail .tel .call-1 {
  display: flex;
  align-items: baseline;
  gap: 5px;
  font-size: 20px;
  line-height: 1;
}
.contact-wrap .tel-mail .tel .call-1 span,
.contact-wrap .tel-mail .tel .call-1 a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 50px;
  font-weight: 700;
  color: #ffffff;
}
.contact-wrap .tel-mail .tel .call-1 span:hover,
.contact-wrap .tel-mail .tel .call-1 a:hover {
  color: #ffffff;
}
.contact-wrap .tel-mail .tel .call-2 {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 5px;
  font-size: 16px;
}
.contact-wrap .tel-mail .tel .call-2 span,
.contact-wrap .tel-mail .tel .call-2 a {
  display: flex;
  align-items: center;
  font-size: 30px;
  font-weight: 500;
  color: #ffffff;
}
.contact-wrap .tel-mail .tel .call-2 span:hover,
.contact-wrap .tel-mail .tel .call-2 a:hover {
  color: #ffffff;
}
@media print, screen and (max-width: 991px) {
  .contact-wrap {
    padding: 60px 0;
  }
  .contact-wrap .tel-mail {
    flex-direction: column;
    gap: 30px 0;
  }
  .contact-wrap .tel-mail .tel {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 0 5px;
    color: #ffffff;
    max-width: 445px;
  }
  .contact-wrap .tel-mail .tel .call-1 {
    display: flex;
    align-items: baseline;
    gap: 5px;
    font-size: 16px;
    line-height: 1.2;
  }
  .contact-wrap .tel-mail .tel .call-1 span,
  .contact-wrap .tel-mail .tel .call-1 a {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    font-weight: 700;
    color: #ffffff;
  }
  .contact-wrap .tel-mail .tel .call-1 span:hover,
  .contact-wrap .tel-mail .tel .call-1 a:hover {
    color: #ffffff;
  }
  .contact-wrap .tel-mail .tel .call-2 {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 5px;
    font-size: 14px;
  }
  .contact-wrap .tel-mail .tel .call-2 span,
  .contact-wrap .tel-mail .tel .call-2 a {
    display: flex;
    align-items: center;
    font-size: 24px;
    font-weight: 500;
    color: #ffffff;
  }
  .contact-wrap .tel-mail .tel .call-2 span:hover,
  .contact-wrap .tel-mail .tel .call-2 a:hover {
    color: #ffffff;
  }
}