@charset "utf-8";

@import url("../../style/variables.css");/*変数定義*/
@import url("../../style/form_mail.css");/*フォームメール周りまとめ*/
	
:root{
}

#top_com{
  text-align: left;
  font-size: 1.1rem;
  font-weight: 500;
}

#for_voice{
  margin:30px auto 0 auto;
  a{
    display:inline-block;
    border:2px solid #ff8b73;
    padding:.3em .54em;
    font-size: 1.1rem;
    color:rgb(var(--baceFontColor));
    svg{
      fill:#ff8b73;
    }
    &:hover{
      color:red;
      text-decoration: underline;
      text-underline-offset: .2em;
    }
  }
}

.testimonials{
  margin:30px auto 0 auto;
  > * + *{
    margin-top:50px;
    padding:50px 0 0 0;
    border-top:3px dotted #ffd9cc;
  }
  article{
    > div{
      width:min(740px,100%);
      margin-right:auto;
      margin-left:auto;
      blockquote{
        background:#f2f2f2;
        padding:20px;
        border-radius: 15px;
        position:relative;
        text-align: left;
        margin-bottom:10px;
      }
      figure{
        align-self: end;
      }
    }
    div.customer{/*お客様の声*/
      display:grid;
      grid-template-columns: 130px 1fr;
      gap:30px;
      blockquote{
        background:#ffefea;
        &::before {
          content: "";
          position: absolute;
          border-top: 10px solid transparent;
          border-bottom: 10px solid transparent;
          border-left: 20px solid #ffefea;
          left: -15px;
          bottom: 15px;
          transform: rotate(180deg);
        }
      }
    }
    div.staff-response{/*スタッフ*/
      margin:20px auto 0 auto;
      display:grid;
      grid-template-columns: 1fr 130px;
      gap:30px;
      grid-template-areas: "B A";
      figure{
        grid-area: A;
      }
      blockquote{
        background:#eef2e8;
        grid-area: B;
        &::before {
          content: "";
          position: absolute;
          border-top: 15px solid transparent;
          border-bottom: 15px solid transparent;
          border-left: 25px solid #eef2e8;
          right: -15px;
          bottom: 15px;
          transform: rotate(0deg);
        }
      }
    }
  }
}



#contact{
  width:min(860px,100%);
  background:white;
  margin:30px auto 0 auto;
  border:1px solid silver;
  padding:40px;
  border-radius:10px;
  article{
    text-align: left;
    display:grid;
    grid-template-columns: 12em 1fr;
    > *{
      padding:20px;
      border-top:1px solid silver;
    }
    > *:nth-child(odd){
      text-align: right;
      border-left:1px solid silver;
      padding-top:1.7em;
      &:has(+* > input[type='radio']),
      &:has(+* > input[type='checkbox']){/*radio,checkboxの場合は、paddingを調整*/
        padding-top:20px;
      }
    }
    > *:nth-child(even){
      border-right:1px solid silver;
      aside{
        font-size: .9rem;
        margin:.3em auto 0 auto;
        &:has(+ *){
          margin:.3em auto;
        }
      }
      aside + label{
        margin-bottom:0;
      }
    }
    > *:nth-last-child(1),
    > *:nth-last-child(2){
      border-bottom:1px solid silver;
      border-bottom:1px solid silver;
    }
    > *:nth-child(even):not(:nth-child(4n)) {
      background:#f4f4f4;
    }
    > *:nth-child(2n-1):not(:nth-child(4n-1)) {
      background:#f4f4f4;
    }
    > *:nth-child(1){
      margin-top:0;
    }
  }
  @media (max-width: 768px) {
    padding:20px;
    article{
    grid-template-columns: 1fr;
    > *{
      padding:0 ;
      border:none;
    }
    > *:nth-child(odd){
      text-align: left;
      border:1px solid silver;
      border-bottom:none;
      padding:20px 20px 0 20px; 
    }
    > *:nth-child(even){
      border-left:1px solid silver;
      border-right:1px solid silver;
      padding:10px 20px 20px 20px;
    }
  }

  }
}


#tel_fax{
  margin:20px auto 0 auto;
  svg{
    width:20px;
    height:20px;
    fill:var(--baceFontColor);
    margin:0 .3em 0 0;
  }
  span{
    font-size: 1.3rem;
    font-weight: 600;
    &:nth-of-type(1){
      margin-right:20px;
    }
  }
  br{
    display:none;
  }
  @media (max-width: 768px) {
    br{
      display:block;
    }
  }
}

#privacy{
  margin:60px auto 0 auto;
  width:860px;
  max-width:calc(100% - 66px);
  padding:30px;
  background:#eee;
  border:3px solid gray;
  height:40vh;
  overflow-x: auto;
  ul{
    li{
      h3{
        font-size: 1.1rm;
      }
    }
  }
  aside{
    width: min(290px,100%);
    margin:30px 0 auto auto;
    text-align: left;
  }
  @media (max-width: 1200px) {
    width:auto;
    max-width:none;
  }
  @media (max-width: 768px) {
    padding:20px;
  }
}
