@charset "UTF-8";

/* ************************************** _

タイトル：modules.css

概要：汎用classのCSSファイル

_ ************************************** */

/* 画像装飾
---------------------------------------------------------------------------- */
.ph_frame {
	display: inline-block;
	position: relative;
}
.ph_frame:after {
	position: absolute;
	display: block;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
	transform: rotate(3deg); /* 回転させる */
	background: #fff;
	z-index: -1;
}



/* float clear
---------------------------------------------------------------------------- */

.clearLeft  { clear:left; }
.clearRight { clear:right; }
.clearBoth  { clear:both; margin-bottom: 20px; }


/* float
---------------------------------------------------------------------------- */

.fL { float:left; }
.fR { float:right; }


/* margin
---------------------------------------------------------------------------- */

.first{ margin: 0 0 10px 0; }
.text{ margin: 0 0 10px 0; }
.title{ margin: 0 0 10px 0; }

/* align
---------------------------------------------------------------------------- */

.alignLeft   { text-align: left !important; }
.alignCenter { text-align: center !important; }
.alignRight  { text-align: right !important; }


/* ボタン
---------------------------------------------------------------------------- */


/* font weight
---------------------------------------------------------------------------- */
.futo{font-weight:bold!important;}

/* font size
---------------------------------------------------------------------------- */

.small { font-size: 0.8em; }
.ft10 { font-size: 10px; }
.ft12 { font-size: 12px; }
.ft13 { font-size: 13px; }
.ft14 { font-size: 14px; }
.ft15 { font-size: 15px; }
.ft16 { font-size: 16px; }
.ft20 { font-size: 20px; }
.ft24 { font-size: 24px; }
.ft30 { font-size: 30px; }
.ft35 { font-size: 35px; }
.ft40 { font-size: 40px; }

/* 文字間
---------------------------------------------------------------------------- */
.ltsp1{letter-spacing: 1px;}
.ltsp2{letter-spacing: 2px;}
.ltsp3{letter-spacing: 3px;}
.ltsp4{letter-spacing: 4px;}
.ltsp5{letter-spacing: 5px;}

/* ロールオーバーエフェクト
---------------------------------------------------------------------------- */

a:hover img{
opacity: 0.7;
-webkit-opacity: 0.7;
-moz-opacity: 0.7;
filter: alpha(opacity=70);	/* IE lt 8 */
-ms-filter: "alpha(opacity=70)"; /* IE 8 */
-webkit-transition: opacity 0.3s ease-out;
-moz-transition: opacity 0.3s ease-out;
-ms-transition: opacity 0.3s ease-out;
transition: opacity 0.3s ease-out;
}



/* font color
---------------------------------------------------------------------------- */

.attention, .required { color: #FF0000 !important; }


/* マージン
---------------------------------------------------------------------------- */
.mb0{ margin: 0 0 0px 0 !important; }
.mb5{ margin: 0 0 5px 0 !important; }
.mb20{ margin: 0 0 20px 0 !important; }
.mb10{ margin: 0 0 10px 0 !important; }
.mb20{ margin: 0 0 20px 0 !important; }
.mb25{ margin: 0 0 25px 0 !important; }
.mb30{ margin: 0 0 30px 0 !important; }
.mb40{ margin: 0 0 40px 0 !important; }
.mb50{ margin: 0 0 50px 0 !important; }
.mb60{ margin: 0 0 60px 0 !important; }


.mt10{ margin: 10px 0 0 0 !important; }
.mt20{ margin: 20px 0 0 0 !important; }
.mt25{ margin: 25px 0 0 0 !important; }
.mt30{ margin: 30px 0 0 0 !important; }
.mt40{ margin: 40px 0 0 0 !important; }
.mt50{ margin: 50px 0 0 0 !important; }
.mt60{ margin: 60px 0 0 0 !important; }

.ml-40{ margin: 0 0 0 -40px !important; }
.ml-50{ margin: 0 0 0 -50px !important; }
.ml-60{ margin: 0 0 0 -60px !important; }


.pdl25{ padding: 0 0 0 25px!important; }
.pd10{ padding: 0 0 10px 0 !important; }
.pd20{ padding: 0 0 20px 0 !important; }
.pd25{ padding: 0 0 25px 0 !important; }
.pd30{ padding: 0 0 30px 0 !important; }
.pd40{ padding: 0 0 40px 0 !important; }
.pd50{ padding: 0 0 50px 0 !important; }
.pd60{ padding: 0 0 60px 0 !important; }


/* 黒のかぶせ
---------------------------------------------------------------------------- */
.donotshow th , .donotshow td {
  position: relative;
}
.donotshow th:before , .donotshow td:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(255,255,255,0.8);
  z-index: 100;
}

.map_container {
  position: relative;
  padding-top: 50%;
}
.map {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
}


.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/* clearfix */
	* html .clearfix {
		zoom: 1;
	}

	*+html .clearfix {
		zoom: 1;
	}

.clearfix:after {
	height: 0;
	visibility: hidden;
	content: ".";
	display: block;
	clear: both;
}

.syoudancyu{
	display: block;
	background: #FFFD00;
	text-align:center;
	vertical-align: middle;
	font-weight:bold;
	font-size:0.7em;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	height:50px;
	min-width:20px; 
}
.baiyakuzumi{
	display: block;
	background: #BCBCBC;
	text-align:center;
	vertical-align: middle;
	font-weight:bold;
	font-size:0.7em;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	height:50px;
	min-width:20px; 
}

.icon{
	display: inline-block!important;
	vertical-align: middle;
	padding-left:10px;
}

.sage {
    padding-left: 1em;
    text-indent: -1em;
}
.moji8made{
	max-width: 162px!important;
    overflow: hidden;
    white-space: nowrap;
}
.hi50{height:50px!important;}
input:focus::-webkit-input-placeholder { color:transparent; }
input:focus:-moz-placeholder { color:transparent; }
input:focus::-moz-placeholder { color:transparent; }

.pc_none{display:none!important;}
.pc_none_580{display:none!important;}
.br_sp { display:none!important; }
.tel_number{
	color:#ff0000;
	font-size:150%;
}
.kome{font-size:85%;}
.mb_pc60sp30{ margin: 0 0 30px 0 !important; }
.mt_pc60sp30{ margin: 30px 0 60px 0 !important; }
@media screen and (max-width: 736px) {
.pc_none{display:block!important;}
.sp_none{display:none!important;}
.br_sp { display:inline!important; }
.br_pc { display:none!important; }
.mb_pc60sp30{ margin: 0 0 10px 0 !important; }
.mt_pc60sp30{ margin: 10px 0 30px 0 !important; }
.map_container {
  padding-top: 100%;
}
}
@media screen and (max-width: 580px) {
.pc_none_580{display:block!important;}
.sp_none_580{display:none!important;}
}