/* =========================================================
	だいまつブログ：202609リニューアル
	ECサイト（futureshop）のヘッダー・レフトナビ・フッターに揃える。
	前半はブログ用のレイアウト調整、後半はECのCSSの転記。
	ブレークポイントはECと同じ768px。
	========================================================= */

/* ---------- ヘッダー ---------- */
.dm-blog-hd {
	position: sticky;
	top: 0;
	z-index: 500;
	display: flex;
	flex-direction: column;
	background: #fff;
}
.dm-blog-hd > .dm-gnav {
	padding: 20px;
}

/* 旧ヘッダーは position:fixed だったため、その高さ分の余白を解除 */
#wrapper {
	margin-top: 0;
}

/* ---------- 本文とサイドバー（ECと同じ 240 / 45 / 1000） ---------- */
#container {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0 45px;
	width: 100%;
	max-width: 1325px;
	margin: 0 auto;
	padding: 40px 20px 70px;
}
#container > #sidebar {
	display: block;
	order: 1;
	flex: 0 0 240px;
	max-width: 240px;
	margin-top: 0;
}
#container > #main,
#container > #Contents {
	order: 2;
	flex: 1 1 0;
	min-width: 0;
	width: auto;
	max-width: 1000px;
	margin: 0;
	padding-top: 0;
	float: none;
}

/* ---------- サイドバーの中身 ---------- */
.dm-blog-side__bnrs {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 0 0 30px;
	padding: 0;
	list-style: none;
}
.dm-blog-side__bnrs a {
	display: block;
	transition: opacity .2s;
}
.dm-blog-side__bnrs a:hover {
	opacity: .75;
}
.dm-blog-side__bnrs img {
	display: block;
	width: 100%;
	height: auto;
}
.dm-blog-side__widgets {
	margin-bottom: 40px;
}

/* ---------- bootstrap.css の label 指定（太字・下余白）を打ち消す ----------
	:where() で詳細度を label 単体と同じにしているので、ECのクラス指定はそのまま勝つ */
:where(.dm-hd, .dm-dw, .dm-ft) label {
	max-width: none;
	margin-bottom: 0;
	font-weight: inherit;
}

/* ---------- SP：サイドバーは記事（関連記事・前後の記事）の下へ ---------- */
@media screen and (max-width: 768px) {
	#container {
		flex-direction: column;
		gap: 40px 0;
		padding: 20px 15px 0;
	}
	#container > #main,
	#container > #Contents {
		order: 1;
		flex: none;
		width: 100%;
		max-width: 100%;
	}
	#container > #sidebar {
		order: 2;
		flex: none;
		width: 100%;
		max-width: 100%;
	}
	.dm-blog-side__bnrs {
		flex-direction: row;
		gap: 10px;
	}
	.dm-blog-side__bnrs li {
		flex: 1 1 0;
		min-width: 0;
	}
}


/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	以下はECのオリジナルCSS（パーツソース/オリジナルCSS.css）からの転記。
	ECのヘッダー・レフトナビ・ドロワー・フッターを直したら、ここも同じように差し替える。
	+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	202609リニューアル：トップページ
	+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

/* レフトナビ */
.dm-lnav {
	--lnav-w: 230px;
	--lnav-row: 88px;
	--lnav-icon: 48px;
	--lnav-line: #231815;
	--lnav-ttl: #333;
	--lnav-txt: #000;
	--lnav-sp-bg: #f2f2f2;
	--lnav-sp-gap: 5px;
	--lnav-sp-bnr-cols: 1;
	--lnav-sp-bnr-gap: 10px;
	width: var(--lnav-w);
	max-width: 100%;
	margin: 0 auto;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", meiryo, sans-serif;
	box-sizing: border-box;
}
.dm-lnav *,
.dm-lnav *::before,
.dm-lnav *::after {
	box-sizing: border-box;
}
.dm-lnav__sec {
	margin-top: 48px;
}
.dm-lnav__sec:first-child {
	margin-top: 0;
}
.dm-lnav__ttl {
	margin: 0;
	padding: 0 0 24px;
	border-bottom: 1px solid var(--lnav-line);
	color: var(--lnav-ttl);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .02em;
	text-align: center;
}
.dm-lnav__bnrs,
.dm-lnav__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.dm-lnav__bnrs {
	margin-top: 18px;
}
.dm-lnav__bnrs > li + li {
	margin-top: 20px;
}
.dm-lnav__bnrs a {
	display: block;
}
.dm-lnav__bnrs img {
	display: block;
	width: 100%;
	aspect-ratio: 240 / 186;
	object-fit: cover;
}
.dm-lnav__link {
	position: relative;
	display: flex;
	align-items: center;
	min-height: var(--lnav-row);
	padding: 6px 0;
	border-bottom: 1px dashed var(--lnav-line);
	color: var(--lnav-txt);
	text-decoration: none;
	transition: opacity .2s;
}
.dm-lnav--item > li:last-child .dm-lnav__link {
	border-bottom: 0;
}
.dm-lnav__link:hover {
	opacity: .65;
}
.dm-lnav__link::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5.5px 0 5.5px 8px;
	border-color: transparent transparent transparent var(--lnav-line);
}
.dm-lnav--maker .dm-lnav__link {
	justify-content: center;
}
.dm-lnav--maker .dm-lnav__link::after {
	left: 3px;
}
.dm-lnav--maker img {
	display: block;
	max-width: 100%;
	height: auto;
}
.dm-lnav__more {
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
}
.dm-lnav--item .dm-lnav__link::after {
	display: none;
}
.dm-lnav__icon {
	flex: 0 0 var(--lnav-icon);
	width: var(--lnav-icon);
	margin-left: 2px;
}
.dm-lnav__icon img {
	display: block;
	width: 100%;
	height: auto;
}
.dm-lnav__label {
	flex: 1 1 auto;
	color: var(--lnav-txt);
	font-size: 23px;
	font-weight: 500;
	line-height: 1.3;
	text-align: center;
}
.dm-lnav__label--sm {
	font-size: 20px;
}

@media screen and (max-width: 768px) {
	.dm-lnav {
		width: 100%;
		padding: 0 var(--lnav-sp-gap);
	}
	.dm-lnav__sec {
		margin-top: 45px;
	}
	.dm-lnav__ttl {
		padding-bottom: 0;
		border-bottom: 0;
		margin-bottom: 18px;
		/* font-size: 18px; */
	}
	.dm-lnav__bnrs {
		margin-top: 0;
		display: grid;
		grid-template-columns: repeat(var(--lnav-sp-bnr-cols), 1fr);
		gap: var(--lnav-sp-bnr-gap);
	}
	.dm-lnav__bnrs > li + li {
		margin-top: 0;
	}
	.dm-lnav__list {
		display: grid;
		/* 【202609リニューアル】1fr だとロゴ幅＋余白より狭くならず、狭い画面で横にはみ出すため minmax(0, 1fr) に変更 */
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--lnav-sp-gap);
	}
	/* 【202609リニューアル】同じ行の項目は、いちばん高い項目に合わせて背景色の枠ごと伸ばす */
	.dm-lnav__list > li {
		display: flex;
	}
	.dm-lnav__list > li > .dm-lnav__link {
		flex: 1 1 auto;
	}
	.dm-lnav__link {
		min-height: 55px;
		padding: 6px 26px 6px 14px;
		border-bottom: 0;
		background: var(--lnav-sp-bg);
	}
	.dm-lnav__link::after {
		display: block;
		left: auto;
		right: 10px;
		border-width: 5.5px 0 5.5px 9px;
	}
	.dm-lnav--maker img {
		min-width: 0;
		/* 【202609リニューアル】枠が狭いときは枠の幅まで縮める */
		max-width: min(130px, 100%);
		max-height: 36px;
	}
	.dm-lnav__more {
		font-size: 15px;
	}
	.dm-lnav__icon {
		flex-basis: 36px;
		width: 36px;
		margin-left: 0;
	}
	.dm-lnav__label {
		font-size: 17px;
	}
	.dm-lnav__label--sm {
		font-size: 15px;
	}
}


/* ヘッダー */
.fs-l-page > .fs-l-header {
	position: sticky;
	top: 0;
	z-index: 500;
}

.fs-l-header__contents {
	display: flex;
	flex-direction: column;
}
.fs-l-header__contents > .dm-hd {
	padding: 0;
}
.fs-l-header__contents > .dm-gnav {
	padding: 20px;
}

.dm-hd {
	width: 100%;
	background: #000;
	color: #fff;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", meiryo, sans-serif;
}
.dm-hd *,
.dm-hd *::before,
.dm-hd *::after {
	box-sizing: border-box;
}
.dm-hd img {
	display: block;
	max-width: 100%;
	height: auto;
}
.dm-hd a,
.dm-hd a:link,
.dm-hd a:visited,
.dm-hd a:hover,
.dm-hd a:active {
	text-decoration: none;
	color: inherit;
}
.dm-hd__logo a,
.dm-hd__tool a {
	display: block;
}

.dm-hd__free {
	display: none;
	margin: 0;
}

.dm-hd__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1387px;
	margin: 0 auto;
	padding: 22px 20px 0;
}

.dm-hd__brand {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 21px;
}
.dm-hd__logo {
	width: 158px;
	margin: 0;
}
.dm-hd__tagline {
	margin: 0;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.8;
	white-space: nowrap;
}

.dm-hd__center {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 15px;
}
.dm-hd__search {
	display: flex;
	align-items: center;
	position: relative;
	width: 256px;
	margin: 0;
}
.dm-hd .dm-hd__search-input {
	flex: 1 1 auto;
	width: 100%;
	max-width: none;
	height: 30px;
	min-width: 0;
	margin: 0;
	padding: 0 34px 0 12px;
	border: 0;
	border-radius: 0;
	background: #fff;
	color: #333;
	font-family: inherit;
	font-size: 12px;
	line-height: 30px;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.dm-hd .dm-hd__search-input::placeholder {
	color: #767676;
	font-size: 12px;
	opacity: 1;
}
.dm-hd__search-btn {
	display: block;
	position: absolute;
	top: 50%;
	right: 13px;
	width: 14px;
	height: 14px;
	margin: 0;
	padding: 0;
	transform: translateY(-50%);
	border: 0;
	background: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}
.dm-hd__search-btn::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 11px;
	height: 11px;
	border: 2.8px solid #4b4b4b;
	border-radius: 50%;
}
.dm-hd__search-btn::after {
	content: "";
	position: absolute;
	top: 8.4px;
	left: 8.4px;
	width: 6.5px;
	height: 2.8px;
	transform: rotate(45deg);
	transform-origin: 0 50%;
	border-radius: 1px;
	background: #4b4b4b;
}

.dm-hd__free-pc {
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	white-space: nowrap;
}

.dm-hd__tools {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 17px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.dm-hd__tool {
	display: flex;
	align-items: center;
	width: 38px;
}
.dm-hd__tool img {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
}
.dm-hd__tool--cart {
	width: 50px;
	margin-left: 24px;
}
.dm-hd__tool--menu {
	width: 38px;
	margin-left: 21px;
}

#btn_menu.dm-hd__menu {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: static;
	top: auto;
	right: auto;
	gap: 8px;
	width: 38px;
	height: 38px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}
#btn_menu.dm-hd__menu .dm-hd__menu-bar {
	display: block;
	width: 32px;
	height: 3px;
	margin: 0;
	border-radius: 1px;
	background: #fff;
	transition: transform .25s, opacity .2s;
}
body:has(.fs-p-ctrlDrawer:checked) #btn_menu.dm-hd__menu .dm-hd__menu-bar:nth-child(1) {
	transform: translateY(11px) rotate(45deg);
}
body:has(.fs-p-ctrlDrawer:checked) #btn_menu.dm-hd__menu .dm-hd__menu-bar:nth-child(2) {
	opacity: 0;
}
body:has(.fs-p-ctrlDrawer:checked) #btn_menu.dm-hd__menu .dm-hd__menu-bar:nth-child(3) {
	transform: translateY(-11px) rotate(-45deg);
}

/* グローバルナビ */
.dm-gnav {
	width: 100%;
	padding: 20px;
	background: #000;
	color: #fff;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", meiryo, sans-serif;
}
.dm-gnav *,
.dm-gnav *::before,
.dm-gnav *::after {
	box-sizing: border-box;
}
.dm-gnav__list {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 75px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.dm-gnav__item {
	display: flex;
}
.dm-gnav__link,
.dm-gnav__link:link,
.dm-gnav__link:visited,
.dm-gnav__link:hover,
.dm-gnav__link:active {
	display: flex;
	align-items: center;
	gap: 16px;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
	white-space: nowrap;
}
.dm-gnav__mark {
	display: block;
	flex: 0 0 auto;
	width: 8px;
	height: 6px;
	background: #7bc3eb;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}

@media screen and (max-width: 768px) {
	.dm-hd__free {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 25px;
		padding: 4px 10px;
		background: #fe555c;
		color: #fff;
		font-size: 15px;
		font-weight: 700;
		line-height: 1.2;
		text-align: center;
	}
	.dm-hd__free-pc {
		display: none;
	}
	.dm-hd__inner {
		flex-wrap: wrap;
		max-width: none;
		padding: 15px 0 17px;
	}
	.dm-hd__tagline {
		display: none;
	}
	.dm-hd__brand {
		order: 1;
		padding-left: 14px;
	}
	.dm-hd__logo {
		width: 101px;
	}
	.dm-hd__tools {
		order: 2;
		gap: 18px;
		margin-left: auto;
		padding-right: 19px;
	}
	.dm-hd__tool {
		width: 27px;
	}
	.dm-hd__tool--cart {
		width: 36px;
		margin-left: 8px;
	}
	.dm-hd__tool--menu {
		width: 27px;
		margin-left: 8px;
	}
	.dm-hd__center {
		order: 3;
		display: flex;
		flex: 0 0 100%;
		padding: 15px 32px 0;
	}
	.dm-hd__search {
		width: 100%;
	}
	.dm-hd .dm-hd__search-input {
		padding-right: 46px;
		font-size: 16px;
	}
	.dm-hd .dm-hd__search-input::placeholder {
		font-size: 15px;
	}
	.dm-hd__search-btn {
		width: 19px;
		height: 19px;
	}
	.dm-hd__search-btn::before {
		width: 15px;
		height: 15px;
		border-width: 2.5px;
	}
	.dm-hd__search-btn::after {
		top: 11.5px;
		left: 11.5px;
		width: 8px;
		height: 3px;
	}
	#btn_menu.dm-hd__menu {
		gap: 6px;
		width: 27px;
		height: 27px;
	}
	#btn_menu.dm-hd__menu .dm-hd__menu-bar {
		width: 24px;
		height: 2.5px;
	}
	body:has(.fs-p-ctrlDrawer:checked) #btn_menu.dm-hd__menu .dm-hd__menu-bar:nth-child(1) {
		transform: translateY(8.5px) rotate(45deg);
	}
	body:has(.fs-p-ctrlDrawer:checked) #btn_menu.dm-hd__menu .dm-hd__menu-bar:nth-child(3) {
		transform: translateY(-8.5px) rotate(-45deg);
	}
	.dm-gnav {
		display: none;
	}
}

/* ドロワー */
.dm-dw__overlay {
	display: none;
}

.dm-dw {
	display: none;
}

@media screen and (max-width: 768px) {
	.dm-dw__overlay {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 9997;
		background: rgba(0, 0, 0, .5);
		opacity: 0;
		visibility: hidden;
		transition: opacity .3s, visibility .3s;
	}
	body:has(.fs-p-ctrlDrawer:checked) .dm-dw__overlay {
		opacity: 1;
		visibility: visible;
	}

	.dm-dw {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		width: 100%;
		max-width: 100%;
		height: 100%;
		z-index: 9998;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		transform: translateX(100%);
		visibility: hidden;
		transition: transform .3s, visibility .3s;
		font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", meiryo, sans-serif;
	}
	body:has(.fs-p-ctrlDrawer:checked) .dm-dw {
		transform: translateX(0);
		visibility: visible;
	}
	.dm-dw *,
	.dm-dw *::before,
	.dm-dw *::after {
		box-sizing: border-box;
	}
	.dm-dw img {
		display: block;
		max-width: 100%;
		height: auto;
	}
	.dm-dw a,
	.dm-dw a:link,
	.dm-dw a:visited,
	.dm-dw a:hover,
	.dm-dw a:active {
		text-decoration: none;
		color: inherit;
	}
	.dm-dw ul {
		margin: 5% auto 0;
		padding: 0;
		list-style: none;
		width: 90%;
	}

	.dm-dw__panel {
		display: flex;
		flex-direction: column;
		min-height: 100%;
		padding-bottom: 40px;
		background: rgba(0, 0, 0, .88);
		color: #fff;
	}

	.dm-dw__bar {
		display: flex;
		align-items: center;
		flex: 0 0 auto;
		height: 62px;
		background: #000;
	}
	.dm-dw__sns {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 1 1 auto;
		gap: 22px;
	}
	.dm-dw__sns .dm-dw__sns-ico--sp {
		display: block;
	}
	.dm-dw__sns .dm-dw__sns-ico--pc {
		display: none;
	}
	.dm-dw__close {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		gap: 4px;
		width: 85px;
		height: 62px;
		margin: 0;
		padding: 0;
		border: 0;
		background: #2f7d72;
		color: #fff;
		cursor: pointer;
		-webkit-appearance: none;
		appearance: none;
	}
	.dm-dw__close-mark {
		position: relative;
		display: block;
		width: 22px;
		height: 22px;
	}
	.dm-dw__close-mark::before,
	.dm-dw__close-mark::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 26px;
		height: 2.5px;
		background: #fff;
	}
	.dm-dw__close-mark::before {
		transform: translate(-50%, -50%) rotate(45deg);
	}
	.dm-dw__close-mark::after {
		transform: translate(-50%, -50%) rotate(-45deg);
	}
	.dm-dw__close-txt {
		font-size: 11px;
		line-height: 1;
	}

	.dm-dw__campaign,
	.dm-dw__cat {
		display: none;
	}

	.dm-dw__lead {
		display: flex;
		justify-content: center;
		margin: 18px 0 0;
		color: #333;
	}
	.dm-dw__lead-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 189px;
		height: 35px;
		border-radius: 22px;
		background: #fff;
		font-size: 14px;
		font-weight: 700;
	}

	.dm-dw__slider {
		margin-top: 18px;
		max-width: 100%;
		overflow: hidden;
	}
	.dm-dw__slider img {
		width: 100%;
	}
	.dm-dw__slider .fs-pt-carousel__slide {
		margin: 0;
	}
	.dm-dw__slider .fs-c-slick .slick-dots {
		width: 100%;
		margin: 0;
		padding: 12px 0 0;
	}
	.dm-dw__slider .fs-c-slick .slick-dots li {
		width: 6px;
		height: 6px;
		margin: 0 11px;
	}
	.dm-dw__slider .fs-c-slick .slick-dots li button::before {
		content: "";
		width: 6px;
		height: 6px;
		border-radius: 50%;
		background: #808080;
		font-size: 0;
		line-height: 0;
		opacity: 1;
	}
	.dm-dw__slider .fs-c-slick .slick-dots li.slick-active button::before {
		background: #7bc3eb;
		opacity: 1;
	}
	.dm-dw__slider .dm-car__count,
	.dm-dw__slider .fs-pt-carousel__slide__caption {
		display: none;
	}

	.dm-dw__acct {
		display: flex;
		gap: 16px;
		margin-top: 20px;
		padding: 0 14px;
	}
	.dm-dw__acct li {
		flex: 1 1 0;
		min-width: 0;
		color: #333;
	}
	.dm-dw__acct a {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 10px;
		height: 114px;
		background: #f2f2f2;
		font-size: 13px;
	}
	.dm-dw__acct .dm-dw__acct-ico--sp {
		display: block;
	}
	.dm-dw__acct .dm-dw__acct-ico--pc {
		display: none;
	}

	.dm-dw__nav {
		width: 90%;
		margin: 5% auto;
	}
	.dm-dw__nav-item {
		position: relative;
		border-bottom: 2px solid #7bc3eb;
	}
	.dm-dw__nav-chk {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		border: 0;
		overflow: hidden;
		clip-path: inset(50%);
	}
	.dm-dw__nav-ttl {
		display: flex;
		align-items: center;
		padding: 14px 2px;
		color: #fff;
		font-size: 16px;
		font-weight: 700;
		line-height: 1.4;
		cursor: pointer;
		user-select: none;
	}
	.dm-dw__nav-mark {
		display: block;
		flex: 0 0 auto;
		width: 14px;
		height: 10px;
		margin-left: auto;
		background: #7bc3eb;
		clip-path: polygon(0 0, 100% 0, 50% 100%);
		transition: transform .25s;
	}
	.dm-dw__nav-chk:checked + .dm-dw__nav-ttl .dm-dw__nav-mark {
		transform: rotate(180deg);
	}
	.dm-dw__nav-mark--link {
		transform: rotate(-90deg);
	}
	.dm-dw__nav-chk:focus-visible + .dm-dw__nav-ttl {
		outline: 2px solid #fff;
		outline-offset: 2px;
	}
	.dm-dw__sub {
		display: none;
		padding: 0 0 12px;
	}
	.dm-dw__nav-chk:checked ~ .dm-dw__sub {
		display: block;
	}
	.dm-dw__sub li + li {
		margin-top: 2px;
	}
	.dm-dw__sub a {
		display: block;
		padding: 10px 12px;
		color: #fff;
		font-size: 14px;
		line-height: 1.4;
	}

	.dm-dw__bnrs {
		margin-top: 26px;
		padding: 0 14px;
	}
	.dm-dw__bnrs li + li {
		margin-top: 14px;
	}
	.dm-dw__bnrs img {
		width: 100%;
	}

	body:has(.fs-p-ctrlDrawer:checked) {
		overflow: hidden;
	}
}

/* ドロワー（PC） */
@media screen and (min-width: 769px) {
	.dm-dw__overlay {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 9997;
		background: rgba(0, 0, 0, .5);
		opacity: 0;
		visibility: hidden;
		transition: opacity .3s, visibility .3s;
	}
	body:has(.fs-p-ctrlDrawer:checked) .dm-dw__overlay {
		opacity: 1;
		visibility: visible;
	}

	.dm-dw {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		width: 589px;
		max-width: 100%;
		height: 100%;
		z-index: 9998;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		transform: translateX(100%);
		visibility: hidden;
		transition: transform .3s, visibility .3s;
		font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", meiryo, sans-serif;
	}
	body:has(.fs-p-ctrlDrawer:checked) .dm-dw {
		transform: translateX(0);
		visibility: visible;
	}
	body:has(.fs-p-ctrlDrawer:checked) {
		overflow: hidden;
	}
	.dm-dw *,
	.dm-dw *::before,
	.dm-dw *::after {
		box-sizing: border-box;
	}
	.dm-dw img {
		display: block;
		max-width: 100%;
		height: auto;
	}
	.dm-dw a,
	.dm-dw a:link,
	.dm-dw a:visited,
	.dm-dw a:hover,
	.dm-dw a:active {
		text-decoration: none;
		color: inherit;
	}
	.dm-dw ul {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.dm-dw__panel {
		display: flex;
		flex-direction: column;
		min-height: 100%;
		padding-bottom: 56px;
		background: rgba(255, 255, 255, .92);
		color: #333;
	}

	.dm-dw__bar {
		display: flex;
		align-items: center;
		flex: 0 0 auto;
		height: 95px;
		background: transparent;
	}
	.dm-dw__sns {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 1 1 auto;
		gap: 34px;
	}
	.dm-dw__sns .dm-dw__sns-ico--sp {
		display: none;
	}
	.dm-dw__sns .dm-dw__sns-ico--pc {
		display: block;
	}
	.dm-dw__close {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		gap: 6px;
		width: 130px;
		height: 95px;
		margin: 0;
		padding: 0;
		border: 0;
		background: #2f7d72;
		color: #fff;
		cursor: pointer;
	}
	.dm-dw__close-mark {
		position: relative;
		display: block;
		width: 32px;
		height: 32px;
	}
	.dm-dw__close-mark::before,
	.dm-dw__close-mark::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 38px;
		height: 3px;
		background: #fff;
	}
	.dm-dw__close-mark::before {
		transform: translate(-50%, -50%) rotate(45deg);
	}
	.dm-dw__close-mark::after {
		transform: translate(-50%, -50%) rotate(-45deg);
	}
	.dm-dw__close-txt {
		font-size: 13px;
		line-height: 1;
	}

	.dm-dw__lead,
	.dm-dw__nav {
		display: none;
	}

	.dm-dw__campaign {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 63px;
		margin: 22px 0 0;
		padding: 8px 16px;
		background: #fe555c;
		color: #fff;
		font-size: 20px;
		font-weight: 700;
		line-height: 1.3;
		text-align: center;
	}

	.dm-dw__slider {
		max-width: 100%;
		margin: 18px 24px 0;
		overflow: hidden;
	}
	.dm-dw__slider .fs-c-slick .slick-dots {
		width: 100%;
		margin: 0;
		padding: 12px 0 0;
	}
	.dm-dw__slider .fs-c-slick .slick-dots li {
		width: 6px;
		height: 6px;
		margin: 0 11px;
	}
	.dm-dw__slider .fs-c-slick .slick-dots li button::before {
		content: "";
		width: 6px;
		height: 6px;
		border-radius: 50%;
		background: #808080;
		font-size: 0;
		line-height: 0;
		opacity: 1;
	}
	.dm-dw__slider .fs-c-slick .slick-dots li.slick-active button::before {
		background: #7bc3eb;
		opacity: 1;
	}
	.dm-dw__slider .dm-car__count,
	.dm-dw__slider .fs-pt-carousel__slide__caption {
		display: none;
	}

	.dm-dw .dm-dw__acct {
		display: flex;
		gap: 29px;
		margin-top: 46px;
		padding: 0 24px;
	}
	.dm-dw__acct li {
		flex: 1 1 0;
		min-width: 0;
		color: #fff;
	}
	.dm-dw__acct a {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 14px;
		height: 191px;
		background: #333;
		font-size: 16px;
	}
	.dm-dw__acct .dm-dw__acct-ico--sp {
		display: none;
	}
	.dm-dw__acct .dm-dw__acct-ico--pc {
		display: block;
	}

	.dm-dw .dm-dw__bnrs {
		display: flex;
		gap: 29px;
		margin-top: 21px;
		padding: 0 24px;
	}
	.dm-dw__bnrs li {
		flex: 1 1 0;
		min-width: 0;
	}
	.dm-dw__bnrs li + li {
		margin-top: 0;
	}
	.dm-dw__bnrs img {
		width: 100%;
	}

	.dm-dw__cat {
		margin-top: 40px;
		padding: 0 24px;
	}
	.dm-dw__cat-sec + .dm-dw__cat-sec {
		margin-top: 55px;
	}
	.dm-dw__cat-ttl {
		margin: 0 0 7px;
		padding-bottom: 20px;
		border-bottom: 1px solid #231815;
		color: #333;
		font-size: 28px;
		font-weight: 700;
		line-height: 1;
		text-align: center;
	}
	.dm-dw__cat-list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.dm-dw__cat-list li {
		border-bottom: 1px dotted #b5b5b5;
	}
	.dm-dw__cat-link {
		display: flex;
		align-items: center;
		gap: 12px;
		min-height: 114px;
		padding: 8px 10px;
	}
	.dm-dw__cat-link::before {
		content: "";
		flex: 0 0 auto;
		width: 7px;
		height: 10px;
		background: #231815;
		clip-path: polygon(0 0, 100% 50%, 0 100%);
	}
	.dm-dw__cat-logo {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 1 1 auto;
		min-width: 0;
	}
	.dm-dw__cat-ico {
		flex: 0 0 auto;
		width: 48px;
	}
	.dm-dw__cat-name {
		flex: 1 1 auto;
		min-width: 0;
		color: #000;
		font-size: 17px;
		font-weight: 500;
		line-height: 1.3;
		text-align: center;
	}
	.dm-dw__cat-list--item .dm-dw__cat-name {
		font-size: 22px;
	}
	.dm-dw__cat-list--item .dm-dw__cat-link::before {
		display: none;
	}
	.dm-dw__cat-list--item .dm-dw__cat-link {
		gap: 14px;
		min-height: 87.5px;
		padding-left: 16px;
	}
}

/* フッター */
.dm-ft {
	--ft-max: 1355px;
	--ft-pad-x: 20px;
	--ft-ink: #fff;
	--ft-line: rgba(255, 255, 255, .35);
	--ft-ttl-fz: 30px;
	--ft-ttl-mb: 48px;
	--ft-shop-pt: 36px;
	--ft-shop-pb: 44px;
	--ft-brand-gap: 63px;
	--ft-brand-pt: 36px;
	--ft-logo-w: 249px;
	--ft-sns-mt: 42px;
	--ft-sns-gap: 36px;
	--ft-guide-pad: 75px;
	--ft-col-w: 449px;
	--ft-col-gap: 0px;
	--ft-row-gap: 28px;
	--ft-item-fz: 22px;
	--ft-ico-gap: 18px;
	--ft-txt-fz: 15px;
	--ft-txt-lh: 1.7;
	--ft-txt-mt: 16px;
	--ft-acc-pad: 12px;
	--ft-acc-line: rgba(255, 255, 255, .5);
	--ft-acc-bd: 2px;
	--ft-mark-size: 20px;
	--ft-mark-bar: 2.5px;
	--ft-mark-x: 1.3;
	--ft-bnr-bg: #e3f0e9;
	--ft-bnr-max: 1185px;
	--ft-bnr-gap: 57px;
	--ft-bnr-pad: 30px;
	--ft-bnr-cols: 3;
	--ft-info-bg: #358465;
	--ft-info-max: 1321px;
	--ft-info-h: 133px;
	--ft-info-gap: 30px;
	--ft-btn-w: 176px;
	--ft-btn-h: 50px;
	--ft-btn-r: 10px;
	--ft-btn-fz: 18px;
	--ft-btn-ink: #333;
	--ft-name-fz: 26px;
	--ft-addr-fz: 23px;
	--ft-info-lh: 1.55;
	--ft-copy-fz: 16px;
	--ft-copy-x: 45px;
	--ft-copy-y: 14px;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", meiryo, sans-serif;
}
.dm-ft *,
.dm-ft *::before,
.dm-ft *::after {
	box-sizing: border-box;
}
.dm-ft img {
	display: block;
	max-width: 100%;
	height: auto;
}
.dm-ft a,
.dm-ft a:link,
.dm-ft a:visited,
.dm-ft a:hover,
.dm-ft a:active {
	text-decoration: none;
	color: inherit;
}

.dm-ft__shop {
	padding: var(--ft-shop-pt) var(--ft-pad-x) var(--ft-shop-pb);
	background: #000;
	color: var(--ft-ink);
}
.dm-ft__inner {
	max-width: var(--ft-max);
	margin: 0 auto;
}
.dm-ft__ttl {
	margin: 0 0 var(--ft-ttl-mb);
	font-size: var(--ft-ttl-fz);
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: .01em;
	text-align: center;
}
.dm-ft__body {
	display: flex;
	gap: var(--ft-brand-gap);
}
.dm-ft__brand {
	flex: 0 0 auto;
	padding-top: var(--ft-brand-pt);
}
.dm-ft__logo {
	width: var(--ft-logo-w);
	margin: 0 auto;
}
.dm-ft__sns {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--ft-sns-gap);
	margin: var(--ft-sns-mt) 0 0;
	padding: 0;
	list-style: none;
}
.dm-ft__guide {
	flex: 1 1 auto;
	max-width: calc(var(--ft-col-w) * 2 + var(--ft-col-gap) + var(--ft-guide-pad) + 1px);
	margin: 0;
	padding-left: var(--ft-guide-pad);
	border-left: 1px solid var(--ft-line);
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: auto auto;
	grid-auto-flow: column;
	column-gap: var(--ft-col-gap);
	row-gap: var(--ft-row-gap);
}
.dm-ft__guide-ttl {
	display: flex;
	align-items: center;
	gap: var(--ft-ico-gap);
	font-size: var(--ft-item-fz);
	line-height: 1.4;
	letter-spacing: .05em;
}
.dm-ft__guide-ico {
	flex: 0 0 auto;
}
.dm-ft__guide-item {
	position: relative;
}
.dm-ft__guide-chk {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip-path: inset(50%);
}
.dm-ft__guide-chk:focus-visible + .dm-ft__guide-ttl {
	outline: 2px solid var(--ft-ink);
	outline-offset: 2px;
}
.dm-ft__guide-mark {
	display: none;
}
.dm-ft__br {
	display: inline;
}
.dm-ft__br--sp {
	display: none;
}
.dm-ft__guide-txt {
	margin: var(--ft-txt-mt) 0 0;
	font-size: var(--ft-txt-fz);
	line-height: var(--ft-txt-lh);
}

.dm-ft__bnr {
	padding: var(--ft-bnr-pad) var(--ft-pad-x);
	background: var(--ft-bnr-bg);
}
.dm-ft__bnr-list {
	display: grid;
	grid-template-columns: repeat(var(--ft-bnr-cols), minmax(0, 1fr));
	gap: var(--ft-bnr-gap);
	max-width: var(--ft-bnr-max);
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.dm-ft__info {
	position: relative;
	display: flex;
	align-items: center;
	min-height: var(--ft-info-h);
	padding: 20px var(--ft-pad-x);
	background: var(--ft-info-bg);
	color: var(--ft-ink);
}
.dm-ft__info-inner {
	display: flex;
	align-items: center;
	gap: var(--ft-info-gap);
	width: 100%;
	max-width: var(--ft-info-max);
	margin: 0 auto;
}
.dm-ft__contact {
	flex: 0 0 auto;
	margin: 0;
	color: var(--ft-btn-ink);
}
.dm-ft__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--ft-btn-w);
	height: var(--ft-btn-h);
	border-radius: var(--ft-btn-r);
	background: #e2f0e9;
	font-size: var(--ft-btn-fz);
	font-weight: 700;
	letter-spacing: .02em;
	color: #000 !important;
}
.dm-ft__company {
	min-width: 0;
}
.dm-ft__name {
	margin: 0;
	font-size: var(--ft-name-fz);
	line-height: var(--ft-info-lh);
	font-weight: 700;
}
.dm-ft__addr {
	margin: 0;
	font-size: var(--ft-addr-fz);
	line-height: var(--ft-info-lh);
}
.dm-ft__copy {
	position: absolute;
	right: var(--ft-copy-x);
	bottom: var(--ft-copy-y);
	margin: 0;
	font-size: var(--ft-copy-fz);
	line-height: 1.4;
}

@media screen and (max-width: 768px) {
	.dm-ft {
		--ft-pad-x: 15px;
		--ft-ttl-fz: 20px;
		--ft-ttl-mt: 24px;
		--ft-ttl-mb: 20px;
		--ft-shop-pt: 28px;
		--ft-shop-pb: 32px;
		--ft-brand-gap: 30px;
		--ft-brand-pt: 0px;
		--ft-logo-w: 200px;
		--ft-sns-mt: 22px;
		--ft-sns-gap: 26px;
		--ft-guide-pad: 0px;
		--ft-row-gap: 0px;
		--ft-item-fz: 17px;
		--ft-ico-gap: 12px;
		--ft-txt-fz: 14px;
		--ft-txt-mt: 10px;
		--ft-bnr-max: 400px;
		--ft-bnr-gap: 10px;
		--ft-bnr-pad: 20px;
		--ft-bnr-cols: 1;
		--ft-info-h: auto;
		--ft-info-gap: 16px;
		--ft-btn-w: 160px;
		--ft-btn-h: 44px;
		--ft-btn-fz: 16px;
		--ft-name-fz: 18px;
		--ft-addr-fz: 13px;
		--ft-copy-fz: 12px;
	}
	.dm-ft__inner {
		display: flex;
		flex-direction: column;
	}
	.dm-ft__body {
		display: contents;
	}
	.dm-ft__brand {
		order: 1;
	}
	.dm-ft__ttl {
		order: 2;
		margin: var(--ft-ttl-mt) auto var(--ft-ttl-mb);
		padding-top: var(--ft-ttl-mt);
		border-top: var(--ft-acc-bd) solid var(--ft-acc-line);
		width: 87%;
	}
	.dm-ft__guide {
		order: 3;
	}
	.dm-ft__guide {
		max-width: none;
		border-left: none;
		border-top: var(--ft-acc-bd) solid var(--ft-acc-line);
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: none;
		grid-auto-flow: row;
		width: 87%;
        margin: auto;
	}
	.dm-ft__guide-ico {
		width: 28px;
		height: auto;
	}
	.dm-ft__guide-item {
		border-bottom: var(--ft-acc-bd) solid var(--ft-acc-line);
	}
	.dm-ft__guide-ttl {
		padding: var(--ft-acc-pad) 0;
		cursor: pointer;
		user-select: none;
	}
	.dm-ft__guide-mark {
		display: block;
		position: relative;
		flex: 0 0 auto;
		width: var(--ft-mark-size);
		height: var(--ft-mark-size);
		margin-left: auto;
	}
	.dm-ft__guide-mark::before,
	.dm-ft__guide-mark::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: var(--ft-mark-size);
		height: var(--ft-mark-bar);
		background: currentColor;
		transform: translate(-50%, -50%);
		transition: transform .25s;
	}
	.dm-ft__guide-mark::after {
		transform: translate(-50%, -50%) rotate(90deg);
	}
	.dm-ft__guide-chk:checked + .dm-ft__guide-ttl .dm-ft__guide-mark::before {
		transform: translate(-50%, -50%) rotate(45deg) scaleX(var(--ft-mark-x));
	}
	.dm-ft__guide-chk:checked + .dm-ft__guide-ttl .dm-ft__guide-mark::after {
		transform: translate(-50%, -50%) rotate(-45deg) scaleX(var(--ft-mark-x));
	}
	.dm-ft__guide-name{
		font-size: var(--ft-info-gap);
	}
	.dm-ft__br {
		display: none;
	}
	.dm-ft__br--sp {
		display: inline;
	}
	.dm-ft__guide-txt {
		display: none;
		padding-bottom: var(--ft-acc-pad);
	}
	.dm-ft__guide-chk:checked ~ .dm-ft__guide-txt {
		display: block;
	}
	.dm-ft__info {
		flex-direction: column;
		padding: 24px var(--ft-pad-x) 20px;
	}
	.dm-ft__info-inner {
		flex-direction: column;
		max-width: none;
	}
	.dm-ft__company {
		text-align: center;
	}
	.dm-ft__copy {
		position: static;
		margin-top: 16px;
		text-align: center;
	}
}

