/*---------------------------------------
全体　共通
---------------------------------------*/
main.management_page {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0!important;
	font-family: YakuHanJP, 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	font-feature-settings: "palt";
	font-weight: 400;
	position: relative;
	background: #000000;
	scroll-behavior: smooth;
	color: #ffffff;
}

/*---------------------------------------
loading
---------------------------------------*/
.management_loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	background: #000000;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 1;
	visibility: visible;
	transition: opacity 1.5s ease;
}
.management_loading_inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.management_loading h1 {
	color: #ffffff;
	font-size: 2.3em;
	letter-spacing: 0.3em;
}
.management_loading p {
	color: #ffffff;
	font-size: 0.6em;
	letter-spacing: 0.3em;
}
.management_loading.is_hide {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 1.5s ease, visibility 0s linear 1.5s;
}
html.is_loading,
body.is_loading {
	overflow: hidden;
	height: 100vh;
	height: 100dvh;
	position: fixed;
	width: 100%;
}

/*---------------------------------------
フォント
---------------------------------------*/
/* news-gothic-std */
.ng_400 {
	font-family: "news-gothic-std", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.ng_700 {
	font-family: "news-gothic-std", sans-serif;
	font-weight: 700;
	font-style: normal;
}

/*---------------------------------------
視差効果を減らす設定を回避
---------------------------------------*/
@media (prefers-reduced-motion: reduce) {
	.management_loading {
		transition: opacity 1.5s ease !important;
	}

	.management_loading.is_hide {
		transition: opacity 1.5s ease, visibility 0s linear 1.5s !important;
	}

	.management_page .js_fade_up {
		transition: opacity 1s ease-out, transform 1s ease-out !important;
	}

	.management_page .management_kv_scroll::before {
		animation: scroll 2s infinite !important;
	}
}

/*---------------------------------------
fade-up
---------------------------------------*/
/* 表示領域で出現 */
.management_page .js_fade_up {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1s ease-out, transform 1s ease-out;
	will-change: opacity, transform;
}
.management_page .js_fade_up.is_show {
	opacity: 1;
	transform: translateY(0);
}
/*---------------------------------------
キービジュアル
---------------------------------------*/
/* KV全体 */
.management_page .management_kv {
	position: relative;
	width: 100%;
	height: 100vh;
	background-image: url("../img/management/management_kv_pc.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
}
.management_page .management_kv .kv_text_sp, .management_page .management_kv .management_kv_scroll {
	display: none;
}
/* SP */
@media screen and (max-width: 860px) {
	.management_page .management_kv {
		height: 0;
		background-image: url("../img/management/management_kv_sp_02.jpg");
		padding-top: 161.224489795918367%;
	}
	.management_page .management_kv .kv_text_sp {
		display: block;
		position: absolute;
		top: 45%;
		left: 6%;
		transform: translateY(-50%);
		z-index: 2;
		text-align: center;
		mix-blend-mode: difference;
		pointer-events: none;
		letter-spacing: 0.2em;
		font-size: 1.1em;
		color: rgba(255, 255, 255, 0.9);
	}
	/* スクロールダウン */
	.management_page .management_kv .management_kv_scroll {
		display: block;
		position: absolute;
		right: 1.3%;
		bottom: 16.5%;
		writing-mode: vertical-rl;
		letter-spacing: 0.15em;
		color: #afafaf;
		font-size: 1em;
	}
	.management_page .management_kv .management_kv_scroll::before {
		animation: scroll 2s infinite;
		background-color: #afafaf;
		bottom: -85px;
		content: "";
		height: 80px;
		left: 0;
		margin: auto;
		position: absolute;
		right: 0;
		width: 1px;
	}
	@keyframes scroll {
		0% {
			transform: scale(1, 0);
			transform-origin: 0 0;
		}
		50% {
			transform: scale(1, 1);
			transform-origin: 0 0;
		}
		51% {
			transform: scale(1, 1);
			transform-origin: 0 100%;
		}
		100% {
			transform: scale(1, 0);
			transform-origin: 0 100%;
		}
	}
}
/*---------------------------------------
about / profile
---------------------------------------*/
/* 共通 */
.management_page .management_about, .management_page .management_profile {
	width: 100%;
	position: relative;
}
.management_page .management_about_inner, .management_page .management_profile_inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.management_page .management_about_text, .management_page .management_about_image, .management_page .management_profile_text, .management_page .management_profile_image {
	width: 50%;
	box-sizing: border-box;
}
.management_page .management_about_text .management_about_text_title h2, .management_page .management_profile_text .management_profile_text_title h2 {
	color: #ffffff;
	letter-spacing: 0.2em;
	margin-bottom: 1em;
}
.management_page .management_about_text p, .management_page .management_profile_text p {
	color: #afafaf;
	text-align: left;
	line-height: 2.5em;
	font-size: 0.6em;
	width: 90%;
	margin: 3em auto 0 auto;
}
.management_page .management_about_image img, .management_page .management_profile_image img {
	display: block;
	margin: 0 auto;
}
/* SP */
@media screen and (max-width: 860px) {
	.management_page .management_about_inner {
		display: flex;
		flex-direction: column-reverse;
	}
	.management_page .management_profile_inner {
		display: flex;
		flex-direction: column;
	}
	.management_page .management_about_image, .management_page .management_profile_text {
		margin-top: 0;
	}
	.management_page .management_about_text, .management_page .management_about_image, .management_page .management_profile_text, .management_page .management_profile_image {
		width: 100%;
	}
	.management_page .management_about_text p, .management_page .management_profile_text p {
		line-height: 2.5em;
		font-size: 0.9em;
		width: 95%;
		margin: 5em auto 0 auto;
	}
}
/*---------------------------------------
about
---------------------------------------*/
/* 全体 */
.management_page .management_about {
	padding: 15em 0 10em 0;
}
/* 画像 */
.management_page .management_about_image {
	margin-top: 25rem;
	text-align: center;
}
.management_page .management_about_image_inner h2 {
	color: #ffffff;
	letter-spacing: 0.2em;
	margin-bottom: 1.5em;
}
.management_page .management_about_image img {
	width: 90%;
}
/* 文字 */
.management_page .management_about_text .management_about_text_inner {
	width: 60%;
	margin: 0 auto;
	text-align: center;
}
.management_page .management_about_text .management_about_text_title img {
	width: 100%;
	display: block;
	margin: 0 auto;
}
/* SP */
@media screen and (max-width: 860px) {
	.management_page .management_about {
		padding: 6em 0 0 0;
	}
	.management_page .management_about_image {
		margin-top: 5rem;
	}
	.management_page .management_about_image img {
		width: 85%;
	}
	.management_page .management_about_text .management_about_text_inner {
		width: 80%;
	}
	.management_page .management_about_text .management_about_text_title img {
		width: 80%;
	}
}
/*---------------------------------------
profile
---------------------------------------*/
/* 全体 */
.management_page .management_profile {
	padding: 15em 0 10em 0;
}
/* 文字 */
.management_page .management_profile_text .management_profile_text_inner {
	width: 60%;
	margin: 25rem auto 0 auto;
	text-align: center;
}
/* 画像 */
.management_page .management_profile_image {
	text-align: center;
}
.management_page .management_profile_image img {
	width: 100%;
}

/* profile情報 */
.profile_meta,
.profile_history {
	color: #afafaf;
	font-size: 0.6em;
	display: grid;
	grid-template-columns: 90px 1fr;
	column-gap: 0;
	row-gap: 5px;
}
.profile_meta{
	margin-bottom:1em;
}
.profile_meta dt,
.profile_history dt {
	margin: 0;
	text-align:right;
}
.profile_meta dt:after{
	content:":";
	margin: 0 0.5em;
}
.profile_history dt:after{
	content:"-";
	margin: 0 0.5em;
}
.profile_meta dd,
.profile_history dd {
	margin: 0;
	text-align:left;
}
p.profile_note{
	text-align:right!important;
	margin:1em 0 0 0!important;
	width:100%!important;
}

/* SP */
@media screen and (max-width: 860px) {
	.management_page .management_profile {
		padding: 6em 0 0 0;
	}
	.management_page .management_profile_text .management_profile_text_inner {
		width: 80%;
		margin: 5rem auto 0 auto;
	}
	.management_page .management_profile_image img {
		width: 90%;
		margin-top: 6rem;
	}
	.profile_meta,
	.profile_history {
		font-size: 0.9em;
		grid-template-columns: 70px 1fr; /* ←ここ縮める */
	}
}
/*---------------------------------------
management / contact
---------------------------------------*/
/* 共通 */
.management_page .management_management, .management_page .management_contact {
	width: 100%;
	position: relative;
}
.management_page .management_management_inner, .management_page .management_contact_inner {
	width: 100%;
	max-width: 680px;
	margin: 0 auto;
	box-sizing: border-box;
}
.management_page .management_management_text .management_management_text_title, .management_page .management_contact_text .management_contact_text_title {
	text-align: center;
}
.management_page .management_management_text .management_management_text_title h2, .management_page .management_contact_text .management_contact_text_title h2 {
	color: #ffffff;
	letter-spacing: 0.2em;
	font-size: 2.8em;
	margin-bottom: 0;
}
.management_page .management_management_text .management_management_text_title p.management_title_caption, .management_page .management_contact_text .management_contact_text_title p.contact_title_caption {
	color: #afafaf;
	font-size: 0.6em;
	text-align: center;
	margin: 0 auto;
}
/* management */
.management_page .management_management {
	padding: 10em 0 5em 0;
}
.management_page .management_management_text p {
	color: #afafaf;
	text-align: left;
	line-height: 2.5em;
	font-size: 0.7em;
	margin: 3em auto 0 auto;
}
/* contact */
.management_page .management_contact {
	padding: 10em 0 8em 0;
}
/* ボタン */
.management_page .management_contact_btn {
	text-align: center;
	margin: 5em auto 0 auto;
}
.management_page .management_contact_btn a {
	border: 1px solid #ffffff;
	padding: 0.5em 3em;
	color: #ffffff;
	display: inline-block;
	text-decoration: none;
	transition: all 0.3s ease;
}
.management_page .management_contact_btn a:hover {
	background-color: #ffffff;
	color: #000000;
}
/* SP */
@media screen and (max-width: 860px) {
	.management_page .management_management_text .management_management_text_title h2, .management_page .management_contact_text .management_contact_text_title h2 {
		font-size: 2em;
		margin-bottom: 0;
	}
	.management_page .management_management_text .management_management_text_title p.management_title_caption, .management_page .management_contact_text .management_contact_text_title p.contact_title_caption {
	font-size: 0.7em;
}
	.management_page .management_management_text p {
		line-height: 2.5em;
		font-size: 0.9em;
		width: 85%;
	}
	.management_page .management_management {
		padding: 10em 0 0 0;
	}
	.management_page .management_contact {
		padding: 10em 0 0 0;
	}
}
/*---------------------------------------
contact_visual
---------------------------------------*/
/* 全体 */
.management_page .management_contact_visual {
	position: relative;
	width: 100%;
	height: 680px;
	background: url("../img/management/management_contact_visual_pc.jpg") no-repeat center center;
	background-size: cover;
	overflow: hidden;
}
/* 中央テキスト */
.management_page .management_contact_visual_text {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	text-align: center;
	mix-blend-mode: difference;
	pointer-events: none;
	width: 100%;
}
.management_page .management_contact_visual_text h2 {
	color: rgba(255, 255, 255, 0.85);
	font-size: 4em;
	letter-spacing: 0.2em;
	margin-bottom: 0;
}
.management_page .management_contact_visual_text p {
	color: rgba(255, 255, 255, 0.85);
	font-size: 1em;
	letter-spacing: 0.2em;
}
/* SP */
@media screen and (max-width: 860px) {
	.management_page .management_contact_visual {
		margin: 8em 0;
	}
	.management_page .management_contact_visual {
		height: 0;
		background-image: url("../img/management/management_contact_visual_sp_02.jpg");
		padding-top: 151.020408163265306%;
	}
	.management_page .management_contact_visual_text {
		mix-blend-mode: normal;
		color: rgba(255, 255, 255, 0.8);
	}
	.management_page .management_contact_visual_text h2 {
		font-size: 2.5em;
	}
	.management_page .management_contact_visual_text p {
		font-size: 0.7em;
	}
}
/*---------------------------------------
右側追従nav
---------------------------------------*/
.management_page .management_side_nav {
	position: fixed;
	top: 50%;
	right: 2%;
	transform: translateY(-50%);
	z-index: 100;
}
.management_page .management_side_nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.management_page .management_side_nav li {
	margin: 0.5em 0;
	padding: 0;
}
.management_page .management_side_nav a {
	display: block;
	font-size: 0.55em;
	letter-spacing: 0.15em;
	text-decoration: none;
	color: #565656;
	/*
	transform: rotate(90deg);
	transform-origin: center;
	*/
	transition: color 0.3s ease, opacity 0.3s ease;
}
.management_page .management_side_nav a:hover {
	color: rgba(255, 255, 255, 0.7);
}
.management_page .management_side_nav a.is_current {
	color: #ffffff;
}
/* SP */
@media screen and (max-width: 860px) {
	.management_page .management_side_nav {
		display: none;
	}
}
/*---------------------------------------
縦装飾テキスト
---------------------------------------*/
.management_page .management_vertical_text {
	position: absolute;
	left: 50%;
	top: 7%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	font-size: 7em;
	letter-spacing: 1.5em;
	color: #ffffff;
	writing-mode: vertical-rl;
	text-orientation: upright;
	z-index: 1;
	pointer-events: none;
}
/* SP */
@media screen and (max-width: 860px) {
	.management_page .management_vertical_text {
		display: none;
	}
}