@charset "UTF-8";
/*=======================================
                  PC   
========================================*/
/* fonts */
/* fonts-size */
/* color */
/*=======================================
 	        animation
 ========================================*/
.inview {
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  opacity: 0;
}

.inview.active {
  opacity: 1;
}

#wrapper .description {
  position: relative;
  text-align: justify;
}

#wrapper .description p {
  font-size: 1.4rem;
  line-height: 2;
  color: #333333;
}

#wrapper .img {
  background-color: #fff;
}

#wrapper .cont2 {
  position: relative;
}

#wrapper .cont2::before {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: initial;
}

#wrapper .title {
  z-index: 2;
}

#wrapper .title p {
  font-family: dnp-shuei-mincho-pr6, sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  position: relative;
  color: #333333;
}

#wrapper .title h2 {
  font-family: kudryashev-d-contrast, sans-serif;
  font-size: 4.8rem;
  letter-spacing: 0.05em;
  color: #d87c84;
}

#wrapper .point {
  position: relative;
  padding-left: 3rem;
  font-style: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic", "メイリオ", sans-serif;
  font-size: 1.4rem;
  letter-spacing: 0.025em;
  display: inline-block;
}

#wrapper .point::before {
  content: "";
  position: absolute;
  width: 2.4rem;
  height: 2.4rem;
  background-image: url("../img/handwashing.png");
  background-repeat: no-repeat;
  background-size: contain;
  left: 0;
  /* top: 0; */
}

/* ===================
	　 firstview
=================== */
#firstview {
  text-align: center;
  position: relative;
  width: 106rem;
  margin: 0 auto 16.6rem;
}

#firstview a {
  display: block;
}

#firstview .fv-img {
  width: 106rem;
  position: relative;
  margin: 0 auto 8.3rem;
}

#firstview p {
  font-size: 1.4rem;
  line-height: 2;
  color: #333333;
}

#firstview .title {
  margin-top: 8.9rem;
  margin-bottom: 2.4rem;
}

#firstview .title h3 {
  font-family: kudryashev-d-contrast, sans-serif;
  font-size: 3.6rem;
  letter-spacing: 0.075em;
  color: #d87c84;
  margin-bottom: 0.3rem;
}

#firstview .title p {
  font-family: dnp-shuei-mincho-pr6, sans-serif;
  font-size: 1.4rem;
  letter-spacing: 0.035em;
}

#firstview .scene {
  font-size: 1.6rem;
  letter-spacing: 0.025em;
  margin-bottom: 10.6rem;
}

#firstview .scene li {
  position: relative;
  margin-bottom: 2.1rem;
  color: #333333;
}

#firstview .scene li span {
  width: 1rem;
  height: 1rem;
  display: inline-block;
  margin-bottom: 0.1rem;
  margin-right: 1rem;
}

#firstview .scene li:nth-child(1) span {
  background-color: #e0969d;
  margin-right: 1.1rem;
}

#firstview .scene li:nth-child(2) span {
  background-color: #e8b0b5;
}

#firstview .scene li:nth-child(3) span {
  background-color: #efcbce;
}

#firstview .scene li:nth-child(4) span {
  background-color: #f5dee0;
}

#firstview .advice {
  position: relative;
}

#firstview .advice h4 {
  position: absolute;
  font-family: kudryashev-d-contrast, sans-serif;
  font-size: 2.2rem;
  letter-spacing: 0.05em;
  -webkit-transform: rotate(3deg);
          transform: rotate(3deg);
  right: 15rem;
  top: -3.7rem;
  color: #333333;
}

#firstview .advice::before {
  content: "";
  position: absolute;
  width: 72.6rem;
  height: 21.6rem;
  background-image: url("../img/bg01.png");
  background-repeat: no-repeat;
  background-size: contain;
  left: 16.9rem;
  top: -3.4rem;
  z-index: -1;
}

#firstview .advice p {
  position: relative;
  color: #333333;
}

#firstview .advice .quotation {
  position: relative;
}

#firstview .advice .quotation::before {
  content: "";
  position: absolute;
  width: 2.3rem;
  height: 2.2rem;
  background-image: url("../img/quotation_left.svg");
  background-repeat: no-repeat;
  background-size: initial;
  left: 23rem;
  top: -4.4rem;
}

#firstview .advice .quotation::after {
  content: "";
  position: absolute;
  width: 2.3rem;
  height: 2.1rem;
  background-image: url("../img/quotation_right.svg");
  background-repeat: no-repeat;
  background-size: initial;
  right: 23rem;
  bottom: -4.7rem;
}

/* ===================
	　 section01
=================== */
.sec01 {
  margin-bottom: 15rem;
}

.sec01 .cont1 {
  margin-left: 28.2rem;
  margin-bottom: -18.8rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.sec01 .cont1 .title {
  position: relative;
  margin-top: 24rem;
  display: inline-block;
}

.sec01 .cont1 .title::before {
  content: "";
  position: absolute;
  width: 11rem;
  height: 18rem;
  background-image: url("../img/number01.svg");
  background-repeat: no-repeat;
  background-size: initial;
  left: 38.6rem;
  top: 6rem;
}

.sec01 .cont1 .title p {
  position: relative;
  margin-left: 14.6rem;
  margin-bottom: 1.9rem;
}

.sec01 .cont1 .title p::before {
  content: "";
  position: absolute;
  width: 4.9rem;
  height: 5.3rem;
  background-image: url("../img/arrow.svg");
  background-repeat: no-repeat;
  background-size: initial;
  right: -3.1rem;
  top: 1rem;
}

.sec01 .cont1 .img01-all {
  margin-left: 12rem;
  text-align: right;
}

.sec01 .cont1 .img01-all .img01 {
  width: 40rem;
}

.sec01 .cont1 .img01-all .point {
  margin-top: 3.55rem;
  padding-bottom: 3.5rem;
}

.sec01 .cont1 .img01-all .point::before {
  top: -0.55rem;
}

.sec01 .cont1 .img01-all .point::after {
  content: "";
  position: absolute;
  width: 17.4rem;
  height: 14.4rem;
  left: -4rem;
  bottom: 0;
  background-color: #fdf8f7;
  z-index: -1;
}

.sec01 .cont2 {
  margin-left: 16.2rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.sec01 .cont2 .img02-all .img02 {
  width: 36rem;
}

.sec01 .cont2 .description {
  width: 44.6rem;
  margin-top: 27rem;
  margin-left: 9rem;
}

.sec01 .cont2 .description .price {
  margin-top: 2.6rem;
}

/* ===================
	　 section02
=================== */
.sec02 {
  position: relative;
  width: 106rem;
  margin: 0 auto 14.5rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}

.sec02 .cont1 {
  margin-top: -8.4rem;
  margin-left: 50.2rem;
}

.sec02 .cont1 .title {
  position: relative;
  margin-bottom: 2.7rem;
  display: inline-block;
}

.sec02 .cont1 .title::before {
  content: "";
  position: absolute;
  width: 14rem;
  height: 18rem;
  background-image: url("../img/number02.svg");
  background-repeat: no-repeat;
  background-size: initial;
  left: 38.8rem;
  top: 14.8rem;
}

.sec02 .cont1 .title p {
  position: relative;
  margin-left: 11.7rem;
  margin-bottom: 1.9rem;
}

.sec02 .cont1 .title p::before {
  content: "";
  position: absolute;
  width: 4.9rem;
  height: 5.3rem;
  background-image: url("../img/arrow.svg");
  background-repeat: no-repeat;
  background-size: initial;
  right: -3.1rem;
  top: 1rem;
}

.sec02 .cont1 .description {
  width: 40.8rem;
}

.sec02 .cont1 .description .price {
  margin-top: 2.8rem;
}

.sec02 .cont2 {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.sec02 .cont2 .img01 {
  width: 34rem;
}

.sec02 .cont2 .img02 {
  width: 34rem;
  margin: 9rem 2rem 0;
}

.sec02 .cont2 .img03-all .img03 {
  width: 34rem;
  margin-top: 18rem;
}

.sec02 .cont2 .img03-all .point {
  margin-top: 3.6rem;
  padding-bottom: 3.4rem;
}

.sec02 .cont2 .img03-all .point::before {
  top: -0.55rem;
}

.sec02 .cont2 .img03-all .point::after {
  content: "";
  position: absolute;
  width: 17.4rem;
  height: 14.4rem;
  left: -4rem;
  bottom: 0;
  background-color: #fdf8f7;
  z-index: -1;
}

/* ===================
	　 section03
=================== */
.sec03 .flex {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.sec03 .cont1 .img01-all .img01 {
  width: 44rem;
}

.sec03 .cont1 .img01-all .point {
  margin-top: 3.6rem;
  padding-bottom: 3.4rem;
}

.sec03 .cont1 .img01-all .point::before {
  top: -0.55rem;
}

.sec03 .cont1 .img01-all .point::after {
  content: "";
  position: absolute;
  width: 17.4rem;
  height: 14.4rem;
  left: -4rem;
  bottom: 0;
  background-color: #fdf8f7;
  z-index: -1;
}

.sec03 .cont2 {
  margin-top: 18.1rem;
  margin-left: 12rem;
}

.sec03 .cont2 .title {
  position: relative;
  margin-left: 4.2rem;
  margin-bottom: 11.4rem;
  display: inline-block;
}

.sec03 .cont2 .title::before {
  content: "";
  position: absolute;
  width: 14.2rem;
  height: 18rem;
  background-image: url("../img/number03.svg");
  background-repeat: no-repeat;
  background-size: initial;
  left: 43.6rem;
  top: 6rem;
}

.sec03 .cont2 .title p {
  position: relative;
  margin-left: 20.1rem;
  margin-bottom: 1.85rem;
}

.sec03 .cont2 .title p::before {
  content: "";
  position: absolute;
  width: 4.9rem;
  height: 5.3rem;
  background-image: url("../img/arrow.svg");
  background-repeat: no-repeat;
  background-size: initial;
  right: -3.1rem;
  top: 0.9rem;
}

.sec03 .cont2 .img02-all {
  position: relative;
  margin-bottom: 3.3rem;
  z-index: 2;
}

.sec03 .cont2 .img02-all .img02 {
  width: 54rem;
}

.sec03 .cont2 .description {
  width: 54rem;
}

.sec03 .cont2 .description .price {
  margin-top: 2.85rem;
}

.sec03 .staff {
  text-align: center;
  font-family: "Crimson Text", serif;
  font-size: 1.3rem;
  line-height: 1.6923;
  letter-spacing: 0.015em;
  margin-top: 11.2rem;
  color: #333333;
}

_:-ms-lang(x)::-ms-backdrop, .sec03 .title p::before {
  width: 5rem !important;
}

_:-ms-lang(x)::-ms-backdrop, .sec02 .title p::before {
  width: 5rem !important;
}

_:-ms-lang(x)::-ms-backdrop, .sec01 .title p::before {
  width: 5rem !important;
}

/* for SP */
@media screen and (max-width: 767px) {
  #wrapper .description {
    position: relative;
  }
  #wrapper .description p {
    font-size: calc(26* (100vw / 750));
  }
  #wrapper .title {
    z-index: 1;
  }
  #wrapper .title p {
    font-size: calc(30* (100vw / 750));
    letter-spacing: 0.05em;
    position: relative;
  }
  #wrapper .title h2 {
    font-size: calc(66* (100vw / 750));
  }
  #wrapper .img {
    background-color: transparent;
  }
  #wrapper .point {
    padding-left: calc(53* (100vw / 750));
    font-size: calc(26* (100vw / 750));
  }
  #wrapper .point::before {
    width: calc(44* (100vw / 750));
    height: calc(44* (100vw / 750));
    left: calc(-1* (100vw / 750));
  }
  /* ===================
	　 firstview
=================== */
  #firstview {
    width: 100%;
    margin: 0 auto calc(235* (100vw / 750));
  }
  #firstview .fv-img {
    width: 100%;
    margin: 0 auto calc(107* (100vw / 750));
  }
  #firstview p {
    font-size: calc(26* (100vw / 750));
  }
  #firstview .title {
    margin-top: calc(117* (100vw / 750));
    margin-bottom: calc(50* (100vw / 750));
  }
  #firstview .title h3 {
    font-size: calc(56* (100vw / 750));
    margin-bottom: calc(10* (100vw / 750));
  }
  #firstview .title p {
    font-size: calc(26* (100vw / 750));
    letter-spacing: 0.035em;
  }
  #firstview .scene {
    font-size: calc(30* (100vw / 750));
    margin-bottom: calc(204* (100vw / 750));
    /* margin-bottom: calc(210* (100vw / 750)); */
  }
  #firstview .scene li {
    margin-bottom: calc(36* (100vw / 750));
  }
  #firstview .scene li span {
    width: calc(16* (100vw / 750));
    height: calc(16* (100vw / 750));
    margin-bottom: calc(4* (100vw / 750));
    margin-right: calc(16* (100vw / 750));
  }
  #firstview .scene li:nth-child(1) span {
    margin-bottom: calc(2* (100vw / 750));
    margin-right: calc(15* (100vw / 750));
  }
  #firstview .scene li:nth-child(2) {
    margin-left: 0;
  }
  #firstview .advice h4 {
    font-size: calc(36* (100vw / 750));
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
    right: calc(31* (100vw / 750));
    top: calc(-87* (100vw / 750));
  }
  #firstview .advice::before {
    width: calc(711* (100vw / 750));
    height: calc(517* (100vw / 750));
    background-image: url("../img/sp_bg01.png");
    left: 0;
    right: 0;
    top: calc(-79* (100vw / 750));
    margin: auto;
  }
  #firstview .advice .quotation::before {
    width: calc(36* (100vw / 750));
    height: calc(33* (100vw / 750));
    left: calc(60* (100vw / 750));
    top: calc(-94* (100vw / 750));
  }
  #firstview .advice .quotation::after {
    width: calc(36* (100vw / 750));
    height: calc(33* (100vw / 750));
    right: calc(69* (100vw / 750));
    bottom: auto;
    top: calc(313* (100vw / 750));
  }
  /* ===================
	　 section01
=================== */
  .sec01 {
    margin-bottom: calc(179* (100vw / 750));
  }
  .sec01 .cont1 {
    margin-left: calc(30* (100vw / 750));
    margin-bottom: calc(49* (100vw / 750));
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .sec01 .cont1 .title {
    margin-top: 0;
    margin-bottom: calc(50* (100vw / 750));
  }
  .sec01 .cont1 .title::before {
    width: calc(165* (100vw / 750));
    height: calc(270* (100vw / 750));
    background-image: url("../img/number01.svg");
    left: calc(555* (100vw / 750));
    top: calc(90* (100vw / 750));
  }
  .sec01 .cont1 .title p {
    margin-left: calc(57* (100vw / 750));
    margin-bottom: calc(25* (100vw / 750));
  }
  .sec01 .cont1 .title p::before {
    width: calc(73* (100vw / 750));
    height: calc(83* (100vw / 750));
    background-image: url(../img/sp_arrow.svg);
    right: auto;
    left: calc(511* (100vw / 750));
    top: calc(15* (100vw / 750));
  }
  .sec01 .cont1 .img01-all {
    margin-left: 0;
    text-align: right;
    z-index: 2;
  }
  .sec01 .cont1 .img01-all .img01 {
    width: calc(580* (100vw / 750));
  }
  .sec01 .cont2 {
    margin-left: 0;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .sec01 .cont2 .img02-all {
    margin-left: calc(201* (100vw / 750));
  }
  .sec01 .cont2 .img02-all .img02 {
    width: calc(520* (100vw / 750));
  }
  .sec01 .cont2 .img02-all .point {
    margin-top: calc(52* (100vw / 750));
    padding-bottom: calc(48* (100vw / 750));
  }
  .sec01 .cont2 .img02-all .point::before {
    top: calc(-11* (100vw / 750));
  }
  .sec01 .cont2 .img02-all .point::after {
    content: "";
    position: absolute;
    width: calc(254* (100vw / 750));
    height: calc(204* (100vw / 750));
    left: calc(-40* (100vw / 750));
    bottom: 0;
    background-color: #fdf8f7;
    z-index: -1;
  }
  .sec01 .cont2 .description {
    width: calc(580* (100vw / 750));
    margin-top: 0;
    margin-left: calc(30* (100vw / 750));
    margin-bottom: calc(51* (100vw / 750));
  }
  .sec01 .cont2 .description .price {
    margin-top: calc(16* (100vw / 750));
  }
  /* ===================
	　 section02
=================== */
  .sec02 {
    width: 100%;
    margin: 0 auto calc(172* (100vw / 750));
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .sec02 .cont1 {
    margin-top: 0;
    margin-left: calc(30* (100vw / 750));
    margin-bottom: calc(50* (100vw / 750));
  }
  .sec02 .cont1 .title {
    margin-bottom: 0;
  }
  .sec02 .cont1 .title::before {
    width: calc(210* (100vw / 750));
    height: calc(270* (100vw / 750));
    background-image: url("../img/number02.svg");
    left: calc(490* (100vw / 750));
    top: calc(120* (100vw / 750));
  }
  .sec02 .cont1 .title p {
    position: relative;
    margin-left: calc(37* (100vw / 750));
    margin-bottom: calc(25* (100vw / 750));
  }
  .sec02 .cont1 .title p::before {
    width: calc(73* (100vw / 750));
    height: calc(83* (100vw / 750));
    background-image: url(../img/sp_arrow.svg);
    right: auto;
    left: calc(513* (100vw / 750));
    top: calc(15* (100vw / 750));
  }
  .sec02 .cont2 {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
  }
  .sec02 .cont2 .img01-all {
    margin-left: calc(30* (100vw / 750));
    margin-bottom: calc(20* (100vw / 750));
  }
  .sec02 .cont2 .img01-all .img01 {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .sec02 .cont2 .img01-all .img01 img {
    width: calc(440* (100vw / 750));
  }
  .sec02 .cont2 .img01-all .point {
    padding-bottom: calc(146* (100vw / 750));
    margin-bottom: calc(-100* (100vw / 750));
    margin-left: calc(41* (100vw / 750));
  }
  .sec02 .cont2 .img01-all .point::before {
    top: calc(-12* (100vw / 750));
  }
  .sec02 .cont2 .img01-all .point::after {
    content: "";
    position: absolute;
    width: calc(334* (100vw / 750));
    height: calc(224* (100vw / 750));
    left: calc(-120* (100vw / 750));
    bottom: 0;
    background-color: #fdf8f7;
    z-index: -1;
  }
  .sec02 .cont2 .img02 {
    width: calc(440* (100vw / 750));
    margin-top: 0;
    margin-left: calc(155* (100vw / 750));
    margin-bottom: calc(20* (100vw / 750));
  }
  .sec02 .cont2 .img03-all {
    margin-left: calc(280* (100vw / 750));
    margin-bottom: calc(49* (100vw / 750));
  }
  .sec02 .cont2 .img03-all .img03 {
    width: calc(440* (100vw / 750));
    margin-top: 0;
  }
  .sec02 .cont2 .description {
    width: calc(570* (100vw / 750));
    margin: 0 auto;
  }
  .sec02 .cont2 .description .price {
    margin-top: calc(16* (100vw / 750));
  }
  /* ===================
	　 section03
=================== */
  .sec03 .flex {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .sec03 .cont1 {
    margin-left: calc(40* (100vw / 750));
    margin-bottom: calc(60* (100vw / 750));
  }
  .sec03 .cont1 .img01-all .img01 {
    width: calc(620* (100vw / 750));
  }
  .sec03 .cont2 {
    margin-top: 0;
    margin-left: calc(40* (100vw / 750));
  }
  .sec03 .cont2 .title {
    margin-left: 0;
    margin-bottom: calc(39* (100vw / 750));
  }
  .sec03 .cont2 .title::before {
    width: calc(213* (100vw / 750));
    height: calc(270* (100vw / 750));
    background-image: url("../img/number03.svg");
    left: calc(497* (100vw / 750));
    top: calc(332* (100vw / 750));
  }
  .sec03 .cont2 .title p {
    margin-left: calc(142* (100vw / 750));
    margin-bottom: calc(25* (100vw / 750));
  }
  .sec03 .cont2 .title p::before {
    width: calc(73* (100vw / 750));
    height: calc(83* (100vw / 750));
    background-image: url(../img/sp_arrow.svg);
    right: auto;
    left: calc(468* (100vw / 750));
    top: calc(14* (100vw / 750));
  }
  .sec03 .cont2 .img02-all {
    margin-bottom: 0;
  }
  .sec03 .cont2 .img02-all .img02 {
    width: calc(670* (100vw / 750));
  }
  .sec03 .cont2 .img02-all .point {
    margin-top: calc(51* (100vw / 750));
    padding-bottom: calc(46* (100vw / 750));
  }
  .sec03 .cont2 .img02-all .point::before {
    top: calc(-11* (100vw / 750));
    left: calc(0* (100vw / 750)) !important;
  }
  .sec03 .cont2 .img02-all .point::after {
    content: "";
    position: absolute;
    width: calc(254* (100vw / 750));
    height: calc(204* (100vw / 750));
    left: calc(-40* (100vw / 750));
    bottom: 0;
    background-color: #fdf8f7;
    z-index: -1;
  }
  .sec03 .cont2 .description {
    width: calc(620* (100vw / 750));
    margin-bottom: calc(53* (100vw / 750));
    z-index: 2;
  }
  .sec03 .cont2 .description p {
    letter-spacing: 0.04em !important;
  }
  .sec03 .cont2 .description .price {
    margin-top: calc(15* (100vw / 750));
  }
  .sec03 .staff {
    margin-top: calc(173* (100vw / 750));
    font-size: calc(23* (100vw / 750));
    line-height: 1.73913;
  }
}
/*# sourceMappingURL=style.css.map */