#container{width:100%;}

/* メインビジュアル（共通。背景画像のみページごとに指定） */
#container .wrapper{
	position:relative;
	width:100%;
	max-width:1094px;
	height:300px; /* PC版 */
	margin:0 auto;
	background-color:#000;
	background-size:cover;
	background-position:center;
}

@media (max-width:959px) {
	#container .wrapper{
		height:200px; /* スマホ版 */
	}
}

/* ページごとの背景画像 */
#contact #container .wrapper{
	background-image:url(/images/recruit/mv_recruit02.jpg); /*recruitと同じに*/
}

#recruit #container .wrapper{
	background-image:url(/images/recruit/mv_recruit02.jpg);
}

#container .wrapper header.recruit{
	height:100%;
}

/* 左上：ページの説明／右上：簡易リンク */
#container .wrapper .upper{
	position:absolute;
	top:0;
	left:0;
	box-sizing:border-box;
	width:100%;
}

#container .wrapper .upper .upper_bar{
	display:flex;
	justify-content:flex-end;
	align-items:center;
	width:100%;
	padding:8px 16px;
	background-color: rgba(30, 11, 15, 0.4);
}

/* 右上：簡易リンク（PC） */
#container .wrapper .upper_pcmenu ul{
	display:flex;
	color:#fff;
	letter-spacing:0.2em;
	font-size:clamp(0.9rem, 0.7rem + 0.5vw, 1.2rem);
}

#container .wrapper .upper_pcmenu li:not(:last-child)::after{
	content:"｜";
	margin:0 0.4em;
	color:#bbb;
}

#container .wrapper .upper_pcmenu a:link,
#container .wrapper .upper_pcmenu a:visited{
	color:#fff;
	text-decoration:none;
}

#container .wrapper .upper_pcmenu a:hover{
	text-decoration:underline;
}

/* 右上：簡易リンク（スマホ／ハンバーガーメニュー） */
#container .wrapper .upper_spmenu{
	display:none;
}

#container .wrapper .upper_drawer_open{
	position:fixed;
	top:10px;
	right:10px;
	z-index:100;
	cursor:pointer;
	width:40px;
	height:40px;
	display:flex;
	justify-content:center;
	align-items:center;
	background-color:rgb(0 0 0 / 0.8);
	border-radius:10px;
}

#container .wrapper .upper_drawer_open span,
#container .wrapper .upper_drawer_open span::before,
#container .wrapper .upper_drawer_open span::after{
	content:'';
	display:block;
	width:25px;
	height:3px;
	background-color:#fff;
	position:absolute;
	transition:transform 0.3s;
}

#container .wrapper .upper_drawer_open span::before{ transform:translateY(-8px); }
#container .wrapper .upper_drawer_open span::after{ transform:translateY(8px); }

#container .wrapper .upper_drawer_open.is-open span{
	background-color:transparent;
}

#container .wrapper .upper_drawer_open.is-open span::before{
	transform:rotate(45deg);
}

#container .wrapper .upper_drawer_open.is-open span::after{
	transform:rotate(-45deg);
}

#container .wrapper .upper_nav_content{
	position:fixed;
	top:0;
	left:100%;
	width:100%;
	height:100%;
	color:#fff;
	background-color:rgb(0 0 0 / 0.88);
	z-index:99;
	transition:left 0.3s;
}

#container .wrapper .upper_nav_content.is-open{
	left:0;
}

#container .wrapper .upper_nav_list{
	list-style:none;
	padding:0;
	margin-top:60px;
	text-align:center;
}

#container .wrapper .upper_nav_item{
	margin:20px 0;
}

#container .wrapper .upper_nav_item a{
	text-decoration:none;
	color:#fff;
	font-size:1.2rem;
}

@media (max-width:959px) {
	#container .wrapper .upper .upper_bar{
		display:none;
	}

	#container .wrapper .upper_spmenu{
		display:block;
	}
}

/* パンくずリスト */
#container #pankuzu{
	width:100%;
	background:#fff;
	padding:10px;
}

#container #pankuzu ol{
	width:100%;
	max-width:1095px;
	margin:0 auto;
	text-align:left;
	line-height: 1;
}

#container #pankuzu ol li{
	display:inline-block;
	letter-spacing: 0.2em;
	font-size:clamp(0.9rem, 0.7rem + 0.5vw, 1.2rem);
}

/* コンテンツ */
#container #sec_contents{
	width:100%;
	background:url(/images/top/bg_concept.gif) repeat;
}

#container #sec_contents .inner{
	width:100%;
	max-width:1095px;
	margin:0 auto;
	padding:100px 20px;
	box-sizing:border-box;
}

/* フォーム完了メッセージ */
#container #sec_contents .inner .formindex{
	text-align:center;
}

#container #sec_contents .inner .formindex .recruit_ttl{
	font-size:clamp(1.4rem, 1.2rem + 0.5vw, 1.6rem);
	font-weight:600;
}

#container #sec_contents .inner .formindex .recruit_txt{
	margin-top:1em;
	font-size:clamp(1.2rem, 1rem + 0.3vw, 1.4rem);
	line-height:1.8;
}

@media (max-width:959px) {
	#container #sec_contents .inner{
		padding:40px 20px;
	}

	#container #sec_contents .inner .formindex .recruit_ttl{
		margin-top:1em;
	}

	#container #sec_contents .inner .formindex .recruit_txt{
		margin-top:0;
	}
}

#container #sec_contents .inner .btn_totop{
	margin-top:40px;
	text-align:center;
}

#container #sec_contents .inner .btn_totop a:link,
#container #sec_contents .inner .btn_totop a:visited{
	display:inline-block;
	padding:1.4rem 3rem;
	background:#422e1d;
	color:#fff;
	font-size:1.4rem;
	border:1px solid #422e1d;
	border-radius:5px;
	text-decoration:none;
	transition:background 0.2s ease;
}

#container #sec_contents .inner .btn_totop a:hover{
	background:#7e5736;
}

/* フッターリンク */
#footerlink{
	width:100%;
	padding:30px 20px;
	background:#1a0c08;
	text-align:center;
	box-sizing:border-box;
}

#footerlink .ftlinkarea{
	max-width:810px;
	margin:0 auto;
	font-size:1.2rem;
}

#footerlink .ftlinkarea .ftlink-group{
	display:flex;
	flex-wrap:wrap;
	align-items:baseline;
	column-gap:0.5em;
	color:#c9bd8f;
	letter-spacing:0.2em;
	padding-bottom:8px;
}

#footerlink .ftlinkarea .ftlink-group:last-child{
	padding-bottom:0;
}

#footerlink .ftlinkarea .ftlink-group h3{
	font-size:1em;
	font-weight:normal;
	white-space:nowrap;
}

#footerlink .ftlinkarea .ftlink-group p{
	color:#c9bd8f;
}

#footerlink .ftlinkarea .ftlink-group a:link,
#footerlink .ftlinkarea .ftlink-group a:visited{
	color:#c9bd8f;
	text-decoration:none;
}

#footerlink .ftlinkarea .ftlink-group a:hover{
	color:#eee;
	text-decoration:underline;
}

@media (max-width:959px) {
	#footerlink .ftlinkarea .ftlink-group{
		flex-direction:column;
		align-items:center;
		row-gap:4px;
	}
}

/* フッター */
#container footer{
	width:100%;
	padding:35px 20px 10px;
	background:#000;
	border-top:1px solid #2a1f1c;
	box-sizing:border-box;
}

#container footer .ft_inner{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	column-gap:30px;
	row-gap:20px;
	max-width:1000px;
	margin:0 auto;
}

#container footer .ft_logo{
	flex-shrink:0;
}

#container footer .ft_shopinfo{
	flex:0 1 auto;
	border-left:1px dotted #c9bd8f;
	padding:2px 0 2px 30px;
	font-size:1.2rem;
	letter-spacing:0.2em;
	color:#fff;
}

#container footer .ft_shopinfo dt{
	margin-bottom:10px;
	color:#c9bd8f;
}

#container footer .ft_shopinfo ul{
	display:flex;
	flex-direction:column;
	row-gap:6px;
}

#container footer .ft_shopinfo .note{
	font-size:0.83em;
}

#container footer .ft_shopinfo .yel{
	color:#ffd700;
}

#container footer .ft_card{
	flex-shrink:0;
	width:171px;
	height:auto;
}

#container footer small{
	display:block;
	margin-top:20px;
	text-align:center;
	color:#c9bd8f;
	font-size:1.1rem;
}

@media (max-width:959px) {
	#container footer .ft_inner{
		flex-direction:column;
		text-align:center;
	}
	#container footer .ft_shopinfo{
		border-left:none;
		padding-left:0;
	}
	#container footer .ft_shopinfo ul{
		align-items:center;
	}
}

/* 応募フォーム */
#container #sec_contents .inner .formcont{
	padding:50px;
	background-color:#fff;
	box-sizing:border-box;
}

#container #sec_contents .inner .formcont .contact-form{
	max-width:700px;
	margin:0 auto;
}

#container #sec_contents .inner .formcont .form{
	margin-top:40px;
}

#container #sec_contents .inner .formcont .form-row{
	display:flex;
	align-items:flex-start;
	gap:20px;
	padding:20px 0;
	border-top:1px solid #e5e0d5;
}

#container #sec_contents .inner .formcont .form-row:last-child{
	border-bottom:1px solid #e5e0d5;
}

#container #sec_contents .inner .formcont .form-label{
	flex:0 0 160px;
	padding-top:0.6em;
	font-size:1.4rem;
	font-weight:600;
	letter-spacing:0.05em;
}

#container #sec_contents .inner .formcont .form-field{
	flex:1 1 auto;
	min-width:0;
	font-size:1.4rem;
	line-height:1.6;
}

#container #sec_contents .inner .formcont .form-field input[type="text"],
#container #sec_contents .inner .formcont .form-field select,
#container #sec_contents .inner .formcont .form-field textarea{
	box-sizing:border-box;
	padding:0.8em 1em;
	border:1px solid #ccc;
	border-radius:5px;
	font-size:1.4rem;
	font-family:inherit;
	background-color:#fff;
	transition:border-color 0.2s ease;
}

#container #sec_contents .inner .formcont .form-field input[type="text"]:focus,
#container #sec_contents .inner .formcont .form-field select:focus,
#container #sec_contents .inner .formcont .form-field textarea:focus{
	border-color:#422e1d;
	outline:none;
}

#container #sec_contents .inner .formcont .form-field > input[type="text"]{
	width:100%;
	max-width:320px;
}

#container #sec_contents .inner .formcont .form-field > textarea{
	width:100%;
	max-width:100%;
}

#container #sec_contents .inner .formcont .form-field > p{
	margin:0.8em 0 0.6em;
	font-size:1.2rem;
	color:#666;
}

#container #sec_contents .inner .formcont .visually-hidden{
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0;
}

#container #sec_contents .inner .formcont .input-pair{
	display:flex;
	gap:12px;
}

#container #sec_contents .inner .formcont .input-pair input{
	flex:1 1 0;
	min-width:0;
}

#container #sec_contents .inner .formcont .radio-option{
	display:inline-flex;
	align-items:center;
	margin-right:1.5em;
	cursor:pointer;
}

#container #sec_contents .inner .formcont .radio-option input{
	margin-right:0.5em;
}

#container #sec_contents .inner .formcont .date-group{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:0.4em;
}

#container #sec_contents .inner .formcont .date-group input{
	width:80px;
	text-align:center;
}

#container #sec_contents .inner .formcont .address-field .address-line-label{
	margin-top:0.8em;
	font-size:1.2rem;
	color:#666;
}

#container #sec_contents .inner .formcont .address-field .address-line-label:first-child{
	margin-top:0;
}

#container #sec_contents .inner .formcont .address-field .address-line{
	margin-top:0.4em;
}

#container #sec_contents .inner .formcont .address-field select,
#container #sec_contents .inner .formcont .address-field input[type="text"]{
	width:100%;
	max-width:320px;
}

#container #sec_contents .inner .formcont .btn_recruit{
	margin-top:40px;
	text-align:center;
}

#container #sec_contents .inner .formcont .btn_recruit input[type="submit"]{
	display:inline-block;
	padding:1.4rem 4rem;
	background:#422e1d;
	color:#fff;
	font-size:1.4rem;
	border:1px solid #422e1d;
	border-radius:5px;
	cursor:pointer;
	transition:background 0.2s ease;
}

#container #sec_contents .inner .formcont .btn_recruit input[type="submit"]:hover{
	background:#7e5736;
}

#container #sec_contents .inner .formcont .add{
	margin-top:40px;
	padding:20px;
	background:#f7f5ef;
	border-radius:5px;
	font-size:1.2rem;
	line-height:1.8;
}

#container #sec_contents .inner .formcont .add .ttl{
	display:block;
	margin-bottom:0.6em;
	font-weight:600;
}

#container #sec_contents .inner .formcont .add ol{
	padding-left:1.4em;
	list-style:decimal;
}

#container #sec_contents .inner .formcont .powered{
	margin-top:20px;
	text-align:center;
	font-size:1.1rem;
}

#container #sec_contents .inner .formcont .powered a:link,
#container #sec_contents .inner .formcont .powered a:visited{
	color:#999;
	text-decoration:underline;
}

@media (max-width:959px) {
	#container #sec_contents .inner .formcont{
		padding:20px;
	}

	#container #sec_contents .inner .formcont .form-row{
		flex-direction:column;
		align-items:stretch;
		gap:10px;
	}

	#container #sec_contents .inner .formcont .form-label{
		flex-basis:auto;
		padding-top:0;
	}

	#container #sec_contents .inner .formcont .form-field > input[type="text"],
	#container #sec_contents .inner .formcont .address-field select,
	#container #sec_contents .inner .formcont .address-field input[type="text"]{
		max-width:none;
	}

	#container #sec_contents .inner .formcont .input-pair{
		flex-direction:column;
		gap:10px;
	}

	#container #sec_contents .inner .formcont .input-pair input{
		max-width:none;
	}
}

