@charset "utf-8";
/*===============================================
　SP iPhone6以上（画面の横幅が761pxまで）
===============================================*/

@media (max-width:761px){
	
	.ttl{
		font-family: 'Roboto', sans-serif;
		font-weight: 700;
		letter-spacing: 0.1rem;
		font-size: 2.6rem;
		text-align: left;
		line-height: 138%;
		background: #fff;
		-webkit-background-clip: text;
		color: transparent;
		filter: drop-shadow(20px 20px 10px #00000022);
		margin: 0 0 30px;
	}
	
	.ttl span{
		font-family: 'Roboto', sans-serif;
		font-weight: 300;
		letter-spacing: 0;
		font-size: 1.8rem;
		display:
		block;
		color: #fff;
		margin: 0 0 0;
	}
	
	.ttl_center{
		text-align:center;	
	}	
	/* ============================================================
 	main vi 
	==============================================================*/
       
	#main_wrap{
		width: 100%;
		position: relative;
		overflow: hidden;
		background: url("../img/hero_sp.jpg") no-repeat top center;
		background-size: cover;
		height: 93vh;
	}

	#main_copy_wrap{
		width: 100%;
		position: absolute;
		top: 58%;
		left: 50%;
		text-align: center;
		transform:
		translate(-50%, -50%);
	}

	#main_copy_wrap p{
		font-size: 1.6rem;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 600;
		color: #ffffff;
		background:#000;
		letter-spacing: 0.1rem;
		text-align:center;
		padding:0 5% 2px;
		display:inline-block;
		margin:0 auto 30px;
	}

	
	
	#main_copy_wrap h1{
		width: 100%;
		margin: 8px auto 60px;
	}
	
	#main_copy_wrap h1 .grada{
		margin: 0 0 15px;
		line-height: 120%;
		letter-spacing: 0;
		background: linear-gradient( to right, #67339f 0%, #253e97 51%, #0d086c 100%);
		-webkit-background-clip: text;
		color: transparent;
		display: inline;
		font-family: 'Hind', sans-serif;
	}

	#main_copy_wrap h1 .dx_h {
		font-size: 27.4rem;
		line-height: 100%;
		letter-spacing: -2.1rem;
	}

	#main_copy_wrap h2{
		font-size: 3.2rem;
		font-family: 'Roboto', sans-serif;
		font-weight: 600;
		color: #0d026a;
		letter-spacing: 0.02rem;
		text-align: center;
		line-height: 130%;
		padding: 0 15px;
	}

	#main_copy_wrap h4{
		font-size: 1.9rem;
		font-family: 'Roboto', sans-serif;
		font-weight: 600;
		color: #000000;
		letter-spacing: 0.05rem;
		line-height: 135%;
		padding: 5px 15px 0;
	}
	
	#main_copy_wrap .img_box_01{
		position: absolute;
		right: 0;
		top: 1%;
		max-width: 500px;
		width: 40%;
		min-width: 360px;
	}

	#main_copy_wrap .img_box_01 img{
		box-shadow: 25px 25px 20px 0 rgb(8 8 8 / 20%);
		border-radius:10px;
	}

	
    
	/* ============================================================
 	tab_btn_wrap
	==============================================================*/

	#tab_btn_wrap {
		transition: all 0.6s cubic-bezier(0.03, 0.36, 0.18, 1) 0s;
		z-index: 900;
		/* position: fixed; */
		top: 0;
	}	
	
	#tab_btn_wrap .top_tab_wrap{
		width:100vw;
		position:
		relative;
		height: 17vh;
	}

	#tab_btn_wrap .top_follow_wrap{
		height: 100%;
		background: linear-gradient( to right, #67339f 0%, #253e97 51%, #0d086c 100%);
		box-shadow: 25px 25px 20px 0 rgb(8,8,8,0.2);
	}

	#tab_btn_wrap.fix{
		position: sticky;
		top: 95px;
		z-index: 100;
	}

	#tab_btn_wrap .top_follow_wrap .row{
		width: 94%;
		justify-content: space-between;
		position:
		absolute;
		text-align:
		center;
		top: 0;
		left:50%;
		transform: translate(-50%, 0%);
		display: flex;
	}

	#tab_btn_wrap .top_follow_wrap .row li{
		position:
		relative;
	}
	
	#tab_btn_wrap .top_follow_wrap .row li:before{
		content: "";
		display: block;
		width: 10px;
		height: 10px;
		border-right:
		solid 1px #fff;
		border-bottom:
		solid 1px #fff;
		position: absolute;
		bottom: 14px;
		left: 50%;
		transform: translate(-50%, -50%) rotate(45deg);
		transition: all 0.2s ease-out 0s;
	}
	
	#tab_btn_wrap .top_follow_wrap .row li:hover:before{
    	bottom: 8px;  
		border-right:solid 1px #d5cbdf;
		border-bottom:solid 1px #d5cbdf;  	
    }
	
	#tab_btn_wrap .top_follow_wrap .row li a{
		font-family: 'Roboto', sans-serif;
		display:
		block;
		font-weight: 300;
		font-size: 1.2rem;
		line-height: 159%;
		color: #fff;
		letter-spacing: 0.14em;
		text-align:	center;
		padding: 31px 5% 40px;
		white-space: nowrap;
	}
	
	#tab_btn_wrap .top_follow_wrap .row li a:hover{
		color:#d5cbdf;
	}

	#tab_btn_wrap .top_follow_wrap .row li:nth-child(3) a, #tab_btn_wrap .top_follow_wrap .row li:nth-child(4) a{
		line-height: 288%;
	}
	
	
	
	#tab_btn_wrap.DownMove{
		transform:
		translate(0,0);
	}

	#tab_btn_wrap.UpMove{
		transform: translate(0,-130px);
	}
	
		
	/* ============================================================
 	section 01
	==============================================================*/
	
	#sec01{
		width: 100%;
		padding: 10px 0 50px;
		position: relative;
		z-index: 1;
		background: linear-gradient( to top, #67339f 0%, #253e97 51%, #0e1973 100%);
	}
	#sec01:before{
		content: "";
		position:
		absolute;
		top: -19px;
		background: url(/company/dx/img/wave_01.png) no-repeat top center;
		background-size: contain;
		height: 100%;
		width: 100%;
	}
	#sec01:after{
		content: "";
		position:
		absolute;
		top: 99.9%;
		background: url(/company/dx/img/wave_02.png) no-repeat top center;
		background-size: contain;
		height: 86px;
		width: 100%;
		display: block;
		z-index: 1;
		filter: drop-shadow(25px 25px 20px #8c899333);
	}
	
	#sec01 .txt{
		margin: 10px auto 49px;
		width: 96%;
		text-align:
		center;
		color:#fff;
	}

	#sec01 .row_sp{
		display:
		flex;
		justify-content: space-between;
	}

	#sec01 .photo{
		font-family: 'Roboto', sans-serif;
		text-align:
		center;
		color:#fff;
		margin: -8px 0 0;
		width: 44%;
	}

	#sec01 .photo h2{
		font-size: 2.0rem;
		line-height: 150%;
		margin: 5px 0 0;
	}

	#sec01 .photo h3{
		margin: 8px 0 -3px;
		font-size: 1.2rem;
		/* white-space: nowrap; */
	}
	
	#sec01 .img_box img{
		border-radius: 124px;
		width: 170px;
	}

	#sec01 .img_box_02{
		max-width: 936px;
		width: 76%;
		margin: 0 auto;
	}



	

	
		
	/* ============================================================
 	section 02
	==============================================================*/
	
	#sec02{
		width: 100%;
		position: relative;
		padding: 60px 0 38px;
		z-index: 1;
	}
	
	#sec02 .wrapper{
		width: 100%;
		padding: 0;
	}
	
	#sec02 .ttl_wrap_2{
		margin: 100px 0 0;
	}
	
	#sec02 .ttl_wrap_5{
		margin: 100px 0 0;
	}

	#sec02 .img_box_01 img{
		margin:0 auto;
		width: 100%;
	}

	#sec02 h2{
		color:#fff;
		display: inline-grid;
		padding: 31px 7% 31px;
		margin: 21px 5% 0;
		font-family: 'Roboto', sans-serif;
		font-size: 1.9rem;
		font-weight: 700;
		line-height: 130%;
		text-align: left;
		position: relative;
		background:
		linear-gradient( to left, #67339f 0%, #253e97 51%, #0d086c 100%);
		text-indent: -0.7em;
	}

	#sec02 h2:before{
		content: "”";
		position:
		absolute;
		bottom: 37px;
		right: 4%;
		display: none;
	}

	#sec02 h2:after{
		content: "“";
		position:
		absolute;
		top: 26px;
		left: 2%;
		display: none;
	}

	#sec02 .ttl_wrap_5 h2:before{
		right: 5.0em;
		font-size: 1.9rem;	
		bottom: 34px;	
	}
	
	#sec02 .txt{
		position: relative;
		line-height: 188%;
		max-width: 780px;
		width: 100%;
		padding: 0 7%;
		margin: 40px 0 43px;
		letter-spacing: 0.1rem;
		font-size: 1.5rem;
		font-weight: 400;
	}
	
	#sec02 .txt span{
		display:
		block;
		font-size: 2.0rem;
		color: #64339f;
		font-weight: 600;
		margin: 0 0 4px;
	}
	
	#sec02 .ttl_wrap_3 h2{
	}
	
	#sec02 .ttl_wrap_3 .img_box_01 img{
		margin: 80px -50% 0px 0;
	}
	
	#sec02 .ttl_wrap_4 .img_box_01 img{
		margin: 39px 0 0;
	}

	#sec02 ul.btn_list{
		text-align:
		center;
		margin: 40px 0;
	}

	#sec02 ul.btn_list a{
		sec02:30%;
		width:80%;
	}

	

	
	/*CSS*/
	.bg {
		margin: -46px 0 9px;
	}
	.bg .bg-wrap {
	  position: relative;
	  display: inline-block;
	  padding: 0 2%;
	  margin: 0 0 0;
	}
	.bg.is-animated .bg-wrap::before {
	  animation: bg 2.6s cubic-bezier(0.22, 1, 0.36, 1) forwards;
	  background: linear-gradient( to left, #67339f 0%, #253e97 51%, #0d086c 100%);
	  content: "";
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  transform-origin: left center;
	}
	.bg .bg-wrap .inn {
	  color: #fff;
	  display: inline-block;
	  font-family: 'Roboto', sans-serif;
	  font-size: 2.2rem;
	  font-weight: 400;
	  padding: 1px 0 2px;
	  position: relative;
	  z-index: 1;
	  letter-spacing: 0.1rem;
	  line-height: 150%;
	}

}

	@keyframes bg {
	  0% {
		opacity: 0;
		transform: scaleX(0) translateX(-5%);
	  }
	  30% {
		transform: scaleX(1) translateX(0);
	  }
	  100% {
		transform: scaleX(1) translateX(0);
	  }
	  30%, 100% {
		opacity: 1;
	  }
	}

	
	
	
	

	



/*===============================================
　SP iPhone5サイズ対応　画面の横幅が350pxまで▼▼▼▼▼
===============================================*/

@media (max-width:349px) {
	
}

/*===============================================
　SP iPhone Plus サイズ対応　画面の横幅が415pxまで▼▼▼▼▼
===============================================*/

@media (min-width: 413px) and (max-width: 761px) {
	
}

