@charset "utf-8";

br.pc {
	display:block;
}
br.sp {
	display:none;
}
br.lg_pc {
	display: block;
}
br.no_lg_pc {
	display: none;
}

.g_nav_trigger .white {
	display: block;
}
.g_nav_trigger .black {
	display: none;
}

section h1 {
	color: #FFF;
	margin: 0 auto 56px;
}
section h1::after {
	display:none;
}
section h2 {
    position: relative;
    font-size: 2.4rem;
    line-height: 1.4;
    text-align: center;
    margin: 0 auto 55px;
    padding: 0 20px;
}
section h2::after {
    position: absolute;
    content: "";
    height: 0;
    width: 1px;
    top: calc(100% + 20px);
    left: 50%;
    background-color: #ff5400;
    -webkit-transition: all 1s;
    -moz-transition: all 1s;
    -ms-transition: all 1s;
    -o-transition: all 1s;
    transition: all 1s;
}
section h2.on::after {
	height: 19px;
}
section h2 span {
    display: block;
    opacity: 0;
    -webkit-transition: all 1s;
    -moz-transition: all 1s;
    -ms-transition: all 1s;
    -o-transition: all 1s;
    transition: all 1s;
}
section h2 span.on {
    opacity: 1;
}
section h3 {
	font-size:4rem;
	line-height: 1.5;
	text-align: center;
    padding: 0 20px;
}
section .lead {
	color: #FFF;
	font-size: 2.8rem;
}
.lead span {
	display: block;
	font-size:2.2rem;
	margin-bottom: 30px;
}
.strategy .main_concept h1 {
	font-size: 4.7rem;
}
.concept {
	width:100%;
	height:50.66666666vw;
	min-height:760px;
	margin: 0 auto 76px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}
.concept .img_left,
.concept .img_right {
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 100%;
	background:url(../img/strategy/main_img_pc_left.jpg) no-repeat center center;
	background-size: cover;
}
.concept .img_right {
	left: auto;
	right: 0;
	background:url(../img/strategy/main_img_pc_right.jpg) no-repeat center center;
	background-size: cover;
}
.concept .strategy_nav {
	position: absolute;
	right: 0;
	bottom: 150px;
	left: 0;
	width: 100%;
}
.concept .strategy_nav_heading {
	display: flex;
	width: 100%;
}
.concept .strategy_nav_heading h1 {
	width: 50%;
	font-size: 6rem;
}
.business {
	width:100%;
	max-width:1200px;
	margin: 0 auto 200px;
}
.markerBox {
	width: 512px;
	height: 511px;
	margin: 0 auto;
	position:relative;
}
.markerFade {
	width: 512px;
	height: 511px;
	position:absolute;
	margin: 0 auto;
	top:54px;
	left:0;
	right:0;
	z-index:2;
	background:url(../img/strategy/strategy_img1.png) no-repeat top left;
	background-size: 100% auto;
}
.markerFade img {
	width:100%;
	height:auto;
	position:absolute;
	top:0;
	left:0;
}
.markerSlider {
	width:100%;
	height: 100%;
}
.linkList {
	display:block;
}
.linkList li {
	width:25%;
	float:left;
}

.contWrap {
	width:100%;
	height:50.66666666vw;
	background-size: cover;
	background-repeat:no-repeat;
	background-position: center center;
	box-sizing:border-box;
	padding: 16.33333% 20px 0;
	text-align: center;
}
.contWrap h2, .contWrap h3 {
	color:#FFF;
}
.contWrap h3 {
	margin: 0 0 50px;
}

.contWrap.cont1 {
	background-image:url(../img/strategy/cont1_img.jpg);
}
.contWrap.cont2 {
	background-image:url(../img/strategy/cont2_img.jpg);
}
.contWrap.cont3 {
	background-image:url(../img/strategy/cont3_img.jpg);
}
.contWrap.cont3 h2, .contWrap.cont3 h3, .contWrap.cont3 a, .strategy_nav .important a {
	color:#000;
}
.ghost_slide_left .animate_inner.btn_wrap {
	transition:all 0.3s;
}
.contWrap.cont3 .ghost_slide_left .animate_inner.btn_wrap{
	color:#000;
	height: auto;
}
.contWrap.cont1 .ghost_slide_left .animate_inner.btn_wrap:hover,
.contWrap.cont2 .ghost_slide_left .animate_inner.btn_wrap:hover,
.contWrap.cont3 .ghost_slide_left .animate_inner.btn_wrap:hover,
.contWrap.cont4 .ghost_slide_left .animate_inner.btn_wrap:hover,
.strategy_nav .important .ghost_slide_left .animate_inner.btn_wrap:hover {
	color:#FFF;
}
.contWrap.cont1 .animate_inner:hover,
.contWrap.cont2 .animate_inner:hover,
.contWrap.cont3 .animate_inner:hover,
.contWrap.cont4 .animate_inner:hover,
.strategy_nav .important .animate_inner:hover
{
	background: #000;
	color: #FFF;
}
.contWrap.cont1 .animate_inner:hover .ghost_btn,
.contWrap.cont2 .animate_inner:hover .ghost_btn,
.contWrap.cont3 .animate_inner:hover .ghost_btn,
.contWrap.cont4 .animate_inner:hover .ghost_btn,
.strategy_nav .important .animate_inner:hover .ghost_btn{
	border: 1px solid #000;
}
.contWrap.cont3 .animate_inner .ghost_btn{
	border: 1px solid #000;
}

.contWrap.cont4 {
	background-image:url(../img/strategy/cont4_img.jpg);
	margin: 0 auto;/* 0 auto 72px */
}
.cont5 {
	margin: 0 auto 50px;
}
.cont5 p {
	text-align: center;
	padding: 0 20px;
}
.cont5 img {
	display: block;
	width:500px;
	margin: 0 auto 30px;
}

.strategy_nav .ghost_slide_left {
    width: 14%;
    height: 46px;
}

.ghost_slide_left .animate_inner {
   opacity: 0 !important;
}
.ghost_slide_left .animate_inner.on {
    opacity: 1 !important;
}

.strategy_nav aside div ul.important{
	width: 100%;
	display:flex;
}

.strategy_nav aside div ul.important li{
	text-align: center;
}

.strategy_nav aside div ul.important li span{
	width: 100%;
}

.strategy_nav .important .animate_inner .ghost_btn{
	width: 100%;
}
.strategy_nav .important .animate_inner .ghost_btn span{
	font-size: 2.1rem;
}
.main_concept {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	height: 194px;
}

@media screen and (max-width: 1200px) {
	br.lg_pc {
		display: none;
	}
	br.no_lg_pc {
		display: block;
	}
	section h3 {
		font-size:3rem;
	}
	section .lead {
		font-size: 2.1rem;
	}
	.strategy .main_concept h1 {
		font-size: 3.6rem;
	}
	.concept {
		height: auto;
		min-height: 0;
		padding: 350px 0 100px;
		display: block;
	}
	.concept .img_left,
	.concept .img_right {
		background:url(../img/strategy/main_img_middle_left.jpg) no-repeat center center;
		background-size: cover;
	}
	.concept .img_right {
		background:url(../img/strategy/main_img_middle_right.jpg) no-repeat center center;
		background-size: cover;
	}
	.concept .strategy_nav_heading {
		margin-top: -175px;
	}
}
@media screen and (max-width: 1000px) {
	.contWrap {
	    width: 100%;
	    height:auto;
		padding: 80px 20px;
	}
}
@media screen and (max-width: 800px) {
	section h3 {
		font-size:2.4rem;
	}
	section .lead {
		font-size: 1.8rem;
	}
	.strategy .main_concept h1 {
		font-size: 3rem;
	}
	.concept .strategy_nav {
		bottom: 75px;
	}
	.strategy_nav .ghost_slide_left {
		width: 30%;
		height: 46px;
	}
}
@media screen and (min-width: 800px) and (max-width: 1200px){
	.strategy .main_concept h1 {
		padding-top: 25px;
	}
	.strategy .main_concept .lead {
	}
	.concept .strategy_nav {
		bottom: 75px;
	}
	.strategy_nav .ghost_slide_left {
		width: 20%;
		height: 46px;
	}
}
@media screen and (max-width: 760px) {
	.concept {
		padding: 316px 0 100px;
		background:url(../img/strategy/main_img_sp.jpg) no-repeat top center;
		background-size: cover;
	}
	.concept .img_left,
	.concept .img_right {
		background:url(../img/strategy/main_img_sp_left.jpg) no-repeat center center;
		background-size: 100%;
	}
	.concept .img_right {
		background:url(../img/strategy/main_img_sp_right.jpg) no-repeat center center;
		background-size: 100%;
	}
	.concept .strategy_nav_heading {
		margin-top: -145px;
	}
	.concept .strategy_nav_heading h1 {
		font-size: 4.5rem;
	}
	.strategy_nav aside div ul.important li{
		text-align: center;
		width: 40%;
	}
	.strategy_nav .important .ghost_slide_left .animate_inner.btn_wrap .ghost_btn{
		width: 100%;
	}
}

@media screen and (max-width: 640px) {
	section h3 {
	    font-size: 2rem;
	    text-align: left;
	}
	section .lead {
		padding: 0;
		text-align: center;
	}
	.strategy {
		margin-top: 64px;
	}
	.concept {
		padding: 260px 0 100px;
		min-height: initial;
	}
	.concept .strategy_nav {
		bottom: 50px;
	}
	.concept .strategy_nav_heading {
		margin-top: -113px;
	}
	.strategy .main_concept {
		top: 75px;
		padding: 0 20px;
	}
	.strategy .main_concept h1 {
		margin:  0 auto 30px;
	}
	.strategy_nav aside div ul.important li{
		text-align: center;
		width: 34%;
		height: 54px;
	}
	.strategy_nav .important .animate_inner .ghost_btn span {
		line-height: 52px;
	}

	.markerBox {
		width: 250px;
		height: 250px;
		margin: 0 auto;
		position:relative;
	}
	.markerFade {
		width: 250px;
		height: 250px;
	}

	.linkList li {
		width:50%;
	}

	.business {
	    margin: 0 auto 80px;
	}
	.contWrap {
	    width: 100%;
	    height:auto;
		padding: 60px 20px;
	}
	.contWrap.cont1 {
		background-image:url(../img/strategy/cont1_img_sp.jpg);
	}
	.contWrap.cont2 {
		background-image:url(../img/strategy/cont2_img_sp.jpg);
	}
	.contWrap.cont3 {
		background-image:url(../img/strategy/cont3_img_sp.jpg);
	}
	.contWrap.cont4 {
		background-image:url(../img/strategy/cont4_img_sp.jpg);
		margin: 0 auto;/* 0 auto 72px */
	}
	.contWrap h2, .contWrap h3 {
		padding: 0;
	}
	.cont5 img {
		width:90%;
	}
	.cont5 p {
	    text-align: left;
	}
}
@media screen and (max-width: 550px) {
	br.pc {
		display:none;
	}
	br.sp {
		display:block;
	}
	br.no_lg_pc {
		display: none;
	}
	.concept {
	    height: auto;
	    padding: 230px 0 40px;
	}
	section .lead {
		font-size: 1.6rem;
	}
	.strategy .main_concept h1 {
		font-size: 2.4rem;
	}
	.concept .strategy_nav_heading h1 {
		font-size: 3rem;
	}
	.concept .strategy_nav_heading {
		margin-top: -118px;
	}
	.strategy_nav aside div ul.important li{
		text-align: center;
		width: 34%;
		height: 47px;
	}
	.strategy_nav .important .animate_inner .ghost_btn span{
		font-size: 1.6rem;
		line-height: 45px;
	}
}
@media screen and (max-width: 414px) {
	.strategy .main_concept {
		top: 80px;
	}
	.strategy .main_concept h1 {
		margin: 0 auto 10px;
		font-size: 1.8rem;
	}
	.concept .strategy_nav_heading h1 {
		font-size: 2.4rem;
	}
	.strategy .main_concept .lead {
		font-size: 1.2rem;
	}

	.contWrap {
		padding: 60px 20px;
	}
	.concept {
	    height: auto;
	    padding: 165px 0 40px;
	}
	.concept .strategy_nav {
		bottom: 25px;
	}
	.business h3 {
		text-align: center;
	}
	.contWrap.cont2 h3,
	.contWrap.cont3 h3,
	.contWrap.cont4 h3 {
		text-align: center;
	}
	section h1 {
		margin: 0 auto 90px;
	}
	.lead span {
		display: block;
		text-align: center;
		margin-bottom: 20px;
	}
	.cont5 p.center{
		text-align: left;
	}
	.strategy_nav aside div ul.important li{
		text-align: center;
		width: 34%;
		height: 36px;
	}
	.strategy_nav .important .animate_inner .ghost_btn span{
		line-height: 34px;
		font-size: 1.2rem;
	}
}
