@charset "UTF-8";
/* CSS Document */

/* ==========================================================================
	Reset CSS
========================================================================== */
/***
    The new CSS reset - version 1.7.3 (last updated 7.8.2022)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)){
	all: unset;
	display: revert;
}
*,*::before,*::after{
	box-sizing: border-box;
}
a, button{
	cursor: revert;
}
ol, ul, menu{
	list-style: none;
}
img{
	vertical-align: top;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
}
input, textarea{
	-webkit-user-select: auto;
	user-select: auto;
}
textarea{
	white-space: revert;
}
meter{
	-webkit-appearance: revert;
	appearance: revert;
}
::placeholder{
	color: unset;
}
:where([hidden]){
	display: none;
}
:where([contenteditable]:not([contenteditable="false"])){
	-moz-user-modify: read-write;
	-webkit-user-modify: read-write;
	overflow-wrap: break-word;
	-webkit-line-break: after-white-space;
	line-break: after-white-space;
	-webkit-user-select: auto;
	user-select: auto;
}
:where([draggable="true"]){
	-webkit-user-drag: element;
}


/* ==========================================================================
	Setting CSS
========================================================================== */
:root{
	/* width */
	--wMin: 1240px;
	--wBase:  1200px;
	--w800:  860px;
	--w900:  960px;
	/* color */
	--clrRed:    #d41100;
	--clrGray:   #666666;
	--clrBgGray:   #d7dcdc;
	/* border */
	--borderBase: 1px solid var(--clrRed);
	/* font */
	--fBase: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
	--fMont: "Montserrat", "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", sans-serif;
	--fRegular: 400;
	--fMedium: 500;
	--fSemibold: 600;
	--fBold: 700;
	--fBk: 900;
	/* line-height */
	--lineHBase: 100%;
	/* letter-spacing */
	--letterSBase: 0.15rem;
	/* transition */
	--transition03: all 0.3s;
}
html{
	font-size: 62.5%;
}
body{
	background-color: #fff;
	color: #000;
	font-size: 1.4rem;
	font-family: var(--fBase);
	font-weight: 400;
	letter-spacing: 0.05em;
	font-feature-settings: "palt";
	overflow-wrap: break-word;
}
p{
	line-height: 170%;
}
a{
	color: var(--clrBase);
	text-decoration: none;
	transition: var(--transition03);
}
@media (hover: hover) {a:hover,
	button:hover{
		opacity: .6;
		transition: var(--transition03);
	}
}
@media print, screen and (min-width:813px){
	/* iPad背景切れ対策 */
	body{
		min-width: var(--wMin);
	}
	/* tel pcのみ無効 */
	a[href^="tel:"]{
		pointer-events: none;
	}
}

/*
	表示切替
---------------------------------------------------- */
.switch{
	visibility: hidden;
}
.sp{
	display: none;
}

/* ==========================================================================
	common
========================================================================== */
/*
	box
---------------------------------------------------- */
/* wrapper
============================== */
#wrapper{
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	overflow: hidden;
	width: 100%;
}
/* ctsWrapper
============================== */
#ctsWrapper{
	background-color: #fff;
}
/* ctsArea
============================== */
.ctsArea{
	width: var(--wBase);
	padding: 0 30px 70px 30px;
	margin: 0 auto;
}
/* ボタン
============================== */
.baseBtn{
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 180px;
	min-height: 40px;
	font-weight: var(--fSemibold);
	color: #fff;
	padding: 10px 30px  10px 20px;
	background: #000;
}
.baseBtn::after{
	position: absolute;
	top: 50%;
	right: 18px;
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	transform: rotate(-45deg);
	margin-left: 6px;
	translate: 0 -50%;
	transition: var(--transition03);
}
@media (hover: hover) {
	.baseBtn:hover::after{
		translate: 5px -50%;
	}
}
/* 赤い線の画像 */
.line{
	position: absolute;
	right: 0;
}

/* タイトル */
.titCmn{
	position: relative;
	width: fit-content;
	font-size: 3rem;
	margin-inline: auto;
	border-bottom: var(--borderBase);
	padding-block: 0 3px;
	margin-bottom: 30px;
	z-index: 10;
}
/* 画面幅を広げたときにタイトルに赤い線が重なった時用の白背景 */
.titCmn::after{
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(255, 255, 255, 1);
	border-radius: 8px;
	filter: blur(3px);
	z-index: -1;
}
/* visitTitのみ白背景なし */
.visitTit::after{
	display: none;
}

/* ==========================================================================
	header
========================================================================== */
#headerWrapper{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	min-width: var(--wMin);
	height: 80px;
	background-color: #fff;
	padding: 20px 30px 20px 20px;
	transition: var(--transition05);
	z-index: 9999;
}
.headerLArea{
	display: flex;
}
.headerSubTit{
	font-size: 2.2rem;
	font-weight: var(--fSemibold);
	border-bottom: var(--borderBase);
}
.headerRArea{
	display: flex;
	align-items: flex-end;
	height: 100%;
}
.headerBackBtn{
	position: relative;
	font-size: 1.5rem;
	font-weight: 300;
	line-height: var(--lineHBase);
	color: var(--clrGray);
	padding-right: 16px;
}
.headerBackBtn::after{
	position: absolute;
	top: 50%;
	right: 0;
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	border-right: 1px solid var(--clrGray);
	border-bottom: 1px solid var(--clrGray);
	transform: rotate(-45deg);
	translate: 0 -50%;
	transition: var(--transition03);
}
@media (hover: hover) {
	.headerBackBtn:hover::after{
		translate: 5px -50%;
	}
}
/* ハンバーガーメニュー非表示 */
.headerBtnArea,
.hOpenMenuWrapper{
	display: none;
}

/* ==========================================================================
	kvWrapper
========================================================================== */
#kvWrapper{
	min-height: 700px;
	height: calc(100vh - 80px);
	width: 100%;
}
.kvInBox{
	position: relative;
	height: 100%;
	margin-inline: auto;
}
.kvTit{
	position: absolute;
	bottom: 14%;
	right: 0;
	z-index: 10;
}
.jsSwiperKv{
	height: 100%;
	overflow: hidden;
}
.jsSwiperKv img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ==========================================================================
	readWrapper
========================================================================== */
#readWrapper{
	position: relative;
}
#readWrapper .ctsArea{
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-block: 100px 190px;
}
.readTxt{
	width: 700px;
	font-size: 1.7rem;
	line-height: 230%;
	text-align: justify;
	margin-bottom: 80px;
}
.readTxt span{
	color: var(--clrRed);
}
.exhibitionList{
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.exhibitionList li{
	display: flex;
	gap: 45px;
}
.exhibitionTxtArea{
	margin-top: 25px;
}
.exhibitionTit{
	font-size: 2.2rem;
	font-weight: var(--fBk);
	line-height: 150%;
	margin-bottom: 12px;
}
.exhibitionDate{
	font-size: 1.8rem;
	font-weight: var(--fSemibold);
	line-height: 125%;
	margin-bottom: 23px;
}
.exhibitionDate span{
	font-size: 1.5rem;
	font-weight: var(--fMedium);
}
#readWrapper .line{
	bottom: -244px;
}
/* .exhibitionBtnのグレーアウト */
p.exhibitionBtn.baseBtn.grayOut{
	background: #9a9a9a;
}
p.exhibitionBtn.baseBtn.grayOut:hover::after{
	translate: 0 -50%;
}

/* ==========================================================================
	anchorWrapper
========================================================================== */
#anchorWrapper .ctsArea{
	text-align: center;
}
.anchorTit{
	position: relative;
	width: fit-content;
	font-size: 2rem;
	margin-bottom: 50px;
	margin-inline: auto;
	z-index: 10;
}
.anchorTit::after{
	content: "";
	position: absolute;
	inset: -11px;
	background: rgba(255, 255, 255, 1);
	border-radius: 8px;
	filter: blur(3px);
	z-index: -1;
}
.anchorList{
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 60px;
}
.anchorList li{
	width: 100%;
	height: 100%;
	border-left: 1px solid var(--clrGray);
}
.anchorList li:last-child{
	border-right: 1px solid var(--clrGray);
}
.anchorList li a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	font-size: 1.8rem;
}
.anchorList li span{
	position: relative;
	display: block;
	padding-right: 30px;
}
.anchorList li span::after{
	position: absolute;
	top: 50%;
	right:  0;
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	border-right: 1px solid var(--clrGray);
	border-bottom: 1px solid var(--clrGray);
	transform: rotate(45deg);
	translate: 0 -50%;
	transition: var(--transition03);
}
@media (hover: hover) {
	.anchorList li a:hover span::after{
		translate: 0 1px;
	}
}

/* ==========================================================================
	messageWrapper
========================================================================== */
.messageList li{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
	letter-spacing: .001em;
	text-align: justify;
	padding-block: 25px;
	border-bottom: 1px solid var(--clrGray);
}
.messageList li:first-child{
	padding-top: 0;
}
.messageList li:last-child{
	padding-bottom: 0;
	border-bottom: none;
}
.messageName{
	font-size: 1.6rem;
	font-weight: var(--fBold);
	line-height: 100%;
	margin-block: 0 7px;
}
.messageTxt{
	width: 730px;
	font-weight: var(--fRegular);
	line-height: 200%;
	text-align: justify;
}
.messageSubTit{
	width: 730px;
	font-size: 1.6rem;
	font-weight: var(--fBold);
	line-height: 100%;
	text-align: left;
}
.messagePhArea{
	width: 730px;
}

/* ==========================================================================
	visitWrapper
========================================================================== */
#visitWrapper{
	position: relative;
	background: var(--clrBgGray);
}
#visitWrapper .ctsArea{
	padding-top: 78px;
}
.visitTit{
	margin-bottom: 40px;
}
#visitWrapper .line{
	bottom: -330px;
	z-index: 10;
}
/* slick
============================== */
.swiper{
	align-items: center;
}
.slickItem{
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 50px 120px;
}
.swiper-slide{
	background: #fff;
}
/* swiper左右ボタン */
.swiper-button-next,
.swiper-button-prev{
	content: "";
	display: inline-block;
	top: 38px;
	color: var(--clrGray);
	margin-top: 0;
}
/* swiper右ボタン */
.swiper-button-next{
	right: 120px;
}
/* swiper左ボタン */
.swiper-button-prev{
	left: 120px;
}
/* ボタンの矢印 */
.swiper-button-next:after,
.swiper-button-prev:after{
	/* 元のフォントを打ち消す */
	font-family: none;
	/* 元のフォントを非表示に */
	color: transparent;
	position: absolute;
	top: 8px;
	content: "";
	display: inline-block;
	width: 28px;
	height: 28px;
	border-right: 1px solid var(--clrGray);
	border-bottom: 1px solid var(--clrGray);
}
.swiper-button-next:after{
	transform: rotate(-45deg);
}
.swiper-button-prev:after{
	transform: rotate(135deg);
}
/* 次のスライドがなくなった時、ボタンをグレーに
（この記述がないとanimationのjsとぶつかる） */
.swiper-button-next.swiper-button-disabled:after,
.swiper-button-prev.swiper-button-disabled:after{
	border-right: 1px solid #d2d2d2;
	border-bottom: 1px solid #d2d2d2;
	opacity: 1;
}
.slickDate{
	font-size: 2rem;
	font-weight: var(--fSemibold);
	text-align: center;
	line-height: var(--lineHBase);
	margin-bottom: 35px;
}
.slickImg{
	text-align: center;
}
.slickSubTit{
	font-size: 2rem;
	font-weight: var(--fBold);
	line-height: var(--lineHBase);
	margin-block: 15px 5px;
}
.slickTxt{
	font-weight: var(--fRegular);
	line-height: 180%;
}

/* ==========================================================================
	topicsWrapper
========================================================================== */
#topicsWrapper .ctsArea{
	padding: 90px 30px 70px 30px;
}
.topicsList li{
	display: flex;
	border-bottom: 1px solid var(--clrGray);
}
.topicsList li:first-of-type{
	border-top: 1px solid var(--clrGray);
}
.topicsDate{
	width: 180px;
	font-weight: var(--fSemibold);
	padding: 21px 70px 21px 25px;
}
.topicsTxt{
	font-weight: var(--fRegular);
	padding: 21px 25px 21px 0;
}
.topicsTxt span{
	font-weight: var(--fBold);
}
.topicsNotes{
	display: flex;
	flex-direction: column;
	gap: 3px;
	text-align: justify;
	padding-left: 1em;
	text-indent: -1em;
	margin-top: 13px;
}

/* ==========================================================================
	saleTopArea
========================================================================== */
.saleAreaList > li:first-of-type{
	padding-bottom: 45px;
	margin-bottom: 45px;
	border-bottom: 1px solid #000;
}
.saleTopArea{
	display: flex;
	align-items: center;
	gap: 55px;
	margin-bottom: 40px;
}
.saleTopTit{
	font-size: 1.8rem;
	font-weight: var(--fBold);
}
.saleTopSubTit{
	color: var(--clrRed);
	font-size: 2.8rem;
	font-weight: var(--fBold);
	line-height: 100%;
	margin-block: 0 6px;
}
.saleTopTxt{
	text-align: justify;
	line-height: 185%;
	margin-block: 13px 0;
}
.saleTopDate{
	margin-block: 14px 0;
	line-height: 160%;
}
.saleItemList{
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.saleAreaList > li:first-of-type li{
	width: 340px;
}
.saleAreaList > li:last-of-type li{
	width: 250px;
}
.saleItemTit{
	font-size: 1.7rem;
	font-weight: var(--fBold);
	line-height: 130%;
	margin-top: 14px;
}
.saleItemTit span{
	font-size: 1.4rem;
}
.saleItemTxt{
	text-align: justify;
	letter-spacing: .001em;
	margin-top: 10px;
}

/* ==========================================================================
	footer
========================================================================== */
#footerWrapper{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100px;
	color: #fff;
	padding: 0 30px;
	margin-top: auto;
	background-color: #000;
}
.footerCopy{
	font-family: var(--fMont);
	font-size: 1.2rem;
}

@media screen and (max-width:812px){
	/* ==========================================================================
		Setting CSS
	========================================================================== */
	:root{
		/* width */
		--wMin:  100%;
		--wBase: 100%;
		--w900:  100%;
		--w800:  100%;
		--w500:  500px;
		/* height */
		--hHeader:       60px;
		--hHeaderScroll: 40px;
		/* line-height */
		--lineHBase: 180%;
		/* letter-spacing */
		--letterSBase: 0.15rem;
	}
	body{
		-webkit-text-size-adjust: 100%;
		font-size: 1.4rem;
	}
	img{
		width: 100%;
	}
	p{
		line-height: 150%;
	}
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
	br.sp{
		display: inline-block;
	}

	/* ==========================================================================
		common
	========================================================================== */
	/*
		box
	---------------------------------------------------- */
	/* ctsArea
	============================== */
	.ctsArea{
		max-width: var(--w500);
		padding: 0 20px 30px 20px;
	}

	/*
		ボタン
	---------------------------------------------------- */
	.baseBtn{
		width: 100%;
		font-size: 1.3rem;
		padding: 10px 15px;
	}
	.baseBtn::after{
		right: 12px;
		margin-left: 0;
		width: 11px;
		height: 11px;
	}
	/*
		タイトル
	---------------------------------------------------- */
	.titCmn{
		font-size: 2.2rem;
		margin-bottom: 20px;
	}

	/* ==========================================================================
		header
	========================================================================== */
	#headerWrapper{
		height: 60px;
		min-width: initial;
		padding: 0;
	}
	.headerLArea{
		display: flex;
		justify-content: space-between;
		width: 100%;
	}
	.headerLogo{
		max-width: 85px;
		margin-left: 17px;
	}
	.headerSubTit{
		font-size: 1.4rem;
		margin-bottom: 3px;
		translate: -13px;
	}
	/* ホームページへ戻るボタンを非表示 */
	.headerRArea{
		display: none;
	}
	.headerBtnArea{
		flex-direction: column;
		z-index: 999999999;
	}
	.headerBtnArea .baseBtn{
		display: none;
	}
	.headerMenuBtn{
		position: relative;
		display: block;
		height: 60px;
		aspect-ratio: 1 / 1;
		background: #000;
	}
	.headerMenuBtn.jsBtnMenu.jsOpen{
		z-index: 999999999;
	}
	.headerMenuBtn::before,
	.headerMenuBtn span,
	.headerMenuBtn::after{
		position: absolute;
		left: 50%;
		translate: -50%;
		content: "";
		display: block;
		width: 24px;
		height: 1px;
		transition: all 0.3s;
	}
	.headerMenuBtn::before{
		top: calc(50% - 9px);
		background-color: #ff0e28;
	}
	.headerMenuBtn span{
		top: 50%;
		background: #ff0e28;
	}
	.headerMenuBtn::after{
		top: calc(50% + 9px);
		background-color: #ff0e28;
	}
	.headerMenuBtn.jsOpen::before{
		top: 50%;
		right: 50%;
		transform: rotate(45deg);
	}
	.headerMenuBtn.jsOpen span{
		display: none;
	}
	.headerMenuBtn.jsOpen::after{
		top: 50%;
		right: 50%;
		transform: rotate(-45deg);
	}
	.headerBtnArea,
	.hOpenMenuWrapper{
		display: contents;
	}

	/*
		Menu
	-----------------------------------------------------------------------------------------------*/
	.hOpenMenuWrapper.jsOpen {
		display: block;
		opacity: 1;
		min-width: calc(100% - 20px);
		height: fit-content;
		overflow-y: scroll;
	}
	.hOpenMenuWrapper{
		position: fixed;
		top: 50px;
		left: 50%;
		display: none;
		opacity: 0;
		width: calc(100% - 40px);
		margin: 0 auto;
		transform: translateX(-50%);
		border-radius: 30px;
		z-index: 999999;
		background-color: var(--clrDeepYellow);
		transition: all .3s;
	}
	.hOpenMenuCts{
		max-width: 500px;
		padding: 35px 20px 20px;
		margin-inline: auto;
	}
	.menuBtnArea{
		display: flex;
		flex-direction: column;
		gap: 5px;
	}
	.menuAnchorList{
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 35px;
	}
	.menuAnchorList li{
		color: #fff;
		font-size: 1.6rem;
	}
	.headerBackBtn{
		color: #fff;
		font-size: 1.4rem;
		text-align: center;
		padding-right: 0;
		margin-top: 30px;
	}
	.headerBackBtn::after{
		display: none;
	}
	/* メニュー透過背景 */
	.menuBg{
		width: 100%;
		min-width: 1200px;
		height: 100vh;
		background-color: rgb(0 0 0 / .6);
		position: fixed;
		top: 0;
		left: 0;
		backdrop-filter: blur(3px);
		z-index: 100;
	}

	/* ==========================================================================
		kvWrapper
	========================================================================== */
	#kvWrapper{
		height: calc(100vh - 60px);
		min-height: 500px;
	}
	.kvTit{
		right: auto;
		left: 0;
	}

	/* ==========================================================================
		readWrapper
	========================================================================== */
	#readWrapper .ctsArea{
		padding-block: 40px 125px;
	}
	.readTxt{
		width: 100%;
		font-size: 1.5rem;
		line-height: 200%;
		margin-bottom: 35px;
	}
	.exhibitionList{
		position: relative;
		z-index: 1;
		flex-direction: column;
		gap: 40px;
	}
	.exhibitionList li{
		gap: 30px;
		width: 100%;
	}
	.exhibitionList li img{
		max-width: 179px;
	}
	.exhibitionTxtArea{
		width: 100%;
	}
	.exhibitionTit{
		font-size: 1.7rem;
	}
	.exhibitionDate{
		font-size: 1.4rem;
		letter-spacing: .01em;
		line-height: 150%;
		margin-bottom: 16px;
	}
	/* 日付のみ小さく */
	.exhibitionDate span{
		font-size: 1.1rem;
	}
	/* 赤線 */
	#readWrapper .line{
		bottom: 12px;
	}
	.exhibitionBtn{
		max-width: 180px;
		font-size: 1.4rem;
	}

	/* ==========================================================================
		anchorWrapper
	========================================================================== */
	#anchorWrapper .ctsArea{
		padding-bottom: 40px;
	}
	.anchorTit{
		font-size: 1.6rem;
		margin-bottom: 35px;
	}
	.anchorList{
		flex-wrap: wrap;
		height: auto;
	}
	.anchorList li{
		width: calc(100% / 2);
		border-left: none;
		padding-block: 15px;
	}
	.anchorList li a{
		font-size: 1.5rem;
	}
	.anchorList li span::after{
		right: 5px;
	}
	.anchorList li:first-child,
	.anchorList li:nth-child(2){
		border-bottom: 1px solid var(--clrGray);
	}
	.anchorList li:nth-child(odd){
		border-right: 1px solid var(--clrGray);
	}
	.anchorList li:last-child{
		border-right: none;
	}

	/* ==========================================================================
		messageWrapper
	========================================================================== */
	.messageList li{
		flex-direction: column;
		gap: 12px;
		padding-block: 0 25px;
	}
	.messageSubTit{
		width: 100%;
	}
	.messageList li:not(:first-of-type) .messageSubTit{
		padding-block: 25px 0;
	}
	.messageList li:first-of-type .messageTxt{
		padding-block: 0;
	}
	.messageTxt{
		width: 100%;
	}
	.messagePhArea{
		width: 100%;
	}
	.messageName{
		margin-block: 0 7px;
	}
	.messageNameTxt{
		line-height: 160%;
	}
	.messageNameTxt span{
		display: none;
	}

	/* ==========================================================================
		visitWrapper
	========================================================================== */
	#visitWrapper .ctsArea{
		padding-top: 30px;
		padding-bottom: 43px;
	}
	.slickItem{
		padding: 17px 25px 20px;
	}
	.slickDate{
		font-size: 1.4rem;
		letter-spacing: .01em;
		margin-bottom: 12px;
	}
	.slickImg{
		width: 100%;
		height: 200px;
	}
	.slickItem img{
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
	.slickSubTit{
		margin-block: 5px 0;
	}
	.slickSubTit{
		font-size: 1.5rem;
	}
	.slickTxt{
		line-height: 150%;
		text-align: justify;
		letter-spacing: .01em;
	}
	.swiper-button-next,
	.swiper-button-prev{
		top: 20px;
	}
	.swiper-button-next::after,
	.swiper-button-prev::after{
		top: 11px;
		width: 17px;
		height: 17px;
	}
	.swiper-button-next{
		top: 10px;
		right: 16px;
	}
	.swiper-button-prev{
		top: 10px;
		left: 25px;
	}
	/* 赤い線 */
	#visitWrapper .line{
		bottom: -49px;
	}

	/* ==========================================================================
		topicsWrapper
	========================================================================== */
	#topicsWrapper .ctsArea{
		padding-block: 40px;
	}
	.topicsList li{
		flex-direction: column;
		padding: 12px 0;
	}
	.topicsDate{
		padding: 0;
		margin-bottom: 15px;
	}
	.topicsTxt{
		padding: 0;
	}
	.topicsNotes{
		font-size: 1.3rem;
	}
	.topicsNotes span{
		display: none;
	}

	/* ==========================================================================
		saleWrapper
	========================================================================== */
	#saleWrapper .ctsArea{
		padding-bottom: 50px;
	}
	.saleAreaList > li:first-of-type{
		padding-bottom: 25px;
		margin-bottom: 25px;
	}
	.saleAreaList > li .saleItemList li{
		width: calc((100% - 30px)/2);
	}
	.saleTopArea{
		flex-direction: column;
		gap: 12px;
		margin-bottom: 20px;
	}
	.saleTopTit{
		font-size: 1.6rem;
	}
	.saleTopSubTit{
		font-size: 2.2rem;
		margin-block: 0 4px;
	}
	.saleTopTxt{
		line-height: 165%;
		margin-block: 6px 0;
	}
	.saleItemList{
		flex-wrap: wrap;
		gap: 25px 30px;
	}
	.saleItemTit{
		font-size: 1.6rem;
		line-height: 130%;
		margin-top: 6px;
	}
	.saleItemTit span{
		font-size: 1.4rem;
		letter-spacing: .01em;
	}
	.saleItemTxt{
		font-size: 1.3rem;
		letter-spacing: .01em;
		margin-top: 3px;
	}

	/* ==========================================================================
		footerWrapper
	========================================================================== */
	#footerWrapper{
		height: 80px;
		font-size: 1.2rem;
	}
}