@charset "UTF-8";
main a{transition:500ms all;}


.wFull img{width:100%;}
main .w1000,
main .wFull{
	overflow: hidden;
}
main .w1000{
	padding-top: 132px;
	overflow: hidden;
}

/*.bgBlack *{color:#fff;}
.indent{display: inline-block; text-indent: -0.5em;}*/

/* inview */
.inview.left{ 
	position:relative;
    transition:all 0.3s ease;
    transition-delay: 0.6s;
    -webkit-transform:translateX(-5%) ;
    transform:translateX(-5%);
    opacity:0;
}
.inview.inviewShow.left{
	-webkit-transform:translateX(0) ;
	transform:translateX(0);
	opacity:1;
}
.inview.right{
	position:relative;
    transition:all 0.8s ease;
    transition-delay: 0.1s;
    -webkit-transform:translateX(5%) ;
    transform:translateX(5%);
    opacity:0;
}
.inview.inviewShow.right{
	-webkit-transform:translateX(0) ;
	transform:translateX(0); opacity:1;
}
.inview.bottom{
	position:relative;
    transition:all 0.8s ease;
    transition-delay: 0.1s;
    -webkit-transform:translateY(5%) ;
    transform:translateY(5%);
    opacity:0;
}
.inview.inviewShow.bottom{
	-webkit-transform:translateY(0) ;
	transform:translateY(0); opacity:1;
}
 /* delay */
.d1{transition-delay: 0.1s !important;}
.d2{transition-delay: 0.2s !important;}
.d3{transition-delay: 0.3s !important;}
.d4{transition-delay: 0.4s !important;}
.d5{transition-delay: 0.5s !important;}
.d6{transition-delay: 0.6s !important;}
.d8{transition-delay: 0.8s !important;}
.d10{transition-delay: 1s !important;}
.t2{transition-duration:2s !important;}

.photo3{display: flex; padding-top: 132px;}
.photo3 div{width: 100%;}
.photo3 div img{width:33.3%; height: auto;}

/* mainImg -------------------------------------*/
main .mainImg{
    position: relative;
    overflow: hidden;
	margin: 0;
/*	border: 5px solid #0f0;*/
}
main .mainImg img{
	position: absolute;
	width: auto;
	height: 100%;
	top: 0%;
	left: 0%;
/*	transform: translate(-50%,-50%);*/
	/*border: 5px solid #f00;*/
}
@media only screen and (min-width:1366px) and (orientation: landscape){
    main .mainImg img{
		width: auto;
        height: auto;
        min-height: 100%;
        min-width: 100%;
        position: absolute;
/*        transform: translate(-50%,-50%);
        top: 50%;
        left: 50%;*/
	}
}


/* h1 -------------------------------------*/
.mainImg h1{
    position: absolute;
    width: 100%;
    height: auto;
    /*left: 18%;*/
/*    height: 20vw;*/
    text-align: center;
    margin-bottom: 0;
	line-height: 1.75;
}
/* h2 -------------------------------------*/
.txt h2{
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	font-size:46px;
	line-height: 1.5;
	letter-spacing: -1px;
	text-align: center;
	margin: 0 0 100px 0;
}


/* other Contents -------------------------------------*/
.otherContents{
	margin: 132px 0;
}
.otherTtl{
	font-family: 'Noto Serif JP', serif;
	font-size:26px;
	margin-bottom: 50px;
	font-weight: 500;
	text-align: center;
}
.otherContents ul.otherList{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style: none;
	padding: 0;
	margin: 0;
}
.otherContents ul.otherList li{
	width: 50%;
}
.otherContents ul.otherList li:nth-of-type(2){
	border-left: 1px solid #fff;
}
.otherContents ul.otherList li a{
	display: block;
}
.otherContents ul.otherList li a.active{
	opacity: 0.5;
}
.otherContents ul.otherList li a:link,
.otherContents ul.otherList li a:visited{
	text-decoration: none;
	color: #000;
}
.otherContents ul.otherList li a:hover{
	color: #CE121B;
}
.otherContents ul.otherList li dl dt{
	width: 100%;
	height: auto;
	overflow: hidden;
	position: relative;
}
.otherContents ul.otherList li a dl dt img{
	transition: 500ms all;
}

.otherContents ul.otherList li a:hover dl dt img{
	transform:scale(1.05,1.05);
}
.otherContents ul.otherList li dt .otherListTitle{
	position: absolute;
	color:#fff;
	line-height: 1.2;
    font-family: 'Oswald', sans-serif;
    font-size: 22px;
	font-weight: 500;
    letter-spacing: 6px;
	text-align: center;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
}
.otherContents ul.otherList li dt .otherListTitle span{
    display: block;
    color: #CE121B;
    font-size: 12px;
    letter-spacing: 2px;
	margin-bottom: 15px;
}
.otherContents ul.otherList li dl dd{
	display: block;
	position: relative;
    font-family: 'Noto Serif JP', serif;
    font-size: 26px;
	text-align: center;
	padding: 35px 0;
	margin: 0;
}
.otherContents ul.otherList li dl dd:after{
	position: absolute;
	content:""; 
	display: block;
    vertical-align: middle;
	width:14px;
	height:11px;
	left: 50%;
	bottom: 0;
	background: url("../../shared/images/icon_arrow.svg");
}
.otherContents ul.otherList li dl dd span{
	display: block;
    font-size: 16px;
}




/*	index.html
--------------------------------------------------------------------*/
#businessTop main .mainImg{
	/*height: 100vh;*/
	max-height: 100vh;
}
#businessTop main .mainImg img{
    width: 100%;
    height: auto;
	top: 0;
	left: 0;
}
#businessTop .mainImg h1{
    top: 20vw;
}
#businessTop .mainImg h1 span.fontMin{
	font-weight: 400;
    font-size: 46px;
    color: #fff;
}
#businessTop .mainImg h1 span.fontOsw{
    display: block;
    color: #CE121B;
    font-size: 16px;
	font-weight: 500;
    letter-spacing: 5px;
}
#businessTop section.w1000 .txt p{
    font-family: 'Noto Serif JP', serif;
    font-size: 19px;
    font-weight: 400;
}
#businessTop section.w1000 .txt p.inview.left{
	width: 85%;
	margin: 0 auto 1.5em auto;
	line-height: 40px;
}
#businessTop section.w1000 figure{
	width: 80%;
	margin: 50px auto 0 auto;
}

/* consulting
	contents
-----------------------------------------------------------------------------*/
#consulting main .mainImg,
#contents main .mainImg{
	width: 100%;
    height: 478px;
}
#consulting main .mainImg img{
	width: 110%;
	height: auto;
	top: -14vw;
	left: -5vw;
}
#contents main .mainImg img{
	width: 110%;
	height: auto;
	top: -18vw;
	left: -5vw;
}

.strengths main .mainImg h1{
    /*top: 14vw;*/
	line-height: 1.2;
	transform: translate(-50%,-50%);
	top: 50%;
	left: 50%;
}
.strengths main .mainImg h1 span{
    font-size: 30px;
    color: #fff;
    font-family: 'Oswald', sans-serif;
	font-weight: 500;
    letter-spacing: 7px;
}
.strengths main .mainImg h1 span.red{
    display: block;
    color: #CE121B;
    font-size: 16px;
	font-weight: 500;
    letter-spacing: 3px;
}
.strengths .w1000 .txt h2{
	font-size: 46px;
}
.strengths .w1000 .txt h2 span{
	display: block;
	font-size: 30px;
	line-height: 2.5;
}
.strengths .w1000 .txt h3{
	text-align: center;
	font-size: 38px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 500;
	margin: 0 0 1.2em 0;
}
.strengths .w1000 .txt h3 span{
	display: block;
	width: 100%;
	font-size: 16px;
	font-family: 'Playfair Display', serif;
	border-bottom: 1px solid #000;
	padding: 0 0 9px 0;
	margin-bottom: 20px;
}
.strengths .w1000 .txt .inview.left p{
	margin-bottom: 1.5em;
}
.strengths .w1000 .txt .inview.left p:last-child{
	margin-bottom: 0;
}
.strengths .otherContents{
	border-top: 1px solid #000;
}
.strengths .otherContents ul.otherList li:nth-of-type(1){
	border-right: 15px solid #fff;
}
.strengths .otherContents ul.otherList li:nth-of-type(2){
	border-left: 15px solid #fff;
}
.strengths .otherContents ul.otherList li dl dt{
	height: 200px;
}
.strengths .otherContents ul.otherList li:nth-of-type(1) dl dt img{
	width: 105%;
	margin-top: -3.5vw;
	margin-left: -0vw;
}
.strengths .otherContents ul.otherList li:nth-of-type(2) dl dt img{
	width: 100%;
	margin-top: -3.5vw;
	margin-left: -0vw;
}




/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Tablet & Smartphones
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

/*タブレット 縦のみ*/
@media screen and (max-width: 1024px) and (orientation: portrait){

	/*	index.html
	--------------------------------------------------*/
	#businessTop main .mainImg{
		height: auto;
	}
	#businessTop main .mainImg img{
		width: 240%;
		height: auto;
		top:0;
		left: -25vw;
	}
	#businessTop .mainImg h1{
	    top: 50vw;
	}
	#businessTop .mainImg h1 span.fontMin {
	    font-size: 46px;
	}
	#businessTop .mainImg h1 span.fontOsw{
	    font-size: 16px;
	}


	/*	consulting.html
	--------------------------------------------------*/
	#consulting main .mainImg img{
		width: 130%;
		height: auto;
		transform: translate(-50%,-10%);
		top: 50%;
		left: 50%;
	}
	#contents main .mainImg img{
		width: 180%;
		height: auto;
		transform: translate(-50%,-23%);
		top: 50% !important;
		left: 50%;
	}

    .strengths main .mainImg h1{
		/*top: 20vw;*/
	}
	
	/* contents */
    /*#contents main .mainImg > img{margin-left:-42%;}*/

}
/*タブレット 横のみ*/
@media screen and (max-width: 1366px) and (orientation:  landscape){
	/*	index.html
	--------------------------------------------------*/
	#businessTop .mainImg h1{
    	/*top: 30vw;*/
	}

}
/*タブレット 縦から	*/
@media screen and (max-width: 1024px){
    /* mainImg */
    main{
		overflow-x:hidden;
	}

}
/*スマホ 横のみ*/
@media screen and (max-width: 896px) and (orientation: landscape){
	/*	index.html
	--------------------------------------------------*/
	#businessTop main .mainImg img {
    	/*width: 100%;
		height: auto;*/
	}
	#businessTop .mainImg h1 {
		top: 20vw;
	}
	.strengths main .mainImg img{
		/*width: 130%;
		height: auto;
		margin-top: -13vw;
		margin-left: -14vw;*/
	}
	.strengths main .mainImg h1 {
 	   top: 25vw;
	}

	/*	consulting.html
	/*	contents.html
	--------------------------------------------------*/
	#consulting main .mainImg,
	#contents main .mainImg {
		height: 100vh;
	}
	#consulting main .mainImg img{
		transform: translate(-50%,-10%);
		top: 50%;
		left: 50%;
	}
	#contents main .mainImg img{
		width: 160%;
		transform: translate(-50%,-23%);
		top: 50%;
		left: 50%;
	}

}
/*スマホ 横から*/
@media screen and (max-width: 896px){

	main .w1000{
		padding-top: 80px;
	}
    .txt h2{
		font-size: 30px;
		margin-bottom: 60px;
	}
	/*	index.html
	--------------------------------------------------*/
	#businessTop .mainImg h1 span.fontMin {
	    font-size: 36px;
	}
	#businessTop .mainImg h1 span.fontOsw{
	    font-size: 14px;
	}


    /* other contents */
	.otherContents ul.otherList li dl dd{font-size: 23px;}
	.otherContents ul.otherList li dl dd span{font-size: 13px;}
}

/*スマホ　縦からは*/
@media screen and (max-width: 480px){
	
	/*.wFull img {
	    width: 150%;
    	margin-left: -25%;
    }
    main .mainImg{
		height: 80vh;
	}
    main .mainImg{
		width: auto;
		height: 100%;
	}*/
    
	.otherContents{
		margin: 80px 0 40px 0;
	}
	.otherContents .otherTtl{
		margin-bottom: 1em;
	    font-size:18px;
    }
	.photo3{display: flex; padding-top: 80px;}

	

	
	/*	index.html
	--------------------------------------------------*/
	#businessTop main .mainImg{
	/*	height: auto;*/
	}
	#businessTop main .mainImg img{
		width: 240%;
		height: auto;
		top: 0;
		left: -20vw;
	}
	#businessTop .mainImg h1 {
		top: 50vw;
	}
    #businessTop section.w1000 .txt p{
        font-size: 16px;
    }
	#businessTop section.w1000 .txt p.inview.left{
		width: 100%;
		margin: 0 auto 1.5em auto;
		line-height: 36px;
	}
	#businessTop section.w1000 figure{
		width: 100%;
		margin: 50px auto 0 auto;
	}
	
	/* otherContents */
	#businessTop .otherContents ul.otherList li{
        width: 100%;
        padding-bottom: 40px;
    }


	/*	consulting.html
	/*	contents.html
	--------------------------------------------------*/
	#consulting main .mainImg,
	#contents main .mainImg{
		height: 350px;
	}
	#consulting main .mainImg img{
		width: 190%;
	}
	#contents main .mainImg img {
		width: 200%;
		transform: translate(-50%,-15%);
	}
    .strengths main .mainImg h1 {
 	   /*top: 32vw;*/
       line-height: 1;
    }
	.strengths main .mainImg h1 span{
		font-size: 24px;
	}
	.strengths main .mainImg h1 span.red{
    	font-size: 14px;
	}

	.strengths .w1000 .txt h2{
		font-size: 30px;
	}
	.strengths .w1000 .txt h2 span{
		display: block;
		font-size: 18px;
		line-height: 2.5;
	}
	#contents .w1000 .txt h2 {letter-spacing: -2.5px;}
	#contents .w1000 .txt h2 span{letter-spacing: -1px;}
	.strengths .w1000 .txt h3{
		font-size: 25px;
	}
	
	 /* otherContents */
	 .strengths .otherContents{
		padding-bottom: 80px;
	}
	.strengths .otherContents ul.otherList li:nth-of-type(1){
		border-right: 7px solid #fff;
	}
	.strengths .otherContents ul.otherList li:nth-of-type(2){
		border-left: 7px solid #fff;
	}
	.strengths .otherContents ul.otherList{
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		list-style: none;
		padding: 0;
		margin: 0;
	}
	.strengths .otherContents ul.otherList li dl dt{
		width: 100%;
		height: auto;
		overflow: hidden;
		position: relative;
		padding-bottom: 20px;
	}
	.strengths .otherContents ul.otherList li a dl dt .imgArea{
		width: 100%;
		height: 120px;
		overflow: hidden;
	}
	.strengths .otherContents ul.otherList li:nth-of-type(1) dl dt img{
		width: 110%;
		margin-top: -0vw;
		margin-left: 2vw;
	}
	.strengths .otherContents ul.otherList li:nth-of-type(2) dl dt img{
		width: 110%;
		margin-top: 0;
		margin-left: -0vw;
	}
	.strengths .otherContents ul.otherList li dt .otherListTitle{
		position: static;
		color:#000;
		line-height: 1.2;
		font-size: 18px;
		font-weight: 500;
    	letter-spacing: 5px;
		text-align: center;
		transform: translateY(0%) translateX(0%);
		-webkit- transform: translateY(0%) translateX(0%);
		padding: 15px 0 0 0;
	}
	.strengths .otherContents ul.otherList li dt .otherListTitle span{
    	display: block;
		font-size: 9px;
		letter-spacing: 2px;
		margin-bottom: 5px;
	}
	.strengths .otherContents ul.otherList li dl dd{
		display: none;
	}
	.strengths .otherContents ul.otherList li dl dt:after{
		position: absolute;
		content:""; 
		display: block;
		vertical-align: middle;
		width:14px;
		height:11px;
		left: 50%;
		bottom: 0%;
		background: url("../../shared/images/icon_arrow.svg");
	}





}