/**
 * スマホ特化・モバイルファースト
 * 水商売リクルートサイト用：320〜480px を最優先、LINE CTA 強化
 */
@charset "utf-8";

/* ========== ベース：スマホでタップしやすい・読みやすい ========== */
@media screen and (max-width: 480px) {
	body {
		font-size: 16px;
		-webkit-text-size-adjust: 100%;
	}
	/* タッチエリア最低 44x44px */
	a.btn-black, a.btn-beige-gra, a.btn-wine-gra,
	.menu-trigger, .menu-closer,
	#line-cta-sticky a,
	footer ul.navi-main li a,
	.slidemenu .toiawase a {
		min-height: 44px;
		min-width: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 12px 16px;
	}
}

/* ========== LINE Sticky CTA（スマホのみ・常時表示） ========== */
.line-cta-sticky.is-mobile-only {
	display: none;
}
@media screen and (max-width: 1077px) {
	.line-cta-sticky.is-mobile-only {
		display: block;
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 9999;
		padding: 0;
		margin: 0;
		box-shadow: 0 -4px 20px rgba(0,0,0,0.25);
	}
	.line-cta-sticky__btn {
		background: linear-gradient(135deg, #e91e63 0%, #c2185b 50%, #ad1457 100%);
		color: #fff !important;
		text-decoration: none !important;
		width: 100%;
		min-height: 56px;
		padding: 10px 16px 12px;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		flex-wrap: wrap;
		-webkit-tap-highlight-color: transparent;
		transition: background 0.2s, transform 0.1s;
	}
	.line-cta-sticky__btn:active {
		transform: scale(0.98);
		background: linear-gradient(135deg, #c2185b 0%, #880e4f 100%);
	}
	.line-cta-sticky__icon {
		width: 28px;
		height: 28px;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M19.365 9.863c.349 0 .63.285.63.631 0 .345-.281.63-.63.63H17.61v1.125h1.755c.349 0 .63.283.63.63 0 .344-.281.629-.63.629h-2.386c-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63h2.386c.346 0 .627.285.627.63 0 .349-.281.63-.627.63H17.61v1.125h1.755zm-3.855 3.016c0 .27-.174.51-.432.596-.064.021-.133.031-.199.031-.211 0-.391-.09-.51-.25l-2.443-3.317v2.94c0 .344-.279.629-.631.629-.346 0-.626-.285-.626-.629V8.108c0-.27.173-.51.43-.595.06-.023.136-.033.194-.033.195 0 .375.104.495.254l2.462 3.33V8.108c0-.345.282-.63.63-.63.345 0 .63.285.63.63v4.771zm-5.741 0c0 .344-.282.629-.631.629-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63.346 0 .628.285.628.63v4.771zm-1.218 1.006c-.064.021-.133.031-.199.031-.211 0-.391-.09-.51-.25L4.622 9.098v2.94c0 .344-.279.629-.631.629-.346 0-.626-.285-.626-.629V8.108c0-.27.173-.51.43-.595.06-.023.136-.033.194-.033.195 0 .375.104.495.254l2.462 3.33V8.108c0-.345.282-.63.63-.63.345 0 .63.285.63.63v4.771h-.001z'/%3E%3C/svg%3E") center/contain no-repeat;
		flex-shrink: 0;
	}
	.line-cta-sticky__text {
		font-weight: 700;
		font-size: 1rem;
		letter-spacing: 0.02em;
	}
	.line-cta-sticky__sub {
		font-size: 0.75rem;
		opacity: 0.95;
		width: 100%;
		text-align: center;
		margin-top: -2px;
	}
}
@media screen and (min-width: 1078px) {
	.line-cta-sticky.is-mobile-only { display: none !important; }
}

/* LINE CTA ボタン（ページ内・スライドメニュー用）ピンク強調 */
.btn-line-cta,
a.btn-line-cta {
	background: linear-gradient(135deg, #e91e63 0%, #c2185b 100%) !important;
	color: #fff !important;
	border: none !important;
}
.btn-line-cta:hover,
a.btn-line-cta:hover {
	background: linear-gradient(135deg, #c2185b 0%, #880e4f 100%) !important;
	color: #fff !important;
}
.slidemenu .toiawase .btn-line-cta {
	min-height: 48px;
	padding: 12px 20px;
}

/* ハンバーガーメニュー：スマホでタップエリア拡大 */
@media screen and (max-width: 1077px) {
	.menu-trigger-wrapper {
		padding: 12px;
		margin: -12px 0 0 12px;
	}
	.menu-trigger {
		min-width: 44px;
		min-height: 44px;
		padding: 10px;
	}
}

/* メインコンテンツ下に sticky の高さ分の余白（ボタンに隠れない） */
@media screen and (max-width: 1077px) {
	#main {
		padding-bottom: 72px;
	}
	footer {
		margin-bottom: 0;
	}
}
