html, body{
	width: 100%;
}

body{
	font-family: 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	color: #212121;
}

a{
	text-decoration: none;
	color: #f44336;
}

img{
	vertical-align: bottom;
}

div[id^="rmjs-"]{
    overflow: hidden;
}

/* =============================================== */
/* ヘッダ　　　　　　　　　　　　　　　　　　　　　*/
/* =============================================== */

header{
	width: 100%;
	background-color: #fff;
}

.header_translate{
	padding: 5px;
	text-align: right;
	background-color: #666;
}

.header_translate_inner{
	width: 1000px;
	margin: auto;
}

.headercontents{
	width: 1000px;
	margin: auto;
}

.headercontents:after {
	content: '';
	display: block;
	clear: both;
}

h1{
	padding: 14px 0 0 0;
	float: left;
	text-align: left;
}

h1 img{
	height: 24px;
	width: auto;
}

.header_translate_icon{
	cursor: pointer;
}

.header_translate_icon img{
	width: 100%;
	height: auto;
}

.translate_for_pc{
	display: block;
	float: right;
	width: 50px;
	height: 50px;
	padding: 15px;
	background-color: #666;
}

.translate_for_sp{
	display: none;
}

.headeritem{
	float: right;
}

.headernav{
	float: left;
	font-size: .875rem;
	font-weight: bold;
	line-height: 50px;
	background-color: #f44336;
}

.headernav li{
	display: inline-block;
}

.headernav li:first-of-type a{
	padding: 0 25px 0 35px;
}

.headernav li a{
	display: block;
	color: #fff;
	padding: 0 25px;
}

.headernav_out{
	position: relative;
	background-color: #000 !important;
	color: #fff;
	margin-left: 10px;
}

.headernav_out > a{
	padding: 0 35px !important;
}

.headernav_out ul{
	position: absolute;
  z-index: 9999;
  top: 100%;
  right: 0;
  margin: 0;
  padding: 0;
	visibility: hidden;
	opacity: 0;
	transition: 0s;
	background-color: #000;
}

.headernav_out ul li{
	width: 100%;
}

.headernav_out:hover ul{
	visibility: visible;
	opacity: 1;
}

.headernav_out ul li a{
	padding: 0 25px !important;
	visibility: hidden;
	opacity: 0;
	transition: .5s;
	background-color: #000;	
	white-space: nowrap;
	padding: 10px;
}

.headernav_out:hover ul li a{
	visibility: visible;
	opacity: 1;
}


/* =============================================== */
/* メイン　 　　　　　　　　　　　　　　　　　　　 */
/* =============================================== */

.mainstage_wrap{
	width: 100%;
	padding: 20px 0;
	background-color: #eee;
}

.mainstage{
	width: 1000px;
	margin: auto;
}


/* =============================================== */
/* TOPページ　　　　　　　　　　　　　　　　　　　 */
/* =============================================== */

.kvarea{
	margin-bottom: 20px;
}

.kvdouble{
	overflow: hidden;
}

.kvimage{
	border: 5px solid #fff;
}

.kvimage_pc{
/*	width: 326px; 3列の時 */
	width: 495px;
	margin-right: 10px;
	margin-bottom: 10px;
	float: left;
}

/* 3列の時
.kvimage_pc:nth-of-type(3n){
	margin-right: 0;
}
*/

.kvimage_pc:nth-of-type(2n){
	margin-right: 0;
}

.kvimage_sp{
	display: none;
}

.kvimage img{
	width: 100%;
	height: auto;
}

.kvimage_pc a{
	width: 495px;
/*	height: 326px; 3列の時 */
	overflow: hidden;
}

/*

.img1_a {
	position: relative;
	width: 316px;
	height: 316px;
	overflow:hidden;
	background-image:url(../images/bn_honmachi-pc.png);
}		
.img1_b {
	width: 0; 
	height: 632px;
	overflow: hidden;
	margin-left: -316px;
	transform: skew(-45deg);
	transition:width 0.7s ease;
}		
.img1_a:hover .img1_b {
	width: 632px;
}
.img1_c {
	position: absolute;
	width: 632px;
	height: 632px;
	transform: skew(45deg);
	background-image: url(../images/bn_honmachi_photo-pc.jpg);
}

.img2_a {
	position: relative;
	width: 316px;
	height: 316px;
	overflow:hidden;
	background-image:url(../images/bn_suita-pc.png);
}		
.img2_b {
	width: 0; 
	height: 632px;
	overflow: hidden;
	margin-left: -316px;
	transform: skew(-45deg);
	transition:width 0.7s ease;
}		
.img2_a:hover .img2_b {
	width: 632px;
}
.img2_c {
	position: absolute;
	width: 632px;
	height: 632px;
	transform: skew(45deg);
	background-image: url(../images/bn_suita_photo-pc.jpg);
}		

.img3_a {
	position: relative;
	width: 316px;
	height: 316px;
	overflow:hidden;
	background-image:url(../images/bn_takumi-pc.png);
}		
.img3_b {
	width: 0; 
	height: 632px;
	overflow: hidden;
	margin-left: -316px;
	transform: skew(-45deg);
	transition:width 0.7s ease;
}		
.img3_a:hover .img3_b {
	width: 632px;
}
.img3_c {
	position: absolute;
	width: 632px;
	height: 632px;
	transform: skew(45deg);
	background-image: url(../images/bn_takumi_photo-pc.jpg);
}

.img5_a {
	position: relative;
	width: 316px;
	height: 316px;
	overflow:hidden;
	background-image:url(../images/bn_uerokut-pc.png);
}		
.img5_b {
	width: 0; 
	height: 632px;
	overflow: hidden;
	margin-left: -316px;
	transform: skew(-45deg);
	transition:width 0.7s ease;
}		
.img5_a:hover .img5_b {
	width: 632px;
}
.img5_c {
	position: absolute;
	width: 632px;
	height: 632px;
	transform: skew(45deg);
	background-image: url(../images/bn_uerokut_photo-pc.jpg);
}	

*/

.img21_a {
	position: relative;
	width: 485px;
	height: 158px;
	overflow:hidden;
	background-image:url(../images/bn_honmachi.png);
	background-size: contain;
	background-position: center center;
}		
.img21_b {
	width: 0; 
	height: 316px;
	overflow: hidden;
	margin-left: -316px;
	transform: skew(-45deg);
	transition:width 0.7s ease;
}		
.img21_a:hover .img21_b {
	width: 970px;
}
.img21_c {
	position: absolute;
	width: 970px;
	height: 158px;
	transform: skew(45deg);
	background-image: url(../images/bn_honmachi_photo03-pc.jpg);
	background-position: 237px 0;
}

.img22_a {
	position: relative;
	width: 485px;
	height: 158px;
	overflow:hidden;
	background-image:url(../images/bn_suita.png);
	background-size: contain;
	background-position: center center;
}		
.img22_b {
	width: 0; 
	height: 316px;
	overflow: hidden;
	margin-left: -316px;
	transform: skew(-45deg);
	transition:width 0.7s ease;
}		
.img22_a:hover .img22_b {
	width: 970px;
}
.img22_c {
	position: absolute;
	width: 970px;
	height: 158px;
	transform: skew(45deg);
	background-image: url(../images/bn_suita_photo03-pc.jpg);
	background-position: 237px 0;
}

/*
.img23_a {
	position: relative;
	width: 485px;
	height: 158px;
	overflow:hidden;
	background-image:url(../images/bn_ec.png);
}		
.img23_b {
	width: 0; 
	height: 316px;
	overflow: hidden;
	margin-left: -316px;
	transform: skew(-45deg);
	transition:width 0.7s ease;
}		
.img23_a:hover .img23_b {
	width: 970px;
}
.img23_c {
	position: absolute;
	width: 970px;
	height: 158px;
	transform: skew(45deg);
	background-image: url(../images/bn_ec_photo03-pc.jpg);
	background-position: 237px 0;
}

.img24_a {
	position: relative;
	width: 485px;
	height: 158px;
	overflow:hidden;
	background-image:url(../images/bn_toyonaka.png);
}		
.img24_b {
	width: 0; 
	height: 316px;
	overflow: hidden;
	margin-left: -316px;
	transform: skew(-45deg);
	transition:width 0.7s ease;
}		
.img24_a:hover .img24_b {
	width: 970px;
}
.img24_c {
	position: absolute;
	width: 970px;
	height: 158px;
	transform: skew(45deg);
	background-image: url(../images/bn_toyonaka_photo03-pc.jpg);
	background-position: 237px 0;
}		
*/

.img25_a {
	position: relative;
	width: 485px;
	height: 158px;
	overflow: hidden;
	background-image: url(../images/bn_ueroku.png);
	background-size: contain;
	background-position: center center;
}

.img25_b {
	width: 0;
	height: 316px;
	overflow: hidden;
	margin-left: -316px;
	transform: skew(-45deg);
	transition: width 0.7s ease;
}

.img25_a:hover .img25_b {
	width: 970px;
}

.img25_c {
	position: absolute;
	width: 970px;
	height: 158px;
	transform: skew(45deg);
	background-image: url(../images/bn_uerokut_photo03-pc.jpg);
	background-position: 237px 0;
}

.img26_a {
	position: relative;
	width: 485px;
	height: 158px;
	overflow: hidden;
	background-image: url(../images/bn_umeda.png);
	background-size: contain;
	background-position: center center;
}

.img26_b {
	width: 0;
	height: 316px;
	overflow: hidden;
	margin-left: -316px;
	transform: skew(-45deg);
	transition: width 0.7s ease;
}

.img26_a:hover .img26_b {
	width: 970px;
}

.img26_c {
	position: absolute;
	width: 970px;
	height: 158px;
	transform: skew(45deg);
	background-image: url(../images/bn_umeda_photo03-pc.jpg);
	background-position: 237px 0;
}

.bannerarea{
	margin-bottom: 20px;
}

.bannerarea a{
	display: block;
}

.bannerarea a:nth-of-type(n+2){
	margin-top: 15px;
}

.bannerimage_pc{
	border: 2px solid #fff;
	margin-bottom: 10px;
}

.bannerimage_pc:last-of-type{
	margin-bottom: 0;
}

.bannerimage_sp{
	display: none;
}

.topcontents{
	background-color: #fff;
	padding: 50px 20px;
}

.topnewsareaheader{
	position: relative;
}

.toph2{
	font-size: 1.5rem;
	font-weight: bold;
	padding: 20px 0 30px 0;
	text-align: center;
}

.topnewsarchivelink{
	display: block;
	font-size: .75rem;
	border: 1px solid #ccc;
	width: 12em;
	position: absolute;
	top: 15px;
	right: 0px;
	color: #737373;
	padding: 5px;
	text-align: center;
}

.topnewsarea{
	margin-bottom: 80px;
}

.topnewsarea ul{
	padding: 20px 30px;
	border: 3px solid #eee;
	font-size: .875rem;
}

.topnewsarea ul li{
	border-bottom: 1px solid  #e5e5e5;
}

.topnewsarea ul li:last-of-type{
	border-bottom: none;
}


.topnewsarea ul li a{
	display: block;
	padding: 20px;
	overflow: hidden;
	color: #000;
}

.topnewsarea_archive{
	font-size: .875rem;
	margin-top: 16px;
	text-align: right;
}

.topnewsarea_archive a{
	color: #666;
}

.topnewsarea_archive a:visited{
	color: #666;
}

.newslistdate{
	width: 10em;
	float: left;
	color: #737373;
}

.newslistshop{
	margin-right: 1em;
	float: left;
	color: #737373;
}

.newslisttitle{
	float: left;
}

.topmenupanel_large{
	overflow: hidden;
	margin-bottom: 10px;
}

.topmenupanel_large_item{
	width: 33.3%;
	float: left;
	border: 1px solid #ccc;
}

.topmenupanel_large_item a{
	display: flex;
	height: 240px;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

.topmenupanel_large_item:nth-of-type(n+2){
	border-left: none;
}

.topmenupanel_small{
	overflow: hidden;
}

.topmenupanel_small_item{
	width: 150px;
	margin-right: 12px;
	border: 1px solid #ccc;
	float: left;
}

.topmenupanel_small_item a{
	display: flex;
	height: 150px;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

.topmenupanel_small_item:last-of-type{
	margin-right: 0;
}

.topmenupanel_large_title{
	display: block;
	width: 100%;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
	color: #000;
	margin-bottom: 20px;
}

.topmenupanel_large_info{
	display: block;
	width: 100%;
	font-size: .875rem;
	text-align: center;
	color: #737373;
	line-height: 1.5;
}

.topmenupanel_small_title{
	font-weight: bold;
	color: #000;
	text-align: center;
}

.topmenupanel_small_title2{
	font-weight: bold;
	color: #000;
	text-align: center;
	line-height: 1.25em;
}

.topmenupanel_fee:before{
	display: block;
	content: '';
	background-image: url(../images/ic_fee.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 100%;
	height: 48px;
	width: auto;
	margin: 0 auto 30px auto;
}

.topmenupanel_lesson:before{
	display: block;
	content: '';
	background-image: url(../images/ic_lesson.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 100%;
	height: 48px;
	width: auto;
	margin: 0 auto 30px auto;
}

.topmenupanel_shop:before{
	display: block;
	content: '';
	background-image: url(../images/ic_shop.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 100%;
	height: 48px;
	width: auto;
	margin: 0 auto 30px auto;
}

.topmenupanel_booking:before{
	display: block;
	content: '';
	background-image: url(../images/ic_booking.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 100%;
	height: 32px;
	width: auto;
	margin: 0 auto 30px auto;
}

.topmenupanel_coach:before{
	display: block;
	content: '';
	background-image: url(../images/ic_coach.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 100%;
	height: 32px;
	width: auto;
	margin: 0 auto 30px auto;
}

.topmenupanel_media:before{
	display: block;
	content: '';
	background-image: url(../images/ic_media.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 100%;
	height: 32px;
	width: auto;
	margin: 0 auto 30px auto;
}

.topmenupanel_zekken:before{
	display: block;
	content: '';
	background-image: url(../images/ic_zekken.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 100%;
	height: 32px;
	width: auto;
	margin: 0 auto 16px auto;
}

.topmenupanel_taxfree:before{
	display: block;
	content: '';
	background-image: url(../images/ic_taxfree.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 100%;
	height: 32px;
	width: auto;
	margin: 0 auto 16px auto;
}

.topmenupanel_beginner:before{
	display: block;
	content: '';
	background-image: url(../images/ic_beginner.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 100%;
	height: 32px;
	width: auto;
	margin: 0 auto 16px auto;
}

.topmenupanel_onlineshop:before{
	display: block;
	content: '';
	background-image: url(../images/ic_onlineshop.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 100%;
	height: 32px;
	width: auto;
	margin: 0 auto 16px auto;
}

.topmenupanel_takuten:before{
	display: block;
	content: '';
	background-image: url(../images/ic_takuten.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 100%;
	height: 32px;
	width: auto;
	margin: 0 auto 16px auto;
}

.topmenupanel_youtube:before{
	display: block;
	content: '';
	background-image: url(../images/ic_youtube.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: auto 100%;
	height: 32px;
	width: auto;
	margin: 0 auto 16px auto;
}




/* =============================================== */
/* ページ　 　　　　　　　　　　　　　　　　　　　 */
/* =============================================== */

.page_h2{
	padding: 50px 0;
	background-color: #999;
	font-size: 1.5rem;
	font-weight: bold;
	color: #fff;
	text-align: center;
}

.pagecontents{
	background-color: #fff;
	padding: 30px 20px;
	line-height: 1.5;
	min-height: 600px;
}

.page_text{
	font-size: .875rem;
}

.page_text strong{
	font-weight: bold;
}

.page_text p{
	margin-bottom: 1em;
}

.button_large{
	display: block;
	padding: 20px;
	text-align: center;
	border: 2px solid #f44336;
	font-size: 1.5rem;
	font-weight: bold;
	color: #f44336;
}

.button_small{
	display: block;
	padding: 16px;
	text-align: center;
	border: 1px solid #f44336;
	font-size: 1rem;
	color: #f44336;
}

.single_h2{
	padding: 30px;
	background-color: #f7f7f7;
	font-size: 1.5rem;
	line-height: 1.5;
}

.single_newsinfo{
	padding: 40px 30px 0 30px;
	font-size: .875rem;
	text-align: right;
}

.single_inner{
	padding: 40px 30px;
	font-size: .875rem;
	line-height: 1.5;
}

.page_table{
	table-collapse: collapse;
	width: 100%;
	margin-bottom: 10px;
}

.page_table td, .page_table th{
	padding: 1.5em;
	font-size: .875rem;
	border: 1px solid #ddd;
	vertical-align: middle;
}

.page_table th{
	width: 30%;
	text-align: center;
	font-weight: bold;
	background-color: #f7f7f7;
}


/* =============================================== */
/* レッスン 　　　　　　　　　　　　　　　　　　　 */
/* =============================================== */

.lesson_item{
	border: 2px solid #eee;
	padding: 30px;
	margin-bottom: 60px;
}

.lesson_item_header{
	padding: 10px 0 40px 0;
	border-bottom: 1px dotted #e5e5e5;
	overflow: hidden;
}

.lesson_title{
	float: left;
	font-size: 1.5rem;
	font-weight: bold;
}

.lesson_shoptag{
	float: right;
	font-size: .75rem;
}

.lesson_shoptag p{
	display: inline-block;
}

.lesson_shoptag_title{
	padding: 5px 10px;
	background-color: #000;
	color: #fff;
}

.lesson_shoptag_list{
	padding: 5px 10px;
	background-color: #f5f5f5;
}

.lesson_info{
	padding: 30px 0;
	font-size: .875rem;
	line-height: 1.7;
}

.lesson_info_table{
	width: 100%;
	border-collapse: collapse;
	font-size: .875rem;
	line-height: 1.7;
}

.lesson_info_table th{
	width: 25%;
	padding: 16px;
	text-align: center;
	vertical-align: top;
	background-color: #f5f5f5;
	border: 1px solid #e6e6e6;
}

.lesson_info_table td{
	width: 25%;
	padding: 16px;
	vertical-align: top;
	border: 1px solid #e6e6e6;
}


/* =============================================== */
/* ショップ 　　　　　　　　　　　　　　　　　　　 */
/* =============================================== */

.shop_item{
	border: 2px solid #eee;
	padding: 50px 30px 40px 30px;
	margin-bottom: 40px;
	overflow: hidden;
}

.shop_photo{
	width: 300px;
	float: left;
}

.shop_photo img{
	width: 100%;
	height: auto;
}

.shop_data{
	width: 570px;
	float: right;
}

.shop_name{
	padding: 0 20px 30px 20px;
	border-bottom: 1px dotted #e5e5e5;
	font-size: 1.5em;
	font-weight: bold;
}

.shop_info{
	padding: 20px 20px 0 20px;
	font-size: .875rem;
}

.shop_info a{
	color: #f44336;
}

.shop_info ul{
	margin-bottom: 40px;
}

.shop_info li{
	overflow: hidden;
	margin-bottom: 1em;
}

.shop_info_name{
	float: left;
	width: 10em;
	color: #737373;
	line-height: 1.5;
}

.shop_info_info{
	float: left;
	line-height: 1.5;
}

.s_mapbox{
	display: none;
}

.map { 
	width: 600px;
	height: 400px;
	margin: auto;
}

.map iframe{ 
	width: 100%;
	height: inherit;
}


#cboxContent{
	border: 1px solid #f5f5f5 !important;

}

#cboxClose{
	right: 10px;
	bottom: 12px !important;
}

#cboxTitle{
	font-size: .75rem;
	padding-bottom: 16px;
}

#cboxTitle a{
	color: #666 !important;
}

/* =============================================== */
/* 講師紹介 　　　　　　　　　　　　　　　　　　　 */
/* =============================================== */

.pagemessage{
	margin: 20px 0 50px 0;
	text-align: center;
}

.coach_item{
	border: 2px solid #eee;
	padding: 40px 30px 26px 30px;
	margin-bottom: 40px;
	overflow: hidden;
}

.coach_photo{
	width: 200px;
	float: left;
}

.coach_data{
	width: 640px;
	float: right;
}

.coach_name{
	padding: 0 20px 30px 20px;
	border-bottom: 1px dotted #e5e5e5;
	font-size: 1.5em;
	font-weight: bold;
}

.coach_name_romaji{
	margin-left: 2em;
	font-size: .875rem;
	font-weight: bold;
	color: #737373;
}

.coach_info{
	padding: 20px 20px 0 20px;
	font-size: .875rem;
}

.coach_info a{
	color: #f44336;
}

.coach_info ul{
}

.coach_info li{
	overflow: hidden;
	margin-bottom: 1em;
}

.coach_info_name{
	float: left;
	width: 10em;
	color: #737373;
	line-height: 1.5;
}

.coach_info_info{
	float: left;
	line-height: 1.5;
	max-width: 460px;
}

.coach_info_movielink{
	display: block;
	color: #f44336;
	padding-left: 30px;
	background-image: url(../images/ic_movie_link.png);
	background-repeat: no-repeat;
	background-size: auto 1em;
	background-position: left 0 top 5px;
	margin-bottom: .4em;
}

.coach_info_movielink:last-of-type{
	margin-bottom:0;
}


/* =============================================== */
/* 料金　　 　　　　　　　　　　　　　　　　　　　 */
/* =============================================== */

.price_group_wrap{
	margin-bottom: 80px;
}

.price_group{
	border: 1px solid #eee;
}

.price_group_title{
	padding: 20px;
	background-color: #434343;
	font-size: 1.5rem;
	color: #fff;
	text-align: center;
}

.price_group_inner{
	padding: 30px;
	font-size: .875rem;
	line-height: 1.6;
}

.price_menu_item{
	margin-bottom: 50px;
	text-align: center;
	line-height: 2;
}

.price_menu_item:last-of-type{
	margin-bottom: 0;
}

.price_menu_medium{
	font-size: 1.125rem;
	margin-bottom: 12px;
	text-align: center;
}

.price_menu_xlarge{
	font-size: 1.875rem;
	font-weight: bold;
	text-align: center;
}

.price_menu_small{
	font-size: .875rem;
	margin-top: 10px;
	text-align: center;
}

.price_group_notes{
	padding: 20px 20px 0 20px;
	font-size: .875rem;
	line-height: 1.6;
}

.price_group_inner li{
	padding: 20px 30px;
	border-bottom: 1px solid #e5e5e5;
	font-size: 1rem;
	overflow: hidden;
}

.price_group_inner li:first-of-type{
	padding-top: 0;
}

.price_group_inner li:last-of-type{
	border-bottom: none;
	padding-bottom: 0;
}

.price_rental_name{
	float: left;
	width: 40%;
}

.price_rental_info{
	float: left;
	width: 60%;
}


/* =============================================== */
/* メディア 　　　　　　　　　　　　　　　　　　　 */
/* =============================================== */

.media_wrap{
	width: 900px;
	margin: auto;
	padding-top: 10px;
}

.media_gallery{
	overflow: hidden;
	margin-bottom: 30px;
}

.media_gallery_item{
	width: 289px;
	margin-bottom: 50px;
	margin-right: 16px;
	float: left;
	
}

.media_gallery_item:nth-of-type(3n){
	margin-right: 0;
}

.media_gallery_image{
	position: relative;
	width: 289px;
	height: 193px;
	overflow: hidden;
	background-color: #f7f7f7;
}

.media_gallery_image img{
	position: absolute;
	width: auto;
	height: auto;
	min-width: 100%;
	min-height: 100%;
	left: 50%;
  top: 50%;
  -webkit-transform: translate3d(-50%, -50%, 0);
          transform: translate3d(-50%, -50%, 0);
}

.media_gallery_date{
	margin-top: 20px;
	font-size: .875rem;
	font-weight: bold;
	color: #737373;
	
}

.media_gallery_title{
	margin-top: 10px;
	font-size: 1rem;
	font-weight: bold;
}

.media_list_wrap{
	margin-bottom: 80px;
}

.media_h3{
	padding: 20px 0 40px 0;
	font-size: 1.125rem;
	font-weight: bold;
}

.media_list{
	font-size: .875rem;
}

.media_list li{
	overflow: hidden;
	margin-bottom: 1.5em;
	line-height: 1.5;
}

.media_list_date{
	width: 10em;
	float: left;
	color: #737373;
}

.media_list_title{
	float: left;
}


/* =============================================== */
/* お知らせアーカイブ　　　　　　　　　　　　　　  */
/* =============================================== */


.pagenewsarea{
}

.pagenewsarea ul{
	font-size: .875rem;
	border-top: 1px solid  #e5e5e5;
	border-bottom: 1px solid  #e5e5e5;
	margin-bottom: 40px;
}

.pagenewsarea ul li{
	border-bottom: 1px solid  #e5e5e5;
}

.pagenewsarea ul li:last-of-type{
	border-bottom: none;
}

.pagenewsarea ul li a{
	display: block;
	padding: 20px;
	overflow: hidden;
	color: #000;
}

.paging{
	text-align: center;
	font-size: .875rem;
	margin-bottom: 20px;
}

.page-numbers{
	padding: 7px 10px;
	margin: 0 5px;
	background-color: #f5f5f5;
	border-radius: 3px;
}


/* =============================================== */
/* フッタ　 　　　　　　　　　　　　　　　　　　　 */
/* =============================================== */

.footercontents{
	width: 100%;
	background-color: #000;
}

.footercontents nav{
	width: 1000px;
	margin: auto;
	position: relative;
	font-size: .75rem;
	line-height: 3;
}

.footercontents nav a{
	color: #fff;
}

.footercontents nav ul{
	overflow: hidden;
}

.footercontents nav li{
	list-style: none;
	float: left;
	margin-right: 2em;
}

.footercontents nav small{
	position: absolute;
	top: 0;
	right: 0;
	color: #fff;
}

/* =============================================== */
/* 初心者講座　　　　　　　　　　　　　　　　　　　　　*/
/* =============================================== */

.beginner{
	font-size: 1rem;
	line-height: 1.8;
}

.beginner .wp-caption{
	width: 100% !important;
}

.beginner .wp-caption-text{
	text-align: center;
	padding-top: 10px;
	color: #666;
}

.beginner-image-wide{
	text-align: center;
	margin-top: 60px;
	margin-bottom: 50px;
}

.beginner-issuenum{
	font-size: 1rem;
	font-weight: bold;
	text-align: center;
	margin-top: 20px;
	color: #f44336;
}

.beginner-h3{
	font-size: 2.0rem;
	font-weight: bold;
	text-align: center;
	margin-top: 5px;
	margin-bottom: 50px;
}

.beginner-h4{
	font-size: 1.5rem;
	font-weight: bold;
	padding-bottom: 5px;
	border-bottom: 2px solid #ccc;
	margin-top: 60px;
	margin-bottom: 20px;
}

.beginner-h5{
	font-size: 1.2rem;
	font-weight: bold;
	margin-top: 40px;
	margin-bottom: 10px;
}

.beginner-youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin-bottom: 40px;
}
  
.beginner-youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

.beginner-message{
	padding: 30px;
	font-weight: bold;
	border: 4px solid #FFDCDA;
}

.beginner-ending-link-set{
	display: flex;
	justify-content: center;
	margin-top: 20px;
}

.beginner-ending-link{
	display: block;
	width: 400px;
	margin: 10px;
	padding: 8px 5px;
	text-align: center;
	font-size: 1.125rem;
	font-weight: normal;
	background-color: #f44336;
	color: #fff;
}

.beginner-whatsnext{
	padding: 40px;
	margin-top: 40px;
	text-align: center;
	font-weight: bold;
	background-color: #f7f7f7;
	color: #f44336;
}

.beginner-index-title{
	margin-bottom: 40px;
}

.beginner-index-title img{
	width: 100%;
	height: auto;
}

.beginner-index-introduction{
	padding: 20px 30px;
	border: 2px solid #e5e5e5;
	margin: 0 auto 40px auto;
	font-weight: bold;
	font-size: 1rem;
	line-height: 1.8;
}

.beginner-index-list-item{
	display: flex;
	margin-bottom: 20px;
}

.beginner-index-list-item-num{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 140px;
	background-color: #f44336;
}

.beginner-index-list-item-num a{
	display: block;
	color: #fff;
	font-size: 1.125rem;
	font-weight: bold;
	padding: 20px;
}

.beginner-index-list-item-title{
	flex: 1;
	display: flex;
	align-items: center;
	background-color: #eee;
}

.beginner-index-list-item-title a{
	color: #000;
	font-size: 1.125rem;
	font-weight: bold;
	padding: 20px;
}

.beginner-backtoindex{
	display: block;
	margin-top: 40px;
	padding: 14px 10px;
	border: 2px solid #f44336;
	text-align: center;
	font-weight: bold;
}

/* =============================================== */
/* Tax-Free Shop　　　　　　　　　　　　　　　　　　　　*/
/* =============================================== */

.taxfree a {
	text-decoration: underline;
}

.taxfree-main {
	text-align: center;
	margin-bottom: 4em;
}

.taxfree-main-text{
	text-align: center;
	margin: 2em;
	font-size: 1.125rem;
	font-weight: bold;
}

.taxfree-gallery {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 10px;
}

.taxfree-gallery-item{
	width: calc((100% - 10px) / 2);
}

.taxfree-gallery-item img {
	width: 100%;
	height: auto;
}

.taxfree-butterfly {
	padding: 1em;
	border: 2px solid #ff4291;
	text-align: center;
	font-size: 1.125rem;
	font-weight: bold;
	width: 70%;
	margin: 1em auto 2em auto;
}

.taxfree-h3 {
	background-color: #eee;
	font-size: 1.25rem;
	font-weight: bold;
	margin: 2em 0 1em 0;
	padding: 4px;
}

.taxfree-stores-list {
	display: flex;
	gap: 0 40px;
	margin-top: 2em;
}

.taxfree-stores-list-image{
	width: 400px;
}

.taxfree-stores-list-image img {
	width: 100%;
	height: auto;
}

.taxfree-stores-list-item-title {
	margin: 1em 0;
	font-size: 1.125rem;
	font-weight: bold;
}

.taxfree-stores-list-item-data b {
	font-weight: bold;
}

.taxfree-contents img{
	max-width: 100%;
}

/* =============================================== */
/* オリジナル商品　　　　　　　　　　　　　　　　　　　　*/
/* =============================================== */

.goodsmenu{
	width: 100%;
	display: flex;
	background-color: #ececec;
	font-size: 0.875rem;
}

.goodsmenu-heading{
	padding: 1.5em 3em;
	text-align: center;
	background-color: #000000;
	color: #ffffff;
	font-weight: bold;
	border-right: 1px solid #ffffff;
}

.goodsmenu ul{
	display: flex;
	flex-wrap: wrap;
	gap: 0 2px;
}

.goodsmenu ul li{
	border-right: 1px solid #ffffff;
}

.goodsmenu ul li a{
	display: block;
	padding: 1.5em;
	text-align: center;
	color: #000000;
	font-weight: bold;
}

.goodsmenu ul li a.active{
	border-bottom: 2px solid #000000;
}

.goodsmenu ul li a:hover,
.goodsmenu ul li a:visited{
	color: #000000;
}


/* =============================================== */
/* キャンペーン・お知らせ　　　　　　　　　　　　　　　　　　*/
/* =============================================== */

.information-h3{
	display: block;
	font-size: 1.25rem;
	font-weight: bold;
	margin: 1em 0;
	padding-bottom: 0.5em;
	border-bottom: 3px solid #999999;
}

.information-list{
	display: block;
	padding: 1em;
	border: 2px solid #eeeeee;
	margin-bottom: 5em;
}


.information-list li{	
	padding: 1em;
	border-bottom: 1px solid #eeeeee;
}

.information-list li:last-of-type{
	border-bottom: none;
}

.information-list li a{
	display: flex;
	align-items: center;
	color:#000;
}

.information-list-genre{
	border-radius: 50px;
	width: 8em;
	text-align: center;
	font-size: 0.75rem;
	margin-right: 1em;
}

.information-list-genre-campaign{
	background-color: #f44336;
	color: #fff;
}

.information-list-genre-news{
	border: 1px solid #f44336;
	color: #f44336;
}

.information-list-title{
	font-weight: bold;
}



/* =============================================== */
/* レスポンシブ　 　　　　　　　　　　　　　　　　 */
/* =============================================== */

@media screen and (max-width: 640px) {

.headercontents{
	width: 100%;
	position: relative;
}

.headeritem{
	width: 100%;
}

.header_translate_inner{
	width: 100%;
	text-align: left;
}

.header_translate_icon{

}

.header_translate_icon img{
	width: 100%;
	height: auto;
}

.translate_for_pc{
	display: none;
}

.translate_for_sp{
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	padding: 12px 20px 12px 10px;
	-webkit-transform: none;
	-moz-transform: none;
	-ms-transform: none;
	-o-transform: none;
	transform: none;
	width: 50px;
	height: 40px;
}

.menuicon{
	position: absolute;
	top: 0;
	right: 0;
	width: 44px;
	height: 44px;
	background-image: url(../images/ic_menu.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 24px;
	background-color: #f44336;
	cursor: pointer;
}

h1{
	padding: 0;
	float: none;
	text-align: center;
}

h1 a{
	padding: 10px;
	display: block;
}

.headernav{
	float: none;
}

.headernav li{
	display: block;
}

.headernav li:first-of-type a{
	padding: 0 25px;
}

.headernav_out{
	margin-left: 0;
}

.headernav_out > a{
	display: none !important;
}

.headernav_out ul{
	position: relative;
	visibility: visible;
	opacity: 1;
}

.headernav_out ul li{
	width: 100%;
}

.headernav_out:hover ul{
	visibility: visible;
	opacity: 1;
}

.headernav_out ul li a{
	padding: 0 25px !important;
	visibility: visible;
	opacity: 1;
	transition: 0s;
}

.headernav_out:hover ul li a{
	visibility: visible;
	opacity: 1;
}

.mainstage{
	width: 100%;
}

.kvarea{
	margin-bottom: 0;
}

.kvdouble{
	padding: 10px;
}

.kvimage{
	border: 3px solid #fff;
}

.kvimage_sp{
	display: block;
	width: 100%;
}

.kvimage_sp:nth-of-type(n+3){
	margin-top: 10px;
}

.kvimage_pc{
	display: none;
}

.kvimage img{
	width: 100%;
	height: auto;
	float: none;
}

.img1_a {
	position: relative;
	width: 100%;
	height: 100px;
	overflow:hidden;
	background-image:url(../images/bn_honmachi.png);
	background-position: center center;
	background-size: 100% auto;
}

.img1_b {
	display: none;
}

.img1_c {
	display: none;
}

/*
.img1_b {
	position: relative;
	width: 100%;
	height: 0;
	overflow: hidden;
	margin-left: 0;
	transform: skew(0deg);
	-webkit-transform: skew(0deg);
	transition:height 0.5s ease;
	-webkit-transition:height 0.5s ease;
}

.img1_a:hover .img1_b {
	width: 100%;
	height: 150px;
}

.img1_c {
	position: absolute;
	width: 100%;
	height: 150px;
	transform: skew(0deg);
	-webkit-transform: skew(0deg);
	background-image: url(../images/bn_honmachi_photo-sp.jpg);
	background-position: center center;
	background-size: cover;
}
*/

.img2_a {
	position: relative;
	width: 100%;
	height: 100px;
	overflow:hidden;
	background-image:url(../images/bn_suita.png);
	background-position: center center;
	background-size: 100% auto;
}

.img2_b {
	display: none;
}

.img2_c {
	display: none;
}

/*
.img2_b {
	position: relative;
	width: 100%;
	height: 0;
	overflow: hidden;
	margin-left: 0;
	transform: skew(0deg);
	-webkit-transform: skew(0deg);
	transition:height 0.5s ease;
	-webkit-transition:height 0.5s ease;
}		
.img2_a:hover .img2_b {
	width: 100%;
	height: 150px;
}
.img2_c {
	position: absolute;
	width: 100%;
	height: 150px;
	transform: skew(0deg);
	-webkit-transform: skew(0deg);
	background-image: url(../images/bn_suita_photo-sp.jpg);
	background-position: center center;
	background-size: cover;
}

.img3_a {
	position: relative;
	width: 100%;
	height: 100px;
	overflow:hidden;
	background-image:url(../images/bn_takumisp.png);
	background-position: center center;
	background-size: 100% auto;
}

.img3_b {
	display: none;
}

.img3_c {
	display: none;
}

.img3_b {
	position: relative;
	width: 100%;
	height: 0;
	overflow: hidden;
	margin-left: 0;
	transform: skew(0deg);
	-webkit-transform: skew(0deg);
	transition:height 0.5s ease;
	-webkit-transition:height 0.5s ease;
}		
.img3_a:hover .img3_b {
	width: 100%;
	height: 150px;
}
.img3_c {
	position: absolute;
	width: 100%;
	height: 150px;
	transform: skew(0deg);
	-webkit-transform: skew(0deg);
	background-image: url(../images/bn_ec_photo-sp.jpg);
	background-position: center center;
	background-size: cover;
}

.img4_a {
	position: relative;
	width: 100%;
	height: 100px;
	overflow:hidden;
	background-image:url(../images/bn_toyonakasp.png);
	background-position: center center;
	background-size: 100% auto;
}

.img4_b {
	display: none;
}

.img4_c {
	display: none;
}
*/

.img5_a {
	position: relative;
	width: 100%;
	height: 100px;
	overflow:hidden;
	background-image:url(../images/bn_ueroku.png);
	background-position: center center;
	background-size: 100% auto;
}

.img5_b {
	display: none;
}

.img5_c {
	display: none;
}

.img6_a {
	position: relative;
	width: 100%;
	height: 100px;
	overflow: hidden;
	background-image: url(../images/bn_umeda.png);
	background-position: center center;
	background-size: 100% auto;
}

.img6_b {
	display: none;
}

.img6_c {
	display: none;
}


.bannerarea{
	width: 100%;
	padding: 20px 10px;
	margin-bottom: 0;
}

.bannerarea img{
	width: 100%;
	height: auto;
}

.bannerimage_pc{
	display: none;
}

.bannerimage_sp{
	display: block;
	border: 2px solid #fff;
	margin-bottom: 10px;
}

.bannerimage_sp:last-of-type{
	margin-bottom: 0;
}

.topcontents{
	padding: 0;
}

.toph2{
	font-size: 1.125rem;
	font-weight: normal;
	padding: 20px 0 ;
	text-align: center;
}

.topnewsarea{
	margin-bottom: 0;
}

.topnewsarea ul{
	padding: 0;
	background-color: #fff;
	border-top: 1px solid  #e5e5e5;
	border-bottom: 1px solid  #e5e5e5;
	border-left: none;
	border-right: none;
}

.topnewsarea ul li a{
	padding: 15px;
}

.topnewsarea_archive{
	margin-bottom: 16px;
	margin-right: 10px;
}

.newslistdate{
	width: 8em;
	font-size: .75rem;
}

.newslistshop{
	font-size: .75rem;
}

.newslisttitle{
	display: block;
	float: none;
	clear: both;
	padding-top: 5px;
	line-height: 1.5;
}

.topmenupanel_large{
	padding: 20px 10px 8px 10px;
	margin-bottom: 0;
	background-color: #ededed;
	overflow: visible;
}

.topmenupanel_large_item{
	width: 100%;
	height: 220px;
	float: none;
	background-color: #fff;
	box-shadow: 2px 2px 0 0 #ccc;
	margin-bottom: 8px;
}

.topmenupanel_large_item:nth-of-type(n+2){
	border-left: 1px solid #ccc;
}

.topmenupanel_large_item a{
	
	height: 220px;
	-webkit-align-items: center;
}

.topmenupanel_small{
	background-color: #ededed;
	padding: 10px;
}


.topmenupanel_small_item{
	width: 49%;
	height: 120px;
	margin-right: 2%;
	margin-bottom: 8px;
	background-color: #fff;
	box-shadow: 2px 2px 0 0 #ccc;
}

.topmenupanel_small_item:nth-of-type(2n){
	margin-right: 0;
}

.topmenupanel_small_item a{
	height: 120px;
	-webkit-align-items: center;
}

.mainstage_wrap{
	padding: 0;
}

.pagecontents{
	padding: 30px 10px;
	min-height: 450px;
}

.page_h2{
	padding: 30px 0;
	font-weight: normal;
}

.page_image img{
	width: 100%;
	height: auto;
}

.page_text{
	padding: 10px;
}

.price_group_title{
	padding: 12px;
	font-size: 1.25rem;
}

.price_group_wrap{
	margin-bottom: 60px;
}

.price_group_notes{
	padding: 10px 0 0 0;
}

.price_group_inner{
	padding: 20px 10px;
}

.price_group_inner li{
	padding: 10px;
	font-size: .875rem;
}

.price_menu_medium{
	font-size: 1rem;
}

.price_menu_xlarge{
	font-size: 1.5rem;
}

.price_menu_small{
	font-size: .75rem;
}

.button_large{
	padding: 12px;
	font-size: 1.125rem;
}

.button_small{
	padding: 10px;
	font-size: .875rem;
	font-weight: bold;
}

.lesson_item{
	padding: 16px;
}

.lesson_item_header{
	padding: 10px 0 20px 0;
}

.lesson_title{
	float: none;
}

.lesson_shoptag{
	margin-top: 10px;
	float: none;
}

.lesson_info{
	padding: 20px 0;
}

.lesson_info_table th{
	display: block;
	width: 100%;
	border-bottom: 0;
	padding: 10px;
}

.lesson_info_table td{
	display: block;
	width: 100%;
	border-bottom: 0;
}

.lesson_info_table{
	border-bottom: 1px solid #e6e6e6;
}

.shop_item{
	padding: 20px 20px 30px 20px;
}

.shop_photo{
	width: 100%;
	float: none;
	text-align: center;
}

.shop_name{
	padding: 20px 0;
	font-size: 1.25rem;
}

.shop_info{
	padding: 0;
}

.shop_info ul{
	margin-top: 10px;
	margin-bottom: 30px;
}

.shop_data{
	width: 100%;
	float: none;
}

.shop_info_name{
	display: block;
	width: 100%;
}

.map { 
	width: 300px;
	height: 400px;
}

.pagemessage{
	margin: 0 0 20px 0;
}

.coach_item{
	padding: 20px;
}

.coach_photo{
	width: 160px;
	height: 160px;
	overflow: hidden;
	float: none;
	margin: auto;
	text-align: center;
	border-radius: 50%;
}

.coach_photo img{
	width: 100%;
	height: auto;
}

.coach_data{
	width: 100%;
	float: none;
}

.coach_name{
	padding: 16px 0;
	text-align: center;
	font-size: 1.25rem;
	border: none;
}

.coach_name_romaji{
	display: block;
	margin: 0;
	font-size: .75rem;
}

.coach_info{
	padding: 0;
}

.coach_info_name{
	display: block;
	width: 100%;
}

.coach_info_more{
	display: block;
	width: 100%;
	border-radius: 4px;
	border: 1px solid #e5e5e5;
	padding: 8px;
	font-size: .875rem;
	text-align: center;
}

.media_wrap{
	width: 100%;
}

.media_h3{
	border-top: 1px solid #e5e5e5;
}

.media_gallery_item{
	width: 100%;
	float: none;
}

.media_gallery_image{
	width: 100%;
	height: auto;
	overflow: visible;
}

.media_gallery_image img{
	position: relative;
	width: 100%;
	height: auto;
	min-width: 100%;
	min-height: 100%;
	left: initial;
	top: initial;
	-webkit-transform: none;
	transform: none;
}

.media_list_date{
	float: none;
}

.media_list_title{
	float: none;
}

.pagenewsarea ul li a{
	padding: 10px;
}

.single_h2{
	padding: 20px;
	font-size: 1.25rem;
}

.single_newsinfo{
	padding: 20px 10px;
}

.single_inner{
	padding: 10px;
}

.footercontents nav{
	width: 100%;
}

.footercontents{
	text-align: center;
}

.footercontents nav{
	width: 80%;
	margin: auto;
	padding: 10px 0;
	font-size: .625rem;
	line-height: 2;
}

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

.footercontents nav li{
	display: inline;
	white-space: nowrap;
	float: none;
	margin-right: 1em;
	margin-left: 1em;
	height: 1.5em;
}

.footercontents nav small{
	position: relative;
}

.beginner .wp-caption{
	width: 100% !important;
}

.beginner .wp-caption-text{
	font-size: .875rem;
}

.beginner-image-wide{
	margin-top: 50px;
	margin-bottom: 50px;
}

.beginner-image-wide img{
	width: 100%;
	height: auto;
}

.beginner-issuenum{
	margin-bottom: 10px;
}

.beginner-h3{
	font-size: 1.8rem;
	line-height: 1.2;
	margin-bottom: 50px;
}

.beginner-h4{
	font-size: 1.25rem;
	margin-top: 40px;
	margin-bottom: 20px;
}

.beginner-message{
	padding: 30px;
	border: 3px solid #FFDCDA;
}

.beginner-ending-link-set{
	display: block;
}

.beginner-ending-link{
	display: block;
	width: 100%;
	margin: 10px 0;
	padding: 8px 5px;
	font-size: 1rem;
}

.beginner-index-title{
	margin-bottom: 20px;
}

.beginner-index-introduction{
	margin-bottom: 20px;
	padding: 20px;
}

.beginner-index-list-item{
	margin-bottom: 16px;
}

.beginner-index-list-item-num{
	width: 100px;
}

.beginner-index-list-item-num a{
	font-size: .875rem;
}

.beginner-index-list-item-title a{
	font-size: .875rem;
}

/* =============================================== */
/* Tax-Free Shop　　　　　　　　　　　　　　　　　　　　*/
/* =============================================== */

.taxfree-main img {
	width: 100%;
	height: auto;
}

.taxfree-butterfly {
	width: 100%;
}

.taxfree-gallery {
	flex-direction: column;
	gap: 10px;
}

.taxfree-gallery-item{
	width: 100%;
}

.taxfree-gallery-item img {
	width: 100%;
	height: auto;
}

.taxfree-stores-list {
	flex-direction: column;
	gap: 40px 0;
}

.taxfree-stores-list-image{
	width: auto;
}

.taxfree-stores-list-image img {
	width: 100%;
	height: auto;
}

/* =============================================== */
/* オリジナル商品　　　　　　　　　　　　　　　　　　　*/
/* =============================================== */

.goodsmenu-heading{
	padding: 1em;
}

.goodsmenu ul li a{
	padding: 1em;
}

/* =============================================== */
/*　キャンペーン・お知らせ　　　　　　　　　　　　　　　　　　　*/
/* =============================================== */

.information-h3{
	margin-top: 3em;
}

.information-list{
	padding: 0;
}

.information-list li a{
	display: block;
	align-items: center;
	color:#000;
}

.information-list-genre{
	margin-right: 0;
	margin-bottom: 0.5em;
}


}

