@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans|Noto+Serif');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@700&display=swap');


/*  ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
PC
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  */
@media screen and (min-width: 768px) {

	/* ------------------------------
	 display
	------------------------------ */
	.sp {
		display: none;
	}

	/* ------------------------------
	 style
	------------------------------ */
	.heading {
		font-family: 'Oswald', sans-serif;
		font-weight: 700;
		text-align: center;
		line-height: 1;
		font-size: 50px;
		margin-bottom: 60px;
	}
	.heading2 {
		font-size: 36px;
		font-weight: bold;
		line-height: 1.5;
		margin-bottom: 30px;
	}
	
	.btn {
		background: #e72176;
		width: 140px;
		margin: 0 auto;
		padding: 14px 0 15px 5px;
		position: relative;
		text-align: center;
		transform: skew(-15deg);
		font-family: 'Oswald', sans-serif;
		font-weight: 700;		
	}
	.btn a {
		text-decoration: none;
		color: #fff;
		font-weight: bold;
		transform: skew(15deg);
		display: block;
	}

	/* ------------------------------
	 header
	------------------------------ */
	header {
		display: flex;
		justify-content: space-between;
		position: relative;
		z-index: 999;
	}
	header h1 img {
		width: 130px;
		height: auto;
		margin-right: 20px;
	}
	header h1 a {
		display: flex;
		align-items: center;
		color: #fff;
	}
	header h1 span img {
		width: 160px;
		height: auto;
	}

	/* ------------------------------
	 gnav
	------------------------------ */
	ul.gnav {
		display:flex;
	}
	ul.gnav li {
		font-size: 1.1vw;
		font-family: 'Oswald', sans-serif;
		font-weight: 700;
		line-height: 72px;
	}
	ul.gnav li:not(:first-child) {
		margin-left: 40px;
	}
	ul.gnav li:not(:last-child) {
		text-shadow: 0 0 6px rgba(0,0,0,0.6);
	}
	ul.gnav a {
		color: #fff;
	}
	ul.gnav li:last-child {
		background:url(../img/bg_grd3.png) no-repeat top left;
		background-size: auto 72px;
		padding: 0 50px 0 70px;
	}

	/* ------------------------------
	 index
	------------------------------ */
	.kv {
		height: 100vh;
		background: url(../img/bg_kv.jpg) no-repeat center;
		background-size: cover;
		position: relative;
	}
	.kv::before {
		content: "";
		background: url(../img/bg_header.png) no-repeat left top;
		background-size: 800px auto;
		display: block;
		position: absolute;
		left:0;
		top:0;
		width: 800px;
		height: 605px;
	}
	.kv .copy {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		width: 100%;
		text-align: center;
		color: #fff;
	}
	.kv .copy p:first-child {
		font-family: 'Oswald', sans-serif;
		font-weight: 700;
		font-size: 80px;
		line-height: 1.2;
		letter-spacing: 0.15em;
		margin-bottom: 30px;
	}
	.kv .copy p:last-child {
		background: url(../img/bg_grd1.png) no-repeat center;
		background-size: 420px 63px;
		line-height: 63px;
		font-size: 22px;
	}

	.top-topics {
		padding: 140px 0;
	}
	.top-topics .inner {
		padding: 0 50px 20px 50px;
		background: -webkit-linear-gradient(transparent 10%, #000 10%);
		background: -o-linear-gradient(transparent 10%, #000 10%);
		background: linear-gradient(transparent 10%, #000 10%);
	}
	
	.top-news {
		padding-bottom: 100px;	
		width: 1280px;
		margin: 0 auto;
		position: relative;		
	}
	.top-news p.btn {
		position: absolute;
		right: 0;
		top:0;
	}

	.top-feature-1 {	
		width: 90%;
		margin: 0 auto 140px auto;
		display: flex;
	}	
	.top-feature-1 .bg {
		width: 80%;
		height: 640px;
		background: url(../img/bg1.jpg) no-repeat center;
		background-size: cover;
		display: block;
	}
	.top-feature-1 .txt {
		width: 60%;
		margin-top: 20%;
		margin-left: -20%;
	}
	.top-feature-1 .txtInner {
		background-image: -moz-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);
		background-image: -webkit-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);
		background-image: -ms-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);	
		box-sizing: border-box;
		padding: 80px;
		color: #fff;
	}
	
	.top-feature-2 {	
		width: 90%;
		margin: 0 auto 140px auto;
		display: flex;
		flex-direction: row-reverse;
	}	
	.top-feature-2 .bg {
		width: 80%;
		height: 640px;
		background: url(../img/bg2.jpg) no-repeat center;
		background-size: cover;
		display: block;
	}
	.top-feature-2 .txt {
		width: 60%;
		margin-top: 20%;
		margin-right: -20%;
	}
	.top-feature-2 .txtInner {
		background-image: -moz-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);
		background-image: -webkit-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);
		background-image: -ms-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);	
		box-sizing: border-box;
		padding: 80px;
		color: #fff;
	}
	
	.top-lesson {
		margin-bottom: 140px;
	}
	.top-lesson .inner {
		display: flex;
		justify-content: space-between;
		width: 1280px;
		margin: 0 auto;
	}
	.top-lesson .inner > * {
		width: 48%;
	}
	.top-lesson h3 {
		font-size: 20px;
		color: #e72176;
		margin-bottom: 20px;
		text-decoration: underline;
	}
	.top-lesson p:first-of-type {
		margin-bottom: 20px;
	}
	
	.top-instructor {
		margin-bottom: 140px;
	}
	.top-instructor ul {
		display: flex;
		justify-content: space-between;
		width: 1280px;
		margin: 0 auto;
		flex-wrap: wrap;
	}
	.top-instructor ul li {
		width: 30%;
		margin-bottom: 3%;
		font-family: 'Lato', sans-serif;
		font-weight: 900;
		font-size: 12px;			
	}
	.top-instructor ul li img {
		width: 100%;
		height: auto;
		margin-bottom: 15px;
	}
	.top-instructor ul li span {
		display: block;
		font-family: 'Oswald', sans-serif;
		font-weight: 700;		
	}
	.top-instructor ul li i {
		display: block;
		font-size: 9px;
		color: #999;
		font-style:normal;
	}
	.top-instructor ul li:last-child {
		background-image: -moz-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);
		background-image: -webkit-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);
		background-image: -ms-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);	
		position: relative;
		font-size: 20px;
		white-space: nowrap;
	}
	.top-instructor ul li:last-child a {
		display: block;
		font-family: 'Lato', sans-serif;
		font-weight: 900;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);		
		color: #fff;
		width: 33%;
	}
	
	.top-about {
		margin-bottom: 140px;
	}
	.top-about .inner {
		width: 1280px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
	}
	.top-about .map {
		width: 460px;
	}
	.top-about .txt {
		width: 760px;
	}
	.top-about dl {
		margin-bottom: 30px;
	}
	
	.cv {
		background: url(../img/bg3.jpg) no-repeat center;
		background-size: cover;
		padding: 100px 0;
	}
	.cv p:first-child {
		font-size: 24px;
		font-weight: bold;
		margin-bottom: 40px;
		text-align: center;
		color: #fff;
	}
	.cv p:last-child {
		background: url(../img/bg_grd2.png) no-repeat center;
		background-size: 560px 97px;
		line-height: 97px;
		font-family: 'Oswald', sans-serif;
		font-weight: 700;
		text-align: center;
		font-size: 24px;
		width: 560px;
		margin: 0 auto;
	}
	.cv a {
		color: #fff;
		display: block;
	}

	/* ------------------------------
	 about
	------------------------------ */
	table {
		width: 100%;
		border-collapse: collapse;
		border:solid 1px #ccc;
	}
	table th{
		background: #fafafa;
	}
	table th,
	table td{
		padding: 10px;
		border: solid 1px #ccc;
		vertical-align: middle!important;	
		box-sizing: border-box;
	}
	table td {
		text-align: center;
	}
	table strong {
		color: #e72176;
	}
	.about dl {
		width: 100%;
	}
	.cv2 {
		background-image: -moz-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);
		background-image: -webkit-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);
		background-image: -ms-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);
		color: #fff;
		display: flex;
		justify-content: space-between;
		padding: 30px 50px;
		align-items: center;
	}
	.cv2 a {
		background: #fff;
		width: 200px;
		text-align: center;
		display: block;
		padding: 15px 30px;
		font-size: 16px;
		font-weight: bold;
	}
	.cv2 p {
		margin-bottom: 0!important;
	}
	
	/* ------------------------------
	 instructor
	------------------------------ */
	.staff {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.staff img {
		width: 100%;
		height: auto;
		margin-right: 0!important;
		margin-bottom: 20px;
	}
	.staff {
		display: flex;
		justify-content:flex-start;
		flex-wrap: wrap;
	}	
	.staff img {
		width: 100%!important;
		height: auto!important;
		margin-right: 0!important;
		margin-bottom: 10px!important;
	}
	.staff > * {
		width: 30%;
		margin: 0 1.5% 6% 1.5%;
	}
	.staff span {
		display: block;
		font-family: 'Oswald', sans-serif;
		font-weight: 700;
		font-size:18px;
	}
	.staff i {
		display: block;
		font-size: 9px;
		color: #999;
		font-style:normal;
	}	
	.staff dl dt {
		margin-bottom: 10px;
	}
	
	/* ------------------------------
	 lesson
	------------------------------ */
	table.time th {
		width: calc(100% / 8);
		font-size: 12px;
	}
	table.time td {
		font-size: 11px;
	}
	.price1 {
		background: rgba(154,186,242,0.2);
	}
	.price2 {
		background: rgba(255,0,255,0.1);
	}
	.team {
		background: rgba(255,255,0,0.2);
	}
	.unit {
		background: rgba(100,255,0,0.1);
	}
	.other {
		background: #fafafa;
	}
	.school th {
		width: calc(100% / 7);
		font-size: 12px;
	}
	.school td {
		text-align: left;
		font-size: 11px;
	}
	.sdimc h4 {
		font-size: 120%;
		color: #e72176;
		margin-bottom: 10px;
	}
	.sdimc ul {
		font-weight: bold;
	}
	.voice {
		background: #fafafa;
		border: solid 1px #ccc;
		padding: 20px;
		box-sizing: border-box;
	}
	
	/* ------------------------------
	 kv_second
	------------------------------ */
	.kv_second {
		background:url(../img/bg_kv.jpg) no-repeat center;
		background-size:cover;
	}
	.kv_second div {
		background:rgba(0,0,0,0.6);
	}
	.kv_second h2 {
		color:#fff;
		font-size: 44px;
		line-height: 1;
		text-align:center;
		font-family: 'Oswald', sans-serif;
		font-weight: 700;
		padding: 40px 0 100px 0;
	}

	/* ------------------------------
	 footer
	------------------------------ */
	footer {
		padding: 60px 0;
		background: #000;
		color:#fff;
	}
	footer a {
		color:#fff;
	}
	footer .inner {
		display: flex;
		justify-content: space-between;
		width: 1280px;
		margin: 0 auto;
		align-items: center;
	}
	footer p.logo img {
		width: 130px;
		height: auto;
		margin-right: 20px;
	}
	footer p.logo {
		margin-bottom: 20px;
	}
	footer p.logo a {
		display: flex;
		align-items: center;
		color: #fff;
	}
	footer p.logo span img {
		width: 160px;
		height: auto;
	}	
	footer dl {
		display: flex;
		flex-wrap: wrap;
		font-size: 12px;
	}
	footer dl dt {
		width: 20%;
		padding: 5px 0;
	}
	footer dl dd {
		width: 80%;
		padding: 5px 0;
	}
	.fnav {
		display: flex;
		flex-wrap: wrap;
		width: 560px;
		margin-bottom: 30px;
	}
	.fnav li {
		width: 25%;
		font-family: 'Oswald', sans-serif;
		font-weight: 700;
		font-size: 12px;
		margin-bottom: 10px;
		text-align: right;
	}
	footer small {
		display: block;
		font-size: 12px;
		font-family: 'Oswald', sans-serif;
		font-weight: 700;
		text-align: right;
	}	
	.sns {
		margin-bottom: 60px;
		display: flex;
		margin-left: auto;

		width: auto;
	}
	.sns li {
		text-align:right;
		font-size: 28px;
		line-height: 1;
	}
	.sns li:first-child {
		text-align:right;
		width: 92%;
	}
	.sns li:last-child {
		text-align:right;
		width: 8%;
	}	

	/* ------------------------------
	 second
	------------------------------ */
	.second {
		margin: 80px auto 100px auto;
		width:980px;
	}
	.second-nrw {
		margin: 50px auto 70px auto;
		width: 800px;
	}
	.second div.inner,
	.second-nrw div.inner {
		display: flex;
		margin-bottom: 60px;
	}
	.second div.inner figure img,
	.second-nrw div.inner figure img{
		height: auto;
		margin-bottom: 0 !important;
		margin-right: 35px;
		width: 300px;
	}
	.second figure,
	.second-nrw figure{
		text-align: center;
	}
	.second figure img,
	.second-nrw figure img{
		height: auto;
		margin-bottom: 25px;
		width: 640px;
	}
	.second p,
	.second-nrw p{
		margin-bottom: 60px;
	}

	/* ------------------------------
	 link
	------------------------------ */
	a[href^="tel:"] {
		pointer-events: none;
	}
	dl.info dd.tel a{
	text-decoration: none!important;
	}
	a {
		text-decoration: none;
		-webkit-transition: 0.3s ease-in-out;  
		-moz-transition: 0.3s ease-in-out;  
		-o-transition: 0.3s ease-in-out;  
		transition: 0.3s ease-in-out; 
	}
	a:hover {
		opacity: 0.4;  
		filter: alpha(opacity=60);  
	} 

	/* ------------------------------
	 shop-info
	------------------------------ */
	dl.info dt {
		clear: both;
		float: left;
		font-weight: bold;
		padding: 12px 0 12px 1.2%;
		width: 23.8%;
		white-space: nowrap;
	}
	dl.info dd {
		padding: 12px 0 12px 27%;
	}
	dl.info dd:last-child {
		border-bottom: none;
	}
	dl.info a { 
		text-decoration: underline!important;
	}

	/* ------------------------------
	 pagetop
	------------------------------ */
	#page-top {
		bottom: 20px;
		right: 15px;	
		font-size: 48px;
		line-height: 1;
		position: fixed;
		z-index: 9999;
	}
}


/*  ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Mobile
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------  */
@media screen and (max-width: 767px) {

	/* ------------------------------
	 display
	------------------------------ */
	.pc {
		display: none;
	}

	/* ------------------------------
	 gnav
	------------------------------ */
	.drawer-hamburger-icon,
	.drawer-hamburger-icon:before,
	.drawer-hamburger-icon:after {
		background-color: #fff;
	}
	.drawer-nav {
		background-color: #e72176;
	}
	.drawer-hamburger {
		background: #e72176!important;
		z-index: 9999!important;
	}

	/* ------------------------------
	 header
	------------------------------ */
	button { 
		margin:0;
	} 
	button span {
		color: #fff;
	} 
	header {
		background: #000;
	}
	header h1 {
		line-height: 1;
	}
	header h1 img {
		width: auto;
		height: 60px;
		margin-right: 3px;
	}
	header h1 a {
		display: flex;
		align-items: center;
		color: #fff;
	}
	header h1 span img {
		width: 120px;
		height: auto;
	}	

	/* ------------------------------
	 kv_second
	------------------------------ */
	.kv_second {
		background:url(../img/bg_kv.jpg) no-repeat center;
		background-size:cover;
	}
	.kv_second div {
		background:rgba(0,0,0,0.6);
	}
	.kv_second h2 {
		color:#fff;
		font-size: 9vw;
		line-height: 1;
		text-align:center;
		font-family: 'Oswald', sans-serif;
		font-weight: 700;
		padding: 16vw 0;
	}

	/* ------------------------------
	 style
	------------------------------ */
	.heading {
		font-family: 'Oswald', sans-serif;
		font-weight: 700;
		text-align: center;
		line-height: 1;
		font-size: 11vw;
		margin-bottom: 60px;
	}
	.heading2 {
		font-size: 8vw;
		font-weight: bold;
		line-height: 1.5;
		margin-bottom: 20px;
	}
	
	.btn {
		background: #e72176;
		width: 140px;
		margin: 0 auto;
		padding: 14px 0 15px 5px;
		position: relative;
		text-align: center;
		transform: skew(-15deg);
		font-family: 'Oswald', sans-serif;
		font-weight: 700;		
	}
	.btn a {
		text-decoration: none;
		color: #fff;
		font-weight: bold;
		transform: skew(15deg);
		display: block;
	}

	/* ------------------------------
	 index
	------------------------------ */
	.kv {
		height: 100vh;
		background: url(../img/bg_kv.jpg) no-repeat center;
		background-size: cover;
		position: relative;
	}
	.kv .copy {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		width: 100%;
		text-align: center;
		color: #fff;
	}
	.kv .copy p:first-child {
		font-family: 'Oswald', sans-serif;
		font-weight: 700;
		font-size: 9vw;
		line-height: 1.2;
		letter-spacing: 0.15em;
		margin-bottom: 30px;
	}
	.kv .copy p:last-child {
		background: url(../img/bg_grd1.png) no-repeat center;
		background-size: 320px 48px;
		line-height: 48px;
		font-size: 18px;
	}

	.top-topics {
		padding: 140px 0;
	}
	.top-topics .inner {
		padding: 0 30px 0 30px;
		background: -webkit-linear-gradient(transparent 10%, #000 10%);
		background: -o-linear-gradient(transparent 10%, #000 10%);
		background: linear-gradient(transparent 10%, #000 10%);
	}
	
	.top-news {
		padding-bottom: 100px;	
	}

	.top-feature-1 {	
		width: 90%;
		margin: 0 auto 40px auto;
	}	
	.top-feature-1 .bg {
		width: 100%;
		height: 60vw;
		background: url(../img/bg1.jpg) no-repeat center;
		background-size: cover;
		display: block;
	}
	.top-feature-1 .txt {
		width: 100%;
	}
	.top-feature-1 .txtInner {
		background-image: -moz-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);
		background-image: -webkit-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);
		background-image: -ms-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);	
		box-sizing: border-box;
		padding: 30px;
		color: #fff;
	}
	
	.top-feature-2 {	
		width: 90%;
		margin: 0 auto 140px auto;
	}	
	.top-feature-2 .bg {
		width: 100%;
		height: 60vw;
		background: url(../img/bg2.jpg) no-repeat center;
		background-size: cover;
		display: block;
	}
	.top-feature-2 .txt {
		width: 100%;
	}
	.top-feature-2 .txtInner {
		background-image: -moz-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);
		background-image: -webkit-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);
		background-image: -ms-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);	
		box-sizing: border-box;
		padding: 30px;
		color: #fff;
	}
	
	.top-lesson {
		margin-bottom: 140px;
		padding: 0 20px;
	}
	.top-lesson .inner > *:not(:last-of-type) {
		margin-bottom: 30px;
	}
	.top-lesson h3 {
		font-size: 20px;
		color: #e72176;
		margin-bottom: 20px;
		text-decoration: underline;
		padding: 0 20px;
	}
	.top-lesson p:first-of-type {
		margin-bottom: 20px;
		padding: 0 20px;
	}
	
	.top-instructor {
		margin-bottom: 140px;
		padding: 0 20px;
	}
	.top-instructor ul {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.top-instructor ul li {
		width: 48%;
		margin-bottom: 6%;
		font-family: 'Lato', sans-serif;
		font-weight: 900;
		font-size: 12px;			
	}
	.top-instructor ul li img {
		width: 100%;
		height: auto;
		margin-bottom: 10px;
	}
	.top-instructor ul li span {
		display: block;
	}
	.top-instructor ul li i {
		display: block;
		font-size: 9px;
		color: #999;
		font-style:normal;
	}
	.top-instructor ul li:last-child {
		background-image: -moz-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);
		background-image: -webkit-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);
		background-image: -ms-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);	
		position: relative;
		font-size: 12px;
		white-space: nowrap;
	}
	.top-instructor ul li:last-child a {
		display: block;
		font-family: 'Lato', sans-serif;
		font-weight: 900;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);		
		color: #fff;
	}
	
	.top-about {
		margin-bottom: 140px;
		padding: 0 20px;
	}
	.top-about .map {
		margin-bottom: 20px;
	}
	.top-about dl {
		margin-bottom: 30px;
	}
	
	.cv {
		background: url(../img/bg3.jpg) no-repeat center;
		background-size: cover;
		padding: 100px 0;
	}
	.cv p:first-child {
		font-size: 5vw;
		font-weight: bold;
		margin-bottom: 40px;
		text-align: center;
		color: #fff;
	}
	.cv p:last-child {
		background: url(../img/bg_grd2.png) no-repeat center;
		background-size: auto 15vw;
		line-height: 20vw;
		font-family: 'Oswald', sans-serif;
		font-weight: 700;
		text-align: center;
		font-size: 5vw;
		margin: 0 auto;
	}
	.cv a {
		color: #fff;
		display: block;
	}
	
	/* ------------------------------
	 about
	------------------------------ */
	table {
		width: 100%;
		border-collapse: collapse;
		border:solid 1px #ccc;
	}
	table th{
		background: #fafafa;
	}
	table th,
	table td{
		padding: 10px;
		border: solid 1px #ccc;
		vertical-align: middle!important;
	}
	table td {
		text-align: center;
	}
	table strong {
		color: #e72176;
	}
	.about dl {
		width: 100%;
		margin-bottom: 60px;
	}
	.cv2 {
		background-image: -moz-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);
		background-image: -webkit-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);
		background-image: -ms-linear-gradient( 130deg, rgb(107,4,245) 0%, rgb(229,33,121) 100%);
		color: #fff;
		padding: 30px 30px;
		align-items: center;
	}
	.cv2 p:first-child {
		text-align: center;
		margin-bottom: 30px!important;
	}
	.cv2 a {
		background: #fff;
		text-align: center;
		display: block;
		padding: 15px 30px;
		font-size: 16px;
		font-weight: bold;
	}
	.cv2 p:last-child {
		margin-bottom: 0!important;
	}
	
	/* ------------------------------
	 instructor
	------------------------------ */
	.staff img {
		width: 100%;
		height: auto;
		margin-right: 0!important;
		margin-bottom: 20px;
	}
	.staff {
		display: flex;
		justify-content:flex-start;
		flex-wrap: wrap;
	}	
	.staff img {
		width: 100%!important;
		height: auto!important;
		margin-right: 0!important;
		margin-bottom: 10px!important;
	}
	.staff > * {
		margin: 0 0 20% 0;
	}
	.staff span {
		display: block;
		font-family: 'Oswald', sans-serif;
		font-weight: 700;
		font-size:18px;
	}
	.staff i {
		display: block;
		font-size: 9px;
		color: #999;
		font-style:normal;
	}	
	.staff dl dt {
		margin-bottom: 10px;
	}
	
	/* ------------------------------
	 lesson
	------------------------------ */
	table.time {
		width: 800px;
	}
	table.time th {
		width: 100px!important;
	}
	table.time td {
		font-size: 10px;
		padding: 5px;
		
	}
	.price1 {
		background: rgba(154,186,242,0.2);
	}
	.price2 {
		background: rgba(255,0,255,0.1);
	}
	.team {
		background: rgba(255,255,0,0.2);
	}
	.unit {
		background: rgba(100,255,0,0.1);
	}
	.other {
		background: #fafafa;
	}
	.scroll-table {
		overflow: scroll;
        font-size: 10px!important;
	}	
	table.school {
		width: 840px;
		font-size: 10px!important;
	}
	.school th {
		width: 120px!important;
		white-space: nowrap;
		padding: 5px 10px;
		-webkit-text-size-adjust:none;
	}
	.school td {
		text-align: left;
		font-size: 10px!important;
		padding: 5px 10px;
		-webkit-text-size-adjust:none;
	}	

	/* ------------------------------
	 footer
	------------------------------ */
	footer {
		padding: 30px 0;
		background: #000;
		color:#fff;
	}
	footer a {
		color:#fff;
	}
	footer p.logo img {
		width: 40vw;
		height: auto;
	}
	footer p.logo {
		margin-bottom: 20px;
		text-align: center;
	}
	footer p.logo a {
		color: #fff;
	}
	footer p.logo span {
		display: block;
		text-align: center;
	}
	footer p.logo span img {
		margin-top: 10px;
	}	
	footer dl {
		font-size: 12px;
		margin: 0 20px;
		text-align: center;
		margin: 0 auto 30px auto;
	}
	footer small {
		display: block;
		font-size: 12px;
		font-family: 'Oswald', sans-serif;
		font-weight: 700;
		text-align: center;
	}	
	.sns {
		margin-bottom: 60px;
		display: flex;
		justify-content: center;
	}
	.sns li {
		font-size: 10vw;
		line-height: 1;
		margin: 0 20px;
	}

	/* ------------------------------
	 second
	------------------------------ */
	.second,
	.second-nrw {
		margin: 30px 20px 40px 20px;
	}
	.second figure img,
	.second-nrw figure img{
		height:auto;
		width: 100%;
		margin-bottom: 18px;
	}
	.second p,
	.second-nrw p {
		margin-bottom: 40px;	
	}

	/* ------------------------------
	 drawer-hamburger　
	------------------------------ */
	.drawer-nav {
		color:#fff;
		z-index:9999;
	}
	.drawer-nav ul li {
		border-bottom:1px solid rgba(255,255,255,0.2);
		font-family: 'Oswald', sans-serif;
		font-weight: 700;	
	}
	.drawer-nav ul li:last-child a:before {
		content: "";
	}
	.drawer-nav ul li a {
		color: #fff;
		display: block;
		padding:17px 15px;	
	}
	.drawer-nav ul li:last-child {
		border-bottom: none;
		font-size: 24px;
		line-height:0.4;
		padding-top:30px;
		padding-bottom: 40px;
		text-align:center;
	}
	.drawer-nav ul li:last-child span {
		display: block;
		font-size: 11px!important;
		font-weight: normal;
		margin-left: 17px;
		letter-spacing: 0.1em;
	}
	.drawer-nav ul li:last-child i {
		font-size: 15px;
		margin-right: 1px;
		vertical-align: 4px;
	}

	/* ------------------------------
	 shop-info
	------------------------------ */
	dl.info dt {
		clear: both;
		font-weight: bold;
		padding-top: 11px;
		padding-right:10px;
		padding-bottom: 0;
		padding-left: 10px;
	}
	dl.info dd {
		font-size: 0.9em;
		line-height: 1.6;
		padding-right:10px;
		padding-left: 10px;
		padding-bottom: 10px;
	}
	dl.info dd:last-child {
		border-bottom:none!important;	
	}
	dl.info a {
		text-decoration:underline;
	}

	/* ------------------------------
	 link
	------------------------------ */
	a {
		text-decoration: none;
	}

	/* ------------------------------
	 page-top
	------------------------------ */
	#page-top {
		display: block;
		font-size: 40px;
		line-height: 1;
		position: fixed;
		bottom: 15px;
		right: 10px;
		z-index: 1;
	}
}


/* ------------------------------
　NEWS
------------------------------ */
.CMS-NEWS-TITLE {
	border-bottom: solid 1px rgba(0,0,0,0.35);
	font-size: 22px;
	line-height: 1.4;
	margin-bottom: 30px;
	padding: 10px 0 13px 0;
	position: relative;
	font-weight: bold;
}
.CMS-NEWS-TITLE:after {
	border-bottom: solid 3px #e72176;
	bottom: -3px;
	content: " ";
	display: block;
	position: absolute;
	width: 25%;
}
.top-news .CMS-NEWS-MORE-READ{
	display: none;
}
.CMS-NEWS-THUMBNAIL {
	display: none;
}
.CMS-NEWS-CONTENT img {
	width: 100%;
	height: auto;
}
.CMS-NEWS-INDEX {
	position: relative;
	padding-bottom: 70px;
}
@media screen and (min-width: 768px) {
	.CMS-NEWS-ITEM {
		padding-bottom: 20px;
		margin-bottom: 20px;
		border-bottom: 1px solid #ccc;
		position: relative;
	}
	.CMS-NEWS-ITEM:first-of-type {
		padding-top: 20px;
		border-top: 1px solid #ccc;
	}	
	.CMS-NEWS-TIME {
		font-size: 14px;
		display: inline-block;
		text-indent: 1em;
		width: 160px!important;
		color: #000;
	}
	.CMS-NEWS-LINK {
		display: inline-block;
		color: #000;
	}
	.CMS-NEWS-MORE-READ{
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		background: #e72176;
		border: none;
		color: #fff;
		padding: 10px 20px;
	}		
}
@media screen and (max-width: 767px) {
	.CMS-NEWS-ITEM {
		padding-bottom: 15px;
		margin-bottom: 15px;
		border-bottom: 1px solid #ccc;
		position: relative;
	}
	.CMS-NEWS-ITEM:first-of-type {
		padding-top: 15px;
		border-top: 1px solid #ccc;
	}	
	.CMS-NEWS-TIME {
		font-size: 14px;
		padding: 0 15px;
		width: 160px!important;
		color: #000;
	}
	.CMS-NEWS-LINK {
		padding: 0 15px;
		color: #000;
	}
	.CMS-NEWS-MORE-READ{
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		background: #e72176;
		border: none;
		color: #fff;
		padding: 10px 20px;
	}		
}

/* ------------------------------
　BLOG
------------------------------ */
.CMS-ARTICLE-TITLE {
	border-bottom: solid 1px rgba(0,0,0,0.35);
	font-size: 24px;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 30px;
	padding: 10px 0 13px 0;
	position: relative;
}
.CMS-ARTICLE-TITLE:after {
	border-bottom: solid 3px #e72176;
	bottom: -3px;
	content: " ";
	display: block;
	position: absolute;
	width: 25%;
}
.CMS-ARTICLE-INDEX img {
	width: 100%;
	height: auto;
	margin-bottom: 20px;
}
.CMS-ARTICLE-CONTENT img {
	width: 100%;
	height: auto;
	margin-bottom: 20px;
}
.top-topics .CMS-ARTICLE-MORE-READ {
	display: none;	
}
@media screen and (min-width: 768px) {
	.CMS-ARTICLE-INDEX{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding-bottom: 60px;
		position: relative;
	}
	.CMS-ARTICLE-ITEM {
		width: 31%;
		box-sizing: border-box;
	}
	.CMS-ARTICLE-TIME {
		color: #fff;
		line-height: 1;
		margin-bottom: 8px;
		padding: 0 20px;	
		font-size: 12px;
		text-align: center;
	}
	.CMS-ARTICLE-LINK {
		line-height: 1.6;
		color: #fff;
		text-align: center;
	}
	.CMS-ARTICLE-MORE-READ{
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		background: #e72176;
		border: none;
		color: #fff;
		padding: 10px 20px;
	}	
}
@media screen and (max-width: 767px) {
	.CMS-ARTICLE-INDEX{
		margin-bottom: 40px;
		padding-bottom: 30px;
		position: relative;		
	}
	.CMS-ARTICLE-ITEM {
		box-sizing: border-box;
		margin-bottom: 30px;
		padding-bottom: 15px;
	}
	.CMS-ARTICLE-TIME {
		color: #fff;
		line-height: 1;
		margin-bottom: 10px;
		font-size: 12px;
	}
	.CMS-ARTICLE-LINK {
		line-height: 1.7;
		color: #fff;
	}
	.CMS-ARTICLE-MORE-READ{
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		background: #e72176;
		border: none;
		color: #fff;
		padding: 10px 20px;
	}		
}
.topics .CMS-ARTICLE-INDEX {
	padding-bottom: 60px;
}
.topics .CMS-ARTICLE-ITEM {
	padding-bottom: 40px;
}
.topics .CMS-ARTICLE-LINK,
.topics .CMS-ARTICLE-TIME {
	color:#000;
}

/* ------------------------------
　CONTACT
------------------------------ */
.CMS-FORM-GROUP label:first-child{
	font-size: 120%;
}
@media screen and (min-width: 768px) {
	form {
	    max-width: 1000px;
	    margin: 0 auto;
	}
	form div {
		margin-bottom: 50px;
	}
	form div label {
		display: block;
		font-weight: bold;
		margin-bottom: 10px;
	}
	form select {
	    padding: 20px;
	    background: #fff;
	    border: #bbb solid 1px;
	    border-radius: 3px;
	}
	form input, form textarea {
	    max-width: 1000px;
	    width: 100%;
	    padding: 10px 20px;
	    background: #fff;
	    border: #bbbbbb solid 1px;
	    border-radius: 4px;
	    font-size: 1.5em;
		box-sizing: border-box;
	}
	form input[type="submit"] {
	    border: 0px;
	    width: 50%;
	    background: #e72176;
		color: #fff;
	    font-size: 26px;
	    font-weight: 600;
	    padding: 25px 0;
		margin: 0 25%;
	}	
	.CMS-FORM-RADIO label{
		display: inline-block;
	}
	form input[type="radio"] {
		max-width: none!important;
		width: 30px!important;	
		vertical-align: -1px;
	}
}
@media screen and (max-width: 767px) {
	form {
		padding: 0 20px;
	}
	form div {
		margin-bottom: 50px;
	}
	form div label {
		display: block;
		font-weight: bold;
		margin-bottom: 10px;
	}
	form select {
		padding: 20px;
		background: #fff;
		border: #bbb solid 1px;
		border-radius: 3px;
	}
	form input, form textarea {
	    width: 100%;
		padding: 10px 20px;
		background: #fff;
		border: #bbbbbb solid 1px;
		border-radius: 4px;
		font-size: 1.5em;
		box-sizing: border-box;
	}
	form input[type="submit"] {
		border: 0px;
		width: 90%;
		background: #e72176;
		color: #fff;
		font-size: 26px;
		font-weight: 600;
		padding: 25px 0;
		margin: 0 5%;
	}
	.CMS-FORM-RADIO label{
		display: inline-block;
	}
	form input[type="radio"] {
		max-width: none!important;
		width: 30px!important;	
		vertical-align: -1px;		
	}
}