@charset "utf-8";

* {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	box-shadow: none;
	outline: none;
}

html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, a, address, img, dl, dt, dd, ol, ul, li, label, table, tr, th, td, hr, input, textarea,
article, aside, details, figure, figcaption, header, footer, hgroup, menu, nav, section, picture { 
	margin: 0;
	padding: 0;
	border: 0;
	box-sizing: border-box;
	font-size: 100%;
	vertical-align: baseline;
}

iframe, article, aside, details, figure, figcaption, header, footer, hgroup, menu, nav, section, picture { 
	display: block;
}

body {
	line-height: 1;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

a {
	color: inherit;
	text-decoration: none;
}

address {
	font-style: normal;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

ol, ul {
	list-style: none;
	list-style-type: none;
}

ol {
	counter-reset: number;
}

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

input, textarea, select, button {
	font-size: inherit;
	font-family: inherit;
	line-height: inherit;
}

input[type="submit"] {
	font-weight: inherit;
}

input, select, textarea, button {
	-webkit-appearance: none;
}

/*+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+-*/
.course {
	color: #1b1b1b;
	font-weight: 500;
	font-size: 13px;
	font-family: "YuGothic", "Yu Gothic", "Helvetica Neue", Arial, Roboto, "Noto Sans CJK JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "BIZ UDPGothic", Meiryo, sans-serif;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

@media screen\0 {
.course {
	font-family: Arial, "BIZ UDPGothic", Meiryo, sans-serif;
}
}

.course article {
	min-height: calc(100vh - 100px - 65px);
}

.course section {
	padding: 50px 0;
}

.course h2 {
	line-height: 1.4;
}

.course h2 span {
	display: inline-block;
}

.course h3 span {
	display: inline-block;
}

.course a {
	transition: 0.3s ease-in-out;
}

.course a:hover {
	opacity: 0.7;
}

input[type="submit"] {
	cursor: pointer;
	transition: 0.3s ease-in-out;
}

input[type="submit"]:hover {
	opacity: 0.7;
}

.course .inner {
	max-width: 1000px;
	margin: auto;
	padding: 0 20px;
}

.course .inline-block {
	display: inline-block;
}

.course .roboto {
	font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
}

.course .annotation {
	position: relative;
	padding-left: 1.2em;
}

.course .annotation::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "※";
}

.course .link {
	display: flex;
	position: relative;
	border: none;
	border-bottom: 2px solid #800e17;
	border-radius: 4px;
	background: #f59702;
	color: #fff;
	font-weight: 700;
	flex-flow: column;
	justify-content: center;
	align-items: center;
}

.course .link::before {
	display: block;
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	width: 5px;
	height: 5px;
	margin: auto;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	content: "";
	transform: rotate(45deg);
}

.course header {
	display: flex;
	position: static;
	height: 60px;
	padding-left: 10px;
	justify-content: space-between;
	align-items: center;
}

.course header .logo {
	margin-right: 0.5em;
}

.course header .logo img {
	width: 200px;
}

.course header .phone {
	display: flex;
	height: 100%;
	margin-left: auto;
	padding: 0 0.8em;
	background: none;
	font-weight: 700;
	font-size: 10px;
	line-height: 1.2;
	flex: none;
	flex-flow: column;
	justify-content: center;
}

.course header .phone span {
	display: block;
	font-size: 18px;
}

.course header .request {
	display: flex;
	height: 100%;
	padding: 0 0.8em;
	background: repeating-linear-gradient(135deg, #e5535a, #e5535a 7px, #df4d54 7px, #df4d54 9px);
	color: #fff;
	font-weight: 700;
	font-size: 12px;
	line-height: 1.4;
	flex: none;
	justify-content: center;
	align-items: center;
}

.course header .request img {
	margin-right: 10px;
}

.course .header {
	overflow: hidden;
	padding: 20px 0 0;
	background: url("img/course/s/header-background.jpg") 78% -13vw no-repeat;
	background-size: cover;
}

.course .header .inner {
	position: relative;
	z-index: 1;
}

.course .header h1 {
	font-size: 22px;
	line-height: 1.8;
}

.course .header h1 .orange,
.course .header h1 .red {
	display: inline-flex;
	padding: 0.17em;
	color: #fff;
	font-size: 8.4vw;
	line-height: 1;
	justify-content: center;
	align-items: center;
}

.course .header h1 .orange {
	margin-bottom: 0.22em;
	background: repeating-linear-gradient(135deg, #f59702, #f59702 7px, #ef9302 7px, #ef9302 9px);
}

.course .header h1 .red {
	margin-bottom: 0.11em;
	background: repeating-linear-gradient(135deg, #e5535a, #e5535a 7px, #df4d54 7px, #df4d54 9px);
}

.course .header .marker-container {
	margin-bottom: 15px;
}

.course .header .marker {
	background: linear-gradient(transparent 60%, #fff002 60%);
	font-weight: 700;
}

.course .header .request {
	display: inline-flex;
	margin-bottom: 30px;
	letter-spacing: 0;
	align-items: center;
}

.course .header .request .balloon {
	display: flex;
	position: relative;
	z-index: 1;
	width: 66px;
	height: 66px;
	background: url("img/course/header-balloon.png") center center no-repeat;
	background-size: contain;
	color: #fff;
	font-weight: 700;
	justify-content: flex-end;
	align-items: center;
}

.course .header .request .text {
	display: inline-block;
	margin-left: -30px;
	padding: 0 20px 0 40px;
	border: 4px solid #e44a51;
	border-radius: 10px;
	background: #fff;
	color: #e44a51;
	font-weight: 700;
	font-size: 19px;
}

.course .header .h2 {
	position: relative;
	padding-bottom: 20px;
}

.course .header .h2::before {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 120%;
	min-height: 190px;
	max-height: 240px;
	background: url("img/course/s/header-h2.png") 20% top no-repeat;
	background-size: cover;
	content: "";
}

.course .header h2 {
	position: relative;
	z-index: 1;
	margin-bottom: 15px;
	color: #fff;
	font-size: 20px;
}

.course .header .description {
	position: relative;
	z-index: 1;
	color: #fff;
}

.course .header .arrow-up-right {
	display: block;
	position: absolute;
	right: 220px;
	bottom: -305px;
	width: 100px;
	height: 500px;
	background: #f07d01;
	content: "";
	transform: rotate(53deg);
}

.course .header .arrow-up-right::before {
	position: absolute;
	bottom: 490px;
	left: 50%;
	width: 0;
	height: 0;
	border-bottom: 90px solid #f07d01;
	border-right: 90px solid transparent;
	border-left: 90px solid transparent;
	content: "";
	transform: translateX(-50%);
}

.course .intro {
	padding-top: 0;
}

.course .intro li {
	overflow: hidden;
	padding: 15px 0;
}

.course .intro .elementary {
	background: repeating-linear-gradient(135deg, #adc735, #adc735 7px, #a7c12f 7px, #a7c12f 9px);
}

.course .intro .junior {
	background: repeating-linear-gradient(135deg, #3cc6bf, #3cc6bf 7px, #38c2bb 7px, #38c2bb 9px);
}

.course .intro .senior {
	background: repeating-linear-gradient(135deg, #e5535a, #e5535a 7px, #df4d54 7px, #df4d54 9px);
}

.course .intro .inner {
	display: flex;
	position: relative;
	align-items: center;
}

.course .intro .image {
	display: flex;
	margin-right: 3%;
	flex: none;
	align-items: flex-start;
}

.course .intro .image span {
	display: flex;
	position: relative;
	z-index: 1;
	width: 40px;
	height: 40px;
	margin-right: -30px;
	border-radius: 50%;
	background: #fff002;
	font-weight: 700;
	justify-content: center;
	align-items: center;
}

.course .intro .image img {
	width: 70px;
	border-radius: 50%;
}

.course .intro .text {
	position: relative;
	z-index: 1;
	margin-right: 2%;
	color: #fff;
	flex: 1;
}

.course .intro .text h3 {
	margin-bottom: 5px;
	padding-bottom: 10px;
	border-bottom: 1px solid #fff;
	line-height: 1.4;
}

.course .intro .text p span {
	display: inline-block;
}

.course .intro .balloon {
	display: flex;
	position: relative;
	z-index: 1;
	width: 70px;
	height: 70px;
	background: url("img/course/intro-balloon.png") center center no-repeat;
	background-size: contain;
	font-weight: 700;
	font-size: 12px;
	line-height: 1.2;
	text-align: center;
	flex: none;
	flex-flow: column;
	justify-content: center;
	align-items: center;
}

.course .intro .balloon span {
	font-size: 10px;
}

.course .intro .arrow-up-right {
	display: block;
	position: absolute;
	top: -55px;
	right: 185px;
	width: 60px;
	height: 430px;
	content: "";
	transform: rotate(53deg);
}

.course .intro .arrow-up-right::before {
	position: absolute;
	bottom: 420px;
	left: 50%;
	width: 0;
	height: 0;
	border-bottom: 55px solid transparent;
	border-right: 55px solid transparent;
	border-left: 55px solid transparent;
	content: "";
	transform: translateX(-50%);
}

.course .intro .elementary .arrow-up-right {
	background: #9fbb1a;
}

.course .intro .elementary .arrow-up-right::before {
	border-bottom-color: #9fbb1a;
}

.course .intro .junior .arrow-up-right {
	background: #34b9b2;
}

.course .intro .junior .arrow-up-right::before {
	border-bottom-color: #34b9b2;
}

.course .intro .senior .arrow-up-right {
	background: #d74148;
}

.course .intro .senior .arrow-up-right::before {
	border-bottom-color: #d74148;
}

.course .point {
	padding-top: 0;
	background: repeating-linear-gradient(135deg, #fffde6, #fffde6 7px, #f9f7e0 7px, #f9f7e0 9px);
}

.course .point h2 {
	position: relative;
	z-index: 1;
	margin-bottom: 30px;
	padding: 10px 20px;
	background: repeating-linear-gradient(135deg, #f59702, #f59702 7px, #ef9302 7px, #ef9302 9px);
	color: #fff;
	font-size: 18px;
	text-align: center;
}

.course .point h2::before {
	position: absolute;
	right: 0;
	top: calc(100% - 0.6em);
	left: 0;
	z-index: -1;
	width: 1.1em;
	height: 1.1em;
	margin: auto;
	background: repeating-linear-gradient(90deg, #f59702, #f59702 7px, #ef9302 7px, #ef9302 9px);
	content: "";
	transform: rotate(45deg);
}

.course .point h2 .number {
	color: #fff002;
	font-size: 32px;
	line-height: 1;
}

.course .point h2 .unit {
	color: #fff002;
	font-size: 16px;
}

.course .point-ul > li:nth-last-child(n+2) {
	margin-bottom: 40px;
}

.course .point .h3 {
	display: flex;
	margin-bottom: 10px;
	align-items: center;
}

.course .point .h3 .number {
	display: flex;
	width: 56px;
	height: 56px;
	margin: 0 4% 10px 0;
	border-radius: 50%;
	background: #fff002;
	color: #e44a51;
	font-size: 23px;
	line-height: 1;
	flex: none;
	flex-flow: column;
	justify-content: center;
	align-items: center;
}

.course .point .h3 .number::before {
	font-size: 10px;
	content: "POINT";
}

.course .point .h3 p {
	font-weight: 700;
}

.course .point .h3 p span {
	display: inline-block;
}

.course .point h3 {
	margin-bottom: 10px;
	color: #e44a51;
	font-weight: 700;
	font-size: 5.4vw;
	line-height: 1.4;
}

.course .point .strong {
	display: flex;
	margin-bottom: 15px;
	padding: 5px 10px;
	border-radius: 10px;
	background: repeating-linear-gradient(135deg, #e5535a, #e5535a 7px, #df4d54 7px, #df4d54 9px);
	color: #fff;
	font-weight: 700;
	font-size: 15px;
	text-align: center;
	justify-content: center;
	align-items: center;
}

.course .point01 .description {
	margin-bottom: 20px;
}

.course .point01 .image01 {
	display: block;
	margin: 0 auto 40px;
}

.course .point01 .flex {
	display: flex;
	align-items: center;
}

.course .point01 .text {
	max-width: 100%;
}

.course .point01 h4 {
	color: #e44a51;
	font-size: 15px;
}

.course .point01 h4:nth-child(n+2) {
	margin-top: 15px;
}

.course .point02-ul {
	display: flex;
	justify-content: space-between;
}

.course .point02-ul > li {
	width: 100%;
	max-width: 400px;
}

.course .point02 .frame {
	margin-bottom: 15px;
	padding: 10px;
	border: 2px solid #e44a51;
	border-radius: 10px;
	background: repeating-linear-gradient(135deg, #fff, #fff 7px, #f9f9f9 7px, #f9f9f9 9px);
	flex: 1 1 auto;
}

.course .point02 h4 {
	color: #e44a51;
	font-size: 20px;
	line-height: 1.8;
	text-align: center;
}

.course .point02 .problem-ul li {
	position: relative;
	padding-left: 1em;
}

.course .point02 .problem-ul li::before {
	position: absolute;
	top: 0;
	left: 0;
	content: "・";
}

.course .point02 .arrow-down {
	display: block;
	width: 35px;
	height: 35px;
	margin: 0 auto 15px;
	background: url("img/course/arrow-down.png") center center no-repeat;
	background-size: contain;
}

.course .point02 .strong {
	font-size: 14px;
	line-height: 1.4;
}

.course .point03 .description {
	margin-bottom: 20px;
}

.course .voice {
	background: repeating-linear-gradient(135deg, #f5f3ed, #f5f3ed 7px, #eeece6 7px, #eeece6 9px);
}

.course .voice .h2 {
	display: flex;
	margin-bottom: 15px;
	justify-content: center;
	align-items: flex-start;
}

.course .voice .balloon {
	display: flex;
	width: 73px;
	height: 55px;
	margin-right: 10px;
	padding-bottom: 0.5em;
	background: url("img/course/voice-balloon.png") center center no-repeat;
	background-size: contain;
	color: #fff;
	font-weight: 700;
	font-size: 15px;
	flex: none;
	justify-content: center;
	align-items: center;
}

.course .voice h2 {
	margin-bottom: 5px;
	font-size: 24px;
	color: #e44a51;
	text-align: center;
}

.course .voice .h2 p {
	padding-top: 5px;
	border-top: 2px solid #e60013;
	font-weight: 700;
	font-size: 15px;
	text-align: center;
}

.course .voice .h2 p span {
	color: #e44a51;
}

.course .voice h3 {
	margin-bottom: 15px;
	padding-left: 1.5em;
	background: linear-gradient(135deg, #e44a51 0.7em, transparent 0) center 0.5em no-repeat;
	color: #e44a51;
	font-size: 16px;
}

.course .voice ul:nth-last-child(n+2) {
	margin-bottom: 40px;
}

.course .voice li {
	overflow: hidden;
	border-radius: 4px;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.15);
}

.course .voice li:nth-last-child(n+2) {
	margin-bottom: 30px;
}

.course .voice ul .inner {
	padding: 15px 20px;
	background: #fff;
}

.course .voice .heading {
	display: flex;
	margin-bottom: 10px;
	justify-content: space-between;
	align-items: flex-start;
}

.course .voice .image {
	margin-right: 20px;
	border: 1px solid #ddd;
	border-radius: 8px;
	flex: none;
}

.course .voice .text {
	width: 100%;
	margin-right: auto;
}

.course .voice .text span {
	display: inline-block
}

.course .voice .heading .name {
	font-weight: 700;
	font-size: 15px;
}

.course .voice h4 {
	padding-top: 5px;
	border-top: 2px solid #f4f2ec;
	font-size: 16px;
	line-height: 1.4;
}

.course .voice h4 .strong {
	color: #e44a51;
}

.course .voice .result {
	margin-left: 20px;
	color: #e44a51;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
	flex: none;
}

.course .voice .result span {
	display: block;
	font-size: 17px;
	line-height: 1.2;
}

.course .voice .comment {
	overflow: hidden;
	height: 3.8em;
}

.course .voice .more {
	display: block;
	padding: 10px 0;
	background: #f8f8f8;
	text-align: center;
	cursor: pointer;
}

.course .voice .more::after {
	display: inline-block;
	width: 0.5em;
	height: 0.5em;
	margin-left: 10px;
	border-right: 2px solid #e44a51;
	border-bottom: 2px solid #e44a51;
	content: "";
	transform: translateY(-0.2em) rotate(45deg);
}

.course .voice .open .more::after {
	transform: rotate(225deg);
}

.course .faq {
	background: repeating-linear-gradient(135deg, #e1e0e0, #e1e0e0 7px, #dad9d9 7px, #dad9d9 9px);
}

.course .faq .inner {
	padding-top: 30px;
	padding-bottom: 30px;
	background: #fff;
}

.course .faq h2 {
	margin-bottom: 20px;
	font-size: 22px;
	text-align: center;
}

.course .faq ul {
	margin-bottom: 20px;
	border-top: 2px solid #f59702;
}

.course .faq li {
	position: relative;
	border-bottom: 2px solid #f59702;
}

.course .faq li::before,
.course .faq li::after {
	display: block;
	position: absolute;
	top: 1.9em;
	right: 0;
	width: 14px;
	height: 2px;
	background: #f59702;
	content: "";
	transition: 0.3s ease-in-out;
}

.course .faq li::after {
	transform: rotate(90deg);
}

.course .faq li.open::after {
	opacity: 0;
}

.course .faq ul h3 {
	position: relative;
	padding: 15px 30px 15px 3em;
	font-weight: inherit;
	cursor: pointer;
}

.course .faq ul h3::before {
	position: absolute;
	top: 10px;
	left: 0;
	color: #f59702;
	font-weight: 700;
	font-size: 30px;
	font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
	line-height: 1;
	content: "Q";
}

.course .faq ul p {
	display: none;
	position: relative;
	padding: 0 30px 15px 3em;
}

.course .faq ul p::before {
	position: absolute;
	top: 0;
	left: 0;
	color: #f59702;
	font-weight: 700;
	font-size: 30px;
	font-family: Roboto, "Helvetica Neue", Arial, sans-serif;
	line-height: 1;
	content: "A";
}

.course .faq .text {
	margin-bottom: 20px;
	font-weight: 700;
	font-size: 14px;
	text-align: center;
}

.course .faq .link {
	max-width: 500px;
	height: 47px;
	margin: auto;
	font-size: 14px;
}

.course .campaign .frame {
	margin-bottom: 30px;
	font-weight: 700;
	letter-spacing: 0;
}

.course .campaign .image {
	display: block;
	margin: 0 auto 5px;
}

.course .campaign .annotation {
	display: table;
	margin: auto;
}

.course .campaign .link-container {
	display: flex;
	flex-flow: wrap;
	justify-content: space-between;
}

.course .campaign .link {
	width: 100%;
	height: 64px;
	border-width: 4px;
}

.course .campaign .link::before {
	right: 10px;
}

.course .campaign .request-link {
	background: #e44a51;
	font-size: 14px;
}

.course .campaign .phone-link {
	font-size: 10px;
}

.course .campaign .phone-link span {
	display: block;
	position: relative;
	font-size: 20px;
	line-height: 1;
}

.course .campaign .phone-link span::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: -0.9em;
	width: 14px;
	height: 14px;
	margin: auto;
	background: url("img/course/phone.png") center center no-repeat;
	background-size: contain;
	content: "";
}

.course .school {
	background: repeating-linear-gradient(135deg, #f4f2ec, #f4f2ec 7px, #e1dfda 7px, #e1dfda 8px);
}

.course .school h2 {
	margin-bottom: 20px;
	font-size: 24px;
}

.course .school .flex {
	display: flex;
	align-items: center;
}

.course .school .text {
	max-width: 100%;
}

.course .school .text p {
	margin-bottom: 30px;
}

.course .school .text p a {
	color: #ec6c00;
	border-bottom: 1px solid #ec6c00;
}

.course .school .link {
	max-width: 300px;
	height: 42px;
}

.course .school .link:nth-last-child(n+2) {
	margin-bottom: 15px;
}

.course .school .image {
	border-radius: 8px;
}

.course .form h2 {
	margin-bottom: 20px;
	font-size: 24px;
	text-align: center;
}

.course .form .description {
	display: table;
	margin: 0 auto 20px;
}

.course .form .description span {
	color: #e44a51;
}

.course .form table {
	width: 100%;
	font-size: 15px;
	text-align: left;
}

.course .form th {
	padding: 25px 0 5px;
	white-space: nowrap;
}

.course .form .require::after {
	color: #e44a51;
	font-weight: 500;
	font-size: inherit;
	content: "＊";
}

.course .form .horizontal-item + .horizontal-item {
	margin-left: 60px;
}

.course .form input[type="radio"] {
	margin-right: 0;
}

.course .form input[type="radio"] + span {
	position: relative;
	padding-left: 30px;
}

.course .form input[type="radio"] + span::before {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 16px;
	height: 16px;
	margin: auto;
	border: 2px #dedede solid;
	border-radius: 100%;
	cursor: pointer;
	content: "";
}

.course .form input[type="radio"]:checked + span::before {
	border-color: #555;
}

.course .form input[type="radio"]:checked + span::after {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 4px;
	width: 12px;
	height: 12px;
	margin: auto;
	border-radius: 100%;
	background: #555;
	cursor: pointer;
	content: "";
}

.course .form input[type="text"],
.course .form input[type="email"],
.course .form select {
	width: 100%;
	padding: 5px 15px;
	border: 1px solid #ddd;
	border-radius: 4px;
	box-shadow: inset 0 1px 5px rgba(0, 0, 0, 0.1);
}

.course .form .mwform-zip-field {
	color: #ddd;
}

.course .form .mwform-zip-field input[type="text"] {
	width: auto;
}

.course .form .select {
	position: relative;
}

.course .form .mw_wp_form_input .select::before {
	display: block;
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	z-index: 1;
	width: 8px;
	height: 8px;
	margin: auto;
	border-right: 2px solid #999;
	border-bottom: 2px solid #999;
	content: "";
	transform: rotate(45deg);
}

.course .form .select + input {
	margin-top: 12px;
}

.course .form select {
	max-width: 240px;
}

.course .form textarea {
	width: 100%;
	padding: 10px 15px;
	border: 1px solid #ddd;
	border-radius: 4px;
	box-shadow: inset 0 1px 5px rgba(0, 0, 0, 0.1);
	line-height: 1.5;
}

.course .form .submit {
	display: block;
	position: relative;
	width: 249px;
	margin: 40px auto 0;
}

.course .form .submit::before {
	display: block;
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	z-index: 1;
	width: 5px;
	height: 5px;
	margin: auto;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	content: "";
	transform: rotate(45deg);
}

.course .form .link {
	width: 249px;
	height: 40px;
	margin: auto;
	background: #e44a51;
	font-weight: 700;
	font-size: 17px;
	letter-spacing: 0.1em;
}

.course .form .back,
.course .form .top {
	display: table;
	margin: 20px auto 0;
	border-bottom: 1px solid #555;
	background: none;
	color: #555;
	line-height: 1.4;
}

.course .form .mw_wp_form .error {
	margin: 0.4em 0 -1em;
	color: #e44a51;
}

.course footer {
	background: #1b1b1b;
	color: #fff;
}

.course footer .inner {
	display: flex;
	max-width: 1240px;
	padding-top: 10px;
	padding-bottom: 10px;
	justify-content: space-between;
	align-items: center;
}

.course footer .nav-ul {
	display: flex;
}

.course footer .nav-ul li:nth-last-child(n+2)::after {
	content: "|";
}

.course footer .nav-ul a {
	padding: 0 7px;
}

.course footer small {
	font-size: 10px;
	text-align: center;
}

@media screen and (min-width: 414px) {
.course .point h3 {
	font-size: 24px;
}
}

@media screen and (min-width: 480px) {
.course .campaign .link {
	width: 48.5%;
}
}

@media screen and (min-width: 568px) {
.course header .request br {
	display: none;
}

.course .intro .image span {
	width: 60px;
	height: 60px;
}

.course .intro .image img {
	width: 120px;
}

.course .intro .text h3 {
	font-size: 18px;
}

.course .intro .balloon {
	width: 100px;
	height: 100px;
	font-size: 17px;
}

.course .intro .balloon span {
	font-size: 15px;
}

.course .intro .arrow-up-right {
	top: -35px;
	right: 190px;
	width: 80px;
}

.course .intro .arrow-up-right::before {
	border-width: 75px;
}
}

@media screen and (min-width: 830px) {
.course {
	font-size: 16px;
	line-height: 2;
}

.course section {
	padding: 100px 0;
}

.course a[href^="tel:"] {
	pointer-events: none;
}

.course .link::before {
	right: 30px;
	width: 8px;
	height: 8px;
}

.course header {
	height: 100px;
	padding-left: 20px;
}

.course header .logo img {
	width: 396px;
}

.course header .phone {
	padding: 0 1.3em;
	font-size: 2.1vw;
}

.course header .phone span {
	font-size: 3.9vw;
}

.course header .request {
	padding: 0 0.8em;
	font-size: 2vw;
}

.course .header {
	padding-top: 40px;
	background: url("img/course/header-background.jpg") 73% 10% no-repeat;
	background-size: cover;
}

.course .header h1 {
	font-size: 45px;
}

.course .header .marker {
	font-size: 2.3vw;
}

.course .header .request {
	margin-bottom: 90px;
}

.course .header .request .balloon {
	width: 136px;
	height: 134px;
	font-size: 26px;
}

.course .header .request .text {
	font-size: 40px;
}

.course .header .h2 {
	padding-bottom: 50px;
}

.course .header .h2::before {
	height: 140%;
	max-height: 349px;
	background: url("img/course/header-h2.png") center top no-repeat;
	background-size: cover;
}

.course .header h2 {
	font-size: 44px;
}

.course .header .description {
	font-size: 20px;
}

.course .header .arrow-up-right {
	right: 150px;
	bottom: -265px;
	width: 195px;
}

.course .header .arrow-up-right::before {
	border-width: 170px
}

.course .intro li {
	padding: 35px 0;
}

.course .intro .image img {
	width: 181px;
}

.course .intro .image span {
	width: 91px;
	height: 91px;
	margin-right: -40px;
	font-size: 20px;
}

.course .intro .text h3 {
	font-size: 36px;
}

.course .intro .text p {
	font-size: 20px;
}

.course .intro .balloon {
	width: 164px;
	height: 160px;
	font-size: 30px;
}

.course .intro .balloon span {
	font-size: 24px;
}

.course .intro .arrow-up-right {
	top: 0;
	right: 105px;
	width: 145px;
}

.course .intro .arrow-up-right::before {
	border-width: 125px;
}

.course .point h2 {
	margin-bottom: 100px;
	font-size: 44px;
}

.course .point h2 .number {
	font-size: 80px;
}

.course .point h2 .unit {
	font-size: 40px;
}

.course .point-ul > li {
	padding: 0 8%;
	border-right: 4px solid #e44a51;
	border-left: 4px solid #e44a51;
	border-radius: 10px;
}

.course .point-ul > li:nth-last-child(n+2) {
	margin-bottom: 100px;
}

.course .point .h3 .number {
	width: 110px;
	height: 110px;
	font-size: 50px;
}

.course .point .h3 .number::before {
	font-size: 18px;
}

.course .point .h3 p {
	font-size: 24px;
}

.course .point h3 {
	font-size: 50px;
}

.course .point .strong {
	font-size: 30px;
}

.course .point01 .description {
	margin-bottom: 60px;
}

.course .point01 .image02 {
	width: 45%;
	margin-right: 5%;
}

.course .point01 .text {
	width: 50%;
}

.course .point01 h4 {
	font-size: 24px;
}

.course .point01 h4:nth-child(n+2) {
	margin-top: 30px;
}

.course .point02-ul {
	display: flex;
	justify-content: space-between;
}

.course .point02-ul > li {
	display: flex;
	width: 31%;
	flex-flow: column;
}

.course .point02 .frame {
	margin-bottom: 30px;
	padding: 20px 8%;
}

.course .point02 h4 {
	font-size: 40px;
}

.course .point02 .arrow-down {
	width: 75px;
	height: 74px;
	margin: 0 auto 30px;
}

.course .point02 .strong {
	font-size: 24px;
}

.course .voice .h2 {
	margin-bottom: 50px;
}

.course .voice .balloon {
	width: 168px;
	height: 123px;
	font-size: 34px;
}

.course .voice h2 {
	margin-top: 20px;
	font-size: 44px;
}

.course .voice .h2 p {
	padding-right: 30px;
	padding-left: 30px;
	font-size: 24px;
}

.course .voice ul .inner {
	padding: 40px 7.2%;
}

.course .voice h3 {
	font-size: 30px;
}

.course .voice ul:nth-last-child(n+2) {
	margin-bottom: 70px;
}

.course .voice .heading {
	margin-bottom: 20px;
}

.course .voice .heading .name {
	font-size: 20px;
}

.course .voice h4 {
	font-size: 24px;
}

.course .voice .result span {
	font-size: 30px;
}

.course .faq .inner {
	padding: 60px 6.3%;
}

.course .faq h2 {
	font-size: 44px;
}

.course .faq ul {
	margin-bottom: 30px;
}

.course .faq ul h3::before {
	font-size: 40px;
}

.course .faq ul p::before {
	font-size: 40px;
}

.course .faq .text {
	margin-bottom: 30px;
	font-size: 24px;
}

.course .faq .link {
	height: 80px;
	font-size: 24px;
}

.course .campaign .frame {
	margin-bottom: 100px;
	padding: 50px 5.2%;
	border: 4px solid #71cbbb;
	border-radius: 4px;
}

.course .campaign .annotation {
	font-size: 18px;
}

.course .campaign .link {
	height: 145px;
}

.course .campaign .link::before {
	right: 20px;
}

.course .campaign .request-link {
	font-size: 30px;
}

.course .campaign .phone-link {
	font-size: 18px;
}

.course .campaign .phone-link span {
	font-size: 4.5vw;
}

.course .campaign .phone-link span::before {
	width: 31px;
	height: 32px;
}

.course .school h2 {
	font-size: 40px;
}

.course .school .text {
	width: 42%;
	margin-right: 4%;
}

.course .school .image {
	width: 54%;
}

.course .school .link {
	height: 67px;
	font-size: 20px;
}

.course .form .frame {
	padding: 70px 8.3%;
	border: 4px solid #f59702;
	border-radius: 4px;
}

.course .form h2 {
	font-size: 40px;
}

.course .form .description {
	margin-bottom: 30px;
}

.course .form table {
	font-size: 18px;
}

.course .form tr {
	border-top: 1px solid #ddd;
}

.course .form th {
	width: 35%;
	padding: 30px 0;
}

.course .form td {
	width: 65%;
	padding: 30px 0;
}

.course .form .submit {
	width: 320px;
}

.course .form .submit::before {
	width: 8px;
	height: 8px;
}

.course .form .link {
	width: 320px;
	height: 80px;
	font-size: 24px;
}

.course footer .inner {
	height: 65px;
}

.course footer .nav-ul {
	font-size: 14px;
}

.course footer small {
	font-size: 12px;
}
}

@media screen and (min-width: 896px) {
.course .campaign .phone-link span {
	font-size: 44px;
}
}

@media screen and (min-width: 1024px) {
.course .header h1 .orange,
.course .header h1 .red {
	font-size: 86px;
}

.course .header .marker {
	font-size: 24px;
}
}

@media screen and (min-width: 1112px) {
.course header .phone {
	font-size: 24px;
}

.course header .phone span {
	font-size: 44px;
}

.course header .request {
	font-size: 23px;
}
}

@media screen and (max-width: 829.9px) {
.course header .request::after {
	display: inline-block;
	width: 5px;
	height: 5px;
	margin-left: 3px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	content: "";
	transform: rotate(45deg);
}

.course header .request img {
	display: none;
}

.course .header .description br {
	display: none;
}

.course .point01 .flex {
	flex-flow: column;
}

.course .point01 .image02 {
	margin-bottom: 20px;
}

.course .point02-ul {
	flex-flow: column;
	align-items: center;
}

.course .point02 .elementary .arrow-down,
.course .point02 .junior .arrow-down {
	display: none;
}

.course .school h2 {
	text-align: center;
}

.course .school .flex {
	flex-flow: column;
}

.course .school .text {
	margin-bottom: 30px;
}

.course .school .link {
	margin-right: auto;
	margin-left: auto;
}

.course .form th,
.course .form td {
	display: block;
}

.course .form tr:first-child th {
	padding-top: 15px;
	border-top: 1px solid #ddd;
}

.course footer .inner {
	flex-flow: column;
}

.course footer .nav-ul {
	margin-bottom: 10px;
}
}

@media screen and (max-width: 567.9px) {
.course header .phone {
	letter-spacing: normal;
}

.course header .request {
	font-size: 10px;
}

.course header .request span {
	display: none;
}

.course .header .marker-container {
	width: 45%;
}

.course .header .marker br {
	display: none;
}

.course .intro .image span {
	margin-top: -10px;
	font-size: 10px;
}

.course .intro .text p {
	font-size: 10px;
}

.course .voice .heading {
	position: relative;
	flex-flow: column;
	align-items: flex-start;
}

.course .voice .image {
	margin-bottom: 10px;
}

.course .voice .result {
	position: absolute;
	top: 10px;
	right: 10px;
}
}

@media screen and (max-width: 479.9px) {
.course .campaign .request-link {
	margin-bottom: 15px;
}
}








/* 2021/08 add */
.course .form table.request th{
	white-space: normal;
	vertical-align: top;
	padding-right: 10px;
}
.course .form table.request .selectbox,
.course .form table.request select{
	max-width:240px;
	position:relative;
}
.course .form table.request .selectbox:after{
	display:block;
	content:"";
	width:8px;
	height:8px;
	border-right:2px #999 solid;
	border-bottom:2px #999 solid;
	position:absolute;
	top:24px;
	right:23px;
	transform:translateY(-7px) rotate(45deg);
}
.course .form table.request input[type=checkbox]{
	position:absolute;
	opacity:0;
	z-index:-1;
}
.course .form table.request input[type=checkbox]+span{
	display:inline-block;
	margin:5px;
	padding-left:30px;
	letter-spacing:0;
	position:relative;
}
.course .form table.request input[type=checkbox]+span:before{
	display:block;
	content:"";
	width:18px;
	height:18px;
	border:1px #555 solid;
	border-radius:2px;
	position:absolute;
	left:0;
	top:6px;
	cursor:pointer;
}
.course .form table.request input[type=checkbox]:checked+span:before{background:#555}
.course .form table.request input[type=checkbox]:checked+span:after{
	display:block;
	content:"";
	width:6px;
	height:10px;
	border-bottom:2px #fff solid;
	border-right:2px #fff solid;
	position:absolute;
	left:6px;
	top:8px;
	transform:rotate(45deg);
	cursor:pointer;
}
.course .form table.request td #zip{
	width:120px;
	margin-bottom:12px;
}
.course .form table.request td #address,
.course .form table.request td #address2,
.course .form table.request td #address3{
	margin-top:12px;
}
.course .form table.request td #parent_name,
.course .form table.request td #parent_fname,
.course .form table.request td #parent_kana,
.course .form table.request td #parent_fkana,
.course .form table.request td #child_name,
.course .form table.request td #child_fname,
.course .form table.request td #child_kana,
.course .form table.request td #child_fkana{
	float:left;
	width:calc(50% - 5px);
}
.course .form table.request td #parent_fname,
.course .form table.request td #parent_fkana,
.course .form table.request td #child_fname,
.course .form table.request td #child_fkana{
	margin-left:10px;
}
.course .form table.request td.gray{
	padding:10px;
	background: #ddd;
	font-size: 18px;
}
/* button */
#buttonbox{
	padding:22px 0 0;
	text-align:center;
}
#buttonbox #sendBtnBox{
	width:280px;
	height:80px;
	margin:0 auto;
	background:#e44a51;
	border:1px #e44a51 solid;
	color:#fff;
	border-radius:4px;
	box-shadow: 0 3px 0 #922f34;
	position:relative;
		-webkit-transition: all .3s;
	transition: all .3s;
}
#buttonbox #sendBtnBox:hover{
	/*background:#fff;*/
	opacity: .7;
		-webkit-transition: all .3s;
	transition: all .3s;
}
#buttonbox #sendBtnBox input{
	width:280px;
	height:80px;
	color:#fff;
	background:none;
	border:0;
	font-size:16px;
	cursor:pointer;
	position:absolute;
	top:0;
	left:0;
	z-index:2;
		-webkit-transition: all .3s;
	transition: all .3s;
	outline:none;
}
.arrow{
	display:block;
	position:relative;
}
.arrow:after{
	display:block;
	content:"";
	width:6px;
	height:6px;
	border-top:2px #fff solid;
	border-right:2px #fff solid;
	position:absolute;
	top:50%;
	right:20px;
	z-index:1;
	transform:rotate(45deg) translateY(-50%);
	transform-origin:top;
}
@media screen and (max-width: 830px){
	.course .form table.request td.gray{
		font-size: 15px;
	}
	#buttonbox #sendBtnBox,
	#buttonbox #sendBtnBox input{
		height: 60px;
	}
}