@charset "UTF-8";

/* main
   ========================================================================== */
@keyframes circleanime{
  0%{
    transform: scale(0);
  }
  50%{
    transform: scale(.6);
    opacity: .8;
  }
  100%{
    transform: scale(1);
    opacity: 0;
  }
}
.sound__nav{
  z-index: 5;
  position: absolute;
  z-index: 555;
}
.sound__wave{
  position: absolute;
  width: 45px;
  height: 45px;
}
.sound__wave::after,
.sound__wave::before {
  content: '';
  position: absolute;
  left: -25%;
  top: -25%;
  border: 1px solid #f2f2f2;
  width: 150%;
  height: 150%;
  border-radius: 50%;
  opacity: 0;
  animation:2s circleanime linear infinite;
}
.sound__wave::before {
    animation-delay:.5s; 
}
.sound__nav li{
  display: block;
  cursor: pointer;
}
.sound__nav li.current{
  display: none;
}
/*@media screen and (max-width:419px) {
  .main__visual{
    position: relative;
    width: 100%;
    height: 20vh;
  }
}*/
@media screen and (min-width:420px) and (max-width:599px) {
  /*.main{
    position: relative;
    width: 100%;
  }
  .main__visual{
    position: relative;
    width: 100%;
    height: 30vh;
  }
  .main__visual__slides{
    position: absolute;
    width: 100%;
    height: 30vh;
  }*/
  .sound__wave{
    bottom: 20px;
    right: 20px;
  }
  _::-webkit-full-page-media, _:future, :root .main__visual,
  _::-webkit-full-page-media, _:future, :root .main__visual__slides{
    height: -webkit-fill-available;
  }
}
@media screen and (min-width:600px) {
  .sound__wave{
    bottom: 25px;
    right: 25px;
  }
}
@media screen and (orientation:portrait) and (min-width:600px) and (max-width:1024px) {
  .main{
    /*position: relative;*/
    width: 100%;
  }
  /*.main__visual{
    position: relative;
    width: 100%;
    height: 40vh;
  }
  .main__visual__slides{
    position: relative;
    width: 100%;
    height: 100vh;
  }*/
  _::-webkit-full-page-media, _:future, :root .main__visual,
  _::-webkit-full-page-media, _:future, :root .main__visual__slides{
    height: -webkit-fill-available;
  }
}
@media screen and (orientation:landscape)  and (min-width:600px) and (max-width:1024px) {
  .main{
   /* position: relative;*/
    width: 100%;
  }
  .main__visual__slides{
    /*position: absolute;*/
    width: 75%;
    /*height: 100vh;*/
    margin-left: 25%;
  }
}
@media screen and (min-width: 1025px) {  
  .main{
    /*position: relative;*/
    width: 100%;
    height: auto;
  }
  .main__visual{
    /*position: relative;*/
    /*height: 100vh;*/
    width: 70%;
    margin-left: 30%;
  }
  .main__visual__slides{
    width: 100%;
    /*height: 100vh;*/
  }
}

/* diary
   ========================================================================== */
#diary{
  position: relative;
  background: #fff;
}
.entry__image{
  position: relative;
  overflow: hidden;
  width: 100%;
}
.entry__image img{
  width: 100%;
  height: 100%;
  background-size: cover;
  transition-duration: .6s;
}
p.entry__date{
  font-family: 'Lora', serif;
  font-weight: 400;
  font-size: 12px;
  margin-top: 20px;
  line-height: 1;
}
p.entry__title{
  font-size: 13px;
  line-height: 2;
  margin-top: 20px;
}
.swiper-horizontal>.swiper-pagination-bullets{
  width:auto;
}
.swiper-pagination{
  text-align: left;
  bottom: 0!important;
}
.swiper-pagination-bullet {
  border-radius: inherit;
  margin: 0 5px!important;
  height: 5px;
  background: #302210;
}
.swiper-pagination-bullet-active {
  background: #302210;
  opacity: 1;
}
.btn__more{
  position: absolute;
  bottom: 0;
  font-family: 'Lora', serif;
  font-weight: 400;
  font-size: 15px;
}
.btn__more a{
  display: flex;
  align-items: center;
  transition-duration: .4s;
  transition-property: color;
  margin-right: 15px;
}
.btn__more a::after{
  content: '';
  width: 40px;
  height: 8px;
  border-bottom: solid 1px #302210;
  border-right: solid 1px #302210;
  transform: skew(45deg);
  margin-left: 15px;
  transition-duration: .4s;
  transition-property: opacity;
}
@media screen and (max-width:599px) {
  #diary{
    padding-top: 40px;
    padding-bottom: 40px;
    margin-top: 0px;
  }
  .swiper{
    width: 90%;
    padding-bottom: 60px;
  }
  .swiper-pagination-bullet {
    margin: 0 2px!important;
    width: 30px;
  }
  .btn__more{
    right: 0;
  }
}
@media screen and (min-width:600px){
  #diary{
    padding-bottom: 60px;
  }
  #diary::before{
    position: absolute;
    content: "";
    display: block;
    background: #f2f2f2;
    width: 100%;
    height: 40%;
    top: 0px;
  }
  .entry__image:hover img{
    transform: scale(1.1);
  }
  .swiper{
    width: calc(90% - 30px);
    margin-left: 8%;
    padding-bottom: 60px;
  }
  .swiper-pagination-bullet {
    margin: 0 5px!important;
    width: 90px;
  }
  .btn__more{
    right: 0;
  }
  .btn__more a:hover{
    color: #937C5E;
  }
  .btn__more a:hover::after{
    opacity: .5;
  }
}
@media screen and (min-width: 1025px) {
  #diary{
    padding-bottom: 80px;
  }
  .swiper{
    padding-bottom: 80px;
  }
  .btn__more{
    right: 10%;
  }
}


/* about
   ========================================================================== */
.about_wreath {
  /*overflow: hidden;*/
  /*transform: translate3d(0, 0, 0);*/
  background: url("./images/about_wreath.jpg") no-repeat;
  background-size: 100% auto;
}
/*.about_wreath:before {
  /*content: '';
  display: block;
  background: url("./images/about_wreath.jpg") no-repeat 0 0;
  background-size: 100% 100%;
  /*padding-top: 382%;
  /*animation: about_wreath .8s steps(4) infinite;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}*/
/*.about_wreath:after {
  content: '';
  display: block;
  padding-top: 95.5%;
}*/
.about__intro h3{
  font-family: 'Zen Old Mincho', serif;
  font-weight:400;
  font-size: 18px;
  line-height: 2;
  letter-spacing: .05em;
}
.about__intro h4{
  font-family: 'Klee One', cursive;
  font-weight:400;
  font-size: 15px;
  line-height: 2;
  letter-spacing: .05em;
  margin-top: 20px;
}
#about .contents__subtitle{
  margin-top: 60px;
}
.staff{
  margin-top: 60px;
}

.bird__ito,
.bird__oshida{
  overflow: hidden;
  transform: translate3d(0, 0, 0);
  width: 250px;
  margin: 0 auto;
}
/*.bird__oshida:before{
  content: '';
  display: block;
  background: url("../img/bird_oshida.png") no-repeat 0 0;
  background-size: 110px 360px;
  padding-top: 360%;
  animation: about_bird .8s steps(4) infinite;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.bird__ito:before{
  content: '';
  display: block;
  background: url("../img/bird_ito.png") no-repeat 0 0;
  background-size: 110px 360px;
  padding-top: 360%;
  animation: about_bird .8s steps(4) infinite;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.bird__ito:after,
.bird__oshida:after{
  content: '';
  display: block;
  padding-top: 90px;
}*/
.staff h3{
  font-family: 'Zen Old Mincho', serif;
  font-weight:400;
  font-size: 20px;
  line-height: 2;
  letter-spacing: .05em;
  text-align: center;
  margin-top: 30px;
}
.staff h4{
  font-family: 'Lora', serif;
  font-weight: 400;
  font-size: 13px;
  color: #7E7568;
  text-align: center;
}
.staff ul{
  margin-top: 30px;
}
.staff li{
  position: relative;
  font-weight: normal;
  padding-bottom: 20px;
}
.staff li:first-child{
  font-size: 12px;
}
.staff li + li{
  margin-top: 20px;
}
.staff li::before {
  position: absolute;
  width: 100%;
  height: 1px;
  display: block;
  content: "";
  background-image: linear-gradient(to right, #CEC9C1, #CEC9C1 1px, transparent 1px, transparent 2px);
  background-size: 2px 1px;
  background-repeat: repeat-x;
  bottom:0;
}
.staff li:last-child::before{
  display: none;
  padding-bottom: 0;
}

@keyframes about_bird {
  0% { transform: translate(0, 0); }
  100% { transform: translate(0, -360px); }
}
@keyframes about_wreath {
  0% { transform: translate(0, 0); }
  100% { transform: translate(0, -100%); }
}
@media screen and (max-width:599px) {
  .about__intro h3{
    text-align: center;
  }
  .about__intro h4 br{
    display: none;
  }
  .about_wreath {
    width: 70%;
    margin: 0 auto;
  }
  .about__intro .text{
    margin-top: 40px;
  }
  .staff h4{
    margin-top: 10px;
  }
  .staff > div:last-child{
    margin-top: 60px;
  }
  .staff li:last-child::before{
    display: block;
    padding-bottom: 0;
  }
}
@media screen and (min-width:600px){
  .about__intro{
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .about_wreath {
    width: 48%;
  }
  .about__intro .text{
    width: 45%;
  }
  .about__intro h4{
    margin-top: 20px;
    font-feature-settings: 'palt';
  }
  .about__intro h4 br{
    display: none;
  }
  #about .contents__subtitle{
    margin-top: 100px;
  }
  .staff{
    display: flex;
    justify-content: space-between;
    margin-top: 80px;
  }
  .staff > div{
    width: 45%;
  }
  .staff{
    display: flex;
    justify-content: space-between;
    margin-top: 80px;
  }
  .staff > div{
    width: 45%;
  }
}
@media screen and (min-width: 1025px) {
  .about__intro h4{
    margin-top: 40px;
  }
  .about__intro h4 br{
    display: block;
  }
}


/* menu
   ========================================================================== */
#menu section + section{
  margin-top: 50px;
}
.menu__block h3{
  font-family: 'Zen Old Mincho', serif;
  font-weight:400;
  line-height: 1.5em;
}
.menu__block h4{
  font-family: 'Lora', serif;
  font-weight: 400;
  color: #7E7568;
}
.menu__block .price{
  font-family: 'Zen Old Mincho', serif;
  font-weight:400;
  line-height: 1.4;
  letter-spacing: .05em;
}
.menu__block .price span{
  line-height: 1.6;
  letter-spacing: .05em;
  font-size:80%;
  display:block;
}
.video__wrapper.full{
  position: relative;
  overflow: hidden;
  /*padding-bottom: 56.25%;*/
}
.video__wrapper{
  position: relative;
  overflow: hidden;
  width: 100%;
  /*padding-bottom: 56.25%;*/
}
.video__wrapper iframe {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100vh;
  height: 56.25vw;
  min-height: 100%;
  min-width: 100%;
}
/*.menu__image{
  padding-bottom: 56.25%;
  background-size: cover;
  background-position: center center;
}*/
.reflexology{ background-image: url("../img/menu_reflexology.jpg"); }
.dryheadspa{ background-image: url("../img/menu_dryheadspa.jpg"); }
.faicial{ background-image: url("../img/menu_faicial.jpg"); }
.dome{ background-image: url("../img/menu_dome.jpg"); }
.ultrasound{ background-image: url("../img/menu_ultrasound.jpg"); }
.seasonal{ background-image: url("../img/menu_seasonal.jpg"); }
.hand{ background-image: url("../img/menu_hand.jpg"); }
/*col2*/
.menu__col2.line .menu__block{
  margin-top: 0;
}
.menu__col2.line{
  position: relative;
}
.menu__col2.line:before {
  position: absolute;
  width: 100%;
  height: 1px;
  display: block;
  content: "";
  height: 1px;
  background-image: linear-gradient(to right, #CEC9C1, #CEC9C1 1px, transparent 1px, transparent 2px);
  background-size: 2px 1px;
  background-repeat: repeat-x;
  top:0;
}
/*option*/
.option{
  background: #fff;
}
.option .contents__subtitle{
  width: 90%;
  margin: 0 auto;
}
.option .contents__subtitle span{
  background: #fff;
}
/*original_blend*/
.original_blend h3,
.original_blend h4,
.original_blend .price{
  text-align: center;
}
.btn_buy{
  margin-top: 30px;
  margin-bottom:50px;
}
.btn_buy a{
  width: 200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background: #302210;
  color: #fff;
  padding: 13px 30px 15px 25px;
  border-radius: 30px;
  font-family: 'Zen Old Mincho', serif;
  font-weight:400;
  font-size: 16px;
  line-height: 1;
  transition-duration: .4s;
  transition-property: background;
}
.btn_buy a:hover{
  background: #937C5E;
}
.btn_buy a::before{
  content: "";
  background-image: url("./images/arrow_right_alt_FILL0_wght400_GRAD0_opsz24.png");
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  margin-right: 10px;
}
@media screen and (max-width:599px) {
  .menu__block{
    width: 90%;
    margin: 40px auto 0;
  }
  .menu__block h3{
    font-size: 18px;
  }
  .menu__block h3 span{
    font-size: 14px;
  }
  .menu__block h4{
    font-size: 12px;
    margin-top: 10px;
  }
  .menu__block .price{
    font-size: 15px;
    margin-top: 20px;
  }
  .menu__text{
    margin-top: 30px;
  }
  .menu__col2__block + .menu__col2__block{
    margin-top: 50px;
  }
  .video__wrapper.full{
    width: 90%;
    margin: 0 auto;
  }
  .menu__col2.line{
    padding-top: 50px;
  }
  /*option*/
  .option{
    background: #fff;
    margin-top: 50px;
    padding: 50px 0;
  }
  .option .menu__col2__block{
    margin-top: 50px;
  }
  /*original_blend*/
  .original_blend{
    margin-top: 80px;
  }
  .bottle__image{
    width: 80%;
    margin: 0 auto;
  }
}
@media screen and (min-width:600px){
  #menu section + section{
    margin-top: 100px;
  }
  .menu__block{
    margin-top: 60px;
  }
  .menu__block h3{
    font-size: 20px;
  }
  .menu__block h3 span{
    font-size: 15px;
  }
  .menu__block h4{
    font-size: 13px;
    margin-top: 15px;
  }
  .menu__block .price{
    font-size: 18px;
    margin-top: 30px;
  }
  .menu__text{
    margin-top: 40px;
  }
  .menu__col2{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .menu__col2.line{
    padding-top: 100px;
  }
  .menu__col2 .menu__col2__block{
    width: 45%;
  }
 /* .menu__col2 .menu__image{
    padding-bottom: 100%;
  }*/
  /*option*/
  .option{
    background: #fff;
    margin-top: 100px;
    padding: 100px 0;
  }
  .option .contents__subtitle{
    width: 80%;
    margin: 0 auto;
  }
  .option .menu__col2__block{
    margin-top: 80px;
  }
  /*original_blend*/
  .original_blend{
    margin-top: 120px;
  }
}
@media screen and (min-width: 1025px) {}

/* access
   ========================================================================== */
#access section{
  margin-top: 30px;
}
.access__info {
  font-family: 'Zen Old Mincho', serif;
  font-weight:400;
  font-size: 15px;
  line-height: 2;
}
.access__info table{
  width: 100%;
}
.access__info th{
  display: block;
  position: relative;
  font-weight: normal;
  padding: 20px 0 5px;
}
.access__info td{
  display: block;
  position: relative;
  font-weight: normal;
  padding: 0 0 20px;
}
.access__info td span{
  font-size: 13px;
}
.access__info td::after{
  position: absolute;
  width: 100%;
  height: 1px;
  display: block;
  content: "";
  height: 1px;
  background-image: linear-gradient(to right, #CEC9C1, #CEC9C1 1px, transparent 1px, transparent 2px);
  background-size: 2px 1px;
  background-repeat: repeat-x;
  bottom:0;
}
.access__info .note{
  font-size: 13px;
  margin-top: 30px;
  text-indent: -1em;
  margin-left: 1em;
  line-height: 1.6;
}
.access__map{
  position: relative;
  width: 100%;
  height: 0;
}
.access__map iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width:599px) {
  .access__map{
    padding-top: 100%;
    margin-top: 60px;
  }
}
@media screen and (min-width:600px){
  .access__map{
    padding-top: 56.25%;
    margin-top: 60px;
  }
}
@media screen and (min-width: 1025px) {}