@charset "utf-8";

/* 全体の共通設定 */

html{
    font-size: 62.5%;
}

.inner{
    max-width: 1220px;
    width: 100%;
    margin: 0 auto;
    padding: 0 10px;
}
.sp{
    display: none;
}

/* fadeup */
.fadeUp {
  animation-name:fadeUpAnime;
  animation-duration:1.5s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeUp_ {
  opacity: 0;
}

.fadeIn {
  animation-name:fadein;
  animation-duration:2s;
  animation-fill-mode:forwards;
  opacity:0;
}
@keyframes fadein {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  30% {
    transform: scale(0.8);
    opacity: 0;
  }
  70% {
    transform: scale(1.02);
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}


@media only screen and (max-width: 768px) {
    .inner{
        max-width: none;
        padding: 0 6.666666667vw;
    }
    .pc{
        display: none !important;
    }
    .sp{
        display: block !important;
    }
}

#page-ad {
    position: relative;
    font-family: "Noto Sans JP", sans-serif;
}

#page-ad *{
    box-sizing: border-box;
}

#page-ad section{
    overflow: hidden;
}

/* header */
#page-ad .header{
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 50px;
    background-color: transparent;
    z-index: 10;
}
#page-ad .header .logo img{
    display: block;
    max-width: 330px;
    width: 100%;
}
#page-ad .header .info-area{
    position: fixed;
    top: 30px;
    right: 50px;
    display: flex;
    align-items: center;
    gap: 20px;
}
#page-ad .header .info-area .line{
	position: relative;
    display: block;
    border-radius: 6px;
    z-index: 5;
}
#page-ad .header .info-area .line::before{
	position: absolute;
	bottom: -5px;
	left: 0;
	right: 0;
	content: "";
	width: 100%;
	height: 85px;
	border-radius: 8px;
	background: #000;
	transition: all .3s;
	z-index: 1;
}
#page-ad .header .info-area .line img{
	position: relative;
	z-index: 5;
    display: block;
    max-width: 340px;
    width: 100%;
    border-radius: 10px;
    transition: all .3s;
}
#page-ad .header .info-area a:hover img{
    opacity: 1;
    transform: translate(0px, 5.5px);
}
#page-ad .header .info-area .tel{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 340px;
    height: 90px;
    background-color: #FFD900;
    border: 3px solid #000;
    box-shadow: 0 5px 0 #000;
    border-radius: 8px;
    transition: all .3s;
}
#page-ad .header .info-area .tel .number{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 36px;
    font-weight: 800;
    letter-spacing: 0;
    color: #000;
    margin-top: -5px;
}
#page-ad .header .info-area .tel .number::before{
    content: "";
    width: 27px;
    height: 32px;
    background-image: url(../img/ad/tell_icon.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: rotate(-30deg);
}
#page-ad .header .info-area .tel .note{
    font-size: 17px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.04em;
    color: #000;
    margin-top: -10px;
}
#page-ad .header .info-area .tel:hover{
    opacity: 1;
    transform: translate(0px, 5.5px);
    box-shadow: none;
    text-decoration: none;
}

@media only screen and (max-width: 768px) {
    #page-ad .header{
        width: 100%;
        padding: 5.33333333333333334vw;
        justify-content: center;
    }
    #page-ad .header .logo img{
        max-width: 48vw;
        margin: 0 auto;
    }
    #page-ad .header .info-area{
        position: fixed;
        top: auto;
        bottom: 0;
        right: 0;
        left: 0;
        background-color: #000;
        gap: 1.333333333333333335vw;
        padding: 1.333333333333333335vw;
    }
    #page-ad .header .info-area .line{
        border-radius: 5px;
    }
    #page-ad .header .info-area .line::before{
        display: none;
    }
    #page-ad .header .info-area .line img{
        max-width: 340px;
        border-radius: 5px;
    }
    #page-ad .header .info-area .tel{
        width: 47.62133333333334vw;
        height: 12.624000000000002vw;
        flex-shrink: 0;
        border: 1px solid #000;
        box-shadow: none;
        border-radius: 5px;
    }
    #page-ad .header .info-area .tel .number{
        gap: 1.333333333333333335vw;
        font-size: 4.26666666666666667vw;
        margin-top: 0;
    }
    #page-ad .header .info-area .tel .number::before{
        width: 4.8vw;
        height: 5.600000000000000005vw;
    }
    #page-ad .header .info-area .tel .note{
        font-size: 2.4vw;
        margin-top: -0.53333333333333333vw;
    }
}

/* footer */
#page-ad footer{
    border: none;
}
#page-ad footer #copyright small{
    display: block;
    width: 100%;
    font-size: 15px;
    text-align: center;
    letter-spacing: 0.06em;
    line-height: normal;
    padding: 26px 0 24px;
    color: #Fff;
    background-color: #000;
}
@media only screen and (max-width: 768px) {
    #page-ad footer #copyright small{
      font-size: 3.2vw;
      padding: 4vw 0 3.2vw;
    }
}
#page-ad .grecaptcha-badge{
  opacity: 0;
}

/* mv */
#page-ad .mv{
    overflow: hidden;
    display: block;
    padding: 100px 45px 45px;
    max-width: 100%;
    background-image: url(../img/ad/mv-bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;   
}
@media only screen and (max-width: 768px) {
    #page-ad .mv{
        padding: 18.6666666666667vw 0 4vw;
    }
}

/* flow-txt */
#page-ad .flow-txt{
    padding: 20px 0 30px;
    background-color: #241E24;
    overflow: hidden;
    z-index: 1;
    white-space: nowrap;
}
#page-ad .flow-txt .slide-track {
    display: inline-block;
    animation: slide 40s linear infinite;
}
#page-ad .flow-txt .slide-track span {
    display: inline-block;
    font-size: 80px;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: #fff;
}
@keyframes slide {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}
@media only screen and (max-width: 768px) {
    #page-ad .flow-txt{
        padding: 2.66666666666666667vw 0 2.93333333333333333vw;
    }
    #page-ad .flow-txt .slide-track {
        animation: slide 40s linear infinite;
    }
    #page-ad .flow-txt .slide-track span {
        font-size: 5.333333333333334vw;
    }
}

/* worries */
#page-ad .worries{
    text-align: center;
    padding: 100px 0 45px;
    background-image: url(../img/ad/worries_bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#page-ad .worries .ttl{
    display: inline-block;
    font-size: 70px;
    font-weight: 800;
    text-align: center;
    letter-spacing: -0.08em;
    padding: 0 10px 5px;
    line-height: normal;
    margin: 0 auto 60px;
    color: #241E24;
    border-bottom: 6px solid #000000;
}
#page-ad .worries .ttl span{
    font-size: 85px;
    letter-spacing: -0.03em;
}
#page-ad .worries .product-img img{
    display: block;
    max-width: 1050px;
    width: 100%;
    margin: 0 auto;
}
#page-ad .worries .product_txt img{
    display: block;
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}
@media only screen and (max-width: 768px) {
    #page-ad .worries{
        padding: 10.66666666666668vw 0 5.3333333333334vw;
    }
    #page-ad .worries .inner{
        padding: 0;
    }
    #page-ad .worries .ttl{
        font-size: 5.33333333333334vw;
        padding: 0 2.666666666666667vw 3.2vw;
        margin: 0 auto 8vw;
        border-bottom: 2px solid #000000;
    }
	#page-ad .worries .ttl span{
		font-size: 6.666666666667vw;
	}
    #page-ad .worries .product-img img{
        width: 90%;
    }
}

/* reazon */
#page-ad .reazon{
    padding: 75px 0 90px;
    background-image: url(../img/ad/reazon_bg.jpg);
    background-position: center;
    background-repeat: repeat;
    background-size: contain;
}
#page-ad .reazon .ttl{
    position: relative;
}
#page-ad .reazon .ttl img{
    position: relative;
    z-index: 2;
    display: block;
    max-width: 800px; 
    width: 100%;
    margin: 0 auto 70px;
}
#page-ad .reazon .ttl::before{
    position: absolute;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 925px;
    height: 164px;
    background-image: url(../img/ad/reazon_ttl_bg.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 1;
}
#page-ad .reazon .point_area{
    display: flex;
    justify-content: center;
    gap: 25px;
}
#page-ad .reazon .point_area .img img{
    display: block;
    max-width: 380px;
    width: 100%;
}
@media only screen and (max-width: 768px) {
  #page-ad .reazon{
    padding: 12vw 0 16vw;
  }
  #page-ad .reazon .ttl img{
      max-width: 86.6666666666666666666668vw;
      margin: 0 auto 10.66666666666666666668vw;
  }
  #page-ad .reazon .ttl::before{
      top: 4.8vw;
      width: 80vw;
      height: 14.133333333333333333335vw;
  }
  #page-ad .reazon .point_area{
      flex-wrap: wrap;
      gap: 5.333333333333333333334vw;
  }
  #page-ad .reazon .point_area .img img{
      max-width: none;
  }
}

/* compare */
#page-ad .compare{
    padding: 105px 0 80px;
    background-color: #F2F2F2;
}
#page-ad .compare .ttl{
    position: relative;
}
#page-ad .compare .ttl img{
    position: relative;
    z-index: 2;
    display: block;
    max-width: 860px;
    width: 100%;
    margin: 0 auto 80px;
}
#page-ad .compare .ttl::before{
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 1100px;
    height: 166px;
    background-image: url(../img/ad/compare_ttl_bg.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 1;
}
#page-ad .compare .case_area{
    display: flex;
    justify-content: center;
    gap: 30px;
    margin: 0 auto 110px;
}
#page-ad .compare .case_area .img img{
    display: block;
    max-width: 380px;
    width: 100%;
}
#page-ad .compare .note{
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    color: #000;
    margin: 0 auto 75px;
}
#page-ad .compare .sub_ttl{
    display: block;
    font-size: 70px;
    font-weight: 900;
    text-align: center;
    line-height: normal;
    color: #241E24;
    margin: 0 auto 40px;
}
#page-ad .compare .sub_ttl span{
    color: #FF0000;
}
#page-ad .compare .state_area{
    display: flex;
    justify-content: center;
    gap: 28px;
    margin: 0 auto 35px;
}
#page-ad .compare .state_area .item img{
    display: block;
    max-width: 380px;
    width: 100%;
}
#page-ad .compare .example{
    padding: 50px 0;
    background-color: #fff;
    border-radius: 20px;
}
#page-ad .compare .example .ex_ttl{
    font-size: 45px;
    font-weight: 900;
    text-align: center;
    margin: 0 auto 30px;
    color: #FF0000;
}
#page-ad .compare .example .note{
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.06em;
    line-height: 1.73;
    margin: 0;
}
@media only screen and (max-width: 768px) {
  #page-ad .compare{
    padding: 16vw 0;
  }
  #page-ad .compare .ttl img{
    max-width: 86.6666666666666668vw;
    margin: 0 auto 12vw;
  }
  #page-ad .compare .ttl::before{
    top: 0.8vw;
    width: 80vw;
    height: 12vw;
  }
  #page-ad .compare .case_area{
    flex-wrap: wrap;
    gap: 5.3333333333333333334vw;
    margin: 0 auto 8vw;
  }
  #page-ad .compare .case_area .img img{
    max-width: none;
  }
  #page-ad .compare .note{
    font-size: 4vw;
    margin: 0 auto 6.6666666666666667vw;
  }
  #page-ad .compare .sub_ttl{
    font-size: 5.8666666666666666666666vw;
    margin: 0 auto 5.333333333333333333334vw;
  }
  #page-ad .compare .state_area{
    max-width: 70vw;
    flex-wrap: wrap;
    gap: 5.333333333333333334vw;
    margin: 0 auto 8vw;
  }
  #page-ad .compare .state_area .item img{
    max-width: none;
  }
  #page-ad .compare .example{
      padding: 5.333333333333333334vw 4vw;
      border-radius: 10px;
  }
  #page-ad .compare .example .ex_ttl{
      font-size: 6.6666666666666666666667vw;
      margin: 0 auto 5.33333333333333333334vw;
  }
  #page-ad .compare .example .note{
      font-size: 3.2vw;
  }
}

/* cta */
#page-ad .cta{
    text-align: center;
    padding: 80px 0 90px;
    background-image: url(../img/ad/reazon_bg.jpg);
    background-position: center;
    background-repeat: repeat;
    background-size: cover;
}
#page-ad .cta .ttl{
    display: inline-block;
    font-size: 60px;
    font-weight: 800;
    text-align: center;
    letter-spacing: 0;
    color: #Fff;
    border-bottom: 3px solid #fff;
    padding: 0 0 15px;
    margin: 0 auto 50px;
}
#page-ad .cta .info-area{
    display: flex;
    justify-content: center;
    gap: 30px;
}
#page-ad .cta .info-area a{
	position: relative;
    display: block;
    border-radius: 6px;
}
#page-ad .cta .info-area .line::before{
    position: absolute;
    bottom: -7px;
    left: 0;
    right: 0;
    content: "";
    width: 100%;
    height: 85px;
    border-radius: 15px;
    background: #000;
    transition: all .3s;
    z-index: 1;
}
#page-ad .cta .info-area .line img{
    position: relative;
    z-index: 3;
    display: block;
    max-width: 515px;
    width: 100%;
    border-radius: 10px;
    transition: all .3s;
}
#page-ad .cta .info-area .line:hover img{
    opacity: 1;
    transform: translate(0px, 7px);
}
#page-ad .cta .info-area .tel{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: 515px;
    height: 137px;
    background-color: #FFD900;
    border: 4.5px solid #000;
    box-shadow: 0 8px 0 #000;
    border-radius: 15px;
    transition: all .3s;
}
#page-ad .cta .info-area .tel .number{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 53px;
    font-weight: 800;
    letter-spacing: 0;
    color: #000;
    margin-top: -10px;
}
#page-ad .cta .info-area .tel .number::before{
    content: "";
    width: 42px;
    height: 49px;
    background-image: url(../img/ad/tell_icon.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    transform: rotate(-30deg);
}
#page-ad .cta .info-area .tel .note{
    font-size: 25px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 0.04em;
    color: #000;
    margin-top: -13px;
}
#page-ad .cta .info-area .tel:hover{
    opacity: 1;
    transform: translate(0px, 8px);
    box-shadow: none;
    text-decoration: none;
}
@media only screen and (max-width: 768px) {
  #page-ad .cta{
      padding: 12vw 0 16vw;
  }
  #page-ad .cta .ttl{
      font-size: 8vw;
      line-height: 1.2;
      border-bottom: 2px solid #fff;
      padding: 0 0 4vw;
      margin: 0 auto 8vw;
  }
  #page-ad .cta .info-area{
      flex-wrap: wrap;
      gap: 2.6666666666666667vw;
      max-width: 80vw;
      margin: 0 auto;
  }
  #page-ad .cta .info-area .line{
      border-radius: 5px;
  }
  #page-ad .cta .info-area .line img{
      max-width: 80vw;
      margin: 0 auto;
      border-radius: 5px;
  }
  #page-ad .cta .info-area .line::before{
      height: 16vw;
  }
  #page-ad .cta .info-area .tel{
      width: 80vw;
      height: 21.333333333333336vw;
      border: 2px solid #000;
      box-shadow: 0 8px 0 #000;
      border-radius: 8px;
  }
  #page-ad .cta .info-area .tel .number{
      gap: 1.3333333333333333335vw;
      font-size: 8vw;
      margin-top: -1.3333333333333335vw;
  }
  #page-ad .cta .info-area .tel .number::before{
      width: 8vw;
      height: 9.333333333333333334vw;
  }
  #page-ad .cta .info-area .tel .note{
      font-size: 4vw;
      margin-top: -1.33333333333333335vw;
  }
  #page-ad .cta .info-area .tel:hover{
      transform: translate(0px, 8px);
  }
}

/* market */
#page-ad .market{
    padding: 110px 0 80px;
    background-color: #FFE400;
}
#page-ad .market .is-hidden{
    display: none;
}
#page-ad .market .ttl{
    position: relative;
}
#page-ad .market .ttl img{
    position: relative;
    z-index: 2;
    display: block;
    max-width: 795px;
    width: 100%;
    margin: 0 auto 60px;
}
#page-ad .market .ttl::before{
    position: absolute;
    top: 25px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 925px;
    height: 164px;
    background-image: url(../img/ad/market_ttl_bg.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 1;
}
#page-ad .market .item{
    display: block;
    width: 100%;
    margin: 0 0 70px;
}
#page-ad .market .item.battery-area{
    margin: 0;
}
#page-ad .market .item .name{
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 30px;
    font-weight: bold;
    letter-spacing: 0.05em;
    padding: 30px;
    margin: 0 0 10px;
    border-radius: 7px;
    color: #FFE400;
    background-color: #000;
}
#page-ad .market .item .name::before{
    content: "";
    width: 24px;
    height: 24px;
    background-color: #FFE400;
}
#page-ad .market .item .market-table,
#page-ad .market .item .market-table .thead,
#page-ad .market .item .market-table .tbody{
    display: block;
    width: 100%;
}
#page-ad .market .item .market-table .tr{
    display: flex;
    align-items: stretch;
    justify-content: center;
    height: 70px;
    color: #000;
    background-color: #fff;
    border-bottom: 1px solid #FFE400;
}
#page-ad .market .item .market-table .is-hidden{
    display: none;
}
#page-ad .market .item .market-table .tr .th,
#page-ad .market .item .market-table .tr .td{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 260px;
    font-weight: 500;
    letter-spacing: 0.14em;
}
#page-ad .market .item .market-table .tr .th:first-of-type,
#page-ad .market .item .market-table .tr .td:first-of-type{
    justify-content: flex-start;
    width: 400px;
    padding-left: 50px;
}
#page-ad .market .item .market-table .tr .th{
    font-size: 18px;
}
#page-ad .market .item .market-table .tr .td{
    font-size: 15px;
}
#page-ad .market .item .market-table .tr .price{
    font-size: 24px;
    font-family: "Heebo", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    color: #000;
}
#page-ad .market .item .market-table .tr .price span{
    font-size: 15px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    padding-left: 5px;
}
#page-ad .market .item .plus-bg{
  position: relative;
  margin: 30px 0 0;
}
#page-ad .market .item .plus-bg::before{
  content: "";
  width: 100%;
  height: 120px;
  position: absolute;
  top: -80px;
  left: 0;
  z-index: 1;
  background-image: url(../img/ad/market-btn_bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
#page-ad .market .item .btn-area .show-more-btn{
    position: relative;
    display: block;
    max-width: 280px;
    width: 100%;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.06em;
    padding: 16px 0 15px;
    margin: 0 auto;
    color: #000;
    background-color: #fff;
    border: 2px solid #000;
    border-radius: 100vw;
    cursor: pointer;
    transition: all .3s;
    z-index: 2;
}
#page-ad .market .item .btn-area .show-more-btn .arrow{
    position: absolute;
    top: 50%;
    right: 40px;
    transform: translateY(-50%);
    content: "";
    width: 12px;
    height: 10px;
    background-image: url(../img/ad/market_btn_arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    transition: all .3s;
}
#page-ad .market .item .btn-area .show-more-btn:hover{
    color: #fff;
    background-color: #000;
}
#page-ad .market .item .btn-area .show-more-btn:hover .arrow{
    background-image: url(../img/ad/market_btn_arrow-hover.svg);
}


@media only screen and (max-width: 768px) {
  #page-ad .market{
    padding: 16vw 0;
  }
  #page-ad .market .ttl img{
    max-width: 86.66666666666666667vw;
    margin: 0 auto 10.66666666666666666666668vw;
  }
  #page-ad .market .ttl::before{
    top: 4.8vw;
    width: 80vw;
    height: 14.1333333333333333335vw;
  }
  #page-ad .market .item{
    margin: 0 0 10.66666666666666668vw;
  }
  #page-ad .market .item .name{
    gap: 3.2vw;
    font-size: 5.3333333333333333334vw;
    padding: 4vw;
    margin: 0 0 3.2vw;
    border-radius: 5px;
  }
  #page-ad .market .item .name::before{
    width: 4vw;
    height: 4vw;
  }
  #page-ad .market .item .scroll{
    overflow-x: scroll;
  }
  #page-ad .market .item .market-table .tr{
    width: auto;
    height: auto;
    justify-content: space-between;
  }
  #page-ad .market .item .market-table .thead .tr{
    height: 13.33333333333333335vw;
  }
  #page-ad .market .item .market-table .tr .th,
  #page-ad .market .item .market-table .tr .td{
    width: 33vw;
    flex-shrink: 0;
    padding: 3vw 2vw;
    background-color: #fff;
  }
  #page-ad .market .item .market-table .tr .th:first-of-type,
  #page-ad .market .item .market-table .tr .td:first-of-type{
    width: 40vw;
    padding: 4vw 2.6666666666667vw;
    flex-shrink: 0;
    background-color: #fff;
  }
  #page-ad .market .item .market-table .tr .th{
    font-size: 3.8vw;
  }
  #page-ad .market .item .market-table .tr .td{
    font-size: 3.23333333333333334vw;
  }
  #page-ad .market .item .market-table .tr .price{
    font-size: 5.333333333333334vw;
  }
  #page-ad .market .item .market-table .tr .price span{
    font-size: 3.733333333333333334vw;
    padding-left: 1.06666666666666667vw;
  }
  #page-ad .market .item .plus-bg{
	margin: 4vw auto 0;
  }
  #page-ad .market .item .plus-bg::before{
	height: 32vw;
	top: -20vw;
  }
  #page-ad .market .item .btn-area .show-more-btn{
    max-width: 61.3333333333333vw;
    font-size: 4vw;
    padding: 2.6666666666667vw 0 3.2vw;
    margin: 0 auto 0;
    border: 1px solid #000;
  }
  #page-ad .market .item .btn-area .show-more-btn .arrow{
    right: 5.3333333333333334vw;
    width: 3.2vw;
    height: 2.6666666666666667vw;
  }
}

/* achieve */
#page-ad .achieve{
    padding: 90px 0 115px;
    background-image: url(../img/ad/achieve_bg.jpg);
    background-position: center;
    background-repeat: repeat;
    background-size: contain;
}
#page-ad .achieve .ttl{
    position: relative;
}
#page-ad .achieve .ttl img{
    position: relative;
    z-index: 2;
    display: block;
    max-width: 730px;
    width: 100%;
    margin: 0 auto 70px;
}
#page-ad .achieve .ttl::before{
    position: absolute;
    top: 25px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 1080px;
    height: 161px;
    background-image: url(../img/ad/achieve_ttl_bg.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 1;
}
#page-ad .achieve .post-ctt{
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
}
#page-ad .achieve .post-ctt .item{
    display: block;
    max-width: 285px;
    width: 285px;
    background-color: #fff;
    padding: 20px 20px 25px;
    border-radius: 5px;
    transition: all .3s;
}
#page-ad .achieve .post-ctt .item:hover{
    text-decoration: none;
    opacity: 1;
}
#page-ad .achieve .post-ctt .item .thumanil{
    max-width: 245px;
    max-height: 184px;
    overflow: hidden;
    margin: 0 0 16px;
}
#page-ad .achieve .post-ctt .item .thumanil img{
    display: block;
}
#page-ad .achieve .post-ctt .item:hover .thumanil img{
    transform: scale(1.1);
    opacity: 1;
}
#page-ad .achieve .post-ctt .item .date{
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #FF0000;
    margin: 0 auto 10px;
    transition: all .3s;
}
#page-ad .achieve .post-ctt .item .title{
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis; 
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1.46;
    color: #000;
    transition: all .3s;
}
#page-ad .achieve .post-ctt .item:hover .title{
    text-decoration: underline;
    transition: all .3s;
}
@media only screen and (max-width: 768px) {
  #page-ad .achieve{
    padding: 16vw 0;
  }
  #page-ad .achieve .ttl img{
    max-width: 86.66666666666666666667vw;
    margin: 0 auto 10.6666666666666666666668vw;
  }
  #page-ad .achieve .ttl::before{
    top: 5.33333333333333334vw;
    width: 80vw;
    height: 12vw;
  }
  #page-ad .achieve .post-ctt{
    gap: 2.66666666666667vw;
  }
  #page-ad .achieve .post-ctt .item{
    display: flex;
    align-items: center;
    gap: 4vw;
    max-width: none;
    width: 100%;
    padding: 3.2vw;
    border-radius: 5px;
  }
  #page-ad .achieve .post-ctt .item .thumanil{
    flex-shrink: 0;
    max-width: 27.46666666666667vw;
    max-height: 25.06666666666666vw;
    margin: 0;
  }
  #page-ad .achieve .post-ctt .item .thumanil img{
    width: 100%;
  }
  #page-ad .achieve .post-ctt .item .date{
    font-size: 3.2vw;
    text-align: left;
    margin: 0 0 1.333333335vw;
  }
  #page-ad .achieve .post-ctt .item .title{
    font-size: 2.93333333333333333333vw;
    line-height: 1.46;
  }
}

/* flow */
#page-ad #flow {
  padding: 11.8rem 0 12.7rem;
  color: #000;
  background: #EFECEB;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow {
    padding: 9.8333333333vw 0 10.5833333333vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow {
    padding: 16vw 0;
  }
}
#page-ad #flow .poppin{
    font-family: "Poppins", sans-serif;
}
#page-ad #flow .inner{
    max-width: 1160px;
}
#page-ad #flow .ttl{
    position: relative;
}
#page-ad #flow .ttl img{
    position: relative;
    z-index: 2;
    display: block;
    max-width: 690px;
    width: 100%;
    margin: 0 auto 65px;
}
#page-ad #flow .ttl::before{
    position: absolute;
    top: 25px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 914px;
    height: 166px;
    background-image: url(../img/ad/flow_ttl_bg.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 1;
}
@media screen and (max-width: 768px) {
  #page-ad #flow .ttl img{
    max-width: 86.6666666666666666666668vw;
    margin: 0 auto 10.6666666666666666666668vw;
  }
  #page-ad #flow .ttl::before{
    top: 5.333333333333334vw;
    width: 80vw;
    height: 14.3999999999999999999vw;
  }
}
#page-ad #flow .flow_list {
  margin: 6rem 0 8rem;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .flow_list {
    margin: 5vw 0 6.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .flow_list {
    margin-bottom: 10.6666666667vw;
  }
}
#page-ad #flow .flow_list li {
  display: flex;
  align-items: center;
  gap: 45px;
  padding: 4.5rem 4rem 5rem;
  background: #fff;
  border-radius: 1rem;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .flow_list li {
    padding: 3.0833333333vw 3.3333333333vw;
    border-radius: 0.8333333333vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .flow_list li {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 5.3333333333vw;
    gap: 4vw;
    border-radius: 2.6666666667vw;
  }
}
#page-ad #flow .flow_list li + li {
  position: relative;
  margin-top: 6.2rem;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .flow_list li + li {
    margin-top: 5.1666666667vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .flow_list li + li {
    margin-top: 16.5333333333vw;
  }
}
#page-ad #flow .flow_list li + li:before {
  content: "";
  position: absolute;
  top: -4.2rem;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2.2rem 1.85rem 0 1.85rem;
  border-color: #FF0000 transparent transparent transparent;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .flow_list li + li:before {
    top: -3.5vw;
    border-width: 1.8333333333vw 1.5416666667vw 0 1.5416666667vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .flow_list li + li:before {
    top: -11.2vw;
    border-width: 5.8666666667vw 4.9333333333vw 0 4.9333333333vw;
  }
}
#page-ad #flow .flow_list li figure {
  max-width: 38rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  #page-ad #flow .flow_list li figure {
    max-width: none;
    width: 100%;
  }
}
#page-ad #flow .flow_list li .flow_list_txt_area {
  flex: 1;
}
@media screen and (max-width: 768px) {
  #page-ad #flow .flow_list li .flow_list_txt_area {
    max-width: none;
    width: 100%;
  }
}
#page-ad #flow .flow_list li .flow_list_txt_area .flow_list_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 3rem;
  margin-bottom: 2.2rem;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .flow_list li .flow_list_txt_area .flow_list_title {
    gap: 2.5vw;
    margin-bottom: 1.8333333333vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .flow_list li .flow_list_txt_area .flow_list_title {
    display: block;
    margin-bottom: 4vw;
  }
}
#page-ad #flow .flow_list li .flow_list_txt_area .flow_list_title .step_number {
  position: relative;
  display: flex;
  font-size: 4.1rem;
  font-weight: 600;
  letter-spacing: 0 !important;
  line-height: 1;
  color: #FF0000;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .flow_list li .flow_list_txt_area .flow_list_title .step_number {
    padding-right: 2.3333333333vw;
    font-size: 3.4166666667vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .flow_list li .flow_list_txt_area .flow_list_title .step_number {
    padding-right: 0;
    margin: 0 0 2vw;
    font-size: 6.1333333333vw;
    line-height: 1.2;
  }
}
#page-ad #flow .flow_list li .flow_list_txt_area .flow_list_title .step_number span {
  font-size: 2.7rem;
  line-height: 1;
  padding-top: 1rem;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .flow_list li .flow_list_txt_area .flow_list_title .step_number span {
    font-size: 2.25vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .flow_list li .flow_list_txt_area .flow_list_title .step_number span {
    font-size: 4vw;
    padding-top: 2vw;
  }
}
#page-ad #flow .flow_list li .flow_list_txt_area .flow_list_title .title03 {
  font-size: 3rem;
  letter-spacing: 0.06em;
  font-weight: bold;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .flow_list li .flow_list_txt_area .flow_list_title .title03 {
    font-size: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .flow_list li .flow_list_txt_area .flow_list_title .title03 {
    font-size: 4.8vw;
  }
}
#page-ad #flow .flow_list li .flow_list_txt_area p {
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.63;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .flow_list li .flow_list_txt_area p {
    font-size: 1.4166666667vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .flow_list li .flow_list_txt_area p {
    font-size: 3.4666666667vw;
  }
}
#page-ad #flow .flow_list li .flow_list_txt_area .red {
  color: #DC000C;
}
#page-ad #flow .flow_list li .flow_list_txt_area .mt2rem {
  margin-top: 2rem;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .flow_list li .flow_list_txt_area .mt2rem {
    margin-top: 1.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .flow_list li .flow_list_txt_area .mt2rem {
    margin-top: 2.6666666667vw;
  }
}
#page-ad #flow .flow_list li .flow_list_txt_area .mt1em {
  margin-top: 2em;
}
#page-ad #flow .flow_list li .flow_list_txt_area .flex {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
  margin-top: 3rem;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .flow_list li .flow_list_txt_area .flex {
    gap: 1.6666666667vw;
    margin-top: 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .flow_list li .flow_list_txt_area .flex {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.6666666667vw;
    margin-top: 5.3333333333vw;
  }
}
@media (min-width: 768px) {
  #page-ad #flow .flow_list li .flow_list_txt_area .flex a[href*="tel:"] {
    text-decoration: none;
    cursor: default;
    pointer-events: none;
  }
}
#page-ad #flow .flow_list li .flow_list_txt_area .flex .btn_o {
  margin: 0;
}
#page-ad #flow .flow_list li .flow_list_txt_area .btn_o,
#page-ad #flow .flow_list li .flow_list_txt_area .btn_b {
  margin: 3rem 0 0;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .flow_list li .flow_list_txt_area .btn_o,
  #page-ad #flow .flow_list li .flow_list_txt_area .btn_b {
    margin: 2.5vw 0 0;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .flow_list li .flow_list_txt_area .btn_o,
  #page-ad #flow .flow_list li .flow_list_txt_area .btn_b {
    width: 100%;
    margin: 5.3333333333vw 0 0;
  }
}
#page-ad #flow .flow_list li .flow_list_txt_area .btn_o a,
#page-ad #flow .flow_list li .flow_list_txt_area .btn_b a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 30rem;
  height: 6rem;
  font-size: 1.6rem;
  color: #fff;
  border-radius: 0.5rem;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .flow_list li .flow_list_txt_area .btn_o a,
  #page-ad #flow .flow_list li .flow_list_txt_area .btn_b a {
    width: 25vw;
    height: 5vw;
    font-size: 1.3333333333vw;
    border-radius: 0.4166666667vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .flow_list li .flow_list_txt_area .btn_o a,
  #page-ad #flow .flow_list li .flow_list_txt_area .btn_b a {
    width: 100%;
    height: 12.2666666667vw;
    font-size: 4.2666666667vw;
    border-radius: 1.3333333333vw;
  }
}
#page-ad #flow .flow_list li .flow_list_txt_area .btn_o a img,
#page-ad #flow .flow_list li .flow_list_txt_area .btn_b a img {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 0.95rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .flow_list li .flow_list_txt_area .btn_o a img,
  #page-ad #flow .flow_list li .flow_list_txt_area .btn_b a img {
    right: 1.6666666667vw;
    width: 0.7916666667vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .flow_list li .flow_list_txt_area .btn_o a img,
  #page-ad #flow .flow_list li .flow_list_txt_area .btn_b a img {
    right: 5.3333333333vw;
    width: 2.5333333333vw;
  }
}
#page-ad #flow .flow_list li .flow_list_txt_area .btn_o a {
  background: #F86D16;
}
#page-ad #flow .flow_list li .flow_list_txt_area .btn_b a {
  background: #3CB158;
}
#page-ad #flow .precautions + .precautions {
  margin-top: 8rem;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions + .precautions {
    margin-top: 6.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions + .precautions {
    margin-top: 10.6666666667vw;
  }
}
#page-ad #flow .precautions .title03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 8rem;
  font-size: 2.5rem;
  color: #fff;
  font-weight: 600;
  background: #111;
  border-radius: 1rem 1rem 0 0;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions .title03 {
    height: 6.6666666667vw;
    font-size: 2.0833333333vw;
    border-radius: 0.8333333333vw 0.8333333333vw 0 0;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions .title03 {
    height: 14.4vw;
    font-size: 4.8vw;
    border-radius: 2.6666666667vw 2.6666666667vw 0 0;
  }
}
#page-ad #flow .precautions .in {
  padding: 4rem 5rem 4.2rem;
  background: #fff;
  border-radius: 0 0 1rem 1rem;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions .in {
    padding: 3.3333333333vw 4.1666666667vw 3.5vw;
    border-radius: 0 0 0.8333333333vw 0.8333333333vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions .in {
    padding: 5.3333333333vw;
    border-radius: 0 0 2.6666666667vw 2.6666666667vw;
  }
}
#page-ad #flow .precautions .in.flex {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions .in.flex {
    display: block;
  }
}
#page-ad #flow .precautions .in .title04 {
  margin-bottom: 2rem;
  font-size: 2.2rem;
  font-weight: 600;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions .in .title04 {
    margin-bottom: 1.6666666667vw;
    font-size: 1.8333333333vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions .in .title04 {
    margin-bottom: 2.6666666667vw;
    font-size: 4.2666666667vw;
  }
}
#page-ad #flow .precautions .in .title04.center {
  margin: 0 0 2rem;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions .in .title04.center {
    margin: 0 0 1.6666666667vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions .in .title04.center {
    margin: 0 0 5.3333333333vw;
  }
}
#page-ad #flow .precautions .in p,
#page-ad #flow .precautions .in li {
  font-size: 1.6rem;
  line-height: 1.5;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions .in p,
  #page-ad #flow .precautions .in li {
    font-size: 1.4166666667vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions .in p,
  #page-ad #flow .precautions .in li {
    font-size: 3.4666666667vw;
  }
}
#page-ad #flow .precautions .identification_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.2rem;
  margin-top: 1rem;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions .identification_box {
    gap: 0.1666666667vw;
    margin-top: 0.8333333333vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions .identification_box {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.5333333333vw;
  }
}
#page-ad #flow .precautions .identification_box figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
  margin: 0;
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions .identification_box figure {
    width: calc((100% - 0.5333333333vw) / 2);
    background-color: #F5F4F3;
    align-items: center;
  }
}
#page-ad #flow .precautions .identification_box figure img {
  width: 100%;
}
#page-ad #flow .precautions dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 6rem;
  background: #111;
  border-radius: 0 0 1rem 1rem;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions dl {
    height: 5vw;
    border-radius: 0 0 0.8333333333vw 0.8333333333vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions dl {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    height: auto;
    padding: 2.6666666667vw 0 3.2vw;
    margin-top: 0.5333333333vw;
    border-radius: 0 0 2.6666666667vw 2.6666666667vw;
  }
}
#page-ad #flow .precautions dl dt {
  padding-right: 2.7rem;
  margin-right: 4.3rem;
  font-size: 2rem;
  color: #fff;
  font-weight: 600;
  line-height: 1.6;
  background-image: repeating-linear-gradient(#fff, #fff 0.2rem, transparent 0.2rem, transparent 0.6rem);
  background-position: top right;
  background-repeat: repeat-y;
  background-size: 0.2rem 100%;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions dl dt {
    padding-right: 2.25vw;
    margin-right: 3.5833333333vw;
    font-size: 1.6666666667vw;
    background-image: repeating-linear-gradient(#fff, #fff 0.1666666667vw, transparent 0.1666666667vw, transparent 0.5vw);
    background-size: 0.1666666667vw 100%;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions dl dt {
    padding-right: 0;
    margin-right: 0;
    margin-bottom: 3.2vw;
    font-size: 3.4666666667vw;
    text-align: center;
    background-image: none;
  }
}
#page-ad #flow .precautions dl dd {
  font-size: 1.8rem;
  color: #fff;
  font-weight: 500;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions dl dd {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions dl dd {
    font-size: 2.9333333333vw;
  }
}
#page-ad #flow .precautions .center {
  margin: 3rem 0 4rem;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions .center {
    margin: 2.5vw 0 3.3333333333vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions .center {
    margin: 5.8666666667vw 0 7.4666666667vw;
  }
}
#page-ad #flow .precautions .center p {
  text-align: center;
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions .center p {
    text-align: left;
  }
}
#page-ad #flow .precautions .center .fwb {
  font-weight: 600;
}
#page-ad #flow .precautions .g_box {
  padding: 2.5rem 4.8rem;
  background: #F7F6F5;
  border-radius: 1rem;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions .g_box {
    padding: 2.0833333333vw 4vw;
    border-radius: 0.8333333333vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions .g_box {
    display: block;
    padding: 5.3333333333vw 4.8vw;
    border-radius: 1.3333333333vw;
  }
}
#page-ad #flow .precautions .g_box.flex {
    display: flex;
    -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
    margin-top: 1.8rem;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions .g_box.flex {
    margin-top: 1.5vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions .g_box.flex {
    font-size: 3.4666666667vw;
    flex-wrap: wrap;
  }
}
#page-ad #flow .precautions .g_box > .flex {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions .g_box > .flex {
    display: block;
  }
}
#page-ad #flow .precautions .g_box > .flex ol {
  width: 50%;
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions .g_box > .flex ol {
    width: 100%;
  }
}
#page-ad #flow .precautions .g_box > .flex ol li {
  margin-left: 1em;
  text-indent: -1em;
}
#page-ad #flow .precautions .g_box li {
  font-size: 1.5rem;
  font-weight: 600;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions .g_box li {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions .g_box li {
    font-size: 3.4666666667vw;
  }
}
#page-ad #flow .precautions .g_box p {
  font-size: 1.5rem;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions .g_box p {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions .g_box p {
    font-size: 3.4666666667vw;
  }
}
#page-ad #flow .precautions .g_box .in {
  width: 48%;
  padding: 0;
  background: none;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions .g_box .in {
    width: 50%;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions .g_box .in {
    width: 100%;
  }
}
#page-ad #flow .precautions .g_box .in p {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions .g_box .in p {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions .g_box .in p {
    font-size: 3.2vw;
    line-height: 1.75;
  }
}
#page-ad #flow .precautions .mt30 {
  margin: 3rem 0 6rem;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions .mt30 {
    margin: 2.5vw 0 5vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions .mt30 {
    margin: 8vw 0 16vw;
  }
}
#page-ad #flow .precautions ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8rem 7.5rem;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions ul {
    gap: 6.6666666667vw 6.25vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions ul {
    gap: 21.3333333333vw 0;
  }
}
#page-ad #flow .precautions ul li {
  width: calc((100% - 15rem) / 3);
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions ul li {
    width: calc((100% - 12.5vw) / 3);
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions ul li {
    width: 100%;
  }
}
#page-ad #flow .precautions ul li figure {
  width: 21rem;
  margin: 0 auto 2.2rem;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions ul li figure {
    width: 17.5vw;
    margin: 0 auto 1.8333333333vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions ul li figure {
    width: 56vw;
    margin: 0 auto 5.8666666667vw;
  }
}
#page-ad #flow .precautions ul li p {
  font-size: 1.5rem;
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions ul li p {
    font-size: 1.25vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions ul li p {
    font-size: 4vw;
  }
}
#page-ad #flow .precautions ul li + li {
  position: relative;
}
#page-ad #flow .precautions ul li + li:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -4.6rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 1.75rem 0 1.75rem 2.4rem;
  border-color: transparent transparent transparent #CDCDCD;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  #page-ad #flow .precautions ul li + li:before {
    left: -3.5vw;
    border-width: 1.4583333333vw 0 1.4583333333vw 2vw;
  }
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions ul li + li:before {
    top: -11.2vw;
    left: 50%;
    border-width: 6.4vw 4.6666666667vw 0 4.6666666667vw;
    border-color: #CDCDCD transparent transparent transparent;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}
#page-ad #flow .precautions ul li:nth-of-type(4):before {
  display: none;
}
@media screen and (max-width: 768px) {
  #page-ad #flow .precautions ul li:nth-of-type(4):before {
    display: block;
  }
}
#page-ad #flow .note .in{
  flex-wrap: wrap;
  width: auto;
}
#page-ad #flow .note ul li{
  width: 490px;
}
#page-ad #flow .note ul li::before{
  display: none;
}
@media screen and (max-width: 768px) {
  #page-ad #flow .note .in{
    flex-wrap: wrap;
    width: 100%;
    gap: 4vw;
  }
  #page-ad #flow .note ul{
    gap: 4vw;
  }
  #page-ad #flow .note ul:first-of-type{
    margin: 0 0 4vw;
  }
  #page-ad #flow .note ul li{
    width: 100%;
  }
}

/* shop-info */
#page-ad .shop-info {
    padding: 90px 0 110px;
    background-image: url(../img/ad/achieve_bg.jpg);
    background-position: center;
    background-repeat: repeat;
    background-size: contain;
}
#page-ad .shop-info .ttl{
    position: relative;
}
#page-ad .shop-info .ttl img{
    position: relative;
    z-index: 2;
    display: block;
    max-width: 643px;
    width: 100%;
    margin: 0 auto 95px;
}
#page-ad .shop-info .ttl::before{
    position: absolute;
    top: 25px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 930px;
    height: 165px;
    background-image: url(../img/ad/shop_ttl_bg.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 1;
}
#page-ad .shop-info .info-area{
    display: flex;
    justify-content: space-between;
}
#page-ad .shop-info .info-area .img img{
    display: block;
    max-width: 600px;
    width: 100%;
}
#page-ad .shop-info .info-area .txt{
    display: block;
    max-width: 520px;
    width: 100%;
    color: #fff;
}
#page-ad .shop-info .info-area .txt .shop_name{
    margin: 0 0 55px;
}
#page-ad .shop-info .info-area .txt .shop_name span{
    display: block;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.06em;
}
#page-ad .shop-info .info-area .txt .shop_name p{
    display: block;
    font-size: 45px;
    font-weight: bold;
    line-height: 1.5;
}
#page-ad .shop-info .info-area .txt .info dl{
    display: flex;
    padding: 0 0 25px;
    margin: 0 0 25px;
    border-bottom: 1px solid #fff;
}
#page-ad .shop-info .info-area .txt .info dl:last-of-type{
    padding: 0;
    margin: 0;
    border: 0;
}
#page-ad .shop-info .info-area .txt .info dl dt{
    display: block;
    max-width: 120px;
    width: 100%;
    font-size: 18px;
    font-weight: bold;
    line-height: normal;
    letter-spacing: 0.06em;
}
#page-ad .shop-info .info-area .txt .info dl dd{
    flex: 1;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1.41;
}
#page-ad .shop-info .info-area .txt .info dl dd a{
  color: #fff;
}
@media screen and (max-width: 768px) {
  #page-ad .shop-info {
    padding: 16vw 0 10.6666666666666668vw;
  }
  #page-ad .shop-info .ttl img{
    max-width: 80vw;
    margin: 0 auto 10.66666666666666666668vw;
  }
  #page-ad .shop-info .ttl::before{
    top: 5.33333333333333333334vw;
    width: 80vw;
    height: 14.1333333333333333335vw;
  }
  #page-ad .shop-info .info-area{
    flex-direction: column;
    gap: 8vw;
  }
  #page-ad .shop-info .info-area .img img,
  #page-ad .shop-info .info-area .txt{
    max-width: none;
  }
  #page-ad .shop-info .info-area .txt .shop_name{
    margin: 0 0 8vw;
  }
  #page-ad .shop-info .info-area .txt .shop_name span{
    font-size: 4.8vw;
    line-height: normal;
  }
  #page-ad .shop-info .info-area .txt .shop_name p{
    font-size: 6.4vw;
    line-height: normal;
  }
  #page-ad .shop-info .info-area .txt .info dl{
    padding: 0 0 4vw;
    margin: 0 0 4vw;
  }
  #page-ad .shop-info .info-area .txt .info dl dt{
    max-width: 26.666666666666666666668vw;
    font-size: 4vw;
  }
  #page-ad .shop-info .info-area .txt .info dl dd{
    font-size: 3.73333333333333333334vw;
  }
}

.scroll-hint-icon{
	top: 60px !important;
	padding: 15px 10px 20px 10px !important;
}
