@charset "UTF-8";

* {
	margin: 0;
	padding: 0;
}

html,
body {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}

html {
	font-size: 62.5%;
}

body {
	font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, helvetica neue, helvetica, arial, hiragino kaku gothic pro, hiragino sans, meiryo, yu gothic, sans-serif;
	/*font-family: helvetica neue, helvetica, arial, hiragino kaku gothic pro, hiragino sans, meiryo, yu gothic, sans-serif;*/
	color: #5e3f44;
	font-size: 1.6rem;
	word-break: break-all;
	line-height: 1.8;
	letter-spacing: .025em;
	position: relative;
	min-width: 1100px;
	max-width: 1920px;
	margin: 0 auto;
}

/*---link---*/
a {
	text-decoration: none;
	color: #6D4E55;
}

/*---image---*/
img,
picture {
	display: block;
	width: 100%;
	height: auto;
}

.lazy-opacity {
	opacity: 0;
}

.lazyloaded {
	opacity: 1 !important;
	-webkit-transition: opacity .4s;
	transition: opacity .4s;
}

/*---moveing---*/
.fadeIn {
	opacity: 0;
	transition: 1.5s;
}

.is-fadeIn {
	opacity: 1;
}

.fadeInUP {
	opacity: 0;
	transform: translate(0, 20px);
	transition: 1s;
}

.is-fadeInUP {
	opacity: 1;
	transform: translate(0, 0);
}

.fadeInScale {
	transform: scale(.9);
	opacity: 0;
	transition: 1s;
}

.is-fadeInScale {
	transform: scale(1);
	opacity: 1;
}

@keyframes rotation {
	0% {
		transform: rotate(0);
	}

	100% {
		transform: rotate(360deg);
	}
}

.textcuttwo {
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

/*----------------------------------------------------
  #loading
----------------------------------------------------*/
.loading {
	width: 100vw;
	height: 100vh;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
}

.loading__inner {
	width: 100%;
	height: auto;
}

.loading__inner>img {
	width: 50%;
	max-width: 200px;
	margin: 0 auto;
}

/*----------------------------------------------------
 mouse tracking
----------------------------------------------------*/
#stkr {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 26px;
	height: 26px;
	background: linear-gradient(45deg, rgba(135, 193, 153, .5), rgba(180, 187, 145, .5));
	border-radius: 50%;
	transition: .5s;
	transition-timing-function: ease-out;
	pointer-events: none;
	mix-blend-mode: multiply;
	z-index: 1000;
}

/*----------------------------------------------------
  header
----------------------------------------------------*/
header {
	width: 100%;
	max-width: 1920px;
	height: 94px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: 999;
	box-sizing: border-box;
	transition: 1s cubic-bezier(.4, 0, .2, 1);
	pointer-events: none;
}

.head-animation {
	transform: translateY(-100%);
}

.global-nav {
	width: 90%;
	height: 60px;
	margin: 0 auto;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	position: relative;
}

.navi-fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	max-width: 1920px;
	z-index: 1002;
	overflow: hidden;
	pointer-events: none;
}

.navi {
	width: 35%;
	min-width: 400px;
	max-width: 500px;
	height: 100vh;
	background: #fff;
	box-sizing: border-box;
	transition: .4s;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1002;
	display: flex;
	justify-content: center;
	-webkit-transform: translate3d(100%, 0, 0);
	transform: translate3d(100%, 0, 0);
	-webkit-transition: -webkit-transform .4s ease;
	transition: -webkit-transform .4s ease;
	-o-transition: transform .4s ease;
	transition: transform .4s ease;
	transition: transform .4s ease, -webkit-transform .4s ease;
	-ms-overflow-style: none;
	scrollbar-width: none;
	pointer-events: auto;
}

.navi.is-open {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	-webkit-transition: -webkit-transform .4s ease;
	transition: -webkit-transform .4s ease;
	-o-transition: transform .4s ease;
	transition: transform .4s ease;
	transition: transform .4s ease, -webkit-transform .4s ease;
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.nav-inner {
	width: 100%;
	margin: 0 auto;
	padding: 80px 10%;
	box-sizing: border-box;
	overflow-y: scroll;
}

.nav-title {
	background: linear-gradient(296deg, #9f6ef7 0, #ff6c9d 50%, #ffd65b 100%);
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	text-align: center;
	color: #fff;
	padding: 10px;
	z-index: 1;
}

.nav-close {
	position: absolute;
	top: 10px;
	left: 10px;
	padding-left: 33px;
	color: #fff;
	z-index: 1;
}

.nav-close:after {
	content: "" !important;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	content: '';
	display: block;
	height: 5px;
	margin-top: -4px;
	pointer-events: none;
	position: absolute;
	left: 15px;
	right: auto;
	top: 50%;
	-webkit-transform-origin: 66% 66%;
	-ms-transform-origin: 66% 66%;
	transform-origin: 66% 66%;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(135deg);
	width: 5px;
}

.nav-inner::-webkit-scrollbar {
	width: 16px;
	height: 100px;
	background-color: #f9f9f9;
}

.nav-inner::-webkit-scrollbar-thumb {
	border-radius: 50vh;
	box-shadow: inset 0 0 10px 10px #ccc;
	border: solid 4px transparent;
}

.navi-list {
	width: 100%;
	height: auto;
	margin-bottom: 20px;
}

.navi-list>ul {
	width: 100%;
	height: auto;
	list-style: none;
}

.navi-list>ul>li {
	width: 100%;
	height: auto;
	position: relative;
}

.navi-list>ul>li:not(:last-child) {
	border-bottom: 1px dashed #fff1f5;
}

.navi-list>ul>li>a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px;
	font-weight: bold;
}

.navi-list>ul>li>a:hover {
	text-decoration: underline;
}

.navi-link {
	width: 100%;
}

.navi-link>a {
	display: block;
	width: 100%;
	transition: opacity .4s;
}

.navi-link>a:hover {
	display: block;
	width: 100%;
	opacity: .8;
	transition: opacity .4s;
}

.nav-cta {
	width: 300px;
	height: 60px;
	margin-right: 40px;
	filter: drop-shadow(0px 5px 5px rgba(99, 99, 99, 0.1));
	pointer-events: visible;
}

.nav-cta>a {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.6rem;
	font-weight: bold;
	background: #fff;
	border-radius: 50vh;
}

.nav-cta>a:before {
	content: "";
	background: url(/img/top/icon-search.svg) no-repeat;
	width: 16px;
	height: 20px;
	margin-right: 15px;
}

.scroll .nav-cta>a {
	background: linear-gradient(311deg, #4590ff, #00BCD4);
	color: #fff;
}

.scroll .nav-cta>a:before {
	content: "";
	background: url(/img/top/icon-search2.svg) no-repeat;
}

.nav-cta>a>img {
	width: 16.4px;
	margin-right: 14px;
}

/*----------------------------------------------------
  #nav-toggle
----------------------------------------------------*/
.nav-toggle {
	position: relative;
	width: 60px;
	height: 60px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	z-index: 1001;
	cursor: pointer;
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%22%20height%3D%22100%22%20viewBox%3D%220%200%2060%2060%22%3E%3Cg%20id%3D%22menu%22%3E%3Cg%20fill%3D%22%23fff%22%3E%3Cpath%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%203%22%20d%3D%22M2.038%200h25.5v3h-25.5zM2.038%208.5h20.5v3h-20.5z%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3Cpath%20d%3D%22M-13.816%2C0h1.56l.5-3.472h.016L-10.352%2C0h.624L-8.28-3.472h.016L-7.824%2C0h1.568l-.912-6.032h-1.56l-1.3%2C3.224-1.224-3.224h-1.544ZM-1.36-4.7V-6.032H-4.792V0H-1.36V-1.328H-3.224v-1.04h1.768V-3.7H-3.224V-4.7ZM.408%2C0H1.976V-3.7h.016L4.864%2C0H6.432V-6.032H4.864v3.688H4.848L1.976-6.032H.408ZM11.92-6.032v3.176c0%2C.784-.056%2C1.64-1.064%2C1.64s-1.064-.856-1.064-1.64V-6.032H8.224V-2.64A2.726%2C2.726%2C0%2C0%2C0%2C8.856-.512a2.879%2C2.879%2C0%2C0%2C0%2C2%2C.672%2C2.879%2C2.879%2C0%2C0%2C0%2C2-.672%2C2.726%2C2.726%2C0%2C0%2C0%2C.632-2.128V-6.032Z%22%20transform%3D%22translate(15.664%2024.625)%22%20fill%3D%22%23fff%22%20stroke%3D%22%23fff%22%20stroke-width%3D%220.2%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E');
	background-size: auto;
	background-position: 5px 12px;
	pointer-events: visible;
}

.scroll .nav-toggle {
	background-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22100%22%20height%3D%22100%22%20viewBox%3D%220%200%2060%2060%22%3E%3Cg%20id%3D%22menu%22%3E%3Cg%20fill%3D%22%235e3f44%22%3E%3Cpath%20data-name%3D%22%E9%95%B7%E6%96%B9%E5%BD%A2%203%22%20d%3D%22M2.038%200h25.5v3h-25.5zM2.038%208.5h20.5v3h-20.5z%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3Cpath%20d%3D%22M-13.816%2C0h1.56l.5-3.472h.016L-10.352%2C0h.624L-8.28-3.472h.016L-7.824%2C0h1.568l-.912-6.032h-1.56l-1.3%2C3.224-1.224-3.224h-1.544ZM-1.36-4.7V-6.032H-4.792V0H-1.36V-1.328H-3.224v-1.04h1.768V-3.7H-3.224V-4.7ZM.408%2C0H1.976V-3.7h.016L4.864%2C0H6.432V-6.032H4.864v3.688H4.848L1.976-6.032H.408ZM11.92-6.032v3.176c0%2C.784-.056%2C1.64-1.064%2C1.64s-1.064-.856-1.064-1.64V-6.032H8.224V-2.64A2.726%2C2.726%2C0%2C0%2C0%2C8.856-.512a2.879%2C2.879%2C0%2C0%2C0%2C2%2C.672%2C2.879%2C2.879%2C0%2C0%2C0%2C2-.672%2C2.726%2C2.726%2C0%2C0%2C0%2C.632-2.128V-6.032Z%22%20transform%3D%22translate(15.664%2024.625)%22%20fill%3D%22%235e3f44%22%20stroke%3D%22%235e3f44%22%20stroke-width%3D%220.2%22%3E%3C%2Fpath%3E%3C%2Fg%3E%3C%2Fsvg%3E');
}

/*------------------------------------
  main
------------------------------------*/
main {
	width: 100%;
	height: auto;
	position: relative;
	overflow: hidden;
}

/*------------------------------------
 #mobile-nav
------------------------------------*/
#mobile-nav {
	display: none;
	width: 100%;
	max-width: 480px;
	height: auto;
	position: fixed;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 998;
	box-sizing: border-box;
	background: none;
	padding: 9px;
}

@media screen and (min-width:481px) {
	#mobile-nav {
		display: none !important;
	}

	.chara-box>dl>dt:nth-child(7),
	.chara-box>dl>dd:nth-child(8) {
		display: none;
	}
}

.mobile-nav {
	width: 100%;
	height: auto;
}

.mobile-nav>a {
	display: block;
	width: 100%;
	height: auto;
	margin: 0 auto;
}

/*------------------------------------
 .footer
------------------------------------*/
.footer {
	width: 100%;
	height: auto;
	position: relative;
	padding: 3% 0 5%;
	background: #161b24;
	color: #fff;
}

.footer-jump {
	display: inline-block;
}

.footer-jump:hover {
	cursor: pointer;
}

.footer-jump div {
	display: block;
	text-align: center;
	padding: 10px 0;
}

.footer-jump span {
	display: inline-block;
	font-size: 16px;
	color: #fff;
	position: relative;
}

.footer-jump span:after,
.footer-jump span:before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7px;
	position: absolute;
	left: 50%;
	transform: translate(-50%, 0);
}

.footer-jump span:before {
	border-color: transparent transparent rgba(255, 255, 255);
	top: -21px
}

.footer-jump span:after {
	border-color: transparent transparent #161b24;
	top: -19px
}

footer a {
	color: #fff;
}

footer a:hover {
	text-decoration: underline;
}

.footer-body {
	width: 1000px;
	margin: 0 auto;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	text-align: center;
}

.footer-nav {
	width: 100%;
}

.footer-nav>ul {
	margin: 15px 0;
}

.footer-nav>ul>li {
	padding: 0 10px;
	display: inline-block;
}

.copyright {
	font-size: 1.3rem;
	text-align: center;
	padding: 10px;
	position: relative;
	z-index: 1;
}

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

	body {
		font-size: 1.4rem;
		min-width: 375px;
		max-width: 100%;
	}

	#stkr {
		display: none;
	}

	.navi {
		width: 100%;
		min-width: 100%;
		max-width: 100%;
	}

	.nav-close {
		left: 0;
	}

	.nav-close:after {
		margin-top: -5px;
	}

	.global-nav-logo {
		display: block;
		transition: 1s linear;
		opacity: 1;
	}

	.scroll .global-nav-logo {
		display: none;
		transition: 1s linear;
		opacity: 0;
	}

	.nav-cta {
		display: none;
	}

	.nav-toggle {
		width: 50px;
		height: 50px;
		background-size: 80px;
	}

	.nav-toggle>p {
		font-size: 1rem;
		white-space: nowrap;
	}

	/*---footer---*/
	.footer {
		padding: 0 0 40px;
	}

	.footer-body {
		width: 85%;
		padding: 60px 0 20px;
	}

	.footer-logo {
		width: 55%;
	}

	.footer-nav {
		line-height: 2;
	}

	.footer-nav>ul {
		justify-content: space-between;
	}

	.footer-nav>ul>li {
		width: 49%;
		box-sizing: border-box;
	}

	.copyright {
		margin: 0 auto;
		padding: 0 30px;
		padding-bottom: 95px;
	}

	.copyright>p:nth-of-type(2) {
		font-size: 1.1rem;
		margin-top: 3px;
	}
}