/*========================
ローディング
========================*/
#loaded {
	display: none;
	overflow: hidden;
}

#loader-bg {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: #FFF;
	z-index: 1000;
	overflow: hidden;
}

#loader {
	display: none;
	position: fixed;
	top: 50%;
	left: 50%;
	width: 70%;
	transform: translate(-50%, -50%);
	text-align: center;
	color: #fff;
	z-index: 100;
}

.loading_bar_wrap {
	width: 2.00rem;
	height: 1px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	overflow: hidden;
}

@media screen and (max-width: 499px) {
	.loading_bar_wrap {
		width: 1.00rem;
	}
}

.loading_bar {
	width: 100%;
	height: 1px;
	background-color: #666;
	animation: load_obi 1.4s ease-in-out;
	transform: translateX(-2.00rem);
}


@keyframes load_obi {
	0% {
		transform: translateX(-100%);
	}

	30% {
		transform: translateX(0);
	}

	70% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(100%);
	}
}

/*============================
背景
============================*/
.bg {
	width: 100%;
	height: 100%;
	background-image: url(../bg/202011.jpg);
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	opacity: 0.2;
	transition: all 6.0s;
}

/*============================
ヘッダー
============================*/
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 0.80rem;
	height: 100%;
	z-index: 1;
}

/* ナビゲーション */
header .glo_nav {
	position: absolute;
	left: 0.80rem;
	top: 0;
	width: 2.00rem;
	background-color: #000;
	color: #FFF;
	display: none;
}

@media screen and (max-width: 499px) {
	header .glo_nav {
		position: absolute;
		left: 0;
		top: 0;
		width: 100vw;
		height: 100vh;
		background-color: rgba(255, 255, 255, 0.8);
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(10px);
	}
}

header .glo_nav::before {
	content: "";
	position: absolute;
	left: -10px;
	top: 0.33rem;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 10px 8px 0;
	border-color: transparent #000 transparent transparent;
}

@media screen and (max-width: 499px) {
	header .glo_nav::before {
		content: none;
	}
}

header .glo_nav ul {
	padding: 0.30rem;
	padding-top: 0.20rem;
}

@media screen and (max-width: 499px) {
	header .glo_nav ul {
		padding-left: 0.20rem;
		text-align: center;
		padding-top: 18vh;
	}
}

header .glo_nav li {
	padding-top: 0.10rem;
	padding-bottom: 0.10rem;
}

@media screen and (max-width: 499px) {
	header .glo_nav li {
		padding-top: 0.20rem;
		padding-bottom: 0.20rem;
	}
}

header .glo_nav li a {
	font-size: 0.14rem;
	letter-spacing: 0.16em;
	color: #FFF;
	display: block;
	text-decoration: none;
/*
	font-weight: 300;
	font-family: fot-tsukuardgothic-std, sans-serif;
*/
}

@media screen and (max-width: 499px) {
	header .glo_nav li a {
		font-size: 0.18rem;
		letter-spacing: 0.16em;
		color: #111;
		font-weight: 400;
	}
}

/* アイコンメニュー */
.icon_wrap {
	position: absolute;
	top: 0.74rem;
	left: 0;
	width: 100%;
}

.icon_wrap li {
	padding-bottom: 0.20rem;
	text-align: center;
}

.icon_wrap li img {
	display: block;
	max-width: 0.30rem;
	max-height: 0.30rem;
	margin: auto;
}

.icon_wrap li a {
	display: block;
}

.icon_wrap li a:hover {
	opacity: 0.7;
}

/* コピーライト */
header .copyright {
	position: absolute;
	bottom: 0.20rem;
	left: 50%;
	transform: translateX(-50%);
	width: 0.10rem;
}

/*============================
コンテンツ全体
============================*/
main {
	margin-left: 0.80rem;
}

@media screen and (max-width: 499px) {
	main {
		margin-left: 0;
	}
}

.sec_title {
	margin-bottom: 0.40rem;
	position: relative;
/*	left: -14px;*/
}

.sec_title span {
	font-size: 0.18rem;
	line-height: 1.5;
	letter-spacing: 0.20em;
/*	font-weight: 500;*/
	display: inline-block;
/*	font-family: fot-tsukuardgothic-std, sans-serif;*/
/*	border-bottom: 1px solid #111;*/
}

.sec_title::before {
	content: "";
	position: relative;
	width: 8px;
	height: 1px;
	background-color: #111;
	display: inline-block;
	margin-right: 8px;
	top: -0.05rem;
	transition: all 0.3s ease;
}

@media screen and (max-width: 499px) {
	.sec_title {
		font-size: 0.14rem;
		font-weight: 500;
	}
}

/*============================
下層ページ
============================*/
.lead_text {
	font-size: 0.13rem;
	line-height: 2;
	letter-spacing: 0.08em;
	padding-bottom: 0.40rem;
}

/*============================
footer
============================*/
footer .in {
	border-top: 1px solid rgba(0, 0, 0, 0.3);
	padding-top: 0.20rem;
	padding-bottom: 0.20rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

footer .in nav ul {
	display: flex;
}

@media screen and (max-width: 499px) {
	footer .in nav ul {
		flex-wrap: wrap;
	}
}

footer .in nav li {
	padding-right: 0.20rem;
}

@media screen and (max-width: 499px) {
	footer .in nav li {
		padding-right: 0;
		padding-bottom: 0.10rem;
		padding-top: 0.10rem;
		width: 40%;
	}
}

footer .in nav li a {
	font-size: 0.11rem;
	letter-spacing: 0.16em;
	color: #111;
	text-decoration: none;
	display: block;
	position: relative;
	opacity: 0.6;
}

@media screen and (max-width: 499px) {
	footer .in nav li a {
		font-size: 0.12rem;
		letter-spacing: 0.16em;
		color: #111;
		text-decoration: none;
		display: block;
		position: relative;
		opacity: 0.6;
	}
}

footer .in nav li a:hover {
	opacity: 1;
}

footer .in nav li a::before {
	content: "";
	position: relative;
	width: 4px;
	height: 1px;
	background-color: #111;
	display: inline-block;
	margin-right: 8px;
	top: -0.03rem;
	transition: all 0.3s ease;
}

footer .in nav li a:hover::before {
	width: 8px;
	margin-right: 4px;
}

footer .logo {
	width: 0.40rem;
}

