@charset "utf-8";

/* ============================================================ */
/* #contents */
/* ============================================================ */
#contents {
	/*position: relative;*/
}

#contents img {
	width: 100%;
}


/* ============================================================ */
/* #pankuzu */
/* ============================================================ */
/*#pankuzu {
	font-size: 1.0rem;
	margin: 10px auto;
	padding: 0 15px;
}

#pankuzu ul {
	overflow: hidden;
}

#pankuzu ul li {
	float: left;
}

#pankuzu ul li::before {
	content: ">";
	margin: 0 5px;
}

#pankuzu ul li:first-child::before {
	content: "";
	margin: 0;
}*/


/* ============================================================ */
/* #main */
/* ============================================================ */
#main {
	width: 100%;
	/*padding: 0 15px;*/
	box-sizing: border-box;
}


/* ============================================================ */
/* 汎用ブロック */
/* ============================================================ */

/* .block
------------------------------------------------------------ */
.block {
	margin: 0 0 40px;
}

.block:nth-last-child(1) {
	margin: 0;
}

.block::after {
    display: block;
    content: "";
    clear: both;
}


/* .search_block
----------------------------------------------------------- */
.search_block > ul {
	margin: 15px 0 20px;
}

.search_block > ul > li {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	-ms-flex-align:center;
	align-items: center;
	width: 100%;
	margin: 0 0 10px;
	padding: 20px 15px;
	background: url(/common/img/common/bg_pattern01.png) 0 0 repeat;
	box-sizing: border-box;
}

.search_block ul li div {
	width: 100%;
	text-align: center;
}

@media screen and (min-width:321px) {
	.search_block ul li p.txt_pref br:last-child {
		display: none;
	}
}



/*----- icon -----*/

.search_block ul li p {
	margin: 0 0 10px;
	font-weight: bold;
	font-size: 1.4rem;
	line-height: 1.6;
}

.search_block ul li p::before {
	font-family: 'icon';
	font-size: 2.4rem;
	color: #339f0b;
	display: block;
	line-height: 1.4;
	font-weight: normal;
}

.search_block ul li .txt_pref::before {
	content: "\e90e";
}

.search_block ul li .txt_date::before {
	margin: 0 0 5px;
	content: "\f274";
	font: normal normal normal 24px/1 FontAwesome;
}

.search_block ul li .txt_club::before {
	content: "\e913";
}

.search_block ul li .txt_teacher::before {
	content: "\e90d";
}

.search_block ul li .txt_instructor::before {
	content: "\e913";
}


/*----- form -----*/

.search_block ul li input[type="text"],
.search_block ul li select {
	width: 100%;
	background: #fff;
	border: 1px solid #a9a9a9;
	box-sizing: border-box;
	font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "新ゴR",  Verdana, "ＭＳ Ｐゴシック", sans-serif;
}

.search_block ul li input[type="text"] {
	margin: 0 !important;
	padding: 10px 8px;
	border-radius: 0;
	line-height: 1.4;
	-webkit-appearance: none;
	appearance: none;
}

.search_block ul li select {
	padding: 8px 5px;
}

.search_block ul li select[name$="pref_id"] {
	margin: 0 0 5px;
}

/* 開催期間 */
.search_block ul li .start_date,
.search_block ul li .finish_date {
	margin: 5px 0 0;
	text-align: left;
} 

.search_block ul li select.year {
	width: 28%;
}

.search_block ul li select.month,
.search_block ul li select.day {
	width: 20%;
}

/* 認定講師 */
.search_block ul li .checkbox {
	display: inline-block;
}

.search_block ul li .checkbox li {
	text-align: left;
}

.search_block ul li .checkbox li:not(:last-child) {
	margin: 0 0 5px;
}


/*----- .btn_form -----*/

.search_block .btn_form {
	text-align: center;
}

.search_block .btn {
	height: 50px;
	margin: 0 auto;
	font-size: 1.6rem;
}


/* .search_area
------------------------------------------------------------ */
.search_area {
	overflow: hidden;
}

.search_area li {
	float: left;
	width: 48%;
	margin: 0 4% 10px 0;
}

.search_area li:nth-child(2n) {
	margin: 0 0 10px;
}

.search_area li a {
	border: 1px solid #287e08;
	color: #fff;
	background: #339f0b;
	border-radius: 5px;
	display: block;
	padding: 5px 0;
	text-align: center;
	box-shadow: 0 3px 0 rgba(40,126,8,1);
}

.search_area li a::before {
	display: block;
	color: #fff;
	font-family: 'icon';
	font-size: 2.4rem;
	font-weight: normal;
	line-height: 1.4;
}

.search_area .hokkaido a::before {
	content: "\e91c";
}

.search_area .tohoku a::before {
	content: "\e918";
}

.search_area .kanto a::before {
	content: "\e919";
}

.search_area .shinetsu a::before {
	content: "\e915";
}

.search_area .hokuriku a::before {
	content: "\e917";
}

.search_area .tokai a::before {
	content: "\e916";
}

.search_area .kinki a::before {
	content: "\e91d";
}

.search_area .chugoku a::before {
	content: "\e914";
}

.search_area .shikoku a::before {
	content: "\e91b";
}

.search_area .kyusyu a::before {
	content: "\e91a";
}

.search_area .global a::before {
	content: "\f0ac";
	font: normal normal normal 24px/1.4 FontAwesome;
}

.search_area .skype a::before {
	content: "\f17e";
	font: normal normal normal 24px/1.4 FontAwesome;
}



/* .result_box
----------------------------------------------------------- */
.result_box {
	margin: 0 0 20px;
	padding: 20px;
	background: #eaeae4;
	border: 1px solid #ccc;
	text-align: center;
}

.result_box p span {
	font-weight: bold;
}



/* ============================================================ */
/* タイトルスタイル */
/* ============================================================ */

/* .midashi01
------------------------------------------------------------ */
/* .midashi01
------------------------------------------------------------ */
.midashi01 {
	background: url(/common/img/common/bg_pattern06.png) 0 0 repeat;
	margin: 0 0 35px;
	padding: 0 15px;
	position: relative;
}

.midashi01::after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(225,248,217, 0);
	border-top-color: #e1f8d9;
	border-width: 15px;
	margin-left: -15px;
}

.midashi01 h1 {
	text-align: center;
	background: url(/common/img/common/bg_title.png) center top no-repeat;
	background-size: cover;
	padding: 30px 0 25px;
	font-size: 2.2rem;
	line-height: 1.4;
	font-weight: bold;
	color: #184818;
}



/* .midashi02
------------------------------------------------------------ */
.midashi02 ,
#index h2 {
	font-size: 2.0rem;
	line-height: 1.4;
	font-weight: bold;
	margin: 0 0 20px;
	text-align: center;
	color: #553c21;
}

#index h2 span {
	font-weight: bold;
}

.midashi02::before ,
#index h2::before {
	content: "\e90f";
	font-family: 'icon';
	font-size: 2.0rem;
	padding: 0 5px 0 0;
	color: #339f0b;
}



/* .midashi03
------------------------------------------------------------ */
.midashi03 {
	border-bottom: 2px solid #ddd;
	margin: 0 0 15px;
	padding: 0 15px 5px;
	font-size: 1.6rem;
	line-height: 1.6;
	font-weight: bold;
	position: relative;
}

.midashi03::after {
	border-bottom: 2px solid #339f0b;
	content: "";
	display: block;
	margin: 0 0 -3px -15px;
	width: 150px;
	position: absolute;
	bottom: 1px;
}



/* .midashi04
------------------------------------------------------------ */
.midashi04 {
	color: #1c6700;
	font-weight: bold;
	font-size: 1.5rem;
	margin: 0 0 15px;
	padding: 0 0 0 10px;
	line-height: 1.6;
	border-left: 3px solid #339f0b;
}



/* ============================================================ */
/* table */
/* ============================================================ */
#main table {
	width: 100%;
	margin: 0 0 15px;
	font-size: 1.2rem;
	line-height: 1.6;
	letter-spacing: 0;
	border-bottom: 1px solid #dfdfdf;
	box-sizing: border-box;
}

#main table tr ,
#main table th ,
#main table td {
	display: block;
}

#main table th ,
#main table td {
	padding: 10px;
	border: 1px solid #dfdfdf;
	border-bottom: none;
	vertical-align: middle;
}

#main table th {
	background: #eff9ed;
	text-align: left;
}

#main table td {
	background: #fff;
}

#main table .th01 {
	background: #2dae36;
	color: #fff;
}



/* .tbl_result
----------------------------------------------------------- */
#main .tbl_result  {
	border-bottom: none;
}

#main .tbl_result td:not([data-label="詳細"]) {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	padding: 0;
}

#main .tbl_result td:not([data-label="詳細"]) > span,
#main .tbl_result td:not([data-label="詳細"])::before {
	padding: 10px;
	box-sizing: border-box;
}

#main .tbl_result td:not([data-label="詳細"]) > span {
	width: 70%;
}

#main .tbl_result td:not([data-label="詳細"])::before {
	content: attr(data-label);
	width: 30%;
	background: #eff9ed;
	border-right: 1px solid #dfdfdf;
}


#main .tbl_result td[data-label="詳細"] {
	padding-bottom: 0;
	border-left: none;
	border-right: none;
	text-align: center;
}

#main .tbl_result td .btn {
	padding: 5px 20px;
	font-size: 1.2rem;
}


#main .tbl_result tr:not(:last-child) {
	margin: 0 0 20px;
}


#main .tbl_result_past td:not([data-label="詳細"]) > span,
#main .tbl_result_past td:not([data-label="詳細"])::before {
	padding: 5px;
	box-sizing: border-box;
}

.midashi03.midashi03_past {
	margin-top: 40px;
}





/* ============================================================ */
/* ボタンスタイル */
/* ============================================================ */
.btn {
	font-size: 1.4rem;
	display: inline-block;
	padding: 12px 20px;
	color: #fff;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	background: #eb861d;
	border: 1px solid #db7913;
	border-radius: 5px;
}


/* .btn_red */
.btn_red {
	background: #ef4c38;
}


/* .btn_gray */
.btn_gray {
	background: #eaeae4;
	color: #333;
	border: 1px solid #ccc;
}


#contents button.btn,
#contents input[type="submit"].btn ,
#contents input[type="reset"].btn {
	width: auto;
	overflow: visible;
	cursor: pointer;
	font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "新ゴR",  Verdana, "ＭＳ Ｐゴシック", sans-serif;
	position:relative;
	border: none;
}

#contents button.btn_gray ,
#contents input[type="submit"].btn_gray ,
#contents input[type="reset"].btn_gray {
	border: 1px solid #ccc;
}




/* ============================================================ */
/* フォームスタイル */
/* ============================================================ */

#form table th {
	position: relative;
}

#form table th .must {
	margin: 0 0 0 5px;
	padding: 2px 6px;
	background: #e9545d;
	border-radius: 4px;
	color: #fff;
	font-size: 1.1rem;
	line-height: 1.2;
}

#form table td .example {
	display: block;
	margin: 10px 0 0;
	color: #666;
	font-size: 1.2rem;
}

#form input[type="text"],
#form select,
#form textarea {
	font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "新ゴR",  Verdana, "ＭＳ Ｐゴシック", sans-serif;
	font-size: 16px;
}

#form input[type="text"],
#form textarea {
	width: 100%;
	padding: 5px;
	background: #fff;
	border: 1px solid #d5d5d5;
	box-sizing: border-box;
	border-radius: 0;
	-webkit-appearance: none;
	appearance: none;
}

#form input[type="text"]:focus,
#form textarea:focus {
	outline: none;
	background: #fafafa;
}



/* エラー表示 */
#form .error_block {
	background: #fbf0f0;
	border: 3px solid #ecb3b3;
	border-radius: 5px;
	padding: 15px 20px;
	margin: 0 0 15px;
}

#form .error_block p {
	font-size: 14px;
	font-weight: bold;
	color: #d00505;
	margin: 0 0 5px;
}

#form .error_block ul {
	list-style-type: disc;
	padding: 0 0 0 20px;
}

#form .error_block ul li {
	font-size: 12px;
	color: #d00505;
	margin: 0 0 5px;
	line-height: 1.4;
}

#form table td .error,
#form table td .text-danger {
	background: #fbf0f0;
	border: 1px solid #ecb3b3;
	border-radius: 5px;
	padding: 5px 10px 3px;
	font-size: 12px;
	color: #d00505;
	display: block;
	margin: 5px 0 10px 0;
	font-weight: bold;
}

#form table td .text-danger strong {
	font-size: 13px;
	color: #d00505;
}



/* ============================================================ */
/* .main_navi */
/* ============================================================ */
.main_navi {
	margin: 0 0 30px;
	padding: 0 15px;
}

.main_navi h3 {
	text-align: center;
	font-size: 1.6rem;
	font-weight: bold;
	margin: 0 0 15px;
	text-align: center;
}

.main_navi ul li {
	margin: 0 0 10px;
}

.main_navi ul li:last-of-type {
	margin: 0;
}

.main_navi ul li a {
	width: 100%;
	display: inline-block;
	border: 1px solid #36891a;
	background: #3b941e !important;
	padding: 8px;
	background: #fff;
	font-size: 1.3rem;
	color: #fff;
	box-sizing: border-box;
	border-radius: 5px;
	text-align: center;
}



/* ============================================================ */
/* .contents_navi */
/* ============================================================ */
.contents_navi {
	padding: 0 15px;
	margin: 30px 0 0;
}

.contents_navi h3 {
	margin: 0 -15px 15px;
	position: relative;
	text-align: center;
}

.contents_navi h3::before {
	content: "";
    display: block;
    border-top: 1px solid #afe09d;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 50%;
    z-index: 1;
}

.contents_navi h3 span {
	font-size: 1.8rem;
	font-weight: bold;
	color: #339f0b;
	background: #fff;
	padding: 0 15px;
	position: relative;
	z-index: 2;
}

.contents_navi ul {
}

.contents_navi ul li {
	margin: 0 0 10px;
}

.contents_navi ul li a {
	border: 2px solid #e0e0d9;
	padding: 10px 15px;
	border-radius: 5px;
	overflow: hidden;
	display: table;
	position: relative;
	width: 100%;
	box-sizing: border-box;
}

.contents_navi ul li a img {
	display: table-cell;
    vertical-align: middle;
    text-align: center;
	width: 100%;
}

.contents_navi ul li a p {
	display: table-cell;
    vertical-align: middle;
	width: 70%;
	text-align: left;
	font-size: 1.3rem;
	line-height: 1.4;
	padding: 0 0 0 15px;
}


/* ============================================================ */
/* ページャー */
/* ============================================================ */
.pager {
	margin: 20px 0 0;
}

.pager ul {
	text-align: center;
}

.pager ul li {
	display: inline-block;
	margin: 0 0 5px;
}

.pager ul .page_numbers {
	display: inline-block;
	padding: 8px 12px;
	text-align: center;
	text-decoration: none;
	color: #333;
	border: 1px solid #dedede;
	background: #fff;
	white-space: nowrap;
	vertical-align: middle;
	border-radius: 5px;
}

.pager ul li .currant {
	color: #fff;
	background: #eb861d;
	border: 1px solid #eb861d;
}


/* ページャー詳細ページ
----------------------------------------------------------- */
.entry_pager {
	position: relative;
	margin: 20px 0 0;
	text-align: center;
}

.entry_pager .previous {
	position: absolute;
	top: 0;
	left: 0;
}

.entry_pager .next {
	position: absolute;
	top: 0;
	right: 0;
}

.entry_pager .list {
	text-align: center;
}

.entry_pager li a {
	display: inline-block;
	padding: 8px 12px;
	text-align: center;
	text-decoration: none;
	color: #fff;
	background: #eb861d;
	border: 1px solid #eb861d;
	white-space: nowrap;
	vertical-align: middle;
	border-radius: 5px;
	font-size: 1.1rem;
}

.entry_pager li a:hover {
	color: #333;
	border: 1px solid #dedede;
	background: #fff;
}


/* ============================================================ */
/* 2カラム用（ニュース） */
/* ============================================================ */

/* #inner
------------------------------------------------------------ */
#inner {
}

/* #main
------------------------------------------------------------ */
#inner #main {
	overflow: hidden;
	padding: 0 15px;
}

/*#inner #main h2 ,
#inner #main table {
	width: 720px;
}*/

#inner #main img {
	width: 100%;
	zoom: 0.5;
}


/* #side
------------------------------------------------------------ */
#side {
	margin: 40px 0 0;
}

#side .snavi {
	margin: 0 0 20px;
}

#side .snavi h3 {
	border: 1px solid #287e08;
	background: #339f0b;
	color: #fff;
	padding: 15px;
	font-size: 1.6rem;
}

#side .snavi ul {
	border: 1px solid #d5d5d5;
	border-top: none;
}

#side .snavi ul li {
	border-bottom: 1px dotted #d5d5d5;
}

#side .snavi ul li:last-of-type {
	border-bottom: none;
}

#side .snavi ul li a {
	display: block;
	padding: 10px 15px;
}


/* ニュース一覧スタイル
------------------------------------------------------------ */
.news_list {
	overflow: hidden;
	border-top: 1px dotted #d5d5d5;
	margin: 30px -15px 0;
}

.news_list li {
	border-bottom: 1px dotted #d5d5d5;
	overflow: hidden;
}

.news_list li:nth-child(2n+0) {
	background: #f4f4f4;
}

.news_list li a {
	overflow: hidden;
	display: block;
	padding: 15px 15px 11px 15px;
	text-decoration: none;
}

.news_list li p[class^="ico_"] {
	float: left;
	margin: 0 11px 0 0;
	padding: 2px 20px;
	color: #fff;
	text-align: center;
	font-size: 1.2rem;
}

.news_list li .ico_leader {
	background: #38baa0;
}

.news_list li .ico_teacher {
	background: #44a33d;
}

.news_list li .ico_event {
	background: #eb861d;
}

.news_list li .ico_info {
	background: #e9545d;
}

.news_list li time {
	color: #333 !important;
}

.news_list li p:last-of-type {
	margin: 5px 0 0 0;
}


/* ニュース詳細用スタイル 
---------------------------------------------------------- */
#entry_body {
	overflow: hidden;
}

#entry_body h2 {
	text-align: left;
}

#entry_body h2::before {
	display: none;
}

#entry_body .entry_date {
	margin: 0 0 30px 0;
	border-bottom: 1px dotted #d3d3d3;
	overflow: hidden;
}

#entry_body .entry_date p:first-of-type {
	float: left;
	margin: 0 11px 0 0;
	/*width: 60px;*/
	padding: 2px 20px;
	color: #fff;
	text-align: center;
	font-size: 1.2rem;
}

#entry_body .entry_date .ico_info {
	background: #f56797;
}

#entry_body .entry_date .ico_cons {
	background: #f17703;
}

#entry_body .entry_date .ico_event {
	background: #619816;
}

#entry_body .entry_date .ico_memorial {
	background: #9c66c2;
}

#entry_body .entry_date .ico_blog {
	background: #47bcb0;
}

#entry_body .entry_date .ico_cat32 {
	background: #854718;
	/*width: 140px !important;*/
}

#entry_body .entry_date .news_date {
	color: #333 !important;
}

#entry_body .entry_date .news_date {
	float: right;
	font-weight: bold;
}


/* ブログ記事コンテンツエリア　画像横幅100％
---------------------------------------------------------- */
#entry_body {
	margin: 0 -15px 20px;
	padding: 0 15px 20px;
	border-bottom: 1px dotted #d3d3d3;
}

#entry_body img {
	max-width: 100%;
	/*zoom: 0.5;*/
}

#entry_body p {
	margin: 0 0 15px;
}

#entry_body table {
	margin: 0 0 20px;
}

#entry_body .ninja_onebutton {
	margin: 30px 0 0;
}


/* FAQリスト
---------------------------------------------------------- */
ul.faq_list > li {
	border-bottom: 1px dotted #d5d5d5;
	padding: 10px 15px 0 15px;
}

ul.faq_list > li h3 {
	font-weight: bold;
	position: relative;
	display: block;
	padding: 0 0 10px 25px;
}

ul.faq_list > li h3::before {
	content: "Q: ";
	color: #339f0b;
	position: absolute;
	top: 0;
	left: 0;
	width: 80px;
	display: block;
}

ul.faq_list > li .faq_answer {
	border-top: 1px dotted #d5d5d5;
	margin: 0 -15px 0;
	padding: 10px 20px 10px 40px;
	position: relative;
	display: none;
	background: #f4f4f4;
}

ul.faq_list > li .faq_answer::before {
	content: "A: ";
	color: #eb861d;
	position: absolute;
	top: 10px;
	left: 15px;
	width: 80px;
	display: block;
	font-weight: bold;
}

ul.faq_list > li .faq_answer div {
	margin: 15px 0 0;
}

ul.faq_list > li .faq_answer ol {
	margin: 15px 0 0;
}

ul.faq_list > li .faq_answer ol > li {
	list-style-type: decimal;
	margin: 0 0 5px 20px;
	font-weight: bold;
}

ul.faq_list > li .faq_answer ul {
	overflow: hidden;
	margin: 10px 0 0;
}

ul.faq_list > li .faq_answer ul > li {
	list-style-type: disc;
	margin: 0 0 0 20px;
}

ul.faq_list > li .faq_answer p {
	margin: 0 0 10px;
}

ul.faq_list > li .faq_answer p:last-of-type {
	margin: 0;
}

ul.faq_list > li .faq_answer .faq_list {
	margin: 0 0 15px;
}

ul.faq_list > li .faq_answer .faq_list li {
	list-style-type:none;
	margin: 0;
	float: left;
}

ul.faq_list > li .faq_answer .faq_list li::after {
	content: "，";
}

ul.faq_list > li .faq_answer .faq_list li:last-of-type::after {
	display: none;
}
