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: 0% 0% 46% 0%;
}
.cta_btn_2 {
    position: relative;
    display: block;
    z-index: 2;
    padding: 3% 0% 10% 0%;
}
.cta_btn_3 {
    position: relative;
    display: block;
    z-index: 2;
    padding: 0% 1% 0% 1%;
}



.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: 0;
    position: relative;
}
.content4_back{
    background-image: url("../images/content4_back.png");
    position: relative;
    z-index: 3;
    margin-top: -1%;
}
.content5_back{
    background-image: url("../images/content5_back.png");
    position: relative;
    z-index: 1;
}
.cta_back{
    background-image: url("../images/cta_back.png");
    position: relative;
    z-index: 5;
}


.content1_1{
    padding: 0% 3.5% 3% 4%;
}
.content1_2{
    padding: 0% 4% 3% 3.5%;

}
.content1_3{
    padding: 0% 3.5% 3% 4%;
}
.content1_4{
    padding: 0% 4% 3% 3.5%;
}
.content1_5{
    padding: 4% 31% 20% 0%;
}
.content1_6{
    position: absolute;
    top: 39%;
    left: 1%;
    width: 16%;
    z-index: 2;
}
.content1_7{
    position: absolute;
    top: 55%;
    left: 87%;
    width: 12.7%;
    z-index: 2;
}


.content2_1{
    padding: 29% 3% 2% 4%;
}
.content2_2{
    padding: 0% 3% 2% 4%;
}
.content2_3{
    padding: 0% 3% 8% 4%;
}



.content3_1{  
    padding: 59% 5% 0% 5%;
}
.content3_2{
    padding: 0% 5% 2% 5%;
    margin-top: -1%;
}
.content3_3{
    padding: 0% 5% 9.5% 5%;
}
.content4_1{
    padding: 0% 4% 0% 42%;
}
.content4_2{
    padding: 0% 32% 0% 30%;
    margin-top: -2%;
}
.content4_3{
    padding: 0 54% 0% 8%;
    height: auto;
    margin-top: -3%;
}
.content4_4{
    padding: 0px 8% 13% 53%;
    height: auto;
    margin-top: -40%;
}


.content5_1{
    padding: 24.5% 19% 41% 19%;
}




#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%;
}