	/* font */
@font-face {
    font-family: 'Soehne';
    src: url('css/fonts/soehne-web-leicht.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'NanumMyeongjo';
    src: url('css/fonts/NanumMyeongjo-Regular.ttf') format('ttf');
    font-weight: normal;
    font-style: normal;
}

/* selection */
::selection {
	color: #e73828;
}
::-moz-selection {
	color: #e73828;
}

/* pace */
.pace {
	-webkit-pointer-events: none;
	pointer-events: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}
.pace-inactive {
	display: none;
}
.pace .pace-progress {
	background: #000000;
	position: fixed;
	z-index: 2000;
	top: 0;
	right: 100%;
	width: 100%;
	height: 2px;
}

/* common parts */
html {
	text-rendering: optimizeLegibility;
}

body {
	color: #000000;
	background: #fafbf8;
	margin: 0 auto;
	font-family: Soehne, Helvetica, "游ゴシック", "Yu Gothic", YuGothic, sans-serif;
	font-size: 1.0vw;
	line-height: 1.6em;
	letter-spacing: 0.05em;
}

h2{
	text-align: center;
	margin: 0 0 3vw 0;
	font-size: 1.3vw;
	font-family: NanumMyeongjo, serif;
}
h3{
	text-align: center;
	margin: 0 0.4vw 30px 0;
	font-family: NanumMyeongjo, serif;
}

.mobile{ display: none!important; }

a:link    { color: #000000; text-decoration: none; }
a:visited { color: #000000; text-decoration: none; }
a:hover   { color: #e73828; text-decoration: none; }
a:active  { color: #e73828; text-decoration: none; }
a { outline: none; }

.underline a:link    { color: #000000; text-decoration: none; border-bottom: 1px solid #000000; padding-bottom: 2px; }
.underline a:visited { color: #000000; text-decoration: none; border-bottom: 1px solid #000000; padding-bottom: 2px; }
.underline a:hover   { color: #e73828; text-decoration: none; border-bottom: 1px solid #e73828; padding-bottom: 2px; }
.underline a:active  { color: #e73828; text-decoration: none; border-bottom: 1px solid #e73828; padding-bottom: 2px; }

.btn{
	width: 30%;
	padding: 2% 0;
	font-family: NanumMyeongjo, serif;
	font-size: 0.85vw;
	text-align: center;
    border: 1px solid #000000;
    border-radius: 50%;
	margin: 3vw auto 0;
}
a .btn{
	background-color: #fafbf8;
	color: #000000;
	text-decoration: none;
}
a:hover .btn{
	background-color: #e73828;
	border: 1px solid #e73828;
	color: #fafcfa;
	text-decoration: none;
}

/* head */
h1{
	position: fixed;
	width: 40vw;
	left: 30vw;
	top: 6vw;
	z-index: 999;
}
h1 img{
	width: 100%;
}
h1 span{
	display: none;
}
h4{
	width: 12vw;
	margin: 0 auto;
}
h4 img{
	width: 100%;
}
h4 span{
	display: none;
}

.menu {
	width: 40vw;
	font-family: NanumMyeongjo, serif;
	position: fixed;
	font-size: 1.0vw;
	letter-spacing: 0.06em;
	text-align: center;
	left: 30vw;
	top: 1vw;
	display: flex;
	justify-content: space-between;
	z-index: 99999;
}
.menu p {
}
.mobilereservation{
	display: none;
}

/* contents */
#topcontents{
	width: 100vw;
	margin: 0 auto;
}
.top{
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	grid-gap: 0;
}
.topcont{
}
.topcont img{
	width: 100%;
	height: auto;
}

.text01{
	grid-column: 2 / 3;
	grid-row: 2 / 3;
	padding-top: 30vh;
	z-index: 999;
}
.text02{
	grid-column: 4 / 5;
	grid-row: 3 / 4;
	padding-top: 30vh;
	z-index: 999;
}
.text01, .text02{
	font-size: 0.8vw;
	font-family: NanumMyeongjo, serif;
	line-height: 1.4em;
}

.img01{
	grid-column: 1 / 9;
	grid-row: 1 / 6;
	height: 100vh;
	display: grid;
	place-items: center;
	z-index: 999;
}
.main{
	width: 20%;
}

.img02{
	grid-column: 1 / 4;
	grid-row: 1 / 3;
	width: 80%;
	margin: 5vw 0 0 20%;
}
.img03{
	grid-column: 5 / 8;
	grid-row: 1 / 2;
	width: 80%;
	margin: 8vw auto 0;
}
.img04{
	grid-column: 7 / 9;
	grid-row: 1 / 2;
	width: 70%;
	margin: 12vw auto 0;
}
.img05{
	grid-column: 5 / 7;
	grid-row: 1 / 3;
	width: 80%;
	margin: 43vw 0 0 0;
}
.img06{
	grid-column: 1 / 4;
	grid-row: 3 / 5;
	width: 80%;
	margin: 10vw 0 0 0;
}
.img07{
	grid-column: 3 / 6;
	grid-row: 4 / 5;
	width: 60%;
	margin: 15vw 0 0 0;
}
.img08{
	grid-column: 6 / 8;
	grid-row: 3 / 5;
	width: 80%;
	margin: 10vw 0 0 0;
}

.circle{
	grid-column: 1 / 9;
	grid-row: 1 / 1;
	width: 100vw;
	display: grid;
	place-items: center;
}
.circle img{
	width: calc(100% - 2px);
	border-radius: 50%;
	object-fit: cover;	
}
.crcl01{
	grid-column: 2 / 4;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 1;
}
.crcl02{
	grid-column: 3 / 5;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 2;
}
.crcl03{
	grid-column: 4 / 6;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 3;
}
.crcl04{
	grid-column: 5 / 7;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 2;
}
.crcl05{
	grid-column: 6 / 8;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 1;
}
.crclbdr img{
	border: 2px #fafbf8 solid;
}
.crclbdr01{
	grid-column: 2 / 4;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 10;
}
.crclbdr02{
	grid-column: 3 / 5;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 10;
}
.crclbdr03{
	grid-column: 4 / 6;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 10;
}
.crclbdr04{
	grid-column: 5 / 7;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 10;
}
.crclbdr05{
	grid-column: 6 / 8;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 10;
}

.grafik{
	grid-column: 1 / 9;
	grid-row: 1 / 1;
	width: 100vw;
	height: 100vh;
	display: grid;
	place-items: center;
	z-index: 999;
	background-color: #bccbd3;
}
.graphic{
	width: 40%;
}

.content{
	margin: 30px 0;
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
	display: flex;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.content_in{
	width: 100%;
	margin: 15px auto;
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
	display: flex;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: start;
	align-items: start;
}
.column100{
	width: 100%;
}
.column66{
	width: 66.66%;
}
.column50{
	width: 50%;
}
.column33{
	width: 33.33%;
}
.column25{
	width: 25%;
}
.column20{
	width: 20%;
}
.column100 img, .column66 img, .column50 img, .column33 img, .column25 img{
	width: 100%;
	height: auto;
}
.mtop{
	margin-top: 10vw;
}
.ptopbottom{
	padding: 10vw 0;
}

#about{
	width: calc(60vw + 10px);
	margin: 15vw auto 0;
}

.texts{
	width: 60%;
	margin: 0 auto;
}
.slide{
	margin-bottom: 3vw;
}


dl {
	width: 50%;
	margin: 0 auto;
	border-top: none;
	border-bottom: none;
}
dl dt{
	width: 50%;
	float: left;
	clear: both;
	padding: .5em 0;
}
dl dd{
	width: 50%;
	padding: .5em 0 .5em 50%;
	border-bottom: 1px solid #000000;
	text-align: right;
}
dl dd:last-child {
	border-bottom: none;
}


table {
	margin: 0;
	padding: 0;
	width: 100%;
	table-layout: fixed;
}
table caption {
}
table tr {
	border-bottom: 1px solid #000000;
	padding: .3em;
}
table tr:last-child {
	border-bottom: none;
}
table th,
table td {
	padding: .5em;
}
table th {
}
.role {
	width: 20%
}
.iglink{
	width: 30%
}

/* Reservation */
.statement .checkbox{
	display: none;
}
.statement .statement-overlay{
	opacity: 0;
	transition: all 0.3s ease;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: -100;
	transform: scale(1);
	display: none;
}
.statement .statement-wrap{
	font-size: 1.0vw;
	line-height: 1.9em;
	color: #fafbf8;
	background-color: #000000;
	padding: 7vw 8vw;
	width: 30vw;
	margin: 0 auto;
	align-self: flex-start;
	transition: all 0.5s ease;
	z-index: 99999;
}
.statement a:link    { color: #fafbf8; text-decoration: none; border-bottom: 1px solid #fafbf8; padding-bottom: 2px; }
.statement a:visited { color: #fafbf8; text-decoration: none; border-bottom: 1px solid #fafbf8; padding-bottom: 2px; }
.statement a:hover   { color: #e73828; text-decoration: none; border-bottom: 1px solid #e73828; padding-bottom: 2px; }
.statement a:active  { color: #e73828; text-decoration: none; border-bottom: 1px solid #e73828; padding-bottom: 2px; }

.statement .statement-wrap.a-center {
	align-self: center;
}
/* Close button */
.statement .statement-overlay .close{
	position: absolute;
	right: 1vw;
	top: 1vw;
	font-size: 2vw;
	width: 20px;
	height: 20px;
}
.statement .statement-overlay .close:hover{
	cursor: pointer;
}
.statement .o-close {
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
	top: 0;
	z-index: -100;
}
.statement input:checked ~ .o-close {
  z-index: 9998;
}
.statement input:checked ~ .statement-overlay{
  transform: scale(1);
  opacity:1;
  z-index: 9997;
  overflow: auto;
  display: flex;
  animation-duration: 0.5s;
  animation-name: fade-in;
  -moz-animation-duration: 0.5s;
  -moz-animation-name: fade-in;
  -webkit-animation-duration: 0.5s;
  -webkit-animation-name: fade-in;
}
.statement input:checked ~ .statement-overlay .statement-wrap {
  transform: translateY(0);
  z-index: 9999;
}


@media screen and (max-width:1440px){
body {
	font-size: 1.2vw;
}
h2{
	margin: 0 0 3vw 0;
	font-size: 1.5vw;
}
.text01, .text02{
	font-size: 1.0vw;
	line-height: 1.4em;
}
}


@media screen and (max-width:1024px){
body {
	font-size: 1.3vw;
}
h2{
	margin: 0 0 3vw 0;
	font-size: 1.6vw;
	font-family: NanumMyeongjo, serif;
}
h3{
	text-align: center;
	margin: 0 0.4vw 30px 0;
	font-family: NanumMyeongjo, serif;
}

.btn{
	width: 30%;
	padding: 2% 0;
	font-size: 1.2vw;
	margin: 5vw auto 0;
}

/* head */
h1{
	position: fixed;
	width: 60vw;
	left: 20vw;
	top: 9vw;
}
h4{
	width: 12vw;
	margin: 0 auto;
}

.menu {
	width: 60vw;
	font-family: NanumMyeongjo, serif;
	position: fixed;
	font-size: 1.3vw;
	left: 20vw;
	top: 2vw;
	display: flex;
	justify-content: space-between;
	z-index: 99999;
}
.menu p {
}

/* contents */
#topcontents{
	width: 100vw;
	margin: 0 auto;
}
.top{
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	grid-gap: 0;
}
.topcont{
}
.topcont img{
	width: 100%;
	height: auto;
}

.text01{
	grid-column: 2 / 3;
	grid-row: 2 / 3;
	padding-top: 15vh;
	z-index: 999;
}
.text02{
	grid-column: 4 / 5;
	grid-row: 3 / 4;
	padding-top: 12vh;
	z-index: 999;
}
.text01, .text02{
	font-size: 1.0vw;
	font-family: NanumMyeongjo, serif;
	line-height: 1.4em;
}

.img01{
	grid-column: 1 / 9;
	grid-row: 1 / 5;
	height: 100vh;
	display: grid;
}
.main{
	width: 33%;
}

.img02{
	grid-column: 1 / 4;
	grid-row: 1 / 3;
	width: 90%;
	margin: 5vw 0 0 10%;
}
.img03{
	grid-column: 5 / 8;
	grid-row: 1 / 2;
	width: 80%;
	margin: 8vw auto 0;
}
.img04{
	grid-column: 7 / 9;
	grid-row: 1 / 2;
	width: 70%;
	margin: 12vw auto 0;
}
.img05{
	grid-column: 5 / 7;
	grid-row: 1 / 3;
	width: 80%;
	margin: 43vw 0 0 0;
}
.img06{
	grid-column: 1 / 4;
	grid-row: 3 / 5;
	width: 80%;
	margin: 10vw 0 0 0;
}
.img07{
	grid-column: 3 / 6;
	grid-row: 4 / 5;
	width: 60%;
	margin: 15vw 0 0 0;
}
.img08{
	grid-column: 6 / 8;
	grid-row: 3 / 5;
	width: 80%;
	margin: 10vw 0 0 0;
}

.circle{
}
.circle img{
	width: calc(100% - 2px);
	border-radius: 50%;
	object-fit: cover;	
}
.crcl01{
	grid-column: 2 / 4;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 1;
}
.crcl02{
	grid-column: 3 / 5;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 2;
}
.crcl03{
	grid-column: 4 / 6;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 3;
}
.crcl04{
	grid-column: 5 / 7;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 2;
}
.crcl05{
	grid-column: 6 / 8;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 1;
}
.crclbdr img{
	border: 2px #fafbf8 solid;
}
.crclbdr01{
	grid-column: 2 / 4;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 10;
}
.crclbdr02{
	grid-column: 3 / 5;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 10;
}
.crclbdr03{
	grid-column: 4 / 6;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 10;
}
.crclbdr04{
	grid-column: 5 / 7;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 10;
}
.crclbdr05{
	grid-column: 6 / 8;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 10;
}

.grafik{
	grid-column: 1 / 9;
	grid-row: 1 / 1;
	width: 100vw;
	height: 100vh;
	display: grid;
	place-items: center;
	z-index: 999;
	background-color: #bccbd3;
}
.graphic{
	width: 40%;
}

.content{
	margin: 30px 0;
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
	display: flex;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.content_in{
	margin: 15px auto;
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
	display: flex;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: start;
	align-items: start;
}
.column100{
	width: 100%;
}
.column66{
	width: 66.66%;
}
.column50{
	width: 50%;
}
.column33{
	width: 33.33%;
}
.column25{
	width: 25%;
}
.column20{
	width: 20%;
}
.column100 img, .column66 img, .column50 img, .column33 img, .column25 img{
	width: 100%;
	height: auto;
}
.mtop{
	margin-top: 10vw;
}
.ptopbottom{
	padding: 10vw 0;
}

#about{
	width: calc(60vw + 10px);
	margin: 15vw auto 0;
}

.texts{
}
.slide{
	margin-bottom: 3vw;
}

dl {
	width: 80%;
	margin: 0 auto;
	border-top: none;
	border-bottom: none;
}
dl dt{
	width: 50%;
	float: left;
	clear: both;
	padding: .5em 0;
}
dl dd{
	width: 50%;
	padding: .5em 0 .5em 50%;
	border-bottom: 1px solid #000000;
	text-align: right;
}
dl dd:last-child {
	border-bottom: none;
}


table {
	margin: 0;
	padding: 0;
	width: 100%;
	table-layout: fixed;
}
table caption {
}
table tr {
	border-bottom: 1px solid #000000;
	padding: .3em;
}
table tr:last-child {
	border-bottom: none;
}
table th,
table td {
	padding: .5em;
}
table th {
}
.role {
	width: 20%
}
.iglink{
	width: 30%
}

/* Reservation */
.statement .statement-wrap{
	font-size: 1.5vw;
	line-height: 1.9em;
	padding: 7vw 8vw;
	width: 60%;
}
/* Close button */
.statement .statement-overlay .close{
	position: absolute;
	right: 2vw;
	top: 2vw;
	font-size: 3.5vw;
	width: 20px;
	height: 20px;
}
}

@media screen and (max-width:599px){
body {
	font-size: 2.0vw;
}
h2{
	margin: 0 0 3vw 0;
	font-size: 3.0vw;
}
h3{
	text-align: center;
	margin: 0 20vw 15px 0;
}

.btn{
	width: 40%;
	padding: 3.5% 0;
	font-size: 2.5vw;
	margin: 5vw auto 0;
}

/* head */
h1{
	position: fixed;
	width: 92vw;
	left: 4vw;
	top: 6vw;
}
h4{
	width: 30vw;
	margin: 8vw auto 0;
}

.menu {
	display: none;
}
.mobilereservation {
	display: inherit;
	width: 90vw;
	margin: 0 auto;
	font-family: NanumMyeongjo, serif;
	font-size: 4.0vw;
	text-align: center;
	position: fixed;
	left: 5vw;
	bottom: 5vw;
	z-index: 99999;
}

/* contents */
#topcontents{
	width: 100vw;
	margin: 0 auto;
}
.top{
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	grid-gap: 0;
}
.topcont{
}
.topcont img{
	width: 100%;
	height: auto;
}

.text01{
	grid-column: 2 / 5;
	grid-row: 2 / 4;
	padding-top: 25vh;
	z-index: 999;
}
.text02{
	grid-column: 6 / 9;
	grid-row: 3 / 6;
	padding-top: 33vh;
	z-index: 999;
}
.text01, .text02{
	font-size: 1.8vw;
	line-height: 1.5em;
}

.img01{
	grid-column: 1 / 9;
	grid-row: 1 / 5;
	height: 100vh;
	display: grid;
}
.main{
	width: 44%;
}

.img02{
	grid-column: 1 / 5;
	grid-row: 1 / 3;
	width: 90%;
	margin: 0 0 0 0;
}
.img03{
	grid-column: 6 / 9;
	grid-row: 1 / 2;
	width: 100%;
	margin: 15vh auto 0;
}
.img04{
	grid-column: 6 / 9;
	grid-row: 1 / 2;
	width: 70%;
	margin: 28vh auto 0;
}
.img05{
	grid-column: 2 / 5;
	grid-row: 1 / 3;
	width: 100%;
	margin: 50vh 0 0 0;
}
.img06{
	grid-column: 1 / 4;
	grid-row: 3 / 5;
	width: 100%;
	margin: 30vh 0 0 0;
}
.img07{
	grid-column: 3 / 7;
	grid-row: 4 / 5;
	width: 80%;
	margin: 35vh 0 0 0;
}
.img08{
	grid-column: 7 / 9;
	grid-row: 3 / 5;
	width: 100%;
	margin: 10vw 0 0 0;
}

.circle{
}
.circle img{
	width: calc(100% - 1px);
	border-radius: 50%;
	object-fit: cover;	
}
.crcl01{
	grid-column: 1 / 3;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 1;
}
.crcl02{
	grid-column: 2 / 4;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 2;
}
.crcl03, .crcl04, .crcl05{
	display: none;
}
.crclbdr img{
	border: 1px #fafbf8 solid;
}
.crclbdr01{
	grid-column: 1 / 3;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 10;
}
.crclbdr02{
	grid-column: 2 / 4;
	grid-row: 1 / 1;
	width: 100%;
	z-index: 10;
}
.crclbdr03, .crclbdr04, .crclbdr05{
	display: none;
}

.grafik{
	grid-column: 1 / 9;
	grid-row: 1 / 1;
	width: 100vw;
	height: 100vh;
	display: grid;
	place-items: center;
	z-index: 999;
	background-color: #bccbd3;
}
.graphic{
	width: 60%;
}

.content{
	margin: 30px 0;
	display: inherit;
}
.content_in{
	width: 100%;
	margin: 15px auto;
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
	display: flex;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: start;
	align-items: start;
}
.column100{
	width: 100%;
}
.column66{
	width: 66.66%;
}
.column50{
	width: 100%;
}
.column33{
	width: 33.33%;
}
.column25{
	width: 50%;
}
.column20{
	width: 20%;
}
.column100 img, .column66 img, .column50 img, .column33 img, .column25 img{
	width: 100%;
	height: auto;
}
.mtop{
	margin-top: 15vw;
}
.ptopbottom{
	padding: 15vw 0;
}
.mobilemtop{
	margin-top: 20vw;
}
.empty {
	display: none;
}

#about{
	width: calc(60vw + 10px);
	margin: 15vw auto 0;
}

.texts{
	width: 80%;
}
.slide{
	margin-bottom: 10vw;
}


dl {
	width: 80%;
	margin: 0 auto;
	border-top: none;
	border-bottom: none;
}
dl dt{
	width: 50%;
	float: left;
	clear: both;
	padding: .5em 0;
}
dl dd{
	width: 50%;
	padding: .5em 0 .5em 50%;
	border-bottom: 1px solid #000000;
	text-align: right;
}
dl dd:last-child {
	border-bottom: none;
}


table {
	margin: 0;
	padding: 0;
	width: 100%;
	table-layout: fixed;
}
table caption {
}
table tr {
	border-bottom: 1px solid #000000;
	padding: .3em;
}
table tr:last-child {
	border-bottom: none;
}
table th,
table td {
	padding: .5em;
}
table th {
}
.role {
	width: 15%
}
.iglink{
	width: 40%
}

/* Reservation */
.statement .statement-wrap{
	font-size: 2.8vw;
	line-height: 1.9em;
	padding: 4vw 5vw;
	width: 75vw;
}
/* Close button */
.statement .statement-overlay .close{
	position: absolute;
	right: 1vw;
	top: 1vw;
	font-size: 6vw;
	width: 20px;
	height: 20px;
}
}