@charset "UTF-8";

/*====================
{{スマホを基本設計にする}}
 - 〜320px：SP縦
 - 480px〜599px：SP横
 - 600px〜959px：タブレット
 - 960px〜1279px：小型PC
 - 1280px〜：大型PC
====================*/
/* 〜320px：SP縦
------------------------------ */



/* --------------top---------------- */
.top-warp-sp{
	position: relative;
}

.top-warp-pc{
	display: none;
}

.top-titel{
	height: 500px;
	position: absolute;
	top: 60%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	bottom: 100px;
	z-index: 2;
	font-size: calc((100vw - 320px) / 30 + 45px);
	writing-mode: vertical-rl;
	font-weight: bold;
	letter-spacing: 5px;
	line-height: 1.2;
}

.link-fix{/*無料見学*/
	background: #B10505;
	position: fixed;
	bottom: 20px;
	width: 120px;
	height: 120px;
	font-size: 1.5rem;
	border-radius: 50%;
	left:10px;
	z-index: 10;
	color: #FFF;
	text-align: center;
	line-height: 1.2;
	box-shadow: -5px 5px 10px 0 rgba(0, 0, 0, .5);
}

.link-fix span{
	position: absolute;
	top: 25%;
	left:15px;
}

.link-fix span::after{
	content: "随時受付中!";
	font-size: 1.5rem;
}

.link-fix{
	color: #FFF !important;
}

.link-fix-warp{
	transition: transform 2s;
}

.link-fix-warp a:hover{
	transform: translateY(-10px); 
}

.top-sp img{
	width: 100%;
	height:600px;
	object-fit: cover;
	object-position: top;
	position: relative;
	display: block;
	margin: 0;
	z-index: -99;
}



/* --------------はじめに---------------- */
.first-con{
	padding: calc((100vw - 320px) / 10 + 50px) 30px;
}

.first-con p{
	width: 90%;
	max-width: 500px !important;
	line-height: 2.5 !important;
}


.first-text{
  padding: calc(50px + 70 * (100vw - 320px)/880) 0 70px;  
	margin: 0 auto;
	text-align: center;
}

.first-text h1{
	position: relative;
		letter-spacing: 5px;
	width: 100%;
	}

.first-text h1::after{
	position: absolute;
	bottom: -30px;
	right:25%;
	left: 25%;
	content: "";
	border-bottom: 7px solid #B10505;
	width: 100px;
	margin:0 auto -10px;
	transform:skewX(50deg);
}

.first-text p{
	display: block;
	margin: 80px auto;
	max-width: 1000px;
}



/* -------------取り組み---------------- */
.attempt-con{

}

.attempt-warp{
	position: relative;	
	width: 100%;
	background:#ECECEC;
}

.attempt-warp-02{
	background: #FFF;
}

.attempt-con img{
	position: relative;
	width: 100%;
	height: calc((100vw - 320px) / 5 + 200px);
	object-fit: cover;
	object-position: top;
	vertical-align: bottom;
}

.attempt-line{
	display: block;
	border-bottom: 10px solid #333;
	width: 100%;
	text-align:right;
	position: relative;
}

.attempt-text{
	width: 100%;
	padding: calc((100vw - 320px) / 10 + 50px) 5%;
}

/*番号*/
.attempt-text h1{
	position: relative;
	font-size: calc((100vw - 320px) / 50 + 40px);
	font-family: 'Montserrat', sans-serif;
}

.attempt-text h1::after{
	content: "";
	position: relative;
	top: 5px;
	display: inline-block;
	border-left: 1px solid #333;
	height:calc((100vw - 320px) / 50 + 35px);
	margin: 0 20px;
}

.attempt-text-sub{
	position: absolute;
	top: calc((100vw - 320px) / 50 + 20px);
	left: calc((100vw - 320px) / 50 + 90px);
	font-size: calc((100vw - 320px) / 300 + 11px);
}

.attempt-text h2{
	font-weight: bold;
	text-align: left;
}

/*-------------大会成績-------------*/
.table-scroll {
	width: 100%;
	max-width: 1200px;
	height: 300px;
	margin: 50px auto;
  	overflow: scroll;
	border: 1px solid #000;      /* わかりやすくボーダーを引く */
	white-space: nowrap;
	letter-spacing: 0;
	font-size: 1.5rem;
}

.result-list-con{
	border-collapse: separate;
border-spacing:0px;/* 行間 */
	display: inline-block;
	padding: 0px 20px;
}

.result-list-warp{

}

.result-list-con th{
	border-bottom: solid 1px #000;
    position: sticky;
    top: 0;
    left: 0;
	height: 50px;
	background: #FFF;
}

.result-list-con td{
	padding: 5px;
	width:10%;
}

.table-scroll::-webkit-scrollbar {
  width: 7px;
  height: 7px;
}

.table-scroll::-webkit-scrollbar-thumb {
  background: #000;
}

.table-scroll{
	scrollbar-width: thin;
	scrollbar-color: #000 #e3e3e3;
}


/*稽古について*/
.keiko-con{

}

.keiko-warp{

}

.keiko-con img{
	width: 100%;
	height: 400px;
	object-fit: cover;
	padding-bottom: 50px;
}

.keiko-text{
	width: 90%;
	background: #FFF;
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 0;
}

	.form-table-keiko ,.form-table-staff{
		table-layout: fixed;
		max-width: 1200px;
		padding: 10px 0 0 0;
	}

	td, th {
    vertical-align: middle;  /* 中央揃え */
}

.form-table-keiko ,.form-table-staff{
border-collapse: separate;
border-spacing:10px;/* 行間 */
	margin: 0 auto;
    width: 90%;
	height:30px;
}

.form-table-keiko th,.form-table-keiko td,
.form-table-staff th,.form-table-staff td{
	display:block;
	text-align: center;
	padding: 5px;
}

.form-table-keiko tr:nth-child(odd){
	padding: 10px;
	background: rgba(245,96,96,0.1);
}


/* -------------年間行事---------------- */
.schedule-con{
	max-width: 1200px;
	margin: 0px auto 70px;
	padding: 50px 0;
}

.form-table-schedule{
	table-layout: fixed;
	border-collapse: separate;
border-spacing: 0px 5px;/* 行間 */
	width: 90%;
	margin: 0 auto;
}

.schedule-flex-con{
	padding:10px 0;
	display: flex;
	flex-wrap: wrap;
}

.form-table-schedule td{
	padding: 10px;
}

.form-table-schedule-th{
	width: 20%;
}

.form-table-schedule tr:nth-child(even){
	background: rgba(245,96,96,0.1);
}

.schedule-sub{
	width: 90%;
	max-width: 1200px;
	margin: 0 auto;
	border-top:1px solid #000;
	padding:15px;
}


/* -------------メダル---------------- */
.medal-photo{
	display: flex;
	flex-wrap: wrap;
	justify-content:center;
	max-width: 1200px;
	padding: 0 0 calc((100vw - 320px) / 30 + 100px);
	margin: 0 auto;
}

.medal-photo img{
	width: 90%;
	height:300px;;
	object-fit: cover;
	max-width: 500px;
	box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .3);
	margin:20px 10px;
}


/*------------無料体験-------------*/
.ex-bg{
	background: rgba(245,96,96,0.1);
	padding-top: 150px;
	position: relative;
	top: -10px;
}

.ex-warp{
	position: relative;
}

/*.ex-warp img{
	margin: 0 auto 0 0;
	width: 75%;
	height: auto;
}*/

.ex-warp img{
	margin: 0 auto 0 0;
	width: 100%;
	height: auto;
}

.ex-titel-warp-sp{
	position: relative;
}

.ex-titel-sp{
	font-size: calc((100vw - 320px) / 30 + 45px);
	font-weight: bold;
	line-height: calc((100vw - 320px) / 30 + 55px);
	padding: 10px;
	position: absolute;
    top:80px;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.ex-titel{
	position: absolute;
	top: 0;
	right: calc((100vw - 320px) / 100 + 20px);
	font-size: calc((100vw - 320px) / 30 + 45px);
	writing-mode: vertical-rl;
	font-weight: bold;
	letter-spacing: 5px;
	display: none;
}

.ex-titel2{
	top: 200px;
	right:calc((100vw - 320px) / 20 + 70px);
}

.ex-text{
	text-align: center;
	padding: 0px 10px calc((100vw - 320px) / 10 + 50px);
}




/* -------------問い合わせ---------------- */

.contact-con{
	padding-bottom: 200px;
}

.form-must{
	color:red;
	font-size:10px;
}

.form-table{
border-collapse: separate;
border-spacing:20px;/* 行間 */
	margin: 100px auto 0;
    width: 85%;
	max-width: 1200px;
}

.form-table th{
	text-align:left;
	width: 180px;
}


.form-warp p{
	font-size:1.2rem;
	padding-bottom:10px;
}


.form-td{
	width: 100%;
	height:30px;
	background: rgba(226,226,226,0.4); 
	border: none;
}

.form-textarea{
	width: 100%;
	height: 250px;
	background: rgba(226,226,226,0.4); 
	border: none;
}

.form-table th,.form-table td{
	display:block;
}

.form-warp{
	width:80%;
	margin:50px auto;
	max-width: 1200px;
}

.form-warp p{
	font-size:1.2rem;
	padding-bottom:10px;
}

.form-privacy{
	height:200px;
	border: 1px solid #000;      /* わかりやすくボーダーを引く */
  overflow-y: scroll; 
  padding:10px;
  font-size:14px;
}

.privacy-sub{
	margin: 10px 0 100px;
}

.form-sub{
	text-align:center;
}

input[type="submit"],
input[type="button"] {
  background: #fff;
	font-weight: bold;
	font-size: 1.6rem;
	color: #B10505;
	border: 2px solid #B10505;
	padding: 10px 50px;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

input[type="submit"]:hover
 {
  background:#B10505;
	 transition:0.5s;
	 color: #FFF;
}


/* -------------フッター ---------------- */
.ft-con{
	background: #E2E2E2;
	padding: 100px 0 100px;
	position: relative;
	bottom: -50px;
}

.ft-titel{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding-bottom: 50px;
}

.ft-titel img{
	display: block;
	margin: 0 auto;
	width: 90%;
	height: auto;
	max-width: 500px;
}

/*スタッフ*/
	.staff-con{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		font-size: 1.5rem;
	}	

.form-table-staff{
	max-width:500px;
	margin: 0 auto;
}

.form-table-staff th{
	padding: 12px;
	background: #FFF;
}

.form-table-staff td{
	text-align: center;
	padding:0 0 0 20px;
}



/* 320px〜599px：SP横
------------------------------ */
@media screen and (min-width:320px) and (max-width:799px) {


	
}

/* 600px〜959px：タブレット
------------------------------ */
@media screen and (min-width:800px) {
	
	.slick-dots li button:before{
    position: absolute;
    top: -20px !important;
    left: 0;
}
	
	.top-warp-sp{
		display: none;
	}
	
	.top-warp-pc{
		display: block;
		position: relative;
	background: url("../img/bg-img01.png") no-repeat;
	background-size: contain;
	}
	
	.top-titel-pc{
	position: absolute;
	 top: 15%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
		text-align: left; 
		height: 600px;
	}
	
.top-pc img{
	display: block;
	width: 100%;
	height:820px;
	object-fit:cover;
	z-index: -98;
	}
	
	.link-fix{
	width: 150px;
	height: 150px;
	font-size: 2.0rem;
		right: 10px;
		bottom: 20px;
}

.link-fix span{
	position: absolute;
	top: 25%;
	left: 30px;
}

.link-fix span::after{
	content: "随時受付中!";
	font-size: 1.5rem;
}
	
/*はじめに*/
	
.first-text p{
	line-height: 1.7;
}
	
/*取り組み*/
.attempt-text{
	position: absolute;
    top: 50%;
    left: 65%;
	height: 450px;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	padding: 100px 5%;
}

	.attempt-text h1,.attempt-text span,.attempt-text h2{
	transform: skewX(-11deg);
	}
	
	.attempt-text-02{
	transform: skewX(0deg) !important;
	}
	
	.attempt-text-02 h1,
	.attempt-text-02 h2{
	transform: skewX(11deg) !important;
	}
	
	.attempt-text-02 h2 span{
	transform: skewX(0deg) !important;
	}
	
	.attempt-text-warp-02{
	position: absolute;
    top: 0%;
    left: 5%;
	height: 450px;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	}

.attempt-line02{
	width: 70%;
}
	
.attempt-con img{
	display: block;
	width:60%;
	height: 450px;
	margin: 0 0 0 auto;
	text-align: right;
}
	
	.attempt-img-02{
	margin: 0 auto 0 0 !important;
	}

.attempt-warp{
	position: absolute;
	left: -50px;
	width: 55%;
	height: 460px;
	padding: 100px 10%;
	z-index: 5;
	transform: skewX(11deg);
	overflow: hidden;
}
	
	.attempt-warp-02{
	left: auto;
	right: -5px;
	transform: skewX(-11deg);
	}
	
/*稽古について*/
	.form-table-keiko th,.form-table-keiko td{
		display: inline;
	}
	
	.form-table-keiko th{
		display: inline-block;
		width: 20%;
		padding: 20px;
	}
	
		.form-table-keiko td{
		display: inline-block;
			text-align: left;
			width: 80%;
			padding: 10px 20px;
	}


/*------------無料体験-------------*/
.ex-bg{
	background: rgba(245,96,96,0.1);
	padding-top: 150px;
	position: relative;
	top: -100px;
}

	.ex-titel-warp-sp{
		display: none;
	}
	
	.ex-titel{
		display: block;
	}
	
	.ex-warp img{
	margin: 0 auto 0 0;
	width: 75%;
	height: auto;
}
	

/* -------------メダル---------------- */
.medal-photo{
	display: flex;
	flex-wrap: wrap;
	justify-content:center;
	max-width: 1200px;
	margin: 0 auto;
}

.medal-photo img{
	width: calc(90%/2);
}


/*お問い合わせ*/
.form-table th,.form-table td{
	display:inline-block;
}
	
.form-table th{
	width:30% ;
}
	
.form-table td{
	width:70% ;
}

	
/*フッター スタッフ*/
	.form-table-staff th,.form-table-staff td{
		display: inline-block;
	}
	
.form-table-staff th{
	width:40% ;
	padding:20px 0;
	max-width: 200px;
	}
	
.form-table-staff td{
	width:60% ;
	text-align: left;
}

}

@media screen and (min-width:960px)  {

/*取り組み*/



/*年間行事*/
.form-table-schedule{
	width: 45%;
}
	
.schedule-sub{
	width: 43%;
	margin: 0 4% 0 auto;
}
	

	
/*問い合わせ*/
.contact-con{
	margin: 0 auto 0;
}
	
/*スタッフ*/
.form-table-staff{
	width: 45%;
	margin: 0 auto;
}
	
}
