@charset "utf-8";
/*==================================================
	タブレットのみ適応
==================================================*/
@media only screen and (max-width: 768px) and (min-width: 641px){
	.dsp_smt { display: none; }
}
/*==================================================
	タブレット・スマホに適応
==================================================*/
@media only screen and (max-width: 768px) {
	.dsp_hp { display: none; }

	/* ヘッダ */
	#header {
		overflow: hidden;
		height: 50px;
		padding: 0;
		background: #fff;
		z-index: 9997;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		box-shadow: 0 0 5px rgba(0,0,0,0.2);
	}
	#header h1.title {
		height: 50px;
		padding-left: 10px;
	}
	#header h1.title img {
		width: auto;
		max-height: 30px;
	}
	/* お問い合わせ */
	#header .contact {
		position: relative;
	}
	#header .contact .tel,
	#header .contact .btn {
		position: absolute;
		top: 0;
		right: 92px;
		display: block;
		width: 24px;
		height: 50px;
		padding: 0 11px;
		/* 縦方向中央揃え */
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
		align-items: center; /* 縦方向中央揃え */
		-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
		justify-content: center; /* 横方向中央揃え */
	}
	#header .contact .btn {
		right: 45px;
	}
	#header .contact .tel span,
	#header .contact .instagram {
		display: none;
	}
	#page_title {
		padding-top: 50px;
	}
	/* コンテナ */
	#container h3.sub {
		margin-bottom: 30px;
		font-size: 20px;
	}
	#container .btn02 a {
		width: 200px;
		line-height: 46px;
		font-size: 16px;
	}
	.main {
		padding-left: 15px;
		padding-right: 15px;
	}
	#main, #navi {
		clear: both;
		padding-bottom: 30px;
	}
	/* フッター */
	#footer .box dt {
		top: 20px;
	}
	#footer .box dt img {
		width: 120px;
	}
	#copyright {
		height: 30px;
		line-height: 30px;
	}
	/* パンくずリスト */
	#page_navi {
		margin-bottom: 20px;
		padding-top: 15px;
		font-size: 11px;
	}
	/* 枠のマージン・パディング */
	.mb { margin-bottom: 40px; }
	.pt { padding-top: 40px; }
	.pb { padding-bottom: 40px; }
	/* アンカーリンク用上部スペース */
	.pad_anchor {
		margin-top: -50px;
		padding-top: 50px;
	}
	/*--------------------------------------------------
		トップページ
	--------------------------------------------------*/
	/* キャンペーン */
	#top_campaign {
		width: auto;
	}
	#top_campaign .sub_box {
		padding: 20px;
	}
	#top_campaign .sub_box .campaign {
		font-size: 43px;
	}
	#top_campaign .sub_box h3 {
		font-size: 35px;
	}
	#top_campaign .sub_box h3::before {
		width: 80%;
		height: 3px;
	}
	#top_campaign .sub_box ol {
		width: auto;
	}
	#top_campaign .sub_box li {
		font-size: 28px;
		line-height: 34px;
		padding-left: 1.9em;
		text-indent: -1.9em;
	}
	#top_campaign .sub_box li::before {
		font-size: 23px;
		width: 40px;
		height: 40px;
		line-height: 40px;
	}
	#top_campaign .sub_box li .ft01 {
		font-size: 53px;
	}
	#top_campaign .sub_box li .ft02 {
		font-size: 35px;
	}
	#top_campaign .sub_box .attention_box {
		width: 71%;
	}
	/* クラス */
	#top_class .flex_box .box {
		width: 48%;
	}
	#top_class .flex_box .ttl_box {
		top: 23px;
		height: 90px;
	}
	#top_class .flex_box .ttl_box .logo {
		width: 80px;
	}
	#top_class .flex_box .ttl_box h3 {
		font-size: 25px;
	}
	#top_class .flex_box .detail_box .sub_box {
		padding: 20px 0;
	}
	#top_class .flex_box .detail_box .sub_box .text {
		padding: 20px 20px 0;
	}
	/* ごあいさつ */
	#top_greeting .bg_box {
		height: auto;
	}
	#top_greeting .bg_box::before {
		bottom: -60px;
		right: -96px;
		transform: scale(0.6);
	}
	#top_greeting .text {
		width: 70%;
		padding: 20px;
		top: -40px;
	}
	#top_greeting .text h3 {
		font-size: 30px;
	}
	#top_greeting .text h3::before {
		left: -20px;
		width: 230px;
	}
	/* コンテンツ */
	#top_contents .flex_box .contents .photo {
		width: 90%;
	}
	#top_contents .flex_box .contents .text {
		padding: 30px 20px 20px;
		width: 90%;
		top: -50px;
	}
	#top_contents .flex_box .contents .text .icon {
		width: 56px;
	}
	#top_contents .flex_box .contents .text h3 {
		font-size: 27px;
	}
	#top_contents .flex_box .contents .text h3 span {
		font-size: 16px;
	}
	/* お知らせ */
	#top_info {
		padding: 60px 0;
	}
	#top_info::before {
		background-size: 230px auto;
	}
	#top_info .ttl_box h3 {
		font-size: 27px;
	}
	#top_info .info_box {
		width: 80%;
	}
	#top_info .info_box dl {
		padding: 15px;
	}
	#top_info .info_box dt {
		float: none;
		width: auto;
	}
	#top_info .info_box dd {
		margin-left: 0;
	}
	/*--------------------------------------------------
		スタッフ紹介
	--------------------------------------------------*/
	#staff {
		padding-top: 50px;
	}
	#staff::before {
		background-size: 24% auto;
	}
	#staff h3 {
		margin-bottom: 30px;
	}
	#staff .box {
		padding: 10px;
		margin-bottom: 40px;
	}
	#staff .sub_box {
		padding: 25px;
	}
	#staff .sub_box .photo {
		width: 30%;
	}
	#staff .sub_box .text .name {
		font-size: 25px;
	}
	#staff .sub_box .text dd li {
		line-height: 25px;
		margin-bottom: 10px;
	}
	#staff .sub_box .text dd li:last-child {
		margin-bottom: 0;
	}
	/*--------------------------------------------------
		レッスンスケジュール・クラス案内
	--------------------------------------------------*/
	#schedule {
		padding-top: 50px;
		padding-bottom: 60px;
	}
	#schedule::before {
		background: url(../img/schedule/lesson_schedule.png) no-repeat top left 8px/ 66% auto,
		url(../img/schedule/schedule_bg.jpg) no-repeat bottom left / 100% auto;
	}
	#calendar h3, #schedule h3 {
		font-size: 25px;
		margin-bottom: 30px;
	}
	#schedule .box {
		padding: 35px 0 50px;
	}
	#schedule .box .photo img {
		width: 90%;
	}
	#calendar .box .btn, #schedule .box .btn {
		bottom: -25px;
	}
	#calendar .box .btn a, #schedule .box .btn a {
		line-height: 52px;
		font-size: 16px;
		width: 220px;
	}
	#calendar .box .btn a img.pdf, #schedule .box .btn a img.pdf {
		width: 26px;
	}
	#class::before {
		background: url(../img/schedule/class_information.png) no-repeat top right 8px / 66% auto;
	}
	#class h3 {
		font-size: 25px;
		margin-bottom: 30px;
	}
	#class .class {
		margin-bottom: 40px;
	}
	#class .class h4 {
		width: 285px;
		line-height: 70px;
		font-size: 25px;
	}
	#class .general .photo {
		width: 140px;
	}
	#class .junior .photo {
		top: -29px;
		width: 100px;
	}
	#class .class .box {
		padding: 35px;
	}
	#class .class .box th,
	#class .class .box td {
		display: block;
		width: auto;
		padding: 15px;
	}
	#class .class .box th {
		font-size: 20px;
	}
	#calendar::before {
		background: url(../img/schedule/calendar.png) no-repeat top left 8px / 40% auto,
		url(../img/schedule/calendar_bg.jpg) no-repeat top center / 100% auto;
	}
	#calendar .box {
		width: 530px;
		padding: 35px 0 50px;
	}
	/*--------------------------------------------------
		ジュニア選手育成・強化クラス / 女子ダブルスクラス
	--------------------------------------------------*/
	#development_class .bg_wide {
		padding-top: 50px;
	}
	#development_class .bg_wide::before {
		background: url(../img/class/playerdevelopment.png) no-repeat top left 8px / 66% auto;
	}
	#doubles h3, #development_class h3 {
		font-size: 25px;
		line-height: 65px;
		margin-bottom: 30px;
		padding-left: 100px;
	}
	#doubles h3::before, #development_class h3::before {
		width: 80px;
		height: 63px;
		background-size: 80px;
	}
	#development_class .txt {
		margin-bottom: 30px;
	}
	#doubles h4, #development_class h4 {
		font-size: 30px;
		margin-bottom: 30px;
	}
	#doubles .motto, #development_class .motto {
		margin-bottom: 40px;
	}
	#development_class .motto .flex_box .box {
		width: 31%;
	}
	#development_class .motto .flex_box .box .num {
		font-size: 30px;
	}
	#doubles .feature, #development_class .feature {
		margin-bottom: 40px;
	}
	#doubles .feature li, #development_class .feature li {
		line-height: 30px;
		padding: 15px;
		margin-bottom: 20px;
	}
	#doubles .feature li span.blk, #development_class .feature li span.blk {
		font-size: 18px;
	}
	#doubles .feature li span.cl, #development_class .feature li span.cl {
		font-size: 20px;
	}
	#doubles .feature li span.blk::before, #development_class .feature li span.blk::before {
		width: 24px;
		height: 21px;
		background-size: 24px;
	}
	#development_class .feature .photo {
		right: 0;
	}
	#development_class .feature .photo img {
		height: 200px;
	}
	#development_class .class_detail {
		padding: 25px;
		margin-bottom: 40px;
	}
	#doubles .class_detail h5 .mp, #development_class .class_detail h5 .mp {
		font-size: 25px;
	}
	#development_class .class_detail .flex_box .box dd .tbl {
		border-bottom: 1px solid #cccccc;
	}
	#development_class .class_detail .flex_box .box dd .tbl th,
	#development_class .class_detail .flex_box .box dd .tbl td {
		display: block;
		width: auto;
		border-bottom: none;
	}
	#doubles .bg_wide {
		padding-top: 50px;
	}
	#doubles .bg_wide::before {
		background: url("../img/class/women'sdoubles.png") no-repeat top right 8px / 66% auto;
	}
	#doubles .feature .flex_box .photo {
		width: 36%;
	}
	#doubles .feature .flex_box ul {
		width: 61%;
	}
	#doubles .division {
		margin-bottom: 30px;
	}
	#doubles .division .flex_box dl {
		width: 31%;
	}
	#doubles .division .flex_box dt {
		line-height: 50px;
	}
	#doubles .division .flex_box dt span {
		font-size: 18px;
	}
	#doubles .division .flex_box dd {
		padding: 15px;
	}
	#doubles .class_detail {
		padding: 25px;
		width: auto;
	}
	#doubles .class_detail .tbl {
		border-bottom: 1px solid #cccccc;
	}
	#doubles .class_detail .tbl th, #doubles .class_detail .tbl td {
		display: block;
		width: auto;
		border-bottom: none;
	}
	#doubles .pst {
		padding-bottom: 120px;
	}
	#doubles .pst .photo {
		width: 90px;
	}
	/*--------------------------------------------------
		お問い合せ
	--------------------------------------------------*/
	#mailform .tbl {
		border-bottom: 1px solid #BBB;
	}
	#mailform .tbl th,
	#mailform .tbl td {
		display: block;
		width: auto;
		border-bottom: none;
	}
	#mailform .tbl input[type="text"],
	#mailform .tbl textarea {
		font-size: 120%;
	}
	#mailform .btn input {
		width: 120px;
	}
/*------------------------------------------------*/
}