#pop_alert {
	position: fixed;
	z-index: 3000;
	top: 0;
	width: 100%;
	height: 100%;
	padding: 4%;
	background-color: rgba(0,0,0,0.7);
	display: flex;
	justify-content: center;
	align-items: center;
}
#pop_alert .pop_body {
	display: block;
	width: 100%;
	max-width: 520px;
	margin: 16px 0 48px;
	padding: 40px 0 8px;
	border-radius: 8px;
	background-color: #fff;
	box-shadow: 0 1px 2px rgba(100, 100, 100, .4), 0 4px 12px rgba(100, 100, 100, .4);
	text-align: center;
	overflow: hidden;
}
#pop_alert .pop_body .text {
	color: #ff4500;
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 16px;
}
#pop_alert .pop_body button {
	display: inline-block;
	font-size: 10px;
}
#pop_load {
	position: fixed;
	z-index: 3000;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	opacity: 0.9;
	padding: 10px 2%;
	display: flex;
	justify-content: center;
}
#pop_load .pop_body {
	width: 64px;
	height: 64px;
	margin: auto;
}
#pop_img .pop_body {
	max-width: 670px;
}
.popup {
	position: fixed;
	z-index: 2000;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,0.9);
	padding: 10px 2%;
	display: none;
}
.popup .price_mess {
	font-size: 14px;
	font-weight: bold;
	color: #000;
	margin-bottom: 5px;
}
.popup .pop_body {
	width: 100%;
	max-width: 800px;
	height: 100%;
	user-select: none;
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.2);
	margin: auto;
	overflow: hidden;
}
.popup .pop_body.list {
	max-width: 400px;
}
.popup .pop_header {
	width: 100%;
	height: 44px;
	background-color: var(--main-color);
	color: #fff;
	padding: 7px 10px;
	overflow: hidden;
	display: flex;
}
.popup .pop_header .pop_title {
	font-size: 16px;
	font-weight: bold;
	background: transparent url('../img/navi_none.png') no-repeat 0 0;
	background-size: 30px 30px;
	padding: 5px 0px 5px 35px;
}
#pop_login .pop_header .pop_title {
	background-image: url('../img/navi_user.png');
}
#pop_logout .pop_header .pop_title {
	background-image: url('../img/navi_user.png');
}
#pop_date .pop_header .pop_title {
	background-image: url('../img/navi_date.png');
}
#pop_men1 .pop_header .pop_title {
	background-image: url('../img/navi_user.png');
}
#pop_men2 .pop_header .pop_title {
	background-image: url('../img/navi_user.png');
}
.popup .pop_header .pop_close {
	width: 30px;
	height: 30px;
	background: transparent url('../img/pop_close.png') no-repeat 0 0;
	background-size: 30px 30px;
	margin-left: auto;
	display: block;
}
.popup .pop_footer {
	display: flex;
}
.popup .pop_footer button {
	width: 100%;
	height: 44px;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	line-height: 20px;
	background-color: #888;
	padding: 7px;
	text-align: center;
	overflow: hidden;
}
.popup .pop_footer button.hover {
	background-image: linear-gradient(rgba(255,255,255,0.4), rgba(255,255,255,0));
}
.popup .pop_footer button.pop_ok {
	background-color: var(--main-color);
}
.popup .pop_footer button.pop_prev {
	width: 25%;
	background: var(--main-color) url('../img/icon_prev.png') no-repeat center center;
	background-size: 16px 16px;
}
.popup .pop_footer button.pop_next {
	width: 25%;
	background: var(--main-color) url('../img/icon_next.png') no-repeat center center;
	background-size: 16px 16px;
}
.popup .pop_footer button.pop_prev.hover {
	background-image: url('../img/icon_prev.png'), linear-gradient(rgba(255,255,255,0.4), rgba(255,255,255,0));
	background-size: 16px 16px, 100% 100%;
}
.popup .pop_footer button.pop_next.hover {
	background-image: url('../img/icon_next.png'), linear-gradient(rgba(255,255,255,0.4), rgba(255,255,255,0));
	background-size: 16px 16px, 100% 100%;
}
.popup .cont {
	height: calc(100% - 84px);
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 0 10px;
	overflow-x: hidden;
	overflow-y: auto;
}
.popup .cont p {
	margin: 8px 0;
}
#pop_img .cont {
	display: flex;
}
#pop_img .cont .img {
	max-width: 640px;
	margin: auto;
}
#pop_img .cont .img img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
}
#pop_img .cont .img .img_cap {
	font-size: 14px;
	padding: 5px 0;
	color: #222;
}
.popup .cont .pop_flex {
	display: flex;
	flex-wrap: wrap;
}
.popup .cont .col_box {
	flex: 1 1 auto;
}
.popup .cont .col {
	width: 20%;
	align-items: stretch;
	padding: 2px;
}
.popup .cont .col.col2 {
	width: 37.5%;
}
.popup .cont .col_box li {
	width: 100%;
	padding: 2px;
}
.popup .cont .chk {
	width: 100%;
	font-size: 14px;
	background: #fff url('../img/icon_check0.png') no-repeat 5px 11px;
	background-size: 16px 16px;
	border: 1px solid #ccc;
	cursor: pointer;
	padding: 10px 5px 10px 25px;
	display: block;
}
.popup .cont .chk.hover {
	background-color: #ffc;
}
.popup .cont .col > .chk {
	height: 100%;
	background-color: #f6f6f6;
}
.popup .cont .chk.on {
	background-color: #ffb;
	background-image: url('../img/icon_check1.png');
	border-color: #9ce;
}
.popup .cont .pop_date_tbl {
	width: 100%;
	margin: 8px 0;
}
.popup .cont .pop_date_tbl tr.sticky {
	position: sticky;
	top: 0;
	left: 0;
}
.popup .cont .pop_date_tbl tr th {
	color: var(--main-color);
	font-size: 14px;
	text-align: center;
	background-color: #f6f6f6;
	border: 1px solid #ccc;
	padding: 7px 0;
}
.popup .cont .pop_date_tbl tr th.mon {
	font-size: 16px;
	width: 95px;
	font-weight: bold;
}
.popup .cont .pop_date_tbl tr.sticky th {
	background-color: #eee;
}
.popup .cont .pop_date_tbl tr td {
	background-color: #f6f6f6;
	border: 1px solid #ccc;
}
.popup .cont .pop_date_tbl tr td.day {
	font-size: 14px;
	background: #f6f6f6 url('../img/icon_check0.png') no-repeat 5px 8px;
	background-size: 16px 16px;
	padding: 7px 0 7px 25px;
}
.popup .cont .pop_date_tbl tr td.price {
	font-size: 14px;
	text-align: right;
	padding: 7px 5px;
}
.popup .cont .pop_date_tbl tr.sele td {
	cursor: pointer;
}
.popup .cont .pop_date_tbl tr.sele.col1 td {
	background-color: #fff;
}
.popup .cont .pop_date_tbl tr.sele.col2 td {
	background-color: #ffeef6;
	cursor: pointer;
}
.popup .cont .pop_date_tbl tr.sele.col3 td {
	background-color: #eef6ff;
	cursor: pointer;
}
.popup .cont .pop_date_tbl tr.sele.on td {
	background-color: #ffa;
}
.popup .cont .pop_date_tbl tr.sele.on td.day {
	background-image: url('../img/icon_check1.png');
}
.popup .cont .pop_date_tbl tr.sele.hover td {
	background-color: #ffc;
}
.popup .cont .pop_men_tbl {
	width: 100%;
	margin: 8px 0;
}
.popup .cont .pop_men_tbl:not(:last-child) {
	margin-bottom: 10px;
}
.popup .cont .pop_men_tbl tr td {
	font-size: 14px;
	background: #f6f6f6 url('../img/icon_check0.png') no-repeat 5px 8px;
	background-size: 16px 16px;
	border: 1px solid #ccc;
	cursor: pointer;
	padding: 7px 0 7px 25px;
}
.popup .cont .pop_men_tbl tr.sele td {
	background-color: #fff;
}
.popup .cont .pop_men_tbl tr.on td {
	background-color: #ffa;
	background-image: url('../img/icon_check1.png');
}
.popup .cont .pop_men_tbl tr.hover td {
	background-color: #ffc;
}
.popup .cont .pop_men_tbl tr td .right {
	float: right;
	padding: 0 10px;
}
.popup .cont .pop_nav_tbl {
	width: 100%;
	margin: 8px 0;
}
.popup .cont .pop_nav_tbl caption {
	font-weight: bold;
}
.popup .cont .pop_nav_tbl caption.name {
	font-size: 14px;
	background: url('../img/icon_arrow_down.png') no-repeat 5px 3px;
	color: #555;
	background-size: 16px 16px;
	padding: 2px 0 2px 25px;
}
.popup .cont .pop_nav_tbl tr td {
	font-size: 14px;
	background: #eee url('../img/icon_check0.png') no-repeat 5px 8px;
	background-size: 16px 16px;
	border: 1px solid #ccc;
	cursor: pointer;
	padding: 7px 0 7px 25px;
}
.popup .cont .pop_nav_tbl tr.drop td::before {
	content: '市区町村を表示する';
}
.popup .cont .pop_nav_tbl tr.sele td {
	background-color: #fff;
}
.popup .cont .pop_nav_tbl tr.city td {
	background: #f6f6f6 url('../img/icon_check0.png') no-repeat 21px 8px;
	background-size: 16px 16px;
	padding: 7px 0 7px 41px;
}
.popup .cont .pop_nav_tbl tr.on td {
	background-color: #ffa;
	background-image: url('../img/icon_check1.png');
}
.popup .cont .pop_nav_tbl tr.hover td {
	background-color: #ffc;
}
.popup .link_butt > a,
.popup .link_butt > button {
    width: auto;
    color: #888;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    background: #fff url('../img/icon_down.png') no-repeat right 10px top 50%;
    background-size: 16px 16px;
    border-radius: 8px;
    padding: 8px 32px 8px 8px;
    margin: 8px 0 8px auto;
    display: block;
}
.popup .link_butt > button[type=submit] {
	background: var(--main-color) url('../img/icon_next.png') no-repeat right 10px top 50%;
    background-size: 16px 16px;
	color: #fff;
}
@media screen and (max-width: 768px) {
}
@media screen and (max-width: 520px) {
.popup .cont .col_box {
	flex: 0 0 100%;
}
.popup .cont .col {
	width: 40%;
}
.popup .cont .box2 {
	flex: 0 0 60%;
}
.popup .cont .col.col2 {
	width: 100%;
}
}