/* Footer - Global Styles */
.g-footer {

  --g-footer-label: rgba(255, 255, 255, 0.7);
  background: var(--g-color-dark);
  color: #fff;
  padding: clamp(2.08vw,5vw,4.64vw) 0 0;
  box-sizing: border-box;
}

.g-footer__wrap {
  display: grid;
  grid-template-columns: 1.5fr 1fr 1fr 1.1fr 1.5fr;
  gap: 1.67vw;
  margin-bottom: 2.5vw;
}

.g-footer__col--logo {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.g-footer__logo-link {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-decoration: none;
  color: inherit;
}

.g-footer__logo-img {
  width: 11.46vw;
  height: auto;
  margin-bottom: 16px;
}

.g-footer__logo-text {
  font-family: 'Exo','Noto Sans JP', system-ui, sans-serif;
  font-size: 15px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.8);
  max-width: 14.9vw;
  margin: 0;
  cursor: text;
}

.g-footer__col-title {
  font-family: 'Exo','Noto Sans JP', system-ui, sans-serif;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin: 0 0 12.00px 0;
  color: #fff;
}

.g-footer__col-title--secondary {
  margin-top: 1.15vw;
}

.g-footer__col-title--muted {
  color: #fff;
  text-transform: none;
  letter-spacing: 0.02em;
  font-weight: 550;
  font-size: 16px;
  margin: 0;
}

.g-footer__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-bottom: 2.08vw;
}
.g-footer__col:nth-child(2) li {
  margin-bottom:13px ;
}
.g-footer__col li {
  margin-bottom:10px ;
}
.g-footer__wrap .g-footer__col:first-child .g-footer__col-title--secondary{
  margin-top: 4.79vw;
}
.g-footer__navlink {
  font-family: 'Exo','Noto Sans JP', system-ui, sans-serif;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  line-height: 1.5;
  display: inline-block;
  position: relative;
  --nav-line-x: 50%;
  --nav-line-y: 100%;
  --nav-line-opacity: 0;
}

.g-footer__navlink::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 1px;
  border-radius: 52.03vw;
  opacity: var(--nav-line-opacity);
  pointer-events: none;
  background-image: radial-gradient(
    circle at var(--nav-line-x) var(--nav-line-y),
    rgba(255, 255, 255, 0.95),
    rgba(255, 255, 255, 0.2)
  );
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 0.3s;
}

.g-footer__navlink:hover {
  color: #fff;
}

.g-footer__col--contact {
  display: flex;
  flex-direction: column;
}



.g-footer__contact-section {
  display: flex;
  flex-direction: column;
  gap: 0.94vw;
}

.g-footer__contact-block {
  display: flex;
  flex-direction: column;
  gap: 8.00px;
}

.g-footer__contact-block--emails {
  gap: 0;
}

.g-footer__contact-label {
  font-family: 'Exo','Noto Sans JP', system-ui, sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: var(--g-footer-label);
  margin: 0 0 12.00px 0;
  line-height: 1.5;
}

.g-footer__contact-item {
  font-family: 'Exo','Noto Sans JP', system-ui, sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: var(--g-footer-label);
  margin: 0 0 6px 0;
  line-height: 1.5;
}

.g-footer__contact-email + .g-footer__contact-email {
  margin-top: 1.25vw;
}

.g-footer__contact-link {
  font-family: 'Exo','Noto Sans JP', system-ui, sans-serif;
  font-size: 16px;
  text-decoration: none;
  line-height: 1.4;
}

.g-footer__col--contact a.g-footer__contact-link--email {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8.00px;
  color: #fff;
  font-weight: normal;
  margin: 0;
  line-height: 1;
  cursor: text;
}
.cursor-pointer{
  cursor: pointer;
}



.g-footer__contact-link--email span {
  color: #fff;
  line-height: 1;
  white-space: nowrap;
}

.g-footer__contact-mail-icon {
  flex-shrink: 0;
  display: block;
  width: 16px;
  height: 16px;
  color: #fff;
}

.g-footer__contact-title {
  font-size: 14px;
}

.g-footer__contact-phone-line {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  gap: 6px;
  margin: 0;
  line-height: 1.5;
}

.g-footer__contact-phone-label {
  font-family: 'Exo','Noto Sans JP', system-ui, sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: var(--g-footer-label);
  flex-shrink: 0;
}

.g-footer__contact-link--phone {
  color: #fff;
  font-size: 16px;
  white-space: nowrap;
    cursor: text;
}

.g-footer__contact-link:hover {
  color: #fff;
}

.g-footer__col--contact .g-footer__follow-section {
  margin-top: 1.67vw;

}

.g-footer__follow-section {
  display: flex;
  flex-direction: column;
  gap: 12.00px;
}

.g-footer__follow-title {
  font-family: 'Exo','Noto Sans JP', system-ui, sans-serif;
  font-size: 16px;
  font-weight: 550;
  color: #fff;
  margin: 0;
}

.g-footer__social {
  display: flex;
  gap: 12.00px;
}

.g-footer__social-link {
  width: 1.67vw;
  height: 1.67vw;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--g-footer-label);
  transition:
    opacity 0.2s ease,
    color 0.2s ease;
  opacity: 0.85;
}

.g-footer__social-link:hover {
  color: #fff;
  opacity: 1;
}

.g-footer__social-link img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: 0.9;
}

.g-footer__social-link:hover img {
  opacity: 1;
}

/* 微信图标悬浮样式 - popover 效果 */
.g-footer__social-wrap--wechat {
  position: relative;
  display: inline-block;
}

.g-footer__social-popover {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%) scale(0.95);
  width: 7.29vw;
  height: auto;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  pointer-events: none;
  border-radius: 10px;
  box-shadow: 0 8px 1.25vw rgba(0, 0, 0, 0.2);
  background: #fff;
  padding: 10px;
  z-index: 1000;
}

/* 小三角 */
.g-footer__social-popover::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #fff;
}

.g-footer__social-popover img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}

.g-footer__social-wrap--wechat:hover .g-footer__social-popover {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) scale(1);
}

.g-footer__logo {
  margin-top: 8.00px;
}



.g-footer__copyright {
  max-width: var(--g-container-max);
  margin: 0 auto;
  padding: 1.25vw var(--spacing-unit);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  text-align: center;
}

.g-footer__copyright p {
  font-family: 'Exo','Noto Sans JP', system-ui, sans-serif;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.5);
  margin: 0;
}

@media (max-width: 1199.98px) {
  .g-footer__wrap {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5vw 1.67vw;
  }
}

@media (max-width: 991.98px) {
  .g-footer__wrap {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5vw 1.67vw;
  }
}

@media (max-width: 800px) {
  .g-footer {
    padding-top: 0;
  }

  .g-footer__wrap {
    display: none;
  }
}

@media (min-width: 1200px) {
  .g-footer__copyright {
    padding-left: 2.5vw;
    padding-right: 2.5vw;
  }
}
@media (min-width: 800px) and (max-width: 1200px) {
         .g-footer__wrap {
            grid-template-columns: repeat(4, 1fr);
            gap: 2.5vw 1.67vw;
        }
        .g-footer__col:nth-child(2) {
            margin-left:0;
        }
        .g-footer .container{
          max-width: 86.46vw;;
        }
}


.g-footer__contact-section > div.g-footer__contact-block.g-footer__contact-block--emails > div:nth-child(4) > div > a:nth-child(3){
  cursor: pointer;
}