/* -------sns icon--------- */
i.snsIcon {
	font-family: 'sns_ico' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	color: #000;
}

.icon-ap:before { content: "\e900";}
.icon-blo:before { content: "\e901";}
.icon-fb:before { content: "\e902";}
.icon-hp:before { content: "\e903";}
.icon-in:before { content: "\e904";}
.icon-line:before { content: "\e905";}
.icon-spo:before { content: "\e906";}
.icon-tt:before { content: "\e907";}
.icon-tw:before { content: "\e908";}
.icon-yt:before { content: "\e909";}
.icon-x:before { content: "\e90a";}

/* ////////////////////////////////////////////////////////////////////////////////

	Common

//////////////////////////////////////////////////////////////////////////////// */
.wrap {
    background:transparent;
}
body:not(.page--home) footer {
position: relative;
    background: #000;
    color: #fff;
}
html {
	line-height: 1.8;
	letter-spacing: 0.08em;
	background-color: #f2f8ff;
	color: #434343;
	font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
body{
    background: transparent;
}
/*
body::before {
    content: '';
    background: url(/static/funkymonkeybabys/feature/lottery/images/ph_logo_w3PFJLvM.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 100%;
    height: 7vw;
    position: fixed;
    top: -15px;
    left: 0;
    z-index: 0;
}
*/
header{
    display: none;
}
.main {

}
section {
    padding: min(8vw, 80px) 0;
    margin: auto;
    background:#fbc749;
}
section:nth-child(even){

}
.inBox{
    width: 90%;
    margin: auto;
    max-width: 1200px;
}
h2 {
    font-family: ronnia-condensed, sans-serif;
	font-weight: 700;
	font-style: normal;
	color: #000;
	text-align: center;
	font-size: min(12vw, 64px);
	letter-spacing: 0.08em;
	margin-bottom: min(6vw, 80px);
}
img {
	width: 100%;
	vertical-align: middle;
}
li {
	list-style: none;
}
a {
	transition: all 0.5s ease;
	text-decoration: none;
	color: #434343;
}
.anim {
	opacity: 0;
	transition: all .4s ease-out;
}
.anim.on {
	opacity: 1;
}
@keyframes op {
	0% { opacity: 0;}
	100% { opacity: 1;}
}

.bgBox {
    width: 100%;
    height: 100%;
    padding: 0;
    position: fixed;
    left: 0;
    top: 0;
    z-index: -1;
    transition: all 0.6s;
    animation-fill-mode: forwards;
    -webkit-animation-fill-mode: forwards;
}
.bg {
    position: absolute;
    width: 100vw;
    height: 100%;
    display: flex;
    align-items: center;
    padding: 40px;
    box-sizing: border-box;
    opacity: 1;
}
.bg01 {
    opacity: 1;
    background: url(/static/funkymonkeybabys/feature/lottery/images/bg_main_pc_w3PFJLvM.jpg) no-repeat center center;
    background-position: top;
    background-size: cover;
}

.parts p{
    width: 3vw;
    position: fixed;
    pointer-events: none;
z-index: 1;
}
.parts p img{
    transition: 0.4s;
}
.scrollFix .parts p img{
    width: 80%;
}
.parts.type_a p:nth-child(1){
    top: 25%;
    left: 3%;
}
.parts.type_a p:nth-child(2){
    right: 2%;
    bottom: 7%;
}
.parts.type_a p:nth-child(3){
    right: -1%;
    top: 7%;
}
.parts.type_b p{
    width: 11vw;
}
.parts.type_b p:nth-child(1){
    left: -2%;
    bottom: -4%;
}
.parts.type_b p:nth-child(2){
    right: -4%;
    top: 42%;
}
.parts.type_b p:nth-child(3){
    left: -3%;
    top: -10%;
}

.listAsterisk {
	list-style: none;
	padding-left: 1.2em;
}
.listAsterisk > li {
	text-indent: -1.2em;
	font-size: min(3vw, 14px);
	font-weight: normal;
}
.listAsterisk > li + li {
	margin-top: 0.3em;
}
.listAsterisk > li:before {
	margin-right: 0.2em;
}
.listAsterisk > li:before {
	content: "※";
}
.listAsterisk > li a.link{
    color: #fff;
    text-decoration: underline;
}

.btnList {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: min(4vw, 20px);
}
.btnList li {
	width: 80%;
	max-width: 320px;
	min-width: fit-content;
}
.btnList li a,
.btnList li span {
    display: block;
    line-height: 1em;
    padding: min(4vw, 24px);
    font-size: min(3vw, 17px);
    font-weight: bold;
    text-align: center;
    background-color: #fff;
    border: #000000 solid 3px;
    border-radius: 50%;
    box-shadow: 5px 5px #000;
    -webkit-box-shadow: 5px 5px #000;
    border: 2px solid #000;
    border-radius: 999px;
    color: #000;
}
.btnList li span {
	border: #b8c3d0 solid 3px;
	background-color: #b8c3d0;
	color: #778392;
}




.btnarchive {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: min(4vw, 20px);
}
.btnarchive li {
	padding: 0 20px;
}
.btnarchive li a {
  display: block;
  width: 260px;
  padding: 11px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  border-radius: 60px;
  border: #5a4f49 solid 3px;
  color: #fff;
  background: #628EBA;
}

.date {
  font-size: 12px;
  border: 1px solid;
  padding: 5px 10px 4px;
  border-radius: 100px;
  display: inline-block;
  line-height: 1em;
  margin: 0 0 0 10px;
  vertical-align: 2px;
  margin-bottom: 0;
}

@media (hover: hover) {
	a:hover {
		opacity: 0.6;
	}
}
@media screen and (min-width:821px) {
	.sp {display: none;}
	body:not(.page--home) .wrap {
	    padding: 100px 0 0;
	}

}
@media screen and (max-width:820px) {
	.pc {display: none;}
}

.delighter {
    transition: all .5s ease-out;
    transform: translatey(5%);
    opacity: 0;
   }

.delighter.started {
      transform: none;
      opacity: 1;
   }

.mainVisual {
    margin: 0 auto 100px;
}
.mainVisual h1 {
    max-width: 800px;
    margin: 0 auto 50px;
    width: 55vw;
	opacity: 0;
}
.loaded .mainVisual h1{
  -webkit-animation: fadeSplash 0.3s ease 0.7s 1 forwards;
  animation: fadeSplash 0.3s ease 0.7s 1 forwards;
}

.mainVisual .lead {
    margin-bottom: 0;
    font-size: 20px;
    font-weight: bold;
    line-height: 2;
    text-align: center;
	opacity: 0;
}

.loaded .mainVisual .lead {
  -webkit-animation:upIn 0.8s ease 1.5s 1 forwards;
  animation:upIn 0.8s ease 1.5s 1 forwards;
}

@keyframes fadeSplash {
	0% {
		opacity: 0;
		-webkit-transform: scale(0.8);
		transform: scale(0.8);
	}
	50% {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
	}
	100% {
		opacity: 1;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}
@keyframes upIn {
	0% {
		opacity: 0;
		-webkit-transform: translate(0, 30px);
		transform: translate(0, 30px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translate(0,0);
		transform: translate(0,0);
	}
}

#present{
	opacity: 0;
}

.loaded #present {
  -webkit-animation:upIn 0.8s ease 3s 1 forwards;
  animation:upIn 0.8s ease 3s 1 forwards;
}
.presentList {
    display: -webkit-flex;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
}
.presentList > li {
    background-color: #fff;
    padding: min(4vw, 32px);
    box-shadow: 5px 5px #000;
    -webkit-box-shadow: 5px 5px #000;
    border: 2px solid #000;
    position: relative;
    width: 43%;
    margin: 0 auto 80px;
}
.presentList > li > p {
    font-weight: 600;
    text-align: center;
    width: 100px;
    height: 100px;
    line-height: 100px;
    background: #000;
    color: #fff;
    border-radius: 999px;
    position: absolute;
    left: -20px;
    top: -20px;
    font-size: 20px;
}
.presentList > li > p span {
	display: inline-block;
	font-size: 1.5em;
	transform: translateY(0.06em);
	margin-right: 0.1em;
}
.presentList > li .partitionWrap .img {
	padding: min(4vw, 32px) 12%;
}
.presentList > li .partitionWrap p {
	text-align: center;
	font-size: min(3.8vw, 18px);
    font-weight: bold;
}
.presentList > li .partitionWrap p span {
	display: block;
	font-size: min(2.6vw, 12px);
}



#entry h3 {
	font-weight: 700;
	text-align: center;
	font-size: min(4vw, 26px);
	margin-bottom: min(4vw, 24px);
}
#entry h3.en{
font-size: min(4.2vw, 28px);
}
#entry h3:not(h2 + h3) {
	margin-top: min(8vw, 80px);
}
#entry .bgTextWrap {
    background-color: #000;
    padding: min(6vw, 50px);
    color: #fff;
border-radius: 20px;
}
#entry .bgTextWrap.period h4 {
    display: flex;
    align-items: center;
    font-size: min(4.2vw, 20px);
    font-weight: normal;
    width: 300px;
    margin: auto;
}
#entry .bgTextWrap.period h4 span {
	padding: 0 1em;
}
#entry .bgTextWrap.period h4::before,
#entry .bgTextWrap.period h4::after {
	display: block;
	content: "";
	flex-grow: 1;
	height: 2px;
	background-color: #fff;
}
#entry .bgTextWrap.period p + h4 {
	margin-top: 1em;
}
#entry .bgTextWrap.period p {
    text-align: center;
    font-size: min(3.8vw, 18px);
    padding: 1em 0;
 /*   border-bottom: 1px dotted #fff;*/
}
#entry .bgTextWrap.period p span {
	font-size: 1.5em;
}
#entry .bgTextWrap.period p:last-child{
    padding: 1em 0 0;
    border-bottom: none;
}

#entry .bgTextWrap.serial {
    background: none;
    color: #000;
    border: 5px solid #000;
}
#entry .bgTextWrap.serial > div {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
#entry .serialTxt{
    text-align: center;
    font-size: 19px;
    font-weight: bold;
    margin: 0 auto 30px;
}
#entry .bgTextWrap.serial .serialText {
	width: 45%;
	min-width: 360px;
}
#entry .bgTextWrap.serial .serialText p {
    font-size: min(3.4vw, 18px);
    margin-bottom: 0.8em;
}
#entry .bgTextWrap.serial .serialText p > span {
    display: block;
    font-weight: bold;
}
#entry .bgTextWrap.serial .serialText p > span .mini{
    font-size: 80%;
    margin: 0 0 0 10px;
}
#entry .bgTextWrap.serial .graphImg {
	width: 45%;
}

#entry .bgTextWrap.serial .partitionWrap {
	padding-top: min(4vw, 24px);
    border-top: 1px solid;
}
#entry .bgTextWrap.noteWrap {
	margin-top: min(10vw, 80px);
}
#entry .bgTextWrap.noteWrap .head {
    font-size: min(3.8vw, 18px);
    margin-bottom: 1em;
    font-weight: bold;
    border-left: 5px solid;
    padding: 0 0 0 16px;
}
#entry .btnList {
	margin-top: min(6vw, 40px);
}
#entry .btnList li:nth-child(1) a {

}
#entry .btnList li:nth-child(2) a {
    background-color: #EFE795;
}

.itemWrap{
display: flex;
justify-content: space-between;
margin-bottom: 24px;
}

.ticketMonth {
width: 75%;
}

.memberTit {
    font-size: 20px;
    margin-bottom: 20px;
    font-weight: bold;
    color: #628eba;
    text-align: center;
    max-width: 245px;
    margin: 0 auto 20px;
    border-bottom: wavy 2px #628eba;
    text-decoration: underline wavy #628eba;
    text-underline-offset: 12px;
}

.ticketMonth  .list{
   display: flex;
   justify-content: space-between;
}

.ticketItem{
max-width: 120px;
margin: 0 auto;
}

.ticketItem .icon{
width: fit-content;
position: relative;
}

 .ticketItem .icon img{
width: auto;
min-height: 100px;
}

.ticketItem .number{
	padding: 8px 12px;
	background: #628eba;
	font-size: 12px;
	font-weight: bold;
	color: #fff;
	border-radius: 50px;
	position: absolute;
	left: 0;
	bottom: 0;
}

.ticketItem .tit{
font-size: 14px;
text-align: center;
padding-top: 20px;
margin-bottom: 10px;
}

 .ticketItem .period{
font-size: 10px;
text-align: center;
}

.itemWrap .line{
    content: " ";
    width: 1px;
    background-color: #000;
    margin: 0px 10px 0px 10px;
}

.ticketYear{
width: 25%;
}

.ticketYear .memberTit{

}

.ticketYear .list{

}

.ticketYear .ticketItem{
max-width: 135px;
}

.ticketYear .ticketItem .icon{

}

.ticketYear .ticketItem .icon img{
aspect-ratio: 629 / 403;
object-fit: contain;
height: auto;
}

.ticketYear .ticketItem .number{


}
.ticketYear .ticketItem .tit{

}

.ticketYear .ticketItem .period{

}




#archive {

}
#archive .archiveList{
    display: flex;
    align-items: center;
    justify-content: center;
}
#archive .archiveList li{
    padding: 0 20px;
}
#archive .archiveList a{
    display: block;
    width: 260px;
    background: #628EBA;
    padding: 20px;
    font-size: 18px;
    font-weight: 600;
    text-align: center;
    color: #FFF;
    border-radius: 100px;
    border: #5a4f49 solid 3px;
}
#archive .archiveList a span {
    font-size: 12px;
    border: 1px solid;
    padding: 5px 10px 4px;
    border-radius: 100px;
    display: inline-block;
    line-height: 1em;
    margin: 0 0 0 10px;
    vertical-align: 2px;
}


@media screen and (min-width: 821px) {

	.entryList {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: min(6vw, 32px) min(6vw, 32px);
	}
	.entryList > li {
		width: 100%;
	}
	.entryList > li > div {
        position: relative;
        width: 100%;
        padding-top: 100%;
        background-color:#fff;
        border: #000000 solid 3px;
        border-radius: 50%;
        box-shadow: 5px 5px #000;
        -webkit-box-shadow: 5px 5px #000;
        border: 2px solid #000;
	}
	.entryList > li span {
        font-weight: 500;
        font-style: normal;
        position: absolute;
        top: 24%;
        left: 50%;
        transform: translate(-50%, -50%);
        font-size: min(12vw, 64px);
        font-family: ronnia-condensed, sans-serif;
	}
	.entryList > li .box {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-radius: 50%;
	}
	.entryList .box .left{
		float:left;
		width:50%;
		height:100%;
		shape-outside:polygon(29% 66%, 44% 81%, 71% 87%, 100% 87%, 100% 100%, 0 100%, 0 42%, 25% 42%);
	}
	.entryList .box .right{
		float:right;
		width:50%;
		height:100%;
		shape-outside:polygon(71% 66%, 56% 81%, 29% 87%, 0% 87%, 0 100%, 100% 100%, 100% 42%, 75% 42%);
	}
	.entryList > li .box p {
		padding-top: 42%;
		text-align: center;
		font-size: min(1.6vw, 20px);
		font-weight: bold;
	}
}
@media screen and (max-width: 820px) {
    body:not(.page--home) .wrap {
        padding-top: 50px;
        padding-bottom: 0;
    }
	.parts p {
	    width: 7%;
	    z-index: 0;
	}
	.parts.type_b p {
	    width: 18%;
	}
	.parts.type_b p:nth-child(3) {
	    left: -3%;
	    top: -3%;
	}
	.parts.type_b p:nth-child(2) {
	    right: -12%;
	    top: 42%;
	}
	.mainVisual {
        margin: 0 auto 50px;
	}
	.mainVisual h1 {
        width: 90%;
        margin: 0 auto 30px;
	}
	.mainVisual h1 span {
		margin-top: 2vw;
	}
	.mainVisual .lead {
	    margin-bottom: 0;
	    font-size: 15px;
	    font-weight: bold;
	    line-height: 2;
	    text-align: left;
	    opacity: 0;
	    width: 90%;
	    margin: auto;
	}
	h2 {
	    font-size: 33px;
    line-height: 1;
	}
	
	#entry .bgTextWrap {
	    padding: 30px;
	    border-radius: 20px;
	}
	#entry .bgTextWrap.period h4 {
	    font-size: 13px;
	    max-width: 300px;
	    width: 100%;
	    margin: auto;
	}
	#entry .bgTextWrap.period h4::before, #entry .bgTextWrap.period h4::after {
	    display: block;
	    content: "";
	    flex-grow: 1;
	    height: 1px;
	    background-color: #fff;
	}
	#entry .bgTextWrap.period p span {
	    font-size: 16px;
	}
	
	#entry .bgTextWrap.period p {
        margin: 0 auto 10px;
        padding: 10px 0;
	}
	#entry .bgTextWrap.period p:last-child {
	    margin: 0;
	}
	#entry h3:not(h2 + h3) {
	    margin-top: 50px;
	}
	.entryList > li:not(:first-child) {
		margin-top: min(4vw, 24px);
	}
	.entryList > li > div {
		display: flex;
		align-items: center;
        background-color: #fff;
        box-shadow: 5px 5px #000;
        -webkit-box-shadow: 5px 5px #000;
        border: 2px solid #000;
		padding: min(3vw, 16px) min(5vw, 32px);
	}
	.entryList > li span {
	    font-family: ronnia-condensed, sans-serif;
	    font-weight: 700;
		font-style: normal;
		font-size: min(8.6vw, 42px);
		line-height: 1;
		margin-right: 0.5em;
	}
	.entryList > li p {
		font-size: min(3.4vw, 16px);
        font-weight: bold;
	}


	.entryList .box .left,
	.entryList .box .right {
		display: none;
	}
#entry .serialTxt {
    text-align: left;
    font-size: 14px;
    font-weight: bold;
    margin: 0 auto 20px;
}
#entry .bgTextWrap.serial {
    background: none;
    color: #000;
    border: 3px solid #000;
    border-radius: 15px;
}
#entry .bgTextWrap.serial > div {
    display: block;
}
#entry .bgTextWrap.serial .serialText {
    width: 100%;
    min-width: auto;
}
#entry .bgTextWrap.serial .graphImg {
    width: 100%;
}



	.itemWrap{
  display: block;
margin-bottom: 24px;
}

.ticketMonth {
width: 100%;
}

.memberTit {
    font-size: 20px;
    margin-bottom: 20px;
    font-weight: bold;
    color: #628eba;
    text-align: center;
    max-width: 245px;
    margin: 0 auto 20px;
    border-bottom: wavy 2px #628eba;
    text-decoration: underline wavy #628eba;
    text-underline-offset: 12px;
}

.ticketMonth  .list{
flex-wrap: wrap;
justify-content: space-between;
}

.ticketItem{
width: 48%;
max-width: none;
padding-bottom: 20px;
}

.ticketItem:last-child{
padding-bottom: 0;
}

.ticketItem .icon{
width: fit-content;
position: relative;
}

 .ticketItem .icon img{
width: auto;
min-height: 100px;
}

.ticketItem .number{
	padding: 8px 12px;
	background: #628eba;
	font-size: 12px;
	font-weight: bold;
	color: #fff;
	border-radius: 50px;
	position: absolute;
	left: 0;
	bottom: 0;
}

.ticketItem .tit{
font-size: 14px;
text-align: center;
padding-top: 20px;
margin-bottom: 10px;
}

 .ticketItem .period{
font-size: 10px;
text-align: center;
line-height: 1.3em;
}

.itemWrap .line {
        content: " ";
        width: 100%;
        height: 1px;
        background-color: #000;
        margin: 4vw auto 4vw;
    }

.listAsterisk {
	list-style: none;
	padding-left: 1.2em;
}

.listAsterisk > li + li {
	margin-top: 0.3em;
}
.listAsterisk > li:before {
	margin-right: 0.2em;
}
.listAsterisk > li:before {
	content: "※";
}

.listAsterisk > li {
    text-indent: -1.2em;
    font-size: min(3vw, 14px);
    font-weight: normal;
    line-height: 1.4;
    margin-bottom: 10px;
}

.listAsterisk > li:last-child {
    margin-bottom: 0px;
}



	.presentList {
        display: block;
	}

    .presentList > li {
        width: 100%;
        margin: 0 auto 50px;
        padding: 30px;
    }

    .presentList > li > p {
        top: -20px;
        left: -10px;
        width: 70px;
        height: 70px;
        line-height: 70px;
        font-size: 14px;
    }
    .presentList > li .partitionWrap .img {
        width: 80%;
        padding: 0;
        margin:0 auto 10px;
    }
	.presentList > li .partitionWrap .img img{
	    display: block;
	    margin: 0 auto;
	}
    .presentList > li .partitionWrap p {
        font-size: min(3.8vw, 18px);
        text-align: center;
    }



}