@charset "UTF-8";

.nun *,
.nun *::before,
.nun *::after { box-sizing: border-box; }

body { margin: 0; }
.nun { margin: 0; padding: 0; }

.nun :where(h1, h2, h3, h4, p, ul, ol, li, dl, dt, dd, figure, figcaption,
	section, article, div, span, small, b, i) {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
}
.nun :where(h1, h2, h3, h4) { font-weight: 700; }
.nun ul,
.nun ol { list-style: none; }
.nun img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
	border: 0;
}
.nun a {
	color: inherit;
	text-decoration: none;
	transition: opacity .25s, transform .25s, box-shadow .25s, background-color .25s;
}

.nun {
	--mint:      #b5ecc5;   /* メインの緑背景 */
	--mint-pale: #f3fff6;   /* 淡い背景 */
	--green:     #57c07b;   /* 帯・バッジの緑 */
	--green-d:   #36a866;   /* 濃い緑 */
	--orange:    #ff9941;   /* ボタン・オレンジ */
	--orange-d:  #f5821f;
	--brown:     #5a4a3e;   /* 見出し・本文の茶 */
	--brown-l:   #6f6155;
	--yellow:    #ffe187;   /* 特典・ハイライト */
	--ink:       #4b4038;

	font-family: "Zen Maru Gothic", -apple-system, "Hiragino Maru Gothic ProN",
		"Hiragino Sans", Meiryo, sans-serif;
	color: var(--brown);
	line-height: 1.8;
	font-weight: 500;
	background: var(--mint-pale);
	-webkit-font-smoothing: antialiased;
	overflow-wrap: break-word;
	font-size: 16px;
}
.nun b   { font-weight: 700; }


/* ---------- layout helper ---------- */
.nun-inner {
	width: min(1080px, 100% - 40px);
	margin-inline: auto;
}

/* ---------- PC / SP 表示切替（768px境界・必要なら数値変更） ---------- */
.nun .sp { display: none; }
@media screen and (max-width: 768px) {
	.nun .pc { display: none; }
	.nun .sp { display: revert; }
}

/* =========================================================================
   HERO
   ========================================================================= */
.nun-hero {
	position: relative;
	background: #d9e3d8 url("https://gigaplus.makeshop.jp/emonostore/nunchan/kv.jpg") center / cover no-repeat;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 46vw;
	max-height: 760px;
	padding: 4vw 20px;
}
.nun-hero__logo {
	position: absolute;
	top: 20px;
	left: 24px;
	z-index: 2;
	width: clamp(150px, 16%, 280px);
	filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .25));
}
.nun-hero__inner { width: 100%; text-align: center; }
.nun-hero__title { margin: 0 auto; width: min(620px, 78%); }

/* =========================================================================
   予約期間バンド
   ========================================================================= */
.nun-reserve {
	background: var(--green);
	color: #fff;
	padding: 0 20px;
	position: relative;
	z-index: 5; /* バッジの上下はみ出しを前後セクションより前面に */
}
.nun-reserve__inner {
	width: min(1080px, 100%);
	margin-inline: auto;
	min-height: 86px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
}
.nun-reserve__badge {
	flex: none;
	width: 160px;
	height: 160px;
	/* 負のマージンで帯から上下にはみ出させる（帯の高さは広げない） */
	margin: -15px 0;
	border-radius: 50%;
	background: repeating-linear-gradient(
		135deg,
		#b5ecc5 0, #b5ecc5 5px,
		#cef2d9 5px, #cef2d9 10px
	);
	color: #473a32;
	font-weight: 700;
	font-size: 30px;
	line-height: 1.25;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-shadow: 0 3px 0 rgba(0, 0, 0, .08);
}
.nun-reserve__dates {
	font-weight: 700;
	font-size: clamp(17px, 2.6vw, 31px);
	letter-spacing: .02em;
	line-height: 1.3;
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2px 6px;
}
.nun-reserve__d { white-space: nowrap; }
.nun-reserve__label { font-size: .6em; }
.nun-reserve__dates b { font-size: 1.15em; }
.nun-reserve__dates small { font-size: .62em; font-weight: 600; }
.nun-reserve__arrow { font-style: normal; margin: 0 4px; font-size: .85em; }
.nun-reserve__note { font-size: 24px; font-weight: 600; margin-top: 4px;border: 1px solid #fff;text-align: center; padding: 0 .5em;}

/* =========================================================================
   SEC1: 3アイテム
   ========================================================================= */
.nun-intro { position: relative; overflow: hidden; padding: 70px 0 64px; }
/* 背景マンガ装飾 */
.nun-intro__deco { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.nun-intro__deco img {
	position: absolute;
	width: clamp(190px, 22%, 320px);
	filter: drop-shadow(0 6px 12px rgba(90, 74, 62, .08));
}
.nun-intro__deco1 { top: 160px;  left: 20px; }
.nun-intro__deco2 { top: 30px; right: -40px; }
.nun-intro__deco3 { top: -30px; right: 60px; }
.nun-intro__deco4 { bottom: 200px; left: 100px; }
.nun-intro__deco5 { bottom: 16px; right: 150px; }
.nun-intro > .nun-inner { position: relative; z-index: 1; }
.nun-intro__title { width: min(680px, 86%); margin: 0 auto 68px; text-align: center; }
.nun-intro__title img { display: inline-block; }

.nun-intro__list {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: clamp(10px, 1vw, 8px);
}
.nun-intro__item { width: clamp(180px, 30%, 310px); }
.nun-intro__item--up { margin-top: -40px; }
.nun-intro__link { display: block; }

.nun-intro__photo {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 10px 24px rgb(227 237 217);
	border: 16px solid #fff;
}
.nun-intro__photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.nun-intro__b { opacity: 0; transition: opacity .4s ease; }
.nun-intro__link:hover .nun-intro__b { opacity: 1; }
.nun-intro__link:hover .nun-intro__photo { box-shadow: 0 14px 30px rgba(90, 74, 62, .22); }

.nun-intro__ribbon {
	display: block;
	width: 82%;
	margin: -60px auto 0;
	position: relative;
	z-index: 2;
	filter: drop-shadow(0 4px 6px rgba(90, 74, 62, .15));
}

/* =========================================================================
   購入特典バナー
   ========================================================================= */
.nun-bonus { padding: 30px 0 140px; position: relative;}
.nun-bonus--bottom { padding: 64px 0; }
.nun-bonus__card {
	position: relative;
	max-width: 900px;
	margin: 0 auto;
	border-radius: 26px;
	padding: 46px 30px 10px;
	background: #ffd98a url("https://gigaplus.makeshop.jp/emonostore/nunchan/tokuten-bg.jpg") center / cover no-repeat;
	box-shadow: 0 8px 0 rgba(245, 130, 31, .18);
	text-align: center;
}
/* 吹き出し「ご購入特典」は画像（nun-bonus__tab.png 844x250）
   translateY(-100%) で “しっぽの先＝カード上端から+12px” に固定（画像幅が変わっても重なり一定） */
.nun-bonus__tab {
	position: absolute;
	top: 52px;
	left: 50%;
	transform: translate(-50%, -100%);
	width: 300px;
	max-width: 72%;
	height: auto;
	z-index: 2;
}
.nun-bonus__title { width: min(500px, 85%); margin: 18px auto 26px; }
.nun-bonus--bottom .nun-bonus__title{width: min(500px, 100%);}
.nun-bonus__body {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 30px;
	flex-wrap: wrap;
}
.nun-bonus__img {
	width: 280px;
	transform: rotate(-3deg);
}
.nun-bonus__img figcaption { font-size: 11px; color: var(--brown-l); margin-top: 4px; }
.nun-bonus__info {
	display: flex;
	flex-direction: column;
	gap: 14px;
	width: min(380px, 100%);
}
.nun-bonus__box {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 10px rgba(90, 74, 62, .12);
}
.nun-bonus__bhd {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	color: #fff;
	font-weight: 700;
	font-size: 24px;
	letter-spacing: .05em;
	padding: 3px 12px;
	text-shadow: 0 1px 1px rgba(0, 0, 0, .12);
}
.nun-bonus__bhd--orange {
	background: repeating-linear-gradient(135deg, #f5821f 0, #f5821f 6px, #fc793a 6px, #fc793a 12px);
}
.nun-bonus__bhd--pink {
	background: repeating-linear-gradient(135deg, #f06767 0, #f06767 6px, #f27e7e 6px, #f27e7e 12px);
}
.nun-paw {
	flex: none;
	width: 30px;
	height: 27px;
	background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cg fill='%23ffffff'%3E%3Cellipse cx='12' cy='16' rx='6.2' ry='4.8'/%3E%3Cellipse cx='4.6' cy='9.5' rx='2.3' ry='2.9'/%3E%3Cellipse cx='9.6' cy='6' rx='2.3' ry='3.1'/%3E%3Cellipse cx='14.4' cy='6' rx='2.3' ry='3.1'/%3E%3Cellipse cx='19.4' cy='9.5' rx='2.3' ry='2.9'/%3E%3C/g%3E%3C/svg%3E");
}
.nun-bonus__bbody {
	padding: 6px 14px 12px;
	text-align: center;
	font-weight: 700;
	color: var(--ink);
	font-size: 20px;
	line-height: 1.45;
}
.nun-bonus__d { white-space: nowrap; }
.nun-bonus__bbody b { font-size: 1.18em; }
.nun-bonus__bbody small { font-size: .62em; }
.nun-bonus__sep { margin: 0 6px; }

/* =========================================================================
   SEC2: 組み合わせは無限大（緑の大ブロック開始）
   ========================================================================= */
/* 緑の大ブロックにだけパターンを敷く（1枚で連続＝境目ズレなし） */
.nun-green {
	background: var(--mint) url("https://gigaplus.makeshop.jp/emonostore/nunchan/pattern.jpg") repeat top center;
	background-size: 700px auto;
}
.nun-custom,
.nun-stamp,
.nun-lining,
.nun-sim {
	background: transparent;
	position: relative;
}
.nun-custom{
	border-top: 40px solid var(--green)
}
.nun-custom { padding: 140px 0 50px; }
.nun-custom__head {
	text-align: center;
	color: #473a32;
	font-weight: 700;
	font-size: clamp(25px, 4.4vw, 54px);
	line-height: 1.5;
	margin-bottom: 44px;
	/* 白文字＋濃茶の太アウトライン（ステッカー風） */
	-webkit-text-stroke: 0.2em #fff;
	paint-order: stroke fill;

}
.nun-mark {
	color: #ff9941;
}

/* ---- 素材セレクト カード ---- */
.nun-sel {
	margin: 0 auto 86px;
	
}
.nun-sel__head {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-bottom: 10px
}
.nun-sel.select01 .nun-sel__head{
	margin-top: -60px;
}
.nun-sel-block{
	background: #fff;
	border-radius: 22px;
	padding: 60px 40px 34px;
	max-width: 1000px;
	margin: 0 auto 26px;
	box-shadow: 0 10px 24px rgba(90, 74, 62, .1);
}
.nun-sel__badge { flex: none; width: 114px; }
.nun-sel__title {
	font-weight: 700;
	color: var(--brown);
	display: flex;
	    align-items: baseline;
	line-height: 1.2;
	    font-size: clamp(25px, 4.4vw, 34px);
}

.nun-sel__title b { font-size: 140%;-webkit-text-stroke: 0.2em #fff;
    paint-order: stroke fill; }
.nun-sel-row .nun-sel__title{
	    font-size: clamp(25px, 40vw, 32px);
}
.nun-sel-row .nun-sel__head{
	margin-top: 0;
	margin-bottom: 20px
}
.nun-sel__lead {
	font-size: 16px;
	line-height: 1.7;
	color: var(--brown-l);
	text-align: center;
	max-width: 760px;
	margin: 0 auto 26px;
}

/* slick: メイン画像 + 色サムネ（e-mono customorder と同方式） */
.nun-sel__slidewrap { overflow: hidden; }
.nun-sel__slidewrap.cf::after { content: ""; display: table; clear: both; }
.nun-sel__slidewrap img { display: block; width: 100%; height: auto; border-radius: 8px; }

.nun-sel__slider {
	width: 52%;
	float: left;
	margin: auto;
	overflow: hidden;
}
.nun-sel__thumb {
	width: calc(45% + 8px);
	float: right;
	display: flex;
	flex-wrap: wrap;
}
.nun-sel__chip {
	border: 1px solid #e3ddd3;
	border-radius: 6px;
	overflow: hidden;
	text-align: center;
	font-size: 10px;
	cursor: pointer;
	background: #fff;
	transition: border-color .2s;
}
.nun-sel__chip img { border-radius: 0; }
.nun-sel__chip p { padding: 2px 0; color: var(--brown-l); line-height: 1.3; }

/* thumb スライダーをグリッド表示（slickのtrackを無効化して flex-wrap） */
.nun-sel__thumb .slick-track {
	transform: unset !important;
	width: 100% !important;
	display: flex;
	flex-flow: row wrap;
}
.nun-sel__thumb .slick-slide {
	display: block !important;
	float: none !important;
	height: auto;
	flex: 0 0 22.4%;
	margin: 0 1.1% 8px 0;
}
.nun-sel__thumb .slick-slide.slick-current .nun-sel__chip,
.nun-sel__thumb .slick-current.nun-sel__chip {
	border-color: var(--orange);
	box-shadow: 0 0 0 2px var(--orange);
}

/* slick 矢印 */
.nun-sel__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 3px 8px rgba(90, 74, 62, .25);
	cursor: pointer;
	border: 0;
	font-size: 0;
}
.nun-sel__arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 9px;
	height: 9px;
	border-top: 2px solid var(--brown);
	border-right: 2px solid var(--brown);
}
.nun-sel__arrow--prev { left: 12px; }
.nun-sel__arrow--prev::before { transform: translate(-30%, -50%) rotate(-135deg); }
.nun-sel__arrow--next { right: 12px; }
.nun-sel__arrow--next::before { transform: translate(-70%, -50%) rotate(45deg); }
.nun-sel__slider { position: relative; }

.nun-sel__note {
	font-size: 16px;
	color: var(--brown-l);
	text-align: center;
	margin-top: 18px;
	line-height: 1.6;
}

/* ＋ 2カラム（ステッチ / ファスナー） */
.nun-sel-row {
	position: relative;
	max-width: 1000px;
	margin: 0 auto 26px;
	display: flex;
	gap: 26px;
	align-items: stretch;
}
.nun-sel-row__plus {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 4;
	width: 48px;
}
/* 革 と 2カラムの間のプラス（フロー内で中央配置） */
.nun-sel-block > .nun-sel-row__plus {
	position: static;
	display: block;
	width: 48px;
	margin: -30px auto 0px;
	transform: translate(0);
}
.nun-sel--half {
	flex: 1 1 0;
	min-width: 0;
	margin: 0;
	padding: 32px 26px 26px;
}
/* half カードは メイン↑ / サムネ↓ の縦並び */
.nun-sel--half .nun-sel__slider,
.nun-sel--half .nun-sel__thumb {
	width: 100%;
	float: none;
}
.nun-sel--half .nun-sel__slider { margin-bottom: 14px; max-width: 320px; margin-inline: auto; }
.nun-sel--half .nun-sel__thumb .slick-slide { flex-basis: 18.4%; }
/* 写真のみのセレクト（ステッチ糸 / ファスナーテープ） */
.nun-sel__photo { margin: 0; }
.nun-sel__photo img { width: 100%; border-radius: 12px; display: block; }

/* =========================================================================
   ホットスタンプ（限定）
   ========================================================================= */
.nun-stamp { padding: 30px 0 50px; }
.nun-limited {
	position: relative;
	background: #fff;
	border-radius: 22px;
	
	max-width: 1000px;
	margin: 0 auto 26px;
	box-shadow: 0 10px 24px rgba(90, 74, 62, .1);
	/* PC・SP とも 写真→テキスト の縦積み */
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 24px;
}
.nun-limited__badge {
	position: absolute;
	top: -30px;
	left: -30px;
	width: 200px;
	z-index: 2;
}
.nun-limited__hero { width: 100%; }
.nun-limited__hero img { border-radius: 14px 14px 0 0; width: 100%; }
/* 1ブロック内：間隔は .nun-limited の gap で取るので各要素の余白はリセット */
.nun-limited > .nun-sel__head { margin-bottom: 0; }
.nun-limited > .nun-sel__note { margin-top: 0; max-width: 740px; padding: 0px 40px 34px;}
.nun-stamp__list { width: 100%; margin: 0; padding: 40px 80px 34px;}
.nun-stamp__list img { width: 100%; border-radius: 8px; }

.nun-sel--lining { max-width: 1000px;     background: #fff;
    border-radius: 22px;    margin: 0 auto 26px;     padding: 40px 40px 34px;}

/* =========================================================================
   内生地（限定）
   ========================================================================= */
.nun-lining { padding: 20px 0 56px; }
.nun-lining__imgs {
	display: flex;
	gap: 18px;
	justify-content: center;
}
.nun-lining__imgs figure { flex: 1 1 0; }
.nun-lining__imgs img { border-radius: 12px; width: 100%; }

/* =========================================================================
   シミュレーション
   ========================================================================= */
.nun-sim { padding: 30px 0 0; text-align: center; }
.nun-sim__copy {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	font-weight: 700;
	font-size: clamp(25px, 4.4vw, 54px);
	line-height: 1.35;
	color: #473a32;
	/* 濃茶文字＋白の太アウトライン（ステッカー風） */
	-webkit-text-stroke: 0.13em #fff;
	paint-order: stroke fill;
	margin-bottom: 28px;
}
.nun-sim__txt { text-align: center; }
/* 両脇の強調斜線 ＼ ／（テキストのすぐ脇／棒にも白フチ） */
.nun-sim__bar {
	flex: none;
	width: .12em;
	height: 1.6em;
	background: #473a32;
	border-radius: .07em;
	box-shadow: 0 0 0 .055em #fff; /* 白フチ */
}
.nun-sim__bar:first-child { transform: rotate(-20deg); }
.nun-sim__bar:last-child  { transform: rotate(20deg); }
.nun-sim__img { max-width: 880px; margin: 0 auto; }
.nun-arrow {
	width: clamp(120px, 17vw, 220px);
	margin: 10px auto 0;
	padding-bottom: 110px; /* 雲の食い込み分の余白（矢印が雲に隠れないように） */
	position: relative;
	z-index: 5;
	animation: nun-bounce 1.6s ease-in-out infinite;
}
@keyframes nun-bounce {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(10px); }
}

/* =========================================================================
   完成 + ギャラリー
   ========================================================================= */
.nun-finish {
	background: #f3fff6;
	padding: 30px 0 60px;
	position: relative;
	z-index: 2; /* 緑ブロック（と矢印）より前面に。雲のはみ出しを前に出す */
}
/* 上部の雲（bg-kumo.png）。緑ブロックへ食い込ませて、雲の上は緑が見える */
.nun-finish__cloud {
	position: absolute;
	left: 0;
	top: -220px;
	width: 100%;
	height: auto;
	z-index: 0;
	pointer-events: none;
}
.nun-finish > .nun-inner,
.nun-finish .nun-gallery,
.nun-finish .nun-gallery__dots {
	position: relative;
	z-index: 1;
}
.nun-finish__title { width: min(720px, 88%); margin: -200px auto 40px; text-align: center; }

/* ギャラリーのページャーdot */
.nun-gallery__dots {
	display: flex;
	justify-content: center;
	gap: 12px;
	margin-top: 32px;
}
.nun-gallery__dots span {
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: #cfe9d5;
}
.nun-gallery__dots span.is-active { background: var(--green); }

/* ---- 無限ループ マーキー ---- */
.nun-gallery {
	width: 100%;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	        mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.nun-gallery__track {
	display: flex;
	width: max-content;
	will-change: transform;
	animation: nun-marquee var(--marquee-duration, 40s) linear infinite;
}
.nun-gallery:hover .nun-gallery__track { animation-play-state: paused; }
/* 画面に常に約3.5枚見えるサイズ（横幅基準）／間隔24px／茶色の縁 */
.nun-gallery__item { flex: 0 0 auto; width: 37vw; margin-right: 24px; }
.nun-gallery__item img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	display: block;
	border: 4px solid var(--brown);
	border-radius: 12px;
	box-shadow: 0 6px 16px rgba(90, 74, 62, .12);
}
@keyframes nun-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.nun-gallery__track { animation: none; }
}

/* =========================================================================
   SEC: アイテム
   ========================================================================= */
.nun-items { padding: 70px 0 64px; }
.nun-items__title { width: min(280px, 40%); margin: 0 auto 44px; text-align: center; }

.nun-item {
	display: flex;
	align-items: stretch;
	gap: 0;
	background: #fff;
	border-radius: 18px;
	border: 4px solid #5a4a3e;
	overflow: hidden;
	box-shadow: 8px 8px 0px rgba(90, 74, 62, 1);
	margin-bottom: 40px;
	position: relative
}
.nun-item:before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    background: #00000052;
    z-index: 1;
}

/* 販売開始後（JSが .nun に is-open を付与）はマスク＆「予約開始」ラベルを解除 */
.nun.is-open .nun-item::before,
.nun.is-open .nun-item::after { display: none; }
.nun-item__img { flex: 0 0 42%; }
.nun-item__img img { width: 100%; height: 100%; object-fit: cover; }
.nun-item__body { flex: 1; padding: 34px 36px; }
.nun-item__name {
	font-weight: 700;
	font-size: clamp(20px, 3.6vw, 40px);
	color: var(--brown);
	margin-bottom: 14px;
}
.nun-item__desc { font-size: 16px; line-height: 1.8; color: var(--brown-l); margin-bottom: 16px; border-bottom: 2px solid #e0d8cc; padding-bottom: 14px;}
.nun-item__spec {
	font-size: 16px;
	line-height: 1.7;
	color: var(--brown-l);
	background: #f6f3ec;
	border-radius: 10px;
	padding: 12px 16px;
	margin-bottom: 18px;
}
.nun-item__spec dt {
	display: inline-block;
	background: var(--brown);
	color: #fff;
	font-size: 11px;
	padding: 1px 10px;
	border-radius: 999px;
	margin-bottom: 6px;
}
.nun-item__price {
	font-weight: 700;
	color: var(--brown);
	font-size: 24px;
	margin-bottom: 16px;
	letter-spacing: 1px
}
.nun-item__price b { font-size: 40px; }
.nun-item__price small { font-size: 14px; color: var(--brown-l); font-weight: 500; margin-left: 6px; }
.nun-item__price small span{
	border: 1px solid var(--brown);
	padding: 2px 1em;
}
.nun-item__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: var(--orange);
	font-weight: 700;
	font-size: 24px;
	text-align: center;
	padding: 16px;
	border-radius: 4px;
	position: relative;
}
a.nun-item__btn{
	color: #fff;
}
.nun-item__btn::after {
	content: "";
	width: 0;
  height: 0;
  border-left: 10px solid #fff;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
	    top: calc(50% - 5px);
    right: 20px;
	position: absolute
}
.nun-item__btn:hover { transform: translateY(2px); box-shadow: 0 3px 0 var(--orange-d); opacity: 1; }

/* =========================================================================
   ぬんちゃんとは
   ========================================================================= */
.nun-about {
	background: var(--mint) url("https://gigaplus.makeshop.jp/emonostore/nunchan/pattern.jpg") repeat top center;
	background-size: 700px auto;
	padding: 64px 0 70px;
}
.nun-about__title { width: min(560px, 84%); margin: 0 auto 40px; text-align: center; }
.nun-about__card {
	background: #fff;
	border-radius: 22px;
	max-width: 900px;
	margin: 0 auto;
	padding: 44px 48px;
	display: flex;
	align-items: center;
	gap: 40px;
	    border: 4px solid #5a4a3e;
    box-shadow: 8px 8px 0px rgba(90, 74, 62, 1);
}
.nun-about__chara { flex: 0 0 220px; text-align: center; }
.nun-about__chara > img {
	width: 180px;
}
.nun-about__name {
	display: block;
	margin-top: 10px;
	font-weight: 700;
	color: var(--green-d);
}
.nun-about__text { flex: 1; }
.nun-about__text h3 {
	font-weight: 700;
	font-size: clamp(17px, 2.2vw, 21px);
	color: var(--brown);
	line-height: 1.5;
	margin-bottom: 14px;
}
.nun-about__text p { font-size: 13px; line-height: 1.85; color: var(--brown-l); }
.nun-about__links {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 22px;
}
.nun-about__links a{
	color: #fff
}
.nun-about__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--brown);
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	padding: 12px 26px;
	border-radius: 999px;
}
.nun-about__btn img { width: 14px; }
.nun-about__btn:hover { opacity: .85; }
.nun-about__sns img { width: 34px; }
.nun-about__sns:hover { opacity: .75; }

/* =========================================================================
   レスポンシブ
   ========================================================================= */
@media screen and (max-width: 768px) {
	.nun { font-size: 15px; overflow: hidden}
	.nun-inner { width: min(560px, 100% - 32px); }

	/* hero（スマホは大きな中央タイトルと重なるため、ロゴは上に縦並び） */
	.nun-hero { min-height: calc(100vh - 77px); padding: 8vw 16px; flex-direction: column; background: #d9e3d8 url("https://gigaplus.makeshop.jp/emonostore/nunchan/kv_sp.jpg") center / cover no-repeat; }
	.nun-hero__logo {width: 58%;}
	.nun-hero__title { width: 100%; }

	/* 予約バンド */
	.nun-reserve { padding:16px; }
	.nun-reserve__inner { gap: 12px; min-height: 64px; }
	.nun-reserve__badge { width: 94px; height: 94px; margin: -12px 0; font-size: 20px; }
	.nun-reserve__dates { font-size: 20px; }
	.nun-reserve__note { font-size: 10px; }

	/* 3アイテム */
	.nun-intro__title{margin-bottom: 20px}
	.nun-intro { padding: 48px 0; }
	.nun-intro__photo{border: 8px solid #fff;}
	.nun-intro__deco img { width: 50%; }
	.nun-intro__deco1 { top: 300px; left: -4px; }
	.nun-intro__deco2 { top: 20px; right: -30px; }
	.nun-intro__deco3 { top: -130px; right: -30px; }
	.nun-intro__deco4 {display: none}
	.nun-intro__list { gap: 26px; flex-wrap: wrap; }
	.nun-intro__item { width: min(300px, 90%); }
	.nun-intro__item--up { margin-top: 0; }
	.nun-sel__note{font-size: 14px;text-align: left}
	.nun-stamp__list{padding: 10px 0px;}
	.nun-limited > .nun-sel__note{padding: 0}

	/* 特典 */
	.nun-bonus__tab{width: 180px;    top: 32px;}
	.nun-bonus__title{width: min(200px, 64%);}
	.nun-bonus__card { padding: 20px 18px 30px; }
	.nun-bonus__body { gap: 18px; }
	.nun-bonus__info { width: min(360px, 100%); }
	.nun-bonus__bbody { font-size: 21px; }
	.nun-green{background-size: 440px auto;}
	/* 組み合わせ */
	.nun-sel{margin-bottom: 0;}
	.nun-sel-block > .nun-sel-row__plus{display: none;}
	.nun-sel-row .nun-sel-row__plus.sp{
		transform:translate(0);
		margin: 0 auto;
		position:static;
	}
	.nun-sel-row .nun-sel__title{
		        font-size: 30px;
	}
	.nun-sel-block{padding: 60px 0px 34px;}
	.nun-custom { padding: 50px 0 0; }
	.nun-sel { padding: 30px 18px 24px; border-radius: 18px; }
	.nun-sel__head {gap: 4px; }
	.nun-sel__badge { width: 56px; }
	.nun-sel__title { text-align: center; align-items: center;font-size: 20px }

	/* セレクタ：メイン↑ / サムネ↓ に縦積み */
	.nun-sel__slider,
	.nun-sel__thumb { width: 100%; float: none; }
	.nun-sel__slider { max-width: 340px; margin: 0 auto 16px; }
	.nun-sel__thumb .slick-slide { flex-basis: 18.6%; margin-right: .55%; }
	.nun-sel--half .nun-sel__thumb .slick-slide { flex-basis: 18.6%; }

	/* ＋2カラム → 縦積み */
	.nun-sel-row { flex-direction: column; gap: 8px; }
	.nun-sel-row__plus { top: auto; left: 50%; }
	.nun-sel--half { padding: 30px 18px 0px; }

	/* ホットスタンプ */
	.nun-limited { flex-direction: column; text-align: center; padding: 40px 20px 26px; gap: 18px; }
	.nun-limited__badge { width: 78px; top: -22px; left: 50%; transform: translateX(-50%); }
	.nun-limited__hero { flex-basis: auto; width: 100%; }

	/* 内生地 */
	.nun-lining__imgs { flex-direction: column; }

	/* シミュレーション（文字サイズは clamp に任せる） */
	.nun-sim__copy { padding: 0 .7em; }

	/* 完成 */
	.nun-finish__cloud{top: -100px;}
	.nun-finish__title{width: 100%; margin-top: -100px}
	.nun-finish { padding: 48px 0; }
	.nun-gallery__item { margin-right: 14px;    width: 80vw; }
	.nun-gallery__item img { border-width: 3px; border-radius: 9px; }

	/* アイテム */
	.nun-items { padding: 50px 0 0; }
	.nun-item { flex-direction: column; }
	.nun-item__img { flex-basis: auto; }
	.nun-item__img img { height: auto; }
	.nun-item__body { padding: 26px 22px; }
	.nun-item__price{    font-size: 20px;}
	.nun-item__price b {font-size: 25px;}
	.nun-item__price small{font-size: 10px}
	.nun-item__btn{font-size: 18px}
	.nun-item__desc{font-size: 14px}
	.nun-item__spec{font-size: 12px}
	/* ぬんちゃんとは */
	.nun-about__card { flex-direction: column; padding: 34px 22px; gap: 22px; }
	.nun-about__chara { flex-basis: auto; }
	.nun-about__links { justify-content: center; flex-wrap: wrap; }
	.nun-item:after{
		font-size: 28px;
    line-height: 1.2;
	}
}

@media screen and (max-width: 420px) {
	.nun-intro__list { flex-direction: column; align-items: center; }
	.nun-reserve { padding: 14px 16px; }
	.nun-reserve__inner { flex-direction: column; gap: 8px; min-height: 0; text-align: center; }
	.nun-reserve__badge { margin: 0; position: absolute;left: 10px; top:-80px}
	.nun-reserve__dates { font-size: 18px; justify-content: center; gap: 2px 6px; }
}
