/* CSS Document */
/*==================== ▼base ====================*/
.pc-on {
  display: block;
}
.tb-on {
  display: none;
}
.sp-on {
  display: none;
}
.el_humburger {
  display: none;
}
/* ==================== ▼ SNOW ==================== */
#snow_particlesjs {
  position: fixed; /*描画固定*/
  width: 100%;
  height: 100%;
  z-index: 10;
}
.logo-area {
  display: none;
}
/* ==================== ▼ CHERRY ==================== */
/* 桜を表示するコンテナのスタイル */
.cherry-blossom-container {
  position: relative;
  height: 100vh; /* コンテナの高さ */
  width: 100%; /* コンテナの横幅 */
  overflow: hidden; /* コンテナからはみ出した要素を隠す */
}
/* 桜の花びらのスタイル */
.petal {
  position: absolute;
  background-color: #ffc0cb; /* 花びらの色 */
  border-radius: 150% 0 150% 0;
  animation: animate-petal 10s linear;
}
.petal::after {
  content: "";
  position: absolute;
  top: -14%;
  left: -10%;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #ffc0cb;
  border-radius: 150% 0 150% 0;
  transform: rotate(15deg);
}
/* 花びらが降るアニメーション */
@keyframes animate-petal {
  0% {
    top: 0;
    opacity: 0;
    transform: rotate(0deg);
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    top: 100vh;
    transform: rotate(3000deg);
  }
}
/* ==================== ▼ SLIDER ==================== */
body, html {
  width: 100vw;
  height: 100vh;
  margin: 0 auto;
}
.slider {
  position: relative;
  height: 100%;
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.slider-01 {
  z-index: -1;
  color: #fff;
  font-size: 60px;
  font-weight: 700;
  text-align: center;
  position: fixed;
  width: 100%;
  top: 30%;
}
.slider-02 {
  z-index: -1;
  color: #fff;
  font-size: 60px;
  font-weight: 700;
  text-align: center;
  position: fixed;
  width: 100%;
  top: 40%;
}
.slider-03 {
  z-index: -1;
  color: #fff;
  font-size: 40px;
  font-weight: 700;
  text-align: center;
  position: fixed;
  width: 100%;
  top: 60%;
}
/* ==================== ▼ HEADER ==================== */
.header {
  background-color: #aabcbc;
  padding: 10px 0 5px 0;
  position: -webkit-sticky;
  position: sticky;
  text-align: center;
  top: 0;
  width: 100%;
  opacity: 0.8;
  z-index: 2;
}
.header nav ul {
  display: flex;
  justify-content: center;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}
.header li a {
  margin: 0 15px;
  transition: 0.6s;
  font-size: 18px;
  color: #fff;
}
.header li a:hover {
  color: #777;
}
.header-01 a img {
  width: 60px;
}
.header-02 {
  margin-top: 5px;
}
/* ==================== ▼ AREA ==================== */
.area {
  background-color: #fff;
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
  padding: 30px 0;
  z-index: 1;
}
.area-inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
.area-title {
  text-align: center;
  font-size: 30px;
  font-family: Georgia, "Times New Roman", Times, "serif";
  margin-bottom: 20px;
}
/* ==================== ▼ FADE ==================== */
.fade {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
}
.fade.move {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  transition: 1s;
}
/* ==================== ▼ CAMPAIGN ==================== */
.area-campaign {
  background-image: url("../images/top/snow.webp");
  background-repeat: repeat-x;
  background-position: center bottom;
  width: 100%;
  margin: 0 auto;
  padding: 30px 0;
}
.campaign {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 0;
  padding-bottom: 0;
}
.campaign-01 {
  text-align: center;
  font-size: 26px;
  margin-bottom: 10px;
  font-weight: 700;
  color: #666;
}
.campaign-02 {width: 94%;
  max-width: 550px;
  margin: 0 auto 20px;
  font-size: 20px;
  color: #666;
}
.campaign-03 {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 10px;
  color: #666;
}
.campaign-box-1 {
  width: 94%;
  max-width: 550px;
  margin: 0 auto;
}
.campaign-04 {
  font-size: 20px;
  font-weight: 700;
  color: #666;
}
.campaign-05 {
  font-size: 18px;
  margin-bottom: 20px;
  color: #666;
}
.campaign-06 {
  width: 96%;
  max-width: 1000px;
  margin: 0 auto;
}
.campaign-07 {
  color: #FA7098;
  font-weight: 600;
  font-size: 22px;
}
.campaign-08 {
  color: #FA7098;
  font-weight: 600;
  font-size: 18px;
}
.campaign-09 {
  font-family: "Times New Roman", Times, "serif";
  font-size: 24px;
}
.campaign-10 {
  color: #FA7098;
  font-size: 20px;
}
/* ==================== ▼ CANCEL-POLICY ==================== */
.cancel-policy {
  width: 350px;
  text-align: center;
  margin: 30px auto;
}
.cancel-policy a {
  padding: 10px 0;
  font-size: 18px;
  color: #fff;
  display: block;
  background-color: #aabcbc;
  border: 1px solid #aabcbc;
  border-radius: 10px;
  transition: 0.6s;
}
.cancel-policy a:hover {
  background-color: #fff;
  color: #aabcbc;
  border: 1px solid #aabcbc;
  border-radius: 10px;
}
/* ==================== ▼ VENUS ==================== */
.venus-box {
  background-color: #fff;
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
  padding: 30px 0;
  z-index: 1;
}
.venus-box-inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
.venus-box-1 {
  float: left;
  width: 500px;
}
.venus-box-2 {
  float: left;
  width: 500px;
}
.venus-01 {
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 20px;
}
.venus-02 {
  margin-bottom: 20px;
}
.venus-03 {
  font-family: Georgia, "Times New Roman", Times, "serif";
  font-size: 18px;
}
.venus-04 {
  overflow: hidden; /*拡大時にはみ出た部分を隠す*/
  width: 500px; /*画像の幅*/
  height: 100%; /*画像の高さ*/
}
.venus-04 img {
  display: block;
  transition-duration: 0.5s; /*変化に掛かる時間*/
}
.venus-04 img:hover {
  transform: scale(0.95); /*画像の拡大率*/
  transition-duration: 0.5s; /*変化に掛かる時間*/
}
/* ==================== ▼ PARALLAX ==================== */
.parallax {
  width: 100%;
  height: auto;
  position: sticky;
  top: 0;
  left: 0;
  z-index: -1;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
h2.parallax-title {
  text-align: center;
  padding: 100px 0;
  font-size: 36px;
  font-weight: 700;
  color: #fff;
  text-shadow: 1px 2px 3px #333;
  font-family: Georgia, "Times New Roman", Times, "serif";
}
.parallax-bg-1 {
  background-image: url("../images/top/parallax-1.webp");
}
.parallax-bg-2 {
  background-image: url("../images/top/parallax-2.webp");
}
.parallax-bg-3 {
  background-image: url("../images/top/parallax-3.webp");
}
.parallax-bg-4 {
  background-image: url("../images/top/parallax-4.webp");
}
.parallax-bg-5 {
  background-image: url("../images/top/parallax-5.webp");
}
.parallax-bg-6 {
  background-image: url("../images/top/parallax-6.webp");
}
.parallax-bg-7 {
  background-image: url("../images/top/parallax-7.webp");
}
/* ==================== ▼ SEASON ==================== */
.season {
  background-color: #fff;
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
  z-index: 1;
}
.season-box-1 {
  background-image: url("../images/top/season.webp");
  background-position: center bottom;
  background-repeat: repeat-x;
  padding: 30px 0;
}
.season-inner {
  width: 94%;
  max-width: 990px;
  margin: 0 auto;
}
.season-title {
  font-size: 22px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 10px;
  color: #777;
}
.season-01 {
  text-align: center;
  font-size: 20px;
  margin-bottom: 20px;
  color: #777;
}
.season-box {
  width: 310px;
  float: left;
  margin: 0 10px 20px;
}
.season-02 {
  font-size: 18px;
  text-align: center;
  padding-top: 10px;
  color: #777;
}
.season-03 {
  padding-top: 5px;
  text-align: center;
  color: #777;
}
.season-04 {
  font-size: 17px;
  font-weight: 700;
  text-align: center;
  padding-top: 10px;
}
.season-05 {
  text-align: center;
  font-size: 18px;
  padding-top: 20px;
  color: #777;
}
/* -------------------- ▼ MOUSEOVER SEASON -------------------- */
.img-season {
  overflow: hidden; /*拡大時にはみ出た部分を隠す*/
  width: 310px; /*画像の幅*/
  height: 100%; /*画像の高さ*/
}
.img-season img {
  display: block;
  transition-duration: 0.5s; /*変化に掛かる時間*/
}
.img-season img:hover {
  transform: scale(0.95); /*画像の拡大率*/
  transition-duration: 0.5s; /*変化に掛かる時間*/
}
/* ==================== ▼ WELCOME==================== */
.welcome-inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
.welcome-title {
  text-align: center;
  font-size: 24px;
  margin-bottom: 20px;
}
.welcome-box-1 {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding-bottom: 30px;
}
.welcome-01 {
  float: right;
  width: 300px;
  margin: 0 0 0 20px;
}
.welcome-02 {
  font-size: 20px;
  margin-bottom: 10px;
  font-weight: 700;
}
.welcome-03 {
  margin-bottom: 10px;
  font-size: 18px;
}
.welcome-box-2 {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
.welcome-04 {
  float: left;
  width: 300px;
  margin: 0 20px 0 0;
}
/* ==================== ▼ NAIL-PHOTO ==================== */
.tap-up {
  text-align: right;
  margin-bottom: 10px;
  font-size: 14px;
}
.update {
  font-family: Georgia, "Times New Roman", Times, "serif";
  text-align: right;
  margin: 0 10px 10px 0;
  font-size: 18px;
}
.nail-photo {
  width: 180px;
  float: left;
  margin: 0 10px 10px 10px;
}
.nail-photo img {
  width: 180px;
}
.nail-name {
  text-align: center;
  font-size: 16px;
  padding-top: 5px;
  height: 20px;
  font-family: Georgia, "Times New Roman", Times, "serif";
}
/* -------------------- ▼ MOUSEOVER NAIL-PHOTO -------------------- */
.img-wrap {
  overflow: hidden; /*拡大時にはみ出た部分を隠す*/
  width: 180px; /*画像の幅*/
  height: 100%; /*画像の高さ*/
}
.img-wrap img {
  display: block;
  transition-duration: 0.5s; /*変化に掛かる時間*/
}
.img-wrap img:hover {
  transform: scale(1.1); /*画像の拡大率*/
  transition-duration: 0.5s; /*変化に掛かる時間*/
}
/* ==================== ▼ VIEW-MORE ==================== */
.view-more {
  width: 300px;
  text-align: center;
  margin: 30px auto;
}
.view-more a {
  line-height: 50px;
  font-size: 24px;
  color: #fff;
  display: block;
  background-color: #aabcbc;
  border: 1px solid #aabcbc;
  border-radius: 10px;
  transition: 0.6s;
  font-family: Georgia, "Times New Roman", Times, "serif";
}
.view-more a:hover {
  background-color: #fff;
  color: #aabcbc;
  border: 1px solid #aabcbc;
  border-radius: 10px;
}
/* ==================== ▼ NAILART-COLLECTIONS ==================== */
.collections-inner {
  width: 100%;
  max-width: 930px;
  margin: 0 auto;
}
.collections-box {
  width: 250px;
  margin: 0 30px 20px;
  float: left;
}
.collections-01 {
  width: 250px;
}
.collections-02 {
  text-align: center;
  font-size: 20px;
  padding-top: 5px;
  font-family: Georgia, "Times New Roman", Times, "serif";
}
/* -------------------- ▼ MOUSEOVER NAIL-COLLECTION -------------------- */
.img-up {
  overflow: hidden; /*拡大時にはみ出た部分を隠す*/
  width: 250px; /*画像の幅*/
  height: 100%; /*画像の高さ*/
}
.img-up img {
  display: block;
  transition-duration: 0.5s; /*変化に掛かる時間*/
}
.img-up img:hover {
  transform: scale(1.1); /*画像の拡大率*/
  transition-duration: 0.5s; /*変化に掛かる時間*/
}
/* ==================== ▼ CONCEPT ==================== */
.top-concept-01 {
  text-align: right;
  margin: 0 20px 10px 0;
  font-size: 14px;
}
.top-concept-box-1 {
  width: 100%;
  max-width: 999px;
  margin: 0 auto 0;
}
.top-concept-02 {
  width: 313px;
  float: left;
  margin: 0 10px 30px;
}
.up-concept {
  overflow: hidden; /*拡大時にはみ出た部分を隠す*/
  width: 313px; /*画像の幅*/
  height: 100%; /*画像の高さ*/
}
.up-concept img {
  display: block;
  transition-duration: 0.5s; /*変化に掛かる時間*/
}
.up-concept img:hover {
  transform: scale(1.1); /*画像の拡大率*/
  transition-duration: 0.5s; /*変化に掛かる時間*/
}
.top-concept-box-2 {
  width: 100%;
  max-width: 680px;
  margin: 0 auto;
}
.top-concept-03 {
  text-align: center;
  font-size: 20px;
  margin-bottom: 10px;
}
.top-concept-04 {
  text-align: center;
  font-size: 18px;
  margin-bottom: 10px;
}
.top-concept-05 {
  margin-bottom: 10px;
}
.top-concept-06 {
  margin-bottom: 20px;
}
.top-concept-07 {
  font-size: 18px;
  text-align: center;
}
/* ==================== ▼ TOP-SNS ==================== */
.top-sns-01 {
  text-align: center;
  font-size: 20px;
  margin-bottom: 10px;
}
.top-sns-02 {
  text-align: center;
  font-size: 18px;
  margin-bottom: 30px;
}
.top-sns-box-1 {
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
}
.top-sns-box-2 {
  width: 100px;
  float: left;
  margin: 0 30px 0;
}
.top-sns-04 {
  text-align: center;
}
/* ==================== ▼ GOOGLE-MAP==================== */
.google-map {
  background-color: #ffffff;
  overflow: hidden;
  width: 100%;
  margin: 0 auto;
  padding-top: 5px;
}
/* ==================== ▼ FOOTER==================== */
footer {
  width: 100%;
  background-color: #aabcbc;
}
.footer-inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 50px 0 70px;
}
.footer-box-1 {
  max-width: 700px;
  margin: 0 auto;
}
.footer-box-1 li {
  padding-bottom: 5px;
}
.footer-box-1 li a {
  color: #fff;
}
.footer-box-1 li a:hover {
  color: #777;
}
.foot-menu-left {
  width: 70px;
  float: left;
}
.foot-menu-right {
  width: 120px;
  float: left;
  margin: 0 100px;
}
.foot-address {
  width: 310px;
  float: left;
  color: #fff;
}
.foot-address-01 {
  margin-bottom: 5px;
  color: #fff;
}
.foot-address-02 {
  margin-bottom: 5px;
  color: #fff;
}
.foot-address-02 a {
  color: #fff;
}
.foot-address-02 a:hover {
  color: #777;
  font-weight: 700;
}
.foot-address-03 {
  color: #fff;
}
.foot-address-03 a {
  color: #fff;
}
.footer-logo {
  width: 200px;
  margin: 0 auto 20px;
}
.footer-produced {
  font-size: 18px;
  text-align: center;
  color: #fff;
  font-family: Georgia, "Times New Roman", Times, "serif";
}
.sns-icon {
  width: 280px;
  margin: 50px auto;
}
.sns-icon p {
  width: 50px;
  float: left;
  margin: 0 10px;
}
.copyright {
  text-align: center;
  color: #fff;
  font-size: 14px;
}
/*---------- Page-Top ----------*/
#page_top {
  width: 50px;
  height: 50px;
  position: fixed;
  right: 1%;
  bottom: 70px;
  background: #fff;
  opacity: 0.9;
  border-radius: 50%;
  z-index: 2;
  border: 1px solid #aabcbc;
}
#page_top a {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #aabcbc;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -15px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
/*---------- side-banner ----------*/
.right-banner {
  position: fixed;
  bottom: 40%;
  right: 0;
  margin-right: 1%;
  z-index: 3;
}
.banner-box {
  width: 50px;
  margin-bottom: 5px;
}