@import url("tokens.css?v=20260926-sp-body"); /* TOP SP type scale lives in tokens.css */
@import url("https://fonts.googleapis.com/css2?family=Barlow:wght@300;400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");

:root {
	--wp--preset--font-family--manrope: "Noto Sans JP", sans-serif;
	--tdsi-header-h: 5.75rem;
	--tdsi-anchor-extra: 1rem;
}

html {
	scroll-behavior: smooth;
	/* Keep in-page anchors below the fixed/sticky site header */
	scroll-padding-top: calc(var(--tdsi-header-h) + var(--tdsi-anchor-extra));
}

/* Division/CRANK local nav is sticky under the header — add that height too */
html:has(.tdsi-division .page-menu),
html:has(.tdsi-crank .page-menu) {
	--tdsi-page-menu-h: 3.75rem;
	scroll-padding-top: calc(var(--tdsi-header-h) + var(--tdsi-page-menu-h) + var(--tdsi-anchor-extra));
}

@media (max-width: 781px) {
	html:has(.tdsi-division .page-menu),
	html:has(.tdsi-crank .page-menu) {
		--tdsi-page-menu-h: 5.75rem;
	}

	/* DS CM: page-menu wraps to 2 rows — keep section titles fully below it */
	html:has(.tdsi-ds-cm .page-menu) {
		--tdsi-page-menu-h: 8.75rem;
		--tdsi-anchor-extra: 1.25rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

body {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
}

.title-head .txt-light {
	font-family: Barlow, sans-serif;
	font-weight: 300;
}

.title-head .txt-light.normalcase {
	text-transform: none;
}

.txt-light,
.tdsi-crank .list-people .en,
.tdsi-crank .name-en,
.tdsi-crank .equip__brand,
.tdsi-crank .equip__name,
.tdsi-crank .equip__name a,
.tdsi-crank #banner .banner .head-text {
	font-family: Barlow, sans-serif;
}

.tdsi-page,
.tdsi-single,
.tdsi-archive,
.tdsi-index {
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size, 83.75rem);
}

/* 下層: TOPスクロール後と同じヘッダー */
.tdsi-site-header--sub {
	--tdsi-header-h: 5.75rem;
	position: sticky;
	top: 0;
	z-index: 80;
	box-sizing: border-box;
	width: 100%;
	height: var(--tdsi-header-h);
	padding-inline: 0;
	background: #eae8e4;
	color: #6F6F6F;
}

.tdsi-site-header--sub .tdsi-site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	height: 100%;
	max-width: 100%;
	margin-inline: 0;
	padding: 0.7rem max(1.25rem, env(safe-area-inset-right, 0px)) 1rem max(1.25rem, env(safe-area-inset-left, 0px));
}

.tdsi-site-header--sub .tdsi-site-header__logo {
	display: inline-flex;
	align-items: center;
	width: auto;
	max-width: clamp(8.5rem, 14vw, 12.5rem);
	height: calc(var(--tdsi-header-h) - 1.7rem);
	color: inherit;
	font-weight: 700;
	text-decoration: none;
}

.tdsi-site-header--sub .tdsi-site-header__logo-img {
	display: block;
	width: auto;
	height: 80%;
	max-width: 100%;
	object-fit: contain;
}

.tdsi-site-header--sub .tdsi-site-header__nav {
	display: flex;
	align-items: center;
	gap: clamp(1.25rem, 2.4vw, 2rem);
	margin-left: auto;
}

.tdsi-site-header--sub .tdsi-site-header__nav .menu {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: clamp(0.7rem, 1.4vw, 1.5rem);
}

@media (min-width: 960px) {
	.tdsi-site-header--sub .tdsi-site-header__nav .menu {
		display: flex;
		align-items: center;
	}
}

.tdsi-site-header--sub .tdsi-site-header__nav .menu a {
	font-family: "din-2014", "Barlow", "Helvetica Neue", Helvetica, sans-serif;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	color: inherit;
	white-space: nowrap;
}

@media (min-width: 960px) and (max-width: 1279px) {
	.tdsi-site-header--sub .tdsi-site-header__nav .menu > li > a {
		font-size: 16px;
	}
}

.tdsi-site-header--sub .tdsi-site-header__nav .menu > li > a {
	color: #6F6F6F;
}

.tdsi-site-header--sub .tdsi-site-header__utils {
	display: flex;
	align-items: center;
	gap: 0.85rem;
}

.tdsi-site-header--sub .tdsi-site-header__sns-list {
	display: flex;
	align-items: center;
	gap: 0.7rem;
}

.tdsi-site-header--sub .tdsi-site-header__sns {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	text-decoration: none;
}

.tdsi-site-header--sub .tdsi-site-header__sns img {
	display: block;
	width: 18px;
	height: 18px;
	object-fit: contain;
	filter: brightness(0) invert(0.435);
}

.tdsi-site-header--sub .tdsi-site-header__lang {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.35rem;
	height: 1.45rem;
	padding: 0 0.7rem;
	border: 0;
	border-radius: 999px;
	background: #6F6F6F;
	font-family: "din-2014", "Barlow", "Helvetica Neue", Helvetica, sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1;
	text-decoration: none;
	color: #eae8e4;
}

.tdsi-site-header--sub .tdsi-site-header__burger {
	width: 1.35rem;
	height: 0.95rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
	display: inline-flex;
	flex-direction: column;
	justify-content: space-between;
}

.tdsi-site-header--sub .tdsi-site-header__burger span {
	display: block;
	flex: 0 0 2px;
	height: 2px;
	min-height: 2px;
	max-height: 2px;
	width: 100%;
	background: currentColor;
}

@media (max-width: 759px) {
	.tdsi-site-header--sub .tdsi-site-header__inner {
		gap: 0.5rem;
		padding: 0.7rem max(1.5rem, env(safe-area-inset-right, 0px)) 1rem max(1.25rem, env(safe-area-inset-left, 0px));
	}

	.tdsi-site-header--sub .tdsi-site-header__logo {
		max-width: 7.5rem;
		flex-shrink: 1;
		min-width: 0;
	}

	.tdsi-site-header--sub .tdsi-site-header__nav {
		gap: 0.45rem;
		min-width: 0;
		flex-shrink: 0;
	}

	.tdsi-site-header--sub .tdsi-site-header__utils {
		gap: 0.5rem;
		flex-shrink: 0;
	}

	.tdsi-site-header--sub .tdsi-site-header__sns-list {
		gap: 0.4rem;
	}

	.tdsi-site-header--sub .tdsi-site-header__sns img {
		width: 16px;
		height: 16px;
	}

	.tdsi-site-header--sub .tdsi-site-header__lang {
		min-width: 2.1rem;
		height: 1.35rem;
		padding: 0 0.55rem;
		font-size: 12px;
	}

	.tdsi-site-header--sub .tdsi-site-header__burger {
		flex-shrink: 0;
	}
}


.tdsi-page-hero,
.tdsi-archive-hero {
	padding-block: clamp(3rem, 3.84rem, 6.5rem);
}

.tdsi-page-hero__label,
.tdsi-archive-hero__label,
.tdsi-card__date {
	color: var(--wp--preset--color--accent-4);
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: .08em;
	text-transform: uppercase;
}

.tdsi-entry,
.tdsi-archive-body,
.tdsi-department-feed {
	padding-block: var(--wp--preset--spacing--60);
}

.tdsi-section {
	margin-block-start: var(--wp--preset--spacing--60);
}

.tdsi-section__head {
	align-items: baseline;
	display: flex;
	gap: 1.5rem;
	justify-content: space-between;
	margin-block-end: var(--wp--preset--spacing--40);
}

.tdsi-card-list {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}

.tdsi-card {
	border-block-start: 1px solid currentColor;
	padding-block-start: var(--wp--preset--spacing--30);
}

.tdsi-card__link {
	color: inherit;
	display: grid;
	gap: var(--wp--preset--spacing--30);
	text-decoration: none;
}

.tdsi-card__thumb {
	aspect-ratio: 16 / 9;
	margin: 0;
	overflow: hidden;
}

.tdsi-card__thumb img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tdsi-card__title {
	font-size: clamp(0.96rem, 1.125rem, 1.5rem);
	margin-block: .35em 0;
}

.tdsi-card__excerpt {
	color: var(--wp--preset--color--accent-4);
	margin-block-end: 0;
}

.tdsi-meta {
	color: var(--wp--preset--color--accent-4);
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1rem;
	margin-block: var(--wp--preset--spacing--30);
}

.tdsi-empty {
	color: var(--wp--preset--color--accent-4);
}

.tdsi-mg .tdsi-section--news,
.tdsi-business .tdsi-section--news {
	background:
		linear-gradient(180deg, var(--tdsi-news-bg, #e3eee9) 0%, rgba(255, 255, 255, .94) 48%, #fff 100%);
	border-radius: 1.5rem;
	padding: clamp(3rem, 3.36rem, 5.5rem) clamp(1.25rem, 1.92rem, 3.5rem);
}

.tdsi-division.tdsi-mg,
.tdsi-division.tdsi-business {
	background: #fff;
	max-width: none;
}

.tdsi-division .breadcrumb,
.tdsi-crank .breadcrumb,
.tdsi-crank-equipment-detail .breadcrumb,
.crank-rental .breadcrumb,
.crank-rental-detail .breadcrumb {
	margin-inline: auto;
	max-width: 73.75rem;
	padding-block: clamp(1.5rem, 1.92rem, 2.5rem);
	padding-inline: clamp(1.25rem, 1.92rem, 3.5rem);
}

.tdsi-division .breadcrumb ul,
.tdsi-crank .breadcrumb ul,
.tdsi-crank-equipment-detail .breadcrumb ul,
.crank-rental .breadcrumb ul,
.crank-rental-detail .breadcrumb ul {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: .35rem .75rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tdsi-division .breadcrumb li,
.tdsi-crank .breadcrumb li,
.tdsi-crank-equipment-detail .breadcrumb li,
.crank-rental .breadcrumb li,
.crank-rental-detail .breadcrumb li {
	color: #777;
	font-size: .62rem;
	line-height: 1.6;
}

.tdsi-division .breadcrumb li:not(:last-child)::after,
.tdsi-crank .breadcrumb li:not(:last-child)::after,
.tdsi-crank-equipment-detail .breadcrumb li:not(:last-child)::after,
.crank-rental .breadcrumb li:not(:last-child)::after,
.crank-rental-detail .breadcrumb li:not(:last-child)::after {
	content: "＞";
	margin-inline-start: .35rem;
}

.tdsi-division .breadcrumb a,
.tdsi-crank .breadcrumb a,
.tdsi-crank-equipment-detail .breadcrumb a,
.crank-rental .breadcrumb a,
.crank-rental-detail .breadcrumb a,
.tdsi-division .breadcrumb span,
.tdsi-crank .breadcrumb span,
.tdsi-crank-equipment-detail .breadcrumb span,
.crank-rental .breadcrumb span,
.crank-rental-detail .breadcrumb span {
	color: inherit;
	font-size: inherit;
	text-decoration: none;
}

.tdsi-division .breadcrumb a:hover,
.tdsi-crank .breadcrumb a:hover,
.tdsi-crank-equipment-detail .breadcrumb a:hover,
.crank-rental .breadcrumb a:hover,
.crank-rental-detail .breadcrumb a:hover {
	opacity: .75;
}

.tdsi-division .page-title {
	background-color: #fff;
	background-image: var(--tdsi-title-bg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: clamp(2rem, 2.88rem, 5.5rem) clamp(1.25rem, 1.92rem, 3.5rem) clamp(1.25rem, 1.92rem, 3rem);
	text-align: center;
}

.tdsi-division .page-title img {
	height: auto;
	max-width: min(32.5rem, 20.1562rem);
}

.tdsi-division .page-menu {
	background: #fff;
	border-block: 1px solid #dedede;
	position: sticky;
	top: var(--tdsi-header-h, 5.75rem);
	z-index: 20;
}

.tdsi-division .page-menu ul {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tdsi-division .page-menu a {
	color: inherit;
	display: block;
	font-size: .875rem;
	letter-spacing: .04em;
	padding: 1rem clamp(0.75rem, 0.96rem, 1.5rem);
	text-decoration: none;
}

.tdsi-division .main-visual img {
	display: block;
	height: auto;
	width: 100%;
}

.tdsi-division .main-visual .slider,
.tdsi-crank .main-visual .slider {
	display: grid;
	gap: clamp(1rem, 1.44rem, 2rem);
}

.tdsi-division .main-visual--youtube .slider,
.tdsi-crank .main-visual--youtube .slider {
	aspect-ratio: 16 / 9;
	background: #000;
	display: block;
	overflow: hidden;
	position: relative;
}

.tdsi-division .tdsi-fv-progress,
.tdsi-crank .tdsi-fv-progress {
	background: rgba(255, 255, 255, .35);
	bottom: 0;
	height: .1875rem;
	left: 0;
	overflow: hidden;
	pointer-events: none;
	position: absolute;
	width: 100%;
	z-index: 5;
}

.tdsi-division .tdsi-fv-progress__bar,
.tdsi-crank .tdsi-fv-progress__bar {
	background: #fff;
	display: block;
	height: 100%;
	transform: scaleX(0);
	transform-origin: left center;
	width: 100%;
	will-change: transform;
}

.tdsi-division .tdsi-fv-controls,
.tdsi-crank .tdsi-fv-controls {
	align-items: center;
	background: linear-gradient(0deg, rgba(0, 0, 0, .82), rgba(0, 0, 0, 0));
	bottom: .1875rem;
	box-sizing: border-box;
	display: flex;
	gap: .75rem;
	left: 0;
	opacity: 0;
	padding: 1.5rem .875rem .625rem;
	pointer-events: none;
	position: absolute;
	transform: translateY(.25rem);
	transition: opacity .25s ease, transform .25s ease;
	visibility: hidden;
	width: 100%;
	z-index: 6;
}

.tdsi-division .main-visual--youtube.is-fv-controls-visible .tdsi-fv-controls,
.tdsi-crank .main-visual--youtube.is-fv-controls-visible .tdsi-fv-controls,
.tdsi-division .main-visual--youtube:focus-within .tdsi-fv-controls,
.tdsi-crank .main-visual--youtube:focus-within .tdsi-fv-controls {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
	visibility: visible;
}

@media (hover: hover) and (pointer: fine) {
	.tdsi-division .main-visual--youtube:hover .tdsi-fv-controls,
	.tdsi-crank .main-visual--youtube:hover .tdsi-fv-controls {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
		visibility: visible;
	}
}

.tdsi-division .tdsi-fv-controls__toggle,
.tdsi-crank .tdsi-fv-controls__toggle {
	background: transparent;
	border: 0;
	cursor: pointer;
	flex: 0 0 2rem;
	height: 2rem;
	padding: 0;
	position: relative;
	width: 2rem;
}

.tdsi-division .tdsi-fv-controls__toggle::before,
.tdsi-crank .tdsi-fv-controls__toggle::before {
	border-bottom: .5rem solid transparent;
	border-left: .75rem solid #fff;
	border-top: .5rem solid transparent;
	content: "";
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-42%, -50%);
}

.tdsi-division .tdsi-fv-controls__toggle.is-playing::before,
.tdsi-crank .tdsi-fv-controls__toggle.is-playing::before {
	background: linear-gradient(90deg, #fff 0 30%, transparent 30% 70%, #fff 70%);
	border: 0;
	height: 1rem;
	transform: translate(-50%, -50%);
	width: .75rem;
}

.tdsi-division .tdsi-fv-controls__seek,
.tdsi-crank .tdsi-fv-controls__seek {
	accent-color: #f00;
	cursor: pointer;
	flex: 1 1 auto;
	margin: 0;
	min-width: 0;
}

.tdsi-division .tdsi-fv-controls__mute,
.tdsi-crank .tdsi-fv-controls__mute {
	background: transparent;
	border: 0;
	color: #fff;
	cursor: pointer;
	font-family: "Noto Sans JP", sans-serif;
	font-size: .625rem;
	font-weight: 600;
	letter-spacing: .08em;
	padding: .5rem .25rem;
}

.tdsi-division .main-visual--youtube .item--youtube,
.tdsi-crank .main-visual--youtube .item--youtube {
	display: block;
	height: 100%;
	inset: 0;
	opacity: 0;
	position: absolute;
	transition:
		opacity 1.1s cubic-bezier(.22, 1, .36, 1),
		visibility 0s linear 1.1s;
	visibility: hidden;
	will-change: opacity;
	width: 100%;
	z-index: 1;
}

.tdsi-division .main-visual--youtube .item--youtube.is-active,
.tdsi-crank .main-visual--youtube .item--youtube.is-active {
	opacity: 1;
	transition:
		opacity 1.1s cubic-bezier(.22, 1, .36, 1),
		visibility 0s linear 0s;
	visibility: visible;
	z-index: 2;
}

.tdsi-division .tdsi-fv-youtube,
.tdsi-crank .tdsi-fv-youtube {
	aspect-ratio: 16 / 9;
	background: #000;
	height: 100%;
	overflow: hidden;
	width: 100%;
}

.tdsi-division .tdsi-fv-youtube iframe,
.tdsi-crank .tdsi-fv-youtube iframe {
	display: block;
	height: 100%;
	pointer-events: none;
	width: 100%;
}

.tdsi-division .content-box,
.tdsi-division .tdsi-section {
	margin-inline: auto;
	max-width: 73.75rem;
	padding: clamp(3rem, 3.36rem, 6rem) clamp(1.25rem, 1.92rem, 3.5rem);
}

.tdsi-division .content-box.news {
	background:
		linear-gradient(180deg, var(--tdsi-news-bg, #f8e9ef) 0%, rgba(255, 255, 255, .96) 34%, #fff 100%);
	max-width: none;
	padding-block: clamp(3rem, 3.36rem, 5.375rem);
}

.tdsi-division .content-box.news .wrap-box {
	margin-inline: auto;
	max-width: 61.25rem;
	padding-inline: clamp(1.25rem, 1.92rem, 3.5rem);
}

.tdsi-division .content-box.news .title-head {
	display: grid;
	gap: .35rem;
	margin-block: 0 26px;
	text-align: center;
}

.tdsi-division .content-box.news .txt-light {
	color: #505050;
	font-size: 1.85rem;
	font-weight: 400;
	letter-spacing: .04em;
	line-height: 1.1;
	text-transform: uppercase;
}

.tdsi-division .content-box.news .txt-noto {
	color: #505050;
	font-size: .78rem;
	font-weight: 400;
	letter-spacing: .02em;
}

.tdsi-division .list-content {
	display: grid;
	gap: clamp(1.75rem, 1.92rem, 3.5rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.tdsi-division .list-content .item {
	background: #f8f8f8;
	border-radius: 0;
	box-shadow: 0 14px 30px rgba(0, 0, 0, .035);
	min-height: 100%;
	position: relative;
}

.tdsi-division .list-content .item-link {
	inset: 0;
	position: absolute;
	z-index: 2;
}

.tdsi-division .list-content .thumbnail {
	align-items: center;
	background: #fff;
	display: flex;
	height: 50.66667vw;
	justify-content: center;
	overflow: hidden;
}

.tdsi-division .list-content .thumbnail img {
	display: block;
	max-height: 100%;
	max-width: 100%;
	object-fit: contain;
}

.tdsi-division .list-content .detail {
	padding: 1.5rem 1.625rem 1.875rem;
}

.tdsi-division .list-content .date {
	color: #333;
	font-size: .68rem;
	letter-spacing: .03em;
}

.tdsi-division .list-content .list-tag {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem .5rem;
	margin-block: .85rem 1rem;
}

.tdsi-division .list-content .tag {
	background: #fff;
	border: 1px solid #d4d4d4;
	color: #333;
	font-size: .66rem;
	line-height: 1;
	padding: .48em .72em;
}

.tdsi-division .list-content .title-content {
	color: #333;
	font-size: .78rem;
	font-weight: 500;
	letter-spacing: .01em;
	line-height: 1.85;
}

.tdsi-division .content-box.news .box-button-link {
	margin-block-start: var(--wp--preset--spacing--40);
	text-align: center;
}

.tdsi-division .content-box.news .box-button-link a {
	background: #c4a160;
	border: 1px solid #c4a160;
	border-radius: 0;
	color: #fff;
	display: inline-block;
	font-size: .9rem;
	font-weight: 700;
	min-width: 14.375rem;
	padding: .8em 1.6em;
	text-decoration: none;
}

.tdsi-crank {
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size, 83.75rem);
}

.tdsi-crank-hero {
	display: grid;
	gap: var(--wp--preset--spacing--50);
	padding-block: clamp(4rem, 4.8rem, 9rem);
}

.tdsi-crank-hero__body {
	max-width: 47.5rem;
}

.tdsi-crank-hero h1 {
	font-size: clamp(4rem, 6.24rem, 12rem);
	letter-spacing: -.08em;
	line-height: .82;
	margin-block: 0 var(--wp--preset--spacing--40);
}

.tdsi-crank-anchor {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
}

.tdsi-crank-anchor a,
.tdsi-crank-doc-links a {
	border: 1px solid currentColor;
	border-radius: 62.4375rem;
	color: inherit;
	padding: .55em 1em;
	text-decoration: none;
}

.tdsi-crank-staff-group {
	margin-block-start: var(--wp--preset--spacing--60);
}

.tdsi-crank-staff-list,
.tdsi-crank-equipment-grid,
.tdsi-crank-access {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}

.tdsi-crank-staff-card,
.tdsi-crank-equipment-card,
.tdsi-crank-feature,
.tdsi-crank-access > div {
	background: color-mix(in srgb, currentColor 4%, transparent);
	border-radius: 1.25rem;
	padding: var(--wp--preset--spacing--40);
}

.tdsi-crank-staff-card h4,
.tdsi-crank-equipment-card h3 {
	margin-block: 0 .25em;
}

.tdsi-crank-staff-card__en,
.tdsi-crank-staff-card__label,
.tdsi-crank-equipment-card__maker,
.tdsi-crank-equipment-card__price {
	color: var(--wp--preset--color--accent-4);
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: .04em;
	margin-block: 0 var(--wp--preset--spacing--30);
}

.tdsi-crank-category-list {
	display: grid;
	gap: .75rem;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	list-style: none;
	margin-block: var(--wp--preset--spacing--40);
	padding: 0;
}

.tdsi-crank-category-list li {
	border-block-start: 1px solid currentColor;
	padding-block-start: .75rem;
}

.tdsi-crank-doc-links {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
	margin-block-start: var(--wp--preset--spacing--40);
}

.tdsi-mg {
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size, 83.75rem);
}

.tdsi-mg-hero {
	display: grid;
	gap: var(--wp--preset--spacing--50);
	padding-block: clamp(4rem, 4.8rem, 9rem);
}

.tdsi-mg-hero__body {
	max-width: 47.5rem;
}

.tdsi-mg-hero h1 {
	font-size: clamp(3.5rem, 5.28rem, 10rem);
	letter-spacing: -.07em;
	line-height: .9;
	margin-block: 0 var(--wp--preset--spacing--40);
}

.tdsi-mg-anchor,
.tdsi-mg-information-list {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
}

.tdsi-mg-anchor a,
.tdsi-mg-service-card a,
.tdsi-mg-access a,
.tdsi-mg-information-list a {
	border: 1px solid currentColor;
	border-radius: 62.4375rem;
	color: inherit;
	display: inline-block;
	padding: .55em 1em;
	text-decoration: none;
}

.tdsi-mg-service-grid {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
}

.tdsi-mg .tdsi-section--service {
	background: #fff;
	max-width: none;
	padding-block: 0 clamp(4rem, 4.32rem, 7.75rem);
}

.tdsi-mg .mg-service-head {
	margin-inline: auto;
	max-width: 61.25rem;
	text-align: center;
}

.tdsi-mg .tdsi-section--service .title-head {
	display: grid;
	gap: .35rem;
	margin-block: 0 clamp(2.25rem, 2.4rem, 3.625rem);
	text-align: center;
}

.tdsi-mg .tdsi-section--service .txt-light {
	color: #505050;
	font-size: 1.85rem;
	font-weight: 400;
	letter-spacing: .04em;
	line-height: 1.1;
}

.tdsi-mg .tdsi-section--service .txt-noto {
	color: #505050;
	font-size: .78rem;
	font-weight: 400;
	letter-spacing: .02em;
}

.tdsi-mg .mg-service-search {
	align-items: center;
	background: #f1f1f1;
	display: flex;
	height: 3rem;
	margin: 0 auto clamp(3.36rem, 3.5rem, 4.875rem);
	max-width: 15.625rem;
}

.tdsi-mg .mg-service-search input {
	background: transparent;
	border: 0;
	color: #555;
	flex: 1;
	font-size: .8rem;
	height: 100%;
	min-width: 0;
	padding-inline: 1rem .5rem;
}

.tdsi-mg .mg-service-search input::placeholder {
	color: #8a8a8a;
}

.tdsi-mg .mg-service-search button {
	background: transparent;
	border: 0;
	height: 100%;
	position: relative;
	width: 2.875rem;
}

.tdsi-mg .mg-service-search button::before {
	border: 3px solid #5f5f5f;
	border-radius: 50%;
	content: "";
	height: 0.8125rem;
	left: 0.8125rem;
	position: absolute;
	top: 0.875rem;
	width: 0.8125rem;
}

.tdsi-mg .mg-service-search button::after {
	background: #5f5f5f;
	content: "";
	height: 0.625rem;
	left: 1.6875rem;
	position: absolute;
	top: 1.75rem;
	transform: rotate(-45deg);
	width: 0.1875rem;
}

.tdsi-mg-service-grid {
	gap: 0.625rem;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-inline: auto;
	max-width: 61.25rem;
}

.tdsi-mg-service-card {
	background: transparent;
	color: inherit;
	display: block;
	padding: 0;
	text-decoration: none;
}

.tdsi-mg-service-card figure {
	background: #f6f6f6;
	margin: 0;
	overflow: hidden;
}

.tdsi-mg-service-card img {
	aspect-ratio: 16 / 9;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.tdsi-mg-service-card p {
	color: #4d4d4d;
	display: inline-block;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.7;
	margin: 2.5rem 0 0 2.1875rem;
	padding: 0;
	position: relative;
}

.tdsi-mg-service-card p::after {
	background-color: #c49d62;
	content: "";
	height: 3.125rem;
	left: 0.8125rem;
	position: absolute;
	top: -3.4375rem;
	width: 1px;
}

@media (min-width: 48.875rem) {
	.tdsi-mg-service-card p {
		font-size: 0.875rem;
		margin: 2.5rem 0 0 2.5rem;
	}

	.tdsi-mg-service-card p::after {
		height: 3.125rem;
		left: 0.5rem;
		top: -3.75rem;
	}
}

@media (min-width: 1441px) {
	.tdsi-mg-service-card p {
		font-size: 0.875rem;
		margin: 2.5rem 0 0 2.5rem;
	}

	.tdsi-mg-service-card p::after {
		height: 3.125rem;
		left: 0.5rem;
		top: -3.75rem;
	}
}

.tdsi-mg .tdsi-section--access {
	background: #fff;
	max-width: none;
	padding: clamp(4rem, 4.32rem, 7.25rem) 0 0;
}

.tdsi-mg .tdsi-section--access .title-head,
.tdsi-mg .tdsi-section--information .title-head {
	display: grid;
	gap: .35rem;
	margin-block: 0 clamp(3.25rem, 3.36rem, 5.125rem);
	text-align: center;
}

.tdsi-mg .tdsi-section--access .txt-light,
.tdsi-mg .tdsi-section--information .txt-light {
	color: #505050;
	font-size: 1.85rem;
	font-weight: 400;
	letter-spacing: .04em;
	line-height: 1.1;
}

.tdsi-mg .tdsi-section--access .txt-noto,
.tdsi-mg .tdsi-section--information .txt-noto {
	color: #505050;
	font-size: .78rem;
	font-weight: 400;
	letter-spacing: .02em;
}

.tdsi-mg-access {
	display: grid;
	gap: clamp(2.5rem, 2.88rem, 4rem);
}

.tdsi-mg .mg-location {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 17.5rem;
}

.tdsi-mg .mg-location__detail {
	background: #c5a160;
	color: #fff;
	padding: clamp(2.125rem, 2.4rem, 3.625rem) clamp(2rem, 2.4rem, 4rem);
}

.tdsi-mg .mg-location__detail h3 {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.8;
	margin-block: 0 1.4rem;
}

.tdsi-mg .mg-location__detail p {
	font-size: .86rem;
	font-weight: 700;
	line-height: 1.9;
	margin-block: 0 2rem;
}

.tdsi-mg .mg-location__detail a {
	border: 0;
	border-bottom: 1px solid currentColor;
	border-radius: 0;
	color: #fff;
	display: inline-block;
	font-size: .86rem;
	font-weight: 700;
	padding: 0 1.5rem .25rem 0;
	position: relative;
	text-decoration: none;
}

.tdsi-mg .mg-location__detail a::after {
	content: ">";
	position: absolute;
	right: 0;
	top: 0;
}

.tdsi-mg .mg-location__map {
	filter: grayscale(1);
	min-height: 17.5rem;
	overflow: hidden;
}

.tdsi-mg .mg-location__map iframe {
	display: block;
	height: 100%;
	min-height: 17.5rem;
	width: 100%;
}

.tdsi-mg .tdsi-section--information {
	background: #fff;
	max-width: none;
	padding: clamp(4.75rem, 4.8rem, 7.875rem) clamp(1.25rem, 1.92rem, 3.5rem) clamp(1.75rem, 2.4rem, 3rem);
}

.tdsi-mg-information-list {
	display: grid;
	gap: 0.5rem;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	list-style: none;
	margin: 0 auto clamp(4.8rem, 5.25rem, 8.125rem);
	max-width: 63.75rem;
	padding: 0;
}

.tdsi-mg-information-list a {
	background: #747474;
	border: 0;
	border-radius: 0;
	color: #fff;
	display: flex;
	font-size: .82rem;
	font-weight: 700;
	justify-content: space-between;
	line-height: 1.4;
	padding: 1rem 1.15rem;
	text-decoration: none;
}

.tdsi-mg-information-list a::after {
	content: ">";
}

/* MG add_content: ACCESS / INFORMATION */
.tdsi-mg .content-box.box-map {
	box-sizing: border-box;
	margin-inline: auto;
	margin-top: clamp(3.984rem, 4.5rem, 7.5rem);
	max-width: 90rem;
	padding: 0 clamp(1.25rem, 1.92rem, 3.5rem) clamp(3rem, 3.36rem, 6rem);
	width: 100%;
}

.tdsi-mg .content-box.box-map .title-head.title-head--gray,
.tdsi-mg .box-equipment.service .title-head.title-head--gray,
.tdsi-mg.mg-studio .content-box.rental-box .title-head.title-head--gray,
.tdsi-mg.mg-information .content-box.rental-box .title-head.title-head--gray {
	display: grid;
	gap: .35rem;
	margin-block: 0 34px;
	text-align: center;
}

.tdsi-mg .content-box.box-map .title-head.title-head--gray .txt-light,
.tdsi-mg .box-equipment.service .title-head.title-head--gray .txt-light,
.tdsi-mg.mg-studio .content-box.rental-box .title-head.title-head--gray .txt-light,
.tdsi-mg.mg-information .content-box.rental-box .title-head.title-head--gray .txt-light {
	color: #505050;
	display: inline-block;
	font-family: Barlow, sans-serif;
	font-size: 1.85rem;
	font-weight: 300;
	letter-spacing: .04em;
	line-height: 1.1;
	margin-bottom: 0;
	text-transform: uppercase;
}

.tdsi-mg .content-box.box-map .title-head.title-head--gray .txt-noto,
.tdsi-mg .box-equipment.service .title-head.title-head--gray .txt-noto,
.tdsi-mg.mg-studio .content-box.rental-box .title-head.title-head--gray .txt-noto,
.tdsi-mg.mg-information .content-box.rental-box .title-head.title-head--gray .txt-noto {
	color: #505050;
	font-size: .78rem;
	font-weight: 400;
	letter-spacing: .02em;
}

.tdsi-mg .box-map .list-location {
	margin-top: clamp(2.352rem, 2.5rem, 4.375rem);
	max-width: 90rem;
	width: 100%;
}

.tdsi-mg .box-map .location {
	display: flex;
	flex-wrap: wrap;
	margin-top: clamp(0.816rem, 1rem, 1.5625rem);
	width: 100%;
}

.tdsi-mg .box-map .detail-location {
	background: #c49d62;
	box-sizing: border-box;
	color: #fff;
	order: 1;
	padding: clamp(1.75rem, 1.824rem, 3.4375rem);
	position: relative;
	width: 100%;
}

.tdsi-mg .box-map .detail-location .head-text {
	font-family: Barlow, sans-serif;
	font-size: clamp(0.528rem, 0.9375rem, 1rem);
	font-weight: 700;
	line-height: 1.4;
	margin: 0;
}

.tdsi-mg .box-map .detail-location .name {
	margin-top: 0;
}

.tdsi-mg .box-map .detail-location .address {
	margin-top: clamp(0.48rem, 0.75rem, 0.9375rem);
}

.tdsi-mg .box-map .location-visual {
	min-height: 18.75rem;
	order: 2;
	width: 100%;
}

.tdsi-mg .box-map .location-visual iframe {
	display: block;
	filter: grayscale(100%);
	height: 100%;
	min-height: 18.75rem;
	width: 100%;
}

.tdsi-mg .box-equipment.service {
	margin-top: clamp(4.5rem, 8.4375rem, 8.64rem);
	max-width: 100%;
	overflow-x: hidden;
	width: 100%;
}

.tdsi-mg .box-equipment.service .wrap-box {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: 90rem;
	padding-inline: 15px;
	width: 100%;
}

.tdsi-mg .box-equipment.service .equipment-lists {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.4375rem;
	justify-content: flex-start;
	list-style: none;
	margin: 2.6562rem auto 0;
	padding: 0;
	width: 100%;
}

.tdsi-mg .box-equipment.service .equipment-lists li {
	display: flex;
	flex: 1 1 20%;
	margin-bottom: 0;
	min-width: 0;
	padding: 0;
	width: 20%;
}

.tdsi-mg .box-equipment.service .equipment-lists a {
	align-items: center;
	background: #777;
	color: #fff;
	display: flex;
	font-size: clamp(0.625rem, 0.8125rem, 1.152rem);
	padding: 11px 9px 11px clamp(0.625rem, 1.152rem, 1.5rem);
	text-decoration: none;
	width: 100%;
}

.tdsi-mg .box-equipment.service .equipment-lists a:hover {
	opacity: .8;
}

.tdsi-mg .box-equipment.service .equipment-lists a span {
	flex: 1;
	min-width: 0;
}

.tdsi-mg .box-equipment.service .equipment-lists a img {
	display: none;
}

.tdsi-mg .box-equipment.service .equipment-lists a::after {
	color: #fff;
	content: "›";
	flex-shrink: 0;
	font-family: Barlow, sans-serif;
	font-size: 1.25em;
	font-weight: 400;
	line-height: 1;
	margin-left: auto;
	padding-left: .35em;
}

.tdsi-business {
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size, 83.75rem);
}

.tdsi-business-hero {
	display: grid;
	gap: var(--wp--preset--spacing--50);
	padding-block: clamp(4rem, 4.8rem, 9rem);
}

.tdsi-business-hero__body {
	max-width: 51.25rem;
}

.tdsi-business-hero h1 {
	font-size: clamp(3.25rem, 4.8rem, 9rem);
	letter-spacing: -.07em;
	line-height: .9;
	margin-block: 0 var(--wp--preset--spacing--40);
}

.tdsi-business-anchor {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
}

.tdsi-business-anchor a {
	border: 1px solid currentColor;
	border-radius: 62.4375rem;
	color: inherit;
	display: inline-block;
	padding: .55em 1em;
	text-decoration: none;
}

body.crank {
	background: #fff;
	color: #1f1f1f;
	overflow-x: hidden;
	overscroll-behavior-x: none;
	width: 100%;
}

.tdsi-crank.crank {
	background: #fff;
	max-width: 100%;
	overflow-x: hidden;
	width: 100%;
}

.tdsi-crank .page-title {
	background-color: #fff;
	background-image: url("../images/crank/page_title_bg.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: clamp(2rem, 2.88rem, 5.5rem) clamp(1.25rem, 1.92rem, 3.5rem) clamp(1.25rem, 1.92rem, 3rem);
	text-align: center;
}

.tdsi-crank .page-title img {
	height: auto;
	max-width: min(32.5rem, 20.1562rem);
}

.tdsi-crank .page-title a {
	display: inline-block;
	line-height: 0;
	text-decoration: none;
}

.tdsi-crank .page-menu {
	background: #fff;
	border-block: 1px solid #dedede;
	max-width: 100%;
	position: sticky;
	top: var(--tdsi-header-h, 5.75rem);
	width: 100%;
	z-index: 20;
}

.tdsi-crank .page-menu ul {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tdsi-crank .page-menu a {
	color: inherit;
	display: block;
	font-size: .875rem;
	letter-spacing: .04em;
	padding: 1rem clamp(0.75rem, 0.96rem, 1.5rem);
	text-decoration: none;
}

.tdsi-crank .main-visual img {
	display: block;
	height: auto;
	width: 100%;
}

.tdsi-crank .content-box:not(#banner):not(.equip-box):not(.box-map):not(.rental-box) {
	margin-inline: auto;
	max-width: 73.75rem;
	padding: clamp(3rem, 3.36rem, 6rem) clamp(1.25rem, 1.92rem, 3.5rem);
}

.tdsi-crank .title-head {
	display: grid;
	gap: .35rem;
	margin-block: 0 var(--wp--preset--spacing--50);
	text-align: center;
}

.tdsi-crank .title-head.title-head--gray {
	margin-block-end: 34px;
}

.tdsi-crank .title-head.title-head--gray .txt-light {
	color: #505050;
	font-family: Barlow, sans-serif;
	font-size: 1.85rem;
	font-weight: 300;
	letter-spacing: .04em;
	line-height: 1.1;
	text-transform: uppercase;
}

.tdsi-crank .title-head.title-head--gray .txt-noto {
	color: #505050;
	font-size: .78rem;
	font-weight: 400;
	letter-spacing: .02em;
}

.tdsi-crank .txt-light {
	color: #8b8b8b;
	font-family: Barlow, sans-serif;
	font-size: clamp(2rem, 2.88rem, 5.25rem);
	font-weight: 400;
	letter-spacing: .04em;
	line-height: .9;
	text-transform: uppercase;
}

.tdsi-crank .txt-noto {
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: .08em;
}

.tdsi-crank .box-button-link {
	margin-block-start: var(--wp--preset--spacing--40);
	text-align: center;
}

.tdsi-crank .box-button-link a {
	border: 1px solid currentColor;
	border-radius: 62.4375rem;
	color: inherit;
	display: inline-block;
	padding: .7em 1.6em;
	text-decoration: none;
}

.tdsi-crank .content-box.news {
	--crank-news-bg: #fae4eb;
	background:
		linear-gradient(180deg, #fae4eb 0%, rgba(255, 255, 255, .96) 34%, #fff 100%);
	max-width: none;
	padding-block: clamp(3rem, 3.36rem, 5.375rem);
	position: relative;
}

.tdsi-crank .content-box.news .wrap-box {
	margin-inline: auto;
	max-width: 61.25rem;
	padding-inline: clamp(1.25rem, 1.92rem, 3.5rem);
}

.tdsi-crank .content-box.news .title-head {
	margin-block-end: 26px;
}

.tdsi-crank .list-content {
	display: grid;
	gap: clamp(1.75rem, 1.92rem, 3.5rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.tdsi-crank .list-content .item {
	background: #f8f8f8;
	border-radius: 0;
	box-shadow: 0 14px 30px rgba(0, 0, 0, .035);
	min-height: 100%;
	position: relative;
}

.tdsi-crank .list-content .item-link {
	inset: 0;
	position: absolute;
	z-index: 2;
}

.tdsi-crank .list-content .thumbnail {
	align-items: center;
	background: #fff;
	display: flex;
	height: 50.66667vw;
	justify-content: center;
	overflow: hidden;
}

.tdsi-crank .list-content .thumbnail img {
	display: block;
	max-height: 100%;
	max-width: 100%;
	object-fit: contain;
}

@media (min-width: 768px) {
	.tdsi-crank .list-content .thumbnail,
	.tdsi-division .list-content .thumbnail {
		height: 13.61111vw;
	}
}

@media (min-width: 1441px) {
	.tdsi-crank .list-content .thumbnail,
	.tdsi-division .list-content .thumbnail {
		height: 196px;
	}
}

.tdsi-crank .list-content .detail {
	padding: 1.5rem 1.625rem 1.875rem;
}

.tdsi-crank .list-content .date {
	color: #333;
	font-size: .68rem;
	letter-spacing: .03em;
}

.tdsi-crank .list-content .list-tag {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem .5rem;
	margin-block: .85rem 1rem;
}

.tdsi-crank .list-content .tag {
	background: #fff;
	border: 1px solid #d4d4d4;
	color: #333;
	font-size: .66rem;
	line-height: 1;
	padding: .48em .72em;
}

.tdsi-crank .list-content .title-content {
	color: #333;
	font-size: .78rem;
	font-weight: 500;
	letter-spacing: .01em;
	line-height: 1.85;
}

.tdsi-crank .content-box.news .box-button-link a {
	background: #c4a160;
	border-color: #c4a160;
	border-radius: 0;
	color: #fff;
	font-size: .9rem;
	font-weight: 700;
	min-width: 14.375rem;
	padding-block: .8em;
}

.tdsi-crank .crank-people {
	background:
		linear-gradient(180deg, #fff 0 28%, #f7f7f7 28% 62%, #fff 62% 74%, #f7f7f7 74% 100%);
	max-width: none;
	padding-block: clamp(3.5rem, 3.84rem, 6.5rem);
}

.tdsi-crank .list-people {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
	margin: 0 auto clamp(3.36rem, 3.5rem, 6rem);
	max-width: 65rem;
}

.tdsi-crank .list-people a {
	background: #fff;
	color: inherit;
	display: block;
	flex: 0 1 calc(25% - 0.375rem);
	overflow: hidden;
	position: relative;
	text-decoration: none;
}

.tdsi-crank .list-people img {
	aspect-ratio: 1 / 1;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.tdsi-crank .list-people .info {
	align-items: center;
	background: rgba(0, 0, 0, .58);
	color: #fff;
	display: flex;
	flex-direction: column;
	inset: 0;
	justify-content: center;
	opacity: 0;
	padding: 1rem;
	position: absolute;
	text-align: center;
	text-shadow: 0 1px 4px rgba(0, 0, 0, .35);
	transition: opacity .24s ease;
}

.tdsi-crank .list-people a:hover .info,
.tdsi-crank .list-people a:focus-visible .info {
	opacity: 1;
}

.tdsi-crank .list-people .jp {
	font-size: 1.55rem;
	font-weight: 700;
	line-height: 1.25;
}

.tdsi-crank .list-people .en {
	font-size: .95rem;
	font-weight: 700;
	margin-block-start: .55rem;
	opacity: 1;
}

.tdsi-crank .modal-content {
	align-items: center;
	background: rgba(255, 255, 255, .96);
	display: none;
	inset: 0;
	justify-content: center;
	padding: clamp(1.75rem, 2.4rem, 4.25rem) clamp(1.25rem, 2.4rem, 5.5rem);
	position: fixed;
	z-index: 1000;
}

.tdsi-crank .modal-content:target {
	display: flex;
}

.tdsi-crank .modal-content .box-content {
	background: transparent;
	display: grid;
	gap: clamp(3rem, 3.36rem, 6rem);
	grid-template-columns: minmax(280px, 40%) minmax(320px, 1fr);
	max-height: min(47.5rem, 47.25rem);
	max-width: 70rem;
	overflow: visible;
	position: relative;
	width: 100%;
}

.tdsi-crank .modal-content .box-image {
	align-self: start;
}

.tdsi-crank .modal-content .box-image img {
	display: block;
	height: auto;
	max-height: min(32.5rem, 40.5rem);
	object-fit: cover;
	width: 100%;
}

.tdsi-crank .modal-content .box-text {
	padding: 0 clamp(1.75rem, 1.92rem, 4rem) 0 0;
}

.tdsi-crank .close-modal {
	color: #8d8d8d;
	height: 4rem;
	position: absolute;
	right: 0;
	top: 0;
	width: 4rem;
	z-index: 2;
}

.tdsi-crank .modal-content .close-modal {
	background: #ececec;
}

.tdsi-crank .close-modal::before,
.tdsi-crank .close-modal::after {
	background: currentColor;
	content: "";
	height: 0.125rem;
	left: 0.625rem;
	position: absolute;
	top: 31px;
	width: 2.75rem;
}

.tdsi-crank .close-modal::before {
	transform: rotate(45deg);
}

.tdsi-crank .close-modal::after {
	transform: rotate(-45deg);
}

.tdsi-crank .role,
.tdsi-crank .name-en,
.tdsi-crank .cat {
	color: #111;
}

.tdsi-crank .role {
	font-size: .9rem;
	font-weight: 700;
	margin-block-end: 1.25rem;
}

.tdsi-crank .name-jp {
	font-size: clamp(1.92rem, 2rem, 3.35rem);
	font-weight: 700;
	line-height: 1.2;
	margin-block: 0 .35rem;
}

.tdsi-crank .name-en {
	font-size: 1rem;
	margin-block-end: clamp(2rem, 2.4rem, 3.5rem);
}

.tdsi-crank .scrollable-info {
	font-size: 1rem;
	font-weight: 600;
	line-height: 2;
	max-height: min(30rem, 32.625rem);
	overflow-y: auto;
	padding-inline-end: clamp(1.5rem, 1.92rem, 3.5rem);
	scrollbar-color: #9b9b9b #f0f0f0;
	scrollbar-width: thin;
}

.tdsi-crank .scrollable-info::-webkit-scrollbar {
	width: 0.5rem;
}

.tdsi-crank .scrollable-info::-webkit-scrollbar-track {
	background: #f0f0f0;
}

.tdsi-crank .scrollable-info::-webkit-scrollbar-thumb {
	background: #9b9b9b;
}

.tdsi-crank .scrollable-info .cat {
	font-size: clamp(1.92rem, 2rem, 3.25rem);
	font-weight: 400;
	line-height: 1.2;
	margin-block: 1.25em .65em;
}

.tdsi-crank #banner.content-box {
	align-items: stretch;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
	margin: 2.625rem auto 0;
	max-width: 90rem;
	padding: 0;
	position: relative;
	width: 100%;
}

.tdsi-crank #banner .banner {
	align-items: center;
	box-sizing: border-box;
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0;
	padding: 1.6875rem 1.25rem 2.625rem;
	position: relative;
	text-decoration: none;
	width: 100%;
}

.tdsi-crank #banner .banner.gray {
	background: #999;
}

.tdsi-crank #banner .banner.gold {
	background: #c49d62;
	padding: 1.6875rem 1.25rem;
}

.tdsi-crank #banner .banner .text {
	flex: none;
	max-width: none;
	min-width: 0;
	width: 100%;
}

.tdsi-crank #banner .banner .head-text {
	color: #fff;
	font-family: Barlow, sans-serif;
	font-size: 1.5625rem;
	font-weight: 500;
	line-height: 2.0625rem;
	text-align: left;
	width: 14.375rem;
}

.tdsi-crank #banner .banner .content-text {
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 400;
	line-height: 1.3125rem;
	margin-top: 1.625rem;
	text-align: left;
	width: 100%;
}

.tdsi-crank #banner .banner .image {
	flex: none;
	height: auto;
	margin-top: 2.5rem;
	max-width: none;
	min-width: 0;
	width: 100%;
}

.tdsi-crank #banner .banner .image img {
	display: block;
	height: auto;
	width: 100%;
}

.tdsi-crank #banner .banner .button {
	background: url("../images/crank/i-arrow-right-white.png") 50% 50% no-repeat;
	background-size: 99%;
	display: block;
	height: 2.1875rem;
	pointer-events: none;
	position: absolute;
	right: 1.25rem;
	top: 2.8125rem;
	width: 2.1875rem;
}

@media (min-width: 48.875rem) {
	.tdsi-crank #banner.content-box {
		margin-top: 4.375rem;
	}

	.tdsi-crank #banner .banner {
		flex-wrap: nowrap;
		padding: 1.875rem 8.75rem;
	}

	.tdsi-crank #banner .banner.gold {
		padding: 3.4375rem 8.75rem;
	}

	.tdsi-crank #banner .banner .text {
		flex: 0 1 41.25rem;
		width: 41.25rem;
	}

	.tdsi-crank #banner .banner .head-text {
		font-size: 2.5rem;
		line-height: 3.3125rem;
		width: 100%;
	}

	.tdsi-crank #banner .banner .content-text {
		font-size: 0.875rem;
		line-height: 1.3125rem;
		margin-top: 1.625rem;
	}

	.tdsi-crank #banner .banner .image {
		flex: 0 0 24.375rem;
		margin-top: 0;
		width: 24.375rem;
	}

	.tdsi-crank #banner .banner .button {
		height: 3rem;
		right: 3.25rem;
		top: calc(50% - 1.5rem);
		width: 3rem;
	}
}

@media (min-width: 1441px) {
	.tdsi-crank #banner.content-box {
		margin-top: 4.375rem;
	}

	.tdsi-crank #banner .banner {
		padding: 1.875rem 8.75rem;
	}

	.tdsi-crank #banner .banner.gold {
		padding: 3.4375rem 8.75rem;
	}

	.tdsi-crank #banner .banner .text {
		flex: 0 0 660px;
		max-width: 41.25rem;
		width: 41.25rem;
	}

	.tdsi-crank #banner .banner .head-text {
		font-size: 2.5rem;
		line-height: 3.3125rem;
	}

	.tdsi-crank #banner .banner .content-text {
		font-size: 0.875rem;
		line-height: 21px;
		margin-top: 1.625rem;
	}

	.tdsi-crank #banner .banner .image {
		flex: 0 0 390px;
		max-width: 24.375rem;
		width: 24.375rem;
	}

	.tdsi-crank #banner .banner .button {
		height: 3rem;
		right: 3.25rem;
		top: calc(50% - 1.5rem);
		width: 3rem;
	}
}

.tdsi-crank .content-box.equip-box {
	display: block;
	margin: 8.125rem auto 0;
	max-width: 90rem;
	overflow-x: hidden;
	padding: 0 0.9375rem;
	position: relative;
	width: 100%;
}

.tdsi-crank .slider-equip {
	font-size: 0;
	line-height: 0;
	margin-top: 1.875rem;
	padding-top: 4rem;
	position: relative;
	width: 100%;
}

.tdsi-crank .slider-equip .item {
	box-sizing: border-box;
	padding: 0 0.625rem;
}

.tdsi-crank .slider-equip.slick-initialized .slick-slide.item {
	box-sizing: border-box;
	height: auto;
	padding: 0 0.625rem;
}

.tdsi-crank .slider-equip .slick-list {
	overflow: hidden;
}

@media (min-width: 48.875rem) {
	.tdsi-crank .slider-equip .slick-list {
		overflow: visible;
	}
}

.tdsi-crank .slider-equip .slick-arrow {
	background-color: #777;
	border: 0;
	color: transparent;
	font-size: 0;
	height: 3.375rem;
	line-height: 0;
	overflow: hidden;
	padding: 0;
	text-indent: -9999px;
	transform: none;
	width: 3.375rem;
	z-index: 10;
}

.tdsi-crank .slider-equip .slick-arrow::before {
	content: none;
	display: none;
}

.tdsi-crank .slider-equip .slick-arrow:hover {
	background-color: #777;
}

.tdsi-crank .slider-equip .slick-prev {
	background: #777 url("../images/crank/white_left_arrow.svg") 50% 50% no-repeat;
	background-size: 8px;
	bottom: 100%;
	left: auto;
	position: absolute;
	right: 3.375rem;
	top: auto;
}

.tdsi-crank .slider-equip .slick-next {
	background: #777 url("../images/crank/white_right_arrow.svg") 50% 50% no-repeat;
	background-size: 8px;
	bottom: 100%;
	left: auto;
	position: absolute;
	right: 0;
	top: auto;
}

.tdsi-crank .slider-equip .slick-dots {
	bottom: auto;
	display: block;
	line-height: 1;
	list-style: none;
	margin: 1.125rem 0 0;
	padding: 0;
	position: static;
	text-align: center;
	width: 100%;
}

.tdsi-crank .slider-equip .slick-dots li {
	display: inline-block;
	margin: 0 0.3125rem;
}

.tdsi-crank .slider-equip .slick-dots li button {
	border: 0;
	font-size: 0;
	height: 0.5rem;
	line-height: 0;
	padding: 0;
	width: 0.5rem;
}

.tdsi-crank .slider-equip .slick-dots li button::before {
	background: #bfbfbf;
	border-radius: 50%;
	color: transparent;
	content: "";
	font-size: 0;
	height: 0.5rem;
	line-height: 0.5rem;
	opacity: 1;
	position: static;
	width: 0.5rem;
}

.tdsi-crank .slider-equip .slick-dots li.slick-active button::before {
	background: #000;
	color: transparent;
	opacity: 1;
}

.tdsi-crank .equip {
	background: #fff;
	height: 100%;
	overflow: hidden;
}

.tdsi-crank .equip__img {
	border: 1px solid #e2e2e2;
	display: block;
	overflow: hidden;
	position: relative;
}

.tdsi-crank .equip__img img {
	display: block;
	height: auto;
	margin: auto;
	max-width: 100%;
	width: 100%;
}

.tdsi-crank .equip__content {
	background: #c49d62;
	color: #fff;
	padding: 0.9375rem 0.9375rem 1.25rem;
	position: relative;
}

.tdsi-crank .equip__brand {
	display: block;
	font-size: 0.6875rem;
	font-weight: 400;
	margin-bottom: 0.3125rem;
}

.tdsi-crank .equip__name {
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.2;
	margin: 0 0 0.625rem;
}

.tdsi-crank .equip__name a {
	color: inherit;
	text-decoration: none;
}

.tdsi-crank .equip__desc {
	font-size: 0.6875rem;
	font-weight: 400;
	line-height: 0.875rem;
	margin-bottom: 0.625rem;
}

.tdsi-crank .equip__price {
	color: #fff;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.3;
}

.tdsi-crank .equip__price .number {
	color: #fff;
	display: block;
}

.tdsi-crank .equip__price .number--tax-in {
	font-size: 0.75rem;
	margin-top: 0.25rem;
}

.tdsi-crank .equip__price .price-unit {
	color: #fff;
	font-size: .72em;
	font-weight: 400;
}

.tdsi-crank .box-equipment.crank {
	margin-top: 8.4375rem;
	max-width: none;
	padding: 0;
	width: 100%;
}

.tdsi-crank .box-equipment.crank .wrap-box {
	box-sizing: border-box;
	margin-inline: auto;
	max-width: 68.75rem;
	padding-inline: 15px;
	width: 100%;
}

.tdsi-crank .box-equipment.crank .title-head.title-head--gray {
	margin-block-end: 35px;
}

.tdsi-crank .box-equipment.crank .form-search {
	margin-block: 60px;
	text-align: center;
}

.tdsi-crank .box-equipment.crank .form-search form {
	align-items: center;
	background: #eee;
	display: inline-flex;
	height: 3rem;
	width: min(100%, 17.375rem);
}

.tdsi-crank .box-equipment.crank .form-search input {
	background: transparent;
	border: 0;
	flex: 1;
	font-size: 0.875rem;
	font-weight: 700;
	min-width: 0;
	outline: none;
	padding: 0.625rem 1.25rem;
}

.tdsi-crank .box-equipment.crank .form-search button {
	background: url("../images/crank/i-search.png") 50% 50% no-repeat;
	background-size: 20px;
	border: 0;
	flex-shrink: 0;
	height: 3rem;
	width: 3rem;
}

.tdsi-crank .box-equipment.crank .equipment-lists {
	display: grid;
	gap: 0.625rem 0.4375rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.tdsi-crank .box-equipment.crank .equipment-lists li {
	display: flex;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.tdsi-crank .box-equipment.crank .equipment-lists a {
	align-items: center;
	background: #777;
	color: #fff;
	display: flex;
	font-size: 0.8125rem;
	padding: 11px 9px 11px 24px;
	text-decoration: none;
	width: 100%;
}

.tdsi-crank .box-equipment.crank .equipment-lists a:hover {
	opacity: .8;
}

.tdsi-crank .box-equipment.crank .equipment-lists a span {
	flex: 1;
	min-width: 0;
}

.tdsi-crank .box-equipment.crank .equipment-lists a img {
	flex-shrink: 0;
	margin-left: auto;
	width: 0.4375rem;
}

.tdsi-crank .box-equipment.crank .document-container.crank {
	border-bottom: 1px solid #ccc;
	border-top: 1px solid #ccc;
	margin-block-start: 49px;
	margin-bottom: -1px;
}

.tdsi-crank .box-equipment.crank .documents {
	display: flex;
	justify-content: space-between;
	margin-inline: auto;
	max-width: 53.75rem;
	padding: 1.375rem 0 1.4375rem;
	width: 100%;
}

.tdsi-crank .box-equipment.crank .item-document {
	align-items: center;
	display: flex;
	flex-direction: row;
	width: auto;
}

.tdsi-crank .box-equipment.crank .item-document .document {
	align-items: center;
	color: #c49d62;
	display: flex;
	flex-wrap: nowrap;
	position: relative;
	text-decoration: none;
}

.tdsi-crank .box-equipment.crank .item-document .document:hover {
	opacity: .8;
}

.tdsi-crank .box-equipment.crank .item-document .document__img {
	flex-shrink: 0;
	line-height: 0;
	min-width: 1.5rem;
}

.tdsi-crank .box-equipment.crank .item-document .document__img img {
	margin-right: 0.625rem;
	width: 1.5rem;
}

.tdsi-crank .box-equipment.crank .item-document .document__title {
	color: #c49d62;
	font-size: 0.875rem;
	line-height: 1.625rem;
	margin-top: 0;
	text-align: left;
	white-space: nowrap;
}

.tdsi-crank .ssd-banner {
	text-align: center;
}

.tdsi-crank .ssd-banner img {
	height: auto;
	max-width: min(31.25rem, 100%);
}

.tdsi-crank .box-works.crank {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-inline: auto;
	margin-top: clamp(4.5rem, 4.608rem, 8.625rem);
	max-width: none;
	padding: clamp(3rem, 3.36rem, 6rem) clamp(1.25rem, 1.92rem, 3.5rem);
	width: 100%;
}

.tdsi-crank .box-works.crank .title-head.title-head--gray {
	width: 100%;
}

.tdsi-crank .box-works.crank .box-works-list {
	max-width: 90rem;
	overflow-x: hidden;
	padding-bottom: 0;
	width: 100%;
}

.tdsi-crank .box-works.crank .list-works {
	background: #f9f9f9;
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0 -0.3125rem;
	padding: 0;
}

.tdsi-crank .box-works.crank .list-works > .works-item {
	box-sizing: border-box;
	display: block;
	margin-bottom: clamp(1.296rem, 1.5rem, 3.625rem);
	padding: 0 0.3125rem;
	width: 100%;
}

.tdsi-crank .box-works.crank .list-works > .works-item > a {
	color: inherit;
	display: block;
	overflow: hidden;
	position: relative;
	text-decoration: none;
}

.tdsi-crank .box-works.crank .list-works > .works-item > a:hover {
	opacity: .7;
}

.tdsi-crank .box-works.crank .works-thumb {
	display: block;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.tdsi-crank .box-works.crank .works-thumb::before {
	content: "";
	display: block;
	padding-top: 56.2667%;
}

.tdsi-crank .box-works.crank .works-thumb img {
	display: block;
	height: 100%;
	left: 0;
	object-fit: cover;
	object-position: center;
	position: absolute;
	top: 0;
	width: 100%;
}

.tdsi-crank .box-works.crank .list-works > .works-item > a .txt-cm {
	color: #999899;
	display: block;
	font-size: clamp(0.528rem, 0.75rem, 1rem);
	margin-left: clamp(1rem, 1.344rem, 2.5rem);
	margin-top: clamp(1rem, 1.008rem, 1.875rem);
	position: relative;
}

.tdsi-crank .box-works.crank .list-works > .works-item > a .txt-cm::after {
	background: #e80718;
	content: "";
	height: clamp(1.68rem, 2rem, 3.125rem);
	left: 11px;
	position: absolute;
	top: calc(-1 * clamp(1.68rem, 2rem, 3.125rem));
	width: 1px;
}

.tdsi-crank .box-works.crank .list-works > .works-item > a .title-works {
	font-size: clamp(0.3984rem, 0.6875rem, 0.75rem);
	line-height: 1.75;
	margin-top: clamp(0.336rem, 0.5rem, 0.625rem);
	padding: 0 0 0 clamp(1rem, 1.344rem, 2.5rem);
	text-decoration: none;
}

.tdsi-crank .box-works.crank .work-tag {
	padding: 0 clamp(1rem, 1.344rem, 2.5rem);
	margin-top: clamp(0.336rem, 0.5rem, 0.625rem);
}

.tdsi-crank .box-works.crank .work-tag .tag {
	border: 1px solid #ccc;
	color: #4d4d4d;
	display: inline-block;
	font-size: clamp(0.3984rem, 0.6875rem, 0.75rem);
	line-height: 1;
	margin: 0 0.25rem 0.25rem 0;
	padding: 0.375rem 0.75rem;
	text-decoration: none;
}

.tdsi-crank .box-works.crank .list-works > .works-item > a.last-item {
	align-items: stretch;
	background-color: #e2e1dc;
	color: #000;
	display: flex;
	height: clamp(6.72rem, 10rem, 12.625rem);
	padding: clamp(1.152rem, 1.5rem, 2.1875rem) clamp(1.008rem, 1.25rem, 1.875rem);
	position: relative;
	text-decoration: none;
}

.tdsi-crank .box-works.crank .list-works > .works-item > a.last-item:hover {
	background-color: #d5d4cf;
	opacity: 1;
}

.tdsi-crank .box-works.crank .last-item .head-text {
	font-family: Barlow, sans-serif;
	font-size: clamp(0.4656rem, 0.75rem, 0.875rem);
}

.tdsi-crank .box-works.crank .last-item .sub-text {
	font-size: clamp(0.6rem, 0.9375rem, 1.125rem);
	margin-top: clamp(0.336rem, 0.5rem, 0.625rem);
}

.tdsi-crank .box-works.crank .last-item .read-more {
	bottom: clamp(0.816rem, 1.125rem, 1.5625rem);
	font-family: Barlow, sans-serif;
	font-size: clamp(0.528rem, 0.875rem, 1rem);
	position: absolute;
	right: clamp(1.152rem, 1.25rem, 2.1875rem);
}

.tdsi-crank .box-works.crank .list-works.slick-slider,
.tdsi-crank .box-works.crank .list-works.slick-initialized {
	display: block;
	flex-wrap: nowrap;
	margin: 0;
	padding-bottom: 5.5rem;
	position: relative;
	width: 100%;
}

.tdsi-crank .box-works.crank .list-works.slick-slider .slick-list,
.tdsi-crank .box-works.crank .list-works.slick-initialized .slick-list {
	box-sizing: border-box;
	margin: 0;
	overflow: hidden;
	width: 100%;
}

.tdsi-crank .box-works.crank .list-works.slick-slider .slick-slide,
.tdsi-crank .box-works.crank .list-works.slick-initialized .slick-slide {
	box-sizing: border-box;
	height: auto;
	margin-bottom: 0;
	padding: 0 0.85rem;
}

.tdsi-crank .box-works.crank .list-works.slick-slider .slick-arrow {
	background-color: #777;
	border: 0;
	bottom: 2.25rem;
	color: transparent;
	font-size: 0;
	height: 2.5rem;
	line-height: 0;
	overflow: hidden;
	padding: 0;
	position: absolute;
	text-indent: -9999px;
	top: auto;
	transform: none;
	width: 2.5rem;
	z-index: 2;
}

.tdsi-crank .box-works.crank .list-works.slick-slider .slick-arrow::before {
	content: none;
	display: none;
}

.tdsi-crank .box-works.crank .list-works.slick-slider .slick-prev {
	background: #777 url("../images/crank/white_left_arrow.svg") 50% 50% no-repeat;
	background-size: 8px;
	left: calc(50% - 3rem);
	right: auto;
}

.tdsi-crank .box-works.crank .list-works.slick-slider .slick-next {
	background: #777 url("../images/crank/white_right_arrow.svg") 50% 50% no-repeat;
	background-size: 8px;
	left: calc(50% + 0.5rem);
	right: auto;
}

.tdsi-crank .box-works.crank .list-works.slick-slider .slick-dots {
	bottom: 0.5rem;
	display: block;
	left: 0;
	line-height: 1;
	list-style: none;
	margin: 0;
	padding: 0;
	position: absolute;
	text-align: center;
	width: 100%;
	z-index: 1;
}

.tdsi-crank .box-works.crank .list-works.slick-slider .slick-dots li {
	display: inline-block;
	margin: 0 0.25rem;
}

.tdsi-crank .box-works.crank .list-works.slick-slider .slick-dots li button {
	background: transparent;
	border: 0;
	color: transparent;
	font-size: 0;
	height: 0.5rem;
	line-height: 0;
	padding: 0;
	width: 0.5rem;
}

.tdsi-crank .box-works.crank .list-works.slick-slider .slick-dots li button::before {
	background: #ccc;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.5rem;
	opacity: 1;
	width: 0.5rem;
}

.tdsi-crank .box-works.crank .list-works.slick-slider .slick-dots li.slick-active button::before {
	background: #777;
}

.tdsi-crank .content-box.box-map {
	box-sizing: border-box;
	margin-inline: auto;
	margin-top: clamp(3.984rem, 4.5rem, 7.5rem);
	max-width: 90rem;
	padding: 0 clamp(1.25rem, 1.92rem, 3.5rem) clamp(3rem, 3.36rem, 6rem);
	width: 100%;
}

.tdsi-crank .box-map .list-location {
	margin-top: clamp(2.352rem, 2.5rem, 4.375rem);
}

.tdsi-crank .box-map .location {
	display: flex;
	flex-wrap: wrap;
	margin-top: clamp(0.816rem, 1rem, 1.5625rem);
}

.tdsi-crank .box-map .detail-location {
	background: #c49d62;
	box-sizing: border-box;
	color: #fff;
	order: 1;
	padding: clamp(1.75rem, 1.824rem, 3.4375rem);
	position: relative;
	width: 100%;
}

.tdsi-crank .box-map .detail-location .head-text {
	font-family: Barlow, sans-serif;
	font-size: clamp(0.875rem, 1rem, 1rem);
	font-weight: 700;
	line-height: 1.4;
	margin: 0;
}

.tdsi-crank .box-map .detail-location .name {
	margin-top: 0;
}

.tdsi-crank .box-map .detail-location .address {
	margin-top: clamp(0.48rem, 0.75rem, 0.9375rem);
}

.tdsi-crank .box-map .detail-location .address .address {
	font-size: 0.8125rem;
	line-height: 1.8;
	margin: 0;
}

.tdsi-division .box-map .detail-location .address .address,
.tdsi-division .box-map .detail-location .address p {
	font-size: 0.8125rem;
	line-height: 1.8;
	margin: 0;
}

@media (min-width: 782px) {
	.tdsi-crank .box-map .list-location .location .detail-location .address,
	.tdsi-ludens .box-map .list-location .location .detail-location .address,
	.tdsi-division .box-map .list-location .location .detail-location .address {
		margin-top: 0.9375rem;
	}

	.tdsi-crank .box-map .list-location .location .detail-location .address .address,
	.tdsi-crank .box-map .list-location .location .detail-location .address p,
	.tdsi-ludens .box-map .list-location .location .detail-location .address .address,
	.tdsi-ludens .box-map .list-location .location .detail-location .address p,
	.tdsi-division .box-map .list-location .location .detail-location .address .address,
	.tdsi-division .box-map .list-location .location .detail-location .address p {
		font-size: 0.875rem;
		line-height: 1.8;
	}
}

.tdsi-division .box-map .detail-location .link-map,
.tdsi-crank .box-map .detail-location .link-map,
.tdsi-ludens .box-map .detail-location .link-map {
	background: url('../images/crank/map_arrow.svg') 100% 60% no-repeat;
	background-size: 0.25rem 0.375rem;
	border-bottom: 1px solid #fff;
	color: #fff;
	display: inline-block;
	font-family: Barlow, sans-serif;
	font-size: 0.875rem;
	line-height: 2;
	margin-top: 1.25rem;
	padding-right: 0.625rem;
	text-decoration: none;
	transition:
		letter-spacing .35s ease,
		opacity .35s ease,
		transform .35s cubic-bezier(.22, 1, .36, 1);
}

@media (min-width: 782px) {
	.tdsi-division .box-map .detail-location .link-map,
	.tdsi-crank .box-map .detail-location .link-map,
	.tdsi-ludens .box-map .detail-location .link-map {
		background-size: 0.25rem 0.375rem;
		font-size: 1rem;
		margin-top: 1.875rem;
		padding-right: 0.625rem;
	}
}

.tdsi-division .box-map .detail-location .link-map:hover,
.tdsi-division .box-map .detail-location .link-map:focus-visible,
.tdsi-crank .box-map .detail-location .link-map:hover,
.tdsi-crank .box-map .detail-location .link-map:focus-visible,
.tdsi-ludens .box-map .detail-location .link-map:hover,
.tdsi-ludens .box-map .detail-location .link-map:focus-visible {
	letter-spacing: .14em;
	opacity: .82;
	transform: translateX(6px);
}

.tdsi-crank .box-map .location-visual {
	min-height: 18.75rem;
	order: 2;
	width: 100%;
}

.tdsi-crank .box-map .location-visual iframe {
	display: block;
	filter: grayscale(100%);
	height: 100%;
	min-height: 18.75rem;
	width: 100%;
}

@media (max-width: 781px) {
	.tdsi-mg-service-grid {
		grid-template-columns: 1fr;
	}

	.tdsi-mg .mg-location,
	.tdsi-mg-information-list {
		grid-template-columns: 1fr;
	}

	.tdsi-mg .box-map .detail-location {
		order: 2;
	}

	.tdsi-mg .box-map .location-visual {
		order: 1;
	}

	.tdsi-mg .content-box.box-map {
		padding-inline: 15px;
	}

	.tdsi-division .list-content {
		grid-template-columns: 1fr;
	}

	.tdsi-division .page-menu {
		overflow: visible;
		padding: 2vw 2.66667vw 3.33333vw;
	}

	.tdsi-division .page-menu ul {
		flex-wrap: wrap;
		justify-content: center;
		min-width: 0;
		padding: 0.7rem 0 0;
		width: 100%;
	}

	.tdsi-division .page-menu li {
		margin: 1.33333vw 4vw 0;
	}

	.tdsi-division .page-menu a {
		font-size: 3.2vw;
		line-height: 1.8;
		padding: 0.25rem 0;
	}

	.tdsi-crank .list-content {
		grid-template-columns: 1fr;
	}

	.tdsi-crank .list-people a {
		flex-basis: calc(50% - 0.25rem);
	}

	.tdsi-crank .modal-content .box-content {
		grid-template-columns: 1fr;
	}

	.tdsi-crank .box-map .detail-location {
		order: 2;
	}

	.tdsi-crank .box-map .location-visual {
		order: 1;
	}

	.tdsi-crank .content-box.box-map {
		padding-inline: 15px;
	}

	.tdsi-crank .box-works.crank {
		padding-inline: 0;
	}

	.tdsi-crank .box-works.crank .box-works-list {
		overflow-x: hidden;
		width: 100%;
	}

	.tdsi-crank .box-works.crank .list-works {
		display: block;
		flex-wrap: nowrap;
		margin: 0;
		width: 100%;
	}

	.tdsi-crank .box-works.crank .list-works:not(.slick-initialized) > .works-item {
		margin-bottom: 0;
		padding: 0;
		width: 100%;
	}

	.tdsi-crank .box-works.crank .list-works.slick-initialized .works-item {
		box-sizing: border-box;
		max-width: none;
		width: auto;
	}

	.tdsi-crank .box-works.crank .list-works > .works-item > a {
		width: 100%;
	}

	.tdsi-crank .box-works.crank .list-works > .works-item > a.last-item {
		aspect-ratio: 750 / 422;
		height: auto;
		min-height: 0;
	}

	.tdsi-crank .box-works.crank .list-works.slick-initialized .slick-list {
		overflow: visible;
	}

	.tdsi-crank .box-works.crank .list-works:not(.slick-initialized) > .works-item:not(:first-child) {
		display: none;
	}

	.tdsi-crank .box-works.crank .list-works.slick-slider .slick-arrow {
		bottom: 2.25rem;
		height: 2.5rem;
		width: 2.5rem;
	}

	.tdsi-crank .box-works.crank .list-works.slick-slider .slick-prev {
		background-size: 0.375rem;
		left: calc(50% - 3rem);
	}

	.tdsi-crank .box-works.crank .list-works.slick-slider .slick-next {
		background-size: 0.375rem;
		left: calc(50% + 0.5rem);
	}

	.tdsi-crank .box-works.crank .list-works.slick-slider .slick-dots {
		bottom: 0.5rem;
	}

	.tdsi-crank .content-box.equip-box {
		margin-top: 4.6875rem;
		padding: 0;
	}

	.tdsi-crank .equip__content {
		padding: 0.9375rem 1.0938rem;
	}

	.tdsi-crank .equip__name {
		font-size: 0.9375rem;
		margin-bottom: 0.3125rem;
	}

	.tdsi-crank .equip__brand {
		font-size: 0.625rem;
		margin-bottom: 0.1563rem;
	}

	.tdsi-crank .equip__desc {
		font-size: 0.6875rem;
		line-height: 0.9375rem;
		margin-bottom: 0.3125rem;
	}

	.tdsi-crank .equip__price {
		font-size: 0.9063rem;
	}

	.tdsi-crank .slider-equip:not(.slick-initialized) .item:not(:first-child) {
		display: none;
	}

	.tdsi-crank .slider-equip {
		margin-top: 0.9375rem;
		padding-top: 2.5rem;
	}

	.tdsi-crank .slider-equip .item,
	.tdsi-crank .slider-equip.slick-initialized .slick-slide.item {
		padding: 0 0.3125rem;
	}

	.tdsi-crank .slider-equip .slick-dots {
		margin-top: 0.9375rem;
	}

	.tdsi-crank .slider-equip .slick-dots li {
		margin: 0;
	}

	.tdsi-crank .slider-equip .slick-dots li button::before {
		font-size: 0.5rem;
	}

	.tdsi-crank .slider-equip .slick-arrow {
		height: 2.5rem;
		width: 2.5rem;
	}

	.tdsi-crank .slider-equip .slick-prev {
		background-size: 0.375rem;
		right: 2.5rem;
	}

	.tdsi-crank .slider-equip .slick-next {
		background-size: 0.375rem;
	}

	.tdsi-crank .box-equipment.crank {
		margin-top: 4.2188rem;
	}

	.tdsi-crank .box-equipment.crank .wrap-box {
		padding-inline: 15px;
	}

	.tdsi-crank .box-equipment.crank .form-search {
		margin-block: 1.9688rem;
	}

	.tdsi-crank .box-equipment.crank .form-search form {
		height: 3rem;
		margin-inline: auto;
		width: 17.4375rem;
	}

	.tdsi-crank .box-equipment.crank .form-search input {
		font-size: 0.875rem;
		font-weight: 400;
		padding: 0.3125rem 1.0938rem;
	}

	.tdsi-crank .box-equipment.crank .form-search button {
		background-size: 1.25rem;
		height: 3rem;
		width: 3rem;
	}

	.tdsi-crank .box-equipment.crank .equipment-lists {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
	}

	.tdsi-crank .box-equipment.crank .equipment-lists li {
		width: auto;
	}

	.tdsi-crank .box-equipment.crank .equipment-lists a {
		font-size: 0.8125rem;
		padding: 0.6875rem 0.5625rem 0.6875rem 0.9375rem;
	}

	.tdsi-crank .box-equipment.crank .equipment-lists a img {
		width: 0.4375rem;
	}

	.tdsi-crank .box-equipment.crank .document-container.crank {
		margin-top: 0.7975rem;
		width: 100%;
	}

	.tdsi-crank .box-equipment.crank .documents {
		flex-wrap: wrap;
		gap: 0.9375rem 0;
		justify-content: center;
		max-width: none;
		padding: 0.9375rem 0 0.7812rem;
		width: 100%;
	}

	.tdsi-crank .box-equipment.crank .item-document {
		justify-content: center;
		width: 33.33333%;
	}

	.tdsi-crank .box-equipment.crank .item-document .document {
		flex-wrap: wrap;
		justify-content: center;
	}

	.tdsi-crank .box-equipment.crank .item-document .document__img img {
		margin: 0 0.4062rem;
		width: 1.125rem;
	}

	.tdsi-crank .box-equipment.crank .item-document .document__title {
		font-size: 0.75rem;
		line-height: 0.875rem;
		margin-top: 0.3125rem;
		text-align: center;
		width: 100%;
	}

	.tdsi-crank .modal-content {
		align-items: flex-start;
		overflow-y: auto;
	}

	.tdsi-crank .modal-content .box-text {
		padding: 0;
	}

	.tdsi-crank .scrollable-info {
		max-height: none;
		overflow: visible;
		padding-inline-end: 0;
	}

	.tdsi-crank .page-menu {
		overflow: visible;
		padding: 2vw 2.66667vw 3.33333vw;
	}

	.tdsi-crank .page-menu ul {
		flex-wrap: wrap;
		justify-content: center;
		min-width: 0;
		width: 100%;
	}

	.tdsi-crank .page-menu li {
		margin: 1.33333vw 4vw 0;
	}

	.tdsi-crank .page-menu a {
		font-size: 3.2vw;
		line-height: 1.8;
		padding: 0.25rem 0;
	}

	.tdsi-crank .page-title,
	.tdsi-crank .content-box:not(.news),
	.tdsi-crank .box-works.crank,
	.tdsi-crank .box-equipment.crank {
		max-width: 100%;
		overflow-x: hidden;
	}

	.tdsi-crank .main-visual,
	.tdsi-division .main-visual {
		overflow: visible;
	}

	.tdsi-crank .slider-equip {
		max-width: 100%;
		overflow: visible;
	}

	.tdsi-crank .slider-equip .slick-list {
		overflow: hidden;
	}

	.tdsi-crank .slider-equip .slick-arrow {
		display: block;
		opacity: 1;
		pointer-events: auto;
		visibility: visible;
	}

	.tdsi-crank .slider-equip .slick-prev,
	.tdsi-crank .slider-equip .slick-next {
		bottom: auto;
		top: 0;
	}

	.tdsi-crank .list-people {
		max-width: 100%;
		overflow-x: hidden;
	}
}

@media (min-width: 782px) {
	.tdsi-crank .box-works.crank .list-works:not(.slick-initialized) {
		display: flex;
		flex-wrap: wrap;
		margin: 0 -0.3125rem;
	}

	.tdsi-crank .box-works.crank .list-works > .works-item,
	.tdsi-crank .box-works.crank .list-works:not(.slick-initialized) > .works-item {
		box-sizing: border-box;
		display: block;
		margin-bottom: clamp(1.296rem, 1.5rem, 3.625rem);
		padding: 0 0.3125rem;
		width: 50%;
	}

	.tdsi-crank .box-works.crank .list-works:not(.slick-initialized) > .works-item:not(:first-child) {
		display: block;
	}

	.tdsi-crank .box-works.crank .works-thumb::before {
		display: none;
		padding-top: 0;
	}

	.tdsi-crank .box-works.crank .works-thumb {
		height: 12.625rem;
	}

	.tdsi-crank .box-works.crank .works-thumb img {
		height: 12.625rem;
		position: relative;
	}

	.tdsi-crank .box-map .detail-location,
	.tdsi-crank .box-map .location-visual {
		width: 50%;
	}

	.tdsi-crank .box-map .location-visual iframe {
		min-height: 25rem;
	}

	.tdsi-mg .box-equipment.service .equipment-lists {
		margin-top: 3.75rem;
		width: auto;
	}

	.tdsi-mg .box-equipment.service .equipment-lists a {
		font-size: 0.8125rem;
		padding: 11px 9px 11px 24px;
	}

	.tdsi-mg .box-map .detail-location,
	.tdsi-mg .box-map .location-visual {
		width: 50%;
	}

	.tdsi-mg .box-map .location-visual iframe {
		min-height: 25rem;
	}
}

@media (min-width: 64rem) {
	.tdsi-crank .box-works.crank .list-works > .works-item,
	.tdsi-crank .box-works.crank .list-works:not(.slick-initialized) > .works-item {
		box-sizing: border-box;
		width: 25%;
	}
}

@media (min-width: 1441px) {
	.tdsi-crank .box-works.crank .list-works > .works-item {
		width: 25%;
	}

	.tdsi-mg .box-equipment.service .equipment-lists {
		margin-top: 3.75rem;
	}

	.tdsi-mg .box-equipment.service .equipment-lists a {
		font-size: 0.8125rem;
	}
}

.tdsi-crank-equipment-detail {
	background: #fff;
}

.tdsi-crank-equipment-detail .rental-box {
	background: #fff;
}

.tdsi-crank-equipment-detail .wrap-box-1200 {
	margin-inline: auto;
	max-width: 73.75rem;
	padding: clamp(2rem, 2.4rem, 4rem) clamp(1.25rem, 1.92rem, 2.5rem);
}

.tdsi-crank-equipment-detail .title-head {
	display: grid;
	gap: .35rem;
	margin-block: 0 32px;
	text-align: center;
}

.tdsi-crank-equipment-detail .txt-light {
	color: #8b8b8b;
	font-size: clamp(2rem, 2.88rem, 4.5rem);
	font-weight: 400;
	letter-spacing: .04em;
	line-height: 1;
}

.tdsi-crank-equipment-detail .txt-noto {
	font-size: 1rem;
	letter-spacing: .08em;
}

.tdsi-crank-equipment-detail .rental-main {
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
}

.tdsi-crank-equipment-detail .collapse-container {
	border: 1px solid #dedede;
	padding: 1rem 0.75rem;
}

.tdsi-crank-equipment-detail .collapse-container .collapse-title {
	align-items: center;
	display: flex;
	gap: 0.5rem;
	justify-content: space-between;
}

.tdsi-crank-equipment-detail .collapse-container .collapse-title > span,
.tdsi-crank-equipment-detail .collapse-container .sub-collapse .collapse-title a {
	color: inherit;
	font-size: .875rem;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
}

.tdsi-crank-equipment-detail .collapse-container .collapse-btn {
	background: url('../images/crank/i-collapsed.svg') 50%/contain no-repeat;
	border: 0;
	cursor: pointer;
	flex-shrink: 0;
	height: 1.5rem;
	padding: 0;
	width: 1.5rem;
}

.tdsi-crank-equipment-detail .collapse-container .collapse.active > .collapse-title .collapse-btn {
	background-image: url('../images/crank/i-collapse.svg');
}

.tdsi-crank-equipment-detail .collapse-container .collapse-contents {
	display: none;
}

.tdsi-crank-equipment-detail .collapse-container .collapse.active > .collapse-contents,
.tdsi-crank-equipment-detail .collapse-container .collapse.show-collapse-pc > .collapse-contents {
	display: block;
}

.tdsi-crank-equipment-detail .collapse-container .sub-collapse {
	margin-top: 1rem;
}

.tdsi-crank-equipment-detail .collapse-container .sub-collapse > .collapse + .collapse {
	margin-top: 0.75rem;
}

.tdsi-crank-equipment-detail .collapse-container .sub-collapse .collapse-title a {
	display: inline-block;
	font-size: .8125rem;
	font-weight: 400;
	min-width: 0;
}

.tdsi-crank-equipment-detail .collapse-container .sub-collapse .collapse.active > .collapse-title a {
	color: #036a37;
	font-weight: 700;
}

.tdsi-crank-equipment-detail .collapse-container .sub-collapse .collapse-btn {
	height: 1.25rem;
	margin-left: auto;
	width: 1.25rem;
}

.tdsi-crank-equipment-detail .collapse-container .side-link {
	list-style: none;
	margin: 0.5rem 0 0 0.75rem;
	padding: 0;
}

.tdsi-crank-equipment-detail .collapse-container .side-link a {
	color: #4b4b4b;
	display: block;
	font-size: .8125rem;
	line-height: 1.8;
	text-decoration: none;
}

.tdsi-crank-equipment-detail .collapse-container .side-link .is-current > a,
.tdsi-crank-equipment-detail .collapse-container .side-link a:hover {
	color: #036a37;
	font-weight: 700;
}

@media (max-width: 60rem) {
	.tdsi-crank-equipment-detail .collapse-container .collapse.show-collapse-pc > .collapse-contents {
		display: none;
	}

	.tdsi-crank-equipment-detail .collapse-container .collapse.show-collapse-pc.active > .collapse-contents {
		display: block;
	}

	.tdsi-crank-equipment-detail .collapse-container .collapse-btn.show-sp {
		display: block;
	}
}

@media (min-width: 961px) {
	.tdsi-crank-equipment-detail .collapse-container .collapse-btn.show-sp {
		display: none;
	}
}

.tdsi-crank-equipment-detail .form-search {
	display: flex;
	gap: 0.5rem;
	justify-content: flex-end;
	margin-bottom: 1.5rem;
}

.tdsi-crank-equipment-detail .form-search input {
	border: 1px solid #ccc;
	min-width: min(100%, 17.5rem);
	padding: .65rem .85rem;
}

.tdsi-crank-equipment-detail .form-search button {
	background: #333;
	border: 0;
	cursor: pointer;
	height: 2.625rem;
	width: 2.625rem;
}

.tdsi-crank-equipment-detail .content-top {
	display: grid;
	gap: 2rem;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
}

.tdsi-crank-equipment-detail .main-slider {
	background: #fff;
	border: 1px solid #dedede;
	display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
}

.tdsi-crank-equipment-detail .main-slider img {
	display: block;
	height: auto;
	max-width: 100%;
}

.tdsi-crank-equipment-detail .sub-slider {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.75rem;
}

.tdsi-crank-equipment-detail .sub-slider .item {
	background: #fff;
	border: 1px solid #dedede;
	cursor: pointer;
	padding: 0;
	width: 4.5rem;
}

.tdsi-crank-equipment-detail .sub-slider .item.is-active {
	border-color: #333;
}

.tdsi-crank-equipment-detail .sub-slider img {
	display: block;
	height: 4.5rem;
	object-fit: cover;
	width: 4.5rem;
}

.tdsi-crank-equipment-detail .brand {
	color: #666;
	font-size: .875rem;
	margin-bottom: .35rem;
}

.tdsi-crank-equipment-detail .name {
	font-size: clamp(1.75rem, 1.92rem, 2.5rem);
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: .75rem;
}

.tdsi-crank-equipment-detail .description {
	font-size: 1rem;
	margin-bottom: 1.5rem;
}

.tdsi-crank-equipment-detail .price-info {
	color: #666;
	font-size: .8125rem;
	margin-bottom: .35rem;
}

.tdsi-crank-equipment-detail .price-num {
	color: #e91727;
	font-size: clamp(1.75rem, 1.92rem, 2.25rem);
	font-weight: 700;
	line-height: 1;
	margin-bottom: 0;
}

.tdsi-crank-equipment-detail .price-num--tax-in {
	font-size: clamp(1rem, 1.056rem, 1.125rem);
	margin-bottom: 1.5rem;
	margin-top: .5rem;
}

.tdsi-crank-equipment-detail .price .price-num:last-child {
	margin-bottom: 1.5rem;
}

.tdsi-crank-equipment-detail .item-spec {
	border: 1px solid #dedede;
	font-size: .875rem;
	line-height: 1.7;
	margin-bottom: 1.5rem;
	padding: 1rem;
}

.tdsi-crank-equipment-detail .box-button .pdf {
	align-items: center;
	border: 1px solid #333;
	color: inherit;
	display: inline-flex;
	gap: .5rem;
	min-height: 2.75rem;
	padding: .65rem 1rem;
	text-decoration: none;
}

.tdsi-crank-equipment-detail .content-bottom {
	margin-top: 2.5rem;
}

.tdsi-crank-equipment-detail .nav-tabs {
	border-bottom: 1px solid #dedede;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
}

.tdsi-crank-equipment-detail .nav-item a {
	border-bottom: 0.1875rem solid transparent;
	color: inherit;
	display: block;
	padding: .85rem 1.25rem;
	text-decoration: none;
}

.tdsi-crank-equipment-detail .nav-item.is-active a {
	border-bottom-color: #333;
	font-weight: 700;
}

.tdsi-crank-equipment-detail .tab {
	display: none;
}

.tdsi-crank-equipment-detail .tab.is-active {
	display: block;
}

.tdsi-crank-equipment-detail .box-info {
	border-bottom: 1px solid #dedede;
	display: grid;
	gap: 0.75rem;
	grid-template-columns: minmax(140px, 220px) minmax(0, 1fr);
	padding: 1rem 0;
}

.tdsi-crank-equipment-detail .box-info .head {
	font-weight: 700;
}

.tdsi-crank-equipment-detail .box-info .detail,
.tdsi-crank-equipment-detail .box-accessories p {
	line-height: 1.7;
	margin: 0;
}

.tdsi-crank-equipment-detail .tab#relate .prod {
	align-items: center;
	border-bottom: 1px solid #dedede;
	color: inherit;
	display: grid;
	gap: 1rem;
	grid-template-columns: 96px minmax(0, 1fr);
	padding: 1rem 0;
	text-decoration: none;
}

.tdsi-crank-equipment-detail .tab#relate .prod-img img {
	display: block;
	height: 6rem;
	object-fit: cover;
	width: 6rem;
}

.tdsi-crank-equipment-detail .tab#relate .prod-content {
	align-items: center;
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	width: 100%;
}

.tdsi-crank-equipment-detail .tab#relate .brand-name {
	color: #666;
	display: block;
	font-size: .8125rem;
	margin-bottom: .35rem;
}

.tdsi-crank-equipment-detail .tab#relate h3 {
	font-size: 1rem;
	font-weight: 700;
	margin: 0;
}

.tdsi-crank-equipment-detail .tab#relate .prod-price {
	color: #c1272d;
	font-size: .9375rem;
	text-align: right;
	white-space: nowrap;
}

@media (max-width: 60rem) {
	.tdsi-crank-equipment-detail .rental-main,
	.tdsi-crank-equipment-detail .content-top {
		grid-template-columns: 1fr;
	}

	.tdsi-crank-equipment-detail .tab#relate .prod {
		grid-template-columns: 80px minmax(0, 1fr);
	}

	.tdsi-crank-equipment-detail .tab#relate .prod-content {
		align-items: flex-start;
		flex-direction: column;
	}
}



/* Division WORKS grid — shared (ludens / fuze / dg / future department pages) */
.tdsi-division {
	--tdsi-works-accent: #777;
	--tdsi-works-accent-hover: #5f5f5f;
}

.tdsi-ludens {
	--tdsi-works-accent: #8996b0;
	--tdsi-works-accent-hover: #6f7c96;
}

.tdsi-fuze {
	--tdsi-works-accent: #8f8f8f;
	--tdsi-works-accent-hover: #707070;
}

.tdsi-dg {
	--tdsi-works-accent: #d51352;
	--tdsi-works-accent-hover: #b01044;
}

.tdsi-treevfx {
	--tdsi-works-accent: #c79f62;
	--tdsi-works-accent-hover: #a8824a;
}

.tdsi-division .box-works.box-works--grid {
	margin-inline: auto;
	margin-top: clamp(3.984rem, 4.5rem, 7.5rem);
	max-width: 90rem;
	padding: 0 clamp(1.25rem, 1.92rem, 3.5rem) clamp(3rem, 3.36rem, 6rem);
	width: 100%;
}

.tdsi-division .box-works.box-works--grid .title-head.title-head--gray {
	margin-block-end: clamp(1.75rem, 1.92rem, 2.5rem);
	text-align: center;
}

.tdsi-division .box-works.box-works--grid .box-works-list {
	margin-top: clamp(0.912rem, 1rem, 1.75rem);
	max-width: 100%;
	width: 100%;
}

.tdsi-division .box-works.box-works--grid .list-works {
	background: #f9f9f9;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	list-style: none;
	margin: 0;
	max-width: 90rem;
	padding: 0;
}

.tdsi-division .box-works.box-works--grid .list-works > .works-item {
	box-sizing: border-box;
	margin-bottom: clamp(1.344rem, 1.5rem, 3.625rem);
	padding: 0 0.3125rem;
	width: 25%;
}

.tdsi-division .box-works.box-works--grid .list-works > .works-item > a {
	color: inherit;
	display: block;
	overflow: hidden;
	position: relative;
	text-decoration: none;
}

.tdsi-division .box-works.box-works--grid .list-works > .works-item > a:hover {
	opacity: .7;
}

.tdsi-division .box-works.box-works--grid .works-thumb {
	display: block;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.tdsi-division .box-works.box-works--grid .works-thumb::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}

.tdsi-division .box-works.box-works--grid .works-thumb img {
	display: block;
	height: 100%;
	left: 0;
	object-fit: cover;
	object-position: center;
	position: absolute;
	top: 0;
	width: 100%;
}

.tdsi-division .box-works.box-works--grid .list-works > .works-item > a .txt-cm {
	color: var(--tdsi-works-accent);
	display: inline-block;
	font-family: Barlow, sans-serif;
	font-size: clamp(0.3984rem, 0.6875rem, 0.75rem);
	font-weight: 500;
	margin-left: clamp(1rem, 1.344rem, 2.5rem);
	margin-top: clamp(1rem, 1.008rem, 1.875rem);
	position: relative;
	width: auto;
}

.tdsi-division .box-works.box-works--grid .list-works > .works-item > a .txt-cm::after {
	background: var(--tdsi-works-accent);
	content: "";
	height: clamp(1.68rem, 2rem, 3.125rem);
	left: 11px;
	position: absolute;
	top: calc(-1 * clamp(1.68rem, 2rem, 3.125rem));
	width: 1px;
}

.tdsi-division .box-works.box-works--grid .list-works > .works-item > a .title-works {
	font-size: clamp(0.3984rem, 0.6875rem, 0.75rem);
	line-height: 1.75;
	margin-top: clamp(0.336rem, 0.5rem, 0.625rem);
	padding: 0 0 0 clamp(1rem, 1.344rem, 2.5rem);
}

.tdsi-division .box-works.box-works--grid .work-tag {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem .5rem;
	margin-top: clamp(0.336rem, 0.5rem, 0.625rem);
	padding: 0 clamp(1rem, 1.344rem, 2.5rem);
}

.tdsi-division .box-works.box-works--grid .work-tag .tag {
	border: 1px solid #ccc;
	color: #4d4d4d;
	display: inline-block;
	font-size: clamp(0.3984rem, 0.6875rem, 0.75rem);
	line-height: 1;
	padding: .45em .65em;
	text-decoration: none;
}

.tdsi-division .box-works.box-works--grid .list-works > .works-item > a.last-item {
	align-items: stretch;
	aspect-ratio: 16 / 9;
	background: var(--tdsi-works-accent);
	box-sizing: border-box;
	color: #fff;
	display: flex;
	justify-content: center;
	min-height: 0;
	overflow: hidden;
	padding: clamp(1.152rem, 1.25rem, 2.1875rem) clamp(1rem, 1.008rem, 1.875rem);
	position: relative;
	text-align: center;
}

.tdsi-division .box-works.box-works--grid .last-item .box-color {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	position: relative;
	width: 100%;
}

.tdsi-division .box-works.box-works--grid .last-item .head-text {
	font-family: Barlow, sans-serif;
	font-size: clamp(0.4656rem, 0.75rem, 0.875rem);
	font-weight: 700;
}

.tdsi-division .box-works.box-works--grid .last-item .sub-text {
	font-size: clamp(0.6rem, 0.875rem, 1.125rem);
	margin-top: clamp(0.336rem, 0.5rem, 0.625rem);
}

.tdsi-division .box-works.box-works--grid .last-item .read-more {
	bottom: clamp(0.576rem, 0.75rem, 1.5625rem);
	font-family: Barlow, sans-serif;
	font-size: clamp(0.3744rem, 0.6875rem, 1rem);
	margin-top: 0;
	position: absolute;
	right: clamp(0.816rem, 1rem, 2.1875rem);
}

@media (max-width: 781px) {
	.tdsi-division .box-works.box-works--grid .list-works > .works-item {
		margin-bottom: clamp(2rem, 5rem, 5.1216rem);
		padding: 0 0.3125rem;
		width: 100%;
	}

	.tdsi-division .box-works.box-works--grid .list-works > .works-item > a .txt-cm {
		font-size: clamp(0.75rem, 1rem, 1.0224rem);
		margin-left: 1rem;
		margin-top: 1rem;
	}

	.tdsi-division .box-works.box-works--grid .list-works > .works-item > a .txt-cm::after {
		height: clamp(2rem, 3.75rem, 6.3984rem);
		top: calc(-1 * clamp(2rem, 3.75rem, 6.3984rem));
	}

	.tdsi-division .box-works.box-works--grid .list-works > .works-item > a .title-works,
	.tdsi-division .box-works.box-works--grid .list-works .works-item > a .title-works {
		font-size: var(--tdsi-top-sp-body);
		margin-top: 0.75rem;
		padding: 0 1rem;
	}

	.tdsi-division .box-works.box-works--grid .work-tag {
		padding: 0 1rem;
	}

	.tdsi-division .box-works.box-works--grid .list-works > .works-item > a.last-item {
		aspect-ratio: auto;
		min-height: clamp(11.25rem, 16rem, 26.88rem);
		padding: 1.5rem;
	}

	.tdsi-ludens .box-works.box-works--grid,
	.tdsi-fuze .box-works.box-works--grid,
	.tdsi-dg .box-works.box-works--grid,
	.tdsi-mg .box-works.box-works--grid {
		padding-inline: 0;
	}
}

@media (min-width: 48.875rem) {
	.tdsi-division .box-works.box-works--grid .list-works > .works-item {
		box-sizing: border-box;
		width: 25%;
	}
}

/* LUDENS department page */

/* Centered body copy — intro / demoreel / similar division text blocks */
.tdsi-division .tdsi-body-copy,
.tdsi-division .tdsi-body-copy p,
.tdsi-ludens .contt-box .wrap-box,
.tdsi-ludens .contt-box .wrap-box p,
.tdsi-ludens .contt-box .entry-content,
.tdsi-ludens .contt-box .entry-content p,
.tdsi-division .content-box.box-demoreel > p {
	color: #333;
	font-size: .875rem;
	line-height: 2;
	text-align: center;
}

.tdsi-division.tdsi-ludens {
	background: #fff;
	max-width: none;
}

.tdsi-ludens .page-title {
	background-color: #fff;
	background-image: var(--tdsi-title-bg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: clamp(2rem, 2.88rem, 5.5rem) clamp(1.25rem, 1.92rem, 3.5rem) clamp(1.25rem, 1.92rem, 3rem);
	text-align: center;
}

.tdsi-ludens .page-title img {
	height: auto;
	max-width: min(32.5rem, 20.1562rem);
}

.tdsi-ludens .contt-box {
	margin-inline: auto;
	max-width: 73.75rem;
	padding: clamp(3rem, 3.36rem, 6rem) clamp(1.25rem, 1.92rem, 3.5rem);
}

.tdsi-ludens .contt-box .wrap-box {
	margin-inline: auto;
	max-width: 61.25rem;
}

.tdsi-ludens .contt-box .title-head {
	margin-block: 0 34px;
	text-align: center;
}

.tdsi-ludens .contt-box .title-head .txt-light {
	color: #505050;
	font-family: Barlow, sans-serif;
	font-size: clamp(1.6rem, 1.92rem, 2rem);
	font-weight: 400;
	letter-spacing: .04em;
	line-height: 1.1;
	text-transform: uppercase;
}

.tdsi-ludens .content-box.news {
	--tdsi-news-bg: #f2f3f6;
	background:
		linear-gradient(180deg, #f2f3f6 0%, rgba(255, 255, 255, .96) 34%, #fff 100%);
}

.tdsi-ludens .content-box.box-demoreel {
	box-sizing: border-box;
	margin-inline: auto;
	margin-top: clamp(1.992rem, 2.25rem, 3.75rem);
	max-width: 90rem;
	padding: 0 clamp(1.25rem, 1.92rem, 3.5rem) clamp(3rem, 3.36rem, 6rem);
	text-align: center;
	width: 100%;
}

.tdsi-division .content-box.box-demoreel .title-head.title-head--gray {
	margin-block-end: clamp(1.44rem, 1.5rem, 2.125rem);
	text-align: center;
}

.tdsi-division .content-box.box-demoreel .floor-map {
	margin-inline: auto;
	margin-top: clamp(1.44rem, 1.5rem, 2.5rem);
	max-width: 90rem;
	position: relative;
	width: 100%;
}

.tdsi-division .content-box.box-demoreel .floor-map > img,
.tdsi-division .content-box.box-demoreel .floor-map img {
	display: block;
	height: auto;
	margin-inline: auto;
	max-width: 100%;
	width: 100%;
}

.tdsi-division .content-box.box-demoreel .floor-map > p:empty {
	display: none;
	margin: 0;
}

.tdsi-division .content-box.box-demoreel .floor-map .detail-button {
	align-items: center;
	background: #8996b0 url("../images/ludens/floor_button.png") calc(100% - 0.5625rem) 50% no-repeat;
	background-size: 3.125rem;
	box-sizing: border-box;
	box-shadow: 0 0.2812rem 0.75rem rgba(52, 64, 84, .28);
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	font-family: Barlow, sans-serif;
	font-size: 1rem;
	height: 4.375rem;
	isolation: isolate;
	justify-content: flex-start;
	left: calc(50% - 8.75rem);
	letter-spacing: .06em;
	overflow: hidden;
	padding: 0 1.5625rem;
	position: absolute;
	text-decoration: none;
	top: calc(50% - 2.1875rem);
	transition:
		transform .5s cubic-bezier(.22, 1, .36, 1),
		box-shadow .5s cubic-bezier(.22, 1, .36, 1),
		background-color .35s ease,
		background-position .35s ease,
		letter-spacing .35s ease;
	width: 17.5rem;
	z-index: 1;
}

.tdsi-division .content-box.box-demoreel .floor-map .detail-button::before {
	background: linear-gradient(105deg, transparent 38%, rgba(255, 255, 255, .42) 50%, transparent 62%);
	content: "";
	inset: 0;
	position: absolute;
	transform: translateX(-130%);
	transition: transform .75s cubic-bezier(.22, 1, .36, 1);
	z-index: -1;
}

.tdsi-division .content-box.box-demoreel .floor-map .detail-button::after {
	background: rgba(255, 255, 255, .14);
	border-radius: 50%;
	content: "";
	filter: blur(12px);
	height: 140%;
	left: 55%;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: opacity .45s ease;
	width: 38%;
	z-index: -1;
}

@media (min-width: 782px) {
	.tdsi-division .content-box.box-demoreel .floor-map .detail-button {
		background: #8996b0 url("../images/ludens/floor_button.png") calc(100% - 0.625rem) 50% no-repeat;
		background-size: 2.125rem;
		font-size: 1rem;
		height: 4.2rem;
		left: calc(50% - 8.4375rem);
		padding: 0 1.5625rem;
		top: calc(50% - 2.1rem);
		width: 16.875rem;
	}

	.tdsi-division .content-box.box-demoreel .floor-map .detail-button:hover,
	.tdsi-division .content-box.box-demoreel .floor-map .detail-button:focus-visible {
		background-position: calc(100% - 0.5rem) 50%;
		transform: translateY(-0.125rem);
	}
}

.tdsi-division .content-box.box-demoreel .floor-map .detail-button:hover,
.tdsi-division .content-box.box-demoreel .floor-map .detail-button:focus-visible {
	background-color: #6f7d96;
	background-position: calc(100% - 0.2812rem) 50%;
	box-shadow: 0 0.4219rem 1.125rem rgba(35, 45, 62, .45);
	letter-spacing: .14em;
	transform: translateY(-0.1406rem);
}

.tdsi-division .content-box.box-demoreel .floor-map .detail-button:hover::before,
.tdsi-division .content-box.box-demoreel .floor-map .detail-button:focus-visible::before {
	transform: translateX(130%);
}

.tdsi-division .content-box.box-demoreel .floor-map .detail-button:hover::after,
.tdsi-division .content-box.box-demoreel .floor-map .detail-button:focus-visible::after {
	opacity: 1;
}

.tdsi-division .content-box.box-demoreel .floor-map .detail-button:active {
	transform: translateY(-0.0352rem);
	transition-duration: .12s;
}

/* demoreel 内の SP専用余白 br は PC では出さない */
.tdsi-division .content-box.box-demoreel .show-sp {
	display: none;
}

@media (max-width: 781px) {
	.tdsi-division .content-box.box-demoreel {
		padding-inline: 15px;
		padding-bottom: clamp(3rem, 12vw, 5rem);
	}

	.tdsi-division .content-box.box-demoreel .title-head.title-head--gray,
	.tdsi-division .content-box.box-demoreel > p:not(:empty) {
		padding-inline: 0;
	}

	/* 現行本番同様: SPでは背景ビジュアル非表示・ボタンを通常配置 */
	.tdsi-division .content-box.box-demoreel .floor-map {
		height: auto;
		margin-inline: auto;
		margin-top: clamp(1.5rem, 5.333vw, 2.5rem);
		max-width: none;
		overflow: visible;
		width: 100%;
	}

	.tdsi-division .content-box.box-demoreel .floor-map > img,
	.tdsi-division .content-box.box-demoreel .floor-map img {
		display: none;
	}

	.tdsi-division .content-box.box-demoreel .floor-map .detail-button {
		background: #8996b0 url("../images/ludens/floor_button.png") calc(100% - 2.4vw) 50% no-repeat;
		background-size: 13.33333vw;
		font-size: 4.26667vw;
		height: 18.66667vw;
		left: auto;
		margin-inline: auto;
		padding: 0 6.66667vw;
		position: relative;
		top: auto;
		width: 74.66667vw;
	}

	.tdsi-division .content-box.box-demoreel .show-sp {
		display: inline;
	}
}

.tdsi-ludens .content-box.box-map {
	box-sizing: border-box;
	margin-inline: auto;
	margin-top: clamp(3.984rem, 4.5rem, 7.5rem);
	max-width: 90rem;
	padding: 0 clamp(1.25rem, 1.92rem, 3.5rem) clamp(3rem, 3.36rem, 6rem);
	width: 100%;
}

.tdsi-ludens .box-map .list-location {
	margin-top: clamp(2.352rem, 2.5rem, 4.375rem);
}

.tdsi-ludens .box-map .location {
	display: flex;
	flex-wrap: wrap;
	margin-top: clamp(0.816rem, 1rem, 1.5625rem);
}

.tdsi-ludens .box-map .detail-location {
	background: #c49d62;
	box-sizing: border-box;
	color: #fff;
	order: 1;
	padding: clamp(1.75rem, 1.824rem, 3.4375rem);
	position: relative;
	width: 100%;
}

.tdsi-ludens .box-map .detail-location .head-text {
	font-family: Barlow, sans-serif;
	font-size: clamp(0.875rem, 1rem, 1rem);
	font-weight: 700;
	line-height: 1.4;
	margin: 0;
}

.tdsi-ludens .box-map .location-visual {
	min-height: 18.75rem;
	order: 2;
	width: 100%;
}

.tdsi-ludens .box-map .location-visual iframe {
	display: block;
	filter: grayscale(100%);
	height: 100%;
	min-height: 18.75rem;
	width: 100%;
}

@media (max-width: 781px) {
	.tdsi-ludens .box-map .detail-location {
		order: 2;
	}

	.tdsi-ludens .box-map .location-visual {
		order: 1;
	}

	.tdsi-ludens .content-box.box-demoreel,
	.tdsi-ludens .content-box.box-map,
	.tdsi-ludens .contt-box {
		padding-inline: 15px;
	}

	.tdsi-ludens .content-box.news .wrap-box {
		box-sizing: border-box;
		padding-inline: 15px;
	}
}

@media (min-width: 48.875rem) {
	.tdsi-ludens .box-map .detail-location,
	.tdsi-ludens .box-map .location-visual {
		width: 50%;
	}

	.tdsi-ludens .box-map .location-visual iframe {
		min-height: 25rem;
	}
}

.tdsi-ludens .title-head.title-head--gray {
	display: grid;
	gap: .35rem;
	margin-block: 0 34px;
	text-align: center;
}

.tdsi-ludens .title-head.title-head--gray .txt-light {
	color: #505050;
	font-family: Barlow, sans-serif;
	font-size: clamp(1.6rem, 1.85rem, 1.92rem);
	font-weight: 300;
	letter-spacing: .04em;
	line-height: 1.1;
	text-transform: uppercase;
}

.tdsi-ludens .title-head.title-head--gray .txt-noto {
	color: #505050;
	font-size: .78rem;
	font-weight: 400;
	letter-spacing: .02em;
}

/* Button interactions — bold motion across division / crank pages */
.tdsi-division .content-box.news .box-button-link a,
.tdsi-crank .content-box.news .box-button-link a,
.tdsi-crank .box-button-link a {
	isolation: isolate;
	overflow: hidden;
	position: relative;
	transition:
		transform .45s cubic-bezier(.22, 1, .36, 1),
		box-shadow .45s cubic-bezier(.22, 1, .36, 1),
		color .35s ease,
		border-color .35s ease,
		letter-spacing .35s ease;
	z-index: 0;
}

.tdsi-division .content-box.news .box-button-link a::before,
.tdsi-crank .content-box.news .box-button-link a::before {
	background: #fff;
	content: "";
	inset: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .5s cubic-bezier(.22, 1, .36, 1);
	z-index: -1;
}

.tdsi-crank .box-button-link a::before {
	background: currentColor;
	content: "";
	inset: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform .5s cubic-bezier(.22, 1, .36, 1);
	z-index: -1;
}

.tdsi-division .content-box.news .box-button-link a:hover,
.tdsi-division .content-box.news .box-button-link a:focus-visible,
.tdsi-crank .content-box.news .box-button-link a:hover,
.tdsi-crank .content-box.news .box-button-link a:focus-visible {
	box-shadow: 0 14px 34px rgba(196, 161, 96, .42);
	color: #c4a160;
	letter-spacing: .12em;
	transform: translateY(-4px);
}

.tdsi-division .content-box.news .box-button-link a:hover::before,
.tdsi-division .content-box.news .box-button-link a:focus-visible::before,
.tdsi-crank .content-box.news .box-button-link a:hover::before,
.tdsi-crank .content-box.news .box-button-link a:focus-visible::before {
	transform: scaleX(1);
}

.tdsi-crank .box-button-link a:hover,
.tdsi-crank .box-button-link a:focus-visible {
	border-color: transparent;
	box-shadow: 0 12px 28px rgba(0, 0, 0, .14);
	color: #fff;
	letter-spacing: .1em;
	transform: translateY(-3px);
}

.tdsi-crank .box-button-link a:hover::before,
.tdsi-crank .box-button-link a:focus-visible::before {
	transform: scaleX(1);
}

.tdsi-crank .box-works.crank .list-works > .works-item > a.last-item,
.tdsi-division .box-works.box-works--grid .list-works > .works-item > a.last-item {
	overflow: hidden;
	transition:
		transform .5s cubic-bezier(.22, 1, .36, 1),
		box-shadow .5s cubic-bezier(.22, 1, .36, 1),
		background-color .4s ease,
		color .35s ease;
}

.tdsi-crank .box-works.crank .list-works > .works-item > a.last-item::before,
.tdsi-division .box-works.box-works--grid .list-works > .works-item > a.last-item::before {
	background: linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, .5) 50%, transparent 70%);
	content: "";
	inset: 0;
	position: absolute;
	transform: translateX(-120%);
	transition: transform .7s cubic-bezier(.22, 1, .36, 1);
}

.tdsi-crank .box-works.crank .list-works > .works-item > a.last-item:hover,
.tdsi-crank .box-works.crank .list-works > .works-item > a.last-item:focus-visible,
.tdsi-division .box-works.box-works--grid .list-works > .works-item > a.last-item:hover,
.tdsi-division .box-works.box-works--grid .list-works > .works-item > a.last-item:focus-visible {
	box-shadow: 0 18px 36px rgba(0, 0, 0, .16);
	opacity: 1;
	transform: translateY(-6px);
}

.tdsi-division .box-works.box-works--grid .list-works > .works-item > a.last-item:hover,
.tdsi-division .box-works.box-works--grid .list-works > .works-item > a.last-item:focus-visible {
	background: var(--tdsi-works-accent-hover);
	color: #fff;
}

.tdsi-crank .box-works.crank .list-works > .works-item > a.last-item:hover,
.tdsi-crank .box-works.crank .list-works > .works-item > a.last-item:focus-visible {
	background-color: #d5d4cf;
}

.tdsi-crank .box-works.crank .list-works > .works-item > a.last-item:hover::before,
.tdsi-crank .box-works.crank .list-works > .works-item > a.last-item:focus-visible::before,
.tdsi-division .box-works.box-works--grid .list-works > .works-item > a.last-item:hover::before,
.tdsi-division .box-works.box-works--grid .list-works > .works-item > a.last-item:focus-visible::before {
	transform: translateX(120%);
}

.tdsi-crank #banner .banner {
	overflow: hidden;
	transition:
		transform .55s cubic-bezier(.22, 1, .36, 1),
		box-shadow .55s cubic-bezier(.22, 1, .36, 1);
}

.tdsi-crank #banner .banner .button {
	transition: transform .45s cubic-bezier(.22, 1, .36, 1);
}

.tdsi-crank #banner .banner:hover,
.tdsi-crank #banner .banner:focus-within {
	box-shadow: 0 20px 44px rgba(0, 0, 0, .14);
	transform: translateY(-6px);
}

.tdsi-crank #banner .banner:hover .button,
.tdsi-crank #banner .banner:focus-within .button {
	transform: translateX(6px);
}

.tdsi-mg-service-card {
	overflow: hidden;
	transition: transform .5s cubic-bezier(.22, 1, .36, 1);
}

.tdsi-mg-service-card img {
	transition: opacity .45s ease;
}

.tdsi-mg-service-card:hover,
.tdsi-mg-service-card:focus-visible {
	transform: translateY(-8px);
}

.tdsi-mg-service-card:hover img,
.tdsi-mg-service-card:focus-visible img {
	opacity: .92;
}

@media (prefers-reduced-motion: reduce) {
	.tdsi-division .content-box.box-demoreel .floor-map .detail-button,
	.tdsi-division .content-box.news .box-button-link a,
	.tdsi-crank .box-button-link a,
	.tdsi-crank .content-box.news .box-button-link a,
	.tdsi-crank .box-works.crank .list-works > .works-item > a.last-item,
	.tdsi-division .box-works.box-works--grid .list-works > .works-item > a.last-item,
	.tdsi-crank #banner .banner,
	.tdsi-mg-service-card,
	.tdsi-mg-service-card img {
		transition: none;
	}

	.tdsi-division .content-box.box-demoreel .floor-map .detail-button:hover,
	.tdsi-division .content-box.box-demoreel .floor-map .detail-button:focus-visible,
	.tdsi-division .content-box.news .box-button-link a:hover,
	.tdsi-crank .box-button-link a:hover,
	.tdsi-crank #banner .banner:hover {
		transform: none;
	}
}

/* Fuze department page */
.tdsi-division.tdsi-fuze {
	background: #fff;
	max-width: none;
}

.tdsi-fuze .page-title {
	background-color: #fff;
	background-image: var(--tdsi-title-bg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: clamp(2rem, 2.88rem, 5.5rem) clamp(1.25rem, 1.92rem, 3.5rem) clamp(1.25rem, 1.92rem, 3rem);
	text-align: center;
}

.tdsi-fuze .page-title img {
	height: auto;
	max-width: min(32.5rem, 20.1562rem);
}

.tdsi-fuze .content-box.news {
	--tdsi-news-bg: #f2f2f2;
	background:
		linear-gradient(180deg, #f2f2f2 0%, rgba(255, 255, 255, .96) 34%, #fff 100%);
}

.tdsi-mg .content-box.news {
	--tdsi-news-bg: #e3eee9;
	background:
		linear-gradient(180deg, #e3eee9 0%, rgba(255, 255, 255, .96) 34%, #fff 100%);
}

.tdsi-fuze .content-box.box-map {
	box-sizing: border-box;
	margin-inline: auto;
	margin-top: clamp(3.984rem, 4.5rem, 7.5rem);
	max-width: 90rem;
	padding: 0 clamp(1.25rem, 1.92rem, 3.5rem) clamp(3rem, 3.36rem, 6rem);
	width: 100%;
}

.tdsi-fuze .box-map .list-location {
	margin-top: clamp(2.352rem, 2.5rem, 4.375rem);
}

.tdsi-fuze .box-map .location {
	display: flex;
	flex-wrap: wrap;
	margin-top: clamp(0.816rem, 1rem, 1.5625rem);
}

.tdsi-fuze .box-map .detail-location {
	background: #c49d62;
	box-sizing: border-box;
	color: #fff;
	order: 1;
	padding: clamp(1.75rem, 1.824rem, 3.4375rem);
	position: relative;
	width: 100%;
}

.tdsi-fuze .box-map .detail-location .head-text {
	font-family: Barlow, sans-serif;
	font-size: clamp(0.875rem, 1rem, 1rem);
	font-weight: 700;
	line-height: 1.4;
	margin: 0;
}

.tdsi-fuze .box-map .detail-location .name {
	margin-top: 0;
}

.tdsi-fuze .box-map .detail-location .address {
	margin-top: clamp(0.48rem, 0.75rem, 0.9375rem);
}

.tdsi-fuze .box-map .location-visual {
	min-height: 18.75rem;
	order: 2;
	width: 100%;
}

.tdsi-fuze .box-map .location-visual iframe {
	display: block;
	filter: grayscale(100%);
	height: 100%;
	min-height: 18.75rem;
	width: 100%;
}

.tdsi-fuze .title-head.title-head--gray {
	display: grid;
	gap: .35rem;
	margin-block: 0 34px;
	text-align: center;
}

.tdsi-fuze .title-head.title-head--gray .txt-light {
	color: #505050;
	font-family: Barlow, sans-serif;
	font-size: clamp(1.6rem, 1.85rem, 1.92rem);
	font-weight: 300;
	letter-spacing: .04em;
	line-height: 1.1;
	text-transform: uppercase;
}

.tdsi-fuze .title-head.title-head--gray .txt-noto {
	color: #505050;
	font-size: .78rem;
	font-weight: 400;
	letter-spacing: .02em;
}

@media (max-width: 781px) {
	.tdsi-fuze .box-map .detail-location {
		order: 2;
	}

	.tdsi-fuze .box-map .location-visual {
		order: 1;
	}

	.tdsi-fuze .content-box.box-map {
		padding-inline: 15px;
	}

	.tdsi-fuze .content-box.news .wrap-box {
		box-sizing: border-box;
		padding-inline: 15px;
	}
}

@media (min-width: 48.875rem) {
	.tdsi-fuze .box-map .detail-location,
	.tdsi-fuze .box-map .location-visual {
		width: 50%;
	}

	.tdsi-fuze .box-map .location-visual iframe {
		min-height: 25rem;
	}
}

/* DIGITAL GARDEN department page */
.tdsi-division.tdsi-dg {
	background: #fff;
	max-width: none;
}

.tdsi-dg .page-title {
	background-color: #fff;
	background-image: var(--tdsi-title-bg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: clamp(2rem, 2.88rem, 5.5rem) clamp(1.25rem, 1.92rem, 3.5rem) clamp(1.25rem, 1.92rem, 3rem);
	text-align: center;
}

.tdsi-dg .page-title img {
	height: auto;
	max-width: min(32.5rem, 20.1562rem);
}

.tdsi-dg .content-box.news {
	--tdsi-news-bg: #fae4eb;
	background:
		linear-gradient(180deg, #fae4eb 0%, rgba(255, 255, 255, .96) 34%, #fff 100%);
}

.tdsi-dg .content-box.box-gallery {
	box-sizing: border-box;
	margin-inline: auto;
	margin-top: clamp(3.984rem, 4.5rem, 7.5rem);
	max-width: 90rem;
	padding: 0 clamp(1.25rem, 1.92rem, 3.5rem) clamp(3rem, 3.36rem, 6rem);
	width: 100%;
}

.tdsi-dg .content-box.box-gallery .title-head.title-head--gray {
	margin-block-end: clamp(1.75rem, 1.92rem, 2.5rem);
	text-align: center;
}

.tdsi-dg .box-gallery .gallery-image {
	display: flex;
	flex-wrap: wrap;
	margin-inline: auto;
	margin-top: clamp(0.816rem, 1rem, 1.25rem);
	max-width: 90rem;
	position: relative;
	width: 100%;
}

.tdsi-dg .box-gallery .gallery-image:first-of-type {
	margin-top: 0;
}

.tdsi-dg .box-gallery .gallery-image .image-description {
	background: #c49d62;
	box-sizing: border-box;
	order: 2;
	padding: clamp(1.75rem, 2.544rem, 3.4375rem);
	pointer-events: none;
	position: relative;
	width: 100%;
}

.tdsi-dg .box-gallery .gallery-image .image-description .head-text,
.tdsi-dg .box-gallery .gallery-image .image-description .head-text p {
	color: #fff;
	font-family: Barlow, sans-serif;
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.2;
	margin: 0;
	padding: 0;
	width: 100%;
}

.tdsi-dg .box-gallery .gallery-image .image-box {
	display: block;
	list-style: none;
	margin: 0;
	max-height: none;
	order: 1;
	padding: 0;
	width: 100%;
}

.tdsi-dg .box-gallery .gallery-image .image-box li {
	background: #fff;
	display: block !important;
	margin: 0;
	padding: 0;
}

.tdsi-dg .box-gallery .gallery-image .image-box li img {
	display: block;
	height: auto;
	width: 100%;
}

.tdsi-dg .box-gallery .gallery-image .image-box .slick-list {
	overflow: hidden;
}

.tdsi-dg .box-gallery .gallery-image .image-box .slick-track {
	display: flex;
}

.tdsi-dg .box-gallery .gallery-image .image-box .slick-slide {
	height: auto;
}

.tdsi-dg .box-gallery .gallery-image .image-box .slick-arrow {
	background: transparent;
	border: 0;
	color: transparent;
	font-size: 0;
	height: 1.875rem;
	line-height: 0;
	overflow: hidden;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.875rem;
	z-index: 2;
}

.tdsi-dg .box-gallery .gallery-image .image-box .slick-arrow::before {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: block;
	height: 1.875rem;
	opacity: 1;
	position: absolute;
	top: 0;
	width: 1.875rem;
}

.tdsi-dg .box-gallery .gallery-image .image-box .slick-prev {
	left: 0;
}

.tdsi-dg .box-gallery .gallery-image .image-box .slick-prev::before {
	background-image: url("../images/dg/ui/arrow_back.png");
	left: 0;
}

.tdsi-dg .box-gallery .gallery-image .image-box .slick-next {
	right: 0;
}

.tdsi-dg .box-gallery .gallery-image .image-box .slick-next::before {
	background-image: url("../images/dg/ui/arrow_next.png");
	right: 0;
}

.tdsi-dg .content-box.box-map {
	box-sizing: border-box;
	margin-inline: auto;
	margin-top: clamp(3.984rem, 4.5rem, 7.5rem);
	max-width: 90rem;
	padding: 0 clamp(1.25rem, 1.92rem, 3.5rem) clamp(3rem, 3.36rem, 6rem);
	width: 100%;
}

.tdsi-dg .box-map .list-location {
	margin-top: clamp(2.352rem, 2.5rem, 4.375rem);
}

.tdsi-dg .box-map .location {
	display: flex;
	flex-wrap: wrap;
	margin-top: clamp(0.816rem, 1rem, 1.5625rem);
}

.tdsi-dg .box-map .detail-location {
	background: #c49d62;
	box-sizing: border-box;
	color: #fff;
	order: 1;
	padding: clamp(1.75rem, 1.824rem, 3.4375rem);
	position: relative;
	width: 100%;
}

.tdsi-dg .box-map .detail-location .head-text {
	font-family: Barlow, sans-serif;
	font-size: clamp(0.875rem, 1rem, 1rem);
	font-weight: 700;
	line-height: 1.4;
	margin: 0;
}

.tdsi-dg .box-map .detail-location .address {
	margin-top: clamp(0.48rem, 0.75rem, 0.9375rem);
}

.tdsi-dg .box-map .location-visual {
	min-height: 18.75rem;
	order: 2;
	width: 100%;
}

.tdsi-dg .box-map .location-visual iframe {
	display: block;
	filter: grayscale(100%);
	height: 100%;
	min-height: 18.75rem;
	width: 100%;
}

.tdsi-dg .title-head.title-head--gray {
	display: grid;
	gap: .35rem;
	margin-block: 0 34px;
	text-align: center;
}

.tdsi-dg .title-head.title-head--gray .txt-light {
	color: #505050;
	font-family: Barlow, sans-serif;
	font-size: clamp(1.6rem, 1.85rem, 1.92rem);
	font-weight: 300;
	letter-spacing: .04em;
	line-height: 1.1;
	text-transform: uppercase;
}

.tdsi-dg .title-head.title-head--gray .txt-noto {
	color: #505050;
	font-size: .78rem;
	font-weight: 400;
	letter-spacing: .02em;
}

@media (max-width: 781px) {
	.tdsi-dg .box-gallery .gallery-image .image-description {
		height: auto;
		min-height: clamp(11.25rem, 13.75rem, 14.064rem);
	}

	.tdsi-dg .box-map .detail-location {
		order: 2;
	}

	.tdsi-dg .box-map .location-visual {
		order: 1;
	}

	.tdsi-dg .content-box.box-gallery,
	.tdsi-dg .content-box.box-map,
	.tdsi-dg .content-box.box-demoreel {
		padding-inline: 15px;
	}

	.tdsi-dg .content-box.news .wrap-box {
		box-sizing: border-box;
		padding-inline: 15px;
	}
}

@media (min-width: 48rem) {
	.tdsi-dg .box-gallery .gallery-image .image-description .head-text,
	.tdsi-dg .box-gallery .gallery-image .image-description .head-text p {
		font-size: 1.125rem;
	}
}

@media (min-width: 48.875rem) {
	.tdsi-dg .box-gallery .gallery-image .image-description {
		order: 1;
		padding: clamp(1.008rem, 1.5rem, 1.875rem) clamp(0.816rem, 1.25rem, 1.5625rem);
		width: 25%;
	}

	.tdsi-dg .box-gallery .gallery-image .image-box {
		order: 2;
		width: 75%;
	}

	.tdsi-dg .box-gallery .gallery-image .image-box li img {
		aspect-ratio: 1 / 1;
		height: 100%;
		object-fit: cover;
	}

	.tdsi-dg .box-map .detail-location,
	.tdsi-dg .box-map .location-visual {
		width: 50%;
	}

	.tdsi-dg .box-map .location-visual iframe {
		min-height: 25rem;
	}
}

/* Data Service page (ds) */
.tdsi-division.tdsi-ds,
#dataservice.tdsi-ds {
	background: #fff;
	max-width: none;
}

.tdsi-ds .show-pc {
	display: none !important;
}

.tdsi-ds .show-sp {
	display: inline !important;
}

@media (min-width: 782px) {
	.tdsi-ds .show-pc {
		display: inline !important;
	}

	.tdsi-ds .show-sp {
		display: none !important;
	}
}

.tdsi-ds .page-title.mb-0 {
	margin-bottom: 0;
}

.tdsi-ds .page-title.mb-0 a {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	line-height: 0;
	text-decoration: none;
}

.tdsi-ds .page-title.mb-0 img {
	height: auto;
	max-height: 100%;
	max-width: 40vw;
	width: auto;
}

@media (min-width: 782px) {
	.tdsi-ds .page-title.mb-0 img {
		max-width: 18.75rem;
	}
}

.tdsi-ds .page-menu {
	background: #fff;
	border-bottom: 1px solid #3d3d3d;
}

.tdsi-ds .title-head.title-gray {
	display: grid;
	gap: .35rem;
	margin-block: 0 2.5rem;
	text-align: center;
}

.tdsi-ds .title-head.title-gray .txt-light {
	color: #4d4d4d;
	font-family: Barlow, sans-serif;
	font-size: clamp(1.6rem, 1.85rem, 1.92rem);
	font-weight: 300;
	letter-spacing: .04em;
	line-height: 1.1;
	text-transform: uppercase;
}

.tdsi-ds .title-head.title-gray .txt-noto {
	color: #4d4d4d;
	font-size: .78rem;
	font-weight: 400;
	letter-spacing: .02em;
}

@media (min-width: 782px) {
	.tdsi-ds .title-head.title-gray {
		margin-block-end: 3.75rem;
	}
}

.tdsi-ds .title-head.title-head--ssd {
	display: block;
}

.tdsi-ds .title-head.title-head--ssd .txt-light {
	display: inline;
	white-space: nowrap;
	text-transform: none;
}

.tdsi-ds .data {
	box-sizing: border-box;
	margin-inline: auto;
	margin-top: 2.5rem;
	max-width: 70.625rem;
	padding-inline: 15px;
	width: 100%;
}

@media (min-width: 782px) {
	.tdsi-ds .data {
		margin-top: 6.25rem;
	}
}

.data-text {
	color: #4d4d4d;
	font-size: 0.875rem;
	letter-spacing: .0875rem;
	line-height: 1.93;
	margin-inline: auto;
	max-width: 35.125rem;
	text-align: center;
	width: 100%;
}

.data-detail {
	align-items: stretch;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 3.75rem;
	justify-content: flex-start;
	margin-inline: auto;
	margin-top: 2.5rem;
	max-width: 58.125rem;
	width: 100%;
}

.data-detail__item {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 1.25rem;
	position: relative;
	width: 100%;
}

.data-detail__image {
	display: block;
	flex-shrink: 0;
	line-height: 0;
	position: relative;
	width: 100%;
}

.data-detail__image img {
	display: block;
	height: auto;
	width: 100%;
}

.data-detail__content {
	align-items: flex-start;
	display: flex;
	flex: 1;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	min-width: 0;
	position: relative;
	width: 100%;
}

.data-detail__head,
.data-detail__text {
	color: #4d4d4d;
	font-style: normal;
	width: 100%;
}

.data-detail__head {
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: .125rem;
	line-height: 1.2;
}

.data-detail__text {
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: .0875rem;
	line-height: 1.6;
	margin-top: 1.25rem;
}

@media (min-width: 782px) {
	.data-detail {
		gap: 5.625rem;
		margin-top: 5.625rem;
	}

	.data-detail__item {
		align-items: center;
		flex-direction: row;
		gap: 2.5rem;
	}

	.data-detail__image {
		width: 23.75rem;
	}

	.data-detail__content {
		width: calc(100% - 26.25rem);
	}
}

.tdsi-ds .box-data {
	box-sizing: border-box;
	margin-inline: auto;
	margin-top: 6.25rem;
	max-width: 70.625rem;
	padding-inline: 15px;
	width: 100%;
}

@media (min-width: 782px) {
	.tdsi-ds .box-data {
		margin-top: 7.5rem;
	}
}

.tdsi-ds .data-wrap {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-inline: auto;
	max-width: 56.25rem;
	width: 100%;
}

.tdsi-ds .data-service {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	margin-top: 2.5rem;
	max-width: 56.25rem;
	min-height: 11.2rem;
	padding: 11.2rem 0 0 4rem;
	position: relative;
	width: 100%;
}

.tdsi-ds .data-service:first-child {
	margin-top: 0;
}

.tdsi-ds .data-service__image {
	aspect-ratio: 355 / 200;
	height: auto;
	left: 0;
	object-fit: cover;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}

.tdsi-ds .data-service__content {
	background: #faf8f8;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	padding: 1.25rem;
	position: relative;
	width: 100%;
	z-index: 2;
}

.tdsi-ds .data-service__title {
	color: #4d4d4d;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: .125rem;
	line-height: 1.2;
	width: 100%;
}

.tdsi-ds .data-service__text {
	color: #4d4d4d;
	font-size: 0.875rem;
	letter-spacing: .0875rem;
	line-height: 1.6;
	width: 100%;
}

.tdsi-ds .data-service__button {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	width: 100%;
}

.tdsi-ds .data-service__contact,
.tdsi-ds .data-service__form {
	align-items: center;
	align-self: stretch;
	background: #8e8e8e;
	border-radius: 1.25rem;
	box-sizing: border-box;
	color: #fff;
	display: flex;
	flex-direction: column;
	font-size: 0.875rem;
	font-weight: 700;
	justify-content: center;
	letter-spacing: .125rem;
	line-height: 1;
	min-height: 2.5rem;
	padding: 0.3125rem 0;
	text-decoration: none;
	width: 100%;
}

.tdsi-ds .data-service__tel {
	font-size: 0.9625rem;
	font-weight: 700;
	letter-spacing: .09625rem;
	line-height: 1.2;
	text-align: center;
	width: 100%;
}

.tdsi-ds .data-service__time {
	font-size: 0.539rem;
	font-weight: 700;
	letter-spacing: .0539rem;
	line-height: 1.4;
	text-align: center;
	width: 100%;
}

.tdsi-ds .data-service__viewmore {
	color: #4d4d4d;
	font-family: Barlow, sans-serif;
	font-size: 1rem;
	letter-spacing: .1rem;
	line-height: 1.5;
	margin-left: auto;
	text-align: right;
	text-decoration: underline;
	width: auto;
}

@media (min-width: 782px) {
	.tdsi-ds .data-service {
		margin-top: 3.75rem;
		min-height: 21.25rem;
		padding: 4.125rem 0 0;
	}

	.tdsi-ds .data-service__image {
		aspect-ratio: 571 / 321;
		width: 35.6875rem;
	}

	.tdsi-ds .data-service__content {
		width: 24.375rem;
	}

	.tdsi-ds .data-service__title {
		font-size: 1.25rem;
		line-height: 1.2;
	}

	.tdsi-ds .data-service__text {
		line-height: 1.93;
	}

	.tdsi-ds .data-service__contact,
	.tdsi-ds .data-service__form {
		border-radius: 1.25rem;
		min-height: 1.75rem;
		padding: 0.3125rem 0;
		width: 9.625rem;
	}

	.tdsi-ds .data-service__contact {
		display: none;
	}

	.tdsi-ds .data-service__tel {
		font-size: 0.9625rem;
	}

	.tdsi-ds .data-service__time {
		font-size: 0.539rem;
	}
}

.tdsi-ds .content-box.box-map {
	box-sizing: border-box;
	margin-inline: auto;
	margin-top: 7.5rem;
	max-width: 90rem;
	padding: 0 clamp(1.25rem, 1.92rem, 3.5rem) clamp(3rem, 3.36rem, 6rem);
	width: 100%;
}

.tdsi-ds .box-map .list-location {
	margin-top: clamp(2.352rem, 2.5rem, 4.375rem);
	width: 100%;
}

.tdsi-ds .box-map .location {
	display: flex;
	flex-wrap: wrap;
	margin-top: clamp(0.816rem, 1rem, 1.5625rem);
}

.tdsi-ds .box-map .location:first-child {
	margin-top: 0;
}

.tdsi-ds .box-map .detail-location {
	background: #c49d62;
	box-sizing: border-box;
	color: #fff;
	order: 1;
	padding: clamp(1.75rem, 1.824rem, 3.4375rem);
	position: relative;
	width: 100%;
}

.tdsi-ds .box-map .detail-location .head-text {
	font-family: Barlow, sans-serif;
	font-size: clamp(0.875rem, 1rem, 1rem);
	font-weight: 700;
	line-height: 1.4;
	margin: 0;
}

.tdsi-ds .box-map .detail-location .address {
	font-size: 0.8125rem;
	line-height: 1.8;
	margin-top: clamp(0.48rem, 0.75rem, 0.9375rem);
}

.tdsi-ds .box-map .location-visual {
	min-height: 18.75rem;
	order: 2;
	width: 100%;
}

.tdsi-ds .box-map .location-visual iframe {
	display: block;
	filter: grayscale(100%);
	height: 100%;
	min-height: 18.75rem;
	width: 100%;
}

@media (max-width: 781px) {
	.tdsi-ds .box-map .detail-location {
		order: 2;
	}

	.tdsi-ds .box-map .location-visual {
		order: 1;
	}

	.tdsi-ds .content-box.box-map {
		padding-inline: 15px;
	}
}

@media (min-width: 48.875rem) {
	.tdsi-ds .box-map .detail-location,
	.tdsi-ds .box-map .location-visual {
		width: 50%;
	}

	.tdsi-ds .box-map .detail-location .address {
		font-size: 0.875rem;
		margin-top: 0.9375rem;
	}

	.tdsi-ds .box-map .location-visual iframe {
		min-height: 25rem;
	}
}

/* Data Service — SSD child page (/ds/ssd/) */
.tdsi-ds-ssd .top-button {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	justify-content: flex-end;
	margin-inline: auto;
	max-width: 58.125rem;
	padding-inline: 15px;
	position: relative;
	width: 100%;
}

.tdsi-ds-ssd .top-button__contact,
.tdsi-ds-ssd .top-button__form {
	align-items: center;
	align-self: stretch;
	background: #8e8e8e;
	border-radius: 1.625rem;
	box-sizing: border-box;
	color: #fff;
	display: flex;
	flex-direction: column;
	font-size: 0.875rem;
	font-weight: 700;
	justify-content: center;
	letter-spacing: .125rem;
	line-height: 1;
	margin-top: 2.5rem;
	min-height: 1.875rem;
	padding: 0.3125rem 0;
	text-decoration: none;
	width: calc(50% - 0.625rem);
}

.tdsi-ds-ssd .top-button__tel {
	font-size: 0.9625rem;
	font-weight: 700;
	letter-spacing: .09625rem;
	line-height: 1.2;
	text-align: center;
	width: 100%;
}

.tdsi-ds-ssd .top-button__time {
	font-size: 0.539rem;
	font-weight: 700;
	letter-spacing: .0539rem;
	line-height: 1.4;
	text-align: center;
	width: 100%;
}

@media (min-width: 782px) {
	.tdsi-ds-ssd .top-button__contact,
	.tdsi-ds-ssd .top-button__form {
		margin-top: 1.25rem;
		width: 8.75rem;
	}

	.tdsi-ds-ssd .top-button__contact {
		display: none;
	}
}

.tdsi-ds-ssd .ssd {
	box-sizing: border-box;
	margin-inline: auto;
	margin-top: 2.5rem;
	max-width: 58.125rem;
	padding-inline: 15px;
	width: 100%;
}

@media (min-width: 782px) {
	.tdsi-ds-ssd .ssd {
		margin-top: 6.25rem;
	}
}

/* Data Service — CM child page (/ds/cm/) */
.tdsi-ds-cm .top-button {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	justify-content: flex-end;
	margin-inline: auto;
	max-width: 58.125rem;
	padding-inline: 15px;
	position: relative;
	width: 100%;
}

.tdsi-ds-cm .top-button__contact {
	align-items: center;
	align-self: stretch;
	background: #8e8e8e;
	border-radius: 1.625rem;
	box-sizing: border-box;
	color: #fff;
	display: flex;
	flex-direction: column;
	font-size: 0.875rem;
	font-weight: 700;
	justify-content: center;
	letter-spacing: .125rem;
	line-height: 1;
	margin-top: 2.5rem;
	min-height: 1.875rem;
	padding: 0.3125rem 0;
	text-decoration: none;
	width: calc(50% - 0.625rem);
}

.tdsi-ds-cm .top-button__tel {
	font-size: 0.9625rem;
	font-weight: 700;
	letter-spacing: .09625rem;
	line-height: 1.2;
	text-align: center;
	width: 100%;
}

.tdsi-ds-cm .top-button__time {
	font-size: 0.539rem;
	font-weight: 700;
	letter-spacing: .0539rem;
	line-height: 1.4;
	text-align: center;
	width: 100%;
}

@media (min-width: 782px) {
	.tdsi-ds-cm .top-button__contact {
		display: none;
		margin-top: 1.25rem;
		width: 8.75rem;
	}
}

.box-subtitle {
	box-sizing: border-box;
	margin-inline: auto;
	margin-top: 6.25rem;
	max-width: 58.125rem;
	padding-inline: 15px;
	width: 100%;
}

.box-subtitle .data-text {
	max-width: 100%;
}

#xdcam .data-text,
#xdcam .data-note {
	margin-inline: auto;
	width: 100%;
}

@media (min-width: 782px) {
	#xdcam .data-text,
	#xdcam .data-note {
		max-width: 32.625rem;
	}
}

.block-head {
	color: #4d4d4d;
	font-size: 1.5625rem;
	font-weight: 300;
	line-height: 1.44;
	margin-block: 3.75rem 2.5rem;
	padding-left: 0.625rem;
	position: relative;
}

.block-head::before {
	background-color: #4d4d4d;
	content: "";
	display: block;
	height: 1.625rem;
	left: 0;
	position: absolute;
	top: 0.3125rem;
	width: 2px;
}

.box-cm {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 2.5rem;
	justify-content: center;
	width: 100%;
}

.box-cm__image {
	display: block;
	flex-shrink: 0;
	line-height: 0;
	width: 100%;
}

.box-cm__image img {
	display: block;
	height: auto;
	width: 100%;
}

.box-cm__content {
	color: #4d4d4d;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: .0875rem;
	line-height: 1.6875rem;
	text-align: left;
	width: 100%;
}

@media (min-width: 782px) {
	.box-cm__image {
		width: 26.5625rem;
	}

	.box-cm__content {
		max-width: calc(53% - 2.5rem);
		width: calc(100% - 29.0625rem);
	}
}

.timeline {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	margin-inline: auto;
	margin-top: 0;
	max-width: 40.125rem;
	width: 100%;
}

.timeline__item {
	padding-bottom: 1.875rem;
	padding-left: 3.25rem;
	position: relative;
	width: 100%;
}

.timeline__item:last-child {
	padding-bottom: 0;
}

.timeline__item::after {
	background: #c49e62;
	border-radius: 50%;
	content: "";
	display: block;
	height: 0.75rem;
	left: 0;
	position: absolute;
	top: 0.4375rem;
	width: 0.75rem;
}

.timeline__item::before {
	background: #c49e62;
	content: "";
	display: block;
	height: 100%;
	left: 0.3125rem;
	position: absolute;
	top: 0.4375rem;
	width: 2px;
}

.timeline__item:last-child::before {
	display: none;
}

.timeline__detail {
	color: #4d4d4d;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: .0875rem;
	line-height: 1.6875rem;
	padding-left: 1.5rem;
	text-indent: -1.5rem;
	width: 100%;
}

.timeline__detail b {
	font-weight: 700;
	margin-right: 0.625rem;
}

.data-text--left {
	margin-inline: 0;
	max-width: 100%;
	text-align: left;
}

.data-text .note {
	color: #747474;
	font-size: 0.6875rem;
	font-weight: 400;
	letter-spacing: .06875rem;
	line-height: 1.5rem;
}

.box-rule {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 2.5rem;
	justify-content: center;
	margin-top: 2.5rem;
	width: 100%;
}

.box-rule__image {
	display: block;
	line-height: 0;
	width: 100%;
}

.box-rule__image img {
	display: block;
	height: auto;
	width: 100%;
}

@media (min-width: 782px) {
	.box-rule__image {
		width: calc(50% - 1.25rem);
	}
}

.data-note {
	color: #747474;
	font-size: 0.6875rem;
	font-weight: 400;
	letter-spacing: .06875rem;
	line-height: 1.5rem;
	margin-top: 0.625rem;
	text-align: right;
	width: 100%;
}

.data-img {
	display: block;
	height: auto;
	line-height: 0;
	margin-top: 3.75rem;
	width: 100%;
}

.box-xd {
	display: flex;
	flex-wrap: wrap;
	gap: 1.875rem;
	margin-top: 3.75rem;
	width: 100%;
}

.box-xd__content {
	align-items: flex-start;
	background: #faf8f8;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	padding: 1.25rem;
	width: 100%;
}

.box-xd__head {
	color: #4d4d4d;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: .125rem;
	line-height: 1.2;
	width: 100%;
}

.box-xd__text {
	color: #4d4d4d;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: .0875rem;
	line-height: 1.6875rem;
	width: 100%;
}

.box-xd__note {
	color: #4d4d4d;
	font-size: 0.875rem;
	font-weight: 400;
	letter-spacing: .0875rem;
	line-height: 1.6875rem;
	margin-top: 1.25rem;
	text-align: center;
	width: 100%;
}

@media (min-width: 782px) {
	.box-xd__content {
		width: calc(50% - 0.9375rem);
	}
}

.tdsi-ds-cm .box-map .list-location .location .detail-location .address {
	font-size: 0.875rem;
	line-height: 1.8;
	margin-top: 0.9375rem;
}

.tdsi-ds-cm .box-map .detail-location .address p {
	font-size: inherit;
	line-height: 1.8;
	margin: 0;
}

.tdsi-ds-cm .box-map .detail-location .address p + p {
	margin-top: 1.35em;
}

.tdsi-ds-cm .contact-table__head {
	white-space: normal;
}

@media (max-width: 781px) {
	.tdsi-ds-cm .contact-table__head {
		width: 7.5rem;
	}

	.tdsi-ds-cm .contact-table__content {
		width: calc(100% - 7.5rem);
	}
}

.tdsi-ds .box-map,
.tdsi-ds-ssd .box-map,
.tdsi-ds-cm .box-map {
	box-sizing: border-box;
	margin-inline: auto;
	margin-top: 7.5rem;
	max-width: 90rem;
	padding: 0 clamp(1.25rem, 1.92rem, 3.5rem) clamp(3rem, 3.36rem, 6rem);
	width: 100%;
}

.box-contact {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 7.5rem auto 0;
	max-width: 58.125rem;
	padding-inline: 15px;
	position: relative;
	width: 100%;
}

.contact-table {
	margin-top: 0;
	width: 100%;
}

.contact-table__row {
	display: flex;
	flex-wrap: nowrap;
	padding-top: 1.875rem;
	position: relative;
	width: 100%;
}

.contact-table__head,
.contact-table__content {
	border-bottom: 1px solid #4d4d4d;
	color: #4d4d4d;
	font-size: 0.875rem;
	font-style: normal;
	line-height: 1.6875rem;
	padding-bottom: 1.875rem;
	text-align: left;
}

.contact-table__head {
	color: #333;
	flex-shrink: 0;
	font-weight: 700;
	letter-spacing: .0875rem;
	white-space: nowrap;
	width: 6.25rem;
}

.contact-table__content {
	flex: 1;
	font-weight: 400;
	letter-spacing: .0875rem;
	min-width: 0;
	overflow-wrap: anywhere;
	padding-left: 0.625rem;
	word-break: break-all;
}

.contact-table__content a {
	color: #c49d62;
	overflow-wrap: anywhere;
	text-decoration: none;
	word-break: break-all;
}

.document-box {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 3.75rem;
	position: relative;
	width: 100%;
}

.document-box .documents {
	display: flex;
	flex-wrap: wrap;
	gap: 2.5rem;
	justify-content: center;
	width: 100%;
}

.document-box .item-document {
	align-items: center;
	display: flex;
	width: auto;
}

.document-box .document {
	align-items: center;
	color: #c49d62;
	display: flex;
	flex-wrap: nowrap;
	text-decoration: none;
}

.document-box .document__img {
	flex-shrink: 0;
	line-height: 0;
	min-width: 1.5rem;
}

.document-box .document__img img {
	margin-right: 0.625rem;
	width: 1.5rem;
}

.document-box .document__title {
	color: #c49d62;
	font-size: 0.875rem;
	letter-spacing: .0875rem;
	line-height: 1.6875rem;
	margin-top: 0;
	text-align: left;
	white-space: nowrap;
}

.document-box .document--text .document__title {
	border-bottom: 1px solid #c49d62;
}

@media (max-width: 781px) {
	.document-box .documents {
		gap: 0.2rem;
	}
}

@media (min-width: 782px) {
	.contact-table__head {
		width: 13.5rem;
	}

	.contact-table__content {
		padding-left: 0.625rem;
	}

	.document-box .documents {
		gap: 4.375rem;
	}
}

@media (min-width: 782px) and (max-width: 1440px) {
	.tdsi-crank .main-visual::after,
	.tdsi-division .main-visual::after {
		bottom: -13.88889vw;
		height: 13.88889vw;
	}

	.tdsi-crank .content-box.news,
	.tdsi-crank .content-box.news:not(#banner):not(.equip-box):not(.box-map):not(.rental-box),
	.tdsi-division .content-box.news,
	.tdsi-ludens .content-box.news,
	.tdsi-fuze .content-box.news,
	.tdsi-dg .content-box.news,
	.tdsi-mg .content-box.news {
		margin-top: 6.25vw;
	}
}

/* page-title.mb-0 — header title area height (SP 40vw / PC 11.5rem) */
.tdsi-division .page-title.mb-0,
.tdsi-crank .page-title.mb-0 {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	height: 40vw;
	justify-content: center;
	margin-bottom: 0;
	padding-block: 0;
	padding-inline: clamp(1.25rem, 1.92rem, 3.5rem);
}

@media (min-width: 782px) {
	.tdsi-division .page-title.mb-0,
	.tdsi-crank .page-title.mb-0 {
		height: 11.5rem;
	}
}

.tdsi-division .page-title.mb-0 img,
.tdsi-crank .page-title.mb-0 img {
	height: auto;
	max-height: 100%;
	max-width: 100%;
	width: auto;
}

.tdsi-dg .page-title.mb-0 img,
.tdsi-ludens .page-title.mb-0 img,
.tdsi-fuze .page-title.mb-0 img,
.tdsi-mg .page-title.mb-0 img {
	max-height: none;
	max-width: none;
	width: 40vw;
}

@media (min-width: 782px) {
	.tdsi-dg .page-title.mb-0 img,
	.tdsi-ludens .page-title.mb-0 img,
	.tdsi-fuze .page-title.mb-0 img,
	.tdsi-mg .page-title.mb-0 img {
		max-height: 100%;
		max-width: min(32.5rem, 100%);
		width: auto;
	}
}

.tdsi-crank .page-title.mb-0 a {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	line-height: 0;
	text-decoration: none;
}

@media (max-width: 781px) {
	body:has(.tdsi-division),
	body:has(.tdsi-crank) {
		overflow-x: clip;
	}

	.tdsi-division,
	.tdsi-crank {
		box-sizing: border-box;
		max-width: 100%;
		overflow-x: clip;
		width: 100%;
	}

	.tdsi-division .page-title img,
	.tdsi-crank .page-title img,
	.tdsi-ludens .page-title img,
	.tdsi-fuze .page-title img,
	.tdsi-dg .page-title img {
		max-width: 100%;
	}

	.tdsi-division .page-menu,
	.tdsi-division .main-visual,
	.tdsi-division .main-visual .slider,
	.tdsi-division .main-visual--youtube .slider,
	.tdsi-division .contt-box,
	.tdsi-division .contt-box .wrap-box {
		box-sizing: border-box;
		max-width: 100%;
		width: 100%;
	}

	.tdsi-ludens .contt-box .wrap-box,
	.tdsi-ludens .contt-box .wrap-box p,
	.tdsi-ludens .contt-box .entry-content,
	.tdsi-ludens .contt-box .entry-content p {
		overflow-wrap: anywhere;
		word-break: break-word;
	}
}

/* TREE VFX department landing */
.tdsi-division.tdsi-treevfx {
	background: #fff;
	max-width: none;
}

.tdsi-treevfx .page-title {
	background-color: #000;
	background-image: var(--tdsi-title-bg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: clamp(2rem, 2.88rem, 5.5rem) clamp(1.25rem, 1.92rem, 3.5rem) clamp(1.25rem, 1.92rem, 3rem);
	text-align: center;
}

.tdsi-treevfx .page-title img {
	height: auto;
	max-width: min(35rem, 22rem);
}

.tdsi-treevfx .contt-box {
	margin-inline: auto;
	max-width: 73.75rem;
	padding: clamp(3rem, 3.36rem, 6rem) clamp(1.25rem, 1.92rem, 3.5rem);
}

.tdsi-treevfx .contt-box .wrap-box {
	margin-inline: auto;
	max-width: 61.25rem;
}

.tdsi-treevfx .content-box.news {
	color: #fff;
}

.tdsi-treevfx .content-box.news .title-head .txt-light,
.tdsi-treevfx .content-box.news .title-head .txt-noto,
.tdsi-treevfx .content-box.news .box-button-link a {
	color: #fff;
}

.tdsi-treevfx .content-box.news .box-button-link a {
	border-color: #c79f62;
}

.tdsi-treevfx .treevfx-functions {
	margin-inline: auto;
	max-width: 90rem;
	padding: clamp(3rem, 3.36rem, 6rem) clamp(1.25rem, 1.92rem, 3.5rem);
}

.tdsi-treevfx .treevfx-function-list {
	display: grid;
	gap: clamp(1.5rem, 2rem, 3rem);
	list-style: none;
	margin: clamp(2rem, 2.5rem, 3.5rem) 0 0;
	padding: 0;
}

.tdsi-treevfx .treevfx-function-item {
	display: grid;
	gap: clamp(1rem, 1.5rem, 2rem);
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	align-items: center;
}

.tdsi-treevfx .treevfx-function-visual img {
	display: block;
	height: auto;
	width: 100%;
}

.tdsi-treevfx .treevfx-function-body h3 {
	color: #c79f62;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: clamp(1.4rem, 1.8rem, 2.2rem);
	letter-spacing: 0.06em;
	line-height: 1.2;
	margin: 0 0 0.75rem;
}

.tdsi-treevfx .treevfx-function-body p {
	line-height: 1.8;
	margin: 0;
}

@media (max-width: 767px) {
	.tdsi-treevfx .treevfx-function-item {
		grid-template-columns: 1fr;
	}
}

/* --- 404 --- */

.tdsi-404 {
	background: #fff;
}

.tdsi-404__titlebar {
	padding: 8.5rem 0 2.5rem;
	background: #f5f3ef;
}

.tdsi-404__titlebar-inner {
	width: min(1120px, 88vw);
	margin: 0 auto;
}

.tdsi-404__code {
	margin: 0 0 0.4rem;
	font-family: "Barlow", "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(3rem, 8vw, 5.5rem);
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.04em;
	color: #c8c2b6;
}

.tdsi-404__title {
	margin: 0;
	font-size: clamp(1.2rem, 2.6vw, 1.75rem);
	font-weight: 600;
	letter-spacing: 0.04em;
	color: #1c1a17;
}

.tdsi-404__inner {
	width: min(1120px, 88vw);
	margin: 0 auto;
	padding: 3rem 0 7rem;
}

.tdsi-404__crumb {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0 0 2.5rem;
	font-size: 0.8rem;
	letter-spacing: 0.04em;
	color: #6f6f6f;
}

.tdsi-404__crumb a {
	color: #6f6f6f;
	text-decoration: none;
}

.tdsi-404__crumb a:hover {
	text-decoration: underline;
}

.tdsi-404__lead {
	margin: 0 0 2.5rem;
	font-size: 0.97rem;
	line-height: 1.95;
	color: #4a4741;
}

.tdsi-404__links {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin: 0 0 2.5rem;
	padding: 0;
	list-style: none;
}

.tdsi-404__links a {
	display: inline-block;
	padding: 0.85rem 2rem;
	border: 1px solid #d8d2c6;
	font-family: "Barlow", "Helvetica Neue", Arial, sans-serif;
	font-size: 0.85rem;
	letter-spacing: 0.08em;
	text-decoration: none;
	color: #33302b;
	transition: background 0.25s ease, color 0.25s ease;
}

.tdsi-404__links a:hover {
	background: #33302b;
	color: #fff;
}

.tdsi-404__home a {
	font-size: 0.9rem;
	letter-spacing: 0.04em;
	color: #a3843c;
}

/* NEWS gradient: full viewport width on every department top */
.tdsi-crank .content-box.news,
.tdsi-crank .content-box.news:not(#banner):not(.equip-box):not(.box-map):not(.rental-box),
.tdsi-division .content-box.news,
.tdsi-ludens .content-box.news,
.tdsi-fuze .content-box.news,
.tdsi-dg .content-box.news,
.tdsi-mg .content-box.news {
	box-sizing: border-box;
	margin-inline: calc(50% - 50vw);
	margin-top: 0;
	max-width: none;
	position: relative;
	width: 100vw;
	z-index: 1;
}

/* Title-color fade under FV, sits behind NEWS */
.tdsi-crank .main-visual,
.tdsi-division .main-visual {
	overflow: visible;
	position: relative;
	z-index: auto;
}

.tdsi-crank .main-visual::after,
.tdsi-division .main-visual::after {
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% 99%;
	bottom: -26.8vw;
	content: "";
	display: block;
	height: 26.66667vw;
	left: 0;
	pointer-events: none;
	position: absolute;
	width: 100%;
	z-index: -1;
}

.tdsi-crank .main-visual::after {
	background-image: url("../images/crank/new_bg.png");
}

.tdsi-dg .main-visual::after {
	background-image: url("../images/dg/new_bg.png");
}

.tdsi-ludens .main-visual::after {
	background-image: url("../images/ludens/new_bg.png");
}

.tdsi-fuze .main-visual::after {
	background-image: url("../images/fuze/new_bg.png");
}

.tdsi-mg .main-visual::after {
	background-image: url("../images/mg/new_bg.png");
}

@media (min-width: 1441px) {
	.tdsi-crank .main-visual::after,
	.tdsi-division .main-visual::after {
		bottom: -200px;
		height: 200px;
	}
}

/* Department WORKS / NEWS sliders (SP, all divisions) */
@media (min-width: 768px) {
	.content-box.news .list-content:not(.slick-initialized) > .item:nth-child(n+4) {
		display: none;
	}
}

@media (max-width: 781px) {
	.tdsi-crank .box-works.crank,
	.tdsi-division .box-works.box-works--grid {
		padding-inline: 0;
	}

	.tdsi-crank .box-works .box-works-list,
	.tdsi-division .box-works .box-works-list {
		overflow: hidden;
		width: 100%;
	}

	.tdsi-crank .box-works .list-works:not(.slick-initialized) > .works-item:not(:first-child),
	.tdsi-division .box-works .list-works:not(.slick-initialized) > .works-item:not(:first-child) {
		display: none;
	}

	.tdsi-division .box-works.box-works--grid .list-works {
		display: block;
		flex-wrap: nowrap;
		margin: 0;
		width: 100%;
	}

	.tdsi-crank .box-works .list-works.tdsi-dept-slider,
	.tdsi-crank .box-works .list-works.slick-slider,
	.tdsi-division .box-works .list-works.tdsi-dept-slider,
	.tdsi-division .box-works .list-works.slick-slider {
		background: transparent;
		display: block;
		flex-wrap: nowrap;
		margin: 0;
		padding-bottom: 5.5rem;
		position: relative;
		width: 100%;
	}

	.tdsi-crank .box-works .list-works.slick-slider .slick-list,
	.tdsi-division .box-works .list-works.slick-slider .slick-list {
		box-sizing: border-box;
		margin: 0;
		overflow: visible;
		width: 100%;
	}

	.tdsi-crank .box-works .list-works.slick-initialized .works-item,
	.tdsi-division .box-works .list-works.slick-initialized .works-item {
		box-sizing: border-box;
		float: left;
		height: auto;
		margin-bottom: 0;
		max-width: none;
		padding: 0 0.85rem;
		width: auto;
	}

	.tdsi-crank .box-works .list-works.slick-initialized .works-item > a,
	.tdsi-division .box-works .list-works.slick-initialized .works-item > a {
		overflow: visible;
		width: 100%;
	}

	.tdsi-crank .box-works .list-works.slick-initialized .works-item > a .txt-cm,
	.tdsi-division .box-works .list-works.slick-initialized .works-item > a .txt-cm {
		display: block;
		margin-left: 1rem;
		margin-top: 1rem;
		position: relative;
	}

	.tdsi-crank .box-works .list-works.slick-initialized .works-item > a .txt-cm::after,
	.tdsi-division .box-works .list-works.slick-initialized .works-item > a .txt-cm::after {
		content: "";
		height: 2rem;
		left: 11px;
		position: absolute;
		top: -2rem;
		width: 1px;
	}

	.tdsi-crank .box-works .list-works.slick-initialized .works-item > a .txt-cm::after {
		background: #e80718;
	}

	.tdsi-division .box-works .list-works.slick-initialized .works-item > a .txt-cm::after {
		background: var(--tdsi-works-accent);
	}

	/* slick 化で list-works > works-item が外れるため descendant で指定 */
	.tdsi-crank .box-works .list-works.slick-initialized .works-item > a .title-works,
	.tdsi-division .box-works .list-works.slick-initialized .works-item > a .title-works {
		font-size: var(--tdsi-top-sp-body);
		line-height: 1.75;
		margin-top: 0.75rem;
		padding: 0 1rem;
	}

	.tdsi-division .box-works.box-works--grid .list-works.slick-initialized > .works-item,
	.tdsi-division .box-works.box-works--grid .list-works.slick-initialized .works-item {
		width: auto;
	}

	.tdsi-crank .main-visual::after,
	.tdsi-division .main-visual::after {
		bottom: -26.8vw;
		height: 26.66667vw;
	}

	.tdsi-crank .content-box.news,
	.tdsi-crank .content-box.news:not(#banner):not(.equip-box):not(.box-map):not(.rental-box),
	.tdsi-division .content-box.news,
	.tdsi-ludens .content-box.news,
	.tdsi-fuze .content-box.news,
	.tdsi-dg .content-box.news,
	.tdsi-mg .content-box.news {
		/* SPでもNEWS本体のグラデは消さない（::after依存にしない） */
		margin-top: 0;
		overflow: visible;
		padding-inline: 0;
		position: relative;
	}

	/* 事業部ごとのNEWSタイトル帯グラデ（SP確定） */
	.tdsi-crank .content-box.news,
	.tdsi-crank .content-box.news:not(#banner):not(.equip-box):not(.box-map):not(.rental-box),
	.tdsi-dg .content-box.news {
		background:
			linear-gradient(180deg, #fae4eb 0%, rgba(255, 255, 255, .96) 40%, #fff 100%);
	}

	.tdsi-ludens .content-box.news {
		background:
			linear-gradient(180deg, #f2f3f6 0%, rgba(255, 255, 255, .96) 40%, #fff 100%);
	}

	.tdsi-fuze .content-box.news {
		background:
			linear-gradient(180deg, #f2f2f2 0%, rgba(255, 255, 255, .96) 40%, #fff 100%);
	}

	.tdsi-mg .content-box.news {
		background:
			linear-gradient(180deg, #e3eee9 0%, rgba(255, 255, 255, .96) 40%, #fff 100%);
	}

	.tdsi-crank .content-box.news .wrap-box,
	.tdsi-division .content-box.news .wrap-box,
	.tdsi-ludens .content-box.news .wrap-box,
	.tdsi-fuze .content-box.news .wrap-box,
	.tdsi-dg .content-box.news .wrap-box,
	.tdsi-mg .content-box.news .wrap-box {
		max-width: none;
		overflow: visible;
		padding-inline: 0;
		width: 100%;
	}

	.tdsi-crank .content-box.news .title-head,
	.tdsi-division .content-box.news .title-head,
	.tdsi-crank .content-box.news .box-button-link,
	.tdsi-division .content-box.news .box-button-link {
		padding-inline: 1.25rem;
	}

	.content-box.news .list-content:not(.slick-initialized) > .item:not(:first-child) {
		display: none;
	}

	.content-box.news .list-content.tdsi-dept-slider,
	.content-box.news .list-content.slick-slider {
		display: block;
		margin: 6vw auto 0;
		padding: 0 9.86667vw;
		position: relative;
		width: 100%;
	}

	.content-box.news .list-content.slick-slider .slick-list {
		box-sizing: border-box;
		margin: 0;
		overflow: hidden;
		width: 100%;
	}

	.content-box.news .list-content.slick-initialized .item {
		background: #f9f9f9;
		box-shadow: none;
		box-sizing: border-box;
		float: left;
		height: auto;
		margin: 0;
		max-width: none;
		min-height: 0;
		padding: 0;
		width: auto;
	}

	.content-box.news .list-content.slick-initialized .thumbnail {
		background: #fff;
		height: 50.66667vw;
	}

	.content-box.news .list-content.slick-initialized .thumbnail img {
		height: auto;
		max-height: 100%;
		max-width: 100%;
		object-fit: contain;
		width: auto;
	}

	.content-box.news .list-content.slick-initialized .detail {
		padding: 9.33333vw 7.46667vw;
	}

	.content-box.news .list-content.slick-slider .slick-arrow {
		background-color: transparent;
		background-repeat: no-repeat;
		border: 0;
		color: transparent;
		font-size: 0;
		height: 6.8vw;
		line-height: 0;
		overflow: hidden;
		padding: 0;
		position: absolute;
		text-indent: -9999px;
		top: 50%;
		transform: translateY(-50%);
		width: 8.8vw;
		z-index: 3;
	}

	.content-box.news .list-content.slick-slider .slick-arrow::before {
		content: none;
		display: none;
	}

	.content-box.news .list-content.slick-slider .slick-prev {
		background-image: url("../images/ui/arrow_back.png");
		background-position: 0 50%;
		background-size: 6.8vw 6.8vw;
		left: 0;
		right: auto;
	}

	.content-box.news .list-content.slick-slider .slick-next {
		background-image: url("../images/ui/arrow_next.png");
		background-position: 100% 50%;
		background-size: 6.8vw 6.8vw;
		left: auto;
		right: 0;
	}

	.content-box.news .list-content.slick-slider .slick-dots {
		display: none;
	}

	.tdsi-crank .box-works .list-works.slick-slider .slick-arrow,
	.tdsi-division .box-works .list-works.slick-slider .slick-arrow {
		background-color: #777;
		border: 0;
		bottom: 2.25rem;
		color: transparent;
		font-size: 0;
		height: 2.5rem;
		line-height: 0;
		overflow: hidden;
		padding: 0;
		position: absolute;
		text-indent: -9999px;
		top: auto;
		transform: none;
		width: 2.5rem;
		z-index: 2;
	}

	.tdsi-crank .box-works .list-works.slick-slider .slick-arrow::before,
	.tdsi-division .box-works .list-works.slick-slider .slick-arrow::before {
		content: none;
		display: none;
	}

	.tdsi-crank .box-works .list-works.slick-slider .slick-prev,
	.tdsi-division .box-works .list-works.slick-slider .slick-prev {
		background: #777 url("../images/crank/white_left_arrow.svg") 50% 50% no-repeat;
		background-size: 0.375rem;
		left: calc(50% - 3rem);
		right: auto;
	}

	.tdsi-crank .box-works .list-works.slick-slider .slick-next,
	.tdsi-division .box-works .list-works.slick-slider .slick-next {
		background: #777 url("../images/crank/white_right_arrow.svg") 50% 50% no-repeat;
		background-size: 0.375rem;
		left: calc(50% + 0.5rem);
		right: auto;
	}

	.tdsi-crank .box-works .list-works.slick-slider .slick-dots,
	.tdsi-division .box-works .list-works.slick-slider .slick-dots {
		bottom: 0.5rem;
		display: block;
		left: 0;
		line-height: 1;
		list-style: none;
		margin: 0;
		padding: 0;
		position: absolute;
		text-align: center;
		width: 100%;
		z-index: 1;
	}

	.tdsi-crank .box-works .list-works.slick-slider .slick-dots li,
	.tdsi-division .box-works .list-works.slick-slider .slick-dots li {
		display: inline-block;
		margin: 0 0.25rem;
	}

	.tdsi-crank .box-works .list-works.slick-slider .slick-dots li button,
	.tdsi-division .box-works .list-works.slick-slider .slick-dots li button {
		background: transparent;
		border: 0;
		color: transparent;
		font-size: 0;
		height: 0.5rem;
		line-height: 0;
		padding: 0;
		width: 0.5rem;
	}

	.tdsi-crank .box-works .list-works.slick-slider .slick-dots li button::before,
	.tdsi-division .box-works .list-works.slick-slider .slick-dots li button::before {
		background: #ccc;
		border-radius: 50%;
		content: "";
		display: block;
		height: 0.5rem;
		opacity: 1;
		width: 0.5rem;
	}

	.tdsi-crank .box-works .list-works.slick-slider .slick-dots li.slick-active button::before,
	.tdsi-division .box-works .list-works.slick-slider .slick-dots li.slick-active button::before {
		background: #777;
	}

	.tdsi-crank .box-works-list > .works-item--more.is-after-slider,
	.tdsi-division .box-works-list > .works-item--more.is-after-slider {
		box-sizing: border-box;
		display: block;
		margin: 0.25rem auto 0;
		padding: 0;
		text-align: center;
		width: 100%;
	}

	.tdsi-crank .box-works-list > .works-item--more.is-after-slider > a.last-item,
	.tdsi-division .box-works-list > .works-item--more.is-after-slider > a.last-item {
		align-items: baseline;
		aspect-ratio: auto;
		background: none;
		color: inherit;
		display: inline-flex;
		flex-direction: row;
		flex-wrap: nowrap;
		height: auto;
		justify-content: center;
		min-height: 0;
		padding: 0.35rem 1rem 0.75rem;
		position: static;
		white-space: nowrap;
		width: auto;
	}

	.tdsi-crank .box-works-list > .works-item--more.is-after-slider .box-color,
	.tdsi-division .box-works-list > .works-item--more.is-after-slider .box-color {
		align-items: baseline;
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		height: auto;
		white-space: nowrap;
		width: auto;
	}

	.tdsi-crank .box-works-list > .works-item--more.is-after-slider .head-text,
	.tdsi-crank .box-works-list > .works-item--more.is-after-slider .sub-text,
	.tdsi-division .box-works-list > .works-item--more.is-after-slider .head-text,
	.tdsi-division .box-works-list > .works-item--more.is-after-slider .sub-text {
		font-size: 0.875rem;
		font-weight: 700;
		line-height: 1.5;
		margin: 0;
		white-space: nowrap;
	}

	.tdsi-crank .box-works-list > .works-item--more.is-after-slider .read-more,
	.tdsi-division .box-works-list > .works-item--more.is-after-slider .read-more {
		display: none;
	}
}

/* Shared lower-page chrome: paper titlebar, crumb, side gutters. */
:root {
	--tdsi-chrome-gutter: max(1.25rem, env(safe-area-inset-left, 0px));
	--tdsi-chrome-gutter-r: max(1.25rem, env(safe-area-inset-right, 0px));
	--tdsi-chrome-titlebar-y: clamp(1.6rem, 3.2vw, 2.5rem);
	--tdsi-chrome-crumb-top: 1.25rem;
	--tdsi-chrome-crumb-bottom: 2.25rem;
}

@media (max-width: 1199px) {
	:root {
		--tdsi-chrome-gutter: max(2.5rem, env(safe-area-inset-left, 0px));
		--tdsi-chrome-gutter-r: max(2.5rem, env(safe-area-inset-right, 0px));
	}

	.tdsi-site-header--sub .tdsi-site-header__inner {
		padding-left: var(--tdsi-chrome-gutter);
		padding-right: var(--tdsi-chrome-gutter-r);
	}
}

@media (max-width: 759px) {
	:root {
		--tdsi-chrome-gutter: max(1rem, env(safe-area-inset-left, 0px));
		--tdsi-chrome-gutter-r: max(1rem, env(safe-area-inset-right, 0px));
		--tdsi-chrome-crumb-top: 1.25rem;
		--tdsi-chrome-crumb-bottom: 1.75rem;
	}
}

/* Page hero title. ABOUT US and the other lower pages share this one class. */
.tdsi-about__title {
	margin: 0;
	color: #c49d62;
	font-family: "din-2014", "Barlow", "Noto Sans JP", sans-serif;
	font-size: clamp(2rem, 6.2vw, 7rem);
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 0.88;
}

@media (max-width: 859px) {
	.tdsi-about__title {
		font-size: 3rem;
	}
}
