/* ========= アクセス ======== */

.address-container {

  display: grid;
  grid-template-columns:1fr;
  row-gap: 10px;
  column-gap: 6px;
  
  justify-content: center;
  align-content: center;
  align-items: center;
  justify-items: center;

  h3 {
    font: var(--std-20B-150);
    letter-spacing: 0.01em;
    color: var(--tarshary-color);
  }
  
  p {
    font: var(--dns-16N-120);
    font-size: clamp(14px, 5vw, 20px);
  }
  
  .address {
    width: 100%;
    grid-column: span 1;
    text-align: center;
  }
  
  .image {
    grid-column: span 1;
    width: 100%;
    
    > .building-image {
      max-width: calc(100vw - var(--padding-side)*2);
      height: auto;
      aspect-ratio: 4 / 5;
      background-color: var(--green800);
    }
  }

  .map {
    display: flex;
    justify-content: center;
    
    grid-column: span 1;
    position: relative;
    padding-top: 45svh;
    height: 0;
    width: 100%;
    
    iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      aspect-ratio: 4 / 3;
    }
  
  }

}


/* ====================== */

@media screen and (min-width: 720px) {

  .h2-sec:has(.address-container) {
     display: flex;
     flex-direction: column;
     flex-wrap: wrap;
     align-content: center;
     justify-content: center;
     align-items: center;
  
  }

  .address-container {
    
    max-width: 1120px;
    width: 100%;

    display: grid;
    grid-template-columns: repeat(6, 1fr);
    row-gap: 10px;
    column-gap: 6px;
    
    justify-content: center;
    align-content: center;
    align-items: center;
    justify-items: center;

    h3 {
      font: var(--std-20B-150);
      letter-spacing: 0.01em;
      color: var(--tarshary-color);
    }
    
    p {
      font: var(--std-20N-150);
      font-size: clamp(14px, 5vw, 20px);
    }
    
    .address {
      container: address-text / inline-size;
      grid-column: 1 / 4;
      grid-row: 1;
      display: flex;
      flex-direction: column;
      text-align: left;
      align-items: center;
      
    }
    
    .image {
      grid-column: 4 / 7;
      grid-row: 1;
      > .building-image {
        width: auto;
        max-height: 46vh;
        height: auto;
        aspect-ratio: 4 / 5;
        background-color: var(--green800);
      }
    }
    
    .map {
      display: flex;
      justify-content: center;
      
      grid-column:span 6;
      grid-row: 2;
      position: relative;
      padding-top: 50svh;
      height: 0;
      width: 100%;
      
      iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        max-height: 100%;
        aspect-ratio: 16/9;
      }
  
    }
    
  }


}

@container address-text (max-width: 440px) {

  .sp-br {
    display: initial;
  }

}


