/*基础CSS*/

* {
    padding: 0;
    margin: 0;
}

@font-face {
    font-family: "NotoSansJP";
    src: url("../font/NotoSansJP-Regular.woff2") format("woff2"), url("../font/NotoSansJP-Regular.ttf") format("woff"), url('../font/NotoSansJP-Regular.woff') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: "NotoSansJP";
    src: url("../font/NotoSansJP-Medium.woff2") format("woff2"), url("../font/NotoSansJP-Medium.woff") format("woff"), url('../font/NotoSansJP-Medium.woff') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: "NotoSansJP";
    src: url("../font/NotoSansJP-Medium.woff2") format("woff2"), url("../font/NotoSansJP-Medium.woff") format("woff"), url('../font/NotoSansJP-Medium.woff') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: "NotoSansJP";
    src: url("../font/NotoSansJP-Bold.woff2") format("woff2"), url("../font/NotoSansJP-Bold.woff") format("woff"), url('../font/NotoSansJP-Bold.woff') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap
}

html {
    font-size: 62.5%;
    overflow-x: hidden;
    font-family: "NotoSansJP";
    max-width: 1920px;
    margin: 0 auto;
    width: 100%;
}

li {
    list-style: none;
}

a {
    text-decoration: none;
}

a:hover {
    transition: all .3s;
    text-decoration: none;
    /*    opacity: .9;
    filter: opacity(90%);*/
}

img {
    max-width: 100%;
    height: auto;
}

p,
dl,
dt,
dd,
ul {
    margin: 0px;
    padding: 0px;
}


.container {
    width: 96%;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .container {
        max-width: 1330px;
    }
}

@media (min-width: 992px) {}

@media (min-width: 1200px) {}

/****** header ******/
header {
    background-color: #fff;
    box-shadow: 0px 10px 20px 0px #0C58A808;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 5;
}

header .hcon {
    display: flex;
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

header .hlogo {
    margin-left: calc(100vh / 100 * 4);
    width: 12%;
}

header .hlogo>a {
    display: block;
    max-width: 200px;
}

header .hmenu {
    position: relative;
    width: 78%;
}

header .hmenu ul {
    display: flex;
    display: inline-flex;
    width: 100%;
    justify-content: end;
}

header .hmenu ul li>a {
    display: block;
    padding: 0 10px;
    font-weight: 700;
    font-size: 1.6rem;
    text-transform: uppercase;
    color: #212121;
    line-height: 120px;
    margin-right: 2.6vw;
}

header .hmenu ul li>a.on,
header .hmenu ul li>a:hover {
    color: #D01D40;
}

header .hmenu ul li:last-child {
    width: 20%;
}

header .hmenu ul li:last-child>a {
    width: 100%;
    max-width: 270px;
    height: 120px;
    background: linear-gradient(180deg, #EC5B77 0%, #D01D40 100%);
    text-align: center;
    line-height: 1;
    display: flex;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-right: 0;
    padding: 0;
}

header .hmenu ul li:last-child>a span {
    display: block;
    font-weight: 700;
    font-size: 2rem;
    text-align: center;
    text-transform: uppercase;
    color: #fff;
    line-height: 1;
    margin-top: 20px;
    transition: all .2s;
}

header .hmenu ul li:last-child>a:hover span {
    font-size: 2.8rem;
}

header .hmenu ul li:last-child>a img {
    width: 39px;
}

/*foot*/
footer {
    background-color: #E3E3E3;
    padding: 5% 0;
}

footer .ft {
    display: flex;
    display: inline-flex;
    width: 100%;
    justify-content: space-between;
    flex-wrap: wrap;
}

footer .ft .fl {}

footer .flogo {}

footer .flogo>a {
    display: block;
    max-width: 284px;
}

footer .ftxt {
    font-weight: 600;
    font-size: 1.6rem;
    color: #212121;
    margin-top: 6rem;
}

footer .ft .fr {}

footer .fr ul {
    display: flex;
    display: inline-flex;
    flex-wrap: wrap;
}

footer .fr ul li {}

footer .fr ul li>a {
    font-weight: 700;
    font-size: 1.6rem;
    color: #D01D40;
    padding-left: 3.6vw;
}

footer .fb {
    display: flex;
    display: inline-flex;
    margin-top: 2rem;
    width: 100%;
    justify-content: space-between;
}

footer .fb .copyright {
    font-weight: 400;
    font-size: 1.4rem;
    color: #808080;
}

footer .fb .cprivacy {}

footer .fb .cprivacy>a {
    display: block;
    font-weight: 400;
    font-size: 1.4rem;
    color: #808080;
}

.btn-link {
    display: inline-flex;
    display: flex;
}

.btn-link>a {
    display: block;
    width: 50%;
    padding: 5% 0;
    text-align: center;
    font-weight: 700;
    font-size: 5rem;
    line-height: 1.5;
    color: #fff;
    text-shadow: 0px 4px 4px #00000040;
}

.btn-link>a span {
    font-weight: 700;
    font-size: 3rem;
    line-height: 1.5;
    color: #FFFFFF;
    display: block;
    text-shadow: 0px 4px 4px #00000040;
}

.btn-link>a.-gray {
    background: linear-gradient(180deg, #787878 0%, #040404 100%);
}

.btn-link>a.-red {
    background: linear-gradient(180deg, #EC5B77 0%, #D01D40 100%);
}

.btn-link1 {
    display: inline-flex;
    display: flex;
    width: 100%;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    flex-wrap: wrap;
}

.btn-link1>a {
    display: block;
    width: 45%;
    background: linear-gradient(180deg, #EC5B77 0%, #D01D40 100%);
    text-align: center;
    line-height: 76px;
    font-weight: 700;
    font-size: 2.4rem;
    color: #fff;
    position: relative;
    border-radius: 999px;
    transform: all .2s;
}

.btn-link1>a img {
    width: 46px;
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 10px;
}

.btn-link1>a:hover {
    font-size: 2.8rem;
}


.menul {
    width: 30px;
    margin-top: 6px;
    margin-right: calc(100vh / 100 * 4);
}

.menul span {
    display: block;
    width: 100%;
    height: 3px;
    background: #D01D40;
    margin: 6px 0;
}

.menul::before {
    display: block;
    content: '';
    width: 100%;
    height: 3px;
    background: #333333;
    transition: all .2s;
}

.menul::after {
    display: block;
    content: '';
    width: 100%;
    height: 3px;
    background: #333333;
    margin: 4px 0;
    transition: all .2s;
}

.menul.on span {
    display: none;
}

.menul.on::before {
    transform: translateY(6px) rotate(45deg);
    -webkit-transform: translateY(6px) rotate(45deg);
    -moz-transform: translateY(6px) rotate(45deg);
    -ms-transform: translateY(6px) rotate(45deg);
    -o-transform: translateY(6px) rotate(45deg);
}

.menul.on::after {
    transform: translateY(-1px) rotate(-45deg);
    -webkit-transform: translateY(-1px) rotate(-45deg);
    -moz-transform: translateY(-1px) rotate(-45deg);
    -ms-transform: translateY(-1px) rotate(-45deg);
    -o-transform: translateY(-1px) rotate(-45deg);
}

#index-mv {
    display: flex;
    display: inline-flex;
    background: #F5F7F7;
    justify-content: space-between;
    width: 100%;
}

#index-mv .mv_l {
    padding: 8% 4%;
    width: 50%;
    box-sizing: border-box;
}

#index-mv .mv_l p:nth-child(1) {
    font-weight: 700;
    font-size: 75px;
    color: #333333;
    text-shadow: 0px 4px 4px #00000040;
}

#index-mv .mv_l p:nth-child(2) {
    font-weight: 700;
    font-size: 72px;
    color: #333;
    text-shadow: 2px 2px 4px #00000040;
}

#index-mv .mv_l p:nth-child(2) span {
    color: #D01D40;
}

#index-mv .mv_r {
    width: 50%;
    font-size: 0;
}

#index-mv .mv_r video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


#index-con1 {
    padding: 6% 6% 3% 6%;
}

#index-con1 h2 {
    font-weight: 700;
    font-size: 64px;
    line-height: 1.75;
    color: #292B2D;
}

#index-con1 h2 span {
    color: #D01D40;
}

#index-con1 .txt {
    display: flex;
    display: inline-flex;
    align-items: flex-end;
    margin-top: -3%;
}

#index-con1 .txt .l {
    width: 65%;
    margin-right: 5%;
}

#index-con1 .txt .l img {
    margin-bottom: 20px;
    width: auto;
    height: 100%;
    max-height: 60px;
}


@media (max-width: 768px) {
    #index-con1 .txt .l img {
        max-height: 25px;
    }
}






#index-con1 .txt .r {
    width: 35%;
    width: 100%;
    max-width: 405px;
}

#index-con1 .pics {
    position: relative;
    padding: 20px 50px;
}

#index-con1 .swiper-wrapper {
    -webkit-transition-timing-function: linear;
    -moz-transition-timing-function: linear;
    -ms-transition-timing-function: linear;
    -o-transition-timing-function: linear;
    transition-timing-function: linear;
}

#index-con1 .pics .swiper-button-prev {
    position: absolute;
    left: 0;
    top: 30%;
    width: 46px;
    height: 46px;
    background: url('../image/l-arrow.png') no-repeat center;
    background-size: 100% auto;
    cursor: pointer;
    z-index: 2;
}

#index-con1 .pics .swiper-button-next {
    position: absolute;
    right: 0;
    top: 30%;
    width: 46px;
    height: 46px;
    background: url('../image/r-arrow.png') no-repeat center;
    background-size: 100% auto;
    cursor: pointer;
}

#index-feature {
    margin-top: 8%;
    text-align: center;
}

#index-feature .tit {
    font-weight: 700;
    font-size: 60px;
    color: #212121;
    text-shadow: 4px 4px 4px #00000040;
}

#index-feature .tit::before {
    content: '';
    display: block;
    width: 70px;
    height: 9px;
    background: #D01D40;
    margin: 0 auto 5% auto;
}

#index-feature ul {
    margin-top: 8%;
}

#index-feature ul li {
    display: inline-flex;
    display: flex;
    width: 100%;
    max-width: 1100px;
    justify-content: space-between;
    margin: 0 auto 10% auto;
}

#index-feature ul li:nth-child(2n+2) {
    flex-direction: row-reverse;
}

#index-feature ul li .l {
    width: 52%;
    text-align: left;
    position: relative;
    padding-left: 30px;
    box-sizing: border-box;
}

#index-feature ul li .l::before {
    display: block;
    content: '';
    width: 8px;
    height: 100%;
    background: linear-gradient(180deg, #D72D4F 0%, #FFFFFF 100%);
    position: absolute;
    left: 0;
    top: 0;
}

#index-feature ul li .l h3 {
    font-weight: 700;
    font-size: 32px;
    letter-spacing: 2px;
    color: #D01D40;
    margin-bottom: 3%;
}

#index-feature ul li .l p {
    font-weight: 700;
    font-size: 2rem;
    line-height: 2;
    letter-spacing: 0.14px;
    color: #1B1B1B;
}

#index-feature ul li .r {
    width: 42%;
    text-align: right;
}

#index-feature ul li:nth-child(2n+2) .r {
    text-align: left;
}

#index-strategy {
    background-color: #EC5B77;
    padding: 5% 0 6% 0;
    box-shadow: 0px 4px 4px 0px #00000040;
}

#index-strategy h2 {

    font-weight: 700;

    font-size: 54px;

    letter-spacing: 1px;

    text-align: center;

    color: #fff;

    max-width: 1167px;

    margin: 0 auto;
}

#index-strategy h3 {

    font-weight: 600;

    font-size: 40px;

    text-align: center;

    color: #fff;

    border-bottom: 1px solid #fff;

    width: fit-content;

    margin: 3% auto;
}

#index-strategy ul {
    display: inline-flex;
    display: flex;
    width: 100%;
    margin-top: 5%;
    justify-content: space-between;
    flex-wrap: wrap;
}

#index-strategy ul li {
    width: calc(100% / 4 - 80px);
    display: flex;
    display: inline-flex;
    align-items: center;
    position: relative;
}

#index-strategy ul li .txt {
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 1.75;
    letter-spacing: 1px;
    text-align: center;
    color: #353535;
    position: relative;
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
    padding: 0 6%;
    box-sizing: border-box;
    word-break: keep-all;
    width: 100%;
    max-height: 236px;
    padding-top: 50px;
}

#index-strategy ul li .num {
    width: 106px;
    height: 106px;
    background: #DD3A5A;
    font-weight: 700;
    font-size: 2.8rem;
    letter-spacing: 1px;
    text-align: center;
    vertical-align: middle;
    color: #fff;
    margin: 0 auto;
    border-radius: 999px;
    display: flex;
    display: inline-flex;
    align-items: end;
    justify-content: center;
    transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    padding-bottom: 6px;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 50%;
}

#index-strategy ul li .txt p {
    min-height: 126px;
    display: flex;
    width: 100%;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: 0px;
    font-size: 1.6rem;
    padding-bottom: 20px;
}


#index-strategy ul li .pic {
    margin: 0 12%;
    position: absolute;
    right: -106px;
}

#index-strategy ul li:last-child .pic {
    display: none;
}

#index-con2 {
    padding: 6% 0 4% 0;
    position: relative;
    overflow: hidden;
}

#index-con2::before {
    content: '';
    display: block;
    background: #fff;
    position: absolute;
    top: 0;
    left: -5%;
    width: 110%;
    /* height: 38%; */
    aspect-ratio: 2 / 1;
    border-radius: 50%;
    transform: translateY(-50%);
}

#index-con2 h2 {

    font-weight: 700;

    font-size: 60px;

    text-align: center;

    vertical-align: middle;

    color: #000000;

    position: relative;

    text-shadow: 4px 4px 4px #00000040;
}

#index-con2 .con {
    width: 90%;
    margin: 20% auto 0 auto;
}

#index-con2 .item {
    border-radius: 20px;
    margin-bottom: 7%;
    display: inline-flex;
    display: flex;
    padding: 3%;
    align-items: end;
    justify-content: space-between;
    /* flex-wrap: wrap; */
}

#index-con2 .item.-rednote {
    background: linear-gradient(90deg, #D01D40 0%, #FE2642 0.01%, #FFFFFF 88.94%, #FFFFFF 100%);
}

#index-con2 .item.-tiktok {
    background: linear-gradient(270deg, #8F8F8F 0%, #040404 100%);
}

#index-con2 .item .l {
    max-width: 576px;
}

#index-con2 .item .l p:nth-child(1) {

    font-weight: 700;

    font-size: 2rem;

    color: #fff;

    text-shadow: 0px 4px 4px #00000040;
}

#index-con2 .item .l p:nth-child(1) img {
    margin-left: 30px;
    height: 60px;
}

#index-con2 .item .l h4 {
    font-weight: 700;
    font-size: 26px;
    letter-spacing: 2px;
    color: #fff;
    margin: 5% auto;
    text-shadow: 0px 4px 4px #00000040;
}

#index-con2 .item .l p:nth-child(3) {

    font-weight: 500;

    font-size: 1.8rem;

    color: #fff;

    line-height: 1.75;

    text-shadow: 0px 4px 4px #00000040;
}

#index-con2 .item .m {
    margin: 0 3%;
    text-align: center;
}

#index-con2 .item .m img {
    max-width: 240px;
}

#index-con2 .item .m .txt {
    margin-top: 10%;
}

#index-con2 .item .m .txt ul {
    margin-top: 3%;
    background: #FFFFFF80;
    border-radius: 10px;
    display: inline-flex;
    display: flex;
    padding: 10px;
}

#index-con2 .item .m .txt ul li {
    width: calc(96% / 3);
    min-width: 96px;
}

#index-con2 .item .m .txt ul li p {
    font-weight: 600;
    font-size: 13px;
    text-align: center;
    color: #D22345;
    text-shadow: 1px 1px 1px #fff;
}

#index-con2 .item.-tiktok .m .txt ul li p {
    color: #fff;
    text-shadow: none;
}

#index-con2 .item .r img {
    max-width: 206px;
}

#index-reason h2 {
    background: #D22144;
    font-weight: 700;
    font-size: 60px;
    text-align: center;
    vertical-align: middle;
    color: #fff;
    padding: 3% 0;
    text-shadow: 0px 4px 4px #00000040;
}

#index-reason ul {
    max-width: 1200px;
    margin: 0 auto;
}

#index-reason ul li {
    margin: 8% 0 0 0;
    padding-bottom: 5%;
    border-bottom: 2px dotted #D22144;
    display: flex;
    display: inline-flex;
    width: 100%;
}

#index-reason ul li:last-child {
    border: none;
}

#index-reason ul li h3 {
    font-weight: 700;
    font-size: 32px;
    vertical-align: middle;
    color: #1B1B1B;
    max-width: 766px;
}

#index-reason ul li .num {
    width: 100px;
    text-align: left;
    font-weight: 700;
    font-size: 60px;
    vertical-align: middle;
    color: #D01D40;
    line-height: 1;
    font-family: outfit;
}

#index-reason ul li>div {
    width: calc(100% - 100px);
}

#index-reason ul li h3 span {
    color: #D01D40;
}

#index-reason ul li .con {
    display: flex;
    display: inline-flex;
    justify-content: space-between;
    width: 100%;
    position: relative;
    padding: 8% 6% 6% 0;
    box-sizing: border-box;
    flex-wrap: wrap;
}

#index-reason ul li .con.-reverse {
    flex-direction: row-reverse;
    padding-top: 8%;
}

#index-reason ul li .txt {
    max-width: 565px;

}

#index-reason ul li .txt p {
    font-weight: 500;
    font-size: 21px;
    color: #1B1B1B;
}

#index-reason ul li .pic {
    position: relative;
    max-width: 366px;
    padding-top: 30px;
}

#index-reason ul li .pic img {
    position: relative;
}

#index-reason ul li .pic::before {
    content: '';
    display: block;
    width: 80%;
    height: 80%;
    background: #F5F5F5;
    position: absolute;
    top: 0;
    right: -10%;
}

#index-reason ul li .pic1 {
    position: absolute;
    right: 0;
    bottom: 0;
    max-width: 303px;
}



#index-reason ul li .con.-reverse .pic::before {
    left: -10%;
}

#index-suggest {
    padding: 3% 0;
    margin-bottom: 5%;
}

#index-suggest h2 {
    font-weight: 700;
    font-size: 40px;
    line-height: 1.5;
    text-align: center;
    vertical-align: middle;
    color: #D22144;
    text-shadow: 1px 1px 2px #00000082;
    max-width: 1158px;
    margin: 0 auto;
    -webkit-text-stroke: 5px transparent;
    background: #fff;
    -webkit-background-clip: text;
}

#index-suggest ul {
    display: flex;
    display: inline-flex;
    width: 100%;
    margin-top: 3%;
    flex-wrap: wrap;
    justify-content: center;
}

#index-suggest ul li {
    width: calc(92% / 3);
}

#index-suggest ul li img {}

#index-case {
    background-color: #F5F5F5;
    margin-top: 5%;
    padding: 4% 0;
}

#index-case h2 {
    font-weight: 700;
    font-size: 60px;
    text-align: center;
    vertical-align: middle;
    color: #1B1B1B;
}

#index-case ul {
    width: 100%;
    display: flex;
    display: inline-flex;
    justify-content: space-between;
    padding: 0 2%;
    box-sizing: border-box;
    margin-top: 5%;
    flex-wrap: wrap;
}

#index-case ul li {
    width: calc(98% / 2);
    background: #fff;
    padding: 3% 2% 3% 1%;
    box-sizing: border-box;
}

#index-case ul li .case1 {
    width: 200px;
    line-height: 38px;
    background: #D01D40;
    font-weight: 700;
    font-size: 1.8rem;
    text-align: center;
    vertical-align: middle;
    color: #fff;
}



@media (max-width: 768px) {
    #index-case ul li .case1 {
        margin: 0 auto;
        margin-top: 30px;
    }
}





#index-case ul li .case2 {
    text-align: left;
    margin-top: 20px;
}


@media (max-width: 768px) {
    #index-case ul li .case2 {
        margin-top: 30px;
        text-align: center;
    }
}

#index-case ul li .case2 img {
    max-width: 180px;
    width: 100%;
    height: auto;
}

#index-case ul li .case3 {
    display: flex;
    display: inline-flex;
    width: 100%;
    justify-content: space-between;
    text-align: left;
    flex-wrap: wrap;
}

#index-case ul li .case3 .l {
    width: 33%;
}




#index-case ul li .case3 .r {
    width: 65%;
    margin-top: 2%;
}

#index-case ul li .case4 {
    font-weight: 700;
    font-size: 3.4rem;
    vertical-align: middle;
    color: #1B1B1B;
}

#index-case ul li .case5 {
    margin-top: 2%;
    text-align: left;
}

@media (max-width: 768px) {
    #index-case ul li .case5 {
        /* text-align: center; */
    }
}



#index-case ul li .case5 span {
    display: inline-block;
    width: 122px;
    line-height: 36px;
    font-weight: 700;
    font-size: 1.8rem;
    text-align: center;
    vertical-align: middle;
    color: #FFFFFF;
    background-color: #EF3047;
    border-radius: 7px;
}




#index-case ul li .case5 span:nth-child(2n+2) {
    background-color: #000000;
}

#index-case ul li .case7 {
    font-size: 1.6rem;
    font-weight: bold;
    margin-top: 2%;
}

#index-case ul li .case6>ul {
    display: flex;
    display: inline-flex;
    flex-wrap: wrap;
    margin-bottom: 1%;
    margin-top: 2%;
    justify-content: left;
    padding: 0 20px;
    position: relative;
    justify-content: space-between;
    flex-wrap: wrap;
}

#index-case ul li .case6>ul>li {
    width: calc(100% / 2);
    font-weight: 700;
    font-size: 1.8rem;
    color: #1B1B1B;
    padding: 2px 0 10px 0;
}

#index-case ul li .case6>ul>li:first-child {
    width: 100%;
}

#index-case ul li .case6>ul>li p {
    font-weight: 700;
    font-size: 1.6rem;
    color: #1B1B1B;
}

#index-case ul li .case6>ul::before {
    content: '';
    display: block;
    width: 10px;
    height: 100px;
    background: url('../image/kl.png') no-repeat center;
    background-size: 100% 100%;
    position: absolute;
    left: 0;
    top: 0;
}

#index-case ul li .case6>ul::after {
    content: '';
    display: block;
    width: 10px;
    height: 100px;
    background: url('../image/kr.png') no-repeat center;
    background-size: 100% 100%;
    position: absolute;
    right: 0;
    top: 0;
}

#index-case ul li .case6>p {
    font-size: 1.6rem;
    font-weight: bold;
}

#index-case ul li .case6>h3 {}

#index-faq {
    max-width: 1040px;
    margin: 6% auto;
}

#index-faq h2 {
    font-family: "NotoSansJP";
    font-weight: 700;
    font-size: 4rem;
    color: #012E2A;
    margin-bottom: 4%;
}

@media (max-width: 768px) {
    #index-faq h2 {
        text-align: center;
    }
}

#index-faq ul {}

#index-faq ul li {
    background: #F5F7F7;
    padding: 10px 10px 16px 10px;
    border-radius: 10px;
    margin-bottom: 3%;
}

#index-faq ul li .t {
    position: relative;
    display: flex;
    display: inline-flex;
    width: 100%;
    align-items: center;
    cursor: pointer;
}

#index-faq ul li .t .ico {
    display: block;
    width: 40px;
    text-align: center;
    height: 40px;
    line-height: 40px;
    background: #D01D40;
    border-radius: 16px;
    font-weight: 700;
    font-size: 2rem;
    color: #F5F7F7;
    border: 1px solid #D01D40;
}

#index-faq ul li .t p.tit {
    font-weight: 700;
    font-size: 2rem;
    color: #333333;
    margin-left: 16px;
}

#index-faq ul li .t .plus {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    width: 20px;
    height: 20px;
    text-align: center;
    padding-top: 10px;
    cursor: pointer;
}

#index-faq ul li .t .plus::before {
    content: '';
    display: block;
    width: 15px;
    height: 2px;
    background: #D01D40;
    transition: all .2s;
}

#index-faq ul li .t .plus::after {
    content: '';
    display: block;
    width: 15px;
    height: 2px;
    background: #D01D40;
    transform: translateY(-70%) rotate(90deg);
    -webkit-transform: translateY(-70%) rotate(90deg);
    -moz-transform: translateY(-70%) rotate(90deg);
    -ms-transform: translateY(-70%) rotate(90deg);
    -o-transform: translateY(-70%) rotate(90deg);
    transition: all .2s;
}

#index-faq ul li .t.on .plus::before {
    -webkit-transform: translateY(50%) rotate(45deg);
    -moz-transform: translateY(50%) rotate(45deg);
    -ms-transform: translateY(50%) rotate(45deg);
    -o-transform: translateY(50%) rotate(45deg);
}

#index-faq ul li .t.on .plus::after {
    -webkit-transform: translateY(-70%) rotate(-45deg);
    -moz-transform: translateY(-70%) rotate(-45deg);
    -ms-transform: translateY(-70%) rotate(-45deg);
    -o-transform: translateY(-70%) rotate(-45deg);
}


#index-faq ul li .b {
    margin-top: 2%;
    display: none;
}

#index-faq ul li .b .ico {
    display: inline-block;
    width: 40px;
    text-align: center;
    height: 40px;
    line-height: 40px;
    background: #ffffff;
    border-radius: 16px;
    font-weight: 700;
    font-size: 2rem;
    color: #D01D40;
    border: 1px solid #D01D40;
    box-sizing: border-box;
    vertical-align: top;
}

#index-faq ul li .b .txt {
    display: inline-block;
    width: calc(100% - 100px - 16px);
    margin-left: 16px;
}

#index-faq ul li .b .txt p {
    font-weight: 400;
    font-size: 2rem;
    color: #333333;
}

#nban {
    position: relative;
    font-size: 0;
}

#nban>img {
    width: 100%;
}

#nban .txt {
    width: 100%;
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    max-width: 1000px;
    margin: 0 auto;
}

#nban .txt p {
    font-weight: 700;
    font-size: 6.6rem;
    letter-spacing: 5px;
    color: #D01D40;
    text-shadow: -1px -1px 0 #fff,
        1px -1px 0 #fff,
        -1px 1px 0 #fff,
        1px 1px 0 #fff;
    -webkit-text-shadow: -1px -1px 0 #fff,        1px -1px 0 #fff,        -1px 1px 0 #fff,        1px 1px 0 #fff;
    margin-bottom: 50px;
}

#EC-con1 {
    margin: 5% 0;
}

#EC-con1 .txt {
    width: 90%;
    margin: 0 auto;
}


@media screen and (max-width: 768px) {
    #EC-con1 .txt {
        width: 95%;
    }
}


#EC-con1 .txt p {
    font-weight: 700;
    font-size: 2.3rem;
    letter-spacing: 2px;
    text-align: center;
    color: #000000;
    line-height: 2.75;
}

#EC-con2 {}

#EC-con2 .con {
    width: 90%;
    max-width: 1300px;
    margin: 0 auto;
}

#EC-con2 .con h2 {
    font-weight: 700;
    font-size: 4.8rem;
    letter-spacing: 2px;
    color: #D01D40;
}

#EC-con2 .con>p {
    font-weight: 700;
    font-size: 1.8rem;
    letter-spacing: 2px;
    color: #272525;
    margin-top: 1%;
}

#EC-con2 .con ul {
    display: flex;
    display: inline-flex;
    width: 100%;
    margin-top: 2%;
    flex-wrap: wrap;
    justify-content: space-between;
}

#EC-con2 .con ul li {
    display: block;
    width: calc(96% / 2);
    box-shadow: 0px 4px 28px -9px #0000003B;
    margin-bottom: 3%;
    border-radius: 0 0 20px 20px;
}

#EC-con2 .con ul li h4 {
    font-weight: 700;
    font-size: 2.4rem;
    letter-spacing: 2px;
    color: #FFFFFF;
    background-color: #D01D40;
    padding: 3%;
    border-radius: 20px 20px 0 0;
}

#EC-con2 .con ul li h4 img {
    margin-right: 20px;
    vertical-align: middle;
    max-width: 30px;
}


@media screen and (max-width: 768px) {
    #EC-con3 .con ul li .tl img {
        /* max-width: 150px; */
        margin-top: 20px;
        height: 50px !important;
    }
}

#EC-con2 .con ul li .txt {
    background: #fff;
    border-radius: 0 0 20px 20px;
    display: flex;
    display: inline-flex;
    width: 100%;
    flex-wrap: wrap;
    padding: 3% 0;
}

#EC-con2 .con ul li .txt p {
    font-weight: 700;
    font-size: 1.8rem;
    letter-spacing: 2px;
    color: #272525;
    width: 50%;
    padding-left: 2rem;
    box-sizing: border-box;
    margin: 1rem 0;
}

#EC-con3 {}

#EC-con3 .con {
    max-width: 1300px;
    width: 90%;
    margin: 8% auto;
}

#EC-con3 .con h2,
#sns-con1 h2 {
    font-weight: 700;
    font-size: 4.8rem;
    letter-spacing: 2px;
    color: #D01D40;
}

#EC-con3 .con h2::before,
#sns-con1 h2::before {
    content: '';
    display: block;
    width: 70px;
    height: 12px;
    background-color: #D01D40;
    margin: 0 auto 8% auto;
}

#EC-con3 .con>p,
#sns-con1 .stit {
    font-weight: 700;
    font-size: 1.8rem;
    letter-spacing: 2px;
    color: #272525;
    margin-top: 1%;
}

#EC-con3 .con ul {
    display: flex;
    display: inline-flex;
    margin: 2% auto 0 auto;
    flex-wrap: wrap;
    justify-content: space-between;
}

#EC-con3 .con ul li {
    width: calc(98% / 2);
    border-radius: 20px;
    -webkit-border-radius: 20px;
    position: relative;
    padding: 3%;
    box-sizing: border-box;
    margin-bottom: 2%;
}

#EC-con3 .con ul li:nth-child(1) {
    background: linear-gradient(270deg, #8F8F8F 0%, #040404 100%);
}

#EC-con3 .con ul li:nth-child(2) {
    background: linear-gradient(270deg, #E6DBFF 0%, #C9B2FF 100%);

}

#EC-con3 .con ul li:last-child {
    width: 100%;
    background: linear-gradient(180deg, #FCD9E0 0%, #EC5B77 100%);
}

#EC-con3 .con ul li:last-child::after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -100%);
    -webkit-transform: translate(-50%, -100%);
    -moz-transform: translate(-50%, -100%);
    -ms-transform: translate(-50%, -100%);
    -o-transform: translate(-50%, -100%);
    border-top: 80px solid transparent;
    border-bottom: 60px solid #FCD9E0;
    border-left: 80px solid transparent;
    border-right: 80px solid transparent;
}


#EC-con3 .con ul li:last-child::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -100%);
    -webkit-transform: translate(-50%, -100%);
    -moz-transform: translate(-50%, -100%);
    -ms-transform: translate(-50%, -100%);
    -o-transform: translate(-50%, -100%);
    border-top: 80px solid transparent;
    border-bottom: 90px solid #fff;
    border-left: 120px solid transparent;
    border-right: 120px solid transparent;
}


#EC-con3 .con ul li .t {
    display: flex;
    display: inline-flex;
    width: 100%;
    justify-content: space-between;
    flex-wrap: wrap;
}

#EC-con3 .con ul li .tl img {
    height: 60px;
}

#EC-con3 .con ul li .tl p {
    font-weight: 700;
    font-size: 2.8rem;
    letter-spacing: 2px;
    color: #D01D40;
    text-shadow: 1px 1px 2px #FFFFFF;
    margin-bottom: 20px;
    margin-top: 20px;
}

#EC-con3 .con ul li .tr {}

#EC-con3 .con ul li .b {
    width: 100%;
    display: flex;
    display: inline-flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#EC-con3 .con ul li .bl p {
    font-weight: 700;
    font-size: 1.8rem;
    letter-spacing: 0.14px;
    color: #FFFFFF;
    line-height: 1.75;
}

#EC-con3 .con ul li:nth-child(2) .bl p {
    color: #000000;
}

#EC-con3 .con ul li:last-child .tl p {
    font-weight: 700;
    font-size: 4.8rem;
    letter-spacing: 2px;
    text-align: center;
    color: #D01D40;
    text-shadow: 1px 1px 2px #FFFFFF;
}

#EC-con3 .con ul li .bl {
    max-width: 300px;
}

#EC-con3 .con ul li:last-child .bl {
    max-width: 35%;
}

#EC-con3 .con ul li:last-child .bl p {
    color: #000000;
    font-size: 2.4rem;
}

.snsPage #EC-con3 .con ul li:last-child .tl p {
    font-weight: 700;
    font-size: 3.6rem;
    letter-spacing: 2px;
    color: #D01D40;
    text-align: left;
    text-shadow: 1px 1px 2px #FFFFFF;
    line-height: 1;
}

.snsPage #EC-con3 .con ul li:last-child::before {
    display: none;
}

.snsPage #EC-con3 .con ul li:last-child .bl p {
    font-size: 1.8rem;
}


@media (max-width: 768px) {
    .snsPage #EC-con3 .con ul li:last-child .bl p {
        font-size: 1.4rem;
    }
}

#EC-con3 .con ul li:nth-child(1) .br,
#EC-con3 .con ul li:nth-child(2) .br {
    max-width: ;
}

#EC-con3 .con ul li:last-child .b {
    align-items: center;
}

#EC-con3 .con ul li:last-child .t {
    justify-content: center;
}

#EC-con4 {
    position: relative;
}

#EC-con4 .con4 {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 5% 0;
}

#EC-con4 .con4 h2 {
    font-weight: 700;
    font-size: 4.8rem;
    letter-spacing: 2px;
    color: #D01D40;
}

#EC-con4 .con4 .txt {
    margin-top: 3%;
}

#EC-con4 .con4 .txt p {
    font-weight: 700;
    font-size: 2.3rem;
    letter-spacing: 2px;
    color: #000000;
    margin-bottom: 3%;
}

#EC-con4 .con {
    display: flex;
    display: inline-flex;
    position: relative;
    width: 100%;
    justify-content: space-between;
    flex-wrap: wrap;
}

@media (max-width: 768px) {
    #EC-con4 .con {
        margin-top: 6%;
    }
}

#EC-con4 .con h4 {
    font-weight: 700;
    font-size: 3.4rem;
    letter-spacing: 2px;
    color: #D01D40;
    text-align: left;
}

#EC-con4 .con .r h4 {
    text-align: center;
}

#EC-con4 .con .l {
    width: 49%;
    background: #F0EBEB;
    border-radius: 20px;
    padding: 3% 2%;
    box-sizing: border-box;
}

#EC-con4 .con .l .pics {
    display: flex;
    display: inline-flex;
    width: 100%;
    padding: 20px 20px 10px;
    box-sizing: border-box;
}

#EC-con4 .con .l .pics img {
    width: 30%;
    max-width: 112px;
    margin: 20px 20px 10px;
}

#EC-con4 .con .r {
    width: 49%;
    background: #F0EBEB;
    border-radius: 20px;
    padding: 2% 3% 1% 10%;
    box-sizing: border-box;
}

#EC-con4 .con .r .pics {
    max-width: 310px;
    margin: 0 auto;
}

#EC-con4 .con .r .pics img {
    margin: 20px 20px 10px;
}

#EC-con4 .con .m {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 270px;
    height: 270px;
    background: linear-gradient(180deg, #EC5B77 0%, #D01D40 100%);
    border-radius: 999px;
    display: flex;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

#EC-con4 .con .m p {
    font-weight: 700;
    font-size: 3.4rem;
    letter-spacing: 2px;
    text-align: center;
    color: #fff;
}

.ecPage #index-reason {
    margin-top: 6%;
    margin-bottom: 13%;
}

.ecPage #index-reason ul li .pic1 {
    transform: translate(-90%, 26%);
    -webkit-transform: translate(-90%, 26%);
    -moz-transform: translate(-90%, 26%);
    -ms-transform: translate(-90%, 26%);
    -o-transform: translate(-90%, 26%);
}

.ecPage #index-case,
.snsPage #index-case {
    background-color: #fff;
    padding: 0;
    text-align: center;
}

.ecPage #index-case h2,
.snsPage #index-case h2 {
    background-color: #F5F5F5;
    padding: 2% 0;
}

.ecPage #index-case ul,
.snsPage #index-case ul {
    width: 90%;
    max-width: 1200px;
    margin: 5% auto 3% auto;
}

.ecPage #index-case ul li,
.snsPage #index-case ul li {
    width: 100%;
}

.ecPage #index-case ul li .case3 .l,
.snsPage #index-case ul li .case3 .l {
    width: auto;
}

.ecPage #index-case ul li .case3 .r,
.snsPage #index-case ul li .case3 .r {
    width: 77%;
}

#sns-con1 {}

#sns-con1 ul {
    margin-top: 6%;
}

#sns-con1 ul li {
    background-color: #E9E0E1;
    padding: 6% 0;
    margin-bottom: 10%;
    width: 90%;
}

#sns-con1 ul li:last-child {
    margin-left: auto;
}

#sns-con1 ul li .t {
    display: inline-flex;
    display: flex;
    margin: 0 auto;
    max-width: 1200px;
    width: 90%;
    flex-wrap: wrap;
}

#sns-con1 ul li .r {
    padding: 2% 0;
    max-width: 800px;
    margin: 0 auto;
    width: calc(100% - 250px);
    box-sizing: border-box;
}

#sns-con1 ul li .r h4 {
    font-weight: 700;
    font-size: 3.4rem;
    letter-spacing: 2px;
    color: #D01D40;
}

#sns-con1 ul li .r .txt {
    margin-top: 4%;
    margin-bottom: 5%;
}

#sns-con1 ul li .r .txt p {
    font-weight: 700;
    font-size: 2rem;
    letter-spacing: 2px;
    color: #000000;
    margin-bottom: 20px;
    margin-top: 20px;
}

#sns-con2 {
    padding: 8% 0;
    margin-bottom: 3%;
}

#sns-con2 h2 {
    font-weight: 700;
    font-size: 45px;
    letter-spacing: 2px;
    text-align: center;
    color: #D01D40;
}

#sns-con2 .txt {
    margin-top: 6%;
}

#sns-con2 .txt p {
    font-weight: 500;
    font-size: 2.8rem;
    letter-spacing: 2px;
    text-align: center;
    color: #000000;
    max-width: 1200px;
    margin: 0 auto;
}

#sns-con2 .sns1 {
    position: relative;
    padding-top: 20%;
    text-align: center;
}

#sns-con2 .sns2 {
    width: 526px;
    height: 526px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 3.4rem;
    letter-spacing: 2px;
    text-align: center;
    color: #D01D40;
    border: 1px solid #EABFC5;
    background: linear-gradient(180deg, #FFFFFF 0%, #F6E6E8 100%);
    display: flex;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

#sns-con2 .sns1 .t {
    position: absolute;
    top: 22%;
    left: 66%;
    transform: translateX(-50%);
    display: flex;
    display: inline-flex;
    align-items: center;
    min-width: 700px;
}

#sns-con2 .sns1 .char {
    width: 210px;
    height: 210px;
    border-radius: 999px;
    font-weight: 700;
    font-size: 111px;
    letter-spacing: 2px;
    text-align: center;
    color: #D01D40;
    background-color: #fff;
    border: 1px solid #EABFC5;
    display: flex;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
}

#sns-con2 .sns1 .ttxt {
    margin: 0 30px;
}

#sns-con2 .sns1 .ttxt h4 {
    font-weight: 700;
    font-size: 33px;
    letter-spacing: 2px;
    color: #D01D40;
    text-align: left;
}

#sns-con2 .sns1 .ttxt p {
    font-weight: 500;
    font-size: 2.8rem;
    letter-spacing: 2px;
    color: #000000;
    text-align: left;
}

#sns-con2 .sns1 .l {
    position: absolute;
    bottom: 7%;
    left: 0;
    transform: translateY(50%);
    display: flex;
    display: inline-flex;
    flex-direction: row-reverse;
    align-items: center;
}

#sns-con2 .sns1 .r {
    position: absolute;
    bottom: 7%;
    right: 50px;
    transform: translateY(50%);
    display: flex;
    display: inline-flex;
    align-items: center;
}

.snsPage #nban .txt {}

.snsPage #nban .txt p {}

.snsPage #EC-con2 .con ul li {
    width: calc(96% / 3);
    margin-top: 2%;
}

.snsPage #EC-con2 .con ul li .txt {
    display: block;
    padding: 5% 0;
}

.snsPage #EC-con2 .con ul li .txt p {
    width: 100%;
}

.snsPage #EC-con3 .con ul li:last-child {
    background: linear-gradient(90deg, #F6E6E8 0%, #F2B5A6 63.94%, rgba(236, 91, 119, 0.772549) 100%);
}

.snsPage #EC-con3 .con ul li:last-child .t {
    justify-content: flex-start;
}

.snsPage #EC-con3 .con ul li:last-child::after {
    display: none;
}

.snsPage #index-reason {
    margin-top: 10%;
}


.hmodel {
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 2;
}

.hmodel .btn-link>a {
    padding: 10px 0;
    line-height: 40px;
}

.hmodel section:nth-child(1) {
    padding: 30px 0;
    background: linear-gradient(180deg, #787878 0%, #040404 100%);
    display: none;
}



.sp_display {
    display: inline;
}

.pc_display {
    display: none !important;
}

.spm_display {
    display: inline;
}



@media (min-width: 992px) {
    .sp_display {
        display: none !important;
    }

    .pc_display {
        display: block !important;
    }
}


@media (min-width: 1024px) {
    .spm_display {
        display: none !important;
    }
}

@media (max-width: 1200px) {
    html {
        font-size: 60.5%;
    }

    #nban .txt p {
        font-size: 5rem;
    }

    header .hmenu ul li:last-child {
        width: 16%;
    }

    footer .fr ul li>a {
        padding-left: 1.5vw;
    }
}

@media (max-width: 1024px) {
    header .hmenu {
        width: 100%;
        height: 100vh;
        position: fixed;
        left: 0;
        top: 80px;
        z-index: 2;
        background-color: #fff;
        display: none;
        padding: 5% 20px;
        box-sizing: border-box;
        border-top: 1px solid #eee;
    }

    header .hmenu ul {
        display: block;
    }

    header .hmenu ul li>a {
        color: #333;
        padding: 10px;
        font-size: 2rem;
        line-height: 40px;
    }

    header .hlogo>a {
        max-width: 130px;
        margin-top: 8px;
    }

    header .hmenu ul li:last-child>a {
        width: 100%;
        box-sizing: border-box;
        margin-top: 5%;
        max-width: 100%;
    }

    header .hcon {
        padding: 20px 0;
        font-size: 1.4rem;
    }

    #index-mv .mv_l p:nth-child(1) {
        font-size: 70px;
    }
}

@media (max-width: 992px) {

    html {
        font-size: 62.5%;
    }

    header {
        position: fixed;
        top: 0;
        left: 0;
        z-index: 3;
    }

    header .hcon,
    #EC-con3 .con>p,
    #sns-con1 .stit {
        padding: 20px 0;
        font-size: 1.4rem;
    }

    /*    block*/
    #index-mv,
    #index-con1 .txt,
    #index-feature ul li,
    #index-strategy ul li {
        display: block;
    }

    #index-mv .mv_r,
    #index-con1 .txt .l,
    #index-con1 .txt .r,
    #index-feature ul li .l,
    #index-feature ul li .r,
    #index-strategy ul li,
    #index-strategy ul li .txt,
    #index-con2 .item .r,
    #index-suggest ul li,
    #index-mv .mv_l,
    #index-case ul li,
    #index-case ul li .case6>ul>li,
    #index-case ul li .case3 .l,
    #index-case ul li .case3 .r,
    footer .ft .fl,
    #EC-con2 .con ul li,
    #EC-con3 .con ul li,
    #EC-con3 .con ul li:nth-child(1) .br,
    #EC-con3 .con ul li:nth-child(2) .br,
    #EC-con3 .con ul li:last-child .bl,
    #EC-con4 .con .l,
    #EC-con4 .con .r,
    .ecPage #index-case ul li .case3 .l,
    .snsPage #index-case ul li .case3 .l,
    .ecPage #index-case ul li .case3 .r,
    .snsPage #index-case ul li .case3 .r,
    .snsPage #EC-con2 .con ul li {
        width: 100%;
        margin: 0 auto;
        padding-left: 0;
        padding-right: 0;
    }

    #index-mv .mv_l p:nth-child(1),
    #index-mv .mv_l p:nth-child(2),
    #index-feature .tit {
        font-size: 3.2rem;
    }

    #nban .txt p {
        font-size: 2.6rem;
    }

    .btn-link>a,
    .btn-link1>a,
    #index-feature ul li .l p,
    #index-con2 .item .l p:nth-child(3),
    #index-reason ul li .txt p,
    #index-faq ul li .b .txt p,
    #EC-con3 .con ul li .bl p,
    #EC-con4 .con4 .txt p,
    #EC-con4 .con h4,
    #sns-con1 ul li .r .txt p,
    #sns-con2 .txt p,
    #sns-con2 .sns1 .ttxt p {
        font-size: 1.4rem;
        font-weight: 500;
    }

    .btn-link>a,
    .btn-link1>a {
        line-height: 50px;
        margin-bottom: 20px;
    }

    .btn-link1>a:hover {
        font-size: 1.5rem;
    }

    .btn-link1>a:last-child {
        margin-bottom: 0;
    }

    .btn-link>a span,
    #EC-con2 .con ul li .txt p,
    #index-case ul li .case7 {
        font-size: 1.2rem;
    }

    #EC-con2 .con ul li .txt p {
        padding-left: 8px;
        letter-spacing: 0;
    }

    #index-mv {
        background: #fff;
    }

    #index-con1 h2,
    #index-feature ul li .l h3,
    #index-strategy h2,
    #index-strategy h3,
    #index-con2 h2,
    #index-reason h2,
    #index-reason ul li h3,
    #EC-con4 .con4 h2,
    #sns-con1 ul li .r h4,
    #EC-con2 .con h2,
    #EC-con3 .con h2,
    #sns-con1 h2,
    #sns-con2 h2 {
        font-size: 1.8rem;
        margin-top: 6%;
        text-align: left;
    }

     #sns-con1 h2 {
        text-align: center;
     }

    #index-suggest h2,
    #index-case ul li .case4,
    #index-con2 .item .l h4,
    #EC-con1 .txt p,
    #EC-con3 .con ul li .tl p,
    #EC-con3 .con ul li:last-child .tl p,
    #EC-con2 .con ul li h4,
    #sns-con2 .sns2,
    #sns-con2 .sns1 .ttxt h4,
    #EC-con3 .con ul li:last-child .bl p {
        font-size: 1.6rem;

    }

    #EC-con1 .txt p {
        line-height: 1.75;
        text-align: left;
    }

    #index-con1 .txt,
    #EC-con2 .con ul li,
    #EC-con3 .con ul li:nth-child(1) .br,
    #EC-con3 .con ul li:nth-child(2) .br,
    #EC-con3 .con ul li .br {
        margin-top: 5%;
    }

    footer .flogo>a {
        margin: 0 auto;
    }

    #index-strategy ul li .txt,
    #EC-con3 .con ul li .bl,
    #EC-con3 .con ul li:last-child .bl {
        max-width: 100%;
    }

    #index-strategy ul li .pic,
    #index-con2 .item .r,
    #index-case ul li .case3 .l,
    footer .ft,
    #EC-con3 .con ul li:nth-child(1) .br,
    #EC-con3 .con ul li:nth-child(2) .br,
    #EC-con4 .con h4 {
        text-align: center;
    }

    #index-con2 .item {
        padding: 6%;
        flex-wrap: wrap;
    }

    #index-con2 .item .l p:nth-child(1) img,
    #index-con2 .item .m,
    #index-feature ul li .l,
    #index-case ul li .case3 .l,
    footer .ft .fr,
    #EC-con2,
    #EC-con3 .con ul li,
    #EC-con3 {
        margin: 7rem 0;
    }

    footer .ft .fr {
        width: 100%;
    }

    #index-reason ul li,
    #index-con2,
    #index-case,
    #index-faq,
    footer,
    .ecPage #index-reason {
        padding: 15% 0;
        padding-bottom: 5%;
    }

    #EC-con1 {
        padding: 5% 0;
    }

    #index-strategy {
        padding: 5% 0 10% 0;
    }

    #index-feature ul li {
        margin: 20% 0;
    }

    #EC-con4 .con .l .pics img,
    #EC-con4 .con .r .pics img {
        width: 50px;
        margin: 0 8px;
    }

    #index-strategy h3,
    #index-case ul li,
    #EC-con3 .con ul li .b,
    #EC-con4 .con .r {
        padding-bottom: 20px;
        margin: 6% auto;
    }

    #index-case ul li .case6>ul::before,
    #index-case ul li .case6>ul::after {
        height: 100%;
    }

    #index-reason ul li .pic {
        margin-top: 10%;
    }

    #index-faq ul li .t p.tit {
        width: calc(100% - 100px);
        font-size: 1.6rem;
        margin-right: 60px;
    }

    #index-con1 .pics .swiper-button-prev,
    #index-con1 .pics .swiper-button-next {
        width: 36px;
        height: 36px;
    }

    #index-reason ul li .pic1 {
        max-width: 150px;
    }

    .btn-link1>a {
        width: 100%;
        font-size: 12px;
    }

    .btn-link1>a img {
        width: 20px;
    }

    #index-feature {
        margin-top: 20%;
    }

    #index-strategy ul li .pic img {
        transform: rotate(90deg);
        -webkit-transform: rotate(90deg);
        -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        -o-transform: rotate(90deg);
    }

    footer .fr ul li {
        width: calc(100% / 3);
    }

    footer .fr ul li>a {
        padding: 10px 0;
        display: block;
        font-size: 1.2rem;
    }

    footer .fb {
        justify-content: space-around;
    }

    #index-con2::before {
        left: -10%;
        width: 120%;
        height: 15%;
    }

    #index-con2 .con {
        margin-top: 30%;
        width: 88%;
    }

    #nban>img {
        height: 300px;
        object-fit: cover;
    }

    #nban {
        margin-top: 50px;
    }

    #nban .txt,
    .snsPage #nban .txt {
        top: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        -o-transform: translate(-50%, -50%);
        width: 96%;
    }



    /*    none*/
    #EC-con3 .con ul li:last-child::before {
        display: none;
    }

    #EC-con4 .con .l {}

    #EC-con4 .con .r {
        margin-top: 100px;
    }

    #EC-con4 .con .m {
        width: 120px;
        height: 120px;
        top: 46%;
    }

    #EC-con4 .con .m p {
        font-size: 12px;
    }

    #EC-con4 .con .r .pics {
        padding: 20px 20px 10px;
        text-align: center;
    }

    #EC-con4 .con .r {
        padding: 3% 2%;
    }

    #EC-con4 .con .l .pics,
    #sns-con1 ul li .t {
        justify-content: center;
    }

    #index-case ul li .case6>ul>li {
        margin: 0;
        width: 50%;
        text-align: left;
    }

    footer {
        margin-top: 10%;
    }

    #EC-con2 .con>p {
        margin: 6% 0;
        font-size: 1.6rem;
    }


    #sns-con2 .sns2 {
        width: 240px;
        height: 240px;
        font-size: 1.6rem;
    }

    #sns-con2 .sns1 .t,
    #sns-con2 .sns1 .l,
    #sns-con2 .sns1 .r {
        position: static;
        width: 100%;
        box-sizing: border-box;
        transform: none;
        min-width: auto;
        margin: 5% 0;
    }

    #EC-con3 {
        margin: 15% 0;
    }

    #sns-con2 .sns1 .char {
        width: 160px;
        height: 160px;
        margin: 0;
        font-size: 60px;
    }

    #sns-con2 .sns1 .ttxt {
        margin: 0 10px;
    }

    #sns-con1 ul li .r {
        margin: 3% auto;
        width: 100%;
    }

    .ecPage #index-case ul,
    .snsPage #index-case ul {
        width: 96%;
    }

    #index-case ul li .case6>ul {
        margin: 5% auto 3% auto;
        text-align: center;
        width: 100%;
    }

    #nban .txt p {
        min-height: auto;
        margin-bottom: 0;
        text-align: center;
    }

    #index-strategy ul li .txt p {
        min-height: auto;
    }

    .hmodel section:nth-child(1) {
        padding: 20px 0;
    }
}


@media (max-width: 768px) {
    footer .flogo {
        max-width: 200px;
        margin: 0 auto;
    }
}

@media screen and (max-width: 768px) {
    #index-con2 .item .m img {
        max-width: 80px;
    }
}


@media screen and (max-width: 768px) {
    .tr img {
        max-width: 80px;
    }
}

/*.sp_display {
    display: none;
}*/

@media (max-width: 768px) {
    /*.sp_display {
        display: inline;
    }*/

    #index-strategy ul li .pic {
        position: static;
    }
}

.br-pc {
    display: none;
}

@media screen and (min-width: 768px) {
    .br-pc {
        display: block;
    }
}


.br-sp {
    display: none;
}

@media screen and (max-width: 767px) {
    .br-sp {
        display: inline;
    }
}


.b img {
    width: 100%;
}

@media screen and (min-width: 768px) {
    .b img {
        width: auto;
        max-height: 450px;
        height: auto;
    }
}

.share {
    font-size: 2.8rem;
}

@media screen and (max-width: 767px) {
    .share {
        font-size: 22px !important;
    }
}


@media screen and (max-width: 768px) {
    .r img {
        max-width: 80%;
        height: auto;
        display: block;
        margin: 0 auto;
    }
}


@media screen and (max-width: 768px) {
    .l img {
        max-width: 80%;
        height: auto;
    }
}


/*** 20250802 t***/

.contactPage #nban .txt p {
    text-align: center;
    margin-bottom: 0;
}

.contactPage {
    background-color: #F5F5F5;
}

.contact-con {

    padding-bottom: 5%;
}

.contact-con .con {
    margin-top: 50px;
}

.contactPage form {
    padding: 3%;
    background: #fff;
    box-shadow: 0px 0px 71px 0px #00000017;
    max-width: 1248px;
    width: 100%;
    box-sizing: border-box;
    margin: 5% auto 0 auto;
}

.contactPage .item {
    margin-bottom: 20px;
    box-sizing: border-box;
}

.contactPage .item label {
    font-size: 2.4rem;
    color: #000000;
}

.contactPage .item label span {
    display: inline-block;
    width: 82px;
    text-align: center;
    line-height: 38px;
    background: #BEBEBE;
    border-radius: 999px;
    color: #fff;
    font-size: 2.4rem;
    margin-right: 20px;
}

.contactPage .item label span.required {
    background: #E54C69;
}

.contactPage .item .itemUl {
    font-size: 2.4rem;
    margin-top: 10px;
}

.contactPage .item .itemS {
    width: 49%;
    display: inline-block;
}

.contactPage .item input {
    border: 1px solid #BEBEBE;
    padding: 20px;
    font-size: 2.4rem;
    color: #000;
    border-radius: 10px;
    width: 100%;
    box-sizing: border-box;
}

.contactPage .item input::placeholder {
    color: #BEBEBE;
}

.contactPage .item input[name="cprivacy"] {
    width: 30px;
    height: 20px;
    display: inline-block;
}

.contactPage .item.itemType .itemUl>div {
    margin-top: 10px;
    position: relative;
}

.contactPage .item input[name="ctype"] {
    width: 20px;
    height: 21px;
    position: absolute;
    left: 0;
    top: 8px;
    opacity: 0;
}

.contactPage .item input[name="ctype"]+span::before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 50%;
    margin-right: 10px;
}

.contactPage .item input[name="ctype"]:checked+span::before {
    background-color: #ff0000;
}

.contactPage .item .item-privacy {
    display: flex;
    display: inline-flex;
    width: 100%;
    align-items: baseline;
}

.contactPage .item textarea {
    border: 1px solid #BEBEBE;
    padding: 20px;
    font-size: 2.4rem;
    color: #000;
    border-radius: 10px;
    width: 100%;
    box-sizing: border-box;
    font-family: 'Arial';
}

.contactPage button {
    background: #E54C69;
    max-width: 460px;
    width: 90%;
    line-height: 80px;
    text-align: center;
    font-size: 2.4rem;
    color: #FFFFFF;
    border-radius: 999px;
    border: none;
    outline: none;
    margin: 7% auto;
    cursor: pointer;
}

.contactPage .con .item {
    background-color: #F5F5F5;
    padding: 20px;
}

.contactPage .con .item.itemFlex {
    display: flex;
    display: inline-flex;
    width: 100%;
    justify-content: space-between;
}

.thanks-con {
    display: none;
    background: #fff;
    padding: 10% 0;
    text-align: center;
}

.thanks-con h2 {
    font-size: 3.2rem;
    color: #D01D40;
}

.thanks-con p {
    color: #000000;
    font-size: 1.6rem;
    margin-top: 30px;
}

.thanks-con button {
    background: #E54C69;
    max-width: 460px;
    width: 90%;
    line-height: 80px;
    text-align: center;
    font-size: 2.4rem;
    color: #FFFFFF;
    border-radius: 999px;
    border: none;
    outline: none;
    margin: 7% auto;
    cursor: pointer;
}

.thanks-con button>a {
    color: #fff;
    display: block;
}

.thanks-con button>a img {
    vertical-align: middle;
}

#downloadPage {
    margin-top: 7%;
    text-align: center;
    padding-bottom: 7%;
}

#downloadPage .con1 {
    display: flex;
    display: inline-flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1200px;
}

#downloadPage .con1 .r {
    width: 340px;
    padding-left: 30px;
}

#downloadPage .con1 .l {
    width: calc(100% - 340px - 30px);
}

#downloadPage .con1 .l h2 {
    color: #D01D40;
    font-size: 3.2rem;
    text-align: left;
}

#downloadPage .con1 .l p {
    font-size: 1.6rem;
    line-height: 2;
    text-align: center;
}

#downloadPage .con1 .l p.stxt {
    font-size: 1.4rem;
    margin-top: 4%;
}

#downloadPage .con1 .l .txt {
    border-radius: 20px;
    background-color: #fff;
    padding: 20px;
    margin-top: 5%;
    margin-bottom: 10%;
}

#downloadPage .con1 .l .txt p {
    margin-bottom: 20px;
    text-align: left;
}

#downloadPage .con1 .l .txt p img {
    vertical-align: text-bottom;
    width: 3.2rem;
}

#downloadPage .con1 .r form {
    text-align: left;
    background-color: #E54C6926;
    border-radius: 20px;
    padding: 20px;
}

#downloadPage .r form .item label {
    font-size: 13px;
    font-weight: 600;
}

#downloadPage .item label span {
    width: 44px;
    font-size: 10px;
    line-height: 16px;
}

#downloadPage .item .itemUl {
    font-size: 14px;
}

#downloadPage .item input[type="radio"] {
    width: 15px;
    height: 15px;
    top: 0;
}

#downloadPage .item input[type="radio"]+span::before {
    width: 8px;
    height: 8px;
    border: none;
}

#downloadPage .item input {
    font-size: 1.4rem;
    padding: 10px;
}

#downloadPage .item textarea {
    font-size: 1.4rem;
}

#downloadPage .con .item {
    padding: 0;
    background-color: transparent;
}

#downloadPage button {
    background-color: #D01D40;
    font-size: 1.6rem;
    line-height: 40px;
    max-width: 205px;
}

#downloadPage .item input[type="checkbox"] {
    width: 8px;
    height: 8px;
}

#downloadPage .item .item-privacy p {
    margin-left: 10px;
}

.contactPage #nban .txt {
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
}

.newPage {
    background: #fff;
    padding: 4rem 0;
}

.newPage .cate {
    display: flex;
    display: inline-flex;
    width: 100%;
    justify-content: center;
}

.newPage .cate p {
    font-size: 1.6rem;
    color: #000000;
    margin-right: 20px;
    font-weight: 700;
    line-height: 43px;
}

.newPage .cate>ul {
    color: #E54C69;
    max-width: 260px;
    width: calc(100% - 100px);
}

.newPage .cate>ul>li {
    position: relative;
}

.newPage .cate>ul>li>a {
    font-size: 1.6rem;
    font-weight: 700;
    display: block;
    line-height: 43px;
    color: #E54C69;
    background: #F4F4F4;
    border-radius: 999px;
    padding: 0 20px;
    position: relative;
}

.newPage .cate>ul>li>a img {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
}

.newPage .cate>ul>li .sec {
    background: #f4f4f4;
    display: none;
    position: absolute;
    top: 90%;
    width: 100%;
}

.newPage .cate>ul>li .sec>li {}

.newPage .cate>ul>li .sec>li>a {
    font-size: 1.6rem;
    font-weight: 700;
    display: block;
    line-height: 43px;
    color: #E54C69;
    background: #F4F4F4;
    padding: 0 20px;
}

.newPage .itemUl {
    margin-top: 4rem;
    display: flex;
    display: inline-flex;
    flex-wrap: wrap;
}

.newPage .itemUl .item {
    margin-right: 15px;
    background: #F8F8F8;
    border-radius: 10px;
    width: calc(100% / 3 - 10px);
}

.newPage .itemUl .item:nth-child(3n+3) {
    margin-right: 0;
}

.newPage .itemUl .item>a {}

.newPage .itemUl .item>a img {}

.newPage .itemUl .item>a p {
    padding: 20px 20px 10px 20px;
    color: #000000;
    font-size: 2rem;
}

.newPage .itemUl .item>a p span {
    display: inline-block;
    font-size: 12px;
    color: #FFFFFF;
    background-color: #E54C69;
    border-radius: 999px;
    line-height: 25px;
    width: 70px;
    text-align: center;
    margin-left: 20px;
    vertical-align: middle;
}

.newPage .itemUl .item>a h2 {
    padding: 0 20px 20px 20px;
    font-size: 2.4rem;
    color: #E54C69;
}

.newPage .pagination {
    margin-top: 2%;
    margin-bottom: 6%;
    text-align: center;
}

.newPage .pagination>a {
    display: inline-block;
    width: 132px;
    line-height: 49px;
    text-align: center;
    background-color: #C4C4C4;
    border-radius: 999px;
    font-size: 2.4rem;
    color: #fff;
    margin: 0 5px;
}

.newPage .pagination>a.page-num {
    display: inline-block;
    width: 49px;
    text-align: center;
    line-height: 49px;
    padding: 0;
}

.newPage .pagination>a.page-num-current {
    background-color: #E54C69;
}

.newArticle {
    background-color: #fff;
    padding: 5rem 0;
}

.newArticle .con {
    display: flex;
    display: inline-flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: space-between;
    margin-top: 5rem;
}

.newArticle .con .l {
    width: 76%;
}

.newArticle h1 {
    font-size: 32px;
    color: #E54C69;
    font-weight: 700;
    text-align: center;
}

.newArticle .date {
    font-size: 2rem;
    color: #000000;
    text-align: center;
    margin-top: 20px;
}

.newArticle .date span {
    display: inline-block;
    width: 70px;
    text-align: center;
    line-height: 25px;
    font-size: 12px;
    color: #FFFFFF;
    background: #E54C69;
    border-radius: 999px;
    margin-left: 10px;
    vertical-align: middle;
}

.newArticle .con .l .txt img{
    max-width: 100%;
}

.newArticle .con .l .txt p {
    font-size: 1.6rem;
    line-height: 3;
}

.newArticle .con .r {
    max-width: 322px;
    width: 24%;
    padding-left: 30px;
    box-sizing: border-box;
}

.newArticle .con .r .cate {}

.newArticle .con .r .cate h3 {
    color: #000000;
    font-size: 2.4rem;
    margin-bottom: 20px;
}

.newArticle .con .r .cate ul {}

.newArticle .con .r .cate ul li>a {
    display: block;
    font-size: 1.6rem;
    color: #808080;
    padding-bottom: 10px;
    border-bottom: 1px solid #C4C4C4;
    margin-bottom: 10px;
}

.newArticle .con .r .cate ul li:last-child>a {
    border-bottom: none;
}


.newArticle .con .r .newUL {}

.newArticle .con .r .newUL h3 {
    color: #000000;
    font-size: 2.4rem;
    margin-bottom: 20px;
}

.newArticle .con .r .newUL>ul {}

.newArticle .con .r .newUL>ul>li {
    width: 100%;
    display: block;
    margin-bottom: 20px;
}

.newArticle .con .r .newUL>ul>li>a {
    display: flex;
    display: inline-flex;
    flex-wrap: wrap;
    width: 100%;
}

.newArticle .con .r .newUL>ul>li .img {
    width: 62px;
}

.newArticle .con .r .newUL>ul>li .info {
    margin-left: 10px;
    width: calc(100% - 62px - 10px);
}

.newArticle .con .r .newUL>ul>li .info h4 {
    font-size: 1.6rem;
    color: #000000;
}

.newArticle .con .r .newUL>ul>li .info p {
    font-size: 1.6rem;
    color: #808080;
}

.newArticle .more {
    display: block;
    width: 100%;
    text-align: center;
    max-width: 460px;
    line-height: 80px;
    background: #E54C69;
    font-size: 2.4rem;
    color: #FFFFFF;
    border-radius: 999px;
    margin: 6% auto 2% auto;
}

.privacyPage {
    background-color: #fff;
    padding: 5rem 0;
}
.privacyPage h1{
    color: #E54C69;
    font-size: 3.2rem;
    text-decoration: underline;
    text-align: center;
}
.privacyPage .txt{
    width: 100%;
    max-width: 988px;
    margin: 3rem auto 0 auto;
}
.privacyPage .txt p{
    font-size: 1.6rem;
    color: #000;
    line-height: 2.75;
}


main {
    margin-top: 80px;
}

@media (max-width: 992px) {

    #index-con1,
    #index-case ul {
        padding-left: 0;
        padding-right: 0;
    }

    .container,
    #index-mv .mv_l,
    #index-con2 h2,
    #index-case ul {
        width: 88%;
        margin-left: auto;
        margin-right: auto;
    }


    #index-feature ul li .l {
        padding-left: 20px;
    }

    #index-con2 .item .m {
        width: 100%;
    }

    #index-con2 .item .m .txt ul li {
        min-width: auto;
    }

    #index-con2 .item.-tiktok .m .txt ul li p {
        font-size: 10px;
    }

    #index-case {
        text-align: center;
    }

    #index-mv .mv_l {
        text-align: center;
    }

    #index-strategy ul li .txt {
        position: relative;
    }

    #index-strategy ul li .num {
        position: absolute;
        top: 0;
        left: 50%;
        width: 80px;
        height: 80px;
        line-height: 40px;
        transform: translate(-50%, -50%);
    }

    #index-strategy ul li .txt p {
        margin-bottom: 0;
        font-size: 1.4rem;
    }

    #index-strategy ul li .pic {
        width: 100%;
        height: 40px;
        display: flex;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        overflow: hidden;
        margin: 6px 0 0 0;
        position: static;
    }

    #index-strategy ul li .pic img {
        height: 80px;
    }

    #index-con2 {
        padding-top: 5%;
    }

    #index-con2 .item.-rednote {
         background: linear-gradient(90deg, #D01D40 0%, #FE2642 50%, #fe8c9b 100%);
    }

    #index-reason ul li .num {
        font-size: 5rem;
    }

    #index-case h2 {
        font-size: 23px;
    }

    #index-case ul li .case6>ul>li p {
        font-size: 13px;
    }

    #index-case ul li .case3 .r {
        padding-left: 2%;
        padding-right: 2%;
    }

    #index-case ul li .case6>ul {
        padding: 0 10px;
    }

    #EC-con3 .con ul li {
        padding: 0 2%;
    }

    .snsPage #EC-con2 .con ul li .txt {
        display: flex;
        display: inline-flex;
        flex-wrap: wrap;
    }

    .snsPage #EC-con2 .con ul li .txt p {
        width: 50%;
        font-size: 10px;
        margin: 6px 0;
    }

    .snsPage #EC-con2 .con ul li {
        margin-top: 5%;
    }

    #sns-con2 h2 {
        text-align: center;
    }

    #downloadPage .con1,
    .newArticle .con {
        display: block;
    }

    #downloadPage .con1 .l,
    #downloadPage .con1 .r,
    header .hmenu ul li:last-child {
        width: 100%;
        padding-left: 0;
    }
    #downloadPage .con1 .r {
        margin-top: 6rem;
    }

    header .hlogo {
        width: auto;
        height: 40px;
    }

    #downloadPage .con1 .l h2 {
        font-size: 2.6rem;
    }

    .contactPage .item label,
    .contactPage .item .itemUl,
    .contactPage .item input,
    .contactPage .item textarea,
    .contactPage button,
    .newPage .itemUl .item>a h2,
    .newArticle .date {
        font-size: 1.6rem;
    }

    .newPage .itemUl .item>a p,
    .newArticle .con .r .newUL>ul>li .info h4,
    .newArticle .con .r .newUL>ul>li .info p {
        font-size: 1.4rem;
    }

    .contactPage .item label span {
        width: 50px;
        line-height: 24px;
        font-size: 1.2rem;
        margin-right: 10px;
    }

    .contactPage .item input {
        padding: 10px;
    }

    .contactPage button {
        line-height: 60px;
    }

    .newPage .itemUl .item,
    .newArticle .con .l,
    .newArticle .con .r {
        width: 100%;
        margin-right: 0;
    }

    .newPage .pagination>a.page-num {
        width: 40px;
        line-height: 40px;
        font-size: 1.6rem;
    }

    .newArticle h1 {
        font-size: 2rem;
    }

    .privacyPage h1 {
        font-size: 2.6rem;
    }

    .newArticle .con .r {
        padding-left: 0;
        margin-top: 2rem;
    }
    .newArticle .more {
        font-size: 1.6rem;
        line-height: 50px;
    }

    #index-reason ul li h3 {
        margin-top: 0;
    }
}

@media (max-width: 768px) {
    #index-strategy ul li .txt {
    }
}