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

body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: normal;
	list-style: none;
	font-size: 100%;
	text-align: left;
	margin:0 auto;
	/*line-height:1.7em;*/
	/*background:#fff;*/
}
* {
	padding: 0px;
	margin: 0px;
	-webkit-text-size-adjust: 100%;
}
img {
	border:none;
	max-width:100%;
}
h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
}

.clearfix:after {
	content: "";
	clear: both;
	display: block;
}
a {
	color: #be1c21;
}
a:hover {
	text-decoration: none;
}
a:hover img{
	opacity:0.9;
	filter: alpha(opacity=90);
}
ul {
	list-style:none;
}
.float_l {
	float:left;
}
.float_r {
	float:right;
}
.clearfix::after {
    content: "";
    display: block;
    clear: both;
    height: 0;
}

.txt_left {
	text-align:left;
}
.txt_right {
	text-align:right;
}
.center {
	text-align:center;
	margin:0 auto;
}
h1 {
	font-size:10px;
	color:#333;
	font-weight:normal;
	padding-bottom:3px;
}

.mb10 {
	margin-bottom:10px;
}
.mb20 {
	margin-bottom:20px;
}
.mb30 {
	margin-bottom:30px;
}
.mb50 {
	margin-bottom:50px;
}
.mt10 {
	margin-top:10px;
}
.mt20 {
	margin-top:20px;
}
.mt30 {
	margin-top:30px;
}
.mt40 {
	margin-top:40px;
}
.mt50 {
	margin-top:50px;
}
.mt100 {
	margin-top:100px;
}
.pb10 {
	padding-bottom:10px;
}
.pb20 {
	padding-bottom:20px;
}
.pb30 {
	padding-bottom:30px;
}
.pb50 {
	padding-bottom:50px;
}
.pt10 {
	padding-top:10px;
}
.pt20 {
	padding-top:20px;
}
.pt30 {
	padding-top:30px;
}
.pt50 {
	padding-top:50px;
}
.w50 {
	width:50%;
}


.clearfix::after {
    content: "";
    display: block;
    clear: both;
    height: 0;
}
/******************************************************/
#wrapper {
	width:100%;
	height:100%;
	margin:0 auto;
}
.innerWrap {
	padding:0 9%;
}
#header {
	width:100%;
	background:#FFF;
}
.logo {
	width:25%;
	padding:1% 0 0 1%;
}
.tel {
	width:32%;
	padding:1% 1% 0 0;
}
a.tel-link {
	display: block;
}

.main_img {
	background-image:url(../images/bg_main.jpg);
	-moz-background-size:100% 100%;
	background-size:contain;
	height:0;
	padding-top:41.25%;
	z-index:1;
	position:relative;
	font-size:0;
	line-height:0;
}
.ttl_main01 {
	position:absolute;
	top:14%;
	right:10%;
	width:55%;
}
.ttl_main02 {
	position:absolute;
	bottom:8%;
	right:3%;
	width:62%;
}
/*----- ズームイン -----*/
.inviewzoomIn {
	transform: scale(0, 0);
	-webkit-transform: scale(0, 0);
	transition: 1.3s;
}
.zoomIn {
	transform: scale(1, 1);
	-webkit-transform: scale(1, 1);
}
/*----- ズームイン_END -----*/
.g_nav {
	width:100%;
	background:rgba(255, 255, 255, 0.9);
}
.fake_tbl {
	border:2px solid #514142;
	box-sizing:border-box;
	display:table;
	width:100%;
}
.fake_tbl02 {
	display:table-cell;
	width:16.6%;
	text-align:center;
	padding:1.3% 0;
}
.fake_tbl02 a {
	color:#514142;
	font-size:16px;
	text-decoration:none;
	font-weight:bold;
}
.fake_tbl02 a:hover {
	color:#be1c21;
}
/*.fake_tbl02:hover {
	background:#f8f8f8;
}*/
.bor-r {
	border-right:2px solid #514142;
}
.fixed {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000;
}
/**dropDown*********************************/
.dropmenu{
	*zoom: 1;
}
.dropmenu li{
	position: relative;
}
.dropmenu li ul{
	position: absolute;
	z-index: 9999;
	width:100%;
}
.dropmenu li ul li{
	background:#fff;
	width:100%;
}
#dropmenu li ul li{
	overflow: hidden;
	height: 0;
	transition: .2s;
}
#dropmenu li:hover ul li{
	overflow: visible;
	height: 45px;
	border:2px solid #514142;
	box-sizing:border-box;
	margin-top:0px;	
}
/* general ******************************** */

em {
	color: #be1c21;
	font-style: normal;
}
strong {
	color: #be1c21;
	font-weight: bold;
}

.ttl01 {
	color:#514142;
	font-size:42px;
	letter-spacing:3px;
}
.ttl01 span {
	color:#be1c21;
	/*padding:0 8px;*/
}
.ttl01 .ttl01_b {
	padding-left:30px;
	color:#514142;
	font-size:30px;
}
.bg_color01 {
	background:#f2f7fa;
}
.bg_color02 {
	background:#fff3f3;
}
.bg_color03 {
	background:rgba(248, 97, 102, 0.6);
}
.bg_color04 {
	background:rgba(243, 39, 45, 0.6);
}
.bg_color05 {
	background:rgba(190, 28, 33, 0.6);
}
.ttl02 {
	color:#514142;
	font-size:33px;
	letter-spacing:1px;
}
.ttl02 span {
	color:#be1c21;
}
.photo01 {
	width:35%;
	margin-left:1.5%;
}
.txt01 {
	width:61%;
	color:#514142;
	margin-right:1%;
	font-size:12px;
}
.txt01 p {
	font-size:16px;
	padding-bottom:5px;
}
.btn01 {
	display:block;
	width:70%;
	text-align:center;
	border:2px solid #be1c21;
	margin:1% auto 5% auto;
	color:#be1c21;
	text-decoration:none;
	font-size:32px;
	letter-spacing:3px;
	padding:1.5% 0;
}
.btn01:hover {
	color:#FFF;
	background:#be1c21;
}
.bg02 {
  /* 画像ファイルの指定 */
  background-image: url(../images/bg02.jpg);   
  /* 画像を常に天地左右の中央に配置 */
  background-position: center center;   
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;   
  /* コンテンツの高さが画像の高さより大きい時、動かないように固定 */
  background-attachment: fixed;   
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;   
  /* 背景画像が読み込まれる前に表示される背景のカラー */
  background-color: #FFF;
  /*height:400px;*/
}
.box01  {
	width:28%;
	margin-left:4%;
}
.box02  {
	width:28%;
	margin-right:4%;
}
.box01 a, .box02 a {
	text-decoration:none;
}
.ttl03 {
	color:#FFF;
	text-align:center;
	font-size:32px;
	letter-spacing:3px;
}
.item {
	text-align:right;
	padding:5px 5px 0 0;
}

ul.normal {
	margin: 0 3em 1em 2em;
}
ul.normal li {
	margin-bottom: .5em;
    padding-left: 1.5em;
    position: relative;
}
ul.normal li::before { 
    content: ">";
    font-size: 60%;
	font-weight: bold;
    color: #be1c21;
    position: absolute;
    left: 0;
    top: 3px;
}

/*---------------------- link button -------------------------*/

.link_btn a:link, .link_btn a:visited {
    text-decoration: none;
    color: white;
    font-weight: bold;
    line-height: 46px;
    background: #be1c21;
    display: inline-block;
    padding: 0 40px;
    position: relative;
    white-space: nowrap;
    border-radius: 5px;
	margin: 0 15px;
}
.link_btn a:hover,
.link_btn a:active {
	background: #bf5657;
}



/*---------------------- top page news area -------------------------*/

/*---- 新システム　18/12/19 */

div#news {
	border: 2px solid #be1c21;
	overflow: auto;
	height:250px;
	/*margin-bottom:100px;*/
	margin-bottom: 40px;
}
#information > div {
	border-bottom: 1px dotted #be1c21;
    padding: 10px;
    margin-top: 5px;
}
#information > div::after {
	content: "";
    display: block;
    clear: both;
    height: 0;
}
#information dt {
	float:left;
	width:15%;
	padding:10px 0 0 10px;
	color:#be1c21;
	font-style:italic;
}
#information dd {
	float:right;
	width:82%;
	padding:10px 10px 0 0;
}


/*---------------------- top page banner -------------------------*/

.banner_area {
	border-bottom: 4px solid red;
	margin-bottom: 0px;
	padding-bottom: 40px;
}
.top_banner_box {
	/* widthは一時的なルール*/
	width: 85%;
    margin: 50px auto 30px;
}
.top_banner_box > a {
	display: block;
}
.top_banner_box img {
	box-shadow: 0 0 4px rgba(0,0,0,0.2);
	display: block;
}
.banner_area h2 {
	font-size: 42px;
	text-align: center;
	color: #be1c21;
	line-height: 1.4;
	margin-bottom: 20px;
}
.banner_area h2 small {
	display: block;
	font-size: 70%;
	color: #514142;
}
.banner_area p {
	text-align: center;
	line-height: 1.8;
	font-size: 0.9em;
	font-weight: bold;
}
.banner_area ul.feature {
	border: 3px solid #dd7f81;
	border-radius: 10px;
	padding: 20px 30px;
	font-weight: bold;
	color: #514142;
	width: 85%;
	margin: 30px auto;
	box-sizing: border-box;
}



/*---------------------- top page news02 -------------------------*/

.news02 {
	margin-bottom: 40px;
}
.news02 p {
	margin-bottom: 1em;
	line-height: 1.7;
}
.news02 .float_r {
	margin-left: 3%;
}


/*---------------------- contact-banner -------------------------*/
.inquiry {
	border: 3px solid #fc454a;
	padding: 20px 50px;
	font-feature-settings: "palt";
}
.contact_links {
	width: 75%;
	float: right;
}

.open_hours {
	width: 20%;
	float: left;
}
.contact_links ul {

}
.contact_links h3 {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: #2f353e;
	font-weight: bold;
	font-size: 2.5vw;
	letter-spacing: 0.1em;
}
.contact_links .phone_number {
	line-height: 0.9;
	text-align: center;
}
.contact_links .phone_number a {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: #bf1c21;
	text-decoration: none;
	font-weight: bold;
	font-size: 6vw;
}
.contact_links .phone_number a:hover {
	color: #fc454a;
}
.contact_links .phone_number a strong {
	font-size: 1.6em;
}
.contact_links .alt_phone {
	color: #2f353e;
	text-align: right;
	font-size: 12px;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 1em;
}
.contact_links .alt_phone em {
	font-style: normal;
	font-size: 1.4em;
}
.contact_links .form_link a {
	text-decoration: none;
	color: white;
	text-align: center;
	display: block;
	line-height: 2.2;
	background: #bf1c21;
	font-weight: bold;
	border-radius: 5px;
	letter-spacing: 0.1em;
	font-size: 2vw;
	position: relative;
}
.contact_links .form_link a:hover {
	background: #fe434c;
}
.contact_links .form_link a::before {
	content: "";
	width: 1.5em;
	height: 1em;
	background: url(../images/icon_mail.png) no-repeat;
	background-size: contain;
	display: inline-block;
	position: relative;
	bottom: -.1em;
	margin-right: .5em;
}
.contact_links .form_link a::after {
	content: "";
	display: block;
	background: url(../images/icon_clickhand.png) no-repeat;
	background-size: contain;
	width: 10%;
	height: 2em;
	position: absolute;
	bottom: -30%;
	right: -5%;
}
.inquiry .open_hours {
	
}
.inquiry .open_hours .img_box {
	max-width: 135px;
	margin: 0 auto;
}
.inquiry .open_hours p {
	font-size: 1.8vw;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: #2f353e;
	font-weight: bold;
	text-align: center;
}
.inquiry .open_hours p em {
	font-style: normal;
	font-size: 120%;
}


/*---------------------- footer -------------------------*/
#footer {
	background:#dd7f81;
}
.foot_menu {
	color:#FFFFFF;
	font-size:18px;
	line-height:1.7em;
}
.foot_menu a {
	color:#FFFFFF;
	text-decoration:none;
	padding:0 10px;
}
.foot_menu a:hover {
	text-decoration:underline;
	color:#FFFF33;
}
#footer02 {
	background:#be1c21;
}
address {
	text-align:center;
	color:#FFFFFF;
	padding:20px 0 10px 0;
}