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


@import url('https://fonts.googleapis.com/css?family=Open+Sans+Condensed:700&display=swap');

@import url('https://fonts.googleapis.com/css?family=Oswald:300&display=swap');

body {
	font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', "游ゴシック", "Yu Gothic", YuGothic, 'Noto Sans JP', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	line-height: 1.5;
}

.mincho {
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Noto serif JP", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

/* reset */
* {
	margin: 0;
	padding: 0;
}

ul {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	overflow: hidden;
	font-size: 0.1em;
	line-height: 0;
}

.clearfix {
	/*display: inline-table;
    min-height: 1%;*/
}

/* Hides from IE-mac */
* html .clearfix {
	height: 1%;
}

.clearfix {
	display: block;
}

.clear {
	clear: both;
}

/* End hide from IE-mac */

img {
	object-fit: contain;
	font-family: 'object-fit: contain;';
	/*IE対策*/
}

a {
	text-decoration: none;
}

a:hover {
	opacity: 0.6;
}


/* ------------------------------ */

html,
body {
	/*position: relative;
	height:auto;*/
	/*background: #eee;
	font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
	font-size: 14px;
	color: #000;
	margin: 0;
	padding: 0;*/
}

header {
	box-sizing: border-box;
	padding: 30px;
	background-color: #fff;
	position: fixed;
	width: 100%;
	z-index: 999;
}

header .inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

header img {
	max-height: 60px;
	max-width: 100%;
	width: auto;
	float: left;
	vertical-align: middle;
}

header nav {
	box-sizing: border-box;
	width: 80%;
	height: 60px;
	float: right;
}

header ul {
	display: flex;
	text-align: center;
	justify-content: space-around;
	padding: 20px 0;
}

header a {
	box-sizing: border-box;
	display: inline-block;
	color: #000;
	font-weight: bold;
}

header span {
	color: orange;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	letter-spacing: 2px;
}

header li p.tel {
	font-weight: bold;
	/*font-size: 20px;
	font-family: 'Open Sans Condensed', sans-serif;*/
	/*line-height: 2;*/
}

header .c_btn,
header .c_btn p {
	display: none;
}

@media screen and (max-width: 768px) {
	header {
		position: static;
		padding: 10px;
	}

	header nav {
		box-sizing: border-box;
		width: 80%;
		height: 60px;
		float: right;
	}


	header li.sp_non {
		display: none;
	}

	header .c_btn {
		display: block;
		box-sizing: border-box;
		position: fixed;
		top: 15px;
		right: 15px;
		font-size: 10px;
		background-color: #000;
		background-image: url(../images/img_mail.png);
		background-size: 20px;
		background-position: center;
		background-repeat: no-repeat;
		text-align: center;
		height: 30px;
		width: 30px;
		border-radius: 50%;
		padding: 0;
		z-index: 999;
	}

	header .c_btn p {
		display: none;
	}

	header .c_btn p a {
		color: #fff;
	}

	header .c_btn p img {
		padding-top: 5px;
	}

	header .c_btn:hover {
		display: block;
		box-sizing: border-box;
		position: fixed;
		background-image: none;
		top: 5px;
		right: 10px;
		font-size: 10px;
		background-color: #000;
		color: #fff;
		text-align: center;
		height: 150px;
		width: 150px;
		border-radius: 50%;
		padding: 25px 0;
		z-index: 999;
	}

	header .c_btn:hover p {
		display: block;
		z-index: 999;
	}

	header .c_btn .tel {
		font-size: 22px;
		font-family: 'Open Sans Condensed', sans-serif;
	}
}

@media screen and (max-width: 480px) {
	/*header img {
		display: block;
		width: 250px;
		float: none;
	}

	header nav {
		display: block;
		width: 100%;
		height: auto;
	}

	header ul {
		display: flex;
		text-align: center;
		justify-content: space-between;
		padding: 10px 0 0;
	}

	header ul li {
		font-size: 12px;
		width: 18%;
	}

	header ul li.w24 {
		width: 24%;
	}*/
}

/* totop */

.totop {
	font-size: 13px;
	text-align: center;
	background-color: #f66e34;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	position: fixed;
	right: 10px;
	bottom: 50px;
	z-index: 9999;
}

.totop a {
	color: #fff;
}

/* totop */


/* footer */

footer {
	padding: 50px;
}

footer .inner {
	width: 100%;
	max-width: 990px;
	margin: 0 auto;
}

footer h5 {
	text-align: center;
	font-size: 30px;
	border-top: 1px solid #000;
	padding-top: 10px;
}

footer .flex {
	display: flex;
	justify-content: space-between;
	margin: 20px auto;
	width: 100%;
}

footer .left {
	padding-top: 50px;
	width: 60%;
}

footer .left p.ttl {
	font-size: 26px;
	padding: 0 0;
}

footer .left p.ttl span {
	font-size: 14px;
	position: relative;
	top: -15px;
}

footer .left dl {
	line-height: 2.2;
	font-size: 16px;
	width: 100%;
	margin: 0 auto;
}

footer .left dt {
	float: left;
	clear: left;
	width: 20%;
	border-top: 1px solid #000;
	padding-bottom: 10px;
}

footer .left dd {
	width: 80%;
	border-top: 1px solid #000;
	padding-bottom: 10px;
}

footer .flex img {
	width: 100%;
	max-width: 375px;
}

footer a {
	color: #000;
}

@media screen and (max-width: 768px) {
	footer .flex {
		/*display: flex;
	justify-content: space-between;
	margin: 0 auto;
	max-width: 1100px;*/
		justify-content: center;
		flex-wrap: wrap;
	}

	footer .left {
		width: 100%;
		padding-top: 20px;
		padding-bottom: 40px;
	}

	footer .left dt {
		float: none;
		width: 100%;
		padding-bottom: 0;
	}

	footer .left dd {
		width: 100%;
		border: none;
	}

	footer .right {
		text-align: center;
		width: 100%;
	}

}

@media screen and (max-width: 480px) {
	footer {
		padding: 10px;
	}
}

/* footer */




article {
	margin: 0 auto;
	padding-top: 120px;
	text-align: center;
}

.mainvisual {
	width: 100%;
	text-align: center;
	margin: 0 auto;
	background-color: #f5f2ec;
}

.mainvisual img {
	width: 100%;
	max-width: 1000px;
	vertical-align: middle;
}

#service {
	text-align: center;
	background-image: url(../images/bg.png);
	background-repeat: no-repeat;
	background-position: bottom;
	background-size: cover;
	padding: 30px 0 100px;
}

#service .inner {
	max-width: 850px;
	width: 100%;
	padding-top: 30px;
	margin: 0 auto;
}

#service .inner h1 {
	text-align: center;
}

#service .inner p {
	padding: 20px 0 50px;
	font-size: 16px;
	line-height: 2;
	text-align: left;
}

#service .inner img {
	width: 100%;
	max-width: 850px;
}

img.w900 {
	width: 100%;
	max-width: 900px;
}

img.w1200 {
	width: 100%;
	max-width: 1200px;
}

#voice h2 {
	max-width: 1200px;
	width: 100%;
	margin: 80px auto 0;
	padding: 30px 0 0;
	background-color: #004098;
	color: #fff;
	font-size: 40px;
	font-weight: normal;
}

#voice h2 span {
	font-size: 20px;
	font-family: 'Oswald', sans-serif;
	letter-spacing: 10px;
	position: relative;
	top: -30px;
}

#voice {
	background-color: #f5f2ec;
	margin-bottom: 50px;
}

#voice img {
	max-width: 375px;
	width: 100%;
	padding: 100px 0;
}

#training {
}

#training h3 {
	font-size: 40px;
	padding-bottom: 10px;
	font-weight: normal;
}

#training p {
	line-height: 2;
}

#training img {
	padding-top: 50px;
}

.naiyou {
	padding-bottom: 100px;
}

.naiyou h3 {
	font-size: 26px;
	padding-top: 80px;
	padding-bottom: 40px;
}

.naiyou h4 {
	background-color: #eb6100;
	max-width: 540px;
	width: 100%;
	padding: 10px 0;
	margin: 0 auto;
	font-size: 24px;
	color: #fff;
}

.naiyou .box {
	background: linear-gradient(180deg, #f5f2ec 0%, #f5f2ec 47%, #fff 47%);
}

.naiyou .box2 {
	background: linear-gradient(180deg, #f5f2ec 0%, #f5f2ec 80%, #fff 80%);
}

.naiyou .box .inner {
	max-width: 1080px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

.naiyou .box .left {
	text-align: left;
	padding-right: 40px;
	width: 50%;
	box-sizing: border-box;
}

.naiyou .box .left p {
	line-height: 2;
	padding: 30px 0 0;
}

.naiyou .box .left h5 {
	font-size: 20px;
	padding-top: 30px;
}

.naiyou .box .left dl {}

.naiyou .box .left dt {
	border-top: 1px solid #000;
}

.naiyou .box .left dd {
	padding-bottom: 20px;
}

.naiyou .box .right {
	width: 50%;
	box-sizing: border-box;
}

.naiyou .box .right img {
	max-width: 510px;
	width: 100%;
	padding: 30px 0;
}

.naiyou img.w1000 {
	width: 100%;
	max-width: 1000px;
	margin: 30px auto 100px;
}

.naiyou .box.mb100 {
	margin-bottom: 100px;
}

.naiyou h5 {
	font-size: 38px;
	font-weight: normal;
	padding-top: 50px;
	padding-bottom: 20px;
}

.naiyou p.w800 {
	line-height: 2;
	text-align: left;
	max-width: 750px;
	width: 100%;
	margin: 0 auto;
}

.naiyou img.w964 {
	width: 100%;
	max-width: 964px;
}

#price {
	margin-bottom: 100px;
}

#price h2 {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto 0;
	padding: 30px 0 0;
	background-color: #004098;
	color: #fff;
	font-size: 40px;
	font-weight: normal;
}

#price h2 span {
	font-size: 20px;
	font-family: 'Oswald', sans-serif;
	letter-spacing: 10px;
	position: relative;
	top: -30px;
}

#price img {
	max-width: 840px;
	width: 100%;
	padding: 50px 0;
}

#service,
#training,
#price,
#corporation {
	padding-top: 120px;
	margin-top: -120px;
}

@media screen and (max-width: 768px) {
	article {
		padding-top: 0;
	}

	.naiyou .box .inner {
		display: block;
	}

	.naiyou .box {
		background: linear-gradient(180deg, #f5f2ec 0%, #f5f2ec 47%, #fff 47%);
	}

	.naiyou .box2 {
		background: linear-gradient(180deg, #f5f2ec 0%, #f5f2ec 36%, #fff 36%);
	}

	.naiyou .box .left,
	.naiyou .box .right {
		width: 100%;
		padding-right: 0;
		margin: 0 auto;
	}

	.naiyou .box .left p br {
		display: none;
	}

	#service,
	#training,
	#price,
	#corporation {
		padding-top: 0px;
		margin-top: 0px;
	}

}

@media screen and (max-width: 480px) {
	#service {
		padding: 30px 0 50px;
	}

	#service .inner h1 {
		font-size: 22px;
	}

	#voice h2,
	#price h2 {
		font-size: 30px;
		padding: 10px 0 0;
	}

	#voice h2 span,
	#price h2 span {
		top: -10px;
	}

	#voice img {
		max-width: 300px;
		width: 100%;
		padding: 50px 0;
	}

	#training h3 {
		font-size: 30px;
	}

	.naiyou {
		padding-bottom: 50px;
	}

	.naiyou h3 {
		padding-top: 30px;
	}

	.naiyou h4 {
		font-size: 20px;
	}

	.naiyou h5 {
		font-size: 30px;
	}

	.naiyou {
		padding-bottom: 50px;
	}


	.naiyou img.w1000 {
		margin: 0 auto 50px;
	}

	.naiyou .box.mb100 {
		margin-bottom: 50px;
	}

	.naiyou .box,
	.naiyou .box2 {
		background: linear-gradient(180deg, #f5f2ec 0%, #f5f2ec 70%, #fff 70%);
	}

	#price {
		margin-bottom: 50px;

	}
