@charset "utf-8";

.sp_only {
	display: none;
}

/*.box_form{ border:#EEE solid 10px;}*/
.box_form{}

/*フォームテーブル*/
.box_form table{
	border-collapse:collapse;
	margin-bottom:20px;
	width: 100%;
}



.box_form table td{
	border-width:1px 1px 1px 1px !important;
	text-align: left;
	padding: 10px;
	}
	
/*table in table*/
.box_form table table{ margin:0;}
.box_form table table th,
.box_form table table td{
	vertical-align:middle;
	padding:0 5px 3px 5px;
	border:0;
	}
.box_form table table th{ text-align:center; vertical-align:middle;}	

.td_color input{
	margin-bottom:10px;
	
	}

.box_form table .sub_tbl th{
	background-color:#FFF;
	}




/*エラー*/	
.box_form .err_txt{ font-size:11px; color:#FF0000;}

/*
input関連*/
label:hover{ cursor:pointer;}
input[type="radio"]{cursor:pointer;}

.box_form input[type="text"],
.box_form select,
.box_form textarea{
	border:0;
	padding:3px;
	font-size:1.0em;
	color:#333;
	border:solid 1px #AAA;
	margin:0 0 3px;
	width:300px;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color:#666;
	
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	
	-moz-box-shadow: inset 1px 4px 9px -6px rgba(0,0,0,0.5);
	-webkit-box-shadow: inset 1px 4px 9px -6px rgba(0, 0, 0, 0.5);
	box-shadow: inset 1px 4px 9px -6px rgba(0,0,0,0.5);

	
	
}
.box_form textarea{
  width: 100%;
  height: 15em;
  
	}
.box_form select{width:80px;}

.box_form input:focus,
.box_form textarea:focus{
    /*border:solid 1px #EEA34A;
	padding:3px;
	color:#333;*/
}


.box_form .btn input:hover{
	filter:alpha(opacity=75);
	-moz-opacity:0.75;
	opacity:0.75;	
	}

	
.box_form input.sizeS{ width:100px;}


.box_form .sub_tbl table th,
.box_form .sub_tbl table td{
	border:0 !important;
	}
.bnr_waribiki{
margin-top:12px;
	}


.bnr_waribiki p{
	/*position:absolute;*/
	}
.bnr_waribiki a{
	display:block;
	line-height:104px;
	
	/*
	background-color:#F90;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #F90), color-stop(0.00, #F30));
	background: -webkit-linear-gradient(#F90, #F30);
	background: -moz-linear-gradient(#F90, #F30);
	background: -o-linear-gradient(#F90, #F30);
	background: -ms-linear-gradient(#F90, #F30);
	background: linear-gradient(#F90, #F30);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F90', endColorstr='#F30', GradientType=0);
	*/
	
	background:url(../img/bg_btn_waribiki.png) no-repeat;
	color:#FFF;
	font-weight:bold;
	text-align:center;
	text-decoration:none;
	
}
.bnr_waribiki a:hover{
	

	filter:alpha(opacity=75);
	-moz-opacity:0.75;
	opacity:0.75;	
	
	
	}
.bnr_waribiki .line1{ font-size:26px;}
.bnr_waribiki .line2a{ font-family:"Arial Black", Gadget, sans-serif;  font-size:40px;}
.bnr_waribiki .line2b{ font-size:26px;}



.bnr_waribiki_ver2 a{
	
	
	
	font-family:"Arial Black", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	
	
	margin-bottom:5px;
	/*font-size:28px;*/
	color: #FFF;
	line-height:1.6em;
	text-align:center;
	
	display:block;
	padding:30px 1%;
	width:98%;
		
	font-weight:bold;	

	
	background: #fe59af;
	background: -moz-linear-gradient(top,  #fe59af 0%, #e21b6b 100%);
	background: -webkit-linear-gradient(top,  #fe59af 0%,#e21b6b 100%);
	background: linear-gradient(to bottom,  #fe59af 0%,#e21b6b 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fe59af', endColorstr='#e21b6b',GradientType=0 );
	
	}

	
.bnr_waribiki_ver2 a:hover{
	text-decoration:none;
	filter:alpha(opacity=75);
	-moz-opacity:0.75;
	opacity:0.75;		
}

.bnr_waribiki_ver2 a p{}



/*　お問い合わせBOX　予約専用設定
-----------------------------------------------------------------------------------------------------------------------------------------*/

#contact .tel_box{	}
#contact .tel_box h5{
	font-size:18px;
	}
#contact .tel_box p{}	

#contact .tel_box .tel_info .left{
	}
#contact .tel_box .tel_info .left .tel_no{
	}
#contact .tel_box .tel_info .left p.tel_no_sub{
	}	
#contact .tel_box .tel_info .right{
	}
#contact .tel_box .tel_info .right p.muryo{
}


#contact .tel_box .tenpo2 .tel_info .left .tel_no span{	}




.box_form h4 {
	color: #14449D;
    font-weight: bold;
    text-align: center;
    padding: 20px;
}

.option_contact_box {
	font-size: 18px;
}

.option_contact_box.vertical {
  flex-direction: column;
}

.option_contact_box label {
  display: flex;
  position: relative;
  padding: 14px 0;
  border-bottom: 1px solid #c7c3c3;
}

.option_contact_box p {
	font-size:12px;
	margin-bottom:10px;
}

.under_h_txt {
	font-size:14px;
	margin:-6px 0 10px 28px;
}

/*表示・非表示*/
.sp_only{ display:none !important;}

@media only screen and (max-width:768px){

	/*表示・非表示*/
	.sp_none{ display:none !important;}
	.sp_only{ display:block !important;}

	.cbxbtn {
		font-size: 14px;
		background-position:6px;
	}

	.under_h_txt {
		font-size:12px;
		margin:-6px 0 10px 12px;
	}

}



/* ============ FORM ============ */

#contact .mock-frame {
	max-width: 920px;
  margin: auto;
}

.form-mock{padding:0}
.form-mock .fm-header{color:#fff;padding:20px 24px;text-align:center}
.form-mock .fm-header h2{font-size:18px}
.form-mock .fm-header p{font-size:16px;opacity:0.8;margin-top:4px}
.form-mock .fm-tabs{display:flex}
.form-mock .fm-tab {flex:1;text-align:center;font-size:19px;font-weight:bold;cursor:pointer;border:none}
.form-mock .fm-tab a {width: 100%;display: block;padding: 12px 8px;}
.form-mock .fm-body{padding:20px 24px}
.form-mock .fm-group{margin-bottom:20px}
.form-mock h5{font-size:19px;font-weight:bold;margin-bottom:10px;padding-left:10px;display:flex;align-items:center;gap:6px}
.form-mock h5 .dot{width:8px;height:8px;border-radius:50%}
.form-mock .box_form table tr{display:grid;grid-template-columns:220px 1fr;border:1px solid #eee;font-size:12px}
.form-mock .box_form .tbl_comment tr{display:block;gap:10px;border:1px solid #eee;font-size:12px}
.form-mock .box_form .tbl_comment td {width: 900px;}
.form-mock .box_form table th {padding:10px 12px;font-weight:bold;display:flex;align-items:center;gap:6px;flex-wrap:wrap}

/* フルサイズ用(質問)*/
.form-mock .box_form table tr.full td{
  grid-column:1 / -1;
}

.form-mock .req{font-size:9px;color:#fff;padding:1px 6px;border-radius:2px}
.form-mock .box_form table th .opt{font-size:9px;color:#fff;padding:1px 6px;border-radius:2px;background:#999}
.form-mock .fm-row .fm-field{padding:10px 12px;color:#555}
.form-mock .fm-field input[type="text"]{width:100%;padding:8px 10px;border:1px solid #ccc;border-radius:4px;font-size:12px}
.form-mock .fm-submit{display:block;width:40%;margin:20px auto;padding:16px;border:none;color:#fff;font-size:16px;font-weight:bold;border-radius:6px;cursor:pointer;text-align:center}
.form-mock .fm-note{text-align:center;font-size:11px;color:#888;padding:0 24px 20px}
.form-mock form {padding:0 20px 30px 20px;}

/* course selector */
.fm-course{margin-bottom:20px}
.fm-course-title{font-size:12px;font-weight:bold;margin-bottom:8px;color:#555}
.fm-course-list{display:flex;flex-direction:column;gap:0}
.fm-course-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #ddd;border-top:none;font-size:12px;color:#333;cursor:pointer}
.fm-course-item:first-child{border-top:1px solid #ddd;border-radius:4px 4px 0 0}
.fm-course-item:last-child{border-radius:0 0 4px 4px}
.fm-course-item .radio{width:16px;height:16px;border:2px solid #ccc;border-radius:50%;flex-shrink:0}
.fm-course-item.popular{font-weight:bold}
.fm-course-item .pop-badge{font-size:9px;padding:1px 6px;border-radius:2px;color:#fff;margin-left:4px}
.fm-option-title{font-size:11px;color:#888;margin:12px 0 6px}
.fm-option-list{display:flex;flex-direction:column;gap:0}
.fm-option-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #ddd;border-top:none;font-size:11px;color:#333;cursor:pointer}
.fm-option-item:first-child{border-top:1px solid #ddd;border-radius:4px 4px 0 0}
.fm-option-item:last-child{border-radius:0 0 4px 4px}
.fm-option-item .check{width:14px;height:14px;border:2px solid #ccc;border-radius:2px;flex-shrink:0}

.fm-d .fm-header{background:#14449D}
.fm-d .fm-tabs li {list-style-type: none;}
.fm-d .fm-tab a{background:#f0f0f0;color:#555;height: 100%;display: flex;align-items: center;justify-content: center;}
.fm-d .fm-tab a:hover {opacity: 70%;}
.fm-d .fm-tab.active{background:#2c2420;}
.fm-d .fm-tab.active a {color:#fff!important;background:#2c2420;}
.fm-d h5{color:#2c2420;border-left:3px solid #14449D}
.fm-d .fm-group-title .dot{background:#14449D}
.fm-d .box_form table th{background:#faf8f6;color:#2c2420;font-size:17px}
.fm-d .req{background:#c43e3e}
.fm-d .fm-submit{background:#c43e3e}
.fm-d .fm-course-item .radio{border-color:#14449D}
.fm-d .pop-badge{background:#14449D}
.fm-d .fm-option-item .check{border-color:#14449D}

.fm-d .radio-group div {
	margin-right: 10px;
	height: auto;
}

.fm-d .radio-group label {
	background: none;
	border:none;
	display: inline;
	padding:0 10px 0 0;
	font-size: 16px;
}

.fm-d .radio-group input {
	position: static;
}

.tab_content .hide{display:none;}


@media only screen and (max-width:768px){

  .box_form table th,
  .box_form table td{
    display: block;
    width: 100% !important
  }
  

	.box_form table table,
	.box_form table table th,
	.box_form table table td{ width: 100% !important;}

		.form-mock .box_form table tr {
			display: block;
		}

		.box_form .btn input {
			width: 100%;
			font-size: 16px!important;
		}

}






/* オプションパーツ微調整 2026-07-10　*/

.option_contact_box {
}


.option_contact_box input[type="checkbox"]{
  width: 20px;
  height: 20px;
  margin-left: 0.5em;
  margin-right: 0.5em;
}



/* ------------------------------------------------------------
   セレクトボックスデザイン修正版
 ------------------------------------------------------------ */

.box_form select.select_box_v2{
	width: auto;
	padding:0.5em 1.5em 0.5em 0.5em;
	font-size: 18px;
}

@media only screen and (max-width:768px){

	.box_form select.select_box_v2{
		max-width: 100%;
		font-size: 13px;
		padding:0.5em 0.5em 0.5em 0.2em;
	}

}



/* 希望オプションのチェックボックスをセレクトボックス化（PC/SP） */
.box_form .multi-selectbox {
    position: relative;
    width: 100%;
    /* max-width: 100%; */
}

.box_form .multi-select-display {
    border: 1px solid #ccc;
    padding: 10px;
    background: #fff;
    cursor: pointer;
    position: relative;
	margin: 0;
}

/* 選択済みアイテム */
.box_form .selected-item {
    display: block; 
    line-height: 1.4em;
	border-bottom: 1px solid #EEE;
	padding: 0.2em;
	padding-left: 1.4em;/* ☑ の余白分 */
    position: relative;
	font-size: 15px;
}
.box_form .selected-item::before {
    content: "☑";
    position: absolute;
    left: 0;
    top: 0.2em;
}

.box_form .multi-select-display::after {
    content: "▼";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 10px;
}

.box_form .multi-select-dropdown {
    display: none;
    position: absolute;
    top: 0; 
    left: 0;
    width: 100%;
    border: 1px solid #ccc;
    background: #fff;
    z-index: 2; /* ← display より上 */
    max-height: 260px;
    overflow-y: auto;
}

.box_form .option-item {
    display: block;
    padding: 8px 10px;
}

.box_form .option-item input {
    margin-right: 6px;
}

.box_form .note {
    padding: 8px 10px;
    font-size: 12px;
    border-bottom: 1px solid #eee;
}

@media only screen and (max-width:768px){

	.box_form .multi-select-display {
		max-width: 320px;
	}

	.box_form .multi-select-dropdown {
		max-width: 320px;
	}

	.box_form .selected-item {
		font-size: 13px;
	}

}


 /* 色選択のラジオをセレクトボックス化（スマホのみ） */

 @media only screen and (min-width:769px){
	/* PCのみ */
	.box_form .color-selectbox {
		width: 90%;
		margin:0 2%;
	}
	.box_form .color-select-display {
		display: none;
	}
	.box_form .color-text {
		margin-right: 0.5em;
	}


 }
 @media only screen and (max-width:768px){
		
  .box_form select.select_box_v2{
    width: 100%;
  }
   
	.box_form .color-selectbox {
		position: relative;
		width: 300px;
		max-width: 100%;
		font-size: 13px;
		margin:0;
	}

	.box_form .color-select-display {
		display: block;
		border: 1px solid #999;
		padding: 10px;
		cursor: pointer;
		background: #fff;
		position: relative;
		border-radius: 5px;
	}

	.box_form .color-select-display::after {
		content: "▼";
		position: absolute;
		right: 10px;
		top: 50%;
		transform: translateY(-50%);
		font-size: 10px;
	}

	.box_form .color-select-dropdown {
		display: none;
		position: absolute;
		width: 100%;
		border: 1px solid #ccc;
		background: #fff;
		z-index: 10;
		max-height: 200px;
		overflow-y: auto;
	}

	.box_form .color-item {
		display: block;
		padding: 8px 10px;
		cursor: pointer;
	}

	.box_form .color-item:hover {
		background: #f5f5f5;
	}

	.box_form .color-item input {
		display: none;
	}

	.box_form .color-text {
		
	}

	.box_form .other-input-wrap {
		padding: 8px 10px;
		border-top: 1px solid #eee;
	}

}

 /* 2026 フォームパーツ調整  */

/* 希望日を横並びにする（SP) */
@media only screen and (max-width:768px){
	
	/* カレンダー */
	.box_form input.kibou_day{
		width: 50% !important;
	}
	.box_form input.kibou_day::placeholder {
    	font-size: 11px;
	}
		/* 時間  */
	.box_form select.kibou_hour{
		width: auto;

	}


}


/* 	▲　2026 フォームパーツ調整　ここまで　*/
