/* ==========================================================
   採用情報(recruit)ページ専用スタイル
   - style2025.css(lunemari 現行デザイン)のトークンに準拠
     ゴールド: #A18D45 / #D4BE58  紺: #192853 / #313F5A
     クリーム: #FFF8EA / #F7F0DE  枠: #DDC8A1
   - 共通部品(ttl / ttl-box / bg-* / dotList / linkBtn / md__*)
     は style2025.css の定義をそのまま利用する
   ========================================================== */

/* dotList のドット画像(dot_bk.png)がテーマに存在しないため CSS で描画 */
.dotList li::before {
	background-image: none;
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 50%;
	background-color: #A18D45;
	margin-top: 0.6rem;
}

/* セクション見出しの英字部分に両端星
   (料金システムの「乾杯ショット付」= .aboutFv__detail h4 と同じあしらい) */
.ttl .en,
.ttl .en-jp {
	position: relative;
}

.ttl .en::before,
.ttl .en::after,
.ttl .en-jp::before,
.ttl .en-jp::after {
	content: "";
	width: 1.5rem;
	height: 1.5rem;
	background-image: url(../img/common/icon_star.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	top: 50%;
	translate: 0 -50%;
}

.ttl .en::before,
.ttl .en-jp::before {
	left: -2.4rem;
}

.ttl .en::after,
.ttl .en-jp::after {
	right: -2.4rem;
}

/* --- 見出し枠(旧 ttl-waku の lunemari 版・画像不使用) --- */
.ttl-waku {
	width: 25.4rem;
	min-height: 5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1.6rem;
	position: relative;
	z-index: 1;
	background-color: #FFF8EA;
	border: 1px solid #A18D45;
	box-shadow: 0.3rem 0.3rem 0 rgba(0, 0, 0, 0.15);
	padding: 0.8rem 1.6rem;
}

.ttl-waku::before {
	content: "";
	position: absolute;
	inset: 0.3rem;
	border: 1px solid #A18D45;
	pointer-events: none;
}

.ttl-waku h3,
.ttl-waku h4 {
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	font-weight: bold;
	text-align: center;
	color: #192853;
}

/* --- FV --- */
.recruitFv {
	padding: 10.9rem 0 5.4rem;
	position: relative;
	overflow: hidden;
}

/* ページ上部のロゴ(トップへのリンク・中央揃え) */
.recruitFv__logo {
	width: 11rem;
	display: block;
	position: absolute;
	top: 1.6rem;
	left: 50%;
	translate: -50% 0;
	z-index: 10;
}

.recruitFv .ttl {
	margin-bottom: 2.5rem;
}

.recruitFv__catch {
	background-color: #FFF8EA;
	border: 5px solid #A18D45;
	padding: 3.2rem 2.4rem 2.8rem;
	position: relative;
	margin-bottom: 4.2rem;
}

.recruitFv__catch>p {
	font-size: 1.8rem;
	line-height: 1.65;
	letter-spacing: 0.05em;
	font-weight: bold;
	color: #192853;
	text-align: center;
	margin-bottom: 2.4rem;
}

.recruitFv__catch>p .fs {
	font-size: 1.6rem;
	display: block;
	margin-top: 0.8rem;
}

.recruitFv__catch p .dot {
	position: relative;
}

.recruitFv__catch p .dot::after {
	content: "";
	width: 0.3rem;
	height: 0.3rem;
	border-radius: 50%;
	background-color: #A18D45;
	position: absolute;
	top: -0.5rem;
	left: 50%;
	transform: translateX(-50%);
}

.recruitFv__catch ul {
	width: calc(100% - 12.5rem);
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
	position: relative;
	z-index: 2;
}

/* フッターの「TOP」ボタン(.footer__nav li a)と同じあしらい */
.recruitFv__catch ul li {
	font-size: 1.4rem;
	letter-spacing: 0.13em;
	font-weight: bold;
	color: #192853;
	min-height: 4.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #FFF8EA;
	border: 1px solid;
}

/* 切り抜き写真をボックス右下に枠なしで重ねる */
.recruitFv__catch__girl {
	width: 22rem;
	position: absolute;
	bottom: 0;
	right: -58px;
	z-index: 1;
	line-height: 0;
}

.recruitFv__lead {
	margin-bottom: 4rem;
}

.recruitFv__lead p {
	font-size: 1.4rem;
	line-height: 2.5;
	font-weight: bold;
	text-align: center;
	color: #fff;
}

.recruitFv__lead p+p {
	margin-top: 2.7rem;
}

/* 額縁付き店内写真(重なり配置) */
.recruitFv__images {
	margin-bottom: 4.6rem;
}

.recruitFv__images li:nth-of-type(1) {
	width: 22rem;
	margin-left: -1rem;
}

.recruitFv__images li:nth-of-type(2) {
	width: 15.5rem;
	margin-left: auto;
	margin-top: -6rem;
}

.recruitFv__images li:nth-of-type(3) {
	width: 15.5rem;
	margin-left: 0.5rem;
	margin-top: -9rem;
}

.recruitFv__boshu,
.recruitFv__detail {
	background-color: #FFF8EA;
	border: 5px solid #A18D45;
	padding: 3.4rem 3rem;
}

.recruitFv__boshu {
	margin-bottom: 3.1rem;
}

.recruitFv__boshu>p,
.recruitFv__detail>p {
	font-size: 2.2rem;
	letter-spacing: 0.1em;
	line-height: 1.53;
	font-weight: bold;
	text-align: center;
	color: #A18D45;
	padding-bottom: 2rem;
	position: relative;
	margin-bottom: 2.4rem;
}

.recruitFv__boshu>p::after,
.recruitFv__detail>p::after {
	content: "";
	width: 21.3rem;
	height: 1.6rem;
	background-image: url(../img/about/detail_border.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

/* 「全力でサポート」の締め文(見出しスタイルを打ち消し) */
.recruitFv__boshu .recruitFv__boshu__support {
	font-size: 1.8rem;
	line-height: 1.6;
	padding-bottom: 0;
	margin: 2.4rem 0 0;
}

.recruitFv__boshu .recruitFv__boshu__support::after {
	display: none;
}

@media screen and (min-width: 772px) {}

/* --- おすすめポイント --- */
.recruitOsusume {
	padding: 11.2rem 0 5.8rem;
}

.recruitOsusume .ttl {
	margin-bottom: 4.2rem;
}

.recruitOsusume__list {
	display: flex;
	flex-direction: column;
	gap: 6.4rem;
	margin-bottom: 3.2rem;
}

.recruitOsusume__list>li {
	width: 100%;
	position: relative;
}

.recruitOsusume__head {
	position: relative;
	margin-bottom: 2rem;
}

/* アーチ型写真(front-page の homeEnjoy__img と同文法) */
.recruitOsusume__img {
	width: 27rem;
	height: 35.2rem;
	border-top-left-radius: 13.5rem;
	border-top-right-radius: 13.5rem;
	padding: 1rem;
	border: 1px solid #DDC8A1;
	box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.25);
	position: relative;
}

.recruitOsusume__img img {
	width: 25rem;
	height: 32.6rem;
	object-fit: cover;
	object-position: top;
	border-top-left-radius: 12.5rem;
	border-top-right-radius: 12.5rem;
}

/* 縦書き見出し */
.recruitOsusume__ttl {
	width: 9.8rem;
	height: auto;
	padding: 6px;
	background-color: #192853;
	position: absolute;
	right: 0;
	bottom: -1.4rem;
	display: table;
}

.recruitOsusume__ttl__inner {
	padding: 3px;
	background-color: #FFF8EA;
	border-radius: 6px;
}

.recruitOsusume__ttl h3 {
	font-size: 1.8rem;
	line-height: 1.4;
	letter-spacing: 0.13em;
	font-weight: bold;
	color: #192853;
	font-feature-settings: normal;
	white-space: nowrap;
	word-break: keep-all;
	writing-mode: vertical-rl;
	padding: 5.4rem 0 1.2rem;
	border: 1px solid #A18D45;
	display: flex;
	align-items: center;
	border-radius: 4px;
	width: 100%;
}

/* POINT 01 ラベル(旧 point_01.png のテキスト版) */
.recruitOsusume__ttl .label {
	font-size: 1.3rem;
	letter-spacing: 0.1em;
	font-weight: bold;
	font-family: "Cormorant Garamond", serif;
	text-align: center;
	color: #FFF8EA;
	background-color: #A18D45;
	padding: 0.5rem 1.2rem;
	border-radius: 2rem;
	white-space: nowrap;
	position: absolute;
	top: 1.4rem;
	left: 50%;
	transform: translateX(-50%);
}

.recruitOsusume__desc {
	font-size: 1.4rem;
	line-height: 2;
	font-weight: bold;
	color: #fff;
}

.recruitOsusume__h4 {
	margin: 5rem auto 2rem;
}

.recruitOsusume__h4+.recruitOsusume__desc {
	text-align: center;
}

/* 制服写真グリッド */
.recruitOsusume__costume {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	margin-top: 2.4rem;
}

.recruitOsusume__costume>li {
	width: calc((100% - 1.5rem) / 2);
}

.recruitOsusume__costume a {
	display: block;
	cursor: pointer;
}

.recruitOsusume__costume img {
	padding: 0.4rem;
	background-color: #fff;
	border: 1px solid #DDC8A1;
	box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.25);
}

/* 待遇一覧ボックス */
.recruitOsusume__goods {
	background-color: #FFF8EA;
	border: 5px solid #A18D45;
	padding: 3.4rem 3rem;
	margin-top: 4rem;
}

.recruitOsusume__goods .recruitOsusume__h4 {
	margin: 0 auto 2rem;
}

@media screen and (min-width: 772px) {}

/* --- 働きやすいポイント --- */
.recruitEasy {
	padding: 6.2rem 0 7rem;
}

.recruitEasy__detail>div {
	background-color: #FFF8EA;
	border: 5px solid #A18D45;
	padding: 3.2rem 2.8rem;
}

.recruitEasy__detail>div+div {
	margin-top: 3.2rem;
}

.recruitEasy__detail .ttl-waku {
	width: 100%;
	margin-bottom: 2rem;
}

.recruitEasy__detail p {
	font-size: 1.4rem;
	line-height: 2;
	font-weight: bold;
}

.recruitEasy__shift {
	display: flex;
	gap: 1rem;
}

.recruitEasy__shift li {
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
	width: calc((100% - 1rem) / 2);
	min-height: 7.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
	border: 1px solid #A18D45;
	margin-top: 1.8rem;
}

@media screen and (min-width: 772px) {}

/* --- しっかり評価します --- */
.recruitAssessment {
	padding: 6.4rem 0;
	overflow: hidden;
}

.recruitAssessment .ttl {
	margin-bottom: 4.2rem;
}

.recruitAssessment__list {
	display: flex;
	flex-direction: column;
	gap: 3.2rem;
}

.recruitAssessment__list li {
	position: relative;
	padding: 1rem;
}

.recruitAssessment__inner {
	background-color: #FFF8EA;
	border: 1px solid #A18D45;
	padding: 2.8rem 2rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	z-index: 1;
}

.recruitAssessment__ttl {
	font-size: 2rem;
	line-height: 1.5;
	letter-spacing: 0.1em;
	font-weight: bold;
	text-align: center;
	color: #A18D45;
	padding-bottom: 2.2rem;
	position: relative;
	margin-bottom: 2.4rem;
}

.recruitAssessment__ttl::after {
	content: "";
	width: 21.3rem;
	height: 1.6rem;
	background-image: url(../img/about/detail_border.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.recruitAssessment__desc {
	font-size: 1.4rem;
	line-height: 2;
	font-weight: bold;
	text-align: center;
}

.recruitAssessment__desc .fs {
	font-size: 1.2rem;
	display: block;
}

@media screen and (min-width: 772px) {}

/* --- 入店の流れ --- */
.recruitFlow {
	padding: 6.4rem 0;
}

.recruitFlow__detail>div {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.recruitFlow__detail>div+div {
	margin-top: 3.6rem;
}

.recruitFlow__detail dt {
	margin-bottom: -2.5rem;
	position: relative;
	z-index: 2;
}

.recruitFlow__detail dt .ttl-waku {
	margin-bottom: 0;
}

.recruitFlow__detail dd {
	width: 100%;
	padding: 4rem 2rem 2.8rem;
	background-color: #FFF8EA;
	border: 1px solid #A18D45;
	position: relative;
}

/* 次ステップへの矢印(旧 flow_bg.png の CSS 版) */
.recruitFlow__detail dd::after {
	content: "";
	width: 0;
	height: 0;
	border-left: 1.8rem solid transparent;
	border-right: 1.8rem solid transparent;
	border-top: 1.6rem solid #A18D45;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 100%);
}

.recruitFlow__detail>div:last-of-type dd::after {
	display: none;
}

.recruitFlow__detail p {
	font-size: 1.4rem;
	line-height: 2;
	font-weight: bold;
	text-align: center;
}

@media screen and (min-width: 772px) {}

/* --- 募集要項 --- */
.recruitReq {
	padding: 6.4rem 0;
}

.recruitReq__detail {
	background-color: #FFF8EA;
	padding: 1rem 1rem 2.4rem;
	border: 5px solid #A18D45;
}

.recruitReq__detail .ttl-waku {
	width: 100%;
}

.recruitReq__detail>div+div {
	margin-top: 2.4rem;
}

.recruitReq__detail p {
	font-size: 1.4rem;
	line-height: 2;
	font-weight: bold;
	margin: 0 1.2rem;
}

.recruitReq__detail p.fs {
	font-size: 1.6rem;
	line-height: 1.3;
	font-weight: bold;
	text-align: center;
	margin-bottom: 1.6rem;
}

@media screen and (min-width: 772px) {}

/* --- よくある質問 --- */
.recruitQa {
	padding: 6.4rem 0 8rem;
}

.recruitQa .ttl {
	margin-bottom: 4.2rem;
}

.recruitQa__detail {
	background-color: #FFF8EA;
	border: 5px solid #A18D45;
	padding: 4.5rem 3.2rem;
	margin-bottom: 3.2rem;
}

.recruitQa__detail dt {
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: 0.05em;
	font-weight: bold;
	color: #192853;
	display: flex;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.recruitQa__detail dt::before {
	content: "Q";
	font-size: 3rem;
	line-height: 1;
	font-weight: bold;
	flex-shrink: 0;
	font-family: "Cormorant Garamond", serif;
	color: #A18D45;
	height: 2.8rem;
	margin-top: -0.4rem;
}

.recruitQa__detail dd {
	font-size: 1.4rem;
	line-height: 2;
	font-weight: bold;
}

.recruitQa__detail .hr {
	margin: 1.5rem 0 1.8rem;
	background-color: #A18D45;
	opacity: 0.5;
}

@media screen and (min-width: 772px) {}
