@charset "utf-8";
/* CSS Document */
/* ふわふわ
   ----------------------------------------------------------------- */
.fwfw{
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  z-index: 9;
}
/* mainImgの文字
   ----------------------------------------------------------------- */
.stop{opacity: 1!important;}
/* main_img */
#main_img .anim{
	position: relative;
	top: 20px;
	right: 10px;
	opacity: 0;
	filter: blur(10px);
	animation: blur 3s ease-in-out forwards;
}
@keyframes blur {
  0% {
    filter: blur(10px);
  }
  100% {
    filter: blur(0);
  }
}
#main_img .border.b_anim{
	animation: bWidth .8s ease-in-out forwards;
}
@keyframes bWidth {
  0% {
    width: 0;
	opacity: 0;
  }
  100% {
    width: 80px;
	opacity: 1;
  }
}


/* mainImg
   ----------------------------------------------------------------- */
.main_img_man{
    top: 0;
    right: 0;
    position: absolute;
    width: 1400px;
    height: 100vh;
    background-size: cover;
    background-image: url(../img/main_img_man.png);
	display: none;
    opacity: 0.9;
    z-index: 101;
    }
.main_img_1{
    top: 0;
    right: 0;
	left: 0;
	position: absolute;
    width: 100%;
    height: 100vh;
    background-size: cover;
    background-image: url("../img/main_img_1.jpg");
    opacity: 0.15;
    z-index: 101;
}
/* グラデ背景
   ----------------------------------------------------------------- */
 body {
      margin: 0;
    }
 .holder,
    .first,
    .second,
    .third,
.main_img_back{
      height: 100vh;
      width: 100vw;
    }
    .first,
    .second,
    .third,
.main_img_back{
      position: absolute;
    }
    .second,
    .third {
      opacity: 0;
    }
    .holder {
      height: 100vh;
      position: relative;
      z-index: 1;
    }
    .first {
      animation: first 10s infinite;
      background: linear-gradient(-60deg,#ff00f7 ,#7a00ff);
      z-index: 10;
    }
      @keyframes first {
        0% {opacity: 1.0;}
        10% {opacity: 0.8;}
        20% {opacity: 0.6;}
        30% {opacity: 0.4;}
        40% {opacity: 0.2;}
        50% {opacity: 0.1;}
        60% {opacity: 0.2;}
        70% {opacity: 0.4;}
        80% {opacity: 0.6;}
        90% {opacity: 0.8;}
        100% {opacity: 1.0;}
      }

    .second {
      animation: second 10s infinite; animation-delay: 2s;
      background: linear-gradient(-30deg,#7a00ff, #00a1f0);
      z-index: 20;
    }
      @keyframes second {
        0% {opacity: 0;}
        10% {opacity: 0.2;}
        20% {opacity: 0.4;}
        30% {opacity: 0.6;}
        40% {opacity: 0.8;}
        50% {opacity: 1.0;}
        60% {opacity: 0.8;}
        70% {opacity: 0.6;}
        80% {opacity: 0.4;}
        90% {opacity: 0.2;}
        100% {opacity: 0;}
      }

    .third {
      animation: third 10s infinite;
      animation-delay: 8s;
      background: linear-gradient(-90deg,#1b00ff , #d300d6);
      z-index: 30;
    }
      @keyframes third {
        0% {opacity: 0;}
        10% {opacity: 0.2;}
        20% {opacity: 0.4;}
        30% {opacity: 0.6;}
        40% {opacity: 0.8;}
        50% {opacity: 1.0;}
        60% {opacity: 0.8;}
        70% {opacity: 0.6;}
        80% {opacity: 0.4;}
        90% {opacity: 0.2;}
        100% {opacity: 0;}
      }
.main_img_back{
	background-size: cover;
	background-image: url(../img/main_img_back.jpg);
	opacity: 0.7;
	z-index: 100;
	mix-blend-mode: unset;
}
.main_img_en{
	position: absolute;
	top: 0;
	right: 0;
	width: 1000px;
	height: 100vh;
	background-size: cover;
	background-image: url(../img/main_img_en.png);
	opacity: 0.7;
	z-index: 100;
	mix-blend-mode: hard-light;
}
    #main_img .txt {
      margin-top: calc(50vh - 120px);
    text-align: center;
      position: absolute;
      width: 100%;
      z-index: 1000;
    }
    #main_img .txt .aqum{
line-height: 1.4em;
		font-size: 50px;
}
#main_img .img{
      margin-top: calc(50vh - 300px);
    max-width: 1000px;
    position: absolute;
    z-index: 999;
    right: 5%;
    mix-blend-mode: hard-light;
	opacity: 0.8;
}
/* topConcept
   ----------------------------------------------------------------- */
.top-concept{padding-top: 150px; padding-bottom: 250px;
	background-image: url(../img/concept-logo.png);
	background-position: center 20%;
	background-repeat: no-repeat;
}
.top-concept-ttl small {
    display: block;
    margin-top: 8px;
    font-size: 40%;
    line-height: 1;
	margin-bottom: 50px;
}
.top-concept-ttl{
    font-size: 42px;
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: .04em;
	margin-bottom: 50px;
}
.top-concept-txt{
    margin-bottom: 100px;
    font-size: 18px;
    line-height: 2.375;
}

.top-concept-item{position: relative;}
.top-concept-item::after{content: "";position: absolute; top: 50px; left: 5%; right: 5%; z-index: -1;width: 90%;height: 100%; border-radius: 400px;}
.top-concept-item:nth-of-type(1)::after{background: #F8F8F8;}
.top-concept-item:nth-of-type(2)::after{background: #FAF4FB;}
.top-concept-item:nth-of-type(3)::after{background: #F8F8F8;}


/* top-servece
   ----------------------------------------------------------------- */
.top-servece{
	 background: linear-gradient(-90deg, #5532E4, #D600FC);
	padding: 100px 0px;
}
.top-servece-inner{max-width: 1100px; margin: 0 auto;}
.top-servece-list .top-servece-item:nth-of-type(1){margin-right: 5%;}
.top-servece-list .top-servece-item:nth-of-type(2){margin-right: 5%;}
.top-servece-item{
	background: #fff;
	border-radius: 20px;
}
.top-servece-item .no{
	margin-left: 40px;
	border-top: 4px #5532E4 solid;
    display: inline-block;
}
.top-servece-item .img{text-align: center;margin: 10px 0px 30px;}
.top-servece-item .img img{ width:106px;} 
.top-servece-item .txt_box{
	padding: 30px;
}
.top-servece-item .txt_box{
	border-top: 1px solid #E5E5E5;
	padding: 30px;
}
.top-servece-item .txt_box .txt{
line-height: 1.625;
}


/* top-works
   ----------------------------------------------------------------- */
.top-works{	
	padding: 100px 0px;
	
}
.top-works-inner{max-width: 1100px; margin: 0 auto;}

.pickup-img{
	width: 50%;
}

.pickup-img .img{
	margin-bottom: 30px;
	box-shadow: 0 3px 6px rgba(0,0,0,.16), 0 3px 6px rgba(0,0,0,.23);
    transition: all .2s ease-in-out;
	position: relative;
}
.pickup-img .img .day{
	color: #0623FD;
	display: inline-block;;
	transform: rotate(-90deg);
	position: absolute;
	left: -100px;
	bottom: 55px;
	letter-spacing: 4px;
}
.pickup-img .img:hover{
	box-shadow: 0 19px 38px rgba(0,0,0,.3), 0 15px 12px rgba(0,0,0,.22);
}
.pickup-img .title{
	border-bottom: 2px solid #0623FD;
	display: inline-block;
}
.pickup-img .title a{
	line-height: 2em;
	transition: all .5s ease;
}
.pickup-img .title a:hover{
	color: #0623FD;
}
.pickup-graph{
	width: 50%;
	padding-left: 100px;
	box-sizing: border-box;
}
.pickup-graph .more a{
	transition: all .5s ease;
}
.pickup-graph .more a:hover{
	    border-color: #4e15ed;
    background: #4e15ed;
    color: #fff;
}
.item-wrap{
	margin-bottom: 100px;
}
.item-wrap .item{
	width: 50%;	
	text-align: center;
}
.item-wrap .item .title{
	margin-bottom: 10px;
	letter-spacing: 1.5px;
}
.item-wrap .item .img{
	max-width: 180px;
	margin: 0 auto;
}

.top-works .more a{
	width: 260px;
	letter-spacing: 2.4px;
	margin: 0 auto;
}

/* top-works-all
   ----------------------------------------------------------------- */
.top-works-all{
	padding: 0px 10%;
}
.works-all-inner .item{
width: 23%;	
    -webkit-transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
    transition: transform 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}
.works-all-inner .item .img{
	overflow: hidden;
	box-shadow: 0 3px 6px rgba(0,0,0,.16), 0 3px 6px rgba(0,0,0,.23);
    transition: all .2s ease-in-out;
}
.works-all-inner .item:hover .img{
	box-shadow: 0 5px 10px rgba(0,0,0,.3), 0 5px 10px rgba(0,0,0,.10);
}
.works-all-inner .item .img img{
    transition: all .2s ease-in-out;
}
.works-all-inner .item:hover .img img{
	transform: scale(1.04);
}
.works-all-inner .img {
    margin-bottom: 20px;
}
.works-all-inner .title{
	border-bottom: 2px solid #0623FD;
display: inline-block;
	margin-bottom: 10px;
}
.works-all-inner .item .date{
	width: 80px;
	height: 80px;
	position: relative;
	z-index: 1;
	top: 25px;
	left: 10px;
    -webkit-transition: 0.8s cubic-bezier(0.19, 1, 0.22, 1);
    transition: 0.8s cubic-bezier(0.19, 1, 0.22, 1);
}
.works-all-inner .item:hover .date{
	top: 0px;
}
.works-all-inner .item .date span.mon{
	position: absolute;
	left: 0;
	top: 0;
}
.works-all-inner .item .date span.day{
	position: absolute;
	right: 0;
	bottom: 0;
}
.works-all-inner .item .date::before{
	content: "";
	width: 80px;
	height: 2px;
	background: #0623FD;
	position: absolute;
	bottom: 38px;
	z-index: 2;
	transform: rotate(-45deg);	
}
.works-all-inner .item:hover{
	transform: translateY(-10px);
}
/* top-blog-news
   ----------------------------------------------------------------- */
.top-blog{ background: #FBFBFB; padding: 100px 0px;}
.top-news{ background: #FAF4FB;padding: 100px 0px;  margin-top: 100px;}
.top-blog-inner{max-width: 600px; margin-left: auto; padding-right: 10%; box-sizing: border-box;}
.top-news-inner{max-width: 600px; margin-right: auto; padding-left: 10%; box-sizing: border-box;}
.top-blog-news .img{
	width: 100px;
	height: 100px;
}
.top-blog-inner a,.top-news-inner a{
	padding: 20px 0px;
    position: relative;
    background-color: transparent;
    -webkit-transition: box-shadow 0.8s cubic-bezier(0.19, 1, 0.22, 1),background-color 0.8s cubic-bezier(0.19, 1, 0.22, 1)padding  0.8s cubic-bezier(0.19, 1, 0.22, 1);
    transition: box-shadow 0.8s cubic-bezier(0.19, 1, 0.22, 1),background-color 0.8s cubic-bezier(0.19, 1, 0.22, 1),padding  0.8s cubic-bezier(0.19, 1, 0.22, 1);
}
.top-blog-inner a:hover,.top-news-inner a:hover{
	padding: 20px 10px;
    /*box-shadow: 0px 5px 5px -5px rgba(0, 0, 0, 0.08);*/
	box-shadow: 0 5px 5px -3px rgba(0,0,0,0.08), 0 -5px 5px -3px rgba(0,0,0,0.08);
}
.top-blog-inner a::after,.top-news-inner a::after{
	 font-family: "Font Awesome 5 Free";
  content: '\f105';
	font-weight: 900;
	position: absolute;
	right: 20px;
	top: 40%;
	color: #A5A5A5;
    -webkit-transition: 0.8s cubic-bezier(0.19, 1, 0.22, 1);
    transition:0.8s cubic-bezier(0.19, 1, 0.22, 1);
}
.top-blog-inner a:hover::after{
	right: 0px;
	color: #5532E4;
}
.top-news-inner a:hover::after{
	right: 0px;
	color: #0623FD;
}
.top-blog-inner a .title,.top-blog-inner a .title{
	transition: all .5s ease;
}
.top-blog-inner a:hover .title{
	color: #5532E4;
}
.top-news-inner a:hover .title{
	color: #0623FD;
}
.top-blog-inner .date,.top-news-inner .date{margin-bottom: 10px; letter-spacing: 2px; padding-top: 10px;}
.top-blog-inner .box > div,.top-news-inner .box > div{padding-left: 20px;}
.top-blog-inner .img,.top-news-inner .img{border-radius: 100%;}

/* top-logo-list
   ----------------------------------------------------------------- */
.top-logo-list{padding: 100px 0px;max-width: 1100px; margin: 0 auto; pointer-events: none;}



/*ここからタブレット用（768px以下）環境の設定
---------------------------------------------------------------------------*/
/*表示を切り替えるウィンドウサイズの指定*/
@media screen and (max-width: 768px){
#wrap{cursor: default;}
a{cursor: pointer;}
.cursor{
display: none;
}
.follower{display: none;}
	#main_img .txt{
	text-align: center;
    font-size: 30px;
    padding: 0px;	
	}
.top-concept{
	padding: 80px 5% 150px 5%;
	background-size: 500px;
}
.top-concept-ttl small{margin-bottom: 10px;}
.top-concept-ttl {
	font-size: 31px;
}
.top-concept-txt{
	margin-bottom: 50px;
}
.top-concept-item figure{
max-width: 80%;
margin: 0 auto;
}
.top-concept-item:nth-of-type(1)::after{background: #F8F8F8;}
.top-concept-item:nth-of-type(2)::after{background: #F8F8F8;}
.top-concept-item:nth-of-type(3)::after{background: #FAF4FB;}
.top-servece{
	padding: 50px 5%;
}
.top-servece-list .top-servece-item:nth-of-type(1){margin-right: 0px; margin-bottom: 20px;}
.top-servece-list .top-servece-item:nth-of-type(2){margin-right: 0px; margin-bottom: 20px;}
.top-servece-item .img {    margin: -30px auto 20px;}
.top-servece-item .img img {    width: 50px;}
.top-servece-item .txt_box{padding: 20px;}
.top-works{padding: 100px 5%;}
.works-all-inner .item {width: 45%;}
.pickup-graph{padding-left: 30px;}
.item-wrap .item{width: 48%;}
.item-wrap .item:first-of-type{margin-right: 4%;}
.top-works-all {    padding: 0px;}
.top-blog {
    padding: 5% 10%;
    margin: 0px auto 0px 0px;
	width: 90%!important;
}
.top-news {
    padding: 5% 10%;
    margin: 0px 0px 0px auto;
	width: 90%!important;
}
.top-news-inner {
    padding-left: 0px;
}
.top-logo-list{padding:50px 5%; }
}


/*ここからスマホ用（667px以下）環境の設定
---------------------------------------------------------------------------*/
/*表示を切り替えるウィンドウサイズの指定*/
@media screen and (max-width: 667px){
	    #main_img .txt .aqum{
font-size: 35px;
}
.top-concept-txt{font-size: 17px;}
.top-concept-item figure{
max-width: 80%;
margin: 0 auto;
}
.top-concept-item figure {    max-width: 65%;}
.top-concept-item:nth-of-type(1)::after{background: #F8F8F8;}
.top-concept-item:nth-of-type(2)::after{background: #FAF4FB;}
.top-concept-item:nth-of-type(3)::after{background: #F8F8F8;}
.pickup-img {
    width: 100%;
	margin-bottom: 30px;
}
.pickup-graph {
    width: 100%;
    padding-left: 0px;
}
.item-wrap {
margin-bottom: 30px;
}
.works-all-inner .item {width: 100%;}
.top-blog {
    padding: 5% 5%;
    margin: 0px auto;
    width: 100% !important;
}
.top-news {
padding: 5% 5%;
margin: 0px auto;
width: 100% !important;
}
.top-logo-list ul li{
	width: 30%;
	}
}


/*ここからスマホ用（667px以下）環境の設定
---------------------------------------------------------------------------*/
/*表示を切り替えるウィンドウサイズの指定*/

@media all and (-ms-high-contrast: none){
}