@charset "utf-8";
/* CSS Document */
body,html{
	width:100%;
	scroll-behavior: smooth;
}
*{
	font-family: "maru-maru-gothic-asr-stdn", sans-serif;
	font-weight: 400;
	font-style: normal;
	color:#222222;
	margin:0;
	padding:0;
	box-sizing:border-box;
	line-height:1.8em;
	width:auto;
}
header{
	background:url("../images/common/logo.svg") no-repeat 5vw 5vw;
	background-size:30vw;
}
header h1{
	padding:10vw 5%;
	text-align: right;
	font-size:7vw;
}
header h1 span{
	display: inline-block;
	padding-top:1vw;
	padding-right:1vw;
	font-size:2.8vw;
	vertical-align:text-top;
}
header .header_disc{
	text-align:right;
	font-size:3vw;
	padding-bottom:5vw;
	width:97%;
}
body{
	padding:20px;
}
a{
	color:blue;
}
a:hover{
	color:aqua;
}
a:visited{
	color:blueviolet;
}
.menu,.menu ul{
	margin-left:30px;
}
/*javascriptで使うヤツ*/
.hidden{
	opacity: 0;
}
.show{
	opacity: 1;
	transition: opacity 2s;
}
/*カルーセルバナーっぽいの*/
.bannerlist{
	position:relative;
	width:100%;
	height:59.5vw;
	overflow:hidden;
	display: block;
	white-space: nowrap;
}
.bannerlist ul{
	display:block;
	position: relative;
	white-space: nowrap;
}
.bannerlist li{
	display:inline-block;
	position:relative;
	list-style-type: none;
	width:100%;
	height:59.5vw;
}
.bannerlist a{
	display:inline-block;
	width:100%;
}
.bannerlist ul label{
	z-index:2;
	position:absolute;
	display:block;
	color:#fff;
	text-indent:-9999px;
	overflow:hidden;
	background:rgba(255,255,255,0.5);
	width:5%;
	height:53.5vw;
	top:3vw;
	cursor: pointer;
}
.bannerlist .left{
	left:1vw;
	clip-path: polygon(100% 100%,100% 0,0 50%);
}
.bannerlist .right{
	right:1vw;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.bannerlist li img{
	width:100vw;
	height:59.5vw;
}
.bannerlist .button{
	position: absolute;
	bottom:3vw;
	width:100%;
	padding:0;
	margin-bottom:0;
	display: block;
	text-align:center;
	z-index: 3;
	line-height:1em;
	font-size:3vw;
}
.bannerlist .bnr{
	visibility: hidden;
	line-height:1em;
}
.bannerlist .button label{
	display:inline-block;
	width:3vw;
	height:3vw;
	background-color:#fff;
	opacity: 0.5;
	border-radius: 50%;
	cursor: pointer;
}
.bannerlist .bnr:checked + label{
	opacity: 0.8;
}
.list1{
	background-color:#f00;
}
.list2{
	background-color:#0f0;
}
.list3{
	background-color:#00f;
}
#list1:checked ~ ul{
	left:0;
}
#list2:checked ~ ul{
	left:100%;
}
#list3:checked ~ ul{
	left:200%;
}
/*メインメニュータイトル*/
main h2{
	padding:0 10.5vw;
	margin:5vw 0 2vw;
	font-size:5vw;
	background-repeat:no-repeat;
	background-position: 2vw 1vw;
	background-size: auto 80%;
}
.top_foods-type h3:first-child{
	padding:0 5vw;
	margin:5vw 0 1vw;
	font-size:4vw;
	background-repeat:no-repeat;
	background-position: 0 2vw;
	background-size: auto 50%;
}
.top_news h2{
	background-image:url("../images/common/ico_news.svg");
}
.top_foods h2{
	background-image:url("../images/common/ico_food.svg");
}
.top_map h2{
	background-image:url("../images/common/ico_map.svg");
}
.top_foods-ramen{
	background-image: url("../images/common/ico_ramen.svg");
}
.top_foods-sweets{
	background-image:url("../images/common/ico_sweet.svg");
}
.top_foods-takeout{
	background-image:url("../images/common/ico_takeout.svg");
}
.top_me h2{
	padding:2vw 12vw 2vw 17vw;
	margin:5vw 0 0;
	background-size: auto 95%;
	background-position:2vw 0;
	background-image:url("../images/common/ico_mari_l.png");
}
/*最新の投稿*/
.top_news-column{
	background-repeat:no-repeat;
	background-position:0 0;
	background-size:34vw 19vw;
	position:relative;
	height:19vw;
	margin-bottom:1vw;
	text-align: right;
	padding:2vw 4vw 2vw 35vw;
}
.top_news-column h3:after{
	content:" ";
	display: block;
	width:97.5%;
	height:16.5vw;
	border:1px solid;
	position:absolute;
	top:1vw;
	left:1vw;
}
.top_news-column h3{
	font-size:3.7vw;
	line-height:2.5em;
	white-space: nowrap;
}
.top_news-column p:last-child{
	font-size:3vw;
	vertical-align: bottom;
}
.top_news-column p:last-child span{
	font-size:1.6vw;
	display: inline-block;
	margin-left:1vw;
}
.top_news-column .newnew{
	position:absolute;
	left:3vw;
	bottom:3vw;
	display:block;
	background-color:#D38F8F;
	color:#fff;
	font-weight: bold;
	padding:0.5vw;
	line-height:1em;
	font-size:2vw;
}
.top_news-column:nth-child(even) h3:after{/*奇数*/
	border-color: #E3E2E2;
}
.top_news-column:nth-child(odd){/*偶数*/
	background-color:#ECECEC;
}
.top_news-column:nth-child(odd) h3:after{
	border-color:#fff;
}
/*食べ物から探す*/
.top_foods-type{
	clear:left;
	margin-left:3vw;
}
.top_foods-type h3{
}
.top_foods-type .top_foods-column{
	width:28vw;
	float:left;
	margin:0 3vw 3vw 0;
	background:no-repeat top left;
	background-size:100% auto;
	padding-top:29vw;
}
.top_foods-column h4{
	border-bottom:1px solid #e8e8e8;
	font-size:2.5vw;
	line-height:1.3em;
	padding-bottom:1vw;
}
.top_foods-column p span{
	display: block;
	text-align: right;
	font-size:1.8vw;
}
.top_foods-column p{
	font-size:2.5vw;
}
.top_foods-column p a{
	display:block;
	border:2px solid #E8E8E8;
	text-align: center;
	text-decoration: none;
	border-radius: 1vw;
	margin-top:2vw;
	background-color:transparent;
	transition:background-color 1s;
}
.top_foods-column p a:hover{
	background-color:#e8e8e8;
	color:#909090;
	transition:background-color 1s;
}
/*地図*/
.top_map{
	clear:left;
}
.top_map iframe{
	width:100%;
	height:60vw;
}
/*自己紹介*/
.top_me p{
	padding:3vw;
}
.top_me ul{
	list-style-type:none;
	padding:0 3vw 3vw;
}
.top_me ul li{
	padding:0 0 1vw;
}
.top_me ul li a{
	display:block;
	width:100%;
	height:43vw;
	font-size:0;
	background-repeat: no-repeat;
	background-size:100%;
	background-position: 0 0;
}
.top_me .banner_moji2{
	background-image:url("../images/top/banner_moji2.png");
}
.top_me .banner_soeru{
	background-image:url("../images/top/banner_soeru.png");
}
/*ページリスト*/
.pagelist{
	clear:left;
	text-align: center;
	list-style: none;
	margin:2vw 0 8vw;
}
.pagelist li{
	display:inline-block;
	margin:0 1.5vw;
	font-size:2.8vw;
	border-bottom:2px solid #E8E8E8;
	position:relative;
	overflow: hidden;
}
.pagelist a{
	text-decoration: none;
}
.pagelist li a:after,.pagelist .here:after{
	content: " ";
	display:block;
	position:absolute;
	border:2px solid #E8E8E8;
	font-size:0;
	z-index: 100;
	left:-4px;
	bottom:-2px;
}
.pagelist .here:after{
	width:100%;
}
.pagelist li a:after{
	width:0;
	transition: width 0.5s;
}
.pagelist li:hover a:after{
	width:100%;
	transition:width 1s;
}
/*フッター*/
footer{
	text-align: center;
	margin:0 10vw 5vw;
	padding:5vw 3vw;
	border-top:1px solid #e8e8e8;
}
footer menu{
	list-style:none;
}
footer menu li{
	font-size:2vw;
	display:inline;
	border-left:1px solid #707070;
	padding:0 2vw;
}
footer menu li:first-child{
	border-left-width: 0;
}
footer menu a{
	text-decoration:none;
	background-color:transparent;
	transition:background-color 0.5s;
}
footer menu a:hover{
	background-color:#e8e8e8;
	transition: background-color 1s;
}
.copyright{
	padding-top:5vw;
}
/*画像アップロードページ用*/
#drop-zone {
	width: 100%;
	height: 200px;
	border: 2px dashed #ccc;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	margin-bottom: 20px;
}
#drop-zone.dragover {
	background-color: #f0f0f0;
}
#file-list {
	list-style: none;
	padding: 0;
}
#file-list li {
	margin: 5px 0;
}