@charset "UTF-8";

body {
	position: relative;
	font-family: Inter;
	color: #000000;
	background-color: #F7F8FB;
}

main{
	padding: 50px;
	padding-top: 25px;
}

a {
	transition: 0.5s;
}

.titleWrap{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 60px;
	margin-bottom: 30px;
}

.titleWrap .registBtnWrap{
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 10px;
	background-color: #2563EB;
	width: 200px;
	height: 52px;
	color: #ffffff;
	gap: 10px;
	
}

.titleWrap .registBtnWrap:hover {
	cursor: pointer;
	opacity: 0.7;
}

.titleWrap .registBtnWrap a,
.titleWrap .registBtnWrap button{
	display: inline-flex;
	align-items: center;
	color: #ffffff;
	font-weight: bold;
	gap: 10px;
}

.registBtnWrap .plusIcon{
	display: flex;
	position: relative;
	font-size: 25px;
	border: #ffffff 3px solid;
	border-radius: 50%;	
	width: 27px;
	height: 27px;
	font-weight: 500;
}

.registBtnWrap .plusIcon::before,
.registBtnWrap .plusIcon::after {
  content: "";
  position: absolute;
  top: 50%;
    left: 50%;
  transform: translate(-50%, -50%);
  background-color: #ffffff;
}

.registBtnWrap .plusIcon::before {
  width: 16px;
  height: 2px;
}

.registBtnWrap .plusIcon::after {
  width: 2px;
  height: 16px;
}

/**
 * header
 *--------------------------------------
 */
header {
	position: fixed;
    top: 0;
    width: 100%;
	height: 55px;
	background: #ffffff;
    z-index: 100;
}

header .wrap {
    display: flex;
    flex-direction: row;
	align-items: center;
	justify-content: space-between;
	padding: 0 5px;
	margin: 0 auto;
	border-bottom: 1px solid #E4E7EC;
}

header .inner{
	display: flex;
}

header .wrap .inner img{
	margin-left: 30px;
	margin-right: 100px;
}

header ul {
    display: flex;
    flex-direction: row;
	height: 55px;
	gap: 20px;
}

header li {
	width: 80px;
	display: block;
}

header li.active {
	position: relative;
}

header li.active:after {
	content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 4px;
    background-color: #6D4AFF;
    border-radius: 2px;
}

header li.active a {
	font-weight: 600;
	color: #2563EB;
}

header li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	letter-spacing: 0.04em;
}

header li a:hover {
	background: rgb(206, 219, 255);
	opacity: 1;
}
header .userWrap {
    display: flex;
    flex-direction: row;
	align-items: center;
	margin-right: 30px;
}
header .userWrap .user {
    display: flex;
    flex-direction: row;
	align-items: center;
}
header .userWrap .user .imgWrap {
    width: 40px;
}
header .userWrap .user p {
	margin: 0 15px 0 5px;
}
header .userWrap .logoutout .imgWrap {
    width: 40px;
}

/**
 * flash
 *--------------------------------------
 */
.flash {
     margin: 20px auto 0;
     padding: 10px;
}
.flash.quotation {
     max-width: initial;
     margin: 20px auto;
}
 .flash p {
	font-size: 16px;
}
.flash.success {
	 background: #EAF9F2;
}
.flash.success p {
	color: #12A66A;
}
.flash.error {
	background: #FFF0F3
}
.flash.error p {
	color: #F43F5E;
}

/**
 * search
 *--------------------------------------
 */
#search .wrap {
	margin-bottom: 50px;
	background-color: #ffffff;
	padding-top: 10px;
/*	margin: 0 auto;*/
	border: 1px solid #E4E7EC;
	border-radius: 10px;
}

#search .wrap .inner p{
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 20px;
	margin-left: 10px;
}

#search form .inputWrap {
	display: flex;
	flex-direction: row;
}

#search form .displayInputWrap {
	flex-shrink: 0;
}

#search form dl {
	flex-direction: row;
	align-items: center;
	margin-bottom: 20px;
}

#search form dt {
	font-size: 14px;
	font-weight: bold;
}

#search form dd {
	display: flex;
	position: relative;
}

.select2-container {
    width: 100% !important;
}

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    height: 32.67px ;
	border: 1px solid #E4E7EC;
	align-items: center;
	padding-bottom: 0;
	text-align: center;
	display: flex;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b{
  border: none;
  background: none;
}

.select2-container .select2-selection--single .select2-selection__rendered,
.select2-container .select2-selection--multiple .select2-selection__choice,
.select2-container .select2-selection--multiple .select2-search__field,
.select2-container .select2-results__option {
    font-size: 15px !important;
}

.select2-container .select2-selection--multiple .select2-selection__rendered{
	flex-wrap: nowrap;
	overflow: hidden;
	align-items: center;
	display: flex;
	margin-right: 8px;
}

.select2-custom-more {
 	display: flex;
  	background-color: #E4E7EC;
  	color: #98A2B3;
  	font-weight: bold;
  	height: 27px;
  	width: 27px;
  	border-radius: 50%;
  	border: none;
	justify-content: center;
  	align-items: center;
  	flex-shrink: 0;
	margin-left: 10px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  	flex-shrink: 0;
  	white-space: nowrap;
	margin-top: 0;
}

/*単一選択、複数選択の矢印*/
#registration .mainContents .onTable dd.short::after,
.select2-selection__arrow::after,
.select2-container--default .select2-selection--multiple::after{
	content: "";
  	position: absolute;
  	right: 10px;
  	top: 40%;
	width: 8px;
	height: 8px;
	border-right: 2px solid #666;
	border-bottom: 2px solid #666;
	transform: rotate(45deg);
	pointer-events: none;
}

#search input[type="text"],
#search dd .ms-parent button[type="button"] span,
#search .select2-container--default .select2-selection--single .select2-selection__placeholder,
#search .select2-container--default .select2-selection--multiple .select2-search__field::placeholder {
	font-size: 15px;
}

.select2-search--inline{
	height: 100%;
	display: flex;
}

.select2-container .select2-search--inline .select2-search__field {
	height: auto;
	margin-left: 0;
}

/*すべてのプレースホルダの色を統一*/
#search input[type="text"]::placeholder,
#search .select2-container--default .select2-selection--single .select2-selection__placeholder,
#search .select2-container--default .select2-selection--multiple .select2-search__field::placeholder {
	color: #98A2B3;
}

input[type="text"]::placeholder {
    padding-left: 5px;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
	display: inline-flex;
	width: auto;
	flex-direction: row-reverse;
	padding: 0px 1px;
	height: 100%;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
	border: none;
	position: static;
}

.dropdown textarea,
.dropdown .select2-selection{
	cursor: pointer;
}

.btnWrap{
	gap: 10px;
	display: flex;
	align-items: flex-end;
	margin-top: 27px;
	justify-content: right;
}

.btnWrap [type="submit"],
.btnWrap [type="button"] {
	justify-content: center;
	align-items: center;
	border-radius: 10px;
	background-color: #2563EB;
	width: 120px;
	height: 42px;
	color: #ffffff;
	font-weight: bold;
	font-size: 14px;
}
.btnWrap [type="reset"] {
	justify-content: center;
	align-items: center;
	border-radius: 10px;
	border: #E4E7EC 1px solid;
	background-color: #ffffff;
	width: 130px;
	height: 42px;
	color: #000000;
	font-weight: bold;
	font-size: 14px;
}
.btnWrap [type="submit"]:hover,
.btnWrap [type="button"]:hover,
.btnWrap [type="reset"]:hover {
	opacity: 0.7;
}

/**
 * table
 *--------------------------------------
 */
#table .noData {
	padding: 40px 0 50px;
	margin: 30px auto 0;
	background: #E7EFF1;
	border-radius: 10px;
}
#table .noData .imgWrap {
	width: 80px;
	margin: 0 auto;
}
#table .noData p {
	font-size: 18px;
	color: #41B1C0;
	text-align: center;
}
#table .link {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-bottom: 10px;
}
#table .table + .link {
	display: flex;
	flex-direction: row;
	justify-content: right;
	margin-top: 10px;
}
#table .table li {
	display: flex;
	flex-direction: row;
}
#table .table li.header {
	background: #F8FAFD;
}
#table .table li:not(.header) {
    background: #ffffff;
	height: 100%;
}
#table .table li:not(.header):last-of-type {
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
}
#table .table li:not(.header) {
	cursor: pointer;
	min-height: 50px;
}
#table .table li:not(.header):hover  {
	background: rgb(206,219,255);
}
#table .table .header p {
	line-height: 1.5;
	font-weight: bold;
	border-top: 1px solid #E4E7EC;
	border-left: 1px solid #E4E7EC;
	border-bottom: 1px solid #E4E7EC;
	word-break: break-all;
	overflow-wrap: break-word;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 5px;
}

#table .table .header p:last-of-type {
	border-right: 1px solid #E4E7EC;
}

#table .table li > div {
	border-left: 1px solid #E4E7EC;
	border-bottom: 1px solid #E4E7EC;
}

#table .table li p {
	font-size: 14px;
	padding: 0px 5px;
	align-items: center;
}

#table .table li div{ 
	display: flex;
	align-items: center;
	justify-content: center;
}
#table .table li div p{
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

#table .table li:nth-of-type(1) p:nth-of-type(1) {
	border-top-left-radius: 10px;
}
#table .table li:nth-of-type(1) p:last-of-type {
	border-top-right-radius: 10px;
}
#table .table li:last-of-type>div:nth-of-type(1) {
	border-bottom-left-radius: 10px;
}
#table .table li:last-of-type>div:last-of-type {
	border-bottom-right-radius: 10px;
}

/**
 * page
 *--------------------------------------
 */
 .page {
	width: 100%;
 }
 
 .page ul {
	display: flex;
	flex-direction: row;
	justify-content: center;
 }
 .page li {
	position: relative;
	width: 30px;
	height: 30px;
	margin-left: 3px;
 }
.page li:first-of-type {
	margin-left: 0;
}
.page li > a,
.page li > span {
	content: '';
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	top: 0;
	left: 0;
	width: 30px;
	height: 30px;
	border: 1px solid #E4E7EC;
	background-color: #ffffff;
	border-radius: 5px;
	transition: 1s;
}
.page li > a:hover {
	background: rgb(206, 219, 255);
	opacity: 1;
}
.page li.first a:hover::before,
.page li.first a:hover::after,
.page li.prev a:hover::before {
	border-top: 1px solid #FFFFFF;
	border-left: 1px solid #FFFFFF;
}
.page li > span {
	color: #FFFFFF;
	background: #2563EB
}
.page li.first a::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 5px;
	margin: auto;
	width: 8px;
	height: 8px;
	border-top: 1px solid #707070;
	border-left: 1px solid #707070;
	position: absolute;
	transform: rotate(-45deg);
}
.page li.first a::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: -10px;
	margin: auto;
	width: 8px;
	height: 8px;
	border-top: 1px solid #707070;
	border-left: 1px solid #707070;
	position: absolute;
	transform: rotate(-45deg);
}
.page li.prePage::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: -5px;
	margin: auto;
	width: 8px;
	height: 8px;
	border-top: 1px solid #707070;
	border-left: 1px solid #707070;
	position: absolute;
	transform: rotate(-45deg);
}
.page li.prev a::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: -4px;
	margin: auto;
	width: 8px;
	height: 8px;
	border-top: 1px solid #707070;
	border-left: 1px solid #707070;
	position: absolute;
	transform: rotate(-45deg);
}
.page li.next a::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 4px;
	margin: auto;
	width: 8px;
	height: 8px;
	border-top: 1px solid #707070;
	border-right: 1px solid #707070;
	position: absolute;
	transform: rotate(45deg);
}
.page li.last a::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 10px;
	margin: auto;
	width: 8px;
	height: 8px;
	border-top: 1px solid #707070;
	border-right: 1px solid #707070;
	position: absolute;
	transform: rotate(45deg);
}
.page li.postPage a::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 5px;
	margin: auto;
	width: 8px;
	height: 8px;
	border-top: 1px solid #707070;
	border-right: 1px solid #707070;
	position: absolute;
	transform: rotate(45deg);
}
.page li.last a::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: -5px;
	margin: auto;
	width: 8px;
	height: 8px;
	border-top: 1px solid #707070;
	border-right: 1px solid #707070;
	position: absolute;
	transform: rotate(45deg);
}



/**
 * form系
 *--------------------------------------
 */
input[type="text"] {
	padding: 5px 5px;
	font-size: 16px;
	border: 1px solid #E4E7EC;
    border-radius: 5px;
}
input[type="text"].error {
	border: 1px solid #F82B2B;
}
form dd.error input[type="text"] {
	border: 1px solid #F82B2B;
}
input[type="text"].long {
	width: 500px;
}
form dd.radioWrap {
	display: flex;
	flex-direction: row;
}
form dd.radioWrap label {
	width: 100px;
	cursor: pointer;
}
form dd.radioWrap label span {
	position: relative;
	padding-left: 23px;
	margin-right: 7px;
}
form dd.radioWrap label span::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto 0;
	width: 23px;
	height: 23px;
	border: 1px solid #707070;
	border-radius: 50%;
}
form dd.radioWrap.error label span::before {
	border: 1px solid #F82B2B;
}
form dd.radioWrap [type="radio"]:checked + label span::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 15px;
	height: 15px;
	background: #41B1C0;
	border-radius: 50%;
}

/**
 * modal
 *--------------------------------------
 */
.modal {
  position: fixed;
  display: none;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}
.modal .modalBg {
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
}
.modal .modalWrap {
  position: absolute;
  top: 50%;
  left: 50%;
  padding: 15px 30px;
  width: 80%;
  max-width: 750px;
  max-height: 500px;
  background: #ffffff;
  transform:translate(-50%,-50%);
}

.modal .closeBtn {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	width: 35px;
	height: 35px;
	transition: 0.5s;
	background-color: #2563EB;
	border-radius: 50%;
	transform: translate(50%, -50%);
	z-index: 100;
}
.modal .closeBtn:hover {
	cursor: pointer;
	opacity: 0.5;
}
.modal .closeBtn::before,
.modal .closeBtn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2px; /* 棒の幅（太さ） */
  height: 25px; /* 棒の高さ */
  background: #ffffff;
}
.modal .closeBtn::before {
  transform: translate(-50%,-50%) rotate(45deg);
}
.modal .closeBtn::after {
  transform: translate(-50%,-50%) rotate(-45deg);
}

.modal .contents {
	padding: 30px 30px;
	position: relative;
	overflow-y: auto;
	max-height: 50vh;
}
.modal .contents .title {
	position: relative;
	margin-bottom: 30px;
}
.modal .contents .title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #707070;
}
.modal .contents .title p {
	padding-bottom: 5px;
	font-size: 22px;
}
.modal .contents .title .number {
	padding-left: 20px;
	font-size: 18px;
}
.modal .contents form {
	width: 95%;
	margin: 0 auto;
}
.modal .contents form dl + dl {
	margin-top: 25px;
}
.modal .contents form dt {
	font-size: 17px;
}
.modal .contents form dd {
	margin-top: 5px;
}
.modal .contents form dd.errorMsg p {
	font-size: 14px;
	color: #F82B2B;
}
.modal .contents form .btnWrap {
	display: flex;
    flex-direction: row;
    justify-content: flex-end;
    margin-top: 20px;
}