@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;
  }
}

br.sp {
  display: none;
}

@media screen and (min-width:600px) {
  br.sp {
    display: block;
  }

  .about__intro {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }

  .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: 88.25%;
  background-size: cover;
  background-position: center center;
  margin-bottom: 1.5em;
}

.reflexology {
  background-image: url("./images/product_img05.png");
}

.dryheadspa {
  background-image: url("./images/000000001587-01.avif");
}

.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: 260px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  background: #000;
  color: #fff;
  padding: 14px 30px;
  border-radius: 30px;
  font-family: 'Zen Old Mincho', serif;
  font-weight: 600;
  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) {}