/* =========================================================
   LOVE CLOVER フロント共通CSS
   デザインマスター第3〜5章準拠（白基調×エメラルド×ピンク）
   ========================================================= */

/* ---------- ベース ---------- */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.lc-body, body.lc-body--gate {
	margin: 0;
	font-family: var(--font);
	font-size: 16px;
	line-height: 1.8;
	color: var(--ink);
	background: #fff;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: var(--emerald-dark); text-decoration: none; }
a:hover { opacity: .88; }
.lc-container { max-width: var(--maxw); margin: 0 auto; padding: 0 16px; }
.lc-main { display: block; min-height: 50vh; padding-bottom: 48px; }
svg { width: 1.2em; height: 1.2em; vertical-align: -0.22em; }

/* ---------- ボタン ---------- */
.lc-btn {
	display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 0; padding: 10px 20px; border-radius: var(--radius-btn);
	font-weight: 700; font-size: 15px; line-height: 1.3; text-align: center;
	border: 2px solid transparent; cursor: pointer; transition: .18s;
}
.lc-btn small { font-size: 10.5px; font-weight: 500; opacity: .85; }
.lc-btn--pink { background: var(--pink); color: #fff !important; }
.lc-btn--pink:hover { background: var(--pink-dark); opacity: 1; }
.lc-btn--outline-pink { background: #fff; color: var(--pink) !important; border-color: var(--pink); }
.lc-btn--outline-pink:hover { background: var(--pink-light); opacity: 1; }
.lc-btn--emerald { background: var(--emerald); color: #fff !important; }
.lc-btn--emerald:hover { background: var(--emerald-dark); opacity: 1; }
.lc-btn--outline-emerald { background: #fff; color: var(--emerald-dark) !important; border-color: var(--emerald); }
.lc-btn--line { background: var(--line-green); color: #fff !important; }
.lc-btn--line:hover { filter: brightness(.92); opacity: 1; }
.lc-btn--sm { padding: 7px 10px; font-size: 13px; border-radius: 8px; width: 100%; }
.lc-btn--lg { padding: 16px 40px; font-size: 18px; border-radius: 999px; }

/* ---------- ヘッダー ---------- */
.lc-header { background: #fff; border-bottom: 1px solid var(--line); position: relative; z-index: 50; }
.lc-header__top { display: flex; align-items: center; gap: 20px; padding-top: 6px; padding-bottom: 6px; }
.lc-logo { display: flex; align-items: center; gap: 8px; color: var(--ink); }
.lc-logo__clover svg { width: 38px; height: 38px; color: var(--emerald); }
.lc-logo__text { display: flex; flex-direction: column; line-height: 1.25; }
.lc-logo__en { font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 700; letter-spacing: .06em; color: var(--emerald-dark); }
.lc-logo__ja { font-size: 10.5px; color: var(--muted); }
.lc-header__tel { margin-left: auto; text-align: right; }
.lc-header__tel-number { font-size: 26px; font-weight: 800; color: #1a56db !important; letter-spacing: .02em; }
.lc-header__tel-number svg { color: #1a56db; }
.lc-header__hours { margin: 2px 0 0; font-size: 11.5px; color: var(--muted); }
.lc-header__ctas { display: flex; gap: 10px; margin-left: auto; }
.lc-btn--reserve { min-width: 128px; padding: 8px 14px; }
.lc-hamburger { display: none; }

/* ---------- グローバルナビ ---------- */
.lc-gnav { background: #fff; border-top: 1px solid var(--line); }
.lc-gnav__list { display: flex; list-style: none; margin: 0; padding: 8px 0; gap: 4px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.lc-gnav__list::-webkit-scrollbar { display: none; }
.lc-gnav__item { flex: 1 0 auto; }
.lc-gnav__item a {
	display: flex; flex-direction: column; align-items: center; gap: 3px;
	padding: 5px 10px; border-radius: 10px; border: 2px solid transparent;
	color: var(--ink); font-size: 12px; font-weight: 600; white-space: nowrap;
}
.lc-gnav__icon svg { width: 22px; height: 22px; color: var(--emerald); }
.lc-gnav__item a:hover { background: var(--emerald-light); opacity: 1; }
.lc-gnav__item.is-active a { background: #fff; border-color: var(--pink); color: var(--pink); box-shadow: var(--shadow); }
.lc-gnav__item.is-active .lc-gnav__icon svg { color: var(--pink); }

/* ---------- ドロワー（スマホメニュー） ---------- */
.lc-drawer { position: fixed; inset: 0; z-index: 200; background: rgba(36,50,71,.55); }
.lc-drawer__inner { position: absolute; top: 0; right: 0; bottom: 0; width: min(84vw, 360px); background: #fff; padding: 20px; overflow-y: auto; }
.lc-drawer__close { position: absolute; top: 10px; right: 14px; font-size: 26px; border: 0; background: none; color: var(--muted); cursor: pointer; }
.lc-drawer__title { font-family: Georgia, serif; letter-spacing: .2em; color: var(--emerald-dark); font-weight: 700; }
.lc-drawer__list { list-style: none; margin: 0 0 18px; padding: 0; }
.lc-drawer__list li { border-bottom: 1px solid var(--line); }
.lc-drawer__list a { display: flex; align-items: center; gap: 10px; padding: 12px 4px; color: var(--ink); font-weight: 600; }
.lc-drawer__ctas { display: grid; gap: 10px; }

/* ---------- ページタイトル帯 ---------- */
.lc-page-header { padding: 34px 0 26px; background: linear-gradient(120deg, #ffd9e6 0%, #ffeef4 45%, #d8f3f0 100%); position: relative; overflow: hidden; }
.lc-page-header::before, .lc-page-header::after {
	content: "❀"; position: absolute; font-size: 90px; color: rgba(255,79,136,.14); top: -12px; left: 3%;
}
.lc-page-header::after { content: "🍀"; left: auto; right: 3%; top: auto; bottom: -22px; color: rgba(20,184,173,.16); }
.lc-page-header__title { margin: 0; font-size: 32px; color: var(--pink); letter-spacing: .04em; }
.lc-page-header__en { font-family: Georgia, serif; font-size: 15px; color: var(--emerald-dark); letter-spacing: .18em; margin-left: 10px; }
.lc-page-header__desc { margin: 6px 0 0; font-size: 14px; color: var(--muted); }
.lc-page-header--emerald { background: linear-gradient(120deg, #b8ece7 0%, #e2f6f4 55%, #ffeef4 100%); }
.lc-page-header--emerald .lc-page-header__title { color: var(--emerald-dark); }
.lc-page-header--deep { background: var(--deep-green); }
.lc-page-header--deep .lc-page-header__title { color: #fff; }
.lc-page-header--deep .lc-page-header__en { color: var(--gold); }
.lc-page-header--deep .lc-page-header__desc { color: rgba(255,255,255,.75); }

/* ---------- パンくず ---------- */
.lc-breadcrumb { font-size: 12.5px; color: var(--muted); margin-top: 12px; }
.lc-breadcrumb ol { list-style: none; display: flex; flex-wrap: wrap; gap: 4px; margin: 0; padding: 0; }
.lc-breadcrumb li + li::before { content: "›"; margin: 0 6px; color: var(--line); }
.lc-breadcrumb a { color: var(--muted); }

/* ---------- セクション見出し ---------- */
.lc-section-title { display: flex; align-items: baseline; gap: 12px; margin: 40px 0 18px; }
.lc-section-title h2 { display: flex; align-items: baseline; gap: 8px; margin: 0; font-size: 24px; color: var(--pink); }
.lc-section-title__icon svg { width: 22px; height: 22px; color: var(--emerald); }
.lc-section-title small { font-family: Georgia, serif; font-size: 12px; letter-spacing: .18em; color: var(--emerald-dark); font-weight: 500; }
.lc-section-title__more { margin-left: auto; color: var(--pink); font-size: 13.5px; font-weight: 700; }

/* ---------- 女の子カード ---------- */
.lc-cast-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.lc-cast-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); overflow: hidden; box-shadow: var(--shadow); transition: .18s; }
.lc-cast-card:hover { box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.lc-cast-card__photo { display: block; position: relative; aspect-ratio: 3 / 4; background: var(--bg); overflow: hidden; }
.lc-cast-card__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lc-noimg { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.lc-noimg svg { width: 44px; height: 44px; color: var(--line); }
.lc-ribbon {
	position: absolute; top: 14px; left: -34px; transform: rotate(-40deg);
	width: 128px; text-align: center; padding: 3px 0;
	font-size: 11px; font-weight: 700; color: #fff; background: var(--pink);
	box-shadow: 0 2px 6px rgba(0,0,0,.15);
}
.lc-ribbon--new { background: var(--yellow); color: var(--ink); top: 12px; }
.lc-ribbon--today + .lc-ribbon--new { top: 0; left: auto; }
.lc-diary-article__photos.is-multi { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.lc-diary-article__photos .lc-diary-article__photo { margin: 0; }
.lc-diary-article__photos img { width: 100%; border-radius: 14px; border: 3px solid var(--pink-light); box-shadow: 0 3px 12px rgba(255,79,136,.12); }
.lc-diary-article__video { margin: 14px 0; }
.lc-diary-article__video video { width: 100%; max-height: 70vh; border-radius: 14px; background: #000; border: 3px solid var(--emerald-light); }
@media (max-width: 768px) { .lc-diary-article__photos.is-multi { grid-template-columns: 1fr; } }

.lc-price-compact-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 14px; margin-top: 16px; }
.lc-price-compact { background: #fff; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; box-shadow: var(--shadow); }
.lc-price-compact__head { display: flex; align-items: center; gap: 6px; padding: 10px 14px; background: var(--deep-green); color: #fff; }
.lc-price-compact--red .lc-price-compact__head { background: #a33a3a; }
.lc-price-compact--pink .lc-price-compact__head { background: #b05a7a; }
.lc-price-compact--purple .lc-price-compact__head { background: #6b4a8a; }
.lc-price-compact--blue .lc-price-compact__head { background: #3a5a8a; }
.lc-price-compact--gold .lc-price-compact__head { background: #9a7a2a; }
.lc-price-compact__name { font-weight: 700; font-size: 15px; }
.lc-price-compact__desc { font-size: 12px; color: var(--muted); padding: 8px 14px 0; margin: 0; }
.lc-price-compact__rows { padding: 8px 14px 12px; }
.lc-price-compact__row { display: flex; justify-content: space-between; align-items: baseline; padding: 7px 2px; border-bottom: 1px dashed var(--line); }
.lc-price-compact__row:last-child { border-bottom: 0; }
.lc-price-compact__row .m { font-size: 13px; color: var(--muted); font-weight: 600; }
.lc-price-compact__row .y { font-size: 17px; font-weight: 800; color: var(--ink); }
.lc-price-compact__row .y small { font-size: 11px; font-weight: 600; margin-left: 1px; }

.lc-soku-badge {
	position: absolute; left: 8px; bottom: 8px;
	display: inline-flex; align-items: center; gap: 5px;
	padding: 4px 10px; border-radius: 999px;
	font-size: 11px; font-weight: 700; color: #fff;
	background: linear-gradient(135deg, #ff3d6e, #ff7a4d);
	box-shadow: 0 2px 8px rgba(255, 61, 110, .45);
}
.lc-soku-badge__dot {
	width: 7px; height: 7px; border-radius: 50%; background: #fff;
	animation: lc-soku-blink 1.2s ease-in-out infinite;
}
@keyframes lc-soku-blink { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
.lc-soku-badge--inline {
	position: static; margin-left: 6px; vertical-align: middle;
	padding: 2px 8px; font-size: 10px;
}
.lc-fav {
	position: absolute; top: 8px; right: 8px; width: 34px; height: 34px;
	display: flex; align-items: center; justify-content: center;
	background: rgba(255,255,255,.9); border: 1px solid var(--line); border-radius: 50%;
	color: var(--muted); cursor: pointer; transition: .15s;
}
.lc-fav:hover, .lc-fav.is-fav { color: var(--pink); border-color: var(--pink); }
.lc-fav.is-fav svg { fill: var(--pink); }
.lc-cast-card__body { padding: 10px 12px 14px; }
.lc-cast-card__name { margin: 0; font-size: 16px; font-weight: 800; }
.lc-cast-card__name a { color: var(--pink); }
.lc-cast-card__age { font-size: 13px; color: var(--muted); font-weight: 500; }
.lc-cast-card__tags { margin: 6px 0 0; display: flex; gap: 6px; flex-wrap: wrap; }
.lc-tag { font-size: 11px; padding: 2px 9px; border-radius: 999px; background: #f2edfb; color: #7c5cbf; font-weight: 600; }
.lc-tag:nth-child(2n) { background: var(--pink-light); color: var(--pink-dark); }
.lc-cast-card__shift { margin: 8px 0 0; font-size: 13px; color: var(--ink); display: flex; align-items: center; gap: 5px; }
.lc-cast-card__shift svg { color: var(--yellow); }
.lc-cast-card__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 10px; }

/* ---------- 時間帯チップ ---------- */
.lc-chip { display: inline-flex; align-items: center; gap: 5px; padding: 5px 12px; border-radius: 999px; font-size: 13px; font-weight: 700; }
.lc-chip--day { background: var(--pink-light); color: var(--pink-dark); }
.lc-chip--day svg { color: var(--yellow); }
.lc-chip--night { background: var(--emerald-light); color: var(--emerald-dark); }

/* ---------- ページネーション ---------- */
.lc-pagination { display: flex; justify-content: center; gap: 8px; margin: 34px 0 8px; }
.lc-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 40px; height: 40px; padding: 0 6px; border-radius: 50%;
	border: 1px solid var(--line); color: var(--ink); font-weight: 700; font-size: 14px; background: #fff;
}
.lc-pagination .page-numbers.current { background: var(--pink); border-color: var(--pink); color: #fff; }
.lc-pagination .page-numbers:hover { border-color: var(--pink); color: var(--pink); opacity: 1; }

/* ---------- フッターCTA（デザイン案B：丸み・優しい雲囲気） ---------- */
.lc-footer-cta { background: linear-gradient(120deg, var(--pink-light), var(--emerald-light)); padding: 36px 0 30px; margin-top: 56px; }
.lc-footer-cta__lead { text-align: center; margin: 0 0 18px; font-size: 18px; font-weight: 800; color: var(--ink); }
.lc-footer-cta__btns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }

/* ボタン本体：ピル型・アイコン左／テキスト2段 */
.lc-cta-btn {
	display: flex; flex-direction: row; align-items: center; justify-content: center; gap: 12px;
	padding: 15px 18px; border-radius: 999px; color: #fff !important;
	box-shadow: 0 6px 16px rgba(28,44,66,.14); transition: .18s; text-align: left;
	text-decoration: none !important;
}
.lc-cta-btn, .lc-cta-btn * { text-decoration: none !important; }
.lc-cta-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(28,44,66,.2); opacity: 1; }
.lc-cta-btn--tel  { background: #ef6d96; }
.lc-cta-btn--line { background: #34a853; }
.lc-cta-btn--web  { background: #f2799f; }

.lc-cta-btn__ic { display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.lc-cta-btn__ic svg { width: 29px; height: 29px; display: block; }
/* LINEアイコンは白地に緑文字でブランド再現（吹き出しの尾を含むため少し大きく） */
.lc-cta-btn__ic .lc-ctaic--line { width: 33px; height: 33px; }
/* 封筒は横長のため見た目の面積を揃えるべく少し大きく */
.lc-cta-btn__ic .lc-ctaic--web { width: 32px; height: 32px; }
.lc-cta-btn--line .lc-ctaic--line { color: #fff; --lc-ctaic-knock: #34a853; }

.lc-cta-btn__txt { display: flex; flex-direction: column; gap: 1px; }
.lc-cta-btn__main { font-size: 17px; font-weight: 800; letter-spacing: .01em; line-height: 1.25; }
.lc-cta-btn__sub  { font-size: 11.5px; font-weight: 600; opacity: .92; line-height: 1.3; }

/* 電話番号（ボタン下の大きな番号） */
.lc-footer-cta__tel { text-align: center; margin: 16px 0 0; }
.lc-footer-cta__tel a {
	font-family: Georgia, serif; font-size: 30px; font-weight: 800; letter-spacing: .04em;
	color: var(--pink-dark) !important; text-decoration: none !important;
}
.lc-footer-cta__tel a:hover { opacity: .8; }

/* priceページ：サイドバー（料金シミュレータ）が本文より長いため
   下部に余白が発生する。CTA帯前の上マージンを詰めて調整する。
   ※ /price/ の page-id は 19（本番で確認） */
body.page-id-19 .lc-footer-cta { margin-top: 12px; }
body.page-id-19 .lc-main { padding-bottom: 8px; }

/* 旧クラス名の互換（他テンプレートからの流用対策） */
.lc-cta-btn__label { font-size: 13px; font-weight: 700; }
.lc-cta-btn__big { font-size: 24px; font-weight: 800; letter-spacing: .02em; }
.lc-cta-btn__note { font-size: 11px; opacity: .85; }

/* ---------- フッター ---------- */
.lc-footer { background: var(--ink); color: #cfd6e0; font-size: 13.5px; }
.lc-footer a { color: #cfd6e0; }
.lc-footer__inner { display: flex; gap: 48px; padding-top: 36px; padding-bottom: 28px; flex-wrap: wrap; }
.lc-footer__logo { display: flex; align-items: center; gap: 8px; font-family: Georgia, serif; font-size: 20px; color: #fff; margin: 0 0 10px; }
.lc-footer__logo svg { color: var(--emerald); width: 26px; height: 26px; }
.lc-footer__shop p { margin: 3px 0; }
.lc-footer__sitemap ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(130px, 1fr)); gap: 6px 24px; }
.lc-footer__sitemap a::before { content: "▸ "; color: var(--emerald); }
.lc-footer__bottom { border-top: 1px solid rgba(255,255,255,.12); text-align: center; padding: 14px 16px 18px; }
.lc-footer__notice { margin: 0 0 4px; font-size: 12px; color: var(--yellow); }
.lc-footer__copy { margin: 0; font-size: 12px; color: #8b95a5; }

/* ---------- スマホ固定バー ---------- */
.lc-sp-fixed-bar { display: none; }

/* =========================================================
   レスポンシブ（BP 768 / 1024）
   ========================================================= */
@media (max-width: 1024px) {
	.lc-cast-grid { grid-template-columns: repeat(3, 1fr); }
	.lc-header__ctas .lc-btn--reserve { min-width: 104px; font-size: 13px; }
	.lc-header__tel-number { font-size: 21px; }
}

@media (max-width: 768px) {
	body.lc-body { padding-bottom: 58px; } /* 固定バー分 */
	.lc-header__top { flex-wrap: wrap; gap: 8px 12px; padding-top: 8px; padding-bottom: 8px; }
	.lc-logo__en { font-size: 18px; }
	.lc-logo__ja { font-size: 9px; }
	.lc-logo__clover svg { width: 28px; height: 28px; }
	.lc-header__tel { margin-left: auto; }
	.lc-header__tel-number { font-size: 17px; color: #1a56db !important; }
	.lc-header__tel-number svg { color: #1a56db; }
	.lc-header__hours { display: inline-block; background: var(--emerald-light); color: var(--emerald-dark); border-radius: 999px; padding: 1px 8px; font-size: 10px; }
	.lc-header__ctas { order: 4; flex: 1; }
	.lc-header__ctas .lc-btn--reserve { flex: 1; min-width: 0; font-size: 12.5px; padding: 7px 6px; }
	.lc-hamburger {
		display: flex; flex-direction: column; align-items: center; gap: 1px;
		background: none; border: 0; color: var(--emerald-dark); font-size: 10px; font-weight: 700; cursor: pointer;
	}
	.lc-hamburger svg { width: 26px; height: 26px; color: var(--emerald); }
	.lc-gnav__item a { font-size: 11px; padding: 7px 9px; }
	.lc-cast-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.lc-page-header__title { font-size: 24px; }
	.lc-section-title h2 { font-size: 20px; }
	.lc-footer-cta { padding: 28px 0 24px; }
	.lc-footer-cta__btns { grid-template-columns: 1fr; gap: 11px; }
	.lc-cta-btn { padding: 13px 20px; gap: 11px; justify-content: flex-start; }
	.lc-cta-btn__ic svg { width: 27px; height: 27px; }
	.lc-cta-btn__main { font-size: 16px; }
	.lc-cta-btn__sub { font-size: 11px; }
	.lc-footer-cta__tel a { font-size: 26px; }
	.lc-footer__inner { flex-direction: column; gap: 22px; }
	.lc-footer__sitemap ul { grid-template-columns: repeat(2, 1fr); }

	/* SP追従バー（電話 → LINE予約 → WEB予約） */
	.lc-sp-fixed-bar {
		display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 1px;
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 150;
		background: var(--line); box-shadow: 0 -4px 14px rgba(28,44,66,.12);
	}
	.lc-sp-fixed-bar__item {
		display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
		padding: 8px 4px 7px; font-size: 11.5px; font-weight: 800; color: #fff !important; line-height: 1.1;
		text-decoration: none !important;
	}
	.lc-sp-fixed-bar__item span { text-decoration: none !important; }
	.lc-sp-fixed-bar__item svg { width: 22px; height: 22px; display: block; }
	.lc-sp-fixed-bar__item--tel { background: #ef6d96; }
	.lc-sp-fixed-bar__item--line { background: #34a853; }
	.lc-sp-fixed-bar__item--web { background: #f2799f; }
	.lc-sp-fixed-bar__item--line .lc-ctaic--line { color: #fff; --lc-ctaic-knock: #34a853; }
}

/* =========================================================
   ページ固有スタイル
   ========================================================= */

/* ---------- 年齢認証（age_gate_pc_confirmed 準拠：白×ミント×金細枠） ---------- */
body.lc-body--gate { background: linear-gradient(160deg, #eafaf8 0%, #ffffff 45%, #ffeef4 100%); min-height: 100vh; }
.lc-gate { display: flex; justify-content: center; padding: 28px 14px 48px; }
.lc-gate__frame {
	width: min(720px, 100%); background: rgba(255,255,255,.92);
	border: 1px solid var(--gold); outline: 4px solid rgba(201,156,66,.18); outline-offset: 4px;
	border-radius: 18px; padding: 34px 28px; text-align: center; box-shadow: var(--shadow);
}
.lc-gate__area-pill { display: inline-block; margin: 0 0 16px; padding: 5px 18px; border-radius: 999px; background: var(--emerald-light); color: var(--emerald-dark); font-size: 12.5px; font-weight: 700; }
.lc-gate__clover svg { width: 54px; height: 54px; color: var(--emerald); }
.lc-gate__brand { margin: 6px 0 0; font-family: Georgia, serif; font-size: 34px; font-weight: 700; letter-spacing: .08em; color: var(--emerald-dark); }
.lc-gate__brand-ja { margin: 2px 0 0; font-size: 13px; color: var(--muted); }
.lc-gate__brand-ja span { color: var(--pink); font-weight: 700; }
.lc-gate__catch { margin-top: 18px; }
.lc-gate__catch-main { margin: 0; font-size: 21px; font-weight: 800; color: var(--ink); }
.lc-gate__catch-main em { font-style: normal; color: var(--pink); }
.lc-gate__catch-sub { margin: 4px 0 0; font-size: 13.5px; color: var(--muted); }
.lc-gate__photo { margin-top: 14px; border-radius: var(--radius-photo); }
.lc-gate__panel { margin-top: 22px; padding: 22px 18px; border-radius: 14px; background: #fff; border: 1px solid var(--line); }
.lc-gate__question { margin: 0 0 8px; font-size: 24px; font-weight: 800; color: var(--ink); }
.lc-gate__note { margin: 2px 0; font-size: 13px; color: var(--muted); }
.lc-gate__note--red { color: var(--red); font-weight: 700; }
.lc-gate__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 18px; }
.lc-gate__enter, .lc-gate__exit {
	display: flex; flex-direction: column; align-items: center; gap: 2px;
	padding: 16px 10px; border-radius: 12px; font-weight: 800; transition: .18s;
}
.lc-gate__enter { background: linear-gradient(135deg, var(--pink), var(--pink-dark)); color: #fff !important; box-shadow: 0 8px 20px rgba(255,79,136,.35); }
.lc-gate__enter:hover { transform: translateY(-2px); opacity: 1; }
.lc-gate__exit { background: #fff; border: 2px solid var(--line); color: var(--muted) !important; }
.lc-gate__enter-main { font-size: 15.5px; }
.lc-gate__enter-sub { font-family: Georgia, serif; font-size: 12px; letter-spacing: .22em; opacity: .85; }
.lc-gate__banners { margin-top: 26px; }
.lc-gate__banners-title { font-size: 13px; color: var(--muted); margin: 0 0 10px; position: relative; }
.lc-gate__banner-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.lc-gate__banner { display: block; border-radius: 8px; overflow: hidden; border: 1px solid var(--line); }
.lc-gate__banner-ph { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 62px; background: var(--bg); color: var(--muted); font-size: 12px; font-weight: 700; }
.lc-gate__banner-ph small { font-size: 10px; font-weight: 400; }
.lc-gate__terms { margin: 20px 0 0; font-size: 11.5px; color: var(--muted); }
@media (max-width: 768px) {
	.lc-gate__frame { padding: 24px 16px; }
	.lc-gate__brand { font-size: 26px; }
	.lc-gate__question { font-size: 20px; }
	.lc-gate__btns { grid-template-columns: 1fr; }
	.lc-gate__banner-grid { grid-template-columns: 1fr; }
}

/* ---------- TOP：ヒーロー ---------- */
.lc-top-hero { display: flex; justify-content: center; margin-top: 18px; max-width: none !important; width: 100% !important; padding: 0 !important; margin-left: 0 !important; margin-right: 0 !important; }
.lc-slider { position: relative; overflow: hidden; width: 100%; margin: 0 auto; }
.lc-slider__track { display: flex; transition: transform .5s ease; }
.lc-slider__slide { flex: 0 0 100%; background: #fff; }
.lc-slider__slide img { width: 100%; height: 100%; object-fit: contain; display: block; aspect-ratio: 2 / 1; }
.lc-slider__ph {
	aspect-ratio: 2 / 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
	background: linear-gradient(135deg, var(--emerald-light), #fff 55%, var(--pink-light));
	color: var(--emerald-dark);
}
.lc-slider__ph strong { font-family: Georgia, serif; font-size: 30px; letter-spacing: .08em; }
.lc-slider__ph span { font-size: 12.5px; color: var(--muted); }
.lc-slider__ph--pink { background: linear-gradient(135deg, var(--pink-light), #fff 55%, var(--emerald-light)); color: var(--pink-dark); }
.lc-slider__prev, .lc-slider__next {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
	width: 38px; height: 38px; border-radius: 50%; border: 0; cursor: pointer;
	background: rgba(255,255,255,.85); color: var(--ink); font-size: 22px; line-height: 1;
	display: flex; align-items: center; justify-content: center; box-shadow: var(--shadow);
}
.lc-slider__prev { left: 10px; }
.lc-slider__next { right: 10px; }
.lc-slider__dots { position: absolute; bottom: 10px; left: 0; right: 0; display: flex; justify-content: center; gap: 7px; }
.lc-slider__dot { width: 9px; height: 9px; border-radius: 50%; border: 0; padding: 0; background: rgba(255,255,255,.6); cursor: pointer; }
.lc-slider__dot.is-active { background: var(--pink); }
.lc-more-band { text-align: center; margin: 22px 0 0; }
.lc-more-band a {
	display: inline-block; padding: 12px 48px; border-radius: 999px;
	background: var(--emerald-light); color: var(--emerald-dark); font-weight: 800; font-size: 14.5px;
}
.lc-empty { padding: 40px 16px; text-align: center; color: var(--muted); background: var(--bg); border-radius: var(--radius-card); }
.lc-empty--sm { padding: 16px 10px; font-size: 13px; }
@media (max-width: 1024px) { .lc-slider { max-width: none; } }

/* スマホ版：メインスライダーを縦にもう少し大きく（2026-09 依頼分） */
@media (max-width: 768px) {
	.lc-slider__slide img,
	.lc-slider__ph { aspect-ratio: 4 / 3; }
}

/* ---------- TOP：写メ日記 ---------- */
.lc-diary-scroll { display: grid; grid-auto-flow: column; grid-auto-columns: 240px; gap: 14px; overflow-x: auto; padding-bottom: 10px; -webkit-overflow-scrolling: touch; }
.lc-diary-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); overflow: hidden; box-shadow: var(--shadow); }
.lc-diary-card a { display: block; color: var(--ink); }
.lc-diary-card__photo { display: block; position: relative; aspect-ratio: 16 / 9; background: var(--bg); }
.lc-diary-card__photo img { width: 100%; height: 100%; object-fit: cover; }
.lc-diary-card__date { display: block; padding: 8px 12px 0; font-size: 11.5px; color: var(--muted); }
.lc-diary-card__title { display: block; padding: 2px 12px 4px; font-size: 14px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lc-diary-card__cast { display: block; padding: 0 12px 12px; font-size: 12px; color: var(--pink); font-weight: 700; }

/* ---------- TOP：ランキング ---------- */
.lc-rank-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.lc-rank-card { position: relative; text-align: center; background: #fff; border-radius: var(--radius-card); border: 2px solid var(--gold); padding: 16px 14px 18px; box-shadow: var(--shadow); }
.lc-rank-card--silver { border-color: #b7c0cc; }
.lc-rank-card--bronze { border-color: #c98d5f; }
.lc-rank-card__badge {
	position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
	padding: 3px 18px; border-radius: 999px; background: var(--gold); color: #fff; font-size: 13px; font-weight: 800;
}
.lc-rank-card--silver .lc-rank-card__badge { background: #8d99a8; }
.lc-rank-card--bronze .lc-rank-card__badge { background: #c98d5f; }
.lc-rank-card__photo { display: block; aspect-ratio: 3 / 4; border-radius: var(--radius-photo); overflow: hidden; background: var(--bg); margin-bottom: 10px; }
.lc-rank-card__photo img { width: 100%; height: 100%; object-fit: cover; }
.lc-rank-card__name { margin: 0 0 10px; font-weight: 800; color: var(--pink); }
.lc-rank-card__name span { font-size: 13px; color: var(--muted); font-weight: 500; }
@media (max-width: 768px) { .lc-rank-grid { grid-template-columns: 1fr; } }

/* ---------- 絞り込みフォーム ---------- */
.lc-filter {
	display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px;
	background: var(--emerald-light); border-radius: var(--radius-card); padding: 16px; margin-top: 18px;
}
.lc-filter label { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; font-weight: 700; color: var(--emerald-dark); }
.lc-filter select, .lc-filter input[type="text"] {
	padding: 9px 12px; border: 1px solid var(--line); border-radius: 8px; font-size: 14px; background: #fff; min-width: 150px;
}
.lc-filter__check { flex-direction: row !important; align-items: center; gap: 6px !important; padding-bottom: 10px; }
.lc-filter .lc-btn { padding: 10px 22px; }
.lc-filter__reset { font-size: 12.5px; color: var(--muted); text-decoration: underline; padding-bottom: 12px; }
.lc-result-count { font-size: 13px; color: var(--muted); margin: 14px 0; }

/* ---------- プロフィール3カラム ---------- */
.lc-profile { display: grid; grid-template-columns: 340px 1fr 300px; gap: 22px; margin-top: 20px; }
.lc-profile__main-photo { position: relative; aspect-ratio: 3 / 4; border-radius: var(--radius-card); overflow: hidden; background: var(--bg); box-shadow: var(--shadow); }
.lc-profile__main-photo img { width: 100%; height: 100%; object-fit: cover; }
.lc-profile__thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; margin-top: 8px; }
.lc-profile__thumb { padding: 0; border: 2px solid transparent; border-radius: 8px; overflow: hidden; cursor: pointer; background: var(--bg); aspect-ratio: 3 / 4; }
.lc-profile__thumb.is-active { border-color: var(--pink); }
.lc-profile__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lc-profile__actions { display: grid; gap: 10px; margin-top: 14px; }
.lc-fav--wide { flex-direction: row; gap: 6px; position: static; width: auto; height: auto; border-radius: var(--radius-btn); }
.lc-profile__badges { margin: 0 0 6px; display: flex; gap: 8px; }
.lc-badge-red { background: var(--red); color: #fff; font-size: 12px; font-weight: 800; padding: 3px 12px; border-radius: 999px; }
.lc-badge-new { background: var(--yellow); color: var(--ink); font-size: 12px; font-weight: 800; padding: 3px 12px; border-radius: 999px; }
.lc-profile__name { margin: 0; font-size: 30px; color: var(--pink); }
.lc-profile__name span { font-size: 17px; color: var(--muted); font-weight: 500; }
.lc-profile__size { margin: 4px 0 0; font-size: 15px; font-weight: 700; color: var(--ink); letter-spacing: .04em; }
.lc-profile__tags { margin: 8px 0 0; display: flex; gap: 6px; flex-wrap: wrap; }
.lc-profile__catch { margin: 14px 0 0; font-size: 17px; font-weight: 800; color: var(--emerald-dark); background: var(--emerald-light); border-radius: 10px; padding: 10px 16px; }
.lc-profile__intro { margin-top: 12px; font-size: 14.5px; }
.lc-profile__table { width: 100%; border-collapse: collapse; margin-top: 16px; font-size: 13.5px; }
.lc-profile__table th, .lc-profile__table td { border: 1px solid var(--line); padding: 8px 12px; text-align: left; }
.lc-profile__table th { background: var(--pink-light); color: var(--pink-dark); font-weight: 700; width: 17%; white-space: nowrap; }
.lc-profile__table td { width: 33%; }
.lc-profile__note { font-size: 11.5px; color: var(--muted); margin: 8px 0 0; }
.lc-side-panel { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 16px; margin-bottom: 14px; box-shadow: var(--shadow); }
.lc-side-panel__title { margin: 0 0 10px; font-size: 15.5px; color: var(--emerald-dark); display: flex; align-items: center; gap: 6px; }
.lc-side-panel__title svg { color: var(--emerald); }
.lc-side-panel__link { display: block; margin-top: 10px; font-size: 13px; font-weight: 700; color: var(--pink); text-align: right; }
.lc-side-panel--message { background: var(--pink-light); border-color: #ffd3e2; }
.lc-side-panel--message .lc-side-panel__title { color: var(--pink-dark); }
.lc-side-panel__body { font-size: 13.5px; }
.lc-week-list { list-style: none; margin: 0; padding: 0; }
.lc-week-list__item { display: flex; align-items: center; justify-content: space-between; padding: 7px 2px; border-bottom: 1px dashed var(--line); font-size: 13px; }
.lc-week-list__date { font-weight: 700; }
.lc-week-list__item.is-sat .lc-week-list__date { color: var(--blue); }
.lc-week-list__item.is-sun .lc-week-list__date { color: var(--red); }
.lc-week-list__off { color: var(--muted); font-size: 12.5px; }
.lc-option-list { list-style: none; margin: 0; padding: 0; font-size: 13.5px; }
.lc-option-list li { display: flex; justify-content: space-between; padding: 7px 2px; border-bottom: 1px dashed var(--line); }
.lc-option-list strong { color: var(--pink-dark); }
.lc-btn--block { width: 100%; }
@media (max-width: 1024px) { .lc-profile { grid-template-columns: 1fr 1fr; } .lc-profile__right { grid-column: 1 / -1; } }
@media (max-width: 768px) { .lc-profile { grid-template-columns: 1fr; } }

/* ---------- 出勤予定（14日タブ＋カードグリッド） ---------- */
.lc-sched-days { margin-top: 20px; position: relative; }
.lc-sched-days__track {
	display: flex; gap: 10px; overflow-x: auto; padding: 6px 2px 12px;
	-webkit-overflow-scrolling: touch; scrollbar-width: thin;
}
.lc-sched-days__track::-webkit-scrollbar { height: 6px; }
.lc-sched-days__track::-webkit-scrollbar-thumb { background: var(--line); border-radius: 3px; }
.lc-sched-day {
	flex: 0 0 auto; width: 62px; height: 62px; border-radius: 50%;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0;
	background: #fff; border: 2px solid var(--line); color: var(--ink);
	text-decoration: none; transition: .15s; box-shadow: 0 1px 4px rgba(0,0,0,.05);
}
.lc-sched-day__md { font-size: 15px; font-weight: 800; line-height: 1.1; }
.lc-sched-day__wd { font-size: 10.5px; font-weight: 700; color: var(--muted); line-height: 1.2; }
.lc-sched-day.is-sat .lc-sched-day__wd { color: var(--blue); }
.lc-sched-day.is-sun .lc-sched-day__wd { color: var(--red); }
.lc-sched-day:hover { border-color: var(--pink); transform: translateY(-2px); }
.lc-sched-day.is-active { background: var(--pink); border-color: var(--pink); box-shadow: 0 4px 12px rgba(244,143,177,.4); }
.lc-sched-day.is-active .lc-sched-day__md,
.lc-sched-day.is-active .lc-sched-day__wd { color: #fff; }

.lc-sched-selected { display: flex; align-items: center; gap: 10px; margin: 6px 0 14px; font-size: 17px; font-weight: 800; color: var(--emerald-dark); }
.lc-sched-selected__count { font-size: 12px; font-weight: 700; color: #fff; background: var(--pink); border-radius: 999px; padding: 3px 10px; }

.lc-sched-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.lc-sched-card { background: #fff; border-radius: var(--radius-card); overflow: hidden; box-shadow: var(--shadow); border: 1px solid var(--line); transition: .18s; }
.lc-sched-card:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,.1); }
.lc-sched-card__link { display: block; color: inherit; text-decoration: none; }
.lc-sched-card__time {
	display: flex; align-items: center; justify-content: center; gap: 5px;
	padding: 7px 6px; font-size: 13.5px; font-weight: 800; color: #fff; letter-spacing: .02em;
}
.lc-sched-card__time svg { width: 15px; height: 15px; }
.lc-sched-card__time.is-day { background: linear-gradient(135deg, #7dd3b0, #4db6a0); }
.lc-sched-card__time.is-night { background: linear-gradient(135deg, #7b8fd4, #5c6bc0); }
.lc-sched-card__photo { position: relative; aspect-ratio: 3 / 4; background: var(--bg); }
.lc-sched-card__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lc-sched-card__soku {
	position: absolute; left: 6px; bottom: 6px; display: inline-flex; align-items: center; gap: 4px;
	background: rgba(233,30,99,.94); color: #fff; font-size: 10.5px; font-weight: 800;
	padding: 3px 8px; border-radius: 999px;
}
.lc-sched-card__state { position: absolute; right: 6px; top: 6px; font-size: 10px; font-weight: 800; padding: 3px 7px; border-radius: 6px; color: #fff; }
.lc-sched-card__state.is-closed { background: rgba(120,120,120,.9); }
.lc-sched-card__state.is-few { background: rgba(255,152,0,.95); }
.lc-sched-card__body { padding: 9px 8px 11px; text-align: center; }
.lc-sched-card__name { margin: 0; font-size: 15px; font-weight: 800; color: var(--ink); line-height: 1.3; }
.lc-sched-card__name span { font-size: 12.5px; color: var(--muted); font-weight: 700; }
.lc-sched-card__catch { margin: 3px 0 0; font-size: 11.5px; color: var(--pink-dark); font-weight: 700; line-height: 1.35; }
.lc-sched-card__size { margin: 3px 0 0; font-size: 11px; color: var(--blue); font-weight: 600; }
.lc-sched-card__tags { display: flex; flex-wrap: wrap; gap: 3px; justify-content: center; margin: 6px 0 0; }
.lc-sched-card__tags .lc-tag { font-size: 9.5px; padding: 2px 6px; }
.lc-sched-legend { display: flex; gap: 12px; justify-content: center; margin-top: 20px; }
@media (max-width: 1100px) { .lc-sched-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 860px)  { .lc-sched-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px)  {
	.lc-sched-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.lc-sched-day { width: 54px; height: 54px; }
	.lc-sched-day__md { font-size: 13px; }
	.lc-sched-card__time { font-size: 12px; padding: 6px 4px; }
	.lc-sched-card__name { font-size: 13.5px; }
	.lc-sched-selected { font-size: 15px; }
}
/* ---------- 料金システム（deep緑） ---------- */
.lc-price { display: grid; grid-template-columns: 1fr 300px; gap: 24px; margin-top: 24px; }
.lc-price__heading {
	font-size: 20px; color: var(--deep-green); margin: 0 0 14px; padding-left: 12px;
	border-left: 5px solid var(--gold);
}
.lc-price__main section { margin-bottom: 36px; }
.lc-price-table-wrap { overflow-x: auto; border-radius: var(--radius-card); border: 1px solid var(--line); box-shadow: var(--shadow); }
.lc-price-table { width: 100%; min-width: 680px; border-collapse: collapse; background: #fff; font-size: 14px; }
.lc-price-table thead th { background: var(--deep-green); color: #fff; padding: 12px 10px; font-size: 13.5px; }
.lc-price-table tbody th, .lc-price-table tbody td { border-bottom: 1px solid var(--line); padding: 12px 10px; text-align: center; }
.lc-price-table__course { text-align: left !important; min-width: 190px; }
.lc-price-table__course-name { display: block; font-size: 15px; font-weight: 800; color: var(--ink); }
.lc-price-table__course-desc { display: block; font-size: 11px; color: var(--muted); font-weight: 400; }
.lc-price-table td { font-weight: 800; color: var(--deep-green); font-size: 15px; }
.lc-price-table td small { font-size: 11px; font-weight: 500; color: var(--muted); }
.lc-badge-osusume, .lc-badge-ninki { display: inline-block; margin: 2px 4px 2px 0; padding: 1px 10px; border-radius: 999px; font-size: 10.5px; font-weight: 800; }
.lc-badge-osusume { background: var(--gold); color: #fff; }
.lc-badge-ninki { background: var(--pink); color: #fff; }
.lc-price-table__row--pink th { border-left: 4px solid var(--pink); }
.lc-price-table__row--emerald th { border-left: 4px solid var(--emerald); }
.lc-price-table__row--gold th { border-left: 4px solid var(--gold); }
.lc-price-table__row--purple th { border-left: 4px solid #9f7aea; }
.lc-price-table__row--blue th { border-left: 4px solid var(--blue); }
.lc-price-table__row--deep th { border-left: 4px solid var(--deep-green); }
.lc-option-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.lc-option-card { display: flex; justify-content: space-between; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; font-size: 13.5px; box-shadow: var(--shadow); }
.lc-option-card__name { font-weight: 700; }
.lc-option-card__price { font-weight: 800; color: var(--deep-green); }
.lc-side-panel--deep .lc-side-panel__title { color: var(--deep-green); }
.lc-sim { background: var(--emerald-light); border-radius: var(--radius-card); padding: 20px; }
.lc-sim__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.lc-sim__grid label { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; font-weight: 700; color: var(--emerald-dark); }
.lc-sim__grid select { padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; font-size: 14px; background: #fff; }
.lc-sim__options { margin-top: 12px; font-size: 13.5px; }
.lc-sim__options summary { cursor: pointer; font-weight: 700; color: var(--emerald-dark); }
.lc-sim__option-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; margin-top: 10px; }
.lc-sim__option-list label { display: flex; align-items: center; gap: 6px; background: #fff; border-radius: 8px; padding: 8px 10px; }
.lc-sim__result { margin: 18px 0 0; text-align: center; font-size: 17px; font-weight: 800; color: var(--ink); }
.lc-sim__total { display: inline-block; margin-left: 10px; font-size: 30px; color: var(--pink); }
.lc-sim__note { text-align: center; font-size: 11.5px; color: var(--muted); margin: 6px 0 0; }
.lc-sp-note { font-size: 11.5px; color: var(--muted); margin-top: 26px; }
@media (max-width: 1024px) { .lc-price { grid-template-columns: 1fr; } .lc-option-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) { .lc-sim__grid, .lc-sim__option-list, .lc-option-grid { grid-template-columns: 1fr; } }

/* ---------- ホテル一覧 ---------- */
.lc-hotel-note { display: flex; align-items: center; gap: 14px; background: var(--emerald-light); border-radius: var(--radius-card); padding: 14px 18px; margin-top: 20px; font-size: 13.5px; }
.lc-hotel-note__badge { flex: 0 0 auto; background: var(--emerald); color: #fff; padding: 6px 14px; border-radius: 999px; font-size: 12.5px; font-weight: 800; }
.lc-hotel-note p { margin: 0; }
.lc-hotel-block { margin-top: 28px; }
.lc-hotel-block__title { display: flex; align-items: center; gap: 10px; font-size: 19px; margin: 0 0 12px; color: var(--ink); }
.lc-hotel-block__num { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; color: #fff; font-size: 14px; font-weight: 800; background: var(--pink); }
.lc-hotel-table-wrap { overflow-x: auto; border-radius: var(--radius-card); border: 1px solid var(--line); box-shadow: var(--shadow); }
.lc-hotel-table { width: 100%; min-width: 640px; border-collapse: collapse; background: #fff; font-size: 13.5px; }
.lc-hotel-table th { padding: 10px 12px; font-size: 12.5px; text-align: left; }
.lc-hotel-table td { padding: 10px 12px; border-bottom: 1px solid var(--line); }
.lc-hotel-table__name { font-weight: 800; }
.lc-hotel-table__fee { font-weight: 800; color: var(--pink-dark); white-space: nowrap; }
.lc-hotel-block--pink .lc-hotel-block__num { background: var(--pink); } .lc-hotel-block--pink th { background: var(--pink-light); color: var(--pink-dark); }
.lc-hotel-block--rose .lc-hotel-block__num { background: #e0507a; } .lc-hotel-block--rose th { background: #fde8ef; color: #c23a63; }
.lc-hotel-block--orange .lc-hotel-block__num { background: #f08c3c; } .lc-hotel-block--orange th { background: #fdeedd; color: #c96a1e; }
.lc-hotel-block--yellow .lc-hotel-block__num { background: #d9a713; } .lc-hotel-block--yellow th { background: #faf3d3; color: #9c7a0c; }
.lc-hotel-block--green .lc-hotel-block__num { background: var(--emerald); } .lc-hotel-block--green th { background: var(--emerald-light); color: var(--emerald-dark); }
.lc-hotel-block--blue .lc-hotel-block__num { background: var(--blue); } .lc-hotel-block--blue th { background: #e3edfd; color: #2361c4; }
.lc-hotel-block--lavender .lc-hotel-block__num { background: #8f7ae0; } .lc-hotel-block--lavender th { background: #ece7fb; color: #6a55c0; }
.lc-hotel-block--purple .lc-hotel-block__num { background: #b060c8; } .lc-hotel-block--purple th { background: #f5e6f9; color: #8d3fa5; }
.lc-travel-panel { margin-top: 36px; background: var(--bg); border-radius: var(--radius-card); padding: 20px; }
.lc-travel-panel__chips { display: flex; gap: 10px; margin-top: 8px; }

/* ---------- コスプレ一覧 ---------- */
.lc-cos-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.lc-cos-tab { padding: 8px 18px; border-radius: 999px; border: 2px solid var(--emerald); color: var(--emerald-dark); font-size: 13.5px; font-weight: 700; background: #fff; }
.lc-cos-tab.is-active { background: var(--emerald); color: #fff; }
.lc-cos-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.lc-cos-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); overflow: hidden; box-shadow: var(--shadow); }
.lc-cos-card__photo { display: block; position: relative; aspect-ratio: 3 / 4; background: var(--bg); }
.lc-cos-card__photo img { width: 100%; height: 100%; object-fit: cover; }
.lc-cos-card__crown { position: absolute; top: 8px; left: 8px; background: var(--gold); color: #fff; font-size: 11px; font-weight: 800; padding: 3px 10px; border-radius: 999px; }
.lc-cos-card__body { padding: 10px 12px 14px; }
.lc-cos-card__name { margin: 0; font-size: 15px; font-weight: 800; color: var(--ink); }
.lc-cos-card__stars { margin: 3px 0 0; color: var(--gold); font-size: 13px; letter-spacing: 1px; }
.lc-cos-card__casts { margin: 6px 0 0; font-size: 11.5px; color: var(--muted); }
.lc-cos-card__casts a { color: var(--pink); font-weight: 700; margin-right: 4px; }
@media (max-width: 1024px) { .lc-cos-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px) { .lc-cos-grid { grid-template-columns: repeat(2, 1fr); } }

/* ---------- ポイント ---------- */
.lc-point-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 24px; }
.lc-point-feature { text-align: center; background: #fff; border: 2px solid var(--deep-green); border-radius: var(--radius-card); padding: 22px 16px; box-shadow: var(--shadow); }
.lc-point-feature__icon svg { width: 38px; height: 38px; color: var(--gold); }
.lc-point-feature h2 { font-size: 15.5px; margin: 10px 0 4px; color: var(--ink); }
.lc-point-feature h2 strong { color: var(--pink); font-size: 19px; }
.lc-point-feature p { margin: 0; font-size: 12.5px; color: var(--muted); }
.lc-point-panel { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 22px; margin-top: 22px; box-shadow: var(--shadow); }
.lc-point-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.lc-point-steps li { display: flex; gap: 14px; align-items: flex-start; }
.lc-point-steps__num { flex: 0 0 36px; width: 36px; height: 36px; border-radius: 50%; background: var(--deep-green); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; }
.lc-point-steps p { margin: 2px 0 0; font-size: 13.5px; color: var(--muted); }
.lc-point-red { color: var(--red); font-weight: 700; }
.lc-point-check { text-align: center; margin: 16px 0 6px; }
.lc-point-url { text-align: center; font-size: 13px; color: var(--emerald-dark); font-weight: 700; margin: 0; }
.lc-point-banner { display: flex; align-items: center; justify-content: center; gap: 18px; flex-wrap: wrap; margin-top: 26px; background: linear-gradient(120deg, var(--pink-light), var(--gold-light)); border-radius: var(--radius-card); padding: 22px; }
.lc-point-banner p { margin: 0; font-size: 17px; font-weight: 800; }
.lc-point-banner strong { color: var(--pink); font-size: 21px; }
@media (max-width: 768px) { .lc-point-features { grid-template-columns: 1fr; } }

/* ---------- ステップ/注意/理由（beginner・card・recruit共通） ---------- */
.lc-step-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.lc-step-grid--4 { grid-template-columns: repeat(4, 1fr); }
.lc-step-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 18px 14px; box-shadow: var(--shadow); position: relative; }
.lc-step-card__num { font-family: Georgia, serif; font-size: 22px; font-weight: 700; color: var(--pink); }
.lc-step-card h3 { margin: 6px 0 6px; font-size: 14.5px; }
.lc-step-card p { margin: 0; font-size: 12.5px; color: var(--muted); }
.lc-step-card--mint { border-top: 4px solid var(--emerald); }
.lc-step-card--pink { border-top: 4px solid var(--pink); }
.lc-step-card--yellow { border-top: 4px solid var(--yellow); }
.lc-caution-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.lc-caution-list li { display: flex; gap: 8px; align-items: flex-start; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 12px 14px; font-size: 13.5px; }
.lc-caution-list__icon { color: var(--emerald); font-weight: 800; }
.lc-caution-list--pink .lc-caution-list__icon { color: var(--pink); }
.lc-reason-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.lc-reason-grid--6 { grid-template-columns: repeat(3, 1fr); }
.lc-reason-card { text-align: center; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 20px 14px; box-shadow: var(--shadow); }
.lc-reason-card__icon svg { width: 30px; height: 30px; color: var(--emerald); }
.lc-reason-card h3 { margin: 8px 0 6px; font-size: 14.5px; color: var(--pink-dark); }
.lc-reason-card p { margin: 0; font-size: 12.5px; color: var(--muted); }
@media (max-width: 1024px) { .lc-step-grid, .lc-step-grid--4 { grid-template-columns: repeat(2, 1fr); } .lc-reason-grid, .lc-reason-grid--6 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 768px) { .lc-caution-list { grid-template-columns: 1fr; } .lc-step-grid, .lc-step-grid--4, .lc-reason-grid, .lc-reason-grid--6 { grid-template-columns: 1fr; } }

/* ---------- カード決済 ---------- */
.lc-card-page { margin-top: 20px; }
.lc-card-safe { background: linear-gradient(120deg, var(--emerald-light), var(--pink-light)); border-radius: var(--radius-card); padding: 18px 22px; font-size: 14px; }
.lc-card-safe p { margin: 0; }
.lc-card-caution { margin-top: 30px; }
.lc-card-brands { display: flex; gap: 12px; flex-wrap: wrap; }
.lc-card-brands span { background: #fff; border: 1px solid var(--line); border-radius: 8px; padding: 12px 22px; font-weight: 800; color: var(--ink); box-shadow: var(--shadow); }
.lc-card-brands__note { font-size: 12px; color: var(--muted); margin-top: 8px; }
.lc-ssl-band { margin-top: 28px; text-align: center; background: var(--bg); border-radius: 10px; padding: 12px; font-size: 13px; color: var(--muted); }
.lc-ssl-band p { margin: 0; }

/* ---------- 求人 ---------- */
.lc-recruit-hero { background: linear-gradient(120deg, #ffd9e6, #ffeef4 55%, #d8f3f0); padding: 52px 0 46px; }
.lc-recruit-hero--dekasegi { background: linear-gradient(120deg, #ffe3c4, #ffeef4 55%, #ffd9e6); }
.lc-recruit-hero--local { background: linear-gradient(120deg, #d8f3f0, #e2f6f4 55%, #ffeef4); }
.lc-recruit-hero--staff { background: linear-gradient(120deg, #1f2c44, #2c3d5c); }
.lc-recruit-hero--staff .lc-recruit-hero__title { color: #fff; }
.lc-recruit-hero--staff .lc-recruit-hero__sub { color: rgba(255,255,255,.8); }
.lc-recruit-hero--staff .lc-recruit-hero__pill { background: var(--gold); color: #fff; }
.lc-recruit-hero__pill { display: inline-block; background: var(--pink); color: #fff; padding: 5px 18px; border-radius: 999px; font-size: 13px; font-weight: 800; margin: 0 0 14px; }
.lc-recruit-hero__title { margin: 0; font-size: 32px; line-height: 1.45; color: var(--ink); }
.lc-recruit-hero__sub { margin: 12px 0 0; font-size: 15px; color: var(--muted); }
.lc-recruit-hero__ctas { display: flex; gap: 14px; margin-top: 22px; flex-wrap: wrap; }
.lc-recruit-gates { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 26px; }
.lc-recruit-gate { display: flex; flex-direction: column; gap: 4px; border-radius: var(--radius-card); padding: 26px 24px; color: #fff !important; box-shadow: var(--shadow); transition: .18s; }
.lc-recruit-gate:hover { transform: translateY(-2px); opacity: 1; box-shadow: var(--shadow-hover); }
.lc-recruit-gate--dekasegi { background: linear-gradient(135deg, var(--pink), var(--pink-dark)); }
.lc-recruit-gate--local { background: linear-gradient(135deg, var(--emerald), var(--emerald-dark)); }
.lc-recruit-gate__label { font-size: 22px; font-weight: 800; }
.lc-recruit-gate__desc { font-size: 13px; opacity: .9; }
.lc-recruit-gate__arrow { margin-top: 6px; font-size: 13.5px; font-weight: 700; }
.lc-voice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.lc-voice-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 20px; box-shadow: var(--shadow); }
.lc-voice-card__stars { color: var(--gold); margin: 0 0 6px; letter-spacing: 2px; }
.lc-voice-card h3 { margin: 0 0 8px; font-size: 15.5px; color: var(--pink-dark); }
.lc-voice-card__body { font-size: 13px; color: var(--muted); }
.lc-voice-card__meta { margin: 10px 0 0; font-size: 12px; font-weight: 700; color: var(--emerald-dark); }
.lc-faq { display: grid; gap: 10px; }
.lc-faq__item { background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; box-shadow: var(--shadow); }
.lc-faq__q { display: flex; align-items: center; gap: 12px; width: 100%; padding: 15px 18px; border: 0; background: none; font-family: inherit; font-size: 14.5px; font-weight: 700; color: var(--ink); text-align: left; cursor: pointer; }
.lc-faq__q span { flex: 0 0 28px; width: 28px; height: 28px; border-radius: 50%; background: var(--pink); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; }
.lc-faq__a { display: none; padding: 0 18px 15px 58px; font-size: 13.5px; color: var(--muted); position: relative; }
.lc-faq__a span { position: absolute; left: 18px; top: -2px; width: 28px; height: 28px; border-radius: 50%; background: var(--emerald); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 14px; }
.lc-faq__item.is-open .lc-faq__a { display: block; }
.lc-apply { margin-top: 36px; }
@media (max-width: 768px) {
	.lc-recruit-hero__title { font-size: 23px; }
	.lc-recruit-gates { grid-template-columns: 1fr; }
	.lc-voice-grid { grid-template-columns: 1fr; }
}

/* ---------- スタッフ求人 ---------- */
.lc-job-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.lc-job-card { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--gold); border-radius: var(--radius-card); padding: 20px; box-shadow: var(--shadow); }
.lc-job-card h3 { margin: 0 0 6px; font-size: 17px; color: var(--ink); }
.lc-job-card p { margin: 0; font-size: 13px; color: var(--muted); }
.lc-job-card__salary { margin-top: 10px !important; font-size: 17px !important; font-weight: 800; color: var(--pink) !important; }
.lc-benefit-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.lc-benefit-list li { display: flex; gap: 6px; align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; font-size: 13px; font-weight: 600; }
.lc-req-table { width: 100%; border-collapse: collapse; font-size: 14px; background: #fff; border-radius: var(--radius-card); overflow: hidden; box-shadow: var(--shadow); }
.lc-req-table th { width: 160px; background: var(--gold-light); color: #8a6a24; padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--line); }
.lc-req-table td { padding: 12px 16px; border-bottom: 1px solid var(--line); }
@media (max-width: 1024px) { .lc-benefit-list { grid-template-columns: repeat(2, 1fr); } .lc-job-grid { grid-template-columns: 1fr; } }
@media (max-width: 768px) { .lc-benefit-list { grid-template-columns: 1fr; } .lc-req-table th { width: 110px; } }

/* ---------- 記事詳細（日記・ブログ） ---------- */
.lc-diary-single { max-width: 760px; margin-top: 24px; }
.lc-diary-article { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 26px; box-shadow: var(--shadow); }
.lc-diary-article__date { margin: 0; font-size: 12.5px; color: var(--muted); }
.lc-diary-article__title { margin: 6px 0 16px; font-size: 24px; color: var(--ink); }
.lc-diary-article__photo { margin-bottom: 16px; }
.lc-diary-article__photo img { border-radius: var(--radius-photo); }
.lc-diary-article__body { font-size: 15px; }
.lc-diary-author { display: flex; gap: 14px; align-items: center; background: var(--pink-light); border-radius: var(--radius-card); padding: 16px; margin-top: 18px; }
.lc-diary-author__photo { flex: 0 0 72px; width: 72px; height: 96px; border-radius: 10px; overflow: hidden; background: #fff; }
.lc-diary-author__photo img { width: 100%; height: 100%; object-fit: cover; }
.lc-diary-author__name { margin: 0 0 8px; font-weight: 800; color: var(--pink-dark); }
.lc-diary-author__btns { display: flex; gap: 8px; }
.lc-diary-author__btns .lc-btn--sm { width: auto; }
.lc-back-link { text-align: center; margin-top: 26px; }

/* ---------- スタッフブログ一覧 ---------- */
.lc-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 22px; }
.lc-blog-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); overflow: hidden; box-shadow: var(--shadow); transition: .18s; }
.lc-blog-card:hover { box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.lc-blog-card a { display: block; color: var(--ink); }
.lc-blog-card__photo { display: block; aspect-ratio: 16 / 9; background: var(--bg); }
.lc-blog-card__photo img { width: 100%; height: 100%; object-fit: cover; }
.lc-blog-card__date { display: block; padding: 12px 16px 0; font-size: 12px; color: var(--emerald-dark); font-weight: 700; }
.lc-blog-card__title { display: block; padding: 2px 16px 6px; font-size: 15.5px; font-weight: 800; }
.lc-blog-card__excerpt { display: block; padding: 0 16px 16px; font-size: 12.5px; color: var(--muted); }
@media (max-width: 768px) { .lc-blog-grid { grid-template-columns: 1fr; } }

/* ---------- 404 ---------- */
.lc-404 { text-align: center; padding: 70px 16px; }
.lc-404__clover svg { width: 60px; height: 60px; color: var(--emerald); }
.lc-404 h1 { font-family: Georgia, serif; color: var(--emerald-dark); margin: 12px 0; }
.lc-404 p { color: var(--muted); }

/* ---------- 応募フォーム（プラグインショートコード用） ---------- */
.lc-apply-form { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 26px; box-shadow: var(--shadow); }
.lc-apply-form .form-row { display: grid; gap: 4px; margin-bottom: 16px; }
.lc-apply-form label { font-size: 13.5px; font-weight: 700; color: var(--ink); }
.lc-apply-form label .required { color: var(--red); font-size: 11px; margin-left: 6px; }
.lc-apply-form input[type="text"], .lc-apply-form input[type="tel"], .lc-apply-form input[type="email"], .lc-apply-form select, .lc-apply-form textarea {
	padding: 11px 14px; border: 1px solid var(--line); border-radius: 8px; font-size: 15px; font-family: inherit;
}
.lc-apply-form textarea { min-height: 120px; }
.lc-apply-form .submit-row { text-align: center; margin-top: 20px; }
.lc-apply-form button[type="submit"] {
	padding: 15px 60px; border: 0; border-radius: 999px; background: var(--pink); color: #fff;
	font-size: 16.5px; font-weight: 800; cursor: pointer; font-family: inherit; box-shadow: 0 8px 20px rgba(255,79,136,.35);
}
.lc-apply-form button[type="submit"]:hover { background: var(--pink-dark); }
.lc-apply-form .form-note { font-size: 12px; color: var(--muted); }
.lc-form-success { background: var(--emerald-light); color: var(--emerald-dark); border-radius: 10px; padding: 16px; font-weight: 700; text-align: center; }
.lc-form-error { background: #fdecec; color: var(--red); border-radius: 10px; padding: 12px 16px; font-size: 13.5px; }

/* ============ 写メ日記 一覧（アーカイブ） ============ */
.lc-diary-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
@media (max-width: 960px) { .lc-diary-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) { .lc-diary-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; } }

/* ============ お知らせ 一覧・詳細 ============ */
.lc-news-list { list-style: none; margin: 0 0 8px; padding: 0; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); overflow: hidden; box-shadow: var(--shadow); }
.lc-news-item + .lc-news-item { border-top: 1px dashed var(--line); }
.lc-news-item a { display: flex; align-items: center; gap: 14px; padding: 16px 20px; color: var(--ink); }
.lc-news-item a:hover { background: var(--bg); opacity: 1; }
.lc-news-item__date { flex: 0 0 auto; font-size: 12.5px; font-weight: 700; color: var(--pink); letter-spacing: .04em; }
.lc-news-item__title { flex: 1 1 auto; font-size: 14px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lc-news-item .lc-ribbon { position: static; transform: none; width: auto; padding: 2px 8px; border-radius: 4px; font-size: 10px; }
@media (max-width: 640px) {
.lc-news-item a { flex-wrap: wrap; gap: 6px 10px; padding: 13px 14px; }
.lc-news-item__title { flex-basis: 100%; white-space: normal; }
}
.lc-news-single { max-width: 860px; }
.lc-news-article { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: var(--shadow); padding: 28px 30px; }
.lc-news-article__date { font-size: 12.5px; color: var(--muted); margin: 0 0 6px; }
.lc-news-article__title { font-size: 22px; margin: 0 0 18px; padding-bottom: 14px; border-bottom: 2px solid var(--pink-light); }
.lc-news-article__photo { margin: 0 0 18px; }
.lc-news-article__photo img { width: 100%; height: auto; border-radius: 10px; }
.lc-news-article__body { font-size: 14.5px; line-height: 2; }
@media (max-width: 640px) { .lc-news-article { padding: 20px 16px; } .lc-news-article__title { font-size: 18px; } }

/* ---------- ロゴ画像（新ロゴ対応） ---------- */
.lc-logo__img { height: 58px; width: auto; display: block; }
.lc-logo__ja--under { font-size: 10.5px; color: var(--muted); line-height: 1.3; }
@media (max-width: 768px) {
.lc-logo__img { height: 44px; }
.lc-logo__ja--under { font-size: 9px; }
}

/* ---------- 今からご案内可能の女の子（小さめカード） ---------- */
.lc-soku-section { margin-top: 8px; }
.lc-soku-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.lc-soku-card { background: #fff; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; box-shadow: 0 1px 5px rgba(0,0,0,.06); transition: .16s; }
.lc-soku-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-hover); }
.lc-soku-card__photo { display: block; position: relative; aspect-ratio: 3 / 4; background: var(--bg); overflow: hidden; }
.lc-soku-card__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lc-soku-card__now {
position: absolute; left: 5px; bottom: 5px;
display: inline-block; padding: 2px 8px; border-radius: 999px;
font-size: 10px; font-weight: 800; color: #fff;
background: linear-gradient(135deg, #ff3d6e, #ff7a4d);
box-shadow: 0 2px 6px rgba(255,61,110,.4);
}
.lc-soku-card__name { margin: 6px 6px 0; font-size: 13px; font-weight: 800; text-align: center; line-height: 1.35; }
.lc-soku-card__name a { color: var(--pink); }
.lc-soku-card__name span { font-size: 11px; color: var(--muted); font-weight: 600; }
.lc-soku-card__time { margin: 2px 6px 9px; font-size: 10.5px; color: var(--emerald-dark); font-weight: 700; text-align: center; }
.lc-soku-note { margin: 14px 0 0; font-size: 12px; color: var(--muted); text-align: center; }
.lc-soku-note a { color: var(--pink); font-weight: 700; }
@media (max-width: 1100px) { .lc-soku-grid { grid-template-columns: repeat(5, 1fr); } }
@media (max-width: 860px)  { .lc-soku-grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 600px)  { .lc-soku-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; } .lc-soku-card__name { font-size: 12px; } }

/* ---------- 女の子一覧：条件バー・表示切替・リスト表示 ---------- */
.lc-list-head { display: flex; justify-content: flex-end; margin-top: 16px; }
.lc-list-bar {
display: flex; flex-wrap: wrap; align-items: center; gap: 12px;
margin-top: 14px; padding: 12px 14px;
background: #fff; border: 1px solid var(--line); border-radius: 10px;
}
.lc-list-bar__cond { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; flex: 1 1 auto; }
.lc-list-bar__label { font-size: 12.5px; font-weight: 700; color: var(--emerald-dark); }
.lc-cond-chip {
display: inline-flex; align-items: center; padding: 4px 12px; border-radius: 999px;
font-size: 12.5px; font-weight: 700; background: var(--pink-light); color: var(--pink-dark);
}
.lc-cond-chip--all { background: var(--emerald-light); color: var(--emerald-dark); }
.lc-list-bar__reset { font-size: 12px; color: var(--muted); text-decoration: underline; }
.lc-view-toggle { display: flex; align-items: center; gap: 6px; }
.lc-view-toggle__label { font-size: 12px; color: var(--muted); font-weight: 700; }
.lc-view-toggle__btn {
padding: 6px 16px; border-radius: 999px; border: 1px solid var(--line);
font-size: 12.5px; font-weight: 700; color: var(--muted); background: #fff;
}
.lc-view-toggle__btn.is-active { background: var(--pink); border-color: var(--pink); color: #fff; }

.lc-cast-list { display: flex; flex-direction: column; gap: 12px; }
.lc-cast-row {
display: grid; grid-template-columns: 120px 1fr 160px; gap: 16px; align-items: center;
background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 12px;
box-shadow: var(--shadow); transition: .18s;
}
.lc-cast-row:hover { box-shadow: var(--shadow-hover); }
.lc-cast-row__photo { position: relative; display: block; aspect-ratio: 3 / 4; border-radius: 8px; overflow: hidden; background: var(--bg); }
.lc-cast-row__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lc-cast-row__today {
position: absolute; left: 0; bottom: 0; width: 100%; text-align: center;
background: rgba(255,79,136,.92); color: #fff; font-size: 10.5px; font-weight: 700; padding: 3px 0;
}
@media (min-width:1001px){ .lc-cast-row__today{ background: rgba(255,79,136,.55); } }
.lc-cast-row__name { margin: 0; font-size: 17px; font-weight: 800; }
.lc-cast-row__name a { color: var(--pink); }
.lc-cast-row__name span { font-size: 13px; color: var(--muted); font-weight: 500; margin-left: 6px; }
.lc-cast-row__size { margin: 4px 0 0; font-size: 12.5px; color: var(--muted); font-weight: 700; letter-spacing: .02em; }
.lc-cast-row__tags { margin: 7px 0 0; display: flex; gap: 6px; flex-wrap: wrap; }
.lc-cast-row__avail { margin: 6px 0 0; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.lc-cast-row__avail-label { font-size: 11px; font-weight: 700; color: #9a9a9a; white-space: nowrap; }
.lc-cast-row__avail .lc-tag { padding: 3px 9px; font-size: 11px; }
.lc-cast-row__avail .lc-tag--course { background: #e9f3ff; color: #2f7fd1; }
.lc-cast-row__avail .lc-tag--option { background: #fff2e0; color: #c98226; }
.lc-cast-row__avail .lc-tag--more { background: #f0f0f0; color: #888; font-weight: 700; }
.lc-cast-row__body { display: flex; align-items: flex-start; gap: 24px; min-width: 0; }
.lc-cast-row__info { flex: 0 0 auto; width: 220px; min-width: 0; }
.lc-cast-row__availwrap { flex: 1 1 auto; display: flex; flex-direction: column; gap: 6px; justify-content: center; min-width: 0; }
.lc-cast-row__availwrap .lc-cast-row__avail { margin: 0; }
.lc-cast-row__catch { margin: 7px 0 0; font-size: 13px; color: var(--ink); line-height: 1.6; }
.lc-cast-row__side { display: flex; flex-direction: column; gap: 7px; }
@media (max-width: 768px) {
.lc-cast-row { grid-template-columns: 90px 1fr; }
.lc-cast-row__body { flex-direction: column; gap: 4px; }
.lc-cast-row__info { width: auto; }
.lc-cast-row__side { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; }
.lc-cast-row__side .lc-btn { flex: 1 1 auto; }
.lc-list-bar { flex-direction: column; align-items: stretch; }
.lc-view-toggle { justify-content: flex-end; }
}

/* ===== プロフィール：対応コース／オプション ===== */
.lc-profile__block{margin-top:24px}
.lc-profile__block-title{display:flex;align-items:center;gap:6px;font-size:16px;font-weight:700;color:#5b4a45;margin:0 0 10px;padding-bottom:6px;border-bottom:2px solid #ffe3ee}
.lc-profile__block-title svg{width:18px;height:18px}
.lc-profile__block-count{margin-left:auto;font-size:12px;font-weight:600;color:#a08e88}
.lc-avail-list{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.lc-avail{display:inline-block;padding:4px 10px;border-radius:999px;background:#f6f4f2;border:1px solid #e8e2de;font-size:12px;color:#6b5c57;line-height:1.5}
.lc-avail--course{background:#fff0f6;border-color:#ffc9de;color:#d4568c;font-weight:600}

/* ===== プロフィール：動画 ===== */
.lc-movie-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lc-movie-card{background:#fff;border:1px solid #f0e8e4;border-radius:14px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.lc-movie-card__player{position:relative;aspect-ratio:16/9;background:#241f1e}
.lc-movie-card__player video,.lc-movie-card__player iframe{width:100%;height:100%;display:block;object-fit:cover;border:0}
.lc-movie-card__link{display:flex;align-items:center;justify-content:center;height:100%;color:#fff;font-size:13px;text-decoration:none}
.lc-movie-card__meta{display:flex;flex-direction:column;gap:2px;padding:10px 12px;margin:0}
.lc-movie-card__date{font-size:11px;color:#a08e88}
.lc-movie-card__title{font-size:13px;font-weight:600;color:#5b4a45;text-decoration:none;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.lc-profile__more{margin:16px 0 0;text-align:center}
@media(max-width:900px){.lc-movie-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.lc-movie-grid{grid-template-columns:1fr}}

/* ============================================================
   ホテル一覧（2026-08 リニューアル / hotel_pc カンプ準拠）
   ============================================================ */
.lc-hotel-intro { margin-top: 22px; display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; background: linear-gradient(135deg, #fff7fa 0%, #f4fbf7 100%); border: 1px solid var(--line); border-radius: var(--radius-card); padding: 18px 20px; }
.lc-hotel-intro__lead { margin: 0; font-size: 14px; line-height: 1.9; color: var(--ink); }
.lc-hotel-intro__badges { display: flex; gap: 10px; flex-wrap: wrap; }
.lc-hotel-badge { display: flex; flex-direction: column; gap: 2px; padding: 10px 16px; border-radius: 12px; background: #fff; border: 2px solid var(--emerald); min-width: 190px; }
.lc-hotel-badge--ticket { border-color: var(--pink); }
.lc-hotel-badge__ttl { font-size: 14px; font-weight: 800; color: var(--emerald-dark); }
.lc-hotel-badge--ticket .lc-hotel-badge__ttl { color: var(--pink-dark); }
.lc-hotel-badge__sub { font-size: 11.5px; color: var(--muted); line-height: 1.5; }

.lc-hotel-legend { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 14px; font-size: 12.5px; color: var(--muted); }
.lc-hotel-legend__item { display: inline-flex; align-items: center; gap: 6px; }
.lc-hotel-legend__link { color: var(--pink-dark); font-weight: 800; text-decoration: underline; }

.lc-ticket-mark { display: inline-block; margin-left: 6px; padding: 2px 8px; border-radius: 999px; background: var(--pink); color: #fff; font-size: 10.5px; font-weight: 800; letter-spacing: .02em; vertical-align: middle; white-space: nowrap; }

.lc-hotel-block { margin-top: 26px; background: #fff; border-radius: var(--radius-card); border: 1px solid var(--line); box-shadow: var(--shadow); overflow: hidden; }
.lc-hotel-block__title { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; font-size: 18px; margin: 0; padding: 14px 18px; background: #fff9fb; border-bottom: 1px solid var(--line); }
.lc-hotel-block__name { font-weight: 800; }
.lc-hotel-block__count { font-size: 12px; font-weight: 700; color: var(--muted); background: #f4f4f6; padding: 3px 10px; border-radius: 999px; }
.lc-hotel-block__cost { margin-left: auto; font-size: 12.5px; color: var(--muted); font-weight: 600; }
.lc-hotel-block__cost strong { font-size: 15px; color: var(--pink-dark); margin-left: 4px; }
.lc-hotel-block .lc-hotel-table-wrap { border: 0; border-radius: 0; box-shadow: none; }
.lc-hotel-table__th-name { width: 30%; }
.lc-hotel-table__th-tel { width: 18%; }
.lc-hotel-table__th-cost { width: 15%; }
.lc-hotel-table tbody tr:hover { background: #fffafc; }
.lc-hotel-table tbody tr:last-child td { border-bottom: 0; }
.lc-hotel-link { font-weight: 800; color: var(--pink-dark); text-decoration: none; border-bottom: 1px dotted var(--pink); }
.lc-hotel-link:hover { color: var(--pink); border-bottom-style: solid; }
.lc-hotel-link__ext { font-size: 10px; margin-left: 3px; opacity: .75; }
.lc-hotel-nolink { font-weight: 800; color: var(--ink); }
.lc-hotel-table__addr { color: var(--muted); }
.lc-hotel-table__tel a { color: var(--ink); text-decoration: none; }
.lc-hotel-table__tel a:hover { color: var(--pink-dark); }
.lc-hotel-table__cost { font-weight: 800; color: var(--pink-dark); white-space: nowrap; }

.lc-hotel-block--gray .lc-hotel-block__num { background: #7b8391; } .lc-hotel-block--gray th { background: #eef0f3; color: #4d5563; }
.lc-hotel-block--pink .lc-hotel-block__title { background: #fff5f9; }
.lc-hotel-block--rose .lc-hotel-block__title { background: #fff4f8; }
.lc-hotel-block--orange .lc-hotel-block__title { background: #fff8f1; }
.lc-hotel-block--yellow .lc-hotel-block__title { background: #fffcf0; }
.lc-hotel-block--gray .lc-hotel-block__title { background: #f7f8fa; }
.lc-hotel-block--blue .lc-hotel-block__title { background: #f3f8ff; }
.lc-hotel-block--lavender .lc-hotel-block__title { background: #f8f5ff; }
.lc-hotel-block--purple .lc-hotel-block__title { background: #fdf4ff; }
.lc-hotel-block--green .lc-hotel-block__title { background: #f2fbf6; }

.lc-hotel-note-panel { margin-top: 30px; background: #f9fafb; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 18px 22px; }
.lc-hotel-note-panel__ttl { margin: 0 0 10px; font-size: 16px; color: var(--emerald-dark); }
.lc-hotel-note-panel__list { margin: 0; padding-left: 1.2em; font-size: 13px; line-height: 1.95; color: var(--muted); }
.lc-hotel-note-panel__list li + li { margin-top: 4px; }

.lc-hotel-cta { margin: 32px 0 10px; text-align: center; background: linear-gradient(135deg, #fff0f6 0%, #eefaf3 100%); border-radius: var(--radius-card); padding: 24px 20px; }
.lc-hotel-cta__txt { margin: 0 0 16px; font-size: 14px; font-weight: 700; }
.lc-hotel-cta__btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.lc-hotel-cta__btns .lc-btn { min-width: 210px; padding: 12px 24px; font-size: 18px; font-weight: 800; }
.lc-hotel-cta__btns .lc-btn small { font-size: 11px; font-weight: 600; opacity: .9; }
.lc-btn--tel { background: #fff; color: var(--pink-dark) !important; border: 2px solid var(--pink); border-radius: 999px; text-decoration: none; }
.lc-btn--tel:hover { background: var(--pink-light); }
.lc-btn--primary { background: var(--pink); color: #fff !important; border-radius: 999px; }
.lc-btn--primary:hover { background: var(--pink-dark); }

@media (max-width: 900px) {
.lc-hotel-intro { grid-template-columns: 1fr; }
.lc-hotel-badge { min-width: 0; flex: 1 1 45%; }
}
@media (max-width: 600px) {
.lc-hotel-block__title { font-size: 16px; padding: 12px 14px; }
.lc-hotel-block__cost { margin-left: 0; width: 100%; }
.lc-hotel-table { min-width: 560px; font-size: 12.5px; }
.lc-hotel-cta__btns .lc-btn { width: 100%; min-width: 0; }
}

/* ============================================================
   コスプレ一覧（2026-08 リニューアル / cosplay_pc カンプ準拠）
   ============================================================ */
.lc-cos-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-top: 20px; }
.lc-cos-head__lead { margin: 0; font-size: 14px; font-weight: 700; }
.lc-cos-head__note { margin: 6px 0 0; font-size: 12.5px; color: var(--muted); }
.lc-cos-hard-tag { display: inline-block; padding: 2px 9px; border-radius: 4px; background: #e0392f; color: #fff; font-size: 11px; font-weight: 800; }

.lc-cos-search { display: flex; align-items: stretch; gap: 0; border: 2px solid var(--emerald); border-radius: 999px; overflow: hidden; background: #fff; }
.lc-cos-search input { border: 0; outline: none; padding: 9px 18px; font-size: 13.5px; min-width: 220px; font-family: inherit; }
.lc-cos-search__btn { display: inline-flex; align-items: center; gap: 5px; border: 0; background: var(--emerald); color: #fff; padding: 0 20px; font-size: 13.5px; font-weight: 700; cursor: pointer; font-family: inherit; }
.lc-cos-search__btn:hover { background: var(--emerald-dark); }
.lc-cos-search__btn svg { width: 16px; height: 16px; }

.lc-cos-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.lc-cos-tab { display: inline-flex; align-items: center; gap: 5px; padding: 7px 16px; border-radius: 999px; background: #f4f5f7; color: var(--ink); font-size: 13px; font-weight: 700; text-decoration: none; transition: .15s; }
.lc-cos-tab span { font-size: 10.5px; font-weight: 700; color: var(--muted); background: #fff; padding: 1px 6px; border-radius: 999px; }
.lc-cos-tab:hover { background: var(--emerald-light); color: var(--emerald-dark); opacity: 1; }
.lc-cos-tab.is-active { background: var(--emerald); color: #fff; }
.lc-cos-tab.is-active span { color: var(--emerald-dark); }

.lc-cos-bar { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin: 18px 0 14px; padding-bottom: 12px; border-bottom: 1px solid var(--line); }
.lc-cos-bar .lc-result-count { margin: 0; font-size: 13.5px; color: var(--muted); }
.lc-cos-bar .lc-result-count strong { font-size: 17px; color: var(--pink-dark); }
.lc-cos-bar__right { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.lc-cos-sort select { padding: 7px 12px; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; font-family: inherit; background: #fff; }

.lc-cos-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.lc-cos-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); overflow: hidden; box-shadow: var(--shadow); transition: .18s; }
.lc-cos-card:hover { box-shadow: var(--shadow-hover); transform: translateY(-2px); }
.lc-cos-card__photo { display: block; position: relative; aspect-ratio: 3 / 4; background: var(--bg); overflow: hidden; }
.lc-cos-card__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lc-cos-card__crown { position: absolute; top: 8px; left: 8px; padding: 3px 10px; border-radius: 999px; background: linear-gradient(135deg, #ffb03a, #ff7a3a); color: #fff; font-size: 10.5px; font-weight: 800; box-shadow: 0 2px 6px rgba(0,0,0,.18); }
.lc-cos-card__crown--pop { background: linear-gradient(135deg, #ff6fa0, #ff4f88); }
.lc-cos-card__new { position: absolute; top: 8px; right: 8px; padding: 3px 10px; border-radius: 999px; background: var(--emerald); color: #fff; font-size: 10.5px; font-weight: 800; }
.lc-cos-card__hard { position: absolute; bottom: 8px; right: 8px; padding: 3px 10px; border-radius: 4px; background: #e0392f; color: #fff; font-size: 11px; font-weight: 800; box-shadow: 0 2px 6px rgba(0,0,0,.22); }
.lc-cos-card__body { padding: 10px 12px 12px; }
.lc-cos-card__name { margin: 0; font-size: 14px; font-weight: 800; line-height: 1.4; }
.lc-cos-card__cat { margin: 4px 0 0; font-size: 11px; color: var(--muted); }
.lc-cos-card--hard { border-color: #f3c6c3; }

.lc-cos-list { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: var(--shadow); }
.lc-cos-table { width: 100%; min-width: 520px; border-collapse: collapse; background: #fff; font-size: 13.5px; }
.lc-cos-table th { background: var(--emerald-light); color: var(--emerald-dark); padding: 10px 14px; text-align: left; font-size: 12.5px; }
.lc-cos-table td { padding: 10px 14px; border-bottom: 1px solid var(--line); }
.lc-cos-table tbody tr:last-child td { border-bottom: 0; }
.lc-cos-table tbody tr:hover { background: #fafffc; }
.lc-cos-table__name { font-weight: 800; }
.lc-cos-table__newtag { margin-left: 6px; padding: 1px 7px; border-radius: 999px; background: var(--emerald); color: #fff; font-size: 10px; font-weight: 800; }
.lc-cos-table__price { white-space: nowrap; font-weight: 700; color: var(--muted); }

.lc-cos-info { margin-top: 36px; background: #f9fafb; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 22px; }
.lc-cos-info__ttl { margin: 0 0 14px; font-size: 17px; color: var(--emerald-dark); }
.lc-cos-info__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.lc-cos-info__item p { margin: 0; font-size: 13px; line-height: 1.85; color: var(--muted); }
.lc-cos-info__h { font-size: 14px !important; font-weight: 800; color: var(--pink-dark) !important; margin-bottom: 5px !important; }
.lc-cos-info__item strong { color: var(--ink); }

@media (max-width: 1024px) { .lc-cos-grid { grid-template-columns: repeat(4, 1fr); } .lc-cos-info__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 768px) {
.lc-cos-grid { grid-template-columns: repeat(3, 1fr); gap: 10px; }
.lc-cos-head { flex-direction: column; align-items: stretch; }
.lc-cos-search { width: 100%; }
.lc-cos-search input { min-width: 0; flex: 1; }
.lc-cos-info__grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px) { .lc-cos-grid { grid-template-columns: repeat(2, 1fr); } }

/* ============================================================
   料金システム（2026-08 全面改修 / price_pc カンプ準拠）
   ============================================================ */
.lc-pricepage { padding-bottom: 40px; }

/* --- 通常コースカード --- */
.lc-pcard { margin-top: 22px; background: #fff; border-radius: var(--radius-card); border: 1px solid var(--line); box-shadow: var(--shadow); padding: 18px; }
.lc-pcard__head { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 16px; }
.lc-pcard__tab { display: inline-block; padding: 9px 26px; border-radius: 8px; background: var(--emerald-dark); color: #fff; font-size: 17px; font-weight: 800; letter-spacing: .04em; }
.lc-pcard__sub { font-size: 13px; color: var(--muted); font-weight: 600; }

.lc-ncourse { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; }
.lc-ncourse__item { position: relative; border: 1px solid var(--line); border-radius: 10px; padding: 14px 8px 12px; text-align: center; background: #fff; }
.lc-ncourse__item.is-top { border: 2px solid var(--pink); background: #fffafc; }
.lc-ncourse__badge { position: absolute; top: -12px; left: -8px; width: 46px; height: 46px; border-radius: 50%; background: var(--pink); color: #fff; font-size: 10px; font-weight: 800; line-height: 1.2; display: flex; align-items: center; justify-content: center; text-align: center; box-shadow: 0 2px 6px rgba(0,0,0,.15); }
.lc-ncourse__mins { margin: 0; font-size: 20px; font-weight: 800; color: var(--emerald-dark); line-height: 1.1; }
.lc-ncourse__mins span { font-size: 12px; margin-left: 1px; }
.lc-ncourse__price { margin: 3px 0 0; font-size: 21px; font-weight: 800; color: var(--pink-dark); line-height: 1.1; letter-spacing: -.01em; }
.lc-ncourse__price span { font-size: 12px; margin-left: 1px; }
.lc-ncourse__sub { margin: 5px 0 0; font-size: 11px; font-weight: 700; color: var(--emerald-dark); }
.lc-ncourse__desc { margin: 7px 0 0; font-size: 10.5px; line-height: 1.65; color: var(--muted); }

.lc-pext { display: flex; align-items: center; justify-content: center; gap: 18px; flex-wrap: wrap; margin-top: 14px; padding: 13px 18px; border: 1px solid var(--line); border-radius: 10px; background: #fcfcfd; }
.lc-pext__label { font-size: 17px; font-weight: 800; }
.lc-pext__price { font-size: 25px; font-weight: 800; color: var(--pink-dark); }
.lc-pext__price span { font-size: 14px; margin-left: 2px; }
.lc-pext__note { margin-left: auto; font-size: 11.5px; color: var(--muted); }

/* --- 特別コース --- */
.lc-spgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 18px; }
.lc-spcard { border-radius: var(--radius-card); border: 1px solid var(--line); padding: 16px 18px 18px; box-shadow: var(--shadow); }
.lc-spcard__ttl { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin: 0 0 12px; font-size: 20px; }
.lc-spcard__name { font-weight: 800; letter-spacing: .02em; }
.lc-spcard__tag { font-size: 11.5px; font-weight: 700; color: var(--muted); background: #fff; padding: 2px 9px; border-radius: 999px; border: 1px solid var(--line); }
.lc-spcard__prices { display: grid; gap: 0; border: 1px solid #fff; border-radius: 10px; overflow: hidden; background: #fff; }
.lc-spcard__prices--3 { grid-template-columns: repeat(3, 1fr); }
.lc-spcard__prices--2 { grid-template-columns: repeat(2, 1fr); }
.lc-spcard__price { padding: 11px 6px; text-align: center; border-right: 1px solid var(--line); }
.lc-spcard__prices > .lc-spcard__price:last-child { border-right: 0; }
.lc-spcard__price .m { display: block; font-size: 13px; font-weight: 800; color: var(--emerald-dark); }
.lc-spcard__price .y { display: block; margin-top: 2px; font-size: 19px; font-weight: 800; color: var(--pink-dark); }
.lc-spcard__price .y small { font-size: 11px; margin-left: 1px; }
.lc-spcard__desc { margin: 12px 0 0; font-size: 12.5px; line-height: 1.8; color: #6a6a72; }

.lc-spcard--pink     { background: #fff5f9; border-color: #f7d6e4; }
.lc-spcard--purple   { background: #faf5ff; border-color: #e3d5f5; }
.lc-spcard--blue     { background: #f4f8ff; border-color: #d3e0f5; }
.lc-spcard--orange   { background: #fffaf2; border-color: #f6e3c6; }
.lc-spcard--green    { background: #f3fbf6; border-color: #cfe9da; }
.lc-spcard--rose     { background: #fff5f7; border-color: #f7d4dc; }
.lc-spcard--pink   .lc-spcard__name { color: #d1477e; }
.lc-spcard--purple .lc-spcard__name { color: #8f5fc4; }
.lc-spcard--blue   .lc-spcard__name { color: #4a76b8; }
.lc-spcard--orange .lc-spcard__name { color: #d18c3a; }
.lc-spcard--green  .lc-spcard__name { color: #4d9b73; }
.lc-spcard--rose   .lc-spcard__name { color: #d1607e; }

/* --- 2カラム（指名料金 / 人気オプション） --- */
.lc-p2col { display: grid; grid-template-columns: 380px 1fr; gap: 16px; margin-top: 18px; align-items: start; }
.lc-pblock { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); box-shadow: var(--shadow); padding: 16px 18px 18px; }
.lc-pblock__ttl { margin: 0 0 14px; font-size: 18px; text-align: center; font-weight: 800; }
.lc-pblock__ttl--icon { display: flex; align-items: center; gap: 8px; text-align: left; }
.lc-pblock__ttl small { font-size: 11px; font-weight: 600; color: var(--muted); margin-left: 4px; }
.lc-pblock__ticon { display: inline-flex; width: 24px; height: 24px; color: var(--emerald); }
.lc-pblock__ticon svg { width: 100%; height: 100%; }
.lc-pblock--shimei { background: #f6f8f7; }
.lc-pblock--shimei .lc-pblock__ttl { color: var(--emerald-dark); }
.lc-pblock--option { background: #fff8fb; border-color: #f7dbe7; }
.lc-pblock--option .lc-pblock__ttl { color: var(--pink-dark); }

.lc-shimei { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.lc-shimei__item { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 11px 14px; }
.lc-shimei__icon { display: inline-flex; width: 22px; height: 22px; flex: 0 0 22px; color: var(--pink); }
.lc-shimei__icon svg { width: 100%; height: 100%; }
.lc-shimei__body { display: flex; flex-direction: column; gap: 1px; flex: 1; min-width: 0; }
.lc-shimei__name { font-size: 14px; font-weight: 800; }
.lc-shimei__desc { font-size: 10.5px; color: var(--muted); line-height: 1.5; }
.lc-shimei__price { font-size: 21px; font-weight: 800; color: var(--pink-dark); white-space: nowrap; }
.lc-shimei__price small { font-size: 12px; margin-left: 1px; }

.lc-popt { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; }
.lc-popt__col { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 7px; }
.lc-popt__item { display: flex; align-items: center; gap: 9px; background: #fff; border: 1px solid #f2e2e9; border-radius: 9px; padding: 9px 12px; }
.lc-popt__icon { display: inline-flex; width: 20px; height: 20px; flex: 0 0 20px; color: var(--pink); }
.lc-popt__icon svg { width: 100%; height: 100%; }
.lc-popt__body { display: flex; flex-direction: column; gap: 1px; flex: 1; min-width: 0; }
.lc-popt__name { font-size: 13px; font-weight: 800; }
.lc-popt__desc { font-size: 10px; color: var(--muted); line-height: 1.45; }
.lc-popt__price { font-size: 15px; font-weight: 800; color: var(--pink-dark); white-space: nowrap; }
.lc-popt__price small { font-size: 10.5px; margin-left: 1px; }
.lc-popt__more { margin: 12px 0 0; text-align: right; font-size: 12px; color: var(--muted); }
.lc-popt__ask { display: inline-block; margin-left: 8px; font-size: 22px; font-weight: 800; color: var(--pink-dark); letter-spacing: .06em; }
.lc-popt__all { margin: 4px 0 0; text-align: right; font-size: 12.5px; }
.lc-popt__all a { color: var(--emerald-dark); font-weight: 700; }

/* --- 交通費 --- */
.lc-pblock--travel { margin-top: 18px; }
.lc-travel { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; }
.lc-travel__item { border: 1px solid var(--line); border-radius: 10px; padding: 12px 6px; text-align: center; background: #fcfdfc; }
.lc-travel__item.is-free { border-color: var(--emerald); background: var(--emerald-light); }
.lc-travel__area { margin: 0; font-size: 12px; font-weight: 700; line-height: 1.5; }
.lc-travel__price { margin: 6px 0 0; font-size: 22px; font-weight: 800; color: var(--pink-dark); line-height: 1; }
.lc-travel__price span { font-size: 12px; margin-left: 1px; }
.lc-travel__item.is-free .lc-travel__price { color: var(--emerald-dark); }

/* --- 前予約割引 --- */
.lc-pblock--discount { margin-top: 18px; background: linear-gradient(135deg, #f6fbf8 0%, #fff7fa 100%); }
.lc-discount { display: grid; grid-template-columns: repeat(3, 1fr) auto; gap: 12px; align-items: center; }
.lc-discount__item { background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 13px 10px; text-align: center; }
.lc-discount__label { margin: 0; font-size: 12.5px; font-weight: 700; color: var(--muted); }
.lc-discount__off { margin: 5px 0 0; font-size: 26px; font-weight: 800; color: var(--pink-dark); line-height: 1; }
.lc-discount__off span { font-size: 13px; margin-left: 2px; }
.lc-discount__bubble { position: relative; background: #fff; border: 2px solid var(--emerald); border-radius: 14px; padding: 12px 18px; font-size: 13px; font-weight: 800; color: var(--emerald-dark); text-align: center; line-height: 1.5; white-space: nowrap; }

/* --- 補足3項目 --- */
.lc-pnotes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 18px; }
.lc-pnote { display: flex; align-items: flex-start; gap: 12px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius-card); padding: 16px 18px; box-shadow: var(--shadow); }
.lc-pnote__icon { display: inline-flex; width: 30px; height: 30px; flex: 0 0 30px; color: var(--emerald); }
.lc-pnote__icon svg { width: 100%; height: 100%; }
.lc-pnote__ttl { margin: 0; font-size: 14px; font-weight: 800; }
.lc-pnote__txt { margin: 4px 0 0; font-size: 12px; line-height: 1.7; color: var(--muted); }

/* --- 全オプション --- */
.lc-pblock--alloption { margin-top: 22px; }
.lc-alloption { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; }
.lc-alloption__item { display: flex; align-items: center; justify-content: space-between; gap: 8px; border: 1px solid var(--line); border-radius: 8px; padding: 8px 11px; background: #fcfcfd; font-size: 12.5px; }
.lc-alloption__item.is-featured { border-color: var(--pink); background: #fff8fb; }
.lc-alloption__name { font-weight: 700; }
.lc-alloption__name em { display: inline-block; margin-left: 5px; padding: 1px 6px; border-radius: 999px; background: var(--pink); color: #fff; font-size: 9.5px; font-style: normal; font-weight: 800; }
.lc-alloption__price { font-weight: 800; color: var(--pink-dark); white-space: nowrap; }

/* --- CTA --- */
.lc-pcta { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 26px; }
.lc-pcta__btn { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; padding: 15px 12px; border-radius: 12px; text-decoration: none; box-shadow: var(--shadow); transition: .16s; }
.lc-pcta__btn:hover { transform: translateY(-2px); box-shadow: var(--shadow-hover); opacity: 1; }
.lc-pcta__lbl { font-size: 11.5px; font-weight: 700; opacity: .95; }
.lc-pcta__num { font-size: 21px; font-weight: 800; letter-spacing: .01em; }
.lc-pcta__sub { font-size: 11px; font-weight: 600; opacity: .95; }
.lc-pcta__btn--tel { background: #fff; border: 2px solid var(--pink); color: var(--pink-dark); }
.lc-pcta__btn--web { background: var(--pink); color: #fff; }
.lc-pcta__btn--line { background: var(--emerald-dark); color: #fff; }

@media (max-width: 1024px) {
.lc-ncourse { grid-template-columns: repeat(4, 1fr); }
.lc-p2col { grid-template-columns: 1fr; }
.lc-travel { grid-template-columns: repeat(3, 1fr); }
.lc-alloption { grid-template-columns: repeat(3, 1fr); }
.lc-discount { grid-template-columns: repeat(3, 1fr); }
.lc-discount__bubble { grid-column: 1 / -1; }
}
@media (max-width: 768px) {
.lc-spgrid { grid-template-columns: 1fr; }
.lc-pnotes { grid-template-columns: 1fr; }
.lc-alloption { grid-template-columns: 1fr 1fr; }
.lc-pcta { grid-template-columns: 1fr; }
.lc-popt { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
.lc-ncourse { grid-template-columns: repeat(2, 1fr); gap: 7px; }
.lc-ncourse__badge { width: 40px; height: 40px; font-size: 9px; top: -10px; left: -6px; }
.lc-travel { grid-template-columns: repeat(2, 1fr); }
.lc-discount { grid-template-columns: 1fr; }
.lc-pext { flex-direction: column; gap: 6px; }
.lc-pext__note { margin-left: 0; }
.lc-pcard { padding: 14px; }
}

/* ===== ロゴ実画像対応（Phase7） ===== */
.lc-gate__logo-img{display:block;margin:0 auto;width:min(320px,72vw);height:auto}
.lc-gate__brand-ja--img{margin-top:2px;font-size:13px;letter-spacing:.18em;color:#8a8f98}
.lc-footer__logo--img{margin:0 0 10px}
.lc-footer__logo--img img{display:block;width:180px;height:auto;filter:brightness(0) invert(1) opacity(.92)}
@media (max-width:767px){
.lc-footer__logo--img img{width:150px;margin:0 auto}
.lc-footer__logo--img{text-align:center}
}

/* =====================================================
 * 求人サイト（rc-）共通：ヘッダー／フッター／CTA
 * カンプ: cast_requirements / staff / faq
 * ===================================================== */
.rc-body{--rc-pink:#ea5c8f;--rc-pink-d:#d64b7e;--rc-pink-l:#fdeef4;--rc-mint:#3fb3a4;--rc-mint-l:#e8f7f4;--rc-purple:#8b6bc7;--rc-purple-l:#f2eefb;--rc-blue:#4a90c4;--rc-blue-l:#eaf3fa;--rc-orange:#e8913c;--rc-orange-l:#fdf2e5;--rc-rose:#e0658a;--rc-rose-l:#fdeff3;--rc-navy:#123a5c;--rc-teal:#12756e;--rc-teal-l:#e6f4f2;--rc-green:#3f9b6d;--rc-ink:#3c3540;--rc-gray:#7d7580;--rc-line:#ecdfe6;background:#fff;color:var(--rc-ink)}
.rc-body--staff{--rc-ink:#20303c;--rc-gray:#65798a;--rc-line:#dde6ec}
.rc-container{width:min(1140px,100% - 32px);margin-inline:auto}
.rc-main{display:block}

/* ---- ヘッダー ---- */
.rc-header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--rc-line)}
.rc-header__inner{width:min(1180px,100% - 24px);margin-inline:auto;display:flex;align-items:center;gap:18px;min-height:66px}
.rc-logo{display:flex;align-items:center;gap:9px;text-decoration:none;color:inherit;flex:0 0 auto}
.rc-logo__img{width:38px;height:auto;display:block}
.rc-logo__clover{width:34px;height:34px;color:var(--rc-mint);display:grid;place-items:center}
.rc-logo__clover svg{width:100%;height:100%}
.rc-logo__text{display:flex;flex-direction:column;line-height:1.15}
.rc-logo__en{font-size:1.18rem;font-weight:800;letter-spacing:.04em;color:var(--rc-mint)}
.rc-body--staff .rc-logo__en{color:var(--rc-navy)}
.rc-logo__ja{font-size:.62rem;color:var(--rc-gray);letter-spacing:.14em}
.rc-gnav{margin-inline:auto}
.rc-gnav__list{display:flex;gap:22px;list-style:none;margin:0;padding:0}
.rc-gnav__item a{text-decoration:none;color:var(--rc-ink);font-size:.9rem;font-weight:600;padding:6px 0;display:block;position:relative}
.rc-gnav__item a:hover{color:var(--rc-mint)}
.rc-gnav__item.is-active a{color:var(--rc-mint)}
.rc-gnav__item.is-active a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px;background:var(--rc-mint)}
.rc-body--staff .rc-gnav__item.is-active a,.rc-body--staff .rc-gnav__item a:hover{color:var(--rc-teal)}
.rc-body--staff .rc-gnav__item.is-active a::after{background:var(--rc-teal)}
.rc-header__btns{display:flex;gap:10px;flex:0 0 auto;margin-left:auto}
.rc-hbtn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:170px;height:60px;border-radius:12px;text-decoration:none;color:#fff;font-size:.8rem;font-weight:700;line-height:1.2;text-align:center}
.rc-hbtn svg{width:17px;height:17px}
.rc-hbtn--line .lc-ctaic--line{width:24px;height:24px;color:#fff;--lc-ctaic-knock:#06c755}
.rc-hbtn__badge{font-size:.62rem;font-weight:800;letter-spacing:.02em}
.rc-hbtn__note{font-size:.5rem;opacity:.9}
.rc-hbtn--line{background:#06c755}
.rc-hbtn--form{background:var(--rc-pink)}
.rc-hbtn--tel{background:#2f7fb8}
.rc-body--staff .rc-hbtn--tel{background:var(--rc-navy)}
.rc-hamburger{display:none;flex-direction:column;align-items:center;gap:1px;border:0;background:none;color:var(--rc-ink);font-size:.56rem;font-weight:700;cursor:pointer;padding:4px}
.rc-hamburger svg{width:26px;height:26px}

/* ---- ドロワー ---- */
.rc-drawer{position:fixed;inset:0;z-index:220;background:rgba(10,7,10,.96);display:grid;place-items:start end}
.rc-drawer[hidden]{display:none}
.rc-drawer__inner{width:min(320px,86vw);height:100%;background:#fff;padding:20px 18px 28px;overflow-y:auto;position:relative}
.rc-drawer__close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:1.7rem;line-height:1;color:var(--rc-gray);cursor:pointer}
.rc-drawer__list{list-style:none;margin:34px 0 20px;padding:0}
.rc-drawer__list li+li{border-top:1px solid var(--rc-line)}
.rc-drawer__list a{display:block;padding:13px 4px;text-decoration:none;color:var(--rc-ink);font-weight:600;font-size:.94rem}
.rc-drawer__ctas{display:grid;gap:8px}
.rc-drawer__cta{display:block;text-align:center;padding:13px;border-radius:12px;text-decoration:none;color:#fff;font-weight:700;font-size:.9rem}
.rc-drawer__cta--line{background:#06c755}
.rc-drawer__cta--form{background:var(--rc-pink)}
.rc-drawer__cta--tel{background:#2f7fb8}

/* ---- 下部CTA ---- */
.rc-cta{margin-top:60px;padding:38px 0 46px;background:linear-gradient(180deg,#fff 0%,var(--rc-pink-l) 100%)}
.rc-body--staff .rc-cta{background:linear-gradient(180deg,#fff 0%,var(--rc-teal-l) 100%)}
.rc-cta__lead{text-align:center;font-size:clamp(1.06rem,2.6vw,1.42rem);font-weight:800;color:var(--rc-pink);margin:0 0 20px}
.rc-body--staff .rc-cta__lead{color:var(--rc-navy)}
.rc-cta__slash{color:var(--rc-mint);margin-inline:8px}
.rc-body--staff .rc-cta__slash{color:var(--rc-teal)}
.rc-cta__btns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rc-cta-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 14px;border-radius:14px;text-decoration:none;color:#fff;box-shadow:0 6px 16px rgba(80,50,70,.16);transition:transform .15s}
.rc-cta-btn:hover{transform:translateY(-2px)}
.rc-cta-btn__ic{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center;flex:0 0 auto}
.rc-cta-btn__ic svg{width:22px;height:22px}
.rc-cta-btn__body{display:flex;flex-direction:column;line-height:1.35}
.rc-cta-btn__body strong{font-size:1rem;font-weight:800}
.rc-cta-btn__body small{font-size:.7rem;opacity:.95}
.rc-cta-btn__lead{font-size:.76rem!important;font-weight:700}
.rc-cta-btn__tel{font-size:1.42rem!important;letter-spacing:.02em}
.rc-cta-btn--line{background:#06c755}
.rc-cta-btn--form{background:linear-gradient(135deg,#ef5f92,#e0447c)}
.rc-cta-btn--tel{background:linear-gradient(135deg,#3d8dc6,#2a6d9e)}
.rc-cta__btns--staff .rc-cta-btn--tel{background:linear-gradient(135deg,#1a4e77,#0f3454)}
.rc-cta__notes{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin:16px 0 0;font-size:.72rem;color:var(--rc-gray)}

/* ---- フッター ---- */
.rc-footer{background:#fff;border-top:1px solid var(--rc-line);padding:30px 0 0}
.rc-footer__inner{display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:start}
.rc-footer__brand{display:flex;align-items:center;gap:10px}
.rc-footer__brand img{width:40px;height:auto}
.rc-footer__en{margin:0;font-weight:800;color:var(--rc-mint);letter-spacing:.04em}
.rc-body--staff .rc-footer__en{color:var(--rc-navy)}
.rc-footer__ja{margin:0;font-size:.66rem;color:var(--rc-gray);letter-spacing:.12em}
.rc-footer__nav ul{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;margin:0;padding:0}
.rc-footer__nav a{text-decoration:none;color:var(--rc-gray);font-size:.82rem}
.rc-footer__nav a:hover{color:var(--rc-pink)}
.rc-footer__info{font-size:.76rem;color:var(--rc-gray);text-align:right}
.rc-footer__info p{margin:0 0 3px}
.rc-footer__info a{color:var(--rc-pink);font-weight:700;text-decoration:none}
.rc-footer__copy{margin:24px 0 0;padding:14px 0;text-align:center;font-size:.7rem;color:#fff;background:var(--rc-mint)}
.rc-body--staff .rc-footer__copy{background:var(--rc-navy)}

/* ---- スマホ固定バー ---- */
.rc-sp-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;grid-template-columns:repeat(3,1fr);box-shadow:0 -3px 12px rgba(60,40,55,.16)}
.rc-sp-bar__item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:9px 4px;text-decoration:none;color:#fff;font-size:.66rem;font-weight:700}
.rc-sp-bar__item svg{width:19px;height:19px}
.rc-sp-bar__item--line{background:#06c755}
.rc-sp-bar__item--form{background:var(--rc-pink)}
.rc-sp-bar__item--tel{background:#2f7fb8}
.rc-sp-bar--staff .rc-sp-bar__item--tel{background:var(--rc-navy)}

/* =====================================================
 * 求人：女性キャスト募集要項（rc-page--cast）
 * ===================================================== */
.rc-page{padding-bottom:8px}
.rc-hero{position:relative;overflow:hidden;padding:34px 0 30px;background:linear-gradient(120deg,#fdf1f6 0%,#fce8f1 45%,#f6f0fb 100%)}
.rc-hero--cast::after{content:"";position:absolute;right:0;top:0;bottom:0;width:46%;background-image:var(--rc-hero-img,none);background-size:cover;background-position:center 22%;opacity:.95;-webkit-mask-image:linear-gradient(90deg,transparent,#000 22%);mask-image:linear-gradient(90deg,transparent,#000 22%)}
.rc-hero__petals{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 12% 18%,rgba(238,140,180,.28) 0 5px,transparent 6px),radial-gradient(circle at 32% 8%,rgba(255,190,215,.34) 0 4px,transparent 5px),radial-gradient(circle at 8% 62%,rgba(120,205,190,.24) 0 5px,transparent 6px),radial-gradient(circle at 46% 74%,rgba(255,200,220,.3) 0 4px,transparent 5px)}
.rc-hero__inner{position:relative;z-index:2;display:flex;align-items:center;gap:20px}
.rc-hero__body{max-width:600px}
.rc-hero__lead{display:inline-block;margin:0 0 12px;font-size:clamp(.86rem,2vw,1.06rem);font-weight:700;color:var(--rc-teal);letter-spacing:.02em}
.rc-hero__lead span{color:#d9b25e;margin-inline:4px;font-weight:800}
.rc-hero__title{margin:0 0 14px;line-height:1.06;font-weight:900;letter-spacing:.03em;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.rc-hero__title-pink{font-size:clamp(2.5rem,7vw,4.3rem);color:var(--rc-pink);text-shadow:2px 2px 0 #fff,-2px 2px 0 #fff,2px -2px 0 #fff,-2px -2px 0 #fff,0 5px 12px rgba(200,110,150,.28)}
.rc-hero__title-mint{font-size:clamp(2.1rem,6vw,3.6rem);color:var(--rc-mint);letter-spacing:.16em;padding:5px 22px;border:3px solid var(--rc-mint);border-radius:8px;background:rgba(255,255,255,.7);text-shadow:1px 1px 0 #fff}
.rc-hero__ribbon{display:inline-block;margin:0;padding:9px 30px;font-size:clamp(.86rem,2.1vw,1.06rem);font-weight:700;color:#fff;background:linear-gradient(135deg,#f083ab,#e8608f);border-radius:999px;box-shadow:0 4px 12px rgba(224,90,135,.3)}
.rc-hero__badge{flex:0 0 auto;margin:0 0 0 auto;width:132px;height:132px;display:grid;place-content:center;text-align:center;font-size:.94rem;font-weight:900;line-height:1.34;color:#fff;background:radial-gradient(circle at 34% 30%,#f2698f,#dd3d6c);transform:rotate(7deg);box-shadow:0 8px 20px rgba(210,60,105,.32);clip-path:path("M66 132C66 132 6 92 6 50C6 24 26 8 44 8C56 8 64 15 66 22C68 15 76 8 88 8C106 8 126 24 126 50C126 92 66 132 66 132Z")}
.rc-hero__badge--round{clip-path:none;border-radius:50%;transform:none;width:146px;height:146px;font-size:.82rem;background:radial-gradient(circle at 34% 30%,#f4739a,#e2497a)}
.rc-hero__desc{margin:14px 0 0;font-size:clamp(.88rem,2vw,1.02rem);line-height:1.85;color:var(--rc-ink)}
.rc-hero__line{color:#06c755;font-weight:800}
.rc-hero__title--faq,.rc-hero__title--simple{align-items:flex-start;gap:2px}
.rc-hero__title-en{font-size:clamp(.9rem,2vw,1.18rem);font-weight:700;letter-spacing:.42em;color:var(--rc-mint);padding-left:.4em;border-top:1px solid rgba(63,179,164,.4);padding-top:6px;margin-top:2px}
.rc-hero--simple{padding:30px 0 26px;text-align:center}
.rc-hero--simple .rc-hero__title{align-items:center}
.rc-hero--simple .rc-hero__desc{text-align:center}
.rc-hero--faq{padding-bottom:26px}

/* ---- 4つの特長カード ---- */
.rc-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:-16px 0 0;position:relative;z-index:5}
.rc-feat{display:flex;align-items:flex-start;gap:11px;padding:15px 14px;background:#fff;border-radius:14px;box-shadow:0 4px 14px rgba(190,140,170,.16)}
.rc-feat__ic{flex:0 0 auto;width:42px;height:42px;border-radius:12px;display:grid;place-items:center}
.rc-feat__ic svg{width:23px;height:23px}
.rc-feat--pink{border:1px solid #f7d9e6}
.rc-feat--pink .rc-feat__ic{background:var(--rc-pink-l);color:var(--rc-pink)}
.rc-feat--pink .rc-feat__title{color:var(--rc-pink)}
.rc-feat--mint{border:1px solid #cfeae5}
.rc-feat--mint .rc-feat__ic{background:var(--rc-mint-l);color:var(--rc-mint)}
.rc-feat--mint .rc-feat__title{color:var(--rc-mint)}
.rc-feat__title{margin:0 0 4px;font-size:1rem;font-weight:800}
.rc-feat__line{margin:0;font-size:.76rem;line-height:1.5;color:var(--rc-gray)}

/* ---- セクション見出し ---- */
.rc-sec{margin-top:44px}
.rc-sec__title{margin:0 0 20px;text-align:center;font-size:clamp(1.06rem,2.5vw,1.32rem);font-weight:800;color:#fff;position:relative}
.rc-sec__title span{display:block;padding:11px 20px;border-radius:999px;position:relative}
.rc-sec__title--pink span{background:linear-gradient(135deg,#f4a0c0,#e8608f)}
.rc-sec__title--mint span{background:linear-gradient(135deg,#7fd0c3,#35a99a)}
.rc-sec__title--purple span{background:linear-gradient(135deg,#b39ada,#8b6bc7)}
.rc-sec__title--teal span{background:linear-gradient(135deg,#2f9d93,#0f6b64)}
.rc-sec__title--line{color:var(--rc-navy);font-size:clamp(1.02rem,2.4vw,1.28rem)}
.rc-sec__title--clover{color:var(--rc-teal);display:flex;align-items:center;justify-content:center;gap:12px}
.rc-sec__clover{width:24px;height:24px;color:var(--rc-mint)}
.rc-sec__clover svg{width:100%;height:100%}

/* ---- 募集要項一覧 ---- */
.rc-reqs{border:1px solid #f4dde8;border-radius:16px;overflow:hidden;background:#fff}
.rc-req{display:grid;grid-template-columns:186px 1fr}
.rc-req+.rc-req{border-top:1px solid #f7e6ee}
.rc-req__head{display:flex;align-items:center;gap:9px;padding:16px 14px;background:var(--rc-pink-l)}
.rc-req__ic{width:30px;height:30px;flex:0 0 auto;color:var(--rc-pink);display:grid;place-items:center}
.rc-req__ic svg{width:100%;height:100%}
.rc-req__label{font-size:.95rem;font-weight:800;color:var(--rc-pink-d)}
.rc-req__body{padding:16px 20px;font-size:.88rem;line-height:1.8}
.rc-req__body p{margin:0}
.rc-req__body strong{color:var(--rc-pink-d)}
.rc-req__pay{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:0!important}
.rc-req__pay-unit{font-size:1.1rem;font-weight:800;color:var(--rc-pink)}
.rc-req__pay-num{font-size:clamp(2rem,4.6vw,2.7rem);font-weight:900;color:var(--rc-pink);line-height:1}
.rc-req__pay-yen{font-size:1.1rem;font-weight:800;color:var(--rc-pink)}
.rc-req__pay-note{font-size:.74rem;color:var(--rc-gray);margin-left:4px}
.rc-req__pay-tag{margin-left:auto;font-size:.74rem;font-weight:700;color:var(--rc-pink-d);padding:5px 12px;border:1.5px solid #f3bcd2;border-radius:999px;background:#fff8fb;white-space:nowrap}
.rc-req__welfare{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px}
.rc-req__welfare li{display:flex;align-items:flex-start;gap:7px;font-size:.86rem}
.rc-req__check{flex:0 0 auto;width:17px;height:17px;color:var(--rc-pink);margin-top:2px}
.rc-req__check svg{width:100%;height:100%;stroke-width:2.6}

/* ---- こんな方を歓迎します ---- */
.rc-welcomes{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.rc-welcome{text-align:center}
.rc-welcome__circle{display:grid;place-items:center;width:88px;height:88px;margin:0 auto 10px;border-radius:50%;background:linear-gradient(135deg,#fde9f1,#f9d7e6);color:var(--rc-pink);box-shadow:0 4px 12px rgba(210,140,175,.2)}
.rc-welcome__circle svg{width:38px;height:38px}
.rc-welcome__l1{margin:0;font-size:.8rem;font-weight:800;color:var(--rc-pink);line-height:1.4}
.rc-welcome__l2{margin:0;font-size:.78rem;color:var(--rc-gray);line-height:1.4}

/* ---- 働きやすい環境 ---- */
.rc-envs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.rc-env{position:relative;border-radius:14px;overflow:hidden;background:linear-gradient(160deg,#eef7f5,#e3f1ee);aspect-ratio:16/10;display:grid;place-items:center;border:1px solid #d5eae5}
.rc-env__ic{color:var(--rc-mint);opacity:.55}
.rc-env__ic svg{width:52px;height:52px}
.rc-env__label{position:absolute;left:8px;right:8px;bottom:8px;margin:0;padding:6px 8px;font-size:.74rem;font-weight:700;text-align:center;color:#fff;background:rgba(232,96,143,.82);border-radius:8px;line-height:1.35}

/* ---- 面接について ---- */
.rc-interviews{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.rc-interview{padding:16px 15px;background:#fff;border:1px solid #e8ddf6;border-radius:14px}
.rc-interview__head{display:flex;align-items:center;gap:8px;margin:0 0 10px}
.rc-interview__ic{width:26px;height:26px;color:var(--rc-purple)}
.rc-interview__ic svg{width:100%;height:100%}
.rc-interview__title{font-size:.94rem;font-weight:800;color:var(--rc-purple)}
.rc-interview__big{margin:0 0 8px;font-size:1.12rem;font-weight:900;color:var(--rc-pink)}
.rc-interview__body{margin:0;font-size:.8rem;line-height:1.75;color:var(--rc-gray)}
.rc-interview__list{margin:10px 0 0;padding:10px 12px;list-style:none;background:var(--rc-pink-l);border-radius:10px}
.rc-interview__list li{font-size:.76rem;color:var(--rc-pink-d);font-weight:600;padding-left:12px;position:relative;line-height:1.7}
.rc-interview__list li::before{content:"・";position:absolute;left:0}

/* ---- 働き方ゲート ---- */
.rc-gates{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rc-gate{display:flex;flex-direction:column;gap:6px;padding:20px 18px;border-radius:16px;text-decoration:none;color:#fff;box-shadow:0 6px 16px rgba(120,80,110,.18);transition:transform .15s}
.rc-gate:hover{transform:translateY(-3px)}
.rc-gate--dekasegi{background:linear-gradient(135deg,#f28bb0,#df5b8b)}
.rc-gate--local{background:linear-gradient(135deg,#6fcabc,#33a396)}
.rc-gate--faq{background:linear-gradient(135deg,#a893da,#8069c2)}
.rc-gate__ic{width:34px;height:34px}
.rc-gate__ic svg{width:100%;height:100%}
.rc-gate__label{font-size:1.16rem;font-weight:900}
.rc-gate__desc{font-size:.78rem;opacity:.95;line-height:1.6}
.rc-gate__arrow{margin-top:4px;font-size:.8rem;font-weight:700}

/* ---- 応募フォーム枠 ---- */
.rc-form-wrap{padding:22px;background:#fff;border:1px solid #f2dde7;border-radius:16px}
.rc-apply-notes{margin-top:18px;display:grid;gap:8px}
.rc-apply-notes p{display:flex;align-items:flex-start;gap:8px;margin:0;font-size:.84rem;color:var(--rc-gray);line-height:1.7}
.rc-apply-notes svg{width:16px;height:16px;flex:0 0 auto;margin-top:3px;color:var(--rc-mint);stroke-width:2.6}
.rc-apply-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rc-apply-card{display:flex;flex-direction:column;gap:6px;padding:18px 16px;background:#fff;border:1px solid #e8ddf6;border-radius:14px;text-decoration:none;color:inherit;transition:box-shadow .15s}
.rc-apply-card:hover{box-shadow:0 6px 16px rgba(140,110,190,.18)}
.rc-apply-card__ic{width:30px;height:30px;color:var(--rc-purple)}
.rc-apply-card__ic svg{width:100%;height:100%}
.rc-apply-card__title{font-size:.98rem;font-weight:800;color:var(--rc-purple)}
.rc-apply-card__desc{font-size:.76rem;color:var(--rc-gray);line-height:1.6}

/* =====================================================
 * 求人：スタッフ求人（rc-page--staff）
 * ===================================================== */
.rc-hero--staff{background:linear-gradient(120deg,#f2f8fa 0%,#e9f3f6 55%,#eef6f5 100%)}
.rc-hero--staff::after{content:"";position:absolute;right:0;top:0;bottom:0;width:44%;background-image:var(--rc-hero-img,none);background-size:cover;background-position:center;-webkit-mask-image:linear-gradient(90deg,transparent,#000 24%);mask-image:linear-gradient(90deg,transparent,#000 24%)}
.rc-hero__title--staff{display:block;font-size:clamp(2.6rem,7.4vw,4.6rem);color:var(--rc-navy);letter-spacing:.02em;text-shadow:none}
.rc-hero__bang{color:var(--rc-teal)}
.rc-hero__sub{margin:0 0 16px;font-size:clamp(1rem,2.4vw,1.36rem);font-weight:700;color:var(--rc-navy)}
.rc-hero__sub em{color:var(--rc-teal);font-style:italic;font-weight:900;padding-inline:2px}
.rc-hero__pills{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.rc-hero__pills li{display:flex;align-items:center;gap:5px;padding:6px 14px;background:#fff;border:1px solid #cfe0e8;border-radius:999px;font-size:.8rem;font-weight:700;color:var(--rc-navy)}
.rc-hero__pill-ic{width:14px;height:14px;color:var(--rc-teal)}
.rc-hero__pill-ic svg{width:100%;height:100%;stroke-width:3}
.rc-hero__stamp{flex:0 0 auto;margin:0 0 0 auto;width:118px;height:118px;border-radius:50%;background:var(--rc-teal);color:#fff;display:grid;place-content:center;text-align:center;font-size:.86rem;font-weight:800;line-height:1.5;font-style:italic;box-shadow:0 8px 18px rgba(18,117,110,.28)}
.rc-hero__stamp span{display:block;margin:2px auto}
.rc-hero__stamp svg{width:20px;height:20px}

.rc-stcards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:-14px 0 0;position:relative;z-index:5}
.rc-stcard{position:relative;padding:20px 18px 58px;background:#fff;border-radius:14px;border:1px solid #dbe6ec;text-align:center;overflow:hidden}
.rc-stcard::before{content:"";position:absolute;left:0;right:0;top:0;height:4px}
.rc-stcard--teal::before{background:var(--rc-teal)}
.rc-stcard--green::before{background:var(--rc-green)}
.rc-stcard--navy::before{background:var(--rc-navy)}
.rc-stcard__title{margin:0 0 12px;font-size:1.06rem;font-weight:800}
.rc-stcard--teal .rc-stcard__title{color:var(--rc-teal)}
.rc-stcard--green .rc-stcard__title{color:var(--rc-green)}
.rc-stcard--navy .rc-stcard__title{color:var(--rc-navy)}
.rc-stcard__pill{display:inline-block;margin:0 0 12px;padding:6px 20px;border-radius:8px;font-size:.84rem;font-weight:700;color:#fff}
.rc-stcard--teal .rc-stcard__pill{background:var(--rc-teal)}
.rc-stcard--green .rc-stcard__pill{background:var(--rc-green)}
.rc-stcard--navy .rc-stcard__pill{background:var(--rc-navy)}
.rc-stcard__big{margin:0 0 6px;line-height:1;color:var(--rc-teal)}
.rc-stcard__big strong{font-size:clamp(2.3rem,5.4vw,3.2rem);font-weight:900}
.rc-stcard__big span{font-size:1.24rem;font-weight:800}
.rc-stcard__note{margin:0;font-size:.8rem;color:var(--rc-gray)}
.rc-stcard__body{margin:0;font-size:.85rem;line-height:1.8;color:var(--rc-gray)}
.rc-stcard__ic{position:absolute;left:50%;translate:-50% 0;bottom:12px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;opacity:.9}
.rc-stcard__ic svg{width:24px;height:24px}
.rc-stcard--teal .rc-stcard__ic{background:var(--rc-teal-l);color:var(--rc-teal)}
.rc-stcard--green .rc-stcard__ic{background:#e8f5ee;color:var(--rc-green)}
.rc-stcard--navy .rc-stcard__ic{background:#e8f0f6;color:var(--rc-navy)}

.rc-workplace{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.rc-workplace__item{aspect-ratio:16/10;border-radius:12px;background:linear-gradient(160deg,#f0f6f8,#e4eef2);border:1px solid #d9e5ea;display:grid;place-content:center;justify-items:center;gap:8px;text-align:center}
.rc-workplace__ic{color:var(--rc-teal);opacity:.5}
.rc-workplace__ic svg{width:46px;height:46px}
.rc-workplace__item p{margin:0;font-size:.78rem;font-weight:600;color:var(--rc-gray)}

.rc-stwelcomes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 22px}
.rc-stwelcome{display:flex;align-items:center;gap:11px;padding:12px 6px}
.rc-stwelcome__ic{flex:0 0 auto;width:34px;height:34px;color:var(--rc-navy)}
.rc-stwelcome__ic svg{width:100%;height:100%}
.rc-stwelcome p{margin:0;font-size:.9rem;font-weight:700;line-height:1.55;color:var(--rc-navy)}

.rc-st3col{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:44px}
.rc-stbox{border:1px solid #dbe6ec;border-radius:12px;overflow:hidden;background:#fff}
.rc-stbox__head{margin:0;padding:12px;text-align:center;font-size:1rem;font-weight:800;color:#fff;background:var(--rc-navy)}
.rc-stbox__body{padding:14px}
.rc-stbox__note{margin:12px 0 0;padding-top:10px;border-top:1px dashed #dbe6ec;font-size:.76rem;color:var(--rc-gray);display:flex;align-items:center;gap:6px}
.rc-stbox__note svg{width:16px;height:16px;color:var(--rc-teal)}
.rc-sttable{width:100%;border-collapse:collapse;font-size:.82rem}
.rc-sttable th{width:76px;padding:9px 8px;text-align:left;vertical-align:top;background:var(--rc-teal-l);color:var(--rc-teal);font-weight:700;letter-spacing:.14em;border-bottom:1px solid #e5eef1}
.rc-sttable td{padding:9px 10px;vertical-align:top;line-height:1.7;border-bottom:1px solid #eef3f5}
.rc-st-wage{color:#d64b4b;font-size:1.02rem;font-weight:900}
.rc-stpoints{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.rc-stpoints li{display:flex;gap:8px}
.rc-stpoints__check{flex:0 0 auto;width:17px;height:17px;color:var(--rc-teal);margin-top:2px}
.rc-stpoints__check svg{width:100%;height:100%;stroke-width:3}
.rc-stpoints__body{display:flex;flex-direction:column;gap:2px}
.rc-stpoints__body strong{font-size:.86rem;font-weight:800;color:var(--rc-teal)}
.rc-stpoints__body small{font-size:.76rem;color:var(--rc-gray);line-height:1.6}
.rc-stmsg{margin:14px 0 0;padding:12px;background:var(--rc-teal-l);border:1px solid #cfe6e2;border-radius:10px;font-size:.78rem;line-height:1.7;color:var(--rc-teal);display:flex;gap:8px;align-items:flex-start}
.rc-stmsg svg{width:18px;height:18px;flex:0 0 auto;margin-top:2px}

/* ---- アコーディオン（スタッフFAQ） ---- */
.rc-acc__item+.rc-acc__item{border-top:1px solid #eef3f5}
.rc-acc__q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 2px;border:0;background:none;text-align:left;font-size:.82rem;font-weight:600;color:var(--rc-ink);cursor:pointer;line-height:1.5}
.rc-acc__q i{flex:0 0 auto;width:17px;height:17px;border-radius:50%;background:var(--rc-teal-l);position:relative}
.rc-acc__q i::before,.rc-acc__q i::after{content:"";position:absolute;inset:50% 4px auto;height:1.6px;background:var(--rc-teal);translate:0 -50%;transition:transform .2s}
.rc-acc__q i::after{transform:rotate(90deg)}
.rc-acc__item.is-open .rc-acc__q i::after{transform:rotate(0)}
.rc-acc__a{padding:0 2px 12px;font-size:.78rem;line-height:1.8;color:var(--rc-gray)}

/* =====================================================
 * 求人：FAQ（rc-page--faq）
 * ===================================================== */
.rc-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:-14px 0 0;position:relative;z-index:5}
.rc-stat{display:flex;align-items:center;gap:12px;padding:14px;background:#fff;border-radius:14px;box-shadow:0 4px 14px rgba(180,140,170,.15)}
.rc-stat__ic{flex:0 0 auto;width:46px;height:46px;border-radius:50%;display:grid;place-items:center}
.rc-stat__ic svg{width:25px;height:25px}
.rc-stat--pink{border:1px solid #f7d9e6}
.rc-stat--pink .rc-stat__ic{background:var(--rc-pink-l);color:var(--rc-pink)}
.rc-stat--pink .rc-stat__title,.rc-stat--pink .rc-stat__big{color:var(--rc-pink)}
.rc-stat--mint{border:1px solid #cfeae5}
.rc-stat--mint .rc-stat__ic{background:var(--rc-mint-l);color:var(--rc-mint)}
.rc-stat--mint .rc-stat__title,.rc-stat--mint .rc-stat__big{color:var(--rc-mint)}
.rc-stat__title{margin:0;font-size:.84rem;font-weight:800}
.rc-stat__big{margin:0;font-size:1.44rem;font-weight:900;line-height:1.2}
.rc-stat__note{margin:0;font-size:.72rem;color:var(--rc-gray)}
.rc-stat__note2{margin:2px 0 0;font-size:.76rem;color:var(--rc-gray);line-height:1.5}

.rc-faqtabs{display:flex;flex-wrap:wrap;gap:8px;margin:32px 0 20px}
.rc-faqtab{flex:1 1 108px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:11px 8px;border:1px solid var(--rc-line);border-radius:12px;background:#fff;cursor:pointer;transition:all .15s;font-family:inherit}
.rc-faqtab:hover{border-color:var(--rc-pink);color:var(--rc-pink)}
.rc-faqtab__ic{width:22px;height:22px;color:var(--rc-gray)}
.rc-faqtab__ic svg{width:100%;height:100%}
.rc-faqtab__label{font-size:.78rem;font-weight:700;line-height:1.3;text-align:center}
.rc-faqtab__range{font-size:.62rem;color:var(--rc-gray)}
.rc-faqtab.is-active{background:linear-gradient(135deg,#f4a0c0,#e8608f);border-color:transparent;color:#fff;box-shadow:0 4px 12px rgba(224,90,135,.26)}
.rc-faqtab.is-active .rc-faqtab__ic{color:#fff}
.rc-faqtab.is-active .rc-faqtab__range{color:rgba(255,255,255,.85)}

.rc-faqgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rc-faqcard{border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--rc-line)}
.rc-faqcard--wide{grid-column:1 / -1}
.rc-faqcard[hidden]{display:none}
.rc-faqcard__head{display:flex;align-items:center;gap:8px;margin:0;padding:12px 14px;font-size:.96rem;font-weight:800}
.rc-faqcard__ic{width:22px;height:22px}
.rc-faqcard__ic svg{width:100%;height:100%}
.rc-faqcard__range{font-size:.74rem;font-weight:600;opacity:.85}
.rc-faqcard__body{padding:6px 14px 12px}
.rc-faqcard--mint .rc-faqcard__head{background:var(--rc-mint-l);color:var(--rc-mint)}
.rc-faqcard--mint .rc-faqitem__no{color:var(--rc-mint)}
.rc-faqcard--mint .rc-faqitem__plus{background:var(--rc-mint-l)}
.rc-faqcard--mint .rc-faqitem__plus::before,.rc-faqcard--mint .rc-faqitem__plus::after{background:var(--rc-mint)}
.rc-faqcard--pink .rc-faqcard__head{background:var(--rc-pink-l);color:var(--rc-pink)}
.rc-faqcard--pink .rc-faqitem__no{color:var(--rc-pink)}
.rc-faqcard--pink .rc-faqitem__plus{background:var(--rc-pink-l)}
.rc-faqcard--pink .rc-faqitem__plus::before,.rc-faqcard--pink .rc-faqitem__plus::after{background:var(--rc-pink)}
.rc-faqcard--blue .rc-faqcard__head{background:var(--rc-blue-l);color:var(--rc-blue)}
.rc-faqcard--blue .rc-faqitem__no{color:var(--rc-blue)}
.rc-faqcard--blue .rc-faqitem__plus{background:var(--rc-blue-l)}
.rc-faqcard--blue .rc-faqitem__plus::before,.rc-faqcard--blue .rc-faqitem__plus::after{background:var(--rc-blue)}
.rc-faqcard--purple .rc-faqcard__head{background:var(--rc-purple-l);color:var(--rc-purple)}
.rc-faqcard--purple .rc-faqitem__no{color:var(--rc-purple)}
.rc-faqcard--purple .rc-faqitem__plus{background:var(--rc-purple-l)}
.rc-faqcard--purple .rc-faqitem__plus::before,.rc-faqcard--purple .rc-faqitem__plus::after{background:var(--rc-purple)}
.rc-faqcard--orange .rc-faqcard__head{background:var(--rc-orange-l);color:var(--rc-orange)}
.rc-faqcard--orange .rc-faqitem__no{color:var(--rc-orange)}
.rc-faqcard--orange .rc-faqitem__plus{background:var(--rc-orange-l)}
.rc-faqcard--orange .rc-faqitem__plus::before,.rc-faqcard--orange .rc-faqitem__plus::after{background:var(--rc-orange)}
.rc-faqcard--rose .rc-faqcard__head{background:var(--rc-rose-l);color:var(--rc-rose)}
.rc-faqcard--rose .rc-faqitem__no{color:var(--rc-rose)}
.rc-faqcard--rose .rc-faqitem__plus{background:var(--rc-rose-l)}
.rc-faqcard--rose .rc-faqitem__plus::before,.rc-faqcard--rose .rc-faqitem__plus::after{background:var(--rc-rose)}
.rc-faqitem+.rc-faqitem{border-top:1px solid #f3f0f2}
.rc-faqitem__q{width:100%;display:flex;align-items:flex-start;gap:9px;padding:11px 2px;border:0;background:none;text-align:left;cursor:pointer;font-family:inherit}
.rc-faqitem__no{flex:0 0 auto;font-size:.82rem;font-weight:800;min-width:28px}
.rc-faqitem__text{flex:1;font-size:.85rem;font-weight:600;line-height:1.55;color:var(--rc-ink)}
.rc-faqitem__plus{flex:0 0 auto;width:18px;height:18px;border-radius:50%;position:relative;margin-top:2px}
.rc-faqitem__plus::before,.rc-faqitem__plus::after{content:"";position:absolute;inset:50% 4px auto;height:1.8px;translate:0 -50%;transition:transform .2s}
.rc-faqitem__plus::after{transform:rotate(90deg)}
.rc-faqitem.is-open .rc-faqitem__plus::after{transform:rotate(0)}
.rc-faqitem__a{display:flex;gap:9px;padding:0 2px 13px 4px}
.rc-faqitem__amark{flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:#f6f3f5;display:grid;place-items:center;font-size:.74rem;font-weight:800;color:var(--rc-gray)}
.rc-faqitem__a>div{flex:1;font-size:.8rem;line-height:1.85;color:var(--rc-gray)}
.rc-faqitem__a p{margin:0 0 6px}
.rc-faqcount{margin:14px 0 0;text-align:center;font-size:.78rem;color:var(--rc-gray)}

.rc-reasons{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.rc-reason{text-align:center}
.rc-reason__circle{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 10px;border-radius:50%}
.rc-reason__circle svg{width:34px;height:34px}
.rc-reason--mint .rc-reason__circle{background:var(--rc-mint-l);color:var(--rc-mint)}
.rc-reason--mint .rc-reason__title{color:var(--rc-mint)}
.rc-reason--pink .rc-reason__circle{background:var(--rc-pink-l);color:var(--rc-pink)}
.rc-reason--pink .rc-reason__title{color:var(--rc-pink)}
.rc-reason--purple .rc-reason__circle{background:var(--rc-purple-l);color:var(--rc-purple)}
.rc-reason--purple .rc-reason__title{color:var(--rc-purple)}
.rc-reason--blue .rc-reason__circle{background:var(--rc-blue-l);color:var(--rc-blue)}
.rc-reason--blue .rc-reason__title{color:var(--rc-blue)}
.rc-reason--rose .rc-reason__circle{background:var(--rc-rose-l);color:var(--rc-rose)}
.rc-reason--rose .rc-reason__title{color:var(--rc-rose)}
.rc-reason__title{margin:0 0 5px;font-size:.88rem;font-weight:800}
.rc-reason__body{margin:0;font-size:.74rem;line-height:1.7;color:var(--rc-gray)}

/* =====================================================
 * 求人：入店の流れ
 * ===================================================== */
.rc-flow{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:step}
.rc-flow__item{position:relative;display:grid;grid-template-columns:74px 56px 1fr;gap:14px;align-items:start;padding:18px 18px;background:#fff;border:1px solid #f2dde7;border-radius:14px}
.rc-flow__item+.rc-flow__item::before{content:"";position:absolute;left:47px;top:-11px;width:2px;height:11px;background:#f2c3d7}
.rc-flow__num{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:6px 0;border-radius:10px;background:linear-gradient(135deg,#f4a0c0,#e8608f);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.1em}
.rc-flow__num strong{font-size:1.5rem;font-weight:900;line-height:1}
.rc-flow__ic{width:52px;height:52px;border-radius:50%;background:var(--rc-mint-l);color:var(--rc-mint);display:grid;place-items:center}
.rc-flow__ic svg{width:27px;height:27px}
.rc-flow__title{margin:0 0 3px;font-size:1.12rem;font-weight:800;color:var(--rc-pink)}
.rc-flow__lead{margin:0 0 7px;font-size:.8rem;font-weight:700;color:var(--rc-mint)}
.rc-flow__text{margin:0;font-size:.85rem;line-height:1.85;color:var(--rc-gray)}
.rc-flow-note{margin-top:24px;padding:18px;background:var(--rc-mint-l);border:1px solid #cfe6e2;border-radius:14px}
.rc-flow-note__title{display:flex;align-items:center;gap:7px;margin:0 0 6px;font-size:.98rem;font-weight:800;color:var(--rc-mint)}
.rc-flow-note__title svg{width:20px;height:20px}
.rc-flow-note p{margin:0;font-size:.84rem;line-height:1.8;color:var(--rc-ink)}
.rc-flow-note a{color:var(--rc-pink);font-weight:700}

/* =====================================================
 * 求人：レスポンシブ
 * ===================================================== */
@media (max-width:1024px){
.rc-gnav,.rc-header__btns{display:none}
.rc-hamburger{display:flex}
.rc-header__inner{justify-content:space-between}
.rc-feats,.rc-stats{grid-template-columns:1fr 1fr}
.rc-welcomes{grid-template-columns:repeat(3,1fr)}
.rc-envs,.rc-interviews{grid-template-columns:1fr 1fr}
.rc-stcards,.rc-st3col,.rc-gates,.rc-apply-cards{grid-template-columns:1fr}
.rc-workplace{grid-template-columns:1fr 1fr}
.rc-stwelcomes{grid-template-columns:1fr 1fr}
.rc-reasons{grid-template-columns:repeat(3,1fr)}
.rc-faqgrid{grid-template-columns:1fr}
.rc-faqcard--wide{grid-column:auto}
.rc-footer__inner{grid-template-columns:1fr;gap:16px}
.rc-footer__info{text-align:left}
}
@media (max-width:767px){
.rc-hero{padding:26px 0 24px}
.rc-hero--cast::after,.rc-hero--staff::after{width:100%;opacity:.16;-webkit-mask-image:none;mask-image:none}
.rc-hero__inner{flex-direction:column;align-items:flex-start;gap:14px}
.rc-hero__badge{margin:0;width:104px;height:104px;font-size:.78rem}
.rc-hero__badge--round{width:112px;height:112px;font-size:.7rem}
.rc-hero__stamp{margin:0;width:96px;height:96px;font-size:.74rem}
.rc-hero__title-mint{padding:4px 14px;letter-spacing:.1em}
.rc-feats,.rc-stats{grid-template-columns:1fr}
.rc-req{grid-template-columns:1fr}
.rc-req__head{padding:11px 14px}
.rc-req__body{padding:13px 14px}
.rc-req__welfare{grid-template-columns:1fr}
.rc-req__pay-tag{margin-left:0}
.rc-welcomes{grid-template-columns:1fr 1fr}
.rc-welcome__circle{width:72px;height:72px}
.rc-welcome__circle svg{width:32px;height:32px}
.rc-envs,.rc-interviews,.rc-workplace,.rc-stwelcomes{grid-template-columns:1fr 1fr}
.rc-reasons{grid-template-columns:1fr 1fr}
.rc-cta__btns{grid-template-columns:1fr}
.rc-cta{margin-top:40px;padding-bottom:78px}
.rc-sp-bar{display:grid}
.rc-footer{padding-bottom:60px}
.rc-faqtab{flex:1 1 calc(50% - 4px)}
.rc-flow__item{grid-template-columns:60px 44px 1fr;gap:10px;padding:14px}
.rc-flow__ic{width:44px;height:44px}
.rc-flow__ic svg{width:22px;height:22px}
.rc-flow__item+.rc-flow__item::before{left:40px}
.rc-sec{margin-top:34px}
.rc-form-wrap{padding:14px}
}

/* =====================================================
 * よくある質問（お客様向け / page-faq.php）
 * ===================================================== */
.lc-faqtabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 26px 0 4px; }
.lc-faqtab { display: inline-flex; align-items: center; gap: 6px; padding: 9px 16px; border: 2px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink) !important; font-family: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; transition: .18s; }
.lc-faqtab__ic svg { width: 17px; height: 17px; color: var(--emerald); }
.lc-faqtab__num { min-width: 20px; padding: 1px 6px; border-radius: 999px; background: #f4f6f7; color: var(--muted); font-size: 11.5px; font-weight: 700; }
.lc-faqtab:hover { border-color: var(--pink); color: var(--pink) !important; }
.lc-faqtab.is-active { background: var(--pink); border-color: var(--pink); color: #fff !important; box-shadow: var(--shadow); }
.lc-faqtab.is-active .lc-faqtab__ic svg { color: #fff; }
.lc-faqtab.is-active .lc-faqtab__num { background: rgba(255,255,255,.28); color: #fff; }
.lc-faqcount { margin: 24px 0 0; text-align: center; font-size: 13.5px; color: var(--muted); }
.lc-faqcount strong { color: var(--pink); font-size: 17px; margin: 0 2px; }
.lc-faqcta { margin: 44px 0 10px; padding: 28px 22px; border-radius: 16px; background: linear-gradient(120deg, #ffeef4 0%, #f4fbfa 60%, #e2f6f4 100%); text-align: center; }
.lc-faqcta__title { margin: 0 0 8px; font-size: 22px; color: var(--pink); }
.lc-faqcta__lead { margin: 0 0 18px; font-size: 14px; color: var(--muted); line-height: 1.9; }
.lc-faqcta__btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.lc-faqcta__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; list-style: none; margin: 22px 0 0; padding: 0; font-size: 13.5px; }
.lc-faqcta__links a { color: var(--emerald-dark); font-weight: 600; }
.lc-faqcta__links a::before { content: "\203A"; margin-right: 5px; color: var(--pink); }
.lc-empty { margin: 40px 0; padding: 28px; border: 1px dashed var(--line); border-radius: 12px; text-align: center; color: var(--muted); }
@media (max-width: 768px) {
.lc-faqtab { padding: 8px 13px; font-size: 12.5px; }
.lc-faqcta { padding: 22px 16px; }
.lc-faqcta__title { font-size: 19px; }
.lc-faqcta__btns { flex-direction: column; }
}

/* =========================================================
 * スタッフ求人 確定デザイン（st2- 系）
 * 素材集 03_スタッフ求人/staff_recruit_pc 準拠
 * 白地 × ティール(#12756e) × ピンク(#ea5c8f)
 * ========================================================= */
.rc-page--staff2{--st2-teal:#12756e;--st2-teal-2:#2f9d93;--st2-teal-l:#e6f4f2;--st2-pink:#ea5c8f;--st2-pink-l:#fdeef4;--st2-navy:#123a5c}
.rc-page--staff2 .rc-container{width:min(1180px,100% - 32px)}

/* ---- ヒーロー ---- */
.st2-hero{width:min(1180px,100% - 32px);margin:16px auto 0}
.st2-hero__inner{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:0;min-height:352px;padding:26px 30px;border-radius:18px;overflow:hidden;background:linear-gradient(115deg,#f4fafb 0%,#eaf4f7 46%,#dceef2 100%)}
.st2-hero__inner::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 26%,rgba(255,255,255,.55),transparent 45%);pointer-events:none}
.st2-hero__body{position:relative;z-index:3}
.st2-hero__lead{margin:0 0 6px;font-size:clamp(1rem,2vw,1.32rem);font-weight:700;color:var(--st2-navy);letter-spacing:.02em}
.st2-hero__lead span{color:var(--st2-teal-2);font-weight:800;padding:0 2px}
.st2-hero__title{margin:0 0 4px;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:clamp(2.1rem,5.4vw,3.6rem);font-weight:900;line-height:1.08;color:var(--st2-navy);letter-spacing:.01em;transform:skewX(-4deg);transform-origin:left bottom}
.st2-hero__title em{font-style:normal;color:var(--st2-teal-2)}
.st2-hero__pay{margin:0 0 16px;line-height:1;display:flex;align-items:baseline;gap:4px;transform:skewX(-4deg);transform-origin:left bottom}
.st2-hero__pay-label{font-size:clamp(1.3rem,3vw,2.1rem);font-weight:900;color:var(--st2-navy)}
.st2-hero__pay strong{font-size:clamp(2.6rem,7vw,4.6rem);font-weight:900;color:var(--st2-pink);letter-spacing:-.01em}
.st2-hero__pay-unit{font-size:clamp(1.3rem,3vw,2.1rem);font-weight:900;color:var(--st2-pink)}
.st2-hero__pills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.st2-pill{padding:7px 15px;border-radius:8px;background:#fff;font-size:.82rem;font-weight:700;box-shadow:0 2px 6px rgba(18,58,92,.07)}
.st2-pill--mint{border:1.5px solid #8ed3c9;color:var(--st2-teal)}
.st2-pill--pink{border:1.5px solid #f5a8c4;color:#d64b7e}
.st2-hero__visual{position:relative;align-self:stretch;margin:-26px -30px -26px 0}
.st2-hero__visual img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block;-webkit-mask-image:linear-gradient(90deg,transparent,#000 22%);mask-image:linear-gradient(90deg,transparent,#000 22%)}
.st2-hero__badge{position:absolute;z-index:4;display:grid;place-content:center;text-align:center;border-radius:50%;color:#fff;font-weight:800;line-height:1.35;box-shadow:0 6px 18px rgba(18,58,92,.2)}
.st2-hero__badge strong{display:block;font-size:1.32em;font-weight:900}
.st2-hero__badge--mint{top:14px;right:14px;width:112px;height:112px;font-size:.82rem;background:radial-gradient(circle at 34% 26%,#3fb3a4,#0f6b64)}
.st2-hero__badge--mint strong{color:#ffe98a}
.st2-hero__badge--pink{bottom:18px;right:20px;width:104px;height:104px;font-size:.84rem;background:radial-gradient(circle at 34% 26%,#f47ba6,#e0417a);outline:2px dashed rgba(255,255,255,.85);outline-offset:-8px}

/* ---- 特徴バー ---- */
.st2-features{list-style:none;margin:-30px auto 0;padding:14px 10px;position:relative;z-index:6;width:min(1120px,100% - 56px);display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border:1px solid #dde9ec;border-radius:14px;box-shadow:0 8px 24px rgba(18,58,92,.08)}
.st2-feature{display:flex;align-items:center;gap:8px;padding:2px 10px}
.st2-feature+.st2-feature{border-left:1px solid #e7eff2}
.st2-feature__ic{flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--st2-teal-l);color:var(--st2-teal);display:grid;place-items:center}
.st2-feature__ic svg{width:18px;height:18px}
.st2-feature__body{display:flex;flex-direction:column;min-width:0;line-height:1.4}
.st2-feature__body strong{font-size:.82rem;font-weight:800;color:var(--st2-navy);white-space:nowrap}
.st2-feature__body small{font-size:.72rem;color:#65798a;white-space:nowrap}

/* ---- セクションタイトル ---- */
.st2-title{margin:44px 0 20px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:clamp(1.14rem,2.6vw,1.44rem);font-weight:800;color:var(--st2-navy)}
.st2-title__cl{display:inline-flex;color:var(--st2-teal-2)}
.st2-title__cl svg{width:22px;height:22px}

/* ---- 募集職種6カード ---- */
.st2-jobs{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.st2-job{position:relative;display:flex;flex-direction:column;padding:14px 11px 13px;background:#fff;border:1px solid #dde9ec;border-radius:12px;text-align:center;box-shadow:0 3px 12px rgba(18,58,92,.05)}
.st2-job::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:12px 12px 0 0;background:var(--st2-c)}
.st2-job--mint{--st2-c:#2f9d93;--st2-cl:#e6f4f2}
.st2-job--pink{--st2-c:#ea5c8f;--st2-cl:#fdeef4}
.st2-job--blue{--st2-c:#4a90c4;--st2-cl:#eaf3fa}
.st2-job--purple{--st2-c:#8b6bc7;--st2-cl:#f2eefb}
.st2-job--orange{--st2-c:#e8913c;--st2-cl:#fdf2e5}
.st2-job--rose{--st2-c:#e0658a;--st2-cl:#fdeff3}
.st2-job__name{margin:2px 0 10px;font-size:.92rem;font-weight:800;line-height:1.4;color:var(--st2-c)}
.st2-job__urgent{display:inline-block;margin-left:3px;padding:2px 7px;border-radius:999px;background:var(--st2-c);color:#fff;font-size:.62rem;font-weight:700;vertical-align:2px}
.st2-job__photo{margin:0 0 11px;border-radius:9px;overflow:hidden;background:var(--st2-cl)}
.st2-job__photo img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.st2-job__pay{margin:0 0 2px;line-height:1;display:flex;align-items:baseline;justify-content:center;gap:2px}
.st2-job__pay-label{font-size:.8rem;font-weight:800;color:#20303c}
.st2-job__pay strong{font-size:1.42rem;font-weight:900;color:#20303c}
.st2-job__pay-unit{font-size:.82rem;font-weight:800;color:#20303c}
.st2-job__note{margin:0 0 9px;font-size:.7rem;color:#65798a}
.st2-job__desc{margin:0 0 11px;font-size:.72rem;line-height:1.7;color:#65798a;text-align:left}
.st2-job__pills{list-style:none;margin:auto 0 11px;padding:0;display:flex;flex-wrap:wrap;gap:5px;justify-content:center}
.st2-job__pills li{padding:4px 8px;border:1px solid #dde9ec;border-radius:6px;background:#f8fbfc;font-size:.66rem;font-weight:600;color:#65798a;white-space:nowrap}
.st2-job__btn{display:flex;align-items:center;justify-content:center;gap:4px;padding:9px;border-radius:8px;background:var(--st2-c);color:#fff !important;font-size:.78rem;font-weight:700;transition:.18s}
.st2-job__btn:hover{filter:brightness(1.08);opacity:1}

/* ---- 3カラムパネル ---- */
.st2-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:40px 0 8px}
.st2-panel{border:1px solid #dde9ec;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 3px 12px rgba(18,58,92,.05)}
.st2-panel__title{margin:0;padding:12px;text-align:center;font-size:1rem;font-weight:800;color:var(--st2-navy);background:linear-gradient(180deg,#f2f9fa,#e8f3f5);border-bottom:1px solid #dde9ec}
.st2-panel__body{padding:14px}
.st2-panel__body--split{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:12px;align-items:center}
.st2-checks{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.st2-checks li{display:flex;gap:7px;font-size:.79rem;font-weight:600;line-height:1.55;color:#20303c}
.st2-checks__ic{flex:0 0 auto;width:15px;height:15px;margin-top:3px}
.st2-checks__ic svg{width:100%;height:100%;stroke-width:3}
.st2-checks--mint .st2-checks__ic{color:var(--st2-teal-2)}
.st2-checks--pink .st2-checks__ic{color:var(--st2-pink)}
.st2-panel__fig{margin:0;border-radius:9px;overflow:hidden}
.st2-panel__fig img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.st2-panel__fig--person img{aspect-ratio:3/4;object-fit:contain;background:#fff}
.st2-panel__fig--map img{aspect-ratio:3/4;object-fit:contain;background:#f4fafb}
.st2-access__lead{margin:0 0 9px;font-size:.79rem;font-weight:700;color:var(--st2-teal)}
.st2-access__list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.st2-access__list li{display:flex;flex-direction:column;padding:6px 9px;border:1px solid #dde9ec;border-radius:7px;background:#f8fbfc;line-height:1.35}
.st2-access__list strong{font-size:.74rem;font-weight:800;color:var(--st2-navy)}
.st2-access__list small{font-size:.68rem;color:#65798a}

/* ---- レスポンシブ ---- */
@media (max-width:1180px){
.st2-jobs{grid-template-columns:repeat(3,1fr)}
.st2-features{grid-template-columns:repeat(3,1fr);gap:10px 0}
.st2-feature:nth-child(4){border-left:0}
}
@media (max-width:1024px){
.st2-3col{grid-template-columns:1fr}
.st2-panel__body--split{grid-template-columns:minmax(0,1fr) 150px}
.st2-hero__inner{min-height:300px}
.st2-hero__badge--mint{width:96px;height:96px;font-size:.74rem}
.st2-hero__badge--pink{width:90px;height:90px;font-size:.76rem}
}
@media (max-width:767px){
.st2-hero{margin-top:10px}
.st2-hero__inner{grid-template-columns:1fr;min-height:0;padding:20px 18px 0;gap:14px}
.st2-hero__visual{margin:0 -18px;order:2;min-height:210px}
.st2-hero__visual img{-webkit-mask-image:none;mask-image:none;aspect-ratio:16/10;height:auto}
.st2-hero__body{order:1}
.st2-hero__badge--mint{top:auto;bottom:12px;right:10px;width:82px;height:82px;font-size:.66rem}
.st2-hero__badge--pink{bottom:12px;right:auto;left:10px;width:78px;height:78px;font-size:.66rem}
.st2-features{grid-template-columns:1fr 1fr;width:min(1120px,100% - 32px);margin-top:-16px;padding:12px 8px;gap:10px 0}
.st2-feature+.st2-feature{border-left:0}
.st2-feature:nth-child(2n){border-left:1px solid #e7eff2}
.st2-feature__body strong{font-size:.76rem;white-space:normal}
.st2-feature__body small{font-size:.68rem;white-space:normal}
.st2-jobs{grid-template-columns:1fr 1fr;gap:10px}
.st2-title{margin-top:34px}
.st2-panel__body--split{grid-template-columns:minmax(0,1fr) 124px}
}
@media (max-width:420px){
.st2-jobs{grid-template-columns:1fr}
.st2-panel__body--split{grid-template-columns:1fr}
.st2-panel__fig--person img,.st2-panel__fig--map img{aspect-ratio:16/9}
}

/* ---- st2 微調整（3カラム高さ揃え・写真バランス） ---- */
.st2-3col{align-items:stretch}
.st2-panel{display:flex;flex-direction:column}
.st2-panel__body{flex:1}
.st2-panel__body--split{align-items:start}
.st2-panel__body--split .st2-checks{align-content:start}
.st2-panel__fig img{aspect-ratio:3/4}
.st2-panel__fig--person img{aspect-ratio:3/4;object-fit:cover;object-position:center top}
.st2-panel__fig--map img{aspect-ratio:3/4;object-fit:contain}
.st2-access__list{gap:7px}

/* =========================================================
 * 出稼ぎ求人 確定デザイン（dks- 系）
 * 素材集 02_女性求人/outgoing_pc 準拠
 * 白地 × ピンク(#ea5c8f) × ミント(#3fb3a4)
 * ========================================================= */
.rc-page--dks{--dks-pink:#ea5c8f;--dks-pink-d:#d64b7e;--dks-pink-l:#fdeef4;--dks-mint:#3fb3a4;--dks-mint-d:#2b9487;--dks-mint-l:#e8f7f4;--dks-ink:#3c3540;--dks-gray:#7d7580;--dks-line:#ecdfe6;--dks-gold:#c9a227}
.rc-page--dks .rc-container{width:min(1180px,100% - 32px)}
.dks-sec{margin:36px 0 0}
.dks-sec--tight{margin-top:22px}
.dks-sec--flush{margin-top:0}

/* ---- ヒーロー ---- */
.dks-hero{width:min(1180px,100% - 32px);margin:16px auto 0}
.dks-hero__inner{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) 210px;align-items:center;gap:0 14px;min-height:330px;padding:24px 22px;border-radius:16px;overflow:hidden;background:linear-gradient(120deg,#fff6f9 0%,#fdeef4 40%,#fbe6ef 100%)}
.dks-hero__body{position:relative;z-index:3}
.dks-hero__lead{margin:0 0 4px;font-size:clamp(1.02rem,2.1vw,1.42rem);font-weight:800;color:#2f2b33}
.dks-hero__title{margin:0 0 12px;display:flex;flex-direction:column;gap:2px;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;line-height:1.14;letter-spacing:.01em}
.dks-hero__title-1{font-size:clamp(1.42rem,3.4vw,2.2rem);font-weight:900;color:#2f2b33}
.dks-hero__title-2,.dks-hero__title-3{font-size:clamp(1.62rem,4vw,2.62rem);font-weight:900;color:var(--dks-pink)}
.dks-hero__sub{margin:0;font-size:clamp(.82rem,1.6vw,.98rem);line-height:1.75;color:#6b636f;font-weight:600}
.dks-hero__visual{position:relative;align-self:stretch;margin:-24px 0;min-height:330px}
.dks-hero__visual img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block}
.dks-hero__seal{position:absolute;right:-6px;bottom:52px;z-index:4;width:118px;height:118px;border-radius:50%;display:grid;place-content:center;text-align:center;line-height:1.3;color:#7a5c14;background:radial-gradient(circle at 34% 26%,#fdf3d8,#eed893);border:2.5px solid #d9bd6a;box-shadow:0 5px 16px rgba(122,92,20,.22)}
.dks-hero__seal-label{font-size:.7rem;font-weight:800}
.dks-hero__seal strong{display:block;font-size:1.06rem;font-weight:900;color:#c0392b;letter-spacing:-.01em}
.dks-hero__seal-note{font-size:.68rem;font-weight:800}
.dks-hero__ribbon{position:absolute;right:-2px;bottom:16px;z-index:5;margin:0;padding:6px 12px;border-radius:6px;background:var(--dks-pink);color:#fff;font-size:.68rem;font-weight:800;line-height:1.35;text-align:center;box-shadow:0 3px 10px rgba(234,92,143,.32)}
.dks-hero__ctas{position:relative;z-index:3;display:grid;gap:9px;align-content:center}
.dks-cta{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 10px;border-radius:9px;font-size:.9rem;font-weight:800;transition:.18s;box-shadow:0 3px 10px rgba(60,53,64,.12)}
.dks-cta:hover{filter:brightness(1.06);opacity:1}
.dks-cta__ic{flex:0 0 auto;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.24)}
.dks-cta__ic svg{width:15px;height:15px}
.dks-cta--line{background:#06c755;color:#fff !important}
.dks-cta--form{background:var(--dks-pink);color:#fff !important}
.dks-cta--tel{background:#fff;color:var(--dks-ink) !important;border:1.5px solid var(--dks-line);padding:9px 10px}
.dks-cta--tel .dks-cta__ic{background:var(--dks-pink-l);color:var(--dks-pink)}
.dks-cta__tel-body{display:flex;flex-direction:column;line-height:1.3;text-align:left}
.dks-cta__tel-body small{font-size:.62rem;font-weight:600;color:var(--dks-gray)}
.dks-cta__tel-body strong{font-size:1.02rem;font-weight:900;color:var(--dks-pink)}

/* ---- セクションタイトル ---- */
.dks-title{margin:0 0 16px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:clamp(1.08rem,2.4vw,1.36rem);font-weight:800}
.dks-title--mint{color:var(--dks-mint-d)}
.dks-title--pink{color:var(--dks-pink)}
.dks-title--left{justify-content:flex-start}
.dks-title--sm{font-size:clamp(1rem,2.1vw,1.16rem);margin-bottom:12px}
.dks-title__cl{display:inline-flex}
.dks-title__cl svg{width:19px;height:19px}

/* ---- メリット6 ---- */
.dks-merits{list-style:none;margin:0;padding:16px 8px;display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border:1px solid var(--dks-line);border-radius:13px;box-shadow:0 3px 12px rgba(60,53,64,.05)}
.dks-merit{display:flex;flex-direction:column;align-items:center;gap:8px;padding:2px 8px;text-align:center}
.dks-merit+.dks-merit{border-left:1px solid #f3e8ee}
.dks-merit__ic{display:grid;place-items:center;width:42px;height:42px}
.dks-merit__ic svg{width:32px;height:32px;stroke-width:1.7}
.dks-merit--blue .dks-merit__ic{color:#3b82f6}
.dks-merit--mint .dks-merit__ic{color:var(--dks-mint)}
.dks-merit--red .dks-merit__ic{color:#e2564f}
.dks-merit--gray .dks-merit__ic{color:#8b95a5}
.dks-merit--pink .dks-merit__ic{color:var(--dks-pink)}
.dks-merit__label{margin:0;font-size:.8rem;font-weight:700;line-height:1.5;color:var(--dks-ink)}
.dks-merit__label small{font-size:.72rem;font-weight:600;color:var(--dks-gray)}

/* ---- 収入シミュレーション ---- */
.dks-income{display:grid;grid-template-columns:minmax(0,1.05fr) repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
.dks-income__avg{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:16px 14px 10px;border-radius:13px;background:linear-gradient(180deg,#fdf8ec,#f9f0da);border:1px solid #ecdcb8;text-align:center}
.dks-income__stars{margin:0 0 4px;font-size:.86rem;letter-spacing:.14em;color:var(--dks-gold)}
.dks-income__avg-label{margin:0 0 2px;font-size:1.06rem;font-weight:900;color:#5d4d24}
.dks-income__avg-big{margin:0;line-height:1;display:flex;align-items:baseline;justify-content:center;gap:2px}
.dks-income__avg-big strong{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:900;color:#c0392b;letter-spacing:-.02em}
.dks-income__avg-big span{font-size:1.06rem;font-weight:900;color:#c0392b}
.dks-income__avg-note{margin:2px 0 0;font-size:.86rem;font-weight:800;color:#5d4d24}
.dks-income__fig{margin:6px 0 0;width:100%;border-radius:9px;overflow:hidden}
.dks-income__fig img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.dks-sim{display:flex;flex-direction:column;border-radius:13px;overflow:hidden;background:#fff;border:1px solid var(--dks-line);box-shadow:0 3px 12px rgba(60,53,64,.05)}
.dks-sim__head{margin:0;padding:10px 8px;text-align:center;font-size:.94rem;font-weight:800;color:#fff;line-height:1.3}
.dks-sim__head small{display:block;font-size:.7rem;font-weight:600;opacity:.92}
.dks-sim--pink .dks-sim__head{background:linear-gradient(135deg,#f086ab,#e0417a)}
.dks-sim--mint .dks-sim__head{background:linear-gradient(135deg,#6ec9bb,#2b9487)}
.dks-sim__body{flex:1;display:flex;flex-direction:column;align-items:center;padding:14px 12px 10px;text-align:center}
.dks-sim__total{margin:0;line-height:1;display:flex;align-items:baseline;gap:1px}
.dks-sim__total strong{font-size:clamp(1.5rem,3.4vw,2.05rem);font-weight:900;color:#2f2b33;letter-spacing:-.02em}
.dks-sim__total span{font-size:1rem;font-weight:900;color:#2f2b33}
.dks-sim__note{margin:6px 0 0;font-size:.74rem;color:var(--dks-gray);font-weight:600}
.dks-sim__fig{margin:auto 0 0;width:100%;padding-top:8px;border-radius:9px;overflow:hidden}
.dks-sim__fig img{width:100%;aspect-ratio:16/7;object-fit:cover;display:block;border-radius:8px}
.dks-income__caption{margin:7px 0 0;text-align:right;font-size:.7rem;color:var(--dks-gray)}

/* ---- 寮のご紹介 ---- */
.dks-dorm{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.dks-dorm__item figure{margin:0}
.dks-dorm__item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:9px;border:1px solid var(--dks-line)}
.dks-dorm__item figcaption{margin-top:5px;text-align:center;font-size:.76rem;font-weight:700;color:var(--dks-ink)}
.dks-dorm__pills{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.dks-dorm__pills li{display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:8px;background:var(--dks-mint-l);border:1px solid #cde9e4;font-size:.78rem;font-weight:700;color:var(--dks-mint-d)}
.dks-dorm__pill-ic{display:inline-flex}
.dks-dorm__pill-ic svg{width:15px;height:15px}

/* ---- お仕事までの流れ ---- */
.dks-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;counter-reset:none}
.dks-flow__item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 74px;align-items:center;gap:8px;padding:11px 11px 11px 13px;background:#fff;border:1px solid var(--dks-line);border-radius:11px;box-shadow:0 3px 12px rgba(60,53,64,.05)}
.dks-flow__item+.dks-flow__item::before{content:"";position:absolute;left:-11px;top:50%;translate:0 -50%;width:0;height:0;border-left:8px solid var(--dks-pink);border-top:6px solid transparent;border-bottom:6px solid transparent}
.dks-flow__no{position:absolute;top:-9px;left:10px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;border:2px solid var(--dks-pink);color:var(--dks-pink);font-size:.76rem;font-weight:900}
.dks-flow__body{padding-top:8px}
.dks-flow__title{margin:0 0 4px;font-size:.84rem;font-weight:800;color:var(--dks-pink);line-height:1.4}
.dks-flow__desc{margin:0;font-size:.72rem;line-height:1.65;color:var(--dks-gray)}
.dks-flow__fig{margin:0;border-radius:8px;overflow:hidden}
.dks-flow__fig img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;display:block}

/* ---- 2カラム（先輩の声 ＋ FAQ） ---- */
.dks-2col{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px;margin:36px 0 0}
.dks-voices{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.dks-voice{display:grid;grid-template-columns:80px minmax(0,1fr);gap:11px;padding:11px;background:#fff;border:1px solid var(--dks-line);border-radius:11px;box-shadow:0 3px 12px rgba(60,53,64,.05)}
.dks-voice__fig{margin:0;border-radius:9px;overflow:hidden}
.dks-voice__fig img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;display:block}
.dks-voice__body{display:flex;flex-direction:column;justify-content:center}
.dks-voice__stars{margin:0 0 5px;font-size:.74rem;font-weight:800;color:var(--dks-gold);letter-spacing:.06em}
.dks-voice__text{margin:0 0 4px;font-size:.78rem;line-height:1.7;color:var(--dks-ink)}
.dks-voice__age{margin:0;font-size:.7rem;color:var(--dks-gray)}
.dks-faq{padding:12px 14px;background:#fff;border:1px solid var(--dks-line);border-radius:11px;box-shadow:0 3px 12px rgba(60,53,64,.05)}
.dks-faq__item+.dks-faq__item{border-top:1px solid #f5eaf0}
.dks-faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 2px;font-size:.8rem;font-weight:600;color:var(--dks-ink);cursor:pointer;list-style:none;line-height:1.5}
.dks-faq__item summary::-webkit-details-marker{display:none}
.dks-faq__item summary::after{content:"";flex:0 0 auto;width:8px;height:8px;border-right:1.8px solid var(--dks-mint);border-bottom:1.8px solid var(--dks-mint);rotate:45deg;transition:rotate .2s}
.dks-faq__item[open] summary::after{rotate:225deg}
.dks-faq__item p{margin:0 0 11px;padding:9px 11px;background:var(--dks-mint-l);border-radius:8px;font-size:.76rem;line-height:1.75;color:#37605a}
.dks-faq__more{margin:10px 0 0;text-align:center}
.dks-faq__more a{display:inline-block;padding:6px 18px;border-radius:999px;background:var(--dks-mint-l);color:var(--dks-mint-d);font-size:.76rem;font-weight:700}

/* ---- レスポンシブ ---- */
@media (max-width:1180px){
.dks-hero__inner{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);grid-template-areas:"body visual" "ctas ctas";min-height:0}
.dks-hero__body{grid-area:body}
.dks-hero__visual{grid-area:visual}
.dks-hero__ctas{grid-area:ctas;grid-template-columns:1fr 1fr 1.3fr;margin-top:14px}
.dks-merits{grid-template-columns:repeat(3,1fr);gap:14px 0}
.dks-merit:nth-child(4){border-left:0}
.dks-income{grid-template-columns:1fr 1fr}
.dks-dorm{grid-template-columns:repeat(3,1fr)}
.dks-flow{grid-template-columns:1fr 1fr}
.dks-flow__item+.dks-flow__item::before{display:none}
}
@media (max-width:1024px){
.dks-2col{grid-template-columns:1fr}
}
@media (max-width:767px){
.dks-hero{margin-top:10px}
.dks-hero__inner{grid-template-columns:1fr;grid-template-areas:"body" "visual" "ctas";padding:18px 16px}
.dks-hero__visual{margin:0 -16px;min-height:0}
.dks-hero__visual img{aspect-ratio:16/11;height:auto}
.dks-hero__seal{right:8px;bottom:14px;width:96px;height:96px}
.dks-hero__seal strong{font-size:.92rem}
.dks-hero__ribbon{right:auto;left:8px;bottom:14px}
.dks-hero__ctas{grid-template-columns:1fr;margin-top:12px}
.dks-merits{grid-template-columns:1fr 1fr;padding:14px 6px}
.dks-merit+.dks-merit{border-left:0}
.dks-merit:nth-child(2n){border-left:1px solid #f3e8ee}
.dks-income{grid-template-columns:1fr}
.dks-dorm{grid-template-columns:1fr 1fr}
.dks-flow{grid-template-columns:1fr}
.dks-voice{grid-template-columns:70px minmax(0,1fr)}
.dks-hero__title-1{font-size:1.28rem}
.dks-hero__title-2,.dks-hero__title-3{font-size:1.5rem}
}

/* ---- dks 微調整：収入シミュの写真を人物向けに ---- */
.dks-income__avg{justify-content:space-between}
.dks-income__fig img{aspect-ratio:3/4;object-fit:cover;object-position:center top;max-height:150px}
.dks-income__fig{max-width:118px;margin-inline:auto}
.dks-sim__fig{max-width:104px;margin:auto auto 0;padding-top:10px}
.dks-sim__fig img{aspect-ratio:3/4;object-fit:cover;object-position:center top}

/* =========================================================
 * 在籍（地元）求人 確定デザイン（lcl- 系）
 * 素材集 02_女性求人/local_pc 準拠
 * ========================================================= */
.rc-page--lcl{--lcl-pink:#ea5c8f;--lcl-pink-d:#d64b7e;--lcl-pink-l:#fdeef4;--lcl-mint:#3fb3a4;--lcl-mint-d:#2b9487;--lcl-mint-l:#e8f7f4;--lcl-ink:#3c3540;--lcl-gray:#7d7580;--lcl-line:#ecdfe6;--lcl-gold:#c9a227}
.rc-page--lcl .rc-container{width:min(1180px,100% - 32px)}
.lcl-sec{margin:32px 0 0}

/* ---- ヒーロー ---- */
.lcl-hero{width:min(1180px,100% - 32px);margin:16px auto 0}
.lcl-hero__inner{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) 210px;align-items:center;gap:0 14px;min-height:330px;padding:24px 22px;border-radius:16px;overflow:hidden;background:linear-gradient(115deg,#fdf6f1 0%,#faf1ea 46%,#f7ece4 100%)}
.lcl-hero__body{position:relative;z-index:3}
.lcl-hero__title{margin:0 0 12px;display:flex;flex-direction:column;gap:3px;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;line-height:1.14;letter-spacing:.02em}
.lcl-hero__title-1{font-size:clamp(1.3rem,3.1vw,2.02rem);font-weight:900;color:#2f2b33}
.lcl-hero__title-2{font-size:clamp(1.72rem,4.3vw,2.82rem);font-weight:900;color:var(--lcl-pink)}
.lcl-hero__tag{display:inline-block;margin:0 0 10px;padding:6px 16px;border-radius:6px;background:var(--lcl-pink);color:#fff;font-size:clamp(.76rem,1.5vw,.92rem);font-weight:800;box-shadow:0 3px 10px rgba(234,92,143,.28)}
.lcl-hero__sub{margin:0;font-size:clamp(.88rem,1.8vw,1.08rem);font-weight:800;color:#3c3540;font-family:"Hiragino Mincho ProN","Yu Mincho",serif}
.lcl-hero__visual{position:relative;align-self:stretch;margin:-24px 0;min-height:330px}
.lcl-hero__visual img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block}
.lcl-hero__ctas{position:relative;z-index:3;display:grid;gap:9px;align-content:center}
.lcl-cta{display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 10px;border-radius:9px;font-size:.9rem;font-weight:800;transition:.18s;box-shadow:0 3px 10px rgba(60,53,64,.12)}
.lcl-cta:hover{filter:brightness(1.06);opacity:1}
.lcl-cta__ic{flex:0 0 auto;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.24)}
.lcl-cta__ic svg{width:15px;height:15px}
.lcl-cta--line{background:#06c755;color:#fff !important}
.lcl-cta--form{background:var(--lcl-pink);color:#fff !important}
.lcl-cta--tel{background:#fff;color:var(--lcl-ink) !important;border:1.5px solid var(--lcl-line);padding:9px 10px}
.lcl-cta--tel .lcl-cta__ic{background:var(--lcl-pink-l);color:var(--lcl-pink)}
.lcl-cta__tel-body{display:flex;flex-direction:column;line-height:1.3;text-align:left}
.lcl-cta__tel-body small{font-size:.62rem;font-weight:600;color:var(--lcl-gray)}
.lcl-cta__tel-body strong{font-size:1.02rem;font-weight:900;color:var(--lcl-pink)}

/* ---- セクションタイトル ---- */
.lcl-title{margin:0 0 14px;display:flex;align-items:center;justify-content:center;gap:9px;font-size:clamp(1.06rem,2.4vw,1.34rem);font-weight:800}
.lcl-title--mint{color:var(--lcl-mint-d)}
.lcl-title--pink{color:var(--lcl-pink)}
.lcl-title--sm{font-size:clamp(1rem,2.1vw,1.14rem);margin-bottom:12px}
.lcl-title__cl{display:inline-flex}
.lcl-title__cl svg{width:18px;height:18px}

/* ---- カード共通 ---- */
.lcl-card{padding:15px 16px 17px;background:#fff;border:1px solid var(--lcl-line);border-radius:13px;box-shadow:0 3px 12px rgba(60,53,64,.05)}
.lcl-2col{display:grid;gap:16px;align-items:stretch}
.lcl-2col--income{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr)}
.lcl-2col--flow{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr)}
.lcl-2col--voice{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}

/* ---- 選ばれる理由（8アイコン） ---- */
.lcl-reasons{list-style:none;margin:0;padding:16px 6px;display:grid;grid-template-columns:repeat(8,1fr);background:#fff;border:1px solid var(--lcl-line);border-radius:13px;box-shadow:0 3px 12px rgba(60,53,64,.05)}
.lcl-reason{display:flex;flex-direction:column;align-items:center;gap:8px;padding:2px 6px;text-align:center}
.lcl-reason+.lcl-reason{border-left:1px solid #f3e8ee}
.lcl-reason__ic{display:grid;place-items:center;width:40px;height:40px}
.lcl-reason__ic svg{width:30px;height:30px;stroke-width:1.7}
.lcl-reason--pink .lcl-reason__ic{color:var(--lcl-pink)}
.lcl-reason--mint .lcl-reason__ic{color:var(--lcl-mint)}
.lcl-reason__label{margin:0;font-size:.76rem;font-weight:700;line-height:1.5;color:var(--lcl-ink)}

/* ---- 収入例 ---- */
.lcl-card--income{display:flex;flex-direction:column}
.lcl-income{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lcl-income__item{display:flex;flex-direction:column;border-radius:11px;overflow:hidden;border:1px solid #f3d9e4;background:#fffafc}
.lcl-income__head{margin:0;padding:8px;text-align:center;font-size:.86rem;font-weight:800;color:#fff;background:linear-gradient(135deg,#f086ab,#e0417a)}
.lcl-income__body{display:grid;grid-template-columns:minmax(0,1fr) 76px;align-items:center;gap:8px;padding:11px 11px 6px}
.lcl-income__daily-label{margin:0 0 2px;display:flex;align-items:center;gap:4px;font-size:.76rem;font-weight:700;color:var(--lcl-gray)}
.lcl-income__clock{display:inline-flex;color:var(--lcl-pink)}
.lcl-income__clock svg{width:14px;height:14px}
.lcl-income__daily{margin:0;line-height:1;display:flex;align-items:baseline;gap:1px}
.lcl-income__daily strong{font-size:clamp(1.3rem,2.9vw,1.72rem);font-weight:900;color:var(--lcl-pink-d);letter-spacing:-.02em}
.lcl-income__daily span{font-size:.86rem;font-weight:900;color:var(--lcl-pink-d)}
.lcl-income__fig{margin:0;border-radius:8px;overflow:hidden}
.lcl-income__fig img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;display:block}
.lcl-income__month{margin:0;padding:8px 10px 11px;text-align:center;font-size:.74rem;font-weight:700;color:var(--lcl-gray);line-height:1.5}
.lcl-income__month strong{font-size:clamp(1.02rem,2.3vw,1.3rem);font-weight:900;color:var(--lcl-pink-d)}

/* ---- 身バレ対策 ---- */
.lcl-card--privacy{background:linear-gradient(160deg,#eefaf7,#e2f4f0);border-color:#c9e8e2}
.lcl-privacy__title{margin:0 0 13px;text-align:center;font-size:clamp(1.06rem,2.4vw,1.3rem);font-weight:900;color:#2b7a70}
.lcl-privacy{display:grid;grid-template-columns:minmax(0,1fr) 138px;gap:12px;align-items:center}
.lcl-privacy__list{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.lcl-privacy__list li{display:flex;align-items:flex-start;gap:7px;font-size:.82rem;font-weight:700;line-height:1.5;color:#2f5c56}
.lcl-privacy__ck{flex:0 0 auto;display:grid;place-items:center;width:19px;height:19px;border-radius:5px;background:var(--lcl-mint);color:#fff;margin-top:1px}
.lcl-privacy__ck svg{width:12px;height:12px;stroke-width:2.6}
.lcl-privacy__fig{margin:0;border-radius:10px;overflow:hidden}
.lcl-privacy__fig img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;display:block}

/* ---- お仕事までの流れ（3ステップ） ---- */
.lcl-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.lcl-flow__item{position:relative;padding:0 0 2px}
.lcl-flow__item+.lcl-flow__item::before{content:"";position:absolute;left:-8px;top:34px;width:0;height:0;border-left:7px solid var(--lcl-mint);border-top:5px solid transparent;border-bottom:5px solid transparent}
.lcl-flow__fig{margin:0 0 7px;border-radius:8px;overflow:hidden}
.lcl-flow__fig img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 22%;display:block}
.lcl-flow__head{margin:0 0 4px;display:flex;align-items:baseline;gap:5px;font-size:.78rem;font-weight:800;color:var(--lcl-mint-d);line-height:1.4}
.lcl-flow__no{font-size:.72rem;font-weight:900;color:var(--lcl-pink)}
.lcl-flow__desc{margin:0;font-size:.7rem;line-height:1.6;color:var(--lcl-gray)}

/* ---- 待機場のご紹介 ---- */
.lcl-lounge{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:7px}
.lcl-lounge__item figure{margin:0}
.lcl-lounge__item img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;border-radius:7px;border:1px solid var(--lcl-line)}
.lcl-lounge__item figcaption{margin-top:5px;text-align:center;font-size:.66rem;font-weight:700;color:var(--lcl-ink);line-height:1.35}

/* ---- 先輩の声 ---- */
.lcl-card--voice{background:linear-gradient(170deg,#fff6fa,#fdeef4);border-color:#f6dae6}
.lcl-voices{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.lcl-voice{display:flex;flex-direction:column;gap:7px;padding:9px;background:#fff;border:1px solid #f6dae6;border-radius:10px}
.lcl-voice__fig{margin:0;border-radius:8px;overflow:hidden}
.lcl-voice__fig img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;display:block}
.lcl-voice__stars{margin:0 0 4px;font-size:.7rem;font-weight:800;color:var(--lcl-gold);letter-spacing:.05em}
.lcl-voice__text{margin:0 0 4px;font-size:.72rem;line-height:1.65;color:var(--lcl-ink)}
.lcl-voice__age{margin:0;font-size:.66rem;color:var(--lcl-gray)}

/* ---- FAQ ---- */
.lcl-card--faq{background:linear-gradient(170deg,#f2fbf9,#e8f7f4);border-color:#c9e8e2}
.lcl-faq{padding:8px 12px 4px;background:#fff;border-radius:10px;border:1px solid #d9ece8}
.lcl-faq__item+.lcl-faq__item{border-top:1px solid #eef6f4}
.lcl-faq__item summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 2px;font-size:.8rem;font-weight:600;color:var(--lcl-ink);cursor:pointer;list-style:none;line-height:1.5}
.lcl-faq__item summary::-webkit-details-marker{display:none}
.lcl-faq__item summary::after{content:"";flex:0 0 auto;width:8px;height:8px;border-right:1.8px solid var(--lcl-mint);border-bottom:1.8px solid var(--lcl-mint);rotate:45deg;transition:rotate .2s}
.lcl-faq__item[open] summary::after{rotate:225deg}
.lcl-faq__item p{margin:0 0 11px;padding:9px 11px;background:var(--lcl-mint-l);border-radius:8px;font-size:.76rem;line-height:1.75;color:#37605a}
.lcl-faq__more{margin:10px 0 4px;text-align:center}
.lcl-faq__more a{display:inline-block;padding:6px 18px;border-radius:999px;background:var(--lcl-mint);color:#fff;font-size:.74rem;font-weight:700}

/* ---- レスポンシブ ---- */
@media (max-width:1180px){
.lcl-hero__inner{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);grid-template-areas:"body visual" "ctas ctas";min-height:0}
.lcl-hero__body{grid-area:body}
.lcl-hero__visual{grid-area:visual}
.lcl-hero__ctas{grid-area:ctas;grid-template-columns:1fr 1fr 1.3fr;margin-top:14px}
.lcl-reasons{grid-template-columns:repeat(4,1fr);gap:16px 0}
.lcl-reason:nth-child(5){border-left:0}
.lcl-2col--income,.lcl-2col--flow,.lcl-2col--voice{grid-template-columns:1fr}
}
@media (max-width:767px){
.lcl-hero{margin-top:10px}
.lcl-hero__inner{grid-template-columns:1fr;grid-template-areas:"body" "visual" "ctas";padding:18px 16px}
.lcl-hero__visual{margin:0 -16px;min-height:0}
.lcl-hero__visual img{aspect-ratio:16/11;height:auto}
.lcl-hero__ctas{grid-template-columns:1fr;margin-top:12px}
.lcl-hero__title-1{font-size:1.2rem}
.lcl-hero__title-2{font-size:1.62rem}
.lcl-reasons{grid-template-columns:1fr 1fr;padding:14px 6px}
.lcl-reason+.lcl-reason{border-left:0}
.lcl-reason:nth-child(2n){border-left:1px solid #f3e8ee}
.lcl-income{grid-template-columns:1fr}
.lcl-privacy{grid-template-columns:1fr;justify-items:center}
.lcl-privacy__fig{width:170px}
.lcl-flow{grid-template-columns:1fr}
.lcl-flow__item+.lcl-flow__item::before{display:none}
.lcl-flow__fig img{aspect-ratio:16/9}
.lcl-lounge{grid-template-columns:repeat(3,1fr)}
.lcl-voices{grid-template-columns:1fr}
.lcl-voice{flex-direction:row}
.lcl-voice__fig{flex:0 0 72px}
}

/* =========================================================
 * クレジットカード決済のご案内 確定デザイン（cdp- 系）
 * 素材集 01_営業サイト/card_payment_pc 準拠
 * ========================================================= */
.cdp{--cdp-mint:#3fb9a6;--cdp-mint-d:#2a9488;--cdp-pink:#f2789f;--cdp-pink-d:#e85c8a;--cdp-gold:#e8b13c;--cdp-ink:#3f3a42;--cdp-gray:#7b737f;position:relative;padding:26px 0 44px;overflow:hidden;background:
	radial-gradient(58% 34% at 4% 2%,#dff5f0 0%,rgba(223,245,240,0) 62%),
	radial-gradient(50% 30% at 96% 5%,#fde6ef 0%,rgba(253,230,239,0) 62%),
	radial-gradient(46% 26% at 2% 96%,#e6f6f2 0%,rgba(230,246,242,0) 60%),
	radial-gradient(52% 28% at 98% 94%,#fdeaf1 0%,rgba(253,234,241,0) 62%),
	linear-gradient(180deg,#fefdfb 0%,#fdfbf8 100%)}
.cdp__inner{position:relative;z-index:2;width:min(1000px,100% - 32px);margin:0 auto}

/* ---- ヘッダー ---- */
.cdp-head{text-align:center;padding:6px 0 4px}
.cdp-head--banner{padding:14px 0 22px;background:linear-gradient(120deg,#e6f2fb 0%,#f6fbfe 50%,#e6f2fb 100%);border-radius:10px}
.cdp-head--banner .lc-header-banner-pc{border-radius:6px;display:block;width:100%}
.cdp-head__icon{margin:0 auto 6px;width:clamp(120px,17vw,168px)}
.cdp-head__icon img{width:100%;height:auto;display:block;mix-blend-mode:multiply}
.cdp-head__title{margin:0 0 14px;font-size:clamp(1.5rem,4.6vw,2.72rem);font-weight:900;letter-spacing:.01em;line-height:1.24;color:var(--cdp-mint)}
.cdp-head__title-pink{color:var(--cdp-pink)}
.cdp-head__title::after{content:"";display:none}
.cdp-head__lead{margin:0 0 16px;font-size:clamp(.84rem,1.75vw,1.02rem);font-weight:600;line-height:1.85;color:#4a444d}
.cdp-head__lead strong{color:var(--cdp-pink);font-weight:800}
.cdp-head__note{display:flex;align-items:center;justify-content:center;gap:9px;margin:0;padding:13px 20px;border-radius:9px;background:#e4f4f0;font-size:clamp(.78rem,1.6vw,.95rem);font-weight:600;color:#357a71;line-height:1.6}
.cdp-head__shield{flex:0 0 auto;display:inline-flex;color:var(--cdp-mint)}
.cdp-head__shield svg{width:21px;height:21px}

/* ---- リボン見出し ---- */
.cdp-sec{margin-top:34px}
.cdp-ribbon{position:relative;margin:0 auto 20px;width:fit-content;max-width:100%;padding:9px 34px;border-radius:5px;background:var(--cdp-mint);color:#fff;font-size:clamp(.95rem,2.1vw,1.2rem);font-weight:800;letter-spacing:.06em;text-align:center;display:flex;align-items:center;gap:11px;justify-content:center}
.cdp-ribbon::before,.cdp-ribbon::after{content:"";position:absolute;top:50%;width:44vw;max-width:250px;border-top:2px dotted #9dd8ce}
.cdp-ribbon::before{right:100%;margin-right:14px}
.cdp-ribbon::after{left:100%;margin-left:14px}
.cdp-ribbon span{font-size:.82em;opacity:.9}

/* ---- お支払いの流れ（4ステップ） ---- */
.cdp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0 30px}
.cdp-step{position:relative;display:flex;flex-direction:column;align-items:center;padding:22px 13px 20px;border-radius:13px;background:#fff;border:1.5px solid #d8ece8;text-align:center}
.cdp-step+.cdp-step::before{content:"";position:absolute;left:-21px;top:50%;translate:0 -50%;width:0;height:0;border-left:11px solid var(--cdp-mint);border-top:8px solid transparent;border-bottom:8px solid transparent}
.cdp-step--mint{border-color:#c9e8e2;background:linear-gradient(180deg,#fbfffe,#f4fcfa)}
.cdp-step--pink{border-color:#f7d9e4;background:linear-gradient(180deg,#fffbfc,#fdf3f7)}
.cdp-step--gold{border-color:#f3e2b8;background:linear-gradient(180deg,#fffdf7,#fdf8ec)}
.cdp-step__badge{position:absolute;top:-13px;left:50%;translate:-50% 0;padding:5px 15px;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.08em;color:#fff;white-space:nowrap;box-shadow:0 2px 7px rgba(63,58,66,.13)}
.cdp-step__badge strong{font-size:1.06rem;font-weight:900;margin-left:2px}
.cdp-step--mint .cdp-step__badge{background:var(--cdp-mint)}
.cdp-step--pink .cdp-step__badge{background:var(--cdp-pink)}
.cdp-step--gold .cdp-step__badge{background:var(--cdp-gold)}
.cdp-step__fig{margin:8px 0 13px;width:clamp(84px,11vw,116px)}
.cdp-step__fig img{width:100%;height:auto;display:block;mix-blend-mode:multiply}
.cdp-step__title{margin:0 0 7px;font-size:clamp(.88rem,1.85vw,1.04rem);font-weight:800;line-height:1.45;color:var(--cdp-ink)}
.cdp-step--mint:nth-child(2) .cdp-step__title{color:var(--cdp-mint)}
.cdp-step__accent{margin:0 0 4px;font-size:clamp(.74rem,1.5vw,.85rem);font-weight:700;line-height:1.7;color:var(--cdp-pink-d)}
.cdp-step__after{display:block;color:var(--cdp-gray);font-weight:600}
.cdp-step__body{margin:0;font-size:clamp(.72rem,1.45vw,.83rem);font-weight:500;line-height:1.75;color:var(--cdp-gray)}

/* ---- 注意事項 ---- */
.cdp-caution{position:relative;padding:34px 24px 24px;border-radius:15px;background:linear-gradient(165deg,#fef5f8,#fdeef4);border:1px solid #f8dde7}
.cdp-caution__title{position:absolute;top:-16px;left:26px;margin:0;display:flex;align-items:center;gap:10px;padding:9px 26px 9px 20px;border-radius:5px;background:linear-gradient(135deg,#f78bab,#ef6d95);color:#fff;font-size:clamp(.92rem,2vw,1.14rem);font-weight:800;letter-spacing:.05em;box-shadow:0 3px 10px rgba(239,109,149,.26)}
.cdp-caution__mark{flex:0 0 auto;display:grid;place-items:center;width:25px;height:23px;font-size:.86rem;font-weight:900;color:#8a6a12;background:linear-gradient(180deg,#ffdc7a,#f5c34a);clip-path:polygon(50% 0,100% 100%,0 100%);padding-top:5px;line-height:1}
.cdp-caution__body{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:16px;align-items:center;margin-top:14px}
.cdp-caution__list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.cdp-caution__list li{display:flex;align-items:flex-start;gap:9px;font-size:clamp(.78rem,1.6vw,.9rem);font-weight:600;line-height:1.65;color:#4d454f}
.cdp-caution__list em{font-style:normal;font-weight:800;color:var(--cdp-pink-d)}
.cdp-caution__ck{flex:0 0 auto;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--cdp-pink);color:#fff;margin-top:2px}
.cdp-caution__ck svg{width:12px;height:12px;stroke-width:3}
.cdp-caution__fig{margin:0}
.cdp-caution__fig img{width:100%;height:auto;display:block;mix-blend-mode:multiply}

/* ---- カードブランド ---- */
.cdp-ribbon--mint{background:var(--cdp-mint)}
.cdp-brands{padding:22px 22px 16px;background:#fff;border:1.5px solid #d8ece8;border-radius:13px}
.cdp-brands__list{list-style:none;margin:0 0 12px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;gap:10px}
.cdp-brand{display:grid;place-items:center;min-height:64px;padding:8px}
.cdp-brand span{font-family:Arial,Helvetica,"Helvetica Neue",sans-serif;text-align:center;line-height:1.1}
.cdp-brand--visa span{font-size:clamp(1.5rem,3.4vw,2.14rem);font-weight:900;font-style:italic;letter-spacing:-.01em;color:#1a1f71}
.cdp-brand--master span{position:relative;padding-top:32px;font-size:.78rem;font-weight:700;color:#3a3a3a;letter-spacing:-.01em}
.cdp-brand--master span::before,.cdp-brand--master span::after{content:"";position:absolute;top:0;width:31px;height:31px;border-radius:50%}
.cdp-brand--master span::before{left:50%;translate:-78% 0;background:#eb001b}
.cdp-brand--master span::after{left:50%;translate:-22% 0;background:#f79e1b;mix-blend-mode:multiply}
.cdp-brand--jcb span{display:inline-flex;align-items:center;justify-content:center;min-width:58px;height:38px;padding:0 10px;border-radius:6px;background:linear-gradient(90deg,#0e4c96 0 33%,#e6002d 33% 66%,#00944e 66% 100%);box-shadow:0 1px 3px rgba(0,0,0,.18);font-size:0}
.cdp-brand--jcb span::before{content:"JCB";font-size:clamp(1rem,2.2vw,1.3rem);font-weight:800;font-style:italic;letter-spacing:.02em;color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.25)}
.cdp-brand--amex span{padding:7px 9px;background:#016fd0;color:#fff;font-size:clamp(.6rem,1.3vw,.76rem);font-weight:800;letter-spacing:.02em;border-radius:2px;max-width:100%}
.cdp-brand--diners span{position:relative;padding-top:34px;font-size:.7rem;font-weight:700;color:#2b2b2b;letter-spacing:.02em}
.cdp-brand--diners span::before{content:"";position:absolute;top:0;left:50%;translate:-50% 0;width:32px;height:32px;border-radius:50%;background:#0079be}
.cdp-brand--diners span::after{content:"";position:absolute;top:8px;left:50%;translate:-50% 0;width:11px;height:16px;border-radius:50%;background:#fff}
.cdp-brands__note{margin:0;text-align:center;font-size:clamp(.72rem,1.45vw,.84rem);font-weight:600;color:var(--cdp-gray)}

/* ---- SSL 帯 ---- */
.cdp-ssl{display:flex;align-items:center;gap:14px;margin-top:32px;padding:18px 22px;border-radius:13px;background:linear-gradient(120deg,#eef9f6,#fdf0f5)}
.cdp-ssl__seal{flex:0 0 auto;display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--cdp-mint);color:#fff;font-size:.86rem;font-weight:900;line-height:1.2;text-align:center;box-shadow:0 3px 10px rgba(63,185,166,.3)}
.cdp-ssl__lock{flex:0 0 auto;display:inline-flex;color:var(--cdp-gold)}
.cdp-ssl__lock svg{width:30px;height:30px}
.cdp-ssl__text{margin:0;font-size:clamp(.86rem,1.85vw,1.08rem);font-weight:800;line-height:1.75;color:#2f8d80;letter-spacing:.02em}

/* ---- レスポンシブ ---- */
@media (max-width:900px){
.cdp-steps{grid-template-columns:1fr 1fr;gap:32px 26px}
.cdp-step:nth-child(3)::before{display:none}
.cdp-caution__body{grid-template-columns:1fr;justify-items:center}
.cdp-caution__fig{width:180px}
.cdp-brands__list{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:600px){
.cdp{padding:18px 0 32px}
.cdp-steps{grid-template-columns:1fr;gap:30px 0}
.cdp-step+.cdp-step::before{left:50%;top:-19px;translate:-50% 0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:11px solid var(--cdp-mint);border-bottom:0}
.cdp-ribbon{padding:8px 20px}
.cdp-ribbon::before,.cdp-ribbon::after{display:none}
.cdp-caution{padding:32px 15px 20px}
.cdp-caution__title{left:12px;right:12px;padding:8px 14px;font-size:.9rem}
.cdp-brands__list{grid-template-columns:1fr 1fr}
.cdp-ssl{flex-wrap:wrap;justify-content:center;text-align:center}
.cdp-ssl__text{flex:1 1 100%}
}

/* =========================================================
 * ヘッダー & トップページ 確定デザイン調整（2026-08-03）
 * 素材: 01_営業サイト/customer_top_pc
 * ========================================================= */

/* ---- ヘッダー: 営業時間バッジ ---- */
.lc-header__hours{margin:5px 0 0;display:flex;align-items:center;justify-content:flex-end;gap:8px;font-size:14px;color:#5c5560;flex-wrap:wrap}
.lc-header__badge{display:inline-block;padding:4px 12px;border:1px solid var(--pink);border-radius:4px;font-size:13px;font-weight:700;color:var(--pink);line-height:1.3;white-space:nowrap}
.lc-header__hours-text{font-weight:600;letter-spacing:.01em;white-space:nowrap}

/* ---- ヘッダー: ボタン内アイコン ---- */
.lc-btn--reserve{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:136px;padding:7px 14px;line-height:1.25;text-decoration:none !important}
.lc-btn--reserve,.lc-btn--reserve *{text-decoration:none !important}
.lc-btn__ico{display:inline-flex;align-items:center;justify-content:center}
.lc-btn__ico svg{width:16px;height:16px}
.lc-btn--reserve .lc-btn__ico{position:absolute;left:11px;top:50%;translate:0 -50%}
.lc-btn--reserve .lc-btn__ico svg{width:19px;height:19px}
.lc-btn__ico--line{position:absolute;left:8px;top:50%;translate:0 -50%;width:26px;height:26px;border-radius:5px;background:transparent;color:#fff;font-size:8.5px;font-weight:900;letter-spacing:-.02em;display:grid;place-items:center}
.lc-btn__ico--line svg{width:24px;height:24px}
.lc-btn__ico--line .lc-ctaic--line{color:#fff;--lc-ctaic-knock:#06c755}
.lc-btn--reserve{padding-left:34px}

/* ---- ヘッダー: お気に入り / サイトマップ ---- */
.lc-header__util{display:flex;gap:16px;align-items:center;flex:0 0 auto}
.lc-header__util-link{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;font-weight:600;color:#6b636f !important;text-decoration:none;transition:.15s}
.lc-header__util-link:hover{color:var(--pink) !important}
.lc-header__util-ico{display:inline-flex;color:var(--pink)}
.lc-header__util-ico svg{width:22px;height:22px}
.lc-header__util-link:nth-child(2) .lc-header__util-ico{color:var(--pink)}
@media (max-width:1100px){.lc-header__util{display:none}}

/* ---- グローバルナビ: 10項目対応 ---- */
.lc-gnav__list{gap:2px}
.lc-gnav__item a{padding-left:6px;padding-right:6px}
.lc-gnav__label{white-space:nowrap;font-size:12.5px}
@media (max-width:1200px){.lc-gnav__label{font-size:11.5px}}

/* =========================================================
 * トップ 出勤情報（2枚横並び・写真左/情報右）
 * ========================================================= */
.lc-top-sched{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.lc-tsc{display:flex;flex-direction:column;background:#fff;border:1.5px solid #f6dde5;border-radius:11px;overflow:hidden;transition:.18s}
.lc-tsc:hover{box-shadow:0 6px 18px rgba(63,58,66,.1);transform:translateY(-2px)}
.lc-tsc--mint{border-color:#cfe9e4}
.lc-tsc__photowrap{position:relative;}
.lc-tsc__photo{position:relative;display:block;aspect-ratio:3/4;background:var(--bg);overflow:hidden}
.lc-tsc__book{position:absolute;left:8px;right:8px;bottom:8px;z-index:3;display:flex;align-items:center;justify-content:center;height:34px;border-radius:999px;background:var(--pink);color:#fff !important;font-weight:700;font-size:12.5px;text-decoration:none !important;box-shadow:0 3px 10px rgba(0,0,0,.28);transition:filter .15s}
.lc-tsc__book:hover{filter:brightness(1.07)}
.lc-tsc__photo img{width:100%;height:100%;object-fit:cover;display:block}
.lc-tsc__time{position:absolute;top:0;left:0;padding:6px 12px;border-radius:0 0 8px 0;background:rgba(233,79,132,.72);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.01em;white-space:nowrap}
.lc-tsc--mint .lc-tsc__time{background:rgba(63,185,166,.72)}
.lc-tsc__fav{position:absolute;top:8px;right:8px;width:30px;height:30px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:#f0a8bf;display:grid;place-items:center;cursor:pointer;padding:0}
.lc-tsc__fav svg{width:17px;height:17px}
.lc-tsc__fav.is-on{color:var(--pink)}
.lc-tsc__fav.is-on svg{fill:currentColor}
.lc-tsc__body{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:12px 12px 14px}
.lc-tsc__name{margin:0;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.lc-tsc__name a{font-size:clamp(.95rem,1.5vw,1.12rem);font-weight:800;color:var(--pink) !important;letter-spacing:.02em;text-decoration:none}
.lc-tsc--mint .lc-tsc__name a{color:#2f9e8e !important}
.lc-tsc__age{font-size:.86rem;font-weight:600;color:#4d4750}
.lc-tsc__catch{margin:2px 0 0;font-size:12px;font-weight:600;color:#0abab5;line-height:1.4}
.lc-tsc--mint .lc-tsc__catch{color:#0abab5}
.lc-tsc__tags{margin:0;display:flex;gap:8px;flex-wrap:wrap}
.lc-tsc__tags span{padding:5px 13px;border-radius:5px;background:#fdeaf1;color:#d9628c;font-size:12px;font-weight:600;line-height:1.3}
.lc-tsc--mint .lc-tsc__tags span{background:#e2f4f1;color:#33998b}
.lc-tsc__tags span:nth-child(2){background:#e2f4f1;color:#33998b}
.lc-tsc__tags span:nth-child(3){background:#f2edfb;color:#7c5cbf}
.lc-tsc__btns{display:grid;gap:9px;margin-top:2px}
.lc-tsc__btn{display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 12px;border-radius:6px;font-size:13.5px;font-weight:700;text-decoration:none;transition:.15s}
.lc-tsc__btn svg{width:15px;height:15px}
.lc-tsc__btn--detail{border:1.5px solid var(--pink);color:var(--pink) !important;background:#fff}
.lc-tsc__btn--detail:hover{background:#fdf2f6}
.lc-tsc--mint .lc-tsc__btn--detail{border-color:#3fb9a6;color:#2f9e8e !important}
.lc-tsc--mint .lc-tsc__btn--detail:hover{background:#f0faf8}
.lc-tsc__btn--book{background:transparent;color:var(--emerald-dark) !important;border:1.5px solid var(--emerald)}
.lc-tsc__btn--book:hover{background:var(--emerald-light)}
.lc-tsc--mint .lc-tsc__btn--book{background:transparent;border-color:#3fb9a6;color:#2f9e8e !important}

/* =========================================================
 * トップ 下段2カラム（写メ日記 + 即姫ランキング）
 * ========================================================= */
.lc-top-bottom{display:grid;grid-template-columns:1fr;gap:26px;align-items:start}

/* 写メ日記 4枚グリッド */
.lc-top-diary__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}
.lc-tdc{position:relative;background:#fff;border:1px solid #f2e4ea;border-radius:9px;overflow:hidden;transition:.18s}
.lc-tdc:hover{box-shadow:0 5px 15px rgba(63,58,66,.1)}
.lc-tdc a{display:block;color:var(--ink);text-decoration:none}
.lc-tdc__photo{position:relative;display:block;aspect-ratio:3/4;background:var(--bg);overflow:hidden}
.lc-tdc__photo img{width:100%;height:100%;object-fit:cover;display:block}
.lc-tdc__new{position:absolute;top:0;left:0;padding:3px 10px 3px 6px;background:rgba(255,255,255,.85);color:#b8860b;border:1.5px solid #d4af37;font-size:10px;font-weight:900;letter-spacing:.04em;border-radius:0 0 8px 0;z-index:2}
.lc-tdc__date{position:absolute;top:6px;right:6px;padding:0;border-radius:0;background:transparent;color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.01em;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.65)}
.lc-tdc__meta{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:9px 10px 10px}
.lc-tdc__title{font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.lc-tdc__like{display:inline-flex;align-items:center;gap:3px;flex:0 0 auto;font-size:11px;font-weight:700;color:var(--pink)}
.lc-tdc__like svg{width:12px;height:12px}

/* 即姫ランキング */
.lc-top-rank__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.lc-trc{position:relative;background:#fff;border:1px solid #f2e4ea;border-radius:9px;overflow:hidden;display:flex;flex-direction:column}
.lc-trc__photo{position:relative;display:block;aspect-ratio:1/1;background:var(--bg);overflow:hidden}
.lc-trc__photo img{width:100%;height:100%;object-fit:cover;display:block}
.lc-trc__medal{position:absolute;top:6px;left:6px;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;font-size:14px;font-weight:900;color:#fff;z-index:2;box-shadow:0 2px 6px rgba(0,0,0,.18)}
.lc-trc__medal--1{background:linear-gradient(145deg,#fbd25f,#e5a020)}
.lc-trc__medal--2{background:linear-gradient(145deg,#d6dae0,#a8adb6)}
.lc-trc__medal--3{background:linear-gradient(145deg,#e2a878,#c07a3f)}
.lc-trc__body{display:flex;flex-direction:column;gap:5px;padding:9px 9px 0;flex:1 1 auto}
.lc-trc__name{margin:0;display:flex;align-items:baseline;gap:5px;flex-wrap:wrap}
.lc-trc__name a{font-size:14.5px;font-weight:800;color:var(--pink) !important;text-decoration:none}
.lc-trc:nth-child(2) .lc-trc__name a{color:#2f9e8e !important}
.lc-trc__age{font-size:11px;font-weight:600;color:#4d4750}
.lc-trc__time{margin:0;font-size:11.5px;font-weight:700;color:#4d4750;letter-spacing:.01em}
.lc-trc__tags{margin:0 0 8px;display:flex;gap:4px;flex-wrap:wrap}
.lc-trc__tags span{padding:3px 7px;border-radius:4px;background:#fdeaf1;color:#d9628c;font-size:10px;font-weight:600;line-height:1.3}
.lc-trc:nth-child(2) .lc-trc__tags span,.lc-trc:nth-child(3) .lc-trc__tags span{background:#e2f4f1;color:#33998b}
.lc-trc__btn{display:flex;align-items:center;justify-content:center;gap:5px;margin:auto 9px 9px;padding:8px 6px;border-radius:5px;font-size:12px;font-weight:700;text-decoration:none;background:var(--pink);color:#fff !important;transition:.15s}
.lc-trc__btn svg{width:13px;height:13px}
.lc-trc__btn:hover{filter:brightness(1.06)}
.lc-trc:nth-child(2) .lc-trc__btn,.lc-trc:nth-child(3) .lc-trc__btn{background:#3fb9a6}

/* セクション見出しのアイコン差し替え（王冠・カメラ） */
.lc-section-title--crown .lc-section-title__icon svg{color:#e8b13c}
.lc-section-title--camera .lc-section-title__icon{display:grid;place-items:center;width:26px;height:26px;border-radius:6px;background:var(--pink)}
.lc-section-title--camera .lc-section-title__icon svg{color:#fff;width:16px;height:16px}

/* ---- レスポンシブ ---- */
@media (max-width:1000px){
.lc-top-bottom{grid-template-columns:1fr;gap:30px}
.lc-top-diary__grid{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:760px){
.lc-top-sched{grid-template-columns:1fr}
.lc-top-diary__grid{grid-template-columns:1fr 1fr}
.lc-top-rank__grid{grid-template-columns:1fr}
.lc-trc{flex-direction:row;align-items:stretch}
.lc-trc__photo{flex:0 0 34%;aspect-ratio:3/4}
.lc-trc__body{flex:1 1 auto}
.lc-trc__btn{margin:0 9px 9px auto;min-width:120px}
.lc-header__hours{justify-content:center}
}
@media (max-width:520px){
.lc-tsc{grid-template-columns:minmax(0,44%) minmax(0,1fr)}
.lc-tsc__body{padding:12px 12px 12px 13px;gap:8px}
.lc-tsc__btn{padding:8px 8px;font-size:12px}
}

/* =========================================================
 * 女の子一覧 確定デザイン調整（2026-08-03）
 * 素材: 01_営業サイト/girls_list_pc
 * ========================================================= */

/* ---- ページヘッダー帯（3カラム: 見出し / リード / お気に入り） ---- */
.lc-page-header--girls .lc-page-header__inner{position:relative}
.lc-page-header--girls .lc-page-header__title{margin:0}
.lc-page-header--girls .lc-page-header__desc{margin:0;font-size:13.5px;line-height:1.85;color:#5f5764;font-weight:500}
.lc-page-header__fav{display:inline-flex;align-items:center;gap:7px;padding:10px 22px;border:1.5px solid var(--pink);border-radius:999px;background:#fff;color:var(--pink) !important;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;transition:.15s}
.lc-page-header__fav svg{width:16px;height:16px}
.lc-page-header__fav:hover{background:var(--pink);color:#fff !important}
.lc-page-header--girls{padding:14px 0;border-radius:11px;overflow:hidden;background:linear-gradient(120deg,#ffd9e6 0%,#fff3ea 50%,#f7dfc7 100%)}
.lc-list-bar__fav{flex-shrink:0}

/* ---- 絞り込みバー ---- */
.lc-filter{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin:18px 0 0;padding:16px 18px;background:#fff;border:1px solid #f2e6ec;border-radius:11px;box-shadow:0 2px 8px rgba(63,58,66,.05)}
.lc-filter label{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--pink);white-space:nowrap}
.lc-filter label:nth-of-type(3){color:#2f9e8e}
.lc-filter label:nth-of-type(1){color:var(--emerald-dark)}
.lc-filter select{padding:8px 30px 8px 12px;border:1px solid #e6dbe1;border-radius:6px;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a09aa6' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 8px center/15px;font-size:13px;font-weight:500;color:var(--ink);appearance:none;cursor:pointer;min-width:118px}
.lc-filter select:focus{outline:2px solid rgba(233,79,132,.25);border-color:var(--pink)}
.lc-filter .lc-btn--emerald{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:230px;padding:11px 22px;border-radius:7px;font-size:14px;font-weight:700}
.lc-filter .lc-btn--emerald svg{width:16px;height:16px}
@media (max-width:1000px){.lc-filter .lc-btn--emerald{margin-left:0;width:100%}}

/* ---- 選択中の条件 / 表示切替 ---- */
.lc-list-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:14px 0 0}
.lc-list-bar__cond{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.lc-list-bar__label{font-size:12.5px;font-weight:600;color:#6b636f}
.lc-cond-chip{padding:6px 15px;border:1px solid #e0d8de;border-radius:5px;background:#fbf9fa;font-size:12px;font-weight:600;color:#5f5764}
.lc-list-bar__reset{padding:6px 14px;border:1px solid #ded5db;border-radius:5px;background:#fff;font-size:12px;font-weight:600;color:#6b636f !important;text-decoration:none;transition:.15s}
.lc-list-bar__reset:hover{border-color:var(--pink);color:var(--pink) !important}
.lc-view-toggle{display:flex;align-items:center;gap:8px}
.lc-view-toggle__label{font-size:12px;font-weight:600;color:#6b636f}
.lc-view-toggle__btn{display:inline-flex;align-items:center;gap:5px;padding:6px 15px;border:1px solid #ded5db;border-radius:5px;background:#fff;font-size:12px;font-weight:700;color:#8a828e !important;text-decoration:none;transition:.15s}
.lc-view-toggle__btn.is-active{border-color:var(--pink);color:var(--pink) !important;background:#fdf3f7}
.lc-result-count{margin:12px 0 0;font-size:12.5px;color:#7d757f}
.lc-result-count strong{color:var(--pink);font-size:14px}

/* ---- 女の子カード（5列・中央揃え） ---- */
.lc-cast-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:14px}
.lc-cast-card{border-color:#f5e3ea}
.lc-cast-card__body{padding:12px 11px 13px;text-align:center}
.lc-cast-card__name{margin:0;display:flex;align-items:baseline;justify-content:center;gap:8px;flex-wrap:wrap}
.lc-cast-card__name a{font-size:1.16rem;font-weight:800;letter-spacing:.03em;text-decoration:none}
.lc-cast-card__age{font-size:.8rem;font-weight:600;color:#4d4750}
.lc-cast-card__tags{margin:7px 0 0;justify-content:center}
.lc-cast-card__tags .lc-tag{padding:4px 11px;border-radius:5px;background:#fdeaf1;color:#d9628c;font-size:11.5px;font-weight:600;line-height:1.3}
.lc-cast-card__tags .lc-tag:nth-child(2){background:#e2f4f1;color:#33998b}
.lc-cast-card__shift{margin:8px 0 0;justify-content:center;font-size:12.5px;font-weight:700;color:#4d4750}
.lc-cast-card__shift svg{width:14px;height:14px;color:#f0a020}
.lc-cast-card__btns{display:grid;grid-template-columns:1fr;gap:7px;margin-top:11px}
.lc-cast-card__btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:6px;font-size:12.5px;font-weight:700;text-decoration:none;transition:.15s}
.lc-cast-card__btn svg{width:13px;height:13px}
.lc-cast-card__btn--prof{background:#fdeff4;color:#e0699a !important;border:1px solid #f8dfe9}
.lc-cast-card__btn--prof:hover{background:#fce3ed}
.lc-cast-card__btn--book{background:var(--pink);color:#fff !important;border:1px solid var(--pink)}
.lc-cast-card__btn--book:hover{filter:brightness(1.06)}

/* 本日出勤リボン（斜め帯） */
.lc-ribbon--today{position:absolute;top:0;left:0;padding:5px 16px 5px 8px;background:var(--pink);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.02em;border-radius:0 0 10px 0;z-index:2;transform:none;width:auto;text-align:left;box-shadow:none}
.lc-ribbon--new{position:absolute;top:0;left:auto;right:0;padding:5px 8px 5px 14px;background:#3fb9a6;color:#fff;font-size:10.5px;font-weight:800;border-radius:0 0 0 10px;z-index:2;transform:none;width:auto;text-align:left;box-shadow:none}
/* お気に入りボタン */
.lc-fav{position:absolute;top:8px;right:8px;width:31px;height:31px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#f3a6c1;display:grid;place-items:center;cursor:pointer;padding:0;z-index:3;box-shadow:0 1px 4px rgba(0,0,0,.1)}
.lc-fav svg{width:18px;height:18px;stroke-width:1.9}
.lc-fav:hover{color:var(--pink)}
.lc-fav.is-on{color:var(--pink)}
.lc-fav.is-on svg{fill:currentColor}
.lc-cast-card__photo:has(.lc-ribbon--new) .lc-fav{top:32px}

/* ---- ページネーション（丸） ---- */
.lc-pagination{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin:28px 0 0}
.lc-pagination .page-numbers{display:grid;place-items:center;min-width:34px;height:34px;padding:0 10px;border:1px solid #e6dbe1;border-radius:999px;background:#fff;font-size:13px;font-weight:700;color:#6b636f;text-decoration:none;transition:.15s}
.lc-pagination .page-numbers:hover{border-color:var(--pink);color:var(--pink)}
.lc-pagination .page-numbers.current{background:var(--pink);border-color:var(--pink);color:#fff}
.lc-pagination .page-numbers.dots{border:0;background:transparent}
.lc-pagination .next,.lc-pagination .prev{padding:0 16px;font-weight:700}

/* ---- レスポンシブ ---- */
@media (max-width:1200px){.lc-cast-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:900px){.lc-cast-grid{grid-template-columns:repeat(3,1fr);gap:12px}}
@media (max-width:620px){
.lc-cast-grid{grid-template-columns:repeat(2,1fr);gap:10px}
.lc-cast-card__body{padding:10px 8px 11px}
.lc-cast-card__name a{font-size:1.02rem}
.lc-filter{gap:10px;padding:13px}
.lc-filter label{width:calc(50% - 5px);font-size:11.5px}
.lc-filter select{flex:1 1 auto;min-width:0;width:100%}
.lc-list-bar{gap:10px}
}

/* =========================================================
 * 出勤予定 確定デザイン（2026-08-03）
 * 素材: 01_営業サイト/schedule_pc
 * ========================================================= */

.lc-sched-layout{display:grid;grid-template-columns:1fr;gap:22px;align-items:start;margin-top:6px}
.lc-sched-main{min-width:0}

/* ---- ページヘッダー帯（メイン内） ---- */
.lc-page-header--sched{margin:0 0 16px;border-radius:11px;overflow:hidden;padding:14px 0;background:linear-gradient(120deg,#e6d6f8 0%,#f3ecfc 45%,#dcc3f0 100%)}
.lc-page-header--sched .lc-page-header__inner{display:block;padding:10px 24px}
.lc-page-header--sched .lc-page-header__title{margin:0}
.lc-page-header--sched .lc-page-header__desc{margin:0;font-size:13.5px;line-height:1.85;color:#5f5764;font-weight:500}
@media (max-width:820px){.lc-page-header--sched .lc-page-header__inner{grid-template-columns:1fr;gap:10px;text-align:center;padding:18px}}

/* ---- サイドバナー ---- */
.lc-sched-side{display:flex;flex-direction:column;gap:12px}
.lc-side-banner{display:block;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(63,58,66,.08);transition:.18s;background:#fdf3f7}
.lc-side-banner img{display:block;width:100%;height:auto}
.lc-side-banner:hover{transform:translateY(-2px);box-shadow:0 5px 14px rgba(63,58,66,.14)}
.lc-side-banner__ttl{display:grid;place-items:center;min-height:96px;padding:18px;font-size:16px;font-weight:800;color:var(--pink)}
@media (max-width:900px){
.lc-sched-layout{grid-template-columns:1fr}
.lc-sched-side{flex-direction:row;flex-wrap:wrap}
.lc-side-banner{flex:1 1 calc(50% - 6px)}
}

/* ---- 日付タブ ---- */
.lc-sched-days{display:flex;align-items:stretch;gap:8px;margin:0 0 14px}
.lc-sched-days__nav{flex:0 0 auto;display:grid;place-items:center;width:44px;border-radius:50%;background:var(--pink);color:#fff !important;font-size:20px;font-weight:700;text-decoration:none;line-height:1;transition:.15s;align-self:stretch}
.lc-sched-days__nav:hover{filter:brightness(1.08)}
.lc-sched-days__nav.is-disabled{background:#efe6ec;color:#c3b8c0 !important;pointer-events:none}
.lc-sched-days__track{flex:1 1 auto;display:grid;grid-template-columns:repeat(7,1fr);gap:7px;overflow:visible}
.lc-sched-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:11px 4px;border:1px solid #e9dee5;border-radius:8px;background:#fff;text-decoration:none;transition:.15s}
.lc-sched-day__md{font-size:15px;font-weight:700;color:#3f3a42;line-height:1.2}
.lc-sched-day__wd{font-size:11.5px;font-weight:600;color:#7d757f}
.lc-sched-day:hover{border-color:var(--pink)}
.lc-sched-day.is-sat{background:#f5f9ff;border-color:#dbe7f5}
.lc-sched-day.is-sat .lc-sched-day__md,.lc-sched-day.is-sat .lc-sched-day__wd{color:#3d7dc4}
.lc-sched-day.is-sun{background:#fff6f6;border-color:#f5dede}
.lc-sched-day.is-sun .lc-sched-day__md,.lc-sched-day.is-sun .lc-sched-day__wd{color:#dd4e4e}
.lc-sched-day.is-active{background:var(--pink) !important;border-color:var(--pink) !important;box-shadow:0 3px 9px rgba(233,79,132,.28)}
.lc-sched-day.is-active .lc-sched-day__md,.lc-sched-day.is-active .lc-sched-day__wd{color:#fff !important}
.lc-sched-days__cal{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:0 16px;border:1px solid #e9dee5;border-radius:8px;background:#fff;color:#5f5764 !important;font-size:12.5px;font-weight:700;text-decoration:none;white-space:nowrap;transition:.15s}
.lc-sched-days__cal svg{width:15px;height:15px;color:var(--pink)}
.lc-sched-days__cal:hover{border-color:var(--pink);color:var(--pink) !important}
@media (max-width:760px){
.lc-sched-days{flex-wrap:wrap}
.lc-sched-days__track{order:3;width:100%;flex:1 1 100%;grid-template-columns:repeat(4,1fr)}
.lc-sched-days__nav{width:40px;align-self:auto;padding:9px 0}
.lc-sched-days__cal{flex:1 1 auto;justify-content:center;padding:9px 12px}
}

/* ---- 出勤テーブル ---- */
.lc-sched-tablewrap{background:#fff;border:1px solid #f2e6ec;border-radius:11px;overflow:hidden;box-shadow:0 2px 8px rgba(63,58,66,.05);max-width:760px;margin:0 auto}
.lc-sched-toggle-wrap{display:flex;justify-content:center;max-width:760px;margin:0 auto 14px}
.lc-sched-cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;max-width:1100px;margin:0 auto}
.lc-sched-card{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border:1px solid #f2e6ec;border-radius:11px;padding:14px;box-shadow:0 2px 8px rgba(63,58,66,.05)}
.lc-sched-card .lc-sched-cast__photo{width:100%;height:auto;aspect-ratio:3/4;margin-bottom:10px}
.lc-sched-card .lc-sched-cast__info{width:100%}
.lc-sched-card .lc-sched-cast__name{justify-content:center}
.lc-sched-card .lc-sched-cast__tags{justify-content:center}
.lc-sched-card .lc-sched-cast__prof{margin-top:8px}
.lc-sched-card .lc-sched-slot{margin-top:10px;max-width:100%;padding:10px 14px;font-size:15px}
@media (max-width: 600px) {
.lc-sched-cardgrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.lc-sched-card{padding:10px}
.lc-sched-card .lc-sched-cast__photo{height:auto;aspect-ratio:3/4}
}
.lc-sched-table{width:100%;border-collapse:collapse;table-layout:fixed}
.lc-sched-table thead th{padding:11px 8px;background:#fdeff4;border-bottom:1px solid #f5dfe8;font-size:12.5px;font-weight:700;color:#7c5566;text-align:center;letter-spacing:.01em}
.lc-sched-table thead th.lc-sched-table__cast{width:380px;text-align:center}
.lc-sched-table tbody td{padding:11px 8px;border-bottom:1px solid #f6eef2;text-align:center;vertical-align:middle}
.lc-sched-table tbody tr:last-child td{border-bottom:0}
.lc-sched-table tbody td.lc-sched-table__cast{display:flex;align-items:center;gap:10px;text-align:left;padding:11px 12px;border-right:1px solid #f6eef2}

/* 女の子セル */
.lc-sched-cast__photo{flex:0 0 auto;display:block;width:112px;height:138px;border-radius:9px;overflow:hidden;background:#fbf3f7}
.lc-sched-cast__photo img{width:100%;height:100%;object-fit:cover;display:block}
.lc-sched-cast__photo .lc-noimg{display:grid;place-items:center;width:100%;height:100%;color:#e6c9d8}
.lc-sched-cast__info{min-width:0;flex:1 1 auto}
.lc-sched-cast__name{margin:0;display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.lc-sched-cast__name a{font-size:15px;font-weight:800;color:var(--pink) !important;text-decoration:none;letter-spacing:.02em}
.lc-sched-cast__name span{font-size:11px;font-weight:600;color:#4d4750}
tr.is-mint .lc-sched-cast__name a{color:#2f9e8e !important}
.lc-sched-cast__tags{margin:5px 0 0;display:flex;gap:4px;flex-wrap:wrap}
.lc-sched-cast__tags span{padding:3px 8px;border-radius:4px;background:#fdeaf1;color:#d9628c;font-size:10.5px;font-weight:600;line-height:1.3}
.lc-sched-cast__tags span:nth-child(2){background:#e2f4f1;color:#33998b}
.lc-sched-cast__catch{margin:4px 0 0;font-size:12px;font-weight:600;color:#a06a7d;line-height:1.4}
.lc-sched-cast__prof{display:inline-block;margin-top:6px;padding:5px 14px;border-radius:5px;background:var(--pink,#d9628c);border:1px solid var(--pink,#d9628c);color:#fff !important;font-size:10.5px;font-weight:700;text-decoration:none;transition:.15s}
.lc-sched-cast__prof:hover{background:var(--pink-dark,#c14d78);border-color:var(--pink-dark,#c14d78)}

/* 時間バッジ */
.lc-sched-slot{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:320px;padding:16px 22px;border-radius:9px;background:#fdeaf1;color:#d9628c;font-size:18px;font-weight:800;letter-spacing:.01em}
.lc-sched-slot svg{width:19px;height:19px;color:#f0a020;flex:0 0 auto}
.lc-sched-slot.is-night{color:#2c4f7c}
.lc-sched-slot.is-night svg{color:#3a5a8c}
tr.is-mint .lc-sched-slot{background:#e2f4f1;color:#2f9e8e}
tr.is-mint .lc-sched-slot.is-night{color:#25607a}
.lc-sched-none{color:#c9c0cd;font-size:14px;font-weight:600}

/* 凡例 */
.lc-sched-legend{display:flex;align-items:center;justify-content:center;gap:22px;margin:12px 0 0;font-size:12px;font-weight:700;color:#6b636f}
.lc-sched-legend__item{display:inline-flex;align-items:center;gap:5px}
.lc-sched-legend__item svg{width:14px;height:14px;color:#f0a020}
.lc-sched-legend__item.is-night svg{color:#3a5a8c}

@media (max-width:820px){
.lc-sched-tablewrap{overflow-x:auto}
.lc-sched-table{min-width:760px}
}

/* =========================================================
 * コスプレ一覧 確定デザイン（2026-08-03）
 * 素材: 01_営業サイト/cosplay_pc　主色=ティール
 * ========================================================= */
:root{--cos-teal:#2f9e8e;--cos-teal-d:#25867a;--cos-teal-l:#e4f4f1;--cos-teal-bd:#c9e8e2}

/* ---- ヘッダー帯（白花＋クローバー背景） ---- */
.lc-cos-hero{position:relative;display:grid;grid-template-columns:1fr;align-items:center;gap:14px;
	margin:6px 0 14px;padding:26px 30px;border-radius:12px;overflow:hidden;
	background:linear-gradient(120deg,#eaf6ec 0%,#f7fbee 45%,#e9f6ea 100%)}
.lc-cos-hero::before,.lc-cos-hero::after{content:"";position:absolute;top:50%;transform:translateY(-50%);
	width:190px;height:190px;opacity:.5;pointer-events:none;
	background-repeat:no-repeat;background-size:contain}
.lc-cos-hero::before{left:-24px;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='%23b8e0d6'%3E%3Ccircle cx='30' cy='30' r='11'/%3E%3Ccircle cx='52' cy='24' r='8'/%3E%3Ccircle cx='40' cy='50' r='9'/%3E%3Ccircle cx='64' cy='44' r='7'/%3E%3Ccircle cx='24' cy='56' r='6'/%3E%3C/g%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='30' cy='30' r='5'/%3E%3Ccircle cx='52' cy='24' r='4'/%3E%3Ccircle cx='40' cy='50' r='4'/%3E%3C/g%3E%3C/svg%3E")}
.lc-cos-hero::after{right:-16px;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg fill='%23cdeae2'%3E%3Ccircle cx='62' cy='34' r='12'/%3E%3Ccircle cx='38' cy='42' r='9'/%3E%3Ccircle cx='56' cy='60' r='10'/%3E%3Ccircle cx='76' cy='54' r='7'/%3E%3C/g%3E%3Cg fill='%23ffffff'%3E%3Ccircle cx='62' cy='34' r='5'/%3E%3Ccircle cx='56' cy='60' r='4'/%3E%3C/g%3E%3C/svg%3E")}
.lc-cos-hero__main{position:relative;z-index:1;text-align:center;padding-left:90px}
.lc-cos-hero__ttl{margin:0;font-size:31px;font-weight:800;letter-spacing:.18em;color:var(--cos-teal);line-height:1.2}
.lc-cos-hero__en{margin:5px 0 0;font-size:12.5px;font-weight:600;letter-spacing:.22em;color:#8d9a97}
.lc-cos-hero__lead{margin:9px 0 0;font-size:14px;font-weight:600;color:#4f5b58}
.lc-cos-hero__lead strong{font-size:19px;font-weight:800;color:var(--cos-teal);margin:0 1px}
.lc-cos-hero__tools{position:relative;z-index:1;display:flex;align-items:center;gap:10px;flex:0 0 auto}
.lc-cos-search{display:flex;align-items:center;gap:7px;padding:9px 14px;border:1px solid #dceae7;border-radius:8px;background:#fff;box-shadow:0 1px 4px rgba(47,158,142,.06)}
.lc-cos-search svg{width:15px;height:15px;color:#9fb3af;flex:0 0 auto}
.lc-cos-search input{border:0;outline:0;background:transparent;width:185px;font-size:13px;color:#3f3a42}
.lc-cos-search input::placeholder{color:#a9b6b3}
.lc-cos-sort select{padding:10px 14px;border:1px solid #dceae7;border-radius:8px;background:#fff;font-size:13px;font-weight:600;color:#4f5b58;cursor:pointer;box-shadow:0 1px 4px rgba(47,158,142,.06)}
@media (max-width:900px){
.lc-cos-hero{grid-template-columns:1fr;padding:20px 18px}
.lc-cos-hero__main{padding-left:0}
.lc-cos-hero::before,.lc-cos-hero::after{width:120px;height:120px;opacity:.32}
.lc-cos-hero__tools{justify-content:center;flex-wrap:wrap}
.lc-cos-search input{width:150px}
}

/* ---- カテゴリータブ ---- */
.lc-cos-tabs{display:flex;align-items:center;gap:6px;margin:0 0 14px;padding:3px 0 7px;overflow-x:auto;scrollbar-width:thin}
.lc-cos-tabs::-webkit-scrollbar{height:5px}
.lc-cos-tabs::-webkit-scrollbar-thumb{background:#dbe9e6;border-radius:3px}
.lc-cos-tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:8px 14px;border-radius:999px;
	font-size:12.5px;font-weight:700;color:#4f5b58 !important;text-decoration:none;white-space:nowrap;transition:.15s;background:transparent}
.lc-cos-tab svg{width:16px;height:16px;color:var(--cos-teal);stroke-width:1.5}
.lc-cos-tab:hover{background:var(--cos-teal-l)}
.lc-cos-tab.is-active{background:var(--cos-teal);color:#fff !important;box-shadow:0 2px 8px rgba(47,158,142,.28)}
.lc-cos-tab.is-active svg{color:#fff}

/* ---- 件数バー ---- */
.lc-cos-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 12px}
.lc-cos-bar .lc-result-count{margin:0;font-size:13px;font-weight:600;color:#5c5a60}
.lc-cos-bar .lc-result-count strong{font-size:16px;font-weight:800;color:var(--cos-teal)}
.lc-view-toggle{display:inline-flex;align-items:center;gap:8px}
.lc-view-toggle__label{font-size:12px;font-weight:600;color:#8b8791}
.lc-view-toggle__btn--teal{padding:7px 15px;border:1px solid #dfe6e4;border-radius:6px;background:#fff;
	font-size:12.5px;font-weight:700;color:#6b7370 !important;text-decoration:none;transition:.15s}
.lc-view-toggle__btn--teal:hover{border-color:var(--cos-teal-bd);color:var(--cos-teal) !important}
.lc-view-toggle__btn--teal.is-active{background:var(--cos-teal-l);border-color:var(--cos-teal);color:var(--cos-teal-d) !important}

/* ---- カードグリッド（5列） ---- */
.lc-cos-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
@media (max-width:1100px){.lc-cos-grid{grid-template-columns:repeat(4,1fr)}}
@media (max-width:860px){.lc-cos-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.lc-cos-grid{grid-template-columns:repeat(2,1fr);gap:10px}}

.lc-cos-card{background:#fff;border:1px solid #f0eef1;border-radius:10px;overflow:hidden;
	box-shadow:0 2px 7px rgba(63,58,66,.06);transition:.18s;display:flex;flex-direction:column}
.lc-cos-card:hover{transform:translateY(-3px);box-shadow:0 7px 18px rgba(63,58,66,.13)}
.lc-cos-card__photo{position:relative;display:block;aspect-ratio:3/4;background:#f7f4f8;overflow:hidden}
.lc-cos-card__photo img{width:100%;height:100%;object-fit:cover;display:block}
.lc-cos-card__photo .lc-noimg{display:grid;place-items:center;width:100%;height:100%;color:#ddd2e0}
.lc-cos-card__photo .lc-noimg svg{width:38px;height:38px}

/* 人気No.1リボン（王冠付きピンク） */
.lc-cos-card__crown{position:absolute;top:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
	gap:1px;padding:8px 11px 9px;border-radius:0 0 12px 0;
	background:linear-gradient(135deg,#f56a9e,#e94f84);color:#fff;font-size:10.5px;font-weight:800;line-height:1.25;
	text-align:center;box-shadow:0 2px 7px rgba(233,79,132,.34)}
.lc-cos-card__crown svg{width:15px;height:15px;color:#ffe9a8;stroke-width:1.6}
.lc-cos-card__crown--pop{background:linear-gradient(135deg,#f8a0c0,#f07fa8)}

/* NEWタグ（濃グレー） */
.lc-cos-card__new{position:absolute;top:0;left:0;padding:5px 13px;border-radius:0 0 10px 0;
	background:#3f3a42;color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.09em}
.lc-cos-card__crown ~ .lc-cos-card__new{top:auto;bottom:0;border-radius:0 10px 0 0}
.lc-cos-card__hard{position:absolute;bottom:7px;left:7px;padding:4px 9px;border-radius:5px;background:#e0453f;color:#fff;font-size:10.5px;font-weight:800}

/* ♡お気に入り */
.lc-fav--cos{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:29px;height:29px;
	border:0;border-radius:50%;background:rgba(255,255,255,.92);cursor:pointer;transition:.15s;box-shadow:0 1px 5px rgba(0,0,0,.1)}
.lc-fav--cos svg{width:16px;height:16px;color:#eaa8c0;stroke-width:1.8}
.lc-fav--cos:hover{background:#fff;transform:scale(1.08)}
.lc-fav--cos.is-on svg{color:var(--pink);fill:var(--pink)}

/* 本体 */
.lc-cos-card__body{padding:9px 10px 10px;display:flex;flex-direction:column;gap:8px;flex:1 1 auto}
.lc-cos-card__row{margin:0;display:flex;align-items:center;justify-content:space-between;gap:6px}
.lc-cos-card__name{font-size:14px;font-weight:700;color:#3f3a42;letter-spacing:.01em;line-height:1.3}
.lc-cos-stars{display:inline-flex;gap:1px;flex:0 0 auto}
.lc-cos-star{width:11px;height:11px;background:#e6dfe8;
	clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.lc-cos-star.is-on{background:var(--pink)}
.lc-cos-star.is-half{background:linear-gradient(90deg,var(--pink) 50%,#e6dfe8 50%)}
.lc-cos-card__btns{display:flex;align-items:center;gap:5px;margin-top:auto}
.lc-cos-card__btn{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:3px;
	padding:6px 5px;border-radius:5px;font-size:10.5px;font-weight:700;text-decoration:none;transition:.15s;line-height:1.3;white-space:nowrap}
.lc-cos-card__btn svg{width:13px;height:13px;flex:0 0 auto}
.lc-cos-card__btn--girls{background:var(--cos-teal-l);border:1px solid var(--cos-teal-bd);color:var(--cos-teal-d) !important}
.lc-cos-card__btn--girls:hover{background:#d5ede8}
.lc-cos-card__btn--detail{background:var(--pink);color:#fff !important;flex:0 0 auto;padding:6px 11px}
.lc-cos-card__btn--detail:hover{filter:brightness(1.07)}
@media (max-width:560px){.lc-cos-card__btns{flex-direction:column;align-items:stretch}.lc-cos-card__btn--detail{padding:6px 5px}}

/* ---- ページネーション（ティール） ---- */
.lc-pagination--teal .page-numbers{display:inline-grid;place-items:center;min-width:33px;height:33px;padding:0 9px;
	border:1px solid #e4eae8;border-radius:999px;background:#fff;font-size:13px;font-weight:700;color:#5c6360;text-decoration:none;transition:.15s}
.lc-pagination--teal .page-numbers:hover{border-color:var(--cos-teal);color:var(--cos-teal)}
.lc-pagination--teal .page-numbers.current{background:var(--cos-teal);border-color:var(--cos-teal);color:#fff;box-shadow:0 2px 8px rgba(47,158,142,.28)}
.lc-pagination--teal .page-numbers.dots{border:0;background:transparent;min-width:20px}

/* ---- 下部2カラム（管理案内 ＋ 季節限定バナー） ---- */
.lc-cos-foot{display:grid;grid-template-columns:1fr 355px;gap:16px;align-items:stretch;margin:22px 0 0}
@media (max-width:900px){.lc-cos-foot{grid-template-columns:1fr}}

.lc-cos-admin{padding:16px 20px 18px;border:1px solid var(--cos-teal-bd);border-radius:11px;background:var(--cos-teal-l)}
.lc-cos-admin__ttl{margin:0 0 13px;font-size:14.5px;font-weight:800;color:var(--cos-teal-d)}
.lc-cos-admin__body{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.lc-cos-admin__list{list-style:none;margin:0;padding:0;display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap}
.lc-cos-admin__list li{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11px;font-weight:700;color:#4f5b58;text-align:center;min-width:56px}
.lc-cos-admin__list svg{width:23px;height:23px;color:var(--cos-teal);stroke-width:1.6}
.lc-cos-admin__btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:11px 20px;border-radius:7px;
	background:var(--cos-teal);color:#fff !important;font-size:13px;font-weight:700;text-decoration:none;transition:.15s;box-shadow:0 3px 10px rgba(47,158,142,.26)}
.lc-cos-admin__btn svg{width:16px;height:16px}
.lc-cos-admin__btn:hover{background:var(--cos-teal-d);transform:translateY(-1px)}

.lc-cos-season{position:relative;display:flex;align-items:center;border-radius:11px;overflow:hidden;min-height:112px;
	background:linear-gradient(100deg,#fde7ef 0%,#fbd7e6 100%)}
.lc-cos-season__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center}
.lc-cos-season__txt{position:relative;z-index:1;padding:18px 20px}
.lc-cos-season__ttl{margin:0;font-size:16px;font-weight:800;line-height:1.5;color:#c94a7c}
.lc-cos-season__sub{margin:6px 0 0;font-size:12.5px;font-weight:600;color:#a4587a}

/* ---- リスト表示テーブル ---- */
.lc-cos-table thead th{background:var(--cos-teal-l);color:var(--cos-teal-d)}
.lc-cos-table__name a{color:#3f3a42 !important;font-weight:700;text-decoration:none}
.lc-cos-table__name a:hover{color:var(--cos-teal) !important}
.lc-cos-table__newtag{margin-left:7px;padding:2px 7px;border-radius:4px;background:#3f3a42;color:#fff;font-size:9.5px;font-weight:800}

/* ---- ご利用について（ティール寄せ） ---- */
.lc-cos-info__ttl{color:var(--cos-teal-d)}
.lc-cos-info__h{color:var(--cos-teal)}

/* ============================================================
   プロフィール詳細（確定デザイン profile_latest_pc 準拠）2026-08-03
   ============================================================ */
.pf{
	--pf-pink:#e8547f;
	--pf-pink-d:#d63a68;
	--pf-pink-l:#fdeef3;
	--pf-pink-xl:#fff7fa;
	--pf-teal:#5fb8a8;
	--pf-line:#eddde3;
	--pf-text:#333;
	padding-bottom:96px;
}

/* ---------- 上部2カラム ---------- */
.pf-top{
	display:grid;
	grid-template-columns:minmax(0,46%) minmax(0,1fr);
	gap:28px;
	align-items:start;
	margin-bottom:28px;
}

/* 写真ギャラリー */
.pf-gallery__main{
	position:relative;
	background:var(--pf-pink-xl);
	border-radius:6px;
	overflow:hidden;
	aspect-ratio:4/5;
	display:flex;align-items:center;justify-content:center;
}
.pf-gallery__main img{width:100%;height:100%;object-fit:cover;display:block;}
.pf-gallery__main .lc-noimg{font-size:64px;color:#cfe6dd;}
.pf-gallery__nav{
	position:absolute;top:50%;transform:translateY(-50%);
	width:44px;height:44px;border-radius:50%;
	background:rgba(255,255,255,.9);border:none;cursor:pointer;
	display:flex;align-items:center;justify-content:center;
	color:#7a7a7a;box-shadow:0 2px 8px rgba(0,0,0,.12);
	transition:background .2s,color .2s;
}
.pf-gallery__nav:hover{background:#fff;color:var(--pf-pink);}
.pf-gallery__nav svg{width:22px;height:22px;}
.pf-gallery__nav--prev{left:10px;}
.pf-gallery__nav--next{right:10px;}
.pf-gallery__count{
	position:absolute;right:10px;bottom:10px;
	background:rgba(0,0,0,.55);color:#fff;
	font-size:13px;font-weight:600;
	padding:3px 10px;border-radius:12px;letter-spacing:.02em;
}
.pf-thumbs{display:flex;align-items:center;gap:6px;margin-top:8px;}
.pf-thumbs__track{
	display:flex;gap:6px;overflow-x:auto;flex:1;min-width:0;
	scrollbar-width:none;
}
.pf-thumbs__track::-webkit-scrollbar{display:none;}
.pf-thumb{
	flex:0 0 auto;width:64px;height:44px;padding:0;border:2px solid transparent;
	border-radius:3px;overflow:hidden;cursor:pointer;background:none;line-height:0;
	transition:border-color .2s,opacity .2s;opacity:.75;
}
.pf-thumb img{width:100%;height:100%;object-fit:cover;}
.pf-thumb:hover{opacity:1;}
.pf-thumb.is-active{border-color:var(--pf-pink);opacity:1;}
.pf-thumbs__more{
	flex:0 0 auto;width:34px;height:44px;border:none;cursor:pointer;
	background:#dcdcdc;color:#fff;border-radius:3px;
	display:flex;align-items:center;justify-content:center;
}
.pf-thumbs__more svg{width:18px;height:18px;}
.pf-thumbs__more:hover{background:var(--pf-pink);}

/* 名前・ステータス */
.pf-info__head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px;}
.pf-name{
	display:flex;align-items:center;gap:10px;flex-wrap:wrap;
	margin:0;font-size:30px;font-weight:700;color:#222;line-height:1.2;flex:1;min-width:0;
}
.pf-name__clover{display:inline-flex;color:var(--pf-teal);}
.pf-name__clover svg{width:30px;height:30px;}
.pf-name__ja{letter-spacing:.04em;}
.pf-name__en{font-size:19px;font-weight:600;color:var(--pf-pink);letter-spacing:.08em;}
.pf-status{
	flex:0 0 auto;display:inline-flex;flex-direction:column;align-items:center;
	background:var(--pf-pink);color:#fff;font-size:14px;font-weight:700;
	padding:8px 22px;border-radius:5px;line-height:1.3;
}
.pf-status em{font-style:normal;font-size:11px;font-weight:500;opacity:.9;}
.pf-status--today{background:#f0864f;}

/* 属性ピル */
.pf-pills{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.pf-pill{
	display:inline-flex;align-items:center;gap:6px;
	background:#fff;border:1px solid #e2e2e2;border-radius:5px;
	padding:8px 18px;font-size:14px;font-weight:600;color:#555;
}
.pf-pill svg{width:16px;height:16px;color:var(--pf-teal);}
.pf-pill--fav{cursor:pointer;font-family:inherit;}
.pf-pill--fav svg{color:var(--pf-pink);}
.pf-pill--fav:hover{border-color:var(--pf-pink);color:var(--pf-pink);}
.pf-pill--fav.is-on{background:var(--pf-pink);border-color:var(--pf-pink);color:#fff;}
.pf-pill--fav.is-on svg{color:#fff;}
.pf-name__age{font-size:15px;font-weight:600;color:var(--pf-pink);margin-left:2px;}
.pf-tag{font-size:14px;padding:8px 16px;border-radius:5px;font-weight:600;}


/* プロフィール表 */
.pf-table{width:100%;border-collapse:collapse;font-size:14.5px;}
.pf-table tr{border-bottom:1px solid var(--pf-line);}
.pf-table tr:nth-child(odd){background:var(--pf-pink-xl);}
.pf-table th{
	width:150px;text-align:left;font-weight:500;color:var(--pf-teal);
	padding:9px 14px;white-space:nowrap;
}
.pf-table td{padding:9px 6px;color:var(--pf-text);}
.pf-table__chev{width:28px;text-align:right;padding-right:12px;color:#dcc9d0;}
.pf-table__chev svg{width:14px;height:14px;display:inline-block;vertical-align:middle;}
.pf-mask{letter-spacing:.12em;color:#333;font-size:12px;}

/* ---------- お店からのメッセージ ---------- */
.pf-msg{margin:34px 0 30px;}
.pf-msg__ttl{
	display:flex;align-items:center;justify-content:center;gap:14px;
	margin:0 0 12px;font-size:22px;font-weight:700;color:var(--pf-pink);
	letter-spacing:.1em;
}
.pf-msg__ttl::before{content:"✳";color:#f0a8c0;font-size:14px;order:-2;}
.pf-msg__ttl-deco{height:30px;width:auto;mix-blend-mode:multiply;}
.pf-msg__box{
	position:relative;overflow:hidden;
	background:linear-gradient(180deg,#fff8fb 0%,#fdeef3 100%);
	border:1px solid #f7dfe8;border-radius:14px;
	padding:34px 200px;min-height:170px;
	display:flex;align-items:center;justify-content:center;
}
.pf-msg__deco{position:absolute;pointer-events:none;mix-blend-mode:multiply;}
.pf-msg__deco--l{left:6px;bottom:4px;width:190px;}
.pf-msg__deco--r{right:0;top:0;width:250px;}
.pf-msg__body{position:relative;z-index:1;text-align:center;max-width:820px;}
.pf-msg__lead{
	margin:0 0 12px;font-size:20px;font-weight:700;color:var(--pf-pink);
	letter-spacing:.02em;line-height:1.5;
}
.pf-msg__text{font-size:15.5px;line-height:2;color:#444;}
.pf-msg__text p{margin:0 0 4px;}

/* ---------- 2カラムカード ---------- */
.pf-cols{
	display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
	gap:22px;margin-bottom:22px;align-items:start;
}
.pf-card{
	background:#fff;border:1px solid var(--pf-line);border-radius:8px;
	padding:14px 16px 16px;
}
.pf-card__head{
	display:flex;align-items:center;justify-content:space-between;
	gap:10px;margin-bottom:12px;
}
.pf-card__ttl{margin:0;font-size:16px;font-weight:700;color:#333;letter-spacing:.04em;}
.pf-card__more{font-size:12.5px;color:#999;text-decoration:none;}
.pf-card__more:hover{color:var(--pf-pink);}
.pf-card__note{margin:10px 0 0;text-align:right;font-size:12px;}
.pf-card__note a{color:#999;text-decoration:none;}
.pf-card__note a:hover{color:var(--pf-pink);}

/* 写メ日記 */
.pf-diary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.pf-diary{display:flex;flex-direction:column;}
.pf-diary__photo{
	display:block;aspect-ratio:1/1;border-radius:4px;overflow:hidden;
	background:var(--pf-pink-xl);line-height:0;
}
.pf-diary__photo img{width:100%;height:100%;object-fit:cover;}
.pf-diary__photo .lc-noimg{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:28px;color:#cfe6dd;}
.pf-diary__ttl{
	margin:6px 0 2px;font-size:12.5px;font-weight:600;line-height:1.4;
	overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
}
.pf-diary__ttl a{color:#333;text-decoration:none;}
.pf-diary__ttl a:hover{color:var(--pf-pink);}
.pf-diary__date{margin:0 0 6px;font-size:11px;color:#aaa;}
.pf-diary__btn{
	display:block;text-align:center;font-size:11.5px;font-weight:600;
	color:var(--pf-pink);background:#fff;border:1px solid #f3ccda;
	border-radius:12px;padding:4px 6px;text-decoration:none;margin-top:auto;
}
.pf-diary__btn:hover{background:var(--pf-pink);color:#fff;border-color:var(--pf-pink);}
.pf-dots{display:flex;justify-content:center;gap:7px;margin:12px 0 0;}
.pf-dot{width:7px;height:7px;border-radius:50%;background:#e6d5db;display:block;}
.pf-dot.is-on{background:var(--pf-pink);}

/* 動画 */
.pf-movie-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.pf-movie__thumb{
	position:relative;display:block;aspect-ratio:1/1;border-radius:4px;
	overflow:hidden;background:var(--pf-pink-xl);line-height:0;
}
.pf-movie__thumb img{width:100%;height:100%;object-fit:cover;}
.pf-movie__thumb .lc-noimg{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:26px;color:#cfe6dd;}
.pf-movie__play{
	position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
	width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.92);
	display:flex;align-items:center;justify-content:center;color:var(--pf-pink);
	box-shadow:0 2px 8px rgba(0,0,0,.15);
}
.pf-movie__play svg{width:20px;height:20px;}
.pf-movie__dur{
	position:absolute;right:6px;bottom:6px;background:rgba(0,0,0,.6);
	color:#fff;font-size:10.5px;font-weight:600;padding:2px 6px;border-radius:9px;
}
.pf-movie__ttl{margin:7px 0 0;font-size:12px;font-weight:600;text-align:center;line-height:1.4;}
.pf-movie__ttl a{color:#333;text-decoration:none;}
.pf-movie__ttl a:hover{color:var(--pf-pink);}

/* コース・オプション */
.pf-rate{list-style:none;margin:0;padding:0;}
.pf-rate__row{
	display:grid;grid-template-columns:26px minmax(0,1fr) auto 96px 18px;
	align-items:center;gap:8px;
	padding:8px 2px;border-bottom:1px dashed #f0e2e7;font-size:14px;
}
.pf-rate__icon{grid-column:1;}
.pf-rate__name{grid-column:2;}
.pf-rate__mid{grid-column:3;}
.pf-rate__price{grid-column:4;}
.pf-rate__chev{grid-column:5;}
.pf-rate__name--wide{grid-column:2 / span 2;}
.pf-rate__name--full{grid-column:2 / span 3;}
.pf-rate--grid{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;}
@media (max-width:640px){.pf-rate--grid{grid-template-columns:1fr;}}
.pf-rate__mark{font-weight:700;font-size:15px;text-align:right;letter-spacing:.02em;}
.pf-rate__mark.is-yes{color:var(--pf-teal,#5fb8a8);}
.pf-rate__mark.is-no{color:#c9becb;}
.pf-rate__row:last-child{border-bottom:none;}
.pf-rate__icon{display:inline-flex;align-items:center;justify-content:center;}
.pf-rate__icon svg{width:17px;height:17px;}
.pf-rate__icon--teal{color:var(--pf-teal);}
.pf-rate__icon--pink{color:var(--pf-pink);}
.pf-rate__name{color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pf-rate__mid{color:#666;font-size:13px;text-align:right;white-space:nowrap;}
.pf-rate__price{color:var(--pf-pink);font-weight:700;text-align:right;white-space:nowrap;font-size:13.5px;}
.pf-rate__chev{color:#dcc9d0;display:inline-flex;justify-content:flex-end;}
.pf-rate__chev svg{width:13px;height:13px;}
.pf-rate__pop{display:inline-flex;gap:3px;align-items:center;}
.pf-pop{width:7px;height:7px;border-radius:50%;background:#e8e0e3;display:block;}
.pf-pop.is-on{background:#333;}

/* ---------- 下部固定3ボタン（スマホ専用。PCはヘッダーの予約ボタンで足りるため非表示） ---------- */
.pf-cta{
	display:none;
	position:fixed;left:0;right:0;bottom:0;z-index:60;
	background:rgba(255,255,255,.96);
	box-shadow:0 -2px 12px rgba(0,0,0,.1);
	padding:8px 12px;
}
@media (max-width:900px){
	.pf-cta{display:block;}
}
.pf-cta__inner{
	max-width:1180px;margin:0 auto;
	display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:10px;
}
.pf-cta__btn{
	display:flex;align-items:center;justify-content:center;gap:9px;
	height:52px;border-radius:999px;text-decoration:none !important;
	font-size:17px;font-weight:700;color:#fff;letter-spacing:.04em;
	transition:filter .2s;
}
.pf-cta__btn,.pf-cta__btn *{text-decoration:none !important;}
.pf-cta__btn:hover{filter:brightness(1.07);}
.pf-cta__btn svg{width:23px;height:23px;}
.pf-cta__btn--tel{background:#ef6d96;}
.pf-cta__btn--web{background:#f2799f;}
.pf-cta__btn--line{background:#34a853;}
/* LINEバッジ：以前は白丸にテキストだったが、
   共通CTAアイコン（lc_cta_icon）のSVGを入れるよう変更。 */
.pf-cta__line-badge{
	display:inline-flex;align-items:center;justify-content:center;
	width:auto;height:auto;border-radius:0;background:transparent;
	color:#fff;font-size:0;letter-spacing:0;
}
.pf-cta__line-badge svg{width:26px;height:26px;}
.pf-cta__line-badge .lc-ctaic--line{color:#fff;--lc-ctaic-knock:#34a853;}

/* ---------- レスポンシブ ---------- */
@media (max-width:1024px){
	.pf-msg__box{padding:30px 130px;}
	.pf-msg__deco--l{width:130px;}
	.pf-msg__deco--r{width:170px;}
	.pf-table th{width:120px;}
}
@media (max-width:900px){
	.pf-top{grid-template-columns:1fr;gap:20px;}
	.pf-cols{grid-template-columns:1fr;}
	.pf-name{font-size:24px;}
	.pf-name__en{font-size:16px;}
}
@media (max-width:640px){
	.pf{padding-bottom:88px;}
	.pf-gallery__main{aspect-ratio:3/4;}
	.pf-gallery__nav{width:36px;height:36px;}
	.pf-info__head{gap:8px;}
	.pf-name{font-size:21px;}
	.pf-name__clover svg{width:22px;height:22px;}
	.pf-status{font-size:12px;padding:6px 14px;}
	.pf-pill{padding:6px 13px;font-size:13px;}
	.pf-table{font-size:13.5px;}
	.pf-table th{width:104px;padding:8px 10px;font-size:13px;}
	.pf-msg__ttl{font-size:17px;gap:8px;}
	.pf-msg__ttl-deco{height:22px;}
	.pf-msg__box{padding:22px 16px;border-radius:10px;}
	.pf-msg__deco{opacity:.5;}
	.pf-msg__deco--l{width:90px;left:-6px;}
	.pf-msg__deco--r{width:110px;right:-8px;}
	.pf-msg__lead{font-size:16px;}
	.pf-msg__text{font-size:14px;line-height:1.85;}
	.pf-diary-grid,.pf-movie-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
	.pf-rate__row{grid-template-columns:22px minmax(0,1fr) auto 80px 14px;font-size:13px;gap:6px;}
	.pf-cta__inner{gap:6px;}
	.pf-cta__btn{height:46px;font-size:14px;gap:6px;}
	.pf-cta__btn svg{width:19px;height:19px;}
	.pf-cta__line-badge svg{width:22px;height:22px;}
}

/* ============================================================
   料金システム（確定デザイン price_system_reference 準拠）2026-08-03
   ============================================================ */
.pr{
	--pr-teal:#0f7b6c;
	--pr-teal-d:#0a5f53;
	--pr-teal-l:#e6f4f1;
	--pr-pink:#e8437a;
	--pr-pink-d:#d12a63;
	--pr-pink-l:#fdf0f5;
	--pr-line:#e6e6e6;
	padding-bottom:56px;
}

/* ---------- ページタイトルバナー ---------- */
.pr-hero{
	position:relative;
	margin:14px 0 22px;
	padding:34px 20px 30px;
	border-radius:6px;
	text-align:center;
	background:
		radial-gradient(circle at 6% 40%, rgba(255,255,255,.9) 0 8%, transparent 9%),
		linear-gradient(120deg,#e2f2ec 0%,#faf3df 55%,#e2f2ec 100%);
	overflow:hidden;
}
.pr-hero::before,.pr-hero::after{
	content:"🍀";position:absolute;font-size:52px;opacity:.28;
}
.pr-hero::before{left:5%;top:14px;}
.pr-hero::after{right:5%;top:16px;}
.pr-hero__ttl{
	margin:0;font-size:40px;font-weight:700;color:var(--pr-teal);
	letter-spacing:.16em;line-height:1.2;
}
.pr-hero__sub{
	margin:8px 0 0;font-size:13.5px;color:#6f7f7a;letter-spacing:.06em;
	display:flex;align-items:center;justify-content:center;gap:14px;
}
.pr-hero__leaf{color:var(--pr-teal);opacity:.6;font-size:16px;}
.pr-hero__leaf--r{transform:scaleX(-1);}

/* ---------- 2カラムレイアウト ---------- */
.pr-layout{
	display:grid;
	grid-template-columns:minmax(0,1fr) 296px;
	gap:22px;
	align-items:start;
}
.pr-main{min-width:0;}
.pr-main--wide{grid-column:1 / -1;}
.pr-side{display:grid;gap:16px;}

/* ---------- セクション共通 ---------- */
.pr-sec{margin-bottom:22px;}
.pr-sec__head{display:flex;align-items:baseline;gap:16px;margin-bottom:10px;flex-wrap:wrap;}
.pr-sec__ttl{
	display:flex;align-items:center;gap:8px;margin:0;
	font-size:19px;font-weight:700;color:var(--pr-teal);letter-spacing:.04em;
}
.pr-sec__ttl--pink{color:var(--pr-pink);}
.pr-sec__icon{display:inline-flex;color:var(--pr-teal);}
.pr-sec__icon svg{width:21px;height:21px;}
.pr-sec__icon--pink{color:var(--pr-pink);}
.pr-sec__note{margin:0;font-size:13px;color:#8a8a8a;}

/* ---------- コース料金テーブル ---------- */
.pr-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.pr-table{
	width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;
	font-size:16px;background:#fff;
	border:1px solid var(--pr-line);border-radius:4px;overflow:hidden;
}
.pr-table thead th{
	background:var(--pr-teal);color:#fff;
	font-size:15px;font-weight:600;letter-spacing:.02em;
	padding:13px 6px;text-align:center;white-space:normal;line-height:1.3;
	border-right:1px solid rgba(255,255,255,.18);
}
.pr-table thead th:last-child{border-right:none;}
.pr-table thead th.pr-table__cname{width:150px;text-align:center;font-size:15px;}
.pr-table thead th.pr-table__cdesc{width:190px;font-size:15px;}
.pr-table tbody tr{border-top:1px solid var(--pr-line);}
.pr-table tbody tr:nth-child(even){background:#fafafa;}
.pr-table tbody th.pr-table__cname{
	text-align:left;font-weight:700;padding:12px 10px;font-size:16px;
	white-space:normal;border-right:1px solid var(--pr-line);
	vertical-align:middle;
}
.pr-table tbody th.pr-table__cname .pr-badge{display:inline-flex;vertical-align:middle;margin:0 6px 0 0;}
.pr-table tbody th.pr-table__cname .pr-cname{display:inline-block;vertical-align:middle;white-space:normal;line-height:1.35;}
.pr-table tbody td{
	padding:13px 6px;text-align:center;vertical-align:middle;
	border-right:1px solid #f1f1f1;
}
.pr-table tbody td:last-child{border-right:none;}
.pr-table__cdesc{
	font-size:13.5px;color:#7a7a7a;line-height:1.6;text-align:left !important;
	white-space:normal;
}
.pr-badge{
	flex:0 0 auto;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
	min-width:50px;padding:5px 7px;border-radius:4px;
	font-size:11px;font-weight:700;line-height:1.15;color:#fff;text-align:center;
}
.pr-badge--pink{background:var(--pr-pink);}
.pr-badge--purple{background:#7b4fa8;}
.pr-badge--blue{background:#3f6fb5;}
.pr-badge--orange{background:#ef8c3a;}
.pr-badge--green{background:#2a9d5c;}
.pr-badge--rose{background:#c0567f;}
.pr-cname{font-size:16px;}
.pr-row--pink   .pr-cname{color:var(--pr-pink);}
.pr-row--purple .pr-cname{color:#7b4fa8;}
.pr-row--blue   .pr-cname{color:#3f6fb5;}
.pr-row--orange .pr-cname{color:#e07a26;}
.pr-row--green  .pr-cname{color:#219150;}
.pr-row--rose   .pr-cname{color:#c0567f;}
.pr-yen{font-size:18px;font-weight:700;white-space:nowrap;}
.pr-yen small{font-size:12.5px;font-weight:600;margin-left:1px;}
.pr-row--pink   .pr-yen{color:var(--pr-pink);}
.pr-row--purple .pr-yen{color:#7b4fa8;}
.pr-row--blue   .pr-yen{color:#3f6fb5;}
.pr-row--orange .pr-yen{color:#e07a26;}
.pr-row--green  .pr-yen{color:#219150;}
.pr-row--rose   .pr-yen{color:#c0567f;}
.pr-dash{color:#d5d5d5;font-size:14px;}
.pr-table__foot{margin:7px 0 0;text-align:right;font-size:11.5px;color:#9a9a9a;}

/* ---------- オプション一覧 ---------- */
.pr-sec--opt{
	background:var(--pr-pink-l);border-radius:10px;
	padding:16px 18px 18px;border:1px solid #f8dfe9;
}
.pr-opttabs{
	display:flex;align-items:center;gap:10px;flex-wrap:wrap;
	margin-bottom:12px;
}
.pr-opttabs__list{display:flex;gap:7px;flex-wrap:wrap;flex:1;min-width:0;}
.pr-opttab{
	font-family:inherit;font-size:12.5px;font-weight:600;
	padding:7px 15px;border-radius:5px;cursor:pointer;
	background:#fff;border:1px solid #e8d5dd;color:#7a7a7a;
	transition:background .18s,color .18s,border-color .18s;
	white-space:nowrap;
}
.pr-opttab:hover{border-color:var(--pr-pink);color:var(--pr-pink);}
.pr-opttab.is-active{background:var(--pr-pink);border-color:var(--pr-pink);color:#fff;}
.pr-optall{
	font-family:inherit;font-size:12.5px;font-weight:600;
	padding:7px 16px;border-radius:5px;cursor:pointer;
	background:var(--pr-teal);border:1px solid var(--pr-teal);color:#fff;
	white-space:nowrap;transition:filter .18s;
}
.pr-optall:hover{filter:brightness(1.12);}
.pr-optall.is-active{background:var(--pr-teal-d);border-color:var(--pr-teal-d);}
.pr-optlead{margin:0 0 10px;font-size:13.5px;font-weight:600;color:#555;}
.pr-optlead strong{color:var(--pr-pink);}
.pr-optcount{font-size:12px;color:#8a8a8a;font-weight:500;}
.pr-optgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.pr-optcol{
	list-style:none;margin:0;padding:8px 10px;
	background:#fff;border:1px solid #f2dde5;border-radius:6px;
}
.pr-optitem{
	display:grid;grid-template-columns:minmax(0,1fr) auto;
	align-items:center;gap:6px;padding:4px 0;font-size:12.5px;
}
.pr-optitem + .pr-optitem{border-top:1px dashed #f5e6eb;}
.pr-optnum{
	display:inline-flex;align-items:center;justify-content:center;
	width:18px;height:18px;border-radius:50%;
	background:var(--pr-pink);color:#fff;font-size:10px;font-weight:700;
}
.pr-optname{color:#444;overflow-wrap:break-word;white-space:normal;line-height:1.3;}
.pr-optprice{color:#333;font-weight:600;font-size:12px;white-space:nowrap;}
.pr-optnote{margin:10px 0 0;font-size:12px;color:#8a8a8a;}
.pr-optedit{margin:10px 0 0;text-align:right;}
.pr-optedit a{
	display:inline-block;font-size:12.5px;font-weight:600;
	color:var(--pr-pink);background:#fff;
	border:1px dashed var(--pr-pink);border-radius:5px;padding:6px 16px;
}
.pr-optedit a:hover{background:var(--pr-pink);color:#fff;}

/* ---------- 補足3件 ---------- */
.pr-notes{
	display:grid;grid-template-columns:1fr;
	gap:12px;margin:18px 0;
}
.pr-note{
	display:flex;gap:10px;align-items:flex-start;
	background:#fff;border:1px solid var(--pr-line);border-radius:8px;padding:12px 14px;
}
.pr-note__icon{flex:0 0 auto;display:inline-flex;color:var(--pr-teal);}
.pr-note__icon svg{width:22px;height:22px;}
.pr-note__ttl{margin:0 0 3px;font-size:13.5px;font-weight:700;color:#333;}
.pr-note__txt{margin:0;font-size:12px;color:#7a7a7a;line-height:1.6;}
.pr-note__brands{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px 6px;margin:8px 0 6px;padding:0;}
.pr-note__brands .cdp-brand{min-height:38px;padding:3px;flex:0 1 30%;}
.pr-note__brands .cdp-brand span{font-size:.62rem !important}
.pr-note__brands .cdp-brand--visa span{font-size:1.05rem !important}
.pr-note__brands .cdp-brand--master span{padding-top:24px;font-size:.55rem !important}
.pr-note__brands .cdp-brand--master span::before,.pr-note__brands .cdp-brand--master span::after{width:22px;height:22px}
.pr-note__brands .cdp-brand--jcb span{font-size:0 !important}
.pr-note__brands .cdp-brand--jcb span::before{font-size:.95rem !important}
.pr-note__brands .cdp-brand--amex span{padding:5px 6px;font-size:.5rem !important}
.pr-note__brands .cdp-brand--diners span{padding-top:24px;font-size:.5rem !important}
.pr-note__brands .cdp-brand--diners span::before{width:22px;height:22px}
.pr-note__brands .cdp-brand--diners span::after{top:6px;width:8px;height:11px}
.pr-note__link{display:inline-block;font-size:12px;font-weight:700;color:var(--pr-pink);text-decoration:underline;}
.pr-note__link:hover{opacity:.8;}

/* ---------- ポイントシステム案内 ---------- */
.pr-point-promo{
	background:var(--pr-teal-light,#eef8f6);border:1px solid var(--pr-line);border-radius:8px;
	padding:14px 16px;margin:14px 0 0;text-align:center;
}
.pr-point-promo__txt{margin:0 0 8px;font-size:12.5px;color:#555;line-height:1.7;}
.pr-point-promo__link{display:inline-block;font-size:13px;font-weight:700;color:var(--pr-pink);text-decoration:underline;}
.pr-point-promo__link:hover{opacity:.8;}

/* ---------- 下部お問い合わせ帯 ---------- */
.pr-contact{
	display:flex;align-items:center;gap:18px;flex-wrap:wrap;
	background:var(--pr-teal-l);border-radius:10px;
	padding:16px 22px;
}
.pr-contact__clover{flex:0 0 auto;display:inline-flex;color:var(--pr-teal);}
.pr-contact__clover svg{width:42px;height:42px;}
.pr-contact__lead{flex:1;min-width:180px;}
.pr-contact__ttl{margin:0;font-size:16px;font-weight:700;color:#2a4a44;}
.pr-contact__sub{margin:2px 0 0;font-size:12.5px;color:#6f8580;}
.pr-contact__tel{
	display:inline-flex;align-items:center;gap:8px;
	font-size:29px;font-weight:800;color:var(--pr-pink) !important;
	letter-spacing:.01em;white-space:nowrap;
}
.pr-contact__tel svg{width:24px;height:24px;}
.pr-contact__btns{display:flex;gap:10px;flex:0 0 auto;}
.pr-cbtn{
	display:inline-flex;align-items:center;gap:9px;
	padding:9px 18px;border-radius:5px;color:#fff !important;
	text-decoration:none;transition:filter .18s;
}
.pr-cbtn:hover{filter:brightness(1.08);opacity:1;}
.pr-cbtn--web{background:var(--pr-pink);}
.pr-cbtn--line{background:#06c755;}
.pr-cbtn strong{display:block;font-size:15px;font-weight:700;line-height:1.2;}
.pr-cbtn small{display:block;font-size:10.5px;opacity:.9;}
.pr-cbtn__ic{display:inline-flex;align-items:center;justify-content:center;}
.pr-cbtn__ic svg{width:20px;height:20px;}
.pr-cbtn__ic--line{
	width:26px;height:26px;border-radius:50%;background:#fff;
	color:#06c755;font-size:8px;font-weight:800;
}

/* ---------- サイドバーカード ---------- */
.pr-card{
	background:#fff;border:1px solid var(--pr-line);border-radius:8px;
	padding:13px 15px 15px;
}
.pr-card__ttl{
	display:flex;align-items:center;gap:7px;margin:0 0 10px;
	font-size:16px;font-weight:700;color:var(--pr-teal);letter-spacing:.03em;
}
.pr-card__icon{display:inline-flex;color:var(--pr-teal);}
.pr-card__icon svg{width:19px;height:19px;}
.pr-card__icon--pink{color:var(--pr-pink);}
.pr-card--sim .pr-card__ttl{color:var(--pr-pink);}
.pr-card__note{margin:8px 0 0;font-size:10.5px;color:#9a9a9a;line-height:1.5;}

/* その他料金 */
.pr-otherlist{list-style:none;margin:0;padding:0;}
.pr-otherlist li{
	display:flex;align-items:baseline;justify-content:space-between;gap:8px;
	padding:8px 2px;border-bottom:1px solid #f2f2f2;
}
.pr-otherlist li:last-child{border-bottom:none;}
.pr-otherlist__name{font-size:13.5px;color:#444;font-weight:600;}
.pr-otherlist__price{font-size:22px;font-weight:800;color:var(--pr-pink);white-space:nowrap;}
.pr-otherlist__price small{font-size:12px;font-weight:700;margin-left:1px;}

/* 前日予約割引 */
.pr-disclist{list-style:none;margin:0;padding:0;}
.pr-disclist li{
	display:grid;grid-template-columns:minmax(0,1fr) 16px auto;
	align-items:baseline;gap:6px;padding:7px 2px;
	border-bottom:1px solid #f2f2f2;
}
.pr-disclist li:last-child{border-bottom:none;}
.pr-disclist__lbl{font-size:12.5px;color:#555;white-space:nowrap;}
.pr-disclist__arrow{color:var(--pr-pink);font-size:10px;text-align:center;}
.pr-disclist__off{font-size:17px;font-weight:800;color:var(--pr-pink);white-space:nowrap;}
.pr-disclist__off small{font-size:11px;font-weight:700;margin-left:1px;}

/* 交通費 */
.pr-travel{width:100%;border-collapse:collapse;font-size:15px;}
.pr-travel thead th{
	background:var(--pr-teal-l);color:var(--pr-teal-d);
	font-size:14px;font-weight:700;padding:10px 10px;
	border:1px solid #dceae6;
}
.pr-travel tbody td{padding:10px 10px;border:1px solid #f0f0f0;line-height:1.4;}
.pr-travel__area{color:#444;font-size:14px;}
.pr-travel__price{
	text-align:right;white-space:nowrap;
	color:var(--pr-pink);font-weight:700;font-size:16px;
}
.pr-travel__price small{font-size:12px;margin-left:1px;}
.pr-travel__free{color:#666;font-weight:600;font-size:14px;}

/* 料金シミュレーター */
.pr-sim{display:grid;gap:7px;}
.pr-sim__row{display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:8px;}
.pr-sim__lbl{font-size:13px;color:#555;font-weight:600;line-height:1.3;}
.pr-sim select{
	width:100%;font-family:inherit;font-size:13px;
	padding:9px 10px;border:1px solid #dcdcdc;border-radius:4px;
	background:#fff;color:#444;min-width:0;
}
.pr-sim__opts{margin-top:2px;}
.pr-sim__opts summary{
	cursor:pointer;font-size:13px;font-weight:600;color:var(--pr-pink);
	padding:9px 10px;background:var(--pr-pink-l);border-radius:4px;
	display:flex;align-items:center;justify-content:space-between;gap:6px;
	list-style:none;
}
.pr-sim__opts summary::-webkit-details-marker{display:none;}
.pr-sim__optcount{font-size:11.5px;color:#8a8a8a;font-weight:500;}
.pr-sim__optlist{
	max-height:190px;overflow-y:auto;
	border:1px solid #f0e2e8;border-top:none;border-radius:0 0 4px 4px;
	padding:6px 8px;
}
.pr-sim__optlist label{
	display:grid;grid-template-columns:16px minmax(0,1fr) auto;
	align-items:center;gap:6px;font-size:13px;padding:5px 0;cursor:pointer;
}
.pr-sim__optlist input{margin:0;}
.pr-sim__optprice{color:var(--pr-pink);font-weight:600;font-size:12px;white-space:nowrap;}
.pr-sim__optreset{margin:6px 0 0;text-align:right;}
.pr-sim__optreset button{
	font-family:inherit;font-size:10.5px;color:#8a8a8a;
	background:none;border:none;cursor:pointer;text-decoration:underline;
}
.pr-sim__bd{margin-top:4px;}
.pr-sim__bdlist{list-style:none;margin:0;padding:6px 8px;background:#fafafa;border-radius:4px;}
.pr-sim__bdlist li{
	display:flex;align-items:baseline;justify-content:space-between;gap:8px;
	font-size:13px;color:#555;padding:3px 0;
}
.pr-sim__bdlist li.is-discount{color:#2a9d5c;}
.pr-sim__total-row{
	display:flex;align-items:baseline;justify-content:space-between;gap:8px;
	margin:8px 0 0;padding-top:9px;border-top:1px solid #eee;
}
.pr-sim__total-lbl{font-size:15px;font-weight:700;color:#333;}
.pr-sim__total{font-size:32px;font-weight:800;color:var(--pr-pink);line-height:1;}

/* ---------- レスポンシブ ---------- */
@media (max-width:1100px){
	.pr-layout{grid-template-columns:minmax(0,1fr) 264px;gap:16px;}
	.pr-optgrid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:900px){
	.pr-layout{grid-template-columns:1fr;}
	.pr-side{grid-template-columns:repeat(2,minmax(0,1fr));}
	.pr-card--sim{grid-column:1 / -1;}
	.pr-sim__row{grid-template-columns:120px minmax(0,1fr);}
	.pr-notes{grid-template-columns:1fr;}
}
@media (max-width:640px){
	.pr-hero{padding:24px 14px 22px;}
	.pr-hero__ttl{font-size:27px;letter-spacing:.1em;}
	.pr-hero::before,.pr-hero::after{font-size:36px;}
	.pr-hero__sub{font-size:11.5px;gap:8px;}
	.pr-side{grid-template-columns:1fr;}
	.pr-sec__ttl{font-size:17px;}
	.pr-table{font-size:12.5px;min-width:720px;}
	.pr-table thead th.pr-table__cname{width:150px;}
	.pr-table thead th.pr-table__cdesc{width:120px;}
	.pr-yen{font-size:14px;}
	.pr-sec--opt{padding:13px 12px 15px;}
	.pr-optgrid{grid-template-columns:1fr;}
	.pr-contact{padding:14px;gap:12px;justify-content:center;text-align:center;}
	.pr-contact__lead{flex:1 1 100%;text-align:center;}
	.pr-contact__tel{font-size:24px;}
	.pr-contact__btns{flex:1 1 100%;justify-content:center;}
	.pr-sim__row{grid-template-columns:96px minmax(0,1fr);}
	.pr-sim__total{font-size:26px;}
}



/* =========================================================================
 * ポイントシステム（確定デザイン point_system_reference 準拠 / 2026-08-03）
 * 深緑 × ゴールド の高級トーン
 * ========================================================================= */
.pnt {
	--pnt-green: #0d4d3f;
	--pnt-green-d: #073329;
	--pnt-gold: #c9a227;
	--pnt-gold-l: #e6cf7d;
	--pnt-cream: #fdfbf4;
	--pnt-line: #e3d9bd;
	padding: 8px 0 56px;
}

/* ---------- 特徴3カード ---------- */
.pnt-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin: 8px 0 30px;
}
.pnt-card {
	background: linear-gradient(180deg, #fffdf7 0%, var(--pnt-cream) 100%);
	border: 1px solid var(--pnt-line);
	border-radius: 14px;
	padding: 20px 16px 18px;
	text-align: center;
	box-shadow: 0 2px 10px rgba(13, 77, 63, .06);
	display: flex;
	flex-direction: column;
}
.pnt-card__lead {
	margin: 0;
	font-size: 15px;
	color: #3a3a3a;
	line-height: 1.6;
}
.pnt-card__big {
	margin: 2px 0 4px;
	font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-size: 15px;
	color: #3a3a3a;
	line-height: 1.5;
}
.pnt-card__big strong {
	display: inline;
	font-size: 25px;
	font-weight: 700;
	color: var(--pnt-green);
	letter-spacing: .01em;
}
.pnt-card__fig {
	margin: 12px 0 14px;
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: center;
}
.pnt-card__fig img {
	width: 100%;
	height: auto;
	border-radius: 10px;
	display: block;
}
.pnt-card__pill {
	margin: 0;
	background: linear-gradient(180deg, #14614f 0%, var(--pnt-green-d) 100%);
	color: #fff;
	font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .04em;
	border-radius: 999px;
	padding: 9px 10px;
	box-shadow: 0 2px 6px rgba(7, 51, 41, .25);
}

/* ---------- パネル共通 ---------- */
.pnt-panel {
	background: linear-gradient(180deg, #fffdf7 0%, var(--pnt-cream) 100%);
	border: 1px solid var(--pnt-line);
	border-radius: 16px;
	padding: 26px 28px 28px;
	margin-bottom: 26px;
}
.pnt-h2 {
	margin: 0 0 20px;
	text-align: center;
	font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-size: 27px;
	font-weight: 700;
	letter-spacing: .06em;
	color: var(--pnt-green);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
}
.pnt-h2::before,
.pnt-h2::after {
	content: "";
	flex: 1 1 auto;
	max-width: 150px;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--pnt-gold));
}
.pnt-h2::after { background: linear-gradient(90deg, var(--pnt-gold), transparent); }
.pnt-h2__clover {
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	color: #4aa07f;
	display: inline-flex;
}
.pnt-h2__clover svg { width: 100%; height: 100%; }

/* ---------- ご利用方法 ---------- */
.pnt-panel__body {
	display: grid;
	grid-template-columns: 1fr 250px;
	gap: 18px;
	align-items: center;
}
.pnt-panel__fig img {
	width: 100%;
	height: auto;
	border-radius: 12px;
	display: block;
}
.pnt-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.pnt-step {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}
.pnt-step__num {
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--pnt-green);
	color: #fff;
	font-weight: 700;
	font-size: 16px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 1px;
}
.pnt-step__txt { flex: 1 1 auto; }
.pnt-step__lead {
	margin: 0;
	font-size: 17px;
	font-weight: 600;
	color: #2c2c2c;
	line-height: 1.7;
}
.pnt-step__sub {
	margin: 4px 0 0;
	font-size: 14px;
	color: #555;
	line-height: 1.7;
}
.pnt-step__sub--in { padding-left: 1.1em; }
.pnt-step__hl {
	margin: 6px 0 0;
	font-size: 15px;
	font-weight: 700;
	color: #e0407e;
	line-height: 1.7;
}

/* ---------- ポイント確認方法 ---------- */
.pnt-check {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	align-items: start;
}
.pnt-check__lead {
	margin: 0;
	font-size: 15px;
	line-height: 1.8;
	color: #333;
}
.pnt-check__note {
	margin: 4px 0 0;
	font-size: 13.5px;
	color: #666;
}
.pnt-check__label {
	margin: 16px 0 8px;
	font-size: 17px;
	font-weight: 700;
	color: #2c2c2c;
}
.pnt-qrbox {
	display: flex;
	align-items: center;
	gap: 16px;
	background: linear-gradient(135deg, #14614f 0%, var(--pnt-green-d) 100%);
	border: 2px solid var(--pnt-gold);
	border-radius: 14px;
	padding: 12px 18px 12px 12px;
	text-decoration: none;
	box-shadow: 0 3px 12px rgba(7, 51, 41, .22);
	transition: transform .15s ease, box-shadow .15s ease;
}
.pnt-qrbox:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(7, 51, 41, .3);
}
.pnt-qrbox__qr {
	flex: 0 0 auto;
	width: 82px;
	height: 82px;
	background: #fff;
	border-radius: 8px;
	padding: 4px;
	display: block;
}
.pnt-qrbox__qr img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.pnt-qrbox__txt {
	display: flex;
	flex-direction: column;
	gap: 3px;
}
.pnt-qrbox__ttl {
	font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-size: 25px;
	font-weight: 700;
	letter-spacing: .08em;
	color: var(--pnt-gold-l);
	line-height: 1.2;
}
.pnt-qrbox__url {
	font-size: 14px;
	color: #f2e9cd;
	letter-spacing: .02em;
	word-break: break-all;
}

/* 有効期限カード */
.pnt-expire {
	position: relative;
	background: #f3f1e9;
	border-radius: 14px;
	padding: 18px 20px 16px;
	min-height: 190px;
}
.pnt-expire__ttl {
	margin: 0 0 12px;
	font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-size: 18px;
	font-weight: 700;
	color: var(--pnt-green);
	letter-spacing: .03em;
}
.pnt-expire__list {
	list-style: none;
	margin: 0;
	padding: 0;
	max-width: 62%;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.pnt-expire__list li {
	display: flex;
	gap: 8px;
	font-size: 14px;
	line-height: 1.7;
	color: #333;
}
.pnt-expire__chk {
	flex: 0 0 auto;
	width: 19px;
	height: 19px;
	border-radius: 50%;
	background: var(--pnt-green);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 3px;
}
.pnt-expire__chk svg { width: 12px; height: 12px; }
.pnt-expire__fig {
	position: absolute;
	right: 10px;
	bottom: 10px;
	width: 36%;
	margin: 0;
}
.pnt-expire__fig img {
	width: 100%;
	height: auto;
	border-radius: 8px;
	display: block;
}

/* ---------- ヘブン2倍バナー ---------- */
.pnt-banner {
	position: relative;
	display: flex;
	align-items: center;
	gap: 20px;
	background:
		radial-gradient(circle at 20% 30%, rgba(255, 255, 255, .1) 0 2px, transparent 3px),
		linear-gradient(105deg, #0b4437 0%, #12604d 45%, #0b4437 100%);
	border-radius: 12px;
	padding: 16px 26px;
	margin: 8px 0 22px;
	overflow: hidden;
	box-shadow: 0 4px 16px rgba(7, 51, 41, .25);
}
.pnt-banner__phone {
	flex: 0 0 auto;
	width: 148px;
	margin: 0;
}
.pnt-banner__phone img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 8px;
}
.pnt-banner__txt {
	flex: 1 1 auto;
	margin: 0;
	text-align: center;
	font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
}
.pnt-banner__small {
	display: inline-block;
	font-size: 26px;
	font-weight: 700;
	color: #fdf6e0;
	letter-spacing: .06em;
	text-shadow: 0 1px 4px rgba(0, 0, 0, .3);
	vertical-align: middle;
}
.pnt-banner__big {
	display: inline-block;
	font-size: 34px;
	font-weight: 700;
	letter-spacing: .06em;
	color: var(--pnt-gold-l);
	vertical-align: middle;
	margin-left: 10px;
}
.pnt-banner__big em {
	font-style: normal;
	font-size: 56px;
	background: linear-gradient(180deg, #f7e6a8 0%, #d9b64a 60%, #b8912c 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	letter-spacing: .02em;
}
.pnt-banner__badge {
	flex: 0 0 auto;
	width: 88px;
	height: 88px;
	border-radius: 50%;
	border: 2px solid var(--pnt-gold-l);
	background: rgba(255, 255, 255, .06);
	color: #fdf6e0;
	font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.45;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

/* ---------- CTA 3ボタン ---------- */
.pnt-cta {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
.pnt-cta__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	border-radius: 10px;
	padding: 16px 14px;
	text-decoration: none;
	color: #fff;
	box-shadow: 0 3px 10px rgba(0, 0, 0, .14);
	transition: transform .15s ease, box-shadow .15s ease;
}
.pnt-cta__btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, .2);
}
.pnt-cta__btn--pink { background: linear-gradient(180deg, #ec5d95 0%, #d93f7b 100%); }
.pnt-cta__btn--green { background: linear-gradient(180deg, #14805f 0%, #0a5c44 100%); }
.pnt-cta__ico {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .18);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.pnt-cta__ico svg { width: 19px; height: 19px; }
.pnt-cta__ico--line {
	background: #fff;
	color: #06c755;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: -.02em;
}
.pnt-cta__txt {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1.35;
}
.pnt-cta__txt strong {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .02em;
}
.pnt-cta__txt small {
	font-size: 12.5px;
	opacity: .92;
}

/* ---------- レスポンシブ ---------- */
@media (max-width: 900px) {
	.pnt-cards { grid-template-columns: 1fr; }
	.pnt-panel { padding: 20px 16px 22px; }
	.pnt-panel__body { grid-template-columns: 1fr; }
	.pnt-panel__fig { max-width: 240px; margin: 0 auto; }
	.pnt-check { grid-template-columns: 1fr; }
	.pnt-h2 { font-size: 21px; }
	.pnt-h2::before, .pnt-h2::after { max-width: 40px; }
	.pnt-step__lead { font-size: 15.5px; }
	.pnt-step__lead br { display: none; }
	.pnt-expire__list { max-width: 100%; }
	.pnt-expire__fig { position: static; width: 100%; max-width: 200px; margin: 12px auto 0; }
	.pnt-banner { flex-direction: column; padding: 18px 16px; gap: 12px; }
	.pnt-banner__phone { width: 120px; }
	.pnt-banner__small { font-size: 19px; display: block; }
	.pnt-banner__big { font-size: 26px; margin-left: 0; }
	.pnt-banner__big em { font-size: 42px; }
	.pnt-cta { grid-template-columns: 1fr; }
	.pnt-qrbox__ttl { font-size: 21px; }
}

/* ---- ポイントページ 微調整（2026-08-03） ---- */
/* 3カードの見出し行数差で写真位置がズレるため、見出しブロックの高さを揃える */
.pnt-card__head {
	min-height: 84px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
/* カード2は1行分少ないため文字サイズを微調整して折返しを防ぐ */
.pnt-card__big strong { font-size: 24px; }
.pnt-card:nth-child(2) .pnt-card__big strong { font-size: 21px; }

/* 有効期限カード: 画像がカード外にはみ出さないよう調整 */
.pnt-expire { overflow: hidden; padding-bottom: 20px; }
.pnt-expire__fig { width: 33%; right: 8px; bottom: 8px; }
.pnt-expire__list { max-width: 64%; }

/* バナー: スマホ画像を少し小さく、余白を整える */
.pnt-banner__phone { width: 128px; }
.pnt-banner { padding: 14px 24px; }
@media (max-width: 900px) {
	.pnt-card__head { min-height: 0; }
}

/* =========================================================================
 * はじめての方へ（確定デザイン beginner_pc 準拠 / 2026-08-03）
 * 白〜淡ピンク × ゴールド装飾
 * ========================================================================= */
.bg,
.bg-hero {
	--bg-pink: #e8628f;
	--bg-pink-d: #d6437a;
	--bg-pink-l: #fdeef4;
	--bg-gold: #c8a96a;
	--bg-gold-l: #e6d3a8;
	--bg-brown: #6b5340;
	--bg-green: #0d7a5f;
}

/* ---------- ヒーロー ---------- */
.bg-hero {
	position: relative;
	background:
		radial-gradient(circle at 8% 20%, rgba(154, 205, 168, .16) 0 34px, transparent 35px),
		radial-gradient(circle at 4% 72%, rgba(154, 205, 168, .13) 0 26px, transparent 27px),
		radial-gradient(circle at 96% 22%, rgba(154, 205, 168, .13) 0 30px, transparent 31px),
		linear-gradient(120deg, #fdf6f7 0%, #fefafa 45%, #fbf4ef 100%);
	overflow: hidden;
	margin-bottom: 30px;
}
.bg-hero::before,
.bg-hero::after {
	content: "";
	position: absolute;
	width: 118px;
	height: 118px;
	border: 1px solid var(--bg-gold-l);
	border-radius: 4px;
	opacity: .55;
	pointer-events: none;
}
.bg-hero::before { top: 14px; left: 14px; border-right: 0; border-bottom: 0; }
.bg-hero::after { bottom: 14px; right: 14px; border-left: 0; border-top: 0; }
.bg-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 300px 220px;
	align-items: center;
	gap: 10px;
	min-height: 330px;
	padding-top: 18px;
	padding-bottom: 18px;
}
.bg-hero__txt { padding-left: 40px; }
.bg-hero__eyebrow {
	margin: 0 0 6px;
	font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-size: 17px;
	letter-spacing: .06em;
	color: var(--bg-gold);
}
.bg-hero__ttl {
	margin: 0 0 14px;
	font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
	line-height: 1.1;
	letter-spacing: .04em;
}
.bg-hero__ttl-main {
	font-size: 60px;
	font-weight: 600;
	color: var(--bg-brown);
	text-shadow: 0 2px 6px rgba(107, 83, 64, .12);
}
.bg-hero__ttl-sub {
	font-size: 46px;
	font-weight: 600;
	color: var(--bg-pink);
	margin-left: 4px;
}
.bg-hero__label {
	margin: 0 0 14px;
	display: flex;
	align-items: center;
	gap: 12px;
	max-width: 420px;
}
.bg-hero__label span {
	font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-size: 21px;
	letter-spacing: .1em;
	color: var(--bg-brown);
	white-space: nowrap;
}
.bg-hero__label::before,
.bg-hero__label::after {
	content: "";
	flex: 1 1 auto;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--bg-gold));
}
.bg-hero__label::after { background: linear-gradient(90deg, var(--bg-gold), transparent); }
.bg-hero__lead {
	margin: 0;
	font-size: 15.5px;
	line-height: 1.9;
	color: #4a4a4a;
}
.bg-hero__fig {
	margin: 0;
	align-self: end;
}
.bg-hero__fig img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 330px;
	object-fit: contain;
	object-position: bottom;
}
.bg-hero__bubble {
	margin: 0;
	width: 190px;
	height: 190px;
	border: 2px solid var(--bg-gold-l);
	border-radius: 50%;
	background: rgba(255, 255, 255, .82);
	box-shadow: 0 2px 12px rgba(200, 169, 106, .18);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 15px;
	line-height: 1.9;
	color: var(--bg-brown);
	letter-spacing: .02em;
}

/* ---------- 共通見出し ---------- */
.bg-h2 {
	margin: 34px 0 22px;
	text-align: center;
	font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-size: 27px;
	font-weight: 700;
	letter-spacing: .08em;
	color: var(--bg-brown);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
}
.bg-h2::before,
.bg-h2::after {
	content: "";
	flex: 1 1 auto;
	max-width: 140px;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--bg-gold));
}
.bg-h2::after { background: linear-gradient(90deg, var(--bg-gold), transparent); }
.bg-h2__cl {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	color: #79b98f;
	display: inline-flex;
}
.bg-h2__cl svg { width: 100%; height: 100%; }
.bg-h2--brand { gap: 10px; }
.bg-h2__brand {
	font-size: 30px;
	letter-spacing: .1em;
	color: var(--bg-brown);
}

/* ---------- ご利用の流れ ---------- */
.bg-flow {
	display: flex;
	align-items: stretch;
	gap: 0;
	margin-bottom: 12px;
}
.bg-flow__arrow {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	color: #f4a8c4;
	font-size: 15px;
}
.bg-flow__card {
	flex: 1 1 0;
	position: relative;
	background: #fff;
	border: 1px solid #f2e4e9;
	border-radius: 12px;
	padding: 26px 12px 18px;
	text-align: center;
	box-shadow: 0 2px 8px rgba(232, 98, 143, .06);
	display: flex;
	flex-direction: column;
}
.bg-flow__num {
	position: absolute;
	top: -16px;
	left: 50%;
	transform: translateX(-50%);
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: linear-gradient(180deg, #f07ba4 0%, var(--bg-pink-d) 100%);
	color: #fff;
	font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-size: 15px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 6px rgba(214, 67, 122, .3);
	border: 2px solid #fff;
}
.bg-flow__fig {
	margin: 0 0 12px;
	border-radius: 8px;
	overflow: hidden;
	aspect-ratio: 1 / 1;
}
.bg-flow__fig img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.bg-flow__ttl {
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: 700;
	color: #3a3a3a;
	letter-spacing: .01em;
	line-height: 1.4;
}
.bg-flow__txt {
	margin: 0 0 6px;
	font-size: 13px;
	line-height: 1.75;
	color: #555;
}
.bg-flow__txt:last-of-type { margin-bottom: 0; }
.bg-flow__note {
	margin: 8px 0 0;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--bg-pink);
}

/* ---------- ご利用時の注意事項 ---------- */
.bg-caution {
	margin: 34px 0 0;
	background: linear-gradient(180deg, #fef7f9 0%, var(--bg-pink-l) 100%);
	border: 1px solid #f6e2ea;
	border-radius: 14px;
	padding: 6px 22px 26px;
}
.bg-caution .bg-h2 { margin-top: 22px; }
.bg-caution__grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 0;
}
.bg-caution__item {
	padding: 4px 10px;
	text-align: center;
	border-right: 1px solid rgba(232, 98, 143, .14);
}
.bg-caution__item:last-child { border-right: 0; }
.bg-caution__ic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #fff;
	color: var(--bg-pink);
	box-shadow: 0 2px 6px rgba(232, 98, 143, .12);
	margin-bottom: 10px;
}
.bg-caution__ic svg { width: 24px; height: 24px; }
.bg-caution__ttl {
	margin: 0 0 8px;
	font-size: 13.5px;
	font-weight: 700;
	color: #3a3a3a;
	line-height: 1.6;
}
.bg-caution__txt {
	margin: 0;
	font-size: 11.5px;
	line-height: 1.75;
	color: #6a6a6a;
}

/* ---------- 選ばれる理由 ---------- */
.bg-reason__grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 14px;
}
.bg-reason__card {
	background: #fff;
	border: 1px solid #eee4e7;
	border-radius: 12px;
	padding: 22px 14px 18px;
	text-align: center;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .04);
}
.bg-reason__ic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	margin-bottom: 12px;
}
.bg-reason__ic svg { width: 32px; height: 32px; }
.bg-reason__card--gold .bg-reason__ic { background: #fdf4e0; color: #d9a72b; }
.bg-reason__card--gold .bg-reason__ttl { color: var(--bg-pink); }
.bg-reason__card--pink .bg-reason__ic { background: var(--bg-pink-l); color: var(--bg-pink); }
.bg-reason__card--pink .bg-reason__ttl { color: var(--bg-pink); }
.bg-reason__card--blue .bg-reason__ic { background: #e8f1fb; color: #2f74c0; }
.bg-reason__card--blue .bg-reason__ttl { color: #2f74c0; }
.bg-reason__card--green .bg-reason__ic { background: #e6f4ee; color: var(--bg-green); }
.bg-reason__card--green .bg-reason__ttl { color: var(--bg-green); }
.bg-reason__ttl {
	margin: 0 0 10px;
	font-size: 15.5px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .01em;
}
.bg-reason__txt {
	margin: 0;
	font-size: 12.5px;
	line-height: 1.8;
	color: #666;
}

/* ---------- CTA帯 ---------- */
.bg-cta {
	margin: 34px 0 8px;
	background: linear-gradient(180deg, #fdeef4 0%, #fbe2ec 100%);
	border-radius: 14px;
	padding: 20px 24px 24px;
}
.bg-cta__lead {
	margin: 0 0 16px;
	text-align: center;
	font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-size: 17px;
	letter-spacing: .04em;
	color: var(--bg-pink-d);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
}
.bg-cta__lead::before,
.bg-cta__lead::after {
	content: "";
	flex: 1 1 auto;
	max-width: 90px;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--bg-gold));
}
.bg-cta__lead::after { background: linear-gradient(90deg, var(--bg-gold), transparent); }
.bg-cta__btns {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
.bg-cta__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	border-radius: 8px;
	padding: 15px 12px;
	text-decoration: none;
	color: #fff;
	box-shadow: 0 3px 10px rgba(0, 0, 0, .12);
	transition: transform .15s ease, box-shadow .15s ease;
}
.bg-cta__btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, .18);
}
.bg-cta__btn--pink { background: linear-gradient(180deg, #ee6a99 0%, var(--bg-pink-d) 100%); }
.bg-cta__btn--green { background: linear-gradient(180deg, #17a05f 0%, #0e8a4d 100%); }
.bg-cta__ic {
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .2);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.bg-cta__ic svg { width: 18px; height: 18px; }
.bg-cta__ic--line {
	background: #fff;
	color: #06c755;
	font-size: 9.5px;
	font-weight: 800;
	letter-spacing: -.02em;
}
.bg-cta__tx {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1.35;
}
.bg-cta__tx strong { font-size: 17px; font-weight: 700; }
.bg-cta__tx small { font-size: 12px; opacity: .92; }

/* ---------- レスポンシブ ---------- */
@media (max-width: 1100px) {
	.bg-caution__grid { grid-template-columns: repeat(4, 1fr); row-gap: 20px; }
	.bg-caution__item:nth-child(4n) { border-right: 0; }
	.bg-reason__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 900px) {
	.bg-hero__inner {
		grid-template-columns: 1fr;
		text-align: center;
		gap: 16px;
	}
	.bg-hero__txt { padding-left: 0; }
	.bg-hero__ttl-main { font-size: 40px; }
	.bg-hero__ttl-sub { font-size: 30px; }
	.bg-hero__label { margin-left: auto; margin-right: auto; }
	.bg-hero__fig { max-width: 240px; margin: 0 auto; }
	.bg-hero__bubble { width: 160px; height: 160px; margin: 0 auto; font-size: 13.5px; }
	.bg-hero::before, .bg-hero::after { display: none; }
	.bg-h2 { font-size: 21px; }
	.bg-h2::before, .bg-h2::after { max-width: 34px; }
	.bg-h2__brand { font-size: 22px; }
	.bg-flow { flex-direction: column; gap: 22px; }
	.bg-flow__arrow { width: auto; height: 20px; transform: rotate(90deg); }
	.bg-flow__fig { aspect-ratio: 16 / 9; }
	.bg-caution { padding: 6px 14px 22px; }
	.bg-caution__grid { grid-template-columns: repeat(2, 1fr); }
	.bg-caution__item { border-right: 0; }
	.bg-reason__grid { grid-template-columns: repeat(2, 1fr); }
	.bg-cta { padding: 18px 14px 20px; }
	.bg-cta__btns { grid-template-columns: 1fr; }
	.bg-cta__lead { font-size: 14.5px; }
	.bg-cta__lead::before, .bg-cta__lead::after { max-width: 24px; }
}
@media (max-width: 560px) {
	.bg-reason__grid { grid-template-columns: 1fr; }
}

/* =========================================================================
 * ラブホテル一覧（確定デザイン hotel_pc 準拠 / 2026-08-03）
 * ========================================================================= */
.ht,
.ht-head {
	--ht-pink: #e8548a;
	--ht-pink-d: #d43d75;
	--ht-orange: #f0952a;
	--ht-gray: #8a8a8a;
	--ht-blue: #3b7dd8;
	--ht-purple: #9a5fc4;
	--ht-gold: #c8a96a;
	--ht-mint: #2f9e86;
}

/* ---------- ページヘッダー ---------- */
.ht-head {
	position: relative;
	background: linear-gradient(180deg, #fffdfd 0%, #fdf5f8 100%);
	padding: 10px 0 6px;
	overflow: hidden;
}
.ht-head__inner {
	position: relative;
	display: grid;
	grid-template-columns: 160px 1fr 210px;
	align-items: center;
	gap: 10px;
	min-height: 96px;
}
.ht-head--banner { padding: 14px 0 22px; background: linear-gradient(180deg,#fbe9ef 0%,#fdf5f8 100%); }
.ht-head--banner .ht-head__inner { display: block; min-height: 0; }
.ht-head--banner .lc-header-banner-pc { border-radius: 6px; display: block; width: 100%; }
@media (max-width:640px){ .ht-head--banner .lc-container{ padding:0 8px; } }
.pr-hero .lc-header-banner-pc,
.lc-cos-hero__main .lc-header-banner-pc,
.lc-page-header--sched .lc-header-banner-pc,
.lc-page-header--girls .lc-header-banner-pc{display:block;width:100%}
@media (max-width:640px){
.pr-hero{margin-left:-8px;margin-right:-8px;padding-left:8px;padding-right:8px}
.lc-cos-hero{margin-left:-8px;margin-right:-8px}
.lc-page-header--sched{margin-left:-8px;margin-right:-8px}
.lc-page-header--girls{margin-left:-8px;margin-right:-8px}
.lc-page-header--sched .lc-page-header__inner{padding:0}
.lc-page-header--sched::before,.lc-page-header--sched::after,.lc-page-header--girls::before,.lc-page-header--girls::after{display:none}
.cdp-head--banner{margin-left:-8px;margin-right:-8px}
.dy-head--banner{padding-left:8px;padding-right:8px}
.dy-head--banner .dy-head__inner.lc-container{padding-left:0;padding-right:0}
}
.ht-head__flowers {
	width: 150px;
	height: auto;
	mix-blend-mode: multiply;
	opacity: .95;
}
.ht-head__ttlbox { text-align: center; }
.ht-head__ttl {
	margin: 0 0 4px;
	font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
	font-size: 38px;
	font-weight: 700;
	letter-spacing: .1em;
	color: var(--ht-pink);
	text-shadow: 0 2px 5px rgba(232, 84, 138, .16);
	display: inline-flex;
	align-items: center;
	gap: 16px;
}
.ht-head__deco {
	font-size: 17px;
	color: #f0a8c4;
	font-weight: 400;
}
.ht-head__sub {
	margin: 0;
	font-size: 14px;
	letter-spacing: .1em;
	color: #7a7a7a;
}
.ht-head__badge {
	display: flex;
	align-items: center;
	gap: 10px;
	border: 1px solid var(--ht-gold);
	border-radius: 8px;
	background: #fffdf7;
	padding: 9px 14px;
	box-shadow: 0 2px 6px rgba(200, 169, 106, .14);
}
.ht-head__badge-ic {
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	color: #4bbfa5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.ht-head__badge-ic svg { width: 100%; height: 100%; }
.ht-head__badge-tx {
	display: flex;
	flex-direction: column;
	line-height: 1.4;
}
.ht-head__badge-tx strong {
	font-size: 15px;
	font-weight: 700;
	color: var(--ht-mint);
	letter-spacing: .04em;
}
.ht-head__badge-tx small {
	font-size: 11px;
	color: #7a7a7a;
}

/* ---------- リード・凡例 ---------- */
.ht-lead {
	margin: 18px 0 12px;
	text-align: center;
	font-size: 14.5px;
	line-height: 1.8;
	color: #4a4a4a;
}
.ht-legend {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px 22px;
	margin-bottom: 18px;
	font-size: 12px;
	color: #7a7a7a;
}
.ht-legend__item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.ht-legend__link {
	color: var(--ht-pink);
	text-decoration: underline;
	font-weight: 700;
}

/* ---------- エリアブロック ---------- */
.ht-block {
	--c: var(--ht-pink);
	--c-l: #fdeef4;
	background: #fff;
	border: 1px solid #efe6ea;
	border-radius: 10px;
	padding: 12px 14px 14px;
	margin-bottom: 14px;
	box-shadow: 0 1px 5px rgba(0, 0, 0, .04);
}
.ht-block--pink   { --c: #e8548a; --c-l: #fdeef4; }
.ht-block--orange { --c: #f0952a; --c-l: #fdf4e6; }
.ht-block--gray   { --c: #8a8a8a; --c-l: #f4f4f4; }
.ht-block--green  { --c: #3fa876; --c-l: #e7f7ef; }
.ht-block--blue   { --c: #3b7dd8; --c-l: #eaf1fc; }
.ht-block--purple { --c: #9a5fc4; --c-l: #f4edfa; }

.ht-block__head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 10px;
	font-size: 19px;
	font-weight: 700;
}
.ht-block__num {
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--c);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.ht-block__name {
	color: var(--c);
	letter-spacing: .04em;
}
.ht-block__costlabel {
	font-size: 12px;
	font-weight: 500;
	color: #8a8a8a;
	margin-left: 6px;
}
.ht-block__cost {
	font-size: 15px;
	font-weight: 700;
	color: #e03a6a;
}
.ht-block__count {
	margin-left: auto;
	font-size: 12px;
	font-weight: 500;
	color: #9a9a9a;
	background: var(--c-l);
	border-radius: 20px;
	padding: 3px 12px;
}

/* ---------- テーブル ---------- */
.ht-table-wrap { overflow-x: auto; }
.ht-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13.5px;
}
.ht-table thead th {
	background: var(--c);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .06em;
	padding: 7px 10px;
	text-align: center;
	white-space: nowrap;
}
.ht-table__th-name { text-align: left !important; width: 26%; }
.ht-table__th-addr { width: 36%; }
.ht-table__th-tel  { width: 22%; }
.ht-table__th-cost { width: 16%; }
.ht-table tbody td {
	border-bottom: 1px solid #f0eaec;
	padding: 9px 10px;
	text-align: center;
	color: #4a4a4a;
}
.ht-table tbody tr:last-child td { border-bottom: 0; }
.ht-table__name {
	text-align: left !important;
	font-weight: 500;
}
.ht-link {
	color: #3a3a3a;
	text-decoration: none;
	border-bottom: 1px dotted #c8c8c8;
}
.ht-link:hover { color: var(--c); border-bottom-color: var(--c); }
.ht-link__ext { font-size: 10px; margin-left: 3px; color: #b8b8b8; }
.ht-nolink { color: #3a3a3a; }
.ht-table__addr { font-size: 13px; }
.ht-table__tel a {
	color: #4a4a4a;
	text-decoration: none;
}
.ht-table__tel a:hover { color: var(--c); }
.ht-table__cost {
	font-weight: 700;
	color: #e03a6a;
	white-space: nowrap;
}

/* ---------- 交通費について ---------- */
.ht-fare {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 20px;
	background: linear-gradient(180deg, #f2fbf8 0%, #e8f6f2 100%);
	border: 1px solid #d4ece5;
	border-radius: 12px;
	padding: 18px 22px;
	margin: 22px 0 16px;
	overflow: hidden;
}
.ht-fare__sakura {
	position: absolute;
	right: 6px;
	bottom: 4px;
	width: 54px;
	height: auto;
	opacity: .7;
	mix-blend-mode: multiply;
	pointer-events: none;
}
.ht-fare__ttl {
	margin: 0 0 8px;
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 19px;
	font-weight: 700;
	color: var(--ht-mint);
	letter-spacing: .04em;
}
.ht-fare__ic {
	width: 34px;
	height: 34px;
	color: #4bbfa5;
	display: inline-flex;
}
.ht-fare__ic svg { width: 100%; height: 100%; }
.ht-fare__txt {
	margin: 0;
	font-size: 13.5px;
	line-height: 1.8;
	color: #4a5a56;
}
.ht-fare__badges {
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.ht-fare__badges li {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
.ht-fare__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 66px;
	background: #fff;
	border: 1px solid var(--ht-gold);
	border-radius: 5px;
	padding: 5px 10px;
	font-size: 13.5px;
	font-weight: 700;
	color: #b8873a;
	white-space: nowrap;
}
.ht-fare__badges li small {
	font-size: 11px;
	color: #7a8a86;
}
.ht-fare__notes {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	font-size: 11px;
	color: #7a8a86;
	text-align: right;
}

/* ---------- 注記 ---------- */
.ht-note {
	background: #fdfafb;
	border: 1px solid #f2e8ec;
	border-radius: 10px;
	padding: 14px 18px;
	margin-bottom: 22px;
}
.ht-note__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 7px;
}
.ht-note__list li {
	position: relative;
	padding-left: 16px;
	font-size: 12.5px;
	line-height: 1.75;
	color: #6a6a6a;
}
.ht-note__list li::before {
	content: "✦";
	position: absolute;
	left: 0;
	top: 0;
	color: #f0a8c4;
	font-size: 10px;
}

/* ---------- フッターCTA ---------- */
.ht-cta {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 22px;
	background: linear-gradient(180deg, #fdeef4 0%, #fbe2ec 100%);
	border-radius: 12px;
	padding: 18px 24px;
	margin-bottom: 26px;
}
.ht-cta__left {
	display: flex;
	align-items: center;
	gap: 12px;
}
.ht-cta__cl {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	color: #79b98f;
	display: inline-flex;
}
.ht-cta__cl svg { width: 100%; height: 100%; }
.ht-cta__txt {
	margin: 0;
	font-size: 12.5px;
	line-height: 1.7;
	color: #8a6070;
}
.ht-cta__tel {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	justify-content: center;
	text-decoration: none;
}
.ht-cta__tel-ic {
	width: 26px;
	height: 26px;
	color: var(--ht-pink);
	display: inline-flex;
}
.ht-cta__tel-ic svg { width: 100%; height: 100%; }
.ht-cta__tel-tx {
	display: flex;
	flex-direction: column;
	line-height: 1.3;
}
.ht-cta__tel-tx strong {
	font-size: 30px;
	font-weight: 700;
	color: var(--ht-pink-d);
	letter-spacing: .01em;
}
.ht-cta__tel-tx small {
	font-size: 11.5px;
	color: #7a6a70;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.ht-cta__tel-tx small em {
	font-style: normal;
	border: 1px solid #f2a0bd;
	border-radius: 3px;
	padding: 1px 6px;
	color: var(--ht-pink);
	font-size: 10.5px;
}
.ht-cta__btns {
	display: flex;
	gap: 12px;
}
.ht-cta__btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 130px;
	border-radius: 6px;
	padding: 9px 14px;
	text-decoration: none;
	color: #fff;
	line-height: 1.35;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
	transition: transform .15s ease;
}
.ht-cta__btn:hover { transform: translateY(-2px); }
.ht-cta__btn strong { font-size: 15px; font-weight: 700; }
.ht-cta__btn small { font-size: 10.5px; opacity: .92; }
.ht-cta__btn--web { background: linear-gradient(180deg, #ee6a99 0%, var(--ht-pink-d) 100%); }
.ht-cta__btn--line { background: linear-gradient(180deg, #17a05f 0%, #0e8a4d 100%); }

/* ---------- レスポンシブ ---------- */
@media (max-width: 1000px) {
	.ht-head__inner { grid-template-columns: 110px 1fr 190px; }
	.ht-head__flowers { width: 104px; }
	.ht-head__ttl { font-size: 30px; }
	.ht-cta { grid-template-columns: 1fr; justify-items: center; text-align: center; gap: 14px; }
	.ht-cta__left { justify-content: center; }
	.ht-cta__txt { text-align: left; }
}
@media (max-width: 800px) {
	.ht-head__inner {
		grid-template-columns: 1fr;
		justify-items: center;
		gap: 8px;
		padding-top: 8px;
		padding-bottom: 8px;
	}
	.ht-head__flowers { width: 88px; }
	.ht-head__ttl { font-size: 25px; gap: 10px; }
	.ht-fare { grid-template-columns: 1fr; }
	.ht-fare__notes { text-align: left; }
	.ht-block__head { flex-wrap: wrap; font-size: 16px; }
	.ht-block__count { margin-left: 0; }
	.ht-table { font-size: 12.5px; min-width: 560px; }
	.ht-cta__btns { flex-direction: column; width: 100%; }
	.ht-cta__btn { width: 100%; }
	.ht-cta__tel-tx strong { font-size: 25px; }
}
/* ============================================================
   年齢認証ページ（確定デザイン age_gate_reference 準拠）
   エメラルドグリーン × ゴールド
   ============================================================ */
.agc{
	--agc-emerald:#0f7a63;
	--agc-emerald-d:#0a5849;
	--agc-emerald-l:#3aa78c;
	--agc-mint:#e6f6f1;
	--agc-mint-l:#f4fbf8;
	--agc-gold:#c8a44a;
	--agc-gold-l:#e6cd8a;
	--agc-gold-d:#a8842f;
	--agc-pink:#e2568c;
	--agc-ink:#4a4a4a;
	position:relative;
	min-height:100vh;
	padding:24px 16px 40px;
	background:
		radial-gradient(circle at 12% 18%, rgba(58,167,140,.10) 0 22%, transparent 55%),
		radial-gradient(circle at 88% 12%, rgba(58,167,140,.08) 0 20%, transparent 52%),
		radial-gradient(circle at 78% 82%, rgba(226,86,140,.05) 0 22%, transparent 55%),
		linear-gradient(165deg,#ffffff 0%,#f6fcfa 38%,#eef8f4 68%,#fdf6f9 100%);
	font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;
	overflow:hidden;
}
/* 背景のキラキラ */
.agc::before,
.agc::after{
	content:"";
	position:absolute;
	inset:0;
	pointer-events:none;
	background-repeat:repeat;
}
.agc::before{
	background-image:
		radial-gradient(circle, rgba(255,255,255,.9) 0 1px, transparent 2px),
		radial-gradient(circle, rgba(58,167,140,.35) 0 1px, transparent 2px);
	background-size:120px 120px, 190px 190px;
	background-position:0 0, 60px 90px;
	opacity:.75;
}
/* カンプは背景全面に淡いクローバー柄と光の粒子が散っている。
   当初はクローバーが大きすぎて枠の外側に目立ったため、
   サイズを約半分に缮めて不透明度も下げ、上品な散らしにする。 */
.agc::after{
	background-image:
		url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cg fill='%233aa78c' fill-opacity='0.055'%3E%3Cpath d='M52 38c0-6-4.5-10.5-10.5-10.5S31 32 31 38s4.5 10.5 10.5 10.5C35.5 48.5 31 53 31 59s4.5 10.5 10.5 10.5S52 65 52 59c0 6 4.5 10.5 10.5 10.5S73 65 73 59s-4.5-10.5-10.5-10.5C68.5 48.5 73 44 73 38s-4.5-10.5-10.5-10.5S52 32 52 38z'/%3E%3Cpath d='M318 274c0-4.5-3.5-8-8-8s-8 3.5-8 8 3.5 8 8 8c-4.5 0-8 3.5-8 8s3.5 8 8 8 8-3.5 8-8c0 4.5 3.5 8 8 8s8-3.5 8-8-3.5-8-8-8c4.5 0 8-3.5 8-8s-3.5-8-8-8-8 3.5-8 8z'/%3E%3Cpath d='M196 158c0-3.5-2.8-6.5-6.5-6.5S183 154.5 183 158s2.8 6.5 6.5 6.5c-3.7 0-6.5 2.8-6.5 6.5s2.8 6.5 6.5 6.5S196 175 196 171c0 3.5 2.8 6.5 6.5 6.5S209 175 209 171s-2.8-6.5-6.5-6.5c3.7 0 6.5-2.8 6.5-6.5s-2.8-6.5-6.5-6.5S196 154.5 196 158z'/%3E%3Cpath d='M362 76c0-4-3-7-7-7s-7 3-7 7 3 7 7 7c-4 0-7 3-7 7s3 7 7 7 7-3 7-7c0 4 3 7 7 7s7-3 7-7-3-7-7-7c4 0 7-3 7-7s-3-7-7-7-7 3-7 7z'/%3E%3Cpath d='M92 322c0-5-4-9-9-9s-9 4-9 9 4 9 9 9c-5 0-9 4-9 9s4 9 9 9 9-4 9-9c0 5 4 9 9 9s9-4 9-9-4-9-9-9c5 0 9-4 9-9s-4-9-9-9-9 4-9 9z'/%3E%3C/g%3E%3C/svg%3E"),
		radial-gradient(circle, rgba(200,164,74,.28) 0 1.5px, transparent 3px);
	background-size:420px 420px, 260px 260px;
	background-position:0 0, 130px 40px;
	opacity:.9;
}

/* 外枠（ゴールド二重枠） */
.agc__frame{
	position:relative;
	z-index:1;
	max-width:1024px;
	margin:0 auto;
	padding:34px 30px 30px;
	background:rgba(255,255,255,.62);
	border:1px solid var(--agc-gold-l);
	border-radius:6px;
	box-shadow:0 0 0 5px rgba(255,255,255,.55), 0 0 0 6px var(--agc-gold), 0 18px 46px rgba(15,122,99,.10);
	backdrop-filter:blur(2px);
}
.agc__corner{position:absolute;width:52px;height:52px;pointer-events:none;opacity:.95}
.agc__corner img{width:100%;height:100%;object-fit:contain;display:block}
.agc__corner--tl{top:6px;left:6px}
.agc__corner--tr{top:6px;right:6px;transform:scaleX(-1)}
.agc__corner--bl{bottom:6px;left:6px;transform:scaleY(-1)}
.agc__corner--br{bottom:6px;right:6px;transform:scale(-1,-1)}

/* ---------- ヒーロー ---------- */
/* 左カラム（テキスト）と右カラム（縦長写真）の高さ差で
   左下に大きな余白ができていたため、左カラムを中央寄せにし、
   写真の高さ上限を設けてパネルとの間隔を詰める（タスク5-4）。 */
.agc__hero{
	position:relative;
	display:grid;
	grid-template-columns:1fr minmax(0,44%);
	gap:0 14px;
	align-items:center;
	margin-bottom:14px;
}
.agc__hero-text{position:relative;z-index:2;padding-top:0}
.agc__hero-img{
	position:relative;
	z-index:1;
	/* 以前は上にはみ出して金枠に接触していたため、上のマイナスマージンを解除。 */
	margin:0 -12px 0 0;
}
.agc__hero-img img{
	display:block;
	width:100%;
	height:auto;
	max-height:530px;
	object-fit:cover;
	object-position:center 18%;
	border-radius:6px;
	mask-image:radial-gradient(120% 105% at 65% 40%, #000 55%, rgba(0,0,0,.35) 78%, transparent 100%);
	-webkit-mask-image:radial-gradient(120% 105% at 65% 40%, #000 55%, rgba(0,0,0,.35) 78%, transparent 100%);
}

.agc__area{
	display:inline-block;
	margin:0 0 14px;
	padding:5px 20px;
	font-size:13px;
	letter-spacing:.06em;
	color:#5a5a5a;
	background:rgba(255,255,255,.7);
	border:1px solid var(--agc-gold-l);
	border-radius:2px;
}
.agc__logo{margin:0 0 14px}
.agc__logo-img{display:block;width:100%;max-width:420px;height:auto}
/* 年齢認証専用ロゴ（カンプ準拠）は横長・二段組なので大きめに見せる。 */
.agc__logo-img--gate{max-width:490px;filter:drop-shadow(0 3px 10px rgba(15,122,99,.14))}
.agc__logo-kana{margin:0;font-size:13px;letter-spacing:.5em;color:#8a8a8a;text-align:center}
.agc__logo-en{
	margin:2px 0 4px;
	font-size:64px;
	line-height:1.02;
	font-weight:400;
	letter-spacing:.04em;
	background:linear-gradient(180deg,#e8d193 0%,#c8a44a 45%,#9c7a2a 100%);
	-webkit-background-clip:text;background-clip:text;
	-webkit-text-fill-color:transparent;
}
.agc__logo-ja{margin:0;font-size:14px;letter-spacing:.12em;color:var(--agc-emerald)}

.agc__catch{margin:0}
.agc__catch-1,
.agc__catch-2{
	margin:0;
	font-weight:700;
	line-height:1.18;
	color:var(--agc-emerald);
	letter-spacing:.02em;
}
.agc__catch-1{font-size:46px}
.agc__catch-2{font-size:40px;margin-top:2px}
.agc__catch-1 em{font-style:normal;color:var(--agc-pink)}
.agc__catch-sub{
	margin:12px 0 0;
	font-size:15px;
	letter-spacing:.06em;
	color:#6b6b6b;
}
/* 金の区切り飾り：画像素材（gate_divider.png）はピンク系の帯背景を持ち
   エメラルド／金の配色から浮いて見えたため、非表示にして
   CSSで「金の細罫＋中央にクローバー」を描画する方式に変更。 */
.agc__divider{display:none}
.agc__divider-css{
	display:flex;
	align-items:center;
	gap:14px;
	margin:18px 0 0;
	max-width:430px;
}
.agc__divider-css::before,
.agc__divider-css::after{
	content:"";
	flex:1 1 auto;
	height:1px;
	background:linear-gradient(90deg, rgba(200,164,74,0), var(--agc-gold) 45%, rgba(200,164,74,.35));
}
.agc__divider-css::after{
	background:linear-gradient(90deg, rgba(200,164,74,.35), var(--agc-gold) 55%, rgba(200,164,74,0));
}
.agc__divider-css i{
	flex:0 0 auto;
	font-style:normal;
	font-size:22px;
	line-height:1;
	color:var(--agc-emerald);
}

/* ---------- 認証パネル ---------- */
.agc__panel{
	position:relative;
	margin:0 0 30px;
	padding:44px 30px 34px;
	text-align:center;
	background:
		radial-gradient(circle at 84% 30%, rgba(58,167,140,.10) 0 26%, transparent 60%),
		linear-gradient(180deg, rgba(255,255,255,.86) 0%, rgba(232,247,242,.82) 100%);
	border:1px solid var(--agc-gold);
	border-radius:8px;
	box-shadow:inset 0 0 0 4px rgba(255,255,255,.75), 0 10px 30px rgba(15,122,99,.08);
}
.agc__panel-heart{
	position:absolute;
	top:-16px;left:50%;
	transform:translateX(-50%);
	width:150px;height:auto;
}
.agc__q{
	margin:0 0 16px;
	font-size:52px;
	font-weight:700;
	line-height:1.15;
	letter-spacing:.02em;
	color:var(--agc-emerald-d);
}
.agc__note{
	margin:0 0 6px;
	font-size:16px;
	line-height:1.85;
	color:#555;
}
.agc__note--warn{margin:8px 0 0;color:var(--agc-pink);font-size:15px}

.agc__btns{
	display:flex;
	justify-content:center;
	gap:26px;
	margin-top:26px;
	flex-wrap:wrap;
}
/* 六角形ボタン（左右が尖る） */
.agc__btn{
	position:relative;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	width:min(340px,100%);
	min-height:104px;
	padding:16px 40px 22px;
	text-decoration:none;
	clip-path:polygon(8% 0, 92% 0, 100% 50%, 92% 100%, 8% 100%, 0 50%);
	transition:transform .18s ease, filter .18s ease;
}
.agc__btn::before{
	content:"";
	position:absolute;
	inset:3px;
	clip-path:polygon(8% 0, 92% 0, 100% 50%, 92% 100%, 8% 100%, 0 50%);
	pointer-events:none;
}
.agc__btn:hover{transform:translateY(-2px);filter:brightness(1.05)}
.agc__btn--enter{
	background:
		linear-gradient(180deg, rgba(255,255,255,.32) 0 45%, rgba(255,255,255,0) 46%),
		linear-gradient(165deg,#2f9b80 0%,#0f7a63 46%,#0a5b4b 100%);
	color:#fff;
	box-shadow:0 8px 22px rgba(15,122,99,.28);
}
.agc__btn--enter::before{background:linear-gradient(180deg,rgba(232,209,147,.95),rgba(200,164,74,.9));z-index:-1}
.agc__btn--exit{
	background:
		linear-gradient(180deg, rgba(255,255,255,.5) 0 45%, rgba(255,255,255,0) 46%),
		linear-gradient(165deg,#f2f2f0 0%,#d8d8d4 48%,#bdbdb8 100%);
	color:#5a5a5a;
	box-shadow:0 8px 20px rgba(0,0,0,.10);
}
/* ゴールド枠を疑似要素で（clip-pathの外側枠） */
.agc__btn{border:0}
.agc__btn--enter,
.agc__btn--exit{outline:none}
.agc__btn-main{font-size:19px;font-weight:700;letter-spacing:.04em}
.agc__btn-sub{margin-top:3px;font-size:16px;letter-spacing:.22em}
/* カンプの矢印飾り：金色ではっきり見えるよう太さと不透明度を上げる。 */
.agc__btn-chev{
	position:absolute;
	bottom:9px;left:50%;
	width:9px;height:9px;
	margin-left:-5px;
	border-right:2.5px solid currentColor;
	border-bottom:2.5px solid currentColor;
	transform:rotate(45deg);
	opacity:1;
}
.agc__btn--enter .agc__btn-chev{color:#e8d193}
.agc__btn--exit .agc__btn-chev{color:#c8a44a}

/* ---------- 広告バナー ---------- */
.agc__ads{margin:0 0 22px}
.agc__ads-ttl{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:14px;
	margin:0 0 16px;
	font-size:22px;
	font-weight:700;
	color:var(--agc-emerald-d);
	letter-spacing:.06em;
}
/* カンプは細い金の線＋小さなクローバー。以前は太い帯だったため細線に変更。 */
.agc__ads-ttl::before,
.agc__ads-ttl::after{
	content:"";
	flex:0 0 110px;
	height:1px;
	background:linear-gradient(90deg,transparent,var(--agc-gold) 60%,var(--agc-gold));
	border-radius:0;
	opacity:.9;
}
.agc__ads-ttl::after{
	background:linear-gradient(90deg,var(--agc-gold),var(--agc-gold) 40%,transparent);
}
.agc__ads-ttl span{position:relative;padding:0 30px}
.agc__ads-ttl span::before,
.agc__ads-ttl span::after{
	content:"☘";
	position:absolute;top:50%;transform:translateY(-50%);
	font-size:17px;color:var(--agc-emerald-l);
}
.agc__ads-ttl span::before{left:0}
.agc__ads-ttl span::after{right:0}

.agc__ads-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:14px;
}
.agc__ad{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:86px;
	padding:8px;
	text-decoration:none;
	background:url("../img/design/gate_banner_bg.jpg") center/cover no-repeat, var(--agc-mint-l);
	border:1px solid var(--agc-gold-l);
	border-radius:6px;
	box-shadow:inset 0 0 0 3px rgba(255,255,255,.7);
	overflow:hidden;
}
.agc__ad img{max-width:100%;height:auto;display:block}
.agc__ad-ph{display:block;text-align:center;line-height:1.5}
.agc__ad-ph b{display:block;font-size:19px;font-weight:700;color:var(--agc-emerald-d)}
.agc__ad-ph i{display:block;font-style:normal;font-size:13px;letter-spacing:.06em;color:var(--agc-pink)}
.agc__ad-ph small{display:block;font-size:12px;color:#8a8a8a}

.agc__terms{
	margin:0;
	text-align:center;
	font-size:13px;
	color:#7a7a7a;
	letter-spacing:.04em;
}
.agc__terms a{color:var(--agc-gold-d);text-decoration:underline}

/* ---------- レスポンシブ ---------- */
@media (max-width:900px){
	.agc__logo-en{font-size:50px}
	.agc__catch-1{font-size:36px}
	.agc__catch-2{font-size:32px}
	.agc__q{font-size:40px}
}
@media (max-width:768px){
	.agc{padding:16px 10px 30px}
	.agc__frame{padding:26px 16px 22px;box-shadow:0 0 0 4px rgba(255,255,255,.55), 0 0 0 5px var(--agc-gold)}
	.agc__corner{width:38px;height:38px}
	.agc__hero{grid-template-columns:1fr;gap:14px}
	.agc__hero-img{order:-1;margin:0 0 4px}
	.agc__hero-img img{max-height:280px;object-fit:cover;object-position:center 22%}
	.agc__hero-text{text-align:center}
	.agc__logo-img{margin:0 auto}
	.agc__divider{margin:10px auto 0}
	.agc__catch-1{font-size:30px}
	.agc__catch-2{font-size:26px}
	.agc__q{font-size:31px}
	.agc__note{font-size:14px}
	.agc__panel{padding:34px 14px 26px}
	.agc__panel-heart{width:118px;top:-13px}
	.agc__btns{gap:14px}
	.agc__btn{width:100%;min-height:88px;padding:14px 34px 20px}
	.agc__btn-main{font-size:17px}
	.agc__btn-sub{font-size:14px}
	.agc__ads-ttl{font-size:17px}
	.agc__ads-ttl::before,.agc__ads-ttl::after{flex-basis:40px}
	.agc__ads-grid{grid-template-columns:repeat(2,1fr);gap:10px}
	.agc__ad{min-height:70px}
	.agc__ad-ph b{font-size:15px}
	.agc__ad-ph i{font-size:11px}
	.agc__terms{font-size:12px}
}
@media (max-width:420px){
	.agc__ads-grid{grid-template-columns:1fr}
}
/* --- 年齢認証ページ 微調整 --- */
/* ロゴ・飾り・ハートの切り出し背景を透過的に馴染ませる（乗算合成） */
.agc__logo-img,
.agc__divider,
.agc__panel-heart{
	mix-blend-mode:multiply;
	filter:saturate(1.05);
}
.agc__logo-img{max-width:440px}
.agc__divider{width:190px}
.agc__panel-heart{width:132px;top:-14px}

/* ENTERボタン：エメラルドの光沢が金枠に埋もれないよう調整 */
.agc__btn{
	clip-path:none;
	border-radius:4px;
}
.agc__btn::before{display:none}
.agc__btn--enter{
	background:
		linear-gradient(180deg, rgba(255,255,255,.30) 0 44%, rgba(255,255,255,0) 45%),
		linear-gradient(165deg,#2f9b80 0%,#0f7a63 46%,#0a5b4b 100%);
	border:2px solid var(--agc-gold-l);
	box-shadow:0 8px 22px rgba(15,122,99,.28), inset 0 0 0 1px rgba(255,255,255,.35);
}
.agc__btn--exit{
	background:
		linear-gradient(180deg, rgba(255,255,255,.55) 0 44%, rgba(255,255,255,0) 45%),
		linear-gradient(165deg,#f6f6f4 0%,#dcdcd8 48%,#c2c2bc 100%);
	border:2px solid var(--agc-gold-l);
	box-shadow:0 8px 20px rgba(0,0,0,.10), inset 0 0 0 1px rgba(255,255,255,.6);
}
/* 左右が尖った形状はマスクで表現（枠線を保ったまま角を落とす） */
.agc__btn--enter,
.agc__btn--exit{
	-webkit-mask-image:linear-gradient(#000,#000);
	position:relative;
}
.agc__btn-main{font-size:19px;letter-spacing:.05em}
.agc__btn--enter .agc__btn-main{color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.22)}
.agc__btn--enter .agc__btn-sub{color:#f3e6c2}
.agc__btn--exit .agc__btn-main{color:#4a4a48}
.agc__btn--exit .agc__btn-sub{color:#6b6b68}

/* 広告バナー枠：クローバー柄を薄くして文字を読みやすく */
.agc__ad{
	position:relative;
	background:var(--agc-mint-l);
}
.agc__ad::before{
	content:"";
	position:absolute;inset:0;
	background:url("../img/design/gate_banner_bg.jpg") center/cover no-repeat;
	opacity:.5;
	pointer-events:none;
}
.agc__ad > *{position:relative;z-index:1}

/* 四隅の唐草：白背景が見えるので乗算で溶かす */
.agc__corner img{mix-blend-mode:multiply}

/* 新ロゴ（gate_logo_v2）は透過済みなので乗算合成を外し、
   宝石の白ハイライトを残す（乗算だと光沢が潰れる）。 */
.agc__logo-img--gate{
	mix-blend-mode:normal;
	filter:drop-shadow(0 3px 10px rgba(15,122,99,.14));
	max-width:490px;
}

/* --- SP調整（タスク5-4）--- */
@media (max-width:600px){
	/* 「各種広告媒体はこちら」が2行に折り返していたため、
	   金の罫を短くしフォントも下げて1行に収める。 */
	.agc__ads-ttl{font-size:15.5px;gap:8px;flex-wrap:nowrap;white-space:nowrap}
	.agc__ads-ttl::before,
	.agc__ads-ttl::after{flex:1 1 auto;min-width:16px}
	.agc__ads-ttl span{padding:0 22px}
	.agc__ads-ttl span::before,
	.agc__ads-ttl span::after{font-size:14px}

	/* ロゴはSPでは中央寄せ・幅を押えてキャッチとのバランスを取る */
	.agc__logo-img--gate{max-width:290px;margin:0 auto}

	/* hero写真上部が金枠に詰まって見えないよう余白を確保 */
	.agc__hero-img{margin:2px 0 6px}
	.agc__hero-img img{border-radius:4px}

	/* 飾り罫は中央寄せ */
	.agc__divider-css{margin:14px auto 0;max-width:260px}

	/* 広告枠6枠の縦長を緩和 */
	.agc__ad{min-height:62px}
}
/* ============================================================
   女性求人TOP ヒーロー：写真＋給与表示（出稼ぎ/在籍の意匠を踏襲）
   ============================================================ */
.rc-hero--cast .rc-hero__inner{
	position:relative;
	display:grid;
	grid-template-columns:1fr minmax(0,34%);
	align-items:center;
	gap:0 18px;
}
.rc-hero--cast .rc-hero__body{position:relative;z-index:2}

/* 給与の大文字表示 */
.rc-hero__pay{
	display:inline-flex;
	align-items:baseline;
	gap:6px;
	margin:14px 0 0;
	padding:8px 22px 8px 18px;
	background:linear-gradient(135deg,#fff 0%,#fff6fa 100%);
	border:2px solid #ffb3cf;
	border-radius:999px;
	box-shadow:0 6px 18px rgba(255,79,136,.16);
}
.rc-hero__pay-unit{font-size:16px;font-weight:700;color:#3aa78c}
.rc-hero__pay-num{
	font-size:40px;
	line-height:1;
	font-weight:800;
	color:#e2568c;
	letter-spacing:-.01em;
}
.rc-hero__pay-yen{font-size:17px;font-weight:700;color:#e2568c}

/* ヒーロー右の人物写真 */
.rc-hero__photo{
	position:relative;
	z-index:1;
	align-self:end;
}
.rc-hero__photo img{
	display:block;
	width:100%;
	height:auto;
	max-height:392px;
	object-fit:cover;
	object-position:center 18%;
	border-radius:16px 16px 0 0;
	mask-image:radial-gradient(125% 108% at 50% 42%, #000 58%, rgba(0,0,0,.4) 80%, transparent 100%);
	-webkit-mask-image:radial-gradient(125% 108% at 50% 42%, #000 58%, rgba(0,0,0,.4) 80%, transparent 100%);
}

/* 未経験者大歓迎ハートは写真に重ねる */
.rc-hero--cast .rc-hero__badge{
	position:absolute;
	right:8px;
	top:6px;
	z-index:3;
}

@media (max-width:900px){
	.rc-hero--cast .rc-hero__inner{grid-template-columns:1fr}
	.rc-hero__photo{max-width:320px;margin:8px auto 0}
	.rc-hero--cast .rc-hero__badge{right:4px;top:2px}
	.rc-hero__pay-num{font-size:34px}
}
@media (max-width:768px){
	.rc-hero__pay{padding:6px 18px 6px 14px}
	.rc-hero__pay-num{font-size:30px}
	.rc-hero__pay-unit{font-size:14px}
	.rc-hero__pay-yen{font-size:15px}
	.rc-hero__photo img{max-height:300px}
}
/* ============================================================
   即姫ランキング：写真を小さめにして一覧性を上げる（過去指示反映）
   3カラムグリッド → 横並びリスト（写真小・情報右）
   ============================================================ */
.lc-top-rank__grid{
	display:flex;
	flex-direction:column;
	gap:9px;
}
.lc-trc{
	flex-direction:row;
	align-items:center;
	gap:10px;
	padding:8px 10px 8px 8px;
}
.lc-trc__photo{
	flex:0 0 68px;
	width:68px;
	aspect-ratio:1/1;
	border-radius:8px;
	overflow:hidden;
}
.lc-trc__medal{
	top:3px;left:3px;
	width:21px;height:21px;
	font-size:11px;
	box-shadow:0 1px 4px rgba(0,0,0,.2);
}
.lc-trc__body{
	padding:0;
	gap:3px;
	justify-content:center;
	min-width:0;
}
.lc-trc__name a{font-size:14px}
.lc-trc__tags{margin:0}
.lc-trc__tags span{font-size:9.5px;padding:2px 6px}
.lc-trc__time{font-size:11px}
.lc-trc__btn{
	margin:0;
	flex:0 0 auto;
	min-width:96px;
	padding:7px 10px;
	font-size:11.5px;
}

@media (max-width:768px){
	.lc-trc__photo{flex-basis:60px;width:60px;aspect-ratio:1/1}
	.lc-trc__btn{min-width:88px;margin:0}
}
/* ============================================================
   出勤予定：日付タブを14日間表示に対応（1タブを細く・横スクロール可）
   ============================================================ */
.lc-sched-days__track{
	display:grid;
	grid-template-columns:repeat(14,minmax(0,1fr));
	gap:3px;
	flex:1 1 auto;
	min-width:0;
}
.lc-sched-day{
	padding:6px 2px;
	min-width:0;
}
.lc-sched-day__md{font-size:12.5px;letter-spacing:-.02em}
.lc-sched-day__wd{font-size:10px}

@media (max-width:1024px){
	.lc-sched-days__track{
		display:flex;
		overflow-x:auto;
		scrollbar-width:thin;
		-webkit-overflow-scrolling:touch;
		padding-bottom:4px;
	}
	.lc-sched-day{flex:0 0 46px}
}
@media (max-width:768px){
	.lc-sched-day{flex:0 0 42px;padding:5px 2px}
	.lc-sched-day__md{font-size:11.5px}
	.lc-sched-days__cal{font-size:11px;padding:6px 9px;white-space:nowrap}
}

/* =========================================================
   女性求人TOP（新カンプ pack3 準拠）エメラルド主色
   ========================================================= */
.rt-page{
	--rt-em:#2FA98C;          /* エメラルド */
	--rt-em-d:#1F8E74;
	--rt-em-l:#E6F6F1;
	--rt-em-ll:#F4FBF9;
	--rt-pk:#F2789F;          /* ピンク */
	--rt-pk-d:#E45B87;
	--rt-pk-l:#FDEEF3;
	--rt-ink:#2C3A38;
	--rt-sub:#6B7C79;
	--rt-line:#DCEDE8;
	background:#FBFEFD;
	padding-bottom:24px;
	color:var(--rt-ink);
}
.rt-container{max-width:1080px;margin:0 auto;padding:0 16px}

/* ---------- ヒーロースライダー ---------- */
.rt-hero{
	position:relative;
	max-width:1080px;
	margin:16px auto 0;
	padding:0 16px;
}
.rt-hero__viewport{
	position:relative;
	border-radius:18px;
	overflow:hidden;
	background:linear-gradient(180deg,#EFF9F6 0%,#F7FCFB 60%,#FFFFFF 100%);
	min-height:340px;
}
.rt-slide{
	display:none;
	position:relative;
	align-items:stretch;
	min-height:340px;
}
.rt-slide.is-active{display:flex}
.rt-slide__ph{
	flex:0 0 24%;
	position:relative;
	overflow:hidden;
}
.rt-slide__ph img{
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center top;
	display:block;
}
.rt-slide__ph--l img{object-position:60% top}
.rt-slide__ph--r img{object-position:40% top}
/* 写真と中央背景をなじませる */
.rt-slide__ph::after{
	content:"";
	position:absolute;
	top:0;bottom:0;
	width:34px;
	background:linear-gradient(90deg,rgba(247,252,251,0) 0%,rgba(247,252,251,.95) 100%);
}
.rt-slide__ph--l::after{right:0}
.rt-slide__ph--r::after{left:0;background:linear-gradient(270deg,rgba(247,252,251,0) 0%,rgba(247,252,251,.95) 100%)}

.rt-slide__body{
	flex:1 1 auto;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:10px;
	padding:26px 8px;
	text-align:center;
	position:relative;
	z-index:2;
}
.rt-slide__lead{
	margin:0;
	font-size:20px;
	letter-spacing:.14em;
	color:#43524F;
}
.rt-slide__main{
	margin:0;
	display:flex;
	flex-direction:column;
	gap:2px;
	font-weight:700;
	letter-spacing:.06em;
	line-height:1.16;
}
.rt-slide__main1{font-size:52px;color:var(--rt-em)}
.rt-slide__main2{font-size:52px;color:var(--rt-pk)}
.rt-slide__main2{
	background:linear-gradient(90deg,var(--rt-pk) 0%,var(--rt-pk) 38%,var(--rt-em) 38%,var(--rt-em) 100%);
	-webkit-background-clip:text;
	background-clip:text;
	color:transparent;
}
.rt-slide__ribbon{
	margin:4px 0 0;
	display:inline-block;
	position:relative;
	background:var(--rt-pk);
	color:#fff;
	font-size:15px;
	font-weight:600;
	letter-spacing:.04em;
	padding:8px 30px;
}
.rt-slide__ribbon::before,
.rt-slide__ribbon::after{
	content:"";
	position:absolute;
	top:0;
	width:0;height:0;
	border-style:solid;
}
.rt-slide__ribbon::before{
	left:-12px;
	border-width:19px 12px 19px 0;
	border-color:transparent var(--rt-pk) transparent transparent;
}
.rt-slide__ribbon::after{
	right:-12px;
	border-width:19px 0 19px 12px;
	border-color:transparent transparent transparent var(--rt-pk);
}
.rt-slide__brand{
	margin:8px 0 0;
	font-size:26px;
	letter-spacing:.2em;
	color:var(--rt-em);
	font-family:"Times New Roman",serif;
}

.rt-hero__arw{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	z-index:5;
	width:42px;height:42px;
	border:0;
	border-radius:50%;
	background:rgba(255,255,255,.9);
	box-shadow:0 2px 10px rgba(47,169,140,.22);
	color:var(--rt-em);
	font-size:24px;
	line-height:1;
	cursor:pointer;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:0;
}
.rt-hero__arw--prev{left:30px}
.rt-hero__arw--next{right:30px}
.rt-hero__arw:hover{background:#fff}
.rt-hero__dots{
	position:absolute;
	left:0;right:0;
	bottom:14px;
	display:flex;
	justify-content:center;
	gap:8px;
	z-index:5;
}
.rt-hero__dot{
	width:9px;height:9px;
	border:0;
	padding:0;
	border-radius:50%;
	background:#CDE5DE;
	cursor:pointer;
}
.rt-hero__dot.is-active{background:var(--rt-em)}

/* ---------- 特徴6列 ---------- */
.rt-feats{
	display:grid;
	grid-template-columns:repeat(6,1fr);
	background:#fff;
	border:1px solid var(--rt-line);
	border-radius:16px;
	margin:18px 0 0;
	padding:20px 8px;
	box-shadow:0 2px 12px rgba(47,169,140,.06);
}
.rt-feat{
	text-align:center;
	padding:4px 8px;
	border-right:1px solid #ECF5F2;
}
.rt-feat:last-child{border-right:0}
.rt-feat__ic{display:block;margin:0 auto 8px;width:36px;height:36px;color:var(--rt-em)}
.rt-feat__ic svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rt-feat__title{margin:0 0 4px;font-size:15px;font-weight:700;letter-spacing:.02em}
.rt-feat__desc{margin:0;font-size:12px;line-height:1.55;color:var(--rt-sub)}

/* ---------- LINE CTA帯 ---------- */
.rt-linecta{
	display:flex;
	align-items:center;
	gap:16px;
	margin:18px 0 0;
	padding:18px 26px;
	border-radius:14px;
	background:linear-gradient(135deg,#2FA98C 0%,#25997E 100%);
	color:#fff;
	text-decoration:none;
	box-shadow:0 3px 14px rgba(47,169,140,.28);
}
.rt-linecta:hover{filter:brightness(1.05)}
.rt-linecta__badge{
	flex:0 0 auto;
	width:52px;height:52px;
	border-radius:50%;
	background:#fff;
	color:var(--rt-em);
	font-size:14px;
	font-weight:700;
	letter-spacing:.02em;
	display:flex;
	align-items:center;
	justify-content:center;
}
.rt-linecta__txt{display:flex;flex-direction:column;gap:2px;flex:1 1 auto}
.rt-linecta__sub{font-size:14px;opacity:.95}
.rt-linecta__main{font-size:27px;font-weight:700;letter-spacing:.03em}
.rt-linecta__arw{font-size:30px;line-height:1;opacity:.9}

/* ---------- 働き方2カード ---------- */
.rt-ways{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px;
	margin:18px 0 0;
}
.rt-way{
	position:relative;
	display:block;
	min-height:290px;
	padding:22px 22px 22px;
	border-radius:16px;
	overflow:hidden;
	text-decoration:none;
	color:var(--rt-ink);
	border:1px solid var(--rt-line);
}
.rt-way--travel{background:linear-gradient(135deg,#EBF8F4 0%,#F6FCFA 55%,#FFFFFF 100%)}
.rt-way--local{background:linear-gradient(135deg,#FDEEF3 0%,#FEF7F9 55%,#FFFFFF 100%);border-color:#F6DCE5}
.rt-way__ph{
	position:absolute;
	right:0;top:0;
	height:100%;
	width:48%;
	object-fit:cover;
	object-position:center top;
	z-index:0;
}
.rt-way--travel .rt-way__ph{mask-image:linear-gradient(90deg,transparent 0,#000 26%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 26%)}
.rt-way--local .rt-way__ph{mask-image:linear-gradient(90deg,transparent 0,#000 26%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 26%)}
.rt-way__tag,
.rt-way__title,
.rt-way__desc,
.rt-way__btn{position:relative;z-index:1}
.rt-way__tag{
	display:inline-block;
	font-size:12px;
	font-weight:600;
	color:#fff;
	padding:5px 12px;
	border-radius:999px;
	margin-bottom:14px;
}
.rt-way--travel .rt-way__tag{background:var(--rt-em)}
.rt-way--local .rt-way__tag{background:var(--rt-pk)}
.rt-way__title{
	display:block;
	font-size:34px;
	font-weight:700;
	line-height:1.28;
	letter-spacing:.03em;
	margin-bottom:12px;
}
.rt-way--travel .rt-way__title{color:var(--rt-em)}
.rt-way--local .rt-way__title{color:var(--rt-pk)}
.rt-way__title-em{font-size:38px}
.rt-way__desc{
	display:block;
	font-size:15px;
	line-height:1.7;
	color:#4A5A57;
	margin-bottom:18px;
	max-width:56%;
}
.rt-way__btn{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	width:70%;
	min-height:46px;
	border-radius:999px;
	color:#fff;
	font-size:17px;
	font-weight:700;
	letter-spacing:.04em;
}
.rt-way--travel .rt-way__btn{background:linear-gradient(135deg,#5FC3AA 0%,#2FA98C 100%)}
.rt-way--local .rt-way__btn{background:linear-gradient(135deg,#F78FB0 0%,#F2789F 100%)}
.rt-way:hover .rt-way__btn{filter:brightness(1.06)}

/* ---------- セクション見出し ---------- */
.rt-sec{margin:34px 0 0}
.rt-sec__title{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:12px;
	margin:0 0 20px;
	font-size:23px;
	font-weight:700;
	letter-spacing:.05em;
	color:var(--rt-em);
}
.rt-sec__title>span:nth-child(2){
	position:relative;
	padding:0 4px;
}
.rt-sec__title>span:nth-child(2)::before,
.rt-sec__title>span:nth-child(2)::after{
	content:"";
	position:absolute;
	top:50%;
	width:38px;height:1px;
	background:var(--rt-line);
}
.rt-sec__title>span:nth-child(2)::before{left:-48px}
.rt-sec__title>span:nth-child(2)::after{right:-48px}
.rt-sec__clover{width:22px;height:22px;color:var(--rt-em);flex:0 0 auto}
.rt-sec__clover svg{width:100%;height:100%;fill:currentColor}

/* ---------- 選ばれる理由5列 ---------- */
.rt-reasons{
	display:grid;
	grid-template-columns:repeat(5,1fr);
	gap:14px;
}
.rt-reason{text-align:center}
.rt-reason__circle{
	display:flex;
	align-items:center;
	justify-content:center;
	width:106px;height:106px;
	margin:0 auto 10px;
	border-radius:50%;
	background:#fff;
	border:1px solid var(--rt-line);
	color:var(--rt-em);
	box-shadow:0 2px 10px rgba(47,169,140,.07);
}
.rt-reason__circle svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rt-reason__title{margin:0 0 3px;font-size:15px;font-weight:700}
.rt-reason__desc{margin:0;font-size:12px;color:var(--rt-sub)}

/* ---------- メニューボタン6個 ---------- */
.rt-menus{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:14px;
	margin:30px 0 0;
}
.rt-menu{
	display:flex;
	align-items:center;
	gap:12px;
	padding:18px 18px;
	background:#fff;
	border:1px solid var(--rt-line);
	border-radius:14px;
	text-decoration:none;
	color:var(--rt-ink);
	box-shadow:0 2px 10px rgba(47,169,140,.05);
}
.rt-menu:hover{border-color:var(--rt-em);box-shadow:0 3px 14px rgba(47,169,140,.14)}
.rt-menu__ic{flex:0 0 auto;width:28px;height:28px;color:var(--rt-em)}
.rt-menu__ic svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rt-menu__label{flex:1 1 auto;font-size:17px;font-weight:600;letter-spacing:.03em}
.rt-menu__arw{color:#9BBDB5;font-size:22px;line-height:1}

/* ---------- 環境バナー2枚 ---------- */
.rt-envs{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px;
	margin:16px 0 0;
}
.rt-env{
	position:relative;
	display:block;
	height:120px;
	border-radius:14px;
	overflow:hidden;
	text-decoration:none;
}
.rt-env img{
	position:absolute;
	inset:0;
	width:100%;height:100%;
	object-fit:cover;
}
.rt-env::after{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,rgba(20,60,52,.6) 0%,rgba(20,60,52,.15) 60%,rgba(20,60,52,.05) 100%);
}
.rt-env__label{
	position:absolute;
	left:22px;
	top:50%;
	transform:translateY(-50%);
	z-index:2;
	color:#fff;
	font-size:21px;
	font-weight:700;
	letter-spacing:.06em;
	text-shadow:0 1px 6px rgba(0,0,0,.35);
}
.rt-env__arw{
	position:absolute;
	right:18px;
	top:50%;
	transform:translateY(-50%);
	z-index:2;
	color:#fff;
	font-size:26px;
	line-height:1;
}

/* ---------- 下部バナー2枚 ---------- */
.rt-btms{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px;
	margin:16px 0 0;
}
.rt-btm{
	position:relative;
	display:flex;
	align-items:center;
	min-height:104px;
	padding:18px 46px 18px 22px;
	border-radius:14px;
	overflow:hidden;
	text-decoration:none;
	color:var(--rt-ink);
	border:1px solid var(--rt-line);
}
.rt-btm--staff{background:linear-gradient(135deg,#FDEEF3 0%,#FBF4F9 60%,#FFFFFF 100%);border-color:#F6DCE5}
.rt-btm--form{background:linear-gradient(135deg,#EFEBFA 0%,#F6F4FC 60%,#FFFFFF 100%);border-color:#E2DCF4}
.rt-btm__ph{
	position:absolute;
	right:34px;top:0;
	height:100%;
	width:34%;
	object-fit:cover;
	object-position:center 18%;
	z-index:0;
	mask-image:linear-gradient(90deg,transparent 0,#000 34%);
	-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34%);
}
.rt-btm__body{position:relative;z-index:1;display:flex;flex-direction:column;gap:5px}
.rt-btm__title{font-size:21px;font-weight:700;letter-spacing:.04em}
.rt-btm--staff .rt-btm__title{color:var(--rt-pk)}
.rt-btm--form .rt-btm__title{color:#6E5AB8}
.rt-btm__desc{font-size:13px;color:var(--rt-sub)}
.rt-btm__mail{
	position:absolute;
	right:52px;top:50%;
	transform:translateY(-50%);
	z-index:1;
	width:64px;height:64px;
	color:#B7A9E4;
}
.rt-btm__mail svg{width:100%;height:100%;fill:currentColor}
.rt-btm__arw{
	position:absolute;
	right:18px;top:50%;
	transform:translateY(-50%);
	z-index:2;
	font-size:26px;
	line-height:1;
	color:#9BA5A2;
}

/* ---------- 固定CTA3分割 ---------- */
.rt-fixcta{
	position:fixed;
	left:0;right:0;bottom:0;
	z-index:60;
	display:grid;
	grid-template-columns:1fr 1.2fr 1fr;
	gap:8px;
	padding:8px 12px;
	background:rgba(255,255,255,.94);
	backdrop-filter:blur(6px);
	box-shadow:0 -2px 14px rgba(0,0,0,.09);
}
.rt-fixcta__item{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:9px;
	min-height:54px;
	border-radius:10px;
	text-decoration:none;
	color:#fff;
	padding:6px 12px;
}
.rt-fixcta__item--tel{background:linear-gradient(135deg,#3FB79B 0%,#2FA98C 100%)}
.rt-fixcta__item--line{background:linear-gradient(135deg,#2FA98C 0%,#1F8E74 100%)}
.rt-fixcta__item--form{background:linear-gradient(135deg,#F78FB0 0%,#F2789F 100%)}
.rt-fixcta__item:hover{filter:brightness(1.06)}
.rt-fixcta__ic{width:24px;height:24px;flex:0 0 auto}
.rt-fixcta__ic svg{width:100%;height:100%;fill:currentColor}
.rt-fixcta__badge{
	width:32px;height:32px;
	border-radius:50%;
	background:#fff;
	color:var(--rt-em);
	font-size:10px;
	font-weight:700;
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
}
.rt-fixcta__txt{display:flex;flex-direction:column;gap:1px}
.rt-fixcta__main{font-size:16px;font-weight:700;letter-spacing:.03em}
.rt-fixcta__sub{font-size:11px;opacity:.92}

/* =========================================================
   タブレット
   ========================================================= */
@media (max-width:900px){
	.rt-slide__main1,.rt-slide__main2{font-size:40px}
	.rt-slide__lead{font-size:17px}
	.rt-slide__brand{font-size:22px}
	.rt-feats{grid-template-columns:repeat(3,1fr);row-gap:18px}
	.rt-feat:nth-child(3n){border-right:0}
	.rt-feat:nth-child(-n+3){border-bottom:1px solid #ECF5F2;padding-bottom:16px}
	.rt-reasons{grid-template-columns:repeat(3,1fr);row-gap:20px}
	.rt-menus{grid-template-columns:repeat(2,1fr)}
	.rt-way__title{font-size:28px}
	.rt-way__title-em{font-size:32px}
	.rt-linecta__main{font-size:23px}
}

/* =========================================================
   モバイル
   ========================================================= */
@media (max-width:640px){
	.rt-page{padding-bottom:78px}
	.rt-hero{padding:0 12px;margin-top:12px}
	.rt-hero__viewport{min-height:0;border-radius:14px}
	.rt-slide{min-height:0;flex-wrap:wrap}
	.rt-slide__ph{flex:0 0 50%;height:150px}
	.rt-slide__ph::after{display:none}
	.rt-slide__ph--l{order:1}
	.rt-slide__ph--r{order:2}
	.rt-slide__body{order:3;flex:1 1 100%;padding:16px 12px 26px;gap:8px}
	.rt-slide__lead{font-size:15px}
	.rt-slide__main1,.rt-slide__main2{font-size:32px}
	.rt-slide__ribbon{font-size:13px;padding:6px 22px}
	.rt-slide__ribbon::before{left:-10px;border-width:15px 10px 15px 0}
	.rt-slide__ribbon::after{right:-10px;border-width:15px 0 15px 10px}
	.rt-slide__brand{font-size:19px}
	.rt-hero__arw{width:34px;height:34px;font-size:20px;top:78px;transform:none}
	.rt-hero__arw--prev{left:18px}
	.rt-hero__arw--next{right:18px}
	.rt-hero__dots{bottom:9px}

	.rt-container{padding:0 12px}
	.rt-feats{grid-template-columns:repeat(3,1fr);padding:16px 4px;gap:10px 0;margin-top:14px}
	.rt-feat{padding:4px 4px}
	.rt-feat__ic{width:28px;height:28px;margin-bottom:6px}
	.rt-feat__title{font-size:12.5px}
	.rt-feat__desc{font-size:10.5px}

	.rt-linecta{padding:14px 16px;gap:12px;margin-top:14px}
	.rt-linecta__badge{width:42px;height:42px;font-size:12px}
	.rt-linecta__sub{font-size:12px}
	.rt-linecta__main{font-size:19px}
	.rt-linecta__arw{font-size:24px}

	.rt-ways{grid-template-columns:1fr;gap:12px;margin-top:14px}
	.rt-way{min-height:190px;padding:16px}
	.rt-way__ph{width:44%}
	.rt-way__tag{font-size:11px;padding:4px 10px;margin-bottom:10px}
	.rt-way__title{font-size:26px;margin-bottom:8px}
	.rt-way__title-em{font-size:29px}
	.rt-way__desc{font-size:13px;margin-bottom:12px;max-width:52%}
	.rt-way__btn{width:100%;min-height:42px;font-size:15px}

	.rt-sec{margin-top:26px}
	.rt-sec__title{font-size:18px;gap:8px}
	.rt-sec__title>span:nth-child(2)::before,
	.rt-sec__title>span:nth-child(2)::after{display:none}
	.rt-reasons{grid-template-columns:repeat(3,1fr);gap:14px 8px}
	.rt-reason__circle{width:74px;height:74px}
	.rt-reason__circle svg{width:32px;height:32px}
	.rt-reason__title{font-size:12.5px}
	.rt-reason__desc{font-size:10.5px}

	.rt-menus{grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}
	.rt-menu{padding:13px 12px;gap:8px}
	.rt-menu__ic{width:22px;height:22px}
	.rt-menu__label{font-size:13.5px}
	.rt-menu__arw{font-size:18px}

	.rt-envs{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
	.rt-env{height:88px;border-radius:12px}
	.rt-env__label{font-size:15px;left:14px}
	.rt-env__arw{font-size:20px;right:12px}

	.rt-btms{grid-template-columns:1fr;gap:10px;margin-top:12px}
	.rt-btm{min-height:88px;padding:14px 40px 14px 16px}
	.rt-btm__title{font-size:18px}
	.rt-btm__desc{font-size:12px}
	.rt-btm__mail{width:48px;height:48px;right:44px}

	.rt-fixcta{grid-template-columns:1fr 1.15fr 1fr;gap:6px;padding:6px 8px}
	.rt-fixcta__item{min-height:46px;gap:5px;padding:5px 6px;flex-direction:column}
	.rt-fixcta__ic{width:18px;height:18px}
	.rt-fixcta__badge{width:22px;height:22px;font-size:8px}
	.rt-fixcta__main{font-size:11.5px;letter-spacing:0}
	.rt-fixcta__sub{font-size:9px}
	.rt-fixcta__txt{align-items:center;gap:0}
}

/* ---- 女性求人TOP 微調整（2026-08-03） ---- */
/* 在籍カードの写真が細く右端に余白が出るため、右端まで伸ばして配置 */
.rt-way__ph{
	right:-1px;
	width:52%;
	object-position:center 12%;
}
.rt-way--local .rt-way__ph{object-position:32% 10%}
.rt-way--travel .rt-way__ph{object-position:44% 12%}

/* スタッフ募集バナーの写真を右端まで伸ばす */
.rt-btm__ph{
	right:0;
	width:40%;
	object-position:center 14%;
}
.rt-btm--staff{padding-right:56px}

/* 応募フォームのメールアイコンを控えめに */
.rt-btm__mail{width:52px;height:52px;right:56px;opacity:.55}

@media (max-width:640px){
	.rt-way__ph{width:48%}
	.rt-btm__ph{width:44%}
	.rt-btm__mail{width:40px;height:40px;right:46px}
}

/* ---- 女性求人TOP 微調整2（2026-08-03） ---- */
/* 応募フォームバナーのアイコンが単色四角に見えるため、封筒風の装飾に置換 */
.rt-btm__mail{display:none}
.rt-btm--form{position:relative;overflow:hidden}
.rt-btm--form::after{
	content:"";
	position:absolute;
	right:52px;
	top:50%;
	width:56px;
	height:38px;
	transform:translateY(-50%);
	border:2px solid rgba(124,108,214,.5);
	border-radius:5px;
	background:
		linear-gradient(135deg,transparent 46%,rgba(124,108,214,.5) 46%,rgba(124,108,214,.5) 54%,transparent 54%) no-repeat left top/50% 100%,
		linear-gradient(-135deg,transparent 46%,rgba(124,108,214,.5) 46%,rgba(124,108,214,.5) 54%,transparent 54%) no-repeat right top/50% 100%,
		rgba(255,255,255,.55);
	pointer-events:none;
}

@media (max-width:640px){
	.rt-btm--form::after{right:44px;width:44px;height:30px}
}

/* ---- 封筒アイコンのフラップを正しい向き（上辺から下向きのV）に修正 ---- */
.rt-btm--form::after{
	background:rgba(255,255,255,.6);
}
.rt-btm--form::before{
	content:"";
	position:absolute;
	right:52px;
	top:50%;
	width:56px;
	height:38px;
	transform:translateY(-50%);
	overflow:hidden;
	pointer-events:none;
	z-index:2;
	background:
		linear-gradient(to bottom right,transparent calc(50% - 1px),rgba(124,108,214,.55) calc(50% - 1px),rgba(124,108,214,.55) calc(50% + 1px),transparent calc(50% + 1px)) no-repeat left top/50% 62%,
		linear-gradient(to bottom left,transparent calc(50% - 1px),rgba(124,108,214,.55) calc(50% - 1px),rgba(124,108,214,.55) calc(50% + 1px),transparent calc(50% + 1px)) no-repeat right top/50% 62%;
}

@media (max-width:640px){
	.rt-btm--form::before{right:44px;width:44px;height:30px}
}

/* ---- 封筒アイコンをインラインSVGで確実に描画（CSSグラデーション方式を廃止） ---- */
.rt-btm--form::before{display:none}
.rt-btm--form::after{
	content:"";
	position:absolute;
	right:52px;
	top:50%;
	width:56px;
	height:40px;
	transform:translateY(-50%);
	border:0;
	border-radius:0;
	pointer-events:none;
	background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 40'%3E%3Crect x='1.5' y='1.5' width='53' height='37' rx='4' fill='rgba(255,255,255,.65)' stroke='%237C6CD6' stroke-opacity='.55' stroke-width='2'/%3E%3Cpath d='M3 5 L28 23 L53 5' fill='none' stroke='%237C6CD6' stroke-opacity='.55' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain;
}

@media (max-width:640px){
	.rt-btm--form::after{right:44px;width:44px;height:32px}
}

/* ============================================================
   新ロゴ（透明背景PNG）対応  2026-08-03
   ============================================================ */

/* --- 営業サイト ヘッダー --- */
.lc-logo { flex-direction: column; align-items: flex-start; gap: 2px; }
.lc-logo__img--brand {
	height: auto;
	width: auto;
	max-width: 325px;
	max-height: 71px;
	object-fit: contain;
	display: block;
}
.lc-logo__ja--under { letter-spacing: .02em; }
@media (max-width: 900px) {
	.lc-logo__img--brand { max-width: 250px; max-height: 55px; }
}
@media (max-width: 600px) {
	.lc-logo__img--brand { max-width: 215px; max-height: 48px; }
	.lc-logo__ja--under { font-size: 8.5px; }
}

/* --- 営業サイト フッター（白抜き版） --- */
.lc-footer__logo--brand { margin: 0 0 12px; display: block; }
.lc-footer__logo--brand img {
	display: block;
	width: 100%;
	max-width: 240px;
	height: auto;
}
@media (max-width: 900px) {
	.lc-footer__logo--brand { text-align: center; }
	.lc-footer__logo--brand img { margin: 0 auto; max-width: 200px; }
}

/* --- 年齢認証ページ --- */
.agc__logo-img--brand {
	width: 100%;
	max-width: 460px;
	height: auto;
	margin: 0 auto;
	display: block;
	filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .12));
}
@media (max-width: 600px) {
	.agc__logo-img--brand { max-width: min(340px, 82vw); }
}

/* --- 求人サイト ヘッダー（マーク単体） --- */
.rc-logo__img--brand {
	width: 44px;
	height: 44px;
	object-fit: contain;
	display: block;
}
@media (max-width: 900px) {
	.rc-logo__img--brand { width: 36px; height: 36px; }
}

/* --- スタッフブログ ヘッダー（マーク単体・ダーク背景） --- */
.sb-logo__img {
	width: 38px;
	height: 38px;
	object-fit: contain;
	display: block;
	flex: 0 0 auto;
}
@media (max-width: 900px) {
	.sb-logo__img { width: 32px; height: 32px; }
}

/* =====================================================
 * 写メ日記一覧（カンプ準拠 / dy-）
 * PC: 4列グリッド + 右サイドバー
 * SP: 横並びリストカード
 * ===================================================== */
.dy-head {
	position: relative;
	overflow: hidden;
	padding: 34px 16px 26px;
	text-align: center;
	background: linear-gradient(180deg, #fff3f7 0%, #fff9fb 60%, #fff 100%);
}
.dy-head__deco {
	position: absolute;
	top: 6px;
	width: 118px;
	height: 96px;
	background-repeat: no-repeat;
	background-size: contain;
	opacity: .85;
	pointer-events: none;
}
.dy-head__deco--l {
	left: 8px;
	background-image: url(../img/design/diary_deco_l.png);
	background-position: left top;
}
.dy-head__deco--r {
	right: 8px;
	background-image: url(../img/design/diary_deco_r.png);
	background-position: right top;
}
.dy-head__inner { position: relative; z-index: 1; }
.dy-head--banner { background: linear-gradient(180deg,#fbe1e8 0%,#fff6f8 100%); padding: 14px 0 22px; }
.dy-head--banner .lc-header-banner-pc { border-radius: 6px; display: block; width: 100%; }
.dy-head__title {
	margin: 0;
	font-size: clamp(26px, 4.4vw, 38px);
	font-weight: 800;
	letter-spacing: .16em;
	color: var(--pink);
	text-indent: .16em;
}
.dy-head__lead {
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 1.8;
	color: var(--muted);
}
.dy-head__filter {
	margin: 14px 0 0;
	font-size: 13px;
	color: var(--muted);
}
.dy-head__filter strong { color: var(--pink); }
.dy-head__filter a {
	margin-left: 10px;
	color: var(--pink);
	text-decoration: underline;
}

/* ---- レイアウト ---- */
.dy-wrap {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 28px;
	align-items: start;
	padding-top: 22px;
	padding-bottom: 56px;
}
.dy-main { min-width: 0; }

/* ---- 絞り込みタブ ---- */
.dy-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 18px;
}
.dy-tab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 0 20px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: #fff;
	font-size: 14px;
	font-weight: 700;
	color: var(--ink);
	transition: .18s;
}
.dy-tab:hover {
	border-color: var(--pink);
	background: var(--pink-light);
	color: var(--pink);
	opacity: 1;
}
.dy-tab.is-on {
	border-color: var(--pink);
	background: var(--pink);
	color: #fff;
	box-shadow: 0 3px 10px rgba(255, 79, 136, .28);
}
.dy-cond {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	margin: -6px 0 16px;
	font-size: 13px;
	color: var(--muted);
}
.dy-cond span {
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--pink-light);
	color: var(--pink-dark);
}
.dy-cond a { color: var(--pink); text-decoration: underline; }

/* ---- カードグリッド（PC） ---- */
.dy-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}
.dy-card {
	border: 1px solid var(--line);
	border-radius: var(--radius-card);
	background: #fff;
	overflow: hidden;
	box-shadow: var(--shadow);
	transition: .2s;
}
.dy-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow-hover);
}
.dy-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: var(--ink);
}
.dy-card__link:hover { opacity: 1; }
.dy-card__ph {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--bg);
}
.dy-card__ph img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.dy-card__noimg {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
.dy-card__noimg svg { width: 38px; height: 38px; color: var(--line); }
.dy-card__flag {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	padding: 3px 20px 4px 8px;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.3;
	color: #fff;
	letter-spacing: .04em;
	clip-path: polygon(0 0, 100% 0, calc(100% - 13px) 100%, 0 100%);
}
.dy-card__flag--new { background: var(--pink); }
.dy-card__flag--mv { background: #8d84b8; }
/* マイガール限定日記（シティーヘブン）
   動画・NEWバッジと同時に出ることがあるため右上に退避させる */
.dy-card__flag--lim {
	left: auto;
	right: 0;
	background: linear-gradient(135deg, #c9a227, #e0bd52);
	padding: 3px 8px 4px 20px;
	clip-path: polygon(13px 0, 100% 0, 100% 100%, 0 100%);
}
.dy-card__cat {
	position: absolute;
	bottom: 8px;
	left: 8px;
	z-index: 2;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .92);
	font-size: 11px;
	font-weight: 700;
	color: var(--pink-dark);
	box-shadow: 0 1px 4px rgba(0, 0, 0, .1);
}
.dy-card__play {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	width: 46px;
	height: 46px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 3px 10px rgba(0, 0, 0, .2);
}
.dy-card__play::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 54%;
	width: 0;
	height: 0;
	transform: translate(-50%, -50%);
	border-style: solid;
	border-width: 8px 0 8px 13px;
	border-color: transparent transparent transparent var(--ink);
}
.dy-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 4px;
	padding: 12px 12px 14px;
}
.dy-card__ttl {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--ink);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.dy-card__cast {
	font-size: 13px;
	font-weight: 700;
	color: var(--pink);
}
.dy-card__date {
	font-size: 12px;
	color: var(--muted);
}
.dy-card__meta {
	display: flex;
	gap: 14px;
	justify-content: flex-end;
	margin-top: auto;
	padding-top: 8px;
	border-top: 1px dashed var(--line);
}
.dy-card__mt {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	color: var(--muted);
}
.dy-card__mt svg { width: 15px; height: 15px; }
.dy-card__mt--like { color: var(--pink); }
.dy-card__ar { display: none; }

/* ---- ページネーション ---- */
.dy-pager {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin-top: 30px;
}
.dy-pager .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: #fff;
	font-size: 14px;
	font-weight: 700;
	color: var(--ink);
}
.dy-pager .page-numbers:hover {
	border-color: var(--pink);
	color: var(--pink);
	opacity: 1;
}
.dy-pager .page-numbers.current {
	border-color: var(--pink);
	background: var(--pink);
	color: #fff;
}
.dy-pager .page-numbers.dots {
	border-color: transparent;
	background: none;
}
.dy-empty {
	margin: 30px 0 14px;
	padding: 30px 16px;
	border: 1px dashed var(--pink-light);
	border-radius: 12px;
	background: #fffafc;
	text-align: center;
	font-size: 14px;
	color: var(--muted);
}
.dy-empty__act { text-align: center; }

/* ---- サイドバー ---- */
.dy-side {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.dy-box {
	border: 1px solid var(--line);
	border-radius: var(--radius-card);
	background: #fff;
	overflow: hidden;
	box-shadow: var(--shadow);
}
.dy-box__ttl {
	margin: 0;
	padding: 14px 16px;
	background: var(--pink-light);
	font-size: 16px;
	font-weight: 800;
	color: var(--pink-dark);
	text-align: center;
	letter-spacing: .04em;
}
.dy-box__ttl--ic {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}
.dy-box__ttl--ic svg {
	width: 20px;
	height: 20px;
	color: var(--emerald);
}
.dy-search {
	display: flex;
	gap: 8px;
	padding: 16px 16px 10px;
}
.dy-search input[type="text"] {
	flex: 1 1 auto;
	min-width: 0;
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: var(--bg);
	font-size: 14px;
	color: var(--ink);
}
.dy-search input[type="text"]:focus {
	outline: none;
	border-color: var(--pink);
	background: #fff;
}
.dy-search button {
	flex: 0 0 auto;
	height: 40px;
	padding: 0 16px;
	border: 0;
	border-radius: 8px;
	background: var(--pink);
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	cursor: pointer;
	transition: .18s;
}
.dy-search button:hover { background: var(--pink-dark); }
.dy-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0 16px 16px;
	list-style: none;
}
.dy-tags a {
	display: inline-flex;
	align-items: center;
	padding: 5px 12px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: #fdf6f9;
	font-size: 12px;
	font-weight: 700;
	color: var(--pink-dark);
	transition: .18s;
}
.dy-tags a:hover {
	border-color: var(--pink);
	background: var(--pink-light);
	opacity: 1;
}
.dy-cats {
	margin: 0;
	padding: 0;
	list-style: none;
}
.dy-cats li + li { border-top: 1px solid var(--line); }
.dy-cats a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 13px 14px;
	font-size: 14px;
	font-weight: 700;
	color: var(--ink);
	transition: .18s;
}
.dy-cats a:hover { background: #fffafc; opacity: 1; }
.dy-cats li.is-on a { background: var(--pink-light); color: var(--pink-dark); }
.dy-cats__ic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	color: var(--emerald);
}
.dy-cats__ic svg { width: 100%; height: 100%; }
.dy-cats__nm { flex: 1 1 auto; }
.dy-cats__ar {
	flex: 0 0 auto;
	font-size: 18px;
	color: var(--pink);
}
.dy-line {
	display: block;
	border-radius: var(--radius-card);
	overflow: hidden;
	box-shadow: var(--shadow);
	transition: .2s;
}
.dy-line:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-hover);
	opacity: 1;
}
.dy-line img {
	display: block;
	width: 100%;
	height: auto;
}

/* ---- タブレット ---- */
@media (max-width: 1100px) {
	.dy-wrap { grid-template-columns: minmax(0, 1fr) 280px; gap: 20px; }
	.dy-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---- SP：横並びリストカード ---- */
@media (max-width: 900px) {
	.dy-head { padding: 24px 12px 20px; }
	.dy-head__deco { width: 84px; height: 68px; }
	.dy-head__lead { font-size: 13px; }

	.dy-wrap {
		display: block;
		padding-top: 16px;
		padding-bottom: 84px; /* SP追従CTAバー分 */
	}
	.dy-side { margin-top: 26px; }

	.dy-tabs {
		flex-wrap: nowrap;
		gap: 8px;
		margin: 0 -16px 16px;
		padding: 0 16px 4px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.dy-tabs::-webkit-scrollbar { display: none; }
	.dy-tab {
		flex: 0 0 auto;
		min-height: 36px;
		padding: 0 16px;
		font-size: 13px;
		white-space: nowrap;
	}
	.dy-tab--pconly { display: none; }

	.dy-list {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}
	.dy-card__link {
		flex-direction: row;
		align-items: stretch;
	}
	.dy-card__ph {
		flex: 0 0 124px;
		width: 124px;
		aspect-ratio: 1 / 1;
	}
	.dy-card__body {
		gap: 3px;
		padding: 10px 4px 10px 12px;
	}
	.dy-card__ttl { font-size: 14px; }
	.dy-card__cast { font-size: 12px; }
	.dy-card__date { font-size: 11px; }
	.dy-card__meta { gap: 12px; padding-top: 6px; }
	.dy-card__mt { font-size: 11px; }
	.dy-card__ar {
		display: flex;
		align-items: center;
		flex: 0 0 24px;
		font-size: 20px;
		color: var(--pink);
	}
	.dy-card__play { width: 38px; height: 38px; }
	.dy-card__play::after { border-width: 7px 0 7px 11px; }
	.dy-card__flag { font-size: 10px; padding: 2px 17px 3px 7px; }
	.dy-card__cat { bottom: 6px; left: 6px; font-size: 10px; padding: 2px 8px; }

	.dy-pager .page-numbers {
		min-width: 36px;
		height: 36px;
		padding: 0 10px;
		font-size: 13px;
	}
}

@media (max-width: 420px) {
	.dy-card__ph { flex-basis: 104px; width: 104px; }
	.dy-card__ttl { font-size: 13px; }
}

/* =====================================================
 * ご利用の方へ：クレジットカード決済帯（gd-pay）
 * ===================================================== */
.gd-pay {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) minmax(0, .78fr);
	gap: 0;
	margin: 20px 0 0;
	border: 1px solid var(--line);
	border-radius: var(--radius-card);
	background: #fff;
	overflow: hidden;
	box-shadow: var(--shadow);
}
.gd-pay__card {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 20px;
}
.gd-pay__card + .gd-pay__card { border-left: 1px solid var(--line); }
.gd-pay__card--info { background: #fbfcfd; }
.gd-pay__card--brands {
	justify-content: center;
	padding: 14px 18px;
}
.gd-pay__card--brands img {
	display: block;
	width: 100%;
	max-width: 330px;
	height: auto;
}
.gd-pay__card--mail { background: #fbfcfd; }
.gd-pay__ic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	color: var(--emerald);
}
.gd-pay__ic svg { width: 100%; height: 100%; }
.gd-pay__tx { min-width: 0; }
.gd-pay__ttl {
	margin: 0 0 5px;
	font-size: 15px;
	font-weight: 800;
	color: var(--pink-dark);
	letter-spacing: .02em;
}
.gd-pay__txt {
	margin: 0;
	font-size: 13px;
	line-height: 1.75;
	color: var(--muted);
}

@media (max-width: 900px) {
	.gd-pay {
		grid-template-columns: 1fr;
		margin-top: 16px;
	}
	.gd-pay__card {
		gap: 12px;
		padding: 14px 16px;
	}
	.gd-pay__card + .gd-pay__card {
		border-left: 0;
		border-top: 1px solid var(--line);
	}
	.gd-pay__card--brands { padding: 12px 16px; }
	.gd-pay__card--brands img { max-width: 100%; }
	.gd-pay__ic { width: 34px; height: 34px; }
	.gd-pay__ttl { font-size: 14px; }
	.gd-pay__txt { font-size: 12.5px; }
}

/* =====================================================
 * ご利用の方へ：FAQを2カラム化（カンプ準拠）
 * ===================================================== */
@media (min-width: 901px) {
	.lc-guidepart--faq .lc-faq {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px 18px;
		align-items: start;
	}
	.lc-guidepart--faq .lc-faq__item { margin: 0; }
}

/* =====================================================
 * 求人サイト SPヘッダー（カンプ pack4 準拠）
 * - LINEで応募／応募フォームの2ボタンを常時表示
 * - 電話ボタンはSPでは非表示（ドロワー内に集約）
 * - 全ページ共通グローバルナビは求人SPでは非表示
 * ===================================================== */
@media (max-width:1024px){
	.rc-header__btns{display:flex;gap:6px}
	.rc-hbtn--tel{display:none}
	.rc-hbtn{width:66px;height:44px;border-radius:10px;font-size:.5rem;padding:0 2px;overflow:hidden}
	.rc-hbtn svg{width:15px;height:15px}
	.rc-hbtn__badge{font-size:.56rem}
	.rc-hbtn__label{white-space:nowrap;letter-spacing:-.02em}
	.rc-header__inner{gap:8px}
	.rc-header .lc-gnav{display:none}
}
@media (max-width:480px){
	.rc-hbtn{width:62px;height:42px;font-size:.48rem}
	.rc-logo__img--brand{width:44px;height:44px}
	.rc-logo__en{font-size:.78rem}
	.rc-logo__ja{font-size:.56rem}
}

/* =====================================================
 * 募集要項ページ（/recruit-requirements/）
 *
 * 旧実装は1枚のJPG画像を貼るだけの構造で、その画像自体が
 * 生成時に色化けして途中から赤く潰れ判読不能だったため、
 * 内容をすべてHTMLテキストで組み直した。
 * このセクションのセレクタはすべて `.rq-` 接頭辞で始まるため、
 * 他ページのレイアウトには一切影響しない。
 * ===================================================== */
.rq-page{
	--rq-pink:#ea5c8f;
	--rq-pink-d:#d64b7e;
	--rq-pink-l:#fdeef4;
	--rq-mint:#3fb3a4;
	--rq-mint-d:#2b9487;
	--rq-mint-l:#e8f7f4;
	--rq-ink:#3c3540;
	--rq-gray:#7d7580;
	--rq-line:#ecdfe6;
	padding-bottom:14px;
}

/* ---------- hero ---------- */
.rq-hero{
	background:linear-gradient(120deg,#fdf1f6 0%,#fce8f1 42%,#eef8f6 100%);
	padding:38px 0 34px;
}
.rq-hero__title{
	display:flex;flex-direction:column;align-items:center;gap:2px;
	margin:6px 0 0;line-height:1.16;
}
.rq-hero__pink{
	color:var(--rq-pink);
	font-size:clamp(1.7rem,4.6vw,2.6rem);
	font-weight:800;letter-spacing:.04em;
}
/* 求人共通の rc-hero__title-mint には枠線・背景が付いているため、
   このヘッダーでは文字だけ見せるよう上書きする */
.rq-hero .rc-hero__title-mint{
	color:var(--rq-mint-d);
	font-size:clamp(2rem,5.6vw,3.1rem);
	font-weight:800;letter-spacing:.06em;
	border:0;background:none;padding:0;border-radius:0;box-shadow:none;
}
.rq-hero .rc-hero__title-en{
	color:var(--rq-gray);font-size:.66rem;letter-spacing:.24em;
	font-weight:600;margin-top:4px;
}
.rq-hero__ribbon{
	display:inline-block;margin:14px auto 0;
	padding:7px 26px;border-radius:999px;
	background:linear-gradient(135deg,#ff8fb4,var(--rq-pink));
	color:#fff;font-size:.86rem;font-weight:700;
	box-shadow:0 4px 14px rgba(234,92,143,.28);
}
.rq-hero .rc-hero__desc{margin-top:14px;color:var(--rq-gray);font-size:.84rem;line-height:1.85}

/* ---------- 4つの特徴 ---------- */
.rq-feats{
	list-style:none;margin:-16px 0 0;padding:0;
	display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
	position:relative;z-index:2;
}
.rq-feat{
	background:#fff;border:1px solid var(--rq-line);border-radius:16px;
	padding:18px 14px 16px;text-align:center;
	box-shadow:0 4px 16px rgba(60,53,64,.06);
}
.rq-feat__ic{
	display:inline-flex;align-items:center;justify-content:center;
	width:46px;height:46px;border-radius:50%;
	background:var(--rq-pink-l);color:var(--rq-pink);margin-bottom:9px;
}
.rq-feat__ic svg{width:24px;height:24px}
.rq-feat__title{
	margin:0 0 7px;font-size:.98rem;font-weight:800;
	color:var(--rq-pink);letter-spacing:.02em;
}
.rq-feat__text{margin:0;display:flex;flex-direction:column;gap:2px}
.rq-feat__text span{font-size:.76rem;color:var(--rq-ink);line-height:1.6}

/* ---------- セクション共通 ---------- */
.rq-sec{margin-top:44px}
.rq-sec__ttl{
	display:flex;align-items:center;justify-content:center;gap:9px;
	margin:0 0 22px;font-size:clamp(1.08rem,2.6vw,1.42rem);
	font-weight:800;color:var(--rq-pink);letter-spacing:.04em;
	text-align:center;
}
.rq-sec__ttl::before,.rq-sec__ttl::after{
	content:"";flex:1 1 auto;max-width:120px;height:1px;
	background:linear-gradient(90deg,transparent,var(--rq-pink-l),var(--rq-pink));
}
.rq-sec__ttl::after{background:linear-gradient(270deg,transparent,var(--rq-pink-l),var(--rq-pink))}
.rq-sec__ttl-ic{display:inline-flex;color:var(--rq-mint)}
.rq-sec__ttl-ic svg{width:19px;height:19px}

/* ---------- 募集要項一覧テーブル ---------- */
.rq-table{
	margin:0;border:1px solid var(--rq-line);border-radius:18px;
	overflow:hidden;background:#fff;
	box-shadow:0 4px 18px rgba(60,53,64,.05);
}
.rq-row{display:grid;grid-template-columns:210px 1fr;border-top:1px solid var(--rq-line)}
.rq-row:first-child{border-top:0}
.rq-row__key{
	display:flex;align-items:center;gap:9px;
	margin:0;padding:20px 18px;
	background:var(--rq-pink-l);
	font-size:.9rem;font-weight:800;color:var(--rq-pink);
	letter-spacing:.03em;
}
.rq-row__ic{
	display:inline-flex;align-items:center;justify-content:center;
	width:30px;height:30px;border-radius:50%;
	background:#fff;color:var(--rq-pink);flex:0 0 auto;
}
.rq-row__ic svg{width:16px;height:16px}
.rq-row__val{margin:0;padding:20px 22px;font-size:.86rem;line-height:1.85;color:var(--rq-ink)}
.rq-row__val p{margin:0 0 6px}
.rq-row__val p:last-child{margin-bottom:0}
.rq-strong{font-size:.98rem;font-weight:800;color:var(--rq-mint-d)}
.rq-note{font-size:.78rem;color:var(--rq-gray);line-height:1.8}

/* 給与の強調表示 */
.rq-pay{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;margin:0 0 6px !important}
.rq-pay__min{font-size:.92rem;font-weight:700;color:var(--rq-ink)}
.rq-pay__num{
	font-size:clamp(1.9rem,5vw,2.5rem);font-weight:800;
	color:var(--rq-pink);line-height:1;letter-spacing:-.01em;
}
.rq-pay__unit{font-size:1rem;font-weight:800;color:var(--rq-pink)}
.rq-pay__badge{
	margin-left:6px;padding:5px 12px;border-radius:999px;
	background:linear-gradient(135deg,#ffb0c8,var(--rq-pink));
	color:#fff;font-size:.7rem;font-weight:700;white-space:nowrap;
}

/* 待遇のチェックリスト */
.rq-check{
	list-style:none;margin:0;padding:0;
	display:grid;grid-template-columns:repeat(2,1fr);gap:8px 18px;
}
.rq-check li{
	display:flex;align-items:flex-start;gap:7px;
	font-size:.84rem;line-height:1.65;color:var(--rq-ink);
}
.rq-check__ic{display:inline-flex;color:var(--rq-mint);flex:0 0 auto;margin-top:2px}
.rq-check__ic svg{width:15px;height:15px}

/* 応募方法内のボタン */
.rq-inline-btns{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px !important}
.rq-btn{
	display:inline-flex;align-items:center;justify-content:center;
	min-height:44px;padding:0 20px;border-radius:12px;
	color:#fff !important;text-decoration:none;font-size:.82rem;font-weight:700;
	box-shadow:0 4px 12px rgba(60,53,64,.14);
	transition:transform .15s ease,box-shadow .15s ease;
}
.rq-btn:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(60,53,64,.2);opacity:1}
.rq-btn--line{background:linear-gradient(135deg,#3ece7c,#06a94f)}
.rq-btn--form{background:linear-gradient(135deg,#ff8fb4,var(--rq-pink))}
.rq-btn--tel{background:linear-gradient(135deg,#4fc9c4,var(--rq-mint-d));letter-spacing:.04em}

/* ---------- こんな方を歓迎します ---------- */
.rq-welcome{
	list-style:none;margin:0;padding:0;
	display:grid;grid-template-columns:repeat(6,1fr);gap:12px;
}
.rq-wel{
	background:#fff;border:1px solid var(--rq-line);border-radius:16px;
	padding:18px 10px 15px;text-align:center;
	box-shadow:0 3px 12px rgba(60,53,64,.05);
}
.rq-wel__ic{
	display:inline-flex;align-items:center;justify-content:center;
	width:44px;height:44px;border-radius:50%;
	background:var(--rq-mint-l);color:var(--rq-mint-d);margin-bottom:9px;
}
.rq-wel__ic svg{width:22px;height:22px}
.rq-wel__text{margin:0;font-size:.78rem;line-height:1.6;color:var(--rq-ink);font-weight:600}
.rq-welcome__note{
	margin:16px 0 0;text-align:center;
	font-size:.8rem;color:var(--rq-gray);line-height:1.8;
}

/* ---------- 働きやすい環境（写真12枚グリッド） ---------- */
.rq-env{
	list-style:none;margin:0;padding:0;
	display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
}
.rq-env__item{
	background:#fff;border:1px solid var(--rq-line);border-radius:16px;
	overflow:hidden;box-shadow:0 3px 12px rgba(60,53,64,.05);
	display:flex;flex-direction:column;
	transition:transform .2s ease, box-shadow .2s ease;
}
.rq-env__item:hover{
	transform:translateY(-2px);
	box-shadow:0 8px 20px rgba(60,53,64,.09);
}
/* aspect-ratio だけでは画像の自然高さに引っ張られることがあるため、
   固定高さも併せて縦伸びを確実に防ぐ */
.rq-env__ph{
	display:block;overflow:hidden;background:var(--rq-mint-l);
	height:150px;flex:0 0 auto;
}
.rq-env__ph img{width:100%;height:100%;object-fit:cover;display:block}
.rq-env__body{padding:12px 13px 14px;flex:1 1 auto}
.rq-env__ttl{
	margin:0 0 5px;font-size:.86rem;font-weight:800;
	color:var(--rq-mint-d);letter-spacing:.02em;
	display:flex;align-items:center;gap:7px;line-height:1.4;
}
.rq-env__ic{
	display:inline-flex;align-items:center;justify-content:center;
	width:24px;height:24px;border-radius:50%;flex:0 0 auto;
	background:var(--rq-mint-l);color:var(--rq-mint-d);
}
.rq-env__ic svg{width:14px;height:14px}
.rq-env__note{margin:0;font-size:.74rem;color:var(--rq-gray);line-height:1.65}

/* ---------- 面接について ---------- */
.rq-interview{
	list-style:none;margin:0;padding:0;
	display:grid;grid-template-columns:repeat(2,1fr);gap:14px;
}
.rq-int{
	display:flex;gap:14px;align-items:flex-start;
	background:#fff;border:1px solid var(--rq-line);border-radius:16px;
	padding:18px 18px 17px;
	box-shadow:0 3px 12px rgba(60,53,64,.05);
}
.rq-int__ic{
	display:inline-flex;align-items:center;justify-content:center;
	width:44px;height:44px;border-radius:50%;flex:0 0 auto;
	background:var(--rq-pink-l);color:var(--rq-pink);
}
.rq-int__ic svg{width:22px;height:22px}
.rq-int__body{flex:1 1 auto;min-width:0}
.rq-int__ttl{margin:2px 0 6px;font-size:.94rem;font-weight:800;color:var(--rq-pink)}
.rq-int__text{margin:0;font-size:.82rem;line-height:1.85;color:var(--rq-ink)}

/* ---------- 関連ページ導線 ---------- */
.rq-links{
	margin:44px 0 0;
	display:grid;grid-template-columns:repeat(3,1fr);gap:12px;
}
.rq-link{
	display:flex;align-items:center;gap:11px;
	padding:16px 18px;border-radius:14px;
	background:#fff;border:1px solid var(--rq-line);
	text-decoration:none;color:var(--rq-ink);
	box-shadow:0 3px 12px rgba(60,53,64,.05);
	transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;
}
.rq-link:hover{
	transform:translateY(-1px);border-color:var(--rq-pink);
	box-shadow:0 7px 18px rgba(60,53,64,.12);opacity:1;
}
.rq-link__ic{
	display:inline-flex;align-items:center;justify-content:center;
	width:36px;height:36px;border-radius:50%;flex:0 0 auto;
	background:var(--rq-mint-l);color:var(--rq-mint-d);
}
.rq-link__ic svg{width:18px;height:18px}
.rq-link__label{flex:1 1 auto;font-size:.9rem;font-weight:700}
.rq-link__arrow{color:var(--rq-pink);font-size:1.2rem;line-height:1}

/* ---------- 募集要項ページ：タブレット ---------- */
@media (max-width:1024px){
	.rq-feats{grid-template-columns:repeat(2,1fr)}
	.rq-welcome{grid-template-columns:repeat(3,1fr)}
	.rq-env{grid-template-columns:repeat(3,1fr)}
	.rq-interview{grid-template-columns:1fr}
	.rq-links{grid-template-columns:1fr}
	.rq-row{grid-template-columns:170px 1fr}
}

/* ---------- 募集要項ページ：スマートフォン ---------- */
@media (max-width:768px){
	.rq-hero{padding:28px 0 26px}
	.rq-hero__ribbon{font-size:.78rem;padding:6px 18px}
	.rq-hero .rc-hero__desc{font-size:.78rem}

	.rq-feats{margin-top:-10px;gap:10px}
	.rq-feat{padding:15px 10px 13px;border-radius:14px}
	.rq-feat__ic{width:40px;height:40px}
	.rq-feat__ic svg{width:21px;height:21px}
	.rq-feat__title{font-size:.88rem}
	.rq-feat__text span{font-size:.72rem}

	.rq-sec{margin-top:34px}
	.rq-sec__ttl{font-size:1.02rem;gap:7px}
	.rq-sec__ttl::before,.rq-sec__ttl::after{max-width:40px}

	/* 要項テーブルは縦積みにする（横並びだと値が窮屈になるため） */
	.rq-row{grid-template-columns:1fr}
	.rq-row__key{padding:12px 15px;font-size:.86rem}
	.rq-row__ic{width:26px;height:26px}
	.rq-row__ic svg{width:14px;height:14px}
	.rq-row__val{padding:15px 16px;font-size:.82rem}
	.rq-pay__num{font-size:2rem}
	.rq-pay__badge{margin-left:0;font-size:.66rem;padding:4px 10px}
	.rq-check{grid-template-columns:1fr;gap:7px}
	.rq-inline-btns{flex-direction:column;gap:8px}
	.rq-btn{width:100%;min-height:46px}

	.rq-welcome{grid-template-columns:repeat(2,1fr);gap:10px}
	.rq-wel{padding:15px 8px 13px}
	.rq-wel__ic{width:38px;height:38px}
	.rq-wel__ic svg{width:19px;height:19px}
	.rq-wel__text{font-size:.74rem}

	.rq-env{grid-template-columns:repeat(2,1fr);gap:10px}
	.rq-env__ph{height:120px}
	.rq-env__body{padding:10px 10px 12px}
	.rq-env__ttl{font-size:.78rem;gap:6px}
	.rq-env__ic{width:21px;height:21px}
	.rq-env__ic svg{width:12px;height:12px}
	.rq-env__note{font-size:.68rem;line-height:1.6}

	.rq-int{padding:15px;gap:11px}
	.rq-int__ic{width:38px;height:38px}
	.rq-int__ic svg{width:19px;height:19px}
	.rq-int__ttl{font-size:.88rem}
	.rq-int__text{font-size:.78rem}

	.rq-links{margin-top:34px}
	.rq-link{padding:14px 15px}
	.rq-link__label{font-size:.85rem}
}

@media (max-width:480px){
	.rq-feats{grid-template-columns:1fr}
	/* .rq-welcome は2列のまま維持（テキストが2行なので2列でも収まる） */
	/* .rq-env は2列のまま維持する。
	   12枚あるため 1列にすると縦に長くなりすぎ、
	   次のセクションまでのスクロールが長くなるため。 */
	.rq-env__ph{height:104px}
	.rq-env__ttl{font-size:.74rem}
	.rq-env__note{font-size:.66rem}
}


/* =========================================================
   スタッフ求人ページ（ネオン版）専用
   素材: LOVE_CLOVER_staff_recruit_neon / approved_pc_design.png
   すべて .sn- 接頭辞。他ページには影響しない。
   ページ本体のみダーク配色にし、共通ヘッダー/フッターは既存のまま。
   ========================================================= */
.sn-page{
	--sn-bg:#05070f;
	--sn-panel:#0b1020;
	--sn-line:#2b3560;
	--sn-green:#a3ff4a;
	--sn-purple:#a761ff;
	--sn-gold:#e9c874;
	--sn-muted:#b3bdd6;
	background:var(--sn-bg);
	color:#fff;
	overflow:hidden;
}
.sn-page *{box-sizing:border-box}
.sn-wrap{width:min(1140px,100% - 32px);margin-inline:auto}
.sn-page a{text-decoration:none}

/* ---- 見出し ---- */
.sn-h2{
	display:flex;align-items:center;justify-content:center;gap:14px;
	margin:0 0 22px;font-size:1.5rem;font-weight:800;letter-spacing:.06em;color:#fff;
}
.sn-h2::before,.sn-h2::after{
	content:"";height:1px;flex:1;max-width:120px;
	background:linear-gradient(90deg,transparent,var(--sn-purple));
}
.sn-h2::after{background:linear-gradient(90deg,var(--sn-purple),transparent)}
.sn-sec{padding:44px 0}

/* ---- チェックアイコン ---- */
.sn-check{display:inline-flex;width:16px;height:16px;flex:0 0 16px;color:var(--sn-green)}
.sn-check svg{width:100%;height:100%}

/* =========== ヒーロー =========== */
.sn-hero{
	position:relative;isolation:isolate;overflow:hidden;
	min-height:496px;display:flex;align-items:center;justify-content:center;
	background:radial-gradient(120% 90% at 50% 0%,#1a1040 0%,#0a0a1e 45%,#05070f 100%);
}
.sn-hero__bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.sn-hero__glow{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55}
.sn-hero__glow--a{width:420px;height:420px;left:32%;top:-140px;background:#7740ff}
.sn-hero__glow--b{width:360px;height:360px;right:24%;bottom:-160px;background:#a761ff}
/* ネオンの斜め光線。人物の顔に重ならないよう中央部のみに配置 */
.sn-hero__ray{position:absolute;background:linear-gradient(90deg,transparent,#b98cff 42%,#c9a4ff 58%,transparent);height:2.5px;opacity:.9}
.sn-hero__ray--1{width:42%;left:29%;top:40%;transform:rotate(-9deg);box-shadow:0 0 22px #a761ff,0 0 44px rgba(167,97,255,.6)}
.sn-hero__ray--2{width:30%;left:37%;top:66%;transform:rotate(-9deg);box-shadow:0 0 18px #7740ff,0 0 34px rgba(119,64,255,.55)}

.sn-hero__photo{position:absolute;top:0;bottom:0;z-index:1;overflow:hidden;width:30%}
.sn-hero__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block}
/* 写真の内側の端をマスクで滑らかに消し、ネオン背景へ自然に溶け込ませる */
.sn-hero__photo--day{left:0}
.sn-hero__photo--day img{
	object-position:60% 18%;
	-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 46%,rgba(0,0,0,.55) 76%,transparent 100%);
	mask-image:linear-gradient(90deg,#000 0%,#000 46%,rgba(0,0,0,.55) 76%,transparent 100%);
}
.sn-hero__photo--night{right:0}
.sn-hero__photo--night img{
	object-position:40% 18%;
	-webkit-mask-image:linear-gradient(270deg,#000 0%,#000 46%,rgba(0,0,0,.55) 76%,transparent 100%);
	mask-image:linear-gradient(270deg,#000 0%,#000 46%,rgba(0,0,0,.55) 76%,transparent 100%);
}

.sn-hero__inner{position:relative;z-index:2;text-align:center;padding:48px 16px 58px}
.sn-hero__copy{margin:0;font-weight:400;line-height:1.5;font-family:"Yu Mincho","YuMincho","Hiragino Mincho ProN",serif}
.sn-hero__line{display:block}
.sn-hero__line--1{font-size:2.3rem;letter-spacing:.04em}
.sn-hero__line--2{font-size:1.6rem;margin-top:8px;letter-spacing:.1em}
.sn-hero__line--3{font-size:3.05rem;margin-top:4px;letter-spacing:.05em;font-weight:600}
.sn-hero__copy em{font-style:normal}
.sn-day{color:var(--sn-gold);text-shadow:0 0 18px rgba(233,200,116,.6)}
.sn-night{color:#c79bff;text-shadow:0 0 18px rgba(167,97,255,.7)}
.sn-power{color:var(--sn-green);text-shadow:0 0 20px rgba(163,255,74,.6)}

.sn-hero__badge{margin:22px auto 0;display:inline-block;transform:skewX(-14deg)}
.sn-hero__badge span{
	display:block;transform:skewX(14deg);
	padding:14px 56px;font-size:2.9rem;font-weight:900;letter-spacing:.12em;color:#fff;
	background:linear-gradient(135deg,rgba(103,48,236,.82),rgba(44,12,112,.9));
	border:3px solid var(--sn-purple);
	box-shadow:0 0 38px rgba(167,97,255,.7),0 0 12px rgba(199,155,255,.55),inset 0 0 30px rgba(167,97,255,.34);
	text-shadow:0 0 22px rgba(255,255,255,.7),0 2px 6px rgba(0,0,0,.5);
}

/* =========== 給与バッジ2枚 =========== */
.sn-pays{
	list-style:none;margin:-24px 0 0;padding:0;position:relative;z-index:5;
	display:grid;grid-template-columns:1fr 1fr;gap:16px;
}
.sn-pay{
	padding:14px 20px 16px;border-radius:14px;background:rgba(6,9,20,.92);
	border:2px solid var(--sn-green);box-shadow:0 0 22px rgba(163,255,74,.28),inset 0 0 18px rgba(163,255,74,.08);
}
.sn-pay--purple{border-color:var(--sn-purple);box-shadow:0 0 22px rgba(167,97,255,.32),inset 0 0 18px rgba(167,97,255,.1)}
.sn-pay__job{
	display:flex;align-items:center;justify-content:center;gap:8px;
	margin:0 0 4px;font-size:1.12rem;font-weight:800;letter-spacing:.04em;color:var(--sn-green);
}
.sn-pay--purple .sn-pay__job{color:var(--sn-purple)}
.sn-pay__ic{display:inline-flex;width:24px;height:24px}
.sn-pay__ic svg{width:100%;height:100%}
.sn-pay__amount{margin:0;display:flex;align-items:baseline;justify-content:center;gap:6px;flex-wrap:wrap}
.sn-pay__label{
	font-size:.78rem;font-weight:700;color:#fff;padding:3px 7px;border:1px solid rgba(255,255,255,.5);
	border-radius:5px;align-self:center;line-height:1.25;letter-spacing:.06em;
}
.sn-pay__amount strong{
	font-size:3.5rem;font-weight:900;line-height:1;color:var(--sn-green);
	text-shadow:0 0 22px rgba(163,255,74,.55);letter-spacing:-.02em;
}
.sn-pay--purple .sn-pay__amount strong{color:var(--sn-purple);text-shadow:0 0 22px rgba(167,97,255,.6)}
.sn-pay__unit{font-size:1.35rem;font-weight:800;color:var(--sn-green)}
.sn-pay--purple .sn-pay__unit{color:var(--sn-purple)}
.sn-pay__tail{font-size:1.05rem;font-weight:700;color:#fff}

/* =========== 仕事内容 =========== */
.sn-jobs{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.sn-job{
	position:relative;display:grid;grid-template-columns:1fr 158px;overflow:hidden;
	border-radius:14px;background:linear-gradient(135deg,#0c1226,#0a0f1f);
	border:1.5px solid var(--sn-green);box-shadow:0 0 18px rgba(163,255,74,.2)
}
.sn-job--purple{border-color:var(--sn-purple);box-shadow:0 0 18px rgba(167,97,255,.22)}
.sn-job__body{padding:16px 4px 16px 18px;min-width:0}
.sn-job__name{
	display:flex;align-items:center;gap:9px;margin:0 0 8px;
	font-size:1.2rem;font-weight:800;letter-spacing:.03em;color:var(--sn-green);
	padding-bottom:8px;border-bottom:1px dashed rgba(163,255,74,.4);
}
.sn-job--purple .sn-job__name{color:var(--sn-purple);border-bottom-color:rgba(167,97,255,.45)}
.sn-job__ic{display:inline-flex;width:26px;height:26px;flex:0 0 26px}
.sn-job__ic svg{width:100%;height:100%}
.sn-job__lead{margin:0 0 10px;font-size:.86rem;color:#dfe6f5;line-height:1.6}
.sn-job__tasks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 12px}
.sn-job__tasks li{display:flex;align-items:flex-start;gap:6px;font-size:.8rem;color:#eef2fb;line-height:1.45}
.sn-job--purple .sn-check{color:var(--sn-purple)}
.sn-job__photo{margin:0;position:relative;overflow:hidden}
.sn-job__photo img{width:100%;height:100%;object-fit:cover;display:block}
.sn-job__photo::after{
	content:"";position:absolute;inset:0;
	background:linear-gradient(270deg,transparent 55%,rgba(10,15,31,.95) 100%);
}

/* =========== 特徴6項目 =========== */
.sn-feats{
	list-style:none;margin:8px 0 0;padding:0;
	display:grid;grid-template-columns:repeat(6,1fr);gap:10px;
}
.sn-feat{
	display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;
	padding:14px 8px;border-radius:12px;background:rgba(11,16,32,.92);
	border:1px solid rgba(163,255,74,.35);
}
.sn-feat--purple{border-color:rgba(167,97,255,.4)}
.sn-feat__ic{display:inline-flex;width:30px;height:30px;color:var(--sn-green)}
.sn-feat--purple .sn-feat__ic{color:var(--sn-purple)}
.sn-feat__ic svg{width:100%;height:100%}
.sn-feat__body strong{display:block;font-size:.86rem;font-weight:800;color:#fff;line-height:1.35}
.sn-feat__body small{display:block;margin-top:3px;font-size:.7rem;color:var(--sn-muted);line-height:1.4}

/* =========== 給与・待遇 =========== */
.sn-wage{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;align-items:stretch}
.sn-wage__card{
	padding:16px 18px;border-radius:14px;background:linear-gradient(135deg,#0d1428,#0a0f1f);
	border:1.5px solid var(--sn-green);box-shadow:0 0 18px rgba(163,255,74,.18);
	display:flex;flex-direction:column;justify-content:center;
}
.sn-wage__card--purple{border-color:var(--sn-purple);box-shadow:0 0 18px rgba(167,97,255,.2)}
.sn-wage__job{
	display:flex;align-items:center;justify-content:center;gap:8px;
	margin:0 0 8px;font-size:1.02rem;font-weight:800;color:var(--sn-green);letter-spacing:.03em;
}
.sn-wage__card--purple .sn-wage__job{color:var(--sn-purple)}
.sn-wage__ic{display:inline-flex;width:22px;height:22px}
.sn-wage__ic svg{width:100%;height:100%}
.sn-wage__tag{
	margin:0 auto 8px;padding:4px 10px;border-radius:6px;font-size:.7rem;font-weight:700;
	color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);
}
.sn-wage__amount{margin:0;display:flex;align-items:baseline;justify-content:center;gap:5px;flex-wrap:wrap}
.sn-wage__label{
	font-size:.72rem;font-weight:700;color:#fff;padding:3px 6px;border:1px solid rgba(255,255,255,.5);
	border-radius:5px;align-self:center;letter-spacing:.06em;line-height:1.25;
}
.sn-wage__amount strong{font-size:2.9rem;font-weight:900;line-height:1;color:var(--sn-green);text-shadow:0 0 20px rgba(163,255,74,.5)}
.sn-wage__card--purple .sn-wage__amount strong{color:var(--sn-purple);text-shadow:0 0 20px rgba(167,97,255,.55)}
.sn-wage__unit{font-size:1.15rem;font-weight:800;color:var(--sn-green)}
.sn-wage__card--purple .sn-wage__unit{color:var(--sn-purple)}
.sn-wage__tail{font-size:.92rem;font-weight:700;color:#fff}
.sn-wage__note{margin:8px 0 0;font-size:.72rem;color:var(--sn-muted);text-align:center}
.sn-wage__side{display:grid;grid-template-rows:1fr 1fr;gap:14px}
.sn-wage__mini{
	padding:12px 16px;border-radius:12px;background:rgba(11,16,32,.92);
	border:1px solid var(--sn-line);
}
.sn-wage__mini-title{margin:0 0 6px;font-size:.92rem;font-weight:800;color:#fff}
.sn-wage__mini ul{list-style:none;margin:0;padding:0}
.sn-wage__mini li{font-size:.8rem;color:var(--sn-muted);line-height:1.7}

/* 勤務時間 */
.sn-hours{
	margin-top:14px;padding:16px 20px;border-radius:12px;
	background:rgba(11,16,32,.92);border:1px solid var(--sn-line);
	display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 18px;
}
.sn-hours__title{
	display:flex;align-items:center;gap:8px;margin:0;
	font-size:1.02rem;font-weight:800;color:var(--sn-purple);
}
.sn-hours__ic{display:inline-flex;width:22px;height:22px}
.sn-hours__ic svg{width:100%;height:100%}
.sn-hours__lead{margin:0;font-size:.88rem;color:#eef2fb}
.sn-hours__note{margin:0;font-size:.82rem;color:var(--sn-muted);grid-column:2}
.sn-hours__badge{
	margin:0;padding:5px 12px;border-radius:6px;font-size:.74rem;font-weight:700;color:#0a0f1f;
	background:var(--sn-green);grid-row:1 / span 2;grid-column:3;align-self:center;
}

/* =========== 歓迎・環境 =========== */
.sn-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.sn-panel{
	padding:18px 20px;border-radius:14px;background:linear-gradient(135deg,#0d1428,#0a0f1f);
	border:1.5px solid rgba(163,255,74,.4);
}
.sn-panel--purple{border-color:rgba(167,97,255,.45)}
.sn-panel__title{
	display:flex;align-items:center;gap:9px;margin:0 0 12px;padding-bottom:9px;
	font-size:1.12rem;font-weight:800;color:var(--sn-green);letter-spacing:.03em;
	border-bottom:1px dashed rgba(163,255,74,.4);
}
.sn-panel--purple .sn-panel__title{color:var(--sn-purple);border-bottom-color:rgba(167,97,255,.45)}
.sn-panel__ic{display:inline-flex;width:24px;height:24px;flex:0 0 24px}
.sn-panel__ic svg{width:100%;height:100%}
.sn-panel__checks{list-style:none;margin:0;padding:0}
.sn-panel__checks li{
	display:flex;align-items:flex-start;gap:8px;
	font-size:.88rem;color:#eef2fb;line-height:1.75;
}
.sn-envs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.sn-env{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px}
.sn-env__ic{
	display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;
	border-radius:50%;background:rgba(167,97,255,.2);color:#c79bff;
	border:1.5px solid rgba(167,97,255,.65);
	box-shadow:0 0 16px rgba(167,97,255,.3),inset 0 0 14px rgba(167,97,255,.16);
}
.sn-env__ic svg{width:28px;height:28px}
.sn-env__body{font-size:.76rem;color:#eef2fb;line-height:1.5}

/* =========== 応募方法 =========== */
.sn-sec--apply{padding-bottom:54px;text-align:center}
.sn-apply__lead{margin:0 0 16px;font-size:.98rem;color:#eef2fb}
.sn-apply__btns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.sn-abtn{
	display:flex;align-items:center;justify-content:center;gap:12px;
	min-height:74px;padding:12px 16px;border-radius:12px;color:#fff;
	transition:transform .18s ease,box-shadow .18s ease;
}
.sn-abtn:hover{transform:translateY(-2px)}
.sn-abtn__ic{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:rgba(255,255,255,.18)}
.sn-abtn__ic svg{width:22px;height:22px}
.sn-abtn__body{text-align:left}
.sn-abtn__body strong{display:block;font-size:1.05rem;font-weight:800;letter-spacing:.02em}
.sn-abtn__body small{display:block;margin-top:2px;font-size:.74rem;opacity:.92}
.sn-abtn--line{background:linear-gradient(135deg,#57d91f,#159400);box-shadow:0 0 20px rgba(98,255,69,.4)}
.sn-abtn--form{background:linear-gradient(135deg,#7740ff,#9b26d9);box-shadow:0 0 20px rgba(168,77,255,.42)}
.sn-abtn--tel{background:linear-gradient(135deg,#3659b8,#263773);box-shadow:0 0 18px rgba(54,89,184,.35)}
.sn-apply__note{margin:14px 0 0;font-size:.76rem;color:var(--sn-muted)}
.sn-apply__msg{
	margin:18px auto 0;padding:16px 22px;max-width:640px;border-radius:12px;
	font-size:1rem;font-weight:700;line-height:1.75;color:#fff;
	background:rgba(167,97,255,.1);border:1px solid rgba(167,97,255,.45);
	box-shadow:inset 0 0 22px rgba(167,97,255,.12);
}

/* =========== レスポンシブ =========== */
@media (max-width:1024px){
	.sn-hero{min-height:430px}
	.sn-hero__photo{width:27%}
	.sn-hero__line--1{font-size:1.85rem}
	.sn-hero__line--2{font-size:1.34rem}
	.sn-hero__line--3{font-size:2.4rem}
	.sn-hero__badge span{font-size:2.3rem;padding:12px 42px}
	.sn-feats{grid-template-columns:repeat(3,1fr)}
	.sn-wage{grid-template-columns:1fr 1fr}
	.sn-wage__side{grid-column:1 / -1;grid-template-rows:none;grid-template-columns:1fr 1fr}
	.sn-pay__amount strong{font-size:3rem}
}
@media (max-width:768px){
	.sn-hero{min-height:352px}
	.sn-hero__photo{width:52%;opacity:.8}
	/* SPは左右の写真が中央で接するため、内側のフェードを強めて
	   中央に暗部を作りキャッチコピーの可読性を確保する */
	.sn-hero__photo--day img{
		-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 24%,rgba(0,0,0,.4) 62%,transparent 92%);
		mask-image:linear-gradient(90deg,#000 0%,#000 24%,rgba(0,0,0,.4) 62%,transparent 92%);
	}
	.sn-hero__photo--night img{
		-webkit-mask-image:linear-gradient(270deg,#000 0%,#000 24%,rgba(0,0,0,.4) 62%,transparent 92%);
		mask-image:linear-gradient(270deg,#000 0%,#000 24%,rgba(0,0,0,.4) 62%,transparent 92%);
	}
	.sn-hero__inner{padding:38px 14px 40px}
	.sn-hero__line--1{font-size:1.42rem}
	.sn-hero__line--2{font-size:1.12rem}
	.sn-hero__line--3{font-size:1.95rem}
	.sn-hero__copy{text-shadow:0 2px 12px rgba(0,0,0,.8)}
	.sn-hero__badge span{font-size:1.72rem;padding:10px 30px;letter-spacing:.08em}
	.sn-pays{grid-template-columns:1fr;margin-top:-24px;gap:12px}
	.sn-pay__amount strong{font-size:3.1rem}
	.sn-jobs{grid-template-columns:1fr}
	.sn-job{grid-template-columns:1fr 128px}
	.sn-feats{grid-template-columns:repeat(3,1fr);gap:8px}
	.sn-feat{padding:12px 6px}
	.sn-feat__body strong{font-size:.78rem}
	.sn-feat__body small{font-size:.65rem}
	.sn-wage{grid-template-columns:1fr}
	.sn-wage__side{grid-template-columns:1fr 1fr}
	.sn-hours{grid-template-columns:1fr;gap:6px;text-align:center}
	.sn-hours__title{justify-content:center}
	.sn-hours__note{grid-column:1}
	.sn-hours__badge{grid-row:auto;grid-column:1;justify-self:center}
	.sn-two{grid-template-columns:1fr}
	.sn-apply__btns{grid-template-columns:1fr}
	.sn-abtn{min-height:64px}
	.sn-h2{font-size:1.28rem}
	.sn-sec{padding:34px 0}
}
@media (max-width:480px){
	.sn-hero__line--1{font-size:1.2rem}
	.sn-hero__line--2{font-size:1rem}
	.sn-hero__line--3{font-size:1.62rem}
	.sn-hero__badge span{font-size:1.44rem;padding:9px 24px}
	.sn-env__ic{width:48px;height:48px}
	.sn-env__ic svg{width:25px;height:25px}
	.sn-pay__amount strong{font-size:2.7rem}
	.sn-job{grid-template-columns:1fr}
	.sn-job__photo{height:130px;order:-1}
	.sn-job__photo::after{background:linear-gradient(0deg,rgba(10,15,31,.9),transparent 70%)}
	.sn-job__body{padding:14px 16px}
	.sn-job__tasks{grid-template-columns:1fr}
	.sn-feats{grid-template-columns:repeat(2,1fr)}
	.sn-envs{grid-template-columns:repeat(2,1fr);gap:14px}
	.sn-wage__side{grid-template-columns:1fr}
	.sn-wage__amount strong{font-size:2.5rem}
}

/* =====================================================
 * 写メ日記詳細：シティーヘブン由来のバッジと動画誘導
 * ===================================================== */
.lc-diary-article__flags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0 0 10px;
}
.lc-dflag {
	display: inline-block;
	padding: 3px 10px 4px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: .04em;
	color: #fff;
}
.lc-dflag--mv { background: #8d84b8; }
.lc-dflag--lim { background: linear-gradient(135deg, #c9a227, #e0bd52); }

/* 動画はヘブン側が会員限定のため、サイト内では再生できず外部誘導になる */
.lc-diary-article__movielink {
	margin: 14px 0 4px;
	text-align: center;
}

/* ============================================================
   トップページ：見出し（h1）と店舗紹介文
   検索エンジンにページの主題を伝えるための要素。
   デザインを壊さないよう控えめな見た目にしている。
   ============================================================ */
.lc-top-h1 {
	margin: 14px 0 10px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .04em;
	color: #4b6b66;
	text-align: center;
	line-height: 1.7;
}
.lc-top-about {
	margin: 38px auto 46px;
	padding: 26px 28px 28px;
	background: linear-gradient(180deg, #f7fdfb, #ffffff);
	border: 1px solid #dcefe9;
	border-radius: 18px;
}
.lc-top-about__h {
	margin: 0 0 14px;
	font-size: 17px;
	font-weight: 800;
	color: var(--emerald-dark);
	letter-spacing: .03em;
	padding-left: 12px;
	border-left: 4px solid var(--gold);
	line-height: 1.5;
}
.lc-top-about__body p {
	margin: 0 0 12px;
	font-size: 13.5px;
	line-height: 2;
	color: #4a5a57;
}
.lc-top-about__body p strong { color: var(--emerald-dark); font-weight: 700; }
.lc-top-about__links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 10px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}
.lc-top-about__links li { margin: 0; }
.lc-top-about__links a {
	display: inline-block;
	padding: 7px 14px;
	background: #fff;
	border: 1px solid #cfe7e0;
	border-radius: 20px;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--emerald-dark);
	text-decoration: none;
	transition: background .2s, border-color .2s;
}
.lc-top-about__links a:hover { background: #eef9f6; border-color: #8fc9bb; opacity: 1; }

@media (max-width: 768px) {
	.lc-top-h1 { font-size: 11.5px; margin: 10px 0 8px; }
	.lc-top-about { margin: 28px auto 34px; padding: 20px 16px 22px; border-radius: 14px; }
	.lc-top-about__h { font-size: 15px; padding-left: 10px; }
	.lc-top-about__body p { font-size: 13px; line-height: 1.95; }
	.lc-top-about__links a { font-size: 12px; padding: 6px 12px; }
}

/* ============================================================
   SEO用の見出し（h1）
   検索エンジンにページ主題を伝えるために設置した見出し。
   既存デザインを崩さないよう控えめに表示する。
   ============================================================ */
.lc-seo-h1 {
	margin: 12px 0 6px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .03em;
	line-height: 1.7;
	color: #6a7b78;
	text-align: center;
}
/* ポイントシステムページは上のバナー画像に見出しが含まれるため、SEO用h1は視覚的に非表示（検索エンジン向けテキストとしては残す） */
.pnt .lc-seo-h1 {
	position: absolute;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 768px) {
	.lc-seo-h1 { font-size: 11px; margin: 10px 0 4px; padding: 0 12px; }
}

/* ==========================================================================
   写メ日記：マイガール限定日記の案内カード
   ヘブンの限定日記は本文を取得できないため、本文の代わりに案内を出す
   ========================================================================== */
.lc-diary-locked {
	margin: 18px 0 8px;
	padding: 22px 20px;
	text-align: center;
	background: linear-gradient(180deg, #f4fbf8 0%, #ffffff 100%);
	border: 2px dashed var(--emerald-light);
	border-radius: 16px;
}
.lc-diary-locked__lead {
	margin: 0 0 8px;
	font-size: 16px;
	font-weight: 700;
	color: var(--emerald-dark);
	line-height: 1.7;
}
.lc-diary-locked__lead strong { color: #c8952a; }
.lc-diary-locked__note {
	margin: 0 0 16px;
	font-size: 13.5px;
	color: var(--muted);
	line-height: 1.8;
}
.lc-diary-locked p:last-child { margin-bottom: 0; }
@media (max-width: 768px) {
	.lc-diary-locked { padding: 18px 14px; border-radius: 14px; }
	.lc-diary-locked__lead { font-size: 14.5px; }
	.lc-diary-locked__note { font-size: 12.5px; }
}


/* ---------- ポイントシステム案内バナー（はじめての方へ ページ下部） ---------- */
.lc-pointcta{margin:32px 0 0;}
.lc-pointcta__imglink{display:block;border-radius:14px;overflow:hidden;box-shadow:0 10px 26px rgba(6,30,20,.35);transition:.15s;}
.lc-pointcta__imglink:hover{filter:brightness(1.04);box-shadow:0 12px 30px rgba(6,30,20,.45);}
.lc-pointcta__img{display:block;width:100%;height:auto;}

/* =========================================================
   求人サイト：完成画像ヒーローバナー（2026-08-22）
   ========================================================= */
.rc-image-hero {
width: 100%;
margin: 0;
overflow: hidden;
line-height: 0;
background: #26000f;
}
.rc-image-hero img {
display: block;
width: 100%;
max-width: none;
height: auto;
margin: 0;
}
@media (max-width: 767px) {
.rc-image-hero { border-bottom: 2px solid #c99c42; }
}


/* ---- プロフィールページ 色/アイコン強化 (Claude追加分) ---- */
.pf{
	--pf-teal-l:#eaf7f4;
	--pf-teal-d:#2f7d6f;
	--pf-purple:#9b8bd4;
	--pf-purple-l:#f1eefa;
	--pf-purple-d:#6a58b0;
	--pf-blue:#5aa8d8;
	--pf-blue-l:#eaf5fb;
	--pf-blue-d:#2f6f96;
}

/* 属性タグ：4色サイクルで色分け */
.pf-pills .pf-pill:nth-child(4n+1){background:var(--pf-pink-l);border-color:var(--pf-pink);color:var(--pf-pink-d);}
.pf-pills .pf-pill:nth-child(4n+1) svg{color:var(--pf-pink);}
.pf-pills .pf-pill:nth-child(4n+2){background:var(--pf-teal-l);border-color:var(--pf-teal);color:var(--pf-teal-d);}
.pf-pills .pf-pill:nth-child(4n+2) svg{color:var(--pf-teal);}
.pf-pills .pf-pill:nth-child(4n+3){background:var(--pf-purple-l);border-color:var(--pf-purple);color:var(--pf-purple-d);}
.pf-pills .pf-pill:nth-child(4n+3) svg{color:var(--pf-purple);}
.pf-pills .pf-pill:nth-child(4n){background:var(--pf-blue-l);border-color:var(--pf-blue);color:var(--pf-blue-d);}
.pf-pills .pf-pill:nth-child(4n) svg{color:var(--pf-blue);}

/* プロフィール表：偶数行をミント色に、項目名にアイコン追加 */
.pf-table tr:nth-child(even){background:var(--pf-teal-l);}
.pf-table__label{display:inline-flex;align-items:center;gap:7px;}
.pf-table__icon{display:inline-flex;flex:0 0 auto;color:var(--pf-teal);}
.pf-table__icon svg{width:15px;height:15px;display:block;}

/* 今すぐ予約ボタン（ミントグラデーション） */
.pf-quickbook{
	display:flex;align-items:center;justify-content:center;gap:8px;
	background:linear-gradient(135deg,#6fc9b8 0%,var(--pf-teal) 55%,#3f9484 100%);
	color:#fff;font-weight:700;font-size:17px;letter-spacing:.02em;
	padding:15px 22px;border-radius:999px;
	text-decoration:none;
	box-shadow:0 8px 18px rgba(95,184,168,.4);
	margin:14px 0 22px;
}
.pf-quickbook:hover,.pf-quickbook:visited,.pf-quickbook:active{color:#fff;}
.pf-quickbook::before{content:"\2726";font-size:14px;opacity:.85;}
.pf-quickbook::after{content:"\203A";display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.28);font-size:19px;line-height:1;margin-left:2px;}

/* 本日出勤カード：薄いピンクの角丸カード＋時計アイコン */
.pf-status--today{
	background:var(--pf-pink-l);color:var(--pf-pink-d);
	flex-direction:row;align-items:center;gap:8px;
	padding:10px 16px;border-radius:12px;
	font-size:13px;
}
.pf-status--today .pf-status__icon{width:20px;height:20px;flex:0 0 auto;color:var(--pf-pink);}
.pf-status--today .pf-status__text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.3;}
.pf-status--today .pf-status__text em{font-style:normal;font-size:13px;font-weight:700;margin-top:1px;}


/* ---- モバイル幅での上書き対応 (Claude追加分2) ---- */
@media (max-width: 768px){
	.pf-pills .pf-pill:not(.pf-pill--fav){display:inline-flex !important;}
	.pf-pills{flex-wrap:wrap;}
	.pf-table tr:nth-child(4n+1){background:var(--pf-pink-l) !important;}
	.pf-table tr:nth-child(4n+2){background:var(--pf-teal-l) !important;}
	.pf-table tr:nth-child(4n+3){background:var(--pf-purple-l) !important;}
	.pf-table tr:nth-child(4n){background:var(--pf-blue-l) !important;}
}


/* 【ホーム】PC版ヘッダー電話番号：青色+個性的フォントに変更 (2026-08-27) */
@media (min-width: 769px) {
	.lc-header__tel-number {
		color: #1a56db !important;
		font-family: 'Futura', 'Century Gothic', 'Trebuchet MS', 'Segoe UI', sans-serif;
		letter-spacing: .04em;
	}
	.lc-header__tel-number svg { color: #1a56db !important; }
}

.lc-diary-article__author{font-size:15px;font-weight:700;color:var(--pink);margin:2px 0 4px}
.lc-diary-article__author a{color:inherit;text-decoration:underline}

/* task380: recruit header 3 buttons - match top page reserve-bar size/position, fix position bug across breakpoints */
@media (max-width:1024px){
.rc-header__btns{display:flex !important;gap:4px !important;flex:0 0 auto !important;margin-left:auto !important}
.rc-hbtn{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;gap:2px !important;width:auto !important;height:auto !important;min-width:58px !important;padding:8px 6px 7px !important;border-radius:10px !important;font-size:11px !important;font-weight:800 !important}
.rc-hbtn__note{display:none !important}
.rc-hbtn svg{width:22px !important;height:22px !important}
.rc-hbtn--line .lc-ctaic--line{width:22px !important;height:22px !important}
}

/* task381: recruit header redesign - match top page (lc-header) logo/tel/cta/util style */
.rc-header .rc-logo__img{height:58px;width:auto}
.rc-header .lc-header__tel{margin-left:auto}
.rc-header .lc-header__ctas{display:flex;gap:8px}
.rc-header .lc-header__ctas .lc-btn--reserve{min-width:112px;padding:7px 10px 7px 36px}
.rc-header .lc-header__util{display:flex;gap:16px;align-items:center;flex:0 0 auto}
.lc-btn--outline-blue{background:#fff;color:#1a56db !important;border-color:#1a56db}
.lc-btn--outline-blue:hover{background:#eaf1fe;opacity:1}

@media (max-width:1180px){
  .rc-header .lc-header__ctas{gap:6px}
  .rc-header .lc-header__ctas .lc-btn--reserve{min-width:96px;padding:6px 8px 6px 32px;font-size:13px}
  .rc-header .lc-header__ctas .lc-btn small{display:none}
}
@media (max-width:1024px){
  .rc-header .lc-header__tel{display:none !important}
}
@media (max-width:768px){
  .rc-header .rc-logo__img{height:44px}
  .rc-header .lc-header__util{margin-left:auto}
}

.lc-header__tel-text-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}


/* ---------- Task #386: モバイルヘッダー折返し修正 ---------- */
@media (max-width: 768px) {
	.lc-header__top { flex-wrap: wrap; justify-content: space-between; }
	.lc-logo { order: 1; }
	.lc-hamburger { order: 2; }
	.lc-header__hours { order: 3; flex: 0 0 100%; width: 100%; justify-content: flex-start; margin-top: 6px; }
	.lc-header__ctas { order: 4; }
	.lc-header__util { order: 5; }
}

/* task396: girls list reserve button color by shift kind (today=pink default, upcoming=emerald) */
.lc-cast-card__btn--book.lc-cast-card__btn--book-upcoming{background:var(--emerald);border-color:var(--emerald)}
.lc-btn--outline-pink.lc-btn--reserve-upcoming{background:#fff;color:var(--emerald-dark) !important;border-color:var(--emerald) !important}
.lc-btn--outline-pink.lc-btn--reserve-upcoming:hover{background:var(--emerald-light);opacity:1}


/* 写メ日記＋動画：横並びをやめて縦積みにし、動画を大きく自動再生表示（2026-09 依頼分） */
.pf-stack{margin-bottom:22px;}
.pf-stack .pf-card{margin-bottom:22px;}
.pf-stack .pf-card:last-child{margin-bottom:0;}
.pf-movie-grid{grid-template-columns:1fr;gap:18px;}
.pf-movie__video{max-height:70vh;object-fit:cover;box-shadow:0 4px 16px rgba(0,0,0,.12);}
.pf-movie__ttl{margin-top:8px;font-size:14.5px;}

/* PC hero slider height reduction (added) */
@media (min-width:769px){
  body.home .lc-slider__slide{aspect-ratio:1080/650;}
  body.home .lc-slider__slide img{object-fit:cover;object-position:center;}
}
