@charset "utf-8";
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;

	font-size: 1em;
}

body {
	font-size: 66%;
}

body,
table,
input, textarea, select, option {
	font-family: "Hiragino Kaku Gothic ProN","ProN W3","Hiragino Kaku Gothic Pro","Pro","YuGothic","Yu Gothic","Meiryo", Helvetica,sans-serif;
}

article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
	display: block;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}

del {
	text-decoration: line-through;
}

img {
	vertical-align: top;
}

a,
a:link {
	color: #040404;
	text-decoration: none;
}

a:visited {
	color: #040404;
}

a:hover {
	color: #040404;
}

a:active {
	color: #040404;
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	color: #333;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}

body.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	overflow-y: scroll;
}

#container {
	position: relative;
	padding-top: 99px;
	text-align: left;
}

a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}

.sp {
	display: none !important;
}

@media screen and (max-width: 767px) {
	body {
		min-width: inherit;
	}

	#container {
		padding-top: 59px;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}

	.sp {
		display: block !important;
	}
	
	.pc {
		display: none !important;
	}
	
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}

}

/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	margin-top: 99px;
	position: absolute;
	top: -99px;
	left: 0;
	width: 100%;
	padding: 23px 15px 0;
	border-top: 4px solid #E61A0F;
	box-sizing: border-box;
	z-index: 5000;
	background: #FFF;
}

#gHeader.fixed {
	position: fixed;
	margin-top: 0;
	top: 0;
	padding: 10px 15px 0;
	transition: top 0.65s ease-in;
	-webkit-transition: top 0.65s ease-in;
	-ms-transition: top 0.65s ease-in;
}

#gHeader .hBox {
	max-width: 1180px;
	margin: 0 auto;
}

#gHeader .hBox h1 {
	margin: 5px 0 0;
	float: left;
}

@media all and (min-width: 768px) {
	.menuBox {
		display: none !important;
	}
}

@media screen and (max-width: 767px) {
	#gHeader {
		margin-top: 0;
		top: 0;
		position: fixed;
		padding: 17px 17px 16px;
		border-top: 2px solid #E61A0F;
	}
	
	#gHeader .hBox {
		max-width: inherit;
	}
	
	#gHeader .hBox h1 {
		margin: 0;
		float: none;
	}
	
	.menu {
		position: absolute;
		right: 17px;
		top: 18px;
	}

	.menu a {
		display: block;
	}

	.menu.on a {
		background: url(../../img/common/close.jpg) no-repeat left top;
		background-size: 23px auto;
	}

	.menu.on a img {
		opacity: 0 !important;
	}
	
	.menuBox {
		display: none;
		width: 100%;
		max-height: calc(100% - 59px);
		position: fixed;
		left: 0;
		top: 59px;
		overflow-y: auto;
		background-color: #FEF9E5;
		box-shadow: 0 2px 2px rgba(153,153,153,0.5) inset;
		z-index: 10000 !important;
	}
			
	.menuBox ul li p {
		padding: 13px 20px 10px;
		color: #333;
		font-size: 1.36em;
		border-bottom: 1px solid #E8E5D4;
		background: url(../../img/common/sp_icon07.png) no-repeat center right 20px;
		background-size: 13px auto;
	}
	.menuBox ul li p.btn_on{
		background: url(../../img/common/sp_icon11.png) no-repeat center right 20px;
		background-size: 13px auto;
	}

	.menuBox > ul > li > a {
		padding: 13px 20px 10px;
		color: #333;
		font-size: 1.36em;
		display: block;
		font-weight: bold;
		border-bottom: 1px solid #E8E5D4;
		background: url(../../img/common/sp_icon08.png) no-repeat center right 20px;
		background-size: 13px auto;
	}
	
	.menuBox ul li li a {
		padding: 9px 36px 8px;
		display: block;
		color: #696969;
		font-size: 1.16em;
		border-bottom: 1px solid #E8E5D4;
		background: url(../../img/common/sp_icon08.png) no-repeat center right 20px;
		background-size: 13px auto;
	}
	
	.menuBox ul li ul {
		display: none;
	}
	
	.menuBox .searchBox {
		padding: 17px 0;
		margin: 0 auto;
		width: 345px;
	}
	
	.menuBox .searchBox input {
		margin-right: 2px;
		width: 297px;
		height: 40px;
		padding: 0 13px;
		font-size: 1.36em;
		box-sizing: border-box;
		background-color: #fff;
		border: 2px solid #CFCDC0;
		appearance: none;
		-webkit-appearance: none;
		border-radius: 0;
	}
	
	.menuBox .searchBox input::-webkit-input-placeholder { /* WebKit browsers */
	　　color:#BEBEBE;
		opacity:1;
	}
	
	.menuBox .searchBox input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	　　color:#BEBEBE;
		opacity:1;
	}
	
	.menuBox .searchBox input::-moz-placeholder {
		color: #BEBEBE;
		opacity:1;
	}
	
	.menuBox .searchBox input:-ms-input-placeholder { /* Internet Explorer 10+ */
	　　color:#BEBEBE;
		opacity:1;
	}

}

@media screen and (max-width: 355px) {
	.menuBox .searchBox {
		width: 310px;
	}
	
	.menuBox .searchBox input {
		width: 260px;
	}
	
}

/*------------------------------------------------------------
	gNavi
------------------------------------------------------------*/
#gNavi {
	max-width: 872px;
	float: right;
}

#gNavi > ul > li {
	margin: 0 30px;
	float: left;
}

#gNavi > ul .liStyle01 {
	margin: 0 0 0 2px;
}

#gNavi > ul > li > a {
	padding-bottom: 20px;
	display: block;
	text-align: center;
	position: relative;
	font-family: "游ゴシック","Yu Gothic","游ゴシック体","YuGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Meiryo UI","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}

#gHeader.fixed #gNavi > ul > li > a {
	padding-bottom: 5px;
}

#gNavi > ul > li > a:before {
	display: none;
	width: 100%;
	height: 5px;
	border-bottom: 5px solid #e71a0f;
	position: absolute;
	bottom: 0;
	left: 0;
  
	content: ""; 
}

#gNavi > ul > li > a:hover:before {
	display: block;
}

#gNavi > ul > .liStyle01 > a:hover:before {
	display: none;
}

#gNavi > ul > li > a span {
	margin-top: 6px;
	display: block;
	color: #000;
	font-weight: bold;
	font-size: 1.45em;
}

#gNavi .navi {
	display: none;
	width: 100%;
	position: absolute;
	left: 0;
	top: 100%;
	padding: 0 100px 0;
	background-color: #fdf9e5;
	box-sizing: border-box;
	box-shadow: 0 4px 4px rgba(0,0,0,0.2) inset;
}

#gNavi .navi .naviBox {
	padding: 50px 0;
	max-width: 1180px;
	margin: 0 auto;
}

#gNavi .navi .naviBox .photo {
	margin-right: 50px;
	float: left;
}

#gNavi .navi .naviBox .inner {
	max-width: 880px;
	float: left;
}

#gNavi .navi .naviBox .inner a {
	-webkit-transition: opacity .7s;
	transition: opacity .7s;
}

#gNavi .navi .naviBox .inner a:hover {
	opacity: 0.7;
}

#gNavi .navi .naviBox .inner .link {
	margin: 3px 0 22px;
}

#gNavi .navi .naviBox .inner .link a {
	padding-left: 36px;
	color: #333;
	font-size: 1.74em;
	background: url(../../img/common/icon12.jpg) no-repeat left center;
}

#gNavi .navi .naviBox .inner ul {
	margin-top: -17px;
}

#gNavi .navi .naviBox .inner ul li {
	margin: 17px 72px 0 0;
	float: left;
}

#gNavi .navi .naviBox .inner ul li:last-child {
	margin-right: 0;
}

#gNavi .navi .naviBox .inner ul li a {
	padding-left: 10px;
	color: #333;
	font-size: 1.36em;
	background: url(../../img/common/icon13.png) no-repeat left center;
}

#gNavi .navi .photoUl {
	padding: 61px 0 59px;
	text-align: left;
}

#gNavi .navi .photoUl01 {
/*	max-width: 1255px;*/
	margin: 0 auto;
	text-align: left;
}

#gNavi .navi .photoUl01 li span {
	text-align: left;
	display: inline-block;
}

#gNavi .navi .photoUl li {
	margin: 8px 14px 0;
	display: inline-block;
	vertical-align: top;
	text-align: center;
}

#gNavi .navi .photoUl li a {
	display: block;
	-webkit-transition: opacity .7s;
	transition: opacity .7s;
	
}


#gNavi .navi .photoUl li a:hover {
	opacity: 0.7;
}

#gNavi .navi .photoUl li img {
	margin-bottom: 10px;
	display: block;
}

#gNavi .navi .photoUl li a span {
	padding-left: 10px;
	color: #333;
	font-size: 1.36em;
	background: url(../../img/common/icon13.png) no-repeat left top 6px;
}

#gNavi .navi .searchBox {
	padding: 20px 0;
	max-width: 1180px;
	margin:  0 auto;
	text-align: right;
}

#gNavi .navi .searchBox a {
	-webkit-transition: opacity .7s;
	transition: opacity .7s;
}

#gNavi .navi .searchBox a:hover img {
	opacity: 0.7;
}

#gNavi .navi .searchBox input {
	margin-right: 11px;
	padding: 0 25px;
	width: 780px;
	height: 70px;
	font-size: 1.55em;
	box-sizing: border-box;
	background-color: #fff;
	border: 3px solid #CFCDC0;
	appearance: none;
	-webkit-appearance: none;
	border-radius: 0;
}

#gNavi .navi .searchBox input::-webkit-input-placeholder { /* WebKit browsers */
　　color:#BEBEBE;
	opacity:1;
	font-size: 1em;
}

#gNavi .navi .searchBox input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
　　color:#BEBEBE;
	opacity:1;
	font-size: 1em;
}

#gNavi .navi .searchBox input::-moz-placeholder {
	color: #BEBEBE;
	opacity:1;
	font-size: 1em;
}

#gNavi .navi .searchBox input:-ms-input-placeholder { /* Internet Explorer 10+ */
　　color:#BEBEBE;
	opacity:1;
	font-size: 1em;
}

.pad #gNavi > ul > li > a:hover:before {
	display: none !important;
}


@media screen and (max-width: 767px) {
	#gNavi {
		display: none;
	}
	
}

@media all and (min-width: 961px) and (max-width: 1110px) {
	#gNavi > ul > li {
		margin: 0 14px;
	}
	
}

@media all and (min-width: 841px) and (max-width: 960px) {
	#gNavi > ul > li {
		margin: 0 6px;
	}
	
}

@media all and (min-width: 768px) and (max-width: 840px) {
	#gHeader .hBox h1 img {
		width: 180px;
	}
	
	#gNavi > ul > li {
		margin: 0 3px;
	}
}

@media all and (min-width: 768px) and (max-width: 1100px) {
	#gNavi .navi .searchBox input {
		width: 575px;
	}
	
	#gNavi .navi .naviBox .photo {
		margin-right: 20px;
	}
	
	#gNavi .navi .naviBox .inner {
		max-width: 515px;
	}
}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	margin-top: 100px;
	position: relative;
	background-color: #171717;
	font-family: "游ゴシック","Yu Gothic","游ゴシック体","YuGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Meiryo UI","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}

#gFooter .fInner {
	padding: 55px 15px 16px;
	background-color: #DB3839;
}

#gFooter .fInner .fNavi {
	max-width: 1080px;
	margin: 0 auto;
}

#gFooter .fInner .fNavi > li {
	width: 20.6%;
	float: left;
}

#gFooter .fInner .fNavi > li:nth-child(2) {
	width: 18.5%;
}

#gFooter .fInner .fNavi > li:nth-child(3) {
	width: 19.2%;
}

#gFooter .fInner .fNavi > li:nth-child(4) {
	width: 26%;
}

#gFooter .fInner .fNavi > li:nth-child(5) {
	width: 15.7%;
}


#gFooter .fInner .fNavi li ul li p {
	margin-bottom: 23px;
	color: #fff;
	font-size: 1.55em;
	font-weight: bold;
}

#gFooter .fInner .fNavi li ul li p span {
	margin-top: 7px;
	display: block;
	color: #fddc01;
	font-size: 0.6em;
}

#gFooter .fInner .fNavi li ul li li {
	padding-bottom: 12px;
}

#gFooter .fInner .fNavi li ul li li a {
	padding-left: 10px;
	color: #fff;
	position: relative;
	font-weight: bold;
	font-size: 1.16em;
}

#gFooter .fInner .fNavi li ul li li a:hover {
	text-decoration: underline;
}

#gFooter .fInner .fNavi li ul li li a:before {
	width: 4px;
	border-top: 1px solid #fddc01;
	position: absolute;
	bottom: 7px;
	left: 0;
  
	content: ""; 
}

#gFooter .fInner .fNavi li ul .liStyle01 li a:before {
	border-top: 1px solid #fff;
}

#gFooter .fInner .fNavi li ul li {
	padding-bottom: 16px;
}

#gFooter .fBox {
	padding: 50px 15px 47px;
	background-color: #B82424;
}

#gFooter .fBox .fSub {
	max-width: 1080px;
	margin: 0 auto;
	position: relative;
}

#gFooter .fBox .fSub .sns {
	display: none;
	position: absolute;
	right: 0;
	top: 50px;
}

#gFooter .fBox .fSub .fLogo {
	margin-right: 41px;
	float: left;
}

#gFooter .fBox .fSub .rBox {
	padding-left: 40px;
	float: left;
	border-left: 1px solid #fff;
}

#gFooter .fBox .fSub .rBox ul {
	margin-top: -2px;
	text-align: left;
}

#gFooter .fBox .fSub .rBox ul li {
	padding-right: 66px;
	display: inline-block;
}

#gFooter .fBox .fSub .rBox ul li a {
	padding-left: 29px;
	color: #fff;
	font-weight: bold;
	font-size: 1.36em;
	background: url(../../img/common/icon11.png) no-repeat left center;
	background-size: 18px auto;
}

#gFooter .fBox .fSub .rBox ul li a:hover {
	text-decoration: underline;
}

#gFooter .fBox .fSub .rBox p {
	margin-top: 13px;
	color: #fff;
	line-height: 1.86;
	font-size: 1.36em;
}

#gFooter .fBox .fSub .rBox a {
	color: #fff;
}

#gFooter .copyright {
	max-width: 1110px;
	margin: 0 auto;
	color: #fff;
	font-size: 1.16em;
	padding: 23px 15px 19px;
	text-align: right;
	letter-spacing: 0.7px;
	box-sizing: border-box;
}

.fIcon {
	margin-left: -70px;
	position: absolute;
	left: 50%;
	top: -70px;
}

@media screen and (max-width: 767px) {
	#gFooter .fInner {
		padding: 35px 20px 16px;
	}
	
	#gFooter .fInner .fNavi {
		max-width: inherit;
		border-bottom: 1px solid #FFF;
	}
	
	#gFooter .fInner .fNavi > li {
		width: auto !important;
		float: none;
	}
		
	#gFooter .fInner .fNavi li ul li p {
		margin-bottom: 0;
		padding: 11px 0 10px;
		font-size: 1.45em;
		font-weight: normal;
		border-top: 1px solid #fff;
		background: url(../../img/common/sp_icon05.png) no-repeat center right 15px;
		background-size: 12px auto;
	}
	
	#gFooter .fInner .fNavi li ul li a {
		margin-bottom: 0;
		padding: 11px 0 10px;
		font-size: 1.45em;
		display: block;
		font-weight: normal;
		color: #fff;
		border-top: 1px solid #fff;
		background: url(../../img/common/sp_icon06.png) no-repeat center right 15px;
		background-size: 12px auto;
	}
	
	#gFooter .fInner .fNavi li ul li p span {
		display: none;
	}
	
	#gFooter .fInner .fNavi li ul li ul {
		display: none;
	}

	#gFooter .fInner .fNavi li ul li li {
		padding-bottom: 0;
	}
	
	#gFooter .fInner .fNavi li ul li li a {
		padding: 12px 20px 9px;
		display: block;
		border-bottom: 1px solid #EA6C6F;
		background: url(../../img/common/sp_icon06.png) no-repeat center right 15px;
		background-size: 12px auto;
	}
	
	#gFooter .fInner .fNavi li ul li li a:before {
		width: 3px;
		border-top: 1px solid #EA6C6F;
		bottom: 17px;
		left: 10px;
	}
		
	#gFooter .fInner .fNavi li ul li {
		padding-bottom: 0;
	}
	
	#gFooter .fBox {
		padding: 30px 20px 22px;
	}
	
	#gFooter .fBox .fSub {
		max-width: inherit;
	}
	
	#gFooter .fBox .fSub .sns {
		top: 0;
	}
	
	#gFooter .fBox .fSub .sns img {
		width: 38px;
	}
	
	#gFooter .fBox .fSub .fLogo {
		margin: 0 0 21px;
		float: none;
	}
	
	#gFooter .fBox .fSub .fLogo img {
		width: 140px;
	}
	
	#gFooter .fBox .fSub .rBox {
		padding-left: 0;
		float: none;
		border-left: none;
	}
	
	#gFooter .fBox .fSub .rBox ul {
		margin-top: 0;
	}
	
	#gFooter .fBox .fSub .rBox ul li {
		padding-right: 36px;
	}
	
	#gFooter .fBox .fSub .rBox ul li a {
		padding-left: 20px;
		font-size: 1.26em;
		background-size: 12px auto;
	}
	
	#gFooter .fBox .fSub .rBox p {
		margin-top: 5px;
		line-height: 1.77;
		font-size: 1.26em;
	}
		
	#gFooter .copyright {
		max-width: inherit;
		font-size: 0.8em;
		padding: 14px 5px;
		text-align: center;
		letter-spacing: 0;
	}
	
	#gFooter .fInner .fNavi li ul li li a:hover {
		text-decoration: none;
	}
	
	#gFooter .fBox .fSub .rBox ul li a:hover {
		text-decoration: none;
	}
	
	.fIcon {
		margin-left: -35px;
		top: -35px;
	}
	
	.fIcon img {
		width: 70px;
	}
	
}





/*------------------------------------------------------------
	190319追記_Gナビに閉じるボタン追加
------------------------------------------------------------*/
#gNavi .navi .photoUl{
	padding-right:135px;
	position: relative;
}
#gNavi .navi .close {
/*	width: 105px;*/
	position:absolute;
	top: 70px;
	right: 150px;
}
#gNavi .navi .close img {
	width: 80px;
	cursor:pointer;
}
