@charset "UTF-8";
/* CSS Document*/

/* ---------------------
	header, footer, global-section 
	base media sp
   ---------------------*/
html, body {
	height: 100%;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#container {
	display: flex;
	flex-direction: column;
	height: 100%;
	/*background-color: #f8f8f8;*/
	background-color: #f0f0f0;
}


/* ---------------------
	menu 
   ---------------------*/
#menu {
	display: flex;
	flex-direction: column;
	overflow: hidden;

	width: 280px;
	min-width: 280px;
	color: #333;
	background-color: #f0f0f0;
	transition: 0.5s ease-in-out;
}

/* トグルボタンとロゴエリア */
#menu .hdr {
	display: flex;
	align-items: center;
	width: 100%;
	padding: 16px;
}
#menu .logo > img {
	object-fit: scale-down;
}

/* menuの表示切り替え、検索もそうだがIDが必要になるため複数設置や名称変更に難あり
   jsでの実装でcookieやsessionStorage利用で状態記憶までつけた方が良いかもしれない
 */
#menu-tgl {
	display: none;
}
label[for="menu-tgl"] {
	margin: 0;
	padding: 0;
	cursor: pointer;
}
label[for="menu-tgl"] svg {
	width: 32px;
	height: 32px;
}

#menu ul {
	display: none;
	flex-grow: 1;
	overflow-y: auto;
	margin-left: 0;
	padding-left: 0;
	padding-right: 32px;
	padding-top: 11px;
	list-style-type: none;
}
#menu li {
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
}

#menu li a {
	display: block;
	padding-left: 32px;
	padding-top: 5px;
	padding-bottom: 5px;
	border-radius: 0 24px 24px 0;
	text-decoration: none;
}
#menu li a:hover {
	background-color: #e8e8e8;
}
#menu li a.sel {
	background-color: #d8d8d8;
}
#menu > ul > li > ul > li > a {
	padding-left: 64px;
}

/* sp/tabではデフォルト(checked) = 閉じる */
#menu-tgl:checked ~ #menu {
	/*left: -100%;*/
}
#menu-tgl:checked ~ #menu ul {
	display: none;
}
#menu-tgl:not(:checked) ~ #menu {
	/*left: 0;*/
	position: absolute;
	top: 0;
	bottom: 0;
	/*left: -100%;*/
	z-index: 1;
}
#menu-tgl:not(:checked) ~ #menu ul {
	display: unset;
}

/* ---------------------
	content 
   ---------------------*/

#container > main {
	display: flex;
	flex-grow: 1;
	flex-direction: column;
	/*height: 100%;*/
	/*height: calc(100% - 64px);*/
	height: 100%;
	position: relative;
	/*overflow-x: auto;
	overflow-y: auto;*/
	overflow: hidden;
}

main > header {
	display: flex;
	align-items: center;
	/*position: sticky;
	top: 0;*/
	width: 100%;
	/*height: 64px;*/
	padding: 16px;
	/*overflow: hidden;*/
	/*box-shadow: 0 1px 3px rgba(0,0,0,.2);*/
}
main > header h1 {
	font-size: 1.5rem;
}

main > header .hd-news {
	display: block;
	width: 32px;
	margin-left: auto;
}

/*img[src*="icon-info"] {
	width: 1.2em;
	height: 1.2em;
	vertical-align: text-bottom;
}*/

main > footer {
	/*display: flex;*/
	display: none;
	/*position: sticky;
	bottom: 0;
	width: 100%;*/
	padding: 16px;
	overflow: hidden;
	/*background-color: #f8f8f8;*/
	background-color: #f0f0f0;
}

#content {
	flex-grow: 1;
	overflow-y: auto;
	padding-top: 11px;
	padding-left: 21px;
	border-radius: 24px 0 0 0;
	/*background-color: #fdfdfd;*/
	background-color: white;
}
#content h1 {
	display: inline-block;
}


/* ---------------------
	share design
   ---------------------*/
a:link, a:visited, a:hover, a:active {
	text-decoration: none;
	transition: 0.15s;
	color: #666666;
}
a:hover {
	opacity: 0.5;
}
input:not([type="checkbox"]):not([type="radio"]), button, textarea, select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
select::-ms-expand {
	display: none;
}
input:not([type="checkbox"]):not([type="radio"]), textarea, select {
	padding: .5rem;
	border: solid 1px #cccccc;
	/*margin: 0 auto 1rem;*/
	/*width:100%;*/
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}

button {
	border: none;
	outline: 0;
	transition: background 250ms ease-in-out, transform 150ms ease;
	-webkit-appearance: none;
	-moz-appearance: none;
}
button:hover, button:focus {
	opacity: .8;
}
button:focus {
	/*font-size: 98%;*/
	/*outline: 0;*/
}

/* ボタン */
.btn {
	/*width: 60%;*/
	display: inline-block;
	position: relative;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	font-size: 1em;
	line-height: 2.5rem;
	border-radius: 1.5rem;
	text-align: center;
	cursor: pointer;
}
.btn.line		{ background-color: #fff; color: #009cde; border: 1px solid #009cde; }
.btn.white		{ background-color: #ffffff; border: 1px solid #999; }
.btn.whiteline	{ background-color: #ffffff; color: #666666; border: 1px solid #999; }
/*.btn.whiteline	{ background: none; color: #009cde; border: 1px solid #009cde; }*/
.btn.gray		{ background-color: #e7e7e7; }
.btn.orange		{ background-color: #F2792C; color: #ffffff; }
.btn.orangeline	{ background-color: #ffffff; color: #F2792C; border: 1px solid #F2792C; }
.btn.blue		{ background-color: #009cde; color: #fff; }

.btn.search		{ min-width: 8rem; background-color: #009cde; color: #fff; border: 1px solid #009cde; }
.btn.reset		{ min-width: 8rem; background-color: #fff; color: #009cde; border: 1px solid #009cde; }
.btn.new		{ min-width: 8rem; color: #333; background-color: #fff; border: 1px solid #666; }

.btn.csvdl		{ min-width: 8rem; display: inline-flex; color: #333; background-color: #fff; border: 1px solid #666; }
.btn.csvdl::after { content: url(../img/icon-download-gray.svg); width: 35px; height: 35px; margin-left: 0.75rem; }

.btn.back		{ min-width: 8rem; }
.btn.save		{ min-width: 8rem; background-color: #F2792C; color: #ffffff; }
.btn.remove		{ min-width: 8rem; margin-left: auto; }

.btn.page		{ width: 30%; line-height: 2.4rem; background-color: #fff; border: 1px solid #666; color: #333; }
.btn.return		{ width: 20%; line-height: 1.4rem; background-color: #fff; border: 1px solid #666; }

.btn.cart {
	width: 100%; margin: 0 auto; background-color: #009cde; color: #fff;
	font-size: .8rem; line-height: 2rem;
}
.btn.mail {
	color: #af9c6e; border: 1px solid #dbc99d;
	width: 60%; background-color: #fff; 
	font-size: .7rem; line-height: 1.5rem; margin: 0 auto 1rem;
}
.btn.like {
	color: #FF6699; border: 1px solid #FF6699; background-color: #fff;
}
.btn span[class*="icon-"]:before {
	content: "";
	position: absolute;
	top: 16%;
	bottom: 0;
	left: 5%;
	margin: auto;
	vertical-align: middle;
	width: 2.5rem;
	background-size: 70%;
}
.btn .icon-check:before {
	top: 8%;
	background: url("../img/common/icon-check.svg") top left no-repeat;
	background-size: 35% !important;
}

.inline {
	display: inline-block;
}

.flex, .flex-col {
	display: flex;
}
.flex.inline, .flex-col.inline {
	display: inline-flex;
}
.flex-col {
	flex-direction: column;
}
.flex > .right, .flex-col > .right {
	margin-left: auto;
}
.flex .fill, .flex-col .fill {
	flex: 1;
}

.w100p {
	width: 100%;
}

.pre-wrap {
	white-space: pre-wrap;
}
.nowrap {
	white-space: nowrap;
}

.tar {
	text-align: right;
}
.tac {
	text-align: center;
}
.tal {
	text-align: left;
}

.msg {
	margin: 5px;
	line-height: 1.6;
	font-size: .8rem;
	font-weight: bold;
}
.errmsg {
	margin-bottom: 1rem;
    line-height: 1.6;
	font-size: .8rem;
	font-weight: bold;
	color: #EE2222;
}
/* 注釈 */
.annot {
	color: #666666;
	font-size: 83.3%;
}
.attn {
	color: #ff6666;
	font-weight: bold;
}
.nodisp {
	display: none;
}

/* 横並び番号付きリスト */
ol.row {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 0;
}
ol.row > li:not(:first-child) {
	margin-left: 32px;
}

td > [data-editable="html"],
	td > [data-editable="text"]
{
	height: 100%;
}

/* ---------------------
	検索フォーム
   ---------------------*/
.srch-box {
	height: max-content;
	/*background-color:  #eeeeee;*/
	background-color:  #f0f0f0;
}
/*.srch-box form {
	padding: 5px;
	background-color:  #eeeeee;
}*/
.srch-box .conds {
	transition: 0.5s ease-in-out;
}
.srch-box .conds ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}
.srch-box .conds li {
	/*float: left;*/
	/*display: inline-block;*/
	padding-right: 8px;
}
/* 検索条件表示切り替え */
#srch-tgl {
	display: none;
}
label[for="srch-tgl"] {
	display: inline-block;
	position: relative;
	margin: 0;
	padding: 0 0 0 16px;
	/*font-size: 0.83em;
	font-weight: bold;*/
	cursor: pointer;
}
label[for="srch-tgl"] img {
	width: 32px;
	height: 32px;
}
/* sp/tabではデフォルト(checked) = 閉じる */
#srch-tgl:checked ~ .conds {
	height: 0;
	padding: 0;
	overflow: hidden;
}
#srch-tgl:not(:checked) ~ .conds {
	height: unset;
	padding:8px;
	overflow: unset;
}

/*.srch-box .btn {
	min-width: 68px;
	overflow: hidden;
	border-radius: 15px;
}*/
/*.srch-box .btn.srch {
	background-color: #ffdddd;
}*/
/*.srch-box .btn.all,
  .srch-box .btn.csvdl,
  .srch-box .btn.csvul,
  .srch-box .btn.csvlist,
  .srch-box .btn.std
{
	/*background-color: #dddddd;*/
	/*background-color: #eeeeee;
}*/


/* ---------------------
	一覧
   ---------------------*/
table.list-a {
	position: relative;
	/* spでは画面幅を突き破るように */
	/*width: 100%;*/
	width: max-content;
	/*border-collapse: collapse; stickyでcollapseはborderが消えるため */
	border-collapse: separate;
	border-top: 1px solid #dddddd;
	border-left: 1px solid #dddddd;
}
table.list-a > tr > *,
	table.list-a > thead > tr > *,
	table.list-a > tbody > tr > *
{
	width: auto;
	padding: 5px 6px;
	vertical-align: middle;
	overflow: hidden;
	word-break: break-all;

	border: 1px solid transparent;
	border-right-color: #dddddd;
	border-bottom-color: #dddddd;
}
table.list-a > tr:first-child > th,
	table.list-a > thead > tr:first-child > th
{
	text-align: center;
	font-weight: normal;

	border-top-color: #dddddd;
	/*border-right-color: white;*/
	/*background-color: #eeeeee;*/
	background-color: #f0f0f0;
}
table.list-a > tr > *:last-child
	table.list-a > thead > tr > *:last-child,
	table.list-a > tbody > tr > *:last-child
{
	border-right-color: transparent;
}
table.list-a > tr:not(:first-child) > *,
	table.list-a > tbody > tr > *
{
	background-color: white;
}
table.list-a > thead > tr > th a {
	color: #40406c;
	text-decoration: none;
}
table.list-a .noline {
	border-style: none;
	background-color: transparent;
}
table.list-a .underline {
	border-style: none none solid none;
}
/* 先頭の見出し行を固定 */
/*table.list-a > thead {
	position: sticky;
	top: 0;
}*/
table.list-a thead.sticky th {
	position: sticky;
	top: 0;
}
table.list-a tbody.sticky th {
	position: sticky;
	left: 0;
}

/* 利用不可（ボタン） */
table.list-a input[type="submit"]:disabled,
	table.list-a input[type="button"]:disabled
{
	filter: alpha(opacity=30);
	-moz-opacity: 0.3;
	opacity: 0.3;
}

/*.list-a {width: 100%; text-align: center; margin-top: 1rem;}*/
/*.list-a {width: 100%; margin-top: 1rem;}*/
.list-a tr{border-bottom: none;}
.list-a th{background-color: #f8f8f9;	border-left: 1px solid #fff; font-size: .7rem;}
.list-a th:first-child{border-left: none;}
.list-a td{display: table-cell; padding:.5rem 0; font-size: .7rem; /*border-bottom: 1px solid #eee;*/ }
.list-a img[src*="icon-arrow"]{width: 2em; height: 2em;}
.list-a td{ font-size: .9rem;}

/*.sort.asc::after {
	content: '△';
}
.sort.desc::after {
	content: '▽';
}*/
.sort-flds [href$=":asc"]::after {
	content: '△';
}
.sort-flds [href$=":desc"]::after {
	content: '▽';
}


/* ---------------------
	入力フォーム
   ---------------------*/
table.form-a {
	width: 100%;
	/*height: 100%;*/
	/*border-collapse: collapse; stickyでcollapseはborderが消えるため */
	border-collapse: separate;
}
table.form-a > tr > *,
	table.form-a > thead > tr > *,
	table.form-a > tbody > tr > *
{
	position: relative;
	width: auto;
	/*height: 100%;*/
	/*padding: 8px 11px 7px 11px;*/
	vertical-align: middle;
	overflow: hidden;
	word-break: break-all;

	border: 1px solid transparent;
	border-right-color: #dddddd;
	border-bottom-color: #dddddd;
}
table.form-a > tr:first-child > td,
	table.form-a > tbody > tr:first-child > td
{
	border-top-color: #dddddd;
}
table.form-a > tr > th,
	table.form-a > tbody > tr > th
{
	/*width: 33.33%;*/
	width: 210px;
	padding: 3px 11px 3px 8px;
	/*background-color: #eeeeee;*/
	background-color: #f0f0f0;
	text-align: right;
	font-weight: normal;
	white-space: nowrap;
}
table.form-a > tr > td,
	table.form-a > tbody > tr > td
{
	/*width: auto;*/
	text-align: left;
	border-right-color: transparent;
}
table.form-a .must {
	background-image: url(../img/bg_must.gif);
	background-position: right top;
	background-repeat: repeat-y;
}
/*table.form-a .annot {
	color: #aa5555;
	font-size: 91%;
}*/
/*table.form-a .header,
	table.form-a .footer
{
	padding-top: 11px;
	padding-bottom: 8px;
	border: 1px solid #bdbdbd;
	text-align: center;
	color: #666666;
	background-color: #eeeeee;
}*/
/* 標準の入力エレメント */
/*table.form-a input[type="text"],
	table.form-a input[type="password"],
	table.form-a select,
	table.form-a textarea
{
	border: 1px solid #999999;
	border-radius: 2px;
	box-shadow: 0px 1px 1px 0px #777777;
}*/
/*table.form-a input[type="text"],
  table.form-a input[type="password"],
  table.form-a select
{
	height: 21px;
}*/
/*table.form-a input[type="text"],
  table.form-a input[type="password"],
  table.form-a textarea
{
	padding: 0 5px;
	*//* for IE <= 10 */
	/*padding: 0\9;
}*/
/*table.form-a select {
	padding: 0 0 0 5px;
}*/
/* ラジオボタン、チェックボックスのラベル */
/*table.form-a label {
	display: inline-block;
	margin-right: 3px;
}*/
/*table.form-a label input[type="checkbox"],
  table.form-a label input[type="radio"]
{
	margin-right: 5px;
}*/
/*table.form-a .btn.next {
	display: inline-block;
	*//*border: 1px solid #ff7d00;*//*
	border: 1px solid #aa1515;

	border-radius: 6px;
	padding: 5px 11px;
	overflow: hidden;
	text-align: center;
	white-space: nowrap;
	font-size: 111%;
	font-weight: bold;
	color: #ffffff;
	*//*color: #6c4040;
	text-shadow: white 1px 1px;*//*

	background-color: #f32a23;
	*//*background: #ff7d00;*//*
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff3e7), color-stop(100%, #ff7d00));
	background: -webkit-linear-gradient(top, #fff3e7 0%, #ff7d00 100%);
	background: linear-gradient(to bottom, #fff3e7 0%, #ff7d00 100%);*//*
}
table.form-a .btn.remove,
  table.form-a .btn.prev {
	display: inline-block;
	border: 1px solid #888888;

	border-radius: 6px;
	padding: 5px 11px;
	overflow: hidden;
	text-align: center;
	white-space: nowrap;
	font-size: 111%;
	font-weight: bold;
	*//*color: #ffffff;*//*
	color: #333333;
	*//*text-shadow: white 1px 1px;*//*

	*//*background-color: #888888;*//*
	background-color: #bdbdbd;
	*//*background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #eeeeee), color-stop(100%, #888888));
	background: -webkit-linear-gradient(top, #eeeeee 0%, #888888 100%);
	background: linear-gradient(to bottom, #eeeeee 0%, #888888 100%);*//*
}*/
/*table.form-a .btn.next,
  table.form-a .btn.prev,
  table.form-a .btn.remove,
  table.form-a .btn.reject,
  table.form-a .btn.std
{
	min-width: 81px;
	border-radius: 5px;
	padding: 5px 11px;
	overflow: hidden;
}*/
/*table.form-a .btn.next {
	background-color: #ffdddd;
}*/
/*table.form-a .btn.prev,
    table.form-a .btn.std
{
	background-color: #bdbdbd;
}*/
/*table.form-a .btn.remove,
    table.form-a .btn.reject
{
	color: #f32a23;
	background-color: #bdbdbd;
}*/
/* 文字数表示エリア */
/*table.form-a .strlen {
	display: block;
	text-align: right;
}*/

/* 利用不可（ボタン） */
table.form-a input[type="submit"]:disabled,
	table.form-a input[type="button"]:disabled
{
	filter: alpha(opacity=30);
	-moz-opacity: 0.3;
	opacity: 0.3;
}

table.form-a .footer {
	text-align: left;
}

table.form-a .btn.remove {
	margin-left: auto;
}


/* ---------------------
	over tablet size
   ---------------------*/
@media screen and (min-width: 600px) {

}


/* ---------------------
	over PC size
   ---------------------*/
@media screen and (min-width: 1024px) {
	input:not([type="checkbox"]):not([type="radio"]), textarea, select {
		padding: .4rem;
	}
	.btn {
		line-height: 2.15rem;
	}
	.btn.csvdl::after {
		width: 29px;
		height: 29px;
	}

	#container {
		flex-direction: row;
	}

	#menu {
		position: relative;
		height: 100%;
		z-index: unset;
	}
	/* pcではデフォルト(checked) = 開く */
	#menu-tgl:checked ~ #menu {
		position: relative;
		left: unset;
		top: unset;
		bottom: unset;
		width: 280px;
		min-width: 280px;
		z-index: unset;
	}
	#menu-tgl:checked ~ #menu ul {
		display: unset;
	}
	#menu-tgl:checked ~ #menu > .hdr {
		padding: 16px;
	}
	#menu-tgl:not(:checked) ~ #menu {
		position: relative;
		left: unset;
		top: unset;
		bottom: unset;
		width: 32px;
		min-width: 32px;
		z-index: unset;
	}
	#menu-tgl:not(:checked) ~ #menu ul {
		display: unset;
	}
	#menu-tgl:not(:checked) ~ #menu > .hdr {
		padding: 16px 0;
	}
	/* pcではデフォルト(checked) = 開く */
	#srch-tgl:checked ~ .conds {
		height: unset;
		padding: 8px;
		overflow: unset;
	}
	#srch-tgl:not(:checked) ~ .conds {
		height: 0;
		padding: 0;
		overflow: hidden;
	}

	/*table.form-a {
		width: 723px;
	}*/
	table.list-a {
		/* pcでは画面幅にあわせるように */
		width: 100%;
		/*width: max-content;*/
	}
}
