@charset "UTF-8";

:root {
	--color-shockingPink: #e4006e;
	--color-lightPink: #ffe8fb;
	--color-normalPink: #ef66a8;
	--innerWidth: 100%;
	--color-link: #0091ff;
}

html:has(.sp_menu_sw:checked) {
	overflow: hidden;
}

body {
	color: #000000;
	font-family: "Noto Sans JP", serif;
	font-optical-sizing: auto;
	font-weight: 300;
	line-height: 1;
	font-size: 14px;
	word-wrap: break-word;
}

p:not(:last-child) {
	margin-bottom: 1em;
}

a:link {
	color: inherit;
	text-decoration: none;
}

a:visited {
	color: inherit;
	text-decoration: none;
}

img {
	max-width: 100%;
	width: auto;
	height: auto;
	zoom: 0.5;
	vertical-align: top;
}

/*----------------------------------------
■レイアウト
----------------------------------------*/
#container {
	position: relative;
}

#container header {
	background-color: var(--color-shockingPink);

}

header>.inner {
	max-width: var(--innerWidth);
	margin-inline: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 50px;
	padding: 0 10px;
}

header .logo:link,
header .logo:visited {
	text-indent: -9999px;
	width: 125px;
	height: 22px;
	mask-image: url(/wp/wp-content/themes/everyyou/img/common/logo.svg);
	mask-size: contain;
	mask-repeat: no-repeat;
	background-color: #fff;
	margin-right: 40px;
}


#breadList {
	grid-area: breadList;
}

#breadList ul {
	padding: 20px 10px;
	display: inline-flex;
	width: var(--innerWidth);
	margin-inline: auto;
	color: #a3a3a3;
	overflow-x: auto;
}

#breadList ul li {
	word-break: keep-all;
	white-space: nowrap;
}

#breadList ul li:not(:last-child):after {
	content: ">";
	margin-inline: 10px;
}

#breadList ul li a:link,
#breadList ul li a:visited {
	color: #a3a3a3;
}

.globalNav {
	display: block;
	overflow: auto;
	position: fixed;
	top: 50px;
	left: 0px;
	z-index: 10;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.8);
	transition: 0.3s ease-in-out;
	-webkit-transform: translateX(105%);
	transform: translateX(105%);
}

.sp_menu_sw:checked~nav {
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
	box-shadow: 6px 0 25px rgba(0, 0, 0, 0.15);
	width: 75%;
	height: 100%;
	position: fixed;
}

.globalNav ul {
	display: flex;
	flex-direction: column;
	gap: 30px;
	padding: 20px;
}

.globalNav ul li a:link,
.globalNav ul li a:visited {
	color: #fff;
	text-decoration: none;
	font-size: 14px;
}

.sp_menu_sw {
	display: none;
}

.sp_menu_img {
	position: relative;
	display: flex;
	height: 17px;
	width: 30px;
	justify-content: center;
	align-items: center;
	z-index: 90;
}

.sp_menu_img:before {
	content: "";
	display: block;
	width: 100%;
	height: 3px;
	border-radius: 4px;
	background-color: #fff;
	position: absolute;
	top: 0;
	transition: 0.2s;
}

.sp_menu_img span {
	text-indent: -9999px;
	position: relative;
	height: 100%;
	width: 100%;
}

.sp_menu_img span:before,
.sp_menu_img span:after {
	content: "";
	display: block;
	height: 3px;
	width: 100%;
	border-radius: 4px;
	background-color: #fff;
	position: absolute;
	transition: 0.2s;
}

.sp_menu_img span:before {
	bottom: 0;
	top: 0;
	margin: auto;
}

.sp_menu_img span:after {
	bottom: 0px;
}

.sp_menu_sw:checked~.sp_menu_img:before {
	background-color: rgba(255, 255, 255, 0);
	transition: 0.2s;
}

.sp_menu_sw:checked~.sp_menu_img span::before {
	top: 0;
	bottom: 0;
	margin: auto;
	transform: rotate(45deg);
	transition: 0.2s;
}

.sp_menu_sw:checked~.sp_menu_img span::after {
	top: 0;
	bottom: 0;
	margin: auto;
	transform: rotate(-45deg);
	transition: 0.2s;
}

section>.inner {
	margin-inline: auto;
	padding: 50px 20px;
}

.contentWrapper {
	display: flex;
	flex-direction: column;
	gap: 60px;
}

aside {
	display: block;
	padding-inline: 10px;
}

.sideMenu {
	margin-bottom: 30px;
}

.sideMenu>.title {
	display: block;
	width: 100%;
}

.sideMenu .menuList li a:link,
.sideMenu .menuList li a:visited {
	display: block;
	text-align: center;
	background-color: #fff8fe;
	padding: 15px;
	border-bottom: 1px solid var(--color-lightPink);
}


footer {
	background-color: #fff;
}

footer .content>.inner {
	text-align: center;
	margin-inline: auto;
	padding-top: 30px;
}

footer .content>.inner .logo a:link,
footer .content>.inner .logo a:visited {
	text-indent: -9999px;
	display: block;
	margin-inline: auto;
	width: 120px;
	aspect-ratio: 125 / 22;
	mask-image: url(/wp/wp-content/themes/everyyou/img/common/logo.svg);
	mask-size: contain;
	mask-repeat: no-repeat;
	background-color: var(--color-shockingPink);
	margin-bottom: 20px;
}

footer .content>.inner .instagram {
	margin-inline: auto;
	aspect-ratio: 1;
	width: 50px;
	display: block;
}

footer .content>.inner nav {
	margin-top: 30px;
	border-top: 1px solid #a1a1a1;
	padding-block: 35px;
}

footer .content>.inner nav ul {
	display: flex;
	justify-content: center;
	gap: 40px;
	font-size: 14px;
}

footer .content>.inner nav ul a:link,
footer .content>.inner nav ul a:visited {
	color: #a1a1a1;
}

footer .copyrights {
	text-align: center;
	background-color: var(--color-shockingPink);
	color: #fff;
	font-size: 12px;
	padding-block: 10px;

}


/*----------------------------------------
■汎用クラス
----------------------------------------*/
.pc_hide {
	display: none;
}

.title_1 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-bottom: 30px;
}

.title_1 .main {
	font-size: 24px;
	font-weight: 300;
	display: flex;
	flex-direction: column;
	align-items: center;

}

.title_1 .main:after {
	content: "";
	display: block;
	width: 50px;
	height: 1px;
	background-color: var(--color-normalPink);
	margin-block: 10px;
}

.title_1 .sub {
	text-align: center;
}

.title_2 {
	background-color: var(--color-normalPink);
	color: #fff;
	text-align: center;
	padding: 10px;
}

.btn_1:link,
.btn_1:visited {
	border: 1px solid var(--color-normalPink);
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 15px;
	width: 100%;
	margin-inline: auto;
}

.btn_1:before {
	content: "";
	width: 5px;
	height: 9px;
	background-color: #000;
	mask-image: url(/wp/wp-content/themes/everyyou/img/common/arrow_1.svg);
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	margin-right: 5px;
}

.titleHeader {
	font-size: 20px;
	padding: 40px;
	text-align: center;
	background-color: var(--color-lightPink);
	grid-area: titleHeader;
}

.categoryLink {
	z-index: 1;
	display: inline-block;
}

.categoryName {
	font-size: 12px;
	padding: 3px 10px;
	min-width: 100px;
	text-align: center;
	display: block;
}

/*----------------------------------------
■home
----------------------------------------*/
/* --home ビジュアル------------------------- */
.homeVisual {}

.homeVisual>.inner {
	width: var(--innerWidth);
	margin-inline: auto;
}

.homeVisual>.inner .slick-list {
	padding-bottom: 20px;
}

.homeVisual>.inner .slick-dots {
	position: relative;
	bottom: 0;
}


/* --home ブランド------------------------- */
#homeBrand {
	background-color: var(--color-lightPink);
}

#homeBrand .content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}

#homeBrand .content .img {}

#homeBrand .content .body {
	flex: 1;
	line-height: 180%;
}

/* --home ニュース------------------------- */
#homeNews .newsBoxes {
	display: flex;
	flex-direction: column;
	margin-bottom: 50px;
	gap: 30px;
}


#homeNews .newsBoxes .box {
	display: grid;
	grid-template-areas:
		"time category"
		"title title";
	grid-template-columns: auto 1fr;
	gap: 10px;
	position: relative;
}

#homeNews .newsBoxes .box time {
	grid-area: time;
	font-size: 12px;
	padding-block: 5px;
}

#homeNews .newsBoxes .box .category {
	grid-area: category;
	z-index: 1;
}

#homeNews .newsBoxes .box .categoryName {
	grid-area: category;
	background-color: var(--color-normalPink);
	color: #fff;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 5px;
}

#homeNews .newsBoxes .box .title {
	line-height: 130%;
	grid-area: title;
}

#homeNews .newsBoxes .box .cardLink:link,
#homeNews .newsBoxes .box .cardLink:visited {
	text-indent: -9999px;
	position: absolute;
	inset: 0;
}

/* --home 商品カテゴリー------------------------- */
#homeProductCategory .categoryBoxes {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	margin-bottom: 50px;
}

#homeProductCategory .categoryBoxes .box {
	width: 100%;
	text-align: center;
}

#homeProductCategory .categoryBoxes .box .img {
	margin-bottom: 10px;
}

#homeProductCategory .categoryBoxes .box .img img {
	object-fit: cover;
	aspect-ratio: 305 / 225;
}

/* --home 品質への取り組み------------------------- */
#homeQuality {
	background-color: var(--color-lightPink);
}

#homeQuality .content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}

#homeQuality .content .img {}

#homeQuality .content .body {
	flex: 1;
	line-height: 180%;
}

/*----------------------------------------
■商品
----------------------------------------*/
.itemListBoxes {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(2, 1fr);
	gap: 15px;
	row-gap: 30px;
	justify-content: space-between;
	padding-inline: 10px;

}

.itemListBoxes .box {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
}

.itemListBoxes .box .img {
	width: 100%;
	aspect-ratio: 1;
	border: 1px solid #a1a1a1;
	margin-bottom: 10px;
	position: relative;
}

.itemListBoxes .box .img img {
	aspect-ratio: 1/1;
	object-fit: cover;
}

.itemListBoxes .box .img .discontinued {
	position: absolute;
	inset: 0;
	background-color: rgb(0, 0, 0, 0.6);
	color: #ffffff;
	display: flex;
	justify-content: center;
	align-items: center;
}

.itemListBoxes .box .detail {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.itemListBoxes .box .title {
	font-size: 14px;
	margin-bottom: 15px;
	line-height: 130%;

}

.itemListBoxes .box .cardLink {
	position: absolute;
	inset: 0;
	text-indent: -9999px;
	z-index: 0;
}

.termLists {
	display: flex;
	flex-direction: column;
	gap: 30px;
	padding-inline: 10px;
}

.termLists li {
	display: grid;
	grid-template-areas:
		"time category"
		"title title";
	grid-template-columns: auto 1fr;
	gap: 10px;
	position: relative;

}

.termLists li time {
	grid-area: time;
	font-size: 12px;
	padding-block: 5px;
}

.termLists li .categoryName {
	grid-area: category;
	background-color: var(--color-normalPink);
	color: #fff;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 5px;
}

.termLists li .title {
	line-height: 130%;
	grid-area: title;
}

.termLists li .link:link,
.termLists li .link:visited {
	text-indent: -9999px;
	position: absolute;
	inset: 0;
}

#item {
	display: flex;
	flex-direction: column;
	column-gap: 25px;
	margin-bottom: 20px;
	padding-inline: 10px;
}

#item .imgArea {
	order: 3;
	margin-bottom: 10px;
	width: 100%;
	aspect-ratio: 1/1;
	border: 1px solid #a1a1a1;
}


#item .imgArea img {
	aspect-ratio: 1/1;
	object-fit: cover;
	zoom: 1;
	width: 100%;
}


#item .categoryArea {
	order: 1;
	margin-bottom: 5px;
}

#item .titleArea {
	order: 2;
	font-size: 20px;
	line-height: 28px;
	margin-bottom: 20px;
}

#item .titleArea .sub {
	font-size: 12px;
	color: #a1a1a1;
	line-height: 1;
}

#item .thumbnailArea {
	order: 4;
	margin-bottom: 35px;
}

#item .thumbnailArea .itemThumbnailsBoxes {
	width: 100%;
	display: inline-flex;
	overflow-x: auto;
}

#item .thumbnailArea .itemThumbnailsBoxes .box {
	min-width: 25%;
	width: 25%;
	margin-right: 10px;
	border: 1px solid #a1a1a1;
	cursor: pointer;

}

#item .thumbnailArea .itemThumbnailsBoxes .box img {
	aspect-ratio: 1/1;
	object-fit: cover;
}

#item .priceArea {
	order: 5;
}

#item .priceArea .title {
	display: block;
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid #d8d8d8;
}

#item .priceArea .detail {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

#item .priceArea .detail .volume {
	font-size: 14px;
	margin-bottom: 5px;
}

#item .priceArea .detail .price {
	font-size: 20px;
	font-weight: 500;
}

#item .priceArea .detail .taxin {
	font-size: 14px;
	font-weight: 300;
	margin-left: 5px;
}

#item .tagArea {
	order: 6;
}

#item .tagArea .tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 12px;
	margin-top: 15px;
}

#item .tagArea .tags li {
	padding: 3px 10px;
	background-color: #b4b4b4;
	color: #fff;
	line-height: 1;
}

.optionalBoxes {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding-inline: 10px;
}

.optionalBoxes .box>.title {
	background-color: var(--color-lightPink);
	color: var(--color-shockingPink);
	display: flex;
}

.optionalBoxes .box>.title .toggle {
	display: none;
}

.optionalBoxes .box>.title label {
	cursor: pointer;
	width: 100%;
	display: flex;
	justify-content: space-between;
	position: relative;
	padding: 15px;
}

.optionalBoxes .box>.title label:after {
	content: "";
	width: 18px;
	height: 18px;
	background-image: url(/wp/wp-content/themes/everyyou/img/common/boldline.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	right: 10px;
	transition: 0.2s;
	transform: rotate(90deg);
}

.optionalBoxes .box>.title label:before {
	content: "";
	width: 18px;
	height: 18px;
	background-image: url(/wp/wp-content/themes/everyyou/img/common/boldline.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	right: 10px;
}

.optionalBoxes .box:has(.toggle:checked) label:after {
	content: "";
	transform: rotate(0deg);
}

.optionalBoxes .box .content {
	max-height: 0;
	opacity: 0;
	visibility: hidden;
	transition: 0.5s;
	overflow: hidden;
	line-height: 150%;
}

.optionalBoxes .box .content .detail {
	margin-top: 10px;
}



.optionalBoxes .box:has(.toggle:checked) .content {
	max-height: none;
	opacity: 1;
	visibility: visible;
	margin-bottom: 40px;
}

.optionalBoxes .box .detail a:link,
.optionalBoxes .box .detail a:visited {
	color: var(--color-link);
}

.optionalBoxes .box.qa .content {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.optionalBoxes .box.qa .content .qa_list {
	margin-top: 10px;
}


.optionalBoxes .box.qa .content .qa_list>.title {
	font-weight: bold;
	display: flex;
	gap: 10px;
}

.optionalBoxes .box.qa .content .qa_list>.title:before {
	content: "Q";
	color: #0056ad;
	font-size: 1.3em;
	width: 20px;
	text-align: center;
}

.optionalBoxes .box.qa .content .qa_list>.detail {
	display: flex;
	gap: 10px;

}

.optionalBoxes .box.qa .content .qa_list>.detail .body {
	flex: 1;
}

.optionalBoxes .box.qa .content .qa_list>.detail:before {
	content: "A";
	font-weight: bold;
	color: #f6a097;
	font-size: 1.3em;
	width: 20px;
	text-align: center;
}


/*----------------------------------------
■お知らせ
----------------------------------------*/
#news .newsLists {
	display: flex;
	flex-direction: column;
	gap: 30px;
	padding-inline: 10px;
}

#news .newsLists li {
	display: grid;
	grid-template-areas:
		"time category"
		"title title";
	grid-template-columns: auto 1fr;
	gap: 10px;
	position: relative;
}

#news .newsLists li time {
	grid-area: time;
	font-size: 12px;
	padding-block: 5px;
}

#news .newsLists li .categoryName {
	grid-area: category;
	background-color: var(--color-normalPink);
	color: #fff;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 5px;
}

#news .newsLists li .title {
	line-height: 130%;
	grid-area: title;
}

#news .newsLists li .link:link,
#news .newsLists li .link:visited {
	text-indent: -9999px;
	position: absolute;
	inset: 0;
}

#news article {
	display: grid;
	grid-template-areas:
		"title title"
		"category time"
		"body body";
	padding-inline: 10px;
}

#news article .title {
	grid-area: title;
	font-size: 20px;
	padding-bottom: 20px;
	margin-bottom: 15px;
	border-bottom: 1px solid #a1a1a1;
}

#news article .category {
	grid-area: category;
}

#news article .category .categoryName {
	font-size: 12px;
	color: #b4b4b4;
	text-align: left;
	padding: 0;
}

#news article .time {
	grid-area: time;
	justify-self: flex-end;
}

#news article .time time {
	font-size: 12px;
	color: #b4b4b4;
	text-align: right;
}

#news article .body {
	grid-area: body;
	margin-top: 10px;
	line-height: 150%;
}

#news article .body a:link,
#news article .body a:visited {
	color: var(--color-link);
}

#news .prev-nextLink {
	border-top: 1px solid #a1a1a1;
	padding-top: 20px;
	margin-inline: 10px;
	margin-top: 20px;
	display: flex;
	justify-content: center;
	gap: 20px;
	line-height: 150%;
	font-size: 12px;
}

#news .prev-nextLink .prev,
#news .prev-nextLink .next {
	width: 48%;
}

#news .prev-nextLink .navTitle {
	margin-bottom: 5px;
	display: block;
}