@charset "UTF-8";
/* BASE */
:root{
  --sans: "Noto Sans JP", sans-serif;
  --serif: 'Noto Serif JP',"YuMincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
	--roboto: "Roboto", sans-serif;
  --color-red: #CC0000;
	--color-gold: #775609;
}
.page-event .pane-contents .container {
  display: block;
  width: 100%;
}
.page-event .pane-contents .container .pane-left-menu {
  display: none;
}
.page-event .pane-contents .container .pane-main {
  margin-bottom: 0;
  width: 100%;
}
.block-event-page--goods {
  margin: 0;
}

#header {
	margin: 0;
	background-position: center top;
	background-repeat: repeat;
	background-size: 100% auto;
}
#special {
	font-family: var(--sans);
	font-weight: 500;
}
#special h1,
#special h2,
#special h3,
#special h4 {
  padding: 0;
  margin: 0;
  font-weight: inherit;
}
#special a {
  color: inherit;
  transition: all .3s;
}
#special a:hover {
  opacity: 0.7;
}
#special a:hover img {
  opacity: 1;
}
#special em {
	font-style: normal;
}
#special img {
  max-width: 100%;
  vertical-align: bottom;
}
#special .inner {
  max-width: 1230px;
  margin: 0 auto;
  padding: 0 15px;
}
#special .inner > *:last-child {
	margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
  #special .sp-only {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  #special .pc-only {
    display: none !important;
  }
	#special .inner {
		padding-inline: min(15px, calc(15 / 430 * 100vw));;
	}
}

/*-----------------------------------------
  common
-----------------------------------------*/

#special .lh-lg {
	line-height: 2;
}
#special .lh-md {
	line-height: 1.5;
}

#special .mod-txt {
	display: grid;
	grid-template-columns: 1fr;
}
#special .mod-txt-left {
	text-align: left;
}
#special .mod-txt-center {
	text-align: center;
}
#special .mod-txt-right {
	text-align: right;
}
#special .mod-txt[data-gap="small"] {
	gap: 16px;
}
#special .mod-txt[data-gap="medium"] {
	gap: 24px;
}
#special .mod-txt[data-gap="large"] {
	gap: 40px;
}
#special .mod-txt[data-margin-bottom="small"] {
	margin-bottom: 20px;
}
#special .mod-txt[data-margin-bottom="medium"] {
	margin-bottom: 40px;
}
#special .mod-txt[data-margin-bottom="large"] {
	margin-bottom: 60px;
}
#special .mod-txt-40 {
	font-size: 40px;
}
#special .mod-txt-30 {
	font-size: 30px;
}
#special .mod-txt-28 {
	font-size: 28px;
}
#special .mod-txt-24 {
	font-size: 24px;
}
#special .mod-txt-20 {
	font-size: 20px;
}
#special .mod-txt-16 {
	font-size: 16px;
}
#special .mod-txt-12 {
	font-size: 12px;
}
#special .mod-txt-bold {
	font-weight: bold;
}
#special .mod-txt-red {
	color: var(--color-red);
}
#special .mod-txt-gold {
	color: var(--color-gold);
}
#special .mod-txt-dot-red {
  position: relative;
}
#special .mod-txt-dot-red::before {
	content: "";
  position: absolute;
  top: -3px;
  left: 0;
  width: 100%;
  height: 10px;
  background-image: radial-gradient(circle, var(--color-red) 3px, transparent 3px);
  background-size: 1em 10px;
  background-repeat: repeat-x;
}
#special .mod-txt-uline {
	text-decoration: underline;
	text-decoration-color: #707070;
	text-underline-offset: 0.4em;
}
#special .mod-txt-uline-red {
	text-decoration: underline;
	text-decoration-color: var(--color-red);
	text-underline-offset: 0.4em;
}

#special .box {
	padding-bottom: 6px;
	margin-bottom: 60px;
}
#special .box-head {
}
#special .box-head-ttl {
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	margin-bottom: 20px;
}
#special .box-head-ttl:has(.box-head-ttl-xl) {
	margin-bottom: 0;
}
#special .box-head-ttl em {
	color: var(--color-red);
	font-family: var(--roboto);
	font-weight: inherit;
}
#special .box-head-ttl-md {
	font-size: 50px;
}
#special .box-head-ttl-lg {
	font-size: 60px;
}
#special .box-head-ttl-xl {
	font-size: 120px;
}
#special .box-body {
	background-color: #FFFFFF;
	border: 5px solid var(--color-red);
	filter: drop-shadow(6px 6px 0px #6b0000);
	padding: 55px;
	position: relative;
	overflow: hidden;
}
#special .box-body > *:last-child {
	margin-bottom: 0;
}
#special .box-body-ttl {
	background-image: url('/img/usr/event/new_year/2026/ttl_deco_left.png'), url('/img/usr/event/new_year/2026/ttl_deco_right.png');
	background-position: left center, right center;
	background-repeat: no-repeat, no-repeat;
	background-size: 162px, 161px;
	font-size: 34px;
	font-weight: bold;
	text-align: center;
	padding-block: 16px;
	padding-inline: 180px;
	margin-inline: auto;
	margin-bottom: 28px;
	max-width: 100%;
	width: fit-content;
}
#special .box-img {
	text-align: center;
	margin-bottom: 30px;
}
#special .btn-wrap {
	display: flex;
	align-items: center;
	flex-direction: column;
	row-gap: 20px;
	margin-bottom: 60px;
}
#special .btn-wrap > *:last-child {
	margin-bottom: 0;
}
#special .btn-wrap .btn1 {
	background-color: var(--color-red);
	border-radius: 9999px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	padding: 8px;
	width: 340px;
}
#special .btn-wrap .btn2 {
	background-color: var(--color-red);
	border-radius: 9999px;
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	padding: 17px;
	width: 520px;
}
#special .btn-wrap .btn3 {
	background-color: var(--color-red);
	border-radius: 10px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	padding: 13px;
	width: 340px;
}
#special .btn-wrap .btn4 {
	background-color: #fff;
	border: 1px solid currentColor;
	border-radius: 9999px;
	color: var(--color-red);
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	padding: 7px;
	width: 340px;
}
@media only screen and (max-width: 767px) {
	#special .mod-txt[data-gap="small"] {
		gap: min(12px, calc(12 / 430 * 100vw));;
	}
	#special .mod-txt[data-gap="medium"] {
		gap: min(16px, calc(16 / 430 * 100vw));;
	}
	#special .mod-txt[data-gap="large"] {
		gap: min(24px, calc(24 / 430 * 100vw));;
	}
	#special .mod-txt[data-margin-bottom="small"] {
		margin-bottom: min(16px, calc(16 / 430 * 100vw));;
	}
	#special .mod-txt[data-margin-bottom="medium"] {
		margin-bottom: min(24px, calc(24 / 430 * 100vw));;
	}
	#special .mod-txt[data-margin-bottom="large"] {
		margin-bottom: min(30px, calc(30 / 430 * 100vw));;
	}
	#special .mod-txt-40 {
		font-size: min(26px, calc(26 / 430 * 100vw));;
	}
	#special .mod-txt-30 {
		font-size: min(20px, calc(20 / 430 * 100vw));;
	}
	#special .mod-txt-28 {
		font-size: min(20px, calc(20 / 430 * 100vw));;
	}
	#special .mod-txt-24 {
		font-size: min(16px, calc(16 / 430 * 100vw));;
	}
	#special .mod-txt-20 {
		font-size: min(14px, calc(14 / 430 * 100vw));;
	}
	#special .mod-txt-16 {
		font-size: min(10px, calc(10 / 430 * 100vw));;
	}
	#special .mod-txt-12 {
		font-size: min(10px, calc(10 / 430 * 100vw));;
	}
	#special .mod-txt-dot-red::before {
		background-image: radial-gradient(circle, var(--color-red) 2px, transparent 2px);
	}

	#special .box {
		padding-bottom: 3px;
		margin-bottom: 40px;
	}
	#special .box-head-ttl {
		margin-bottom: 20px;
	}
	#special .box-head-ttl-md {
		font-size: min(30px, calc(30 / 430 * 100vw));
	}
	#special .box-head-ttl-lg {
		font-size: min(28px, calc(28 / 430 * 100vw));
	}
	#special .box-head-ttl-xl {
		font-size: min(60px, calc(60 / 430 * 100vw));
	}
	#special .box-body {
		border-width: 3px;
		filter: drop-shadow(3px 3px 0px #6b0000);
		padding: min(30px, calc(30 / 430 * 100vw)) min(20px, calc(20 / 430 * 100vw));
	}
	#special .box-body > *:last-child {
		margin-bottom: 0;
	}
	#special .box-body-ttl {
		background: none;
		font-size: min(22px, calc(22 / 430 * 100vw));
		padding-block: 16px;
		padding-inline: 0;
		margin-bottom: 20px;
		position: relative;
	}
	#special .box-body-ttl::before {
		content: '';
		background-image: url('/img/usr/event/new_year/2026/ttl_deco_left_sp.png');
		background-size: 100%;
		height: min(27px, calc(27 / 430 * 100vw));
		width: min(47px, calc(47 / 430 * 100vw));
		position: absolute;
		top: 50%;
		left: 0;
		translate: -100% -50%;
	}
	#special .box-body-ttl::after {
		content: '';
		background-image: url('/img/usr/event/new_year/2026/ttl_deco_right_sp.png');
		background-size: 100%;
		height: min(27px, calc(27 / 430 * 100vw));
		width: min(44px, calc(44 / 430 * 100vw));
		position: absolute;
		top: 50%;
		right: 0;
		translate: 100% -50%;
	}
	#special .box-img {
		margin-bottom: 20px;
	}
	#special .btn-wrap {
		margin-bottom: 20px;
	}
	#special .btn-wrap > *:last-child {
		margin-bottom: 0;
	}
	#special .btn-wrap .btn1 {
		font-size: min(16px, calc(16 / 430 * 100vw));
		padding: min(8px, calc(8 / 430 * 100vw));
		width: calc(274 / 430 * 100vw);
	}
	#special .btn-wrap .btn2 {
		font-size: min(18px, calc(18 / 430 * 100vw));
		padding: min(12px, calc(12 / 430 * 100vw));
		width: 100%;
		max-width: 354px;
	}
	#special .btn-wrap .btn3 {
		font-size: min(16px, calc(16 / 430 * 100vw));
		padding: min(13px, calc(13 / 430 * 100vw));
		width: calc(274 / 430 * 100vw);
	}
	#special .btn-wrap .btn4 {
		font-size: min(16px, calc(16 / 430 * 100vw));
		padding: min(7px, calc(7 / 430 * 100vw));
		width: calc(274 / 430 * 100vw);
	}
}

/*-----------------------------------------
  mv
-----------------------------------------*/
#special .mv {
	position: relative;
}
#special .mv-img {
	width: 100%;
}
#special .mv-appeal {
	opacity: 0;
	animation: scale-up .8s ease-out 1s forwards, float-bubble 11s infinite 3s ease-in-out;
	position: absolute;
}
#special .mv-appeal.-appeal1 {
	top: calc(114 / 1920 * 100vw);
	left: calc(386 / 1920 * 100vw);
	width: calc(260 / 1920 * 100vw);
}
#special .mv-appeal.-appeal2 {
	top: calc(167 / 1920 * 100vw);
	right: calc(477 / 1920 * 100vw);
	width: calc(214 / 1920 * 100vw);
}

@keyframes scale-up {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes float-bubble {
  0% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
  25% {
    transform: translateY(-10px) scale(1.05) rotate(3deg);
  }
  50% {
    transform: translateY(5px) scale(1) rotate(-2deg);
  }
  75% {
    transform: translateY(-5px) scale(1.03) rotate(1deg);
  }
  100% {
    transform: translateY(0) scale(1) rotate(0deg);
  }
}
@media only screen and (max-width: 767px) {
	#special .mv-appeal.-appeal1 {
		top: auto;
		bottom: calc(75 / 430 * 100vw);
		left: calc(-1 * calc(8 / 430 * 100vw));
		width: calc(164 / 430 * 100vw);
	}
	#special .mv-appeal.-appeal2 {
		top: auto;
		right: calc(20 / 430 * 100vw);
		width: calc(137 / 430 * 100vw);
		bottom: calc(96 / 430 * 100vw);
	}
}

/*-----------------------------------------
  main背景
-----------------------------------------*/
#special .special-main {
	background-color: #F0D9A4;
	background-image: url('/img/usr/event/new_year/2026/main_bg.png');
	background-size: 100%;
}
@media only screen and (max-width: 767px) {
	#special .special-main {
		background-image: url('/img/usr/event/new_year/2026/main_bg_sp.png');
	}
}

/*-----------------------------------------
  .sec-top
-----------------------------------------*/
#special .sec-top {
	padding-block: 40px 70px;
}
#special .mv-date {
	background-color: #FFFFFF;
	border-radius: 6px;
	letter-spacing: .05em;
}
#special .mv-date dl {
	display: flex;
}
#special .mv-date dl dt,
#special .mv-date dl dd {
	color: #000000;
	font-weight: bold;
}

#special .page-nav {
	background-color: #F0D9A4;
	border: 4px solid #111111;
	margin-top: 140px;
	position: relative;
}
#special .page-nav + .page-nav {
	margin-top: 120px;
}
#special .page-nav-head {
	display: flex;
	justify-content: center;
	position: absolute;
	top: -63px;
	right: 0;
	left: 0;
}
#special .page-nav-ttl {
	background-color: #F0D9A4;
	display: flex;
	align-items: center;
	column-gap: 26px;
	font-size: 32px;
	font-weight: bold;
	padding-inline: 30px;
}
#special .page-nav-ttl img {
	width: 200px;
}
#special .page-nav-body {
	padding-inline: 100px;
	padding-block: 100px 40px;
}
#special .page-nav-panels {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	row-gap: 32px;
}
#special .page-nav-panels > * {
	width: 50%;
}
@media only screen and (min-width: 768px) {
	#special .mv-date {
		padding: 17px 16px 16px;
		margin: 60px auto 10px;
		width: 100%;
		max-width: 1074px;
	}
	#special .mv-date dl {
		justify-content: center;
	}
	#special .mv-date dl dt,
	#special .mv-date dl dd {
		font-size: 22px;
	}
	#special .mv-date dl dt {
		/*width: calc(48 / 430 * 100vw);*/
	}
}
@media only screen and (max-width: 767px) {
	#special .sec-top {
		background-color: #F0D9A4;
		padding-block: 25px 30px;
	}
	#special .mv-date {
		padding: calc(10 / 430 * 100vw) calc(16 / 430 * 100vw);
	}
	#special .mv-date dl {
		justify-content: center;
	}
	#special .mv-date dl dt,
	#special .mv-date dl dd {
		font-size: min(16px, calc(16 / 430 * 100vw));
	}
	#special .mv-date dl dt {
		flex-shrink: 0;
	}
	#special .page-nav {
		border-width: 3px;
		margin-top: 80px;
	}
	#special .page-nav + .page-nav {
		margin-top: 70px;
	}
	#special .page-nav-head {
		top: 0;
		translate: 0 -50%;
	}
	#special .page-nav-ttl {
		column-gap: min(8px, calc(8 / 430 * 100vw));
		font-size: min(25px, calc(25 / 430 * 100vw));
		line-height: calc(30 / 25);
		padding-inline: min(2px, calc(2 / 430 * 100vw));
	}
	#special .page-nav-ttl img {
		width: min(128px, calc(128 / 430 * 100vw));
	}
	#special .page-nav-body {
		padding-inline: min(10px, calc(10 / 430 * 100vw));
		padding-block: min(60px, calc(60 / 430 * 100vw)) min(30px, calc(30 / 430 * 100vw));
	}
	#special .page-nav-panels {
		row-gap: min(16px, calc(16 / 430 * 100vw));
	}
	#special .page-nav-panels > * {
		width: 100%;
	}
}

/*-----------------------------------------
  .sec-mile
-----------------------------------------*/
#special .sec-mile {
	padding-block: 50px 70px;
}
#special .ttl-gold {
	color: #976F11;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
}
#special .shop-list {
  display: grid;
  gap: 26px 32px;
	padding-top: 50px;
	margin-bottom: 50px;
}
#special .shop-list[data-list-layout="wrap"] {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
#special .shop-list[data-list-layout="nowrap"] {
	grid-template-columns: repeat(31, minmax(246px, 1fr));
}
#special .shop-list>li>a {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
#special .shop-list>li>a>figure {
  /*border: 1px solid #d5d5d5;*/
}
#special .shop-list>li>a>figure img {
  border: 1px solid #d5d5d5;
  border-top: 0px solid #d5d5d5;
}
#special .shop-notice {
  padding-top: 20px;
  width: 100%;
  text-align: left;
  margin: auto auto 0;
}
#special .shop-icon {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -18px;
  right: -21px;
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, #CC0910 0%, #CC0910 50%, #AC0F14 50%, #AC0F14 100%);
  border-radius: 50%;
  padding: 0 0 7px;
  z-index: 5 !important;
}
#special .shop-icon>span {
  font-size: 22px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
}
#special .shop-icon>span:nth-of-type(2) {
  font-size: 16px;
  position: relative;
  top: 2px;
}
#special .shop-img {
  display: block;
}
#special .shop-img img {
  display: block;
}
#special .shop-name {
  width: 100%;
  margin-top: 3px;
  text-align: left;
  font-size: 12px;
}
@media only screen and (max-width: 767px) {
	#special .sec-mile {
		padding-block: 30px;
	}
	#special .ttl-gold {
		font-size: min(20px, calc(20 / 430 * 100vw));
		margin-bottom: 20px;
	}
	#special .shop-list {
		gap: 26px 32px;
		padding-top: 50px;
		margin-bottom: 50px;
	}
	#special .shop-list[data-list-layout="wrap"] {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	#special .shop-list[data-list-layout="nowrap"] {
		grid-template-columns: repeat(20, minmax(calc(161 / 430 * 100vw), 1fr));
	}
	#special .shop-icon {
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		top: -15px;
		right: -10px;
		width: 40px;
		height: 40px;
		padding: 3px;
		z-index: 5 !important;
	}
	#special .shop-icon>span {
		font-size: 18px;
	}
	#special .shop-icon>span:nth-of-type(2) {
		font-size: 12px;
		letter-spacing: 0;
	}
}

/*-----------------------------------------
  .sec-sale
-----------------------------------------*/
#special .sec-sale {
	padding-block: 50px 70px;
}
#special .ttl-bd {
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	padding-bottom: 9px;
	position: relative;
	margin-bottom: 30px;
}
#special .ttl-bd::after {
	content: '';
	background-color: #C63F2B;
	height: 4px;
	width: 50px;
	position: absolute;
	top: 100%;
	left: 50%;
	translate: -50%;
}
#special .nav-kakaku {
	margin-bottom: 60px;
}
#special .nav-kakaku-list {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 20px;
}
#special .nav-kakaku-list li a {
	color: #fff;
	background-color: var(--color-red);
	border-radius: 6px;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	display: block;
	padding: 10px;
}
#special .nav-category {
	margin-bottom: 60px;
}
#special .nav-category-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}
#special .nav-category-list li a {
	color: #fff;
	background-color: var(--color-red);
	border-radius: 5px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	display: block;
	padding: 18px 10px;
}
@media only screen and (max-width: 767px) {
	#special .sec-sale {
		padding-block: 30px;
	}
	#special .ttl-bd {
		font-size: min(22px, calc(22 / 430 * 100vw));
		padding-bottom: min(14px, calc(14 / 430 * 100vw));
	}
	#special .ttl-bd::after {
		height: 5px;
		width: 46px;
	}
	#special .nav-kakaku {
		margin-bottom: 40px;
	}
	#special .nav-kakaku-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
	#special .nav-kakaku-list li a {
		font-size: min(16px, calc(16 / 430 * 100vw));
		padding: min(9px, calc(9 / 430 * 100vw));
	}
	#special .nav-category {
		margin-bottom: 40px;
	}
	#special .nav-category-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
	#special .nav-category-list li a {
		font-size: min(14px, calc(14 / 430 * 100vw));
		padding: min(19px, calc(19 / 430 * 100vw)) min(4px, calc(4 / 430 * 100vw));
	}
}

/*-----------------------------------------
  .sec-lounge
-----------------------------------------*/
#special .sec-lounge {
	padding-block: 50px 70px;
}
#mall_intro_lounge { min-width: 1160px; padding: 45px 120px; margin: 40px 0; background: url("/img/usr/common/v02/contents_lounge_bg.jpg") center bottom / cover no-repeat;}
#mall_intro_lounge .inner-frame { max-width: 2000px; padding: 20px 0; margin: 0 auto; background: #fff; display: flex; justify-content: space-between; align-items: center; box-shadow: 0px 2px 2px -2px rgba(0, 0, 0, 0.3);}
#mall_intro_lounge .inner-frame img { height: auto; vertical-align: top;}
#mall_intro_lounge .inner-frame .desc { width: 40%; text-align: center;}
#mall_intro_lounge .inner-frame .logo-image  { width: 285px; height: 50px; /*padding: 8px 0 0 0;*/ margin: 0 auto 20px; background: #000; text-align: center;}
#mall_intro_lounge .inner-frame .logo-image .img-logo { height: 22px; margin: 0 0 3px 0;}
#mall_intro_lounge .inner-frame .logo-image img   { vertical-align: top;}
#mall_intro_lounge .inner-frame .logo-image video { vertical-align: top;}
#mall_intro_lounge .inner-frame .jalmall-lounge-logo { position: relative;}
#mall_intro_lounge .inner-frame .jalmall-lounge-logo .lounge-label { content: ""; width: clamp(40px, 58 / 1200 * 100vw, 94px); position: absolute; left: 100%; top: clamp(10px, 10 / 1200 * 100vw, 30px); translate: clamp(12px, 12 / 1200 * 100vw, 26px);}
#mall_intro_lounge .inner-frame .logo-text   { margin: 0 auto 20px; font-size: 33px; font-family: "Mulish", sans-serif; font-optical-sizing: auto; font-weight: 900; font-style: normal; text-align: center;}
#mall_intro_lounge .inner-frame .message     { margin: 0 auto 30px; font-size: 14px; line-height: 1.8;}
#mall_intro_lounge .inner-frame .more-button { margin: 0 auto;}
#mall_intro_lounge .inner-frame .more-button a { color: #CC0000; background: #fff; border: 1px solid #CC0000;}
#mall_intro_lounge .inner-frame .more-button a:hover { color: #976F11; border-color: #976F11;}
#mall_intro_lounge .inner-frame .mall_intro_lounge_slider { width: 60%; margin: 0; text-align: right;}
#mall_intro_lounge .inner-frame .mall_intro_lounge_slider .swiper-button-next { right: 7%; width: 44px; height: 44px; background: #333; border-radius: 50%;}
#mall_intro_lounge .inner-frame .mall_intro_lounge_slider .swiper-button-next::after { content: ""; width: 7px; height: 15px; background: url("/img/usr/common/v02/visual_arrow.png") no-repeat left center / contain; display: block; position: absolute; left: 54%; top: 50%; transform: translate(-50%,-50%);}
@media only screen and (max-width: 1400px) { #mall_intro_lounge { padding: 45px 40px;}}
@media only screen and (max-width: 1300px) { #mall_intro_lounge { padding: 45px 30px;}}
@media only screen and (max-width: 1200px) { #mall_intro_lounge { padding: 40px 20px;}
	#mall_intro_lounge .inner-frame             { padding: 24px 0 0; flex-direction: column-reverse;}
	#mall_intro_lounge .inner-frame .desc       { width: 100%; padding: 23px 30px;}
	#mall_intro_lounge .inner-frame .message    { text-align: left;}
	#mall_intro_lounge .inner-frame .message br { display: none;}
	#mall_intro_lounge .inner-frame figure img  { width: 100%;}
  #mall_intro_lounge .inner-frame .mall_intro_lounge_slider { width: 100%; padding: 0 0 0 16px;}
  #mall_intro_lounge .inner-frame .mall_intro_lounge_slider .swiper-button-next { display: none;}
}
@media only screen and (max-width: 1000px) {
	#special .sec-lounge {
		padding-block: 30px;
	}
	#mall_intro_lounge { min-width: auto; padding: 30px min(20px, calc(20 / 430 * 100vw)); margin: 0 0 24px 0; background: url("/img/usr/common/v02/contents_lounge_bg_sp.jpg") center bottom / cover no-repeat;}
	#mall_intro_lounge .inner-frame {padding: 20px; overflow: hidden;}
	#mall_intro_lounge .inner-frame .logo-image  { width: min(240px, calc(240 / 430 * 100vw)); height: 42px;}
	#mall_intro_lounge .inner-frame .jalmall-lounge-logo .lounge-label { width: min(58px, calc(58 / 430 * 100vw)); top: min(50px, calc(50 / 430 * 100vw)); translate: min(4px, calc(4 / 430 * 100vw));}
	#mall_intro_lounge .inner-frame .logo-text   { margin: 0 auto 16px; font-size: min(26px, calc(26 / 430 * 100vw));}
	#mall_intro_lounge .inner-frame .message     { margin: 0 auto 20px; font-size: min(14px, calc(14 / 430 * 100vw)); line-height: 1.43;}
}

/*-----------------------------------------
  .sec-wine
-----------------------------------------*/
#special .sec-wine {
	padding-block: 50px 70px;
}
#special .bonus {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 16px;
	margin-bottom: 60px;
}
#special .bonus > *:last-child {
	margin-bottom: 0;
}
#special .bonus-items {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
}
#special .bonus-items > * {
	width: calc((100% - 20px) / 2);
}
#special .bonus-item {
	border: 2px solid var(--color-red);
	padding: 19px;
	position: relative;
}
#special .bonus-item-num {
	background-color: var(--color-red);
	border-radius: 50%;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 30px;
	font-weight: bold;
	line-height: 1;
	height: 50px;
	width: 50px;
	position: absolute;
	top: -27px;
	left: 8px;
}
#special .bonus-item-ttl {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 0px;
	text-align: center;
}
#special .bonus-item-ttl-main {
	color: var(--color-red);
	font-size: 28px;
	font-weight: bold;
}
#special .bonus-item-ttl-sub {
	font-size: 20px;
	font-weight: bold;
}
@media only screen and (max-width: 767px) {
	#special .sec-wine {
		padding-block: 30px;
	}
	#special .bonus {
		row-gap: 10px;
		margin-bottom: 40px;
	}
	#special .bonus > *:last-child {
		margin-bottom: 0;
	}
	#special .bonus-items {
		gap: 30px;
	}
	#special .bonus-items > * {
		width: 100%;
	}
	#special .bonus-item {
		padding: 6px;
	}
	#special .bonus-item-num {
		font-size: min(28px, calc(28 / 430 * 100vw));
		height: min(35px, calc(35 / 430 * 100vw));
		width: min(35px, calc(35 / 430 * 100vw));
		top: calc(-1 * min(18 / 430 * 100vw));
	}
	#special .bonus-item-ttl {
		row-gap: 0px;
	}
	#special .bonus-item-ttl-main {
		font-size: min(24px, calc(24 / 430 * 100vw));
	}
	#special .bonus-item-ttl-sub {
		font-size: min(14px, calc(14 / 430 * 100vw));
	}
}

/*-----------------------------------------
  .sec-program
-----------------------------------------*/
#special .sec-program {
	padding-block: 50px 70px;
}
#special .program {
}
#special .program-ttl {
	color: #9F804E;
	font-family: var(--serif);
	font-size: 40px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 22px;
}
#special .program-details {
	padding-bottom: 30px;
	position: relative;
	margin-bottom: 60px;
}
#special .program-details::after {
	content: '';
	width: 0;
  height: 0;
  border-left: 64px solid transparent;
  border-right: 64px solid transparent;
  border-top: 30px solid #9F804E;
	position: absolute;
	top: 100%;
	left: 50%;
	translate: -50%;
}
#special .program-detail + .program-detail {
	margin-top: 30px;
}
#special .program-detail > *:last-child {
	margin-bottom: 0;
}
#special .program-table {
	text-align: center;
	margin-bottom: 10px;
}
#special .program-entry > *:last-child {
	margin-bottom: 0;
}
#special .program-entry-ttl {
	color: #9F804E;
	font-family: var(--serif);
	font-size: 40px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
	#special .sec-program {
		padding-block: 30px;
	}
	#special .program-ttl {
		font-size: min(22px, calc(22 / 430 * 100vw));
		margin-bottom: 10px;
	}
	#special .program-details {
		padding-bottom: 10px;
		margin-bottom: 24px;
	}
	#special .program-details::after {
		border-left: 30px solid transparent;
		border-right: 30px solid transparent;
		border-top: 14px solid #9F804E;
	}
	#special .program-detail + .program-detail {
		margin-top: 30px;
	}
	#special .program-detail > *:last-child {
		margin-bottom: 0;
	}
	#special .program-table {
		overflow-x: auto;
		padding-inline: min(20px, calc(20 / 430 * 100vw));
		margin-inline: calc(-1 * min(20px, calc(20 / 430 * 100vw)));
		margin-bottom: 10px;
	}
	#special .program-table img {
		width: calc(437 / 430 * 100vw);
		max-width: none;
	}
	#special .program-entry > *:last-child {
		margin-bottom: 0;
	}
	#special .program-entry-ttl {
		font-size: min(22px, calc(22 / 430 * 100vw));
		margin-bottom: 10px;
	}
}

/*-----------------------------------------
  .sec-note
-----------------------------------------*/
#special .sec-note {
	padding-block: 50px 70px;
}
#special .sec-note-ttl {
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 30px;
}
#special .note-box {
	background-color: #C1962C;
	padding-inline: 25px;
	padding-block: 22px 25px;
	margin-bottom: 60px;
}
#special .note-box-ttl {
	color: #000;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	padding-bottom: 22px;
}
#special .note-box-inner {
	background-color: #fff;
	padding: 35px;
}
#special .note-dl {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 28px;
}
#special .note-dl-group {
	display: grid;
	grid-template-columns: 1fr;
	row-gap: 0;
}
#special .note-dl dt {
	font-size: 24px;
	font-weight: bold;
}
#special .note-dl dd {
	font-size: 18px;
	line-height: calc(26 / 18);
}
#special .login-box {
	background-color: #fff;
	border: 3px solid var(--color-red);
	padding: 54px;
	margin-inline: auto;
	max-width: 1040px;
	width: 100%;
	margin-bottom: 140px;
}
#special .login-box > *:last-child {
	margin-bottom: 0;
}
#special .login-box-ttl {
	font-size: 30px;
	font-weight: bold;
	line-height: calc(48 / 30);
	text-align: center;
	margin-bottom: 25px;
}
@media only screen and (max-width: 767px) {
	#special .sec-note {
		padding-block: 30px;
	}
	#special .sec-note-ttl {
		font-size: min(30px, calc(30 / 430 * 100vw));
		margin-bottom: 10px;
	}
	#special .note-box {
		padding-inline: min(15px, calc(15 / 430 * 100vw));
		padding-block: 12px 25px;
	}
	#special .note-box-ttl {
		font-size: min(18px, calc(18 / 430 * 100vw));
		padding-bottom: 12px;
	}
	#special .note-box-inner {
		padding: min(15px, calc(15 / 430 * 100vw));
	}
	#special .note-dl {
		row-gap: 28px;
	}
	#special .note-dl-group {
		row-gap: 0;
	}
	#special .note-dl dt {
		font-size: min(13px, calc(13 / 430 * 100vw));
	}
	#special .note-dl dd {
		font-size: min(10px, calc(10 / 430 * 100vw));
		line-height: calc(15 / 10);
	}
	#special .login-box {
		padding: min(30px, calc(30 / 430 * 100vw)) min(20px, calc(20 / 430 * 100vw));
		margin-bottom: 60px;
	}
	#special .login-box > *:last-child {
		margin-bottom: 0;
	}
	#special .login-box-ttl {
		font-size: min(22px, calc(22 / 430 * 100vw));
		line-height: calc(28 / 22);
		margin-bottom: 25px;
	}
}

/*===========
scrollbar
===========*/
.simplebar-track.simplebar-horizontal {
	background-color: #DCDCDC;
	border-radius: 9999px;
	height: 8px;
}
.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
	top: 0;
	height: 100%;
}
.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before {
	background-color: var(--color-red);
	left: 0;
	right: 0;
	opacity: 1;
}

/*-----------------------------------------
  タブ
-----------------------------------------*/
#special .js-tab {
	margin-bottom: 60px;
}
#special .rounded-nav {
	box-shadow: 0 0 0 1px var(--color-red);
	border-radius: 9999px;
	display: flex;
	justify-content: center;
	overflow: hidden;
	margin-inline: auto;
	max-width: 100%;
	width: fit-content;
	margin-bottom: 16px;
}
#special .rounded-nav li {
	background-color: #F3F4F5;
}
#special .rounded-nav .tab-nav-btn {
	all: unset;
  outline: revert;
	border-radius: 9999px;
	box-sizing: border-box;
	color: var(--color-red);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: bold;
	line-height: calc(26 / 20);
	height: 100%;
	min-height: 58px;
	text-align: center;
	padding-inline: 40px;
	padding-block: 3px;
}
#special .rounded-nav .tab-nav-btn.is-active {
	background-image: linear-gradient(90deg, #fc6d00 0%, #b60801 100%);
	color: #fff;
}
#special .txt-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	row-gap: 10px;
	margin-bottom: 30px;
}
#special .txt-nav .tab-nav-btn {
	all: unset;
  outline: revert;
	box-sizing: border-box;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	padding-inline: 13px;
	padding-block: 10px;
	position: relative;
}
#special .txt-nav .tab-nav-btn::before {
	content: '';
	background-color: #DCDCDC;
	height: 50%;
	width: 1px;
	position: absolute;
	top: 50%;
	left: 0;
	translate: 0 -50%;
}
#special .txt-nav li:last-child .tab-nav-btn::after {
	content: '';
	background-color: #DCDCDC;
	height: 50%;
	width: 1px;
	position: absolute;
	top: 50%;
	right: 0;
	translate: 0 -50%;
}
#special .txt-nav .tab-nav-btn.is-active {
	color: var(--color-red);
	border-bottom: 2px solid var(--color-red);
}
#special .tab-content {
	display: none;
}
#special .tab-content > *:last-child {
	margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
	#special .js-tab {
		margin-bottom: 60px;
	}
	#special .rounded-nav {
		width: 100%;
		margin-bottom: 16px;
	}
	#special .rounded-nav li {
		flex-grow: 1;
	}
	#special .rounded-nav .tab-nav-btn {
		cursor: default;
		font-size: min(14px, calc(14 / 430 * 100vw));
		line-height: calc(16 / 14);
		min-height: min(45px, calc(45 / 430 * 100vw));
		padding-inline: min(8px, calc(8 / 430 * 100vw));
		padding-block: min(3px, calc(3 / 430 * 100vw));
		width: 100%;
		min-width: min(60px, calc(60 / 430 * 100vw));
	}
	#special .txt-nav {
		row-gap: min(10px, calc(10 / 430 * 100vw));
		margin-bottom: 30px;
	}
	#special .txt-nav .tab-nav-btn {
		font-size: min(16px, calc(16 / 430 * 100vw));
		padding-inline: min(13px, calc(13 / 430 * 100vw));
		padding-block: min(10px, calc(10 / 430 * 100vw));
	}
	#special .tab-content > *:last-child {
		margin-bottom: 0;
	}
}

/*-----------------------------------------
  関連商品
-----------------------------------------*/
#special .block-top-event--wrap {
	margin-bottom: 30px;
}
#special .block-top-event--wrap .block-top-event--header {
	display: none;
}
#special .block-top-event--wrap .more-btn {
	display: none;
}
#special .block-top-event--goods {
	margin-bottom: 30px;
}
#special .block-thumbnail-t {
	margin-bottom: 0;
}
#special .block-thumbnail-t li {
	margin: 0;
}
#special [data-event-layout="wrap"] .block-thumbnail-t {
	flex-wrap: wrap;
	gap: 40px;
}
#special [data-event-layout="wrap"] .block-thumbnail-t li {
	width: 240px;
}
#special [data-event-layout="wrap"] .block-thumbnail-t li .block-thumbnail-t--goods-image figure {
	width: 240px;
	height: 240px;
}
#special [data-event-layout="nowrap"] .block-thumbnail-t {
	flex-wrap: nowrap;
	gap: 35px;
	padding-bottom: 30px;
}
#special [data-event-layout="nowrap"] .block-thumbnail-t li {
	width: 188px;
}
#special [data-event-layout="nowrap"] .block-thumbnail-t li .block-thumbnail-t--goods-image figure {
	width: 188px;
	height: 188px;
}
@media only screen and (max-width: 767px) {
	#special [data-event-layout="wrap"] .block-thumbnail-t .block-thumbnail-t--items {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: min(22px, calc(22 / 430 * 100vw));
		padding: 0;
	}
	#special [data-event-layout="wrap"] .block-thumbnail-t li {
		width: auto;
		margin: 0;
	}
	#special [data-event-layout="wrap"] .block-thumbnail-t li .block-thumbnail-t--goods-image figure {
		width: 100%;
		height: 100%;
	}
	#special [data-event-layout="nowrap"] .block-thumbnail-t .block-thumbnail-t--items {
		gap: min(30px, calc(30 / 430 * 100vw));
		flex-wrap: nowrap;
		justify-content: flex-start;
		padding: 0;
	}
	#special [data-event-layout="nowrap"] .block-thumbnail-t li {
		width: min(166px, calc(166 / 430 * 100vw));
		margin: 0;
	}
	#special [data-event-layout="nowrap"] .block-thumbnail-t li .block-thumbnail-t--goods-image figure {
		width: 100%;
		height: 100%;
	}
	#special .block-thumbnail-t--items li .block-icon img {
		width: auto;
		height: 13px;
		vertical-align: top;
	}
}