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% 7% 0%;
}
.cta_btn_2 {
    position: relative;
    display: block;
    z-index: 2;
    padding: 3% 0% 3% 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;
    margin-top: -15%;
    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("");
    position: relative;
    margin-top: -20%;
    z-index: 1;
}
.content6_back{
    background-image: url("../images/content6_back.png");
    position: relative;
    z-index: 5;
}
.content7_back{
    background-image: url("../images/content7_back.png");
    position: relative;
    z-index: 1;
    font-size: 0;
    margin-top: -20.5%;
}
.content8_back{
    background-image: url("../images/content8_back.png");
    position: relative;
    z-index: 1;
    font-size: 0;
}
.content9_back{
    background-image: url("../images/content9_back.png");
    position: relative;
    z-index: 1;
    font-size: 0;
}


.content1_1{
    padding: 0% 0% 0% 3%;
    margin-left: 3%;
}
.content1_2{
    padding: 0% 5% 0% 5%;
    margin-top: -4%;
}
.content1_3{
    padding: 0% 5% 0% 5%;
    margin-top: -3%;
}
.content1_4{
    padding: 0% 5% 23% 5%;
    margin-top: -2%;
}


.content2_1{
    padding: 16% 18% 53% 5%;
}


.content3_1{
    padding: 21% 8% 2% 8%;
}
.content3_2{
    padding: 1% 4% 1% 4%;
}
.content3_3{
    padding: 2% 4% 1% 4%;
}
.content3_4{
    padding: 2% 4% 9% 4%;
}


.content4_1{
    padding: 7% 8% 36% 8%;
}
.content4_2{
    padding: 0% 22% 0% 4%;
}
.content4_3{
    padding: 0 0% 0% 29%;
    width: 101%;
    margin-top: -29%;
    height: auto;
}


.content5_1{
    padding: 0% 24% 33% 26%;
    margin-top: -2%;
}
.content5_2{
    padding: 0% 0% 0% 59%;
    margin-right: -5%;
    width: 103%;
    height: auto;
}
.content5_3{
    padding: 0% 46% 0% 0%;
    margin-top: -26%;
    width: 105%;
    height: auto;
    margin-left: -4%;
}
.content5_4{
    padding: 0% 5% 14% 27%;
    margin-top: -15%;
}


.content6_1{
    padding: 17% 5% 36% 5%;
}


.content7_1{
    padding: 46% 9% 4% 9%;
}


.content8_1 {
    padding: 7% 4% 10% 4%;
}


.content9_1{
    padding: 21.5% 24% 0% 7%;
}
.content9_2{
    padding: 0 0 45% 60%;
    margin-top: -34%;

}



#footer_cta{
    position: fixed;
    left: 1%;
    bottom: 2%;
    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%;
}