@charset "utf-8";
/*----------------------------
	common
------------------------------*/
* {
	box-sizing: border-box;
}
html {
	font-size: 10px;
	color: #000;
}
@media (max-width: 1000px) {
	html {
		font-size: 1vw;
	}
}
@media (max-width: 768px) {
	html {
		font-size: 1.3vw;
	}
}
body {
	font-family: "Noto Sans CJK JP", sans-serif;
	font-feature-settings: "palt";
	font-size: 1.6rem;
	line-height: 1.5;
}
.fontMincho {
	font-family: "Noto Serif CJK JP", serif;
}
a {
	color: #000;
	text-decoration: none;
}
a {
	transition: opacity 0.3s ease-out;
}
a:hover ,
button:hover {
	opacity: 0.7;
}
img {
	max-width: 100%;
	height: auto;
}
img[src$=".svg"] {
	width: 100%;
	height: auto;
}
/* a[href^="tel:"]:hover {
	opacity: inherit;
	color: inherit;
	cursor: default;
} */

.wrapper {
	margin: 0 auto;
	max-height: 100%; /*for android*/
}

.sp {
	display: none;
}

/*非表示設定*/
.invisible {
	display: none;
}

@media (max-width: 768px) {
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
	body {
		font-size: 2.6rem;
	}
}
/*----------------------------
	commonここまで
------------------------------*/
.inner {
	max-width: 102rem;
	margin: 0 auto;
	padding: 0 1rem;
}
main {
	background-color: #f8e5e7;
	padding: 8rem 0 5rem;
}
h1 {
	width: 52.3rem;
	margin: 0 auto;
}
.lead {
	margin-top: 6rem;
	font-size: 2.4rem;
	line-height: 4rem;
	text-align: center;
}
@media (max-width: 768px) {
	.inner {
		max-width: 100%;
		padding: 0 3rem;
	}
	main {
		padding: 9.5rem 0 9rem;
	}
	h1 {
		width: 65.4rem;
	}
	.lead {
		margin-top: 8rem;
		font-size: 3.2rem;
		line-height: 5rem;
	}
}

/* news */
.news {
	margin: 8rem auto 0;
	width: 60rem;
}
.news .newsTtl {
	font-size: 1.8rem;
	font-weight: 600;
}
.news ul li {
	font-size: 1.7rem;
	font-weight: 500;
}
@media (max-width: 768px) {
	.news {
		margin: 9rem auto 0;
		width: 100%;
	}
	.news .newsTtl {
		font-size: 3.4rem;
		text-align: center;
	}
	.news ul li {
		font-size: 3rem;
		line-height: 5rem;
		text-align: center;
	}
}

/* anime */
.anime {
	margin-top: 8rem;
}
.anime .heart .heartTxt {
	text-align: center;
}
.anime .heart .heartPic {
	width: 6.3rem;
	margin: 1rem auto 0;
}
.anime .scroll {
	padding-top: 8rem;
	position: relative;
	text-align: center;
}
.anime .scroll::before {
	animation: scroll 2s infinite;
	border-bottom: 1px solid #707070;
	border-left: 1px solid #707070;
	content: "";
	width: 2rem;
	height: 2rem;
	left: 0;
	margin: auto;
	position: absolute;
	right: 0;
	top: 2.5rem;
}
@keyframes scroll {
	0% {
		opacity: 0;
		transform: rotate(-45deg) translate(0, 0);
	}
	40% {
		opacity: 1;
	}
	80% {
		opacity: 0;
		transform: rotate(-45deg) translate(-2rem, 2rem);
	}
	100% {
		opacity: 0;
	}
}
@media (max-width: 768px) {
	.anime {
		margin-top: 10rem;
	}
	.anime .heart .heartPic {
		width: 10rem;
		margin: 1rem auto 0;
	}
	.anime .scroll {
		padding-top: 10rem;
	}
	.anime .scroll::before {
		width: 3rem;
		height: 3rem;
		top: 2rem;
	}
	@keyframes scroll {
		0% {
			opacity: 0;
			transform: rotate(-45deg) translate(0, 0);
		}
		40% {
			opacity: 1;
		}
		80% {
			opacity: 0;
			transform: rotate(-45deg) translate(-3rem, 3rem);
		}
		100% {
			opacity: 0;
		}
	}
	.anime .scroll .scrollTxt {
		font-size: 2.3rem;
	}
}

/* contBox */
.contBox {
	margin-top: 9rem;
	background-color: #fff;
	border-radius: 3rem;
	padding: 5rem 5rem 9rem;
}
.contBox + .contBox {
	margin-top: 7rem;
}
@media (max-width: 768px) {
	.contBox {
		border-radius: 3rem;
		padding: 7rem 3rem 12rem;
	}
	.contBox + .contBox {
		margin-top: 11rem;
	}
}

/* shop */
.contBox.shop h2 {
	width: 21rem;
	margin: 0 auto;
}
.shop .shopLead {
	margin-top: 3rem;
	text-align: center;
}
.shop .shopBox {
	margin-top: 5rem;
	display: flex;
	justify-content: space-between;
	position: relative;
	padding: 2rem 0;
}
.shop .shopBox::before {
	content: "";
	width: 0.25px;
	height: 100%;
	background-color: #000;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50% , 0);
}
.shop .shopBox .lists {
	width: 43%;
}
.shop .shopBox .lists li + li {
	margin-top: 5rem;
}
.shop .shopBox .lists .name {
	font-size: 2.6rem;
	font-weight: 600;
	text-align: center;
}
.shop .shopBox .lists .date {
	font-size: 1.8rem;
	font-weight: 600;
	text-align: center;
}
.shop .shopBox .lists .annotation {
	font-weight: 300;
	text-align: center;
}
.shop .shopListNote {
	width: 58.9rem;
	margin: 8rem auto 0;
	border: solid 1px #000;
	padding: 1.5rem;
	font-size: 1.8rem;
	font-weight: 600;
	text-align: center;
}
.shop .shopListNote span {
	font-size: 2.6rem;
}
@media (max-width: 768px) {
	.contBox.shop h2 {
		width: 26.2rem;
	}
	.shop .shopLead {
		margin-top: 4.5rem;
		font-size: 3.2rem;
	}
	.shop .shopBox {
		margin-top: 9.5rem;
		display: block;
	}
	.shop .shopBox::before {
		content: none;
	}
	.shop .shopBox .lists {
		width: 100%;
	}
	.shop .shopBox .lists + .lists {
		margin-top: 9rem;
	}
	.shop .shopBox .lists li + li {
		margin-top: 9rem;
	}
	.shop .shopBox .lists .name {
		font-size: 4.6rem;
	}
	.shop .shopBox .lists .date {
		font-size: 3.2rem;
	}
	.shop .shopBox .lists .annotation {
		font-size: 2.9rem;
	}
	.shop .shopListNote {
		width: 60rem;
		margin: 11rem auto 0;
		padding: 4.5rem 3rem 4rem;
		font-size: 3.1rem;
	}
	.shop .shopListNote span {
		font-size: 4.5rem;
	}
}

/* special */
.special h2 {
	width: 30.7rem;
	margin: 0 auto;
}
.special .specialTxt {
	font-weight: 500;
}
.special h2 + .specialTxt {
	margin-top: 5rem;
}
.special .specialDate {
	margin-top: 2.5rem;
	font-size: 1.8rem;
	font-weight: 600;
}
.special .specialDate span {
	font-size: 1.6rem;
	font-weight: 300;
}
.special .specialDate + .specialTxt {
	margin-top: 4.5rem;
}
.special .specialLink {
	margin-top: 5.5rem;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 5rem 9rem;
}
.special .specialLink li {
	width: 41.667%;
}
.special .specialLink li a {
	display: block;
	font-size: 2rem;
	font-weight: 600;
	text-align: center;
	padding: 2rem 6.5rem 2.5rem 2.5rem;
	position: relative;
}
.special .specialLink li.yellow a {
	background: url(/base/pc/store/special/amour/2026/img/top/btn_bg_yellow.png) no-repeat;
	background-size: contain;
	background-position: center;
}
.special .specialLink li.pink a {
	background: url(/base/pc/store/special/amour/2026/img/top/btn_bg_pink.png) no-repeat;
	background-size: contain;
	background-position: center;
}
.special .specialLink li a::after {
	content: "";
	width: 3.3rem;
	height: 2.3rem;
	background: url(/base/pc/store/special/amour/2026/img/top/arrow.png) no-repeat;
	background-size: contain;
	position: absolute;
	top: 47%;
	right: 4rem;
	transform: translate(0 , -50%);
}
@media (max-width: 768px) {
	.special h2 {
		width: 38rem;
	}
	.special .specialTxt {
		font-size: 2.9rem;
	}
	.special h2 + .specialTxt {
		margin-top: 6rem;
	}
	.special .specialDate {
		margin-top: 5rem;
		font-size: 3.1rem;
	}
	.special .specialDate span {
		font-size: 2.6rem;
	}
	.special .specialDate + .specialTxt {
		margin-top: 10rem;
	}
	.special .specialLink {
		margin-top: 5rem;
		display: block;
	}
	.special .specialLink li {
		width: 57.9rem;
		margin: 0 auto;
	}
	.special .specialLink li + li {
		margin-top: 8rem;
	}
	.special .specialLink li a {
		font-size: 3.2rem;
		padding: 3rem 11rem 3.5rem 3.5rem;
	}
	.special .specialLink li a::after {
		width: 4.9rem;
		height: 3.6rem;
		right: 7rem;
	}
}

/* pagetop */
.pagetop {
	width: 5.1rem;
	position: fixed;
	bottom: 3.5rem;
	right: 7rem;
	z-index: 100;
	opacity: 1;
	transition: opacity 0.3s ease;
}
.pagetop.hidden {
	opacity: 0;
	pointer-events: none;
}
.pagetop a {
	display: block;
	font-weight: 400;
	text-align: center;
}
@media (max-width: 768px) {
	.pagetop {
		width: 7.9rem;
		right: 3rem;
	}
	.pagetop a {
		font-size: 2.3rem;
	}
}