@charset "UTF-8";
header,main,body{
  background: #EDE4EB !important;
}
section#message{
  width: min(1120px,100%);
  padding: 0 16px;
  margin-bottom: 120px;
  margin-inline: auto;

  .h3-wrap{
    padding: 0;
  }

  .portrait-wrap{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    column-gap: 48px;

    .textContent{
      padding-top: 24px;

      p.text{
        padding-bottom: 32px;

        line-height: 1.6;
      }
      .jcr{
        p.name{
          span{
            padding-left: .6em;
            
            font-size: 27px;
            font-weight: 500;
          }
        }
      }
    }
  }
}
section#feature{
  margin-bottom: 120px;
}
section#data{
  margin-bottom: 120px;

  picture,img{
    width: 100%;
    max-width: 100%;
  }
}
section#faq{
  margin-bottom: 120px;

  ul.faq-itemContainer{
    width: min(1120px,100%);
    padding: 0 16px;
    margin-inline: auto;
  
    >*+*{
      margin-block-start: 16px;
    }
  }
  li.faq-item label{
    position: relative;
  
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 32px;
    align-items: center;
  
    width: 100%;
    padding: 16px 24px;

    border-bottom: solid 2px #333;
  
    .icon{
      font-size: 39px;
      font-family: var(--ff-Copperplate);
      font-weight: 500;
      color: #333;
    }
    .title{
      color: #333;
      font-size: 15px;
      font-weight: 700;
      line-height: 1.4;
    }
    .arrow{
      position: absolute;
      top: 50%;
      right: 16px;
    
      transform: translateY(-50%);
      transition: 0.3s all linear;
    }
  }
  li.faq-item:has(input[type="checkbox"]:checked) .arrow{
    transform: translateY(-50%)rotate(225deg);
    transition: 0.3s all linear;
  }
  li.faq-item input[type="checkbox"]{
    display: none;
  }
  li.faq-item .content-wrap{
    display: grid; 
    grid-template-rows: 0fr;
    transition: 0.3s all linear;
  
    background: #EAD5E3;
  
    >div{
      overflow: hidden;
    }
  }
  li.faq-item:has(input[type="checkbox"]:checked) .content-wrap{
    grid-template-rows: 1fr;
    transition: 0.3s all linear;
  }
  li.faq-item .content-wrap .content{
    display: grid;
    grid-template-columns: auto 1fr;
    width: 100%;
    padding: 48px 24px;
    padding-right: 64px;
  }
}
main >.jcc{
  padding-bottom: 80px;

  a{
    font-size: 24px!important;
    font-weight: 600;
    font-family: "Noto Sans JP", sans-serif !important;
  }
}
@media (min-width : 1200px){
}
@media (max-width : 1200px){
}
@media (max-width : 599px){
  section#message{
    .portrait-wrap{
      display: grid;
      grid-template-columns: repeat(1,1fr);
      row-gap: 24px;
    }
  }
  section#faq{
    li.faq-item label{
      column-gap: 16px;
      padding: 16px 0px;
      padding-right: 48px;

      .icon{
        font-size: 6vw;
      }
    }
    li.faq-item .content-wrap .content{
      padding: 20px 24px;
      padding-right: 40px;
    }
  }
}