@font-face {
	font-family: 'NotoSansJP-Regular';
	src: url(../fonts/Noto_Sans_JP/NotoSansJP-Regular.otf) format('opentype');
}
@font-face {
	font-family: 'NotoSansJP-Bold';
	src: url(../fonts/Noto_Sans_JP/NotoSansJP-Bold.otf) format('opentype');
}

:root {
	--font-regular: 'Hiragino Kaku Gothic ProN', 'NotoSansJP-Regular', arial, sans-serif;
	--font-bold: 'HiraKakuProN-W6', 'NotoSansJP-Bold', arial, sans-serif;
}

* {
	margin: 0;
	padding: 0;
	line-height: 1;
	box-sizing: border-box;
}

html, body {
	font-size: 10px;
}

body {
	margin: 0;
	padding: 0;
	background-color: #fff;
	font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, 'メイリオ', arial, sans-serif;
	color: #000;
	-webkit-text-size-adjust: 100%; /* for iPhone */
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: unset;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),(min-resolution: 2dppx) {
	body {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}
}

ul, ol { list-style: none; }
fieldset, img { border: none; }
table { border-collapse: collapse; }
a, a:focus, *:focus { outline: none; }

a:link {
	text-decoration: none;
	color: rgba(0, 104, 183, 1);
}

a:visited {
	text-decoration: none;
	color: rgba(0, 104, 183, 0.5);
}

a:hover, 
a:active {
	text-decoration: underline;
}

/****************************
  footer
****************************/

#footer {
	width: 100%;
	margin: 30px 0 0;
	margin: 0px 0 0;
	padding: 30px 0;
	background-color: #ededed;
	text-align: center;
}

#footer > ul {
	margin: 0 auto;
	padding: 0;
	text-align: center;
}

#footer > ul > li {
	margin: 0 auto;
	padding: 0;
}

#footer > ul > li:first-child {
	width: 270px;
	padding: 4px 15px 0;
	text-align: center;
}

#footer > ul > li:last-child {
	padding: 15px 15px 0;
	text-align: center;
	font-weight: normal;
	font-style: normal;
}

#footer > ul > li > div {
	font-size: 15px;
	line-height: 1;
}

#footer > ul > li > div.last {
	padding-top: 8px;
}

#footer > ul > li:first-child > img {
	width: 100%;
	height: initial;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}

#footer > div {
	margin: 0;
	padding: 10px 0 0;
	text-align: center;
	font-weight: normal;
	font-style: normal;
	font-size: 9px;
	line-height: 1;
}

@media (min-width: 769px) {
	#footer {
		margin: 30px 0 0;
		margin: 0px 0 0;
	}

	#footer > ul {
		display: table;
		margin: 0 auto;
		padding: 0;
		text-align: center;
	}
	
	#footer > ul > li {
		display: table-cell;
		margin: 0;
		padding: 0;
		vertical-align: top;
	}
	
	#footer > ul > li:first-child {
		width: 270px;
		padding: 4px 20px 0 0;
		text-align: right;
	}
	
	#footer > ul > li:last-child {
		padding: 0;
		text-align: left;
		font-weight: normal;
		font-style: normal;
	}

	#footer > div {
		font-size: 11px;
		line-height: 1;
	}

	#footer > ul > li > div.last {
		padding-top: 3px;
	}
}

/****************************
  toTop
****************************/

a#toTop {
	display: none;
	position: fixed;
	z-index: 150;
	right: 15px;
	bottom: 20px;
	width: 52px;
	height: 130px;
	margin: 0;
	padding: 0;
	text-align: center;
	text-decoration: none;
	transition: all 0.3s;
}

a#toTop > img {
	width: 100%;
	height: initial;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}

@media (min-width: 600px) {
	a#toTop {
		right: 30px;
		bottom: 20px;
	}
}

/****************************
  vt
****************************/

.logo {
	width: 286px;
	margin: 0 auto;
	padding: 20px 0 0;
}

.logo > img {
	max-width: 100%;
	height: initial;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}

h1 {
	width: 100%;
	margin: 0 auto;
	padding: 25px 0 0;
	text-align: center;
}

h1 > img {
	max-width: 100%;
	height: initial;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}

@media (min-width: 1025px) {
	h1 {
		width: 1100px;
		height: 685px;
		margin: 30px auto 0;
		padding: 0;
		background-image: url(../../files/vt_pc.webp);
		background-repeat: no-repeat;
		background-position: center top;
		background-size: 1100px auto;
	}

	h1 > img {
		display: none;
	}
}

/****************************
  common
****************************/

h2 {
	margin: 0 auto;
	padding: 0;
	text-align: center;
	font-size: 16px;
	line-height: 1;
}

.lead {
	margin: 0;
	padding: 30px 0 0;
	font-family: var(--font-regular);
	font-weight: normal;
	font-style: normal;
}

.lead > span {
	display: inline;
}

.lead > span strong {
	background: linear-gradient(transparent 50%, #fff100 50%);
	font-weight: normal;
	font-style: normal;
}

.lead,
.lead > span,
.lead > span strong {
	font-size: 16px;
	line-height: 1.5;
}

.qr {
	width: 100%;
	margin: 30px auto 0;
	padding: 0;
}

.qr a img {
	max-width: 320px;
	height: initial;
	margin: 0 auto;
	padding: 0;
	vertical-align: bottom;
}

.notice {
	margin: 0;
	padding: 15px 0 0;
	font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, 'メイリオ', arial, sans-serif;
	font-weight: normal;
	font-style: normal;
	font-size: 14px;
	line-height: 1.5;
}

@media (min-width: 768px) {
	.qr {
		width: 720px;
		margin: 20px auto 0;
	}

	.qr img {
		max-width: 100%;
		height: initial;
		margin: 0 auto;
		padding: 0;
		vertical-align: bottom;
	}
}
@media (min-width: 1025px) {
	.lead {
		padding: 40px 0 0;
	}

	.lead > span {
		display: block;
	}

	.lead,
	.lead > span,
	.lead > span strong {
		font-size: 21px;
		line-height: 1.7;
	}

	.notice {
		padding: 20px 0 0;
		font-size: 14px;
		line-height: 1.5;
	}
}

.responsive {
	max-width: 100%;
	height: initial;
	vertical-align: bottom;
}

.viewpc {
	display: none;
}

.viewsp {
	display: block;
}

@media (min-width: 769px) {
	.viewpc {
		display: block;
	}

	.viewsp {
		display: none;
	}
}

/****************************
  hihi_event1
****************************/

#hihi_event1 {
	width: 100%;
	margin: 0;
	padding: 60px 15px;
	background-color: #f5f2e9;
	text-align: left;
}

#hihi_event1 h4 {
	margin: 0;
	padding: 30px 0 0;
	text-align: center;
	font-family: var(--font-bold);
	font-style: normal;
	font-weight: normal;
	font-size: 20px;
	line-height: 1.2;
	color: #d71918;
}

@media (min-width: 768px) {
	#hihi_event1 {
		text-align: center;
	}
}
@media (min-width: 1025px) {
	#hihi_event1 {
		margin: 0;
		padding: 80px 0;
	}

	#hihi_event1 h4 {
		padding: 40px 0 0;
		font-size: 36px;
		line-height: 1;
	}
}

/****************************
  illumination
****************************/

#illumination {
	width: 100%;
	margin: 0 auto;
	padding: 0 15px;
	background-color: #1d2088;
	text-align: center;
}

#illumination > figure {
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
}

#illumination > figure > img {
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}

@media (min-width: 1025px) {
	#illumination {
		padding: 0;
	}

	#illumination > figure {
		max-width: 1100px;
		height: initial;
		margin: 0 auto;
		padding: 0;
	}
}

/****************************
  V3
****************************/

#thanks_wrapper {
	margin: 0;
	padding: 20px 0 40px;
}

.thanks_h2 {
	margin: 0;
	padding: 30px 0 0;
	text-align: center;
}

.thanks_h2 > strong {
	display: inline;
	background: linear-gradient(transparent 50%, #fff100 50%);
	font-weight: bold;
	font-style: normal;
	font-size: 28px;
	line-height: 1;
}

.thanks_h3 {
	margin: 0;
	padding: 30px 0 0;
	text-align: center;
	font-weight: normal;
	font-style: normal;
	font-size: 18px;
	line-height: 1;
}

@media (min-width: 1025px) {
	.thanks_h2 > strong {
		font-size: 44px;
	}

	.thanks_h3 {
		font-size: 28px;
	}
}

/****************************
  V2
****************************/

#giftcard {
	width: 100%;
	margin: 0;
	padding: 40px 15px;
	background-color: #fff;
}

#giftcard > figure {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

@media (min-width: 1025px) {
	#giftcard {
		padding: 70px 0;
	}

	#giftcard > figure {
		width: 840px;
	}
}

#campaign {
	width: 100%;
	margin: 0;
	padding: 0;
}

#campaign > div {
	width: 100%;
	margin: 0;
	padding: 10px 15px;
	background-color: #eae3c6;
}

#campaign > div > figure {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

p.join {
	display: table;
	margin: 0 auto;
	padding: 30px 0 8px;
	border-bottom: 12px solid #fff100;
	font-family: var(--font-regular);
	text-align: center;
	font-style: normal;
	font-weight: normal;
	font-size: 20px;
	line-height: 1.2;
}

@media (min-width: 1025px) {
	#campaign > div {
		padding: 10px 0;
	}

	#campaign > div > figure {
		width: 840px;
	}

	p.join {
		padding: 50px 0 12px;
		font-size: 34px;
		line-height: 1.2;
	}
}

/****************************
  SHOP
****************************/

#shop {
	width: 100%;
	margin: 0 auto;
	padding: 30px 0 0;
	background-color: #fff;
}

#shop_other {
	width: 100%;
	margin: 0 auto;
	padding: 30px 0;
	background-color: #fff;
}

.shop_nav {
	max-width: 400px;
	margin: 0 auto;
	padding: 0 15px;
	text-align: center;
}

.shop_nav > img {
	width: 100%;
	height: initial;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}

@media (min-width: 1025px) {
	#shop {
		padding: 50px 0 0;
	}

	#shop_other {
		padding: 50px 0;
	}

	.shop_nav {
		max-width: 527px;
	}
}

/* tab */

.shop_tab_panel .panel {
	display: block;
	margin: 0;
	padding: 0;
}

/* collapse */

.collapse_nav_button {
	display: block;
	width: calc(100% - 30px);
	height: 38px;
	margin: 20px auto 0;
	padding: 0 15px;
	border-radius: 10px;
	border: 2px solid #9e7a36;
	text-align: left;
	font-style: normal;
	font-weight: bold;
	font-size: 16px;
	line-height: 34px;
	color: #9e7a36;
	cursor: pointer;
	text-decoration: none;
	user-select: none;
	transition: all 0.3s;
	position: relative;
}

.collapse_nav_button::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 50%;
	right: 15px;
	width: 0;
	height: 0;
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-top: 10px solid #9e7a36;
	transform: translateY(-50%) rotate(0deg);
}

.collapse_nav_button.active::after {
	transform: translateY(-50%) rotate(180deg);
}

.collapse_nav_button.green {
	border: 2px solid #198b86;
	color: #198b86;
}

.collapse_nav_button.green::after {
	border-top: 10px solid #198b86;
}

/*
.collapse-content {
	overflow: hidden;
	display: block;
	width: 100%;
	height: 0;
	transition: height 0.3s ease;
}

.collapse_nav_button.active + .collapse-content {
	height: auto;
}
*/

.collapse-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
}

.collapse-content.is-open {
	max-height: 2000px;
}

/* shop_wrapper */

.shop_wrapper {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0 auto;
	padding: 0 0 0 15px;
}

.shop_wrapper > li {
	display: block;
	width: calc(100% / 2);
	margin: 0;
	padding: 30px 15px 24px 0;
	position: relative;
}

.shop_wrapper > li figure {
	width: 100%;
	margin: 0;
	padding: 0;
}

.shop_wrapper > li figure img {
	width: 100%;
	height: initial;
	vertical-align: bottom;
}

.shop_wrapper > li span {
	display: block;
	margin: 0;
	padding: 7px 0 0;
	text-align: left;
	font-style: normal;
	font-weight: normal;
	font-size: 12px;
	line-height: 1.2;
	color: #9e7a36;
}

.shop_wrapper > li span.green {
	color: #198b86;
}

.shop_wrapper > li h3 {
	display: block;
	min-height: 37px;
	margin: 0;
	padding: 2px 0 0;
	text-align: left;
	font-style: normal;
	font-weight: bold;
	font-size: 14px;
	line-height: 1.3;
	color: #000;
	text-decoration: none;
}

.shop_wrapper > li a {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	margin: 0;
	padding: 0;
	text-align: left;
	font-family: 'Helvetica Neue', arial, sans-serif;
	font-style: normal;
	font-weight: bold;
	font-size: 16px;
	line-height: 1.2;
	color: #000;
	text-decoration: none;
}

.shop_wrapper > li a i {
	display: inline-block;
	transform: translateY(1px);
	width: 15px;
	height: 14px;
	margin: 0;
	padding: 0;
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 30'><path fill='%239f7a36' d='M23.531,29.673c1.278-.396,2.139-1.063,2.536-1.422l.971-.875c.611-.553.944-1.224.961-1.945.02-.731-.287-1.435-.884-2.032-.948-.946-3.464-2.857-4.522-3.582-.541-.369-1.158-.584-1.792-.617-.407-.023-.811.027-1.201.148-.487.151-.934.409-1.325.761l-1.582,1.425c-1.939-1.298-3.497-2.649-5.006-4.339-1.512-1.69-2.68-3.39-3.758-5.47l1.582-1.425c1.225-1.107,1.528-2.827.751-4.282-.604-1.133-2.223-3.857-3.053-4.903C6.661.43,5.977.044,5.223.004c-.284-.017-.571.02-.851.107-.394.124-.768.342-1.108.651l-.978.882c-.951.855-3.848,4.111-1.195,10.017,1.432,3.183,2.563,5.409,6.207,9.491,3.647,4.081,5.73,5.449,8.72,7.22,1.659.983,3.29,1.526,4.849,1.616h.033c.911.05,1.795-.057,2.63-.315'/></svg>") no-repeat left bottom;
	background-size: contain;
}

.shop_wrapper > li a i.green {
	background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 30'><path fill='%23198b86' d='M23.531,29.673c1.278-.396,2.139-1.063,2.536-1.422l.971-.875c.611-.553.944-1.224.961-1.945.02-.731-.287-1.435-.884-2.032-.948-.946-3.464-2.857-4.522-3.582-.541-.369-1.158-.584-1.792-.617-.407-.023-.811.027-1.201.148-.487.151-.934.409-1.325.761l-1.582,1.425c-1.939-1.298-3.497-2.649-5.006-4.339-1.512-1.69-2.68-3.39-3.758-5.47l1.582-1.425c1.225-1.107,1.528-2.827.751-4.282-.604-1.133-2.223-3.857-3.053-4.903C6.661.43,5.977.044,5.223.004c-.284-.017-.571.02-.851.107-.394.124-.768.342-1.108.651l-.978.882c-.951.855-3.848,4.111-1.195,10.017,1.432,3.183,2.563,5.409,6.207,9.491,3.647,4.081,5.73,5.449,8.72,7.22,1.659.983,3.29,1.526,4.849,1.616h.033c.911.05,1.795-.057,2.63-.315'/></svg>") no-repeat left bottom;
}

.shop_tab_sp_nav {
	width: calc(100% - 30px);
	height: 24px;
	margin: 40px auto 0;
	padding: 0;
	border-bottom: 1px solid #9e7a36;
	position: relative;
}

.shop_tab_sp_nav.green {
	border-bottom-color: #198b86;
}

.shop_tab_sp_nav > div {
	position: absolute;
	z-index: 1;
	bottom: -1px;
	left: 15px;
	width: 200px;
	height: 24px;
}

.shop_tab_sp_nav > div > img {
	width: 200px;
	height: 24px;
	vertical-align: bottom;
}

.shop_tab_nav {
	display: none;
}

h2.shop_other_title {
	margin: 0 auto;
	padding: 0;
	text-align: center;
	font-size: 16px;
	line-height: 1;
}

@media (min-width: 768px) {
	.shop_wrapper > li {
		width: calc(100% / 3);
		padding: 30px 15px 24px 0;
	}

	.shop_tab_sp_nav {
		height: 48px;
		border-bottom: 2px solid #9e7a36;
	}

	.shop_tab_sp_nav > div {
		bottom: -2px;
		width: 400px;
		height: 48px;
	}

	.shop_tab_sp_nav > div > img {
		width: 400px;
		height: 48px;
	}
}
@media (min-width: 840px) {
	.shop_tab_sp_nav {
		display: none;
	}

	.shop_tab_nav {
		display: block;
		transform: translateY(2px);
		width: 840px;
		height: 48px;
		margin: 40px auto 0;
		padding: 0;
		text-align: center;
		position: relative;
	}

	.shop_tab_nav .tab {
		display: block;
		position: absolute;
		z-index: 1;
		top: 0;
		width: 400px;
		height: 48px;
		margin: 0;
		padding: 0;
		text-align: center;
		cursor: pointer;
		text-decoration: none;
		user-select: none;
	}

	.shop_tab_nav .tab {
		left: 10px;
		right: auto;
	}

	.shop_tab_nav .tab + .tab {
		left: auto;
		right: 10px;
	}

	.shop_tab_nav .tab::after,
	.shop_tab_nav .tab + .tab::after {
		content: '';
		display: block;
		position: absolute;
		z-index: 2;
		bottom: 0;
		left: 0;
		width: 400px;
		height: 2px;
		margin: 0;
		padding: 0;
	}

	.shop_tab_nav .tab::after {
		background-color: #198b86;
	}

	.shop_tab_nav .tab + .tab::after {
		background-color: #9e7a36;
	}

	.shop_tab_nav .tab.is-active::after,
	.shop_tab_nav .tab + .tab.is-active::after {
		background-color: transparent;
	}

	.shop_tab_nav .tab > img {
		width: 400px;
		height: 48px;
		margin: 0;
		padding: 0;
		vertical-align: bottom;
		opacity: 0.7;
		transition: all 0.3s ease-out;
	}

	.shop_tab_nav .tab > img:hover,
	.shop_tab_nav .tab.is-active > img {
		opacity: 1;
	}

	.shop_tab_panel {
		margin: 0;
		padding: 0;
	}

	.shop_tab_panel .panel {
		display: none;
		margin: 0;
		padding: 0;
	}

	.shop_tab_panel .panel.is-show {
		display: block;
		border-top: 2px solid #9e7a36;
	}

	.shop_tab_panel .panel + .panel.is-show {
		display: block;
		border-top: 2px solid #198b86;
	}

	.collapse_nav_button {
		width: 840px;
		height: 44px;
		margin: 30px auto 0;
		padding: 0 20px;
		font-size: 20px;
		line-height: 40px;
	}

	.collapse_nav_button::after {
		right: 20px;
		border-left: 8px solid transparent;
		border-right: 8px solid transparent;
		border-top: 12px solid #9e7a36;
	}

	.collapse_nav_button.green::after {
		border-top: 12px solid #198b86;
	}

	.shop_wrapper + .collapse_nav_button {
		margin-top: 60px;
	}

	.shop_wrapper {
		width: 840px;
		padding: 0;
	}

	.shop_wrapper > li {
		width: 168px;
		padding: 30px 8px 24px;
	}

	.shop_wrapper > li a {
		left: 9px;
		font-size: 18px;
	}

	.shop_wrapper > li a i {
		width: 17px;
		height: 16px;
	}

	h2.shop_other_title {
		font-size: 20px;
		line-height: 1;
	}
}
@media (min-width: 1100px) {
	.collapse_nav_button,
	.shop_wrapper {
		width: 1050px;
	}

	.shop_wrapper > li {
		width: 210px;
	}
}
@media (min-width: 1300px) {
	.collapse_nav_button,
	.shop_wrapper {
		width: 1470px;
	}
}
@media (min-width: 1600px) {
	.collapse_nav_button {
		width: calc(100% - 30px);
	}

	.shop_wrapper {
		width: 100%;
		padding: 0 0 0 20px;
	}
}
