@charset "utf-8";
/* CSS Document */

/*----------------------------------------------------------------------------------------------
 default style clear
----------------------------------------------------------------------------------------------*/
*{ margin:0; padding:0;}
html{ overflow-y:scroll; -webkit-text-size-adjust:none; font-size:62.5%;}
body, div, dl, dt, dd, ul, li, ol, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
	margin:0; padding:0; font-weight:normal; 
}
img, fieldset {	border:0;}
ol, ul {margin:0;}
li { list-style-position:outside; list-style:none;}
/*a, a:focus { outline:none; overflow:hidden;}
a {overflow: hidden;}*/

/* -----------------------------------------------------------------------------------------------------
 default
-----------------------------------------------------------------------------------------------------*/
html{}
body {
	width:100%;
	font-size: 1.4rem;
	color:#444;
	line-height:1.4;
	font-family: "Arial", "メイリオ";
	letter-spacing:0.03em;
	-webkit-text-size-adjust:100%;/* フォントサイズ自動調整 */
}
img { vertical-align:top; max-width:100%; width:auto;}

@media screen and (min-width: 641px) {
	body{ min-width: 1100px; }
}
@media screen and (max-width: 640px) {
	body {font-size: 1.4rem;}
}

/* -----------------------------------------------------------------------------------------------------
 link
-----------------------------------------------------------------------------------------------------*/
a{ color:inherit; text-decoration:none;}
a:hover { text-decoration:underline; color:inherit;}
a.reverse{ text-decoration:none; color:inherit;}
a.reverse:hover{ text-decoration:underline; color:inherit;}

@media screen and (max-width: 640px) {
	a:hover { text-decoration:none;}
}
/* -----------------------------------------------------------------------------------------------------
 table
-----------------------------------------------------------------------------------------------------*/
table{ width:100%; border-collapse: collapse;}
table th,table td{ vertical-align:middle; text-align:left;}
table tr th.error{ background:#ffe1e1!important;}
table tr td.error{ background:#ffe1e1!important;}

/*料金表*/
table.table_type01 th,table.table_type01 td{ border:1px solid #ddd; padding: 2.4rem; }
table.table_type01 th{ font-weight:bold; background:#f8f8f8; word-break:keep-all; }
table.table_type01 th .label{ margin-left:5px;}
table.table_type01 th .label:first-child{ margin-left:15px;}
.scroll-table {
  overflow: auto;
  white-space: nowrap;
}

/*会社案内*/
table.table_type02 th,table.table_type02 td{ padding: 1.6rem 1rem; }
table.table_type02 th{ font-weight:bold; border-bottom:1px solid #ddd; word-break:keep-all; }
table.table_type02 td{ border-bottom:1px solid #ddd; }
table.table_type02 th.ttl{ width:250px; }
table.table_type02 th .label{ margin-left:5px;}
table.table_type02 th .label:first-child{ margin-left:15px;}
	
/*その他*/
table.table_type03 th,table.table_type03 td{ border:1px solid #ddd; padding: 1.0rem 1.6rem; }
table.table_type03 th{ font-weight:bold; background:#f8f8f8;}
table.table_type03 th .label{ margin-left:5px;}
table.table_type03 th .label:first-child{ margin-left:15px;}


@media screen and (max-width: 640px) {
	table.table_type01 th,table.table_type01 td{ display:block;}

	table.table_type02 th,table.table_type02 td{ padding: 1.6rem 0.8rem; display: block; font-size:1.4rem;}
	table.table_type02 th{ border-bottom:none; font-size:1.6rem;}
	table.table_type02 td { border-bottom:1px solid #ddd; padding-top:0;}

	table.table_type03{ border:1px solid #ddd; }
	table.table_type03 th,table.table_type03 td{ display: block; border-left:0; border-right:0; box-sizing: border-box;}
	table.table_type03 th:first-of-type{ width:100%!important; border-bottom:0; border-top:0;}
	table.table_type03 td{ border-bottom:0; }

}


/* -----------------------------------------------------------------------------------------------------
 フォーム
-----------------------------------------------------------------------------------------------------*/
input, select, textarea { font-family : inherit; font-size : 100%; }
input[type="text"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="mail"],
input[type="url"],
textarea{ font-size:16px; border:1px solid #ddd; padding: 0.8rem; width:100%; box-sizing:border-box; -webkit-appearance: none; background:#fff}
input[type="text"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="mail"]:focus,
input[type="url"]:focus,
textarea:focus,
select:focus{ outline:none;}
button{ background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; appearance: none;}
input::placeholder{ color:#AAA; }

.form_desc{ font-size:12px; margin-top:5px; color:#777;}
.form_desc.top{ margin-top:0; margin-bottom:2px; color:#777;}
.error_message{ font-size:12px; color:#dd0000;}

.checkbox_type01{}
.checkbox_type01 li{ position:relative; display:inline-block;}
.checkbox_type01 li input{ vertical-align:middle; position:absolute; left:10px; top:13px;}
.checkbox_type01 li label{ display:block; padding: 5px 10px 0 30px; cursor:pointer;}
@media screen and (max-width: 640px) {
	.checkbox_type01 li{ border-bottom:solid 1px #ddd; border-left:solid 1px #ddd; border-right:solid 1px #ddd; position:relative; display:block;}
	.checkbox_type01 li:first-of-type{ border-top:solid 1px #ddd; border-top-left-radius:4px; border-top-right-radius:4px;}
	.checkbox_type01 li:last-of-type{ border-bottom-left-radius:4px; border-bottom-right-radius:4px;}
	.checkbox_type01 li input[type="radio"]:checked + label,
	.checkbox_type01 li input[type="checkbox"]:checked + label{ background:#fff8ed;}
	.checkbox_type01 li label{ padding: 8px 10px 10px 30px; }
}

.selectbox01 select{ -moz-appearance:none; -webkit-appearance:none; appearance:none; }
.selectbox01{ width: 100%; position: relative; display: inline-block;}
.selectbox01::after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-bottom: solid 2px #b4b3b3;
  border-right: solid 2px #b4b3b3;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -4px;
}
.selectbox01 .select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: 40px;
  background: transparent;
  position: relative;
  z-index: 1;
  padding: 0 40px 0 10px;
  border: 1px solid #ddd;
  border-radius: 2px;
}
select::-ms-expand { display: none;}

.form_kiyaku{ height:400px; border:1px solid #ddd; padding:20px; overflow-y:scroll; margin-bottom:20px;}
.form_kiyaku .ttl{ font-size:17px; font-weight:bold; margin-bottom:5px;}
.form_kiyaku .desc{ padding-left:30px; font-size:14px;}
.form_kiyaku .item{ margin-bottom:20px;}

/* input内 入力クリアボタン */
.ic_wrap{ height:32px;display:inline;}
.prev_input_clear{ margin-left:-27px; vertical-align: middle; cursor:pointer; color:#888;}
.prev_input_clear:hover{ color:#555;}

/* -----------------------------------------------------------------------------------------------------
 headline
-----------------------------------------------------------------------------------------------------*/
strong{font-weight:bold;}
hr{ border-bottom:1px solid #ddd; border-top:0; border-right:0; border-left:0; margin:10px 0 25px;}
hr.dot{ border-bottom:1px dotted #ccc;}

/*----------------------------------------------------------------------------------------------
 汎用クラス
----------------------------------------------------------------------------------------------*/
/* clear */
.clear { clear:both;}
.clearfix:after {
	content: ".";  /* 新しい要素を作る */
	display: block;  /* ブロックレベル要素に */
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix { min-height: 1px;}
* html .clearfix {
	height: 1px;/*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

.fl{ float:left;}
.fr{ float:right;}
.tl{ text-align:left;}
.tr{ text-align:right;}
.tc{ text-align:center;}
.bold{font-weight:bold!important;}

/*----------------------------------------------------------------------------------------------
 汎用クラス　マージン
----------------------------------------------------------------------------------------------*/
.mt0 { margin-top:0!important;}
.mt8 { margin-top:8px!important;}
.mt16{ margin-top:16px!important;}
.mt24{ margin-top:24px!important;}
.mt32{ margin-top:32px!important;}
.mt40{ margin-top:40px!important;}
.mt48{ margin-top:48px!important;}
.mt56{ margin-top:56px!important;}
.mt64{ margin-top:64px!important;}

.mb0 { margin-bottom:0!important;}
.mb8 { margin-bottom:8px!important;}
.mb16{ margin-bottom:16px!important;}
.mb24{ margin-bottom:24px!important;}
.mb32{ margin-bottom:32px!important;}
.mb40{ margin-bottom:40px!important;}
.mb48{ margin-bottom:48px!important;}
.mb56{ margin-bottom:56px!important;}
.mb64{ margin-bottom:64px!important;}

.ml0 { margin-left:0!important;}
.ml8 { margin-left:8px!important;}
.ml16{ margin-left:16px!important;}
.ml24{ margin-left:24px!important;}
.ml32{ margin-left:32px!important;}
.ml40{ margin-left:40px!important;}
.ml48{ margin-left:48px!important;}

.mr0 { margin-right:0!important;}
.mr4 { margin-right:4px!important;}
.mr8 { margin-right:8px!important;}
.mr16{ margin-right:16px!important;}
.mr24{ margin-right:24px!important;}
.mr32{ margin-right:32px!important;}
.mr40{ margin-right:40px!important;}
.mr48{ margin-right:48px!important;}

/*----------------------------------------------------------------------------------------------
 リスト
----------------------------------------------------------------------------------------------*/
ul.disc{ margin-left:20px;}
ul.disc li{ list-style-type:disc; }
ol li{ list-style-type:decimal; margin-bottom:5px; margin-left:20px;}

ul.number{ margin-left:20px;}
ul.number li{ list-style-type:decimal; margin-bottom:10px;}

/*----------------------------------------------------------------------------------------------
 テキスト装飾
----------------------------------------------------------------------------------------------*/
.tx_xs{ font-size:1.1rem!important;}
.tx_s { font-size:1.2rem!important;}
.tx_m { font-size:1.6rem!important;}
.tx_l { font-size:2rem!important;}
.tx_xl{ font-size:2.4rem!important;}
.tx_indent{ text-indent:-1.4rem; margin-left:1.4rem;}

.tx_success{ color:#37b396!important;}
.tx_info{ color:#387cc0!important;}
.tx_primary{ color:#e71f19!important;}
.tx_warning{ color:#f6cc3c!important;}
.tx_danger{ color:#dd0000!important;}
.tx_gray{ color:#ccc!important;}

/*----------------------------------------------------------------------------------------------
 ボタン・ラベル
----------------------------------------------------------------------------------------------*/
.btn{
	font-size:1.6rem;
	display: inline-block;
	padding: 0.8rem 4.0rem;
	text-decoration:none;
	text-align:center;
	color:inherit;
	cursor:pointer;
	box-sizing:border-box;
	transition:0.2s;
	background:#e5e5e5;
	border:1px solid transparent;
	font-weight:normal;
	vertical-align: middle;
	color: #999;
}
.btn:hover{ background:#ddd; text-decoration:none; color:#333}
.btn.mini{ padding:0.6rem; font-size: 1.2rem;}
.btn.small{ padding: 0.8rem 2.4rem; font-size: 1.3rem;}
.btn.large{ padding: 1rem 3.2rem; font-size: 2rem;}
.btn.xlarge{ padding: 1.6rem 2.4rem; font-size: 2rem;}
.btn.btn_block{ display:block; width:100%;}

.btn.success{ background:#37b396; color:#FFF;}
.btn.success:hover{ background:#329e85; text-decoration:none;}
.btn.success.no_hover:hover{ background:#37b396;}

.btn.info{ background:#387cc0; color:#fff;}
.btn.info:hover{ background:#3371b0; text-decoration:none;}
.btn.info.no_hover:hover{ background:#387cc0;}

.btn.primary{ background:#a88f5b; color:#fff;}
.btn.primary:hover{ background:#a88f5b; text-decoration:none;}
.btn.primary.no_hover:hover{ background:#a88f5b;}

.btn.warning{ background:#f6cc3c; color:#FFF;}
.btn.warning:hover{ background:#ecc438; text-decoration:none;}
.btn.warning.no_hover:hover{ background:#f6cc3c;}

.btn.danger{ background:#c3273f; color:#FFF;}
.btn.danger:hover{ background:#d72e48; text-decoration:none;}
.btn.danger.no_hover:hover{ background:#c3273f;}

.btn.border{ background:#fff; border:2px solid #aaa; color:#aaa;}
.btn.border a{color:#908e8e;}
.btn.border:hover{ background:#908e8e; color:#FFF; text-decoration:none;}
.btn.border.no_hover:hover{ background:inherit; color:#aaa;}
.btn.border.warning{ border-color:#f6cc3c; color:#f6cc3c;}
.btn.border.warning:hover{ background:#f6cc3c; color:#FFF;}
.btn.border.warning.no_hover:hover{ background:inherit; color:#f6cc3c;}
.btn.border.success{ border-color:#37b396; color:#37b396;}
.btn.border.success:hover{ background:#37b396; color:#FFF; }
.btn.border.success.no_hover:hover{ background:inherit; color:#37b396;}
.btn.border.primary{ border-color:#a88f5b; color:#a88f5b;}
.btn.border.primary:hover{ background:#a88f5b; color:#FFF;}
.btn.border.primary.no_hover:hover{ background:inherit; color:#a88f5b;}
.btn.border.info{ border-color:#387cc0; color:#387cc0;}
.btn.border.info:hover{ background:#387cc0; color:#FFF;}
.btn.border.info.no_hover:hover{ background:inherit; color:#387cc0;}
.btn.border.danger{ border-color:#cc0000; color:#cc0000;}
.btn.border.danger:hover{ background:#cc0000; color:#FFF; }
.btn.border.danger.no_hover:hover{ background:inherit; color:#cc0000;}
.disabled{ pointer-events: none; opacity: 0.5;}

.btn_area{ text-align: center; padding:32px 0;}
.btn_area ul{ display: inline-block; }
.btn_area ul li{ display: inline-block; }
.btn_area p{ margin-bottom:1.6rem; }
.btn_area a.edit{ color:#387cc0;}

.label{
	font-size: 80%;
	background:#ccc;
	display:inline-block;
	margin-right:5px;
	line-height:1;
	vertical-align:middle;
	color:#fff;
	box-sizing:border-box;
	font-weight:normal;
	border:1px solid #ccc;
	padding: 4px 2px 4px 2px;
}
.label.primary{ background:#a88f5b; color:#fff; border-color: #a88f5b;}
.label.success{ background:#37b396; color:#fff; border-color: #37b396;}
.label.warning{ background:#f6cc3c; color:#fff; border-color: #f6cc3c;}
.label.info{ background:#387cc0; color:#fff; border-color: #387cc0;}
.label.danger{ background:#cc0000; color:#fff; border-color: #cc0000}
.label.req{ background:#cc0000; color:#fff; border-color: #cc0000}

.label.border{ background:#fff; color:#ccc; border:1px solid #ccc;}
.label.border.primary{ border-color:#e71f19; color:#e71f19;}
.label.border.warning{ border-color:#f6cc3c; color:#f6cc3c;}
.label.border.info{ border-color:#387cc0; color:#387cc0;}
.label.border.success{ border-color:#37b396; color:#37b396;}
.label.border.danger{ border-color:#cc0000; color:#cc0000;}

.label.border.warning a{ color:#f6cc3c;}
.label.border.info a{ color:#387cc0;}
.label.border.success a{ color:#37b396;}
.label.border.danger a{ color:#cc0000;}
.label.border.warning a:hover,
.label.border.info a:hover,
.label.border.success a:hover,
.label.border.fav a:hover{
	opacity: 0.8;
}

.label.large{ font-size:1.3rem; padding: 0.6rem;}

/* バッジ*/
.badge{
	font-size:1rem;
	padding:0.8rem;
	background:#de351c;
	line-height:1.2;
	border-radius:50%;
	color:#fff;
	box-sizing:border-box;
	font-weight:bold;
	position:absolute;
}


/*----------------------------------------------------------------------------------------------
 アラート
----------------------------------------------------------------------------------------------*/
.alert{ padding:10px 35px 10px 20px; margin-bottom:15px; background:#f2f2f2; position:relative; text-align:left; line-height:1.6; border-left:6px solid #999;}
.alert.success{ background:#eefaf5; color:#37b396; border-color:#37b396;}
.alert.info{ background:#e5f6fd; color:#0e87c1; border-color:#0e87c1;}
.alert.primary{ background:#f1f8d5; color:#e71f19; border-color:#e71f19;}
.alert.warning{ background:#fff8ed; color:#ef9413; border-color:#ef9413;}
.alert.danger{ background:#fdebea; color:#da2214; border-color:#da2214;}
.alert .close{ position:absolute; right:10px; font-size:20px; top:50%; color:#e71f19; margin-top:-10px; text-decoration:none; line-height:1;}
.alert i { /*float:left;*/ font-size:20px; margin-right:3px; margin-top:3px;}
.alert_box{ width:1000px; margin:25px auto 5px;}

#FlashMessage{
	-webkit-transition: opacity 0.3s, margin-top 0.5s;
	-moz-transition: opacity 0.3s, margin-top 0.5s;
	-ms-transition: opacity 0.3s, margin-top 0.5s;
	-o-transition: opacity 0.3s, margin-top 0.5s;
	transition: opacity 0.3s, margin-top 0.5s;
	opacity: 1;
	/* overflow: hidden; */
}
#FlashMessage.fade{ opacity: 0; margin-top: -56px; margin-bottom: 0px;}
#FlashMessage a{ text-decoration:none;}

/*----------------------------------------------------------------------------------------------
 width指定
----------------------------------------------------------------------------------------------*/
.w10par{ width:10%!important;}
.w20par{ width:20%!important;}
.w30par{ width:30%!important;}
.w40par{ width:40%!important;}
.w50par{ width:50%!important;}
.w60par{ width:60%!important;}
.w70par{ width:70%!important;}
.w80par{ width:80%!important;}
.w90par{ width:90%!important;}
.w100par{width:100%!important;}

.w50px{ width:50px!important;}
.w80px{ width:80px!important;}
.w100px{ width:100px!important;}
.w130px{ width:130px!important;}
.w150px{ width:150px!important;}
.w200px{ width:200px!important;}
.w250px{ width:250px!important;}
.w300px{ width:300px!important;}
.w400px{ width:400px!important;}
.w500px{ width:500px!important;}


/*----------------------------------------------------------------------------------------------
 その他
----------------------------------------------------------------------------------------------*/
/*画像寄せ*/
.imgright{ float:right; margin:0 0 20px 40px;}
.imgleft{ float:left; margin:0 40px 20px 0;}

.bg_lightgray{ background:#f6f6f6;}
.bg_lightyellow{ background:#fff8ed;}
.disp_table{ display:table;}
.disp_inline{ display: inline; }

.tab{ border-bottom:1px solid #ef9413; margin-bottom:20px; margin-top:20px; padding-left:15px;}
.tab li{ display:inline-block; font-weight:bold; margin-right:10px; min-width:280px; text-align:center; font-size:16px;}
.tab li:last-child{ margin-right:0;}
.tab li.active{ padding:15px 0 13px; border-radius:5px 5px 0 0; border:1px solid #ef9413; border-bottom:1px solid #fff; margin-bottom:-1px; color:#ef9413;}
.tab li a{ background:#ccc; display:block; text-decoration:none; color:#fff; padding:15px 0 13px; border-radius:5px 5px 0 0; position:relative; overflow:visible;}
.tab li .fa{ font-size:18px; margin-right:5px;}
.tab li a .badge{ position:absolute; right:-5px; top:-5px;}

.tab li.active p{ border-radius:5px 5px 0 0; position:relative; overflow:visible;}
.tab li.active p .badge{ position:absolute; right:-6px; top:-20px;}

.wb{ word-break:break-all;}
.br-sp { display:none;}
.br-pc{ display:block; }

@media screen and (min-width: 641px) {
	.pc_none{ display: none!important; }
}
@media screen and (max-width: 640px) {
	.sp_none{ display: none!important; }
	.br-sp { display:block;}
	.br-pc{ display: none; }
}

/*----------------------------------------------------------------------------------------------
 画像アップロード
----------------------------------------------------------------------------------------------*/
.thumbnail{ display:table; width:120px; height:120px; background:#f5f5f5; position:relative; box-sizing:border-box;}
.thumbnail .inner{ display:table-cell; vertical-align:middle; text-align:center; font-size:15px; text-decoration:none; transition:0.2s;}
.thumbnail .inner img{ max-width:148px; max-height:148px;}
.thumbnail .number{ position:absolute; right:0; top:0; display:inline-block; background:#444; color:#fff; font-size:14px; width:15px; text-align:center;}
.thumbnail.noimage{ border:1px dashed #444; background:#fff; transition:0.2s;}
.thumbnail.noimage:hover{ background:#f5f5f5;}

.thumbnail .btn_image_delete{ position:absolute; top:-5px; right:-10px; font-size:22px; cursor:pointer; transition:0.2s;}
.thumbnail .btn_image_delete:hover{ color:#a00;}

.img_drop_area{ width:100%; height:220px; border:2px dashed #bbb; display:table; font-size:18px; margin-bottom:30px; transition:0.2s;}
.img_drop_area.active{ background:#003E7B; opacity:0.7; color:#fff;}
.img_drop_area .inner{ vertical-align:middle; text-align:center; display:table-cell; background-color:#FFF;}

.image_area{ display:table;}
.image_area .inner{ display:table-cell; text-align:center; vertical-align:middle; outline:medium none; border:0; width:150px; height:150px;}

.gallery_entry{}
.gallery_entry li{ width:170px;display:inline-block; float:left; border:1px solid #ddd; padding:9px; margin-right:17px; box-sizing:border-box; cursor:move; background:#fff;}
.gallery_entry li:nth-child(5n){ margin-right:0;}
.gallery_entry li .thumbnail{ position:relative; margin-bottom:15px; width:150px; height:150px; margin:0 auto 10px;}
.gallery_entry li.drag_item_ghost{ background:#fffbr-sp4e6; border:1px dashed #ef9413;}
.gallery_entry li .thumbnail .cover{ width:150px; height:150px; position:absolute; top:0; left:0; opacity:0; cursor:move;}

.galery_image_list{}
.galery_image_list li{ display:inline-block; float:left; margin-right:20px;}

@media screen and (max-width: 640px) {
	.img_drop_area{ font-size:1.4rem; }
}

/*----------------------------------------------------------------------------------------------
 メッセージ
----------------------------------------------------------------------------------------------*/
.message_wrap{ padding: 36px; background-color:#f2f2f2; border-radius: 5px; text-align: center; margin-bottom: 3.2rem;}
.message_wrap .message_icon{ text-align: center; font-size:10rem;}
.message_wrap .message{ font-size: 2.4rem; font-weight:bold;}
.message_wrap .message_icon.success{ color: #37b396;}

@media screen and (max-width: 640px) {
	.message_wrap{ padding:24px; }
	.message_wrap .message_icon{ font-size: 8rem; }
	.message_wrap .message{ font-size: 2.0rem; }
}










