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

/*===============================================================================
===============================================================================

frame.css（ヘッダー、タイトルまわり、フッター、ページトップ、プリント設定）

===============================================================================
==============================================================================*/




/* Header
-------------------------------------------------------------------------------------------------------- */
header {
	background: #ffffff;
}

/* タグライン */
header #tagline {
	background: #291F4E;
	padding: 5px 10px;
	text-align: center;
	font-size: 10px;
	color: #FFF;
}

header .container {
	max-width: 1170px;
	padding-top: 15px;
	padding-bottom: 16px;
}


/* ロゴ */
header .container .logo { 
    max-width: 290px;
	padding-top: 5px;
}

.header_text{
	font-size: 12px;
	color: #727171;
	text-align: center;
	margin-bottom: 5px;
	max-width: 310px;
}

/* Utility Navi */
.unav {	font-size: 10px; padding-left: 120px; padding-top: 8px;}


/* お問い合わせボタン */
.btn_inquiry a {
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #e3b94d), color-stop(1, #e3904d));
	background:-moz-linear-gradient(top, #e3b94d 5%, #e3904d 100%);
	background:-webkit-linear-gradient(top, #e3b94d 5%, #e3904d 100%);
	background:-o-linear-gradient(top, #e3b94d 5%, #e3904d 100%);
	background:-ms-linear-gradient(top, #e3b94d 5%, #e3904d 100%);
	background:linear-gradient(to bottom, #e3b94d 5%, #e3904d 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e3b94d', endColorstr='#e3904d',GradientType=0);
	background-color:#e3ca4d;
	-moz-border-radius:4px;
	-webkit-border-radius:4px;
	border-radius:4px;
	border:1px solid #e3904d;
	color:#ffffff;
	font-size:13px;
	padding-top: 8px;
	padding-bottom: 8px;
	text-decoration:none;
	display: block;
	text-align: center;
}
.btn_inquiry a:hover {
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #e3904d), color-stop(1, #e3ca4d));
	background:-moz-linear-gradient(top, #e3904d 5%, #e3904d 100%);
	background:-webkit-linear-gradient(top, #e3904d 5%, #e3904d 100%);
	background:-o-linear-gradient(top, #e3904d 5%, #e3904d 100%);
	background:-ms-linear-gradient(top, #e3904d 5%, #e3904d 100%);
	background:linear-gradient(to bottom, #e3904d 5%, #e3904d 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#e3904d', endColorstr='#e3904d',GradientType=0);
	background-color:#e3904d;
}
.btn_inquiry a:active {
	position:relative;
	top:1px;
}
.btn_inquiry .glyphicon {
	margin: 0 6px 0 0;
}

.icon_inquiry {	
vertical-align: middle;	
margin-right: 3px;	
margin-bottom: 2px;	
}
@media screen and (max-width: 991px) {
	.btn_inquiry a {
		font-size: 12px;
	}
}
@media screen and (max-width: 768px) {
	.btn_inquiry a {
		height: 56px;
		padding-top: 17px;
	}
}
@media screen and (max-width: 320px) {
	.btn_inquiry a {
		font-size: 11px;
	}
}

@media screen and (max-width: 320px) {
	.btn_inquiry a {
		font-size: 11px;
	}
}

/* 検索フォーム */
.navbar-form {
    margin-left: 0;
    margin-right: 0;
	margin-top: 0px;
    margin-bottom: 10px;
	padding: 0;
	width: 100%;
}
.navbar-form .form-control {
    display: inline-block;
    height: auto;
    font-size: 13px;
    border: 1px solid #ccc;
    border-radius: 3px;
    width: 100%;
    padding: 4px 12px;
}

.navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
    width: 100%;
}
.form-group {
	position: relative;
}

.btn_search {
	display: block;
	position: absolute;
	top: 4px;
    right: 10px;
	border: none;
}
.btn_search button {
    background: none;
    border: none;
    width: 15px;
    height: 19px;
    padding: 0;
}



@media screen and (max-width: 1199px) {
	/* Utility Navi */
    .unav {	padding-left: 15px;}
}

@media screen and (max-width: 991px) {
	/* Utility Navi */
    .unav {	padding-left: 35px;}

}

@media screen and (min-width: 769px) {
 	/* 電話 */
   .tel .sp { display: none; }
   .unav .privacy,
   .unav .sitemap { 
		background: url(../img/icon_arrow_yellow.png); 
		background-size: 4px 7px; 
		background-position: left center; 
		background-repeat: no-repeat; 
		padding-left: 10px;
	}
   .unav .privacy a ,
   .unav .sitemap a {color: #555;}
}

@media screen and (max-width: 768px) {
	header .container .logo { padding-top: 0;}
	/* 電話 */
	.tel { padding-right: 5px; }
	.tel .pc { display: none; }
	.tel .sp a {
		background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #6b657d), color-stop(1, #565166));
		background:-moz-linear-gradient(top, #6b657d 5%, #565166 100%);
		background:-webkit-linear-gradient(top, #6b657d 5%, #565166 100%);
		background:-o-linear-gradient(top, #6b657d 5%, #565166 100%);
		background:-ms-linear-gradient(top, #6b657d 5%, #565166 100%);
		background:linear-gradient(to bottom, #6b657d 5%, #565166 100%);
		filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#6b657d', endColorstr='#565166',GradientType=0);
		background-color:#6b657d;
		-moz-border-radius:4px;
		-webkit-border-radius:4px;
		border-radius:4px;
		border:1px solid #565166;
		display: block;
		color:#ffffff;
		font-size:13px;
		font-weight:bold;
		padding-top: 8px;
		padding-bottom: 5px;
		text-decoration:none;
		text-align: center;
		height: 56px;
		letter-spacing: .5px;
	}
	.tel .sp a:hover {
		background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #565166), color-stop(1, #6b657d));
		background:-moz-linear-gradient(top, #565166 5%, #6b657d 100%);
		background:-webkit-linear-gradient(top, #565166 5%, #6b657d 100%);
		background:-o-linear-gradient(top, #565166 5%, #6b657d 100%);
		background:-ms-linear-gradient(top, #565166 5%, #6b657d 100%);
		background:linear-gradient(to bottom, #565166 5%, #6b657d 100%);
		filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#565166', endColorstr='#6b657d',GradientType=0);
		background-color:#565166;
	}
	.tel .sp a:active {
		position:relative;
		top:1px;
	}
  	.inquiry { padding-left: 5px;}
	.navbar-form {
		padding-left: 0;
		padding-right: 0;
		margin-left: 0;
		margin-right: 0;
	}
		.tel .sp a .reserve {
		display: block;
		width: 85%;
		min-width: 130px;
		margin: 0 auto 3px;
		padding: 1px 5px 0;
		color: #565166;
		font-size: 10px;
		background: #fff;
		border-radius: 8px;
		letter-spacing: 1px;
	}
	.tel .sp .glyphicon {
		margin: 0 4px 0 0;
	}

/*			.tel .sp a .reserve {
		display: block;
		width: 50px;
		margin: 0 auto 3px;
		color: #fff;
		font-size: 10px;
		letter-spacing: 2px;
	}*/
	/* 検索フォーム */
	.form-control { width: 100%; }
}





 /* Gnavi 
 --------------------------------------------------*/
#gn { 
    width: 100%;
	background: #f9f9f9;
	border-top: 1px solid #f1f1f1;
}

.nav li.privacy { display: none;}
.nav li.sitemap { display: none;}
.nav .glyphicon { display: none;}

@media screen and (min-width: 769px) {
	.nav-sp { display: none; }
	.nav { 
		background: url(../img/gn_dot.gif) left center no-repeat #f9f9f9; 
		padding-left: 1px; 
	}
	.navbar-nav { max-width: 1170px; margin: 0 auto; }
	.nav li { 
		display: block; 
		width: calc(100% / 6);
		vertical-align: middle;
		background: url(../img/gn_dot.gif) right center no-repeat ;
	}
	.navbar-default {
		border: none;
		background: none;
	}
	.navbar-default .navbar-nav>li>a {
		width: 16.6%;
		display: table-cell;
		color: #291F4E;
		font-size: 13px;
		text-align: center;
		vertical-align: middle;
		line-height: 1.3;
		font-weight: bold;
		padding-top: 20px;
		padding-bottom: 18px;
		cursor: pointer;
	}
	.navbar-default .navbar-nav > li > a:hover {
		display: table-cell;
		transition: all .4s;
		opacity: 0.7;
		}
	.nav-wrapper {
		position: relative; 
		overflow: hidden;
	}
	.navbar-nav {
		position: relative;
		float: none;
	}
	.navbar-nav li {
		position: relative;
		float: left;
		list-style: none; /* 項目にぼっちを出したくない場合はこれを設定（今回はあんまり関係ないですが） */
	}
	.container-fluid {
		padding-left: 0;
		padding-right: 0;
	}
	.gn_bdr {display:block; position:absolute; left: 50%; bottom:0; background:#AAAAAA; }
}


@media screen and (max-width: 768px) {
	.gn_bdr {display:none;}
	.navbar-nav {
  	  margin: 15.5px -15px;
	}
	.unav { display: none;}
	.navbar-default {
		background-color: rgba(35,36,40,0.98);
		opacity: 0.9;
	}
	.navbar-offcanvas {
		max-width: 260px;
		left: -260px;
	}
	.nav li {
		border-bottom: 1px solid #CCC; 
	    padding: 0; 
     	position: relative;}
	.nav li.top {border-top: 1px solid #CCC;}
	.nav li.faq {margin-bottom: 20px;}
	.nav li.privacy,
	.nav li.sitemap { display: block; font-size: 13px; border: none; padding: 0;}
	.navbar-default .nav>li>a { color: #fff; font-size: 12px;}
	.navbar-default .nav>li>a:hover { color: #AAA;}
	.nav>li>a { padding-left: 15px; padding-right: 5px; padding-top: 15px; padding-bottom: 15px; }
	.nav>li.privacy>a { padding-top: 5px;padding-bottom: 5px; }
	.navbar-offcanvas { padding-left: 10px;}
	.nav .glyphicon { display: block; position: absolute; right: 2%; top: 37%; font-size: 11px;}
	.nav>li.privacy>a>.glyphicon, 
	.nav>li.sitemap>a>.glyphicon { top: 34%; }
	.navbar-default {
		border: none;
		background: 0 0 20px rgba(0,0,0,0.3);
	}
}



/* Bootstrap - デザインにあわせて上書き
 --------------------------------------------------*/

/* ナビ全体枠設定 */
.navbar {
	margin-bottom: 0px;
}

/* ボタン */
.navbar-toggle,
.navbar-toggle:hover {
	position: relative;
	float: right;
	margin-right: 15px;
	padding: 9px 10px;
	margin-top: 8px;
	margin-bottom: 8px;
	background-color: transparent;
	background-image: none;
	border-radius: 3px;
	color: #FFF;
}




/* パンくず
 --------------------------------------------------*/
#topicpath {
	font-size: 12px;
	line-height: 1.6;
	margin-bottom: 40px;
	padding-left: 15px;
	padding-right: 15px;
}
#topicpath a:link ,
#topicpath a:visited {
	color: #291F4E;
	text-decoration: none;
}
#topicpath a:hover {
	text-decoration: underline;
}

@media screen and (max-width: 768px) {
     #topicpath  {
		 padding-top: 0;
		 text-align: left;
     }
}



/* Frame
-------------------------------------------------------------------------------------------------------- */
#contents {
	background: #f8f8f8; /* Old browsers */
	background: -moz-linear-gradient(top, #f7f6f6 0%, #fff 10%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #f7f6f6 0%,#fff 10%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #f7f6f6 0%,#fff 10%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f7f6f6', endColorstr='#fff',GradientType=0 ); /* IE6-9 */	
	padding-top: 20px;
	padding-bottom: 60px;
}


@media screen and (max-width: 991px) {
	#main {
		margin-bottom: 30px;
	}
}

@media screen and (max-width:768px) {
	.box_contents .inner {
		padding: 10px;
	}
}



/* Main Image
-------------------------------------------------------------------------------------------------------- */
.main-image {
	background: #2c244d;
}
.main-image .container {
	position: relative;
}

@media screen and (min-width:769px) {
	.main-image {
		/*max-height: 250px;*/
	}
	.main-image .container {
		padding-top: 10px;
		padding-bottom: 10px;
		overflow: hidden;
		/*max-height: 250px;*/
	}
	.main-image img {
		max-width: 100%;
	}
}
@media screen and (max-width:768px) {
	.main-image {
		background: none;
	}
	.main-image img {
		max-width: 100%;
	}
	.main-image .container {
		padding: 0;
		overflow: hidden;
	}
}





/* Snav
 --------------------------------------------------*/

#sn {
	margin-bottom: 30px;
}
#sn .cat a {
	color: #FFF;
	display: block;
	font-size: 13px;
	text-decoration: none;
	background: url(../img/bg_cap.gif);
	padding: 13px 15px;
	font-size: 18px;
}
#sn .cat a:hover {
	opacity:0.9;
}
#sn ul li {
	list-style: none;
	cursor: pointer;
}
#sn ul {
	margin: 0;
	padding: 0;
	border-top: 2px solid #291F4E;
}
#sn ul li {
	border-bottom: solid 1px #fff;
	display: block;
}
#sn ul li a {
	display: block;
	color: #555;
	padding: 13px 15px 10px 15px;
	font-size: 15px;
	text-decoration: none;
	background: url(../img/icon_arrow_square_navy.gif) 94% 50% no-repeat;
	background-size: 11px 11px;
	background-color: #f2f2f2;
}
#sn ul li a:hover {
	background-size: 11px 11px;
	background-color: #e9e9e9;
}

#sn ul li ul {
	display: none;
}

#sn ul li ul {
	border-top: 1px solid #fefefe;
	background: #fcfcfc;
}

#sn ul li ul li {
	border-bottom: none;
}
#sn ul li ul li a {
	background: url(../img/icon_arrow_navy_s.png) 93.2% 50% no-repeat;
	border-bottom: 1px solid #f5f5f5;
	font-size: 13px;
	padding: 10px 15px 8px 15px;
	color: #777;
}
#sn ul li ul li a:hover {
	background: url(../img/icon_arrow_navy_s.png) 93.2% 50% no-repeat;
	border-bottom: 1px solid #eee;
	background-color: #f3f3f3;
	border-bottom: 1px solid #f5f5f5;
	color: #777;
}


 
@media screen and (max-width:991px) {
	#sn .cat a {
    	padding: 13px 15px;
		text-align: center;
	}
	#sn ul li a {
		padding: 10px 15px 8px 15px;
		font-size: 15px;
	}
}



/* Banner Area */
#bnr_area a {
	box-shadow: 0 0 4px 1px rgba(0, 0, 0, 0.1);
	border-radius: 6px;
	display: block;
}
#bnr_area a:hover {
	opacity: 0.8;
}

@media screen and (max-width:991px) {
	#bnr_area a {
		max-width: 480px;
		margin: 0 auto;
	}
}




/* PAGETOP
 --------------------------------------------------*/
footer{
	position: relative;
}
#pagetop {
    /* display: none; */
}
#pagetop a {
    bottom:calc(100% - 20px);
    right: 30px;
    position: absolute;
    background: url(../img/btn_pagetop.png) no-repeat;
		background-size: 40px 40px;
		width: 40px;
		height: 40px;
		text-indent: 100%;
		white-space: nowrap;
		overflow:    hidden;
		z-index: 2;
}
#pagetop a.btnfixed{	
	position: fixed;
	bottom: 20px;
}
@media screen and (max-width:991px) {
	
}
@media (hover: hover) {
#pagetop a:hover {
	opacity: 0.7;
}
}





/* Footer
-------------------------------------------------------------------------------------------------------- */

#footer {
	padding: 30px 0 0;
	background: #333; /* Old browsers */
}



/* Navi */
.fn {
	margin-bottom: 30px;
}
.fn ul {
	padding-left: 15px;
}
.fn ul li {
	font-size: 12px;
	background: url(../img/icon_arrow_white.png) left 7px no-repeat;
	background-size: 4px 7px;
	padding-left: 12px;
	list-style: none;
}
.fn ul li a {
	display: block;
	margin-bottom: 15px;
	color: #F7F7F7;
}
.fn ul.child li {
	background: none;
	padding-left: 0px;
}

.fn ul.child {
	padding-left: 0;
}
.fn ul.child li a {
	font-weight: normal;
	font-size: 11px;
	display: block;
	margin-bottom: 3px;
	color: #aaa;
}

.fn ul.child li ul li {
	list-style: disc inside;
	font-size: 11px;
	font-weight: normal;
}

/* 下部ナビ */
#f_un {
	color: #CCC;
	font-size: 11px;
	background: #262626;
	padding-top: 10px;
	padding-bottom: 15px;
}
#f_un a {
	color: #CCC;
}
#f_un ul {
	padding-left: 0;
}
#f_un ul li {
	display: inline-block;
	margin: 0 15px 0 0;
	list-style: none;
}


/* Info */
.f_info {
	color: #F7F7F7;
	font-size: 12px;
	border-right: 1px solid #666;
	margin-bottom: 15px;
	padding-bottom: 5px;
}
.f_info .name {
	color: #F7F7F7;
	margin: 0 0 5px;
}
.f_info .detail {
	color: #CCC;
}

.approval {
	margin-bottom: 10px;
}
.sup_approval {
	display: inline-block;
	padding: 2px 4px;
	border: 1px solid #eee;
	color: #eee;
	font-size: 10px;
}



/* Copyright */
.copyright {
	font-family: 'Lora', serif;
	font-size: 10px;
	text-align: right;
}


@media screen and (max-width: 991px) {
	.f_info {
		margin-bottom: 30px;
		border: none;
	}
}

@media screen and (min-width: 769px) {
	#f_un li {
		background: url(../img/icon_arrow_yellow.png); background-size: 4px 7px; background-position: left center; background-repeat: no-repeat; padding-left: 10px;
	}
}

@media screen and (max-width: 768px) {
    .fn {
		margin-bottom: 0;
    	padding: 0 0 0px;
    }
    .fn_list {
		padding: 0;
	}
    .fn ul {
		padding: 0;
	}
	.fn ul.child {
		display: none;
	}
	.fn ul li {
		border-top: 1px solid #666;
		background: none;
		padding-left: 0;
	}
	.fn ul li a {
		margin-bottom: 0;
	}
	.fn a {
		display: block;
		padding-top: 10px;
		padding-bottom: 10px;
		padding-left: 15px;
	}
	.fn a:hover {
		background:  #444;
		text-decoration: none;
	}
	.fn_list.last {
		border-bottom: 1px solid #666;
	}
	#f_un {
		padding-top: 15px;
		border: none;
		text-align: center;
	}
	#f_un ul li {
		margin: 0 7px 0 0;
	}
	#f_un ul li a {
		display: block;
		background: #CCC;
		padding: 2px 8px;
		border-radius: 10px;
		color: #333;
		text-decoration: none;
	}
	#f_un ul li a:hover {
		background: #AAA;
	}
	
	/* Copyright */
	.copyright {
		text-align: center;
	}
}
