@charset "utf-8";



body {
	min-width : 1240px;
	font-size : 100%;
	
}

p {
	line-height : 1.8;	
}


/* header
-----------------------------------------------------*/


header {
	width : 100%;
	position : relative;
	-moz-box-shadow:0px 0px 11px -3px #333;
	-webkit-box-shadow:0px 0px 11px -3px #333;
	box-shadow:0px 0px 11px -3px #333;
}


#header-area {
	display : -webkit-flex;
 	display: flex;
	max-width : 1600px;
	margin : 0 auto;
    -webkit-align-items: center;
    align-items: center;
	
}

#header-area > div:first-child {
	margin-right: auto;
	vertical-align : middle;
}


/* menu
-----------------------------------------------------*/

#menu ul {
	display : -webkit-flex;
 	display: flex;	
}

#menu li {
	width : 150px;
	font-weight : bold;
	font-size : 110%;
	letter-spacing : 1px;
	display:table;
	text-align : center;
}

#menu li:first-child {
	margin-left : 0;
}

#menu li:last-child {
	margin-left : 10px;
	width : 190px;
}

#menu li a {
	display:table-cell;
	vertical-align:middle;
	width : 100%;
	height : 100px;
}


#menu li:first-child a span {
	position : relative;
	width : 100%;
	display:block;
}

#menu li:first-child a span:after {
	content :"";
	border-right : 1px solid #aaa;
	position : absolute;
	right : 0;
	top : 0;
	height : 20px;

}


#menu li a:not(.active):hover {
	color : #00b3c1;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
	    transition: all .5s ease;
}


#menu li a.active {
	background : #00b3c1;
	color : #fff;
}


.teaching-inner {
	display : block;
	padding-top : 7px;
	padding-bottom : 7px;
	border : 1px solid #0e67b1;
	color : #fff;
	background : #333;
	font-size : 90%;
	border-radius : 3px;
}

#menu li a.teaching .teaching-inner:not(.active):hover {
	background : #00b3c1;
    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
	    transition: all .5s ease;
}

.teaching-blank {
	background:url(/zengaku/global/img/blankw-icn.png) no-repeat right;
	background-size : 12px 11px;
	padding-right:20px;	
}


#main-visual {
	background : url(/zengaku/img/visual-bg.jpg);
	background-position : top center;
	background-repeat:no-repeat;
	display : table;
	width : 100%;
}



#main-visual .inner {
	display : table-cell;
	text-align : center;
	vertical-align:middle;
	height : 750px;
}

#main-visual .inner img {
	margin-top : -80px;
}

header .inner {
	width : 1200px;
	margin-left : auto;
	margin-right : auto;
}

article {
	position : relative;
}

article .inner {
	width : 1084px;
	margin : 0 auto;
}



#home h2 {
	font-size : 250%;
	text-align:center;
	margin-bottom : 50px;
	line-height : 1;
	letter-spacing : 2px;
}


.about-wrapper , .common-wrapper {
	padding : 80px 0;	
}

.news-wrapper {
	padding : 60px 0;	
}

.footersub-wrapper {
	padding : 25px 0;
}


#smp-menu-btn {
	display : none;	
}

/* 共通ボタン
------------------------------------------- */

.btn {
	width : 348px;
	margin : 50px auto 0;	
}

.btn a {
	
	font-size : 150%;
	letter-spacing : 2px;
	
	display : block;
	text-align:center;
	padding : 15px;
	font-weight : bold;
	background : #00b3c1;
	color : #ffffff;


	border : 4px solid #00b3c1;

	position : relative;

    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
	    transition: all .5s ease;
		

}

.btn a:hover {

	background : #ffffff;
	color: #00b3c1;
}


.btn a span:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 12px;
	height: 12px;
	margin: -6px 0 0 0;
	border-right: solid 3px #ffffff;
	border-top: solid 3px #ffffff;
	-webkit-transform: rotate(45deg);
			transform: rotate(45deg);


    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
	    transition: all .5s ease;

}

.btn a:hover span:after {
	border-right: solid 3px #00b3c1;
	border-top: solid 3px #00b3c1;
}



/* 共通ボタン2
------------------------------------------- */

.btn2 {
	width : 90%;
	margin : 25px 5% 0;
}

.btn2 a {
	
	font-size : 120%;
	letter-spacing : 2px;
	
	display : block;
	text-align:left;
	padding : 20px 25px;
	font-weight : bold;
	background : #333333;
	color : #ffffff;

	position : relative;

    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
	    transition: all .5s ease;
		

}

.btn2 a:hover {

	background : #00b3c1;
	color: #ffffff;
}


.btn2 a span:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	width: 12px;
	height: 12px;
	margin: -6px 0 0 0;
	border-right: solid 3px #00b3c1;
	border-top: solid 3px #00b3c1;
	-webkit-transform: rotate(45deg);
			transform: rotate(45deg);


    -webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
	    transition: all .5s ease;

}

.btn2 a:hover span:after {
	border-right: solid 3px #fff;
	border-top: solid 3px #fff;
}



/* トップページ部分
---------------------------------------------- */

#home .archives-wrapper {
	padding-top : 80px;
	padding-bottom : 80px;


	background-color: rgba(255,255,255,0.5);
	background : url(/zengaku/img/archives-bg.png);

	background-position : top center;
	background-repeat : no-repeat;
	background-size : cover;

	
}



/* activity
------------------------------------------- */


.activity-wrapper h2 {
	color : #fff;
	text-align:center;
}


.activity-wrapper .inner {
	width : 1240px!important;
}

.activity-wrapper {
	margin-top : -180px;
	position:absolute;

	width : 100%;
}

.activity-wrapper ul {
	display : -webkit-flex;
	display : flex;
	 -webkit-justify-content: space-between;
	justify-content: space-between;
	
}

.activity-wrapper li img {
	width : 236px;
	text-align:center;
	background : #fff;

	-webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
	    transition: all .5s ease;	

	-moz-box-shadow:0px 0px 16px -3px #333;
	-webkit-box-shadow:0px 0px 16px -3px #333;
	box-shadow:0px 0px 16px -3px #333;

}

.activity-wrapper li img:hover {
	-moz-box-shadow:0px 0px 28px -3px #000;
	-webkit-box-shadow:0px 0px 28px -3px #000;
	box-shadow:0px 0px 28px -3px #000;
}


/* about
------------------------------------------- */

.about-wrapper h2 {
	font-size : 300%!important;
	margin-bottom : 60px!important;
	padding-top : 100px;
}

.about-box {
	padding : 80px;
	text-align : center;
}


.about-box h3 {
	font-size : 180%;
	line-height : 1.8;
	margin-bottom : 50px;
	letter-spacing : 1px;
}

.about-box p {
	line-height : 2.2;
}


/* footer部分
------------------------------------------- */

footer {
	padding : 50px 0 40px;
	text-align:center;
}

.logo-list {
	display : -webkit-flex;
	display : flex;
	-webkit-justify-content: center; /* 中央揃え */
	justify-content: center; /* 中央揃え */

	-webkit-align-items: center; /* 縦方向中央揃え */
	align-items: center; /* 縦方向中央揃え */

}

.logo-list li {
	padding : 0 30px;

}

.logo-list li:first-child {
	border-right : 1px solid #fff;	
}

.contact {
	font-size : 110%;
	letter-spacing : 2px;
}

.center-title {
	font-size : 150%;
	margin-top : 15px;	
}

.center-address {
	font-size : 90%;
	margin-top : 15px;
}


.copy {
	margin-top : 50px;
	font-size : 80%;
}


/* 
中面用
------------------------------------------------ */

.contents-title {
	font-family:Arial, Helvetica, sans-serif;
	text-align:center;
	padding : 35px 0;
	font-size : 250%;
}



/* overview用
------------------------------------------------ */

.overview-area {
	margin : 0 auto;
	max-width : 1600px;
	display : -webkit-flex;
	display : flex;
	 -webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap:wrap; /* 折り返し許可 */
	flex-wrap:wrap;

	-webkit-align-content: stretch; /* Safari */
	align-content:         stretch;	

	-webkit-align-items: center; /* 縦方向中央揃え */
	align-items: center; /* 縦方向中央揃え */

	background : #f5f5f5;

}

/* 配置順の並び替え */

.overview-area > div {
	width : 50%;	
}
.overview-area > div:first-child {
	-webkit-order : 1;
	order : 1;
}
.overview-area > div:nth-child(2) {
	-webkit-order : 2;
	order : 2;
}
.overview-area > div:nth-child(3) {
	-webkit-order : 4;
	order : 4;
}
.overview-area > div:nth-child(4) {
	-webkit-order : 3;
	order : 3;
}
.overview-area > div:nth-child(5) {
	-webkit-order : 5;
	order : 5;
}
.overview-area > div:nth-child(6) {
	-webkit-order : 6;
	order : 6;
}
.overview-area > div:nth-child(7) {
	-webkit-order : 8;
	order : 8;
}

.overview-area > div:nth-child(8) {
	-webkit-order : 7;
	order : 7;
}

.overview-area > div:nth-child(9) {
	-webkit-order : 9;
	order : 9;
}

.overview-area > div:last-child {
	-webkit-order : 10;
	order : 10;
}

.overview-text-inner {
	width : 500px;
	margin : 0 auto;	
}

.overview-text-title {
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size : 160%;
	color : #00b3c1;
	margin-bottom : 30px;
	font-weight : normal;
	text-align:center;
}


/* concept用
------------------------------------------------ */

.concept-box {
	display : -webkit-flex;
	display : flex;	
	-webkit-flex-wrap:wrap; /* 折り返し許可 */
	flex-wrap:wrap;	

	 -webkit-justify-content: space-between; /* スペースを均等 */
	justify-content: space-between; /* スペースを均等 */

	margin-top : 50px;

}

.concept-box > div {
	width : 532px;
	padding : 40px;

	background : #ffffff;	

	
	-moz-box-shadow:0px 0px 11px -3px #999;
	-webkit-box-shadow:0px 0px 11px -3px #999;
	box-shadow:0px 0px 11px -3px #999;
}

.concept-box > div:nth-child( n + 3) {
	margin-top : 20px;	
}

.concept-area {
	padding : 100px 0;
}

.concept-area h3 {
	font-size : 180%;
	margin-bottom : 60px;
}

.concept-box-title {
	font-size : 150%;


}

.concept-sub {
	color : #00b3c1;
	margin-top : 80px;
	font-size : 140%;
	
}

.concept-image-area {
	display : -webkit-flex;
	display : flex;	
	width : 100%;
	min-width : 1084px;
}

.concept-image-area img {
	width : 25%;
}


/* message用
------------------------------------------------ */

.message-box {
	display : -webkit-flex;
	display : flex;
	 -webkit-justify-content: space-between; /* スペースを均等 */
	justify-content: space-between; /* スペースを均等 */
}


.message-box > div:first-child {
	width : 450px;
}

.message-box > div:nth-child(2) {
	width : 570px;
}

.message-box-title {
	font-size : 180%;
	text-align : left!important;
	margin-bottom : 50px;
	font-weight : normal;
}

.message-box-name {
	display:inline-block;
	min-width : 220px;
	background : #00b3c1;
	color : #fff;
	padding : 30px;
	position:relative;
	z-index : 100;
}

.message-box-name p {
	letter-spacing : 1px;
}

.message-box-prof {
	width : 400px;
	background : #4d4d4d;
	color : #fff;
	padding : 60px 35px;
	margin-left : 50px;
	margin-top : -25px;
	position:relative;
	z-index : 10;
}

.message-box-prof p {
	font-size : 80%;	
}


.contents-menu li {
	padding : 25px;
}

.contents-menu li a {
	font-size : 140%;
}


.message-title {
	font-size : 340%!important;
	font-weight : bold!important;
	font-family:Arial, Helvetica, sans-serif;
}



/* 記事一覧画面用
------------------------------------------------ */

/* news
------------------------------------------- */

.news-wrapper ul.news-list {
	border-top : 1px solid #ccc;	
}

.news-wrapper ul.news-list li {
	border-bottom : 1px solid #ccc;
	padding : 20px 40px;
}

.news-wrapper ul.news-list li a:hover {
	text-decoration : underline;
}

.news-wrapper ul.news-list li dl {
	display : -webkit-flex;
	display : flex;	
}

.news-wrapper ul.news-list li dt {
	width : 180px;
	letter-spacing : 1px;
}

.news-wrapper ul.news-list li dd {
	flex: 1;
}

/* アイコン */

.event-icn , .news-icn {
	margin-left : 15px;
	width : 150px;
	text-align:center;
	font-size : 80%;
	padding : 5px;
}


/* topics
------------------------------------------- */

.archives-wrapper {

	background : #f5f5f5;

	padding : 70px 0;

}

.archives-list {
	display : -webkit-flex;
	display : flex;

	-webkit-flex-wrap:wrap;
	flex-wrap:wrap;	

	 -webkit-justify-content: space-between; /* スペースを均等 */
	justify-content: space-between; /* スペースを均等 */

}


/* 空要素を入れて2つの時に左右に分かれて配置されないようにする */

.archives-list::after {
    content: "";
    display: block;
    width: 348px;
}

.archives-list li {
	width : 348px;
	background : #fff;
	-moz-box-shadow:0px 0px 11px -3px #999;
	-webkit-box-shadow:0px 0px 11px -3px #999;
	box-shadow:0px 0px 11px -3px #999;
	line-height : 1.4;
	margin-right : 20px;	
	
}

.archives-list li a {
	padding : 20px 20px 50px;
	display:block;	
	-webkit-transition: all .5s ease;
    -moz-transition: all .5s ease;
    -o-transition: all .5s ease;
	    transition: all .5s ease;
	
}

/* 4つめ以降用 */

.archives-list li:nth-child(n + 4) {
	margin-top : 20px;	
}

.archives-list li:nth-child(3n) {
	margin-right : 0;	
}


.archives-list li:hover {
	-moz-box-shadow:0px 0px 28px -3px #000;
	-webkit-box-shadow:0px 0px 28px -3px #000;
	box-shadow:0px 0px 28px -3px #000;
	cursor : pointer;
}

.archives-list li dl {
	margin : 20px 10px 0;

}

.archives-list li dd {
	margin-top : 5px;
}


.archives-wrapper ul li dt {
	color : #00b3c1!important;

}

.archives-wrapper ul li dd {
	color : #000000!important;

}




/* ニュース記事用
------------------------------------------------ */

.news-contents {
	width : 750px;
	margin : 0 auto;	
}

.column {
	display : -webkit-flex;
	display : flex;
	 -webkit-justify-content: space-between; /* スペースを均等 */
	justify-content: space-between; /* スペースを均等 */
}

.news-day {
	color : #00b3c1;
	letter-spacing : 1px;
	font-size : 120%;
}

.news-title {
	border-bottom : 1px solid #00b3c1;
	font-weight : normal;
	padding : 0 0 15px;
	line-height : 1.8;
	font-size : 160%;
	margin-bottom : 40px;
}

.news-contents h4 {
	color : #00b3c1;
	font-weight : normal;
	font-size : 110%;
}

.standard-drawing {
	margin-bottom : 50px;
}

.standard-box {
	width : 260px;
	height : 110px;

}

.standard-box p {
		font-size : 130%;		
}

/* fontサイズ */

.st1 {
	margin-left : 100px;
}

.st2 {
	margin-right : 100px;
}


/* 汎用テキスト */

.v1title {
	font-size : 140%;
	margin-bottom : 30px;
	margin-top : 80px;
}

.v2title {
	font-size : 130%;
	margin-bottom : 15px;
	margin-top : 50px;
}

.v3title {
	font-size : 110%;
	margin-bottom : 20px;
	margin-top : 35px;
	padding : 15px;
}


/* コンテンツ内カラム */

.column2 , .column3  {
	  display : -webkit-flex;
	  display : flex;
	   -webkit-justify-content: space-between; /* スペースを均等 */
	  justify-content: space-between; /* スペースを均等 */
	  -webkit-flex-wrap:wrap; /* 改行許可 */
	  flex-wrap:wrap;	 /* 改行許可 */	
	  width : 100%;
}
.column2 > div {
	width : 48%;
}

.column2 > div:nth-child(n + 3) {
	margin-top : 20px;	
}

.column3 > div {
	width : 30%;
	background : #ccc;
}

.column3 > div:nth-child(n + 4) {
	margin-top : 20px;	
}

.column3::after {
	  content: "";
	  display: block;
	width : 30%;
  }
  
  
/* archive
------------------------------------------- */

/* ページャー */

.pager {
	margin-top : 60px;
	text-align : center;
}

.pager li {
	border : 1px solid #e6e6e6;
	display : inline-block;
	width : 50px;
	height : 50px;
	line-height : 50px;
	text-align:center;
	color : #ccc;
	font-weight:bold;
	cursor:pointer;
	font-size : 120%;
	background : #ffffff;
}

.contents-inner {
	margin-left : 25px;
	margin-right : 25px;
}

.site-logo {
	padding : 10px 0;	
}