@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  outline: none;
  word-break: break-word;
  font-feature-settings: 'palt';
}
html,
body {
  height: 100%;
}
body {
  font-size: 16px;
  font-family: Arial, 'Noto Sans JP', sans-serif;
  line-height: 1.6;
  color: #6a6a6a;
  letter-spacing: 0.02em;
  background: #fff;
}
::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
::-webkit-scrollbar-thumb {
  background-color: #c4c4c4;
  border-radius: 6px;
}
::-webkit-scrollbar-track {
  background: #fff;
}

/* --------------------------------------
	STYLE
-------------------------------------- */
a {
  color: #6e4395;
  outline: none;
  cursor: pointer;
}
a:hover {
  color: #6e4395;
}
.delete_txt {
  color: #6e4395 !important;
}
.delete_txt:hover {
  color: #6e4395 !important;
}
h1,
h2,
h3,
h4 {
  line-height: 1.4;
}
select {
  background-color: #fff;
}
.translate-x-full {
  --tw-translate-x: 100% !important;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y))
    rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y))
    scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) !important;
}
.transition-all {
  transition-property: all !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 150ms !important;
}
.ease-linear {
  transition-timing-function: linear !important;
}
.required::after {
  content: '*';
  margin-left: 5px;
  color: #ff0000;
}
input[type='search'] {
  -webkit-appearance: searchfield;
}
input[type='search']::-webkit-search-cancel-button {
  width: 14px;
  height: 14px;
  background-image: url('/images/cancel.svg');
  -webkit-appearance: searchfield-cancel-button;
  cursor: pointer;
}
select:not([size]){
  padding-right: 1.0rem;
  background-position: right 0.3rem center;
  background-size: 0.55em auto;
}

/*
h1,h2,h3,h4,
th{
	color: #343a40;
}
ul,li{ list-style: none; margin:0;}
dl,dt,dd{ margin: 0;}
figure{ margin: 0;}
.blue{ color: #003E89;}
.black{ color: #343a40;}
.bold{ font-weight: bold;}
.inline{ display: inline;}
.alnC{ text-align: center;}
.alnR{ text-align: right;}
.alnL{ text-align: left;}
.mt0{ margin-top: 0 !important;}
.mt15{ margin-top: 15px !important;}
.mt20{ margin-top: 20px !important;}
.mt25{ margin-top: 25px !important;}
.mt35{ margin-top: 35px !important;}
.mb0{ margin-bottom: 0 !important;}
.mb3{ margin-bottom: 3px !important;}
.mb5{ margin-bottom: 5 !important;}
.mb10{ margin-bottom: 10px !important; }
.mr0{ margin-right: 0 !important;}
.mr10{ margin-right: 10px !important;}
.ml10{ margin-left: 10px !important; }
.pr0 {padding-right: 0 !important;}
.fs16{ font-size: 16px;}
.fs22{ font-size: 22px;}
.bgGray{ background-color: #EBEBEB; }
.flexwrap{ display: flex;}
.alnItemC{ align-items: center;}
@media screen and (max-width: 768px){
	.pc{
		display: none !important;
	}
	.sp_disB{ display: block;}
}
*/

/* BUTTON */
/*
.btn{
	padding: 7px 15px;
	letter-spacing: 1px;
	display: inline-block;
	position: relative;
	cursor: pointer;
}
.btn:hover{
	opacity: 0.6;
	transition: 0.4s;
}
.btnOrange{
	color: #fff;
	background: #fba220;
	border-color: #fba220;
}
.btnOrange:hover{
	color: #fff;
	background: #ef8e00;
	border-color: #ef8e00;
}
.btn.add{
	color: #7E7A7A;
}
.btn.add::before{
	content: "\f067";
	margin-right: 10px;
	font-family: "FontAwesome";
}
.btn.simple,
.btn.readmore{
	color: #7E7A7A;
}
.btn.readmore::after{
	content: "\f054";
	margin-left: 10px;
	font-family: "FontAwesome";
}
.btn.prev::before{
	content: "\f053";
	margin-right: 10px;
	font-family: "FontAwesome";
}
.btn.next::after{
	content: "\f054";
	margin-left: 10px;
	font-family: "FontAwesome";
}
.btn.toggle{
	min-width: 140px;
	color: #7E7A7A;
	border: 1px solid #DBDBDB;
}
.btn.toggle::after{
	content: "\f078";
	margin-left: 10px;
	font-family: "FontAwesome";
	position: absolute;
	right: 15px;
}
.btn.toggle.toggleOpen::after{
	content: "\f077";
}
.btnWrap{
	margin: 35px auto;
	text-align: center;
}
.btnWrap.alnL{
	text-align: left;
}
.btnWrap:last-child{
	margin-bottom: 0;
}
.btnWrap.head{
	margin: 0 auto 15px;
}
.btnWrap .btn{
	margin: 0 5px;
}
.btn.wm140{
	min-width: 140px;
}
*/

/* TABLE */
/*
.table th,
.table td{
	padding: 0.75rem;
}
.tableRow{
	border-collapse: collapse;
}
.tableRow th{
	background: #ebebeb;
	border: 1px solid #dbdbdb !important;
	vertical-align: middle;
	line-height: 1.3;
}
.tableRow.yoko th{
	padding: 0.5em 5px;
	text-align: center;
}
.thClear th{
	color: inherit !important;
	background: transparent;
}
.thNoline th{
	border-right: none !important;
}
.thNoline th + td{
	border-left: none !important;
}
.tdNolineR,
.tableRow .tdNolineR{
	border-right: none !important;
}
.tableRow.th80 th{ width: 80px;}
.tableRow.th120 th{ width: 120px;}
.tableRow.th140 th{ width: 140px;}
.tableRow.th150 th{ width: 150px;}
.tableRow.th180 th{	width: 180px;}
.tableRow.th270 th{	width: 270px;}
.tableRow.th275 th{	width: 275px;}
.tableRow td{
	border: 1px solid #dbdbdb !important;
	vertical-align:middle;
}
.cellLogin{
	width: 120px;
	text-align: center;
}
.cellYMDHM{
	width: 140px;
	padding: 0.5em 5px;
}
td.cellYMDHM{
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1.2;
}
.cell80{ width: 80px;}
.cell90{ width: 90px;}
.cell100{ width: 100px;}
.cell120{ width: 120px;}
.cellSort{
	width: 100px;
	text-align: center;
	background: #e9ecef;
}
.cellSort input{
	padding: 0 5px;
	color: #8194A7
}
.cellSort input:hover{
	color: #323D48;
	border-color: #8194A7
}
.cellSort input.btnDisabled,
.cellSort input.btnDisabled:hover{
	color: #DBDBDB;
	border-color: #DBDBDB;
	background: #FFF
}
.tableRow .cellDelete{
	width: 100px;
	border-left: none !important;
}
@media screen and (max-width: 768px){
	.table th,
	.table td{
		padding: 0.75em 0.5rem;
	}
	.tableRow.th180 th{
		width: 100px;
	}
	.cellSort{
		width: 45px;
	}
	.cellSort input{
		margin: 5px auto 0;
		display: block;
	}
	.cellSort input:first-of-type{
		margin-top: 0;
	}
	table.spBlkTbl,
	table.spBlkTbl thead,
	table.spBlkTbl tbody,
	table.spBlkTbl tr,
	table.spBlkTbl th,
	table.spBlkTbl td{
		width: 100% !important;
		border: none !important;
		display: block;
	}
	table.spBlkTbl{}
	table.spBlkTbl tr{
		margin-top: 10px;
		padding: 0.75em 0.5rem;
		border: 1px solid #dee2e6 !important;
	}
	table.spBlkTbl tr:first-of-type{
		margin-top: 0;
	}
	table.spBlkTbl th,
	table.spBlkTbl td{
		padding: 10px 0 0;
	}
	table.spBlkTbl th:first-child,
	table.spBlkTbl td:first-child{
		padding-top: 0;
	}

}
*/

/* FORM */
/*
label{
	margin-bottom: 0;
}
input.form-inline{
	display: inline-block;
}
.form-check-inline{
	margin: 0.25em 0.5em 0.25em 0;
	padding-right: 0.5em;
}
.form-check-inline + .form-check-inline{
	margin-left: 0;
}
td.form-check{
	display: table-cell;
}
select.year{
	width: 60px;
	padding: 0;
	text-align: center;
}
select.month,
select.day{
	width: 40px;
	padding: 0;
	text-align: center;
}
.cellYM{
	display: flex;
	align-items: center;
}
.cellYM span{
	margin: 0 5px;
}
input.free,
textarea.free{
	width: 100%;
	padding: 0.65rem 0.75rem;
	border-radius: 3px;
	box-sizing: border-box;
}
input[type="file"]{
	width: 100%;
}
textarea{
	min-height: calc(5rem + 30px);
}
input.freeSS{ width: 100px;}
input.freeS{ width:100px;}
input.freeM{ width:230px;}
input.freeL{ max-width: 430px;}
input.free40{ width: 40px;}
input.free60{ width: 60px;}
input.free80{ width: 80px;}
input.freeM120{ max-width: 120px;}
input.freeM250{ max-width: 250px;}
input.freeM450{ max-width: 450px;}
.btn.btnDisabled,
.btn.btnDisabled:hover,
input.btn.btnDisabled[type="submit"]{
	opacity: 1;
	cursor: auto;
	background: #dcdcdc;
	color: #999999;
	font-size: 12px;
	padding: 0 5px;
	height: 30px;
	line-height: 30px;
	display: inline-block;
}
.btn.btnUp,
.btn.btnDown{
	background: #fff;
	color: #fba220;
	border: 1px solid #cec4ba;
	font-size: 12px;
	padding: 0 5px;
	height: 30px;
	line-height: 30px;
	display: inline-block;
}
.btn.btnUp:hover,
.btn.btnDown:hover{
	opacity: .5;
}
.icn_share{
	width: auto;
	height: 20px;
}
.icn_copy{
	width: auto;
	height: 20px;
}
#user_profile_image_drop_area{
	padding: 30px 5px;
	line-height: 1;
	text-align: center;
	border: 2px dashed #ccc;
}
#user_profile_image_image_area figure{
	margin: 10px 0;
}
@media screen and (max-width: 768px){
	select.year{
		width: 65px;
	}
	select.month,
	select.day{
		width: 50px;
	}
}
*/

/* --------------------------------------
	BLOCK
-------------------------------------- */
/* 共通 */
#wrapper {
  margin: 0 auto;
  position: relative;
}
#contents {
  margin-left: 240px;
}
main {
  min-height: calc(100vh - 120px);
  margin: 0;
  padding: 20px 40px 70px;
}
main h2 {
  font-size: 20px;
}
main h3 {
  font-size: 16px;
}
footer {
  height: 40px;
}
#copyright {
  font-size: 12px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  #contents {
    margin-left: 0;
    padding: 1px 0 0;
  }
  main {
    padding: 10px 20px 35px;
  }
  main h1 {
    font-size: 20px;
  }
  main h2 {
    font-size: 18px;
  }
}

/* header */
#hnav {
  width: 100%;
  height: 65px;
  background: #fff;
  display: flex;
  border-bottom: 1px solid #d2d9e0;
  box-shadow: 0px 0px 10px -5px rgba(0, 0, 0, 0.5);
}
#hnav nav {
  width: calc(100% - 150px);
  height: 100%;
  position: relative;
  z-index: 100;
}
#hnav nav ul {
  width: 100%;
  height: 100%;
  display: flex;
  overflow: hidden;
}
#hnav nav li {
  width: 120px;
  height: 100%;
  text-align: center;
  border-right: 1px solid #d2d9e0;
}
#hnav nav li:not(#hamburger) a,
#hnav nav li:not(#hamburger) button {
  width: 100%;
  height: 100%;
  padding: 10px;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: column;
  position: relative;
}
#hnav nav li a.selected,
#hnav nav li button.selected {
  color: #fff;
  background: #6e4395;
}
#hnav nav li a figure,
#hnav nav li button figure {
  margin-bottom: 2px;
}
#hnav #hamburger {
  width: 65px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#hnav #hamburger:hover {
  cursor: pointer;
}
#user {
  max-width: 210px;
  min-width: 150px;
  margin-left: auto;
  text-align: right;
  border-left: 1px solid #d2d9e0;
  position: relative;
  z-index: 100;
}
#user .slideMenu {
  width: 100%;
  height: 100%;
  padding: 5px 20px 5px 10px;
  line-height: 1.2;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
#user button .corp,
#user button .name {
  width: 100%;
  font-size: 12px;
  display: block;
}
#user button .corp {
}
#user button .name {
  margin-top: 3px;
  padding-right: 18px;
  position: relative;
}
#user button .name::after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 5px 0 5px;
  border-color: #1f1f1f transparent transparent transparent;
  position: absolute;
  top: calc(50% - 3.5px);
  right: 0;
}
#user a {
  height: 60px;
  padding: 5px 20px 5px 10px;
  line-height: 1.2;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#user .toggle,
#hnav nav .toggle {
  width: 100%;
  display: none;
  padding: 0;
  margin: 0;
  text-align: center;
  background: #efefef;
  color: #fff;
  position: absolute;
  z-index: 9999;
}
#user .toggle a,
#hnav nav .toggle a {
  padding: 10px 15px;
  height: auto;
  min-height: 20px;
  font-size: 14px;
  line-height: 1.4;
  color: #6a6a6a;
  border-bottom: 1px solid #c4c4c4;
  display: flex;
  align-items: center;
}
#user .toggle a:hover,
#hnav nav .toggle a:hover {
  color: #fff;
  background: #6e4395;
}
@media only screen and (max-width: 1385px) {
  #hnav nav li {
    width: 120px;
    max-width: calc((100% - 15px) / 4);
  }
}
@media screen and (max-width: 800px) {
  #hnav nav li a {
    font-size: 12px;
  }
}
@media screen and (max-width: 768px) {
  #hnav #user {
    display: none;
  }
  #hnav nav {
    width: 100%;
  }
  #hnav nav li {
    width: 25%;
    max-width: none;
    border-bottom: 1px solid #d2d9e0;
  }
}

/* sidebar */
#sidebar {
  width: 240px;
  height: 100vh;
  background: #efefef;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  overflow: auto;
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.2);
}
#sidebar header {
  height: 65px;
  padding: 10px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
#sidebar header .logo {
  height: 100%;
  margin: 2px 0 0;
  font-size: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
#sidebar header .logo a {
  text-align: center;
}
#sidebar header .logo img {
  width: 100%;
  height: 30px;
}
#sidebar header .logo img.mini {
  width: auto;
  height: 25px;
  display: none;
}
#gnav {
}
#gnav dl {
  color: #6a6a6a;
}
#gnav dt {
  padding: 5px 15px;
  font-size: 14px;
  font-weight: normal;
  background: #d9d9d9;
}
#gnav dt::before {
  content: '▼';
}
#gnav dd {
  margin: 0;
  border-bottom: 1px solid #c4c4c4;
}
#gnav dl div:not(:last-of-type) dd:last-of-type {
  border-bottom: none;
}
#gnav dd a {
  height: 100%;
  padding: 12px 15px;
  color: #6a6a6a;
  display: block;
}
#gnav dd a:hover {
  color: #fff;
  background: #6e4395;
}
#gnav dd.current a {
  color: #fff;
  background: #6e4395;
}
#gnav #logout {
  padding: 12px 15px;
  color: #fff;
  text-align: center;
  display: block;
}
#gnav #logout:hover {
  background: #6e4395;
}
#gnav #logout::before {
  content: '\f08b';
  margin-right: 3px;
  font-size: 16px;
  font-family: 'FontAwesome';
}
@media screen and (max-width: 768px) {
  #sidebar {
    width: 100%;
    height: inherit;
    position: static;
  }
  #sidebar header {
    height: 60px;
    padding: 10px 15px;
    justify-content: space-between;
  }
  #sidebar header .logo {
    justify-content: flex-start;
  }
  #sidebar header .logo a {
    text-align: left;
  }
  #hnav nav li a {
    font-size: 14px;
  }
  #sidebar header .logo img {
    width: auto;
    height: 30px;
  }
  #gnav {
    height: calc(100vh - 60px);
    overflow: hidden;
  }
  #gnav dt {
    padding: 3px 15px;
  }
  #gnav dd a {
    padding: 10px 15px;
  }
}

/* 団体管理 */
#sidebar.grp {
  background: #643987;
}
.grp #gnav dd a {
  color: #fff;
  background: #643987;
}
.grp #gnav dd.current a {
  color: #643987;
  background: #d5c7e2;
}

/* --------------------------------------
	humberger
-------------------------------------- */
.sidebarClose #contents {
  margin-left: 60px;
}
.sidebarClose #sidebar header .logo img {
  display: none;
}
.sidebarClose #sidebar header .logo img.mini {
  display: inline-block;
}
.sidebarClose #gnav dl div:not(:last-of-type) dd:last-of-type {
  border-bottom: 1px solid #c4c4c4;
}
.sidebarClose #gnav dt {
  display: none;
}
.sidebarClose #gnav dd a {
  text-indent: -9999px;
  background: url('/images/icn_gnav_ticket.png') no-repeat center center / 25px
    auto;
}
.sidebarClose #gnav dd a:hover,
.sidebarClose #gnav dd.current a {
  background-image: url('/images/icn_gnav_ticket-w.png');
  background-color: #6e4395;
}
.sidebarClose #sidebar {
  width: 60px;
}
.sidebarClose #gnav {
  width: 100%;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #hnav #hamburger {
    width: 60px;
    height: 60px;
    position: absolute;
    right: 0;
    top: -60px;
    border-bottom: 0;
  }
  #sidebar {
    width: 100% !important;
  }
  #gnav {
    width: 100%;
    height: calc(100vh - 60px);
    background: #fff;
    overflow: hidden;
    position: absolute;
    top: 60px;
    left: 0;
    z-index: 900;
    display: none;
  }
  .sidebarClose #contents {
    margin-left: 0;
  }
  .sidebarClose #hnav #hamburger {
  }
  .sidebarClose #sidebar header .logo img {
    display: block;
  }
  .sidebarClose #sidebar header .logo img.mini {
    display: none;
  }
  .sidebarClose #gnav dt {
    display: block;
  }
  .sidebarClose #gnav dd a {
    text-indent: 0;
    background-image: none;
  }
  .sidebarClose #gnav dd a:hover,
  .sidebarClose #gnav dd.current a {
    background-image: none;
  }
  .sidebarClose #sidebar {
    width: 100%;
  }
}

/* --------------------------------------
	システム運営 body#system内
-------------------------------------- */
#system #contents {
  margin-left: auto;
}
#system #hnav {
}
#system #hnav nav li,
#hnav nav .toggle {
  width: 120px;
}
#system #hnav .logo {
  width: 240px;
  height: 100%;
  margin: 2px 0 0;
  font-size: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
#system #hnav .logo a {
  text-align: center;
}
#system #hnav .logo img {
  width: 100%;
  height: 30px;
}
#system #hnav .logo img.mini {
  width: auto;
  height: 25px;
  display: none;
}
@media only screen and (max-width: 1385px) {
  #system #hnav nav li,
  #hnav nav .toggle {
    width: 120px;
    max-width: calc((100% - 200px) / 7);
  }
  #system #hnav .logo {
    max-width: 200px;
  }
}
@media only screen and (max-width: 768px) {
  #system #hnav nav li,
  #hnav nav .toggle {
    width: 120px;
    max-width: calc((100% - 40px) / 7);
  }
  #system #hnav nav li a,
  #system #hnav nav li button {
    padding: 10px 2px;
    font-size: 10px;
    line-height: 1;
  }
  #system #hnav .logo {
    max-width: 40px;
    padding: 10px 5px;
  }
  #system #hnav .logo img {
    display: none;
  }
  #system #hnav .logo img.mini {
    width: auto;
    height: 20px;
    display: block;
  }
}

/* --------------------------------------
	一般利用者向け body#public内
-------------------------------------- */
#public #contents {
  margin-left: auto;
}
#pbnav {
  height: 65px;
  background: #fff;
  border-bottom: 1px solid #d2d9e0;
  box-shadow: 0px 0px 10px -5px rgba(0, 0, 0, 0.5);
}
#pbnav h2 {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
#pbnav h2.justify-start {
  justify-content: flex-start;
}
#pbnav .logo img {
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  #pbnav {
    height: 55px;
  }
}

#nav_user {
  width: 100%;
  height: 75px;
  background: #6e4395;
  display: flex;
  justify-content: center;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 99;
}
#nav_user a {
  width: calc(100% / 4); /* 現メニュー４個 */
  max-width: calc(600px / 4);
  height: 100%;
  padding: 15px 0 0;
  font-size: 12px;
  text-align: center;
  color: #fff;
  display: block;
}
#nav_user a.current {
  color: #6e4395;
  background: #f7eff7;
}
#nav_user a figure {
  width: 26px;
  height: 23px;
  margin: 0 auto 5px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
#nav_user a figure img {
  width: auto;
  height: 23px;
  display: inline;
}

@media screen and (max-width: 768px) {
  #nav_user {
  }
  #nav_user a {
    font-size: 10px;
  }
}

/* --------------------------------------
	MODAL（モック用）
-------------------------------------- */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
  display: none;
}
.modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
/*
.modal-content.w400{
	max-width: 400px;
	width: calc(100% - 40px);
}
.modal-content.w460{
	max-width: 460px;
	width: calc(100% - 40px);
}
.modal-content.w640{
	max-width: 640px;
	width: calc(100% - 40px);
}
.modal-content.w900{
	max-width: 900px;
	width: calc(100% - 40px);
}
*/
