/* inquiry
------------------------- */
 .tabletr{
	overflow: hidden;
	zoom: 1;
	padding-bottom: 10px;
	border-bottom: solid 1px #CCC;
	margin-bottom: 10px;
}

 .tabletr.tablebottom{
	margin-bottom: 0px;
}

 .tabletr .tableth{
	float: left;
	width: 200px;
	padding: 10px 10px 10px 0;
	font-size: 90%;
}

 .tabletr .tabletd{
	float: right;
	width: 389px;
	padding: 10px 10px 10px 20px;
	border-left: dotted 1px #CCC;
}

 .tabletr .tableth .tabletitle{
	float: left;
	width: 150px;
}

 .tabletr .tableth .tableindis{
	float: right;
	width: 30px;
	background: #496da4;
	padding: 7px 5px 5px 5px;
	line-height: 1.0;
	text-align: center;
	color: #FFF;
	font-size: 80%;
}

 .tabletr .tabletd .formtypeinput{
	padding: 5px;
	background-color: #e4ebf6;
	border: solid 1px #d1cbc1;
	width: 370px;
}

 .tabletr .tabletd .formselect{
	padding: 5px;
	background-color: #e4ebf6;
	border: solid 1px #d1cbc1;
}

 .formbutton{
	text-align: center;
	padding-top: 20px;
}

 .formbutton a:hover{
     filter: alpha(opacity=80);
    -moz-opacity:0.80;
    opacity:0.80;
}

 input#button_goconfirm {
	width: 360px;
	height: 70px;
	overflow: hidden;
	background-color: #333;
	border: none;
	border-style: none;
	cursor: pointer;
	font-size:24px;
	color:#fff;
}

 input#button_goconfirm:hover {
     filter: alpha(opacity=80);
    -moz-opacity:0.80;
    opacity:0.80;
}

 p.thankstext {
	padding-bottom: 40px; 
}

 .rtntoppage {
	text-align: center;
}

 .error {
	 color:#ff0000;
	 margin-top:3px;
	 font-size:13px;
 }




/*==================================================*/
/*                                                  */
/* MAILFORM CSS                                     */
/* lastupdated 20230902 takuyahimi                  */
/*                                                  */
/*==================================================*/

form#mailformpro {
	margin: 0 auto;
	padding: 0;
}
form#mailformpro .mfp_phase {
	margin: 0;
	padding: 0;
}
form#mailformpro dl.mailform{
	overflow: hidden;
	zoom: 1;
	margin: 0 0 10px 0;
	padding: 0 0 10px 0;
	border-bottom: 1px solid #ccc;
}
form#mailformpro dl.mailform:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}
form#mailformpro dl dt {
	float: left;
	display: flex;
	justify-content: space-between;
	width: 200px;
	padding: 10px 10px 10px 0;
	font-size: 90%;
	text-align: left;
}
form#mailformpro dl dt.watto {
	padding: 26px 0 26px 20px;
}
form#mailformpro dl dd {
	float: right;
	width: 389px;
	margin: 0;
	padding: 10px 10px 10px 20px;
	border-left: 1px dotted #ccc;
	border-bottom: none;
}
form#mailformpro dl dd .spmn {
	display: block;
	margin: 0;
	padding: 0;
	font-size: 14px;
}
form#mailformpro dl dd a {
	margin: 5px 0 0 0;
	padding: 0px 0px 0px 0px;
	line-height: 3.0;
}
form#mailformpro dl dd ul,form#mailformpro dl dd ol {
	margin: 0px;
	padding: 0px;
}
form#mailformpro dl dd ul li,form#mailformpro dl dd ol li {
	margin: 0px;
	padding: 0px;
	list-style: none;
}
.must_n {
	display: block;
	width: 15px;
	margin: 0 2px 0 0;
	padding: 0;
	font-size: 15px;
	color: #ff0000;
	line-height: 2.0;
	float: left;
}
form#mailformpro dl.mailform dt .must {
	display: block!important;
	width: 30px;
	background: #496da4;
	padding: 7px 5px 5px 5px;
	line-height: 1.0;
	text-align: center;
	color: #fff!important;
	font-size: 80%!important;
}
.opt {
	display: block;
	width: 16px;
	padding: 0;
	font-size: 16px;
	color: #525252;
	float: left;
	margin: 0 5px 0 0;
}


/*== label css ==*/
form#mailformpro label {
	display: block;
	border-radius: 3px;
	margin: 0;
	padding: 10px 0;
}
form#mailformpro label.watto {
	padding: 5px 0!important;
}
form#mailformpro label.cfm011 {
	padding: 0px 0!important;
}
form#mailformpro label.mfp_checked {
	padding: 3px;
	background-color: #E8EEF9;
}
form#mailformpro label.mfp_not_checked {
	padding: 3px;
}


/* confirm css */
#mfp_overlay_inner h4 {
	font-size: 24px;
	font-weight: 700;
	color: #002f56;
	line-height: 3.0rem;
	letter-spacing: 3px;
	text-align: center;
	margin: 0 0 20px 0;
	padding: 20px 0 0 0;
}
table#mfp_confirm_table {
	border-spacing: 0px;
	border-collapse: collapse;
	width: 1000px;
	margin: 0 auto;
	border-bottom: solid 1px #CCC;
}

table#mfp_confirm_table tr.mfp_colored {
	background-color: #F6F7F9;
}
table#mfp_confirm_table tr.mfp_achroma {
	background-color: #FFF;
}

table#mfp_confirm_table tr th,table#mfp_confirm_table tr td {
	text-align: left;
	font-size: 16px;
	border-top: solid 1px #CCC;
	padding: 10px 10px;
}
table#mfp_confirm_table tr th {
	white-space: nowrap;
}
table#mfp_confirm_table tr td {
	line-height: 1.5em;
	word-break: break-all;
}


/* confirm.flat css */
div#mfp_phase_confirm {
	clear: both;
}
div#mfp_phase_confirm h4 {
	font-size: 105%;
	font-weight:bold;
	padding: 10px 0px 0px 0px;
	text-align: center;
}
div#mfp_phase_confirm div#mfp_phase_confirm_inner {

}


/* confirm.overlay css */
div#mfp_overlay {
	position: absolute;
	display: none;
	z-index: 10001;
	width:100%!important;
}
div#mfp_overlay_inner {
	background-color: #FFF;
	padding: 15px;
	margin: 0px auto;
	border-radius: 5px;
	box-shadow: 0px 0px 10px #000;
	width: 98%;
	box-sizing:border-box;
	-webkit-box-sizing: border-box;
}
div#mfp_overlay_background {
	background-color: #000;
	position: absolute;
	display: none;
	z-index: 10000;
}


/* loading css */
div#mfp_loading_screen {
	z-index: 20000;
	opacity: 0.8;
	display: none;
	background-color: #000;
	position: absolute;
}
div#mfp_loading {
	z-index: 20001;
	position: absolute;
	display: none;
	width: 40px;
	height: 40px;
	background-image: url(https://hibd.or.jp/img/mfp_loading.gif);
}


/* error css */
div.mfp_err {
	clear: both;
	display: none;
	text-align: left;
	margin: 5px 0px 0px 0px;
	padding: 3px 0px 5px 17px;
	color: #F00;
	font-size: 12px;
	line-height: normal;
	background-image: url(https://hibd.or.jp/img/mfp_error.gif);
	background-repeat: no-repeat;
	background-position: 0px 1px;
}
.mfp_parent_error {
	border: solid 2px #F00;
}
.problem {
	background-color: #FCC;
}


div#mfp_error {
	background-color: #FEE;
	border: solid 1px #F00;
	padding: 10px;
	display: none;
}
div#mfp_error p {
	padding: 0px;
	margin: 0px;
	font-size: 14px;
	text-align: center;
}
div#mfp_error p strong {
	font-size: 18px;
	color: #F00;
}


/* warning css */
div#mfp_warning {
	background-color: #FEE;
	border: solid 1px #F00;
	padding: 10px;
	display: none;
}
div#mfp_warning p {
	padding: 0px;
	margin: 0px;
	font-size: 14px;
	text-align: center;
}
div#mfp_warning p strong {
	font-size: 18px;
	color: #F00;
}


/* price css */
div#mfp_price {
	color: #C00;
	font-size: 36px;
	padding: 10px;
	font-weight: bolder;
}
div#mfp_price span {
	color: #666;
	font-size: 12px;
	font-weight: normal;
}


/*== input css ==*/
form#mailformpro input{
	width: 370px;
	padding: 5px;
	background-color: #e4ebf6;
	border: 1px solid #d1cbc1;
}
form#mailformpro input.watto{
	width: auto;
}
form#mailformpro input.cfm01{
	width: auto;
}
form#mailformpro input.checkbox{
	width:auto;
	padding: 7px;
	font-size: 100%;
	vertical-align: middle;
}
form#mailformpro input.checkbox{
	background:#f9f9f9;
	border:1px solid #dcdcdc;
	border-radius:0;
	webkit-border-radius:0;
	padding: 7px;
	font-size: 100%;
	font-family: "Noto Sans Japanese", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "Meiryo", "メイリオ", sans-serif;
	vertical-align: middle;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
form#mailformpro input.radio{
	display: none;
}
.mfp label{
	display: inline-block;
	position: relative;
	cursor: pointer;
	margin-left: 20px;
	padding: 10px 20px;
	border-radius: 2px;
	color: #3e4956;
	font-size: 15px;
	text-align: center;
	line-height: 1;
}
.mfp label.cfm011 {
	text-align: left;
}
.mfp label.watto {
	text-align: left;
}
.mfp input[type="radio"]:checked + label:after {
	position: absolute;
	content: "";
	top: 50%;
	left: 6px;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-radius: 50%;
	background: #002f56;
}
form#mailformpro textarea {
	width: 370px!important;
	height: 120px!important;
	margin: 0;
	padding: 5px;
	background-color: #e4ebf6;
	border: 1px solid #d1cbc1;
}
form#mailformpro li.pullarea {
	width:166px;
	height:40px;
	margin:0 0 10px 0;
	padding:0;
	overflow:hidden;
}
form#mailformpro li.pullarea_sp {
	width:200px;
}
form#mailformpro select {
	width: 252px;
	padding: 5px;
	background-color: #e4ebf6;
	border: 1px solid #d1cbc1;
}
form#mailformpro select.select_sp {
}
form#mailformpro select:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 10px;
	display: block;
	width: 8px;
	height: 8px;
	margin-top: -4px;
	border-top: 2px solid #333;
	border-right: 2px solid #333;
	transform: rotate(90deg);
}


/* phase css */
button.mfp_next,button.mfp_prev {
	font-size: 18px;
	margin: 10px;
	padding: 5px 10px;
}
button.mfp_next {
	float: right;
}
button.mfp_prev {
	float: left;
}

ul#mfp_phase_stat {
	padding: 10px;
}
ul#mfp_phase_stat li {
	float: left;
	padding: 8px 15px;
	border-radius: 3px;
	margin: 5px;
	list-style: none;
	font-size: 14px;
}
ul#mfp_phase_stat li.mfp_phase_arrow {
	bos-shadow: none;
	padding: 8px 5px;
}
ul#mfp_phase_stat li.mfp_active_phase {
	background-color: #E8EEF9;
	box-shadow: 0px 0px 5px #000;
}
ul#mfp_phase_stat li.mfp_inactive_phase {
	background-color: #CCC;
	color: #666;
	box-shadow: 0px 0px 5px #CCC;
}


/* cart css */
div#mfp_shopping_cart {
	border: solid 1px #CCC;
	margin: 0px;
	padding: 0px;
}
div#mfp_shopping_cart p {
	margin: 0px;
	text-align: center;
	padding: 20px 10px;
	font-size: 12px;
	background-color: #FEE;
}
table.mfp_shoppingcart {
	border-spacing: 0px;
	border-collapse: collapse;
	width: 100%;
}
table.mfp_shoppingcart thead tr td {
	background-color: #EEE;
	border-bottom: solid 1px #CCC;
	text-align: center;
	font-size: 12px;
	padding: 5px;
}
table.mfp_shoppingcart tbody tr th,table.mfp_shoppingcart tbody tr td {
	font-size: 12px;
	padding: 5px;
	border-bottom: solid 1px #CCC;
}
table.mfp_shoppingcart tbody tr td select {
	display: block;
	margin: 0px auto;
	text-align: center;
}
table.mfp_shoppingcart tbody tr td select option {
	text-align: center;
}
table.mfp_shoppingcart tbody tr th span {
	display: block;
	font-weight: normal;
	font-size: 10px;
	color: #666;
	padding: 3px 0px;
}
table.mfp_shoppingcart tfoot tr td {
	padding: 5px;
	font-size: 16px;
	font-weight: bolder;
	color: #900;
}
td.msc_price {
	font-size: 12px;
	text-align: right;
}


/* button css */
div.mfp_buttons {
	clear: both;
	padding: 40px 0 50px 0;
	text-align: center;
}
#mfp_overlay_inner div.mfp_buttons {
	padding: 0 0 50px 0;
}
div.mfp_buttons button#mfp_button_send {
	width: 280px;
	height: 60px;
	overflow: hidden;
	border: none;
	border-style: none;
	cursor: pointer;
}
div.mfp_buttons button#mfp_button_cancel {
	width: 280px;
	height: 60px;
	overflow: hidden;
	border: none;
	border-style: none;
	cursor: pointer;
}
div.mfp_buttons button {
	cursor: pointer;
	width: 360px;
	height: 70px;
	font-size: 24px;
	color: #fff;
	text-align: center;
	overflow: hidden;
	background-color: #333;
	border: none;
}
div.mfp_buttons button:hover{
	filter: alpha(opacity=80);
	-moz-opacity: 0.80;
	opacity: 0.80;
}
div.mfp_confirm_after {
	font-size: 16px;
	text-align: center;
	letter-spacing: 0.5px;
	padding: 30px 0 20px 0;
}

/* mailform css */
body {
	overflow-x: hidden;
}
div#mfp_hidden {
	overflow: hidden;
	width: 1px;
	height: 1px;
	padding: 0px;
	margin: 0px;
}
div#mfp_hidden input {
	margin: 10px;
}
div.mfp_thanks {
	padding: 30px;
}
div.mfp_thanks p {
	line-height: 1.7em;
}
div.mfp_thanks ul.mfp_caution {
	margin: 0px;
	padding: 0px;
}
div.mfp_thanks ul.mfp_caution li {
	display: block;
	color: #C00;
	margin: 0px;
	padding: 5px 0px;
}
div#mfp_thanks {
	text-align: center;
	font-size: 18px;
	padding: 20px 0px;
}
div#mfp_thanks strong {
	color: #C00;
	font-size: 24px;
}