@charset "UTF-8";
/*----------------------------------------

	- common
	- dm-special_nav
	+ dm-specialArea
		- dm-specialArea_tit01
		- dm-specialArea_bg
		- dm-specialSlide
		- dm-specialArea_txt
		- dm-specialArea_btn
		- dm-specialArea_picture
		- fmt_video

-----------------------------------------*/

/*----------------------------------------
	common
-----------------------------------------*/

#fwCms_wrapper .fwCms_box.frame_MH>*:last-child:not(.breadcrumb):not(.osechiBnrArea):not(.rankingList) {
	margin-bottom: 11.7vw !important;
}

#fwCms_wrapper .fwCms_box.frame_MH .osechiBnrArea {
	margin-bottom: 6.1vw !important;
}

#fwCms_wrapper .pagetitle {
	margin: 0 auto 2.1vw;
}

#fwCms_wrapper .fwCms_box.frame_MT>*:last-child {
	margin-bottom: auto !important;
}

@media screen and (min-width: 768px) {
	#fwCms_wrapper .fwCms_box.frame_MH>*:last-child:not(.breadcrumb):not(.osechiBnrArea):not(.rankingList) {
		margin-bottom: 55px !important;
	}

	#fwCms_wrapper .fwCms_box.frame_MH .osechiBnrArea {
		margin-bottom: 50px !important;
	}

	#fwCms_wrapper .pagetitle {
		margin: 20px auto 15px;
	}
}

/*----------------------------------------
	dm-special_nav
-----------------------------------------*/

#fwCms_wrapper .dm-special_nav {
	margin-top: 4vw;
	padding: 3.7vw 0 5.3vw;
	background-color: #f2efe6;
}

#fwCms_wrapper .dm-special_nav>div {
	display: grid;
	gap: 4vw 0;
}

#fwCms_wrapper .dm-special_nav>div:first-of-type {
	margin-bottom: 4.2vw;
}

#fwCms_wrapper .dm-special_nav dl dt {
	display: flex;
	align-items: center;
	margin-bottom: 1.3vw;
}

#fwCms_wrapper .dm-special_nav dl dd ul li a {
	display: block;
}

#fwCms_wrapper .dm-special_nav dl dt::before,
#fwCms_wrapper .dm-special_nav dl dt::after {
	content: "";
	height: 1px;
	flex-grow: 1;
	background-color: #000;
}

#fwCms_wrapper .dm-special_nav dl dt::before {
	margin-right: 2.6vw;
}

#fwCms_wrapper .dm-special_nav dl dt::after {
	margin-left: 2.6vw;
}

#fwCms_wrapper .dm-special_nav>div dl dd ul {
	display: grid;
	gap: 0 2vw;
	grid-template-columns: repeat(3, 1fr);
}

#fwCms_wrapper .dm-special_nav>div:first-of-type dl:nth-of-type(2) dd ul {
	gap: 2.4vw 2vw;
	justify-content: center;
	grid-template-columns: repeat(2, 32vw);
}

/* soldout */
#fwCms_wrapper .dm-special_nav li.soldout {
	position: relative;
}

#fwCms_wrapper .dm-special_nav li.soldout::before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 15;
}

#fwCms_wrapper .dm-special_nav li.soldout a {
	position: relative;
	pointer-events: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

#fwCms_wrapper .dm-special_nav li.soldout a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: url(../../../../../mo/osechi/260917/dm-special/img/i_nav_soldout.png) no-repeat left top;
	background-size: cover;
	z-index: 10;
}

/* closed */
#fwCms_wrapper .dm-special_nav li.closed {
	position: relative;
}

#fwCms_wrapper .dm-special_nav li.closed::before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 15;
}

#fwCms_wrapper .dm-special_nav li.closed a {
	position: relative;
	pointer-events: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

#fwCms_wrapper .dm-special_nav li.closed a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: url(../../../../../mo/osechi/260917/dm-special/img/i_nav_closed.png) no-repeat left top;
	background-size: cover;
	z-index: 10;
}

@media screen and (min-width: 768px) {
	#fwCms_wrapper .dm-special_nav {
		margin-top: 54px;
		padding: min(1.88vw, 23px) 0 min(2.45vw, 30px);
	}

	#fwCms_wrapper .dm-special_nav>div {
		justify-content: center;
		max-width: 1220px;
		gap: 0 min(3.27vw, 40px);
		grid-template-columns: repeat(2, min(41.31vw, 504px));
		margin: 0 auto;
	}

	#fwCms_wrapper .dm-special_nav>div:first-of-type {
		grid-template-columns: min(41.31vw, 504px) min(55.4vw, 676px);
		margin-bottom: min(2.7vw, 33px);
	}

	#fwCms_wrapper .dm-special_nav dl dt {
		margin-bottom: min(0.65vw, 8px);
		font-size: clamp(14px, 1.85vw, 20px);
	}

	#fwCms_wrapper .dm-special_nav dl dt::before {
		margin-right: min(1.88vw, 23px);
		}

	#fwCms_wrapper .dm-special_nav dl dt::after {
		margin-left: min(1.88vw, 23px);
	}

	#fwCms_wrapper .dm-special_nav>div dl dd ul {
		gap: 0 min(0.98vw, 12px);
		grid-template-columns: repeat(3, 1fr);
	}

	#fwCms_wrapper .dm-special_nav>div:first-of-type dl:nth-of-type(2) dd ul {
		gap: 0 min(0.98vw, 12px);
		justify-content: baseline;
		grid-template-columns: repeat(4, 1fr);
	}
}

/*----------------------------------------
	dm-specialArea
-----------------------------------------*/

#fwCms_wrapper .dm-specialArea:not(#ohara) {
	margin-top: 13.3vw;
}

@media screen and (min-width: 768px) {
	#fwCms_wrapper .dm-specialArea:not(#ohara) {
		margin-top: 100px;
	}
}

/*----------------------------------------
	dm-specialArea_tit01
-----------------------------------------*/

#fwCms_wrapper .dm-specialArea .dm-specialArea_tit01 {
	position: relative;
}

#fwCms_wrapper .dm-specialArea .dm-specialArea_tit01::after {
	content: "";
	position: absolute;
	top: -8vw;
	right: 0;
	width: 32vw;
	height: 35.2vw;
	z-index: -1;
}

#fwCms_wrapper .dm-specialArea#ohara .dm-specialArea_tit01::after {
	background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_p01.png) no-repeat left top;
	background-size: 100% auto;
}

#fwCms_wrapper .dm-specialArea#hamasaku .dm-specialArea_tit01::after {
	background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_p02.png) no-repeat left top;
	background-size: 100% auto;
}

#fwCms_wrapper .dm-specialArea#akari .dm-specialArea_tit01::after {
	background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_p03.png) no-repeat left top;
	background-size: 100% auto;
}

#fwCms_wrapper .dm-specialArea#yoshida .dm-specialArea_tit01::after {
	background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_p04.png) no-repeat left top;
	background-size: 100% auto;
}

#fwCms_wrapper .dm-specialArea#meizin .dm-specialArea_tit01::after {
	background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_p05_06.png) no-repeat left top;
	background-size: 100% auto;
}

#fwCms_wrapper .dm-specialArea#honda .dm-specialArea_tit01::after {
	background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_p07.png) no-repeat left top;
	background-size: 100% auto;
}

#fwCms_wrapper .dm-specialArea#hokuriku .dm-specialArea_tit01::after {
	background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_p08.png) no-repeat left top;
	background-size: 100% auto;
}

#fwCms_wrapper .dm-specialArea#kyusyu .dm-specialArea_tit01::after {
	background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_p09.png) no-repeat left top;
	background-size: 100% auto;
}

#fwCms_wrapper .dm-specialArea#eri .dm-specialArea_tit01::after {
	background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_p10.png) no-repeat left top;
	background-size: 100% auto;
}

#fwCms_wrapper .dm-specialArea#suntory .dm-specialArea_tit01::after {
	background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_p11.png) no-repeat left top;
	background-size: 100% auto;
}

#fwCms_wrapper .dm-specialArea#solo .dm-specialArea_tit01::after {
	background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_p12.png) no-repeat left top;
	background-size: 100% auto;
}

#fwCms_wrapper .dm-specialArea#vivant .dm-specialArea_tit01::after {
	background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_p13.png) no-repeat left top;
	background-size: 100% auto;
}

#fwCms_wrapper .dm-specialArea .dm-specialArea_tit01 h2 {
	position: relative;
	width: 80%;
	min-height: 33vw;
	padding: 5vw 14.9vw 3.5vw 4vw;
}

#fwCms_wrapper .dm-specialArea .dm-specialArea_tit01 h2::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	z-index: -1;
}

#fwCms_wrapper .dm-specialArea:is(#ohara, #eri, #vivant) .dm-specialArea_tit01 h2::before {
	background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_bg01.png) repeat left top;
	background-size: min(64.26vw, 482px) auto;
}

#fwCms_wrapper .dm-specialArea:is(#hamasaku, #hokuriku) .dm-specialArea_tit01 h2::before {
	background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_bg02.png) repeat left top;
	background-size: min(64.26vw, 482px) auto;
}

#fwCms_wrapper .dm-specialArea:is(#akari, #honda, #solo) .dm-specialArea_tit01 h2::before {
	background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_bg03.png) repeat left top;
	background-size: min(64.26vw, 482px) auto;
}

#fwCms_wrapper .dm-specialArea:is(#yoshida, #kyusyu) .dm-specialArea_tit01 h2::before {
	background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_bg04.png) repeat left top;
	background-size: min(64.26vw, 482px) auto;
}

#fwCms_wrapper .dm-specialArea:is(#meizin, #suntory) .dm-specialArea_tit01 h2::before {
	background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_bg05.png) repeat left top;
	background-size: min(64.26vw, 482px) auto;
}

#fwCms_wrapper .dm-specialArea .dm-specialArea_tit01 h2>span {
	display: block;
}

#fwCms_wrapper .dm-specialArea:is(#ohara, #eri, #vivant) .dm-specialArea_tit01 h2>span:nth-child(2) {
	color: #662873;
}

#fwCms_wrapper .dm-specialArea:is(#hamasaku, #hokuriku) .dm-specialArea_tit01 h2>span:nth-child(2) {
	color: #08474d;
}

#fwCms_wrapper .dm-specialArea:is(#akari, #honda, #solo) .dm-specialArea_tit01 h2>span:nth-child(2) {
	color: #660805;
}

#fwCms_wrapper .dm-specialArea:is(#yoshida, #kyusyu) .dm-specialArea_tit01 h2>span:nth-child(2) {
	color: #4d2c08;
}

#fwCms_wrapper .dm-specialArea:is(#meizin, #suntory) .dm-specialArea_tit01 h2>span:nth-child(2) {
	color: #1f224d;
}

#fwCms_wrapper .dm-specialArea .dm-specialArea_tit01 p {
	padding: 4.26vw 4vw 4.2vw;
	background-color: #f2efe6;
}

@media screen and (min-width: 768px) {
	#fwCms_wrapper .dm-specialArea .dm-specialArea_tit01 {
		position: relative;
	}

	#fwCms_wrapper .dm-specialArea .dm-specialArea_tit01::after {
		top: max(-60px, -7.31vw);
		width: min(29.26%, 240px);
		z-index: 1;
	}

	#fwCms_wrapper .dm-specialArea .dm-specialArea_tit01 {
		min-height: 234px;
	}

	#fwCms_wrapper .dm-specialArea .dm-specialArea_tit01 div::before {
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: min(80.78%, 660px);
		height: 100%;
		z-index: -2;
	}

	#fwCms_wrapper .dm-specialArea:is(#ohara, #eri, #vivant) .dm-specialArea_tit01 div::before {
		background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_bg01.png) repeat left top;
		background-size: min(58.7vw, 482px) auto;
	}

	#fwCms_wrapper .dm-specialArea:is(#hamasaku, #hokuriku) .dm-specialArea_tit01 div::before {
		background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_bg02.png) repeat left top;
		background-size: min(58.7vw, 482px) auto;
	}

	#fwCms_wrapper .dm-specialArea:is(#akari, #honda, #solo) .dm-specialArea_tit01 div::before {
		background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_bg03.png) repeat left top;
		background-size: min(58.7vw, 482px) auto;
	}

	#fwCms_wrapper .dm-specialArea:is(#yoshida, #kyusyu) .dm-specialArea_tit01 div::before {
		background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_bg04.png) repeat left top;
		background-size: min(58.7vw, 482px) auto;
	}

	#fwCms_wrapper .dm-specialArea:is(#meizin, #suntory) .dm-specialArea_tit01 div::before {
		background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/img/i_bg05.png) repeat left top;
		background-size: min(58.7vw, 482px) auto;
	}

	#fwCms_wrapper .dm-specialArea .dm-specialArea_tit01 h2 {
		width: min(68.29%, 560px);
		min-height: unset;
		padding: 34px 0 8px 40px;
	}

	#fwCms_wrapper .dm-specialArea .dm-specialArea_tit01 h2::before {
		content: none;
	}

	#fwCms_wrapper .dm-specialArea .dm-specialArea_tit01 h2 span:first-child {
		margin-bottom: 6px;
	}

	#fwCms_wrapper .dm-specialArea .dm-specialArea_tit01 h2 span.font14_20 {
		font-size: clamp(14px, 1.85vw, 20px);
	}

	#fwCms_wrapper .dm-specialArea .dm-specialArea_tit01 h2 span.font18_26 {
		font-size: clamp(20px, 2.4vw, 26px);
	}

	#fwCms_wrapper .dm-specialArea .dm-specialArea_tit01 p {
		width: min(68.29%, 560px);
		padding: 0 0 33px 40px;
		background-color: inherit;
	}
}

/*----------------------------------------
	dm-specialArea_bg
-----------------------------------------*/

#fwCms_wrapper .dm-specialArea_bg {
	padding: 8vw 0;
	background: #f2efe6;
}

@media screen and (min-width: 768px) {
	#fwCms_wrapper .dm-specialArea_bg {
		padding: 40px 0;
	}
}

/*----------------------------------------
	dm-specialSlide
-----------------------------------------*/

#fwCms_wrapper .dm-specialSlide {
	overflow: hidden;
}

#fwCms_wrapper .dm-specialSlide .dm-specialSlide-frame {
	position: relative;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
	max-width: 750px;
	margin: 0 auto;
	padding: 0 20vw;
	user-select: none;
	-webkit-user-select: none;
}

#fwCms_wrapper .dm-specialSlide .swiper {
	overflow: visible;
}

#fwCms_wrapper .dm-specialSlide .swiper .swiper-wrapper {
	transition-timing-function: linear;
}

#fwCms_wrapper .dm-specialSlide .swiper .swiper-button-prev,
#fwCms_wrapper .dm-specialSlide .swiper .swiper-button-next {
	position: absolute;
	top: 24vw;
	width: 12vw;
	height: 12vw;
	min-height: 0;
	margin-top: 0;
	cursor: pointer;
	background: #f2efe6;
	z-index: 1;
	outline: none;
}

#fwCms_wrapper .dm-specialSlide .swiper .swiper-button-prev {
	left: calc((20vw - 10px) - 9.3vw);
}

#fwCms_wrapper .dm-specialSlide .swiper .swiper-button-next {
	right: calc((20vw - 10px) - 9.3vw);
}

#fwCms_wrapper .dm-specialSlide .swiper .swiper-button-prev::before,
#fwCms_wrapper .dm-specialSlide .swiper .swiper-button-next::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 2.6vw;
	height: 5.3vw;
	margin: auto;
	background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/svg/i_arrow01.svg) no-repeat left top;
	background-size: 2.6vw 5.3vw;
}

#fwCms_wrapper .dm-specialSlide .swiper .swiper-button-next::before {
	transform: rotate(-180deg);
}

#fwCms_wrapper .dm-specialSlide .swiper .swiper-slide .slide-img {
	position: relative;
}

#fwCms_wrapper .dm-specialSlide .swiper .swiper-slide .slide-img::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #bbb;
	opacity: 0;
	z-index: 1;
	transition: all 1.2s cubic-bezier(0.654, 0.045, 0.355, 1);
}

#fwCms_wrapper .dm-specialSlide .swiper .swiper-slide:not(.swiper-slide-active) .slide-img::before {
	opacity: 0.5;
	transition: all 1.2s cubic-bezier(0.654, 0.045, 0.355, 1);
}

#fwCms_wrapper .dm-specialSlide .swiper .swiper-slide .slide-txt {
	position: relative;
	width: 154.66%;
	height: 32vw;
	margin: 5.33vw -27.33% 3.2vw !important;
	opacity: 0;
	z-index: 1;
}

#fwCms_wrapper .dm-specialSlide .swiper .swiper-slide.swiper-slide-active .slide-txt {
	opacity: 1;
}

#fwCms_wrapper .dm-specialSlide .swiper .swiper-slide:not(.swiper-slide-active) .slide-txt {
	opacity: 0;
	z-index: 0;
}

#fwCms_wrapper .dm-specialSlide .swiper .swiper-slide:not(.swiper-slide-active) .slide-txt p {
	opacity: 0;
	transition: all .6s cubic-bezier(0.654, 0.045, 0.355, 1);
}

#fwCms_wrapper .dm-specialSlide .swiper .swiper-slide .slide-txt p {
	max-width: 690px;
	width: 99%;
	height: 100%;
	max-height: 32vw;
	margin: auto !important;
	padding-right: 10px !important;
	transition: all 1.2s cubic-bezier(0.654, 0.045, 0.355, 1);
	opacity: 1;
	overflow-y: auto;
	user-select: text;
	-webkit-user-select: text;
}

#fwCms_wrapper .dm-specialSlide .swiper .swiper-slide .slide-txt p::-webkit-scrollbar {
	width: 1px;
	height: 1px;
}

#fwCms_wrapper .dm-specialSlide .swiper .swiper-slide .slide-txt p::-webkit-scrollbar-thumb {
	background-color: #62340c;
	border-radius: 1px;
}

#fwCms_wrapper .dm-specialSlide .swiper .swiper-slide .slide-txt p::-webkit-scrollbar-track {
	border-radius: 1px;
	background-color: #edd9c4;
}

@media screen and (min-width: 768px) {
	#fwCms_wrapper .dm-specialSlide .dm-specialSlide-frame {
		max-width: 820px;
		padding: 0 25%;
	}

	#fwCms_wrapper .dm-specialSlide .swiper .swiper-button-prev,
	#fwCms_wrapper .dm-specialSlide .swiper .swiper-button-next {
		top: min(calc(16.2vw - 35px), 175px);
		width: 60px;
		height: 60px;
	}

	#fwCms_wrapper .dm-specialSlide .swiper .swiper-button-prev {
		left: calc((25% - 20px) - 40px);
	}

	#fwCms_wrapper .dm-specialSlide .swiper .swiper-button-next {
		right: calc((25% - 20px) - 40px);
	}

	#fwCms_wrapper .dm-specialSlide .swiper .swiper-button-prev::before,
	#fwCms_wrapper .dm-specialSlide .swiper .swiper-button-next::before {
		width: 12px;
		height: 20px;
		background-size: 12px 20px;
	}

	#fwCms_wrapper .dm-specialSlide .swiper .swiper-button-prev:hover,
	#fwCms_wrapper .dm-specialSlide .swiper .swiper-button-next:hover {
		opacity: .5;
		transition: opacity .2s ease-out .1s;
	}

	#fwCms_wrapper .dm-specialSlide .swiper .swiper-slide .slide-txt {
		width: 200%;
		height: 108px;
		margin: 30px -50% 18px !important;
	}

	#fwCms_wrapper .dm-specialSlide .swiper .swiper-slide .slide-txt p {
		max-width: 740px;
		width: 90.24%;
		height: 100%;
		max-height: 105px;
		margin: auto !important;
		padding-right: 10px !important;
	}
}

/*----------------------------------------
	dm-specialArea_txt
-----------------------------------------*/

#fwCms_wrapper .dm-specialArea_txt {
	padding: 0 4vw;
}

#fwCms_wrapper .dm-specialArea_txt h3>span:nth-of-type(n+2) {
	display: block;
	color: #cf0900;
}

#fwCms_wrapper .dm-specialArea_txt h3>span:nth-of-type(2) {
	margin-top: 1vw;
}

#fwCms_wrapper .dm-specialArea_txt p {
	margin-top: 0.8vw;
	color: #584536;
}

@media screen and (min-width: 768px) {
	#fwCms_wrapper .dm-specialArea_txt {
		padding: 0 40px;
	}

	#fwCms_wrapper .dm-specialArea_txt h3>span:nth-of-type(2) {
		margin-top: 7px;
	}

	#fwCms_wrapper .dm-specialArea_txt p {
		margin-top: 2px;
	}
}

/*----------------------------------------
	dm-specialArea_btn
-----------------------------------------*/

#fwCms_wrapper .dm-specialArea_btn {
	width: 80vw;
	margin: 6.63vw auto auto;
}

#fwCms_wrapper a[class^='btn-base'].btn-color-2,
#fwCms_wrapper a[class^='btn-base'].btn-color-2:link,
#fwCms_wrapper a[class^='btn-base'].btn-color-2:visited {
	background-color: #2b2c30;
}

#fwCms_wrapper .dm-specialArea_btn:is(.economical, .guest) {
	position: relative;
}

#fwCms_wrapper .dm-specialArea_btn.economical a[class^='btn-base'].btn-color-2 {
	display: grid;
	grid-template-columns: auto;
	grid-template-rows: repeat(2, auto);
	padding: 0 calc(3vw + 1.5em);
	text-align: center;
}

#fwCms_wrapper .dm-specialArea_btn.guest a[class^='btn-base'].btn-color-2 {
	padding: 0 calc(3vw + 1.5em);
	text-align: center;
}

#fwCms_wrapper .dm-specialArea_btn:is(.economical, .guest) a[class^='btn-base'].btn-color-2 span {
	text-decoration: none;
}

#fwCms_wrapper .dm-specialArea_btn.economical a[class^='btn-base'].btn-color-2 span:first-of-type:before {
	content: "";
	position: absolute;
	top: -4vw;
	left: -5.33vw;
	width: 18.93vw;
	height: 11.36vw;
	background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/svg/i_btn_t01.svg) no-repeat left top;
	background-size: 100% auto;
}

#fwCms_wrapper .dm-specialArea_btn.guest a[class^='btn-base'].btn-color-2 span:first-of-type:before {
	content: "";
	position: absolute;
	top: -4vw;
	left: -7.2vw;
	width: 28.2vw;
	height: 11.2vw;
	background: url(../../../../../../../excludes/DMO/mo/osechi/260917/dm-special/svg/i_btn_t02.svg) no-repeat left top;
	background-size: 100% auto;
}

/* soldout */
#fwCms_wrapper .dm-specialArea_btn.soldout {
	position: relative;
}

#fwCms_wrapper .dm-specialArea_btn.soldout::before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 15;
}

#fwCms_wrapper .dm-specialArea_btn.soldout::after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(242, 239, 230, .8);
	top: 0;
	left: 0;
	z-index: 5;
}

#fwCms_wrapper .dm-specialArea_btn.soldout a {
	pointer-events: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

#fwCms_wrapper .dm-specialArea_btn.soldout a::before {
	content: "完売御礼";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: block;
	width: 37.1%;
	padding: 1.5vw 2.6vw;
	outline: 1px solid #fff;
	outline-offset: -3px;
	background: #c4001e;
	color: #fff;
	font-size: 3.73vw;
	font-weight: bold;
	text-align: center;
	box-sizing: border-box;
	z-index: 10;
}

#fwCms_wrapper .dm-specialArea_btn:is(.economical, .guest).soldout a[class^='btn-base'].btn-color-2 span:first-of-type:before {
	display: none;
}

/* closed */
#fwCms_wrapper .dm-specialArea_btn.closed {
	position: relative;
}

#fwCms_wrapper .dm-specialArea_btn.closed::before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 15;
}

#fwCms_wrapper .dm-specialArea_btn.closed::after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(242, 239, 230, .8);
	top: 0;
	left: 0;
	z-index: 5;
}

#fwCms_wrapper .dm-specialArea_btn.closed a {
	pointer-events: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

#fwCms_wrapper .dm-specialArea_btn.closed a::before {
	content: "終了しました";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: block;
	color: #c4001e;
	font-size: 3.73vw;
	text-align: center;
	box-sizing: border-box;
	z-index: 10;
}

#fwCms_wrapper .dm-specialArea_btn:is(.economical, .guest).closed a[class^='btn-base'].btn-color-2 span:first-of-type:before {
	display: none;
}

@media screen and (min-width: 768px) {
	#fwCms_wrapper .dm-specialArea_btn {
		width: 360px;
		margin-top: 25px;
	}

	#fwCms_wrapper .dm-specialArea_btn:is(.economical, .guest) a[class^='btn-base'].btn-color-2 {
		padding: 0 calc(15px + 1.5em);
	}

	#fwCms_wrapper .dm-specialArea_btn.economical a[class^='btn-base'].btn-color-2 span:first-of-type:before {
		top: -20px;
		left: -20px;
		width: 80px;
		height: 48px;
	}

	#fwCms_wrapper .dm-specialArea_btn.guest a[class^='btn-base'].btn-color-2 span:first-of-type:before {
		top: -20px;
		left: -40px;
		width: 120px;
		height: 48px;
	}
	/* soldout */
	#fwCms_wrapper .dm-specialArea_btn.soldout a::before {
		width: 144px;
		padding: 6px 10px;
		font-size: 1.8rem;
	}

	/* closed */
	#fwCms_wrapper .dm-specialArea_btn.closed a::before {
		font-size: 1.6rem;
	}
}

/*----------------------------------------
	dm-specialArea_picture
-----------------------------------------*/

#fwCms_wrapper .dm-specialArea_picture {
	width: 82.7vw;
	margin: auto;
	padding-bottom: 13.3vw;
}

#fwCms_wrapper .dm-specialArea_picture#westmeizin {
	padding-top: 13.33vw;
}

@media screen and (min-width: 768px) {
	#fwCms_wrapper .dm-specialArea_picture {
		width: min(75.6%, 620px);
		padding-bottom: 40px;
	}

	#fwCms_wrapper .dm-specialArea_picture#westmeizin {
		padding-top: 40px;
	}
}

/*----------------------------------------
	fmt_video
-----------------------------------------*/

#fwCms_wrapper .fmt_video {
	padding: 0 13.33vw;
	background-color: #eae5d8;
}

@media screen and (min-width: 768px) {
	#fwCms_wrapper .fmt_video {
		padding: 0;
	}
}