
/* ------------------------------------------------------------- */
/* ----- フォームテーブル ------------------------------------------ */
/* ------------------------------------------------------------- */

/* ---- フォームテーブル ---- */
.jiwss_tool  {
    padding: 0.25em 0 0;
	margin-bottom: 1em;
	background-color: rgb(245, 245, 245);
}

.jiwss_tool form > p {
    padding: 1em 1em 0.25em;
}

.jiwss_tool form > p.error {
    text-align: center;
	color: #ff0b00;
}

.jiwss_tool form > p.reqexp span {
	color: red;
}


.jiwss_tool table {
	margin: 1em;
	width: calc(100% - 2em) !important;
	min-width: 250px !important;
	max-width: calc(100% - 2em) !important;
	border: none;
	border-collapse: collapse;
	border-spacing: 0;
	background-color: rgb(245, 245, 245);
	overflow: visible;
}



.jiwss_tool table tr td,
.jiwss_tool table tr th {
	border-bottom: 0.3em solid rgb(245, 245, 245);
	max-width: calc(100vw - 2.5rem);

}

.jiwss_tool table tr.main td,
.jiwss_tool table tr.main th {
	border-bottom: none;
}

.jiwss_tool table th {

	border: none;
	padding: 1em 2em;
	text-align: left;
	width: 16.5em;
	color: #333;
	background-color: #fff;
	word-break: keep-all;
	font-weight: bold;
	font-size: 1.1em;
	line-height: 1.8;
	vertical-align: middle;

}

.jiwss_tool table th span {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 0 0.5em;
	font-size: 0.8em;
	line-height: 1.8;
	color: #ffffff;
	background-color: #ff0b00;
	text-align: center;
	margin: 0.1em 0 0.1em 1em;
}


.jiwss_tool table td {
	border: none;
	padding: 1em;
	text-align: left;
	background-color: #fff;
}

.jiwss_tool table td strong{
	display: block;
	color: #ff0b00;

}

.jiwss_tool table td ul > li {
	width: 100%;
	white-space: pre-wrap;
	word-break: break-all;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}


@media only screen and (max-width: 860px) {

	.jiwss_tool table{
		display: block;
	}

	.jiwss_tool table tr{
		display: content;
	}

	.jiwss_tool table th,
	.jiwss_tool table td
	{
		display: block;
		padding: 1em;
		margin: 0;
		width: calc(100% - 2.5rem);
	}


	.jiwss_tool table tr td {
		border-bottom-width: 0.75em;
	}
	.jiwss_tool table tr th {
		border: none;
		padding-bottom: 0;;
	}



	.jiwss_tool table td ul > li {
		width: 100%;
		padding-right: 2em;
		position: relative;
		white-space: pre-wrap;
		word-break: break-all;
	}

	.jiwss_tool table td ul > li a {

	}

}

@media only screen and (max-width: 480px) {

	.jiwss_tool table{
		margin: 0.5em;
		width: calc(100% - 1em) !important;
		max-width: calc(100% - 1em) !important;
	}

	.jiwss_tool table th,
	.jiwss_tool table td
	{

		padding: 1em 0.5em;
		width: calc(100% - 1em);
	}

}

.jiwss_tool table td ul > li label{
	display: inline-block;
	max-width: calc(100% - 4.25em);

}



/* ---- 説明 ---- */
.jiwss_tool table td ul > li a{
	box-sizing: border-box;
	line-height: 1;
	padding: 0;
	position: relative;
	display: inline-flex;
	justify-content: center;
    align-items: center;
	width: 1.5em;
	height: 1.5em;
	max-width: 1.5em;
	max-height: 1.5em;
	border-radius: 50%;
	color: #fff;
	text-decoration: none;
	background-color: rgb(115, 115, 115);
	overflow: visible;
	transition: all 0.3s;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.jiwss_tool table td ul > li a::before{
	position: absolute;
	top: calc(50% + 0.027em);
	left: -0.05em;
	display: block;
	content: '';
	width: 0.5em;
	height: 0.5em;
	transform: rotate(18deg);
	background-color: rgb(115, 115, 115);
	z-index: 10000;
	transition: all 0.3s;
}

.jiwss_tool table td ul > li a img{
	position: absolute;
	bottom: 24px;
	right: -1.75em;
	max-width: 0;
	max-height: 0;
	transition: all 0.5s;
}


.jiwss_tool table td a.open
{
	text-decoration: none;
	font-weight: bold;
	background-color: rgb(51, 51, 51);
	color: #fff !important;
}

.jiwss_tool table td a.open::before
{
	background-color: rgb(51, 51, 51);
}

.jiwss_tool table td label:has(+ a.open){
	font-weight: bold;
	color: rgb(51, 51, 51) !important;
}

/* --- ポップアップ時他の項目を目立たなくする --- */
.main-column.off .advance_res_table img{
	opacity: 0.6 !important;
}

.main-column.off .jiwss_tool_buttons input[type="submit"],
.main-column.off .jiwss_tool_buttons input[type="button"]
{
	background: rgb(110, 110, 110) !important;
}

.main-column.off .elem-heading-lv2[data-heading-type="7"][data-color="1"] > div > div > div{
	border-left: 7px solid rgba(14, 71, 161, 0.6);
}

.main-column.off .elem-heading-lv2:not([data-heading-type]) .heading-container .title-holder::after{
	background-color: rgba(68, 68, 68, 0.6);
}

.main-column.off *{
	color: rgb(136, 136, 136) !important;
}


.jiwss_tool table td a.open img
{
	max-width: 250px;
	max-height: 1200px;
	opacity: 1;
	box-shadow: 1px 1px 0.25em 1px rgba(115, 115, 115, 0.4);
	z-index: 1000000;
}



/* ----- フォーム自体 ------------------------------------------ */



/* --- placeholder --- */
.jiwss_tool input::placeholder {
	color: rgba(150, 150, 150, 1);
}


/* --- 入力 --- */
.jiwss_tool input[type="text"],
.jiwss_tool input[type="date"],
.jiwss_tool input[type="tel"],
.jiwss_tool input[type="email"],
.jiwss_tool input[type="number"],
.jiwss_tool input[type="password"],
.jiwss_tool textarea {

	width: calc(100%);
	max-width: calc(100%);
	box-sizing: border-box;
	font-size: 1.1em;
	color: #666666;
	padding: 0.5em 0.75em;
	line-height: 1.5;
	background-color: #ebebeb;
	border: none;
	border-radius: 2px;
	-moz-user-select: text;
    -webkit-user-select: text;
    -ms-user-select: text;
    user-select: text;
	caret-color: auto;

}

.jiwss_tool input[type="file"]{

	max-width: calc(100vw - 8em);

}


.jiwss_tool input[type="number"]{

	width: 5em;

}


.jiwss_tool textarea {
	height: 6em;
}

/* --- セレクトボックス---  */
.jiwss_tool td dd span a:hover {
	background: #003549;
	text-decoration: none;
}


.jiwss_tool td > ul {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	box-sizing: border-box;
	width: 100%;
}

.jiwss_tool td > ul > li {
	display: block;
	box-sizing: border-box;
	width: 50%;
	white-space: nowrap;
}

.jiwss_tool td > ul.nrr > li {
	width: 33%;
}

.jiwss_tool .confirm td > ul > li {
	width: 100%;
}


.jiwss_tool .select_text {

	position: relative;
	padding: 0;
	margin: 0;
}

.jiwss_tool .select_text input[type="text"] {
	border-radius: 4px;
}

.jiwss_tool .select_text::after {
	position: absolute;
	display: block;
	content: '';
	top: calc(50% - 0.25em);
	right: 1em;
	width: 0;
	height: 0;
	font-size: 1rem;
	border-top: 0.5em solid rgba(51, 51, 51, 0.5);
	border-bottom: 0.5em solid rgba(51, 51, 51, 0);
	border-left: 0.5em solid rgba(51, 51, 51, 0);
	border-right: 0.5em solid rgba(51, 51, 51, 0);
	z-index: 100000000;
}

.jiwss_tool ul.list {
	display: block;
	width: calc(90% - 2px - 0.5em);
	min-width: calc(16em - 2px - 0.5em);
	max-width: 60vw;
	max-height: calc(10em - 2px);
	overflow-y: scroll;
	scroll-behavior: smooth;
	border: 1px solid #ddd;
	transition: all 0.5s;
	position: absolute;
	background-color: rgba(255, 255, 255, 1);
	box-sizing: border-box;
	z-index: 1000000000;
	border-radius: 0 0 0.75em 0.75em;
	box-shadow: 0 7px 5px 2px rgba(221, 221, 221, 0.8);
}

.jiwss_tool ul.list li {

	padding: 0.1em 0.3em;
	width: 100%;
}

.jiwss_tool dl {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	gap: 0.5em;
	height: 1.5em;
	margin: 1em 0 0;
	padding: 0;
}

.jiwss_tool dl dd {
	width: 1.5em;
	display: flex;
	justify-content: flex-start;
	align-items: center;

}

.jiwss_tool dl dd:first-of-type {

	margin-left: 0;
}

.jiwss_tool table td > dl dd.dd_windows_linux{
	background-color: rgba(234, 245, 255, 1);
}
.jiwss_tool table td ul > li.li_windows_linux{
	background-color: rgba(234, 245, 255, 0.5);
}

.jiwss_tool table td > dl dd.dd_specialized{
	background-color: rgba(234, 255, 243, 1);
}
.jiwss_tool table td ul > li.li_specialized{
	background-color: rgba(234, 255, 243, 0.5);
}

.jiwss_tool table td > dl dd.dd_virtualization{
	background-color: rgba(255, 234, 234, 1);
}
.jiwss_tool table td ul > li.li_virtualization{
	background-color: rgba(255, 234, 234, 0.5);
}

.jiwss_tool ul.list li a {

	height: 2em;
	line-height: 1.4em;
	padding: 0.25em 0;
	color: #666666;
	text-decoration: none;
	/* border-bottom: 1px solid #ddd; */
	transition: all 0.5s;
	text-align: center;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0.5em;
	box-shadow: 0 0 1px 0 rgba(233, 232, 232, 0.8);

}



.jiwss_tool ul.list li a:hover,
.jiwss_tool ul.list li a.on {
	background-color: rgba(221, 221, 221, 0.8);
}



/* --- radio --- */
.jiwss_tool table td > ul{
	padding: 0.5em;
	max-height: 25em;
	overflow-y: scroll;
	scroll-behavior: smooth;
	box-shadow: 0 0 5px 0 rgba(200, 200, 200, 0.8) inset;
	transition: opacity 0.3s;
}

.jiwss_tool table td > ul li{
	line-height: 1;
	padding: 0 0.25em;
}

.jiwss_tool table td > ul li:has(input[type="radio"]:checked){
	background-color: #eaeaea;
}

.jiwss_tool td > input[type="radio"]+label {
	margin-right: 1em;
}

.jiwss_tool input[type="radio"] {
	display: none;
}

.jiwss_tool input[type="radio"]+label::before {
	/* position: absolute; */
	position: relative;
	content: '';
	display: block;
	/* left: -2em;
	top: 0.15em; */
	width: 1.2em;
	min-width: 1.2em;
	height: 1.2em;
	border-radius: 50%;
	background: #dddddd;
}


.jiwss_tool input[type="radio"]+label {
	display: inline-flex;
	justify-content: flex-start;
	align-items: center;
	gap: 0.5em;
	margin: 0.5em auto 0.5em 0;
	position: relative;
	transition: opacity 0.3s;
}


.jiwss_tool input[type="radio"]:checked+label::after {
	position: absolute;
	content: '';
	display: none;
	left: 0.3em;
	top: calc(50% - 0.3em);
}


.jiwss_tool input[type="radio"]:checked+label::before {
	/* background: #aaa; */
}

.jiwss_tool input[type="radio"]:checked+label::after {
	display: block;
	width: 0.6em;
	height: 0.6em;
	background: #777777;
	border-radius: 50%;
}

/* --- checkbox --- */
.jiwss_tool input[type="checkbox"] {
	display: none;
}

.jiwss_tool input[type="checkbox"]+label::before {

	position: absolute;
	content: '';
	display: block;
	left: -1.75em;
	top: 0.15em;
	width: 1.2em;
	height: 1.2em;
	border-radius: 3px;
	background: #dddddd;

}

.jiwss_tool input[type="checkbox"]+label {
	display: inline-block;
	margin: 0.5em 1em 0.5em 1.75em;
	position: relative;
}

.jiwss_tool input[type="checkbox"]:checked+label::after {
	position: absolute;
	content: '';
	display: none;
	left: -1.7em;
	top: 0.3em;
}

.jiwss_tool input[type="checkbox"]:checked+label::before {
	background: #e0e0e0;
}

.jiwss_tool input[type="checkbox"]:checked+label::after {
	display: block;
	width: 1em;
	height: 0.5em;
	border-left: 3px solid #777777;
	border-bottom: 3px solid #777777;
	transform: rotate(-45deg);
}

.jiwss_tool span input[type="checkbox"]+label::before {
	width: 1em;
	height: 1em;
	left: -1.25em;
}

.jiwss_tool span input[type="checkbox"]:checked+label::after {
	top: 0.2em;
	left: -1.25em;
	width: 0.7em;
	height: 0.35em;
}

/* --- radio,checkbox フォーカス --- */
.jiwss_tool input[type="checkbox"]+label:focus,
.jiwss_tool input[type="radio"]+label:focus {
	outline: none;
}

.jiwss_tool input[type="checkbox"]+label:focus::before,
.jiwss_tool input[type="radio"]+label:focus::before {
	box-shadow: 0 0 0 2px rgba(100, 100, 100, 0.4);
}

.jiwss_tool input[type="checkbox"].ki_file_del+label{
	margin-left: 3em;
}


.jiwss_tool td > div{
	height: 100%;
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 1em;
}

.jiwss_tool .jiwss_clear{
	display: inline-block;
	font-size: 1.6em;
	font-weight: bold;
	text-decoration: none;
	color: #333;
	line-height: 1.5;
}

.jiwss_amount_clear:hover{
	text-decoration: none;
	color: #333;
}

/* --- ボタン --- */
.jiwss_tool_buttons {
    display: flex;
    align-items: center;
    justify-content: center;
	text-align: center;
	padding-top: 1em;
	padding-bottom: 1em;
	background-color: #fff;
}

.jiwss_tool_buttons input[type="submit"],
.jiwss_tool_buttons input[type="button"]
{
	display: inline-block;
	text-align: center;
	line-height: 3em;
	font-size: 1.1em;
	color: #fff;
	border: none;
	border-radius: 0.25em;
	padding: 0 3em;
    margin: 0 0.5em;
	min-width: 10em;
	background: rgb(66, 66, 66);
	transition: background 0.3s;
}

.jiwss_tool_buttons a {
	display: inline-block;
	text-align: center;
	background: rgb(66, 66, 66);
	transition: background 0.3s;
	line-height: 3em;
	font-size: 1.1em;
	color: #fff;
	border-radius: 0.25em;
	padding: 0 3em;
    margin: 0 0.5em;
	min-width: 10em;
	cursor: pointer;
	text-decoration: none;
	transition: all 0.4s;
}

.jiwss_tool_buttons a:hover {
	background: rgb(110, 110, 110);
	text-decoration: none;
	cursor: pointer;
}

.jiwss_tool_buttons a.noactive {

	cursor:default;
	background: rgba(66, 66, 66, 0.4);

}



.jiwss_tool_buttons a.noactive:hover {

	background: rgba(66, 66, 66, 0.4);

}


.jiwss_tool_buttons a#resetvalue{
	background: rgb(255, 255, 255);
	color: rgba(66, 66, 66, 0.8);
	box-shadow: 0 0 2px 0 rgba(66, 66, 66, 0.8);
}


.jiwss_tool_buttons a#resetvalue:hover{
	background: rgb(240, 240, 240);
	box-shadow: 0 0 2px 0 rgb(240, 240, 240);
}






/* ---------------------------------- */
/* ------- ページ各要素 ------------- */
/* ---------------------------------- */




/* --- くるくる --- */
#jiwss_tool_list svg {
	position: absolute;
	right: calc(50% - 1em);
	top: calc(50% - 1em);
	width: 2em;
	z-index: 10000;
	animation: 4s linear infinite rotation_loading;
}

@keyframes rotation_loading {
	0% {
		transform: rotate(0);
	}

	100% {
		transform: rotate(360deg);
	}
}
