@charset "utf-8";
/* CSS Document */


a:hover {text-decoration: none;}

/* topic path setting:
--------------------------------------------*/

#topic_path {
	background: #E3F1F8;
	padding: 1.7em;
	font-size: 0.9em;
	text-align: right;
	margin-bottom: 40px;
}

#topic_path li {
	display: inline;
}
#topic_path li a {text-decoration: underline;}
#topic_path li em {font-weight: bold;}

#topic_path li a,
#topic_path li span {
	background: url(../img/common/arrow01.svg) no-repeat right center;
	padding-right: 3em;
	margin-right: 1em;
}


@media screen and (max-width: 1200px){
	#topic_path {
		padding: 1.5em;
		margin-bottom: 30px;
	}
}

/* contents setting:
--------------------------------------------*/

/*---- 2 column setting ----*/


#main {
	float: left;
	width: 68%;
	padding-bottom: 50px;
}

#aside {
	float: right;
	width: 28%;
	padding-bottom: 50px;
}

#main img {
	max-width: 100%;
}


#index #main {
	float: none;
	width: 100%;
	padding-bottom: 0;
}



/* basic setting:
--------------------------------------------*/

#main a {text-decoration: underline;}
#main a:hover {text-decoration: none;}


/*---- component setting ----*/

#main p,
#main ul,
#main ol,
#main dl,
#main table {margin: 1.5em;}



/*-- h1 --*/

#main h1 {
	text-align: center;
	position: relative;
	padding: 30px 0;
	font-size: 1.8em;
	color: #444;
	line-height: 1.1; /* 折り返し表示の時の行間 */
}

#main h1:after {
	content: "";
	display: block;
	position: relative;
	background: #337de7;
	background: linear-gradient(to right, #337de7, #3baae7);
	width: 2em;
	height: 3px;
	margin: 20px auto;
}


/*-- h2 --*/

#main h2 {
	position: relative;
	padding: 20px 10px 20px 50px;
	font-size: 1.6em;
	color: #444;
	border-bottom: 1px solid #CBB9B9;
	margin-bottom: 2em;
}

#main h2:before {
    content: "";
    display: block;
    position: absolute;
    background: #337de7;
    background: linear-gradient(to right, #337de7, #3baae7);
    width: 1.2em;
    height: 3px;
    top: 1.2em;
	left: 0;
}


/*-- table --*/


#main table {
	border-top: 1px solid #E1D1D1;
	border-left: 1px solid #E1D1D1;
	border-collapse:collapse; 
}

#main table th {
	background: #F8F7F0;
	font-weight: normal;
	white-space: nowrap;
}

#main table th,
#main table td {
	padding: 1.5em;
	border-right: 1px solid #E1D1D1;
	border-bottom: 1px solid #E1D1D1;
}

#main table td a {word-break: break-all;}


/*-- img --*/

.img_box {
	float: right;
	display: inline-block;
	margin: 0.5em;
}


/*-- list --*/

#main li{
	margin-bottom: 0.5em;
	position: relative;
	padding-left: 15px;
}

#main li:before{
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	background: #FF8E61;
	top: 1.1em;
	left: -15px;
	position: relative;
}


@media screen and (max-width: 1100px){
	#main {
		font-size: 95%;
	}
}

/* lonav setting:
--------------------------------------------*/

#lonav {
	box-shadow: 2px 3px 8px -2px #ccc;
}

#lonav h2 {
	color: #fff;
	padding: 1.4em 1.2em 1.3em;
    background-color: #337de7;
	background: linear-gradient(to right, #337de7, #3baae7);
	font-weight: normal;
	font-size: 1.4em;
}

#lonav ul {
	padding: 20px 20px 20px 30px;
	background: #fff url(../img/index/pickup_bg.gif) repeat-y;
	background-position: bottom 1em left 30px;
}

#lonav li {
	background: url(../img/common/arrow03.svg) no-repeat 0 1em;
	padding: 0.7em 0.7em 0.7em 2em;
}

#lonav li a:hover {text-decoration: underline;}


@media screen and (max-width: 1100px){
	#lonav h2 {
		padding: 1.2em 1em 1.1em;
		font-size: 1.2em;
	}
	#lonav ul {
		padding: 15px;
		background-position: bottom 1em left 15px;
	}
}


/* category index setting:
--------------------------------------------*/

/*-- h1 --*/

#main h1 {
	text-align: center;
	position: relative;
	padding: 30px 0 0;
	font-size: 1.8em;
	color: #444;
}

#main h1:after {
	content: "";
	display: block;
	position: relative;
	background: #337de7;
	background: linear-gradient(to right, #337de7, #3baae7);
	width: 2em;
	height: 3px;
	margin: 20px auto;
}



/*---- category ----*/


#index #main a,
#index #main a:hover {text-decoration: none;}

#index h1:after {
	margin: 20px auto 0;
}


/*-- h2 --*/

#index #category {
	background: url(../img/index/pickup_bg.gif) repeat-y center;
}

#index #category {
	padding: 40px 0px;
}

#index #category:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

#index #category section {
	position: relative;
}

#index #category section a:before {
	content: "";
	display: block;
	position: absolute;
	background: #DFCECE;
	width: 100%;
	height: 1px;
	top: 50%;
	left: 4.3%;
	z-index: -1;
}

#index #category section:nth-child(even) a:before {
	left: -4.1%;
}

#index #category section a {
	display: table;
	float:right;
	width: 48%;
	background: #fff url(../img/common/arrow01.svg) no-repeat;
	background-position: right 15px bottom 15px;
	background-size: 30px;
	box-shadow: 2px 2px 10px -2px #ddd;
	margin-bottom: 50px;
	position: relative;
	padding-right: 20px;
	box-sizing: border-box;
}

#index #category section:nth-child(even) a {
	top: 50px;
}

#index #category section a:after {
	content:".";
    display: block;
    height:0px;
    clear:both;
    visibility:hidden;
}

#index #category section:nth-child(odd) a {
	clear: both;
	float: left;
}

#index #category section img {
	float: left;
	margin-right: 40px;
}

#index #category section h2 {
	padding: 20px 20px 20px 40px;
	margin: 10px 0 0;
	position: relative;
	font-size: 140%;
	color: #444;
	border: none;
}

#index #category section h2:before {
	content: "";
	display: block;
	position: absolute;
	background: #337de7;
	background: linear-gradient(to right, #337de7, #3baae7);
	width: 1.2em;
	height: 3px;
	top: 1.2em;
	left: 0px;
}

#index #category section a p {
	margin: 0 1.5em 1.5em 40px;
}