/*
Theme Name: darumanoki Theme
Author: 
Version: 1.0
*/
:root{
  --main-color:#006B3D;
  --sub-color:#AB901A;
  --text-color:#313131;
}

html {
    scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size:clamp(16px, 16 / 1000 * 100vw ,18px);
  font-weight: 500;
  line-height: 2.27;
  letter-spacing: 0.07em;
  color: var(--text-color);
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  background-color: #F5F2ED;
}
*{
  box-sizing: border-box;
}
::selection {
  background-color: #d1c592; 
}
@media screen and (max-width: 767px) {
  body {
    font-size:clamp(12px, 12 / 375 * 100vw ,16px);
    line-height: 2.2;
  }
}

.container{
  max-width: 1240px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .container{
    padding: 0 28px;
  }
}
@media screen and (max-width: 375px) {
  .container{
    padding: 0 30px;
  }
}


h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
  margin: 0;
  padding: 0;
}

img{
  vertical-align: bottom;
}
a{
  text-decoration: none;
}


.pc-none{
  display: none;
}

.center{
  text-align: center;
}

.section-wide{
  margin: 0 calc(50% - 50cqi);
  width: 100vw;
}

.line-break{
  display: inline-block;
}
/********************************************
  共通
********************************************/
.heading-title{
  font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',"Zen Old Mincho",sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size:clamp(40px, 40 / 1000 * 100vw ,58px);
  line-height: 1.45;
  color: var(--main-color);
}
.heading-title-sub{
  display: block;
  font-size: 66%;
}
.en-title{
  font-family: "Josefin Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size:clamp(20px, 20 / 1000 * 100vw ,24px);
  color: var(--sub-color);
  margin: 0 0 10px;
  line-height: 1;
  text-transform: capitalize;
}
.text-high{
  line-height: 3.38;
}
@media screen and (max-width: 767px) {
  .heading-title{
    font-size:clamp(25px, 25 / 420 * 100vw ,35px);
  }
  .home .heading-title{
    font-size:clamp(30px, 30 / 420 * 100vw ,37px);
  }
  .text-high{
    line-height: 2.5;
  }

}


/* 共通角丸ボタン */
.common-btn{
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--main-color);
  color: #fff;
  font-size: 17px;
  line-height: 1 ;
  border-radius: 50px;
  width: 288px;
  height: 61px;
  text-align: center;
  transition: background-color .3s ease;
  position: relative;
  transition: 0.3s ease;
}
.common-btn.green{
  background-color: var(--main-color);
}
.common-btn.more{
  font-family: "Josefin Sans", sans-serif;
  font-size: 23px;
  text-transform: capitalize;
  width: 239px;
  height: 60px;
  gap: 32px;
}
.common-btn .arrow{
	box-sizing: border-box;
  width: 7px;
  height: 7px;
  border: 5px solid transparent;
  border-left: 6px solid #fff;
  transition: 0.3s ease;
}
.common-btn.center{
  margin: 0 auto;
}
.common-btn.border{
  color: var(--main-color);
  background-color: #fff;
  border: solid 2px var(--main-color);
  font-size: 17px;
}
.common-btn.gold{
  background-color: #90740C;
}
.common-btn .calendar{
  background: url( "./images/common/calendar.png" ) no-repeat center center / contain;
  width: 17px;
  height: 17px;
  margin-right: 10px;
}
.common-btn .cart{
  background: url( "./images/common/cart.png" ) no-repeat center center / contain;
  width: 20px;
  height: 21px;
  margin-right: 10px;
}
.common-btn .mail{
  background: url( "./images/common/mail.png" ) no-repeat center center / contain;
  width: 20px;
  height: 21px;
  margin-right: 10px;
}
.common-btn .tel{
  background: url( "./images/common/phone-white.png" ) no-repeat center center / contain;
  width: 14px;
  height: 18px;
  margin-right: 10px;
}

.common-btn:hover{
  filter: brightness(1.3);
  .arrow{
    margin-left: 5px;
  }
}
.common-btn.border:hover{
  color: #fff;
  background-color: var(--main-color);
}


@media screen and (max-width: 600px) {
  .common-btn{
    max-width: 250px;
    height: 55px;
    font-size:15px;
  }
  .common-btn.more,
  .common-btn.border{
    max-width: 250px;
    height: 55px;
    font-size:18px;
  }
}
@media screen and (max-width: 400px) {
  .common-btn{
    max-width: 170px;
    height: 42px;
    font-size:11px;
  }
  .common-btn.more,
  .common-btn.border{
    max-width: 170px;
    height: 42px;
    font-size:13px;
  }

  .common-btn .cart {
    width: 14px;
    height: 14px;
  }
  .common-btn .arrow {
    width: 5px;
    height: 5px;
    border: 4px solid transparent;
    border-left: 5px solid #fff;
  }
  .common-btn .calendar {
    width: 14px;
    height: 14px;
  }
}

.btn_flex{
    display: flex;
    justify-content: center;
}


/*共通背景*/
.bg-green{
  position: relative;
}
.bg-green::before{
  content: "";
  background: url( "./images/common/bg-green.png" )  no-repeat center center / contain;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100vw;
  height: auto;
  aspect-ratio: 1400/495;
}

.buddha{
  position: absolute;
  top: 0;
  left: 50%;
  width: 28%;
  height: auto;
  max-width: 800px;
  background: url( "./images/common/bg-buddha.png" ) no-repeat center center / cover;
  aspect-ratio: 394/330;
}

.ingredients{  /* page-topで使用 */
  position: absolute;
  top: 230px;
  right: 110px;
  width: 16vw;
  height: auto;
  max-width: 240px;
  background: url( "./images/common/ingredients1.png" ) no-repeat center center / cover;
  aspect-ratio: 225/209;
}

.ingredients2{  /* page-hopeで使用 */
  width: 17.8vw;
  height: auto;
  max-width: 270px;
  background: url( "./images/common/ingredients2.png" ) no-repeat center center / contain;
  aspect-ratio: 253/100;
  margin-right: calc((100vw - 1100px) / 2);
  margin-top: -130px;
}

.leaf{
  position: absolute;
  top: -20px;
  right: 0;
  width: 26vw;
  height: auto;
  max-width: 600px;
  background: url( "./images/common/bg-leaf.png" ) no-repeat center center / cover;
  aspect-ratio: 368/238;
  z-index: 1;
}
.leaf-reverse{
  position: absolute;
  top: -20px;
  left: 0;
  width: 26vw;
  height: auto;
  max-width: 600px;
  background: url( "./images/common/bg-leaf.png" ) no-repeat center center / cover;
  aspect-ratio: 368/238;
  transform: scaleX(-1);
}
.tree{
  position: absolute;
  bottom: 0;
  left: 0;
  width: 58%;
  height: auto;
  background: url( "./images/common/bg-tree.png" ) no-repeat center center / cover;
  aspect-ratio: 700/453;
  max-width: 800px;
  z-index: -1;
}
.light{
  position: absolute;
  top: -40px;
  right: 8.0%;
  width: 14.5%;
  height: auto;
  background: url( "./images/common/bg-light.png" ) no-repeat center center / cover;
  aspect-ratio: 174/183;
}
@media screen and (min-width: 2500px) {
  .tree{
    left: calc((100vw - 2000px) / 2);
  }
}
@media screen and (max-width: 767px) {
  .leaf{
    width: 40vw;
  }
  .leaf-reverse{
    width: 40vw;
  }
}
/* トップページ **/
.home main{
  margin-top: 85px;
  overflow-x: hidden;
}
@media screen and (max-width: 1000px) {
  .home main{
    margin-top: 65px;
  }
}
@media screen and (max-width: 600px) {
  .home main{
    margin-top: 48px;
  }
}

/********************************************
  メインビジュアル
********************************************/
.fv{
  position: relative;
  padding: 0 7vw 5px;
  .fv-frame{
    position: absolute;
    max-width: 800px;
    width: 67%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    z-index: 2;
    background-color: rgba(255, 255, 255, 0.86);
    margin: auto;
    top: 23%;
    left: 50%;
    transform: translateX(-50%);
    padding: 25px ;

    .border-top{
      position: relative;
      top: 0;
      left: 0;
      width: 100%;
    }
    .border-top::before,
    .border-top::after{
      position: absolute;
      top: 0;
      content: "";
      width: 43%;
      height: 1px;
      background-color: var(--sub-color);
    }
    .border-top::before{
      left: 0;
    }
    .border-top::after{
      right: 0;
    }

  }
  .fv-frame-inner {
    padding: 77px 0 56px;
    padding: 5.5vw 0 4vw;
    border: solid 1px var(--sub-color);
    border-top: none;
    width: 100%;
    height: 100%;
    position: relative;

  }
  .fv-frame-inner p{
    font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',"Zen Old Mincho",sans-serif;
  }
  .fv-frame-inner::before{
    content: "";
    background: url( "./images/top/icon-fv.png" )  no-repeat center center / contain;
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    width: 50px;
    height: 42px;
    z-index: 1;
  }

  .subtitle{
    font-size:clamp(26px, 26 / 1000 * 100vw ,35px);
    color: var(--sub-color);
    margin: 0 0 20px;
    line-height: 1;
  }
  .title{
    font-size:clamp(50px, 50 / 1000 * 100vw ,67px);
    color: var(--main-color);
    margin: 0 0 40px;
    line-height: 1;
  }
  .text{
    font-size:clamp(18px, 18 / 1000 * 100vw ,25px);
    color: var(--main-color);
    line-height: 1.2;
    margin: 0;
  }
  .bx-wrapper{
    max-width: 100%  ;
    z-index: 1;
    margin-bottom: 70px !important;
  }
  .fv-image{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .fv-slider{
    width: 100%;
    height: 100%;
    margin: auto;
    padding: 0;
    border-radius: 40px;
    overflow: hidden;
    aspect-ratio: 1200/690;
    max-width: 2000px;
  }
  .fv-slider li{
    width: 100%;
  }
  a.bx-pager-link {
    background-color: #C7E8EB !important;
  }
  a.bx-pager-link.active {
    background-color: #7ED0D8 !important;
  }
  @media screen and (max-width: 1000px) {
    .fv-frame {
        top:47%;
        transform: translateX(-50%) translateY(-50%);
        padding: 16px;
    }
    .subtitle{
      font-size:clamp(12px, 12 / 375 * 100vw ,26px);
      margin: 0 0 16px;
    }
    .title{
      font-size:clamp(23px, 23 / 375 * 100vw ,50px);
      margin: 0 0 30px;
    }
    .text{
      font-size:clamp(8px, 8 / 375 * 100vw ,18px);
      line-height: 1.4;
      padding: 0 1em;
    }
    .fv-frame-inner::before {
        top: -11px;
        aspect-ratio: 50/42;
        width: 4.8vw;
        height: auto;
    }
  }

  @media screen and (max-width: 767px) {
    height: 75vw;
    .bx-viewport{
      aspect-ratio: 317/232;  
      height: 100% !important;
    }
    .fv-slider{
      border-radius: 30px;
    }
    .fv-slider li {
        height: 100% !important;
        border-radius: 30px;
        overflow: hidden;
    }
    .fv-frame {
        top:43%;
        padding: 10px;
    }
    .fv-image {
        height: 100% !important;
    }
    .title {
        margin: 0 0 20px;
    }
  }
}
.fv::before{
  content: "";
  background: url( "./images/top/fv-bg1.jpg" )  no-repeat center center / cover;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100vw;
  height: 100%;
  z-index: 0;
  opacity: 0.5;
}
.fv::after{
  content: "";
  background: url( "./images/top/fv-bg2.jpg" )  no-repeat center center / cover;
  position: absolute;
  top: -85px;
  left: 0px;
  width: 100vw;
  height: calc(100% + 85px);
  z-index: -1;
}


/*　トップ：コンセプト　*/
.section-top-concept{
  padding-top: 98px;
  padding-bottom: 16px;
  .container {
    padding: 0 75px;
  }
  .en-title {
    margin: 0 0 30px;
  }
  .text{
    letter-spacing: 0.01em;
    max-width: 650px;
    margin-top: 60px;
  }
  .wrap-concept{
    display: flex;
    position: relative;
    margin-top: min(12vw,180px);
    .box-img{
      position: absolute;
      top: 0;
      left: 0;
      width: 52.5%;
      border-radius: 0 40px 40px 0;
      overflow: hidden;
      max-height: 800px;
    }
    .box-img img{
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .box-text{
      width: 70.7%;
      padding: 83px 6% 130px 27.5%;
      background-color: #fff;
      border-radius: 40px 0 0 40px;
      margin-top: 179px;
      margin-left: auto;
      .text-high{
        letter-spacing: 0.01em;
        margin-bottom: 40px;
      }
    }
    .heading-title{
      letter-spacing: -0.01em;
      position: relative;
      z-index: 1;
    }
  }
  .buddha{
    width: 54.4vw;
    left: unset;
    right: 0;
    top: -30px;
  }

  @media screen and (max-width: 1000px) {
    .buddha{
      top: 0;
    }
    .ingredients {
      top: 160px;
      right: 30px;
    }
    .leaf{
      top: 60px;
      right: 0;
    }
    .text {
        width: 70vw;
        line-height: 2.5;
    }

    .wrap-concept {
        .box-img {
            width: 45%;
        }
        .box-text {
            width: 76%;
            padding: 83px 6% 80px 23%;
        }
    }

  }
  @media screen and (max-width: 767px) {
    padding-top: 50px;
    .container {
      padding: 0 30px;
    }
    .buddha{
      top: 90px;
      right: -90px;
      width: 77vw;
    }
    .ingredients {
      top: 230px;
      right: -10px;
      width: 22vw;
    }
    .leaf {
        top: 34vw;
        width: 31vw;
    }
    .text {
        width: 60vw;
        line-height: 2.5;
        margin-top: 26px;
    }

    .wrap-concept {
        .box-img {
            width: 67.5%;
        }
        .box-text {
            margin-top: 39vw;
            width: 87%;
            padding: 35vw 25px 12vw 30px;
            .text-high{
              margin-bottom: 22px;
            }
        }
    }
    .common-btn.more{
      margin: auto;
    }
  }
  @media screen and (max-width: 550px) {
    padding-top: 38px;
    .en-title {
        margin: 0 0 20px;
    }
    .box-text {
        margin-top: 38vw;
    }
  }
}

/* トップ：店主経歴 */
.section-top-profile{
  padding-top: 275px;
  padding-top: min(20vw,275px);
  padding-bottom: 115px;
  position: relative;
  & h3{
    position: relative;
    z-index: 1;
  }
  .container-short{
    max-width: 996px;
  }
  .wrap-profile{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    .box-img{
      width: 50%;
      overflow: hidden;
      img{
        width: 100%;
        height: auto;
      }
    }
    .box-text{
      width: 50%;
    }
  }
  .wrap-profile1{
    margin-top: 89px;
    .box-img{
      border-radius: 30px 30px 0 30px;
    }
    .box-text{
      padding-left: 32px;
    }
  }
  .wrap-profile2{
    margin-bottom: 78px;
    flex-direction: row-reverse;
    .box-img{
      border-radius: 0 30px 30px 30px;
    }
    .box-text{
      padding-top: 80px;
      padding-right: 32px;
    }
  }

  .frame-greeting{
    background-color: #fff;
    border-radius: 40px;
    padding: 72px 56px 90px 80px;
    position: relative;
    .leaf-reverse{
      top: -110px;
      left: calc((100vw - 1200px) / 2 * -1);
    }
  }

  /*店主挨拶*/
  .wrap-greeting{
    display: flex;
    align-items: flex-start;
    gap: 55px;
    margin-top: 40px;
    .text{
      margin: 0;
      letter-spacing: 0;
    }
  }

  .en-title{
      margin: 0 0 10px;
  }
  .leaf {
    top: unset;
    bottom: -140px;
  }

  @media screen and (max-width: 1200px) {
    .frame-greeting {
        .leaf-reverse {
            top: -80px;
            left: -30px;
        }
    }
  }

  @media screen and (max-width: 1000px) {
    .frame-greeting {
        padding: 70px 40px 60px 40px;
    }
    .wrap-greeting{
      gap: 35px;
    }
  }
  @media screen and (max-width: 767px) {
    padding-bottom: 200px;
    .wrap-profile {
        flex-direction: column;
        gap: 10px;
        padding: 0 15px;
        margin-bottom: 100px;
        .box-img {
            width: 100%;
        }
        .box-text {
            width: 100%;
            padding: 0;
        }
    }
    .frame-greeting {
        padding: 54px 34px 60px 34px;
        .leaf-reverse {
            top: -100px;
        }
    }
    .wrap-greeting {
        gap: 20px;
        margin-top: 20px;
        flex-direction: column;
        .box-img img {
            width: 100%;
            height: auto;
        }
    }
    .wrap-profile1 {
        margin-top: 44px;
    }
    .leaf {
        bottom: 10px;
    }
  }
  @media screen and (max-width: 550px) {
    padding-bottom: 107px;
    .wrap-profile {
        margin-bottom: 65px;
    }
    .frame-greeting {
        .leaf-reverse {
            top: -72px;
        }
    }
  }
  @media screen and (max-width: 400px) {
    .frame-greeting {
        .leaf-reverse {
            top: -53px;
        }
    }
  }

}


/* トップ：メニュー・店舗情報 */
.section-top-menu{
  margin-bottom: 0;
  @media screen and (max-width: 1100px) {
    margin-bottom: 50px;
  }

}
.section-top-restaurant{
  margin-top: -80px;
}
.no-position{
  position: unset;
  display: block;
     @media screen and (max-width: 767px) {
      margin-top: -100px;
      margin-bottom: 100px;
      width: 40vw;
    }

}
.section-top-menu,.section-top-restaurant{
  overflow-x: hidden;
  position: relative;
  .slider-wrapper{
    max-width: 612px;
    width: 100%;
    margin: 0 auto;
  }
  .bx-wrapper{
    width: 100%;
    margin: 40px auto 60px;
  }
  .bx-viewport{
    overflow: visible !important;
  }
  .bx-wrapper img {
    border-radius: 30px;
  }

  @media screen and (max-width: 850px) {
      p.text.center{
        text-align: left;
        margin-bottom: 30px;
      }
    .bx-wrapper{
      margin: 28px auto 60px;
    }
  }


  @media screen and (max-width: 500px) {
    .bx-wrapper img {
        aspect-ratio: 220 / 227;
        object-fit: cover;
    }
  }


}


/* トップ：完全予約制 */
.section-top-reservations-only{
  position: relative;
  margin-top: 117px;
  margin-bottom: 76px;
  .leaf{
    top:-130px;
  }
  .wrap-reservations{
    background-color: #fff;
    border-radius: 40px;
    padding: 58px 1em;
  }
  .text-reservation{
    font-size:clamp(16px, 16 / 1000 * 100vw ,18px);
    padding: 0 8%;
  }
  .wrap-inner{
    display: flex;
    gap: 60px;
    justify-content: center;
    margin-top: 30px;

    .text{
      font-size:clamp(15px, 15 / 1000 * 100vw ,17px);
      line-height: 1.88;
      letter-spacing: 0;
      margin: 0;
      text-align: center;
    }
  }
  .box-tel {
    .inner{
      height: 215px;
    }
    .tel{ 
      color: var(--main-color);
      font-size:clamp(38px, 38 / 1000 * 100vw ,45px);
      font-family: "Josefin Sans", sans-serif;
      font-weight: 500;
      letter-spacing: 0.005em;
      border-bottom: solid 1px var(--main-color);
      padding-bottom: 5px;
      .tel-icon{
        background: url( "./images/common/phone.png" ) no-repeat center center / contain;
        width: 26px;
        height: 33px;
        margin-right: 8px;
        display: inline-block;
      }
    }
    .open{
      font-size:clamp(16px, 16 / 1000 * 100vw ,20px);
      text-align: center;
      color: var(--main-color);
      margin: -20px auto 10px;
    }
    .text{
      letter-spacing: 0.001em;
    }
  }
  .common-btn{
    margin: 30px auto 25px;
  }
  @media screen and (max-width: 1000px) {
    .wrap-inner{
      gap: 33px;
    }
    iframe {
      width: 100%;
    }
  }
  @media screen and (max-width: 767px) {
    .wrap-reservations{
      padding: 80px 27px 70px;
    }
    .text-reservation {
        font-size: clamp(12px, 12 / 375 * 100vw, 16px);
    }
    .wrap-inner {
      flex-direction: column;
      margin-top: 0;
      .text{
        font-size:clamp(10px, 10 / 375 * 100vw ,15px);     
      }
    }
    .box-tel {
      margin: auto;
      .tel{
        margin: auto;
        font-size: clamp(31px, 31 / 400 * 100vw, 38px);
        line-height: 1.0;
        margin-bottom: 20px;
      }
      .inner{
        height: auto;
        display: flex;
        flex-direction: column;
        align-items: end;
      }
      .open{
        font-size:clamp(13px, 13 / 375 * 100vw ,15px);     
      }
      .text{
        font-size:clamp(10px, 10 / 375 * 100vw ,15px);     
      }


    }
    .common-btn {
        margin: 18px auto 25px;
    }
  }
  @media screen and (max-width: 550px) {
    margin-top: 60px;
    .leaf {
        top: -60px;
    }
  }
} 

/* トップ：ヴィーガン万能調味料 */
.section-top-shop{
  padding-top: 290px;
  .wrap-shop{
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-top: 80px;
    max-width: 1042px;
  }
  .box-img{
    border-radius: 40px;
    overflow: hidden;
    width: 45%;
    height: auto;
    aspect-ratio: 478/495;
  }
  .box-text{
    width: calc(100% - 30px - 45% );
    .text{
      letter-spacing: 0;
    }
  }
  @media screen and (max-width: 767px) {
    padding-top: 170px;
    .wrap-shop{
      margin-top: 32px;
      flex-direction: column;
    }
    .box-img{
      width: 100%;
      .shop-image {
          width: 100%;
          height: auto;
      }
    }
    .box-text{
      width: 100%;
    }
  }
}

/* トップ：ダルマの木便り */
.section-top-news{
  margin-top: -90px;
  margin-bottom: 157px;

  .common-btn{
    width: 288px;
    gap: 40px;
    padding-left: 20px;
  }
  .wrap-news{
    max-width: 941px;
    margin: 60px auto 60px;
  }
  .list-news{
    display: flex;
    gap: 30px;
    padding: 0;
  }
  .news-item{
    max-width: 303px;
    background: #fff;
    border-radius: 20px;
    list-style: none;
    overflow: hidden;
  }
  .inner-text{
    padding: 0 30px 50px ;

  }
  .news-thumbnail{
    border-radius: 20px 20px 0 0;
  }
  .news-thumbnail img{
    width: 100%;
  }
  .news-date{
    font-family: "Josefin Sans", sans-serif;
    font-size: 17px;
    color: var(--main-color);
    margin-bottom: 5px;
    line-height: 1;
  }
  .news-title{
    font-size: 17px;
    line-height: 2;
    color: var(--text-color);
  }

  @media screen and (max-width: 1000px) {
    margin-top: -30px;
  }
  @media screen and (max-width: 767px) {
    margin-top: -100px;
    .news-item{
      width: calc((100% - 30px) / 2);
    }
  }
  @media screen and (max-width: 650px) {
    margin-top: -80px;
    margin-bottom: 100px;
    .news-date {
      font-size:clamp(8px, 8 / 375 * 100vw ,16px);
      margin-bottom: 0;
    }
    .news-title {
      font-size:clamp(11px, 11 / 375 * 100vw ,16px);
    }
    .inner-text {
        padding: 10px 16px 20px;
    }
    .list-news{
      gap: 7px;
    }
  }
}


/* トップ：ダルマの木 レンタルスペース */
.section-top-rental{
  margin-bottom: 96px;
  .wrap-rental{
    margin-bottom: 60px;
  }
  .rental-image{
    border-radius: 40px;
    margin: 38px auto 60px;
    display: block;
    width: 100%;
    height: auto;
  }
  .text{
    line-height: 2.27;
    max-width: 869px;
    margin: 0 auto 1.5em;
  }
  .common-btn{
    width: 288px;
    gap: 40px;
    padding-left: 20px;
  }
  @media screen and (max-width: 767px) {
    .heading-title {
        font-size: clamp(25px, 25 / 375 * 100vw, 35px);
        letter-spacing: -0.07em;
    }
    .rental-image {
        margin: 30px auto 20px;
        aspect-ratio: 281/291;
        width:  100%;
        height: auto;
        object-fit: cover;
    }
    .wrap-rental {
        margin-bottom: 40px;
    }
  }
}

/* bxslider */
.bx-wrapper {
    box-shadow: none !important;
    border: none !important;
    background: unset !important;
}

.bx-wrapper .bx-controls-direction a{
  z-index: 100 !important;
}

/*************************************
    下層ページ：共通
*************************************/
.wrap-flex{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 66px;
  padding-right: 4.2%;
  margin-bottom: 80px;
  .box-text{
    .heading-title{
      font-size:clamp(35px, 35 / 1000 * 100vw ,54px);
      line-height: 1.4;
      margin-bottom: 26px;
      text-align: center;
    }
    .text{
/*      font-size: 18px;*/
      line-height: 2.1;
      letter-spacing: 0.01em;
      margin-bottom: 40px;
    }
  }
  @media screen and (max-width: 767px) {
    .box-text{
      .heading-title{
        font-size:clamp(25px, 25 / 420 * 100vw ,40px);
      }
    }
  }


}
.wrap-flex-reverse{
  flex-direction: row-reverse;
  padding-right: 0;
  padding-left: 8.5%;
}

.mask-wrapper {
  -webkit-mask-image: url("../images/mask/mask-image.png");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: cover;
  mask-image: url("./images/mask/mask-image.png");
  mask-repeat: no-repeat;
  mask-size: cover;
}


.section-hope1{
  position: relative;
  padding: 90px 0 80px;
  overflow-x: hidden;
  .buddha{
    width: 63%;
    left: unset;
    right: 0;
    top: -70px;
  }
  @media screen and (max-width: 767px) {
    padding: 50px 0 0;
  }
}
.section-hope2{
  padding-top: 240px;
  overflow-x: hidden;
  .wrap-flex-hope2{
    gap: 40px;
    padding-right: 0;
    .box-img{
      margin-top: 100px;
    }
    .text{
      padding: 0 24px;
      position: relative;
      z-index: 1
    }
  }
  .wrap-flex-reverse{
    margin-top: -60px;
    gap: 47px;
    position: relative;
    z-index: 1;
    .box-img{
      margin-top: 54px;
    }
  }
  .section-wide{
    display: flex;
    justify-content: space-between;
    margin-top: -100px;
  }
}


.slider-wrapper-hope{
  overflow-x: hidden;
  position: relative;
  .slider-wrapper{
    max-width: 612px;
    width: 100%;
    margin: 0 auto;
  }
  .bx-wrapper{
    width: 100%;
    margin: 40px auto 60px;
  }
  .bx-viewport{
    overflow: visible !important;
  }
  .bx-wrapper img {
    border-radius: 30px;
  }
}

@media screen and (max-width: 1024px) {
  .wrap-flex {
      margin-bottom: 80px;
      gap: 40px;
  }
  .wrap-flex-reverse{
    padding-left: 3%;
  }
  .mask-wrapper{
    zoom: 85%;
  }
  .section-hope2 {
    .wrap-flex-hope2 {
      gap: 25px;
      .box-img {
          margin-top: -80px;
      }
      .text {
          padding: 0;
      }
    }

  }
}


@media screen and (max-width: 767px) {
  .wrap-flex {
    flex-direction: column-reverse;
    padding: 0 20px;
    .box-text .text {
        margin-bottom: 0;
    }
  }
  .wrap-flex-reverse{
    flex-direction: column-reverse;
    gap: 70px;
    margin-bottom: 0;
  }
  .mask-wrapper{
    zoom: 100%;
    width: 76.8vw;
  }
  .mask-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .tree {
    top: 55%;
    bottom: unset;
    left: 30px;
    width: 80%;
    max-width: 480px;
  }
  .section-hope1 .buddha {
      width: 63%;
      left: 50%;
      right: unset;
      transform: translateX(-50%);
      top: 0;
  }
  .section-hope2{
    padding-top: 26vw;
    .wrap-flex-hope2{
      padding: 0 20px;
      .box-img {
          margin-top: 60px;
      }
    }
    .wrap-flex-reverse {
        gap: 0;
        margin-bottom: 60px;
    }
  }
  .ingredients2{
    margin-top: -92vw;
    margin-right: 0;
    height: fit-content;
    width: 28vw;
  }
  .leaf-reverse{
    margin-top: 20px;
    margin-bottom: 0px;
    width: 50vw;
  }
}
@media screen and (max-width: 580px) {
  .tree {
      top: unset;
      bottom: 21%;
  }

  .wrap-flex-reverse{
    gap: 30px;
  }
  .section-hope2{
     .wrap-flex-hope2{
      gap: 50px;
      .box-img {
          margin-top: 0;
      }
    }
    .wrap-flex-reverse {
        .box-img {
            margin-top: 16px;
        }
    }
  }

}

/**************************************
    メニューページ
**************************************/
.section-menu1{
  padding: 80px 0 130px;   
  overflow-x: hidden;
  @media screen and (max-width: 600px) {
      padding: 54px 0 100px;
  }  
  @media screen and (max-width: 375px) {
      padding: 54px 0 70px;
  }  
}
.menu-introduction{
  padding-bottom: 50px;
  .text{
    font-family: yu-mincho, "Yu Mincho", "游明朝体", "YuMincho", "Yu Mincho Light", "游明朝体", "Zen Old Mincho", serif;
    font-size:clamp(18px, 18 / 1000 * 100vw ,22px);
    font-weight: 500;
    text-align: center;
    line-height: 2.7;
    margin-bottom: 1em;
    position: relative;
    z-index: 1;
  }
  .buddha{
    width: 30%;
    left: unset;
    right: 0;
    top: unset;
    bottom: -100px;
  }
  .tree{
    width: 41%;
    bottom: -100px;
    left: calc((100vw - 1200px) / 2 * -1);
  }
  @media screen and (min-width: 2500px) {
      .tree {
          left: -200px;
      }
  }

  @media screen and (max-width: 1200px) {
    .tree{
      left: 0;
    }

  }
  @media screen and (max-width: 767px) {
    .text{
      font-size:clamp(14px, 14 / 375 * 100vw ,18px);
      line-height: 2.3;
      margin-bottom: 1.5em;
    }
    .light{
      left: 12vw;
      width: 29vw;
      max-width: 140px;
    }
    .buddha{
      width: 58vw;
      max-width: 330px;
      right: -20px;
      top: -25px;
      bottom: unset;
      background-size: contain;
    }
    .tree{
      width: 61vw;
      max-width: 350px;
      height: auto;
      background-size: contain;
      background-image: url("./images/common/bg-tree-bird.png");
      aspect-ratio: 232/151;
    }
  }
  @media screen and (max-width: 480px) {
    padding-bottom: 100px;
    .buddha{
      top: 0px;
    }

    .tree{
      bottom: -30px;
    }
  }
}
.section-menu2{
  overflow-x: hidden;
  .heading-title{
    margin-bottom: 62px;
  }
  .wrap-flex {
    gap: 50px;
    padding: 0 67px 0 37px;
    margin-bottom: 100px;
  }
  @media screen and (max-width: 1000px) {
    .wrap-flex {
      gap: 30px;
      padding: 0 ;
      margin-bottom: 100px;
    }
  }
  @media screen and (max-width: 767px) {
    .wrap-flex{
      flex-direction: column;

    }
  }
  @media screen and (max-width: 550px) {
    .heading-title {
        margin-bottom: 38px;
    }
    .wrap-flex {
      margin-bottom: 50px;
    }

  }
}


.section-menu-list{
  padding-top: min(24vw ,350px);
  background-color: #F5F2ED;
  .heading-title{
    font-size:clamp(35px, 35 / 1000 * 100vw ,54px);
    margin-bottom: 60px;
    .heading-title-sub{
      font-size: 51.8%;
    }
  }
  .wrap-menu{
    display: flex;
    gap: 47px;
    margin-bottom: 100px;
  }
  .box-title{
    width: 22%;
    color: #fff;
    background-color: var(--main-color);
    font-family: yu-mincho, "Yu Mincho", "游明朝体", "YuMincho", "Yu Mincho Light", "游明朝体", "Zen Old Mincho", serif;
    font-size:clamp(20px, 20 / 1200 * 100vw ,38px);
    font-weight: 500;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .menu-title{
    font-size:clamp(20px, 20 / 1200 * 100vw ,28px);
    color: var(--main-color);
    font-weight: 500;
    border-bottom: solid 1px #C4BCAE;
    padding-bottom: 16px;
    margin-bottom: 16px;
    width: 90%;
  }
  .box-menu{
    width: 72%;
  }
  @media screen and (max-width: 1300px) {
    .wrap-menu {
      justify-content: center;
        gap: 20px;
        margin-bottom: 40px;
    }
    .box-title{
      width: 16%;
    }
  }
  @media screen and (max-width: 1100px) {
    .box-title{
      width: 14%;
    }
    .box-menu {
        width: 80%;
    }
  }
  @media screen and (max-width: 950px) {
    .heading-title{
      font-size:clamp(25px, 25 / 420 * 100vw ,35px);
      margin-bottom: 7vw;
      .heading-title-sub{
        font-size: 52%;
        margin-bottom: 15px;
      }
    }
    .wrap-menu {
        flex-direction: column;
        align-items: center;
        max-width: 700px;
        margin: 0 auto 40px;
    }
    .box-title{
      width: 100%;
      height: 75px;
    }
    .box-menu {
        width: 100%;
    }
    .menu-title{
      width: 100%;
      font-size:clamp(18px, 18 / 500 * 100vw ,20px);
    }
  }
  @media screen and (max-width: 530px) {
    .wrap-menu{
      gap: 10px;
    }
    .menu-title{
      padding-bottom: 6px;
      margin-bottom: 10px;
    }
  }
}

.menu-table td{
  font-size:clamp(15px, 15 / 1200 * 100vw ,18px);
  font-weight: 500;
  color:var(--text-color);
  padding: 0.5em 0;
  line-height: 2;
  letter-spacing: 0.01em;
  width: 100%;
}
.option {
  padding-top: 0.5em;
  font-size:clamp(15px, 15 / 1200 * 100vw ,18px);
  .flavor{
    color: var(--main-color);
      display: inline-block;
      width: 140px;
  }
}
.option p{
  margin: 0;
}
.menu-table td:last-child{
  padding-left: 30px;
  padding-right: 1em;
}
.menu-table {
  border-collapse: collapse;
  table-layout: fixed; /* 幅固定レイアウトにする */
  width: 100%;
}

.menu-table col.menu-col1 {
  width: 510px;
}
.menu-table col.menu-col2 {
  width: 30px;
}
@media screen and (max-width: 1300px) {
  .menu-table col.menu-col1 {
    width: 430px;
  }
  .option {
    .flavor {
        width: 125px;
    }
  }
}
@media screen and (max-width: 950px) {
    .menu-table col.menu-col1 {
        width: 400px;
    }
    .menu-table .option td {
      padding-left: 0;
      padding-right: 1em;
    }
}
@media screen and (max-width: 767px) {
  .menu-table col.menu-col1 {
        width: 360px;
    }
  .menu-table td{
    font-size:clamp(11px, 11 / 600 * 100vw ,15px);
  }
  .option{
     font-size:clamp(11px, 11 / 600 * 100vw ,15px);
    .flavor{
      width: 110px;
    }
  }
}

@media screen and (max-width: 600px) {
  .menu-table col.menu-col1 {
      width: 300px;
  }
  .option{
    .flavor{
      width: 90px;
    }
  }
  .menu-table td:last-child {
      padding-left: 0;
      padding-right: 0;
      line-height: 1.6;
  }
}

@media screen and (max-width: 530px) {

  .menu-table col.menu-col1 {
      width: 250px;
      width: 57vw;
  }
  .menu-table col.menu-col2 {
    width: 20px;
  }
  .font-small{
    font-size: 8px;
    line-height: 2.0;
  }
  .wrap-menu1{
    .menu-table col.menu-col1 {
      width: 220px;
      width: 53vw;
    }
  }
}

@media screen and (max-width: 480px) {
  .wrap-menu1{
    .menu-table col.menu-col1 {
      width: 220px;
      width: 50vw;
    }
  }
  .option{
    .flavor{
      width: 70px;
    }
  }
}

/* 紙芝居風の動き */
section.fixed{
	position: -webkit-sticky;/*Safari*/
	position: sticky;
	top:70px;/*Header高さ分で止まるようにする*/
}
section.fixed img{
    width: 100%;
    height: 100vh;
    object-fit: cover;
}
section.fixed:nth-child(odd){
   background:#666;/*デモ画面の奇数背景色*/
}

section.fixed:nth-child(even){
   background:#333;/*デモ画面の偶数背景色*/
}

section.fixed:last-of-type{
	padding-top:70px;
}
@media screen and (max-width: 600px) {
  section.fixed img{
      height: 60vh;
  }
}
/**************************************
    レンタルスペースページ
**************************************/
#main-slider,
#thumb-slider{
  width: 100%;
  height: auto;
  margin: 0 auto;
}
.main-slider-wrapper .bx-viewport{
  width: 100%;
  height: 620px;
}
#main-slider li{
  border-radius: 40px;
  overflow: hidden;
}
#main-slider img{
  width: 100%;
  height: 620px; 
  object-fit: cover;
  display: block;
}

#thumb-slider li a{
  cursor: pointer;
  opacity: 0.6;
}
#thumb-slider li a.active {
  opacity: 1;
}
#thumb-slider li {
  width: calc((990px - 40px) / 5);
  height: 138px; 
  object-fit: cover;
  display: block;
  border-radius: 10px;
  overflow: hidden;
}

.main-slider-wrapper .bx-wrapper{
  margin-bottom: 30px;
}
.thumb-slider-wrapper .bx-wrapper{
  margin: auto;
}
.thumb-slider-wrapper {
  margin-bottom: 70px;
}

/* サムネイル全体のラッパー */
#thumb-slider {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
    width: fit-content;
    margin: auto;
}

/* サムネイル個々 */
#thumb-slider li {
  display: inline-block;
  cursor: pointer;
  height: auto;
  aspect-ratio: 3/2;

}

/* サムネ画像 */
#thumb-slider li img {
  display: block;
  border: 2px solid transparent;
  border-radius: 20px;
  transition: border-color 0.3s;
  width: 100%;
  height: 100%;
}

/* 選択中のサムネイルに枠線 */
#thumb-slider li.active img {
  border-color: #333;
}



/* スマホ対応（3枚表示） */
@media screen and (max-width: 850px) {
  #thumb-slider li {
    width: calc((100% - 30px) / 4);
    height: auto;
    aspect-ratio: 3/2;
  }
}

/* スマホ対応（3枚表示） */
@media screen and (max-width: 580px) {
  #main-slider li {
    border-radius: 30px;
  }
  .main-slider-wrapper .bx-wrapper {
    margin-bottom: 16px;
  }
  #thumb-slider li {
    width: calc((100% - 15px) / 4);
  }
  #thumb-slider {
    gap: 5px;
  }
  #thumb-slider li img {
    border-radius: 15px;
  }
}


/*ページコントローラー（メイン画像）*/
.main-slider-wrapper .bx-wrapper .bx-prev {
    left: -15px;
    background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2223%22%20height%3D%2223%22%20viewBox%3D%220%200%2023%2023%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Crect%20width%3D%225.338%22%20height%3D%228.657%22%20transform%3D%22translate(0%200)%22%20fill%3D%22%23fff%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cg%20transform%3D%22translate(1225%201324)%20rotate(180)%22%3E%3Ccircle%20cx%3D%2211.5%22%20cy%3D%2211.5%22%20r%3D%2211.5%22%20transform%3D%22translate(1202%201301)%22%20fill%3D%22%23006b3c%22%2F%3E%3Cg%20transform%3D%22translate(1211%201308)%22%3E%3Cg%20transform%3D%22translate(0%200)%22%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22M.3%2C8.361a1.01%2C1.01%2C0%2C0%2C1%2C0-1.428L2.9%2C4.329.3%2C1.723h0A1.009%2C1.009%2C0%2C0%2C1%2C1.723.3L5.042%2C3.615a1.009%2C1.009%2C0%2C0%2C1%2C0%2C1.427L1.723%2C8.361a1.009%2C1.009%2C0%2C0%2C1-1.427%2C0%22%20transform%3D%22translate(0%200)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E');
    background-size: 30px 30px;
    background-position: center center;
    background-repeat: no-repeat;
}
.main-slider-wrapper .bx-wrapper .bx-next {
    right: -15px;
    background-image: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20width%3D%2223%22%20height%3D%2223%22%20viewBox%3D%220%200%2023%2023%22%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Crect%20width%3D%225.338%22%20height%3D%228.657%22%20transform%3D%22translate(0%200)%22%20fill%3D%22%23fff%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3Cg%20transform%3D%22translate(1225%201324)%20rotate(180)%22%3E%3Ccircle%20cx%3D%2211.5%22%20cy%3D%2211.5%22%20r%3D%2211.5%22%20transform%3D%22translate(1202%201301)%22%20fill%3D%22%23006b3c%22%2F%3E%3Cg%20transform%3D%22translate(1211%201308)%22%3E%3Cg%20transform%3D%22translate(0%200)%22%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22M.3%2C8.361a1.01%2C1.01%2C0%2C0%2C1%2C0-1.428L2.9%2C4.329.3%2C1.723h0A1.009%2C1.009%2C0%2C0%2C1%2C1.723.3L5.042%2C3.615a1.009%2C1.009%2C0%2C0%2C1%2C0%2C1.427L1.723%2C8.361a1.009%2C1.009%2C0%2C0%2C1-1.427%2C0%22%20transform%3D%22translate(0%200)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E');
    background-size: 30px 30px;
    background-position: center center;
    background-repeat: no-repeat;
    transform: scaleX(-1);
}
.main-slider-wrapper {
  .bx-wrapper .bx-next:hover, .bx-wrapper .bx-next:focus {
      background-position: 0 0;
  }
}

@media screen and (min-width: 1210px) {

  .main-slider-wrapper .bx-wrapper .bx-prev {
    left: -55px;
    transition: 0.3s;
  }
  .main-slider-wrapper .bx-wrapper .bx-next {
    right: -55px;
    transition: 0.3s;
  }
}
@media screen and (max-width: 1000px) {
  #main-slider img {
    height: 62vw; 
  }
}

@media screen and (max-width: 767px) {
  .main-slider-wrapper .bx-prev ,
  .main-slider-wrapper .bx-next {
      background-size: 25px 25px;
  }
  .thumb-slider-wrapper {
    margin-bottom: 20px;
  }
}


.section-rental1{
  padding: 90px 0 130px;
  overflow-x: hidden;
  .container-inner{
    max-width: 990px;
    margin: auto;
  }
}
.rental-table{
  width: 100%;
  margin: 120px auto 0;
  border-spacing: 0;
}
.rental-table th,
.rental-table td{
  font-size:clamp(14px, 14 / 1000 * 100vw ,18px);
  font-weight: 500;
  padding: 1.2em 0;
  line-height: 2;
  letter-spacing: 0.01em;
  width: 100%;
  border-bottom: solid 1px #C7C1B6;
}
.rental-table th{
  background-color: #EBE6DC;
  width: 24%;
}
.rental-table td{
  padding-left: 48px;
  padding-right: 60px;
  background-color: #fff;
}
.rental-table td iframe{
  margin-top: 16px;
  width: 100%;
  height: 206px;
}

@media screen and (max-width: 1240px) {
  .rental-table th {
    width: 26%;
    padding: 15px 5px;
  }
  .rental-table td {
      padding: 15px 30px;
  }
}

@media screen and (max-width: 767px) {

  .section-rental1{
    padding: 30px 0 70px;
  }
  .rental-table{
    margin: 60px auto 0;
  }
  .rental-table td {
      padding: 15px 20px;
  }

  .rental-table th,
  .rental-table td{
    font-size:clamp(11px, 11 / 375 * 100vw ,14px);
  }
}
@media screen and (max-width: 500px) {
  body:not(.home):not(.page-menu) {
    .text br{
      display: none;
    }
  }
  .rental-table td {
      padding: 15px 15px;
  }
  .td-address .sp-none,
  .td-address br{
    display: none;
  }
  .rental-table td iframe{
    margin-top: 0;
    aspect-ratio: 200/133;
    height: auto;
  }
  .section-rental1{
    .text{
      letter-spacing: 0.01em;
    }
  }
  .rental-table{
    margin: 30px auto 0;
  }
}
.section-rental2{
  padding-bottom: 230px;
  .wrap-equipment{
    display: flex;
    justify-content: space-between;
    max-width: 680px;
    margin: 87px auto 55px;
    .icon{
      margin: auto;
      display: block;
    }
    .text{
      text-align: center;
      font-size: 18px;
      font-size:clamp(15px, 15 / 1000 * 100vw ,18px);
      font-weight: 500;
      line-height: 1.66;
      letter-spacing: 0.01em;
    }
    .small{
      font-size:clamp(10px, 10 / 500 * 100vw ,15px);
      margin-top: 5px;
      display: block;
    }
  }
  .wrap-table{
    display: flex;
    justify-content: center;
    gap: 47px;
    margin-bottom: 172px;
    .rental-table{
      max-width: 416px;
      margin: 0;
    }
    .rental-table th {
      width: 46%;
    }
  }
  .frame{
    background-color: #fff;
    border-radius: 40px;
    padding: 70px 1em 100px;
    .text{
      margin-bottom: 40px;
    }
    .wrap-button{
      display: flex;
      justify-content: center;
      gap: 43px;
    }
    .common-btn{
      margin: 0;
    }
    .btn-tel{
      font-family: josefin-sans, sans-serif;
      font-weight: 500;
      font-style: normal;
      font-size: 24px;
      font-size:clamp(20px, 20 / 767 * 100vw ,24px);
      letter-spacing: 0.005em;
    }
    .btn-book{
      font-weight: bold;
    }
  }
  @media screen and (max-width: 900px) {
      padding-bottom: 80px;
      .wrap-table {
        margin-bottom: 100px;
      }
  }
  @media screen and (max-width: 767px) {
      padding-bottom: 65px;
    .wrap-equipment{
      justify-content: justify-content;
      gap: 30px;
      margin: 25px auto 33px;
      .box{
          width: 130px;
      }
      .icon {
          width: 100%;
          height: auto;
      }
      .text{
        font-size:clamp(12px, 12 / 350 * 100vw ,14px);     
      }
    }
    .frame {
      padding: 50px 1em 50px;
      .wrap-button{
        gap: 15px;
        flex-wrap: wrap;
      }
      .btn-tel{
        font-size:clamp(15px, 15 / 375 * 100vw ,20px);
      }
    }
    .wrap-table {
      margin-bottom: 50px;
    }
  }
  @media screen and (max-width: 650px) {
    .wrap-equipment{
      gap: 5px;
      .box{
          width: 110px;
      }
    }
    .wrap-table {
      gap: 15px;
    }    
  }
  @media screen and (max-width: 550px) {
     .wrap-equipment{
      flex-wrap: wrap;
      gap: 24px;
      max-width: 300px;
      .box{
          width: 45%;
      }
    }
    .wrap-table {
      flex-direction: column;
      gap: 15px;
      margin-bottom: 50px;
      .rental-table{
        width: 100%;
        max-width: 100%;
      }
    }
  }
  @media screen and (max-width: 420px) {
    .heading-title{
      font-size: 25px;
    }
    .frame {
      .btn-tel,
      .btn-book {
          max-width: unset;
          width: 200px;
          height: 42px;
      }         
      .text {
        margin-bottom: 23px;
      }
    }
    .wrap-equipment{
      gap: 10px 0;
      max-width: 270px;
      .box{
          width: 50%;
      }
      .icon{
        max-width: 110px;      
      }
    }
  }
}




/**************************************
    レンタルスペース予約フォーム
**************************************/
.page-contact .container,
.page-reservation-rental .container {
  padding: 60px 20px;
  max-width: 900px;
}

.page-contact form,
.page-reservation-rental form {
  margin-top: 60px;
}

.page-contact .wrap-item p,
.page-reservation-rental .wrap-item p {
  display: flex;
  gap: 30px;
}

.page-contact .wrap-item p br,
.page-reservation-rental .wrap-item p br {
  display: none;
}

.page-contact .wrap-item label,
.page-reservation-rental .wrap-item label {
  width: 260px;
  line-height: 1.6;
  font-size: clamp(15px, 15 / 375 * 100vw, 16px);
}

.page-contact .wrap-item p span,
.page-reservation-rental .wrap-item p span {
  width: 100%;
}

.page-contact .wrap-item input,
.page-reservation-rental .wrap-item input,
.page-contact .wrap-item textarea,
.page-reservation-rental .wrap-item textarea {
  width: 100%;
  padding: 7px 0.4em;
  border: solid 1px #ccc;
}

.page-contact .wrap-item select,
.page-reservation-rental .wrap-item select {
  color: var(--text-color);
  width: 100%;
  padding: 7px;
  border: 1px solid #ccc;
  font-size: 16px; /* iOSの自動拡大防止 */
  height: 40px;
  background-color: #fff;
}

.page-contact .wrap-item [data-name="reserve-date"] input,
.page-reservation-rental .wrap-item [data-name="reserve-date"] input {
  width: 180px;
  height: 40px;
}

.page-contact .wrap-item-num,
.page-reservation-rental .wrap-item-num {
  margin-bottom: 20px;
}

.page-contact .wrap-item-num .kome,
.page-reservation-rental .wrap-item-num .kome {
  font-size: 75%;
  color: var(--sub-color);
  margin: 0;
  margin-top: -20px;
  display: block;
}

.page-contact .haveto,
.page-reservation-rental .haveto {
  font-size: 12px;
  color: #fff;
  background-color: var(--main-color);
  padding: 2px 7px;
  border-radius: 5px;
  margin-left: 8px;
  line-height: 1;
}

.page-contact .wpcf7-submit,
.page-reservation-rental .wpcf7-submit {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--main-color);
  color: #fff;
  font-size: 17px;
  line-height: 1;
  border-radius: 50px;
  border: none;
  width: 280px;
  height: 60px;
  text-align: center;
  margin: 50px auto 0;
}

/* --- media query: 990px --- */
@media screen and (max-width: 990px) {
  .page-contact .wrap-item,
  .page-reservation-rental .wrap-item {
    margin-bottom: 24px;
  }

  .page-contact .wrap-item p,
  .page-reservation-rental .wrap-item p {
    flex-direction: column;
    gap: 8px;
  }

  .page-contact .wrap-item p br,
  .page-reservation-rental .wrap-item p br {
    display: none;
  }
}

/* --- media query: 580px --- */
@media screen and (max-width: 580px) {
  .page-contact .top-text,
  .page-reservation-rental .top-text {
    text-align: left;
  }

  .page-contact .top-text br,
  .page-reservation-rental .top-text br {
    display: none;
  }

  .page-contact .wpcf7-submit,
  .page-reservation-rental .wpcf7-submit {
    margin: 20px auto 40px;
  }

  .page-contact .wrap-item-num .kome,
  .page-reservation-rental .wrap-item-num .kome {
    font-size: 85%;
    margin-top: -14px;
  }
}

/* --- media query: 400px --- */
@media screen and (max-width: 400px) {
  .page-contact .wpcf7-submit,
  .page-reservation-rental .wpcf7-submit {
    max-width: 170px;
    height: 42px;
    font-size: 12px;
  }
}




/*************************************
    フッター
*************************************/
.footer{
  background-color: #EBE6DC;
  padding: 62px 20px 0;
  position: relative;
  overflow-x: hidden;
  .footer-logo-wrap{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: 30px;
  }
  .shop-name{
    font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',"Zen Old Mincho",sans-serif;
    font-weight: 500;
    font-size: 40px;
    color: var(--main-color);
    margin: 0 auto;
    line-height: 1;
    margin-top: 20px;
  }
  .shop-name-sub{
    font-family: 'Yu Mincho Light','YuMincho','Yu Mincho','游明朝体','Yu Mincho Light','YuMincho','Yu Mincho','游明朝体',"Zen Old Mincho",sans-serif;
    font-weight: 500;
    font-size: 23px;
    color: var(--sub-color);
    margin: 0 auto;
    line-height: 1;
  }
  .text{
    font-size: 17px;
    line-height: 1.88;
    letter-spacing: 0;
    color: var(--text-color);
    margin: 0 auto;
    text-align: center;
  }
  .text.small{
    font-size: 15px;
    line-height: 2.1;
  }
  .common-btn{
    margin: 40px 10px;

  }
  .wrap-copyright{
    color: #fff;
    background-color: #AAA089;
    padding: 20px 0;
    display: flex;
    gap: 32px;
    justify-content: center;
    align-items: center;
    line-height: 1.2;
  }
  .buddha{
    width: 390px;
  }
  @media screen and (max-width: 600px) {
    padding: 50px 20px 0;
    .footer-logo-wrap{
      flex-direction: column;
    }
    .shop-name-sub{
      font-size:clamp(17px, 17 / 375 * 100vw ,20px);
    }
    .shop-name{
      font-size:clamp(30px, 30 / 375 * 100vw ,38px);
    }
    .text {
      font-size:clamp(14px, 14 / 375 * 100vw ,17px);
    }
    .text.small {
      font-size:clamp(10px, 10 / 375 * 100vw ,15px);
    }
    .common-btn {
      margin: 40px 10px;
      display: none;
    }
    .buddha {
        top: 110px;
        width: 64vw;
        left: 43%;
    }
    .wrap-copyright {
      flex-direction: column-reverse;
      gap: 10px;
      margin-top: 40px;
      .copyright{
        font-size: 9px;
      }
    }
  }

}



/**************************************/
/* レストラン予約フォーム                 */
/**************************************/
div#booking-package-locale-ja {
    padding: 30px;
}
#booking-package {
    background-color: #FFF;
    font-size: 16px;
    padding: 30px;
}
#booking-package_inputFormPanel .form_text, 
#booking-package-loginform .form_text, 
#booking-package-user-form .form_text, 
#booking-package-user-edit-form .form_text {
    padding: 0.5em !important;
}
#booking-package button,
.return_button {
    font-size: 16px;
    background-color: var(--main-color);
    border: none;
    border-radius: 50px;
    width: 288px !important;
    height: 61px;
    padding: 12px;
    color: #fff;
    display: block;
    margin: auto;
}
.return_button {
    margin: 30px auto 0  !important;
}

@media screen and (max-width: 600px) {
  div#booking-package-locale-ja {
    padding: 30px 0;
  }
  .page-reservation-restaurant .container {
      padding: 0 20px;
  }
}


/*****************/
/* 各bxslider設定 */
/*****************/
.fv {
  .bx-wrapper img {
    width: 100%;
    height: auto; 
    aspect-ratio: 1200/690;
    max-width: 2000px;
    object-fit: cover;
    display: block;
    margin: 0;
  }

  @media screen and (max-width: 600px) {
   .bx-wrapper .bx-pager{
      zoom: 80%;
   }
  }
}

.section-top-menu ,.section-top-restaurant {
  .bx-wrapper img {
    width: 100%;
    height: 400px; 
    object-fit: cover;
    display: block;
  }
  @media screen and (max-width: 600px) {
    .bx-wrapper img {
      height: 60vw; 
    }
    .bx-wrapper .bx-controls-direction a {
      zoom: 80%;
   }
   .bx-wrapper .bx-pager{
      zoom: 72%;
   }
  }
}
.slider-menu .bx-viewport,
.slider-restaurant .bx-viewport {
  overflow: visible !important; /* デフォルトは hidden なので変更 */
}



/**********************************/
/* ダルマの木の想いページ             */
/**********************************/
.page-hope {
  .bx-wrapper img {
    width: 100%;
    height: 480px; 
    object-fit: cover;
    display: block;
  }
  @media screen and (max-width: 1000px) {
    .bx-wrapper img {
      height: 35vw; 
    }
  }
}

/**********************************/
/*  投稿ページ                      */
/**********************************/
.single-post {
  .container{
    margin: 80px auto 100px;
    font-size:clamp(14px, 14 / 400 * 100vw ,16px);
    max-width: 900px;
  }
  .single-pagenation{
    margin: 80px auto 100px;
    padding: 0 20px;
    font-size: 16px;
    max-width: 900px;
    display: flex;
    justify-content: space-between;
    & a{
      color: var(--text-color);
      font-size: 14px;
    }
  }
  @media screen and (max-width: 600px) {
    .container,.single-pagenation{
      margin: 50px auto 50px;
    }
  }
}

/**********************************/
/*  投稿一覧ページ                  */
/**********************************/
.page-news {
  .container{
    margin: 80px auto 100px;
    max-width: 900px;
    font-size: 16px;
  }
  .news-list{
    padding: 30px 50px;
    background-color: #fff;
    border-radius: 20px;
  }
  .news-item{
    list-style: none;
    margin: 5px 0;
    border-bottom: dashed 1px #a29f9f;
    padding: 12px 2px;
    line-height: 1.6;
  }
  .news-item a{
    color: var(--text-color);
    transition: 0.3s;
  }
  .news-item a:hover{
    color: #006B3D;
  }
  .date{
    margin-right: 10px;
    font-size: 15px;
  }
  @media screen and (max-width: 767px) {
    .date{
      display: block;
    }
    .news-item a{
      font-size: 15px;
    }
  }

  @media screen and (max-width: 500px) {

    .news-list{
      padding: 30px 20px;
    }
  }
}


/*************************************
    ページネーション 
*************************************/
.pagination {
    width: fit-content;
    margin: auto;
}
.wp-pagenavi a, .wp-pagenavi span {
    border: 1px solid var(--main-color) !important;
    padding: 3px 10px !important;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
    background-color: var(--main-color);
    color: #fff;
}

.wp-pagenavi a:hover {
    background-color: #91969465;
    color: #fff;
}



/*************************************
    トップへ戻るボタン 
*************************************/
.back-btn {
    display: none;
    width: 50px;
    height: 50px;
    padding: 10px 10px;
    background-color: #fff;
    color: var(--main-color);
    text-decoration: none;
    border-radius: 50%;
    position: fixed;
    bottom: 20px;
    right: 15px;
    opacity: 0;
    visibility: hidden;
    border: solid 1px var(--main-color);
    z-index: 100;
}
.back-btn::after{
    content: "";
    position: absolute;
    top: 44%;
    left: 56%;
    width: 10px;
    height: 10px;
    border-top: 2px solid var(--main-color);
    border-right: 2px solid var(--main-color);
    transform: rotate(-45deg) translate(-50%, -50%);
}
/* トップへ戻るボタンを出現 */
.back-btn.active {
    opacity: 1;
    visibility: visible;
    display: block; /* 追加: ボタンを表示する */
}

/* アンカーリンク */
.anker::before {
  content:'';
  display: block;
  padding-top: 130px;
  margin-top: -130px;
}



/****************************
    商標マーク ™︎  ®︎
  -------------------------
    ロゴマーク
    ダルマの木
    美巡鍋
    美巡だし
    Bi Jun  Dashi
******************************/
.trademark{
  position: relative;
  width: 20px;
}
.trademark::after{
  content: "™︎";
/*  content: "®︎";*/
  position: absolute;
  top: -0.3em;
  right: 0;
  font-size: 20px;
}
.text-high .trademark::after{
  top: -1.6em;
  font-size: 18px;
}
.menu-introduction .trademark::after{
  top: -1.2em;
  font-size: 18px;
}
.heading-title-sub .trademark::after{
  top: -0.5em;
  font-size: 18px;
}
.menu-title .trademark::after{
    top: -1em;
    font-size: 18px;
}
td .trademark::after{
    top: -1em;
    font-size: 18px;
}
.section-hope1 .text .trademark::after{
    top: -0.9em;
    font-size: 18px;
}
.fv .trademark::after{
    top: 0.5em;
}
.footer .trademark::after{
    top: 0.0em;
}

@media screen and (max-width: 767px) {
  .trademark::after{
    font-size: 16px;
  }

  .text-high .trademark::after{
    top: -1.1em;
    font-size: 14px;
  }
  .fv .trademark::after{
      top: 0.1em;
      font-size: 38%;
  }
  .heading-title-sub .trademark::after,
  .menu-title .trademark::after,
  td .trademark::after,
  .section-hope1 .text .trademark::after{
      font-size: 14px;
  }
}

