@charset "utf-8";

@font-face {
    font-family: "nicomoji";
    src: url("../font/nicomoji_1.00.ttf") format("truetype");
}

/*
font-family: 'Noto Sans JP', sans-serif;
font-family: "Neonderthaw", cursive;
font-family: "Oooh Baby", cursive;
*/

html {
    font-family: 'Noto Sans JP', sans-serif;
    caret-color: transparent;
    scroll-padding-top: 60px;
    scroll-behavior: smooth;
}
body {
    background: #fff;
    color: #333333;
    min-width: auto;
    margin: 0 auto;
}

.inner {max-width: 1140px;width: 100%;padding:0 20px;margin: 0 auto;box-sizing: border-box;}

a {color: #333333;}

.text_color {
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(336deg, rgb(238.00000101327896, 135.00000715255737, 180.00000447034836) 2.2636953741312027%, rgb(238.50000858306885, 134.00000721216202, 160.00000566244125) 24.135300517082214%, rgb(238.75000476837158, 133.00000727176666, 126.00000768899918) 46.109843254089355%, rgb(242.87500262260437, 163.00000548362732, 118.5000005364418) 66.4044439792633%, rgb(244.93750154972076, 202.50001072883606, 120.74999660253525) 90.12975096702576%);
    background-clip: text;
}
.text_color2 {
    background: linear-gradient(301.56deg, #C07BB6 19.31%, #EA5E9C 35.88%, #F36B8D 53.61%, #E76A62 71.33%, #EA854D 83.75%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;

}

main {
    overflow: hidden;
}

/* **************************************************************** */
/* ヘッダー
*/
header {
    background-color: #FFFFFF;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
    position: sticky;
    width: 100%;
    height: 60px;
    top: 0;
    left: 0;
    z-index: 10000;
}

header .inner {
    position: relative;
    height: 100%;
    z-index: 2;
    align-items: center;
    justify-content: space-between;
}
header .logo {

}
header .logo h1 {
    font-family: 'nicomoji', sans-serif;
    font-size: 36px;
    line-height: 1em;
}
header .logo h1 a {
    text-decoration: none;
}
.header_menu {
    flex: 1 0 0%;
}
.header_menu ul {
    align-items: center;
    justify-content: center;
    gap: 2em;
}
.header_menu ul li {

}
.header_menu ul li a {

}
.header_menu ul li a span {
    display: inline-block;
    font-size: 16px;
    font-weight: 900;
    position: relative;
}

.header_menu ul li a span:after {
    content: '';
    display: block;
    height: 2px;
    width: 100%;
    left: 0;
    transition-duration: 0.2s;
    opacity: 0;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    background: linear-gradient(336deg, rgb(238.00000101327896, 135.00000715255737, 180.00000447034836) 2.2636953741312027%, rgb(238.50000858306885, 134.00000721216202, 160.00000566244125) 24.135300517082214%, rgb(238.75000476837158, 133.00000727176666, 126.00000768899918) 46.109843254089355%, rgb(242.87500262260437, 163.00000548362732, 118.5000005364418) 66.4044439792633%, rgb(244.93750154972076, 202.50001072883606, 120.74999660253525) 90.12975096702576%);
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.header_menu ul li a:hover span:after {
    opacity: 1;
}



/* **************************************************************** */
/* フッター
*/
footer {
	background: #333;
    color:#fff;
    padding: 0;
}
.copy_bloc small {
    display: block;
    color: #fff;
    font-size: 14px;
    line-height: 1;
    padding: 1em 0 1em;
}


.fotter_logo {
    width: 100%;
    text-align: left;
    margin-bottom: 1em;
}
.fotter_logo h1 {
    font-family: 'nicomoji', sans-serif;
    font-size: 48px;
    line-height: 1em;
}


.footer_sns {
    margin-bottom: 1em;
}
.footer_sns ul {
    align-items: center;
    justify-content: center;
    gap: 2em;

}
.footer_sns ul li {
    
}
.footer_sns ul li a {
    
}
.footer_sns ul li a svg {
    
}
.footer_sns ul li a:hover {
    opacity:0.5;
}



.footer_content {
    padding-top: 3em;
}
.footer_bloc {
    align-items: flex-start;
    justify-content: space-between;
}

.footer_info {
    text-align: left;
}

.footer_info dl {

}
.footer_info dl + dl {
    margin-top:1em;
}
.footer_info dl dt {
    font-size: 14px;
    position: relative;
    padding-left: 2em;
}
.footer_info dl dd {
    font-size: 14px;
    position: relative;
    padding-left: 2em;
}

.footer_icon_01:before {
    content: "";
    background: url(../images/icon_footer_01.svg) no-repeat;
    background-size: contain;
    width: 1.5em;
    height: 1.5em;
    position: absolute;
    top: 2px;
    left: 0;
}
.footer_icon_02:before {
    content: "";
    background: url(../images/icon_footer_02.svg) no-repeat;
    background-size: contain;
    width: 1.5em;
    height: 1.5em;
    position: absolute;
    top: 2px;
    left: 0;
}
.footer_icon_03:before {
    content: "";
    background: url(../images/icon_footer_03.svg) no-repeat;
    background-size: contain;
    width: 1.5em;
    height: 1.5em;
    position: absolute;
    top: 2px;
    left: 0;
}
.footer_icon_04:before {
    content: "";
    background: url(../images/icon_footer_04.svg) no-repeat;
    background-size: contain;
    width: 1.5em;
    height: 1.5em;
    position: absolute;
    top: 2px;
    left: 0;
}
.footer_icon_05:before {
    content: "";
    background: url(../images/icon_footer_05.svg) no-repeat;
    background-size: contain;
    width: 1.5em;
    height: 1.5em;
    position: absolute;
    top: 2px;
    left: 0;
}

.footer_menu {

}
.footer_menu nav {

}
.footer_menu nav ul {
    align-items: center;
    justify-content: flex-end;
    gap: 2em;
}
.footer_menu nav ul + ul {
    margin-top: 1em;
}
.footer_menu nav ul li {

}
.footer_menu nav ul li a {
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
}
.footer_menu nav ul li a:hover {
    opacity: 0.5;
}




/* **************************************************************** */
/* 個別CSS
*/

.mv {
    background: linear-gradient(180deg, rgba(186.0000041127205, 121.00000038743019, 177.0000046491623, 0.30000001192092896) 0%, rgba(238.00000101327896, 135.00000715255737, 180.00000447034836, 0.30000001192092896) 17.722229659557343%, rgba(238.50000858306885, 134.00000721216202, 160.00000566244125, 0.30000001192092896) 34.222230315208435%, rgba(238.75000476837158, 133.00000727176666, 126.00000768899918, 0.30000001192092896) 50.222229957580566%, rgba(242.87500262260437, 163.00000548362732, 118.5000005364418, 0.30000001192092896) 65.72222709655762%, rgba(244.93750154972076, 202.50001072883606, 120.74999660253525, 0.30000001192092896) 84.2222273349762%, rgba(193.00000369548798, 219.0000021457672, 129.00000751018524, 0.30000001192092896) 100%);
    background-color: transparent;
    height: 480px;
    position: relative;
}
.mv:after {
    content: "";
    background: url(../images/img_mv_bg.webp) no-repeat left center;
    background-size: cover;
    width: 50%;
    height: calc(100% - 2em);
    position: absolute;
    bottom: 1em;
    left: auto;
}

.mv .inner {
    height: 100%;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    z-index: 3;
}
.mv_bloc {
    text-align: center;
}
.mv_bloc h1 {
    display: inline-block;
    font-weight: 900;
    margin-bottom: 0.25em;
}
.mv_bloc h1 em {
    font-size: 92px;
    line-height: 1em;
}
.mv_bloc h1 span {
    font-size: 48px;
    line-height: 1em;
}
.mv_bloc p {
    font-size: 24px;
    line-height: 1em;
    font-weight: 900;
    letter-spacing: 7.68px;
    margin-bottom: 1em;
}

.mv_bloc figure {
    display:none;
}
.mv_bloc .mv_list {
    align-items: center;
    justify-content: center;
    gap: 1em;
}
.mv_bloc .mv_list li {
    background: linear-gradient(336deg, rgb(238.00000101327896, 135.00000715255737, 180.00000447034836) 2.2636953741312027%, rgb(238.50000858306885, 134.00000721216202, 160.00000566244125) 24.135300517082214%, rgb(238.75000476837158, 133.00000727176666, 126.00000768899918) 46.109843254089355%, rgb(242.87500262260437, 163.00000548362732, 118.5000005364418) 66.4044439792633%, rgb(244.93750154972076, 202.50001072883606, 120.74999660253525) 90.12975096702576%);
    background-color: transparent;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
}
.mv_bloc .mv_list li span {
    display: inline-block;
    color: #fff;
    font-size: 16px;
    line-height: 1.4em;
    font-weight: bold;
}




.cta {
    background: url(../images/bg_cta.webp) no-repeat center;
    background-size:cover;
    padding: 3em 0;
}


.cta01 {

}

.cta_bloc {
    background: #fff url(../images/bg_cta_bloc_01.webp) no-repeat left center;
    background-size: contain;
    padding: 1em;
    border-radius: 1em;
}
.cta_bloc .cta_box {
    background-color: transparent;
    border: 2px solid;
    border-color: transparent;
    border-image: linear-gradient(to bottom, rgb(186.0000041127205, 121.00000038743019, 177.0000046491623), rgb(238.00000101327896, 135.00000715255737, 180.00000447034836) 17.722229659557343%, rgb(238.50000858306885, 134.00000721216202, 160.00000566244125) 34.222230315208435%, rgb(238.75000476837158, 133.00000727176666, 126.00000768899918) 50.222229957580566%, rgb(242.87500262260437, 163.00000548362732, 118.5000005364418) 65.72222709655762%, rgb(244.93750154972076, 202.50001072883606, 120.74999660253525) 84.2222273349762%, rgb(193.00000369548798, 219.0000021457672, 129.00000751018524) 100%) 1;
    padding: 1em 0;
    align-items: center;
    justify-content: space-between;
}

.cta_catch {
    flex: 1 0 0%;
    padding: 0 3em;
}
.cta_catch span {
    display: inline-block;
    background: url(../images/img_cta__ribbon.svg) no-repeat center;
    background-size: contain;
    color: #fff;
    font-size: 16px;
    line-height: 1em;
    font-weight: bold;
    padding: 0.5em 3em;
}
.cta_catch h1 {
    align-items: center;
    justify-content: center;
}
.cta_catch h1 strong {
    display: inline-block;
    font-size: 24px;
    font-weight: 900;
}
.cta_catch h1 strong em {

}

.cta_catch i {
    display: block;
    width: 50px;
    height: 50px;
}
.cta_catch i img {
    display: block;
}

.cta_link {
    padding: 0 3em;
}
.cta_link p {
    margin-bottom: 0.25em;
}
.cta_link p span {
    display: inline-block;
    font-size: 12px;
    line-height: 1.4em;
    font-weight: bold;
    position: relative;
    padding: 0 1em;
}
.cta_link p span:before {
    content: "";
    width: 1px;
    height: 3em;
    border-left: solid 1px #333;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: rotate(-25deg);
}
.cta_link p span:after {
    content: "";
    width: 1px;
    height: 3em;
    border-left: solid 1px #333;
    position: absolute;
    bottom: 0;
    right: 0;
    transform: rotate(25deg);
}

.cta_btn_bloc {

}

.cta_btn_bloc em {
    display: block;
    background: #333;
    color: #fff;
    text-decoration: none;
    font-size: 1em;
    line-height: 1em;
    font-weight: bold;
    width: 360px;
    padding: 1em;
    box-sizing: border-box;
    border-radius: 50px;
    position: relative;
}

.cta_btn_bloc a span {
    display: inline-block;
    position: relative;
    z-index: 2;
}
.cta_btn_bloc em:before {
    content: "";
    width: 42px;
    height: 74px;
    background: url(../images/img_cta_line.webp) no-repeat bottom;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: 1.5em;
    z-index: 2;
}
.cta_btn_bloc em:after {
    content: "";
    width: 1em;
    height: 1em;
    background: #fff url(../images/icon_arrow.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    right: 1em;
    z-index: 2;
    border-radius: 50%;
}

.cta01 a {
    display: block;
    text-decoration: none;
}
.cta01 a:hover .cta_btn_bloc em {
    opacity: 0.5;
}

.cta02 {
    position: relative;
    overflow: hidden;
}
.cta02:before {
    content: "";
    width: 283px;
    height: 283px;
    background: url(../images/img_cta02_text.webp) no-repeat;
    background-size: contain;
    position: absolute;
    top: 40px;
    right: -50px;
}
.cta02:after {
    content: "";
    width: 283px;
    height: 283px;
    background: url(../images/img_cta02_text.webp) no-repeat;
    background-size: contain;
    position: absolute;
    top: -140px;
    left: -80px;
}



.cta02 .cta_btn_bloc a {
    display: block;
    background: #333;
    color: #fff;
    text-decoration: none;
    font-size: 1em;
    line-height: 1em;
    font-weight: bold;
    width: 360px;
    padding: 1em;
    box-sizing: border-box;
    border-radius: 50px;
    position: relative;
}
.cta02 .cta_btn_bloc a:before {
    content: "";
    width: 42px;
    height: 74px;
    background: url(../images/img_cta_line.webp) no-repeat bottom;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: 1.5em;
    z-index: 2;
}
.cta02 .cta_btn_bloc a:after {
    content: "";
    width: 1em;
    height: 1em;
    background: #fff url(../images/icon_arrow.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    right: 1em;
    z-index: 2;
    border-radius: 50%;
}
.cta02 .cta_btn_bloc a:hover {
    opacity:0.5;
}













.cta02 .cta_btn_bloc a {
    font-size: 20px;
    font-weight: 900;
    width: 500px;
    padding: 1.5em;
    box-shadow: 2px 4px 4px #00000029;
    color: #333;
    background: #fff;
    border: solid 2px #333;
    margin: 0 auto;
}
.cta02 .cta_btn_bloc a:before {
    width: 64px;
    height: 111px;
    background: url(../images/img_cta2_line.webp) no-repeat bottom;
    background-size: contain;
}


.cta02 .cta_btn_bloc a:after {
    background: #333 url(../images/icon_arrow_w.svg) no-repeat center;
    background-size: contain;
    width: 1.25em;
    height: 1.25em;
}

.bg_wrap {
    background: linear-gradient(180deg, rgba(186.0000041127205, 121.00000038743019, 177.0000046491623, 0.30000001192092896) 0%, rgba(238.00000101327896, 135.00000715255737, 180.00000447034836, 0.30000001192092896) 17.722229659557343%, rgba(238.50000858306885, 134.00000721216202, 160.00000566244125, 0.30000001192092896) 34.222230315208435%, rgba(238.75000476837158, 133.00000727176666, 126.00000768899918, 0.30000001192092896) 50.222229957580566%, rgba(242.87500262260437, 163.00000548362732, 118.5000005364418, 0.30000001192092896) 65.72222709655762%, rgba(244.93750154972076, 202.50001072883606, 120.74999660253525, 0.30000001192092896) 84.2222273349762%, rgba(193.00000369548798, 219.0000021457672, 129.00000751018524, 0.30000001192092896) 100%);
}

.title_bloc {
    margin-bottom: 2em;
}
.title_bloc h1 {
    font-size: 1em;
    line-height: 1em;
    margin-bottom: 0.25em;
}
.title_bloc h1 span {
    display: inline-block;
    font-size: 54px;
    line-height: 1.4em;
    font-weight: 900;
}
.title_bloc p {
    font-size: 18px;
    font-weight: bold
}


.service_sec {
    padding: 3em 0;
}

.service_item {
    width: calc(100% / 4 - 1em);
    position: relative;
    box-shadow: 0px 0px 16px #00000029;
    background: #fff url(../images/bg_service_item.webp) no-repeat center bottom;
    background-size: contain;
    padding: 1em 1em 1em;
    border-radius: 1em;
    box-sizing: border-box;
}
.service_item .upper {
    height: 80px;
}
.service_item .upper h2 {
    font-size: 18px;
    line-height: 1.4em;
    font-weight: 900;
}
.service_item .upper h2 em {
    display: inline-block;
}
.service_item .bottom {
    
}


.service_item:nth-child(1) .upper {
    align-items: center;
    justify-content: center;
}
.service_item:nth-child(1)  .upper h2 {
    text-align: left;
}
.service_item:nth-child(1)  .upper h2 span {
    
}
.service_item:nth-child(1)  .upper i {
    display: inline-block;
    width: 70px;
    margin-top: 10px;
}

.service_item:nth-child(2) .upper {
    align-items: center;
    justify-content: center;
}
.service_item:nth-child(2)  .upper h2 {
    text-align: left;
}
.service_item:nth-child(2) .upper h2 span {
    
}
.service_item:nth-child(2) .upper i {
    display: inline-block;
    width: 86px;
}

.service_item:nth-child(3) .upper {
    align-items: center;
    justify-content: center;
}
.service_item:nth-child(3)  .upper h2 {
    
}

.service_item:nth-child(4) .upper {
    align-items: center;
    justify-content: center;
}
.service_item:nth-child(4)  .upper h2 {
    
}

.service_item:nth-child(3) i {
    width: 90px;
    position: absolute;
    bottom: 1.5em;
    right: 0.5em;
}
.service_item:nth-child(4) i {
    width: 86px;
    position: absolute;
    bottom: 1.5em;
    left: 0;
}


.sepa_catch {
    height: 286px;
}
.sepa_catch_slider_item {
    -webkit-text-stroke: 1px #fff;
    background-color: transparent;
    color: transparent;
    font-size: 200px;
    line-height: 250px;
    font-weight: 900;
    text-align: center;
    padding: 1rem 0;
}
.sepa_catch_slider .slick-slide {
    margin:0 1em;
}

.case_sec {
    padding: 3em 0;
}
.case_content {

}
.case_slider_wrap {

}
.case_slider {

}

.case_slider_item {
    box-shadow: 0px 0px 16px #00000029;
    background: #fff;
    border-radius: 1em;
    overflow: hidden;
    height: 100%;
    max-width: 400px;
}
.case_slider_item figure {
    position: relative;
}
.case_slider_item figcaption {
    position: absolute;
    font-family: "Neonderthaw", cursive;
    font-size: 36px;
    line-height: 1em;
    top: 0.5em;
    left: 0.5em;
    transform: rotate(-10deg);
}
.case_slider_item .box {
    padding: 1em;
    text-align: left;
}
.case_slider_item .box .age {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 0.5em;
}
.case_slider_item .box h2 {
    background: linear-gradient(336deg, rgb(238.00000101327896, 135.00000715255737, 180.00000447034836) 2.2636953741312027%, rgb(238.50000858306885, 134.00000721216202, 160.00000566244125) 24.135300517082214%, rgb(238.75000476837158, 133.00000727176666, 126.00000768899918) 46.109843254089355%, rgb(242.87500262260437, 163.00000548362732, 118.5000005364418) 66.4044439792633%, rgb(244.93750154972076, 202.50001072883606, 120.74999660253525) 90.12975096702576%);
    color: #fff;
    font-size: 1em;
    line-height: 1.4em;
    padding: 0.5em 1em;
    border-radius: 0.5em;
    display: inline-block;
    margin-bottom: 0.5em;
}
.case_slider_item .box .message {
    font-size: 14px;
    line-height: 1.4em;
}

.case_slider .slick-track,
.voice_slider .slick-track {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.case_slider .slick-slide,
.voice_slider .slick-slide {
    height: auto !important;

}
.case_slider .slick-slide > div,
.voice_slider .slick-slide > div {
    height:100%;
}


.case_slider .slick-slide,
.voice_slider .slick-slide {
    transform: scale(.9);
    transform-origin: 50% 50%;
    transition: transform .3s;
    margin: 0 auto;
}

.case_slider .slick-slide.slick-center,
.voice_slider .slick-slide.slick-center {
    transform: scale(1);
    margin: 0 1em;
}

.case_slider .slick-dotted.slick-slider,
.voice_slider .slick-dotted.slick-slider {
    margin-bottom: 0;
}

.slick-dots li.slick-active button:before {
    opacity: 1;
    color: #F06A89;
}
.slick-dots li button:before {
    opacity: 1;
    color: #fff;
    font-size: 8px;
}

.slick-dots {
    position: static;
    margin: 1em auto 0;
    display: inline-block !important;
    width: auto;
    margin-left: auto;
}


.slick-prev, .slick-next {
    width: 40px;
    height: 40px;
}
.slick-prev {
    left: 50%; 
    z-index: 10;
}
.slick-next {
    right: 50%;
    z-index: 10;
}

.slick-prev:before {
    content: "";
    width: 40px;
    height: 40px;
    background: url(../images/icon_arrow_left.webp) no-repeat;
    background-size: contain;
    display: block;
    opacity:1;
}

.slick-next:before {
    content: "";
    width: 40px;
    height: 40px;
    background: url(../images/icon_arrow_right.webp) no-repeat;
    background-size: contain;
    display: block;
    opacity:1;
}

.slick-prev:hover:before,
.slick-next:hover:before {
    opacity:0.5;
}

.slick-dots li button:before {
    content: '\2022';
}



.about_sec {
    padding: 3em 0;
}
.about_content_wrap {

}
.about_content {
    box-shadow: 0px 0px 16px #00000029;
    background: #fff;
    border-radius: 1em;
    padding: 2em;
}

.about_bloc {

}
.about_bloc .upper {
    margin-bottom: 2em;
}
.about_bloc .upper p {
    font-size: 1em;
    font-weight: bold;
}

.about_bloc .middle {
    margin-bottom: 3em;
}

.about_photo {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 600px;
}
.about_photo:before {
    content:"";
    background: linear-gradient(180deg, rgba(204.44769501686096, 237.0408108830452, 217.59930610656738, 0.699999988079071) 0%, rgba(251.00000023841858, 215.0000023841858, 134.00000721216202, 0.699999988079071) 49.222227931022644%, rgba(251.20748430490494, 187.8241342306137, 189.8362934589386, 0.699999988079071) 99.5043694972992%);
    background-color: transparent;
    border-radius: 160px;
    filter: blur(80px);
    height: 320px;
    left: 67px;
    position: absolute;
    top: 20px;
    width: 320px;
}
.about_photo:after {
    content:"";
    background: linear-gradient(180deg, rgba(204.44769501686096, 237.0408108830452, 217.59930610656738, 0.699999988079071) 0%, rgba(251.00000023841858, 215.0000023841858, 134.00000721216202, 0.699999988079071) 49.222227931022644%, rgba(251.20748430490494, 187.8241342306137, 189.8362934589386, 0.699999988079071) 99.5043694972992%);
    background-color: transparent;
    border-radius: 160px;
    filter: blur(80px);
    height: 320px;
    left: 325px;
    position: absolute;
    top: 1em;
    width: 320px;
}
.about_photo p {
    font-family: "Oooh Baby", Helvetica;
    font-size: 64px;
    transform: rotate(-15deg);
    position: absolute;
    top: 2.75em;
    left: 0.5em;
    z-index: 12;
}
.about_photo .figure_01 {
    max-width: 360px;
    position: relative;
    z-index: 10;
}
.about_photo .figure_02 {
    display: block;
    max-width: 300px;
    margin-left: auto;
    margin-top: -2em;
    position: relative;
    z-index: 10;
}

.about_bloc .bottom {
    
}

.about_list {

}

.about_item {
    width: calc(100% / 4 - 1em);
    border: 2px solid;
    border-color: transparent;
    border-image: linear-gradient(to bottom, rgb(204.44769501686096, 237.0408108830452, 217.59930610656738), rgb(251.00000023841858, 215.0000023841858, 134.00000721216202) 49.222227931022644%, rgb(251.20748430490494, 187.8241342306137, 189.8362934589386) 99.5043694972992%) 1;
    position: relative;
    padding: 1em;
    box-sizing: border-box;
}
.about_item h3 {
    margin-top: -2em;
    margin-bottom: 0.5em;
}


.about_item figure {
    padding: 0 1em;
    margin-bottom: 1em;
}
.about_item p {
    font-size: 0.9em;
    line-height: 1.4em;
    font-weight: 900;
}
.about_item p em {
    
}


.client_sec {
    padding: 3em 0;
}
.client_sec h1 {
    font-size: 24px;
    line-height: 1.6em;
    margin-bottom: 2em;
}
.client_sec h1 span {
    background: linear-gradient(transparent 60%, #FADADA 60%);
}

.client_bloc {

}
.client_bloc ul {
    align-items: center;
    justify-content: flex-start;
    gap: 1em 0.65em;
    margin: 0 auto;
}
.client_bloc ul li {
    box-shadow: 0px 0px 8px #d5d5d566;
    width: calc(100% / 4 - 0.5em);
    padding: 0.5em;
    box-sizing: border-box;
}
.client_bloc ul li img {
    max-height: 2em;
}


.situation_sec {
    padding:3em 0;
}
.situation_bloc {
    max-width: 920px;
    margin: 0 auto;
}



.solution_sec {
    padding: 6em 0 3em;
    position: relative;
}

.solution_sec:before {
    content: "";
    width: 26px;
    height: 67px;
    background: url(../images/img_solution.webp) no-repeat;
    background-size: contain;
    position: absolute;
    top: 2.5em;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 10;
}

.solution_sec:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 5em 50vw 0 50vw;
    border-color: #ffffff transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}


.solution_title {
    margin-bottom: 2em;
}
.solution_title h1 {
    
}
.solution_title h1 span {
    display: inline-block;
    background: linear-gradient(164deg, rgb(238.00000101327896, 135.00000715255737, 180.00000447034836) 2.2636953741312027%, rgb(238.50000858306885, 134.00000721216202, 160.00000566244125) 24.135300517082214%, rgb(238.75000476837158, 133.00000727176666, 126.00000768899918) 46.109843254089355%, rgb(242.87500262260437, 163.00000548362732, 118.5000005364418) 66.4044439792633%, rgb(244.93750154972076, 202.50001072883606, 120.74999660253525) 90.12975096702576%);
    background-color: transparent;
    border-radius: 30px;
    font-size: 24px;
    line-height: 1em;
    color: #fff;
    padding: 0.25em 1em 0.3em;
    position: relative;
    margin-bottom: 0.5em;
}
.solution_title h1 span:after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 6px 0 6px;
    border-color: #F4AD77 transparent transparent transparent;
    position: absolute;
    bottom: -15px;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.solution_title h1 strong {
    display: block;
    font-size: 36px;
    line-height: 1.4em;
    font-weight: 900;
}
.solution_title h1 strong em {
    
}

.solution_content {

}
.solution_item {
    box-shadow: 0px 0px 16px #00000029;
    background: #fff;
    border-radius: 1em;
    padding: 2em;
    align-items: center;
    justify-content: space-between;
    gap: 2em;
    position: relative;
}
.solution_item + .solution_item {
    margin-top:3em;
}

.solution_item:nth-child(odd) {
    flex-direction: row-reverse;
}

.solution_item figure {

}
.solution_item .box {
    flex: 1 0 0%;
}
.solution_item .box i {
    position: absolute;
    top: -2em;
    left: 2em;
}
.solution_item:nth-child(even) .box i {
    left: auto;
    right: 2em;
}

.solution_item .box h2 {
    font-size: 27px;
    font-weight: 900;
    margin-bottom: 0.5em;
}
.solution_item .box h2 span {
    background: linear-gradient(transparent 60%, #FADADA 60%);
}
.solution_item .box p {
    font-size: 18px;
    font-weight: bold;
    text-align: left;
}
.solution_item .box p em {

}


.flow_sec {
    padding:3em 0;
}
.flow_content {
    box-shadow: 0px 0px 16px #00000029;
    background: #fff;
    border-radius: 1em;
    padding: 2em;
}

.flow_bloc {
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.5em;
    margin-bottom: 2em;
}
.flow_item {
    width: calc(100% / 3 - 1.5em);
}
.flow_item h2 {
    font-size: 1.2em;
    font-weight: 900;
    position: relative;
}
.flow_item:nth-child(2) h2:after {
    content: "";
    width: 6em;
    height: 2px;
    background: linear-gradient(301.56deg, #C07BB6 19.31%, #EA5E9C 35.88%, #F36B8D 53.61%, #E76A62 71.33%, #EA854D 83.75%);
    position: absolute;
    top: 18px;
    left: -3em;
}
.flow_item:nth-child(3) h2:after {
    content: "";
    width: 6em;
    height: 2px;
    background: linear-gradient(301.56deg, #C07BB6 19.31%, #EA5E9C 35.88%, #F36B8D 53.61%, #E76A62 71.33%, #EA854D 83.75%);
    position: absolute;
    top: 18px;
    left: -3em;
}

.flow_item h2 span {
    display: inline-block;
}
.flow_item .box {
    
}
.flow_item .box h3 {
    font-size: 1.4em;
    font-weight: 900;
    margin-bottom: 0.5em;
}
.flow_item .box h3 span {
    display: inline-block;
}
.flow_item .box p {
    font-size: 0.9em;
    font-weight: bold;
    text-align: left;
    min-height: 6em;
}
.flow_item .box figure {
    
}

.flow_bottom {

}
.flow_bottom p {
    font-size: 24px;
    font-weight: 900;
}
.flow_bottom p em {
    
}
.flow_bottom p .dotted span:after {
    width: 6px;
    height: 6px;
    background: #ED79A1;
}


.voice_sec {
    padding:3em 0;
}
.voice_content {
    
}
.voice_slider_wrap {

}
.voice_slider {

}

.voice_slider_item {
    box-shadow: 0px 0px 16px #00000029;
    background: #fff;
    border-radius: 1em;
    overflow: hidden;
    height: 100%;
    max-width: 400px;
    padding:2em;
    box-sizing: border-box;
}
.voice_slider_item figure {
    margin-bottom: 0.5em;
}
.voice_slider_item .box {

}
.voice_slider_item .box h2 {
    font-size: 1em;
    font-weight: 900;
}
.voice_slider_item .box p {
    font-size: 0.9em;
    line-height: 1.4em;
    font-weight: 900;
    text-align: left;
}
.voice_slider_item .box p em {

}

.voice_slider .slick-prev {
    top: auto;
    bottom: -28px;
}
.voice_slider .slick-next {
    top: auto;
    bottom: -28px;
}


.faq_sec {
    padding:3em 0;
}
.faq_content {

}
.faq_bloc {

}

.faq_bloc dl {
    box-shadow: 0px 0px 16px #00000029;
    background: #fff;
    border-radius: 1em;
    padding: 1em 2em;
    text-align: left;
}
.faq_bloc dl + dl {
    margin-top: 1em;
}
.faq_bloc dl dt {
    font-size: 18px;
    line-height: 1.4em;
    font-weight: bold;
    position: relative;
    padding-left: 2.5em;
    margin-bottom: 1em;
}
.faq_bloc dl dd {
    font-size: 16px;
    line-height: 1.4em;
    /* font-weight: bold; */
    position: relative;
    padding-left: 2.8em;
}

.faq_bloc dl dt:before {
    content: "";
    width: 32px;
    height: 32px;
    background: url(../images/icon_q.webp) no-repeat;
    background-size: contain;
    position: absolute;
    top: -2px;
    left: 0;
}
.faq_bloc dl dd:before {
    content: "";
    width: 32px;
    height: 32px;
    background: url(../images/icon_a.webp) no-repeat;
    background-size: contain;
    position: absolute;
    top: -5px;
    left: 0;
}

.bottom_slider_wrap {
    padding: 1em 0;
    overflow: hidden;
}
.bottom_slider {

}
.bottom_slider_item {
    max-width: 240px;
    margin: 0 0.5em;
}

.bottom_slider .slick-slide {
    display: block;
    transform: scale(1);
    margin: 0;
}
