@charset "utf-8";
/***************************************
　　タグ初期値リセット
***************************************/
html {
	font-size: 62.5%;
	height: auto;
}

* { box-sizing: border-box; }

body {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
	font-size: 1.4rem;
	margin: 0px;
	line-height: 1.5em;
	color: #323C3C;
}

header, footer, section, nav, article, aside, details, figcaption, figure, hgroup {
	display:block;
	margin: 0;
	padding: 0;
}

img {
	border: 0px;
	vertical-align: bottom;
}

h1, h2, h3, h4, h5 {
	margin: 0px;
	padding: 0px;
	line-height: 100%;
}

p {
	margin-top: 0px;
	margin-bottom: 20px;
}

ul {
	margin: 0px;
	padding: 0px;
	list-style-type: none;
}

ol { padding-left: 0px; }

li, dt, dd {
	margin: 0px;
	padding: 0px;
}

dl {
	margin: 0px;
	padding: 0px;
}

table,
th,
td {
	border-collapse: collapse;
	border: 1px;
}

address {
	font-style: normal;
	font-size: 11px;
}

/***************************************
　　フォントサイズ
***************************************/

.bold { font-weight: bold; }

.small { font-size: 0.785em; }

.large { font-size: 1.5em; }

/***************************************
　　段落、回り込み
***************************************/

.a_center { text-align: center !important; }

.aligncenter { text-align: center; }

.a_left {
	text-align: left !important;
	margin-right: 10px;
}

.alignleft {
	float: left;
	margin-right: 1em;
	margin-bottom: 1em;
}

.a_right {
	text-align: right !important;
	margin-left: 10px;
}

.alignright {
	float: right;
	margin-left: 1em;
	margin-bottom: 1em;
}

.f_left { float: left; }

.f_right { float: right; }

.f_clear { clear: both; }

/* .clearfix { width:100%; } */

.clearfix { zoom:1; }

.clearfix:before,
.clearfix:after {
	content: "";
	display: table;
}

.clearfix:after {
	clear: both;
	width: 100%;
}

.m_auto {
	margin-right: auto;
	margin-left: auto;
}

/***************************************
　　見出し
***************************************/

article h2,
article h3,
article h4 {
	clear: both;
	margin-bottom: 2rem;
}

#page_title,
article h2,
article h3 { font-weight: normal; }

/* ページタイトル */
#page_title {
	border-top: 5px solid #0ea95a;
	background-color: #0160ad;
	border-bottom: 3px solid #ecf2f4;
	font-size: 1.5em;
	padding: 1em 2rem;
	color: #FFFFFF;
}

article h2 {
	font-size: 1.4em;
	padding-top: 1em;
	padding-bottom: 1em;
	border-bottom: 0.6rem solid #c3cdd2;
	width: 100%;
	min-height: 100%;
}

article h3 {
	font-size: 1.2em;
	padding-top: 1em;
	padding-bottom: 1em;
	border-bottom: 0.2rem solid #c3cdd2;
}

article h4 { }

/***************************************
　　枠
***************************************/

.box_center { margin: 0px auto; }

/***************************************
　　テーブル
***************************************/

table {
	width: 100%;
	margin: 0 auto 1.5em;
	min-height: 0.1%;
	overflow: auto;
	background-color: #FFFFFF;
}

td,
th {
	padding: 0.5em;
	border: 1px solid #c3cdd2;
}

th {
	white-space: nowrap;
	background-color: #ecf2f4;
	font-weight: normal;
}

/* 一覧表示用テーブル */

.table_data tr:hover { background-color: #e6ffd7; }

.even { background-color: #fffefa; }

/* 点線テーブル */

.table-dotted {
	border: 1px solid #c3cdd2;
}

.table-dotted td,
.table-dotted th {
	padding: 0.5em;
	border: 1px dotted #c3cdd2;
}

/***************************************
　　フォーム
***************************************/

/* フォーム枠
------------------------------------- */
form { margin: 0px auto; }

/* フルサイズ */
.form_full { width: 100%; }

/* 検索枠 */
.box_search,
.box_search_full { margin-bottom: 3rem; }

.box_search_full { width: 100%; }

/* 備考テキスト */
.help_text { color: #869AA4; }

/* 入力
------------------------------------- */

input,
textarea {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;

}
button,

select {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Verdana, sans-serif;
	font-size: 1.4rem;
	padding: 0.2rem 3.3rem 0.2rem 0.4rem;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #c3cdd2;
	border-radius: 3px;
	background: #eee;
	background: url(images/arrow04.png) 98% 50% no-repeat;
	background-size: 18px, 100%;
}
select::-ms-expand {
	display: none;
}
/* テキスト系 */
input[type="text"],
input[type="password"],
input[type="email"],
textarea {
	font-size: 1.4rem;
	border: 1px solid #c3cdd2;
	border-radius: 3px;
	padding: 0.2rem;
	width: 100%;
}

/* 入力サイズ
------------------------------------- */

.w_v1  { width: 1em !important; }
.w_v2  { width: 2em !important; }
.w_v3  { width: 3em !important; }
.w_v4  { width: 4em !important; }
.w_v5  { width: 5em !important; }
.w_v6  { width: 6em !important; }
.w_v7  { width: 7em !important; }
.w_v8  { width: 8em !important; }
.w_v9  { width: 9em !important; }
.w_v10 { width: 10em !important; }
.w_v11 { width: 11em !important; }
.w_v12 { width: 12em !important; }
.w_v13 { width: 13em !important; }
.w_v14 { width: 14em !important; }
.w_v15 { width: 15em !important; }
.w_v16 { width: 16em !important; }
.w_v17 { width: 17em !important; }
.w_v18 { width: 18em !important; }
.w_v19 { width: 19em !important; }
.w_v20 { width: 20em !important; }
.w_v30 { width: 30em !important; }
.w_v40 { width: 40em !important; }
.w_v50 { width: 50em !important; }
.w_v60 { width: 60em !important; }

.w_p10  { width: 10% !important; }
.w_p20  { width: 20% !important; }
.w_p30  { width: 30% !important; }
.w_p40  { width: 40% !important; }
.w_p50  { width: 50% !important; }
.w_p60  { width: 60% !important; }
.w_p70  { width: 70% !important; }
.w_p80  { width: 80% !important; }
.w_p90  { width: 90% !important; }
.w_p100 { width: 100% !important; }

/* フォームレイアウト
------------------------------------- */

/* ２カラムのフォーム */
dl.col2 { }

dl.col2 dd {
	margin-bottom: 1em;
	display: block;
	border-bottom: 1px dashed #c3cdd2;
	padding-bottom: 1em;
}

dl.col2 dd.no_line { border-bottom: 0px dashed #c3cdd2; }

/* ４カラムのフォーム */
dl.col4 { }

dl.col4 dd {
	margin-bottom: 1em;
	display: block;
	border-bottom: 1px dashed #c3cdd2;
	padding-bottom: 1em;
}

dl.col4 dd.no_line { border-bottom: 0px dashed #c3cdd2; }

/* 10カラムのフォーム */
dl.col12 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

dl.col12 dd.hr {
	width: 100%;
	border-top: 1px dashed #c3cdd2;
	padding-bottom: 1em;
}

dl.col12 dt {
	text-align: right;
	padding-right: .5em;
	padding-bottom: 1em;
}

dl.col12 dd {
	display: block;
	padding-bottom: 1em;
}

dl.col12 dt.w1,
dl.col12 dd.w1
{
	width: 8.3%;
}

dl.col12 dt.w2,
dl.col12 dd.w2
{
	width: 16.6%;
}

dl.col12 dt.w3,
dl.col12 dd.w3
{
	width: 24.9%;
}

dl.col12 dt.w4,
dl.col12 dd.w4
{
	width: 33.2%;
}

dl.col12 dt.w5,
dl.col12 dd.w5
{
	width: 41.5%;
}

dl.col12 dt.w6,
dl.col12 dd.w6
{
	width: 49.8%;
}

dl.col12 dt.w7,
dl.col12 dd.w7
{
	width: 58.1%;
}

dl.col12 dt.w8,
dl.col12 dd.w8
{
	width: 66.4%;
}

dl.col12 dt.w9,
dl.col12 dd.w9
{
	width: 74.7%;
}

dl.col12 dt.w10,
dl.col12 dd.w10
{
	width: 83%;
}

dl.col12 dt.w11,
dl.col12 dd.w11
{
	width: 91.3%;
}

dl.col12 dt.w12,
dl.col12 dd.w12
{
	width: 99.6%;
}

/* 1200px 以上 */
@media screen and (min-width: 1199px)
{
	form,
	.box_center { width: 900px; }

	dl.col2 dt,
	dl.col2 dd { margin-bottom: 1em; }

	dl.col2 dt {
		white-space: nowrap;
		text-align: right;
		float: left;
		display: block;
		width: 20%;
		clear: both;
	}

	dl.col2 dd {
		padding-left: 23%;
		padding-right: 1rem;
		min-height: 2em;
	}

	.col2:after,
	.col3:after,
	.col4:after {
		clear: both;
		content: "";
		display: table;
	}


	/* 分割カラム
	------------------------------------------------ */

	.col3 { margin-bottom: 1.5em; }

	.col3_1,
	.col3_2,
	.col3_3 {
		width: 33%;
	}

	.col3_1,
	.col3_2,
	.col3_3 { float: left; }

	.col3_2 {	text-align: center;	}

	.col3_3 {
		text-align: right;
	}

	.col3_offset1 { margin-left: 33%; }

	.col3_offset2 { margin-left: 66%; }



	/* 分割カラム
	------------------------------------------------ */

	.col4 { margin-bottom: 1.5em; }

	.col4_1,
	.col4_2,
	.col4_3,
	.col4_4 {
		width: 25%;
	}

	.col4_1,
	.col4_2,
	.col4_3,
	.col4_4 { float: left; }

	.col4_2,
	.col4_3 {	text-align: left;	}

	.col4_4 {
		text-align: left;
	}

	.col4_offset1 { margin-left: 25%; }

	.col4_offset2 { margin-left: 50%; }

	.col4_offset3 { margin-left: 75%; }

	/* 分割カラム
	------------------------------------------------ */

	.col2 { margin-bottom: 1.5em; }

	.col2_1,
	.col2_2 {
		width: 50%;
	}

	.col2_1,
	.col2_2 { float: left; }


	.col2_offset1 { margin-left: 25%; }

	.col2_offset2 { margin-left: 50%; }

}

/***************************************
　　ボタン
***************************************/

/* ボタン共通 */

.btn,
.btn_s,
.btn_ss {
	border: 0px none #FFFFFF;
	text-decoration: none;
	color: #FFFFFF;
	position: relative;
	line-height: 1.5em;
	display: inline-block;
}

.btn {
	border-radius: 0.7rem;
	padding: 0.7rem 4rem;
	text-shadow: 0px 0px 4px rgba(0,0,0,0.35);
}

.btn_s {
	border-radius: 0.3rem;
	padding: 0.3rem 1rem;
	text-shadow: 0px 0px 4px rgba(0,0,0,0.35);
}
.btn_ss {
	border-radius: 0.2rem;
	padding: 0.05rem 0.4rem;
	text-shadow: 0px 0px 4px rgba(0,0,0,0.35);
}

input.btn,
input.btn_s,
input.btn_ss { cursor: pointer; }

input.btn[disabled],
input.btn_s[disabled],
input.btn_ss[disabled] {
	cursor: default;
}

.btn:active,
.btn_s:active {
	top: 5px;
	left: 0px;
	box-shadow: 0px 0px #FFF;
}

/* 青ボタン */
.btn_blue { box-shadow: 0px 5px #2692D5; }

.btn_blue:hover { background-color: #2dc8ff; }

.btn_blue,
.btn_blue:active { background-color: #2dafff; }

/* 赤ボタン */
.btn_red { box-shadow: 0px 5px #c34141; }

.btn_red:hover { background-color: #ff6e8c; }

.btn_red,
.btn_red:active { background-color: #ff5454; }

/* 橙ボタン */
.btn_orange {	box-shadow: 0px 5px #b96428; }

.btn_orange:hover { background-color: #ffaa37; }

.btn_orange,
.btn_orange:active { background-color: #ff8737; }

/* 緑ボタン */
.btn_green { box-shadow: 0px 5px #509b19; }

.btn_green:hover { background-color: #99cf25; }

.btn_green,
.btn_green:active { background-color: #69cf25; }

/* 紫ボタン */
.btn_purple { box-shadow: 0px 5px #731991; }

.btn_purple:hover { background-color: #cd23cd; }

.btn_purple,
.btn_purple:active { background-color: #a525cf; }

/* 灰ボタン */
.btn_gray {
	color: #222;
	background-color: #d5d5d5;
	box-shadow: 0px 5px #BBB;
	text-shadow: 0px 0px 4px rgba(255,255,255,0.35);
}

.btn_gray:hover { background-color: #ffdcdc; }

/* 警告ボタン */
.btn_alert {
	color: #222;
	text-shadow: 0px 0px 4px rgba(255,255,255,0.35);
	border-radius: 0rem;
	background-color: #d5d5d5;
	box-shadow: 0px 5px #BBB;
}

/* 背景先読み */
.btn.btn_alert,
.btn_s.btn_alert {
	background-position: -9999px;
	background-repeat: no-repeat;
}

.btn.btn_alert { background-image: url(../img/pattern_alert.png); }

.btn_s.btn_alert { background-image: url(../img/pattern_alert_s.png); }

.btn.btn_alert:hover {
	border: 5px inset #FF0000;
	border-image: url(../img/pattern_alert.png) 9 9 round;
	padding: 0.2rem 3.5rem;
}

.btn_s.btn_alert:hover {
	background-color: #ffdcdc;
	border: 3px inset #FF0000;
	border-image: url(../img/pattern_alert_s.png) 6 6 round;
	padding: 0px 0.8rem;
}

/***************************************
　　メッセージ
***************************************/

.req { color:red; }

.box_success,
.box_error,
.box_alert {
	background-position: 2rem 1.5rem;
	background-repeat: no-repeat;
	min-height: 8rem;
	padding: 1.5rem 3rem 1rem 9rem;
	box-shadow: 3px 3px 3px rgba(0,0,0,0.1);
	margin-bottom: 2.5em;
}

.box_success strong,
.box_error strong,
.box_alert strong {
	font-size: 1.2em;
}

/* 成功 */
.box_success {
	border: 1px solid #69cf25;
	background-color: #e6ffd7;
	background-image: url("../img/msg_success.png");
}

.box_success strong { color: #69cf25; }

.box_alert { }

.box_error {
	border: 1px solid #e8503e;
	background-color: #ffe9e6;
	background-image: url("../img/msg_error.png");
}

.box_error strong { color: #e8503e; }

/***************************************
　　ページネーション
***************************************/

.pagenation {
	margin: 0 auto 1.5em;
	text-align: center;
}

.pagenation li {
	min-width: 2em;
	display: inline-block;
	margin-right: 0.5em;
	margin-bottom: 0.5em;
	border: 1px solid #69cf25;
}

.pagenation li a {
	padding: 0.5em;
	display: block;
	color: #69CF25;
}

.pagenation li a {
	background-color: #f5ffef;
	text-decoration: none;
}

.pagenation li a:hover {
	background-color: #509B19;
	color: #FFFFFF;
}

.pagenation li.here {
	min-width: 1em;
	padding: 0.5em;
	background-color: #69cf25;
	color: #FFF;
}

/***************************************
　　タブ
***************************************/

.tab {
	border-bottom: 5px solid #69cf25;
	margin-bottom: 1.5em;
}

.tab li {
	float: left;
	margin-right: 3px;
	background-color: #F5FFEF;
	color: #69cf25;
	border-left-color: #69cf25;
	border-right-color: #69cf25;
	border-top-color: #69cf25;
	border-left-style: solid;
	border-right-style: solid;
	border-top-style: solid;
	border-left-width: 1px;
	border-right-width: 1px;
	border-top-width: 1px;
	padding: 5px 50px;
	border-top-right-radius: 10px;
	border-top-left-radius: 10px;
}

.tab li a {
	text-decoration: none;
	display: block;
	color: #69cf25;
}

.tab li.here {
	background-color: #69CF25;
	color: #FFFFFF;
}

/***************************************
　　表示・非表示
***************************************/

.fade.in {
		opacity: 1;
}

.fade {
		opacity: 0;
		transition: opacity 0.15s linear 0s;
}

/***************************************
　　エラーカラー
***************************************/
.err_cell { background-color: #FF0000; }

/***************************************
　　汎用カラー
***************************************/

.c_black,
.c_black_b { color: #000; }

.c_gray,
.c_gray_b { color: #869AA4; }

.c_white,
.c_white_b { color: #FFF; }

.c_red,
.c_red_b { color: #ff5454; }

.c_blue,
.c_blue_b { color: #2dafff; }

.c_green,
.c_green_b { color: #69cf25; }

.c_orange,
.c_orange_b { color: #ff8737; }

.c_black_b,
.c_gray_b,
.c_white_b,
.c_red_b,
.c_blue_b,
.c_green_b,
.c_orange_b { font-weight: bold; }


