@charset "utf-8";

:root {
	/* base */
	--cts-gutter: 30px;
	--cts-width: 940px;

	/* font */
	--dp-font-jp: "Noto Sans JP", sans-serif;
	/* Noto Sans JP
	Noto Sans JP Thin 100
	Noto Sans JP Light 300
	Noto Sans JP Regular 400
	Noto Sans JP Medium 500
	Noto Sans JP Bold 600
	*/

	--dp-h1-size: clamp(24px,calc(1.159rem + 1.45vw),36px);
	--dp-h2-size: clamp(20px,calc(1.023rem + .97vw),28px);
	--dp-h3-size: clamp(18px,calc(.955rem + .73vw),24px);
	--dp-h4-size: clamp(16px,calc(.886rem + .48vw),20px);
	--dp-p-l-size: clamp(14px, 0.806rem + 0.3vw, 16px);/* 本文 Large */
	--dp-p-note-size: clamp(10px,calc(.597rem + .12vw),11px);/* 本文 Notes */
	--dp-price-s-size: clamp(16px,calc(.886rem + .48vw),20px);/* 価格 Small */
	--dp-price-tax-s-size: clamp(12px,calc(.693rem + .24vw),14px);/* 円・税 Small */

	--cts-font-size: clamp(12px,calc(.693rem + .24vw),14px);/* DP-Medium */
	--cts-font-ls: .02em;/*letter-spacing*/
	--cts-font-ls-02: .05em;

	/* color */
	--dp-color: #004da1;
	--dp-color-price: #e43344;
	--cts-color: #001E60;
	--cts-color-02: #D9DF00;

}


/* LP共通汎用
____________________*/
#container {
	width: 100%;
	margin: auto;
}
.column2R #main {
	float: none;
	width: auto;
}
.breadCrumb {
	margin: 10px auto 0 !important;
}
.pagetop {
	display: none;
}
#pagetop {
	display: none;
	position: fixed;
	bottom: 30px;
	right: 55px;
}
#pagetop a {
	color: #fff;
	background-color: #333;
	border-radius: 5px;
	display: block;
	font-size: 12px;
	line-height: 1.5em;
	padding: 5px 10px;
	text-align: center;
	text-decoration: none;
}
figure {
	margin: 0;
}
img {
	image-rendering: -webkit-optimize-contrast;
}
#s_container {
	font-family: var(--dp-font-jp);
	width: 100%;
	margin: 0 auto;
}
.contentsWrap {
	width: 100%;
	color: var(--cts-color);
	font-size: var(--cts-font-size);
}
.contentsWrap img {
	max-width: 100%;
}
.clearfix:after, #nav1:after, #nav2:after, #nav3:after, #container:after, #contents:after, #footerNav:after {
	content: none !important;
}

@media (max-width: 479px) {
	#container {
		margin-bottom: 0 !important;
	}
	.leadSection.clearfix {
		display: none;
	}
}
.sp {
	display: none;
}

/*ヘッダー非表示*/
#Header, #Globalnavi, .leadSection {
	display: none !important;
}
/*パンくず非表示*/
.breadCrumb {
	display: none !important;
}
/*フッター非表示*/
.footerTagline, .footerTagline, #footer, #footerLinks, #footerCopy, .pagetop {
	display: none;
}
.p-registered,.l-pagetop.p-pagetop,.l-footer.p-footer {
	display: none!important;
}

/* game.cssSFCC差分*/
#main {
    line-height: 1.6;
}

/* コンテンツ
____________________*/
.contentsWrap {
	position: relative;
	background: #DADBDA;
	/*overflow: hidden;
	line-height: 1.6;
	font-family: var(--dp-font-jp);*/
}
.contents {
	padding-block-start: clamp(60px, -0.417rem + 17.78vw, 180px);
	padding-block-end: clamp(60px, -1.111rem + 20.74vw, 200px);
}
.contents__inner {
	width: clamp(300px,100%,calc(var(--cts-width) +  var(--cts-gutter) * 2));
	margin-inline: auto;
	padding-inline: var(--cts-gutter);
	box-sizing: border-box;
}
.contents__ttl {
	text-align: center;
}

.link__inner {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-block: clamp(5px,0.236rem + 0.38vw,8px);
	padding-inline: clamp(25px,0.737rem + 2vw,40px);
	background: var(--dp-color);
	border: 1px solid #fff;
	font-size: var(--dp-p-l-size);
	text-decoration: none;
	letter-spacing: var(--cts-font-ls);
	box-sizing: border-box;
	overflow: hidden;
	z-index: 1;
}
.link__inner::before {
	position: absolute;
	content: "";
	width: 150%;
	height: 100%;
	top: 0;
	left: -168%;
	background: #fff;
	transform: skewX(-18deg);
	opacity: .3;
	z-index: -1;
}
.link__inner::after {
	content: "";
	position: absolute;
	top: calc(50% - 3px);
	right: 17px;
	width: 6px;
	height: 6px;
	border-right: 1px solid;
	border-bottom: 1px solid;
	border-color: #fff;
	transform: rotate(-45deg);
}
.link--over::before {
	animation: link-over ease-out .4s both;
}
.link--out::before {
	animation: link-out ease-in .4s both;
}
@keyframes link-over {
	0% {
		left: -168%;
	}
	100% {
		left: -18%;
	}
}
@keyframes link-out {
	0% {
		left: -18%;
	}
	100% {
		left: 168%;
	}
}

.contents__ttl {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	gap: clamp(5px, 1.25rem + 8vw, 10px);
}
.contents__ttl-inner {
	position: relative;
	padding-block-end: 7px;
	font-size: clamp(15px, -0.075rem + 4.32vw, 42px);
	font-weight: 900;
	text-align: left;
	line-height: 1.5;
	letter-spacing: .14em;
}
.contents__ttl-inner small {
	font-size: clamp(13px, 0.175rem + 2.72vw, 30px);
	letter-spacing: .14em;
}
.contents__ttl-inner::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 3px;
	left: 0;
	bottom: 0;
	background-size: 12px clamp(2px, 0.087rem + 0.16vw, 3px);
	background-image: linear-gradient(to right, var(--cts-color), var(--cts-color) 6px, transparent 6px, transparent 12px);
}
.contents__ttl--note {
	margin-block-start: clamp(30px, 0.75rem + 4.8vw, 60px);
}



/* header
____________________*/
.contents--header {
	padding-block: clamp(13px, 0.325rem + 2.08vw, 26px);
	padding-inline: 40px;
	background: #fff;
	text-align: center;
}
.header__img-box a {
	transition: all .3s;
}
.header__img-box a:hover {
	opacity: .8;
}
nav {
	display: none;
}


/* mv
____________________*/
.contents--mv {
	position: relative;
	width: 100%;
	padding: 0;
}
.contents--mv img {
	width: 100%;
	padding: 0;
}
.mv__lead {
	position: relative;
	padding-block: clamp(16px, 0.363rem + 2.72vw, 33px);
	background: var(--cts-color);
}
.mv__lead::before,
.mv__lead::after {
	content: "";
	position: absolute;
	width: 100%;
	height: clamp(2px, 0.087rem + 0.16vw, 3px);
	left: 0;
	background-size: 12px clamp(2px, 0.087rem + 0.16vw, 3px);
	background-image: linear-gradient(to right, transparent, transparent 3px, var(--cts-color-02) 3px, var(--cts-color-02) 9px, transparent 9px, transparent 12px);
}
.mv__lead::before {
	top: clamp(6px, 0.225rem + 0.64vw, 10px);
}
.mv__lead::after {
	bottom: clamp(6px, 0.225rem + 0.64vw, 10px);
}
.mv__lead-txt {
	font-size: clamp(14px, 0.462rem + 1.76vw, 25px);
	font-weight: 600;
	color: #fff;
	text-align: center;
	letter-spacing: var(--cts-font-ls-02);
}


/* camp
____________________*/
.contents--camp {
	position: relative;
	padding-block: 230px clamp(50px, 1.813rem + 5.6vw, 85px);
	background: url(../5info/img/and_galleria_winter_camp_2022/camp_bg.jpg) no-repeat center top;
	background-size: cover;
}
.camp__list {
	position: absolute;
	display: flex;
	gap: 7px;
	top: 37px;
	left: 50%;
	transform: translateX(-50%);
}
.camp__list.is-fixed {
	position: fixed;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 62px;
	top: auto;
	bottom: 0;
	left: 0;
	padding-block-start: 1.5em;
	background: #fff;
	box-sizing: border-box;
	transform: none;
	z-index: 10000;
}
.camp__anchor {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 182px;
	height: 58px;
	bottom: 0;
	background: #fff;
	border: 2px solid var(--cts-color);
	border-radius: 140px;
	font-size: 13px;
	font-weight: 900;
	color: var(--cts-color);
	text-align: center;
	text-decoration: none;
	line-height: 1.2;
	letter-spacing: .06em;
	box-shadow: 0 7px 0 var(--cts-color);
	transition: bottom .3s,top .3s,box-shadow .3s;
}
.camp__list.is-fixed .camp__anchor {
	height: auto;
	top: 0;
	padding-block: .2em 1em;
	background: none;
	border: none;
	border-radius: none;
	box-shadow: none;
}
.camp__anchor:hover {
	bottom: -7px;
	box-shadow: 0 0 0 var(--cts-color);
}
.camp__list.is-fixed .camp__anchor:hover {
	top: -7px;
}
.camp__anchor::before,
.camp__anchor::after {
	content: "";
	position: absolute;
}
.camp__anchor::before {
	width: 24px;
	height: 24px;
	bottom: -17px;
	border-radius: 50%;
	background: var(--cts-color);
}
.camp__anchor::after {
	width: 4px;
	height: 4px;
	bottom: -11px;
	left: 50%;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translate(-50%,-50%) rotate(135deg);
}
.camp__list.is-fixed .camp__anchor::before {
	content: none;
}
.camp__list.is-fixed .camp__anchor::after {
	top: -3px;
	bottom: auto;
	border-color: var(--cts-color);
	transform: translate(-50%,-50%) rotate(-45deg);
}
.camp__detail {
	max-width: 683px;
	margin-inline: auto;
}
.camp__date {
	margin-block-start: clamp(15px, 0.375rem + 2.4vw, 30px);
	padding-block: clamp(4px, 0.175rem + 0.32vw, 6px);
	background: #6EA300;
}
.camp__date-txt {
	font-size: clamp(12px, 0.412rem + 1.44vw, 21px);
	font-weight: 600;
	color: #fff;
	text-align: center;
	letter-spacing: .04em;
}
.camp__txt {
	margin-block-start: clamp(15px, 0.563rem + 1.6vw, 25px);
	font-size: clamp(11px, 0.425rem + 1.12vw, 18px);
	font-weight: 600;
	text-align: center;
	letter-spacing: var(--cts-font-ls-02);
}
.camp__txt.red,.red{
	color:red ;
}
.camp__entry {
	margin-block-start: clamp(20px, 1.063rem + 0.8vw, 25px);
	text-align: center;
}
.camp__entry-link {
	position: relative;
	width: 400px;
	display: flex;
	justify-content: center;
	align-items: center;
	bottom: 0;
	margin-inline: auto;
	padding-block: clamp(13px, 0.55rem + 1.12vw, 20px);
	background: #fff;
	border-radius: 140px;
	font-size: clamp(13px, 0.55rem + 1.12vw, 20px);
	font-weight: 900;
	color: var(--cts-color);
	text-align: center;
	text-decoration: none;
	letter-spacing: .14em;
	box-shadow: 6px 10px 0 var(--cts-color);
	transition: all .3s;
}
.camp__entry-link.cpend{/*campain終了*/
	background: #ececec;
	color: #b4b4b4;
	box-shadow: 0 0 0 var(--cts-color) !important;
	pointer-events: none;
}
.camp__entry-link:hover {
	bottom: -10px;
	box-shadow: 0 0 0 var(--cts-color);
}
.camp__entry-link .fa-external-link-alt {
	margin-inline-start: clamp(5px, 0.2rem + 0.48vw, 8px);
}
.camp__note {
	margin-block-start: clamp(27px, 0.638rem + 4.48vw, 55px);
	font-size: clamp(10px, 0.475rem + 0.64vw, 14px);
	font-weight: 600;
	text-align: center;
	line-height: 1.9;
	letter-spacing: .14em;
}
.camp__note-ttl {
	font-weight: 900;
}
.camp__detail-list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 60px 40px;
	margin-block-start: clamp(40px, 1.638rem + 3.68vw, 63px);
}
.camp__detail-link {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 280px;
	height: 280px;
	text-decoration: none;
	color: #fff;
	text-align: center;
	transform: scale(1);
	transition: all .3s;
}
.camp__detail-link:hover {
	transform: scale(1.05);
	opacity: .8;
}
.camp__detail-link::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: var(--cts-color);
	border-radius: 50%;
	z-index: -1;
}
.camp__detail-item--04 .camp__detail-link::before {
	content: none;
}
.camp__detail-ratio {
	position: absolute;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 108px;
	height: 108px;
	top: -20px;
	right: 0;
	background: #fff;
	border-radius: 50%;
	font-size: 12px;
	font-weight: 900;
	color: #002063;
	letter-spacing: .16em;
}
.camp__detail-ratio strong {
	font-size: 36px;
	font-weight: 900;
	line-height: .9;
}
.camp__detail-ratio strong span {
	font-size: 13px;
	color: #002063;
	letter-spacing: 0;
}
.camp__item-bg {
	position: absolute;
	width: calc(100% - 15px);
	height: calc(100% - 15px);
	left: 50%;
	background: url(../5info/img/and_galleria_winter_camp_2022/camp_item_bg.png) no-repeat center top;
	background-size: 100% 100%;
	transform: translateX(-50%);
	z-index: 0;
}
.camp__detail-item-img-box {
	position: relative;
}
.camp__detail-item--01 .camp__detail-item-img-box {
	position: absolute;
	top: -10px;
	left: 40px;
}
.camp__detail-txt {
	margin-block-end: 32px;
	font-size: 22px;
	font-weight: 900;
	letter-spacing: .14em;
	line-height: 1.36;
}
.camp__detail-item--04 .camp__detail-txt {
	margin-block-end: 10px;
}
.camp__detail-txt span {
	display: block;
	margin-block-start: 7px;
	font-size: 13px;
	font-weight: 600;
	color: #fff;
	letter-spacing: .04em;
}
.camp__detail-item--04 .camp__detail-txt span {
	position: relative;
	display: inline-block;
	width: 222px;
	margin-inline: auto;
	padding-block: 8px;
	background: #fff;
	border-radius: 100px;
	font-size: 16px;
	font-weight: 900;
	color: #001E60;
	letter-spacing: .14em;
}
.camp__detail-item--04 .camp__detail-txt span::after{
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	bottom: -25px;
	right: 65px;
	margin: 0;
	border-top: 35px solid #fff;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	transform: rotate(30deg);
	z-index: -1;
}
.camp__detail-txt span .fa-external-link-alt {
	margin-inline-start: clamp(3px, 0.112rem + 0.32vw, 5px);
}


/* reco
____________________*/
.contents--reco {
	position: relative;
	padding-block: clamp(50px, 1.25rem + 8vw, 100px);
	color: #002063;
        overflow: hidden;
}
.contents.contents--reco::before,
.contents.contents--reco::after {
	content: "";
	position: absolute;
	width: clamp(1000px, -9.511rem + 115.22vw, 2060px);/* 1000-1920 */
	height: clamp(1000px, -9.511rem + 115.22vw, 2060px);/* 1000-1920 */
	border-radius: 50%;
	top: 50%;
	transform: translateY(-50%);
}
.contents.contents--reco::before {
	background: #001E60;
	left: calc(clamp(875px, -8.492rem + 101.09vw, 1805px) * -1);/* 1000-1920 */
}
.contents.contents--reco::after {
	background: #D9DF00;
	right: calc(clamp(875px, -8.492rem + 101.09vw, 1805px) * -1);/* 1000-1920 */
}
.reco {
	position: relative;
	z-index: 100;
}
.reco__list {
	display: flex;
	gap: 20px;
	margin-block-start: clamp(20px, -0.063rem + 5.6vw, 55px);
}
.reco__item {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 300px;
	padding: clamp(30px, 1.8rem + 0.32vw, 32px);
	background: #fff;
	border-radius: 30px;
	text-align: center;
}
.reco__item-bg {
	position: absolute;
	width: calc(100% - 16px);
	height: calc(100% - 16px);
	top: 8px;
	left: 8px;
	background: url(../5info/img/and_galleria_winter_camp_2022/reco_item_bg.png) no-repeat center top;
	background-size: 100% 100%;
	z-index: 0;
}
.reco__item > *:not(.reco__item-bg):not(.reco__inner) {
	position: relative;
	z-index: 100;
}
.reco__inner {
	margin-block-start: auto;
}
.reco__catch {
	font-size: clamp(16px, 0.85rem + 0.64vw, 20px);
	font-weight: 600;
	line-height: 1.35;
}
.reco__name {
	margin-block-start: clamp(11px, 0.35rem + 1.44vw, 20px);
	font-size: clamp(14px, 0.8rem + 0.32vw, 16px);
	font-weight: 600;
	letter-spacing: .04em;
	line-height: 1.56;
}
.reco__spec-list {
	margin-block-start: clamp(7px, 0.137rem + 1.28vw, 15px);
	font-size: 12px;
	letter-spacing: .04em;
}
.reco_price {
	margin-block-start: clamp(9px, 0.487rem + 0.32vw, 11px);
	font-size: clamp(15px, 0.9rem + 0.16vw, 16px);
	font-weight: 900;
	letter-spacing: .04em;
}
.reco__link {
	margin-block-start: clamp(13px, 0.438rem + 1.6vw, 23px);
}
.link__inner {
	background: #fff;
	border: 1px solid var(--cts-color);
	font-size: clamp(14px, 0.838rem + 0.16vw, 15px);
	font-weight: 600;
	letter-spacing: .04em;
}
.link__inner::before {
	background-color: #0078c4;
}
.link__inner::after {
	border-color: var(--cts-color);
}
.link__inner span {
	color: var(--cts-color);
}


/* present
____________________*/
.contents--present {
	position: relative;
	padding-block: clamp(50px, 1.25rem + 8vw, 100px);
	background: var(--cts-color);
}
.present {
	position: relative;
	z-index: 100;
}
#main .present a:not(#main .present a.camp__entry-link) {
    text-decoration: underline;
}
.contents--present::before,
.contents--present::after {
	content: "";
	position: absolute;
	width: clamp(50px, -1.957rem + 21.68vw, 385px);/*375-1920px*/
	height: 100%;
	top: 0;
	z-index: 1;
}
.contents--present::before {
	left: 0;
	background: url(../5info/img/and_galleria_winter_camp_2022/present_bg_l.png) repeat-y center top;
	background-size: contain;
}
.contents--present::after {
	right: 0;
	background: url(../5info/img/and_galleria_winter_camp_2022/present_bg_r.png) repeat-y center top;
	background-size: contain;
}
.contents__ttl--present {
	justify-content: space-between;
	align-items: center;
}
.contents__ttl--present-inner {
	position: relative;
	padding-inline: clamp(28px, 0.55rem + 5.12vw, 60px);
	font-size: clamp(31px, -0.313rem + 9.6vw, 91px);
	font-weight: 900;
	color: var(--cts-color-02);
	letter-spacing: .14em;
	line-height: 1.7;
}
.contents__ttl--present-inner::before,
.contents__ttl--present-inner::after {
	content: "";
	position: absolute;
	width: clamp(23px, -0.1rem + 6.56vw, 64px);
	height: clamp(6px, 0.037rem + 1.44vw, 15px);
}
.contents__ttl--present-inner::before {
	bottom: 0;
	left: 0;
	border-bottom: clamp(1px, 0.025rem + 0.16vw, 2px) solid #fff;
	border-left: clamp(1px, 0.025rem + 0.16vw, 2px) solid #fff;
}
.contents__ttl--present-inner::after {
	top: 0;
	right: 0;
	border-top: clamp(1px, 0.025rem + 0.16vw, 2px) solid #fff;
	border-right: clamp(1px, 0.025rem + 0.16vw, 2px) solid #fff;
}
.present__list {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: clamp(20px, -0.25rem + 6.4vw, 60px) 20px;
	margin-block-start: 30px;
}
.set {
	display: flex;
	gap: clamp(9px, 0.45rem + 0.48vw, 12px);
	width: clamp(445px, -2.5rem + 50vw, 460px);/* 970-1000 */
	background: #fff;
}
.set__inner-01 {
	display: flex;
	flex-direction: column;
	background: linear-gradient(to right, #D9DF00, #D9DF00 82px,transparent 82px, transparent);
}
.set__circle {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: clamp(70px, 3.175rem + 5.12vw, 102px);
	height: clamp(70px, 3.175rem + 5.12vw, 102px);
	margin-block-start: 10px;
	margin-inline-start: 10px;
	background: var(--cts-color-02);
	border: 2px solid #fff;
	border-radius: 50%;
	box-sizing: border-box;
}
.set__circle-inner {
	font-size: clamp(6px, 0.188rem + 0.8vw, 11px);
	font-weight: 600;
	text-align: center;
}
.set__circle-inner strong {
	display: inline-block;
	font-size: clamp(10px, 0.438rem + 0.8vw, 15px);
	line-height: 1;
}
.set__circle-number {
	font-size: clamp(23px, 0.988rem + 1.92vw, 35px);
}
.set__bg {
	position: absolute;
	width: calc(100% - 11px);
	height: calc(100% - 11px);
	background: url(../5info/img/and_galleria_winter_camp_2022/set_bg.png) no-repeat center top;
	background-size: 100% 100%;
	z-index: 0;
}
.set__person {
	margin-block-start: auto;
}
.set__inner-02 {
	padding-block: clamp(17px, 0.65rem + 1.76vw, 28px) clamp(13px, 0.4rem + 1.76vw, 24px);
	padding-inline-end: clamp(10px, 0.25rem + 1.6vw, 20px);
}
.set__name {
	font-size: clamp(17px, 0.65rem + 1.76vw, 28px);
	letter-spacing: .1em;
}
.set__name--2l {
	font-size: clamp(15px, 0.637rem + 1.28vw, 23px);
	line-height: 1.3;
	letter-spacing: .1em;
}
.set__img-box {
	margin-block-start: clamp(12px, 0.525rem + 0.96vw, 18px);
}
.set__name--2l + .set__img-box {
	margin-block-start: 1px;
}
.set__link-box {
	margin-block-start: 10px;
	font-weight: 600;
}
.set__link-ttl {
	font-size: clamp(8px, 0.425rem + 0.32vw, 10px);
	letter-spacing: .1em;
}
.set__link-ttl:nth-child(n+2) {
	margin-block-start: 10px;
}
.set__link-name {
	font-size: clamp(10px, 0.475rem + 0.64vw, 14px);
	line-height: 1.1;
	letter-spacing: .085em;
}
.set__link {
	color: var(--cts-color);
	transition: all .3s;
}
.set__link:hover {
	text-decoration: none;
	opacity: .8;
}
.set--vspo {
	justify-content: space-between;
	width: 100%;
}
.set--vspo .set__inner-01 {
	background: linear-gradient(to right, #D9DF00, #D9DF00 216px,transparent 216px, transparent);
}
.set__flex {
	display: flex;
	gap: 10px;
}
.contents__ttl--single {
	margin-block-start: clamp(40px, 2.125rem + 1.6vw, 50px);
}
.present__list--single {
	gap: clamp(20px, 0.125rem + 4.8vw, 50px) 20px;
}
.single {
	width: clamp(290px, 17.446rem + 1.09vw, 300px);/* 1000-1920 */
}
.single__inner-01 {
	position: relative;
	padding-block: clamp(10px, 0.25rem + 1.6vw, 20px);
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
}
.single__img-box {
	text-align: center;
}
.single__number {
	position: absolute;
	bottom: clamp(6px, 0.075rem + 1.28vw, 14px);
	right: clamp(10px, 0.475rem + 0.64vw, 14px);
	font-size: clamp(6px, 0.263rem + 0.48vw, 9px);
	font-weight: 600;
	text-align: center;
	z-index: 10;
}
.single__number strong {
	font-size: clamp(10px, 0.55rem + 0.32vw, 12px);
	line-height: 1;
}
.single__number-inner {
	font-size: clamp(23px, 1.212rem + 0.96vw, 29px);
}
.single__circle {
	position: absolute;
	width: 126px;
	height: 126px;
	bottom: -42px;
	right: -40px;
	background: var(--cts-color-02);
	border-radius: 50%;
	z-index: 1;
}
.single__circle::before {
	content: "";
	position: absolute;
	width: calc(100% - 11px);
	height: calc(100% - 11px);
	top: 5.5px;
	left: 5.5px;
	background: url(../5info/img/and_galleria_winter_camp_2022/set_bg.png) no-repeat center top;
	background-size: 100% 100%;
}
.single__inner-02 {
	margin-block-start: clamp(8px, 0.388rem + 0.48vw, 11px);
}
.single__link-box {
	text-align: center;
	color: #fff;
}
.single__link-ttl {
	font-size: clamp(9px, 0.487rem + 0.32vw, 11px);
	letter-spacing: .1em;
}
.single__link-name {
	font-size: clamp(11px, 0.575rem + 0.48vw, 14px);
	letter-spacing: .1em;
}
.single__link {
	color: #fff;
	transition: all .3s;
	/*text-decoration: underline;*/
}
.single__link:hover {
	text-decoration: none;
	opacity: .8;
}
.single--w {
	position: relative;
	display: flex;
	gap: 27px;
	width: 590px;
	margin-block-start: clamp(20px, -0.438rem + 7.2vw, 65px);
	margin-inline: auto;
	padding-block: 23px 20px;
	padding-inline: 30px 10px;
	background: #fff;
	border-radius: 10px;
	color: #444;
	box-sizing: border-box;
	overflow: hidden;
}
.single--w__inner-01 {
	flex-shrink: 0;
}
.single--w__inner-01 p {
	display: flex;
	flex-direction: column;
	align-items: center;
	font-size: 17px;
	font-weight: 600;
	letter-spacing: .1em;
}
.single--w__inner-01 p span {
	font-size: 71px;
	line-height: 1;
}
.single--w__txt {
	max-width: 445px;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .1em;
}
.single--w__detail {
	display: flex;
	align-items: center;
	gap: 10px;
}
.single--w__ttl {
	font-size: 16px;
	font-weight: 600;
	letter-spacing: .1em;
}
.single--w__money {
	font-size: 31px;
	font-weight: 900;
	color: #001E60;
	letter-spacing: .02em;
}
.single--w__money span {
	font-size: 49px;
	letter-spacing: .02em;
}
.single--w .single__number {
	color: #002063;
	text-align: right;
}
.single--w .single__number strong {
	padding-inline-end: 8px;
}
.single--w .single__circle {
	bottom: -40px;
	right: -10px;
}
.camp__date--present {
	max-width: 770px;
	margin-block-start: clamp(30px, 0.563rem + 5.6vw, 65px);
	margin-inline: auto;
	background: var(--cts-color);
	border: 1px solid #fff;
}
.camp__date--present .camp__date-txt {
	letter-spacing: .14em;
}
.camp__entry--present {
	margin-block-start: clamp(28px, 1.113rem + 2.72vw, 45px);
}
.camp__entry--present .camp__entry-link {
	box-shadow: 6px 10px 0 #DADF00;
}
.camp__entry--present .camp__entry-link:hover {
	box-shadow: 0 0 0 #DADF00;
}
.camp__note--present {
	color: #fff;
}


/* other
____________________*/
.contents--other {
	padding-block: clamp(50px, 0.313rem + 12vw, 125px) clamp(100px, 5.5rem + 3.2vw, 120px);
}
.other__item#sale {
	width: fit-content;
	margin-inline: auto;
}
.other__item a:hover {
	animation-name: hover-flash;
	animation-duration: 1s;
	opacity: .85;
}
@keyframes hover-flash {
	0% {
		opacity: .3;
	}
	100% {
		opacity: .85;
	}
}
.other__item + .other__item {
	margin-block-start: clamp(20px, 0.5rem + 3.2vw, 40px);
}
.other__list--02 {
	display: flex;
	gap: 26px;
	margin-block-start: clamp(40px, 1rem + 6.4vw, 80px);
}
.other__list--02 .other__item + .other__item {
	margin-block-start: 0;
}

/* footer
____________________*/
.contents--footer {
	margin-block-end: 62px;
	padding-block: clamp(13px, 0.288rem + 2.24vw, 27px);
	background: var(--cts-color);
	font-size: clamp(10px, 0.55rem + 0.32vw, 12px);
	color: #fff;
	text-align: center;
	letter-spacing: .14em;
}


/* top-anchor
____________________*/
.contents--top-anchor {
	position: fixed;
	padding: 0;
	bottom: clamp(70px, 3.617rem + 3.24vw, 120px);/* 375-1920 */
	right: clamp(40px, 1.59rem + 3.88vw, 100px);/* 375-1920 */
	opacity: 0;
	visibility: hidden;
	z-index: 1000;
	transition: all .3s;
}
.contents--top-anchor.is-active-anc {
	opacity: 1;
	visibility: visible;
}
.top-anchor {
	position: relative;
	display: inline-block;
	width: clamp(45px, 1.978rem + 3.56vw, 100px);/* 375-1920 */
	height: clamp(45px, 1.978rem + 3.56vw, 100px);/* 375-1920 */
	top: 0;
	background: #DADF00;
	border-radius: 50%;
	box-shadow: 0px 0px 10px rgba(255,255,255,.5);
	transition: all .3s;
}
.top-anchor:hover {
	top: -5px;
	opacity: .8;
}
.top-anchor::before {
	content: "";
	position: absolute;
	width: clamp(12px, 0.568rem + 0.78vw, 24px);/* 375-1920 */
	height: clamp(12px, 0.568rem + 0.78vw, 24px);/* 375-1920 */
	top: calc(50% + clamp(3px, 0.157rem + 0.13vw, 5px));/* 375-1920 */
	left: 50%;
	border-top: 2px solid #707070;
	border-right: 2px solid #707070;
	transform: translate(-50%,-50%) rotate(-45deg);
}


/* モバイル
____________________*/
@media (max-width: 479px) {
	#s_container {
		margin: auto;
	}
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}

	.contents--header {
		position: fixed;
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		height: 57px;
		padding-block: 0;
		background: #fff;
		box-sizing: border-box;
		z-index: 20000;
	}
	.contents--header.is-active {
		background: #fff;
	}
	.nav--sp {
		position: relative;
		cursor: pointer;
		display: block;
		width: 23px;
		height: 14px;
		z-index: 20000;
	}
	.nav--sp span {
		position: absolute;
		display: inline-block;
		width: 100%;
		height: 2px;
		left: 0;
		background: var(--cts-color);
		transition: all .3s;
	}
	.nav--sp span:first-child {
		top: 0;
	}
	.nav--sp span:nth-child(2) {
		top: 6px;
	}
	.nav--sp span:last-child {
		bottom: 0;
	}
	.nav--sp.is-active span:first-child {
		transform: translateY(6px) rotate(-45deg);
	}
	.nav--sp.is-active span:nth-child(2) {
		opacity: 0;
	}
	.nav--sp.is-active span:last-child {
		transform: translateY(-6px) rotate(45deg);
	}
	.nav__overlay {
		position: relative;
		width: 100%;
		height: 100%;
		transition: all .3s;
		z-index: 10000;
	}
	.nav__overlay::before {
		content: "";
		position: fixed;
		display: block;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		background: rgba(0,0,0,0);
		transition: all .3s;
		z-index: -1;
	}
	.nav__overlay.is-active::before {
		background: rgba(0,0,0,.7);
		z-index: 10000;
	}
	.header__img-box {
		text-align: left;
	}
	.header__img-box a {
		display: inline-block;
		width: clamp(175px, 3.725rem + 29.44vw, 375px);
	}
	.contents--mv {
		padding-block-start: 57px;
		background: #fff;
	}
	.contents--camp {
		padding-block-start: 0;
		background: url(../5info/img/and_galleria_winter_camp_2022/camp_bg_sp.jpg) no-repeat center top;
		background-size: cover;
	}
	.camp__list {
		position: fixed;
		display: block;
		width: 100%;
		top: 57px;
		left: auto;
		right: -100%;
		transition: all .3s;
		transform: none;
		opacity: 0;
	}
	.camp__list.is-active {
		right: 0;
		background: #fff;
		opacity: 1;
		z-index: 20000;
	}
	.camp__item {
		width: 90vw;
		margin-inline: auto;
	}
	.camp__item + .camp__item {
		border-top: 1px solid var(--cts-color);
	}
	.camp__anchor {
		width: 100%;
		height: auto;
		padding-block: 2em;
		background: none;
		border: none;
		box-shadow: none;
	}
	.camp__anchor::before {
		top: 50%;
		bottom: auto;
		right: 0;
		transform: translate(-50%,-50%);
	}
	.camp__anchor::after {
		top: 50%;
		bottom: auto;
		right: 18px;
		left: auto;
	}
	.camp__entry-link {
		width: clamp(264px, 11.4rem + 21.76vw, 400px);
		box-shadow: clamp(3px, 0.075rem + 0.48vw, 6px) clamp(7px, 0.325rem + 0.48vw, 10px) 0 var(--cts-color);
	}
	.camp__entry-link:hover {
		bottom: calc(clamp(7px, 0.325rem + 0.48vw, 10px) * -1);
	}
	.camp__note {
		text-align: left;
	}
	.camp__detail-list {
		gap: clamp(25px, 0.25rem + 5.6vw, 60px);
	}
	.camp__detail-link {
		width: clamp(205px, 10.5rem + 11.2vw, 280px);
		height: clamp(205px, 10.5rem + 11.2vw, 280px);
	}
	.camp__detail-item--01 .camp__detail-item-img-box {
		width: clamp(100px, 4.2rem + 6.08vw, 128px);
		left: 25px;
	}
	.camp__detail-ratio {
		width: clamp(79px, 3.85rem + 4.64vw, 108px);
		height: clamp(79px, 3.85rem + 4.64vw, 108px);
		font-size: clamp(8px, 0.35rem + 0.64vw, 12px);
	}
	.camp__item-bg {
		width: calc(100% - clamp(10px, 0.438rem + 0.8vw, 15px));
		height: calc(100% - clamp(10px, 0.438rem + 0.8vw, 15px));
		background: url(../5info/img/and_galleria_winter_camp_2022/camp_item_bg_sp.png) no-repeat center top;
		background-size: 100% 100%;
	}
	.camp__detail-ratio strong {
		font-size: clamp(24px, 1.05rem + 1.92vw, 36px);
	}
	.camp__detail-ratio strong span {
		font-size: clamp(9px, 0.412rem + 0.64vw, 13px);
	}
	.camp__detail-item-img-box {
		width: 33vw;
		margin-inline: auto;
	}
	.camp__detail-item--03 .camp__detail-item-img-box {
		width: min(100px,25vw);
	}
	.camp__detail-item--04 .camp__detail-item-img-box {
		width: 38vw;
	}
	.camp__detail-txt {
		font-size: clamp(15px, 0.675rem + 1.12vw, 22px);
	}
	.camp__detail-txt span {
		font-size: clamp(9px, 0.412rem + 0.64vw, 13px);
	}
	.camp__detail-item--04 .camp__detail-txt span {
		width: min(100%,43vw);
		font-size: clamp(11px, 0.5rem + 0.8vw, 16px);
	}
	.camp__detail-item--04 .camp__detail-txt span::after {
		bottom: calc(clamp(20px, 1.063rem + 0.8vw, 25px) * -1);
		border-left: clamp(5px, 0.125rem + 0.8vw, 10px) solid transparent;
	}
	.contents.contents--reco::before,
	.contents.contents--reco::after {
		content: none;
	}
	.contents__ttl-icon {
		width: clamp(77px, 1.963rem + 12.16vw, 153px);
	}
	.reco__list {
		justify-content: center;
		flex-wrap: wrap;
	}
	.reco__img-box {
		width: 50vw;
		margin-inline: auto;
	}
	.contents--present::before,
	.contents--present::after {
		content: none;
	}
	.contents__ttl--present {
		gap: 15px;
	}
	.set {
		width: 100%;
	}
	.set__inner-01,
	.set--vspo .set__inner-01 {
		background: linear-gradient(to right, #D9DF00, #D9DF00 clamp(52px, 2.125rem + 4.8vw, 82px),transparent clamp(52px, 2.125rem + 4.8vw, 82px), transparent);
	}
	.set__bg {
		background: url(../5info/img/and_galleria_winter_camp_2022/set_bg_sp.png) no-repeat center top;
		background-size: 100% 100%;
	}
	.set__circle-inner small {
		display: inline-block;
		/*transform: scale(.7);*/
	}
	/*.set--vspo .set__person {
		display: none;
	}*/
	.set__flex {
		justify-content: center;
		flex-wrap: wrap;
		gap: 0;
	}
	.single {
		width: clamp(140px, -2.518rem + 48.08vw, 199px);
	}
	.single__inner-01 {
		padding-block-end: 57px;
		padding-inline: 6px;
	}
	.single__link-box {
		text-align: left;
	}
	.single__circle {
		width: clamp(87px, 3.975rem + 6.24vw, 126px);
		height: clamp(87px, 3.975rem + 6.24vw, 126px);
		bottom: calc(clamp(30px, 1.425rem + 1.92vw, 42px) * -1);
		right: calc(clamp(27px, 1.2rem + 2.08vw, 40px) * -1);
	}
	.single__circle::before {
		background: url(../5info/img/and_galleria_winter_camp_2022/set_bg_sp.png) no-repeat center top;
		background-size: 100% 100%;
	}
	.single__number {
		/*right: 0;*/
		line-height: 1.2;
	}
	.single__number small {
		display: inline-block;
		/*transform: scale(.7);*/
	}
	.single--w {
		align-items: center;
		gap: clamp(20px, 0.988rem + 1.12vw, 27px);
		width: 100%;
		padding-block: clamp(15px, 0.637rem + 1.28vw, 23px) 13px;
		padding-inline: clamp(20px, 0.875rem + 1.6vw, 30px) 10px;
	}
	.single--w__inner-01 p {
		font-size: clamp(9px, 0.262rem + 1.28vw, 17px);
	}
	.single--w__inner-01 p span {
		font-size: clamp(41px, 1.438rem + 4.8vw, 71px);
	}
	.single--w__txt {
		font-size: clamp(9px, 0.375rem + 0.8vw, 14px);
	}
	.single--w__ttl {
		font-size: clamp(11px, 0.5rem + 0.8vw, 16px);
	}
	.single--w__money {
		font-size: clamp(18px, 0.637rem + 2.08vw, 31px);
		line-height: 1;
	}
	.single--w__money span {
		font-size: clamp(29px, 1.063rem + 3.2vw, 49px);
	}
	.single--w__detail {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
		margin-block-start: clamp(7px, 0.325rem + 0.48vw, 10px);
	}
	.single--w .single__number {
		right: clamp(10px, 0.475rem + 0.64vw, 14px);
	}
	.single--w .single__circle {
		bottom: calc(clamp(28px, 1.3rem + 1.92vw, 40px) * -1);
		right: -9px;
	}
	.single--w .single__number strong {
		padding-inline-end: 0;
	}
	.camp__entry--present .camp__entry-link {
		box-shadow: clamp(3px, 0.075rem + 0.48vw, 6px) clamp(7px, 0.325rem + 0.48vw, 10px) 0 #dadf00;
	}
	.camp__note--present {
		text-align: center;
	}
	.other__list--02 {
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px;
	}
	.contents--footer {
		margin-block-end: 0;
	}
	.contents--top-anchor {
		bottom: 20px;
		right: 20px;
	}
}


/* fade
____________________*/
/*.fade {
	opacity: 0;
	transform: translateY(100px);
	transition: all .5s ease;
}
.fade.fadeShow {
	transform: translateY(0);
	opacity: 1;
}*/


/* campainバナー落とし
____________________*/
/*バナー透過*/            
		.other__item {
			background-color: white;
          }
		.other__item a.other__link.txtEnd img.other__img {
            opacity: 0.3;
            /*opacity: 1;*/
          }
            
/*セール終了*/
		a.txtEnd{
            position: relative;
            display: block;
          }
		a.txtEnd:not(a.txtEnd.end03){
            pointer-events: none;
          }            
		a.other__link.txtEnd.end01::after {
            content: "冬の大感謝祭は終了いたしました。";
            position: absolute;
            color: #333;
            font-weight: 800;
            top: 45%;
            width: 100%;
            font-size: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            transform: translateY(-20%);
            text-shadow: 0px 0px 10px #ffffff,0px 0px 10px #ffffff,0px 0px 10px #ffffff,0px 0px 10px #ffffff;
}
		a.other__link.txtEnd.end02::after {
            content: "キャンペーンは終了いたしました。";
            position: absolute;
            color: #333;
            font-weight: 800;
            top: 45%;
            width: 100%;
            font-size: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            transform: translateY(-20%);
            text-shadow: 0px 0px 10px #ffffff,0px 0px 10px #ffffff,0px 0px 10px #ffffff,0px 0px 10px #ffffff;
}       
            a.other__link.txtEnd.end03::after {
            content: "スペシャルコラボキャンペーンは終了しました。";
            position: absolute;
            color: #333;
            font-weight: 800;
            top: 45%;
            width: 100%;
            font-size: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            transform: translateY(-20%);
            text-shadow: 0px 0px 10px #ffffff,0px 0px 10px #ffffff,0px 0px 10px #ffffff,0px 0px 10px #ffffff;
}
            a.other__link.txtEnd.end04::after {
            content: "キャンペーンは終了いたしました。";
            position: absolute;
            color: #333;
            font-weight: 800;
            top: 45%;
            width: 100%;
            font-size: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            transform: translateY(-20%);
            text-shadow: 0px 0px 10px #ffffff,0px 0px 10px #ffffff,0px 0px 10px #ffffff,0px 0px 10px #ffffff;
}
            a.other__link.txtEnd.end05::after {
            content: "受賞記念セールは終了いたしました。";
            position: absolute;
            color: #333;
            font-weight: 800;
            top: 45%;
            width: 100%;
            font-size: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            transform: translateY(-20%);
            text-shadow: 0px 0px 10px #ffffff,0px 0px 10px #ffffff,0px 0px 10px #ffffff,0px 0px 10px #ffffff;
}
            
            @media screen and (max-width:479px){
            a.other__link.txtEnd.end01::after,
            a.other__link.txtEnd.end02::after,
            a.other__link.txtEnd.end03::after,
            a.other__link.txtEnd.end04::after,
            a.other__link.txtEnd.end05::after{
            font-size: 13px;
            text-align: center;
}            
}