@charset "UTF-8";
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}
body {
	margin: 0;
}
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}
a {
	background-color: transparent;
}
abbr[title] {
	border-bottom: none;
	/* 1 */
	text-decoration: underline;
	/* 2 */
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted;
	/* 2 */
}
b,
strong {
	font-weight: bolder;
}
code,
kbd,
samp {
	font-family: monospace, monospace;
	/* 1 */
	font-size: 1em;
	/* 2 */
}
small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}
img {
	border-style: none;
}
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	/* 1 */
	font-size: 100%;
	/* 1 */
	line-height: 1.15;
	/* 1 */
	margin: 0;
	/* 2 */
}
button,
input {
	/* 1 */
	overflow: visible;
}
button,
select {
	/* 1 */
	text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}
fieldset {
	padding: 0.35em 0.75em 0.625em;
}
legend {
	box-sizing: border-box;
	/* 1 */
	color: inherit;
	/* 2 */
	display: table;
	/* 1 */
	max-width: 100%;
	/* 1 */
	padding: 0;
	/* 3 */
	white-space: normal;
	/* 1 */
}
progress {
	vertical-align: baseline;
}
textarea {
	overflow: auto;
}
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	/* 1 */
	padding: 0;
	/* 2 */
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}
[type="search"] {
	-webkit-appearance: textfield;
	/* 1 */
	outline-offset: -2px;
	/* 2 */
}
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}
::-webkit-file-upload-button {
	-webkit-appearance: button;
	/* 1 */
	font: inherit;
	/* 2 */
}
details {
	display: block;
}
summary {
	display: list-item;
}
template {
	display: none;
}
[hidden] {
	display: none;
}
*,
*:before,
*:after {
	box-sizing: inherit;
}

html {
	height: 100%;
	font-size: 62.5%;
	box-sizing: border-box;
}

body {
	font-size: 1.4rem;
	letter-spacing: 0.06em;
	line-height: 1.7;
	color: #333;
	font-family:
		"游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN",
		"Sawarabi Mincho", "HG明朝E", Meiryo, serif;
	font-weight: 400;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: auto;
	-webkit-font-kerning: normal;
	font-kerning: normal;
	height: 100%;
	background-color: #fff;
}
@media screen and (min-width: 768px) {
	body {
		font-size: 1.5rem;
	}
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: inherit;
	font-weight: 400;
	line-height: 1.4;
	color: inherit;
}

p {
	-webkit-margin-before: 0em;
	margin-block-start: 0em;
	-webkit-margin-after: 1em;
	margin-block-end: 1em;
}

ul,
ol {
	padding-left: 0em;
	list-style: none;
}
li > ul,
li > ol {
	margin-bottom: 0;
}
dd {
	margin-left: 0;
}

table {
	width: 100%;
}

th {
	text-align: left;
}

a {
	text-decoration: none;
	color: #333;
}
a:focus {
	outline: none;
}
img {
	vertical-align: bottom;
}
i,
cite,
em,
address,
dfn {
	font-style: normal;
}

code,
pre {
	font-family: Consolas, Menlo, Courier, monospace;
}

code {
	padding: 0.2em;
	border-radius: 3px;
	font-size: 0.8em;
	background-color: rgba(0, 0, 0, 0.06);
}

pre code {
	padding: 0;
	font-size: 0.8em;
	background-color: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
li,
dl,
dt,
dd,
blockquote,
p,
address,
hr,
table,
fieldset,
figure,
pre {
	margin-top: 0;
	margin-bottom: 0;
}
/* loader */
.loader {
	position: fixed;
	z-index: 5;
	top: 0;
	right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: black;
}
.is-loaded .loader {
	-webkit-animation: loader_fadeOut 1.5s cubic-bezier(0, 0, 0.58, 1) forwards
		0.6s;
	animation: loader_fadeOut 1.5s cubic-bezier(0, 0, 0.58, 1) forwards 0.6s;
}

.loader_top {
	position: fixed;
	z-index: 5;
	top: 0;
	right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: black;
}
.is-loaded .loader_top {
	-webkit-animation: loader_fadeOut 1.5s cubic-bezier(0, 0, 0.58, 1) forwards
		2.5s;
	animation: loader_fadeOut 1.5s cubic-bezier(0, 0, 0.58, 1) forwards 2.5s;
}

.is-loaded .loader_logo {
	-webkit-animation:
		loader_fadeIn 1.5s cubic-bezier(0.42, 0, 1, 1) forwards 0.5s,
		reset_zindex 0s cubic-bezier(0.42, 0, 1, 1) forwards 4.5s;
	animation:
		loader_fadeIn 1.5s cubic-bezier(0.42, 0, 1, 1) forwards 0.5s,
		reset_zindex 0s cubic-bezier(0.42, 0, 1, 1) forwards 4.5s;
}

.progress {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 200px;
	height: 1px;
	background: #333333;
}
@media screen and (min-width: 600px) {
	.progress {
		min-width: 270px;
		width: 20%;
	}
}
@media screen and (max-width: 599px) {
	.progress {
		width: 30%;
	}
}
.is-loaded .progress {
	-webkit-animation: loader_fadeOut 0.5s cubic-bezier(0, 0, 0.58, 1) forwards
		0.3s;
	animation: loader_fadeOut 0.5s cubic-bezier(0, 0, 0.58, 1) forwards 0.3s;
}

.progress_inner {
	position: relative;
	width: 100%;
	height: 100%;
}

.progress_bar {
	width: 100%;
	height: 100%;
	background: #ffffff;

	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: 0 50%;
	transform-origin: 0 50%;
	transition: all 10s cubic-bezier(0, 0, 0.58, 1);
}

@-webkit-keyframes loader_fadeIn {
	from {
		opacity: 0;
		visibility: visible;
		-webkit-filter: blur(5px);
		filter: blur(5px);
	}
	to {
		opacity: 1;
		-webkit-filter: none;
		filter: none;
		visibility: visible;
	}
}

@keyframes loader_fadeIn {
	from {
		opacity: 0;
		visibility: visible;
		-webkit-filter: blur(5px);
		filter: blur(5px);
	}
	to {
		opacity: 1;
		-webkit-filter: none;
		filter: none;
		visibility: visible;
	}
}

@-webkit-keyframes loader_fadeOut {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
		visibility: hidden;
	}
}

@keyframes loader_fadeOut {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
		visibility: hidden;
	}
}

@-webkit-keyframes reset_zindex {
	from {
	}
	to {
		z-index: 1;
	}
}

@keyframes reset_zindex {
	from {
	}
	to {
		z-index: 1;
	}
}

/* header */
@media screen and (min-width: 600px) {
	.header {
		overflow: hidden;
		height: 220vh;
		width: 100%;
	}
}

@media screen and (max-width: 599px) {
	.header {
		position: relative;
		height: 220vh;
	}
}

.header-top {
	transition: 1.3s;
	position: relative;
	height: 100vh;
}

.header-bottom {
	transition: 1.3s;
	position: relative;
	height: 120vh;
}

.header_title {
	position: absolute;
	z-index: 6;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	visibility: hidden;
	opacity: 0;
}

.header_title img {
	width: 100%;
}

@media screen and (min-width: 600px) {
	.header_title {
		bottom: 0;
		width: 180px;
		height: 312px;
	}
}
@media screen and (max-width: 599px) {
	.header_title {
		bottom: 0px;
		width: calc(185px / 1);
		height: calc(640px / 2);
	}
}

.header-subpage {
	position: relative;
	overflow: hidden;
	height: 100vh;
	width: 100%;
}

.header_message {
	position: relative;
	z-index: 1;
	color: #fff;
	-webkit-writing-mode: vertical-rl !important;
	-ms-writing-mode: tb-rl !important;
	writing-mode: vertical-rl !important;
	text-orientation: mixed !important;
	text-align: left;
}
@media screen and (min-width: 600px) {
	.header_message {
		top: calc((100vh - 512px) / 2 + 120px);
		width: 520px;
		height: 512px;
		left: calc(50% - 260px);
	}
}
@media screen and (max-width: 599px) {
	.header_message {
		top: calc((100vh - 385px) / 2);
		margin-left: auto;
		margin-right: auto;
	}
}

@media screen and (min-width: 600px) {
	.header_message-title {
		font-size: 2.5rem;
		letter-spacing: 0.15em;
		line-height: 1;
		margin-left: 40px;
		margin-right: 0px;
	}
}

@media screen and (max-width: 599px) {
	.header_message-title {
		font-size: 2.1rem;
		letter-spacing: 0.15em;
		line-height: 1;
		margin-right: 3%;
	}
}

@media screen and (min-width: 600px) {
	.header_message-text {
		font-size: 1.9rem;
		letter-spacing: 0.15em;
		/* line-height: 2.5;*/
	}
}

@media screen and (max-width: 599px) {
	.header_message-text {
		font-size: 1.5rem;
		letter-spacing: 0.15em;
		line-height: 3vw;
	}
}

.header_cursol,
.header_cursol--top {
	font-family: "Lato", sans-serif;
	color: #fff;
	font-size: 1rem;
	position: absolute;
	z-index: 1;
	width: 42px;
	height: 15px;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
}
.header_cursol span,
.header_cursol--top span {
	position: relative;
	top: 0px;
}
.header_cursol span::before,
.header_cursol--top span::before {
	content: "";
	bottom: -25px;
	left: 20px;
	display: inline-block;
	position: absolute;
	background-color: #fff;
	height: 1px;
	width: 18px;
	-webkit-transform: rotate(-42deg);
	transform: rotate(-42deg);
	-webkit-transform-origin: 0px 0px;
	transform-origin: 0px 0px;
}
.header_cursol span::after,
.header_cursol--top span::after {
	content: "";
	position: absolute;
	bottom: -26px;
	left: 20px;
	display: inline-block;
	background-color: #fff;
	height: 1px;
	width: 18px;
	-webkit-transform: rotate(-138deg);
	transform: rotate(-138deg);
	-webkit-transform-origin: 0px 0px;
	transform-origin: 0px 0px;
}
@media screen and (min-width: 600px) {
	.header_cursol,
	.header_cursol--top {
		bottom: 60px;
	}
}
@media screen and (max-width: 599px) {
	.header_cursol,
	.header_cursol--top {
		bottom: 40px;
	}
}

.header_cursol--top {
	position: fixed;
}

@-webkit-keyframes _header_cursol {
	0% {
		top: 0px;
		opacity: 0;
	}
	10% {
		top: 0px;
		opacity: 1;
	}
	80% {
		top: 0px;
		opacity: 1;
	}
	100% {
		top: 8px;
		opacity: 0;
	}
}

@keyframes _header_cursol {
	0% {
		top: 0px;
		opacity: 0;
	}
	10% {
		top: 0px;
		opacity: 1;
	}
	80% {
		top: 0px;
		opacity: 1;
	}
	100% {
		top: 8px;
		opacity: 0;
	}
}

.header--subpage {
	position: relative;
	overflow: hidden;
	height: 100vh;
	width: 100%;
}

.header_mainimage {
	height: 100vh;
	width: 100%;
	position: fixed;
}

@media screen and (max-width: 599px) {
	.access_mainimage {
		background: url(../images/access/main_sp.jpg) left center/cover no-repeat
			scroll;
	}
}
@media screen and (min-width: 600px) {
	.header_mainimage img {
		position: fixed;
		z-index: 0;
		top: 0;
		left: -100%;
		right: -100%;
		bottom: 0;
		margin: auto;
		width: auto;
		/* width: 100%; */
		height: auto;
		min-width: 100%;
		min-height: 100%;
	}
}

@media screen and (max-width: 599px) {
	.header_mainimage img {
		display: none;
		height: 100%;
	}
}

@media screen and (min-width: 600px) {
	.header--blur .header-top,
	.header--blur .header-bottom,
	.header--blur .header_video-digest {
		-webkit-filter: blur(10px);
		filter: blur(10px);
		-webkit-transform: scale(1.02);
		transform: scale(1.02);
	}
}

@media screen and (min-width: 600px) {
	.header_scroll-hidden {
		overflow: hidden;
	}
}

.header_video-digest {
	transition: 1.3s;
}
@media screen and (min-width: 600px) {
	.header_video-digest {
		position: fixed;
		z-index: -1;
		top: 0;
		left: -1000%;
		right: -1000%;
		bottom: 0;
		margin: auto;
		width: auto;
		height: auto;
		min-width: 100%;
		min-height: 100%;
	}
}
@media screen and (max-width: 599px) {
	.header_video-digest {
		display: none;
	}
}

.header_video-full {
	transition: 1.3s;
	opacity: 0;
	position: fixed;
	z-index: 4;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 80%;
	visibility: hidden;
}

.header_video-full--play {
	opacity: 1;
	visibility: visible;
}

.header_movie-close {
	transition: 0.5s;
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	z-index: 3;
	cursor: pointer;
	visibility: hidden;
	opacity: 0;
}
@media screen and (min-width: 600px) {
	.header_movie-close {
		background-color: black;
	}
}
@media screen and (max-width: 599px) {
	.header_movie-close {
		background-color: black;
	}
}

.header_movie-close--vislble {
	visibility: visible;
	opacity: 1;
}

.header_movie-close-button {
	height: 40px;
	width: 40px;
	position: absolute;
}
.header_movie-close-button span {
	background-color: #fff;
	position: absolute;
	left: 0;
	height: 1px;
}
.header_movie-close-button span:nth-of-type(1) {
	top: 5px;
	left: 5px;
	-webkit-transform-origin: 0px 0px;
	transform-origin: 0px 0px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 100%;
}
.header_movie-close-button span:nth-of-type(2) {
	bottom: 5px;
	left: 5px;
	-webkit-transform-origin: 0px 0px;
	transform-origin: 0px 0px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	width: 100%;
}
@media screen and (min-width: 600px) {
	.header_movie-close-button {
		top: 50px;
		right: 50px;
	}
}
@media screen and (max-width: 599px) {
	.header_movie-close-button {
		top: 4.71014%;
		right: 4.71014%;
	}
}

.gnav {
	transition: 0.3s;
}
@media screen and (min-width: 600px) {
	.gnav {
		position: fixed;
		z-index: 2;
		left: 0px;
		top: 0px;
		width: 100%;
		height: 70px;
	}
}
@media screen and (max-width: 599px) {
	.gnav {
		display: none;
	}
}

.gnav_menu-trigger {
	cursor: pointer;
	position: fixed;
	height: 40px;
	width: 40px;
	z-index: 3;
}
.gnav_menu-trigger span {
	background-color: #fff;
	transition: 0.5s;
	position: absolute;
	left: 0;
	height: 1px;
}
.scroll-change .gnav_menu-trigger span {
	background-color: #333;
}
.gnav_menu-trigger span:nth-of-type(1) {
	top: 8px;
	width: 100%;
}
.gnav_menu-trigger span:nth-of-type(2) {
	bottom: 20px;
	width: 75%;
}
.gnav_menu-trigger span:nth-of-type(3) {
	bottom: 8px;
	width: 50%;
}
.gnav_menu-trigger p {
	font-family: "Lato", sans-serif;
	font-size: 1.2rem;
	color: #7f7f7f;
	transition: 0.5s;
	opacity: 0;
	visibility: hidden;
}
@media screen and (min-width: 600px) {
	.gnav_menu-trigger {
		top: 16px;
		left: 50px;
	}
	.gnav_menu-trigger p {
		margin-left: 50px;
		margin-top: 10px;
	}
}
@media screen and (max-width: 599px) {
	.gnav_menu-trigger {
		top: 15px;
		right: 20px;
	}
	.gnav_menu-trigger p {
		margin-left: -50px;
		margin-top: 10px;
	}
}

@-webkit-keyframes _gnav_menu-trigger_1 {
	0% {
		width: 100%;
	}
	50% {
		width: 0%;
	}
	100% {
		width: 100%;
	}
}

@keyframes _gnav_menu-trigger_1 {
	0% {
		width: 100%;
	}
	50% {
		width: 0%;
	}
	100% {
		width: 100%;
	}
}

@-webkit-keyframes _gnav_menu-trigger_2 {
	0% {
		width: 0;
	}
	100% {
		width: 75%;
	}
}

@keyframes _gnav_menu-trigger_2 {
	0% {
		width: 0;
	}
	100% {
		width: 75%;
	}
}

.gnav_menu-trigger--close span {
	background-color: #7f7f7f;
}
.gnav_menu-trigger--close span:nth-of-type(1) {
	top: 5px;
	left: 5px;
	-webkit-transform-origin: 0px 0px;
	transform-origin: 0px 0px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 100%;
}
.gnav_menu-trigger--close span:nth-of-type(2) {
	width: 0;
}
.gnav_menu-trigger--close span:nth-of-type(3) {
	bottom: 5px;
	left: 5px;
	-webkit-transform-origin: 0px 0px;
	transform-origin: 0px 0px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	width: 100%;
}

.gnav_menu-trigger--close p {
	opacity: 1;
	visibility: visible;
}

@media screen and (min-width: 600px) {
	.gnav_menu {
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
		position: absolute;
		top: 30px;
		left: 130px;
		padding-right: 240px;
	}
}

@media screen and (max-width: 1150px) {
	.gnav_menu {
		display: none;
	}
}

.gnav_menu-item {
	transition: 0.3s;
}
@media screen and (min-width: 600px) {
	.gnav_menu-item {
		margin-right: 20px;
		position: relative;
		font-size: 1.5rem;
		letter-spacing: 0.05em;
		line-height: 1;
		margin-bottom: 10px;
	}
	.gnav_menu-item a {
		color: #fff;
		display: block;
		position: relative;
	}
}
@media screen and (max-width: 599px) {
	.gnav_menu-item {
		position: relative;
		font-size: 1.3rem;
		letter-spacing: 0.2em;
		line-height: 1;
	}
	.gnav_menu-item a {
		display: block;
		padding-left: 12px;
	}
	.gnav_menu-item:nth-of-type(2) {
		margin-right: 15px;
	}
	.gnav_menu-item:nth-of-type(n + 2)::before {
		content: "";
		top: 0;
		left: 0;
		display: inline-block;
		position: absolute;
		background-color: #333;
		height: 1px;
		width: 7px;
		-webkit-transform: translateY(4px) rotate(35deg);
		transform: translateY(4px) rotate(35deg);
	}
	.gnav_menu-item:nth-of-type(n + 2)::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		display: inline-block;
		background-color: #333;
		height: 1px;
		width: 7px;
		-webkit-transform: translateY(8px) rotate(-35deg);
		transform: translateY(8px) rotate(-35deg);
	}
}

.gnav_sns {
	transition: 0.3s;
}
@media screen and (min-width: 600px) {
	.gnav_sns {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
		position: absolute;
		top: 28px;
		right: 20px;
		width: 140px;
		width: 40px;
	}
}

@media screen and (min-width: 600px) {
	.gnav_sns-item {
		font-family: "Lato", sans-serif;
		font-size: 1.2rem;
		letter-spacing: 0.1em;
	}
	.gnav_sns-item a {
		color: #fff;
	}
}

.gnav-modal {
	visibility: hidden;
	opacity: 0;
	transition: 0.8s;
	position: fixed;
	z-index: 2;
	top: 0;
	left: 0;
	background: url(../images/common/bg_pettern.png) left top repeat;
}
@media screen and (min-width: 600px) {
	.gnav-modal {
		width: 100%;
		height: 100%;
	}
}
@media screen and (max-width: 599px) {
	.gnav-modal {
		width: 100%;
		height: 100vh;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
	}
}

.gnav-modal--active {
	visibility: visible;
	opacity: 1;
}

@media screen and (max-width: 599px) {
	.gnav-modal_inner {
		position: relative;
		padding-left: 4.71014%;
		padding-right: 4.71014%;
		padding-top: 100px;
		padding-bottom: 180px;
	}
}

@media screen and (min-width: 600px) {
	.gnav-modal_lang-sns {
		display: flex;
		flex-flow: row wrap;
		justify-content: space-between;
		position: absolute;
		right: 40px;
		top: 29px;
		width: 140px;
		width: 40px;
	}
}

.gnav-modal_lang {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	width: 100px;
}
.gnav-modal_lang a {
	color: #a5a5a5;
}
@media screen and (max-width: 599px) {
	.gnav-modal_lang {
		margin-top: 30px;
		margin-left: 20px;
	}
}

.gnav-modal_sns {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}
@media screen and (min-width: 600px) {
	.gnav-modal_sns {
		width: 140px;
	}
	.gnav-modal_sns a {
		color: #7f7f7f;
	}
}
@media screen and (max-width: 599px) {
	.gnav-modal_sns {
		position: absolute;
		left: 0;
		right: 0;
		margin: auto;
		width: 135px;
		width: 21px;
		bottom: 120px;
	}
	.gnav-modal_sns a {
		color: #7f7f7f;
	}
}

.gnav-modal_lang-item {
	font-family: "Lato", sans-serif;
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	line-height: 1;
}
@media screen and (min-width: 600px) {
	.gnav-modal_lang-item {
		margin-top: 3px;
	}
}

@media screen and (min-width: 600px) {
	.gnav-modal_sns-item {
		font-size: 1.6rem;
		line-height: 1;
		margin-right: 20px;
	}
}

@media screen and (max-width: 599px) {
	.gnav-modal_sns-item {
		font-size: 2.1rem;
		line-height: 1;
	}
}

@media screen and (min-width: 600px) {
	.gnav-modal_logo-menu {
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
		margin-top: 30vh;
		max-width: 960px;
	}
}

@media screen and (min-width: 600px) {
	.gnav-modal_title {
		width: 345px;
		padding-left: 95px;
	}
	.gnav-modal_title img {
		width: 200px;
	}
}

@media screen and (max-width: 599px) {
	.gnav-modal_title {
		width: calc(530px / 2);
		margin-left: auto;
		margin-right: auto;
		margin-top: 70px;
		margin-bottom: 50px;
	}

	.gnav-modal_title img {
		display: block;
		margin: 0 auto;
		width: 50%;
	}
}

.gnav-modal_title-svg {
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
@media screen and (min-width: 600px) {
	.gnav-modal_title-svg {
		width: 80px;
		height: 279px;
	}
}
@media screen and (max-width: 599px) {
	.gnav-modal_title-svg {
		display: none;
	}
}

.gnav-modal_title-svg-sp {
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
@media screen and (min-width: 600px) {
	.gnav-modal_title-svg-sp {
		display: none;
	}
}
@media screen and (max-width: 599px) {
	.gnav-modal_title-svg-sp {
		width: calc(530px / 2);
		height: calc(100px / 2);
	}
}

@media screen and (min-width: 600px) {
	.gnav-modal_menu:nth-of-type(1) {
		width: 365px;
	}
	.gnav-modal_menu:nth-of-type(2) {
		width: 280px;
	}
}

.gnav-modal_menu-item span {
	font-family: "Lato", sans-serif;
	display: block;
	color: #a5a5a5;
}

@media screen and (min-width: 600px) {
	.gnav-modal_menu-item {
		font-size: 2.6rem;
		line-height: 1.2;
	}
	.gnav-modal_menu-item span {
		font-size: 1.4rem;
	}
	.gnav-modal_menu-item:nth-of-type(n + 2) {
		margin-top: 55px;
	}
}

@media screen and (max-width: 599px) {
	.gnav-modal_menu-item {
		text-align: center;
	}
	.gnav-modal_menu:nth-of-type(1) .gnav-modal_menu-item,
	.gnav-modal_menu:nth-of-type(2) .gnav-modal_menu-item:nth-of-type(1),
	.gnav-modal_menu:nth-of-type(2) .gnav-modal_menu-item:nth-of-type(2) {
		margin-top: 35px;
		font-size: 2rem;
		line-height: 1.2;
		letter-spacing: 0.03em;
	}
	.gnav-modal_menu:nth-of-type(1) .gnav-modal_menu-item span,
	.gnav-modal_menu:nth-of-type(2) .gnav-modal_menu-item:nth-of-type(1) span,
	.gnav-modal_menu:nth-of-type(2) .gnav-modal_menu-item:nth-of-type(2) span {
		font-size: 1.2rem;
		letter-spacing: 0.03em;
	}
	.gnav-modal_menu:nth-of-type(2) .gnav-modal_menu-item:nth-of-type(3) a {
		font-size: 1.4rem;
		line-height: 1.2;
		padding-top: 10px;
		padding-bottom: 9px;
		display: block;
		min-height: 50px;
		letter-spacing: 0.02em;
		border: 1px solid #7f7f7f;
	}
	.gnav-modal_menu:nth-of-type(2) .gnav-modal_menu-item:nth-of-type(3) span {
		font-size: 1.1rem;
	}
	.gnav-modal_menu:nth-of-type(2) .gnav-modal_menu-item:nth-of-type(3) {
		width: 100%;
		margin-top: 75px;
	}
	.gnav-modal_menu:nth-of-type(2) .gnav-modal_menu-item:nth-of-type(n + 3) {
		width: 100%;
		margin-top: 4%;
	}
}

@media screen and (min-width: 600px) {
	.gnav-modal_block-bottom {
		display: flex;
		flex-flow: row nowrap;
		padding-left: 95px;
		padding-right: 50px;
		position: absolute;
		bottom: 20px;
		width: 100%;
	}
}

@media screen and (max-width: 599px) {
	.gnav-modal_block-bottom {
		display: none;
	}
}

@media screen and (min-width: 600px) {
	.gnav-modal_link {
		font-family:
			"游ゴシック", YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN",
			Meiryo, sans-serif;
		font-size: 1.2rem;
	}
	.gnav-modal_link:nth-of-type(1) {
		width: 240px;
	}
}

@media screen and (min-width: 600px) {
	.gnav-modal_link-title {
		font-weight: bold;
		margin-bottom: 10px;
	}
}

@media screen and (min-width: 600px) {
	.gnav-modal_link-title {
		font-weight: bold;
		margin-bottom: 10px;
	}
}
@media screen and (min-width: 600px) {
	.gnav-modal_sub-menu {
		margin-top: 35px;
		width: 240px;
		margin-left: auto;
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
		flex-direction: row-reverse;
	}
}

@media screen and (min-width: 600px) {
	.gnav-modal_sub-menu-item {
		font-family:
			"游ゴシック", YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN",
			Meiryo, sans-serif;
		font-size: 1.4rem;
	}
}

@media all and (-ms-high-contrast: none) {
	/* IE10 */
}

/* #scloll-change
             -------------------------------------------------------------------------- */
@media screen and (min-width: 600px) {
	.p-scroll-change--active .gnav,
	.p-scroll-change .gnav {
		background-color: #fff;
	}
}

@media screen and (min-width: 600px) {
	.p-scroll-change--active .gnav_menu-item a,
	.p-scroll-change .gnav_menu-item a {
		color: #333;
	}
}

@media screen and (min-width: 600px) {
	.p-scroll-change--active .ugnav_sns a,
	.p-scroll-change .gnav_sns a {
		color: #a5a5a5;
	}
}

@media screen and (min-width: 600px) {
	.p-scroll-change--active .gnav_menu-trigger span,
	.p-scroll-change .gnav_menu-trigger span {
		background-color: #333;
	}
}

@media screen and (min-width: 600px) {
	.p-scroll-change--active .u-over-line-nav::before,
	.p-scroll-change .u-over-line-nav::before {
		background-color: #333;
	}
}

.u-over-line-nav {
	position: relative;
	transition: 0.3s;
}
@media screen and (min-width: 600px) {
	.u-over-line-nav::before {
		transition: 0.3s;
		width: 0%;
		content: "";
		height: 1px;
		position: absolute;
		bottom: -7px;
		left: 0px;
		right: 0px;
		margin: auto;
		background-color: #fff;
	}
	.u-over-line-nav:hover::before {
		width: 100%;
	}
}

@media screen and (min-width: 600px) {
	.p-scroll-change--active .u-over-line-lang::before,
	.p-scroll-change .u-over-line-lang::before {
		background-color: #333;
	}
	.p-scroll-change--active .u-over-line-lang:hover,
	.p-scroll-change .u-over-line-lang:hover {
		color: #333;
	}
}

@media screen and (min-width: 600px) {
	.p-scroll-change--active .u-over-line-lang--active,
	.p-scroll-change .u-over-line-lang--active {
		color: #333 !important;
	}
}

@media screen and (max-width: 599px) {
	.p-scroll-change--sgnav-visible .gnav_menu-trigger span {
		background-color: #333;
	}
}

.p-scroll-change .gnav_menu-trigger span {
	background-color: #333;
}

@media screen and (max-width: 599px) {
	.p-scroll-change .footer_book {
		bottom: 0px;
	}
}

/* footer */

/* title */
@media screen and (min-width: 600px) {
	.access_maintitle,
	.cuisine_maintitle {
		width: 95px;
		height: 138px;
		font-weight: bold;
	}
	.header_cursol,
	.header_cursol-top {
		color: #fff;
		font-size: 1rem;
		position: absolute;
		z-index: 1;
		width: 42px;
		height: 15px;
		left: 0;
		right: 0;
		margin-left: auto;
		margin-right: auto;
	}
	.header_cursol span::before,
	.header_cursol-top span::before {
		content: "";
		bottom: -25px;
		left: 20px;
		display: inline-block;
		position: absolute;
		background-color: #fff;
		height: 1px;
		width: 18px;
		-webkit-transform: rotate(-42deg);
		transform: rotate(-42deg);
		-webkit-transform-origin: 0px 0px;
		transform-origin: 0px 0px;
	}
	.header_cursol span::after,
	.header_cursol-top span::after {
		content: "";
		position: absolute;
		bottom: -26px;
		left: 20px;
		display: inline-block;
		background-color: #fff;
		height: 1px;
		width: 18px;
		-webkit-transform: rotate(-138deg);
		transform: rotate(-138deg);
		-webkit-transform-origin: 0px 0px;
		transform-origin: 0px 0px;
	}
}
/* content */
.content {
	position: relative;
	z-index: 1;
	background: url(../images/common/bg_pettern.png) left top repeat;
}
@media screen and (min-width: 600px) {
	.content {
		padding-top: 110px;
	}
}
@media screen and (max-width: 599px) {
	.content {
		padding-top: 80px;
	}
}

@media screen and (max-width: 599px) {
	.content_firstview {
		padding-bottom: 80px;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
}

@media screen and (min-width: 600px) {
	.content_overview {
		line-height: 2;
		text-align: center !important;
		width: 87.5%;
		margin-left: auto;
		margin-right: auto;
	}
}

@media screen and (max-width: 599px) {
	.content_overview {
		line-height: 2;
		text-align: left;
		letter-spacing: 0.03em;
	}
	.content_overview br {
		display: none;
	}
	.content_overview span {
		display: block;
	}
}

@media screen and (min-width: 600px) {
	.content--news,
	.content--column,
	.content--information {
		padding-top: 150px;
	}
}
.p-delay_1s {
	-webkit-animation-delay: 0.1s !important;
	animation-delay: 0.1s !important;
}

.p-delay_2s {
	-webkit-animation-delay: 0.2s !important;
	animation-delay: 0.2s !important;
}

.p-delay_3s {
	-webkit-animation-delay: 0.3s !important;
	animation-delay: 0.3s !important;
}

.p-delay_4s {
	-webkit-animation-delay: 0.4s !important;
	animation-delay: 0.4s !important;
}

.p-delay_5s {
	-webkit-animation-delay: 0.5s !important;
	animation-delay: 0.5s !important;
}

.p-delay_6s {
	-webkit-animation-delay: 0.6s !important;
	animation-delay: 0.6s !important;
}

.p-delay_7s {
	-webkit-animation-delay: 0.7s !important;
	animation-delay: 0.7s !important;
}

.p-delay_8s {
	-webkit-animation-delay: 0.8s !important;
	animation-delay: 0.8s !important;
}

.p-delay_9s {
	-webkit-animation-delay: 0.9s !important;
	animation-delay: 0.9s !important;
}

.p-delay_10s {
	-webkit-animation-delay: 1s !important;
	animation-delay: 1s !important;
}

.p-delay_11s {
	-webkit-animation-delay: 1.1s !important;
	animation-delay: 1.1s !important;
}

.p-delay_12s {
	-webkit-animation-delay: 1.2s !important;
	animation-delay: 1.2s !important;
}

.p-delay_13s {
	-webkit-animation-delay: 1.3s !important;
	animation-delay: 1.3s !important;
}

.p-delay_14s {
	-webkit-animation-delay: 1.4s !important;
	animation-delay: 1.4s !important;
}

.p-delay_15s {
	-webkit-animation-delay: 1.5s !important;
	animation-delay: 1.5s !important;
}

.p-delay_16s {
	-webkit-animation-delay: 1.6s !important;
	animation-delay: 1.6s !important;
}

.p-delay_17s {
	-webkit-animation-delay: 1.7s !important;
	animation-delay: 1.7s !important;
}

.p-delay_18s {
	-webkit-animation-delay: 1.8s !important;
	animation-delay: 1.8s !important;
}

.p-delay_19s {
	-webkit-animation-delay: 1.9s !important;
	animation-delay: 1.9s !important;
}

.p-delay_20s {
	-webkit-animation-delay: 2s !important;
	animation-delay: 2s !important;
}

.p-ani-fadeInUp {
	-webkit-animation: p-ani-fadeInUp 1.5s ease 0s both 1 normal;
	animation: p-ani-fadeInUp 1.5s ease 0s both 1 normal;
	visibility: visible !important;
}

.p-ani-fadeIn {
	-webkit-animation: p-ani-fadeIn 1.5s ease 0s both 1 normal;
	animation: p-ani-fadeIn 1.5s ease 0s both 1 normal;
	visibility: visible !important;
}

.p-ani-fadeInBlur {
	-webkit-animation: p-ani-fadeInBlur 2s ease 0s backwards 1 normal;
	animation: p-ani-fadeInBlur 2s ease 0s backwards 1 normal;
	visibility: visible !important;
}

.p-ani-fadeInScale {
	-webkit-animation: p-ani-fadeInScale 2s ease 0s backwards 1 normal;
	animation: p-ani-fadeInScale 2s ease 0s backwards 1 normal;
	visibility: visible !important;
}

.p-ani-fadeInLeft {
	-webkit-animation: p-ani-fadeInLeft 1.5s ease 0s backwards 1 normal;
	animation: p-ani-fadeInLeft 1.5s ease 0s backwards 1 normal;
	visibility: visible !important;
}

.p-ani-fadeOut {
	-webkit-animation: p-ani-fadeOut 1.5s ease 0s both 1 normal;
	animation: p-ani-fadeOut 1.5s ease 0s both 1 normal;
	visibility: hidden !important;
}

.p-ani-width {
	-webkit-animation-name: p-ani-width;
	animation-name: p-ani-width;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-timing-function: ease;
	animation-timing-function: ease;
	-webkit-animation-delay: 0s;
	animation-delay: 0s;
	-webkit-animation-iteration-count: 1;
	animation-iteration-count: 1;
	-webkit-animation-direction: normal;
	animation-direction: normal;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-play-state: running;
	animation-play-state: running;
	visibility: visible !important;
}

.p-ani-height {
	-webkit-animation: p-ani-height 1s ease 0s both 1 normal;
	animation: p-ani-height 1s ease 0s both 1 normal;
	visibility: visible !important;
}

.p-animation__dummybox-gray {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background-color: #eee;
	width: 100%;
	height: 100%;
}

.p-animation__dummybox-white {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background-color: #fff;
	width: 100%;
	height: 100%;
}

.p-ani-slide-scaleUp {
	-webkit-animation-name: p-ani-slide-scaleUp;
	animation-name: p-ani-slide-scaleUp;
	-webkit-animation-duration: 15s;
	animation-duration: 15s;
	-webkit-animation-timing-function: linear;
	animation-timing-function: linear;
	-webkit-animation-delay: 0s;
	animation-delay: 0s;
	-webkit-animation-iteration-count: 1;
	animation-iteration-count: 1;
	-webkit-animation-direction: normal;
	animation-direction: normal;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-play-state: running;
	animation-play-state: running;
}

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

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

@-webkit-keyframes p-ani-fadeOut {
	0% {
		opacity: 1;
	}
	100% {
		display: none;
		opacity: 0.5;
	}
}

@keyframes p-ani-fadeOut {
	0% {
		opacity: 1;
	}
	100% {
		display: none;
		opacity: 0.5;
	}
}

@-webkit-keyframes p-ani-fadeInUp {
	0% {
		opacity: 0;
		-webkit-transform: translateY(20px);
		transform: translateY(20px);
	}
	100% {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

@keyframes p-ani-fadeInUp {
	0% {
		opacity: 0;
		-webkit-transform: translateY(20px);
		transform: translateY(20px);
	}
	100% {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

@-webkit-keyframes p-ani-fadeInBlur {
	0% {
		opacity: 0;
		-webkit-filter: blur(5px);
		filter: blur(5px);
		-webkit-transform: scale(1.03);
		transform: scale(1.03);
	}
	100% {
		opacity: 1;
		-webkit-filter: none;
		filter: none;
		-webkit-transform: none;
		transform: none;
	}
}

@keyframes p-ani-fadeInBlur {
	0% {
		opacity: 0;
		-webkit-filter: blur(5px);
		filter: blur(5px);
		-webkit-transform: scale(1.03);
		transform: scale(1.03);
	}
	100% {
		opacity: 1;
		-webkit-filter: none;
		filter: none;
		-webkit-transform: none;
		transform: none;
	}
}

@-webkit-keyframes p-ani-fadeInScale {
	0% {
		opacity: 0;
		-webkit-transform: scale(1.04);
		transform: scale(1.04);
	}
	100% {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

@keyframes p-ani-fadeInScale {
	0% {
		opacity: 0;
		-webkit-transform: scale(1.04);
		transform: scale(1.04);
	}
	100% {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

@-webkit-keyframes p-ani-fadeInLeft {
	0% {
		opacity: 0;
		-webkit-transform: translateX(-20px);
		transform: translateX(-20px);
	}
	100% {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

@keyframes p-ani-fadeInLeft {
	0% {
		opacity: 0;
		-webkit-transform: translateX(-20px);
		transform: translateX(-20px);
	}
	100% {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

@-webkit-keyframes p-ani-width {
	0% {
		width: 0%;
	}
	100% {
		width: 100%;
	}
}

@keyframes p-ani-width {
	0% {
		width: 0%;
	}
	100% {
		width: 100%;
	}
}

@-webkit-keyframes p-ani-height {
	0% {
		height: 0%;
	}
	100% {
		height: 100%;
	}
}

@keyframes p-ani-height {
	0% {
		height: 0%;
	}
	100% {
		height: 100%;
	}
}

@-webkit-keyframes p-ani-slide-scaleUp {
	0% {
	}
	100% {
		-webkit-transform: scaleX(1.2) scaleY(1.2);
		transform: scaleX(1.2) scaleY(1.2);
	}
}

@keyframes p-ani-slide-scaleUp {
	0% {
	}
	100% {
		-webkit-transform: scaleX(1.2) scaleY(1.2);
		transform: scaleX(1.2) scaleY(1.2);
	}
}
/* footer */
.footer {
	background-color: #fff;
	position: relative;
	z-index: 1;
	border-top: solid 1px #dadada;
}
@media screen and (min-width: 600px) {
	.footer {
		/* height: 300px; */
		padding-top: 60px;
		padding-bottom: 50px;
	}
}
@media screen and (max-width: 599px) {
	.footer {
		padding-top: 70px;
		padding-bottom: calc(30px + 62px);
	}
}

@media screen and (min-width: 600px) {
	.footer-inner {
		width: 93.05556%;
		margin: 0 auto;
		display: flex;
		flex-flow: row wrap;
		align-items: flex-end;
	}
}

@media screen and (max-width: 599px) {
	.footer-inner {
		position: relative;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
		padding-top: 205px;
	}
}

@media screen and (min-width: 600px) {
	.footer__section-nav {
		margin-right: auto;
	}
}

.footer__nav {
	font-family:
		"游ゴシック", YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN",
		Meiryo, sans-serif;
}
.footer__nav a {
	color: #7f7f7f;
}
@media screen and (min-width: 600px) {
	.footer__nav {
		font-size: 1.2rem;
		letter-spacing: 0.1em;
		line-height: 1;
		display: flex;
		flex-flow: row wrap;
		width: 505px;
	}
}

@media screen and (min-width: 600px) {
	.footer__nav-item:nth-last-of-type(n + 2) {
		margin-right: 20px;
	}
}

@media screen and (max-width: 599px) {
	.footer__nav-item {
		font-size: 1.2rem;
	}
	.footer__nav-item:nth-of-type(n + 2) {
		margin-top: 20px;
	}
}

.footer__copyright {
	font-family: "Roboto", sans-serif !important;
	color: #7f7f7f;
	display: block;
}
@media screen and (min-width: 600px) {
	.footer__copyright {
		font-size: 1.2rem;
		letter-spacing: 0.05em;
		margin-top: 30px;
	}
}
@media screen and (max-width: 599px) {
	.footer__copyright {
		text-align: center;
		margin-top: 65px;
	}
}

@media screen and (min-width: 600px) {
	.footer__section-address {
		margin-right: 90px;
	}
	footer .footer_logo {
		width: 100px;
	}
}

@media screen and (max-width: 599px) {
	.footer__section-address {
		position: absolute;
		top: 0px;
	}
	footer .footer_logo {
		position: absolute;
		top: 200px;
		right: 0;
		width: 150px;
	}
}

.footer__sns {
	font-family: "Open Sans", sans-serif !important;
}
@media screen and (min-width: 600px) {
	.footer__sns {
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
		width: 90px;
		width: 15px;
		font-size: 1.6rem;
		margin-left: auto;
		margin-right: 0;
	}
}
@media screen and (max-width: 599px) {
	.footer__sns {
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
		width: 115px;
		font-size: 2.1rem;
	}
}

.footer__address-phone {
	font-family:
		"游ゴシック", YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN",
		Meiryo, sans-serif;
}
@media screen and (min-width: 600px) {
	.footer__address-phone {
		margin-top: 35px;
		font-size: 1.4rem;
		line-height: 1;
	}
}
@media screen and (max-width: 599px) {
	.footer__address-phone {
		margin-top: 30px;
		font-size: 1.3rem;
	}
}

@media screen and (min-width: 600px) {
	.footer__address {
		margin-bottom: 15px;
	}
	.footer__address br {
		display: none;
	}
}

@media screen and (max-width: 599px) {
	.footer__address {
		margin-bottom: 10px;
	}
}

.footer__logo {
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
}
@media screen and (min-width: 600px) {
	.footer__logo {
		width: 55px;
		height: 190px;
		fill: #000;
	}
}
@media screen and (max-width: 599px) {
	.footer__logo {
		position: absolute;
		top: 65px;
		right: 0;
		width: 70px;
		height: 243px;
		fill: #000;
	}
}

@media screen and (min-width: 600px) {
	.footer__book {
		display: none;
	}
}

@media screen and (max-width: 599px) {
	.footer__book {
		transition: 0.5s;
		display: block;
		height: 62px;
		background-color: #333;
		width: 100%;
		position: fixed;
		bottom: -62px;
		font-size: 1.6rem;
		color: #fff;
		text-align: center;
		padding-top: 18px;
	}
}

.footer__book-text {
	position: relative;
	display: block;
}

.footer__book-cursol {
	position: absolute;
	right: 8.5vw;
}
.footer__book-cursol::before {
	content: "";
	height: 1px;
	position: absolute;
	top: 14px;
	left: -50px;
	background: #fff;
	width: 50px;
	-webkit-animation: _footer__book-cursol-before 5s ease forwards 0s infinite;
	animation: _footer__book-cursol-before 5s ease forwards 0s infinite;
}
.footer__book-cursol::after {
	content: "";
	width: 10px;
	height: 1px;
	position: absolute;
	top: 14px;
	background: #fff;
	-webkit-transform-origin: 0px 0.5px;
	transform-origin: 0px 0.5px;
	-webkit-transform: rotate(-150deg);
	transform: rotate(-150deg);
	left: 0px;
	-webkit-animation: _footer__book-cursol-after 5s ease forwards 0s infinite;
	animation: _footer__book-cursol-after 5s ease forwards 0s infinite;
}

@-webkit-keyframes _footer__book-cursol-before {
	0% {
		width: 50px;
	}
	79% {
		width: 50px;
		opacity: 1;
	}
	80% {
		width: 50px;
		opacity: 0;
	}
	81% {
		width: 0px;
	}
	100% {
		width: 50px;
		opacity: 1;
	}
}

@keyframes _footer__book-cursol-before {
	0% {
		width: 50px;
	}
	79% {
		width: 50px;
		opacity: 1;
	}
	80% {
		width: 50px;
		opacity: 0;
	}
	81% {
		width: 0px;
	}
	100% {
		width: 50px;
		opacity: 1;
	}
}

@-webkit-keyframes _footer__book-cursol-after {
	0% {
		left: 0px;
	}
	79% {
		left: 0px;
		opacity: 1;
	}
	80% {
		left: 0px;
		opacity: 0;
	}
	81% {
		left: -50px;
	}
	100% {
		left: 0px;
		opacity: 1;
	}
}

@keyframes _footer__book-cursol-after {
	0% {
		left: 0px;
	}
	79% {
		left: 0px;
		opacity: 1;
	}
	80% {
		left: 0px;
		opacity: 0;
	}
	81% {
		left: -50px;
	}
	100% {
		left: 0px;
		opacity: 1;
	}
}
.title-subpage-vertical {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
}
@media screen and (min-width: 600px) {
	.title-subpage-vertical {
		bottom: 0;
	}
}
@media screen and (max-width: 599px) {
	.title-subpage-vertical {
		bottom: 45px;
		font-weight: bold;
	}
}

.title-subpage-vertical-jp {
	display: block;
	color: #fff;
}
@media screen and (min-width: 600px) {
	.title-subpage-vertical-jp {
		font-size: 2.6rem;
		letter-spacing: 0.1em;
	}
}
@media screen and (max-width: 599px) {
	.title-subpage-vertical-jp {
		font-size: 2rem;
		letter-spacing: 0.1em;
	}
}

.title-subpage-vertical-en {
	display: block;
	font-family: "EB Garamond", serif;
	color: #fff;
	opacity: 0.5;
}
@media screen and (min-width: 600px) {
	.title-subpage-vertical-en {
		font-size: 1.6rem;
		letter-spacing: 0.1em;
		line-height: 1;
		margin-left: 7px;
	}
}
@media screen and (max-width: 599px) {
	.title-subpage-vertical-en {
		font-size: 1.4rem;
		letter-spacing: 0.1em;
		line-height: 1;
		margin-left: 2px;
	}
}
@media screen and (max-width: 599px) {
	.span_ten {
		display: none;
	}
}
.animation_dummybox-white {
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background-color: #fff;
	width: 100%;
	height: 100%;
}
.u-over-line {
	position: relative;
	transition: 0.3s;
}
@media screen and (min-width: 600px) {
	.u-over-line::before {
		transition: 0.3s;
		width: 0%;
		content: "";
		height: 1px;
		position: absolute;
		bottom: -6px;
		left: 0px;
		right: 0px;
		margin: auto;
		background-color: #333;
	}
	.u-over-line:hover {
		color: #333;
	}
	.u-over-line:hover::before {
		width: 100%;
	}
}
@media screen and (min-width: 600px) {
	.title-horizontal {
		text-align: center;
	}
}

@media screen and (max-width: 599px) {
	.title-horizontal {
		text-align: center;
	}
}

.title-horizontal-jp-22 {
	display: block;
}
@media screen and (min-width: 600px) {
	.title-horizontal-jp-22 {
		font-size: 2.2rem;
		letter-spacing: 0.1em;
		line-height: 1.5;
	}
}
@media screen and (max-width: 599px) {
	.title-horizontal-jp-22 {
		font-size: 1.8rem;
		letter-spacing: 0.1em;
		line-height: 1.3;
	}
}

.title-horizontal-jp-24 {
	display: block;
}
@media screen and (min-width: 600px) {
	.title-horizontal-jp-24 {
		font-size: 2.4rem;
		letter-spacing: 0.1em;
		line-height: 1.5;
	}
}
@media screen and (max-width: 599px) {
	.title-horizontal-jp-24 {
		font-size: 1.8rem;
		letter-spacing: 0.1em;
		line-height: 1.5;
	}
}

.title-horizontal-jp-26 {
	display: block;
}
@media screen and (min-width: 600px) {
	.title-horizontal-jp-26 {
		font-size: 2.6rem;
		letter-spacing: 0.1em;
		line-height: 1.5;
	}
}
@media screen and (max-width: 599px) {
	.title-horizontal-jp-26 {
		font-size: 2rem;
		letter-spacing: 0.1em;
		line-height: 1.5;
	}
}

.title-horizontal-en {
	display: block;
	font-family: "EB Garamond", serif;
	color: #a5a5a5;
}
@media screen and (min-width: 600px) {
	.title-horizontal-en {
		font-size: 1.6rem;
		letter-spacing: 0.05em;
		line-height: 1;
	}
}
@media screen and (max-width: 599px) {
	.title-horizontal-en {
		font-size: 1.3rem;
		letter-spacing: 0.05em;
		line-height: 1;
	}
}

@media screen and (max-width: 599px) {
	.gnav-modal__menu-item {
		text-align: center;
	}
	.gnav-modal__menu:nth-of-type(1) .gnav-modal__menu-item,
	.gnav-modal__menu:nth-of-type(2) .gnav-modal__menu-item:nth-of-type(1),
	.gnav-modal__menu:nth-of-type(2) .gnav-modal__menu-item:nth-of-type(2) {
		margin-top: 35px;
		font-size: 2rem;
		line-height: 1.2;
		letter-spacing: 0.03em;
	}
	.gnav-modal__menu:nth-of-type(1) .gnav-modal__menu-item span,
	.gnav-modal__menu:nth-of-type(2) .gnav-modal__menu-item:nth-of-type(1) span,
	.gnav-modal__menu:nth-of-type(2) .gnav-modal__menu-item:nth-of-type(2) span {
		font-size: 1.2rem;
		letter-spacing: 0.03em;
	}
	.gnav-modal__menu:nth-of-type(2) .gnav-modal__menu-item:nth-of-type(2) a {
		font-size: 1.4rem;
		line-height: 1.2;
		padding-top: 10px;
		padding-bottom: 9px;
		display: block;
		min-height: 50px;
		letter-spacing: 0.02em;
		border: 1px solid #7f7f7f;
	}
	.gnav-modal__menu:nth-of-type(2) .gnav-modal__menu-item:nth-of-type(2) span {
		font-size: 1.1rem;
	}
	.gnav-modal__menu:nth-of-type(2) .gnav-modal__menu-item:nth-of-type(2) {
		width: 100%;
		margin-top: 75px;
	}
	.gnav-modal__menu:nth-of-type(2) .gnav-modal__menu-item:nth-of-type(n + 2) {
		width: 100%;
		margin-top: 4%;
	}
}
