.reserve_shop_box dt,
.reserve_shop_box dd {
	cursor: pointer;
}
.reserve_shop_box dt {
	position: relative;
	border-top: 1px solid #9d9284;
	padding: 1.3em 1em;
	background: #b8aa99;
	background-size: auto 100%;
	font-weight: normal;
	color: #fff;
	font-size: 18px;
	font-size: 1.8rem;
	letter-spacing: 0.3em;
	font-weight: bold;
}
.reserve_shop_box dt:hover {
	background: rgba(184, 170, 153, 0.6);
}
.reserve_shop_box dd ul li > p {
	position: relative;
	padding: 2rem 1.5rem;
	background: #e0d8d1;
	background-size: auto 100%;
	border-top: #d1cac4 1px solid;
	font-size: 18px;
	font-size: 1.8rem;
	letter-spacing: 0.2em;
	color: #404040;
	font-weight: normal;
}
.reserve_shop_box dd ul li > p:hover {
	background: rgba(224, 216, 209, 0.6);
}
.reserve_shop_box dt:after,
.reserve_shop_box dd ul li > p:after {
	position: absolute;
	right: 1.5em;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
}
.reserve_shop_box dt.close_nav:after,
.reserve_shop_box dd ul li > p.close_nav:after {
	content: '+';
}
.reserve_shop_box dt.open_nav:after,
.reserve_shop_box dd ul li > p.open_nav:after {
	content: '-';
}
.reserve_shop_detail {
	font-size: 18px;
	font-size: 1.8rem;
	padding: 1em;
	background: #fff;
	position: relative;
}
.reserve_shop_detail:hover {
	background: rgba(255, 255, 255, 0.7);
}
.reserve_shop_detail .shop_btn {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	height: 100%;
	width: 100%;
}
.reserve_shop_detail:not(:last-of-type) {
	border-bottom: 1px dashed #ccc;
}
.reserve_shop_detail > p:before {
	font-family: 'FontAwesome';
	content: '\f152';
	padding: 0 5px 0 0;
}
.reserve_shop_detail > p a {
	color: rgba(67, 63, 63, 1);
	font-size: 16px;
	font-size: 1.6rem;
}
.reserve_shop_detail > div {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	margin: 15px 0 0;
	position: relative;
	z-index: 1;
}
.reserve_shop_detail > div a {
	font-size: 14px;
	color: #ffffff;
	background-color: #603711;
	border-radius: 5px;
	padding: 6px 11px;
	text-align: center;
	text-decoration: none;
}
.reserve_shop_detail > div a:first-of-type {
	background-color: #e50012;
	border-color: #ee091c;
}
.reserve_shop_detail > div a:nth-of-type(2) {
	margin: 0 0 0 10px;
	background-color: rgb(128, 128, 128);
}

.shop_title {
	width: 50%;
	text-align: center;
	margin: 0 auto;
}
.shop_title + p {
	margin: 30px auto 5%;
	text-align: center;
}
.shop_title + p span {
	padding: 10px 30px;
	background: #ffff05;
	font-size: 3vw;
	font-weight: bold;
}

/* ===================================================================
          予約ページ
=================================================================== */

/* -----------------------------------------------------------
    お問い合わせ
----------------------------------------------------------- */
.lower_title {
	font-size: 45px;
	font-size: 4.5rem;
	font-weight: 400;
	text-align: center;
	margin: 40px 0 0;
}
.contact_box > section form > .btn02 {
	margin: 10px auto 0;
}
.btn02 {
	display: block;
	border: 1px solid #ccc;
	background-color: #ffef00;
	border-radius: 5px;
	padding-top: 15px;
	padding-bottom: 15px;
	font-size: 16px;
	font-weight: 500;
	text-align: center;
	width: 290px;
	margin: 20px 0 0;
	text-decoration: none;
}
.btn02:hover {
	background-color: #ffcc00;
}
.btn02.back:hover {
	border: 1px solid #ccc;
	background-color: rgb(167, 167, 167);
}
.btn02.back {
	border: 1px solid #ccc;
	background-color: #ddd;
}
.contact_box {
	padding: 0 5% 5%;
}
.contact_box > div {
	background: #f3f4ec;
	padding: 30px 0;
	margin: 40px 0 0;
}
.contact_box > div > p,
.contact_box > div > ul {
	max-width: 760px;
	margin: 0 auto;
}
.contact_box > div > p {
	text-align: center;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
}
.contact_box > div > p:nth-of-type(n + 2) {
	margin: 20px auto 0;
}
.contact_box > div > a {
	margin: 20px auto 0;
}
.contact_box > div > ul {
	margin: 30px auto 0;
	background: #fff;
	padding: 40px 60px;
}
.contact_box > div:nth-of-type(2) > ul {
	margin: 0 auto 0;
	background: #fff;
	padding: 40px 60px;
}
.contact_box > div > ul li {
	display: flex;
	display: -webkit-flex;
}
.contact_box > div > ul li:nth-of-type(n + 2) {
	margin: 5px 0 0;
}
.contact_box > div > ul li:before {
	content: '※';
}
.contact_box > section form {
	margin: 30px auto 0;
	max-width: 760px;
}
.contact_box > section form > dl {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	border-bottom: 1px solid #ccc;
	width: 100%;
	padding: 20px 0;
}
.reserve .contact_box > section form > dl:nth-of-type(-n + 3) > dd input {
	border: none;
	font-size: 20px;
}
.contact_box > section form > dl > dt {
	flex: 0 0 200px;
	-webkit-flex: 0 0 200px;
	font-size: 16px;
	margin-right: 10px;
}
.contact_box > section form > dl > dt span {
	background-color: #94311d;
	color: #fff;
	font-size: 12px;
	padding: 5px 12px;
	border-radius: 5px;
	margin: 0 0 0 10px;
}
.contact_box > section form > dl > dd {
	flex: 1 1;
	-webkit-flex: 1 1;
}
.contact_box > section form > dl:last-of-type {
	display: block;
}
.contact_box > section form > dl input,
.contact_box > section form select {
	border: 1px solid #ccc;
	color: #666;
	width: calc(100% - 10px);
	margin: 0 20px 0 0;
	padding: 12px 0;
	text-indent: 20px;
	font-size: 14px;
}
.contact_box > section form select,
.contact_box > section form #course {
	margin: 9px 0 0 0;
	display: inline-block;
	font-size: 14px !important;
	width: 98%;
	padding: 12px 20px;
	border: 1px solid #ccc;
	color: #666;
	background: url('../img/contact/select_ticker.png');
	background-color: rgba(0, 0, 0, 0);
	background-position-x: 0%;
	background-position-y: 0%;
	background-repeat: repeat;
	background-size: auto;
	background-repeat: no-repeat;
	background-color: #fff;
	background-position: 100.2% 50%;
	background-size: 9%;
	cursor: pointer;
}
.contact_box > section form select {
	appearance: none;
	padding: 12px 0;
	width: 100%;
}
.contact_box > section form #course {
	padding: 12px 0px;
	width: 100%;
}
.contact_box > section form textarea {
	border: 1px solid #ccc;
	color: #666;
	margin: 20px 0 0 0;
	padding: 12px 0;
	text-indent: 20px;
	font-size: 14px;
}
.contact_box > section form > dl dd > dl:nth-of-type(n + 2) {
	margin: 20px 0 0;
}
.contact_box > section form > dl dd > dl dt > span {
	font-size: 12px;
}
.contact_box > section form > dl dd > dl dd {
	margin: 5px 0 0;
}
.contact_box > section form > .btn02 {
	margin: 10px auto 0;
}
.contact_box > section form > p {
	margin: 20px 0 0;
}
.contact_box > section form > label {
	display: block;
	margin: 20px 0 0;
	text-align: center;
}

.notpage {
	margin: 40px auto;
	padding: 40px;
	background: #fff8e3;
}
.notpage h2 {
	font-size: 25px;
	font-size: 2.5rem;
	font-weight: bold;
	text-align: center;
}
.notpage p {
	font-size: 16px;
	font-size: 1.6rem;
	text-align: center;
	margin: 20px 0 0;
}
.notpage a {
	margin: 60px auto 0;
}

.courselist {
	display: flex;
	display: -webkit-flex;
	max-width: 550px;
	width: 100%;
	border: 1px solid #ccc;
	border-left: none;
}
.courselist > p {
	font-size: 14px;
	font-size: 1.4rem;
	text-align: center;
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;
	padding: 0 5px;
	font-weight: bold;
}
.courselist > p.new_cource {
	background-color: #9966cc;
	color: #ffffff;
}
.courselist > p.all_cource {
	background-color: #deb8f0;
	color: #9965cd;
}
.courselist > p.free_cource {
	background-color: #e50012;
	color: #fff;
}
.course_detail {
	display: inline-flex;
	display: -webkit-inline-flex;
}
.course_detail li {
	background: #6dcd97;
	font-size: 10px;
	font-size: 1rem;
	margin-right: 5px;
	margin-bottom: 5px;
	padding: 1px 10px;
	text-align: center;
	color: #ffffff;
	white-space: nowrap;
}
.cource_title_box {
	display: flex;
	display: -webkit-flex;
	align-items: flex-start;
	-webkit-align-items: flex-start;
	margin: 10px 0 0;
}
.cource_title {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	color: #665555;
	flex: 1 1;
	-webkit-flex: 1 1;
	margin: 0 20px 0 0;
}
.cource_title.recommend {
	color: #e50012;
}
.cource_price {
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bold;
	color: #cc4466;
}
.course_detail_box {
	padding: 10px;
}

.cource_caption_box {
	display: block;
	/* display: -webkit-flex; */
	/* align-items: flex-start; */
	/* -webkit-align-items: flex-start; */
	overflow: hidden;
	margin: 10px 0 0;
}
.cource_caption_box picture {
	margin: 0 15px 0 0;
	float: left;
}
.cource_caption_box > div > p {
	font-size: 12px;
	font-size: 1.2rem;
}
.cource_caption_box > div > dl {
	display: flex;
	display: -webkit-flex;
	align-items: flex-start;
	-webkit-align-items: flex-start;
	font-size: 12px;
	font-size: 1.2rem;
}
.cource_caption_box > div > dl:first-of-type {
	margin: 10px 0 0;
}
.cource_caption_box > div > dl:nth-of-type(n + 2) {
	margin: 5px 0 0;
}
.cource_caption_box > div > dl dt {
	color: #9966cc;
	flex: 0 0 auto;
}
.cource_caption_box > div > dl dt:after {
	content: ':';
	padding: 0 5px;
}
.reserve_btn_box {
	padding: 10px;
	background: #fdf7ef;
	flex: 0 0 130px;
	-webkit-flex: 0 0 130px;
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;
}
.reserve_btn_box a {
	border: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	cursor: pointer;
	display: block;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	background: #8a5db7;
	background: linear-gradient(to bottom, #ad7edb 0%, #8a5db7 75%, #7f51ac 100%);
	border: 1px solid #b386e0;
	border-radius: 4px;
	box-shadow: inset 1px 1px 3px #d9bff0, inset -1px -1px 3px #a781cc;
	color: #ffffff !important;
	padding: 1px;
	flex: 1 1;
	-webkit-flex: 1 1;
	font-size: 14px;
	font-size: 1.4rem;
}
.reserve_btn_box a:hover {
	background: linear-gradient(to bottom, #bd98e2 0%, #a17dc5 75%, #9772bb 100%);
}
#course_area {
	height: 60vh;
	overflow-y: auto;
	overflow-x: hidden;
}
.btnbox {
	display: flex;
	display: -webkit-flex;
	align-items: center;
	-webkit-align-items: center;
	justify-content: center;
	-webkit-justify-content: center;
}
.btnbox button {
	margin: 20px 0 0 20px;
}

/* ------------------------------
 table
------------------------------ */

#dkp_shop_vacancy_search_area table {
	table-layout: fixed;
	border-collapse: collapse;
}

table.def_tbl {
	width: 100%;
	font-size: 12px;
}

table.border_tbl {
	width: 100%;
	font-size: 12px;
	background-color: lightsteelblue;
}

table.nopad_tbl {
	border-collapse: collapse;
	padding: 0px;
	font-size: 12px;
}

table.shop_left_tbl {
	width: 253px;
	background-color: lightsteelblue;
}

table.shop_right_tbl {
	width: 955px;
	background-color: lightsteelblue;
}

table.shop_all_tbl {
	width: 1230px;
	background-color: lightsteelblue;
}

table.shop_sche_tbl {
	width: 955px;
	height: 420px;
	background-color: lightsteelblue;
}

table.wd1200_table {
	width: 1200px;
}

/* ------------------------------
 tr, th, td
------------------------------ */

td.valign_top_td {
	vertical-align: top;
}

td.top_subject_big_td {
	background-color: lightsteelblue;
	border: 1px dimgray solid;
	border-radius: 8px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	font-weight: bold;
	padding: 10px 10px 10px 20px;
	border: solid;
	border-width: 1px;
	font-size: 14px;
}

td.top_subject_td {
	background-color: lightsteelblue;
	border: 1px dimgray solid;
	border-radius: 8px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	font-weight: bold;
	padding: 5px;
	border: solid;
	border-width: 1px;
	font-size: 20px;
}

td.right_menu_td {
	text-align: right;
	padding: 5px 10px 0 0;
	margin: 0;
}

td.content_td {
	padding: 0 5px 5px 5px;
	margin: 0;
}

td.shop_content_td {
	padding: 0;
	margin: 0;
}

td.shop_content_center_td {
	text-align: center;
	padding: 0;
	margin: 0;
}

td.shop_content_right_td {
	text-align: right;
	padding: 0 10px 0 0;
	margin: 0;
}

td.menu_td {
	background-color: #cef6ce;
	border: 1px dimgray solid;
	border-radius: 8px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	font-weight: bold;
	padding: 10px 10px 10px 20px;
	border: solid;
	border-width: 1px;
	font-size: 12px;
}

td.input_subject_td {
	background-color: aliceblue;
	text-align: center;
	font-size: 12px;
	width: 50%;
}

td.input_form_td {
	background-color: white;
	text-align: left;
	padding-left: 10px;
	font-size: 12px;
	height: 34px;
}

td.input_form_center_td {
	background-color: white;
	text-align: center;
	font-size: 12px;
}

td.center_td {
	text-align: center;
}

td.input_button_td {
	padding: 20px;
	text-align: center;
	font-size: 12px;
}

td.input_message_td {
	text-align: left;
	padding-left: 20px;
	font-size: 12px;
}

td.detail_head_td {
	background-color: aliceblue;
	text-align: center;
	font-size: 12px;
}

td.detail_value_td {
	background-color: white;
	text-align: left;
	font-size: 12px;
	height: 34px;
}

td.spacer_tbl_td {
	height: 5px;
	font-size: 12px;
}

td.anchor_left_td {
	text-align: left;
	padding: 10px;
	font-size: 12px;
}

td.anchor_right_td {
	text-align: right;
	padding: 10px;
	font-size: 12px;
}

td.button_right_td {
	text-align: right;
	padding: 0 10px 0 0;
	font-size: 12px;
}

td.small_input_td {
	text-align: center;
	width: 1%;
	padding: 0px;
}

td.message_td {
	text-align: center;
	padding: 10px;
	font-size: 12px;
}

td.wd40_td {
	width: 40px;
}

td.wd100_td {
	width: 100px;
}

td.wd200_td {
	width: 200px;
}

td.wd230_td {
	width: 230px;
}

td.wd253_td {
	width: 253px;
}

td.wd300_td {
	width: 300px;
}

td.wd1p_td {
	width: 1%;
}

td.wd10p_td {
	width: 10%;
}

td.wd12p_td {
	width: 12%;
}

td.wd14p_td {
	width: 14%;
}

td.wd15p_td {
	width: 15%;
}

td.wd20p_td {
	width: 20%;
}

td.wd23p_td {
	width: 23%;
}

td.wd30p_td {
	width: 30%;
}

td.wd40p_td {
	width: 40%;
}

td.wd50p_td {
	width: 50%;
}

td.wd70p_td {
	width: 70%;
}

td.wd100p_td {
	width: 100%;
}

td.shop_left_sub_td {
	background-color: aliceblue;
}

td.shop_left_title_td {
	background-color: aliceblue;
	width: 70px;
	padding: 3px;
}

td.shop_right_title_td {
	background-color: aliceblue;
	padding: 3px;
	white-space: pre;
}

td.shop_left_text_td {
	background-color: white;
	text-align: left;
	padding: 3px;
	line-height: 14px;
}

td.shop_right_text_td {
	background-color: white;
	padding: 3px;
	line-height: 14px;
}

td.shop_sche_tl_td {
	width: 100px;
	height: 20px;
	margin: 0;
	padding: 0;
	background-color: aliceblue;
}

td.shop_sche_tr_td {
	height: 20px;
	margin: 0;
	padding: 0;
	background-color: aliceblue;
}

td.shop_sche_bl_td {
	margin: 0;
	padding: 0;
	background-color: aliceblue;
}

td.shop_sche_br_td {
	margin: 0;
	padding: 0;
	background-color: white;
}

td.calendar_message_td {
	background-color: white;
	text-align: center;
	padding: 3px;
	line-height: 14px;
	font-weight: bold;
}

/* ------------------------------
 input
------------------------------ */

input.main_submit {
	background: -moz-linear-gradient(center top, gainsboro 5%, whitesmoke 100%);
	background: -webkit-gradient(linear, left top, left bottom, from(gainsboro), to(whitesmoke));
	-ms-filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='gainsboro', endColorstr='whitesmoke', GradientType=0);
	background: -ms-linear-gradient(top, gainsboro 5%, whitesmoke 100%);
	border: 1px solid dimgray;
	border-radius: 8px;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	color: black;
	cursor: pointer;
	display: inline-block;
	font-size: 16px;
	text-align: center;
	font-size: 12px;
	width: 150px;
	height: 30px;
	text-decoration: none;
}

input.main_submit:hover {
	background: -moz-linear-gradient(center top, silver 5%, whitesmoke 100%);
}

textarea.inputta {
	font-size: 12px;
}

/* ------------------------------
 div, span
------------------------------ */

div.center_div {
	width: 1280px;
	border: solid;
	border-width: 1px;
	border-radius: 8px;
	padding: 10px;
	text-align: center;
	margin: auto;
	padding: 10px 10px 5px 10px;
}

div.main_div {
	border: solid;
	border-color: silver;
	border-width: 1px;
	border-radius: 8px;
	margin: auto;
	overflow: scroll;
}

div.menu_div {
	font-weight: 700;
}

div.input_message_div {
	color: red;
	font-size: 12px;
	padding: 5px 0px;
	text-align: center;
}

div.button_message_div {
	position: relative;
	top: -25px;
	left: 208px;
	font-size: 12px;
	width: 140px;
	text-align: center;
}

div.button_message_div:hover {
	cursor: pointer;
}

div.input_sub_title_div {
	text-align: left;
	margin: 0;
	padding: 10px 0 0 10px;
}

div.text_left_div {
	text-align: left;
	padding-left: 3px;
}

div.text_right_div {
	text-align: right;
}

div.float_left_div {
	text-align: left;
	float: left;
}

div.float_right_div {
	text-align: right;
	float: right;
}

div.float_right_no_lr_div {
	text-align: right;
	float: right;
	padding-left: 0;
	padding-right: 0;
}

div.footer_div {
	text-align: center;
	margin: 0 auto;
}

div.shop_left_div {
	width: 260px;
	margin-left: 3px;
	padding: 0 5px 10px 5px;
}

div.shop_left_last_div {
	width: 260px;
	margin-left: 3px;
	padding: 0 5px 0px 5px;
}

div.shop_right_div {
	width: 965px;
	margin-left: 13px;
	padding: 0 5px 10px 5px;
}

div.shop_right_last_div {
	width: 965px;
	margin-left: 13px;
	padding: 0 5px 0px 5px;
}

div.select_date {
	font-size: 20px;
	font-weight: bold;
	color: crimson;
	text-align: center;
	padding: 0;
}

div.sche_time {
	width: 850px;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

div.sche_time_div {
	width: 5800px;
	margin: 0;
	padding: 0;
}

div.sche_time_div_cell {
	text-align: left;
	width: 120px;
	float: left;
	margin: 0;
	padding: 0 0 0 2px;
	border-right: 1px silver solid;
}

div.sche_charge {
	height: 400px;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

div.sche_charge_cell {
	height: 20px;
	width: 99px;
	margin: 0;
	padding: 3px 0 0 0;
	border-bottom: 1px silver solid;
	overflow: hidden;
	white-space: pre;
}

div.sche_charge_cell_no_border {
	border: none;
	height: 20px;
	margin: 0;
	padding: 3px 0 0 0;
}

div.sche_content {
	width: 850px;
	height: 400px;
	margin: 0;
	padding: 0;
	overflow: scroll;
}

div.sche_line_data {
	top: 0px;
	left: 0px;
	width: 119px;
	text-align: left;
	padding: 3px 1px 1px 3px;
	position: relative;
	height: 19px;
	margin: 0;
	background-color: lightgreen;
	border: 1px mediumseagreen solid;
	overflow: hidden;
	white-space: pre;
}

div.sche_back_cell {
	width: 120px;
	height: 20px;
	margin: 0;
	padding: 0;
	float: left;
	border-right: 1px silver solid;
	border-bottom: 1px silver solid;
}

div.seating_chart_div {
	width: 1140px;
	margin: 0 auto;
}

div.silverLine {
	height: 1px;
	background-color: silver;
	margin: 5px 0;
	padding: 0;
}

div.wd40p_div {
	width: 40%;
}

div.wd45p_div {
	width: 45%;
}

div.wd50p_div {
	width: 50%;
}

div.wd55p_div {
	width: 55%;
}

div.wd60p_div {
	width: 60%;
}

div.reservation_fixed_list_print {
	width: 650px;
	font-size: 14px;
}

div.reservation_fixed_list_print div {
	font-size: 14px;
}

div.reservation_fixed_list_print table {
	width: 100%;
	font-size: 10px;
}

div.reservation_fixed_list_print table th {
	height: 50px;
	font-size: 10px;
}

div.reservation_fixed_list_print table td {
	height: 50px;
	font-size: 10px;
}

div.calendar_day {
	height: 16px;
	font-size: 14px;
	margin-bottom: 3px;
	padding-bottom: 2px;
}

div.calendar_message {
	height: 32px;
	font-size: 14px;
	margin-bottom: 3px;
	padding-bottom: 2px;
}

div.calendar_line {
	height: 1px;
	background-color: silver;
	margin: 10px 0 0 0;
	padding: 0;
}

span.warning_span {
	color: red;
	font-size: 12px;
}

span.reservation_count {
	font-size: 16px;
}

span.reservation_parsons {
	font-size: 16px;
}

span.reservation_estimate_sum_day {
	font-size: 16px;
}

span.reservation_estimate_sum_month {
	font-size: 16px;
}

span.calendar_ym {
	font-weight: bold;
	font-size: 16px;
}

/* ------------------------------
 img
------------------------------ */

img.seating_chart_img {
	max-width: 1100px;
	max-height: 1100px;
	display: block;
	margin: 0 auto;
}

img.thumbPic {
	max-width: 100px;
	max-height: 100px;
}

/* ------------------------------
 all
------------------------------ */

.wd25p {
	width: 25%;
}

.wd50p {
	width: 50%;
}

.fl {
	float: left;
}

.fr {
	float: right;
}

.bg_w {
	background-color: white;
}

.no_mp {
	margin: 0;
	padding: 0;
}

.no_hmp {
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
}

.no_mp_1h {
	height: 1px;
	margin: 0;
	padding: 0;
}

.no_h {
	height: 0px;
	margin: 0;
	padding: 0;
}

.cl {
	clear: both;
	height: 0px;
	margin: 0;
	padding: 0;
}

/* ------------------------------
 bootstrap
------------------------------ */

.panel-title {
	font-size: 12px;
}

.panel-heading {
	padding: 3px;
}

/*.label {
    vertical-align: top;
}*/

[role='button'] {
	cursor: pointer;
}

.text-hide {
	font: 0/0 a;
}

/* ------------------------------
 layout
------------------------------ */

.container {
}

#usm-container {
	position: absolute;
	top: 30px;
	left: 0;
	width: 100%;
}

#usm-left-col {
	width: 25%;
	position: absolute;
	left: 1%;
	top: 0;
}

#usm-right-col {
	width: 73%;
	position: absolute;
	right: 1%;
	top: 0;
}

/* ------------------------------
 User customize
------------------------------ */
.modal {
	position: absolute;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
	display: none;
}
.overLay {
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(0, 0, 0, 0.7);
	width: 100%;
	height: 100vh;
	z-index: 100;
}
.modal .inner1 {
	position: absolute;
	z-index: 101;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background: #fff;
	padding: 20px;
	max-width: 450px;
	width: 100%;
}

#dkp_shop_vacancy_search_area {
	max-width: 450px;
	width: 100%;
	height: auto;
	right: 0;
	position: fixed;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	top: 15%;
	max-height: 80%;
	padding: 10px;
	background-color: #f5f5f5;
	z-index: 20015;
	box-shadow: -2px 2px 20px 1px rgba(0, 0, 0, 0.3);
	border-radius: 3px 0 0 3px;
	margin-top: 0;
	margin-bottom: 20px;
	transition: right 0.3s linear;
}

#dkp_shop_vacancy_search_area.closed {
	right: -300px;
	transition: right 0.3s linear;
}

#dkp_shop_vacancy_search_area_overlay {
	height: 0;
	width: 0;
	margin: 0;
	padding: 0;
}

#dkp_vacancy_area_close_button_container.closed {
	opacity: 0;
	filter: alpha(opacity=0);
	-webkit-filter: opacity(0);
	transition: opacity 0.5s linear;
	width: 0;
	height: 0;
	overflow: hidden;
}

#dkp_vacancy_area_close_button_container {
	opacity: 1;
	filter: alpha(opacity=100);
	-webkit-filter: opacity(1);
	transition: opacity 0.5s linear;
	position: fixed;
	height: 29px;
	width: 72px;
	top: 15%;
	margin-top: -29px;
	right: 0;
	background-color: #f5f5f5;
	border-top-left-radius: 4px;
	padding: 4px 3px 0 3px;
	box-shadow: -3px -3px 10px -3px rgba(0, 0, 0, 0.3);
	z-index: 20025;
}

#dkp_vacancy_area_close_button {
	background-color: #999999;
	width: 65px;
	height: 25px;
	border-radius: 2px;
	color: #ffffff;
	font: 500 12px / 25px YuGo;
	padding-left: 4px;
	text-align: center;
	cursor: pointer;
}

#dkp_vacancy_area_close_button::before {
	content: url('https://mjgsekkotsuin.jp/lp/lp-common/css/images/dkp_vacancy_area_close_icon.png');
	width: 10px;
	height: 10px;
	position: relative;
	left: -4px;
	top: 1px;
}

#dkp_vacancy_area_open_button_container.opened {
	opacity: 0;
	filter: alpha(opacity=0);
	-webkit-filter: opacity(0);
	transition: opacity 0.5s linear;
	height: 0;
	width: 0;
	overflow: hidden;
}

#dkp_vacancy_area_open_button_container {
	opacity: 1;
	filter: alpha(opacity=100);
	-webkit-filter: opacity(1);
	transition: opacity 0.5s linear;
	z-index: 20025;
	position: fixed;
	height: 67px;
	width: 33px;
	top: 15%;
	right: 0;
	background-color: #f5f5f5;
	border-radius: 0;
	border-bottom-left-radius: 3px;
	border-top-left-radius: 3px;
	padding: 4px 0 4px 4px;
	box-shadow: -3px 0px 15px -2px rgba(0, 0, 0, 0.3);
}

#dkp_vacancy_area_open_button {
	background-color: #ed2214;
	width: 25px;
	height: 59px;
	border-radius: 3px;
	color: #ffffff;
	font: 500 11px / 13px YuGo;
	text-align: center;
	padding: 0 0.5em;
	letter-spacing: 0.1em;
	cursor: pointer;
}

#dkp_vacancy_area_open_button::before {
	content: '\003C';
	color: #ffffff;
	font: 500 10px / 15px Klee;
	width: 100%;
	display: inline-block;
	text-align: center;
	position: relative;
	left: -1px;
}

#dkp_vacancy_title_area {
	width: 100%;
	text-align: left;
}

#dkp_shop_vacancy_search_calendar_icon {
	color: #333333;
	font: 700 14px / 20px YuGo;
	float: none;
	padding-left: 5px;
}

#dkp_shop_vacancy_search_calendar_icon::before {
	content: url('../img/contact/calendar_icon.png');
	width: 13px;
	height: 13px;
	position: relative;
	top: 1px;
	left: -5px;
}

#dkp_vacancy_date_area {
	width: 100%;
	margin-top: 10px;
}

#dkp_vacancy_date_subject {
	float: left;
	width: 20%;
	height: 40px;
	background-color: #ffffff;
	color: #666666;
	font: 500 12px / 20px YuGo;
	text-align: center;
	padding: 10px 0 10px 10px;
}

#dkp_vacancy_date_input {
	float: left;
	min-width: 150px;
	width: 80%;
	height: 40px;
	border: 0;
	color: #666666;
	font: 700 14px / 20px YuGo;
	background: url('../img/contact/calendar_select_icon.png') no-repeat right 50%;
	padding: 10px 0;
	padding-right: 2.8em;
	border-radius: 0;
	text-align: center;
	cursor: pointer;
	background-color: #ffffff;
}

#dkp_vacancy_date_input.closed {
	background: url('../img/contact/calendar_select_icon_ud.png') no-repeat right 50%;
	background-color: #ffffff;
}

#dkp_vacancy_calendar_area {
	width: 100%;
	height: auto;
}

table.dkp_calendar_def_tbl {
	width: 100%;
}

table.dkp_calendar_border_tbl {
	width: 100%;
}

.dkp_calendar_border_tbl > tbody > tr.dkp_calendar_tr {
	width: 100%;
}

#dkp_calendar_pager_div {
	float: none;
	width: 100%;
	height: auto;
	margin: 10px 0;
}

#dkp_calendar_prev_div,
#dkp_calendar_next_div {
	height: 40px;
	width: 20%;
	float: left;
	text-align: center;
}

#dkp_calendar_this_div {
	height: 40px;
	width: 60%;
	float: left;
}

#calendar_this_month {
	text-align: center;
	color: #666666;
	font: 700 16px / 36px YuGo;
	padding-top: 4px;
	height: 40px;
	width: 100%;
	display: inline-block;
}

#dkp_calendar_prev_div::before {
	content: '\003C';
	color: #ed2214;
	cursor: pointer;
	font: 700 18px / 38px YuGo;
	height: 40px;
	text-align: center;
	display: inline-block;
	border-radius: 5px;
	width: 40px;
	border: 1px solid #dadada;
	background: -webkit-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: -moz-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: -o-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: -ms-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: linear-gradient(0deg, #f6f7e6 0%, #ffffff 100%);
}

#dkp_calendar_prev_div.deactive::before {
	color: #cccccc;
	cursor: auto;
}

#dkp_calendar_next_div::before {
	content: '\003E';
	color: #ed2214;
	cursor: pointer;
	font: 700 18px / 38px YuGo;
	height: 40px;
	text-align: center;
	display: inline-block;
	border-radius: 5px;
	width: 40px;
	border: 1px solid #dadada;
	background: -webkit-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: -moz-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: -o-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: -ms-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: linear-gradient(0deg, #f6f7e6 0%, #ffffff 100%);
}

#dkp_calendar_next_div.deactive::before {
	color: #cccccc;
	cursor: auto;
}

td.dkp_calendar_detail_head_td {
	background-color: #e8e8e8;
	padding: 5px;
	border: 1px solid #dadada;
}

td.dkp_calendar_detail_head_td > .dkp_calendar_week {
	font: 500 12px / 20px YuGo;
	text-align: center;
	color: #666666;
}

td.dkp_calendar_detail_head_td.dkp_calendar_week_6 {
	background-color: #e8f6fc;
}

td.dkp_calendar_detail_head_td.dkp_calendar_week_6 > .dkp_calendar_week {
	color: #59b1da;
}

td.dkp_calendar_detail_head_td.dkp_calendar_week_0 {
	background-color: #fceeed;
}

td.dkp_calendar_detail_head_td.dkp_calendar_week_0 > .dkp_calendar_week {
	color: #ed2214;
}

td.dkp_calendar_center_td[class*='dkp_calendar_week_'] {
	background-color: #ffffff;
	border: 1px solid #dadada;
	padding: 2px;
}

td.last_week_of_month.dkp_calendar_center_td[class*='dkp_calendar_week_'] {
	border-bottom: 1px solid #999999;
}

td.last_day_of_month.dkp_calendar_center_td[class*='dkp_calendar_week_'] {
	border-right: 1px solid #999999;
}

td.dkp_calendar_center_td.dkp_calendar_week_6 {
	background-color: #e8f6fc;
}

td.dkp_calendar_center_td.dkp_calendar_week_0 {
	background-color: #fceeed;
}

td.dkp_calendar_center_td.past > .dkp_calendar_day_container > .dkp_calendar_day {
	color: #999999;
}

td.dkp_calendar_center_td > .dkp_calendar_day_container {
	border: 1px solid transparent;
	text-align: center;
}

td.dkp_calendar_center_td.dkp_vacancy_date_selected > .dkp_calendar_day_container {
	background-color: #fcffcc;
	border: 1px solid #bbcb28;
	border-radius: 1px;
}

td.dkp_calendar_center_td.dkp_calendar_click_day {
	cursor: pointer;
}

td.dkp_calendar_center_td > .dkp_calendar_day_container > .dkp_calendar_day {
	color: #333333;
	font: 500 10px / 14px YuGo;
	text-align: center;
}

td.dkp_calendar_center_td > .dkp_calendar_day_container > .dkp_calendar_day + .dkp_calendar_msg {
	padding: 5px 0;
	height: 25px;
	text-align: center;
}

td.dkp_calendar_center_td > .dkp_calendar_day_container > .dkp_calendar_day + .dkp_calendar_msg_0::before {
	border-radius: 0;
	display: inline-block;
	width: 15px;
	height: 15px;
	background-color: #dea331;
	content: '';
	position: relative;
}

td.dkp_calendar_center_td > .dkp_calendar_day_container > .dkp_calendar_day + .dkp_calendar_msg_1::before {
	border: 2px solid #ed2214;
	border-radius: 15px;
	display: inline-block;
	width: 15px;
	height: 15px;
	content: '';
	position: relative;
}

td.dkp_calendar_center_td > .dkp_calendar_day_container > .dkp_calendar_day + .dkp_calendar_msg_2::before {
	border-radius: 0;
	display: inline-block;
	width: 15px;
	height: 5px;
	margin: 5px 0;
	background-color: #59b1be;
	content: '';
	position: relative;
}
td.dkp_calendar_center_td > .dkp_calendar_day_container > .dkp_calendar_day + .dkp_calendar_msg_4::before {
	color: #6bbe74;
	display: inline-block;
	width: 22px;
	height: 15px;
	font: 700 10px / 15px YuGo;
	content: '\0054\0045\004c';
	position: relative;
	top: 0px;
	left: 0px;
}
#dkp_calendar_message_area {
	width: 100%;
	height: auto;
	margin-top: 3px;
	text-align: right;
}

#dkp_calendar_message_area > [class*='dkp_calendar_message_'] {
	height: 15px;
}

#dkp_calendar_message_area > .dkp_calendar_message_0::before {
	border-radius: 0;
	display: inline-block;
	width: 9px;
	height: 9px;
	background-color: #dea331;
	content: '';
}

#dkp_calendar_message_area > .dkp_calendar_message_1::before {
	border: 1px solid #ed2214;
	border-radius: 9px;
	display: inline-block;
	width: 9px;
	height: 9px;
	content: '';
}

#dkp_calendar_message_area > .dkp_calendar_message_2::before {
	border-radius: 0;
	display: inline-block;
	width: 9px;
	height: 4px;
	background-color: #59b1be;
	content: '';
	margin-bottom: 2px;
	vertical-align: baseline;
}
#dkp_calendar_message_area > .dkp_calendar_message_4::before {
	color: #6bbe74;
	display: inline-block;
	width: 25px;
	height: 15px;
	font: 500 10px / 15px YuGo;
	content: '\0054\0045\004c';
	position: relative;
	top: 0px;
	left: 0px;
}
#dkp_calendar_message_area > .dkp_calendar_message_st {
	color: #666666;
	font: 500 11px / 15px YuGo;
	display: inline-block;
	height: 15px;
	padding-left: 4px;
}

#dkp_vacancy_time_area {
	margin-top: 10px;
	width: 100%;
	height: auto;
}

#dkp_vacancy_time_subject {
	float: left;
	width: 20%;
	text-align: center;
	color: #666666;
	font: 700 14px / 40px YuGo;
	height: 40px;
}

.dkp_vacancy_select > select {
	float: left;
	min-width: 150px;
	width: 75%;
	height: 40px;
	border: 0;
	color: #666666;
	color: #666666;
	font: 700 15px / 20px YuGo;
	background: url('https://mjgsekkotsuin.jp/lp/lp-common/img/common/calendar_select_icon.png') no-repeat right 50%;
	padding: 10px;
	padding-right: 3.5em;
	border-radius: 0;
	padding-left: 12px;
	cursor: pointer;
	background-color: #ffffff;
	-webkit-appearance: none;
	-moz-appearance: none;
	border-radius: 0;
}

#dkp_vacancy_persons_area {
	margin-top: 10px;
	width: 100%;
	height: auto;
}

#dkp_vacancy_persons_subject {
	float: left;
	width: 25%;
	text-align: center;
	color: #666666;
	font: 700 14px / 40px YuGo;
	height: 40px;
	padding-right: 5px;
}

#dkp_vacancy_search_button {
	margin-top: 15px;
	color: #ed2214;
	font: 700 14px / 50px YuGo;
	text-align: center;
	width: 100%;
	height: 50px;
	background: -webkit-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: -moz-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: -o-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: -ms-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: linear-gradient(0deg, #f6f7e6 0%, #ffffff 100%);
	border-radius: 3px;
	border: 1px solid #dadada;
	cursor: pointer;
}

#dkp_vacancy_search_result_area {
	margin-top: 10px;
}

#dkp_vacancy_result_container {
	padding: 10px;
	background-color: #ffffff;
}

#dkp_vacancy_result_title_area {
	color: #666666;
	font: 700 11px / 16px YuGo;
	text-align: left;
}

#dkp_vacancy_result_subject_area {
	margin-top: 5px;
	width: 100%;
}

#dkp_vacancy_result_date {
	float: left;
	width: 50%;
	text-align: center;
}

#dkp_vacancy_result_date_subject {
	color: #666666;
	font: 700 18px / 24px YuGo;
	height: 24px;
}

#dkp_vacancy_result_persons {
	float: left;
	width: 50%;
	text-align: center;
}

#dkp_vacancy_result_persons_subject {
	font: 700 18px / 24px YuGo;
	height: 24px;
	color: #666666;
}

#dkp_vacancy_result_message_area {
	margin-top: 5px;
	text-align: right;
}

#dkp_vacancy_result_message_area > [class*='dkp_calendar_message_'] {
	height: 15px;
}

#dkp_vacancy_result_message_area > .dkp_calendar_message_0::before {
	border-radius: 0;
	display: inline-block;
	width: 9px;
	height: 9px;
	background-color: #dea331;
	content: '';
}

#dkp_vacancy_result_message_area > .dkp_calendar_message_1::before {
	border: 1px solid #ed2214;
	border-radius: 9px;
	display: inline-block;
	width: 9px;
	height: 9px;
	content: '';
}

#dkp_vacancy_result_message_area > .dkp_calendar_message_2::before {
	border-radius: 0;
	display: inline-block;
	width: 9px;
	height: 4px;
	background-color: #59b1be;
	content: '';
	margin-bottom: 2px;
	vertical-align: baseline;
}

#dkp_vacancy_result_message_area > .dkp_calendar_message_4::before {
	color: #6bbe74;
	display: inline-block;
	width: 25px;
	height: 15px;
	font: 500 10px / 15px YuGo;
	content: '\0054\0045\004c';
	position: relative;
	top: 0px;
	left: 0px;
}

#dkp_vacancy_result_message_area > .dkp_calendar_message_st {
	color: #666666;
	font: 500 11px / 15px YuGo;
	display: inline-block;
	height: 15px;
	padding-left: 4px;
}

ul#dkp_vacancy_result_time_area {
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
	height: auto;
	display: inline-block;
	float: none;
}

ul#dkp_vacancy_result_time_area > li.cal-row {
	width: 25%;
	height: 100%;
	float: left;
	border: 1px solid #e6e6e6;
	padding: 3px;
	text-align: center;
	cursor: pointer;
}

ul#dkp_vacancy_result_time_area .dkp_vacancy_result_time {
	color: #333333;
	font: 500 10px / 20px YuGo;
	height: 20px;
	text-align: center;
}

ul#dkp_vacancy_result_time_area [class*='dkp_vacancy_result_availability_'] {
	height: 25px;
	padding: 5px 0;
	text-align: center;
}

ul#dkp_vacancy_result_time_area .dkp_vacancy_result_availability_0::before {
	border-radius: 0;
	display: inline-block;
	width: 15px;
	height: 15px;
	background-color: #dea331;
	content: '';
	position: relative;
}

ul#dkp_vacancy_result_time_area .dkp_vacancy_result_availability_1::before {
	border: 2px solid #ed2214;
	border-radius: 15px;
	display: inline-block;
	width: 15px;
	height: 15px;
	content: '';
	position: relative;
}

ul#dkp_vacancy_result_time_area .dkp_vacancy_result_availability_2::before {
	border-radius: 0;
	display: inline-block;
	width: 15px;
	height: 5px;
	margin: 5px 0;
	background-color: #59b1be;
	content: '';
	position: relative;
}

ul#dkp_vacancy_result_time_area .dkp_vacancy_result_availability_4::before {
	color: #6bbe74;
	display: inline-block;
	width: 22px;
	height: 15px;
	font: 700 10px / 15px YuGo;
	content: '\0054\0045\004c';
	position: relative;
	top: 0px;
	left: 0px;
}

ul#dkp_vacancy_result_time_area .dkp_vacancy_result_reservation {
	color: #000000;
	font: 500 10px / 24px YuGo;
	background: -webkit-linear-gradient(90deg, #e0e0e0 0%, #ffffff 100%);
	background: -moz-linear-gradient(90deg, #e0e0e0 0%, #ffffff 100%);
	background: -o-linear-gradient(90deg, #e0e0e0 0%, #ffffff 100%);
	background: -ms-linear-gradient(90deg, #e0e0e0 0%, #ffffff 100%);
	background: linear-gradient(0deg, #e0e0e0 0%, #ffffff 100%);
	border-radius: 3px;
	height: 24px;
	width: 100%;
	border: 1px solid #dadada;
	margin-top: 3px;
	cursor: pointer;
	text-align: center;
}

#dkp_vacancy_result_search_button {
	margin: 15px 0;
	margin-bottom: 10px;
	color: #ed2214;
	font: 700 14px / 50px YuGo;
	text-align: center;
	width: 100%;
	height: 50px;
	background: -webkit-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: -moz-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: -o-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: -ms-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: linear-gradient(0deg, #f6f7e6 0%, #ffffff 100%);
	border-radius: 3px;
	border: 1px solid #dadada;
	cursor: pointer;
}
#dkp_vacancy_result_time_prev_div::before {
	content: '\003C';
	color: #ed2214;
	cursor: pointer;
	font: 700 18px / 48px YuGo;
	height: 50px;
	text-align: center;
	display: inline-block;
	border-radius: 5px;
	width: 15px;
	border: 1px solid #dadada;
	background: -webkit-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: -moz-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: -o-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: -ms-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: linear-gradient(0deg, #f6f7e6 0%, #ffffff 100%);

	position: absolute;
	left: -18px;
	z-index: 100;
}

#dkp_vacancy_result_time_prev_div.deactive::before {
	color: #cccccc;
	cursor: auto;
}

#dkp_vacancy_result_time_next_div::before {
	content: '\003E';
	color: #ed2214;
	cursor: pointer;
	font: 700 18px / 48px YuGo;
	height: 50px;
	text-align: center;
	display: inline-block;
	border-radius: 5px;
	width: 15px;
	border: 1px solid #dadada;
	background: -webkit-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: -moz-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: -o-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: -ms-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
	background: linear-gradient(0deg, #f6f7e6 0%, #ffffff 100%);

	position: absolute;
	right: -18px;
	z-index: 100;
}

#dkp_vacancy_result_time_next_div.deactive::before {
	color: #cccccc;
	cursor: auto;
}

/* TOP NAV */

#dkp_top_nav {
	height: 60px;
	width: 100%;
	padding: 0 10px;
	/*min-width: 1280px;*/
	margin-bottom: 0;
	border-radius: 0;
	background-color: #ffffff;
	-webkit-box-shadow: 0px 0px 3px rgba(100, 100, 100, 0.49);
	-moz-box-shadow: 0px 0px 3px rgba(100, 100, 100, 0.49);
	box-shadow: 0px 0px 3px rgba(100, 100, 100, 0.49);
	position: fixed;
	right: 0;
	left: 0;
	z-index: 20100;
}

#dkp_top_nav::before {
	height: 3px;
	background-color: #ed2214;
	width: 100%;
	z-index: 20110;
	position: absolute;
	top: 0;
	left: 0;
}

#dkp_top_nav_spacer {
	width: 100%;
	height: 60px;
	margin: 0;
	padding: 0;
	background-color: transparent;
}

#dkp_top_container {
	width: 1000px;
	margin: 0 auto;
	height: 100%;
	position: relative;
	top: 0;
	left: 0;
	right: 0;
}

#dkp_top_logo_container {
	position: absolute;
	left: 0;
	top: 0;
	width: 138.75px;
	height: 100%;
	z-index: 10;
}

#dkp_top_logo {
}

#dkp_top_login_iframe {
	position: absolute;
	right: 110px;
	top: 0;
	border: none;
	margin: 0;
	padding: 0;
	width: 220px;
	height: 35px;
	float: none;
	overflow: hidden;
}

#dkp_shop_vacancy_toggle_button {
	color: #ffffff;
	font: 500 12px / 35px YuGo;
	width: 90px;
	height: 35px;
	text-align: center;
	background-color: #ed2214;
	position: absolute;
	top: 0;
	right: 0;
	border-radius: 0 0 3px 3px;
	padding-left: 5px;
	cursor: pointer;
}

#dkp_shop_vacancy_toggle_button::before {
	width: 13px;
	height: 13px;
	content: url('https://mjgsekkotsuin.jp/lp/lp-common/css/images/dkp_shop_vacancy_toggle_button_icon.png');
	position: relative;
	top: 2px;
	left: -5px;
}

.hidden-pc {
	display: none !important;
}

@media (max-width: 750px), (max-device-width: 750px) {
	.hidden-sp {
		display: none !important;
	}
	.hidden-pc {
		display: inline-block !important;
	}
	#dkp_shop_vacancy_search_area {
		width: 100%;
		height: auto;
		min-height: 253px;
		max-height: none;
		position: absolute;
		right: auto;
		top: 140px;
		padding: 10px;
		background-color: #f5f5f5;
		box-shadow: 0 2px 20px 1px rgba(0, 0, 0, 0.3);
		border-radius: 3px;
		margin-top: 0;
		margin-bottom: 20px;
		left: 50%;
		transform: translateX(-50%);
		margin-left: 0;
		z-index: 20210;
		-webkit-transform: translateX(-50%);
		-moz-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		-o-transform: translateX(-50%);
	}
	#dkp_shop_vacancy_search_area_overlay {
		position: relative;
		top: -10000px;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 20000px;
		margin-bottom: -10000px;
		visibility: visible;
		opacity: 0.6;
		filter: alpha(opacity=60);
		-webkit-filter: opacity(0.6);
		z-index: 20200;
		background-color: #000000;
	}
	#dkp_vacancy_area_open_button_container {
		display: none;
	}
	#dkp_vacancy_area_close_button_container.closed {
		opacity: 0;
		filter: alpha(opacity=0);
		-webkit-filter: opacity(0);
		transition: opacity 0.5s linear;
		width: 0;
		height: 0;
		overflow: hidden;
	}
	#dkp_vacancy_area_close_button_container {
		opacity: 1;
		filter: alpha(opacity=100);
		-webkit-filter: opacity(1);
		transition: opacity 0.5s linear;
		position: absolute;
		height: 30px;
		width: 90%;
		top: 100px;
		margin-top: 0;
		right: auto;
		left: 50%;
		margin-left: -45%;
		background-color: transparent;
		border: 0;
		padding: 0;
		box-shadow: none;
		z-index: 20250;
	}
	#dkp_vacancy_area_close_button {
		background-color: transparent;
		width: 27px;
		height: 27px;
		border-radius: 0;
		color: transparent;
		font: 0/0 a;
		padding-left: 0;
		float: right;
		box-shadow: 0 0 5px 5px inset;
		text-align: center;
	}
	#dkp_vacancy_area_close_button::before {
		width: 27px;
		height: 27px;
		position: relative;
		left: -4px;
		top: 1px;
		content: '';
		display: inline-block;
		background: url('https://mjgsekkotsuin.jp/lp/lp-common/css/images/dkp_vacancy_area_close_icon_s.png');
		background-size: 100%;
	}
	#dkp_vacancy_title_area {
		width: 100%;
		text-align: left;
	}
	#dkp_shop_vacancy_search_calendar_icon {
		color: #333333;
		font: 700 14px / 20px YuGo;
		float: none;
		padding-left: 5px;
	}
	#dkp_shop_vacancy_search_calendar_icon::before {
		width: 13px;
		height: 13px;
		position: relative;
		top: 1px;
		left: -5px;
	}
	#dkp_vacancy_date_area {
		width: 100%;
		margin-top: 10px;
	}
	#dkp_vacancy_date_subject {
		float: left;
		width: 20%;
		height: 40px;
		background-color: #ffffff;
		color: #666666;
		font: 500 10px / 20px YuGo;
		text-align: center;
		padding: 10px 0 10px 10px;
	}
	#dkp_vacancy_date_input {
		float: left;
		min-width: 150px;
		width: 80%;
		height: 40px;
		border: 0;
		color: #666666;
		font: 700 14px / 20px YuGo;
		background: url('../img/contact/calendar_select_icon.png') no-repeat right 50%;
		padding: 10px 0;
		padding-right: 2.8em;
		border-radius: 0;
		text-align: center;
		cursor: pointer;
		background-color: #ffffff;
	}
	#dkp_vacancy_date_input.closed {
		background: url('../img/contact/calendar_select_icon_ud.png') no-repeat right 50%;
		background-color: #ffffff;
	}
	#dkp_vacancy_calendar_area {
		width: 100%;
		height: auto;
	}
	table.dkp_calendar_def_tbl {
		width: 100%;
	}
	table.dkp_calendar_border_tbl {
		width: 100%;
	}
	.dkp_calendar_border_tbl > tbody > tr.dkp_calendar_tr {
		width: 100%;
	}
	#dkp_calendar_pager_div {
		float: none;
		width: 100%;
		height: auto;
		margin: 10px 0;
	}
	#dkp_calendar_prev_div,
	#dkp_calendar_next_div {
		height: 40px;
		width: 20%;
		float: left;
		text-align: center;
	}
	#dkp_calendar_this_div {
		height: 40px;
		width: 60%;
		float: left;
	}
	#calendar_this_month {
		text-align: center;
		color: #666666;
		font: 700 16px / 36px YuGo;
		padding-top: 4px;
		height: 40px;
		width: 100%;
		display: inline-block;
	}
	#dkp_calendar_prev_div::before {
		content: '\003C';
		color: #ed2214;
		font: 700 18px / 38px YuGo;
		height: 40px;
		text-align: center;
		display: inline-block;
		border-radius: 5px;
		width: 40px;
		border: 1px solid #dadada;
		background: -webkit-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
		background: -moz-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
		background: -o-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
		background: -ms-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
		background: linear-gradient(0deg, #f6f7e6 0%, #ffffff 100%);
	}
	#dkp_calendar_prev_div.deactive::before {
		color: #cccccc;
		cursor: auto;
	}
	#dkp_calendar_next_div::before {
		content: '\003E';
		color: #ed2214;
		font: 700 18px / 38px YuGo;
		height: 40px;
		text-align: center;
		display: inline-block;
		border-radius: 5px;
		width: 40px;
		border: 1px solid #dadada;
		background: -webkit-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
		background: -moz-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
		background: -o-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
		background: -ms-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
		background: linear-gradient(0deg, #f6f7e6 0%, #ffffff 100%);
		cursor: pointer;
	}
	#dkp_calendar_next_div.deactive::before {
		color: #cccccc;
		cursor: auto;
	}
	td.dkp_calendar_detail_head_td {
		background-color: #e8e8e8;
		padding: 5px;
		border: 1px solid #dadada;
	}
	td.dkp_calendar_detail_head_td > .dkp_calendar_week {
		font: 500 12px / 20px YuGo;
		text-align: center;
		color: #666666;
	}
	td.dkp_calendar_detail_head_td.dkp_calendar_week_6 {
		background-color: #e8f6fc;
	}
	td.dkp_calendar_detail_head_td.dkp_calendar_week_6 > .dkp_calendar_week {
		color: #59b1da;
	}
	td.dkp_calendar_detail_head_td.dkp_calendar_week_0 {
		background-color: #fceeed;
	}
	td.dkp_calendar_detail_head_td.dkp_calendar_week_0 > .dkp_calendar_week {
		color: #ed2214;
	}
	td.dkp_calendar_center_td[class*='dkp_calendar_week_'] {
		background-color: #ffffff;
		border: 1px solid #dadada;
		padding: 2px;
	}
	td.dkp_calendar_center_td.dkp_calendar_click_day {
		cursor: pointer;
	}
	td.last_week_of_month.dkp_calendar_center_td[class*='dkp_calendar_week_'] {
		border-bottom: 1px solid #999999;
	}
	td.last_day_of_month.dkp_calendar_center_td[class*='dkp_calendar_week_'] {
		border-right: 1px solid #999999;
	}
	td.dkp_calendar_center_td.dkp_calendar_week_6 {
		background-color: #e8f6fc;
	}
	td.dkp_calendar_center_td.dkp_calendar_week_0 {
		background-color: #fceeed;
	}
	td.dkp_calendar_center_td.past > .dkp_calendar_day_container > .dkp_calendar_day {
		color: #999999;
	}
	td.dkp_calendar_center_td > .dkp_calendar_day_container.selected {
		background-color: #fcffcc;
		border: 1px solid #bbcb28;
		border-radius: 1px;
	}
	td.dkp_calendar_center_td > .dkp_calendar_day_container > .dkp_calendar_day {
		color: #333333;
		font: 500 8px / 14px YuGo;
	}
	td.dkp_calendar_center_td > .dkp_calendar_day_container > .dkp_calendar_day + .dkp_calendar_msg {
		padding: 5px 0;
		height: 25px;
	}
	td.dkp_calendar_center_td > .dkp_calendar_day_container > .dkp_calendar_day + .dkp_calendar_msg_0::before {
		border-radius: 0;
		display: inline-block;
		width: 15px;
		height: 15px;
		background-color: #dea331;
		content: '';
		position: relative;
	}
	td.dkp_calendar_center_td > .dkp_calendar_day_container > .dkp_calendar_day + .dkp_calendar_msg_1::before {
		border: 2px solid #ed2214;
		border-radius: 15px;
		display: inline-block;
		width: 15px;
		height: 15px;
		content: '';
		position: relative;
	}
	td.dkp_calendar_center_td > .dkp_calendar_day_container > .dkp_calendar_day + .dkp_calendar_msg_2::before {
		border-radius: 0;
		display: inline-block;
		width: 15px;
		height: 5px;
		margin: 5px 0;
		background-color: #59b1be;
		content: '';
		position: relative;
	}
	td.dkp_calendar_center_td > .dkp_calendar_day_container > .dkp_calendar_day + .dkp_calendar_msg_4::before {
		color: #6bbe74;
		display: inline-block;
		width: 22px;
		height: 15px;
		font: 700 10px / 15px YuGo;
		content: '\0054\0045\004c';
		position: relative;
		top: 0px;
		left: 0px;
	}
	#dkp_calendar_message_area {
		width: 100%;
		height: auto;
		margin-top: 3px;
		text-align: right;
	}
	#dkp_calendar_message_area > [class*='dkp_calendar_message_'] {
		height: 15px;
	}
	#dkp_calendar_message_area > .dkp_calendar_message_0::before {
		border-radius: 0;
		display: inline-block;
		width: 9px;
		height: 9px;
		background-color: #dea331;
		content: '';
	}
	#dkp_calendar_message_area > .dkp_calendar_message_1::before {
		border: 1px solid #ed2214;
		border-radius: 9px;
		display: inline-block;
		width: 9px;
		height: 9px;
		content: '';
	}
	#dkp_calendar_message_area > .dkp_calendar_message_2::before {
		border-radius: 0;
		display: inline-block;
		width: 9px;
		height: 4px;
		background-color: #59b1be;
		content: '';
		margin-bottom: 2px;
		vertical-align: baseline;
	}
	#dkp_calendar_message_area > .dkp_calendar_message_4::before {
		color: #6bbe74;
		display: inline-block;
		width: 25px;
		height: 15px;
		font: 500 10px / 15px YuGo;
		content: '\0054\0045\004c';
		position: relative;
		top: 0px;
		left: 0px;
	}

	#dkp_calendar_message_area > .dkp_calendar_message_st {
		color: #666666;
		font: 500 11px / 15px YuGo;
		display: inline-block;
		height: 15px;
		padding-left: 4px;
	}
	#dkp_vacancy_time_area {
		margin-top: 10px;
		width: 100%;
		height: auto;
	}
	#dkp_vacancy_time_subject {
		float: left;
		width: 20%;
		text-align: center;
		color: #666666;
		font: 700 14px / 40px YuGo;
		height: 40px;
	}
	.dkp_vacancy_select > select {
		float: left;
		min-width: 150px;
		width: 75%;
		height: 40px;
		border: 0;
		color: #666666;
		color: #666666;
		font: 700 15px / 20px YuGo;
		background: url('https://mjgsekkotsuin.jp/lp/lp-common/img/common/calendar_select_icon.png') no-repeat right 50%;
		padding: 10px;
		padding-right: 3.5em;
		border-radius: 0;
		padding-left: 12px;
		cursor: pointer;
		background-color: #ffffff;
		-webkit-appearance: none;
		-moz-appearance: none;
		border-radius: 0;
	}
	#dkp_vacancy_persons_area {
		margin-top: 10px;
		width: 100%;
		height: auto;
	}
	#dkp_vacancy_persons_subject {
		float: left;
		width: 25%;
		text-align: center;
		color: #666666;
		font: 700 14px / 40px YuGo;
		height: 40px;
		padding-right: 5px;
	}
	#dkp_vacancy_search_button {
		margin-top: 15px;
		color: #ed2214;
		font: 700 14px / 50px YuGo;
		text-align: center;
		width: 100%;
		height: 50px;
		background: -webkit-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
		background: -moz-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
		background: -o-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
		background: -ms-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
		background: linear-gradient(0deg, #f6f7e6 0%, #ffffff 100%);
		border-radius: 3px;
		border: 1px solid #dadada;
		cursor: pointer;
	}
	#dkp_vacancy_search_result_area {
		margin-top: 10px;
	}
	#dkp_vacancy_result_container {
		padding: 10px;
		background-color: #ffffff;
	}
	#dkp_vacancy_result_title_area {
		color: #666666;
		font: 700 11px / 16px YuGo;
		text-align: left;
	}
	#dkp_vacancy_result_subject_area {
		margin-top: 5px;
		width: 100%;
	}
	#dkp_vacancy_result_date {
		float: left;
		width: 100%;
		text-align: center;
	}
	#dkp_vacancy_result_date_subject {
		color: #666666;
		font: 700 18px / 24px YuGo;
		height: 24px;
	}
	#dkp_vacancy_result_persons {
		float: left;
		width: 50%;
		text-align: center;
	}
	#dkp_vacancy_result_persons_subject {
		font: 700 18px / 24px YuGo;
		height: 24px;
		color: #666666;
	}
	#dkp_vacancy_result_message_area {
		margin-top: 5px;
		text-align: right;
	}
	#dkp_vacancy_result_message_area > [class*='dkp_calendar_message_'] {
		height: 15px;
	}
	#dkp_vacancy_result_message_area > .dkp_calendar_message_0::before {
		border-radius: 0;
		display: inline-block;
		width: 9px;
		height: 9px;
		background-color: #dea331;
		content: '';
	}
	#dkp_vacancy_result_message_area > .dkp_calendar_message_1::before {
		border: 1px solid #ed2214;
		border-radius: 9px;
		display: inline-block;
		width: 9px;
		height: 9px;
		content: '';
	}
	#dkp_vacancy_result_message_area > .dkp_calendar_message_2::before {
		border-radius: 0;
		display: inline-block;
		width: 9px;
		height: 4px;
		background-color: #59b1be;
		content: '';
		margin-bottom: 2px;
		vertical-align: baseline;
	}
	#dkp_vacancy_result_message_area > .dkp_calendar_message_4::before {
		color: #6bbe74;
		display: inline-block;
		width: 25px;
		height: 15px;
		font: 500 10px / 15px YuGo;
		content: '\0054\0045\004c';
		position: relative;
		top: 0px;
		left: 0px;
	}
	#dkp_vacancy_result_message_area > .dkp_calendar_message_st {
		color: #666666;
		font: 500 8px / 15px YuGo;
		display: inline-block;
		height: 15px;
		padding-left: 4px;
	}
	ul#dkp_vacancy_result_time_area {
		list-style: none;
		margin: 0;
		padding: 0;
		width: 100%;
		height: auto;
		display: inline-block;
		float: none;
	}
	ul#dkp_vacancy_result_time_area > li.cal-row {
		width: 25%;
		height: 100%;
		float: left;
		border: 1px solid #e6e6e6;
		padding: 3px;
		text-align: center;
	}
	ul#dkp_vacancy_result_time_area .dkp_vacancy_result_time {
		color: #333333;
		font: 500 10px / 20px YuGo;
		height: 20px;
	}
	ul#dkp_vacancy_result_time_area [class*='dkp_vacancy_result_availability_'] {
		height: 25px;
		padding: 5px 0;
	}
	ul#dkp_vacancy_result_time_area .dkp_vacancy_result_availability_0::before {
		border-radius: 0;
		display: inline-block;
		width: 15px;
		height: 15px;
		background-color: #dea331;
		content: '';
		position: relative;
	}
	ul#dkp_vacancy_result_time_area .dkp_vacancy_result_availability_1::before {
		border: 2px solid #ed2214;
		border-radius: 15px;
		display: inline-block;
		width: 15px;
		height: 15px;
		content: '';
		position: relative;
	}
	ul#dkp_vacancy_result_time_area .dkp_vacancy_result_availability_2::before {
		border-radius: 0;
		display: inline-block;
		width: 15px;
		height: 5px;
		margin: 5px 0;
		background-color: #59b1be;
		content: '';
		position: relative;
	}
	ul#dkp_vacancy_result_time_area .dkp_vacancy_result_availability_4::before {
		color: #6bbe74;
		display: inline-block;
		width: 22px;
		height: 15px;
		font: 700 10px / 15px YuGo;
		content: '\0054\0045\004c';
		position: relative;
		top: 0px;
		left: 0px;
	}
	ul#dkp_vacancy_result_time_area .dkp_vacancy_result_reservation {
		color: #000000;
		font: 500 10px / 24px YuGo;
		background: -webkit-linear-gradient(90deg, #e0e0e0 0%, #ffffff 100%);
		background: -moz-linear-gradient(90deg, #e0e0e0 0%, #ffffff 100%);
		background: -o-linear-gradient(90deg, #e0e0e0 0%, #ffffff 100%);
		background: -ms-linear-gradient(90deg, #e0e0e0 0%, #ffffff 100%);
		background: linear-gradient(0deg, #e0e0e0 0%, #ffffff 100%);
		border-radius: 3px;
		height: 24px;
		width: 100%;
		border: 1px solid #dadada;
		margin-top: 3px;
		cursor: pointer;
	}
	ul#dkp_vacancy_result_time_area .dkp_vacancy_result_reservation.invisible {
		visibility: hidden;
	}
	#dkp_vacancy_result_search_button {
		margin: 15px 0;
		margin-bottom: 10px;
		color: #ed2214;
		font: 700 14px / 50px YuGo;
		text-align: center;
		width: 100%;
		height: 50px;
		background: -webkit-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
		background: -moz-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
		background: -o-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
		background: -ms-linear-gradient(90deg, #f6f7e6 0%, #ffffff 100%);
		background: linear-gradient(0deg, #f6f7e6 0%, #ffffff 100%);
		border-radius: 3px;
		border: 1px solid #dadada;
		cursor: pointer;
	}
	/* TOP NAV */
	#dkp_top_nav {
		height: 60px;
		width: 100%;
		padding: 0;

		min-width: 0;
		margin-bottom: 0;
		border-radius: 0;
		background-color: #ffffff;
		-webkit-box-shadow: 0px 0px 3px rgba(100, 100, 100, 0.49);
		-moz-box-shadow: 0px 0px 3px rgba(100, 100, 100, 0.49);
		box-shadow: 0px 0px 3px rgba(100, 100, 100, 0.49);
		position: fixed;
		right: 0;
		left: 0;
		z-index: 20100;
	}
	#dkp_top_nav::before {
		height: 3px;
		background-color: #ed2214;
		width: 100%;
		z-index: 20110;
		position: absolute;
		top: 0;
		left: 0;
	}
	#dkp_top_nav_spacer {
		width: 100%;
		height: 60px;
		margin: 0;
		padding: 0;
		background-color: transparent;
	}
	#dkp_top_container {
		width: 100%;
		margin: 0 auto;
		height: 100%;
		position: relative;
		top: 0;
		left: 0;
		right: 0;
	}
	#dkp_top_logo_container {
		position: absolute;
		left: 0;
		top: 0;
		width: 80px;
		height: 100%;
		z-index: 10;
		background-color: #fff;
		padding: 0px 4px;
	}

	#dkp_top_logo {
	}

	#dkp_top_login_iframe {
		position: absolute;
		right: 77px;
		top: 0;
		border: none;
		margin: 0;
		padding: 0;
		width: 220px;
		height: 35px;
		float: none;
		overflow: hidden;
	}
	#dkp_shop_vacancy_toggle_button {
		color: #ffffff;
		font: 700 12px / 35px YuGo;
		width: 75px;
		height: 35px;
		text-align: center;
		background-color: #ed2214;
		position: absolute;
		top: 0;
		right: 0;
		border-radius: 0 0 3px 3px;
		padding-left: 8px;
		cursor: pointer;
		-webkit-border-radius: 0 0 3px 3px;
		-moz-border-radius: 0 0 3px 3px;
		-ms-border-radius: 0 0 3px 3px;
		-o-border-radius: 0 0 3px 3px;
	}
	#dkp_shop_vacancy_toggle_button::before {
		width: 13px;
		height: 13px;
		content: url('https://mjgsekkotsuin.jp/lp/lp-common/img/common/dkp_shop_vacancy_toggle_button_icon.png');
		position: relative;
		top: 2px;
		left: -5px;
	}
	/* ==========================================================================
 CSS-Transform classes
 ========================================================================== */
	.popin {
		display: none;
		opacity: 0;
		filter: alpha(opacity=0);
		-webkit-filter: opacity(0);
		-webkit-transform: scale(0.8);
		-moz-transform: scale(0.8);
		-ms-transform: scale(0.8);
		-o-transform: scale(0.8);
		transform: scale(0.8);
	}
	.popin.ready {
		-webkit-transform-origin: 50% 50%;
		-moz-transform-origin: 50% 50%;
		-ms-transform-origin: 50% 50%;
		-o-transform-origin: 50% 50%;
		transform-origin: 50% 50%;
		-webkit-transition: 0.3s all ease-out;
		-moz-transition: 0.3s all ease-out;
		-ms-transition: 0.3s all ease-out;
		-o-transition: 0.3s all ease-out;
		transition: 0.3s all ease-out;
	}
	.popin.onqueue {
		display: block;
		-webkit-transform: scale(1.1);
		-moz-transform: scale(1.1);
		-ms-transform: scale(1.1);
		-o-transform: scale(1.1);
		transform: scale(1.1);
	}
	.popin.active {
		visibility: visible;
		opacity: 1;
		filter: alpha(opacity=100);
		-webkit-filter: opacity(1);
		-webkit-transform: scale(1);
		-moz-transform: scale(1);
		-ms-transform: scale(1);
		-o-transform: scale(1);
		transform: scale(1);
	}
}

@media screen and (max-width: 414px) {
	.reserve_shop_box dt {
		font-size: 16px;
		font-size: 1.6rem;
	}
	.reserve_shop_box dd ul li > p {
		font-size: 16px;
		font-size: 1.6rem;
	}
	.modal_title {
		font-size: 20px;
		font-size: 2rem;
	}
	.shop_title + p {
		margin: 30px auto 40px;
		text-align: center;
	}
	.shop_title + p span {
		font-size: 4vw;
	}
}

/*================================*/
/*          予約ページ             */
/*================================*/
@media screen and (max-width: 648px) {
	/* -----------------------------------------------------------
                    お問い合わせページ
    ----------------------------------------------------------- */
	.contact_box > div:nth-of-type(2) > ul {
		margin: 0 auto 0;
		background: #fff;
		padding: 30px 30px;
	}
	.contact_box > div {
		padding: 20px 10px;
	}
	.contact_box > div > ul {
		margin: 30px auto 0;
		background: #fff;
		padding: 20px 20px;
	}
	.contact_box > section form {
		margin: 30px auto 0;
		max-width: 100%;
	}
	.contact_box > section form > dl {
		display: block;
	}
	.contact_box > section form dl dd {
		margin: 10px 0 0;
	}
	.contact_box > section form select {
		background-size: 10%;
	}
	.contact_box > section form select,
	.contact_box > section form #course {
		background-size: 10%;
	}
	.courselist {
		display: block;
		max-width: 100%;
		position: relative;
	}
	.courselist > p {
		font-size: 14px;
		font-size: 1.4rem;
		text-align: center;
		display: flex;
		display: -webkit-flex;
		align-items: center;
		-webkit-align-items: center;
		justify-content: center;
		-webkit-justify-content: center;
		padding: 0 5px;
		font-weight: bold;
		position: absolute;
		left: 0;
		top: 0;
		width: 25px;
		height: 100%;
	}
	.courselist > p.new_cource {
		background-color: #9966cc;
		color: #ffffff;
	}
	.course_detail {
		flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		margin: 0 0 0 30px;
		width: 55%;
	}
	.course_menu_content_box .course_detail {
		margin: 2% 0 0;
		width: 100%;
		display: block;
	}
	.course_menu_content_box .course_detail img {
		width: 100%;
		height: auto;
	}
	.cource_title_box {
		display: flex;
		display: -webkit-flex;
		align-items: flex-start;
		-webkit-align-items: flex-start;
		margin: 10px 0 0 30px;
	}
	.cource_title {
		font-size: 14px;
		font-size: 1.4rem;
		font-weight: bold;
		color: #665555;
		flex: 1 1;
		-webkit-flex: 1 1;
		margin: 0 20px 0 0;
	}
	.cource_price {
		font-size: 14px;
		font-size: 1.4rem;
		font-weight: bold;
		color: #cc4466;
		position: absolute;
		top: 10px;
		right: 10px;
	}
	.course_detail_box {
		padding: 10px;
		position: relative;
	}

	.cource_caption_box {
		display: block;
		overflow: hidden;
		margin: 10px 0 0 30px;
	}
	.cource_caption_box picture {
		flex: 0 1 auto;
		-webkit-flex: 0 1 auto;
		margin: 0 15px 0 0;
		float: left;
	}
	.cource_caption_box > div {
		flex: 1 1;
		-webkit-flex: 1 1;
	}
	.cource_caption_box > div > p {
		font-size: 12px;
		font-size: 1.2rem;
	}
	.cource_caption_box > div > dl {
		display: block;
		font-size: 10px;
		font-size: 1rem;
	}
	.cource_caption_box > div > dl:first-of-type {
		margin: 10px 0 0;
	}
	.cource_caption_box > div > dl:nth-of-type(n + 2) {
		margin: 5px 0 0;
	}
	.cource_caption_box > div > dl dt {
		color: #9966cc;
		display: inline;
	}
	.cource_caption_box > div > dl dd {
		display: inline;
	}
	.cource_caption_box > div > dl dt:after {
		content: ':';
		padding: 0 0 0 5px;
	}
	.reserve_btn_box {
		padding: 10px;
		background: #fff;
		display: block;
		margin: 0 0 0 30px;
		text-align: center;
	}
	.reserve_btn_box a {
		border: 0;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		cursor: pointer;
		display: inline-block;
		font-weight: bold;
		text-align: center;
		text-decoration: none;
		background: #8a5db7;
		background: linear-gradient(to bottom, #ad7edb 0%, #8a5db7 75%, #7f51ac 100%);
		border: 1px solid #b386e0;
		border-radius: 4px;
		box-shadow: inset 1px 1px 3px #d9bff0, inset -1px -1px 3px #a781cc;
		color: #ffffff !important;
		padding: 8px 20px;
		font-size: 14px;
		font-size: 1.4rem;
	}
	.reserve_btn_box a br {
		display: none;
	}
	.reserve_btn_box a:hover {
		background: linear-gradient(to bottom, #bd98e2 0%, #a17dc5 75%, #9772bb 100%);
	}
	.swiper-slide > p {
		padding: 5% 0;
	}
}

@media screen and (max-width: 414px) {
	.modal .inner1 {
		max-width: 90%;
		width: 100%;
	}
	section form #course {
		background-size: 16vw;
		background-position: 101% 50%;
	}
	.btn02 {
		width: 100%;
	}
}
@media screen and (max-width: 320px) {
	.course_detail {
		width: 65%;
	}
}
