@charset "UTF-8";

/* PC表示設定 */
@media screen and (min-width: 960px) {

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

/* KV */

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

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

#kv .kv_item h2 {
    position: absolute;
    top: 3vw;
    left: 5%;
    font-size: 5vw;
    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: 0;
    right: 2%;
    width: 40%;
    filter: drop-shadow(20px 20px 30px rgba(181, 204, 202, 0.50));
    animation: kv01 2s ease-out 1;
}
@keyframes kv01 {
    0% {
    transform: translateY(-400px) translateX(400px);
    opacity: 0;
    }
    40% {
    transform: translateY(0) translateX(0);
    opacity: .3;
    }
    100% {
    opacity: 1;
    }
}

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


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


#kv .kv_item .kv_img_04 {
    position: absolute;
    top: 18vw;
    left: -15%;
    width: 25%;
    animation: kv04 2s ease-out 1;
}
@keyframes kv04 {
    0% {
    opacity: 0;
    }
    60% {
    transform: translateY(50px) translateX(50px);
    opacity: 0;
    }
    100% {
    transform: translateY(0) translateX(0);
    opacity: 1;
    }
}

#kv .kv_item .kv_img_05 {
    position: absolute;
    top: 36vw;
    right: 12%;
    width: 25%;
    animation: kv05 2s ease-out 1;
}
@keyframes kv05 {
    0% {
    opacity: 0;
    }
    50% {
    transform: translateY(-50px) translateX(50px);
    opacity: 0;
    }
    90% {
    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,
#kv .kv_item .kv_img_04 img,
#kv .kv_item .kv_img_05 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: 100px;
    height: 1px;
    margin: 80px 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 {
    width: 600px;
    background-color: #fff;
    border-radius: 20px;
    filter: drop-shadow(20px 20px 30px rgba(181, 204, 202, 0.20));
    margin: auto;
}

#kv .mv .youtube iframe {
    margin: 20px;
    width: 560px;
    height: 315px;
}



/* サービス */

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

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

#service h2 {
    font-family: Poppins;
    font-size: 100px;
    font-weight: 300;
    letter-spacing: 4px;
    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 {
    font-size: 20px;
    font-family: "Noto Sans JP";
    font-weight: 400;
    letter-spacing: 1.6px;
    margin-left: 20px;
}


#service dl {
    position: relative;
    border-bottom: 1px solid #BEC5D0;
    height: 240px;
    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: 18px;
    font-weight: 300;
    letter-spacing: 0.72px;
    position: absolute;
    top: 15px;
    left: 0;
}

#service dl dt h3 {
    font-size: 30px;
    font-family: "Noto Sans JP";
    font-weight: 400;
    letter-spacing: 1.2px;
    margin-left: 50px;
}
#service dl dt .service_dt_txt {
    margin-top: 8px;
    font-size: 14px;
    font-family: "Noto Sans JP";
    font-weight: 300;
    margin-left: 50px;
}


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

#service dl dd {
    position: relative;
    width: 420px;
    height: 240px;
    display: flex;
    align-items: center;
    background-repeat: no-repeat;
    background-size: cover;
}

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

#service dl dd:hover .service_ya {
    left: 20px;
}




/* 主要導入先 */


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

#partner {
    padding: 150px 0;
}

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

#partner p {
    text-align: center;
    margin-top: 10px;
}

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

#partner ul li {
    width: 240px;
    height: 120px;
    margin-right: 30px;
    border-radius: 10px;
    background: #FFF;
    box-shadow: 0px 0px 10px 0px #DBF2F0 inset, 8px 8px 16px 0px rgba(0, 0, 0, 0.25);
    flex-shrink: 0;
}

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

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

#partner .slick01 * {
    transition: none;
}


/* 導入事例 */

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

#case .case_content {
    width: 90%;
    max-width: 1080px;
    margin: auto;
    padding: 150px 0 100px;
}

#case h2 {
    font-family: Poppins;
    font-size: 100px;
    font-weight: 300;
    letter-spacing: 4px;
    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 {
    font-size: 20px;
    font-family: "Noto Sans JP";
    font-weight: 400;
    letter-spacing: 1.6px;
    margin-left: 20px;
}

#case ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

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

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

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

#case ul li:hover dl dt {
    font-size: 18px;
    font-family: "Noto Sans JP";
    font-weight: 300;
}

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

#case ul li dl .case_dd_txt {
    margin-top: 10px;
    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: 1300px;
    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: 50px;
    background: #fff;
    border-radius: 0 0 50px 50px;
}

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

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

#product h2 {
    text-align: center;
    font-family: Poppins;
    font-size: 100px;
    font-weight: 300;
    letter-spacing: 4px;
    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;
    }

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

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

#product .product_noti {
    width: 316px;
    margin: auto;
    font-size: 14px;
    font-family: "Noto Sans JP";
    font-weight: 300;
    margin-top: 35px;
}
#product .product_noti a {
    text-decoration: underline;
}

#product ul {
    display: flex;
    justify-content: center;
    margin-top: 100px;
}

#product ul li {
    width: 480px;
    height: 180px;
    margin: 0 15px;
    border-radius: 20px;
    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 45px center;
    background-size: 66px;
}

#product ul li img {
    width: 80px;
    height: 80px;
    margin-right: 40px;
}

#product ul li:hover img {
    margin-right: 20px;
}

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

#product ul li .product_li_txt {
    font-size: 14px;
    font-family: "Noto Sans JP";
    font-weight: 300;
    margin-left: 47px;
    width: 284px;
}

#product .product_img_1 {
    position: absolute;
    top: 60%;
    left: 8%;
    width: 390px;
    height: 480px;
}
#product .product_img_2 {
    position: absolute;
    top: 78%;
    left: 68%;
    width: 390px;
    height: 480px;
}
#product .product_img_3 {
    position: absolute;
    top: 65%;
    left: 63%;
    width: 240px;
    height: 292px;
}
#product .product_img_4 {
    position: absolute;
    top: 53%;
    left: 33%;
    width: 190px;
    height: 230px;
}

#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: 50px 50px 0 0;
    margin-top: -50px;
}

#news .news_content {
    width: 90%;
    margin: auto;
    max-width: 1080px;
    padding: 130px 0;
}

#news h2 {
    font-family: Poppins;
    font-size: 100px;
    font-weight: 300;
    letter-spacing: 4px;
    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 {
    font-size: 20px;
    font-family: "Noto Sans JP";
    font-weight: 400;
    letter-spacing: 1.6px;
    margin-left: 20px;
}

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

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

#news ul li .news_title {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

#news ul li .news_title dl {
    display: flex;
    align-items: center;
    cursor: pointer;
}
#news ul li .news_title dl dt {
    font-family: Poppins;
    font-size: 18px;
    font-weight: 300;
    letter-spacing: 0.72px;
    position: relative;
    margin-right: 50px;
}
#news ul li .news_title dl dt::after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 38px;
    background-image: url(/assets/img/top/news_line.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    position: absolute;
    top: 50%;
    right: -30px;
    margin-top: -19px;
}

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

#news ul li .news_title .news_icon {
    width: 40px;
    height: 40px;
    margin-left: 20px;
    background-image: url(/assets/img/news/icon_news_open.svg);
    background-repeat: no-repeat;
    background-size: 40px 40px;
    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 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
    margin-left: 140px;
    font-size: 14px;
    font-family: "Noto Sans JP";
    font-weight: 300;
}
#news ul li .news_text img {
    width: 250px;
    margin-right: 30px;
}



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

}

