:root {
	--global--color-primary:#1A1A1A;
	--global--color-background:#EEEBEA;
}

*:focus {
outline: none !important;
}
button:focus,
input:focus { outline:none !important; }



@media screen and (min-width:767px) {
	html {
		font-size:1.4vw;
	}
}

@media screen and (min-width:1024px) {
	html {
		font-size:1.1vw;
	}
}

@media screen and (min-width:1280px) {
	html {
		font-size:1.07vw;
	}
}

@media screen and (min-width:1536px) {
	html {
		font-size:0.87vw;
	}
}

@media screen and (max-width:767px) {
	html {
		font-size:2.4vw;
	}
}

@media screen and (max-width:639px) {
	html {
		font-size:2.8vw;
	}
}



/* #body
-------------------------------------------------------------- */

body {
	font-family: 'YakuHanJP','Zen Kaku Gothic New', serif;
	font-feature-settings: "palt";
	background:#fff;
	color:#1A1311;
	font-weight:400;
}

.ZenOldMincho {
	font-family: 'Zen Old Mincho', serif;
}

.ZenKakuGothicNew {
	font-family: 'Zen Kaku Gothic New', sans-serif;
}

.YakuHanMP {
	font-family: 'YakuHanMP';
	font-feature-settings: unset;
}

.grecaptcha-badge {
	visibility:hidden;
}

.z-2 {
	z-index:2;
}

.z-3 {
	z-index:3;
}

.z-4 {
	z-index:4;
}

.z-5 {
	z-index:5;
}

.z-6 {
	z-index:6;
}

.z-7 {
	z-index:7;
}

.z-8 {
	z-index:8;
}

.z-9 {
	z-index:9;
}

.z-30 {
	z-index:30;
}

.z-40 {
	z-index:40;
}

.leading-looser {
	line-height:2.4 !important;
}

.w-10_12 {
	width: 83.333333%;
}

.w-11_12 {
	width: 91.666667%;
}

/* .hoverbtn
-------------------------------------------------------------- */

.hoverbtn a {
	z-index: 1;
	display:block;
	padding:8rem 0;
	width:100%;
	overflow:hidden;
	line-height: 1;
}

.hoverbtn a:after {
	position: absolute;
	content: "";
	width: 0;
	height: 100%;
	top: 0;
	right: 0;
	z-index: -1;
	-webkit-transition: all 0.35s ease;
  -moz-transition: all 0.35s ease;
  -o-transition: all 0.35s ease;
  transition: all 0.35s ease;
}

.hoverbtn a:after { background:rgba(112,52,142,0.03);}

.hoverbtn a:hover:after {
	left: 0;
	width: 100%;
}

.hoverbtn a:active {
	top: 0px;
}

.cutText {
	text-overflow:ellipsis;
	white-space:nowrap;
	width:23vw;
}

.back-div {
	padding:20px 0;
	line-height: 1;
}

.ico-prev {
	background:url("../images/ico/ico-prev.svg") no-repeat left center;
	padding: 20px 0px 20px 40px;
	line-height: 1;
}

.ico-next {
	background:url("../images/ico/ico-next.svg") no-repeat right center;
	padding: 20px 40px 20px 0;
	line-height: 1;
}

@media screen and (max-width:639px) {
	.back-div {
		padding:10px 0;
	}

	.ico-prev {
		padding: 10px 0px 10px 20px;
	}
	.ico-next {
		padding: 10px 20px 10px 0;
	}
	.cutText {
		width:38vw;
	}
}

.vertical-rl {
	writing-mode: vertical-rl;
}

@media screen and (min-width:1024px) {

.lg_vertical-rl {
	writing-mode: vertical-rl;
}

}



