@charset "utf-8";
/*------------------------------------------------------------
	トープページ
------------------------------------------------------------*/
#main .mainVisual {
	margin-bottom: 41px;
	position: relative;
}

#main .mainVisual .img {
	width: 100%;
}

#main .mainVisual .photo01 {
	width: 100%;
	margin-top: -70px;
	position: absolute;
	left: 0;
	top: 50%;
	text-align: center;
}

#main .mainVisual .photo02 {
	/* margin-right: -502px; */
	margin: auto;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: flex-end;
}
#main .mainVisual .photo02 a {
	display: block;
	width: 225px;
	height: auto;
	margin: 0 0 0 10px;
}
#main .mainVisual .photo02 a:nth-of-type(1) {
	margin: 0;
}
#main .mainVisual .photo02 a img {
	display: block;
	width: 100%;
	height: auto;
}
#main .mainVisual .photo02 a:hover img {
	filter: alpha(opacity=70);
	opacity: 0.7;
}
#main ul.link01 {
	width: 680px;
	height: auto;
	margin: 0 auto 50px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#main ul.link01 a {
	display: block;
	width: 30%;
	height: auto;
}
#main ul.link01 a img {
	display: block;
	width: 100%;
	height: auto;
}
#main .linkUl {
	width: 871px;
	margin: 0 auto 79px;
	display: flex;
	justify-content: center;
}

#main .linkUl li {
	width: 130px;
	margin-right: 55px;
	position: relative;
	text-align: center;
}

#main .linkUl li:before {
	width: 29px;
	height: 41px;
	background: url(../img/common/icon03.png) no-repeat right top;
	position: absolute;
	top: 4px;
	right: -42px;
	content: "";
}
#main .linkUl li:last-of-type {
	margin-right: 0;
}
#main .linkUl li:last-of-type:before {
	display: none;
}
#main .linkUl .liStyle:before {
	display: none;
}

#main .linkUl .liStyle {
	margin-right: 0;
}

#main .linkUl li a {
	display: block;
	font-size: 17px;
	font-weight: bold;
	letter-spacing: 4px;
	text-align: center;
}

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

#main .linkUl li a span {
	margin-top: 4px;
	display: block;
	font-size: 10px;
	letter-spacing: 2px;
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
}

#main .aboutBox {
	width: 860px;
	margin: 0 auto 50px;
	position: relative;
}

#main .aboutBox .icon01 {
	margin-right: -551px;
	position: absolute;
	right: 50%;
	top: -17px;
}

#main .aboutBox .icon02 {
	margin-left: -561px;
	position: absolute;
	left: 50%;
	bottom: -33px;
}

#main .aboutBox p {
	margin-bottom: 23px;
	position: relative;
	z-index: 1;
	text-align: center;
	line-height: 2.32;
	font-weight: bold;
	letter-spacing: 4.5px;
}

#main .aboutBox .title {
	margin-bottom: 7px;
	font-size: 22px;
	letter-spacing: 6px;
}

#main .aboutBox ul {
	text-align: center;
}

#main .aboutBox ul li {
	margin: 0 13px 0 22px;
	display: inline-block;
}

#main .menuBox {
	margin-bottom: 96px;
}

#main .menuBox .headLine01 {
	margin-bottom: 36px;
}

#main .menuBox .photoUl {
	width: 1000px;
	margin: 0 auto 72px;
}

#main .menuBox .photoUl li {
	width: 278px;
	margin-right: 80px;
	float: left;
}

#main .menuBox .photoUl .liStyle {
	margin-right: 0;
}

#main .menuBox .photoUl li .text {
	margin-bottom: 20px;
	line-height: 1.6;
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
	letter-spacing: 1px;
}

#main .menuBox .photoUl li .title {
	margin: 18px 0 14px;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	letter-spacing: 3px;
}

#main .menuBox .photoUl li .title span {
	margin-top: 5px;
	display: block;
	font-size: 14px;
	color: #458E93;
	font-weight: normal;
	letter-spacing: 2px;
}

#main .menuBox .photoUl li .comLink {
	width: 277px;
	background: url(../img/common/bg02.png) no-repeat left top;
}

#main .menuBox .photoUl li .comLink span {
	padding: 15px 18px 15px 7px;
}

#main .menuBox .imgBox {
	width: 801px;
	margin: 0 auto 58px;
	padding-top: 40px;
	position: relative;
	background: url(../img/index/line01.png) repeat-x left top;
}

#main .menuBox .imgBox .icon {
	position: absolute;
	right: -111px;
	top: 16px;
}

#main .menuBox .imgBox01 .icon {
	right: inherit;
	top: 34px;
	left: -133px;
}

#main .menuBox .imgBox02 {
	margin-bottom: 100px;
	padding-bottom: 51px;
	background: url(../img/index/line01.png) repeat-x left top, url(../img/index/line01.png) repeat-x left bottom;
}

#main .menuBox .imgBox02 .icon {
	top: 166px;
	right: -152px;
}

#main .menuBox .imgBox .headLine01 {
	margin-bottom: 32px;
	letter-spacing: 3px;
}

#main .menuBox .imgBox .headLine01 img {
	margin: -6px 10px 0 0;
	display: inline-block;
	vertical-align: middle;
}

#main .menuBox .imgBox .photo {
	margin-bottom: 25px;
	position: relative;
	z-index: 1;
}

#main .menuBox .imgBox .text {
	margin-bottom: 34px;
	line-height: 2;
	font-weight: bold;
	letter-spacing: 2px;
}

/*#main .menuBox .imgBox .priceBox {
	width: 100%;
	display: table;
	padding: 34px 50px 33px 87px;
	position: relative;
	color: #458E93;
	font-size: 16px;
	line-height: 2.16;
	font-weight: bold;
	background-color: #F5F9FA;
	box-sizing: border-box;
}

#main .menuBox .imgBox .priceBox p {
	width: 20%;
	display: table-cell;
	vertical-align: middle;
	background: url(../img/index/line02.png) repeat-y right top;
	letter-spacing: 2px;
}

#main .menuBox .imgBox .priceBox ul {
	padding-left: 65px;
	display: table-cell;
	vertical-align: middle;
	box-sizing: border-box;
}

#main .menuBox .imgBox .priceBox ul li {
	width: 219px;
	padding-right: 10px;
	float: left;
	letter-spacing: 3px;
	box-sizing: border-box;
}

#main .menuBox .imgBox .priceBox .txt {
	position: absolute;
	right: 45px;
	bottom: 31px;
	font-size: 10px;
	letter-spacing: 1px;
}*/

#main .menuBox .textImg {
	text-align: center;
}

#main .menuBox .textImg a:hover img {
	filter: alpha(opacity=70);
	opacity: 0.7;
}

/*#main .staffBox {
	margin-bottom: 95px;
}

#main .staffBox .headLine01 {
	margin-bottom: 33px;
}

#main .staffBox ul {
	width: 988px;
	margin: 0 auto;
}

#main .staffBox ul li {
	width: 440px;
	float: left;
}

#main .staffBox ul .liStyle {
	float: right;
}

#main .staffBox ul li .photo {
	margin-bottom: 11px;
	text-align: center;
}

#main .staffBox ul li p {
	line-height: 1.89;
	font-weight: bold;
}

#main .staffBox ul li p span {
	display: block;
	font-size: 22px;
	letter-spacing: 3px;
}*/

#main .shopBox {
	margin-bottom: 96px;
	position: relative;
}

#main .shopBox .icon01 {
	margin-right: -573px;
	position: absolute;
	right: 50%;
	top: -16px;
}

#main .shopBox .headLine01 {
	margin-bottom: 30px;
}

#main .shopBox ul {
	margin-bottom: 32px;
	position: relative;
	z-index: 1;
}

#main .shopBox li {
	width: 33.33%;
	float: left;
}

#main .shopBox li img {
	width: 100%;
}

#main .shopBox .photo {
	margin-bottom: 18px;
	text-align: center;
}

#main .shopBox p {
/*	text-align: center;*/
	line-height: 1.89;
	font-weight: bold;
	letter-spacing: 1.5px;
}
#main .shopBox .textBox {
	position: relative;
	overflow: hidden;
}

#main .shopBox .textBox .icon02 {
	margin-left: -495px;
	position: absolute;
	left: 50%;
	top: -69px;
	z-index: -1;
}

#main .shopBox .textBox .shop_list img{
	display: block;
	width: 100%;
	/* margin-bottom: 10px; */
}

@media only screen and (min-width: 768px) {
	#main .shopBox .textBox .shop_list{
		width: 1000px;
		margin: 20px auto;
		padding: 50px 0;
		overflow: hidden;
		border-bottom: 1px solid #aaa;
	}
	#main .shopBox .textBox .shop_list .shop_list_01 {
		width: 100%;
		height: auto;
		display: flex;
		justify-content: space-between;
		align-items: stretch;
	}

	#main .shopBox .textBox .shop_list img{
		display: block;
		width: 45%;
		height: auto;
	}
	#main .shopBox .textBox .shop_list .shop_list_inner{
		width: 50%;
		position: relative;
	}
	#main .shopBox .textBox .shop_list .shop_list_01 .shop_list_inner .link01 {
		display: block;
		width: auto;
		height: auto;
		position: absolute;
		bottom: 0;
		left: 0;
		display: flex;
		justify-content: flex-start;
		align-items: flex-end;
	}
	#main .shopBox .textBox .shop_list .shop_list_01 .shop_list_inner .link01 a {
		display: block;
		width: 200px;
		height: auto;
	}
	#main .shopBox .textBox .shop_list .shop_list_01 .shop_list_inner .link01 a:hover {
		opacity: 0.7;
	}
	#main .shopBox .textBox .shop_list .shop_list_01 .shop_list_inner .link01 a.link01_02 {
		width: 120px;
		margin-left: 20px;
	}
	#main .shopBox .textBox .shop_list .shop_list_01 .shop_list_inner .link01 a img {
		display: block;
		width: 100%;
		height: auto;
	}
	#main div#a04.shopBox div.textBox div.shop_list .map{
		clear: both;
		float: left;
		width: 100%;
		margin-top: 30px;
	}
}


@media only screen and (max-width: 767px) {
	#main div#a04.shopBox div.textBox div.shop_list{
	width: 100%;
	margin: 0 auto;
	padding: 20px 0;
	border-bottom: 1px solid #aaa;
}
#main div#a04.shopBox div.textBox div.shop_list .map iframe
{
	margin-top: 20px;
	height: 300px;
}
}

#main .shopBox .textBox .icon03 {}
#main .shopBox .textBox .icon03 a{
	display: block;
	width: 32px;
	margin: 20px auto 0;
}
#main .shopBox .textBox .icon03 a:hover img {
	filter: alpha(opacity=70);
	opacity: 0.7;
}

#main .accessBox {
	margin-bottom: 90px;
}

#main .accessBox .headLine01 {
	margin-bottom: 25px;
}

#main .accessBox .map {
	width: 1000px;
	margin: 0 auto 96px;
	text-align: center;
}

#main .accessBox .map iframe {
	width: 100%;
	height: 359px;
}

#main .accessBox .map p {
	margin-top: 19px;
	font-weight: bold;
	letter-spacing: 1.5px;
}

#main .accessBox .textBox {
	width: 1001px;
	margin: 0 auto;
	padding: 44px 0 25px;
	position: relative;
	background: url(../img/index/bg01.png) no-repeat left top;
}

#main .accessBox .textBox .icon01 {
	position: absolute;
	left: 72px;
	top: 32px;
}

#main .accessBox .textBox .icon02 {
	position: absolute;
	right: -1px;
	bottom: 0;
}

#main .accessBox .textBox p {
	margin-bottom: 15px;
	color: #542901;
	font-size: 24px;
	text-align: center;
	line-height: 1.64;
	letter-spacing: 3.5px;
	position: relative;
	z-index: 1;
}

#main .accessBox .textBox p span {
	position: relative;
	display: inline-block;
}

#main .accessBox .textBox p span span {
	position: absolute;
	font-size: 12px;
	left: 87px;
	top: -14px;
}

#main .accessBox .textBox .link a {
	width: 252px;
	margin: 0 auto;
	padding: 10px 0;
	display: block;
	color: #fff;
	text-align: center;
	background: url(../img/index/bg02.png) repeat left top;
	letter-spacing: 2px;
}

#main .accessBox .textBox .link a:hover {
	filter: alpha(opacity=70);
	opacity: 0.7;
}

#main .btnLink {
	width: 300px;
	margin: 0;
}

#main .btnLink li {
	width: 125px;
	text-align: center;
	margin-left: 36px;
	float: left;
	position: relative;
}
#main .btnLink li:nth-of-type(1) {
	margin-left: 0;
}

#main .btnLink li:before {
	width: 26px;
	height: 37px;
	background: url(../img/common/icon06.png) no-repeat left top;
	position: absolute;
	top: 2px;
	left: -31px;

	content: "";
}

#main .btnLink li:first-child:before {
	display: none;
}

#main .btnLink li a {
	display: block;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 4px;
}

#main .btnLink li a span {
	margin-top: 4px;
	display: block;
	font-size: 9px;
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
	letter-spacing: 2px;
}

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

@media all and (min-width: 0) and (max-width: 767px) {
	#main ul.link01 {
		width: 90%;
		height: auto;
		margin: 0 auto 30px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	#main ul.link01 a {
		display: block;
		width: 30%;
		height: auto;
	}
	#main ul.link01 a img {
		display: block;
		width: 100%;
		height: auto;
	}
	
	#main .mainVisual {
		margin-bottom: 30px;
	}

	#main .mainVisual .photo01 {
		margin-top: -45px;
	}

	#main .mainVisual .photo01 img {
		width: 180px;
	}
	#main .linkUl {
		display: none;
	}

	#main .aboutBox {
		width: auto;
		margin: 0 10px 30px;
	}

	#main .aboutBox .icon01 {
		display: none;
	}

	#main .aboutBox .icon02 {
		display: none;
	}

	#main .aboutBox p {
		margin-bottom: 15px;
		line-height: 1.6;
		letter-spacing: 2px;
		text-align: left;
	}

	#main .aboutBox .title {
		margin-bottom: 10px;
		font-size: 15px;
		letter-spacing: 3px;
		text-align: center;
	}

	#main .aboutBox ul li {
		margin: 0 5px;
	}

	#main .menuBox {
		margin: 0 10px 30px;
	}

	#main .menuBox .photoUl {
		width: auto;
		margin: 0 auto 20px;
	}

	#main .menuBox .photoUl li {
		width: auto;
		margin: 20px 0 0;
		float: none;
	}

	#main .menuBox .photoUl li .photo {
		text-align: center;
	}

	#main .menuBox .photoUl li img {
		max-width: 100%;
	}

	#main .menuBox .photoUl li .text {
		margin-bottom: 10px;
	}

	#main .menuBox .photoUl li .title {
		margin: 10px 0;
		font-size: 15px;
		letter-spacing: 1px;
	}

	#main .menuBox .photoUl li .title span {
		margin-top: 2px;
		font-size: 12px;
		letter-spacing: 1px;
	}

	#main .menuBox .photoUl li .comLink {
		width: 200px;
		margin: 0 auto;
		background-size: 100% 100% !important;
	}

	#main .menuBox .photoUl li .comLink span {
		padding: 15px 20px 14px;
	}

	#main .menuBox .imgBox {
		width: auto;
		margin: 0 auto 20px !important;
		padding-top: 20px;
		background-size: 12px auto;
	}

	#main .menuBox .imgBox .icon {
		display: none;
	}

	#main .menuBox .imgBox01 .icon {
		display: none;
	}

	#main .menuBox .imgBox02 {
		padding-bottom: 20px;
		background: url(../img/index/line01.png) repeat-x left top, url(../img/index/line01.png) repeat-x left bottom;
		background-size: 12px auto. 12px auto;
	}

	#main .menuBox .imgBox02 .icon {
		display: none;
	}

	#main .menuBox .imgBox .headLine01 img {
		margin: -5px 6px 0 0;
	}

	#main .menuBox .imgBox .photo {
		margin-bottom: 10px;
	}

	#main .menuBox .imgBox .photo img {
		width: 100%;
	}

	#main .menuBox .imgBox .text {
		margin-bottom: 15px;
		line-height: 1.6;
		letter-spacing: 1px;
	}

	#main .menuBox .imgBox .priceBox {
		padding: 20px 20px 30px 36px;
		font-size: 12px;
		line-height: 1.8;
	}

	#main .menuBox .imgBox .priceBox p {
		width: 70px;
		background-size: 1px auto;
		letter-spacing: 1px;
	}

	#main .menuBox .imgBox .priceBox ul {
		padding-left: 30px;
	}

	#main .menuBox .imgBox .priceBox ul li {
		width: auto;
		padding: 0 0 10px;
		float: none;
		letter-spacing: 1px;
	}

	#main .menuBox .imgBox .priceBox .txt {
		right: 20px;
		bottom: 10px;
	}

	#main .menuBox .textImg img {
		width: 100%;
	}

	#main .staffBox {
		margin: 0 10px 30px;
	}

	#main .staffBox ul {
		width: auto;
	}

	#main .staffBox ul li {
		width: auto;
		float: none;
		margin-top: 20px;
	}

	#main .staffBox ul .liStyle {
		float: none;
	}

	#main .staffBox ul li .photo {
		margin-bottom: 10px;
	}

	#main .staffBox ul li .photo img {
		max-width: 100%;
	}

	#main .staffBox ul li p {
		line-height: 1.6;
	}

	#main .staffBox ul li p span {
		font-size: 15px;
		letter-spacing: 1px;
		text-align: center;
	}

	#main .shopBox {
		margin-bottom: 30px;
	}

	#main .shopBox .icon01 {
		display: none;
	}

	#main .shopBox ul {
		margin-bottom: 15px;
	}

	#main .shopBox .photo {
		margin-bottom: 10px;
	}

	#main .shopBox .photo img {
		width: 120px;
	}

	#main .shopBox p {
		line-height: 1.6;
		letter-spacing: 1px;
	}

	#main .shopBox .textBox .shop_list .shop_list_01 .shop_list_inner .link01 {
		display: block;
		width: auto;
		height: auto;
	}
	#main .shopBox .textBox .shop_list .shop_list_01 .shop_list_inner .link01 a {
		display: block;
		width: 100%;
		max-width: 300px;
		height: auto;
		margin: 20px auto 0;
	}
	#main .shopBox .textBox .shop_list .shop_list_01 .shop_list_inner .link01 a:hover {
		opacity: 0.7;
	}
	#main .shopBox .textBox .shop_list .shop_list_01 .shop_list_inner .link01 a.link01_02 {
		width: 120px;
	}
	#main .shopBox .textBox .shop_list .shop_list_01 .shop_list_inner .link01 a img {
		display: block;
		width: 100%;
		height: auto;
	}

	#main .shopBox .textBox {
		padding: 0 25px;
	}

	#main .shopBox .textBox .icon02 {
		display: none;
	}

	#main .shopBox .textBox .icon03 {
		margin-right: 0;
		right: 5px;
		top: 70px;
	}

	#main .shopBox .textBox .icon03 a img {
		width: 20px;
	}

	#main .accessBox {
		margin-bottom: 30px;
	}

	#main .accessBox .map {
		width: auto;
		margin: 0 auto 20px;
	}

	#main .accessBox .map iframe {
		width: 100%;
		height: 200px;
	}

	#main .accessBox .map p {
		margin: 10px 10px 0;
		letter-spacing: 1px;
	}

	#main .accessBox .textBox {
		width: auto;
		padding: 110px 10px 150px;
		background-size: 1001px 100%;
	}

	#main .accessBox .textBox .icon01 {
		left: inherit;
		top: 10px;
		right: 30px;
	}

	#main .accessBox .textBox .icon01 img {
		width: 80px;
	}

	#main .accessBox .textBox .icon02 {
		right: 0;
	}

	#main .accessBox .textBox .icon02 img {
		width: 230px;
	}

	#main .accessBox .textBox p {
		margin-bottom: 10px;
		font-size: 15px;
		line-height: 1.6;
		letter-spacing: 2px;
	}

	#main .accessBox .textBox p span span {
		font-size: 10px;
		left: 36px;
		top: -12px;
	}

	#main .accessBox .textBox .link a {
		width: 200px;
		padding: 10px 0;
		letter-spacing: 1px;
	}

	#main .btnLink {
		width: 100%;
		margin: 0;
		border-top: 1px solid #755D4C;
	}

	#main .btnLink li {
		width: 50%;
		margin-left: 0;
		border-bottom: 1px solid #755D4C;
		box-sizing: border-box;
	}

	#main .btnLink li:nth-child(2n-1) {
		border-right: 1px solid #755D4C;
	}

	#main .btnLink li:before {
		display: none;
	}

	#main .btnLink li a {
		padding: 10px 5px;
		font-size: 12px;
		letter-spacing: 2px;
	}

	#main .btnLink li a span {
		margin-top: 2px;
		font-size: 10px;
		letter-spacing: 1px;
	}

	#main .btnLink .liStyle {
		width: 100%;
		border-right: none !important;
	}

}

@media all and (-ms-high-contrast:none){
	#main .linkUl li a span {
		margin-top: 0;
	}

	#main .linkUl li:before {
		top: -3px;
	}

	#main .menuBox .photoUl li .comLink span {
		padding: 20px 18px 10px 7px;
	}

	#main .accessBox .textBox .link a {
		padding: 17px 0 3px;
	}

	#main .btnLink li a span {
		margin-top: 0;
	}
}

.ie8 #main .menuBox .photoUl li .comLink span {
	padding: 21px 18px 10px 7px;
}

.ie8 #main .menuBox .imgBox .priceBox ul {
	padding-top: 10px;
}

.ie8 #main .accessBox .textBox .link a {
	padding: 17px 0 3px;
}