@charset "UTF-8";

body {
	overflow-x: hidden
}

.notice {
	color: #F00;
	font-size: 0.9rem;
	margin: 0;
}

input {
	width: 100%;
	box-sizing: border-box;
}

input.half {
	width: 50%;
}

input[type="radio"] {
	display: inline-block;
	vertical-align: middle;
	width: auto;
}

input, select {
	padding: .5em;
}

select {
	width: 100%;
}

/*select {
	width:100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 0;
	background: transparent;
	position: relative;
	z-index: 1;
	padding: .5em 2em .5em .5em;
	border: 1px solid #ccc;
}
select::-ms-expand {display: none;}
.selectWrap{
	background:#FFF;
	position: relative;
	display: inline-block;
	width:100%;
}
.selectWrap::before{
	content: '';
	position: absolute;
	z-index: 0;
	top: 0;
	right: 0;
	background: #ccc;
	height: 100%;
	width: 1.5em;
}
.selectWrap::after{
	content: '';
	position: absolute;
	z-index: 0;
	top: 0;
	bottom: 0;
	margin: auto 0;
	right: 9px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 6px 0 6px;
	border-color: #fff transparent transparent transparent; 
}*/
textarea {
	padding: .5em;
	width: 100% !important;
	height: 8em !important;
	box-sizing: border-box;
}

div#mfp_hidden {
	overflow: hidden;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: 0;
}

div#mfp_hidden input {
	margin: 10px;
	width: 90%;
}

div.mfp_thanks {
	padding: 30px;
}

div.mfp_thanks p {
	line-height: 1.7em;
}

div.mfp_thanks ul.mfp_caution {
	margin: 0;
	padding: 0;
}

div.mfp_thanks ul.mfp_caution li {
	display: block;
	color: #c00;
	margin: 0;
	padding: 5px 0;
}

div#mfp_thanks {
	text-align: center;
	font-size: 18px;
	padding: 20px 0;
}

div#mfp_thanks strong {
	color: #c00;
	font-size: 24px;
}

form#mailformpro {
	padding: 10px 0 80px;
}

form#mailformpro dl {
	margin: 0;
}

form#mailformpro dl dt {
	float: left;
	width: 18em;
	clear: both;
	padding: 20px 0 20px 1em;
}

form#mailformpro dl dd, form#mailformpro dl dt {
	font-size: 12pt;
	/*border-top: solid 1px #ccc;*/
	margin: 0;
}

form#mailformpro dl dd {
	padding: 20px 1em 20px 19em;
	line-height: 1.5em;
	text-align: left;
}

form#mailformpro dl dd ol, form#mailformpro dl dd ul {
	margin: 0;
	padding: 0;
}

form#mailformpro dl dd .six-col {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

form#mailformpro dl dd ol li, form#mailformpro dl dd ul li {
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
}

form#mailformpro dl dd ol li {
	position: relative;
}

form#mailformpro dl dd ol li:first-child {
	margin: 0;
}

form#mailformpro dl dd ol.six-col li {
	width: 48%;
}

form#mailformpro dl dd ol.six-col li:nth-child(-n + 6) {
	margin: 0;
}

form#mailformpro dl dd ol.six-col li.others {
	width: 100%;
}


form#mailformpro li.others label {
	display: flex;
	align-items: center;
}

form#mailformpro li.others label input[type="text"] {
	margin-left: 1em;
	padding: 0;
}

form#mailformpro dl dd ul.birth {
	width: 50%;
}

form#mailformpro dl dd ul.history {
	width: 66%;
}

form#mailformpro dl dd ul li {
	width: 32%;
	float: left;
	margin: 0 2% 0 0;
}

form#mailformpro dl dd ul li:last-child {
	margin: 0;
}

.must {
	background-color: #d3381c;
	border: solid 2px #d3381c;
	border-radius: 4px;
}

.must, .optionally {
	display: inline-block;
	padding: 2px 5px;
	font-size: 0.8rem;
	color: #fff;
	margin: 0 .5em 0 0;
	box-shadow: 0 0 5px #ccc;
	background-size: 100% 100%;
}

.optionally {
	background-color: #999;
	border: solid 2px #999;
	border-radius: 4px;
}

form#mailformpro label {
	line-height: 1.5;
	padding: 0.5em;
	border-radius: 3px;
	display: inline-block;
	white-space: wrap;
	background: #D7D7D7;
	width: 100%;
	box-sizing: border-box;
	position: relative;
}

form#mailformpro label.mfp_checked {
	padding: .5em;
	border: solid 1px #ccc;
	background-color: #e8eef9;
	box-shadow: 0 1px 3px #ccc inset;
}

form#mailformpro label.mfp_not_checked {
	padding: .5em;
	border: solid 1px #eee;
}

table#mfp_confirm_table {
	border-spacing: 0;
	border-collapse: collapse;
	width: 100%;
}

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 td, table#mfp_confirm_table tr th {
	text-align: left;
	font-size: 1rem;
	/*border-top: solid 1px #ccc;*/
}

table#mfp_confirm_table tr th {
	white-space: nowrap;
	width: 100%;
	display: block;
	padding: 10px;
	background: #f5f5f5;
	border: #CCC 1px solid;
	border-top: none;
	box-sizing: border-box;
}

table#mfp_confirm_table tr:first-child th {
	border-top: #CCC 1px solid;
}

table#mfp_confirm_table tr td {
	display: block;
	width: 100%;
	padding: 10px;
	word-break: break-all;
	border: #CCC 1px solid;
	border-top: none;
	box-sizing: border-box;
	background: #FFF;
}

div#mfp_phase_confirm {
	clear: both;
}

div#mfp_phase_confirm h4 {
	font-size: 36px;
	padding: 10px 0 0;
	text-align: center;
}

div#mfp_overlay {
	position: absolute;
	display: none;
	z-index: 103;
}

div#mfp_overlay_inner {
	background-color: #fff;
	padding: 15px;
	margin: 0 auto;
	border-radius: 5px;
	box-shadow: 0 0 10px #000;
	width: 40pc;
	max-width: 90%;
}

div#mfp_overlay_inner h4 {
	text-align: center;
	font-size: 1.2rem;
	color: #C00;
}

div#mfp_overlay_inner .mfp_buttons {
	padding: 1.5em 0;
}

div#mfp_overlay_background {
	z-index: 102;
}

div#mfp_loading_screen, div#mfp_overlay_background {
	background-color: #000;
	position: absolute;
	display: none;
}

div#mfp_loading_screen {
	z-index: 104;
	opacity: .8;
}

div#mfp_loading {
	z-index: 105;
	position: absolute;
	display: none;
	width: 40px;
	height: 40px;
}

.mfp_colored {
	background-color: #EEEEF2;
}

.mfp_achroma {
	background-color: #fff;
}

div.mfp_err {
	clear: both;
	display: none;
	text-align: left;
	color: red;
	font-size: 9pt;
	line-height: normal;
	background-repeat: no-repeat;
	background-position: 0 1px;
	word-wrap: break-word;
	/*position:absolute;
	bottom: 0.5em;*/
}

.mfp_parent_error {
	border: solid 2px red;
	word-wrap: break-word;
}

.problem {
	background-color: #fcc;
}

/*select.problem {background:transparent;}*/
div#mfp_error {
	background-color: #fee;
	border: solid 1px red;
	padding: 10px;
	display: none;
	word-wrap: break-word;
}

input[type="radio"]+div.mfp_err {
	position: absolute;
	bottom: -2em;
}

select#mfp_element_3+div.mfp_err,
input#mfp_element_4+div.mfp_err,
input#mfp_element_5+div.mfp_err {
	bottom: -2em;
}

div#mfp_error p {
	padding: 0;
	margin: 0;
	font-size: 14px;
	text-align: center;
}

div#mfp_error p strong {
	font-size: 18px;
	color: red;
	word-wrap: break-word;
}

div#mfp_warning {
	background-color: #fee;
	border: solid 1px red;
	padding: 10px;
	display: none;
	border-radius: 5px;
}

div#mfp_warning p {
	padding: 0;
	margin: 0;
	font-size: 14px;
	text-align: center;
}

div#mfp_warning p strong {
	font-size: 18px;
	color: red;
}

div#mfp_price {
	color: #c00;
	font-size: 36px;
	padding: 10px;
	font-weight: bolder;
}

div#mfp_price span {
	color: #666;
	font-size: 9pt;
	font-weight: 400;
}

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;
	text-align: center;
}

ul#mfp_phase_stat li {
	display: inline-block;
	padding: 8px 15px;
	border-radius: 5px;
	margin: 0 5px;
	list-style: none;
	font-size: 14px;
}

ul#mfp_phase_stat li.mfp_phase_arrow {
	box-shadow: none;
	color: #999;
	padding: 8px 0;
}

ul#mfp_phase_stat li.mfp_active_phase {
	box-shadow: 0 1px 6px #000;
	background-size: 100% 100%;
	background-color: #0068b7;
	border: solid 2px #0068b7;
	font-weight: bolder;
	color: #fff;
	text-shadow: 0 1px 3px #000
}

ul#mfp_phase_stat li.mfp_inactive_phase {
	background-size: 100% 100%;
	background-color: #eee;
	border: solid 2px #eee;
	color: #999;
	box-shadow: 0 1px 6px #ccc
}

div#mfp_shopping_cart {
	border: solid 1px #ccc;
	margin: 0;
	padding: 0;
}

div#mfp_shopping_cart p {
	margin: 0;
	text-align: center;
	padding: 20px 10px;
	font-size: 9pt;
	background-color: #fee;
}

table.mfp_shoppingcart {
	border-spacing: 0;
	border-collapse: collapse;
	width: 100%;
}

table.mfp_shoppingcart thead tr td {
	background-color: #eee;
	text-align: center;
}

table.mfp_shoppingcart tbody tr td, table.mfp_shoppingcart tbody tr th, table.mfp_shoppingcart thead tr td {
	border-bottom: solid 1px #ccc;
	font-size: 9pt;
	padding: 5px;
}

table.mfp_shoppingcart tbody tr td select {
	display: block;
	margin: 0 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: 400;
	font-size: 10px;
	color: #666;
	padding: 3px 0;
}

table.mfp_shoppingcart tfoot tr td {
	padding: 5px;
	font-size: 1pc;
	font-weight: bolder;
	color: #900;
}

td.msc_price {
	font-size: 9pt;
	text-align: right;
}

div.mfp_buttons {
	clear: both;
	padding: 1em 0;
	text-align: center;
	width: 90%;
	margin: 0 auto;
}

.imagebutton {
	margin: 0;
	padding: 0;
	border: 0 0;
	outline: 0;
	background: 0 0;
}

.mfp_element_all {
	max-width: 90%;
}

.mfp_element_date, .mfp_element_email, .mfp_element_number, .mfp_element_password, .mfp_element_select-one, .mfp_element_tel, .mfp_element_text, .mfp_element_textarea {
	border: solid 1px #ccc;
	border-radius: 3px;
	box-shadow: 0 0 5px #ccc inset;
	padding: 3px 8px;
	margin: 2px;
	vertical-align: middle;
}

.mfp_element_checkbox, .mfp_element_radio {
	vertical-align: middle;
	margin: 0 2px
}

.mfp_element_file {
	font-size: 9pt;
	display: inline-block;
	padding: 10px;
	vertical-align: middle;
	border: solid 1px #ccc;
	border-radius: 3px;
	box-shadow: 0 0 5px #ccc inset;
	background: #eee;
}

/* 
.mfp_element_button, .mfp_element_reset, .mfp_element_submit, button.mfp_next, button.mfp_prev {
	border-radius: 5px;
	padding: 5px 10px;
	border: solid 1px #ccc;
	background: gradient(linear, center top, center bottom, from(#EEE), to(#CCC));
	background: -webkit-gradient(linear, center top, center bottom, from(#EEE), to(#CCC));
	background: -moz-linear-gradient(top, #eee, #ccc);
	background: -ms-linear-gradient(top, #eee 0%, #ccc 100%);
	font-size: 18px;
	cursor: pointer;
	outline: 0
}

*/

.mfp_buttons button {
	background: url(../images/ico_arrow_white.png) no-repeat 97% center #36aab5;
	background-size: 20px auto;
	width: 100%;
	max-width: 290px;
	height: 70px;
	cursor: pointer;
	outline: none;
	border: none;
	margin: 0 auto;
	font-size: 1.4rem;
	font-weight: bold;
	color: #FFF;
	border-radius: 4px;
}

.mfp_buttons button#mfp_button_send {
	margin-bottom: 1.1em;
}

.mfp_buttons button#mfp_button_cancel {
	background: url(../images/ico_arrow_white02.png) no-repeat 3% center #ccc;
	background-size: 20px auto;
	color: #333;
}

.mfp_element_reset {
	color: #333;
}


button#mfp_button_send:hover {
	color: #ffffff;
	background-color: #36aab5;
}


.mfp_element_button:hover, .mfp_element_reset:hover, .mfp_element_submit:hover, button.mfp_next:hover, button.mfp_prev:hover {
	background-color: #36aab5 !important;
	color: #fff;
}

button.mfp_next, button.mfp_prev {
	font-size: 14px;
}

input#mfp_reserve_date, input#mfp_reserve_item {
	display: none;
}

div#mfp_reserve_wrapper {
	position: relative;
	overflow: hidden;
	border: solid 1px #ccc;
}

div#mfp_reserve_inner {
	position: relative;
	padding: 0 0 0 75pt;
	overflow: auto;
}

div#mfp_reserve_wrapper table {
	border-spacing: 0;
	border-collapse: collapse;
}

div#mfp_reserve_wrapper table.mfp_reserve_table_label {
	position: absolute;
	top: 0;
	left: 0;
	width: 75pt;
	background-color: #fee;
	z-index: 101;
}

div#mfp_reserve_wrapper table.mfp_reserve_table_value {
	padding: 0;
}

div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_active, div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_warning {
	cursor: pointer;
}

div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_active:hover, div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_warning:hover {
	background-color: #e8eef9;
}

div#mfp_reserve_wrapper table.mfp_reserve_table_value tr td.mfp_reserve_current {
	background-color: #0068b7;
	color: #fff;
}

td.mfp_reserve_disabled {
	background-color: #ccc;
}

td.mfp_reserve_warning {
	background-color: #ffc;
}

div#mfp_reserve_wrapper table tr td, div#mfp_reserve_wrapper table tr th {
	border: solid 1px #ccc;
	padding: 0 5px;
	font-size: 9pt;
	text-align: center;
	font-family: Osaka, ＭＳ\ Ｐゴシック, MS PGothic, Sans-Serif;
	font-weight: 400;
	height: 20px;
	text-align: left;
}

td.mfp_reserve_week_0 {
	color: red;
	background-color: #fee;
}

td.mfp_reserve_week_6 {
	color: #00f;
	background-color: #eef;
}

div.mfp_ok {
	border-radius: 5px;
	background-color: #090;
	border: solid 1px #090;
	display: inline-block;
	line-height: 1.5em;
	padding: 0 5px;
	margin: 0 2px;
	color: #fff;
	font-size: 10px;
	background-size: 100% 100%;
	display: none;
}

div.prefcodeWrapper {
	position: relative;
}

div.prefcodeResult {
	position: absolute;
	top: 0;
	left: 0;
	padding: 5px;
	border: solid 1px #ccc;
	background-color: #fff;
	box-shadow: 0 0 5px #ccc;
	display: none;
}

div.prefcodeResult div {
	cursor: pointer;
}

div.prefcodeResult div:hover {
	background-color: #c9ebfb;
}

div.prefcodeResult div.prefcodeNext {
	background-color: #eee;
	text-align: center;
}

div.prefLoading {
	padding: 60px 75pt;
}

.hidefield {
	height: 0;
	overflow: hidden;
}

.showfield {
	height: auto;
	overflow: visible;
}

div.mfp_attached_thumbnails {
	display: none;
	padding: 5px;
	margin: 5px auto;
	border: solid 1px #ccc;
	border-radius: 3px;
	box-shadow: 0 0 5px #ccc inset;
	background: #eee;
}

div.mfp_attached_thumbnails ul {
	margin: 0;
	padding: 0;
}

form#mailformpro dl dd div.mfp_attached_thumbnails ul li {
	display: inline-block;
	vertical-align: top;
	padding: 0;
	border: solid 4px #fff;
	margin: 5px;
	box-shadow: 0 2px 5px #999;
}

form#mailformpro dl dd div.mfp_attached_thumbnails ul li a {
	display: block;
	max-height: 75pt;
	overflow: hidden;
}

div.mfp_attached_thumbnails ul li a img {
	display: block;
	max-width: 5pc;
}

button.mfp_attached_reset {
	font-size: 14px;
}

div#mfp_OperationCheck div#mfp_OperationCheck_inner {
	display: none;
}

div#mfp_OperationCheck strong {
	background: #090;
	display: block;
	color: #222;
	text-align: center;
	border-radius: 3px;
}

div#mfp_OperationCheck * {
	padding: 0;
	margin: 0;
	font-size: 9pt;
}

div#mfp_OperationCheck p {
	padding: 0 5px;
	margin: 0;
	font-size: 9pt;
}

div#mfp_OperationCheck p a {
	color: #0c0;
	text-decoration: none;
}

div#mfp_OperationCheck p a:hover, div#mfp_OperationCheck p button:hover {
	text-decoration: underline;
}

div#mfp_OperationCheck p button {
	border: 0 0;
	background: 0 0;
	color: #0c0;
	cursor: pointer;
}

div#mfp_OperationCheck ul li, div#mfp_OperationCheck ul li label, div#mfp_OperationCheck ul li label input {
	line-height: 9pt;
	font-size: 9pt;
	list-style: none;
	vertical-align: middle;
}

div#mfp_OperationCheck ul li {
	padding: 5px 10px;
}

div#mfp_OperationCheck ul li label {
	text-decoration: underline;
}

/* 
button#mfp_recorder_clear, button#mfp_recorder_record, button#mfp_recorder_restore {
	border-radius: 5px;
	padding: 5px 10px 5px 2em;
	border: solid 1px #ccc;
	background: gradient(linear, center top, center bottom, from(#EEE), to(#CCC));
	background: -webkit-gradient(linear, center top, center bottom, from(#EEE), to(#CCC));
	background: -moz-linear-gradient(top, #eee, #ccc);
	background: -ms-linear-gradient(top, #eee 0%, #ccc 100%);
	font-size: 1pc;
	cursor: pointer;
	outline: 0;
	display: inline-block;
	margin: 5px auto
}
*/

button#mfp_recorder_clear, button#mfp_recorder_record, button#mfp_recorder_restore, button.enabled#mfp_recorder_clear, button.enabled#mfp_recorder_record, button.enabled#mfp_recorder_restore {
	background-size: 24px 24px;
}

div#mfp_recorder_wrap {
	border: solid 1px #ccc;
	padding: 10px;
	text-align: center;
	margin: 5px auto;
}

td.request_image {
	width: 75pt;
}

td.request_image img {
	max-width: 75pt;
}

span.mfp_tips {
	background-size: 100% 100%;
	background-color: #fcc;
	display: block;
	border-radius: 5px;
	padding: 10px;
	margin: 2px;
	box-shadow: 0 2px 10px #999
}

span.mfp_tips strong {
	color: #800040;
}

span.mfp_tips span {
	display: block;
	padding: 10px;
	color: teal;
}

span.mfp_tips em {
	font-style: normal;
	color: #090;
	font-weight: 700;
}

@media screen and (max-width:800px) {
	form#mailformpro dl dt {
		float: none;
		width: auto;
		font-size: 1rem;
		padding: 1.2em 2% 0;
		text-align: left;
	}

	form#mailformpro dl dd {
		clear: both;
		border-top: 0 0;
		padding: .8em .8em 1.8em;
		font-size: 1rem;
		line-height: 1.6;
		position: relative;
	}

	div.mfp_buttons button {
		font-size: 14px;
		padding: 20px 40px;
		color: #fff;
		border: none;
		background-color: #3cb371;
	}

}





.pc_area {
	display: block;
}

.sp_area {
	display: none;
}

@media (max-width: 767px) {
	.pc_area {
		display: none;
	}

	.sp_area {
		display: block;
	}

	.pc {
		display: none !important;
	}

	#contact .description {
		margin: 0;
		padding: 0.8em;
	}

	.content_w {
		width: 100%;

	}

	.six-col {
		width: 100%;
	}

	form#mailformpro dl dd .six-col {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}

	form#mailformpro dl dd ol.six-col li {
		width: 48%;
	}

	form#mailformpro dl dd ol.six-col li:nth-child(-n + 2) {
		margin: 0;
	}

	form#mailformpro dl dd ol.six-col li.others {
		width: 100%;
	}

	form#mailformpro label {
		line-height: 1.5;
		padding: 0.5em;
		margin-bottom: 0.7em;
		border-radius: 3px;
		display: inline-block;
		white-space: wrap;
		background: #D7D7D7;
		width: 100%;
		box-sizing: border-box;
		position: relative;
	}
}



/******************************************************************** thanks
*/


.sp-inner {
	width: 90%;
	padding: 0 0.8rem;
}

#thanks .content_w {
	min-height: 70vh;
	text-align: center;
	margin: 150px auto 0;
}

#thanks .content_w h2 {
	background: #eb8424;
	color: #fff;
	text-align: center;
	font-size: 1rem;
	padding: 16px 0;
	margin: 40px auto;
}

#thanks .content_w h3 {
	font-size: 1.3rem;
	margin: 40px 0 24px;
}

#thanks .content_w .txt {
	margin: 0 0 24px;
	font-size: 0.85rem;
}


form .formbottom {
	text-align: center;
}

form .green-button {
	display: inline-block;
	vertical-align: middle;
	max-width: 300px;
	margin: 0 10px;
	padding: 1rem;
	color: #36aab5;
	font-weight: bold;
	letter-spacing: 0.5pt;
	text-decoration: none;
	background-color: #ffffff;
	border: 1px solid #36aab5;
	cursor: pointer;
	transition-duration: 0.3s;
	-webkit-transition-duration: 0.3s;
	-moz-transition-duration: 0.3s;
	-o-transition-duration: 0.3s;
	-ms-transition-duration: 0.3s;
}

form .green-button:hover {
	color: #ffffff;
	background-color: #36aab5;
}