@charset "utf-8";
/*!
 * base CSS
 * ---------------------------------------------
 * 共通レイアウトに関わるCSS
 */

/* reset
--------------------------------------------- */

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

article,aside,details,figcaption,figure,footer,header,menu,nav,section,
* {
	margin: 0;
	padding: 0;
}
fieldset,img {
	border: 0;
}
* {
	font-size:100%;
}
body {
	font: 100%/1 "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック","Osaka",Arial,sans-serif;
}
ol,ul,li {
  list-style: none;
}
img {
	display: block;
	max-width: 100%;
	height: auto;
}

/*  PIE ！パス確認ください！
---------------------------------*/

body:before,
.menuPc li,.menuPc li a,
.pagetop a:after,
.ico:before,
.icons a:before,
a.btn,
.btns a,
.radius li {
	position: relative;
	behavior: url(/resources/js/PIE.php);
}

.brkSp {
	display: none;
}

/*===================================
	font link
=====================================*/

body {
	color: #434343;
	font-size: 14px;
}
a,a:visited {
	color: #434343;
	text-decoration: none;
}
a:hover,
nav.menuPc li.s a:hover,
nav.footNavi a:hover {
	text-decoration: underline;
}
nav a:hover,
a.btn:hover,
.btns a:hover {
	text-decoration: none;
}
.txtChild,
.txtParent p {
	line-height: 1.6;
}

/*===================================
	layout	
=====================================*/

.hiddenPc {
	display: none;
}
.brkPc {
	display: block;
}
#header,
.wrap,
.inner,
.pagetop {
	width: 940px;
	margin-left: auto;
	margin-right: auto;
}
.blockLeft,
.parallel li {
	float: left;
}
.blockRight {
	float: right;
}
.wrap,
#header h1,
.menu ul,
.pagetop a,
.footNavi,
.contentsMenu ul,
.parallel {
	overflow: hidden;
	zoom: 1;
}
#header,
.wrap,
.footer,
.footer .inner {
	position: relative;
}
body:before {
	z-index: 1;
}
.footNavi:after {
	z-index: 3;
}
#header,
.wrap,
.footer {
	z-index: 2;
}
.footer .inner {
	z-index: 10;
}

/*===================================
	background	
=====================================*/

body {
	background: #fff;
}
.footer {
	border-top: solid 53px #fff;
	background: #f1ecdc url(../images/base/bg_ft.jpg) repeat-x 50% 0;
}
.footNavi:after {
	background: #f9f7ef;
}
body:before {
	background: -webkit-gradient(linear, left top, left bottom, from(#fbf9f6), to(#fff));
	background: -webkit-linear-gradient(top, #fbf9f6, #fff);
	background: -moz-linear-gradient(top, #fbf9f6, #fff);
	background: -ms-linear-gradient(top, #fbf9f6, #fff);
	background: -o-linear-gradient(top, #fbf9f6, #fff);
	background: linear-gradient(top, #fbf9f6, #fff);
	-pie-background: linear-gradient(top, #fbf9f6, #fff);
}

/*  sprite
---------------------------------*/

.logo,
.menuPc li a,
.pagetop a,.pagetop a:after,
.copy:after,
.replacement,
.ico:before,
.icons a:before {
	background-image: url(../images/base/sprite.png);
	background-repeat: no-repeat;
}
a.btn,
.btns a {
	display: inline-block;
	text-align: center;
}

.menuPc li a,
.pagetop a,
.replacement {
	display: block;
}
.menuPc li a,
.pagetop a,
.replacement.txt {
	text-indent: -999em;
}
a:hover img,
a.btn:hover,
.pagetop a:hover {
	opacity: .7;
}
a:hover img.logo,
.menuPc li.s a:hover {
	opacity: 1;
}
a .logo {
	cursor: default;
}

/*  :before :after
---------------------------------*/

html,
.icons li {
	position: relative;
}
body:before,
.pagetop a:after,
.footNavi:after,
.contentsMenu li:before,.contentsMenu li:nth-last-child(1):after,
.copy:after,
.ico:before,
.icons a:before {
	content: "";
}
.ico:before,
.icons a:before {
	display: inline-block;
}
body:before,
.pagetop a:after,
.footNavi:after,
.contentsMenu li:before,.contentsMenu li:nth-last-child(1):after,
.copy:after {
	display: block;
}
.ico:before,
.icons a:before {
	vertical-align: middle;
}
body:before,
.footNavi:after  {
	position: absolute;
	width: 100%;
}
body:before {
	top: 158px;
	height: 250px;
	border-top: solid 1px #f3ede6;
}
.footNavi:after {
	top: 58px;
	height: 58px;
}

/*  cursor
---------------------------------*/

.tel a {
	cursor: inherit;
}

/*  角丸
---------------------------------*/

.pagetop a:after,
.ico:before,
.icons a:before {
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
}
.menuPc li,
.radius > li {
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-ms-border-radius: 6px;
	-o-border-radius: 6px;
	border-radius: 6px;
}
.menuPc li a {
	-webkit-border-radius: 6px 6px 0 0;
	-moz-border-radius: 6px 6px 0 0;
	-ms-border-radius: 6px 6px 0 0;
	-o-border-radius: 6px 6px 0 0;
	border-radius: 6px 6px 0 0;
}
a.btn,
.btns a {
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
	border-radius: 4px;
}

/*===================================
	header	
=====================================*/

/*  font
---------------------------------*/

#header h1 {
	color: #5e5e5e;
	font-size: 16px;
	font-weight: normal;
	line-height: 32px;
}

/*  layout
---------------------------------*/

#header {
	height: 133px;
	padding-top: 25px;
}
#header h1 a {
	float: left;
}
.logo {
	width: 109px;
	height: 109px;
	margin-right: 25px;
	background-position: 0 0;
}

/*  menu
---------------------------------*/

.menuPc {
	margin: -54px 0 0 117px;
}
.menuPc ul {
	padding-bottom: 7px;
}
.menuPc li {
	float: left;
	margin: 0 1px 1px 15px;
	border-bottom: solid 4px #860023;
	box-shadow: 1px 1px 0 0 #eaeaea;
}
.menuPc li a {
	width: 172px;
	height: 49px;
	background-color: #f4f4f4;
}
.menuPc li.m1 a {
	width: 53px;
	background-position: -200px 0;
}
.menuPc li.m2 a {
	background-position: -260px 0;
}
.menuPc li.m3 a {
	background-position: -440px 0;
}
.menuPc li.m4 a {
	background-position: -620px 0;
}
.menuPc li.m5 a {
	background-position: -800px 0;
}
.menuPc li a:hover,
.shopFlyer .menuPc li.m2 a,
.point .menuPc li.m3 a,
.service .menuPc li.m4 a,
.netshop .menuPc li.m5 a {
	background-color: #860023;
}
.home .menuPc li.m1 a {
	background-color: #f4f4f4;
}
.menuPc li.m1 a:hover {
	background-position: -200px -50px;
}
.menuPc li.m2 a:hover,
.shopFlyer .menuPc li.m2 a {
	background-position: -260px -50px;
}
.menuPc li.m3 a:hover,
.point .menuPc li.m3 a {
	background-position: -440px -50px;
}
.menuPc li.m4 a:hover,
.service .menuPc li.m4 a {
	background-position: -620px -50px;
}
.menuPc li.m5 a:hover,
.netshop .menuPc li.m5 a {
	background-position: -800px -50px;
}
.home .menuPc li.m1 a:hover {
	background-position: -200px 0;
}
.menuPc li:hover:before,
.shopFlyer .menuPc li.m2:before,
.point .menuPc li.m3:before,
.service .menuPc li.m4:before,
.netshop .menuPc li.m5:before {
	content: "";
	display: block;
	position: absolute;
	top: 49px;
	left: 82px;
	width: 9px;
	height: 9px;
	background-color: #860023;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.home .menuPc li.m1:before,
.menuPc li.s:hover:before {
	display: none;
}
.menuPc li.m1:hover:before {
	left: 22px;
}
.home .menuPc li.m1 a,
.shopFlyer .menuPc li.m2 a,
.point .menuPc li.m3 a,
.service .menuPc li.m4 a,
.netshop .menuPc li.m5 a {
	cursor: default;
}
.menuPc li.s {
	position: absolute;
	top: 35px;
	float: none;
	margin: 0;
	border: none;
	box-shadow: none;
}
.menuPc li.s a {
	width: auto;
	height: auto;
	background: none;
	text-indent: 0;
}
.menuPc li.s a,.menuPc li.s a:visited {
	color: #860023;
}
.menuPc li.s.m7 {
	right: 236px;
}
.menuPc li.s.m8 {
	right: 103px;
}
.menuPc li.s.m10 {
	right: 4px;
}

/*===================================
	footer	
=====================================*/

/*  font
---------------------------------*/

.footNavi,.footNavi a,.footNavi a:visited {
	color: #474747;
}
.footer h2,
.copy {
	color: #938e7e;
}
.footer h2,
.contentsMenu li {
	font-size: 16px;
}
.copy,
.contentsMenu li li {
	font-size: 12px;
}

/*  pagetop
---------------------------------*/

.pagetop {
	margin-top: -53px;
	margin-bottom: 88px;
}
.pagetop a {
	width: 100px;
	height: 18px;
	margin-left: 803px;
	padding-left: 27px;
	background-position: 27px -348px;
}
.pagetop a:after {
	float: left;
	width: 18px;
	height: 18px;
	margin-left: -27px;
	background-color: #5f6167;
	background-position: 0 -300px;
}

/*  footNavi
---------------------------------*/

.footNavi {
	margin-bottom: 70px;
}
.siteMenu {
	height: 57px;
	line-height: 66px;
}
.siteMenu li {
	display: inline;
	padding-right: 2em;
}
.contentsMenu {
	margin-top: 34px;
}
.contentsMenu:after {
	content: "";
	display:inline-block;
	border-right: solid 1px #dad6c7;
}
.contentsMenu li {
	position: relative;
	float: left;
	width: 145px;
	margin-bottom: -19px;
	padding: 11px 1px 0 10px;
}
.contentsMenu li li {
	float: none;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0 5px 0 0;
}
.contentsMenu li:before,.contentsMenu li:nth-last-child(1):after {
	position: absolute;
	top: 0;
	width: 1px;
	height: 800px;
	background: #dad6c7;
}
.contentsMenu li:before {
	left: 0;
}
.contentsMenu li:nth-last-child(1):after {
	right: 0;
}
.contentsMenu li li:before,.contentsMenu li li:nth-last-child(1):after {
	display: none;
}
.contentsMenu li li {
	margin-bottom: 11px;
}
.contentsMenu li ul {
	margin: 18px 0 25px;
}

/*  h2 copy
---------------------------------*/

.footer h2 {
	margin-bottom: 8px;
}
.copy {
	position: relative;
	padding-bottom: 35px;
}
.copy:after {
	position: absolute;
	top: -29px;
	right: 0;
	width: 48px;
	height: 48px;
	background-position: -130px 0;
}

/* ----- 2016-03-25 ----- */

.arrow.ico {
	color: #0068b7;
}

.arrow.ico:before {
	width: 15px;
	height: 15px;
	margin-right: 4px;
	background-color: #e8e3d8;
	background-position: -300px -450px;
}

/************************************************************************************
smaller than 660px
*************************************************************************************/
@media screen and (max-width: 660px) {
	
	html {
		-webkit-text-size-adjust: 100%;
	}
	* {
		max-height: 9999px;
	}
	.brkSp {
		display: inherit;
	}
	
	/*===================================
		font
	=====================================*/
	
	body {
		font-size: 24px;
	}
	
	/*===================================
		layout	
	=====================================*/
	
	.hiddenPc,
	.brkSp {
		display: block;
	}
	.hiddenSp {
		display: none;
	}
	.brkPc {
		display: inline;
	}
	#header,
	.inner,
	.pagetop {
		width: 600px;
	}
	.wrap {
		width: 640px;
	}
	.wrap,
	.inner {
		margin-left: auto;
		margin-right: auto;
	}
	.inner {
		padding-left: 20px;
		padding-right: 20px;
	}
	.blockLeft,
	.blockRight {
		float: none;
	}
	
	/*===================================
		background	
	=====================================*/
	
	.footer {
		border-top-width: 80px;
		background-color: #f9f7ef;
		background-image: none;
	}
	.footNavi:after {
		background: #f1ecdc;
	}
	.siteMenu li:before {
		background-color: #61583e;
	}
	
	/*  sprite
	---------------------------------*/
	
	.menuSp li a:before,
	.siteMenu li:before {
		background-image: url(../images/base/sprite.png);
		background-repeat: no-repeat;
	}
	.menuSp h2 {
		text-indent: -999em;
	}
	
	/*  :before :after
	---------------------------------*/
	
	.menuSp h2:before,
	.menuSp h2:after,
	.menuSp h2.open span:before,
	.menuSp h2.open span:after,
	.menuSp li a:before,
	.siteMenu li:before {
		content: "";
	}
	.menuSp h2:before,
	.menuSp h2:after,
	.menuSp h2.open span:before,
	.menuSp h2.open span:after,
	.menuSp li a:before {
		display: block;
	}
	.siteMenu li:before {
		display: inline-block;
	}
	body:before {
		display: none;
	}
	.footNavi:after {
		top: 0;
		height: 68px;
	}
	
	/*  cursor
	---------------------------------*/
	
	.tel a {
		cursor: pointer;
	}
	
	/*  角丸
	---------------------------------*/
	
	.menuSp li a:before,
	.siteMenu li:before {
		border-radius: 50%;
	}
	.menuSp h2,
	.menuSp h2:before,
	.menuSp h2:after {
		border-radius: 10px;
	}
	.menuSp h2.open span:before,
	.menuSp h2.open span:after {
		border-radius: 5px;
	}
	.menuSp li.s a {
		border-radius: 25px;
	}
	
	/*===================================
		header	
	=====================================*/
	
	/*  font
	---------------------------------*/
	
	#header h1 {
		font-size: 18px;
		line-height: 1.6;
	}
	
	/*  layout
	---------------------------------*/
	
	#header {
		height: 120px;
		padding-top: 20px;
		z-index: 10;
	}
	#header h1 span {
		padding-top: 20px;
	}
	.logo {
		width: 100px;
		height: 101px;
		margin-right: 22px;
		background-position: 0 -150px;
	}
	
	/*  menu
	---------------------------------*/
	
	.menuSp h2,
	.menuSp h2:before,
	.menuSp h2:after,
	.menuSp h2.open span,
	.menuSp h2.open span:before,
	.menuSp h2.open span:after,
	.menuSp ul {
		position: absolute;
	}
	.menuSp h2,
	.menuSp h2:before,
	.menuSp h2:after {
		width: 84px;
		height: 18px;
		background: #830122;
		box-shadow: -2px -2px 0 0 inset #69011b;
		cursor: pointer;
	}
	.menuSp h2 span {
		display: block;
		width: 84px;
		height: 76px;
	}
	.menuSp h2 {
		top: 30px;
		right: 13px;
		z-index: 2100;
	}
	.menuSp h2:before,
	.menuSp h2:after {
		left: 0;
	}
	.menuSp h2:before {
		top: 29px;
		z-index: 10;
	}
	.menuSp h2:after {
		top: 58px;
		z-index: 20;
	}
	.menuSp h2.open  span {
		margin:  105px 0 0 -509px;
	}
	.menuSp h2.open span:before,
	.menuSp h2.open span:after {
		top: 40px;
		margin-left: 550px;
		width: 31px;
		height: 6px;
		background: #faf4ea;
	}
	.menuSp h2.open span:before {
		-moz-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		-o-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.menuSp h2.open span:after {
		-moz-transform: rotate(315deg);
		-webkit-transform: rotate(315deg);
		-o-transform: rotate(315deg);
		-ms-transform: rotate(315deg);
		transform: rotate(315deg);
	}
	.menuSp ul {
		top: 138px;
		overflow: hidden;
		left: -20px;
		width: 584px;
		padding: 70px 28px 76px;
		background: rgba(0,0,0,.8);
		z-index: 2000;
	}
	.menuSp li {
		margin-bottom: 17px;
		border-bottom: solid 2px #e3ded5;
		border-right: solid 2px #e3ded5;
		font-size: 30px;
	}
	.menuSp li a {
		display: block;
		position: relative;
		height: 82px;
		padding-left: 66px;
		background: #faf4ea;
		line-height: 83px;
	}
	.menuSp li a:before {
		position: absolute;
		top: 24px;
		left: 19px;
		width: 31px;
		height: 31px;
		background-color: #840123;
		background-position: -130px -230px;
	}
	.menuSp li.m5 {
		margin-bottom: 57px;
	}
	.menuSp li.s {
		float: left;
		margin: 0 20px 16px 0;
		border: none;
		font-size: 24px;
	}
	.menuSp li.s a {
		width: 210px;
		height: 53px;
		padding: 0;
		background: #840123;
		text-align: center;
		line-height: 54px;
	}
	.menuSp li.s a:before {
		display: none;
	}
	.menuSp li.m8 {
		clear: left;
	}
	.menuSp li.s a,.menuSp li.s a:visited {
		color: #fff;
	}
	.menuSp li a:hover {
		opacity: .7;
	}
	
	/*===================================
		footer	
	=====================================*/
	
	/*  font
	---------------------------------*/
	
	.footNavi,.footNavi a,.footNavi a:visited {
		color: #535353;
		font-size: 16px;
	}
	.copy {
		font-size: 14px;
	}
	
	/*  pagetop
	---------------------------------*/
	.pagetop {
		margin-top: -103px;
		margin-bottom: 33px;
	}
	.pagetop a {
		overflow: visible;
		width: 47px;
		height: 47px;
		margin: 0;
		padding: 0;
		background: none;
	}
	.pagetop a:after {
		float: none;
		width: 47px;
		height: 47px;
		margin-left: 276px;
		background-position: 0 -400px;
	}
	
	/*  footNavi
	---------------------------------*/
	
	.siteMenu {
		height: auto;
		padding-top: 26px;
		padding-bottom: 25px;
		line-height: 1;
	}
	.siteMenu li {
		height: 17px;
		display: inline-block;
		padding: 26px 47px 0 0;
	}
	.siteMenu li:before {
		width: 17px;
		height: 17px;
		margin-right: 8px;
		background-position: -200px -450px;
		vertical-align: middle;
	}
	
	/*  h2 copy
	---------------------------------*/
	
	.footer h2 {
		margin-bottom: 10px;
	}
	.copy {
		padding-bottom: 37px;
	}
	.copy:after {
		top: -34px;
		right: 20px;
		width: 60px;
		height: 62px;
		background-position: -130px -150px;
	}
	
	
}