@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;
	box-sizing: border-box;
}
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;
}
a:focus {
	outline: 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_70t {margin-top: 70px;}
.mar_80t {margin-top: 80px;}
.mar_90t {margin-top: 90px;}
.mar_100t {margin-top: 100px;}

.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_70b {margin-bottom: 70px;}
.mar_80b {margin-bottom: 80px;}
.mar_90b {margin-bottom: 90px;}
.mar_100b {margin-bottom: 100px;}

.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_70l {margin-left: 70px;}
.mar_80l {margin-left: 80px;}
.mar_90l {margin-left: 90px;}
.mar_100l {margin-left: 100px;}

.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;}
.mar_70r {margin-right: 70px;}
.mar_80r {margin-right: 80px;}
.mar_90r {margin-right: 90px;}
.mar_100r {margin-right: 100px;}

.mar_lr_auto {margin-left: auto; margin-right: auto;}

/*--- フロート指定 ---*/
.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;}
.font_normal {font-weight: normal;}
.font_bold {font-weight: bold;}
.justify {
	text-align: justify;
	text-justify: inter-ideograph;
}
.vertical_middle {vertical-align: middle;}

/*--- インデント指定 ---*/
.text_indent_1 {
	text-indent: -1em;
	padding-left: 1em;
}
.text_indent_1_5 {
	text-indent: -1em;
	padding-left: 1.5em;
}
.text_indent_2 {
	text-indent: -2em;
	padding-left: 2em;
}
.list_indent_1 li {
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 0.5em;
}
.list_indent_1 li:last-child {
	margin-bottom: 0;
}

/*--- イメージマウスオーバー透過処理 ---*/
a img:hover{opacity:0.7; transition: opacity .3s ease-in-out;}
a.noOpacity img:hover{opacity:1;}
.opacity img {cursor: pointer; transition: opacity .3s ease-in-out;}
.opacity img:hover {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;}
.tabSmp_on {display: none;}
.smp_on {display: none;}
.pcSmp_on {display: block;}

.pc_on_inl {display: inline;}
.pcTab_on_inl {display: inline;}
.tab_on_inl {display: none;}
.tabSmp_on_inl {display: none;}
.smp_on_inl {display: none;}
.pcSmp_on_inl {display: inline;}

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

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

/*--- トップへ戻る ---*/
#back-top {
    position: fixed;
	bottom: 3%;
	right: 3%;
	z-index: 10;
}
#back-top a {
	width: 54px;
	height: 54px;
	border-radius: 8px;
	background: rgba(0, 0, 0, 0.5);
	display: block;
	-webkit-transition: 1s;
	-moz-transition: 1s;
	transition: 1s;
}
#back-top a::after {
    display: block;
    content: '';
    position: absolute;
    top: calc(50% - 2px);
    left: calc(50% + 3px);
    width: 12px;
    height: 12px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: rotate(-45deg) translate(-50%, -50%);
	-ms-transform: rotate(-45deg) translate(-50%, -50%);
    transform: rotate(-45deg) translate(-50%, -50%);
}
#back-top span:hover {
	opacity: 0.7;
}

/*--- その他 ---*/
.icon {
	vertical-align: middle;
	margin-left: 3px;
}
.click_div {
	cursor: pointer;
}
sub.baseline {
	font-size: 75%;
	vertical-align: baseline;
}

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

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

.pc_on_inl {display: none;}
.pcTab_on_inl {display: inline;}
.tab_on_inl {display: inline;}
.tabSmp_on_inl {display: inline;}
.smp_on_inl {display: none;}
.pcSmp_on_inl {display: none;}
}

@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;}
.tabSmp_on {display: block;}
.smp_on {display: block;}
.pcSmp_on {display: block;}

.pc_on_inl {display: none;}
.pcTab_on_inl {display: none;}
.tab_on_inl {display: none;}
.tabSmp_on_inl {display: inline;}
.smp_on_inl {display: inline;}
.pcSmp_on_inl {display: inline;}

/* 電話テキスト */
.tel_text_pcTab {display: none;}
.tel_text_smp {display: inline;}
.tel_text_smp a {color: #000; text-decoration: underline;}

/* 電話ボタン */
.tel_btn_smp {display: inline;}

/* スクロールエリア */
.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: 2%;
	right: 2%;
}

}


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