@charset "UTF-8";


/* フォームデザイン */
/*label {
	width: 150px;
	font-size: 14px;
	font-weight: bold;
}*/
#linebox label {
	font-weight: normal;
}
input.contact-text {
	width: 400px;
	border: 1px #DDDDDD solid;
	margin: 0px;
	padding: 10px;
	background: #FFFFFF;
	font-size: 14px;
	/* CSS3 */
	border-radius:4px;
	-webkit-border-radius:4px;
	-moz-border-radius:4px;
	-webkit-box-shadow: 0 0 6px #EDEDED inset;
	-moz-box-shadow: 0 0 6px #EDEDED inset;
	box-shadow: 0 0 6px #EDEDED inset;
	-webkit-transition: background 1s ease;
	-moz-transition: background 1s ease;
	transition: background 1s ease;
}
textarea {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	height: 200px;
	border: 0px #DDDDDD solid;
	margin: 0px;
	padding-top: 10px;
	padding-left: 10px;
	padding-bottom: 10px;
	background: #EDEDED;
	font-size: 14px;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-webkit-transition: background 1s ease;
	-moz-transition: background 1s ease;
	transition: background 1s ease;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding-right: 10px;
}
@media screen and (max-width: 834px) {
textarea {
	width: 100%;
	margin: 0px;
	padding-top: 10px;
	padding-left: 10px;
	padding-bottom: 10px;
}
}
input.submit,input.submit-plan,input.submit-choice,input.submit-client,button.submit-client,input.submit-end {
	clear: both;
	border: none;
	font-size: 125%;
	font-weight: bold;
	color: #FFFFFF;
	letter-spacing: 0.1em;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	background-color: #DE0427;
	margin-top: 10px;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	width: 70%;
	padding-top: 20px;
	padding-right: 10px;
	padding-bottom: 20px;
	padding-left: 10px;
}
input.submit:hover,input.submit-plan:hover,input.submit-choice:hover,input.submit-client:hover,button.submit-client:hover,input.submit-end:hover {
	cursor: pointer;
	background-color: #CC0000;
}
input[type="submit"][disabled]{
	background-color: #C7C7C7;
	cursor: not-allowed; /* 禁止カーソル */
}
label, input[type='checkbox'] {
    cursor: pointer;
}

/*自動入力ボタン*/
input.autoinput {
	clear: both;
	border: none;
	color: #FFFFFF;
	letter-spacing: 0.1em;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	-webkit-transition: background 1s ease, box-shadow 1s ease;
	-moz-transition: background 1s ease, box-shadow 1s ease;
	transition: background 1s ease, box-shadow 1s ease;
	background-color: #009933;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	/*width: 10%;*/
	padding-top: 5px;
	padding-right: 10px;
	padding-bottom: 5px;
	padding-left: 10px;
	margin-top: 0px;
}
input.autoinput:hover {
	cursor: pointer;
	background-color: #077A07;
}

/*iPhone用*/
input[type="submit"] {
  -webkit-appearance: none;
}
input[type="reset"] {
  -webkit-appearance: none;
}
input[type="button"] {
  -webkit-appearance: none;
}


@media screen and (max-width: 834px) {
input.submit,input.submit-plan,input.submit-choice,input.submit-client,button.submit-client,input.submit-end {
	clear: both;
	border: none;
	font-size: 16px;
	font-weight: bold;
	color: #FFFFFF;
	letter-spacing:0.1em;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	-webkit-transition: background 1s ease, box-shadow 1s ease;
	-moz-transition: background 1s ease, box-shadow 1s ease;
	transition: background 1s ease, box-shadow 1s ease;
	background-color: #DE0427;
	margin-top: 10px;
	margin-right: auto;
	margin-bottom: 0;
	margin-left: auto;
	width: 100%;
	padding-top: 15px;
	padding-right: 10px;
	padding-bottom: 15px;
	padding-left: 10px;
}
input.submit:hover,input.submit-plan:hover,input.submit-choice:hover,input.submit-client:hover,button.submit-client:hover,input.submit-end:hover {
	-webkit-box-shadow: 0 0 10px #A5B596;
	-moz-box-shadow: 0 0 10px #A5B596;
	box-shadow: 0 0 10px #A5B596;
	cursor: pointer;
	background-color: #CC0000;
	padding-left: 10px;
	padding-right: 10px;
}
input,
textarea,
select {
	font-size: 16px !important;
	/*-webkit-appearance: none !important;*/
}
}


/*フォームスタイル　プルダウンメニュー*/
.inverse{
  background: #000;
  padding: 20px 0;
  color: #fff;
}
.select-wrap {
	position: relative;
	max-width: 300px;
}
.select-wrap::before {
	position   : absolute;
	content    : "";
	width: 12px;
	height: 10px;
	background-color: #666666;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	right: 15px;
	z-index: 1;
top: 20px;
}
select{
	outline: none;
	-moz-appearance: none;
	text-indent: 0.01px;
	text-overflow: '';
	background: none transparent;
	vertical-align: middle;
	font-size: inherit;
	color: inherit;
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	height: 50px;
	padding: 8px 12px;
	border: 1px solid #ddd;
	width: 100%;
	border-radius: 3px;
}
select option{
  background-color: #fff;
  color: #333;
}
select::-ms-expand {
  display: none;
}
select:-moz-focusring { 
  color: transparent; 
  text-shadow: 0 0 0 #828c9a;
}
.select-wrap.select-primary:before{
  color:#fff;
}
.select-wrap.select-primary > select{
  background:#0084B4;
  color:#fff;
  border-color:#0084B4;
}
.select-wrap.select-primary > select:-moz-focusring { 
  color: transparent; 
  text-shadow: 0 0 0 #fff;
}

.select-wrap.select-inverse:before{
  color:#fff;
}
.select-wrap.select-inverse > select{
  color:#fff;
  border-color: #fff;
}

.select-wrap.select-inverse > select:-moz-focusring { 
  color: transparent; 
  text-shadow: 0 0 0 #fff;
}


/*placeholder文字色変更*/
/* Chrome, Safari */
input::-webkit-input-placeholder{
    color: #CCCCCC;
}
/* Firefox */
input::-moz-placeholder{
    color: #CCCCCC;
}
/* Firefox 18以前 */
input:-moz-placeholder{
    color: #CCCCCC;
}
/* IE */
input:-ms-input-placeholder{
    color: #CCCCCC;
}

::placeholder{
    color: #CCCCCC;
}

input#booking-option-houseorshop{
    display: none;
}










/* ---------------------------------------------------------------- *
お問い合わせフォームの設定
* ---------------------------------------------------------------- */

.contact_form {
/*_zoom: 1;
overflow: hidden;*/
padding: 0px;
margin-top: 40px;
margin-bottom: 0px;
margin-right: 0px;
margin-left: 0px;
}
@media screen and (max-width: 767px) {
.contact_form {
width: 100%;
margin-top: 20px;
margin-bottom: 0px;
}
}

#linebox {
padding-top: 10px;
padding-bottom: 10px;
margin-top: 0px;
background-repeat: repeat-x;
background-position: left bottom;
margin-bottom: 0px;
}
#linebox.l_last {
border-bottom: none;
}

#linebox dt {
float: left;
width: 25%;
padding-right: 40px;
margin-right: 5%;
position: relative;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
color: #292929;
}
#linebox dd {
float: left;
width: 70%;
padding-right: 0px;
margin-right: 0px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
#linebox dt span{
padding-left: 7px;
padding-right: 7px;
padding-top: 0px;
padding-bottom: 0px;
color: #FFFFFF;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
border-radius: 0px;
font-size: 10px;
position: absolute;
right: 0px;
margin: 0;
height: 20px;
line-height: 2em;
top: 10px;
}
#linebox dt span.required{
background-color: #009ED9;
/*display: none;*/
}
#linebox dd p{
display: block !important;
}
#linebox dl:after {
height: 0;
visibility: hidden;
content: ".";
display: block;
clear: both;
}
#linebox p.bklink a {
	text-decoration: underline;
}
@media screen and (max-width: 767px) {
#linebox dt span{
top: 5px;
}
}

/*認証チェックボックス　スパムブロック*/
p.b_accept {
padding-top: 15px;
padding-bottom: 15px;
padding-left: 20px;
padding-right: 20px;
background-color: #F0F0F0;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
border-radius: 0px;
}
p.b_accept span.kakunin {
font-weight: bold;
border: 3px solid #D0021B;
padding-top: 5px;
padding-bottom: 5px;
padding-right: 10px;
-moz-border-radius: 0px;
-webkit-border-radius: 0px;
border-radius: 0px;
}
@media screen and (max-width: 767px) {
#linebox dt,#linebox dd {
float: none;
width: 100%;
padding-right: 0px;
margin-right: 0px;
}
#linebox dd {
margin-left: 0px;
margin-right: 0px;
}
.contact_form h2 img {
width: 100%;
height: auto;
margin-left: auto;
margin-right: auto;
display: block;
}
.contact_form p img {
width: 80%;
height: auto;
margin-left: auto;
margin-right: auto;
display: block;
}
}


/*お問い合せ詳細*/
#formbtn{
text-align: center;
margin: 0px;
padding-top: 10px;
}
#formbtn table{
text-align: center;
margin: 0px;
padding: 0px;
}
.w100 {
width: 100px;
margin: 0px;
padding: 0px;
}
.w200 {
width: 200px;
margin: 0px;
padding: 0px;
}
.w480 {
width: 460px;
margin: 0px;
padding: 0px;
}
span.red {
color: #F00 !important;
}



/*プラグインContact Form 7のエラーメッセージ*/
.wpcf7-not-valid-tip {
	position: static !important;
	left: 0px !important;
	top: -8px !important;
	color: #F00 !important;
	font-size: 14px !important;
	margin: 0px !important;
	border-top-style: none !important;
	border-right-style: none !important;
	border-bottom-style: none !important;
	border-left-style: none !important;
	z-index: 1000 !important;
	padding: 10px !important;
	background-color: #FFF;
	/*width: 180px !important;*/
	text-align: left !important;
	display: block;
}
.wpcf7-validation-errors {
width: 100% !important;
padding: 2% !important;
margin-left: 0px !important;
text-align: center;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}

/* テキストフォームの設定 */
.wpcf7-text,.wpcf7-number{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 15px;
border: 1px solid rgba(153,153,153,0.60);
background-color: #FFFFFF;
margin: 0;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
font-size: 16px !important;
}
.length-ws{
	width: 145px;
   }
.length-s{
width: 120px;
}
.length-sm{
width: 200px;
}
.length-m{
width: 300px;
}
.length-l{
width: 100%;
}
/* テキストフォームのフォーカス時の設定 */
.wpcf7-text:focus{
background-color: #FFF;
}

/* テキストエリアの設定 */
.wpcf7-textarea{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
padding: 15px;
border: 1px solid rgba(153,153,153,0.60);
background-color: #FFFFFF;
margin: 0;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
width: 100%;
font-size: 16px !important;
}

/* テキストエリアのフォーカス時の設定 */
.wpcf7-textarea:focus{
background-color: #FFF;
}

.clearfix:after{
content:".";
display:block;
height:0;
clear:both;
visibility:hidden;
}

.clearfix{
overflow:hidden;
}

/*ラジオボタン・チェックボックスの改行*/
/*.list_length span.wpcf7-list-item { display: block; }*/
.c_item span.wpcf7-list-item {
/*display: block;*/
}

@media screen and (max-width: 767px) {
.wpcf7-text{
width: 100%;
}
 .length-ws{
	width: 45%;
   }
.length-s{
width: 50%;
}
.length-m{
width: 100%;
}
.length-l{
width: 100%;
}
.wpcf7-text .wpcf7-form-control {
padding: 0px;
width: 100% ;
height: auto;
}

.wpcf7-textarea{
width: 100% ;
}
}



/* フォームデザイン */
#linebox label {
font-weight: normal;
cursor: pointer;
}
input:hover,
textarea:hover {
background: #ededed;
}

input.submit{
clear: both;
border: none;
font-size: 18px;
color: #FFFFFF;
background-color: #009ED9;
margin-top: 10px;
margin-right: auto;
margin-bottom: 0;
margin-left: auto;
width: 100%;
padding-top: 20px;
padding-bottom: 20px;
padding-right: 10px;
padding-left: 10px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
transition: all 0.3s;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
}
input.submit:hover {
cursor: pointer;
background-color: #222222;
}

/*iPhone用*/
input[type="submit"] {
-webkit-appearance: none;
}
input[type="reset"] {
-webkit-appearance: none;
}
input[type="button"] {
-webkit-appearance: none;
}

textarea {
height: 250px;
}
@media screen and (max-width: 767px) {
textarea {
width: 100%;
height: 200px;
border: 1px #DDDDDD solid;
margin: 0px;
padding: 10px;
background: #FFFFFF;
-webkit-transition: background 1s ease;
-moz-transition: background 1s ease;
transition: background 1s ease;
}
input.submit {
font-size: 18px;
width: 100%;
padding-top: 20px;
padding-bottom: 20px;
}
input,
textarea,
select {
}
}


/*ファイルボタンカスタマイズ*/
/*input[type="file"] {
display: none;
}*/
input[type="file"] {
/*font-size: 14px;*/
}
label.file-button {
padding: 10px 40px;
/*color: #ffffff;*/
background-color: #E1E1E1;
cursor: pointer;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
margin-bottom: 7px;
display: block;
text-align: center;
}
label.file-button span {
}
@media screen and (max-width: 767px) {
label.file-button {
width: 100%;
}
}


span.wpcf7-list-item {
display: block;
margin-top: 5px;
}
label {
position: relative;
padding-left: 10px;
padding-top: 3px;
}

/*  CHECKBOX */
label span {
margin-left: 20px;
margin-right: 20px;
/*display: inline-block;*/
}
label input[type="checkbox"] {
position: absolute;
top: 0;
left: 0;
opacity: 0;
}
label input[type="checkbox"] + span::before, label input[type="checkbox"] + span::after {
position: absolute;
top: 0;
left: 0;
display: inline-block;
content: '';
box-sizing: border-box;
}
label input[type="checkbox"] + span::before {
z-index: 0;
background-color: #FFFFFF;
width: 22px;
height: 22px;
border: 2px #2F8CD4 solid;
border-radius: 0px;
/*position: absolute;*/
}
label input[type="checkbox"] + span::after {
z-index: 1;
margin: 5px 8px;
width: 6px;
height: 9px;
/*position: absolute;*/
}
label input[type="checkbox"]:checked + span::before {
background-color: #2F8CD4;
}
label input[type="checkbox"]:checked + span::after {
border: 2px solid #fff;
border-width: 0 2px 2px 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
z-index: 2;
}

@media screen and (max-width: 767px) {
span.wpcf7-list-item {
margin-left: 10px;
margin-top: 5px;
}
}

/* RADIO BUTTON */
label input[type="radio"] {
position: absolute;
top: 0;
left: 0;
opacity: 0;
}
label input[type="radio"] + span::before {
position: absolute;
/*display: inline-block;*/
content: '';
box-sizing: border-box;
border-radius: 20px;
}
label input[type="radio"] + span::before {
z-index: 0;
top: 0;
left: 0;
background-color: #FFFFFF;
width: 20px;
height: 20px;
border: 2px #2F8CD4 solid;
}
label input[type="radio"]:checked + span::before {
border-width: 7px;
}




/*  CHECKBOX */
label span {
	margin-left: 20px;
	margin-right: 20px;
	/*display: inline-block;*/
}
label input[type="checkbox"] {
position: absolute;
top: 0;
left: 0;
opacity: 0;
}
label input[type="checkbox"] + span::before, label input[type="checkbox"] + span::after {
position: absolute;
top: 0;
left: 0;
display: inline-block;
content: '';
box-sizing: border-box;
}
label input[type="checkbox"] + span::before {
z-index: 0;
background-color: #FFFFFF;
width: 22px;
height: 22px;
border: 2px #2F8CD4 solid;
border-radius: 0px;
/*position: absolute;*/
}
label input[type="checkbox"] + span::after {
z-index: 1;
margin: 5px 8px;
width: 6px;
height: 9px;
/*position: absolute;*/
}
label input[type="checkbox"]:checked + span::before {
background-color: #2F8CD4;
}
label input[type="checkbox"]:checked + span::after {
border: 2px solid #fff;
border-width: 0 2px 2px 0;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
z-index: 2;
}



/*チェックボックス並び*/
.grid_type .wpcf7-checkbox {
display: grid;
gap: 20px 0px;
grid-template-columns: 1fr 1fr 1fr;
}
@media screen and (max-width: 767px) {
.grid_type .wpcf7-checkbox {
gap: 10px 0p;
grid-template-columns: 1fr 1fr;
font-size: 3.3vw!important;
}
}


.flex_type .wpcf7-radio {
display: flex;
flex-wrap:wrap;
}
.flex_type .wpcf7-checkbox {
display: flex;
flex-wrap:wrap;
}

