@charset "utf-8";
/* contents */
main{ padding:7em 0 5em; }
.line_deco{ position:relative; padding-top:5em; }
.line_deco::before{ position:absolute; content:""; width:100%; height:14px; top:0; left:0;
	background:url(../img/pat_g_l.png) 0 0 / 340px; }
.d_info{ width:100%; }
.d_info	 > * { padding:1em 1em; border-top:#c8c8c8 solid 1px; border-bottom:#c8c8c8 solid 1px; }
.d_info dt { width:25%; font-weight:300; }
.d_info dd { flex:1; }
.d_info + .d_info	> * { border-top:0; }
.sub_line{ margin:0 0 2em; padding-bottom:0.8em; font-size:1.2em; border-bottom:2px solid #DDD; }

.sub_tx.beauty{ position:relative; margin-top:2em; text-align:center; line-height: 2.2; }
.sub_tx.beauty::before{ position:absolute; z-index:-1; content:""; width:100%; height:100%;
	left:0; bottom:0; background:#a0001a;  }
.sub_tx.beauty::after{ position:absolute; z-index:-1; content:""; width:40%; height:100%;
	right:0; bottom:0; background:url(../img/pattern02.png); }

/* header */
.wrap_header .copy{ display:none; }

/* instructor */
#instructor .instructor{ padding-bottom:4em; }
#instructor .instructor::before{ top:18%; }
#instructor .instructor .inner{ width:inherit; }
#instructor .instructor .line_deco .pic{ margin-right:0; margin-left:5em; }
#instructor .instructor .sub_tx{ margin:1.5em 0; font-size:1.3em; }

/* lesson */
.lesson .con .class_list li{ display:-webkit-flex; display:flex; margin-bottom:2em; }
.lesson .con .class_list li .sub{ position:relative; width:30%; margin-right:5%; padding-left:2.0em; 
	font-size:1.4em; font-weight:400; }
.lesson.fee .con .class_list li .sub{ margin-right:0; }
.lesson .con .class_list li .sub::before{ position:absolute; content:""; width:1.5em; padding-top:50%;
	top:0; left:0; background:url(../img/icon_feather2.svg) no-repeat 0 0 / contain; }
.lesson .con .class_list li .txt{ width:60%; margin-top:0; }
.lesson .con .class_list li.toe{ position:relative; width:90%; margin:6em auto 2em; padding:2em 1.5em; 
	border:1px solid #909090; }
.lesson .con .class_list li.toe::before{ position:absolute; content:""; width:2.4em; padding-top:50%;
	top:-4em; left:50%; margin-left:-1.2em; background:url(../img/icon_plus.svg) no-repeat 0 0 / contain; }
.lesson .con .class_list li.toe .sub{ width:35%; padding-left:2.2em; }
.lesson .con .class_list li.toe .sub::before{ width: 1.8em; background-image:url(../img/icon_toe.png); }
.lesson .beginner .toe .sub{ padding-top:0.5em; }
.lesson .beginner .toe{ padding:0 0 0 1.7em; border:0; }
.lesson .con .class_list li .beginner .sub.toe{ padding-left:1.5em; }
.lesson .con .class_list li .beginner .sub.toe::before{ left:1.2em; }
.lesson .con .class_list li.visitor .toe{ padding:0; border:0; }
.lesson .con .class_list li.visitor .txt .sub{ padding-left:1.4em; }
.lesson .con .class_list li.visitor .txt .sub::before{ left:1.2em; }
#ballet .lesson.fee{ padding-bottom:0; }
#ballet .lesson.fee, #yoga .lesson.fee{ padding-top:0; }
.each{ margin-bottom:3em; }

.lead_tx{ margin:3em 0 4.5em; }

/* fee */
.lesson.fee{ background:inherit; }
.fee .box{ margin:2.5em auto; border:1px solid #c8c8c8; }
.fee .box .beginner{ padding:1em 2em 0; }
.fee .box .sub{ position:relative; }
.visitor .d_data{ margin-bottom:1em; }
.lesson.fee .con{ padding-left: 4em; }
.lesson.fee .con li .sub.free, .lesson.fee .con li .sub.toe{ padding-left:1.3em; }
.lesson.fee .con li .sub.free::before{ width:0.7em; background-image:url(../img/icon_beginner.svg); }
.lesson.fee .con li .sub.toe::before{ background-image:url(../img/icon_toe.png); }
.fee .price{ margin-left:0.6em; padding:0.2em 0.5em; font-size:1.1em; border:1px solid #EEE; }
.fee .icon_plus{ display:inline-block; width:34px; height:34px; padding:0 10px; }
.fee .cam{ position:relative; z-index:1; padding:1.8em 2em; background:#a0001a; color:#FFF; }
.fee .cam::before{ position:absolute; content:""; width:100%; height:30%; top:0; left:0;
  background:url(../img/pat_r.png); z-index:-1; }
.fee .cam .mincho{ font-size:1.2em; }
.fee .cam .mincho strong{ margin:0 0.3em; font-size:1.3em; }
.fee .cam p{ margin:0; }

/* contact */
#contact .con{ padding-left: 6em; background: url(../img/icon_line.svg) repeat-y 0 0 / 1em; }
.wpcf7 .required{ float: right; display: inline-block; margin-top: 3px; padding: 0 5px;
	font-size: .85em !important; color: #FFF; background: #DD757C; }
#contact .con .txt{ margin-bottom:2em; }
input[type="submit"], #contact input[type="button"]{ margin:0 auto; padding:0.5em 2em; font-size: 1.1em;
  color:#FFF; background:#a0001a; border:none; transition:all 0.5s ease 0s; }
input[type="submit"]:hover, input[type="button"]:hover{ background:#8c0017; }
 div.wpcf7-mail-sent-ok{ border:0 !important; text-align:center; }
#contact .lead{ margin-bottom:2.5em; font-size:0.95em; }

/* 新着情報　------------------------------------------------- */
.con_main{ width:72%; }
.blog_side { width:24%; padding:1em; font-size:0.9em; background:#333; }

.spInner > article { padding:10px 20px; margin-bottom:60px; background:#FAF7F1; }

.secTtl, .secTtl > span { height:auto; min-height:38px; }
.secTtl { border-bottom-color:#777; }
.secTtl > span { line-height:1.3; border-bottom:none; background-position:0 20%; }
.post_info{ margin-bottom:1.5em; text-align:right; font-size:0.9em; }
.post_info .i_date, .post_info .i_cat{ margin-right:1em; }
.post_info .i_tag a{ display:inline-block; margin:0.5em 0.3em; padding:0.2em 0.5em; text-decoration:none; 
	color:#FFF; background:#666; border-radius: 3px; }
.conttl{ margin:0 0 2em; padding:0.5em 0.8em; font-size:1.3em; background:#333; }

.entry-header p { text-align:right; margin:0 0 15px; font-size:.9em; }
.entry-header i { padding:0 0.5em; color:#999; }

.entry-footer { clear:both; padding:20px 0 0; border-top: 2px dashed #d5b7b3; }
.entry-footer p { margin:0; }
.entry-footer i { color:#FFF; }
.entry-footer a { color:#FFF; }

/* 保護者の方ログイン */
#membership-login .con_main, #password-reset .con_main, #membership-profile .con_main, #membership-registration .con_main { float: none; width: 100%; max-width: 800px; margin: auto; }
.swpm-join-us-link { display: none; }
.swpm-post-not-logged-in-msg a[href*="membership-join"] { display: none; }

	/* 本文再設定 */
	.entry-content h1, .post h2, .post h3, .post h4, .post h5, .post h6{margin:1.5em 0 0.5em; font-weight:bold;}
	.entry-content h1{font-size:180%; margin-top:1em;}
	.entry-content h2{font-size:160%; margin-top:1em;}
	.entry-content h3{font-size:140%;}
	.entry-content h4{font-size:120%;}
	.entry-content h5{font-size:110%;}
	.entry-content h6{font-size:100%;}
	
	.entry-content p { margin:0 0 1em; line-height:1.6; }
	.entry-content ul { list-style-type:disc; margin:15px 0px 15px 1.5em; }
	.entry-content ol { list-style-type:decimal; margin:15px 0px 15px 1.8em; padding:0; }

	.post blockquote{
		border-left:5px solid #ddd;
		background:#eee;
		padding:10px;
		margin:20px 0;
		font-style:italic;
		}
		.post blockquote p{margin:0;}


.more-link { float:right }
.more-link:hover {  }

.tag { padding:30px 0px 0px 0px; clear:both; }

#contents .t_wood{ width:100%; margin-top: -15px; padding:15px 60px 15px 40px; text-align:left; font-size:1.3em; line-height:1.5; background:#d7f0f6; }
#news .entry-footer .i_cat{ margin-right: 10px; font-size:1.0em; }

/* 検索結果 */
.search .post { min-height:110px; margin-bottom:20px; padding: 15px 13px; }
.search .post:before { content:""; }
.search .entry-header p { text-align:left; margin-left:12px; }
.search .entry-header span { margin-left:0; margin-right:1em; }
.search .entry-summary p { margin: 10px 0 0 12px; }

/* シングルページ,固定ページ */
.post{ margin-bottom:4em; padding:2em 3em 2em 4em; box-shadow:10px 2px 20px rgba(0,0,0,0.05);
	background: url(../img/icon_line.svg) repeat-y 0 0 / 1.2em; }
.post a{ text-decoration:none; color:#FFF; }
.post .sub_line{ margin-bottom:1em; }

.navigation { margin:-30px 0 40px; clear:both; overflow:hidden; }
.navigation span { display:block; }
.navigation a { display:inline-block; position:relative; max-width:300px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  padding:4px 30px 4px 30px; text-decoration:none; font-size:0.9em; color:#FFF; background:#666; border-radius:10px; }
.navigation a:hover{ background-color:#666; }
.navigation a::after { content: ''; width: 5px; height: 5px; border: 0px; border-top: solid 1px #FFF; border-right: solid 1px #FFF; 
  -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; }
.navigation .prev { float:left; margin-bottom:10px; }
.navigation .prev a::after { top:40%; left:15px; }
.navigation .next { float:right; }
.navigation .next a::after { top:40%; right:15px; }

.wp-pagenavi { text-align:center; }

/* コメント欄 */
#respond { margin-top:15px; }
#reply-title { font-size:1.2em; font-weight:bold; }
#commentform p{ margin:5px 0px; }
#commentform label { display:inline-block; width:120px; }
#commentform input[type="text"], #commentform textarea { width:475px; padding:4px; border:1px solid #DDD; }
#commentform .form-submit { text-align:center; }
#commentform .form-submit input { padding:5px 10px; }

#comments { padding:15px; text-align:left; background:url(images/bg_comments.png); }
#comments-count { padding:3px 15px; color:#FFF; background:#630; font-size:1.2em; font-weight:bold; box-shadow:0 0 3px rgba(0,0,0,0.4); }

#comments-list li { margin-top:15px; position:relative; }
#comments-list .children li { margin-left:20px; padding-right:0; padding-bottom:0; border-top:1px dotted #DDD; box-shadow:none; }
	#comments-list .comment-author .fn { font-style:normal; font-weight:bold; font-size:1.2em; }
	#comments-list .avatar { float:left; margin-right:15px; }
	#comments-list .comment-meta { margin-bottom:20px; line-height:1; }
		#comments-list .comment-meta a { color:#666; }
			#comments-list .comment-meta a:hover { color:#999; }
	#comments-list p{ margin:0 0 0.8em 63px; }
	#comments-list .reply { text-align:right; }
		#comments-list .reply a{ padding:3px 10px; background:#6DCBAB; color:#FFF; }
			#comments-list .reply a:hover { background:#53C8D9; }
/* コメント欄end */


/* 投稿画像等設定 */

img.size-auto,
img.size-full,
img.size-large,
img.size-medium,
.attachment img {
	max-width:100%; height:auto; }

.alignleft,
img.alignleft {
	display:inline; float:left; margin-right:15px; margin-top:4px; }

.alignright,
img.alignright {
	display:inline; float:right; margin-left:15px; margin-top:4px; }

.aligncenter,
img.aligncenter {
	clear:both; display:block; margin-left:auto; margin-right:auto; }

img.alignleft,
img.alignright,
img.aligncenter {
	margin-bottom:12px; }

.post div.wp-caption{margin:20px 0;}
	.post div.wp-caption img{ margin:0;}
	.post div.wp-caption p{ font-size:85%;}
.wp-smiley { margin:0; }
#content .attachment img { display:block; margin:0 auto; }
/* 投稿画像等設定end */

/* シングルページ,固定ページend */


/* side------------------------ 
/* ウィジェット */
.widget-title { padding:0.5em 0.8em; background: #000; }
.widget-title span { font-weight:500; }
.widget > ul { margin:1.2em 0 1.5em; }
.widget > ul > li { border-bottom:1px solid #ccc; }
.widget > ul > li > a{ display:block; position:relative; padding:0.5em 0.5em 0.5em 1.2em; 
	font-size:0.95em; text-decoration:none; color:#FFF; }
.widget > ul > li:last-child{ padding-bottom:0; border:0; }
.widget > ul > li > a:before{ content: ''; width: 5px; height: 5px; 
border: 0px; border-top: solid 1px #444; border-right: solid 1px #444; 
  -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg);
  position: absolute; top: 45%; left: 2px; }
 .widget > ul > li > a:hover{ background:#000; }

/* アーカイブ年月 */
#archives2-2 li span { font-weight:500; }
#archives2-2 li ul { margin:0; display: -webkit-flex; display:flex; }
#archives2-2 li ul li { width:16.666%; margin:0; }
#archives2-2 li ul li a { padding-left:0; font-size:.9em; }
/*
#archives2-2 li ul li a {
	display:inline-block; padding: 5px; 
	font-size: 0.85em; text-align: center;
	color: #fff; background-color:#006d2c; border-radius: 5px;
  }
*/
/* 検索フォーム */
#searchform { margin:0 0px 20px 0px; position:relative; }
#searchform > * { box-sizing:border-box; }
.blog_search label { display: none; }
.blog_side #s { width:78%; height:32px; padding:0 8px; line-height:30px; border:1px solid #bc9279; }
#searchsubmit {
	position:absolute; top:3px; right:0; padding: 0; font-size: 1em;
	margin:0; width:22%; height:32px; cursor:pointer;
	font-family:FontAwesome; color:#FFF; background:#a0001a; border:none; border-radius: 0 4px 4px 0;
	-webkit-appearance: none; }

/* カレンダー */
#wp-calendar { margin:10px auto 0px auto; width:100%; font-size:14px; border-collapse:collapse; }
#wp-calendar tr > * { }
#wp-calendar td { padding:7px; }
#wp-calendar caption { padding:8px 0 5px; color:#FFF; font-weight:bold; background-color:#3e2e03; }
#wp-calendar thead th { padding:3px 0 2px; font-weight:normal; border:1px dashed #3e2e03; border-top-style:solid; }
#wp-calendar tbody { color:#aaa; }
#wp-calendar tbody td { padding:3px; text-align:center; vertical-align:middle; border:1px dashed #3e2e03; }
#wp-calendar thead th:first-child, #wp-calendar tbody td:first-child { border-left-style:solid; }
#wp-calendar thead th:last-child, #wp-calendar tbody td:last-child { border-right-style:solid; }
#wp-calendar tbody tr:last-child td { border-bottom-style:solid; }
#wp-calendar tbody td a {
	display:block; width:100%; height:100%; min-width:20px; min-height:20px; 
	font-size:13px; color:#221814; background:#DDA31F; border-radius:50%; }
#wp-calendar tbody td a:hover { color:#FFF; background:#006D2C; text-decoration:none; }
#wp-calendar tbody .pad { background:none; }
#wp-calendar tfoot #next { text-align:right; }

/* セレクトボックス */
.blog_side select { margin:30px 0px 30px 0px; }

/* タグクラウド */
.tagcloud { margin:10px 0px 10px 0px; }
.tagcloud a{ display:inline-block; margin:0.5em 0.3em; padding:0.3em 0.5em; text-decoration:none; 
	color:#FFF; background:#666; }

.voiceList li { padding:20px; margin-bottom:30px; background:#FAF7F1; }
.voiceList a:hover { text-decoration:none; }
.voiceList figure img { width:100%; max-width:650px; height:auto; }
.voiceList .box { margin-top:20px; }
.voiceList h3 { margin:10px 10px 14px; font-size:140%; }
.voiceList a > p { margin:10px 10px 30px; }
.voiceList .postBtm { padding:10px 10px 0; border-top:4px double #777; }
.voiceList .postBtm p { margin:0; }
.voiceList .date { width:30%; float:left; font-size:120%; color:#777777; }
.voiceList .btn {
	display:inline-block; position:relative; padding:2px 30px 4px 45px;
	float:right; border:1px solid; font-size:120%; line-height:100%;
}
.voiceList .btn::before {
    content:" "; width:0; height:0; margin-top:-2px; position:absolute; left:18px;
    top:50%; border-color:transparent transparent transparent #000;
    border-style:solid; border-width:2px 0 2px 8px;
}
.voiceList a:hover .btn { transition:all 0.6s ease 0s; background:#fff; }

/* wp-pagenavi ------------------------*/
.wp-pagenavi { margin-bottom:40px; }
.wp-pagenavi a, .wp-pagenavi span { padding:5px 10px !important; background-color:#fff; 
	color:#569a52; border: 2px solid #569a52 !important; }
.wp-pagenavi a:hover, .wp-pagenavi span.current { color:#fff !important; background-color:#569a52 !important; }

/* シングルページの最新記事一覧 ------------------------*/
.new_blog ul { margin-bottom:40px; text-align:left; letter-spacing:-0.4em; }
.new_blog ul li { display:inline-block; width:20%; margin-bottom:15px; margin-left:5%; text-align: left; letter-spacing:normal; vertical-align:top; overflow:hidden; }
.new_blog ul li:nth-child(4n+1) { margin-left:0; }
.new_blog ul li a { font-size:13px; color:#181818; text-decoration:none; }
.new_blog ul li a .img { background-color:#f9efe4; position: relative; overflow:hidden; }
.new_blog ul li a .img{ position: relative; width: 100%; padding-top: 100%; overflow: hidden; }
.new_blog ul li a .img > img{ position: absolute; top: 50%; left: 50%; max-width: 150%; max-height: 150%;
	-webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }	
	
.new_blog ul li a .img > img:hover { opacity:.7; }
.new_blog ul li p { margin:0; }
.new_blog ul li a p.title { margin:5px auto 0; text-align:left; }
.new_blog ul li p.date a { font-size:12px; }

/* 会員用ページ */
#membership-join table, #membership-login table{ width:100%; margin-bottom:2em; 
	border-top:1px solid #CCC; border-right:1px solid #CCC; }
#membership-join tr > *, #membership-login tr > *{ padding:1em 1.5em; border-bottom:1px solid #CCC; }
#membership-join td, #membership-login td{ background:#555; }
#membership-join td + td, #membership-login td + td{ background:#FFF; color:#000; }
.swpm-login-widget-logged > div{ display:-webkit-flex; display:flex; }
.swpm-login-widget-logged > div div{ width:48%; padding:1em 1.5em;
	background:#555; border-bottom:1px solid #CCC; }
.swpm-login-widget-logged > div div + div{ background:#FFF; color:#000; }
#blog a.swpm-login-link{ position:relative; z-index:1; display:inline-block; margin:1em 2em; padding:0.2em 4em; 
	color:#FFF; text-decoration:none;
  font-size:1.1em; background:#a0001a; box-shadow: 6px 6px #000; }
#blog a.swpm-login-link::before{ position:absolute; z-index:2; content:""; width:1em; padding-top:50%; right:1.5em; top:38%;
  background:url(../img/icon_arrow.svg) no-repeat 0 0 / contain; }
#blog a.swpm-login-link::after{ position:absolute; content:""; z-index:1; width:15%; height:100%;
  right:0; top:0; background:url(../img/pat_r.png) repeat 0 0 / 250px; }
#blog a.swpm-login-link:hover{ color:#FFF; background:#8c0017; box-shadow:none; }
#swpm-login-form{ width:60%; margin:0 auto; padding:3em 0; text-align:center; 
	background:#000; border:1px solid #CCC; }
.swpm-login-widget-logged > div.swpm-edit-profile-link, .swpm-login-widget-logged > div.swpm-logged-logout-link
{ display:inline-block; margin:1.5em 1em; }
.swpm-login-widget-logged > div.swpm-edit-profile-link a, .swpm-login-widget-logged > div.swpm-logged-logout-link a
{ display:inline-block; position:relative; z-index:1; padding:1em; text-align:center;
	text-decoration:none; color:#FFF; background:#a0001a; }

/* mw_wp_form */
.mw_wp_form_g-standard table th, .mw_wp_form_g-standard table td{ border: #666 solid 1px !important; }
.mw_wp_form_g-standard table th{ background:#222 !important; }
.mw_wp_form_g-standard table td{ background:#000 !important; }

/* 絵文字表示対策 */
img.wp-smiley, img.emoji{ font-size:1em; }

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

/*1190px 以下  960px-1190px */
@media screen and (max-width: 1190px) {

	/* lesson */
	.lesson .con li .sub{ width: 35%; }
	.lesson .con li.toe .sub{ width: 45%; }

	/* fee */
	.lesson .con .class_list li .sub{ font-size: 1.3em; }
  .lesson.fee .con li .sub.free, .lesson.fee .con li .sub.toe{ font-size:1.1em; }
  .fee .box .beginner{ padding: 1em 1.5em 0; }
  .fee .box .cam .mincho{ font-size:1.0em; }

}

/* 960以上(PC) */
@media screen and (min-width: 960px) { 
	/* lesson */
	#ballet .lesson .con .class_list, #yoga .lesson .con .class_list{ margin-top:3em; }
}

/*959px 以下  760px-959px */
@media screen and (max-width: 959px) {

	main{ padding: 3em 0 1em; }
	.lesson{ padding:3em 0; }
	.lesson .con{ padding-left: 2em; }
	.lesson .con li.toe{ width: 95%; }
	.lesson.fee .con{ padding-left:inherit; }
  .fee .icon_plus{ display:block; }
  .fee .cam::before{ background-size: 200px; }
  .fee .cam .mincho strong{ display:block; }

  /* contact */
  #contact .con{ padding-left: 3em; }

}

/*759px 以下  600px-759px */
@media screen and (max-width: 759px) {
	.line_deco{ padding-top: 2em; }
	main{ padding-top:2em; }
	.d_info dt { width:100%; }
	.d_info dd { flex:auto; padding:1em 0; }
	
	/* instructor */
	#instructor .instructor{ padding-bottom:0; }

	/* lesson */
	.lesson .con .class_list li{ display:block; }
  .lesson .con .class_list li .txt{ width:100%; }
  .lesson .con .class_list li.toe .sub{ width:100%; }
  .lesson .con .class_list li .sub{ width:100%; margin-bottom:1em; }

  /* 新着情報　------------------------------------------------- */
	.con_main{ width:100%; }
	.blog_side { width:100%; }

}

/*599px 以下*/
@media screen and (max-width: 599px){
	.sub_line{ padding-bottom: 0.4em; font-size: 1.1em; }

	/* lesson */
	.lesson{ padding-bottom:1em; }
	.lesson .con li.toe::before{ width: 2.0em; }

	/* contact */
	#contact .con{ padding-left:0; background:none; }

  /* 新着情報　------------------------------------------------- */
	.post{ margin-bottom: 3em; padding:1.5em 1em;
		background-image:none; }
	#swpm-login-form{ width:90%; }

}