@charset "utf-8";

/* ==================================================================

    top.css

=================================================================== */

/* SP用
----------- */
@media only screen and
(max-width : 767px) {

    ol#breadcrumbs,
    .contents main > section,
    .contents .chapter,
    .contents .wide .container,
    footer .container{
        padding-left: 5vw;
        padding-right: 5vw;
    }
}

.gray_bg{
    background-color: #F7F6F4;
}

/* ◇ box
-------------------------------- */
.contents main > section{
    padding: 80px 0;
}

.contents main > section + section{
    margin-top:0;
}

.contents main > section .more{
    margin-top: 40px;
    margin-bottom: 0;
}

.contents main > section .more a{
    width: 258px;
}

.contents main > section .orange.more a,
.contents main > section .nStyle.more a{
    width: 358px;
    max-width: 100%;
}

.contents main > section{
    position: relative;
    .scroll{
        position: absolute;
        z-index: 1;
        bottom: -43px;
        left: 10%;
        transition: .5s;

        @media (max-width : 1200px) {
            left: 2%;
        }

        @media (max-width : 767px) {
            height: 8vw;
            left: 5vw;
            bottom: -3vw;
        }

        a{
            display: flex;
            align-items: center;
            gap:2px;
            color: #0c1276;
            text-decoration: none;
            .en{
                font-size: 1.2rem;
            }
            > img{
                animation: scroll 1.5s infinite;
                @media (max-width : 767px) {
                    height: 80%;
                }
            }
        }
    }
}
@keyframes scroll {
    0% {
      transform: scale(1, 0);
      transform-origin: 0 0;
    }
    50% {
      transform: scale(1, 1);
      transform-origin: 0 0;
    }
    51% {
      transform: scale(1, 1);
      transform-origin: 0 100%;
      opacity: 0.5;
    }
    100% {
      transform: scale(1, 0);
      transform-origin: 0 100%;
      opacity: 0;
    }
  }

/* SP用
----------- */
@media only screen and
(max-width : 767px) {
    
    /* ◇ box
    -------------------------------- */
    .contents main > section{
        padding-top: 12vw;
        padding-bottom: 12vw;
    }


    .contents main > section .more a{
        width: 70%;
    }

}

/* --------------------------------
■accentBox
-------------------------------- */ 
.accentBox{
    position: relative;
    width: 100%;
    height: 700px;
    background: url("../../images/accent/visual.jpg?d=20240920") 50% 44% no-repeat;
    background-size: 1000px auto;
    filter: blur(10px);
    margin-top: 84px;
    margin-bottom: 0;
    
    animation: accentBoxAnime 1.6s forwards;
}
@-webkit-keyframes accentBoxAnime {
    0% { filter: blur(4px); transform:scale(1.1);}
    100% { filter: blur(0);  transform:scale(1);}
}

    .accentBox .container{
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        max-width:1200px;
        height: 100%;
        margin: 0 auto;
    }

    .accentBox .appeal{
        opacity: 0;
        position: absolute;
        top: 40px;
        right: 10%;
        transition: .3s cubic-bezier(0.37, 0, 0.63, 1), opacity linear .7s;
        transition-property: clip-path;
        transition-delay: 0.75s;
        clip-path: inset(100% 0 0 );
        max-width: 180px;
        width: 100%;
    }
    .accentBox .appeal img{
        width: 100%;
    }
    .accentBox .appeal.confirmed {
        opacity: 1;
        clip-path: inset(0);
    }

    .accentBox .buttonStyle{
        opacity: 0;
        position: absolute;
        bottom: 40px;
        left: 50%;
        transform: translateX(-50%);
        transition: .3s cubic-bezier(0.37, 0, 0.63, 1), opacity linear .7s;
        transition-property: clip-path;
        transition-delay: 0.75s;
        clip-path: inset(100% 0 0 );
        max-width: 600px;
        width: 100%;
    }
    .accentBox .buttonStyle a{
        width: 100%;
    }
    .accentBox .buttonStyle.confirmed {
        opacity: 1;
        clip-path: inset(0);
    }

    .accentBox .text{
        clip-path: inset(0 100% 0 0);
        transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1);
        transition-delay: 0.25s;
        transition-property: clip-path;
        text-align: right;
        margin-top: 60px;
        margin-left: auto;
        max-width: 50vw;
        text-align: right;
    }
    .accentBox .text.confirmed {
        clip-path: inset(0);
    }

    .accentBox .text > em,
    .accentBox .text > span{
        display: inline-block;
        color: #fff;
        font-size: 6.4rem;
        padding: 13px 17px;
        line-height: 1.1;
        opacity: 0;
        transform: translate(20%, 0);
        font-weight: 700;
        background: rgba(0,0,0,0.9);
        
        transition: 1.0s cubic-bezier(0.37, 0, 0.63, 1), opacity linear 0.7s;
        transition-property: clip-path;
        clip-path: inset(0 100% 0 0);
        transition-delay: 0.75s;
    }

    .accentBox .text.confirmed > em,
    .accentBox .text.confirmed > span{
        opacity: 1;
        transform: translate(0, 0);
        clip-path: inset(0);
    }

    .accentBox .text.confirmed > em img,
    .accentBox .text.confirmed > span img{
        max-width: 100%;
    }

    .accentBox .text + .text{
        margin-top: 10px;

        transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1);
        transition-property: clip-path;
    }
    .accentBox .text:first-child + .text{
        margin-top: 24px;
    }

    .accentBox .shop{
        width: 100%;
        position: absolute;
        bottom: 0px;
        left: 0%;
        padding: 8px 0;
        background: rgba(255,255,255,0.8);
    }

    .accentBox .shop .shopLead{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 32px;
        max-width: 90%;
        margin-inline:auto;
    }
    .accentBox .shop .shopLead dt{
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .accentBox .shop .shopLead dd ul{
        gap:12px;
    }
    .accentBox .shop .shopLead dd ul li img{
        width: 100%;
        height: auto;
        max-height: 100%;
    }



    
/* SP用
-------------------------------------------- */
@media only screen and
(max-width : 767px) {
    
.accentBox{
    overflow: visible;
    width: 100%;
    margin-top: 50px;
    height: 70vh;
    margin-bottom: 1rem;
    background: url("../../images/accent/visual_sp.jpg?d=20240920") 50% 50% no-repeat;
    background-size: 100% auto;
}

    .accentBox .container{
        max-width:95%;
    }
    
    .accentBox .appeal{
        bottom: 20px;
        right: 4vw;
        max-width: 26vw;
    }
    .accentBox .appeal img{
        width: 100%;
    }

    .accentBox .buttonStyle{
        bottom: 20px;
        max-width: 90%;
    }

    .accentBox .newopen {
        position: absolute;
        top: inherit;
        bottom: 31vw;
        left: inherit;
        right: 0;
    }
    .accentBox .newopen img{
        max-width: 60vw;
    }
    
    .accentBox .text{
        margin-top: 7vw;
        clip-path: inset(0 100% 0 0);
        transition: 1.0s cubic-bezier(0.37, 0, 0.63, 1);
        transition-delay: 0.75s;
        transition-property: clip-path;
        max-width: 60vw;
    }
    .accentBox .text.confirmed {
        clip-path: inset(0);
    }

    .accentBox .text > em, .accentBox .text > span {
        font-size: 2.4rem;
        padding: 13px 17px;
    }

    .accentBox .shop{
        width: 100%;
        position: absolute;
        bottom: 0px;
        left: 0%;
        padding: 8px 0;
    }

    .accentBox .shop .shopLead{
        gap: 10px;
        max-width:95%;
    }
    .accentBox .shop .shopLead dd img{
        display: block;
    }
    
    
}


/* --------------------------------
■appeal
-------------------------------- */ 
/*
.appeal{
    text-align: center;
    margin-bottom: 48px;
}

* +.appeal{
    margin-top: 64px;
}

.appeal img{
    min-width: 60%;
    max-width: 80%;
}
    */
/* SP用
-------------------------------------------- */
/*
@media only screen and
(max-width : 767px) {
    .appeal{
        margin-bottom: 5vw;
    }

    * +.appeal{
        margin-top:8vw;
    }
    
    .appeal img{
    }
    
}
    */

/* --------------------------------
.menu
-------------------------------- */ 
main .menu{

    padding: 40px 0;

    @media (max-width : 767px) {
        padding: 24px 4vw;
    }

    > ul.navigation{
        width: fit-content;
        margin-inline:auto;
        display:grid;
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
        justify-content: center;

        @media (max-width : 767px) {
            grid-template-columns: 1fr 1fr 1fr;
        }

        > li{
            width: 130px;
            height: 130px;
            max-width: calc(100vw / 6);

            border: 1px solid transparent;
            border-image-source: linear-gradient(135deg,rgb(155, 77, 253) 0%,rgb(63, 64, 207) 50%,rgb(61, 64, 87) 100%);
            /* ボーダー領域の画像の分割数(グラデーションとボーダーを合わせる)  */
            border-image-slice: 1;
            border-left: 0;

            @media (max-width : 767px) {
                max-width: calc(92vw / 3);
            }

            &:first-child{
                border-left: 1px solid #3E407D;
            }

            &:nth-child(4){
                @media (max-width : 767px) {
                    border-left: 1px solid #3E407D;
                }
            }

            &:nth-child(-n+3) {
                @media (max-width : 767px) {
                    border-bottom: 0;
                }
            }
              

            > a{
                position: relative;
                display: block;
                width: 100%;
                height: 100%;
                color: #0C1276;
                font-size: 1.3rem;
                text-decoration: none;
                transition: .5s;
                background-origin: 1px solid #3E407D;

                &:after {
                    content: "";
                    display: block;
                    width: 8px;
                    height: 8px;
                    margin: auto;
                    border-right: 1px solid #0C1276;
                    border-bottom: 1px solid #0C1276;
                    position: absolute;
                    right: 0;
                    bottom: 10px;
                    left: 0;
                    transform: rotate(45deg);
                    transition: .5s;
                }

                &:hover:after {
                    bottom: 5px;
                }

                > figure{
                    height: 100%;
                    > p.image{ 
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        height: 61%;
                        margin-bottom: 2px;

                        > img{
                            max-width: 80%;
                            max-height: 56%;
                        }
                    }
                    
                }
            }
        }
    }
}

/* --------------------------------
leadBox
-------------------------------- */ 
.leadBox.flexbox{
    width: calc(100% + (50vw - 50%));
    flex-wrap: nowrap;

    .explain{
        width: 50%;
        padding-right: 50px;

        @media (max-width : 767px) {
            width: revert;
            padding-right: 5vw;
        }
    }

    .image{
        max-width: 50%;
        width: 85%;

        @media (max-width : 767px) {
            box-sizing: border-box;
            max-width: 100%;
            width: auto;
            padding-left: 10%;
        }

        img{
            width: 100%;
            height: auto;
            border-radius: 40px 0 0 40px;
        }
    }

    &.sp_reverse{
        .image{
            padding-right: 5vw;
            @media (max-width : 767px) {
                margin-bottom: 5vw;
            }
        }
    }
    
}

/* --------------------------------
#concept
-------------------------------- */ 
#concept{

    .point{
        flex-wrap: nowrap;
        gap: 0 7.5%;

        &.leadBox{
            gap: 0;

        }

        .explain{

            .title{
                font-size: 2.0rem;
                > .en{
                    font-size: 1.8rem;
                    line-height: 1;
                    display: block;
                    color: #110184;
                    margin-bottom: .8em;
                }
            }
        }

        &.normal > .image{
            max-width: 400px;

            &.round{
                overflow: hidden;
                img{
                    border-radius: 40px;
                }
                
            }
            
            small{
                display:block;
                font-size:1.2rem;
                color:#4E4E4E;
                text-align:right;
            }

            img{
                width: 100%;
            }
        }

        .image{
            position: relative;
        }
        &.point1{
            .image{
                @media (max-width : 767px) {
                    right: -14vw;
                }
                small{
                    @media (max-width : 767px) {
                        margin-right:14vw;
                    }
                }
            }
        }
        &.point3{
            .image{
                @media (max-width : 767px) {
                    left: -14vw;
                }
                small{
                    @media (max-width : 767px) {
                        text-align:left;
                        margin-left:14vw;
                    }
                }
            }
        }
    

        & + .point{
            margin-top: 50px;
        }
    }

}

/* --------------------------------
#reason
-------------------------------- */ 
#reason{
    .reasonList{
        gap: 40px 100px;

        @media (max-width : 767px) {
            gap: 4.44vw 4.6vw;
        }

        > li{
            > a{
                display: block;
                position: relative;
                font-size: 1.8rem;
                color: #4E4E4E;
                padding-bottom: 12px;
                transition: .5s;
                text-decoration: none;

                .number{
                    display: inline-block;
                    margin-right: 8px;
                    font-size: 2.4rem;
                    color: #110284;
                }

                &::after{
                    content: "";
                    position: absolute;
                    bottom: 0;
                    left: 0;
                    width: 100%;
                    height: 30px;
                    border-bottom: 1px solid #110284;
                    border-right: 1px solid #110284;
                     /*傾きを調節*/
                    transform: skew(45deg);
                    margin: -10px 0 0 -25px;
                }

                &:hover:not(.nolink){
                    transform: translateX(10px);
                }

                &.nolink{
                    pointer-events: none;
                    cursor: default;
                }
            }
        }
        /*
        figure{
            .image{
                img{
                    width: 100%;
                }
            }
            figcaption{
                text-align: center;
                font-weight: 700;
                color: #4E4E4E;
            }

        }
        */

    }

}


/* --------------------------------
#price
-------------------------------- */ 
#price{

    .leadtext{
        margin-bottom: 54px;
    }
    dl.price{
        position: relative;
        border-radius: 11px;
        border: 2px solid #7B7777;

        > dt{
            font-size: 1.8rem;
            font-weight: 700;
            color:#fff;
            background: #7B7777;
            padding: 8px 0 6px 0;
            text-align: center;
            border-radius: 7px 7px 0 0;

            > span{
                font-size: 114%;
            }
        }

        > dd{
            padding: 12px 2px;
            color: #383838;
            text-align: center;
            p.price{
                margin: 0;
                text-align: center;
                .label{
                    font-weight: 700;
                }
                .value{
                    font-size: 4rem;
                    line-height: 1.1;

                    .unit{
                        font-size: 3rem;
                    }
                }
                .tax{
                    font-size: 1.2rem;
                }
            }

            p.onePrice{
                font-size: 1.3rem;
                text-align: center;
                margin: 0;
                color: #222;
                .value{
                    font-weight: 700;
                    font-size: 1.4rem;
                    color: #DD5434;
                    .unit{
                        font-weight: 400;
                        font-size: 1.3rem;
                        color: #222;
                    }
                }
                .tax{
                    font-size: 1.2rem;
                }
            }
        }

        &.month4{
            >dt{

            }
            > dd{
                .label,
                .value{

                }
            }
        }

        &.gradation{
            border: 2px solid transparent;

            &::before{
                content: "";
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                border-radius: 11px;
                border: 2px solid transparent;
                background: linear-gradient(135deg,rgb(238, 52, 247) 0%,rgb(143, 51, 248) 70%,rgb(61, 64, 203) 100%) border-box border-box;
                -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
                -webkit-mask-composite: destination-out;
                mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
                mask-composite: exclude;
              }
              >dt{
                border-radius: 11px 11px 0 0;
              }
        }

        &.application{
            border-color: #DD5434;
            >dt{
                background-color: #DD5434;
            }
            >dd{
                .limited{
                    font-size: 2.0rem;
                    text-align: center;
                    margin: 0;
                }
                .value{
                    color: #DD5434;
                }

                .label{
                    position: relative;
                    font-size: 2.0rem;
                    font-weight: 700;
                    padding-right: 40px;
                    vertical-align: 0.2em;

                    &:after {
                        content: "";
                        display: block;
                        width: 12px;
                        height: 12px;
                        margin: auto;
                        border-right: 1px solid #403f40;
                        border-bottom: 1px solid #403f40;
                        position: absolute;
                        right: 18px;
                        bottom: 24%;
                        transform: rotate(-45deg);
                        transition: .5s;
                    }
                }
            }

        }

        &.poplar{
            position: relative;

            &::after{
                position: absolute;
                top: -8px;
                left: -16px;
                content: "";
                width: 72px;
                height: 72px;
                background: url("../../images/top/no1.svg") 0 0 no-repeat;
                background-size:100% auto;
                        
                @media (max-width : 767px) {
                    width: 64px;
                    height: 64px;
                }
            }
        }

        
        &.costperformance{
            position: relative;

            &::after{
                position: absolute;
                top: -8px;
                left: -16px;
                content: "";
                width: 72px;
                height: 72px;
                background: url("../../images/top/cospa.svg") 0 0 no-repeat;
                background-size:100% auto;

                        
                @media (max-width : 767px) {
                    width: 64px;
                    height: 64px;
                }
            }
        }
    }

    .priceBox + dl.price.application{
        margin-top: 30px;
        width: 800px;
        max-width: 100%;
        margin-inline: auto;
    }

    .note{
        margin-top: 12px;
        display: flex;
        width: fit-content;
        margin-inline: auto;

        @media (max-width : 767px) {
            font-size: 1.2rem;
        }

    }
    .arrow{
        margin-top: 34px;
        margin-bottom: 34px;
        text-align: center;
    }

    
}
/* --------------------------------
#case
-------------------------------- */ 
#case{
    .container{
        align-items: stretch;
        justify-content: space-between;
        gap:40px 0;

        > *{
            width: calc(50% - 25px);
        }
    }

    .caseBox{
        position: relative;
        border: 2px solid transparent;
        border-radius: 30px;

        &::before{
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            border-radius: 30px;
            border: 2px solid transparent;
            background: linear-gradient(135deg,rgb(145, 52, 255) 0%,rgb(63, 64, 207) 70%,rgb(61, 64, 87) 100%) border-box border-box;
            -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            -webkit-mask-composite: destination-out;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask-composite: exclude;
            pointer-events: none;
        }

        &:nth-child(even){
            @media (max-width : 767px) {
                left: -8vw;
                border-radius: 0 30px 30px 0;

                &::before{
                    border-radius: 0 30px 30px 0;
                }
            }
        }
        &:nth-child(odd){
            @media (max-width : 767px) {
                right: -8vw;
                border-radius: 30px 0  0  30px;

                &::before{
                    border-radius: 30px 0  0  30px;
                }
            }
            .caseItem{
                flex-direction: row-reverse;
                padding: 26px 0 26px 26px;

                > .image{
                    >img{
                        border-radius: 20px 0 0  20px;
                    }
                }
            }
        }

        &.poplar{
            position: relative;

            &::after{
                position: absolute;
                top: -27px;
                right: -16px;
                content: "";
                width: 72px;
                height: 72px;
                background: url("../../images/top/poplar.svg") 0 0 no-repeat;
                background-size:100% auto;

                        
                @media (max-width : 767px) {
                    top: -12px;
                    right: -12px;
                    width: 52px;
                    height: 52px;
                }
            }
        }

        .title{
            color: #110184;
            font-size: 2.0rem;
            padding: 10px 40px;
            border-bottom: 2px solid #0E213E;
            border-image: linear-gradient(135deg,rgb(145, 52, 255) 0%,rgb(63, 64, 207) 70%,rgb(61, 64, 87) 100%) 1;

            @media (max-width : 767px) {
                padding: 10px 26px 10px 32px;
            }

            >.en{
                display: block;
                font-size: 1.6rem;
            }
        }

        .caseItem{
            display: flex;
            justify-content:space-between;
            gap:0 25px;
            margin-top: 0;
            padding: 26px 45px 26px 0;

            @media (max-width : 767px) {
                padding: 26px 26px 26px 0;
            }

            > .image{
                flex-shrink: 0;
                width: 36%;
                margin: 0;

                @media (max-width : 767px) {
                    width: 45%;
                }

                >img{
                    width: 100%;
                    border-radius: 0 20px 20px 0;
                }
            }
            .explain{

                .link{
                    margin: 0;
                    text-align: right;
                    a{
                        color: #110184;
                        text-decoration: underline;
                        font-size: 1.5rem;

                        &:hover{
                            opacity: 0.8;
                        }
                    }
                }
            }
        }
    }

}

/* --------------------------------
#voice
-------------------------------- */ 
#voice{

    .title.n_lv1{

        & + .remarks{
            margin-top:6px ;
            margin-bottom: 24px;
            font-size: 1.2rem;
        }
    }


    .voiceWrap{
        align-items: stretch;
        justify-content: space-between;
        gap:40px 0;

        > *{
            width: calc(33% - 10px);

            &.wide{
                width: 100%;
            }
        }

        .voiceBox{
            position: relative;
            border-radius: 20px;
            background: #F0F0F0;
            padding: 20px 30px 20px;
            box-sizing: border-box;

            &:nth-child(even){
                @media (max-width : 767px) {
                    left: -8vw;
                    border-radius: 0 20px 20px 0;
                }
            }
            &:nth-child(odd){
                @media (max-width : 767px) {
                    right: -8vw;
                    border-radius: 20px 0  0  20px;
                }
            }

            .number{
                font-size: 2.0rem;
                color: #0E213E;
                margin-bottom: 14px;
                line-height: 1.1;
            }

            dl.purpose{
                display: flex;
                width: fit-content;
                margin-bottom: 16px;
                border-radius: 40px;
                border: 1px solid #707070;
                font-size: 1.2rem;
                line-height: 1.1;
                background: #fff;

                >dt{
                    position: relative;
                    padding: 6px 9px;
                    flex-shrink: 0;

                    &::before{
                        content: "";
                        position: absolute;
                        top: 6px;
                        right: 0;
                        background: #707070;
                        width: 1px;
                        height: calc(100% - 12px);
                    }
                }
                >dd{  
                    padding: 6px 9px; 
                }
            }

            .title{
                font-size: 1.9rem;
                line-height: 1.75;
                color: #0E213E;
                margin-bottom: 9px;
            }

            .spec{
                font-size: 1.2rem;
                line-height: 1.1;
            }

            .image{
                margin-top: 15px;
                margin-bottom: 0;
            }

            .more{
                margin-top: 24px;
                a{
                    width: 294px;
                    padding: 9px;
                    font-size: 1.5rem;
                }
            }

            &.wide{
                display: flex;
                flex-direction: row-reverse;
                justify-content: space-between;

                &._movie{
                    @media (max-width : 767px) {
                        padding-top: 45px;
                        margin-top: calc(100vw * .5625) !important;
                    }
                }

                @media (max-width : 767px) {
                    flex-direction: column;
                }

                .content{
                    width: calc(33% - 20px);
                    @media (max-width : 767px) {
                        width: revert;
                    }
                }
                .movie{
                    position: relative;
                    @media (max-width : 767px) {
                        top: calc(-100vw * .5625);
                        left: calc( (30px + 8vw) * -1);
                    }
                    iframe{
                        @media (max-width : 767px) {
                            width: calc(100% + 16vw);
                            height: auto;
                            position: absolute;
                            z-index: 1;
                        }
                        aspect-ratio: 16 / 9;
                    }
                }
            }
        }
        
    }
}

/* --------------------------------
#flow
-------------------------------- */ 

/* --------------------------------
#case
-------------------------------- */ 
#flow{
    .flowList{
        align-items: stretch;
        justify-content: space-between;
        gap:40px 0;

        > *{
            width: calc(50% - 25px);
        }
    }

    .flowBox{
        position: relative;
        border: 2px solid transparent;
        border-radius: 30px;
        display: flex;
        flex-direction: column;
        overflow: hidden;

        &::before{
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            border-radius: 30px;
            border: 2px solid transparent;
            background: linear-gradient(135deg,rgb(145, 52, 255) 0%,rgb(63, 64, 207) 70%,rgb(61, 64, 87) 100%) border-box border-box;
            -webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            -webkit-mask-composite: destination-out;
            mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
            mask-composite: exclude;
            pointer-events: none;
        }

        &:nth-child(odd){
            @media (max-width : 767px) {
                left: -8vw;
                border-radius: 0 30px 30px 0;

                &::before{
                    border-radius: 0 30px 30px 0;
                }
            }
        }
        &:nth-child(even){
            @media (max-width : 767px) {
                right: -8vw;
                border-radius: 30px 0  0  30px;

                &::before{
                    border-radius: 30px 0  0  30px;
                }
            }
            .flowItem{
                flex-direction: row-reverse;
                padding: 0 0 0 26px;

                > .image{
                    >img{
                    }
                }
            }
        }

        .title{
            color: #110184;
            font-size: 2.0rem;
            padding: 10px 40px;
            border-bottom: 2px solid #0E213E;
            border-image: linear-gradient(135deg,rgb(145, 52, 255) 0%,rgb(63, 64, 207) 70%,rgb(61, 64, 87) 100%) 1;

            @media (max-width : 767px) {
                padding: 10px 26px 10px 32px;
            }

            >.number{
                padding-right: 0.4em;
            }
        }

        .flowItem{
            display: flex;
            justify-content:space-between;
            gap:0 25px;
            margin-top: 0;
            flex-grow: 1;

            padding: 0 45px 0 0;
            box-sizing: border-box;

            @media (max-width : 767px) {
                padding: 0 26px 0 0;
            }

            > .image{
                display: flex;
                align-items: center;
                justify-content: center;
                flex-shrink: 0;
                width: 40%;
                margin: 0;

                @media (max-width : 767px) {
                    width: 55%;
                }

                >img{
                    width: auto;
                    height: 100%;
                    aspect-ratio: 1 / 1;
                    object-fit: cover;
                }
            }
            .explain{
                padding: 26px 0;

                .text{
                    margin-bottom: 0;
                    @media (max-width : 767px) {
                        font-size: 1.4rem;
                    }
                }

                .link{
                    margin: 0;
                    text-align: right;
                    a{
                        color: #110184;
                        text-decoration: underline;
                        font-size: 1.5rem;

                        &:hover{
                            opacity: 0.8;
                        }
                    }
                }
            }
        }
    }

}



#flow{

    ul.flowList{
        margin-left: auto;
        margin-right: auto;
        max-width: 1000px;
    }

    ul.flowList li{
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background: #fff;
        border:1px solid #ccc;
        border-radius: 14px;
    }

    ul.flowList li .beforehand{
        position: absolute;
        top: -50px;
        left: 0;
        font-size: 1.9rem;
        text-align: center;
        width: 100%;
        margin: 0;
    }

    ul.flowList li.even{
        flex-direction: row-reverse;
    }

    ul.flowList li::before{
        content: "";
        position: absolute;
        left: 50%;
        bottom: -38px;
        display: inline-block;
        vertical-align: middle;
        color: #333;
        line-height: 1;
        width: 1em;
        height: 1em;
        border: 3px solid currentColor;
        border-left: 0;
        border-bottom: 0;
        box-sizing: border-box;
        transform: translateY(-25%) rotate(135deg);
    }
    ul.flowList li:last-child::before{
        display: none;
    }
    ul.flowList li + li{
        margin-top: 64px;
    }

    ul.flowList li + li.onSite{
        margin-top: 99px;
    }
    ul.flowList li p.image{
        flex-shrink: 0;
        width: 250px;
        height: 100%;
        min-height: 200px;
        margin: 0;
    }
    ul.flowList li p.image img{
        object-fit: cover;
        width: 100%;
        height: 200px;
        border-radius: 0 14px 14px 0;
    }
    ul.flowList li.odd  p.image img{
        border-radius: 14px 0 0 14px;
    }

    ul.flowList li .box.pc_vCenter{
        display: flex;
        align-items: center;
    }

    ul.flowList li .box{
        flex-grow: 1;
        padding: 12px 32px;

        > p{
            margin: 0;
        }
    }
    ul.flowList li .box .no{
        position: absolute;
        top: 0;
        left: 0;
        background: #BFB690;
        color: #fff;
        font-size: 3.4rem;
        padding: 6px 24px;
    }

    ul.flowList li .box .title + .time{
        margin-top: 12px;
        margin-bottom: 22px;
        font-size: 1.8rem;
        font-weight: 700;
        line-height: 1.3;
        color: #0B1E3B;
        background: url("../../images/freetrial/time.svg") 0 0 no-repeat;
        background-size: auto 100%;
        padding-left: 30px;
    }

   
    /* SP用
    ----------- */
    @media only screen and
    (max-width : 767px) {

        ul.flowList{
            width: 90%;
        }
        
        ul.flowList li{
            display: block;
        }

        ul.flowList li.startArea{
            margin-top: calc(64px + 5em);
        }

        ul.flowList li .beforehand{
            top: -70px;
            left: 0;
            font-size: 1.9rem;
            line-height: 1.4;
        }
    

        ul.flowList li.startArea .start{
            top: -4.0em;
            font-size: 2.0rem;
            line-height: 1.2;
        }

        ul.flowList li::before{
            content: "";
            position: absolute;
            left: 50%;
            bottom: -38px;
            display: inline-block;
            vertical-align: middle;
            color: #333;
            line-height: 1;
            width: 1em;
            height: 1em;
            border: 3px solid currentColor;
            border-left: 0;
            border-bottom: 0;
            box-sizing: border-box;
            transform: translateY(-25%) rotate(135deg);
        }
        ul.flowList li:last-child::before{
            display: none;
        }
        ul.flowList li + li{
            margin-top: 55px;
        }

        ul.flowList li + li.onSite{
            margin-top: 116px;
        }

        ul.flowList li p.image{
            flex-shrink: 0;
            width: auto;
            height: auto;
            min-height: inherit;
            margin: 0;
        }
        ul.flowList li p.image img{
            object-fit: revert;
            width: 100%;
            height: auto;
            border-radius: 14px 14px 0 0!important;
        }


        ul.flowList li .box.pc_vCenter{
            display: block;
            align-items: center;
            padding-top: 24px;
            padding-bottom: 24px;
        }

        ul.flowList li .box{
            flex-grow: 1;
            padding: 12px;
        }
        #flow ul.flowList li .box .no{
            font-size: 2.4rem;
        }

        ul.flowList li .box .title + .time{
            margin-top: 14px;
            margin-bottom: 12px;
        }
    
    }

}

/* --------------------------------
#faq
-------------------------------- */ 

#faq{
    .qaList{

        > dt{
            position: relative;
            line-height: 1.2;
            padding: 30px 50px 30px 50px;
            cursor: pointer;
            border-top: 1px solid #919191;

            @media (max-width : 767px) {
                padding: 30px 50px 30px 34px;
            }

            &:first-child{
                border-top: 0;
            }
        }

        .qa_t {
            position: absolute;
            top: 24px;
            left: 22px;
            font-size: 2.0rem;
            font-weight: 700;
            color: #0B1E3B;
            @media (max-width : 767px) {
                left: 5px;
            }
        }
        .qa_t.-q {
            margin-right: 7px;
        }
        .qa_t.-a {
            display: none;
        }
        
        > dd {
            display: none;
            margin: 0;
            position: relative;
            padding: 0 20px 22px 0px;

            p{
                padding-left: 24px;
                margin: 0;
            }
        }

        .toggle {
            display: inline-block;
            width: 20px;
            height: 20px;
            position: absolute;
            right: 20px;
            top: 30px;

            @media (max-width : 767px) {
                width: 14px;
                height: 14px;
            }
        }
        .toggle::before, .toggle::after {
            content: "";
            width: 100%;
            height: 2px;
            background: #333;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
            transition: .2s;
        }
        .toggle::before {
            transform: translate(-50%, -50%) rotate(90deg);
            -webkit-transform: translate(-50%, -50%) rotate(90deg);
            -ms-transform: translate(-50%, -50%) rotate(90deg);
        }
        > dt.open .toggle::before {
            transform: translate(-50%, -50%) rotate(0deg);
            -webkit-transform: translate(-50%, -50%) rotate(0deg);
            -ms-transform: translate(-50%, -50%) rotate(0deg);
        }
    }
}
/* --------------------------------
#message
-------------------------------- */ 

#message{
    .container{
        position: relative;

        > .title{
            position: absolute;
            top: 0;
            left: 0;

            @media (max-width : 767px) {
                position: static;
            }
        }
    }
    .messageWrap{
        gap:40px;
        align-items: stretch;

        @media (max-width : 767px) {
            margin-top: 40px;
        }

        .explain{
            padding-top: 120px;

            @media (max-width : 767px) {
                padding-top: 20px;
            }
        }
        >figure{
            position: relative;
            flex-shrink: 0;
            width: 404px;

            @media (max-width : 767px) {
                width: 78vw!important;
                margin-left: -7vw;
            }

            p.image{
                position: relative;
                margin: 0;
                &::before{
                    position: absolute;
                    top: -15px;
                    right: -50px;
                    content: "";
                    background: url("../../images/top/logo.svg") 0 0 no-repeat;
                    background-size: 100% auto;
                    width: 200px;
                    height: 40px;
                    @media (max-width : 767px) {
                        width: 43.72vw;
                        height: 40px;
                        right: -17vw;
                    }
                }
            }

            figcaption{
                position: absolute;
                right: 0;
                bottom: 0;
                background: #fff;
                border-radius: 20px 0 0 0;
                padding: 17px 20px;

                @media (max-width : 767px) {
                    right: -17vw;
                }
                .class{
                    display: block;
                    font-size: 1.3rem;
                }
                .name{
                    display: inline-block;
                    font-size: 1.8rem;
                }
                .en{
                    display: inline-block;
                    margin-left: 10px;
                    font-size: 1.1rem;;
                }

                /*
                &::before{
                    position: absolute;
                    top: 45px;
                    left: -72px;
                    content: "";
                    background: url(../../images/top/logo.svg) 0 0 no-repeat;
                    background-size: 100% auto;
                    width: 83px;
                    height: 20px;
                }
                */
            }
        }
    }

}

/* --------------------------------
#location
-------------------------------- */ 
#location{

    .leadBox{
        .explain{
            @media (max-width : 767px) {
                margin-bottom: 40px;
            }
        }
        .image{
            padding: 0 5vw 0 0;
        }
    }

    .pref{
        margin-top: 50px;
        .title{
            font-size: 2.0rem;
            padding-left: 11px;
            padding-bottom: 13px;
            border-bottom: 1px solid #919191;
        }

        & + .pref{
            margin-top: 60px;
        }
    }

    .locationList
    {
        max-width: 1000px;
        margin-inline: auto;

        > dt{
            position: relative;
            line-height: 1.2;
            padding: 30px 50px 30px 0;
            cursor: pointer;

            &:first-child{
                border-top: 0;
            }
        }
        
        > dd {
            display: none;
            margin: 0;
            position: relative;
            padding: 0 20px 22px 0px;

            p{
                margin: 0;

                & +p{
                   margin-top: 8px; 
                }

                &.access{
                    display: flex;
                }
            }

            .flexbox{
                gap: 40px;
            }

            .phone {
                color: #333;
            }

            .map {
                width: 40%;
                iframe{
                    max-width: 100%;
                    height: 250px;
                }
            }
        }

        .toggle {
            display: inline-block;
            width: 20px;
            height: 20px;
            position: absolute;
            right: 20px;
            top: 30px;
            @media (max-width : 767px) {
                width: 14px;
                height: 14px;
            }
        }
        .toggle::before, .toggle::after {
            content: "";
            width: 100%;
            height: 2px;
            background: #333;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
            transition: .2s;
        }
        .toggle::before {
            transform: translate(-50%, -50%) rotate(90deg);
            -webkit-transform: translate(-50%, -50%) rotate(90deg);
            -ms-transform: translate(-50%, -50%) rotate(90deg);
        }
        > dt.open .toggle::before {
            transform: translate(-50%, -50%) rotate(0deg);
            -webkit-transform: translate(-50%, -50%) rotate(0deg);
            -ms-transform: translate(-50%, -50%) rotate(0deg);
        }
    }

}


/* --------------------------------
■novas-training
-------------------------------- */ 

#novas-training{
    margin-bottom: 48px;
    padding: 0 40px;
    overflow: hidden;
    
}
#novas-training a{
    overflow: hidden;
    position: relative;
    display: block;
    margin: 0 auto;
    padding: 80px 10px;
    max-width: 1500px;
    text-align: center;
    text-decoration: none;
    color: #fff;
    transition: .3s;
}
#novas-training a:hover{
}

#novas-training a::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("../../images/index/training.jpg") 50% 50% no-repeat;
    background-size: cover;
    transition: .5s;
}
#novas-training a:hover::before{
    transform: scale(1.1);
}
#novas-training a::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.3);
    transition: .6s;
}
#novas-training a:hover::after{
    background: rgba(0,0,0,0.8);
}

#novas-training a > *{
    position: relative;
    z-index: 1;
    text-align: center;
}


#novas-training h2{
    position: relative;
    font-size: 4.4rem;
    transition: .3s;
    letter-spacing: 0.1em;
}
    #novas-training h2 span{
        position: absolute;
        top: 0;
        left: 0%;
        width: 100%;
        opacity: 1;
        transition: 0.6s;
    }
	#novas-training a:hover h2{
        letter-spacing: 1;
    }
	#novas-training a:hover h2 span.jp{
        color: #D69B03;
    }
/*
    #novas-training h2 span.en{
        opacity: 1;
    }
    #novas-training a:hover h2 span.jp{
        opacity: 1;
    }
    #novas-training a:hover h2 span.en{
        opacity: 0;
    }
*/

#novas-training p.text{
    margin-top: 7rem;
}


#novas-training .fukidashi{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 4px 16px;
    min-width: 400px;
    margin-bottom: 8px;
}

    #novas-training .fukidashi::before,
    #novas-training .fukidashi::after {
        content: "";
        width: 30px;
        height: 2px;
        box-sizing: border-box;
        background-color: #fff;

    }
    #novas-training .fukidashi::before {
      transform: rotate(60deg);
    }
    #novas-training .fukidashi::after {
      transform: rotate(-60deg);
    }


#novas-training .buttonStyle{
    margin: 0;
}
#novas-training .buttonStyle > span{
    min-width: 400px;
    border: 1px solid #000;
}
#novas-training a:hover .buttonStyle > span{
    background: transparent;
    border: 1px solid #fff;
}
    
/* タブレット用
-------------------------------------------- */
@media (max-width: 1180px) and 
(min-width: 768px) {
    
    
}

/* SP用
----------- */
@media only screen and
(max-width : 767px) {

#novas-training{
    margin-bottom: 6vw;
    padding: 0 20px;
    overflow: hidden;
    
}
#novas-training a{
    padding: 40px 10px;
}
#novas-training a:hover{
}

#novas-training a:hover::after{
    background: rgba(0,0,0,10);
}

#novas-training a > *{
    position: relative;
    z-index: 1;
    text-align: center;
}


#novas-training h2{
    position: relative;
    font-size: 2.4rem;
    letter-spacing: 0;
}
    #novas-training h2 span{
        position: absolute;
        top: 0;
        left: 0%;
        width: 100%;
        opacity: 1;
        transition: 0.6s;
    }
	#novas-training a:hover h2{
        letter-spacing: 0;
    }
	
	/*
    #novas-training h2 span.en{
        opacity: 1;
    }
    #novas-training a:hover h2{
        letter-spacing: 0;
    }
    #novas-training a:hover h2 span.jp{
        opacity: 1;
    }
    #novas-training a:hover h2 span.en{
        opacity: 0;
    }
	*/

#novas-training p.text{
    margin-top: 7rem;
}
    
#novas-training .fukidashi{
    font-size: 1.5rem;
    width: 96%;
    min-width: inherit;
    line-height: 1.3;
}

    #novas-training .fukidashi .fukidashi::before,
    #novas-training .fukidashi .fukidashi::after {
        width: 24px;
        height: 2px;
    }

#novas-training .buttonStyle{
    margin: 0;
    line-height: 1.3;
}
#novas-training .buttonStyle > span{
    min-width: inherit;
    border: 1px solid #000;
    width: 96%;
    font-size: 1.5rem;
}
    
}

/* --------------------------------
■quickMenu
-------------------------------- */ 

#quickMenu .linkbox{
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    max-width: 1500px;
    max-height: 400px;
    margin: 0 auto;
    overflow: hidden;
}

#quickMenu .linkbox .fukidashi{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 4px 16px;
    width: 350px;
    margin-bottom: 8px;
}

    #quickMenu .linkbox .fukidashi::before,
    #quickMenu .linkbox .fukidashi::after {
        content: "";
        width: 30px;
        height: 2px;
        box-sizing: border-box;
        background-color: #333333;

    }
    #quickMenu .linkbox .fukidashi::before {
      transform: rotate(60deg);
    }
    #quickMenu .linkbox .fukidashi::after {
      transform: rotate(-60deg);
    }

#quickMenu .linkbox > .text{
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding:  32px;
}
#quickMenu .linkbox > .text .buttonStyle{
    text-align: left;
}
#quickMenu .linkbox > .text .buttonStyle a{
    width: 350px;
    text-align: center;
    font-weight: 600;
}
#quickMenu .linkbox > .image{
    margin: 0;
    width: 50%;
}
#quickMenu .linkbox > .image img{
    width: 100%;
    object-fit: cover;
}


#quickMenu .linkbox.trainer,
#quickMenu .linkbox.before,
#quickMenu .linkbox.diet{
    background-color:#C1BCB9;
}
#quickMenu .linkbox.service{
    background-color:#BFB690;
}


#quickMenu .linkbox._reverse{
    flex-direction:row-reverse;
}


/* SP用
----------- */
@media only screen and
(max-width : 767px) {
    
#quickMenu .linkbox{
    flex-direction: column-reverse;
    max-height: 400px;
}
#quickMenu .linkbox > .text{
    flex-direction: column;
    justify-content: center;
    padding:  26px;
}
    
#quickMenu .linkbox .fukidashi{
    padding: 4px 16px;
    width: 100%;
    margin: 16px auto 2px auto;
    font-size: 1.5rem;
}

    #quickMenu .linkbox .fukidashi::before,
    #quickMenu .linkbox .fukidashi::after {
        content: "";
        width: 24px;
        height: 2px;
    }

    
#quickMenu .linkbox > .text .buttonStyle{
    text-align: center;
}
#quickMenu .linkbox > .text .buttonStyle a{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
    line-height: 1.3;
    font-size: 1.6rem;
    min-height: 5.5rem;
}
#quickMenu .linkbox > .text .buttonStyle a > span{
    width: 100%;
}
#quickMenu .linkbox > .image{
    margin: 0;
    width: 100%;
}
#quickMenu .linkbox > .image img{
    width: 100%;
    height: 180px;
    object-fit: cover;
}

#quickMenu .title._lv3{
    text-align: center;
}

#quickMenu .linkbox._reverse{
    flex-direction: column-reverse;
}
}

/* --------------------------------
■ul.itemList
-------------------------------- */ 

ul.itemList{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap:24px 32px;
}

ul.itemList > li{
    width: calc((100% / 3) - 32px);
}
    ul.itemList > li a{
        display: block;
        height: 100%;
        text-decoration: none;
        color: #333;
        padding: 0 10px 10px 10px;
        transition: .3s;
    }
    ul.itemList > li a:hover{
        background: #eee;
    }
    ul.itemList > li a figure .image{
        margin-left: -10px;
        margin-right: -10px;
        overflow: hidden;
        aspect-ratio: 381 / 254;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #ccc;
    }
    ul.itemList > li a figure .image img{
        width: 100%;
        transition: .3s;
        object-fit: cover;
    }
    ul.itemList > li a:hover figure .image img{
        transform:scale(1.1);
    }

    ul.itemList > li a figure figcaption{
        display: flex;
        flex-direction: column;
    }
    ul.itemList > li a figure figcaption p{
        margin: 0;
    }
    ul.itemList > li a figure figcaption p.date{
        font-size: 1.4rem;
        color: #777;
    }
    ul.itemList > li a figure figcaption p.title{
        flex-grow: 1;
    }

    ul.itemList > li .tagsList > li {

        padding: 4px 11px;
        border-radius: 80px;
        line-height: 1.1;
        color: #4E4E4E;
        background: #fff;
        border:1px solid #4E4E4E;
    }
ul.itemList + .more{
    margin-top: 48px;
}


/* SP用
----------- */
@media only screen and
(max-width : 767px) {
 
ul.itemList{
    display: block;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 20px 2%;
}

ul.itemList > li{
    width: auto;
    border-bottom: 1px solid #eee;
}

    ul.itemList > li + li{
        margin-top: 4vw;
    }
    
    ul.itemList > li a{
        padding: 0 10px 10px 10px;
        padding-bottom: 4vw;
    }
    ul.itemList > li a:hover{
        background: #fff;
    }

    ul.itemList > li figure{
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap:0 4vw;
    }

    .contents ul.itemList > li .image{
        margin: 0;
        width: 30vw;
        flex-shrink: 0;
        border: 1px solid #efefef;
    }
    ul.itemList > li figure figcaption{
        flex-grow: 1;
        box-sizing: border-box;
        padding: 0;
    }

    ul.itemList > li a figure .image img{
        max-width: 100%;
    }
   ul.itemList > li a:hover{
        background: #fff;
    }
    ul.itemList > li a:hover figure .image img{
        transform:scale(1);
    }

    ul.itemList > li figure figcaption  p.date{
        font-size: 1.1rem;
    }
    ul.itemList > li a figure figcaption p.title{
        font-size: 1.5rem;
        line-height: 1.3;
    }
    ul.itemList > li:nth-child(n+3){
        display: none;
    }

ul.itemList + .more{
    margin-top: 28px;
}
    
    
}

/* --------------------------------
■#fastnews
-------------------------------- */ 

#fastnews{
    padding:24px 0;
}
#fastnews .newsBox{
    gap:0;
    padding-bottom: 0;
}


#fastnews .newsBox h2{
    width: 20%;
    padding-top: 0;
    padding-right: 42px;
    text-align: center;
}
#fastnews .newsBox .newsList{
    border-left: 1px solid #CCCBCA;
    padding-left: 42px;
    flex-grow: 1;
}
#fastnews .newsBox .newsList a{
    color: #333;
}

#fastnews .newsBox .newsList li a > dl{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap:12px;
}
#fastnews .newsBox .newsList li a > dl dt{
    flex-shrink: 0;
}

/*
#fastnews{
    background: #efefef;
}
*/
    #fastnews ul.itemList li a:hover{
        background: #ddd;
    }




@media only screen and
(max-width : 767px) {
    #fastnews{
        padding-bottom: 8vw;
    }

    #fastnews .newsBox{
        padding-bottom: 0;
        gap:0;
    }


    #fastnews .newsBox h2{
        width: 14vw;
        padding-top: 0;
        padding-right: 12px;
        font-size: 1.3rem;
        text-align: center;
    }
    #fastnews .newsBox .newsList{
        padding: 8px 0 8px 12px;
        flex-grow: 1;
    }
    #fastnews .newsBox .newsList a{
        color: #333;
    }

    #fastnews .newsBox .newsList li + li{
        margin-top: 8px;
    }
    #fastnews .newsBox .newsList li a > dl{
        display: block;
        gap:12px;
    }
    #fastnews .newsBox .newsList li a > dl dt{
        flex-shrink: 0;
        font-size: 1.3rem;
    }
    #fastnews .newsBox .newsList li a > dl dd{
        font-size: 1.4rem;
        line-height: 1.2;
        text-decoration: underline;
    }
    #fastnews .more{
        margin-top: 0;
    }

}

	
