charset "UTF-8";
/* CSS Document */
/********************************************
	共通
*********************************************/
*{
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	}

body {
	color: #333;
	display: block;
	font-family: 'Noto Sans JP', sans-serif,"Montserrat","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
	height: 100%;
	max-width: 100%;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	font-size: 15px;
    margin: 0;
	}
a,
a:hover {
	text-decoration: none;

	-webkit-transition-duration: 0.5s;
	-moz-transition-duration: 0.5s;
	transition-duration: 0.5s;
	}
	/* a:link {}
	a:visited {} */
img {
	margin: 0;
	padding: 0;
	vertical-align: bottom;
	outline: none;
	max-width:100%;
	height: auto;
	}
img:hover { outline: none; }
a:hover img {
	opacity:0.75;
}
ul {
	list-style: none;
	padding: 0;
}
h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin: 0;
	}

.inner {
    max-width: 1200px;
    margin: 0 auto;
}
em {font-style: normal;}
.fade-in {
  transition: opacity 0.5s;
  -moz-transition: opacity 0.5s;
  -webkit-transition: opacity 0.5s;
  -o-transition: opacity 0.5s;
    -webkit-transition-duration: 1s;
    -moz-transition-duration: 1s;
    transition-duration: 1s;
	transition-timing-function:ease-in-out;
}
img { width: 100%;}
.sp { display: none;}
.orange_area { background: radial-gradient(circle, #e77727, #f2b121);}
.purple_area { background: radial-gradient(circle, #261045, #5c3391);}
h2{
	margin: 0 auto 1rem;
	width: 40%;
	position: relative;
}
.stage:before, 
.stage:after, 
.greeting:after,
.greeting h2:before,
.apri:after,
#mv:before, 
#mv:after, 
#mv .inner:before, 
#mv .inner:after, 
#mv .more_pdf:after, 
a.sp:after,
.stage li:before, 
.stage li:after, 
.workshop:before,
.workshop:after,
.workshop h2:before, 
.workshop h2:after,
.kitchin02:after,
.kitchin03:after,
.kitchin02 h3:before,
.kitchin02 h3:after,
.kitchin_car:before,
.kitchin_car:after,
.kitchin_car h2:before,
.kitchin_car h2:after,
.kitchin_car .tl_box:after,
.street:before,
.street:after, 
.street h2:before, 
.street h3:before, 
.street h3:after, 
.street ul:after, 
.street ul.street01:before,
.obake_area:before,
.obake_area:after,
.fafa_area:before,
.fafa_area:after,
.obake_area h2:before, 
.fafa_area h2:before, 
.fafa_area h2:after, 
.fafa_area ul li:before, 
.prezent_area:before, 
.prezent_area:after,
.prezent_area .badge:after,
.more_prezent:before, 
.more_prezent:after, 
.access_area:before, 
.access_area:after,
.access h2:before, 
.footer_area:after {
	content: '';
	position: absolute;
	background-repeat: no-repeat;
	background-size: contain;
}

.tl_box {
    text-align: center;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.8;
    padding-bottom: 5rem;
    position: relative;
}
/*----------------------------
    mv
----------------------------*/
#mv {
	position: relative;
	background-image: url(../../src/img/bg_pattern01.webp);
	width: 100%;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	overflow: hidden;
	z-index: 0;
}
#mv h1 {
	position: relative;
	z-index: 1;
}
#mv .charm {
  position: absolute;
  height: auto;
}
#mv .charm.dokuro {
    top: 10%;
    left: 2%;
    height: auto;
    width: 4%;
    z-index: -1;
}
#mv .charm.pumpkin {
    top: 0;
    left: 7%;
    height: auto;
    width: 8%;
    z-index: 0;
}
#mv .charm.dokuro02 {
    top: 0;
    left: 15%;
    height: auto;
    width: 3%;
}
#mv .charm.dokuro03 {
    top: 0;
    right: 17%;
    z-index: -1;
    width: 5%;
}
#mv .charm.pumpkin02 {
    top: -5%;
    right: 10%;
    height: auto;
    width: 8%;
}
#mv .charm.bat {
    top: 9%;
    right: 3%;
    height: auto;
    width: 12%;
    z-index: -1;
}
#mv .charm.dokuro04 {
    top: 15%;
    right: 0;
    height: auto;
    width: 4%;
    z-index: revert-layer;
    z-index: -1;
}
#mv .charm img {
  width: 80%;
  height: auto;
  animation: stretch 2.5s ease-in-out infinite;
  transform-origin: top center;
  height: auto;
}

#mv:before {
    background-image: url(../../src/img/main_top.webp);
    background-position: center top;
    width: 100%;
    height: 1000px;
}

#mv:after {
    background-image: url(../../src/img/broom_left.png);
    width: 200px;
    height: 250px;
    left: -50px;
    bottom: 0;
}
#mv .inner {
	position: relative;
	text-align: center;
	padding: 5rem 0;
}

#mv p {
    color: #fff;
    font-weight: 600;
	margin-top: 1rem;
	font-size: 1rem;
    text-shadow: -1px -1px 0 #b2694c, 1px -1px 0 #b2694c, -1px 1px 0 #b2694c, 1px 1px 0 #b2694c;
}

#mv .more_pdf {
	background-color: #fff;
	color: #523287;
	font-size: 1.2rem;
	font-weight: 600;
	padding: 1rem;
	position: relative;
	z-index: 50;
	width: 30%;
	display: inline-block;
	border-radius: 20px;
	margin-top: 1rem;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

#mv .more_pdf:after, a.sp:after {
    top: 50%;
    right: 15px;
    margin-top: -4px;
    width: 8px;
    height: 8px;
    border-top: 3px solid #5327d0;
    border-right: 3px solid #5327d0;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    transition: all 0.3s;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#mv .more_pdf span {
    position: absolute;
    width: 30px;
    top: 1rem;
    right: 40px;
}

#mv .inner:before, #mv .inner:after {
	background-repeat: no-repeat;
	bottom: 10%;
}
#mv .inner:before {
	background-image: url(../../src/img/bat.png);
	width: 150px;
	height: 100px;
	left: 20%;
	animation: fuwafuwa 1.4s ease-in-out infinite;
}
#mv .inner:after {
	background-image: url(../../src/img/yuki.png);
	width: 100px;
	height: 100px;
	right: 20%;
}

/*----------------------------
    stage
----------------------------*/
.stage {
	background-image: url(../../src/img/bg_pattern02.webp);
	width: 100%;
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: center bottom 5rem;
	position: relative;
	overflow: hidden;
}
.stage span {
    position: absolute;

}
.stage .illust01 {
    width: 220px;
    top: -50px;
    right: -50px;
}
.stage .illust02 {
    width: 120px;
    top: 30%;
    left: 0;
}
.stage:before, .stage:after {
	width: 200px;
	background-position: top;
}
.stage:before {
	background-image: url("../../src/img/cloud_white.png");
	left: 0;
	height: 700px;
}
.stage:after{
	background-image: url("../../src/img/cloud_purple.png");
	right: 0;
	height: 1000px;
	bottom: 0;
}
.stage ul {
    margin-top: 3rem;
    position: relative;
}
.stage li {
	background-image: url("../../src/img/stage_box_bg.png");
	background-repeat: repeat-y;
	background-size: 100%;
	position: relative;
	width: 70%;
	margin: 5rem auto;
	padding: 1rem 0;
	z-index: 1;
}
.stage li:before, .stage li:after {
	background-image: url("../../src/img/stage_box_top.png");
	background-size: 100%;
	width: 100%;
	height: 75px;
}
.stage li:after {
	bottom: -2rem;
	left: 0;
	transform: scaleY(-1);
}
.stage li:before {
    top: -2rem;
    right: 0;
}

.stage li p {
    width: 70%;
    margin: 0 auto;
}



/*----------------------------
    workshop
----------------------------*/
.workshop {
    margin-top: 2rem;
    position: relative;
	background-image: 
    url(../../src/img/bg_pattern01.webp),
	url(../../src/img/bg_pattern02.webp),
    url(../../src/img/bg_pattern01.webp); 
  	background-position:
    top, 
    center,
	bottom;
   	background-repeat: no-repeat;
	background-size: contain;
}
.workshop:before {
	background-image: url("../../src/img/cloud_purple.png");
	left: 0;
	height: 600px;
	top: -200px;
}
.workshop:after {
	background-image: url("../../src/img/cloud_white.png");
	right: 0;
	height: 700px;
	top: 10%;
}
.workshop:before, 
.workshop:after {
	width: 200px;
	transform: rotate(180deg);
	background-position: top right;
}
.workshop h2 {
	position: relative;
	width: 35%;
}
.workshop h2:before {
	background-image: url(../../src/img/bat.png);
	width: 150px;
	height: 100px;
	left: -150px;
	animation: fuwafuwa 1.4s ease-in-out infinite;
}
.workshop h2:before {
	background-image: url(../../src/img/bat.png);
	width: 150px;
	height: 100px;
	left: -150px;
	animation: fuwafuwa 1.4s ease-in-out infinite;
}
.workshop h2:after {
	background-image: url(../../src/img/house03.webp);
    width: 250px;
    height: 220px;
    right: -250px;
	animation: fuwafuwa 1.4s ease-in-out infinite;
}
.workshop .title_sub {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60%;
    margin: 0 auto;
}

.workshop .detail {
    color: #fff;
    width: 50%;
    margin: 1rem auto;
    font-size: 1.2rem;
    line-height: 1.5;
}

.workshop .detail small {
    font-size: 0.9rem;
    line-height: 1;
}

.workshop .detail li:nth-child(6) {
	margin-top: 1rem;
	
}
.workshop .work_box {
	width: 80%;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

/*----------------------------
    greeting
----------------------------*/
.greeting {
	background-image: url(../../src/img/bg_pattern02.webp);
	background-repeat: no-repeat;
	background-size: 100%;
	position: relative;
	margin-top: 8rem;
	z-index: 1;
}

.greeting:after {
	background-image: url("../../src/img/cloud_purple02.webp");
	left: 0;
	height: 600px;
	bottom: -200px;
	width: 200px;
	z-index: 0;
}
.greeting .inner {
    background-color: #eac764;
    background-image: radial-gradient(circle, #dcba5e 2px, transparent 2px), radial-gradient(circle, #dcba5e 2px, transparent 2px);
    background-position: 0 0, 8px 16px;
    background-size: 16px 32px;
    width: 50%;
    border: 15px solid transparent;
    border-image: repeating-linear-gradient(    45deg,    #fccb00 0 10px,    #f6b057 10px 30px  ) 30;
    padding: 1rem;
}

.greeting h2 {
    width: 60%;
    margin-top: -5rem;
}
.greeting h2:before {
	background-image: url(../../src/img/bat.png);
	width: 150px;
	height: 100px;
	left: -150px;
	animation: fuwafuwa 1.4s ease-in-out infinite;
}


.greeting h3 {
    width: 70%;
    margin: 0 auto;
}

.greeting dl {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    width: 90%;
    margin: 0 auto;
}

.greeting dl dt {
    width: 20%;
    margin: 0;
}

.greeting dl dd {
    width: 80%;
    margin: 0 0 0 1rem;
    font-size: 20px;
}


/*----------------------------
    apri
----------------------------*/
.apri {
    padding: 3rem 0 20rem;
    margin-top: 5rem;
    position: relative;
    bottom: 0;
    background-position: center bottom;
}
.apri .inner {
	position:relative;
    z-index:1
}

.apri .apri_box {
    width: 60%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.apri h2 {
    width: 60%;
}

.apri .apri_box .apri_rink {
    background-color: #000;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60%;
}

.apri_box .dl_text {
    display: flex;
    border-radius: 20px;
    align-items: center;
}

.apri_box .dl_text .text {
	width: 75%;
	padding-right: 2rem;
}
.apri_box .dl_text .img {
	width: 25%;
}

.apri_dl {
    border-radius: 20px;
    padding: 1rem;
    margin-bottom: 1rem;
}

.apri_dl h3 {
    margin-top: -5rem;
    width: 80%;
    margin: 0 auto 0;
}

.apri_dl p {
    color: #fff;
    font-size: 1rem;
    text-align: center;
    margin: 0.5rem 0;
}

.apri_dl .dl_list {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.apri_dl .dl_list .qr {
    width: 15%;
}

.apri_dl .dl_list .dl_btn {
    width: 30%;
}

.apri_dl .dl_list li {
    padding: 1.5%;
}

.apri_dl .dl_list .dl_btn a {
    widh: 100%;
}

.apri_dl span {
    color: #fff;
    font-size: 12px;
    line-height: 1.3;
    display: block;
    font-weight: 300;
}

.apri_box .apri_link i {
    width: 15%;
    margin-right: 3%;
}

.apri_box .apri_link {
    width: 50%;
    margin: 0 auto;
    background-color: #fff;
    color: #523287;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    border-radius: 10px;
    position: relative;
    font-size: 1.2rem;
    line-height: 1.3;
}
.apri_box .apri_link:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -4px;
    width: 8px;
    height: 8px;
    border-top: 4px solid #523287;
    border-right: 4px solid #523287;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    transition: all 0.3s;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.apri_box .apri_link span {
    font-weight: 600;
}

.apri:after {
	background-image: url(../../src/img/bottom_bg.webp);
	background-position: left bottom;
	width: 100%;
	padding-bottom: 32.25%;
	bottom: -5px;
	z-index: 0;
}
/*----------------------------
    kitchin_car
----------------------------*/
.kitchin_car {
    background-color: #fff;
    background-size: 14px 28px;
    color: #fff;
    padding: 0 0 3rem;
    position: relative;
}

.kitchin_car .inner {
    width: 1100px;
}
.kitchin_car .tl_box {
    position: relative;
    color: #231815;
    padding-bottom: 0;
}
.kitchin_car .tl_box:after {
	background-image: url("../../src/img/pot.png");
	width: 150px;
	height: 150px;
	right: 0;
}
.kitchin_car .tl_box p {
    font-size: 1.2rem;
    font-weight: 600;
}
.kitchin_car h2 {
    margin: 0 auto;
    width: 50%;
	position: relative;
}
.kitchin_car h2:before {
	background-image: url(../../src/img/cat.png);
	width: 100px;
	height: 120px;
	right: -150px;
	top: -50px;
}
.kitchin_car h2:after {
	background-image: url(../../src/img/cross.png);
	width: 100px;
	height: 150px;
	left: -200px;
	bottom: 0;
	/*animation: heartbeat 1.7s ease-in-out infinite;*/
}
.kitchin_car .tl_text {
    padding: 1rem 0 2rem;
    font-size: 1.2rem;
    font-weight: 600;
}
.kitchin_car h3 {
    width: 70%;
    margin: 2rem auto;
	position: relative;
}
.kitchin_car:before {
	background-image: url("../../src/img/cloud_purple.png");
	left: 0;
	height: 600px;
	top: 70%;
	width: 200px;
	transform: rotate(180deg);
	background-position: top right;
}
.kitchin_car:after {
	background-image: url("../../src/img/cloud_purple02.webp");
	right: 0;
	height: 600px;
	top: 50%;
	width: 200px;
	transform: rotate(180deg);
	background-position: top left;
}
.kitchin02:after {
	background-image: url("../../src/img/dokurostar.png");
	width: 100px;
	height: 300px;
	right: 50px;
	bottom: 0;
}
.kitchin03:after {
	background-image: url("../../src/img/candy_set.png");
	width: 200px;
	height: 300px;
	right: 50px;
	bottom: 0;
}
.kitchin02 h3:before {
	background-image: url("../../src/img/pot.png");
	width: 150px;
	height: 150px;
	left: -200px;
	top: -50px;
	transform: rotate(30deg);
}
.kitchin02 h3:after {
	background-image: url("../../src/img/bat.png");
	width: 200px;
	height: 200px;
	right: -200px;
	top: -50px;
	transform: rotate(45deg);
	animation: fuwafuwa 1.4s ease-in-out infinite;
}

.kitchin_list {
    display: flex;
    justify-content: space-between;
    height: auto;
    width: 80%;
    margin: 0 auto;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

.kitchin_list li {
    width: 47%;
    margin: 0 1.5%;

}
.kitchin_box { position: relative;}

.kitchin_car .tl_text span {
	display: block;
}

.kitchin_list li .kitchin_custom {
	background-color: #fff;
	padding: 2rem;
	border-radius: 30px;
	box-sizing: border-box;
	margin-bottom: 5rem;
	position: relative;
	color: #fff;
}

.kitchin_box h4 {
    width: 30%;
    margin: 0 auto 2rem;
}

.menu {
    margin-top: 1rem;
    font-weight: 600;
    color: #4a2013;
    flex-grow: 1;
}
.kitchin_list li .kitchin_custom dt {
    margin-top: -5rem;
}

.menu dd {
    margin: 0.2rem 0 0 0;
    line-height: 1.5;
}

.menu dd p {
    display: flex;
}
.menu dd em {
    font-style: normal;
    font-size: 12px;
    display: block;
}

.menu dd p span:first-child {
    width: 75%;
}

.menu dd p span:last-child {
    width: 25%;
    text-align: right;
	font-size: 1.1rem;
}

.menu dd .long span:first-child {
    width: 50%;
}

.menu dd .long span:last-child {
    width: 50%;
}

/*----------------------------
    street
----------------------------*/
.street {
    padding: 7rem 0 5rem;
    height: 100%;
    position: relative;
}
.street:before,
.street:after,
.obake_area:before, 
.fafa_area:before, 
.fafa_area:after, 
.access_area:before {
	height: 100%;
	width: 100%;
	z-index: 0;
	opacity: 0.3;
}
.street .inner{
	position: relative;
}
.street:before, 
.obake_area:before, 
.fafa_area:before,
.access_area:before {
	background-image: url(../../src/img/bg_pattern01.webp);
	top: 0;
	background-position: top;
}
.street:after, .fafa_area:after {
	background-image: url(../../src/img/bg_pattern02.webp);
	bottom: 5%;
	background-position: bottom;
}
.street h2:before {
	background-image: url("../../src/img/dokuro.png");
	width: 100px;
	height: 100px;
	left: -100px;
	top: -50px;
	animation: heartbeat 1.4s ease-in-out infinite;
}

.street ul {
	position: relative;
	z-index: 1;
}
.street ul:after {
	background-image: url("../../src/img/star.png");
	width: 50px;
	height: 50px;
	right: 100px;
	bottom: 0;
	animation: heartbeat 1.4s ease-in-out infinite;
}
.street ul.street02:after {
	right: auto;
	left: 0
	transform: rotate(45deg);
}
.street ul.street01:before {
	background-image: url("../../src/img/pumpkin.png");
	width: 80px;
	height: 70px;
	right: 50%;
	bottom: 0;
}
.street ul li {
    width: 50%;
}

.street ul li:last-child {
    margin: 5rem 0 0 -5rem;
}
.street h3 {
    width: 60%;
    margin: 0 auto;
    position: relative;
}

.street h3:before {
	background-image: url("../../src/img/yuki.png");
	width: 150px;
	height: 150px;
	left: -100px;
	bottom: -100px;
	transform: rotate(45deg);
}
.street h3:after {
	background-image: url("../../src/img/star.png");
	width: 80px;
	height: 80px;
	right: -50px;
	bottom: -100px;
	animation: heartbeat 1.4s ease-in-out infinite;
}

.street .tl_text {
	/* position: relative; */
	z-index: 2;
}
.street .tl_box em {
    padding: 0.2rem;
}
.street ul {
    display: flex;
    align-items: center;
    margin: -5rem 0 0 5rem;
}



/*----------------------------
   obake_area
----------------------------*/
.obake_area,
.fafa_area {
    position: relative;
}
.obake_area h2, 
.fafa_area h2 {
	position: relative;
	z-index: 2;
}
.obake_area h2:before, 
.fafa_area h2:before {
	background-image: url("../../src/img/yuki.png");
	width: 150px;
	height: 150px;
	top: -20px;
	z-index: -1;
}
.obake_area h2:before {
	left: -100px;
}
.obake_area .inner {
    position: relative;
    /* z-index: 2; */
}
.obake_area:after {
	background-image: url("../../src/img/cloud_white.png");
	right: 0;
	height: 700px;
	transform: rotate(180deg);
	top: 0;
	width: 200px;
	z-index: 0;
	background-position: top right;
}
.obake_area .img {
    width: 80%;
    margin: -5rem auto 0;
    position: relative;
    z-index: 1;
}

/*----------------------------
   fafa_area
----------------------------*/
.fafa_area {
    padding: 5rem 0 7rem;
    position: relative;
}
.fafa_area .inner {
    position: relative;
    height: 100%;
	z-index: 1;
}
.fafa_area h2:after {
	background-image: url("../../src/img/dokuro.png");
	width: 100px;
	height: 100px;
	left: -100px;
	top: -50px;
	animation: heartbeat 1.6s ease-in-out infinite;
}
.fafa_area h2:before {
	right: -100px;
}
.fafa_area .bg_blob {
 position: absolute;
 top: 5%;
 left: 0;
 right: 0;
 bottom: 0;
 opacity: 0.5; 
 background: #fff;
 border-radius: 35% 40% 50% 65% / 45% 65% 55% 35%;
 height: 85%;
 width: 70%;
 margin: 0 auto;
}

.fafa_area ul {
    width: 65%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.fafa_area ul li {position: relative;}

.fafa_area ul li.fafa01:before {
	background-image: url("../../src/img/fafa_copy.png");
	width: 100px;
	height: 330px;
	right: 0;
	top: -100px;
}
.fafa_area ul li.fafa03:before {
	background-image: url("../../src/img/pumpkin.png");
	width: 150px;
	height: 150px;
	left: -50px;
	top: -50px;
	transform: rotate(-30deg);
}
/*----------------------------
    prezent_area
----------------------------*/
.prezent_area {
    background-color: #f6f2ec;
    position: relative;
}
.prezent_area:before, 
.access_area:after {
	background-image: url(../../src/img/cloud_purple.png);
	right: 0;
	height: 700px;
	animation: 0;
	width: 200px;
	background-position: top right;
}
.prezent_area:before {
	top: -100px;
}
.prezent_area:after {
	background-image: url(../../src/img/cloud_white.png);
	left: 0;
	height: 500px;
	width: 200px;
	top: 5%;
	background-position: left top;
}
.prezent_area h2 {
    width: 44%;
    position: absolute;
    top: -70px;
    left: 50%;
    transform: translateX(-50%);
}
.prezent_area .pot {
    position: absolute;
    width: 8%;
    left: calc(50% - 25%);
    transform: translateX(-50%);
    top: -100px;
}
.prezent_area .tl_box {
    color: #231815;
    padding-top: 4.5rem;
    padding-bottom: 2rem;
}
.prezent_area .badge {
	position: relative;
    width: 60%;
    margin-left: auto;
    margin-right: auto;
}
.prezent_area .badge:after {
    background-image: url(../../src/img/badge.png);
    height: 180px;
    width: 180px;
    bottom: 0;
    right: -150px;
}
.prezent_area .tl_box span {
    padding-right: 0.5rem;
}

.prezent_area ul {
    display: flex;
    width: 80%;
    margin: 1rem auto;
    position: relative;
    z-index: 1;
	flex-wrap: wrap;
}
.prezent_area ul li {
	width: 33.33333%;
}
.more_prezent {
    width: 60%;
    margin: 4rem auto 0;
    position: relative;
}
.more_prezent .more {
	width: 35%;
	margin: 0 auto;
}
.more_prezent:before {
	background-image: url("../../src/img/girl.webp");
	width: 190px;
	height: 250px;
	left: -50px;
	top: 0;
}
.more_prezent:after {
	background-image: url("../../src/img/boy.webp");
	width: 220px;
	height: 270px;
	right: -100px;
	top: 0;
}

.more_prezent h3 {
    position: relative;
    z-index: 1;
}

.prezent_area .more_prezent .tl_box {
    padding-top: 1rem;
    padding-bottom: 5rem;
}



/*----------------------------
    access_area
----------------------------*/
.access_area {
    color: #fff;
    position: relative;
    padding: 5rem 0 2rem;
}
.access_area:after {
	bottom: 10%;
}
.access_area h2 {
	font-size: 4rem;
	text-align: center;
}
.map, .access {
    width: 70%;
    margin: 0 auto 4rem;
    position: relative;
}
.map p {
    width: 100%;
}
.access dl {
    text-align: center;
    font-weight: 600;
    margin: 0 0 2rem 0;
}
.access h2 { position: relative;}
.access h2:before {
	background-image: url(../../src/img/bat.png);
	width: 170px;
	height: 170px;
	left: -200px;
	animation: fuwafuwa 1.4s ease-in-out infinite;
}
.access dl dt {
    font-size: 2rem;
}
.access dl dd {
    margin: 0;
    line-height: 1.5;
    font-size: 1.1rem;
}
.g_map {
   position: relative;
   width: 100%;
   padding-top: 56.25%;
    /* 16:9のアスペクト比 */
   height: 0;
}
.g_map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*----------------------------
    footer_area
----------------------------*/
.footer_area {
	position: relative;
	padding-bottom: 35rem;
}
#pagetop {
    background: url(../../src/img/page_top.png) no-repeat;
    background-size: 150px auto;
    background-position: 0 0;
    cursor: pointer;
    height: 120px;
    overflow: hidden;
    position: fixed;
    right: 20px;
    text-indent: -9999px;
    width: 150px;
    z-index: 100;
    bottom: 10px;
	animation: fuwafuwa 2s ease-in-out infinite;
}
.footer_area:after {
    background-image: url(../../src/img/ft_bottom.webp);
    background-position: left bottom;
    width: 100%;
    padding-bottom: 46.5%;
    bottom: 0;
    z-index: 0;
}

/* ---------------------------------------------------
	keyframes
--------------------------------------------------- */
@-webkit-keyframes fuwafuwa {
	0% {-webkit-transform:translate(0, 0); }
	50% {-webkit-transform:translate(0, -5px); }
	100% {-webkit-transform:translate(0, 0); }
}
@keyframes heartbeat {
  0%   { transform: scale(1); }
  14%  { transform: scale(1.12); }
  28%  { transform: scale(1); }
  42%  { transform: scale(1.08); }
  70%  { transform: scale(1); }
  100% { transform: scale(1); }
}
@keyframes stretch {
  0%, 100% { transform: scaleY(1); }
  50%      { transform: scaleY(1.05); }
}


.cap_box {
    background-color: #000;
    padding: 2.5rem 0 2.5rem 5rem;
    position: relative;
    color: #fff;
}
.sns_ico {
    display: flex;
    align-items: center;
    width: 25%;
}

.sns_ico li {
    width: 40%;
    margin: 5%;
}

.sns_area {
    padding: 3rem 0 2rem;
	position: relative;
	z-index: 1;
}

.sns_ico li span {
    font-weight: 600;
    font-size: 14px;
    text-align: center;
    display: block;
}

.cap_list {
    text-align: center;
    font-weight: 600;
    line-height: 1.5;
    font-size: 1rem;
    padding: 0 1rem;
}

.cp {
    text-align: center;
    font-size: 14px;
    padding-bottom: 3rem;
    position: relative;
    z-index: 1;
}
/*----------------------------
    Media Queries
----------------------------*/
@media screen and (min-width: 1025px) {
	.apri_box .apri_link:hover, 
	#mv .more_pdf:hover {
		-webkit-transform: translateY(1px);
        -ms-transform: translateY(1px);
        transform: translateY(1px)
	}
}

@media screen and (min-width: 1600px) {
	.prezent_area .tl_box { padding-top: 8rem;}
}

@media screen and (max-width:1300px) {
	.inner {max-width: 100%;}

	}
    

@media screen and (max-width:1024px) {
	h2 {width: 50%;}
	#mv .more_pdf span {
		right: 30px;
		width: 25px;
	}
	#mv .more_pdf {
		font-size: 1rem;
		width: 70%;
	}
	#mv .inner:before {
		content: none;
	}

	#mv .inner {
		padding-bottom: 2rem;
	}

	.stage li:before {
		top: -1rem;
	}

	.stage li:after {
		bottom: -1rem;
	}

	.stage li {
		margin: 2rem auto 3rem;
	}
	.stage .illust02 {
		width: 100px;
	}
	.stage:before, 
	.stage:after, 
	.workshop:before, 
	.workshop:after, 
	.greeting:after {
		width: 150px;
		height: 500px;
	}

	.workshop h2:after {
		width: 150px;
		height: 130px;
		right: -180px;
	}

	.workshop h2:before {
		width: 120px;
		height: 80px;
		left: -120px;
	}

	.workshop .title_sub {
		width: 50%;
	}

	.workshop .detail {
		width: 70%;
		font-size: 1rem;
	}
	.workshop:after {
    	background-position: bottom right;
    	top: 25%;
    	z-index: 0;
	}


	.apri {
		padding-bottom: 10rem;
	}

	.apri:after {background-size: 80;}

	.kitchin_car h2:before {
		width: 80px;
		height: 100px;
		right: -100px;
	}
	.kitchin_car h2:after {
		width: 80px;
		height: 100px;
		top: 0;
		left: -100px;
	}

	.kitchin_car .tl_box {
		margin-top: -1rem;
	}

	.kitchin_car .tl_box:after {
		width: 120px;
		height: 120px;
	}

	.kitchin_car h3 {
		margin: 0.5rem auto;
		width: 60%;
	}
	.greeting:after {
		width: 150px;
		height: 500px;
	}
	.greeting dl dd {
		font-size: 1rem;
	}

	.greeting dl {
		width: 95%;
	}
	.greeting .inner {
    	width: 60%;
    	position: relative;
    	z-index: 2;
 	}
	.apri .apri_box {
		width: 70%;
	}

	.apri_dl .dl_list .qr {
		display: none;
	}

	.apri_dl .dl_list .dl_btn {
		width: 50%;
		padding: 2%;
	}

	.kitchin_car .tl_text {
		font-size: 1rem;
		padding: 0 0 0 1rem;
	}

	.kitchin_list {
		width: 90%;
	}

	.street {
		padding: 3em 0;
	}
	.street h3:after {
		width: 50px;
		height: 50px;
	}

	.street ul li {
		width: 55%;
	}

	.street ul {
		margin: -10% 0 5rem 0.5rem;
	}

	.street .tl_box {
	padding-bottom: 1rem;
	}
	.obake_area:after {
		content: none;
	}
	.prezent_area .badge:after {
		width: 150px;
		height: 150px;
		top: 0;
	}

	.prezent_area h2 {
		width: 60%;
	}

	.prezent_area .pot {
		left: calc(50% - 30%);
		width: 10%;
	}

	.access_area h2 {
		font-size: 3.5rem;
	}
	.prezent_area:before {
		top: -30px;
	}
	.prezent_area .tl_box span {
		display: block;
	}
	
	.prezent_area .tl_box {
		padding-top: 4.5rem;
		z-index: 1;
	}

	.more_prezent:before {
		left: -100px;
		width: 150px;
	}

	.more_prezent:after {
		width: 190px;
		right: -150px;
	}
	.map, .access {
		width: 80%;
		margin-bottom: 2rem;
	}
	.access_area:after {
		content: none;
	}
	.sns_ico {
		width: 30%;
	}
	
	.footer_area {
		padding-bottom: 15rem;
	}
	
}


@media screen and (max-width:750px) {
	.pc { display: none;}
	.sp { display: block;}

	#mv .inner:after, 
	.stage:after, 
	.workshop:before, 
	.workshop:after,
	.workshop h2:after,
	.greeting:after, 
	.kitchin_car h2:before, 
	.kitchin_car h2:after, 
	.kitchin_car .tl_box:after, 
	.kitchin_car:after, 
	.kitchin03:after, 
	.fafa_area h2:after, 
	.obake_area h2:before, 
	.fafa_area ul li.fafa03:before, 
	.access h2:before {
		content: none;
	}

	h2 {
		width: 70%;
		margin-bottom: 0;
	}
	#mv p {
		margin-top: -3rem;
		z-index: 1;
		position: relative;
		margin-bottom: 1rem;
		font-size: 0.85rem;
	}
	#mv:before {
		height: 500px;
		background-size: 140%;
	}

	#mv .charm.dokuro {
		width: 8%;
		top: 7%;
	}

	#mv .charm.pumpkin {
		width: 12%;
		top: 0;
	}

	#mv .charm.dokuro02 {
		width: 8%;
		top: -5%;
		left: 30%;
	}

	#mv .charm.dokuro03 {
		width: 6%;
		top: 5%;
		3:
		JIS83;
		right: 50%;
	}

	#mv .charm.pumpkin02 {
		width: 13%;
		top: -5%;
		right: 30%;
	}

	#mv .charm.bat {
		width: 20%;
		top: 6%;
		right: 0;
	}

	#mv .charm.dokuro04 {
		top: 18%;
		width: 6%;
	}

	#mv .inner {
		padding-top: 4rem;
	}

	.stage .illust02 {
		display: none;
	}

	.stage:before, 
	.stage:after, 
	.workshop:before, 
	.workshop:after, 
	.greeting:after {
		width: 100px;
		height: 300px;
	}

	.stage li {
		width: 90%;
		padding: 0;
	}

	.stage ul {
		margin-top: 0;
	}

	.stage .illust01 {
		width: 200px;
	}

	.stage li p {
		width: 90%;
	}

	.workshop h2 {
		width: 65%;
	}

	.workshop h2:before {
		width: 100px;
		height: 70px;
		left: -60px;
		top: -30px;
	}

	.workshop .title_sub {
		width: 85%;
	}

	.workshop .detail {
		width: 85%;
	}

	.workshop .work_box {
		width: 100%;
	}

	.greeting h2:before {
		width: 100px;
		height: 90px;
		left: -10px;
		top: -50px;
	}

	.greeting .inner {
		width: 80%;
	}

	.greeting h2 {
		width: 80%;
	}

	.greeting dl dd {
		font-size: 0.9rem;
	}

	.kitchin_car h2 {
		width: 80%;
		margin-top: -3rem;
	}

	.kitchin_car h3 {
		width: 85%;
	}

	.kitchin_car .tl_text {
		font-size: 0.9rem;
		line-height: 1.6;
	}

	.kitchin_list li .kitchin_custom {margin-bottom: 0;}

	.kitchin_list li .kitchin_custom.sp_special {
		margin-top: 5rem;
	}
	.kitchin_car {
		padding: 2rem 0;
	}

	.kitchin_list li {
		width: 95%;
		margin: 0 auto;
		padding: 2rem 1rem;
		border-width: 3px;
	}

	.kitchin_car .menu .img {
		width: 50%

	}
	.kitchin_car h2 img {
		margin-left: -10px;
	}

	.kitchin_car .tl_box {
		display: block;
	}

	.kitchin_car .tl_text {
		width: 90%;
		margin: 1rem auto;
		font-size: 16px;
		text-align: center;
		padding: 0;
	}

	.kitchin_box h4 {
		width: 55%;
		margin-bottom: 0;
	}

	.kitchin_list {
		width: 95%;
	}

	.apri {
		padding: 2.5rem 0 8rem;
		margin-top: 3rem;
	}
	.apri h2 {
		width: 90%;
	}
	.apri .apri_box {
		width: 90%;
		padding: 1rem;
	}
	.apri_dl {
		margin-bottom: 1rem;
	}

	.apri_dl .dl_list .dl_btn {
		padding: 1%;
	}
	.apri_box .dl_text {
		display: block;
		margin: 0;
	}

	.apri_box .dl_text .text {
		width: 90%;
		margin: 0 auto;
		padding: 0;
	}

	.apri_dl h3 {
		width: 80%;
	}
	.apri_dl p {
		font-size: 15px;
		text-align: left;
	}
	.apri_dl h3 {
		width: 80%;
	}
	.apri_dl p br {
		display: none;
	}
	.apri_dl span {
		font-size: 11px;
	}
	.apri .apri_box:after {
		content: none;
		height: 90px;
		bottom: -50px;
	}

	.apri_box .apri_link {
		width: 80%;
	}
	.apri_box .dl_text .img {
		width: 50%;
		margin: 0 auto;
	}

	.street h2:before {
		width: 80px;
		height: 80px;
		left: 0;
		top: -70px;
	}

	.street h3 {
		width: 90%;
	}
	.street .tl_text span {
		display: block;
	}

	.street .tl_text p:last-child {
		font-size: 0.9rem;
	}

	.street h3:before {
		width: 80px;
		height: 80px;
		left: 0;
	}

	.street h3:after {
		right: 0;
	}

	.street ul {
		display: block;
		margin: 0 auto;
	}

	.street ul li {
		width: 90%;
		margin: 0 auto;
	}

	.street ul li:last-child {
		margin: 0 auto;
	}

	.street ul.street02:after {
		left: 10%;
	}

	.street ul:after {
		right: 10px;
	}

	.street ul.street01:before {
		left: 5%;
		bottom: -30px;
	}

	.obake_area .img {
		width: 100%;
		margin: -2rem auto 0;
	}

	.tl_box {
		font-size: 1rem;
		padding-bottom: 2rem;
	}

	.tl_box span {display:block;}

	.fafa_area {
		padding: 0 0 3rem;
	}

	.fafa_area ul {
		width: 100%;
	}

	.fafa_area h2:before {
		width: 80px;
		height: 80px;
		right: -50px;
		top: -50px;
	}

	.fafa_area .bg_blob {
		width: 90%;
	}

	.fafa_area ul li.fafa01:before {
		width: 80px;
	}

	.prezent_area h2 {
		width: 90%;
		top: -50px;
	}

	.prezent_area .pot {
		display: none;
	}

	.prezent_area .tl_box {
		width: 90%;
		margin: 0 auto;
	}

	.prezent_area .badge:after {
		width: 100px;
		height: 100px;
		right: 0;
		top: 80px;
	}

	.prezent_area:before {
		content: none;
	}

	.prezent_area ul {
		width: 100%;
	}
	.prezent_area ul li {
		width: 50%;
	}

	.prezent_area .tl_box.badge {
		text-align: left;
		padding-top: 5rem;
	}

	.more_prezent:before {
		width: 110px;
		left: 10px;
		height: 150px;
		top: 10px;
	}

	.more_prezent:after {
		width: 130px;
		height: 150px;
		right: 0;
		top: 10px;
	}

	.more_prezent {
		margin-top: 0;
		width: 100%;
	}

	.prezent_area .more_prezent .tl_box {
		padding-bottom: 2rem;
	}

	.footer_area {
		padding-bottom: 10rem;
	}

	.footer_area:after {
		background-size: 105%;
		padding-bottom: 50%;
	}

	.access_area {
		padding: 3rem 0 2rem;
	}
	.access_area:before {
		background-repeat: repeat-y;
	}
	.access dl dt {
		font-size: 1.3rem;
	}

	.access dl dd {
		font-size: 1rem;
	}

	.access_area h2 {
		width: 85%;
		font-size: 2.5rem;
	}

	.map, .access {
		width: 90%;
	}

	.cap_box {
		padding: 1.5rem;
		font-size: 14px;
	}

	.sns_ico {
		width: 50%;
	}

	.sns_area {
		padding: 1rem 0;
	}

	.cap_list {
		font-size: 14px;
		text-align: left;
	}

	.cp {
		font-size: 12px;
	}
	#pagetop {
		width: 100px;
		background-size: 100px auto;
		height: 90px;
		right: 10px;
		bottom: 5px;
	}

}

@media screen and (max-width: 480px) {
	#mv .charm.dokuro03 {display: none;}
	.prezent_area .tl_box.badge {
		padding-top: 3rem;
	}
	.prezent_area .badge:after {
		top: 50px;
	}
	.more_prezent:before {
		top: -10px;
	}

	.more_prezent:after {
		top: -15px;
	}
	.apri_dl {
		padding: 1rem 0.5rem;
	}

	.access dl dd {
		font-size: 14px;
	}

	.sns_ico {
		width: 60%;
	}

	.sns_ico li span {
		font-size: 12px;
	}

}