/* Scss Document */
* {
  font-family: 'Noto Serif JP', serif;
  font-weight: normal;
  margin: 0;
  padding: 0;
  list-style-type: none;
  box-sizing: border-box;
  color: #4A4A4A; }

.image {
  width: 100vw;
  display: block; }

.bx-wrapper {
  margin: 0 !important;
  -moz-box-shadow: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border: none !important;
  background: none !important; }

.bxslider img {
  width: 100% !important;
  height: auto !important; }

.gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 30%;
  position: relative; }

.gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%; }

.fadein {
  opacity: 0;
  transform: translate(0, 0);
  transition: all 600ms; }

.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

@media (max-width: 768px) {
  .gmap {
    height: 0;
    overflow: hidden;
    padding-bottom: 55%;
    position: relative; }

  .gmap iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%; }

  h2 {
    font-size: 25px;
    margin-bottom: 20px; }

  header {
    padding: 20px 0 20px 0; }
    header .logo {
      width: 200px;
      display: block;
      margin-left: auto;
      margin-right: auto; }

  .introduction {
    position: relative;
    text-align: right;
    padding: 50px 20px 50px 20px;
    background: #F4DFD7; }
    .introduction .flower {
      width: 80px;
      position: absolute;
      right: 150px;
      top: 40px; }
    .introduction .shopNameSub {
      font-size: 15px; }
    .introduction h1 {
      font-size: 20px;
      font-weight: normal;
      margin-bottom: 30px; }
    .introduction .explanation {
      font-size: 13px; }

  .concept {
    padding: 50px 20px 50px 20px; }
    .concept p {
      font-size: 13px; }

  .menu {
    padding-top: 50px;
    background: #F2F0E7; }
    .menu > ul > li {
      padding-bottom: 30px;
      padding-left: 20px;
      padding-right: 20px;
      padding-top: 30px; }
    .menu > ul > li:nth-child(even) {
      background: red;
      padding-top: 30px;
      padding-bottom: 30px;
      background: #E9E5D5; }
    .menu .menuTitle {
      position: relative; }
    .menu .japanese {
      font-size: 11px; }
    .menu h2 {
      margin-bottom: 20px;
      padding-left: 20px; }
    .menu h3 {
      font-size: 18px;
      padding-bottom: 10px;
      border-bottom: solid thin #4A4A4A; }
    .menu h4 {
      font-size: 14px;
      padding-top: 0px;
      margin-bottom: 5px; }
    .menu .explanation {
      font-size: 13px;
      width: 100%;
      padding-top: 20px;
      text-align: justify;
      padding-bottom: 20px; }
    .menu .service {
      position: absolute;
      right: 0;
      top: 14px;
      font-size: 11px;
      border: solid thin #4A4A4A;
      border-radius: 3px;
      padding: 3px; }
    .menu .point {
      width: 100%;
      padding: 20px 0 20px 0;
      margin: 0px 0 10px 0;
      border-bottom: solid thin #B2B2B2;
      border-top: solid thin #B2B2B2;
      position: relative; }
      .menu .point p {
        background: #4A4A4A;
        width: 70px;
        color: white;
        text-align: center;
        border-radius: 3px;
        font-size: 13px;
        position: absolute;
        top: 30px; }
      .menu .point ul {
        font-size: 13px;
        padding-left: 90px; }
      .menu .point ul br {
        display: block; }
      .menu .point ul li {
        display: inline-block;
        margin-right: 10px; }
    .menu .priceWrapper {
      padding: 20px 0 0px 0;
      font-size: 13px; }
      .menu .priceWrapper li {
        display: inline-block;
        font-size: 0; }
      .menu .priceWrapper p {
        display: inline-block;
        font-size: 13px; }
      .menu .priceWrapper .time {
        border: solid thin #4A4A4A;
        text-align: center;
        border-radius: 3px;
        padding: 2px;
        width: 45px;
        margin-right: 5px; }
      .menu .priceWrapper .price {
        margin-right: 10px; }
    .menu .others > div > ul > li {
      padding-top: 20px;
      border-bottom: solid thin #B2B2B2;
      padding-bottom: 20px; }
    .menu .others > div > ul > li {
      position: relative; }
      .menu .others > div > ul > li .service {
        position: absolute; }
    .menu .others > div > ul > li:last-child {
      border: none;
      padding-bottom: 0; }
    .menu .others .priceWrapper {
      padding: 0; }
    .menu .bodyCare .explanation {
      border-bottom: solid thin #B2B2B2;
      border-bottom: solid thin #B2B2B2; }
    .menu .bodyCare > ul > li {
      padding-top: 20px;
      border-bottom: solid thin #B2B2B2;
      padding-bottom: 20px; }
    .menu .bodyCare > ul > li:last-child {
      border: none; }
    .menu .option > div > ul > li {
      padding-top: 20px;
      border-bottom: solid thin #B2B2B2;
      padding-bottom: 20px;
      position: relative; }
      .menu .option > div > ul > li .service {
        position: absolute;
        top: 18px; }
    .menu .option > div > ul > li:last-child {
      border: none;
      padding-bottom: 0; }
    .menu .option .priceWrapper {
      padding: 0; }

  .annotation {
    background: #4D4B42;
    padding: 30px 20px 30px 20px; }
    .annotation li {
      color: white;
      font-size: 13px;
      line-height: 2; }

  .contact {
    position: relative;
    padding: 50px 20px 50px 20px; }
    .contact .image {
      width: 130px;
      height: 170px;
      position: absolute;
      background: red;
      left: 210px;
      top: 60px; }
    .contact .shopNameJa {
      font-size: 14px; }
    .contact .shopName {
      font-size: 20px;
      padding-bottom: 10px;
      border-bottom: solid thin #B2B2B2;
      margin-bottom: 10px;
      width: 170px; }
    .contact .information li {
      font-size: 14px; }
    .contact .tel {
      font-size: 20px;
      margin-top: 20px; }
    .contact .email {
      font-size: 20px;
      padding-bottom: 10px;
      margin-bottom: 10px;
      border-bottom: solid thin #B2B2B2; }
    .contact .zip, .contact .address {
      font-size: 14px; }

  .profile {
    position: relative;
    padding: 50px 20px 50px 20px; }
    .profile .position {
      font-size: 14px; }
    .profile .nameJa {
      font-size: 20px; }
    .profile .nameEn {
      font-size: 14px;
      margin-bottom: 50px; }
    .profile .image {
      width: 150px;
      height: 150px;
      position: absolute;
      left: 160px;
      top: 58px; }
    .profile .explanation {
      font-size: 14px; } }
@media (min-width: 769px) {
  header {
    padding: 100px 0 100px 0; }
    header .logo {
      width: 300px;
      display: block;
      margin-left: auto;
      margin-right: auto; }

  h2 {
    font-size: 35px;
    margin-bottom: 20px; }

  .introduction {
    text-align: center;
    padding: 100px 0px 100px 0px;
    background: #F4DFD7; }
    .introduction .flower {
      width: 120px;
      right: 150px;
      top: 40px;
      margin-left: -10px;
      margin-bottom: 20px; }
    .introduction .shopNameSub {
      font-size: 25px; }
    .introduction h1 {
      font-size: 35px;
      font-weight: normal;
      margin-bottom: 30px; }
    .introduction .explanation {
      font-size: 18px; }

  .concept {
    width: 600px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    padding: 100px 0px 100px 0px; }
    .concept p {
      font-size: 18px;
      text-align: justify; }

  .menu {
    width: 100%;
    padding-top: 100px;
    background: #F2F0E7; }
    .menu h2 {
      width: 600px;
      margin: 0;
      display: block;
      margin-left: auto;
      margin-right: auto; }
    .menu > ul > li {
      padding-bottom: 70px;
      padding-left: 0px;
      padding-right: 0px;
      padding-top: 70px; }
    .menu > ul > li:nth-child(even) {
      background: red;
      padding-top: 70px;
      padding-bottom: 70px;
      background: #E9E5D5; }
    .menu > ul > li > div {
      width: 600px;
      display: block;
      margin-left: auto;
      margin-right: auto; }
    .menu .menuTitle {
      position: relative; }
    .menu .japanese {
      font-size: 15px; }
    .menu h2 {
      margin-bottom: 20px; }
    .menu h3 {
      font-size: 25px;
      padding-bottom: 10px;
      border-bottom: solid thin #4A4A4A; }
    .menu h4 {
      font-size: 18px;
      padding-top: 0px;
      margin-bottom: 10px; }
    .menu .explanation {
      font-size: 18px;
      width: 100%;
      padding-top: 20px;
      text-align: justify;
      padding-bottom: 20px; }
    .menu .service {
      position: absolute;
      right: 0;
      top: 16px;
      font-size: 18px;
      border: solid thin #4A4A4A;
      border-radius: 3px;
      padding: 3px; }
    .menu .point {
      width: 100%;
      padding: 20px 0 20px 0;
      margin: 0px 0 10px 0;
      border-bottom: solid thin #B2B2B2;
      border-top: solid thin #B2B2B2;
      position: relative; }
      .menu .point p {
        background: #4A4A4A;
        width: 70px;
        color: white;
        text-align: center;
        border-radius: 3px;
        font-size: 18px;
        position: absolute;
        top: 20px;
        padding-bottom: 2px; }
      .menu .point ul {
        font-size: 18px;
        padding-left: 90px; }
      .menu .point ul li {
        display: inline-block;
        margin-right: 10px; }
      .menu .point ul br {
        display: none; }
    .menu .priceWrapper {
      padding: 20px 0 0px 0;
      font-size: 13px; }
      .menu .priceWrapper li {
        display: inline-block; }
      .menu .priceWrapper p {
        display: inline-block; }
      .menu .priceWrapper .time {
        font-size: 18px;
        border: solid thin #4A4A4A;
        text-align: center;
        border-radius: 3px;
        padding: 2px;
        width: 58px;
        margin-right: 5px; }
      .menu .priceWrapper .price {
        font-size: 18px;
        margin-right: 10px; }
    .menu .others > div > ul > li {
      padding-top: 20px;
      border-bottom: solid thin #B2B2B2;
      padding-bottom: 20px; }
    .menu .others > div > ul > li {
      position: relative; }
      .menu .others > div > ul > li .service {
        position: absolute;
        top: 20px; }
    .menu .others > div > ul > li:last-child {
      border: none; }
    .menu .others .priceWrapper {
      padding: 0; }
    .menu .bodyCare .explanation {
      border-bottom: solid thin #B2B2B2;
      border-bottom: solid thin #B2B2B2; }
    .menu .bodyCare > ul > li {
      padding-top: 20px;
      border-bottom: solid thin #B2B2B2;
      padding-bottom: 20px; }
    .menu .bodyCare > ul > li:last-child {
      border: none; }
    .menu .option > div > ul > li {
      padding-top: 20px;
      border-bottom: solid thin #B2B2B2;
      padding-bottom: 20px;
      position: relative; }
      .menu .option > div > ul > li .service {
        position: absolute; }
    .menu .option > div > ul > li:last-child {
      border: none; }
    .menu .option .priceWrapper {
      padding: 0; }

  .annotation {
    background: #4D4B42;
    padding: 30px 20px 30px 20px; }
    .annotation ul {
      width: 600px;
      display: block;
      margin-left: auto;
      margin-right: auto; }
    .annotation li {
      color: white;
      font-size: 18px;
      line-height: 2; }

  .contact {
    width: 600px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    padding: 100px 0px 100px 0px; }
    .contact .image {
      width: 260px;
      height: 340px;
      position: absolute;
      right: 0px;
      top: 110px; }
    .contact .shopNameJa {
      font-size: 15px; }
    .contact .shopName {
      font-size: 25px;
      padding-bottom: 10px;
      border-bottom: solid thin #B2B2B2;
      margin-bottom: 10px;
      width: 170px; }
    .contact .information li {
      font-size: 18px; }
    .contact .tel {
      font-size: 25px;
      margin-top: 20px; }
    .contact .email {
      font-size: 25px;
      padding-bottom: 10px;
      margin-bottom: 10px;
      border-bottom: solid thin #B2B2B2; }
    .contact .zip, .contact .address {
      font-size: 18px; }

  .profile {
    width: 600px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    padding: 100px 0px 100px 0px; }
    .profile .position {
      font-size: 18px; }
    .profile .nameJa {
      font-size: 25px; }
    .profile .nameEn {
      font-size: 18px;
      margin-bottom: 50px; }
    .profile .image {
      width: 150px;
      height: 150px;
      position: absolute;
      left: 180px;
      top: 112px; }
    .profile .explanation {
      font-size: 18px; } }
