:root {

    /* color */
    --black: #0F1524;
    --blue: #0084CE;
    --blueDeep: #0071BC;
    --white: #fff;
    --lightBlue:#E5F3FA;
    --gray: #707070;
    --GrayDark:#808080;
    --grayLight: #BDBDBD;
    --gradation: linear-gradient(90deg, #0071BC 0%, #0097E0 100%);    
  

    /* font family */
    --ja-font: "noto-sans-cjk-jp", sans-serif;
    --en-font:"Roboto", sans-serif;


    /* border radius */
    --radius-s: 0.3125rem;
    --radius-r: 0.625rem;


    /* font size */
    --fontSize-pcS: 1.05rem;
    --fontSize-pcR: 1.125rem;
    --fontSize-tabR: 1rem;
    --fontSize-spR: 1rem;
    --fontSize-spS: 0.875rem;


    /* line height */
    --lineHeight-pcR: 1.875;
    --lineHeight-tabR: 1.75rem;


    /* margin */
    --sp-contentMargin: 4.37rem;
    --sec-margin-r: 4.38rem;
    --sec-margin-l: 6.25rem;
  }





/* Overview Section */
.overview-section {
    max-width: 1100px;
    margin: 0 auto;
  }
  
  
  
  .overview-table {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  
  .overview-row {
    display: grid;
    grid-template-columns: 240px 1fr;
    gap: 40px;
    padding: 2.5rem 5.1rem;
    border-bottom: 0.03125rem solid var(--gray);
    align-items: flex-start;
  }

  .overview-row.business .location-marker,
  .overview-row.location .location-marker {
    margin-bottom: 0
  }

  .overview-row:first-child {
    padding-top: 0;
  }
  
  .overview-label {
    color: var(--blue);
    font-size: var(--fontSize-pcR);
    font-style: normal;
    font-weight: 500;
    line-height: var(--lineHeight-pcR);
    letter-spacing: 0.09rem;
  }
  
  .overview-value {
    font-size: var(--fontSize-pcR);
    line-height: var(--lineHeight-pcR);
    letter-spacing: 0.09rem;
  }
  .location-item {
    margin-bottom: 1.25rem;
  }

  .location-item:last-child {
    margin-bottom: 0;
  }

  .location-marker {
    margin-bottom: .4rem;
  }
  /* Access Section */
  .access-section {
    padding-top: 9.38rem;
  }
  
  .access-content {
    max-width: 1100px;
    margin: 0 auto;
  }
  
  .access-layout {
    display: flex;
    align-items:flex-start;
    justify-content: center;
    column-gap: 6.4vw;
  }
  
  .access-map {
    position: relative;
    border-radius: var(--radius-r);
    width: 28.4375rem;
    height: 20rem;
    flex-shrink: 0;
    overflow: hidden;
  }
  
  .access-map iframe {
    border: none;
    width: 100%;
    height: 100%;
  }
  
  .access-info {
    display: flex;
    flex-direction: column;
  }
  
  .office-title {
    font-size: var(--fontSize-pcR);
    font-style: normal;
    font-weight: 700;
    line-height: 2.5rem; /* 181.818% */
    letter-spacing: 0.09rem;
    color: var(--blue);
    margin-bottom: .62rem;
    position: relative;
  }
  
  .office-details {
    display: flex;
    flex-direction: column;
    row-gap: .94rem;
  }
  
  .detail-item {
    display: flex;
    flex-direction: column;
    font-size: var(--fontSize-pcR);
    line-height: var(--lineHeight-pcR); /* 181.818% */
    letter-spacing: 0.09rem;
  }
  
  .contact-info {
    display: flex;
    flex-direction: column;
  }
  
  
  .access-info-text {
    display: flex;
    flex-direction: column;
  }
  
  
  .google-maps-link {
    color: var(--blue);
  }
  
  @media (hover: hover) and (pointer: fine) {
  .google-maps-link:hover {
    color: var(--accent-blue);
    text-decoration: underline;
  }
}

  .google-maps-link::after {
    content: '→';
    margin-left: 8px;
    transition: transform 0.3s ease;
  }
  
  @media (hover: hover) and (pointer: fine) {
  .google-maps-link:hover::after {
    transform: translateX(4px);
  }
}
    
  
  /* Mobile Responsive */
  @media (max-width: 1500px) {
    .overview-label,
    .overview-value,
    .office-title,
    .detail-item {
        font-size: var(--fontSize-tabR);
        line-height: var(--lineHeight-tabR);
      }
      .overview-row {
        grid-template-columns: 200px 1fr;
        padding: 2.5rem 5.1rem;
      }
  }

  @media (max-width: 1100px) {
    .overview-row {
        grid-template-columns: 150px 1fr;
        padding: 1.85rem 3.25rem;
      }

      .access-map {
        width: 20.4375rem;
        height: 15rem;
        flex-shrink: 0;
      }

      .access-section {
        padding-top: 7.38rem;
      }
  }
  @media (max-width: 768px) {
    
    
    .overview-row {
      grid-template-columns: 1fr;
      gap: .25rem;
      padding: 1.35rem 0;
    }
    
    .overview-label {
        font-size: var(--fontSize-spR);
        line-height: var(--lineHeight-tabR); /* 175% */
    }
    
    .overview-value {
        font-size: var(--fontSize-spR);
        line-height: var(--lineHeight-tabR); /* 175% */
    }
    
    .location-item {
      margin-bottom: 1.45rem;
    }
    .location-item:last-child {
      margin-bottom: 0;}
    

  .location-marker {
    margin-bottom: 0;
  }

  .address {
    line-height: 1.4;
  }

    /* Access Section Mobile */
    .access-section {
      padding-top: 6.25rem;
    }
  
    .access-layout {
        flex-direction: column-reverse;
        justify-content: flex-start;
        align-items: center;
        row-gap: 2.5rem;
    }
  
    .access-map {
        width: 100%;
        height: 14.5rem;
      }

  
    .access-info {
      order: 1;
    }
    .office-details {
        row-gap: 1.45rem;
    }
    .office-title,
    .detail-item,
    .google-maps-link  {
        font-size: var(--fontSize-spR);
        line-height: var(--lineHeight-tabR); /* 175% */
    }


    .detail-item p:nth-child(2) {
      margin-top: .5rem;
      line-height: 1.4;
    }

    .detail-item p:nth-child(3) {
      margin-top: .5rem;
    }

  }
  
  @media (max-width: 480px) {

  
    .detail-item .postal-code {
      font-size: 13px;
    }
  
    .detail-item .address {
      font-size: 13px;
    }
  
    .contact-item {
      font-size: 13px;
    }
  
    .access-line {
      font-size: 13px;
    }
  
    .google-maps-link {
      font-size: 13px;
    }
  }
  
  /* Focus States for Accessibility */
  .nav-link:focus,
  .cta-button:focus,
  .mobile-menu-toggle:focus,
  .google-maps-link:focus {
    outline: 2px solid var(--primary-blue);
    outline-offset: 2px;
  }
  
