body{
    font-size: 0;
    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

.main_wrap{
    max-width: 900px;
    margin: auto;
    overflow-x: hidden;
}

img{
    width: 100%;
}



.absolute{
    position: absolute;
}

.right_content{
    text-align: right;
}

.count{
    background: #fff550;
    color: #D21A00;
    font-size: 6.2vw;
    padding: 2% 0;
    margin-top: -48.5%;
    font-family: inherit;
    font-weight: bold;
    letter-spacing: 1px;
}

#count24h {
    display: flex;
    align-items: center;
    justify-content: center;
}

.cpntimer2 {
    text-align: center;
    font-size: 3vw;
    color: #D21A00;
    letter-spacing: 0.5px;
    line-height: 3.5vw;
    padding-right: 3%;
}
.cpntimer {
    color:#D21A00;
}
@media screen and (min-width: 900px) {
    .count{
        font-size: 50px;
    }

    .cpntimer2 {
        font-size: 30px;
        line-height: 36px;
    }
}

.cta{
    position: absolute;
    bottom: 5%;
    width: 96%;
    z-index: 2;
    left: 0;
    margin: 0 2%;
}

.cta.relative{
    position: relative;
    display: block;
}

.cta_btn_1 {
    position: relative;
    display: block;
    z-index: 2;
    padding: 3% 0% 3.5% 0%;
}
.cta_btn_2 {
    position: relative;
    display: block;
    z-index: 2;
    padding: 6% 0% 6% 0%;
}
.cta_btn_3 {
    position: relative;
    display: block;
    z-index: 2;
    padding: 0% 0% 5% 0%;
}
.cta_btn_4 {
    position: relative;
    display: block;
    z-index: 2;
    padding: 0% 0% 6% 0%;
}



.background_wrap{
    background-size: 100%;
    background-repeat: no-repeat;
    width: 100%;
}

.top_wrap{
    position: fixed;
    top: 0;
    z-index: 100;
}

@media screen and (min-width: 900px) {
    .top_wrap{
        width: 900px;
        height: auto;
    }
}
@media screen and (min-width: 900px) {
    .fv_back {
        height: auto !important;           /* 高さ自動 */
        overflow: visible !important;      /* スクロール可能 */
        background-color: #FFFFFF !important; /* 余白目立たない */
    }

    .fv_main {
        width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
        aspect-ratio: unset !important;    /* 縦横比を解除 */
        max-height: none !important;       /* 100vh制限を解除 */
        display: block !important;
    }
}

.fv_back{
    background-image: url("../images/fv_main.png");
    z-index: 4;
}

.fv_main {
  width: 100%;          /* 横幅いっぱい */
  height: auto;          /* 高さは自動調整 */
  aspect-ratio: 750 / 1024; /* 動画の縦横比を固定 */
  object-fit: cover;     /* トリミングしつつ埋める */
  display: block;
  max-height: 100vh;     /* スマホで縦に長すぎる場合は制限 */
}

.content1_back{
    background-image: url("../images/content1_back.png");
    z-index: 1;
    padding: 0% 0 0% 0;
    position: relative;
}
.content2_back{
    background-image: url("../images/content2_back.png");
    position: relative;
    z-index: 1;
}
.content3_back{
    background-image: url("../images/content3_back.png");
    z-index: 1;
    position: relative;
    margin-top: -0.5%;
}
.content4_back{
    background-image: url("../images/content4_back.png");
    position: relative;
    z-index: 3;
}
.content5_back{
    background-image: url("../images/content5_back.png");
    position: relative;
    z-index: 1;
}
.content6_back{
    background-image: url("../images/content6_back.png");
    position: relative;
    z-index: 1;
}
.content7_back{
    background-image: url("../images/content7_back.png");
    position: relative;
    z-index: 1;
}
.content8_back{
    background-image: url("../images/content8_back.png");
    position: relative;
    z-index: 1;
    padding: 204% 0 0 0;
}
.cta_back{
    background-image: url("../images/cta_back.png");
    position: relative;
    z-index: 5;
}


.content1_1{
    padding: 7% 3.5% 0% 4%;
}
.content1_2{
    padding: 0% 2% 10% 2%;
    margin-top: -5%;
}


.content2_1{
    padding: 5% 3% 12% 4%;
}
.content2_2{
    padding: 24% 32% 0% 5%;
}


.content3_1{  
    padding: 40% 5% 4% 5%;
}
.content3_2{
    padding: 0% 5% 4% 5%;
}
.content3_3{
    padding: 0% 5% 8% 5%;
    z-index: 1;
}

.content4_1{
    padding: 31% 2% 43% 2%;
}
.content4_2{
    padding: 0% 61.5% 0% 4.5%;
    position: absolute;
    z-index: 10;
}
.content4_3{
    padding: 0 31.5% 0% 34.5%;
    position: absolute;
    z-index: 5;
}
.content4_4{
    padding: 0px 4.5% 13% 64.4%;
    position: absolute;
    z-index: 0;
}
.content4_step {
    position: relative;
    padding: 0 0 47% 0;
}


.content5_1{
    padding: 35% 5% 3% 5%;
}
.content5_2{
    padding: 0% 5% 3% 5%;
}
.content5_3{
    padding: 0% 5% 8% 5%;
}


.content6_1{
    padding: 19% 44% 5.5% 7%;
}

.content7_1{
    padding: 35.5% 11.5% 3% 14.5%;
}



#footer_cta{
    position: fixed;
    left: 0%;
    bottom: 0%;
    z-index: 10;
    display: none;
}

@media screen and (min-width: 900px) {
    #footer_cta {
        width: 47%;
        bottom: 2%;
        left: 50%;
        transform: translateX(-50%);
    }
}

.animate__delay-01s { animation-delay: 0.3s; }
.animate__delay-03s { animation-delay: 0.6s; }
.animate__delay-06s { animation-delay: 1s; }
.animate__delay-09s { animation-delay: 1.5s; }
.animate__delay-12s { animation-delay: 2s; }
.animate__delay-15s { animation-delay: 2.5s; }
.animate__delay-18s { animation-delay: 3s; }

.animate__pulse {
    -webkit-animation-name: pulse;
    animation-name: pulse;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
}

.animate__animated.animate__infinite {
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}

.responsive-img, .responsive-video {
    width: 100%;
    height: auto;
    display: block;
    max-width: 100%;
}