@charset "utf-8";

/* =============================================================================
    reset
============================================================================= */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
	margin: 0;
	padding: 0
}
table {
	border-collapse: collapse;
	border-spacing: 0
}
fieldset, img {
	border: 0
}
address, caption, cite, code, dfn, span, em, strong, th, var {
	font-style: normal;
	font-weight: 400
}
ol, ul {
	list-style: none
}
caption, th {
	text-align: left
}
h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: 400
}
q:before, q:after {
	content: ''
}
abbr, acronym {
	border: 0
}
strong, em {
	font-weight: medium
}
figure {
	margin: 0;
	padding: 0
}
input:focus, textarea:focus, select:focus, button:focus {
	outline: none
}
input, button, textarea, select {
	color: #000;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	font-size: 100%
}

/* =============================================================================
    common
============================================================================= */
html {
	font-size: 62.5%;
}
body {
	font-size: 1.4rem;
	font-family: "Zen Maru Gothic", serif;
	color: #323743;
	font-feature-settings: "palt";
	line-height: 1.5;
	background: #fff;
}
body * {
	box-sizing: border-box
}
input, button, textarea, select {
	font-family: "Zen Maru Gothic", serif;
}
img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
@media print, screen and (min-width:960px) {
	body {
		font-size: 1.6rem;
	}
}

@media screen and (max-width: 959px){
	html.modalLock{
		overflow: inherit;
	}
	body.modalLock{
		height: calc(var(--window-inner-height) - 1px);
		overflow: hidden;
		box-sizing: border-box;
	}
}
@media screen and (min-width: 960px){
	body.modalLock{
		position: fixed;
		width: 100%;
		height: 100%;
		left: 0;
		overflow-y: scroll;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100%;
    height: 100%;
	background: rgba(0, 0, 0, 0.6);
	opacity: 0;
	visibility: hidden;
	transition: opacity .4s ease, visibility .4s, transform .4s ease;
}
.overlay.is-open{
	opacity: 1;
	visibility: visible;
}


/*  共通リンク色・別ウィンドウ
-----------------------------------------------------------*/
a, a:link, a:visited, a:hover {
	color: #000;
	text-decoration: none;
}
a.link-txt {
	color: #3498DB;
	text-decoration: underline;
}
@media print, screen and (min-width:960px) {
	a.link-txt:hover {
		text-decoration: none;
	}
}

/*  アイコン
-----------------------------------------------------------*/
.m-ico {
	display: inline-flex;
	align-items: center;
	font-style: normal;
	vertical-align: middle;
	font-weight: 400
}
.m-ico:before {
	position: relative;
	top: -1px;
	font-family: 'Material Icons Round';
	content: attr(data-icon);
	font-size: 100%
}
.m-ico.-arrow {
	transform: scale(1.3)
}
@media print, screen and (min-width:960px) {
	.m-ico.-arrow {
		transform: scale(1.5)
	}
}

/*  表示・非表示
-----------------------------------------------------------*/
@media screen and (max-width:959px){.pc-only{display:none}}@media print, screen and (min-width:960px){.sp-only{display:none}}.sr-only{display:none}

/*  パンくず
-----------------------------------------------------------*/
.breadcrumbs {
	width: 100%;
	padding: 8px 16px;
	line-height: 1;
	border-bottom: solid 1px #e4e7ed;
}
.breadcrumbs_wrapper {
	display: flex;
	align-items: center
}
.breadcrumbs_contents {
	display: block;
	width: 100%
}
.breadcrumbs_item {
	display: inline-flex;
	align-items: center;
	font-size: 1.2rem;
	line-height: 1.4;
	vertical-align: middle;
	margin-right: 4px
}
.breadcrumbs_item.-home {
	flex-shrink: 0
}
.breadcrumbs_inner {
	margin-bottom: -4px;
	padding-bottom: 4px;
	overflow-x: auto;
	white-space: nowrap;
	width: 76vw
}
.breadcrumbs_item:not(:last-child):after {
	color: #999;
	font-family: 'Material Icons Round';
	content: "\e5cc";
	margin-left: 4px
}
a.breadcrumbs_anchor {
	font-weight: 600
}
@media print, screen and (min-width:960px){
	.breadcrumbs {
		padding: 4px 0;
	}
	.breadcrumbs_wrapper {
		margin: 0;
	}
	.breadcrumbs_item.-home, .breadcrumbs_item {
		margin-right: 0
	}
	.breadcrumbs_inner {
		width: inherit
	}
	.breadcrumbs_item {
		font-size: 1.4rem;
		line-height: 2;
	}
	.breadcrumbs.-pos{
		position: absolute;
		top: 0;
		left: 0;
		z-index: 1;
	}
	.breadcrumbs.-pos .breadcrumbs_item,
	.breadcrumbs.-pos .breadcrumbs_item a,
	.breadcrumbs.-pos .breadcrumbs_item:not(:last-child):after{
		color: #fff;
	}
}
/*  pagetop
============================================================================= */
.page-top{position:fixed;right:20px;bottom:20px;z-index:100;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}.page-top a{display:flex;align-items:center;justify-content:center;width:50px;height:50px;font-size:2.4rem;border:1px solid #fff;border-radius:4px;background:rgba(207,240,255,1);transition:opacity .3s}.page-top a:hover{opacity:.6}.page-top.is-active{visibility:visible;opacity:1}




/* Page Container
-----------------------------------------------------------*/
.page-container{
	position: relative;
	display: flex;
    flex-direction: column;
    margin: 0 auto;
    width: 100%;
    min-width: 320px;
    min-height: 100vh;
    background-color: #f0f2f5;	
}

@media print, screen and (min-width:960px){
	.page-container{
		position: relative;
		display: flex;
		flex-direction: column;
		margin: 0 auto;
		padding-left: 250px;
		width: 100%;
		min-width: 320px;
		min-height: 100vh;
		background-color: #f0f2f5;	
	}
}

/* Header / Sidebar
-----------------------------------------------------------*/
.header{
	width: 100%;
    background-color: #fff;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    will-change: transform;	
	box-shadow: .25rem 0 .625rem #e4e7ed;
	background: #fff;
}

/* logo */
.header-ttl{
	padding: 8px;
	background: #000;
}
.header-ttl_logo{
	position: relative;
	margin: 0 auto;
	width: 200px;
}
.header-ttl_logo span{
	display: inline-block;
	width: 100%;
	color: #fff;
	font-size: 1.4rem;
	text-align: center;
}

/* Profile */
.header-user{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 16px;
	background: #f6f7f9;
}
.header-user_name span{
	font-size: 1.8rem;
	font-weight: bold;
}
.header-user_list{
	display: flex;
	justify-content: center;
	margin-left: 16px;
	border-left: solid 1px #ccc;
}
.header-user_listitem{
	margin-left: 16px;
	font-size: 2.0rem;
}
.header-user_listitem a{
	transition: color .2s ease-out;
}
.header-user_listitem a:hover{
	color: #0284c7;
}
.header-user_listitem .m-ico{
	line-height: 1;
}

/* Navigation */
.header-nav{
	padding: 16px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	will-change: transform;	
}
.header-nav_header{
	display: inline-block;
	margin: 16px 0 8px 0;
}
.header-nav_listitem a{
	position: relative;
	display: flex;
	padding: 8px 24px 8px 0;
	color: #667079;
	font-weight: bold;
	transition: color .2s ease-out;
}
.header-nav_listitem a.is-active{
	color: #000;
}
.header-nav_listitem a.is-active .header-nav_ico{
	color: #0284c7;
}
.header-nav_ico{
	flex: none;
	margin-right: 8px;
	color: #999;
	font-size: 2.0rem;
	line-height: 1;
	transition: color .2s ease-out;
}
.header-nav_arrow{
	position: absolute;
	right: 0px;
	top: auto;
	bottom: auto;
	color: #999;
}
.header-nav_listitem a:hover{
	color: #000;
}
.header-nav_listitem a:hover .header-nav_ico{
	color: #0284c7;
}
@media screen and (max-width: 959px) {
	.modalNav .header{
		position: relative;
		z-index: 1000;
	}
	.modalNav .menu{
		z-index: 1001;
	}
	.header-nav{
		display: none;
		position: fixed;
		right: 0;
		top: 0;
		z-index: 1000;
		padding: 24px;
		width: 100%;
		height: 100vh;
		transform: translateX(100px);
		background-color: rgba(255, 255, 255, 0.9);
		opacity: 0;
		visibility: hidden;
		transition: opacity .4s ease, visibility .4s, transform .4s ease;
	}
	.header-nav.is-open {
		display: block;
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
	}
	.header-nav_sublist{
		display: flex;
		flex-wrap: wrap;
	}
	.header-nav_sublist > .header-nav_listitem{
		width: calc(100% / 2);
	}
	.header-nav_listitem .m-ico.header-nav_arrow{
		display: none;
	}
	
}

@media print, screen and (min-width:960px){
	.header{
		position: fixed;
		left: 0;
		top: 0;
		bottom: 0;
		z-index: 1000;
		display: flex;
		flex-direction: column;
		width: 250px;
		background-color: #fff;
		box-shadow: .25rem 0 .625rem #e4e7ed;
		background: #fff;
	}

	/* logo */
	.header-ttl{
		padding: 8px;
		background: #000;
	}
	.header-ttl_logo{
		position: relative;
		margin: 0 auto;
		width: 200px;
	}
	.header-ttl_logo span{
		display: inline-block;
		width: 100%;
		color: #fff;
		font-size: 1.4rem;
		text-align: center;
	}

	/* Profile */
	.header-user{
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 16px;
		background: #f6f7f9;
	}
	.header-user_name span{
		font-size: 1.8rem;
		font-weight: bold;
	}
	.header-user_list{
		display: flex;
		justify-content: center;
		margin-left: 8px;
		border-left: solid 1px #ccc;
	}
	.header-user_listitem{
		margin-left: 8px;
		font-size: 2.0rem;
	}
	.header-user_listitem a{
		transition: color .2s ease-out;
	}
	.header-user_listitem a:hover{
		color: #0284c7;
	}

	/* Navigation */
	.header-nav{
		display: block;
		padding: 16px;
		flex: 1;
	}
	
	/* スクロールバー */
	.header-nav::-webkit-scrollbar{
		width: 6px;
		height: 6px;
	}
	/* スクロールの背景の設定 */
	.header-nav::-webkit-scrollbar-track{
		border-radius: 6px;
	}
	/* スクロールのつまみ部分の設定 */
	.header-nav::-webkit-scrollbar-thumb{
		border-radius: 6px;
		background: #cecacd;
	}	
	
	.header-nav_header{
		display: inline-block;
		margin: 16px 0 8px 0;
	}
	.header-nav_listitem a{
		position: relative;
		display: flex;
		padding: 8px 24px 8px 0;
		color: #667079;
		font-weight: bold;
		transition: color .2s ease-out;
	}
	.header-nav_listitem a.is-active{
		color: #000;
	}
	.header-nav_listitem a.is-active .header-nav_ico{
		color: #0284c7;
	}
	.header-nav_ico{
		flex: none;
		color: #999;
		line-height: 1;
		transition: color .2s ease-out;
	}
	.header-nav_arrow{
		position: absolute;
		right: 0px;
		top: auto;
		bottom: auto;
		color: #999;
	}
	.header-nav_listitem a:hover{
		color: #000;
	}
	.header-nav_listitem a:hover .header-nav_ico{
		color: #0284c7;
	}
}


/* MENU
-----------------------------------------------------------*/
@media screen and (max-width: 959px) {
	.menu{
		position: absolute;
		right: 0;
		top: 0;
		width: 59px;
	}
	.menuBt{
		cursor: pointer;
		position: relative;
		display: flex;
		align-items: center;
		flex-direction: column;
		padding-top: 2.5rem;
		padding: calc(2.5rem + 8px) 8px 8px;
		color: #fff;
		width: 100%;
		height: 100%;
		font-family: "Jost", serif;
		background: #000;
		transition: color .2s ease-out, transform .2s ease-out;
	}
	.menuBar{
		position: absolute;
		right: 0;
		left: 0;
		content: "";
		display: inline-block;
		margin: auto;
		width: 2.5rem;
		height: 3px;
		opacity: 1;
		border-radius: 50vw;
		background-color: #fff;
		transition: top .4s ease, opacity .4s ease, width .4s ease, left .4s ease, right .4s ease, transform .4s ease;
	}
	.menuBar:first-child{
		top: 12px;
	}
	.menuBar:nth-child(2){
		top: calc(12px + 0.8rem);
	}
	.menuBar:nth-child(3){
		top: calc(12px + 1.6rem);
	}

	.modalNav .navigation{
		box-shadow: none;
		background: none;
		pointer-events: none;
		z-index: 1001;
	}
	.modalNav .navigationWp{
		opacity: 0;
		visibility: hidden;
	}
	.modalNav .menu {
		border-left: none;
		pointer-events: auto;
	}
	.is-open .menuBar:first-child{
		top: 20px;
		transform: rotate(137deg);
		animation: menuAnimation .4s ease-in-out forwards
	}
	.is-open .menuBar:nth-child(2){
		top: 20px;
		width: 1.0rem;
		height: 1.0rem;
		opacity: 0
	}
	.is-open .menuBar:nth-child(3){
		top: 20px;
		transform: rotate(-137deg);
		animation: menuAnimation .4s ease-in-out forwards
	}
}
@media print, screen and (min-width:960px) {
	.menu{
		display: none;
	}
}

@keyframes menuAnimation {
    40% {
        width: 1.0rem;
        height: 1.0rem;
    }
    60% {
        width: 1.0rem;
        height: 1.0rem;
    }
    100% {
        width: 2.5rem;
        height: 3px
    }
}

.navigationPanel{
	position: fixed;
	right: 0;
	top: 0;
	z-index: 1000;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 40px 5vw 80px;
	width: 100%;
	height: 100vh;
	transform: translateX(100px);
	background-color: rgba(255,255,255,0.9);
	opacity: 0;
	visibility: hidden;
	overflow: hidden;
	transition: opacity .4s ease, visibility .4s, transform .4s ease;
}
.navigationPanel.is-open{
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
}
.navigationPanel .sitemap{
	max-width: 1000px;
}
@media print, screen and (min-width:960px) {
	.navigationPanel{
		width: 70vw;
	}

	.navigationPanel .sitemapWp{
		flex-wrap: wrap;
		margin-top: -3vw;
	}
	.navigationPanel .sitemapColumn{
		flex: none;
		margin: 3vw 0 0 32px;
		width: calc(100% / 3 - 32px);
	}
	.sitemapColumn:nth-child(3),.sitemapColumn:nth-child(4){
		order: 1;
	}
	
}



/* Main
-----------------------------------------------------------*/
.main{
	flex: 1;
}
.page-contents{
	margin: 16px 16px 0;
}

@media print, screen and (min-width:960px){
	.main{
		flex: 1 0 auto;
		padding: 16px 32px 80px;
	}
	.page-contents{
		margin: 24px 0 0;
	}
}

/* ページタイトル */
.page-header{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.page-header_ttl{
	flex: 1;
	line-height: 1.3;
	font-size: 2.0rem;
	font-weight: bold;
}
.page-header_ttl .fs{
	font-size: 1.2rem;
	font-weight: bold;
}
.page-header_ttl .m-ico{
	margin-right: 4px;
	font-size: 2.5rem;
	line-height: 1;
}
.page-header_list{
	display: flex;
	margin-left: -8px;
}
.page-header_listitem{
	margin-left: 8px;
}
@media print, screen and (min-width:960px){
	.page-header{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.page-header_ttl{
		flex: 1;
		line-height: 1.3;
		font-size: 2.6rem;
		font-weight: bold;
	}
	.page-header_ttl .fs{
		font-size: 1.2rem;
		font-weight: bold;
	}
	.page-header_ttl .m-ico{
		margin-right: 4px;
		font-size: 2.5rem;
		line-height: 1;
	}
	.page-header_list{
		display: flex;
		margin-left: -8px;
	}
	.page-header_listitem{
		margin-left: 8px;
	}
}


/* Block */
.block{
	margin: 16px auto 0;
	max-width: 1200px;
	background-color: #fff;
    box-shadow: 0 1px 2px rgba(220, 225, 232, .5), 0 1px 2px rgba(220, 225, 232, .5);
}
.block-sub:not(:first-child){
	margin-top: 40px;
}
.block-rounded{
	overflow: hidden;
	border-radius: 8px;
}
.block-header{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding: 8px 16px;
	background-color: #f6f7f9;
}
.block-sub-header{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 8px;
	border-bottom: dashed 1px #ccc;
}
.block-header_ttl{
	font-size: 1.8rem;
	font-weight: bold;
}
.block-sub-header_ttl{
	font-size: 1.8rem;
	font-weight: bold;
}
.block-header_btlist{
	display: flex;
	overflow: hidden;
	border-radius: 4px;
}
.block-header_btlistitem a{
	display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    padding: 4px;
    width: 40px;
    height: 40px;
	font-size: 2.5rem;
    background: #454c53;
    transition: background 0.2s;
}
.block-header_btlistitem a:hover{
	background: #000;
}
.block-header_btSort{
	font-size: 2.5rem;
}
.block-header_btSort_icon .m-ico{
	cursor: pointer;
	transition: opacity 0.2s;
}
.block-header_btSort_icon .m-ico::before{
	transition: transform .3s ease;
}
.block-header_btSort_icon[aria-expanded="true"] .m-ico::before{
	transform: rotateZ(179deg);
}

.block-contents{
    padding: 16px 16px 24px;
}
.block-sub-contents{
	margin-top: 24px;
}
.block.block-rounded > .block-content:last-child {
    border-bottom-right-radius: 16px;
    border-bottom-left-radius: 16px;
}
@media print, screen and (min-width:960px){
	.block{
		margin: 40px auto 0;
		max-width: 1200px;
		background-color: #fff;
		box-shadow: 0 1px 2px rgba(220, 225, 232, .5), 0 1px 2px rgba(220, 225, 232, .5);
	}
	.block-sub:not(:first-child){
		margin-top: 40px;
	}
	.block-rounded{
		overflow: hidden;
		border-radius: 24px;
	}
	.block-header{
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		padding: 16px 32px;
		background-color: #f6f7f9;
	}
	.block-sub-header{
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		padding-bottom: 8px;
		border-bottom: dashed 1px #ccc;
	}
	.block-header_ttl{
		font-size: 2.1rem;
		font-weight: bold;
	}
	.block-sub-header_ttl{
		font-size: 1.8rem;
		font-weight: bold;
	}
	.block-header_btlist{
		display: flex;
		overflow: hidden;
		border-radius: 4px;
	}
	.block-header_btlistitem a{
		display: flex;
		justify-content: center;
		align-items: center;
		color: #fff;
		padding: 4px;
		width: 40px;
		height: 40px;
		font-size: 2.5rem;
		background: #454c53;
		transition: background 0.2s;
	}
	.block-header_btlistitem a:hover{
		background: #000;
	}
	.block-header_btSort_icon .m-ico:hover{
		opacity: .6;
	}
	.block-contents{
		padding: 32px;
	}
	.block-sub-contents{
		margin-top: 24px;
	}
	.block.block-rounded > .block-content:last-child {
		border-bottom-right-radius: 16px;
		border-bottom-left-radius: 16px;
	}
}

























/* PAGE
============================================================================= */
.sect:not(:first-of-type){
	margin-top: 32px;
}
.sect-sub{
	margin-top: 24px;
}
.sectBd{
	margin-top: 24px;
}
.inner{
	padding: 0 10px;
}
.ttl{
	font-size: 2.1rem;
	font-weight: bold;
}
.ttl-sub{
	font-size: 1.8rem;
	font-weight: bold;
}
.ttl-wrap{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 8px;
}
.ttl-wrap.-line{
	position: relative;
	border-bottom: solid 1px #ccc;
}
.ttl-wrap.-line:before{
	position: absolute;
	left: 0;
	bottom: -1px;
	content: "";
	direction: inline-block;
	width: 200px;
	height: 3px;
	background: #333;
}
.ttl-wrap.-line2{
	border-bottom: dashed 1px #ccc;
}

.ttl-btlist{
	display: flex;
	margin-left: -8px;
}
.ttl-btlist_item{
	margin-left: 8px;
}


.sect-body{
	margin-top: 20px;
}

/* ※印 */
ul.kome li, p.kome{
	display: flex;
	font-size: 1.2rem;
}
ul.kome li:before,
p.kome:before{
	content: "※";
	padding-right: .2em;
}
@media print,screen and (min-width:1000px){
	ul.kome li, p.kome{
		font-size: 1.4rem;
	}
}

@media screen and (min-width: 1000px){
	.sect:not(:first-of-type){
		margin-top: 80px;
	}
	.sect-sub{
		margin-top: 32px;
	}
	.inner{
		position: relative;
		margin: 0 auto;
		width: 100%;
		max-width: 1280px;
	}
	.ttl{
		font-size: 2.5rem;
	}
	.ttl-sub{
		font-size: 2.0rem;
	}
}


/* WIDTH
============================================================================= */
.w200{
	width: 100%;
	max-width: 200px;
}

/* MARGIN
============================================================================= */
.mt8{
	margin-top: 8px;
}
.mt16{
	margin-top: 16px;
}
.mt24{
	margin-top: 24px;
}

/* FORM
============================================================================= */
/* input */
.inputBox{
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	text-overflow: ellipsis;
}
.inputBox .m-ico{
	position: absolute;
	right: 8px;
	transition: .2s;
	transform: rotateZ(0) scale(1.5);
	pointer-events: none;
}
.inputBox[aria-expanded=true] .m-ico{
	transform: rotateZ(180deg) scale(1.5);
}
.inputBox .inputSelect{
	cursor: pointer;
}
.inputBox{
	position: relative;
}
.form-label{
	position: absolute;
	left: 1em;
	top: 0;
	z-index: 1;
	transform: translateY(-50%);
	padding: 0 5px;
	line-height: 1;
	font-size: 1.3rem;
	background-image: linear-gradient(transparent 49%, #fff 50%);
}
.inputTxt:not(.is-nostyle){
	display: block;
	padding: 8px 16px;
	width: 100%;
	height: 48px;
	text-align: left;
	line-height: 1;
	color: #2c3034;
	outline: 0;
	background: #fff;
	
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-clip: padding-box;
	border: solid 1px #d8dde5;
	border-radius: 8px;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;	
}
.inputTxt::placeholder{
	color: #ccc;
	font-size: 1.4rem;
}
.inputTxt:not(:readonly):focus{
    color: #2c3034;
    background-color: #fff;
    border-color: #81c2e3;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(2, 132, 199, .25);
}
.inputTxt:disabled{
	background: #eee;
}
.inputTxt.-short{
	max-width: 200px;
}


/* pulldown（ボタン） */
.btn-select{
	position: relative;
	display: inline-block;
	width: 100%;
}
.btn-select_input{
	cursor: pointer;
	white-space: nowrap;
	overflow: hidden;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px 16px;
	width: 100%;
	height: 48px;
	min-height: calc(1em + 31px);
	text-align: left;
	text-overflow: ellipsis;
	line-height: 1;
	color: #383d42!important;
	border: 1px solid #bcbdc2;
	outline: 0;
	background: #fff;
}
@media print,screen and (min-width:1000px){
	.btn-select_input{
		padding: 13px 20px;
	}
}
.btn-select_input .m-ico{
	transition: .2s;
	transform: rotateZ(0) scale(1.5);
}
[aria-dropdown="true"] .btn-select_input .m-ico{
	transform: rotateZ(180deg) scale(1.5);
}
.btn-select_panel{
	position: absolute;
	z-index: 10;
	padding-top: 10px;
	width: 100%;
	height: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s ease-in-out, visibility .3s ease-in-out;
}
[aria-dropdown="true"] .btn-select_panel{
	display: block;
	visibility: visible;
	opacity: 1;
}
.btn-selectlist{
	border-radius: 5px;
	border: solid 1px #bcbdc2;
	max-height: 400px;
	height: auto;
	background: #fff;
	overflow-y: auto;
}
.btn-selectlist_item{
	padding: 10px;
	line-height: 1.4;
}
@media print,screen and (min-width:1000px){
	.btn-selectlist_item{
		padding: 13px 17px;
	}
}
.btn-selectlist_item{
    cursor: pointer;
}
.btn-selectlist_item.is-active, .btn-selectlist_item:not(.is-active):hover{
	background: #f3fafb;
}

/* pulldown */
.selectBox {
    position: relative;
}
.selectBox .selectDown{
    cursor: pointer;
    padding: 0 24px 0 16px;
    width: 100%;
    height: 48px;
	border-radius: 8px;
    border: 1px solid #d8dde5;
    background: #fff;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;	
}
.selectBox .selectDown:focus{
	color: #2c3034;
	background-color: #fff;
	border-color: #81c2e3;
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(2, 132, 199, .25);
}

.selectBox .m-ico{
	pointer-events: none;
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 2.0rem;
}

/* select */
.form-select_box{
	position: relative;
}
.form-select_box .m-ico{
	position: absolute;
	right: 10px;
	transition: .2s;
	transform: rotateZ(0) scale(1.5);
	pointer-events: none;
}
.select_input{
	position: relative;
	cursor: pointer;
	padding: 13px 20px;
}

[aria-pulldown="true"] .form-select_box .m-ico{
	transform: rotateZ(180deg) scale(1.5);
}
.form-select_panel{
	position: absolute;
	z-index: 10;
	padding-top: 10px;
	width: 100%;
	height: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s ease-in-out, visibility .3s ease-in-out;
}
[aria-pulldown="true"] .form-select_panel{
	display: block;
	visibility: visible;
	opacity: 1;
}
.form-selectlist{
	border-radius: 5px;
	border: solid 1px #bcbdc2;
	max-height: 400px;
	height: auto;
	background: #fff;
	overflow-y: auto;
}

.form-selectlist_item{
	padding: 10px;
	line-height: 1.4;
}
@media print,screen and (min-width:1000px){
	.form-selectlist_item{
		padding: 13px 17px;
	}
}
.form-selectlist_item{
    cursor: pointer;
}
.form-selectlist_item.is-active, .form-selectlist_item:not(.is-active):hover{
	background: #f3fafb;
}

/* checkbox */
.checkBox{
	cursor: pointer;
	position: relative;
	display: inline-flex;
	align-items: center;
}
.checkBoxInput{
	cursor: pointer;
	margin-right: 8px;
	width: 20px;
	height: 20px;
	vertical-align: top;
	background-size: contain;
	border: 1px solid #d1d7e1;
	border-radius: 4px;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;	
}
.checkBoxInput:checked{
	background-color: #0284c7;
	border-color: #0284c7;
}
.checkBox_txt::after {
	position: absolute;
	left: 2px;
	top: 50%;
    transform: translateY(-50%);
	color: #fff;
	font-family:'Material Icons Round';
	content: "\e876";
}
.checkBox_txt::after {
	display: none;
}
.checkBoxInput:checked + .checkBox_txt::after {
	display: block;
}
.checkBoxInput:focus{
    border-color: #81c2e3;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(2, 132, 199, .25);
}

/* radiobutton */
.radioBox{
	cursor: pointer;
	position: relative;
	display: inline-flex;
	align-items: center;
}
.radioBoxInput{
	margin-right: 8px;
	width: 20px;
	height: 20px;
	vertical-align: top;
	background-size: contain;
	border: 1px solid #d1d7e1;
	border-radius: 50%;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;	
}
.radioBoxInput:checked{
	background-color: #0284c7;
	border-color: #0284c7;
}
.radioBox_txt::after {
	position: absolute;
	content: "";
	border-radius: 50%;
	left: 6px;
	top: 50%;
    transform: translateY(-50%);
	width: 8px;
	height: 8px;
	background-color: #fff;
}
.radioBox_txt::after {
	display: none;
}
.radioBoxInput:checked + .radioBox_txt::after {
	display: block;
}
.radioBoxInput:focus{
    border-color: #81c2e3;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgba(2, 132, 199, .25);
}


/* フォーム内※ */
.form-kome{
	margin-top: 8px;
}
.form-kome:first-child{
	margin-top: 0;
}

.formFlex{
	display: flex;
	flex-wrap: wrap;
}

.formFlex.-radio,
.formFlex.-checkbox{
	margin: -16px 0 0 -32px;
}
.formFlex .checkBox,
.formFlex .radioBox{
	margin: 16px 0 0 32px;
}
.formFlex.-selectinput .inputBox{
	margin: 0 0 0 32px;
	flex: 1;
}
.formFlex.-date{
	margin-left: -32px;
}
.formFlex.-date .selectBox{
	margin-left: 32px;
	min-width: 100px;
}
.formFlex.-date .dateUnit{
	margin-left: 12px;
}


.formFlex.-input{
	align-items: center;
}
.formFlex.-input .selectBox{
	width: 100%;
	max-width: 150px;
}
.formFlex.-input .inputBox{
}
.formFlex.-input .dateUnit{
	margin: 0 8px;
}
.formFlex_item:not(:first-child){
	margin-left: 8px;
}


/* form size */
.-form-s{
	width: 100%;
	max-width: 100px;
}
.-form-m{
	width: 100%;
	max-width: 200px;
}
.-form-l{
	width: 100%;
	max-width: 300px;
}

/* error */
.is-invalid+.invalid-feedback{
    display: block;
}
.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: .25rem;
    font-size: 80%;
    color: #dc3545;
}
.msg{
	color: #dc3545;
}
.error{
	margin-top: 4px;
	color: #dc3545;
	font-size: 1.4rem;
}
.error + .error{
	margin-top: 0;
}
.textarea{
	padding: 16px;
    width: 100%;
    height: 150px;
    text-align: left;
    line-height: 1.3;
    color: #333;
    outline: 0;
    border: solid 1px #d8dde5;
	border-radius: 8px;
    background: #fff;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;	
}
.textarea:focus{
	color: #2c3034;
	background-color: #fff;
	border-color: #81c2e3;
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(2, 132, 199, .25);
}


/* button */
.button{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 0 16px;
	width: 100%;
	height: 40px;
	line-height: 30px;
	text-align: center;
	color: #1F1F1F;
	text-decoration: none;
	vertical-align: middle;
	border-radius: 5px;
	background: #ddd;
	cursor: pointer;
	transition: .3s opacity;
}
.button:hover{
	opacity: .6;
}
.button.-submit{
	color: #fff;
	font-weight: bold;
	border: none;
	background: #db4e4e;
}

.button.-blue{
	color: #fff;
	background: #0284c7;
}
.button.-gray{
	color: #fff;
	background: #555;
}
.button.-white{
	border: solid 1px #999;
	background: #fff;
}
.button:focus{
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(2, 132, 199, .25);
}



/* input Flex */
.inputWp{
	display: flex;
	align-items: center;
}
.inputWp + .inputWp{
	margin-top: 16px;
}

/* ボタン */
.fbtn{
	margin-top: 32px;
}
.fbtnList{
	display: flex;
	justify-content: center;
	flex-direction: row-reverse;
}
.fbtnList_item:not(:first-child){
	margin-right: 8px;
}
.fbtnList_item{
	width: 100%;
	max-width: 150px;
}
.fbtnList_item:first-child{
	max-width: 200px;
}
.fbtnList_item .button{
	line-height: 50px;
	height: 50px;
}

@media print,screen and (min-width:1000px){
	.fbtn{
		margin-top: 40px;
	}
	.fbtnList{
		display: flex;
		justify-content: center;
		flex-direction: row-reverse;
	}
	.fbtnList_item:not(:first-child){
		margin-right: 8px;
	}
	.fbtnList_item{
		width: 100%;
		max-width: 150px;
	}
	.fbtnList_item:first-child{
		max-width: 200px;
	}
	.fbtnList_item .button{
		line-height: 50px;
		height: 50px;
	}
}

/* 追加ボタン */
.btAdd{
	cursor: pointer;
	display: flex;
	align-items: center;
	margin-left: auto;
	margin-top: 24px;
	width: auto;
	line-height: 1;
    transition: .3s opacity;
}
.btAdd .m-ico{
	margin-right: 4px;
	font-size: 2.0rem;
	line-height: 1;
}
@media print,screen and (min-width:1000px){
	.btAdd:hover{
		opacity: .6;
	}
}

/* 削除ボタン */
.btDelete{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-left: auto;
	margin-top: 16px;
	line-height: 1;
}
.btDelete a{
    transition: .3s opacity;
}
.btDelete .m-ico{
	margin-right: 4px;
	font-size: 2.0rem;
	line-height: 1;
}
@media print,screen and (min-width:1000px){
	.btDelete a:hover{
		opacity: .6;
	}
}



/* 画像アップロード */
.uploadPhotoList{
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 0 -8px;
}
.uploadPhotoList_item{
	position: relative;
	margin: 8px 0 8px 8px;
	width: 50px;
	height: 50px;
	overflow: hidden;
}
.uploadPhotoList_item img{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

@media print,screen and (min-width:1000px){
	.uploadPhotoList_item{
		width: 100px;
		height: 100px;
	}
}


/* 画像アップロード 編集画面 */
.uploadPhotoEdit{
	display: flex;
	align-items: center;
}
.uploadPhotoEdit:not(:first-child){
	margin-top: 8px;
	padding-top: 8px;
	border-top: dashed 1px #ccc;
}
.uploadPhotoEdit_img{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 80px;
	height: 80px;
	font-size: 1.0rem;
	font-weight: bold;
	background: #f5f5f5;
	overflow: hidden;
}
.uploadPhotoEdit_img.-change{
	background: #e3f7f2;
}
.uploadPhotoEdit_img img{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}
.uploadPhotoEdit_input{
	flex: 1;
	margin-left: 16px;
}
.inputImg label{
    display: inline-block;
    border: 2px solid #1E88E5;
    color: #1E88E5;
    text-align: center;
    padding: 20px 40px;
}
.inputImg label:hover{
    cursor: pointer;
}
.form-file[type="file"]{
	font-size: 1.0rem;
}

.uploadPhotoEdit_delete{
	cursor: pointer;
	font-size: 2.0rem;
	transition: opacity .2s ease-out;
}
.uploadPhotoEdit_delete:hover{
	opacity: .6;
}
.selectPhoto{
	max-width: 200px;
}
.selectPhoto_s{
	max-width: 100px;
}
.formPhotoupload dt{
	font-weight: bold;
}
.formPhotoupload dt:not(:first-of-type){
	margin-top: 8px;
	padding-top: 8px;
	border-top: dashed 1px #eee;
}
.formPhotoupload dd:not(:first-of-type){
	margin-top: 8px;
}
.formPhotoupload dd{
	margin-left: 16px;
}

@media print,screen and (min-width:1000px){
	.uploadPhotoEdit_img{
		width: 100px;
		height: 100px;
		font-size: 1.4rem;
	}
	.form-file[type="file"]{
		font-size: 1.6rem;
	}
	
}


/* Form Layout
-----------------------------------------------------------*/
.form-block{
	margin: 0 auto;
	max-width: 1000px;
}
.form-block:not(:first-of-type){
	margin-top: 32px;
}
.form-block_wrap{
	display: flex;
	align-items: center;
}
.form-block_wrap:not(:first-child){
	margin-top: 8px;
}
.form-block_header{
	width: 200px;
}
.form-block_value{
	flex: 1;
}


/* TABLE
============================================================================= */
.tableWp{
	margin-top: 32px;
}
.table{
	width: 100%;
}
.table th, .table td{
	background: #fff;
}

.table thead th{
	padding: 4px 8px;
	font-weight: bold;
	border-bottom: solid 2px #e4e7ed;
}
.table tbody tr:not(:first-child){
	border-top: solid 1px #e4e7ed;
}
.table tbody th{
	font-weight: bold;
}
.table tbody td{
	padding: 8px;
}
.required{
	color: #dd0000;
}
.table-id{
	width: 56px;
	text-align: center;
	font-weight: bold;
}
.table-status{
	width: 200px;
}
.table-date{
	width: 200px;
}
.table-detail{
	
}
.table-edit{
	padding: 8px 0;
	width: 60px;
}
.table .m-ico.-order{
	margin-right: 4px;
	color: #ccc;
	font-size: 2.5rem;
}
.norecords{
	margin: 32px 0;
	width: 100%;
	text-align: center;
}

@media screen and (max-width: 959px) {
	.table.-editform tbody tr{
		display: block;
	}
	.table.-editform tbody tr:not(:first-child){
		margin-top: 16px;
		padding-top: 16px;
		border-top: solid 1px #e4e7ed;
	}
	.table.-editform tbody th, .table.-editform tbody td{
		display: block;
		width: 100%;
		position: relative;
	}
}
@media print,screen and (min-width:960px){
	.table thead th{
		padding: 4px 8px;
		font-weight: bold;
	}
	.table tbody th{
		width: 200px;
		font-weight: bold;
	}
	.table tbody tr:first-child{
		border-top: solid 1px #e4e7ed;
	}
	.table tbody tr:last-child{
		border-bottom: solid 1px #e4e7ed;
	}
	.table tbody th{
		width: 200px;
	}
	.table tbody td{
		margin-top: 0;
		padding: 16px 8px;
	}
	
	.table-id{
		width: 56px;
		text-align: center;
		font-weight: bold;
	}
	.table-status{
		width: 200px;
	}
	.table-date{
		width: 200px;
	}
	.table-edit{
		width: 96px;
	}
	.table .m-ico.-order{
		margin-right: 4px;
		color: #ccc;
		font-size: 2.5rem;
	}
	.norecords{
		text-align: center;
	}
}



/* GROUP ------ */
.groupWp{
	margin: 16px -8px;
	padding: 8px;
	background: #f6f7f9;
}
.group{
	padding: 8px;
	border-radius: 8px;
	background: #fff;
}
.group:not(:first-child){
	margin-top: 16px;
}
.groupHd{
	display: flex;
	justify-content: space-between;
	margin-bottom: 16px;
}
.groupTtl{
	font-size: 1.6rem;
	font-weight: bold;
}
.groupDeleteBt{
	cursor: pointer;
	transition: .3s opacity;
}
.groupWp tr{
	position: relative;
}
.groupWp td{
	position: static!important;
}
.groupeTh{
	display: flex;
	align-items: center;
}
.groupeTh .sortmark{
	display: flex;
	align-items: center;
	margin-right: 8px;
	line-height: 1;
	font-size: 3.0rem;
}
.groupeTd{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.groupeTd__sns{
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}
.groupeTd .inputBox{
	flex: 1;
}
.groupeTd_fieldPhotos a{
	display: flex;
	flex-wrap: wrap;
	margin: -4px 0 0 -4px;
}
.groupeTd_fieldPhotos figure{
	margin: 4px 0 0 4px;
	width: 50px;
}

.group_fieldAdd{
	margin-top: 16px;
	text-align: right;
}
.group_fieldAddBt{
	cursor: pointer;
	transition: .3s opacity;
}
.group_fieldAddBt .m-ico{
	font-size: 2.0rem;
}
.group_fieldDelete{
	margin-left: 16px;
}
.group_fieldDeleteBt{
	cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff!important;
    padding: 4px;
    width: 18px;
    height: 18px;
    font-size: 1.4rem;
	line-height: 1;
	border-radius: 4px;
    background: #454c53;
    transition: background 0.2s;
	transition: .3s opacity;
}
.groupAdd{
	margin: 8px auto 0;
	width: 100%;
}
@media print, screen and (max-width:959px) {
	.groupHd{
		padding-bottom: 8px;
		border-bottom: solid 1px #e4e7ed;
	}
	.group_fieldDelete{
		position: absolute;
		top: 16px;
		right: 0;
	}
	.group_fieldAdd{
		padding-top: 8px;
		border-top: solid 1px #e4e7ed;
	}
}
@media print, screen and (min-width:960px) {
	.groupWp{
		margin: 40px 0;
		padding: 24px;
	}
	.group{
		padding: 24px;
		border-radius: 16px;
	}
	.group:not(:first-child){
		margin-top: 24px;
	}
	.groupHd{
		margin-bottom: 8px;
	}
	.groupTtl{
		font-size: 2.0rem;
	}
	.groupeTd_fieldPhotos a{
		margin: -8px 0 0 -8px;
	}
	.groupeTd_fieldPhotos figure{
		margin: 8px 0 0 8px;
		width: 80px;
	}	
	
	.groupDeleteBt:hover{
		opacity: .6;
	}
	.group_fieldAddBt:hover{
		opacity: .6;
	}
	.group_fieldDeleteBt{
		width: 40px;
		height: 40px;
		font-size: 2.0rem;
		border-radius: 8px;
	}
	.group_fieldDeleteBt:hover{
		opacity: .6;
	}
	.groupAdd{
		margin: 24px auto 0;
		max-width: 400px;
	}
}












.dl dt{
	font-weight: bold;
}
.dl dt .m-ico{
	line-height: 1;
}



/* SORT
============================================================================= */
.sortBlock{
	margin-bottom: 16px;
}
.sortBlock[aria-hidden="true"]{
	display: none;
}

.listSort_rankItem .selected{
	color: #0284c7;
}
.listSort_search{
	display: flex;
	flex-wrap: wrap;
	margin-left: -8px;
}
.listSort_input{
	margin-left: 8px;
	width: calc(100% + 8px);
}
.listSort_select{
	margin: 8px 0 0 8px;
	width: calc((100% - 58px) / 2 - 8px);
}
.listSort_submit{
	margin: 8px 0 0 8px;
	width: 50px;
	height: inherit;
}

.listSort_rank{
	display: flex;
	justify-content: flex-end;
	margin-bottom: 16px;
}
.listSort_rankItem{
	position: relative;
}
.listSort_rankItem button{
	cursor: pointer;
	font-size: 2.0rem;
}
.listSort_rankItem button:not(.selected):hover{
	opacity: .6;
}
@media print, screen and (min-width:960px) {
	.listSort{
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}
	.listSort_search{
		flex-wrap: nowrap;
		margin-left: 16px;
	}
	.listSort_input{
		margin-top: 0;
		width: 200px;
	}
	.listSort_select{
		margin-top: 0;
		width: 150px;
	}
	.listSort_submit{
		margin-top: 0;
	}
	.listSort_rankItem button:not(.selected):hover{
		opacity: .6;
	}	
}



/* LIST
============================================================================= */
/* Details */
.listDetails{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}	

/* Status */
.listStatus{
	z-index: 1;
	padding: 4px 8px;
	line-height: 1;
	text-align: center;
	font-size: 1.2rem;
	background-color: rgba(69,76,83,0.7);
	border-radius: 50vw;
	border: solid 1px rgba(69,76,83,0.7);
}
.listStatus.-bf{
	color: #323743;
	border: solid 1px rgba(69,76,83,0.7);
	background-color: rgba(255,255,255,0.7);
}
.listStatus.-af{
	color: #fff;
	border: solid 1px transparent;
	background-color: rgba(69,76,83,0.7);
}
.listStatus.-af a{
	display: block;
	width: 100%;
	color: #fff;
}

/* Date */
.listDates{
	margin-top: 4px;
	padding-top: 4px;
	font-size: 1.2rem;
	border-top: dashed 1px #e4e7ed;
}
.listDate{
	display: flex;
}
.listDate dt{
	width: 5em;
}
.listDate dd{
	flex: 1;
	margin-left: 0;
}

/* Page */
.pagination{
	display: flex;
	justify-content: center;
	margin-top: 24px;
	text-align: center;
}

.pagenation_next{
	margin-left: auto;
}
.pagination a{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 35px;
	height: 35px;
    margin: 0 2px;
    padding: 2px;
    color: #333;
	text-decoration: underline;
    border: 1px solid #ccc;
}
.pagination a.current {
	pointer-events: none;
    background-color: #0284c7;
    color: #fff;
	text-decoration: none;
	font-weight: bold;
    border: 1px solid #0284c7;
}
a.pagenation_prev,
a.pagenation_next{
	text-decoration: none;
}
.pagenation_prev .m-ico,
.pagenation_next .m-ico{
	font-size: 2.0rem;
}


@media print, screen and (min-width:960px){
	/* Status */
	.listStatus{
		padding: 4px 16px;
		line-height: 1;
		color: #fff;
		background-color: rgba(69,76,83,0.7);
		border-radius: 50vw;
	}

	/* Date */
	.listDates{
		margin-top: 8px;
		padding-top: 8px;
	}
	
	/* Page */
	.pagination{
		margin-top: 80px;
	}
	.pagenation_next{
		margin-left: auto;
	}
	.pagination a {
		display: inline-block;
		justify-content: center;
		align-items: center;
		width: 40px;
		height: 40px;
		margin: 0 4px;
		padding: 4px;
		color: #333;
		text-decoration: underline;
		border: 1px solid #ccc;
	}
	.pagination a.current {
		background-color: #0284c7;
		color: #fff;
		text-decoration: none;
		font-weight: bold;
		border: 1px solid #0284c7;
	}
	.pagination a:not(.current):hover {
		background-color: #f0f0f0;
	}
	
	
	
}


/* ギャラリーリスト */
.galleryList{
	display: flex;
	flex-wrap: wrap;
	margin: -16px 0 0 -8px;
}
.galleryList_item{
	position: relative;
	margin: 16px 0 0 8px;
	width: calc(100% / 1 - 8px);
}
.galleryList_itemImgs{
	position: relative;
}
.galleryList_itemImgs .slick-prev{
	left: 0;
}
.galleryList_itemImgs .slick-next{
	right: 0;
}
.galleryList_itemImgs .slick-arrow::before{
	opacity: 1;
	color: #fff;
	font-size: 2.0rem;
	text-shadow: 0 1px 3px rgb(0 0 0 / 60%);
}
@media screen and (max-width: 959px) {
	.galleryList_item{
		display: flex;
		justify-content: space-between;
		padding-top: 16px;
		border-top: solid 1px #e4e7ed;
	}
	.galleryList_item:not(:first-child){
		margin-top: 16px;
	}
	.galleryList_item:last-child{
		padding-bottom: 16px;
		border-bottom: solid 1px #e4e7ed;
	}
	.galleryList_itemBd{
		display: flex;
		flex-direction: column;
	}
	.galleryList_itemEdit{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	.galleryList_itemEditInfo{
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}
	.galleryList_itemEdit{
		flex: 1;
	}
	.galleryList_itemImgs{
		width: 30%;
	}
	.galleryList_itemBd{
		width: calc(70% - 16px);
	}
}
@media print, screen and (min-width:960px){
	.galleryList{
		margin: -24px 0 0 -24px;
	}
	.galleryList_item{
		margin: 24px 0 0 24px;
		width: calc(100% / 4 - 24px);
	}
	
	.galleryList_itemImgs{
		position: relative;
	}
	.galleryList_itemImgs .slick-prev{
		left: 0;
	}
	.galleryList_itemImgs .slick-next{
		right: 0;
	}
	.galleryList_itemImgs .slick-arrow::before{
		opacity: 1;
		color: #fff;
		font-size: 2.0rem;
		text-shadow: 0 1px 3px rgb(0 0 0 / 60%);
	}
	.galleryList_itemEditInfo .listStatus{
		position: absolute;
		right: 8px;
		top: 8px;
		z-index: 1;
	}
	.galleryList_itemEdit{
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-top: 8px;
	}
	.galleryList_itemEdit .edit-button{
		margin-left: auto;
	}
}


/* 通常のリスト */
.normallist{
	border-bottom: solid 1px #e4e7ed;
}
.normallist .listImg{
	width: 50px;
}
.normallist .listName{
	flex: 1;
	margin-left: 8px;
}
.normallist .listCat{
	display: flex;
	margin-top: 4px;
	width: 100%;
}
.normallist .listCat_item{
	font-size: 1.2rem;
}
.normallist .listCat_item:not(:first-child){
	margin-left: 8px;
	padding-left: 8px;
	border-left: solid 1px #ccc;
}
.normallist .listStatus{
	margin-bottom: 8px;
}
@media print, screen and (min-width:960px){
	.normallist .listImg{
		width: 80px;
	}
	.normallist .listCat{
		display: flex;
		margin: 8px 0 0 auto;
		width: auto;
	}
	.normallist .listCat_item{
		font-size: 1.4rem;
	}
	.normallist .listCat_item:not(:first-child){
		margin-left: 8px;
		padding-left: 8px;
		border-left: solid 1px #ccc;
	}
	.normallist .listDates{
		display: flex;
	}
	.normallist .listDate:not(:first-child){
		margin-left: 16px;
	}
	.normallist .listDate dt{
		margin-right: 8px;
		width: auto;
	}
	.normallist .listStatus{
		margin-bottom: 8px;
	}
}


/* STORE TOP
============================================================================= */
.storeSect{
	margin-top: 40px;
}
.storeSect .inner{
	padding: 40px;
	border-radius: 24px;
	background: #fff;
}
.notxt{
	text-align: center;
}


/* PHOTO */
.photo-cassette{
	display: flex;
	flex-wrap: wrap;
	margin: -16px 0 0 -16px;
}
.photo-cassette:not(:first-child){
	margin-top: 8px!important;
}


.photo-cassette_item{
	position: relative;
	display: flex;
	flex-direction: column;
	margin: 16px 0 0 16px;
	width: calc(100% / 5 - 16px);
}
.photo-cassette_ttl{
	margin-top: 4px;
	font-weight: bold;
}
.photo-cassette_txt{
	font-size: 1.4rem;
}
.photo-cassette_input{
	margin-top: 4px;
}
.photo-cassette_img{
	order: -1;
}
.photo-cassette_delete{
	position: absolute;
	right: -8px;
	top: -8px;
}
.photo-cassette_delete a,
.photo-cassette_delete button{
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50vw;
	background: #fff;
	box-shadow: 0 0 .5em rgb(0 0 0 / 20%);
}


/* PHOTO SELECT */
.photo-select{
	width: 150px;
}




/* FORM内レイアウト
============================================================================= */
.inputWp.-name .inputBox:not(:first-child), .inputWp.-radio .radioBox:not(:first-child){
	margin-left: 32px;		
}
.inputWp.-name .inputLabel{
	margin-right: 8px;
}
.inputWp.-name .inputLabel + .inputTxt{
	flex: 1;
}



.inputWp.-input .selectBox{
	width: 100%;
	max-width: 150px;
}
.inputWp.-input .inputBox:not(:first-child){
	margin-left: 16px;		
}
.inputWp.-input .dateUnit{
	margin: 0 8px;
}



.inputWp.-date .selectBox{
	width: 100%;
	max-width: 150px;
}
.inputWp.-date .inputBox:not(:first-child){
	margin-left: 16px;		
}
.inputWp.-date .dateUnit{
	margin: 0 8px;
}
.inputWp.-link .inputBox{
	flex: 1;
	margin-left: 16px;
}

.dlbox:not(:first-child){
	margin-top: 16px;
}
.dlbox dd{
	margin-top: 4px;
}

.box:not(:first-child){
	margin-top: 16px;
}



.edit-button{
	display: inline-flex;
	border-radius: 4px;
	overflow: hidden;
}
.edit-button button,
.edit-button a{
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	padding: 4px;
	width: 30px;
	height: 30px;
	font-size: 1.5rem;
	background: #454c53;
	transition: background 0.2s;
}
.edit-button button:hover,
.edit-button a:hover{
	background: #000;
}

@media print, screen and (min-width:960px){
	.edit-button button,
	.edit-button a{
		width: 40px;
		height: 40px;
		font-size: 2.0rem;
	}
}





.message{
	margin-bottom: 32px;
	color: #db4e4e;
}

/* PAGE
============================================================================= */



/* スタッフ ======================== */
.stateWp{
	padding: 16px 16px 0;
	background: #eee;
}
.stateList{
	display: flex;
	margin-left: -8px;
}
.stateList_item{
	margin-left: 8px;
	max-width: 150px;
	width: 100%;
}
.stateList_item .button{
	height: 50px;
	line-height: 50px;
	color: #fff;
	background: #999;
	border-radius: 4px 4px 0 0;
	border: none;
}
.stateList_item .button.is-active{
	color: #333;
	background: #fff;
}




/* HEADER
============================================================================= */
.hd{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	box-shadow: 0px 4px 2px -2px rgba(100,100,100,0.3);
}
.hdTtl{
	position: relative;
	width: 140px;
}
.hdTtlWp{
	display: flex;
	cursor: pointer;
}
.hdTtlLogo img{
	vertical-align: bottom;
}
.hdTtlCnt{
	display: flex;
	align-items: center;
	padding-bottom: 1em;
	font-size: 1.8rem;
}
.hdTtlWp .m-ico{
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 2.0rem;
}
.pulldownPnl{
	display: none;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	background: #191e27;
}
.pulldownPnl_itm{
}
.pulldownPnl_itm:not(:first-child){
	border-top: solid 1px #53575d;
}
.pulldownPnl_itm a{
	display: block;
	color: #fff;
	padding: 24px 24px;
}
.pulldownPnl_itm a:hover{
	opacity: .6;
}

.hdNav{
	order: 1;
	width: 100%;
	border-top: solid 1px #ccc;
}

.hdNavList{
	display: flex;
	height: 100%;
}
.hdNavList_itm{
	width: 120px;
	border-left: solid 1px #eee;
}
.hdNavList_itm:last-child{
	border-right: solid 1px #eee;
}
.hdNavList_itm a{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 4px;
	height: 100%;
	font-size: 1.2rem;
}
.hdNavList_itm a:hover{
	background: #f5f5f5;
}
.hdNavList_itm .m-ico{
	color: #999;
	line-height: 1;
	font-size: 2.5rem;
}

.hdPer{
	position: relative;
	margin-left: auto;
	border-left: solid 1px #ccc;
	width: 150px;
}
.hdPerCnt{
	cursor: pointer;
	position: relative;
	display: flex;
	align-items: center;
	padding: 4px 8px;
	height: 100%;
}
.hdPerCnt span{
	font-size: 2.1rem;
}
.hdPerCnt:hover{
	background: #f5f5f5;
}
.hdPerCnt .m-ico{
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 2.0rem;
}

@media screen and (min-width: 760px) {
	.hdTtl{
		width: 150px;
		border-right: solid 1px #ccc;
	}
	.hdTtlCnt{
		display: flex;
		justify-content: center;
		align-items: center;
		padding-bottom: 1em;
		font-size: 2.4rem;
	}
	.hdTtlWp .m-ico{
		right: 8px;
		font-size: 3rem;
	}
	
	.hdNavList_itm a{
		padding: 8px;
		font-size: 100%;
	}
	.hdNavList_itm .m-ico{
		font-size: 3.5rem;
	}

	.hdPer{
		width: 200px;
	}
	.hdPerCnt{
		padding: 16px;
	}
	.hdPerCnt .m-ico{
		font-size: 3rem;
	}
}

@media screen and (min-width: 1050px) {
	.hdTtlWp:hover{
		background: #f5f5f5;
	}
	.pulldownPnl_itm a:hover{
		opacity: .6;
	}
	.hdNav{
		order: 0;
		width: inherit;
		border-top: none;
	}
	.hdNavList_itm{
		width: 120px;
	}
	.hdNavList_itm a:hover{
		background: #f5f5f5;
	}
	.hdPerCnt:hover{
		background: #f5f5f5;
	}
}

.js-pulldown .m-ico:before{
	transition: transform 0.3s;
}
.js-pulldown[aria-subnav="true"] .m-ico:before{
	transform: rotate(180deg);
}	



/* FOOTER
============================================================================= */
.footer{
	margin-top: 80px;
	padding: 20px 0;
	text-align: center;
	color: #fff;
	background: #000;
}



/* 管理リスト
============================================================================= */
/* 並び順 */
.sort{
	margin-top: 30px;
}
.sort-dl{
	display: flex;
	justify-content: flex-end;
}
.sort-dl dd{
	margin-left: 15px;
	padding-left: 15px;
	border-left: solid 1px #ccc;
}

.sortlist{
	display: flex;
	margin-left: -10px;
}
.sortlist li{
	cursor: pointer;
	margin-left: 10px;
}
.sortlist li.is-active{
	font-weight: bold;
}

/* カセット */
.moneylist{
	margin-top: 50px;
}
.moneylist_item{
	display: flex;
	border-top: solid 1px #ccc;
}
.moneylist_item.is-none{
	display: none;
}
.moneylist_item.temp{
	display: none;
}
.moneylist-id{
	padding: 30px 20px;
	width: 180px;
}
.moneylist_id span{
	cursor: pointer;
	transition: opacity 0.2s;
}
.moneylist_id span:hover{
	opacity: .6;
}
.moneylist_staff{
	display: block;
	margin-top: 20px;
	font-size: 1.3rem;
}
.moneylist-body{
	flex: 1;
	padding: 30px;
}
.moneylist_nowork{
	padding: 5px 10px;
	color: #ffa800;
	border: solid 1px #ffa800;
}
.moneylist_delete{
	padding: 5px 10px;
	color: #dd0000;
	border: solid 1px #dd0000;
}
.moneylist_nowork span,
.moneylist_delete span{
	margin-left: 20px;
	font-size: 1.3rem;
}
.moneylist_head{
	display: flex;
	justify-content: space-between;
}
.moneylist_nowork + .moneylist_head,
.moneylist_delete + .moneylist_head{
	margin-top: 20px;
}
.moneylist-customer{
	flex: 1;
	margin-right: 50px;
}
.moneylist-customerlist{
	display: flex;
	margin-left: -30px;
}
.moneylist-customerlist_item{
	display: flex;
	flex-direction: column;
	margin-left: 30px;
}
.moneylist-customerlist_item span:not(:first-child){
	margin-top: 10px;
}
.moneylist_status p{
	width: 170px;
	padding: 20px;
	color: #ffc000;
	font-weight: bold;
	text-align: center;
	border-radius: 10px;
	border: solid 2px #ffc000;
}
.moneylist_status p.completion{
	color: #09ab9a;
	border: solid 2px #09ab9a;
}
.moneylist_status p.delete{
	color: #ccc;
	border: solid 2px #ccc;
}
.moneylist_status span{
	display: block;
	font-size: 1.3rem;
}
.moneylist-filewrap{
	margin-top: 20px;
	display: flex;
	justify-content: space-between;
}
.moneylist-filebox{
	padding: 20px;
	width: 50%;
	border-left: solid 1px #ccc;
}
.moneylist-filebox_ttl{
	text-align: center;
	font-size: 1.8rem;
}
.moneylist-btnlist{
	display: flex;
	justify-content: center;
	margin-left: -10px;
}
.moneylist-btnwrap_item{
	margin-left: 10px;
}
.moneylist_name{
	margin-top: 10px;
	padding-top: 10px;
	border-top: dashed 1px #ccc;
}
.moneylist_backlog{
	margin-top: 10px;
}

/* 表レイアウト */
.moneylist-wrap{
	display: flex;
	margin-top: 20px;
	width: 100%;
	font-size: 1.4rem;
}
.moneylist-box{
	display: flex;
	flex-direction: column;
	border-top: solid 1px #ccc;
	border-bottom: solid 1px #ccc;
	border-left: solid 1px #ccc;
}
.moneylist-box:last-child{
	border-right: solid 1px #ccc;
}
.moneylist-box.-mitsumori,
.moneylist-box.-invoice{
	width: 38%;
}
.moneylist-box.-total{
	width: 24%;
}
.moneylist_ttl{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 35px;
	padding: 5px 20px;
	background: #f5f5f5;
}
.moneylist_doc{
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	padding: 5px 20px;
}

/* 表見出し */
a.moneylist_pdf{
	display: inline-block;
	margin-left: 10px;
	padding: 2px 5px;
	color: #fff;
	font-size: 1.2rem;
	border-radius: 4px;
	background: #333;
	transition: opacity 0.2s;
}
a.moneylist_pdf:hover{
	opacity: .6;
}

/* 日付 */
.moneylist_date{
	flex: 1;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	font-size: 1.3rem;
}
.moneylist_edit{
	display: flex;
	align-items: center;
	margin-top: 5px;
	padding-top: 5px;
	font-size: 1.3rem;
	border-top: dashed 1px #ccc;
}
.moneylist_edit dt,
.moneylist_date dt{
	margin-right: 20px;
	width: 80px;
}
.moneylist_date-wrap{
	flex: 1;
}
.moneylist_date-box{
	display: flex;
	align-items: center;
	font-size: 1.3rem;
}
.moneylist_date-txt{
	margin-right: 20px;
}

/* ファイルディレクトリ */
.moneylist_directorylist{
	flex: 1;
	display: flex;
	margin-left: -15px;
}
.moneylist_directorylist-item{
	cursor: pointer;
	position: relative;
}
.moneylist_directorylist-item{
	margin-left: 15px;
}
.moneylist_directorylist-item .m-ico{
	line-height: 1;
	font-size: 2.0rem;
}
.moneylist_directorylist-item:not(.none) .m-ico{
	transition: opacity 0.2s;
}
.moneylist_directorylist-item:not(.none) .m-ico:hover{
	opacity: .6;
}
.tooltip-fuki{
	white-space: nowrap;
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	padding: 5px 10px;
	color: #fff;
	font-size: 1.2rem;
	border-radius: 50vw;
	background: #333;
}
.moneylist_directorylist-item.none{
	cursor: inherit;
	opacity: .1;
}
.moneylist_directorylist-item.none .tooltip-fuki{
	display: none;
	opacity: 0;
	visibility: hidden;
}

/* 合計 */
.moneylist_total{
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: 2.0rem;
}
.moneylist_paydate{
	display: flex;
	justify-content: center;
	padding-top: 10px;
	min-height: 36px;
	font-size: 1.3rem;
	border-top: dashed 1px #ccc;
}
.moneylist_paydate dt{
	margin-right: 10px;
	text-align: right;
}

/* 備考 */
.moneylist_remarks{
	display: flex;
	margin-top: 20px;
	font-size: 1.4rem;
}
.moneylist_remarks dd{
	flex: 1;
	margin-left: 20px;
}

/* クリップボードにコピー */
.success-msg {
    display: none;
    position: fixed;
    width: 300px;
    height: 40px;
    line-height: 40px;
    background-color: #29aba4;
    color: #fff;
    top: 80px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
    border-radius: 5px;
}

/* 合計金額 */
.totalprice{
	padding: 30px;
	text-align: right;
	border-top: solid 1px #ccc;
}
.totalprice em{
	display: inline-block;
	margin-left: 10px;
	padding: 5px 20px;
	font-size: 2.0rem;
	border-bottom: double 3px #ccc;
}


/* 検索
============================================================================= */
.search{
	margin-top: 30px;
}

/* カスタム */
.customsearch{
	display: flex;
	justify-content: space-between;
	margin-left: -20px;
}
.customsearch_item{
	margin-left: 20px;
	flex: 1;
}
.customsearch_input{
	position: relative;
	border: none;
    border-bottom: dashed 1px #ccc;
}
.customsearch_item.is-active .customsearch_input{
	color: #007b95;
	font-weight: bold;
	border-bottom: solid 1px #007b95;
	background: #f3fafb;
}
.customsearch_item.is-active:before{
	position: absolute;
	left: 0;
	bottom: 0;
	content: "";
	z-index: 1;
	display: inline-block;
	width: 100%;
	height: 2px;
	background: #007b95;
}
.customsearch_itembt{
	cursor: pointer;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: 20px;
	width: 100px;
	color: #fff;
	border-radius: 5px;
	border: solid 1px #007b95;
	background: #007b95;
	transition: opacity 0.2s, border-radius 0.2s;
}
.customsearch_itembt:hover{
	opacity: .6;
}
.customsearch_itembt.is-active{
	border-radius: 5px 5px 0 0;
}
.customsearch_itembt:before{
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translateX(-50%);
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-top: 0 solid #007b95;
	transition: border 0.2s;
}
.customsearch_itembt.is-active:before{
	border-top-width: 15px;
}
.customsearch_itembt span{
	width: 100%;
	line-height: 1;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: -.01em;
	white-space: nowrap
}
.customsearch_itembt .m-ico{
	margin-left: 5px;
	font-size: 2.0rem;
}

/* 詳細検索 */
.moresearch{
	display: none;
	margin-top: 10px;
	background: #f5f5f5;
}
.moresearch-wrap{
	display: flex;
	flex-wrap: wrap;
	margin-left: -20px;
	padding: 30px;
}
.moresearch_item{
	margin-left: 20px;
	width: calc(100% / 3 - 20px);
}
.moresearch-fromto{
	margin: 20px 0 0 20px;
	width: calc(100% / 3 - 20px);
}
.moresearch-fromto .form-inputbox{
	position: relative;
	display: flex;
}
.moresearch-fromto .form-inputbox:before{
	position: absolute;
	left: calc(50% - .5em);
	top: 50%;
	z-index: 1;
	transform: translate(-50%, -50%);
	content: "～";
	display: inline-block;
}
.moresearch-fromto .form-input:nth-child(2){
	position: relative;
	border-right: none;
}
.moresearch-fromto .form-input:last-child{
	padding-left: 1em;
	border-left: none;
}
.moresearch-bt{
	margin: 20px 0 0 20px;
	width: calc(100% / 3 - 20px);
	text-align: right;
}
.moresearch-bt_send{
	display: inline-flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	padding: 5px 10px;
	min-width: 200px;
	min-height: 50px;
	font-weight: bold;
	color: #fff;
	border-radius: 5px;
	background: #007b95;
	transition: opacity 0.2s;
}
.moresearch-bt_send:hover{
	opacity: .6;
}
.moresearch-bt_send .m-ico{
	margin-right: 10px;
}

.search-reset{
	position: absolute;
	right: 10px;
	top: calc(100% + 5px);
}
.search-reset button{
	cursor: pointer;
	color: #007b95;
	font-weight: bold;
	font-size: 1.2rem;
	transition: opacity 0.2s;
}
.search-reset button:hover{
	opacity: .6;
}
.search-reset button .m-ico{
	margin-right: 5px;
}


/* 年月切り替え
============================================================================= */
.monthselect{
	margin-top: 30px;
	border-bottom: solid 1px #ccc;
}
.monthselect.datesearch{
	display: none;
}
.monthselect-wrap{
	display: flex;
	align-items: center;
}
.monthselect-year{
	width: 150px;
	padding-bottom: 2px;
}
.monthselect-year_num{
	justify-content: center;
	border: none;
}
.monthselect-year_num span{
	color: #007b95;
	text-align: center;
	font-size: 2.5rem;
	font-weight: bold;
}
.monthselect-year_num .m-ico{
	margin-left: 10px;
	color: #007b95;
}
.monthselect-monthlist{
	flex: 1;
	display: flex;
	margin-left: 20px;
}
.monthselect-monthlist_item{
	position: relative;
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px 5px;
	text-align: center;
	font-size: 1.8rem;
	line-height: 1;
}
.monthselect-monthlist_item:before{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	content: "";
	display: inline-block;
	width: 1px;
	height: 50%;
	border-left: dotted 1px #ccc;
}

.monthselect-monthlist_item.is-active span{
	color: #007b95;
	border-bottom: solid 2px #007b95;
	/*background: #f3fafb;*/
}
.monthselect-monthlist_item.is-active span{
	font-weight: bold;
	border: none;
}

.monthselect-monthlist_item.is-active:after{
	position: absolute;
	left: 0;
	bottom: 0;
	content: "";
	display: inline-block;
	width: 100%;
	height: 2px;
	background: #007b95;
}
.monthselect-monthlist_item:not(.is-active){
	cursor: pointer;
	transition: opacity 0.2s;
}
.monthselect-monthlist_item:not(.is-active):hover{
	opacity: .6;
}
.monthselect-monthlist_item:not(.is-active) span:before{
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 0;
	height: 2px;
	content: "";
	transform: translateX(-50%);
	border-radius: 50vw;
	background: #007b95;
	transition: -webkit-width .2s ease;
	transition: width .2s ease;
	transition: width .2s ease, -webkit-width .2s ease;
}
.monthselect-monthlist_item:not(.is-active):hover span:before{
	width: 90%;
}


/* FILTER
============================================================================= */
.filter{
	display: none;
	margin-top: 30px;
	padding: 20px;
	background: #f5f5f5;
}
.filter.is-filter{
	display: block;
}
.filterwrap{
	display: flex;
	align-items: center;
}
.filterwrap dt{
	text-align: center;
	width: 150px;
	font-size: 1.8rem;
	font-weight: bold;
}
.filterwrap dd{
	flex: 1;
	margin-left: 20px;
}
.filterlist{
	display: flex;
	flex-wrap: wrap;
	margin: -10px 0 0 -8px;
}
.filterlist_item{
	cursor: pointer;
	margin: 10px 0 0 8px;
	padding: 5px 20px;
	border-radius: 50vw;
	background: #fff;
	transition: opacity 0.2s;
}
.filterlist_item:hover{
	opacity: .6
}
.filterlist_item .m-ico{
	margin-left: 5px;
	color: #999;
	font-size: 1.2rem;
}





/* =============================================================================
   JS
============================================================================= */

/* Tooltip
===================================================== */
.tooltip {
    display: none;
    position: absolute;
    background-color: #333;
    color: #fff;
    padding: 5px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    z-index: 1000;
}

.tooltip::after {
    content: "";
    position: absolute;
    border-width: 5px;
    border-style: solid;
    border-color: #333 transparent transparent transparent;
    top: 100%;
    left: 50%;
    margin-left: -5px;
}



/* MODAL --------------------------------- */
.open-modal{
    cursor: pointer;
    margin-right: 10px;
    padding: 10px;
    color: #333;
    border-radius: 4px;
    border: 1px solid #ccc;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;	
    background-color: #f1f1f1;
}
.open-modal:focus-visible {
	border-color: #81c2e3;
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(2, 132, 199, .25);
}
@media screen and (max-width: 999px){
	body.modal-lock{
		height: var(--viewport-height, 100%);
		overflow: hidden;
		box-sizing: border-box;
	}
}
@media screen and (min-width: 1000px){
	body.modal-lock {
		position: fixed;
		width: 100%;
		height: 100%;
		left: 0;
		overflow-y: scroll;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}
.modal{
	display: none;
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% - 32px);
	max-height: 85%;
	background: #fff;
	border-radius: 16px;
}
.modal-wrap * {
    box-sizing: border-box;
}
.modal-wrap {
    z-index: 1002;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.modal-overlay {
    z-index: 1001;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	background: rgba(0, 0, 0, 0.6);
}
button.modal-close{
    position: absolute;
    right: 0;
    bottom: 100%;
	z-index: 2;
	margin: 0;
	padding: 0;
	color: #fff;
    font-size: 2.5rem;
    cursor: pointer;
	transition: opacity 0.4s ease, border-color .15s ease-in-out, box-shadow .15s ease-in-out;	
}
.modal-close:focus-visible {
	outline: 0;
	box-shadow: 0 0 0 .25rem rgba(255, 255, 255, .25);
}
.modal-close .m-ico{
	margin: 0;
}
.modal-block{
	padding: 16px 0;
	height: 100%;
}
.modal-header{
	position: absolute;
	left: 0;
	bottom: 100%;
	opacity: 0;
	visibility: hidden;
}
.modal-content{
	padding: 0 16px;
	height: 100%;
	overflow-y: auto;
}
.modal-content::-webkit-scrollbar {
	background: #ccc;
	width: 3px;
	border-radius: 50vw;
}
.modal-content::-webkit-scrollbar-thumb {
	border-radius: 50vw;
	background: #aaa;
}
@media screen and (min-width: 1000px){
	.modal {
		max-width: 1200px;
		width: 100%;
		border-radius: 24px;
	}
	button.modal-close{
		right: -1em;
	}
	.modal-block{
		padding: 24px 0;
	}
	.modal-content{
		padding: 0 24px;
	}
	.modal-content::-webkit-scrollbar {
		width: 8px;
	}
	.modal-close:hover {
		opacity: .6;
	}	
}
@media screen and (min-width: 1000px) and (max-width: 1280px) {
	.modal {
		max-width: 1000px;
	}
	button.modal-close{
		right: 0;
	}
}


/* =============================================================================
    Slider
============================================================================= */
.slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent;width:100%}.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0}.slick-list:focus{outline:none}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-track,.slick-slider .slick-list{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);width:100%;height:100%}.slick-track{position:relative;top:0;left:0;display:block;margin-left:auto;margin-right:auto}.slick-track:before,.slick-track:after{display:table;content:''}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{display:none;float:left}[dir='rtl'] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}.slick-prev,.slick-next{position:absolute;top:50%;transform:translateY(-50%);display:block;font-size:0;padding:0;cursor:pointer;border:none;outline:none;z-index:2;background:none}.slick-prev.slick-disabled:before,.slick-next.slick-disabled:before{opacity:.25}.slick-prev:before,.slick-next:before{font-size:3rem;line-height:1;opacity:.75;color:#3d2502;font-family:'Material Icons Round'}.slick-prev{left:-50px}.slick-next{right:-50px}.slick-prev:before{content:"\e5e0"}.slick-next:before{content:"\e5e1"}.slick-dotted.slick-slider{padding-bottom:16px}.slick-dots{position:absolute;bottom:0;display:flex;justify-content:center;width:100%}.slick-dots li{position:relative;display:inline-block;width:10px;height:10px;margin:0 5px;padding:0;cursor:pointer}.slick-dots li button{font-size:0;line-height:0;display:block;width:10px;height:10px;padding:5px;cursor:pointer;color:transparent;border:0;outline:none;background:transparent}.slick-dots li button:hover,.slick-dots li button:focus{outline:none}.slick-dots li button:hover:before,.slick-dots li button:focus:before{opacity:1}.slick-dots li button:before{font-size:1rem;line-height:20px;position:absolute;top:0;left:0;content:'●';font-family:Osaka,"ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;text-align:center;opacity:.25;color:#000;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-dots li.slick-active button:before{opacity:.75;color:#000}.slick-dots>li:first-child:last-child{display:none}
