@charset "utf-8";

*{
	margin: 0;
	padding: 0;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
body, p,
h1, h2, h3, h4, h5, h6,
dl, dt, dd, ol, ul, li,
th, td {
	font-size: 16px;
	line-height: 1.6;
	font-weight: normal;
}
body {
	background-color: #fff;
	color: #000;
	font-family: Verdana, Arial, "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif;
	-webkit-text-size-adjust: 100%;
}
ol, ul {	list-style: none;	}
a:link {
	color: #000;
	text-decoration: underline;
	-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;
}
a:visited {
	color: #000;
	text-decoration: underline;
	-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;
}
a:hover {
	color: #000;
	text-decoration: underline;
	-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;
}
a:active {
	color: #000;
	text-decoration: underline;
	-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;
}
a img {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
a:hover img {
	opacity: 0.5;
	-webkit-transition:0.3s;-moz-transition:0.3s;-o-transition:0.3s;transition:0.3s;
}
img {
	vertical-align: bottom;
	border: none;
}
table{
	width: 100%;
	text-align: left;
	table-layout: fixed;
	border: none;
	empty-cells: show;
	border-collapse: collapse;
}
th, td{
	text-align: left;
	border: none;
	empty-cells: show;
	vertical-align: top;
}
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}

/*--------------------------------------------------
**google font
--------------------------------------------------*/
.gf_AF {	font-family: 'Abril Fatface', cursive;	}

/*--------------------------------------------------
** PC
--------------------------------------------------*/
.inner {
	max-width: 960px;
	margin: 0 auto;
}
.center {	text-align: center;	}
.bold {	font-weight: bold;	}
img {	max-width: 100%;	}

.no_pc, .only_sp {	display: none;	}



/*header*/
.header .hdTit {
	padding: 45px 0;
	color: #ff2929;
	font-size: 45px;
	font-family: 'Abril Fatface', cursive;
	line-height: 1;
	text-align: center;
}
.header .hdTit span {
	display: block;
	padding: 10px 0;
	color: #000;
	font-size: 12px;
}

.header .hdNav li {
	display: inline-block;
	width: 25%;
	text-align: center;
	line-height: 1;
}
.header .hdNav li a {
	display: block;
	color: #000;
	font-size: 12px;
	text-decoration: none;
}
.header .hdNav li a:hover {	opacity: 0.6;	}
.header .hdNav li a span {
	display: block;
	padding-bottom: 6px;
	color: #ff2929;
	font-size: 25px;
	font-family: 'Abril Fatface', cursive;
}

/*contents*/
.contents .ctMain {
	position: relative;
	margin: 10px 0 100px;
	padding: 100px 15px;
	background-color: #ff2929;
	background: url(../img/bg.jpg) no-repeat;
	background-position: center;
	background-size: cover;
	text-align: center;
	z-index: 0;
}
.contents .ctMain:before {
	display: block;
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -10;
	background: rgba(255, 41, 41,0.8);
}
.contents .ctMain p {
	font-size: 28px;
	font-weight: bold;
}
.contents .ctMain span {
	margin: 0 10px;
	font-size: 50px;
	border-bottom: 2px solid;
	color: #fff;
}

.contents .ctBox {	padding-bottom: 70px;	}
.contents .ctBox .ctBoxTit {
	position: relative;
	margin-bottom: 30px;
	padding-bottom: 30px;
	line-height: 1;
	text-align: center;
}
.contents .ctBox .ctBoxTit:before {
	display: block;
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 50px;
	height: 5px;
	background-color: #ff2929;
}
.contents .ctBox .ctBoxTit span {
	display: block;
	padding-bottom: 6px;
	color: #ff2929;
	font-size: 45px;
	font-family: 'Abril Fatface', cursive;
}

.contents .ctBox .ctBoxSubtit {
	margin: 20px 0;
	padding: 10px 0;
	border-bottom: 2px solid #ff2929;
	font-size: 25px;
	font-weight: bold;
	line-height: 1;
}

.contents .ctBox .ctBoxImg {
	margin: 30px 0;
	text-align: center;
}

.contents .ctBox .ctBoxTb, .contents .ctBox .ctBoxTxt {	margin-bottom: 30px;	}

.contents .ctBox .ctBox4Col li {
	display: inline-block;
	padding: 0 10px;
	width: 25%;
}
.contents .ctBox .ctBox4Col li img {	width: 100%;	}

.ctBoxTeam .ctBoxTeamBox {
	display: table;
	margin-bottom: 30px;
	border-collapse: separate;
	border-spacing: 20px 0;
}
.ctBoxTeam .ctBoxTeamBox > div {
	display: table-cell;
	padding: 10px;
	width: 50%;
	border: 1px solid #ff2929;
	border-top: 2px solid #ff2929;
	border-radius: 4px;
}
.ctBoxTeam .ctBoxTeamBox > div > p {
	display: inline-block;
	vertical-align: middle;
}
.ctBoxTeam .ctBoxTeamBox p.ctBoxTeamBoxImg {
	width: 40%;
	padding-right: 10px;
}
.ctBoxTeam .ctBoxTeamBox p.ctBoxTeamBoxImg span {
	display: block;
	font-weight: bold;
}
.ctBoxTeam .ctBoxTeamBox p.ctBoxTeamBoxImg img {	width: 100%;	}
.ctBoxTeam .ctBoxTeamBox p.ctBoxTeamBoxTxt {	width: 60%;	}
.ctBoxTeam .ctBoxTeamBox p.ctBoxTeamBoxTxt span {
	display: block;
	margin-top: 10px;
	padding: 8px;
	border-top: 1px dashed #ff2929;
}

.ctBoxPlan {	margin: 30px 0 0;	}
.ctBoxPlan .ctBoxPlanBox {
    display: inline-block;
	margin-left: 5%;
	padding-bottom: 30px;
    width: 30%;
    vertical-align: top;
}
.ctBoxPlan .ctBoxPlanBox:nth-child(1), .ctBoxPlan .ctBoxPlanBox:nth-child(4), 
.ctBoxPlan .ctBoxPlanBox:nth-child(7), .ctBoxPlan .ctBoxPlanBox:nth-child(10),
.ctBoxPlan .ctBoxPlanBox:nth-child(13) {	margin-left: 0;	}
.ctBoxPlan .ctBoxPlanTit {
	padding-left: 4px;
	border-bottom: 1px dashed #ff2929;
	font-weight: bold;
}
.ctBoxPlan .ctBoxPlanTb {	border-collapse: separate;	}
.ctBoxPlan .ctBoxPlanTb th {
	width: 20%;
	background-color: #ff2929;
	border-radius: 4px;
	color: #fff;
	text-align: center;
}
.ctBoxPlan .ctBoxPlanTb td {	padding-left: 10px;	}
.ctBoxPlan .ctBoxPlanTxt {
	padding: 6px 0;
	font-size: 12px;
}

.ctBoxPlan2 .ctBoxPlan2Tit01 {
	margin-top: 30px;
	font-size: 20px;
	font-weight: bold;
}
.ctBoxPlan2 .ctBoxPlan2Tit02 {
	margin-bottom: 10px;
	padding-bottom: 6px;
	border-bottom: 1px dashed #ff2929;
}

.contents .ctBox .ctBoxCon img {
	padding-bottom: 2px;
	vertical-align: middle;
}

/*footer*/
.footer .ftCopy {
	background-color: #000;
	padding: 10px 0;
	color: #fff;
	font-size: 12px;
	text-align: center;
}
.footer .ftCopy a {
	text-decoration: underline;
	color: #fff;
}

/*--------------------------------------------------
** SP
--------------------------------------------------*/
@media screen and (max-width: 768px) {
	.no_pc {	display: block;	}

	.header .hdTit {
		padding: 30px 0;
		font-size: 35px;
	}
	.header .hdTit span img {
		width: 10%;
		margin: 0 auto;
	}
	.contents .ctMain p, .contents .ctBox .ctBoxSubtit {	font-size: 20px;	}
	.contents .ctMain span, .contents .ctBox .ctBoxTit span {	font-size: 25px;	}
	.contents .ctBox .ctBoxSubtit {	padding-left: 10px;	}
	.contents .ctBox .ctBoxTb, .contents .ctBox .ctBoxTxt, .contents .ctBoxPlan, 
	.contents .ctBoxPlan2, .contents .ctBox p {	padding: 0 10px;	}
	.ctBoxPlan2 .ctBoxPlan2Tit01 {	font-size: 16px;	}
	.ctBoxPlan .ctBoxPlanBox {	width: 47.5%;	}
	.ctBoxPlan .ctBoxPlanBox:nth-child(4), .ctBoxPlan .ctBoxPlanBox:nth-child(10) {	margin-left: 5%;	}
	.ctBoxPlan .ctBoxPlanBox:nth-child(3), .ctBoxPlan .ctBoxPlanBox:nth-child(5), 
	.ctBoxPlan .ctBoxPlanBox:nth-child(9), .ctBoxPlan .ctBoxPlanBox:nth-child(11) {	margin-left: 0;	}
	.ctBoxTb th {
		display: inline-block;
		width: 33%;
	}
	
} /* @768 */

@media screen and (max-width: 651px) {
	.ctBoxTeam .ctBoxTeamBox > div {
		display: block;
		width: 100%;
		margin-bottom: 20px;
	}
	.ctBoxTeam .ctBoxTeamBox p.ctBoxTeamBoxImg {	width: 30%;	}
	.ctBoxTeam .ctBoxTeamBox p.ctBoxTeamBoxTxt {	width: 70%;	}
	.ctBoxTeam .ctBoxTeamBox {	margin-bottom: 0;	}

} /* @651 */

@media screen and (max-width: 480px) {
	.no_sp {	display: none;	}
	.only_sp {	display: block;	}
	
	.ctBoxTeam .ctBoxTeamBox > div > p {
		display: block;
		margin: 0 auto;
		width: 100%;
		text-align: center;
	}
	.ctBoxTeam .ctBoxTeamBox p.ctBoxTeamBoxTxt, .ctBoxTeam .ctBoxTeamBox p.ctBoxTeamBoxImg {	width: 100%;	}
	.ctBoxTeam .ctBoxTeamBox p.ctBoxTeamBoxImg img {	width: 30%;	}

	.ctBoxPlan .ctBoxPlanBox {	width: 100%;	}
	.ctBoxPlan .ctBoxPlanBox, .ctBoxPlan .ctBoxPlanBox:nth-child(4), .ctBoxPlan .ctBoxPlanBox:nth-child(10) {	margin: 0;	}

	.ctBoxTb th {	width: 50%;	}
	
	/* menu */
	.hdNav .menu, .header ul {
		position: fixed;
		right: 0;
		top: 0;
		padding: 10px;
		background-color: #fff;
		z-index: 100;
	}
	.header .menu_btn {	height: 30px;	}
	.header ul {
		top: 50px;
		padding: 0;
		width: 100%;
	}
	.header .hdNav ul li {
		display: block;
		width: 100%;
		border-bottom: 1px solid #000;
	}
	.header ul li a {
		display: block;
		padding: 10px;
	}
	/* menu btn */
	.menu-trigger, .menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.menu-trigger {
		position: relative;
		width: 30px;
		height: 30px;
	}
	.menu-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 4px;
		background-color: #000;
		border-radius: 4px;
	}
	.menu-trigger span:nth-of-type(1) {	top: 0;	}
	.menu-trigger span:nth-of-type(2) {	top: 13px;	}
	.menu-trigger span:nth-of-type(3) {	bottom: 0;	}
	/* menu btn click */
	.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(13px) rotate(-45deg);
	transform: translateY(13px) rotate(-45deg);
	}
	.menu-trigger.active span:nth-of-type(2) {	opacity: 0;	}
	.menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-13px) rotate(45deg);
		transform: translateY(-13px) rotate(45deg);
	}
	

} /* @480 */
