@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:700,900');
@import url(//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css);

/*縦スクロールバーエリアを表示*/
html {
  overflow-y: scroll;
  overflow-x: hidden;
}

body {
	width:100%;
  font-family:"游ゴシック","ヒラギノ角ゴ Pro","メイリオ","中ゴシックBBB", YuGothic, "Hiragino Kaku Gothic Pro",  "Meiryo", sans-serif;
  margin: 0;
  padding: 0;
  height: 100%;
  word-wrap: break-word;
}
/* @group Reset */
* {
	margin: 0;
	padding: 0;
}

/*通常*/
a:link {
	/*color: rgba(107, 58, 6, 1);*/
	transition: all .3s ease;
	cursor:pointer;
}

/*閲覧済み*/
a:visited {
	/*color: rgba(107, 58, 6, 1);*/
}

/*マウスオン*/
a:hover {
	/*color: rgba(107, 58, 6, 1);*/
	cursor:pointer;
}

/*クリック中*/
a:active {
	/*color: rgba(107, 58, 6, 1);*/
	background-color: transparent;
}

/*クリック時の枠線*/
a {
	padding: 0 0 0 0px;
	outline: none;
	color: #000;
	text-decoration: none;
}

/* ボタン */
button{
	border:none;
}

/* フォーム */
input{
	padding:3px 5px;
    max-width: 100%;
}

ul, ol {
	list-style: none;
}

img {
	vertical-align: middle;
	max-width:none;
}

/* @end */

/* @group Fluid-img */
img {
	width: auto;
}
/* @end */


/* @group HTML */
html {
	width: 100%;
	font-size: 86%;
	line-height: 1.68;
}
/* @end */
div, p {
	text-align: justify;
	text-justify: inter-ideograph;
}

#container{
	width: 1200px;
	max-width:100%;
	height: auto;
	display: block;
	font-size: 14px;
	margin: 0 auto;
}
header {
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	margin: 0 auto 25px;
	display: block;
	border-top:10px solid #FEA241;
	position:relative;
}
	header:before{
		content:"";
		width:100%;
		display:block;
		height:10px;
		background:#FDEBDD;
	}
header .inner{
	width:1200px;
	max-width:100%;
	margin:0 auto;
	display:flex;
	margin-top:15px;
	flex-wrap: wrap;
	justify-content: space-between;
}
header h1{
	display:flex;
	align-items: center;
	width:65%;
}
header h1 img{
	margin-right:30px;
	height:70px;
}
header h1 a + img{
	height:100px;
}
header h1 p{
	color: #FEA241;
	font-weight: normal;
	line-height: 40px;
	font-size: 40px;
	font-family:"ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}
header h1 p span{
	display:block;
	font-size: 21px;
}

header #h_login,
.h_menu a{
	color: #F65204;
	font-weight:bold;
	white-space: nowrap;
	position:relative;
	padding: 1px 5px;
	display:block;
	z-index: 1;
}
.h_menu a:after{
	content:"";
	width:0%;
	height:100%;
	position:absolute;
	left: 0;
	z-index:-1;
	background:#FDE9D2;
	transition:.3s;
}
.h_menu a:hover:after{
	width:100%;
}
header #h_login{
	color:#931C00;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
header #h_login form{
	margin: 0 0 10px;
}
ul.h_menu{
	border-left: 3px solid #F65204;
	margin-right:10px;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
}

nav.pc{
	width:100%;
	background: #FEA241;
}
header nav.pc{
	margin-top: 15px;
}
	nav.pc ul{
		width:1200px;
		max-width:100%;
		margin:0 auto;
		display: flex;
		background: #FEA241;
		justify-content: space-around;
	}
	nav.pc ul li{
		width:20%;
		text-align:center;
		position: relative;
		z-index:10;
	}
	nav.pc ul a{
		display:block;
		color:#fff;
		font-size: 20px;
		font-weight: bold;
		white-space: nowrap;
	}
		nav.pc ul a:hover{
			background:#F62E00;
		}
	nav.pc li ul{
		flex-direction: column;
		position: absolute;
		top: 34px;
		width: 100%;
		margin: 0;
		left: 0;
		white-space: nowrap;
		overflow: hidden;
		opacity: 0;
		transition: .4s;
	}
	nav.pc li ul li{
		width:100%;
		transition: .3s;
		height:0;
	}
	nav.pc li ul li a{
		font-size:medium;
		font-weight:normal;
	}
	nav.pc ul li:hover ul{
		overflow:visible;
		position: absolute;
		top: 34px;
		opacity:1;
	 	transition: .2s;
	}
	nav.pc ul li:hover li{
		height: auto;
		padding: 6px;
		transition: .2s;
	}
	nav.pc ul li li:hover{
		background: #F62E00;
	}
	nav.pc ul li.sp_menu{
		display:none;
	}
footer nav.pc{
	margin-bottom:15px;
	max-width:100%;
}

#box{
	width:1200px;
	max-width:100%;
	margin:0 auto 0;
	position: relative;
	top:0px;
	background: #fff;
	display: flex;
	flex-wrap: wrap;
}
	.top #box{
		display:block;
	}
#main{
	width:900px;
	padding: 0px 0 0px;
	margin:20px auto 0;
	position: relative;
}
	.top #main{
		width:100%;
		display:flex;
		justify-content:space-between;
		flex-wrap: wrap;
	}

.l_box{
	display:flex;
	flex-wrap:wrap;
	width: calc(100% - 230px);
	align-content: baseline;
	position: relative;
	justify-content: space-between;
}
.l_box .movie,
.search{
	margin-bottom:15px;
}
.l_box .movie,
.l_box #t_info{
	width: 38%;
	margin-right:10px;
}
.search,
.l_box .new_list{
	width:60%;
}
.l_box .movie{
	background:#FEF0E0;
	padding: 0px 15px 15px;
	align-self: flex-start;
}
.l_box .movie > p{
	color:#fff;
	font-weight: bold;
	background: url(../parts/ttl_movie.png) no-repeat;
	font-size: 20px;
	text-indent: 4em;
	line-height: 38px;
	margin:0 -15px 10px;
}

.search{
	border:3px solid #F9B862;
	align-self: baseline;
}

.search dt:before{
	content: "";
    width: 110px;
    height: 80px;
    background: url("../parts/rogo.png");
    background-size: contain;
	vertical-align: middle;
	display:inline-block;
}

.search dt,
.search dd {
	border: 1px solid #F9B862;
	padding: 10px;
	overflow: hidden;
}

.search dt {
    border-bottom: none;
    padding: 0;
}

.search dd:first-of-type {
    border-top: none;
    margin-top: -55px;
}

.search a.reset {
    display: none;
    width: 120px;
    margin: -20px 0 0 auto;
    font-size: 13px;
    text-decoration: underline;
}

.eatery_list .search a.reset {
    display: block;
}

.search .keyword {
    display: flex;
    justify-content: flex-end;
}

.search .keyword button {
    margin: 0;
    white-space: nowrap;
}

.search .keyword input {
    width: 70%;
}

.search .popular_word {
    position: relative;
    margin-top: 20px;
    padding: 0.7em 0.5em;
    border: 1px solid #000000;
}

.search .popular_word p {
    position: absolute;
    top: 0;
    left: 50%;
    background: #FFFFFF;
    padding: 0 15px;
    font-size: 1.1em;
    font-weight: bold;
    transform: translateY(-50%) translateX(-50%);
}

.search ul.items li {
    text-decoration: underline;
    cursor: pointer;
    padding: 0 10px;
}

.search .popular_word li.separator {
    text-decoration: none;
    cursor: default;
    padding: 0;
}

.search .popular_word li.separator:last-child {
    display: none;
}

li#genre, li#station, li#date, li#time, li#count {
    text-align: center;
    border: solid 1px;
    padding: 3px 0;
    margin: 5px 0;
}

li#genre, li#station {
    width: 49%;
}

li#date, li#time, li#count {
    width: 33%;
}

.search dd #additional_item p{
	cursor:pointer;
	font-weight:bold;
	text-align:center;
    text-decoration: underline;
}

.search dd ul.items {
    display: flex;
    flex-wrap:wrap;
    justify-content: space-around;
    align-items: center;
    font-weight: bold;
}

.search dd ul.items a {
    color: #000;
}

.search dd li{
	display: inline-block;
}
.search dd li label{
	display: flex;
	align-content: center;
}
.search dd span{
	display:block;
	margin-top:10px;
	font-weight: bold;
}
.search dd #genre > span{
	display:none;
}
.search dd form + button{
	float:right;
}
#select_station{
	margin-top:5px;
}
.search select[id^="line_no"] {
	margin-left: 5px;
	display: none;
}

.search dd #genre p.active~ span,
.search dd p.active~ #select_station,
.search dd p.active~ #reset {
	display:block;
}

.search dd p.active~ ul{
	display:flex;
}

/* ラベル */
.search input[type=checkbox] { display:none; } /* to hide the checkbox itself */
.search input[type=checkbox] + span{
	font-weight:normal;
	margin-top:5px;
}
.search input[type=checkbox] + span:before {
  font-family: FontAwesome;
  display: inline-block;
}
.search input[type="text"]{
	margin-right:5px;
}

.search input[type=checkbox] + span:before { content: "\f096"; } /* unchecked icon */
.search input[type=checkbox] + span:before { letter-spacing: 5px; } /* space between checkbox and label */

.search input[type=checkbox]:checked + span:before { content: "\f046"; } /* checked icon */
.search input[type=checkbox]:checked + span:before { letter-spacing: 5px; } /* allow space for check mark */

.l_box #t_info{
	overflow:hidden;
	align-self: center;
	width: calc(100% - 190px);
	padding: 10px 0%;
}
.l_box #t_info,
#t_info p{
	text-align:center;
}
#t_info form{
	margin-bottom:10px;
}
#t_info p{
	font-size:14px;
	font-weight:bold;
	margin:0px 0 10px;
}
	#t_info p:before{
		content:url("../parts/icon_lock.svg");
		margin-right:5px;
	}
	p.error{
		color:#F65204;
		display:block;
		font-weight:bold;
	}
		#t_info p.error:before{content:none;}
#t_info a,
header #h_login a{
	background: url(../parts/btn_mypage.svg) no-repeat;
	width: 230px;
	height: 30px;
	display: inline-block;
	text-indent: 3.5em;
	line-height: 30px;
	margin: 0 0 10px;
	text-align: left;
	font-size: 13px;
	font-weight: bold;
}
	#t_info a{
		position:relative;
	}
	#t_info a:first-child:after,
	#t_info a:nth-child(2):after,
	#t_info a:nth-child(3):after{
		content: "会員登録について";
		background: url(../parts/btn_mypage_h.svg) no-repeat;
		width: 230px;
		height: 30px;
		display: block;
		position: absolute;
		top: 0;
		display:none;
	}
	#t_info a:nth-child(2){
		background:url(../parts/btn_point.svg) no-repeat;
	}
		#t_info a:nth-child(2):after{
			content:"ポイント情報";
			background:url(../parts/btn_point_h.svg) no-repeat;
		}
	#t_info a:nth-child(3){
		background:url(../parts/btn_coupon.svg) no-repeat;
	}
		#t_info a:nth-child(3):after{
			content:"クーポン情報";
			background:url(../parts/btn_coupon_h.svg) no-repeat;
		}
	#t_info a:first-child:hover:after,
	#t_info a:nth-child(2):hover:after,
	#t_info a:nth-child(3):hover:after{
		display:block;
	}
	#t_info a:nth-child(5),
	#t_info a:nth-child(6),
	header #h_login a{
		background:none;
		text-indent: 0;
		width:auto;
		height:auto;
		line-height:15px;
		padding: 5px 5px;
	}
	#t_info a:nth-child(5):before,
	#t_info a:nth-child(6):before,
	header #h_login a:before{
		content: url("../parts/icon_arrow.svg");
		color:#FE840F;
		font-weight:bold;
		margin-right:5px;
		vertical-align: sub;
	}
	#t_info a:nth-child(5):hover,
	#t_info a:nth-child(6):hover,
	header #h_login a:hover{
		background:#FDE9D2;
	}
	header #h_login a.before_login{
		background:#F65204;
		color:#fff;
		display: block;
		border-radius: 10px;
		padding: 27px 20px;
		margin:0;
	}
		header #h_login a.before_login:before{
			content:none;
		}
		header #h_login a.before_login span{
			display: block;
			font-size: 20px;
			line-height: 25px;
		}
	#t_info a:nth-child(5){
		float:left;
	}
	#t_info a:nth-child(6){
		float:right;
	}
#t_info label{
	display:flex;
	justify-content: center;
	flex-wrap:wrap;
	margin:0 0 10px;
}
#t_info label input{
	margin-left:5px;
	width: 200px;
}
#t_info button,
.search button{
	padding: 2px 15px;
	border: none;
	background: #FDE9D2;
	border-radius: 2px;
	transition:.3s;
}
	.search button{
		margin-top:10px;
	}
	#t_info button{
		background:#F65204;
		color:#fff;
	}
	#t_info button:hover{
		background:#F89900;
	}
    .search button#search {
        display: block;
        margin: 10px auto 0;
        width: 120px;
        height: 45px;
    }
.search button:hover{
	background:#F89900;
}

.l_box .new_list {
    width:49%;
}

.new_list h2{
	background: #FDE9D2;
	border-left: 8px solid #F62E00;
	padding:0 0 0 10px;
}
.new_list h2 a{
	float: right;
	color: #F65204;
	font-size: 12px;
	display: inline-block;
	line-height: 30px;
	margin-right: 10px;
}
	.new_list h2 a:after{
		content:url("../parts/icon_arrow.svg");
		display: inline-block;
		vertical-align: sub;
		margin-left: 5px;
		margin-top: 4px;
	}
/*.info_area, .panel_area, #panel, #panel ul{
	height:74%;
}*/
.info_area h2,
.new_list h2 {
	font-size: 17px;
	margin: 0 0 0px;
}
.info_area .tab_area{
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.info_area .tab_label{
	background:#E3E3E3;
	width: 15%;
	text-align:center;
	cursor:pointer;
	white-space: nowrap;
}
.tab_panel{
	border: 1px solid #909090;
	overflow:auto;
	margin-top:10px;
	height:260px;
}
.tab_panel li{
	padding:10px;
	border-bottom: 1px dotted #CCC;
	overflow:hidden;
}
.new_info_date{
	display:inline-block;
	margin-right:20px;
}
.info_area .label{
	float:right;
	display:inline-block;
	background:#F89900;
	color:#fff;
	width:122px;
	text-align:center;
}

/* 動画 */
.movie div {
     position: relative;
     padding-bottom: 63%;
     height: 0;
     overflow: hidden;
	 width: 100%;
	 margin-bottom:30px;
}
.movie iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}
.movie .movie_detail{
	padding: 0;
	overflow: inherit;
	height: auto;
    margin-bottom: 0px;
}

.movie_detail button {
    height: 43px;
    padding: 10px 35px;
    font-size: 13px;
    border-radius: 15px 0px;
    background: #F76E41;
    color: #fff;
    position: absolute;
    right: 0px;
    top: -20px;
    font-weight: bold;
    transition: 0.3s;
}

.movie_detail button::before{
    content: "";
    background: url(../parts/icon_good.svg) no-repeat;
    width: 23px;
    height: 23px;
    position: absolute;
    left: 12px;
    top: 8px;
    background-size: cover;
}

.movie_detail button + span {
    position: absolute;
    top: -10px;
    right: 19px;
    display: block;
    color: #fff;
    font-weight: normal;
    font-size: 14px;
    cursor: pointer;
}

.movie_detail button.already {
    pointer-events: none;
    background: #cfcfcf;
    cursor:normal;
}

.movie_detail a {
    margin-top: 15px;
    text-indent: 0;
    width: auto;
    height: auto;
    padding: 5px 5px;
    display: flex;
    line-height: 1.5rem;
}

.movie_detail a:hover{
	background: #FDE9D2;
}

.movie_detail a::before {
    content: url(../parts/icon_arrow.svg);
    color: #FE840F;
    font-weight: bold;
    margin-right: 5px;
    vertical-align: sub;
}

.to_detail {
    display: inline-block;
    background: #F62E00;
    color: #fff;
    padding: 3px 30px;
    font-size: 17px;
    font-weight: bold;
    border-radius: 7px;
}

.ranking{
	width: 220px;
	margin-top:20px;
}
.ranking > p{
	color:#fff;
	font-weight:bold;
	background:url(../parts/ttl_rank.png) no-repeat;
	font-size:20px;
	text-indent:3em;
	line-height:38px;
}
	.top .ranking{
		margin-top:0;
	}
.top .ranking img,
.ranking img{
	max-width:100%;
}
.ranking > img{
	margin-bottom:10px;
}
.ranking .to_result{
	display: block;
	background: #FEA241;
	color: #fff;
	text-align: center;
	font-size: 15px;
	font-weight: bold;
	margin: 25px 0 0;
	border-radius:3px;
}
	.ranking .to_result:hover{
		background:#F62E00;
	}
.ranking{
	font-size:13px;
}
.rank_box {
    margin-top: 15px;
}

.ranking li {
    margin-top: 15px;
    padding-top: 10px;
}

.rank {
    margin-bottom: 3px;
}

.ranking_details {
	display:-webkit-box;
  	display:-ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
    align-items: flex-end;
    padding-bottom: 3px;
    border-bottom: double 3px #000000;
    margin: -55px 0 3px 50px;
}

.ranking_details dt,
.ranking_details dd {
    padding: 0 5px;
}

.ranking .eatery{
	font-size: 15px;
    font-weight: bold;
    width: 100%;
}

.ranking_details .separater {
    padding: 0;
}

.ranking_details .separater:nth-of-type(1) {
    display: none;
}

.ranking_img {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
}

.ranking_img img {
    width: 45%;
}

.ranking .rank{
	margin-right:5px;
}
.ranking span{
	background: #F89900;
	font-size: 20px;
	padding: 0 15px;
	display: inline-block;
	margin: 0 3px 0 0;
	vertical-align: bottom;
	font-weight: bold;
	color:#fff;
}

.QR{
	align-self: flex-end;
}

.bunner_area{
	display: flex;
	flex-wrap: wrap;
	width: 970px;
	justify-content: space-between;
	margin: 0;
}
	.bunner_area:after{
		content:"";
		display:block;
		width:326px;
	}
.bunner{
	display: flex;
	justify-content: space-around;
	margin-top:30px;
}
.bunner img{
	max-width:100%;
}
.bunner .type0{
	width:1000px;
	height:auto;
}
.bunner .type1{
	width:664px;
	height:326px;
}
.bunner .type2{
	width:326px;
	height:326px;
}

#main{
	width:900px;
	margin-bottom:20px;
}
	.top #main{
		width:auto;
		margin-bottom: 0;
	}
#main h1{
	font-size: 20px;
	margin: 0 0 30px;
	padding:0 0 0 15px;
	background: #FDE9D2;
	border-left:8px solid #F62E00;
}
.contents{
	margin:0 0 100px;
	padding:0 0 20px;
}

footer{
	width:1200px;
	max-width:100%;
	margin:0 auto;
	margin-top:40px;
	position:relative;
}
footer .inner{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
footer .f_info dt{
	font-weight:bold;
	font-size:13px;
}
footer .f_info img{
	display: block;
	margin:8px 0;
}
footer .copy{
	width:100%;
	text-align:center;
	margin:40px 0 10px;
}

.page_view button{
	background:none;
	margin-bottom:10px;
}
.page_view button[type="submit"]{
	text-decoration:underline;
}
.page_view button.active{
	color:#F62E00;
}
	.page_view button[type="submit"]:after,
	.page_view button.active:after{
		content:"|";
		display:inline-block;
		margin:0 20px;
		color: #000;
	}
.page_view .prev,
.page_view .next{
	color:#F62E00;
	margin-bottom:5px;
}
	.page_view .prev:after{
		content:"|";
		color:#000;
		text-decoration:none;
		margin:0 30px;
		display: inline-block;
	}
	.page_view .next:after{
		content:none;
	}

/*　ログインページ　*/
.login form{
	width: 360px;
	margin: 0 auto;
}
.login form,
.login form p{
	text-align:center;
}
.login form p.error{
	display:block;
	color:#F62E00;
	font-size:12px;
	width:100%;
}
.login form p{
	font-size: 14px;
	font-weight: bold;
	margin: 0px 0 20px;
}
	.login form p:before{
		content: url("../parts/icon_lock.svg");
		margin-right: 5px;
	}
	.login form p.error:before{
		content:none;
	}
.login form input{
	margin-left: 5px;
	width: 200px;
	height:28px;
}
.login form label{
	display: flex;
	justify-content: center;
	margin: 0 0 10px;
	flex-wrap: wrap;
	min-height:50px;
}
.login form button{
	padding: 2px 15px;
	border: none;
	color:#fff;
	background: #F65204;
	border-radius: 2px;
	transition: .3s;
}
	.login form button:hover{
		background: #F89900;
	}
.login form ~ a{
	background: none;
	text-indent: 0;
	width: auto;
	height: auto;
	line-height: 15px;
	padding: 0 5px;
	float: right;
}
	.login form ~ a:before{
		content: url("../parts/icon_arrow.svg");
		color: #FE840F;
		font-weight: bold;
		margin-right: 5px;
		vertical-align: sub;
	}

dt.hissu:after{
	content:"※";
	margin-left:3px;
	font-weight:bold;
}

/* フリーページ */
.free_page #main{
	width:1000px;
	padding:0 0 20px;
}
#left .contents{
	margin-bottom:80px;
	overflow: hidden;
	border:1px solid #E8E7E5;
}
.free_page .text-area a{
	text-decoration: underline;
}
.free_page .contents  img{
	max-width:100%;
}
.ttl_area{
	width:100%;
	margin:0 auto;
}
h1.page_title{
	font-size: 20px;
	margin: 0 0 30px;
	background: #FDE9D2;
}
	h1.page_title:before{
		content: "";
		background: rgb(253,233,210);
		background: -moz-linear-gradient(top, rgba(253,233,210,1) 29%, rgba(246,46,0,1) 73%);
		background: -webkit-linear-gradient(top, rgba(253,233,210,1) 29%,rgba(246,46,0,1) 73%);
		background: linear-gradient(to bottom, rgba(253,233,210,1) 29%,rgba(246,46,0,1) 73%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fde9d2', endColorstr='#f62e00',GradientType=0 );
		width: 10px;
		min-height: 33px;
		display: inline-block;
		margin-right: 5px;
	vertical-align: top;
	}
h2.ttl_main{
	background: #FBD8A4;
	text-align: left;
	padding: 0 10px;
	font-size: 18px;
}
h3.ttl_sub{
	font-size: 18px;
	padding: 20px 30px 0px;
	margin: 10px 0px 0px;
	background: #fff;
}
.free_page .contents{
	padding:0 0 0px;
	margin:0 20px 0px;
	background:#fff;
	overflow:hidden;
}
.free_page .contents > div{
	border:none;
}
.free_page .contents > div p{
	word-break: break-all;
}
.free_page .text-area {
	padding: 20px 30px 20px;
	margin: 0 0px 0px;
	background: #fff;
}

/*ファイル別アイコン*/
.pdf a,
.xls a,
.doc a{
  color:#000;
  font-weight: 600;
  padding-right:19px;
}
.pdf a{
  background:url(../parts/icon_pdf.png) no-repeat right 0px;
}
.xls a{
  background:url(../parts/icon_excel.png) no-repeat right 0px;
}
.doc a{
  background:url(../parts/icon_word.png) no-repeat right 0px;
}

.free_page .text-area dl{
	margin:0 0 25px;
}
	.free_page .text-area dl:last-child{
		margin-bottom:0;
	}
.free_page .text-area dl dt{
	font-size: 17px;
	font-weight: bold;
	color: #9A693F;
	margin: 0 0 7px;
}
.free_page .text-area dl dd{
	margin:0 0 25px 10px;
	word-break: normal;
}
	.free_page .text-area dl dd:last-child{
		margin-bottom:0;
	}
.free_page .text-area ul li{
	position:relative;
	margin: 0 0 15px 0;
	padding: 0 0 0 18px;
	word-break: normal;
}
	.free_page .text-area ul li:last-child{
		margin-bottom:0;
	}
	.free_page .text-area li:before{
		content: url("../parts/icon_plus.svg");
		display:block;
		color:#9A693F;
		position:absolute;
		top:0;
		left:0;
	}

/* ログインポップアップ */
.overlay {
	position: fixed;
	display: none;
	z-index: 50;
	top: 0;
	left: 0;
	width: 100%;
	height: 120%;
	background: rgba(0, 0, 0, 0.75);
}

#load_content,
#load_form_content {
	position: fixed;
	display: none;
	z-index: 100;
	margin: 0;
	padding: 30px 20px 10px;
	border: 2px solid rgba(128, 128, 128, 1);
	background: #FFFFFF;
}

#load_content {
    width: 50%;
}

#load_content p{
	text-align: center;
	margin: 0px 0 20px;
	font-size: 15px;
}

#load_form_content {
    min-width: 50%;
    max-width: 75%;
    max-height: 80%;
}

#load_form_content button#submit {
    display: block;
    margin: 0 auto 5px;
    width: 120px;
    height: 40px;
}

#load_form_content button#reset {
    display: block;
    margin: 10px 0 0 auto;
    color: #FFFFFF;
    background: #4A7BC5;
}

#load_form_content button#close {
    display: block;
    position: absolute;
    top: 3px;
    right: 3px;
    padding: 0;
    margin: 0;
    background: #FFFFFF;
}

#load_form_content button#close:hover {
    background: #FFFFFF;
}

#load_form_content button#close::after {
    content: '';
    display: inline-block;
    width: 30px;
    height: 30px;
    background-image: url('/parts/icon_close.png');
    background-size: contain;
}

#load_form_content span.category {
    display: block;
    width: 100%;
    padding-top: 5px;
    border-top: dashed 1px #F89900;
}

.form_content {
    display: flex;
    justify-content: space-around;
    margin-top: 10px;
}

.form_content span,
.horizontal span {
    font-weight: bold;
}

div.date {
    margin: 0 5px 5px 0;
}

div.date span {
    display: block;
}

div.date input {
    border: solid 1px rgb(175, 175, 175);
}

div.date select {
    min-height: 30px;
    min-width: 150px;
}

.horizontal ul {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 5px;
}

.horizontal li {
    margin: 5px;
}

/* 日付入力用カレンダー */
.calender {
	display: block;
	overflow:hidden;
	position: absolute;
	background: rgb(248, 248, 248);
	border: 1px solid #c0c0c0;
	padding:5px 0px;
	border-radius:0px 0px 2px 2px ;
	-moz-border-radius:0px 0px 2px 2px ;
	-webkit-border-radius:0px 0px 2px 2px ;
	box-shadow:0px 3px 8px 1px #d2d2d2;
	-moz-box-shadow:0px 3px 8px 1px #d2d2d2;
	-webkit-box-shadow:0px 3px 8px 1px #d2d2d2;
	z-index:200;
}
.improper { color:#999; }
.calender div {
	clear:left;
	text-align:center;
}
.calender td {
    word-break: normal;
}
.search .calender button,
.search .calender button:hover {
    padding: 0;
    background: none;
}
#datetitle {
	position:relative;
	padding:0 5px;
}
#calenderclose {
	margin:5px;
}
.control {
	position:relative;
}
#main .control>button{
	float:left;
	position:absolute;
	top:0;
	right:5px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 8px;
	border-color: transparent transparent transparent #000000;
	margin: 4px 4px 0;
}
#main .control>button:nth-of-type(1){
	left: 5px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 8px 6px 0;
	border-color: transparent #000000 transparent transparent;
}

.calender>table {
	float:left;
	margin:5px 3px;
}
.calender table,
.calender table td,
.calender table th {
	border:none;
	text-align:center;
}
.calender table td,
.calender table th {
	width:20px;
	height:20px;
	padding:4px;
	border:none;
}
.calender table th{
	background:#F8F8F8;
	border-bottom:1px solid #c0c0c0;
}
.calender table td{
	border-radius:2px;
	background:#fff;
}
.calender table td.select{
	background:#0287D0;
	color:#fff;
}


#show_login{
	text-align:center;
}

#show_login .btn_area {
    display: flex;
    justify-content: space-around;
}

#show_login button,
#show_login a{
	float:none;
	margin:0;
}
#show_login button,
.btn_area a:nth-child(2){
	display: inline-block;
	background: #F62E00;
	color: #fff;
	padding: 3px 30px;
	font-size: 17px;
	font-weight: bold;
	border-radius: 7px;
	margin: 0 0 0px;
}
#show_login button{
	background: #4AC595;
}
#show_login button:hover{
	background: #8AC54A;
}
.btn_area a:nth-child(2){
	background: #4A7BC5;
	margin:0 15px;
}
.btn_area a:nth-child(2):hover{
	background: #4AB8C5;
}

/* フリーページ dl */
.free_dl{
	display:flex;
	justify-content: space-between;
}
.free_dl dd{
	margin-left:0!important;
}

/* ファイル */
.upfile{
	margin: 0 20px 0;
	background: #fff;
	padding: 0 30px;
}

/* 定義リスト */
.ul_typeA > li,
.ul_typeB > li{
	position:relative;
	counter-increment: cnt;
	padding-left:30px;
	padding-right: 10px;
	padding-bottom: 5px;
	margin-bottom: 15px;
}
.ul_typeA > li{
	border-bottom:1px solid #ccc;
}
.ul_typeA > li:last-child{
	border:none;
}
.ul_typeA > li:before{
  display: marker;
  content: "(" counter(cnt) ") ";
	position: absolute;
	left: 0px;
	top: 0px;
}
.ul_typeB{
	margin-top:8px;
}
.ul_typeB > li{
	background:rgba(248, 250, 251, 1);
	padding: 5px 15px 5px 30px;
	margin: 0 0 2px;
}
.ul_typeB > li:before{
  display: marker;
  content: "" counter(cnt) ") ";
	position: absolute;
	left: 10px;
	top: 5px;
}
.table_typeA, .table_typeA th, .table_typeA td{
	width:570px;
	text-align:center;
	font-weight:normal;
	border:1px solid #ccc;
	padding:5px;
}
.table_typeA{
	margin:10px 0;
}
.table_typeA th{
	background:#E8F5FD;
}

/* 404 403 */
.error nav.menu{
	display:block;
}

/* フリーページ（画像の配置） */
	/*######################################
		フリーページの画像位置設定
	[配置対応番号]
	0_ImgTopLeft:左上		1_ImgTopCenter:中上			2_ImgTopRight:右上
	3_ImgLeft:左							4_ImgRight:右
	5_ImgBottomLeft:左下		6_ImgBottomCenter:中下		7_ImgBottomRight:右下
	########################################*/
.ImgTopCenter,
.ImgBottomCenter,
.ImgRight,
.ImgLeft,
.ImgTopLeft,
.ImgTopRight,
.ImgBottomLeft,
.ImgBottomRight {
  max-width: 1000px;
  position: relative;
  z-index: 100;
}

.ImgTopCenter img,
.ImgBottomCenter img,
.ImgRight img,
.ImgLeft img,
.ImgTopLeft img,
.ImgTopRight img,
.ImgBottomLeft img,
.ImgBottomRight img {
  border-radius: 2px;
  max-width: 100%;
}

/*----------------------------------
	上の左（回り込なし）に表示の設定
------------------------------------*/
.ImgTopLeft {
  margin-left: 0px;
}

/*----------------------------------
	上に表示の共通設定
------------------------------------*/
.ImgTopCenter,
.ImgRight,
.ImgLeft,
.ImgTopLeft,
.ImgTopRight {
  margin-bottom: 15px;
}

/*----------------------------------
	下に表示の共通設定
------------------------------------*/
.ImgBottomLeft,
.ImgBottomCenter,
.ImgBottomRight {
  margin-top: 15px;
  clear: both;
}

/*----------------------------------
	左に表示の共通設定
------------------------------------*/
.ImgTopLeft,
.ImgLeft,
.ImgBottomLeft {
  text-align: left;
  margin: 0 15px 15px 0px;
}

.freeImg0 {
  margin-top: 20px;
}

/*----------------------------------
	中央に表示の共通設定
------------------------------------*/
.ImgTopCenter,
.ImgBottomCenter {
  text-align: center;
}

.ImgTopCenter {
  margin-top: 20px;
}

/*----------------------------------
	右に表示の共通設定
------------------------------------*/
.ImgTopRight,
.ImgRight,
.ImgBottomRight {
  text-align: right;
  margin-left: 15px;
}

.ImgRight {
  margin-left: 27px;
}

.ImgTopRight {
  margin-top: 20px;
}

/*----------------------------------
	上下の共通設定
------------------------------------*/
.ImgTopLeft,
.ImgTopRight,
.ImgBottomLeft,
.ImgBottomCenter,
.ImgBottomRight {
  clear: both;
}

/*----------------------------------
	左に表示
------------------------------------*/
.ImgLeft {
  float: left;
  margin-right:20px;
}

/*----------------------------------
	右に表示
------------------------------------*/
.ImgRight {
  float: right;
}

/*----------------------------------
	左下に表示
------------------------------------*/
.ImgBottomLeft {
  margin-top: 15px;
}
/* 一つ目のcontentsの直下の画像は上にマージンをとらない */
#left > .contents:nth-child(1) > .text-area > .ImgTopCenter{
	margin-top: 0;
}

/* 表作成 */
.baseTbl_A{
	width:100%;
	font-size: 0.95rem;
	margin:10px 0;
	box-sizing:border-box;
}
.baseTbl_A th,
.baseTbl_A td{
	padding: 10px 10px;
	font-weight: 100;
	border-bottom:solid 1px #fff;
	vertical-align:top;
}
.baseTbl_A th{
	width: 25%;
	text-align: left;
	font-weight:bold;
}
.text-area  table {
    width: 100%;
    margin: 10px 0px;
    box-sizing: border-box;
	border-top: solid 1px #ccc;
}
.text-area  table th, .text-area  table td {
    padding: 10px 25px;
    border-bottom: solid 1px #ccc;
    vertical-align: top;
}
.text-area  table th{
	background:#FAF9F5;
	font-weight: bold;
}

/*パンくず*/
.breadrumb{
	margin: 10px auto 20px;
	border-bottom: 1px solid #E9E8E6;
	padding: 15px 0;
	box-sizing: content-box;
	width: 1000px;
	display:none;
}
.breadrumb span{
	background:url(../parts/bread_home.png) no-repeat left center;
	display:inline-block;
	padding: 2px 17px 2px 7px;
	margin-right:10px;
	cursor:pointer;
	transition:all 0.3s ease;
}
	.breadrumb span:hover{
		transform:translateX(7px);
	}
#page-top {
	width: 170px;
	height: 50px;
	position: fixed;
	bottom: 61px;
	right: 0;
	z-index: 9999999;
	cursor: pointer;
	transform: rotate( -90deg );
}
#page-top a{
  display: block;
  width: 100%;
  height: 100%;
  line-height: 50px;
  text-align: center;
  color:#fff;
  font-size:12px;
  -webkit-transition:1.0s;
  transition:1.0s;
	position:relative;
	background: #F76E41;
}
	#page-top a:before{
		content: "Page top >";
		color: #fff;
		font-size: 20px;
		font-weight: bold;
	}

@media screen and ( max-width:1189px) {
    #new_info_list {
        margin: 15px 0 0;
    }
	header h1{
		margin-left:10px;
		margin-right: 10px;
		width:100%;
		margin-bottom: 10px;
		justify-content: center;
	}
		header .inner{
			width: auto;
			margin-bottom:15px;
			justify-content: center;
		}
		header h1 p{
			line-height:29px;
			font-size: 7vh;
			margin-right: 10px;
			text-align: center;
		}
		header #h_login{
			flex-direction: inherit;
		}
		ul.h_menu{
			margin-right:10px;
		}
		header ul.h_menu{
			flex-direction: inherit;
			margin-left:16px;
			border:none;
		}
}

@media screen and ( max-width:1024px) {
	html{
		overflow-x:scroll;
	}

	button, a{
		line-height:40px;
	}
	.tab_panel li a{
		line-height:20px;
	}

	#container{
		font-size:16px;
		overflow:hidden;
	}
	#container,
	#container #box,
	nav.pc{
		width: 100%!important;
	}
	#container #main{
		width: 100%;
		padding:0px 10px 0;
		box-sizing: border-box;
	}
	h1.top,
	header,
	footer .copy,#department{
		width:100%;
		display:block;
	}
	header{
		margin-bottom:0px;
		height:auto;
	}
		header #h_login a.before_login{
			padding:3px 20px;
			display: flex;
			justify-content: center;
			align-items: center;
		}
		header #h_login a.before_login span{
			display:inline-block;
			font-size:medium;
		}

	footer{
		width:100%;
	}
	footer .f_img{
		width: 100%;
		justify-content: space-around;
	}
	footer .f_img img{
		width:32%;
	    height: 100%;
	}

	nav.pc ul{
		width:auto;
	}
	nav.pc ul a{
		font-size:18px;
	}

	#main{
		margin-bottom:20px;
	}

    .search{
    	width:60%;
    }
    .l_box .movie{
    	width:38%;
    }

    .search dd:first-of-type {
        margin-top: -65px;
    }

    .search input[type="checkbox"] + span{
    	min-height:45px;
    	display: flex;
    	align-items: center;
    }

	.l_box{
		width:auto;
		justify-content: space-between;
	}
	.l_box #t_info{
		margin-bottom:15px;
		padding: 0;
	}
	.new_list{
		margin-bottom:15px;
	}
	#new_info_list{
		margin:0;
	}

	.QR{
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.top_bunner{
		overflow:hidden;
	}
	.top_bunner div{
		width:30%;
	}
		.top_bunner div img,
		.top_bunner div a{
			display:block;
			max-width:100%;
		}

	.contents{
		margin:0 0 50px;
		clear:both;
	}
	.contents h2{
		margin-bottom:25px;
	}
	.contents > p{
		width:auto;
	}

	#main h1{
		width:auto;
		padding: 0 10px 0 10px;
	}

	.top .ranking,
	.ranking{
		width:100%;
		min-width:150px;
		margin: 20px 10px 0;
		padding: 0px 0 0;
		position: relative;
	}

    .ranking_img img {
        width: 45%;
    }

	.ranking{
		margin-bottom:20px;
	}
	.ranking .rank_box{
		display:-webkit-box;
  		display:-ms-flexbox;
		display:flex;
		justify-content: space-between;
		background:#fff;
        margin-top: 0;
	}
	.ranking .rank{
		margin-right:10px;
	}
	.ranking .to_result{
		width:200px;
		margin-top: 0;
		float: right;
	}

    .ranking li {
        margin-top: 0;
    }

    .ranking img {
        align-self: flex-start;
    }

    .ranking_details {
        margin-top: -30px;
    }

    .ranking_details dt,
    .ranking_details dd {
        font-size: 15px;
        line-height: 20px;
    }

    .ranking .eatery {
        font-size: 16px;
        padding-top: 0;
        width: auto;
    }

    .ranking_details .separater:nth-of-type(1) {
        display: block;
    }

	.bunner_area{
		width:100%;
	}


/* 配下 */
	h2.ttl_main{
		padding:5px 10px 5px;
		margin: 0 0 0px;
		font-size: 17px;
	}
	#box > h1{
		overflow:hidden;
		min-height: 100px;
		margin: 0px 0px 25px;
	}
		#box > h1:before{
			content: "";
			display: block;
			/*padding-top: 100%; /* 1:1 */
		}
	#box > h1 div{
		font-size: 20px;
	}
	#box > h1 div + img{
		min-width:100%;
		max-width: 100%;
	}

	/* 表 */
	table{
		width:100%!important;
	}
	.baseTbl_A{
		margin:0px;
	}
	.baseTbl_A th,
	.baseTbl_A td{
		padding: 10px 10px;
	}
	.f_tbl{
		overflow: auto;
		white-space: nowrap;
	}
	.f_tbl::-webkit-scrollbar {
	  height: 10px;
	}
	.f_tbl::-webkit-scrollbar-track {
	  margin: 0 2px;
	  background: #ccc;
	  border-radius: 5px;
	}
	.f_tbl::-webkit-scrollbar-thumb {
	  border-radius: 5px;
	  background: #666;
	}

	/* フリーページ */
	.free_page #box #main{
		padding:0 0!important;
		margin:	0 10px!important;
		width:auto!important;
		overflow: hidden;
	}
		.free_page.riyo-kiyaku #box #main{
			width:100%!important;
			margin:0!important;
			padding: 0 10px!important;
		}
	.free_page .contents{
		margin:10px 10px 10px;
		padding-bottom:30px;
	}
	.ttl_area{
		width:100%;
		min-height:1.8em;
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
	}
	h1.page_title{
		width:100%;
		height:auto;
		font-size: 1.5em;
		padding: 0;
		margin: 20px 10px 20px;
	}
		h1.page_title::before{
			min-height:34px;
		}
	h3.ttl_sub{
		padding:20px 10px 5px;
		margin:0 0 0;
	}
	.free_page .text-area{
		padding: 10px 10px 30px;
		margin:0;
	}
	table img{
		width:100%;
	}

	dl.dl_typeB dt{
		width:100%;
		padding:3px 10px!important;
		margin-bottom: 5px;
	}
	dl.dl_typeB dd{
		margin-left:0px!important;
	}

	/* 画像 */
	.ImgTopCenter, .ImgBottomCenter, .ImgRight, .ImgLeft, .ImgTopLeft, .ImgTopRight, .ImgBottomLeft, .ImgBottomRight{
		float:none;
		text-align: center;
		margin:15px 0;
	}
	.ImgTopCenter img, .ImgBottomCenter img, .ImgRight img, .ImgLeft img, .ImgTopLeft img, .ImgTopRight img, .ImgBottomLeft img, .ImgBottomRight img, .text-area img{
		max-width:100%;
	}
/* ページネーション */
	.page_view{
		width:100%!important;
		padding: 0px 0 0px;
	}
	.page_view button{
		padding: 3px 0px;
		font-size: 13px;
		float:none!important;
	}

/* フリーページdl */
	.about_o,
	.about_o dd{
		display:block;
	}
	.about_o dl{
		width:auto;
	}

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

    .keyword + button {
        margin: 0;
        line-height: normal;
    }

    #load_form_content {
        overflow: auto;
    }

    #load_form_content button#reset {
        line-height: normal;
    }

    img#calendar {
        display: none;
    }
}

@media screen and ( max-width:896px) {

	header .inner{
		flex-wrap:wrap;
		margin:15px 0px 0;
	}
	header::before{
		background:#F7A241;
		height:3px;
	}
	header h1{
		width: 100%;
		padding: 10px;
		margin: 0;
		border-top:5px solid #FDEBDD;
	}
	header #h_login{
		flex-direction: initial;
		position: absolute;
		top: -34px;
		right: 40px;
	}
		header #h_login a.before_login{
			background: #fff;
			color: #F65204;
		}
		header #h_login a.before_login:before{
			content: url("../parts/icon_arrow.svg");
			display: inline-block;
			vertical-align: sub;
			margin-right: 0px;
			position: relative;
			top: 2px;
		}
		header #h_login a.before_login span{
			font-size: inherit;
		}
	header ul.h_menu{
		display:none;
	}
	.h_login{
		display:flex;
		margin-top:15px;
	}
	.h_login dt{
		margin-right:10px;
	}
	.h_login dd{
		margin-right:30px;
	}
	ul.h_menu{
		margin-bottom:15px;
	}

	header{
		border-top: 35px solid #fff;
	}
	header nav.pc{
		margin: 0 0px 0;
		z-index: 999;
		padding: 0 0;
		position: absolute;
		top: 0px;
		right: -300px;
		width: 300px !important;
		height: 100vh;
		transition:.5s;

	}
	header h1 a{
		position: absolute;
		top: -35px;
		left: 0;
		height: 30px;
		display: flex;
	}
	header h1 a img{
	display: block;
	height: 35px;
	width: auto;
	padding: 2px 5px;
	margin-right: 0;
	}
	header h1 p{display:none;}
	header .inner{
		height:0;
		margin:0;
	}
	.top header h1 p{
		display: flex;
		font-size: 4vh;
	}
	.top header .inner{
		margin:0px 0 0;
		height:auto;
	}

	nav.pc ul{
		width:100%;
		flex-wrap: wrap;
		top:0;
	}
	nav.pc ul li{
		width:100%;
		text-align: left;
		text-indent: 2em;
	}
	nav.pc ul a{
		font-size: 15px;
		white-space: nowrap;
		height: 45px;
		display: flex;
		align-items: center;
		border-bottom: 1px solid #FDEBDD;
	}
		nav.pc > ul > li:last-child a{border:none;}
	nav.pc li ul{
		opacity:1;
		overflow:visible;
		position: relative;
		top: 0;
	}
		nav.pc ul li:hover ul{
			position:relative;
			top:0;
		}
		nav.pc ul li:hover li{
			padding:0;
		}
	nav.pc li ul li{
		height:auto;
		font-weight:bold;
	}
	nav.pc li ul li a{
		font-weight: normal;
		text-indent: 3em;
	}
	nav.pc ul li.sp_menu{
		display:block;
	}

	footer nav.pc{display:none;}

	.top #main{
		display:block;
	}

	.l_box{
		width:100%;
		min-width:auto;
		flex-direction: column;
	}

    .l_box .search {
        order: -1;
    }

	#t_info a:nth-child(5), #t_info a:nth-child(6){
		width:200px;
	}
	.search, .l_box .new_list,
	.l_box .movie, .l_box #t_info{
		width:100%;
	}
	#t_info a{
		display:block;
		margin:0 auto 10px;
	}

    #new_info_list {
        margin: 15px 0;
    }

	.top_bunner{
		flex-direction: column;
	}
	.top_bunner div{
		width:auto;
		text-align: center;
	}
	.top_bunner div a{
		display:inline-block;
	}

	.QR{
		bottom:0;
        margin: 0 auto;
		display:none;
	}

	.page_view{
		padding:20px 0 10px;
	}

	#t_info a{
		float:none!important;
	}
	.info_area{
		margin:0;
	}

    #show_login .btn_area {
        flex-direction: column;
        align-items: center;
    }

    #show_login button,
    #show_login a {
        width: 75%;
        text-align: center;
        margin-bottom: 15px;
    }

	input,
	button {
		min-height: 40px;
	}

	/* フリーページ */
	.free_page .contents{
		padding-bottom:0;
		margin:10px 0 10px;
	}
	h3.ttl_sub{
		padding-top:10px;
	}
	h3.ttl_sub,
	.free_page .text-area{
		padding-right:0;
		padding-left:0;
	}

	#page-top{
		width:120px;
		height:30px;
		bottom: 45px;
		right: -35px;
	}
	#page-top a{
		line-height: 30px;
	}
	#page-top a::before{
		font-size:15px;
	}

    .search input[type="checkbox"] + span {
        min-height: 0;
        display: inline;
    }

    .search a.reset {
        margin: 0 0 0 auto;
    }

    #load_form_content button#reset {
        min-height: auto;
    }

    #load_form_content button#submit {
        margin-top: 10px;
    }

    .form_content {
        display: block;
    }

    .horizontal ul {
        display: block;
    }

    div.date input,
    div.date select {
        width: 100%;
    }
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none){
	.ranking ol li a div img {
		width: 100%;
	}
}

/*ランキング：横並び・順位と店名の反転に対応*/
@media screen and (min-width: 600px) and (max-width: 1024px) {
	.ranking ol {
		display:-webkit-box;
  		display:-ms-flexbox;
		display:flex;
	}
	.ranking li {
		background:#fff;
		padding-top:15px;
		padding-bottom:15px;
        padding: 15px;
		width: 33%;
	}
	.ranking ol li + li {
		margin-top: 0;
		margin-left: 10px;
	}
	.ranking li > a {
		display:-webkit-box;
  		display:-ms-flexbox;
		display:flex;
        flex-direction: column;
	}
	.ranking ol li a div {
		display:-webkit-box;
  		display:-ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: space-between;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
}

@media screen and (max-width:896px){

	header .mypage_top{
		height:auto;
		margin-bottom:-20px;
	}
	header .mypage_top h1{
		padding:0;
	}
	header .mypage_top h1 a + img{
		display:none;
	}
	header .mypage_top #h_login{
		position: relative;
		top: 0;
		right: 0;
		flex-wrap:wrap;
	}

}

@media screen and (max-width:600px){

	header h1{
		flex-direction: column;
		margin-left:0;
		margin:0 10px;
	}
	header h1 img{
		margin:0 0px 10px;
		height:auto;
		max-width: 100%;
		display:none;
	}
		.top header h1 img{display:block;}
	header h1 a.sp_logo{
		display:block;
		color:#fff;
		position: absolute;
		top: -37px;
		font-size: 20px;
	}
	header h1 p{
		margin:0 10px;
	}

	header nav.pc{
		width:100%!important;
		right:-100%;
	}

	.QR{
		margin-top:20px;
	}
	.QR p{text-align:center;}
	.QR #qrcode{
		display:block;
		width:128px;
		margin:0 auto;
	}

	.top .ranking, .ranking{
		margin:20px 10px;
		overflow: hidden;
	}
	.top .ranking{
		margin:20px 0;
	}
	.ranking .rank_box{
		-ms-flex-wrap: wrap;
		flex-wrap:wrap;
	}
	.ranking ol {
		display: block;
	}
	.ranking ol li {
		width: 100%;
	}

	.ranking .eatery {
		padding-top: 0;
	}

	header .mypage_top #h_login a{
		margin-bottom:0;
	}

}

/* 480px未満sp */
@media screen and (max-width:480px){

	html {
		min-width:320px;
		overflow-x: scroll;
	}
	input{
		width:90%;
		min-height: 40px;
	}
	input[type="radio"]{
		width:auto;
	}
	button{
		margin-left:auto!important;
		margin-right:auto!important;
		display: block!important;
		float: none!important;
		min-height: 40px;
	}
	.page_view button{
		display: inline-block !important;
	}

    .search dt {
        padding-top: 5px;
    }

    .search dt:before {
        width: 75px;
        height: 55px;
    }

    .search dd:first-of-type {
        margin-top: -60px;
    }

    .search .keyword input {
        width: 65%;
    }

    .search .keyword button {
        margin: 0!important;
    }

    .search dd p.active~ #reset {
        display: block!important;
    }

/* ヘッダ */
	header .inner{
		width:auto;
	}
	header h1{
		flex-wrap: wrap;
		justify-content: center;
		margin: 0 10px 0px;
	}
	header h1 p{
		width:auto;
		margin:0px 10px 0;
	}
	header #h_login{
		white-space: normal;
		flex-wrap: wrap;
		margin: 5px 0px 5px;
		top: -38px;
	}
	header #h_login a.before_login{
		background: none;
		text-indent: -999em;
		width: 86px;
		padding: 0;
		margin-right: 0px;
		border: 1px solid #F65204;
		text-align: center;
	}
	header #h_login a.before_login:before{
		content:none;
	}
	header #h_login a.before_login:after{
		content: "ログイン";
		position: absolute;
		right: 0;
		top: 8px;
		display: inline-block;
		width: 100px;
		height: 20px;
		text-indent: initial;
		text-align: center;
	}

	.info_area h2{
		font-size:30px;
	}
	.contents h2 p{
		font-size:22px;
	}

	.search input{
		width: 100%;
	}

    .search select#time {
        width: 100%;
	}
	.ranking ol li {
		width: 100%;
	}

    .ranking_details {
        margin-top: -30px;
    }

    .ranking_details dt,
    .ranking_details dd {
        font-size: 16px;
        line-height: 20px;
    }

    .ranking .eatery {
        font-size: 17px;
    }

    #show_login button,
    #show_login a {
        width: 100%;
    }


/* フッター */
	footer .inner{
		justify-content: space-around;
	}
	footer .footer_menu > dl{
		width:100%;
	}

	.l_box{
		width:auto;
		min-width: 100%;
	}

/* フリーページ */
	h1.page_title{
		font-size:1.3em;
	}

    #load_form_content button#reset {
        padding: 2px 2px;
        margin: 10px 0 0 auto!important;
    }

}
/*------------print---------------------*/
/* 印刷 */
@page {
	margin: 12mm 7mm;
}
@media print{
	body{ zoom: 95%; }

	#page-top{
		display:none!important;
	}
}
.alter_data{
	font-weight:bold;
	color:#ff3300;
}
