@charset "utf-8";

/* CSS Document */
* {
	padding: 0;
	margin: 0;
	font-family: 'Noto Sans JP', sans-serif, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-weight: 500;
	box-sizing: border-box;
	outline: 1px;
	word-wrap: break-word;
	word-break: break-all;
	font-feature-settings: "palt";
}
a {
	text-decoration: none;
	color: #2b7bb9;
}
a.external_link {
	display: inline-flex;
	align-items: center;
}
a.external_link i {
	margin-left: 5px;
}



/* font */
@font-face {
  font-family: 'APJ';
  font-style: normal;
  font-weight: 400;
  src: url(/assets/font/APJapanesefontT.ttf) format('truetype');
}
.APJ {
	font-family: 'APJ';
	letter-spacing: -2px;
	font-size: 130%;
}
@font-face {
	font-weight:  400;
	font-style: normal;
	font-family: 'Noto Sans JP';
	src: url(/assets/font/NotoSansJP-Regular.woff2) format('woff2');
	font-display: swap;
}
/* @font-face {
	font-weight:  500;
	font-style: normal;
	font-family: 'Noto Sans JP';
	src: url(/assets/font/NotoSansJP-Medium.woff2) format('woff2');
	font-display: swap;
}
@font-face {
	font-weight: 700;
	font-style: normal;
	font-family: 'Noto Sans JP';
	src: url(/assets/font/NotoSansJP-Bold.woff2) format('woff2');
	font-display: swap;
} */

/* style */
body {
	color: #333333;
	font-size: 16px;
}
@media screen and (min-width: 760px) {
	html,
	body {
		min-width: 1240px;
	}
}
body.open_modal,
body.open_sp_nemu {
	overflow: hidden;
}
ul {
	list-style: none;
}
.mw {
	min-width: 1240px;
	width: 1240px;
	padding: 0 20px;
	margin: auto;
	position: relative;
}
main {
	width: 100%
}
@media screen and (max-width: 760px) {
	main {
		overflow: hidden;
	}
	.mw {
		min-width: 100%;
		width: 100%;
		padding: 0 0px;
	}
}
.one_line {
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
	display: block;
	max-width: 100%;
}

/* slick - CLS対策 */
.sp_caferun_ba_pac_slide > li:not(:first-child){
	display: none !important;
}

/* -------------------------------------------- */
/* PC-SP 表示切替 */
/* -------------------------------------------- */
@media screen and (min-width: 761px) {
	/* PC表示の時 */
	.sp { display: none !important; }
}
@media screen and (max-width: 760px) {
	/* スマホ表示の時 */
	.pc { display: none !important; }
	body {
		font-size: 3.4vw;
	}
}


:root {
	/* 汎用サイズ */
	--top_font_m: 16px;
	--top_font_s: 14px;
	--brown_box_shadow:3px 3px 0px #e2d2cc;
	--basic_radius:5px;
	--shop_sp_lead_font:6vw;
	--shop_sp_basic_margin:11vw;

	/* リニューアル基本カラー */
	--color_headline_text:#6a5656;
	--color_shop_name:#9b6565;
	--color_man:#ffaaaa;
	--color_woman:#5486d1;
	--color_btn_bg:#ffe061;
	--color_attention:#ff7949;
	--color_btn_white_hover:#fff7d4;
}
@media screen and (max-width: 760px) {
	:root {
		--top_font_m: 3.6vw;
		--top_font_s: 3vw;
		--basic_radius:2vw;
	}
}

/*色々なページで利用する黄色ボタンの基本デザイン*/
.primary_btn{
	background-color: var(--color_btn_bg);
	color: #514343;
	border-radius: var(--basic_radius);
	line-height: 1;
	display: block;
	text-align: center;
	border: solid 1px #514343;
	font-weight: bold;
}

/*shop_search、shop詳細で利用*/
.shop_tags {
	display: flex;
	margin:0;
}
.shop_tags li {
	margin-right: 10px;
	border-radius: 10px;
	background-color: #69af59;
	color: #fff;
	font-size: 12px;
	line-height: 1;
	margin-top: 5px;
	padding: 5px 10px;
}
@media screen and (max-width: 760px) {
	.primary_btn{
		width: 100%;
		font-size: 4.6vw;
		height: auto;
		padding: 4vw 0;
	}
	.shop_tags {
		margin-bottom: 0vw;
		margin-top: 2vw;
		flex-direction: column;
		clear: both;
		flex-direction: row;
	}
	.shop_tags li {
		margin-top: 0;
		margin-bottom: 0;
		text-align: center;
		font-size: 3.1vw;
		margin-right: 1vw;
		border-radius: 2vw;
		padding: 1vw 1.6vw;

	}
	.shop_tags li:last-child {
		margin: 0;
	}
}


/* -------------------------------------------- */
/* 共通の見出しデザイン */
/* -------------------------------------------- */
/* 見出しデザイン１*/
.lower_head_1 {
	font-size: 24px;
	line-height: 1.4;
	font-weight: bold;
	margin-bottom: 20px;
	display: flex;
}
.lower_head_1::before {
	content: '';
	display: block;
	width: 5px;
	background-color: #ffcc00;
	margin-right: 7px;
}
@media screen and (max-width: 760px) {
	.lower_head_1 {
		font-size: 5vw;
		margin-bottom: 5vw;
	}
	.lower_head_1::before {
		width: 1.2vw;
		margin-right: 1.2vw;
	}
}
.head_line {
	position: relative;
	background-color: #c2a67e;
	color: #FFFFFF;
	text-align: center;
	padding: 20px 0;
	font-weight: bold;
	margin-bottom: 40px;
}
.head_line::before, .head_line::after {
	content: '';
	position: absolute;
	left: 0;
	background-color: #ffeac1;
	border-bottom: solid 3px #FFFFFF;
	border-top: solid 3px #FFFFFF;
	display: block;
	height: 4px;
	width: 100%;
}
.head_line::before {
	top: 0;
}
.head_line::after {
	bottom: 0;
}
@media screen and (max-width: 760px) {
	.head_line {
		padding: 4vw;
		margin-bottom: 2vw;
		font-size: 6vw;
	}
	.head_line::before, .head_line::after {
		border-bottom: solid 1px #514343;
		border-top: solid 1px #514343;
		background-color: #514343;
		display: block;
		height: 2px;
	}
}


/* -------------------------------------------- */
/* 共通レイアウト */
/* -------------------------------------------- */
/* 共通レイアウトNo1 */
.global_layout_1 {
	display: flex;
	justify-content: space-between;
}
.global_layout_1 > .left {
	width: 72%;
}
.global_layout_1 > .right {
	width: 25%;
}
.global_layout_1 > .left,
.global_layout_1 > .right {
	padding-bottom: 120px;
}


/* -------------------------------------------- */
/* 新ヘッダー */
/* -------------------------------------------- */

body.top_page .header_area_info_wrap {
	display: none;
}


body.lower_page header {
	border-top: solid 6px #635252;
}
header.over_hidden {
	overflow: hidden;
}
.header_line {
	background-color: #766060;
	border-bottom: solid 6px #635252;
	height: 70px;
}
.header_line img {
	display: block;
}
.header_line_body {
	display: flex;
	align-items: center;
}
.shop_count {
	position: relative;
	top: 4px;
	line-height: 1;
	font-size: 56px;
	font-weight: bold;
	color: #FFFFFF;
	text-shadow: 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b, 0 0 4px #3e2b2b;
	flex-shrink: 0;
}
.shop_count_text {
	position: relative;
	flex-shrink: 0;
}
.headline_news_container {
	width: 615px;
	margin-left: auto;
}
.headline_news {
	margin-left: auto;
}
.headline_news a{
	overflow: hidden;
	display: flex;
	align-items: center;
	background-color: #FFFFFF;
	border-radius: 4px;
	width: 615px !important;
	height: 40px;
	line-height: 40px;
	padding: 0 30px 0 15px;
	color: #444444;
	position: relative;
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.headline_news a::after{
	position: absolute;
	right: 15px;
	font: normal normal bold 18px/1 FontAwesome;
	content: "\f105";
	margin: 0 4px;
	top: 50%;
	margin-top: -9px;
}
.headline_news button.slick-arrow{
	display: none !important;
}
.header_body {
	position: relative;
	border-top: solid 8px #514343;
	background-image: url("/assets/img/global/header/header_body_bg.webp");
	background-position: top center;
	background-repeat: repeat-x;
	height: 225px;
	overflow: hidden;
}
.header_body .mw {
	position: relative;
	height: 217px;
}
.header_body .character {
	position: absolute;
	left: -10px;
	resize: 1;
}
.header_body .character img {
	position: relative;
	z-index: 2;
}
.header_body .character::after {
	position: absolute;
	left: 147px;
	top: 0;
	content: '';
	display: block;
	background-position: top center;
	background-image: url("/assets/img/global/header/window.webp");
	width: 243px;
	height: 247px;
	z-index: 1;
}

.header_area_info_wrap{
	position: absolute;
	z-index: 2;
	display: flex;
	flex-direction: row;
	left: 288px;
	top: 8px;
	cursor: pointer;
}

.header_area_info_wrap .area_name{
	font-size: 14px;
	padding: 8px 10px;
	background-color: #fff;
	line-height: 1;
	border: 3px solid #bea581;
	font-weight: normal;

}
.header_area_info_wrap .area_name strong{
	font-size: 18px;
	margin-right: 3px;
	color:#bea581;
	font-weight: normal;

}

.header_area_info_wrap ._link_text{
	background-color: #bea581;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	cursor: pointer;
	padding: 10px 30px 10px 10px;
	font-weight: normal;

}

.header_area_info_wrap ._link_text::after{
	content: "";
	position: absolute;
	width: 15px;
	height: 15px;
	background-image: url("/assets/img/global/arrow_icon.webp");
	background-size: cover;
	right: 10px;
}

.header_area_info_wrap ._link_text span{
	color: #fff;
	font-size: 14px;
	border-bottom: 1px solid;
	line-height: 1.3;

}

.arrow_icon2 {
	font-size: 12px;
	display: flex;
	align-items: center;
	line-height: 1;
	flex-basis: 38px;
	position: relative;
}
.arrow_icon2:after {
	position: absolute;
	font-weight: 400;
	font-family: "FontAwesome";
	content: "\f054";
	font-size: 12px;
	font-style: normal;
	right: 0;
	top: 1px;
	color: #525252;
}


.header_logo {
	position: absolute;
	left: 120px;
	top: 70px;
	z-index: 3;
}
.header_search {
	position: absolute;
	right: 20px;
	bottom: 20px;
}
.header_search form{
	display: flex;
	align-items: center;
}
.header_search form img {
	display: block;
	margin: 0 10px;
}
.header_search select {
	height: 38px;
	width: 130px;
	border: none;
	border-radius: 6px;
	box-shadow: 0 0 4px #000000;
	box-shadow: inset 0px 1px 4px #b6b6b6;
	padding: 0 7px;
}
.search_btn {
	position: relative;
	margin-left: 20px;
	box-shadow: 0 2px 3px 0 rgb(0 0 0 / 28%);
	color: #FFFFFF;
	font-size: 16px;
	letter-spacing: 4px;
	height: 38px;
	border-radius: 6px;
	border: none;
	background: rgb(255,167,44);
	background: linear-gradient(180deg, rgba(255,167,44,1) 0%, rgba(255,107,0,1) 100%);
	padding: 0 20px 0 30px;
	display: flex;
	align-items: center;
}
.search_btn::after {
	font-size: 18px;
	content: '\f105';
	font-family: 'FontAwesome';
	margin-left: 5px;
}
.search_btn:hover {
	top: 2px;
	box-shadow: 0 0px 2px 0 rgb(0 0 0 / 28%);
}

.header_count_info{
	position: absolute;
	left: 290px;
	/* right: 340px; */
	bottom: 27px;
	font-size: 14px;
	font-weight: bold;
	color:#5a3e3e;
	letter-spacing: 2px;
	line-height: 1;

}
.header_count_info span{
	font-weight: bold;
}
.header_count_info strong{
	font-size: 22px;
	font-weight: bold;
	color:#5a3e3e;
	margin: 0 2px;
}

.header_count_info ._total_count{
	margin-left: 15px;
	letter-spacing: 1px;
}
.header_count_info ._total_count strong{
	font-size: 24px;
}





/* メインメニュー */

.header_nuv {
	margin-left: auto;
	display: block;
	width: 612px;
}
.top_page .header_nuv{
	width: 600px;
}

.header_nuv ul {
	display: flex;
}
.top_page .header_nuv ul{
	margin-left: 12px;
}
.header_nuv ul li {
	display: block;
	width: 145px;
	height: 130px;
	background-image: url(/assets/img/global/header/menu_bg.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: top center;
	margin-right: 12px;
}
.header_nuv ul li:last-child {
	background-image: none;
	margin-left: 10px;
}
.header_nuv ul li a {
	width: 100%;
	height: 100%;
	display: block;
}
.header_nuv ul li span.main_item {
	display: flex;
	flex-direction: column;
	color: #FFFFFF;
	font-size: 12px;
	justify-content: center;
	align-items: center;
}
.header_nuv ul li span.main_item span {
	font-weight: bold;
	line-height: 1.4;
}
.header_nuv ul li figure {
	display: flex;
	height: 59px;
	align-items: center;
	justify-content: center;
}

.header_nuv ul li .login {
	display: flex;
	align-items: flex-end;
	text-align: center;
	width: 80px;
	height: 80px;
	background-image: url(/assets/img/global/header/login.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: top center;
	margin: 10px 0 0 0;
}
.header_nuv ul li .login span {
	display: block;
	text-align: center;
	width: 100%;
	font-size: 12px;
	color: #FFFFFF;
	margin-bottom: 12px;
}

.admin_box{
	background: linear-gradient(90deg, #fff 0%, #fefbf4 50%, #fcf7e8 100%);
	border: 2px solid #ffe061;
	border-radius:10px;
	padding: 17px 12px 12px 12px;
	margin-top: 30px;
	width: 270px;
	height: 110px;
}
.top_page .admin_box{
	margin-top: 10px;
}
.admin_box a:hover{
	opacity: 0.8;
}

.admin_box ._title{
	color: #514343;
	font-size: 14px;
	text-align: center;
	line-height: 1;
	letter-spacing: 1px;
	font-weight: bold;
	display: block;
	white-space: nowrap;
}
.admin_box ._sub{
	color: #514343;
	font-size: 12px;
	display: block;
	margin-top: 12px;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
}
.admin_box ._sub span{
	font-weight: bold;
	color: var(--color_attention);
	letter-spacing: 1px;
	margin-right: 1px;
}

.admin_box div{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-top: 11px;
}
.admin_box ._regist{
	border-radius: var(--basic_radius);
	background-color: var(--color_attention);
	color: #fff;
	font-size: 14px;
	width: 148px;
	line-height: 1;
	padding:7px 0 9px 0;
	text-align: center;
}
.admin_box ._login{
	border-radius: var(--basic_radius);
	color: var(--color_attention);
	border: 2px solid var(--color_attention);;
	background-color: #fff;
	font-size: 14px;
	width: 86px;
	line-height: 1;
	padding:6px 0;
	text-align: center;
}


.job_search_btn {
	display: none;
}
.sp_main_nav .job_search_btn,
.lower_page .job_search_btn {
	display: flex;
	align-items: center;
}

.lower_page .job_search_btn::before{
	content: '';
	height: 37px;
	width: 1px;
	background-color: #dab20e;
	border-right: solid 1px #ffea97;
	margin: 0 20px;
}
.sp_main_nav .job_search_btn a,
.lower_page .job_search_btn a{
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #ffe061;
	color: #5a3e3e;
	border: solid 4px #FFFFFF;
	border-radius: 6px;
	box-shadow: 0 2px 3px 0 rgb(0 0 0 / 28%);
	padding: 0 15px;
	height: 38px;
	font-size: 16px;
	line-height: 1;
	font-weight:500px;
	position: relative;
}
.lower_page .job_search_btn a:hover {
	top: 2px;
	box-shadow: 0 0px 2px 0 rgb(0 0 0 / 28%);
}

.header_menu_wrap_pc{
	display: flex;
	align-items: center;
	position: relative;
	z-index: 2;
	background-color: #5a3e3e;
}

.header_menu_wrap_pc .inner{
	display: flex;
	align-items: center;
	margin: auto;
	width: 1240px;
	padding: 0 20px;
	justify-content: space-between;
}
.header_menu_wrap_pc ul {
	display: flex;
	align-items: center;
	width: 100%;
	line-height: 1;
	padding: 15px 0;
}
.header_menu_wrap_pc ul li {
	padding: 0;
	flex-grow: 1;
	margin: 0 10px 0 0;
}
.header_menu_wrap_pc ul li.user_view {
	margin-left: 15px;
	width: 300px;
}
.header_menu_wrap_pc ul li:last-child {
	margin-left: 15px;
	width: 120px;
    margin: 0;
}
.header_menu_wrap_pc ul li a.member_mypage,
.header_menu_wrap_pc ul li a.member_login {
	background-color: #FFFFFF;
	color: #5a3e3e;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 46px;
	padding: 0;
}
.header_menu_wrap_pc ul li a.member_login::before{
	content: '';
    display: block;
    width: 24px;
    height: 24px;
    background-image: url(/assets/img/global/icon/login_nav.svg);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    margin: 0 8px 0 0;
}
.header_menu_wrap_pc ul li a.member_mypage::before{
	content: '';
    display: block;
    width: 24px;
    height: 24px;
    background-image: url(/assets/img/global/icon/mypage_nav.svg);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    margin: 0 8px 0 0;
}
.header_menu_wrap_pc ul li a {
	font-size: 16px;
	font-weight: bold;
	border-radius: 5px;
	width: 100%;
	height: 100%;
	margin: auto;
	padding: 15px 0;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}
.header_menu_wrap_pc ul li a:hover{
	opacity: 0.8;
}

.header_menu_wrap_pc ul li .users_view_link a:hover {
	opacity: 1;
	background-color: var(--color_btn_white_hover);
}

.header_menu_wrap_pc ul li a.member_login:hover {
	opacity: 1;
	background-color: var(--color_btn_white_hover);
}

.header_menu_wrap_pc ul .active a {
	background-color: #fff;
	color: #5a3e3e;
	display: flex;
	align-items: center;
}
.users_view_link {
	display: flex;
	border-radius: 6px;
	overflow: hidden;
}

.header_menu_wrap_pc ul li .users_view_link a {
	color: #5a3e3e;
	background-color: #FFFFFF;
	border-radius: 0;
	display: flex;
	align-items: center;
	padding: 10px 10px;
	font-size: 16px;
	height: 46px;
}

.header_menu_wrap_pc ul li .users_view_link a:first-child {
	margin: 0 2px 0 0;
}

.header_menu_wrap_pc ul li .users_view_link a.keep::before {
	content: '';
	display: block;
	height: 18px;
	width: 18px;
	min-width: 18px;
	margin: 0 4px 0 0;
	background-image: url(/assets/img/global/icon/star_active.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

.header_menu_wrap_pc ul li .users_view_link a.history::before {
	content: '';
	display: block;
	height: 18px;
	width: 18px;
	min-width: 18px;
	margin: 0 4px 0 0;
	background-image: url(/assets/img/global/icon/history.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

.header_menu_wrap_pc ul li .users_view_link a span {
	background-color: #5a3e3e;
	height: 26px;
	width: 26px;
	min-width: 20px;
	color: #FFFFFF;
	border-radius: 50px;
	font-size: 14px;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	margin: 0 0 0 auto;
}



@media screen and (min-width: 761px) {
	body.lower_page header {
		border-top: solid 3px #635252;
	}
	body.lower_page header .header_body .character img {
		width: 282px;
	}
	body.lower_page header .header_logo {
		left: 15px;
		top: 38px;
	}
	body.lower_page header .header_logo img {
		width:200px;
		height: auto;
	}
	body.lower_page header .header_body .character::after {
		left: 49px;
		top: 0;
		width: 147px;
		height: 159px;
		background-size: contain;
		background-repeat: no-repeat;
	}
	body.lower_page header .header_nuv ul {
		position: relative;
		top: -60px;
		margin-left: 26px;
	}
	body.lower_page header .header_body {
		height: 157px;
		background-size: 26px;
		background-color: #ffcc00;
	}
	body.lower_page header .header_body .mw {
		height: 158px;
	}
	body.lower_page header .header_nuv ul li:last-child {
		background-image: none;
		margin-left: 6px;
		top: 49px;
		position: relative;
	}
	body.top_page header .header_nuv ul li:last-child{
		margin-left:5px;

	}
}

@media screen and (max-width: 760px) {
	.header_menu_wrap_pc{
		display: none;
	}

	body.fixed {
		width: 100%;
		height: 100%;
		position: fixed;
	}

	body.top_page .header_area_info_wrap {
		display: block;
	}

	.header_area_info_wrap{
		margin-left:3vw;
		border: 2px solid #bea581;
		width: 23vw;
		height: 12vw;
	}

	.header_area_info_wrap .area_name{
		font-size: 2.6vw;
		width: auto;
		height: 50%;
		display: flex;
		align-items: flex-end;
		justify-content: center;
		padding: 1vw;
		border: none;
	}

	.header_area_info_wrap .area_name strong{
		font-size: 3.5vw;
		line-height: 1;
		margin-right: 1vw;
	}


	.header_area_info_wrap ._link_text{
		margin: 0;
		padding:0;
		height: 50%;
	}

	.header_area_info_wrap ._link_text span{
		font-size: 2.8vw;
		border-bottom: none;
	}


	.header_area_info_wrap ._link_text:after{
		content:initial;
	}

	.shop_link {
		padding: 0 4vw;
	}
	.header_line_body figure {
		width: 14vw;
		flex-shrink: 0;
	}
	.header_line_body figure img {
		width: 100%;
	}
	.shop_count {
		position: relative;
		top: 0;
		font-size: 9vw;
		text-shadow: 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b, 0 0 2px #3e2b2b;
	}
	.headline_news {
		height: 8vw;
	}
	.headline_news .slick-list {
		height: 8vw !important;
		padding: 0;
	}
	.headline_news a {
		border-radius: 4px;
		width: 50vw !important;
		height: 8vw !important;
		line-height: 4vw;
		padding: 0 2vw;
		font-size: 2.4vw;
		display: -webkit-box;
		overflow: hidden;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
	}
	header {
		overflow: hidden;
		display: flex;
		flex-direction: column-reverse;
	}
	body.lower_page header {
		border-top: none;
		margin-bottom: 0;
	}
	.header_body {
		border-top: none;
		border-bottom: none;
		background-color: #4d3838;
		height: auto;
		/* background-attachment: initial; */
		background-image: none;
	}
	.header_body .character::after {
		left: 12vw;
		top: 0;
		width: 27vw;
		height: 27vw;
		background-size: contain;
	}
	.header_body .character img {
		width: 100%;
	}
	.header_body .character {
		left: -1.2vw;
		width: 60vw;
		display: none;
	}
	.header_body .mw{
		height: 14vw;
		display: flex;
		justify-content: flex-start;
		align-items: center;
	}
	.header_logo {
		position: initial;
		width: 26vw;
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0 0 0 2vw;
	}
	.header_logo img {
		width: 100%;
		height: auto;
	}

	.header_area_info_wrap{
		flex-direction: column;
		position:initial;
	}
	.header_search {
		display: none;
	}
	.header_nuv {
		display: none;
	}
	.header_body {
		overflow: hidden;
	}
	.header_line {
		border-top: 2px solid #514343;
		border-bottom: solid 0px #635252;
		height: auto;
	}
	.shop_count_text {
		position: relative;
		margin-left: -1.2vw;
	}
	.header_line_body {
		padding: 1vw;
	}
	.headline_news a::after {
		right: 1vw;
		margin: 0;
		top: 50%;
		margin-top: -9px;
	}
	.sp_nav {
	    height: 100%;
	}
	.sp_nav ul {
		display: flex;
	}
	.head_btn_search {
		background-image: url(/assets/img/global/header/search.svg);
		background-repeat: no-repeat;
		background-size: contain;
		width: 18vw;
		min-width: 18vw;
		height: 18vw;
		margin: 1.5vw 2vw 0 0;
		cursor: pointer;
		/* display: flex; */
		display: none;
		align-items: flex-end;
		color: #FFF;
		font-size: 1.5vw;
		justify-content: center;
	}
	.head_btn_search span {
		margin: 0 0 2.6vw 0;
		font-size: 2.6vw;
	}
	.job_search_btn {
		padding: 0 4vw;
		margin-bottom: 5vw;
	}
	.sp_main_nav .job_search_btn,
	.lower_page .job_search_btn {
		display: flex;
		align-items: center;
	}
	.lower_page .job_search_btn::before{
		display: none;
	}
	.sp_main_nav .job_search_btn a,
	.lower_page .job_search_btn a{
		border: solid 2px #FFFFFF;
		border-radius: 8px;
		padding: 3vw 0;
		font-size: 4.5vw;
		box-shadow: 0 2px 2px 0 rgb(0 0 0 / 18%);
		width: 100%;
		height: 13vw;
		font-weight: bold;
	}

	/*new スマホメニューボタン*/
	.sp_nav .menu_btn_wrap {
		width: 14vw;
		height: 100%;
		margin-left: 0;
		z-index: 2;
		position: relative;
	}
	.sp_nav .menu_btn_wrap button {
		position: relative;
		border-radius: 0;
		width: 100%;
		height: 100%;
		background-color: #ffcd00;
		color: #5a3e3e;
		display: flex;
		flex-direction: column;
		border: none;
		justify-content: center;
		align-items: center;

	}
	.sp_nav .menu_btn_wrap button::before {
		content: '';
		display: block;
		width: 8vw;
		height: 7vw;
		background-size: contain;
		background-image: url(/assets/img/global/icon/menu_bar.svg);
		background-repeat: no-repeat;
		background-position: center center;
		margin: 0 0 0.5vw 0;
	}
	.sp_nav .menu_btn_wrap button .text {
		font-size: 2.4vw;
		line-height: 1;
		font-weight: bold;
	}
	.sp_nav .sp_menu_wrap .menu_btn_wrap {
		position: absolute;
		right: 4vw;
	}
	.sp_nav .sp_menu_wrap .menu_btn_wrap button {
		background-color: #fff;
		display: block;
	}
	.sp_nav .sp_menu_wrap .menu_btn_wrap .line {
		background-color: #bababa;
		left: initial;
		width: 9vw;
		height: 4px;
		transition: 1s;
	}


	/* スマホキープボタン */
	.keep_btn {
		margin: 0 0 0 auto;
		height: 100%;
	}
	.keep_btn a {
		min-width: 14vw;
		width: 14vw;
		height: 100%;
		background-color: #fffef3;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		line-height: 1;
		font-size: 2.4vw;
		font-weight: bold;
		color: #5a3e3e;
		position: relative;
	}
	.keep_btn a::before {
		content: '';
		display: block;
		width: 7vw;
		height: 7vw;
		background-size: contain;
		background-repeat: no-repeat;
		background-image: url(/assets/img/global/icon/star_active.svg);
		margin: 0 0 0.5vw 0;
	}
	.keep_btn a span {
		position: absolute;
		right: 0.5vw;
		top: 0.5vw;
		width: 5vw;
		height: 5vw;
		font-size: 2.5vw;
		background-color: #504242;
		border-radius: 50vw;
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: bold;
		color: #FFFFFF;
	}


	/* スマホログインボタン */
	.member_btn {
		width: 14vw;
		min-width: 14vw;
		height: 100%;
		font-size: 2.4vw;
	}
	.member_btn a {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		font-weight: bold;
		color: #FFFFFF;
		width: 100%;
		height: 100%;
		background-color: rgb(255 255 255 / 15%);
	}
	.member_btn a::before {
		content: '';
		display: block;
		width: 7vw;
		height: 7vw;
		background-image: url(/assets/img/global/icon/login.svg);
		background-position: center center;
		background-size: contain;
		background-repeat: no-repeat;
		margin: 0 0 0.5vw 0;
	}
	.member_btn a.login::before {
		background-image: url(/assets/img/global/icon/mypage.svg);
	}




}



/* -------------------------------------------- */
/* パンくずリスト */
/* -------------------------------------------- */
.breadcrumb {
	margin-bottom: 30px;
}
.breadcrumb ol{
	display: flex;
	align-items: center;
	list-style: none;
	font-size: 14px;
	padding: 10px 0;
}
.breadcrumb ol li a{
	color: #ffffff;
	text-decoration: none;
}
.breadcrumb ol li::after {
	font: normal normal normal 14px/1 FontAwesome;
	content: "\f105";
	margin: 0 4px;
}
.breadcrumb ol li:last-child::after {
	content: '';
	display: none;
}
.breadcrumb ol li a:hover {
	text-decoration: underline;
}
@media screen and (max-width: 760px) {
	.breadcrumb {
		overflow-y: hidden;
		overflow-x: auto;
		padding: 0 4vw;
	}
	.breadcrumb ol li,
	.breadcrumb ol li a{
		white-space: nowrap;
		display: flex;
		align-items: center;
	}
	.breadcrumb ol li::after {
		margin: 0 2.5vw;
	}
}




/* -------------------------------------------- */
/* フッターデザイン */
/* -------------------------------------------- */
footer {
	background-color: #664c4c;
	color: #FFFFFF;
}
.footer_contents {
	background-image: url("/assets/img/global/decoration/fence.webp");
	background-position: bottom center;
	background-repeat: repeat-x;
	padding-bottom: 80px;
}
.footer_head {
	border-bottom: solid 3px #DDDDDD;
	position: relative;
	top: -60px;
	margin-bottom: -30px;
	display: flex;
	align-items: flex-end;
}
.footer_main_nav {
	display: flex;
	padding-bottom: 20px;
	margin-left: auto;
	width: 890px;
}
.footer_main_nav li {
	flex-grow: 1;
	border-left: solid 2px #FFFFFF;
}
.footer_main_nav li:last-child {
	min-width: 250px;
}
.footer_main_nav li a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	color: #FFFFFF;
	padding: 15px 20px 15px 20px;
	line-height: 1;
	font-weight: bold;
	position: relative;
	text-align: center;
	font-size: 14px;
}
.footer_main_nav li a span {
	margin-top: 5px;
	font-weight: bold;
	display: block;
	z-index: 2;
}
.footer_main_nav li a::before {
	content: '';
	display: block;
	height: 90%;
	width: 90%;
	background-color: rgba(255,255,255,0.35);
	position: absolute;
	z-index: 0;
	border-radius: 6px;
	transform: scale(0, 0);
	transition: transform 300ms 0s ease;
}
.footer_main_nav li a:hover::before {
	transform: scale(1, 1);
}
.footer_logo {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 278px;
	text-align: center;
	padding-bottom: 15px;
}
.footer_logo a {
	color: #FFFFFF;
	font-weight: bold;
}
.footer_logo a img {
	display: block;
	margin-bottom: 5px;
}
.footer_body {
	display: flex;
}
.sister_site {
	border-right: solid 3px #dddddd;
	padding-right: 20px;
}
.sister_site img {
	display: block;
}
.sister_site dl dt {
	text-align: center;
	line-height: 1;
	margin-bottom: 10px;
}
.sub_contents_link {
	width: 890px;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -20px;
}
.sub_contents_link li {
	margin:0 20px 20px 0;
}
.sub_contents_link li:nth-of-type(4n){
	margin:0 0 20px 0;
}
.sub_contents_link a {
	color: #FFFFFF;
	font-size: 14px;
	border: solid 1px #FFFFFF;
	border-radius: 50px;
	padding: 4px 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 207px;
	transition: all 150ms 0s ease;
	text-align: center;
	position: relative;
}
.sub_contents_link a:hover {
	background-color: #593131;
}
.sub_contents_link a::after {
	content: '\f105';
	font-family: FontAwesome;
	margin-left: 8px;
	font-size: 120%;
	position: absolute;
	right: 12px;
}
.etc_link {
	padding: 0 0 0 20px;
}
.etc_link dl dt {
	line-height: 1;
	font-weight: bold;
	padding:  0 0 0 0px;
	margin-bottom: 20px;
	font-size: 24px;
}

.shop_admin {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 50px 0 10px 0;
}
.copyright {
	display: block;
	width: 100%;
	padding: 30px 0;
	background-color: #393030;
	text-align: center;
}

.footer_member_link {
	background-color: #776060;
	margin: 0 0 0 20px;
}
.footer_member_link dt {
	text-align: center;
	font-weight: bold;
	padding: 8px 0 11px 0;
	line-height: 1;
}
.footer_member_link dd {
	display: flex;
	justify-content: space-between;
	padding: 0 15px 15px 15px;
}
.footer_member_link dd a {
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 8px 0;
	width: 47%;
	background-color: #FFFFFF;
	color: #3e2b2b;
	border: solid 1px #7f5d5d;
}
.footer_member_link dd a:hover {
	opacity: 0.9;
}
.footer_member_link dd a.regist {
	background-color: #ff7949;
	color: #ffffff;
	border: solid 1px #ffffff;
}
.footer_member_link dd a::before {
	display: none;
}
.footer_member_link dd a.full_size {
	width: 100%;
}

@media screen and (max-width: 760px) {
	/* スマホ表示の時 */
	footer {
 		margin-top: -3vw;
	}
	.footer_contents {
		padding-bottom: 10vw;
		background-size: 5vw;
	}
	.footer_head {
		display: block;
		padding-top: 20vw;
		border: none;
	}
	.footer_logo {
		width: 33vw;
		padding-bottom: 0;
		position: absolute;
		top: 2vw;
		left: 4vw;
	}
	.footer_logo a {
		font-size: 2.2vw;
	}
	.footer_logo a img {
		margin-bottom: 0;
		width: 100%;
	}
	.sp_footer_title {
		line-height: 1;
		font-weight: bold;
		padding: 4vw 4vw;
		margin: 0 0 0 0;
		font-size: 5vw;
		text-align: center;
		background-color: #4d3838;
	}
	.footer_main_nav {
		padding: 0;
		margin: 0 0 0 0;
		flex-wrap: wrap;
		border-bottom: solid 1px #4d3838;
		max-width: 100%;
	}
	.footer_main_nav li {
		width: 33%;
		border: none;
		border-top: solid 1px #4d3838;
		border-right: solid 1px #4d3838;
		background-color: hsl(0deg 0% 100% / 11%);
	}
	.footer_main_nav li:nth-child(1),
	.footer_main_nav li:nth-child(2){
		width: 50%;
	}
	.footer_main_nav li:nth-child(2){
		border-right: none;
	}
	.footer_main_nav li:last-child{
		border-right: initial;
	}
	.footer_main_nav li a {
		font-size: 3.6vw;
		padding: 5vw 0;
	}
	.footer_main_nav li a span > span {
		font-size: 3vw;
	}
	.footer_body {
		flex-direction: column;
	}
	.sister_site {
		border-right: none;
		padding-right: 0;
		margin-bottom: 10vw;
	}
	.sister_site dl dt {
		margin-bottom: 3vw;
		font-size: 4vw;
		font-weight: bold;
	}
	.sister_site dl dd {
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.sub_contents_link {
		width: 100%;
		margin-bottom: 0;
	}
	.sub_contents_link a {
		font-size: 3vw;
		border-radius: 50px;
		padding: 1.5vw 2vw;
		width: 100%;
	}
	.etc_link {
		padding: 0;
	}
	.etc_link dl dt {
		padding: 4vw 4vw;
		margin-bottom: 4vw;
		font-size: 5vw;
		text-align: center;
		background-color: #4d3838;
	}
	.etc_link dl dd{
		padding: 0 4vw;
	}
	.sub_contents_link li {
		width: 47.5%;
		margin: 0 4vw 4vw 0;
	}
	.sub_contents_link li:nth-of-type(2n) {
		margin-right: 0;
	}
	.shop_admin {
		padding: 0vw 4vw 0 4vw;
	}
	.shop_admin img {
		max-width: 100%;
	}
	.copyright {
		padding: 4vw 0;
		font-size: 3vw;
	}

	.footer_main_nav li:last-child {
		min-width: auto;
		width: 100%;
	}
	.footer_member_link {
		background-color: #776060;
		margin: 0 0 0 0;
	}
	.footer_member_link dt {
		line-height: 1;
		font-weight: bold;
		padding: 4vw 4vw;
		margin: 0 0 0 0;
		font-size: 5vw;
		text-align: center;
		background-color: #4d3838;
	}
	.footer_member_link dd {
		display: flex;
		justify-content: space-between;
		padding: 4vw;
	}
	.footer_member_link dd a {
		padding: 3vw 0;
		width: 48%;
		font-size: 4vw;
	}

}



/* -------------------------------------------- */
/* ページ内スクロール */
/* -------------------------------------------- */
#page_top {
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	height: 50px;
	width: 50px;
	border-radius: 100%;
	background-color: #ffe061;
	/* position: absolute; */
	position: fixed;
	border: solid 3px #000000;
	/* top: -68px; */
	/* right: 20px; */
	top: calc(100% - 70px);
	right: calc(50% - 594px);
	z-index: 20;
	box-shadow: 0 0 0 6px #FFFFFF;
	transform: scale(0, 0);
	transition: transform 300ms 0s ease;
}
body.header_out #page_top {
	transform: scale(1, 1);
}
body.infooter #page_top {
	position: absolute;
	top: -68px;
	right: 26px;
}
#page_top::after {
	content: '\f106';
	font-family: FontAwesome;
	color: #000000;
	font-size: 50px;
	line-height: 1;
	position: relative;
	top: -4px;
}
#page_top:hover::after {
	animation: updown 500ms ease-in 0s 1 alternate running;
}
@keyframes updown {
	0% { transform: rotateY(0deg); }
	50% { transform: rotateY(180deg); }
	100% { transform: rotateY(0deg); }
}
@media screen and (max-width: 760px) {
	#page_top {
		/* top: calc(100% - 12vh); */
		top: calc(100% - 19vh);
		right: 4vw;
		width: 13vw;
		height: 13vw;
		border: solid 2px #000000;
		box-shadow: 0 0 0 2px #FFFFFF;
	}
	body.infooter #page_top {
		top: -12.5vw;
		right: 4vw;
	}
}


/* -------------------------------------------- */
/* 下層ページ共通の見出し */
/* -------------------------------------------- */
.page_header {
	background-color: #ffe061;
	background: linear-gradient(-45deg, #ffe061, #ffc801, #ffbc00, #ffcd00);
	background-size: 400% 400%;
	animation: gradient 5s ease infinite;
	margin-bottom: 30px;
}
.page_header .page_title {
	background-color: #FFEFEF;
}
.page_header .detal_head {
	display: flex;
	flex-direction: column-reverse;
	margin-bottom: 0px;
	padding: 25px 20px;
}
.page_header .detal_head h1,
.page_header .detal_head h2 {
	font-size: 14px;
}
.page_header .detal_head h2 {
	font-weight: bold;
}
.page_header .page_mian_title {
	font-size: 60px;
	font-weight: bold;
	line-height: 1;
	text-shadow: 4px 5px 0px #ffffff, 3px 4px 0px #ffffff, 2px 3px 0px #ffffff, 1px 2px 0px #ffffff, 1px 0px 0px #ffffff;
}
@media screen and (max-width: 760px) {
	.page_header {
		margin-bottom: 4vw;
	}
	.page_header .detal_head {
		margin-bottom: 0px;
		padding: 5vw 4vw;
	}
	.page_header .page_mian_title {
		font-size: 7vw;
		text-shadow: 2px 3px 0px #ffffff, 1px 2px 0px #ffffff, 1px 0px 0px #ffffff;
	}
}




/* レイアウトブロック */
.sub_block {
	border: solid 2px #c4a982;
	box-shadow: inset 0 0 0 5px #ffffff, inset 0 0 0 6px #e2d4c1;
	padding: 20px;
	margin-bottom: 30px;
	background-color: #FFFFFF;
}
.sub_block dt {
	text-align: center;
	color: #664c4c;
	font-weight: bold;
	font-size: 18px;
	margin-bottom: 15px;
}
@media screen and (max-width: 760px) {
	.sub_block {
		padding: 4vw;
		margin-bottom: 5vw;
	}
	.sub_block dt {
		font-size: 4vw;
		margin-bottom: 2.5vw;
	}
}


/* -------------------------------------------- */
/* 共通リンク */
/* -------------------------------------------- */
.next_prev ul{
	display: flex;
	justify-content: space-between;
}
.next_prev ul li{
	width: 38%;
}
.next_prev ul li.center {
	width: 20%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.next_prev ul li a{
	display: block;
	color: #766060;
	padding: 15px;
	background-color: #FFFFFF;
	border: solid 1px #FFFFFF;
	transition: all 300ms 0s ease;
}
.next_prev ul li a:hover {
	background-color: #f8f5f5;
	border: solid 1px #766060;
}
.next_prev ul li a .next,
.next_prev ul li a .prev {
	display: block;
	font-size: 16px;
	line-height: 1;
	margin-bottom: 8px;
}
.next_prev ul li a .next {

}
.next_prev ul li a .prev {
	text-align: right;
}
.next_prev ul li a .next::before,
.next_prev ul li a .prev::after {
	font-family: FontAwesome;
	font-size: 120%;
}
.next_prev ul li a .next::before {
	content: '\f104';
	margin-right: 10px;
}
.next_prev ul li a .prev::after {
	content: '\f105';
	margin-left: 10px;
}
.next_prev_contents {
	display: flex;
	border: solid 1px #dddddd;
	padding: 8px;
	background-color: #FFFFFF;
	align-items: center;
	min-height: 70px;
}
.next_prev_contents figure{
	min-width: 52px;
	width: 52px;
	margin-right: 8px;
	overflow: hidden;
	border-radius: 4px;
}
.next_prev_contents img {
	width: 100%;
	display: block;
}
.next_prev_contents p {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
@media screen and (max-width: 760px) {
	.next_prev ul li {
		width: 48%;
	}
	.next_prev ul li.center {
		display: none;
	}
	.next_prev ul li a {
		padding: 0vw;
	}
	.next_prev ul li a:hover {
		border: none;
		background-color:#FFFFFF;
	}
	.next_prev ul li a .next, .next_prev ul li a .prev {
		font-size: 3.6vw;
		margin-bottom: 2vw;
	}
	.next_prev_contents {
		padding: 2vw;
		min-height: 14vw;
	}
	.next_prev_contents figure {
		min-width: 10vw;
		width: 10vw;
		margin-right: 2vw;
	}
	.next_prev_contents p {
		font-size: 3.2vw;
	}
}





/* -------------------------------------------- */
/* ボタンデザイン(サイズや位置は、個別のCSSで指定する事) */
/* -------------------------------------------- */
.center_btn {
	display: flex;
	justify-content: center;
}

/* ボタンデザイン１ */
.default_link {
	display: inline-block;
	position: relative;
}
.default_link .default_link_body{
	position: relative;
	line-height: 1;
	background-color: #ea5f5d;
	display: inline-block;
	padding: 8px 40px;
	border: solid 3px #000000;
	border-radius: 500px;
	color: #FFFFFF;
	font-weight: bold;
	font-size: 20px;
	text-shadow: 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000, 0 0 4px #000000;
	z-index: 2;
	transition: all 150ms 0s ease;
	top: 0;
	left: 0;
}
.default_link::after {
	content: '';
	display: block;
	position: absolute;
	left: -1px;
	top: 5px;
	width: calc(100% - 6px);
	height: calc(100% - 6px);
	background-color: #8c2b29;
	border: solid 3px #000000;
	border-radius: 500px;
	z-index: 1;
}
.default_link:hover .default_link_body{
	top:5px;
	left:-2px;
}
.default_link  .default_link_body strong{
	font-weight: bold;
	font-size: 160%;
	color: #fff27f;
}
.default_link  .default_link_body span{
	font-weight: bold;
	font-size: 120%;
	color: #fff27f;
}

/* ボタンデザイン２ */
.btn_type1 {
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	background: rgb(255,167,44);
	background: linear-gradient(180deg, rgba(255,167,44,1) 0%, rgba(255,107,0,1) 100%);
	box-shadow: 0 2px 3px 0 rgb(0 0 0 / 28%);
	padding: 10px 30px 10px 30px;
	color: #FFFFFF;
	font-size: 18px;
	border-radius: 6px;
	top: 0;
	transition: all 300ms 0s ease;
}
.btn_type1:hover {
	top:2px;
	box-shadow: 0 0px 1px 0 rgb(0 0 0 / 28%);
}


@media screen and (max-width: 760px) {
	.default_link .default_link_body {
		padding: 3vw 7vw;
		border: solid 1px #000000;
		font-size: 3.4vw;
		text-shadow: 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000, 0 0 2px #000000;
		text-align: center;
	}
}


/* -------------------------------------------- */
/* ページネーション */
/* -------------------------------------------- */

.lists_info_bottom {
	margin-top: 45px;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
  }
  .hit_count {
	line-height: 1;
  }
  .hit_count .hit_total {
	font-size: 18px;
	font-weight: bold;
  }
  .hit_count .show_now {
	display: block;
	font-size: 16px;
	text-align: right;
	margin-top: 8px;
	display: flex;
	justify-content: flex-start;
  }


@media screen and (max-width: 760px) {

  .hit_count {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	margin-top: 4vw;
  }
  .hit_count .hit_total {
	font-size: 3.7vw;
	font-weight: normal;
  }
  .hit_count .hit_total span {
	font-size: 4.3vw;
	font-weight: bold;
  }
  .hit_count .show_now {
	margin-top: 4px;
	font-size: 3.7vw;
  }
  .lists_info_bottom {
	flex-direction: column;
	margin-top: 4vw;
	padding: 0 4vw;
  }
  .lists_info_bottom .hit_count {
	margin-top: 0;
  }

}



.page_nation_nav {
	display: flex;
	justify-content: center;
}
.page_nation_nav li{
	font-size: 20px;
	min-width: 40px;
	height: 40px;
	border: solid 1px #8e8e8e;
	margin: 0 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #ffe061;
	color: #5a3e3e;
	border-radius: 4px;
	font-weight: normal;
	overflow: hidden;
}

.page_nation_nav .next{
	margin-right: 0;
}

.page_nation_nav li a{
	background-color: #FFFFFF;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 12px;
	text-decoration: none;
	height: 100%;
	width: 100%;
	color: #5a3e3e;
	font-weight: normal;
	font-size: 14px;
}
.page_nation_nav li.now {
	padding: 0 12px;
	font-size: 14px;
}



@media screen and (max-width: 760px) {
	.page_nation_nav{
		margin-top:2vw;
	}
	.page_nation_nav li {
		display:  none;
	}
	.page_nation_nav li.now,
	.page_nation_nav li.prev,
	.page_nation_nav li.next {
		display: flex;
	}
	.page_nation_nav li a,
	.page_nation_nav li.now {
		font-size: 3vw;
	}
}



/* ------------------------------------------------- */
/* イイねのハート 表示位置とかサイズは、各ページのCSSで対応する事 */
/* ------------------------------------------------- */
.heart_icon {
	position: relative;
	overflow: visible;
	height: 60px;
	width: 60px;
	cursor: pointer;
}
.heart_icon .heart_image img {
	display: block;
	width: 100%;
}
.heart_icon .heart_image span {
	position: absolute;
	width: 100%;
	height: 100%;
}
.heart_icon .heart_image span.active {
	width: 100%;
}
.kawaiine {
	font-size: 12px;
	display: block;
	line-height: 1.2;
	text-align: center;
}
/* 非アクティブ状態の時のホバー */
.heart_icon .heart_image span.default:hover img{
	animation: heart_hover_default 0.5s linear 0s infinite;
}
@keyframes heart_hover_default {
	0% {transform:scale(1, 1);}
	50% {transform:scale(1.2, 1.2);}
	90% {ttransform:scale(1.5, 1.5);}
	100% {transform:scale(1, 1);}
}
/* 非アクティブ状態の時のホバーアニメーションを止める */
.heart_icon.animate .heart_image span.default:hover img{
	animation: none;
}
/* クリック後のアニメーション */
.heart_icon.animate .heart_image span.default {
	animation: out_view 300ms linear 0s;
	opacity: 0;
}

.heart_icon.animate .heart_image span._count {
	animation: out_view 300ms linear 0s;
	opacity: 0;
}

@keyframes out_view {
	0% {
		transform:scale(1, 1);
		opacity: 1;
	}
	30% {
		transform:scale(0.5, 0.5);
	}
	100% {
		transform:scale(0.0, 0.0);
		opacity: 0;
	}
}
.heart_icon.animate .heart_image span.active {
	transform:scale(0, 0);
	animation: in_view 300ms linear 300ms forwards;
	opacity: 1;
}
.heart_icon.animate .heart_image span._count {
	transform:scale(0, 0);
	animation: in_view 300ms linear 300ms forwards;
	opacity: 1;
}

@keyframes in_view {
	0% {
		transform:scale(0, 0);
		opacity: 0;
	}
	50% {
		transform:scale(1.4, 1.4);
	}
	100% {
		transform:scale(1, 1);
		opacity: 1;
	}
}



/* -------------------------------------------- */
/* フォームパーツ */
/* -------------------------------------------- */
input::placeholder{color:#AFAFAF;}
textarea::placeholder{color:#AFAFAF;}

/* 必須の※印 */
.required_text {
	font-size: 14px;
	margin-bottom: 4px;
}
.required_text span{
	color: #F31313;
}
.required {
	color: #F31313;
	font-size: 60%;
	vertical-align: text-top;
}
/* dlのテーブル表記 */
.form_table dl {
	display: flex;
	width: 100%;
}
.form_table dl dt{
	background-color: #fff8df;
	border-left: solid 1px #dddddd;
	border-top: solid 1px #dddddd;
	padding: 15px;
	width: 250px;
	font-weight: bold;
	font-size: 18px;
}
.form_table dl:last-child dt,
.form_table dl:last-child dd {
	border-bottom: solid 1px #dddddd;
}
.form_table dl dd{
	border-left: solid 1px #dddddd;
	border-top: solid 1px #dddddd;
	border-right: solid 1px #dddddd;
	padding: 15px;
	width: auto;
	flex-grow: 1;
}
@media screen and (max-width: 760px) {
	.form_table dl {
		flex-direction: column;
	}
	.form_table dl dt {
		width: 100%;
		border-right: solid 1px #dddddd;
		padding: 3vw;
		font-size: 4vw;
	}
	.form_table dl:last-child dt {
		border-bottom: none;
	}
	.form_table dl dd{
		padding: 3vw 3vw 5vw 3vw;
	}
}

/* フォームの入力エリア */
.input_form input[type="email"],
.input_form input[type="text"] {
	height: 40px;
	padding: 0 10px;
}
.input_form textarea {
	padding: 10px 10px;
	line-height: 1.8;
}
.input_form textarea,
.input_form input[type="email"],
.input_form input[type="text"] {
	width: 100%;
	border: solid 1px #bda6a6;
	font-size: 18px;
	outline: none;
	border-radius: 4px;
}
.input_form textarea:focus, .input_form textarea:active, .input_form textarea:target,
.input_form input[type="email"]:focus,.input_form input[type="email"]:active,.input_form input[type="email"]:target,
.input_form input[type="text"]:focus, .input_form input[type="text"]:active, .input_form input[type="text"]:target{
	box-shadow: 0 0 0px 1px #ff9922;
	border: solid 1px #ff9922;
}

.input_err_head {
	background-color: #FFEFEF;
	border-radius: 5px;
	padding: 20px;
	color: #cf1818;
	border: solid 1px #cf1818;
	margin-bottom: 10px;
}
.input_err_head strong {
	font-weight: bold;
}

.input_form p.err_text {
	font-weight: bold;
	color: #FF0004;
	margin: 6px 0 0 0;
}
@media screen and (max-width: 760px) {
	.input_form input[type="email"],
	.input_form input[type="text"] {
		height: 10vw;
		padding: 0 1vw;
	}
	.input_form textarea {
		padding: 1vw 1vw;
		line-height: 1.8;
	}
	.input_form textarea,
	.input_form input[type="email"],
	.input_form input[type="text"] {
		-webkit-appearance: none;
		font-size: 3.8vw;
	}
	.input_err_head {
		padding: 3vw;
		margin-bottom: 2vw;
	}
	.input_form p.err_text {
		margin: 1vw 0 0 0;
	}
}


/* 入力フォームのボタン */
.input_form_btn {
	margin-top: 20px;
	background-color: #fff8df;
	border: solid 1px #dddddd;
	display: flex;
	justify-content: center;
	padding: 20px 0;
}
.input_form_btn button {
	cursor: pointer;
	margin: 0 10px;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgb(255,167,44);
	background: linear-gradient(180deg, rgba(255,167,44,1) 0%, rgba(255,107,0,1) 100%);
	box-shadow: 0 2px 3px 0 rgb(0 0 0 / 28%);
	padding: 10px 20px 10px 20px;
	color: #FFFFFF;
	font-size: 18px;
	border-radius: 50px;
	border: none;
	top: 0;
	transition: all 300ms 0s ease;
	font-weight: normal;
	min-width: 190px;
}
.input_form_btn button.default {
	background: rgb(255,255,255);
	background: linear-gradient(180deg, rgb(254 254 254) 0%, rgb(238 238 238) 100%);
	color: #575757;
	border: solid 1px #dddddd;
	min-width: 190px;
}
.input_form_btn button:hover {
	top:2px;
	box-shadow: 0 0px 1px 0 rgb(0 0 0 / 28%);
}
@media screen and (max-width: 760px) {
	.input_form_btn {
		margin-top: 4vw;
		padding: 4vw 0;
	}
	.input_form_btn button {
		margin: 0 2vw;
		padding: 2vw 4vw 2vw 4vw;
		font-size: 3.4vw;
		border-radius: 50px;
		min-width: 40vw;
		font-weight: bold;
	}
	.input_form_btn button.default {
		min-width: 40vw;
		font-weight: bold;
	}
}



/* -------------------------------------------- */
/* 装飾 */
/* -------------------------------------------- */
/* リボン */
.ribbon_1 {
	display: inline-block;
	padding: 2px 0px;
	font-size: 18px;/*フォントサイズ*/
	color: #FFF;/*フォントカラー*/
	background: #c2a67e;/*背景色*/
	position: absolute;
	left: -12px;
	top: 10px;
	width: calc(100% + 24px);
	border: solid 1px #9f8054;
}
.ribbon_1 > span.label {
	border-bottom: solid 2px #d4c1a4;
	border-top: solid 2px #d4c1a4;
	display: block;
	padding: 5px 20px;
}
.ribbon_1:before {
	position: absolute;
	content: '';
	top: calc(100% + 1px);
	left: -1px;
	border: none;
	border-bottom: solid 10px transparent;
	border-right: solid 12px #9f8054;
}
.ribbon_1:after {
	position: absolute;
	content: '';
	top: calc(100% + 1px);
	right: -1px;
	border: none;
	border-bottom: solid 10px transparent;
	border-left: solid 12px #9f8054;/*折り返し部分*/
}


/* フラッグ */
.ribbon_2 {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 10px;
	margin: 0;
	padding: 10px 0;
	z-index: 2;
	width: 50px;
	height: 50px;
	background: #9f8054;
}
.ribbon_2:after {
	content: '';
	position: absolute;
	left: 0;
	top: 100%;
	height: 0;
	width: 0;
	border-left: 25px solid #9f8054;
	border-right: 25px solid #9f8054;
	border-bottom: 10px solid transparent;
}
.ribbon_2 .inline{
	display: inline-block;
	position: absolute;
	top: 0;
	left: 2px;
	margin: 0;
	padding: 10px 0;
	z-index: 2;
	width: 46px;
	height: 47px;
	font-size: 17px;
	background: #aa9475;
}
.ribbon_2 .inline:after {
	content: '';
	position: absolute;
	left: 0;
	top: 100%;
	height: 0;
	width: 0;
	border-left: 23px solid #aa9475;
	border-right: 23px solid #aa9475;
	border-bottom: 9px solid transparent;
}
.ribbon_2 .label {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 1px;
	margin: 0;
	padding: 10px 0;
	z-index: 2;
	width: 44px;
	height: 46px;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	color: #FFFFFF;
	background: #9f8054;
}
.ribbon_2 .label:after {
	content: '';
	position: absolute;
	left: 0;
	top: 100%;
	height: 0;
	width: 0;
	border-left: 22px solid #9f8054;
	border-right: 22px solid #9f8054;
	border-bottom: 8px solid transparent;
}


/* リボン右だけ */
.ribbon_3 {
  display: inline-block;
  position: relative;
  height: 45px;
  text-align: center;
  box-sizing: border-box;
}
.ribbon_3:after {/*右側のリボン端*/
	content: '';
	position: absolute;
	width: 0px;
	bottom: -7px;
	right: -23px;
	z-index: 1;
	border: 20px solid #c2a67e;
	border-right: transparent solid 12px;
}
.ribbon_3 span.label {
	display: inline-block;
	position: relative;
	margin: 0;
	padding: 0 20px;
	line-height: 45px;
	font-size: 18px;
	width: 345px;
	color: #FFF;
	background: #c2a67e;/*真ん中の背景色*/
	z-index: 2;
}
.ribbon_3 span.label:before {
	position: absolute;
	content: '';
	top: 100%;
	left: 0;
	border: none;
	border-bottom: solid 7px transparent;
	border-right: solid 10px #a48458;
}
.ribbon_3 span.label:after {
	position: absolute;
	content: '';
	top: 100%;
	right: 0;
	border: none;
	border-bottom: solid 7px transparent;
	border-left: solid 10px #a48458;
}



/* -------------------------------------------- */
/* フッターの波表示 */
/* -------------------------------------------- */
canvas#sineCanvas {
	margin-top: -56px;
	width: 100%;
	height: 80px;
	vertical-align: top;
	position: relative;
}
@media screen and (max-width: 760px) {
	canvas#sineCanvas {
		margin-top: -10vw;
		width: 100%;
		height: 14vw;
		vertical-align: top;
	}
}



/* -------------------------------------------- */
/* 共通のエフェクト */
/* -------------------------------------------- */
/*
	class名の頭にef-を付ける
*/
/* -------------------------------------------- */
/* テキストのホバー時にウェーブ */
.ef-wave span {
	display: inline-block;
	position: relative;
}











/* -------------------------------------------- */
/* 共通スマホ用のナビゲーション */
/* -------------------------------------------- */
#sp_nav {
	display: none;
}
@media screen and (max-width: 760px) {

	#sp_nav {
		position: fixed;
		display: flex;
		flex-direction: column;
		top: -100vh;
		left: 0;
		z-index: 5000;
		transition: all 500ms 0s ease;
		width: 100vw;
		height: 100vh;
		overflow: hidden;
		background-color: #5A3E3E;
	}
	body.open_sp_nemu #sp_nav {
		top: 0;
		left: 0;
		overflow-x: hidden;
		overflow-y: auto;
	}

	#sp_nav .sp_main_nav{
		padding-top: 0;
	}
	#sp_nav .sp_menu_title{
		color: #fff;
		text-align: center;
		line-height: 1;
		padding: 5vw;
		background-color: #a9945e;
		border-bottom: 2px solid #65522f;
	}
	#sp_nav .sp_menu_title span{
		font-size: 7vw;
		font-weight: bold;

	}
	#sp_nav .close_btn {
		position: absolute;
		display: block;
		right: 5vw;
		top: 4vw;
		height: 10vw;
		width: 10vw;
		background-image: url(../img/global/icon/sp_menu_close.webp);
		background-repeat: no-repeat;
		background-size: contain;
		cursor: pointer;

	}
	#sp_nav ._main_lists{
		padding: 6vw 4vw;
		background-color: #d2bea3;
	}
	#sp_nav ._main_lists li{
		width: 100%;
		margin-top: 3vw;
		cursor: pointer;

	}
	#sp_nav ._main_lists li:first-child{
		margin-top: 0;
	}
	#sp_nav ._main_lists li a{
		background-color: #6a5656;
		color: #fff;
		border-radius: var(--basic_radius);
		border: 2px solid #f3e3cd;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		padding: 4vw 3vw;
		font-size: 4vw;
		font-weight: bold;
		position: relative;
		line-height: 1;
	}
	#sp_nav ._main_lists li a:after{
		content: "";
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 3vw;
		content: '\f105';
		font-family: FontAwesome;
		font-size: 6vw;
		line-height: 1;
		color: #fff;
	}

	#sp_nav .job_btns_wrap{
		padding: 6vw 4vw;
		background-color: #f7ebdb;
	}
	#sp_nav .job_btns_wrap span{
		font-size: 4.2vw;
		color: #5a3e3e;
		font-weight: bold;
		line-height: 1;
	}
	#sp_nav .job_btns_wrap a{
		margin-top: 3vw;
		font-size: 4vw;
		color: #5a3e3e;
		font-weight: bold;
		display: block;
		border: solid 2px #FFFFFF;
		background-color: #ffe061;
		padding: 4vw 3vw;
		border-radius: var(--basic_radius);
		line-height: 1;
		position: relative;
	}
	#sp_nav .job_btns_wrap a:after{
		content: "";
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 3vw;
		content: '\f105';
		font-family: FontAwesome;
		font-size: 6vw;
		line-height: 1;
		color: #614540;
	}

	#sp_nav .shop_link {
		background-color: #847474;
		padding: 4vw;
	}
	#sp_nav .shop_link dt {
		text-align: left;
		font-weight: bold;
		color: #FFFFFF;
		margin-bottom: 3vw;
		font-size: 4.2vw;
	}
	#sp_nav .shop_link img {
		display: block;
		width: 100%;
		height: auto;
	}
	#sp_nav .shop_link ul {
		display: flex;
		flex-direction: column;
	}
	#sp_nav .shop_link ul li {
		margin-bottom: 5vw;
	}
	#sp_nav .shop_link ul li:last-child {
		margin-bottom: 0;
	}
	#sp_nav .shop_link ul li a.login {
		display: block;
		border: solid 2px #FFFFFF;
		border-radius: var(--basic_radius);
		padding: 4vw 3vw;
		font-size: 4vw;
		width: 100%;
		background-color: #ffe061;
		color: #5a3e3e;
		font-weight: bold;
		position: relative;
		line-height: 1;
	}
	#sp_nav .shop_link ul li a.login:after{
		content: "";
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 3vw;
		content: '\f105';
		font-family: FontAwesome;
		font-size: 6vw;
		line-height: 1;
		color: #614540;
	}

	#sp_nav .sp_etc_link {
		padding-bottom: 20vw;
	}
	#sp_nav .sp_etc_link ul {
		display: flex;
		flex-wrap: wrap;
		flex-direction: row;
		padding: 5vw 4vw 3vw 4vw;
	}
	#sp_nav .sp_etc_link ul li:nth-child(1),
	#sp_nav .sp_etc_link ul li:nth-child(4){
		width: 35%;
	}
	#sp_nav .sp_etc_link ul li:nth-child(2),
	#sp_nav .sp_etc_link ul li:nth-child(5){
		width: 45%;
	}
	#sp_nav .sp_etc_link ul li:nth-child(3){
		width: 20%;
	}
	#sp_nav .sp_etc_link ul li{
		margin-bottom: 2vw;
	}
	#sp_nav .sp_etc_link ul li a{
		font-weight: normal;
		display: block;
		color: #fff;
		position: relative;
		padding-left: 3vw;
		font-size: 3.6vw;
	}
	#sp_nav .sp_etc_link ul li a::before{
		content: "";
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left:0;
		content: '\f105';
		font-family: FontAwesome;
		font-size: 4vw;
		line-height: 1;
		color: #fff;
	}

	#sp_nav .sp_menu_member {
		background-color: #ffeea8;
		padding: 4vw;
	}
	#sp_nav .sp_menu_member dt {
		font-size: 4.2vw;
		color: #5a3e3e;
		font-weight: bold;
		line-height: 1;
		margin: 0 0 3vw 0;
	}
	#sp_nav .sp_menu_member dd li {
		margin: 0 0 3vw 0;
	}
	#sp_nav .sp_menu_member dd li:last-child {
		margin: 0;
	}
	#sp_nav .sp_menu_member dd a {
		background-color: #ffffff;
		color: #514343;
		border-radius: var(--basic_radius);
		border: 2px solid #b6b6b6;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		padding: 4vw 3vw;
		font-size: 4vw;
		font-weight: bold;
		position: relative;
		line-height: 1;
	}
	#sp_nav .sp_menu_member dd a.member_regist {
		background-color: #ff7949;
		color: #ffffff;
		border: 2px solid #ffffff;
	}
	#sp_nav .sp_menu_member dd a::after {
		content: "";
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 3vw;
		content: '\f105';
		font-family: FontAwesome;
		font-size: 6vw;
		line-height: 1;
		color: #514343;
	}
	#sp_nav .sp_menu_member dd a.member_regist::after {
		color: #FFFFFF;
	}
}


/* -------------------------------------------- */
/* 共通モーダルデザイン */
/* -------------------------------------------- */
.modal {
	display: none;
}
@media screen and (min-width: 760px) {
	.modal {
		display: flex;
		position: fixed;
		z-index: 5010;
		justify-content: center;
		align-items: center;
		left: 0;
		top: -100vh;
		width: 100vw;
		height: 100vh;
		overflow: hidden;
	}
	body.open_modal .modal.active_modal {
		top: 0;
	}
	body.open_modal .modal_bg {
		display: flex;
		z-index: 5020;
		justify-content: center;
		align-items: center;
		width: 100vw;
		height: 100vh;
		background-color: rgba(0,0,0,0.70);
		padding: 4vw;
		transition: all 300ms 0ms ease;
		opacity: 0;
	}
	.modal.active_modal .modal_bg {
		opacity: 1;
	}
	body.open_modal .modal.sc_modal {
		display: block;
	}
	body.open_modal .modal.sc_modal .modal_bg {
		display: block;
		overflow-y: auto;
	}
	body.open_modal .modal.sc_modal .modal_body{
		padding-bottom: 20vw;
	}
	.modal .modal_body {
		transition: all 300ms 0s ease;
		transform: scale(0, 0);
	}
	.modal .modal_body.active {
		transform: scale(1, 1);
	}
	.modal dl dt .modal_close {
		cursor: pointer;
		position: absolute;
		right: 20px;
		display: block;
		width: 24px;
		height: 24px;
		background-image: url(../img/global/icon/close.svg);
		background-repeat: no-repeat;
		background-size: contain;
	}
	.modal dl {
		width: 600px;
	}
	.modal dl dt{
		position: relative;
		background-color: #766060;
		color: #FFFFFF;
		display: flex;
		justify-content: center;
		align-items: center;
		min-height: 40px;
		font-weight: bold;
		font-size: 24px;
		padding: 15px 0;
	}
	.modal dl dd {
		background-color: #FFFFFF;
		padding: 30px;
		color: #695C48;
	}
}


@media screen and (max-width: 760px) {
	.modal {
		display: flex;
		position: fixed;
		z-index: 5010;
		justify-content: center;
		align-items: center;
		left: 0;
		top: -100vh;
		width: 100vw;
		height: 100vh;
		overflow: hidden;
	}
	body.open_modal .modal.active_modal {
		top: 0;
	}
	body.open_modal .modal_bg {
		display: flex;
		z-index: 5020;
		justify-content: center;
		align-items: center;
		width: 100vw;
		height: 100vh;
		background-color: rgba(0,0,0,0.70);
		padding: 4vw;
		transition: all 300ms 0ms ease;
		opacity: 0;
	}
	.modal.active_modal .modal_bg {
		opacity: 1;
	}
	body.open_modal .modal.sc_modal {
		display: block;
	}
	body.open_modal .modal.sc_modal .modal_bg {
		display: block;
		overflow-y: auto;
	}
	body.open_modal .modal.sc_modal .modal_body{
		padding-bottom: 20vw;
	}
	.modal .modal_body {
		transition: all 300ms 0s ease;
		transform: scale(0, 0);
	}
	.modal .modal_body.active {
		transform: scale(1, 1);
	}
	.modal dl dt .modal_close {
		cursor: pointer;
		position: absolute;
		right: 4vw;
		display: block;
		width: 7vw;
		height: 7vw;
		background-image: url(../img/global/icon/close.svg);
		background-repeat: no-repeat;
		background-size: contain;
	}
	.modal dl {
		width: 100%;
	}
	.modal dl dt{
		position: relative;
		background-color: #766060;
		color: #FFFFFF;
		display: flex;
		justify-content: center;
		align-items: center;
		min-height: 14vw;
		font-weight: bold;
		font-size: 5vw;
	}
	.modal dl dd {
		background-color: #FFFFFF;
		padding: 4vw;
		color: #695C48;
	}
}


/* -------------------------------------------- */
/* 共通スマホ用の検索モーダル */
/* -------------------------------------------- */
@media screen and (max-width: 760px) {
	#sp_search dl dd ul {
		display: flex;
	}
	#sp_search dl dd ul li {
		width: 50%;
		text-align: center;
	}
	#sp_search dl dd ul li strong{
		font-weight: bold;
	}
	#sp_search dl dd ul li button {
		border: none;
		margin: 3vw 0 0 0;
		display: inline-flex;
		justify-content: center;
		align-items: center;
		color: #695C48;
		background-color: #FFE061;
		font-weight: bold;
		border-radius: 8px;
		padding: 3vw 0;
		font-size: 3.6vw;
		box-shadow: 0 2px 2px 0 rgb(0 0 0 / 18%);
		width: 90%
	}
}


/* -------------------------------------------- */
/* 共通スマホ用の店舗andキャスト検索モーダル */
/* -------------------------------------------- */
.search_modal_link .parent_area {
	background-color: #766060;
	color: #FFFFFF;
	font-weight: bold;
	font-size: 5vw;
	margin: 8vw 0 0vw 0;
	padding: 3vw;
	line-height: 1;
}
.search_modal_link .parent_area:first-child {
	margin-top: 0;
}
.search_modal_link .parent_area a {
	color: #FFE061;
}
.search_modal_link .child_area {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.search_modal_link .child_area li {
	width: 49%;
}
.search_modal_link .child_area a{
	border: none;
	margin: 3vw 0 0 0;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	color: #695C48;
	background-color: #FFE061;
	font-weight: bold;
	border-radius: 8px;
	padding: 3vw 0;
	font-size: 3.6vw;
	box-shadow: 0 2px 2px 0 rgb(0 0 0 / 18%);
	width: 100%;
}


/* -------------------------------------------- */
/* リンクブロック（アイコン付） */
/* -------------------------------------------- */
.linkblock {
	display: block;
	padding-top: 60px;
	width: 100px;
	height: 100px;
	background-color: #bea581;
	border: solid 5px #e1d2bd;
	border-radius: 6px;
	box-shadow: 0px 4px 15px -5px #777777;
	background-repeat: no-repeat;
	background-position: top 4px center;
	transition: all 300ms 0s ease;
}
.linkblock:hover {
	background-color: #ccb89b;
}
.linkblock > span {
	width: 83px;
	height: 26px;
	color: #FFF;
	font-size: 12px;
	font-weight: bold;
	padding-top: 2px;
	background-color: #66553d;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	margin: auto;
	background-image: url(/assets/img/global/icon/linkbox_icon_01.webp), url(/assets/img/global/icon/linkbox_icon_01.webp), url(/assets/img/global/icon/linkbox_icon_01.webp), url(/assets/img/global/icon/linkbox_icon_01.webp);
	background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
	background-position: left 2px top 2px, right 2px top 2px, left 2px bottom 2px, right 2px bottom 2px;
}
.linkblock--notice {
	background-image: url(/assets/img/global/icon/bell.svg);
}
.linkblock--search {
	background-image: url(/assets/img/global/icon/loupe.svg);
}

/* -------------------------------------------- */
/* 右固定リンク */
/* -------------------------------------------- */
.right_links--fixed {
	height: 210px;
	position: fixed;
	top: calc(50% - 105px);
	right: 20px;
	z-index: 50;
}
.right_links--fixed > a:first-of-type {
	margin: 0 0 20px;
}
@media screen and (max-width: 760px) {
	.right_links--fixed {
		display: none;
	}
}

/* -------------------------------------------- */
/* モーダル */
/* -------------------------------------------- */
.default_modal__header {
	height: 82px;
	padding-top: 20px;
	background-color: #766060;
	color: #FFF;
	font-size: 24px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	position: relative;
}
.default_modal__header__subtext {
	font-size: 12px;
	display: block;
	margin-top: 8px;
}
.default_modal__header__close {
	width: 30px;
	height: 30px;
	position: absolute;
	top: 23px;
	right: 30px;
	display: block;
}
.default_modal__body {
	padding: 40px;
}





/*専用コンポーネント、バナーなど*/

.link_to_mens_site span,
.link_to_job_cafe_site span{
	display: none;
}


.pink_btn{
	color:#fff;
	padding: 20px 35px;
	background-color: #ff98b7;
	border-radius: 8px;
	font-size: 20px;
	font-weight: normal;
	line-height: 1;
}


@media screen and (max-width: 760px) {
	.pink_btn{
		width:35%;
		padding: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 3.5vw;

	}


	.link_to_mens_site,
	.link_to_job_cafe_site {
		margin: 0;
		font-size: 4.2vw;
		border-radius: 1vw;
		padding: 4.4vw 4vw 4.4vw 13vw;
		position: relative;
		line-height: 1;
	}
	.link_to_mens_site:before,
	.link_to_job_cafe_site:before {
		position: absolute;
		content: "";
		background-size: contain;
		background-repeat: no-repeat;
	}
	.link_to_mens_site:after,
	.link_to_job_cafe_site:after {
		position: absolute;
		font-weight: 400;
		font-size: 8.4vw;
		font-style: normal;
		right: 3vw;
		top: 2vw;
		font-family: "FontAwesome";
		content: "\f105";
	}
	.link_to_mens_site img,
	.link_to_job_cafe_site img {
		display: none;
	}
	.link_to_mens_site span,
	.link_to_job_cafe_site span {
		display: block;
	}
	.link_to_mens_site {
		border: 1px solid #a1a1a1;
		background-color: #e5e5e5;
		color: #666666;
		position: relative;
	}
	.link_to_mens_site:before {
		left: 1.8vw;
		top: 1.4vw;
		background-image: url("/assets/img/global/mens_icon_sp.webp");
		width: 10vw;
		height: 10vw;
	}
	.link_to_mens_site:after {
		color: #a1a1a1;
	}
	.link_to_job_cafe_site {
		border: 1px solid #ff8e85;
		background-color: #ffe0de;
		color: #fe665a;
		position: relative;
	}
	.link_to_job_cafe_site:before {
		left: 1.8vw;
		top: 1.4vw;
		background-image: url("/assets/img/global/shop_cafe_icon_sp.webp");
		width: 10vw;
		height: 10vw;
	}
	.link_to_job_cafe_site:after {
		color: #ff8e85;
	}

	.link_to_job_cafe_site_pro {
		box-shadow: 0 0 0 1px inset #ff8e85, 0 0 0 3px inset #fff;
		border: 1px solid #ff8e85;
		background-color: #ff9e8b;
		position: relative;
		border-radius: 1vw;
		padding: 1.4vw 0 1.4vw 15vw;
		font-size: 4vw;
		color: #ffffff;
	}

	.link_to_job_cafe_site_pro:before {
		content: "";
		left: 1.8vw;
		top: 2.4vw;
		background-image: url("/assets/img/global/job_cafe_icon_sp.webp");
		width: 10vw;
		height: 10vw;
		position: absolute;
		background-size: contain;
		background-repeat: no-repeat;
	}

	.link_to_job_cafe_site_pro:after {
		color: #fff;
		position: absolute;
		font-weight: 400;
		font-size: 8.4vw;
		font-style: normal;
		right: 3vw;
		top: 3vw;
		font-family: "FontAwesome";
		content: "\f105";
	}
}




/*ラベル*/
.column_label {
	border-radius: 15px;
	color: #fff;
	width: 100px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	font-size: 12px;
	padding: 5px 0px;
  }

  .column_label.type1 {
	background-color: #5c85fc;
  }

  .column_label.type2 {
	background-color: #f3a73a;
  }

  .column_label.type3 {
	background-color: #20bb0c;
  }

  /*リストの囲みーーーーーーーーーーーーーーーーーーーーーーーー*/
  .g_column_list {
	width: 100%;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: space-between;
	flex-direction: row;
	flex-wrap: wrap;
  }
  .g_column_list li {
	list-style: none;
	width: 49%;
	margin-top: 20px;
  }
  .g_column_list li:first-child, .g_column_list li:nth-child(2) {
	margin-top: 0;
  }
  .g_column_list a {
	text-decoration: none;
  }

  /*各リストのボックス*/
  .g_column_box {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	padding: 20px;
	border: 2px solid #deccb4;
	border-radius: var(--basic_radius);
	background-color: #fff;
  }
  .g_column_box a {
	text-decoration: none;
  }
  .g_column_box ._head_img {
	width: 80px;
	height: 80px;
	background-size: 340% 100%;
	background-repeat: no-repeat;
	background-position: 100% 0;
	background-color: #fff;
	object-fit: cover;
	border-radius: var(--basic_radius);
	box-shadow: var(--brown_box_shadow);
  }
  .g_column_box ._info {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	margin-left: 20px;
	flex-basis: 81%;
  }
  .g_column_box ._info .head {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
  }
  .g_column_box ._info time {
	font-size: 14px;
	color: #525252;
	line-height: 1;
  }
  .g_column_box ._info .bottom {
	display: flex;
	flex-direction: column;
 }
  .g_column_box ._info ._lead_text {
	color: #7092d2;
	font-size: 16px;
	display: inline-block;
	line-height: 1.5;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 400px;
  }

  @media screen and (max-width: 760px) {
	/*ラベル*/
	.column_label {
	  font-size: 3vw;
	  width: 27vw;
	  padding: 0.6vw 0;
	}
	.g_column_list {
	  width: 100%;
	  flex-direction: column;
	}
	.g_column_list li {
	  width: 100%;
	  margin-top: 4vw;
	}
	.g_column_list li:first-child, .g_column_list li:nth-child(2) {
	  margin-top: 4vw;
	}
	.g_column_box {
	  padding: 3vw;
	}
	.g_column_box ._head_img {
	  object-fit: cover;
	  flex-basis: initial;
	  width: 19vw;
	  height: 19vw;
	}
	.g_column_box ._info .bottom {
	  display: flex;
	  flex-direction: column;
	}
	.g_column_box ._info time {
	  font-size: 3.4vw;
	  padding-top: 1%;
	}
	.g_column_box ._info ._lead_text {
	  font-size: 3.2vw;
	  max-width: 62vw;
	}
  }


/* 共通キープボタン */
.js_keep {
	border: solid 1px #b6b6b6;
	background-color: #FFFFFF;
	color: #bbbbbb;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 6px;
	cursor: pointer;
	font-size: 16px;
	line-height: 1;
}
.js_keep:hover {
    background-color: #fff7e3;
}

.js_keep.active {
	border: solid 1px #ffb017;
	background-color: #fffdd4;
	color: #514343;
}

.js_keep::before {
	content: '';
	display: block;
	height: 22px;
	width: 22px;
	margin: 0 4px 0 0;
	background-image: url(/assets/img/global/icon/star.svg);
	background-size: contain;
	background-repeat: no-repeat;
}

.js_keep.active::before {
	background-image: url(/assets/img/global/icon/star_active.svg);
}
@media screen and (max-width: 760px) {
	.js_keep::before {
		height: 4vw;
		width: 4vw;
	}
}
  /*レビュー系、複数ページの共通パーツ*/
.reviewer_info{
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
}
.reviewer_info div{
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-left: 10px;
}
.reviewer_info figure {
	width: 60px;
	min-width: 60px;
	height: 60px;
	border-radius: 100px;
	overflow: hidden;
	border: solid 1px #9b6565;
}
.reviewer_info img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.reviewer_info ._post_count{
	font-size: 12px;
	color: #525252;
	line-height: 1;
	white-space: nowrap;
	display: inline-block;
}
.reviewer_info ._name{
	font-size: 12px;
	color: #525252;
	line-height: 1.5;
	margin-top: 7px;
	display: inline-block;
}
.reviewer_info ._name strong{
	font-size: 14px;
	font-weight: bold;
	color: var(--color_shop_name);
	line-height: 1;
}
.reviewer_info ._visit_count{
	font-size: 14px;
	color: #525252;
	line-height: 1;
	margin-top: 3px;
	white-space: nowrap;
	display: inline-block;
}


/* レビューの見出し fontsize、余白などは場所により異なるため設定箇所で適宜cssを追加してください */
.review_heading{
	border-left: 5px solid #bc9c70;
}
.review_heading span{
	display: block;
}

.review_stars_wrap {
	color: #bdbdbd;
}

.review_stars_wrap span.active {
	color: #ffb017;
}

.review_heading .review_stars_wrap{
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}
.review_star {
	background-color: #bdbdbd;
	clip-path: polygon(50% 5%, 61% 40%, 98% 40%, 68% 62%, 79% 96%, 50% 75%, 21% 96%, 32% 62%, 2% 40%, 39% 40%);
}
.review_star._active {
	background-color: #ffb017;
}

@media screen and (max-width: 760px) {
	.reviewer_info div{
		margin-left: 3vw;
	}
	.reviewer_info ._post_count{
		font-size: 3vw;
	}
	.reviewer_info ._name{
		font-size: 3vw;
		margin-top: 1vw;
	}
	.reviewer_info ._name strong{
		font-size: 3.4vw;
	}
	.reviewer_info ._visit_count{
		font-size: 3.2vw;
		margin-top: 1vw;
	}
}

.shop_detail_wrap .js_keep {
	width: 100%;
	padding: 12px 0;
	font-size: 18px;
	font-weight: bold;
}


/*ボタン押す前後の表示*/
.good_btn_in_search.animate{
	pointer-events: none;
	cursor: initial;
}
.good_btn_in_search.animate .before_img{
	display: none;
}
.good_btn_in_search.animate .before_span{
	display: none;
}

.good_btn_in_search span{
	color:#fff;
}

.good_btn_in_search .after_wrap{
	margin: auto;
}

.good_btn_in_search._no_press .after_wrap{
	display: none;
}
.good_btn_in_search._no_press.animate .after_wrap{
	display: block;
}
.good_btn_in_search._no_press .after_wrap span{
	color:#fff;
	font-size: var(--top_font_m);
	letter-spacing: 2px;
}
.good_btn_in_search._man{
	border: 1px solid var(--color_woman);
}
.good_btn_in_search._man .before_span{
	color: var(--color_woman);
}
.good_btn_in_search._woman{
	border: 1px solid var(--color_man);
}
.good_btn_in_search._woman .before_span{
	color: var(--color_man);
}

.good_btn_in_search.animate._man{
	background-color: var(--color_woman);
	color: #fff;
}
.good_btn_in_search.animate._woman{
	background-color: var(--color_man);
	color: #fff;
}

.good_btn_in_search._pressed._man span{
	color: var(--color_woman);
}
.good_btn_in_search._pressed._woman span{
	color: var(--color_man);
}

.good_btn_in_search.animate._man span{
	color: #fff;
}
.good_btn_in_search.animate._woman span{
	color: #fff;
}

.before_pressd_img{
	display: inline;
}
.after_pressd_img {
	display: none;
}
.good_btn_in_search.animate .before_pressd_img{
	display: none;
}
.good_btn_in_search.animate .after_pressd_img{
	display: inline
}

@media screen and (max-width: 760px) {
	.good_btn_in_search{
		height: 10.2vw;
		border-radius: 5px;
		padding: 0 2vw;
		border-width: 2px !important;
	}
	.good_btn_in_search .before_img{
		width: 5vw;
		height: auto;
	}
	.good_btn_in_search .before_span{
		margin-left: 2vw;
		font-size: 3.4vw;
	}
	.good_btn_in_search .after_wrap img{
		width: 2.8vw;
		height: auto;
	}


	.shop_detail_wrap .js_keep {
		width: 100%;
		padding: 12px 0;
		font-size: 18px;
		font-weight: bold;
	}
}
/* 共通バナー */
.footer_banner {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #fffde5;
	padding: 60px 0 80px 0;
	border-top: solid 1px #e3d3bc;
}
.footer_banner a {
	margin: 0 0 20px 0;
}
.footer_banner a:last-child {
	margin: 0;
}
.footer_banner a img {
	display: block;
	max-width: 100%;
}
.footer_banner a:hover {
	opacity: 0.8;
}

.footer_member_regist_banner {
	position: relative;
}
.footer_banner .footer_member_regist_banner .cast_iamge {
	display: flex;
	justify-content: space-between;
    width: 320px;
    position: absolute;
    right: 20px;
    top: 24px;
}
.footer_banner .footer_member_regist_banner .cast_iamge span {
	width: 31%;
	min-width: 31%;
	height: 120px;
}
.footer_banner .footer_member_regist_banner .cast_iamge span img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top  center;
	display: block;
}
.footer_banner .footer_member_regist_banner .mes {
	position: absolute;
    height: 28px;
    padding: 5px 10px;
    background-color: rgb(255 255 255 / 90%);
    border: #ff80aa solid 2px;
    border-radius: 50px;
}
.footer_banner .footer_member_regist_banner.men .mes {
	border: #6e93fb solid 2px;
}
.footer_banner .footer_member_regist_banner .mes img {
	height: 100%;
	width: auto;
	display: block;
}
.footer_banner .footer_member_regist_banner .mes_1 {
    right: 230px;
    top: 10px;
}
.footer_banner .footer_member_regist_banner .mes_2 {
    right: 40px;
    top: 127px;
}
@media screen and (max-width: 760px) {
	.footer_banner {
		padding: 4vw 4vw 10vw 4vw;
	}
}
