@charset "UTF-8";

@import url("common.css");

div#wrapper {
	min-height: 100vh;
	background: linear-gradient(90deg, #e2edf0, #fbe2df);
}

@media screen and (min-width: 897px) {
div#container {
	text-align:left;
	width:1100px;
	margin:0 auto;
	padding:0;
	position: relative;
}
}
@media screen and (max-width: 896px) {
div#container {
	text-align:left;
	width:100%;
	margin:0 auto;
	padding:0;
}
}

@media screen and (min-width: 897px) {
h1 {
	text-align: center;
	color: #000;
	margin: 0 auto 15px auto;
	padding: 66px 0 0 0;
	font-size: 28px;
	line-height: 36px;
	font-weight: 600;
}
h2{
	text-align: center;
	color: #000;
	margin: 0 auto 15px auto;
	padding: 0;
	font-weight: 600;
	font-size: 28px;
	line-height: 36px;
	height: 30px;
}
section {
	position: relative;
	font-size: 92%;
	width: 70%;
	margin: 0 auto;
	padding: 0 0 60px 0;
}
}

@media screen and (max-width: 896px) {
h1 {
	text-align: center;
	color: #000;
	margin: 0 auto 15px auto;
	padding: 66px 0 0 0;
	font-size: 28px;
	line-height: 34px;
	font-weight: 600;
}
h2{
	text-align: center;
	color: #000;
	margin: 0 auto 15px auto;
	padding: 0;
	font-weight: 600;
	font-size: 28px;
	line-height: 34px;
	height: 24px;
}
section {
	position: relative;
	font-size: 92%;
	width: 100%;
	margin: 0 auto;
	padding: 0 0 60px 0;
}
}

@media screen and (max-width: 600px) {
h1 {
	text-align: center;
	color: #000;
	margin: 0 auto 10px auto;
	padding: 66px 0 0 0;
	font-size: 26px;
	line-height: 28px;
	font-weight: 600;
}
h2{
	text-align: center;
	color: #000;
	margin: 0 auto 10px auto;
	padding: 0;
	font-weight: 600;
	font-size: 26px;
	line-height: 28px;
	height: 24px;
}
section {
	position: relative;
	font-size: 85%;
	width: 98%;
	margin: 0 auto;
	padding: 0 0 50px 0;
}
section.wide {
	width: 100% !important;
}
}

.mid h2{
	display: inline-block;
	color: #000;
	background: none;
}

div.box {
	margin: 0 auto 45px auto;
	padding: 0;
}

p.sub_logo {
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-5.8em);
	-webkit-transform: translateX(-5.8em);
	-ms-transform: translateX(-5.8em);
}
p.sub_logo img {
	width: 48px;
	height: 26px;
}

/*トップページ-top*/
section.top .main_catch {
	width: 90%;
	margin: 20px auto 40px auto;
}
section.top .main_catch .jp {
	font-size: 150%;
	font-weight: 400;
	line-height: 1.3;
}
section.top .main_catch .en {
	font-size: 200%;
	font-weight: 400;
	margin: 20px 0 0 0;
	line-height: 1.1;
}
div.main_visual {
	width: 100%;
	margin: 0 auto;
	padding: 0 0 25px 0;
	background: #000;
}
div.main_visual .bottom {
	text-align: center;
	margin: -10px auto 0 auto;
}
div.main_visual .bottom .btn_gradetion2 {
	padding:14px 40px 14px 40px;
}

div.main_visual img {
	width: 100%;
}
@media screen and (min-width: 897px) {
div.main_visual .copy {
	color: #434343;
	font-size: 110%;
	text-align: center;
}
}
@media screen and (max-width: 896px) {
div.main_visual .copy {
	color: #434343;
	font-size: 90%;
	text-align: center;
}
}
@media screen and (max-width: 600px) {
div.main_visual .copy {
	color: #434343;
	font-size: 60%;
	text-align: center;
	margin: 5px 0 0 0;
}
}


/*PICKUP TEACHER-pickup_teacher*/
section.pickup_teacher {
	line-height: 1.4;
}
@media screen and (max-width: 800px) {
section.pickup_teacher {
	width: 100%;
}
}
section.pickup_teacher .pickup_list {
	width: 100%;
	margin: 10px auto;
}
section.pickup_teacher .pickup_list a {
	display: block;
	color: #000;
	text-decoration: none;
}
section.pickup_teacher .pickup_list ul.teacher {
	margin:0 0 30px 0;
	padding:0;
	text-align: center;
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
@media screen and (min-width: 897px) {
section.pickup_teacher .pickup_list ul.teacher li {
	width:19%;
	margin:0 1% 10px 0;
	padding:0;
}
}
@media screen and (max-width: 896px) {
section.pickup_teacher .pickup_list ul.teacher li {
	width:24%;
	margin:0 1% 10px 0;
	padding:0;
}
}
@media screen and (max-width: 600px) {
section.pickup_teacher .pickup_list ul.teacher li {
	width:32%;
	margin:0 1% 10px 0;
	padding:0;
}
}
section.pickup_teacher .pickup_list .part {
	font-size: 60%;
}
section.pickup_teacher .pickup_list .name {
	font-size: 80%;
}
section.pickup_teacher .pickup_list .pic {
	position: relative;
	width: 70%;
	margin: 0 auto;
}
section.pickup_teacher .pickup_list .pic:before {
	content: "";
	display: block;
	padding-top: 100%;
}
section.pickup_teacher .pickup_list .pic img {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	object-fit: cover;
 	border: transparent 1px solid;
	border-radius: 50%;
}

/*PICKUP TEACHER及びNEWS 掲載レッスン-#pickup_lesson*/
div.pickup_lesson_wrap {
	position: relative;
	width: 100%;
	background: #000;
	margin: 10px auto 0 auto;
	padding: 40px 0;
}
p.pickup_lesson_img img {
	width: 100%;
}
div.pickup_lesson_upper {
	color: #fff;
	line-height: 1.3;
	position: absolute;
	top: 10%;
	left: 50%;
	width: 80%;
	transform: translate(-50%, -10%);
	-webkit-transform: translate(-50%, -10%);
	-ms-transform: translate(-50%, -10%);
}
div.pickup_lesson_downer {
	color: #fff;
	line-height: 1.3;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 80%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}
p.pickup_lesson_title {
	font-size: 26px;
	text-align: center;
	font-weight: bold;
}
p.pickup_lesson_date {
	font-size: 18px;
	text-align: center;
}
p.pickup_lesson_role {
	font-size: 20px;
	text-align: center;
	font-weight: bold;
	margin: 30px 0 0 0;
}
p.pickup_lesson_name {
	font-family: a-otf-ryumin-pr6n, serif;
	font-size: 24px;
	text-align: center;
	font-weight: 200;
}
p.pickup_lesson_pref {
	font-family: a-otf-ryumin-pr6n, serif;
	font-size: 16px;
	text-align: center;
	font-weight: 200;
}


/*NEWS-news*/
section.news {
	line-height: 1.4;
}
@media screen and (max-width: 800px) {
section.news {
	width: 100%;
}
}

/*トップページ用NEWS*/
div.top_news dl {
	width: 100%;
	margin:0 auto 10px auto;
	padding:0;
	line-height:1.5;
}
div.top_news dt {
	text-align: center;
	margin:0 0 5px 0;
	color:#000;
}
div.top_news dd {
	padding: 0 0 8px 0;
	margin:0 0 15px 0;
	color:#000;
}
div.top_news dd a {
	color:#000;
}
div.top_news dd a:hover {
	color:#ff6900;
}
div.top_news dd p.ttl {	
	text-align: center;
	font-size: 115%;
	margin:0 0 5px 0;
}
div.top_news dd p.ttl a {
	color:#000;
	text-decoration:underline;
}
div.top_news dd p.ttl a:hover {
	color:#C00;
	text-decoration:none;
}
div.top_news dd .pic {
	position:relative;
	width:450px;
	height:300px;
	overflow:hidden;
	margin: 0 auto 8px auto;
}
div.top_news dd .pic img {
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	max-width:450px;
	vertical-align:middle;
}
@media screen and (max-width: 600px) {
div.top_news dd .pic {
	position:relative;
	width:90%;
	height:0;
	padding-bottom: 60.00%;
	overflow:hidden;
	margin: 0 auto 5px auto;
}
div.top_news dd .pic img {
	position:absolute;
	top:50%;
	left:50%;
	max-width: 100%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	vertical-align:middle;
}
}

div.top_news dd .v_msg {
	text-align: center;
	width:100%;
	font-size: 90%;
}
div.top_news dd .msg {
	text-align: center;
	width:100%;
	font-size: 90%;
}


/*REGISTRATION-#registration*/
section.registration {
	margin: 0 auto;
	padding: 0;
}
@media screen and (max-width: 600px) {
section.registration {
	width: 100%;
}
}
section.registration .bottom {
	text-align: center;
	margin: 0 auto;
}
section.registration .bottom .btn_gradetion {
	padding:14px 35px 14px 35px;
}
section.registration div.catch p {
	text-align: center;
	margin: 0 0 10px 0;
}
section.registration div.catch .main {
	font-size: 115%;
}
section.registration div.visual {
	position: relative;
	margin: 20px 0 0 0;
	padding: 40px 0;
	background: #000;
}
section.registration div.visual .title {
	color: #fff;
    font-size: 26px;
    text-align: center;
    font-weight: bold;
	line-height: 1.3;
	position: absolute;
	top: 10%;
	left: 50%;
	transform: translate(-50%, -10%);
	-webkit-transform: translate(-50%, -10%);
	-ms-transform: translate(-50%, -10%);
}
section.registration div.visual img {
	width: 100%;
}
@media screen and (max-width: 600px) {
section.registration div.visual .contact {
	position: absolute;
	bottom:55px;
	left:50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}
}
@media screen and (min-width: 601px) {
section.registration div.visual .contact {
	position: absolute;
	top:55%;
	left:50%;
	transform: translate(-55%, -50%);
	-webkit-transform: translate(-55%, -50%);
	-ms-transform: translate(-55%, -50%);
}
}
section.registration div.visual .contact .btn_gradetion {
	padding:14px 20px 14px 20px;
}


