@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Fjalla+One');

:root {
	--main-color:#3f3731;
	--main-color2:#444444;
	--text-color:#333;
	--border-color:#ccc;
	--bg-color:#fff;
	--bt-color:#ff0;
}
html {
	font-size:14px;
}
body {
	color:#000;
	background-color:#fff;
	position:relative;
	font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	text-align:justify;
}
a {
	color:#3f3731;
	transition:.2s;
	cursor:pointer;
}
a:hover {
	opacity:.8;
	text-decoration:none;
}
h1 {
	font-size:1.5rem;
	margin-bottom:1rem;
}
h2 {
	font-size:1.3rem;
	margin-bottom:1rem;
}
ul,li,div {
	margin:0;
	padding:0;
	list-style:none;
}

@media screen and (min-width: 769px) {
	.sponly{
		display:none;
	}
}
@media screen and (max-width: 768px) {
	html {
		font-size:2vw;
	}
	.pconly{
		display:none;
	}
}



/* components */
select,
input,
textarea,
.inpdiv {
	padding:.4em 1em;
	border:1px solid #ccc;
	margin-bottom:.4em;
	border-radius:4px;
}
button.ui-datepicker-trigger {
	border:none;
	padding: 4px 10px;
	background-color:#3f3731;
	color:#fff;
	border-radius: 4px;
}
input[type=color] {
	padding:0;
	border:none;
	min-width:50px;
}
.messages {
	color:#c00;
	border:1px dotted #ccc;
	padding:.4rem 1rem;
	margin-bottom:.4rem;
}
.btn {
	border:none;
}
.btn-primary {
	background-color:#3f3731;
	border:none;
}
.btn-download {
	background-color:#666;
	color:#fff;
	border:none;
}
.btn-close {
	background-color:#999;
	color:#fff;
	border:none;
}
input::placeholder {
	color:#bbb;
}
.pagination {
	display:block;
	text-align:center;
	line-height:1;
}
.pagination span {
	display:inline-block;
	border:1px solid #ccc;
	margin-bottom:.1em;
}
.pagination span a {
	display:block;
	padding:.6em 1em;
	height:100%;
	width:100%;
	color:#333;
}
.pagination span.previous-inactive,
.pagination span.next-inactive {
	background-color:#eee;
}
.pagination span.active a {
	background-color:#3f3731;
	color:#fff;
}
.btn-group {
	width:100%;
}
ul.multiselect-container {
	border:none;
	border-radius:0;
	box-shadow: 0px 0px 20px rgba(0,0,0,0.2);
	overflow:auto;
	max-height:12rem;
}
.multiselect-container > li > a {
	color:#333;
}
.multiselect-container > li > .hover {
	color:#333;
}
.multiselect-container > li > a > label {
	font-weight:normal;
	display:block;
	padding:.2em 1em;
	white-space:nowrap;
}
.fj {
	font-family: 'Fjalla One', sans-serif;
}
.breadcrumbs {
	padding:1em;
	font-size:1.4rem;
}
.breadcrumbs a,
.breadcrumbs span {
	margin-right:1em;
	letter-spacing:.15em;
}
@media screen and (max-width: 768px) {
	.breadcrumbs {
		font-size:1rem;
	}
}


/* header */
header {
	position:relative;
	font-size:1.2rem;
	background-color:#3f3731;
	color:#fff;
	box-shadow: 0px 0px 20px rgba(0,0,0,0.2);
	z-index:100;
}
header a {
	color:#fff;
}
header a:hover {
	opacity:.8;
	color:#fff;
}
header nav {
	position:relative;
	display:flex;
}
header nav > div {
	position:relative;
	white-space:nowrap;
	vertical-align:middle;
	flex:1;
}
header nav a {
	display:block;
	height:100%;
	padding:.6rem 0;
	text-align:center;
}
header nav a:hover {
	background-color:rgba(0,0,0,.1);
}
header .nav a i,
header .nav a svg {
	display:block;
	font-size:1.5rem;
	margin:0 auto .5rem;
}
header nav a span {
	display:block;
	font-size:.8rem;
	line-height:1.2;
}
header nav .dropdown {
	display:none;
	position:absolute;
	left:0;
	top:100%;
	width:100%;
	background-color:#3f3731;
	z-index:100;
}
header nav .dropdown a {
	background-color:#444;
}
header .spnav {
	display:table;
	height:50px;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	background-color:#3f3731;
}
header .spnav > * {
	display:table-cell;
	vertical-align:middle;
	padding:0 15px;
}
@media screen and (min-width: 769px) {
	header nav > div:hover .dropdown {
		display:block;
	}
}
@media screen and (max-width: 768px) {
	header .nav {
		position:fixed;
		top:50px;
		left:0;
		width:100%;
		max-height:0;
		overflow:hidden;
		background-color:#3f3731;
		transition:.3s;
	}
	header .nav.on {
		max-height:30rem;
	}
	header .nav {
		flex-wrap:wrap;
	}
	header .nav > div {
		display:block;
		width:33.33333333%;
		flex:auto;
	}
}


header.staffheader {
	display:flex;
	background-color:#ccc;
	text-align:center;
	font-size:2rem;
	line-height:1;
	justify-content:center;
}
header.staffheader > div {

}
header.staffheader .title {
	flex:1;
	letter-spacing:.2em;
	padding:3rem 0;
	background-color:#3f3731;
}
header.staffheader .title.title2 {
	background-color:#3f3731;
}
header.staffheader .spmenubar {
	position:absolute;
	left:1rem;
	top:3rem;
}
@media screen and (max-width: 768px) {
	header.staffheader {
		font-size:2rem;
	}
	header.staffheader .title {
		padding:2rem 0;
	}
	header.staffheader .spmenubar {
		top:2rem;
	}
}



footer .copyright {
	text-align:center;
	padding:30px 10px;
}



/* login index */
.indexwrap {
	display:flex;
	justify-content:center;
	align-items:center;
	position:fixed;
	width:100%;
	height:100%;
	left:0;
	top:0;
	background:url(../img/login_002.jpg) center center no-repeat #fff;
	background-size:cover;
}
.indexwrap > div {
	width:100%;
}
.indexwrap h1 {
	background-color:rgba(200,0,0,.7);
	color:#fff;
	letter-spacing:.2em;
	width:100%;
	padding:2em 0;
	text-align:center;
	font-size:30px;
	margin-bottom:3em;
}
.loginform {
	max-width:500px;
	margin:0 auto;
	padding:30px;
	background-color:rgba(255,255,255,.8);
	border-radius:10px;
}
.loginform p {
	margin-bottom:1em;
}
.loginform .liarea {
	display:flex;
	flex-wrap:wrap;
}
.loginform .liarea .checks {
	width:100%;
	margin-bottom:2em;
	text-align:center;
}
.loginform .liarea .checks label {
	margin:0 1em;
}
.loginform .liarea .key {
	width:88px;
	display:flex;
	align-items:center;
	display: block;
	text-align:center;
}
.loginform .liarea .key span {
	display:inline-block;
	border:1px solid #333;
	background-color:#fff;
	padding:.5em;
	width:100%;
	border-radius:4px;;
}
.loginform .liarea .inp {
	width:calc(100% - 88px);
	padding-left:.5em;
}
.loginform input {
	display:block;
	width:100%;
	border:1px solid #333;
	padding:.5em;
	border-radius:0;
}
.loginform .lbtnarea {
	text-align:center;
	padding:3em 0 1em;
}
.btn-gray {
	font-size:1.3rem;
	padding:.4em;
	border-radius:5em;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e5e4e5+0,e5e4e5+70,ffffff+100 */
	background: rgb(229,228,229); /* Old browsers */
	background: -moz-linear-gradient(-45deg, rgba(229,228,229,1) 0%, rgba(229,228,229,1) 70%, rgba(255,255,255,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg, rgba(229,228,229,1) 0%,rgba(229,228,229,1) 70%,rgba(255,255,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg, rgba(229,228,229,1) 0%,rgba(229,228,229,1) 70%,rgba(255,255,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e5e4e5', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
.btn-gray span {
	padding:.6em 2em .4em;
	position:relative;
	display:inline-block;
	border-radius:4em;
	letter-spacing:.2em;
	line-height:1;
	color:#4d4c4c;
	font-weight:bold;
	box-shadow:0 0 0 1px rgba(255,255,255,.6) inset,0 0 0 1px #9d9d9d,5px 5px 5px 0 #eee;
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f1f0f0+0,d8d7d6+100 */
	background: rgb(241,240,240); /* Old browsers */
	background: -moz-linear-gradient(-45deg, rgba(241,240,240,1) 0%, rgba(216,215,214,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(-45deg, rgba(241,240,240,1) 0%,rgba(216,215,214,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(135deg, rgba(241,240,240,1) 0%,rgba(216,215,214,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f1f0f0', endColorstr='#d8d7d6',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
	font-variant-ligatures: none;
}
.btn-gray span:hover {
	opacity:.8;
}
.btn-imdrop {
	border:2px dashed #ccc;
	display:block;
	padding:2rem;
}
@media screen and (max-width: 768px) {
	.indexwrap h1 {
		font-size:1.5rem;
	}
	.loginform {
		width:70vw;
		padding:2rem;
	}
}






/* contents */
.contents {
	margin:30px auto;
	padding:0 30px;
	min-width:320px;
}
.contents .tabwrap {
	padding:1rem 0;
}
.contents h1 {
	font-size:1.6rem;
	border-left:10px solid #3f3731;
	padding-left:1rem;
	margin:0 auto 1rem;
	letter-spacing:.2em;
}
.contents h2 {
	border-left:8px solid #3f3731;
	padding-left:.8rem;
	letter-spacing:.2em;
}
.contents .btnarea {
	margin-bottom:1em;
	text-align:right;
}
.table {
	border-bottom:1px solid #dee2e6;
}
.table th,
.table td {
	vertical-align:middle;
	padding:.5em;
}
.table td.ctmb {
	padding:0;
}
.table thead th {
	background-color:#3f3731;
	color:#fff;
	font-weight:normal;
	border-bottom-width:1px;
}
.table thead th a {
	color:#fff;
}
.table tr.invalid td {
	opacity:.5;
}
.table .key {
	white-space:nowrap;
	font-weight:bold;
}
#tablearea {
	overflow-x:auto;
}
#tablearea.oxnone {
	overflow:visible;
}
#tablearea table {
	white-space:nowrap;
	margin-bottom:1rem;
	font-size:1rem;
}
.table td .thumb img {
	height:2rem;
	width:2rem;
	object-fit:cover;
	transition:.2s;
}
.table td .thumb.on img {
	height:5rem;
	width:auto;
}
.table .min {
	font-size:80%;
}
@media screen and (max-width: 768px) {
	.contents {
		padding:0 10px;
	}
}



/* dashboard */
#grapharea {
	max-width:900px;
	margin:0 auto;
}
.releasenote {
	margin:30px auto;
	max-width:900px;
}
.releasenote p {
	background-color:#f4f4f4;
	padding:1rem;
}



/* search form */
.searchform {
	margin-bottom:1rem;
}
.searchform label {
	display:block;
	font-size:80%;
	margin-bottom:.2em;
}
.searchform .form-control.checkwrap {
	border:none;
}
.searchform label.checklabel {
	display:inline-block;
	white-space:nowrap;
	font-size:1rem;
	margin-right:1rem;
}
.searchform label input[type=checkbox] {
	margin:0 .3em 0 0;
	position:relative;
	top:.1rem;
}
.searchform button.multiselect,
.reportform button.multiselect {
	width:100%;
	margin-bottom:.4em;
}
.searchform .dropdown-toggle {
	text-align:left;
}
.searchform .dropdown-toggle::after {
	display:none;
}
button.multiselect {
	background-color:#f4f4f4;
}



/* mymodal */
.mymodal {
	display:flex;
	justify-content:center;
	align-items:center;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	padding:30px;
	overflow:auto;
	transition:.2s;
	z-index:-1;
	opacity:0;
	transform:scale(1);
	box-shadow:0 0 10px rgba(0,0,0,.2);
}
.mymodal.on {
	z-index:2000;
	opacity:1;
	transform:scale(1);
}
.mymodal > a.mymodalclose {
	display:block;
	position:absolute;
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,.4);
}
.mymodal .mymodalcwrap {
	position:relative;
	width:800px;
	max-width:100%;
	max-height:100%;
	overflow:auto;
	background-color:#666;
	transition:.2s;
	transform:scale(.8);
}
.mymodal.on .mymodalcwrap {
	transform:scale(1);
	background-color:#f8f9fa;
}
.mymodal .mymodalcontent {
	position:relative;
}
.mymodal a.mymodalclose.mymodalclosebtn {
	background-color:#ccc;
	color:#fff;
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	top:0;
	right:0;
	width:40px;
	height:40px;
	line-height:1;
	text-align:center;
}
@media screen and (max-width: 768px) {
	.mymodal {
		padding:0;
	}
	.mymodal.on {
		align-items:flex-start;
		padding:0;
	}
	.mymodal .mymodalcwrap {
		border-radius:0;
		height:100%;
		width:100%;
	}
	.mymodal a.mymodalclose.mymodalclosebtn {
		font-size:4vw;
		padding:10px;
		height:auto;
		width:auto;
		background-color:#3f3731;
		display:block;
		text-align:right;
		cursor:pointer;
	}
}

/* modalform */
.modalform {
	margin:30px auto;
	padding:0 30px;
	max-width:768px;
}
.modalform h1 {
	font-size:1.5rem;
	margin-bottom:10px;
}
.modalform h2 {
	font-size:1.1rem;
	margin-bottom:10px;
}
.modalform p.error {
	border:1px solid #c00;
	color:#c00;
	padding:1em;
}
.modalform .fgroup {
	padding:8px 10px;
	position:relative;
}
.modalform .fgroup.line:before {
	content:"";
	position:absolute;
	top:50%;
	left:10px;
	right:10px;
	border-bottom:1px dotted #3f3731;
}
.modalform .bgroup {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	padding:8px 10px;
}
.modalform select,
.modalform input,
.modalform textarea,
.modalform .hidevalue,
.modalform .inpdiv,
.modalform .forms button {
	display:block;
	width:100%;
	background-color:#fff;
	border:1px solid #ccc;
	border-radius:4px;
	margin-bottom:.4em;
}
.modalform .inp,
.modalform .forms button {
	margin-bottom:.4em;
	text-align:left;
}
.modalform input[type=checkbox] {
	display:inline;
	width:auto;
}
.modalform .hidevalue {
	padding:.4rem 1rem;
	border:1px solid #ccc;
	border-radius:4px;
	background-color:#eee;
}
.modalform select {
	display:block;
}
.modalform textarea.min {
	height:4em;
}
.modalform input.min,
.modalform select.min {
	display:inline-block;
	width:auto;
}
.modalform label {
	margin:0 0 .4em;
	display:block;
	font-size:1.2em;
	font-weight:bold;
}
.modalform .inline {
	display:inline-block;
	width:auto;
}
.mymodal .btns {
	padding:1rem 0;
	text-align:center;
}
@media screen and (max-width: 768px) {
	.modalform {
		margin:0 auto;
		padding:0;
	}
	.modalform h1 {
		font-size:4vw;
		line-height:1;
		padding:10px;
		background-color:#3f3731;
		color:#fff;
	}
	.modalform h1 a {
		color:#fff;
	}
	.modalform .forms {
		padding:0 1rem;
	}
	.modalform .btns {
		padding:1rem;
	}
	.modalform label {
		font-size:1.2rem;
	}
}



.modalimgs {
	margin:30px auto;
	padding:0 30px;
	max-width:768px;
}
.modalimgs #images {
	margin:0 -.5rem;
}
.modalimgs #images #imsortform:after {
	content:"";
	display:block;
	clear:both;
}
.modalimgs #images #imsortform > div {
	float:left;
	width:25%;
	padding:.5rem;
}
.modalimgs #images .imgarea {
	position:relative;
	background-color:#eee;
	padding:.5rem;
}
.modalimgs #images .num {
}
.modalimgs #images .img {
	display:block;
	height:120px;
	margin:.5rem 0;
}
.modalimgs #images .img img {
	display:block;
	max-width:100%;
	max-height:120px;
	width:auto;
	height:auto;
	margin:0 auto;
}
.modalimgs #images .caparea {
	margin:.5rem 0;
}
.modalimgs #images .caparea input {
	display:block;
	width:100%;
	margin:0;
}
.modalimgs #images .btnarea {
	text-align:right;
}
@media screen and (max-width: 768px) {
	.modalimgs {
		padding:0 1rem;
	}
	.modalimgs #images > div {
		width:50%;
	}
}



.modaloptions {
	margin:30px auto;
	padding:0 30px;
	max-width:768px;
}
.modaloptions .table {
	border-bottom:1px solid #dee2e6;
}
@media screen and (max-width: 768px) {
	.modaloptions {
		padding:0 1rem;
	}
}



.progress {
	position:fixed;
	top:0px;
	left:0px;
	width:100%;
	height:100%;
	background:url(../img/ajax-loader.gif) center center no-repeat #000000;
	transition:.2s;
	z-index:-1;
	opacity:0;
}
.progress.on {
	opacity:.5;
	z-index:2500;
}

.toast {
	position:fixed;
	bottom:10%;
	display:none;
	width:100%;
	text-align:center;
	z-index:3000;
}
#toast {
	line-height:1;
	display:inline-block;
	background: rgba(0, 0, 0, 0.6);
	color: #fff;
	border-radius: 15px;
	padding: 8px 15px;
	box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
	font-size: 13px;
}





/* staffcontents */
.staffcontents {
	overflow:hidden;
}
.staffcontents.dashboard {
	background:url(../img/login_001.jpg) top center no-repeat;
	background-size:cover;
}
.staffcontents .contents {
	
}
.staffcontents section {
	margin:1rem auto;
}
.staffcontents .mainpanel {
	display:flex;
	flex-wrap:wrap;
	padding:5px;
}
.staffcontents .mainpanel > div {
	width:33.33333333%;
	padding:5px;
}
.staffcontents .mainpanel a {
	display:block;
	text-align:center;
	padding:2rem 0;
	border:3px solid #3f3731;
	border-radius:1rem;
	font-weight:bold;
}
.staffdashboard {
	background:url(../img/sdashboard.png) center center no-repeat;
	background-size:cover;
	height:calc(100vh - 8rem);
}





.staffmenubg {
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,.8);
	opacity:0;
	z-index:-1;
	transition:.5s;
}
.staffmenubg.on {
	opacity:1;
	z-index:1000;
}
.staffmenu {
	position:fixed;
	left:-100%;
	top:0;
	width:70%;
	max-width:320px;
	height:100%;
	background-color:#fff;
	opacity:0;
	transition:.3s;
	z-index:1000;
	font-size:1.2rem;
}
.staffmenu.on {
	opacity:1;
	left:0;
}
.staffmenu .title {
	font-size:1.5rem;
	padding:1rem;
	text-align:center;
	border-bottom:1px solid #ccc;
}
.staffmenu .user {
	font-weight:bold;
	padding:1rem;
	border-bottom:1px solid #ccc;
	color:#a7abd0;
}
.staffmenu .inner {
}
.staffmenu .inner a {
	display:block;
	padding:1rem;
	border-bottom:1px solid #ccc;
	font-weight:bold;
	letter-spacing:.2em;
}
.staffmenu i {
	margin-right:.5rem;
	color:#a7abd0;
}





.propertieslist {
	
}
.propertieslist ul {
	display:flex;
	flex-wrap:wrap;
	background-color:#eee;
	padding:5px;
}
.propertieslist ul li {
	width:50%;
	padding:5px;
}
.propertieslist .property {
	display:flex;
	padding:10px;
	background-color:#fff;
}
.propertieslist .property .left {
	width:40%;
}
.propertieslist .property .right {
	width:60%;
	padding-left:10px;
	position:relative;
}
.propertieslist .property .img {
	padding-top:100%;
	position:relative;
}
.propertieslist .property .img img {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	object-fit:cover;
}
.propertieslist .property .title {
	background-color:#f4f4f4;
	padding:.5em;
	font-weight:bold;
	margin-bottom:.5rem;
}
.propertieslist .property .addr {
	margin:.5rem auto;
}
.propertieslist .property .date {
	font-size:.8rem;
}
.propertieslist .property .btns {
	position:absolute;
	right:0;
	bottom:0;
}
@media screen and (max-width: 768px) {
	.propertieslist ul li {
		width:100%;
	}
	.propertieslist .property {
		flex-wrap:wrap;
	}
	.propertieslist .property .left {
		width:100%;
	}
	.propertieslist .property .right {
		width:100%;
		padding:10px 0 3rem;
	}
	.propertieslist .property .img {
		padding-top:60%;
	}
}





.projectdetail {
	display:flex;
	flex-wrap:wrap;
}
.projectdetail .property {
	width:30%;
}
.projectdetail .property .img img {
	display:block;
	width:100%;
}
.projectdetail .project {
	width:100%;
	padding:10px 0;
}
.projectdetail .products {
	width:100%;
}
.projectdetail .products .main {
	background-color:#a7abd0;
	color:#fff;
}
.projectdetail .products .main .title {
	font-weight:bold;
}
.projectdetail .products .main .title span  {
	font-size:1.5rem;
	letter-spacing:.1em;
	font-weight:normal;
}
.projectdetail .products .img {
	display:inline-block;
	min-height:1rem;
	min-width:1rem;
	background-color:#f4f4f4;
}
.projectdetail .products .img img {
	height:3rem;
}
.projectdetail .totalcheck {
	margin:2rem auto;
}
.projectdetail .btns {
	width:100%;
	padding:1rem;
	text-align:center;
}
@media screen and (max-width: 768px) {
	.projectdetail .property {
		width:100%;
		order:2;
	}
	.projectdetail .property .img {
		margin-bottom:1rem;
	}
	.projectdetail .property .img img {
		display:block;
		width:100%;
		max-width:400px;
		margin:0 auto;
	}
	.projectdetail .project {
		width:100%;
		padding-left:0;
		order:1;
	}
	.projectdetail .products {
		order:3;
	}
	.projectdetail .btns {
		order:4;
	}
}




.productlist {

}
.productlist ul {
	display:flex;
	flex-wrap:wrap;
	background-color:#eee;
	padding:5px;
}
.productlist ul li {
	width:50%;
	padding:5px;
}
.productlist .product {
	display:flex;
	padding:10px;
	background-color:#fff;
}
.productlist .product .left {
	width:40%;
}
.productlist .product .right {
	width:60%;
	padding-left:10px;
	position:relative;
}
.productlist .product .img {
	padding-top:100%;
	position:relative;
}
.productlist .product .img img {
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	object-fit:cover;
}
.productlist .product .title {
	background-color:#f4f4f4;
	padding:.5em;
	font-weight:bold;
	margin-bottom:.5rem;
}
.productlist .product .btns {
	position:absolute;
	right:0;
	bottom:0;
}
@media screen and (max-width: 768px) {
	.productlist ul li {
		width:100%;
	}
	.productlist .product {
		flex-wrap:wrap;
	}
	.productlist .product .left {
		width:100%;
	}
	.productlist .product .right {
		width:100%;
		padding:10px 0 3rem;
	}
	.productlist .product .img {
		padding-top:60%;
	}
}




.staffproductdetail {
	max-width:1024px;
}
.staffproductdetail .ptitle {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	margin:4rem 0;
}
.staffproductdetail .ptitle .t1 {
	font-size:4rem;
	letter-spacing:.2em;
	padding:0 2rem;
	border-right:1px solid #fff;
}
.staffproductdetail .ptitle .t2 {
	font-size:2rem;
	padding:0 2rem;
}
@media screen and (max-width: 768px) {
	.staffproductdetail .ptitle .t1 {
		width:100%;
		text-align:center;
		border:none;
	}
}




.slickwrap {
}
.slickwrap .slick-arrow {
	line-height:1;
	position:absolute;
	top:calc(50% - 3rem);
	width:2rem;
	font-size:2rem;
	z-index:1;
	text-align:center;
	background-color:#3f3731;
	color:#fff;
	padding:2rem 0;
}
.slickwrap .slick-prev {
	left:0;
}
.slickwrap .slick-next {
	right:0;
}
.slickwrap .img {
	background-color:#f4f4f4;
	display:block;
	width:100%;
	padding:1rem;
}
.slickwrap img {
	width:auto;
	height:300px;
	max-width:100%;
	display:block;
	margin:0 auto;
	object-fit:contain;
}
.slick-initialized .slick-slide {
	padding:0 .5rem;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
}
@media screen and (max-width: 768px) {
	.slick-initialized .slick-slide {
		padding:0;
	}
}



#pselectform .product {
	display:flex;
	flex-wrap:wrap;
	margin:1rem auto;
}
#pselectform .product .photos {
	width:100%;
}
#pselectform .product .photos .swiper-slide {
	padding:.5rem;
}
#pselectform .product .photos img {
	display:block;
	width:100%;
}
#pselectform .product .photos .text {
	margin:.5rem 0;
}
#pselectform .product .details {
	width:100%;
}
#pselectform .product .details table {
	table-layout:fixed;
}
#pselectform .product .details select {
	margin:0;
}
#pselectform .product .details .price {
	width:8em;
	font-size:2rem;
}
#pselectform .product #defaultprice {
	display:inline-block;
	white-space:nowrap;
}
#pselectform .pricecheck {
	text-align:right;
	margin-bottom:1rem;
}
#pselectform .pricecheck ul {
	margin-left:auto;
	width:100%;
	max-width:500px;
}
#pselectform .pricecheck li {
	padding:.5rem 1rem;
	font-size:2rem;
	border-bottom:2px dotted #fff;
}
#pselectform .selectedproject {
	margin:2rem auto;
	text-align:center;
	font-weight:bold;
	font-size:1.5rem;
}
@media screen and (max-width: 768px) {
	#pselectform .product .photos {
		width:100%;
		margin-bottom:1rem;
	}
	#pselectform .product .details {
		width:100%;
	}
}




.productoption {
	margin:1rem auto;
	line-height:1.5;
}
.productoption .key {
	color:#fff;
	font-weight:bold;
	padding:1rem 0;
	font-size:1.4rem;
}
.productoption .vals {
}
.productoption .vals label {
	margin:0;
	display:block;
}
.productoption select {
	margin:0;
	display:inline-block;
}
.productoption .table {
	border-bottom: 1px solid #fff;
	margin:0;
	table-layout:fixed;
}
.productoption img {
	width:8rem;
	height:2rem;
	object-fit:cover;
}
.productoption label span {
	margin-right:.5em;
}
.productoption label input {
	display:none;
}
.productoption label input ~ .unchecked {
	display:inline-block;
	color:#fff;
}
.productoption label input:checked ~ .unchecked {
	display:none;
}
.productoption label input ~ .checked {
	display:none;
}
.productoption label input:checked ~ .checked {
	display:inline-block;
	color:#f9ff00;
}
.productoption .price {
	white-space:nowrap;
}


.staffproductdetail .btns {
	text-align:center;
	margin:2rem auto;
}








.catalog {
	background-color:#a3a1a1;
	background-color:rgba(0,0,0,.4);
	color:#fff;
	overflow:hidden;
}
.catalog a {
	color:#fff;
}

.catalognav {
	padding:0 .5rem;
}
.catalognav ul {
	overflow:auto;
	height:20rem;
	max-width:1000px;
	margin:0 auto;
}
.catalognav li {
	padding:0 0 1px 0;
}
.catalognav li a {
	display:block;
	width:100%;
	padding:1rem;
	background-color:#fff;
	color:#000;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.catalognav li a.on {
	background-color:#fee;
}
.catalognav li a span {
	display:inline-block;
	font-size:2rem;
	vertical-align:middle;
	letter-spacing:.1em;
	margin-right:1rem;
}




.catalog .dtitle {
	text-align:center;
	font-size:2rem;
	margin:2rem auto;
}
.catalog .dtitle span {
	display:inline-block;
	padding:.5rem 1rem;
	letter-spacing:.2em;
	background-color:#3f3731;
}
.catalog .taglist ul {
	display:flex;
	flex-wrap:wrap;
	padding:.5rem;
	max-width:1024px;
	margin:0 auto;
}
.catalog .taglist ul li {
	width:50%;
	padding:.5rem;
}
.catalog .taglist ul li.hd {
	width:100%;
}
.catalog .taglist ul li a {
	display:flex;
	width:100%;
	background-color:#fff;
	color:#000;
	line-height:1;
}
.catalog .taglist ul li a .photo {
	width:4.5rem;
	position:relative;
}
.catalog .taglist ul li a .photo img {
	display:block;
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	object-fit:cover;
}
.catalog .taglist ul li a .num {
	background-color:#3f3731;
	color:#fff;
	padding:.5rem;
	padding-right:.4rem;
	font-size:2rem;
	letter-spacing:.1em;
	width:2.2em;
	text-align:center;
}
.catalog .taglist ul li a .num.num2 {
	background-color:#736051;
}
.catalog .taglist ul li a .text {
	padding:1rem;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
	flex:1;
}
.catalog .taglist ul li.hd a .text {
	font-weight:bold;
	background-color:#ffe9d8;
}



.catalog .nbtns {
	padding:2rem 0;
	text-align:center;
}




.productlist2 {
	padding:0 1rem 3rem;
	width:100%;
	max-width:1024px;
	margin:0 auto;
}
.productlist2 .p2header {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:center;
	margin:4rem auto;
	line-height:1;
}
.productlist2 .p2header .num {
	padding:0 2rem;
	border-right:1px solid #fff;
	font-size:6vmin;
	letter-spacing:.2em;
	vertical-align:middle;
}
.productlist2 .p2header .tagname {
	font-size:3vmin;
	padding:0 2rem;
	letter-spacing:.2em;
	text-align:center;
	line-height:1.4;
}
.productlist2 ul {
	border-top:1px solid #fff;
}
.productlist2 .product {
	display:flex;
	flex-wrap:wrap;
	padding:1rem 0;
	border-bottom:1px solid #fff;
}
.productlist2 .product .left {
	width:40%;
}
.productlist2 .product .left .img {
	padding-top:100%;
	background-color:#fff;
	position:relative;
}
.productlist2 .product .left .img img {
	display:block;
	width:100%;
	position:absolute;
	left:5%;
	top:5%;
	width:90%;
	height:90%;
	object-fit:contain;
}
.productlist2 .product .right {
	width:60%;
	padding-left:2rem;
	padding-bottom:3.5rem;
	position:relative;
}
.productlist2 .product .right .title {
	font-size:1.5rem;
	font-weight:bold;
	margin-bottom:1rem;
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
.productlist2 .product .right .price {
	font-size:1.2rem;
	margin-bottom:1rem;
}
.productlist2 .product .right .btns {
	position:absolute;
	right:0;
	bottom:0;
}
@media screen and (max-width: 768px) {
	.productlist2 {
		padding:1rem;
	}
	.productlist2 .p2header {
		margin:1rem auto;
	}
	.productlist2 .p2header .num {
		width:100%;
		border:none;
		text-align:center;
		margin:1rem auto;
	}
}





.imageslide {
	padding:50px 1rem;
}
.swiper-slide {
	padding:.5rem;
}
.imageslide .img {
	width:100%;
}
.imageslide img {
	display:block;
	width:100%;
	opacity:0;
	transition:.3s;
	transform:scale(1.8);
	background-color:#eee;
}
.imageslide img.on {
	opacity:1;
	transform:scale(1);
}
.imageslide .text {
	width:100%;
	padding:.5rem 0;
}
@media screen and (max-width: 768px) {
	.swiper-slide {
		padding:.2rem;
	}
}



.datatables {
	display:flex;
	flex-wrap:wrap;
}
.datatables > div {
	padding:1rem;
	width:33.3333333333%;
}


.galleria-theme-classic .galleria-stage {
	bottom:100px;
}
.galleria-theme-classic .galleria-info {
	top:auto;
	bottom:60px;
	left:0;
	width:100%;
	text-align:center;
	font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
.galleria-theme-classic .galleria-info-text {
	background:none;
	padding:.5rem;
}
.galleria-theme-classic .galleria-info-description {
	font:inherit;
}
.galleria-thumbnails {
	margin:0 auto;
}