@charset "utf-8";

/*---------------------- common CSS start---------------------- */
@import url('https://fonts.googleapis.com/css2?family=Rasa:ital,wght@0,300..700;1,300..700&family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');

:root {
  --font_color: #324353;
  --font_color2: #fff;
  --title_color: #B4AA77;
  --main_color: #7697A6;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  min-height: 0;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 180px;
}

ul {
  list-style-type: none;
}

body {
  font-family: "Zen Old Mincho", serif;
  background-color: var(--main_color);
  color: var(--font_color);
  position: relative;
}
/* 
@supports (-webkit-touch-callout: none) {
  html {
    height: -webkit-fill-available;
  }

  body {
    min-height: 100vh;
    height: -webkit-fill-available;
  }
} */

img {
  max-width: 100%;
  vertical-align: bottom;
}

h2,
h3 {
  font-family: "Rasa", serif;
  font-optical-sizing: auto;
  text-transform: uppercase;
  font-size: clamp(1.5rem, 0.75rem + 3.75vw, 3rem);
  font-weight: 400;
  color: var(--title_color);
  position: relative;
  width: max-content;
}

h3 {
  font-weight: 400;
}
h4 {
  font-size: 12px;
  color: #fff;
  background-color: var(--font_color);
  width: 100%;
  padding: 2px 8px
}

p {
  line-height: 1.8;
  letter-spacing: .1rem;
  text-align: justify;
  word-break: auto-phrase;
}

/* 
.inner {
  width: 90%;
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
}

.innermedium {
  width: 90%;
  max-width: 1000px;
  margin-right: auto;
  margin-left: auto;
}

.innersmall {
  width: 90%;
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
} */



/* common media query start*/
@media(min-width: 428px) {
  .SP_only {
    display: none;
  }

  .PC_only {
    display: block;
  }
}

@media(min-width: 960px) {
  .SP_only_2 {
    display: none;
  }

  .PC_only_2 {
    display: block;
  }
}

/* common media query End*/
/*---------------------- common CSS end---------------------- */
/*---------------------- background CSS start------------------------ */
.allBackground {
  margin-top: clamp(0.625rem, -0.156rem + 3.91vw, 2.188rem);
  margin-right: clamp(0.625rem, -0.156rem + 3.91vw, 2.188rem);
  margin-left: clamp(0.625rem, -0.156rem + 3.91vw, 2.188rem);
  margin-bottom: 40px;
  background-color: var(--font_color2);
}

@media(min-width: 428px) {
  .allBackground {
    margin-bottom: 48px;
  }
}

@media(min-width: 694px) {
  .allBackground {
    margin-bottom: 56px;
  }
}

@media(min-width: 960px) {
  .allBackground {
    margin-bottom: 72px;
  }
}

@media(min-width: 1340px) {
  .allBackground {
    margin-bottom: 96px;
  }

}

/*---------------------- background CSS end------------------------ */
/*---------------------- header CSS start------------------------ */
header {
  display: flex;
  justify-content: center;
  align-items: center;
  height: clamp(3.125rem, 1.406rem + 8.59vw, 5.563rem);
}

header img {
  width: clamp(2.5rem, 1.125rem + 6.88vw, 4.25rem);
  height: auto;

}

/*---------------------- header CSS end------------------------ */
/*---------------------- mainvisual CSS start------------------------ */
.mainvisual {
  position: relative;
  margin-bottom: 104px;
}

.mainvisualImg {
  background-image: url(../images/mainvisualSP.png);
  background-position: center;
  background-size: cover;
  height: calc(80vh - clamp(3.125rem, 1.406rem + 8.59vw, 6.563rem) - 48px);
  
  margin-left: clamp(0.938rem, -4.063rem + 25vw, 5.938rem);
  margin-right: clamp(0.938rem, -4.063rem + 25vw, 5.938rem);
  display: flex;
  justify-content: center;
  align-items: end;
}

.mainvisualImg h1 {
  margin-bottom: 36px;
}

.mainvisualImg h1 img {
  width: clamp(12.5rem, 7.813rem + 23.44vw, 21.875rem);
}

.mainvisual .copyright {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  color: var(--title_color);
  position: absolute;
  top: 20%;
  bottom: 50%;
  height: max-content;
  width: max-content;
  margin-top: auto;
  margin-bottom: auto;
  left: clamp(0rem, -1.563rem + 7.81vw, 3.125rem);
  font-size: clamp(0.75rem, 0.625rem + 0.63vw, 1rem);
}

.mainvisual .mainvisualBtn {
  display: block;
  font-weight: 500;
  color: var(--title_color);
  position: absolute;
  bottom: -80px;
  right: clamp(0.938rem, -4.063rem + 25vw, 10.938rem);
  height: max-content;
  width: max-content;
  padding: 16px 48px;
  background-color: var(--main_color);
  background-color: var(--font_color);
  text-shadow: 0 0 4px rgba(50, 67, 83, 0.2);
margin-right: auto;
margin-left: auto;
  right: 0;
  left: 0;
}

.mainvisual .mainvisualBtn:hover {
  transform: scale(1.05);
  transition: all 0.8s;
}

.mainvisual .mainvisualBtn::after {
  display: block;
  content: "";
  border: 1px solid var(--title_color);
  width: 95%;
  height: 79%;
  box-sizing: border-box;
  position: absolute;
  inset: 50%;
  margin: auto -114px;
  z-index: 0;
  text-align: center;
}


@media(min-width: 428px) {
  .mainvisual {
    margin-bottom: 0px;
  }

  .mainvisualImg {
    background-image: url(../images/mainvisualtb.png);
    height: calc(70vh - clamp(3.125rem, 1.406rem + 8.59vw, 6.563rem));
  }


  .mainvisual .mainvisualBtn {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    top: 30%;
    padding: 48px 16px;
    right: 0;
    left: auto;
    bottom: 0;
  }

  .mainvisual .mainvisualBtn::after {
    width: 83%;
    height: 95%;
    margin: -114px auto;
  }

}
@media(min-width: 768px) {
  .mainvisualImg {
    background-image: url(../images/mainvisualtb.png);
    height: calc(90vh - clamp(3.125rem, 1.406rem + 8.59vw, 6.563rem));
  }

}

@media(min-width: 960px) {
  .mainvisualImg {
    background-image: url(../images/mainvisual3.jpg);

  }
  .mainvisual .copyright {
    top: 50%;
  }
}

/*---------------------- mainvisual CSS end------------------------ */


/*---------------------- about CSS start------------------------ */
.about {
  margin-top: clamp(3.125rem, 1.406rem + 8.59vw, 6.563rem);
}

.aboutWrap {
  position: relative;
}

.aboutImg {
  width: 95%;
  margin-right: 0;
  margin-left: auto;
}

.aboutTextbox {
  background-color: rgba(118, 151, 166, 0.9);
  width: 95%;
  margin-left: auto;
  margin-right: 0;
      margin-top: -1px;
  padding-top: 32px;
  padding-bottom: 32px;
padding-right: clamp(2rem, 1.059rem + 4.71vw, 5rem);
padding-left: clamp(2rem, 1.059rem + 4.71vw, 5rem);
}

.aboutTitle {
  /* text-shadow: 0 0 4px rgba(50, 67, 83, 0.2); */
  letter-spacing: 2px;
  color: var(--font_color);
}

.aboutTitle::after {
  content: "";
  background-image: url(../images/ashirailine02.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  width: 100%;
  height: 50px;
  position: absolute;
  top: 8px;
  left: 0;
}

.aboutText {
  color: var(--font_color2);
  margin-top: 40px;
  font-weight: 400;
  font-size: clamp(0.813rem, 0.719rem + 0.47vw, 0.8rem);
  letter-spacing: 0.05rem;
}

.aboutTextSpan {
  display: inline-block;
  /* font-size: clamp(1rem, 0.75rem + 1.25vw, 1.5rem); */
  margin-top: 24px;
  font-weight: 500;
  font-family: "Rasa", serif;
  font-optical-sizing: auto;
}

@media(min-width: 428px) {
  .aboutTextbox {
    /* margin-top: -100px; */
    position: relative;
    z-index: 1;
    /* padding-right: 48px; */
    /* padding-left: 48px; */
    padding-bottom: 56px;
    padding-top: 48px;
  }

  .aboutTitle::after {
    top: clamp(1rem, 0.195rem + 3.01vw, 2rem);
  }
}

@media(min-width: 960px) {
  .aboutTextbox {
    margin-top: -240px;
    /* padding-right: 72px; */
    /* padding-left: 72px; */
    padding-bottom: 72px;
    padding-top: 64px;
    background-color: #83A1AF;
  }
}

@media(min-width: 1340px) {
  .aboutImg {
    width: 80%;

  }

  .aboutTextbox {
    background-color: rgba(118, 151, 166, 0.8);
    width: 80%;
    position: absolute;
    bottom: 0px;
    right: 0;
    /* padding-right: 80px; */
    /* padding-left: 80px; */
    /* padding-bottom: 80px; */
    /* padding-top: 72px; */
  }

  .aboutTitle::after {
    top: 32px;
  }

  .aboutText {
    font-size: 16px;
  }
}

/*---------------------- about CSS end------------------------ */
/*---------------------- Instagram_area CSS start------------------------ */
.instagram {
  margin-top: clamp(3.75rem, 1.25rem + 12.5vw, 8.75rem);
margin-right: auto;
margin-left: auto;
  /* background-color: var(--main_color); */
  position: relative;
  max-width: 850px;
  display: flex;
  flex-direction: column-reverse;
}
.instagramTitele {
  text-align: center;
  letter-spacing: 2px;
  width: max-content;
  margin-left: auto;
  margin-right: auto;
  /* text-shadow: 0 0 4px rgba(50, 67, 83, 0.2); */
  white-space: nowrap;
  /* color: #324353; */
  margin-top: 32px;
  margin-bottom: 40px;
}


.instagramTitele::after {
  content: "";
  background-image: url(../images/ashirailine.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  width: 100%;
  height: 50px;
  position: absolute;
  top: clamp(1rem, 0.499rem + 2.5vw, 2rem);
  left: 0;
}
@media(min-width: 960px) {
.instagramTitele::after {
  top: 40px;
}
}
.instagramGrid {
  height: clamp(18.75rem, 1.203rem + 87.74vw, 47.813rem);
  max-width:765px!important; 
  width:90%!important; 
}
/*---------------------- Instagram CSS end------------------------ */



/*---------------------- slider_area CSS start------------------------ */

.scroll-infinity {
  margin-top: clamp(3.75rem, 1.25rem + 12.5vw, 8.75rem);
}

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}

.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}

.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}

.scroll-infinity__item {
  width: calc(100vw / 3);
  margin-right: 16px;
}

.scroll-infinity__item>img {
  width: 100%;
}


/*---------------------- slider_area CSS end------------------------ */

/*---------------------- online_store CSS start------------------------ */

.store {
  margin-top: clamp(3.75rem, 1.25rem + 12.5vw, 8.75rem);
  margin-left: clamp(0.938rem, -4.063rem + 25vw, 10.938rem);
  margin-right: clamp(0.938rem, -4.063rem + 25vw, 10.938rem);
  margin-bottom: clamp(3.75rem, 1.25rem + 12.5vw, 8.75rem);
  background-color: var(--main_color);
  background-color: var(--font_color);
  padding: 48px 32px 56px;
  position: relative;
  max-width: 850px;
}

.store::after {
  content: "";
  display: block;
  border: 1px solid var(--title_color);
  width: 95%;
  max-width: 850px;
  height: 95%;
  position: absolute;
  top: 50%;
  bottom: 50%;
  left: 2%;
  right: 50%;
  margin: auto 0;
}

.storeTitle {
  text-align: center;
  width: auto;
  text-shadow: 0 0 4px rgba(50, 67, 83, 0.2);
  white-space: nowrap;
  font-size: clamp(1.2rem, 0.75rem + 3.75vw, 2.2rem);
}

.storeText {
  color: var(--font_color2);
  margin-top: 32px;
  font-weight: 400;
  font-size: clamp(0.813rem, 0.719rem + 0.47vw, 1rem);
  text-align: center;
}

.store::before {
  content: "";
  background-image: url(../images/ashiraiokashi.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  width: 100%;
  height: 100px;
  position: absolute;
  bottom: -32px;
  left: 0;
  z-index: 1;
}

.storeBtn {
  display: block;
  width: max-content;
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
  border: 1px solid var(--title_color);
  padding: 10px 24px;
  color: var(--title_color);
  text-shadow: 0 0 4px rgba(50, 67, 83, 0.2);
  position: relative;
  z-index: 1;
}

.storeBtn:hover {
  transform: scale(1.05);
  transition: all 0.8s;
}

.pcOnlystore {
  display: none;
}


@media(min-width: 960px) {
  .store {
    padding: 56px 56px 64px;
    margin-right: auto;
    margin-left: auto;
  }

  .store::after {
    height: 89%;
    width: 94%;
    left: 3%;
  }

  .pcOnlystore {
    display: block;
  }

  .storeText {
    text-align: center;
    font-weight: 300;
  }
}

@media(min-width: 1340px) {
  .store {
    padding: 96px 80px 112px;
    max-width: 1000px;
  }

  .store::after {
    width: 94%;
    max-width: 1000px;
    height: 88%;
    position: absolute;
    top: 50%;
    bottom: 50%;
    left: 3%;
    right: 50%;
  }


}

/*---------------------- online_store CSS end------------------------ */

/*---------------------- lineup CSS start------------------------ */
.lineUpsectionWrap {
  background-color: #EDEDED;
}
.lineup {
  background-color: #EDEDED;
  width: 100%;

}

.lineup1 {
  padding-top: clamp(1.25rem, -0.378rem + 8.14vw, 4.5rem);
}
.lineup1 {
  height: 650px;
}

.lineup2 {
  height: 600px;
}
.lineup3 {
  height: 650px;
}

.g-inner {
  position: relative;
  margin-left: clamp(0.938rem, -4.063rem + 25vw, 10.938rem);
  margin-right: clamp(0.938rem, -4.063rem + 25vw, 10.938rem);
  max-width: 1280px;
}
@media (min-width: 428px) {
  .lineup {
    height: 700px;
  }

  .lineup2 {
    height: 650px!important;
  }
  .lineup3 {
    height: clamp(40.625rem, 28.723rem + 43.48vw, 45rem)!important;
  }
}

@media (min-width: 600px) {
  .lineup {
    height: 750px;
  }

  .lineup2 {
    height: 650px!important;
  }
  .lineup3 {
    height: 730px!important;
  }
}
@media (min-width: 674px) {
  .lineup1 {
    height: 800px;
  }
  .lineup2 {
    height: 700px!important;
  }
 
  .lineup3 {
    height: 680px!important;
  }
}

@media (min-width: 873px) {
  .lineup1 {
    height: 900px;
  }
  .lineup2 {
    height: 700px!important;
  }
 
  .lineup3 {
    height: 750px!important;
  }

} 

@media (min-width: 960px) {
  .lineUpsectionWrap {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .lineup {
    height: 550px;
  }
  .lineup2 {
    height: 430px!important;
  }
  .lineup3 {
    height: 430px!important;
  }
.caption,
.thumbBtn
 {
  width: 45%;
  max-width: 500px;
}
}

/* @media (min-width: 1024px) {
  .lineup {
    height: ;
  }
  .lineup2,
  .lineup3 {
    height: !important;
  }

} */

@media (min-width: 1120px) {
  .lineup {
    height:650px;
  }
  .lineup2,
  .lineup3 {
    height: 500px!important;
  }
}

@media (min-width: 1280px) {
  
  .lineup {
    height:700px;
  }
  .lineup2,
  .lineup3 {
    height: 600px!important;
  }
  .caption,
.thumbBtn
 {
  width: 35%;
  max-width: 500px;
}
}

@media (min-width: 1400px) {

  /* .lineup {
    height: ;
  }
  .lineup2,
  .lineup3 {
    height: !important;
  } */
  .lineUpsectionWrap {
    padding-top: 100px;
    padding-bottom: 100px;
  }
}

@media (min-width: 1680px) {
  .g-inner {
  margin-left: auto;
  margin-right: auto;
  }
  .lineup {
    height:900px;
  }
  .lineup2,
  .lineup3 {
    height: 700px!important;
  }
  .lineUpsectionWrap {
    /* padding-top: 16vh; */
    padding-bottom: 0;
  }
}
/* @media (min-width: 2016px) {
  .lineup {
    height:;
  }
  .lineup2,
  .lineup3 {
    height: !important;
  }
} */

.lineupTitle {
  color: var(--font_color);
  letter-spacing: 2px;
  width: max-content;
  white-space: nowrap;
  margin-left: clamp(0.938rem, -4.063rem + 25vw, 10.938rem);
  margin-right: clamp(0.938rem, -4.063rem + 25vw, 10.938rem);
  padding-top: 32px;
  padding-bottom: 32px;
}

.lineupTitle::after {
  content: "";
  background-image: url(../images/ashirailine02.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  width: 100%;
  height: 50px;
  position: absolute;
  top: clamp(2.5rem, 1.955rem + 2.73vw, 4rem);
  left: 0;
}
.lineupSubtitle {
  color: var(--font_color);
  font-size: clamp(1.25rem, 0.977rem + 1.36vw, 2rem);
  margin-top: 48px;
}



.lineupText {
  margin-top: 24px;
  word-break: unset;
  font-size: clamp(0.813rem, 0.744rem + 0.34vw, 1rem);
}
@media (min-width: 428px) {
  .lineupTitle::after {
    width: 100%;
    max-width: 1280px;
  }
}

@media (min-width: 1680px) {
  .lineupTitle {
    margin-left: 272px;
  }
}


.thumbBtn {
  position: absolute;
  top: 180px;
  right: 0px;
  display: flex;
  gap: 16px;
  align-items: baseline;
}
#thumbBtn2,
#thumbBtn3 {
flex-wrap: wrap;
justify-content: center;
left: 0;
}
.caption {
  position: absolute;
  top: 0px;
  left: 0px;
}

.thumbBtn li {
  padding: 0 0 0 2px;
  float: left;
  text-align: right;
  width: 68px;
  height: auto;
  cursor: pointer;
}

.thumbBtn li:last-of-type {
  width: 100px;
}

#thumbBtn2 li:last-of-type {
  width: 68px;
}
#thumbBtn3 li:last-of-type {
  width: 68px;
}

.thumbBtn li.active {
  opacity: 0.5;
  filter: alpha(opacity=50);
  -ms-filter: "alpha( opacity=50 )";
}

@media (min-width: 960px) {
  .thumbBtn {
    right: 0;
    left: 0;
    justify-content: flex-end;
    top: 208px;
    top: clamp(13rem, 2.091rem + 18.18vw, 18rem);
    /* 208px-288px 960px-1400px */
    
  }
  #thumbBtn2,
  #thumbBtn3 {
    width: clamp(15.063rem, 1.563rem + 22.5vw, 21.25rem);
  }
  .thumbBtn li {
    width: clamp(4.25rem, -0.386rem + 7.73vw, 6.375rem);
  }
  
  .thumbBtn li:last-of-type {
    width: clamp(6.25rem, -0.568rem + 11.36vw, 9.375rem);
  }
  
  #thumbBtn2 li:last-of-type {
    width: clamp(4.25rem, -0.386rem + 7.73vw, 6.375rem);
  }
  #thumbBtn3 li:last-of-type {
    width: clamp(4.25rem, -0.386rem + 7.73vw, 6.375rem);
  }
}

@media (min-width: 1400px) {
  #thumbBtn2,
  #thumbBtn3 {
margin-left: clamp(1.5rem, -0.682rem + 3.64vw, 2.5rem);
/* 24px-40px 960px-1400px */
  }
}
@media (min-width: 1680px) {
  .thumbBtn {
    gap:24px;
  }
  #thumbBtn2, 
  #thumbBtn3  {
    margin-left: 0;
    width: 400px;
  }
}

.view {
  position: absolute;
  max-width: 960px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  top: 280px;
  left: 0;
}

.view img {
width: 100%;
height: 100%;
}

.view p {
  position: absolute;
  top: 24px;
  left: 0;
}
.viewText02 {
  top: 336px;
}
@media(min-width: 873px) {

  .viewText02 {
    top: 248px;
  }
}
.viewText03 {
  top: 336px;
}

@media(min-width: 674px) {

  .viewText03 {
    top: 248px;
  }

}
@media (min-width: 960px) {
  .view {
  width: 50%;
  max-width: 800px;
  right: 0;
  left: auto;
  top: 96px;
  }
  .viewText02,
  .viewText03 {
    top: 136px;
  }
  }

  @media (min-width: 1280px) {
    .view {
      width: 50%;
    }
    .viewText01 {
      top: 72px;
    }
  }
  @media (min-width: 1400px) {
    .view {
      top: 72px;
    }
    .viewText02,
    .viewText03 {
      top: 128px;
    }
    }
  @media (min-width: 1680px) {
    .view {
      top: 48px;
    }
    }


/*---------------------- lineup CSS end------------------------ */


/*---------------------- PÂTISSIÈRE CSS start------------------------ */


.patissiere {
  margin-top: clamp(3.75rem, 1.25rem + 12.5vw, 8.75rem);
  margin-left: clamp(0.938rem, -4.063rem + 25vw, 10.938rem);
  margin-right: clamp(0.938rem, -4.063rem + 25vw, 10.938rem);
  background-color: var(--main_color);
  position: relative;
  max-width: 850px;
  display: flex;
  flex-direction: column-reverse;
}

.patissiere::after {
  content: "";
  display: block;
  border: 1px solid var(--title_color);
  width: 91.5%;
  max-width: 850px;
  height: 96.5%;
  position: absolute;
  top: 50%;
  bottom: 50%;
  left: 4%;
  right: 50%;
  margin: auto 0;
}

.patissiereTitle {
  text-align: center;
  letter-spacing: 2px;
  width: auto;
  text-shadow: 0 0 4px rgba(50, 67, 83, 0.2);
  white-space: nowrap;
}

.patissiereText {
  color: var(--font_color2);
  margin-top: 32px;
  font-weight: lighter;
  font-size: clamp(0.813rem, 0.719rem + 0.47vw, 0.8rem);
}

.patissiereImgbox {
  width: 100%;
}

.patissiereTextbox {
  padding: 48px 32px 56px;
}

@media(min-width: 960px) {
  .patissiere {
    flex-direction: row;
    margin-right: auto;
    margin-left: auto;
  }

  .patissiere::after {
    width: 95.5%;
    height: 92.5%;
    left: 2%;
  }

  .patissiereTextbox {
    flex-grow: 60%;
    width: 55%;
  }

  .patissiereImgbox {
    width: 45%;
  }

  .patissiereImgbox img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }

  .patissiereTextbox::after {
    height: 89%;
    width: 94%;
    left: 3%;
  }

}

@media(min-width: 1340px) {
  .patissiere {

    max-width: 1200px;
  }

  .patissiereTextbox {
    padding: 96px 80px 112px;
  }

  .patissiere::after {
    width: 94%;
    max-width: 1200px;
    height: 88%;
    left: 3%;
  }

  .patissiereImgbox img {
    object-position: right;
  }

}

/*---------------------- PÂTISSIÈRE CSS end------------------------ */

/*---------------------- shop CSS start------------------------ */
.shop {
  margin-top: clamp(3.75rem, 1.25rem + 12.5vw, 8.75rem);
  padding-bottom: clamp(3.75rem, 1.25rem + 12.5vw, 8.75rem);
  padding-left: clamp(0.938rem, -4.063rem + 25vw, 10.938rem);
  padding-right: clamp(0.938rem, -4.063rem + 25vw, 10.938rem);
  background-color: #DDDDDD;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.shopTitle {
  width: max-content;
  padding-top: clamp(1.875rem, 0.625rem + 6.25vw, 4.375rem);
  padding-bottom: clamp(1.875rem, 0.625rem + 6.25vw, 4.375rem);
  color: var(--font_color);
}

.shopTitle::after {
  content: "";
  background-image: url(../images/ashirailine02.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  width: 100%;
  height: 50px;
  position: absolute;
  top: clamp(2.5rem, 0.75rem + 8.75vw, 6rem);
  left: 0;
}

.shopTextbox {
  /* width: 100%; */
}

.shopTextbox img {
  display: block;
  width: 50%;
  margin-right: auto;
  margin-left: auto;
  margin-top: clamp(1.875rem, 0.625rem + 6.25vw, 4.375rem);
}

dl {
  display: flex;
  flex-wrap: wrap;
  margin-top: clamp(1.875rem, 0.625rem + 6.25vw, 4.375rem);
  margin-bottom: clamp(1.875rem, 0.625rem + 6.25vw, 4.375rem);
  font-size: clamp(0.813rem, 0.719rem + 0.47vw, 1rem);
  justify-content: space-between;
  max-width: 600px;
}

dt {
  flex-basis: 20%;
  margin-top: 16px;

}

dd {
  flex-basis: 75%;
  margin-top: 16px;
}
.mapBtn {
  display: block;
  width: max-content;

  margin-top: 16px;
  border: 1px solid var(--title_color);
  padding: 8px 24px 8px 22px;
  color: var(--title_color);
  position: relative;
  z-index: 1;
}

.mapBtn:hover {
  transform: scale(1.05);
  transition: all 0.8s;
}

@media(min-width: 1340px) {
  .shopWrap {
    display: flex;
    align-items: end;
    justify-content: space-between;
  }

  .shopImg {
    width: 1000px;
  }

  .shopTextbox,
  .shopImgbox {
    flex-basis: 45%;
  }

  dl {
    margin-bottom: 16px;
    margin-top: 32px;
    max-width: 1000px;
  }
}


/*---------------------- shop CSS end------------------------ */
/*---------------------- instbtn CSS start------------------------ */
.instBtn {
  display: block;
  width: 16px;
  height: auto;
  position: absolute;
  bottom: -32px;
  right: 50%;
  left: 50%;
  margin: 0 auto;
  z-index: 1;
  cursor: pointer;
}

.instBtn img {
  transform: translateX(-50%);
  cursor: pointer;
  position: absolute;
  bottom: 0;
}

@media(min-width: 428px) {
  .instBtn {
    width: 24px;
    bottom: -36px;
  }
}

@media(min-width: 694px) {
  .instBtn {
    width: 36px;
    bottom: -46px;

  }
}

@media(min-width: 960px) {
  .instBtn {
    width: 48px;
    bottom: -60px;
  }
}

@media(min-width: 1340px) {
  .instBtn {
    width: 64px;
    bottom: -80px;
  }

}

/*---------------------- instbtn CSS end------------------------ */
/*---------------------- topbtn CSS start------------------------ */
.topBtn {
  display: block;
  width: 80px;
  height: auto;
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 10;
}

@media(min-width: 428px) {
  .topBtn {
    width: 100px;
    bottom: 10px;
  }
}

@media(min-width: 694px) {
  .topBtn {
    width: 140px;
    bottom: 10px;

  }
}

@media(min-width: 960px) {
  .topBtn {
    width: 140px;
    bottom: 10px;
  }
}

@media(min-width: 1340px) {
  .topBtn {
    width: 172px;
    bottom: 10px;
  }

}

/*---------------------- topbtn CSS end------------------------ */

/*---------------------- js CSS start------------------------ */
/* ふわっと */
.fadeIn {
  opacity: 0;
  /* 初期値は透明にしておく */
  transition: 1s;
  /* 動くスピードを0.5秒に指定 */
  position: relative;
  /* 相対位置の設定 */
  top: 50px;
  /* 事前に下に50pxずらしておく */
}


/* モーダル */
.fadeInActive {
  opacity: 1;
  /* 透明度を元に戻す */
  top: 0;
  /* ずらしていた位置を戻すことで上に上がっているようにみえる */
}


.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  /* max-width: 850px; */
  height: 100%;
  background-color: rgba(50, 67, 83, .8);
  overflow: auto;
}

.modal-content {
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 12;
  margin: 30px 20px;
  &__btn-close {
    position: absolute;
    top: -10px;
    right: -10px;
    z-index: 12;
  }
  &__body {
    padding: 20px;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
    background-color: #fff;
    border-radius: 10px;
    overflow: scroll;
  }
}
button {
  padding: 0 0 0 24px;
  border: none;
  outline: none;
  font: inherit;
  color: #fff;
  font-size: 32px;
  background: none;
  cursor: pointer;
}
.modal-content__body p {
  width: 80%;
  margin-right: auto;
  margin-left: auto;
}

.js-modal-close02 {
  display: inline-block;
  width: 100%;
text-align: center;
font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
padding: 0;
}

/*---------------------- js CSS END------------------------ */


.Event {
  margin-top: clamp(3.75rem, 1.25rem + 12.5vw, 8.75rem);
margin-right: auto;
margin-left: auto;
  max-width: 850px;
  width: 90%;
}
.eventTitle {
margin-right: auto;
margin-left: auto;
}
.eventWrap {
  display: flex;
  flex-direction: column;
  gap: 60px;
  margin-top: 60px;
}
.eventWrap:first-of-type {
  margin-top: 16px;
}
.eventWrap .none {
  display: none;
}

.eventText {
  margin-top: 32px;
  padding: 32px;
  word-break: break-word;
}
.eventFigcaption span {
  display: block;
color: #fff;
background-color: var(--font_color);
width: 100%;
padding: 2px 8px;
margin-top: -1px;
}
@media(min-width: 428px) {
  .Event {
    width: 80%;
      }
}
@media(min-width: 768px) {
  .Event {
width: 70%;
  }
  .eventWrap:last-of-type {
    padding-top: 0px;
    margin-top: 40px;
  }
}

@media(min-width: 960px) {
  .eventWrap {
    flex-direction: row;
    gap: 32px;
  }
  .eventWrap .none {
    display: block!important;
    opacity: 0;
  }
.eventBox {
    flex: 1;
  }
  .eventWrap:last-of-type {
    padding-top: 32px;
  }
  .eventBox .eventImg {
    width: 100%;
  }


}

/*---------------------- event btn CSS start------------------------ */
.mySpOverLap-fixed-bottom {
  position: fixed;
  bottom: 4px;
  left: 8px;
  width : clamp(7.5rem, 5rem + 12.5vw, 12.5rem);
  transition: 0.8s ease;
  transform: translateY(100%);
  z-index: 10000000; /* 最上面に表示 */
}

.mySpOverLapShow {
  transform: translateY(0px);
}

.eventbtn:hover {
  transform: scale(1.02);
  opacity: 0.8;
}


/*---------------------- event btn CSS end------------------------ */

/*---------------------- js CSS start------------------------ */


