@charset "UTF-8";


/* index ---------------------------------------*/

/*キービジュアル*/

.indexKv {
	width:100%;
	min-width:1040px;
	height:765px;
	text-align: center;
	color:#fff;
	position: relative;
	overflow: hidden;
}

.indexKv:before{
	content:'';
	display: block;
	width:100%;
	height:765px;
	background: url(../img/index/bg_kv.png) no-repeat center center;
	background-size: cover;
	transform:scale(1.05,1.05);
	opacity:0;
	transition: all 1.75s ease;
	position: absolute;
	left:0px;
	top:0px;
	z-index:1;
}

.indexKv.active:before {
	transform:scale(1,1);
	opacity:1;
}

.indexKvLead {
	padding-top: 220px;
	font-size: 20px;
	line-height: 1.6;
	margin-bottom: 30px;
	position: relative;
	z-index:5;
}

.indexKv h1{
	background: url(../img/index/kvtitle.png) no-repeat left top;
	width: 647px;
	height: 43px;
	text-indent:-99em;
	margin:0 auto 60px;
	overflow: hidden;
	position: relative;
	z-index:5;
}

.indexKvPoint {
	font-size: 0px;
	position: relative;
	z-index:5;
}

.indexKvPoint li{
	font-size: 14px;
	display: inline-block;
	margin:0 10px;
	width:240px;
	text-align: center;
}

.indexKvPoint li a{color:#fff;}

.indexKvPoint .pointSub {
	display: inline-block;
	background: url(../img/index/fukidashi.png) no-repeat left top;
	width: 158px;
	height: 104px;
	box-sizing:border-box;
	padding:15px;
	margin-bottom: 10px;
	line-height: 1.5;
}

.indexKvPoint2 .pointSub,
.indexKvPoint3 .pointSub {padding-top:23px;}

.pointTitle {
	font-size: 20px;
	padding:20px 0;
	border-radius:30px;
	background: #18689C;
	line-height: 1.0;
	display: block;
	transition: all .25s ease;
	color:#fff;
}

a:hover .pointTitle{
	background: #3E93C8;
}

.topKvScroll {
	position: absolute;
	left:50%;
	bottom:30px;
	margin:0 0 0 -10px;
	z-index:5;
}

/* 共通 */

.indexWrapper {min-width:1040px;}

.indexSection{
	padding:70px 0 0px;
}

.sectionTitle{
	line-height: 1.0;
	margin-bottom: 35px;
}

.sectionTitle span{
	display: block;
	font-size: 18px;
	padding-top: 10px;
}

.sectionLead{
	font-size: 14px;
	line-height: 1.9;
	margin-bottom: 50px;
}

.blockTitle {
	border-left:7px solid #18689C;
	color:#18689C;
	font-size: 20px;
	line-height: 1.0;
	padding:10px 10px 10px 15px;
	text-align: left;
	margin-bottom: 30px;
}


/* Marketability */

.indexMarketability {
	text-align: center;
}

.indexMarketability .graph {
	background: url(../img/index/bg_graph1.png) no-repeat center bottom;
	background-size: cover;
	height: 500px;
	padding:50px 0 0;
	box-sizing:border-box;
}

.indexMarketability .graph ul{
	font-size: 0px;
	text-align: center;
}

.indexMarketability .graph ul li{
	display: inline-block;
	margin:0 0 0 35px;
	vertical-align: top;
}

.indexMarketability .graph ul li:first-child{
	margin-left: 0;
}


/* Overview */

.indexSection.indexOverview {
	text-align: center;
}

.indexOverviewList {
	overflow: hidden;
	text-align: center;
	font-size: 0px;
}

.indexOverviewList li{
	display: inline-block;
	width: 302px;
	height: 406px;
	box-sizing:border-box;
	color:#fff;
	position: relative;
	margin-left: 40px;
	font-size: 13px;
	margin:0 20px;
	text-align: left;
}

.indexOverviewList1 {
	background: url(../img/index/bg_overview1.png) no-repeat left top;
}

.indexOverviewList2 {
	background: url(../img/index/bg_overview2.png) no-repeat left top;
}

.indexOverviewList3 {
	background: url(../img/index/bg_overview3.png) no-repeat left top;
}

.indexOverviewList li h3{
	line-height: 65px;
	font-size: 15px;
	padding:0 0 0 70px;
	text-align: center;
}

.indexOverviewList li p{
	position: absolute;
	left:6%;
	bottom:0px;
	width:88%;
	height:155px;
	font-size: 13px;
	line-height: 1.8;
	text-align:justify;

}

/* School information */

.indexSection.indexSchoolInfo {
	text-align: center;
}


.indexSchedule {
	background: url(../img/index/bg_schedule.png) no-repeat center bottom;
	background-size: cover;
	box-sizing:border-box;
	padding:50px 0;
}

.indexSchedule dl{
	background: #fff;
	width:980px;
	margin:0 auto;
	border:1px solid #18689C;
	border-radius:5px;
	overflow: hidden;
	margin-bottom: 50px;
	text-align: left;
}

.indexSchedule dt{
	color:#fff;
	background: url(../img/common/icon_week.png) no-repeat 30px center #18689C;
	padding:30px 0px 30px 70px;
	width:200px;
	box-sizing:border-box;
	font-size: 17px;
	line-height: 1.0;
	float: left;
}

.indexSchedule dd{
	padding:13px 30px 0 30px;
	margin-left: 200px;
	font-size: 16px;
	line-height: 1.6;
}

.indexScheduleTable{
	margin-bottom: 0px;
}

.indexScheduleTable table{
	width:980px;
	margin:0 auto;
}

.indexScheduleTable table th,
.indexScheduleTable table td{
	line-height: 1.0;
	padding:15px 0;
	text-align: center;
	background: #eee;
	border-left:2px solid #fff;
	border-top:2px solid #fff;
}
.indexScheduleTable table th:first-child,
.indexScheduleTable table td:first-child{border-left:none;}

.indexScheduleTable table th{}

.indexScheduleTable table thead th{
	background: #306798;
	color:#fff;
	border-top:none;
}
.indexScheduleTable table th.colspan6{
	padding-left: 200px;
}

.indexScheduleTable table td{
	color:#fff;
	width:110px;
}

.indexScheduleTable table td.colorKnowledge{background: #64988B;}
.indexScheduleTable table td.colorDraft{background: #B0C8C8;}
.indexScheduleTable table td.colorOperation{background: #98B29E;}
.indexScheduleTable table td.colorTest{background: #CB9F35;}
.indexScheduleTable table td.colorExcel{background: #6D95BC;}
.indexScheduleTable table td.colorCommentary{background: #A48029;}
.indexScheduleTable table td.colorRetry{color:#5f5f5f;}
.indexScheduleTable table td.colorHoliday{color:#5f5f5f;}

.indexProgram {
	width:980px;
	margin:0 auto;
	text-align: left;
}


.indexProgramWrapper {
	overflow: hidden;
}

.indexProgramLine {
	float: left;
	width:225px;
	margin-left: 25px;
}

.indexProgramLine:first-child {
	margin-left: 0;
}

.indexProgramLine h4{
	color:#fff;
	background: #000;
	line-height: 1.0;
	padding:13px 0;
	font-size: 16px;
	text-align: center;
	border-radius:5px;
	margin-bottom: 15px;
}

.indexProgramLine h4.indexProgramLineTitle1 {background: #569A8B;}
.indexProgramLine h4.indexProgramLineTitle2 {background: #92B39D;}
.indexProgramLine h4.indexProgramLineTitle3 {background: #ABC9C8;}
.indexProgramLine h4.indexProgramLineTitle4 {background: #6596BE;}

.indexProgramLine ul li{
	font-size: 14px;
	line-height: 1.5;
	margin-bottom: 8px;
	text-indent: -1em;
	margin-left: 1em;
}

.indexProgramLine ul li:first-letter{
	color:#E9E9E9;
}


/* Requirements */

.indexRequirements {text-align: center;}

.indexRecruit {
	width:980px;
	margin:0 auto;
}

.indexRecuitNotice {
	padding:30px 0 60px 0;
	text-align: left;
}

.indexRecuitNotice h4{
	font-weight: bold;
	font-size: 16px;
	line-height: 1.6;
	margin-bottom: 0px;
}

.indexRecruitList {
	font-size: 16px;
	line-height: 1.6;
}

.indexRecruitList li span {
	color: #F4676A;
	padding-left: 10px;
}

.indexRecuitCourse {
	text-align: left;
}

.indexRecuitCourse span{color:#999;}


/* Requirements */

.indexPhilosophy {
	text-align: center;
}

.indexPhilosophyMessage {
	padding:30px 0 0;
}

.indexPhilosophyMessage li {
	overflow: hidden;
}

.indexPhilosophyTitle {
	width:50%;
	overflow: hidden;
	text-align: center;
}

.indexPhilosophyText {
	width:50%;
	background: #1F699A;
	color:#fff;
	overflow: hidden;
	text-align: left;
}

.line1 .indexPhilosophyTitle{
	float: right;
	background: url(../img/index/bg_building.png) no-repeat left top #FAFAFA;
}

.line1 .indexPhilosophyText{float: left;}

.line2 .indexPhilosophyTitle{
	float: left;
	background: #FFFFFF;
}

.line2 .indexPhilosophyText{float: right;}

.indexPhilosophyMessageInner{
	width:490px;
	box-sizing:border-box;
	padding:55px 0 0;
	text-align:justify;
	height:440px;
	position: relative;
}

.line1 .indexPhilosophyTitle .indexPhilosophyMessageInner{
	float: left;
	padding:200px 0 0 60px;
}

.line1 .indexPhilosophyText .indexPhilosophyMessageInner{
	float: right;
	padding-right: 60px;
}

.line2 .indexPhilosophyTitle .indexPhilosophyMessageInner{
	float: right;
	padding:90px 80px 0 0px;
}

.line2 .indexPhilosophyText .indexPhilosophyMessageInner{
	float: left;
	padding:90px 0 0 60px;
}

.indexPhilosophyMessage h3{
	font-size: 30px;
	line-height: 1.3;
	margin-bottom: 20px;
}

.indexPhilosophyMessage p{
	font-size: 15px;
	line-height: 1.8;
	margin-bottom: 1em;
}

.indexPhilosophyTitle p{
	background: url(../img/index/bg_gear.png) no-repeat center center;
	font-size: 25px;
	line-height: 1.8;
	text-align: center;
	padding:100px 0;
}

.indexPhilosophyTitle p strong{color:#246A98;}

.indexBookWrapper {
	background: #FAFAFA;
	padding:60px 0;
}

.indexBookInner{
	width:980px;
	margin:0 auto;
	overflow: hidden;
}

.indexBook {
	float:left;
	width:50%;
}

.indexBook h3{
	font-size: 18px;
	line-height: 1.7;
	margin-bottom: 40px;
}

.indexBook h3 strong{color:#246A98;}

.indexBook ul{overflow: hidden;}

.indexBook ul li{
	width:50%;
	float: left;
}

.indexBookImage{
	min-height:80px;
}

.indexBook ul li p{
	font-size: 14px;
	color:#999;
	padding:10px 0 0 0;
	line-height: 1.7;
}

/* company */

.indexCompany {
	text-align: center;
}

.indexCompanyInner{
	width:980px;
	margin:0 auto;
}

.indexAccess {
	padding:60px 0 ;
	text-align: left;
}

.indexAccess p{
	font-size: 16px;
	margin-bottom: 25px;
}

.indexMap {
	height:450px;
}


/* contact */

.indexContact {
	text-align: center;
}

.indexContactInner{
	width:980px;
	margin:0 auto;
}

.must {
	color:#999;
	font-size: 85%;
}

.goContact{
	text-align: center;
	margin-bottom: 80px;
	height:100px;
}

.goContact a{
	display: inline-block;
	line-height: 1.0;
	padding:26px 0;
	color:#Fff;
	border:none;
	background: #246A98;
	text-align: center;
	font-size: 17px;
	border-radius:10px;
	width:350px;
	box-shadow:0 -8px rgba(0,0,0,0.15) inset;
	transition: all .15s ease;
	position: relative;
	top:0px;
}

.goContact a:hover{
	background-color: #3E93C8;
	box-shadow:none;
	padding:24px 0;
	top:4px;
}

.fixedContact {
	position:fixed;
	right:0px;
	top:50%;
	margin:-150px 0 0 0;
	opacity:0;
	transition: all .25s ease;
}

.fixedContact.active {opacity:1;}

.fixedContact a{
	display: block;
	overflow: hidden;
	padding:55px 15px 0;
	box-sizing:border-box;
	background: url(../img/common/icon_contact.png) no-repeat center 17px #18689C;
	color:#fff;
	border-radius:10px 0 0 10px;
	box-shadow:0 -4px rgba(0,0,0,0.15) inset;
	font-size: 16px;
	width: 57px;
	height: 250px;
	position: relative;
	top:0px;
	transition: all .15s ease;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

.fixedContact a:hover{
	background-color: #3E93C8;
	box-shadow:none;
	height:246px;
	top:3px;
}

.contactSection{
	text-align: center;
	padding:60px 0 0 0;
}

.contactSection .tableType1 th{
	width:200px;
	padding-top: 20px;
}

.contactSection .tableType1 td > div{padding-top:3px;padding-bottom: 3px;}

.confirmLead{
	color:#18689C;
	font-size: 16px;
	text-align: center;
	margin-bottom: 20px;
}

.completeInner{
	padding:90px 0;
}

.completeInner p{
	color:#18689C;
	font-size: 16px;
	line-height: 1.7;
}

.completeInner .submit{
	padding:40px 0;
}

/* ---------------- アニメーション ------------------- */

.anim{
	transition: all 1.25s ease;
	opacity:0;
	transform:translate3D(0,20px,0);
}

.anim.animOn{
	opacity:1;
	transform:translate3D(0,0,0);	
}

.indexKvPoint li.hover .bounce {
  animation: bounce_7133 2.6s ease infinite;
  transform-origin: 50% 50%;
}

@keyframes bounce_7133 {
  0% { transform:translateY(0) }
  7.69231% { transform:translateY(0) }
  15.38462% { transform:translateY(0) }
  30.76923% { transform:translateY(-15px) }
  38.46154% { transform:translateY(0) }
  46.15385% { transform:translateY(-15px) }
  61.53846% { transform:translateY(0) }
  100% { transform:translateY(0) }
}

.topKvScroll{
/*    animation: move 2s ease-in-out 2s infinite;*/
}

@keyframes move{
	0%{margin-bottom:0}
	20%{margin-bottom:10px}
	40%{margin-bottom:-10px}
	60%{margin-bottom:0}
}











@media screen and (max-width: 768px){

	/* index ---------------------------------------*/

	/*キービジュアル*/

	.indexKv {
		height:0;
		padding-bottom: 150%;
		min-width:0;
	}

	.indexKv:before{
		height:0;
		padding-bottom: 150%;
		background: url(../img/index/bg_kv_sp.png) no-repeat center top;
		background-size: 100%;
	}

	.indexKvLead {
		padding-top: 40%;
		font-size: 3.3vw;
		line-height: 1.8;
		margin-bottom: 5%;
	}

	.indexKv h1{
		background: url(../img/index/kvtitle_sp.png) no-repeat left top;
		background-size: 100%;
		width: 90%;
		height: 0;
		padding-bottom: 7%;
		margin:0 auto 10%;
	}

	.indexKvPoint {font-size: 0px;}

	.indexKvPoint li{
		font-size: 2.8vw;
		margin:0 1.2%;
		width:28%;
		vertical-align: top;
	}

	.indexKvPoint .pointSub {
		background: url(../img/index/fukidashi_sp.png) no-repeat left top;
		background-size: 100%;
		width: 100%;
		height: 0;
		padding:15% 5% 50%;
		margin-bottom: 15%;
	}

	.indexKvPoint1 .pointSub {padding: 8% 5% 57%;}

	.pointTitle {
		font-size: 3.5vw;
		padding:7% 0;
		border-radius:15vw;
		line-height: 1.3;
	}

	a:hover .pointTitle{background: #1F699A;}

	.indexKvPoint3 .pointTitle{padding:15% 0;}
	.topKvScroll {display: none;}


	/* 共通 */

	.indexWrapper{min-width:0;}
	.indexSection{padding:40px 0 0px;}
	.sectionTitle{margin-bottom: 30px;}

	.sectionTitle span{
		font-size: 15px;
		padding-top: 12px;
	}

	.sectionLead{
		text-align: left;
		font-size: 15px;
		line-height: 1.7;
		margin:0 15px 30px;
	}

	.blockTitle {
		font-size: 16px;
		margin-bottom: 25px;
	}


	/* Marketability */

	.indexMarketability .sectionTitle img{
		width:259px;
	}

	.indexMarketability .graph {
		background: url(../img/index/bg_graph1_sp.png) no-repeat center top;
		background-size: 100%;
		height: auto;
		padding:40px 0px 0;
	}

	.indexMarketability .graph ul{}

	.indexMarketability .graph ul li{
		display: block;
		margin:0 0px;
		padding:0 15px;
	}

	.indexMarketability .graph ul li.anim{
		opacity:1;
		transform:translate3D(0,0,0);
	}

	.indexMarketability .graph ul li:first-child{
		margin-left: 0;
	}

	.slick-dots {
	    bottom: 15px;
	    display: block;
	    width: 98%;
	    padding: 30px 0 0 0;
	    list-style: none;
	}
	.slick-dots li {
	    position: relative;
	    display: inline-block !important;
	    width: 16px;
	    height: 10px;
	    margin: 0 0px;
	    padding: 0;

	    cursor: pointer;
	}
	.slick-dots li button {
	    font-size: 0;
	    line-height: 0;
	    display: block;
	    width: 10px;
	    height: 10px;
	    padding: 5px;
	    cursor: pointer;
	    color: transparent;
	    border: 0;
	    outline: none;
	    background: transparent;
	}
	.slick-dots li button:hover,
	.slick-dots li button:focus {
	    outline: none;
	}
	.slick-dots li button:hover:before,
	.slick-dots li button:focus:before {
	    opacity: 1;
	}
	.slick-dots li button:before {
		content:" ";
	    line-height: 20px;
	    position: absolute;
	    top: 0;
	    left: 0;
	    width: 10px;
	    height: 10px;
	    text-align: center;
	    background-color: #D6D6D7;
		border-radius: 50%;

	}
	.slick-dots li.slick-active button:before {
	    background-color: #1F699A;
	}

	.slick-dots li button.thumbnail img {
		width: 0; height: 0;
	}

	/* Overview */


	.indexOverview .sectionTitle img{width:247.5px;}

	.indexOverviewTab{
		overflow: hidden;
		margin:0 20px;
	}

	.indexOverviewTab li{
		float: left;
		width: 33%;
		margin-left: 0.5%;
		text-align: center;
		padding:8px;
		color:#fff;
		border-radius:5px 5px 0 0;
		font-size: 14px;
		background: #C5C5C5;
	}

	.indexOverviewTab li.active{background: #18689C;}

	.indexOverviewTab li:first-child{margin-left: 0;}

	.indexOverviewTab li span{
		display: inline-block;
		background: url(../img/index/overflow_num1.png) no-repeat left top;
		background-size: auto 20.5px;
		width: 34px;
		height: 24px;
		vertical-align: middle;
		margin-left: 8px;
		text-align: left;
		text-indent: -99em;
		overflow: hidden;
	}
	.indexOverviewTab li:nth-child(2) span{background-image: url(../img/index/overflow_num2.png);}
	.indexOverviewTab li:nth-child(3) span{background-image: url(../img/index/overflow_num3.png);}

	.indexOverviewList {
		text-align: left;
		margin:0 20px;
	}

	.indexOverviewList li{
		display: block;
		width: auto;
		height: auto;
		font-size: 13px;
		margin:0;
		padding:20px;
		display: none;
		border-radius:0 0 5px 5px;
	}

	.indexOverviewList li.anim{
		opacity:1;
		transform:translate3D(0,-1px,0);
	}

	.indexOverviewList li.active{
		display: block;
	}

	.indexOverviewList1 {
		background: url(../img/index/bg_overview1_sp.png) no-repeat center 50px #1F699A;
	}

	.indexOverviewList2 {
		background: url(../img/index/bg_overview2_sp.png) no-repeat center 50px #1F699A;
	}

	.indexOverviewList3 {
		background: url(../img/index/bg_overview3_sp.png) no-repeat center 50px #1F699A;
	}

	.indexOverviewList li h3{
		line-height: 1.0;
		font-size: 13px;
		padding:15px;
		text-align: center;
		margin-bottom: 170px;
		background: #0F5786;
	}

	.indexOverviewList li p{
		position: static;
		width:auto;
		height:auto;
		font-size: 14px;
		line-height: 1.8;
		text-align:justify;

	}

	/* School information */

	.indexSection.indexSchoolInfo {
	}

	.indexSchoolInfo .sectionTitle img{width:331.5px;max-width:100%;}


	.indexSchedule {
		background: url(../img/index/bg_schedule_sp.png) no-repeat center top;
		background-size: 100%;
		padding:50px 20px;
	}

	.indexSchedule dl{
		width:auto;
		margin:0 auto;
		border:1px solid #18689C;
		border-radius:5px;
		overflow: hidden;
		margin-bottom: 50px;
		text-align: center;
	}

	.indexSchedule dt{
		display: block;
		background: none;
		background-color: #18689C;
		padding:10px 0px 10px 20px;
		font-size: 14px;
		float: none;
		width:auto;
		line-height: 1.0;
	}

	.indexSchedule dt:before{
		content:'';
		display: inline-block;
		vertical-align: middle;
		margin-right: 10px;
		background: url(../img/common/icon_week.png) no-repeat left top;
		background-size: 100%;
		width:19px;
		height:22px;
		position: relative;
	}

	.indexSchedule dd{
		padding:15px 20px;
		margin-left: 0px;
		font-size: 14px;
		line-height: 1.6;
		text-align: left;
	}

	.indexScheduleTable{
		margin-bottom: 0px;
	}

	.scheduleDay{
		margin-bottom: 7px;
	}

	.scheduleDateTitle{
		color:#fff;
		background: #306798;
		text-align: center;
		line-height: 1.0;
		padding:16px 0;
		font-size: 14px;
		border-radius:5px;
		position: relative;
	}

	.scheduleDateTitle:after{
		display:block;
		content:'';
		background:url(../img/common/arrow_down_sp.png) no-repeat center center rgba(0,0,0,0.13);
		background-size: 8px;
		width:20px;
		height:20px;
		position:absolute;
		right:10px;
		top:50%;
		margin-top:-10px;
		border-radius:10px;
		transition: all .25s ease;
	}

	.scheduleDateTitle.open{
		background: #C5C5C5;
		border-radius:5px 5px 0 0;
	}

	.scheduleDateTitle.open:after{transform:rotate(180deg);}

	.scheduleDayOpen{
		padding-bottom: 10px;
		display: none;
	}

	.indexScheduleTable table{
		width:100%;
		margin:0 auto;
	}

	.indexScheduleTable table th,
	.indexScheduleTable table td{
		padding:15px 0;
		width:50%;
		border-left:1px solid #fff;
		border-top:1px solid #fff;
	}

	.indexScheduleTable table th{font-weight: normal;}


	/* 講座概要 */

	.indexProgram {
		width:auto;
		padding:0 20px;
	}

	.indexProgramLine {
		float: none;
		width:auto;
		margin-left: 0px;
	}

	.indexProgramLine h4{
		padding:17px 0;
		font-size: 14px;
		border-radius:5px;
	}

	.indexProgramLine ul{margin-bottom: 20px;}
	.indexProgramLine ul li{margin-bottom: 1px;}


	/* Requirements */

	.indexRequirements .sectionTitle img{width:222px;}

	.indexRecruit {
		width:auto;
		padding:0 20px;
	}

	.indexRecruit .blockTitle{margin-bottom: 13px;}

	.indexRecuitNotice {
		padding:10px 0 30px 0;
		text-align: left;
	}

	.indexRecuitNotice h4{
		font-size: 14px;
		margin-bottom: 5px;
	}

	.indexRecruitList {font-size: 14px;}

	.indexRecruitList li{
		text-indent: -1em;
		margin-left: 1em;
	}
	
	.indexRecruitList li span{
		color: #F4676A;
		display: block;
		padding-bottom:10px;
	}

	.indexRecuitCourse span{font-size: 12px;}


	/* Philosophy */

	.indexPhilosophy .sectionTitle img{width:186px;}
	.indexPhilosophyMessage {padding:0px 0 0;}

	.indexPhilosophyTitle {
		width:auto;
	}

	.indexPhilosophyText {
		width:auto;
		background: #1F699A;
		color:#fff;
	}

	.line1 .indexPhilosophyTitle{
		float:none;
		background: url(../img/index/bg_building.png) no-repeat center bottom #FAFAFA;
		background-size: 80%;
		height:280px;
	}

	.line1 .indexPhilosophyText{float:none}

	.line2 .indexPhilosophyTitle{
		float:none;
	}

	.line2 .indexPhilosophyText{float:none}

	.indexPhilosophyMessageInner{
		width:auto;
		padding:0px 0 0;
		text-align:justify;
		height:auto;
	}

	.line1 .indexPhilosophyTitle .indexPhilosophyMessageInner{
		float: none;
		padding:120px 0 0 0;
		text-align: center;
	}

	.line1 .indexPhilosophyTitle .indexPhilosophyMessageInner img{width:280px;}

	.line1 .indexPhilosophyText .indexPhilosophyMessageInner{
		float: none;
		padding:35px 20px;
	}

	.line2 .indexPhilosophyTitle .indexPhilosophyMessageInner{
		float: none;
		padding:0 0 0 0;
	}

	.line2 .indexPhilosophyText .indexPhilosophyMessageInner{
		float: none;
		padding:35px 20px;
	}

	.indexPhilosophyMessage h3{
		font-size: 20px;
		margin-bottom: 15px;
	}

	.indexPhilosophyMessage p{
		font-size: 14px;
		line-height: 2.0;
		margin-bottom: 0;
	}

	.indexPhilosophyTitle p{
		background: url(../img/index/bg_gear.png) no-repeat center center;
		background-size: 240px;
		font-size: 22px;
		line-height: 1.5;
		text-align: center;
		padding:105px 0;
	}

	.indexPhilosophyTitle p strong{color:#246A98;}

	.indexBookWrapper {
		padding:50px 0;
	}

	.indexBookInner{
		width:auto;
	}

	.indexBook {
		float:none;
		width:auto;
	}

	.indexBook:nth-child(1){margin-bottom: 30px;}

	.indexBook h3{
		font-size: 16px;
		line-height: 1.7;
		margin-bottom: 25px;
	}

	.indexBookImage{min-height:50px;}
	.indexBook:nth-child(1) .indexBookImage img{height:170px;}
	.indexBook:nth-child(2) .indexBookImage img{height:45px;}

	.indexBook ul li p{
		font-size: 12px;
		line-height: 1.5;
		padding-top: 8px;
	}

	/* company */

	.indexCompany .sectionTitle img{width:150px;}

	.indexCompanyInner{
		width:auto;
		padding:0 20px;
	}

	.indexAccess {padding:40px 0 20px;}

	.indexAccess p{
		font-size: 14px;
		margin-bottom: 15px;
	}

	.indexMap {height:220px;}


	/* contact */

	.indexContact .sectionTitle img{width:148.5px;}
	.indexContactInner{width:auto;}
	.goContact{margin-bottom: 50px;}

	.goContact a,
	.goContact a:hover{
		padding:18px 0;
		text-align: center;
		font-size: 15px;
		border-radius:5px;
		width:210px;
		box-shadow:0 -3px rgba(0,0,0,0.15) inset;
		top:0px;
	}

	.fixedContact {
		position:fixed;
		right:50%;
		top:auto;
		bottom:0;
		margin:0 -115px 0 0;
	}

	.fixedContact a,
	.fixedContact a:hover{
		display: block;
		overflow: hidden;
		padding: 0 0 0 58px;
		box-sizing:border-box;
		background: url(../img/common/icon_contact.png) no-repeat 20px center #18689C;
		background-size: 25px;
		border-radius:5px 5px 0 0;
		box-shadow:none;
		font-size: 13px;
		width: 230px;
		height: 42px;
		line-height: 42px;
	  -webkit-writing-mode: horizontal-tb;
	      -ms-writing-mode: horizontal-tb;
	          writing-mode: horizontal-tb;
	}

	.contactSection{padding:30px 0px 0;}
	.contactSection .indexContactInner{padding:0 20px;}
	.contactSection .sectionLead{font-size: 14px;}

	.contactSection .tableType1 th{
		width:auto;
		padding:5px 0 15px
	}

	.contactSection .tableType1 td > div{padding:0 0 10px 0;}

	.completeInner{
		padding:10px 20px 60px;
		text-align: left;
	}

	.completeInner p{
		font-size: 14px;
		line-height: 1.8;
	}

	.completeInner .submit{
		padding:20px 0;
	}


	/* ---------------- アニメーション ------------------- */

	.spanim{
		transition: all 1.75s ease;
		opacity:0;
		transform:translate3D(0,20px,0);
	}

	.spanim.animOn{
		opacity:1;
		transform:translate3D(0,0,0);	
	}


}