@charset "UTF-8";
/* CSS Document */
body {
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  position: relative;
}
.mcontainer {
  position: relative;
  width: 100%;
  overflow: hidden;
  /* for text  */
  display: flex;
  justify-content: center;
  align-items: center;
  
}

.mcontainer span {
  animation: shinyshiny 2.5s ease-in-out infinite;
  background: #fff;
}

.anime-link:link {
  vertical-align: middle;
  width: 442px !important;
  height: 60px;
  max-width: 90vw;
  margin: 0 auto;
  background: url("../images/button_goriyou.png") no-repeat center top;
  background-size: 100%;
  text-align: center;
  text-decoration: none;
  line-height: 1.4;
  color: #fff;
  font-size: 24px;
  position: relative;
  font-weight: 900;
}

.anime-link.sp:link {
  margin: 10px auto 30px;
}

.anime-link:hover {
  vertical-align: middle;
  width: 442px !important;
  height: 60px;
  max-width: 90vw;
  margin: 0 auto;
  background: url("../images/button_goriyou_h.png") no-repeat center top;
  background-size: 100%;
  text-align: center;
  text-decoration: none;
  line-height: 1.4;
  color: #fff;
  font-size: 24px;
  position: relative;
  font-weight: 900;
}





.bg_3d {background:#fffadbbd;text-align: center;width: 100vw; }

.anime-link2:link {
  vertical-align: middle;
  width: 442px !important;
  height: 60px;
  max-width: 90vw;
  margin: 0 auto;
  background: url("../images/button_goriyou_2.png") no-repeat center top;
  background-size: 100%;
  text-align: center;
  text-decoration: none;
  line-height: 1.4;
  color: #fff;
  font-size: 24px;
  position: relative;
  font-weight: 900;
}


.anime-link2:hover {
  vertical-align: middle;
  width: 442px !important;
  height: 60px;
  max-width: 90vw;
  margin: 0 auto;
  background: url("../images/button_goriyou_h_2.png") no-repeat center top;
  background-size: 100%;
  text-align: center;
  text-decoration: none;
  line-height: 1.4;
  color: #fff;
  font-size: 24px;
  position: relative;
  font-weight: 900;
}

.anime-link3:link {
  vertical-align: middle;
  width: 360px !important;
  height: 60px;
  max-width: 90vw;
  margin: 0 0 auto;
  background: url("../images/arrow_right.gif") no-repeat right 20px top 20px,url("../images/button_goriyou_3.png") no-repeat center 0px;
  background-size: 20px,100%;
  text-align: center;
  text-decoration: none;
  line-height: 1.4;
  font-size: 24px;
  position: relative;
  font-weight: 900;
}


.anime-link3:hover {
  vertical-align: middle;
  width: 360px !important;
  height: 65px;
  max-width: 90vw;
  margin: 0 auto;
  background: url("../images/arrow_right.gif") no-repeat right 20px top 20px,url("../images/button_goriyou_h_3.png") no-repeat center top;
  background-size:20px,100%;
  text-align: center;
  text-decoration: none;
  line-height: 1.4;
  color: #fff;
  font-size: 24px;
  position: relative;
  font-weight: 900;
}




.anime-link-top:link {
  background: url("../images/button_top.png") no-repeat center top;
  background-size: 100%;
}

.anime-link-top:hover {
  background: url("../images/button_top_h.png") no-repeat center top;
  background-size: 100%;
}
.anime-link-instagram:link {
  background: url("../images/button_instagram.png") no-repeat center top;
  background-size: 100%;
	height: 95px;
	
}

.anime-link-instagram:hover {
  background: url("../images/button_instagram_h.png") no-repeat center top;
  background-size: 100%;
	height: 95px;
	
}

.anime-link a {
  color: #fff;
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
.anime-link .arrow-wrap {
  display: -ms-flex-box;
  display: flex;
  width: 30px;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
.anime-link .arrow-wrap .arrow {
  width: 11px;
  height: 18px;
  background: url(../images/arrow_right_white.png) no-repeat;
  background-size: cover;
}



.anime-link2 a {
  color: #fff;
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
.anime-link2 .arrow-wrap {
  display: -ms-flex-box;
  display: flex;
  width: 30px;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}
.anime-link2 .arrow-wrap .arrow {
  width: 11px;
  height: 18px;
  background: url(../images/arrow_right_white.png) no-repeat;
  background-size: cover;
}

.anime-link3 a {
  color: #fff;
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
.anime-link3 .arrow-wrap {
  display: -ms-flex-box;
  display: flex;
  width: 30px;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
}


.arrow_01 {
  animation: arrowAni01 2s steps(4, start) 0s infinite normal;
}
.arrow_02 {
  animation: arrowAni02 2s steps(4, start) 0s infinite normal;
}

.imax100 {
	width: 100%;
}

@keyframes arrowAni01 {
  0%, 25% {
    background-position: -50px
  }
  25% {
    background-position: 0
  }
}
@keyframes arrowAni02 {
  0%, 50% {
    background-position: -50px
  }
  50% {
    background-position: 0
  }
}
.tejyun01 div.bgfff {
  width: 340px;
  background:url("../images/bg_white.png") no-repeat 0 0;
	background-size:100% 100%;
  padding: 30px 20px 20px;
  max-width: 90vw;
  border-radius: 5px;
}
.tejyun01 div.bgfff {
  height: 800px;
}
.tejyun01 div.yazirushi {
  background: url("../images/lp_111.png") no-repeat center center;
  min-width: 52px;
  min-height: 40px;
  background-size:60px;
}
.tejyun01 div.bggrn {
  height: 600px;
}

.tejyun02 div.bggrn {
  width: 340px;
  background:url("../images/bg_green.png")no-repeat 0 0;
	background-size:100% 100%;
  padding: 20px;
  max-width: 90vw;
  border-radius: 5px;
 height: 730px;
}
.tejyun02 div.bggrn p, .tejyun02 div.bggrn table td {
  color: #fff;
	vertical-align: top;
}
.tejyun02 div.yazirushi {
  background: url("../images/lp_111.png") no-repeat center center;
  min-width: 52px;
  min-height: 40px;
  background-size: 50px;
}

.tejyun02_ div.bggrn {
  width: 340px;
  background:url("../step_img/bg_green.jpg")no-repeat 0 69px ,url("../step_img/bg_green_top.png") no-repeat center 0;
	background-size:100% 100%,200px 70px;
  padding: 20px;
  max-width: 90vw;
  border-radius: 5px;
 height:930px;
}
.tejyun02_ div.bggrn p, .tejyun02_ div.bggrn table td {
  color: #fff;
	vertical-align: top;
}
.tejyun02_ div.yazirushi {
  background: url("../images/lp_111.png") no-repeat center center;
  min-width: 52px;
  min-height: 40px;
  background-size: 50px;
}

.tejyun03 div.bggrn {
  height: 810px;
}
.tejyun03 div.bggrn:first-child {
  width: 340px;
  background: url("../images/bg_white.png") no-repeat 0 0;
	background-size:100% 100%;
  padding: 20px;
  max-width: 90vw;
  border-radius: 5px;
  margin: 0;
}
.tejyun03 div.bggrn:not(first-child) {
  width: 340px;
  background: url("../images/bg_white.png") no-repeat 0 0;
	background-size:100% 100%;
  padding: 20px;
  max-width: 90vw;
  border-radius: 5px;
  margin: 0 0 0 -32px;
}

.tejyun03 div.yazirushi {
  background: url("../images/lp_111.png") no-repeat center center;
  min-width: 52px;
  min-height: 40px;
  background-size: 60px;
　z-index: 999 !important;
	position: relative;
}
.shitsumon {
  width: 100%;
  background: #eaf7e1;
}
.shitsumon ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 1330px;
  margin: 0 auto 50px;
}
.shitsumon ul li a {
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
  padding: 10px 28px 10px 10px;
  text-decoration: none;
}
.shitsumon ul li a:hover {
  text-decoration: none;
  opacity: 0.7;
}
.shitsumon1 {
  width: 100%;
  padding: 80px 0;
  background: #fff;
}
@media (max-width: 440px) {
	.main_text03 {
  width: 84%;
}
	.mcontainer p {
  font-size: 14px;
}
	.dflex2 li {
  width: 100%!important;
}
/*
.dflex2 {
  background: url("../images/lp_66.jpg") no-repeat right 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0px auto;
  padding-left: 0;
  background-size: 50px !important;
  padding-top: 33px !important;
}
*/
.dflex2 p {
  padding-left: 20px;
}
.dflex2 h4.n1 {
  padding-left: 30px!important;
}
  .anime-link{
    height: 12vw !important;
    line-height: 1;
  }
	.anime-link:nth-child(3) {
	min-height: 70px;}
	
	
	 .anime-link2 {
    height: 12vw !important;
    line-height: 1;
  }
	.anime-link2:nth-child(3) {
	min-height: 70px;}
	
	
	.anime-link3 {
    height: 60px !important;
    line-height: 1;
  }
	.anime-link3:nth-child(3) {
	min-height: 70px;}
	
	
  .onnanoko {
    position: absolute;
    margin: -32px 0px 0px 10px;
    z-index: 1000;
  }
	.onnanoko02 {
    position: absolute;
    margin: -32px 0px 0px 10px;
    z-index: 1000;
  }
	.onnanoko03 {
    position: absolute;
    margin: -32px 0px 0px 10px;
    z-index: 1000;
  }
	.keitai {
		margin-left: 0px;
	}
}
@media (max-width: 480px) {
	.mcontainer p {
  font-size: 14px;
}
  .onnanoko {
    position: absolute;
    margin: 50px 0px 0px 10px !important;
    z-index: 1000;
  }
	.onnanoko02 {
    position: absolute;
    margin: 58px 0px 0px 77% !important;
    z-index: 1000;
  }
	.onnanoko03 img {width: 80px;}
	.onnanoko03 {
    position: absolute;
    margin: 24px 0px 0px 5vw !important;
    z-index: 1000;
  }
	.onnanoko02 img {width: 80px;}
}
@media (max-width: 767.9px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .height70vw {
    height: 200vw;
  }
  
.sp .anime-link {display: table-cell!important;}
	.cp_fullscreenmenu .menu > div > ul > li > div > a.anime-link {
		padding: 0!important;
    display: table-cell!important;
    vertical-align: middle;
    text-align: center;
	}

	.bg_3d {padding: 50px 0;}
	
.sp .anime-link2 {display: table-cell!important;}
	.cp_fullscreenmenu .menu > div > ul > li > div > a.anime-link2 {
		padding: 0!important;
    display: table-cell!important;
    vertical-align: middle;
    text-align: center;
	}	
.sp .anime-link3 {display: table-cell!important;}
	.cp_fullscreenmenu .menu > div > ul > li > div > a.anime-link3 {
		padding: 0!important;
    display: table-cell!important;
    vertical-align: middle;
    text-align: center;
	}
	.side-menu {
    display: block; /* Hidden by default for larger screens */
    position: fixed;
    left: 0; /* Align to the left on mobile */
    right: 0; /* Extend across the bottom on mobile */
    bottom: 0; /* Position at the bottom */
    top: auto; /* Override previous top setting */
    transform: none; /* Remove translateY */
    background-color:#ffffffad;
    border-radius: 0; /* Remove border-radius for full width bottom */
    padding: 10px 0;
    z-index: 1000;
    transition: transform 0.3s ease-in-out; /* Change to transform for slide up/down */
    transform: translateY(100%); /* Hidden by default (slid down) */
	  border: 1px solid #eee;
  }
	.anime-link3:link {
  margin: 0 auto auto;
  
}
	
	.cp_fullscreenmenu .menu > div > ul > li > div {
		width: 442px !important;
    margin: 0 auto;
    max-width: 90vw;
	}
  .support {text-align: center;margin: 0 auto;background: #eee;padding:30px 10vw;max-width: 90vw;}
	
  .tejyun01 h3 {
    margin-bottom: 15px !important;
  }
	.dflex2 {
	background: none !important;
	padding-bottom: 0px!important;}
  .dflex2 li {
    width: 100%;
    margin: 0 auto;
  }
  .dflex {
    margin: 0px auto 40px;
  }
  .dflex2 img {
    max-width: 70%;
  }
	.dflex3 table {
		margin-bottom:10px;
	}
	.dflex3 table tr>td:first-child {
		width: 30%;
		vertical-align: top;
	}
	.dflex3 table th {
	vertical-align: top;
		text-align: left;
	}
	.dflex3 table th.shopimage{
		height: 20vw!important;
	}
	.dflex3 .shoph5l {
		height: 35px!important;
	}
	.dflex3 .shoph5 {
		height: 21px!important;
	}
	.shopcat {height: 21px!important;}
	.dflex3 table td {
	font-size:12px;
		text-align: left;
		vertical-align:top; 
	}
	.dflex3 > table:nth-child(2n) {
		width: 45%!important;
		margin-right: 4px!important;
	}
	.dflex3 > table:nth-child(2n+1) {
		margin-left: 4px!important;
		width: 45%!important;
	}
 
  .dflex3 img {
    width: 100%;
    max-width: 90vw;
    margin: 0 auto 10px!important;
  }
  .mcontainer {
    background: url(../images/main_img_sp.jpg) no-repeat center top;
    background-size:100%;
	  padding-top: 10px;
  }
	
	.main_text01 {
		width: 85%;
		margin: 12px auto;
	}
	.main_text02 {
		display: none!important;
	}
	.main_text03 {
		width: 82%;font-size: 16px;margin:0 auto 30px;line-height: 1.6; text-align:left; display: block!important;
		max-width: 430px;
margin: 0 auto 30px;
	}
	.flickity-page-dots {
		bottom:0px;
	}
	.tejyun01 div.bgfff,.tejyun02 div.bggrn,.tejyun02_ div.bggrn,.tejyun03 div.bggrn {
		margin: 0 auto!important;
	}
  .tejyun01 .flickity-viewport {
    height: 830px !important;
  }
  .tejyun02 .flickity-viewport {
    height: 760px !important;
  }
	.tejyun02_ .flickity-viewport {
    height: 960px !important;
  }
  .tejyun03 .flickity-viewport {
    height: 840px !important;
  }
	
  .tejyun01 h2 {
    text-align: center;
    margin: 40px auto 20px;
  }
  .tejyun02 h2,.tejyun02_ h2, .tejyun03 h2 {
    text-align: center;
    margin: 0 auto 30px;
  }
  .tejyun01 {
    width: calc(100vw);
    overflow-x: auto;
    background: #eaf7e1;
    padding: 45px 0px;
    margin-top: 0;
  }
  .onnanoko {
    position: absolute;
    margin: 50px 0px 0px 18vw;
    z-index: 1000;
  }
  .onnanoko img {
    width: 80px;
  }
	.onnanoko02 {
    position: absolute;
    margin: 54px 0px 0px 77%;
    z-index: 1000;
  }
  .onnanoko02 img {
    width: 80px;
  }
	.onnanoko03 {
    position: absolute;
    margin:26px 0px 0px 15vw;
    z-index: 1000;
  }
  .onnanoko03 img {
    width: 80px;
  }
  .tejyun02 {
    padding: 45px 0 45px;
    width: 100vw;
    overflow-x: auto;
  }
	.tejyun02_ {
    padding: 45px 0 45px;
    width: 100vw;
    overflow-x: auto;
  }
  .tejyun03 {
    padding: 35px 0 45px;
    width: 100vw;
    overflow-x: auto;
    background: #f7f6f5;
  }
	
	.douga {
		display: block; margin:5px auto 30px; aspect-ratio: 16 / 9; width: 90%; height: 90%;
	}
  .col-lg-10 {
   
    padding-top: 50px;
    height: 122px;
  }
  .col-lg-10 h2 img {
    max-width: 65%;
  }
  .pt-5 {
    padding-top: 6% !important;
  }
  .shitsumon {
    background: #eaf7e1;
    padding: 80px 20px;
  }
  .shitsumon h2 {
    margin: 0 0 30px;
  }
  .shitsumon li {
    background: url(../images/shita_yazirushi_white.png) no-repeat right 15px center #335d2d;
    width: 46%;
    border-radius: 30px;
    box-shadow: 0px 2px 0px 0 #ccc;
    margin: 0 5px 10px;
    font-size: 14px;
    background-size: 15px;
    line-height: 1;
  }
	.shitsumon1 iframe {
		height: 60vw!important;
	}
  .pt-10 {
    padding-top: 8px
  }
  h2 img {
    max-height: 82px;
    width: auto;
  }
	.about h2 img,.tejyun01 h2 img,.tejyun03 h2 img,.shitsumon1 h2 img,.shitsumon h2 img,#instagram h2 img {
		max-height: 45px!important;
	}
	.tejyun02 h2 img {
		max-height: 120px!important;
	}
	.tejyun02_ h2 img {
		max-height: 120px!important;
	}
  .bg-back2 h4 {
    width: 100% !important;
    text-align: center !important;
    margin-bottom: 10px;
  }
  .bg-back2 p {
    width: 100%;
    font-size: 15px;
    text-align: left;
    color: #fff;
  }
  .bg-back3 th span {
    width: 40% !important;
  }
  .bg-back3 {
    padding: 30px 20px !important;
  }
  .bg-back3 th, .bg-back3 td {
    display: block;
    width: 100% !important;
  }
  .bg-back3 th {
    padding-bottom: 10px !important;
  }
  .bg-back3 td {
    padding-left: 0px !important;
  }
  .bg-back3 div {
    padding: 40px 20px !important;
  }
  .bg-back3 img {
    margin: 0 auto;
  }
  .bg-back3 img.hmax57 {
    max-height: 57px !important;
  }
  .title08 img {
    width: auto !important;
    height: 24px !important;
  }
  .bg-back4 {
    width: 90%;
    padding: 50px 0px !important;
    text-align: center;
    margin: 0 auto;
  }
  ol.numero02 {
    list-style-type: decimal;
    padding-left: 10px;
  }
	
}
@media screen and (min-width: 768px) and (max-width: 979px) {
	body {
		background: url("../images/hanabi_migi.jpg") no-repeat right 1000px;
	}
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }

	.sp .anime-link {display: table-cell!important;}
	.cp_fullscreenmenu .menu > div > ul > li > div > a.anime-link {
		padding: 0!important;
    display: table-cell!important;
    vertical-align: middle;
    text-align: center;
	}
	
	.bg_3d {padding: 50px 0; }
	.sp .anime-link2 {display: table-cell!important;}
	.cp_fullscreenmenu .menu > div > ul > li > div > a.anime-link2 {
		padding: 0!important;
    display: table-cell!important;
    vertical-align: middle;
    text-align: center;
	}
	
	.sp .anime-link3 {display: table-cell!important;}
	.cp_fullscreenmenu .menu > div > ul > li > div > a.anime-link3 {
		padding: 0!important;
    display: table-cell!important;
    vertical-align: middle;
    text-align: center;
	}
	.side-menu {
    display: block; /* Hidden by default for larger screens */
    position: fixed;
    left: 0; /* Align to the left on mobile */
    right: 0; /* Extend across the bottom on mobile */
    bottom: 0; /* Position at the bottom */
    top: auto; /* Override previous top setting */
    transform: none; /* Remove translateY */
    background-color:#ffffffad;
    border-radius: 0; /* Remove border-radius for full width bottom */
    padding: 10px 0;
    z-index: 1000;
    transition: transform 0.3s ease-in-out; /* Change to transform for slide up/down */
    transform: translateY(100%); /* Hidden by default (slid down) */
	  border: 1px solid #eee;
  }
	.side-menu ul li {	
	display: flex;
    justify-content: center;}
	.side-menu ul li a {
		left:auto;
		right:auto
	}
	
	
	
	.cp_fullscreenmenu .menu > div > ul > li > div {
		width: 442px !important;
    margin: 0 auto;
    max-width: 90vw;
	}
	.support {text-align: center;margin: 0 auto;background: #eee;padding:30px 10vw;max-width: 90vw;}
  .height70vw {
    height: 150vw;
  }
 
  .col-lg-10 {
    padding-top: 50px;
    height: 122px;
  }
	.dflex2 {
		background: none !important;
		padding-bottom: 0px!important;
	}
  .dflex2 li {
    width: 90%;
    margin: 0 auto;
  }
	 .mcontainer {
    background: url("../images/main_img_sp.jpg") no-repeat center top ;
    background-size: 100%;
  }
	.hanabi_migi {
		background: url("../images/hanabi_migi.jpg") no-repeat right top;
	}
	.main_text01 {
		width: 69%;
		font-size: 16px;
		margin:12px auto;
		line-height: 1.6;
		text-align:left;
	}
	.main_text02 {
		display: none;
	}
	.main_text03 {
		width:72%;font-size: 16px;margin:0 auto 30px;line-height: 1.6; text-align:left; display: block!important;
		max-width: 430px;
	}
	
	.tejyun02 h2 img {  
		max-height: 108px;
  max-width: 340px;
}
	.tejyun02_ h2 img {  
		max-height: 108px;
  max-width: 340px;
}
	.dflex3 { 
		justify-content:left!important;
	}
  .dflex3 li:first-child {
    width: 50% !important;
    margin: 0 10px 20px !important;
  }
  .dflex3 li img {
    width: 100%;
  }
  .dflex3 li {
    width: 40%;
    margin: 0 20px 0px;
    word-break: break-all;
  }
	
  .dflex {
    margin: 0px auto 40px;
  }
	
  .tejyun01 h2 {
    text-align: center;
    margin: 40px auto 60px;
  }
	
  .tejyun02 h2,.tejyun02_ h2, .tejyun03 h2 {
    text-align: center;
    margin: 0 auto 60px;
  }
  .tejyun01 div.bgfff,.tejyun02 div.bggrn,.tejyun03 div.bggrn {
    margin: 0 auto;
    height: 710px;
  }
	.tejyun02_ div.bggrn {
		margin: 0 auto;
    height: 910px;
	}
  .tejyun01 {
    width: 100vw;
    overflow-x: auto;
    background: #eaf7e1;
    background-size: 10px;
    padding: 80px 30px;
    margin-top: 0;
  }
	.tejyun01 .flickity-viewport {
    height: 830px !important;
  }
  .tejyun02 .flickity-viewport {
    height: 730px !important;
  }
	.tejyun02_ .flickity-viewport {
    height: 930px !important;
  }
  .tejyun03 .flickity-viewport {
    height: 840px !important;
  }
	.flickity-page-dots {
		bottom:0px;
	}
  .onnanoko {
    position: absolute;
    margin:30px 0px 0px 12vw;
    z-index: 1000;
  }
  .onnanoko img {
    width: 135px;
  }
	.onnanoko02 {
    position: absolute;
    margin:0 !important;
padding-left: calc(50% + 200px);
    z-index: 1000;
  }

	.onnanoko03 {
    position: absolute;
    margin:-30px 0px 0px 12vw;
    z-index: 1000;
  }
  
  .tejyun02 {
    padding: 80px 30px;
    width: calc(100vw);
    overflow-x: auto;
  }
	.tejyun02_ {
    padding: 80px 0px;
    width: calc(92vw);
    overflow-x: auto;
  }
	
  .tejyun03 {
    padding: 80px 30px;
    width: calc(100vw);
    overflow-x: auto;
    background: #f7f6f5;
  }
	
	.douga {
		display: block; margin: 30px auto 60px; aspect-ratio: 16 / 9; width: 60%; height: 90%;
	}
 
  .shitsumon {
    padding: 80px 0px
  }
  .shitsumon h2 {
    margin-bottom: 50px;
  }
  .shitsumon li {
    background: url("../images/shita_yazirushi_white.png") no-repeat right 10px center #335d2d;
    width: 22%;
    border-radius: 15px;
    box-shadow: 0px 2px 0px 0 #ccc;
    margin: 0 5px 10px;
  }
	
  .bg-back2 p {
    width: 100%;
    font-size: 15px;
    text-align: left;
    color: #fff;
    margin: 0 auto;
  }
  .bg-back3 h2 {
    margin: 0 auto 30px;
  }
  .pt-10 {
    padding-top: 8px
  }
  .bg-back4 {
    width: 90%;
    padding: 50px 0px !important;
    text-align: center;
    margin: 0 auto;
  }
}
@media (min-width: 979.1px) {
	
  .sp {
    display: none;
  }
  .pc {
    display: block;
  }
  .height70vw {
    height: 58vw;
  }
	  .side-menu {
    position: fixed;
    left: auto; /* Align to the left on mobile */
    right: 15px; /* Extend across the bottom on mobile */
    bottom: 0; /* Position at the bottom */
    top: auto; /* Override previous top setting */
    transform: none; /* Remove translateY */
    border-radius: 0; /* Remove border-radius for full width bottom */
    padding: 10px 0;
    z-index: 1000;
    transition: transform 0.3s ease-in-out; /* Change to transform for slide up/down */
    transform: translateY(100%); /* Hidden by default (slid down) */
  }
	.pc .anime-link {display: table-cell!important;}
	.bg_3d {padding: 50px 0;margin: 0 auto 50px;width: 90vw!important;}
	.pc .anime-link2 {display: table-cell!important;}
	.pc .anime-link3 {display: table-cell!important;}
	.top_page_b {background:url("../images/kazoku.png") no-repeat right 50px top 500px,url("../images/smartphone.png") no-repeat 0px 70px, url("../images/main_img.jpg") repeat-x center top,url("../images/hanabi_migi.jpg") no-repeat right 2150px;
	background-size:230px, 470px, 107%, 360px; }
	
	.about {
		background:url("../images/hanabi.png") no-repeat 0 bottom;
	}
  .mcontainer {
	  padding: 40px 40px 0px;
  }
	.main_text01 {
		width:52vw;margin:0 20% 20px 32%;line-height: 1.6; text-align:left;}
	.main_text02 {
		width:113vh;margin:0 auto;font-size:14px!important;line-height: 1.6; text-align:left;max-width: 442px;}
	.main_text03 {
		display: none!important;
	}
	.imgkazoku {
		background: url( "../images/imgkazoku.png") no-repeat 30px 30px;
		max-width: 1380px;
	}
	.support {text-align: center;margin: 0 auto;background: #eee;padding:30px 10vw;max-width: 90vw!important;width: 1230px}
	
  .tejyun01 h2 {
    margin: 50px auto;
  }
  .tejyun02 h2,.tejyun02_ h2, .tejyun03 h2 {
    text-align: center;
    margin: 0 auto 60px;
  }
  .tejyun01 {
    width: calc(100vw);
    overflow-x: auto;
    background: #eaf7e1;
    background-size: 10px;
    position: relative;
    z-index: 999;
    padding: 40px 0;
  }
	.tejyun01 div.bgfff, .tejyun02 div.bggrn,.tejyun02_ div.bggrn, .tejyun03 div.bgfff {
		margin: 0 15px;
	}
  .tejyun01 > div, .tejyun02 > div, .tejyun02_ > div,.tejyun03 > div {
    display: flex !important;
    max-width: 1230px;
    margin: 0 auto;
  }
	.tejyun02_ div.bggrn {
		height: 740px!important;
	}
	.flickity-page-dots {
		bottom:0px;
	}
  .onnanoko {
    position: absolute;
    margin: 42px 0px 0px calc(50% - 600px);
    z-index: 1000;
  }
	.onnanoko02 {
  position: absolute;
  margin: -35px 0px 0px 0px!important;
		padding-left:  calc(50% + 470px);
  z-index: 1000;
}
	.onnanoko03 {
    position: absolute;
    margin: -40px 0px 0px calc(50% - 600px)!important;
    z-index: 1000;
  }
  .tejyun02 {
    width: calc(100vw);
    overflow-x: auto;
    padding: 90px 0;
  }
	.tejyun02_ {
    width: calc(100vw);
    overflow-x: auto;
    padding: 90px 0;
		background: url("../images/neko.jpg")no-repeat;
		background-position:90% 90px;
  }
  .tejyun03 {
    width: calc(100vw);
    overflow-x: auto;
    background: #f7f6f5;
    padding: 90px 0 60px;
  }
  .dflex {
    margin: 0px auto 70px;
  }
	.dflex2 { background:none!important; }
	.fuufu {
		
	}
  .dflex2 li {
    width: 45%;
    display: grid;
    margin: 0 auto;
  }
	.dflex3 {
	align-items:flex-start;
	}
	
  .dflex3 li:first-child {
    width: 50% !important;
    margin: 0 auto 20px;
  }
  .dflex3 li img {
    width: 100%;
  }
  .dflex3 li {
    width: 40%;
    margin: 0 auto 20px;
  }
  .shitsumon {
    padding: 90px 0px !important;
  }
  .shitsumon ul br {
    display: none;
  }
  .shitsumon h2 {
    margin-bottom: 50px;
  }
  .shitsumon li {
    background: url("../images/shita_yazirushi_white.png") no-repeat right 10px center #335d2d;
    width: 22%;
    border-radius: 30px;
    box-shadow: 0px 2px 0px 0 #ccc;
    margin: 0 5px;
  }
  .shitsumon1 {
    padding: 90px 0 !important;
  }
	.douga {display: block;
margin: 30px auto 60px;
aspect-ratio: 16 / 9;
width: 60%;
		height: 90%;}
  .bg-back2 p {
    width: 75%;
    font-size: 15px;
    text-align: right;
    color: #fff;
  }
  .bg-back3 h2 {
    margin: 0 auto 50px;
  }
}
.confetti {
  position: absolute;
  width: 100%;
  height: 100%;
}
.confetti span {
  position: absolute;
  top: -10%;
  left: 0;
  width: 3vw;
  height: 2vw;
  background: #FFF;
}
/* add animation */
.confetti span:nth-child(2n+1) {
  animation: confetti-anim-1 10s 0s linear infinite;
}
.confetti span:nth-child(2n+2) {
  animation: confetti-anim-2 10s 0s linear infinite;
}
.confetti span:nth-child(2n+3) {
  animation: confetti-anim-3 10s 0s linear infinite;
}
/* side position */
.confetti span:nth-child(1) {
  left: 0%;
}
.confetti span:nth-child(2) {
  left: 2%;
}
.confetti span:nth-child(3) {
  left: 4%;
}
.confetti span:nth-child(4) {
  left: 6%;
}
.confetti span:nth-child(5) {
  left: 8%;
}
.confetti span:nth-child(6) {
  left: 10%;
}
.confetti span:nth-child(7) {
  left: 12%;
}
.confetti span:nth-child(8) {
  left: 14%;
}
.confetti span:nth-child(9) {
  left: 16%;
}
.confetti span:nth-child(10) {
  left: 18%;
}
.confetti span:nth-child(11) {
  left: 20%;
}
.confetti span:nth-child(12) {
  left: 22%;
}
.confetti span:nth-child(13) {
  left: 24%;
}
.confetti span:nth-child(14) {
  left: 26%;
}
.confetti span:nth-child(15) {
  left: 28%;
}
.confetti span:nth-child(16) {
  left: 30%;
}
.confetti span:nth-child(17) {
  left: 32%;
}
.confetti span:nth-child(18) {
  left: 34%;
}
.confetti span:nth-child(19) {
  left: 36%;
}
.confetti span:nth-child(20) {
  left: 38%;
}
.confetti span:nth-child(21) {
  left: 40%;
}
.confetti span:nth-child(22) {
  left: 42%;
}
.confetti span:nth-child(23) {
  left: 44%;
}
.confetti span:nth-child(24) {
  left: 46%;
}
.confetti span:nth-child(25) {
  left: 48%;
}
.confetti span:nth-child(26) {
  left: 50%;
}
.confetti span:nth-child(27) {
  left: 52%;
}
.confetti span:nth-child(28) {
  left: 54%;
}
.confetti span:nth-child(29) {
  left: 56%;
}
.confetti span:nth-child(30) {
  left: 58%;
}
.confetti span:nth-child(31) {
  left: 60%;
}
.confetti span:nth-child(32) {
  left: 62%;
}
.confetti span:nth-child(33) {
  left: 64%;
}
.confetti span:nth-child(34) {
  left: 66%;
}
.confetti span:nth-child(35) {
  left: 68%;
}
.confetti span:nth-child(36) {
  left: 70%;
}
.confetti span:nth-child(37) {
  left: 72%;
}
.confetti span:nth-child(38) {
  left: 74%;
}
.confetti span:nth-child(39) {
  left: 76%;
}
.confetti span:nth-child(40) {
  left: 78%;
}
.confetti span:nth-child(41) {
  left: 80%;
}
.confetti span:nth-child(42) {
  left: 82%;
}
.confetti span:nth-child(43) {
  left: 84%;
}
.confetti span:nth-child(44) {
  left: 86%;
}
.confetti span:nth-child(45) {
  left: 88%;
}
.confetti span:nth-child(46) {
  left: 90%;
}
.confetti span:nth-child(47) {
  left: 92%;
}
.confetti span:nth-child(48) {
  left: 94%;
}
.confetti span:nth-child(49) {
  left: 96%;
}
.confetti span:nth-child(50) {
  left: 98%;
}
/* size */
.confetti span:nth-child(3n+1) {
  width: 5vw;
  height: 1.2vw;
}
.confetti span:nth-child(3n+2) {
  width: 2.5vw;
  height: 1.6vw;
}
.confetti span:nth-child(3n+3) {
  width: 3vw;
  height: 3vw;
}
.confetti span:nth-child(3n+4) {
  width: 4vw;
  height: 3vw;
}
/* colors */
.confetti span:nth-child(5n+1) {
  background: url("../images/fubuki_08.png") no-repeat;
}
.confetti span:nth-child(5n+2) {
  background: url("../images/fubuki_02.png") no-repeat;
}
.confetti span:nth-child(5n+3) {
  background: url("../images/fubuki_03.png") no-repeat;
}
.confetti span:nth-child(5n+4) {
  background: url("../images/fubuki_04.png") no-repeat;
}
.confetti span:nth-child(5n+5) {
  background: url("../images/fubuki_05.png") no-repeat;
}
.confetti span:nth-child(5n+6) {
  background: url("../images/fubuki_06.png") no-repeat;
}
.confetti span:nth-child(5n+7) {
  background: url("../images/fubuki_07.png") no-repeat;
}
@-webkit-keyframes shinyshiny {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
/* animation-duration */
.confetti span:nth-child(4n+1) {
  animation-duration: 5s;
}
.confetti span:nth-child(4n+2) {
  animation-duration: 12s;
}
.confetti span:nth-child(4n+3) {
  animation-duration: 8s;
}
.confetti span:nth-child(4n+4) {
  animation-duration: 6s;
}
.confetti span:nth-child(4n+5) {
  animation-duration: 4s;
}
.confetti span:nth-child(4n+6) {
  animation-duration: 3s;
}
/* animation-delay */
.confetti span:nth-child(11n+1) {
  animation-delay: 0s;
}
.confetti span:nth-child(11n+2) {
  animation-delay: 9s;
}
.confetti span:nth-child(11n+3) {
  animation-delay: 2s;
}
.confetti span:nth-child(11n+4) {
  animation-delay: -5s;
}
.confetti span:nth-child(11n+5) {
  animation-delay: -6s;
}
.confetti span:nth-child(11n+6) {
  animation-delay: -7s;
}
.confetti span:nth-child(11n+7) {
  animation-delay: 3s;
}
.confetti span:nth-child(11n+8) {
  animation-delay: 1s;
}
.confetti span:nth-child(11n+9) {
  animation-delay: 2s;
}
.confetti span:nth-child(11n+10) {
  animation-delay: -11s;
}
.confetti span:nth-child(11n+11) {
  animation-delay: -10s;
}
/* animation */
@keyframes confetti-anim-1 {
  0% {
    top: -10%;
    transform: translateX(0) rotateX(0) rotateY(0);
  }
  100% {
    top: 100%;
    transform: translateX(20vw) rotateX(180deg) rotateY(360deg);
  }
}
@keyframes confetti-anim-2 {
  0% {
    top: -10%;
    transform: translateX(0) rotateX(0) rotateY(0);
  }
  100% {
    top: 100%;
    transform: translateX(-20vw) rotateX(180deg) rotateY(360deg);
  }
}
@keyframes confetti-anim-3 {
  0% {
    top: -10%;
    transform: translateX(0) rotateX(0) rotateY(0);
  }
  100% {
    top: 100%;
    transform: translateX(0vw) rotateX(180deg) rotateY(360deg);
  }
}
/* text */

h3 {
  width: 100%;
  text-align: center;
  font-size: 24px;
  font-weight: normal;
}
.bg-back2 a:link, .bg-back2 a:visited {
  color: #fff;
}
.bg-back2 a:hover {
  color: #ffe400;
}
.textin {padding-left:1em;
	text-indent:-1em;}