@charset "utf-8";
/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△  */

/* content_style.css */

/*★★★★★★★★★★ 共通 ★★★★★★★★★★*/

/*########### content 共通 ###########*/
section img {
	/* 表示する画像すべてに影をつける */
	box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}

/*########### 画像配置用DIV設定 ###########*/

/* １枚だけ */
.img_table_01{
	display: table;
	clear: both;
	max-width: 33.33%;
	max-width: calc(100% / 3);
	table-layout: fixed;
}
.img_table_01a{
	display: table;
	clear: both;
	max-width: 270px;
	width: 33.33%;
	width: calc(100% / 3);
	table-layout: fixed;
}

.img_table_01b{
	display: table;
	clear: both;
	max-width: 40%;
	table-layout: fixed;
}
.img_table_01c{
	display: table;
	clear: both;
	max-width: 25%;
	table-layout: fixed;
}
.img_table_01 > figure,.img_table_01a > figure,.img_table_01b > figure,.img_table_01c > figure{
	display: table-cell;
	padding: 0 15px 15px;
	vertical-align: top;
	text-align: center;
}
.img_table_01 img,.img_table_01b img,.img_table_01c img{
	max-height: 320px;
	width: 100%;
}
.img_table_01a img{
	width: 100%;
}

/* ２枚横並び */
.img_table_02{
	display: table;
	clear: both;
	width: 50%;
	table-layout: fixed;
}

.img_table_02 > figure{
	display: table-cell;
	padding: 15px 15px 0;
	width: 50%;
	vertical-align: middle;
	text-align: center;
}
.img_table_02 img{
	max-width: 100%;
}
.img_table_02 figcaption{
	padding: 0.5em 0 0.5em;
	font-weight: bold;
}


/*########### section内フロート ###########*/

/* フロート親要素高さ用 */
.F_box {
	overflow: hidden;
}

.F_right {
	float: right;
	margin-left: 1em;
}
.F_left {
	float: left;
	margin-right: 1em;
}

/*★★★★★★★★★★ プラグインオーバーライト ★★★★★★★★★★*/

.pswp__caption__center {
	max-width: 100%!important;
	text-align: center!important;
	font-size: 1.8rem!important;
}

/*########## DLとUL要素 ##########*/

section dl {
	margin: 0 auto 0.5em;
	padding: 0 0 0 1.5em;
	font-size: 2rem;
	line-height: 1em;
}

section dt {
	/* 見出しfloat */
	float: left;
	clear: left;
	font-weight: bold;
}

section ul {
	font-size: 2rem;
	line-height: 1.7em;
}

/*########## 糸を使うときの参考データ ##########*/

.set_data {
	margin-right:34% ;
	margin-right: calc(100% / 3 + 30px);
	width:66% ;
	width: calc(100% / 3 * 2 - 30px);
}

.set_data dl {
	overflow: hidden;
	margin-bottom: 1.5em;
	padding-left: 2.6em;
	line-height: 2em;
}

.set_data dd {
	/* 見出しと被らず左揃えする */
	margin-left: 7em;
}

.set_data h3{
	padding-left: 1em;
}

dt.smt,
dd.smt {
	line-height: 1em;
}

/*cheviot 入れ子用*/

.set_data dl.chevi_data {
	padding-left: 2.3em;
}
.set_data .chevi_data dl{
	padding-left: 2em;
}

.set_data dl.chevi_data > dt {
	float: none;
}

.set_data dl.chevi_data > dd {
	margin-left: 0;
}

.set_data dl.chevi_data > dd dd {
	margin-left: 12em;
}

/*########## 教室情報 ##########*/
.school_data {
	width: 100%;
}
.school_data .F_left{
	margin-right: 0;
}
.school_data .F_right{
	margin-left: 0;
}

.school_data dl{
	float: right;
	padding: 0;
	width: 58%;
	line-height: 1.7em;
}
.school_data.center dl {
	float: none;
	width: 100%;
}

.school_data dl > dt {
	float: none;
}

.school_data dl > dd {
	padding-bottom: 1em;
	padding-left: 1em;
	width: 100%;
}

.school_data dl dl{
	float: none;
	margin: 0;
	width: 100%;
}

.active {
	float: right;
	width: 58%;
}

.active dl {
	margin-bottom: 1.5em;
	padding-left: 1em;
	width: 100%;
	line-height: 2em;
}

.active dl dt{
	float: left;
}
.active dl dd{
	padding: 0;
}

.active dl.F_non > dt {
	float: none;
	clear: none;
}

.active dl.F_non dl {
	float: none;
	margin: 0;
	margin-bottom: 0.5em;
	width: 100%;
}

.active dl.F_non h4 {
	display: inline-block;
}

.active dd {
	margin-left: 5em;
}

.active dl.F_non > dd {
	margin-left: 0;
}

/*########## 書籍 ##########*/

p.book_data {
	/*書籍 ページ数と価格*/
	text-align: right;
	font-weight: bold;
	line-height: 2em;
}

.book_box {
	width: 100%;
	overflow: hidden;
}

.book_index {
	/*本の目次*/
	width: 550px;
	margin: 0 40% 20px auto;

}

.book_index > ul {
	margin-bottom: 20px;
	padding-left: 3em;
	list-style-type: decimal;
}

.book_index ul > ul {
	/*オーバーショット目次（入子）*/
	margin-left: -0.5em;
}

.book_index dl {
	padding: 0;
	line-height: 2em;
}

.book_index dd {
	margin-left: 7em;
}

/*########## Photo Album 過去の活動などで使用##########*/

ul.photo_album {
	width: 100%;
	padding-top: 40px;
	text-align: center;
	margin-bottom: 10px;
	overflow: hidden;
}

.photo_album li {
	float: left;
	width: 20%;
	height: 100%;
	padding:  0 5px 10px 5px;
}

.photo_album li a{
	display: block;
	overflow: hidden;
	position: relative;
	border: 6px #fff solid;
	padding-top: 70%;
	box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}

.photo_album img {
	position: absolute;
	top:50%;
	left: 50%;
	width: 100%;
	height: auto;
	transform: translate(-50%, -50%);
	box-shadow: none;
}
.tour_map{
	display: table;
	width: 100%;
}

.tour_map .img_table_01a,.tour_map ul {
	display: table-cell;
	width: 50%;
	vertical-align: top;
	padding: 2em 0.5em;
}
.tour_map .img_table_01a img{
	width: 80%;
}
.tour_map ul li{
	padding-left: 1.8em;
}

/*########## 価格 ##########*/

.price_box{
	display: table;
	margin-bottom: 30px;
}

.price {
	/*display: table-cell;*/
	margin: 0 auto 40px;
	width: 100%;
}


.price .h_03 {
	padding-bottom: 0.5em;
}

.price dl,.school_data .price dl {
	margin: 0 auto;
	padding: 0;
	width: 350px;
	line-height: 2em;
}
.price dl dt{
	float: left;
	clear: left;
}

.price dl dd {
	padding: 0;
	border-bottom: 1px solid #2d1e04;
	text-align: right;
}

.price_text{
	padding: 0 15px;
	/*display: table-cell;*/
	vertical-align: middle;
}

.school_data .price {
	margin: 20px 0 40px ;
	width: 100%;
}

.school_data .price dl{
	float: none;
	margin: 0 auto;
}

.milling dl {
	padding: 0 0 0 2.3em;
}

.milling dt {
	float: none;
	clear: both;
}

.milling dd {
	padding: 0 0 1em 0;
}

/* タブレット縦向き スマホ横向き */
@media screen and (max-width:899px) {

	.SD br.sp{
		display: block;
	}
	
	.SD .img_table_01 > figure,.SD .img_table_01a > figure,.SD .img_table_01b > figure,.SD .img_table_01c > figure{
	display: table-cell;
	padding: 0 10px 10px;
	vertical-align: top;
	text-align: center;
	}
	
	.SD .F_left {
		margin-right: 0.5em;
	}
	
	.SD .set_data {
		margin-left: 35%;
		margin-left: calc(100% / 3 + 10px);
		width: 66%;
		width: calc(100% / 3 * 2 - 10px);
	}

	.SD .set_data dl,.SD .price dl,.SD .active dl,.SD .book_index dl,.SD .book_index ul,.SD .tour_map ul {
		font-size: 1.8rem;
	}
	.SD .set_data dl.chevi_data > dd dd {
		margin-left: 10em;
	}
	.SD .milling dl{
		padding-left: 1em;
	}
	.SD .book_box {
		position: relative;
	}

	.SD .book_box .sample_page {
		position: absolute;
		top: 0;
		right: 0;
		width: 100%;
	}

	.SD .book_index {
		width: 100%;
		margin: 0;
	}
	
	.SD .exhibition .sub_title{
		font-size: 1.8rem;
	}
	.SD .photo_album li{
		width: 25%;
	}
	.SD .tour_map .img_table_01a{
		width: 40%;
	}
	.SD .tour_map .img_table_01a img{
		width: 100%;
	}
}

/* タブレット横向き */

@media screen and (min-width:900px) {
	.SD .book_box {
		position: relative;
	}

	.SD .book_box .sample_page {
		position: absolute;
		top: 0;
		right: 0;
		width: 100%;
	}

	.SD .book_index {
		width: 100%;
		margin: 0;
	}
}
