@charset "utf-8";
/* CSS Document */

/*==========
Googleフォント
==========*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Upright:wght@400;700&display=swap');


/*==========
リセットCSS
==========*/
@import url("destyle.css");

/*==========
色指定
==========*/
@import url("color.css");


/*==========
共通
==========*/
html {
	font-size: 62.5%;
}

body {
	font-family: 'Noto Sans JP', "Montserrat", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-size: 1.5rem;
	line-height: 1.57;
	color: var(--font_body_color);
	background: var(--body_color);
}

a {
	color: var(--a_color);
}

a:hover {
	color: var(--a_hover_color);
}

body {
	animation: fade 1s;
}

@keyframes fade {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

img {
	height: auto;
}

/*body::before {
	position:fixed;
	top:0;
	left:0;
	z-index:-1;
	width:100vw;
	height:100vh;
	background: url(../img/bg_drape_bk.jpg) bottom center;
	-webkit-background-size:cover;
	background-size:cover;
	content:"";
	opacity: 0.3;
}*/


.container {
	width: 92%;
	margin: 0 auto;
}

@media (min-width: 900px) {
	body {
		font-size: 1.7rem;
		line-height: 1.67;
	}

	.container {
		max-width: 900px;
		width: 100%;
	}
}


/*==========
セクションタイトル
==========*/
.section_title {
	display: flex;
	align-items: center;
	border-bottom: dotted 1px var(--border_section_title);
	margin-bottom: 25px;
}

.section_title_en {
	font-size: 2.5rem;
	color: var(--section_title_en);
	font-weight: 700;
	letter-spacing: .5px;
	margin-right: 10px;
	font-family: 'Cormorant Upright', serif;
	background: var(--section_title_en_grd);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.section_title_jp {
	font-size: 1.1rem;
	color: var(--section_title_jp);
}

@media (min-width: 900px) {
	.section_title_en {
		font-size: 3.5rem;
	}

	.section_title_jp {
		font-size: 1.2rem;
	}
}


/*==========
セクションリンク
==========*/
.section_link {
	padding: 30px 0;
}

.section_link a {
	padding: 18px 0;
	width: 96%;
	margin: 0 auto;
	text-align: center;
	background: var(--section_link);
	color: var(--section_link_text);
	font-size: 1.3rem;
	border-radius: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.section_link a .icon {
	border-radius: 25px;
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	background: rgba(255, 255, 255, 0.25);
	text-align: center;
	vertical-align: middle;
}

.section_link a .icon::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 8px;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent var(--section_link_text);
}

.section_link a:hover {
	background: var(--section_link_hover);
	color: var(--section_link_text);
}

@media (min-width: 900px) {
	.section_link a {
		padding: 18px 0;
		width: 420px;
	}
}


/*==========
サイトヘッダー
==========*/
.site_header {
	background: var(--header_color);
	position: fixed;
	width: 100%;
	z-index: 1000;
}

.site_header .container {
	width: 92%;
	height: 50px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.site_header_logo {
	max-height: 40px;
	max-width: 150px;
}

.site_header_link_recruit {
	background: var(--header_recruit_color);
	font-size: 1.1rem;
	text-align: center;
	padding: 2px 20px;
	border-radius: 20px;
	color: var(--header_recruit_text);
}

.site_header_link_recruit:hover {
	background: var(--header_recruit_color_hover);
	color: var(--header_recruit_text);
}

.site_header_link_wrap {
	display: flex;
	align-items: center;
}


/*==========
ナビゲーションボタン
===========*/
.site_header_nav_button {
	box-sizing: content-box;
	padding: 0;
	outline: none;
	border: none;
	background: none;
	width: 22px;
	cursor: pointer;
	color: var(--header_nav_button);
	z-index: 1000;
	margin-left: 16px;
}

.site_header_nav_button::before,
.site_header_nav_button::after {
	content: '';
	display: block;
	height: 2px;
	background: currentColor;
	transform: translateY(6px);
	transition: 0.3s ease-in-out;
}

.site_header_nav_button::before {
	transform: translateY(-8px);
	box-shadow: 0 8px currentColor;
}


/*==========
ナビゲーションボタン（閉じる）
===========*/
.open .site_header_nav_button {
	z-index: 1000;
	color: var(--header_nav_button);
}

.open .site_header_nav_button::before {
	transform: translateY(1px) rotate(45deg);
	box-shadow: none;
}

.open .site_header_nav_button::after {
	transform: translateY(-1px) rotate(-45deg);
}



/*==========
ナビゲーションメニュー（スマホ）
===========*/
@media (max-width: 899px) {

	html.open,
	.open body {
		height: 100%;
		overflow: hidden;
	}

	.open .site_header_nav {
		left: 0;
	}

	.site_header_nav {
		position: absolute;
		top: 0;
		left: 100%;
		width: 100%;
		height: 100vh;
		background: var(--header_nav_bg);
		color: var(--header_nav_button);
		display: flex;
		justify-content: center;
		align-items: center;
		transition: left 0.3s;
		z-index: 999;
	}

	html,
	body {
		overflow-x: hidden;
	}

	.site_header_nav ul {
		width: 70%;
	}

	.site_header_nav_item {
		margin-bottom: 5px;
	}

	.site_header_nav_item a {
		color: var(--header_nav_text);
		font-size: 1.3rem;
		padding: 13px 0;
		text-align: center;
		border: solid 1px var(--border_table);
		display: block;
	}

	.site_header_nav_item a:hover {
		background: var(--header_nav_hover);
		border: solid 1px var(--header_nav_hover);
	}

	.site_header_nav_button {
		color: var(--header_nav_button);
	}
}


/*==========
ナビゲーションメニュー（PC）
===========*/
@media (min-width: 900px) {
	.site_header .container {
		height: 70px;
		max-width: 900px;
	}

	.site_header_logo {
		max-height: 60px;
		max-width: 170px;
	}

	.site_header_link_wrap {
		flex-direction: row-reverse;
	}

	.site_header_nav_button {
		display: none;
	}

	.site_header_nav ul {
		display: flex;
		align-items: center;
	}

	.site_header_nav_item {
		font-size: 1.2rem;
		margin-left: 12px;
		padding-right: 12px;
		border-right: solid 1px rgba(255, 255, 255, 0.30);
	}

	.site_header_nav_item a {
		color: var(--header_nav_button);
	}

	.site_header_nav_item a:hover {
		color: var(--a_hover_color);
	}

	.site_header_nav_item:last-child {
		border-right: none;
	}

	.site_header_link_recruit {
		font-size: 1.2rem;
		padding: 2px 25px;
		margin-right: 0;
	}
}


/*==========
MV
==========*/
.mv {
	padding-top: 50px;
}

.mv img {
	width: 100%;
}

.mv .container {
	width: 100%;
}

@media (min-width: 900px) {
	.mv {
		padding-top: 70px;
	}

	.mv .container {
		max-width: 900px;
	}
}


/*==========
wrap
==========*/
.wrap {
	padding-top: 50px;
}

@media (min-width: 900px) {
	.wrap {
		padding-top: 70px;
	}
}

.wrap_top {
	padding-top: 0;
}


/* ==========
shop_info_top
==========*/
.shop_info_top {
	padding-top: 5px;
}

.shop_info_top .container {
	display: flex;
	justify-content: space-between;
}

.shop_info_top_text {
	width: 55%;
}

.shop_info_top_shop_name {
	font-size: 1.2rem;
}

.shop_info_top_shop_name span {
	display: block;
}

@media (min-width: 900px) {
	.shop_info_top_shop_name {
		font-size: 1.4rem;
	}
}


/* ==========
SNSリンク
==========*/
.shop_info_sns {
	width: 45%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	margin-top: -20px;
	z-index: 100;
}

.shop_info_sns_item a {
	background: var(--sns_icon);
	border-radius: 50%;
	height: 42px;
	width: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: 5px;
}

.shop_info_sns_item a:hover {
	background: var(--sns_icon_hover);
}

.svg_twitter {
	fill: var(--sns_icon_svg);
	height: 22px;
}

.svg_instagram {
	fill: var(--sns_icon_svg);
	height: 28px;
}

.svg_tiktok {
	fill: var(--sns_icon_svg);
	height: 26px;
}

.svg_youtube {
	fill: var(--sns_icon_svg);
	height: 24px;
}

@media (min-width: 900px) {
	.shop_info_sns_item a {
		height: 52px;
		width: 52px;
		margin-left: 8px;
	}
}



/*==========
キャスト一覧
==========*/
.cast_list {
	padding: 30px 0 50px;
}

.cast_list_top {
	padding: 30px 0 30px;
}

.cast_list_wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.cast_list_item {
	width: calc((100% - 15px * 1) / 2);
}

.cast_list_item a {
	display: flex;
	flex-direction: column;
}

.cast_list_item_photo_wrap {
	position: relative;
}

.cast_list_item_new_flag::before {
	content: "";
	top: -3px;
	right: -3px;
	border-bottom: 45px solid transparent;
	border-right: 45px solid var(--cast_new_flag);
	position: absolute;
	z-index: 10;
}

.cast_list_item_new_flag::after {
	content: "NEW";
	display: block;
	top: 3px;
	transform: rotate(45deg);
	font-size: 1.1rem;
	color: var(--cast_new_flag_text);
	right: -2px;
	position: absolute;
	z-index: 11;
}

.cast_list_item_number {
	font-family: 'Cormorant Upright', serif;
	font-size: 2rem;
	color: var(--cast_number_text);
	text-align: center;
	background: var(--cast_number_label);
	transform: skewX(-15deg);
	width: 40%;
	position: absolute;
	bottom: 3px;
	left: -3px;
	z-index: 10;
}

.cast_list_item_photo_mask {
	display: block;
	overflow: hidden;
	position: relative;
	width: 100%;
	padding-bottom: 100%;
}

.cast_list_item_photo {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 0%;
	transform: scale(1);
	transition: .3s ease-in-out;
}

.cast_list_item_photo:hover {
	transform: scale(1.08);
}

.cast_list_item_name {
	font-size: 1.5rem;
	padding-top: 5px;
}

.cast_list_item_shop {
	font-size: 1.2rem;
}

.cast_list_item_status {
	font-size: 1.2rem;
	color: var(--cast_status);
}


@media (min-width: 900px) {
	.cast_list {
		padding: 40px 0 60px;
		gap: 20px;
	}

	.cast_list_item {
		width: calc((100% - 20px * 4) / 5);
		margin-bottom: 30px;
	}
}


/*==========
ニュース
==========*/
.news {
	padding: 20px 0 70px;
}

@media (min-width: 900px) {
	.news {
		padding: 20px 0 120px;
	}
}

.news_item {
	padding: 13px 5px;
	border-bottom: solid 1px var(--border_table);
}

.news_item_info,
.news_item_date {
	display: inline-block;
	padding: 1px 12px;
	background: var(--news_label);
	font-size: 1.2rem;
	color: var(--news_label_text);
}

.news_item_title {
	font-size: 1.6rem;
	padding: 6px 0;
}

.news_item_des {
	font-size: 1.35rem;
}


/*==========
メッセージ
==========*/
.message {
	padding: 35px 0 70px;
	background: var(--color_section);
}

@media (min-width: 900px) {
	.message {
		padding: 70px 0 100px;
	}
}


/*==========
システム
==========*/
.system {
	padding: 30px 0 60px;
}

.system_top {
	padding: 60px 0 90px;
}

.system_text {
	padding-bottom: 40px;
	font-size: 1.3rem;
}

.price_table {
	width: 100%;
}

.price_table th,
.price_table td {
	font-size: 1.3rem;
	padding: 18px 10px;
	border-bottom: 1px solid var(--border_table);
}

.price_table th {
	min-width: 80px;
}

@media (min-width: 900px) {
	.system {
		padding: 40px 0 100px;
	}

	.system_top {
		padding: 100px 0;
	}

	.system_text {
		padding-bottom: 60px;
		font-size: 1.6rem;
	}

	.price_table th,
	.price_table td {
		font-size: 1.6rem;
		padding: 24px 10px;
	}

	.price_table th {
		width: 250px;
	}
}


/*==========
クーポン
==========*/
.coupon {
	padding: 30px 0 80px;
}

.coupon_item {
	padding: 18px 10px 24px;
	margin-bottom: 12px;
	background: var(--color_section);
}

.coupon_item_title {
	font-size: 1.6rem;
	font-weight: 700;
	padding: 6px 0;
}

.coupon_item_label {
	display: inline-block;
	padding: 1px 12px;
	background: var(--section_title_en);
	font-size: 1.2rem;
	color: #FFF;
}

.coupon_item_text {
	font-size: 1.35rem;
}

@media (min-width: 900px) {
	.coupon {
		padding: 30px 0 150px;
	}

	.coupon_wrap {
		display: flex;
		gap: 10px;
	}

	.coupon_item {
		padding: 20px 14px;
		flex: 1;
	}
}


/*==========
店内写真
==========*/
.shop_photo {
	padding: 0 0 30px;
}

@media (min-width: 900px) {
	.shop_photo {
		padding: 0 0 60px;
	}
}

.shop_photo .container {
	width: 100%;
}

.shop_photo .slick-slide {
	margin: 0 5px;
}



/*==========
店舗情報
==========*/
.shop_info_bottom {
	padding: 30px 0 60px;
}

.shop_info_group {
	font-size: 1.3rem;
}

.shop_info_area {
	font-size: 1.3rem;
}

.shop_info_name {
	font-size: 1.8rem;
}

.shop_info_kana {
	font-size: 1.2rem;
}

.shop_tel_btn {
	font-size: 2rem;
	display: block;
	padding: 10px 0;
	margin: 15px 0 20px;
	background: var(--tel_btn);
	color: var(--tel_btn_text);
	text-align: center;
}

.shop_tel_btn:hover {
	background: var(--tel_btn_hover);
	color: var(--tel_btn_text);
}

.shop_link {
	margin-bottom: 25px;
	display: flex;
	flex-wrap: wrap;
}

.shop_link_item {
	font-size: 1.3rem;
	background: var(--tel_btn);
	color: var(--tel_btn_text);
	padding: 1px 10px;
	margin-right: 5px;
}

.shop_link_item:hover {
	background: var(--tel_btn_hover);
	color: var(--tel_btn_text);
}

.shop_info_open {
	font-size: 1.3rem;
}

.shop_info_close {
	font-size: 1.3rem;
	margin-bottom: 15px;
}

.shop_info_address {
	font-size: 1.3rem;
	margin-bottom: 2px;
}

.shop_info_map_apps {
	font-size: 1.2rem;
	background: var(--tel_btn);
	color: var(--tel_btn_text);
	padding: 1px 10px;
	display: inline-block;
	margin-bottom: 5px;
}

.shop_info_map_apps:hover {
	background: var(--tel_btn_hover);
	color: var(--tel_btn_text);
}

.shop_info_access {
	font-size: 1.3rem;
}

@media (min-width: 900px) {
	.shop_info_bottom {
		padding: 50px 0;
	}

	.shop_tel_btn {
		width: 280px;
	}

	.shop_info_group {
		font-size: 1.5rem;
	}

	.shop_info_area {
		font-size: 1.6rem;
	}

	.shop_info_name {
		font-size: 2.4rem;
	}

	.shop_info_kana {
		font-size: 1.3rem;
	}

	.shop_info_open {
		font-size: 1.5rem;
	}

	.shop_info_close {
		font-size: 1.5rem;
	}

	.shop_info_address {
		font-size: 1.5rem;
	}

	.shop_info_access {
		font-size: 1.4rem;
	}

}


/*==========
地図
==========*/
.shop_map {
	padding: 0 0 90px;
}

@media (min-width: 900px) {
	.shop_map {
		padding: 0 0 160px;
	}
}

.shop_map .container {
	width: 100%;
}

.shop_googlemap {
	width: 100%;
	height: 300px;
}

@media (min-width: 900px) {
	.shop_googlemap {
		height: 400px;
	}
}


/*==========
グループ店
==========*/
.group_shop {
	padding: 40px 0 50px;
	background: var(--color_section);
}

.group_shop_list_item {
	font-size: 1.2rem;
	margin-bottom: 8px;
}

@media (min-width: 900px) {
	.group_shop {
		padding: 50px 0 100px;
	}

	.group_shop_list {
		display: flex;
		flex-wrap: wrap;
	}

	.group_shop_list_item {
		margin-right: 16px;
	}
}



/*==========
ナンバーページ
==========*/
.number_list .cast_list_item:first-child {
	width: 100%;
}

@media (min-width: 900px) {
	.number_list .cast_list_item:first-child {
		width: 100%;
	}

	.number_list .cast_list_item:first-child a {
		width: 40%;
		margin-bottom: 10px;
	}
}



/*==========
プロフィールページ
==========*/
.profile_header {
	padding-top: 30px;
}

.profile_photo_slider {
	width: 75vw;
	margin: 0 auto;
}

.profile_photo_slider .slick-slide img {
	width: 75vw;
	height: 75vw;
	object-fit: cover;
	object-position: 50% 0%;
}

.profile_header_info {
	text-align: center;
}

.profile_name {
	font-size: 2.5rem;
	padding-top: 5px;
}

.profile_en {
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--cast_status);
	padding-bottom: 3px;
}

.profile_status {
	font-size: 1.4rem;
	padding-bottom: 3px;

}

.profile_sns {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 10px 0 16px;
}

.profile_sns a {
	background: var(--sns_icon);
	border-radius: 50%;
	height: 42px;
	width: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 5px;
}

.profile_sns_item a:hover {
	background: var(--sns_icon_hover);
}

.profile_pr {
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 20px;
}

.profile_pr_item {
	font-size: 1.2rem;
	color: var(--cast_profile_pr_text);
	background: var(--cast_profile_pr);
	padding: 1px 8px;
	margin: 0 3px 5px;
	transform: skewX(-10deg);
}

.profile_wrap {
	padding: 30px 0;
}

.profile_table {
	font-size: 1.3rem;
	display: flex;
	flex-wrap: wrap;
	padding-bottom: 20px;
}

.profile_table dt {
	padding-bottom: 8px;
	width: 30%;
}

.profile_table dd {
	padding-bottom: 8px;
	width: 70%;
}

.svg_line {
	fill: var(--sns_icon_svg);
	height: 37px;
}

.svg_line_text {
	fill: var(--sns_icon);
}

.svg_line_baloon {
	fill: var(--sns_icon_svg);
}

.svg_tel {
	fill: var(--sns_icon_svg);
	height: 26px;
}

.svg_mail {
	fill: var(--sns_icon_svg);
	height: 25px;
}

.profile_sns_other {
	margin-bottom: 25px;
	display: flex;
	flex-wrap: wrap;
}

.profile_sns_other_item {
	font-size: 1.3rem;
	background: var(--tel_btn);
	color: var(--tel_btn_text);
	padding: 1px 10px;
	margin-right: 5px;
}

.profile_sns_other_item:hover {
	background: var(--tel_btn_hover);
	color: var(--tel_btn_text);
}

.profile_link {
	padding-bottom: 40px;
}

.profile_link_item {
	display: block;
	padding: 16px 10px;
	border-bottom: solid 1px var(--border_table);
	font-size: 1.3rem
}

.profile_link_item:first-child {
	padding-top: 10px;
}

@media (min-width: 900px) {
	.profile_header {
		width: 600px;
		margin: 0 auto;
	}

	.profile_photo_slider {
		width: 100%;
	}

	.profile_photo_slider .slick-slide img {
		width: 100%;
		height: 600px;
	}

	.profile_sns a {
		height: 52px;
		width: 52px;
		margin: 0 8px;
	}

	.profile_pr {
		padding-top: 10px;
	}

	.profile_wrap {
		width: 600px;
		margin: 0 auto;
		padding-bottom: 80px;
	}

	.profile_table {
		font-size: 1.5rem;
		padding-bottom: 30px;
	}

	.profile_table dt {
		width: 30%;
	}

	.profile_table dd {
		padding-bottom: 16px;
		width: 70%;
	}

	.profile_sns_other_item {
		font-size: 1.4rem;
		padding: 1px 16px;
		margin-right: 8px;
	}

	.profile_link {
		width: 600px;
		margin: 0 auto;
		padding-bottom: 80px;
	}
}


/*==========
ポスター
==========*/
.poster {
	padding: 30px 0 60px;
}

.poster_list {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: center;
}

.poster_list_item {
	width: 70%;
	margin: 0 auto;
	padding-bottom: 40px;
}

.poster_list_item_img {
	margin-bottom: 8px;
}

.poster_list_item_date {
	font-size: 1.2rem;
}

.poster_list_item_title {
	font-size: 1.3rem;
	font-weight: 700;
}

@media (min-width: 900px) {
	.poster_list {
		flex-direction: row;
		justify-content: start;
		gap: 20px;
		padding-bottom: 60px;
	}

	.poster_list_item {
		width: calc((100% - 20px * 4) / 5);
		margin: 0;
		padding-bottom: 30px;
	}

}



/*==========
イベントトピックス
==========*/
.topics {
	padding: 30px 0 60px;
}

.topics_list {
	padding-bottom: 80px;
}

.topics_list_item a {
	display: flex;
	justify-content: space-between;
	padding: 16px 0;
	border-bottom: solid 1px var(--border_table);
}

.topics_list_item_text {
	width: calc(100% - 110px);
}

.topics_list_item_date {
	font-size: 1.2rem;
}

.topics_list_item_title {
	font-size: 1.35rem;
	font-weight: 700;
}

.topics_list_item_img_wrap {
	display: block;
	overflow: hidden;
}

.topics_list_item_img {
	width: 100px;
	height: 100px;
	object-fit: cover;
	object-position: 50% 0%;
	transform: scale(1);
	transition: .3s ease-in-out;
}

.topics_list_item_img:hover {
	transform: scale(1.08);
}

@media (min-width: 900px) {
	.topics_list_item_text {
		width: calc(100% - 170px);
	}

	.topics_list_item_date {
		font-size: 1.3rem;
	}

	.topics_list_item_title {
		font-size: 1.6rem;
	}

	.topics_list_item_img {
		width: 150px;
		height: 150px;
	}
}



/*==========
イベントトピックススライダー
==========*/
.event {
	padding: 30px 0 60px;
}

.event_info {
	text-align: center;
	padding-bottom: 8px;
	border-bottom: dotted 1px var(--border_section_title);
	margin-bottom: 20px;
}

.event_info_date {
	font-size: 1.2rem;
}

.event_info_title {
	font-size: 1.35rem;
	font-weight: 700;
}

.event_photo_slider_caption {
	padding-top: 8px;
	font-size: 1.2rem;
}

@media (min-width: 900px) {
	.event_info_date {
		font-size: 1.4rem;
	}

	.event_info_title {
		font-size: 1.7rem;
	}


	.event_photo_slider {
		width: 700px;
		margin: 0 auto;
	}

	.slick-slide img {
		margin: 0 auto;
	}

	.event_photo_slider_caption {
		font-size: 1.3rem;
		text-align: center;
		padding-bottom: 20px;
	}
}



/*==========
メディア
==========*/
.media {
	padding: 30px 0 60px;
}

.media_list_item {
	padding-bottom: 16px;
	border-bottom: solid 1px var(--border_table);
	margin-bottom: 24px;
}

.media_list_item_text {
	padding-top: 8px;
}

.media_list_item_date {
	font-size: 1.2rem;
	margin-bottom: 4px;
}

.media_list_item_title {
	font-size: 1.35rem;
	font-weight: 700;
}

@media (min-width: 900px) {
	.media_list_item a {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 8px;
	}

	.media_list_item_img_cover {
		width: 300px;
	}

	.media_list_item_text {
		width: calc(100% - 320px);
	}

	.media_list_item_date {
		font-size: 1.4rem;
	}

	.media_list_item_title {
		font-size: 1.6rem;
	}
}



/*==========
求人情報
==========*/
.recruit_photo .container {
	width: 100%;
}

.recruit_header {
	padding: 30px 0 40px;
}

.recruit_header_copy {
	font-size: 2rem;
}

.recruit_message {
	padding-bottom: 60px;
}

.recruit_option {
	padding-bottom: 50px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.recruit_option_item {
	font-size: 1.3rem;
	color: var(--recruit_option_label_text);
	background: var(--recruit_option_label);
	padding: 1px 10px;
	border-radius: 3px;
}

.recruit_table {
	width: 100%;
	border-top: 1px solid var(--border_table);
	margin-bottom: 60px;
}

.recruit_table th,
.recruit_table td {
	padding: 18px 10px;
	border-bottom: 1px solid var(--border_table);
}

.contact_btn {
	padding-bottom: 50px;
}

.contact_btn_item {
	border: solid 1px var(--contact_btn_border);
	margin-bottom: 15px;
}

.contact_btn_item a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	height: 60px;
}

.contact_btn_item_svg_circle {
	background: var(--sns_icon);
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: calc(50% - 100px);
}

.contact_btn_item_text {
	margin-left: 10px;
	font-weight: 700;
	font-size: 1.4rem;
}

.contact_btn_item_text span {
	display: block;
	font-weight: 400;
	font-size: 1.2rem;
	color: var(--form_caution);
}

.contact_btn_item a:hover {
	color: var(--contact_btn_hover_text);
	background: var(--contact_btn_hover);
}

.contact_btn_item a:hover .contact_btn_item_svg_circle {}

@media (min-width: 900px) {
	.recruit_header_copy {
		font-size: 2.4rem;
	}

	.contact_btn {
		padding-bottom: 70px;
		display: flex;
		flex-wrap: wrap;
		gap: 10px;
	}

	.contact_btn_item {
		width: calc((100% - 10px * 2) / 3);
		margin-bottom: 5px;
	}
}


/*==========
応募フォーム
==========*/
.recruit_form {
	padding-bottom: 60px;
}

.recruit_form_table {
	width: 100%;
	margin-bottom: 60px;
}

.recruit_form_table th,
.recruit_form_table td {
	width: 100%;
	display: block;
}

.recruit_form_table th {
	padding: 12px 0 8px 8px;
}

.recruit_form_table td {
	border-bottom: 1px solid var(--border_table);
	padding: 0 8px 12px 8px;
}

.recruit_form_table input[type="text"],
.recruit_form_table input[type="number"],
.recruit_form_table input[type="tel"],
.recruit_form_table input[type="email"],
.recruit_form_table input[type="date"],
.recruit_form_table textarea {
	border: solid 1px var(--border_table);
	padding: 5px;
	background: #FFF;
	color: #171717;
}

.recruit_form_table textarea {
	width: 100%;
	height: 200px;
}

.recruit_form_table input[type="radio"] {
	margin-right: 5px;
}

.input_long {
	width: 100%;
}

.input_middle {
	width: 70%;
}

.input_short {
	width: 30%;
	margin-right: 5px;
}

.form_flex {
	display: flex;
}

.form_flex label {
	display: flex;
	align-items: center;
	padding-right: 30px;
}

.form_required {
	color: var(--form_required);
	font-weight: 400;
	font-size: 1.2rem;
	padding-left: 5px;
}

.form_caution {
	color: var(--form_caution);
	font-weight: 400;
	font-size: 1.2rem;
	padding-bottom: 5px;
}

.form_submit_btn {
	font-weight: 700;
	font-size: 1.4rem;
	display: block;
	width: 100%;
	padding: 15px 0;
	text-align: center;
	background: var(--form_submit_btn);
	color: var(--form_submit_text);
}

.form_submit_btn:hover {
	background: var(--form_submit_btn_hover);
}

@media (min-width: 900px) {
	.input_long {
		width: 360px;
	}

	.input_middle {
		width: 300px;
	}

	.input_short {
		width: 150px;
	}

	.recruit_form_table textarea {
		width: 700px;
		height: 300px;
	}

	.form_submit_btn {
		width: 440px;
		padding: 18px 0;
		margin: 0 auto;
	}
}



/*==========
ページャー
==========*/
.pagination {
	display: flex;
	justify-content: center;
}

.pagination li {
	border: solid 1px var(--pagination_border);
	margin: 0 2px;
}

.pagination li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	color: var(--pagination_text);
}

.pagination li a:hover,
.pagination li a.active {
	background: var(--pagination_border);
	color: var(--pagination_hover_text);
}

.pagination li.prev a span,
.pagination li.next a span {
	margin-top: -4px;
}

@media (max-width: 899px) {
	.pagination li {
		display: none;
	}

	.pagination li.prev,
	.pagination li.next {
		display: inline-block;
		width: 40%;
	}

	.pagination li.prev a,
	.pagination li.next a {
		width: 100%;
	}

	.pagination li.prev span::after {
		content: "前の10件へ";
		margin-left: 10px;
		font-size: 1.2rem;
	}

	.pagination li.next span::before {
		content: "次の10件へ";
		margin-right: 10px;
		font-size: 1.2rem;
	}
}


/*==========
フッター
==========*/
.site_footer {
	padding: 40px 0 40px;
	background: var(--footer_color);
	text-align: center;
	color: var(--footer_text);
}

.site_footer_copyright {
	font-size: 1.2rem;
}

@media (min-width: 900px) {
	.site_footer {
		padding: 70px 0 70px;
	}

	.site_footer_copyright {
		font-size: 1.3rem;
	}
}


/*==========
404ページ
==========*/
.not404 {
	padding: 30px 0 80px;
	height: calc(100vh - 150px);
}

.not404_message {
	padding: 50px 0;
	text-align: center;
	font-size: 1.4rem;
}

@media (min-width: 900px) {
	.not404 {
		height: calc(100vh - 200px);
	}
}



/*==========
掲載終了
==========*/
.closed {
	padding: 30px 0 80px;
	height: calc(100vh - 150px);
}

.closed_message {
	padding-top: 60px;
	text-align: center;
	font-size: 1.4rem;
}

@media (min-width: 900px) {
	.closed {
		height: calc(100vh - 200px);
	}
}
