* {
	box-sizing: border-box;
}

html, body {
	width: 100%;
	height: 100%;
	overflow: auto;
	margin: 0;
	padding: 0;

	-ms-overflow-style: none;
	scrollbar-width: none;
	
}
/*
.page {
	overflow-x: hidden;
	overflow-y: auto;
	height: 100%;
}
*/
.page {
	overflow-x: hidden;
	overflow-y: auto;
	height: auto;
	-ms-overflow-style: none; /* Edge */
	scrollbar-width: none; /* Firefox */
}
.page::-webkit-scrollbar {
	display: none; /* Chrome,Safari */
}


.slide {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	letter-spacing: 0.2em;
	color: white;
	background-size: cover;
	background-position: center;
}
section {
	width: 100%;
}

.top-section{
	position: relative;
	height: 488px;
	overflow: hidden;               /* はみ出し防止 */
	background-color: #000;
}

.top-section .top-bg{
	position: absolute;
	width: 110vw;
	height: auto;
	object-fit: cover;
	z-index: 0;
	max-width: none;
	border: none;
	top: -10%;
	left: -7%;
}

/* グラデーションは上に重ねる */
.top-section::after{
	content:"";
	position:absolute;
	inset:0;
	/*
	background: linear-gradient(270deg,
		rgba(0,0,0,.2) 0.02%,
		rgba(0,0,0,.41) 27.51%,
		rgba(0,0,0,.5) 50.66%,
		#000 94.1%);
	*/
	z-index: 1;
}


.top-section-inner {
	position: relative;
	padding: 170px 118px 134px 118px;
	z-index:2;
}


.top-title {
	color: #fff;
	font-family: Satoshi;
	font-weight: 500;
	font-style: Medium;
	font-size: 80px;
	leading-trim: NONE;
	line-height: 100%;
	letter-spacing: 0%;

	margin-bottom: 24px;
}
.top-title-sub {
	color: #fff;
	font-family: Noto Sans JP;
	font-weight: 500;
	font-style: Medium;
	font-size: 18px;
	leading-trim: NONE;
	line-height: 100%;
	letter-spacing: 0%;
}


.pankuzu-list {
	display: flex;
	width: 144px;
	margin-bottom: 48px;
}

.pankuzu-unit {
	color: #fff;
	font-family: Noto Sans JP;
	font-weight: 300;
	font-style: Regular;
	font-size: 12px;
	leading-trim: NONE;
	line-height: 150%;
	letter-spacing: 0%;
}

.pankuzu-separator {
	position: relative;
	width: 24px;
	height: 18px;
}
.pankuzu-separator img{
	margin: 0 auto;
	width: 10px;
	height: 16px;
	display: block;
}

.pc_br {
	display: block;
}
.sp_br {
	display: none;
}

.menu-section {
	padding: 40px 120px;
}
.menu-section ul {
	display: flex;
	margin: 0;
}
.menu-section li {
	font-family: Noto Sans JP;
	font-weight: 700;
	font-size: 16px;
	line-height: 160%;
	color: #151515;
	padding-right: 40px;
}
.menu-section .menu-icon {
	vertical-align: sub;
padding-left: 8px;
}

.message-section {
	position: relative;
	padding: 80px 120px;
	width: 100%;
}

.message-image-area {
	aspect-ratio: 352/400;
	width: 352px
}

.message-image {
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 8px;
}
.message-title {
	font-family: Satoshi;
	font-weight: 500;
	font-size: 56px;
	line-height: 100%;
	color: #005EAD;
	padding-bottom: 16px;
}
.message-sub {
	font-family: Noto Sans JP;
	font-weight: 700;
	font-size: 20px;
	line-height: 100%;
	color: #005EAD;
	letter-spacing: 2px;
	padding-bottom: 0;
	margin-bottom: 0;
}

.message-body {
  display: flex;
  gap: 88px;
  justify-content: center;
}


.message-content {
	font-family: Noto Sans JP;
	font-weight: 400;
	font-size: 16px;
	line-height: 162%;
	color: #151515;
	letter-spacing: 0.7px;

	width: 100%;
	max-width: 760px;
	padding-top: 44px;
}

.message-content-title {
	font-family: Noto Sans JP;
	font-weight: 700;
	font-size: 18px;
	line-height: 162%;
	color: #151515;
	letter-spacing: 0.7px;
	padding-bottom: 16px;
}

.message-sign {
	font-family: Noto Sans JP;
	font-weight: 700;
	font-size: 14px;
	line-height: 160%;
	color: #151515;
	letter-spacing: 0.75px;
	padding-top: 16px;
}




.information-section {
	padding: 36px 0;
	padding-bottom: 0;
}
.information-panel{
	max-width: 100%;
	margin: -36px auto 0; /* ヒーローに少し被せる */
	background-color: #005EAD;
	color:#F2F2F2;
	border-radius: 24px 24px 0 0;
	padding: 80px 120px;
	position: relative;
	z-index: 11;
}
.information-main {
	width: 100%;
	display: flex;
	position: relative;
	padding-bottom: 56px;
}
.information-heading {
	width: 100%;
	margin: 0;
	font-family: "Noto Sans JP", system-ui, sans-serif;
	font-weight: 700;
	font-size: clamp(22px, 2.8vw, 28px);
	line-height: 1.4;
	color: #F2F2F2;
}
.information-heading_title {
	font-family: Satoshi;
	font-weight: 500;
	font-style: Medium;
	font-size: 56px;
	line-height: 100%;
	letter-spacing: 0%;
	padding-bottom: 16px;
}
.information-heading_sub {
	font-family: Noto Sans JP;
	font-weight: 700;
	font-style: Bold;
	font-size: 20px;
	line-height: 100%;
	letter-spacing: 2px;
}
.information-content {
	background: #fff;
	border-radius: 8px;
	padding: 16px 88px;
	line-height: 150%;
	width: 100.2%;
}
.information-content ul {
	border-top: solid 1px #CACACA;
	margin: 0;
	padding-bottom: 40px;
}
.information-content ul:first-child {
	border-top: none;
}
.information-content ul li {
	display: flex;
	padding-top: 40px;
}
.information-content-head {
	width: 21%;
	font-family: Noto Sans JP;
	font-weight: 700;
	font-style: Bold;
	font-size: 16px;
	line-height: 150%;
	letter-spacing: 0;
	color: #151515;
}
.information-content-body {
	width: 79%;
	font-family: Noto Sans JP;
	font-weight: 400;
	font-style: Regular;
	font-size: 16px;
	/* line-height: 140%; */
	line-height: 142%;
	letter-spacing: 0;
	color: #151515;
}
.information-content-body p {
	padding: 0;
	margin: 0;
	line-height: 180%;
}
.information-content-body p.keiretsu {
	line-height: 220%;
}
ul.information-content-body-location {
	display: flex;
	border: none;
	padding: 0;
	margin: 0;
}
ul.information-content-body-location li {
	display: inline;
	padding: 0;
}
ul.information-content-body-location li.location-map iframe {
	border-radius: 8px;
}
ul.information-content-body-location li.location-content {
	padding-left: 24px;
}
.location-content1 {
	font-family: Noto Sans JP;
	font-weight: 500;
	font-style: Medium;
	font-size: 16px;
	line-height: 140%;
	letter-spacing: 0;
	color: #151515;
	padding-bottom: 8px;
}
.location-content2 {
	font-family: Noto Sans JP;
	font-weight: 400;
	font-style: Regular;
	font-size: 16px;
	line-height: 140%;
	letter-spacing: 0;
	color: #151515;
	padding-bottom: 24px;
}
.location-content3 {
	display: flex;
	font-family: Noto Sans JP;
	font-weight: 400;
	font-style: Regular;
	font-size: 16px;
	line-height: 100%;
	letter-spacing: 0;
	color: #151515;
	padding-bottom: 23px;
}
.location-content3 div {
	padding-right: 29px;
}
.location-content3 .label {
	width: 43px;
	height: 22px;
	border: solid 1px #fff;
	background: #005EAD;
	text-align: center;
	font-family: Noto Sans JP;
	font-weight: 400;
	font-style: Medium;
	font-size: 14px;
	line-height: 100%;
	letter-spacing: 0;
	color: #fff;
	margin-right: 4px;
}
.location-content4 a {
	font-family: Noto Sans JP;
	font-weight: 700;
	font-style: Bold;
	font-size: 16px;
	line-height: 140%;
	letter-spacing: 0;
	color: #005EAD;
	padding-bottom: 0;

	display: flex;
	gap: 12px;
	align-items: flex-end;
	justify-content: flex-start;

}
.location-content4 img {
	/*padding-left: 12px;*/
	padding-left: 0px;
	vertical-align: text-top;
}
.affiliate {
	border-bottom: solid 1px #151515;
	line-height: 200%;
	word-break: keep-all;
	position: relative;
	top: -4px;
	text-decoration: none;
	color: #151515;
}
.affiliate:hover,
.affiliate:active,
.affiliate:focus {
	text-decoration: none;
}

.member-section {
	padding: 81px 191px 72px 191px;
}
.member-title {
	font-family: Satoshi;
	font-weight: 500;
	font-size: 56px;
	line-height: 100%;
	color: #151515;
	padding-bottom: 16px;
}
.member-sub {
	font-family: Noto Sans JP;
	font-weight: 700;
	font-size: 20px;
	line-height: 100%;
	color: #151515;
	letter-spacing: 2px;
	padding-bottom: 56px;
}
.member-content {
	display: flex;
	justify-content: center;
}
.member-post-title {
	font-family: Noto Sans JP;
	font-weight: 700;
	font-size: 24px;
	line-height: 140%;
	color: #005EAD;
	letter-spacing: 0;
	border-bottom: solid 1px #005EAD;
	width: 298px;
	padding-bottom: 16px;
	margin: 0 80px 16px 0;
}
.member-content ul {
	margin: 0;
	padding: 0;
}
.member-post {
	display: inline-block;
	font-family: Noto Sans JP;
	font-weight: 600;
	font-size: 16px;
	line-height: 180%;
	color: #151515;
	letter-spacing: 0;
	padding-bottom: 8px;
}
.member-post1 {
	width: 176px;
}
.member-post2 {
	width: 112px;
}
.member-post3 {
	width: 96px;
}
.member-name {
	display: inline-block;
	font-family: Noto Sans JP;
	font-weight: 400;
	font-size: 16px;
	line-height: 180%;
	color: #151515;
	letter-spacing: 0;
}

.history-section {
	position: relative;
	padding: 81px 192px 26px 191px;
	background: #F3F8FC;
}
.history-title {
	font-family: Satoshi;
	font-weight: 500;
	font-size: 56px;
	line-height: 100%;
	color: #005EAD;
	padding-bottom: 16px;
}
.history-sub {
	font-family: Noto Sans JP;
	font-weight: 700;
	font-size: 20px;
	line-height: 100%;
	color: #005EAD;
	letter-spacing: 2px;
	padding-bottom: 46px;
}
.history-content {
	position: relative;
	display: flex;
}
.history-content:before {
	position: absolute;
	top: 32px;
	left: 147px;
	display: block;
	content: "";
	background: #005EAD;
	width: 2px;
	height: 97.5%;
}
.history-content .dl-inner {
	display: flex;
	padding-bottom: 70px;
	height: 112px; /* ベースの高さ */
}
.history-content .dl-inner:last-child {
	padding-bottom: 0;
}
.history-content .dl-inner dd {
	display: flex;
	margin-left: 64px;
}
.history-content dt {
	position: relative;
	box-sizing: border-box;
	word-break: break-all;
	width: 152px;
	padding-right: 17px;
}
.history-content dt:before {
	position: absolute;
	display: block;
	content: "";
	top: .5em;
	right: 0;
	width: 8px;
	height: 8px;
	background: #005EAD;
	border-radius: 50%;
	transform: translateY(-50%);
}
.history-year {
	font-family: Satoshi;
	font-weight: 700;
	font-size: 40px;
	line-height: 100%;
	color: #005EAD;
}
.history-month {
	width: 80px;
	font-family: Noto Sans JP;
	font-weight: 700;
	font-size: 18px;
	line-height: 140%;
	color: #005EAD;
	padding-top: 8px;
	padding-right: 40px;
}
.history-text {
	font-family: Noto Sans JP;
	font-weight: 400;
	font-size: 16px;
	line-height: 140%;
	color: #151515;
	padding-top: 8px;
	white-space: nowrap;
}
.history-text span {
	display: inline-block;
	padding-bottom: 7px;
}
.history-content .multiple-years,
.history-content .multiple-years-child {
	padding-bottom: 0;
	height: 42px;
}
.history-content .multiple-years-child dt:before {
	width: 0;
}
.history-content .last-child {
	padding-bottom: 65px;
	height: 99px;
}
#history-bottom-line {
	position: absolute;
	bottom: 84px;
	left: 338px;
	height: 50px;
	border-left: dashed 2px #F3F8FC;

}



:root{
	--koganei-blue: #005EAD;								/* 既存のKOGANEIブルー */
}
.btn-outline-blue {
	margin: 0 auto;
	position: relative;
	display: inline-block;
	text-align: center;
}
.btn-outline-blue::after{
	content: "";
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	width: 23px;
	height: 23px;
	background: url("/common/asset/aboutus/icon_button_download.svg") no-repeat center / contain;
	/* SVGが透過前提なので背景は塗らない */
}
/* Hover / Active / Focus */
.btn-outline-blue:hover{
	color: var(--koganei-blue);
	text-decoration: none;
}
.btn-outline-blue:active{
	color: var(--koganei-blue);
	text-decoration: none;
}
.btn-outline-blue:focus-visible{
	color: var(--koganei-blue);
	text-decoration: none;
}
/* アウトライン・ブルー（Figma寸法 260×56） */
.btn-outline-blue{
	/* 寸法・形状 */
	--btnH: 50px;
	display: inline-flex;
	align-items: center;
	height: 55px;
	min-width: 250px;											 /* Figmaの横幅。必要なら width:260px; に */
	padding: 20px 40px 20px 30px;					 /* 右はアイコン分広め */
	border-radius: 64px;
	background: #fff;
	color: var(--koganei-blue);
	text-decoration: none;
	border: 1px solid #005EAD;

	/* 文字 */
	font-family: "Noto Sans JP", system-ui, sans-serif;
	font-weight: 700;
	font-size: 16px;
	line-height: 1;

	/* 演出 */
	position: relative;
	transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .06s ease;
	-webkit-tap-highlight-color: transparent;
}


#btn-download {
	position: relative;
	top: 18px;
	right: -2px;
	letter-spacing: 0.8px;
	height: 56px;
	min-width: 260px;
}
#btn-download::after {
	right: 12px
}
.access p {
	padding: 0 24px 24px 24px;
	line-height: 145%;
}
.access p:last-child {
	padding-bottom: 0;
}
.information-content .adjustment {
	padding-bottom: 43px;
}

.h128 {
	height: 128px !important;
}


@media (max-width: 1024px) {
	.top-section {
		height: 240px;
	}
	.top-section .top-bg {
		width: 185%;
		height: auto;
		top: 1px;
		left: -80%;
	}
	.top-section-inner {
		padding: 70px 24px 44px 24px;
	}
	.top-title {
		font-size: 48px;
		margin-bottom: 14px;
	}
	.top-title-sub {
		font-size: 14px;
	}

	.pankuzu-list {
		margin-bottom: 32px;
	}

	.menu-section {
		padding: 30px 24px 50px 24px;
	}
	.menu-section ul {
		flex-wrap: wrap;
	}
	.menu-section li {
		font-size: 14px;
		padding-right: 16px;
		padding-bottom: 16px;
	}
	.menu-section .menu-icon {
		width: 36px;
	}

	.message-section {
		padding: 0 24px;
		width: 100%;
	}
	.message-title {
		font-size: 40px;
		padding-bottom: 0;
		margin-bottom: 8px;
	}
	.message-sub {
		font-size: 16px;
		padding-bottom: 42px;
	}
	.message-content {
		font-size: 14px;
		line-height: 174%;
		margin-right: 0;
	}
	.message-sign {
		padding-top: 16px;
	}
	.message-image {
		position: relative;
		min-width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		padding-bottom: 0;
	}




	.message-body {
		display: flex;
		gap: 24px;
		flex-wrap: wrap;
	}

	 .message-content {
		order: 2;
		padding-top: 0;
		font-family: Noto Sans JP;
		font-weight: 400;
		font-style: Regular;
		font-size: 14px;
		leading-trim: NONE;
		line-height: 180%;
		letter-spacing: 0%;

	}

	.message-image-area {
		order: 1;
	}

	.information-section {
		margin-top: 64px;
	}
	.information-panel {
		position: relative;
		padding: 56px 24px 152px 24px;
	}
	.information-main {
		position: static;
		padding-bottom: 42px;
	}
	.information-heading_title {
		font-size: 40px;
		line-height: 120%;
		padding-bottom: 8px;
	}
	.information-heading_sub {
		font-size: 16px;
	}
	.information-body {
		position: absolute;
		bottom: 56px;
		left: 0px;
		width: 100%;
	}
	#btn-download {
		top: 0;
		left: 20px;
		width: 90%;
		display: inline-block;
		height: 58px;
	}
	.information-content {
		padding: 0 16px;
	}
	.information-content ul {
		padding-bottom: 32px;
	}
	.information-content ul li {
		display: block;
		padding-top: 32px;
	}
	.information-content-head {
		width: 100%;
	}
	.information-content-body {
		width: 100%;
		font-size: 14px;
		padding-top: 7px;
	}
	.information-content-body p {
		line-height: 177%;
	}
	ul.information-content-body-location {
		display: block;
	}
	ul.information-content-body-location li.location-map {
		position: relative;
		width: 100%;
		height: 0;
		padding-top: 168px;
		margin-bottom: 8px;
	}
	ul.information-content-body-location li.location-map iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	ul.information-content-body-location li.location-content {
		padding: 0;
	}
	ul.location-map-parent {
		padding-bottom: 0;
	}
	.location-content2,
	.location-content3,
	.location-content3 div,
	.location-content4 {
		display: block;
		width: 100%;
		font-size: 14px;
		padding-bottom: 12px;
	}
	.location-content2 .zip-code {
		display: inline-block;
		padding-bottom: 4px;
	}
	.location-content3 div {
		line-height: 130%;
	}
	.location-content3 .label {
		width: 40px;
		height: 20px;
		font-size: 12px;
	}
	.location-content4 a {
		font-size: 14px;
	}
	.location-content3,
	.location-content4 {
		padding-bottom: 0;
	}
	.access p {
		padding: 0 0px 23px 20px;
		line-height: 150%;
	}
	.information-content .adjustment {
		padding-bottom: 38px;
	}
	#keiretsu-parent {
		padding-top: 26px;
	}
	.keiretsu span {
		line-height: 130%;
		display: inline-block;
		margin-bottom: 8px;
	}
	.information-content ul.keiretsu-bottom-pad {
		padding-bottom: 24px;
	}

	.member-section {
		padding: 60px 24px 21px 24px;
	}
	.member-title {
		font-size: 40px;
		padding-bottom: 12px;
	}
	.member-sub {
		font-size: 16px;
		padding-bottom: 24px;
	}
	.member-post-title {
		font-size: 20px;
		margin: 16px;
		padding-bottom: 15px;
		width: 90%;
	}
	.member-content {
		display: block;
	}
	.member-content ul {
		margin: 16px;
		padding-bottom: 15px;
	}
	.member-post1,
	.member-post2,
	.member-post3 {
		width: 176px;
	}

	.history-section {
		padding: 60px 24px 20px 24px;
	}
	.history-title {
		font-size: 40px;
		padding-bottom: 8px;
	}
	.history-sub {
		font-size: 16px;
		padding-bottom: 42px;
	}
	.history-content dt {
		width: 73px;
		padding-right: 0;
	}
	.history-content dl {
		width: 100%;
		margin-bottom: 0;
	}
	.history-content .dl-inner {
		padding-bottom: 38px;
		height: 112px;
	}
	.history-content .dl-inner:last-child {
		height: 70px;
	}
	.history-content .dl-inner dd {
		display: block;
		margin-left: 26px;
		flex: 1;
		position: relative;
		top: -8px;
	}
	.history-content .multiple-years,
	.history-content .multiple-years-child {
		height: 86px;
	}
	.history-content .last-child {
		height: 96px;
	}
	.history-content:before {
		top: 28px;
		left: 68px;
		height: 98.8%;
	}
	.history-year {
		font-size: 20px;
	}
	.history-month {
		width: 92px;
		font-size: 16px;
	}
	.history-text {
		font-size: 14px;
		line-height: 150%;
		margin-right: 12px;
		white-space: normal;
	}
	.history-text span {
		display: inline-block;
		padding-bottom: 8px;
	}
	#history-bottom-line {
		bottom: 26px;
		left: 92px;
	}
	.h128 {
		height: 161px !important;
	}
	.sp2016 {
		height: 131px !important;
	}
}
