@charset "utf-8";
/* ===================================================================
     リセットCSS
=================================================================== */
/*--- reset ---*/
html {
	/*overflow-y: scroll;*/
}
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
}
main {
	display: block;
	margin: 0;
	padding: 0;
}
address,caption,cite,code,dfn,em,strong,th,var {
	font-style: normal;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
caption,th {
	text-align: left;
}
q:before,q:after {
	content: '';
}
object,
embed {
	vertical-align: top;
}
hr,legend {
	display: none;
}
h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
}
img,abbr,acronym,fieldset {
	border: 0;
}
img {
	vertical-align:bottom;
}
li {
	list-style-type: none;
}


/* ===================================================================
     汎用クラス
=================================================================== */

/*--- マージン指定 ---*/
.mar_5t {margin-top: 5px;}
.mar_10t {margin-top: 10px;}
.mar_15t {margin-top: 15px;}
.mar_20t {margin-top: 20px;}
.mar_25t {margin-top: 25px;}
.mar_30t {margin-top: 30px;}
.mar_35t {margin-top: 35px;}
.mar_40t {margin-top: 40px;}
.mar_45t {margin-top: 45px;}
.mar_50t {margin-top: 50px;}
.mar_55t {margin-top: 55px;}
.mar_60t {margin-top: 60px;}

.mar_5b {margin-bottom: 5px;}
.mar_10b {margin-bottom: 10px;}
.mar_15b {margin-bottom: 15px;}
.mar_20b {margin-bottom: 20px;}
.mar_25b {margin-bottom: 25px;}
.mar_30b {margin-bottom: 30px;}
.mar_35b {margin-bottom: 35px;}
.mar_40b {margin-bottom: 40px;}
.mar_45b {margin-bottom: 45px;}
.mar_50b {margin-bottom: 50px;}
.mar_55b {margin-bottom: 55px;}
.mar_60b {margin-bottom: 60px;}

.mar_5l {margin-left: 5px;}
.mar_10l {margin-left: 10px;}
.mar_15l {margin-left: 15px;}
.mar_20l {margin-left: 20px;}
.mar_25l {margin-left: 25px;}
.mar_30l {margin-left: 30px;}
.mar_35l {margin-left: 35px;}
.mar_40l {margin-left: 40px;}
.mar_45l {margin-left: 45px;}
.mar_50l {margin-left: 50px;}
.mar_55l {margin-left: 55px;}
.mar_60l {margin-left: 60px;}

.mar_5r {margin-right: 5px;}
.mar_10r {margin-right: 10px;}
.mar_15r {margin-right: 15px;}
.mar_20r {margin-right: 20px;}
.mar_25r {margin-right: 25px;}
.mar_30r {margin-right: 30px;}
.mar_35r {margin-right: 35px;}
.mar_40r {margin-right: 40px;}
.mar_45r {margin-right: 45px;}
.mar_50r {margin-right: 50px;}
.mar_55r {margin-right: 55px;}
.mar_60r {margin-right: 60px;}

/*--- フロート指定 ---*/
.float_r {
	float: right;
}
.float_l {
	float: left;
}
.clear_b {
	clear: both;
}

/*--- clearfix ---*/
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}


/*--- テキスト指定 ---*/
.text_center {
	text-align: center;
}
.text_right {
	text-align: right;
}
.text_left {
	text-align: left;
}
.vertical_middle {
	vertical-align: middle;
}

.font_normal {
	font-weight: normal;
}
.font_bold {
	font-weight: bold;
}

/*--- フォントサイズ指定 ---*/
.font_s10 {font-size: 66.7%;}
.font_s11 {font-size: 73.3%;}
.font_s12 {font-size: 80.0%;}
.font_s13 {font-size: 86.7%;}
.font_s14 {font-size: 93.3%;}
.font_s15 {font-size: 100.0%;}
.font_s16 {font-size: 106.7%;}
.font_s17 {font-size: 113.3%;}
.font_s18 {font-size: 120.0%;}
.font_s19 {font-size: 126.7%;}
.font_s20 {font-size: 133.3%;}
.font_s21 {font-size: 140.0%;}
.font_s22 {font-size: 146.7%;}
.font_s23 {font-size: 153.3%;}
.font_s24 {font-size: 160.0%;}


/*--- インデント指定 ---*/
.text_indent {
	text-indent: -1em;
	padding-left: 1em;
}
.text_indent2 {
	text-indent: -2em;
	padding-left: 2em;
}

/*--- イメージマウスオーバー透過処理 ---*/
a img:hover{
    /*opacity: 0.7; 
    filter: alpha(opacity=7); 
    -moz-opacity: 0.7;*/
	opacity:0.7;
	filter: alpha(opacity=70);        /* ie 6 7 */
	-ms-filter: "alpha(opacity=70)";  /* ie 8 */
	-moz-opacity:0.7;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 0.7;              /* Safari 1.x */
}
a.noOpacity img:hover{
    /*opacity: 0.7; 
    filter: alpha(opacity=7); 
    -moz-opacity: 0.7;*/
	opacity:1;
	filter: alpha(opacity=100);        /* ie 6 7 */
	-ms-filter: "alpha(opacity=100)";  /* ie 8 */
	-moz-opacity:1;                 /* FF lt 1.5, Netscape */
	-khtml-opacity: 1;              /* Safari 1.x */
}
.opacity img {
	cursor: pointer;
}
.opacity img:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	-moz-opacity: 0.7;
	-khtml-opacity: 0.7;
}

/*--- 画像可変指定 ---*/
.resize {
	max-width: 100%;
	width:100%;
	height: auto;
}
.resize2 {
	max-width: 100%;
	height: auto;
}

/*--- デバイス別表示指定 ---*/
.pc_on {
	display: block;
}
.pcTab_on {
	display: block;
}
.tab_on {
	display: none;
}
.smp_on {
	display: none;
}
.tabSmp_on {
	display: none;
}

/* 電話テキスト */
.tel_text_pcTab {
	display: inline;
}
.tel_text_smp {
	display: none;
}

/* 電話ボタン */
.btn_tel_smp {
	display: none;
}

/*--- トップへ戻る ---*/
#back-top {
    position: fixed;
	bottom: 3%;
	right: 3%;
	z-index: 9999;
}
#back-top a {
    width: 64px;
	display: block;
	text-align: center;
	-webkit-transition: 1s;
	-moz-transition: 1s;
	transition: 1s;
}
#back-top span {
    width: 36px;
    display: block;
    margin-bottom: 7px;
    background: rgba(0, 0, 0, 0.5);
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
	/*-webkit-transition: 1s;
	-moz-transition: 1s;
	transition: 1s;*/
	font-size: 24px;
    padding: 18px 5px;
	color: #fff;
	transform: scale(1,0.6);
	-moz-transform: scale(1,0.6);
	-webkit-transform: scale(1,0.6);
}
#back-top span:hover {
	opacity: 0.7;
}

/*--- テーブル ---*/
table.table_general{
	width: 100%;
	border-collapse: collapse;
}
table.table_general td {
	border: solid #cccccc 1px;
	padding: 5px 7px;
}

/*--- その他 ---*/
.icon {
	vertical-align: middle;
	margin-left: 3px;
}
.click_div {
	cursor: pointer;
}


@media screen and (min-width: 768px) and (max-width: 1100px) {
/*--- 画像可変指定 ---*/
.resize {
	max-width: 100%;
	width:100%;
	height: auto;
}

/*--- デバイス別表示指定 ---*/
.pc_on {
	display: none;
}
.pcTab_on {
	display: block;
}
.tab_on {
	display: block;
}
.smp_on {
	display: none;
}
.tabSmp_on {
	display: block;
}
}
@media screen and (max-width: 767px) {
/*--- 画像可変指定 ---*/
.resize {
	max-width: 100%;
	width:100%;
	height: auto;
}

/*--- デバイス別表示指定 ---*/
.pc_on {
	display: none;
}
.pcTab_on {
	display: none;
}
.tab_on {
	display: none;
}
.smp_on {
	display: block;
}
.tabSmp_on {
	display: block;
}

/* 電話テキスト */
.tel_text_pcTab {
	display: none;
}
.tel_text_smp {
	display: inline;
}

/* 電話ボタン */
.btn_tel_smp {
	width: 86px;
	padding: 4px 0;
	/*margin-right: 47px;*/
	float: right;
}

/* スクロールエリア */
.scroll_box {
	overflow-x: auto;
}
.scroll_box::-webkit-scrollbar {
	height: 5px;
}
.scroll_box::-webkit-scrollbar-track {
	border-radius: 5px;
	background: #e2e2e2;
}
.scroll_box::-webkit-scrollbar-thumb {
	border-radius: 5px;
	background: #ccc;
}
.scroll_box div {
	margin-bottom: 2px;
}

/*--- トップへ戻る ---*/
#back-top {
	bottom: 1%;
	right: 0;
}

}


/* ===================================================================
     印刷CSS
=================================================================== */
@media print {
#back-top, .vegas-overlay {
	display: none !important;
}
}