@charset "utf-8";
/* CSS Document */
#nav-input:checked ~ #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
}
#nav-open{
    z-index: 400001;
}
#close-button{
    z-index: 400002;
}
#nav-content {
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 400000;
    width: 50vw;
    height: 100vh;
    background: rgba(255,255,255,1);
    transition: .5s ease-in-out;
    -webkit-transform: translateX(-50vw);
    transform: translateX(-50vw);
}
body{
    position:relative;
}
body .site-overlay {
    position: fixed;
    z-index: 300001;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    cursor: pointer;
    background-color: #89898980;
    visibility: hidden;
    opacity: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: opacity 0.3s 0s, visibility 0s 0.3s, -webkit-transform 0.3s 0s;
    -moz-transition: opacity 0.3s 0s, visibility 0s 0.3s, -moz-transform 0.3s 0s;
    transition: opacity 0.3s 0s, visibility 0s 0.3s, transform 0.3s 0s;
}
.navOpen .site-overlay{
    position: fixed;
    content: "";
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #89898980;
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity 0.3s 0s, visibility 0s 0s, -webkit-transform 0.3s 0s;
    -moz-transition: opacity 0.3s 0s, visibility 0s 0s, -moz-transform 0.3s 0s;
    transition: opacity 0.3s 0s, visibility 0s 0s, transform 0.3s 0s;
}
.navClose #nav-content,
.navClose #nav-input:checked ~ #nav-content{
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 400000;
    width: 50vw;
    height: 100vh;
    background: rgba(255,255,255,1);
    -webkit-transform: translateX(-50vw);
    transform: translateX(-50vw);
}
.navOpen #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
}
.navClose #nav-input:checked ~ #close-button,
.navOpen #nav-open{
    opacity: 0;
}
.navClose #nav-input:checked ~ #nav-open{
    opacity: 1;
}
.navOpen #close-button{
    opacity: 1;
}
.navOpen #nav-input:checked ~ #close-button {
    opacity: 1;
    transition: none;
}
.accordion-area{
    list-style: none;
    width: 70%;
    margin:0 auto;
    position: absolute;
    padding-left: 0;
}
.nav-main-title {
    position: relative;
    cursor: pointer;
    font-weight: normal;
    padding: 0;
    transition: all .1s ease;
    text-align: left!important;
    margin: 0!important;
}
.nav-main-title::before,
.nav-main-title::after{
    position: absolute;
    content:'';
    background-color: #000;
}
.nav-main-title::before{
    top:48%;
    transform: rotate(0deg);
}
.nav-main-title::after{
    top:48%;
    transform: rotate(90deg);
}
.nav-main-title.close::after{
    opacity: 0
}
.nav-sub-box {
    display: none;
    margin: 0;
}
.nav-sub-box a{
    display: block;
}

.nav-sns-area{
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #F3EFE0;
}
.nav-sns-area ul{
    list-style: none;
    display: flex;
    justify-content: space-between;
    margin: 0;
}

@media screen and (max-width:480px) {
#page_cart h1,
#page_shopping_nonmember h1,
#page_shopping_confirm h1{
white-space: nowrap;
margin:1rem auto;
}
.site-content-contain{
	margin-top: 23.921vw !important;
}
.LC_Page_Products_List .site-content-contain{
	margin-top: 0 !important;
}

.head-wrap{
	width:100%;
	height: 23.921vw;
	position:
	fixed;
	top:0;
	left:0;
	background-color:
	rgba(255,255,255,1);
	z-index:300000;
}
.head-logo{
	width:40vw;
	height:
	auto;
	margin: 5vw auto;
}
.head-logo img{
	width:40vw;
	height:auto;
}
.head-logo img.logoimg{
	width: 51vw;
	margin: 0vw auto 0 -5vw;
	max-width: 100vw;
}
.head-logo img.headerlogo{
	width: 35vw;
	margin: 1vw auto 0 3vw;
	max-width: 100vw;
}
.head-phone-sp{
	width:6vw;
	height:
	auto;
	position:
	absolute;
	top: 8.5vw;
	right:4vw;
}
.head-phone img{
	width:100%;
}

/*ハンバーガーメニュー*/
#nav-drawer {
  position: relative;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display:none;
}

/*アイコンのスペース*/
#nav-open {
  display: inline-block;
  width: 6.6vw;
  height: 6.6vw;
  vertical-align: middle;
  padding:0px;
  position:
  fixed;
  top: 8.6vw;
  left:4vw;
  z-index:300001;
  cursor: pointer;
  transition: 1.2s ease-in-out;/*滑らかに表示*/
}

#close-button {
  display: inline-block;
  width: 6.6vw;
  height: 6.6vw;
  vertical-align: middle;
  padding:0px;
  position:
  fixed;
  top: 8.6vw;
  left:4vw;
  z-index:300002;
  cursor: pointer;
  opacity:0;
  transition: 0.6s ease-in-out;/*滑らかに表示*/
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span.ham-line,#nav-open span.ham-line:before,#nav-open span.ham-line:after {
  position: absolute;
  height: calc(6.6vw * calc(2.8 / 40));
  background:black;
  width: 6.6vw;/*長さ*/
  display: block;
  content: '';
}
#nav-open span.ham-line:before {
  top:calc(6.6vw * calc(10.5 / 40));
}
#nav-open span.ham-line:after {
  top:calc(6.6vw * calc(21 / 40));
}
span.hamtext{
  font-size:calc(6.6vw * calc(14 / 40));
  line-height:calc(6.6vw * calc(14 / 40));
  text-align:center;
  width:6.6vw;
  bottom:0;
  position:absolute;
  margin:0;
}

#close-button span.ham-line,#close-button span.ham-line:before{
  position: absolute;
  height: calc(6.6vw * calc(3 / 40));/*線の太さ*/
  width: calc(6.6vw * calc(43.64 / 40));/*長さ*/
  background: black;
  display: block;
  content: '';
  transform: rotate(30deg);
  top:calc(6.6vw * calc(11 / 40));left:calc(6.6vw * calc(-1.615 / 40));
}
#close-button span.ham-line:before {
  transform: rotate(120deg);
  top:calc(6.6vw * calc(0.2 / 40));left:calc(6.6vw * calc(0.5 / 40));
}

#nav-input:checked ~ #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
}
#nav-content {
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 299999;
    width: 100vw;
height: 100vmax; /* IE p  t H [   o b N */
  height: 100vh; /*  t H [   o b N */
  height: -moz-available;       
  height: -webkit-fill-available;
  height: fill-available;
    background: rgba(255,255,255,1);
    transition: .5s ease-in-out;
    -webkit-transform: translateX(-100vw);
    transform: translateX(-100vw);
}
body{
    position:relative;
}
body .site-overlay {
    position: fixed;
    z-index: 300001;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    cursor: pointer;
    background-color: #89898980;
    visibility: hidden;
    opacity: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: opacity 0.3s 0s, visibility 0s 0.3s, -webkit-transform 0.3s 0s;
    -moz-transition: opacity 0.3s 0s, visibility 0s 0.3s, -moz-transform 0.3s 0s;
    transition: opacity 0.3s 0s, visibility 0s 0.3s, transform 0.3s 0s;
}
.navOpen .site-overlay{
    display: none;
}
.navClose #nav-content,
.navClose #nav-input:checked ~ #nav-content{
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 299999;
    width: 100vw;
    height: 100vh;
    -webkit-transform: translateX(-100vw);
    transform: translateX(-100vw);
}
.navOpen #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
}
.navClose #nav-input:checked ~ #close-button,
.navOpen #nav-open{
    opacity: 0;
}
.navClose #nav-input:checked ~ #nav-open{
    opacity: 1;
}
.navOpen #nav-input:checked ~ #close-button {
    opacity: 1;
    transition: none;
}
.accordion-area{
    width: 88%;
    margin-left: 12vw;
    top: 30.5vw;
    position: relative;
    min-height: 79vh;
}
.accordion-area li{
    margin-bottom: 5vh;
}
.accordion-area li:last-child{
    margin-bottom: 0;
    /* position: absolute; */
    box-sizing: border-box;
    width: calc(100% + 12vw);
    margin-left: -12vw;
    margin-top: 12vh;
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.nav-main-title {
    font-size: 4vw!important;
}
.nav-main-title::before,
.nav-main-title::after{
    width: 5.4vw;
    height: 0.4vw;
}
.nav-main-title::before{
    right: 12vw;
}
.nav-main-title::after{
    right: 12vw;
}
.nav-sub-box {
    padding: 9vw 0 0 5vw;
}
.nav-sub-box a{
    font-size: 3.5vw;
    margin-bottom: 5vw;    
}
.nav-sns-wrap {
    position: sticky;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    height: 82vh;
    z-index: -1;
    display: none;
}
.nav-sns-area {
    /* position: relative; */
    box-sizing: border-box;
    /* left: -12vw; */
    /* width: calc(100% + 12vw); */
}
.nav-sns-area.relative{
    position: relative;
}
.nav-sns-area.sp-relative{
    position: relative;
}
.nav-sns-area ul{
    padding: 5vh 21.8vw 9.5vw 21.8vw;
}   
.nav-sns-area ul li{
    max-width: 9.5vw;
    margin-bottom: 0!important;
    position: relative!important;
    width: unset!important;
    left: unset!important;
    margin: 0!important;
    margin-right: 10vw!important;
}
.nav-sns-area ul li:last-child{
    margin-right: 0!important;
}
.nav-sub-box.height1{
height:4vw;
}
.nav-sub-box.height2{
height:14vw;
}
.nav-sub-box.height5{
height:45vw;
}
.nav-sub-box.height8{
height:81vw;
}

}

@media screen and (min-width:481px) {

.head-phone-sp{
	display: none;
}

#page_cart .ec-layoutRole__contents,
#page_shopping_nonmember .ec-layoutRole__contents,
#page_shopping_confirm .ec-layoutRole__contents,
#page_shopping .ec-layoutRole__contents,
.site-content-contain{
	margin-top:14.3rem !important;
	max-width:unset;
}

.head-wrap{
	width:100%;
	height:14.4rem;
	position:fixed;top:0;left:0;
	background-color:rgba(255,255,255,1);
	z-index:300000;
	text-align:center;
}

.head-logo{
	width:110rem;
	height:14.4rem;
	margin:auto;
}
.head-logo img{
	width:25rem;
	height:
	auto;
	margin: 3.5rem auto 0 auto;
	visibility:
	visible;
}
.head-logo img.headerlogo{
	width:23.078rem;
	height:auto;
	margin:4.19rem auto 0 auto;
	visibility:visible;
}

/*ハンバーガーメニュー*/
#nav-drawer {
  position: relative;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display:none;
}

/*アイコンのスペース*/
#nav-open {
  display: inline-block;
  width: 4rem;
  height: 4rem;
  vertical-align: middle;
padding:0px;
position:fixed;top:5rem;left:calc(50% - 49rem);
z-index:400001;
  transition: 1.2s ease-in-out;/*滑らかに表示*/
  cursor: pointer;
}

#close-button {
  display: inline-block;
  width: 4rem;
  height: 4rem;
  vertical-align: middle;
  padding:0;
  position:fixed;top:5rem;left:calc(50% - 49rem);z-index:400002;
  opacity:0;
  transition: 0.6s ease-in-out;/*滑らかに表示*/
  cursor: pointer;
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span.ham-line,#nav-open span.ham-line:before,#nav-open span.ham-line:after {
  position: absolute;
  height: 0.32rem;
  background:black;
  width: 4rem;/*長さ*/
  display: block;
  content: '';
}
#nav-open span.ham-line:before {
  top:1.05rem;
}
#nav-open span.ham-line:after {
  top:2.1rem;
}
span.hamtext{
  font-size:1.4rem;
  line-height:1.4rem;
  text-align:center;
  width:4rem;
  bottom:0;
  position:absolute;
  margin:0;
}

#close-button span.ham-line,#close-button span.ham-line:before{
  position: absolute;
  height: 0.3rem;/*線の太さ*/
  width: 4.364rem;/*長さ*/
  background: black;
  display: block;
  content: '';
  transform: rotate(30deg);
  top:1.1rem;left:-0.1615rem;
}
#close-button span.ham-line:before {
  transform: rotate(120deg);
  top:0.02rem;left:0.05rem;
}

#nav-open{
    top: 5rem;
    left: 7rem!important;
}
#close-button{
    left: 7rem!important;
}
.navOpen #close-button{
    top: 5rem;
}
.accordion-area{
    width: 70%;
    left: 7rem;
    top: 12rem;
}
.accordion-area li{
    margin-bottom: 3rem;
}
.accordion-area li:last-child{
    margin-bottom: 0;
    /* position: absolute; */
    box-sizing: border-box;
    width: 50vw;
    margin-left: -7rem;
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.nav-main-title {
    font-size: 1.4rem!important;
}
.nav-main-title::before,
.nav-main-title::after{
    width: 1.4rem;
    height: 0.1rem;
}
.nav-main-title::before{
    right: 1.5rem;
}
.nav-main-title::after{
    right: 1.5rem;
}
.nav-sub-box {
    padding: 2rem 2rem 0;
}
.nav-sub-box a{
    font-size: 1.1rem;
    margin-bottom: 2rem;
}
.nav-sns-area {
    box-sizing: border-box;
}
.nav-sns-area.relative{
    position: relative;
}
.nav-sns-area ul{
    padding: 2.3rem 10rem;
}
.nav-sns-area ul li{
    max-width: 3rem;
    margin-bottom: 0 !important;
    position: relative !important;
    width: unset !important;
    left: unset !important;
    margin: 0 !important;
    margin-bottom: 0 !important;
}
.nav-sub-box.height1{
height:2rem;
}
.nav-sub-box.height2{
height:5.4rem;
}
.nav-sub-box.height5{
height:15.8rem;
}
.nav-sub-box.height8{
height:28.5rem;
}
#page_cart h1,
#page_shopping_nonmember h1,
#page_shopping_confirm h1{
white-space: nowrap;
margin:3rem auto 4rem;
}

}
