
/* << lauout >> */ 
.hero-body {
	padding: 1.5rem 1.5rem;
	margin: 0rem; 
} 
.subtitle:not(:last-child) {
    margin-bottom: 0rem;
}
.footer {
	padding: 1.5rem 1.5rem;
}
.main {
	padding: 1.0rem;
}

html {
	font-size: 110%;
}

/* [header] */
.header, .nav {
	background-color:#ebf8eb;
}

/* [fieldset] */
fieldset { 
	border: 1px solid #dbdbdb;
	padding: 0.5rem 1.0rem 1.0rem ;
} 

/* [label] */
.label {
	font-weight: normal;
}   

/* [card] */
.card {
	margin-bottom: 1.5rem;
}
.column .card {
	margin-bottom: 0rem;
}
.card-header {   
	border-bottom: 1px solid #dbdbdb;
	background-color: #eee;
	box-shadow: none; 
}
.card-header-title { 
	font-weight: normal;
}
 
/* [card - action] */  
.card.action {
	border: 2px solid #666;
	box-shadow: none;
}   
.card.action .card-header {
	background-color: #666;
}
.card.action .card-header-title {
	color: #fff;
} 

/* [input] */
.calculate input[type="number"] {
	height: 2.0rem;
	box-shadow: none; 
	vertical-align: bottom; 
	padding: 0 0.3rem;
	display: inline;
	width:100px;
}
          
/* [label.chk] */   
label.chk{ 
	position: relative; 
	padding: 0 13px 0 8px;
}
@media screen {
	label.chk input{ 
		opacity: 0; 
	}
	label.chk .icon{ 
		position: absolute;
		left: 0rem;
		top: 0;
		display: block;
		width: 20px;
		height: 20px;
	}
	label.chk input:checked + .icon{
		background-position: 0 -20px;
	}
	label.chk .icon.radio{ 
		background: url('../img/radio.svg') no-repeat 0 0;
	}
	label.chk .icon.check{ 
		background: url('../img/check.svg') no-repeat 0 0;
	}
}

/* [hr] */
hr {
	margin-top:0;
}

/* [table] */
.table { 
	margin-bottom: 0;
}
.table caption {  
	background-color: #808080; 
	padding: 0.3rem 0.3rem;
	color: #fff;
	font-weight: normal; 
	border-bottom: 10px solid #fff;
}
.table th {  
	font-weight: normal; 
	vertical-align: middle;
}
.table td {  
	vertical-align: middle;
}
.table tfoot td {
	border-top: none;
	border-bottom: none;
	border-left: none;
	border-right: none;
}  
.table.is-bordered th {  
	background-color: whitesmoke; 
}

/* [i.fa] */
i.fa {
	margin-right: 0.3rem;
}  

/* [button] */
.button {
	margin-right: 1.5rem;
	font-size: 1.1rem;
}
.button i.fa {
	line-height: 1.6rem; 
}
.button.is-primary.is-middle i.fa {
	line-height: 2.0rem;
}
         
/* [column] */
.column{ 
	flex-basis:420px; 
}  
.column.is-one-third { 
	flex-basis:300px; 
}  
/* [message] */
.message {
	font-size:0.9rem;
}
.message.is-half {
	max-width:500px;
	font-size:0.8rem;
}
.message-body {
	padding: 0.5rem;
}

/* [select] */
.control.has-icons-left .select select {
	padding-left: 1.8em;
}

/* 共通 */
.margin-bt {
	margin-bottom: 1rem;
}
.guide {
	color: #777; 
	font-size:0.9rem;
}
        
/* > ロゴ */ 
#logo {
	color:#00a500; 
}
.is-brand img {
	vertical-align: -2px;
}

/* > ログアウト、設定 */ 
#logout.button, #setting.button {
	background-color:#F5FCF5; 
	margin-right: 0rem;
	font-size: 0.9rem;
}
     
/* > DB選択 */ 
.dbtypes {
	margin-bottom: 5px; 
}
.dbtypes input[type="radio"] {
	display:none; 
}
.dbtypes label {
	display:inline-block;
	color:#fff;
	background-color:#cfe2d4;
	text-align:center;
	padding:5px 10px;
	width: 20%;
}
.dbtypes input[type="radio"]:checked + label { 
	background-color:#00a500;
} 

/* > 寸法 */
.size .table {
	width: 320px;
}
.size input[type="number"] {
	margin-top: 0.5rem;
	margin-right: 0.3rem;
	width: 40px;
} 
 
/* > 価格 */  
.main-prices {
	display: inline-flex; 
}
.main-price {
	display: block;
	border: 2px solid #0288D1;
	background-color:#E1F5FE; 
	color:  #0288D1;
	font-size:1.8rem;
	text-align: right; 
	padding-right: 0.5rem;
	width:230px;
	height:50px;
	margin: 0.5rem 0;
}  
.sub-price {
	display: block;                 
	border: 1px solid #00a500;
	background-color:#ebf8eb;
	color:  #00a500; 
	font-size:1.2rem;
	text-align: right; 
	padding-right: 0.5rem;
	width:200px;
	height:30px;
}
.price-guide {
	color:  #00a500; 
	background-color:#ebf8eb;
	font-size:0.9rem;
}
/*
.price-zei {
	font-size:1.2rem;
}
*/
table.other td.stonenm {
	width:250px;
}
table.set td {
	text-align: right; 
}
table.main td.stonenm {
	width:270px;
}

/* 見積結果 */   
.result .main-price {
	margin: 0 0 0.3rem 0;
}  
.result .sub-price {
	padding-right: 0.5rem;
	width:170px;
} 
.result .price-zei {
	width:170px; 
	font-size:1.1rem;
	text-align: right;
} 
/* 
.result hr {
	margin-top: -0.8rem;
	margin-bottom: 0.8rem;
}
*/
.result hr {
	margin: 0.8rem 0;
}
.result #customer {
	/*border-bottom: 1px solid #ccc;*/
}

/* ファイル選択 */   
#files {
	display:none;
	border: 1px dashed #999;
	background-color: #fff;
	padding: 0.5rem;
	width: 400px; 
	font-size: 0.8rem;
	margin-bottom: 1rem;
}

/* > csv出力 */
.csv.table {
	font-size: 0.8rem;
}
.csv.table thead th {
	/*background-color: #ebf8eb;*/
	background-color: #d9d9d9;
} 
/* ログイン */   
.login {
	width: 400px;
	margin: 0px auto;
}  
.login .content {
	margin-top: 100px;
}  
.login .jobnm {
	padding: 1rem;
	background-color: #00a500;
	color:#fff;
	border-radius: 3px; 
	margin-bottom: 0.7rem;
}  
.login .is-brand {
	margin: 0.3rem;
} 
.login #logo {
	color: #555;  
}
.login .box.area {
	padding: 0.3rem;
}
.login .box.item {
	background-color: #f5f5f5;; 
	margin: 0.8rem;
}

.is-version {
	justify-content: right;
	display: flex;
}
.is-version span {
	color: #C0C0C0;
	margin-right: 1em;
}

/* << modal >> */   
.modal .column{ 
	flex-basis:260px; 
}  
.modal-card-head{
	background-color: #333;
}
.error .modal-card-head{
	background-color: #009;
}
.modal-card-title { 
	color: #fff;
} 
.modal-card{ 
	margin: 0; /* ie11 bug-fix*/
}

.modal-result table.set td {
	width: 130px;
}

#modal-msg .error {
	font-size: 0.85rem;
}
#modal-msg hr {
	margin: 0.5rem 0;
}
  
.hidden {
	display:none;
} 

         
/* print */ 
.notscr { 
	display:none;
}


@media all and (-ms-high-contrast: none){
	#modal-ter .modal-card-body {
		height: 500px;
		overflow-y: scroll;  
	}
	#modal-ter table.set th {
		width:170px;
	}
}