@charset "UTF-8";

/* data-attr="text" */
span[data-attr="text"] {
	display: inline;
	line-height: 1.5;
	white-space: normal;
	word-break: break-all; }
span[data-attr="text"] a {
	margin: 0 2px;
	color: var(--indigo);
	border-bottom: 1px dotted var(--indigo); }
span[data-attr="text"] a:hover {
	color: var(--indigo-overlay);
	border-bottom: 1px solid var(--indigo-overlay); }

/* data-attr="icon" */
i[data-attr="icon"] {
	display: inline-flex;
	font-size: 1.6rem; }

/* data-attr="image" */
img[data-attr="image"] {
	display: inline-flex;
	width: 40px;
	height: 40px;
	border-radius: 20px;
	object-fit: cover;
	cursor: pointer; }

/* data-attr="list" */
ul[data-attr="list"] {
	position: relative;
	display: block;
	padding-left: 32px; }
ul[data-attr="list"] li ul  {
	padding-left: 32px; }

/* data-status="select" */
label[data-status="select"] {
	display: inline-flex;
	position: relative; }
label[data-status="select"]:after {
	content: "";
	position: absolute;
	width: 8px;
	height: 5px;
	top: calc(50% - 2px);
	right: 12px;
	background: url(../../img/mb/icon/arrow_down.svg) no-repeat 0 0;
	background-size: 8px;
	pointer-events: none; }
label[data-status="select"] select {
	outline: 0;
    padding: 0 30px 0 12px;
	border-radius: 2px;
	height: 40px;
	font-size: 1.6rem;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	position: relative;
	color: var(--black-base);
	border: 1px solid var(--gray-base);
	background-color: var(--white); }

/* data-status */
[data-status="disabled"] { opacity: .3; }
[data-status="disabled"],
[data-status="disabled"] * { pointer-events: none !important; }
div.pa-table *[data-status="disabled"] { opacity: inherit; }
div.pa-table div.pa-button[data-status="disabled"] > a {
	color: var(--indigo-light)  !important; }
div.pa-table div.pa-button.dont[data-status="disabled"] > a {
	color: var(--red-light) !important; }


/* pa-text
---------------------------------------------------------------------------------------------------
span.pa-text
	(a)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option :［ ellipsis* ］［ required ］［ color ］
data属性 : -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
「 b2内に <a> タグを配置しても良い」という共通ルールとは別に、
パーツ内に、部分的に <a> タグを配置しても良い。
------------------------------------------------------------------------------------------------ */
span.pa-text {
	display: inline;
	line-height: 1.5;
	white-space: normal;
	word-break: break-all; }
span.pa-text a {
	margin: 0 2px;
	color: var(--indigo);
	border-bottom: 1px dotted; }
span.pa-text a:hover {
	color: var(--indigo-overlay);
	border-bottom: 1px solid; }
span.pa-text i[data-attr="icon"] {
	position: relative;
	top: 2px; }

/* ellipsis* */
span.pa-text[class *= "ellipsis"],
span[data-attr="text"][class *= "ellipsis"] {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	white-space: normal; }
span.pa-text.ellipsis1,
span[data-attr="text"].ellipsis1 {
	-webkit-line-clamp: 1; }
span.pa-text.ellipsis2,
span[data-attr="text"].ellipsis2 {
	-webkit-line-clamp: 2; }
span.pa-text.ellipsis3,
span[data-attr="text"].ellipsis3 {
	-webkit-line-clamp: 3; }
span.pa-text.ellipsis4,
span[data-attr="text"].ellipsis4 {
	-webkit-line-clamp: 4; }
span.pa-text.ellipsis5,
span[data-attr="text"].ellipsis5 {
	-webkit-line-clamp: 5; }

/* do / blue / saturday */
span.pa-text.do,
span.pa-text.blue,
span.pa-text.saturday {
	color: var(--blue); }

/* dont / red / sunday */
span.pa-text.dont,
span.pa-text.red,
span.pa-text.sunday {
	color: var(--red); }

/* caution / yellow */
span.pa-text.caution,
span.pa-text.yellow {
	color: var(--yellow); }

/* info / lime */
span.pa-text.info,
span.pa-text.lime {
	color: var(--lime); }

/* trigger / gray */
span.pa-text.trigger,
span.pa-text.gray {
	color: var(--gray); }

/* red / This includes it in "dont" of the system color. */

/* orange */
span.pa-text.orange {
	color: var(--orange); }

/* yellow / This includes it in "caution" of the system color. */

/* lime / This includes it in "info" of the system color. */

/* green */
span.pa-text.green {
	color: var(--green); }

/* teal */
span.pa-text.teal {
	color: var(--teal); }

/* cyan */
span.pa-text.cyan {
	color: var(--cyan); }

/* blue / This includes it in "do" of the system color. */

/* indigo / This includes it in "default" of the system color. */

/* purple */
span.pa-text.purple {
	color: var(--purple); }

/* pink */
span.pa-text.pink {
	color: var(--pink); }

/* magenta */
span.pa-text.magenta {
	color: var(--magenta); }

/* gray / This includes it in "trigger" of the system color. */

/* required */
span.pa-text.required {
	position: relative; }
span.pa-text.required:before {
	content: "*";
	position: absolute;
	right: -12px;
	color: var(--red); }
@media screen and (min-width: 520px) {
	span.pa-text.required:before {
		left: -12px;
		right: inherit; }
}



/* pa-icon
---------------------------------------------------------------------------------------------------
i.pa-icon
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option :［ color ］
data属性 : -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
------------------------------------------------------------------------------------------------ */
i.pa-icon {
	display: inline;
	font-size: 1.6rem; }

/* do / blue */
i.pa-icon.do,
i.pa-icon.blue {
	color: var(--blue); }

/* dont / red */
i.pa-icon.dont,
i.pa-icon.red {
	color: var(--red); }

/* caution / yellow */
i.pa-icon.caution,
i.pa-icon.yellow {
	color: var(--yellow); }

/* info / lime */
i.pa-icon.info,
i.pa-icon.lime {
	color: var(--lime); }

/* trigger / gray */
i.pa-icon.trigger,
i.pa-icon.gray {
	color: var(--gray); }

/* red / This includes it in "dont" of the system color. */

/* orange */
i.pa-icon.orange {
	color: var(--orange); }

/* yellow / This includes it in "caution" of the system color. */

/* lime / This includes it in "info" of the system color. */

/* green */
i.pa-icon.green {
	color: var(--green); }

/* teal */
i.pa-icon.teal {
	color: var(--teal); }

/* cyan */
i.pa-icon.cyan {
	color: var(--cyan); }

/* blue / This includes it in "do" of the system color. */

/* indigo / This includes it in "default" of the system color. */

/* purple */
i.pa-icon.purple {
	color: var(--purple); }

/* pink */
i.pa-icon.pink {
	color: var(--pink); }

/* magenta */
i.pa-icon.magenta {
	color: var(--magenta); }

/* gray / This includes it in "trigger" of the system color. */



/* pa-image
---------------------------------------------------------------------------------------------------
img.pa-image
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option :［ 形状 / circle , square（ 初期値 ）, radius , oval ］［ 比率 / cover , contain ］［ border ］
data属性 : -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
サイズの指定に関しては、大きさのパターンが制限できないため common.css によって調整する。
------------------------------------------------------------------------------------------------ */
img.pa-image {
	position: relative;
	display: inline-flex;
	width: 100%;
	height: 100%; }

img.pa-image.js-viewChange {
	width: 16px;
	height: 16px;
	cursor: pointer; }

/* cover */
img.pa-image.cover {
	object-fit: cover; }
	
/*contain */
img.pa-image.contain {
	object-fit: contain; }

/* circle */
img.pa-image.circle {
	border-radius: 50%; }

/* square / This option is set by default. */

/* radius */
img.pa-image.radius {
	border-radius: 4px; }

/* oval */
img.pa-image.oval {
	border-radius: 512px; }

/* border */
img.pa-image.border {
	border: 1px solid var(--gray); }



/* pa-list
---------------------------------------------------------------------------------------------------
ul.pa-list
	li
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option :［ 表現 / border , background ］［ list-style ］
data属性 : -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
------------------------------------------------------------------------------------------------ */
ul.pa-list {
	position: relative;
	display: block;
	padding-left: 32px; }
ul.pa-list li ul {
	padding-left: 32px; }

/* border / background */
ul.pa-list.border,
ul.pa-list.background,
ul[data-attr="list"].border,
ul[data-attr="list"].background {
	padding: 12px 12px 12px 36px;
	border-radius: 2px; }
ul.pa-list.border,
ul[data-attr="list"].border {
	border: 1px solid var(--gray-light); }
ul.pa-list.background,
ul[data-attr="list"].background {
	background: var(--gray-bright); }

/* list-style */
ul.pa-list.disc,
ul[data-attr="list"].disc {
	list-style: disc; }
ul.pa-list.circle,
ul[data-attr="list"].circle {
	list-style: circle; }
ul.pa-list.square,
ul[data-attr="list"].square {
	list-style: square; }
ul.pa-list.decimal,
ul[data-attr="list"].decimal {
	list-style: decimal; }
ul.pa-list.decimalLeadingZero,
ul[data-attr="list"].decimalLeadingZero {
	list-style: decimal-leading-zero; }
ul.pa-list.lowerAlpha,
ul[data-attr="list"].lowerAlpha {
	list-style: lower-alpha; }
ul.pa-list.lowerGreek,
ul[data-attr="list"].lowerGreek {
	list-style: lower-greek; }
ul.pa-list.lowerRoman,
ul[data-attr="list"].lowerRoman {
	list-style: lower-roman; }
ul.pa-list.upperAlpha,
ul[data-attr="list"].upperAlpha {
	list-style: upper-alpha; }
ul.pa-list.upperRoman,
ul[data-attr="list"].upperRoman {
	list-style: upper-roman; }
ul.pa-list.none,
ul[data-attr="list"].none {
	list-style: none;
	padding-left: 0; }

ul.pa-list.none.border,
ul.pa-list.none.background,
ul[data-attr="list"].none.border,
ul[data-attr="list"].none.background {
	padding: 8px; }



/* pa-btton
---------------------------------------------------------------------------------------------------
div.pa-button
	a
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option :［ 形状 / circle , square , radius , oval（ 初期値 ）］［ 表現 / transparent , outline ］［ color ］
data属性 : ［ data-status / active , inactive , select , badge ］
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
------------------------------------------------------------------------------------------------ */
div.pa-button {
	display: inline-flex;
	margin: 0;
	padding: 0;
	border: none;
	outline: none;
	background: transparent; }
div.pa-button > a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: auto;
	height: 32px;
	padding: 8px 12px;
	border: none;
	outline: none;
	border-radius: 512px;
	box-sizing: border-box;
	background: var(--indigo);
	color: var(--white);
	transition: all .2s ease-out; }
div.pa-button span[data-attr="text"] {
	font-size: 1.4rem; }
div.pa-button i[data-attr="icon"] {
	font-size: 1.8rem; }
div.pa-button > a > *:not(:first-child) {
	margin-left: 8px; }
div.pa-button > a:hover {
	background: var(--indigo-overlay); }

/* circle */
div.pa-button.circle > a {
	border-radius: 50%; }

/* square */
div.pa-button.square > a {
	border-radius: 0; }

/* radius */
div.pa-button.radius > a {
	border-radius: 4px; }

/* oval / This option is set by default. */

/* transparent */
div.pa-button.transparent > a {
	background: transparent;
	color: var(--indigo); }
div.pa-button.transparent > a:hover {
	color: var(--indigo-overlay);
	background: var(--indigo-o20pe); }

/* outline */
div.pa-button.outline > a {
	background: transparent;
	color: var(--indigo);
	border: 1px solid var(--indigo); }
div.pa-button.outline > a:hover {
	color: var(--indigo-overlay);
	border: 1px solid var(--indigo-overlay);
	background: var(--indigo-o20pe); }

/* do / blue */
div.pa-button.do > a,
div.pa-button.blue > a {
	background: var(--blue); }
div.pa-button.do > a:hover,
div.pa-button.blue > a:hover {
	background: var(--blue-overlay); }
/* do + text */
div.pa-button.do.transparent > a,
div.pa-button.blue.transparent > a {
	color: var(--blue);
	background: transparent; }
div.pa-button.do.transparent > a:hover,
div.pa-button.blue.transparent > a:hover {
	color: var(--blue-overlay);
	background: var(--blue-o20pe); }
/* do + outline */
div.pa-button.do.outline > a,
div.pa-button.blue.outline > a {
	color: var(--blue);
	border: 1px solid var(--blue);
	background: transparent; }
div.pa-button.do.outline > a:hover,
div.pa-button.blue.outline > a:hover {
	color: var(--blue-overlay);
	border: 1px solid var(--blue-overlay);
	background: var(--blue-o20pe); }

/* dont / red */
div.pa-button.dont > a,
div.pa-button.red > a {
	background: var(--red); }
div.pa-button.dont > a:hover,
div.pa-button.red > a:hover {
	background: var(--red-overlay); }
/* dont + text */
div.pa-button.dont.transparent > a,
div.pa-button.red.transparent > a {
	color: var(--red);
	background: transparent; }
div.pa-button.dont.transparent > a:hover,
div.pa-button.red.transparent > a:hover {
	color: var(--red-overlay);
	background: var(--red-o20pe); }
/* dont + outline */
div.pa-button.dont.outline > a,
div.pa-button.red.outline > a {
	color: var(--red);
	border: 1px solid var(--red);
	background: transparent; }
div.pa-button.dont.outline > a:hover,
div.pa-button.red.outline > a:hover {
	color: var(--red-overlay);
	border: 1px solid var(--red-overlay);
	background: var(--red-o20pe); }

/* caution / yellow */
div.pa-button.caution > a,
div.pa-button.yellow > a {
	background: var(--yellow); }
div.pa-button.caution > a:hover,
div.pa-button.yellow > a:hover {
	background: var(--yellow-overlay); }
/* caution + text */
div.pa-button.caution.transparent > a,
div.pa-button.yellow.transparent > a {
	color: var(--yellow);
	background: transparent; }
div.pa-button.caution.transparent > a:hover,
div.pa-button.yellow.transparent > a:hover {
	color: var(--yellow-overlay);
	background: var(--yellow-o20pe); }
/* caution + outline */
div.pa-button.caution.outline > a,
div.pa-button.yellow.outline > a {
	color: var(--yellow);
	border: 1px solid var(--yellow);
	background: transparent; }
div.pa-button.caution.outline > a:hover,
div.pa-button.yellow.outline > a:hover {
	color: var(--yellow-overlay);
	border: 1px solid var(--yellow-overlay);
	background: var(--yellow-o20pe); }

/* info / lime */
div.pa-button.info > a,
div.pa-button.lime > a {
	background: var(--lime); }
div.pa-button.info > a:hover,
div.pa-button.lime > a:hover {
	background: var(--lime-overlay); }
/* info + text */
div.pa-button.info.transparent > a,
div.pa-button.lime.transparent > a {
	color: var(--lime);
	background: transparent; }
div.pa-button.info.transparent > a:hover,
div.pa-button.lime.transparent > a:hover {
	color: var(--lime-overlay);
	background: var(--lime-o20pe); }
/* info + outline */
div.pa-button.info.outline > a,
div.pa-button.lime.outline > a {
	color: var(--lime);
	border: 1px solid var(--lime);
	background: transparent; }
div.pa-button.info.outline > a:hover,
div.pa-button.lime.outline > a:hover {
	color: var(--lime-overlay);
	border: 1px solid var(--lime-overlay);
	background: var(--lime-o20pe); }

/* trigger / gray */
div.pa-button.trigger > a,
div.pa-button.gray > a {
	background: var(--gray); }
div.pa-button.trigger > a:hover,
div.pa-button.gray > a:hover {
	background: var(--gray-overlay); }
/* trigger + text */
div.pa-button.trigger.transparent > a,
div.pa-button.gray.transparent > a {
	color: var(--gray);
	background: transparent; }
div.pa-button.trigger.transparent > a:hover,
div.pa-button.gray.transparent > a:hover {
	color: var(--gray-overlay);
	background: var(--gray-o20pe); }
/* trigger + outline */
div.pa-button.trigger.outline > a,
div.pa-button.gray.outline > a {
	color: var(--gray);
	border: 1px solid var(--gray);
	background: transparent; }
div.pa-button.trigger.outline > a:hover,
div.pa-button.gray.outline > a:hover {
	color: var(--gray-overlay);
	border: 1px solid var(--gray-overlay);
	background: var(--gray-o20pe); }

/* red / This includes it in "dont" of the system color. */

/* orange */
div.pa-button.orange > a {
	background: var(--orange); }
div.pa-button.orange > a:hover {
	background: var(--orange-overlay); }
/* orange + text */
div.pa-button.orange.transparent > a {
	color: var(--orange);
	background: transparent; }
div.pa-button.orange.transparent > a:hover {
	color: var(--orange-overlay);
	background: var(--orange-o20pe); }
/* orange + outline */
div.pa-button.orange.outline > a {
	color: var(--orange);
	border: 1px solid var(--orange);
	background: transparent; }
div.pa-button.orange.outline > a:hover {
	color: var(--orange-overlay);
	border: 1px solid var(--orange-overlay);
	background: var(--orange-o20pe); }

/* yellow / This includes it in "caution" of the system color. */

/* lime / This includes it in "info" of the system color. */

/* green */
div.pa-button.green > a {
	background: var(--green); }
div.pa-button.green > a:hover {
	background: var(--green-overlay); }
/* green + text */
div.pa-button.green.transparent > a {
	color: var(--green);
	background: transparent; }
div.pa-button.green.transparent > a:hover {
	color: var(--green-overlay);
	background: var(--green-o20pe); }
/* green + outline */
div.pa-button.green.outline > a {
	color: var(--green);
	border: 1px solid var(--green);
	background: transparent; }
div.pa-button.green.outline > a:hover {
	color: var(--green-overlay);
	border: 1px solid var(--green-overlay);
	background: var(--green-o20pe); }

/* teal */
div.pa-button.teal > a {
	background: var(--teal); }
div.pa-button.teal > a:hover {
	background: var(--teal-overlay); }
/* teal + text */
div.pa-button.teal.transparent > a {
	color: var(--teal);
	background: transparent; }
div.pa-button.teal.transparent > a:hover {
	color: var(--teal-overlay);
	background: var(--teal-o20pe); }
/* teal + outline */
div.pa-button.teal.outline > a {
	color: var(--teal);
	border: 1px solid var(--teal);
	background: transparent; }
div.pa-button.teal.outline > a:hover {
	color: var(--teal-overlay);
	border: 1px solid var(--teal-overlay);
	background: var(--teal-o20pe); }

/* cyan */
div.pa-button.cyan > a {
	background: var(--cyan); }
div.pa-button.cyan > a:hover {
	background: var(--cyan-overlay); }
/* cyan + text */
div.pa-button.cyan.transparent > a {
	color: var(--cyan);
	background: transparent; }
div.pa-button.cyan.transparent > a:hover {
	color: var(--cyan-overlay);
	background: var(--cyan-o20pe); }
/* cyan + outline */
div.pa-button.cyan.outline > a {
	color: var(--cyan);
	border: 1px solid var(--cyan);
	background: transparent; }
div.pa-button.cyan.outline > a:hover {
	color: var(--cyan-overlay);
	border: 1px solid var(--cyan-overlay);
	background: var(--cyan-o20pe); }

/* blue / This includes it in "do" of the system color. */

/* indigo / This includes it in "default" of the system color. */

/* purple */
div.pa-button.purple > a {
	background: var(--purple); }
div.pa-button.purple > a:hover {
	background: var(--purple-overlay); }
/* purple + text */
div.pa-button.purple.transparent > a {
	color: var(--purple);
	background: transparent; }
div.pa-button.purple.transparent > a:hover {
	color: var(--purple-overlay);
	background: var(--purple-o20pe); }
/* purple + outline */
div.pa-button.purple.outline > a {
	color: var(--purple);
	border: 1px solid var(--purple);
	background: transparent; }
div.pa-button.purple.outline > a:hover {
	color: var(--purple-overlay);
	border: 1px solid var(--purple-overlay);
	background: var(--purple-o20pe); }

/* pink */
div.pa-button.pink > a {
	background: var(--pink); }
div.pa-button.pink > a:hover {
	background: var(--pink-overlay); }
/* pink + text */
div.pa-button.pink.transparent > a {
	color: var(--pink);
	background: transparent; }
div.pa-button.pink.transparent > a:hover {
	color: var(--pink-overlay);
	background: var(--pink-o20pe); }
/* pink + outline */
div.pa-button.pink.outline > a {
	color: var(--pink);
	border: 1px solid var(--pink);
	background: transparent; }
div.pa-button.pink.outline > a:hover {
	color: var(--pink-overlay);
	border: 1px solid var(--pink-overlay);
	background: var(--pink-o20pe); }

/* magenta */
div.pa-button.magenta > a {
	background: var(--magenta); }
div.pa-button.magenta > a:hover {
	background: var(--magenta-overlay); }
/* magenta + text */
div.pa-button.magenta.transparent > a {
	color: var(--magenta);
	background: transparent; }
div.pa-button.magenta.transparent > a:hover {
	color: var(--magenta-overlay);
	background: var(--magenta-o20pe); }
/* magenta + outline */
div.pa-button.magenta.outline > a {
	color: var(--magenta);
	border: 1px solid var(--magenta);
	background: transparent; }
div.pa-button.magenta.outline > a:hover {
	color: var(--magenta-overlay);
	border: 1px solid var(--magenta-overlay);
	background: var(--magenta-o20pe); }

/* gray / This includes it in "trigger" of the system color. */

/* data-status */
div.pa-button[data-status="active"] > a:before {
	content: "";
	position: absolute;
	width: 8px;
	height: 8px;
	border-radius: 8px;
	right: 0;
	bottom: 0;
	background: var(--lime);
	border: 2px solid var(--white); }

/* data-status="inactive" */
div.pa-button[data-status="inactive"] > a:before {
	content: "";
	position: absolute;
	width: 8px;
	height: 8px;
	border-radius: 8px;
	right: 0;
	bottom: 0;
	background-color: var(--cyan-bright);
	border: 2px solid var(--white); }

/* select */
div.pa-button.select > a > i.bi-chevron-down[data-attr="icon"] {
	font-size: 1.4rem; }
div.pa-button.select > a > label[data-status="select"] {
	position: absolute;
	right: 0;
	opacity: 0; }
div.pa-button.select > a > label[data-status="select"] select {
	width: 32px;
	height: 32px;
	padding: 0; }

/* badge */
div.pa-button[data-status="badge"] > a:after {
	content: attr(data-status-value)"";
	position: absolute;
    display: inline-flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	top: -12px;
	right: -12px;
	min-width: 24px;
	height: 24px;
	padding: 4px 6px;
	border-radius: 16px;
	font-size: 1.2rem;
	font-weight: 600;
	background-color: var(--red);
	border: 1px solid var(--white);
	color: var(--white); }



/* pa-input
---------------------------------------------------------------------------------------------------
input.pa-input
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option : ［ type属性 / password , datepicker , timepicker , select ］
data属性 : ［ data-status / check / select ］
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Form要素のため、<input>タグとセットで用いる。
------------------------------------------------------------------------------------------------ */
input.pa-input {
	display: inline-flex;
	width: 100%;
	height: 40px;
	padding: 8px;
	font-size: 1.6rem;
	box-sizing: border-box;
	border: none;
	border-radius: 2px;
	background-color: var(--white-base);
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif; }

input.pa-input::placeholder {
	color: var(--gray-base); }

input.pa-input:focus {
	outline: none;
	padding: 8px 8px 6px;
	border: none;
	background-color: var(--gray-shine);
	border-bottom: 2px solid var(--indigo); }

input.pa-input ~ i[data-attr="icon"] {
	position: absolute;
	top: 50%;
	right: 0;
	padding: 8px;
	transform: translateY(-50%);
	cursor: pointer; }
input.pa-input ~ i[data-attr="icon"] {
	pointer-events: none; }

/* data-status="check" */
input.pa-input[data-status="check"] {
	background-color: var(--red-bright); }

/* password */
input[type="password"].password {
	background-image: url(../img/icon/view.svg);
	background-repeat: no-repeat;
	background-position: calc(100% - 8px) calc(50% - 0px);
	background-size: 16px 16px; }
input[type="text"].password {
	background-image: url(../img/icon/view-off.svg);
	background-repeat: no-repeat;
	background-position: calc(100% - 8px) calc(50% - 0px);
	background-size: 16px 16px; }
input.password:focus {
	background-position: calc(100% - 8px) calc(50% + 1px); }
input.js-passwordCheck {
	position: absolute;
	display: inline-flex;
	width: 32px;
	height: 32px;
	top: calc(50% - 16px);
	right: 0;
	cursor: pointer;
	z-index: 1;
	opacity: 0; }

/* type="calendar" */
input.pa-input[type="calendar"] {
	width: 128px;
	background-image: url(../../img/mb/icon/calendar.svg);
	background-repeat: no-repeat;
	background-position: calc(100% - 8px) calc(50% - 0px);
	background-size: 16px 16px; }
input.pa-input[type="calendar"]:focus {
	background-position: calc(100% - 8px) calc(50% + 1px); }
input.pa-input[type="calendar"] ~ i[data-attr="icon"] {
	pointer-events: auto; }
/* noIcon */
input.pa-input[type="calendar"].noIcon {
	width: 104px;
	background-image: none; }

/* timepicker */
input.pa-input.timepicker {
	width: 88px; }

@media screen and (min-width: 520px) {
	input.pa-input[type="calendar"] {
		width: 128px;
	}
}

/* select */
input.pa-input.select ~ label[data-status="select"] {
	position: absolute;
	right: 0;
	opacity: 0; }
input.pa-input.select ~ label[data-status="select"] select {
	width: 32px;
	height: 32px;
	padding: 0; }

@media screen and (min-width: 520px) {
	input.pa-input {
		height: 32px;
		font-size: 1.4rem; }
}



/* pa-textarea
---------------------------------------------------------------------------------------------------
textarea.pa-textarea
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option : ［ autoresize ］
data属性 : ［ data-status / check ］
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
------------------------------------------------------------------------------------------------ */
textarea.pa-textarea {
	display: inline-flex;
	width: 100%;
	min-height: 56px;
	padding: 8px;
	font-size: 1.6rem;
	box-sizing: border-box;
	border: none;
	border-radius: 2px;
	background-color: var(--white-base);
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	resize: vertical; }

textarea.pa-textarea::placeholder {
	color: var(--gray-base); }

textarea.pa-textarea:focus {
	outline: none;
	background-color: var(--gray-shine); }

/* autoresize */
textarea.autoresize {
	resize: none; }

/* data-status="check" */
textarea.pa-textarea[data-status="check"] {
	background-color: var(--red-bright); }

@media screen and (min-width: 520px) {
	textarea.pa-textarea {
		font-size: 1.4rem; }
}



/* pa-checkbox
---------------------------------------------------------------------------------------------------
div.pa-checkbox
	input
	label
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option : ［ 表現 / toggle , line , default ］
data属性 : ［ data-status / check ］
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
表示行数に制限のないリストなどに使用する際は［ default ］オプションを使用する。
擬似要素によって表現している仕様上、膨大な行数リピートされると DOM の生成により動作が重くなるため。
------------------------------------------------------------------------------------------------ */
div.pa-checkbox {
	display: inline-flex;
	position: relative; }

div.pa-checkbox input[type=checkbox] {
	display: none; }

div.pa-checkbox input[type=checkbox] ~ label {
	box-sizing: border-box;
	cursor: pointer;
	display: -webkit-box;
	position: relative;
	height: 32px;
	line-height: 32px;
	padding-left: 32px;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden; }

div.pa-checkbox input[type=checkbox] ~ label:before {
	content: '';
	display: block;
	position: absolute;
	background: var(--white);
	border: 2px solid var(--gray-base);
	border-radius: 2px;
	width: 20px;
	height: 20px;
	top: 6px;
	left: 6px;
	box-sizing: border-box; }

div.pa-checkbox input[type=checkbox] ~ label:after {
	content: '';
	position: absolute;
	display: block;
	width: 6px;
	height: 10px;
	top: 8px;
	left: 12px;
	opacity: 0;
	border-right: 2px solid var(--white);
	border-bottom: 2px solid var(--white);
	transform: rotate(45deg) translate3d(0,2px,0) scale3d(.7,.7,1); }

div.pa-checkbox input[type=checkbox]:checked ~ label:before {
	background: var(--indigo);
	border: none; }

div.pa-checkbox input[type=checkbox]:checked ~ label:after {
	opacity: 1;
	transform: rotate(45deg) scale3d(1,1,1); }

div.pa-checkbox input[type=checkbox] ~ label:hover:before {
	border: 2px solid var(--indigo); }

/* toggle */
div.pa-checkbox.toggle input[type=checkbox] ~ label {
	width: 56px;
	border-radius: 16px;
	background-color: var(--gray-light); }

div.pa-checkbox.toggle input[type=checkbox] ~ label:before {
	width: 28px;
	height: 28px;
	top: 2px;
	left: 2px;
	border-radius: 14px;
	border: none;
	box-shadow: 2px 0 8px 0 rgba(154,161,171,.3);
	transition: .3s ease; }

div.pa-checkbox.toggle input[type=checkbox] ~ label:after {
	opacity: 0; }

div.pa-checkbox.toggle input[type=checkbox]:checked ~ label:before {
	left: 26px;
	background-color: var(--white);
	box-shadow: -2px 0 8px 0 rgba(154,161,171,.3); }
div.pa-checkbox.toggle input[type=checkbox]:checked ~ label {
	background-color: var(--indigo); }

/* line */
div.pa-checkbox.line input[type=checkbox] ~ label:after { border-bottom: none; }
div.pa-checkbox.line input[type=checkbox]:checked ~ label:after { transform: rotate(90deg) scale3d(1,1,1); }

/* default */
div.pa-checkbox.default {
	display: inline-flex;
	position: static; }

div.pa-checkbox.default input[type=checkbox] {
	display: inline-flex;
	width: 18px;
	height: 18px; }

div.pa-checkbox.default input[type=checkbox] ~ label {
	height: inherit;
	position: static;
	line-height: inherit;
	padding-left: inherit; }

div.pa-checkbox.default input[type=checkbox] ~ label:before,
div.pa-checkbox.default input[type=checkbox] ~ label:after {
	display: none; }

/* data-status="check" */
div.pa-checkbox[data-status="check"] input[type=checkbox] ~ label:before {
	background-color: var(--red-bright); }

/* data-status="check" + toggle */
div.pa-checkbox.toggle[data-status="check"] input[type=checkbox] ~ label {
	background-color: var(--red-bright); }
div.pa-checkbox.toggle[data-status="check"] input[type=checkbox] ~ label:before {
	background-color: var(--white); }
div.pa-checkbox.toggle[data-status="check"] input[type=checkbox]:checked ~ label {
	background-color: var(--indigo); }


/* pa-radio
---------------------------------------------------------------------------------------------------
div.pa-radio
	input
	label
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option :  -
data属性 : ［ data-status / check ］
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
------------------------------------------------------------------------------------------------ */
div.pa-radio {
	display: inline-flex;
	position: relative; }

div.pa-radio input[type=radio] {
	display: none; }

div.pa-radio input[type=radio] ~ label {
	box-sizing: border-box;
	cursor: pointer;
	display: -webkit-box;
	position: relative;
	height: 32px;
	line-height: 32px;
	padding-left: 32px;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden; }

div.pa-radio input[type=radio] ~ label:before {
	content: '';
	display: block;
	position: absolute;
	background: var(--white);
	border: 2px solid var(--gray-base);
	border-radius: 12px;
	width: 20px;
	height: 20px;
	top: 6px;
	left: 6px;
	box-sizing: border-box; }

div.pa-radio input[type=radio] ~ label:after {
	content: '';
	position: absolute;
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 4px;
	background: var(--white);
	top: 12px;
	left: 12px;
	opacity: 0; }

div.pa-radio input[type=radio]:checked ~ label:before {
	background: var(--indigo) !important;
	border: none; }

div.pa-radio input[type=radio]:checked ~ label:after {
	opacity: 1;
	transform: rotate(45deg) scale3d(1,1,1); }

div.pa-radio input[type=radio] ~ label:hover:before {
	border: 2px solid var(--indigo); }

/* data-status="check" */
div.pa-radio[data-status="check"] input[type=radio] ~ label:before {
	background-color: var(--red-bright); }



/* pa-select
---------------------------------------------------------------------------------------------------
label.pa-select
	select
		option
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option :  -
data属性 : ［ data-status / check ］
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Form要素のため、<label> <select> <option> タグとセットで用いる。
------------------------------------------------------------------------------------------------ */
label.pa-select {
	display: inline-flex; }
label.pa-select select {
	outline: 0;
    padding: 0 30px 0 12px;
	border-radius: 2px;
	height: 40px;
	font-size: 1.6rem;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	position: relative;
	color: var(--black-base);
	border: 1px solid var(--gray-base);
	background-color: var(--white);
	background-image: url(../../img/mb/icon/arrow_down.svg);
	background-repeat: no-repeat;
	background-position: calc(100% - 7px) calc(50% - -1px);
	background-size: 8px 5px; }

label.pa-select select:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	padding: 8px;
	transform: translateY(-50%);
	cursor: pointer; }

/* data-status="check" */
label.pa-select[data-status="check"] select {
	background-color: var(--red-bright); }

@media screen and (min-width: 520px) {
	label.pa-select:after {
		right: 8px; }

	label.pa-select select {
		height: 32px;
		padding: 0 22px 0 8px;
		font-size: 1.4rem; }
}



/* pa-seal
---------------------------------------------------------------------------------------------------
div.pa-seal
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option : ［ count* ］［ 形状 / circle（ 初期値 ）, square , radius , oval ］
data属性 : ［ data-status / inactive ］
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
------------------------------------------------------------------------------------------------ */
div.pa-seal {
	display: inline-flex;
	position: relative;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 1px solid var(--red);
	color: var(--red);
	font-weight: normal;
	justify-content: center;
	align-items: center; }
div.pa-seal span[data-attr="text"] {
	position: absolute;
	writing-mode: vertical-rl;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	line-height: 1;
	white-space: break-spaces; }

/* count* */
div.pa-seal.count1 span {
	font-size: 1.6rem; }
div.pa-seal.count2 span {
	font-size: 1.3rem;
	transform: scale(1, .9); }
div.pa-seal.count3 span {
	font-size: 1.1rem;
	transform: scale(1.2, .8);
	letter-spacing: -.1rem; }
div.pa-seal.count4 span {
	position: relative;
	font-size: 1.1rem;
	transform: scale(.9); }

/* circle / This option is set by default. */

/* square */
div.pa-seal.square {
	border-radius: 0; }

/* radius */
div.pa-seal.radius {
	border-radius: 4px; }

/* oval */
div.pa-seal.oval {
	border-radius: 16px; }

/* data-status="inactive" */
div.pa-seal[data-status="inactive"] {
	color: var(--gray);
	border-color: var(--gray); }



/* pa-code
---------------------------------------------------------------------------------------------------
div.pa-code
	pre
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option : ［ コード / html , css , javascript ］
data属性 :  -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
------------------------------------------------------------------------------------------------ */
div.pa-code {
	display: inline-flex;
	position: relative;
	width: 100%; }

div.pa-code > pre {
	width: 100%;
	max-height: 320px;
	padding: 8px 12px;
	font-size: 1.4rem;
	font-family: 'Courier New', Courier, monospace;
	line-height: 1.5;
	border-radius: 2px;
	background: rgba(0,0,0,.9);
    color: var(--white);
	overflow: auto; }

div.pa-code.html:before,
div.pa-code.css:before,
div.pa-code.javascript:before {
	position: absolute;
	right: 0;
	top: 0;
    background: rgba(255,255,255,.8);
	font-family: 'Courier New', Courier, monospace;
	border-radius: 0 0 0 2px;
	padding: 4px 8px;
	font-size: 1.2rem;
	font-weight: bold; }

div.pa-code.html:before { content: "html"; }
div.pa-code.css:before { content: "css"; }
div.pa-code.javascript:before { content: "javascript"; }



/* pa-alert
---------------------------------------------------------------------------------------------------
div.pa-alert
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option :［ color ］
data属性 :［ data-function / close ］ 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
------------------------------------------------------------------------------------------------- */
div.pa-alert {
	display: inline-flex;
	align-items: center;
	position: relative;
	width: 100%;
	padding: 8px;
	border-radius: 2px;
	color: var(--indigo-dark);
	background: var(--indigo-bright);
	border: 1px solid var(--indigo-light); }
div.pa-alert span[data-attr="text"] a {
	font-weight: 600;
	border-bottom: 1px dotted var(--indigo-dark); }
div.pa-alert span[data-attr="text"] a:hover {
	border-bottom: 1px solid var(--indigo-dark); }
div.pa-alert i[data-attr="icon"] {
	font-size: 1.8rem; }
div.pa-alert span[data-attr="text"] {
	flex-grow: 1;
	font-size: 1.4rem;
	line-height: 1.5;
	white-space: normal;
	word-break: break-all;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden; }
div.pa-alert .js-close {
	cursor: pointer; }
div.pa-alert > *:not(:first-child) {
	margin-left: 8px; }
div.pa-alert > *:not([data-attr="text"]) {
	flex-shrink: 0; }

/* do / blue */
div.pa-alert.do,
div.pa-alert.blue {
	color: var(--blue-dark);
	background: var(--blue-bright);
	border: 1px solid var(--blue-light); }
div.pa-alert.do span[data-attr="text"] a,
div.pa-alert.blue span[data-attr="text"] a {
	color: var(--blue-dark);
	border-bottom: 1px dotted var(--blue-dark); }
div.pa-alert.do span[data-attr="text"] a:hover,
div.pa-alert.blue span[data-attr="text"] a:hover {
	border-bottom: 1px solid var(--blue-dark); }

/* dont / red */
div.pa-alert.dont,
div.pa-alert.red {
	color: var(--red-dark);
	background: var(--red-bright);
	border: 1px solid var(--red-light); }
div.pa-alert.dont span[data-attr="text"] a,
div.pa-alert.red span[data-attr="text"] a {
	color: var(--red-dark);
	border-bottom: 1px dotted var(--red-dark); }
div.pa-alert.dont span[data-attr="text"] a:hover,
div.pa-alert.red span[data-attr="text"] a:hover {
	border-bottom: 1px solid var(--red-dark); }

/* caution */
div.pa-alert.caution,
div.pa-alert.yellow {
	color: var(--yellow-dark);
	background: var(--yellow-bright);
	border: 1px solid var(--yellow-light); }
div.pa-alert.caution span[data-attr="text"] a,
div.pa-alert.yellow span[data-attr="text"] a {
	color: var(--yellow-dark);
	border-bottom: 1px dotted var(--yellow-dark); }
div.pa-alert.caution span[data-attr="text"] a:hover,
div.pa-alert.yellow span[data-attr="text"] a:hover {
	border-bottom: 1px solid var(--yellow-dark); }

/* info */
div.pa-alert.info {
	color: var(--lime-dark);
	background: var(--lime-bright);
	border: 1px solid var(--lime-light); }
div.pa-alert.info span[data-attr="text"] a {
	color: var(--lime-dark);
	border-bottom: 1px dotted var(--lime-dark); }
div.pa-alert.info span[data-attr="text"] a:hover {
	border-bottom: 1px solid var(--lime-dark); }

/* trigger / gray */
div.pa-alert.trigger,
div.pa-alert.gray {
	color: var(--gray-dark);
	background: var(--gray-bright);
	border: 1px solid var(--gray-light); }
div.pa-alert.trigger span[data-attr="text"] a,
div.pa-alert.gray span[data-attr="text"] a {
	color: var(--gray-dark);
	border-bottom: 1px dotted var(--gray-dark); }
div.pa-alert.trigger span[data-attr="text"] a:hover,
div.pa-alert.gray span[data-attr="text"] a:hover {
	border-bottom: 1px solid var(--gray-dark); }

/* red / This includes it in "dont" of the system color. */

/* orange */
div.pa-alert.orange {
	color: var(--orange-dark);
	background: var(--orange-bright);
	border: 1px solid var(--orange-light); }
div.pa-alert.orange span[data-attr="text"] a {
	color: var(--orange-dark);
	border-bottom: 1px dotted var(--orange-dark); }
div.pa-alert.orange span[data-attr="text"] a:hover {
	border-bottom: 1px solid var(--orange-dark); }

/* yellow / This includes it in "caution" of the system color. */

/* lime / This includes it in "info" of the system color. */

/* green */
div.pa-alert.green {
	color: var(--green-dark);
	background: var(--green-bright);
	border: 1px solid var(--green-light); }
div.pa-alert.green span[data-attr="text"] a {
	color: var(--green-dark);
	border-bottom: 1px dotted var(--green-dark); }
div.pa-alert.green span[data-attr="text"] a:hover {
	border-bottom: 1px solid var(--green-dark); }

/* teal */
div.pa-alert.teal {
	color: var(--teal-dark);
	background: var(--teal-bright);
	border: 1px solid var(--teal-light); }
div.pa-alert.teal span[data-attr="text"] a {
	color: var(--teal-dark);
	border-bottom: 1px dotted var(--teal-dark); }
div.pa-alert.teal span[data-attr="text"] a:hover {
	border-bottom: 1px solid var(--teal-dark); }

/* cyan */
div.pa-alert.cyan {
	color: var(--cyan-dark);
	background: var(--cyan-bright);
	border: 1px solid var(--cyan-light); }
div.pa-alert.cyan span[data-attr="text"] a {
	color: var(--cyan-dark);
	border-bottom: 1px dotted var(--cyan-dark); }
div.pa-alert.cyan span[data-attr="text"] a:hover {
	border-bottom: 1px solid var(--cyan-dark); }

/* blue / This includes it in "do" of the system color. */

/* indigo / This includes it in "default" of the system color. */

/* purple */
div.pa-alert.purple {
	color: var(--purple-dark);
	background: var(--purple-bright);
	border: 1px solid var(--purple-light); }
div.pa-alert.purple span[data-attr="text"] a {
	color: var(--purple-dark);
	border-bottom: 1px dotted var(--purple-dark); }
div.pa-alert.purple span[data-attr="text"] a:hover {
	border-bottom: 1px solid var(--purple-dark); }

/* pink */
div.pa-alert.pink {
	color: var(--pink-dark);
	background: var(--pink-bright);
	border: 1px solid var(--pink-light); }
div.pa-alert.pink span[data-attr="text"] a {
	color: var(--pink-dark);
	border-bottom: 1px dotted var(--pink-dark); }
div.pa-alert.pink span[data-attr="text"] a:hover {
	border-bottom: 1px solid var(--pink-dark); }

/* magenta */
div.pa-alert.magenta {
	color: var(--magenta-dark);
	background: var(--magenta-bright);
	border: 1px solid var(--magenta-light); }
div.pa-alert.magenta span[data-attr="text"] a {
	color: var(--magenta-dark);
	border-bottom: 1px dotted var(--magenta-dark); }
div.pa-alert.magenta span[data-attr="text"] a:hover {
	border-bottom: 1px solid var(--magenta-dark); }

/* gray / This includes it in "trigger" of the system color. */

div.pa-alert.ellipsis span[data-attr="text"] {
	-webkit-line-clamp: 1; }

div.pa-alert > *:not([data-attr="text"]) {
	flex-shrink: 0; }



/* pa-selector
---------------------------------------------------------------------------------------------------
div.pa-selector
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option :［ color ］［ 形状 / circle , square , radius , oval（ 初期値 ）］［ 表現 / transparent , outline ］
data属性 :［ data-function / close ］ 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2021.05.23 / OKB / [data-function="fadeRemove"] を削除し、共通で使用している [data-function="close"] を適用。
------------------------------------------------------------------------------------------------- */
div.pa-selector {
	display: inline-flex;
	align-items: center;
	position: relative;
	height: 32px;
	padding: 0 10px;
	border-radius: 16px;
	color: var(--indigo);
	background: var(--indigo-shine);
	transition: all .2s ease-out; }
div.pa-selector span[data-attr="text"] {
	flex-grow: 1;
	font-size: 1.4rem;
	line-height: 1.5;
	white-space: normal;
	word-break: break-all;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden; }
div.pa-selector > *:not(:first-child) {
	margin-left: 6px; }
div.pa-selector > *:not([data-attr="text"]) {
	flex-shrink: 0; }
div.pa-selector[data-function="close"] {
	padding: 0 6px 0 10px; }
div.pa-selector:hover {
	color: var(--indigo-overlay);
	background: var(--indigo-o20pe); }

/* js-close */
div.pa-selector .js-close {
	margin-left: 2px;
	cursor: pointer; }

/* circle */
div.pa-selector.circle {
	border-radius: 50%; }

/* square */
div.pa-selector.square {
	border-radius: 0; }

/* radius */
div.pa-selector.radius {
	border-radius: 4px; }

/* oval / This option is set by default. */

/* transparent */
div.pa-selector.transparent {
	background: transparent; }
div.pa-selector.transparent:hover {
	color: var(--indigo-overlay);
	background: var(--indigo-o20pe); }

/* outline */
div.pa-selector.outline {
	background: transparent;
	border: 1px solid var(--indigo); }
div.pa-selector.outline:hover {
	color: var(--indigo-overlay);
	border: 1px solid var(--indigo-overlay);
	background: var(--indigo-o20pe); }

/* do / blue */
div.pa-selector.do,
div.pa-selector.blue {
	color: var(--blue);
	background: var(--blue-shine); }
div.pa-selector.do:hover,
div.pa-selector.blue:hover {
	color: var(--blue-overlay);
	background: var(--blue-o20pe); }
/* do / bliue + transparent */
div.pa-selector.do.transparent,
div.pa-selector.blue.transparent {
	color: var(--blue);
	background: transparent; }
div.pa-selector.do.transparent:hover,
div.pa-selector.blue.transparent:hover {
	color: var(--blue-overlay);
	background: var(--blue-o20pe); }
/* do / bliue + outline */
div.pa-selector.do.outline,
div.pa-selector.blue.outline {
	color: var(--blue);
	border: 1px solid var(--blue);
	background: transparent; }
div.pa-selector.do.outline:hover,
div.pa-selector.blue.outline:hover {
	color: var(--blue-overlay);
	border: 1px solid var(--blue-overlay);
	background: var(--blue-o20pe); }

/* dont / red */
div.pa-selector.dont,
div.pa-selector.red {
	color: var(--red);
	background: var(--red-shine); }
div.pa-selector.dont:hover,
div.pa-selector.red:hover {
	color: var(--red-overlay);
	background: var(--red-o20pe); }
/* dont / red + transparent */
div.pa-selector.dont.transparent,
div.pa-selector.red.transparent {
	color: var(--red);
	background: transparent; }
div.pa-selector.dont.transparent:hover,
div.pa-selector.red.transparent:hover {
	color: var(--red-overlay);
	background: var(--red-o20pe); }
/* dont / red + outline */
div.pa-selector.dont.outline,
div.pa-selector.red.outline {
	color: var(--red);
	border: 1px solid var(--red);
	background: transparent; }
div.pa-selector.dont.outline:hover,
div.pa-selector.red.outline:hover {
	color: var(--red-overlay);
	border: 1px solid var(--red-overlay);
	background: var(--red-o20pe); }

/* caution / yellow */
div.pa-selector.caution,
div.pa-selector.yellow {
	color: var(--yellow);
	background: var(--yellow-shine); }
div.pa-selector.caution:hover,
div.pa-selector.yellow:hover {
	color: var(--yellow-overlay);
	background: var(--yellow-o20pe); }
/* caution / yellow + transparent */
div.pa-selector.caution.transparent,
div.pa-selector.yellow.transparent {
	color: var(--yellow);
	background: transparent; }
div.pa-selector.caution.transparent:hover,
div.pa-selector.yellow.transparent:hover {
	color: var(--yellow-overlay);
	background: var(--yellow-o20pe); }
/* caution / yellow + outline */
div.pa-selector.caution.outline,
div.pa-selector.yellow.outline {
	color: var(--yellow);
	border: 1px solid var(--yellow);
	background: transparent; }
div.pa-selector.caution.outline:hover,
div.pa-selector.yellow.outline:hover {
	color: var(--yellow-overlay);
	border: 1px solid var(--yellow-overlay);
	background: var(--yellow-o20pe); }

/* info / lime */
div.pa-selector.info,
div.pa-selector.lime {
	color: var(--lime);
	background: var(--lime-shine); }
div.pa-selector.info:hover,
div.pa-selector.lime:hover {
	color: var(--lime-overlay);
	background: var(--lime-o20pe); }
/* info / lime + transparent */
div.pa-selector.info.transparent,
div.pa-selector.lime.transparent {
	color: var(--lime);
	background: transparent; }
div.pa-selector.info.transparent:hover,
div.pa-selector.lime.transparent:hover {
	color: var(--lime-overlay);
	background: var(--lime-o20pe); }
/* info / lime + outline */
div.pa-selector.info.outline,
div.pa-selector.lime.outline {
	color: var(--lime);
	border: 1px solid var(--lime);
	background: transparent; }
div.pa-selector.info.outline:hover,
div.pa-selector.lime.outline:hover {
	color: var(--lime-overlay);
	border: 1px solid var(--lime-overlay);
	background: var(--lime-o20pe); }

/* trigger / gray */
div.pa-selector.trigger,
div.pa-selector.gray {
	color: var(--gray);
	background: var(--gray-shine); }
div.pa-selector.trigger:hover,
div.pa-selector.gray:hover {
	color: var(--gray-overlay);
	background: var(--gray-o20pe); }
/* trigger / gray + transparent */
div.pa-selector.trigger.transparent,
div.pa-selector.gray.transparent {
	color: var(--gray);
	background: transparent; }
div.pa-selector.trigger.transparent:hover,
div.pa-selector.gray.transparent:hover {
	color: var(--gray-overlay);
	background: var(--gray-o20pe); }
/* trigger / gray + outline */
div.pa-selector.trigger.outline,
div.pa-selector.gray.outline {
	color: var(--gray);
	border: 1px solid var(--gray);
	background: transparent; }
div.pa-selector.trigger.outline:hover,
div.pa-selector.gray.outline:hover {
	color: var(--gray-overlay);
	border: 1px solid var(--gray-overlay);
	background: var(--gray-o20pe); }

/* red / This includes it in "dont" of the system color. */

/* orange */
div.pa-selector.orange {
	color: var(--orange);
	background: var(--orange-shine); }
div.pa-selector.orange:hover {
	color: var(--orange-overlay);
	background: var(--orange-o20pe); }
/* orange + transparent */
div.pa-selector.orange.transparent {
	color: var(--orange);
	background: transparent; }
div.pa-selector.orange.transparent:hover {
	color: var(--orange-overlay);
	background: var(--orange-o20pe); }
/* orange + outline */
div.pa-selector.orange.outline {
	color: var(--orange);
	border: 1px solid var(--orange);
	background: transparent; }
div.pa-selector.orange.outline:hover {
	color: var(--orange-overlay);
	border: 1px solid var(--orange-overlay);
	background: var(--orange-o20pe); }

/* yellow / This includes it in "caution" of the system color. */

/* lime / This includes it in "info" of the system color. */

/* green */
div.pa-selector.green {
	color: var(--green);
	background: var(--green-shine); }
div.pa-selector.green:hover {
	color: var(--green-overlay);
	background: var(--green-o20pe); }
/* green + transparent */
div.pa-selector.green.transparent {
	color: var(--green);
	background: transparent; }
div.pa-selector.green.transparent:hover {
	color: var(--green-overlay);
	background: var(--green-o20pe); }
/* green + outline */
div.pa-selector.green.outline {
	color: var(--green);
	border: 1px solid var(--green);
	background: transparent; }
div.pa-selector.green.outline:hover {
	color: var(--green-overlay);
	border: 1px solid var(--green-overlay);
	background: var(--green-o20pe); }

/* teal */
div.pa-selector.teal {
	color: var(--teal);
	background: var(--teal-shine); }
div.pa-selector.teal:hover {
	color: var(--teal-overlay);
	background: var(--teal-o20pe); }
/* teal + transparent */
div.pa-selector.teal.transparent {
	color: var(--teal);
	background: transparent; }
div.pa-selector.teal.transparent:hover {
	color: var(--teal-overlay);
	background: var(--teal-o20pe); }
/* teal + outline */
div.pa-selector.teal.outline {
	color: var(--teal);
	border: 1px solid var(--teal);
	background: transparent; }
div.pa-selector.teal.outline:hover {
	color: var(--teal-overlay);
	border: 1px solid var(--teal-overlay);
	background: var(--teal-o20pe); }

/* cyan */
div.pa-selector.cyan {
	color: var(--cyan);
	background: var(--cyan-shine); }
div.pa-selector.cyan:hover {
	color: var(--cyan-overlay);
	background: var(--cyan-o20pe); }
/* cyan + transparent */
div.pa-selector.cyan.transparent {
	color: var(--cyan);
	background: transparent; }
div.pa-selector.cyan.transparent:hover {
	color: var(--cyan-overlay);
	background: var(--cyan-o20pe); }
/* cyan + outline */
div.pa-selector.cyan.outline {
	color: var(--cyan);
	border: 1px solid var(--cyan);
	background: transparent; }
div.pa-selector.cyan.outline:hover {
	color: var(--cyan-overlay);
	border: 1px solid var(--cyan-overlay);
	background: var(--cyan-o20pe); }

/* blue / This includes it in "do" of the system color. */

/* indigo / This includes it in "default" of the system color. */

/* purple */
div.pa-selector.purple {
	color: var(--purple);
	background: var(--purple-shine); }
div.pa-selector.purple:hover {
	color: var(--purple-overlay);
	background: var(--purple-o20pe); }
/* purple + transparent */
div.pa-selector.purple.transparent {
	color: var(--purple);
	background: transparent; }
div.pa-selector.purple.transparent:hover {
	color: var(--purple-overlay);
	background: var(--purple-o20pe); }
/* purple + outline */
div.pa-selector.purple.outline {
	color: var(--purple);
	border: 1px solid var(--purple);
	background: transparent; }
div.pa-selector.purple.outline:hover {
	color: var(--purple-overlay);
	border: 1px solid var(--purple-overlay);
	background: var(--purple-o20pe); }

/* pink */
div.pa-selector.pink {
	color: var(--pink);
	background: var(--pink-shine); }
div.pa-selector.pink:hover {
	color: var(--pink-overlay);
	background: var(--pink-o20pe); }
/* pink + transparent */
div.pa-selector.pink.transparent {
	color: var(--pink);
	background: transparent; }
div.pa-selector.pink.transparent:hover {
	color: var(--pink-overlay);
	background: var(--pink-o20pe); }
/* pink + outline */
div.pa-selector.pink.outline {
	color: var(--pink);
	border: 1px solid var(--pink);
	background: transparent; }
div.pa-selector.pink.outline:hover {
	color: var(--pink-overlay);
	border: 1px solid var(--pink-overlay);
	background: var(--pink-o20pe); }

/* magenta */
div.pa-selector.magenta {
	color: var(--magenta);
	background: var(--magenta-shine); }
div.pa-selector.magenta:hover {
	color: var(--magenta-overlay);
	background: var(--magenta-o20pe); }
/* magenta + transparent */
div.pa-selector.magenta.transparent {
	color: var(--magenta);
	background: transparent; }
div.pa-selector.magenta.transparent:hover {
	color: var(--magenta-overlay);
	background: var(--magenta-o20pe); }
/* magenta + outline */
div.pa-selector.magenta.outline {
	color: var(--magenta);
	border: 1px solid var(--magenta);
	background: transparent; }
div.pa-selector.magenta.outline:hover {
	color: var(--magenta-overlay);
	border: 1px solid var(--magenta-overlay);
	background: var(--magenta-o20pe); }

/* gray / This includes it in "trigger" of the system color. */



/* pa-menu
---------------------------------------------------------------------------------------------------
ul.pa-menu
	li
		a
		ul
			li
				a
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option :［ 並び方 / horizon , vertical（ 初期値 ）］［ 表現 / border ］
data属性 :［ data-status / active , badge ］［ data-function / toggle ］［ data-width ］
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
［ data-width ］に入れた値が、<a> タグに固定値として入る。メニューの幅を均一化したい場合に必要。
------------------------------------------------------------------------------------------------- */
ul.pa-menu {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	width: 100%; }

ul.pa-menu li {
	position: relative;
	display: block;
	list-style: none; }

ul.pa-menu li > a {
	display: inline-flex;
	align-items: center;
	width: 100%;
	padding: 8px 12px; }

ul.pa-menu li > a ~ ul {
    height: 0;
    opacity: 0;
	visibility: hidden;
	transition: all .2s ease-out; }

ul.pa-menu li > a ~ ul a {
	display: inline-flex;
	align-items: center;
	width: 100%;
	padding: 8px 12px 8px 44px; }

ul.pa-menu li > a > *:not(:first-child) {
	margin-left: 8px; }

ul.pa-menu li > a > *:not([data-attr="text"]) {
	flex-shrink: 0; }

ul.pa-menu li > a:hover { background: rgba(0,0,0,.1); }

ul.pa-menu li > a:hover i[data-attr="icon"],
ul.pa-menu li > a:hover span[data-attr="text"] {
	color: var(--indigo); }

ul.pa-menu i[data-attr="icon"] {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	justify-content: center;
	align-items: center;
	font-size: 1.6rem; }

ul.pa-menu span[data-attr="text"] {
	flex-grow: 1;
	line-height: 1.5;
	white-space: normal;
	word-break: break-all;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden; }

ul.pa-menu i[data-function="toggle"] {
	display: inline-flex;
	transition: all .2s ease-out; }

ul.pa-menu li[data-status="badge"] > a:after {
	content: attr(data-status-value)"";
	position: relative;
	display: inline-flex;
	flex-shrink: 0;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	min-width: 24px;
	height: 24px;
	margin-left: 8px;
	padding: 4px 8px;
	border-radius: 16px;
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--white);
	background-color: var(--indigo); }

ul.pa-menu li > a.js-toggle {
	background: rgba(0,0,0,.1); }
ul.pa-menu li > a.js-toggle ~ ul {
	height: auto;
	opacity: 1;
	visibility: inherit;
	transition: all .2s ease-out;}
ul.pa-menu li > a.js-toggle > i[data-function="toggle"] {
	transform: rotate(90deg);
	transition: all .2s ease-out; }

ul.pa-menu > li > a ~ ul > li > a ~ ul > li > a {
	padding-left: 60px; }
ul.pa-menu > li > a ~ ul > li > a ~ ul > li > a ~ ul > li > a {
	padding-left: 76px; }

ul.pa-menu a[data-status="active"] {
	color: var(--indigo);
	font-weight: 600; }

/* horizon */
ul.pa-menu.horizon {
	flex-direction: row; }

/* border */
ul.pa-menu.border li > a {
	border-left: 2px solid rgba(0,0,0,.12); }

ul.pa-menu.horizon.border li > a {
	border-left: none;
	border-bottom: 2px solid rgba(0,0,0,.12); }
ul.pa-menu.horizon.border a ~ ul li > a {
	border: none;  }

ul.pa-menu.border a[data-status="active"] {
	transition: all .2s ease-out;
	border-left: 2px solid var(--indigo); }

ul.pa-menu.horizon.border a[data-status="active"] {
	border-bottom: 2px solid var(--indigo); }

ul.pa-menu.horizon.border a ~ ul li > a.js-toggle,
ul.pa-menu.horizon.border a ~ ul li > a[data-status="active"] {
	border: none;  }

ul.pa-menu.border > li > a.js-toggle {
	border-left: 2px solid var(--indigo); }
ul.pa-menu.horizon.border > li > a.js-toggle {
	border-left: none;
	border-bottom: 2px solid var(--indigo); }



/* pa-tab
---------------------------------------------------------------------------------------------------
ul.pa-tab
	li
		a
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option :［ 表現 / border , switch , button ］［ 並び方 / horizon（ 初期値 ）, vertical ］
data属性 :［ data-status / active ］［ data-function / slider ］  
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
------------------------------------------------------------------------------------------------- */
ul.pa-tab {
	display: inline-flex;
	position: relative;
	width: 100%; }
ul.pa-tab > li {
	display: inline-flex;
	flex-shrink: 0; }
ul.pa-tab > li:not(:first-child) {
	margin: 0 0 0 8px; }
ul.pa-tab > li > a {
	display: inline-flex;
	align-items: center;
	width: 100%;
	padding: 8px 12px;
	background: var(--gray-light);
	border: 1px solid var(--gray-light);
	border-bottom: none; }
ul.pa-tab li > a > *:not(:first-child) {
	margin-left: 8px; }
ul.pa-tab > li > a:hover {
	color: var(--indigo);
	background: var(--gray-o20pe); }
ul.pa-tab > li[data-status="active"] > a {
	font-weight: 600;
	color: var(--indigo);
	background: var(--white);
	pointer-events: none; }

/* border */
ul.pa-tab.border > li:not(:first-child) {
	margin: 0; }
ul.pa-tab.border > li > a {
	padding: 8px 12px;
	background: transparent;
	border: none;
	border-bottom: 2px solid transparent; }
ul.pa-tab.border > li > a:hover {
	color: var(--indigo);
	background: var(--indigo-bright);
	border-bottom: 2px solid var(--indigo); }
ul.pa-tab.border > li[data-status="active"] > a {
	color: var(--indigo);
	border-bottom: 2px solid var(--indigo); }
ul.pa-tab.border > li[data-status="active"] > a {
	color: var(--indigo);
	background: transparent;
	border-bottom: 2px solid var(--indigo); }

/* switch */
ul.pa-tab.switch > li:not(:first-child) {
	margin: 0; }
ul.pa-tab.switch > li > a {
	padding: 8px 12px;
	background: var(--white);
	border: 1px solid var(--gray-light); }
ul.pa-tab.switch > li:first-child > a {
	border-radius: 2px 0 0 2px; }
ul.pa-tab.switch > li:last-child > a {
	border-radius: 0 2px 2px 0; }
ul.pa-tab.switch > li:not(:first-child) > a {
	border-left: none; }
ul.pa-tab.switch > li > a:hover {
	background: var(--indigo-o20pe); }
ul.pa-tab.switch > li[data-status="active"] > a {
	background-color: var(--indigo-bright); }

/* button */
ul.pa-tab.button > li:not(:first-child) {
	margin: 0 0 0 8px; }
ul.pa-tab.button > li > a {
	border-radius: 21px;
	background: var(--white);
	border: 1px solid var(--gray-clear); }
ul.pa-tab.button > li > a:hover {
	background: var(--indigo-o20pe); }
ul.pa-tab.button > li[data-status="active"] > a {
	background-color: var(--indigo-light); }

/* vertical */
ul.pa-tab.vertical {
	flex-direction: column; }
ul.pa-tab.vertical > li:not(:first-child) {
	margin: 8px 0 0 0; }
ul.pa-tab.vertical > li > a {
	border: 1px solid var(--gray-light);
	border-right: none; }

/* vertical + border */
ul.pa-tab.vertical.border {
	border-right: 2px solid transparent; }
ul.pa-tab.vertical.border > li:not(:first-child) {
	margin: 0; }
ul.pa-tab.vertical.border > li > a {
	border: none; }
ul.pa-tab.vertical.border > li > a:hover {
	border-right: 2px solid var(--indigo);}
ul.pa-tab.vertical.border > li[data-status="active"] > a {
	border: none;
	border-right: 2px solid var(--indigo); }

/* vertical + switch */
ul.pa-tab.vertical.switch > li:not(:first-child) {
	margin: 0; }
ul.pa-tab.vertical.switch > li > a {
	border: 1px solid var(--gray-light); }
ul.pa-tab.vertical.switch > li:first-child > a {
	border-radius: 2px 2px 0 0; }
ul.pa-tab.vertical.switch > li:last-child > a {
	border-radius: 0 0 2px 2px; }
ul.pa-tab.vertical.switch > li:not(:first-child) > a {
	border-top: none; }

/* vertical + button */
ul.pa-tab.vertical.button > li > a {
	border: 1px solid var(--gray-clear); }

/* data-function="slider" */
[data-function="slider"] {
	overflow: auto; }

[data-function="slider"] ~ ul.js-slider {
	position: absolute;
	width: 100%;
	top: calc(50% - 20px);
	left: 0; }
[data-function="slider"] ~ ul.js-slider li {
	position: absolute;
	list-style: none; }
[data-function="slider"] ~ ul.js-slider li.js-sliderLeft {
	left: 16px; }
[data-function="slider"] ~ ul.js-slider li.js-sliderRight {
	right: 16px; }

[data-function="slider"] ~ ul.js-slider li a {
	padding: 8px;
	border-radius: 20px;
	font-size: 1.6rem;
	background-color: var(--white);
	box-shadow: 0 0 8px 4px rgba(154,161,171,.15); }

[data-function="slider"] ~ ul.js-slider li.js-sliderLeft a i[data-attr="icon"] {
	margin: 4px 5px 4px 3px; }
[data-function="slider"] ~ ul.js-slider li.js-sliderRight a i[data-attr="icon"] {
	margin: 4px 3px 4px 5px; }

[data-function="slider"] ~ ul.js-slider li a:hover {
	background-color: var(--indigo-light); }
[data-function="slider"] ~ ul.js-slider li a:hover i[data-attr="icon"] {
	color: var(--indigo); }



/* pa-breadCrumb
---------------------------------------------------------------------------------------------------
ul.pa-breadCrumb
	li
		a
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option : -
data属性 : -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2023.05.16 / OKB / レスポンシブ表現の仕様が変わったため、パーツ整理の対象から一旦外す。
------------------------------------------------------------------------------------------------- */
ul.pa-breadCrumb {
	display: inline-flex;
	position: relative;
	width: 100%; }
ul.pa-breadCrumb > li {
	display: inline-flex; }
ul.pa-breadCrumb > li > a {
	display: inline-flex;
	align-items: center;
	width: 100%;
	padding: 6px 12px;
	border-radius: 18px; }
ul.pa-breadCrumb > li > a > * {
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
	white-space: normal !important; }
ul.pa-breadCrumb > li > a:hover {
	background: var(--indigo-o20pe); }
ul.pa-breadCrumb > li > i[data-attr="icon"] {
	align-items: center;
	margin: 0 4px; }
ul.pa-breadCrumb > li:first-child {
	display: none; }
ul.pa-breadCrumb > li:last-child {
	font-weight: bold; }
ul.pa-breadCrumb > li:last-child > a {
	pointer-events: none; }

@media screen and (max-width: 520px) {
	ul.pa-breadCrumb > li:not(:last-child) {
		display: none; }
	ul.pa-breadCrumb > li:first-child {
		display: inline-flex; }

	ul.pa-breadCrumb > li:last-child {
		flex-grow: 1;
		margin-right: 40px; }
	ul.pa-breadCrumb > li:last-child > a {
		justify-content: center; }

	ul.pa-breadCrumb > li:nth-child(odd) > a {
		width: 40px;
		height: 40px;
		border-radius: 20px;
		justify-content: center; }
}



/* pa-paginate
---------------------------------------------------------------------------------------------------
ol.pa-menu
	li
		a
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option : -
data属性 : -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2023.05.16 / OKB / 現状一覧などで使用しなくなっているため、パーツ整理の対象から一旦外す。
------------------------------------------------------------------------------------------------- */
ol.pa-paginate {
	position: relative;
	display: inline-flex;
	align-items: center;
	width: 100%; }

ol.pa-paginate > li {
	display: block;
	list-style: none; }

ol.pa-paginate > li > a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 32px;
	height: 32px;
	border-radius: 16px; }

ol.pa-paginate > li > a:hover {
	background-color: rgba(114,124,245,.2); }

ol.pa-paginate > li > a:hover {
	color: var(--indigo); }

ol.pa-paginate > span[data-attr="text"] {
	margin: 0 8px; }



/* pa-progressbar
---------------------------------------------------------------------------------------------------
div.pa-progressbar
	span
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option : -
data属性 : -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
2023.05.16 / OKB / 現状使用しなくなっているため、パーツ整理の対象から一旦外す。
------------------------------------------------------------------------------------------------- */
div.pa-progressbar {
	position: relative;
	width: 100%;
	height: 4px;
	background-color: var(--gray-bright);
	overflow: hidden; }

div.pa-progressbar > span {
	position: absolute;
	height: 100%;
	background-color: var(--indigo);
	animation: progress 4s normal;
	animation-fill-mode: forwards; }

@keyframes progress {
	0% { width: 0; }
	100% { width: 100%; }
}



/* pa-iframe
---------------------------------------------------------------------------------------------------
div.pa-iframe
	iframe
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option : ［ 形状 / circle , square（ 初期値 ）, radius , oval ］
data属性 : -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
------------------------------------------------------------------------------------------------- */
div.pa-iframe {
	display: inline-flex;
	position: relative;
	width: 100%; }

div.pa-iframe > iframe {
	width: 100%;
	height: 400px;
	border: 1px solid rgba(0,0,0,.1); }

/* circle */
div.pa-iframe.circle > iframe {
	border-radius: 50%; }

/* square / This option is set by default. */

/* radius */
div.pa-iframe.radius > iframe {
	border-radius: 4px; }

/* oval */
div.pa-iframe.oval > iframe {
	border-radius: 512px; }



/* pa-table
---------------------------------------------------------------------------------------------------
div.pa-table
	table
		colgroup
			col
		thead
			tr
				th
					( box )
		tbody
			tr
				th
					( box )
				td
					( box )
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
option : ［ 形状 / circle , square（ 初期値 ）, radius , oval ］
data属性 : -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
・td自体は b2 と同様の認識とし、その内に直接 parts を配置しても良い。
・セルの幅を固定化したい場合は、td 直下の要素にcol に【 display: inline-blick 】【 min-width 】を指定する。

・［ div.b2 ］に【 min-width 】【 white-space 】【 justify-contents 】とその値を指定する。

・stickyを使用する場合は、div.pa-table に 【 overflow: auto 】と【 max-height: XXX; 】を指定する。
＊高さの指定は【 min-height 】を推奨。指定の高さよりも行数が少ない場合でも収まるため。
------------------------------------------------------------------------------------------------- */
div.pa-table {
	display: inline-flex;
	position: relative;
	width: 100%; }

div.pa-table > table {
	width: 100%;
	border-collapse: separate; }

div.pa-table > table thead tr th {
	position: relative;
	background-color: var(--gray-bright); }

div.pa-table > table tbody tr th {
	background: rgba(49,58,70,.08); }

div.pa-table > table tbody tr th,
div.pa-table > table tbody tr td {
	border-bottom: 1px solid var(--gray-clear); }

div.pa-table > table thead tr th,
div.pa-table > table tbody tr:first-child th,
div.pa-table > table tbody tr:first-child td {
	border-top: 1px solid var(--gray-clear); }

div.pa-table > table th,
div.pa-table > table td {
	padding: 8px;
	vertical-align: middle;
	word-break: break-all;
	white-space: normal; }

div.pa-table > table tbody:first-child td {
	border-top: none; }

div.pa-table td .b1,
div.pa-table td .b2 { position: static; }

/* sticky */
div.pa-table.sticky {
	position: static;
	overflow: auto; }
div.pa-table.sticky > table {
	table-layout: auto; }
div.pa-table.sticky > table thead tr th {
	padding: 8px;
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 1; }
div.pa-table.sticky > table th,
div.pa-table.sticky > table td,
div.pa-table.sticky > table th > *,
div.pa-table.sticky > table td > * {
	white-space: nowrap; }

/* responsive */
/* */
div.pa-table.responsive > table  { table-layout: auto; }
div.pa-table.responsive > table thead { display: none; }
div.pa-table.responsive > table tbody tr {
	position: relative;
	display: grid;
	padding: 8px; }
div.pa-table.responsive > table tbody tr:not(:first-child) {
	border-top: 1px solid var(--gray-clear); }


/* 2022.07.21 */
div.pa-table.responsive table tbody tr > *[data-status="responsive"] {
	display: flex;
	align-items: center;
	padding: 8px;
	border-bottom: none; }
/* */

/* 2022.07.21 */
div.pa-table.responsive table tbody tr > *:not([data-status="responsive"]) {
	display: none; }
/* */

/* 2022.07.21 */
div.pa-table.responsive table tbody tr *[data-status="responsive"] > *:before {
	content: attr(data-responsive-title)"";
	position: absolute;
    display: inline-flex;
	left: 0;
	width: 64px;
	height: 100%;
	justify-content: flex-end;
	align-items: center;
	font-weight: 600;
	text-align: right; }

div.pa-table.responsive table tbody tr *[data-responsive-title] {
	position: relative;
	padding-left: 72px;
	min-height: 24px; }
/* */


/* 2022.07.19  / OKB / 打刻画面で使用しているため一旦戻す */
/* */
@media screen and (min-width: 520px) {
	div.pa-table.responsive table thead { display: table-header-group; }

	div.pa-table.responsive table tbody tr {
		display: table-row; }

	div.pa-table.responsive table tbody tr > *:not([data-status="responsive"]) {
		display: table-cell; }

	div.pa-table.responsive table tbody tr *[data-status="responsive"] > *:before {
		display: none; }

	div.pa-table.responsive table tbody tr > *[data-status="responsive"] {
		display: table-cell;
		border-bottom: 1px solid #ccd3d6; }

	div.pa-table.responsive table tbody tr *[data-responsive-title] {
		position: inherit;
		padding-left: 0; }
}
/* ここまで - - - - - - - - - - 2022.07.19  / OKB */

@media screen and (max-width: 519px) {
	div.pa-table.responsive > table {
		table-layout: auto; }
	div.pa-table.responsive > table thead {
		display: none; }
	div.pa-table.responsive > table tbody tr:not(:first-child) {
		border-top: 1px solid var(--gray-clear); }

	div.pa-table.responsive > table colgroup,
	div.pa-table.responsive > table thead {
		display: none; }
	div.pa-table.responsive > table tbody tr {
		position: relative;
		display: grid;
		grid-gap: 4px;
		padding: 8px;
		align-items: center; }
	div.pa-table.responsive > table tbody tr:first-child td {
		border-top: none; }
	div.pa-table.responsive > table tbody tr td {
		border-bottom: none;
		padding: 0; }
}




/* responsive + sticky */
div.pa-table.sticky.responsive {
	position: inherit;
	max-height: 100%;
	overflow-x: hidden;
	overflow-y: auto; }

div.pa-table.sticky.responsive > table th,
div.pa-table.sticky.responsive > table td,
div.pa-table.sticky.responsive > table th > *,
div.pa-table.sticky.responsive > table td > * {
	white-space: normal; }

@media screen and (min-width: 520px) {
	div.pa-table.sticky.responsive {
		position: static;
		overflow: auto; }

	div.pa-table.sticky.responsive > table th,
	div.pa-table.sticky.responsive > table td,
	div.pa-table.sticky.responsive > table th > *,
	div.pa-table.sticky.responsive > table td > * {
		white-space: nowrap; }

	div.pa-table.responsive.stripe table tbody tr > *[data-status="responsive"] {
		border-bottom: 0; }
}


/* stripe */
div.pa-table.stripe table tbody tr:nth-child(even) {
	background: rgba(49,58,70,.03); }
div.pa-table.stripe > table tbody tr th,
div.pa-table.stripe > table tbody tr td { border-bottom: none; }


/* responsive + stripe */
div.pa-table.responsive.stripe > table tbody tr:not(:first-child) {
	border-top: 0; }


/* border */
div.pa-table.border > table th,
div.pa-table.border > table td {
	border-right: 0; }
div.pa-table.border > table tbody tr:first-child th,
div.pa-table.border > table tbody tr:first-child td {
	border-top: 1px solid #ccd3d6; }
div.pa-table.border > table thead ~ tbody tr:first-child th,
div.pa-table.border > table thead ~ tbody tr:first-child td {
	border-top: 0; }
div.pa-table.border > table thead th,
div.pa-table.border > table tbody th,
div.pa-table.border > table tbody td {
	border-left: 1px solid #ccd3d6;
	border-bottom: 1px solid #ccd3d6; }
div.pa-table.border > table th:last-child,
div.pa-table.border > table td:last-child { border-right: 1px solid #ccd3d6; }

/*
@media screen and (min-width: 520px) {
	div.pa-table.border > table tbody th,
	div.pa-table.border > table tbody td {
		border-left: 1px solid #ccd3d6; }
}
*/

/* responsive + border */
div.pa-table.responsive.border > table tbody th,
div.pa-table.responsive.border > table tbody td {
	border-right: 0; }
@media screen and (min-width: 520px) {
	div.pa-table.responsive.border > table tbody th,
	div.pa-table.responsive.border > table tbody td {
		border-left: 1px solid #ccd3d6; }
	div.pa-table.responsive.border > table th:last-child,
	div.pa-table.responsive.border > table td:last-child {
		border-right: 1px solid #ccd3d6; }
}


/* stripe + border */
div.pa-table.stripe.border > table tbody tr:last-child th,
div.pa-table.stripe.border > table tbody tr:last-child td { border-bottom: 0; }

@media screen and (min-width: 520px) {
	div.pa-table.stripe.border > table tbody tr:last-child th,
	div.pa-table.stripe.border > table tbody tr:last-child td { border-bottom: 1px solid #ccd3d6; }
}


/* responsive + stripe + border */
div.pa-table.responsive.stripe.border > table tbody th,
div.pa-table.responsive.stripe.border > table tbody td {
	border-left: 0; }
@media screen and (min-width: 520px) {
	div.pa-table.responsive.stripe.border > table tbody th,
	div.pa-table.responsive.stripe.border > table tbody td {
		border-left: 1px solid #ccd3d6; }
}


/* hover */
div.pa-table.hover table tbody tr:hover {
	background: rgba(241,243,250,.8);
	box-shadow: 0 0 32px 0 rgba(154,161,171,.3); }


/* sort */
div.pa-table > table thead tr th[data-function="sort"] i[data-attr="icon"] {
	display: none; }
div.pa-table.sort i[data-attr="icon"] {
	display: inline-flex; }
div.pa-table.sort > table thead tr th[data-function="sort"] {
	position: relative;
	cursor: pointer; }
div.pa-table.sort > table thead tr th[data-function="sort"] > span.pa-text {
	display: inline-flex;
	margin-left: -12px; }
div.pa-table.sort > table thead tr th > span.pa-text ~ i[data-attr="icon"] {
	position: absolute;
	display: inline-flex;
	margin-left: 4px;
	font-size: 1.0rem; }
div.pa-table.sort > table thead tr th > span.pa-text ~ i[data-attr="icon"] {
	top: calc(50% - 9px); }
div.pa-table.sort > table thead tr th > span.pa-text ~ i[data-attr="icon"] ~ i[data-attr="icon"] {
	top: calc(50% - 1px); }

/* sort + asc */
div.pa-table.sort > table thead tr th[data-function="sort"][data-status="asc"] > i[data-attr="icon"]:nth-child(2) {
	top: calc(50% - 12px);
	margin-left: 2px;
	font-size: 1.4rem; }

/* sort + desc */
div.pa-table.sort > table thead tr th[data-function="sort"][data-status="desc"] > i[data-attr="icon"]:nth-child(3) {
	top: calc(50% - 2px);
	margin-left: 2px;
	font-size: 1.4rem; }

/* dragger */
div.pa-table.dragger i[data-function="dragger"] {
	cursor: move; }

/* sticky + sort */
div.pa-table.sticky.sort thead tr th[data-function="sort"] {
	position: -webkit-sticky;
	position: sticky; }


