@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Sniglet:800');
html {
	font-size: 62.5%;
}
body {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	font-size: 12px;
}
.bgNoPattern {
	background-color: #fff;
}
#contentsWrapper .fontJp {
	font-family: "heisei-maru-gothic-std",sans-serif;
}
#contentsWrapper .fontEn {
	font-family: 'Sniglet', sans-serif;
	font-weight: 800!important;
}
#contentsWrapper a {
	color: #67081f;
	text-decoration: none;
	transition: all 300ms linear;
}
#contentsWrapper a:hover {
	color: #f00;
}
#contentsWrapper .btn a {
	display: block;
	width: 95%;
	margin: 1.3em auto;
	color: #fff;
	background-color: #fd98ac;
	border-radius: 4px;
	transition: all 200ms linear;
}
#contentsWrapper .btn a span {
	display: inline-block;
	width: auto;
	padding: 0.7em 1.5em 0.3em 0;
	background-image: url("../images/_svg/iconArrowWhite.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;
}

.radius2em {
	border-radius: 2em;
	overflow: hidden;
}
.radius4em {
	border-radius: 4em;
	overflow: hidden;
}
#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;
}
@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;
}
.textBrown {
	color: #5a322a;
}
.textPink {
	color: #fe7fa6;
}
.textRed {
	color: #f00;
}
.textBold {
	font-weight: bold;
}
.textNormal {
	font-weight: normal;
}
.icon {
	display: inline-block;
	width: 1em;
	height: 1em;
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: contain;
}
.icon.arrowBrown {
	background-image: url("../images/arrowBrown.png");
}
.icon.arrowWhite {
	background-image: url("../images/arrowWhite.png");
}

.textXXLarge {
	font-size: 44px;
}
.textXLarge {
	font-size: 34px;
}
.textLarge {
	font-size: 24px;
}
.textRegular {
	font-size: 19px;
	line-height: 200%;
}
.textSmall {
	font-size: 18px;
	line-height: 200%;
}
.textXSmall {
	font-size: 12px;
}
.text0 {
	font-size: 0;
}
.lineHeight100 {
	line-height: 100%;
}
.lineHeight150 {
	line-height: 150%;
}
.lineHeight180 {
	line-height: 180%;
}

@media screen and (min-width: 801px) and (max-width: 1200px) {
	.textXXLarge {
		font-size: 3.7vw;
	}
	.textXLarge {
		font-size: 2.5vw;
	}
	.textLarge {
		font-size: 2vw;
	}
	.textRegular {
		font-size: 1.6vw;
	}
	.textSmall {
		font-size: 1.5vw;
	}
	.textXSmall {
		font-size: 1vw;
	}
}
@media screen and (max-width: 800px) {
	.textXXLarge {
		font-size: 9vw;
	}
	#snsInfo .textXXLarge {
		font-size: 5.5vw;
	}
	.textXLarge {
		font-size: 5.1vw;
	}
	.textLarge {
		font-size: 4vw;
	}
	.textRegular {
		font-size: 3.2vw;
	}
	.textSmall {
		font-size: 3.6vw;
	}
	.textXSmall {
		font-size: 2.4vw;
	}
	#itemInfo dl + p {
		font-size: 3.4vw;
		line-height: 180%;
	}
}
.marginTop1 {
	margin-top: 1em!important;
}
.marginTop2 {
	margin-top: 2em!important;
}
.marginTop3 {
	margin-top: 3em!important;
}
.flexBlock {
	display: -webkit-flex;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	flex-direction: row;
	list-style: none;
	margin-left: auto;
	margin-right: auto;
}
.flexBlockColumn {
	flex-direction: column;
}
.flexCenter {
	justify-content: center;
}
.flexLeft {
	justify-content: left;
}
.flexAlignCenter {
	align-items: center;
}
.flexList2 > li,
.flexList2 > div,
.flexList2 > p {
	width: 50%;
}
@media screen and (max-width: 800px) {
	.flexList2 > li,
	.flexList2 > div,
	.flexList2 > p {
		width: 100%;
	}
}
#contentsWrapper {
	position: relative;
	line-height: 200%;
	font-family:  "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, sans-serif;
	color: #67081f;
	overflow: hidden;
}
.widthWrapper {
	position: relative;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}
.section .widthWrapper {
	padding: 30px 0 30px;
}
.container {
	position: relative;
	width: 90%;
	margin: 0 auto;
	z-index: 1;
}
#items .container {
	width: 100%;
}
.widthWrapper .container + .container {
	width: 84%;
}
@media screen and (min-width: 801px) and (max-width: 1200px) {
	.section .widthWrapper {
		padding: 3.33vw 0 2.5vw;
	}
}
@media screen and (max-width: 800px) {
	.section .widthWrapper {
		padding: 5.33vw 0 4vw;
	}
	.container,
	.widthWrapper .container + .container {
		width: 92%;
	}
}
.titleWithIcon {
	position: relative;
}
.titleWithIcon > span {
	display: inline-block;
	position: relative;
	padding: 0 1em;
}
.titleWithIcon > span::before,
.titleWithIcon > span::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	width: 0.7em;
	height: 0.7em;
	background-image: url("../images/_svg/titleIcon.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.titleWithIcon > span::before {
	left: 0;
	transform: translateY(-50%);
}
.titleWithIcon > span::after {
	right: 0;
	transform: translateY(-50%);
}
.titleWithIcon > span + span {
	display: block;
}
.titleWithIcon > span + span::before,
.titleWithIcon > span + span::after {
	display: none;
}
#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;
	display: block;
	position: relative;
}
#mainVisual .widthWrapper,
#mainVisual .container {
	width: 100%;
	height: 100%;
}
#mainVisual .copyRight{
	text-align: right;
	position: absolute;
	right: 0;
	bottom: 1em;
}
#mainVisual .copyRight img{
	width: 70%;
}
#mainVisual .logoDoraemon{
	position: absolute;
	bottom: 2%;
	left: 2%;
}
#mainVisual .container h2 {
	position: absolute;
	top: 0;
	left: 5%;
	width: 15%;
	height: 15%;
	background-image: url("../../images/logoTabemas.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
#mainVisual .container h3 {
	position: relative;
	width: 60%;
	height: 30%;
	margin-left: auto;
	margin-right: auto;
	background-image: url("../images/_pc/mainTitle.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
#mainVisual .container .date {
	position: relative;
	width: 18%;
	height: 48%;
	margin-left: auto;
	margin-right: 5%;
	background-image: url("../images/_pc/mainDate.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
#mainVisual .container .catch {
	position: relative;
	width: 100%;
	height: 25%;
	background-image: url("../images/_pc/mainCatchLarge.png");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 90%;
	max-width: 1200px;
}
#mainVisual .container .catch a {
	display: block;
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 800px) {
	#mainVisual {
		position: relative;
		max-height: 133.33333vw;
		background-image: url("../images/_sp/mainVisual.jpg");
		background-position: center top -3em;
		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: 20px;
		background-image: url("../images/_sp/mainTitle.png");
		background-position: center top;
	}
	#mainVisual .catchNarrow {
		bottom: 35px;
		background-image: url("../images/_sp/mainCatch.png");
		background-position: center bottom;
	}
	#mainVisual .widthWrapper {
		width: calc(100% - 40px);
		max-height: calc(133.33333vw - 40px);
		border: 20px solid #fff;
	}
	#mainVisual .container {
		width: 100%;
		max-height: calc(133.33333vw - 40px);
		padding-top: 3vw;
	}
	#mainVisual .container h2 {
		position: relative;
		width: 38vw;
		height: 88vw;
		margin-left: 1vw;
		background-position: left top;
		background-size:  auto 16.5vw;
	}
	#mainVisual .container .arrow {
		position: absolute;
		left: 0;
		bottom: 0;
		height: 20vw;
		background-image: none;
	}
	#mainVisual .copyRight{
		display: none;
	}
	#mainVisual .logoDoraemon{
		bottom: 8.5%;
		left: 10%;
	}
	#mainVisual .logoDoraemon img{
		width: 65%
	}
}
.bgWhite {
	background-color: #fff;
}
.bgLightBlue {
	background-color: #e1eefb;
}
.bgBlue {
	background-color: #b6d5f8;
}
.bgLoop1 {
	background-image: url("../images/bgLoop1.jpg");
}
.bgLoop2 {
	background-image: url("../images/bgLoop2.jpg");
}
#about .widthWrapper .container + .container .flexBlock > div {
	width: 45%;
	max-width: 450px;
}
#about .widthWrapper .container + .container .flexBlock > div + div {
	width: 46%;
	max-width: 712px;
}
#about .widthWrapper .container + .container .flexBlock + p {
	width: 85%;
	max-width: 840px;
	margin: 0 auto;
}
#about .widthWrapper .container + .container .flexBlock + p > span {
	display: block;
	border: 10px solid #fff;
}
@media screen and (max-width: 800px) {
	#about .widthWrapper .container + .container .flexBlock > div {
		width: 100%;
		max-width: inherit;
		margin: 0 auto;
		order: 2;
		padding-right: 7%;
	}
	#about .widthWrapper .container + .container .flexBlock > div + div {
		width: 100%;
		max-width: inherit;
		order: 1;
	}
	#about .widthWrapper .container + .container .flexBlock + p {
		width: 94%;
		max-width: inherit;
		margin: 0 auto;
	}
}
#about.action .init {
	animation: fadeAndSlideIn 0.25s linear forwards;
}
#about.action .init + .init {
	animation: fadeAndSlideIn 0.25s linear 0.75s forwards;
}
#items .widthWrapper.action li:nth-child(1) {
	animation: fadeAndSlideIn 0.5s linear 0.25s forwards;
}
#items .widthWrapper.action li:nth-child(2) {
	animation: fadeAndSlideIn 0.5s linear 0.5s forwards;
}
#items .widthWrapper li:nth-child(3) {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
#items .widthWrapper.action li:nth-child(3) {
	animation: fadeAndSlideIn 0.5s linear 0.75s forwards;
}
#spec .flexBlock .flexBlock div {
	width: 30%;
}
#spec .flexBlock .flexBlock div + div {
	width: 70%;
	line-height: 140%;
}
#spec .specDetail {
	width: 95%;
	margin: 0;
	padding: 1.3em 0 1em;
	border-top: 1px solid #baa295;
	clear: both;
}
#spec .specDetail + .specDetail {
	margin: 0 0 1.3em;
	padding: 0 0 1.3em;
	border-top: none;
	border-bottom: 1px solid #baa295;
}
#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 .flexBlock .flexBlock div {
		width: 30%;
	}
	#spec .flexBlock .flexBlock div + div {
		width: 70%;
	}
	#spec .specDetail {
		width: 100%;
		margin: 0 0 1.3em;
		padding: 1.3em 0;
	}
	#spec .textXSmall {
		margin: 1.8em auto;
		line-height: 160%;
	}
	#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 .container {
	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 .container {
	width: 100%;
	height: 45vw;
	max-height: 540px;
	padding: 168px 10% 0 58%;
	background-image: url("../images/_pc/snsPhoto02.png");
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
	box-sizing: border-box;
}
#snsInfo .widthWrapper .container p {
	text-indent: -1em;
}
@media screen and (min-width: 801px) and (max-width: 1200px) {
	#snsInfo .widthWrapper .container {
		padding: 15vw 10% 0 58%;
	}
}
@media screen and (max-width: 800px) {
	#snsInfo {
		height: 78vw;
	}
	#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: 78vw;
		padding: 0;
	}
	#snsInfo .widthWrapper .container {
		width: 100%;
		height: 78vw;
		margin-left: 0;
		padding: 17vw 0 0 52%;
		background-position: center bottom;
		background-repeat: no-repeat;
		background-size: contain;
		background-image: url("../images/_sp/snsPhoto02.png");
	}
}
#survey .widthWrapper {
	padding: 2em 0 3em;
	background-image: url("../images/bgSurvey.png");
	background-position: right -1em bottom;
	background-repeat: no-repeat;
	background-size: 50% auto;
}
#survey .container {
	width: 70%;
}
@media screen and (max-width: 800px) {
	#survey .widthWrapper {
		background-position: center bottom;
		background-size: 100% auto;
	}
	#survey .container {
		width: 92%;
		padding: 0 0 30vw;
	}
	#survey .container .textIndent {
		text-align: center;
		margin-top: 1em;
		padding-bottom: 0;
		line-height: 180%;
	}
}
#itemInfo .container {
	padding-bottom: 1em;
}
#itemInfo dt {
	width: 100%;
	font-weight: bold;
}
#itemInfo dd {
	width: 98%;
	padding-left: 2%;
}
footer {
	padding: 3em 0 2em;
	background-color: #f7f1ec;
}
footer p {
	margin-bottom: 2em;
}
.snsBlock .snsIcon {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.snsBlock .snsIcon a,
.snsBlock .snsIcon img {
	position: relative!important;
	width: 100%!important;
	height: 100%!important;
}
.snsBlock .snsIcon a {
	display: block;
}
#mainVisual .snsBlock {
	position: absolute;
	top: 10px;
	right: 5%;
}
#snsInfo .snsBlock {
	margin-left: -1em;
}
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/iconTwitterColor.svg");
}
#mainVisual .snsBlock .facebook {
	background-image: url("../images/_svg/iconFacebookColor.svg");
}
footer .snsBlock .twitter {
	background-image: url("../images/_svg/iconTwitterPurple.svg");
}
footer .snsBlock .facebook {
	background-image: url("../images/_svg/iconFacebookPurple.svg");
}
#snsInfo .snsBlock .snsIcon {
  width: 7.85vw;
  max-width: 84px;
  height: 7.85vw;
  max-height: 84px;
}
#snsInfo .snsBlock .snsIcon + .snsIcon {
	margin-left: 2em;
}
#snsInfo .snsBlock .snsIcon a {
	display: block;
	width: 100%;
	height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
#snsInfo .snsBlock .twitter a {
	background-image: url("../images/_svg/iconTwitterColor.svg");
}
#snsInfo .snsBlock .instagram a {
	background-image: url("../images/_svg/iconInstaColor.svg");
}
#goBack {
	position: fixed;
	right: 10px;
	bottom: 45px;
	width: 5vw;
	max-width: 60px;
	height: 5vw;
	max-height: 60px;
	z-index: 100;
}
#goBack > a {
	display: block;
	width: 100%;
	height: 100%;
	background-image: url("../images/_svg/iconArrowUpPurple.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
#goTop a span {
	display: inline-block;
	width: auto;
	padding: 1.2em 1.5em 0.8em 0;
	background-image: url("../images/_svg/iconArrowColor.svg");
	background-position: right 0.25em center;
	background-repeat: no-repeat;
	background-size: 1em;
}
.footerBanner {
	width: 92%;
	max-width: 420px;
	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;
	}
}
@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!important;
	}
	#snsInfo .snsBlock .snsIcon {
		width: 11vw;
		max-width: 11vw;
		height: 11vw;
		max-height: 11vw;
		margin: 0 0.75vw;
	}
	#snsInfo .snsBlock .snsIcon + .snsIcon {
		margin-left: 1em;
	}
	#goBack {
		width: 10vw;
		max-width: inherit;
		height: 10vw;
		max-height: inherit;
		bottom: 25vw;
		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);
	}
}
