@charset "UTF-8";

body {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝",Georgia,Times,'Times New Roman',serif;
}

 /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
top
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

#mainVis {
	height: auto;
	line-height: 0;
	padding-top: 0;
	margin-bottom: 0;
	background: none;
	min-height: 620px;
	height: calc(100vh - 50px);
}
#mainVis:after {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: none;
	z-index: 1;
}
#mainVis > ul {
	z-index: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	min-height: 620px;
	height: calc(100vh - 50px);
}
#mainVis > ul li {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#mainVis > ul li span {
	display: block;
	width: 100%;
	min-height: 620px;
	height: calc(100vh - 50px);
	transform: scale(1);
	-moz-transform: scale(1);
	-webkit-transform: scale(1);
	transition: transform 7s;
	-moz-transition: transform 7s;
	-webkit-transition: transform 7s;
	background-size: cover;
	-moz-background-size: cover;
	-webkit-background-size: cover;
	background-position: center center;
}
#mainVis > ul li.fade span {
	transform: scale(1.05);
	-moz-transform: scale(1.05);
	-webkit-transform: scale(1.05);
}
.skippr-nav-container { display: none; }

#mainVis nav {
	z-index: 2;
	position: relative;
	padding-top: 38px;
}
#mainVis nav p {
	height: 0;
	line-height: 1;
	overflow: hidden;
	background: no-repeat center center;
	background-size: 100%;
	-moz-background-size: 100%;
	-webkit-background-size: 100%;
}

#mainVis h1 { position: absolute; }

@media screen and (min-width:981px){
	#headCont,
	#headCont h1 {
		transition-duration: .5s;
		-moz-transition-duration: .5s;
		-webkit-transition-duration: .5s;
	}
	#headCont.topMenu h1 {
		opacity: 0;
	}
	#headCont h1 a {
		transition-duration: 1s;
		-moz-transition-duration: 1s;
		-webkit-transition-duration: 1s;
	}
	#headCont.topMenu h1 a {
		margin-left: -200px;
	}
	#headCont.topMenu {
		top: -90px;
	}
	#mainVis:after {
		box-shadow: 220px 0 100px -50px rgba(0,0,0,.4) inset;
		-moz-box-shadow: 220px 0 100px -50px rgba(0,0,0,.4) inset;
		-webkit-box-shadow: 220px 0 100px -50px rgba(0,0,0,.4) inset;
	}

	#mainVis > ul li#mainImg01 span { background-image: url(../images/top/main01_pc.jpg); }
	#mainVis > ul li#mainImg02 span { background-image: url(../images/top/main02_pc.jpg); }
	#mainVis > ul li#mainImg03 span { background-image: url(../images/top/main03_pc.jpg); }
	#mainVis > ul li#mainImg04 span { background-image: url(../images/top/main04_pc.jpg); }
	#mainVis > ul li#mainImg05 span { background-image: url(../images/top/main05_pc.jpg); }

	#mainVis nav p {
		width: 84px;
		padding-top: 238px;
		margin: 0 0 27px 62px;
		background-image: url(../images/top/logo_pc.png);
	}
	#mainVis nav ul {
		font-size: 14px;
		line-height: 34px;
		text-align: left;
		padding-left: 50px;
		letter-spacing: .13em;
	}
	#mainVis nav ul a {
		position: relative;
		display: inline-block;
	}
	#mainVis nav ul a:after {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 0;
		height: 1px;
		background: #fff;
		transition-duration: .2s;
		-moz-transition-duration: .2s;
		-webkit-transition-duration: .2s;
	}
	#mainVis nav ul a:hover {
		color: #fff;
	}
	#mainVis nav ul a:hover:after { width: 100%; }

	#mainVis h1 {
		right: 40px;
		bottom: 40px;
	}
	#footCont nav ul {
		width: 220px;
		letter-spacing: 0.15em;
	}
}
@media screen and (max-width:980px){
	#headCont h1 a {
		width: 57px;
		padding-top: 173px;
		background-image: url(../images/top/logo_sp.png);
	}
	#mainVis {
		overflow: hidden;
		min-height: 325px;
	}

	#mainVis > ul li#mainImg01 span { background-image: url(../images/top/main01_sp.jpg); }
	#mainVis > ul li#mainImg02 span { background-image: url(../images/top/main02_sp.jpg); }
	#mainVis > ul li#mainImg03 span { background-image: url(../images/top/main03_sp.jpg); }
	#mainVis > ul li#mainImg04 span { background-image: url(../images/top/main04_sp.jpg); }
	#mainVis > ul li#mainImg05 span { background-image: url(../images/top/main05_sp.jpg); }

	#mainVis nav { display: none; }
	#mainVis > ul li span { min-height: 325px; }

	#mainVis h1 {
		right: 12px;
		bottom: 10px;
	}
	#mainVis img { height: auto; }
}

 /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
江戸前と蝦夷前
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
#greeting {
	background: url(../images/top/bg_greeting.jpg) no-repeat center center;
	background-size: cover;
	-moz-background-size: cover;
	-webkit-background-size: cover;
}
#greeting h2,
#greeting .text,
#greeting .link {
	color: #000;
	transition-duration: 1s;
	-moz-transition-duration: 1s;
	-webkit-transition-duration: 1s;
}
#greeting h2 {
	opacity: 0;
	font-size: 32px;
	position: relative;
	margin-top: -20px;
}
#greeting h2.show {
	opacity: 1;
	margin-top: 0;
}
#greeting h2:before {
	content: "";
	width: 1px;
	display: block;
	background: #000;
	position: absolute;
	left: 0;
}
#greeting .text {
	width: 658px;
	top: -20px;
	opacity: 0;
	letter-spacing: 0.1em;
	position: relative;
}
#greeting .text.show {
	top: 0;
	opacity: 1;
}
#greeting .link {
	opacity: 0;
	clear: both;
	padding-top: 42px;
}
#greeting .link.show {
	opacity: 1;
}
#greeting .link a {
	width: 330px;
	height: 0;
	padding-top: 63px;
	overflow: hidden;
	display: block;
	margin: 0 auto;
	position: relative;
	border: 1px solid #000;
	transition-duration: .2s;
	-moz-transition-duration: .2s;
	-webkit-transition-duration: .2s;
	background: url(../images/top/link_greeting_pc.gif) no-repeat center center;
}
#greeting .link a:before {
	content: "";
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0;
	margin: auto;
	width: 192px;
	height: 18px;
	display: block;
	position: absolute;
	transition-duration: .2s;
	-moz-transition-duration: .2s;
	-webkit-transition-duration: .2s;
	background: url(../images/top/link_greeting_pc_on.gif) no-repeat center center;
}
#greeting .link a:hover {
	background-color: #000;
}
#greeting .link a:hover:before {
	opacity: 1;
}

@media screen and (min-width:981px){
	#greeting {
		padding-bottom: 100px;
	}
	#greeting .inner {
		padding-top: 47px;
		padding-left: 135px;
	}
	#greeting h2 {
		padding-top: 10px;
		padding-left: 21px;
	}
	#greeting h2:before {
		top: -147px;
		height: 200px;
	}
	#greeting .text {
		margin-top: 3px;
		margin-left: 75px;
	}
}
@media screen and (max-width:980px){
	#greeting {
		padding-top: 0;
		padding-bottom: 106px;
	}
	#greeting h2 {
		font-size: 20px;
		padding-top: 30px;
		padding-left: 42px;
	}
	#greeting h2.show:after {
		content: "";
		display: block;
		width: 1px;
		height: 100px;
		position: absolute;
		top: -50px;
		left: 30px;
		background: #000;
	}
	#greeting .text {
		width: auto;
		font-size: 12px;
		line-height: 20px;
		padding-top: 10px;
		padding-left: 50px;
		padding-right: 25px;
		letter-spacing: 0;
	}
	#greeting .text span {
		display: inline-block;
	}
	#greeting .link {
		padding-left: 70px;
		padding-right: 70px;
	}
	#greeting .link a {
		width: 100%;
		box-sizing: border-box;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		background: url(../images/top/link_greeting_sp.gif) no-repeat center center
		background-size: 152px 14px;
		-moz-background-size: 152px 14px;
		-webkit-background-size: 152px 14px;
	}
}
#owner > div {
	position: relative;
	background-size: cover;
	-moz-background-size: cover;
	-webkit-background-size: cover;
}
#owner:after {
	background: url(../images/greeting/img_owner.jpg) no-repeat center;
	background-size: cover;
	-moz-background-size: cover;
	-webkit-background-size: cover;
}
#owner h2 {
	color: #fff;
	background: #000;
}
#owner dd {
	color: #000;
	border-left: 1px solid #000;
}
@media screen and (min-width:981px){
	#owner { position: relative; }
	#owner:after {
		content: "";
		width: 50%;
		height: 100%;
		display: block;
		position: absolute;
		top: 0;
		right: 0;
	}
	#owner > div {
		padding-right: 50%;
		padding-left: calc(50% - 490px);
		background: url(../images/greeting/bg_owner_pc.gif) no-repeat left top;
		background-size: cover;
		-moz-background-size: cover;
		-webkit-background-size: cover;
	}
	#owner > div:after {
		content: "";
		display: block;
		clear: both;
	}
	#owner h2 {
		top: 0;
		float: left;
		right: 458px;
		font-size: 23px;
		line-height: 39px;
		padding: 0 18px;
	}
	#owner dl {
		clear: both;
		width: 490px;
		max-width: 100%;
		padding: 22px 0 43px 70px;
		box-sizing: border-box;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
	}
	#owner dt {
		color: #000;
		font-size: 24px;
		line-height: 1;
	}
	#owner dt span {
		font-size: 15px;
		margin-bottom: 4px;
		display: inline-block;
	}
	#owner dd {
		margin: 17px 0 0;
		padding: 5px 0;
	}
	#owner dd table {
		width: 100%;
		table-layout: fixed;
	}
	#owner dd table tr > * {
		font-size: 14px;
		line-height: 25px;
	}
	#owner dd table th {
		width: 90px;
		padding-left: 18px;
		letter-spacing: 0;
		vertical-align: top;
	}
	#owner dd table td {
		letter-spacing: -0.02em;
	}
}
@media screen and (max-width:980px){
	#owner > div {
		background: url(../images/greeting/bg_owner_sp.gif) no-repeat left top;
		background-position: center center;
		background-size: cover;
		-moz-background-size: cover;
		-webkit-background-size: cover;
	}
	#owner > div:after {
		content: "";
		width: 100%;
		height: 0;
		display: block;
		padding-top: 76.875%;
		background: url(../images/greeting/img_owner.jpg) no-repeat center center;
		background-size: cover;
		-moz-background-size: cover;
		-webkit-background-size: cover;
	}
	#owner h2 {
		top: 0;
		left: 15px;
		font-size: 16px;
		position: absolute;
		padding: 5px 10px;
	}
	#owner dl {
		color: #000;
		padding: 34px 0 54px 68px;
	}
	#owner dt {
		font-size: 24px;
	}
	#owner dt span {
		font-size: 15px;
		display: inline-block;
	}
	#owner dd {
		margin-top: 15px;
		padding: 3px 5px 1px 6px;
	}
	#owner dd span { display: inline-block; }

	#owner dd table tr > * {
		font-size: 10px;
		line-height: 2;
	}
	#owner dd table th {
		width: 50px;
		vertical-align: top;
	}
	#owner dd table td {
		letter-spacing: 0;
	}
}

 /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
お店のご案内
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

#shop h2 {
	height: 0;
	z-index: 2;
	position: relative;
	text-align: center;
}
#shop h2 span {
	height: 0;
	overflow: hidden;
	display: inline-block;
	background: no-repeat center center;
	background-size: 100%;
	-moz-background-size: 100%;
	-webkit-background-size: 100%;
}
#shop > ul {
	z-index: 1;
	position: relative;
}
#shop > ul:after {
	content: "";
	display: block;
	clear: both;
}
#shop > ul li {
	width: 50%;
	float: left;
	position: relative;
	text-align: center;
	background: no-repeat center center;
	background-size: cover;
	-moz-background-size: cover;
	-webkit-background-size: cover;
}
#shop > ul li:nth-child(1) {
	background-image: url(../images/top/bg_shop01.jpg);
}
#shop > ul li:nth-child(2) {
	background-image: url(../images/top/bg_shop02.jpg);
}
#shop > ul li:before,
#shop > ul li:after {
	content: "";
	width: 1px;
	z-index: 0;
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
}
#shop > ul li:before { background: #444; }
#shop > ul li:after { background: #000; }
#shop > ul li a {
	display: block;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	position: relative;
	z-index: 2;
}

#shop dl {
	color: #bfa37b;
	text-align: center;
}
#shop .link a {
	height: 0;
	overflow: hidden;
	display: inline-block;
	border: 1px solid #bfa37b;
	background: no-repeat center center;
}

@media screen and (min-width:981px){
	#shop h2 span {
		width: 29px;
		margin-top: 80px;
		padding-top: 201px;
		background-image: url(../images/top/title_shop_pc.png);
	}
	#shop > ul li:after {
		top: 0;
		height: 50px;
	}
	#shop > ul li:before {
		top: -50px;
		height: 50px;
	}
	#shop > ul li a {
		height: 500px;
		padding-top: 80px;
		overflow: hidden;
	}
	#shop > ul li a:after {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 0;
		opacity: 0;
		background: no-repeat center center;
		background-size: cover;
		-moz-background-size: cover;
		-webkit-background-size: cover;
		transition-duration: 1.5s;
		-moz-transition-duration: 1.5s;
		-webkit-transition-duration: 1.5s;
	}
	#shop > ul li:nth-child(1) a:after {
		background-image: url(../images/top/bg_shop01_on.jpg);
	}
	#shop > ul li:nth-child(2) a:after {
		background-image: url(../images/top/bg_shop02_on.jpg);
	}
	#shop > ul li a:hover:after {
		opacity: 1;
		transform: scale(1.02);
		-moz-transform: scale(1.02);
		-webkit-transform: scale(1.02);
		transform-origin: center center;
		-moz-transform-origin: center center;
		-webkit-transform-origin: center center;
	}
	#shop > ul li a img {
		z-index: 1;
		position: relative;
	}

	#shop dl { padding-bottom: 85px; }
	#shop dl dt {
		font-size: 32px;
		padding: 37px 0 21px;
	}
	#shop dl dd {
		font-size: 16px;
		line-height: 26px;
	}

	#shop dl dd ul {
		margin-top: 35px;
		overflow: hidden;
	}
	#shop dl dd li {
		color: #fff;
		width: 490px;
		font-size: 16px;
	}
	#shop dl dd li:nth-child(1) { float: left; }
	#shop dl dd li:nth-child(2) { float: right; }
	#shop dl dd li figcaption { margin-top: 20px; }
}

@media screen and (max-width:980px){
	#shop h2 span {
		width: 19px;
		margin-top: 38px;
		padding-top: 134px;
		background-image: url(../images/top/title_shop_sp.png);
	}
	#shop > ul li:before {
		top: -26px;
		height: 26px;
	}
	#shop > ul li:after {
		top: 0;
		height: 26px;
	}
	#shop > ul li a {
		height: 256px;
		padding-top: 48px;
	}
	#shop > ul li a img {
		width: 48px;
		height: auto;
	}
	#shop dl {
		padding: 40px 15px 0;
	}
	#shop dl dt {
		font-size: 20px;
		margin-bottom: 2
		margin-bottom: 2px;
	}
	#shop dl dd {
		font-size: 12px;
		line-height: 19.5px;
		margin-bottom: 25px;
	}
	#shop dl dd dl {
		margin-top: 20px;
	}
	#shop dl dd ul { margin-top: 22px; }
	#shop dl dd li {
		color: #fff;
		padding: 0 22px;
	}
	#shop dl dd li figcaption { padding: 12px 0 ; }
	#shop dl dd span { display: inline-block; }
	#shop dl dd li img {
		width: 100%;
	}
	#shop .link a {
		width: 173px;
		margin-top: 20px;
		padding-top: 50px;
		background-image: url(../images/top/link_guide_sp.png);
		background-size: 100px 15px;
		-moz-background-size: 100px 15px;
		-webkit-background-size: 100px 15px;
	}
}

 /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
お品書き
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

#menu .fader {
	position: relative;
}
#menu .fader li {
	width: 100%;
	height: 250px;
	opacity: 1;
	position: absolute;
	background-size: cover;
	-moz-background-size: cover;
	-webkit-background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	transition-duration: 3s;
	-moz-transition-duration: 3s;
	-webkit-transition-duration: 3s;
}
#menu .fader li.fade { opacity: 0; }
#menu .fader li#menuImg01,
#menu .fader li#menuImg06 { background-image: url(../images/top/menu_img01.jpg); }
#menu .fader li#menuImg02 { background-image: url(../images/top/menu_img02.jpg); }
#menu .fader li#menuImg03 { background-image: url(../images/top/menu_img03.jpg); }
#menu .fader li#menuImg04 { background-image: url(../images/top/menu_img04.jpg); }
#menu .fader li#menuImg05 { background-image: url(../images/top/menu_img05.jpg); }

#menu h2 {
	font-size: 32px;
	position: relative;
}
#menu h2:after {
	content: "";
	width: 1px;
	display: block;
	background: #fff;
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
}
#menu h2 span {
	display: block;
	text-align: center;
}
#menu h2 img { vertical-align: top; }

#menuDetail .titL { border: 1px solid #fff; }
#menuDetail .titM {
	line-height: 1;
	position: relative;
}
#menuDetail .titM:before {
	content: "";
	height: 1px;
	width: 10px;
	display: block;
	background: #fff;
	position: absolute;
	left: 0;
	top: 0.5em;
}
#menuDetail li li > * {
	display: inline-block;
	vertical-align: middle;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
}
#menuDetail li li:before,
#menuDetail li li:after {
	content: "";
	height: 1px;
	display: block;
	position: absolute;
	bottom: 0;
}
#menuDetail .name { color: #999; }

#caution { background: #333; }
#caution li {
	padding-left: 1em;
	text-indent: -1em;
}

@media screen and (min-width:981px){
	#menu .fader { height: 250px; }

	#menu h2 { padding-top: 60px; }
	#menu h2:after {
		top: -50px;
		height: 100px;
	}
	#menu h2 span { padding-top: 10px; }

	#menuDetail {
		width: 700px;
		margin: 0 auto;
	}
	#menuDetail .titM {
		font-size: 18px;
		font-weight: bold;
		padding-left: 15px;
		margin: 20px 0 3px;
	}
	#menuDetail > li + li { margin-top: 49px; }
	#menuDetail li li {
		font-size: 0;
		padding-left: 17px;
		position: relative;
	}
	#menuDetail li li:before {
		left: 15;
		width: 530px;
		background: #444;
	}
	#menuDetail li li:after {
		right: 0;
		width: 150px;
		background: #fff;
	}
	#menuDetail li li > * {
		font-size: 13px;
		line-height: 28px;
		letter-spacing: 0;
		padding: 8px 13px 8px 0;
	}
	#menuDetail .name {
		width: 530px;
		padding-right: 0;
	}
	#menuDetail .price {
		width: 150px;
		text-align: right;
		padding-left: 20px;
	}

	#caution {
		float: right;
		width: 737px;
		line-height: 28px;
		padding: 7px 13px 8px;
		margin-top: 52px;
	}

}
@media screen and (max-width:980px){
	#menu .fader,
	#menu .fader li { height: 285px; }

	#menu h2 { padding-top: 25px; }
	#menu h2:after {
		top: -25px;
		height: 50px;
	}
	#menu h2 span {
		font-size: 20px;
		padding-top: 5px;
	}
	#menu .txtC { padding-bottom: 90px !important; }

	#menuDetail {
		padding: 0 10px;
	}
	#menuDetail .titL {
		font-size: 17px;
		padding: 8px 13px;
	}
	#menuDetail .titM {
		font-size: 15px;
		margin-bottom: -5px;
	}
	#menuDetail .titL + ul > li:first-child > .titM { margin-top: 10px; }
	#menuDetail .titM:before {
		left: -16px;
	}
	#menuDetail > li + li { margin-top: 45px; }
	#menuDetail > li > ul {
		padding-left: 23px;
	}
	#menuDetail > li > ul > li + li { margin-top: 15px; }
	#menuDetail li li {
		font-style: 0;
		line-height: 15px;
		position: relative;
	}
	#menuDetail li li:before {
		left: 15;
		width: calc(100% - 100px);
		background: #444;
	}
	#menuDetail li li:after {
		right: 0;
		width: 90px;
		background: #fff;
	}
	#menuDetail li li > * {
		font-size: 12px;
		padding: 11px 0 10px;
	}
	#menuDetail li li .name {
		width: calc(100% - 100px);
	}
	#menuDetail li li .price {
		width: 100px;
		margin-right: -10px;
		letter-spacing: -0.03em;
		text-align: right;
	}

	#caution {
		font-size: 11px;
		line-height: 20px;
		margin: 35px 10px 0;
		padding: 8px 9px 9px;
	}
}

 /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
reservation
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

#reservation {
	color: #000;
	font-size: 16px;
	line-height: 26px;
	background: url(../images/shop/bg_service.jpg) no-repeat center center;
	background-size: cover;
	-moz-background-size: cover;
	-webkit-background-size: cover;
}
@media screen and (min-width:981px){
	#reservation { padding-bottom: 100px; }
	#reservation h2 {
		font-size: 32px;
		padding-top: 75px;
		padding-left: 15px;
		border-left: 1px solid #000;
	}
	#reservation .text {
		max-width: 880px;
		margin: 35px auto 0;
		letter-spacing: -0.02em;
	}
	#reservation .text + .txtC {
		margin-top: 63px;
		letter-spacing: -0.02em;
	}
	#phoneBox {
		width: 450px;
		text-align: center;
		margin: 10px auto 0;
		padding: 18px 0;
		border: 1px solid #000;
		letter-spacing: 0;
	}
	#phoneBox a {
		text-decoration: underline;
	}
	#phoneBox a:hover { color: #000; }
	#phoneBox strong {
		font-size: 18px;
		font-weight: normal;
	}
	#phoneBox .phone {
		font-size: 30px;
		font-weight: bold;
		display: inline-block;
		margin: 6px 0 5px;
	}
	#phoneBox .phone small {
		font-size: 20px;
		margin-right: 10px;
	}
	#phoneBox .phone2 {
		font-size: 16px;
		font-weight: bold;
		display: inline-block;
		margin: 6px 0 5px;
	}
	#phoneBox p + p {
		font-size: 18px;
		margin-top: 10px;
	}
	#phoneBox p + p a {
		font-size: 20px;
		font-weight: bold;
		display: inline-block;
		margin-top: 2px;
	}
	#phoneBox p + p a:hover { color: #000; }
}
@media screen and (max-width:980px){
	#reservation {
		font-size: 12px;
		line-height: 20px;
		padding-bottom: 75px;
	}
	#reservation h2 {
		font-size: 20px;
		margin-left: 30px;
		padding-top: 32px;
		padding-left: 10px;
		border-left: 1px solid #000;
	}
	#reservation .text {
		padding: 14px 27px 0 50px;
	}
	#reservation .text + .txtC {
		margin-top: 30px;
		line-height: 13px;
	}
	#reservation #phoneBox {
		margin: 12px 27px 0;
		text-align: center;
		font-size: 12px;
		line-height: 17.5px;
		border: 1px solid #000;
	}
	#reservation #phoneBox strong {
		font-size: 13px;
		font-weight: normal;
		display: inline-block;
		padding: 15px 0 13px;
	}
	#reservation #phoneBox .phone {
		font-size: 25px;
		font-weight: bold;
		display: inline-block;
		margin-bottom: 3px;
	}
	#reservation #phoneBox p + p {
		font-size: 13px;
		line-height: 23px;
		padding: 9px 0 20px;
	}
	#reservation #phoneBox p + p a {
		font-size: 12px;
		display: inline-block;
		text-decoration: underline;
	}
}


#data {
	position: relative;
	text-align: center;
}
#data:before {
	content: "";
	width: 1px;
	height: 130px;
	display: block;
	background: #fff;
	top: -65px;
	left: 0;
	right: 0;
	margin: 0 auto;
	position: absolute;
}
#data h2 {
	font-size: 32px;
}
#data table {
	width: 100%;
	table-layout: fixed;
}
#data table th {
	text-align: center;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}
#data table td {
	text-align: left;
	padding-left: 30px;
	border-top: 1px solid #444;
	border-bottom: 1px solid #444;
}

#map + .link a {
	width: 205px;
	height: 51px;
	margin: 0 auto;
	display: block;
	font-size: 16px;
	line-height: 51px;
	text-align: center;
	border: 1px solid #fff;
	transition-duration: .2s;
	-moz-transition-duration: .2s;
	-webkit-transition-duration: .2s;
}

@media screen and (min-width:981px){
	#mainVis {
		background-image: url(../images/company/main_pc.jpg);
	}

	#data { padding: 105px 140px 68px; }
	#data table {
		margin-top: 52px;
	}
	#data table tr > * {
		padding-top: 21px;
		padding-bottom: 22px;
		vertical-align: middle;
	}
	#data table th {
		width: 150px;
	}
	#data table td {
		line-height: 21px;
		padding-left: 30px;
	}
	#data table dl { overflow: hidden; }
	#data table dl > * { float: left; }
	#data table dl dt {
		width: 100px;
	}

	#map { height: 360px; }
	#map + .link { margin: 43px 0 122px; }
	#map + .link a:hover {
		color: #000;
		background: #fff;
	}
}

@media screen and (max-width:980px){
	#mainVis {
		background-image: url(../images/company/main_sp.jpg);
	}

	#data { padding: 33px 16px 20px; }
	#data:before {
		height: 50px;
		top: -25px;
	}
	#data h2 {
		font-size: 20px;
	}
	#data table { margin-top: 32px; }
	#data table tr > * {
		font-size: 12px;
		line-height: 15px;
		padding-top: 19px;
		padding-bottom: 17px;
		letter-spacing: 0;
		letter-spacing: 0.02em;
	}
	#data table th {
		width: 75px;
		white-space: nowrap;
	}
	#data table td {
		padding-left: 8px;
		padding-left: 30px;
	}
	#data table dl { overflow: hidden; }
	#data table dl > * { float: left; }
	#data .mail { letter-spacing: -0.15em; }

	#map {
		height: 250px;
		margin: 0 10px;
	}
	#map + .link {
		margin-top: 20px;
		margin-bottom: 70px;
	}
}