@charset "utf-8";
/* CSS Document */
/*メイン共通*/
.l-main {
  position: relative;
  overflow: hidden;
}
.l-section {
  padding-top: 120px;
  padding-bottom: 120px;
  position: relative;
}
.btn {
  position: relative;
  margin: 60px auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 280px;
  width: 280px;
  height: 50px;
  color: #FFF;
  background-color: #14659B;
  border-radius: 25px;
  transition: all .4s linear;
}
.btn::before {
  content: '';
  position: absolute;
  right: 8%;
  top: 18px;
  width: 30px;
  height: 8px;
  border-bottom: 1px solid #FFF;
  border-right: 1px solid #FFF;
  transform: skew(45deg);
  transition: all .4s;
}
.btn:hover::before {
  right: -20px;
}
.l-cushion {
  background-color: #FFF;
  border-radius: 10px;
  box-shadow: 0px 0px 6px rgba(100, 100, 100, 0.1);
}
.heading__Lv1-wrap {
  position: relative;
  margin-top: -60px;
  background-color: #FFFCF2;
}
.heading__Lv1-jp, .l-title {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 248px;
  width: 278px;
  min-width: 278px;
  margin: 0 auto;
  padding: 15px 0 0 15px;
  background-image: url("../images/common/titleFrame_lv1.svg");
  background-repeat: no-repeat;
  background-position: center;
  font-size: 3.5rem;
  z-index: 5;
}
.heading__Lv1-en, .title-supplement {
  display: block;
  font-size: 1.6rem;
  line-height: 150%;
}
.heading__Lv2-jp {
  margin-bottom: 60px;
  font-size: 3rem;
}
.heading__Lv2-left {
  display: inline-block;
  width: 30px;
  height: 32px;
  margin-right: 20px;
  background-image: url("../images/common/petal-left_top.svg");
  background-repeat: no-repeat;
}
.heading__Lv2-right {
  display: inline-block;
  transform: scale(-1, 1);
  width: 30px;
  height: 32px;
  margin-left: 20px;
  background-image: url("../images/common/petal-left_top.svg");
  background-repeat: no-repeat;
}
.heading__Lv2-en {
  display: block;
  color: #EBACAC;
  font-size: 1.6rem;
  line-height: 150%;
}
/*メイン共通_SP*/
@media (max-width: 768px) {
  .l-section {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .l-section h2 {
    margin: 0 auto 40px;
    min-width: 240px;
  }
  .btn {
    margin: 40px auto 0;
  }
  .heading__Lv2-jp {
    font-size: 2.4rem;
  }
  .heading__Lv2-left {
    margin-right: 10px;
  }
  .heading__Lv2-right {
    margin-left: 10px;
  }
}
.none {
  display: none;
}
/*ページヒーロー*/
.pageHero {
  position: relative;
}
.pageHero::before {
  content: '';
  position: absolute;
  width: 100vw;
  height: 55vh;
  bottom: 0;
  left: 0;
  background-color: #FFFCF2;
  z-index: 0;
}
.l-container.fullWidth {
  max-width: 100%;
}
.pageHero__inner {
  position: relative;
  width: 100%;
  height: 60vh;
  margin: 90px auto 0;
  border-radius: 10px;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 2;
}
.pageHero__inner::before {
  position: absolute;
  right: -2%;
  bottom: -5%;
  width: 308px;
  height: 204px;
  background-image: url("../images/top/cherryBlossomPetals-PC-right-bottom.svg");
  background-repeat: no-repeat;
  content: '';
}
.pageHero__inner::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #FFFCF2;
  opacity: 0.2;
  z-index: -1;
}
@media (max-width: 768px) {
  .pageHero__inner {
    background-size: cover;
    background-position: 42%;
  }
  .pageHero__inner {
    height: 45vh;
  }
  .pageHero__inner::before {
    width: 50%;
    bottom: -5%;
    right: -3%;
    background-size: contain;
    background-position: 100% 100%;
  }
  .heading__Lv1-wrap {
    margin-top: -40px;
  }
}
/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
}
.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}
/*----------------------------
scroll_left ｜左から出現
----------------------------*/
.scroll_left {
  -webkit-transition: 0.8s ease-in-out;
  -moz-transition: 0.8s ease-in-out;
  -o-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out;
  transform: translateX(-30px);
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
}
.scroll_left.on {
  opacity: 1.0;
  filter: alpha(opacity=100);
  -moz-opacity: 1.0;
  transform: translateX(0);
}
/*----------------------------
scroll_right ｜右から出現
----------------------------*/
.scroll_right {
  -webkit-transition: 0.8s ease-in-out;
  -moz-transition: 0.8s ease-in-out;
  -o-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out;
  transform: translateX(30px);
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
}
.scroll_right.on {
  opacity: 1.0;
  filter: alpha(opacity=100);
  -moz-opacity: 1.0;
  transform: translateX(0);
}
/*------------------------*/