@charset "Windows-31J";
/* -------------------------------
 * FONTSIZE MODEL * 基本サイズ14px
 * -------------------------------
 *  72% ->		10pxに相当
 *  79% ->		11pxに相当
 *  86% ->		12pxに相当
 *  93% ->		13pxに相当
 * 100% ->		14pxに相当
 * 108% ->		15pxに相当
 * 115% ->		16pxに相当
 * 122% ->		17pxに相当
 * 129% ->		18pxに相当
 * 136% ->		19pxに相当
 * 143% ->		20pxに相当
 * 150% ->		21pxに相当
 * 158% ->		22pxに相当
 * 165% ->		23pxに相当
 * 172% ->		24pxに相当
 * 179% ->		25pxに相当
 * 186% ->		26pxに相当
 * ------------------------------- */
/*--------------
ブラウザのデフォルトスタイルをリセットする
----------------------------------------------------------*/
@import url('reset.css');
@import url('html5reset-1.6.1.css');
/*--------------
基本設定
----------------------------------------------------------*/
html,body {
	height:100%;
}
body {
	font-size:14px;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", Osaka, "ＭＳ Ｐゴシック", sans-serif;
	line-height:1.5em;
	background:#e8ebef;
	overflow-x: hidden;
}
/* html5用 */
article,aside,canvas,details,figcaption,figure,
header,footer,main,menu,nav,section,summary {
	display: block;
}
input, select {
	font-family: Arial, "ＭＳ Ｐゴシック", sans-serif;
	position:relative;
	margin-bottom:5px;
}
br {
	letter-spacing:normal;
}
a {
	color:#00f;
	text-decoration:none;
	outline:none;
}
a:hover {
	color:#f00;
	text-decoration:underline;
}
label {
	cursor:pointer;
}
strong {
	font-weight:bold;
}
a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
}
/*--------------
全体の囲い
----------------------------------------------------------*/
#wrap {
	background: #e8ebef;
	min-height: 700px;
}
#wrap::after {
	clear: both;
	content: "";
	display: block;
	height: 0;
	visibility: hidden;
}
#container {
	margin: 0 auto;
	padding-bottom:20px;
	position: relative;
	width: 970px;
}
/*--------------
ヘッダー
----------------------------------------------------------*/
#header {
	background: #fff;
	width: 100%;
}
header {
	margin: 0 auto;
	position: relative;
	width: 970px;
	height: 80px;
}
header .main {
	display: flex;
	margin: 0 auto;
	width: 870px;
}
header .header_contents {
	width: 100%;
}
header h1 span {
	visibility: hidden;
}
.site_logo {
	background: url(../images/gekenpo.gif) 0 0 no-repeat;
	background-size: contain;
	position: absolute;
	width: 222px !important; /* 画像のwidthは222px */
	height: 80px;
}
.site_logo a {
	display: block;
	width: 222px;
	height: 80px;
}
/* SSO用ヘッダースタイル */
#header.sso_header {
	border-bottom: 10px solid #3b73b8;
	box-shadow: 0 1px 8px rgba(0,0,0,0.5);
	-webkit-box-shadow: 0 1px 8px rgba(0,0,0,0.5);
	-moz-box-shadow: 0 1px 8px rgba(0,0,0,0.5);
}
/*--------------
問い合わせボタン（header .inquiry）
----------------------------------------------------------*/
header .inquiry {
	margin: 0 auto;
	position: relative;
	width: auto;
}
header .inquiry div {
	line-height: 18px;
	position: absolute;
		top: 38px;
		right: 0;
	text-align: right;
	width: 500px;
	height: 35px;
}
header .inquiry div span {
	font-size: 86%;
}
/*--------------
文字サイズ変更ボタン
----------------------------------------------------------*/
header .textsize {
	margin: 0 auto;
	position: relative;
	width: auto;
}
header .textsize ul {
	position: absolute;
		top: 3px;
		right: 0;
	/* width: 180px; */
	width: auto;
	height: 25px;
}
header .textsize li {
	float: left;
	height: 25px;
}
header .textsize ul li:first-child {
	line-height: 28px;
	padding-right: 10px;
	text-align: right;
	width: 100px;
	height: 25px;
}
header .textsize ul li a {
	display: block;
	width: 26px;
	height: 25px;
}
header .textsize li a span {
	display: block;
}
header .textsize ul li.small a {
	background:url(../images/textsize.png) 0 0 no-repeat;
}
header .textsize ul li.medium a {
	background:url(../images/textsize.png) -26px 0 no-repeat;
}
header .textsize ul li.large a {
	background:url(../images/textsize.png) -52px 0 no-repeat;
}
header .textsize ul li.small a:hover {
	background:url(../images/textsize.png) 0 -25px no-repeat;
}
header .textsize ul li.medium a:hover {
	background:url(../images/textsize.png) -26px -25px no-repeat;
}
header .textsize ul li.large a:hover {
	background:url(../images/textsize.png) -52px -25px no-repeat;
}
.small_selected {
	display: block;
	width:26px;
	height:25px;
	background:url(../images/textsize.png) 0 -25px no-repeat;
}
.medium_selected {
	display: block;
	width:26px;
	height:25px;
	background:url(../images/textsize.png) -26px -25px no-repeat;
}
.large_selected {
	display: block;
	width:26px;
	height:25px;
	background:url(../images/textsize.png) -52px -25px no-repeat;
}
/*--------------
グローバルナビゲーション
----------------------------------------------------------*/
nav#gnavi {
	height:50px;
	background:url(../images/gnavi_bg.png) repeat-x;
	overflow:hidden;
}
nav#gnavi .container {
	position:relative;
	width:870px;
	height:50px;
	margin:0 auto;
}
nav#gnavi .main {
	overflow:hidden;
}
nav#gnavi ul {
	width:100%;
	height:50px;
}
nav#gnavi li {
	float:left;
	list-style-type:none;
}
nav#gnavi li span {
	visibility: hidden;
	display: block;
}
nav#gnavi li a {
	display: block;
	width:217px;
	height:42px;
	text-decoration: none;
}
nav#gnavi li.shikumi a {
	background: url(../images/gnavi.png) 0 0 no-repeat;
}
nav#gnavi li.health a { 
	background: url(../images/gnavi.png) -217px 0 no-repeat;
}
nav#gnavi li.situation a { 
	background: url(../images/gnavi.png) -434px 0 no-repeat;
}
nav#gnavi li.application a { 
	width:219px;
	background: url(../images/gnavi.png) -651px 0 no-repeat;
}
nav#gnavi li.shikumi a:hover {
	background-position: 0 -42px;
}
nav#gnavi li.health a:hover {
	background-position: -217px -42px;
}
nav#gnavi li.situation a:hover {
	background-position: -434px -42px;
}
nav#gnavi li.application a:hover {
	width:219px;
	background-position: -651px -42px;
}
.fixed {
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 10000;
}
/*--------------
----------------------------------------------------------*/
#main {
	width:870px;
	margin:0 auto;
	padding:20px 0 0 30px;
}
/*--------------
ログイン画面とヘルプメニュー
----------------------------------------------------------*/
.help_menu ul li {
	padding-bottom:5px;
}
.help_menu ul li a {
	padding-left:20px;
	background: url(../images/circle_arrow.png) 0 2px no-repeat;
}
/*--------------
SSO用ログインページスタイル
----------------------------------------------------------*/
#error {
	width: 100%;
	margin: 0 auto;
	padding-left: 20px;
}
#login {
	display: flex;
		flex-wrap: wrap;
	width: 100%;
	height: 100%;
	padding-top:50px;
}
.login_box {
	background:#fff;
	border:1px solid #ccc;
	padding-top:25px;
	width: 50%;
}
.login_box dl {
	width: 360px;
	margin: 0 auto;
	padding-bottom:15px;
}
.login_box dt {
	color: #333;
	float: left;
	margin: 0;
	padding: 0.2em 0 0.2em 1em;
	text-align: right;
	width: 97px;
	height: auto;
}
.login_box dt span {
	visibility: hidden;
}
.login_box dt.id {
	background: url(../images/login_id-trans.png) 0 50% no-repeat;
}
.login_box dt.pw {
	background: url(../images/login_pw-trans.png) 0 50% no-repeat;
}
.login_box dd {
	margin: 0 0 0 97px;
	padding: 0.2em 0 0.2em 0;
	font-weight: bold;
	text-align: left;
}
.login_box dd input {
	width: 210px;
	height:20px;
}
.login_button a {
	display: block;
	width: 184px;
	height: 72px;
	margin-top: 13px;
	margin-left: 13px;
	background: url(../images/login_button.png) 0 0 no-repeat;
}
.login_button a:hover {
	background: url(../images/login_button.png) 0 -72px no-repeat;
}
.login_button span {
	visibility: hidden;
}
.help_menu {
	overflow: hidden; /* 回り込み解除用 */
	width: 45%;
	padding-top:35px;
}
.help_menu ul {
	padding: 0 40px;
}
.help_menu ul li a {
	position: relative;
	display: block;
	padding: 0 0 5px 18px;
	line-height: 1.4em;
	font-size: 115%;
}
.seal_verify div.sct {
	margin: 20px auto;
}
/* パスワード表示切替 */
.login_box dd.show_pass {
	margin-left: 111px;
	padding-top: 0;
}
.login_box dd:has(+ .show_pass) {
	padding-bottom: 0;
}
.show_pass input[type="checkbox"] {
	display: none;
}
.show_pass input[type="checkbox"] + label {
	display: inline-block;
	font-weight: normal;
	margin-right: 0.8em;
	padding: 6px 3px 3px 22px;
	position: relative;
	user-select: none;
}
.show_pass input[type="checkbox"] + label::before,
.show_pass input[type="checkbox"] + label::after {
	content: "";
	display: block;
	position: absolute;
	transition: all .2s;
}
.show_pass input[type="checkbox"] + label::before {
	background: #f4f4f4;
	border: 1px solid #ccc;
	border-radius: 3px;
	top: 0.5em;
	left: 0;
	width: 14px;
	height: 14px;
}
.show_pass input[type="checkbox"] + label::after {
	border-left: 2px solid #767676;
	border-bottom: 2px solid #767676;
	top: calc(0.5em + 4px);
	left: 3px;
	width: 8px;
	height: 4px;
	opacity: 0;
	transform: rotate(-45deg) scale(.5);
}
.show_pass input[type="checkbox"] + label:hover::before {
	background: #fff;
}
.show_pass input[type="checkbox"]:checked + label::before {
	background: #fff;
	border: 1px solid #767676;
}
.show_pass input[type="checkbox"]:checked + label::after {
	transform: rotate(-45deg) scale(1);
	opacity: 1;
}

/*--------------
定義リストスタイル
----------------------------------------------------------*/
dl.normal {
	margin-bottom:1em;
}
dl.normal dt {
	margin-bottom:5px;
	font-weight:bold;
}
dl.normal dd {
	margin-bottom:1em;
}
/*--------------
テーブルスタイル
----------------------------------------------------------*/
/* normal */
table.normal {
	border-collapse: collapse;
	border-spacing: 0;
}
table.normal th {
	padding:7px ;
	border:1px solid #ccc;
	background:#efefef;
	font-weight:bold;
	white-space:nowrap;
}
table.normal td {
	padding:7px;
	border:1px solid #ccc;
	line-height:1.5em;
}
/* products_list */
table.products_list {
	margin-bottom:1em;
	border-collapse: collapse;
	border-spacing: 0;
}
table.products_list th {
	padding:7px ;
	border:1px solid #ccc;
	background:#efefef;
	font-weight:normal;
	font-size:86%;
	white-space:nowrap;
	text-align:center;
}
table.products_list td.products_name {
	font-size:115%;
	font-weight:bold;
}
table.products_list td {
	padding:7px;
	border:1px solid #ccc;
	line-height:1.5em;
}
table.products_list td .special_price {
	color:#f00;
	font-weight:bold;
	font-size:129%;
	text-align:center;
}
table.products_list td .normal_price {
	color:#a9a9a9;
	text-align:center;
}
/* pw_reminder パスワード変更画面にも使ってます */
table.pw_reminder {
	border-collapse: collapse;
	border-spacing: 0;
	font-size:88%;
}
table.pw_reminder th {
	padding:7px;
	border:1px solid #999;
	color:#fff;
	background:#191970;
	font-weight:normal;
	white-space:nowrap;
}
table.pw_reminder td {
	padding:12px;
	border:1px solid #999;
	background:#e6e6fa;
	line-height:1.5em;
}
table.pw_reminder input, select {
	vertical-align:middle;
}
table.pw_reminder label {
	margin-right:1em;
}
/* goods_tbl */
table.goods_tbl {
	margin-bottom:1em;
	border-collapse: collapse;
	border-spacing: 0;
}
table.goods_tbl th,
table.goods_tbl td {
	padding: 7px;
	border: 1px solid #ccc;
	text-align:center;
}
table.goods_tbl th {
	background-color: #808080;
	color: #fff;
	font-weight: normal;
	font-size:86%;
	white-space:nowrap;
}
table.goods_tbl td.goods_title {
	color:#000;
	background-color: #d3d3d3;
	text-align:left;
}
table.goods_tbl td.goods_name {
	background-color: #eee;
	white-space: nowrap;
}
table.goods_tbl td.goods_description {
	text-align:left;
}
table.goods_tbl td.course_time {
	white-space: nowrap;
}
table.goods_tbl td.special_price {
	color:#f00;
	font-weight:bold;
	font-size:129%;
	white-space: nowrap;
}
table.goods_tbl td.normal_price {
	color: #a9a9a9;
	white-space: nowrap;
}
table.goods_tbl td.constant_price {
	white-space: nowrap;
}
/*--------------
問い合わせ先表示スタイル
----------------------------------------------------------*/
#contact_address {
	padding: 0 0 10px 0;
}
#contact_address div {
	font-weight:bold;
}
#contact_address dl {
	padding: 0;
}
#contact_address dt {
	float: left;
	width: 4em;
	margin: 0;
	padding: 0.2em 0 0.2em 1em;
	color: #333;
	font-weight:normal;
	text-align:right;
}
#contact_address dd {
	margin: 0 0 0 4em;
	padding: 0.2em 1em 0.2em 1em;
	font-weight:bold;
}
#contact_address dd span{
	font-size:88%;
	font-weight:normal;
}
/*--------------
送信ボタン（#button）
----------------------------------------------------------*/
#button {
	margin:25px 0;
	padding:0;
	text-align:center;
}
#button input {
	width:150px;
	height:35px;
	cursor:pointer;
}
#button_left {
	margin:25px 0;
	padding:0;
	text-align:left;
}
#button_left input {
	width:150px;
	height:35px;
	cursor:pointer;
}
/*--------------
フッター（#footer）
----------------------------------------------------------*/
#footer {
	position:relative;
	background:#3b73b9;
	border-top:1px solid #ccc;
}
#footer address {
	position:absolute;
	width: 400px;
	height:15px;
	/*margin:0 auto;*/
	padding:15px 15px 15px 0;
	letter-spacing:0.05em;
	font-size:72%;
	bottom:0;
	right:0;
	text-align:right;
	color:#fff;
}
#footer div.footer_menu {
	width:830px;
	height:20px;
	margin:0 auto;
	padding-top:30px;
	padding-left:100px;
	font-size:86%;
}
#footer ul.parent {
	float:left;
	/*width:200px;*/
	height:250px;
	margin-right:20px;
}
#footer ul.parent li {
	background:url(../images/mark.gif) 0 4px no-repeat;
	list-style-type:none;
}
#footer ul.parent li a {
	display:block;
	padding-left:15px;
	/*font-weight:bold;*/
	text-align:left;
	font-size:13px;
	color:#fff;
}
#footer ul.child {
	margin-bottom:1em;
}
#footer ul.child li {
	background:url(../images/mark_s_white.png) 18px 7px no-repeat;
}
#footer ul.child li a {
	display:block;
	padding-left:25px;
	font-weight:normal;
	text-align:left;
}
/*--------------
ページのトップへ（#totop）
----------------------------------------------------------*/
#totop{
	position:fixed;
	bottom:40px;
	right:20px;
}
#totop img { /* IE7,8で透過pngにjsで透過させた場合のバグ（背景色に#000000が設定される）対応として */
	/*background-color:#fff;*/
}
/*--------------
全体共通のclass
----------------------------------------------------------*/
/* テキストフォント関係 */
.impt_link {
	font-weight:bold;
	font-size:129%;
	line-height:28px;
}
.red {
	color:#f00;
}
.green {
	color:#090;
}
.orange {
	color:#f90;
}
.blue {
	color:#0000ff;
}
.navy {
	color:#000080;
}
.bold {
	font-weight:bold;
}
.focus {
	background:#fffff0;
}
.fs86per {
	font-size:86%;
}
.fs115per {
	font-size:115%;
}
.fs129per {
	font-size:129%;
}
/* ボックス関係（margin padding 設定） */
.mt0 {
	margin-top:0 !important;
}
.mr0 {
	margin-right:0 !important;
}
.mb0 {
	margin-bottom:0 !important;
}
.ml0 {
	margin-left:0 !important;
}
.mt1em {
	margin-top:1em !important;
}
.mr1em {
	margin-right:1em !important;
}
.mb1em {
	margin-bottom:1em !important;
}
.ml1em {
	margin-left:1em !important;
}
.mt2em {
	margin-top:2em !important;
}
.mr2em {
	margin-right:2em !important;
}
.mb2em {
	margin-bottom:2em !important;
}
.ml2em {
	margin-left:2em !important;
}
.mgn10px { /*主にtable位置調整用*/
	margin:10px;
}
.mtb25px {
	margin:25px 0;
}
.ml20px {
	margin-left:20px !important;
}
.ml22px {
	margin-left:22px !important;
}
.pt0 {
	padding-top:0 !important;
}
.pr0 {
	padding-right:0 !important;
}
.pb0 {
	padding-bottom:0 !important;
}
.pl0 {
	padding-left:0 !important;
}
.pt1em {
	padding-top:1em !important;
}
.pr1em {
	padding-right:1em !important;
}
.pb1em {
	padding-bottom:1em !important;
}
.pl1em {
	padding-left:1em !important;
}
.pt2em {
	padding-top:2em !important;
}
.pr2em {
	padding-right:2em !important;
}
.pb2em {
	padding-bottom:2em !important;
}
.pl2em {
	padding-left:2em !important;
}
.pr7px {
	padding-right:7px !important;
}
.pl22px {
	padding-right:22px !important;
}
/* 位置調整 */
.text_left {
	text-align:left !important;
}
.text_right {
	text-align:right !important;
}
.text_center {
	text-align:center !important;
}
.text_top {
	vertical-align:top !important;
}
.text_middle {
	vertical-align:middle !important;
}
.text_align_r {
	text-align:right;
}
.valign_top {
	vertical-align:top;
}
.text_left {
	text-align:left !important;
}
.float_l {
	float:left;
}
.float_r {
	float:right;
}
/* ※印インデント調整 */
.kome {
	text-indent:-1em;
	padding-left:1em;
}
.text-indent{
	text-indent:1em;
}
/* アイコン各種 */
.procedure_icon {
	margin:1em 0;
}
/* リンク、その他 */
.underline {
	text-decoration:underline;
}
.nowrap {
	white-space:nowrap;
}
.clear {
	clear:both;
}
.disnon {
	display: none;
}
.cursor_pointer {
	cursor:pointer;
}
.attention {
	padding-left:1.3em;
	background:#fff url(../images/attention.gif) no-repeat;
}