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

/* ===================================================================
     リセットCSS
=================================================================== */
/*--- reset ---*/
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;
	text-align:left;
	font-size: 16px;
}

address,caption,cite,code,dfn,em,strong,th,var {
	font-style: normal;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	text-align:left;
}
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;
}

body {
  /* フォントレンダリング設定: 1x解像度ではsubpixel、2x以上の解像度ではgrayscale */
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
	}
@media only screen and 
(-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  	}
}

/*main*/
main{
	padding:80px 0 50px 0;
	}
/*inner*/
.common_inner{
	width:1000px;
	margin:0 auto ;
	}



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

/*--- マージン指定 ---*/
.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_70b {margin-bottom: 70px;}
.mar_80b {margin-bottom: 80px;}

.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;}

/*--- タイトル ---*/
/*h2{
	font-size:46px;
	font-weight:100;
	line-height: 1.2em;
	text-align:center;
	}
h3{
	font-size:28px;
	font-weight:100;
	line-height: 1.2em;
	text-align:center;
	padding:20px 0 30px 0;
	}*/

@media screen and  (max-width: 767px) {
/*h2{
	font-size:24px;
	font-weight: bold;
	}
h3{
	font-size:18px;
	padding: 20px 0 14px 0;
	font-weight: bold;
	line-height: 1.6em;
}*/
}

/*--- リンク ---*/
.button {
  position: relative;
  display: inline-block;
  padding: 7px 0;
  border: 2px solid #333;
  color: #333;
  text-align: center;
  text-decoration: none;
  transition: .8s;
  overflow: hidden;
  width: 200px;
}
.button::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  content: '';
  width: 120%;
  height: 100%;
  background: #8e0000;
  transform-origin: right top;
  transform: skewX(-30deg) scale(0, 1);
  transition: transform .6s;
  border: 2px solid #8e0000;
}
.button:hover::before {
  transform-origin: left top;
  transform: skewX(-30deg) scale(1, 1);
}




.button_normal {
  position: relative;
  display: inline-block;
  padding: 7px 0;
  border: 2px solid #333;
  color: #333;
  text-align: center;
  text-decoration: none;
  transition: .8s;
  overflow: hidden;
  
  opacity: 0.9;
  box-sizing: border-box;
}
.button_normal::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  content: '';
  width: 120%;
  height: 100%;
  background: #8e0000;
  transform-origin: right top;
  transform: skewX(-30deg) scale(0, 1);
  transition: transform .6s;
  border: 2px solid #8e0000;
}
.button_normal:hover::before {
  transform-origin: left top;
  transform: skewX(-30deg) scale(1, 1);
}

a.button_normal:hover{
	color:#fff !important;
	}
@media screen and (max-width: 767px) {
.button,
.button_normal{
	width:100%;
	background:#333;
	color:#fff;
	}

}


/*--- フロ-ト指定 ---*/
.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: 62.5%;}
.font_s11 {font-size: 68.8%;}
.font_s12 {font-size: 75.0%;}
.font_s13 {font-size: 81.3%;}
.font_s14 {font-size: 87.5%;}
.font_s15 {font-size: 93.8%;}
.font_s16 {font-size: 106.7%;}
.font_s17 {font-size: 106.3%;}
.font_s18 {font-size: 112.5%;}
.font_s19 {font-size: 118.8%;}
.font_s20 {font-size: 125.0%;}
.font_s21 {font-size: 131.3%;}
.font_s22 {font-size: 137.5%;}
.font_s23 {font-size: 143.8%;}
.font_s24 {font-size: 150.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;
}

/*--- トップへ戻る ---*/
#page_top{
  width: 60px;
  height: 60px;
  position: fixed;
  right: 18px;
  bottom: 30px;
  background: url(../img/page_top.png) no-repeat;
  background-size:contain;
}
#page_top a{
  width: 25px;
  height: 15px;
  display: block;
}




/*--- テ-ブル ---*/
table {
	width: 100%;
}
table th,
table td {
	padding: 4px 12px;
}
table th {
	font-weight: normal;
	white-space: nowrap;
}

/*--- その他 ---*/
.icon {
	vertical-align: middle;
	margin-left: 3px;
}
.click_div {
	cursor: pointer;
}
/*--- 高さを揃える ---*/
.box_height{
	display: -ms-flexbox;
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
	}
/*--- fadein ---*/
.fadein {
  opacity: 0;
  transform : translate(0, 50px);
  transition : all 1400ms;
}

.fadein.scrollin{
  opacity: 1;
  transform: translate(0, 0);
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
/*--- 画像可変指定 ---*/
.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;
}
/*テ-ブル */
table th,
table td {
	padding: 2px 8px;
}

}


.fancybox-close-small {
	padding: 0 !important;
}




.link .ghost {
    color: #fff;
    background-color: #2f2f2f;
}
.link > * {
    position: relative;
    width: 140px;
    padding: 10px 20px;
    text-align: center;
    overflow: hidden;
    -moz-transform: skewX(-25deg);
    -webkit-transform: skewX(
-25deg
);
    transform: skewX(
-25deg
);
}
.link > * {
    margin: 0 10px 10px 0;
}
.link a:hover{
	opacity: 0.8;
}
@media screen and  (max-width:767px) {
.link > * {
    width: 200px;
}
}


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