@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: 10px;
}

body,
table,
input,
textarea,
select,
option {
	font-family: "Gothic MB101 Regular JIS2004", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", 'ヒラギノ角ゴ ProN W3', "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

h1,
h2 {
	font-family: "Gothic MB101 Medium JIS2004", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", 'ヒラギノ角ゴ ProN W3', "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", 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: #000;
	text-decoration: none;
}

a:visited {
	color: #000;
	text-decoration: none;
}

a:hover {
	color: #000;
	text-decoration: underline;
}

a:active {
	color: #000;
	text-decoration: underline;
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1280px;
	color: #000;
	font-size: 1.5rem;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}

#container {
	padding-top: 53px;
	text-align: left;
}

#main {
	padding: 95px 0 90px;
	background-color: #FFFFFF;
}

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

.sp {
	display: none !important;
}

@media all and (min-width: 768px) and (max-width: 1024px) {}

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

	a:hover,
	a:hover img {
		opacity: 1 !important;
	}

	.sp {
		display: inline-block !important;
	}

	.pc {
		display: none !important;
	}

	.fff {
		display: none !important;
	}

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

	#main {
		padding: 0 0 40px;
	}

	#container {
		padding-top: 53px;
	}

}

/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	padding: 10px 10px 0px;
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 100;
	box-sizing: border-box;
	background-color: #FFF;
}

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

#gHeader .logo {
	margin-right: 30px;
	float: left;
}

#gHeader .hLinkList {
	margin-top: 0px;
	width: 330px;
	float: right;
}

#gHeader .hLinkList li {
	float: right;
}

#gHeader .hLinkList li:last-child {
	float: right;
}

#gHeader .hLinkList li a {
	padding: 14px 14px 14px 45px;
	display: block;
	background: url(../../img/common/contact.png) no-repeat left center;
}

#gHeader .hLinkList li a:hover {
	color: #FFFFFF;
	text-decoration: none;
	background-image: url(../../img/common/contact_over.png);
	background-color: #2E2E2E;
}

#gHeader .hLinkList li:nth-child(2) a {
	padding-left: 45px;
	background: url(../../img/common/contact.png) no-repeat left center;
}

#gHeader .hLinkList li:nth-child(2) a:hover {
	color: #FFFFFF;
	text-decoration: none;
	background-image: url(../../img/common/contact_over.png);
	background-color: #2E2E2E;
}

#gHeader .hLinkList li a span {
	font-size: 1.5rem;
}

@media all and (min-width: 0) and (max-width: 767px) {
	#gHeader {
		padding: 10px 22px 8px 19px;
		position: fixed;
	}

	#gHeader .hBox {
		margin: 0 auto;
		width: auto;
	}

	#gHeader .logo {
		margin-right: 0;
	}

	#gHeader .logo img {
		width: 86px;
		height: auto;
	}

	#gHeader .hLinkList {
		margin-top: 4px;
		width: 90px;
	}

	#gHeader .hLinkList li a {
		padding: 0;
		background: none;
		padding: 0px 0px 0px 14px;
	}

	#gHeader .hLinkList li a img {
		width: 27px;
		height: auto;
	}

	#gHeader .hLinkList li a:hover {
		padding: 0px 0px 0px 14px;
		background: none;
	}

	#gHeader .hLinkList li:nth-child(2) a {
		padding: 0px 0px 0px 14px;
		background: none;
	}

	#gHeader .hLinkList li:nth-child(2) a:hover {
		padding: 0px 0px 0px 14px;
		background: none;
	}

	#gHeader .hLinkList li:last-child a {
		padding: 0px 0px 0px 14px;
		background: none;
	}

	#gHeader .hLinkList li:last-child a:hover {
		background: none;
	}

	#gHeader .hLinkList li:last-child a img {
		width: 27px;
		height: auto;
	}

	#gHeader .menuBox {
		width: 100%;
		display: none;
		height: calc(100vh - 58px);
		overflow: auto;
		position: absolute;
		left: 0;
		top: 100%;
		z-index: 10000;
		border-bottom: 5px solid #FFF;
		background-color: #414141;
	}

	#gHeader .menuBox .naviList {
		padding-bottom: 30px;
	}

	#gHeader .menuBox li a {
		padding: 12px 0;
		display: block;
		color: #FFF;
		font-size: 1.4rem;
		text-align: center;
		border-bottom: 1px solid #666;
	}

	#gHeader .menuBox li a:hover {
		text-decoration: none;
	}

	#gHeader .menuBox li:last-child a {
		border-bottom: none;
	}

	#gHeader .menuBox li .ttl {
		position: relative;
	}

	#gHeader .menuBox li .ttl .icon {
		margin-top: -22px;
		padding-top: 7px;
		width: 100%;
		height: 36px;
		position: absolute;
		right: 10px;
		top: 50%;
		cursor: pointer;
		background: url(../../img/common/icon10.png) no-repeat right center;
		background-size: 8px 8px;

		content: "";
	}

	#gHeader .menuBox li .ttl.on .icon {
		background-image: url(../../img/common/icon11.png);
	}

	#gHeader .menuBox li .navi {
		padding: 0 10px;
		display: none;
		background-color: #C8C8C8;
	}

	#gHeader .menuBox li .navi a {
		color: #000;
	}
}

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

/*------------------------------------------------------------
	gNavi
------------------------------------------------------------*/
#gNavi {
	float: left;
}

#gNavi li {
	margin-right: 0px;
	float: left;
}

#gNavi li a {
	padding: 14px 14px;
	display: block;
	font-size: 1.5rem;
	letter-spacing: -0.5px;
}

#gNavi li a:hover {
	color: #FFFFFF;
	text-decoration: none;
	background-color: #000;
}

#gNavi .liStyle {
	position: relative;
}

#gNavi .liStyle .subNavi {
	padding: 0px 0;
	width: 200px;
	display: none;
	position: absolute;
	left: 0;
	top: 100%;
	z-index: 10;
	background-color: #FFF;
}


#gNavi .liStyle .subNavi li {
	float: none;
}

#gNavi .liStyle .subNavi li a {
	padding: 10px 20px;
}


#gNavi .liStyle .subNavi.megaMenu {
	width: initial;
}

#gNavi .liStyle .subNavi.megaMenu .megaMenuBox {
	display: flex;
	padding: 20px 40px;
}

#gNavi .liStyle .subNavi.megaMenu .megaMenuBox div {
	width: 300px;
}

#gNavi .liStyle .subNavi.megaMenu .megaMenuBox div:first-of-type {
	margin-right: 80px;
}

#gNavi .liStyle .subNavi.megaMenu .megaMenuBox div p {
	padding: 10px 20px;
	padding-bottom: 5px;
	font-size: 1.7rem;
	border-bottom: 1px solid #000;
}

#gNavi .liStyle .subNavi.megaMenu .megaMenuBox ul li a span {
	font-size: 12px;
}

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

/*------------------------------------------------------------
	パンクズリスト
------------------------------------------------------------*/
#pagePath {
	padding: 0 16px;
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	box-sizing: border-box;
	background: rgba(0, 0, 0, 0.4);
}

#pagePath ul {
	margin: 0 auto;
	width: 1180px;
}

#pagePath li {
	margin-right: 15px;
	padding: 16px 22px 16px 0;
	display: inline-block;
	color: #FFF;
	font-size: 1.4rem;
	background: url(../../img/common/icon13.png) no-repeat center right;
}

#pagePath li:last-child {
	padding-right: 0;
	background: none;
}

#pagePath li a {
	padding-right: 20px;
	color: #FFF;
	font-size: 1.4rem;
}

@media all and (min-width: 0) and (max-width: 767px) {
	#pagePath {
		display: none
	}
}

/*------------------------------------------------------------
	conts
------------------------------------------------------------*/
#conts {}

@media all and (min-width: 0) and (max-width: 767px) {}

/*------------------------------------------------------------
	sideBar
------------------------------------------------------------*/
#sideBar {}

@media all and (min-width: 0) and (max-width: 767px) {}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	padding: 40px 0 15px;
	border-top: 8px solid #535353;
	background-color: #262626;
}

#gFooter .pageTop {
	position: fixed;
	bottom: 50px;
	right: 50px;
	z-index: 10;
	background-color: #FFF;
}

#gFooter .pageTop a:hover {
	filter: alpha(opacity=70);
	opacity: 0.7;
}

#gFooter .photoList {
	margin: 0 auto 48px;
	width: 1180px;
}

#gFooter .photoList li {
	margin-right: 12px;
	float: left;
}

#gFooter .photoList li a {
	display: block;
}

#gFooter .photoList li a:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
}

#gFooter .photoList li:last-child {
	margin-right: 0;
}

#gFooter .topTxt {
	display: none;
}

#gFooter .fBox {
	margin: 0 auto 69px;
	width: 1180px;
}

#gFooter .fBox .menuTxt {
	display: none;
}

#gFooter .fNavi {
	width: 880px;
	float: left;
}

#gFooter .fNavi li {
	margin-bottom: 9px;
}

#gFooter .fNavi li a {
	display: block;
	color: #FFF;
	font-size: 1.4rem;
}

#gFooter .fNavi>li {
	margin-right: 95px;
	float: left;
}

#gFooter .fNavi>li ul {
	margin-top: 0px;
}

#gFooter .fNavi>li li {
	margin-top: 9px;
}

#gFooter .fNavi>li li:first-child {
	margin-top: 0;
}

#gFooter .fNavi>li:nth-child(7) {
	float: none;
}

#gFooter .fLinkBox {
	margin-top: 35px;
	width: 286px;
	float: right;
}

#gFooter .fLinkBox .contact {
	margin-bottom: 13px;
}

#gFooter .fLinkBox .contact a {
	padding: 10px 5px;
	display: block;
	color: #FFF;
	font-size: 1.4rem;
	text-align: center;
	letter-spacing: -1px;
	border: 1px solid #FFF;
}

#gFooter .fLinkBox .contact a span {
	font-size: 1.4rem;
}

#gFooter .fLinkBox .contact a:hover {
	text-decoration: none;
	color: #000;
	background-color: #FFF;
}

#gFooter .fLinkBox .tel {
	width: 210px;
	float: right;
	color: #FFF;
	font-size: 1.4rem;
	letter-spacing: -1px;
	text-align: right;
}

#gFooter .fLinkBox .tel a {
	margin-top: 4px;
	display: block;
	color: #FFF;
	font-size: 2.3rem;
	letter-spacing: 1px;
}

#gFooter .fLinkBox .tel span {
	font-size: 1.4rem;
	word-break: break-all;
}

#gFooter .contactTxt {
	display: none;
}

#gFooter .fLogo {
	display: none;
}

#gFooter .copyright {
	color: #FFF;
	font-size: 1.1rem;
	text-align: center;
}

@media all and (min-width: 0) and (max-width: 767px) {
	#gFooter {
		padding: 0 0 11px;
		border-top: none;
		background-color: #2E2E2E;
	}

	#gFooter .pageTop {
		bottom: 20px;
		right: 20px;
	}

	#gFooter .pageTop img {
		width: 60px;
		height: 60px;
	}

	#gFooter .topTxt {
		display: block;
		font-size: 1.4rem;
		text-align: center;
	}

	#gFooter .topTxt a {
		font-size: 1.4rem;
		padding: 11px 7px;
		display: block;
		color: #FFF;
		text-decoration: none;
		background: #424242 url(../../img/common/sp_f_bg01.jpg) repeat-x left bottom;
		background-size: 1px auto;
	}

	#gFooter .fBox {
		margin: 0 0 14px;
		width: auto;
	}

	#gFooter .fBox .menuTxt {
		display: block;
	}

	#gFooter .fBox .menuTxt a {
		padding: 12px 8px 8px;
		display: block;
		position: relative;
		color: #FFF;
		font-size: 1.4rem;
		text-align: center;
		text-decoration: none;
		background: #424242 url(../../img/common/sp_f_bg01.jpg) repeat-x left bottom;
		background-size: 1px auto;
	}

	#gFooter .fBox .menuTxt a:before {
		margin-top: -4px;
		width: 16px;
		height: 16px;
		background: url(../../img/common/icon10.png) no-repeat;
		position: absolute;
		top: 50%;
		right: 2px;
		background-size: 8px 8px;
		content: "";
	}

	#gFooter .fBox .menuTxt a.on:before {
		background-image: url(../../img/common/icon11.png);
	}

	#gFooter .fNavi {
		width: auto;
		float: none;
		display: none;
	}

	#gFooter .fNavi li {
		margin-bottom: 0px;
	}

	#gFooter .fNavi>li {
		padding: 0 10px;
		width: 100%;
		box-sizing: border-box;
		background-color: #424142;
		background-size: 1px auto;
	}

	#gFooter .fNavi li a {
		padding: 11px 5px 8px;
		position: relative;
		display: block;
		text-align: center;
		text-decoration: none;
		font-size: 1.4rem;
		border-bottom: 2px solid #4C4C4C;
	}

	#gFooter .fNavi .liStyle>a {
		background: url(../../img/common/icon10.png) no-repeat right center;
		background-size: 8px 8px;
	}

	#gFooter .fNavi .liStyle>a.on {
		background-image: url(../../img/common/icon11.png);
	}

	#gFooter .fNavi>li:last-child {
		margin-top: 0;
	}

	#gFooter .fNavi>li:last-child a {
		border-bottom: none;
	}

	#gFooter .fNavi>li:nth-child(1) {
		float: left;
	}

	#gFooter .fNavi>li ul {
		margin-top: -1px;
	}

	#gFooter .fNavi>li li {
		margin-top: 0;
		padding: 0 10px;
		background-color: #C7C7C7;
	}

	#gFooter .fNavi>li li a {
		margin-top: 0;
		padding: 6px 5px;
		color: #000;
		background: none;
		border-bottom: 1px solid #A5A5A5;
	}

	#gFooter .fNavi>li li:last-child a {
		border-bottom: 0;
	}

	#gFooter .fNavi li .fSubNavi {
		margin: 0 -10px;
		display: none;
	}

	#gFooter .fNavi li .ttl {
		position: relative;
	}

	#gFooter .fNavi li .ttl .icon {
		margin-top: -13px;
		width: 26px;
		height: 26px;
		position: absolute;
		right: 0;
		top: 50%;
		cursor: pointer;
		background: url(../../img/common/icon10.png) no-repeat right center;
		background-size: 8px 8px;

		content: "";
	}

	#gFooter .fNavi li .ttl.on .icon {
		background-image: url(../../img/common/icon11.png);
	}

	#gFooter .contactTxt {
		margin: 19px 0 12px;
	}

	#gFooter .contactTxt a {
		display: block;
		color: #FFF;
		font-size: 1.2rem;
		text-align: center;
		text-decoration: none;
	}

	#gFooter .fLinkBox {
		margin-top: 0;
		width: 85%;
		margin: 0 auto;
		float: none;
		overflow: hidden;
		zoom: 1;
	}

	#gFooter .fLinkBox .contact {
		margin-bottom: 0;
		float: left;
		width: 50%;
	}

	#gFooter .fLinkBox .contact a {
		padding: 5px 5px 4px;
		letter-spacing: 0;
		border: none;
		border-left: 1px solid #FFF;
	}

	#gFooter .fLinkBox .contact a span {
		font-size: 1.2rem;
	}

	#gFooter .fLinkBox .contact a:hover {
		text-decoration: none;
	}

	#gFooter .fLinkBox .tel {
		width: 50%;
		float: left;
		font-size: 1.2rem;
		letter-spacing: -1px;
	}

	#gFooter .fLinkBox .tel a {
		margin-top: 0;
		padding: 5px 5px 4px;
		font-size: 1.2rem;
		text-align: center;
		text-decoration: none;
		border-left: 1px solid #FFF;
		border-right: 1px solid #FFF;
	}

	#gFooter .fLogo {
		margin-top: 19px;
		display: block;
		text-align: center
	}

	#gFooter .fLogo img {
		width: 60px;
		height: auto;
	}

	#gFooter .copyright {
		font-size: 0.7rem;
		letter-spacing: 0.6px;
	}

}