@charset "utf-8";
/*------------------------------------------------------------
	トープページ
------------------------------------------------------------*/
.wrapper {
	position: relative;
}

.headerBg {
	width: 100%;
	height: 406px;
	position: absolute;
	left: 0;
	top: 0;
}

#gHeader {
	padding-top: 380px;
	position: relative;
	z-index: 100;
	background: none;
}

#main .infoBox {
	margin: 0 auto 98px;
	width: 919px;
}

#main .infoBox .ttlBox {
	float: left;
	width: 338px;
}

#main .infoBox .ttlBox .title {
	margin-bottom: 28px;
}

#main .infoBox .ttlBox .btn {
	text-align: center;
}

#main .infoBox dl {
	padding: 32px 0 33px 58px;
	float: right;
	width: 522px;
	line-height: 1.9;
	background: url(../images/line02.png) repeat-y left top;
}

#main .infoBox dt {
	float: left;
}

#main .infoBox dt span {
	margin-left: 25px;
}

#main .infoBox dd {
	padding-left: 15em;
}

#main .infoBox dd a {
	color: #000;
	text-decoration: none;
}

#main .infoBox dd a:hover {
	text-decoration: underline;
}

#main .free {
	margin-bottom: 114px;
	padding: 131px 0;
	background-color: #FBFBFB;
}

#main .free .freeBox {
	margin: 0 auto;
	padding-right: 48px;
	width: 1131px;
}

#main .free .freeBox .photo {
	float: left;
}

#main .free .freeBox .textBox {
	margin-top: 13px;
	float: right;
	width: 634px;
}

#main .free .freeBox .textBox .title {
	margin-bottom: 36px;
	padding: 0 0 25px 54px;
	border-bottom: 1px solid #BCBCBC;
}

#main .free .freeBox .textBox .txt {
	margin: 0 0 25px 52px;
}

#main .free .freeBox .textBox p {
	margin: 0 0 28px 54px;
	font-size: 14px;
	line-height: 1.75;
}

#main .free .freeBox .textBox .btn {
	margin-left: 79px;
}

#main h2 {
	margin: 0 auto 57px;
	padding-bottom: 45px;
	width: 955px;
	border-bottom: 1px solid #BCBCBC;
}

#main .section {
	margin: 0 auto 70px;
	padding-bottom: 86px;
	width: 955px;
	background: url(../images/line01.png) repeat-x left bottom;
}

#main .section h3 {
	margin-bottom: 48px;
}

#main .section .btn {
	text-align: center;
}

#main .none {
	margin-bottom: 0;
	background: none;
}

#main .none h3 {
	margin-bottom: 54px;
}

#main .none .comListUl {
	margin-bottom: 58px;
}

@media all and (min-width: 641px) and (max-width: 768px)  {
	.headerBg {
		top: 123px;
	}
	
	#gHeader {
		padding-top: 0;
		background: none;
		background-size: 100% auto;
	}
	
	#main .infoBox {
		margin: 0 40px 24px;
		width: auto;
	}
	
	#main .infoBox .ttlBox {
		margin: 0 50px 30px;
		float: none;
		width: auto;
		overflow: hidden;
	}
	
	#main .infoBox .ttlBox .title {
		margin: 0 33px 0 0;
		float: left;
	}
	
	#main .infoBox .ttlBox .btn {
		margin-top: 52px;
		text-align: left;
		float: left;
	}
	
	#main .infoBox dl {
		padding: 20px 15px 33px 90px;
		float: none;
		width: auto;
		background: none;
		border-top: 1px solid #000;
	}
	
	#main .free {
		margin-bottom: 80px;
		padding: 0 0 35px;
	}
	
	#main .free .freeBox {
		padding-right: 0;
		width: auto;
	}
	
	#main .free .freeBox .photo {
		margin-bottom: 40px;
		float: none;
	}

	#main .free .freeBox .photo .pc {
		display: none;
	}

	#main .free .freeBox .photo .pad {
		width: 100%;
	}
	
	#main .free .freeBox .textBox {
		margin: 0 50px;
		float: none;
		width: auto;
	}
	
	#main .free .freeBox .textBox .title {
		margin-bottom: 36px;
		padding-left: 0;
		text-align: center;
	}
	
	#main .free .freeBox .textBox .txt {
		margin: 0 auto 25px;
		width: 385px;
	}

	#main .free .freeBox .textBox .txt .pc {
		display: none;
	}
	
	#main .free .freeBox .textBox p {
		margin: 0 48px 28px;
	}
	
	#main .free .freeBox .textBox .btn {
		margin-left: 0;
		text-align: center;
	}
	
	#main h2 {
		margin: 0 40px 55px;
		width: auto;
		text-align: center;
	}
	
	#main .section {
		margin: 0 40px 77px;
		padding: 0 125px 86px;
		width: auto;
		background: url(../images/line01.png) repeat-x left bottom;
	}
	
	#main .section h3 {
		margin-bottom: 65px !important;
	}
	
	#main .none {
		margin-bottom: 0;
		background: none;
	}
}

@media all and (min-width: 0) and (max-width: 640px)  {
	.headerBg {
		top: 54px;
	}
	
	#gHeader {
		padding-top: 0;
		background: none;
		background-size: 100% auto;
	}
	
	#main .infoBox {
		margin: 0 25px 50px;
		width: auto;
	}
	
	#main .infoBox .ttlBox {
		margin-bottom: 20px;
		float: none;
		width: auto;
	}
	
	#main .infoBox .ttlBox .title {
		margin: 0 auto;
		width: 220px;
	}

	#main .infoBox .ttlBox .title img {
		width: 220px;
	}
	
	#main .infoBox .ttlBox .btn {
		display: none;
	}
	
	#main .infoBox dl {
		padding: 15px 8px 0;
		float: none;
		width: auto;
		font-size: 12px;
		background: none;
		border-top: 1px solid #000;
	}

	#main .infoBox dt {
		float: none;
	}

	#main .infoBox dd {
		margin-bottom: 16px;
		padding: 0 0 15px 0;
		background: url(../images/line01.png) repeat-x left bottom;
	}

	#main .infoBox .btn {
		text-align: center;
	}
	
	#main .free {
		margin-bottom: 20px;
		padding: 0 0 35px;
	}
	
	#main .free .freeBox {
		padding-right: 0;
		width: auto;
	}
	
	#main .free .freeBox .photo {
		float: none;
	}

	#main .free .freeBox .photo img {
		width: 100%;
	}
	
	#main .free .freeBox .textBox {
		padding: 15px 17px 30px;
		float: none;
		width: auto;
	}
	
	#main .free .freeBox .textBox .title {
		margin-bottom: 25px;
		padding: 0 0 15px;
		text-align: center;
	}

	#main .free .freeBox .textBox .title img {
		width: 280px;
	}
	
	#main .free .freeBox .textBox .txt {
		margin: 0 auto 25px;
		width: 250px;
	}

	#main .free .freeBox .textBox .txt img {
		width: 250px;
	}
	
	#main .free .freeBox .textBox p {
		margin: 0 0 20px;
		font-size: 12px;
	}
	
	#main .free .freeBox .textBox .btn {
		margin-left: 0;
		text-align: center;
	}

	#main .free .freeBox .textBox .btn img {
		width: 290px;
	}
	
	#main h2 {
		margin: 0 15px 28px;
		padding-bottom: 28px;
		width: auto;
	}

	#main h2 img {
		width: 188px;
	}
	
	#main .section {
		margin: 0 20px 50px;
		padding: 0 0 40px;
		width: auto;
		background: url(../images/line01.png) repeat-x left bottom;
		background-size: 5px 1px;
	}
	
	#main .section h3 {
		margin-bottom: 48px;
	}

	#main .section h3 img {
		width: 285px;
	}

	#main .section .btn img {
		margin: 0 auto;
		width: 240px;
	}
	
	#main .none {
		margin-bottom: 0;
		background: none;
	}

	#main .none .comListUl {
		margin-bottom: 0;
	}
	
	#main .none h3 img {
		width: 250px;
	}
}