@charset "utf-8";
/*****スクロール*0509*****/
html{
  scroll-behavior: smooth;
}
img{
  max-width: 100%;
  height:auto;
}
/* CSS Document */
h1{
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 700;
    font-size: 53px;
}
h2{
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 600;
    font-size: 36px;
}
h3{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-size: 24px;
}
p{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: 16px;
  color: #18110e;
}

.wrappar{
  max-width: 1360px;
  margin: 0 auto;
}

/* ヘッダー */
header{
/*****浮かすプロパティ*****/
position:fixed;
top:0;left:auto;
z-index: 20;

width: 100%;
display: flex;
padding:1% 10% .3% 10%;
background-color: rgba(255,255,255,0.5);
div{
    margin-right: 5%;
    padding-bottom: 1%;
   
  }
nav{
    display: flex;
    gap: 35px;
    padding: 5% 0 0 0;
  }
}
.logo{
    display:none;
}

/*ハンバーガーメニュー*/
.hamburger{
    display:none;
}

/* ご予約 */
.reserve{
  position: fixed; /* バナーを追従させる */
  z-index: 99999; /* 他の要素の下に隠れないように */
  bottom: 0; /* バナーの上下の位置 */
  right: 0; /* バナーの左右の位置 */
  margin-right: 5%;
  margin-bottom: 5%;
}
/* 戻るボタン */
.back{
  position: fixed; /* バナーを追従させる */
  z-index: 99999; /* 他の要素の下に隠れないように */
  bottom: 0; /* バナーの上下の位置 */
  right: 0; /* バナーの左右の位置 */
  margin-right: 82%;
  margin-bottom: 5%;
}

/* お知らせ */
/* .notice{
    display: flex;
    justify-content: center;
    gap: 30px;
    max-width: 100%;
    padding: 1.5%;
    background-color: #ffa275;
} */

  .notice h3{
    color: #fff;
    /* display: flex;
    align-items: center; */
  }
.notice p {
    color: #fff;
    /* display: flex;
    align-items: center; */
   
  }

  .notice {
    overflow: hidden;
    position: relative;
    display: flex;
    justify-content: center;
    max-width: 100%;
    background-color: #ffa275;
    padding: 1.5%;
    margin-inline: auto;
  }
  
  .loop {
    
    animation: loop 20s linear infinite;
    width: 100%;
  }
  
  .loop2 {
    position: absolute;
    top: 35%; left: 53%;
    animation: loop 20s -4s linear infinite;
  }
  
  @keyframes loop {
    0%{
      transform: translateX(100%);
    }
    100%{
      transform: translateX(-100%);
    }
  }


  /* メイン画像 */
  .main{
    background-image: url(../img/main.png);
    max-width: 100%;
    height: 124.3vh;
    background-repeat: no-repeat;
    margin: 0 auto;
    margin-top: 9%;
    background-size: cover;
    background-position: center;
    /* background-size: contain; */
    /* background-size: 100% auto; */
  }
  .main02{
    display: flex;
    justify-content: center;
    margin: 0 auto;
    flex-direction: column;
  }
  .tool {
    display: flex;
    margin: 0 auto;
    gap: 20px;
  img {
    animation:katakata 6s infinite ease-in-out alternate;
  }}
  @keyframes katakata {
    0% {transform:translate(0, 0) rotate(0deg);}
    21% {transform:translate(0, 0) rotate(0deg);}
  
    22% {transform:translate(0, 0) rotate(-3deg);}
    23% {transform:translate(0, -1px) rotate(0deg);}
    24% {transform:translate(0, -1px) rotate(3deg);}
  
    25% {transform:translate(1px, 0) rotate(-2deg);}
    26% {transform:translate(0, 1px) rotate(0deg);}
    27% {transform:translate(0, 0) rotate(3deg);}
  
    28% {transform:translate(0, 0) rotate(0deg);}
    100% {transform:translate(0, 0) rotate(0deg);}
  }
  .main03{
    color: #fff;
    margin: 0 auto;
    margin-right: 6%;
  }

  /* ごあいさつ */
 .goaisatu{
    background-image: url(../img/goaisatu02_04.png);
    background-repeat: no-repeat;
    background-position: bottom;
    background-color: #fcfbeb;
    max-width: 100%;
    height: 130vh; 
      h2{
        display: flex;
        justify-content: center;
        padding: 6% 0;
      }
  }
 .goaisatu02{
    background-color: #fff;
    border-radius: 55px;
    display: flex;
    justify-content: center;
    margin: 0 18%;
    padding: 7% 0;
    h3{
      line-height: 200%;    
    }
  }
  .goaisatu03{
    display: flex;
    justify-content: center;
    gap: 47%;
    margin-top: -9%;
  }

/* ギャラリー */
.gallery{
  padding: 1%;
  margin-bottom: 5%;
  h2{
    display: flex;
    justify-content: center;
    margin: 12% 0 7% 0;
  }  
}
/* スライダー */
.gall01 {
    overflow: hidden;
    img{
      margin-left: 1.8%;
    }
}
.gall01 > div {
    display: flex;
    animation: slide-to-left 30s linear infinite;
}
.gall01 > div > * {
    min-width: calc(100% / 4 - 1.8%);
}
@keyframes slide-to-left {
    100% { transform: translateX(-100%) }
}
  
.gall02 {
  overflow: hidden;
  img{
    margin-left: 1.8%;
    margin-top: 3%;
  }
}
.gall02 > div {
  display: flex;
  animation: slide-to-left 30s linear infinite reverse;
}
.gall02 > div > * {
  min-width: calc(100% / 4 - 1.8%);
}
@keyframes slide-to-left {
  100% { transform: translateX(-100%) }
}

/* レッスン一覧 */
.lesson{
  margin-bottom: 8%;
  h2{
    display: flex;
    justify-content: center;
    margin: 16% 0 7% 0;
  }
}
.lessonbox{
  /* margin: 0 3%; */
  width: 100%;
}
.lesson01{
  display: flex;
  justify-content: center;
}
.lesson02{
  background-color: #a180ff;
  width: 70%;
  height: 60vh;
  border-radius: 45px;
  margin: 0 auto;
  padding: 1%;
    h3{
      display: flex;
      justify-content: center;
      margin: 12% 0;
    }
}
.lebox01{
  background-color: #fff;
  width: 72%;
  height: 31vh;
  display: flex;
  justify-content: center;
  margin: 0 auto;
    p{
      line-height: 180%;
      margin: 8% auto;
      padding: 1%;
    }
}
.lesson03{
  background-color: #73fff2;
  width: 70%;
  height: 60vh;
  border-radius: 45px;
  margin: 0 auto;
  padding: 1%;
    h3{
      display: flex;
      justify-content: center;
      margin: 12% 0;
    }
}

/* ボタン */
.botan{
  display: flex;
  justify-content: center;
  margin: 10%; 
  
}
.botan01 {
  margin: 0 18%;
  a{
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 240px;
    padding: 10px 25px;
    color: #fff;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    background: #ffa275;
    border-radius: 50px;
    border: 0.2rem solid #ffa275;
    box-shadow: 0.2rem 0.2rem 0px 0.1rem #fabea0;
    /* display: block; */
  }
}
.botan01:hover {
  a{
    transform: translate3d(0.2rem, 0.2rem, 0);
    box-shadow: none;
    opacity: 1;
    transition: all 0.2s;
  }
}
.botan01 a:after {
  content: '';
  width: 5px;
  height: 5px;
  border-top: 3px solid #ffa275;
  border-right: 3px solid #ffa275;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

/* アクセス */
.access{
  margin-bottom: 10%;
  h2{
    display: flex;
    justify-content: center;
    margin: 15% 0 7% 0;
  }
}
.access01{
  display: flex;
  justify-content: center;
}
.accebox01{
  padding: 1%;
  background-color: #ffa275;
  border-radius: 30px;
  width: 36%;
  height: 28vw;
  margin-right: 10%;
  p{
    color: #fff;
    display: flex;
    justify-content: flex-start;
    margin-top: 7%;
    margin-left: 4%;
  }
}
.accebox02{
  display: flex;
  justify-content: center;
  h3{
    color: #fff;
    margin: 5% 0 0 3%;
  }
}
.map{
  iframe{
    border-radius: 30px;
  }  
}

/* フッター */
footer{
  max-width: 100%;
  padding: 4%;
  background-color: #fcfbeb;
    h3{
      display: flex;
      justify-content: center;
    }
}
.footbox01{
  display: flex;
  justify-content: center;
  gap: 2%;
  margin-top: 2%;
}
.footbox02{
  display: flex;
  justify-content: center;
  gap: 2%;
  margin-top: 2%;
  li{
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-size: 16px;
    color: #18110e;
  }
}
.copyw{
  display: flex;
  justify-content: center;
  margin: 3% 0 1% 0;
}

/* スマイルクックとは */
.smile{
  max-width: 100%;
  background-image: url(../img/onigiritachi.png);
  background-size: contain;
  overflow: hidden;
  margin-top: 9%;
}
.smilebox{
  background-color: #fff;
  margin: 0 auto;
  margin-top: 10%;
  padding-bottom: 10%;
  width: 70%;
  padding: 0.1%;
    h2{
      display: flex;
      justify-content: center;
      margin: 10% 0 8% 0;
    }
    h3{
      display: flex;
      justify-content: center;
      text-align: center;
      font-weight: 500;
      line-height: 200%;
      margin: 5% 0 5% 0;
      padding-bottom: 8%;
    }
}

 /* 仕切りライン */
 .line{
  border: 2px solid #ffa275;
  width: 70%;
  margin: 10% auto;
}

/* 講師プロフィール */
.teacher{
  padding: 1%;
  background-color: #fff;
  width: 70%;
  margin: 0 auto;
  margin-bottom: 10%;
  padding-bottom: 5%;
    h2{
      display: flex;
      justify-content: center;
      margin: 5% 0 10% 0;
    }
}
.teachbox{
  display: flex;
  margin-left: 4%;
  margin-bottom: 10%;
    img{
      width: 40%;
    }  
}
.teachbox01{
  margin: 0 auto;
  margin-top: 2%;
    h3{
      margin-bottom: 8%;
    }
    p{
      margin-bottom: 10%;
      line-height: 170%;
    }
}

/* 親子クッキング */
.oyakodomo{
  max-width: 100%;
  background-image: url(../img/onigiritachi.png);
  background-size: contain;
  overflow: hidden;
  margin-top: 9%; 
  padding-bottom: 10%; 
}
.oyako01{
  margin-top: 15%;
  background-image: url(../img/oyako_01.png);
  display: flex;
  justify-content: center;
  /* align-items: center; */
  width: 70%;
  background-attachment: fixed;
  /* background-position: center; */
  background-size: cover;
  background-repeat: no-repeat;
  margin: 10% auto;
}
.komado{
  margin-top: 10%;
  height: 10vw;
}
.oyako{
  background-color: #fff;
  width: 70%;
  margin: 0 auto;
  padding: 1%;
    h2{
      display: flex;
      justify-content: center;
      margin: 8%;
    }
    p{
      display: flex;
      justify-content: center;
      text-align: center;
      line-height: 170%;
      padding-bottom: 10%;
    }
}
/* メニュー */
.menu01 {
  background-color: #fff;
  width: 70%;
  margin: 0 auto;
  padding: .1%;
    h2{
      display: flex;
      justify-content: center;
      margin: 5% 0 10% 0;
    }
}

.menubox{
  display: flex;
  flex-direction: row;
  justify-content: center; 
  padding-bottom: 3%;
    img{
      margin-left: 15%;
      margin-bottom: 5%;
    }
}
.menubox01{
  margin: 0 auto;
  padding-right: 5%;
    h3{
      margin: 10% 0 15% 0;
      
    }
    p{
      margin: 5% 0;
      
    }
}

/* 料金表 */
.prices{
  background-color: #fff;
  width: 70%;
  margin: 0 auto;
  padding: 1%;
    h2{
        display: flex;
        justify-content: center;
        margin: 8%;
    }
    img{
      display: flex;
      justify-content: center;
      margin: 0 auto;
    }
}
.feebox01{
  display: flex;
  justify-content: center;
  gap: 17%;
  margin: 3%;
  padding-left: 23%;
}
.feebox02{
  margin: 3% 0 10% 15%;
    p{
      margin: 2%;
    }
}

/* キッズクッキング */
.child01{
  margin-top: 15%;
  background-image: url(../img/child_02.png);
  display: flex;
  justify-content: center;
  /* align-items: center; */
  width: 70%;
  background-attachment: fixed;
  /* background-position: center; */
  background-size: cover;
  background-repeat: no-repeat;
  margin: 10% auto;
}
.kids{
  background-color: #fff;
  width: 70%;
  margin: 0 auto;
  padding: 1%;
    h2{
      display: flex;
      justify-content: center;
      margin: 8%;
    }
    p{
      display: flex;
      justify-content: center;
      text-align: center;
      line-height: 170%;
      padding-bottom: 10%;
    }
}

/* 皆さまの声 */
.voice{
  max-width: 100%;
  background-image: url(../img/onigiritachi.png);
  background-size: contain;
  overflow: hidden;
  margin-top: 9%; 
  padding-bottom: 10%;  
}
.voice01{
  background-color: #fff;
  width: 70%;
  margin: 0 auto;
  padding: 1% 0 5% 0;
  margin-top: 10%;
    h2{
      display: flex;
      justify-content: center;
      margin: 8%;
    }  
}
.voicebox{
  display: flex;
  justify-content: center;
  margin: 3% 5%;
  img{
    object-fit: none;
  } 
}
/* 左から吹き出し */
.voicebox01{
  position: relative;
  display: inline-block;
  margin: 1.8em 0 1.8em 20px;
  padding: 7px 10px;
  min-width: 120px;
  max-width: 100%;
  color: #18110e;
  
  background: #FFF;
  border: solid 3px #18110e;
  box-sizing: border-box;
  border-radius: 10px;
}
.voicebox01:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-right: 12px solid #FFF;
  z-index: 2;
}
.voicebox01:after {
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -14px;
  border: 14px solid transparent;
  border-right: 14px solid #18110e;
  z-index: 1;
}
.voicebox01 p {
  margin: 0;
  padding: 0;
}

/* 右から吹き出し */
.voicebox02{
    position: relative;
    display: inline-block;
    margin: 1.5em 15px 1.5em 0;
    padding: 7px 10px;
    min-width: 120px;
    max-width: 100%;
    color: #18110e;
    font-size: 16px;
    background: #FFF;
    border: solid 3px #18110e;
    box-sizing: border-box;
    border-radius: 10px;
}
.voicebox02:before {
  content: "";
  position: absolute;
  top: 50%;
  right: -24px;
  margin-top: -12px;
  border: 12px solid transparent;
  border-left: 12px solid #FFF;
  z-index: 2;
}
.voicebox02:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -30px;
  margin-top: -14px;
  border: 14px solid transparent;
  border-left: 14px solid #18110e;
  z-index: 1;
}
.voicebox02 p {
  margin: 0;
  padding: 0;
}

/* プライバシーポリシー */
.pp{
  width: 100%;
  background-color: #fcfbeb;
  padding: 1% 10%;
  margin-top: 9%;
  h2{
    display: flex;
    justify-content: center;
    margin-top: 8%;
  }
}
.pp_detail{
  background-color: #FFF;
  width: 100%;
  margin: 0 auto;
  margin-top: 8%;
  padding: 10% 10%;
  line-height: 180%;
    p{
      font-weight: 400;
    }
}
.pp_title01{
  margin: 3% 0;
    h3{
      font-weight: 500;
    }
  
}
.list01 li{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-size: 16px;
  color: #18110e;
  line-height: 180%;
}
.pp_info{
  line-height: 200%;
}
.pp_last{
  margin: 5% 0 0 0;
}

/* お問い合わせ */
.inquiry{
  max-width: 100%;
  background-image: url(../img/onigiritachi.png);
  background-size: contain;
  overflow: hidden;
  margin-top: 9%; 
  padding-bottom: 10%;
  padding-top: 10%;
}
.inquiry01{
  background-color: #fff;
  width: 70%;
  padding: 2%;
  line-height: 170%;
  margin: 0 auto;
    h2{
      display: flex;
      justify-content: center;
      margin: 8%;
    }
}
/* 入力フォーム */
.inq02{
  display: flex;
  justify-content: center;
  margin: 0 auto;
  background-color: #FFF;
  width: 70%;
  padding-top: 8%;
  border:  4px solid #ffa275;
        form{
            margin-bottom: 4%;

            label{
                display: block;
                margin-bottom: 1%;
                font-family: "Noto Sans JP", sans-serif;
                font-weight: 500;
                font-size:15px;
                color: #18110e;
                line-height:160%;
                letter-spacing:0.1em;
                margin-left: 0.5%;
            }
            input,textarea{
                border: 1px solid #18110e;
                padding: 2.5%;
                width: 550px;
              
                margin-bottom: 4%;
                font-family: "Noto Sans JP", sans-serif;
                font-weight: 500;
                font-size:14px;
                color: #18110e;
                line-height:160%;
                letter-spacing:0.1em;
            }
            ::placeholder{
                color: #c9c9c9;
            }
        .faq_naiyou{
                /* resize: none; */
                width: 550px;
                height:200px;
            }
        }
        .send{
            /* margin: 5% 0 10% 15%; */
            margin: 10% auto;
            width: 200px;
            height: 46px;
            background-color: #ffa275;
            border-radius: 20px;
            font-family: "Noto Sans JP", sans-serif;
            font-weight:500;
            font-size:15px;
            color: #ffffff;
            text-align: center;
            border: none;
            display: block;
        }
}

/* カレンダー */
.calendar01{
  background-image: url(../img/onigiritachi.png);
  max-width: 100%;
  background-size: contain;
  overflow: hidden;
  margin-top: 9%; 
  padding-bottom: 10%;
}  
.calendar02{
  background-color: #fff;
  width: 70%;
  margin: 0 auto;
  padding: 1% 0 7% 0;
  margin-top: 10%;
    h2{
      display: flex;
      justify-content: center;
      margin: 10%;
    }    
}
.ca{
  overflow: auto;
}
.calendar-container {
    width: 80%;
    margin: 0 auto;
    margin-bottom: 3%;
    border-radius: 10px;
    border: 2px solid #ffa275;
    color: #1a1a1a;
    padding: 3%;
  h3 {
    text-align: center;
    margin: 5% 0;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-size: 24px;
  } }
  .calendar {
    padding: 3%;
  }
  table {
    width: 100%;
  }
  th, td {
    text-align: center;
    padding: 5%;
  }
  th {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-size: 20px;
    color: #18110e;
  }
  td {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-size: 20px;
    color: #18110e;
  }
  .day *:last-child {
    color: #ff838b;
  }
  .day *:nth-last-child(2) {
    color: #6fb5ff;
  }

/****** タブレット用のブレイクポイント *****/
@media screen and (max-width: 900px){
  h2{
    font-size:clamp(28px,3.5vw,36px);
  }
  h3{
    font-size:clamp(16px,3.5vw,24px);
  }
  /* ヘッダー */
  header {
    background-color: rgba(255,255,255,1);
  }
  header nav{
    display: none;
  }
  header img{
    margin-left: 240%;
    width: 80%;
  }

  /* お知らせ */
  .loop { 
    animation: loop 20s linear infinite;
    width: 100%;
  }
  
  .loop2 {
    position: absolute;
    top: 33%; left: 59%;
    animation: loop 20s -4s linear infinite;
  }

  /* フッダー */
  footer {
    padding: 10% 0 5% 0;
  }

/* 戻るボタン */
.back{
  margin-bottom: 6%;
  margin-left: 5%;
  img{
    width: 80%;
  } 
}
/* 予約 */
.reserve{
  margin-bottom: 7%;
  img{
    width: 80%;
    margin-left: 18%;
  }
}
/* カレンダー */
.calendar{
  tr th{
    padding-left: 1%;
  }
}
/* お知らせ */
.main{
  margin-top: 10%;
}
/* メイン画像 */
  .main03 {
    h1{
      font-size:clamp(42px,3.5vw,53px);
      margin-top: 35%;
  }
  }
  /* ごあいさつ */
  .goaisatu{
    height: auto;
    padding: 1%;
    h2{
      margin-bottom: 3%;
    }
  }
  .goaisatu02{
    padding: 5%;
    height: auto;
    h3{
      font-size:clamp(14px,3.5vw,24px);
    }
  }
  .goaisatu03{
    img{
      width: 15%;
      height: auto;
    }
  }

  /* ギャラリー */


  /* レッスン一覧 */
  .lesson h2{
    margin: 20% 0 10% 0;
  }
  .lesson01 {
    display: flex;
    flex-direction: column;
  }
  .lesson02 {
    height: auto;
    padding-bottom: 15%;
  }
  .lesson03{
    height: auto;
    padding-bottom: 15%;
  }
  .lebox01{
    height: auto;
    p{
      font-size:clamp(13px,3.5vw,16px);
      font-weight: 400;
    }
  }
  .botan{
    margin-bottom: 20%;
  }
  
  /* アクセス */
  .access01{
    display: flex;
    flex-direction: column;
  }
  .accebox01{
    margin: 0 auto;
    width: 65%;
    height: auto;
    padding: 3% 0 8% 0;
  }
  .map{
    margin: 10% auto;
    margin-bottom: 10%;
  }
  /* スマイルクックとは */
  .smile{
    margin-top: 10.5%;
  }
  .smilebox{
    padding: 3%;
    h2{
      margin: 10%;
    }
  }
  .teachbox{
    display: flex;
    flex-direction: column;
    margin-right: 5%;
    img{
      width: 70%;
      margin: 5% auto;
    }
  }

  /* 仕切りライン */
  .line {
    margin: 20% auto;
  }

  /* 講師 */
  .teacher{
    padding: 1%;
    h2{
      margin: 10% 0;
    }
  }
  /* 親子クッキング */
  .oyakodomo{
    margin-top: 10%;
  }
/* メニュー */
.menu{
  padding: 1%;
  h2{
    margin: 18%;
  }
}
.menubox{
  display: flex;
  flex-direction: column;
  margin: 10% 0;
  img{
    margin: 0 auto;
    width: 70%;
  }
}
/* 入力フォーム */
  .inq02 {
    margin: auto; 
    form{
      margin-bottom: 4%;

      label{
          font-weight: 400;
      }
      input,textarea{
        margin: 2% auto;
          width: 380px;
          font-weight: 400;
      }
      .faq_naiyou{
          resize: none;
          width: 380px;
          height:100px;
      }
  }
  }

/* ハンバーガーメニュー */    
ol,
ul {
    list-style: none;
    list-style-type: none;
}

.y_nav{
    text-decoration: none;
    color: #18110e;
    font-weight: 600;
    font-size: 20px;
    letter-spacing: 0.1em;
}

.hamburger {
    margin: 20px auto 0;
    width: 100%;
    max-width: 900px;
    display: flex;
    justify-content: space-between;

}

.hamburger .btn-gNav {
    position: fixed;
    top: 32px;
    right: 50px; 
    width: 30px;
    height: 24px; 
    z-index: 1130;
    box-sizing: border-box;
    cursor: pointer;
    -webkit-transition: all 400ms;
    transition: all 400ms;
}

.hamburger .btn-gNav span {
    position: absolute;
    width: 100%;
    height: 4px;
    background: #ffa275;
    border-radius: 10px;
    -webkit-transition: all 400ms;
    transition: all 400ms;
}

.hamburger .btn-gNav span:nth-child(1) {
    top: 0;
}

.hamburger .btn-gNav span:nth-child(2) {
    top: 10px;
}

.hamburger .btn-gNav span:nth-child(3) {
    top: 20px;
}

.hamburger .btn-gNav.open span:nth-child(1) {
    background: #ffffff;
    top: 6px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.hamburger .btn-gNav.open span:nth-child(2),
.hamburger .btn-gNav.open span:nth-child(3) {
    top: 6px;
    background: #ffffff;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

.btn-gNav {
    display: none;
}

.gNav .gNav-menu {
    display: flex;
    justify-content: space-between;
}

.gNav .gNav-menu li {
    margin: 0 auto;
    padding: 0 5px;
}

}
@media screen and (max-width: 900px) {
    .btn-gNav {
        display: block;
    }

    .gNav {
        position: fixed;
        top: 0%;
        right: -100%;
        width: 100%;
        height: 100%;
        background-color: #fcfbeb;
        font-size: 16px;
        box-sizing: border-box;
        z-index: 11;
        padding-top: 50px;
        transition: .3s;
        margin-top: 63px;
    }

    .gNav.open {
        right: 0;
    }

    .gNav .gNav-menu {
        padding: 0;
        width: 100%;
        height: 100%;
        display: block;
        flex-direction: column;
        text-align: center;
        /*justify-content: center;*/
    }

    .gNav .gNav-menu li {
        width: 86%;
        padding: 15px;
        border-bottom: #ffa275 1.5px solid;
    }
}

 /***** スマホ用のブレイクポイント *****/
@media screen and (max-width: 500px) {

  h2{
    font-size:clamp(21px,3.5vw,36px);
  }
  h3{
    font-size:clamp(13px,3.5vw,24px);
  }
  p{
    font-size:clamp(11px,3.5vw,16px);
  }

  /* ヘッダー */
  header{
    img{
      width: 63%;
      margin-left: 150%;
    }
    nav{
      display: none;
    }
  }
  /* お知らせ */
  .notice {
    padding: 4%;
    h3{
      font-size: 15px;
    }
    p{
      margin-top: 1%;
      font-size: 13px;
    }  
  }
 .main{
    margin-top: 12%;
  }

  /* メイン画像 */
  .main03 {
    margin-left: 10%;
    margin-top: 30%;
    /* h1{
      font-size:clamp(28px,3.5vw,42px);
    } */
  }

  /* ハンバーガーメニュー */
  /* .gNav {
    margin-bottom: 20px;
  } */

  /* フッダー */
  

  /* 仕切りライン */
  .line {
    margin: 20% auto;
  }

  .main03 {  
    h1{
      margin: 25% 20% 0 0;
      font-size:clamp(28px,3.5vw,53px);
  }}

/* 戻るボタン */
.back{
  margin-bottom: 25%;
  img{
    width: 82%;
  } 
}
/* 予約 */
.reserve{
  margin-bottom: 25%;
  img{
    width: 75%;
    margin-left: 23%;
  }
}
/* カレンダー */
.calendar01{
  margin-top: 13%;
}
.calendar-container{
  width: 100%;
}
.calendar{
  tr th{
    font-size:clamp(11px,3.5vw,16px);
    width: 10%;
    padding-left: 1%;
  }
}

/* ギャラリー */
.gallery{
  padding: 1%;
  h2{
    margin: 20% 0 12% 0;
  }
}

/* レッスン一覧 */
.lesson{
  h2{
    margin: 25% 0 10% 0;
  }
}
/* アクセス */
.access{
  h2{
    margin: 15% 0 12% 0;
  }
}
.map{
  width: 80%;
  display: flex;
  justify-content: center;
  margin-bottom: 20%;
}
/* スマイルクックとは */
.smile{
  margin-top: 16%;
}
.smilebox{
  padding: 3%;
}
.teachbox{
  display: flex;
  flex-direction: column;
  margin-right: 5%;
  img{
    width: 70%;
    margin: 5% auto;
  }
}
/* 講師 */
.teacher{
  padding: 1%;
  h2{
    margin: 10% 0;
  }
}

/* 親子クッキング */
.oyakodomo{
  margin-top: 12%;  
}
.oyako01{
  margin-top: 15%;
  background-image: url(../img/garagara_02.png);
  display: flex;
  justify-content: center;
  /* align-items: center; */
  width: 70%;
  background-attachment: fixed;
  /* background-position: center; */
  background-size: cover;
  background-repeat: no-repeat;
  margin: 10% auto;
}
.oyako{
  margin-top: 18%;
  padding: 1% 2%;
}
/* キッズクッキング */
.child01{
  margin-top: 15%;
  background-image: url(../img/garagara_02.png);
  display: flex;
  justify-content: center;
  /* align-items: center; */
  width: 70%;
  background-attachment: fixed;
  /* background-position: center; */
  background-size: cover;
  background-repeat: no-repeat;
  margin: 10% auto;
}

/* プライバシーポリシー */
.pp{
  margin-top: 13%;
  padding-top: 11%;
  padding-bottom: 13%;
}
/* 入力フォーム */
.inq02 {
  margin: auto; 
  form{
    margin-bottom: 4%;

    label{
        font-weight: 400;
    }
    input,textarea{
      margin: 2% auto;
        width: 240px;
        font-weight: 400;
    }
    .faq_naiyou{
        resize: none;
        width: 240px;
        height:100px;
    }
}
}

}