/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */

html {
    color: #222;
    font-size: 1em;
    line-height: 1.4;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}


/* ==========================================================================
   共通
   ========================================================================== */

body {
	font: 16px/26px "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background:#fff;
	color:#222221;
	position:relative;
}

.wrapper {
    width: 90%;
    margin: 0 5%;
}

.font_lora {
	font-family: 'Lora', serif;
}

.fw {
	font-weight:700;
}
.fw400 {
	font-weight:400;
}
.f12 {
	font-size:12px;
}
.f13 {
	font-size:13px;
}
.f14 {
	font-size:14px;
}
.f16 {
	font-size:16px;
}
.f18 {
	font-size:18px;
}
.lh12 {
	line-height:1.25em;
}
.lh14 {
	line-height:1.4em;
}
.lh18 {
	line-height:1.8em;
}

.block_ul {
	display:block;
	list-style:none;
	margin:0 ;
	padding:0;
}
.text_right {
	text-align:right;
}
.text_left {
	text-align:left;
}
.text_center {
	text-align:center;
}
.t_block {
	display:inline-block;
}
.blo {
	display:block;
}
img {
	height: auto;
	max-width: 100%;
}
.mobile_no {
	display:none;
}

/* リンク */
a {
	color:#222221;
	text-decoration:underline;
}
a:visited {
	color:#222221;
	text-decoration:underline;
}
/* タイトル */
.title2 {
	text-align:center;
	font-weight:400;
	font-size:24px;
	margin:2em 0 1em;
	letter-spacing:0.05em;
}
.title_main {
	border-top:1px solid #222221;
	border-bottom:1px solid #222221;
	margin:0;
	padding:0.75em 0;
	text-align:center;
	font-weight:400;
	font-size:16px;
	letter-spacing:0.1em;
	position:relative;
}
.title_main_ico {
	position:absolute;
	display:block;
	width:100%;
	text-align:center;
	bottom:-17px;
	font-size:18px;
}
.title3 {
	font-weight:400;
	font-size:14px;
	margin:2em 0 0.3em;
	letter-spacing:0.1em;
}
.title4 {
	font-weight:400;
	letter-spacing:0.15em;
	font-size:14px;
	border:1px solid #ddd;
	background:#fff;
	margin: 2em auto 0 auto;
	text-align: center;
}
.title4_inner {
	margin:3px;
	border:1px dotted #222221;
	display:block;
	padding:3px 30px;
}

/* ヘッダー */
.title {
	font-size:10px;
	margin:0 -5%;
	font-weight:400;
	border-bottom:1px solid #ddd;
	line-height:1.25em;
}
.head_logo {
	text-align:center;
	padding:20px 0;
	width:240px;
	margin:0 auto;
}

/*メイン*/
.page_conttainer {
	margin-bottom:60px;
}


/*フッター*/
#pagetop {
	text-align:center;
	margin:10px auto;
	font-size:24px;
}
.footer-container {
	border-top:1px solid #222221;
	padding-top:20px;
}
.foot_nav {
	margin:0 -5%;
	background:#222221;
}
.foot_nav li {
	display:block;
	padding:10px 5%;
	border-bottom:1px solid #fff;
	font-size:14px;
}
.foot_nav li a {
	display:block;
	color:#fff;
	text-decoration:none;
}
.foot_logo {
	margin:30px 0 0;
}
.foot_logo img {
	width:140px;
	display:block;
}
.foot_tel {
	margin:10px 0;
}
.foot_tel i {
	font-size:0.8em;
}
.copy {
	font-size:10px;
}


/* ==========================================================================
   各ページ
   ========================================================================== */
/*トップ*/
.main_image {
	margin:0 -5%;
	width:105%;
}
.front_info {
	font-size:14px;
}
.info_staff {
	font-size:13px;
	text-align:center;
	display:block;
	color:#222221;
	margin:10px auto;
}
.news {
	border-top:1px solid #222221;
}
.news li {
	display:block;
	padding:10px 0;
	border-bottom:1px solid #222221;
	line-height:1.4em;
	font-size:13px;
}
.news_date {
	display:block;
	font-size:11px;
	color:#808080;
}
.concept {
	border-top:1px solid #222221;
	border-bottom:1px solid #222221;
	padding: 0 0 10px;
	margin:40px 0 0;
	text-align:center;
	font-size:14px;
	line-height:1.5em;
	letter-spacing:0.15em;
}

.map {
	width:100%;
	height:300px;
}
.map_link {
	text-align:right;
	font-size:12px;
	line-height:1.4em;
	margin:0;
}
.front_reserve {
	text-align:center;
	border-top:1px solid #222221;
	padding:20px 0;
	margin:30px 0 0;
}
.front_reserve_link {
	display:block;
	border:1px solid #222221;
	border-radius:50px;
	padding:15px 5px;
	color:#222221;
	text-decoration:none;
	width:260px;
	margin:0 auto;
}
.front_reserve_link:hover {
	background:#f4f4f4;
}

/*メニュー・スタッフ*/
.menu {
	margin:0 0 30px;
}
.menu_table {
	margin:0;
	width:100%;
	border-top:1px solid #dbdbd7;
}
.menu_table th,
.menu_table td {
	border-bottom:1px solid #dbdbd7;
	padding:5px 0;
	font-weight:400;
	font-size:14px;
	line-height:1.5em;
}
.menu_table th {
	text-align:left;
}
.menu_table td {
	text-align:right;
	font-size:12px;
}
.menu_sub {
	font-size:11px;
	line-height:1.4em;
	color:#78786f;
	display:block;
}
.menu_sub2 {
	text-align:right;
	margin:0 0 1em;
	font-size:12px;
}
.staff_area {
	text-align:center;
	border-bottom:1px solid #222221;
	padding:20px 0;
}
.staff_area .title2 {
	margin-top:1em;
}
.staff_r iframe {
	max-width:100%;
	width: 100% !important;
}
.staff_r  {
	margin-top:30px;
}
.staff_table {
	width:100%;
	text-align:left;
	border-top:1px dotted #222221;
	margin:10px 0;
}
.staff_table th,
.staff_table td {
	font-size:13px;
	padding:5px 0;
	border-bottom:1px dotted #222221;
	display:list-item;
	list-style:none;
	line-height:1.4em;
}
.staff_table th {
	font-size:12px;
	color:#666;
	font-weight:400;
	background:#f0f0ed;
	border-bottom:none;
	text-align:center;
}
.staff_table td p {
	margin:0 ;
}
.googel_cal {
	margin-top:36px;
}

.calendar_txt {
	color: #178471;
    font-size: 12px;
    font-weight: bold;
    line-height: 1.2em;
    text-decoration: underline;
}
	

/*Ligoのこだわり*/
.quality_area {
	margin-top:3em ;
}
.page_shop {
	margin-top:50px;
	border-top:1px solid #ddd;
}
.page_shop h2 {
	margin:1.8em 0;
}

/*予約*/
.reserve_area {
	margin-top:40px;
	text-align:center;
}
.reserve_step {
	padding-bottom:30px;
}
.reserve_step1,
.reserve_step3 {
	background:#f4f4f4;
}
.reserve_img {
	background:#e8e0da;
	padding:10px;
	border-radius:10px;
}



@media only screen and (min-width: 480px) , print {


}

@media only screen and (min-width: 768px) , print {
	.fl_l {
		float:left;
	}
	.fl_r {
		float:right;
	}
	.mobile_no {
		display: block;
	}
	.pc_no {
		display: none;
	}
	
	/* ================================
	   共通
	   ================================ */
	.title {
		margin:3px 0 ;
		border:none;
		text-align:right;
	}
	.head_tel {
		text-align:right;
		font-size:18px;
		margin:0;
	}
	.head_logo {
		max-width:274px;
		width:30%;
		padding:0;
	}
	.head_nav {
		width:68%;
		text-align:right;
		margin-top:25px;
	}
	.head_nav li {
		display:inline-block;
	}
	.head_nav li a {
		display:inline-block;
		margin-left:1.8em;
		text-decoration:none;
		color:#222221;
		font-size:13px;
		letter-spacing:0.05em;
	}
	.footr_inner {
		position:relative;
		padding:0 0 30px;
	}
	#pagetop {
		position:absolute;
		background:#222221;
		color:#fff;
		padding:5px 5px 15px 5px;
		bottom:0;
		margin:0;
		right:-20px;
	}
	#pagetop a {
		color:#fff;
	}
	.foot_logo {
		width:131px;
		margin:20px 10px 20px 0;
	}
	
	.copy {
		margin:0;
		position:relative;
		margin-top:-46px;
		left:151px;
		width:300px;
	}
	/*タイトル*/
	.title_main {
		font-size:30px;
		margin:2.3em auto 1.5em;
		width:280px;
		padding:0.6em 0 1.2em 0;
		border-top:none;
	}
	.title4 {
		margin:3.6em auto 2em;
		max-width:320px;
	}
	
	/* ================================
	   各ページ
	   ================================ */
	/*トップ*/
	.main_image {
		margin:10px auto;
		width:100%;
	}
	
	.front_info {
		margin-top:60px;
	}
	.news {
		width:663px;
		margin:0 auto;
		display:table;
	}
	.news li {
		padding:1.2em 0;
	}
	.news_date {
		display:table-cell;
		font-size:12px;
		width:100px;
	}
	.news_text {
		display:table-cell;
		font-size:12px;
	}
	.info_staff {
		margin-bottom:30px;
	}
	.concept {
		margin:70px 0 20px;
	}
	.conept_inner {
		max-width:550px;
		margin:0 auto 36px;
		line-height:2.2em;
	}
	.shop {
		margin-bottom:20px;
	}
	.shop_r {
		text-align:left;
		width:35%;
		line-height:1.6;
	}
	.shop_r .title2 {
		text-align:left;
		margin-top:0;
	}
	.shop_l {
		width:62%;
	}
	.map {
		height:360px;
	}
	.front_reserve {
		margin:20px 0 0;
		padding:38px 0;
	}
	
	/*メニュー・スタッフ*/
	.staff_l {
		width:314px;
		text-align:left;
	}
	.staff_r {
		width : -webkit-calc(100% - 330px) ;
		width : calc(100% - 330px) ;
		margin-top:0;
		text-align:left;
	}
	.staff_area {
		padding-bottom:50px;
		margin-bottom:50px;
	}
	.staff_inner {
		margin-top:45px;
	}
	.profile {
		font-size:14px;
		padding-top:60px;
		text-align: center;
	}
	.staff_table th,
	.staff_table td {
		display:table-cell;
		padding:10px;
		border-bottom:1px dotted #222221;
		background:none;
	}
	
	.menu {
		width:46%;
		float:right;
	}
	.menu:nth-child(2n+1) {
		float:left;
		clear:both;
	}
	/*予約*/
	.reserve_step {
		padding-bottom:45px;
	}
	.reserve_l {
		width:60%;
		box-sizing:border-box;
	}
	.reserve_r {
		width:38%;
		box-sizing:border-box;
	}
	.reserve_img {
		background:none;
		padding:0;
		color:#666;
	}
	.reserve_img p {
		background:#e8e0da;
		padding:10px;
		border-radius:20px;
		font-size:12px;
		line-height:2.6em;
	}
	.reserve_img img {
		display:block;
		margin:10px auto;
	}
	


}

@media only screen and (min-width: 1024px) , print {

	.head_nav {
		margin-top:36px;
	}
	.head_nav li a {
		margin-left:4.5em;
		font-size:14px;
		letter-spacing:0.1em;
	}
	.staff_r {
		width : -webkit-calc(100% - 360px) ;
		width : calc(100% - 360px) ;
	}
}


@media only screen and (min-width: 1140px) , print {

	.wrapper {
		width: 980px;
		margin-left:auto;
		margin-right:auto;
	}
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

