@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Sniglet:wght@400;800&display=swap');
html {
	font-size: 62.5%;
}
body {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	font-size: 12px;
}
.bgNoPattern {
	background-color: #fff;
}
#contentsWrapper {
	position: relative;
	line-height: 200%;
	font-family:  "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif;
	color: #fff;
	overflow: hidden;
}
.widthWrapper {
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
.widthWrapper .insideWrapper {
	position: relative;
	width: 90%;
	margin: 0 auto;
}
.kvWrapper {
	position: relative;
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
}
.kvWrapper .insideWrapper {
	position: relative;
	width: 90%;
	margin: 0 auto;
}
.widthWrapper .narrowWrapper {
	position: relative;
	width: 84%;
	max-width: 1008px;
	margin: 0 auto;
}
.kvWrapper .caution {
	position: absolute;
	text-align: right;
	bottom: 1em;
	right: 0;
}

@media screen and (max-width: 800px) {
	.widthWrapper .narrowWrapper {
		position: relative;
		width: 95%;
		margin-left: auto;
		margin-right: auto;
	}
	.kvWrapper .caution {
	display: none;
	}
}
#contentsWrapper .borderRadius{
	border: solid 10px #fff;
	border-radius: 50px;
}
@media screen and (max-width:800px){
	#contentsWrapper .borderRadius{
		border: solid 5px #fff;
		border-radius: 25px;
	}
}
#contentsWrapper .fontJp {
	font-family: "黎ミン M", "Reimin Medium";
}
#contentsWrapper .fontEn {
	font-family: 'Gilda Display', serif;;
	font-weight: 400!important;
}
.fontJp {
	font-family: "黎ミン M", "Reimin Medium";
}
#contentsWrapper a {
	color: #67081f;
	text-decoration: none;
	transition: all 300ms linear;
}
/* #contentsWrapper a:hover {
	color: #f00;
} */

#contentsWrapper .container {
    position: relative;
    width: 90%;
    margin: 0 auto;
    z-index: 1;
}
#contentsWrapper .btn a {
	display: block;
	width: 95%;
	margin: 1.3em auto;
	padding: 0.5em 0;
	color: #fff;
	background-color: #e0e3e9;
	border-radius: 4px;
	transition: all 200ms linear;
}
#contentsWrapper .btn a span {
	display: inline-block;
	width: auto;
	height: 1em;
	padding-right: 1.5em;
	line-height: 1em;
	background-image: url("../images/_svg/arrowBlack.svg");
	background-position: right 0.25em center;
	background-repeat: no-repeat;
	background-size: 1em;
}
#contentsWrapper .btn a:hover {
	margin: 1.6em auto 1em;
	text-decoration: none;
}
@media screen and (max-width: 800px) {
	#contentsWrapper .btn a,
	#contentsWrapper .btn a:hover {
		width: 100%;
		margin: 0.75em auto;
	}
}
img.cover {
	width: 100%;
	height: auto;
}
img.pageTop {
	width: 60%;
	height: auto;
}
img.cover {
	width: 100%;
	height: auto;
}
#loaderBase {
	display: none;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0px;
	left: 0px;
	background-color: #fff;
	z-index: 200;
}
.init {
	opacity: 0;
	-webkit-transform: translateY(20px);
	transform: translateY(20px);
}
@media screen and (max-width: 800px) {
	#loader {
		width: 100px;
		height: 100px;
		margin-top: -50px;
		margin-left: -50px;
	}
}
.preload {
	display: none;
}
.dispWide {
	display: block;
}
.dispNarrow {
	display: none;
}
.alignCenter {
	text-align: center;
}
.alignLeft {
	text-align: left !important;
}
@media screen and (max-width: 800px) {
	.dispWide {
		display: none;
	}
	.dispNarrow {
		display: block;
	}
}
h1 .fontEn {
	display: block;
}
.textIndent {
	margin-left: 1em;
	text-indent: -1em;
}
.textWhite {
	color: #fff;
}
.textBlack {
	color: #000000;
}
.textBrown {
	color: #805c54;
}
.textPink {
	color: #f73d76;
}
.textRed {
	color: #f00;
}
.textBold {
	font-weight: bold;
}
.textNormal {
	font-weight: normal;
}
.icon1,
.icon2 {
	display: inline-block;
	width: 0.8em;
	height: 0.8em;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: contain;
}
.icon.arrowBrown {
	background-image: url("../images/arrowBrown.png");
}
.icon.arrowWhite {
	background-image: url("../images/_svg/arrowWhite.svg");
}
.text44 .icon1 {
	background-image: url("../images/_svg/titleIcon01.svg");
	transform: translateY(0.2em);
}
.text44 .icon2 {
	background-image: url("../images/_svg/titleIcon02.svg");
	transform: translateY(0.2em);
}
#snsInfo .text34 {
	font-size: 44px;
}
.textInfoBtn {
	font-size: 24px;
}
.text44 {
	font-size: 44px;
}
.text34 {
	font-size: 34px;
}
.text24 {
	font-size: 24px;
}
.text19 {
	font-size: 19px;
}
.text18 {
	font-size: 18px;
	line-height: 200%;
}
.text12 {
	font-size: 12px;
}
@media screen and (min-width: 801px) and (max-width: 1200px) {
	.textInfoBtn {
		font-size: 1.5vw;
	}
	.text44 {
		font-size: 3.7vw;
	}
	.text34 {
		font-size: 4.666667vw;
	}
	#snsInfo .text34 {
		font-size: 3.7vw;
	}
	.text34 {
		font-size: 2.5vw;
	}
	.text24 {
		font-size: 2vw;
	}
	.text19 {
		font-size: 1.6vw;
	}
	.text18 {
		font-size: 1.5vw;
	}
	.text12 {
		font-size: 1vw;
	}
}
@media screen and (max-width: 800px) {
	.textInfoBtn {
		font-size: 3vw;
	}
	.text44 {
		font-size: 9vw;
	}
	.text34 {
		font-size: 10vw;
	}
	#snsInfo .text34 {
		font-size: 5.5vw;
	}
	.text34 {
		font-size: 5.1vw;
	}
	.text24 {
		font-size: 4vw;
	}
	footer .text24 {
		font-size: 3vw;
	}
	.text19 {
		font-size: 3.2vw;
	}
	.text18 {
		font-size: 3.6vw;
	}
	.text12 {
		font-size: 2.4vw;
	}
	#itemInfo dl + p {
		font-size: 3.4vw;
		line-height: 180%;
	}
}
.lineHeight2 {
	display: block;
	line-height: 2;
}
.lineHeight130 {
	line-height: 130%;
}
.lineHeight160 {
	line-height: 160%;
}
.lineHeight200 {
	line-height: 200%;
}
.marginTop1 {
	margin-top: 1em!important;
}
.marginTop2 {
	margin-top: 2em!important;
}
@media screen and (max-width:800px){
	.cautionMemo{
		margin-left: 2em;
	}
}
.paddingTop1 {
	padding-top: 1em!important;
}
.paddingBottom3 {
	padding-bottom: 3em;
}
.flexBlock {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	flex-direction: row;
	list-style: none;
	margin: 0 auto;
}
.flexBlockColumn {
	flex-direction: column;
}
.flexAlignCenter {
	align-items: center;
}

.flexList1 > li,
.flexList1 > div,
.flexList1 > p {
	width: 10%;
}

.flexList2 > li,
.flexList2 > div,
.flexList2 > p {
	width: 50%;
}

@media screen and (max-width: 800px) {
	.flexList2 > li,
	.flexList2 > div,
	.flexList2 > p {
		width: 100%;
	}
}
#mainVisual {
	width: 100%;
	height: 100vh;
	margin: 0 auto;
	padding: 0;
	border: 20px solid #fff;
	box-sizing: border-box;
	background-image: url("../images/_pc/mainVisual.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
#mainVisual .insideWrapper {
	height: 97.902%;
}
#mainVisual .insideWrapper img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#mainVisual .insideWrapper h1 {
	position: absolute;
	top: 0;
	left: 0;
	width: 15%;
	height: 15%;
	background-image: url("../../images/logoTabemas.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 80%;
}
#mainVisual .insideWrapper h2 {
	position: relative;
	width: 100%;
	height: 30%;
	background-image: url("../images/_pc/mainTitle.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 80%;
}
#mainVisual .insideWrapper .date {
	position: relative;
	width: 25%;
	height: 45%;
	margin-right: 75%;
	background-image: url("../images/_pc/mainDate.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 80%;
}
#mainVisual .insideWrapper .catch {
	position: relative;
	width: 100%;
	height: 20%;
	background-image: url("../images/_pc/mainCatch.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 90%;
}
#mainVisual .insideWrapper .catch a {
	display: block;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 800px) {
	#mainVisual {
		position: relative;
		max-height: 133.3333vw;
		background-image: url("../images/_sp/mainVisual.jpg");
		background-position: center top;
		background-size: cover;
		border: none;
	}
	#mainVisual .titleNarrow,
	#mainVisual .catchNarrow {
		position: absolute;
		left: 0;
		width: 100%;
		padding-top: 75%;
		background-repeat: no-repeat;
		background-size: 100% auto;
	}
	#mainVisual .titleNarrow {
		top: 60px;
		background-image: url("../images/_sp/mainTitle.png");
		background-position: center top;
	}
	#mainVisual .catchNarrow {
		bottom: 20px;
		background-image: url("../images/_sp/mainCatch.png");
		background-position: center bottom;
	}
	#mainVisual .widthWrapper {
		width: calc(100% - 40px);
		max-height: calc(133.3333vw - 40px);
		border: 20px solid #fff;
	}
	#mainVisual .kvWrapper {
		width: calc(100% - 40px);
		max-height: calc(133.3333vw - 40px);
		border: 20px solid #fff;
	}
	#mainVisual .insideWrapper {
		width: 100%;
		max-height: calc(133.3333vw - 40px);
		padding-top: 3vw;
	}
	#mainVisual .insideWrapper h1 {
		position: relative;
		width: 38vw;
		height: 88vw;
		margin-left: 1vw;
		background-position: left top;
		background-size:  auto 16.5vw;
	}
	#mainVisual .insideWrapper .arrow {
		position: absolute;
		left: 0;
		bottom: 0;
		height: 20vw;
		background-image: none;
	}
}
.bgLoop01 {
	background-image: url("../images/bgLoop01.jpg");
	background-size: cover;
}
.bgLoop02 {
	background-image: url("../images/bgLoop02.jpg");
	background-size: cover;
}
.bgLoop03 {
	background-image: url("../images/bgLoop03.jpg");
	background-size: cover;
}
.bgBlue{
	background-color: #9cdef3;
}
@media screen and (max-width: 800px) {
	.bgLoop02,
	.bgLoop03 {
		background-size: cover;
	}
}
/*about*/
#about {
	padding: 1.5em 0 2em;
}
#about h2 {
	margin: 1em auto 0;
}
#about .flexBlock {
	justify-content: center;
}
#about .flexBlock p + div {
	width: 28.5%;
}
#about .photo {
	width: 75%;
	margin: 2em auto 0;
	border: 10px solid #fff;
	border-radius: 2em;
	overflow: hidden;
}
@media screen and (max-width: 800px) {
	#about .flexBlock p {
		width: 100%;
	}
	#about .flexBlock p + div {
		width: 60%;
		margin: 0 20%;
	}
	#about .photo {
		width: 90%;
	}
	#about .aboutObj1 {
		width: 60%;
	}
}
#about.action .init {
	animation: fadeAndSlideIn 0.25s linear forwards;
}
#about.action .init + .init {
	animation: fadeAndSlideIn 0.25s linear 0.75s forwards;
}
/*items*/
#items > .bgLoop02{
	padding: 1.5em 0 0;
}
#items.action .init {
	animation: fadeAndSlideIn 0.25s linear 0.25s forwards;
}
#items.action .init + .init {
	animation: fadeAndSlideIn 0.25s linear 0.5s forwards;
}


@media screen and (max-width:800px){
	#about .spWide, #items .spWide{
		width:90vw;
	}
}
#items > div.bgLoop04 .widthWrapper {
	background-image: url("../images/pc/bgLineup04.png");
}
#items > div.bgLoop04 .widthWrapper::before {
	background-image: url("../images/pc/bgLineup03.png");
}
@media screen and (max-width: 800px) {
	#items > div .widthWrapper,
	#items > div.bgLoop04 .widthWrapper {
		background-image: none;
	}
}
#spec {
	padding: 3em 0 2em;
}
#spec h1 {
	align-items: center;
}
#spec h1.flexBlock div {
	width: 30%;
}
#spec h1.flexBlock div + div {
	width: 70%;
	line-height: 140%;
}
#spec .specDetail {
	width: 95%;
	margin: 0;
	padding: 1.3em 0 0;
	border-top: 1px solid #baa295;
}
#spec .specDetail span {
	display: block;
}
#spec .specDetail span + span {
	margin-top: 0.5em;
}
#spec .specDetail + .specDetail {
	margin: 0 0 1.3em;
	padding: 0 0 1.3em;
	border-top: none;
	border-bottom: 1px solid #baa295;
}
#spec .specDetail + .specDetail span {
	display: inline-block;
}
#spec .specPhoto img {
	border-radius: 40px;
}
#spec.action .specPhoto {
	animation: fadeAndSlideIn 0.25s linear forwards;
}
#spec.action .specPkg {
	animation: fadeAndSlideIn 0.25s linear 0.25s forwards;
}
@media screen and (max-width: 800px) {
	#spec .widthWrapper {
		padding-bottom: 0;
	}
	#spec h1.flexBlock div {
		width: 30%;
	}
	#spec h1.flexBlock div + div {
		width: 70%;
	}
	#spec .specDetail {
		width: 100%;
	}
	#spec .specPhoto {
		margin-top: 1em;
	}
	#spec .specPhoto img {
		border-radius: 5.34vw;
	}
}
#snsInfo {
	height: 45vw;
	max-height: 540px;
}
#snsInfo .obj {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 45vw;
	max-height: 540px;
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
}
#snsInfo .obj01 {
	background-image: url("../images/_pc/snsPhoto01.png");
}
#snsInfo.action .insideWrapper {
	animation: fadeAndSlideIn 0.25s linear forwards;
}
#snsInfo.action .obj01 {
	animation: fadeAndSlideIn 0.25s linear 0.25s forwards;
}
#snsInfo .widthWrapper {
	height: 45vw;
	max-height: 540px;
	padding: 0;
}
#snsInfo .widthWrapper .insideWrapper {
	width: 67.5%;
	height: 45vw;
	max-height: 540px;
	margin-left: 32%;
	padding: 170px 0 0 2em;
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url("../images/_pc/snsPhoto02.png");
	box-sizing: border-box;
}
#snsInfo .widthWrapper .insideWrapper h1 span {
	display: inline-block;
	width: 1em;
}
@media screen and (min-width: 801px) and (max-width: 1200px) {
	#snsInfo {
		min-height: 45vw;
	}
	#snsInfo .obj {
		max-height: 45vw;
	}
	#snsInfo .widthWrapper {
		max-height: 45vw;
	}
	#snsInfo .widthWrapper .insideWrapper {
		padding: 13vw 0 0 2em;
	}
}
@media screen and (max-width: 800px) {
	#snsInfo {
		height: 70vw;
	}
	#snsInfo .obj {
		position: absolute;
		bottom: 0;
		width: 100%;
		height: 78vw;
		background-position: center bottom;
		background-repeat: no-repeat;
		background-size: contain;
	}
	#snsInfo .obj01 {
		z-index: 10;
		background-image: url("../images/_sp/snsPhoto01.png");
	}
	#snsInfo .widthWrapper {
		height: 70vw;
		padding: 0;
	}
	#snsInfo .widthWrapper .insideWrapper {
		width: 100%;
		height: 68vw;
		margin-left: 0;
		padding: 30vw 0 0 40%;
		background-position: right bottom;
		background-repeat: no-repeat;
		background-size: contain;
		background-image: url("../images/_sp/snsPhoto02.png");
	}
	#snsInfo .widthWrapper .insideWrapper h1 span {
		display: inline-block;
		width: 1.5em;
		height: 0.1em;
	}
}
#survey .insideWrapper {
	width: 70%;
	padding: 2em 0;
	background-image: url("../images/_pc/bgSurvey.png");
	background-position: right bottom 10%;
	background-repeat: no-repeat;
	background-size: 100%;
}
#survey .insideWrapper .textIndent {
	margin: 2.5em 0 2.5em 2em;
}
@media screen and (max-width: 800px) {
	#survey .insideWrapper {
		width: 92%;
		padding-bottom: 48vw;
		background-image: url("../images/_sp/bgSurvey.png");
		background-position: center bottom;
		background-size: 100% auto;
	}
	#survey .insideWrapper h2 {
		font-size: 4.2vw;
	}
	#survey .insideWrapper .textIndent {
		text-align: center;
		margin: 1em 0 0;
	}
	#survey .insideWrapper .textIndent > span {
		display: inline-block;
		text-align: left;
		padding-left: 1em;
	}
}
#itemInfo {
	padding: 3em 0;
}
#itemInfo .insideWrapper {
	padding-bottom: 1em;
}
#itemInfo h2 {
	margin: 1.5em 0 0.5em;
}
#itemInfo dt {
	width: 100%;
	font-weight: bold;
}
#itemInfo dd {
	width: 98%;
	padding-left: 2%;
}
#itemInfo dd + dt {
	padding: 1em 0 0;
}
footer {
	padding: 3em 0 2em;
	background-color: #e0e3e9;
}
footer .copyRight {
	margin-bottom: 2em;
}
.snsBlock .snsIcon {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.snsBlock .snsIcon img {
	position: relative!important;
	width: 100%!important;
	height: 100%!important;
}
#mainVisual .snsBlock {
	position: absolute;
	top: 10px;
	right: 0;
}
footer .snsBlock {
	justify-content: center;
	margin-bottom: 2em;
}
#mainVisual .snsBlock .snsIcon,
footer .snsBlock .snsIcon {
	width: 3.5vw;
	max-width: 40px;
	height: 3.5vw;
	max-height: 40px;
}
#mainVisual .snsBlock .snsIcon {
	margin-left: 4px;
}
footer .snsBlock .snsIcon {
	margin: 0 4px;
}
#mainVisual .snsBlock .twitter {
	background-image: url("../images/_svg/iconTwitterWhite.svg");
}
#mainVisual .snsBlock .facebook {
	background-image: url("../images/_svg/iconFacebookWhite.svg");
}
footer .snsBlock .twitter {
	background-image: url("../images/_svg/iconTwitterBlack.svg");
}
footer .snsBlock .facebook {
	background-image: url("../images/_svg/iconFacebookBlack.svg");
}
#snsInfo .snsBlock {
	justify-content: center;
	margin-top: 15px;
}
#snsInfo .snsBlock .snsIcon {
	width: 10%;
	max-width: 80px;
	height: 10%;
	max-height: 80px;
	margin: 0 5px;
}
#snsInfo .snsBlock .twitterList {
	background-image: url("../images/_svg/iconTwitterBlack.svg");
}
#snsInfo .snsBlock .instagram {
	background-image: url("../images/_svg/iconInstaBlack.svg");
}
#goBack {
	position: fixed;
	right: 10px;
	bottom: 45px;
	width: 10vw;
	max-width: 100px;
	z-index: 100;
}
#goTop {
	padding: 1em 0;
	background-color: #d2d5da;
}
#goTop a span {
	display: inline-block;
	width: auto;
	height: 1em;
	padding-right: 1.5em;
	background-image: url("../images/_svg/arrowBlack.svg");
	background-position: right 0.25em center;
	background-repeat: no-repeat;
	background-size: 1em;
}
.footerBanner {
	width: 92%;
	max-width: 800px;
	margin: 0 auto 30px;
}
@media screen and (min-width: 801px) and (max-width: 1200px) {
	footer {
		padding: 1.5em 0 1em;
	}
	footer p {
		margin-bottom: 1em;
	}
	#mainVisual .snsBlock {
		top: 2.5vw;
	}
	footer .snsBlock {
		margin-bottom: 1em;
	}
	#snsInfo .snsBlock {
		margin-top: 1.25vw;
	}
}
@media screen and (max-width: 800px) {
	footer {
		padding: 3em 0 2em;
	}
	footer p {
		margin-bottom: 1em;
	}
	#mainVisual .snsBlock {
		position: absolute;
		top: 6.67vw;
		right: 4vw;
	}
	#mainVisual .snsBlock .snsIcon,
	footer .snsBlock .snsIcon {
		width: 7.8vw;
		max-width: 7.8vw;
		height: 7.8vw;
		max-height: 7.8vw;
	}
	#mainVisual .snsBlock .snsIcon {
		margin-left: 1.335vw;
	}
	footer .snsBlock .snsIcon {
		margin: 0 1vw;
	}

	#snsInfo .snsBlock {
		margin-top: 0;
		margin-left: 20px;
	}
	#snsInfo .snsBlock .snsIcon {
		width: 11vw;
		max-width: 11vw;
		height: 11vw;
		max-height: 11vw;
		margin: 0 0.75vw;
	}
	#goBack {
		bottom: 60px;
		width: 15vw;
	}
}
/* animation */
@keyframes fadeAndSlideIn {
	0% {
		opacity: 0;
		-webkit-transform: translateY(20px);
		transform: translateY(20px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}


/* 追加ボタン */

#contentsWrapper .btnBlue a {
	display: block;
	width: 70%;
	margin: 1.3em auto;
	padding: 0.5em 0;
	color: #fff;
	background-color: #53b3ef;
	border-radius: 4px;
	transition: all 200ms linear;
	border-radius: 40px;
	background-image: url("../images/_svg/arrowWhite.svg");
	background-position: right 1em center;
	background-repeat: no-repeat;
	background-size: 1em;
}
#contentsWrapper .btnBlue a span {
	display: inline-block;
	width: auto;
	height: 1em;
	padding-right: 1.5em;
	line-height: 1em;
}
#contentsWrapper .btnBlue a:hover {
	margin: 1.6em auto 1em;
	text-decoration: none;
}
@media screen and (max-width: 800px) {
	#contentsWrapper .btnBlue a,
	#contentsWrapper .btnBlue a:hover {
		width: 100%;
		margin: 0.75em auto;
	}
}
