@charset "utf-8";
/* CSS Document */

/*-------------------------------------
	Main Visual
-------------------------------------*/


#main_visual.main_index{
	position: relative;
	height: 110vh;
	height: calc(110vh - 80px);
}

/* ----- 背景用の動画ファイル ----- */
#bg-video{
 right: 0;
 bottom: 0;
 min-width: 100%;
 min-height: 100%;
 width: auto;
 height: auto;
 z-index: -100;
 background: url('images/topimage_bg.jpg') no-repeat;
 background-size: cover;
}



/*-------------------------------------
	top box
-------------------------------------*/

#top_box{
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
	margin-bottom: 50px;
	position: relative;
	overflow: hidden;
}

#top_box.show{
	margin-top: 30px;
}

#top_box .box{
	background-color: #000;
	width: 50%;
	float: left;
}

#top_box .box2{
	background-color: #FFF;
	width: 450px;
	height: 120px;
	margin: 5%;
}

.icon1{
  display: flex;
  align-items: center;
}
.icon1::before{
    content: url(images/top_icon1.png);
    display: block;
    margin: 0 1.5em;
    width: 112px;
}

.icon2{
  display: flex;
  align-items: center;
}
.icon2::before{
    content: url(images/top_icon2.png);
    display: block;
    margin: 0 1.5em;
    width: 112px;
}

.icon1 p,.icon2 p{
	font: 30px bold;
}


/*-------------------------------------
	takuto stay btn
-------------------------------------*/

#main_visual.takuto_stay{
	position: relative;
	height: 100vh;
	height: calc(100vh - 80px);
	background-color: #080F1B;
	background-position: center bottom;
	/*- margin-bottom: 130px;*/
}

#main_visual.takuto_stay .wrapper{
	position: absolute;
	text-align: center;
	top:50%;
	left:50%;
	width:100%;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}

#main_visual.takuto_stay .change{
	color: #FFF;
	line-height: 1.2;
	transition: all 0.5s;
}

#main_visual.takuto_stay .change .large{
	font-size: 90px;
}

#main_visual.takuto_stay .change .middle{
	font-size: 30px;
	line-height: 1.6;
}

#main_visual.takuto_stay .small{
	color: #BFBFBF;
	font-size: 25px;
	line-height: 1.6;
	margin-top: 11vh;
}

#main_visual.takuto_stay .push_btn {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
}

#main_visual.takuto_stay .push_btn a{
	display: block;
    position: relative;
    z-index: 100;
    text-align: center;
    background: #4280A8;
    color: #fff;
    font-size: 14px;
		top:50px;
    line-height: 50px;
    text-decoration: none;
}

#main_visual.takuto_stay .push_btn a:before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 25px;
    width: 0;
    height: 0;
    margin-top: -5px;
    border: 5px solid transparent;        /*top right bottom を透明化 */
    border-left: 5px solid #fff;
}

#main_visual.takuto_stay .push_btn a:hover:before {
	left: 27px;        /*マウスオーバーで三角をずらす */
}



@media screen and (max-width: 1240px) and (min-width: 769px){
	#main_visual.takuto_stay .change .large{
		font-size: 7.258064vw;
	}

	#main_visual.takuto_stay .change .middle{
		font-size: 2.419354vw;
	}

	#main_visual.takuto_stay .small{
		font-size: 2.016129vw;
	}
}

/*-------------------------------------
	Possibility
-------------------------------------*/

#possibility .img01{
	background-image: url(images/img01_bg.jpg);
	padding-top: 30px;
	padding-bottom: 45px;
}


#possibility .img02{
	background-color: #fff;
	padding-top: 30px;
	padding-bottom: 45px;
}

#possibility .img03{
	background-image: url(images/img03_bg.jpg);
	padding-top: 30px;
	padding-bottom: 45px;
}

#possibility .img04{
	background-color: #fff;
	padding-top: 30px;
	padding-bottom: 45px;
}

#possibility .img05{
	background-image: url(images/img05_bg.jpg);
	padding-top: 30px;
	padding-bottom: 45px;
}

#possibility .img06{
	background-color: #fff;
	padding-top: 30px;
	padding-bottom: 45px;
}

#possibility .img01 .wrapper,
#possibility .img02 .wrapper,
#possibility .img03 .wrapper,
#possibility .img04 .wrapper,
#possibility .img05 .wrapper,
#possibility .img06 .wrapper {
	overflow: hidden;
}

#possibility .img01 .wrapper div,
#possibility .img02 .wrapper div,
#possibility .img03 .wrapper div,
#possibility .img04 .wrapper div,
#possibility .img05 .wrapper div,
#possibility .img06 .wrapper div {
	width: calc(50% - 20px);
	float: left;
	margin-left: 30px;
}

#possibility .img01 .wrapper div:nth-child(2),
#possibility .img02 .wrapper div:nth-child(2),
#possibility .img03 .wrapper div:nth-child(2),
#possibility .img04 .wrapper div:nth-child(2),
#possibility .img05 .wrapper div:nth-child(2),
#possibility .img06 .wrapper div:nth-child(2) {
	transition-delay: 0.5s;
}

#possibility .img01 .wrapper div:nth-child(3),
#possibility .img02 .wrapper div:nth-child(3),
#possibility .img03 .wrapper div:nth-child(3),
#possibility .img04 .wrapper div:nth-child(3),
#possibility .img05 .wrapper div:nth-child(3),
#possibility .img06 .wrapper div:nth-child(3) {
	transition-delay: 1.0s;
}

#possibility .img01 .wrapper div:nth-child(3n+1),
#possibility .img02 .wrapper div:nth-child(3n+1),
#possibility .img03 .wrapper div:nth-child(3n+1),
#possibility .img04 .wrapper div:nth-child(3n+1),
#possibility .img05 .wrapper div:nth-child(3n+1),
#possibility .img06 .wrapper div:nth-child(3n+1) {
	margin-left: 0;
}

#possibility .img01 .wrapper div h4,
#possibility .img03 .wrapper div h4,
#possibility .img05 .wrapper div h4 {
	color: #fff;
	font-size: 30px;
	line-height: 1.2;
	margin-top: 20px;
}

#possibility .img02 .wrapper div h4,
#possibility .img04 .wrapper div h4,
#possibility .img06 .wrapper div h4 {
	color: #080F1B;
	font-size: 30px;
	line-height: 1.2;
	margin-top: 20px;
}

#possibility .img01 .wrapper div p,
#possibility .img03 .wrapper div p,
#possibility .img05 .wrapper div p {
	color: #FFF;
	margin-top: 20px;
}

#possibility .img02 .wrapper div p,
#possibility .img04 .wrapper div p,
#possibility .img06 .wrapper div p {
	color: #080F1B;
	margin-top: 20px;
}

#consulting .checkbox{
	font-size: 0;
}

/*-------------------------------------
	Consulting
-------------------------------------*/



#consulting .service{
	padding-bottom: 50px;
}

#consulting .service header{
	width: 300px;
	height: 150px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 20px;
	margin-bottom: 80px;
}

#consulting .service header h4{
	color: #FFF;
	text-align: center;
	font-size: 22px;
	line-height: 1.4;
}

#consulting .service header h4:before{
	content: "";
	display: block;
	width: 50px;
	height: 1px;
	background-color: #919191;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 45px;
}

#consulting .service .wrapper{
	overflow: hidden;
	color: #FFF;
}

#consulting .service .wrapper > div{
	width: calc(50% - 15px);
	float: left;
	margin-left: 30px;
	margin-bottom: 80px;
}

#consulting .service .wrapper > div a{
	color: #FFF;
}

#consulting .service .wrapper > div figure{
	text-align: center;
}

#consulting .service .wrapper > div:hover img {
		opacity: 1.0;
		filter: alpha(opacity=100);
	}

#consulting .service .wrapper > div:nth-child(2n+1){
	clear: both;
	margin-left: 0;
}

#consulting .service .wrapper > div:nth-last-child(-n+2){
	margin-bottom: 0;
}

#consulting .service .wrapper > div .text{
	padding: 10px 20px 0;
}

#consulting .service .wrapper > div .text h5{
	font-size: 30px;
	line-height: 1.2;
	margin-bottom: 10px;
	color: #000;
}

#consulting .service .wrapper > div .text .btn_arrow{
	max-width: 220px;
	margin-top: 20px;
	position: relative;
}

#consulting .service .wrapper > div .text .btn_arrow span{
	color: #919191;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	line-height: 55px;
	transition: all 0.2s;
}

#consulting .service .wrapper > div .text .btn_arrow span:after{
	content: "→";
	display: inline-block;
	margin-left: 10px;
	transition: all 0.2s;
}

#consulting .service .wrapper > div a:hover .text .btn_arrow span{
	background-color: #919191;
	color: #FFF;
}

#consulting .service .wrapper > div a:hover .text .btn_arrow span:after{
	margin-left: 15px;
	margin-right: -5px;
}





/*-------------------------------------
	Inquiry
-------------------------------------*/

#inquiry .btn_push{
	max-width: 400px;
	margin-left: auto;
	margin-right: auto;
}






/*SP,TAB*/

@media screen and (max-width: 768px){

	/*-------------------------------------
		Main Visual
	-------------------------------------*/

	#main_visual.main_index{
		height: 30vh;
	}

	#main_visual.main_index .change .large{
		font-size: 11.71875vw;
	}

	#main_visual.main_index .change .middle{
		font-size: 4.557291vw;
	}

	#main_visual.main_index .small{
		font-size: 3.255208vw;
		margin-top: 20px;
	}

	/* ----- 背景用の動画ファイル ----- */
	#bg-video{
	 min-width: 100%;
	 min-height: 100%;
	 width: 100%;
	 z-index: -100;
	 background: url('images/topimage_bg.jpg') no-repeat;
	 background-size: 100%;
	 margin-top: 50px;
	}

	/*-------------------------------------
		top_box
	-------------------------------------*/

	#top_box{
		margin-top: 70px;
		margin-bottom: 0px;
		overflow: visible;
		}

	#top_box.show{
	margin-top: 60px;
	}

	#top_box .box{
		background-color: #000;
		width: 100%;
		border: solid 3px #000000;
	}

	#top_box .box2{
		background-color: #FFF;
		width: 90%;
    height: 100%;
    margin: 5%;
	}

	.icon1{
	  display: flex;
	  align-items: center;
	}
	.icon1::before{
	    content: '';
			display: inline-block;/*忘れずに！*/
	    margin: 0 1.5em;
			width: 50px;/*画像の幅*/
      height: 50px;/*画像の高さ*/
			background: url('images/top_icon1.png') no-repeat;
			background-size: 100%;
	}

	.icon2{
	  display: flex;
	  align-items: center;
	}
	.icon2::before{
		content: '';
		display: inline-block;/*忘れずに！*/
		margin: 0 1.5em;
		width: 50px;/*画像の幅*/
		height: 50px;/*画像の高さ*/
		background: url('images/top_icon2.png') no-repeat;
		background-size: 100%;
	}

	.icon1 p,.icon2 p{
		font-size: 18px ;
	}

/*-------------------------------------
	Possibility
-------------------------------------*/


#possibility .data{
	padding-top: 60px;
	padding-bottom: 80px;
}

#possibility .data .wrapper div{
	margin-bottom: 50px;
}

#possibility .data .wrapper div:nth-child(2){
	transition-delay: 0s;
}

#possibility .data .wrapper div:nth-child(3){
	transition-delay: 0s;
}

#possibility .data .wrapper div figure{
	text-align: center;
}

#possibility .data .wrapper div:last-child{
	margin-bottom: 0;
}

#possibility .data .wrapper div h4{
	font-size: 22px;
}

#possibility .data .wrapper div p{
	margin-top: 10px;
}


	/*-------------------------------------
		Consulting
	-------------------------------------*/

	#consulting .checkbox{
		margin-bottom: 20px;
	}

	#consulting .checkbox li{
		font-size: 22px;
	}

	#consulting .checkbox.active li:after{
		top: 3px;
		left: 8px;
	}

	#consulting .service{
		padding-bottom: 50px;
	}

	#consulting .service header{
		margin-bottom: 40px;
	}

	#consulting .service .wrapper > div .text h5{
		font-size: 22px;
	}

	#consulting .service .wrapper > div{
		margin-bottom: 50px;
	}

	#consulting .service .wrapper > div:nth-last-child(-n+2){
		margin-bottom: 50px;
	}

	#consulting .service .wrapper > div:last-child{
		margin-bottom: 0;
	}

	#consulting .service .wrapper > div a .text .btn_arrow span{
		background-color: #919191;
		color: #FFF;
	}

}

@media screen and (max-width: 414px){
	/*-------------------------------------
		Main Visual
	-------------------------------------*/

	#main_visual.takuto_stay .change .large{
		font-size: 11vw;
	}

	#main_visual.takuto_stay .change .middle{
		font-size: 5.5vw;
	}
	#main_visual.takuto_stay p.small{
		font-size: 4.5vw;
	}
}
