@charset "UTF-8";
@font-face {
	font-family: 'Noto Serif JP';
	font-style: normal;
	font-weight: 400;
	src: url("fonts/NotoSerifJP-Regular.otf") format("opentype");
}

@font-face {
	font-family: 'Noto Serif JP';
	font-style: normal;
	font-weight: 500;
	src: url("fonts/NotoSerifJP-Regular.otf") format("opentype");
}

@font-face {
	font-family: 'Libre Baskerville';
	font-style: normal;
	font-weight: 400;
	src: url("fonts/LibreBaskerville-Regular.ttf") format("truetype");
}

* {
	font-size: inherit;
}

hr {
	display: none;
}

body, header, main, footer, section, article, aside, nav,
address, div, h1, h2, h3, h4, h5, h6, p, hr,
ul, ol, li, dl, dt, dd, table, th, td, figure, figcaption {
	box-sizing: border-box;
	line-height: 1;
	margin: 0;
	padding: 0;
}

header, main, footer, section, article, aside, nav, figure {
	display: block;
}

html {
	font-size: 62.5%;
}

body {
	-webkit-text-size-adjust: 100%;
	-webkit-font-feature-settings: 'palt' 1;
	        font-feature-settings: 'palt' 1;
	word-wrap: break-word;
	background-color: #34302d;
	color: #fff;
	font-family: 'Noto Serif JP', serif;
	font-size: 2rem;
	overflow-wrap: break-word;
}

address {
	font-style: normal;
}

table {
	border-collapse: collapse;
}

table, th, td, img, iframe {
	border: none;
}

li {
	list-style: none;
}

img {
	height: auto;
	vertical-align: top;
	width: 100%;
}

a:link, a:visited {
	text-decoration: underline;
}

a:hover, a:active {
	text-decoration: none;
}

.clearfix {
	zoom: 1;
}

.clearfix::after {
	clear: both;
	content: '';
	display: block;
}

.site {
	align-items: center;
	background: no-repeat 0 100%;
	background-size: 100% auto;
	display: flex;
	height: 19.28571vw;
	justify-content: center;
	padding-top: 6.42857%;
}

.site .title {
	-webkit-animation: fadeIn 3s ease-in-out;
	        animation: fadeIn 3s ease-in-out;
	font-size: 1.8rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	text-align: center;
	width: 100%;
}

@-webkit-keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.site .title span {
	display: block;
	font-family: 'Libre Baskerville', serif;
	font-size: 3.3rem;
	letter-spacing: 0.05em;
	padding-bottom: 1%;
}

.site .trademark {
	left: 0;
	margin: 1.71429% 0 0 8.14286%;
	position: fixed;
	top: 0;
	width: 11.57143%;
}

.site .menu {
	display: none;
}

#home .site {
	background-image: url("../img/st_bg_home02@pc.jpg");
	display: block;
	height: 0;
	padding-top: 47.14286%;
	position: relative;
}

#home .site .title {
	-webkit-animation: none;
	        animation: none;
	left: 0;
	margin: 28.28571% 0 0 17%;
	position: absolute;
	top: 0;
	width: 33.85714%;
	z-index: 2;
}

#home .site .lead {
	font-size: 1.6rem;
	left: 0;
	letter-spacing: 0.1em;
	margin: 41.85714% 0 0 17.14286%;
	position: absolute;
	top: 0;
	z-index: 2;
}

#home .site::before {
	background: url("../img/st_txt_scroll@pc.png") no-repeat 0 0;
	background-size: 100% auto;
	bottom: 0;
	content: '';
	display: block;
	height: 0;
	left: 0;
	margin: 0 0 4.14286% 7.85714%;
	padding-top: 6.85714%;
	position: absolute;
	width: 0.85714%;
	z-index: 2;
}

#home .site::after {
	background: url("../img/st_bg_home01@pc.jpg") no-repeat 0 0;
	background-size: 100% auto;
	bottom: 0;
	content: '';
	display: block;
	height: 100%;
	left: 0;
	opacity: 1;
	position: absolute;
	right: 0;
	top: 0;
	transition: opacity 5s;
	width: 100%;
	z-index: 1;
}

#home .site.hover::after {
	opacity: 0;
}

#home.loading .site > *, #home.loading .site::before {
	opacity: 0;
}

#home.loaded .site > * {
	-webkit-animation: loaded 3s ease-in-out forwards;
	        animation: loaded 3s ease-in-out forwards;
}

#home.loaded .site::before {
	-webkit-animation: loaded 3s ease-in-out 0.8s forwards;
	        animation: loaded 3s ease-in-out 0.8s forwards;
}

@-webkit-keyframes loaded {
	0% {
		-webkit-filter: blur(10px);
		        filter: blur(10px);
		opacity: 0;
	}
	100% {
		-webkit-filter: blur(0);
		        filter: blur(0);
		opacity: 1;
	}
}

@keyframes loaded {
	0% {
		-webkit-filter: blur(10px);
		        filter: blur(10px);
		opacity: 0;
	}
	100% {
		-webkit-filter: blur(0);
		        filter: blur(0);
		opacity: 1;
	}
}

#system .site {
	background-image: url("../img/st_bg_system@pc.jpg");
}

#recruit .site {
	background-image: url("../img/st_bg_recruit@pc.jpg");
}

.navi {
	align-items: center;
	display: flex;
	height: 6.42857vw;
	justify-content: flex-end;
	position: fixed;
	right: 0;
	top: 0;
	width: 80.28571%;
	z-index: 1000;
}

.navi .close {
	display: none;
}

.navi .menu {
	padding: 0 9.96441%;
	width: 80.28571%;
}

.navi .menu .index {
	letter-spacing: -0.4em;
	text-align: right;
	white-space: nowrap;
}

.navi .menu .index li {
	display: inline-block;
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	padding-left: 4.66667%;
}

.navi .menu .index li:first-of-type {
	padding-left: 0;
}

.navi .menu .index li a {
	color: inherit;
	text-decoration: none;
}

.navi .menu .index li a:hover {
	color: #979797;
	transition: color 0.5s;
}

.navi .menu .index li a:active {
	color: #ffa700;
	transition: color 0.1s;
}

.navi .menu .index li a.active {
	pointer-events: none;
	position: relative;
	transition: none;
}

.navi .menu .index li a.active:hover, .navi .menu .index li a.active:active {
	color: inherit;
}

.navi .menu .index li a.active::after {
	background-color: #fff;
	content: '';
	display: block;
	height: 1px;
	left: 0;
	position: absolute;
	right: 0;
	top: 1.2em;
	width: 100%;
}

.navi .menu .media, .navi .menu .contact {
	display: none;
}

.contents {
	padding-bottom: 10.71429%;
}

.contents.init .p-a-b {
	opacity: 0;
	-webkit-transform: translateY(60px);
	        transform: translateY(60px);
}

.contents.init .p-a-b.inview {
	opacity: 1;
	-webkit-transform: translateY(0);
	        transform: translateY(0);
	transition: opacity 0.6s ease-in-out 0.2s, -webkit-transform 0.6s ease-in-out;
	transition: opacity 0.6s ease-in-out 0.2s, transform 0.6s ease-in-out;
	transition: opacity 0.6s ease-in-out 0.2s, transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out;
}

#home .contents {
	padding-bottom: 0;
}

#home .contents .label {
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.2em;
	text-align: center;
}

#home .contents .label span {
	display: block;
	font-family: 'Libre Baskerville', serif;
	font-size: 3rem;
	letter-spacing: 0.05em;
	padding-bottom: 0.85714%;
}

#home .contents .introduction {
	padding-top: 8.57143%;
}

#home .contents .introduction .movie {
	margin: 5% auto 0;
	position: relative;
	width: 67.14286%;
}

#home .contents .introduction .movie::after {
	content: '';
	display: block;
	padding-top: 56.25%;
	width: 100%;
}

#home .contents .introduction .movie iframe {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

#home .contents .introduction .text {
	font-size: 2rem;
	letter-spacing: 0.1em;
	line-height: 2.2;
	padding-top: 5%;
	text-align: center;
}

#home .contents .information {
	padding: 8.57143% 0;
}

#home .contents .information .topics {
	margin-top: 3.57143%;
	padding-bottom: 3.28571%;
	position: relative;
}

#home .contents .information .topics .ctrl {
	background-color: rgba(255, 255, 255, 0.2);
	background-repeat: no-repeat;
	background-size: 27.27273% auto;
	border: solid 1px #fff;
	border-radius: 50%;
	cursor: pointer;
	height: 0;
	margin-top: 11.57143%;
	padding-top: 4.71429%;
	position: absolute;
	top: 0;
	transition: background-color 0.5s;
	width: 4.71429%;
	z-index: 2;
}

#home .contents .information .topics .ctrl:hover {
	background-color: rgba(255, 255, 255, 0.5);
}

#home .contents .information .topics .ctrl.prev {
	background-image: url("../img/hn_btn_prev.svg");
	background-position: 42% 50%;
	left: 0;
	margin-left: 5.28571%;
}

#home .contents .information .topics .ctrl.next {
	background-image: url("../img/hn_btn_next.svg");
	background-position: 58% 50%;
	margin-right: 5.28571%;
	right: 0;
}

#home .contents .information .topics .list {
	display: flex;
}

#home .contents .information .topics .list li {
	margin: 0 2.85714%;
	width: 24.28571%;
}

#home .contents .information .topics .list li a {
	color: inherit;
	display: block;
	position: relative;
	text-decoration: none;
}

#home .contents .information .topics .list li a::before {
	background-color: #fff;
	content: '';
	display: block;
	height: 0;
	left: 0;
	opacity: 0;
	padding-top: 111.76471%;
	position: absolute;
	top: 0;
	transition: opacity 0.5s;
	width: 100%;
}

#home .contents .information .topics .list li a:hover::before {
	opacity: 0.4;
}

#home .contents .information .topics .list li a figcaption {
	font-size: 1.4rem;
	letter-spacing: 0.15em;
	margin-top: 4.11765%;
	text-align: right;
}

#home .contents .information .topics .pages {
	display: none;
}

#home .contents .system {
	background: url("../img/hm_bg_system@pc.jpg") no-repeat 0 0;
	background-size: cover;
	min-height: 66.85714vw;
}

#home .contents .system .label {
	margin-bottom: 2.85714%;
	padding-top: 6.42857%;
}

#home .contents .system .table {
	border-bottom: solid 1px #fff;
	border-top: solid 1px #fff;
	margin: 0 auto;
	width: 37.85714%;
}

#home .contents .system .table tr > * {
	letter-spacing: 0.1em;
	padding: 5.09434% 1em;
}

#home .contents .system .table th {
	font-size: 2rem;
	font-weight: 400;
	padding-left: 7.54717%;
	text-align: left;
	width: 60.37736%;
}

#home .contents .system .table td {
	font-size: 2.4rem;
	padding-right: 7.54717%;
	text-align: right;
}

#home .contents .system .table tr:first-of-type > * {
	padding-top: 7.54717%;
}

#home .contents .system .table tr:last-of-type > * {
	padding-bottom: 7.54717%;
}

#home .contents .system .drink {
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	line-height: 1.71;
	margin: 0 auto;
	padding-top: 2.14286%;
	width: 37.85714%;
}

#home .contents .system .fee {
	margin: 0 auto;
	width: 37.85714%;
}

#home .contents .system .fee li {
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	line-height: 1.71;
	margin-top: 1.88679%;
	padding-left: 1em;
	position: relative;
}

#home .contents .system .fee li::before {
	background-color: #fff;
	border-radius: 0.5em;
	content: '';
	font-size: inherit;
	height: 1em;
	left: -0.1em;
	line-height: inherit;
	position: absolute;
	top: 0.3em;
	-webkit-transform: scale(0.5);
	        transform: scale(0.5);
	width: 1em;
}

#home .contents .system .more {
	border: solid 1px #fff;
	border-radius: 3.42857vw;
	height: 6.85714vw;
	margin: 3.71429% auto 0;
	overflow: hidden;
	width: 6.85714vw;
}

#home .contents .system .more a {
	align-items: center;
	color: inherit;
	display: flex;
	font-family: 'Libre Baskerville', serif;
	font-size: 1.8rem;
	height: 100%;
	justify-content: center;
	letter-spacing: 0.05em;
	text-decoration: none;
	transition: background-color 0.5s;
	width: 100%;
}

#home .contents .system .more a:hover {
	background-color: rgba(255, 255, 255, 0.2);
}

#home .contents .recruit {
	padding-top: 8.57143%;
}

#home .contents .recruit .prop {
	background: url("../img/hm_bg_recruit.jpg") no-repeat 100% 0;
	background-size: 60.20833% auto;
	margin: 4.42857% auto 0;
	min-height: 27.42857vw;
	width: 68.57143%;
}

#home .contents .recruit .prop .more {
	padding-top: 12.08333%;
}

#home .contents .recruit .prop .more dt {
	letter-spacing: 0.1em;
	line-height: 2.4;
}

#home .contents .recruit .prop .more dd {
	border: solid 1px #fff;
	height: 3.42857vw;
	margin-top: 3.75%;
	width: 17.70833%;
}

#home .contents .recruit .prop .more dd a {
	align-items: center;
	color: inherit;
	display: flex;
	font-size: 1.4rem;
	height: 100%;
	justify-content: center;
	letter-spacing: 0.22em;
	text-decoration: none;
	transition: background-color 0.5s;
	width: 100%;
}

#home .contents .recruit .prop .more dd a:hover {
	background-color: rgba(255, 255, 255, 0.2);
}

#home .contents .access {
	padding-top: 8.57143%;
}

#home .contents .access .map {
	height: 0;
	margin-top: 5.14286%;
	overflow: hidden;
	padding-top: 23.42857%;
	position: relative;
}

#home .contents .access .map iframe {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

#home .contents .access .more {
	display: none;
}

#system .contents .label {
	font-size: 2.8rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	margin: 0 auto;
	padding-top: 7%;
	text-align: center;
	width: 44.28571%;
}

#system .contents .label + .table {
	margin-top: 3.14286%;
}

#system .contents .table {
	border-bottom: solid 1px #fff;
	border-top: solid 1px #fff;
	margin: 0 auto;
	width: 44.28571%;
}

#system .contents .table th {
	font-size: 2rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	padding: 4.19355% 1em 4.19355% 12.90323%;
	text-align: left;
}

#system .contents .table td {
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	padding: 4.19355% 0 4.19355%;
}

#system .contents .table tr:first-of-type > * {
	padding-top: 6.45161%;
}

#system .contents .table tr:last-of-type > * {
	padding-bottom: 6.45161%;
}

#system .contents .table.price td {
	width: 29.03226%;
}

#system .contents .table.price:nth-of-type(2) {
	border-bottom: none;
	position: relative;
}

#system .contents .table.price:nth-of-type(2)::after {
	border-bottom: dotted 3px #fff;
	bottom: 0;
	content: '';
	display: block;
	height: 2px;
	left: 0;
	position: absolute;
	right: 0;
}

#system .contents .table.detail tr > * {
	line-height: 1.5;
	vertical-align: top;
}

#system .contents .table.detail th {
	padding: 3.87097% 0 3.87097% 3.22581%;
	width: 29.03226%;
}

#system .contents .table.detail td {
	font-size: 2rem;
	padding: 3.87097% 3.22581% 3.87097%;
}

#system .contents .table.detail tr:first-of-type > * {
	padding-top: 5.80645%;
}

#system .contents .table.detail tr:last-of-type > * {
	padding-bottom: 5.80645%;
}

#system .contents .fee {
	letter-spacing: 0.1em;
	margin: 0 auto;
	padding: 2.71429% 0;
	text-align: center;
	width: 44.28571%;
}

#system .contents .payment {
	margin: 0 auto;
	width: 44.28571%;
}

#system .contents .payment dt {
	letter-spacing: 0.1em;
	padding: 5.80645% 0 6.77419%;
	text-align: center;
}

#system .contents .payment dd {
	border-bottom: solid 1px #fff;
	border-top: solid 1px #fff;
	padding: 7.09677% 0;
}

#recruit .contents .preface {
	font-size: 2.2rem;
	font-weight: 400;
	letter-spacing: 0.075em;
	line-height: 2.88;
	margin: 0 auto;
	padding: 5.85714% 0 5.42857%;
	text-align: center;
	width: 44.28571%;
}

#recruit .contents .point {
	margin: 0 auto;
	width: 44.28571%;
}

#recruit .contents .point::before {
	background-color: #fff;
	content: '';
	display: block;
	height: 1px;
}

#recruit .contents .point li {
	border-bottom: solid 1px #fff;
	padding: 3.22581% 0 7.09677%;
}

#recruit .contents .point li dl dt {
	margin: 0 1.93548%;
	width: 23.22581%;
}

#recruit .contents .point li dl dd {
	font-size: 3rem;
	letter-spacing: 0.1em;
	line-height: 1.2;
	margin-top: 3.54839%;
	padding: 0 1.29032%;
}

#recruit .contents .point li dl dd span {
	position: relative;
}

#recruit .contents .point li dl dd span::after {
	background-color: #bc9249;
	border-radius: 0.2em;
	content: '';
	display: block;
	font-size: 0.4em;
	height: 0.4em;
	left: 0;
	margin: 0 auto;
	position: absolute;
	right: 0;
	top: -0.1em;
	width: 0.4em;
}

#recruit .contents .point li p {
	font-size: 1.6rem;
	letter-spacing: 0.1em;
	line-height: 1.8;
	padding: 3.22581% 1.29032% 0;
}

#recruit .contents .label {
	font-size: 2.8rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	margin: 0 auto;
	padding-top: 7%;
	text-align: center;
	width: 44.28571%;
}

#recruit .contents .label + .table {
	margin-top: 3.14286%;
}

#recruit .contents .table {
	border-bottom: solid 1px #fff;
	border-top: solid 1px #fff;
	margin: 0 auto;
	width: 44.28571%;
}

#recruit .contents .table tr {
	position: relative;
}

#recruit .contents .table tr::after {
	border-bottom: dotted 3px #fff;
	bottom: 0;
	content: '';
	display: block;
	height: 2px;
	left: 0;
	position: absolute;
	right: 0;
}

#recruit .contents .table tr:last-of-type::after {
	content: none;
}

#recruit .contents .table tr > * {
	font-size: 1.8rem;
	letter-spacing: 0.1em;
	line-height: 2.22;
	padding: 4.83871% 0;
}

#recruit .contents .table th {
	font-weight: 400;
	padding-left: 1.6129%;
	text-align: left;
}

#recruit .contents .table td {
	padding-right: 1.6129%;
	width: 74.19355%;
}

#recruit .contents .table td dl {
	line-height: inherit;
}

#recruit .contents .table td dl * {
	line-height: inherit;
}

#recruit .contents .table td dl dd {
	padding-top: 1.77778%;
}

#recruit .contents .table td.wage dl {
	font-size: 0;
	padding-top: 6.22222%;
}

#recruit .contents .table td.wage dl:first-of-type {
	padding-top: 0;
}

#recruit .contents .table td.wage dl > * {
	display: inline-block;
	font-size: 2rem;
	line-height: normal;
}

#recruit .contents .table td.wage dl dt {
	padding-right: 1em;
}

#recruit .contents .table td.wage dl dd {
	padding-top: 0;
}

#recruit .contents .table td.wage dl span {
	font-size: 3rem;
}

#recruit .contents .table td.wage p {
	font-size: 2rem;
	letter-spacing: 0.1em;
	line-height: inherit;
	padding-top: 4.44444%;
}

#recruit .contents .table td .map {
	border: solid 1px #fff;
	height: 3.42857vw;
	margin-top: 4%;
	width: 37.77778%;
}

#recruit .contents .table td .map a {
	align-items: center;
	color: inherit;
	display: flex;
	font-size: 1.4rem;
	height: 100%;
	justify-content: center;
	letter-spacing: 0.1em;
	text-decoration: none;
	transition: background-color 0.5s;
	width: 100%;
}

#recruit .contents .table td .map a::after {
	background: url("../img/cmn_ico_blank.svg") no-repeat 100% 50%;
	background-size: 70% auto;
	content: '';
	display: block;
	height: 1em;
	margin-left: 0.2em;
	width: 1em;
}

#recruit .contents .table td .map a:hover {
	background-color: #585554;
}

#recruit .contents .entry {
	height: 4.71429vw;
	margin: 0 auto;
	margin-top: 4.28571%;
	width: 44.28571%;
}

#recruit .contents .entry a {
	align-items: center;
	background-color: #bc9249;
	color: inherit;
	display: flex;
	height: 100%;
	justify-content: center;
	letter-spacing: 0.05em;
	text-decoration: none;
	transition: background-color 0.5s;
	width: 100%;
}

#recruit .contents .entry a::after {
	background: url("../img/cmn_ico_blank.svg") no-repeat 100% 50%;
	background-size: 70% auto;
	content: '';
	display: block;
	height: 1em;
	margin-left: 0.2em;
	width: 1em;
}

#recruit .contents .entry a:hover {
	background-color: #ffa700;
}

.publication {
	align-items: flex-end;
	border-top: solid 1px #858381;
	display: flex;
	flex-wrap: wrap;
	padding-top: 4.57143%;
	position: relative;
}

#home .publication {
	border-top: none;
}

.publication .contact {
	padding-left: 16.14286%;
	width: 50%;
}

.publication .contact .address dt {
	font-family: 'Libre Baskerville';
	font-size: 3rem;
	letter-spacing: 0.05em;
}

.publication .contact .address dd {
	font-size: 1.8rem;
	letter-spacing: 0.1em;
	line-height: 2.1;
	padding-top: 4.64135%;
}

.publication .contact .telephone {
	cursor: text;
	display: flex;
	font-size: 3rem;
	margin-top: 4.64135%;
}

.publication .contact .telephone dt, .publication .contact .telephone dd {
	letter-spacing: 0.1em;
}

.publication .contact .telephone dt::after {
	content: '：';
}

.publication .contact .telephone a {
	color: inherit;
	pointer-events: none;
	text-decoration: none;
}

.publication .map {
	border: solid 1px #fff;
	height: 3.42857vw;
	margin: 4.57143% 16.14286% 0 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 12.14286%;
}

.publication .map a {
	align-items: center;
	color: inherit;
	display: flex;
	font-size: 1.4rem;
	height: 100%;
	justify-content: center;
	letter-spacing: 0.1em;
	text-decoration: none;
	transition: background-color 0.5s;
	width: 100%;
}

.publication .map a::after {
	background: url("../img/cmn_ico_blank.svg") no-repeat 100% 50%;
	background-size: 70% auto;
	content: '';
	display: block;
	height: 1em;
	margin-left: 0.2em;
	width: 1em;
}

.publication .map a:hover {
	background-color: #585554;
}

.publication .media {
	display: flex;
	justify-content: flex-end;
	padding-right: 16.14286%;
	width: 50%;
}

.publication .media li {
	margin-left: 8.43882%;
}

.publication .media li:first-of-type {
	margin-left: 0;
}

.publication .media .pp {
	width: 19.40928%;
}

.publication .media .ig {
	width: 5.06329%;
}

.publication .rights {
	border-top: solid 1px #858381;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	margin-top: 3.85714%;
	padding: 2.42857%;
	text-align: center;
	width: 100%;
}
