@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: 2.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%;
}

.clearfix {
	zoom: 1;
}

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

.site {
	align-items: center;
	background: no-repeat 0 0;
	background-size: cover;
	display: flex;
	height: 115.73333vw;
	justify-content: center;
}

.site .title {
	-webkit-animation: fadeIn 3s ease-in-out;
	        animation: fadeIn 3s ease-in-out;
	font-size: 3.5rem;
	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: 6.6rem;
	letter-spacing: 0.05em;
	padding-bottom: 4%;
}

.site .trademark {
	left: 0;
	margin: 5.06667% 0 0 5.06667%;
	position: fixed;
	top: 0;
	width: 21.06667%;
	z-index: 999;
}

.site .menu {
	margin: 3.73333% 5.06667% 0 auto;
	position: fixed;
	right: 0;
	top: 0;
	width: 8.26667%;
	z-index: 999;
}

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

#home .site .title {
	-webkit-animation: none;
	        animation: none;
	left: 0;
	margin: 71.46667% 0 0 11.2%;
	position: absolute;
	top: 0;
	width: 65.86667%;
}

#home .site .lead {
	font-size: 2.2rem;
	left: 0;
	letter-spacing: 0.12em;
	margin: 97.86667% 11.2% 0;
	position: absolute;
	right: 0;
	top: 0;
}

#home.loading .site > *:not(.menu) {
	opacity: 0;
}

#home.loaded .site > *:not(.menu) {
	-webkit-animation: loaded 3s ease-in-out forwards;
	        animation: loaded 3s ease-in-out 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@sp.jpg");
}

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

.navi {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	height: 0;
	left: 0;
	padding-top: 12%;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: -1000;
}

.navi::after {
	background: #030303 url("../img/nv_bg_wall@sp.png") no-repeat 0 0;
	background-size: 100% auto;
	bottom: 0;
	content: '';
	height: 100%;
	left: 0;
	opacity: 0;
	position: fixed;
	right: 0;
	top: 0;
	transition: opacity 0.5s;
	width: 100%;
	z-index: -1;
}

.navi .close {
	margin: 3.73333% 5.06667% 0 auto;
	position: absolute;
	right: 0;
	top: 0;
	width: 8.26667%;
}

.navi .menu {
	display: none;
	margin: 0 auto;
	opacity: 0;
	padding-bottom: 12.53333%;
	width: 80%;
	z-index: 1;
}

.navi .menu .index {
	padding-top: 10.33333%;
	text-align: center;
}

.navi .menu .index li {
	font-size: 4rem;
	letter-spacing: 0.05em;
	padding-top: 20%;
}

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

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

.navi .menu .media {
	display: flex;
	justify-content: space-between;
	padding: 20.33333% 17.66667% 0;
}

.navi .menu .media .pp {
	width: 43.29897%;
}

.navi .menu .media .ig {
	width: 11.34021%;
}

.navi .menu .contact {
	border-top: solid 2px #fff;
	margin-top: 22%;
	padding: 18.66667% 12% 0;
}

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

.navi .menu .contact .address dd {
	font-size: 2.8rem;
	letter-spacing: 0.1em;
	line-height: 2.1;
	padding-top: 2.33333%;
}

.navi .menu .contact .telephone {
	display: flex;
	font-size: 4.6rem;
	margin-top: 3.66667%;
}

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

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

.navi .menu .contact .telephone a {
	color: inherit;
	text-decoration: none;
}

.navi.open {
	background-color: transparent;
	bottom: 0;
	height: 100%;
	overflow: auto;
	position: fixed;
	z-index: 1000;
}

.navi.open::after {
	opacity: 1;
}

.navi.open .toggle {
	background-position: 0 100%;
}

.navi.open .menu {
	display: block;
	opacity: 1;
}

.contents {
	padding-bottom: 28%;
}

.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 .label {
	font-size: 2.6rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	text-align: center;
}

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

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

#home .contents .introduction .movie {
	margin-top: 9.06667%;
	position: relative;
}

#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: 2.4rem;
	letter-spacing: 0.1em;
	line-height: 1.6;
	padding-top: 8.8%;
	text-align: center;
}

#home .contents .information {
	padding-top: 14.66667%;
}

#home .contents .information .topics {
	margin-top: 14.13333%;
}

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

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

#home .contents .information .topics .list li {
	width: 100%;
}

#home .contents .information .topics .list li a {
	color: inherit;
	display: block;
	margin: 0 auto;
	position: relative;
	text-decoration: none;
	width: 90.66667%;
}

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

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

#home .contents .information .topics .pages {
	display: flex;
	justify-content: center;
	padding-top: 9.33333%;
}

#home .contents .information .topics .pages .bullet {
	background-color: #fff;
	height: 0;
	margin: 0 3.73333%;
	opacity: 1;
	padding-top: 2.4%;
	width: 2.4%;
}

#home .contents .information .topics .pages .bullet.swiper-pagination-bullet-active {
	background-color: #ffcc3b;
}

#home .contents .system {
	background: url("../img/hm_bg_system@sp.jpg") no-repeat 0 0;
	background-size: cover;
	margin-top: 28.26667%;
	min-height: 178.66667vw;
	padding-top: 11.2%;
}

#home .contents .system .label {
	margin-bottom: 10.4%;
}

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

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

#home .contents .system .table th {
	font-size: 3.2rem;
	font-weight: 400;
	padding-left: 3.18841%;
	text-align: left;
	width: 63.76812%;
}

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

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

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

#home .contents .system .drink {
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin: 0 auto;
	padding-top: 6.66667%;
	width: 92%;
}

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

#home .contents .system .fee li {
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	line-height: 1.6;
	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.2em;
	line-height: inherit;
	position: absolute;
	top: 0.3em;
	-webkit-transform: scale(0.3);
	        transform: scale(0.3);
	width: 1em;
}

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

#home .contents .system .more a {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	align-items: center;
	color: inherit;
	display: flex;
	font-family: 'Libre Baskerville', serif;
	font-size: 2.5rem;
	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: 14.66667%;
}

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

#home .contents .recruit .prop::before {
	background: url("../img/hm_bg_recruit.jpg") no-repeat 0 0;
	background-size: 100% auto;
	content: '';
	display: block;
	height: 0;
	padding-top: 66.4%;
	width: 100%;
}

#home .contents .recruit .prop .more dt {
	font-size: 2.8rem;
	letter-spacing: 0.1em;
	line-height: 3.4;
	padding: 7.46667% 6.13333% 0;
}

#home .contents .recruit .prop .more dd {
	border: solid 1px #fff;
	height: 12.8vw;
	margin: 6.93333% auto 0;
	width: 45.33333%;
}

#home .contents .recruit .prop .more dd a {
	align-items: center;
	color: inherit;
	display: flex;
	font-size: 2.8rem;
	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: 14.66667%;
}

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

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

#home .contents .access .more {
	border: solid 1px #fff;
	height: 12.8vw;
	margin: 12% auto 0;
	width: 45.33333%;
}

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

#home .contents .access .more a {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	align-items: center;
	color: inherit;
	display: flex;
	font-size: 2.8rem;
	height: 100%;
	justify-content: center;
	letter-spacing: 0.1em;
	text-decoration: none;
	width: 100%;
}

#home .contents .access .more 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;
}

#home .contents .access .more a:hover {
	background-color: #585554;
}

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

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

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

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

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

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

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

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

#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.3;
	vertical-align: top;
}

#system .contents .table.detail th {
	padding: 3.91566% 0 3.91566% 3.01205%;
	width: 29.21687%;
}

#system .contents .table.detail td {
	padding: 3.91566% 3.01205% 3.91566%;
}

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

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

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

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

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

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

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

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

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

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

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

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

#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.94rem;
	letter-spacing: 0.1em;
	line-height: 1.8;
	padding: 2.10843% 2.10843% 0;
}

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

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

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

#recruit .contents .table tr > * {
	letter-spacing: 0.1em;
	line-height: 2.15;
	padding: 4.51807% 0;
}

#recruit .contents .table th {
	font-size: 3rem;
	font-weight: 400;
	padding-left: 1.50602%;
	position: relative;
	text-align: left;
}

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

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

#recruit .contents .table td {
	font-size: 2.4rem;
	padding-right: 1.50602%;
	width: 73.19277%;
}

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

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

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

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

#recruit .contents .table td.wage dl > * {
	display: inline-block;
	font-size: 2.4rem;
	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: 3.6rem;
}

#recruit .contents .table td.wage p {
	letter-spacing: 0.1em;
	line-height: inherit;
}

#recruit .contents .table td .map {
	border: solid 1px #fff;
	height: 8.53333vw;
	margin-top: 3.78151%;
	width: 47.89916%;
}

#recruit .contents .table td .map a {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	align-items: center;
	color: inherit;
	display: flex;
	font-size: 2rem;
	height: 100%;
	justify-content: center;
	letter-spacing: 0.1em;
	text-decoration: none;
	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: 9.33333vw;
	margin: 0 auto;
	margin-top: 8.26667%;
	width: 88.53333%;
}

#recruit .contents .entry a {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	align-items: center;
	background-color: #bc9249;
	color: inherit;
	display: flex;
	font-size: 2.4rem;
	height: 100%;
	justify-content: center;
	letter-spacing: 0.1em;
	text-decoration: none;
	width: 100%;
}

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

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

.publication {
	border-top: solid 1px #858381;
	padding-top: 13.6%;
}

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

.publication a {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.publication .contact {
	padding: 0 12.8%;
}

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

.publication .contact .address dd {
	font-size: 3.4rem;
	letter-spacing: 0.1em;
	line-height: 2.2;
	padding-top: 7.58123%;
}

.publication .contact .telephone {
	display: flex;
	font-size: 5.6rem;
	margin-top: 7.58123%;
}

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

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

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

.publication .map {
	border: solid 1px #fff;
	height: 12.8vw;
	margin: 12.8% auto 0;
	width: 45.33333%;
}

#home .publication .map {
	display: none;
}

.publication .map a {
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	align-items: center;
	color: inherit;
	display: flex;
	font-size: 2.8rem;
	height: 100%;
	justify-content: center;
	letter-spacing: 0.1em;
	text-decoration: none;
	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: space-between;
	margin-top: 12.8%;
	padding: 0 29.86667%;
}

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

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

.publication .rights {
	border-top: solid 1px #858381;
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	margin-top: 13.6%;
	padding: 9.06667% 1em;
	text-align: center;
}

@media screen and (max-width: 428px) {
	html {
		font-size: 31.8%;
	}
}

@media screen and (max-width: 320px) {
	html {
		font-size: 24%;
	}
}
