@charset "UTF-8";
/* CSS Document */
.main {
  background-color: #f8f8f8;
}
.section-top {
  position: relative;
  z-index: 101;
}
.section-top1 {
  background-color: #efefef;
}
.section-top_image-head1-mobile img {
  position: absolute;
  left: 0;
  top: 0;
  width: 90%;
  max-width: 400px;
}
.section-top_image-head2-mobile img {
  position: absolute;
  right: 0;
  vertical-align: bottom;
  padding-top: 30px;
  width: 90%;
  max-width: 400px;
}
.section-top_image-healing-mobile img {
  display: block;
  margin-left: 0;
  margin-top: 0;
  width: 90%;
  max-width: 400px;
}
.section-top_image-helth-mobile {
  text-align: right;
}
.section-top_image-helth-mobile img {
  vertical-align: bottom;
  padding-top: 30px;
  width: 90%;
  max-width: 400px;
}
.section-top_catchcopy1 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin-top: 60%;
}
.section-top_catchcopy1-name {
  font-size: 2.0rem;
  font-weight: 600;
}
.section-top_catchcopy1-logo {
  width: 40%;
  max-width: 170px;
  margin-left: auto;
  margin-right: auto;
}
.section-top_catchcopy2-healing img {
  width: 23%;
  margin-top: 60px;
  max-width: 120px;
  mix-blend-mode: difference;
}
.section-top_catchcopy2-and img {
  width: 20%;
  margin-top: 310px;
  margin-left: -35%;
  max-width: 100px;
  mix-blend-mode: difference;
}
.section-top_catchcopy2-health img {
  width: 65%;
  top: 78vh;
  max-width: 320px;
  mix-blend-mode: difference;
}
@media (min-width:450px) {
  .section-top_catchcopy1 {
    margin-top: 270px;
  }
}
@media (min-width:768) {}
@media (min-width:768px) {
  .header-logo {
    width: 95px;
  }
  .section-top_image-pc {
    display: block;
    width: 100%;
    position: relative;
  }
  .section-top_image-head1 {
    position: relative;
    left: -10px;
  }
  .section-top_image-head2 {
    position: relative;
  }
  .section-top_image-mobile {
    display: none;
  }
  .section-top_image-head1 img {
    position: absolute;
    width: 85%; /*横幅*/
    top: 0;
    left: 10px;
    padding-bottom: 30px;
  }
  .section-top_image-healing img {
    margin-left: -15%;
    width: 85%;
    padding-bottom: 30px;
  }
  .section-top_image-head2 img {
    position: absolute;
    width: 85%; /*横幅*/
    top: 40%;
    right: 0;
  }
  .section-top_image-health img {
    width: 85%;
    margin-right: -15%;
    vertical-align: bottom;
  }
  .section-top_catchcopy2-healing img {
    width: 13%;
    mix-blend-mode: color-dodge;
    margin-right: 80px;
    max-width: 160px;
  }
  .section-top_catchcopy2-and img {
    width: 9%;
    margin-left: -4%;
    margin-top: 24%;
    mix-blend-mode: color-dodge;
  }
  .section-top_catchcopy2-health img {
    width: 30%;
    margin-top: 45%;
    top: 0;
    mix-blend-mode: color-dodge;
    max-width: 450px;
  }
  .section-top_catchcopy1 {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin-top: 17%;
  }
  .section-top_catchcopy1-logo {
    /*    margin-left: 0;*/
    /*    margin-top: 0;*/
    width: 15%;
    margin: auto;
    max-width: 200px;
  }
  .section-top_catchcopy1-name {
    margin-top: 0;
  }
}
.section-top_news {
  position: relative;
  z-index: 100;
  background: #fff;
  padding-bottom: 35px;
}
.section-top_news-title {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 35px;
}
.section-top_news h2 {
  width: 70%;
}
.section-top_news-img::before, .section-top_news-img::after {
  content: "ー";
  font-family: YuGothic, 'Yu Gothic medium', 'Hiragino Sans', Meiryo, 'sans-serif';
}
.section-top_news-img::before {
  margin-right: 10px;
}
.section-top_news-img::after {
  margin-left: 10px;
}
.section-top_news-img-news {
  width: 70px;
}
.section-top_news-content-wrap {
  display: block;
}
.section-top_news-discription {
  text-align: left;
  margin: 0 auto;
  display: inline-block;
}
.section-top_news-discription span {
  display: block;
}
@media (min-width:768px) {
  .section-top_news-content {
    display: flex;
    justify-content: center;
    padding-bottom: 40px;
    padding-top: 30px;
  }
  .section-top_news-content span {
    display: inline-block;
    padding-left: 35px;
  }
  .section-top_news-discription {
    margin: 0;
    display: inline-block;
  }
}
/*.section-main {
  background-image: url("../images/top/section_bg.jpg");
  background-repeat: no-repeat;
  background-size: cover;
}*/
.section-description {
  position: relative;
}
.section-description_image-three {
  position: absolute;
  width: 30%;
  top: 5%;
  right: 10%;
}
.section-description h2 {
  padding: 100px 0 45px;
  text-align: left;
  line-height: normal;
  margin: 0 auto;
  display: inline-block;
}
.section-description p {
  text-align: left;
  padding: 0 0 45px;
}
.section-description_mobileimg {
  width: 100%;
}
.text-box-1 span {
  display: inline-block;
}
.section-thought {
  position: relative;
}
.section-thought_image-ripples {
  position: absolute;
  width: 30%;
  top: 6%;
  right: 10%;
}
.section-thought h2 {
  padding: 90px 22px 45px;
}
.section-thought h2:nth-child(1) {
  padding: 70px 0 45px;
}
.section-thought p {
  text-align: left;
  padding: 0 0 45px;
}
.section-thought_mobileimg {
  width: 100%;
}
.section-comparison {
  position: relative;
}
.section-comparison_image-moon {
  position: absolute;
  width: 25%;
  top: 3%;
  right: 9%;
}
.section-comparison h2 {
  padding: 100px 0 32px;
  text-align: left;
  line-height: normal;
  margin: 0 auto;
  display: inline-block;
}
.section-comparison p {
  text-align: left;
  padding: 0 0 45px;
}
.section3-image {
  vertical-align: bottom;
  width: 100%;
}
.text-box-3 span {
  display: inline-block;
}
@media (min-width:768px) {
  .section-description h2 {
    text-align: left;
    padding: 80px 0 45px 120px;
    display: block;
  }
  .section-description p {
    width: 60%;
    padding-left: 120px;
    font-size: 1.8rem;
  }
  .section-description_pcimg {
    display: block;
    width: 100%;
  }
  .section-description_mobileimg {
    display: none;
  }
  .section-description_image-three {
    width: 26%;
    top: 13%;
    right: 8%;
  }
  .section-thought_wrap {
    text-align: left;
    margin-left: 45%;
    width: 45%;
  }
  .section-thought p {
    font-size: 1.8rem;
  }
  .section-thought_pcimg {
    display: block;
    width: 100%;
  }
  .section-thought_mobileimg {
    display: none;
  }
  .section-thought_image-ripples {
    width: 25%;
    left: 10%;
    top: 25%;
  }
  .section-comparison h2 {
    text-align: left;
    padding: 80px 0 45px 120px;
    display: block;
  }
  .section-comparison p {
    width: 60%;
    padding: 0 0 30px 120px;
    font-size: 1.8rem;
  }
  .section-comparison_pcimg {
    display: block;
    width: 100%;
  }
  .section3-image {
    display: none;
  }
  .section-comparison_image-moon {
    width: 19%;
    top: 10%;
    right: 8%;
  }
}
/*top液体シェイプ*/
.section-top_image-head1 img, .section-top_image-head1-mobile img {
  animation: fluidrotate1 35s ease 0s infinite /*アニメーションの設定*/ , fadeout-anim 7s linear 3s forwards /*フェードアウト*/ ;
}
@keyframes fadeout-anim { /*top画像フェードアウト*/
  100% {
    opacity: 0;
  }
}
.section-top_image-healing img, .section-top_image-healing-mobile img {
  animation: fluidrotate1 35s ease 0s infinite; /*アニメーションの設定*/
}
@keyframes fluidrotate1 {
  0%, 100% {
    border-radius: 98% 68% 58% 37% / 27% 65% 77% 44%;
  }
  18% {
    border-radius: 98% 68% 58% 81% / 51% 65% 77% 44%;
  }
  36% {
    border-radius: 28% 68% 74% 95% / 51% 37% 77% 44%;
  }
  54% {
    border-radius: 0% 68% 99% 95% / 80% 92% 78% 44%;
  }
  65% {
    border-radius: 60% 68% 99% 54% / 25% 100% 81% 32%;
  }
  72% {
    border-radius: 32% 55% 99% 54% / 75% 100% 52% 73%;
  }
  90% {
    border-radius: 20% 72% 49% 50% / 95% 100% 96% 36%;
  }
}
.section-top_image-head2 img, .section-top_image-head2-mobile img {
  animation: fluidrotate2 35s ease 0s infinite /*アニメーションの設定*/ , fadeout-anim 7s linear 3s forwards /*フェードアウト*/ ;
}
@keyframes fadeout-anim { /*top画像フェードアウト*/
  100% {
    opacity: 0;
  }
}
.section-top_image-health img, .section-top_image-helth-mobile img {
  animation: fluidrotate2 35s ease 0s infinite; /*アニメーションの設定*/
}
@keyframes fluidrotate2 {
  0%, 100% {
    border-radius: 35% 38% 17% 37% / 44% 41% 22% 36%;
  }
  14% {
    border-radius: 35% 52% 64% 60% / 88% 41% 66% 36%;
  }
  28% {
    border-radius: 35% 52% 64% 60% / 88% 93% 87% 36%;
  }
  42% {
    border-radius: 67% 90% 29% 60% / 92% 25% 20% 87%;
  }
  56% {
    border-radius: 54% 71% 30% 30% / 92% 17% 11% 39%;
  }
  70% {
    border-radius: 84% 63% 77% 92% / 92% 57% 61% 95%;
  }
  84% {
    border-radius: 98% 68% 26% 29% / 100% 27% 0% 95%;
  }
}
/*キャッチコピースライドイン*/
.section-top_catchcopy2 {
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
}
.section-top_catchcopy2-healing img {
  animation-name: slideIn1;
  animation-duration: 10s;
  animation-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
  animation-delay: 3s;
  animation-iteration-count: 1;
  animation-fill-mode: both;
  position: absolute;
  right: 4%;
}
@keyframes slideIn1 {
  0% {
    transform: translateY(-180px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
  }
  40%, 100% {
    opacity: 1;
  }
}
.section-top_catchcopy2-health img {
  animation-name: slideIn2;
  animation-duration: 10s;
  animation-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
  animation-delay: 3s;
  animation-iteration-count: 1;
  animation-fill-mode: both;
  position: absolute;
  left: 8%;
}
@keyframes slideIn2 {
  0% {
    transform: translateX(-180px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%, 100% {
    opacity: 1;
  }
}
.section-top_catchcopy2-and img {
  animation-name: slideIn3;
  animation-duration: 10s;
  animation-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
  animation-delay: 3s;
  animation-iteration-count: 1;
  animation-fill-mode: both;
  position: absolute;
}
@keyframes slideIn3 {
  0% {
    transform: translateY(180px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
  }
  40%, 100% {
    opacity: 1;
  }
}
/*ドライヘッドスパ専門店・logoフェードアウト*/
.section-top_catchcopy1-name, .section-top_catchcopy1-logo {
  animation: fadeout-anim2 4s linear forwards;
  animation-delay: 4s;
}
@keyframes fadeout-anim2 {
  100% {
    opacity: 0;
  }
}
/*左上logo・予約ボタンフェードイン*/
.header-logo, .reserve, .header-logo_copy {
  animation-name: fadeIn;
  animation-duration: 7s;
  animation-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
  animation-delay: 7s;
  animation-iteration-count: 1;
  animation-fill-mode: both;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.8;
  }
}
/* パララックス */
.background {
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  position: fixed;
  background-position: center center;
  opacity: 0;
  -webkit-background-size: cover;
  background-size: cover;
  -webkit-transition: all 0.5s ease 0s;
  -moz-transition: all 0.5s ease 0s;
  transition: all 0.5s ease 0s;
}
.show .background {
  opacity: 1;
}
.contents .wrap {
  padding: 0 0 20vh;
  position: relative;
  /*    z-index: 2;*/
}
@media (min-width:768px) {
  .contents .wrap {
    padding: 0 0 25vh;
  }
}
@media (min-width:1024px) {
  .contents .wrap {
    padding: 0 0 35vh;
  }
}
/* design*/
#content01_bg {
  background-image: url("../images/top/top-section-1-mobile.jpg");
  background-size: cover;
}
#content02_bg {
  background-image: url("../images/top/top-section-2-mobile.jpg");
  background-size: cover;
}
#content03_bg {
  background-image: url("../images/top/top-section-3-mobile.jpg");
  background-size: cover;
}
.text-box-1 {
  padding: 50px 25px;
  width: 100%;
  background-image: url("../images/top/top-section1-mobile.png");
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  z-index: 1;
}
.text-box-2 {
  padding: 50px 25px;
  width: 100%;
  background-image: url("../images/top/top-section2-mobile.png");
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  z-index: 1;
}
.text-box-3 {
  padding: 50px 25px;
  width: 100%;
  background-image: url("../images/top/top-section3-mobile.png");
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  z-index: 1;
}
.text-box .catch {
  margin: 0 0 10px;
  font-size: 40px;
}
.text-box .copy {
  margin: 0;
  line-height: 2;
}
@media (min-width:430px) {
  .text-box-1 {
    padding: 0 25px;
    width: 100%;
    height: 100vh;
    background-image: url("../images/top/top-section1-ipad.png");
    background-size: auto;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
  }
  .text-box-2 {
    padding: 0 25px;
    width: 100%;
    height: 130vh;
    background-image: url("../images/top/top-section2-ipad.png");
    background-size: auto;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
  }
  .text-box-3 {
    padding: 0 25px;
    width: 100%;
    height: 130vh;
    background-image: url("../images/top/top-section3-ipad.png");
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
  }
}
@media (min-width:1025px) {
  /* design*/
  #content01_bg {
    background-image: url("../images/top/section1_bgimg.png");
  }
  #content02_bg {
    background-image: url("../images/top/section2_bgimg.png");
  }
  #content03_bg {
    background-image: url("../images/top/section3_pc.png");
  }
  .text-box-1 {
    padding: 0 25px;
    width: 100%;
    height: 100vh;
    background-image: url("../images/top/top-section-1.png");
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
  }
  .text-box-2 {
    padding: 0 25px;
    width: 100%;
    height: 100vh;
    background-image: url("../images/top/top-section-2.png");
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
  }
  .text-box-3 {
    padding: 0 25px;
    width: 100%;
    height: 100vh;
    background-image: url("../images/top/top-section-3.png");
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    z-index: 1;
  }
}
/*====== 9-1-1 縦線が動いてスクロールを促す =======*/
/*スクロールダウン全体の場所*/
.scrolldown1 {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  left: 50%;
  bottom: 10px;
  /*全体の高さ*/
  height: 50px;
}
/*Scrollテキストの描写*/
.scrolldown1 span {
  /*描画位置*/
  position: absolute;
  left: -19px;
  top: -15px;
  /*テキストの形状*/
  color: #eee;
  font-size: 1.4rem;
  letter-spacing: 0.05em;
}
/* 線の描写 */
.scrolldown1::after {
  content: "";
  /*描画位置*/
  position: absolute;
  top: 0;
  /*線の形状*/
  width: 2px;
  height: 30px;
  background: #eee;
  /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0;
}
/*高さ・位置・透過が変化して線が上から下に動く*/
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 30px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 50px;
    opacity: 0;
  }
}
/*moreボタンのアニメーション*/
/*== ボタン共通設定 */
.btn1 {
  /*アニメーションの起点とするためrelativeを指定*/
  position: relative;
  overflow: hidden;
  /*ボタンの形状*/
  text-decoration: none;
  display: inline-block;
  border: #ead83f 1px solid; /*ボーダーの色と太さ */
  padding: 0 100px 6px;
  margin: 20px 0 0;
  text-align: center;
  outline: none;
  /*アニメーションの指定 
  transition: ease .2s;*/
}
/*ボタン内spanの形状*/
.btn1 span {
  position: relative;
  z-index: 3; /*z-indexの数値をあげて文字を背景よりも手前に表示*/
  color: #333;
  text-decoration: none;
}
.btn1:hover span {
  color: #fff;
}
/*== 背景が流れる（左から右） */
.bgleft1:before {
  content: '';
  /*絶対配置で位置を指定*/
  position: absolute;
  top: -50%;
  right: 0;
  z-index: -1;
  /*色や形状*/
  background: #ead83f; /*背景色*/
  width: 200%;
  height: 200%;
  /*アニメーション*/
  /*  transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;*/
  /*  transform: scale(0, 1) translateX(-100%);*/
  transform-origin: right top;
  border-radius: 0 100% 100% 0;
  transform: translateX(-100%);
  transition: transform ease .4s;
}
/*hoverした際の形状*/
.bgleft1:hover:before {
  transform-origin: left top;
  transform: scale(1, 1);
  transform: translateX(10%);
}
@media (min-width:768px) {
  .btn1 span {
    margin: 0;
    padding: 0;
  }
  .btn1 {
    margin: 0 0 0 30px;
    padding: 0 50px 5px;
  }
}