/* =標準ギャラリー
------------------------------------------------------------------------------ */
/* =ギャラリー */

div.gallery {
	width: 100%;
	margin: 0 0 2em;
	overflow: hidden;
}
div.gallery a {
	overflow: hidden;
	outline: none;
}

#main div.gallery dl.gallery-item {
	display: inline-block;
	text-align: center;
	padding: 0;
	margin: 0;
	vertical-align: middle;
	width: 100%;
	overflow: hidden;
}

#main div.gallery dl.gallery-item dt {
	padding: 0;
	margin: 0;
}
#main div.gallery dl.gallery-item dd {
	padding: 0;
	margin: 0;
}

#main div.gallery dl.gallery-item dt img {
	height: auto;
	width: auto;
	max-height: 100%;
	max-width: 100%;
	margin: auto;
	padding: 2px;
	display: inline;
	border: 1px solid #dcdcdc;
	vertical-align: bottom;
}

#main div.gallery dl.gallery-item dt.portrait img {

}
#main div.gallery dl.gallery-item dt.landscape img {

}

/* =キャプション */

.gallery-caption {
	font-size: 100%;
	text-align: center;
}

/* =1カラム */

#main div.gallery.gallery-columns-1 dl.gallery-item {
	float: none;
	clear: left;
	width: 100%; /* 960px */
	margin-bottom: 40px;
}

/* =2カラム */

#main div.gallery.gallery-columns-2 dl.gallery-item {
	max-width: 47.91666667%; /* 460px */
	margin-right: 4.166666667%; /* 40px */
	margin-bottom: 40px;
}
#main div.gallery.gallery-columns-2 dl.gallery-item:nth-of-type(2n+2) {
	margin-right: 0;
}

/* =3カラム */

#main div.gallery.gallery-columns-3 dl.gallery-item {
	max-width: 30%; /* 300px */
	margin-right: 3.125%; /* 30px */
	margin-bottom: 30px;
}
#main div.gallery.gallery-columns-3 dl.gallery-item:nth-of-type(3n+3) {
	margin-right: 0;
}

/* =4カラム */

#main div.gallery.gallery-columns-4 dl.gallery-item {
	max-width: 23.4375%; /* 225px */
	margin-right: 2.083333333%; /* 20px */
	margin-bottom: 20px;
}
#main div.gallery.gallery-columns-4 dl.gallery-item:nth-of-type(4n+4) {
	margin-right: 0;
}

/* =その他 */

.gallery-columns-5 .gallery-item {
}
.gallery-columns-6 .gallery-item {
}
.gallery-columns-7 .gallery-item {
}
.gallery-columns-8 .gallery-item {
}
.gallery-columns-9 .gallery-item {
}



/* =オリジナル
------------------------------------------------------------------------------ */

strong {
	background-color: #ffff00;
	font-weight: normal;
	font-size: 100%;
}
img.border {
	vertical-align: bottom;
	padding: 4px;
	border: 1px solid #ddd;
}


/* =トップページ */

#main dl.news2 {
	float: left;
	width: 100%;
	padding: 0 0 5px;
	margin: 0px 0px 10px 0px;
	border-bottom: 1px dotted #cccccc;
	line-height: 1.4;

}
#main dl.news2 dt {
	width: 12%;
	float: left;
	clear: left;
	margin: 0;
	padding: 0;
}
#main dl.news2 dd {
	padding: 0;
	margin: 0px 0px 0px 12%;
}
#main dl.news2 dt img {
	vertical-align: bottom;
	padding: 4px;
	border: 1px solid #dddddd;
}
#main dl.news2 dd img {
	padding-left: 3px;
}

div.group {
	clear: both;
	line-height: 1.4;
	width: 100%;
	margin: 0 0 20px;
	overflow: hidden;
}

div.group img {
	vertical-align: bottom;
	padding: 4px;
	border: 1px solid #dddddd;
}
#main div.group p {
	margin: 0 0 10px;
}
div.box {
	float: left;
	overflow: hidden;
}
div.double {
	float: left;
	width: 48%;
}

div.double.right {
	float: right;
}
div.triple {
	float: left;
	width: 33%;
}

/* =塾の案内 */

div.feature {
	clear: both;
	padding: 10px 10px 10px 0px;
	margin: 0 0 40px;
	overflow: hidden;
	background-color: #fffff2;
}

#main div.feature ul {
	list-style: none;
	padding: 0px;
	margin: 0 2em;
}
#main div.feature ul li {
	background-image: url(../img/reten.jpg);
	background-repeat: no-repeat;
	background-position: left 3px;
	padding: 5px 0 5px 30px;
	margin: 0 0 10px;
	border-bottom: 1px dotted #ccc;
	font-weight: bold;
}

#main dl.idea {
	margin: 0px 0px 40px 0px;
	font-weight: bold;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
}
#main dl.idea dt {
	width: 20%;
	float: left;
	clear: left;
	padding: 0px;
	margin: 12px 0 0;
	background-color: #8fc31f;
	color: #fff;
	line-height: 2.0;
	text-align: center;
	letter-spacing: 2px;
}
#main dl.idea dd {
	padding: 0px;
	margin: 0px 0px 0px 22%;
	font-size: 200%;
	letter-spacing: 2px;
	line-height: 2.0;
}
#main dl.idea dd span.sub {
	display: block;
	font-size: 50%;
	line-height: 1.4;
	font-weight: bold;
}



/* =コース紹介 */

div.course {
	clear: both;
	padding: 0;
	margin: 0 0 30px;
	overflow: hidden;
	border: 1px solid #1594cc;
	background-color: #f2f2f2;
}
#main div.course h2 {
	clear: both;
	padding: 0 10px;
	margin: 0 0 20px;
	font-weight: bold;
	color: #fff;
	border-bottom: none;
	background-color: #1594cc;
	line-height: 30px;
	letter-spacing: 0.2em;
}

#main ul.subj {
	padding: 0;
	margin: 0 20px 10px;
	list-style: none;
	overflow: hidden;
	text-align: center;
}
#main ul.subj li {
	display: inline-block;
	padding: 0px;
	margin: 0px 0px 10px;
	width: 30%;
	background-color: #fff;
	border: 1px solid #1594cc;
	font-weight: bold;
	color: #1594cc;
	font-size: 110%;
	text-align: center;
	line-height: 40px;
	letter-spacing: 1em;
}
#main ul.subj li.none {
	background-color: transparent;
	letter-spacing: 0;
	font-weight: normal;
	border: none;
	text-align: left;
	color: #333;
}

#main div.course p {
	padding: 10px;
	margin: 0 20px 20px;
	background-color: #fff;
}

#main div.course p.none {
	padding: 0;
	margin: 0 0 20px;
	background-color: transparent;
}


div.note {
	clear: both;
	padding: 10px 2em 10px 4em;
	margin: 0 0 40px;
	overflow: hidden;
	border: 1px solid #ff6a00;
	background-color: #fff;
}

#main div.note p {
	padding: 0;
	margin: 0 0 10px;
}
span.price {
	font-size: 240%;
	color: #ff6a00;
	font-weight: bold;
	text-decoration: underline;
	padding: 0 10px 0 20px;
}

/* =入塾の流れ */

#main div.flow {
	clear: both;
	line-height: 1.4;
	padding: 0 0 10px;
	margin: 0 0 20px;
	border-bottom: 1px solid #8fc31f;
	overflow: hidden;
}
#main p.arrow {
	text-align: center;
	margin: 0 auto 20px;
}

#main div.flow h2 {
	clear: none;
	float: left;
	padding: 27px 0 0;
	margin: 0 20px 0 0;
	font-size: 100%;
	font-weight: bold;
	color: #333;
	border: none;
	background-color: transparent;
	background-image: url(../img/bgFlow.png);
	background-repeat: no-repeat;
	background-position: center center;
	height: 83px;
	width: 140px;
	text-align: center;
	line-height: inherit;
}

#main div.flow dl {
	padding: 0;
	margin: 0;
}
#main div.flow dl dt {
	float: left;
	width: 280px;
	padding: 27px 0 0;
	margin: 0 20px 0 0;
}
#main div.flow dl dd {
	float: right;
	width: 180px;
}

#main div.flow dl dd img {
	vertical-align: bottom;
}

/* =お問い合わせ */

div.column {
	clear: both;
	padding: 20px 10px 10px 120px;
	margin: 0 0 40px;
	overflow: hidden;
	-moz-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
}
#main div.column p {
	margin: 0 0 10px;
}

div.point {
	color: #fff;
	background-color: #ee969d;
	background-image: url(../img/point.png);
	background-repeat: no-repeat;
	background-position: 50px center;
}
div.point b {
	font-size: 110%;
}

#main div.column p {
	margin: 0 0 10px;
}

/* =追加 2014/03 */

section.camp {
	border: 3px solid #e60012;
	overflow: hidden;
	margin: 0 0 40px;
}
section.camp section {
	margin: 0 40px;
}

#main section.camp h1 {
	background-color: #e60012;
	color: #fff;
	padding: 5px 0 5px 10px;
	margin: 0 0 20px;
}
#main section.camp h2 {
	border-bottom: none;
	font-size: 150%;
	padding: 0;
	margin: 0;
	color: #333;
}
#main section.camp h2 span {
	display: block;
	font-size: 150%;
	text-decoration: underline;
	margin: 0 0 10px;
	color: #e60012;
}
#main section.camp p {
	padding: 0;
	margin: 0;
}

.down {
	float: left;
	position: relative;
	width: 0;
	height: 0;
	border: 32px solid transparent;
	border-top-color: #e60012;
	text-indent: -9999px;
	margin: 42px 0 0 0;
}

.down:after{
	position: absolute;
	content: '';
	top: -74px;
	left: -16px;
	width: 32px;
	height: 42px;
	background: #e60012;
}


/* =追加 2014/07 */

#main ul.around {
	clear: both;
	padding: 0;
	margin: 20px 0;
	list-style: none;
	display: table;
	width: 100%;
}
#main ul.around li {
	display: table-cell;
	padding: 0;
	margin: 0;
}
#main ul.around li a {
	padding: 0 3px;
	
}

/* =追加 2014/10 */


#side ul.feed {
	list-style: none;
	padding: 0;
	margin: 0;
}

#side ul.feed li {
	padding: 0px;
	margin: 0px 10px 10px 0px;
	border-bottom:none;
	float: left;
}
#side ul.feed li img {
	vertical-align: bottom;
}

#side ul.feed li a {
	background-image: none;
	padding: 0px;
}

/* =追加 2016/03 */


#main p.contact {
	padding: 1em;
	margin: 0 auto 1em;
	background-color: #f3fafc;
}

/* =追加 2016/06 */

#searchform {
	margin: 1.5em auto 1em;
}
#s {
	border: 1px solid #217eae;
	border-right: none;
	padding: 0;
	margin: 0;
	height: 30px;
	width: 188px;
	background-image: url(../img/iconSearch.png);
	background-repeat: no-repeat;
	background-position: 10px center;
	padding-left: 1em;
}

#searchsubmit {
	border: 1px solid #217eae;
	background-color: #217eae;
	color: #fff;
	padding: 0;
	margin: 0;
	height: 32px;
	width: 58px;
}
#searchsubmit:active,
#searchsubmit:hover {
	background-color: #fff;
	color: #217eae;
}

#main ul#search_list {
	list-style: none;
	padding: 0;
	margin: 0 0 2em;
}

#main ul#search_list li {
	padding: 0;
	margin: 0 0 0.5em;
	border-bottom: 1px dotted #ccc;
	overflow: hidden;
}
#main ul#search_list li a {
	display: inline-block;
}
#main ul#search_list li a:before {
}

#main ul#search_list li span.page_name a {
	float: right;
}

select.archive-dropdown {
	margin-top: 10px;
	padding: 0.5em;
	width: 100%;
}


/* =はくうんかん児童クラブ 2018/04
------------------------------------------------------------------------------ */

/* =見出し */

body.after-school #main article header h1 {
	background-image: url(../img/_heading.png);
}
body.after-school #main h2 {
	color: #87a616;
}
body.after-school #main h2.em {
    color: #eb6877;
    line-height: inherit;
    font-size: 150%;
    text-align: center;
    border: none;
    padding: 0;
}
body.after-school #main h2.em .name {
    display: inline-block;
    border-bottom: 3px dotted #eb6877;
}
#main h3.frame span.name {
    display: inline-block;
	padding: 0 0.5em;
    border: 1px solid;
    background-color: #fff;
}

/* =定義リスト */

#main dl.color {
    clear: both;
	padding: 0;
	margin: 0 0 2em;
	display: table;
	width: 100%;
}
#main dl.color dt {
	display: table-cell;
	padding: 0;
	margin: 0;
	text-align: center;
	vertical-align:  top;
	width: 32%;
}
#main dl.color dt span.name {
	display: block;
	background-color: #ffae00;
    color: #fff;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
}
#main dl.color dd {
	display: table-cell;
	vertical-align:  top;
	padding: 0 0 0 1em;
	margin: 0;
}

/* =コラム */

div.tips,
div.memo {
	clear: both;
	padding: 1em;
	margin: 0 0 2em;
	overflow: hidden;
	border: 1px solid;
}
div.memo {
	border-color: #ffbf00;
	background-color: #fffcf2;
}
div.tips {
	border-color: #ee90a0;
	background-color: #fff0f5;
}


/* =テーブル */

#main table.flow {
    table-layout: fixed;
    width: 100%;
    margin-bottom: 2em;
    background-color: #f2fafe;
}
#main table.flow th {
	background-color: transparent;
    vertical-align: top;
    text-align: center;
    padding: 10px;
    border: none;
    border-right: 1px solid #ccc;
    word-break: break-all;
}
#main table.flow td {
	background-color: transparent;
    vertical-align: top;
    text-align: center;
    padding: 10px;
    border: none;
    border-right: 1px solid #ccc;
}
#main table.flow td.act {
    width: 40%;
    text-align: left;
    border-right: none;
}
#main table.flow tr.odd td {
	background-color: transparent;
}
#main table.flow .time {
    display: inline-block;
    background-color: #00a0e8;
    color: #fff;
    padding: 0 1em;
    margin: 0 auto 0.5em;
	-moz-border-radius: 48px;
	-webkit-border-radius: 48px;
	border-radius: 48px;
    line-height: 1.4;
}

#main table.color {
    table-layout: fixed;
}
#main table.color th {
	background-color: #edf1db;
	border-color: #87a616;
    word-break: break-all;
    text-align: left;
    vertical-align: middle;
}
#main table.color td {
	border-color: #87a616;
    vertical-align: middle;
}
#main table.color tr.odd td {
	background-color: transparent;
}

/* =リスト */

#main ul.contact {
	padding: 0;
	margin: 0;
    list-style: none;
}
#main ul.contact li {
    width: 50%;
    text-align: center;
    padding: 0;
    margin: 0 0 1em;
}
#main ul.contact li:nth-of-type(odd) {
    float: left;
}
#main ul.contact li:nth-of-type(even) {
    float: right;
}
#main ul.contact li.tel .number {
    display: inline-block;
    font-weight: bold;
    font-size: 160%;
    letter-spacing: 1px;
    vertical-align: middle;
    margin:  0 auto 0 0.25em;
}
#main ul.contact li.mail a {
    display: inline-block;
    border: 1px solid #ffae00;
    background-color: #ffae00;
    color: #fff;
    padding: 0.25em 1em;
    margin:  0 auto;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
}
#main ul.contact li.mail a:hover {
    background-color: #fff;
    color: #ffae00;
    text-decoration: none;
}

