@charset "utf-8";
/* ============================================================ HEIDI ANTIQUE (contents_20260715) PC ============================================================ */
/* ---- variables / scope ---- */
#ha {
	--ha-wine:#6e0000;
	--ha-wine-d:#560000;
	--ha-pink:#F1E9E4;
	--ha-ivory:#F2F1EA;
	--ha-band:#8D8A7C;
	--ha-ink:#222222;
	--ha-brown:#5b1f1f;
	--ha-line:#1a1a1a;
	--ha-en:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN",sans-serif;
	--ha-jp:"源ノ角ゴシック JP","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;
  --ha-num:"Century Gothic",sans-serif;
	font-family:var(--ha-jp);
	color:#333333;
	line-height:1.9;
	font-size:16px;
	overflow-x:hidden;
}
#ha *,#ha *::before,#ha *::after {
	box-sizing:border-box;
}
#ha img {
	max-width:100%;
	height:auto;
	vertical-align:bottom;
}
#ha a {
	text-decoration:none;
	color:inherit;
}
#ha .ha-inner {
	width: 960px;
	margin:0 auto;
	padding: 20px 0 0;
}
/* ============================================================ HERO ============================================================ */
#ha .ha-hero {
	position:relative;
	background:#dcd7cc;
	padding:0;
}
#ha .ha-hero__ph {
	position:relative;
	width:100%;
	aspect-ratio:1920 / 780;
	background:linear-gradient(135deg,#d8d2c6 0%,#e6e0d5 60%,#d3ccc0 100%);
	overflow:hidden;
}
#ha .ha-hero__ph>span {
	position:absolute;
	right:24px;
	bottom:18px;
	font:700 13px/1 var(--ha-en);
	letter-spacing:.1em;
	color:#b7a98c;
}
#ha .ha-hero__title {
	position:absolute;
	left:8%;
	top:50%;
	transform:translateY(-50%);
	white-space:nowrap;
}
#ha .ha-hero__title .en {
	display:block;
	font:400 clamp(34px,4vw,62px)/1 var(--ha-en);
	letter-spacing:.06em;
	color:#2b2b2b;
}
#ha .ha-hero__title .jp {
	display:block;
	margin-top:14px;
	font-size:18px;
	letter-spacing:.18em;
	color: #4a4642;
}
/* ============================================================ SECTION base+alternating bg ============================================================ */
#ha .ha-sec {
	padding:106px 0;
	position:relative;
}
#ha .ha-sec--pink,
#ha .ha-sec--ivory {
  position: relative;
  padding: 121px 0 0;
}
#ha .ha-sec--pink {
  background-color: var(--ha-ivory);
}
#ha .ha-sec--pink:before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 121px;
  background: url(../img/usr/freepage/contents_20260715/pink_bg.png) no-repeat;
  background-size: 100% 121px;
  background-position: bottom center;
}
#ha .ha-sec--pink .ha-wrapper {
  background-color:var(--ha-pink);
  padding-bottom: 80px;
}

#ha .ha-sec--ivory {
  background-color: var(--ha-pink);
}
#ha .ha-sec--ivory:before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 121px;
  background: url(../img/usr/freepage/contents_20260715/ivory_bg.png); no-repeat;
  background-size: 100% 121px;
  background-position: bottom center;
}
#ha .ha-sec--ivory .ha-wrapper {
  background-color: var(--ha-ivory);
  padding-bottom: 80px;
}

#ha .ha-sec--noimage {
  background-image: unset !important;
  background-color:var(--ha-pink);
  padding: 106px 0 !important;
}
#ha .ha-sec--noimage:before {
  display: none !important;
}
#ha .ha-sec--noimage .ha-wrapper {
  padding: 0 !important;
}
/* 先頭セクション(INTRO)はHEROと段差なし */
#ha .ha-hero+.ha-sec {
	margin-top:0;
	border-radius: 0;
}
/* intro */
#ha .ha-intro {
	position:relative;
	text-align:center;
}
#ha .ha-intro__ttl {
	font-size:36px;
  line-height: 1em;
	font-weight:700;
	color:var(--ha-brown);
	margin:0 auto 30px;
}
#ha .ha-intro__txt {
	font-size:18px;
  line-height: 50px;
  font-weight: bold;
	color: #333333;
}
/* ============================================================ heading (line+EN title+character) ============================================================ */
#ha .ha-head {
	position: relative;
  text-align:center;
}
#ha .ha-head__deco {
	position:relative;
	width:574px;
  height: 14px;
	margin:0 auto;
}
#ha .ha-head__deco::before {
	content:"";
	position:absolute;
	left:0;
	right:0;
	top:50%;
	height:2px;
	background:var(--ha-line);
}
#ha .ha-head__deco::after {
	content:"";
	position:absolute;
	left:-5px;
	top:50%;
	width:10px;
	height:10px;
	margin-top:-4px;
	background:var(--ha-line);
	transform:rotate(45deg);
}
#ha .ha-head__deco .rhomb {
	position:absolute;
	right:-5px;
	top:50%;
	width:9px;
	height:9px;
	margin-top:-4px;
	background:var(--ha-line);
	transform:rotate(45deg);
}
#ha .ha-head__en {
	font:400 34px/1.2 var(--ha-en);
	letter-spacing:.12em;
	color:var(--ha-ink);
	margin-top:22px;
}
#ha .ha-head__en.is-two {
	line-height:1.25;
}
#ha .ha-lead {
	text-align:center;
	font-size:18px;
	line-height: 36px;
	margin:40px auto 0;
	color: #333333;
}
/* image cut (model) */
#ha .ha-imgcut {
	width: 668px;
	margin: 0 auto 80px;
}
#ha .ha-lead ~ .ha-imgcut {
  margin-top: 40px;
}
#ha .ha-lead ~ .ha-grid {
  margin-top: 80px;
}
/* ============================================================ product grid / item ============================================================ */
#ha .ha-grid {
	width: 960px;
  display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:80px 0;
}
#ha .ha-item {
	width:480px;
	text-align:center;
}
#ha .ha-item--solo {
	width: 100%;
}
/* centered single */
#ha .ha-item__name {
	font-size:20px;
	font-weight:700;
	line-height:32px;
  color:#333333;
	margin: 0 auto 30px;
	display:flex;
	align-items:flex-end;
	justify-content:center;
}
#ha .ha-item__main {
	width:300px;
	margin:0 auto 30px;
}
#ha .ha-item--solo .ha-item__main {
	width: 300px;
}
/* sub thumbs (INSIDE / IMAGE ...) */
#ha .ha-subs {
	width: 430px;
  margin: 30px auto 0;
  display:flex;
	justify-content:center;
	gap:10px;
}
#ha .ha-sub {
	width: 210px;
  border-radius:0 0 6px 6px;
  overflow: hidden;
}
#ha .ha-sub__cap {
	background:var(--ha-band);
	height: 40px;
  font-size: 20px;
  line-height: 1em;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  color:#fff;
	border-radius:6px 6px 0 0;
	text-align:center;
}
#ha .ha-sub__img {
	background:#fff;
}
#ha .ha-sub__img img {
	display:block;
	margin:0 auto;
}
#ha .ha-item__color {
	font-size:20px;
	color:#333333;
  font-weight: bold;
  line-height: 32px;
	margin: 30px auto 0;
}
#ha .ha-item__size {
	font-size:20px;
  line-height: 32px;
  font-weight: bold;
  margin: 5px auto 0;
}
#ha .ha-item__price {
	height: 71px;
  padding-top: 7.5px;
  box-sizing: border-box;
	margin: 10px auto;
}
#ha .ha-item__price .yen {
	font-family: var(--ha-num);
  font-size: 40px;
  line-height: 53px;
  font-weight: bold;
  color: #000;
}
#ha .ha-item__price .tax {
	font-size: 24px;
  line-height: 35px;
  font-weight: 400;
  color: #333;
}
/* ============================================================ buy button (pattern:通常 = link / 予約 = coming soon) ============================================================ */
#ha .ha-btn {
	position:relative;
	width:350px;
	height:56px;
	border-radius:999px;
  margin:0 auto;
  transition:opacity .2s;
}
#ha .ha-btn:hover {
	opacity:.85;
}
/* COMING SOON (予約) */
#ha .ha-btn--soon {
	display:flex;
	align-items:center;
	justify-content:center;
  background:#b3b0a6;
  color:#fff;
  font-size:20px;
  line-height: 1em;
	font-weight:700;
	color:#fff;
	cursor:default;
	pointer-events:none;
}
#ha .ha-btn--soon:hover {
	opacity: 1;
}
/* ============================================================ SPECIAL COLLABORATION ============================================================ */

#ha .ha-collabo__block {
	width: 1000px;
	margin:0 auto;
	text-align:center;
}
#ha .ha-collabo__block+.ha-collabo__block {
	margin-top:80px;
	padding-top:80px;
	border-top:1px solid #000000;
}
#ha .ha-collabo__block .ha-item--solo .ha-item__main{
  width: auto;
}
#ha .ha-collabo__desc {
	font-size:18px;
	line-height:36px;
	margin-bottom: 60px;
}
/* ============================================================ bottom CTA (商品一覧はこちら) ============================================================ */
#ha .ha-ctaband {
	background:var(--ha-band);
	padding:75px 0;
	text-align:center;
}
#ha .ha-ctaband__btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:16px;
	min-width:380px;
	height:74px;
	background:#fff;
	border:2px solid var(--ha-wine);
	border-radius:999px;
	color:var(--ha-wine);
	font-size:20px;
	font-weight:700;
	letter-spacing:.06em;
	position:relative;
}
#ha .ha-ctaband__btn .circ {
	width:30px;
	height:30px;
	border-radius:50%;
	background:var(--ha-wine);
	color:#fff;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-size: 14px;
}
/* ============================================================ notes (ご注意ください) ============================================================ */
#ha .ha-notes {
	background:#fff;
	padding:60px 0;
}
#ha .ha-notes__inner {
	width:1000px;
	margin:0 auto;
}
#ha .ha-notes__ttl {
	font-size:20px;
	font-weight:700;
  line-height: 29px;
	color:var(--ha-ink);
	margin-bottom:26px;
}
#ha .ha-notes__list {
	list-style:none;
	padding:0;
	margin:0;
}
#ha .ha-notes__list li {
	font-size:18px;
	line-height:32px;
	color:#333333;
	padding-left:1em;
	text-indent:-1em;
	margin-bottom:15px;
}
#ha .ha-notes__list li:last-of-type {
  margin-bottom: 0;
}
#ha .ha-notes__list li::before {
	content: "・";
}
/* ============================================================ 画像差し替え（デザイン書き出し画像を使用） ============================================================ */
/* HERO メインビジュアル */
#ha .ha-hero__img {
	display:block;
	width: 100%;
}
/* INTRO 背景カメオ(parts.png) */
#ha .ha-intro__deco {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	width:427px;
	z-index:0;
	pointer-events:none;
}
#ha .ha-intro__ttl,#ha .ha-intro__txt {
	position:relative;
	z-index: 1;
}
/* 見出し画像(cat_0x.png) ※左右ライン(deco)・キャラ(chara)はCSSのまま */
#ha .ha-head__img {
	display:block;
	margin:15px auto;
	height: auto;
}
#ha .ha-head ~ .ha-collabo {
  margin: 80px auto 0;
}
/* コラボロゴ画像(logo_0x.png) */
#ha .ha-collabo__logoimg {
	display:block;
	margin:0 auto 30px;
	height: auto;
}
/* 商品ボタン画像(btn_01 = ご購入はこちら) */
#ha .ha-btn-img {
	display:block;
	width:300px;
	max-width:100%;
	margin:0 auto;
	transition:opacity .2s;
}
#ha .ha-btn-img:hover {
	opacity:.85;
}
#ha .ha-btn-img img {
	display:block;
	width: 100%;
}
/* 下部CTA画像(btn_02 = 商品一覧はこちら) */
#ha .ha-ctaband__btnimg {
	display:inline-block;
	width:350px;
	max-width:100%;
	transition:opacity .2s;
}
#ha .ha-ctaband__btnimg:hover {
	opacity:.85;
}
#ha .ha-ctaband__btnimg img {
	display:block;
	width: 100%;
}



/* アニメーション */
/* ▼ 位置は元のまま。scaleX反転は img へ移動(--ha-flip)、span には登場(fade+translate) */
#ha .ha-head__chara {
	position:absolute;
	display:block;
  z-index: 2;
  opacity: 0;
  transform: var(--ha-enter, translate(0,0));
  transition: opacity .8s ease, transform .9s cubic-bezier(.22,.61,.36,1);
}
#ha .ha-head__chara img {
  display: block;
  width: 100%;
  transform: scaleX(var(--ha-flip, 1));
  transform-origin: bottom center;
}
/* スクロール到達で is-animate 付与 → 定位置へ + フェードイン */
#ha .ha-head__chara.is-animate {
  opacity: 1;
  transform: translate(0,0);
}
/* 到達後、ゆらゆら左右に揺れる */
#ha .ha-head__chara.is-animate img {
  animation: ha-sway 3.2s ease-in-out .85s infinite;
}
#ha .ha-sec--handkerchief .ha-head__chara {
  width: 60px;
  top: -25px;
  left: 228px;
  --ha-enter: translate(-34px, 30px);
}
#ha .ha-sec--home .ha-head__chara {
  width: 60.8px;
  top: -50px;
  right: 214px;
  --ha-enter: translate(42px, 0);
  --ha-flip: -1;
}
#ha .ha-sec--bag .ha-head__chara {
  width: 46px;
  top: -87px;
  left: 234px;
  --ha-enter: translate(-34px, 30px);
  --ha-flip: -1;
}
#ha .ha-sec--pouch .ha-head__chara {
  width: 57px;
  top: -51px;
  right: 218px;
  --ha-enter: translate(42px, 0);
}
/* ゆらゆら（左右に揺れる）※反転(--ha-flip)を維持したまま回転 */
@keyframes ha-sway {
	0%,100% {
		transform: scaleX(var(--ha-flip,1)) rotate(-5deg);
	}
	50% {
		transform: scaleX(var(--ha-flip,1)) rotate(5deg);
	}
}
@media (prefers-reduced-motion: reduce) {
	#ha .ha-head__chara {
		transition: none;
		opacity: 1;
		transform: translate(0,0);
	}
	#ha .ha-head__chara.is-animate img {
		animation: none;
	}
}
