@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Shippori+Mincho&display=swap');

/* 全体
------------------------------------------------------------ */
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	font-family: "Shippori Mincho", serif;
	font-weight: 400;
	margin: 0px;
	padding: 0px;
	color: #000;
	line-height: 2;
	-webkit-text-size-adjust: 100%;
//	word-break: break-all;
	overflow-wrap: break-word;
}

.jost {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
    font-weight: 200;
}

*:before,
*:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html {
	font-size: 62.5%;
	overflow: hidden;
    min-height: 100vh;
}
html.active {
    overflow-y: auto;
}
body {
    min-height: 100vh;
}
.opmenu,
.opmenu body {
	overflow: hidden;
}
body img {
	vertical-align: bottom;
	border-style: none;
	max-width: 100%;
}
a {
	text-decoration: none;
	position: relative;
}
a:hover {
	text-decoration: underline;
}
a.underlink {
	text-decoration: underline;
}
a.underlink:hover {
	text-decoration: none;
}
img {
	max-width: 100%;
	height: auto;
}
table {
	table-layout: auto;
	border-collapse: collapse;
	border-spacing: 0px;
}
strong {
	font-weight: 700;
}

.para {
	margin-bottom: 1.5em;
}
.para-half {
	margin-bottom: 1em;
}
.para-little {
	margin-bottom: 0.5em;
}
.para-wide {
	margin-bottom: 2em;
}

.nomal_size {
	font-size: 1.4rem;
}
.mid_size {
	font-size: 1.3rem;
}
.small_size {
	font-size: 1.2rem;
}

.inlineblock {
	display: inline-block;
}
.center_note {
    text-align: center;
}

.contents {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 768px) {
.nomal_size {
	font-size: 1.6rem;
}
.mid_size {
	font-size: 1.4rem;
}
.small_size {
	font-size: 1.2rem;
}
}

@media (min-width: 1200px) {
.opmenu,
.opmenu body {
	overflow: auto;
}
.nomal_size {
	font-size: 1.8rem;
}
.mid_size {
	font-size: 1.6rem;
}
.small_size {
	font-size: 1.4rem;
}
}

/* OP
------------------------------------------------------------ */
.opening {
    background: #000;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 2000;
}
.opening * {
    color: #fff;
}
.opening .op_img {
    width: 100vw;
    height: 100vh;
    background: url("../images/op_img2.jpg") no-repeat center center;
    background-size: auto 80%;
    opacity: 1;
}
@media (orientation: landscape) {
.opening .op_img {
    background-size: cover;
}
}
.opening > div {
    width: 100%;
    padding: 15px;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
.opening .size_l01 {
    font-size: 1.8rem;
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -ms-filter: blur(5px);
    -o-filter: blur(5px);
    filter: blur(5px);
	transition: .5s;
}
.opening .size_m01 {
    font-size: 1.6rem;
    line-height: 1.4;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	display: -webkit-box; /* Android4.3以下、Safari3.1～6.0 */
	display: -webkit-flex; /* Safari6.1以降 */
    -webkit-box-pack:center;
    -webkit-justify-content:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -webkit-align-items:center;
    -ms-flex-align:center;
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -ms-filter: blur(5px);
    -o-filter: blur(5px);
    filter: blur(5px);
	transition: .5s;
}
.opening .size_m01:before,
.opening .size_m01:after {
    content: '―';
    margin: auto 0.5em;
}
.opening .size_s01 {
    font-size: 1.3rem;
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -ms-filter: blur(5px);
    -o-filter: blur(5px);
    filter: blur(5px);
	transition: .5s;
}
.opening .size_m02 {
    font-size: 1.6rem;
    line-height: 1.4;
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -ms-filter: blur(5px);
    -o-filter: blur(5px);
    filter: blur(5px);
	transition: .5s;
}
.opening .size_s02 {
    font-size: 1.3rem;
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -ms-filter: blur(5px);
    -o-filter: blur(5px);
    filter: blur(5px);
	transition: .5s;
}
.opening .active {
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
	transition: .5s;
}
.opening .skip {
    width: 100%;
    text-align: center;
    position: absolute;
    left: 0px;
    bottom: 10%;
}
.opening .skip strong {
    font-size: 1.2em;
    font-weight: 300;
    display: inline-block;
    padding: 1em;
    cursor: pointer;
}

@media (min-width: 768px) {
.opening .op_img {
    background-size: cover;
}
.opening .size_l01 {
    font-size: 3.5rem;
    -webkit-filter: blur(10px);
    -moz-filter: blur(10px);
    -ms-filter: blur(10px);
    -o-filter: blur(10px);
    filter: blur(10px);
}
.opening .size_m01 {
    font-size: 2.7em;
    -webkit-filter: blur(10px);
    -moz-filter: blur(10px);
    -ms-filter: blur(10px);
    -o-filter: blur(10px);
    filter: blur(10px);
}
.opening .size_s01 {
    font-size: 2rem;
    -webkit-filter: blur(10px);
    -moz-filter: blur(10px);
    -ms-filter: blur(10px);
    -o-filter: blur(10px);
    filter: blur(10px);
}
.opening .size_m02 {
    font-size: 2.7em;
    -webkit-filter: blur(10px);
    -moz-filter: blur(10px);
    -ms-filter: blur(10px);
    -o-filter: blur(10px);
    filter: blur(10px);
}
.opening .size_s02 {
    font-size: 2rem;
    -webkit-filter: blur(10px);
    -moz-filter: blur(10px);
    -ms-filter: blur(10px);
    -o-filter: blur(10px);
    filter: blur(10px);
}
.opening .active {
    -webkit-filter: blur(0px);
    -moz-filter: blur(0px);
    -ms-filter: blur(0px);
    -o-filter: blur(0px);
    filter: blur(0px);
	transition: .5s;
}
}

@media (min-width: 1200px) {
.opening .size_l01 {
    font-size: 6rem;
}
.opening .size_m01 {
    font-size: 4em;
}
.opening .size_s01 {
    font-size: 3rem;
}
.opening .size_m02 {
    font-size: 4em;
}
.opening .size_s02 {
    font-size: 3rem;
}
}

/* メニュー
------------------------------------------------------------ */
nav {
	position: fixed;
	top: 0%;
	margin-bottom: 0px;
	padding: 0px;
	width: 100%;
	border-radius: 0px;
	transition: all 0.2s;
	background: rgba(0,0,0,0.8);
	opacity: 1;
    z-index: 1000;
}
nav #toggle {
    width: 70px;
    height: 70px;
    background: rgba(0,0,0,0);
    position: absolute;
    top: 0px;
    right: 0px;
    cursor: pointer;
    z-index: 30;
	transition: .2s;
}
nav #toggle span {
    display: block;
    width: 40px;
    height: 1px;
    background: #fff;
    position: absolute;
    top: 35px;
    right: 15px;
	transition: .1s;
}
nav #toggle span.menu_first {
    top: 23px;
}
nav #toggle span.menu_mid {
}
nav #toggle span.menu_last {
    top: 47px;
}
.opmenu #toggle span.menu_first {
    top: 35px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
	transition: .1s;
}
.opmenu #toggle span.menu_last {
    top: 35px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
	transition: .1s;
}
.opmenu #toggle span.menu_mid {
	background: transparent;
}

nav.blakmenu #toggle {
    background: rgba(0,0,0,0.5);
	transition: .2s;
}
nav.whitemenu #toggle {
    background: rgba(255,255,255,0.8);
	transition: .2s;
}
nav.whitemenu #toggle span {
    background: #000;
}
.opmenu nav.blakmenu #toggle,
.opmenu nav.whitemenu #toggle {
    background: none;
	transition: .2s;
}
.opmenu nav.whitemenu #toggle span {
    background: #fff;
}
.opmenu nav.whitemenu #toggle span.menu_mid {
	background: transparent;
}

nav .collapse {
    display: none;
    height: 100vh;
    position: relative;
}
nav .collapse * {
  font-family: "Jost", sans-serif;
    font-size: 2.4rem;
    font-weight: 200;
    color: #fff;
}
nav .collapse ul {
    text-align: center;
    list-style: none;
    position: absolute;
    top: 50%;
    left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
nav .collapse ul a {
    display: block;
    margin: 0.2em;
}
nav .collapse ul a small {
    font-size: 0.8em;
    padding-left: 1ex;
}
nav .collapse ul li:last-child {
    margin-top: 15px;
}
nav .collapse ul .instagram {
    width: 40px;
	transition: .2s;
}
@media (min-width:768px) {
nav #toggle {
    width: 100px;
    height: 100px;
}
nav #toggle span {
    display: block;
    width: 50px;
    height: 1px;
    background: #fff;
    position: absolute;
    top: 50px;
    right: 25px;
	transition: .1s;
}
nav #toggle span.menu_first {
    top: 35px;
}
nav #toggle span.menu_mid {
}
nav #toggle span.menu_last {
    top: 65px;
}
.opmenu #toggle span.menu_first {
    top: 50px;
}
.opmenu #toggle span.menu_last {
    top: 50px;
}
nav .collapse * {
    font-size: 2.8rem;
}
nav .collapse ul .instagram {
    width: 44px;
}
}
@media (min-width:1200px) {
nav {
	background: rgba(0,0,0,0);
}
nav #toggle {
    display: none;
}
nav .collapse {
    display: block !important;
    height: 90px;
}
nav .collapse * {
    font-size: 2.4rem;
	transition: .2s;
}
nav .collapse ul {
    height: 90px;
    position: static;
	-webkit-transform: translate(0%, 0%);
	-ms-transform: translate(0%, 0%);
	transform: translate(0%, 0%);
	display: flex;
	display: -ms-flexbox; /* IE10 */
	display: -webkit-box; /* Android4.3以下、Safari3.1～6.0 */
	display: -webkit-flex; /* Safari6.1以降 */
    -webkit-box-pack:center;
    -webkit-justify-content:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -webkit-align-items:center;
    -ms-flex-align:center;
}
nav .collapse ul li {
    display: inline-block;
    margin: 0 20px;
}
nav .collapse ul li:last-child {
    margin-top: 0;
}
nav .collapse ul .instagram {
    width: 26px;
}
nav .collapse ul a {
    display: block;
    margin: 0 0.2em;
    line-height: 1;
}

nav.blakmenu {
    background: rgba(0,0,0,0.5);
	transition: .2s;
}
nav.whitemenu {
    background: rgba(255,255,255,0.8);
	transition: .2s;
}
nav.whitemenu .collapse * {
    color: #000;
	transition: .2s;
}
nav.whitemenu .collapse ul .instagram {
    filter: brightness(0.2);
	transition: .2s;
}
}

/* ヘッダ
------------------------------------------------------------ */
header{
	height: 100vh;
	background: #000;
    position: relative;
}
header h1{
    width: 150px;
    position: absolute;
    top: 50%;
    left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
header .floor1{
    height: 50vh;
    background: url("../images/tysh_head.jpg") no-repeat center top;
    background-size: cover;
}
header .floor2{
    height: 50vh;
    background: url("../images/244_head.jpg") no-repeat center center;
    background-size: cover;
}
header a {
    display: block;
    height: 100%;
    position: relative;
}
header a .floor_number {
    font-size: 2rem;
    font-weight: 200;
    line-height: 1;
    text-align: center;
    width: 150px;
    height: 150px;
    position: absolute;
    top: 50%;
    left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	display: flex;
	display: -ms-flexbox; /* IE10 */
	display: -webkit-box; /* Android4.3以下、Safari3.1～6.0 */
	display: -webkit-flex; /* Safari6.1以降 */
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -webkit-flex-direction:column;
    -ms-flex-direction:column;
    flex-direction:column;
    -webkit-box-pack:center;
    -webkit-justify-content:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -webkit-align-items:center;
    -ms-flex-align:center;
}
header .floor1 a:after {
    content: '';
    display: block;
    width: 100%;
    height: 10px;
    background: #000;
    position: absolute;
    top: 0px;
    left: 0px;
}
header .floor1 a .floor_number {
    color: #fff;
    background: #000;
}
header .floor2 a:after {
    content: '';
    display: block;
    width: 100%;
    height: 10px;
    background: #fff;
    position: absolute;
    bottom: 0px;
    left: 0px;
}
header .floor2 a .floor_number {
    color: #000;
    background: #fff;
}
header a .floor_number img {
    height: 30px;
    margin-bottom: 15px;
}
@media (min-width:768px) {
header h1{
    width: 230px;
}
header .floor1 a:after {
    height: 20px;
}
header .floor2 a:after {
    height: 20px;
}
header a .floor_number {
    font-size: 2.8rem;
    width: 230px;
    height: 230px;
}
header a .floor_number img {
    height: 35px;
    margin: 15px 0 25px;
}
}
@media (orientation: landscape) {
header{
	display: flex;
	display: -ms-flexbox; /* IE10 */
	display: -webkit-box; /* Android4.3以下、Safari3.1～6.0 */
	display: -webkit-flex; /* Safari6.1以降 */
}
header .floor1,
header .floor2 {
    height: 100vh;
    width: 50vw
}
header h1{
    width: 150px;
}
header a .floor_number {
    font-size: 2rem;
    width: 150px;
    height: 150px;
}
header a .floor_number img {
    height: 30px;
    margin: 15px 0 25px;
}
}
@media (min-width:1200px) {
header{
	display: flex;
	display: -ms-flexbox; /* IE10 */
	display: -webkit-box; /* Android4.3以下、Safari3.1～6.0 */
	display: -webkit-flex; /* Safari6.1以降 */
}
header .floor1,
header .floor2 {
    height: 100vh;
    width: 50vw
}
header h1{
    width: 230px;
}
header .floor1 a:after,
header .floor2 a:after {
    height: 50px;
}
header a .floor_number {
    font-size: 3rem;
    width: 350px;
    height: 350px;
}
header a .floor_number img {
    height: 60px;
    margin: 15px 0 50px;
}
}

/* HTSH244共通
------------------------------------------------------------ */
.intro {
    text-align: center;
    margin-bottom: 50px;
    position: relative;
    z-index: 10;
}
.intro .intro_title {
    font-size: 2rem;
    margin-bottom: 2em;
}
.intro .intro_note {
    display: inline;
}
h3 {
    font-size: 2.2rem;
}
.reserve_label {
    padding: 0 0.5em;
    display: table;
    border: solid 1px #fff;
}
.catch {
    margin-top: 30px;
    text-align: right;
    position: relative;
    z-index: 11;
}
#tysh .catch p {
    padding: 0 0.5em;
}
.catch .catch_title {
    font-size: 1.8rem;
}
.price {
    margin-top: 20px;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	display: -webkit-box; /* Android4.3以下、Safari3.1～6.0 */
	display: -webkit-flex; /* Safari6.1以降 */
    -webkit-box-pack:justify;
    -webkit-justify-content:space-between;
    -ms-flex-pack:justify;
    justify-content:space-between;
    position: relative;
}
.price .menuimg02 {
    width: 50%;
}
.price .drink {
    margin-top: 20px;
    width: 50%;
}
.reserve {
    margin-top: 50px;
}
.reserve_bt {
    padding: 0.5em;
    width: 160px;
    display: inline-block;
    text-align: center;
}
@media (min-width:768px) {
.intro {
    margin-bottom: 80px;
}
.intro .intro_title {
    font-size: 3rem;
    margin-bottom: 1.5em;
}
h3 {
    font-size: 4rem;
}
.reserve_label {
    padding: 0 1.5em;
}
.catch p {
    padding: 0.2em 0.8em;
}
.catch .catch_title {
    font-size: 2.8em;
}
.price {
    margin-top: 50px;
}
.reserve {
    margin-top: 50px;
    position: relative;
}
.reserve_bt {
    padding: 0.8em;
    margin-top: 1em;
    width: 220px;
}
}
@media (min-width:1200px) {
.intro {
    margin-bottom: 120px;
}
.intro .intro_title {
    font-size: 3rem;
    margin-bottom: 1.5em;
}
.catch {
    margin-top: 70px;
}
.catch .catch_title {
    font-size: 4em;
}
.price {
    margin-top: 70px;
}
.reserve {
    margin-top: 70px;
}
.reserve_bt {
    width: 300px;
}
}

/* HTSH
------------------------------------------------------------ */
#tysh {
    background: #000;
    padding: 50px 20px;
    overflow: hidden;
}
#tysh h2 {
    text-align: center;
    margin-bottom: 20px;
    padding-bottom: 50px;
    position: relative;
}
#tysh h2:after {
    content: '';
    display: block;
    width: 1px;
    height: 30px;
    background: #fff;
    position: absolute;
    left: 50%;
    bottom: 0px;
    margin-left: -0.5px;
}
#tysh h2 img {
    height: 20px;
}
#tysh * {
    color: #fff;
}
.intro .intro_note {
    background: rgba(0,0,0,0.5);
}
#tysh .menuimg01 {
    margin-right: -20px;
    position: relative;
}
#tysh .menuimg01 img {
    width: 50%;
    max-width: 824px;
    position: absolute;
    top: -40px;
    right: 0px;
}
#tysh .catch p {
    background: rgba(0,0,0,0.5);
    display: table;
    margin-left: auto;
}
#tysh .price .menuimg02 {
    margin-left: -20px;
}
#tysh .price .menuimg02 img {
    width: 100%;
    max-width: 950px;
}
#tysh .price table {
    border: solid 1px #444;
    width: 100%;
    background: rgba(0,0,0,0.5);
}
#tysh .price table td {
    padding: 15px 5px;
    display: block;
    text-align: center;
    width: 100%;
}
#tysh .price table.drink2 td:first-child {
    border-bottom: dotted 1px #444;
}
#tysh .price table td dt {
    font-size: 1.6rem;
}
#tysh .price table td dd {
    font-size: 1.4rem;
}
#tysh .price .kome_note {
    text-align: left;
    margin-top: 15px;
}
#tysh .reserve th {
    font-weight: 500;
    text-align: left;
    vertical-align: top;
    padding-right: 1em;
}
#tysh .reserve td {
    padding-left: 2em;
    text-align: left;
    vertical-align: top;
    position: relative;
}
#tysh .reserve td:before {
    content: '';
    display: block;
    width: 1em;
    height: 1px;
    background: #fff;
    position: absolute;
    left: 0px;
    top: 1em;
}
#tysh .reserve_bt {
    border: solid 1px #fff;
}
@media (min-width:768px) {
#tysh {
    padding: 100px 50px;
}
#tysh h2 {
    margin-bottom: 20px;
    padding-bottom: 62px;
}
#tysh h2:after {
    height: 40px;
}
#tysh h2 img {
    height: 22px;
}
#tysh .menuimg01 {
    margin-right: -50px;
}
#tysh .menuimg01 img {
    top: -80px;
}
#tysh .price .menuimg02 {
    margin-left: -50px;
	width: 55%; /*IE9未満とかプレフィックス使ってもだめなブラウザやOS対応*/
	widht: -webkit-calc(50% + 25px);/*Chrome19~25対応*/
	width: -moz-calc(50% + 25px);/*Firefox4~15対応*/
	width: calc(50% + 25px);  
}
#tysh .price .menuimg02 img {
}
#tysh .price table td {
    padding: 15px;
    display: table-cell;
    width: auto;
    height: 260px;
    position: relative;
}
#tysh .price table.drink2 td {
    width: 50%;
}
#tysh .price table.drink2 td:first-child {
    border-bottom: none;
    border-right: dotted 1px #444;
}
#tysh .price table td dt {
    font-size: 2rem;
}
#tysh .price table td dd {
    font-size: 1.8rem;
}
#tysh .price table td dd span {
    display: block;
}
#tysh .price .kome_note {
    position: absolute;
    left: 10px;
    bottom: 10px;
}
#tysh .reserve h3,
#tysh .reserve p {
    background: rgba(0,0,0,0.5);
}
#tysh .reserve td {
    padding-left: 4em;
}
#tysh .reserve td:before {
    width: 3em;
}
}
@media (min-width:1100px) {
#tysh .menuimg01 {
    margin-right: -180px;
	margin-right: -webkit-calc(-50px - ((100vw - 1100px) / 2));
	margin-right: -moz-calc(-50px - ((100vw - 1100px) / 2));
	margin-right: calc(-50px - ((100vw - 1100px) / 2));
}
#tysh .price .menuimg02 {
    margin-top: -150px;
    text-align: right;
	width: 55%; /*IE9未満とかプレフィックス使ってもだめなブラウザやOS対応*/
	widht: -webkit-calc(50% + 25px + ((100vw - 1100px) / 2));
	width: -moz-calc(50% + 25px + ((100vw - 1100px) / 2));
	width: calc(50% + 25px + ((100vw - 1100px) / 2));
    margin-left: -50px;
	margin-left: -webkit-calc(-50px - ((100vw - 1100px) / 2));
	margin-left: -moz-calc(-50px - ((100vw - 1100px) / 2));
	margin-left: calc(-50px - ((100vw - 1100px) / 2));
}
}
@media (min-width:1200px) {
#tysh {
    padding: 150px 50px;
}
#tysh h2 {
    margin-bottom: 25px;
    padding-bottom: 82px;
}
#tysh h2:after {
    height: 50px;
}
#tysh .menuimg01 img {
    top: -180px;
}
#tysh .price .menuimg02 {
    margin-top: -100px;
}
#tysh .price table td {
    height: 400px;
}
#tysh .price table.drink2 td {
    width: 50%;
}
#tysh .price table.drink2 td:first-child {
    border-bottom: none;
    border-right: dotted 1px #444;
}
#tysh .price table td dt {
    font-size: 3rem;
}
#tysh .price table.drink2 td dt {
    font-size: 2.6rem;
}
#tysh .price table td dd {
    font-size: 2.6rem;
}
#tysh .price table.drink2 td dd {
    font-size: 2.4rem;
}
#tysh .price .kome_note {
    left: 15px;
}
#tysh .reserve th {
    padding-right: 1.5em;
}
#tysh .reserve td {
    padding-left: 4.5em;
}
#tysh .reserve td:before {
    width: 3em;
}
}

/* 244
------------------------------------------------------------ */
#f244 {
    background: #fff;
    padding: 50px 20px;
    overflow: hidden;
}
#f244 h2 {
    text-align: center;
    margin-bottom: 20px;
    padding-bottom: 50px;
    position: relative;
}
#f244 h2:after {
    content: '';
    display: block;
    width: 1px;
    height: 30px;
    background: #000;
    position: absolute;
    left: 50%;
    bottom: 0pc;
    margin-left: -0.5px;
}
#f244 h2 img {
    height: 20px;
}
#f244 .intro .intro_note {
    background: rgba(255,255,255,0.7);
}
#f244 .menuimg01 {
    margin-right: -20px;
    position: relative;
}
#f244 .menuimg01 img {
    width: 50%;
    max-width: 824px;
    position: absolute;
    top: -40px;
    right: 0px;
}
#f244 .catch p {
    background: rgba(255,255,255,0.7);
    display: table;
    margin-left: auto;
}
#f244 .price .menuimg02 {
    margin-left: -20px;
}
#f244 .price .menuimg02 img {
    width: 100%;
    max-width: 950px;
}
#f244 .price table {
    border: solid 1px #dddddd;
    width: 100%;
    background: rgba(255,255,255,0.7);
}
#f244 .price table td {
    padding: 15px 5px;
    display: block;
    text-align: center;
    width: 100%;
}
#f244 .price table.drink2 td:first-child {
    border-bottom: dotted 1px #dddddd;
}
#f244 .price table td dt {
    font-size: 1.6rem;
}
#f244 .price table td dd {
    font-size: 1.4rem;
}
#f244 .reserve_bt {
    border: solid 1px #000;
}
@media (min-width:768px) {
#f244 {
    padding: 100px 50px;
}
#f244 {
    padding: 100px 50px;
}
#f244 h2 {
    padding-bottom: 62px;
}
#f244 h2:after {
    height: 40px;
}
#f244 h2 img {
    height: 22px;
}
#f244 .menuimg01 {
    margin-right: -50px;
}
#f244 .menuimg01 img {
    top: -80px;
}
#f244 .price .menuimg02 {
    margin-left: -50px;
	width: 55%; /*IE9未満とかプレフィックス使ってもだめなブラウザやOS対応*/
	widht: -webkit-calc(50% + 25px);/*Chrome19~25対応*/
	width: -moz-calc(50% + 25px);/*Firefox4~15対応*/
	width: calc(50% + 25px);  
}
#f244 .price table td {
    padding: 15px;
    display: table-cell;
    width: auto;
    height: 260px;
    position: relative;
}
#f244 .price table.drink2 td {
    width: 50%;
}
#f244 .price table.drink2 td:first-child {
    border-bottom: none;
    border-right: dotted 1px #444;
}
#f244 .price table td dt {
    font-size: 2rem;
}
#f244 .price table td dd {
    font-size: 1.8rem;
}
#f244 .reserve td:before {
    width: 3em;
}
}
@media (min-width:1100px) {
#f244 .menuimg01 {
    margin-right: -180px;
	margin-right: -webkit-calc(-50px - ((100vw - 1100px) / 2));
	margin-right: -moz-calc(-50px - ((100vw - 1100px) / 2));
	margin-right: calc(-50px - ((100vw - 1100px) / 2));
}
#f244 .price .menuimg02 {
    margin-top: -150px;
    text-align: right;
	width: 55%; /*IE9未満とかプレフィックス使ってもだめなブラウザやOS対応*/
	widht: -webkit-calc(50% + 25px + ((100vw - 1100px) / 2));
	width: -moz-calc(50% + 25px + ((100vw - 1100px) / 2));
	width: calc(50% + 25px + ((100vw - 1100px) / 2));
    margin-left: -50px;
	margin-left: -webkit-calc(-50px - ((100vw - 1100px) / 2));
	margin-left: -moz-calc(-50px - ((100vw - 1100px) / 2));
	margin-left: calc(-50px - ((100vw - 1100px) / 2));
}
}
@media (min-width:1200px) {
#f244 {
    padding: 150px 50px;
}
#f244 h2 {
    margin-bottom: 25px;
    padding-bottom: 82px;
}
#f244 h2:after {
    height: 50px;
}
#f244 .menuimg01 img {
    top: -180px;
}
#f244 .price .menuimg02 {
    margin-top: -100px;
}
#f244 .price table td {
    height: 400px;
}
#f244 .price table.drink2 td {
    width: 50%;
}
#f244 .price table.drink2 td:first-child {
    border-bottom: none;
    border-right: dotted 1px #444;
}
#f244 .price table td dt {
    font-size: 3rem;
}
#f244 .price table.drink2 td dt {
    font-size: 2.6rem;
}
#f244 .price table td dd {
    font-size: 2.6rem;
}
#f244 .price table.drink2 td dd {
    font-size: 2.4rem;
}
}


/* アクセス
------------------------------------------------------------ */
#access {
    background: #000;
    padding: 50px 0;
    text-align: center;
}
#access * {
    color: #fff;
}
#access h2 {
    font-size: 3rem;
    margin-bottom: 20px;
}
#access iframe {
    width: 100%;
    height: 350px;
    margin: 30px 0 20px;
    filter: grayscale(100%);
}
#access .reserve_bt {
    border: solid 1px #fff;
}
@media (min-width:768px) {
#access {
    padding: 100px 0;
}
#access h2 {
    font-size: 5rem;
    margin-bottom: 20px;
}
#access iframe {
    height: 400px;
    margin: 50px 0 20px;
}
}
@media (min-width:1200px) {
#access {
    padding: 150px 0;
}
#access h2 {
    font-size: 6rem;
    margin-bottom: 25px;
}
#access iframe {
    height: 500px;
}
}



/* フッタ
------------------------------------------------------------ */
footer {
    background: #000;
    padding: 0 0 20px;
    text-align: center;
}
footer * {
    color: #fff;
}
@media (min-width:768px) {
footer {
    padding-bottom: 30px;
}
}
@media (min-width:1200px) {
}

