body.tokueikai-corporate {
	/* Separate purpose and Article 1 cards add 101px including the new gap. */
	--corporate-ethics-expansion: 101px;
	--corporate-page-height: calc(5510px + var(--corporate-ethics-expansion));
	--corporate-footer-height: 523px;
	--corporate-artboard-height: calc(var(--corporate-page-height) + var(--corporate-footer-height));
}

body.tokueikai-corporate .tokueikai-stage {
	height: calc(var(--corporate-artboard-height) / 1280 * 100vw);
}

.tokueikai-artboard--corporate {
	height: var(--corporate-artboard-height);
	background: #dcd7cc;
}

.tokueikai-artboard--corporate .site-footer {
	top: var(--corporate-page-height);
}

.corporate-page {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	width: 1280px;
	height: var(--corporate-page-height);
	background: #dcd7cc;
	color: #333;
}

.corporate-page h1,
.corporate-page h2,
.corporate-page h3,
.corporate-page p,
.corporate-page ul,
.corporate-page dl,
.corporate-page dd,
.corporate-page figure {
	margin: 0;
}

.corporate-page .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.corporate-page a:focus-visible,
.corporate-page summary:focus-visible {
	outline: 3px solid #674503;
	outline-offset: 3px;
}

.corporate-treatment {
	position: absolute;
	inset: 0;
	z-index: 3;
	overflow: hidden;
	pointer-events: none;
}

.corporate-treatment__piece,
.corporate-treatment__piece img {
	position: absolute;
	display: block;
	max-width: none;
	pointer-events: none;
}

.corporate-treatment__piece--upper {
	left: 708px;
	top: -140px;
	width: 647.486px;
	height: 544.334px;
}

.corporate-treatment__piece--upper img {
	left: 41.476px;
	top: 113.392px;
	width: 564.535px;
	height: 317.551px;
	opacity: .66;
	transform: rotate(152.176613deg);
}

.corporate-treatment__piece--lower {
	left: 209px;
	top: 257px;
	width: 452px;
	height: 256.789px;
}

.corporate-treatment__piece--lower img {
	inset: 0;
	width: 452px;
	height: 256.789px;
	opacity: .66;
	transform: rotate(179.527013deg);
}

.corporate-title {
	position: absolute;
	left: 338.5px;
	top: 65px;
	z-index: 4;
	width: 840px;
	height: 52px;
	font-family: var(--tokueikai-mincho);
	font-size: 36.129px;
	font-weight: 600;
	line-height: .9979;
	letter-spacing: 1.8065px;
	white-space: nowrap;
}

.corporate-hero-photo {
	position: absolute;
	left: 339px;
	top: 159px;
	z-index: 2;
	width: 616px;
	height: 261px;
	overflow: hidden;
	border-radius: 5px;
}

.corporate-hero-photo img {
	position: absolute;
	left: 0;
	top: -38.44px;
	width: 616px;
	height: 410.55px;
	max-width: none;
}

.corporate-slogan {
	position: absolute;
	left: 939px;
	top: 366px;
	z-index: 4;
	width: 240px;
	height: 116px;
	font-family: var(--tokueikai-mincho);
	font-size: 40px;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: 0;
	text-align: right;
}

.corporate-slogan span {
	display: block;
	white-space: nowrap;
}

.corporate-intro {
	position: absolute;
	left: 338.5px;
	top: 527px;
	z-index: 2;
	width: 840px;
	height: 50px;
	font-family: var(--tokueikai-sans);
	font-size: 17px;
	font-weight: 500;
	line-height: normal;
	letter-spacing: .51px;
}

.corporate-section {
	position: absolute;
	left: 338.5px;
	z-index: 2;
	width: 840px;
}

.corporate-section__heading {
	position: absolute;
	left: 0;
	top: 0;
	width: 840px;
	height: 43px;
}

.corporate-section__heading h2 {
	position: absolute;
	left: 0;
	top: 0;
	font-family: var(--tokueikai-sans);
	font-size: 22px;
	font-weight: 500;
	line-height: normal;
	white-space: nowrap;
}

.corporate-section__divider {
	position: absolute;
	left: 0;
	top: 39.5px;
	width: 840.009px;
	height: 3.308px;
	max-width: none;
	pointer-events: none;
}

.corporate-ethics {
	top: 657px;
	height: calc(1253px + var(--corporate-ethics-expansion));
}

.ethics-list {
	position: absolute;
	left: .5px;
	top: 66px;
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 840px;
	height: calc(1187px + var(--corporate-ethics-expansion));
}

.ethics-card {
	position: relative;
	flex: 0 0 auto;
	width: 840px;
	padding: 24px 32px;
	border: 1px solid #9e834e;
	border-radius: 8px;
	background: #e9e5d8;
	color: #412d05;
}

.ethics-card:nth-child(2),
.ethics-card:nth-child(3),
.ethics-card:nth-child(5),
.ethics-card:nth-child(8) { height: 131px; }
.ethics-card:nth-child(1),
.ethics-card:nth-child(4),
.ethics-card:nth-child(6),
.ethics-card:nth-child(7) { height: 156px; }

.ethics-card h3 {
	height: 24px;
	font-family: var(--tokueikai-sans);
	font-size: 20px;
	font-weight: 500;
	line-height: normal;
}

.ethics-card__rule {
	display: block;
	width: 774px;
	height: 1px;
	margin-top: 15px;
	background: #9e834e;
}

.ethics-card__body {
	margin-top: 14px;
	font-family: var(--tokueikai-sans);
	font-size: 17px;
	font-weight: 500;
	line-height: normal;
	letter-spacing: .51px;
}

.ethics-card__body p + p { margin-top: 0; }
.ethics-card__body strong { font-weight: 500; }

.corporate-services {
	top: calc(1990px + var(--corporate-ethics-expansion));
	height: 286px;
}

.service-list {
	position: absolute;
	left: .5px;
	top: 66px;
	width: 840px;
	height: 220px;
}

.service-card {
	position: absolute;
	top: 0;
	width: 280px;
	height: 220px;
}

.service-card:nth-child(1) { left: 0; }
.service-card:nth-child(2) { left: 280px; width: 279px; }
.service-card:nth-child(3) { left: 561px; width: 279px; }

.service-card h3 {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 84px;
	border: 1.041px solid #878585;
	background: #baaf8f;
	font-family: var(--tokueikai-sans);
	font-size: 18px;
	font-weight: 700;
	line-height: normal;
}

.service-card__body {
	width: 100%;
	height: 136px;
	padding: 29px 8px 22px;
	border: 1.041px solid #878585;
	border-top: 0;
	background: #dcd7cc;
}

.service-card:first-child .service-card__body { width: 279px; }

.service-card__body ul {
	width: 100%;
	padding-left: 18px;
	font-family: var(--tokueikai-sans);
	font-size: 12px;
	font-weight: 500;
	line-height: 14px;
	white-space: nowrap;
}

@media (min-width: 700px) {
	.service-card:nth-child(n + 2) .service-card__body {
		padding-right: 22px;
		padding-left: 21px;
	}
}

.corporate-history {
	top: calc(2356px + var(--corporate-ethics-expansion));
	height: 1291px;
}

.history-list {
	position: absolute;
	left: .5px;
	top: 66px;
	width: 840px;
	height: 1225px;
	font-family: var(--tokueikai-sans);
	font-size: 18px;
	line-height: 35px;
	letter-spacing: .36px;
}

.history-entry {
	display: grid;
	grid-template-columns: 162px 678px;
	width: 840px;
}

.history-entry dt {
	align-self: start;
	height: 35px;
	font-weight: 700;
	color: #674503;
	white-space: nowrap;
}

.history-entry dd {
	font-weight: 400;
	color: #555;
}

.corporate-disclosure {
	top: calc(3727px + var(--corporate-ethics-expansion));
	height: auto;
	min-height: 800px;
}

.corporate-disclosure__heading { position: relative; }

.disclosure-groups {
	width: 840px;
	padding-top: 24px;
}

.disclosure-group {
	width: 840px;
	margin: 0 0 14px;
	overflow: hidden;
	border: 1px solid rgba(103, 69, 3, .3);
	border-radius: 8px;
	background: rgba(255, 255, 255, .13);
	box-shadow: 0 1px 2px rgba(65, 45, 5, .04);
	transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.disclosure-group[open] {
	border-color: rgba(103, 69, 3, .58);
	background: rgba(233, 229, 216, .42);
	box-shadow: 0 4px 12px rgba(65, 45, 5, .08);
}

.disclosure-group summary {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 54px;
	padding: 13px 52px 13px 18px;
	border: 0;
	background: transparent;
	cursor: pointer;
	font-family: var(--tokueikai-sans);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
	list-style: none;
	transition: background-color .2s ease, color .2s ease;
}

.disclosure-group summary::-webkit-details-marker { display: none; }

@media (hover: hover) {
	.disclosure-group summary:hover {
		background: rgba(65, 45, 5, .08);
	}
}

.disclosure-group__dash {
	flex: 0 0 24px;
	width: 24px;
	height: 2px;
	margin-right: 10px;
	background: #9e834e;
}

.disclosure-group__state {
	position: absolute;
	right: 18px;
	top: 50%;
	width: 20px;
	height: 20px;
	transform: translateY(-50%);
}

.disclosure-group__state::before,
.disclosure-group__state::after {
	content: "";
	position: absolute;
	left: 3px;
	top: 9px;
	width: 14px;
	height: 1px;
	background: #674503;
}

.disclosure-group__state::after {
	transform: rotate(90deg);
	transition: transform .2s ease;
}
.disclosure-group[open] .disclosure-group__state::after { transform: rotate(0); }

.disclosure-list {
	width: 100%;
	margin: 0 !important;
	padding: 17px 24px 19px 54px;
	border-top: 1px solid rgba(103, 69, 3, .2);
	background: rgba(255, 255, 255, .2);
	font-family: var(--tokueikai-sans);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.55;
	letter-spacing: .85px;
}

.disclosure-list li {
	min-height: 29px;
	padding-left: 0;
}

.disclosure-list time {
	display: inline-block;
	width: 142px;
	white-space: nowrap;
}

.disclosure-list a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.disclosure-set-title {
	width: 840px;
	margin: 34px 0 16px !important;
	padding-bottom: 10px;
	border-bottom: 1px solid #878585;
	font-family: var(--tokueikai-sans);
	font-size: 22px;
	font-weight: 500;
	line-height: normal;
}

@media (max-width: 699px) {
	body.tokueikai-corporate {
		--corporate-page-height: 5750px;
		--corporate-footer-height: 959px;
	}

	body.tokueikai-corporate .tokueikai-stage {
		height: calc(var(--corporate-artboard-height) / 375 * 100vw);
	}

	.tokueikai-artboard--corporate {
		width: 375px;
		height: var(--corporate-artboard-height);
		background: #dcd7cc;
	}

	.tokueikai-artboard--corporate .site-footer {
		top: var(--corporate-page-height);
		height: 959px;
		background: #dcd7cc;
	}

	.corporate-page {
		position: absolute;
		left: 0;
		top: 0;
		width: 375px;
		height: var(--corporate-page-height);
		padding: 96px 10px 56px;
		background: #dcd7cc;
	}

	.corporate-treatment {
		left: 0;
		top: 110px;
		width: 375px;
		height: 300px;
	}

	.corporate-treatment__piece--upper {
		left: 175px;
		top: -96px;
		transform: scale(.46);
		transform-origin: left top;
	}

	.corporate-treatment__piece--lower {
		left: -92px;
		top: 165px;
		transform: scale(.54);
		transform-origin: left top;
	}

	.corporate-title,
	.corporate-hero-photo,
	.corporate-slogan,
	.corporate-intro,
	.corporate-section,
	.corporate-section__heading,
	.ethics-list,
	.service-list,
	.history-list {
		position: static;
	}

	.corporate-title {
		width: 355px;
		height: auto;
		font-size: 24px;
		line-height: normal;
		letter-spacing: 1.2px;
	}

	.corporate-hero-photo {
		position: relative;
		left: auto;
		top: auto;
		width: 355px;
		height: 150.4px;
		margin-top: 28px;
		border-radius: 4px;
		box-shadow: none;
	}

	.corporate-hero-photo img {
		/* Scale the desktop crop uniformly; never stretch the source to the frame. */
		top: calc(-38.44px * 355 / 616);
		width: 355px;
		height: auto;
	}

	.corporate-page .corporate-slogan {
		width: 355px;
		height: auto;
		margin: 18px 0 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		font-size: 25px;
		line-height: 1.55;
		letter-spacing: 1.25px;
		text-align: right;
	}

	.corporate-page .corporate-intro {
		width: 355px;
		height: auto;
		margin-top: 20px;
		font-size: 15px;
		line-height: 1.8;
		letter-spacing: .45px;
	}

	.corporate-section {
		width: 355px;
		height: auto;
		min-height: 0;
		margin-top: 46px;
	}

	.corporate-section__heading {
		position: relative;
		width: 355px;
		height: 42px;
	}

	.corporate-section__heading h2 {
		font-size: 20px;
	}

	.corporate-section__divider {
		top: 36px;
		width: 355px;
		height: 2px;
	}

	.ethics-list {
		display: flex;
		width: 355px;
		height: auto;
		margin-top: 22px;
		gap: 16px;
	}

	.ethics-card,
	.ethics-card:nth-child(n) {
		width: 355px;
		height: auto;
		min-height: 0;
		padding: 20px 18px;
	}

	.ethics-card h3 {
		height: auto;
		font-size: 17px;
	}

	.ethics-card__rule { width: 317px; margin-top: 13px; }
	.ethics-card__body { margin-top: 13px; font-size: 15px; line-height: 1.75; letter-spacing: .45px; }
	.ethics-card__body p + p { margin-top: 5px; }

	.service-list {
		display: flex;
		flex-direction: column;
		width: 355px;
		height: auto;
		margin-top: 22px;
		gap: 18px;
	}

	.service-card,
	.service-card h3,
	.service-card__body {
		width: 355px;
	}
	.service-card:first-child .service-card__body { width: 355px; }

	.service-card { height: auto; }
	.service-card:nth-child(n) { position: static; width: 355px; }
	.service-card h3 { height: 62px; font-size: 17px; }
	.service-card__body { height: auto; min-height: 130px; padding: 20px 14px; }
	.service-card__body ul { font-size: 13px; line-height: 1.55; white-space: normal; }

	.history-list {
		width: 355px;
		height: auto;
		margin-top: 22px;
		font-size: 15px;
		line-height: 1.75;
		letter-spacing: .3px;
	}

	.history-entry {
		display: block;
		width: 355px;
		padding: 15px 0;
		border-bottom: 1px solid rgba(135, 133, 133, .6);
	}

	.history-entry:first-child { padding-top: 0; }
	.history-entry dt { margin-bottom: 5px; }
	.history-entry dt { height: auto; }
	.history-entry dd { padding-left: 14px; }

	.corporate-disclosure__heading { position: relative; }

	.disclosure-groups {
		width: 355px;
		padding-top: 22px;
	}

	.disclosure-group {
		width: 355px;
		margin-bottom: 12px;
		padding-bottom: 0;
		border-radius: 7px;
	}

	.disclosure-group summary {
		align-items: center;
		width: 100%;
		min-height: 58px;
		padding: 11px 42px 11px 14px;
		font-size: 16px;
		line-height: 1.55;
	}

	.disclosure-group__dash { margin-top: 0; flex-basis: 18px; width: 18px; margin-right: 9px; }
	.disclosure-group__title { flex: 1 1 auto; min-width: 0; }
	.disclosure-group__state { right: 12px; top: 50%; }

	.disclosure-list,
	.disclosure-group--figma .disclosure-list {
		width: 100%;
		height: auto;
		margin: 0 !important;
		padding: 14px 16px 16px 42px;
		font-size: 14px;
		line-height: 1.55;
		letter-spacing: .42px;
	}

	.disclosure-list li { min-height: 0; margin-bottom: 13px; }
	.disclosure-list li:last-child { margin-bottom: 0; }
	.disclosure-list time { display: block; width: auto; color: #674503; font-family: var(--tokueikai-sans); font-size: 12px; }
	.disclosure-list a { overflow-wrap: anywhere; text-underline-offset: 3px; }
	.disclosure-set-title {
		width: 355px;
		margin: 36px 0 22px !important;
		font-size: 19px;
	}
}

@media (min-width: 700px) {
	body.tokueikai-corporate .tokueikai-artboard {
		margin: 0;
		transform: scale(calc(100vw / 1280px));
	}
}
