@charset "utf-8";
/* CSS Document */

/* *{
    border: 1px solid #000;
}  */
img{
    max-width:100%;
    height:auto;
}
/* html{
    scroll-behavior: smooth;
  } */
/* 全体指示 */
body{
    color: #242424;
    h1{
      font-family: "Kanit", sans-serif;
      font-weight: 600;
      font-style: normal;
      font-size: 50px;
      letter-spacing: 0.04em;
    }
    h2{
        font-family: "Kanit", sans-serif;
        font-size: 2em;
        font-style: normal;
        font-weight: 700;
        padding: 1% 0;
        letter-spacing: 0.04em;
    }
    h3{
      font-family: "Kanit", sans-serif;
      font-size: 1.2em;
      font-style: normal;
      font-weight: 700;
      letter-spacing: 0.04em;
    }
    h4{
      font-family: "Noto Sans JP", sans-serif;
        font-size: 1.2em;
        font-style: normal;
        font-weight: 600;
        line-height: 1.5em;
    }
    p{
        font-family: "Noto Sans JP", sans-serif;
        font-size: 0.9em;
        font-style: normal;
        font-weight: 400;
        line-height: 1.5em;
        letter-spacing: 0.09em;
    }
    li{
        font-family: "Kanit", sans-serif;
        font-style: normal;
        font-weight: 650; 
        letter-spacing: 0.04em;
    }
    li:hover{
        color: #bdff4b;
    }
    .h1text{
        width: 15%;
    }
    .slide-bottom {
        opacity: 0;
        transform: translateY(100px);
        transition: all 1.3s 0s ease-out;
      }
      .slide-bottom02 {
        opacity: 0;
        transform: translateY(100px);
        transition: all 1.3s 0.6s ease-out;
      }
}
/* ローディング画面 */
/* 画面全体の設定 */
#loader_wrap {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 100vh;
  top: 0;
  background: #fff;
  }
  /* ローディングアニメーションの設定 */
  .loader {
  width: 150px;
  height: 150px;
  background: url("../img/awlogo.svg") no-repeat;
  opacity: 0;
  animation: blink 1.5s infinite linear;
  }
  
  @keyframes blink {
  50% {
  opacity: 1;
  }
  }
  
  /* ローディング終了後 */
  .loaded {
  opacity: 0;
  visibility: hidden;
  }

.slide-bottom {
  opacity: 0;
  transform: translateY(100px);
  transition: all 1.3s 0s ease-out;
}
/* ヘッダー */
.first-head{
  height: 100vh;
  overflow: hidden;
}

/* ハンバーガー */
.header__inner {          
    display: flex;
    justify-content: space-between;
    z-index: 50;
    li{
        text-align: center;
        font-weight: 300;
        font-size: 1.5em;
        line-height: 0.7em;
    }
  }
.drawer__button {
    position: relative;
    right: 20px;
    top:20px;
    width: 60px;
    height:60px;
    border:2px solid #242424;
    border-radius: 15px;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    background-color: #ffffff62;
    cursor: pointer;
    z-index: 999; /* メニューを開いている時もクリックできるよう設定 */
    position: fixed;
  }
  /* ハンバーガーボタン内の線 */
  .drawer__button > span {
    display: block;
    position: absolute;
    top: 28px;
    right: -12px;
    width: 40px;
    height: 2px;
    background-color: black;
    transform: translateX(-50%);
  }
  .drawer__button > span:first-child {
    transform: translate(-50%, calc(-50% - 0.5rem));
    transition: transform 0.3s ease;
  }
  .drawer__button > span:nth-child(2) {
    transform: translate(-50%, -50%);
    transition: opacity 0.3s ease;
  }
  .drawer__button > span:last-child {
    transform: translate(-50%, calc(-50% + 0.5rem));
    transition: transform 0.3s ease;
  }
  /* 展開時のデザイン */
  .drawer__button.active > span:first-child {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .drawer__button.active > span:nth-child(2) {
    opacity: 0;
  }
  .drawer__button.active > span:last-child {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  /* メニューのデザイン */
  .drawer__nav {
    position: fixed; /* 追従ヘッダーなどでも表示できるよう設定しておく */
    top: 0;
    right: 0;
    max-width: 300px;
    height: 75vh;
    transition: opacity 0.3s ease;
    opacity: 0;
    visibility: hidden;
    z-index: 998;
  }
  .drawer__nav.active {
    opacity: 1;
    visibility: visible;
  }
  .drawer__nav__inner {
    position: relative;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    background-color: #ffffff62;
    border: 2px solid #242424;
    border-radius: 30px;
    padding: 5rem 1.5rem 2rem 1rem;
    margin: 0 0 0 auto;
    transform: translateX(100%);
    transition: transform 0.3s ease;
  }
  .drawer__nav.active .drawer__nav__inner {
    transform: translateX(0);
  }
  .drawer__nav__menu {
    list-style: none;
    padding-left: 0;
  }
  .drawer__nav__link {
    display: block;
    color: black;
    text-decoration: none;
    font-weight: 500;
    padding: 0.8rem 0.8rem;
  }
  .drawer__nav__link:hover{
    color: #45a2ff;
  }
  /* ハンバーガーメニュー展開時、背景を固定 */
  body.active {
    height: 100%;
    overflow: hidden;
  }
/* ファーストビュー */
.head-top{
    max-width: 1280px;
    margin: 0 auto;
    text-align: center;
    padding-top: 3%;
    h1{
      padding: 0 0 3% 0;

    }
}
.js-scroll-slider {
  display: flex;
  margin-bottom: 20px;
}
.js-scroll-slider__item {
  flex-shrink: 0;
  width: 600px;
  margin-right: 20px;
  .top-img{
    border-radius: 100px;
  }
}

/* ギャラリー */
.workssec{
  height:fit-content;
  margin:10% auto 5% auto;
  max-width: 1280px;
  justify-content: center;
  z-index: 50;
  .webd{
    margin: 2% auto 15% auto;
  }
  .btnbox03{
    width: 250px;
    margin: 5% auto;
    text-align: center;
  a{
    display:inline-block;
  }
}
  .websitebox{
    width: 250px;
  }
  .box01{
    height: fit-content;
    h2{
      text-align: center;
    }
  }
  .box02{
    text-align: center;
    padding: 5% 5% 0 5%;
    h2{
      margin:3% 0 3% 0;
    }
    span{
      margin-bottom: 5%;
    }
  }
  .content01{
    margin: 0 auto;
    padding: 5% 5% 0 5%;
    display: flex;
    justify-content:center;
    flex-wrap: wrap;
    gap: 5%;
    .lightp{
      font-size: 50px;
    }
    img{
      margin-bottom: 5%;
    }
     a{
      width:200px;
      height: 200px;
      display:block;
      margin-bottom: 5%;
    }
  }
}
  /* コンタクト */
  .contbtn{
    width: 200px;
    padding: 5% 3%;
    align-items: center;
    border:1.5px solid #242424;
    text-align: center;
    background-color: #ffffff;
    border-radius: 80px;
    -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
        -o-transition: all 0.3s ease;
        transition: all  0.3s ease;
        p{
          font-weight: 500;
        }
  }
  .btnbox02{
      width: 200px;
      margin: 5% auto;
      text-align: center;
    a{
      display:inline-block;
    }
  }
  .contbtn:hover{
    background-color: #bdff4b;
  }
  .contactsec{
    height: auto;
    background-color: #b1cfdc;
    border-radius: 80px;
    margin: 0 5%;
    padding-bottom: 5%;
    .box01{
      max-width: 1280px;
      margin: 0 auto ;
      padding: 10% 5% 0 5%;
      text-align: center;
      
    }
  }
/* アバウト */
.aboutsec{
  height: auto;
  margin: 0 5%;
  padding: 5% 13%;
  background-color: #ffd145;
  border-radius: 80px;
  display: flex;
  .box01{
    width: 50%;
    span{
      font-size: 1.3em;
      font-weight: 600;
    }
    .sp2{
      font-size: 1.1em;
      font-weight: 600;
    }
  }
  .box02
  {
    width: 50%;
    padding: 5%;
    margin:  0 auto;
    text-align: right;
  }
}

/* 流れ */
.torikesi{
  p{
    text-decoration: line-through;
  }
}
.flowhead{
    vertical-align:text-top;
    padding: .5%;
    white-space: nowrap;
}
.flowsec{
  height: auto;
  margin: 0 5%;
  padding: 5% 13%;
  background-color: #b1cfdc;
  border-radius: 80px;
  .flowbtn_box{
    display: flex;
  }
  .toptext{
    margin:4% 0;
  }
  .content01{
    margin: 0 auto;
    li{
      margin: 0 auto;
      width: 90%;
      font-family: "Noto Sans JP", sans-serif;
        font-size: 0.9em;
        font-style: normal;
        font-weight: 400;
        line-height: 2em;
    }
    li:hover{
      color: #242424;
  }
  span{
    color: #c40000;
    font-weight: 600;
  }
    h3{
      background-color: #ebf4f8;
      border-radius: 20px;
      padding: 10px 10px 10px 15px;
      font-family:"Noto Sans JP", sans-serif;
      margin: 20px 0 10px ; 
    }
    .dfbox{
      display: flex;
      justify-content: center;
      margin: 4% 0;
    }
    .textbox{
      width: 60%;
      padding: 0 5% 2% 5%;

    }
    .frowimg{
      border-radius: 70px;
    }
  }
}
/* webトップページ */
.website_top{
  margin: 0 5%;
  padding: 5% 13%;
  background-color: #e0e0e0;
  border-radius: 80px;
  .space{
    margin-top: 10px;
  }
  .bold{
    font-weight: 600;
  }
  .webtext{
    margin: 4% 0;
    display: flex;
    padding: 2% 5%;
    .leftimg{
      display: flex;
      justify-content: center;
      align-items: center;
    }
    p{
      padding-left: 5%;
    }
  }
  .cp_qa *, .cp_qa *:after, .cp_qa *:before {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .cp_qa {
    overflow-x: hidden;
    margin: 0 auto;
    color: #333333;
  }
  .cp_qa .cp_actab {
    padding: 20px 0;
    border-bottom: 1px dotted #cccccc;
  }
  .cp_qa label {
    font-size: 1.1em;
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    padding: 10px 10px 0 48px;
    cursor: pointer;
  }
  .cp_qa .cp_actab-content {
    font-size: 1em;
    position: relative;
    overflow: hidden;
    height: 0;
    margin: 0 auto 0 40px;
    padding: 0 14px;
    -webkit-transition: 0.4s ease;
            transition: 0.4s ease;
    opacity: 0;
  }
  .cp_qa .cp_actab input[type=checkbox]:checked ~ .cp_actab-content {
    height: auto;
    padding: 14px;
    opacity: 1;
  }
  .cp_qa .cp_plus {
    font-size: 2.4em;
    line-height: 100%;
    position: absolute;
    z-index: 5;
    margin: 3px 0 0 10px;
    -webkit-transition: 0.2s ease;
            transition: 0.2s ease;
  }
  .cp_qa .cp_actab input[type=checkbox]:checked ~ .cp_plus {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .cp_qa .cp_actab input[type=checkbox] {
    display: none;
  }
}


/* webサイトページ */
.website_sec{
  background-color: #e0e0e0;
  border-radius: 80px;
  justify-content: center;
  margin: 0 5%;
  padding: 5% 8%;
  h3{
    background-color: #888888;
    color: #FFFFFF;
    padding: 2% 5%;
    border-radius: 80px;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.6em;
    font-style: normal;
    font-weight: 600;
    vertical-align:baseline;
    margin-bottom: 5%;
    .toptex{
      font-size: 18px;
    }
  }
  .box01{
  display: flex;
  .web_img{
    text-align: center;
    img{
      margin-bottom: 5%;
    }
  }
  .setumei_tex{
    width: 50%;
    padding: 5% 0 5% 5%;
    h4{
      background-color: #888888;
      color: #FFFFFF;
      padding: 2% 5%;
      border-radius: 80px;
    }
    p{
      padding: 5%;
    }
    .bottomtext{
      text-align: center;
      margin-top: 10%;
    }
  }
}
}


.sp_br{
  display: none;
}
/* フッター */
footer{
  width: 100%;
  margin: 10% 0 5% 0;
  text-align: center;
  p{
    color: #242424;
    padding-bottom: 1%;
  }
  .fottex{
    text-align: center;
    font-size: 0.8em;
  }
}




@media(min-width: 850px){

  }

/* メディアクエリ (850px) */
@media screen and (max-width:850px){
.sp_br{
  display: block;
}
.drawer__button{
  right: 5px;
    top:5px;
}
.head-top{
  width: 100%;
  margin-bottom: 15%;
  h1{
    padding-left: 2%;
    font-size: 30px;
    text-align: left;
    line-height: 0.5em;
    padding-top: 1%;
    font-weight: 700;
  }
  p{
    padding-left: 2%;
    font-size:12px;
    text-align: left;
  }
}
.js-scroll-slider__item {
  
  .top-img{
    border-radius: 80px;
  }
}
.aboutsec{
  height: 100%;
  flex-direction: column-reverse;
  padding: 10% 5% 15% 5%;
  .box01{
    width: 100%;
    .cont01{
      width: 100%;
    }
  }
}

.flowhead{
  h2{
    font-size: 30px;
  }
}
.flowsec{
  padding: 10% 5%;
  .flowbtn_box{
    flex-direction: column;
  }
  .content01{
    .dfbox{
      flex-direction: column;
      .imgbox{
        text-align: center;
      }
    }
    .textbox{
      padding: 5%;
      width: 100%;
    }
  }
}
.website_sec{
  h3{
    font-size: 1.1em;
    padding: 5%;
    .toptex{
      font-size: 16px;
    }
  }
  .box01{
    flex-direction: column;
    .setumei_tex{
      width: 100%;
  }
  }
}
.website_top{
  padding: 10% 5% 15% 5%;
  .webtext{
    flex-direction: column;
    p{
      padding: 5% 0 0 0;
    }
  }
}

} 


@supports not (backdrop-filter: blur(20px)) {
  .drawer__nav__inner {
    background: rgba(255, 255, 255, 0.66);
  }
  .drawer__button{
      background: rgba(255,255,255, 0.66);
  }
}