@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Delius');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');

/* MEMO
#00adef：テーマ色
#f5de39：黄色
*/

/*================================================
 * CSSリセット
 ================================================*/
* { margin:0; padding:0; border:0; outline:0; vertical-align:baseline; background:transparent; word-wrap:break-word; }
footer, header, nav, section, iframe { display:block; }
div, nav, section, dl, ul { overflow:hidden; }
ul { list-style:none; }
table { table-layout:fixed; border-collapse:collapse; border-spacing:0; }
hr { display:block; height:1px; border:0; border-top:1px solid #ccc; margin:1em 0; padding:0; }
form, input,select,textarea { vertical-align:middle; box-sizing:border-box; }
input, button, textarea, select { -webkit-appearance:none; -moz-appearance:none; appearance:none; }

/*================================================
 * タグ定義
 ================================================*/
* { line-height:1.6; }
body { margin:0 auto; font-size:16px; -webkit-text-size-adjust:none; color:black; }
body { background-image:url("images/common_background_tile.jpg"); background-repeat:repeat; background-size:100px; }
body, textarea, input, .delius span { font-family:'Noto Sans JP', sans-serif; }
a { background:transparent; text-decoration:none; outline:none; -webkit-tap-highlight-color:rgba(0,0,0,0); color:black; }
a:hover, a:focus { text-decoration:none; outline:none; }
a:hover { opacity:0.5; }
.ios a:hover { opacity:1; }
h1 { font-size:16px; }
h2, h3 { margin-bottom:1em; }
h2 { font-size:26px; }
h3 { font-size:22px; }
p { margin-bottom:0.5em; }
p:last-child { margin-bottom:0; }
th { white-space:nowrap; }
img, video { max-width:100%; }
section { min-height:500px; }

/*================================================
 * ヘッダ・ナビ
 ================================================*/
/* ロゴ */
header { background-color:#00adef; height:134px; }
header div.inner { display:flex; justify-content:space-between; align-items:center; padding:30px 0 25px; }
header div.inner a { flex-shrink:0; }
header div.inner a, header div.inner a img { display:block; }
header div.inner a img { width:318px; }
header div.inner h1 { text-align:center; padding-left:10px; padding-right:10px; }
header div.inner h1 span { display:inline-block; }
header div.inner a.info p { font-weight:bold; text-align:center; }

/* メニュー */
nav { background-color:#313036; padding:3px 0; height:70px; }
nav div.inner { display:flex; justify-content:center; flex-wrap:wrap; overflow:hidden; }
nav div.inner a { flex:1; display:flex; align-items:center; padding-top:10px; padding-bottom:10px; height:50px; }
nav div.inner a:not(:last-child) { margin-right:3px; }
nav div.inner a div.nav_text { color:white; text-align:center; width:100%; }
nav div.inner a div.nav_text p { margin-bottom:0; }
nav div.inner a div.nav_text p.nav_text_top { font-size:17px; }
nav div.inner a div.nav_text p.nav_text_bottom { font-size:12px; font-weight:bold; }
nav div.inner a:hover { color:white; opacity:1; background-color:#00adef; }
nav div.inner a.nav_selected { background-color:#00adef; }
/* スマホメニュー */
div.sp_menu_button { display:none; position:absolute; z-index:2; top:30px; right:20px; width:40px; height:60px; cursor:pointer; }
div.sp_menu_button div, div.sp_menu_button div span { display:inline-block; transition:all .4s; box-sizing:border-box; }
div.sp_menu_button div { position:relative; width:40px; height:35px; }
div.sp_menu_button div span { position:absolute; left:0; width:100%; height:4px; background-color:black; border-radius:4px; }
div.sp_menu_button div span:nth-of-type(1) { top:5px; }
div.sp_menu_button div span:nth-of-type(2) { top:15px; }
div.sp_menu_button div span:nth-of-type(3) { top:25px; }
div.sp_menu_button.active div span:nth-of-type(1) { -webkit-transform:translateY(10px) rotate(-45deg); transform:translateY(10px) rotate(-45deg); }
div.sp_menu_button.active div span:nth-of-type(2) { opacity:0; }
div.sp_menu_button.active div span:nth-of-type(3) { -webkit-transform:translateY(-10px) rotate(45deg); transform:translateY(-10px) rotate(45deg); }
div.sp_menu_button p { font-size:13px; line-height:13px; text-align:center; }

/*================================================
 * フッタ
 ================================================*/
footer { text-align:center; padding:50px 0 100px; background:#00adef; }
footer, footer * { font-size:14px; }
footer a.logo { display:block; width:318px; margin-bottom:20px; }
footer a.logo img { display:block; }
footer div.footer_sns { display:flex; justify-content:space-between; margin-bottom:20px; width:100px; }
footer div.footer_sns a, footer div.footer_sns a img { display:block; }
footer div.footer_address { margin-bottom:20px; }
footer div.footer_address p { margin-bottom:0; }
footer div.footer_address p span { display:inline-block; }
footer div.footer_address p span:not(:last-child):after { margin-right:10px; content:' '; }

/*================================================
 * ページトップへの戻り
 ================================================*/
#page-top { position:fixed; bottom:20px; right:10vw; background-color:#00adef; border:1px solid #fff; z-index:2; }
#page-top a { display:block; width:60px; height:60px; background:url("images/common_totop.png"); }
#page-top a:hover { text-decoration:none; background-color:black; opacity:1; }

/*================================================
 * ページ共通
 ================================================*/
/* ブロック構造 */
.inner { width:980px; margin-left:auto; margin-right:auto; }
.content_block { margin-top:50px; margin-bottom:50px; padding:50px; border:3px solid #6b3a2c; border-radius:20px; background-color:white; }
.content_block.inner { width:874px; }
.center { text-align:center; margin-left:auto; margin-right:auto; }
img.center { display:block; margin-left:auto; margin-right:auto; }
.left { text-align:left; }
.right { text-align:right; }
.back_color { background-color:#00adef; color:white; }
.page_top { display:flex; justify-content:center; align-items:center; height:320px; background-repeat:no-repeat; background-size:cover; background-position:center center; }
.page_top div { text-align:center; font-weight:bold; padding:60px; }
.page_top h2 { font-size:50px; margin-bottom:0; }
.page_top p { font-size:24px; }
.object_fit { background-size:cover; background-position:center center; background-repeat:no-repeat; display:block; position:absolute; top:0; left:0; width:100%; height:100%; }
.wood_back { background-image:url('images/common_background_wood.jpg'); background-repeat:repeat; color:white; padding:10px; text-align:center; width:calc(100% - 20px); }
p.tax { margin-bottom:20px; }
.button { display:block; background-color:#00adef; color:white; font-size:18px; font-weight:bold; width:300px; padding:10px 0; margin-top:25px; }
.two_blocks_wrapper { display:flex; justify-content:space-between; }
.two_blocks_wrapper:nth-child(2) { margin-top:50px; }
.two_blocks_wrapper div.content_block { margin-top:0; }
.two_blocks_each { flex-shrink:0; flex-grow:1; width:359px; margin-bottom:50px; }
.two_blocks_each:last-child { margin-left:50px; }
.two_blocks_wrapper+.content_block { margin-top:0; }
.error404 { min-height:360px; }
.error404 div { margin-top:100px; }
.flex_wrapper { display:flex; justify-content:center; }

/* 文字装飾 */
.delius { font-family:'Delius', 'Noto Sans JP', cursive; }
.subtitle { font-size:18px; }
.sub_text { font-size:16px; margin-left:20px; }
.red, .error { color:red; }
a.outlink::after { content:'🔗'; margin-left:10px; }
.visual_text { text-align:center; color:white; }
.visual_text { text-shadow:4px 4px 8px #00adef, 4px -4px 8px #00adef, -4px 4px 8px #00adef, -4px -4px 8px #00adef, 8px 8px 16px #00adef, 8px -8px 16px #00adef, -8px 8px 16px #00adef, -8px -8px 16px #00adef, 12px 12px 24px #00adef, 12px -12px 24px #00adef, -12px 12px 24px #00adef, -12px -12px 24px #00adef, 16px 16px 32px #00adef, 16px -16px 32px #00adef, -16px 16px 32px #00adef, -16px -16px 32px #00adef, 20px 20px 40px #00adef, 20px -20px 40px #00adef, -20px 20px 40px #00adef, -20px -20px 40px #00adef; }
.empha { font-weight:bold; }
.nobr { white-space:nowrap; display:inline-block; }
.underline { border-bottom:1px dotted #222; }

/* リストボックス(右写真型の一覧) */
div.listbox img { float:right; margin-left:60px; }

/*================================================
 * ページ別定義
 ================================================*/
/* TOPページ */
div.top_image { position:relative; height:calc(100vh - 134px - 76px); background-color:#eee; }
div.top_image ul { position:relative; width:100%; height:100%; }
div.top_image ul li { display:none; position:absolute; left:0; top:0; width:100%; height:100%; }
.top_open_time dl { margin-bottom:1em; padding:10px 25px; border:1px solid #6b3a2c; display:inline-block; border-radius:10px; }
.top_open_time dt { font-weight:bold; }
.top_open_time dd { margin-left:2em; }
div.top_uber img { width:100px; margin-bottom:10px; }
.top_other_shop_data  { margin-top:10px; padding:10px 25px; border:1px solid #6b3a2c; border-radius:10px; display:inline-block; }
.top_other_shop_data_links { display:flex; justify-content:center; flex-wrap:wrap; }
.top_other_shop_data_links a { display:block; border-bottom:1px dotted #222; }
.top_other_shop_data_links a:not(:last-child) { margin-right:25px; }
.top_other_shop_image { margin-top:15px; }
div.top_message { margin-bottom:25px; }
div.top_message p span { display:inline-block; white-space:nowrap; }
div.top_message_images { display:flex; justify-content:space-between; }
div.top_message_images img { display:block; margin:0 auto; }
.top_news { display:flex; justify-content:center; }
.top_xmas_links { display:flex; justify-content:center; column-gap:25px; row-gap:25px; flex-wrap:wrap; margin-top:25px; }
.top_xmas_links a.button.center { margin-left:unset; margin-right:unset; margin-top:unset; margin-bottom:unset; }
.top_xmas_images { margin-top:25px; display:flex; justify-content:center; column-gap:25px; align-items:flex-start; }
.top_xmas_images img { max-height:240px; min-width:0; }

/* NEWS共通 */
div.news dl { display:inline-block; padding-bottom:1px; }
div.news dl dt, div.news dl dd { display:block; float:left; margin-bottom:15px; text-align:left; }
div.news dl dt:last-of-type, div.news dl dd:last-of-type { margin-bottom:0; }
div.news dl dt { clear:left; width:100px; }
div.news dl dd { width:calc(100% - 100px); }
div.news dl dd a { display:inline-block; border-bottom:1px dotted #222; }

/* NEWSページ */
div.news div.page_top { background-image:url('images/02_news/news_top.jpg'); }
div.news h3.news_title { display:flex; justify-content:center; font-size:22px; }
div.news h3.news_title time { padding-right:50px; }
div.news h3.news_title p { text-align:left; }
div.news div.news_detail { display:inline-block; max-width:980px; min-height:200px; margin-bottom:40px; text-align:left; }
div.news div.news_detail h4 { font-size:18px; margin-bottom:0.5em; }
div.news div.news_detail a { text-decoration:underline; }
div.news div.news_detail p { min-height:12px; }
div.news div.news_navi { position:relative; height:45px; }
div.news div.news_navi a { display:block; padding:10px 0; text-align:center; position:absolute; width:176px; }
div.news div.news_navi a.news_list { left:0; right:0; margin:auto; }
div.news div.news_navi a.news_next { left:0; }
div.news div.news_navi a.news_prev { right:0; }

/* メニュー共通 */
div.menu h4 { font-size:20px; }
div.menu h4:before { content:'■'; }
div.menu h5 { font-size:16px; }
div.menu_block:not(:last-child) { margin-bottom:25px; }
div.menu_item { display:flex; justify-content:space-between; align-items:start; padding-top:10px; }
div.menu_item:not(:last-child) { border-bottom:1px solid #ccc; padding-bottom:5px; }
div.menu_item p { font-size:14px; }
div.menu_item div:last-child { flex-shrink:0; text-align:right; margin-left:20px; }
div.menu_item div:last-child span:not(:first-child) { padding-left:1em; }
.xmas_lead { margin-bottom:2em; color:#008600; }
.xmas_notice { margin-top:2em; }

/* TAKEOUTページ */
div.takeout div.page_top { background-image:url('images/09_takeout/takeout_top.jpg'); }
.top_takeout h3 { display:flex; justify-content:center; column-gap:0.5em; flex-wrap:wrap; }
.top_takeout h3:not(:first-child) { margin-top:1em; }
div.top_takeout_menu_line { display:flex; justify-content:space-between; text-align:left; }
div.top_takeout_menu_line { border-bottom:1px dotted #999; }
div.top_takeout_menu_line p { margin-bottom:0; }
.top_takeout_menu_price { text-align:right; padding-left:20px; }
div.top_takeout_notice { margin-top:25px; }
div.top_takeout_notice a { border-bottom:1px dotted #222; }
.top_takeout_phone { font-size:140%; }
.takeout_xmas_menu { display:flex; column-gap:25px; align-items:start; flex-wrap:wrap; justify-content:center; }
.takeout_xmas_menu:nth-child(1) { margin-bottom:2em; }
.takeout_xmas_menu>div { flex-basis:480px; flex:1; }
.takeout_xmas_menu h3 { color:#008600; }
.takeout_xmas_menu_empha span { color:#ff0000; font-size:125%; }
.takeout_xmas_menu ul { display:flex; justify-content:center; column-gap:1em; flex-wrap:wrap; }
.takeout_xmas_menu ul li { display:inline; }
.takeout_xmas_menu ul li::before { content:'・'; }

/* LUNCHページ */
div.lunch div.page_top { background-image:url('images/04_lunch/lunch_top.jpg'); }
div.lunch_block:not(:last-child) { margin-bottom:50px; }
div.lunch_block h4 { margin-bottom:1em; }
div.lunch_block h4:not(:first-of-type) { margin-top:25px; }
div.lunch_block h5 { font-size:18px; }
div.lunch_block p { margin-bottom:0; }
.lunch_notice { margin-top:1em; }
div.lunch_block span { font-size:14px; }
div.lunch_block dl:not(:last-child) { margin-bottom:1em; }
div.lunch_block dl dd { margin-left:2em; font-size:14px; }
div.lunch_block .lunch_fb a { display:flex; justify-content:center; align-items:center; }
div.lunch_block .lunch_fb img { margin-right:1em; }
div.lunch_block .lunch_fb span{ font-size:16px; }

/* DINNERページ */
div.dinner div.page_top { background-image:url('images/05_dinner/dinner_top.jpg'); }
.dinner_xmas_menu_block h3 { color:#008600; }
.dinner_xmas_menu_block h4:not(:first-child) { margin-top:0.5em; }
.dinner_xmas_menu_block p { margin-bottom:0; }

/* DRINKページ */
div.drink div.page_top { background-image:url('images/06_drink/drink_top.jpg'); }
div.wine h5 { display:inline-block; }
span.jpn { font-weight:normal; font-size:14px; margin-left:1em; }

/* PARTYページ */
div.party div.page_top { background-image:url('images/07_party/party_top.jpg'); }
div.party_cource { font-weight:bold; margin-bottom:10px; }

/* ACCESSページ */
div.access div.page_top { background-image:url('images/08_access/access_top.jpg'); }
div.opentime { display:flex; justify-content:center; }
div.opentime table { margin:0 30px 25px; }
div.opentime table caption { font-size:18px; font-weight:bold; }
div.opentime table th, div.opentime table td { padding:0 5px; white-space:nowrap; }
p.access_guide { margin:20px 0; }
div.access_images { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:flex-start;}
div.access_images img { width:calc(50% - 12.5px); margin-bottom:25px; }
div.access_images img:nth-child(n+11) { margin-bottom:0; }

/*■■■■■■■■■■■■■■■■■■■■■■■■■
 * タブレット大
 ■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media screen and (max-width:1010px) {

/* 共通 */
* { box-sizing:border-box; }
h2 { font-size:24px; }
h3 { font-size:20px; }
.inner, .content_block.inner, div.top_news_and_fb { width:calc(100% - 20px); }
.content_block { padding:25px; margin-top:25px; margin-bottom:25px; }
.visual_text { font-size:48px; }
.wood_back { width:100%; }

/* ヘッダ */
header div.inner a img { width:300px; }

/* メニュー */
nav { height:76px; }
nav div.inner a { height:70px; }

/* ページの戻り */
#page-top { right:20px; } 

/* フッタ */
footer { padding:25px 0 70px; }
footer div.footer_address, footer div.copyright { margin-top:10px; }

/* TOPページ */
div.top_image { height:260px; }
div.top_image h2 { font-size:40px; }
div.top_news_and_fb div.fb { width:396px; margin-left:25px; height:644px; }

/* メニュー共通 */
div.menu h4 { font-size:18px; }
div.menu_item div:last-child span { display:block; }
div.menu_item div:last-child span:not(:first-child) { padding-left:0; }

}

/*■■■■■■■■■■■■■■■■■■■■■■■■■
 * タブレット大
 ■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media screen and (max-width:800px) {

/* 共通 */
h2 { font-size:22px; }
.two_blocks_wrapper { display:block; }
.two_blocks_wrapper:nth-child(2) { margin-top:25px; }
.two_blocks_each { width:100%; }
.two_blocks_each:last-child { margin-left:0; }

/* トップ */
div.top_news_and_fb { display:block; }
div.top_news_and_fb div.fb { margin-top:25px; margin-left:0; width:auto; height:629px; }

/* LUNCHページ */
div.lunch_block:not(:last-child) { margin-bottom:25px; }
div.lunch_block h4 { margin-bottom:1em; }
div.lunch_block h4:not(:first-of-type) { margin-top:25px; }

/* TAKEOUTページ */
.takeout_xmas_menu>img { width:240px; }
.takeout_xmas_menu>div { flex-basis:unset; }

}

/*■■■■■■■■■■■■■■■■■■■■■■■■■
 * タブレット小・iPhone横
 ■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media screen and (max-width:667px) {

/* 共通 */
.page_top { height:240px; }
.page_top h2 { font-size:40px; }
.visual_text { text-shadow:2px 2px 4px #00adef, 2px -2px 4px #00adef, -2px 2px 4px #00adef, -2px -2px 4px #00adef, 2px 2px 4px #00adef, 4px -4px 8px #00adef, -4px 4px 8px #00adef, -4px -4px 8px #00adef, 6px 6px 12px #00adef, 6px -6px 12px #00adef, -6px 6px 12px #00adef, -6px -6px 12px #00adef, 8px 8px 16px #00adef, 8px -8px 16px #00adef, -8px 8px 16px #00adef, -8px -8px 16px #00adef, 10px 10px 20px #00adef, 10px -10px 20px #00adef, -10px 10px 20px #00adef, -10px -10px 20px #00adef; }

/* ヘッダ */
header { height:auto; }
header div.inner { display:block; }
header div.inner a img { margin-left:auto; margin-right:auto; }
header div.inner h1 { margin-top:1em; }
header div.inner a.info { text-align:center; }
header div.inner a.info p { font-size:18px; display:inline-block; margin-bottom:0; }
header div.inner a.info p:first-child { margin-right:20px; }

/* メニュー */
nav { display:none; height:auto; padding:0; }
nav div.inner { width:100%; border-top:1px solid white; }
nav div.inner a { width:calc(50% - 2px); flex:auto; border-bottom:1px solid white; }
nav div.inner a:not(:last-child) { margin-right:0; }
nav div.inner a:nth-child(even) { border-left:1px solid white; }
div.sp_menu_button { display:block; }

/* フッタ */
footer { padding-bottom:100px; }

/* TOPページ */
.top_open_time dl { padding:10px; }
.top_open_time dd { margin-left:1em; }
div.top_message_images { display:block; }
div.top_message_images img { margin-bottom:25px; width:320px; }
div.top_message_images img:first-child { margin-right:auto; }
.top_xmas_links { column-gap:10px; }

/* NEWS共通 */
div.news h3.news_title { display:block; font-size:18px; }
div.news h3.news_title time { padding-right:0; }
div.news h3.news_title p { text-align:center; }

/* NEWSページ */
div.news div.news_navi a { text-align:center; width:125px; }

/* メニュー共通 */
div.menu h5 { display:block; }
div.menu_item div:last-child { margin-left:10px; }

/* DRINKページ */
span.jpn { margin-left:0; display:block; }

/* ACCESSページ */
div.opentime { display:block; }
div.opentime table { margin:0 auto 20px; }
div.opentime table caption { font-size:16px; }

}

/*■■■■■■■■■■■■■■■■■■■■■■■■■
 * スマホ
 ■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media screen and (max-width:480px) {

/* 共通 */
body { font-size:14px; }
h1 { font-size:14px; }
h2 { font-size:20px; }
a:hover { opacity:1; }
.content_block { margin-top:25px; padding:15px; }
.page_top { height:200px; }
.page_top h2 { font-size:32px; }
.page_top p { font-size:20px; }
.visual_text { font-weight:bold; padding:0 40px; }
.sub_text { font-size:14px; margin-left:10px; }

/* ヘッダ */
header { padding:0 10px; }
header div.inner h1 { margin-bottom:0; padding:0; }
header div.inner a img { margin-left:0; width:240px; }
header div.inner a.info p { font-size:14px; }

/* フッタ */
footer a.logo { width:260px; }
footer div.copyright { font-size:11px; }

/* NEWS共通 */
div.news h3.news_title { font-size:18px; }
div.news dl dt { width:85px; }
div.news dl dd { width:calc(100% - 85px); }

/* NEWSページ */
div.news div.news_navi a { width:100px; font-size:12px; }

/* TOPページ */
div.top_image h2 { font-size:32px; }
div.top_uber { display:block; }
div.top_uber img { margin-left:auto; margin-right:auto; margin-bottom:1em; }
div.top_uber a { margin-top:1em; font-size:16px; width:260px; }
div.top_news_and_fb div.fb { height:602px; }

/* メニュー共通 */
div.menu h4 { font-size:17px; }
div.menu h5 { font-size:15px; }
div.menu_item p { font-size:12px; }

/* TAKEOUTページ */
.top_takeout h3 { font-size:18px; }

/* DRINKページ */
span.jpn { font-size:13px; }

/* ACCESSページ */
div.access_images { display:block; }
div.access_images img { width:100%; margin-bottom:15px; }

}
