@charset "euc-jp";

input[type="submit"], 
input[type="button"],
button { /* ブラウザのデフォルトCSSを無効化 */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* ログイン画面 */
.login {
    position: relative;
    margin: 30px auto;
    padding: 20px;
    max-width: 700px;
    background: white;
    border-radius: 3px;
    -webkit-box-shadow: 0 0 200px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.3);
    box-shadow: 0 0 200px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.3);
    text-align: center;
}

.login:before {
  content: '';
  position: absolute;
  top: -8px;
  right: -8px;
  bottom: -8px;
  left: -8px;
  z-index: -1;
  background: rgba(0, 0, 0, 0.08);
  border-radius: 4px;
}

.login h1 {
    margin: -20px -20px 21px;
    padding: 12px 8px 7px;
    font-size: 1.8rem;
    font-weight: bold;
    color: #555;
    text-align: center;
    text-shadow: 0 1px white;
    background: #f3f3f3;
    border-bottom: 1px solid #cfcfcf;
    border-radius: 3px 3px 0 0;
    background-image: -webkit-linear-gradient(top, whiteffd, #eef2f5);
    background-image: -moz-linear-gradient(top, whiteffd, #eef2f5);
    background-image: -o-linear-gradient(top, whiteffd, #eef2f5);
    background-image: linear-gradient(to bottom, whiteffd, #eef2f5);
    -webkit-box-shadow: 0 1px whitesmoke;
    box-shadow: 0 1px whitesmoke;
}

.login p:first-child {
  margin-top: 0;
}

.login input[type="text"], .login input[type="password"] {
  width: 278px;
}

.login p.remember_me {
  line-height: 31px;
}

.login p.remember_me label,
.login p.remember_me span {
  font-size: 1.2rem;
  color: #777;
  cursor: pointer;
}

.login p.remember_me span i {
    font-size: 1.4rem;
    margin-right:0.3em;
    color: #FC8731;
}


.login p.remember_me input {
  position: relative;
  bottom: 1px;
  margin-right: 4px;
  vertical-align: middle;
}

.login p.submit {
  text-align: right;
}

:-moz-placeholder {
  color: #c9c9c9 !important;
  font-size: 1.3rem;
}

::-webkit-input-placeholder {
  color: #ccc;
  font-size: 1.3rem;
}

input {
  font-size: 1.4rem;
}

.login input[type="text"], .login input[type="password"] {
	padding: 0 10px;
	width: 100%;
	max-width: 300px;
	height: 34px;
	color: #404040;
	background: white;
	border: 1px solid;
	border-color: #c4c4c4 #d1d1d1 #d4d4d4;
	border-radius: 2px;
	outline: 5px solid #eff4f7;
	-moz-outline-radius: 3px;
	-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.12);
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.12);
	margin: 5px auto;
	box-sizing: border-box;
}

.login input[type="text"]:focus, .login input[type="password"]:focus {
  border-color: #7dc9e2;
  outline-color: #dceefc;
  outline-offset: 0;
}

/*================================================
 * 領収証、参加証のボタン
 ================================================*/
.btn_cert {
  display       : inline-block;
  font-size     : 2.2rem;        /* 文字サイズ */
  text-align    : center;      /* 文字位置   */
  cursor        : pointer;     /* カーソル   */
  padding       : 35px;   /* 余白       */
  background    : #39b2db;     /* 背景色     */
  color         : #FFF;     /* 文字色     */
  line-height   : 1em;         /* 1行の高さ  */
  transition    : .3s;         /* なめらか変化 */
  box-shadow    : 2px 2px 1px #666;  /* 影の設定 */
  border        : 2px solid #39b2db;    /* 枠の指定 */
	width: 100%;
}
.btn_cert:hover {
  box-shadow    : none;        /* カーソル時の影消去 */
  color         : #39b2db;     /* 背景色     */
  background    : #FFF;     /* 文字色     */
}

.lt-ie9 input[type=text], .lt-ie9 input[type=password] {
  line-height: 34px;
}

/*================================================
 * 健康チェック、QRコードのボタン
 ================================================*/

.btn_hlth01,
.btn_qrcd01,
.btn_hlth01_dis {
  display       : inline-block;
  font-size     : 2.6rem;        /* 文字サイズ */
  text-align    : center;      /* 文字位置   */
  padding       : 20px;   /* 余白       */
  line-height   : 1em;         /* 1行の高さ  */
  transition    : .3s;         /* なめらか変化 */
  box-shadow    : 2px 2px 1px #666;  /* 影の設定 */
	width: 100%;
}
.btn_hlth01 {
  cursor        : pointer;     /* カーソル   */
  background    : #eec362;     /* 背景色     */
  color         : #FFF;     /* 文字色     */
  border        : 2px solid #eec362;    /* 枠の指定 */
}
.btn_qrcd01 {
  cursor        : pointer;     /* カーソル   */
  background    : #8bc7f0;     /* 背景色     */
  color         : #FFF;     /* 文字色     */
  border        : 2px solid #8bc7f0;    /* 枠の指定 */
}
.btn_hlth01_dis {
	background: #C2C2C2;
	color: #8C8C8C;
  border        : 2px solid #C2C2C2;    /* 枠の指定 */
}
.btn_hlth01:hover {
  box-shadow    : none;        /* カーソル時の影消去 */
  color         : #eec362;     /* 背景色     */
  background    : #FFF;     /* 文字色     */
}
.btn_qrcd01:hover {
  box-shadow    : none;        /* カーソル時の影消去 */
  color         : #8bc7f0;     /* 背景色     */
  background    : #FFF;     /* 文字色     */
}

/* コメントボックス */
 .cmnt_box .cmnt {
	overflow: hidden;
}
.cmnt_box .cmnt input[type="text"] {
	all: initial;
	width: 100%;
	box-sizing: border-box;
  border: none;
  height: 1.8em;
	border-bottom: 1px solid #999;
	margin-top: 5px;
}
.cmnt_box .cmnt input[type="text"]:focus {
  outline: 0;
}
.cmnt_box input[type="submit"] {
	float: right;
	margin-left: 10px;
	-webkit-appearance: none; /* ブラウザのデフォルトCSSを無効化 */
  cursor: pointer;
  font-family: FontAwesome;
  border: none;
  background: #3879D9;
  color: #fff;
  height: 2.5em;
  outline : none;
}

/* 受講するボタン */
input[type="submit"].btn_lecture01 {
	-webkit-appearance: none; /* ブラウザのデフォルトCSSを無効化 */
  font-size : 2.0rem;
  font-weight: 700;
  line-height: 1.5;
  cursor : pointer;
  padding: 1rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  box-shadow : 2px 2px 1px #999;
  border : 2px solid #EE3625;
	width: 100%;
  color: #FFF;
	background: #EE3625;
	margin-bottom: 1em;
}
input[type="submit"]:hover.btn_lecture01 {
  box-shadow : none;
  color : #EE3625;
  background : #FFF;
}

/* 受講済ボタン */
input[type="submit"].btn_lecture02 {
	-webkit-appearance: none; /* ブラウザのデフォルトCSSを無効化 */
  font-size: 2.0rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 1rem;
	background: #CCC;
	border: 4px solid #E7E7E7;
	color: #666;
	width: 100%;
	margin-bottom: 1em;
}


.close-modal {
	cursor: pointer;
    outline: none;
    background: transparent;
}

/* 単位申請フォーム */
input[type="submit"].btn_credits {
	-webkit-appearance: none; /* ブラウザのデフォルトCSSを無効化 */
  font-size : 2.0rem;
  font-weight: 700;
  line-height: 1.5;
  cursor : pointer;
  padding: 1rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  box-shadow : 2px 2px 1px #999;
  border : 2px solid #39b2db;
	width: 100%;
  background  : #39b2db;
  color : #FFF;
}
input[type="submit"]:hover.btn_credits {
  box-shadow : none;
  color : #39b2db;
  background : #FFF;
}

table.table_credits {
	border-collapse:separate;
  margin: 0 auto;
  padding: 0;
	width: 100%;
}

table.table_credits th,
table.table_credits td {
	border-bottom: 1px solid #d7d7d7;
	padding: 10px;
}

table.table_credits th {
	padding-left: 20px;
	position: relative;
	text-align: left;
	width: 200px;
	background: #EBEBEB;
}
table.table_credits input[type="text"] {
	box-sizing: border-box;
	width: 100%;
	max-width: 350px;
}
@media screen and (max-width:599px){
	table.table_credits th,
	table.table_credits td {
		box-sizing: border-box;
		display: block;
		width: 100%;
		border-bottom: none;
	}
	table.table_credits input[type="text"] {
		max-width: inherit;
	}
}

.exp {
	font-size: 1.3rem;
	color: #CE006C;
	font-weight: bold;
}

table.table00,
table.table01,
table.table01a,
table.table02 {
  border-collapse: collapse;
	border: 2px solid #B2D9F2;
}
table.table03 {
  border-collapse: collapse;
	border: 1px solid #c9c9c9;
}
/*テーブルを親要素の幅いっぱいに伸ばす*/
table.table01,
table.table01a,
table.table02,
table.table03 {
	width: 100%;
}
table.table00 {
	margin: 0 auto;
}
/* table01, table01a */
table.table00 th,
table.table01 th,
table.table01a th,
table.table01 td,
table.table01a td {
	padding: 0.5em;
	border-top: 2px solid #B2D9F2;
  border-bottom: 2px solid #B2D9F2;
}
table.table03 th,
table.table03 td {
	padding: 0.5em;
	border-top: 1px solid #c9c9c9;
  border-bottom: 1px solid #c9c9c9;
}
table.table00 td,
table.table01 td,
table.table01a td {
	border-left: 2px solid #B2D9F2;
}
table.table03 td {
	border-left: 1px solid #c9c9c9;
	line-height: 2em;
	font-size: 1.6rem;
}
table.table00 th,
table.table01 th,
table.table01a th {
	background: #7CBDE8;
}
table.table03 th {
	background: #dfdfdf;
}
table.table00 th,
table.table01 th,
table.table03 th {
	width: 30%;
	min-width:100px;
	text-align: right;
}
table.table01a th {
	min-width:150px;
	padding: 0.7em 3em 0.7em 1em;
	position: relative;
	background-clip: padding-box; /* FireFoxでposition:relativeを指定したthやtdのボーダーが消えるのを防ぐ */	
	text-align: left;
	vertical-align: top;
}
/* table02 */
table.table02 th,
table.table02 td {
	padding: 0.8em 0.4em;
	border: 1px solid #B2D9F2;
}
table.table02 th {
	text-align: center;
	background: #7CBDE8;
	white-space: nowrap;
}
table.table04,
table.table04a {
	border-spacing:4px;
	background-color:#ffffff;
	empty-cells:show;
	width: 100%;
}
table.table04 a {
	text-decoration: none;
}
.table04 th,
.table04a th {
	white-space: nowrap;
}
.table04a th {
	border-left:5px solid #E9CEDF;
	background:#F3E6EF;
	padding:0.3em 0.2em 0.2em 0.5em;
	text-align:left;
}
.table04 th {
	border-right:1px solid #60a81d;
	border-bottom:1px solid #60a81d;
	color:#FFFFFF;
	background:#76c42e;
	padding:0.5em 1em;
	text-align:left;
	line-height:1em;
}
.table04 td {
	padding:0.2em;
}
.table04a td {
	padding:0.3em 0;
}

table.table04 .td01 {
	text-align:center;
	width: 20%;
	white-space: nowrap;
}
table.table04 .td02 {
	border: none;
	border-bottom:1px dotted #B8C3CC;
}
table.table04 .td3 {
	border-bottom:1px solid #B8C3CC;
	margin-bottom: 1em;
}

/* 修正箇所のセルを黄色に */
.bg_yelw01 { 
	background: #FF9;
}
.bg_gray01 { 
	background: rgb(218, 218, 218);
}
.nowrap {
	white-space: nowrap;
}

/* 日本語入力機能(IME)を制御 */
.ime_active { ime-mode: active; }    /* ONにする */
.ime_disabled { ime-mode: disabled; } /* 無効にする */

/* 必須マーク */
.form_waku03,
.form_waku03_gray {
	font-size: 1.2rem;
	padding: 0.3em 0.3em 0.2em;
	margin-left: 2px;
	color: #FFF;
	display: inline-block;	/* 角丸の指定 */
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 2px;
}
table.table01a th .form_waku03,
table.table01a th .form_waku03_gray {
	position: absolute;
	top: 20%;
	right: 5px;
}
.form_waku03 {
	background: #FF7E00;
}
.form_waku03_gray {
	background: #828282;
}

/* エラーメッセージ */
.form_waku04 {
  background: #F00;
  font-weight:bold;
  padding: 0 0.3em;
  color: #FFF;
}

/* ---------------------------------------
 *ここから入力欄のスタイル指定
--------------------------------------- */

/* デフォルトのスタイルを無効にする */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="submit"],
input[type="button"],
select,
textarea,
button {
  -moz-default-appearance: none;
  -webkit-default-appearance: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
  border: none;
}

button, input, select, textarea {
	font-family : inherit;
	font-size : 100%;
}

input[type="submit"],
input[type="button"],
button {
	font-size: 1.6rem;
}
input[type="text"],
input[type="email"],
input[type="password"],
textarea {
  background: #e9f5fb;
	border: 1px solid #7CBDE8;
	padding: 0.3em 0.5em;
	margin: 0.2em 0;
	transition: 0.8s;
}
textarea {
	display: inline-block;
  width: 100%;
}
/*入力欄にフォーカスしたら変化*/
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus {
	background: #FFFFCC;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

input[type="text"]:disabled {
	cursor: default;
	border: 1px solid #CCC;
	background: #e8e8e8;
}

input[type="text"].back_gray,
input[type="text"]:focus.back_gray {
	cursor: default;
	border: 1px solid #CCC;
	background: #FFF;
	transition: 0s;
	box-shadow: none;
}

.fa-position-right {
  position: absolute;
  top: calc(50% - .5em);
  right: 1rem;
}
.fa-position-left {
  position: absolute;
  top: calc(50% - .5em);
  left: 1rem;
}

/* セレクトボックス */
select {
	padding: 2px 20px 1px 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #7CBDE8;
	border-radius: 3px;
	background: #f8f8f8 url(../../images_mypage/icon_arrow.png) right 50% no-repeat;
	background-size: 20px, 100%;
	margin: 0.2em 0;
	max-width: 100% !important;
}
select:focus {
  background: #e9f5fb url(../../images_mypage/icon_arrow.png) right 50% no-repeat;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
option {
	max-width:8em;
	white-space:normal;
}

/* ラジオボタン */
.radiobox01 input[type="radio"] {
	display: none;
}
.radiobox01 label {
	display: inline-block;
	position: relative;
	cursor: pointer;
	margin-left: 15px;
	padding: 3px 15px;
	line-height: 1.5em;
}
.radiobox01 label.only {
	padding: 3px 8px;
}

.radiobox01 label:before {
	position: absolute;
	content: "";
	top: 50%;
	left: -10px;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	border: 2px solid #7CBDE8;
	border-radius: 50%;
}
.radiobox01 input[type="radio"]:disabled + label {
	cursor: default;
}
.radiobox01 input[type="radio"]:disabled + label:before {
  border: 2px solid #CCC;
	cursor: default;
}
.radiobox01 input[type="radio"]:checked + label:after {
	position: absolute;
	content: "";
	top: 50%;
	left: -6px;
	width: 12px;
	height: 12px;
	margin-top: -6px;
	border-radius: 50%;
	background: #FF288C;
}

/* チェックボックス */
.checkbox01 input[type="checkbox"] {
	display:none;
	cursor: pointer;
} /* to hide the checkbox itself */
.checkbox01 input[type="checkbox"] + label:before {
  font-family: FontAwesome;
  /*display: inline-block;*/
	font-size: 2.4rem;
	vertical-align: middle;
	position: relative;
	top: -1px;
}

.checkbox01 input[type="checkbox"] + label:before {
	content: "\f096";
	letter-spacing: 5px;
	color: #7CBDE8;
}
.checkbox01 input[type="checkbox"]:checked + label:before {
	content: "\f046";
	color: #FF288C;
}
.checkbox01 input[type="checkbox"]:disabled + label {
	cursor: default;
}
.checkbox01 input[type="checkbox"]:disabled + label:before {
	color: #CCC;
	cursor: default;
}
.checkbox01 label:hover {
   cursor: pointer;
}

.checkbox_view input[type="checkbox"] + label:after {
  content: "しない";
}
.checkbox_view input[type="checkbox"]:checked + label:after {
  content: "する";
}

.checkbox_appro input[type="checkbox"] + label:after {
  content: "不可";
}
.checkbox_appro input[type="checkbox"]:checked + label:after {
  content: "可";
}

.checkbox_requi input[type="checkbox"] + label:after {
  content: "非必須";
}
.checkbox_requi input[type="checkbox"]:checked + label:after {
  content: "必須";
}

/* チェックボックス、ラジオボタン */
.form1 input[type="checkbox"],
.form1 input[type="radio"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
	position: relative;
	right: 0;
	bottom: 0;
	left: 0;
	height: 20px;
	width: 20px;
	transition:all .15s ease-out 0s;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	margin: .4rem;
	outline: none;
	border-radius: 10%;
}

.form1 label {
	cursor: pointer;
}
/* Checkbox */
.form1 input[type="checkbox"]:before,
.form1 input[type="checkbox"]:after {
	position: absolute;
	content: "";
	background: #fff;
	transition: all .1s ease-in-out;
}
.form1 input[type="checkbox"]:before {
	left: 2px;
	top: 6px;
	width: 0;
	height: 2px;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
}
.form1 input[type="checkbox"]:after {
	right: 9px;
	bottom: 3px;
	width: 2px;
	height: 0;
	transform: rotate(40deg);
	-webkit-transform: rotate(40deg);
	-moz-transform: rotate(40deg);
	-ms-transform: rotate(40deg);
	-o-transform: rotate(40deg);
	/*transition-delay: .1s;*/
}
.form1 input[type="checkbox"]:checked:before {
	left: 1px;
	top: 8px;
	width: 6px;
	height: 3px;
}
.form1 input[type="checkbox"]:checked:after {
	right: 4px;
	bottom: 1px;
	width: 3px;
	height: 13px;
}
.form1 input[type="checkbox"]:indeterminate:before,
.form1 input[type="checkbox"]:indeterminate:after {
	width: 7px;
	height: 2px;
	transform: rotate(0);
	-webkit-transform: rotate(0);
	-moz-transform: rotate(0);
	-ms-transform: rotate(0);
	-o-transform: rotate(0);
}
.form1 input[type="checkbox"]:indeterminate:before {
	left: 1px;
	top: 7px;
}
.form1 input[type="checkbox"]:indeterminate:after {
	right: 1px;
	bottom: 7px;
}
/* Radio */
.form1 input[type="radio"] {
	border-radius: 50%;
}
.form1 input[type="radio"]:checked:before {
	transform: scale(1);
}
.form1 input[type="radio"]:before {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	margin: 3px;
	transform: scale(0);
	transition: all ease-out 150ms;
}
.form1 input[type="checkbox"],
.form1 input[type="radio"] {
	border: 2px solid #C5DB75;
}
.form1 input[type="checkbox"]:checked,
.form1 input[type="checkbox"]:indeterminate,
.form1 input[type="radio"]:checked:before {
	background: #C5DB75;
}

input.f00 {
  width: 100% !important;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  display: block;
}

input.f01 {
	width: 100%;
	max-width:1em;
	text-align: center;
}

input.f03 {
	width: 100%;
	max-width:3em;
	text-align: center;
}

input.f04 {
	width: 100%;
	max-width:4em;
	text-align: center;
}

input.f10 {
	width: 100%;
	max-width:6em;
}

input.f15 {
	width: 100%;
	max-width:8em;
}

input.f20 {
	width: 100%;
	max-width:10em;
}
input.f25 {
	width: 100%;
	max-width:12em;
}

input.f30 {
	width: 100%;
	max-width:15em;
}

input.f35 {
	width: 100%;
	max-width:18em;
}

input.f40 {
	width: 100%;
	max-width:20em;
}

input.f50 {
	width: 100%;
	max-width:25em;
}

input.f60 {
	width: 100%;
	max-width:30em;
}
input.f80 {
	width: 100%;
	max-width:40em;
}
input.f100 {
	width: 100%;
	max-width:50em;
}

textarea.f00 {
	width: 100%;
	max-width: 400px;
	height: 5em;
}

textarea.f01 {
	width: 100%;
	height: 3em;
}

textarea.f02 {
	width: 100%;
	height: 5em;
}

textarea.f03 {
	width: 100%;
	height: 10em;
}

textarea.f04 {
	width: 100%;
	height: 25em;
}

/* 画像アップボタン */
.form__file input[type="file"] {
   display: none;
}
.form__file label {
	background: #CCC;
	padding: 10px 15px;
	border-radius: 5px;
	display: inline-block;
	position: relative;
	cursor: pointer;
}
.form__file label:hover {
   background: #DCDCDC;
}
/*.form__file label::after {
   content: "選択されていません";
   font-size: 14px;
   height: 20px;
   line-height: 20px;
   position: absolute;
   right: -140px;
   top: calc(50% - 10px);
}
.form__file label.changed::after {
   content: "";
}
*/
.form__file i {
	color: #666;
	font-size: 2.0rem;
}

/* ボタン */
input[type="submit"].btn00,
input[type="button"].btn00,
button.btn00 {
	border: 2px solid #89BDDE;
	padding: 0.5em 4em;
	border-radius: 5px;
	background: #006599;
	color: #fff;
	box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.2);
	position: relative;
}
input[type="submit"].btn00:hover,
input[type="button"].btn00:hover,
button.btn00:hover {
	box-shadow: none;
	background: #2679B4;
	cursor: pointer;
}

button.btn_mstr {
	background: #E87400;
	border-radius: 3px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	padding: 0.8em 4em;
	color: #FFF;
	transition: 0.3s ease-in-out;
	font-size: 2.0rem;
	font-weight: 500;
	cursor: pointer;
}

button.btn_mstr:before {
    font-family: "Font Awesome 7 Pro";
    font-weight: 400;
    content: "\f013";
    position: relative;
    margin-right: 8px;
    color: #FFF;
		font-size: 2.4rem;

    /* Duotone用カラー指定 */
    --fa-primary-color: #ffffff;
    --fa-secondary-color: #cccccc;
    --fa-primary-opacity: 1;
    --fa-secondary-opacity: 0.4;
  }

button.btn_mstr:hover {
    background: #F79F01;
    color: #FFF;
}

button.btn01,
button.btn02,
button.btn03,
button.btn04,
button.btn04a,
button.btn05,
button.btn02dis,
button.btn11,
button.btn12,
button.btn13,
button.btn15,
button.btn21,
button.btn31,
button.btn32,
button.btn35,
button.btn41,
button.btn51,
button.btn63,
input[type="button"].btn11 {
  cursor: pointer;
  border: 0;
  color: #fff;
  font-weight: 400;
}
button.btn01,
button.btn02,
button.btn03,
button.btn04,
button.btn04a,
button.btn05,
button.btn02dis,
button.btn41,
button.btn51,
a.btn51 {
	min-width: 150px;
}

button.btn01,
button.btn11,
button.btn21,
button.btn31,
input[type="button"].btn11 {
		background: #369cb8;
  border: 2px solid #369cb8;
}
button.btn02,
button.btn12,
button.btn32 {
  background: #A8A8A8;
  border: 2px solid #A8A8A8;
}

button.btn03,
button.btn13 {
	background: #FFF;
  border: 2px solid #48a2cf;
  color: #48a2cf;
}

button.btn04,
button.btn14 {
	background: #4D8D75;
  border: 2px solid #4D8D75;
  color: #FFF;
}

button.btn04a,
button.btn14a {
	background: #5caa8e;
  border: 2px solid #5caa8e;
  color: #FFF;
}

button.btn05,
button.btn15,
button.btn35 {
	background: #82C91E;
  border: 2px solid #82C91E;
  color: #FFF;
}

button.btn41 {
	background: #3ca381;
}
button.btn51,
a.btn51 {
  color: #505252;
  text-shadow: 0px 1px 0px #fafafa;
  background: #fbfaf4;
  background: -webkit-gradient(linear, left top, left bottom, from(#fbfaf4), to(#ece8e6));
  background: -moz-linear-gradient(top,  #fbfaf4,  #ece8e6);
  background: -o-linear-gradient(top,  #fbfaf4,  #ece8e6);
  background: -ms-linear-gradient(top,  #fbfaf4,  #ece8e6);
  background: linear-gradient(top,  #fbfaf4,  #ece8e6);
  border: 1px solid #dcd9d8;
  border-bottom: 1px solid #c1c1bd;
  -webkit-box-shadow:  0 0 1px #c7c5c1;
  -moz-box-shadow:  0 0 1px #c7c5c1;
  box-shadow:  0 0 1px #c7c5c1;
  -webkit-border-radius: 5px; 
  -moz-border-radius: 5px;
  border-radius: 5px;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  transition: 0.3s;
}

button.btn63 {
	background:#FF9999;
}

button.btn01,
button.btn02,
button.btn03,
button.btn04,
button.btn04a,
button.btn05,
button.btn02dis,
button.btn41 {
	padding: 10px 30px;
	font-size: 1.6rem;
}

button.btn11,
button.btn12,
button.btn13,
button.btn14,
button.btn14a,
button.btn15,
button.btn51,
a.btn51,
input[type="button"].btn11
 {
	padding: 5px 20px;
	font-size: 1.4rem;
}
a.btn51 {
	display: inline-block;
	text-decoration: none;
}
button.btn21 {
	padding: 5px;
	font-size: 1.2rem;
}
button.btn31,
button.btn32,
button.btn35,
button.btn63 {
	padding: 20px 10px;
	min-width: 300px;
	font-size: 1.6rem;
	margin: 10px 0;
}

button.btn01:hover,
button.btn11:hover,
button.btn21:hover,
button.btn31:hover,
input[type="button"].btn11:hover {
	background: #6dbed4;
  border-color: #6dbed4;
}
button.btn02:hover,
button.btn12:hover,
button.btn32:hover {
	background: #8D8D8D;
  border-color: #8D8D8D;
}
button.btn03:hover,
button.btn13:hover {
	border-color: #7ABADC;
  color: #7ABADC;
}
button.btn04:hover,
button.btn14:hover {
	background: #FFF;
  color: #4D8D75;
}
button.btn04a:hover,
button.btn14a:hover {
	background: #FFF;
  color: #5caa8e;
}
button.btn41:hover {
	background: #57af92;
}
button.btn05:hover,
button.btn15:hover,
button.btn35:hover {
	background: #FFF;
  color: #76AD24;
}

button.btn51:hover,
a.btn51:hover {
  background: #fbfbf9;
}
button.btn63:hover {
	background:#FF7171;
}
button.btn61,
button.btn62 {
  padding:15px 25px;
	width: 100%;
	max-width: 450px;
  text-decoration: none;
  line-height: 40px;
  font-size:2.6rem;
	font-weight: bold;
  -webkit-box-shadow: 1px 1px 2px #ccc;
  -moz-box-shadow: 1px 1px 2px #ccc;
  box-shadow: 1px 1px 2px #ccc;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  transition: 0.3s;
  text-align: center;
  border-radius: 5px;
}
button.btn61 {
	color: #fff;
  text-shadow: 0px -1px 0px #af6d01;
  border: 1px solid #ff9900;
  background: #fe9902;
  background: -webkit-gradient(linear, left top, left bottom, from(#ffae13), to(#fe9902));
  background: -moz-linear-gradient(top,  #ffae13,  #fe9902);
  background: -o-linear-gradient(top,  #ffae13,  #fe9902);
  background: -ms-linear-gradient(top,  #ffae13,  #fe9902);
  background: linear-gradient(top,  #ffae13,  #fe9902);
	cursor: pointer;
}
button.btn61:hover {
  opacity: 0.8;
}
button.btn62  {
  color: #fff;
  text-shadow: 0px -1px 0px #aaaaaa;
  border: 1px solid #cccccc;
  background: #cccccc;
  background: -webkit-gradient(linear, left top, left bottom, from(#d1d0d0), to(#cccccc));
  background: -moz-linear-gradient(top,  #d1d0d0,  #cccccc);
  background: -o-linear-gradient(top,  #d1d0d0,  #cccccc);
  background: -ms-linear-gradient(top,  #d1d0d0,  #cccccc);
  background: linear-gradient(top,  #d1d0d0,  #cccccc);
	cursor: no-drop;
}

button.btn02dis {
	background: #cccccc;
	cursor: no-drop;
}

.btn102 {
	-moz-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
	background:linear-gradient(to bottom, #3ed1b4 5%, #1d8f84 100%);
	background-color:#1abc9c;
	border-radius:5px;
	border:1px solid #35b39a;
  color: #FFF;
  text-decoration: none;
  letter-spacing: 0.05em;
  padding: 0.8em 0.5em;
  cursor: pointer;
	box-shadow: 0px 0px 3px 1px #53dbc0;
	text-shadow: 0px -1px 1px #1d6153;
	width: 100%;
	min-width: 200px;
}

.btn102:hover {
	background:linear-gradient(to bottom, #1d8f84 5%, #3ed1b4 100%);
  color: #FFF;
}
.btn102:active {
	position:relative;
	top:1px;
  color: #FFF;
}
.btn102 span {
	font-size: 1.4rem;
	font-weight: bold;
}

.btn104 {
	-moz-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
	background:linear-gradient(to bottom, #3ed1b4 5%, #1d8f84 100%);
	background-color:#1abc9c;
	border-radius:5px;
	border:1px solid #35b39a;
  color: #FFF;
  text-decoration: none;
  letter-spacing: 0.05em;
  padding: 0.8em 0.5em;
	box-shadow: 0px 0px 3px 1px #53dbc0;
	text-shadow: 0px -1px 1px #1d6153;
	width: 100%;
	min-width: 200px;
}

.btn104 span {
	font-size: 1.4rem;
	font-weight: bold;
}

/* 表示領域が767.98x以下の場合に適用するスタイル
-----------------------------------------------------*/
@media screen and (max-width : 767.98px ){
	/* table01 */
	table.table01_sp,
	table.table01a_sp,
	table.table03_sp {
		border-top: none;
	}
	/* thとtdをブロック化して幅100％にして、縦積み */
  table.table01_sp th,
	table.table01_sp td,
	table.table01a_sp th,
	table.table01a_sp td,
	table.table03_sp th,
	table.table03_sp td {
		width: 100%;
		display: block;
	}
	/* th（項目名）欄の不要な余白削除・テキスト左寄せ */
	table.table01_sp th,
	table.table01a_sp th,
	table.table03_sp th {
		text-align: left;
		padding-left: 1em; 
	}
	table.table01a_sp th,
	table.table03_sp th {
		padding-top: 0.6em;
		padding-bottom: 0.6em;
}
	table.table01_sp td,
	table.table01a_sp td,
	table.table03_sp td {
		border: none;
		padding-right: 10px; 
		padding-left: 10px; 
	}
	/*不要な最終行の左のthを非表示にする*/
	table.table01_sp .empty,
	table.table01a_sp .empty,
	table.table03_sp .empty {
		display: none;
	}

	/* table02 */
  table.table02_sp thead { 
		display: none;
  }

  table.table02_sp td { 
    display: block;
  }
	table.table02_sp td::before {
    content: attr(data-label);
    font-size: 1.4rem;
    color: #2387CA;
    display: block;
    margin-bottom: 0.25rem;
		text-align: left;
		font-weight: bold;
		background: #EEE;
		padding: 3px 13px;
		border-left: 3px solid #7CBDE8;
  }
	table.table02_sp td.num {
		background: #7CBDE8;
		color: #FFF;
  }
	table.table02_sp td.num::before {
		padding: 0;
	}
	table.table02_sp td.nottl::before {
		padding: 0;
	}
	table.table02_sp td.center {
		text-align: left;
	}
	/* フォーム関係 */
	table.table01_sp input[type="text"],
	table.table01_sp input[type="email"],
	table.table01_sp input[type="password"],
	table.table02_sp input[type="text"],
	table.table02_sp input[type="email"],
	table.table02_sp input[type="password"],
	table.table03_sp input[type="text"],
	table.table03_sp input[type="email"],
	table.table03_sp input[type="password"],
	textarea {
		padding: 0.5em;
		margin: 0.2em 0;
	}
	
	button.sw100 {
		width: 49%;
    padding: 15px 20px;
	}
}

input.form01_memberid {
	position: absolute;
	left: 490px;
}

select[name="app"] {
	width:300px;
	height:3em;
}


/* 管理者画面メニューボタン、検索画面ボタン */
.ul_btn02_admn,
.ul_srch01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	width: 100%;
	margin: 0;
	box-sizing: border-box;
}

/* 管理者画面メニューボタン */
.ul_btn02_admn {
	border-bottom: 1px solid #CCC;
	padding: 20px 0;
}
.ul_btn02_admn li {
	margin: 10px;
	width: 100%;
	max-width: 350px;
}
.ul_btn02_admn button {
	display: block;
	text-align: center;
	padding: 25px;
	background: linear-gradient(#FEFEFE, #F3F5F5);
	background: -o-linear-gradient(#FEFEFE, #F3F5F5);
	background: -ms-linear-gradient(#FEFEFE, #F3F5F5);
	background: -moz-linear-gradient(#FEFEFE, #F3F5F5);
	background: -webkit-linear-gradient(#FEFEFE, #F3F5F5);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #F3F5F5), color-stop(0.00, #FEFEFE));
	border: 1px solid #CCC;
	border-radius: 10px;
	line-height: 1em;
	transition: .3s;
	text-decoration: none;
	transition: 0.2s ease-in-out;
	-o-transition: 0.2s ease-in-out;
	-moz-transition: 0.2s ease-in-out;
	-webkit-transition: 0.2s ease-in-out;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	color: #e971b3;
	font-weight: 900;
	font-size: 1.6rem;
}
.ul_btn02_admn button i {
	display: block;
	margin-bottom: 10px;
	font-size: 8rem;
	color: #57858a;
}
.ul_btn02_admn button:hover {
	cursor: pointer;
	opacity: 0.6;
}


/* 検索画面 */
.ul_srch01 {
	align-items: center;
	padding: 0;
	margin: 15px 0;
}
.ul_srch01_in {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	list-style: none;
	margin: 0;
	width: 100%;
	box-sizing: border-box;
}
.ul_srch01 li,
.ul_srch01_in li {
	margin: 0 5px;
	padding: 0;
}
.ul_srch01 button.btn01 {
	background: #369cb8;
	color: #fff;
	padding: 5px 10px;
	font-size: 1.4rem;
	min-width: inherit;
	width: 100px;
}
.ul_srch01 button:hover {
	color : #fff;
	background : #6dbed4;
	cursor: pointer;
}

/* 検索ボックス */
.search_container {
	margin-top: 3px;
	position: relative;
  box-sizing: border-box;
  border: 2px solid #3879D9;
  padding: 3px 10px;
  border-radius: 3px;
  height: 2.5em;
  width: 100%;
  overflow: hidden;
}
.search_container input[type="text"] {
	all: initial;
  border: none;
  height: 1.8em;
  width: 100%;
}
.search_container input[type="text"]:focus {
  outline: 0;
}
.search_container button {
	-webkit-appearance: none; /* ブラウザのデフォルトCSSを無効化 */
  cursor: pointer;
  font-family: Font Awesome 7 Pro;
  border: none;
  background: #3879D9;
  color: #fff;
  position: absolute;
  width: 2.5em;
  height: 2.5em;
  right:0px;
  top: -5px;
  outline : none;
}

/* 表示領域が767.98px以下の場合に適用するスタイル
-----------------------------------------------------*/
@media print, screen and (max-width: 767.98px) {
	.entry_btn_area {
		flex-direction: column;
		max-width: 400px;
		margin: 3em auto;
	}
	.entry_btn_area a {
		width: 100%;
	}

	/* 管理者画面メニューボタン */
	.ul_btn02_admn,
	.ul_srch01,
	.ul_srch01_in {
		flex-direction: column;
	}
	.ul_btn02_admn,
	.ul_srch01 {
		margin: 30px auto;
	}
	.ul_btn02_admn li {
		width: 75%;
		margin: 10px auto;
	}
	.ul_srch01_in li {
		width: 100%;
	}

.btn_area div .btn01,
.btn_area div .btn02,
.btn_area div .btn05,
.btn_area div .btn04,
.btn_area div .btn04a,
.btn_area div .btn_mstr {
	width: 100%;
}

	/* 検索画面 */	
	.ul_srch01 button.btn01 {
		width: 350px;
	}

	input[type="submit"].btn09,
	input[type="button"].btn09
	button.btn09 {
		font-size: 1.6rem;
		padding: 0.5em 2em;
		width: 100%;
	}
}

.width005_per { max-width: 100%; width: 5% !important; }
.width007_per { max-width: 100%; width: 7% !important; }
.width010_per { max-width: 100%; width: 10% !important; }
.width012_per { max-width: 100%; width: 12% !important; }
.width015_per { max-width: 100%; width: 15% !important; }
.width020_per { max-width: 100%; width: 20% !important; }
.width025_per { max-width: 100%; width: 25% !important; }
.width027_per { max-width: 100%; width: 27% !important; }
.width030_per { max-width: 100%; width: 30% !important; }
.width040_per { max-width: 100%; width: 40% !important; }
.width045_per { max-width: 100%; width: 45% !important; }
.width100_per { max-width: 100%; width: 100% !important; }
.width025 { max-width: 100%; width: 25px !important; }
.width030 { max-width: 100%; width: 30px !important; }
.width060 { max-width: 100%; width: 60px !important; }
.width065 { max-width: 100%; width: 65px !important; }
.width070 { max-width: 100%; width: 70px !important; }
.width080 { max-width: 100%; width: 80px !important; }
.width090 { max-width: 100%; width: 90px !important; }
.width100 { max-width: 100%; width: 100px !important; }
.width110 { max-width: 100%; width: 110px !important; }
.width120 { max-width: 100%; width: 120px !important; }
.width125 { max-width: 100%; width: 125px !important; }
.width130 { max-width: 100%; width: 130px !important; }
.width134 { max-width: 100%; width: 134px !important; }
.width140 { max-width: 100%; width: 140px !important; }
.width150 { max-width: 100%; width: 150px !important; }
.width152 { max-width: 100%; width: 152px !important; }
.width160 { max-width: 100%; width: 160px !important; }
.width180 { max-width: 100%; width: 180px !important; }
.width190 { max-width: 100%; width: 190px !important; }
.width200 { max-width: 100%; width: 200px !important; }
.width230 { max-width: 100%; width: 230px !important; }
.width280 { max-width: 100%; width: 280px !important; }
.width300 { max-width: 100%; width: 300px !important; }
.width500 { max-width: 100%; width: 500px !important; }
.width520 { max-width: 100%; width: 520px !important; }
.width600 { max-width: 100%; width: 600px !important; }
.width750 { max-width: 100%; width: 750px !important; }

