@charset "utf-8";

/**************************************************************/
/*  Font                                                      */
/**************************************************************/
.kiwi-maru-regular {
  font-family: "Kiwi Maru", serif;
  font-weight: 400;
  font-style: normal;
}
.biz-udpmincho-regular {
  font-family: "BIZ UDPMincho", serif;
  font-weight: 400;
  font-style: normal;
}

/**************************************************************/
/*  Common                                                    */
/**************************************************************/
body{
	font-size: 16px;
	line-height: 1.5;
	color: #2c2c2c;
	background-color: #efc379;
	margin: 0;
}
header{
	display:block;
	width: 100%;
	height: 65px;
	font-size: 14px;
	color: #ffffff;
	background-color: rgba(83, 32, 2, 0.8);
	position: sticky;
	top: 0;
	padding: 0;
	margin: 0;
	z-index: 10;
}
.header-menu{
	display: flex;
}
header h2{
	font-size: 180%;
	text-align: center;
	padding-top: 5px;
	margin: 0;
}
header h2 span{
	font-size: 140%;
	color: #ffa150;
}
header li a span{
	color: #ffa150;
	font-weight: bold;
}
main{
	width: 100%;
}
main h2{
	margin-left: 10px;
}
/**************************************************************/
/*  Footer                                                    */
/**************************************************************/
footer{
	display: block;
	width: 100%;
	height: 50px;
	font-size: smaller;
	text-align: center;
	color: #ffffff;
	background-color: #633612;
	padding-top: 20px;
	margin-top: 0;
	text-align: center;
}
footer h3{
	padding: 0;
	margin: 0;
}
footer p{
	padding: 0;
	margin: 0 20px 0 0;
	text-align: right;
}
footer a {
	text-decoration: none;
	color: #fff;
}
footer a:hover {
	color:#ffcc00;
}
.footer {
	display: flex;
	justify-content: space-between;
}
.footer .sns-mark {
	display: block;
}
.footer .sns-mark a {
	display: block;
	height: 36px;
	z-index: 99;
	position: absolute;
}
.footer .sns-mark a img {
	margin-left: 15px;
}
/**************************************************************/
/*  ヘッダーの表示/非表示                                       */
/**************************************************************/
.mark-on {
	display: block;
	translate: 0 0;
}
.mark-off {
	display: block;
	translate: 0 -70px;
}

/**************************************************************/
/*  ヘッダーの表示設定                                          */
/**************************************************************/
.header-icon{
	display: flex;
	justify-content: flex-start;
	padding-top: 10px;
}
.header-icon h2 {
	color: #6c391b;
}
.header-icon img{
	padding-top: 10px;
	padding-right: 10px;
}
.header-icon img#food-icon{
	padding-left: 10px;
}
.header-icon a:nth-of-type(1){
	margin-left: auto;
}

/**************************************************************/
/*  トップページのフード画像                                    */
/**************************************************************/
.titleImage #katudon {
	position: absolute;
	top: calc(21vw + 100px);
	left: 25vw;
	opacity: 0.6;
}
.titleImage #nico {
	position: absolute;
	top: calc(11vw + 100px);
	right: 13vw;
	opacity: 0.6;
}
.titleImage #ramen {
	position: absolute;
	top: calc(12vw + 100px);
	left: 9vw;
	opacity: 0.6;
}
.titleImage #donuts {
	position: absolute;
	top: calc(23vw + 100px);
	right: 0vw;
	opacity: 0.6;
}
.titleImage #katudon:hover {
	opacity: 1.0;
	width: 25%;
	height: auto;
	transition: opacity 0.6s ease-in-out;
}

.titleImage #nico:hover {
	opacity: 1.0;
	width: 25%;
	height: auto;
	transition: opacity 0.6s ease-in-out;
}

.titleImage #ramen:hover {
	opacity: 1.0;
	width: 25%;
	height: auto;
	transition: opacity 0.6s ease-in-out;
}

.titleImage #donuts:hover {
	opacity: 1.0;
	width: 30%;
	height: auto;
	transition: opacity 0.6s ease-in-out;
}

/**************************************************************/
/*  星マーク変更のモーダル                                      */
/**************************************************************/
/* モーダルウィンドウの基本スタイル */
.modal {
  display: none; /* デフォルトでは非表示に設定 */
  position: fixed; /* モーダルがページ全体に固定されるように設定 */
  top: 0; /* ページの最上部からスタート */
  left: 0; /* ページの最左端からスタート */
  width: 100%; /* モーダルが画面全体の幅を占める */
  height: 100%; /* モーダルが画面全体の高さを占める */
  background-color: rgba(0, 0, 0, 0.4); /* 背景を半透明の黒に設定（モーダルの背後が見えるように） */
	z-index: 1000;
}

.modal-content {
  position: fixed; /* モーダル内容が画面上に固定されるように設定 */
  top: 50%; /* 縦方向の中央に配置 */
  left: 50%; /* 横方向の中央に配置 */
  transform: translate(-50%, -50%); /* 完全に中央に配置するための補正 */
  padding: 20px; /* モーダル内の余白を設定 */
  width: 300px; /* モーダルの幅 */
  height: 250px; /* モーダルの高さ */
  background-color: #efc379; /* モーダルの背景色を白に設定 #fefefe */
  border: 1px solid #633612; /* 境界線の色を薄いグレーに設定 #888 */
  border-radius: 10px; /* モーダルの角を丸くするための半径 */
}

/* モーダルを閉じるボタン（×）のスタイル */
#closeModal {
  position: absolute; /* モーダル内で絶対位置に配置 */
  display: flex; /* ボタン内のテキストが中央に配置されるようにフレックスボックスを使用 */
  align-items: center; /* ボタン内のテキストを縦方向に中央揃え */
  justify-content: center; /* ボタン内のテキストを横方向に中央揃え */
  top: -15%; /* モーダル内容の上部から離れた位置に配置 */
  right: -10%; /* モーダル内容の右端から離れた位置に配置 */
  font-size: 28px; /* 閉じるボタンのフォントサイズ */
  font-weight: bold; /* 閉じるボタンのフォントを太字に設定 */
  cursor: pointer; /* ホバー時にポインタが表示されるように設定 */
  color: #FFF; /* 閉じるボタンのテキストカラーを白に設定 */
  width: 40px; /* ボタンの幅 */
  height: 40px; /* ボタンの高さ */
  background-color: #333; /* ボタンの背景色をダークグレーに設定 */
  border: #333; /* ボタンの境界線を背景と同じ色に設定 */
  border-radius: 50%; /* ボタンを丸くするための半径 */
}
#dispStar img {
	display: block;
}

/**************************************************************/
/*  TOPページのテロップ                                        */
/**************************************************************/
#marquee {
/*  position: fixed;*/
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: rgba(99, 54, 18, 0.7); /* #633612 */
  color: white;
  padding: 10px;
  overflow: hidden;
  white-space: nowrap;
  box-sizing: border-box;
  transform: translateY(100%); /* Initially hidden */
  transition: transform 0.5s ease-in-out; /* Smooth transition */
  z-index: 100; /* Ensure it's on top */
 
	transform: translateY(0);
}

#marquee-text {
  display: inline-block;
  padding-left: 100%;
  animation: marquee 15s linear infinite; /* Adjust animation duration as needed */
}

@keyframes marquee {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(-100%, 0);
  }
}
/**************************************************************/
/*  ハンバーガーメニュー                                        */
/**************************************************************/
/* ハンバーガーメニューのスタイル */
.hamburger-menu {
	color: #ffffff;
	background-color: rgba(108, 57, 27, 0.8); /* #6c391b*/
  display: none; /* flex; */
  flex-direction: column;
  justify-content:flex-end;
  align-items: center;
  width: 30px;
  height: 30px;
  cursor: pointer;
  transition: transform 0.3s;
	padding-top: 10px;
  margin: 0 0 0 auto;
	margin-top: 8px;
}
.hamburger-block{
	display: flex;	
  justify-content:space-between;
	padding: 0 10px;
}
.hamburger-block a{
		text-decoration: none;
		color: #ffffff;
}
.hamburger-menu-disp{
	display: block; /* none; */
}

/* ハンバーガーメニューのアイコンのスタイル */
.hamburger-line {
  width: 100%;
  height: 2px;
  background-color: #ffffff; /* #333 */
  margin-right: 10px;
  margin-bottom:5px;
  transition: background-color 0.3s;
}
.hamburger-disp{
	display: block;
}

/* メニューのスタイル */
.menu2 {
	font-size: 20px;
	font-weight: bold;
	display: flex;
	padding: 10px;
	margin-top: 8px;
	margin-bottom: 0px;
	text-align:right;
}
.menu2 li{
	list-style: none;
	margin: 0 20px;
}
.menu2 li a{
	color: #ffffff;
	text-decoration: none;
	transition: 0.15s;
}
.menu2 li a:hover{
	color:#ffcc00;
	font-size: 22px;
}
header ul li{
	list-style: none;
}
header ul li a:hover{
	color:#ffcc00;
}
/* activeクラスのスタイル */
.active .hamburger-line:nth-child(1) {
	transform: translateY(6px) rotate(45deg);
}
.active .hamburger-line:nth-child(2) {
	opacity: 0;
}
.active .hamburger-line:nth-child(3) {
	transform: translateY(-6px) rotate(-45deg);
}

/* activeクラスが付与されたときのメニューのスタイル */
.active + .menu2 {
  display: block;
}

/**************************************************************/
/*  問い合わせ                                                 */
/**************************************************************/
.contact caption{
	font-size: large;
	font-weight: bold;
	color: #633612;
}
.contact p{
	margin: 20px 100px;
}
.contact table {
	margin: 50px 100px;
	padding: 10px 0px;
/*	border: 2px solid #fff;*/
}
.contact th {
	width: 200px;
	height: 30px;
	text-align: right;
}
.contact .th-cell {
	color: #fff;
	background-color: #633612;
}
.contact input[type="text"],
.contact input[type="email"] {
	width: 300px;
	height: 1.3rem;
	border: #efc379;
}
.contact textarea {
	width: 500px;
	height: 200px;
	border: #efc379;
}
.contact input[type="submit"] {
	width: 200px;
	height: 40px;
	margin-top: 10px;
	color: #fff;
	background-color: #633612;
}
/**************************************************************/
/*  CSSグリッドレイアウト                                       */
/**************************************************************/
.photoGallery{
	padding: 0;
	margin: 10px 10px;
}
.photoGrid16{
	display: grid;
	grid-template-columns: 25% 25% 25% 25% !important;
}
.photoGrid4{
	display: grid;
	grid-template-columns: 50% 50% !important;
}
.photoGallery li{
	padding: 0;
	margin: 0;
}
.photoGallery li img{
	width: 100%;
	height: 100%;
	aspect-ratio: 1/1;
/*	border: 5px solid #6c391b; */
	border: 2px solid #6c391b;
	border-radius: 10px;
}
.photoGallery li:hover{
	filter: brightness(120%);
	color: #ffcc00;
}
.photoGallery li p:hover{
	background-color: #6c391b /* rgba(83, 32, 2, 1.0); */
}
.img-strings{
	position: relative;
	text-align: center;
}
.p-shop{
	position: absolute;
	color: #fff;
	font-size: 1.3rem;
	font-weight:900;
	top: 0%;
	left: 0%;
	width: calc(100% - 16px);
	height: 4.0rem; /*20%;*/
	background-color: rgba(83, 32, 2, 0.5); /* #532002  */
	padding: 10px;
	margin: 0;
	border: 2px none #6c391b;
	border-radius: 10px 10px 3px 3px;
	overflow: hidden;
}
.p-comment{
	position: absolute;
	color: #fff;
	font-size: 1.0rem;
	font-weight:500;
	top: 75%;
	left: 0%;
	width: calc(100% - 16px);
	height: calc(25% - 16px);
	background-color: rgba(83, 32, 2, 0.5); /* #532002  */
	padding: 10px;
	margin: 0;
	border: 2px none #6c391b;
	border-radius: 3px 3px 10px 10px;
	overflow: hidden;
}
.p-comment span{
	color: #ffcc00;
	font-size: 1.0rem;
}
.p-date {
	color: #fff;
	font-size: 0.8rem;
	font-weight: normal;
}
.photoGrid16 li img {
	border: 2px solid #6c391b;
}
.photoGrid4 .p-shop {
	font-size: 1.3rem;
}
.photoGrid16 .p-shop {
	border: 2px none #6c391b;
	font-size: 0.9rem;
	width: calc(100% - 16px);
}
.photoGrid4 .p-comment {
	font-size: 0.8rem;
}
.photoGrid16 .p-comment {
	font-size: 0;
	top: 90%;
	border: 2px none #6c391b;
	height: calc(10% - 6px);
	width: calc(100% - 16px);
	padding: 5px 10px;
}
.image-frame{
	display: block;
}
.item {	
	position: relative;
	text-align: center;
	width: 95%;
	height: 95%; /* auto */
}

main ul li{
	list-style: none;
}

.iframe-wrapper{
  position: relative;
  padding-bottom: 56.25%;
	width: 100%;
	height: 0;
	overflow: hidden;
}
.iframe-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/**************************************************************/
/*  for Mobile                                                */
/**************************************************************/
@media screen and (max-width:900px){
	header{
		width: 100%;
		height: auto;
	}
	header h2 span{
		font-size: 140%;
		color: #ffa150;
	}	
	.menu2{
		display: none;
	}
	.hamburger-menu {
		display: block;
	}
	.hamburger-menu-disp{
		display: block;
	}
	.photoGallery{
		display: grid;
		grid-template-columns: 100% !important;
		margin: 10px 10px;
	}
	.p-shop {
		font-size: 1.1rem;
	}
	.p-comment {
		font-size: 1.0rem;
		top: 65%;
		height: calc(35% - 14px);
	}
	#screen4, #screen16{
		display: none;
	}
	main {
		width: 100%;
	}
	.top-page {
		height: 500px;
	}
	.titleImage {
		display: block;
		position: relative;
		width: 100%;
		height: 100%;
	}
	.titleImage #ramen {
		top: 35%;
		left: 15%;
		width: 30%;
		opacity: 1.0;
	}
	.titleImage #katudon {
		top: 60%;
		left: 15%;
		width: 30%;
		opacity: 1.0;
	}
	.titleImage #nico {
		top: 35%;
		right: 15%;
		width: 30%;
		opacity: 1.0;
	}
	.titleImage #donuts {
		top: 62%;
		right: 15%;
		width: 35%;
		opacity: 1.0;
	}
	.titleImage #ramen:hover {
		opacity: 1.0;
		width: 30%;
		height: auto;
	}
	.titleImage #katudon:hover {
		opacity: 1.0;
		width: 30%;
		height: auto;
	}
	.titleImage #nico:hover {
		opacity: 1.0;
		width: 30%;
		height: auto;
	}
	.titleImage #donuts:hover {
		opacity: 1.0;
		width: 35%;
		height: auto;
	}
	.sns-mark a {
		display: block;
		height: 36px;
	}

}
	