/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&family=Roboto:wght@300&display=swap');

/* 全体設定 */
.primavista_header {
	font-family: 'Noto Sans JP', sans-serif;
}

.primavista_header_black {
	color: #fff;
}

.primavista_header * {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

.primavista_header h1 {
	line-height: 0;
}

.primavista_header img {
	vertical-align: bottom;
	width: 100%;
}

.primavista_header a {
	text-decoration: none;
	display: block;
	line-height: 0;
}

.primavista_header a:hover {
	opacity: 0.7;
}

.primavista_header li {
	list-style: none;
}

.header {
	width: 100%;
	background-color: #fff;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999999;
}

.primavista_header_black .header {
	background-color: #000;
}

.header__inner {
	max-width: 1366px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 33px;
	padding-right: 33px;
}
@media all and (max-width: 1365px) {
	.header__inner {
		padding-left: 2.4158vw;
		padding-right: 2.4158vw;
	}
}
@media all and (max-width: 1024px) {
	.header__inner {
		padding-left: 6vw;
		padding-right: 6vw;
	}
}
/* @media all and (max-width: 640px) {
	.header__inner {
		padding-left: 6vw;
		padding-right: 6vw;
	}
} */

.sp {
	display: none;
}
@media all and (max-width: 1024px) {
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
}

body.open {
	overflow: hidden;
}

/* ヘッダートップ */
.header__top {
	padding-top: 20px;
	padding-bottom: 22px;
	border-bottom: 4px solid #f9d4d9;
	background-color: #fff;
	position: relative;
	z-index: 999999;
}
@media all and (max-width: 1024px) {
	.header__top {
		padding-top: 18px;
		padding-bottom: 18px;
		border-bottom: 3px solid #f9d4d9;
	}
}

.primavista_header_black .header__top {
	background-color: #000;
}

.header__top .header__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
@media all and (max-width: 640px) {
	.header__top .header__inner {
		display: block;
		position: relative;
	}
}

.header__top-logo {
	width: 175px;
}
@media all and (max-width: 1024px) {
	.header__top-logo {
		width: 127.5px;
		margin-left: auto;
		margin-right: auto;
	}
}

.header__top-right {
	display: flex;
	align-items: center;
}

.header__top-ul {
	display: flex;
	margin-left: auto;
	align-items: center;
}
@media all and (max-width: 1024px) {
	.header__top-ul {
		display: none;
	}
}

.header__top-ul.open {
	display: none;
}

.header__top-li {
	font-size: 16px;
	margin-right: 50px;
}
@media all and (max-width: 1365px) {
	.header__top-li {
		margin-right: 3.6603vw;
	}
}
@media all and (max-width: 1250px) {
	.header__top-li {
		font-size: 12px;
	}
}

.header__top-li:last-of-type {
	margin-right: 65px;
}
@media all and (max-width: 1365px) {
	.header__top-li:last-of-type {
		margin-right: 4.7584vw;
	}
}

.header__top-li a {
	color: #545454;
}

.header__top-li--black {
	width: 150px;
	margin-top: 2px;
}
@media all and (max-width: 1250px) {
	.header__top-li--black {
		width: 110px;
		margin-top: 1px;
	}
}

.primavista_header_black .header__top-li a {
	color: #fff;
}

.header__top-btn {
	cursor: pointer;
	line-height: 1;
}
@media all and (max-width: 1024px) {
	.header__top-btn {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 6vw;
	}
}

.header__top-btn--hamburger {
	width: 28px;
}
@media all and (max-width: 1024px) {
	.header__top-btn--hamburger {
		width: 20px;
	}
}

.header__top-btn--hamburger.open {
	display: none;
}

.header__top-btn--close {
	display: none;
}

.header__top-btn--close.open {
	display: block;
	width: 22px;
}
@media all and (max-width: 1024px) {
	.header__top-btn--close.open {
		width: 15px;
	}
}

/* ヘッダーコンテンツ */
.header__content {
	display: none;
	background-color: #fff;
	overflow: auto;
	overflow-y: scroll;
}

.primavista_header_black .header__content {
	background-color: #000;
}

.header__content .header__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
@media all and (max-width: 1024px) {
	.header__content .header__inner {
		display: block;
		padding-left: 0;
		padding-right: 0;
	}
}

.header__content-block--products {
	width: 100%;
	padding-top: 50px;
	padding-bottom: 60px;
}
@media all and (max-width: 1024px) {
	.header__content-block--products {
		width: 100%;
		padding-top: 20px;
		padding-bottom: 30px;		
		padding-left: 6vw;
		padding-right: 6vw;
	}
}

.header__content-block--shop {
	width: 65%;
	padding-top: 36px;
	padding-bottom: 60px;
	border-top: 1px solid #313131;
}
@media all and (max-width: 1024px) {
	.header__content-block--shop {
		width: 100%;
		padding-top: 0;
		padding-bottom: 0;		
		padding-left: 6vw;
		padding-right: 6vw;
	}
}

.primavista_header_black .header__content-block--shop {
	border-top: 1px solid #fff;
}

.header__content-block--more-sns {
	width: 30.9%;
	border-top: 1px solid #313131;
}
@media all and (max-width: 1024px) {
	.header__content-block--more-sns {
		width: 100%;
		border-top: 1px solid #313131;
	}
}

.primavista_header_black .header__content-block--more-sns {
	border-top: 1px solid #fff;
}

.header__content-block-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header__content-block-top--products {
	padding-bottom: 37px;
}
@media all and (max-width: 1024px) {
	.header__content-block-top--products {
		padding-bottom: 3px;
	}
}

.header__content-block-top--shop {
	padding-bottom: 35px;
}
@media all and (max-width: 1024px) {
	.header__content-block-top--shop {
		padding-top: 23px;
		padding-bottom: 25px;
		cursor: pointer;
	}
}

.header__content-block-top--more {
	padding-bottom: 36px;
}
@media all and (max-width: 1024px) {
	.header__content-block-top--more {
		padding-top: 23px;
		padding-bottom: 23px;
		cursor: pointer;
	}
}

.header__content-ttl {
	font-family: "Roboto", sans-serif;
	font-weight: 300;
	font-size: 30px;
	line-height: 1;
	letter-spacing: 0.05em;
}
@media all and (max-width: 1024px) {
	.header__content-ttl {
		font-size: 20px;
	}
}

.header__content-ttl--sns {
	font-size: 18px;
	color: #313131;
	margin-bottom: 20px;
}
@media all and (max-width: 1024px) {
	.header__content-ttl--sns {
		font-size: 15px;
		margin-bottom: 0;
	}
}

.primavista_header_black .header__content-ttl--sns {
	color: #fff;
}
@media all and (max-width: 1024px) {
	.primavista_header_black .header__content-ttl--sns {
		color: #313131;
	}
}

.header__content-products-btn a {
	color: #626262;
	font-size: 18px;
	line-height: 1;
	display: block;
	padding-left: 31px;
	padding-right: 31px;
	padding-top: 11px;
	padding-bottom: 10px;
	border: 1px solid #1b1b1b;
	border-radius: 5px;
}
@media all and (max-width: 1024px) {
	.header__content-products-btn a {
		font-size: 14px;
		padding-left: 18px;
		padding-right: 19px;
		padding-top: 8px;
		padding-bottom: 8px;
		border-radius: 3px;
	}
}

.primavista_header_black .header__content-products-btn a {
	color: #fff;
	border: 1px solid #fff;
}

.header__content-icon {
	display: none;
}
@media all and (max-width: 1024px) {
	.header__content-icon {
		display: block;
		line-height: 1;
	}
	img.header__content-icon {
		width: 12.5px;
	}
	.header__content-icon--minus {
		display: none;
	}
	.header__content-icon--minus.ac_open {
		display: block;
	}
	.header__content-icon--plus.ac_open {
		display: none;
	}
}

.header__content-products-ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
@media all and (max-width: 1024px) {
	.header__content-products-ul {
		flex-wrap: wrap;
		width: 85%;
		justify-content: flex-start;
		column-gap: 1.333333%;
		row-gap: 10px;
		align-items: flex-end;
	}
}
@media all and (max-width: 640px) {
	.header__content-products-ul {
		width: auto;
		justify-content: space-between;
		column-gap: normal;
		row-gap: normal;
	}
}

.header__content-products-li {
	width: 13.1538%;
}
@media all and (max-width: 1024px) {
	.header__content-products-li {
		width: 24%;
	}
}
@media all and (max-width: 640px) {
	.header__content-products-li {
		width: 48.4848%;
	}
}

@media all and (max-width: 640px) {
	.header__content-products-li--base {
		padding-top: 4.666666vw;
	}

	.primavista_header_black .header__content-products-li--base {
		padding-top: 4vw;
	}

	.header__content-products-li--facepowder {
		padding-top: 4.4vw;
	}

	.primavista_header_black .header__content-products-li--facepowder {
		padding-top: 4.533333vw;
	}

	.header__content-products-li--eyebrow {
		padding-top: 3.466666vw;
	}

	.primavista_header_black .header__content-products-li--eyebrow {
		padding-top: 4.8vw;
	}

	.header__content-products-li--primavistadea {
		padding-top: 5.733333vw;
	}

	.primavista_header_black .header__content-products-li--primavistadea {
		padding-top: 4vw;
	}
}

@media all and (max-width: 1024px) {
	.header__content-shop-wrapper {
		display: none;
	}
}

.header__content-shop-ul {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px 1.7751%;
	margin-bottom: 16px;
}
@media all and (max-width: 640px) {
	.header__content-shop-ul {
		gap: 15px 4.2424%;
		margin-bottom: 20px;
	}
}

.header__content-shop-li {
	width: 23.6686%;
}
@media all and (max-width: 640px) {
	.header__content-shop-li {
		width: 47.8787%;
	}
}

.header__content-shop-li--MyKaoMall {
	width: 49.1124%;
	margin-right: 50%;
}
@media all and (max-width: 640px) {
	.header__content-shop-li--MyKaoMall {
		width: 81.8181%;
		margin-right: 9%;
		margin-left: 9%;
	}
}

.header__content-shop-txt {
	font-size: 12px;
	line-height: 1.6666;
}
@media all and (max-width: 1024px) {
	.header__content-shop-txt {
		padding-bottom: 25px;
	}
}
@media all and (max-width: 640px) {
	.header__content-shop-txt {
		font-size: 10px;
		line-height: 1.6;
	}
}

.header__content-block-inner--more {
	padding-top: 36px;
	padding-bottom: 50px;
}
@media all and (max-width: 1024px) {
	.header__content-block-inner--more {
		padding-top: 0;
		padding-bottom: 0;		
		padding-left: 6vw;
		padding-right: 6vw;
	}
}

@media all and (max-width: 1024px) {
	.header__content-more-ul {
		padding-bottom: 28px;
		display: none;
	}
}

.header__content-more-li {
	margin-left: 5%;
	font-size: 18px;
	line-height: 1;
	margin-bottom: 20px;
}
@media all and (max-width: 1024px) {
	.header__content-more-li {
		margin-left: 5%;
		font-size: 14px;
		margin-bottom: 24px;
	}
}

.header__content-more-li a {
	color: #626262;
	line-height: 1;
}

.primavista_header_black .header__content-more-li a {
	color: #fff;
}

.header__content-more-li:last-of-type {
	margin-bottom: 0;
}
@media all and (max-width: 1024px) {
	.header__content-more-li:last-of-type {
		margin-bottom: 0;
	}
}

.header__content-block-inner--sns {
	border-top: 1px solid #313131;
	padding-top: 26px;
}
@media all and (max-width: 1024px) {
	.header__content-block-inner--sns {
		border-top: none;
		width: 100%;
		background-color: #f5f5f5;
		padding-top: 40px;
		padding-bottom: 40px;
		padding-left: 6vw;
		padding-right: 6vw;
		display: flex;
		justify-content: center;
		align-items: center;
	}
}

.primavista_header_black .header__content-block-inner--sns {
	border-top: 1px solid #fff;
}
@media all and (max-width: 1024px) {
	.primavista_header_black .header__content-block-inner--sns {
		border-top: none;
	}
}

.header__content-sns-ul {
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.header__content-sns-li {
	width: 7.5%;
	margin-right: 8.25%;
}
@media all and (max-width: 1024px) {
	.header__content-sns-li {
		width: 4.58864vw;
		margin-right: 0;
		margin-left: 5.33328vw;
	}
}
@media all and (max-width: 640px) {
	.header__content-sns-li {
		width: 5.7333vw;
		margin-left: 6.6666vw;
	}
}

.header__content-sns-li--tiktok {
	width: auto;
}

.header__content-sns-li--tiktok a {
	color: #000;
	font-size: 16px;
	font-weight: 500;
}

.primavista_header_black .header__content-sns-li--tiktok a {
	color: #fff;
}
@media all and (max-width: 1024px) {
	.primavista_header_black .header__content-sns-li--tiktok a {
		color: #000;
	}
}

/* 固定したヘッダーの上部の余白調整 */
.header__dummy {
	width: 100%;
	height: 73.44px;
	visibility: hidden;
}
@media all and (max-width: 1024px) {
	.header__dummy {
		height: 59px;
	}
}

/* アンカーリンクのヘッダー分の余白調整 */
.anchorlink_area {
    height: 73.44px;
    margin-top: -73.44px;
    visibility: hidden;
	margin-bottom: 0;
}
@media all and (max-width: 1024px) {
	.anchorlink_area {
		height: 59px;
		margin-top: -59px;
	}
}