@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

@font-face {
  font-family: "griffiths";
  src: url("../fonts/Griffiths.ttf") format("truetype");
  src: url("../fonts/Griffiths.otf") format("opentype");
}



:root {
--point-color-green: #04b321;
--point-color-red: #F74460;
--point-color-blue: #5FDB5F;
--txt-color: #333;
--head-color: rgba(255,255,255,.8);
--content-padding: 120px 0;
--base-color: #eee;
}


/*COMMON*/


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, 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,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

/*  ----- CSS Document -----  */

body{
	margin: 0;
	padding: 0;
	position: relative;
	background-color: rgba(255,255,255,1.00);
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
	color: #000000;
	
	transition: all .4s ease-in-out;
	
	
	font-size: 100%;
	
	letter-spacing: .08em;
	
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

}

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

/* hash付き遷移のときだけ、一瞬隠す */
html.is-anchor-loading body {
  visibility: hidden;
}




/**/
#opening{
	background: #000;
	position: fixed;
	width: 100%;
	height: 100%;
	
	z-index: 50;
}
.openinglogo{
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	text-align: center;
	transform: translateY(-50%);
}
.openinglogo img{
	width: 40%;
	max-width:200px;
	height: auto;
}


/*  ----- コンテンツ枠-----  */


#wrapper{
	width: 100%;
	overflow: hidden;
}

#left-cont{
	width: 50%;
	
	position: fixed;
	height: 100vh;
	background: #009159;
}
.products #left-cont{
	background: #ee847f;
}
.left-cont-img{
	width: 100%;
	position: absolute;
	top: 50%;
	left: 0;
	
	transform: translateY(-50%);
	
	text-align: center;
}
.left-cont-img img{
	width: 35%;
}

.products .left-cont-img img{
	width: 80%;
}




#contents{
	width: 50%;
	margin-left: 50%;
}

#main-cont{
	width: 100%;
	padding-top: calc(16.9% - 6px);
		
	border: 3px solid #000;
}

.products #contents{
	padding-bottom: 80px;
}

/* ----- header ----- */

header{
	position: fixed;
	top: 0;
	left: 50%;
	width: 50%;
	padding: 0 0 0 ;
	z-index: 20;
	
	transition: all .2s ease-in-out;
	background: rgba(0,0,0,1);
}

header.scrlon{
	background: rgba(0,0,0,.8);
}

header .headIn{
	width:100%;
	margin: 0 auto;
	padding: 17% 0 0 0 ;
	position: relative;
	
	transition: all .2s ease-in-out;
}
header.scrlon .headIn{
	width:100%;
	margin: 0 auto;
	padding: 10% 0 0 0 ;
	position: relative;
}


.logo{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 21.2%;
	transition: all .2s ease-in-out;
	transform: translateX(-50%) translateY(-50%);
}
header.scrlon .headIn .logo{
	width: 15.2%;
}
.logo img{
	width: 100%;
	height: auto;
}




/* ハンバーガーアイコン */

.hamburger-menu{
	transition: all .2s ease-in-out;
}

.hamburger-icon {
	cursor: pointer;
	z-index: 1001;
	transition: all .2s ease-in-out;
	position: absolute;
	top: 50%;
	left: 4.9%;
	width: 12.4%;
	height: 22%;
	transform: translateY(-50%);
}

/* ハンバーガーの線 */
.hamburger-icon span {
	width: 100%;
	height: 3px;
	background: #fff;

	position: absolute;
	border-radius: 10px;
	transition: all .2s ease-in-out;
}

/* 1本目（上の線） */
.hamburger-icon span:nth-child(1) {
	top: 0;
}

/* 2本目（中央の線） */
.hamburger-icon span:nth-child(2) {
	top: 100%;
	transform: translateY(-100%);
}


header.scrlon .hamburger-icon {
	width: 9.4%;
	height: 21%;
}

header.scrlon .hamburger-icon span {
	width: 100%;
	height: 2px;
}



/* フルスクリーンメニュー */
.menu {
	position: fixed;
	top: 0;
	left: 50%;
	width: 50%;
	height: 100svh;
	background: rgba(0,0,0,1.00);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease-in-out;
}

/* メニューが開いたとき */
.menu.active {
	opacity: 1;
	visibility: visible;
}
.menu.is-hidden {
  opacity: 0;
  pointer-events: none;
}

/* メニューのリンク */
.menu ul {
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: center;
}

.menu li {
	margin: 40px 0;
	opacity: 0;
	transition: all .5s ease-in-out;
}
.hamburger-menu.active .menu li:nth-of-type(1) {opacity:1;transition-delay: .0s;}
.hamburger-menu.active .menu li:nth-of-type(2) {opacity:1;transition-delay: .1s;}
.hamburger-menu.active .menu li:nth-of-type(3) {opacity:1;transition-delay: .2s;}
.hamburger-menu.active .menu li:nth-of-type(4) {opacity:1;transition-delay: .3s;}
.hamburger-menu.active .menu li:nth-of-type(5) {opacity:1;transition-delay: .4s;}
.hamburger-menu.active .menu li:nth-of-type(6) {opacity:1;transition-delay: .5s;}
.hamburger-menu.active .menu li:nth-of-type(7) {opacity:1;transition-delay: .6s;}



.menu a {
	color: #fff;
	font-size: calc(7vw / 2);
	text-decoration: none;
	font-family: "griffiths";
	font-weight: 400;
	
	transition: all .4s ease-in-out;

	-webkit-text-stroke-width: 0.5px;
	-webkit-text-stroke-color: white;
}

/* ハンバーガーアイコンが「×」に変形 */
.hamburger-menu.active .hamburger-icon span:nth-child(1) {
	top: 50%;
	transform: rotate(20deg);
}
.hamburger-menu.active .hamburger-icon span:nth-child(2) {
	top: 50%;
	transform: rotate(-20deg) translateY(0);
}


.headmenu-top{
	position: absolute;
	top: calc(4vw / 2);
	right: calc(4vw / 2);
	
	display: flex;
	flex-wrap: wrap;
	gap: 0 calc(1vw / 2) ;
}
.headmenu-top div{
	width:calc(5vw / 2) ;
}
.headmenu-top div img{
	width: 100%;
	height: auto;
}


.headmenu-bottom{
	position: absolute;
	bottom: calc(4vw / 2);
	left: calc(4vw / 2);
	
	display: flex;
	flex-wrap: wrap;
	
	gap: 0 calc(2vw / 2) ;
}
.headmenu-bottom div{
	width:calc(5vw / 2) ;
}
.headmenu-bottom div a{
	display: block;
}
.headmenu-bottom div img{
	width: 100%;
	height: auto;
	display: block;
}




.title{
	font-family: "griffiths";
	font-size: 50px;
	padding: 30px;
}



/* ----- footer ----- */

footer{
	
	background: rgba(0,0,0,1);
	padding: calc(10vw / 2);
}

footer .gotopbtn{
	position: fixed;
	bottom: calc(2vw /2);
	right: calc(2vw /2);
}
.products footer .gotopbtn{
	bottom: calc(13vw /2);
}

.gotopbtn{
	opacity: 0;
	transition: opacity .25s ease;
}
.gotopbtn.is-visible{
	opacity: 1;

}



footer .gotopbtn a{
	display: block;
	background: rgba(255,255,255,.9);
	padding: calc(1.2vw /2);
}
footer .gotopbtn img{
	width: calc(5vw /2);
}




.footer-menu{
	padding-bottom: calc(3vw / 2);;
}
.footer-menu ul{
	text-align: center;
}
.footer-menu li{
	margin-bottom: calc(3.5vw / 2);
}
.footer-menu li a{
	text-decoration: none;
	color: #fff;
	font-size: calc(3vw / 2);
	letter-spacing: .1em;
}
.footer-logo{
	text-align: center;
}

.footer-logo img{
	width: calc(21.4vw / 2);
	height: auto;
	
}




/*----- ホーム　-------*/

.home-promo{
	width: 100%;
	height: calc(124.2vw / 2);
	background: url("../images/home/promo_img.jpg") no-repeat center center;
	background-size: cover;
	position: relative;
}
.home-promo-txt{
	position: absolute;
	top: 40cqw;
	left: 6.3%;
	text-align: left;
}
.home-promo-logo{
	width: 94%;
	margin-bottom: 5%;
	text-align: left;
}
.home-promo-logo img{
	height: auto;
	width: 64.7%;
}
.home-promo-txt p{
	font-size: calc(3vw / 2);
    font-family: "Noto Serif JP", serif;
    color: #fff;
    line-height: 149%;
    letter-spacing: .4em;
    transform: translateX(0);
    margin-bottom: calc(2vw / 2);
}



.home-read{
	padding: calc(16vw / 2) calc(17vw / 2);
	width: 100%;
}
.home-read img{
	width: 100%;
	height: auto;
}

.home-read h2{
	font-family: "Noto Serif JP", serif;
	font-size: calc(5.5vw / 2);
	line-height: 100%;
	margin-bottom: calc(11vw / 2);
	font-weight: 400;
	letter-spacing: .08em;
	text-align: center;
}
.home-read a{
	display: block;
	cursor: pointer;
}





.home-color{
	background: #000;
	padding-top: 3px;
}
.home-color ul{
	display: flex;
	column-gap: 3px;
	flex-wrap: wrap;
	
}
.home-color ul li{
	width: calc(33.3333% - 2px);
}
.home-color ul li a{
	display: block;
	text-decoration: none;
}
.home-color-img{
	overflow: hidden;
	position: relative;
}
.home-color-img::before{
	content: "";
	width: 30px;
	height: 8px;
	background: url("../images/arrow_01.png") no-repeat 0 0;
	background-size: 30px 8px;
	position: absolute;
	right: 5px;
	bottom: 8px;
	z-index: 10;
	transition: all .2s ease-in-out;
}
.home-color-img:hover::before{
	transform: translateX(4px);
}
.home-color ul li a img{
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	transform: scale(1);
	transition: transform .2s ease-in-out;
}
.home-color ul li a img:hover{
	transform: scale(1.1)

}


.home-color ul li a p{
	font-family: "griffiths";
	color: #fff;
	text-align: center;
	font-size: calc(3vw / 2);
	padding: 8% 0;
	text-decoration: none;
	letter-spacing: 0.03em;
}


.home-releasedate{
	padding: calc(14vw / 2) calc(10vw / 2);
	width: 100%;
	border-bottom: 3px solid #000;

}


.home-releasedate .senkohanbai{
	position: relative;
	overflow: hidden;
}
.senkohanbaiOut{
	padding:10px 0;
	background: rgba(0,0,0,0.8);
    animation: senkobg 4s linear 0s infinite;
}
/* 線(ボーダー)のスタイル 共通 */
.senkohanbai:before,
.senkohanbai:after {
    content: '';
    position: absolute;
    background: rgba(255,255,255,.4); /*線の色*/
}
/* 下のボーダー */
.senkohanbai:before {
    bottom: 0;
    left: -100%;
    width: 100%;
    height: 1px;
}
/* 右のボーダー */
.senkohanbai:after {
    top: 0;
    right: -100%;
    width: 100%;
    height: 1px;
}


/* ホバー時のアニメーション指定 */
.senkohanbai:before {
    animation: topAnim 3s linear 0s infinite;
}
.senkohanbai:after {
    animation: bottomAnim 3s linear 0s infinite;
}

/* 各アニメーション */
@keyframes senkobg {
    0% {background: rgba(0,0,0,0.7);}
    50% {background: rgba(0,0,0,0.9);}
    100% {background: rgba(0,0,0,0.7);}
}
@keyframes topAnim {
    0% {left:-100%;}
    50% {left:100%;}
    100% {left:100%;}
}
@keyframes bottomAnim {
    0% {right:-100%;}
    50% {right:100%;}
    100% {right:100%;}
}


.home-releasedate .senkohanbai a{
	display: block;
	font-family: "Noto Serif JP", serif;
	font-size: calc(5vw / 2);
	padding: calc(2.4vw / 2) calc(3vw / 2) calc(2vw / 2) calc(3vw / 2);
	text-align: center;
	line-height: 140%;
	margin-top: 0;
	color: #fff;
	letter-spacing: .08em;

}

.home-releasedate .senkohanbai span.senko{
	display: block;
	font-size: calc(3.5vw / 2);
	letter-spacing: .02em;
	line-height: 100%;
	margin-top: calc(1vw / 2);

	border-bottom: 1px solid #fff;
	padding-bottom: calc(2.4vw / 2);
}
.home-releasedate .senkohanbai span.ippan{
	font-size: calc(3vw / 2);
	display: block;
	margin-top: calc(0.5vw / 2);
	font-weight: normal;
	font-family: "Noto Sans JP", sans-serif;
	color: #ccc;


}
/*home-concept*/
.home-concept{
	padding: calc(14vw / 2) 0;
}


.home-concept h2{
	font-family: "griffiths";
	font-weight: 400;
    font-size: calc(11vw / 2);
    text-align: center;
    letter-spacing: 0;
    padding: 0 0 calc(3.5vw / 2);
	
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: black;
}

.home-concept .concept-img{
	padding: 0 calc(17vw / 2)  calc(9vw / 2) ;
}
.home-concept .concept-img img{
	width: 100%;
	height: auto;
}
.home-concept h3{
    font-size: calc(6vw / 2);
    letter-spacing: 0.4em;
    text-align: center;
    line-height: 140%;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    padding: 0 0 calc(9vw / 2);
}
.home-concept p{
    font-size: calc(3.2vw / 2);
    letter-spacing: 0.3em;
    line-height: 220%;
    padding: 0 0 calc(5vw / 2) ;
	font-weight: 500;
	text-align: center;
}
.home-concept .concept-logo{
	padding: calc(15vw / 2) 0  calc(15vw / 2) ;
	text-align: center;
}
.home-concept .concept-logo img{
	width: 20%;
	height: auto;
}
.home-concept .concept-img2{
	width: 100%;
}
.home-concept .concept-img2 img{
	width: 100%;
	height: auto;
}

.sdgsBtm{
	text-align: center;
	padding: 0 0 5vw 0;
}
.sdgsBtm img{
	display: block;
	width: 66%;
	height: auto;
	margin: 0 auto;
}


.couponbana{
	position: fixed;
	bottom: 6vw;
	right: 1vw;
	z-index: 1;
	transition: all .2s ease-in-out;
	opacity: 0;
	pointer-events: none;
}
.couponbana.scrlOn{
	opacity: 1;
	pointer-events: visible
}
.couponbana img{
	width: 11vw;
	height: auto;
}

.couponbana .fixbanaclose{
	position: absolute;
	top: 2px;
	right: -5px;
	width: 22px;
	height: 22px;
}
.couponbana .fixbanaclose img{
	width: 100%;
	height: auto;
}



/* ========= product ===========*/

.pdtpromo{
	
}
.slidepromo-arrow{
	position: absolute;
	top: 50%;
	z-index: 10;
	background: transparent;
	width:16px;
	height: 16px;
	font-size: 0;
	line-height: 0;
	border: none;
}

.slidepromo-arrow.arrow-prev{
	left: calc(2.5vw / 2);;
	transform: rotate(-45deg);
	border-left: 1px solid #999;
	border-top: 1px solid #999;
	cursor: pointer;
}
.slidepromo-arrow.arrow-next{
	right: calc(2.5vw / 2);;
	transform: rotate(45deg);
	border-right: 1px solid #999;
	border-top: 1px solid #999;
	cursor: pointer;
}

.slick-num{
	text-align: center;
	display: block;
    font-size: calc(2vw / 2);
	padding-top: calc(2vw / 2);
	color: #999;
	
}

.product-promo{
	width: 100%;
	height: calc(123vw / 2);
	background: url("../images/products/lip/products.jpg") no-repeat center center;
	background-size: cover;
}

.product-promo-txt{
	padding-top: calc(6vw / 2);
	text-align: center;
}
.slick-slide .product-promo-txt img{
	width: 32%;
	height: auto;
	display: inline-block;
}
.product-promo-color{
	width: 100%;
	height: calc(123vw / 2);
}
.product-promo-01-01{
	background: url("../images/products/lip/pdtpromo_01-01.jpg") no-repeat center center;
	background-size: cover;
}
.product-promo-01-02{
	background: url("../images/products/lip/pdtpromo_01-02.jpg") no-repeat center center;
	background-size: cover;
}
.product-promo-02-01{
	background: url("../images/products/lip/pdtpromo_02-01.jpg") no-repeat center center;
	background-size: cover;
}
.product-promo-02-02{
	background: url("../images/products/lip/pdtpromo_02-02.jpg") no-repeat center center;
	background-size: cover;
}
.product-promo-03-01{
	background: url("../images/products/lip/pdtpromo_03-01.jpg?v=0001") no-repeat center center;
	background-size: cover;
}
.product-promo-03-02{
	background: url("../images/products/lip/pdtpromo_03-02.jpg?v=0001") no-repeat center center;
	background-size: cover;
}





.product-txt{
	padding: calc(10vw / 2) calc(4vw / 2);
}

.product-txt h1{
	font-weight: 400;
	font-size: calc(4vw / 2);
	padding-bottom: calc(8vw / 2);
}

.product-txt h2{
	font-weight: 400;
    font-size: calc(6vw / 2);
    letter-spacing: .1em;
    line-height: 127%;
    transform: scaleY(1.1);
	padding-bottom: calc(8vw / 2);
	
}

.product-read{
	font-weight: 400;
    font-size: calc(3vw / 2);
	padding-bottom: calc(7vw / 2);
	letter-spacing: .2em;
    line-height: 170%;
}

.product-price{
	font-weight: 400;
	padding-bottom: calc(7vw / 2);
	letter-spacing: .2em;
	line-height: 170%;
	font-family: "Noto Serif JP", serif;
}

.product-price .price-sel{
	font-size: calc(7vw / 2);
	display: inline-block;
}
.product-price .price-tax{
	font-size: calc(3vw / 2);
	display: inline-block;
	padding: 0 5px;
}
.product-price .price-taxout{
	font-size: calc(3vw / 2);
	display: inline-block;
}
.shippinglink{
	font-size: calc(2vw / 2);
	padding-bottom: calc(7vw / 2);
}
.shippinglink a{
	color: #8fcba1;
}


.color-slide{
	padding-bottom: calc(7vw / 2);
}
.slideimg{
	padding: 0 calc(1vw / 2);
	opacity: 0.6;
	transition: opacity .3s ease-in-out;
}
.slideimg a{
	display: block;
}
.slideimg img{
	width: 100%;
	height: auto;
}
.slick-active .slideimg {
	opacity: 1;
}

.slide-arrow{
	position: absolute;
	top: 50%;
	z-index: 10;
	background: transparent;
	width:16px;
	height: 16px;
	font-size: 0;
	line-height: 0;
	border: none;
}
.slide-arrow.arrow-prev{
	left: calc(-2.5vw / 2);;
	transform: rotate(-45deg);
	border-left: 1px solid #666;
	border-top: 1px solid #666;
}
.slide-arrow.arrow-next{
	right: calc(-2.5vw / 2);;
	transform: rotate(45deg);
	border-right: 1px solid #666;
	border-top: 1px solid #666;
}


.color-select{
	position: fixed;
	bottom: 0;
	left:50%;
	width: 50%;
	
	border: 3px solid #000;
	background: #fff;
	padding: 20px;
	
	z-index: 10;
	
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity .25s ease, visibility .25s ease;
}
.color-select .gotopbtn{
	position: absolute;
	top: calc(-10vw /2);
	right: calc(2vw /2);
}
.color-select .gotopbtn a{
	display: block;
	background: rgba(255,255,255,.9);
	padding: calc(1.2vw /2);
}
.color-select .gotopbtn img{
	width: calc(5vw /2);
}


.color-select.is-visible{
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* 表示：フェードイン */
.color-select.is-visible{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}




/* =====カート固定=====　*/
.cart-ui{
  display:grid;
  grid-template-columns: 1fr auto auto;
  gap:12px;
  align-items:start;
  position:relative; /* absolute配置の基準 */
}

.dropdown{
	position:relative;
	width:100%;
	  grid-column:1;
}

.dropdown__button{
	width:100%;
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:8px;
	padding:10px 12px;
	border:1px solid #ccc;
	border-radius:0;
	background:#fff;
	cursor:pointer;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 14px;
	letter-spacing: .05em;
	line-height: 160%;
	color: #000;
}

.dropdown__chev{
	font-size:14px;
	opacity:.7;
}

.dropdown__list{
  grid-column:1;
  width:100%;                 /* ★ cart-ui の1列目 = dropdown幅 */
  position:absolute;
	left:0;
	right:0;

	margin:0;
	padding:4px 4px 2px 4px;
	list-style:none;
	border:1px solid #ccc;
	border-radius:0;
	background:#fff;
	box-shadow:0 10px 30px rgba(0,0,0,.08);
	max-height:240px;
	overflow:auto;
	display:none;
	z-index:1000;
}

.dropdown.is-open .dropdown__list{
	display:block;
}

/* ▼ 画面下なら上に開く */
.dropdown.drop-up .dropdown__list{
	top:auto;
	bottom:calc(100% + 6px);
}

.dropdown__item{
	padding:21px 0 17px 0;
	margin-bottom: 2px;
	border-radius:0;
	cursor:pointer;
	padding-left: 50px;
	font-size: 12px;
	background-size: auto 52px;
}

.dropdown__item:hover,
.dropdown__item[aria-selected="true"]{
	background-color:#eee;
	background-size: auto 52px;
}
.dropdown__item span{
	font-size: 13px;
}

.qty{
	display:flex;
	align-items:center;
	gap:8px;
	font-size: 12px;
}

.qty input{
	width:40px;
	padding:12px 1px 12px 12px;
	border:1px solid #ccc;
	border-radius:0;
	font-size: 14px;
}

.cart-btn{
	padding:13px 12px 13px 12px;
	border:0;
	border-radius:0;
	cursor:pointer;
	font-size: 13px;

	
	background: #000;
	color: #fff;
}

/* =====/カート固定=====　*/





.product-detail{
	padding-bottom: calc(7vw / 2);
}

.product-detail p{
	font-size: calc(3vw / 2);
	line-height: 180%;
	padding-bottom: calc(3vw / 2);
}

.colorBox{
	width: 100%;
	border-top: 3px solid #000;
}
.colorBox:nth-last-of-type(1){
}

#color01.colorBox .colorMV01{
	width: 100%;
	height: calc(248vw / 2);
	position: relative;
	background: url("../images/products/lip/color1_01.jpg") no-repeat center center;
	background-size: cover;
}
#color02.colorBox .colorMV01{
	width: 100%;
	height: calc(248vw / 2);
	position: relative;
	background: url("../images/products/lip/color2_01.jpg") no-repeat center center;
	background-size: cover;
}
#color03.colorBox .colorMV01{
	width: 100%;
	height: calc(248vw / 2);
	position: relative;
	background: url("../images/products/lip/color3_01.jpg") no-repeat center center;
	background-size: cover;
}

.colorBox .colorMV01 .colorMVimg{
	position: absolute;
	top: calc(99vw / 2);
	right: calc(7vw / 2);
	width: 31%;
}
.colorBox .colorMV01 .colorMVimg img{
	width: 100%;
	height: auto;
}



.colorBox .colorMV02{
	width: 100%;
	height: calc(124vw / 2);
	position: relative;
	background: url("../images/products/lip/color1_02.jpg") no-repeat center center;
	background-size: cover;
}

.colorBox#color02 .colorMV02{
	width: 100%;
	height: calc(124vw / 2);
	position: relative;
	background: url("../images/products/lip/color2_02.jpg") no-repeat center center;
	background-size: cover;
}


.colorBox-read{
	display: flex;
	flex-wrap: wrap;
}

.colorBox-slide{
	width: 50%;
}
.colorBox-slide .slideimg{
	padding: 0;
	display: block !important;
	opacity: 1;
}

.colorBoxslide-arrow.arrow-next{
	right: calc(2.5vw / 2);;
	border: none; 
	cursor: pointer;
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	
	
	
}
.colorBoxslide-arrow.arrow-prev{
	display: none !important;
}
.dots-wrap {
    margin: 0;
    position: absolute;
    right: 10px;
    bottom: 4px;
	width: 100%;
	
	display: flex;
	justify-content: flex-end;
	gap: 0 6px;
	flex-wrap: wrap;
    height: 10px;
}

.dots-wrap li {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-bottom: 0;
    cursor: pointer;
    opacity: 0.45;
}
#color01 .dots-wrap li {
    background-color: #c34769;
}
#color02 .dots-wrap li {
    background-color: #d19579;
}
#color03 .dots-wrap li {
    background-color: #b287e1;
}

.dots-wrap li.slick-active,
.dots-wrap li:hover {
    opacity: 1;
}

.dots-wrap li:last-child {
    margin-bottom: 0;
}

.dots-wrap li button {
    display: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
    border: none;
    background-color: transparent;
}

.colorBox-readtxt{
	width: 50%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	background: #000;
	color: #fff;
	font-size: calc(3.7vw /2);
	line-height: 170%;
	letter-spacing: 0.3em;
	text-align: center;
	
}
.colorBox-readtxt p{
	width: 100%;
	transform: translateX(0.4em);
}


.pdtBtm{
	overflow: hidden;
}
.pdtBtm img{
	display: block;
	width: 100%;
	height: auto;
	
}

.chusyaku{
	font-size: calc(2vw /2);
	display: block;
	line-height: calc(2vw /2);
	padding-top: calc(0.7vw /2);
}
ruby.chusyakuruby rt{
	ruby-position: right;
}


.seibunBoxs{
	/*padding: 5vw;*/
}
.seibunBox{
	/*border: 3px solid #000;*/
}

.seibunTitle{
	font-weight: 400;
	font-size: calc(2.5vw / 2);
	padding-bottom: calc(8vw / 2);
	border-top: 1px solid #333;
	padding: 1vw 2vw ;
	line-height: 180%;
	position: relative;
	transition: all .3s ease-in-out;
	cursor: pointer;
}
.seibunTitle:hover{
	background: #F8F8F8;
}

.seibunTitle::before{
	position: absolute;
	content: "";
	width: 2vw;
	height: 1px;
	top: 2.2vw;
	right: 4vw;
	background: #333;
	transform: translateX(50%);
}
.openseibun.seibunTitle{
	background: #F8F8F8;
}
.seibunTitle::after{
	position: absolute;
	content: "";
	width: 1px;
	height: 2vw;
	top: 2.2vw;
	right: 4vw;
	background: #333;
	transform: translateY(-50%);
	opacity: 1;
	transition: all .3s ease-in-out; 
}
.openseibun.seibunTitle::after{
	opacity: 0;
}



.seibunTxt{
	border-top: 1px solid #333;
	padding: 3vw 3vw ;
	display: none;
	line-height: 180%;
	font-size: calc(2.5vw / 2);
}









/*その他のページ*/


.otherpage{
	padding: calc(10vw / 2) calc(5vw / 2);
}
.otherpage h1{
	font-size: calc(3.5vw / 2);
	font-weight: bold;
	line-height: 180%;
	margin-bottom: calc(6vw / 2);
	text-align: center;

}

.txtBox{
	margin-bottom: calc(3vw / 2);
	padding-bottom: calc(3vw / 2);
	border-bottom: 1px solid #ddd;
}
.txtBox.txtR{
	text-align: right;
}
.txtBox.txtC{
	text-align: center;
}
.txtBox h2{
	font-size: calc(2.5vw / 2);
	font-weight: bold;
	line-height: 180%;
	margin-bottom: calc(2vw / 2);
}
.txtBox h3{
	font-size: calc(2vw / 2);
	font-weight: bold;
	line-height: 180%;
	margin-bottom: calc(2vw / 2);
}
.txtBox p{
	font-size: calc(2vw / 2);
	line-height: 180%;
	margin-bottom: calc(3vw / 2);
}
.txtBox.txtS p{
	font-size: calc(2vw / 2);
}
.txtBox ul{
	padding-left: 1.2em;
	margin-bottom: calc(3vw / 2);
}
.txtBox ul li{
	list-style-type: disc;
	line-height: 180%;
	margin-bottom: calc(1vw / 2);
	font-size: calc(2vw / 2);
}
.txtBox p.txtimg{
	margin-bottom: calc(3vw / 2);
}

.userTable_02{
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	width: 100%;
	margin-bottom: calc(5vw / 2);	
}
.userTable_02 td{
	padding: 10px;
	font-size: calc(2vw / 2);
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	line-height: 160%;
}
.userTable_02 th{
	padding: 10px;
	background: #eee;
	font-size: calc(2vw / 2);
	border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;
	line-height: 160%;
}






/* 基本設定 */
.sclAnime {
  opacity: 0;
  transition: all 0.6s ease;
}

/* フェードイン */
.fade.is-view {
  opacity: 1;
}

/* スライドアップ */
.slide-up {
  transform: translateY(30px);
}
.slide-up.is-view {
  opacity: 1;
  transform: translateY(0);
}
/* スライドアップ */
.slide-up-title {
  transform: translateY(15px) translateX(-0.2em);
}
.slide-up-title.is-view {
  opacity: 1;
  transform: translateY(0) translateX(-0.2em);
}



/* スライドアップ */
.slide-up2 {
	overflow: hidden;
  opacity: 1;
}
.slide-up2 img {
  transform: translateY(110%);
  transition: all 0.6s ease;
}
.slide-up2.is-view img {
  opacity: 1;
  transform: translateY(0);
}

/* ズームイン */
.zoom-in {
  transform: scale(0.8);
}
.zoom-in.is-view {
  opacity: 1;
  transform: scale(1);
}

/* ズームイン */
.zoom-out {
  transform: scale(1.1);
}
.zoom-out.is-view {
  opacity: 1;
  transform: scale(1);
}


/* ズームイン2 */
.zoom-out2 {
  transform: scale(1.2);
  transition: all 1s ease .2s;
}
.zoom-out2.is-view {
  opacity: 1;
  transform: scale(1);
}



/* スライドアップ */
.slide-left {
  transform: translateX(-30px);
}
.slide-left.is-view {
  opacity: 1;
  transform: translateX(0);
}

/* スライドアップ */
.slide-right {
  transform: translateX(30px);
}
.slide-right.is-view {
  opacity: 1;
  transform: translateX(0);
}



/* スライドアップ */
.slide-left2 {
  transform: translateX(-30px);
  transition: all 1s ease .2s;
}
.slide-left2.is-view {
  opacity: 1;
  transform: translateX(0);
}

/* スライドアップ */
.slide-right2 {
  transform: translateX(30px);
  transition: all 1s ease .2s;
}
.slide-right2.is-view {
  opacity: 1;
  transform: translateX(0);
}





.pc{
	display: block
}
.sp{
	display: none
}

@media screen and (max-width: 768px) {

	.pc{
		display: none
	}
	.sp{
		display: block
	}


	



	/*  ----- コンテンツ枠-----  */


	#wrapper{
		width: 100%;
	}

	#left-cont{
		display: none;
	}

	#contents{
		width: 100%;
		margin-left: 0%;
	}

	#main-cont{
		width: 100%;
		padding-top: calc(16.9% - 6px);


		border: 3px solid #000;
	}
	.products #contents{
		padding-bottom: 70px;
	}

	/* ----- header ----- */

	header{
		position: fixed;
		top: 0;
		left: 0%;
		width: 100%;
		padding: 0 0 0 ;
		z-index: 20;

		transition: all .2s ease-in-out;
		background: rgba(0,0,0,1);
	}

	header.scrlon{
		background: rgba(0,0,0,.8);
	}

	header .headIn{
		width:100%;
		margin: 0 auto;
		padding: 17% 0 0 0 ;
		position: relative;

		transition: all .2s ease-in-out;
	}
	header.scrlon .headIn{
		width:100%;
		margin: 0 auto;
		padding: 10% 0 0 0 ;
		position: relative;
	}


	.logo{
		position: absolute;
		top: 50%;
		left: 50%;
		width: 21.2%;
		transition: all .2s ease-in-out;
		transform: translateX(-50%) translateY(-50%);
	}
	header.scrlon .headIn .logo{
		width: 15.2%;
	}
	.logo img{
		width: 100%;
		height: auto;
	}




	/* ハンバーガーアイコン */

	.hamburger-menu{
		transition: all .2s ease-in-out;
	}

	.hamburger-icon {
		cursor: pointer;
		z-index: 1001;
		transition: all .2s ease-in-out;
		position: absolute;
		top: 50%;
		left: 4.9%;
		width: 12.4%;
		height: 22%;
		transform: translateY(-50%);
	}

	/* ハンバーガーの線 */
	.hamburger-icon span {
		width: 100%;
		height: 3px;
		background: #fff;

		position: absolute;
		border-radius: 10px;
		transition: all .2s ease-in-out;
	}

	/* 1本目（上の線） */
	.hamburger-icon span:nth-child(1) {
		top: 0;
	}

	/* 2本目（中央の線） */
	.hamburger-icon span:nth-child(2) {
		top: 100%;
		transform: translateY(-100%);
	}


	header.scrlon .hamburger-icon {
		width: 9.4%;
		height: 21%;
	}

	header.scrlon .hamburger-icon span {
		width: 100%;
		height: 2px;
	}



	/* フルスクリーンメニュー */
	.menu {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100svh;
		background: rgba(0,0,0,1.00);
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.3s ease-in-out;
	}

	/* メニューが開いたとき */
	.menu.active {
		opacity: 1;
		visibility: visible;
	}
	.menu.is-hidden {
		opacity: 0;
		pointer-events: none;
	}
	/* メニューのリンク */
	.menu ul {
		list-style: none;
		padding: 0;
		margin: 0;
		text-align: center;
		width: 100%;
	}

	.menu li {
		margin: 6vw 0;
		opacity: 0;
		transition: all .5s ease-in-out;
	}
	.hamburger-menu.active .menu li:nth-of-type(1) {opacity:1;transition-delay: .0s;}
	.hamburger-menu.active .menu li:nth-of-type(2) {opacity:1;transition-delay: .1s;}
	.hamburger-menu.active .menu li:nth-of-type(3) {opacity:1;transition-delay: .2s;}
	.hamburger-menu.active .menu li:nth-of-type(4) {opacity:1;transition-delay: .3s;}
	.hamburger-menu.active .menu li:nth-of-type(5) {opacity:1;transition-delay: .4s;}
	.hamburger-menu.active .menu li:nth-of-type(6) {opacity:1;transition-delay: .5s;}
	.hamburger-menu.active .menu li:nth-of-type(7) {opacity:1;transition-delay: .6s;}



	.menu a {
		color: #fff;
		font-size: 8vw;
		text-decoration: none;
		font-family: "griffiths";
		font-weight: 400;

		transition: all .4s ease-in-out;

		-webkit-text-stroke-width: 0.5px;
		-webkit-text-stroke-color: white;
	}

	/* ハンバーガーアイコンが「×」に変形 */
	.hamburger-menu.active .hamburger-icon span:nth-child(1) {
		top: 50%;
		transform: rotate(20deg);
	}
	.hamburger-menu.active .hamburger-icon span:nth-child(2) {
		top: 50%;
		transform: rotate(-20deg) translateY(0);
	}


	.headmenu-top{
		position: absolute;
		top: 4vw;
		right: 4vw;

		display: flex;
		flex-wrap: wrap;
		gap: 0 2vw ;
	}
	.headmenu-top div{
		width:8vw;
	}
	.headmenu-top div img{
		width: 100%;
		height: auto;
	}


	.headmenu-bottom{
		position: absolute;
		bottom: 4vw;
		left: 4vw;

		display: flex;
		flex-wrap: wrap;

		gap: 0 4vw ;
	}
	.headmenu-bottom div{
		width:7vw ;
	}
	.headmenu-bottom div a{
		display: block;
	}
	.headmenu-bottom div img{
		width: 100%;
		height: auto;
		display: block;
	}




	.title{
		font-family: "griffiths";
		font-size: 50px;
		padding: 30px;
	}



	/* ----- footer ----- */

	footer{

		background: rgba(0,0,0,1);
		padding: 10vw;;
	}
	footer .gotopbtn{
		position: fixed;
		bottom: 2vw;
		right: 2vw;
	}
	.products footer .gotopbtn{
		bottom: 20vw;
		right: 2vw;
	}
	footer .gotopbtn a{
		display: block;
		padding: 1.2vw;
	}
	footer .gotopbtn img{
		width: 7vw;
	}

	
	
	.footer-menu{
		padding-bottom: 3vw;;
	}
	.footer-menu ul{
		text-align: center;
	}
	.footer-menu li{
		margin-bottom: 3.5vw;
	}
	.footer-menu li a{
		text-decoration: none;
		color: #fff;
		font-size: 3vw;
		letter-spacing: .1em;
	}
	.footer-logo{
		text-align: center;
	}

	.footer-logo img{
		width: 21.4vw;
		height: auto;

	}




	/*----- ホーム　-------*/

	.home-promo{
		width: 100%;
		height: 124.2vw;
		background: url("../images/home/promo_img.jpg") no-repeat center center;
		background-size: cover;
		position: relative;
	}
	.home-promo-txt{
		position: absolute;
		top: 80vw;
		left: 7.3vw;
		text-align: left;
	}
	.home-promo-logo{
		width: 84.7%;
		margin-bottom: 5%;
		text-align: left;
	}
	.home-promo-logo img{
		height: auto;
		width: 64.7%;
	}
	.home-promo-txt p{
		font-size: 2.9vw;
        font-family: "Noto Serif JP", serif;
        color: #fff;
        line-height: 149%;
        letter-spacing: .35em;
        transform: translateX(0);
        margin-bottom: 3vw;
	}



	.home-read{
		padding: 16vw 17vw;
		width: 100%;
	}
	.home-read img{
		width: 100%;
		height: auto;
	}

	.home-read h2{
		font-family: "Noto Serif JP", serif;
		font-size: 5.5vw;
		line-height: 100%;
		margin-bottom: 11vw;
		font-weight: 400;
		letter-spacing: .08em;
		text-align: center;
	}

	
	


	.home-color{
		background: #000;
		padding-top: 3px;
	}
	.home-color ul{
		display: flex;
		column-gap: 3px;
		flex-wrap: wrap;

	}
	.home-color ul li{
		width: calc(33.3333% - 2px);
	}
	.home-color ul li a{
		display: block;
		text-decoration: none;
	}
	.home-color-img::before{
		content: "";
		width: 20px;
		height: 6px;
		background: url("../images/arrow_01.png") no-repeat 0 0;
		background-size: 20px 6px;
		position: absolute;
		right: 5px;
		bottom: 8px;
		z-index: 10;
		transition: all .2s ease-in-out;
	}
	.home-color-img:hover::before{
		transform: translateX(4px);
	}

	
	.home-color ul li a img{
		width: 100%;
		height: auto;
	}
	.home-color ul li a p{
		font-family: "griffiths";
		color: #fff;
		text-align: center;
		font-size: 3vw;
		padding: 8% 0;
		text-decoration: none;
		letter-spacing: 0.03em;
	}


	.home-releasedate{
		padding: 14vw 12vw;
		width: 100%;
	}


	.home-releasedate .senkohanbai a{
		display: block;
		font-family: "Noto Serif JP", serif;
		font-size: 6vw;
		padding: 2vw 3vw 2vw 3vw;
		text-align: center;
		line-height: 140%;
		margin-top: 0;
		color: #fff;
		letter-spacing: .08em;
	}
	.home-releasedate .senkohanbai span.senko{
		display: block;
		font-size: 4.5vw;
		letter-spacing: .02em;
		line-height: 100%;
		margin-top: 1vw;

		border-bottom: 1px solid #fff;
		padding-bottom: 3.4vw;
	}
	.home-releasedate .senkohanbai span.ippan{
		font-size: 4vw;
		display: block;
		margin-top: 0.5vw;
		font-weight: normal;
		font-family: "Noto Sans JP", sans-serif;
		color: #ccc;


	}

	/*home-concept*/
	.home-concept{
		padding: 14vw 0;
	}


	.home-concept h2{
		font-family: "griffiths";
		font-weight: 400;
		font-size: 11vw;
		text-align: center;
		letter-spacing: 0;
		padding: 0 0 3.5vw;

		-webkit-text-stroke-width: 1px;
		-webkit-text-stroke-color: black;
	}

	.home-concept .concept-img{
		padding: 0 17vw 9vw ;
	}
	.home-concept .concept-img img{
		width: 100%;
		height: auto;
	}
	.home-concept h3{
		font-size: 6vw;
		letter-spacing: 0.4em;
		text-align: center;
		line-height: 140%;
		font-weight: 500;
		font-family: "Noto Serif JP", serif;
		padding: 0 0 9vw;
	}
	.home-concept p{
		font-size: 3.2vw;
		letter-spacing: 0.3em;
		line-height: 220%;
		padding: 0 0 5vw 0;
		font-weight: 500;
	}
	.home-concept .concept-logo{
		padding: 10vw 0 15vw ;
		text-align: center;
	}
	.home-concept .concept-logo img{
		width: 20%;
		height: auto;
	}
	.home-concept .concept-img2{
		width: 100%;
	}
	.home-concept .concept-img2 img{
		width: 100%;
		height: auto;
	}


	.sdgsBtm{
		text-align: center;
		padding: 0 0 10vw 0;
	}
	.sdgsBtm img{
		display: block;
		width: 66%;
		height: auto;
		margin: 0 auto;
	}


	.couponbana{
		position: fixed;
		bottom: 12vw;
		right: 2vw;
		z-index: 1;
		transition: all .2s ease-in-out;
		opacity: 0;
		pointer-events: none;
	}
	.couponbana.scrlOn{
		opacity: 1;
		pointer-events: visible
	}
	.couponbana img{
		width: 27vw;
		height: auto;
	}

	.couponbana .fixbanaclose{
		position: absolute;
		top: -2px;
		right: -3px;
		width: 16px;
		height: 16px;
	}
	.couponbana .fixbanaclose img{
		width: 100%;
		height: auto;
	}


	/* ========= product ===========*/


	.pdtpromo{

	}
	.slidepromo-arrow{
		position: absolute;
		top: 50%;
		z-index: 10;
		background: transparent;
		width:12px;
		height: 12px;
		font-size: 0;
		line-height: 0;
		border: none;
	}

	.slidepromo-arrow.arrow-prev{
		left: 2vw;
		transform: rotate(-45deg);
		border-left: 1px solid #999;
		border-top: 1px solid #999;
		cursor: pointer;
	}
	.slidepromo-arrow.arrow-next{
		right: 2vw;
		transform: rotate(45deg);
		border-right: 1px solid #999;
		border-top: 1px solid #999;
		cursor: pointer;
	}

	.slick-num{
		text-align: center;
		display: block;
		font-size: 3vw;
		padding-top: 2vw;
		color: #999;

	}

	
	.product-promo{
		width: 100%;
		height: 123vw;
		background: url("../images/products/lip/products.jpg") no-repeat center center;
		background-size: cover;
	}

	.product-promo-txt{
		padding-top: 6vw;
		text-align: center;
	}
	.slick-slide  .product-promo-txt img{
		width: 32%;
		height: auto;
		display: inline-block;
	}

	.product-promo-color{
		width: 100%;
		height: 123vw;
	}
	.product-promo-01-01{
		background: url("../images/products/lip/pdtpromo_01-01.jpg") no-repeat center center;
		background-size: cover;
	}
	.product-promo-01-02{
		background: url("../images/products/lip/pdtpromo_01-02.jpg") no-repeat center center;
		background-size: cover;
	}
	.product-promo-02-01{
		background: url("../images/products/lip/pdtpromo_02-01.jpg") no-repeat center center;
		background-size: cover;
	}
	.product-promo-02-02{
		background: url("../images/products/lip/pdtpromo_02-02.jpg") no-repeat center center;
		background-size: cover;
	}
	.product-promo-03-01{
		background: url("../images/products/lip/pdtpromo_03-01.jpg?v=0001") no-repeat center center;
		background-size: cover;
	}
	.product-promo-03-02{
		background: url("../images/products/lip/pdtpromo_03-02.jpg?v=0001") no-repeat center center;
		background-size: cover;
	}


	.product-txt{
		padding: 10vw 4vw;
	}

	.product-txt h1{
		font-weight: 400;
		font-size: 4vw;
		padding-bottom: 8vw;
	}

	.product-txt h2{
		font-weight: 400;
		font-size: 6vw;
		letter-spacing: .1em;
		line-height: 127%;
		transform: scaleY(1.1);
		padding-bottom: 8vw;

	}

	.product-read{
		font-weight: 400;
		font-size: 3vw;
		padding-bottom: 7vw;
		letter-spacing: .2em;
		line-height: 170%;
	}

	.product-price{
		font-weight: 400;
		padding-bottom: 7vw;
		letter-spacing: .2em;
		line-height: 170%;
		font-family: "Noto Serif JP", serif;
	}

	.product-price .price-sel{
		font-size: 7vw;
		display: inline-block;
	}
	.product-price .price-tax{
		font-size: 3vw;
		display: inline-block;
		padding: 0 5px;
	}
	.product-price .price-taxout{
		font-size: 3vw;
		display: inline-block;
	}
	.shippinglink{
		font-size: 2.5vw;
		padding-bottom: 7vw;
	}
	.shippinglink a{
		color: #8fcba1;
	}


	.color-slide{
		padding-bottom: 7vw;
	}
	.slideimg{
		padding: 0 1vw;
		opacity: 0.6;
	}
	.slideimg a{
		display: block;
	}
	.slideimg img{
		width: 100%;
		height: auto;
	}
	.slick-active .slideimg {
		opacity: 1;
	}

	.slide-arrow{
		position: absolute;
		top: 50%;
		z-index: 10;
		background: transparent;
		width:16px;
		height: 16px;
		font-size: 0;
		line-height: 0;
		border: none;
	}
	.slide-arrow.arrow-prev{
		left: -2.5vw;
		transform: rotate(-45deg);
		border-left: 1px solid #666;
		border-top: 1px solid #666;
	}
	.slide-arrow.arrow-next{
		right: -2.5vw;
		transform: rotate(45deg);
		border-right: 1px solid #666;
		border-top: 1px solid #666;
	}


	.color-select{
		position: fixed;
		bottom: 0;
		left:0%;
		width: 100%;

		border: 3px solid #000;
		background: #fff;
		padding: 20px;
	}
	.color-select .gotopbtn{
		position: absolute;
		top: -12vw;
		right: 2vw;
	}
	.color-select .gotopbtn a{
		display: block;
		padding: 1.2vw;
	}
	.color-select .gotopbtn img{
		width: 7vw;
	}
	/* =====カート固定=====　*/
		.cart-ui{
		  display:grid;
		  grid-template-columns: 1fr auto auto;
		  gap:12px;
		  align-items:start;
		  position:relative; /* absolute配置の基準 */
		}

		.dropdown{
			position:relative;
			width:min(520px, 100%);
			  grid-column:1;
		}

		.dropdown__button{
			width:100%;
			display:flex;
			justify-content:space-between;
			align-items:center;
			gap:8px;
			padding:5px 12px;
			border:1px solid #ccc;
			border-radius:0;
			background:#fff;
			cursor:pointer;
			font-size: 10px;
			line-height: 180%;

		}

		.dropdown__chev{
			font-size:14px;
			opacity:.7;
		}

		.dropdown__list{
		  grid-column:1;
		  width:100%;                 /* ★ cart-ui の1列目 = dropdown幅 */
		  position:absolute;
			left:0;
			right:0;

			margin:0;
			padding:4px 4px 2px 4px;
			list-style:none;
			border:1px solid #ccc;
			border-radius:0;
			background:#fff;
			box-shadow:0 10px 30px rgba(0,0,0,.08);
			max-height:240px;
			overflow:auto;
			display:none;
			z-index:1000;
		}

		.dropdown.is-open .dropdown__list{
			display:block;
		}

		/* ▼ 画面下なら上に開く */
		.dropdown.drop-up .dropdown__list{
			top:auto;
			bottom:calc(100% + 6px);
		}

		.dropdown__item{
			padding:16px 0 12px 0;
			margin-bottom: 2px;
			border-radius:0;
			cursor:pointer;
			padding-left: 40px;
			font-size: 10px;
			background-size: auto 42px;
		}

		.dropdown__item:hover,
		.dropdown__item[aria-selected="true"]{
			background-color:#eee;
			background-size: auto 42px;
		}
		.dropdown__item span{
			font-size: 11px;
		}

		.qty{
			display:flex;
			align-items:center;
			gap:8px;
			font-size: 12px;
		}

		.qty input{
			width:40px;
			padding:5px 12px;
			border:1px solid #ccc;
			border-radius:0;
			font-size: 12px;
			line-height: 100%;
		}

		.cart-btn{
			padding:7px 14px 7px 14px;
			border:0;
			border-radius:0;
			cursor:pointer;
			font-size: 12px;
			line-height: 120%;
		}

	/* =====/カート固定=====　*/
	
	
	
	.product-detail{
		padding-bottom: 0;
	}

	.product-detail p{
		font-size: 3vw;
		line-height: 180%;
		padding-bottom: 3vw;
	}

	.colorBox{
		width: 100%;
	}

	#color01.colorBox .colorMV01{
		width: 100%;
		height: 248vw;
		position: relative;
		background: url("../images/products/lip/color1_01.jpg") no-repeat center center;
		background-size: cover;
	}
	#color02.colorBox .colorMV01{
		width: 100%;
		height: 248vw;
		position: relative;
		background: url("../images/products/lip/color2_01.jpg") no-repeat center center;
		background-size: cover;
	}
	#color03.colorBox .colorMV01{
		width: 100%;
		height: 248vw;
		position: relative;
		background: url("../images/products/lip/color3_01.jpg") no-repeat center center;
		background-size: cover;
	}

	
	
	.colorBox .colorMV01 .colorMVimg{
		position: absolute;
		top: 99vw;
		right: 7vw;
		width: 31%;
	}
	.colorBox .colorMV01 .colorMVimg img{
		width: 100%;
		height: auto;
	}



	.colorBox .colorMV02{
		width: 100%;
		height: 124vw;
		position: relative;
		background: url("../images/products/lip/color1_02.jpg") no-repeat center center;
		background-size: cover;
	}

	.colorBox#color02 .colorMV02{
		width: 100%;
		height: 124vw;
		position: relative;
		background: url("../images/products/lip/color2_02.jpg") no-repeat center center;
		background-size: cover;
	}


	.colorBox-read{
		display: flex;
		flex-wrap: wrap;
	}

	.colorBox-slide{
		width: 50%;
	}
	.colorBox-slide .slideimg{
		padding: 0;
		display: block !important;
		opacity: 1;
	}

	.colorBox-readtxt{
		width: 50%;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		background: #000;
		color: #fff;
		font-size: 3.7vw;
		line-height: 170%;
		letter-spacing: 0.3em;
		text-align: center;

	}
	.colorBox-readtxt p{
		width: 100%;
		transform: translateX(0.4em);
	}

	.chusyaku{
		font-size: 1.7vw;
		display: block;
		line-height: 1.7vw;
		padding-top: 0.7vw;
	}
	ruby.chusyakuruby rt{
		text-align: right;
		line-height: 100%;
		transform: translateY(.5em);
	}


	.seibunBoxs{
		/*padding: 5vw;*/
	}
	.seibunBox{
		/*border: 3px solid #000;*/
	}

	.seibunTitle{
		font-weight: 400;
		font-size: 3vw;
		padding-bottom: 8vw;
		border-top: 1px solid #333;
		padding: 2vw 3vw ;
		line-height: 180%;
		position: relative;
		transition: all .3s ease-in-out;
		cursor: pointer;
	}
	.seibunTitle:hover{
		background: #F8F8F8;
	}

	.seibunTitle::before{
		position: absolute;
		content: "";
		width: 3vw;
		height: 1px;
		top: 5vw;
		right: 6vw;
		background: #333;
		transform: translateX(50%);
	}
	.openseibun.seibunTitle{
		background: #F8F8F8;
	}
	.seibunTitle::after{
		position: absolute;
		content: "";
		width: 1px;
		height: 3vw;
		top: 5vw;
		right: 6vw;
		background: #333;
		transform: translateY(-50%);
		opacity: 1;
		transition: all .3s ease-in-out; 
	}
	.openseibun.seibunTitle::after{
		opacity: 0;
	}



	.seibunTxt{
		border-top: 1px solid #333;
		padding: 3vw 3vw ;
		display: none;
		line-height: 180%;
		font-size: 3vw;
	}


	
	/*その他のページ*/


	.otherpage{
		padding: calc(10vw / 2) calc(5vw / 2);
	}
	.otherpage h1{
		font-size: 5vw;
		font-weight: bold;
		line-height: 180%;
		margin-bottom: 6vw;
		text-align: center;

	}

	.txtBox{
		margin-bottom: 5vw;
		padding-bottom: 5vw;
		border-bottom: 1px solid #ddd;
	}
	.txtBox.txtR{
		text-align: right;
	}
	.txtBox.txtC{
		text-align: center;
	}
	.txtBox h2{
		font-size: 4vw;
		font-weight: bold;
		line-height: 180%;
		margin-bottom: 3vw;
	}
	.txtBox h3{
		font-size: 3vw;
		font-weight: bold;
		line-height: 180%;
		margin-bottom: 3vw;
	}
	.txtBox p{
		font-size: 3vw;
		line-height: 180%;
		margin-bottom: 5vw;
	}
	.txtBox.txtS p{
		font-size: 3vw;
	}
	.txtBox ul{
		padding-left: 1.2em;
		margin-bottom: 5vw;
	}
	.txtBox ul li{
		list-style-type: disc;
		line-height: 180%;
		margin-bottom: 2vw;
		font-size: 3vw;
	}
	.txtBox p.txtimg{
		font-size: 3vw;
		line-height: 180%;
		margin-bottom: 2vw;
	}
	


	.userTable_02{
		border-top: 1px solid #ccc;
		border-left: 1px solid #ccc;
		width: 100%;
		margin-bottom: 7vw;	
		display: block;
	}
	.userTable_02 tbody,
	.userTable_02 tbody tr{
		display: block;
		width: 100%;
	}
	.userTable_02 td{
		display: block;
		width: 100%;

		padding: 4px;
		font-size: 3vw;
		border-bottom: 1px solid #ccc;
		border-right: 1px solid #ccc;
		line-height: 160%;
	}
	.userTable_02 th{
		display: block;
		width: 100%;
		padding: 4px;
		background: #eee;
		font-size: 3vw;
		border-bottom: 1px solid #ccc;
		border-right: 1px solid #ccc;
		line-height: 160%;
	}
	
}



.otherpage a{
	color: #000 !important;
	text-decoration: underline;
}
.zipcode a{
	pointer-events: none;
	color: #000 !important;
	text-decoration: none !important;
}




/*カート内*/




.fs-l-pageMain{
    width: 100%;
    padding: calc(19.9% - 6px) calc(5vw / 2) calc(5vw / 2) calc(5vw / 2);
    border: 3px solid #000;
	font-size: 14px;
}

.fs-l-pageMain,
.fs-body-cart .fs-c-estimatedDeliveryDate,
.fs-c-checkout-shippingAddress__name__home,
.fs-c-homeLabel{
	font-size: 14px;
	line-height: 150% ;
}

.fs-c-inputInformation__field--display .fs-c-inputTable__headerCell{
	font-size: 16px;
}

.fs-c-price,
.fs-c-checkout-shippingOptionPreview__value,
.fs-c-checkout-shippingAddress__name,
.fs-p-accountInfo__point__point__available__number{
	font-size: 18px;
}

.fs-c-inputInformation__field--display .fs-c-inputTable__headerCell{
	margin-bottom: 6px;
}

.fs-c-cartTable__dataCell--point::before, .fs-c-cartTable__dataCell--quantity::before, .fs-c-cartTable__dataCell--subtotal::before{
	margin-right: auto;
}
.fs-body-cart .fs-l-cart__contentsArea{
	display: block;
}
[class^=fs-body-checkout] .fs-l-checkout{
	display: block;
}
[class^=fs-body-checkout] .fs-l-checkout__mainColumn{
	padding-right:0;
}
.fs-body-cart .fs-l-cart__sideColumn,
.fs-c-checkout-preview{
	margin-top: 20px;
}
.fs-c-totalAndActions button:where(:not(.fs-c-button--image)){
    min-width: 50%;
    max-width: 50%;
	margin-top: 20px;
}

.fs-c-accountService__page{
	flex-basis: 8.4vw;
	height: 128px;
}

.fs-body-login .fs-c-loginForm > * {
	flex-basis:100%;
}
.fs-c-accountService__page--accountDelete{
	width: 100%;
	flex-basis: 100%;
	height: auto;
}






@media screen and (max-width: 768px) {

	.fs-l-pageMain{
		width: 100%;
		padding: 23vw 5vw 10vw 5vw ;
		border: 3px solid #000;
	}

	.fs-c-accountService__page{
		flex-basis: 33.6vw;
		height: 128px;
	}
	.fs-c-accountService__page--accountDelete{
		width: 100%;
		flex-basis: 100%;
	}
}





/*メンバーシップ*/

.membershipPageRead{
	font-size: calc(2.2vw / 2);
	line-height: 200%;
	margin-bottom: 3vw;
	text-align: center;
}
.membershipBlocks{
	display: flex;
	flex-wrap: wrap;
	gap:0 2%;
	
	margin-bottom: 5vw;
}
.membershipBlock{
	width: 32%;
	display: flex;
    flex-direction: column;
	border: 2px solid #000;
	padding: calc(1.5vw / 2);
}
.membershipImg{
	margin-bottom: calc(2.5vw / 2);
}
.membershipImg img{
	width: 100%;
	height: auto;
}
.membershipTxtTitle{
	font-size: calc(1.8vw / 2);
	font-weight: bold;
	margin-bottom: calc(2.5vw / 2);
	line-height: 160%;
	text-align: center;
}
.membershipTxt{
	font-size: calc(1.8vw / 2);
	line-height: 160%;
	margin-bottom: calc(2.5vw / 2);
}
.membershipTxtBtn{
	margin-top: auto;
	
}
.membershipTxtBtn a{
	display: block;
	background: #eee;
	text-decoration: none;
	padding: 10px;
	font-size: calc(1.5vw / 2);
	position: relative;
}
.membershipTxtBtn a::before {
    content: '';
    width: 9px;
    height: 9px;
    border: 0px;
    border-top: solid 1px #000;
    border-right: solid 1px #000;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -4px;
}
dl.pointlist {
    display: flex;
    flex-wrap: wrap;
}
dl.pointlist dt {
    width: 2.9vw;
    margin-bottom: 5px;
	line-height: 160%;
	font-size: calc(1.5vw / 2);
}
dl.pointlist dd{
    width: calc(100% - 2.9vw);
    margin-bottom: 5px;
	line-height: 160%;
	font-size: calc(1.5vw / 2);
}


.shoplistPageRead{
	font-size: calc(1.8vw / 2);
	line-height: 200%;
	margin-bottom: 3vw;
	text-align: center;
}


.shoplist{
	padding: 1.5vw;
	font-size: calc(1.8vw / 2);
	border-top: 1px solid #333;
	text-align: center;
	margin: 0 auto 0;
	width: 80%;
	
}
.shoplist:nth-last-of-type(1){
	border-bottom: 1px solid #333;
	margin: 0 auto 5vw;

}


@media screen and (max-width: 768px) {

	.membershipPageRead{
		font-size: 4vw;
		line-height: 200%;
		margin-bottom: 7vw;
		text-align: center;
	}
	.membershipBlocks{
		display: flex;
		flex-wrap: wrap;
		gap:16px 2%;

		margin-bottom: 8vw;
		
		padding: 0 5%;
	}
	.membershipBlock{
		width: 100%;
		display: flex;
		flex-direction: column;
		border: 2px solid #000;
		padding: 3vw;
	}
	.membershipImg{
		margin-bottom:3vw;
		text-align: center;
	}
	.membershipImg img{
		width: 80%;
		height: auto;
	}
	.membershipTxtTitle{
		font-size: 3.5vw;
		font-weight: bold;
		margin-bottom: 2.5vw;
		line-height: 160%;
		text-align: center;
	}
	.membershipTxt{
		font-size: 3.5vw;
		line-height: 160%;
		margin-bottom: 2.5vw;
	}
	.membershipTxtBtn{
		margin-top: auto;

	}
	.membershipTxtBtn a{
		display: block;
		background: #eee;
		text-decoration: none;
		padding: 10px;
		font-size: 3.5vw;
	}
	

	dl.pointlist {
		display: flex;
		flex-wrap: wrap;
		padding: 0 5%;
	}
	dl.pointlist dt {
		width: 11vw;
		margin-bottom: 5px;
		line-height: 160%;
		font-size: 3vw;
	}
	dl.pointlist dd{
		width: calc(100% - 11vw);
		margin-bottom: 5px;
		line-height: 160%;
		font-size: 3vw;
	}

	.shoplistPageRead{
		font-size: 3.2vw;
		line-height: 200%;
		margin-bottom: 7vw;
		text-align: center;
	}
	.shoplist{
		padding: 4vw;
		font-size: 3.5vw;
		border-top: 1px solid #333;
		text-align: center;
		width: 80%;
		margin: 0 auto;
	}
	.shoplist:nth-last-of-type(1){
		border-bottom: 1px solid #333;
		margin: 0 auto 10vw;
		
	}


}




/*FAQ*/

.faqLists{
	width: 70%;
	margin: 0 auto 10vw;
	border-bottom: 1px solid #333;
}

.faqList{
	position: relative;
}


.faqList-q{
	border-top: 1px solid #333;
	padding: 20px 15px ;
	line-height: 180%;
	position: relative;
	transition: all .3s ease-in-out;
	cursor: pointer;
}
.faqList-q:hover{
	background: #F8F8F8;
}

.faqList-q::before{
	position: absolute;
	content: "";
	width: 13px;
	height: 1px;
	top: 36px;
	right: 15px;
	background: #333;
	transform: translateX(50%);
}
.openfaq.faqList-q{
	background: #F8F8F8;
}
.faqList-q::after{
	position: absolute;
	content: "";
	width: 1px;
	height: 13px;
	top: 36px;
	right: 15px;
	background: #333;
	transform: translateY(-50%);
	opacity: 1;
	transition: all .3s ease-in-out; 
}
.openfaq.faqList-q::after{
	opacity: 0;
}



.faqList-a{
	border-top: 1px solid #333;
	padding: 20px 15px ;
	display: none;
	line-height: 180%;
	background: rgba(242,242,242,1.00)
}




@media screen and (max-width: 768px) {
	.faqLists{
		width: 90%;
		margin: 0 auto 10vw;
		border-bottom: 1px solid #333;

	}
	.faqList-q{
		border-top: 1px solid #333;
		padding: 10px 20px 10px 10px ;
		line-height: 180%;
		position: relative;
        font-size: 3vw;
	}
	.faqList-a{
		border-top: 1px solid #333;
		padding: 10px 10px 10px 10px ;
		display: none;
		line-height: 180%;
        font-size: 3vw;
	}
	
	.faqList-q::before{
		top: 21px;
	}
	.faqList-q::after{
		top: 21px;
	}
	
	
}




.grecaptcha-badge { visibility: hidden; }





/*COCNTACT*/

/*contactChart*/

.contactChart{
	margin-bottom: 60px;
}

.contactChart dl{
	display: flex;
	flex-wrap: wrap;
}
.contactChart dl dt,
.contactChart dl dd{
	padding: 30px 0;
	font-size: 16px;
}
.contactChart dl dt{
	width:23%;
	border-bottom: 1px solid #ddd;
}
.contactChart dl dt.hissu::after{
	content: "*";
	font-size: 16px;
	color: #ff0000;
}
.contactChart dl dd{
	width:77%;
	border-bottom: 1px solid #ddd;
}
.contactChart dl dt:nth-of-type(1){
	padding:  0 0 15px 0;
}
.contactChart dl dd:nth-of-type(1){
	padding:  0 0 15px 0;
}
.contactChart dl dd input[type=text]{
	width: 40%;
	padding: 10px;
	border: 1px solid #ccc;
    font-size: calc(2vw / 2);
}
.contactChart dl dd input[type=email]{
	width: 40%;
	padding: 10px;
	border: 1px solid #ccc;
    font-size: calc(2vw / 2);
}
.contactChart dl dd textarea{
	width: 100%;
	height: 300px;
	padding: 15px;
	border: 1px solid #ccc;
    font-size: calc(2vw / 2);
}


.submitArea{
	text-align: center;
}



.submitArea input[type=submit]{
	border: none;
	background: #000;
	padding: 20px 80px;
	color: #fff;
    font-size: calc(2vw / 2);
	cursor: pointer;
	transition: all .2s ease-in-out;
}
.submitArea input[type=submit]:hover{
	background: #333;
}


.backTop{
	text-align: center;
	margin-top: 50px;
}

.backTop a{
	display: inline-block;
	border: none;
	background: #000;
	padding: 20px 80px;
	color: #fff !important;
    font-size: calc(2vw / 2);
	cursor: pointer;
	transition: all .2s ease-in-out;
	text-decoration: none;
}

.contactBlock{
	padding-bottom: 3vw;
}



@media screen and (max-width: 768px) {

	/*contactChart*/

	.contactChart{
		margin-bottom: 60px;
	}

	.contactChart dl{
		display: flex;
		flex-wrap: wrap;
	}
	.contactChart dl dt{
		padding: 16px 0 0;
		font-size: 3vw;
	}
	.contactChart dl dd{
		padding: 5px 0 16px;
		font-size: 3vw;
	}
	.contactChart dl dt{
		width:100%;
		border-bottom: none;
	}
	.contactChart dl dt.hissu::after{
		content: "*";
		font-size: 16px;
		color: #ff0000;
	}
	.contactChart dl dd{
		width:100%;
	}
	.contactChart dl dt:nth-of-type(1){
		padding:  0 0 16px 0;
	}
	.contactChart dl dd:nth-of-type(1){
		padding:  0 0 16px 0;
	}
	.contactChart dl dd input[type=text]{
		width: 100%;
		padding: 7px;
		border: 1px solid #ccc;
		border-radius: 3px;
		font-size: 3vw;
	}
	.contactChart dl dd input[type=email]{
		width: 100%;
		padding: 7px;
		border: 1px solid #ccc;
		border-radius: 3px;
		font-size: 3vw;
	}
	.contactChart dl dd textarea{
		width: 100%;
		height: 150px;
		padding: 7px;
		border: 1px solid #ccc;
		font-size: 3vw;
	}


	.submitArea{
		text-align: center;
	}



	.submitArea input[type=submit]{

		
		

		padding: 15px 60px;
		font-size: 3vw;
		cursor: pointer;
		transition: all .2s ease-in-out;
	}
	.submitArea input[type=submit]:hover{
		background: #666666;
	}


	.backTop{
		text-align: center;
		margin-top: 40px;
	}

	.backTop a{
		display: inline-block;
		border: none;
		background: #000;
		padding: 15px 60px;
		color: #fff !important;
		font-size: 3vw;
		cursor: pointer;
		transition: all .2s ease-in-out;
		text-decoration: none;
	}

.contactBlock{
	padding-bottom: 10vw;
}



}

