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

/* nav*/
nav#g-nav .b-solution a {
	border-bottom: #000000 solid 2px;
	font-weight: bold;
	letter-spacing: 0;
}

/*
SPECIAL
========================================================================================== */


/* 共通
------------------------------------------------------------------------------------------ */

/* title */
.story-title{
	position:absolute;
	top:35px;	
	width:276px;
}
.story-title p{
	position:relative;
	border:1px solid #fff;
	border-left:none;
	text-align:right;
	line-height:0;
}
.story-title p span{
	position:relative;
	z-index:5;	
}
.story-title p:after{
	content:"";
	position:absolute;
	top:0;
	left:0;
	z-index:0;
	display:block;
	width:100%;
	height:100%;
	/*background:#FFFF00;*/
	background-color: rgba(255,255,0, 0.7);
	/*mix-blend-mode:multiply;*/
}

/* story */
section.special-story-inner{
	background:#eaeaea;
	margin-top: 80px;
	padding-bottom:63px;
}
section.special-story-inner > div{
	position:relative;
	min-width:1020px;		
}

/* story-nav */
section.special-story-inner .story-nav{
	width:648px;
	margin:0 auto;
	display: flex;
	justify-content: center;
}
section.special-story-inner .story-nav li{
	float:left;
	background:#fff;
}	
section.special-story-inner .story-nav li+li{
	float:right;	
}


/* hover */
.ophover a{
	-webkit-transition:all ease 0.5s;
	-moz-transition:all ease 0.5s;
	transition:all ease 0.5s;
}
.ophover a:hover{
	opacity:0.7;
	filter:alpha(opacity=70);
	-ms-filter:"alpha( opacity=70 )";		
}

/* clearfix */
.cf:after {
  content: "";
  clear: both;
  display: block;
}

.s-img1 {
	display: block;
	position: absolute;
	z-index: 99;
	width: 100%;
	background: url(../../images/solution/index/btn_bk1.png);
	height:460px;
}
.s-img1:hover{
}

/* index
------------------------------------------------------------------------------------------ */
section.special-inner > div{
	position:relative;
	min-width:1020px;
	margin-bottom:5px;	
}
section.special-inner > div > a{
	position:relative;
	display:block;
	height:460px;	
}
section.special-inner > div > a:hover{
	opacity:1;
}
section.special-inner > div > a:after{
	position:absolute;
	content:"";
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:#000;
	opacity:.7;
	-webkit-transition:opacity ease 0.5s;
	-moz-transition:opacity ease 0.5s;
	transition:opacity ease 0.5s;
}
section.special-inner > div:hover > a:after{
	opacity:0;
}
section.special-inner .inner{
	position:relative;
	width:850px;
	margin:0 auto;
	padding-top:212px;
}
section.special-inner .inner .lead{
	position:relative;
	z-index:10;
}
.lead-lo1 {
	margin-bottom:50px;
	margin-left: 80px;
}
.lead-lo2 {
	margin-bottom:90px;
	margin-left: 10px;
}
.lead-lo3 {
	margin-bottom:90px;
	margin-left: 10px;
}

section.special-inner .inner .lead:after{
	content:url(../../images/solution/index/special_arrow.png);
	position:absolute;
	right:-85px;
	top:50%;
	margin-top:-23px;	
}
section.special-inner .inner .bodycopy{
	position:relative;
	color:#fff;
	font-size:1.6rem;
	letter-spacing:3px;
	line-height:2em;
	z-index:10;	
}
section.special-inner .sec-story01 a{	
	background:url(../../images/solution/index/special_bg1.jpg) no-repeat 50% 50%;
	background-size:cover;	
}
section.special-inner .sec-story02 a{	
	background:url(../../images/solution/index/special_bg2.jpg) no-repeat 50% 50%;
	background-size:cover;	
}
section.special-inner .sec-story03 a{	
	background:url(../../images/solution/index/special_bg3.jpg) no-repeat 50% 50%;
	background-size:cover;	
}



/* STORY 01
------------------------------------------------------------------------------------------ */
section.story01 .intro{
	height:712px;
	background:url(../../images/solution/special01/special_bg1.jpg) no-repeat 50% 50%;
	background-size:cover;	
}
section.story01 .intro .inner{
	width:993px;
	margin:0 auto;
	padding-top:185px;	
}
section.story01 .intro .lead{
	margin-bottom:55px;	
}
section.story01 .intro .bodycopy{
	padding-left:85px;
	color:#fff;
	font-size:1.6rem;
	letter-spacing:3px;
	line-height:2em;		
}

section.story01 .conversation{
	width:991px;
	min-width:auto;
	margin:0 auto;
	border:solid #ff0;
	border-width:0 10px;
	line-height:0;	
}
section.story01 .conversation.part01{
	margin-top:-280px;
	border-width:10px 10px 0 10px;
}
section.story01 .conversation.part04{
	margin-bottom:63px;	
	border-width:0 10px 10px 10px;
}
section.story01 .story .inner{
	position:relative;
	width:760px;
	height:578px;
	margin:0 auto;
}
section.story01 .story .inner h4{
	position:relative;	
}
section.story01 .story .inner h4:after{
	content:"";
	display:block;
	width:48px;
	height:3px;
	background:#ff0;
	position:absolute;
	left:50%;
	bottom:-40px;
	margin-left:-24px;	
}
section.story01 .story .inner p{
	position:absolute;
	bottom:45px;
	left:0;
	color:#fff;
	font-size:1.5rem;
	letter-spacing:0px;
	line-height:2em;			
}

section.story01 .story.sec01{
	background:url(../../images/solution/special01/special_bg2.jpg) no-repeat 50% 50%;
	background-size:cover;		
}
section.story01 .story.sec01 .inner{
	padding-top:215px;
}
section.story01 .story.sec02{
	background:url(../../images/solution/special01/special_bg3.jpg) no-repeat 50% 50%;
	background-size:cover;		
}
section.story01 .story.sec02 .inner{
	padding-top:198px;
}
section.story01 .story.sec03{
	background:url(../../images/solution/special01/special_bg4.jpg) no-repeat 50% 50%;
	background-size:cover;		
}
section.story01 .story.sec03 .inner{
	padding-top:190px;
}
section.story01 .story.sec04{
	background:url(../../images/solution/special01/special_bg5.jpg) no-repeat 50% 50%;
	background-size:cover;		
}
section.story01 .story.sec04 .inner{
	padding-top:150px;
}

/* STORY 02
------------------------------------------------------------------------------------------ */
section.story02 .intro{
	height:712px;
	background:url(../../images/solution/special02/special_bg1.jpg) no-repeat 50% 50%;
	background-size:cover;	
}
section.story02 .intro .inner{
	width:993px;
	margin:0 auto;
	padding-top:185px;	
}
section.story02 .intro .lead{
	margin-bottom:55px;	
}
section.story02 .intro .bodycopy{
	padding-left:85px;
	color:#fff;
	font-size:1.6rem;
	letter-spacing:3px;
	line-height:2em;		
}

section.story02 .conversation{
	width:991px;
	min-width:auto;
	margin:0 auto;
	border:solid #ff0;
	border-width:0 10px;
	line-height:0;	
}
section.story02 .conversation.part01{
	margin-top:-280px;
	border-width:10px 10px 0 10px;
}
section.story02 .conversation.part03{
	margin-bottom:63px;	
	border-width:0 10px 10px 10px;
}
section.story02 .story .inner{
	position:relative;
	width:760px;
	height:578px;
	margin:0 auto;
}
section.story02 .story .inner h4{
	position:relative;	
}
section.story02 .story .inner h4:after{
	content:"";
	display:block;
	width:48px;
	height:3px;
	background:#ff0;
	position:absolute;
	left:50%;
	bottom:-40px;
	margin-left:-24px;	
}
section.story02 .story .inner p{
	position:absolute;
	bottom:45px;
	left:0;
	color:#fff;
	font-size:1.5rem;
	letter-spacing:0px;
	line-height:2em;			
}

section.story02 .story.sec01{
	background:url(../../images/solution/special02/special_bg2.jpg) no-repeat 50% 50%;
	background-size:cover;		
}
section.story02 .story.sec01 .inner{
	padding-top:215px;
}
section.story02 .story.sec02{
	background:url(../../images/solution/special02/special_bg3.jpg) no-repeat 50% 50%;
	background-size:cover;		
}
section.story02 .story.sec02 .inner{
	padding-top:130px;
}
section.story02 .story.sec03{
	background:url(../../images/solution/special02/special_bg4.jpg) no-repeat 50% 50%;
	background-size:cover;		
}
section.story02 .story.sec03 .inner{
	padding-top:170px;
}

/* STORY 03
------------------------------------------------------------------------------------------ */
section.story03 .intro{
	height:712px;
	background:url(../../images/solution/special03/special_bg1.jpg) no-repeat 50% 50%;
	background-size:cover;	
}
section.story03 .intro .inner{
	width:993px;
	margin:0 auto;
	padding-top:185px;	
}
section.story03 .intro .lead{
	margin-bottom:55px;	
}
section.story03 .intro .bodycopy{
	padding-left:85px;
	color:#fff;
	font-size:1.6rem;
	letter-spacing:3px;
	line-height:2em;		
}

section.story03 .conversation{
	width:991px;
	min-width:auto;
	margin:0 auto;
	border:solid #ff0;
	border-width:0 10px;
	line-height:0;	
}
section.story03 .conversation.part01{
	margin-top:-280px;
	border-width:10px 10px 0 10px;
}
section.story03 .conversation.part03{
	margin-bottom:63px;	
	border-width:0 10px 10px 10px;
}
section.story03 .story .inner{
	position:relative;
	width:760px;
	height:578px;
	margin:0 auto;
}
section.story03 .story .inner h4{
	position:relative;	
}
section.story03 .story .inner h4:after{
	content:"";
	display:block;
	width:48px;
	height:3px;
	background:#ff0;
	position:absolute;
	left:50%;
	bottom:-40px;
	margin-left:-24px;	
}
section.story03 .story .inner p{
	position:absolute;
	bottom:45px;
	left:0;
	color:#fff;
	font-size:1.5rem;
	letter-spacing:0px;
	line-height:2em;			
}

section.story03 .story.sec01{
	background:url(../../images/solution/special03/special_bg2.jpg) no-repeat 50% 50%;
	background-size:cover;		
}
section.story03 .story.sec01 .inner{
	padding-top:215px;
}
section.story03 .story.sec02{
	background:url(../../images/solution/special03/special_bg3.jpg) no-repeat 50% 50%;
	background-size:cover;		
}
section.story03 .story.sec02 .inner{
	padding-top:120px;
}
section.story03 .story.sec03{
	background:url(../../images/solution/special03/special_bg4.jpg) no-repeat 50% 50%;
	background-size:cover;		
}
section.story03 .story.sec03 .inner{
	padding-top:160px;
}
