/*!
Theme Name: _navi
Theme URI: https://saku.work/
Author: Saku
Author URI: https://saku.work/
Description: Description
Version: 1.10.0
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: _navi
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

_navi is based on Underscores https://underscores.me/, (C) 2012-2017 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

*/

/*------------------------------------------------------------------------------
|	css vars
|-----------------------------------------------------------------------------*/

:root {
	--color-scheme: 'light';

	--max-width-content: 1680;

	--padding-input: .5em;

	--width-logo-viewport: 46;
	--width-icon: 1.25em;

	--height-menubar: 3rem;
	--height-logo-viewport: 18;

	--lightness: 8%;

	--scale-collapsed: .75;
	--skew-deg: 7;

	--tran-dura: .2s;

	--radius-btn: .3em;

	--shadow-modal: 0 1em 2em rgba(0,0,0,.07);

	--size-qr: 7em;
	--color-qr-bg: #fff;
	--width-arrow: 1em;
}

/*------------------------------------------------------------------------------
|	reset
|-----------------------------------------------------------------------------*/

.widget,
footer .copyright {
	position: relative;
}

.menu-item a[href="#"],
.ajax-loading a,
.ajax-loading :link,
.ajax-loading [onclick],
.ajax-loading [onchange],
.ajax-loading [onblur] {
	pointer-events: none !important;
}

.entry-content a:focus {
	outline: none;
}

/*------------------------------------------------------------------------------
|	font family
|-----------------------------------------------------------------------------*/

body { --font-ascii: 'Inter'; }
body { --font-mono: 'JetBrains Mono'; }

html[lang="ja"] body,
html[lang="ja"] option    { --font-cjk: 'Hiragino Sans', 'Hiragino Kaku Gothic ProN'; }
html[lang="zh-CN"] body,
html[lang="zh-CN"] option { --font-cjk: 'PingFang SC', 'Hiragino Sans GB', 'Hiragino Sans'; }

html[lang="ja"] body.windows		{ --font-cjk: 'NotoSansJP'; }
html[lang="zh-CN"] body.windows	{ --font-cjk: 'NotoSansSC'; }

/*------------------------------------------------------------------------------
|	font size
|-----------------------------------------------------------------------------*/

body.num-updated .section .menu-admin > li > a::after { font-size: 1rem; }

h1.site-title small            { font-size: .65em; }
.font-size-x0-85               { font-size: .85em; }
.section .menu-admin > li > a,
h1.site-title:not(:only-child) { font-size: 1.25em; }

.section-title .count          { font-size: 1rem; }
.section-title .count::before,
.section-title .count span     { font-size: 1.25rem; }

/*------------------------------------------------------------------------------
|	font color
|-----------------------------------------------------------------------------*/

input[type="checkbox"]::before,
.notification > div > .icon { color: #fff; }

.site-header .sub-menu a,
table.list thead,
table.list tfoot,
table.adjust-list-detail td:first-child[rowspan] + td,
table.adjust-list-detail td:first-child,
.table.grid > .header,
.table.grid > .footer,
.section a,
.radio-wrap label div,
::placeholder,
.list > .header,
table.flashd_data-list th,
table.flashd_data-list td { color: var(--color-txt); }

h1.site-title small { color: var(--color-bg); }

table.list .edit-link,
.table.grid > .header .cell[class*="sort-"],
.sort-arrows svg,
.site-header .sub-menu a ion-icon,
.section a:not([href="#"]) ion-icon,
.section-title > div .icon,
.radio-wrap label :checked + div,
.object-search .stores .label div:last-child,
.section-adjust a.back,
.site-header .menu-container > .menu > .menu-item.current > *,
.site-header .sub-menu .current > a,
.nav-radio-wrap label:hover div,
.nav-radio-wrap label :checked + div,
.nav-tab-wrap > *:hover,
.nav-tab-wrap > *.current,
.list > div > div.input,
.load-more a,
body.search-ok .object-search .csv-wrap button ion-icon { color: var(--color-link); }

table.flashd_data-list .unsynced { --a-txt: .4; }

table.list thead,
table.list tfoot,
table.adjust-list-detail td:first-child[rowspan] + td,
table.adjust-list-detail td:first-child,
.table.grid > .header,
.table.grid > .footer,
.store-permission-wrap .operators label :not(:checked) ~ span,
.operator-permission-wrap .stores label :not(:checked) ~ span,
.list > .header { --a-txt: .7; }

.store-permission-wrap .operators label :not(:checked) ~ span,
.operator-permission-wrap .stores label :not(:checked) ~ span { --a-txt: .85; }

.weekday.sat,
.navi-form .submit-wrap .ion-checkmark-circle { color: var(--color-logo-line); }
.weekday.sun,
.navi-form .description.error,
.navi-form .submit-wrap .ion-alert-circle     { color: var(--color-accent); }

/*------------------------------------------------------------------------------
|	font weight
|-----------------------------------------------------------------------------*/

h1.site-title,
.section-title   { font-weight: 400; }

input[type="checkbox"]::before,
.notification h5 { font-weight: 700; }

/*------------------------------------------------------------------------------
|	font featrues
|-----------------------------------------------------------------------------*/

.section-title .count::before,
.section-title .count span,
.numeric,
table.adjust-list,
table.flashd_data-list,
.target_amount-list,
.target_amount-list input {
	font-feature-settings: 'tnum', 'ss01';
}

/*------------------------------------------------------------------------------
|   hidden elements
|-----------------------------------------------------------------------------*/

.sp-only,
#menu-toggle,
.navi-form > *.hidden,
html.logged-in-none .site-header,
.section-adjust .section-title .count:empty::before,
.site-header .menu-container > .menu > .menu-item > a > ion-icon:not([name="chevron-down-outline"]),
.section > .section-title + * ul li li::before,
.section .menu-item-has-children ion-icon[name="chevron-down-outline"],
.section .menu-admin > li:nth-child(3n+1)::before,
.section .menu-store > li:nth-child(3n+1)::before,
.radio-group > li::before,
.store-permission-wrap .operators > li::before,
.operator-permission-wrap .stores > li::before,
.object-search .stores .store-list li::before,
optgroup::before,
.adjust-wrap .empty ~ * { display: none; }

input[type="month"][required]::-webkit-clear-button,
input[type="date"][required]::-webkit-clear-button { display: none; }
input[type="month"][required]::-ms-clear,
input[type="date"][required]::-ms-clear            { display: none; }

/*------------------------------------------------------------------------------
|   ionicons
|-----------------------------------------------------------------------------*/

ion-icon {
	pointer-events: none;
	position: relative;
	display: inline-block;
	width: var(--width-icon);
	height: var(--width-icon);
	vertical-align: text-top;
}

ion-icon.prefix {
	margin-right: .25em;
}

ion-icon.suffix {
	margin-left: .25em;
}

/*------------------------------------------------------------------------------
|   smooth show/hide
|-----------------------------------------------------------------------------*/

#overlay, #overlay_message,
.site-header .sub-menu,
.section .menu-admin > li > a.ready::after,
#modal, #modal_message,
.modal,
.section-adjust .tables > div,
.section-title .count.search-result[search-result="0"] {
	pointer-events: none;
	visibility: hidden;
	opacity: 0;
	transition:
		visibility 0s var(--tran-dura),
		background-color var(--tran-dura) 0s,
		opacity var(--tran-dura) 0s,
		transform var(--tran-dura) 0s;
}

body[aria-modal-opened] #overlay, body[aria-modal_message-opened] #overlay_message,
.site-header .menu-item-has-children:hover > .sub-menu,
.section .menu-admin > li > a::after,
body[aria-modal-opened="modal"] #modal,
body[aria-modal_message-opened="modal_message"] #modal_message,
.modal.show,
.section-adjust .tables > div.current {
	--tran-delay-to-show: 0s;
	pointer-events: auto;
	visibility: visible;
	opacity: 1;
	transition:
		visibility 0s var(--tran-delay-to-show),
		background-color var(--tran-dura) var(--tran-delay-to-show),
		opacity var(--tran-dura) var(--tran-delay-to-show),
		transform var(--tran-dura) var(--tran-delay-to-show);
}

/*------------------------------------------------------------------------------
|   bg color
|-----------------------------------------------------------------------------*/

#modal,
#modal_message,
.modal,
.notification,
.site-header,
.site-header .sub-menu,
.section-title,
table.list thead th,
table.list th:first-child,
table.list td:first-child:not([rowspan]),
table.list td:first-child[rowspan] + td,
table.adjust-list-detail td:first-child[rowspan],
table.adjust-list-detail td:first-child[rowspan] + td,
table.adjust-list-detail tr.has-rowspan td:nth-child(2) ~ *,
table.adjust-list-detail tr:not(.has-rowspan) td:nth-child(1) ~ *,
table.list tbody tr th,
table.list tbody tr td,
table.hilight-current-row-on-hover tbody tr th,
table.hilight-current-row-on-hover tbody tr td,
table.even-odd-stripes tbody tr th,
table.even-odd-stripes tbody tr td,
table.list tfoot tr > *,
.table.grid .cell,
.object-search .stores .store-list,
.object-search .stores .store-list li:first-child,
.list > .header > div {
	background-color: hsla(var(--hsl-bg),var(--a-bg,0));
}

#overlay, #overlay_message,
#modal .close,
#modal_message .close,
input:not([type="radio"]), select, textarea, div.choices,
.validate [type="submit"],
.site-header .menu-item-has-children,
.site-header .menu > li > a,
.site-header .menu-container > .logout,
.site-header .menu-container > * + *::before,
.site-header .sub-menu a,
.section .sub-menu a,
.section .menu-store a,
h1.site-title small,
table.list th div:empty::before,
table.list td:empty::before,
.table.grid > .row:not([class*="hidden-by-"]) :empty::before,
.radio-wrap label div,
.radio-wrap label :checked + div,
.target_amount-list > div,
.object-search button[onclick*="getObjects"]:not(.back) {
	--a-bg: 0;
	background-color: hsla(var(--hsl-txt),var(--a-bg));
}

.radio-wrap label :checked + div {
	background-color: hsla(var(--hsl-link),var(--a-bg));
}

input:not([type="radio"]), select, textarea, div.choices,
.target_amount-list > div:focus-within,
.target_amount-list > .entry:hover,
.radio-wrap label div {
	--a-bg: .03;
}

#modal .close:hover,
#modal_message .close:hover,
.site-header .menu-item-has-children:hover,
.site-header .menu > li > a:hover,
.site-header .menu-container > .logout:hover,
.site-header .sub-menu a:hover,
.section .sub-menu a:hover,
.site-header .menu-store a:hover,
.section .menu-store a:hover {
	--a-bg: .05;
	transition: none;
}

input:not([type="radio"]):focus,
select:focus,
textarea:focus,
.store-permission-wrap .operators label:hover span,
.operator-permission-wrap .stores label:hover span,
.store-permission-wrap .operators :checked ~ span,
.operator-permission-wrap .stores :checked ~ span{
	--a-bg: .07;
}

#modal .close:active,
#modal .close:active:hover,
#modal_message .close:active,
#modal_message .close:active:hover,
.site-header .menu-container > .logout:active,
.site-header .menu-container > .logout:active:hover,
.site-header .menu > li:not(.menu-item-has-children) > a:active,
.site-header .menu > li:not(.menu-item-has-children) > a:active:hover,
.site-header .sub-menu a:active,
.site-header .sub-menu a:active:hover,
.section .sub-menu a:active,
.section .sub-menu a:active:hover,
.store-permission-wrap .operators label:active span,
.operator-permission-wrap .stores label:active span,
.store-permission-wrap .operators label:active:hover span,
.operator-permission-wrap .stores label:active:hover span,
.radio-wrap label :checked + div {
	--a-bg: .1;
}

#overlay, #overlay_message,
table.list th div:empty::before,
table.list td:empty::before,
.table.grid > .row:not([class*="hidden-by-"]) :empty::before {
	--a-bg: .15;
}

.validate [type="submit"],
.site-header .menu-container > * + *::before,
.object-search button[onclick*="getObjects"]:not(.back) {
	--a-bg: .25;
}

.notification,
.site-header,
.site-header .sub-menu,
h1.site-title small,
.section-title,
table.list thead th,
table.list th:first-child,
table.list td:first-child:not([rowspan]),
table.list td:first-child[rowspan] + td,
table.adjust-list-detail td:first-child[rowspan],
table.adjust-list-detail td:first-child[rowspan] + td,
table.adjust-list-detail tr.has-rowspan:hover td:nth-child(2) ~ *,
table.adjust-list-detail tr:not(.has-rowspan):hover td:nth-child(1) ~ *,
table.list tbody tr:hover th,
table.list tbody tr:hover td,
table.hilight-current-row-on-hover tbody tr:hover th,
table.hilight-current-row-on-hover tbody tr:hover td,
table.even-odd-stripes tbody tr:nth-child(even) th,
table.even-odd-stripes tbody tr:nth-child(even) td,
table.list tfoot tr > *,
.object-search .stores .store-list li:first-child,
.object-search .stores .store-list,
.list > .header > div,
.table.grid .cell,
#modal, #modal_message,
.modal {
	--a-bg: 1;
}

table.list thead th,
table.master-list th:first-child,
table.master-list td:first-child,
table.adjust-list-detail td:first-child,
table.adjust-list-detail td:first-child[rowspan],
table.adjust-list-detail td:first-child[rowspan] + td,
table.adjust-list-detail tr.has-rowspan:hover td:nth-child(2) ~ *,
table.adjust-list-detail tr:not(.has-rowspan):hover td:nth-child(1) ~ *,
table.list tbody tr:hover th,
table.list tbody tr:hover td,
table.hilight-current-row-on-hover tbody tr:hover th,
table.hilight-current-row-on-hover tbody tr:hover td,
table.even-odd-stripes tbody tr:nth-child(even) th,
table.even-odd-stripes tbody tr:nth-child(even) td,
table.list tfoot tr > *,
.list > .header > div,
.table.grid > .header,
.table.grid > .footer {
	--l-bg-: -2.5%;
}

.table.grid .body .row:hover > .cell {
	--l-bg-: -1.5%;
}

/*------------------------------------------------------------------------------
|   grid layout
|-----------------------------------------------------------------------------*/

.grid {
	display: grid;
}

.table.grid {
  grid-template-columns: repeat(var(--col), min-content);
  width: min-content;
}

.table.grid .row {
  display: contents;
}

.table.grid .cell {
  --tran-prop: none;
	--color-bd: #e8e8e8;
  position: relative;
  padding: var(--padding-input) calc(var(--padding-input) * 2);
  min-width: 7em;
  max-width: 20em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.table.grid .ellipsis-cell {
  display: inline-block;
  max-width: 18em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.table.grid > .header .cell[aria-sort-attr] {
  padding-right: calc(var(--padding-input) * 2 + 1.6em);
}

.sort-arrows {
  position: absolute;
  right: calc(var(--padding-input) * 2);
  margin-left: 1em;
  padding: 0;
  display: inline-block;
  width: .6em;
  height: var(--line-height-em);
}

.sort-arrows svg {
  position: absolute;
  top: calc(50% - .45em);
  left: 0;
  opacity: 0;
}

:not([class*="sort-"]) .sort-arrows svg:not([class*="sort-"]),
.sort-0-9 .sort-arrows svg.sort-0-9,
.sort-9-0 .sort-arrows svg.sort-9-0 {
  opacity: 1;
}

.table.grid > .header .cell {
	--color-bd: #e0e0e0;
	border-bottom-width: 1px;
}

.table.grid > .footer .cell {
	--color-bd: #e0e0e0;
	border-top-width: 1px;
}

:not(.table-wrap) > .table.grid.bordered {
	border-width: 1px;
}

.table.grid.bordered .cell + .cell {
	border-left-width: 1px;
}

.table.list.grid.bordered > .row .cell:nth-child(1) + .cell {
	border-left-width: 0;
}

.table.grid.bordered > .body > .row + .row .cell {
	border-top-width: 1px;
}

/*------------------------------------------------------------------------------
|   form elements
|-----------------------------------------------------------------------------*/

input, textarea {
	box-shadow: none;
}

input[type="checkbox"] {
	--a-bg: .1;
	--radius-btn: .2em;
	--tran-dura: .07s;
	cursor: pointer;
	margin-top: .12em;
	margin-right: .4em;
	padding: 0;
	width: 1.25em;
	height: 1.25em;
	line-height: 1.2;
	text-align: center;
	vertical-align: middle;
}

input[type="checkbox"]:checked {
	background-color: var(--color-link);
}

input[type="checkbox"][disabled] {
	pointer-events: none;
}

input[type="checkbox"][disabled]:checked {
	background-color: var(--color-txt);
	opacity: .3;
}

input[type="checkbox"]::before {
	content: '\2713'; /* ✓ */
	opacity: 0;
}

label.disabled {
	cursor: not-allowed;
}

label.disabled > * {
	--a-bg: .06;
	pointer-events: none;
}

label:not(.disabled):hover input[type="checkbox"] {
	--a-bg: .15;
}

label:not(.disabled):hover input[type="checkbox"]::before,
input[type="checkbox"]:checked::before {
	opacity: 1;
}

select {
	position: relative;
	padding-right: 3em;
}

select::after {
	content: '\2303';
	position: absolute;
	top: var(--padding-input);
	right: calc(var(--padding-input) * 2);
	transform: rotate(180deg);
}

.nav-tab-wrap {
	margin-bottom: calc(1rem * var(--line-height));
}

.nav-radio-wrap label + label,
.nav-tab-wrap > * + * {
	margin-left: 2em;
}

.nav-radio-wrap label div,
.nav-tab-wrap > * {
	white-space: nowrap;
	border-bottom-width: 2px;
	border-bottom-color: transparent;
}

.nav-radio-wrap label :checked + div,
.nav-tab-wrap > *.current {
	pointer-events: none;
	border-bottom-color: currentColor;
}

.nav-tab-wrap > *:hover {
	text-decoration: none !important;
}

.radio-wrap label div {
	padding: var(--padding-input) calc(var(--padding-input) * 2);
}

.radio-wrap label:first-child div {
	border-radius: var(--radius-btn) 0 0 var(--radius-btn);
}

.radio-wrap label:last-child div {
	border-radius: 0 var(--radius-btn) var(--radius-btn) 0;
}

/*------------------------------------------------------------------------------
|   table elements
|-----------------------------------------------------------------------------*/

.search-result-label {
	margin-bottom: .6em;
}

.list {
	--padding-list: .5em;
	--padding-input: var(--padding-list);
	width: auto;
}

.table-wrap,
.section-target_amount .content-wrap > .input_table-wrap:not(:empty) {
	overflow-anchor: none;
	margin: 0 auto 1.6rem;
	display: inline-block;
	max-width: 100%;
	max-height: calc(100vh - 10em);
	overflow: auto;
	border-width: 1px;
	border-radius: var(--radius-btn);
}

/* .summary .adjust-wrap .table-wrap,
.section-target_amount .content-wrap > .input_table-wrap:not(:empty) {
	min-height: 10em; */
	/* max-height: calc(100vh - 26.6em);
} */

.detail .adjust-wrap .table-wrap {
	display: inline-block;
	min-height: 10em;
	/* max-height: calc(100vh - 22em); */
}

table.list thead th,
table.list th:first-child,
table.list td:first-child,
table.list td:first-child[rowspan] + td,
table.list tfoot tr > *,
.table.list.grid > .header > .cell,
.table.list.grid > .row .cell:nth-child(1),
.table.list.grid > .footer > .cell {
	position: sticky;
	position: -webkit-sticky;
	z-index: 1;
}

table.list thead {
	position: relative;
	z-index: 2;
}

table.list thead th,
.table.list.grid > .header > .cell {
	top: 0;
	z-index: 2;
}

table.list thead th:first-child,
.table.list.grid > .header > .cell:nth-child(1),
.table.list.grid > .footer > .cell:nth-child(1) {
	z-index: 3;
}

.table.list.grid .cell:nth-child(1) {
	left: 0;
	border-right: 1px solid #d5d5d5;
}

.table.list.grid > .footer > .cell {
	bottom: 0;
}

table.list thead tr:nth-child(2) th {
	top: calc(var(--line-height-em) + var(--padding-list) * 2);
}

table.list thead tr:last-child th {
	box-shadow: inset 0 -1px var(--color-bd);
}

table.list thead tr:last-child th:first-child {
	box-shadow: inset -1px 0 var(--color-bd), inset 0 -1px var(--color-bd);
}

table.list th,
table.list td,
.list > div > div {
	padding: var(--padding-list) calc(var(--padding-list) * 2);
	min-width: 7em;
	max-width: 20em;
	text-align: left;
	line-height: calc(1px * var(--line-height-table-list));
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	transition: none;
}

table.list.tmr th,
table.list.tmr td {
	border-width: 0 1px 1px 0;
}

table.list.tmr tr:last-child th,
table.list.tmr tr:last-child td {
	border-bottom-width: 0;
}

table.list.tmr th:last-child,
table.list.tmr td:last-child,
table.list.tmr th:first-child,
table.list.tmr thead tr:last-child th:first-child {
	border-right-width: 0;
}

table.list.tmr thead th {
	text-align: center;
}

table.list th.text-align-right,
table.list td.text-align-right,
.list > div > div.text-align-right {
	text-align: right;
}

table.list th:first-child,
table.list td:first-child {
	width: 3.5em;
}

table.list th:first-child,
table.list td:first-child:not([rowspan]),
table.list td:first-child[rowspan] + td {
	left: 0;
}

table.list tr.has-rowspan > td:not([aria-value-raw]) {
	/* box-shadow: inset 0 1px var(--color-bd); */
}

table.list td:first-child:not([rowspan]) {
	box-shadow: inset -1px 0 var(--color-bd);
}

table.list tfoot td:first-child:not([rowspan]) {
	box-shadow: inset -1px 0 var(--color-bd),0 -1px var(--color-bd);
}

table.master-list th:first-child,
table.master-list td:first-child,
table.adjust-list-summary th:first-child,
table.adjust-list-summary td:first-child {
	left: 0;
	padding: var(--padding-list);
	min-width: 3em;
	text-align: center;
}

table.list tr:not([class*="hidden-by-"]) th div:empty::before,
table.list tr:not([class*="hidden-by-"]) td:empty::before,
.table.list.grid > .row:not([class*="hidden-by-"]) :empty::before {
	content: '';
	width: 61.8%;
	max-width: 3em;
	height: 2px;
	display: inline-block;
	vertical-align: middle;
}

table.list input[type="checkbox"] {
	margin: 0 auto;
}

table.list th.has-filter-search {
	padding: 0;
}

table.list input[name*="_filter_search_deleted"] {
	display: none;
}

table.list input[name*="_filter_search_deleted"]:checked ~ span {
	--a-txt: 1;
	color: var(--color-txt);
}

table.list .filter-search-wrap input {
	--a-bg: 0;
	--a-txt: 1;
	color: var(--color-txt);
	padding: var(--padding-list) calc(var(--padding-list) * 2);
	min-width: 7em;
	border-radius: 0;
	box-shadow: 1px 0 var(--color-bd), -1px 0 var(--color-bd);
}

table.list.list-operator .filter-search-wrap input {
	min-width: 8em;
}

table.list .filter-search-wrap input[placeholder="店舗名（かな）"] {
	min-width: 9em;
}

table.list .filter-search-wrap input:focus {
	--a-bg: .04;
}

table.list .filter-search-wrap input:not(:placeholder-shown) {
	--a-bg: .04;
	padding-right: calc(1em + var(--width-icon));
}

table.list .filter-search-wrap ::-webkit-input-placeholder { opacity: .7; }
table.list .filter-search-wrap ::-moz-placeholder          { opacity: .7; }
table.list .filter-search-wrap :-ms-input-placeholder      { opacity: .7; }
table.list .filter-search-wrap :-moz-placeholder           { opacity: .7; }

table.list .filter-search-wrap span {
	cursor: pointer;
	margin-left: -2em;
	visibility: hidden;
	opacity: 0;
	transition: none;
}

table.list .filter-search-wrap input:not(:placeholder-shown) ~ span {
	visibility: visible;
	opacity: 1;
}

table.list tr[class*="hidden-by-"] {
	display: none;
}

table.list tfoot tr > * {
	bottom: 0;
	z-index: 1;
	box-shadow: inset 0 1px var(--color-bd);
}

table.list tfoot tr > *:first-child {
	box-shadow: inset -1px 0 var(--color-bd), inset 0 1px var(--color-bd);
	z-index: 2;
}

table.adjust-list-summary th:nth-child(4) ~ *,
table.adjust-list-summary td:nth-child(3) ~ *,
table.adjust-list-detail th:nth-child(1) ~ *,
table.adjust-list-detail tr.has-rowspan td:nth-child(2) ~ *,
table.adjust-list-detail tr:not(.has-rowspan) td:nth-child(1) ~ * {
	text-align: right;
	transition: none;
}

table.adjust-list-detail td:first-child[rowspan],
table.adjust-list-detail td:first-child[rowspan] + td,
table.adjust-list-detail td:first-child[colspan] {
	box-shadow: inset 0 1px var(--color-bd), inset -1px 0 var(--color-bd);
}

table.adjust-list-detail tbody > tr:first-child td:first-child[colspan] {
	box-shadow: inset -1px 0 var(--color-bd);
}

table.adjust-list-detail td:first-child[rowspan] + td {
	box-shadow: inset 0 1px var(--color-bd), inset -1px 0 var(--color-bd);
}

table.adjust-list-detail td:first-child[rowspan] {
	left: 0;
	padding: 0;
	overflow: visible;
	box-shadow: 0 1px var(--color-bd), inset -1px 0 var(--color-bd), inset 0 1px var(--color-bd);
}

table.adjust-list-detail td:first-child[rowspan] + td,
table.adjust-list-detail td:first-child:not([rowspan]):not([colspan]) {
	left: 7em;
}

table.adjust-list-detail td:first-child[rowspan] span {
	position: sticky;
	position: -webkit-sticky;
	top: calc((var(--line-height-em) + var(--padding-list) * 2) * 2 - var(--padding-list));
	padding: var(--padding-list) calc(var(--padding-list) * 2);
	display: block;
}

.load-more td {
	padding-bottom: 2em !important;
}

.load-more a {
	position: absolute;
	bottom: 8em;
	left: 50%;
	padding: .5em 1.25em;
	padding-left: .75em;
	text-align: center;
	background-color: var(--color-bg);
	border-width: 1px;
	border-color: var(--color-link);
	border-radius: 10em;
	box-shadow: var(--shadow-modal);
	transform: translateX(-50%);
}

.load-more a:hover {
	text-decoration: none;
}

.load-more a svg.arrow {
	position: relative;
	top: .125em;
	width: auto;
}

.load-more a svg.feather-loader-active {
	color: var(--color-link);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	opacity: 0;
}

body.ajax-loading .load-more a {
	color: transparent;
}

body.ajax-loading .load-more a svg.feather-loader-active {
	opacity: 1;
}

/* .adjust-wrap .button {
	margin-top: 1.6em;
	min-width: 7em;
} */

.grid-wrap {
  overflow-anchor: none;
  display: inline-block;
  max-width: 100%;
  max-height: calc(100vh - 10em);
  overflow: auto;
  border-radius: var(--radius-btn);
  border-width: 1px;
}

/*------------------------------------------------------------------------------
|   animation
|-----------------------------------------------------------------------------*/

@keyframes rotate {
	to { transform: rotate(360deg); }
}

/*------------------------------------------------------------------------------
|   layout
|-----------------------------------------------------------------------------*/

body {
	overflow-anchor: none;
}

.inner {
	padding: var(--line-height-em) calc(var(--line-height-em) * 2);
}

.site {
	min-height: calc(100vh - var(--height-wpadminbar-px));
}

.site-content {
	margin-left: auto;
	margin-right: auto;
	padding: var(--line-height-em) calc(var(--line-height-em) * 2) calc(var(--line-height-em) * 2);
	width: 100%;
	max-width: calc(1rem / var(--font-size-html) * var(--max-width-content));
}

.content-area {
	width: 100%;
}

.entry-content > .section:last-child {
	margin-bottom: 0;
}

/*------------------------------------------------------------------------------
|   notifications
|-----------------------------------------------------------------------------*/

@keyframes notification-show {
	0% {
		visibility: hidden;
		opacity: 0;
		transform: var(--tran-from);
	}

	1% {
		visibility: visible;
	}

	100% {
		opacity: 1;
		transform: var(--tran-to);
	}
}

@keyframes notification-hide {
	0% {
		visibility: visible;
		transform: var(--tran-to);
	}

	99% {
		visibility: visible;
	}

	100% {
		visibility: hidden;
		opacity: 0;
		transform: var(--tran-from);
	}
}

.notification {
	--margin: 1.6rem;
	--stroke-width: 0;
	position: fixed;
	margin: 0 !important;
	padding: .8rem;
	background-clip: padding-box;
	width: 30rem;
	max-width: calc(100% - var(--margin) * 2);
	transform: var(--tran-from);
	border-width: 1px;
	border-radius: var(--radius-btn);
	box-shadow: var(--shadow-modal);
	z-index: 100;
	animation-name: notification-show;
	animation-duration: var(--tran-dura);
	animation-fill-mode: forwards;
	animation-timing-function: ease-out;
}

.notification.hide {
	animation-name: notification-hide;
}

.notification.top {
	top: var(--margin);
}

.notification.right {
	right: var(--margin);
}

.notification.bottom {
	bottom: var(--margin);
}

.notification.left {
	left: var(--margin);
}

.notification.middle {
	top: 50%;
}

.notification.center {
	left: 50%;
}

.notification.top.left,
.notification.middle.left {
	--tran-from: translate(-5rem,0);
	--tran-to: none
}

.notification.top.center,
.notification.middle.center {
	--tran-from: translate(-50%,-5rem);
	--tran-to: translate(-50%,0);
}

.notification.top.right,
.notification.middle.right {
	--tran-from: translate(5rem,0);
	--tran-to: none;
}

.notification.bottom.left {
	--tran-from: translate(0,5rem);
	--tran-to: none;
}

.notification.bottom.center {
	--tran-from: translate(-50%,5rem);
	--tran-to: translate(-50%);
}

.notification.bottom.right {
	--tran-from: translate(0,5rem);
	--tran-to: none;
}

.notification h5:not(:only-child) {
	margin-bottom: .25em;
}

.notification > div > .icon {
	--width-icon: 2.4rem;
}

.notification.error > div > .icon {
	transform: rotate(45deg);
}

.notification > div > .icon .bg         { fill: var(--color-link); }
.notification.success > div > .icon .bg { fill: var(--color-logo-line); }
.notification.warning > div > .icon .bg { fill: var(--color-link); }
.notification.error > div > .icon .bg   { fill: var(--color-accent); }

.notification .message {
	margin: 0 1rem;
}

.notification .close,
.notification .close .icon ~ span {
	--width-close: 2rem;
	width: var(--width-close);
	height: var(--width-close);
	line-height: var(--width-close);
}

.notification .close {
	cursor: pointer;
	position: relative;
	overflow: hidden;
}

.notification .close .icon {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	opacity: .5;
}

.notification .close:hover .icon { opacity: .75; }
.notification .close:active:hover .icon,
.notification .close:active .icon { opacity: 1; }

.notification .close .icon ~ span {
	display: none;
	pointer-events: none;
	text-align: center;
}

.notification .close:hover .icon ~ span {
	opacity: 0;
}

/*------------------------------------------------------------------------------
|   modal
|-----------------------------------------------------------------------------*/

#modal, #modal_message,
.modal {
	pointer-events: none;
	position: fixed;
	top: 50%;
	left: 50%;
	margin: 0 !important;
	padding: 0 4em !important;
	width: 100%;
	max-width: 42em;
	max-height: 90vh;
	overflow: auto;
	transform: translate(-50%, calc(-50% + 16em));
	border-width: 1px;
	border-radius: calc(var(--radius-btn) * 1.618);
	box-shadow: var(--shadow-modal);
	/* z-index: 600; */
}

#modal,
.modal {
	z-index: 600;
}

#modal_message{
	z-index: 800;
}

#modal.wide{
	width: fit-content;
	min-width: 40vw;
	max-width: 90vw;
}

#overlay, #overlay_message{
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	/* z-index: 500; */
}

#overlay {
	z-index: 500;
}

#overlay_message {
	z-index: 700;
}

body[aria-modal-opened="modal"] #modal,
body[aria-modal_message-opened="modal_message"] #modal_message,
.modal.show {
	pointer-events: auto;
	transform: translate(-50%, -50%);
	/* z-index: 600; */
}

#modal .close,
#modal_message .close {
	--width-icon: 1.6em;
	--stroke-width-mark: 24;
	cursor: pointer;
	position: absolute;
	top: 1.2rem;
	right: 1.6rem;
	padding: .4em;
	width: 2em;
	height: 2em;
	border-radius: var(--radius-btn);
	z-index: 10;
}

.store-permission-wrap h3 .count,
.operator-permission-wrap h3 .count {
	font-size: calc(1em / 1.25);
}

.radio-group,
.store-permission-wrap .operators,
.operator-permission-wrap .stores {
	padding: 0;
}

.store-permission-wrap .operators .name-wrap,
.operator-permission-wrap .stores .name-wrap {
	padding: .4em 0;
}

.store-permission-wrap .operators .name-wrap span,
.operator-permission-wrap .stores .name-wrap span {
	margin-left: 1em;
}

.store-permission-wrap .operators .radio-wrap,
.operator-permission-wrap .stores .radio-wrap
.auto-reload-sw {
	margin-left: auto;
	padding-left: 2em;
	background-size: 1.25em 1.25em;
	background-position: left 50%;
}

.store-permission-wrap .operators .radio-wrap.updating,
.operator-permission-wrap .stores .radio-wrap.updating,
.list > div > div.input label.updating div,
.target_amount-list > div.monthly-sum.updating .number,
.target_amount_options-list .control.updating,
.auto-reload-sw.updating {
	background-image: var(--svg-feather-loader-active);
}

.store-permission-wrap .operators .radio-wrap.updating label,
.operator-permission-wrap .stores .radio-wrap.updating label,
.auto-reload-sw.updating {
	pointer-events: none;
	opacity: .5;
	transition: none;
}

.message-modal-wrap, .confirm-modal-wrap {
	padding-bottom: 2.0em;

	.title{
		margin-top: 1.4em;
		margin-bottom: 1.4em;
		font-size: 1.25em;
		text-align: center;
	}

	.message{
		margin-top: 1.4em;
		margin-bottom: 2.0em;
	}

	.button-wrap{
		display: flex;
		justify-content: right;

		.ok-button{
			margin-right: 1.6em;   
		}

		.cancel-button, .close-button{
			--hs-btn-bg: 0, 0%; 
			--l-btn-bg: 60%;
		}
	}
}

/*------------------------------------------------------------------------------
|   navi - login
|-----------------------------------------------------------------------------*/

.navi-form,
.store-permission-wrap,
.operator-permission-wrap {
	--left-space: 11rem;
	--gap-width: 3.8rem;
	--form-height: 16rem;
	margin: 2rem auto 3rem;
	min-width: 32rem;
	max-width: 36rem;
}

.navi-form > *,
.radio-group > li,
.store-permission-wrap .operators > li,
.operator-permission-wrap .stores > li {
	position: relative;
	margin-bottom: 1.4em;
	display: inline-flex;
	width: 100%;
	flex-wrap: wrap;
}

.navi-form .form-title,
.store-permission-wrap h3,
.operator-permission-wrap h3 {
	position: -webkit-sticky !important;
	position: sticky !important;
	top: 0;
	margin-top: 0;
	margin-bottom: 1.4em;
	padding-bottom: .4em;
	background-image: linear-gradient(var(--color-bg) calc(100% - .4em), hsla(var(--hsl-bg),0));
	text-align: center;
	line-height: 2.6;
	display: block;
	z-index: 1;
}

.navi-form > label.disabled {
	cursor: not-allowed;
}

.navi-form > label.disabled input:not([type="checkbox"]) {
	opacity: .5;
}

.navi-form > label.checkbox-wrap.disabled {
	opacity: .5;

	input{
		--a-bg: .6;
	}
}

.navi-form > label > input:not([type="checkbox"]),
.navi-form > label > select,
.navi-form > label > div.choices {
	width: calc(100% - var(--left-space));
}

.select-wrap {
	position: relative;
}

select ~ .arrow {
	position: absolute;
	top: .7em;
	right: .8em;
}

.navi-form > label > .subject,
.navi-form .submit-wrap .icons {
	pointer-events: none;
	position: relative;
	padding-top: var(--padding-input);
	padding-right: var(--gap-width);
	order: -1;
	width: var(--left-space);
	text-align: right;
	white-space: nowrap;
}

.navi-form [aria-required] ~ .subject::before,
.navi-form [aria-required_dummy] ~ .subject::before {
	--font-size-ratio: 1.3;
	content: '\2022';
	font-size: calc(1em * var(--font-size-ratio));
	color: var(--color-accent);
	position: absolute;
	right: 1.2em;
	line-height: calc(var(--line-height) / var(--font-size-ratio));
}

.navi-form [aria-required]:valid ~ .subject::before,
.navi-form [aria-required]:disabled ~ .subject::before {
	opacity: 0;
}

.navi-form > label.checkbox-wrap,
.navi-form .description {
	margin-left: var(--left-space);
	width: calc(100% - var(--left-space));
}

.navi-form .description {
	margin-top: .75em;
}

.navi-form .checkbox-wrap .description {
	margin-left: 0;
	width: 100%;
}

.navi-form > .submit-wrap {
	margin-top: 1rem;
}

.navi-form [type="submit"] {
	width: calc(100% - var(--left-space));
}

.validate .submit-wrap {
	position: relative;
	cursor: not-allowed;
}

.navi-form .submit-wrap .icon,
.navi-form .submit-wrap .nothing-changed,
.navi-form .submit-wrap .not-found {
	--width-icon: 1.4em;
	position: absolute;
	top: calc(50% - calc(var(--width-icon) / 2));
	right: var(--gap-width);
	opacity: 0;
}

body.ajax-loading {
	cursor: progress;
}

body.ajax-loading .navi-form .submit-wrap .icon.ion-alert-circle,
body.ajax-loading .navi-form .submit-wrap .icon.ion-checkmark-circle,
body.ajax-loading .navi-form.error .submit-wrap .icon.ion-alert-circle,
body.ajax-loading .navi-form .submit-wrap .icon.ion-checkmark-circle {
	opacity: 0;
}

body.ajax-loading .navi-form .submit-wrap .icon.feather-loader-active,
.navi-form.error .submit-wrap .icon.ion-alert-circle,
.navi-form.success .submit-wrap .icon.ion-checkmark-circle {
	opacity: 1;
}

.navi-form.edit-form.nothing-changed .submit-wrap .nothing-changed,
.navi-form.edit-form.not-found .submit-wrap .not-found {
	opacity: .6;
}

.validate [type="submit"] {
	--a-bg: .25;
	--bg-width: calc(100% / var(--required) * var(--valid));
	pointer-events: none;
}

.validate .login-submit [type="submit"] {
	margin-left: var(--left-space);
}

.validate.ready .submit-wrap {
	cursor: auto;
}

.validate.ready [type="submit"] {
	pointer-events: auto;
}


input.error:not([type="radio"]),select.error,
.choices div#choice_groups.error, .choices div#choice_items.error  {
	background-color: hsla(var(--hsl-accent),.1);
}

input.updated:not([type="radio"]):not([type="checkbox"]),
input.updated[value][type="checkbox"],
input.color-picker.updated~div.sp-replacer,select.updated,
.choices div#choice_groups.updated,.choices div#choice_items.updated {
	background-color: hsla(var(--hsl-logo-line),.1);
}

/*------------------------------------------------------------------------------
|   site header
|-----------------------------------------------------------------------------*/

.site-header {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	background-clip: padding-box;
	border-bottom-width: 1px;
	box-shadow: var(--shadow-modal);
	z-index: 110;
}

.site-header a {
	display: block;
}

.main-navigation > .inner {
	padding-top: 0;
	padding-bottom: 0;
}

h1.site-title {
	margin: 0;
	padding: calc((var(--height-menubar) - var(--line-height-em)) / 2) 0;
}

h1.site-title a {
	padding-right: 1.5em;
	background-position: right 50%;
	background-size: 1em;
}

.ajax-loading h1.site-title a {
	background-image: var(--svg-feather-loader-active);
}

h1.site-title small {
	margin-left: .6em;
	padding: .15em .5em;
	border-radius: var(--radius-btn);
}

.site-header .menu-container {
	position: relative;
	margin-right: 0;
}

.site-header .menu-container > .menu {
	position: relative;
}

.site-header .menu-container > .user-menu {
	position: relative;
	margin-left: .8em;
	padding-left: .8em;
}

.site-header .menu-container > * + .logout {
	margin-left: 1.6em;
}

.site-header .menu-container > * + *::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 1px;
	height: 1.25em;
	transform: translateY(-50%);
}

.site-header .menu-container > * + .logout::before {
	left: -.8em;
}

.site-header .menu-container > .menu > .menu-item.current {
	box-shadow: inset 0 -2px var(--color-link);
}

.site-header .menu-container > .menu > .menu-item > a,
.site-header .menu-container > .logout {
	position: relative;
	padding: calc((var(--height-menubar) - var(--line-height-em)) / 2) 1em;
	z-index: 2;
}

.site-header .menu-container > .logout {
	padding-top: .2em;
	padding-bottom: .2em;
	border-radius: var(--radius-btn);
}

.site-header [name="chevron-down-outline"] {
	--width-icon: 1em;
	--stroke-width-mark: 40;
	top: .1em;
	margin-left: .2em;
}

.site-header :hover > a > [name="chevron-down-outline"] {
	transform: rotate(180deg);
}

.site-header .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	padding: .8em 0;
	border-width: 1px;
	border-top-color: transparent;
	border-radius: 0 0 var(--radius-btn) var(--radius-btn);
	box-shadow: var(--shadow-modal);
	z-index: 1;
}

.site-header .user-name > .sub-menu {
	left: auto;
	right: 0;
}

.site-header .sub-menu a,
.section .sub-menu a,
.section .menu-store a {
	padding: .4em 1rem;
	min-width: 11em;
	display: flex;
	align-items: center;
	justify-content: space-between;
	text-align: left;
	white-space: nowrap;
}

.site-header .sub-menu a ion-icon,
.section .sub-menu a ion-icon,
.section .menu-store a ion-icon {
	margin-left: 2em;
	order: 1;
}

/* .site-header .sub-menu {

} */

/*------------------------------------------------------------------------------
|   site content
|-----------------------------------------------------------------------------*/

.section {
	--width-gap: 5em;
	--column: 3;
	position: relative;
}

.section:not(:last-child) {
	padding-bottom: var(--width-gap);
}

.section-title {
	--offset-top: calc(var(--height-menubar) + .5em);
	margin-bottom: 1.2em;
	padding-bottom: .125em;
	border-bottom-width: 1px;
	z-index: 10;
}

.section-title .count {
	margin-right: 0;
	display: inline-block;
	vertical-align: baseline;
}

.section-title .count::before {
	margin-right: .25em;
}

.section-title .count span {
	margin: 0 .25em;
	vertical-align: baseline;
}

.section-title .count .total {
	margin-left: 0;
}

.section-title .filter-search {
	--width-icon: 1.6rem;
	margin-left: .4em;
	padding: 0 .4em 0 .6em;
	line-height: 1;
	display: none;
	box-sizing: content-box;
	border-left-width: 1px;
}

.section-title .filter-search .icon {
	vertical-align: middle;
}

.section > .section-title + * ul:not(.modal) {
	list-style: none;
	margin: 0;
	padding: 0;
}

.section .search-wrap .label {
	margin-right: 1em;
	white-space: nowrap;
}

.section .search-wrap .stores .label {
	margin-right: 0;
}

.section .search-wrap > * + * {
	margin-left: 1.2em;
	margin-right: 0;
	padding-left: 1.2em;
	border-left-width: 1px;
}

.object-search {
	margin-bottom: 1.6em;
}

.object-search .stores {
	position: relative;
}

.object-search .stores .label {
	padding: var(--padding-input) 0;
	min-width: 12em;
}

.object-search .stores .label div:last-child {
	margin-left: 1.6rem;
}

/* .object-search .stores .store-list {
	position: absolute;
	top: 100%;
	left: 0;
	padding: .8em 1.2em 0;
	min-width: 20em;
	width: 100%;
	max-height: 60vh;
	overflow: auto;
	transform-origin: top left;
	transform: scale(.8);
	border-width: 1px;
	border-radius: var(--radius-btn);
	box-shadow: var(--shadow-modal);
	z-index: 10;
}

.object-search .stores:hover .store-list {
	transform: none;
}*/

.object-search .stores .store-list {
	padding-bottom: 2rem !important;
	column-count: 2;
}

.object-search .stores .store-list li {
	margin-bottom: .8em;
}

.object-search .stores .store-list li:first-child {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	padding-top: 2rem;
	padding-bottom: .8em;
	width: 100%;
	column-span: all;
	border-bottom-width: 1px;
	z-index: 1;
}

.object-search .stores .store-list label {
	position: relative;
	padding: .1em 1.8em;
	padding-right: 0;
}

.object-search .stores .store-list label input {
	position: absolute;
	left: 0;
}

body.chrome .object-search .period input {
	padding-right: calc(var(--padding-input) * 1.5);
	min-width: 11.6em;
}

.object-search .period input {
	white-space: nowrap;
	width: 10em;
}

.object-search .period .period-sep {
	margin: 0 .8em;
}

.object-search .merge_pos,
.object-search .csv-wrap {
	padding-top: var(--padding-input);
	padding-bottom: var(--padding-input);
}

.object-search .button-wrap {
	margin-left: auto;
}

.object-search .csv-wrap {
	padding-left: 0;
	border-left-width: 0;
}

.object-search button[onclick*="getObjects"]:not(.back) {
	--bg-width: 0;
	pointer-events: none;
	min-width: 5em;
}

.object-search .csv-wrap button {
	pointer-events: none;
	background-color: transparent;
	opacity: .4;
}

.object-search button[onclick*="getObjects"] > span {
	margin-left: .618em;
}

.object-search.ready .button-wrap,
.object-search.ready ~ .button-wrap {
	cursor: auto;
}

.object-search.ready button[onclick*="getObjects"],
.object-search.ready ~ .button-wrap button[onclick*="getObjects"],
body.search-ok .object-search .csv-wrap button {
	--bg-width: 100%;
	pointer-events: auto;
	opacity: 1;
}

.object-search.adjust-wrap button[onclick*="getObjects"]:not(.back) {
	margin: 0;
	min-width: 7em;
}

.section-portal,
.section-flashd,
.section-admin,
.section-store,
.section-adjust,
.section-target_amount {
	opacity: 0;
	transition: none;
}

.section-adjust .adjust-wrap .button-wrap svg,
.target_amount-list .monthly-sum svg {
	width: calc(1em * 24 / var(--font-size-html));
	margin: .25em 1em 0 1.25em;
}

.section-adjust .adjust-wrap .button-wrap svg {
	opacity: .5
}

.target_amount-list .monthly-sum svg {
	margin: -.2em 1em 0 .1em;
}

/*------------------------------------------------------------------------------
|   responsive
|-----------------------------------------------------------------------------*/

@media (max-width: 960px) {
	html { font-size: calc(1vw * var(--font-size-html) * 100 / 960); }

	.section .menu-admin > li:nth-child(3n+1):not(:first-child)::before,
	.section .menu-store > li:nth-child(3n+1):not(:first-child)::before {
		display: block;
	}

	.section .menu-admin > li:nth-child(2n+1)::before,
	.section .menu-store > li:nth-child(2n+1)::before {
		display: none;
	}

	.section .menu-admin > li:not(:nth-child(2n+1)),
	.section .menu-store > li:not(:nth-child(2n+1)) {
		margin-left: var(--width-gap);
	}

	.section .menu-admin > li:nth-child(2n+1),
	.section .menu-store > li:nth-child(2n+1) {
		margin-left: 0;
	}

	.section .menu-admin > li,
	.section .menu-store > li {
		--column: 2;
	}

	.object-search .button-wrap {
		margin-left: auto;
	}
}

@media (max-width: 567px) {
	html { font-size: calc(1px * var(--font-size-html)); }

	/* .section-title .count                 { font-size: 0; } */
	.adjust-list-detail                   { font-size: .75em; }
	.section-adjust .section-title .count { font-size: 1rem; }
	.section-title                        { font-size: 1.4em; }

	.pc-only,
	.pc-only.flex:not(.wp-block-group),
	.site-header [name="chevron-down-outline"],
	.site-header .menu-container > * + ::before {
		display: none;
	}

	.sp-only {
		display: inline;
	}

	.site {
		min-height: unset;
	}

	.inner,
	.site-content {
		padding-left: var(--line-height-em);
		padding-right: var(--line-height-em);
	}

	.site-header {
		position: -webkit-sticky;
		position: sticky;
		z-index: 1000;
	}

	.navi-form {
		--left-space: 0;
	}

	.navi-form > label > .subject,
	.navi-form .submit-wrap .icons {
		padding-right: 3em;
		width: auto;
		padding-bottom: var(--padding-input);
	}

	.navi-form > label > input:not([type="checkbox"]),
	.navi-form > label > select,
	.navi-form > label > div.choices,
	.navi-form > label.checkbox-wrap,
	.navi-form .description,
	.navi-form [type="submit"] {
		width: 100%;
	}

	.login-form {
		margin: 0;
	}

	.site-header {
		--width-icon: 1.5em;
	}

	.site-header .menu-container,
	body[aria-modal-opened="main-menu"] #menu-toggle svg:first-child,
	#menu-toggle svg + svg {
		visibility: hidden;
		opacity: 0;
		transition:
			visibility 0s var(--tran-dura),
			background-color var(--tran-dura) 0s,
			opacity var(--tran-dura) 0s,
			transform var(--tran-dura) 0s;
	}

	body[aria-modal-opened="main-menu"] .site-header .menu-container,
	body[aria-modal-opened="main-menu"] #menu-toggle svg + svg {
		--tran-delay-to-show: 0s;
		visibility: visible;
		opacity: 1;
		transition:
			/* none; */
			visibility 0s var(--tran-delay-to-show),
			background-color var(--tran-dura) var(--tran-delay-to-show),
			opacity var(--tran-dura) var(--tran-delay-to-show),
			transform var(--tran-dura) var(--tran-delay-to-show);
	}

	#menu-toggle {
		cursor: pointer;
		position: relative;
		right: calc(0em - var(--width-icon) / 2);
		display: block;
		width: var(--height-menubar);
		height: var(--height-menubar);
		z-index: 1002;
	}

	#menu-toggle svg {
		position: absolute;
		top: calc(50% - var(--width-icon) / 2);
		left: calc(50% - var(--width-icon) / 2);
		width: var(--width-icon);
		height: var(--width-icon);
	}

	#menu-toggle svg + svg {
		transform: translateX(calc(var(--width-icon) / 2));
	}

	body[aria-modal-opened="main-menu"] #menu-toggle svg {
		transform: translateX(calc(0em - var(--width-icon) / 2));
	}

	body[aria-modal-opened="main-menu"] #menu-toggle svg + svg {
		transform: none;
	}

	.site-header .menu-container,
	.site-header .menu-container > .menu {
		flex-wrap: wrap;
	}

	.site-header .menu-container {
		--l-bg-: -3%;
		position: fixed;
		top: 0;
		right: 0;
		display: block;
		width: 22em;
		max-width: calc(100vmin - var(--line-height-em) * 2);
		height: 100%;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		background-color: var(--color-bg);
		transform: translateX(3em);
		border-left-width: 1px;
		box-shadow: var(--shadow-modal);
		z-index: 1001;
	}

	.site-header .menu-container::before {
		content: '';
		position: sticky;
		position: -webkit-sticky;
		top: 0;
		display: block;
		height: calc(var(--height-menubar) * 1.5);
		background-color: transparent;
		background-image: linear-gradient(hsla(var(--hsl-bg),.97) var(--height-menubar), hsla(var(--hsl-bg),0));
		z-index: 100;
	}

	body[aria-modal-opened="main-menu"] .site-header .menu-container {
		transform: none;
	}

	.site-header .menu-container::before,
	.site-header .menu-container > .menu,
	.site-header .menu-container > .menu li,
	.store-permission-wrap .operators .name-wrap,
	.operator-permission-wrap .stores .name-wrap,
	.object-search .stores,
	/* .object-search .period .label, */
	.object-search .button-wrap,
	.object-search button[onclick*="getObjects"] {
		width: 100%;
	}

	.site-header .menu-container > .menu + .menu {
		margin-top: 2em;
	}

	.site-header .menu-container > .menu:last-child {
		margin-bottom: 3em;
	}

	.site-header .menu-container .menu-item {
		--l-bg-: 0%;
		background-color: var(--color-bg);
		border-width: 1px 0;
	}

	.site-header .menu-container .menu-item + .menu-item {
		border-top-width: 0;
	}

	.site-header .menu-container .menu-item.menu-item-has-children {
		border: 0;
	}

	.site-header .menu-item-has-children:hover > .sub-menu {
		visibility: unset;
	}

	.site-header .menu-container > .menu > .menu-item.current {
		box-shadow: inset 2px 0 var(--color-link);
	}

	.site-header .menu-container > .menu > .menu-item > a,
	.site-header .sub-menu a {
		padding: calc((var(--height-menubar) - var(--line-height-em)) / 2) var(--line-height-em);
		display: flex;
		justify-content: space-between;
	}

	.site-header .menu-container > .menu > .menu-item > a > .icon:not([name="chevron-down-outline"]) {
		color: var(--color-link);
		order: 1;
		display: block;
		transform: scale(calc(1 * 20 / 24));
	}

	.site-header .menu > li > a:hover,
	.site-header .sub-menu a:hover {
		--a-bg: 0;
	}

	.site-header .menu-container > .menu > .menu-item.menu-item-has-children > a {
		padding-top: .4em;
		padding-bottom: .4em;
		opacity: .5
	}

	.site-header .sub-menu {
		position: relative;
		top: 0;
		left: auto;
		right: auto;
		padding: 0;
		visibility: inherit;
		opacity: 1;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		transition: none;
	}

	.site-header .menu-container > .user-menu {
		margin-top: 2em;
		margin-left: 0;
		padding-left: 0;
	}

	.site-content {
		padding-bottom: var(--line-height-em);
	}

	/* .section-title {
		position: -webkit-sticky !important;
		position: sticky !important;
		top: 4rem;
	} */

	.navi-form,
	.store-permission-wrap,
	.operator-permission-wrap {
		min-width: unset;
	}

	.section .menu-admin > li,
	.section .menu-store > li {
		--width-gap: 2em;
	}

	.section .sub-menu a,
	.section .menu-store a {
		padding-left: 0;
		padding-right: 0;
		min-width: unset
	}

	.object-search .stores .store-list,
	#modal, #modal_message,
	.modal {
		top: auto;
		bottom: 0;
		padding: 0 var(--line-height-em);
		border-width: 0;
		border-radius: 0;
	}

	#modal.wide{
		width: 100%;
		max-width: 42em;
	}

	.object-search {
		margin-bottom: 4em;
	}

	.object-search .stores .label {
		justify-content: flex-start;
	}

	.object-search .stores .label div:last-child {
		margin-left: 2em;
	}

	.object-search .stores .store-list {
		padding-bottom: 3em !important;
		column-count: unset;
	}

	.object-search .period,
	.object-search .merge_pos {
		margin-top: 1em;
		margin-left: 0 !important;
		padding-left: 0 !important;
		flex-wrap: wrap;
		border-left-width: 0 !important;
	}

	.object-search .period .label {
		margin: 0;
		/* margin-bottom: 1em; */
	}

	.object-search .period input {
		margin-left: auto;
		width: calc(100% - 6em);
		/* width: calc(50% - 1em); */
	}

	.object-search .period .period-sep {
		/* margin: 0;
		width: 2em; */
		margin-left: 6em;
		width: 100%;
		text-align: center;
	}

	.object-search .button-wrap {
		margin: 0;
		margin-top: 2em;
	}

	.detail .adjust-wrap .table-wrap {
		max-height: calc(100vh - 19em);
	}
}

@media (max-width: 567px) and (orientation: portrait) {
	.object-search .stores .store-list,
	#modal, #modal_message,
	.modal {
		bottom: 0;
		left: 50%;
		max-height: 75%;
		transform: translate(-50%,3em);
		border-top-width: 1px;
	}

	body[aria-modal-opened="store-list"] .object-search .stores .store-list,
	body[aria-modal-opened="modal"] #modal,
	body[aria-modal_message-opened="modal_message"] #modal_message,
	.modal.show {
		transform: translate(-50%,0);
	}
}

@media (max-width: 567px) and (orientation: landscape) {
	.object-search .stores .store-list,
	#modal, #modal_message,
	.modal {
		top: 0;
		left: auto;
		right: 0;
		max-width: 61.8vw;
		max-height: 100vh;
		transform: translateX(3em);
		border-left-width: 1px;
	}

	body[aria-modal-opened="store-list"] .object-search .stores .store-list,
	body[aria-modal-opened="modal"] #modal,
	body[aria-modal_message-opened="modal_message"] #modal_message,
	.modal.show {
		transform: none;
	}
}

@media (max-width: 414px) {
	html { font-size: calc(1vw * var(--font-size-html) * 100 / 414); }
}

@media (max-height: 414px) {
	.summary .adjust-wrap .table-wrap {
		max-height: calc(100vh - 12em);
	}

	.detail .adjust-wrap .table-wrap {
		max-height: calc(100vh - 7em);
	}
}
