@charset "UTF-8";
img {
  width: 100%; }

a {
  text-decoration: none; }

header {
  position: relative;
  z-index: 2; }

.float-btn {
  position: fixed;
  z-index: 100;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 428px; }
  .float-btn .inner {
    display: flex;
    align-items: flex-end; }
    .float-btn .inner a {
      display: inline-block;
      transition: .3s; }
      .float-btn .inner a:hover {
        opacity: 0.7; }

.FV {
  position: relative;
  margin-top: -5%; }

.fv_movie video{
	width: 100%;
	border: 1px solid #E9E9E9;
}

.content {
  width: 428px;
  margin: 0 auto;
  overflow: hidden;}

.pink-txt {
  color: #FF698C;
  font-weight: bold; }

.btn-wrap a {
  transition: .3s; }
  .btn-wrap a:hover {
    opacity: 0.7; }

.ex-lift {
  font-family: "Zen Kaku Gothic Antique", serif;
  background: #ffffffad;
  padding: 20px;
  border-radius: 10px;
  margin-top: 10px; }
  .ex-lift .inner {
    width: 95%;
    margin: 0 auto; }
  .ex-lift p {
    padding-left: 3em;
    text-indent: -4em;
    font-size: 14px;
    margin-bottom: 0.5rem;
    line-height: 1.3;
    font-weight: bold;
    color: #4B4B4B; }

.intro-block {
  padding: 150px 30px 30px;
  box-sizing: border-box;
  position: relative;
  background-image: image-set(
    url("../images/AVIF/intro_bg.avif") type("image/avif"),
    url("../images/intro_bg.png") type("image/png"));
  background-size: cover;
  background-position: center top;
  margin-top: -47%; }
  .intro-block::before {
    content: "";
  background-image: image-set(
    url("../images/AVIF/circle3_img.avif") type("image/avif"),
    url("../images/circle3_img.png") type("image/png"));
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 33%;
    position: absolute;
    top: -10%;
    left: 0;
    right: 0; }
  .intro-block .ttl_img {
    width: 70%;
    margin: 0 auto 5px; }
  .intro-block .img-area div:first-of-type {
    margin-bottom: 8px; }
  .intro-block .img-area picture{
    display: block;
	}
  .intro-block .img-area picture:first-of-type {
    margin-bottom: 8px; }
.case_text{
	width: 80%;
	margin: 4% auto 0;
}
.price-block {
  padding: 0 30px 30px;
  background: url(../images/section02_bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom; }
  .price-block .img-area {
    margin-bottom: 32px; }
  .price-block .ttl {
    margin-top: -13px; }
  .price-block .price-img-area {
    margin: 0 0 10px; }
    .price-block .price-img-area div:first-of-type {
      margin-bottom: 5px; }

.doctor-block {
  padding: 40px 0; }
  .doctor-block .ttl_img {
    width: 90%;
    margin: 0 auto 5px; }

.about-shopinglift {
  padding: 0 30px 40px; }
  .about-shopinglift .ttl {
    font-family: "Shippori Mincho", serif;
    font-size: 35px;
    letter-spacing: -7.8px;
    text-align: center;
    margin-bottom: 25px; }
    .about-shopinglift .ttl span {
      font-size: 40px; }
  .about-shopinglift .txt-block {
    padding: 40px 20px;
    background: url(../images/abot_lift_txtbg.png);
    background-size: 100% 100%; }
    .about-shopinglift .txt-block .txt-area {
      font-family: "Zen Kaku Gothic Antique", serif;
      font-weight: bold; }
      .about-shopinglift .txt-block .txt-area p {
        margin-bottom: 20px;
        line-height: 1.8;
        color: #4B4B4B; }
    .about-shopinglift .txt-block .img-area {
      width: 80%;
      margin: 0 auto; }

.attention-block {
  position: relative;
  z-index: 2; }

.approach-block {
  margin-top: -12%;
  position: relative;
  z-index: 1; }

.effect-block {
  padding: 10px 30px 40px; }
  .effect-block .movie-area {
    width: 100%;
    /* 横幅いっぱい */
    position: relative;
    /* 子要素の絶対配置をするときに使用する場合 */
    overflow: hidden;
    /* はみ出しを隠す場合に指定（必須ではない） */
    margin-top: 10px; }
    .effect-block .movie-area video {
      width: 104%;
      /* 横幅を親要素に合わせる */
      height: auto;
      /* 縦横比を保ちつつ自動調整 */
      display: block;
      /* 余計な隙間を消すため */
      object-fit: cover;
      /* コンテナを覆うように拡大し黒帯を出さない */
      object-position: center;
      /* 拡大時の中心位置を中央に */ }

.case-block {
  background: url(../images/frame_bg.png);
  background-size: 100% 100%;
  background-position: center;
  padding: 80px 25px 40px;
  position: relative; }
  .case-block::before {
    content: '';
    background: url(../images/gold01_img.png);
    width: 104px;
    height: 186px;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0; }
  .case-block::after {
    content: '';
    background: url(../images/gold02_img.png);
    width: 104px;
    height: 186px;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    right: 0; }
  .case-block h2 {
    width: 42%;
    margin: 0 auto;
    position: relative;
    margin-bottom: 70px; }
    .case-block h2::before {
      content: '';
      background: url(../images/title_icon.png);
      width: 47px;
      height: 33px;
      background-size: contain;
      background-repeat: no-repeat;
      position: absolute;
      top: -48px;
      right: 0;
      left: 0;
      margin: auto; }
    .case-block h2::after {
      content: '';
      background: url(../images/case_arw.png);
      width: 38px;
      height: 31px;
      background-size: contain;
      background-repeat: no-repeat;
      position: absolute;
      bottom: -53px;
      right: 0;
      left: 0;
      margin: auto; }
  .case-block .ex-lift {
    margin-top: 0px;
    padding: 20px 50px; }

.banner {
  position: relative; }
  .banner::before {
    content: '';
    background: url(../images/fukidashi02.png);
    width: 45%;
    height: 130px;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: -15%;
    right: 0;
    left: 0;
    margin: auto; }
  .banner div:last-of-type {
    margin-top: -4px; }

.woman-block {
  margin-top: -3px; }

.price-block02 {
  background: url(../images/graph_area_bg.png);
  background-size: cover;
  margin-top: -10%; }
  .price-block02 .price-fv-area div:first-of-type {
    padding: 0 10px; }
  .price-block02 .graph-bottom-area {
    padding-left: 10px; }
  .price-block02 .price-area {
    padding: 0 20px 40px; }
    .price-block02 .price-area .ttl {
      margin-top: -13px; }
    .price-block02 .price-area .price-img-area {
      margin-bottom: 10px; }
      .price-block02 .price-area .price-img-area div:first-of-type {
        margin-bottom: 5px; }

.flow-block {
  font-family: "Shippori Mincho", serif;
  background: #ffffff;
  padding: 40px 15px; }
  .flow-block .ttl {
    font-size: 40px;
    font-weight: bold;
    background: linear-gradient(136deg, #FD7EAD 0%, #C890F4 51%, #77B3EA 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-align: center;
    margin-bottom: 25px; }
  .flow-block .flow-area {
    padding: 23px 25px;
    background: url(../images/flow_bg.png);
    background-size: cover;
    color: #4B4B4B; }
    .flow-block .flow-area .item {
      position: relative; }
      .flow-block .flow-area .item:not(:last-child) {
        margin-bottom: 20px; }
    .flow-block .flow-area .arw-area {
      margin-bottom: 10px; }
      .flow-block .flow-area .arw-area img {
        display: block;
        width: 27%;
        margin: 0 auto; }

.qa-block {
  background: #FFE5F2;
  padding: 40px 30px; }
  .qa-block .ttl {
    color: #FF698C;
    font-family: "Shippori Mincho", serif;
    text-align: center;
    font-size: 30px;
    margin-bottom: 25px;
    letter-spacing: -2.2px; }
  .qa-block .qa-area {
    font-family: "Zen Kaku Gothic Antique", serif; }
    .qa-block .qa-area dl {
      margin-bottom: 15px; }
      .qa-block .qa-area dl dt {
        padding: 15px;
        background: url(../images/q_bg.png);
        background-size: cover; }
        .qa-block .qa-area dl dt p {
          color: #ffffff; }
      .qa-block .qa-area dl dd {
        background: #ffffff;
        padding: 15px;
        font-size: 14px;
        line-height: 1.5; }
        .qa-block .qa-area dl dd p {
          padding-left: 23px;
          position: relative;
          color: #4B4B4B; }
          .qa-block .qa-area dl dd p::before {
            content: '';
            background: url(../images/A_icon.png);
            background-size: contain;
            background-repeat: no-repeat;
            width: 14px;
            height: 14px;
            top: 4px;
            left: 0;
            position: absolute; }

.payment-block {
  padding: 40px 30px 60px;
  background: url(../images/pay_bg.png);
  background-size: cover;
  color: #597B93; }
  .payment-block .ttl {
    font-family: "Shippori Mincho", serif;
    text-align: center;
    font-size: 30px;
    margin-bottom: 30px;
    letter-spacing: -2.2px; }
  .payment-block .txt-area {
    font-family: "Zen Kaku Gothic Antique", serif;
    line-height: 1.3;
    font-weight: bold;
    margin-bottom: 20px; }

footer {
  padding: 20px 0;
  background: url(../images/copylight_bg.png);
  background-size: cover;
  color: #ffffff;
  text-align: center; }
  footer a {
    font-family: "Zen Kaku Gothic Antique", serif;
    font-size: 14px;
    margin-bottom: 20px;
    display: inline-block;
    color: #ffffff;
    transition: .3s; }
    footer a:hover {
      opacity: 0.7; }
  footer small p {
    font-family: "Shippori Mincho", serif; }

@media screen and (max-width: 768px) {
  .content {
    width: 100%; }

  .float-btn {
    position: fixed;
    z-index: 100;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 100%; }

  .intro-block::before {
    background-size: contain; }

  .about-shopinglift .ttl {
    font-size: 30px; }
    .about-shopinglift .ttl span {
      font-size: 35px; } }
