@charset "utf-8";

.layout_concept{
	width: 900px;
    margin-right: auto;
    margin-left: auto;
    overflow: hidden;
}

.txt_color{
	color: #46325A;
}

#pageHead.concept{
	background: url("../images/concept/h2_bg.jpg") no-repeat top center;
		-webkit-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover;
}

#main_contents.concept #sec01 {
    text-align: center;
    background: url(../images/home/bg_logo.jpg) 50% 50% no-repeat;
    -webkit-background-size: 300px;
    -o-background-size: 300px;
    background-size: 300px;
    padding: 80px 0 95px 0;
}

#main_contents.concept #sec02{
	margin-bottom: 120px !important;
}

#main_contents.concept #sec02:before,
#main_contents.concept #sec02:after{
	content:"";
	display: block;
	width: 100%;
	height: 25px;
background: #362f3f; /* Old browsers */
background: -moz-linear-gradient(left, #362f3f 0%, #ffffff 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left, #362f3f 0%,#ffffff 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, #362f3f 0%,#ffffff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#362f3f', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 */
opacity: 0.2;
}

#main_contents.concept #sec02 .episode{
	padding: 100px 0 50px 0;
	background: #F3F2F3;
	color: #46325a;
}

#main_contents.concept #sec02 .episode h2.ttl{
	font-size: 50px;
	font-weight: 700;
	text-align: center;
}

#main_contents.concept #sec02 .episode h2.ttl span {
	display: inline-block;
    margin-right: -.5em;
}

#main_contents.concept #sec02 .episode p span {
	display: inline-block;
}

#main_contents.concept #sec02 .episode p span:nth-child(1) {
    margin-right: .5em;
}

#main_contents.concept #sec02 .episode .txt_wrap{
	color: #333 !important;
}

#main_contents.concept #sec02 .episode .txt_wrap p {
	line-height: 2em;
}

#main_contents.concept #sec02 .sec_head{
	position: relative;
}

#main_contents.concept #sec02 .sec_head:before{
	content: url(../images/concept/ttl_left.png);
	position: absolute;
	top: 0;
	left: 0;
}

#main_contents.concept #sec02 .sec_head:after{
	content: url(../images/concept/ttl_right.png);
	position: absolute;
	bottom: 0;
	right: 0;
}


#main_contents.concept #sec03{
	
}

#main_contents.concept .episode_in{
	width: 900px;
	margin: 0 auto;
	overflow: hidden;
	margin-bottom: 40px;
}

#main_contents.concept .episode_in .left{
	float: left;
}

#main_contents.concept .episode_in .right{
	float: right;
}

#main_contents.concept .episode_in .txt{
	width: -webkit-calc(100% - 360px);
    width: calc(100% - 360px);
}

#main_contents.concept .episode_in .img{
	width: 300px;
    width: 300px;
}

#main_contents.concept .episode_in h2{
	margin-bottom: 10px;
}


.episode_number:before{
	content: url("../images/concept/icon-book.png");
	margin-right: 10px;
}

#main_contents.concept #sec03 .left{
	float: left;
width: 260px;
	
}

#main_contents.concept #sec03 .right{
	float: right;
	width: -webkit-calc(100% - 300px);
    width: calc(100% - 300px);
}

#main_contents.concept #sec03 .right .copy {
	display: flex;
    justify-content: flex-end;
    align-items: center;
}

#main_contents.concept #sec03 .right .tar {
	display: inline-block;
    line-height: 1em;
    margin-right: 1em;
}

.episode_number{
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 10px;
}

@media (max-width:768px) {

	#main_contents.concept .episode_in .left{
	float: none;
}

#main_contents.concept .episode_in .right{
	float: none;
}

#main_contents.concept .episode_in .txt{
	width: 100%;
    margin-bottom: 20px;
}

#main_contents.concept .episode_in .img{
	width: 70%;
	margin: 0 auto;
	margin-bottom: 40px;
}

#main_contents.concept #sec03 .left{
	float: none;
width: 100%;
margin-bottom: 20px;
	
}

#main_contents.concept #sec03 .right{
	float: none;
		width:100%;
}

#main_contents.concept .episode_in{
	width: 90%;
}

.sp_p40{
	padding: 0 40px;
}

#main_contents.concept #sec01 {
    -webkit-background-size: 160px;
    -o-background-size: 160px;
    background-size: 160px;
    padding: 20px 0 20px 0;
    margin-bottom: 20px;
}

.layout_concept{
	width: 90%;
}

#main_contents.concept #sec02 .episode h2.ttl{
	font-size: 30px;
	text-align: center;
}

#main_contents.concept #sec02 .sec_head{
	padding: 20px 0;
}


.episode_number{
	text-align: center;
	font-size: 20px;
}

#main_contents.concept #sec02 .episode{
	padding-top: 50px;
	padding-bottom: 0;
}

#main_contents.concept .episode_in{
	padding-bottom: 20px;
	margin-bottom: 0;
}

#main_contents.concept #sec02{
	margin-bottom: 40px !important;
}

#main_contents.concept #sec03 > div.sec_head.effect{
	margin-bottom: 30px;
}

}


@media (max-width:640px) {

	#main_contents > h2 {
		font-size: 20px;
	}

	#main_contents.concept #sec01 p {
		font-size: 18px;
	}

	#main_contents.concept #sec02 .sec_head {
		padding: 40px 0;
		margin-bottom: 40px;
	}

	#main_contents.concept .episode_in .img {
		margin-bottom: 22px;
	}

	#main_contents.concept .episode_in .txt h3 {
		font-size: 20px;
		letter-spacing: -.01em;
		margin-bottom: 10px;
	}

	#main_contents.concept #sec03 > div h2 {
		margin-bottom: 10px;
	}

	#main_contents.concept #sec03 .sec_head {
		margin-bottom: 40px;
	}

	#main_contents.concept #sec03 > div.sec_head.effect h2 {
		font-size: 20px;
	}

	#main_contents.concept #sec03 > div.sec_head.effect p {
		font-size: 14px;
	}

	#main_contents.concept #sec03 .right .copy {
		display: block;
	}

	#main_contents.concept #sec03 .right .tar {
		display: block;
		margin-right: 0;
		margin-bottom: 10px;
	}

}


