html{
  scroll-behavior: smooth;
}
body{
  margin: 0;
}

.bouquet{
  font-family: "a-otf-ryumin-pr6n", serif;
    font-weight: 300;
    font-style: normal;
    box-sizing: border-box;
  }


.bouquet *{
  box-sizing: border-box;
}

.bouquet ul{
list-style: none;
margin: 0;
padding: 0;
}

.bouquet a{
  text-decoration: none;
}

.bouquet dl,
.bouquet dt,
.bouquet dd{
  margin: 0;
}

.bouquet img{
  max-width: 100%;
}

/* SP */
.bouquet .title{
  color: #fff;
  font-size: 15px;
  text-align: center;
  letter-spacing: 0.3em;
  line-height: 2;
}

.bouquet .imgArea{
  width: 100%;
  height: 187px;
}
.bouquet .imgArea img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

/* header */
.bouquet .header{
  padding: 17px 20px 0;
  width: 100%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  position: fixed;
  top: 0;
}

.bouquet .header_logo{
  width: 49px;
  height: 31px;
  margin: 0;
}

.bouquet .header_btn{
  width: 22px;
  height: 18px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  z-index: 10;
  
}

.bouquet .header_btn span{
  width: 100%;
  height: 1px;
  background: #fff;
  display: block;
  transition: 0.2s;
}
.bouquet .header_btn.active span:nth-of-type(1){
transform: rotate(45deg);
margin-top: 16px;
background: #000;
}
.bouquet .header_btn.active span:nth-of-type(2){
display: none;
}
.bouquet .header_btn.active span:nth-of-type(3){
  transform: rotate(-45deg);
  background: #000;
}

.bouquet .header_menu{
  position: absolute;
  top: 0;
  right: 0;
  padding: 60px 20px;
  width: 200px;
  height: 100vh;
  background: #ffffff3d;
  backdrop-filter: blur(4px);
  border-left: 1px solid #b1a0a05e;
  right: -200px;
  transition: 0.2s;
}
.bouquet .header_menu.active {
  right: 0;
}
.bouquet .header_menu-link{
  color: #000;
  padding: 8px 0;
  display: block;
}


/* mv */
.bouquet .mv{
  width: 100vw;
  height: auto;
  aspect-ratio: 320/563;
  background: url(https://img21.shop-pro.jp/PA01491/626/etc_base64/bXY.jpg?cmsp_timestamp=20240203000344)bottom/cover no-repeat;
  padding-top: 20%;
}
.bouquet .mv_text{
  text-align: center;
  color: #fff;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.7em;
}

/* concept */
.bouquet .concept{
  background: url(https://img21.shop-pro.jp/PA01491/626/etc_base64/Ym91cXVldF9iaw.png?cmsp_timestamp=20240202213632) center/cover no-repeat;
  padding-bottom: 46px;
  color: #000;
}
.bouquet .concept .text {
  letter-spacing: 0.3em;
  line-height: 2.5;
}
.bouquet .concept_box01{
  display: flex;
  flex-direction: column-reverse;
  padding-left: 15%;
}
.bouquet .concept_box01 .img_box{
  width: 76%;
  margin-right: 0;
  margin-left: auto;
  margin-top: -40px;
}

.bouquet .concept_box01 .text_box {
  margin-top: -80px;
  margin-bottom: 40px;
}

.bouquet .concept_title {
  margin: 0;
  -webkit-text-orientation: sideways;
  text-orientation: sideways;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 2;
  letter-spacing: 0.3em;
  font-size: 15px;
  margin-bottom: 40px;
}

.bouquet .concept_box01 .text{
  font-size: 15px;
}

.bouquet .concept_box02{
  margin-bottom: 36px;
}
.bouquet .concept_box02 .img_box{
  width: 55%;
  margin-bottom: 40px;
}
.bouquet .concept_box02 .text {
  font-size: 12px;
  text-align: center;
}
.bouquet .concept_box03 {
  margin-bottom: 36px;
}

.bouquet .concept_box03 .img_box {
  width: 70%;
  margin-bottom: 40px;
  margin-right: 0;
  margin-left: auto;
}

.bouquet .concept_box03 .text {
  font-size: 12px;
  text-align: center;
}

.bouquet .concept_imgArea-img01{
  width: 58%;
}
.bouquet .concept_imgArea-img02{
  width: 34%;
  margin: -60px 0 32px auto;
}
.bouquet .concept_imgArea-img03{
  width: 68%;
  margin: 0 0 0 auto;
}

/* site */
.bouquet .site{
  background-color: #B38593;
  background-image: url(https://img21.shop-pro.jp/PA01491/626/etc_base64/Ym91cXVldF9iaw.png?cmsp_timestamp=20240202213632);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 42px 10% 54px;
}
.bouquet .site .title{
  margin-bottom: 25px;
}
.bouquet .site_img{
  height: 256px;
  width: 100%;
  margin-bottom: 25px;
}
.bouquet .site_img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom ;
}
.bouquet .site_list{
  width: fit-content;
  margin: 0 auto;
}
.bouquet .site_item{
border-bottom: 1px solid #ffffff6e;
}
.bouquet .site_item a p{
  color: #fff;
  font-size: 12px;
  /* line-height: 2.5; */
  line-height: 1.5;
  letter-spacing: 0.3em;
  margin: 0;
  padding: 1.25em 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5em;
}
.bouquet .site_item a p::after{
  content: "";
  display: block;
  width: 1.25em;
  min-width: 1.25em;
  height: 1.25em;
  background: url(../images/column-arrow.svg)center/contain no-repeat;
}

/* lineup */
.bouquet .lineup{
  color: #000;
  padding: 47px 0;
  background: url(https://img21.shop-pro.jp/PA01491/626/etc_base64/Ym91cXVldF9iaw.png?cmsp_timestamp=20240202213632)center/cover no-repeat;
}
.bouquet .lineup_menuBox{
  margin-bottom: 36px;
  padding: 0 10%;
}
.bouquet .lineup_title{
  font-size: 15px;
  letter-spacing: 0.3em;
  border-bottom: 1px solid #000;
  padding: 0 16px 14px 16px;
  line-height: 2;
  margin-bottom: 30px;
}
.bouquet .lineup_title.center{
  text-align: center;
}
.bouquet .lineup_menu-item a{
  font-size: 12px;
  letter-spacing: 0.3em;
  line-height: 2.5;
  color: #000;
}

.lineup_box{
  padding-left: 10%;
  overflow: hidden;
}
.lineup_product{
  overflow-x: scroll;
}
.lineup_wrap{
  display: flex;
  gap: 14px;
  width: fit-content;
  padding: 0 10px 20px;
}
.lineup_item{
  width: 145px;
}
.lineup_item-img {
  margin-bottom: 14px;
}

.lineup_item h4 ,
.lineup_item p {
  padding: 0 10px;
  margin: 0;
  line-height: 2.5;
  font-size: 12px;
  letter-spacing: 0.3em;
  color: #000;
}

/* shop */
.bouquet .shop{
  display: flex;
  flex-direction: column-reverse;
}
.bouquet .shop_info{
  background: #B38593;
  padding: 46px 10% 72px;
}
.bouquet .shop_access{
  margin: 16px 0 30px;
  display: flex;
  flex-wrap: wrap;
  color: #fff;
  font-size: 12px;
  line-height: 2.5;
  letter-spacing: 0.3em;
}
.bouquet .shop_access dt{
  width: 75px;
  margin-bottom: 8px;
}
.bouquet .shop_access dd{
  width: calc(100% - 75px);
  margin-bottom: 8px;
}
.bouquet .shop_map{
  width: 100%;
  height: 190px;
  overflow: hidden;
}
.bouquet .shop_map iframe{
  width: 100%;
  height: 190px;
}
.bouquet .footer{
  padding: 10px;
}
.bouquet .footer p{
  font-size: 10px;
  text-align: center;
}

/* pc */
@media screen and (min-width: 768px) {

    .bouquet .title {
      font-size: 20px;
    }
  
    .bouquet .imgArea {
      height: 620px;
    }
  
    /* header */
    .bouquet .header {
      padding: 75px 20px 0;
      width: 100%;
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      position: fixed;
      top: 0;
    }
  
    .bouquet .header_logo {
      width: 120px;
      height: 103px;
    }
  
    .bouquet .header_btn {
      display: none;
    }
  
    .bouquet .header_menu {
      position: static;
      padding: 0;
      width: fit-content;
      height: auto;
      background: transparent;
      backdrop-filter: none;
      border-left: none;
    }

    .bouquet .header_menu-list{
      display: flex;
      align-items: center;
      gap: 40px;
    }
  
    .bouquet .header_menu-link {
      color: #fff;
      padding: 4px;
      font-size: 20px;
    }
  
  
    /* mv */
    .bouquet .mv {
      width: 100vw;
      height: auto;
      background: url(https://img21.shop-pro.jp/PA01491/626/etc_base64/bXY.jpg?cmsp_timestamp=20240203000344)50% 19%/cover no-repeat;
      padding-top: 21%;
          aspect-ratio: 144/170;
    }
  
    .bouquet .mv_text {
      font-size: 30px;
    }
    
    .bouquet .mv_text br{
      display: none;
      }

    /* concept */
    .bouquet .concept {
      padding-bottom: 205px;
    }
  
    .bouquet .concept_box01 {
      display: flex;
      align-items: center;
      flex-direction: row;
      padding-left: 17%;
      padding-right: 5%;
    }
  
    .bouquet .concept_box01 .img_box {
      width: 45%;
      margin-right: 0;
      margin-left: auto;
      margin-top: -80px;
    }
  
    .bouquet .concept_box01 .text_box {
      margin-top: 0;
      margin-bottom:0;
      display: flex;
      align-items: flex-end;
      position: relative;
      z-index: 2;
    }
  
    .bouquet .concept_title {
      font-size: 20px;
      margin-bottom: 40px;
      margin-right: 60px;
    }
  
    .bouquet .concept_box01 .text {
      font-size: 20px;
      margin: 0;
    }
  
    .bouquet .concept_box02 {
      margin-bottom: 102px;
      margin-top: -120px;
      padding: 0 10%;
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
    }
  
    .bouquet .concept_box02 .img_box {
      width: 33%;
      margin-bottom: 40px;
    }
  
    .bouquet .concept_box02 .text {
      font-size: 15px;
      text-align: center;
    }
  
    .bouquet .concept_box03 {
      padding: 0 10% 0 5%;
      margin-bottom: 0px;
      display: flex;
      flex-direction: row-reverse;
    }
  
    .bouquet .concept_box03 .img_box {
      width: 45%;
      margin-bottom: 0;
      margin-right: 0;
      margin-left: auto;
    }
  
    .bouquet .concept_box03 .text .pc-hidden{
      display: none;
    }

    .bouquet .concept_box03 .text {
      font-size: 15px;
      margin: -40px 0 0 ;
    }
  
    .concept_imgArea{
      display: flex;
      justify-content: space-between;
    }

    .bouquet .concept_imgArea-img01 {
      width: 31%;
      /* margin-top: -100px; */
      margin-top: -5%;
    }
  
    .bouquet .concept_imgArea-img02 {
      width: 19%;
      margin: 80px 0 0 ;
    }
  
    .bouquet .concept_imgArea-img03 {
      width: 34%;
      margin: 273px 0 0;
    }
  
    /* site */
    .bouquet .site {
      padding: 110px 10% 80px;
    }
  
    .bouquet .site .title {
      margin-bottom: 88px;
    }
  
    .bouquet .site_img {
      height: 464px;
      width: 100%;
      max-width: 811px;
      margin: 0 auto 64px;
    }

    .bouquet .site_item{
      /* margin-bottom: 10px; */
    }
  
    .bouquet .site_item a p {
      font-size: 15px;
    }

    .bouquet .imgArea01 img{
      object-position: 50% 70%;
    }
  
    /* lineup */
    .bouquet .lineup {
      padding: 164px 0 174px;
    }

    .lineup_inner{
      display: flex;
      gap: 10%;
      padding: 0 20px;
      max-width: 1168px;
      margin: 0 auto;
    }
  
    .bouquet .lineup_menuBox {
      margin-bottom: 36px;
      padding: 0;
      width: 243px;
    }

    .lineup_contents{
      width: calc(100% - 243px);
    }
  
    .bouquet .lineup_title {
      font-size: 20px;
      margin-bottom: 48px;
    }
  
    .bouquet .lineup_menu-item a {
      font-size: 15px;
    }
  
    .lineup_box {
      padding-left:0;
      overflow: hidden;
    }
  
    .lineup_product {
      overflow-x: scroll;
    }
  
    .lineup_wrap {
      display: flex;
      gap: 22px;
      width: 100%;
      padding: 0 10px 20px;
    }
  
    .lineup_item {
      width: calc(100% / 3);
    }
  
    .lineup_item-img {
      margin-bottom: 20px;
      aspect-ratio: 1/1;
    }
      .lineup_item-img img{
        width: 100%;
        height: 100%;
        object-fit: cover;
  }
  
    .lineup_item h4,
    .lineup_item p {
      padding: 0 10px;
      font-size: 15px;
    }
  
    /* shop */
    .bouquet .shop {
      flex-direction: row;
    }
    .bouquet .shop_img{
      width: 50%;
    }
    .bouquet .shop_img img{
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .bouquet .shop_info {
      width: 50%;
      padding: 117px 20px 153px;
    }
  
    .bouquet .shop_access {
      max-width: 436px;
      margin: 90px auto ;
      color: #fff;
      font-size: 15px;
    }
  
    .bouquet .shop_access dt {
      width: 100px;
      margin-bottom: 16px;
    }
  
    .bouquet .shop_access dd {
      width: calc(100% - 100px);
      margin-bottom: 16px;
    }
  
    .bouquet .shop_map {
      max-width: 436px;
      height: 285px;
      margin: 0 auto;
    }
  
    .bouquet .shop_map iframe {
      height: 285px;
    }
  
    .bouquet .footer {
      padding: 10px;
    }
  
    .bouquet .footer p {
      font-size: 10px;
      text-align: center;
    }
}


@media screen and (min-width: 900px) {
  .bouquet .header {
    padding: 75px 43px 0;
}

.bouquet .header_logo {
   width: 163px;
}
}