@charset "UTF-8";
/*--------------------------------------------
PARKING
---------------------------------------------*/
.contentParking{
  li{
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
  }
  @media screen and ( width <= 768px ){
    ul , p{
      font-size: calc( 14 * var(--remBase ) );;
      line-height: 1.5;
      width: fit-content;
      margin-inline : auto;
    }
    p{
      margin-top: 1lh;
    }
    picture{
      margin-top : calc( 20 * var(--remBase ) );
      text-align: center;
    }
    img{
      height : calc( 190 * var(--remBase ) );
    }
  }
  @media print,screen and ( width > 768px ){
    display: grid;
    grid-template-rows: 1fr auto auto 1fr;
    grid-template-columns: auto 1fr;
    column-gap : calc( 24 * var(--remBase ) );
    picture{
      grid-column: 2;
      grid-row: 1/-1;
      img{
        height : calc( 408 * var(--remBase ) );
      }
    }
    ul , p{
      font-size: calc( 16 * var(--remBase ) );;
      line-height: calc( 26 / 16 );;
    }
    ul{
      grid-column: 1;
      grid-row: 2;
    }
    p{
      margin-top: 1lh;
      grid-row: 3;
      grid-column: 1;
    }
  }
}
/*--------------------------------------------
CONTENT AUTHOR
---------------------------------------------*/
.contentAuthor{
  text-align: right;
  @media screen and ( width <= 768px ){
    margin-top : calc( 6 * var(--remBase ) );
    font-size: calc( 10 * var(--remBase ) );;
    line-height: 1.5;
  }
  @media print,screen and ( width > 768px ){
    font-size: calc( 17 * var(--remBase ) );;
    line-height: calc( 21 / 17 );;
  }
}
/*--------------------------------------------
FOMRS
---------------------------------------------*/
.contactTitle{
  text-align: center;
  font-weight: 700;
  color:#2b7c74;
  @media screen and ( width <= 768px ){
    font-size: calc( 17 * var(--remBase ) );;
    line-height: calc( 26 / 17 );;
    margin-bottom : calc( 9 * var(--remBase ) );
  }
  @media print,screen and ( width > 768px ){
    font-size: calc( 40 * var(--remBase ) );;
    line-height: 1.14;
    margin-bottom : calc( 26 * var(--remBase ) );
  }
}
form .inputs{
  > div{
    border-bottom-style: solid;
    border-bottom-color: #ccc;
    > dt{
      font-weight: 500;
      label{
        display: grid;
        align-items: start;
        justify-content: space-between;
        width: 100%;
        grid-auto-flow: column;
      }
      &:has( + dd [aria-required="true"] ){
        label:after{
          content:"必須";
          background-color: #41baae66;
          color:white;
          font-weight: 400;
          display: grid;
          place-items:center;
        }
      }
    }
  }
  .wpcf7-list-item{
    display: block;
  }
  .wpcf7-radio , .wpcf7-checkbox{
    display: block;
    label{
      display: grid;
      align-items: start;
      justify-content: start;
      grid-auto-flow: column;
    }
  }
  .wpcf7-radio{
    label{
      input{
        appearance: none;
        position: relative;
        &:before , &:after{
          content:"";
          display: block;
          border-radius : 50%;
        }
        &:before{
          outline : solid 1px #ccc;
          outline-offset : -1px;
          background-color: #41baae66;
        }
        &:after{
          position: absolute;
          top: 50%;
          left: 50%;
          translate: -50% -50%;
          background-color: #024d28;
        }
        &:checked:after{
          opacity: 1;
          visibility: visible;
        }
        &:not(:checked):after{
          opacity: 0;
          visibility: hidden;
        }
      }
    }
  }
  :where( input[type="text"] , input[type="number"] , input[type="email"] , input[type="tel"] , textarea ){
    background-color: #41baae66;
    width: 100%;
    outline : solid 1px #ccc;
    outline-offset : -1px;
    padding-inline: 1em;
  }
  textarea{
    padding-block : .75em;
  }
  .wpcf7-checkbox{
    label{
      input{
        accent-color: #41baae66;
        width: 1em;
        height: 1em;
        margin-top : .25em;
      }
    }
  }
  @media screen and ( width <= 768px ){
    margin-top : calc( 20 * var(--remBase ) );
    > div{
      + div{
        border-top : solid 1px #ccc;
        margin-top : calc( 20 * var(--remBase ) );
        padding-top : calc( 20 * var(--remBase ) );
      }
      > dt{
        font-size: calc( 14 * var(--remBase ) );;
        line-height: calc( 20 / 14 );;
        label{
          font-size: calc( 14 * var(--remBase ) );;
          line-height: calc( 20 / 14 );;
        }
        &:has( + dd [aria-required="true"] ){
          label:after{
            margin-top : calc( 2 * var(--remBase ) );
            height : calc( 16 * var(--remBase ) );
            font-size : calc( 10 * var(--remBase ) );
            padding-inline : calc( 4 * var(--remBase ) );
          }
        }
      }
      > dd{
        margin-top : calc( 10 * var(--remBase ) );
      }
    }
    :where( input[type="text"] , input[type="number"] , input[type="email"] , input[type="tel"] , textarea ){
      font-size : calc( 12 * var(--remBase ) );
      line-height: 1.5;
    }
    :where( input[type="text"] , input[type="number"] , input[type="email"] , input[type="tel"] ){
      height : calc( 32 * var(--remBase ) );
    }
    .wpcf7-list-item{
      margin-left: 0;
    }
    .wpcf7-list-item + .wpcf7-list-item{
      margin-top : calc( 4 * var(--remBase ) );
    }
    .wpcf7-checkbox , .wpcf7-radio{
      padding-top : calc( 1 * var(--remBase ) );
      label{
        column-gap : calc( 4 * var(--remBase ) );
      }
      .wpcf7-list-item-label{
        font-size : calc( 12 * var(--remBase ) );
        line-height: 1.5;
      }
    }
    .wpcf7-radio{
      label{
        input{
          margin-top : calc( 3 * var(--remBase ) );
          &:before{
            height : calc( 12 * var(--remBase ) );
            width : calc( 12 * var(--remBase ) );
          }
          &:after{
            height : calc( 8 * var(--remBase ) );
            width : calc( 8 * var(--remBase ) );
          }
        }
      }
    }
    textarea{
      height : calc( 120 * var(--remBase ) );
    }
    .wpcf7-checkbox{
      input{
        font-size : calc( 12 * var(--remBase ) );
      }
    }
    .wpcf7-not-valid-tip{
      font-size : calc( 12 * var(--remBase ) );
      line-height: 1.5;
      padding-top : calc( 4 * var(--remBase ) );
    }
  }
  @media print,screen and ( width > 768px ){
    margin-top : calc( 24 * var(--remBase ) );
    > div{
      display: grid;
      align-items: start;
      grid-template-columns: calc( 240 * var(--contentBase) ) 1fr;
      column-gap : calc( 20 * var(--contentBase ) );
      padding-block : calc( 24 * var(--remBase ) );
      border-bottom-width: calc( 2 * var(--remBase) );
      > dt{
        padding-top : calc( 8 * var(--remBase ) );
        font-size : calc( 16 * var(--remBase ) );
        line-height: 1.5;
        padding-inline : calc( 12 * 100% / 240 );
        &:has( + dd [aria-required="true"] ){
          label:after{
            height : calc( 24 * var(--remBase ) );
            font-size : calc( 14 * var(--remBase ) );
            padding-inline : calc( 8 * var(--remBase ) );
          }
        }
      }
    }
    :where( input[type="text"] , input[type="number"] , input[type="email"] , input[type="tel"] , textarea ){
      font-size : calc( 16 * var(--remBase ) );
      line-height: 1.5;
    }
    :where( input[type="text"] , input[type="number"] , input[type="email"] , input[type="tel"] ){
      height : calc( 40 * var(--remBase ) );
    }
    .wpcf7-list-item + .wpcf7-list-item{
      margin-top : calc( 4 * var(--remBase ) );
    }
    .wpcf7-checkbox , .wpcf7-radio{
      padding-top : calc( 8 * var(--remBase ) );
      label{
        column-gap : calc( 8 * var(--remBase ) );
      }
      .wpcf7-list-item-label{
        font-size : calc( 16 * var(--remBase ) );
        line-height: 1.5;
      }
    }
    .wpcf7-radio{
      padding-top : calc( 8 * var(--remBase ) );
      label{
        input{
          margin-top : calc( 3 * var(--remBase ) );
          &:before{
            height : calc( 18 * var(--remBase ) );
            width : calc( 18 * var(--remBase ) );
          }
          &:after{
            height : calc( 12 * var(--remBase ) );
            width : calc( 12 * var(--remBase ) );
          }
        }

      }
    }
    textarea{
      height : calc( 240 * var(--remBase ) );
    }
    .wpcf7-checkbox{
      input{
        font-size : calc( 16 * var(--remBase ) );
      }
    }
    .wpcf7-not-valid-tip{
      font-size : calc( 16 * var(--remBase ) );
      line-height: 1.5;
      padding-top : calc( 4 * var(--remBase ) );
      padding-inline: 1em;
    }
  }
}
@media ( prefers-reduced-motion : no-preference ){
  .wpcf7-radio input:after{
    transition: opacity var(--transitionBase);
  }
}
form .buttons{
  input[type="submit"]{
    display: grid;
    place-items:center;
    border-radius: 100vmax;
    color:white;
    outline : solid 1px #2b7c74;
    outline-offset : -1px;
    background-color: #2b7c74;
    margin-inline : auto;
    padding-inline: 1.75em;
  }
  @media screen and ( width <= 768px ){
    margin-top : calc( 40 * var(--remBase ) );
    input[type="submit"]{
      min-width : calc( 200 * var(--contentBase ) );
      height : calc( 40 * var(--remBase ) );
      font-size : calc( 16 * var(--remBase ) );
    }
  }
  @media print,screen and ( width > 768px ){
    margin-top : calc( 64 * var(--remBase ) );
    input[type="submit"]{
      min-width : calc( 240 * var(--contentBase ) );
      height : calc( 48 * var(--remBase ) );
      font-size : calc( 20 * var(--remBase ) );
    }
  }
}
.contactNote{
  width:fit-content;
  margin-inline : auto;
  @media screen and ( width <= 768px ){
    margin-top : calc( 46 * var(--remBase ) );
    p{
      padding-inline: 1em;
      font-size: calc( 12 * var(--remBase ) );;
      line-height: 1.5;
    }
    dl{
      display: grid;
      justify-content: center;
      grid-auto-flow: column;
      font-size: calc( 15 * var(--remBase ) );;
      line-height: 1.2;
    }
  }
  @media print,screen and ( width > 768px ){
    font-size: 0;
    margin-top : calc( 66 * var(--remBase ) );
    p,dl{
      font-size: calc( 13 * var(--remBase ) );;
      line-height: calc( 18 / 13 );;
    }
    p,dl,dt,dd{
      display: inline;
    }
    dl{
      padding-left: 1em;
    }
  }
}
.wpcf7 form.sent .wpcf7-response-output{
  @media print,screen and ( width > 768px ){
    padding-block : calc( 12 * var(--remBase ) );
    font-size: calc( 20 * var(--remBase ) );;
    line-height: 1.4;
  }
}
/*--------------------------------------------
FOOTER
---------------------------------------------*/
#footer{
  background-color: #1c2984;
  display: grid;
  a{
    color:#E3DCC9;
  }
  .logo{
    display: block;
    width: fit-content;
  }
  .sns{
    a{
      display: grid;
      align-items: center;
    }
  }
  .address{
    color:#E3DCC9;
  }
  .awards{
    p{
      text-align: center;
    }
  }
  .awards p , .copyright{
    color:white;
  }
  .links{
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(8, auto);
    > li:nth-child(-n+7){
      order: 1;
    }
    > li:nth-child(n+8){
      order: 3;
    }
    &:before{
      content:"";
      display: block;
      order: 2;
    }
  }
  .copyright{
    justify-self: center;
  }
  @media screen and ( width <= 768px ){
    padding-bottom : calc( 18 * var(--remBase ) );
    grid-template-columns: auto calc( 158 * var(--contentBase) );
    grid-template-rows: auto auto calc( 17 * var(--remBase) ) auto calc( 11 * var(--remBase) ) auto calc( 11 * var(--remBase) ) auto calc( 44 * var(--remBase) ) auto;
    justify-content: space-between;
    padding-top : calc( 6 * var(--remBase ) );
    .logo{
      grid-column: 1;
      grid-row: 1/3;
      img{
        height : calc( 151 * var(--remBase ) );
      }
    }
    .sns{
      grid-column: 2;
      grid-row: 1;
      padding-top : calc( 9 * var(--remBase ) );
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      row-gap : calc( 6 * var(--remBase ) );
      li{
        height : calc( 35 * var(--remBase ) );
        width : calc( 35 * 100% / 158 );
      }
      a{
        width: 100%;
        height: 100%;
        display: grid;
        place-items: center;
      }
      .facebook , .instagram , .tiktok{
        height : calc( 35 * var(--remBase ) );
      }
      .x{
        height : calc( 26 * var(--remBase ) );
      }
      .youtube{
        height : calc( 22 * var(--remBase ) );
      }
    }
    .otherLinks{
      grid-row: 2;
      grid-column: 2;
      li + li{
        margin-top : calc( 12 * var(--remBase ) );
      }
      a{
        width: fit-content;
        display: block;
        margin-left: auto;
      }
      img{
        height : calc( 22 * var(--remBase ) );
      }
    }
    .awards{
      grid-column: 1/-1;
      grid-row: 4;
      display: grid;
      grid-auto-flow: column;
      justify-content: center;
      align-items: start;
      column-gap : calc( 12 * var(--contentBase ) );
      li:nth-child(1){
        img{
          height : calc( 60 * var(--remBase ) );
        }
      }
      li + li{
        margin-top : calc( 13 * var(--remBase ) );
        img{
          height : calc( 47 * var(--remBase ) );
        }
      }
      p{
        font-size: calc( 12 * var(--remBase ) );;
        line-height: calc( 14 / 12 );;
        margin-top : calc( 4 * var(--remBase ) );
      }
    }
    .address{
      grid-column: 1/-1;
      grid-row: 6;
      font-size: calc( 15 * var(--remBase ) );;
      line-height: 1.4;
    }
    .links{
      grid-column: 1/-1;
      grid-row: 8;
      grid-template-columns: auto auto;
      justify-content: space-between;
      a{
        font-size: calc( 12 * var(--remBase ) );;
        line-height: 1.5;
      }
    }
    .copyright{
      grid-column: 1/-1;
      grid-row: 10;
      font-size: calc( 15 * var(--remBase ) );;
      line-height: 1.2;
    }
  }
  @media print,screen and ( width > 768px ){
    padding-top : calc( 2 * var(--remBase ) );
    padding-bottom : calc( 10 * var(--remBase ) );
    grid-template-rows: calc( 25 * var(--remBase) ) calc( 39 * var(--remBase) ) calc( 40 * var(--remBase) ) auto calc( 67 * var(--remBase) ) auto calc( 33 * var(--remBase) ) auto;
    grid-template-columns: auto 1fr auto auto auto;
    .logo{
      grid-column: 1;
      grid-row: 1/5;
      align-self: start;
      img{
        height : calc( 210 * var(--remBase ) );
      }
    }
    .links{
      grid-column: 3/5;
      grid-row: 1/5;
      align-self: start;
      margin-top : calc( 12 * var(--remBase ) );
      grid-template-columns: repeat( 2 , calc( 225 * var(--remBase) ) );
      column-gap : calc( 60 * var(--remBase ) );
      position: relative;
      pointer-events: none;
      li{
        width: fit-content;
      }
      &:after{
        content:"";
        display: block;
        position: absolute;
        font-size: 0;
        top : calc( 4 * var(--remBase ) );
        left: 50%;
        width : calc( 2 * var(--remBase ) );
        height: calc( 100% - 28 * var(--remBase) );
        translate: calc( -40 * var(--remBase )) 0;
        background-color: #E3DCC9;
      }
      a{
        font-size: calc( 16 * var(--remBase ) );;
        line-height: 1.5;
        pointer-events: auto;
      }
    }
    .sns{
      grid-column: 4/-1;
      grid-row: 2;
      grid-template-rows: 100%;
      display: grid;
      grid-auto-flow: column;
      column-gap : calc( 12 * var(--remBase ) );
      align-items: center;
      justify-content: end;
      li , a{
        height: 100%;
      }
      .facebook , .instagram , .tiktok{
        height : calc( 39 * var(--remBase ) );
      }
      .x{
        height : calc( 30 * var(--remBase ) );
      }
      .youtube{
        height : calc( 28 * var(--remBase ) );
      }
    }
    .otherLinks{
      grid-column: 5;
      grid-row: 4;
      display: grid;
      grid-auto-flow: row;
      justify-items: end;
      margin-left : calc( 20 * var(--remBase ) );
      row-gap : calc( 11 * var(--remBase ) );
      align-self: start;
      a{
        display: block;
        width: fit-content;
      }
      img{
        height : calc( 30 * var(--remBase ) );
      }
      li:nth-child(2){
        grid-row: 1;
      }
      li:nth-child(1){
        grid-row: 2;
      }
    }
    .address{
      grid-column: 1/4;
      grid-row:6;
      font-size: calc( 17 * var(--remBase ) );;
      line-height: 1.4;
      align-self: center;
    }
    .awards{
      grid-column: 4/-1;
      grid-row: 6;
      display: grid;
      align-items: start;
      grid-auto-flow: column;
      justify-content: end;
      align-self: center;
      column-gap : calc( 12 * var(--remBase ) );
      li:nth-child(-n+2){
        img{
          height : calc( 73 * var(--remBase ) );
        }
      }
      li:nth-child(3){
        img{
          height : calc( 68 * var(--remBase ) );
        }
      }
      p{
        margin-top : calc( 6 * var(--remBase ) );
        font-size: calc( 10 * var(--remBase ) );;
        line-height: 1.2;
      }
    }
    .copyright{
      grid-column: 1/-1;
      grid-row: 8;
      font-size: calc( 14 * var(--remBase ) );;
      line-height: 1.2;
    }
  }
}