@charset "UTF-8";
/*背景*/
@keyframes kf_top_loading {
	0% {
		opacity: 1;
	}
	10% {
		opacity: 1;
	}
	50% {
		opacity: 1;
	}
	70% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		pointer-events: none;
	}
}
@keyframes kf_top_loading_bg {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		pointer-events: none;
	}
}
@keyframes kf_top_loading_logo {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes kf_top_loading_img {
	0% {
		transform: scale(1.1);
	}
	100% {
		transform: scale(1);
	}
}
.top_loading_bg {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	animation-name: kf_top_loading_bg;
	animation-direction: normal;
	animation-duration: 2s;
	animation-delay: 0.5s;
	animation-timing-function: linear;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
	z-index: 5002;
}

.top_loading {
	position: fixed;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 5001;
	opacity: 0;
	animation-name: kf_top_loading;
	animation-direction: normal;
	animation-duration: 5s;
	animation-delay: 0s;
	animation-timing-function: linear;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

.top_loading_logo {
	position: absolute;
	left: 7.5949367089%;
	z-index: 1;
	opacity: 0;
	animation-name: kf_top_loading_logo;
	animation-direction: normal;
	animation-duration: 1s;
	animation-delay: 0.75s;
	animation-timing-function: linear;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}
@media screen and (max-width: 599px) {
	.top_loading_logo {
		width: 84.8101265823%;
		bottom: 7.5949367089%;
	}
}
@media screen and (min-width: 600px) {
	.top_loading_logo {
		width: 50.6329113924%;
		top: 7.5949367089%;
	}
}

.top_loading_img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transform: scale(1.1);
	background-size: cover;
	background-position: 66.6% 0;
	background-image: url("../img/img_top_loading.jpg");
	animation-name: kf_top_loading_img;
	animation-direction: normal;
	animation-duration: 1.5s;
	animation-delay: 0s;
	animation-timing-function: linear;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}
@media screen and (min-width: 600px) {
	.top_loading_img {
		background-position: 100% 0;
	}
}
@media screen and (max-width: 599px) {
	.top_loading_img:before {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 30vh;
		background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 100%);
	}
}

.bg-wrap {
	position: fixed;
	z-index: -1;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background-size: 100% auto;
	background-repeat: no-repeat;
	background-position: 50% 100%;
	background-image: url("../img/bg_wrap.jpg");
}
@media screen and (max-width: 1024px) {
	.bg-wrap {
		background-size: 150% auto;
	}
}

/*ヘッダー*/
#header_wrap {
	border-bottom: none !important;
	box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.15);
	background-color: rgba(255, 255, 255, 0.95);
}

/*ロゴ*/
@media screen and (min-width: 1025px) {
	#header_wrap #header #logo_set #logo a img {
		height: 60px;
	}
	#header_wrap.header_wrap_change #header #logo_set #logo a img {
		height: 40px;
	}
}
@media screen and (max-width: 1024px) {
	#header_wrap #header #logo_set {
		padding-left: 1.5rem;
	}
	#header_wrap #header #logo_set #logo a img {
		height: 35px;
	}
	#header_wrap.header_wrap_change #header #logo_set #logo a img {
		height: 35px;
	}
}
/*グローバルナビ*/
#header #gnav {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 1.8rem;
}
#header #gnav a {
	font-size: 1.8rem;
	font-weight: 500;
}

@media screen and (min-width: 1025px) {
	#gnav_wrap #gnav #gnav_list > li > a > span,
	#gnav_wrap #gnav #gnav_list > li > a:visited > span,
	#header #gnav #gnav_list > li > a > span,
	#header #gnav #gnav_list > li > a:visited > span {
		font-size: 1.5rem;
		font-weight: 500;
	}
}
@media screen and (max-width: 1024px) {
	#gnav_wrap #gnav #gnav_list > li > a > span,
	#gnav_wrap #gnav #gnav_list > li > a:visited > span,
	#header #gnav #gnav_list > li > a > span,
	#header #gnav #gnav_list > li > a:visited > span {
		font-weight: 500;
	}
}
@media screen and (min-width: 1025px) {
	#gnav_wrap #gnav #gnav_list > li > a,
	#gnav_wrap #gnav #gnav_list > li > a:visited,
	#header #gnav #gnav_list > li > a,
	#header #gnav #gnav_list > li > a:visited {
		padding-left: 10px;
		padding-right: 10px;
	}
}
#gnav_wrap #gnav #gnav_list > li > a > span {
	color: #ccc;
	font-weight: 500;
}

/*top bg*/
#backgroundcolor .top_area:nth-child(odd),
#backgroundcolor .top_area:nth-child(even) {
	background-color: transparent;
}

/*トップページタイトル*/
.hgroup .heading_top {
	font-family: "Poiret One", sans-serif;
	font-weight: 400;
	font-style: normal;
}

@media screen and (min-width: 600px) {
	.hgroup .heading_top {
		font-size: 4.8rem;
	}
}
/*下層ページタイトル*/
.hgroup .heading01 {
	font-family: "Poiret One", sans-serif;
	font-weight: 400;
	font-style: normal;
}

@media screen and (min-width: 600px) {
	.hgroup .heading01 {
		font-size: 4.8rem;
	}
}
/*view more*/
a.btn_more span,
.btn_more span {
	font-family: "Noto Sans JP", sans-serif !important;
	font-weight: 400 !important;
	font-size: 1.6rem !important;
	border-bottom: solid 1px !important;
	padding-bottom: 0.5em !important;
	transition: 0.3s;
}
a.btn_more .icon,
.btn_more .icon {
	display: none !important;
}

a.btn_more:hover span {
	border-bottom-color: var(--link_color) !important;
	color: var(--link_color) !important;
}

/*ページトップボタン*/
#pagetop {
	width: 50px;
	height: 50px;
	bottom: 40px;
	right: 40px;
}
@media screen and (max-width: 1024px) {
	#pagetop {
		width: 40px;
		height: 40px;
		right: 20px;
		bottom: 20px;
	}
}
#pagetop a {
	position: relative;
	border: solid 1px var(--link_color);
	border-radius: 100vmax;
	margin: 0;
}
#pagetop a .ico {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 12px;
	height: 12px;
	border-top: solid 1px var(--link_color);
	border-right: solid 1px var(--link_color);
	translate: -50% -35%;
	rotate: -45deg;
	transition: 0.3s;
}
@media screen and (max-width: 1024px) {
	#pagetop a .ico {
		width: 10px;
		height: 10px;
	}
}
#pagetop a:hover .ico {
	border-top-color: #fff;
	border-right-color: #fff;
}

/*footer*/
#footer_wrap {
	background-color: transparent;
}

/*sns*/
#header .sns_icon li .icon::before {
	color: var(--link_color);
}

#copyright_wrap #copyright small {
	font-size: 1.3rem;
}