@charset 'gb2312';

/*--------------------------------------------------------------
header
--------------------------------------------------------------*/

.site-header {
	position: fixed;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	height: 110px;
	background-color: #fff;
}

@media screen and (max-width: 768px) {
	.site-header {
		height: 68px;
	}
}

.site-header .row {
	position: relative;
	max-width: 1080px;
	height: 110px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.site-header .row {
		height: 68px;
	}
}


/*--------------------------------------------------------------
header site-logo
--------------------------------------------------------------*/

.site-logo {
	position: absolute;
	top: 25px;
	left: 0;
}

@media screen and (max-width: 768px) {
	.site-logo {
		top: 14px;
		left: 16px;
	}
}

.site-logo img {
	height: 60px;
}

@media screen and (max-width: 768px) {
	.site-logo img {
		height: 40px;
	}
}


/*--------------------------------------------------------------
header nav PC
--------------------------------------------------------------*/

.hd-nav-pc {
	position: absolute;
	top: 30px;
	right: 0;
}

.hd-nav-pc ul {
	display: flex;
}

.hd-nav-pc ul li {
	font-size: .8125rem;
	/*line-height: 50px;*/
	position: relative;
	height: 50px;
	padding: 0 20px;
	cursor: pointer;
}

.hd-nav-pc ul li a{
	display: block;
	overflow: hidden;
	width: 100%;
	position: relative;
}

.hd-nav-pc ul li .ic {
	position: relative;
	top: 6px;
	display: inline-block;
	width:35px;
	height: 35px;
	margin-right: 4px;
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: cover;
}

.hd-nav-pc ul li .ic-list {
	background-image: url(../310/ic-list.svg);
}

.hd-nav-pc ul li .ic-book {
	background-image: url(../310/ic-book.svg);
}

.hd-nav-pc ul li .ic-lock {
	background-image: url(../310/baseline-lock_open-24px.svg);
}

.hd-nav-pc ul li .ic-cart {
	background-image: url(../images/nav-icon_wx.png);
}

.hd-nav-pc ul li.hd-nav-pc-login {
	margin-left: 16px;
	padding-left: 0;
	padding-right: 0;
}

.hd-nav-pc ul li.hd-nav-pc-login a {
	padding-right: 24px;
	padding-left: 24px;
	background-color: #f5f1e9;
	display: block;
}

.hd-nav-pc ul li.hd-nav-pc-cart {
	padding-left: 0;
	padding-right: 0;
}

.hd-nav-pc ul li.hd-nav-pc-cart a {
	padding-right: 24px;
	padding-left: 24px;
	/*background-color: #005bac;*/
}

.hd-nav-pc-cart a {
	color: #fff;
	display: block;
}

@media screen and (max-width: 768px) {
	.hd-nav-pc {
		display: none;
	}
}


/*--------------------------------------------------------------
header nav SP
--------------------------------------------------------------*/

.hd-nav-sp {
	display: none;
}

@media screen and (max-width: 768px) {
	.hd-nav-sp {
		display: block;
	}
}

.hd-nav-sp {
	position: absolute;
	top: 0;
	right: 0;
}

.hd-nav-sp ul {
	display: flex;
}

.hd-nav-sp ul li {
	font-size: .625rem;
	line-height: 1.2em;
	display: block;
	width: 60px;
	height: 68px;
	padding-top: 16px;
	text-align: center;
}

@media screen and (max-width: 320px) {
	.hd-nav-sp ul li {
		width: 42px;
	}
}

.hd-nav-sp ul li:hover {
	cursor: pointer;
	background-color: #f5f1e9;
}

.hd-nav-sp ul li .ic {
	display: block;
	width: 40px;
	height: 40px;
	margin: 0 auto;
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: cover;
}

.hd-nav-sp ul li .ic-lock {
	background-image: url(../310/baseline-lock_open-24px.svg);
}

.hd-nav-sp ul li .ic-cart {
	background-image: url(../310/outline-shopping_cart-24px-brown.svg);
}

.hd-nav-sp ul li .ic-menu {
	background-image: url(/images/nav-icon.png);
}

.hd-nav-sp ul li .ic-person-outline {
	background-image: url(../310/ic-person-outline.svg);
}

.hd-nav-sp-login.is-active .ic-lock,
.hd-nav-sp-menu.is-active .ic-menu {
	background-image: url(../310/ic_close_brown_24px.svg);
}
.hd-nav-sp-menu .ic-menu-c {
	background-image: url(../310/ic_close_brown_24px.svg);
}

.hd-nav-sp ul li.hd-nav-sp-login .pname{
	height: 2.5em;
	overflow-y: hidden;
	display: block;
	max-width: 4em;
	margin: 0 auto;
	position: relative;
}

.hd-nav-sp ul li.hd-nav-sp-login .pname:after{
	width: 24px;
	height: 12px;
	display: block;
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
background: -moz-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 80%); /* FF3.6-15 */
background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 80%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, rgba(255,255,255,0) 0%,rgba(255,255,255,1) 80%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 ); /* IE6-9 */
}

.hd-nav-sp ul li.hd-nav-sp-login:hover .pname:after,
.hd-nav-sp ul li.hd-nav-sp-login:active .pname:after{
background: -moz-linear-gradient(left, rgba(245,241,233,0) 0%, rgba(245,241,233,1) 80%); /* FF3.6-15 */
background: -webkit-linear-gradient(left, rgba(245,241,233,0) 0%,rgba(245,241,233,1) 80%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right, rgba(245,241,233,0) 0%,rgba(245,241,233,1) 80%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00f5f1e9', endColorstr='#f5f1e9',GradientType=1 ); /* IE6-9 */
}

.hd-nav-pc ul li.hd-nav-sp-login {
	background-color: #f5f1e9;
	/*width: 172px;*/
	width: 168px;
	position: relative;
	margin-left: 8px;
}

.hd-nav-pc ul li.hd-nav-sp-login .ic{
	left: -60px;
}

.hd-nav-pc ul li.hd-nav-sp-login small{
	position: absolute;
	top: 10px;
	left: 32px;
	font-size: 12px;
	line-height: 1em;
	letter-spacing: 0;
}
.hd-nav-pc ul li.hd-nav-sp-login .pname{
	position: absolute;
	top: 27px;
	left: 32px;
	font-size: 13px;
	line-height: 1em;

	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	display: block;
	width: calc(100% - 32px);
	text-align: left;
}

.hd-nav-pc ul li.hd-nav-sp-login .ic-person-outline {
	background-image: url(../310/ic-person-outline.svg);
}


/*--------------------------------------------------------------
drawer animation
--------------------------------------------------------------*/

@keyframes fadeInLeft {
	from {
		transform: translate3d(-100%, 0, 0);
		opacity: 0;
	}
	to {
		transform: none;
		opacity: 1;
	}
}

@keyframes fadeOutLeft {
	from {
		opacity: 1;
	}
	to {
		transform: translate3d(-100%, 0, 0);
		opacity: 0;
	}
}

/*--------------------------------------------------------------
.drawer-menu
--------------------------------------------------------------*/

.drawer-menu {
	position: fixed;
	z-index: 2;
	top: 68px;
	left: 0;
	display: none;
	width: 100%;
	height: 100vh;
	padding: 0;
	animation-duration: .3s;
	/*opacity: 5;*/
	border-top: 1px solid #ece9e5;
	background-color: #fbf9f6;
	animation-fill-mode: both;
}

.drawer-menu.ani-fadein {
	display: block;
	animation-name: fadeInLeft;
}

.drawer-menu.ani-fadeout {
	display: block;
	animation-name: fadeOutLeft;
}

.drawer-menu-primary {
	padding: 12px;
}

.drawer-menu-primary ul {
	display: flex;
	flex-wrap: wrap;
}

.drawer-menu-primary ul li {
	width: 50%;
	padding: 4px;
}

.drawer-menu-primary ul li a {
	font-size: .875rem;
	line-height: 58px;
	display: block;
	border: 1px solid #d9d3cc;
	border-radius: 2px;
	background-color: #fff;
}

.drawer-menu-primary ul li a .ic {
	line-height: 58px;
	position: relative;
	top: 6px;
	display: inline-block;
	width: 24px;
	height: 24px;
	margin: 0 auto;
	margin-right: 4px;
	background-repeat: no-repeat;
	background-position: 50%;
	background-size: cover;
}

.drawer-menu-primary ul li a .ic-person-outline {
	background-image: url(../310/ic-person-outline.svg);
}

.drawer-menu-primary ul li a .ic-cart {
	background-image: url(../310/outline-shopping_cart-24px-brown.svg);
}

.drawer-menu-secandary ul li a {
	font-size: .875rem;
	line-height: 48px;
	display: block;
	height: 48px;
	padding-right: 16px;
	padding-left: 16px;
	text-align: left;
	border-top: 1px solid #ece9e5;
}
