/* ---------------------------------------------------
共通パーツ
--------------------------------------------------- */
body {
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"!important;
}

section{
    padding-top: 120px;
    padding-bottom: 160px;
}
._title{
    font-family: "bananaslip plus";
    text-align: center;
    margin-bottom: 1.5rem;
}
._title h2{
    font-size: 3rem;
    font-weight: 400;
    line-height: 160%;
}
._title h2 span {
    color: #19DCAF;
}

@font-face {
  font-family: "bananaslip plus";
  src: url("../txt/bananaslipplus.otf") format("opentype");
}

@media (max-width: 1024px) {
    section{
        padding: 4rem 2rem;
    }
}
/* ---------------------------------------------------
header
--------------------------------------------------- */
header {
    position: fixed;
    z-index: 99;
    top: 0;
    right: 0;
    left: 0;
    padding: 0.5rem 0;
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
    backdrop-filter: blur(4px); 
    -webkit-transition-duration: 300ms;
    transition-duration: 300ms;
    transition-timing-function:linear;

}

.header-wrapper {
    display: grid;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-grid-columns: 1fr 2fr;
    grid-template-columns: 1fr 3fr;
    position: relative;
    width: 80%;
    max-width: 1080px;
    margin:  0 auto;
}
.header-logo {
    width: 5rem;
}
@media (max-width: 768px) and (orientation: landscape) {
    .header-logo {
        width: clamp(110px, 158px);
    }
}

.logo-link {
    display: block;
    -webkit-transition-duration: 300ms;
    transition-duration: 300ms;
    transition-timing-function:linear;
}

.logo-link:hover {
    opacity: 0.6;
}

@media (max-width: 1180px) {
    header{
        padding: 1rem;
    }
    .nav-menu .menu-list{
        height: 0;
        visibility: hidden;
        opacity: 0;
    }
    .active.nav-menu .menu-list{
        height: auto;
        visibility: visible;
        opacity: 1;
        width: 90%;
        margin: 2.5rem auto 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    .nav-menu._sp-only {
        display: none;
        opacity: 0;
        visibility: hidden;
        height: 0;
}
    .nav-menu._sp-only.active {
        visibility: visible;
        display: block;
        height: auto;
        padding-bottom: 40px;
        box-sizing: border-box;
        opacity: 1;
        border: none;
        box-shadow: none;
        }
}

@media (min-width: 1000px) {
    .nav-menu {
    padding-top: 0 !important;
    height: 88px;
    border-radius: 50px;
    padding: 0 0 0 4rem;
    }
}

@media (min-width: 1000px) {
    .menu-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: space-between;
    gap: clamp(20px, 2.0833333333333335vw, 40px);
    height:100%;
    }
}
@media (max-width: 1180px){
    .header-wrapper{
        width: 98%;
    }
    header:has(.active){
        background: #fff;
        height: 100vh;
    }
}

@media (max-width: 1180px) {
    .menu-item {
    /* 各ナビメニューの下線を変えたい時 */
    border: none;
    }
    /* #hb-menu .menu-item{
        display: flex;
        justify-content: space-between;
        align-items: center;
    } */
    .menu-item .menu-link{
        width: 100%;
        justify-content: space-between;
    }
    #hb-menu .menu-item::after{
        content: '';
        display: none;
        background-image: url(../../../repitte-design/assets/img/lp/icon_arrow.png);
        background-size: cover;
        background-position: center;
        width: 26px;
        height: 26px;
    }
    #hb-menu .menu-item:has(.contact-btn)::after{
        display:none;
    }
    #hb-menu .contact-btn{
        width: 100%;
        margin: 32px auto 0;
    }
}

.menu-link {
    font-family: "bananaslip plus";
    font-size: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 400;
    gap: 8px;
    -webkit-transition-duration: 300ms;
    transition-duration: 300ms;
    transition-timing-function:linear;
    color: #000;
}
.menu-link:hover {
    opacity: 0.6;
}
.contact-btn p{
    font-size: 16px;
    font-weight: 500;
}
header .contact-btn{
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0.5rem 4.5rem;
    border-radius: 50px;
    background: var(--cta-primary, #19DCAF);
    transition: background 0.3s ease;
}
header .contact-btn:hover{
    background: #22c39e;
}
.contact-btn p{
    white-space: nowrap;
    color: #000;
    font-family: "Noto Sans JP";
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 170%;
}
@media (max-width: 1024px) {
    .menu-link {
    font-size: 1.5rem;
    padding-top: 24px;
    padding-bottom: 8px;
    text-align: center;
    font-weight: 400;
    }
}

@media (min-width: 1025px) {
    .menu-link {
    white-space: nowrap;
    }
}

.hamburger-button {
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content;
    height: 60px;
    margin-right: 0;
    margin-left: auto;
    cursor: pointer;
    background: none;
    border: none;
}

.hamburger-lines {
    position: relative;
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50px;
    background: #fff;
    box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.15);
    -webkit-transition-duration: 300ms;
    transition-duration: 300ms;
    transition-timing-function: linear;
}
.hamburger-lines .line {
    position: absolute;
    right: 0;
    left: 0;
    display: block;
    width: 50%;
    height: 3px;
    margin: auto;
    -webkit-transition-duration: 300ms;
    transition-duration: 300ms;
    transition-timing-function:linear;
    background-color: #333;
}

.hamburger-lines.active .line {
    /* ハンバーガーメニューオープン時の線の色を変えたい時 */
    background-color: #333;
}

.hamburger-lines .line:nth-child(1) {
    top: 30%;
}
.hamburger-lines .line:nth-child(2) {
    top: 50%;
}
.hamburger-lines .line:nth-child(3) {
    top: 70%;
}

@media (min-width: 1180px) {

    /* タブレットサイズ以上でハンバーガーメニューを丸ごと非表示 */
    .hamburger-button {
    display: none;
    }
}
@media (max-width: 900px) {
    .header-logo{
        width: 100px;
    }
    .header-wrapper {
        align-items: start;
    }
}

/* ---------------------------------------------------
MV
--------------------------------------------------- */
.d-mv{
    width: 100vw;
    height: auto;
    background-image: url("../img/mv.webp");
    background-position: center;
    background-size: cover;
    padding-top: 104px;
    box-sizing: border-box;
    position: relative;
}
.d-mv-parallax1{
    position: absolute;
    width: clamp(40px, 5vw ,64px);
    top: 18%;
    left: clamp(80px,12vw,217px);
}
.d-mv-parallax2{
    position: absolute;
    width: clamp(62px, 10vw ,140px);
    left: clamp(72px, 10vw,138px);
    top: 60%;
}
.d-mv-parallax3{
    position: absolute;
    width: clamp(28px, 5vw ,50px);
    top: 32%;
    right: clamp(1.5rem, -9.013rem + 44.854vw, 44.813rem);

}
.d-mv-parallax4{
    position: absolute;
    width: clamp(56px, 10vw ,104px);
    top: 80%;
    right: clamp(2rem, -10.424rem + 53.01vw, 53.188rem);
}
.d-mv-inner{
    width: 80%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
}
.d-mv-inner img:nth-of-type(1){
    max-width: 320px;
    margin-bottom: 1rem;
}
.d-mv-inner img:nth-of-type(2){
    max-width: 560px;
    margin-bottom: 1.5rem;
}
.d-mv-inner img:nth-of-type(3){
    max-width: 560px;
    margin-bottom: 1.5rem;
}
.d-mv-inner h3 {
    width: 50%;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 160%;
    text-align: center;
}
.d-mv-fee{
    display: flex;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1rem;
}
.d-mv-fee li {
    position: relative;
    background: #fff;
    border-radius: 50px;
    font-size: 1rem;
    font-weight: 600;
    padding: 1rem 1.5rem 1rem 3.5rem;
    box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.15);
}
.d-mv-fee li::before {
    position: absolute;
    content: "";
    background-repeat: no-repeat;
    width: 20px;
    height: 20px;
    left: 1.5rem;
    top: 30%;
}
.d-mv-fee li:nth-of-type(1)::before{
    background-image: url("../img/icon_hp.svg");
    top: 35%;
}
.d-mv-fee li:nth-of-type(2)::before{
    background-image: url("../img/icon_flyer.svg");
}
.d-mv-fee li:nth-of-type(3)::before{
    background-image: url("../img/icon_businesscard.svg");
}
.d-mv-fee li:nth-of-type(4)::before{
    background-image: url("../img/icon_shopcrad.svg");
}
.d-mv-fee li:nth-of-type(5)::before{
    background-image: url("../img/icon_banner.svg");
    top: 28%;
}
.d-mv-fee li:nth-of-type(6)::before{
    background-image: url("../img/icon_richmenu.svg");
}
.d-mv-fee li:nth-of-type(7)::before{
    background-image: url("../img/icon_pop.svg");
}
.d-mv-fee li:nth-of-type(8)::before{
    background-image: url("../img/icon_menu.svg");
}
.d-mv-fee li:nth-of-type(9)::before{
    background-image: url("../img/icon_ds.svg");
}
.d-mv-fee li:nth-of-type(10)::before{
    background-image: url("../img/icon_map.svg");
}
.d-mv-fee li:nth-of-type(11)::before{
    background-image: url("../img/icon_logo.svg");
}
.d-mv-fee li:nth-of-type(12)::before{
    background-image: url("../img/icon_poster.svg");
}

/* ------ 下層MV ------- */
.beauty-salon .d-mv {
    width: 100vw;
    height: auto;
    background-image: url(../img/lower-layer/beauty-salon-mv.webp);
    background-position: center;
    background-size: cover;
    padding-top: 104px;
    box-sizing: border-box;
    position: relative;
}
.jim .d-mv {
    width: 100vw;
    height: auto;
    background-image: url(../img/lower-layer/jim-mv.webp);
    background-position: center;
    background-size: cover;
    padding-top: 104px;
    box-sizing: border-box;
    position: relative;
}
.eatery .d-mv {
    width: 100vw;
    height: auto;
    background-image: url(../img/lower-layer/eatery-mv.webp);
    background-position: center;
    background-size: cover;
    padding-top: 104px;
    box-sizing: border-box;
    position: relative;
}
.lower-layer .d-mv {
    position: relative;
    padding: 13rem 0;
    background-position-x: right;
}
.lower-layer .d-mv::before {
    position: absolute;
    content: "";
    background-image: url("../img/lower-layer/mv-top.webp");
    background-repeat: no-repeat;
    width: 100%;
    height: 10rem;
    top: 0;
}
.lower-layer .d-mv::after {
    position: absolute;
    content: "";
    background-image: url("../img/lower-layer/mv-bottom.webp");
    background-repeat: no-repeat;
    width: 385px;
    left: 40%;
    height: 6rem;
    bottom: 0;
}
.lower-layer h2 {
    font-family: "bananaslip plus";
    font-size: 4rem;
}
.lower-layer #creative::before,.lower-layer #creative::after{
    display: none;
}

@media screen and (max-width: 900px) {
    .d-mv-inner img:nth-of-type(1){
        max-width: 70%;
        margin-left: -3%;
    }
    .d-mv-inner img:nth-of-type(2){
        max-width: 100%;
    }
    .d-mv-inner img:nth-of-type(3){
        max-width: 100%;
        margin: 1.5rem 0;
    }
    .d-mv-inner h3{
        width: 100%;
        font-size: 1rem;
        font-weight: 600;
    }
    .d-mv-fee{
        gap: 8px;
    }
    .d-mv-fee li {
        padding: 0.8rem 0.8rem 0.8rem 2.1rem;
    }
    .d-mv-fee li::before {
        left: 0.5rem;
    }
    
    /* ------ 下層MV ------- */
    .beauty-salon .d-mv {
        background-image: url(../img/lower-layer/beauty-salon-mv_sp.webp);
        padding: 10rem 0 15rem;
    }
    .jim .d-mv{
        background-image: url(../img/lower-layer/jim-mv_sp.webp);
        padding: 10rem 0 15rem;
    }
    .eatery .d-mv{
        background-image: url(../img/lower-layer/eatery-mv_sp.webp);
        padding: 10rem 0 15rem;
    }
    .lower-layer .d-mv::before, .lower-layer .d-mv::after {
        display: none;
    }
    .lower-layer h2 {
        font-size: 3rem;
    }
}
@media screen and (max-width: 1024px) {
    .d-mv-inner {
        width: 100%;
    }
}
 

/* ---------------------------------------------------
plan
--------------------------------------------------- */
.d-plan{
    background-image: url(../repitte-design/assets/img/bg-white.png);
    padding: 120px 0;
}
.d-plan ._title {
    margin-bottom : 5rem;
}
.d-plan-frame {
    max-width: 1080px;
    margin: 0 auto 2.5rem;
    padding: 1.5rem;
    background: #fff;
    box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.15);
    border-radius: 40px;
}
.d-plan-box{
    border: 2px solid #FFD61F;
    border-radius: 40px;
    background: var(--main-secondary, #FFFBC9);
    padding: 32px;
    box-sizing: border-box;
}
.d-plan-price{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 56px;
    position: relative;
    margin-bottom: 44px;
}
.d-plan-price::after{
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background:linear-gradient(to right, #FFD61F 50%, transparent 50%) ;
    background-size: 10px 2px;
    background-position: bottom left;
    background-repeat: repeat-x;
    display: block;
}
.d-plan-price h3{
    color: #000;
    font-family: "Futura";
    font-size: 60px;
    font-style: normal;
    font-weight: 700;
    line-height: 170%;
    text-align: center;
}
.d-plan-price h3 span{
    color:#000;
    font-family: "Futura";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 170%;
}
.d-plan-price h3 span.odometer,.d-plan-price h3 span.odometer span{
    color: #000;
    font-family: "Futura";
    font-size: 70px;
    font-style: normal;
    font-weight: 700;
    line-height: 170%;
}
.d-plan-price p{
    color: var(--txt-primary, #000);
    /* PC/NotoSansJP_H3 */
    font-family: "Noto Sans JP";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 170%;
}
.p-ex-title{
    padding: 16px 40px;
    border-radius: 8px;
    background: #fff;
    width: fit-content;
    position: relative;
    margin: 0 auto 32px;
}
.p-ex-title::before{
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translate(-50%,-100%);
    content: '';
    width: 32px;
    height: 32px;
    background-image: url(../../../repitte-design/assets/img/lupe.png);
    background-position: center;
    background-size: cover;
}
.d-plan-ex {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}
.p-ex-flex:first-child {
    
}
.p-ex-flex::after{
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 6%;
    aspect-ratio: 1/1;
    display: block;
    background-image:url(../../../repitte-design/assets/img/plas.png);
    background-position: center;
    background-size: cover;
}
.p-ex-list {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    gap: 1.5rem;
}
.p-ex-box{
    display: flex;
    border-radius: 16px;
    box-sizing: border-box;
    flex-direction: column;
    align-items: center;
    gap: 24px;
}
.p-ex-box p {
    font-size: 1rem;
    font-weight: 700;
    line-height: 170%;
    text-align: center;
}
.p-ex-plus {
    width: 60px;
    margin-bottom: 5rem;
}
.p-ex-box img {
    width: 180px;
}
.p-ex-box .size {
    width: 260px;
}
.p-ex-number{
    display: flex;
    padding: 0.5rem 1.5rem;
    justify-content: center;
    align-items: center;
    border-radius: 25px;
    background: #000;
}
.p-ex-number p{
    color: #FFF;
    font-size: 1rem;
    font-weight: 500;
}
.e-item-box{
    width: 80%;
    max-width: 254px;
    margin: 0 auto;
}
.p-ex-item{
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1rem;
}
.p-ex-item h5{
    color: #000;
    font-size: 20px;
    font-weight: 700;
    line-height: 170%;
}
.p-ex-item > p{
    margin-bottom: 16px;
    color:  #000;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    white-space: nowrap;
}
.d-plan-option{
    border-radius: 24px;
    border: 2px solid #FFD61F;
    background: var(--main-secondary, #FFFBC9);
    padding: 0 32px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.p-option-title{
    width: 40%;
}
.p-option-title h3{
    color: #000;
    /* PC/NotoSansJP_H2 */
    font-family: "Noto Sans JP";
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 170%; /* 54.4px */
    display: flex;
    justify-content: left;
    align-items: center;
    gap: 16px;
}
.p-option-title h3::before{
    content: '';
    background-image: url(../img/plus-white.png);
    background-position: center;
    background-size: cover;
    display: block;
    width: 32px;
    aspect-ratio: 1/1;
}
.p-option-title p{
    color:  #000;
    /* PC/NotoSansJP_H3 */
    font-family: "Noto Sans JP";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 170%;
}
.d-plan-option img{
    width: 40%;
}
.d-plan-flexible{
    max-width: 1080px;
    margin: 2.5rem auto 3rem;
}
.p-flexible-text{
    text-align: center;
    margin-top: 5rem;
}
.p-flexible-text h3{
    color: #000;
    font-size: 32px;
    font-weight: 700;
    line-height: 170%;
    margin-bottom: 16px;
}
.p-flexible-text p {
    font-size: 20px;
    font-weight: 700;
    line-height: 170%;
}
.d-plan-flexible img{
    width: 45%;
}

/*--- 例えば ---*/
.d-plan-etc {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    margin: 2.5rem 0 2rem;
}
.d-plan-etc p {
    font-size: 1.5rem;
    font-weight: 700;
}
.d-plan-etc .etc {
    font-size: 20px;
    padding: 1rem 1.5rem;
    background: #fff;
    border-radius: 4px;
}
.d-plan-etc span, .d-plan-balloon h4 span{
    background: linear-gradient(transparent 50%, #AEFAFF 30%);
}
.d-plan-arrow {
    width: 4.5%;
    margin: 0 auto;
}
.d-plan-balloon {
    text-align: center;
    margin-top: 1.5rem;
}
.d-plan-balloon h3{
    position: relative;
    font-size: 2rem;
    font-weight: 700;
    line-height: 160%;
    padding: 2.5rem 0;
    z-index: 0;
}
.d-plan-balloon h3::before{
    content: '';
    position: absolute;
    background-image:url(../img/fukidashi.webp);
    background-position: center;
    background-size: cover;
    transform: translate(-50%,0%);
    top: 0;
    left: 50%;
    width: 73%;
    height: 100%;
    z-index: -1;
}
.d-plan-balloon h4 {
    position: relative;
    font-size: 1.5rem;
    padding: 3.3rem 0;
    letter-spacing: 2px;
}
.d-plan-balloon h4::after {
    content: '';
    position: absolute;
    background-image:url(../img/balloon_illust.webp);
    background-repeat: no-repeat;
    background-size: cover;
    top: -80px;
    right: 16px;
    width: 230px;
    height: 210px;
}
.d-plan-production h4 {
    font-size: 1.5rem;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 1rem 0;
    border-radius: 8px 8px 0px 0px;
    background: var(--main-primary, rgba(211, 255, 241, 0.80));
}
.d-plan-production ul{
    padding: 4rem 2rem;
    background: #fff;
    border: 8px solid var(--main-primary, rgba(211, 255, 241, 0.80));
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    grid-gap: 4rem;
}
.d-plan-production ul li {
    justify-content: space-between;
}
.d-plan-production .p-ex-number {
    padding: 4px 24px;
}
.d-plan-production .p-ex-item {
    align-items: flex-start;
}
@media screen and (max-width: 1024px) {
    .d-plan {
        padding: 4rem 2rem;
    }
    .d-plan-etc .etc {
        font-size: 18px;
    }
    .d-plan-balloon h3::before {
        width: 85%;
    }
    .d-plan-balloon h4::after {
        top: -30px;
        right: -24px;
        width: 180px;
        height: 160px;
    }
    .p-ex-item {
        width: 100%;
    }
}
@media screen and (max-width: 900px){
    .d-plan {
       padding: 4rem 0 1.5rem; 
    }
    .d-plan ._title {
        margin-bottom: 3rem;
    }
    .d-plan-frame {
        margin: 0 1rem 2.5rem;
        padding: 1rem;
    }
    .d-plan-ex, .p-ex-list{
        flex-direction: column;
        align-items: center;
    }
    .d-plan-box{
        padding: 1rem;
    }
    .d-plan-price{
        margin: 1.5rem 0 2.5rem;
        flex-direction: column;
        gap: 8px;
    }
    .d-plan-price h3{
        font-size: 50px;
        letter-spacing: 1.5px;
    }
    .d-plan-price p{
        text-align: center;
        font-size: 20px;
    }
    .d-plan-price h3 span.odometer {
        line-height: 80%;
    }
    .d-plan-price h3 span.odometer span {
        font-size: 3.5rem;
    }
    .d-plan-price::after {
        display: none;
    }
    .p-ex-flex{
        flex-direction: column;
        gap: 66px;
    }
    .p-ex-box{
        width: 100%;
    }
    .d-plan-ex .two {
        width: 100%;
        margin: 2.5rem 0;
        padding-top: 2.5rem;
        border-top: dashed 2px #FFD61F;
    }
    .p-ex-box img {
        width: 90%!important;
    }
    .p-ex-plus {
        margin: 0;
    }
    .d-plan-option{
        width: 90%;
        flex-direction: column;
        padding: 0 24px;
    }
    .p-option-title{
        width: 100%;
        padding-bottom: 1.5rem;
    }
    .p-option-title h3{
        font-size: 26px;
        gap: 8px;
    }
    .p-option-title p{
        text-align: center;
        font-size: 20px;
    }
    .d-plan-option img{
        width: 100%;
    }
    .d-plan-flexible{
        flex-direction: column;
        width: 90%;
        gap: 24px;
    }
    .p-flexible-text{
        width: 100%;
        margin-top:3rem;
    }
    .p-flexible-text h3{
        font-size: 26px;
        margin-bottom: 16px;
    }
    .p-flexible-text p{
        font-size: 1rem;
    }
    .d-plan-flexible img{
        width: 100%;
    }
    .d-plan-etc {
        margin: 2rem 0;
    }
    .d-plan-etc .etc {
        font-size: 14px;
        width: 50%;
        padding: 1rem;
    }
    .d-plan-etc p {
        font-size: 14px;
        font-weight: 600;
        line-height: 1.2;
    }
    .d-plan-arrow {
        width: 8%;
    }
    .d-plan-balloon h3{
        font-size: 0.8rem;
        padding: 0.8rem 0;
    }
    .d-plan-balloon h3::before {
        width: 100%;
        height: 110%;
    }
    .d-plan-balloon h4 {
        font-size: 1rem;
        padding: 1rem 0 2rem;;
        line-height: 1.5;
    }
    .d-plan-balloon h4::after{
        top: 28px;
        right: -18px;
        width: 80px;
        height: 68px;
    }
    .d-plan-production ul {
        padding: 2rem 1rem;
        border: 4px solid var(--main-primary, rgba(211, 255, 241, 0.80));
        grid-gap: 2rem 0.5rem;
    }
    .p-ex-item h5 {
        font-size: 14px;
        line-height: 1.3;
    }
    .d-plan-production .p-ex-number {
        padding: 4px 16px;
    }
    .d-plan-production .p-ex-box {
        width: 48%;
    }
    .d-plan-production .p-ex-item {
        flex-direction: column;
        align-items: center;
        flex-wrap: wrap;
        gap: 10px;
    }
}

/* ---------------------------------------------------
solution
--------------------------------------------------- */
.d-solution-card{
    width: 80%;
    max-width: 1080px;
    margin: 0 auto 0;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 1fr;
    grid-gap: 4rem;
}
.s-card-item{
    display: flex;
    align-items: center;
    flex-direction: column;
}
.s-card-item p{
    color: #0C306E;
    font-family: "bananaslip plus";
    font-size: 3rem;
    font-weight: 400;
    line-height: 160%;
}
.d-solution .read {
    font-size: 1rem;
    font-weight: 500;
    text-align: center;
    margin-bottom: 4rem;
    line-height: 180%;
}
.s-main-absolute{
    position: absolute;
    width: auto;
    height: 100%;
    top: 0;
    right: 0;
    z-index: -1;
}
.d-solution-menu{
    width: 80%;
    max-width: 1080px;
    margin: 0 auto;
}
.s-menu-list{
    display: flex;
    flex-wrap: wrap;
    grid-gap: 16px;
    margin: 2.5rem auto 0;
}
.s-menu-item{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 203px;
    padding: 1rem 0;
    border-radius: 8px;
    background: var(--main-secondary, #FFFBC9);
}
.d-solution-menu p{
    text-align: center;
    font-size: 20px;
    font-weight: 500;
    line-height: 160%;
}

@media screen and (max-width: 900px) {
    .d-solution .read {
        margin-bottom: 1rem;
    }
    .s-card-item p {
        font-size: 2rem;
    }
}

/* ---------------------------------------------------
    ▼ problem ▼
 --------------------------------------------------- */
#problem {
    padding-bottom: 0;
}

.d-problem-list {
    max-width: 1080px;
    margin: 5rem auto 0;
    display: flex;
    flex-direction: column;
    gap: 4.5rem;
}
.s-problem-box {
    display: flex;
    flex-direction: row;
    background-repeat: no-repeat;
    justify-content: space-between;
    background-size: cover;
    padding: 2rem;
    border-radius: 8px;
}
.s-problem-bg-01{
    background-image: url(../img/lower-layer/wave_bg-01.webp);
}
.s-problem-bg-02{
    background-image: url(../img/lower-layer/wave_bg-02.webp);
}
.s-problem-left {
    width: 32%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2rem;
}
.s-problem-left h3 {
    background: #fff;
    padding: 1rem 2.5rem;
    margin: 0 1.5rem;
}
.s-problem-left p {
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 160%;
    text-align: center;
}
.s-problem-right {
    width: 58%;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 2rem;
}
.s-problem-right-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 50%;
}
.s-problem-right-box span{
    background: linear-gradient(transparent 50%, #AEFAFF 30%);
}
.s-problem-img {
    height: 200px;
    display: flex;
    align-items: center;
}
.s-problem-right-box p {
    font-weight: 500;
    line-height: 160%;
    text-align: center;
    padding-top: 1.5rem;
}
.logo-size {
    width: 60%;
    margin: 0 auto;
}
.A4-size {
    width: 80%;
    margin: 0 auto;
}
.small-size{
    width: 70%;
}
.lower-layer-contact-box {
    width: 43%;
    margin: 7rem auto 0;
}
.lower-layer-contact-box .contact-txt {
    width: 61%;
}
.lower-layer-contact-box h4 {
    font-family: "bananaslip plus";
    font-size: 2.5rem;
    text-align: center;
}
.lower-layer-contact-box h4 span {
    color: #19DCAF;
}
.lower-layer-contact-box .d-industry-contact {
    position: relative;
    margin-top: 2.5rem;
}
.lower-layer-contact-box .d-industry-contact::before{
    content: "";
    position: absolute;
    background-image: url(../img/balloon_illust.webp);
    background-repeat: no-repeat;
    background-size: cover;
    top: -11.8rem;
    right: -4rem;
    width: 220px;
    height: 190px;
}
@media screen and (max-width: 900px) {
    #problem {
        padding: 4rem 2rem 0;
    }
    .d-problem-list {
        margin: 2.5rem auto 0;
        gap: 2.5rem;
    }
    .s-problem-box {
        flex-direction: column;
        padding: 2rem 1.5rem;
    }
    .s-problem-img {
        height: auto;
    }
    .s-problem-bg-01{
        background-image: url(../img/lower-layer/wave_bg-sp01.webp);
    }
    .s-problem-bg-02{
        background-image: url(../img/lower-layer/wave_bg-sp02.webp);
    }
    .s-problem-left {
        width: 100%;
        flex-direction: column;
        padding-bottom: 3rem;
    }
    .s-problem-left h3 {
        margin: 0;
        font-size: 15px;
    }
    .s-problem-left p {
        font-size: 1rem;
    }
    .s-problem-right {
        width: 100%;
        flex-direction: column;
    }
    .s-problem-right-box{
        width: 100%;
    }
    .lower-layer-contact-box {
        width: 100%;
        margin: 4rem auto 0;
    }
    .lower-layer-contact-box h4 {
        font-size: 1.8rem;
    }
    .lower-layer-contact-box .contact-txt {
        width: 70%;
    }
    .lower-layer-contact-box .d-industry-contact::before {
        top: -6.8rem;
        right: -1.5rem;
        width: 130px;
        height: 110px;
    }
}

 /* ---------------------------------------------------
    ▼ industry ▼
 --------------------------------------------------- */

.d-industry {
    background: #d3fff1cc;
    border-radius: 80px 80px 0px 0px;
}
.d-industry p {
    text-align: center;
    line-height: 180%;
}
.d-industry-btn {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 2.5rem;
}
.d-industry-contact {
    position: relative;
    width: 400px;
    text-align: center;
    color: var(--txt-primary, #000);
    font-family: "Noto Sans JP";
    font-size: 24px;
    font-weight: 700;
    line-height: 100%;
    border-radius: 48.5px;
    padding: 24px 32px;
    margin: 5rem auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--cta-secondary, #FFD61F);
    gap: 16px;
}
.d-industry-contact:hover{
    background: #e9af00;
    transition: background 0.5s ease;
}

.d-industry-contact::after{
    position: absolute;
    content: '';
    background-image: url("../img/arrow-wh-next.png");
    background-position: center;
    background-size: cover;
    width: 32px;
    aspect-ratio: 1/1;
    top: 50%;
    right: 10%;
    transform: translate(50%,-50%);
    z-index: 10;
}
.s-btn-item {
    padding: 0.5rem;
    margin-top: 4rem;
    background: #fff;
    box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.15);
    border-radius: 10px;
}
.s-btn-item p {
    position: relative;
    width: 320px;
    font-family: "bananaslip plus";
    font-size: 2.5rem;
    font-weight: 400;
    border: solid 2px #FFD61F;
    color: #000;
    padding: 1rem 0;
    border-radius: 10px;
}
.s-btn-item p::after{
    position: absolute;
    content: '';
    background-image: url("../img/arrow-yw-next.png");
    background-position: center;
    background-size: cover;
    width: 32px;
    aspect-ratio: 1/1;
    top: 50%;
    right: 10%;
    transform: translate(50%,-50%);
    z-index: 10;
}
@media screen and (max-width: 1024px) {
    .s-btn-item {
        width: 100%;
        margin-top: 2.5rem;
    }
    .s-btn-item p {
        width: 98%;
        margin: 0 auto;
    }
    .d-industry-btn {
        gap: 1rem;
    }
    .d-industry-contact {
        margin: 2.5rem auto 0;
        padding: 1rem 0;
    }
}
@media screen and (max-width: 900px) {
    .d-industry {
        border-radius: 40px 40px 0px 0px;
    }
    .d-industry-btn {
        margin-top: 2rem;
        flex-wrap: wrap;
        gap: 2rem;
    }
    .s-btn-item {
        margin-top: 0;
    }
    .s-btn-item p {
        font-size: 1.5rem;
    }
    .d-industry-contact {
        width: 100%;
        padding: 24px 0;
        margin: 3rem auto 0;
        font-size: 1.3rem;
    }
}

/* ---------------------------------------------------
creative
--------------------------------------------------- */

#creative {
    position: relative;
}
#creative::before{
    position: absolute;
    content: '';
    background-image: url("../img/creative_top.png");
    background-position: center;
    background-size: cover;
    width: 35%;
    height: 184px;
    top: 0;
    right: 0;
    z-index: -1;
}
#creative::after{
    position: absolute;
    content: '';
    background-image: url("../img/creative_bottom.png");
    background-position: center;
    background-size: cover;
    width: 35%;
    height: 164px;
    bottom: 0;
    left: 0;
    z-index: -1;
}
@media screen and (max-width: 1440px) {
    #creative::before{
        width: 28rem;
        height: 8rem;
    }
    #creative::after{
        width: 32rem;
        height: 8rem;
    }
}


/* ---------------------------------------------------
スライダー
--------------------------------------------------- */
.creative-slider {
    border-radius: 0px 0px 80px 80px;
    background: var(--main-primary, rgba(211, 255, 241, 0.80));
}
/* スライドする要素 */
.content_slide{
    width: 260px;
    margin: 0 16px;
    display: flex;
    align-items: center;
}
.content_slide p {
    margin: 20px 0;
    text-align: center;
    font-size: 20px;
    color: #767373;
    
}
.content_slide span {
    font-size: 16px;
    color: #767373;
}
/* スライドレールの枠 */
.wrap {
  overflow: hidden;
  display: flex;
  align-items: center;
  margin-bottom: 60px;
}
/* content4つをまとめたスライドブロック */
.slideshow_1 {
  display: flex;
  -webkit-animation: loop-slide-light 30s infinite linear 1s both;
  animation: loop-slide-light 30s infinite linear 1s both;
}
@-webkit-keyframes loop-slide-light {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes lloop-slide-light {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
} 
.slideshow_2 {
  display: flex;
  -webkit-animation: loop-slide-left 40s infinite linear 1s both;
  animation: loop-slide-left 40s infinite linear 1s both;
}
@-webkit-keyframes loop-slide-left {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes lloop-slide-left {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
} 

@media screen and (max-width: 900px) {
    #creative::before {
        width: 60%;
        height: 6%;
        z-index: -1;
    }
    #creative::after{
        width: 70%;
        height: 6%;
        z-index: -1;
    }
    .creative-slider {
        padding: 2.5rem 0;
        border-radius: 0px 0px 40px 40px;
        padding-bottom: 120px;
    }
    .content_slide {
        width: 120px;
        margin: 0 8px;
    }
    .wrap {
        margin-bottom: 30px;
    }
}

/* ---------------------------------------------------
product
--------------------------------------------------- */
.d-product {
   background: var(--main-primary, rgba(211, 255, 241, 0.80)); 
}
.p-flow-flex{
    display: flex;
    justify-content: space-between;
    width: 80%;
    max-width: 1080px;
    margin: 1rem auto;
}
.p-flow-item{
    width: 23%;
}
.p-flow-item img{
    aspect-ratio: 1/1;
    border-radius: 50%;
    margin-bottom: 16px;
    background: #fff;
}
.p-flow-item ._bold{
    color: #000;
    text-align: center;
    /* PC/NotoSansJP_H3 */
    font-family: "Noto Sans JP";
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 170%;
    margin-bottom: 8px;
}
.p-flow-item p{
    color:  #000;
    text-align: center;
    /* PC/NotoSansJP_p */
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 170%;
}
.p-flow-item p span {
    font-size: 13px;
}
.p-flow-absolute{
    position: relative;
    aspect-ratio: 1/1;
}
.p-flow-absolute::after{
    content: '';
    background-image: url(../img/flow.png);
    background-position: center;
    background-size: cover;
    width: 60px;
    aspect-ratio: 1/1;
    position: absolute;
    top: 50%;
    right: -8%;
    transform: translate(50%,-50%);
    z-index: 10;
}
.p-flow-item:nth-of-type(4) .p-flow-absolute::after{
    display: none;
}

/* ---------------------------------------------------
product
--------------------------------------------------- */
.d-faq{
    width: 100%;
    position: relative;
    padding: 7.5rem 0;
    z-index: 2;
}
.d-faq-title{
    margin-bottom: 40px;
}
.d-faq-list{
    width: 80%;
    max-width: 1080px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.d-faq-item{
    background: #FFF;
    padding: 24px;
    cursor: pointer;
}
.d-faq-item > p{
    position: relative;
    color:#000;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 170%;
    display: flex;
    justify-content: left;
    align-items: center;
    gap: 20px;
}
.d-faq-item > p::before{
    content: 'Q';
    color: #FFF;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
    width: 64px;
    height: 54px;
    padding-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    background:#19DCAF;
}
.d-faq-item > p::after{
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: 
    translateY(-50%)
    rotate(180deg);
    display: block;
    width: 38px;
    height: 38px;
    background-image: url(../img/plas-black.png);
    background-size: cover;
    background-position: center;
    transform-origin:center center;
    transition-duration: 0.5s;
}
.active.d-faq-item > p::after{
    background-image: url(../img/minus.png);
    height: 8px;
}
.active .d-faq-answer{
    display: flex;
}

.d-faq-answer{
    color:#000;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 170%;
    justify-content: left;
    align-items: center;
    gap: 20px;
    display: none;
    margin-top: 16px;
}
.d-faq-answer::before{
    content: 'A';
    color: #FFD61F;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%; 
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    border: 3px solid #FFD61F;
    background: #FFF;
    box-sizing: border-box;
}
.d-faq-answer p{
    width: calc(100% - 88px );
}
@media screen and (max-width: 1024px){
    .d-faq {
        padding: 4rem 0;
    }
    .d-faq-item > p {
        padding: 0 3.5rem 0 0;
    }
}
@media screen and (max-width: 900px){
    .d-faq-list{
        width: 80%;
    }
    .d-faq-item{
        padding: 16px;
    }
    .d-faq-item > p{
        font-size: 16px;
        width: 90%;
        padding: 0 1rem;
        margin: 0 auto;
    }
    .d-faq-item > p::before{
        width: 30px;
        height: 25px;
        padding-bottom: 5px;
        font-size: 16px;
        border-radius: 8px;
        position: absolute;
        left: -8px;
        top: 0;
        transform: translateX(-100%);
    }
    .d-faq-answer::before{
        width: 30px;
        height: 30px;
        font-size: 16px;
        border-radius: 8px;
    }
    .d-faq-item > p::after{
        width: 16px;
        height: 16px;
        top: 12px;
        right: -8px;
        transform: translate(100%,-50% );
    }
    .active.d-faq-item > p::after{
        height: 3px;
    }
    .active .d-faq-answer{
        position: relative;
        margin: 8px auto 0;
        min-height: 40px;
    }   
    .d-faq-answer::before{
        position: absolute;
        left: -8px;
        top: 0;
        transform: translateX(-100%);
    }
    .d-faq-answer p{
        width: 100%;
        padding: 0 0 0 1rem;
    }
}


/* ---------------------------------------------------
Footer
--------------------------------------------------- */
.d-footer{
    width: 100%;
    background:#D3FFF1;
}
.d-footer > img{
    width: 20%;
    margin:56px auto 48px;
}
.d-footer-inner {
    max-width: 1080px;
    margin: 0 auto;
    padding: 5rem 0;
}
.d-footer-flex {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 6rem;
}
.d-footer-flex img {
    width: 19%;
}
.d-footer-list {
    width: 100%;
}
.d-footer-nav{
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
    gap: 1.5rem;
}
.d-footer-list h4 {
    color: #19DCAF;
    font-family: "bananaslip plus";
    font-size: 20px;
    font-weight: 400;
    margin-bottom: 1.5rem;
}
.d-footer-access {
    display: flex;
    flex-direction: row;
    gap: 3.5rem;
    font-size: 1rem;
    font-weight: 500;
    line-height: 160%;
}
.f-nav-item{
    text-align: center;
    /* PC/NotoSansJP_p */
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 170%;
}
.f-nav-item a {
    color: #000;
}
.copyright{
    background: #fff;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 13px;
    padding: 20px 0;
    font-weight: 700;
}
@media screen and (max-width: 900px) {
    .d-footer-inner {
        padding: 2.5rem 1.5rem;
    }
    .d-footer-flex {
        flex-direction: column;
        align-items: center;
        gap: 2.5rem;
    }
    .d-footer-flex img {
        width: 40%;
    }
    .d-footer-nav {
        margin-bottom: 2.5rem;
        flex-direction: column;
        align-items: start;
        gap: 1.5rem;
    }
    .d-footer .menu-link {
        padding: 0;
        font-size: 1.5rem;
        font-weight: 200;
    }
    .d-footer-access {
        flex-direction: column;
        gap: 1.5rem;
    }
}
._sp-only{
    display: none;
}
._sp-layout{
    display: none;
}
._1330{
    display: none;
}
@media screen and (max-width: 1330px){
    ._1330{
        display: block;
    }
}
@media screen and (max-width: 1180px) {
    ._pc-layout{
        display: none;
    }
    ._sp-layout{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 8px;
        margin-bottom: 8px;
    }
    .p-ex-number {
        padding: 4px 1.5rem;
    }
    .p-ex-item{
        width: 80%;
        margin: 0 auto;
        text-align: center;
    }
    .p-ex-item h5{
        margin-top: 0;
    }
    .p-ex-item img{
        width: 80%;
    }
    .nav-menu {
        display: none;
    }
}
@media screen and (max-width: 900px) {
    ._sp-only{
        display: block;
    }
    ._pc-only{
        display: none;
    }
    ._1330{
        display: none;
    }
    ._title h2{
        font-size: 2rem;
        line-height: 1.2;
    }
    .d-mv{
        background-image: url("../img/mv_sp.webp");
        padding: 6rem 0 22rem;
    }
    .d-mv-parallax4{
        top: 80%;
    }
    .d-mv-inner{
        width: 90%;
        margin: 0 auto;
    }
    .d-mv-parallax2{
        top: 75%;
    }
    .d-solution-card{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        grid-gap: 1rem;
        padding-top: 1rem;
    }
    .s-card-item{
        padding: 0;
        text-align: center;
        width: 47%;
    }
    .d-solution-main{
        width: 90%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 24px;
    }
    .s-main-absolute{
        position: static;
        width: 80%;
        height: auto;
    }
    
    .d-solution-menu{
        width: 100%;
    }
    .s-menu-list{
        grid-template-columns: 1fr;
    }
    .d-solution-menu p{
        font-size: 16px;
    }

    .d-product ._sp-only{
        width: 90%;
        margin: 0 auto;
    }
    ._swiper{
        display: none;
    }
    .is_active._swiper{
        display: block;
    }
    .p-flow-flex{
        display: flex;
        flex-direction: column;
        width: 90%;
        gap: 69px;
    }
    .p-flow-item{
        width: 100%;
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
        position: relative;
    }
    .p-flow-absolute{
        width: 30%;
        position: static;
    }
    .p-flow-layout{
        width: 60%;
        text-align: left;
    }
    .p-flow-item ._bold{
        text-align: left;
        font-size: 20px;
    }
    .p-flow-item p{
        text-align: left;
        font-size: 16px;
    }
    .p-flow-absolute::after{
        width: 40px;
        height: 40px;
        transform:
        translate(-50% ,100%)
        rotate(90deg);
        left: 50%;
        top: auto;
        bottom: -12px;
    }
    .d-footer > img{
        width: 60%;
        max-width:300px ;
    }
    .f-nav-item{
        text-align: left;
    }

}
@media screen and (max-width: 1024px) {
    .s-menu-item {
        width: 23%;
    }
}
@media screen and (max-width: 600px) {
    .p-ex-item{
        width: 100%;
    }
    .d-plan-option{
        padding: 1.5rem 1rem 0;
    }
    .p-option-title {
        padding-bottom: 1.5rem;
    }
    #hb-menu .contact-btn{
        width: auto;
    }
    .s-menu-item{
        width: 47%;
    }
    .s-menu-item::before{
        width: 35px;
    }
}

/* ---------------------------------------------------
アニメーション
--------------------------------------------------- */
/* アニメーション前 */
[data-text-animation="fadeIn"] span {
    opacity: 0;
    transition: opacity 1s;
}

/* アニメーション後 */
[data-text-animation="fadeIn"] span.is-active {
    opacity: 1;
}
.alternative {
    position: fixed !important;
    inset: 0 !important;
    display: block !important;
    inline-size: 4px !important;
    block-size: 4px !important;
    contain: strict !important;
    pointer-events: none !important;
    opacity: 0 !important;
  }


/* オドメーター */
.odometer.odometer-auto-theme, .odometer.odometer-theme-default {
    display: inline-block;
    vertical-align: middle;
    *vertical-align: auto;
    *zoom: 1;
    *display: inline;
    position: relative;
  }
  .odometer.odometer-auto-theme .odometer-digit, .odometer.odometer-theme-default .odometer-digit {
    display: inline-block;
    vertical-align: middle;
    *vertical-align: auto;
    *zoom: 1;
    *display: inline;
    position: relative;
  }
  .odometer.odometer-auto-theme .odometer-digit .odometer-digit-spacer, .odometer.odometer-theme-default .odometer-digit .odometer-digit-spacer {
    display: inline-block;
    vertical-align: middle;
    *vertical-align: auto;
    *zoom: 1;
    *display: inline;
    visibility: hidden;
  }
  .odometer.odometer-auto-theme .odometer-digit .odometer-digit-inner, .odometer.odometer-theme-default .odometer-digit .odometer-digit-inner {
    text-align: left;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
  }
  .odometer.odometer-auto-theme .odometer-digit .odometer-ribbon, .odometer.odometer-theme-default .odometer-digit .odometer-ribbon {
    display: block;
  }
  .odometer.odometer-auto-theme .odometer-digit .odometer-ribbon-inner, .odometer.odometer-theme-default .odometer-digit .odometer-ribbon-inner {
    display: block;
    -webkit-backface-visibility: hidden;
  }
  .odometer.odometer-auto-theme .odometer-digit .odometer-value, .odometer.odometer-theme-default .odometer-digit .odometer-value {
    display: block;
    -webkit-transform: translateZ(0);
  }
  .odometer.odometer-auto-theme .odometer-digit .odometer-value.odometer-last-value, .odometer.odometer-theme-default .odometer-digit .odometer-value.odometer-last-value {
    position: absolute;
  }
  .odometer.odometer-auto-theme.odometer-animating-up .odometer-ribbon-inner, .odometer.odometer-theme-default.odometer-animating-up .odometer-ribbon-inner {
    -webkit-transition: -webkit-transform 2s;
    -moz-transition: -moz-transform 2s;
    -ms-transition: -ms-transform 2s;
    -o-transition: -o-transform 2s;
    transition: transform 2s;
  }
  .odometer.odometer-auto-theme.odometer-animating-up.odometer-animating .odometer-ribbon-inner, .odometer.odometer-theme-default.odometer-animating-up.odometer-animating .odometer-ribbon-inner {
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  .odometer.odometer-auto-theme.odometer-animating-down .odometer-ribbon-inner, .odometer.odometer-theme-default.odometer-animating-down .odometer-ribbon-inner {
    -webkit-transform: translateY(-100%);
    -moz-transform: translateY(-100%);
    -ms-transform: translateY(-100%);
    -o-transform: translateY(-100%);
    transform: translateY(-100%);
  }
  .odometer.odometer-auto-theme.odometer-animating-down.odometer-animating .odometer-ribbon-inner, .odometer.odometer-theme-default.odometer-animating-down.odometer-animating .odometer-ribbon-inner {
    -webkit-transition: -webkit-transform 2s;
    -moz-transition: -moz-transform 2s;
    -ms-transition: -ms-transform 2s;
    -o-transition: -o-transform 2s;
    transition: transform 2s;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0);
  }
  
  .odometer.odometer-auto-theme .odometer-value, .odometer.odometer-theme-default .odometer-value {
    text-align: center;
  }