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

/*--------------------------------------------共通設定*/
html {
	font-size: 62.5%;
}
body {
	position: relative;
  color: #333;
  font-size: 1.6rem;
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	margin-bottom: 1%;
}
*, *::before, *::after {
  box-sizing: border-box;
	letter-spacing: 1px;
}
a:link, a:visited, a:hover, a:active {
  color: #333;
  text-decoration: none;
}
a img:hover {
	opacity: 0.8;
}
a:hover {
	opacity: 0.8;
}
ul {
	list-style: none;
}
.flex {
	display:-webkit-box;/*--- Androidブラウザ用 ---*/
	display:-ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex;/*--- safari（PC）用 ---*/
	display: flex;
	-ms-flex-wrap:wrap;/*--- IE10用 ---*/
   -webkit-flex-wrap:wrap;/*--- safari（PC）用 ---*/
	flex-wrap: wrap;
	justify-content: space-between;
	-ms-flex-pack: justify; /*IE10*/
	-webkit-box-pack: justify; /* Android4.3以下、Safari3.1〜6.0 */
	-webkit-justify-content: space-between; /* Safari6.1以降 */
}
.clear {
	clear: both;
}
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
img {
	width: 100%;
	height: auto;
}
.relative {
	position: relative;
}
header,main,footer {
	width: 100%;
}
section {
	width: 80%;
	margin:0 auto 5%;
}
.pcNone {
	display: none;
}
.textRed {
	color: #ff3939;
	font-weight: bold;
}
/*--------------------------------------------header*/
header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding: 0.5% 5%;
	z-index: 999;
	color: #fff;
}
header h1 {
	width: 15%;
}
header nav {
	width: 80%;
}
header nav ul.flex {
	padding: 2% 0;
	justify-content: flex-end;
}
header nav ul li {
	padding: 0.5% 1% ;
	border-right: solid #fff 2px;
	width: auto;
}
header nav ul li:last-child {
	border-right: none;
}
header nav ul li a:link {
	color: #fff;
	text-align: center;
	font-size: 1.8rem;
}
header nav ul li a:hover {
	color: #baff81;
}
/*--------------------------------------------catch*/
section.catchWrap {
	width: 100%;
}
.catchCopy {
	background: url(../image/top.jpg) no-repeat;
	background-position: center center;
	background-size: cover;
}
.catchCopy h2 {
	font-size: 4.5rem;
	text-align: center;
	padding: 15% 5% 3%;
	color: #fff;
	letter-spacing: 2px;
	line-height: 2;
}
.catchCopy h3 {
	text-align: center;
	padding: 0 35%;
	margin-bottom: 1%;
}
.button {
	width: 100%;
	margin-bottom: 3%;
	text-align: center;
	padding: 0 0 10%;
}
.button a {
	padding: 1% 2%;
	background: linear-gradient(90deg,#0ab300,#ffcb00);
	border-radius: 60px;
	text-shadow: 0px 0px 4px #fff,0px 0px 4px #fff,0px 0px 4px #fff,0px 0px 4px #fff,0px 0px 4px #fff,0px 0px 4px #fff,0px 0px 4px #fff,0px 0px 4px #fff,0px 0px 4px #fff;
	font-size: 2rem;
	font-weight: bold;
	vertical-align: middle;
}
.button a span {
	color: #ff5454;
}

/*--------------------------------------------About*/
section h2.sectionTitle {
	font-weight: bold;
	font-size: 2.4rem;
	padding-left: 2.5%;
	line-height: 2;
	background: url("../image/tLogo.png") no-repeat;
	background-position: left center;
	background-size: 2%;
	margin-bottom: 1%;
}
section>p {
	font-size: 2rem;
	letter-spacing: 1px;
	line-height: 1.5;
	text-align: center;
	margin-bottom: 1%;
}
div.point {
	padding: 1% 5%;
	margin-bottom: 2%;
	justify-content: center;
}
.pointItem {
	width: 25%;
	padding: 3% 2%;
	border-radius: 30px;
	background-color: #f8fff2;
	box-shadow: 2px 2px 6px rgb(0,0,0,0.4);
	text-align: center;
	margin: 2%;
}
.pointItem h3 {
	text-align: center;
	font-weight: bold;
	font-size: 3rem;
	color: #58b601;
}
.pointItem img {
	width: 60%;
}
.pointItem p {
	line-height: 1.5;
	letter-spacing: 1px;
	font-size: 1.6rem;
	font-weight: bold;
}

/*--------------------------------------------Lesson*/
div.lessonMenu {
	padding: 1% 2%;
	justify-content: center;
}
.lessonMenu .lessonItem {
	width: 40%;
	padding: 3%;
	border-radius: 30px;
	border: solid 3px #a3d773;
	margin: 3%;
}
.lessonMenu .lessonItem.high {
	border: solid 3px #308dff;
}
.lessonMenu .lessonItem.private {
	border: solid 3px #ff8e14;
}
.lessonMenu .lessonItem.onsite {
	border: solid 3px #ff5d5d;
}
.lessonMenu p {
	width: 100%;
	text-align: center;
	line-height: 1.5;
	letter-spacing: 1px;
	font-size: 2rem;
	margin-bottom: 3%;
}
.lessonTitle {
	position: absolute;
	top: -7%;
	left: -5%;
	background-color: #fff;
	z-index: 9;
	font-size: 3rem;
	font-weight: bold;
	padding: 2%;
}
.check {
	font-size: 2rem;
	line-height: 1.5;
	letter-spacing: 1px;
	margin-bottom: 2%;
}

.check li {
	padding-left: 6%;
	background: url("../image/check.png") no-repeat;
	background-position: left center;
	background-size: 5%;
	margin-bottom: 1%;
}
.check li.caution {
	color: #ff3939;
}
.date,.time {
	padding: 1% 3% 0;
	font-size: 2.4rem;
	text-align: center;
	color: #4b4b4b;
}
.lessonItem dt,.lessonItem dd {
	display: inline-block;
	letter-spacing: 3px;
	margin-bottom: 1%;
	line-height: 2;
}
.lessonItem dt {
	font-weight: bold;
	padding-left: 10%;
}
.lessonItem .date dt {
	background: url("../image/time.png") no-repeat;
	background-position: left center;
	background-size: 20%;
}
.lessonItem .date dd {
	width: 100%;
}
.lessonItem .time {
	justify-content: center;
}
.lessonItem .time dt {
	text-align: left;
	width: 37%;
	background: url("../image/time.png") no-repeat;
	background-position: left center;
	background-size: 20%;
	margin-right: 3%;
}
.lessonItem .time dd {
	width: 40%;
}
/*--------------------------------study*/
div.study {
	padding: 3%;
	border-radius: 30px;
	background-color: #f8fff2;
	box-shadow: 2px 2px 6px rgb(0,0,0,0.4);
	width: 80%;
	margin: 0 auto;
}
.study h3 {
	font-size: 2.4rem;
	line-height: 2;
	letter-spacing: 3px;
	text-align: center;
	margin-bottom: 2%;
}
.study h3 span {
	font-size: 3rem;
}
.sturdyContant {
	align-items: center;
}
.sturdyContant img.studyImg {
	width: 50%;
	border: solid 4px #58b601;
}
.sturdyContant p {
	width: 48%;
	line-height: 2;
	letter-spacing: 3px;
	font-size: 2rem;
}
.sturdyContant img.galleryImg {
	width: 100%;
	border: solid 10px #fff;
	margin-top: 5%;
}
/*--------------------------------------------coach*/
div.coach {
	width: 70%;
	margin: 0 auto;
	align-items: center;
}
.coach img {
	width: 30%;
	margin-right: 3%;
	height: calc(100vw*0.18);
}
.coach .coachIntro {
	width: 60%;
	justify-content: center;
}
.coach h3 {
	font-size: 2.4rem;
	line-height: 2;
	letter-spacing: 3px;
}
.coach h3 span {
	font-size: 3rem;
	color: #58b601;
}
.coach dl {
	justify-content: flex-start;
	padding: 3%;
}
.coach dl>* {
	line-height: 1.5;
	letter-spacing: 3px;
	font-size: 2rem;
	vertical-align: middle;
}
.coach dl dt {
	width: 60%;
}
.coach dl dd {
	width: 38%;
	font-weight: bold;
}
/*--------------------------------------------faq*/
.faqContent {
	width: 60%;
	margin:  0 auto;
}
.faqItem {
	margin-bottom: 2%;
}
.faqItem>* {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.2;
	letter-spacing: 2px;
}
.faqItem dt::before {
	content: "Q.";
	font-size: 2.5rem;
	color: #ff8814;
	margin-right: 1%;
}
.faqItem dt {
	padding: 2% 5%;
	border-radius: 60px;
	background-color: #baff81;
	font-size: 2rem;
	font-weight: bold;
}
.faqItem dd::before {
	content: "A.";
	font-size: 2.5rem;
	color: #3c9200;
	margin-right: 1%;
	position: absolute;
	top: -5px;
	left: 5%;
}
.faqItem dd {
	padding-left: 10%;
	margin-top: 1%;
	
}
/*--------------------------------------------footer*/
div.footerContent {
	justify-content: center;
}
div.footerContent iframe {
	width: 30%;
	height: calc(100vw*0.2);
	margin-right: 3%;;
}
.footerItem {
	width: 45%;
}
.footerItem>* {
	line-height: 1.5;
	letter-spacing: 2px;
	font-size: 2rem;
	margin-bottom: 1%;
}
.footerItem h3 {
	font-size: 2.4rem;
	font-weight: normal;
	margin-bottom: 2%;
}
.footerItem p a:link {
	color: #4bb401;
}
.line {
	padding: 1%;
	justify-content: flex-start;
	align-items: center;
}
.line a {
	width: 20%;
}
.line p {
	width: 70%;
	padding-left: 5%;
	color: #0dac4e;
	font-weight: bold;
}
.line p span {
	color: #ff8814;
}
.privacyPolicy, address {
	text-align: center;
}
.privacyPolicy a:link {
	color: #58b601;
}
/*--------------------------------------------privacy*/
.privacyWrap header {
	background-color: #888;
}
.privacyWrap main {
	padding-top: 10%;
}
.privacyWrap article>*{
	font-size: 2rem;
	line-height: 1.5;
	letter-spacing: 1px;
	margin-bottom: 2%;
}