@charset "UTF-8";


/*--------------------------------------------------------------
 component
-------------------------------------------------------------- */
.pc{
	display:block;
}
img.pc{
	display:inline;
}
.sp,
img.sp{
	display:none;
}

.container {
	padding-right:50px;
	padding-left:50px;
}

a:hover{
	color:#e73042;
}

/* col-xs */
@media only screen and (max-width: 767px) {
	.pc,
	img.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	img.sp{
		display:inline;
	}
	.container {
		padding-right:25px;
		padding-left:25px;
	}
}


@media only screen and (min-width: 1100px) {
	.container {
		width: 1100px;
	}
}


li{
	list-style:none;
}

@media only screen and (max-width: 1099px) {
	img{
		max-width:100%;
		height:auto;
	}
}



/*--------------------------------------------------------------
 header
-------------------------------------------------------------- */
header{
	width:100%;
	background:#ddd url(../images/bg-header.png) repeat-x top center;
}
header .container{
	padding:0;
}
header p{
	margin-bottom:0;
}
header .toplink{
	padding:30px 30px 45px;
}
header .logo{
	text-align:center;
}
header .mainvisual{
	text-align:center;
	margin:-85px -8px 10px auto;
}
header a{
	color:#000;
}
header a:hover{
	color:#e73042;
}
header .navbar{
	border:none;
	margin-bottom:0;
}
header nav{
	background-color:#e73042;
	width:100%;
}
header .navbar-nav{
	width:100%;
}
header nav li{
	border-left:1px solid #fff;
	font-size:24px;
	font-size:2.4rem;
	width:25%;
	text-align:center;
	letter-spacing:1px;
}
header nav ul li:last-child{
	border-right:1px solid #fff;
}
header nav .navbar-nav > li > a{
	color:#fff;
	padding:25px;
	background-color:#e73042;
	transition: background-color 0.5s ease-out 0.03s;
}
header nav .navbar-nav > li > a:hover,
header nav .navbar-nav > li > a:focus{
	background-color:#f398a1;
}


@media only screen and (max-width: 767px) {
	header{
		background:#ddd url(../images/bg-header.png) no-repeat top center;
		background-size:cover;
	}
	header .toplink{
		text-align:center;
		padding:10px;
		font-size:11px;
	}
	header .toplink a{
		border-radius:14px;
		background-color:#fff;
		border:1px solid #000;
		padding:2px 8px;
	}
	header .logo img{
		width:35%;
	}
	header .mainvisual{
		margin:10px 15px 10px;
	}
	header nav .container{
		width:auto;
	}
	header nav #navbar.navbar-collapse{
		display:block;
		margin:0;
		padding:0;
	}
	header .navbar-nav{
		margin:0;
	}
	header nav li{
		float:left;
		font-size:12px;
	}
	header nav ul li:first-child{
		border-left:none;
	}
	header nav ul li:last-child{
		border-right:none;
	}
	header nav .navbar-nav > li > a{
		padding:8px 10px;
	}

}


/*--------------------------------------------------------------
 section
-------------------------------------------------------------- */
section{
	padding:80px 0;
}
section h1{
	text-align:center;
	margin:0 auto 40px;
}
section p{
	font-size:20px;
	line-height:200%;
	margin-bottom:40px;
}
section p strong{
	font-weight:normal;
	color:#e73042;
}
section ul.row{
	padding:0;
	margin-right:-30px;
	margin-left:-30px;
}
section ul.row li{
	padding:0 30px;
}
p.pagetop a:hover img{
	opacity:0.7;
}

@media only screen and (max-width: 767px) {
	section{
		padding:40px 0;
	}
	section h1{
		margin:0 auto 20px;
	}
	section p{
		font-size:14px;
		margin-bottom:20px;
	}
	section ul.row{
		margin-right:-15px;
		margin-left:-15px;
	}
	section ul.row li{
		padding:0 15px 10px;
	}

}


/* results */
section#results{
	background:url(../images/bg-triangle.png);
}
section#results div.row{
	margin-left: -20px;
	margin-right: -20px;
	margin-bottom:40px;
}
section#results dl.col-md-6.col-xs-12{
	padding-left: 20px;
	padding-right: 20px;
	margin-bottom:40px;
}
section#results dl dt,
section#results dl dd{
	background-color:#fff;
}
section#results dl dt{
	padding:30px 0 0 0;
}
section#results dl dd{
	padding:25px 30px;
	font-size:21px;
	font-size:2.1rem;
}
section#results dl dd h2{
	margin:0;
	color:#e73042;
	font-size:21px;
	font-size:2.1rem;
	line-height:162%;
}
section#results dl dd p{
	margin:0;
	line-height:162%;
}
section#results p.pagetop{
	margin:0 -50px 0 auto;
}
@media only screen and (min-width: 1100px) {
	section#results p.pagetop{
		margin:-40px -100px 0 auto;
	}
}

@media only screen and (max-width: 767px) {
	section#results{
		padding-bottom:20px;
	}
	section#results div.row{
		margin-left: -10px;
		margin-right: -10px;
		margin-bottom:20px;
	}
	section#results dl.col-md-6.col-xs-12{
		padding-left: 10px;
		padding-right: 10px;
		margin-bottom:20px;
	}
	section#results dl dt{
		padding:15px 0 0 0;
	}
	section#results dl dd{
		padding:12px 15px;
	}
	section#results dl dd h2{
		font-size:14px;
		font-size:1.4rem;
	}
	section#results p.pagetop{
		margin:10px auto 0;
	}
	section#results p.pagetop img{
		max-width:50px;
	}
}


/* Q&A */
section#qanda{
	width:100%;
	background:#ddd url(../images/bg-header.png) repeat top center;
	padding-top:100px;
	padding-bottom:40px;
}
section#qanda .container{
	background:#fff;
	padding-top:80px;
	padding-bottom:80px;
}
section#qanda dl{
	margin-bottom:40px;
}
section#qanda dd.col-md-7 h2{
	margin:30px auto 14px;
}
section#qanda dd.col-md-7 p{
    padding-bottom: 0.1em;
    background-color: #fff;
    background-image: linear-gradient(to right, #fff 3px, transparent 3px), linear-gradient(to bottom, #a0a0a0 1.1px, transparent 1px);
    background-size: 6px 2.2em;
    line-height: 2.2;
	font-size:16px;
	margin-bottom:0;
}
section#qanda dt.col-md-5{
	margin-left:-2px;
}
section#qanda .pagetop{
	margin:20px auto 0;
}
@media only screen and (min-width: 1100px) {
	section#qanda .pagetop a{
		display:block;
		margin-right:-50px;
	}
}


@media only screen and (min-width: 1100px) {
	section#qanda .pagetop{
		width:1100px;
	}
	section#qanda dt.col-md-5{
		width:360px;
	}
	section#qanda dd.col-md-7{
		float:right;
		width:664px;
	}
}

@media only screen and (max-width: 767px) {
	section#qanda{
		padding-top:15px;
		padding-bottom:20px;
	}
	section#qanda .container{
		padding-top:40px;
		padding-bottom:10px;
		margin:0 15px;
	}
	section#qanda dd.col-md-7 p{
		font-size:14px;
	}
	section#qanda .pagetop{
		margin:10px 15px 0;
	}
	section#qanda p.pagetop img{
		max-width:50px;
	}
}


/* コラム */
section#column{
	background:url(../images/bg-triangle.png);
}
section#column #creator.container,
section#column #career.container{
	background:#fff;
	padding:20px 30px 20px;
	margin-bottom:40px;
}
@media only screen and (min-width: 1100px) {
	section#column #creator.container,
	section#column #career.container{
		width:1000px;
	}
}

section#column h2{
	padding-bottom:30px;
}
section#column .row {
	margin-right:-10px;
	margin-left:-10px;
}
section#column #creator dl,
section#column #creator div.col-md-4{
	text-align:center;
	padding-right:10px;
	padding-left:10px;
}
section#column #creator dt {
	border:3px solid #e6e6e6;
	border-bottom:none;
	padding:20px 5px 5px;
	font-size:18px;
	line-height:172%;
	font-weight:500;
}
section#column #creator dd{
	border:3px solid #e6e6e6;
	border-top:none;
	padding:0 20px 20px;
}
section#column div.col-md-4 a{
	display:block;
	position:absolute;
	bottom:0;
}
section#column #career dl {
	margin-bottom:35px;
}
section#column #career dd.col-md-6 {
	float:right;
	text-align:left;
	font-size:14px;
	line-height:171%;
}
section#column p.pagetop{
	margin:0 -50px 0 auto;
}
@media only screen and (min-width: 1100px) {
	section#column p.pagetop{
		margin:-40px -100px 0 auto;
	}
}
@media only screen and (max-width: 767px) {
	section#column{
		padding:40px 15px 10px;
	}
	section#column #creator.container,
	section#column #career.container{
		padding:10px 15px;
		margin-bottom:20px;
	}
	section#column h2{
		padding-bottom:15px;
	}
	section#column #creator dt {
		padding:10px 5px 5px;
	}
	section#column #creator dd{
		padding:0 10px 10px;
	}
	section#column #creator div.col-md-4.col-xs-12 a{
		display:block;
		position:relative;
	}
	section#column p.pagetop{
		margin:10px auto 0;
	}
	section#column p.pagetop img{
		max-width:50px;
	}
}



/*--------------------------------------------------------------
 footer
-------------------------------------------------------------- */
footer{
	position:relative;
	text-align:center;
	padding:80px;
	margin:0 auto;
	font-size:16px;
}
@media only screen and (min-width: 1100px) {
	footer{
		width:1100px;
	}
}
footer p{
	line-height:160%;
}
footer .logo{
	margin-bottom:35px;
}
footer .logo img{
	width:108px;
	height:auto;
}
footer a{
	color:#000;
}
footer #logoPrivacy{
	position:absolute;
	right:50px;
	bottom:80px;
}

@media only screen and (max-width: 767px) {
	footer{
		padding:40px;
		font-size:12px;
	}
	footer #logoPrivacy{
		position:relative;
		text-align:center;
		right:0;
		bottom:0;
	}
	footer #logoPrivacy img{
		max-width:50px;
	}
}

