@charset "UTF-8";

/* --------------------------------
	メインレイアウト
-------------------------------- */
#main { position: relative; font-size: 87.5%; }
#content { max-width: 954px; margin: 0 auto; padding: 0 13px 30px; }
.title_read { margin: -0.35em 0 1.25em; }
.attention-txt{ font-weight: bold; color: #cc0000; }

@media only screen and (max-width: 640px) {
	#main { font-size: 100%; }
	#content { width: auto; max-width: inherit; padding: 0 20px; }
	.title_read { margin: 0 0 0.65em; }
}

/* --------------------------------
	module_titleArea
-------------------------------- */
#module_titleArea { width: auto; max-width: inherit; padding: 17px 13px 1em; }
#module_titleArea #category_title { float: left; max-width: 55%; font-size: 185.72%; font-weight: bold; color: #cc0000; line-height: 1.6; }
#module_titleArea .return_page a { float: left; display: inline-block; min-height: 20px; margin: 0.65em 0 0 15px; padding-left: 19px; background: url(../img/arr_return.png) no-repeat left center; color: #666; line-height: 1.6; text-decoration: none; }
#module_titleArea #module_zoomFontSize { top: 23px; }

@media only screen and (max-width: 640px) {
	#module_titleArea { padding: 15px 20px 17px; }
	#module_titleArea #category_title { float: none; max-width: inherit; font-size: 164.2%; }
	#module_titleArea .return_page a { position: relative; float: none; display: block; min-height: inherit; margin: 1.5em 0 0; padding: 0.45em 5px 0.5em; background: none; border:1px solid #666; -moz-border-radius: 3px; -webkit-border-radius: 3px; -o-border-radius: 3px; -ms-border-radius: 3px; border-radius: 3px; text-align: center; font-weight: normal; }
	#module_titleArea .return_page a:hover { text-decoration: none; } 
	#module_titleArea .return_page a:before { content: ""; display: inline-block; position: relative; top: 3px; width: 16px; height: 16px; margin-right: 3px; background: url(../img/arr_return_@2x.png) no-repeat; background-size: 16px auto; vertical-align: baseline; }
}

/* --------------------------------
	テーブル
-------------------------------- */
.default_table { width: 100%; border-top: 1px solid #bbb; border-right: 1px solid #bbb; border-collapse: collapse; }
.default_table th,
.default_table td { padding: 0.85em 14px; border-left: 1px solid #bbb; border-bottom: 1px solid #bbb; color: #111; }
.default_table th { background-color: #efefef; font-weight: bold; }

@media only screen and (max-width: 640px) {
	.default_table th,
	.default_table td { padding: 0.75em 10px; }

	.change_layout { border-right: none; }
	.change_layout th,
	.change_layout td { display: block; width: 100% !important; float: left; clear: both; border-right: 1px solid #bbb; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
	.change_layout.sp_separate tr + tr th { margin-top: 15px; border-top: 1px solid #bbb; }
}

/* --------------------------------
	フォーム
-------------------------------- */
input, textarea, select, button { font-size: 100%; }
.checkbox,
.radio { float: left; margin: 0.2em 5px 0 0; }
.indent_label { display: block; padding-left: 1.35em; }
.input_text { width: 100%; max-width: 800px; padding: 1px 2px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
textarea.input_text { min-height: 6em; }
.input_text_lite { width: 100%; max-width: 730px; padding: 1px 2px; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
.form_note { margin-left: 5px; }
.radio_list li { line-height: 1.7; }
.radio_list li * { float: left; margin-right: 5px; }
.radio_list li:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.radio_list li + li { margin-top: 0.1em; }
.radio_list li .checkbox,
.radio_list li .radio { margin: 0.4em 5px 0 0; }

@media only screen and (max-width: 640px) {
	.input_text_lite { display: block; }
	.form_note { display: block; margin:  5px 0 0; }
	.radio_list li + li { margin-top: 0.3em; }
	.radio_list li .input_text_lite { margin-top: 0.5em; }
}

/* --------------------------------
	ボタン
-------------------------------- */
.button_wrap { position: relative; margin-top: 30px; padding: 20px 0; background: #fff7f2; text-align:center; }
.button_wrap ul { display: table; margin: 0 auto; direction: rtl; max-width: 100%; padding: 0 7.5em; }
.button_wrap li { display: table-cell; padding: 5px 15px; vertical-align: middle; }
.narrow_range ul { padding: 0; }
.narrow_range li { padding: 5px 9px; }
.button_wrap li button { -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }

.submit_button { display: block; min-width: 258px; padding: 0.5em 10px 0.45em; background: #cc0000; border: none; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; text-align: center; cursor: pointer; }
.submit_button:hover { filter:alpha(opacity=70); -moz-opacity: 0.7; opacity: 0.7; }
.submit_button span { display: inline-block; min-height: 22px; padding-left: 30px; background: url(../img/arr_submit.png) no-repeat left center; color: #fff; font-size: 171.5%; font-weight: bold; line-height: 1.6; }

.submit_small .submit_button { min-width: 200px; padding: 0.6em 10px 0.55em; }
.submit_small .submit_button span { min-height: 19px; padding-left: 26px; background: url(../img/arr_submit_s.png) no-repeat 0 45%; font-size: 128.5%; }

.cancel_button { display: block; min-width: 178px; padding: 0.6em 10px 0.55em; background: #888; border: none; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; text-align: center; cursor: pointer; }
.cancel_button:hover { filter:alpha(opacity=80); -moz-opacity: 0.8; opacity: 0.8; }
.cancel_button span { display: inline-block; min-height: 19px; padding-left: 26px; background: url(../img/arr_submit_return.png) no-repeat left center; color: #fff; font-size: 128.5%; font-weight: bold; line-height: 1.6; }

.cancel_link { position: absolute; top: 50%; left: 30px; display: inline-block; margin-top: -0.75em; padding-left: 26px; background: url(../img/arr_cancel.png) no-repeat left center; font-size: 128.5%; line-height: 1.6; }
.cancel_link:hover { text-decoration: none; }
.cancel_link span { border-bottom: 1px solid; }

.back_button,
.close_button { display: block; min-width: 178px; padding: 0.7em 10px 0.6em; background: #cc0000; border: none; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; border-radius: 5px; text-align: center; cursor: pointer; }
.back_button:hover,
.close_button:hover { filter:alpha(opacity=70); -moz-opacity: 0.7; opacity: 0.7; }
.back_button span { display: inline-block; min-height: 19px; padding-left: 26px; background: url(../img/arr_submit_return_red.png) no-repeat left center; color: #fff; font-size: 128.5%; font-weight: bold; line-height: 1.6; }
.close_button span { display: inline-block; min-height: 19px;  color: #fff; font-size: 128.5%; font-weight: bold; line-height: 1.6; }

@media only screen and (min-width: 641px) and (max-width: 980px){
	.submit_button,
	.submit_small .submit_button,
	.cancel_button { width: auto; min-width: inherit; }
	.close_button { width: 178px; }
	.button_wrap li button { width: 100%; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
}

@media only screen and (min-width: 641px) and (max-width: 840px){
	.cancel_link { position: inherit; top: 0; left: 0; margin: 0.35em 0; }
}

@media only screen and (max-width: 640px) {
	.button_wrap { margin-top: 15px; padding: 10px 10px 0; }
	.button_wrap ul { display: block; direction: ltr; padding: 0; }
	.button_wrap li { display: block; padding: 0 0 10px; }
	.button_wrap li button { width: 100%; -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
	
	.submit_button,
	.submit_small .submit_button,
	.cancel_button,
	.back_button,
	.close_button { width: auto; min-width: inherit; margin: 0; }
	.submit_button:hover,
	.cancel_button:hover,
	.back_button:hover,
	.close_button:hover { filter:alpha(opacity=100); -moz-opacity: 1.0; opacity: 1.0; }
	.submit_button span { display: inline-block; min-height: 23px; padding-left:30px; background: url(../img/arr_submit_@2x.png) no-repeat 0 45%; background-size: 23px auto; }
	.submit_small .submit_button span { min-height: 18px; padding-left: 25px; background: url(../img/arr_submit_s_@2x.png) no-repeat 0 45%; background-size: 18px auto; }
	.cancel_button span { display: inline-block; min-height: 19px; padding-left: 26px; background: url(../img/arr_submit_return_@2x.png) no-repeat 0 45%; background-size: 19px auto; }
	.cancel_link { position: inherit; top: 0; left: 0; margin: 0.35em 0; padding-left: 26px; background: url(../img/arr_cancel_@2x.png) no-repeat left center; background-size: 19px auto; }
	.back_button span { display: inline-block; min-height: 18px; padding-left: 26px; background: url(../img/arr_submit_return_red_@2x.png) no-repeat 0 45%; background-size: 18px auto; }
	.close_button span { display: inline-block; min-height: 18px; }
}

/* --------------------------------
	ページトップ
-------------------------------- */
.pagetop { margin: 2.5em 0 2.5em; padding-top:12px; border-top:1px solid #efefef; text-align: right; }
.pagetop a { display: inline-block; padding: 0.16em 10px 0.16em 26px; background: url(../img/arr_pagetop.gif) no-repeat 10px 49%; border-right: 1px solid #dbdbdb; border-left: 1px solid #dbdbdb; }

@media only screen and (max-width: 640px) {
	.pagetop { margin: 1.5em 0 1.5em; padding-top: 0; border: none; }
	#bottom_pagetop { margin-right: -10px; }
	.pagetop a { background: url(../img/arr_pagetop_@2x.png) no-repeat 10px 50%; background-size: 12px auto; }
}

/* --------------------------------
	verisign
-------------------------------- */
#verisign { padding: 1em 10px; background-color: #f2f2f2; text-align: center; }

@media only screen and (max-width: 640px) {
	#verisign { margin-top: 20px; padding: 1.35em 10px; font-size: 87.5%; }
}

/* --------------------------------
	アイコン
-------------------------------- */
.icon_required { display: inline-block; margin: 0 0 0 5px; padding: 0.3em 8px 0.25em; background-color: #d94100; color: #fff; font-weight: bold; line-height: 1; }
.icon_closed { display: inline-block; margin: 0 0 0 5px; padding: 0.3em 8px 0.25em; background-color: #888; color: #fff; font-weight: bold; line-height: 1; white-space: nowrap; }

@media only screen and (max-width: 640px) {
	.icon_required { margin-top: -0.2em; padding: 0.2em 8px; font-size: 71.4%; vertical-align: middle; }
}

/* --------------------------------
	参加申込み
-------------------------------- */
#seminar_info { margin-bottom: 15px; }
#seminar_info th { width: 20%; font-weight: normal; }

#list_session { padding: 0.75em 5px 0; }
#list_session .session_wrap +  .session_wrap { padding-top: 1em; border-top: 1px solid #bbb; }
#list_session .session_wrap .session_group { margin-bottom: 0.75em; }
#list_session .session_wrap .session { display: table; width: 100%; border-top: 1px solid #e5e5e5; }
#list_session .session_wrap .session li { display: table-cell; padding: 0.75em 0 0.75em 0; cursor: pointer; }
#list_session .session_wrap .session li.session_term { width: 22%; padding-left: 20px; }
#list_session .session_wrap .session li.session_info { width: 56%; }
#list_session .session_wrap .session li.session_data { padding-right: 20px; text-align: right; vertical-align: bottom; }
#list_session .session_wrap .session li.session_icon { width: 9%; padding-left: 0; vertical-align: middle; }
#list_session .session_wrap .session li label { display: block; cursor: pointer; }
#list_session .session_wrap .closed li,
#list_session .session_wrap .closed li label { cursor: default; }
#list_session .attention-txt { display: block; margin-bottom: 1.25em; }

.question_table + .question_table { margin-top: 20px; }
.question_table th { padding: 0.5em 13px; }
.question_table td { padding: 0.9em 13px; }
.question_table .question_list dt { float: left; }
.question_table .question_list dd { padding-left: 2.2em; }

@media only screen and (max-width: 640px) {
	#seminar_info th { width: 100%; font-weight: bold; }
	
	#list_session { padding: 0.75em 0 0.5em; }
	#list_session .session_wrap .session_group { font-weight: bold; }
	#list_session .session_wrap .session { display: block; width: auto; margin-left: 15px; }
	#list_session .session_wrap .session li { display: block; padding: 0.5em 0 0 0; }
	#list_session .session_wrap .session li.session_term { width: 100%; padding-top: 0.75em; padding-left: 0; }
	#list_session .session_wrap .session li.session_term br { display: none; }
	#list_session .session_wrap .session li.session_info { width: 100%; }
	#list_session .session_wrap .session li.session_data { padding-right: 0; padding-bottom: 0.75em; text-align: left; vertical-align: top; }
	#list_session .session_wrap .session li.session_icon { display: none; }
	#list_session .session_wrap .session.closed li.session_term { display: table-cell; width: 70%; padding-right: 5px; }
	#list_session .session_wrap .session.closed li.session_icon { display: table-cell; width: 30%; }
	#list_session .session_wrap .session.closed li.session_icon .icon_closed { margin: 0; }
	#list_session .session_wrap .session.closed li.session_icon:after {}
	
	.question_table + .question_table { margin-top: 15px; }
	.question_table th { font-weight: normal; padding: 0.5em 9px; }
	.question_table td { padding: 0.65em 9px; }
}

/* --------------------------------
	申込み内容確認
-------------------------------- */
#check_form th { width: 20%; font-weight: normal; }
#check_form #list_session { padding: 0.35em 5px 0; }
#check_form #list_session .session_wrap + .session_wrap { margin-top: 0.75em; }
#check_form #list_session .session_wrap .session li { padding: 0.75em 0 0 20px; cursor: default; }
#check_form #list_session .session_wrap .session li.session_term { width: 30%; }
#check_form #list_session .session_wrap .session li.session_info { width: 44%; }

#check_form .check_question_wrap { padding: 0.35em 5px; }
#check_form .check_question_wrap +  .check_question_wrap { margin-top: 0.75em; padding-top: 0.75em; border-top: 1px solid #e5e5e5; }
#check_form .check_question_wrap .question { margin-bottom: 0.5em; font-weight: bold; }
#check_form .check_question_wrap .answer { margin: 0.5em 0 0 10px; }

@media only screen and (max-width: 640px) {
	#check_form th { width: 100%; font-weight: bold; }
	#check_form #list_session { padding: 0; }
	#check_form #list_session .session_wrap .session_group { font-weight: normal; }
	#check_form #list_session .session_wrap .session { margin-left: 0; }
	#check_form #list_session .session_wrap .session li { padding: 0.75em 0 0 0; }
	#check_form #list_session .session_wrap .session li.session_term,
	#check_form #list_session .session_wrap .session li.session_info { width: 100%; }
	
	#check_form .check_question_wrap { position: relative; padding: 0; }
	#check_form .check_question_wrap:last-child { padding-bottom: 0.75em; }
	#check_form .check_question_wrap li { padding-left: 2.5em; }
	#check_form .check_question_wrap .question { font-weight: normal; }
	#check_form .check_question_wrap .p_num { position: absolute; left: 0; }
	#check_form .check_question_wrap .answer { margin: 0.5em 0 0 3.5em; }
}

/* --------------------------------
	サンクス・エラー
-------------------------------- */
#thanks_error_wrap { margin-top: -0.35em; padding: 4.5em 0; border-top: 1px solid #bbb; }
#thanks_error_wrap.thanks { padding-bottom: 1.75em; }
#thanks_error_wrap .headline { font-size: 185.7%; font-weight: bold; text-align: center; }
#thanks_error_wrap .text { font-size: 114.2%; text-align: center; }
#thanks_error_wrap.thanks .text { margin: 0.35em 0 3em; }
#thanks_error_wrap.thanks .default_table th { width: 23%; font-weight: normal; text-align: center; }
#thanks_error_wrap.thanks .default_table th,
#thanks_error_wrap.thanks .default_table td { padding: 1.75em 40px; }

@media only screen and (max-width: 640px) {
	#thanks_error_wrap { margin-top: 0; padding: 2.5em 0 1.5em; border-top: 1px solid #bbb; }
	#thanks_error_wrap.thanks { padding-bottom: 0.5em; }
	#thanks_error_wrap .headline { font-size: 157.1%; }
	#thanks_error_wrap .text { font-size: 100%; text-align: left; }
	#thanks_error_wrap.thanks .text { margin: 1em 0 1.75em; }
	#thanks_error_wrap.thanks .default_table th,
	#thanks_error_wrap.thanks .default_table td { padding: 0.65em 9px; text-align: center; }
}