@charset "UTF-8";
html {
	height: 100%;
}
body {
	height: 100%!important;
}
* {
	font-family: "Sawarabi Mincho" , "Neue Haas Unica W04", "メイリオ", serif, "Arial"!important;
	/* font-family: "Sawarabi Mincho" , "Neue Haas Unica W04", "メイリオ", serif, "Arial"; */
	/* font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif; */
	/* font-family: 'Noto Serif JP',serif; */
	letter-spacing: 0rem;
}
/*フォント*/
.js_font {
	font-family: 'Noto Serif JP',serif!important;
}
/*ローディング*/
#splash {
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 1002;
	text-align: center;
	color: #A59ACA;
}
#splash_text {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1002;
	transform: translate(-50%, -50%);
	color: #000;
	width: 100%;
}
.loader_cover {
	width: 100%;
	height: 50%;
	background-color: #A59ACA;
	transition: all .2s cubic-bezier(.04,.435,.315,.9);
	transform: scaleY(1);
}
.loader_cover-up {
	transform-origin: center top;
}
.loader_cover-down {
	position: absolute;
	bottom: 0;
	transform-origin: center bottom;
}
.coveranime {
	transform: scaleY(0);
}
/*ローディングend*/
/*マウスストーカー*/
#stalker {
	pointer-events: none;
	position: fixed;
	top: -8px;
	left: -8px;
	width: 20px;
	height: 20px;
	background: rgba(220,217,236,0.5);
	border-radius: 50%;
	transition: transform 0.3s, top, .3s, left, .3s, width .5s, background-color .5s;
	transition-timing-function: ease-out;
	z-index:1001;
}
#stalker.hov_ {
	top: -25px;
	left: -25px;
	width: 40px;
	height: 40px;
	transition: .5s;
	background: rgba(165,154,202,0.5);
}
/*マウスストーカーend*/
/*ヘッダーエリア*/
#header {
	display: flex;
}
/*ハンバーガーメニュー*/
.g_nav_open {
	position:fixed;
	z-index:1000;
	background:transparent;
	cursor: pointer;
	top: 20px;
	left: 2%;
	width: 60px;
	height: 60px;
	border-radius: 5px;
	transition: all 0.5s;
}
@media screen and (max-width: 480px) {
	.g_nav_open {
		top: 7px;
	}
}
.g_nav_open span {
	display: inline-block;
	transition: all .4s;
	position: absolute;
	left: 14px;
	height: 3px;
	border-radius: 2px;
	background: #000;
	width: 45%;
}
.g_nav_open span:nth-of-type(1){
	top: 21px;
	left: 16px;
}
.g_nav_open span:nth-of-type(2){
	top: 29px;
	left: 16px;
}
.g_nav_open span:nth-of-type(3){
	top: 37px;
	left: 16px;
}
.g_nav_open.active {
	left: 25%;
	transform: translateX(60%);
}
@media screen and (max-width:480px) {
	.g_nav_open.active {
		top: 15px;
		left: 0;
		/* transform: translateX(60%); */
	}
}
@media screen and (max-width:480px) {
	.g_nav_open.active {
		top: 40px;
		left: 0;
		/* transform: translateX(60%); */
	}
}
.g_nav_open.active span:nth-of-type(1){
	top: 6px;
	left: 23px;
	transform: translateY(6px) rotate(-45deg);
	width: 50%;
}
.g_nav_open.active span:nth-of-type(2){
	display: none;
}
.g_nav_open.active span:nth-of-type(3){
	top: 18px;
	left: 23px;
	transform: translateY(-6px) rotate(45deg);
	width: 50%;
}
@media screen and (max-width:480px) {
	.g_nav_open.active span:nth-of-type(1), .g_nav_open.active span:nth-of-type(3){
		background-color: #fff;
	}
	.g_nav_open.active span:nth-of-type(1){
		top: 15px;
		left: -10px;
		transform: translateY(6px) rotate(-45deg);
		-webkit-transform: translateY(6px) rotate(-45deg);
		width: 50%;
	}
	.g_nav_open.active span:nth-of-type(2){
		display: none;
	}
	.g_nav_open.active span:nth-of-type(3){
		top: 27px;
		left: -10px;
		transform: translateY(-6px) rotate(45deg);
		-webkit-transform: translateY(-6px) rotate(45deg);
		width: 50%;
	}
}
/*ハンバーガーメニュー end*/
/*ロゴ*/
#logo {
	position: relative;
	opacity: 1;
	/* transition: opacity .8s; */
	animation-name: fadeIn;
	animation-duration: .8s;
	animation-fill-mode: forwards;
	animation-timing-function: ease;
}
@keyframes fadeIn {
	0% {
		opacity: 0
	}
	100% {
		opacity:1;
	}
}
#logo.fade_out {
	/* opacity:0; */
	animation-name: fadeOut;
	animation-duration: .8s;
	animation-fill-mode: forwards;
	animation-timing-function: ease;
}
@keyframes fadeOut {
	0% {
		opacity: 1
	}
	100% {
		opacity:0;
	}
}
#logo a {
	position: relative;
	display: flex!important;
}

@media screen and (max-width:480px) {
	#logo a {
		position: relative;
		display: flex!important;
		margin-right: 0!important;
	}
}
#logo .logo_group {
	margin-left: 80%;
}
@media screen and (max-width: 480px) {
	#logo .logo_group {
		margin-left: 68%;
	}
}
#logo .logo_wrapper {
	width: 50px;
	height: 50px;
	overflow:hidden;
	background-image: url(../storage/img/common/avverarsi_logo.png);
	background-size: contain;
	background-position: center top;
}
@media screen and (max-width: 480px) {
	#logo .logo_group {
		margin-left: 0;
	}
	#logo .logo_wrapper {
		position: absolute;
		right: 45%;
		width: 45px;
		height: 45px;
	}
}
#logo .corp_name {
	font-family: "メイリオ", serif, "Arial"!important;
	margin-top: 15px!important;
	margin-left: 10px;
}
@media screen and (max-width: 480px) {
	#logo .corp_name {
		margin-left: 0;
	}
}
#logoGNav .logo_wrapper {
	width: 50px;
	height: 50px;
	overflow:hidden;
	background-image: url(../storage/img/common/avverarsi_logo.png);
	background-size: cover;
	background-position: center top;
}
#logoGNav p.corp_name {
	color: #fff;
	height: 40px;
	margin-top: 11px!important;
	font-family: "メイリオ", serif, "Arial"!important;
}
@media screen and (max-width:480px) {
	#logoGNav a {
		position: absolute;
		top: -10px;
	}
	#logoGNav .logo_wrapper {
		width: 30px;
		height: 30px;
	}
	#logoGNav p.corp_name {
		color: #fff;
		height: 20px;
		margin-top: 1px!important;
	}
}
/*ロゴ end */
/*グローバルナビ*/
#gNav {
	position: fixed;
	z-index: 999;
	top: 0;
	left: -120%;
	width: 100%;
	height: 100vh;
	background: #201f1f;
	animation-name: moveToLeft;
	animation-duration: 1.0s;
	animation-fill-mode: forwards;
	animation-timing-function: ease;
	left: -120%;
	opacity: 0.8;
}
@keyframes moveToLeft {
	0% {
		left: 0;
	}
	100% {
		left: -120%;
	}
}
@media screen and (max-width:480px) {
	#gNavList {
		position:relative;
		top: 15%;
	}
}
#gNav.panelactive {
	opacity: 0.8;
	animation-name: moveToRight;
	animation-duration: .5s;
	animation-fill-mode: forwards;
	animation-timing-function: ease;
}
@keyframes moveToRight {
	0% {
		left:-120%;
	}
	100% {
		left: 0;
	}
}
@media screen and (max-width: 576px){
	#gNav.panelactive {
		animation-name: moveToRightMobile;
		animation-duration: .5s;
		animation-fill-mode: forwards;
		animation-timing-function: ease;
		background-color: #201f1f;
		opacity: 0.8;
	}
	@keyframes moveToRightMobile {
		0% {
			left:-120%;
		}
		100% {
			left: 0;
		}
	}
}
#gNav.panelactive #gNavList {
	position: relative;
	top: 50px;
	/* left: 30px; */
	z-index: 999;
	width: 100%;
	height: 100vh;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 576px) {
	#gNav.panelactive #gNavList {
		width: 100%;
	}
}
@media screen and (max-width: 576px) {
	#gNav ul {
		position: relative;
		z-index: 999;
		width: 100%;
		transform: translate(0,10%);
	}
}
#gNav li {
	list-style: none;
	margin-bottom: 1.5rem;
}
#gNav li a {
	color: #fff;
	text-decoration: none;
	padding-top: 20px;
	display: block;
	letter-spacing: 0.1rem;
	position:relative;
}
#gNav li span.menu_text_wrapper {
	overflow: hidden;
	display: inline-block;
}
#gNav li a span.menu_en {
	display: inline-block;
	font-size: 2.0rem;
}
#gNav li a span.slide_down_up{
	/* animation-name: slideTextDownUp;
	animation-duration: 1.5s;
	animation-fill-mode: forwards;
	opacity: 0; */
}
@keyframes slideTextDownUp {
	from {
		transform: translateY(100%);
		-webkit-transform: translateY(100%);
	}
	to {
		opacity: 1;
		transform : translateY(0);
		-webkit-transform: translateY(0);
	}
}
#gNav #gNavList ul li span.menu_jp {
	position: absolute;
	bottom: 13px;
	font-size: 1.0rem;
	width: 130px;
	margin-left: 1rem;
	opacity: 1;
}
/* #gNav #gNavList ul li span.show {
	opacity: 1!important;
	transition: opacity .5s;
	-webkit-transition: opacity .5s;
} */
#gNav span.menu_no {
	position:absolute;
	top:10px;
	font-size: 0.8rem;
	margin-right: 1.0rem;
	text-decoration : underline;
}

/*グローバルナビ　end*/

/*TOPページ以外*/
/*ページタイトル表示タイピング風*/
#pageTitle .text_typing {
	text-align: center;
	margin-bottom: 30px;
}
#pageTitle .text_typing h1 .category_name span{
	display: none;
}
#pageTitle #subTitle {
	margin-left: 2%;
}
/*ページタイトル表示タイピング風end*/
/*テキストエリアフェードアップ*/
.fade_up {
	animation-name: fadeUpAnime;
	animation-duration: 1.0s;
	animation-fill-mode: forwards;
	opacity: 0;
}
@keyframes fadeUpAnime{
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
/*テキストエリアフェードアップend*/

/*TOPページ以外 end*/


/*フッター*/
#footer {
	position: relative;
	top:3%;
	bottom: 0;
	background-color: #3d3d3d;
	color: #fff;
	width: 100%;
}
#footerNav {
	padding-top: 30px;
	padding-bottom: 30px;
}
#footerNav ul li{
	display: block;
	list-style:none;
	width: 150px;
	text-align: center;
	margin-left: 10px;
}
#footerNav ul li a{
	color: #fff;
}
#footer .logo_img {
	width: 40px;
	height: 40px;
	overflow: hidden;
	background-image: url(../storage/img/common/avverarsi_logo.png);
	background-size: cover;
	background-position: center top;
}
#footer #copyRight {
	color: #999999;
}
/*フッターend*/
/*スクロールダウンスクロールアップ*/
/* #footer {
	z-index:2;
} */
.scroll_top {
	position: fixed;
	right: 100px;
	z-index:2;
	opacity: 0;
	visibility: hidden;
	transition: opacity .5s, visibility .5s;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	animation: arrowmove 1s ease-in-out infinite;
}
@keyframes arrowmove {
	0%{
		bottom: 10%;
	}
	50%{
		bottom: 10.5%;
	}
	100%{
		 bottom: 10%;
	}
}
@media screen and (max-width: 576px){
	.scroll_top {
		right: 50px;
		animation: arrowmove 1s ease-in-out infinite;
	}
	@keyframes arrowmove {
		0%{
			bottom: 50px;
		}
		50%{
			bottom: 55px;
		}
		100%{
			 bottom: 50px;
		}
	}
}
.scroll_top.scroll_view {
	opacity: 1;
	visibility: visible;
}
.scroll_top a {
	text-decoration: none;
	color: #666;
	text-transform: uppercase;
	font-size: 0.9rem;
	display: block;
}
.js_scroll a::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 1px;
	height: 50px;
	background: #666;
}
.js_scroll a:before {
	content: "";
	position: absolute;
	top: 30px;
	right: -6px;
	width: 1px;
	height: 20px;
	background: #666;
	transform: skewX(-31deg);
}
_:-ms-lang(x), .js_scroll a::before {
	right: -11px;
}
.js_pagetop a::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 1px;
	height: 50px;
	background:#666;
}
.js_pagetop a::before {
    content: "";
    position: absolute;
    top: 0;
    right: -6px;
    width: 1px;
    height: 20px;
    background: #666;
    transform: skewX(31deg);
}

/*Edge IE11 hack*/
_:-ms-lang(x), .js-pagetop a::before{
  right:0;
}
/*スクロールダウンスクロールアップ end*/
/*コンタクトボタン*/
/* #contact_btn {
	position: relative;
} */
#contact_btn .contact_btn_wrapper {
	position: fixed;
	top: 65%;
	right: 0;
	width: 200px;
	height: 50px;
	z-index: 1000;
	background-color: #A59ACA;
}
#contact_btn .contact_btn_wrapper a {
	color: #fff;
	font-size: 1.2rem;
	padding-top: 12px;
	padding-bottom: 10px;
	padding-right: 10px;
}
#contact_btn .contact_btn_wrapper i {
	margin-right: 20px;
}
@media screen and (max-width:480px) {
	#contact_btn .contact_btn_wrapper {
		position: fixed;
		right: 0;
		width: 100px;
		height: 50px;
		z-index: 1000;
		background-color: #A59ACA;
	}
	#contact_btn .contact_btn_wrapper a {
		color: #fff;
		font-size: 1.2rem;
		padding-top: 12px;
		padding-bottom: 10px;
		padding-right: 10px;
	}
	#contact_btn .contact_btn_wrapper i {
		margin-right: 20px;
	}
}
/*コンタクトボタン end*/
/*テーブル関係*/
.table td, .table th {
	border-top: none;
}
/*テーブル関係end*/
/*フォームエラーメッセージ*/
.alert-danger {
    color: #fff!important;
    background-color: #A59ACA!important;
    border-color: #A59ACA!important;
	font-size: 1.0rem!important;
}
.btn-primary.focus, .btn-primary:focus {
    box-shadow: 0 0 0 0.2rem #F5B090;
}
::placeholder {
	color: #ccc!important;
}
/*フォームエラーメッセージend*/
