@charset "utf-8";
/* ============================================================ */
/* #contents */
/* ============================================================ */
/*#contents {
	width: 100%;
	padding: 144px 0 0;
	position: relative;
}

@press_release only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) {
	#contents {
		padding: 142px 0 0;
	}
}

@press_release only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) {
	#contents {
		padding: 142px 0 0;
	}
}*/



/* ============================================================ */
/* #pankuzu */
/* ============================================================ */
#pankuzu {
	font-size: 1.1rem;
	max-width: 980px;
	margin: 0 auto 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 {
	margin: 0 0 100px;
}


/* ============================================================ */
/* 汎用ブロック */
/* ============================================================ */

/* .block
------------------------------------------------------------ */
.block {
	margin: 0 0 60px;
}

.block:nth-last-child(1) {
	margin: 0;
}

.block::after {
    display: block;
    content: "";
    clear: both;
}



/* .search_block
----------------------------------------------------------- */
.search_block > ul {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
	margin: 45px 0 40px;
}

.search_block > ul > li {
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	-ms-flex-align:center;
	align-items: center;
	width: 310px;
	padding: 40px 30px;
	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;
}

.search_block ul li p {
	margin: 0 0 20px;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 1.6;
}


/*----- icon -----*/

.search_block ul li p::before {
	display: block;
	color: #339f0b;
	font-family: 'icon';
	font-size: 3.4rem;
	font-weight: normal;
	line-height: 1.4;
}

.search_block ul li .txt_pref::before {
	content: "\e90e";
}

.search_block ul li .txt_date::before {
	margin: 0 0 10px;
	content: "\f274";
	font: normal normal normal 34px/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%;
	padding: 8px 5px;
	font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "新ゴR",  Verdana, "ＭＳ Ｐゴシック", sans-serif;
	background: #fff;
	border: 1px solid #a9a9a9;
	box-sizing: border-box;
}

.search_block ul li input[type="text"] {
	-webkit-appearance: none;
	appearance: none;
}

.search_block ul li select[name$="pref_id"] {
	margin: 0 0 5px;
}

/* 開催期間 */
.search_block ul li .start_date,
.search_block ul li .finish_date {
	width: 270px;
	margin: 5px -10px 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 {
	width: 200px;
	font-size: 1.4rem;
}



/* .search_area
----------------------------------------------------------- */
.search_area {
	overflow: hidden;
}

.search_area li {
	float: left;
	width: 155px;
	margin: 0 10px 20px 0;
}

.search_area li:nth-child(6n) {
	margin: 0 0 20px;
}

.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: 3.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 32px/1.5 FontAwesome;
}

.search_area .skype a::before {
	content: "\f17e";
	font: normal normal normal 32px/1.5 FontAwesome;
}



/* .result_box
----------------------------------------------------------- */
.result_box {
	margin: 0 0 40px;
	padding: 30px;
	background: #eaeae4;
	border: 1px solid #ccc;
	text-align: center;
}

.result_box p span {
	font-weight: bold;
}






/* ============================================================ */
/* タイトルスタイル */
/* ============================================================ */

/* .midashi01
------------------------------------------------------------ */
.midashi01 {
	background: url(/common/img/common/bg_pattern06.png) 0 0 repeat;
	margin: 0 0 55px;
	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: 20px;
	margin-left: -20px;
}

.midashi01 h1 {
	text-align: center;
	background: url(/common/img/common/bg_title.png) center top no-repeat;
	padding: 60px 0 55px;
	font-size: 2.8rem;
	font-weight: bold;
	color: #184818;
}




/* .midashi02
------------------------------------------------------------ */
.midashi02 {
	font-size: 2.6rem;
	line-height: 1.4;
	font-weight: bold;
	margin: 0 0 25px;
	text-align: center;
	color: #553c21;
}

.midashi02::before {
	content: "\e90f";
	font-family: 'icon';
	font-size: 2.4rem;
	padding: 0 10px 0 0;
	color: #339f0b;
}




/* .midashi03
------------------------------------------------------------ */
.midashi03 {
	border-bottom: 2px solid #ddd;
	margin: 0 0 20px;
	font-size: 2.2rem;
	line-height: 2.0;
	font-weight: bold;
	position: relative;
}

.midashi03::after {
	border-bottom: 2px solid #339f0b;
	content: "";
	display: block;
	margin: 0 0 -3px;
	width: 200px;
	position: absolute;
	bottom: 1px;
}



/* .midashi04
------------------------------------------------------------ */
.midashi04 {
	color: #1c6700;
	font-weight: bold;
	font-size: 1.9rem;
	margin: 0 0 15px;
	padding: 0 0 0 10px;
	line-height: 1.6;
	border-left: 3px solid #339f0b;
}




/* ============================================================ */
/* table */
/* ============================================================ */
#main table {
	width: 980px;
	line-height: 1.6;
	border: 1px solid #dfdfdf;
}

#main table th,
#main table td {
	padding: 15px;
	border: 1px solid #dfdfdf;
	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 {
	margin-bottom: 60px;
}
#main .tbl_result,
#main .tbl_result th,
#main .tbl_result td {
	border-left: none;
	border-right: none;
}

#main .tbl_result tr:nth-child(2n) td {
	background: #fbfbfb;
}

#main .tbl_result td[data-label="詳細"] {
	width: 10%;
}

#main .tbl_result_past th,
#main .tbl_result_past td {
	padding: 8px;
	font-size: 1.3rem;
}



/* ============================================================ */
/* ボタンスタイル */
/* ============================================================ */
.btn {
	display: inline-block;
	padding: 7px 20px 5px;
	margin: 0 0 3px 0;
	color: #fff;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	white-space: nowrap;
	background: #eb861d;
	background-image: -moz-linear-gradient(top, #ff9323, #e6821a);
	background-image: -ms-linear-gradient(top, #ff9323, #e6821a);
	background-image: -webkit-linear-gradient(top, #ff9323, #e6821a);
	background-image: linear-gradient(top, #ff9323, #e6821a);
	border: 1px solid #df7c14;
	/*background: -moz-linear-gradient(top,  #f39220 0%, #ea8002 100%);
	background: -webkit-linear-gradient(top,  #f39220 0%,#ea8002 100%);
	background: linear-gradient(to bottom,  #f39220 0%,#ea8002 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f39220', endColorstr='#ea8002',GradientType=0 );*/
	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: 1px solid #db7913;
	border-radius: 5px;
}

#contents button.btn_gray ,
#contents input[type="submit"].btn_gray ,
#contents input[type="reset"].btn_gray {
	border: 1px solid #ccc;
}




/* ============================================================ */
/* フォームスタイル */
/* ============================================================ */
#form {
	width: 980px;
	margin: 0 auto;
}

#form table {
	margin-bottom: 30px;
}


#form table th {
	position: relative;
	width: 270px;
}

#form table th .must {
	position: absolute;
	top: 50%;
	right: 15px;
	margin: -1em 0 0;
	padding: 0 3px;
	background: #e9545d;
	border-radius: 2px;
	color: #fff;
	font-size: 1.1rem;
	font-weight: bold;
}

#form table td .example {
	margin: 0 0 0 15px;
	color: #898989;
	font-size: 1.3rem;
}

#form .btn {
	font-size: 1.5rem;
}

#form input[type="text"],
#form select,
#form textarea {
	font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "新ゴR",  Verdana, "ＭＳ Ｐゴシック", sans-serif;
	font-size: 1.5rem;
}

#form input[type="text"],
#form textarea {
	padding: 5px;
	border: 1px solid #d2d2d2;
	border-radius: 2px;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
}

#form input[type="text"]:focus,
#form textarea:focus {
	outline: none;
	background: #fafafa;
}

#form select {
	padding: 5px;
	border: 1px solid #d2d2d2;
	border-radius: 2px;
	box-sizing: border-box;
}

#form input[type="radio"] {
	margin: 0 5px 0 0;
}

/* エラー表示 */
#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;
	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 60px;
}

.main_navi h3 {
	text-align: center;
	font-size: 2.0rem;
	font-weight: bold;
	margin: 0 0 25px;
}

.main_navi ul {
	width: 980px;
	margin: 0 auto;
	text-align: center;
	letter-spacing: -0.4em;
}

.main_navi ul li {
	display: inline;
	letter-spacing: 0;
	margin: 0 20px 0 0;
}

.main_navi ul li:last-of-type {
	margin: 0;
}

.main_navi ul li a {
	width: 320px;
	display: inline-block;
	border: 1px solid #36891a;
	background: #3b941e !important;
	padding: 10px;
	background: #fff;
	font-size: 1.5rem;
	color: #fff;
	box-sizing: border-box;
	border-radius: 5px;
}

.npo_backnumber .main_navi ul li a {
	width: 270px;
}


/* ============================================================ */
/* .contents_navi */
/* ============================================================ */
.contents_navi {
	max-width: 980px;
	margin: 0 auto;
}

.contents_navi h3 {
	margin: 0 0 30px;
	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: 2.2rem;
	font-weight: bold;
	color: #339f0b;
	background: #fff;
	padding: 0 15px;
	position: relative;
	z-index: 2;
}

.contents_navi ul {
	overflow: hidden;
}

.contents_navi ul li {
	float: left;
	width: 188px;
	margin: 0 10px 10px 0;
	border: 2px solid #e0e0d9;
	box-sizing: border-box;
	border-radius: 5px;
}

.contents_navi ul li:nth-child(5n) {
	margin: 0 0 10px;
}

.contents_navi ul li a {
	display: block;
	padding: 20px 20px 25px;
}

.contents_navi ul li a img {
	margin: 0 0 10px;
}

.contents_navi ul li a p {
	font-size: 1.3rem;
}



/* ============================================================ */
/* ページャー */
/* ============================================================ */
.pager {
	margin: 30px 0 0;
}

.npo_news .pager {
	width: 730px;
}

.pager ul {
	text-align: center;
}

.pager ul li {
	display: inline-block;
	margin: 0 1px 5px;
}

.pager ul .page_numbers {
	font-size: 1.4rem;
	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 .page_numbers:hover,
.pager ul li .currant {
	color: #fff;
	background: #eb861d;
	border: 1px solid #eb861d;
	opacity: 1;
}


/* ページャー詳細ページ
----------------------------------------------------------- */
.entry_pager {
	position: relative;
	margin: 30px 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 li a {
	display: inline-block;
	padding: 10px 12px;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	border-radius: 5px;
	color: #fff;
	background: #eb861d;
	border: 1px solid #eb861d;
}

.entry_pager li a:hover {
	color: #333;
	border: 1px solid #dedede;
	background: #fff;
}


/* ============================================================ */
/* 2カラム用（ニュース） */
/* ============================================================ */

/* #inner
------------------------------------------------------------ */
#inner {
	width: 980px;
	margin: 0 auto;
	overflow: hidden;
}

/* #main
------------------------------------------------------------ */
#inner #main {
	float: left;
	width: 720px;
	overflow: hidden;
}

#inner #main h2 ,
#inner #main table {
	width: 720px;
}

#inner #main img {
	max-width: 100%;
}


/* #side
------------------------------------------------------------ */
#side {
	float: right;
	width: 220px;
}

#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 0 0 0;
	width: 720px;
}

.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_experience {
	background: #44a33d;
}

.news_list li .ico_blog {
	background: #eb861d;
}

.news_list li .ico_info {
	background: #e9545d;
}

.news_list li time {
	color: #333 !important;
}

.news_list li p:last-of-type {
	position: relative;
	margin: 5px 0 0 0;
	padding: 0 0 0 .7em;
	overflow: hidden;
}

.news_list li p i {
	position: absolute;
	top: 5px;
	left: 0;
}


/* カテゴリアイコンなし */
.news_list li time:first-child {
	float: left;
	margin: 0 20px 0 0;
}

.news_list li time:first-child + p:last-child {
	margin-top: 0;
}



/* ニュース詳細用スタイル 
---------------------------------------------------------- */
#entry_body {
	width: 720px;
	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 0 40px 0;
	padding: 0 0 20px 0;
	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 25px;
}

#entry_body .ninja_onebutton {
	margin: 40px 0 0;
}


/* FAQ リスト
------------------------------------------------------------ */
ul.faq_list > li {
	border-bottom: 1px dotted #d5d5d5;
	padding: 15px 15px 0 15px;
}

ul.faq_list > li h3 {
	font-weight: bold;
	position: relative;
	display: block;
	padding: 0 0 15px 25px;
	cursor: pointer;
}

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: 15px 20px 15px 40px;
	position: relative;
	display: none;
	background: #f4f4f4;
}

ul.faq_list > li .faq_answer::before {
	content: "A: ";
	color: #eb861d;
	position: absolute;
	top: 15px;
	left: 15px;
	width: 80px;
	display: block;
	font-weight: bold;
}

ul.faq_list > li .faq_answer div {
	margin: 20px 0 0;
}

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 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 ol  ul {
	margin-top: 0;
}

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 .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;
}
