@charset "utf-8";
footer {
  background: #012a2d;
  padding: min(7.54vw, 95px) 0 min(6.67vw, 84px);
  position: relative;
}
footer,
footer a {
  color: #fff;
}
.f_innrer {
  width: 92%;
  max-width: 1200px;
  margin: 0 auto;
}
.contactbk {
  display: flex;
  justify-content: space-between;
}
.contactbk__cont {
  width: 48%;
  max-width: 580px;
  padding: 6% 5.5%;
  transition: 0.5s;

  background: #1a3f42;
}
.contactbk__left {
  background: #910000;
}
.contactbk__right {
  background: #ed6c00;
}
.contactbk__left .contact__ttl {
  margin-bottom: 0.5em;
}
.contactbk__right .contact__ttl {
  margin-bottom: 0.2em;
}

.contact__ttl .en {
  font-size: 16px;
  line-height: 1;
  color: #fff;
  display: block;
  margin-bottom: 0.4em;
}
.contact__ttl .ja {
  /* 1260px→35px */
  font-size: clamp(25px, 2.78vw, 35px);
  display: block;
}
.contact__ttl .ja:after {
  content: "";
  width: 1em;
  height: 1.75em;
  background: url(../imgs/common/btn.svg) no-repeat center / contain;
  position: absolute;
  right: 0;
  top: 0;
  transform: translateX(50%);
  transition: 0.2s;
}
.contactbk__right .contact__ttl .ja:after {
  content: none;
}

.contactbk__cont .tel {
  /* 1260px→46px */
  font-size: clamp(30px, 3.65vw, 46px);
  line-height: 1;
  margin-bottom: 0.1em;
}
/* hover */
.contactbk__cont:hover {
  background: #fff;
}
.contactbk__cont:hover .contact__ttl .en {
  color: #ed6c00;
}
.contactbk__cont:hover .contact__ttl .ja,
.contactbk__cont:hover p {
  color: #1a3f42;
}

.contactbk__cont:hover .contact__ttl .ja:after {
  background: url(../imgs/common/btn_hv.svg) no-repeat center / contain;
  position: absolute;
}
.contact__ttl footer .gnavi__list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: min(6.92vw, 72px);
}
.f_btm {
  display: flex;
  justify-content: space-between;
  padding: min(10.71vw, 135px) 0 min(9.92vw, 125px);
}
footer .gnavi {
  width: 57vw;
  max-width: 718px;
}
footer .gnavi__list {
  /* 1040px→16px */
  font-size: clamp(14px, 1.54vw, 16px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-content: space-between;
  flex-wrap: wrap;
  gap: 1em 1em;
  height: 10em;
}
footer .gnavi__item a {
  padding: 5px 0;
}
footer .gnavi__item.np a {
  pointer-events: none;
}
/* footer .gnavi__item a span {
  position: relative;
}
footer .gnavi__item a span:after {
  content: "";
  width: 0;
  height: 1px;
  background: #fff;
  position: absolute;
  bottom: -3px;
  left: 50%;
  transform: translate(-50%);
  opacity: 0;
  transition: 0.2s;
} */
footer .gnavi__item.np a span:after,
footer .gnavi__item a:hover span:after {
  width: 100%;
  opacity: 1;
}
.f_company {
  width: 26.7vw;
  max-width: 311px;
}
.f_company .f_logo {
  width: 93.25%;
  max-width: 319px;
  margin-bottom: 8%;
}
.f_comnpany-name {
  font-size: 17px;
  margin-bottom: 4px;
}
.f_comnpany-address {
  margin-right: 1em;
}
.f_comnpany-address,
.f_comnpany-tel {
  font-size: 13px;
  display: inline-block;
}
.copy {
  font-size: 11px;
  text-align: center;
}
#totop {
  width: 11.25vw;
  max-width: 54px;
  min-width: 40px;
  height: 11.25vw;
  max-height: 54px;
  min-height: 40px;
  position: absolute;
  right: 2.36vw;
  bottom: 3.44vw;
}
.sp_bnrWrap {
  display: none;
  height: 65px;
  background: #012a2d;
}
.sp_bnr {
  padding: 0;
  background: #012a2d;
  display: flex;
  align-items: center;
  width: 100vw;
  height: 65px;
  position: fixed;
  bottom: 0;
  z-index: 5;
}

.sp_bnr ul {
  display: flex;
  justify-content: space-between;
}
.sp_bnr ul li {
  width: 30vw;
}
.sp_bnr ul li a {
  font-size: max(10px, 2.5vw);
  letter-spacing: 0;
  line-height: 1;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  padding: 2px;
  border-radius: 5px;
}
.sp_bnr ul li:first-child a {
  font-size: max(12px, 2.92vw);
  background: #a79f7f;
}
.sp_bnr ul li:nth-child(2) a {
  background: #ed6c00;
}
.sp_bnr ul li:last-child a {
  background: #910000;
}

@media screen and (max-width: 750px) {
  .contactbk {
    flex-direction: column;
    align-items: center;
    gap: 4vw;
  }
  .contactbk__cont {
    width: 100%;
  }
  .contactbk__right .contact__ttl .ja:after {
    content: "";
  }
  .f_btm {
    flex-direction: column;
    align-items: center;
    gap: 6vw;
  }
  footer .gnavi {
    width: 100%;
    max-width: 580px;
  }
  footer .gnavi__list {
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0.5em 1em;
    height: 12em;
  }
  .f_company {
    width: 80%;
  }
  .sp_bnrWrap {
    display: block;
  }
}
@media screen and (max-width: 500px) {
}
@media screen and (max-width: 480px) {
  footer .gnavi__list {
    align-content: center;
    gap: 0.5em 3em;
    height: 15em;
  }
}

@media screen and (max-width: 375px) {
}
