@charset "utf-8";
/* CSS Document */

h2{ border-bottom: solid 1px #CCCCCC; padding:22px 0; font-size:26px; text-align:center; font-weight:normal}
h2 a{color:#111111}

h2.copy{ border-bottom: none; padding:0; font-size:26px; text-align:center; font-weight:normal; font-weight:400; color:#db000c; line-height:1.4em; margin-bottom:50px}
.indt_1em{ padding-left:1em; text-indent:-1em;}
.indt_2em{ padding-left:2em; text-indent:-1em;}
@media screen and (max-width: 1010px) {
/* 1010pxまでの幅の場合に適応される */
	h2.copy{ font-size:125%; margin-bottom:20px;}
	hr{margin:30px 0 !important;}
	section#sub{ margin-bottom:30px !important;}
}
hr{ color:#CCCCCC; margin:70px 0; height:1px}

aside{}

section#sub{ width:100%; margin-bottom:50px; overflow:hidden;}

article{ width:930px; margin:0 auto; padding:70px 40px 50px; background-color:#FFFFFF}
@media screen and (max-width: 1010px) {
/* 1010pxまでの幅の場合に適応される */
	article{ padding:40px 15px 40px;}
	.sub_nav_icon, .sub_nav_icon-2{
	width:100%;
	font-size:69%;
	list-style-type:none;
	display:block;
    display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	}
	.sub_nav_icon li{
	display: inline-block;
	vertical-align: top;
	width: 25%;
	box-sizing:border-box;
	border-right:1px solid #ccc;
	padding:12px 2px 0 2px;
	text-align:center;
	}
	.sub_nav_icon-2 li{
	display: inline-block;
	vertical-align: top;
	width: 50%;
	box-sizing:border-box;
	border-right:1px solid #ccc;
	padding:16px 2px 0 2px;
	text-align:center;
	}
	.sub_nav_icon li:last-child, .sub_nav_icon-2 li:last-child{ border-right:none;}
	.sub_nav_icon li img, .sub_nav_icon-2 li img{ width:45%; max-width:50px; max-height:50px; opacity: 0.8;}
	.sub_nav_icon li > a, .sub_nav_icon-2 li > a{ text-align: center; width: 100%; height:100%; display:block; line-height: 1.6;}
	.sub_nav_icon li > a p, .sub_nav_icon-2 li > a p{ margin:10px 0 10px 0; font-weight:bold;}
	.sp_active{ background-color: #C2C2C2;}
    .sp_active img{ opacity: 1!important; }
	article#seminar{ padding:0;}
}
article#seminar{ width:100%; padding:0 0 50px;}

#sub_nav04,#sub_nav02{
	background-color:#f2efef;
	height:70px;
	min-width:1127px;
}
#sub_nav04 ul,#sub_nav02 ul{ width:930px; margin:0 auto; height:70px;}
#sub_nav04 ul li,#sub_nav02 ul li{ display:inline-block; list-style: none; padding:0;}
#sub_nav04 ul li a{
	display: block;
	width:242px;
	height:58px;
	padding:12px 0 0 0;
	text-align:center;
}
#sub_nav04 ul li:last-child a{
		width:204px;
}
#sub_nav02 ul li a{
	display: block;
	width:465px;
	height:58px;
	padding:12px 0 0 0;
	text-align:center;
}
#sub_nav04 ul li a:hover,#sub_nav02 ul li a:hover{ background-color:#CECECE}
#sub_nav04 ul li a.active,#sub_nav02 ul li a.active {
	background-color: #C2C2C2
}

ul.btn01{ width:840px; margin:0 auto;border:solid 1px #CCCCCC;}
ul.btn01 li{ list-style:none; float:left;margin:0;}
ul.btn01 li:last-child a{ border-right:none;}

ul.btn01 li a{
	width:210px;
	height:275px;
	padding-top:30px;
	text-align:center;
	display:block;
	box-sizing:border-box;
	border-right:solid 1px #CCCCCC;
}
ul.btn01 li a:hover{
	background-color: #E5E5E5;
	}

ul.btn02{ width:840px; margin:0 auto;}
ul.btn02 li{ list-style:none; float:left;margin:0;}
ul.btn02 li:first-child{ margin-right:60px;}

ul.btn02 li a{
	width:390px;
	height:185px;
	padding-top:30px;
	text-align:center;
	display:block;
	box-sizing:border-box;
	border:solid 1px #CCCCCC;
}
ul.btn02 li a:hover{
	background-color: #E5E5E5;
}
.banner a{
	width:270px;
	float:left;
	margin:20px 0 30px 98px;
	border:solid 1px #CCCCCC;
	text-align:center;
	height:150px;
	padding:0;}
.banner a:hover img{
	filter: alpha(opacity=70);
    -moz-opacity:0.70;
    opacity:0.70;}

/*ページ構成*/
#sub h3.ti01{ margin:0 auto 30px; line-height:1.2em; font-weight:normal; font-size:24px;width:840px;}
#sub h3.ti02{ font-size:24px; line-height:1.2em; font-weight:normal; border-left: 10px solid #dfdfdf; padding: 5px 0 5px 15px; width:825px; margin:0 auto 30px;}
#sub h4{font-size:20px; line-height:1.2em; font-weight:normal; border-left: 12px double #dfdfdf; padding: 5px 0 5px 12px; width:785px; margin:0 auto 20px;}
@media screen and (max-width: 1010px) {
/* 480pxまでの幅の場合に適応される*/
.parent{
	padding: 5px;
	border: 1px solid #CCCCCC;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	margin:0 auto 10px;
	font-size: calc(68.8% + 0.5vw);
	max-width:420px;
}
.inner{
	padding: 5px;
	margin: 0 0 0 10px;
	display: inline-block;
	width:75%;}
.media__image { float: left; margin:0 10px 0 10px; width:25%; height:25%;}
.media_over{ overflow:hidden;}
.media_heading { font-weight: bold; margin:5px 0 5px 0; color:#FF4132;}
.media_txt{ float:none; text-align:left;}
.banner a{ width:100%; text-align:center; margin:0 auto 20px; border:none;}
.banner a img{ border:solid 1px #CCCCCC;}
#sub h3.ti01{ width:100%; margin:0 auto 15px;}
#sub h3.ti02{ width: auto; font-size:120%; margin:0 auto 15px;}
.m_top15{ margin-top:15px;}
.m_bottom15{ margin-bottom:15px;}

	#sub h4{ margin: 10px 0 10px 0 !important;}
	#sub h4, #sub .text{ width: auto !important;}
	.sp_sub_margin{ margin:0 0 20px 0;}
	.sp_sub_box { display: inline-block;}
	.sp_sub_text{ display:block; background-color:#3A3839; color:#FFFFFF; font-size:90%; padding:3px 10px; float: left; margin-right:10px;}
	.img_rev{ display: flex; flex-direction: column;}
	.img_rev .order01{ order: 2; margin:15px auto;}
	.img_rev .order02{ order: 1;}
	#sub .text p:first-child, #sub .text p:last-child{ width:100% !important;}
	#sub .text p:last-child{ text-align: center !important;}
	#sub .text, #sub .text02{ width:100% !important; font-size:94%;}
	#sub .text02{ margin:0 0 20px 0 !important;}
	#sub #company table{ font-size:90%; width:100% !important; margin:0 auto 30px !important;}
	#sub #company table tr:first-child th { border-top: 1px solid #CCCCCC !important;}
	#sub #company th,td{ display:block; border-top: none !important;}
	
	
	
}
.txt_privacy{ width:100% !important; text-align:left !important; float:left !important;}
.sub_text{ background-color:#3A3839; color:#FFFFFF; font-size:18px; padding:3px 10px; float:right; margin-left:15px}

#sub .text{ padding:0; width:840px; margin:0 auto}
#sub .text:after{content: ".";   
  display: block;   
  height: 0;   
  clear: both;   
  visibility: hidden; }
#sub .text p:first-child{ float:left; width:60%}
#sub .text p:last-child{ float:right; width:40%; text-align:right}
#sub .text02{ padding:0; width:770px; margin:0 auto 40px}


@media screen and (min-width: 1011px) {
	#sub #company th{ width:148px !important;}	
	
}


#sub #company table{ width:80%; margin:0 auto 60px; border-collapse:collapse;}
#sub #company table th{ background-color: #ffebf7;border: solid 1px #CCCCCC; padding:10px}
#sub #company table td{ border: solid 1px #CCCCCC; padding:10px 10px 10px 20px}
#sub #company table a{ text-decoration:underline}
#sub #company table td p{ margin-top:10px;}

#sub #company h3{width:740px; background-image: url(../images/ico_partner.jpg); background-repeat:no-repeat; background-position:left 0; height:50px; padding:12px 0 0 65px; box-sizing:border-box; margin:20px auto;}
#sub #company h4{ width:670px; margin:15px auto 20px; border-left: solid 10px #B11925; padding-left:15px; font-size:16px; font-weight:bold}
@media screen and (max-width: 1010px) {
/* 1010pxまでの幅の場合に適応される */
	#sub #company h4, #sub #company h3{ min-width:0px !important; width:auto !important;}
}


#sub #company ul{ width:670px; margin:0 auto; padding-left:20px; display: flex; justify-content: space-between; flex-wrap: wrap; }
@media screen and (max-width: 1010px) {
/* 1010pxまでの幅の場合に適応される */
	#sub #company ul{ width:auto !important;}
	#sub .make ul li table th{ font-size:105% !important;}
}

#sub #company ul li{ width:250px; margin-bottom:15px; list-style: disc inside}

@media screen and (min-width: 1011px) {
	/*1011px以上*/
	
	#sub #company ul li:nth-child(3n){ width:170px;}
}



/* Medium only */
@media screen and (max-width: 1010px) {
	
	#sub .make table{ width:100%;}

}


#sub .make{ width:840px; margin:0 auto}
#sub .make ul li{ width:405px; margin:50px 0 0 0; box-sizing:border-box; list-style:none}
#sub .make ul li:nth-child(1n){float:left;}
#sub .make ul li:nth-child(2n){float:right;}
#sub .make ul li table th{
	padding: 14px 10px 10px;
	color: #FFFFFF;
	background-color: #707070;
	line-height: 1.0em;
	font-size:20px;
}
#sub .make ul li table td{ padding:10px 15px; height:100px; vertical-align:top; border:solid 1px #CCCCCC; font-size:14px;}
@media screen and (max-width: 1010px) {
/* 480pxまでの幅の場合に適応される*/
	#sub .make{ width:100%; float:none !important;}
	#sub .make ul li{ width:100%; margin:20px 0 0 0;}
	#sub .make ul li:nth-child(1n){float: none !important;}
	#sub .make ul li:nth-child(2n){float: none !important;}
	#sub .make ul li table td{ padding:20px 15px !important; height: auto !important;}
	.make_content th, .make_content td{ text-align: left; line-height:1.4; display: block; border-top: none !important;}
	.make_content tr:first-child th{ border-top: solid 1px #CCCCCC !important;}
	.sa_btn {
		display: inline-block;
		margin: 0 0 20px 0;
		padding: 20px 15px 20px 15px;
		width: 100%;
		text-align: center;
		text-decoration: none;
		outline: none;
		box-sizing: border-box !important;
		border: 1px solid #A0A0A0;
		background-color: #F1F1F1;}
	.sa_btn-ttl{ color:#db000c; font-weight:bold; font-size:138%;}
	.sa_btn-txt{ font-size:88%;}
	.btn_margin{ margin:15px auto 0;}
	.ex_button{
		display: inline-block;
		width: 100% !important;
		height: 54px;
		font-size: 113%;
		font-weight: bold;
		color:#FFFFFF;
		text-align: center;
		text-decoration: none;
		line-height: 54px;
		outline: none;
		background-color:#900;
		border-radius:5px;}
}
#sub #recruit{ padding:0; width:840px; margin:0 auto}	
#sub #recruit table{ margin:0 auto 20px; border-collapse:collapse; font-size:14px; width:750px; box-sizing:border-box;}
#sub #recruit table th{ width:185px; vertical-align:middle;background-color: #EFEFEF;border: solid 1px #CCCCCC; padding:15px 10px; box-sizing:border-box;}
#sub #recruit table td{ box-sizing:border-box; width:415px; border: solid 1px #CCCCCC; padding:15px 10px 15px 20px}
@media screen and (max-width: 1010px) {
/* 480pxまでの幅の場合に適応される*/
	#sub #recruit{ width:100%;}
	#sub #recruit table{ font-size:90%; width:100%;}
	#sub #recruit table tr:first-child th { border-top: 1px solid #CCCCCC !important;}
	#recruit table th,td{display:block; border-top: none !important;}
	#recruit table th{ width:100% !important;}
	#recruit table td{ width:100% !important;}
}

#sub #inquiry{ border:solid 1px #E1E1E1; padding:25px; width:700px; margin:0 auto 50px;}
@media screen and (max-width: 1010px) {
/* 480pxまでの幅の場合に適応される*/
#sub #inquiry, #sub #form, #sub #form table, #sub #form table th, #sub #form table td{ width:auto !important;}
#sub #inquiry{ font-size:94%;}
#sub #form table{ font-size:88%;}
#sub #form table tr:first-child th{ border-top: 1px solid #CCCCCC !important;}
#sub #form th,td{ display:block; border-top: none !important;}
#sub #form table td{ padding:10px 0 10px 10px !important;}
#sub #form textarea{ box-sizing: border-box; width: 100%; max-width: 270px;}
#sub #form .mail{ width:90%!important;}
}
#sub #form{ width:750px; margin:0 auto}
#sub #form table{ margin:0 auto 20px; border-collapse:collapse; font-size:14px; width:750px; box-sizing:border-box;}
#sub #form table th{ width:200px; vertical-align:middle;background-color: #EFEFEF;border: solid 1px #CCCCCC; padding:10px; box-sizing:border-box;}
#sub #form table td{ box-sizing:border-box; width:400px; border: solid 1px #CCCCCC; padding:10px 10px 10px 20px}
#sub #form input,#sub #form textarea{ font-size:14px; font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; padding:5px}



#sub .lesson{ border:solid 1px #CCCCCC; margin:0 auto; width:840px; padding:40px 0 10px; box-sizing:border-box}
#sub .lesson .ti02,#sub .lesson .text,#sub .lesson .box01{ width:90%;}
@media screen and (max-width: 1010px) {
/* 1010pxまでの幅の場合に適応される */
	#sub .lesson, .box01{ width: auto !important;}
	#sub .lesson{ padding:10px;}
}

#sub .getting dl dt{
	width:90%;
	margin:10px auto 20px;
	font-size: 20px;
	line-height: 1.4em;
	font-weight: bold;
	border-top: 2px solid #7E7E7E;
	padding: 8px 0;
	text-indent: 1.0em;
	background-color: #EFEFEF}
#sub .getting dl dd{padding:0 0 0 25px; width:815px; margin:0 auto 40px;}
@media screen and (max-width: 1010px) {
/* 1010pxまでの幅の場合に適応される */
	#sub .getting dl dt{ width:100%; font-size: 103% !important;}
	#sub .getting dl dd{ width: auto !important; font-size:90% !important; text-indent:0 !important; padding-left:15px;}
}
.box01 {
    background-color: #f0f0f0;
    border: 1px solid #dfdfdf;
    font-weight: bold;
    line-height: 1.8em;
    margin:20px auto 50px auto;
    padding: 20px;
    width: 800px;
}
.box01 ul{ margin-left:30px;}
.box01 ul li{ padding-left:5px;}
@media screen and (max-width: 1010px) {
	.box01 { margin:0 auto 20px auto; padding:20px 15px 20px 0;}
	.box01 ul{ margin-left:30px;}
	.box01 dd{ margin-left:25px !important; font-size:90% !important;}
}
.box01 dl{ margin-left:20px;}
.box01 dl dt{
	margin-left: 10px;
	display: list-item;
	list-style-type: disc;
	margin-top:15px;
}
.box01 dl dt:first-child{ margin-top:0;}
.box01 dd{ margin-left:45px;
	font-size:15px;
	line-height:1.6em;
	font-weight:normal;
	display: list-item;
	list-style-type: square;}

.red{ color:#DB000C}
.mgn_btm30{ height:30px}

/*パンくず*/
.no_border{ border-bottom:none!important;}
.breadcrumb {
list-style: none;
overflow: hidden;
border-bottom:solid 1px #CCCCCC;
/*border:solid 1px #CCCCCC;
 border-radius: 5px 5px 0 0;*/
}
.breadcrumb li {
float: left;
font-size:14px;
}
.breadcrumb li:first-child a{ height:19px; padding:9px 0 8px;}
.breadcrumb li:first-child a img{
	filter: alpha(opacity=80);
-moz-opacity:0.8;
opacity:0.8; 
	}
.breadcrumb li:first-child a:hover img{
	filter: alpha(opacity=100);
-moz-opacity:1.0;
opacity:1.0; 
	}
.breadcrumb li a:hover { color:#333333}

.breadcrumb li a {
	line-height:1.0em;
color:#999999;
text-decoration: none;
padding: 13px 0 9px 55px;
position: relative;
display: block;
float: left;
}

.breadcrumb li a:after {
content: " ";
display: block;
width: 0;
height: 0;
border-top: 50px solid transparent; /* Go big on the size, and let overflow hide */
border-bottom: 50px solid transparent;
border-left: 30px solid #FFFFFF;
position: absolute;
top: 50%;
margin-top: -50px;
left: 100%;
z-index: 2;
}
.breadcrumb li a:before {
content: " ";
display: block;
width: 0;
height: 0;
border-top: 50px solid transparent; /* Go big on the size, and let overflow hide */
border-bottom: 50px solid transparent;
border-left: 30px solid #CCCCCC;
position: absolute;
top: 50%;
margin-top: -50px;
margin-left: 1px;
left: 100%;
z-index: 1;
}
.breadcrumb li:first-child a {
padding-left: 10px;
}
.breadcrumb li a:after { border-left-color: #FFFFFF; }
/*.breadcrumb li:nth-child(3) a { background: hsla(34,85%,55%,1); }
.breadcrumb li:nth-child(3) a:after { border-left-color: hsla(34,85%,55%,1); }
.breadcrumb li:nth-child(4) a { background: hsla(34,85%,65%,1); }
.breadcrumb li:nth-child(4) a:after { border-left-color: hsla(34,85%,65%,1); }
.breadcrumb li:nth-child(5) a { background: hsla(34,85%,75%,1); }
.breadcrumb li:nth-child(5) a:after { border-left-color: hsla(34,85%,75%,1); }*/
.breadcrumb li:last-child a {
background: transparent !important;
color: #333333;
pointer-events: none;
cursor: default;
font-weight:bold;
}
.breadcrumb li:last-child{ background-color:#FFFFFF}
.breadcrumb li:last-child a:before{ border:none}
.breadcrumb li:last-child a:after {border-left-color: #FFFFFF;}
.bottom_nav{border: solid 1px #CCCCCC;
 border-radius:5px;
 width:928px;
 margin:0 auto;
 background-color:#FFFFFF;
}
@media screen and (max-width: 1010px) {
/* 1010pxまでの幅の場合に適応される */
	article{ width:auto !important; max-width:640px; }
	.page_nav{ padding:10px 30px 30px 30px !important;}
	.page_nav ul{ width:100% !important; margin:0 !important;}
	.page_nav li{ font-size:90% !important; padding-top:4px !important;}
	.page_nav li:first-child{ padding-top:20px !important;}
	.bottom_nav{ width:90%;}
	.breadcrumb{ padding-top:12px; padding-bottom:5px;}
	.breadcrumb li a:before, .breadcrumb li a:after{ content:none;}
	.breadcrumb li:after{ content:'＞'; font-size:80%; padding-left:6px; border:none; margin:0; top:35%;}
	.breadcrumb li:last-child:after{ content:none;}	
	.breadcrumb li a{ padding:5px 0 9px 12px;}
	.breadcrumb li:last-child a{ padding-right:12px;}
}
.page_nav{ /*border-width:0 1px 1px;
border-style: solid;
border-color:#CCCCCC;
border-radius: 0 0 5px 5px;*/
overflow:hidden;
padding:30px 40px;
}
.page_nav ul{ float:left; margin-right: 48px; width:176px;}
.page_nav ul:last-child{ margin-right:0}
.page_nav li{ list-style:none; font-size:12px; padding-top:15px; line-height:1.4em}
.page_nav li:first-child{ font-weight:bold;color:#555555; padding:0}
.page_nav li a{ color:#999999}
.page_nav li a:hover{ color:#555555}

#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size: 77%;
	z-index:9999;
}
#page-top a {
    background: #666666;
    text-decoration: none;
    color: #fff;
    width: 90px;
    padding: 20px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
}
#page-top a:hover {
    text-decoration: none;
    background: #777777;
}
.sp_arrow{ display:none;}
@media screen and (max-width: 1010px) {
/* 1010pxまでの幅の場合に適応される */
#page-top { bottom: 10px; right: 10px;}
#page-top a { width: 50px; padding: 15px 0;}
.sp_arrow{
	position: relative;
	display: inline-block;
	padding-left: 20px;
    padding-bottom: 5px;}
.sp_arrow::before{
	content: '';
	width: 18px;
	height: 18px;
	border: 0px;
	border-top: solid 2px #FFFFFF;
	border-right: solid 2px #FFFFFF;
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 40%;
	left: 0;
	margin-top: -4px;}
}
.tel{ position:relative; z-index:1; width:930px; margin-top:50px;}
.tel .b_contact{ position: absolute; z-index:10; top:60px; right:20px; width:350px; height:90px}
@media screen and (max-width: 1010px) {
/* 1010pxまでの幅の場合に適応される */
.tel, .b_contact{ width: auto !important;}
.sp_tel{ margin:30px auto 0; border:1px solid #B4B4B4; display:block; text-align:center; max-width:480px; }
.sp_tel h1{ background-color:#434343; color:#FFFFFF; padding:2.5% 0 2% 3.5%; line-height:1.4; font-size:88%; font-weight:bold !important;}
.tel_num{ padding:2.5% 0 0 0; font-size:157%; font-weight:bold !important;}
.last_call{ padding:0 0 3% 0; font-size:88%;}
.sp_contact{
	display: inline-block;
	margin: 0 0 4.5% 0;
	padding: 0.5em 1em;
	text-decoration: none;
	background: #668ad8;
	color: #FFFFFF;
	border-bottom: solid 4px #627295;
	border-radius: 3px;
	font-size: 88%;
	text-transform: capitalize;
}
.sp_contact:active {
    -ms-transform: translateY(4px);
    -webkit-transform: translateY(4px);
    transform: translateY(4px);
    border-bottom: none;}
}

/*サイトマップ*/
#site_map { width:840px; margin:0 auto}
#site_map dl{ float:left; margin-right:105px; display: block;}
#site_map dl:last-child{ margin-right:0;}
#site_map dl a:hover{ text-decoration: underline}
#site_map dl dt:first-child{ margin-top:0;}
#site_map dl dt{ border-left: solid 6px #db000c; padding-left:10px; font-size:18px; font-weight:bold; margin:35px 0 0}
#site_map dl dd{ margin:15px 0 0 15px; background-image: url(../images/li_arow.gif); background-repeat:no-repeat; background-position:left 0.5em; padding-left:13px;}
#site_map dl dd.u{ margin:7px 0 0 30px; background-image: url(../images/li_maru.gif); background-repeat:no-repeat; background-position:left 0.6em; padding-left:13px; font-size:14px;}

#site_map dl dt img{ height:17px; margin:0 0 4px 10px;}
#site_map dl dd img{ height:17px; margin:0 0 6px 10px;}

@media screen and (max-width: 1010px) {
/* 1010pxまでの幅の場合に適応される */
#site_map{ width:90%;}
#site_map dl{ margin-right:0;}
#site_map dl.m35{ margin-top:35px;}
}