@charset "UTF-8";

/* SP表示設定 */
@media screen and (max-width: 959px) {

/* コンテンツここから */

/* KV */

#kv {
    width: 100%;
    margin-top: 30px;
}

#kv .kv_item {
    width: 90%;
    height: 80vh;
    margin: auto;
    position:relative;
}

#kv .kv_item h2 {
    position: absolute;
    top: 0;
    left: 5%;
    font-size: 10vw;
    font-family: "Noto Sans JP";
    font-weight: 300;
    letter-spacing: 2.6px;
}

#kv .kv_item h2 span {
    color: transparent;
    animation: blur 10s ease-out infinite;
    -webkit-animation: blur 10s ease-out infinite;
}
#kv .kv_item h2 span:nth-child(1) {
    animation-delay: 0.1s;
    -webkit-animation-delay: 0.1s;
}
#kv .kv_item h2 span:nth-child(2) {
    animation-delay: 0.2s;
    -webkit-animation-delay: 0.2s;
}
#kv .kv_item h2 span:nth-child(3) {
    animation-delay: 0.3s;
    -webkit-animation-delay: 0.3s;
}
#kv .kv_item h2 span:nth-child(4) {
    animation-delay: 0.4s;
    -webkit-animation-delay: 0.4s;
}
#kv .kv_item h2 span:nth-child(5) {
    animation-delay: 0.5s;
    -webkit-animation-delay: 0.5s;
}
#kv .kv_item h2 span:nth-child(6) {
    animation-delay: 0.6s;
    -webkit-animation-delay: 0.6s;
}

@keyframes blur {
    0%    {text-shadow:  0 0 100px #131626; opacity:0;}
    5%    {text-shadow:  0 0 90px #131626;}
    15%   {opacity: 1;}
    20%   {text-shadow:  0 0 0px #131626;}
    80%   {text-shadow:  0 0 0px #131626;}
    85%   {opacity: 1;}
    95%   {text-shadow:  0 0 90px #fff;}
    100%  {text-shadow:  0 0 100px #fff; opacity:0;}
}
@-webkit-keyframes blur {
    0%    {text-shadow:  0 0 100px #131626; opacity:0;}
    5%    {text-shadow:  0 0 90px #131626;}
    15%   {opacity: 1;}
    20%   {text-shadow:  0 0 0px #131626;}
    80%   {text-shadow:  0 0 0px #131626;}
    85%   {opacity: 1;}
    95%   {text-shadow:  0 0 90px #fff;}
    100%  {text-shadow:  0 0 100px #fff; opacity:0;}
}



#kv .kv_item .kv_img_01 {
    position: absolute;
    top: 35%;
    right: -10%;
    width: 90%;
    filter: drop-shadow(20px 20px 30px rgba(181, 204, 202, 0.50));
    animation: kv01 2s ease-out 1;
}
@keyframes kv01 {
    0% {
    transform: translateY(-200px) translateX(-200px);
    opacity: 0;
    }
    60% {
    transform: translateY(0) translateX(0);
    opacity: .3;
    }
    100% {
    opacity: 1;
    }
}

#kv .kv_item .kv_img_02 {
    position: absolute;
    top: 60%;
    left: -20%;
    width: 70%;
    filter: drop-shadow(20px 20px 30px rgba(181, 189, 204, 0.50));
    z-index: 2;
    animation: kv02 2s ease-out 1;
}
@keyframes kv02 {
    0% {
    transform: translateY(-300px) translateX(300px);
    opacity: 0;
    }
    80% {
    transform: translateY(0) translateX(0);
    opacity: .3;
    }
    100% {
    opacity: 1;
    }
}

#kv .kv_item .kv_img_03 {
    position: absolute;
    top: 5%;
    right: -20%;
    width: 55%;
    filter: drop-shadow(20px 20px 30px rgba(181, 204, 202, 0.50));
    animation: kv03 2s ease-out 1;
}
@keyframes kv03 {
    0% {
    opacity: 0;
    }
    60% {
    transform: translateY(30px) translateX(-30px);
    opacity: 0;
    }
    100% {
    transform: translateY(0) translateX(0);
    opacity: 1;
    }
}

#kv .kv_item .kv_img_01 img,
#kv .kv_item .kv_img_02 img,
#kv .kv_item .kv_img_03 img {
    width: 100%;
}



/* video */

#kv .mv {
    width: 100%;
}

#kv .mv h3 {
    text-align: center;
    font-family: Poppins;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.72px;
    display: block;
}

#kv .mv h3::after {
    display: block;
    content: "";
    width: 60px;
    height: 1px;
    margin: 60px auto;
    transform: rotate(90deg);
    border-radius: 1px;
    background: linear-gradient(259deg, rgba(34, 34, 34, 0.75) 8.1%, #131626 91.9%);
}

#kv .mv .youtube {
    position: relative;
    width: 90%;
    padding-top: 50.6%; /* 16:9のアスペクト比 */
    height: 0;
    background-color: #fff;
    border-radius: 10px;
    filter: drop-shadow(20px 20px 30px rgba(181, 204, 202, 0.20));
    margin: auto;
}

#kv .mv .youtube iframe {
    position: absolute;
    top: 5%;
    left: 3%;
    width: 94%;
    height: 90%;
}



/* サービス */

#service {
    width: 100%;
    padding-bottom: 70px;
    border-radius: 0px 0px 30px 30px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 0%, #FFF 10%);
}

#service .service_content {
    width: 90%;
    margin: auto;
    margin-top: 100px;
}

#service h2 {
    font-family: Poppins;
    font-size: 50px;
    font-weight: 300;
    letter-spacing: 2px;
    background: var(--black_22_grade, linear-gradient(257deg, #41455A 0%, #131626 98.57%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 50px;
    }

#service h2 span {
    display: block;
    font-size: 18px;
    font-family: "Noto Sans JP";
      font-weight: 400;
    letter-spacing: 1.44px;
}


#service dl {
    position: relative;
    border-bottom: 1px solid #BEC5D0;
    height: 200px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#service dl.service_dl_top {
    border-top: 1px solid #BEC5D0;
}

#service dl dt .service_dt_deco {
    color: #BEC5D0;
    font-family: Poppins;
    font-size: 15px;
    font-weight: 300;
    letter-spacing: 0.6px;
    position: absolute;
    top: 10px;
    left: 0;
}

#service dl dt h3 {
    font-size: 20px;
    font-family: "Noto Sans JP";
    font-weight: 400;
    letter-spacing: 0.96px;
    margin-top: 20px;
}
#service dl dt .service_dt_txt {
    margin-top: 8px;
    font-size: 12px;
    font-family: "Noto Sans JP";
    font-weight: 300;
}


#service .service_dl_01 {
    background-image: url(/assets/img/top/service_bg_1.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right;
}
#service .service_dl_02 {
    background-image: url(/assets/img/top/service_bg_2.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right;
}
#service .service_dl_03 {
    background-image: url(/assets/img/top/service_bg_3.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right;
}
#service .service_dl_04 {
    background-image: url(/assets/img/top/service_bg_4.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right;
}
#service .service_dl_05 {
    background-image: url(/assets/img/top/service_bg_5.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right;
}
#service .service_dl_06 {
    background-image: url(/assets/img/top/service_bg_6.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right;
}

#service dl dd {
    position: relative;
    width: 90px;
    display: flex;
    align-items: center;
}

#service dl dd .service_ya {
    position: absolute;
    left: 0;
    width: 60px;
    height: 60px;
}

#service dl dd .service_line {
    width: 66px;
    height: 160px;
}




/* 主要導入先 */


.partner_bg {
    background-image: url(/assets/img/top/partner_bg_sp.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    z-index: -99;
}

#partner {
    padding: 120px 0;
}

#partner h2 {
    font-size: 30px;
    font-family: "Noto Sans JP";
    font-weight: 400;
    letter-spacing: 1.2px;
    text-align: center;
}

#partner p {
    text-align: center;
    margin: 20px;
    font-size: 14px;
    font-family: "Noto Sans JP";
    font-weight: 300;
}

#partner ul {
    margin-top: 50px;
    display: flex;
    flex-basis: 160px;
    justify-content: center;
    animation: loop-slide 20s infinite linear 1s both;
}
@keyframes loop-slide {
    from {
    transform: translateX(0);
    }
    to {
    transform: translateX(-100%);
    }
}

#partner ul li {
    width: 160px;
    height: 80px;
    margin-right: 20px;
    border-radius: 7px;
    background: #FFF;
    box-shadow: 0px 0px 6.667px 0px #DBF2F0 inset, 5.333px 5.333px 10.667px 0px rgba(0, 0, 0, 0.25);
    flex-shrink: 0;
}

#partner ul li img {
    width: 100%;
    margin-top: 15px;
}

#partner .partner_logo_wrap {
    display: flex;
    align-items: center;
}

#partner .slick01 * {
    transition: none;
}


/* 導入事例 */

#case {
    background: #fff;
    border-radius: 30px 30px 0 0;
}

#case .case_content {
    width: 90%;
    margin: auto;
    padding: 80px 0 5px;
}

#case h2 {
    font-family: Poppins;
    font-size: 50px;
    font-weight: 300;
    letter-spacing: 2px;
    background: var(--black_22_grade, linear-gradient(257deg, #41455A 0%, #131626 98.57%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 50px;
    }

#case h2 span {
    display: block;
    font-size: 18px;
    font-family: "Noto Sans JP";
    font-weight: 400;
    letter-spacing: 1.44px;
}

#case ul li {
    width: 100%;
    margin-bottom: 50px;
}

#case ul li dl {
    width: 100%;
    position: relative;
}

#case ul li dl dt {
    position: absolute;
    top: 20px;
    left: 20px;
    padding: 6px 16px;
    border-radius: 30px;
    background: linear-gradient(97deg, #FFF 0%, rgba(255, 255, 255, 0.60) 100%);
    font-family: "Noto Sans JP";
    font-weight: 400;
    font-size: 12px;
    letter-spacing: 1.12px;
}

#case ul li dl dd img {
    width: 100%;
}

#case ul li dl .case_dd_txt {
    margin-top: 10px;
    padding-right: 30px;
    font-size: 14px;
    font-family: "Noto Sans JP";
    font-weight: 300;
    background-image: url(/assets/img/top/case_icon_link.svg);
    background-repeat: no-repeat;
    background-size: 20px;
    background-position: top right;
}




/* iBODY */

#product {
    width: 100%;
    height: 1500px;
    z-index: -1;
    margin: auto;
    background-image: url(/assets/img/top/ibody_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

#product .product_cap {
    width: 100%;
    height: 30px;
    background: #fff;
    border-radius: 0 0 30px 30px;
}

#product .product_content {
    position: relative;
    width: 100%;
    height: 1500px;
}

#product .product_item {
    position: absolute;
    width: 90%;
    top: 48%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#product h2 {
    font-family: Poppins;
    font-size: 50px;
    font-weight: 300;
    letter-spacing: 2px;
    background: var(--black_22_grade, linear-gradient(257deg, #41455A 0%, #131626 98.57%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 30px;
    text-align: center;
    }

#product h2 span {
    display: block;
    font-size: 18px;
    font-family: "Noto Sans JP";
    font-weight: 400;
    letter-spacing: 1.44px;
    text-align: center;
}

#product .product_titlebg {
    position: absolute;
    top: 36%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 600px;
    background-image: url(/assets/img/top/ibody_bg_maru.svg);
    background-repeat: no-repeat;
    background-size: 600px;
    background-position: center;
}

#product .product_noti {
    width: 80%;
    margin: auto;
    font-size: 12px;
    font-family: "Noto Sans JP";
    font-weight: 300;
    margin-top: 30px;
}
#product .product_noti a {
    text-decoration: underline;
}

#product ul {
    margin-top: 30px;
}

#product ul li {
    width: 100%;
    height: 160px;
    margin-bottom: 20px;
    border-radius: 15px;
    border: 1px solid #131626;
    background: rgba(255, 255, 255, 0.50);
    box-shadow: 15px 15px 10px 0px rgba(25, 67, 115, 0.10);
    display: flex;
    align-items: center;
    justify-content: space-between;
    background-image: url(/assets/img/top/service_line.svg);
    background-repeat: no-repeat;
    background-position: right 30px center;
    background-size: 49.5px;
}

#product ul li img {
    width: 60px;
    height: 60px;
    margin-right: 25px;
}

#product ul li h3 {
    font-size: 24px;
    font-family: "Noto Sans JP";
    font-weight: 400;
    letter-spacing: 0.96px;
    margin-left: 20px;
}

#product ul li .product_li_txt {
    font-size: 12px;
    font-family: "Noto Sans JP";
    font-weight: 300;
    margin-left: 20px;
    margin-top: 10px;
}

#product .product_img_1 {
    position: absolute;
    top: 30%;
    left: 0%;
    width: 270px;
    height: 337.5px;
}
#product .product_img_2 {
    position: absolute;
    top: 100%;
    left: 38%;
    width: 270px;
    height: 337.5px;
}
#product .product_img_3 {
    position: absolute;
    top: 100%;
    left:10%;
    width: 157.5px;
    height: 196.046px;
}
#product .product_img_4 {
    position: absolute;
    top: 30%;
    left: 62%;
    width: 120px;
    height: 149.368px;
}

#product .product_img_1 img ,
#product .product_img_2 img ,
#product .product_img_3 img ,
#product .product_img_4 img {
    width: 100%;
}





/* News */

#news {
    background: #fff;
    border-radius: 30px 30px 0 0;
    margin-top: -30px;
}

#news .news_content {
    width: 90%;
    margin: auto;
    padding: 80px 0;
}

#news h2 {
    font-family: Poppins;
    font-size: 50px;
    font-weight: 300;
    letter-spacing: 2px;
    background: var(--black_22_grade, linear-gradient(257deg, #41455A 0%, #131626 98.57%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 50px;
    }

#news h2 span {
    display: block;
    font-size: 18px;
    font-family: "Noto Sans JP";
    font-weight: 400;
    letter-spacing: 1.44px;
}

#news ul {
    border-top: 1px solid #BEC5D0;
}

#news ul li {
    border-bottom: 1px solid #BEC5D0;
    padding: 25px 0;
}

#news ul li .news_title {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#news ul li .news_title img {
    width: 32px;
    height: 32px;
    margin-left: 10px;
}

#news ul li .news_title dl dd{
    font-size: 14px;
    font-family: "Noto Sans JP";
    font-weight: 300;
    margin-top: 10px;
}

#news ul li .news_title dl dt {
    font-family: Poppins;
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 0.64px;
    position: relative;
}
#news ul li .news_title dl dt::after {
    content: "";
    display: inline-block;
    width: 8.421px;
    height: 20px;
    background-image: url(/assets/img/top/news_line.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    position: absolute;
    top: 50%;
    left: 100px;
    margin-top: -12px;
}

#news ul li .news_title .news_icon {
    width: 32px;
    height: 32px;
    margin-left: 10px;
    background-image: url(/assets/img/news/icon_news_open.svg);
    background-repeat: no-repeat;
    background-size: 32px 32px;
    background-position: center;
    flex-shrink: 0;
}
#news ul li .news_title .news_icon_close {
    background-image: url(/assets/img/news/icon_news_close.svg);
}

#news ul li .news_text {
    margin-top: 25px;
    margin-left: 20px;
    font-size: 12px;
    font-family: "Noto Sans JP";
    font-weight: 300;
}
#news ul li .news_text img {
    width: 80%;
    margin-bottom: 10px;
    margin-left: 10%;
}



/* コンテンツここまで */

}

