@charset "UTF-8";

/* --------------------------------------------------
-------------------------------------------------- */
/* subCol */
#subCol .sub-banner {
	margin-top: 20px;
}
	#subCol .sub-banner ul {
    	margin: 0;
    	list-style: none;
	}
	#subCol .sub-banner li {
		margin-bottom: 5px;
	}
	#subCol .sub-banner li img {
    	display: block;
	}

	

/* top */
.block-index {
	margin-top: 20px;
}
	.block-index  a {
    	text-decoration: none;
	}
	.block-index .col-2 .item {
		border-top: solid 4px #36D900;
	}
	.block-index .col-2 .item+.item {
		border-top: solid 4px #FF9326;
	}
	.block-index .list-link_index li a {
    	color: #0657C3;
    	text-decoration: underline;
	}
	.block-index .list-link_index {
		list-style: none;
	}
	.block-index .col-2 .item .title {
		background: #26317D;
		text-align: center;
		text-decoration: none;
		display: block;
		color: #fff;
		font-size: 114.28%;
		padding: 13px 0;
		letter-spacing: -.3px;
	}


/* searchBlock */
.searchBlock {
	border: solid 5px #F6F6F6;
	margin-top: 20px;
	padding: 17px 0 0;
}
	.searchBlock .number {
		color: #000C66;
		text-align: center;
		margin-bottom: 16px;
	}
	.searchBlock h2 {
    	background: #215E9C;
    	text-align: center;
    	color: #fff;
    	font-size: 20px;
    	font-weight: bold;
    	margin: 0 20px 21px;
    	height: 36px;
    	line-height: 36px;
    	position: relative;
    	border-radius: 4px;
    	letter-spacing: .8px;
	}
	.searchBlock h2 .icon {
		position: absolute;
		left: 6px;
		top: -13px;
	}
	.searchBlock .mapBlock {
		position: relative;
		width: 685px;
		margin: 0 auto 25px;
	}
	.searchBlock .mapBlock .areaBox {
		position: absolute;
		background: #B8DEE4;
		top: 0;
		left: 0;
	}
	.searchBlock .mapBlock .areaBox h3 {
    	text-align: center;
    	font-size: 13px;
        font-weight: bold;
        color: #008CA1;
        margin: 2px 2px 0;
        line-height: 24px;
    	background: #fff;
	}
	.searchBlock .mapBlock .areaBox h3 a {
    	text-decoration: none;
        color: inherit;
        display: block;
	}
	.searchBlock .mapBlock .areaBox ul {
		max-width: 120px;
		overflow: hidden;
    	list-style: none;
    	padding: 5px 1px 2px 5px;
    	margin: 0;
    	border-radius: 1px;
	}
	.searchBlock .mapBlock .areaBox ul li {
    	width: 53px;
    	border: solid 1px #9bd2db;
    	border-radius: 2px;
    	float: left;
    	margin-bottom: 3px;
    	margin-right: 4px;
	}
	.searchBlock .mapBlock .areaBox ul li a {
    	display: block;
    	background: #fff;
    	border-radius: 3px;
    	border-bottom: solid 2px #ddd;
    	text-align: center;
    	font-size: 11px;
    	line-height: 20px;
    	height: 22px;
    	color: #333;
    	text-decoration: none;
	}
	.searchBlock .mapBlock .hokkaido {
		top: 33px;
		left: 598px;
	}
	.searchBlock .mapBlock .tohoku {
		top: 129px;
		left: 541px;
	}
	.searchBlock .mapBlock .koshinetsu {
		top: 63px;
		left: 309px;
	}
	.searchBlock .mapBlock .kanto {
		top: 263px;
		left: 541px;
	}
	.searchBlock .mapBlock .tokai {
		width: 161px;
		top: 343px;
		left: 365px;
	}
		.searchBlock .mapBlock .tokai h3,
		.searchBlock .mapBlock .shikoku h3 {
			width: 39px;
			height: 57px;
			line-height: 57px;
			margin-right: 0;
        	float: left;
		}
	.searchBlock .mapBlock .kinki {
		top: 63px;
		left: 166px;
	}
	.searchBlock .mapBlock .chugoku {
		top: 63px;
		left: 24px;
	}
	.searchBlock .mapBlock .shikoku {
		width: 161px;
		top: 363px;
		left: 189px;
	}
	.searchBlock .mapBlock .kyushu {
		top: 197px;
		left: 24px;
	}
	.searchBlock .mapBlock .okinawa {
		top: 368px;
		left: 76px;
	}
	.searchBlock .conditionBox {
		width: 695px;
		margin: -1px auto 0;
	}
	.searchBlock .conditionBox dl {
    	position: relative;
	}
	.searchBlock .conditionBox form > dl > dt {
		width: 212px;
    	position: absolute;
    	left: 0;
    	color: #008CA0;
    	font-size: 16px;
    	font-weight: bold;
    	padding-left: 15px;
    	padding-top: 5px;
    	padding-bottom: 15px;
    	margin-bottom: 15px;
	}
	.searchBlock .conditionBox form > dl > dt.flat35 {
    	padding-top: 58px;
	}
	.searchBlock .conditionBox form > dl > dd {
    	padding-left: 212px;
    	border-bottom: dotted 1px #ddd;
    	margin-bottom: 15px;
    	padding-bottom: 15px;
	}
	.searchBlock .conditionBox form > dl > dd input[type="text"] {
    	width: 379px;
    	box-sizing: border-box;
    	-moz-box-sizing: border-box;
    	-webkit-box-sizing: border-box;
    	border: solid 1px #ccc;
    	border-radius: 3px;
    	font-size: 14px;
    	padding: 5px 9px 7px;
    	font-family: inherit;
	}
	.searchBlock input[type="text"]:focus::-webkit-input-placeholder {
        color: transparent;
    }
    .searchBlock input[type="text"]:focus:-moz-placeholder {
        color: transparent;
    }
    .searchBlock input[type="text"]:focus::-moz-placeholder {
        color: transparent;
    }
	.searchBlock .conditionBox form > dl > dd select {
    	width: 210px;
    	box-sizing: border-box;
    	-moz-box-sizing: border-box;
    	-webkit-box-sizing: border-box;
    	border: solid 1px #ccc;
    	border-radius: 3px;
    	font-size: 14px;
    	padding: 5px 9px 9px;
    	font-family: inherit;
	}
	.searchBlock .conditionBox form > dl > dd  dd {
    	font-size: 12px;
    	padding-left: 23px;
    	padding-top: 10px;
	}
	.searchBlock .conditionBox form > dl > dd label {
    	display: inline-block;
    	padding: 4px 0 0;
    	margin-right: 15px;
	}
	.searchBlock .conditionBox form > dl > dd label input {
    	vertical-align: middle;
    	margin-right: 8px;
	}
	.searchBlock .conditionBox form > dl > dd dt:first-child + dd {
    	border-bottom: dotted 1px #ddd;
    	padding-bottom: 10px;
    	margin-bottom: 10px;
	}
	.searchBlock .btn {
    	text-align: center;
    	padding: 6px 0 20px;
	}
	.searchBlock .btn button {
		width: 270px;
    	border: none;
    	background: #DB6F47;
    	color: #fff;
    	font-weight: bold;
    	font-size: 20px;
    	border-radius: 3px;
    	font-family: inherit;
    	cursor: pointer;
    	padding: 10px 0 11px;
	}
	.searchBlock .conditionBox form > .btn button:hover,
	.searchBlock .mapBlock .areaBox ul li a:hover,
	.searchBlock .mapBlock .areaBox h3 a:hover {
		opacity: .6;
		-ms-filter: "alpha(opacity=60)"
	}
	.searchBlock .conditionBox form > .btn button:hover:not(:target),
	.searchBlock .mapBlock .areaBox ul li a:hover:not(:target),
	.searchBlock .mapBlock .areaBox h3 a:hover:not(:target) {
		-ms-filter: none;
		filter: none;
	}


/* about */
.btnPrint {
	text-align: right;
	margin: 20px;
}
	.btnPrint > p {
		display: inline-block;
		text-align: center;
		font-size: 11px;
	}

.searchBlock.results {
	margin: 23px 0 30px;
	padding-top: 20px;
	position: relative;
}
	.searchBlock.results:before {
    	content: "";
    	position: absolute;
    	left: -5px;
    	right: -5px;
    	top: -12px;
    	height: 7px;
    	background: #215E9C;
    	border-radius: 5px 5px 0 0;
	}
	.searchBlock.results .number {
    	width: 228px;
    	float: left;
    	text-align: left;
    	margin-left: 20px;
    	font-size: 12px;
    	color: #000;
	}
 	.searchBlock.results .number.mt0 {
 		margin-top: 0;
 	}
	.searchBlock.results .number .fsLL {
    	font-size: 20px;
    	font-weight: bold;
    	color: #FF5C26;
    	vertical-align: -2px;
	}
	.searchBlock.results .show {
    	float: left;
    	width: 150px;
    	color: #000C66;
    	font-weight: bold;
    	font-size: 12px;
    	margin: 6px 0 0;
	}
	.searchBlock.results .show select {
		width: 57px;
    	margin-left: 8px;
    	border-radius: 4px;
    	font-family: inherit;
    	font-size: 11px;
    	padding-bottom: 1px;
	}
	.searchBlock.results .pager {
		width: 297px;
		overflow: hidden;
		list-style: none;
		font-size: 12px;
		font-weight: bold;
		margin: 1px 0 20px;
	}
	.searchBlock.results .pager li {
    	width: 30px;
    	height: 30px;
    	float: left;
    	margin-left: 3px;
    	color: #ccc;
    	line-height: 28px;
	}
	.searchBlock.results .pager li a,
	.searchBlock.results .pager li span {
    	display: block;
    	height: 30px;
    	border: solid 1px #ccc;
    	text-align: center;
    	text-decoration: none;
	}
	.searchBlock.results .pager li.current a,
	.searchBlock.results .pager li a:hover {
    	color: #fff;
    	background: #000D66;
    	border-color: #000D66;
	}
	.searchBlock.results .pager li.first,
	.searchBlock.results .pager li.prev,
	.searchBlock.results .pager li.last,
	.searchBlock.results .pager li.next {
    	font-size: 18px;
    	line-height: 25px;
	}
	#mainBody .searchBlock.results table {
		width: 100%;
		border-spacing: 0;
		border-collapse: separate;
    	border-bottom: solid 2px #ccc;
    	text-align: center;
    	margin-bottom: 20px;
	}
	#mainBody .searchBlock.results table thead th {
		border-top: solid 1px #ddd;
		text-align: center;
		background: #EFF4F8;
		font-size: 12px;
		color: #000C66;
		font-weight: bold;
		vertical-align: middle;
		white-space: nowrap;
		padding: 7px 10px 40px;
		position: relative;
	}
	#mainBody .searchBlock.results table thead th[colspan="2"] {
		padding: 7px 10px 6px;
	}
	#mainBody .searchBlock.results table thead th .sort {
    	position: absolute;
    	left: 0;
    	right: 0;
    	bottom: 5px;
	}
	#mainBody .searchBlock.results .used table thead th {
		padding: 10px 10px 9px;
		border-right: dotted 1px #ddd;
	}
	#mainBody .searchBlock.results table thead th.company {
    	width: 102px;
	}
	#mainBody .searchBlock.results table thead th+th {
		border-left: dotted 1px #ddd;
	}
	#mainBody .searchBlock.results table thead td {
		border-top: dotted 1px #ddd;
		border-left: dotted 1px #ddd;
		text-align: center;
		background: #EFF4F8;
		font-size: 12px;
		color: #333;
		vertical-align: middle;
		padding: 6px 0;
		line-height: 1.4;
	}
	#mainBody .searchBlock.results table tbody th {
    	background: #F9F9F3;
    	border-top: solid 2px #ccc;
    	font-size: 12px;
    	font-weight: normal;
    	width: 142px;
    	padding: 12px;
    	text-align: left;
    	white-space: normal;
	}
	#mainBody .searchBlock.results .used table tbody th {
    	width: 50px;
    	vertical-align: middle;
	}
	#mainBody .searchBlock.results table tbody th a,
	#mainBody .searchBlock.results table tbody th span {
    	font-size: 14px;
    	font-weight: bold;
        display: inline-block;
        margin-bottom: 9px;
	}
	#mainBody .searchBlock.results table tbody td {
    	border-top: solid 2px #ccc;
    	font-size: 12px;
		vertical-align: middle;
    	padding: 38px 10px 37px;
	}
	#mainBody .searchBlock.results .used table tbody td:first-child,
	#mainBody .searchBlock.results .used table tbody td:first-child+td {
		border-top: dotted 1px #ddd;
	}
	#mainBody .searchBlock.results .used table tbody td {
    	padding: 12px 10px;
	}
	#mainBody .searchBlock.results table tbody td {
		border-left: dotted 1px #ddd;
	}
	#mainBody .searchBlock.results table tbody td+td.taL,
	#mainBody .searchBlock.results table tbody td.label {
    	padding-left: 6px;
    	padding-right: 6px;
	}
	#mainBody .searchBlock.results table tbody th+td {
    	width: 77px;
	}
	#mainBody .searchBlock.results table tbody th+td+td+td,
	#mainBody .searchBlock.results table tbody th+td+td+td+td {
    	padding-right: 8px;
	}
	#mainBody .searchBlock.results table tbody td[colspan="7"] {
		width: auto;
		border-top: dotted 1px #ddd;
    	padding: 8px 11px 7px;
	}
	#mainBody .searchBlock.results table tbody tr:first-child th,
	#mainBody .searchBlock.results table tbody tr:first-child td {
    	border-top: solid 3px #000D66;
	}

	.itemBlock .txt-red {
    	color: #E3662A;
	}
	.itemBlock .lineBlock {
		border: solid 2px #ddd;
		margin: 14px 0 37px;
	}
	.itemBlock .lineBlock .inBlockRimg img {
    	border-left: solid 2px #ddd;
    	margin: 0 0 0 10px;
	}
	.itemBlock .lineBlock p {
    	padding: 10px 17px;
	}
	.itemBlock .lineBlock ul {
    	padding: 0 17px;
	}
	.searchBlock.results dl.condition {
    	position: relative;
    	margin: -5px 15px 15px;
	}
	.searchBlock.results dl.condition dt {
		width: 80px;
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
    	background: #9A905B;
    	color: #fff;
    	font-weight: bold;
    	text-align: center;
    	line-height: 30px;
	}
	.searchBlock.results dl.condition dd {
    	background: #F6F6F6;
    	padding: 5px 0 4px 90px;
	}
	.searchBlock.results .printBox {
    	overflow: hidden;
    	margin: -4px 18px 15px;
    	clear: both;
	}
	.searchBlock.results .printBox > img {
    	float: left;
    	margin: 15px 12px 0 0;
	}
	.searchBlock.results .printBox > p {
    	background: #FCF0E9;
    	width: 571px;
    	float: left;
    	line-height: 41px;
    	border-radius: 5px;
    	font-size: 13px;
    	padding: 0 0 0 16px;
	}
	.searchBlock.results .printBox > p img {
    	vertical-align: middle;
    	margin-left: 14px;
	}
	.searchBlock.results .used+.printBox > img {
		margin-top: 4px;
	}
	.doubleBox {
		border: solid 1px #F4D4C7;
		position: relative;
		margin-top: -10px;
		padding: 19px 15px 10px;
	}
	.doubleBox:before {
		content: "";
		position: absolute;
		top: 1px;
		bottom: 1px;
		left: 1px;
		right: 1px;
		border: solid 1px #F4D4C7;
	}
	.doubleBox ol {
    	margin-left: 34px;
	}
	.doubleBox ol li {
    	margin-top: 10px;
	}
	.asterisk_l.fsS {
		margin-top: 15px;
		padding-bottom: 10px;
		border-bottom: dotted 1px #ccc;
	}
	ul.asterisk_l.fsS > li {
		margin-bottom: 8px;
		margin-left: 2.6em;
		text-indent: -2.6em !important;
	}
	ul.asterisk > li {
		margin-left: 1em;
		text-indent: -1em !important;
	}
	.redBlock {
		margin-top: 20px;
	}

.filterBox {
	width: 677px;
	margin: 0 auto;
	border: solid 3px #F4F4E7;
	border-top: none;
	border-radius: 3px;
}
	.filterBox h2 {
		width: auto;
		margin: 0 -3px;
		background: #F4F4E7 url(/files/400333962.png) no-repeat 98.5% center;
		color: #0657C3;
		text-decoration: underline;
		font-size: 14px;
		text-align: left;
		line-height: 40px;
		height: 40px;
		clear: both;
		padding: 0 0 0 17px;
        letter-spacing: 0;
	}
	.filterBox h2.open {
		background-image: url(/files/400333961.png);
	}
	.filterBox .filterForm {
		width: 636px;
		margin: 0 auto;
    	display: none;
	}
	.filterBox .filterForm dl {
    	position: relative;
	}
	.filterBox .filterForm dt {
		position: absolute;
		left: 0;
    	width: 188px;
    	text-align: center;
    	font-weight: bold;
    	color: #000C66;
    	padding: 19px 0 13px;
    	line-height: 1.35;
	}
	.filterBox .filterForm dd {
		padding: 25px 0 27px 213px;
		border-top: dotted 1px #ddd;
	}
	.filterBox .filterForm dt:first-child+dd {
    	border: none;
	}
	.filterBox .filterForm dd label {
    	font-size: 12px;
    	display: inline-block;
    	margin-right: 20px;
	}
	.filterBox .filterForm dd label input {
    	vertical-align: middle;
    	margin-right: 8px;
	}
	.itemBlock .searchBlock .filterBox .btn {
    	padding: 0 0 20px;
    	margin-top: -5px;
	}
	.searchBlock .filterBox .btn button {
		width: 190px;
    	font-size: 16px;
    	padding: 8px 0;
	}
	.searchBlock .sortBox {
		width: 677px;
		margin-top: 20px;
	}
	.searchBlock .sortBox ul {
		width: 677px;
    	overflow: hidden;
    	list-style: none;
    	font-size: 12px;
	}
	.searchBlock .sortBox ul li {
		display: inline-block;
		vertical-align: middle;
	}
	.searchBlock .sortBox ul li+li {
    	margin-left: 5px;
	}
	.searchBlock .sortBox ul li a {
		min-width: 86px;
		display: table-cell;
		vertical-align: middle;
		text-align: center;
		color: #0657C3;
		background: #eee;
		height: 48px;
		border-radius: 3px;
		padding: 0 11px;
	}
	.searchBlock .sortBox ul li+li+li a {
		padding: 0 11px 0 12px;
	}
	.searchBlock .taR {
    	font-size: 11px;
    	margin: 15px 15px 14px;
	}

/* about */
.searchBlock.about {
	padding: 15px 13px;
}


/* dialog */
.dialog-bg {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	background: rgba(0,0,0,.3);
	-ms-filter:"progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#4B000000,EndColorStr=#4B000000)";
	z-index: 109;
}
.dialog-bg:not(:target) {
	-ms-filter: none;
	filter: none;
}

.areaDialog {
	display: none;
	width: 310px;
	height: 315px;
	padding: 0 10px;
	background: #fff;
	border-radius: 3px;
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -155px;
	z-index: 110;
	box-shadow: 0 0 10px rgba(0,0,0,.5);
	line-height: 1.5;
}

.areaDialog ul {
	width: 277px;
	height: 204px;
    overflow: auto;
    margin: 0 auto;
}

.areaDialog ul li {
	border: solid 1px #ccc;
}

.areaDialog ul li+li {
	border-top: none;
}

.areaDialog ul li a {
	display: block;
	padding: 3px 10px 4px;
}

.areaDialog ul li a:hover {
	background: #FFFFBF;
}

.areaDialog .btn {
	text-align: center;
	margin-top: 10px;
}

.areaDialog .btn a {
	display: inline-block;
	width: 100px;
	background: #DB6F47;
	color: #fff;
	border-radius: 3px;
	text-decoration: none;
	padding: 4px 0;
}

body.sm #mainBody.w910 {
  width: 930px;
}

.wrap > .inner.w1150,
#content.w1150,
#nav-global.w1150 ul {
  width: 1150px;
}

.mw70 {
  min-width: 70px;
}

.mw73 {
  min-width: 73px;
}

.mw77 {
  min-width: 77px;
}

.mw88 {
  min-width: 88px;
}

.filterBox.w750 {
  width: 850px;
}

td.interest-discount img {
  display: inline-block; /* 画像をブロック要素的に扱う */
  margin: 2px;           /* 適度に間隔を空ける */
  max-width: 100%;       /* セル幅を超えない */
}

.flat50 {
  display: inline-block;
  padding: 5px 10px 5px 10px;
  background-color: #3498db;
  color: #ffffff;
  font-weight: bold;
  margin-top: 5px;
}

@media print {
  @page { size: A4 portrait; margin: 6mm; }

  /* 横並びの2カラムレイアウト（印刷時のみ） */
  #mainCol {
    display: flex !important;
    flex-direction: row !important; /* 横並びに */
    gap: 16px !important;           /* 任意：隙間調整 */
    align-items: flex-start !important;
  }

  /* 本文を右に */
  #mainBody {
    order: 2 !important;
    flex: 1 1 0% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
    overflow: visible !important;
  }

    .w1150 {
    width: auto !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

}