@charset "utf-8";
/* ======================================================

SP

====================================================== */
#wrapper {
		position: relative;
		margin: 0 auto;
}
span.pc {
		display: none;
}
/* ======================================================

HEADER（SP）

====================================================== */
/*--------------------------------------------------------
	言語ナビ（SP）
--------------------------------------------------------*/
nav ul {
		display: flex;
		justify-content: center;
		padding: 9px 0;
		background-color: rgba(255, 255, 255, 0.8);
}
nav li a {
		display: block;
		font-size: 1rem;
		height: 18px;
		line-height: 18px;
		width: 88px;
		text-align: center;
		font-weight: 700;
}
/*ENGLISH*/
nav li:first-child a {
		background: #fff;
		color: #3157D5;
		border: 1px solid #3157D5;
		margin-right: 20px;
}
/*JAPANESE*/
nav li:last-child a {
		background: #fff;
		color: #B0000D;
		border: 1px solid #B0000D;
}
/*ENGLISH*/
#english nav li:first-child a {
		background: #3157D5;
		color: #fff;
}
/*JAPANESE*/
#japanese nav li:last-child a {
		background: #B0000D;
		color: #fff;
}
/*--------------------------------------------------------
	メインエリア（SP）
--------------------------------------------------------*/
/*トップ以外*/
header {
		border-bottom: 1px solid #eee;
		padding: 5.33vw;
}
.top header {
		position: relative;
		background: url("/img/main_image.jpg") no-repeat center 36px / cover;
		border-bottom: none;
		padding: 0;
	min-height: 500px;
}
h1 {
		width: 212px;
		margin: 0 auto;
}
.top h1 {
		width: 212px;
		margin-top: 5.33vw;
		margin-left: 10vw;
}
header div {
		display: flex;
}
header div.headCopy {
		display: block;
		position: absolute;
		width: 100%;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		background-color: rgba(255, 255, 255, 0.4);
		margin-top: 36px;
		padding: 15px 10px;
}
header h2 {
		font-size: 2rem;
		font-weight: 500;
		line-height: 1;
		margin-bottom: 10px;
}
header p {
		line-height: 1.6;
}
header div.linkBtn {
		display: block;
}
.linkBtn a {
		display: block;
		position: absolute;
		width: 93.6%;
		background: rgba(7, 27, 93, 0.85);
		bottom: 3.2vw;
		left: 50%;
		transform: translateX(-50%);
		text-align: center;
		color: #fff;
		line-height: 1.4;
		padding: 15px 20px;
		font-size: 1.4rem;
		border-radius: 6px;
		border: 1px solid #fff;
		font-weight: 700;
}
.linkBtn a::after {
		content: '';
		width: 8px;
		height: 8px;
		border: 0px;
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		top: 50%;
		right: 10px;
		margin-top: -4px;
}
/*--------------------------------------------------------
	セクション（SP）
--------------------------------------------------------*/
section {
		padding: 0 3.2%;
		margin-top: 50px;
		text-align: center;
}
.formPage section {
		margin-top: 30px;
}
.backGray {
		background: #F0F0F0;
		padding: 30px 3.2% 30px;
}
/*--------------------------------------------------------
	見出し（SP）
--------------------------------------------------------*/
.top h3, .formPage section h2, .forBusinesses section h2 {
		display: inline-block;
		position: relative;
		margin-bottom: 30px;
}
#english.top h3, #english.formPage section h2, #english.forBusinesses section h2 {
		font-size: 1.8rem;
}
.top h3 span, .formPage section h2 span, .forBusinesses section h2 span {
		display: block;
		font-size: 1.2rem;
		font-family: 'Roboto', sans-serif;
		color: #666666;
		margin-top: 5px;
}
.top h3::before, .formPage section h2::before, .forBusinesses section h2::before {
		display: block;
		position: absolute;
		top: -10px;
		left: -40px;
		width: 1px;
		height: 60px;
		transform: rotate(40deg);
		background: #000;
		content: "";
}
#english h3::before, #english.formPage section h2::before, #english.forBusinesses section h2::before {
		top: -10px;
		height: 40px;
		left: -20px;
}
.formPage section.errorPage h2::before {
		display: none;
}
/*--------------------------------------------------------
	stage01 ビジネスエキスパートから学ぶ日本語（SP）
--------------------------------------------------------*/
#stage01 {
		text-align: left;
		margin-top: 30px;
}
#stage01 h3 {
		font-size: 1.8rem;
		margin-bottom: 0;
}
#stage01 h3::before {
		display: none;
}
#stage01 p {
		margin-top: 20px;
}
/*--------------------------------------------------------
	stage02 スクールの特徴（SP）
--------------------------------------------------------*/
#stage02 {
		margin-top: 30px;
}
#stage02 ul {
		text-align: left;
		margin-top: 20px;
}
#stage02 li {
		font-size: 1.6rem;
		font-weight: 700;
		background: url("/img/check_icon@3x.png") no-repeat left center / 28px auto;
		padding: 8px 0 8px 38px;
		line-height: 1.4;
}
#english #stage02 li {
		background-position: left 8px;
}
#english #stage02 li:nth-child(4) {
		background-position: left center;
}
#stage02 li span {
		display: block;
		font-size: 1.4rem;
		font-weight: 400;
}
#stage02 a {
		display: block;
		font-size: 2.1rem;
		font-weight: 700;
		line-height: 1.4;
		background: #449DF5;
		color: #fff;
		border-radius: 6px;
		position: relative;
		padding: 10px 0;
		margin-top: 30px;
}
#english #stage02 a {
		font-size: 1.6rem;
		line-height: 1.2;
}
#stage02 a::after {
		content: '';
		width: 8px;
		height: 8px;
		border: 0px;
		position: absolute;
		top: 50%;
		right: 10px;
		border-bottom: solid 2px #fff;
		border-right: solid 2px #fff;
		transform: translateY(-50%) rotate(45deg);
}
#stage02 a span {
		display: block;
		font-size: 1.4rem;
		font-weight: 400;
}
/*--------------------------------------------------------
	stage03 料金（SP）
--------------------------------------------------------*/
#stage03 p {
		border-top: 1px solid #eee;
		border-bottom: 1px solid #eee;
		line-height: 1.2;
		padding: 15px 0;
}
.hours, .fee {
		font-weight: 700;
		font-family: 'Roboto', sans-serif;
}
.hours {
		font-size: 2rem;
}
.fee {
		font-size: 3rem;
}
.tax {
		font-size: 1.2rem;
}
.detail {
		display: block;
		font-size: 1.2rem;
}
/*--------------------------------------------------------
	stage04 代表のごあいさつ（SP）
--------------------------------------------------------*/
#stage04 {
		background: #000;
		padding: 30px 3.2% 25px;
}
#stage04 h3, #stage04 h3 span {
		color: #fff;
}
#stage04 h3::before {
		background: #fff;
}
.youtube {
		position: relative;
		width: 100%;
		padding-top: 56.25%;
}
.youtube iframe {
		position: absolute;
		top: 0;
		right: 0;
		width: 100%;
		height: 100%;
}
/*--------------------------------------------------------
	stage05 代表者（SP）
--------------------------------------------------------*/
#stage05 figure {
		width: 41.31%;
		margin: 0 auto;
}
#stage05 figcaption {
		font-size: 1.6rem;
		font-weight: 700;
}
#stage05 p {
		text-align: left;
		margin-top: 20px;
}
/*--------------------------------------------------------
	stage06 学校概要（SP）
--------------------------------------------------------*/
#stage06 th, #stage06 td {
		display: block;
		border-bottom: 1px solid #ccc;
		border-left: 1px solid #ccc;
		border-right: 1px solid #ccc;
		line-height: 1.6;
		padding: 10px 0;
}
#stage06 tr:first-child th {
		border-top: 1px solid #ccc;
}
#stage06 th {
		background: #eee;
		font-weight: 700;
}
#stage06 td {
		background: #fff;
}
/*--------------------------------------------------------
	stage07 問い合わせフォーム（SP）
--------------------------------------------------------*/
#stage07 {
		font-size: 1.4rem;
}
#stage07 h4 {
		background: #449DF5;
		font-size: 1.4rem;
		color: #fff;
		height: 42px;
		line-height: 42px;
		margin: 30px 0 10px;
}
#stage07 h4 span {
		font-size: 1.2rem;
}
.errorBox p, .error {
		color: #b0000d;
		font-weight: 700;
}
.error {
		text-align: left;
}
#stage07 h5 {
		font-size: 1.4rem;
		border-top: 1px dotted #707070;
		border-bottom: 1px dotted #707070;
		height: 42px;
		line-height: 42px;
		margin: 30px 0 15px;
}
#stage07 p + h5 {
		margin-top: 10px;
}
.if {
		margin-top: 20px;
		font-size: 1.2rem;
}
.attention {
		font-size: 1.2rem;
		text-align: left;
		padding-left: 1rem;
		text-indent: -1rem;
		line-height: 1.6;
		margin: 10px 0 15px;
}
.left {
		text-align: left;
}
.left .normalInput {
		width: 180px;
		height: 36px;
}
.maBtm {
		margin-bottom: 10px;
}
.maLeft {
		margin-left: -1.2rem;
}
.maLeft02 {
		margin-left: -0.5rem;
}
/*--------------------------------------------------------
	確認・終了・エラー画面（SP）
--------------------------------------------------------*/
.formPage h3 {
		background: #f0f0f0;
		font-size: 1.4rem;
		height: 42px;
		line-height: 42px;
		margin: 30px 0 0;
		border: 1px solid #ccc;
		border-bottom: none;
}
.formPage h3 + p, .formPage section ul {
		border: 1px solid #ccc;
		border-top: none;
		padding: 10px;
		min-height: 42px;
}
.formPage section li {
		display: inline-block;
}
.formPage section li::after {
		content: "、";
		margin-right: 5px;
}
.formPage section li:last-child::after {
		display: none;
}
#english.formPage section li::after {
		content: ", ";
		margin-right: 5px;
}
.formPage h2 + p {
		text-align: left;
}
.mailLink a {
		display: inline-block;
		background: url("/img/mail_icon@3x.png") no-repeat center left / 28px auto;
		padding-left: 38px;
		margin-top: 15px;
		font-weight: 700;
}
.errorPage .mailLink a {
		margin: 0;
		background: url("/img/mail_icon@3x.png") no-repeat center right/ 16px auto;
		padding-left: 0;
		padding-right: 21px;
}
.finish {
		text-align: left;
}
br.pc {
		display: none;
}
/*--------------------------------------------------------
	stage08 プライバシーポリシー 免責事項 著作権（SP）
--------------------------------------------------------*/
#stage08 {
		padding: 0 3.2% 30px;
		background: #F0F0F0;
}
#stage08 section {
		margin: 0;
		padding-top: 30px;
}
#stage08 h3 {
		display: block;
		text-align: left;
		font-size: 1.4rem;
		margin: 0 0 10px;
}
#stage08 h3::before {
		display: none;
}
#stage08 h3 + div {
		background: #fff;
		padding: 15px;
		text-align: left;
		border: 1px solid #C3C3C3;
		border-radius: 6px;
		max-height: 48.8vw;
		overflow-y: auto;
}
#stage08 h4, #stage08 h5, #stage08 p, #stage08 li {
		font-size: 1.2rem;
		line-height: 1.8;
}
#stage08 h4 {
		margin: 20px 0 5px;
}
#stage08 h5 {
		margin-top: 10px;
}
#stage08 ul {
		margin-top: 10px;
}
#stage08 li {
		margin-left: 2rem;
		list-style-type: disc;
}
p.link a {
		color: #1558d6;
		text-decoration: underline;
}
.scrollBox {
		height: 48.8vw;
		overflow-y: auto;
}
/*--------------------------------------------------------
	FOOTER（SP）
--------------------------------------------------------*/
footer {
		background: #449DF5;
		text-align: center;
		color: #fff;
		font-size: 1rem;
		padding: 50px 0 20px;
}
footer h2 {
		width: 140px;
		padding: 0 0 50px;
		margin: 0 auto;
}
/*--------------------------------------------------------
	表示しないスペース（SP）
--------------------------------------------------------*/
span.htmlSpace {
		display: none !important;
}
/*--------------------------------------------------------
	企業向け
--------------------------------------------------------*/
.forBusinesses #stage01 {
		text-align: center;
}
.forBusinesses #stage01 p {
		text-align: left;
}
.forBusinesses #mkform h3 {
		background: #071B5D;
		font-size: 1.4rem;
		color: #fff;
		height: 42px;
		line-height: 42px;
		margin: 30px 0 10px;
}
.forBusinesses h3 span {
		font-size: 1.2rem;
}
.forBusinesses #mkform h4 {
		font-size: 1.4rem;
		padding: 15px 0;
		border-top: 2px dotted #ccc;
		border-bottom: 2px dotted #ccc;
		margin: 15px 0 10px;
}
#english.forBusinesses #mkform h4 {
		padding-left: 10px;
}
/* ======================================================

PageTop BTN（SP）

====================================================== */
#page-top {
		display: none;
		position: fixed;
		right: 20px;
		bottom: 20px;
		z-index: 20;
}
#move-page-top {
		width: 40px;
		height: 40px;
		background: #449DF5;
		border-radius: 50%;
		border: 1px solid #fff;
		display: block;
		cursor: pointer;
		transition: opacity 0.5s ease, background-position 0s;
}
#move-page-top:hover {
		opacity: 0.6;
}
/*「く」の矢印*/
#move-page-top::before {
		content: '';
		width: 8px;
		height: 8px;
		margin-top: 2px;
		border: 0px;
		position: absolute;
		top: 50%;
		left: 50%;
		border-top: solid 2px #fff;
		border-left: solid 2px #fff;
		transform: translate(-50%, -50%) rotate(45deg);
}
/* ======================================================

600px以上

====================================================== */
@media (min-width: 600px) {
		/*--------------------------------------------------------
	▲メディアクエリSTART
--------------------------------------------------------*/
		h1, h2, h3, h4, h5, h6 {
				font-size: 2.4rem;
		}
		p, li, dt, dd, th, td, figcaption {
				font-size: 1.6rem;
		}
		span.pc {
				display: inline-block;
		}
		/* ======================================================

TELリンク無効（PC・tablet）

====================================================== */
		a[href*="tel:"] {
				pointer-events: none;
				cursor: default;
				text-decoration: none;
		}
		/* ======================================================

HEADER（PC・tablet）

====================================================== */
		/*--------------------------------------------------------
	言語ナビ（PC・tablet）
--------------------------------------------------------*/
		nav ul {
				padding: 15px 0;
		}
		nav li a {
				font-size: 1.1rem;
				height: 24px;
				line-height: 24px;
				width: 108px;
		}
		/*--------------------------------------------------------
	メインエリア（PC・tablet）
--------------------------------------------------------*/
		/*トップ以外*/
		header {
				padding: 50px;
		}
		.top header {
				background-position: center 54px;
				min-height: 620px;
		}
		/*トップ以外*/
		h1 {
				width: 250px;
		}
		.top h1 {
				width: 300px;
				margin-top: 50px;
				margin-left: 50px;
		}
		header div.headCopy {
				padding: 15px 50px;
				margin-top: 50px;
				background: rgb(255, 255, 255, 0.4);
				background: linear-gradient(90deg, rgba(255, 255, 255, 0.8) 0%, rgba(255, 255, 255, 0) 40%);
		}
		header h2 {
				font-size: 2.6rem;
				font-weight: 600;
		}
		.linkBtn a {
				padding: 30px 20px;
				font-size: 1.8rem;
		}
		.linkBtn a br {
				display: none;
		}
		/*--------------------------------------------------------
	セクション（PC・tablet）
--------------------------------------------------------*/
		section {
				margin-left: auto;
				margin-right: auto;
		}
		.formPage section {
				margin-top: 50px;
		}
		.backGray {
				max-width: 100%;
				padding: 40px 3.2% 50px;
		}
		div.contentsWrap {
				max-width: 800px;
				margin: 0 auto;
		}
		/*--------------------------------------------------------
	見出し（PC・tablet）
--------------------------------------------------------*/
		.top h3, .formPage section h2, .forBusinesses section h2 {
				margin-bottom: 50px;
		}
		/*--------------------------------------------------------
	stage01 ビジネスエキスパートから学ぶ日本語（PC・tablet）
--------------------------------------------------------*/
		#stage01 {
				margin-top: 50px;
		}
		#stage01 h3 {
				font-size: 2.1rem;
		}
		#stage01 p {
				margin-top: 15px;
		}
		/*--------------------------------------------------------
	stage02 スクールの特徴（PC・tablet）
--------------------------------------------------------*/
		#stage02 {
				margin-top: 50px;
		}
		#stage02 ul {
				margin-top: 50px;
		}
		#stage02 li {
				font-size: 2.1rem;
				background: url("/img/check_icon@3x.png") no-repeat left center / 32px auto;
				padding: 8px 0 8px 42px;
				line-height: 1.8;
		}
		#stage02 a {
				font-size: 2.4rem;
				padding: 12px 0;
				margin-top: 50px;
		}
		#stage02 a::after {
				width: 12px;
				height: 12px;
				right: 20px;
				border-bottom: solid 4px #fff;
				border-right: solid 4px #fff;
		}
		#stage02 a span {
				font-size: 1.6rem;
		}
		/*--------------------------------------------------------
	stage03 料金（PC・tablet）
--------------------------------------------------------*/
		#stage03 p {
				border-top: 1px solid #ccc;
				border-bottom: 1px solid #ccc;
		}
		.hours {
				font-size: 3rem;
		}
		.fee {
				font-size: 4rem;
		}
		.tax {
				font-size: 1.3rem;
		}
		.detail {
				font-size: 1.4rem;
		}
		/*--------------------------------------------------------
	stage04 代表のごあいさつ（PC・tablet）
--------------------------------------------------------*/
		#stage04 {
				padding: 40px 3.2% 50px;
				max-width: 100%;
		}
		/*--------------------------------------------------------
	stage05 代表者（PC・tablet）
--------------------------------------------------------*/
		#stage05 figcaption {
				font-size: 1.8rem;
				margin-bottom: 30px;
		}
		#stage05 p {
				margin-top: 0px;
		}
		/*--------------------------------------------------------
	stage06 学校概要（PC・tablet）
--------------------------------------------------------*/
		#stage06 th, #stage06 td {
				padding: 8px 0;
		}
		/*--------------------------------------------------------
	stage07 問い合わせフォーム（PC・tablet）
--------------------------------------------------------*/
		#stage07 {
				font-size: 1.6rem;
		}
		#stage07 h4, .forBusinesses #mkform h3 {
				font-size: 1.6rem;
				margin: 50px 0 20px;
		}
		#stage07 h4 span, .forBusinesses #mkform h3 span {
				font-size: 1.4rem;
		}
		#stage07 h5 {
				font-size: 1.6rem;
				margin: 50px 0 20px;
		}
		#stage07 p + h5 {
				margin-top: 15px;
		}
		.if {
				font-size: 1.6rem;
		}
		.attention {
				font-size: 1.4rem;
				text-align: center;
				margin: 5px 0 15px;
		}
		.left .normalInput {
				width: 300px;
				height: 42px;
		}
		.maBtm {
				margin-bottom: 0;
		}
		.maLeft {
				margin-left: 0rem;
		}
		.maLeft02 {
				margin-left: 0rem;
		}
		/*--------------------------------------------------------
	確認・終了・エラー画面（PC・tablet）
--------------------------------------------------------*/
		.formPage h3 {
				font-size: 1.6rem;
				margin: 50px 0 0;
		}
		.finish {
				text-align: center;
		}
		br.sp {
				display: none;
		}
		br.pc {
				display: block;
		}
		.formPage h2 + p {
				text-align: center;
		}
		/*--------------------------------------------------------
	stage08 プライバシーポリシー 免責事項 著作権（PC・tablet）
--------------------------------------------------------*/
		#stage08 {
				padding: 20px 1.6% 50px;
				max-width: 100%;
		}
		#stage08 section {
				padding: 30px 0 0;
		}
		#stage08 h3 {
				font-size: 1.6rem;
				margin: 0 0 10px 10px;
		}
		#stage08 h3 + div {
				padding: 20px;
				max-height: 146px;
				min-height: 146px;
		}
		#stage08 h4, #stage08 h5, #stage08 p, #stage08 li {
				font-size: 1.4rem;
		}
		.scrollBox {
				height: 146px;
		}
		/*--------------------------------------------------------
	FOOTER（PC・tablet）
--------------------------------------------------------*/
		footer {
				font-size: 1.6rem;
		}
		footer h2 {
				width: 200px;
		}
		/*--------------------------------------------------------
	企業向け
--------------------------------------------------------*/
		.forBusinesses #mkform h3 {
				font-size: 1.6rem;
				margin: 50px 0 20px;
		}
		.forBusinesses #mkform h3 span {
				font-size: 1.4rem;
		}
		.forBusinesses #mkform h4 {
				font-size: 1.6rem;
		}
		/* ======================================================

PageTop BTN（PC・tablet）

====================================================== */
		#page-top {
				right: 30px;
				bottom: 30px;
		}
		#move-page-top {
				width: 60px;
				height: 60px;
		}
		/*「く」の矢印*/
		#move-page-top::before {
				width: 12px;
				height: 12px;
				margin-top: 3px;
				border-top: solid 4px #fff;
				border-left: solid 4px #fff;
		}
		/*--------------------------------------------------------
	▼メディアクエリEND
--------------------------------------------------------*/
}